regenerate certificates -- and use oracle in a few cases where the Z3 proof parser can't deal with Z3 3.2 proofs
authorblanchet
Tue, 01 Jan 2013 11:36:30 +0100
changeset 50662 b1f4291eb916
parent 50661 acea12b85315
child 50663 f8d7d332fec0
regenerate certificates -- and use oracle in a few cases where the Z3 proof parser can't deal with Z3 3.2 proofs
src/HOL/Boogie/Examples/Boogie_Dijkstra.certs
src/HOL/Boogie/Examples/Boogie_Dijkstra.thy
src/HOL/Boogie/Examples/Boogie_Max.certs
src/HOL/Boogie/Examples/Boogie_Max.thy
src/HOL/Boogie/Examples/VCC_Max.certs
src/HOL/Boogie/Examples/VCC_Max.thy
src/HOL/SMT_Examples/SMT_Examples.certs
src/HOL/SMT_Examples/SMT_Tests.certs
src/HOL/SMT_Examples/SMT_Tests.thy
src/HOL/SMT_Examples/SMT_Word_Examples.certs
--- a/src/HOL/Boogie/Examples/Boogie_Dijkstra.certs	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Dijkstra.certs	Tue Jan 01 11:36:30 2013 +0100
@@ -1,33 +1,107 @@
-cca6ccd7533b69e5217f24bdf87bbb94d1949a01 5937 0
+a549accb56a0340bea4e867d66fdfbbac187f40c 6047 0
 #2 := false
+#7 := 0::Int
+decl f30 :: (-> S2 Int)
+decl ?v1!7 :: (-> S2 S2)
+decl ?v0!20 :: S2
+#2034 := ?v0!20
+#5342 := (?v1!7 ?v0!20)
+#13325 := (f30 #5342)
+#923 := -1::Int
+#13327 := (* -1::Int #13325)
+decl f4 :: (-> S3 Int)
+decl f5 :: (-> S4 S2 S3)
+decl f6 :: (-> S5 S2 S4)
+decl f7 :: S5
+#13 := f7
+#5350 := (f6 f7 #5342)
+#5351 := (f5 #5350 ?v0!20)
+#5352 := (f4 #5351)
+#5353 := (* -1::Int #5352)
+#14209 := (+ #5353 #13327)
+#2037 := (f30 ?v0!20)
+#14210 := (+ #2037 #14209)
+#18243 := (>= #14210 0::Int)
+decl f19 :: (-> S11 S2 Int)
+decl f20 :: S11
+#109 := f20
+#5343 := (f19 f20 #5342)
+#5344 := (* -1::Int #5343)
+#5354 := (+ #5344 #5353)
+#5080 := (f19 f20 ?v0!20)
+#5355 := (+ #5080 #5354)
+#15530 := (>= #5355 0::Int)
+#5356 := (= #5355 0::Int)
+#5357 := (not #5356)
 decl f1 :: S1
 #3 := f1
 decl f11 :: (-> S7 S2 S1)
-decl ?v0!20 :: S2
-#2034 := ?v0!20
-decl f29 :: S7
-#190 := f29
-#4533 := (f11 f29 ?v0!20)
-#4534 := (= #4533 f1)
+decl f21 :: S7
+#115 := f21
+#5347 := (f11 f21 #5342)
+#5348 := (= #5347 f1)
+#5349 := (not #5348)
+#5345 := (+ #5080 #5344)
+#5346 := (<= #5345 0::Int)
+#5358 := (or #5346 #5349 #5357)
+#5359 := (not #5358)
+#5105 := (* -1::Int #5080)
+decl f3 :: Int
+#8 := f3
+#5340 := (+ f3 #5105)
+#5341 := (<= #5340 0::Int)
+#15968 := (not #5341)
+#5106 := (+ #2037 #5105)
+#12022 := (>= #5106 0::Int)
+#5087 := (= #2037 #5080)
+decl f28 :: S2
+#181 := f28
+#195 := (f6 f7 f28)
+#5121 := (f5 #195 ?v0!20)
+#5122 := (f4 #5121)
+#5139 := (+ #5105 #5122)
+#185 := (f19 f20 f28)
+#5140 := (+ #185 #5139)
+#5141 := (>= #5140 0::Int)
+#5123 := (* -1::Int #5122)
+#5124 := (+ f3 #5123)
+#5125 := (<= #5124 0::Int)
+#5146 := (or #5125 #5141)
+#2038 := (* -1::Int #2037)
+#5178 := (+ #2038 #5122)
+#5179 := (+ #185 #5178)
+#5182 := (= #5179 0::Int)
+#15374 := (not #5182)
+#12121 := (<= #5179 0::Int)
+#15379 := (not #12121)
+#4078 := (f30 f28)
+#4079 := (* -1::Int #4078)
+#5068 := (+ #2037 #4079)
+#5229 := (<= #5068 0::Int)
+#15402 := (not #5229)
+#15340 := (<= #5122 0::Int)
+#15358 := (not #15340)
+#15327 := (= f28 ?v0!20)
+#15368 := (not #15327)
+#9945 := (= ?v0!20 f28)
+#16393 := [hypothesis]: #15327
+#16394 := [symm #16393]: #9945
+#9687 := (not #9945)
+#5309 := (f11 f21 ?v0!20)
+#5310 := (= #5309 f1)
+#9951 := (or #9945 #5310)
+#9685 := (not #9951)
 decl f12 :: (-> S8 S1 S7)
 decl f13 :: (-> S9 S2 S8)
-decl f28 :: S2
-#181 := f28
 decl f14 :: (-> S10 S7 S9)
-decl f21 :: S7
-#115 := f21
 decl f15 :: S10
 #39 := f15
 #191 := (f14 f15 f21)
 #192 := (f13 #191 f28)
 #193 := (f12 #192 f1)
-#11446 := (f11 #193 ?v0!20)
-#11447 := (= #11446 f1)
-#5309 := (f11 f21 ?v0!20)
-#5310 := (= #5309 f1)
-#11448 := (= ?v0!20 f28)
-#11454 := (or #11448 #5310)
-#11459 := (iff #11447 #11454)
+#9943 := (f11 #193 ?v0!20)
+#9944 := (= #9943 f1)
+#9956 := (iff #9944 #9951)
 #11 := (:var 0 S2)
 #54 := (:var 1 S1)
 #52 := (:var 2 S2)
@@ -57,52 +131,52 @@
 #342 := [asserted]: #64
 #1526 := [mp~ #342 #1497]: #64
 #3646 := [mp #1526 #3645]: #3641
-#7582 := (not #3641)
-#10454 := (or #7582 #11459)
+#7518 := (not #3641)
+#9763 := (or #7518 #9956)
 #4057 := (= f1 f1)
-#11449 := (if #11448 #4057 #5310)
-#11450 := (iff #11447 #11449)
-#10491 := (or #7582 #11450)
-#10475 := (iff #10491 #10454)
-#10478 := (iff #10454 #10454)
-#10524 := [rewrite]: #10478
-#11460 := (iff #11450 #11459)
-#11457 := (iff #11449 #11454)
+#9946 := (if #9945 #4057 #5310)
+#9947 := (iff #9944 #9946)
+#9775 := (or #7518 #9947)
+#9715 := (iff #9775 #9763)
+#9722 := (iff #9763 #9763)
+#9724 := [rewrite]: #9722
+#9957 := (iff #9947 #9956)
+#9954 := (iff #9946 #9951)
 #1 := true
-#11451 := (if #11448 true #5310)
-#11455 := (iff #11451 #11454)
-#11456 := [rewrite]: #11455
-#11452 := (iff #11449 #11451)
+#9948 := (if #9945 true #5310)
+#9952 := (iff #9948 #9951)
+#9953 := [rewrite]: #9952
+#9949 := (iff #9946 #9948)
 #4059 := (iff #4057 true)
 #4060 := [rewrite]: #4059
-#11453 := [monotonicity #4060]: #11452
-#11458 := [trans #11453 #11456]: #11457
-#11461 := [monotonicity #11458]: #11460
-#10477 := [monotonicity #11461]: #10475
-#10530 := [trans #10477 #10524]: #10475
-#10476 := [quant-inst #115 #181 #3 #2034]: #10491
-#10523 := [mp #10476 #10530]: #10454
-#13463 := [unit-resolution #10523 #3646]: #11459
-#10516 := (not #11459)
-#13559 := (or #10516 #11447)
-decl f6 :: (-> S5 S2 S4)
-decl f7 :: S5
-#13 := f7
+#9950 := [monotonicity #4060]: #9949
+#9955 := [trans #9950 #9953]: #9954
+#9958 := [monotonicity #9955]: #9957
+#9706 := [monotonicity #9958]: #9715
+#9734 := [trans #9706 #9724]: #9715
+#9776 := [quant-inst #115 #181 #3 #2034]: #9775
+#9519 := [mp #9776 #9734]: #9763
+#16374 := [unit-resolution #9519 #3646]: #9956
+#9410 := (not #9944)
+decl f29 :: S7
+#190 := f29
+#4533 := (f11 f29 ?v0!20)
+#4534 := (= #4533 f1)
+#4541 := (not #4534)
+#16390 := (iff #4541 #9410)
+#16382 := (iff #4534 #9944)
+#16359 := (iff #9944 #4534)
+#16289 := (= #9943 #4533)
+#8145 := (= #193 f29)
+#194 := (= f29 #193)
 #91 := (f6 f7 #11)
 #3693 := (pattern #91)
 #212 := (f11 f29 #11)
 #3854 := (pattern #212)
-decl f30 :: (-> S2 Int)
 #202 := (f30 #11)
 #3829 := (pattern #202)
-#7 := 0::Int
-decl f4 :: (-> S3 Int)
-decl f5 :: (-> S4 S2 S3)
 #2047 := (f5 #91 ?v0!20)
 #2048 := (f4 #2047)
-#2037 := (f30 ?v0!20)
-#923 := -1::Int
-#2038 := (* -1::Int #2037)
 #2383 := (+ #2038 #2048)
 #2384 := (+ #202 #2383)
 #2387 := (= #2384 0::Int)
@@ -114,8 +188,6 @@
 #2942 := (or #2045 #220 #2941)
 #3888 := (forall (vars (?v1 S2)) (:pat #3829 #3854 #3693) #2942)
 #3893 := (not #3888)
-decl f3 :: Int
-#8 := f3
 #2039 := (+ f3 #2038)
 #2040 := (<= #2039 0::Int)
 decl f16 :: S2
@@ -159,20 +231,6 @@
 #2896 := (not #2005)
 #2911 := (or #2896 #2011 #2020)
 #2916 := (not #2911)
-#13632 := [hypothesis]: #2916
-#2012 := (not #2011)
-#3530 := (or #2911 #2012)
-#3533 := [def-axiom]: #3530
-#10274 := [unit-resolution #3533 #13632]: #2012
-#10298 := (or #2911 #2011)
-decl f19 :: (-> S11 S2 Int)
-decl f20 :: S11
-#109 := f20
-#112 := (f19 f20 #11)
-#3716 := (pattern #112)
-#207 := (= #202 #112)
-#560 := (or #220 #207)
-#3855 := (forall (vars (?v0 S2)) (:pat #3854 #3829 #3716) #560)
 #3902 := (or #2916 #3899)
 #3905 := (not #3902)
 #3871 := (pattern #202 #224)
@@ -222,6 +280,11 @@
 #3935 := (not #3932)
 #3938 := (or #661 #3935)
 #3941 := (not #3938)
+#112 := (f19 f20 #11)
+#3716 := (pattern #112)
+#207 := (= #202 #112)
+#560 := (or #220 #207)
+#3855 := (forall (vars (?v0 S2)) (:pat #3854 #3829 #3716) #560)
 #3860 := (not #3855)
 #3944 := (or #3860 #3941)
 #3947 := (not #3944)
@@ -234,22 +297,6 @@
 #1937 := (= #1936 f1)
 #1938 := (not #1937)
 #1942 := (or #1938 #1941)
-#195 := (f6 f7 f28)
-#196 := (f5 #195 #11)
-#3828 := (pattern #196)
-#197 := (f4 #196)
-#1140 := (* -1::Int #197)
-#185 := (f19 f20 f28)
-#1146 := (* -1::Int #185)
-#1147 := (+ #1146 #1140)
-#1148 := (+ #112 #1147)
-#1149 := (<= #1148 0::Int)
-#1141 := (+ f3 #1140)
-#1142 := (<= #1141 0::Int)
-#2822 := (or #1142 #1149)
-#2823 := (not #2822)
-#2844 := (or #2823 #207)
-#3838 := (forall (vars (?v0 S2)) (:pat #3828 #3716 #3829) #2844)
 #1943 := (not #1942)
 #3950 := (or #1943 #3947)
 #3953 := (not #3950)
@@ -270,6 +317,20 @@
 #1923 := (not #1922)
 #3962 := (or #1923 #3959)
 #3965 := (not #3962)
+#196 := (f5 #195 #11)
+#3828 := (pattern #196)
+#197 := (f4 #196)
+#1140 := (* -1::Int #197)
+#1146 := (* -1::Int #185)
+#1147 := (+ #1146 #1140)
+#1148 := (+ #112 #1147)
+#1149 := (<= #1148 0::Int)
+#1141 := (+ f3 #1140)
+#1142 := (<= #1141 0::Int)
+#2822 := (or #1142 #1149)
+#2823 := (not #2822)
+#2844 := (or #2823 #207)
+#3838 := (forall (vars (?v0 S2)) (:pat #3828 #3716 #3829) #2844)
 #3843 := (not #3838)
 #1296 := (+ #197 #1166)
 #1297 := (+ #185 #1296)
@@ -277,7 +338,6 @@
 #2836 := (or #1142 #1149 #1294)
 #3830 := (forall (vars (?v0 S2)) (:pat #3828 #3716 #3829) #2836)
 #3835 := (not #3830)
-#194 := (= f29 #193)
 #715 := (not #194)
 #116 := (f11 f21 #11)
 #3750 := (pattern #116)
@@ -412,12 +472,9 @@
 #3751 := (forall (vars (?v0 S2)) (:pat #3750 #3716) #2674)
 #3756 := (not #3751)
 #3814 := (or #3756 #521 #512 #503 #494 #3811)
-#110 := (f19 f20 f16)
-#111 := (= #110 0::Int)
 #3817 := (not #3814)
 #3974 := (or #3817 #3971)
 #3977 := (not #3974)
-decl ?v1!7 :: (-> S2 S2)
 #1707 := (?v1!7 #11)
 #1714 := (f6 f7 #1707)
 #1715 := (f5 #1714 #11)
@@ -459,6 +516,8 @@
 #1394 := (>= #112 0::Int)
 #3717 := (forall (vars (?v0 S2)) (:pat #3716) #1394)
 #3722 := (not #3717)
+#110 := (f19 f20 f16)
+#111 := (= #110 0::Int)
 #804 := (not #111)
 decl f17 :: (-> S2 Int)
 #67 := (f17 #11)
@@ -515,18 +574,18 @@
 #1619 := (<= #1618 0::Int)
 #1614 := (= ?v0!5 f16)
 #3702 := (or #1614 #1619 #3699)
-#6895 := (= f3 #1616)
-#6849 := (= #1616 f3)
-#6924 := (iff #6849 #6895)
-#6925 := (iff #6895 #6849)
-#6926 := [commutativity]: #6925
-#6927 := [symm #6926]: #6924
+#6176 := (= f3 #1616)
+#6574 := (= #1616 f3)
+#6629 := (iff #6574 #6176)
+#6627 := (iff #6176 #6574)
+#6628 := [commutativity]: #6627
+#6630 := [symm #6628]: #6629
 #1615 := (not #1614)
 #3705 := (not #3702)
-#6853 := [hypothesis]: #3705
+#5790 := [hypothesis]: #3705
 #3262 := (or #3702 #1615)
 #3263 := [def-axiom]: #3262
-#6907 := [unit-resolution #3263 #6853]: #1615
+#6625 := [unit-resolution #3263 #5790]: #1615
 #72 := (= #67 f3)
 #350 := (or #66 #72)
 #3654 := (forall (vars (?v0 S2)) (:pat #3647) #350)
@@ -1781,25 +1840,25 @@
 #1532 := [mp~ #1477 #1501]: #353
 #3659 := [mp #1532 #3658]: #3654
 #3289 := (not #3654)
-#6890 := (or #3289 #1614 #6849)
-#6850 := (or #1614 #6849)
-#6891 := (or #3289 #6850)
-#6893 := (iff #6891 #6890)
-#6888 := [rewrite]: #6893
-#6892 := [quant-inst #1613]: #6891
-#6894 := [mp #6892 #6888]: #6890
-#6908 := [unit-resolution #6894 #3659 #6907]: #6849
-#6928 := [mp #6908 #6927]: #6895
-#6897 := (not #6895)
+#5853 := (or #3289 #1614 #6574)
+#6575 := (or #1614 #6574)
+#6155 := (or #3289 #6575)
+#6156 := (iff #6155 #5853)
+#6165 := [rewrite]: #6156
+#5702 := [quant-inst #1613]: #6155
+#6166 := [mp #5702 #6165]: #5853
+#6626 := [unit-resolution #6166 #3659 #6625]: #6574
+#6631 := [mp #6626 #6630]: #6176
+#6615 := (not #6176)
 #1620 := (not #1619)
 #3595 := (or #3702 #1620)
 #3596 := [def-axiom]: #3595
-#6889 := [unit-resolution #3596 #6853]: #1620
-#6898 := (or #6897 #1619)
-#6903 := [th-lemma arith triangle-eq]: #6898
-#6904 := [unit-resolution #6903 #6889]: #6897
-#6929 := [unit-resolution #6904 #6928]: false
-#6930 := [lemma #6929]: #3702
+#5852 := [unit-resolution #3596 #5790]: #1620
+#6616 := (or #6615 #1619)
+#6622 := [th-lemma arith triangle-eq]: #6616
+#6624 := [unit-resolution #6622 #5852]: #6615
+#6632 := [unit-resolution #6624 #6631]: false
+#6633 := [lemma #6632]: #3702
 #3986 := (or #3705 #3983)
 #3989 := (not #3986)
 #2540 := (or #78 #940 #951)
@@ -2322,6 +2381,7 @@
 #2041 := (not #2040)
 #2036 := (not #2035)
 #2405 := (and #1212 #2036 #2041 #2396)
+#2012 := (not #2011)
 #2013 := (and #2005 #2012)
 #2014 := (not #2013)
 #2021 := (or #2014 #2020)
@@ -3581,16 +3641,16 @@
 #2169 := [mp #2168 #2483]: #2481
 #3122 := [mp #2169 #3121]: #3119
 #4037 := [mp #3122 #4036]: #4034
-#7272 := [unit-resolution #4037 #4122]: #4031
+#7144 := [unit-resolution #4037 #4122]: #4031
 #3361 := (or #4028 #4022)
 #3351 := [def-axiom]: #3361
-#7273 := [unit-resolution #3351 #7272]: #4022
+#7145 := [unit-resolution #3351 #7144]: #4022
 #3357 := (or #4025 #1542 #4019)
 #3359 := [def-axiom]: #3357
-#7274 := [unit-resolution #3359 #7273 #4053]: #4019
+#7146 := [unit-resolution #3359 #7145 #4053]: #4019
 #3355 := (or #4016 #4010)
 #3358 := [def-axiom]: #3355
-#7275 := [unit-resolution #3358 #7274]: #4010
+#7147 := [unit-resolution #3358 #7146]: #4010
 #4245 := [hypothesis]: #1560
 #3661 := (forall (vars (?v0 S2)) (:pat #3660) #78)
 #3664 := (iff #79 #3661)
@@ -3611,570 +3671,435 @@
 #4288 := [lemma #4251]: #1884
 #3186 := (or #1841 #1560)
 #3272 := [def-axiom]: #3186
-#7276 := [unit-resolution #3272 #4288]: #1841
+#7148 := [unit-resolution #3272 #4288]: #1841
 #3217 := (or #4013 #1946 #4007)
 #3375 := [def-axiom]: #3217
-#7277 := [unit-resolution #3375 #7276 #7275]: #4007
+#7149 := [unit-resolution #3375 #7148 #7147]: #4007
 #3397 := (or #4004 #3998)
 #3367 := [def-axiom]: #3397
-#7278 := [unit-resolution #3367 #7277]: #3998
-#6766 := [hypothesis]: #1584
-#6706 := (or #6940 #2503)
-#6719 := [quant-inst #1581]: #6706
-#6767 := [unit-resolution #6719 #3666 #6766]: false
-#6806 := [lemma #6767]: #2503
+#7150 := [unit-resolution #3367 #7149]: #3998
+#6160 := [hypothesis]: #1584
+#6331 := (or #6940 #2503)
+#6332 := [quant-inst #1581]: #6331
+#6161 := [unit-resolution #6332 #3666 #6160]: false
+#6581 := [lemma #6161]: #2503
 #3277 := (or #2518 #1584)
 #3274 := [def-axiom]: #3277
-#7279 := [unit-resolution #3274 #6806]: #2518
+#7151 := [unit-resolution #3274 #6581]: #2518
 #3394 := (or #4001 #2523 #3995)
 #3395 := [def-axiom]: #3394
-#7280 := [unit-resolution #3395 #7279 #7278]: #3995
+#7152 := [unit-resolution #3395 #7151 #7150]: #3995
 #3378 := (or #3992 #3986)
 #3385 := [def-axiom]: #3378
-#7281 := [unit-resolution #3385 #7280]: #3986
+#7153 := [unit-resolution #3385 #7152]: #3986
 #3415 := (or #3989 #3705 #3983)
 #3400 := [def-axiom]: #3415
-#7282 := [unit-resolution #3400 #7281]: #3986
-#7283 := [unit-resolution #7282 #6930]: #3983
-#3431 := (or #3980 #111)
-#3432 := [def-axiom]: #3431
-#7286 := [unit-resolution #3432 #7283]: #111
-#6676 := (= #168 #110)
-#6764 := [hypothesis]: #3817
+#7154 := [unit-resolution #3400 #7153]: #3986
+#7155 := [unit-resolution #7154 #6633]: #3983
+#3407 := (or #3980 #3974)
+#3408 := [def-axiom]: #3407
+#7801 := [unit-resolution #3408 #7155]: #3974
+#6893 := [hypothesis]: #3817
 #3559 := (or #3814 #149)
 #3554 := [def-axiom]: #3559
-#6807 := [unit-resolution #3554 #6764]: #149
-#6734 := [monotonicity #6807]: #6676
-#6648 := [trans #6734 #7286]: #169
+#6888 := [unit-resolution #3554 #6893]: #149
 #3555 := (or #3814 #3751)
 #3556 := [def-axiom]: #3555
-#6645 := [unit-resolution #3556 #6764]: #3751
-#7455 := (or #2754 #3756 #503)
-#6650 := (f19 f20 ?v1!10)
-#6737 := (* -1::Int #6650)
-#6738 := (+ f3 #6737)
-#6739 := (<= #6738 0::Int)
-#7562 := (not #6739)
-#7411 := [hypothesis]: #2759
+#6808 := [unit-resolution #3556 #6893]: #3751
+#3431 := (or #3980 #111)
+#3432 := [def-axiom]: #3431
+#6894 := [unit-resolution #3432 #7155]: #111
+#4278 := (or #503 #169 #804)
+#4273 := [hypothesis]: #111
+#4275 := (= #168 #110)
+#4274 := [hypothesis]: #149
+#4276 := [monotonicity #4274]: #4275
+#4271 := [trans #4276 #4273]: #169
+#4158 := [hypothesis]: #1849
+#4277 := [unit-resolution #4158 #4271]: false
+#4279 := [lemma #4277]: #4278
+#6895 := [unit-resolution #4279 #6888 #6894]: #169
+#3298 := (or #3790 #1849)
+#3299 := [def-axiom]: #3298
+#6896 := [unit-resolution #3299 #6895]: #3790
+#3402 := (or #3814 #3808)
+#3403 := [def-axiom]: #3402
+#6861 := [unit-resolution #3403 #6893]: #3808
+#7454 := (or #3768 #503)
+#6806 := (?v1!7 ?v0!8)
+#7010 := (f19 f25 #6806)
+#7056 := (* -1::Int #7010)
+#6807 := (f19 f20 #6806)
+#7278 := (+ #6807 #7056)
+#7328 := (>= #7278 0::Int)
+#7277 := (= #6807 #7010)
+#7409 := (= #7010 #6807)
+#7410 := [monotonicity #4274]: #7409
+#7411 := [symm #7410]: #7277
+#7412 := (not #7277)
+#7413 := (or #7412 #7328)
+#7414 := [th-lemma arith triangle-eq]: #7413
+#7415 := [unit-resolution #7414 #7411]: #7328
+#6897 := (* -1::Int #6807)
+#6741 := (f19 f20 ?v0!8)
+#6898 := (+ #6741 #6897)
+#6903 := (<= #6898 0::Int)
+#6821 := (not #6903)
+#6850 := (f6 f7 #6806)
+#6853 := (f5 #6850 ?v0!8)
+#6889 := (f4 #6853)
+#6890 := (* -1::Int #6889)
+#6908 := (+ #6897 #6890)
+#6925 := (+ #6741 #6908)
+#5298 := (= #6925 0::Int)
+#6077 := (not #5298)
+#6904 := (f11 f21 #6806)
+#6851 := (= #6904 f1)
+#6852 := (not #6851)
+#6078 := (or #6903 #6852 #6077)
+#6102 := (not #6078)
+#6742 := (* -1::Int #6741)
+#6772 := (+ f3 #6742)
+#6773 := (<= #6772 0::Int)
+#7378 := (not #6773)
+#7416 := [hypothesis]: #3771
+#3249 := (or #3768 #1758)
+#3591 := [def-axiom]: #3249
+#7417 := [unit-resolution #3591 #7416]: #1758
+#7026 := (+ #1754 #6742)
+#7012 := (>= #7026 0::Int)
+#7025 := (= #1754 #6741)
+#7418 := (= #6741 #1754)
+#6982 := (= f20 f25)
+#6983 := [symm #4274]: #6982
+#7419 := [monotonicity #6983]: #7418
+#7420 := [symm #7419]: #7025
+#7421 := (not #7025)
+#7422 := (or #7421 #7012)
+#7423 := [th-lemma arith triangle-eq]: #7422
+#7424 := [unit-resolution #7423 #7420]: #7012
+#7379 := (not #7012)
+#7380 := (or #7378 #7379 #1757)
+#7368 := [hypothesis]: #1758
+#7369 := [hypothesis]: #6773
+#7376 := [hypothesis]: #7012
+#7377 := [th-lemma arith farkas 1 -1 1 #7376 #7369 #7368]: false
+#7381 := [lemma #7377]: #7380
+#7425 := [unit-resolution #7381 #7424 #7417]: #7378
+#7428 := (or #6773 #6102)
+#3589 := (or #3768 #1753)
+#3254 := [def-axiom]: #3589
+#7426 := [unit-resolution #3254 #7416]: #1753
+#3405 := (or #3980 #3742)
+#3406 := [def-axiom]: #3405
+#7427 := [unit-resolution #3406 #7155]: #3742
+#6227 := (or #3747 #1752 #6773 #6102)
+#6103 := (or #1752 #6773 #6102)
+#6189 := (or #3747 #6103)
+#6704 := (iff #6189 #6227)
+#6805 := [rewrite]: #6704
+#6190 := [quant-inst #1751]: #6189
+#6797 := [mp #6190 #6805]: #6227
+#7429 := [unit-resolution #6797 #7427 #7426]: #7428
+#7430 := [unit-resolution #7429 #7425]: #6102
+#6854 := (or #6078 #6821)
+#6860 := [def-axiom]: #6854
+#7431 := [unit-resolution #6860 #7430]: #6821
+#7057 := (+ #1754 #7056)
+#7058 := (<= #7057 0::Int)
+#7101 := (+ #6890 #7056)
+#7102 := (+ #1754 #7101)
+#7105 := (= #7102 0::Int)
+#7195 := (<= #7102 0::Int)
+#7327 := (<= #7278 0::Int)
+#7432 := (or #7412 #7327)
+#7433 := [th-lemma arith triangle-eq]: #7432
+#7434 := [unit-resolution #7433 #7411]: #7327
+#6815 := (<= #6925 0::Int)
+#6862 := (or #6078 #5298)
+#6863 := [def-axiom]: #6862
+#7435 := [unit-resolution #6863 #7430]: #5298
+#7436 := (or #6077 #6815)
+#7437 := [th-lemma arith triangle-eq]: #7436
+#7438 := [unit-resolution #7437 #7435]: #6815
+#7011 := (<= #7026 0::Int)
+#7439 := (or #7421 #7011)
+#7440 := [th-lemma arith triangle-eq]: #7439
+#7441 := [unit-resolution #7440 #7420]: #7011
+#7390 := (not #7327)
+#7389 := (not #6815)
+#7388 := (not #7011)
+#7391 := (or #7195 #7388 #7389 #7390)
+#7375 := [hypothesis]: #7327
+#7128 := [hypothesis]: #6815
+#7384 := [hypothesis]: #7011
+#7385 := (not #7195)
+#7386 := [hypothesis]: #7385
+#7387 := [th-lemma arith farkas -1 1 1 1 #7386 #7384 #7128 #7375]: false
+#7392 := [lemma #7387]: #7391
+#7442 := [unit-resolution #7392 #7441 #7438 #7434]: #7195
+#7196 := (>= #7102 0::Int)
+#6820 := (>= #6925 0::Int)
+#7443 := (or #6077 #6820)
+#7444 := [th-lemma arith triangle-eq]: #7443
+#7445 := [unit-resolution #7444 #7435]: #6820
+#7406 := (not #7328)
+#7405 := (not #6820)
+#7407 := (or #7196 #7379 #7405 #7406)
+#7400 := [hypothesis]: #7328
+#7401 := [hypothesis]: #6820
+#7402 := (not #7196)
+#7403 := [hypothesis]: #7402
+#7404 := [th-lemma arith farkas -1 1 1 1 #7403 #7376 #7401 #7400]: false
+#7408 := [lemma #7404]: #7407
+#7446 := [unit-resolution #7408 #7424 #7445 #7415]: #7196
+#7447 := (or #7105 #7385 #7402)
+#7448 := [th-lemma arith triangle-eq]: #7447
+#7449 := [unit-resolution #7448 #7446 #7442]: #7105
+#7114 := (not #7105)
+#7122 := (or #7058 #7114)
+#3234 := (or #3768 #3760)
+#3575 := [def-axiom]: #3234
+#7450 := [unit-resolution #3575 #7416]: #3760
+#7125 := (or #3765 #7058 #7114)
+#7015 := (+ #1755 #6889)
+#7028 := (+ #7010 #7015)
+#7029 := (= #7028 0::Int)
+#7049 := (not #7029)
+#7013 := (+ #7010 #1755)
+#7014 := (>= #7013 0::Int)
+#7050 := (or #7014 #7049)
+#7126 := (or #3765 #7050)
+#7119 := (iff #7126 #7125)
+#6981 := (or #3765 #7122)
+#7017 := (iff #6981 #7125)
+#7118 := [rewrite]: #7017
+#7016 := (iff #7126 #6981)
+#7123 := (iff #7050 #7122)
+#7115 := (iff #7049 #7114)
+#7113 := (iff #7029 #7105)
+#7091 := (+ #6889 #7010)
+#7086 := (+ #1755 #7091)
+#7094 := (= #7086 0::Int)
+#7106 := (iff #7094 #7105)
+#7112 := [rewrite]: #7106
+#7095 := (iff #7029 #7094)
+#7092 := (= #7028 #7086)
+#7093 := [rewrite]: #7092
+#7096 := [monotonicity #7093]: #7095
+#7111 := [trans #7096 #7112]: #7113
+#7116 := [monotonicity #7111]: #7115
+#7089 := (iff #7014 #7058)
+#7051 := (+ #1755 #7010)
+#7048 := (>= #7051 0::Int)
+#7087 := (iff #7048 #7058)
+#7088 := [rewrite]: #7087
+#7054 := (iff #7014 #7048)
+#7052 := (= #7013 #7051)
+#7053 := [rewrite]: #7052
+#7055 := [monotonicity #7053]: #7054
+#7090 := [trans #7055 #7088]: #7089
+#7121 := [monotonicity #7090 #7116]: #7123
+#7124 := [monotonicity #7121]: #7016
+#7120 := [trans #7124 #7118]: #7119
+#6980 := [quant-inst #6806]: #7126
+#7127 := [mp #6980 #7120]: #7125
+#7451 := [unit-resolution #7127 #7450]: #7122
+#7452 := [unit-resolution #7451 #7449]: #7058
+#7453 := [th-lemma arith farkas 1 -1 1 1 #7424 #7452 #7431 #7415]: false
+#7455 := [lemma #7453]: #7454
+#6859 := [unit-resolution #7455 #6888]: #3768
+#3562 := (or #3811 #3771 #3805)
+#3566 := [def-axiom]: #3562
+#6864 := [unit-resolution #3566 #6859 #6861]: #3805
+#3283 := (or #3802 #3796)
+#3284 := [def-axiom]: #3283
+#6869 := [unit-resolution #3284 #6864]: #3796
+#3571 := (or #3799 #2759 #3793)
+#3568 := [def-axiom]: #3571
+#6935 := [unit-resolution #3568 #6869 #6896]: #2759
+#3225 := (or #2754 #1828)
+#3226 := [def-axiom]: #3225
+#6870 := [unit-resolution #3226 #6935]: #1828
+#6589 := (f19 f20 ?v1!10)
+#6584 := (* -1::Int #6589)
+#6868 := (+ #1817 #6584)
+#6946 := (>= #6868 0::Int)
+#4646 := (or #6946 #503)
+#6329 := (= #1817 #6589)
+#6605 := (= #6589 #1817)
+#6606 := [monotonicity #6983]: #6605
+#6585 := [symm #6606]: #6329
+#7134 := (not #6946)
+#6586 := [hypothesis]: #7134
+#6330 := (not #6329)
+#6322 := (or #6330 #6946)
+#6328 := [th-lemma arith triangle-eq]: #6322
+#6580 := [unit-resolution #6328 #6586 #6585]: false
+#4567 := [lemma #6580]: #4646
+#6867 := [unit-resolution #4567 #6888]: #6946
 #3583 := (or #2754 #1821)
 #3585 := [def-axiom]: #3583
-#7412 := [unit-resolution #3585 #7411]: #1821
-#7369 := (+ #1817 #6737)
-#7377 := (>= #7369 0::Int)
-#7368 := (= #1817 #6650)
-#7415 := (= #6650 #1817)
-#7413 := (= f20 f25)
-#6293 := [hypothesis]: #149
-#7414 := [symm #6293]: #7413
-#7416 := [monotonicity #7414]: #7415
-#7417 := [symm #7416]: #7368
-#7404 := (not #7368)
-#7405 := (or #7404 #7377)
-#7403 := [th-lemma arith triangle-eq]: #7405
-#7406 := [unit-resolution #7403 #7417]: #7377
-#7563 := (not #7377)
-#7564 := (or #7562 #7563 #1820)
-#7558 := [hypothesis]: #1821
-#7559 := [hypothesis]: #7377
-#7560 := [hypothesis]: #6739
-#7561 := [th-lemma arith farkas -1 1 1 #7560 #7559 #7558]: false
-#7565 := [lemma #7561]: #7564
-#7407 := [unit-resolution #7565 #7406 #7412]: #7562
-#6285 := (f11 f21 ?v1!10)
-#6647 := (= #6285 f1)
-#7300 := (not #6647)
-#7008 := (f19 f20 ?v0!11)
-#7003 := (* -1::Int #7008)
-#7301 := (+ #6650 #7003)
-#7304 := (+ #1824 #7301)
-#7305 := (>= #7304 0::Int)
-#7459 := (not #7305)
-#7379 := (+ #1831 #7003)
-#7380 := (<= #7379 0::Int)
-#7378 := (= #1831 #7008)
-#7408 := (= #7008 #1831)
-#7426 := [monotonicity #7414]: #7408
-#7427 := [symm #7426]: #7378
-#7425 := (not #7378)
-#7428 := (or #7425 #7380)
-#7429 := [th-lemma arith triangle-eq]: #7428
-#7430 := [unit-resolution #7429 #7427]: #7380
+#6945 := [unit-resolution #3585 #6935]: #1821
 #3586 := (not #2356)
 #3584 := (or #2754 #3586)
 #3587 := [def-axiom]: #3584
-#7458 := [unit-resolution #3587 #7411]: #3586
-#7460 := (not #7380)
-#7461 := (or #7459 #7460 #2356 #7563)
-#7462 := [th-lemma arith assign-bounds -1 -1 1]: #7461
-#7463 := [unit-resolution #7462 #7458 #7406 #7430]: #7459
-#7466 := (or #7300 #7305)
-#3225 := (or #2754 #1828)
-#3226 := [def-axiom]: #3225
-#7464 := [unit-resolution #3226 #7411]: #1828
+#6866 := [unit-resolution #3587 #6935]: #3586
+#7019 := (or #7134 #3756 #1827 #2356 #1820 #503)
+#6765 := (f19 f20 ?v0!11)
+#6766 := (* -1::Int #6765)
+#6948 := (+ #1831 #6766)
+#6949 := (<= #6948 0::Int)
+#6947 := (= #1831 #6765)
+#6984 := (= #6765 #1831)
+#6985 := [monotonicity #6983]: #6984
+#6986 := [symm #6985]: #6947
+#6987 := (not #6947)
+#6988 := (or #6987 #6949)
+#6975 := [th-lemma arith triangle-eq]: #6988
+#6976 := [unit-resolution #6975 #6986]: #6949
+#7130 := [hypothesis]: #3586
+#7143 := [hypothesis]: #1828
+#7140 := [hypothesis]: #3751
+#7131 := [hypothesis]: #6946
+#6572 := (+ f3 #6584)
+#6576 := (<= #6572 0::Int)
+#7138 := (not #6576)
+#6974 := [hypothesis]: #1821
+#6977 := (or #7138 #1820 #7134)
+#6978 := [th-lemma arith assign-bounds -1 -1]: #6977
+#6979 := [unit-resolution #6978 #7131 #6974]: #7138
+#7133 := (not #6949)
+#7160 := (or #6576 #1827 #3756 #7134 #2356 #7133)
+#6907 := (+ #6589 #6766)
+#6926 := (+ #1824 #6907)
+#6924 := (>= #6926 0::Int)
+#7132 := (not #6924)
+#7129 := [hypothesis]: #6949
+#7135 := (or #7132 #7133 #2356 #7134)
+#7136 := [th-lemma arith assign-bounds -1 -1 1]: #7135
+#7137 := [unit-resolution #7136 #7131 #7130 #7129]: #7132
+#6587 := (f11 f21 ?v1!10)
+#6588 := (= #6587 f1)
+#7139 := [hypothesis]: #7138
+#5703 := (or #6588 #6576)
+#6635 := (or #3756 #6588 #6576)
+#6636 := (or #3756 #5703)
+#6638 := (iff #6636 #6635)
+#6211 := [rewrite]: #6638
+#6637 := [quant-inst #1815]: #6636
+#6252 := [mp #6637 #6211]: #6635
+#7141 := [unit-resolution #6252 #7140]: #5703
+#7142 := [unit-resolution #7141 #7139]: #6588
+#6849 := (not #6588)
+#7157 := (or #6849 #6924)
 #3399 := (or #3980 #3734)
 #3404 := [def-axiom]: #3399
-#7465 := [unit-resolution #3404 #7283]: #3734
-#7309 := (or #3739 #7300 #1827 #7305)
-#7306 := (or #7300 #1827 #7305)
-#7310 := (or #3739 #7306)
-#7312 := (iff #7310 #7309)
-#7313 := [rewrite]: #7312
-#7311 := [quant-inst #1816 #1815]: #7310
-#7314 := [mp #7311 #7313]: #7309
-#7451 := [unit-resolution #7314 #7465 #7464]: #7466
-#7452 := [unit-resolution #7451 #7463]: #7300
-#6728 := (or #6647 #6739)
-#7450 := [hypothesis]: #3751
-#6799 := (or #3756 #6647 #6739)
-#6816 := (or #3756 #6728)
-#6846 := (iff #6816 #6799)
-#6847 := [rewrite]: #6846
-#6817 := [quant-inst #1815]: #6816
-#6845 := [mp #6817 #6847]: #6799
-#7453 := [unit-resolution #6845 #7450]: #6728
-#7454 := [unit-resolution #7453 #7452 #7407]: false
-#7468 := [lemma #7454]: #7455
-#6971 := [unit-resolution #7468 #6807 #6645]: #2754
-#3402 := (or #3814 #3808)
-#3403 := [def-axiom]: #3402
-#6674 := [unit-resolution #3403 #6764]: #3808
-#4377 := (or #3814 #1757)
-#4289 := (f19 f20 ?v0!8)
-#4618 := (= #1754 #4289)
-#6669 := [monotonicity #6807]: #4618
-#3405 := (or #3980 #3742)
-#3406 := [def-axiom]: #3405
-#6675 := [unit-resolution #3406 #7283]: #3742
-#4616 := [hypothesis]: #1758
-#3298 := (or #3790 #1849)
-#3299 := [def-axiom]: #3298
-#6729 := [unit-resolution #3299 #6648]: #3790
-#6730 := [unit-resolution #7468 #6645 #6807]: #2754
-#3571 := (or #3799 #2759 #3793)
-#3568 := [def-axiom]: #3571
-#6726 := [unit-resolution #3568 #6730 #6729]: #3799
-#3283 := (or #3802 #3796)
-#3284 := [def-axiom]: #3283
-#6731 := [unit-resolution #3284 #6726]: #3802
-#3562 := (or #3811 #3771 #3805)
-#3566 := [def-axiom]: #3562
-#4291 := [unit-resolution #3566 #6731 #6674]: #3771
-#3589 := (or #3768 #1753)
-#3254 := [def-axiom]: #3589
-#4320 := [unit-resolution #3254 #4291]: #1753
-#3234 := (or #3768 #3760)
-#3575 := [def-axiom]: #3234
-#4321 := [unit-resolution #3575 #4291]: #3760
-#6324 := (not #4618)
-#6580 := (or #6324 #3765 #503 #3747 #1752 #1757)
-#4276 := (?v1!7 ?v0!8)
-#4648 := (f19 f25 #4276)
-#4674 := (* -1::Int #4648)
-#4679 := (+ #1754 #4674)
-#4680 := (<= #4679 0::Int)
-#6358 := (not #4680)
-#4271 := (f19 f20 #4276)
-#5403 := (+ #4271 #4674)
-#5440 := (>= #5403 0::Int)
-#5390 := (= #4271 #4648)
-#6305 := (= #4648 #4271)
-#6306 := [monotonicity #6293]: #6305
-#6323 := [symm #6306]: #5390
-#6325 := (not #5390)
-#6326 := (or #6325 #5440)
-#6327 := [th-lemma arith triangle-eq]: #6326
-#6322 := [unit-resolution #6327 #6323]: #5440
-#4272 := (* -1::Int #4289)
-#4349 := (+ #4271 #4272)
-#4368 := (>= #4349 0::Int)
-#4448 := (not #4368)
-#4329 := (f6 f7 #4276)
-#4330 := (f5 #4329 ?v0!8)
-#4315 := (f4 #4330)
-#4366 := (+ #4272 #4315)
-#4367 := (+ #4271 #4366)
-#4391 := (= #4367 0::Int)
-#4390 := (not #4391)
-#4326 := (f11 f21 #4276)
-#4327 := (= #4326 f1)
-#4328 := (not #4327)
-#4398 := (or #4368 #4328 #4390)
-#4419 := (not #4398)
-#4273 := (+ f3 #4272)
-#4274 := (<= #4273 0::Int)
-#4624 := (not #4274)
-#4619 := (+ #1754 #4272)
-#4615 := (>= #4619 0::Int)
-#6328 := [hypothesis]: #4618
-#6329 := (or #6324 #4615)
-#6330 := [th-lemma arith triangle-eq]: #6329
-#6331 := [unit-resolution #6330 #6328]: #4615
-#4625 := (not #4615)
-#4646 := (or #4624 #4625 #1757)
-#4621 := [hypothesis]: #4274
-#4622 := [hypothesis]: #4615
-#4623 := [th-lemma arith farkas 1 -1 1 #4622 #4621 #4616]: false
-#4647 := [lemma #4623]: #4646
-#6332 := [unit-resolution #4647 #6331 #4616]: #4624
-#6350 := (or #4274 #4419)
-#6351 := [hypothesis]: #1753
-#6355 := [hypothesis]: #3742
-#4425 := (or #3747 #1752 #4274 #4419)
-#4316 := (* -1::Int #4315)
-#4323 := (* -1::Int #4271)
-#4314 := (+ #4323 #4316)
-#4317 := (+ #4289 #4314)
-#4318 := (= #4317 0::Int)
-#4319 := (not #4318)
-#4324 := (+ #4289 #4323)
-#4325 := (<= #4324 0::Int)
-#4332 := (or #4325 #4328 #4319)
-#4333 := (not #4332)
-#4337 := (or #1752 #4274 #4333)
-#4426 := (or #3747 #4337)
-#4439 := (iff #4426 #4425)
-#4420 := (or #1752 #4274 #4419)
-#4428 := (or #3747 #4420)
-#4435 := (iff #4428 #4425)
-#4438 := [rewrite]: #4435
-#4436 := (iff #4426 #4428)
-#4423 := (iff #4337 #4420)
-#4421 := (iff #4333 #4419)
-#4399 := (iff #4332 #4398)
-#4396 := (iff #4319 #4390)
-#4394 := (iff #4318 #4391)
-#4373 := (+ #4289 #4316)
-#4374 := (+ #4323 #4373)
-#4364 := (= #4374 0::Int)
-#4392 := (iff #4364 #4391)
-#4393 := [rewrite]: #4392
-#4362 := (iff #4318 #4364)
-#4375 := (= #4317 #4374)
-#4363 := [rewrite]: #4375
-#4365 := [monotonicity #4363]: #4362
-#4395 := [trans #4365 #4393]: #4394
-#4397 := [monotonicity #4395]: #4396
-#4371 := (iff #4325 #4368)
-#4338 := (+ #4323 #4289)
-#4344 := (<= #4338 0::Int)
-#4369 := (iff #4344 #4368)
-#4370 := [rewrite]: #4369
-#4347 := (iff #4325 #4344)
-#4345 := (= #4324 #4338)
-#4346 := [rewrite]: #4345
-#4348 := [monotonicity #4346]: #4347
-#4372 := [trans #4348 #4370]: #4371
-#4400 := [monotonicity #4372 #4397]: #4399
-#4422 := [monotonicity #4400]: #4421
-#4424 := [monotonicity #4422]: #4423
-#4437 := [monotonicity #4424]: #4436
-#4440 := [trans #4437 #4438]: #4439
-#4427 := [quant-inst #1751]: #4426
-#4446 := [mp #4427 #4440]: #4425
-#6354 := [unit-resolution #4446 #6355 #6351]: #6350
-#6356 := [unit-resolution #6354 #6332]: #4419
-#4449 := (or #4398 #4448)
-#4450 := [def-axiom]: #4449
-#6357 := [unit-resolution #4450 #6356]: #4448
-#6365 := (not #5440)
-#6368 := (or #6358 #4625 #4368 #6365)
-#6367 := [th-lemma arith assign-bounds -1 1 -1]: #6368
-#6369 := [unit-resolution #6367 #6331 #6357 #6322]: #6358
-#4710 := (+ #4316 #4674)
-#4711 := (+ #1754 #4710)
-#4712 := (= #4711 0::Int)
-#4798 := (<= #4711 0::Int)
-#5439 := (<= #5403 0::Int)
-#6370 := (or #6325 #5439)
-#6375 := [th-lemma arith triangle-eq]: #6370
-#6378 := [unit-resolution #6375 #6323]: #5439
-#4447 := (>= #4367 0::Int)
-#4455 := (or #4398 #4391)
-#4458 := [def-axiom]: #4455
-#6379 := [unit-resolution #4458 #6356]: #4391
-#6377 := (or #4390 #4447)
-#6383 := [th-lemma arith triangle-eq]: #6377
-#6384 := [unit-resolution #6383 #6379]: #4447
-#4620 := (<= #4619 0::Int)
-#6382 := (or #6324 #4620)
-#6386 := [th-lemma arith triangle-eq]: #6382
-#6387 := [unit-resolution #6386 #6328]: #4620
-#6401 := (not #5439)
-#6398 := (not #4447)
-#5997 := (not #4620)
-#6400 := (or #4798 #5997 #6398 #6401)
-#6402 := [th-lemma arith assign-bounds -1 1 -1]: #6400
-#6403 := [unit-resolution #6402 #6387 #6384 #6378]: #4798
-#4770 := (>= #4711 0::Int)
-#4445 := (<= #4367 0::Int)
-#6439 := (or #4390 #4445)
-#6471 := [th-lemma arith triangle-eq]: #6439
-#6466 := [unit-resolution #6471 #6379]: #4445
-#6040 := (not #4445)
-#6470 := (or #4770 #4625 #6040 #6365)
-#6472 := [th-lemma arith assign-bounds -1 1 -1]: #6470
-#6473 := [unit-resolution #6472 #6331 #6466 #6322]: #4770
-#6475 := (not #4798)
-#6474 := (not #4770)
-#6476 := (or #4712 #6474 #6475)
-#6482 := [th-lemma arith triangle-eq]: #6476
-#6571 := [unit-resolution #6482 #6473 #6403]: #4712
-#4731 := (not #4712)
-#4738 := (or #4680 #4731)
-#6577 := [hypothesis]: #3760
-#4741 := (or #3765 #4680 #4731)
-#4645 := (+ #1755 #4315)
-#4650 := (+ #4648 #4645)
-#4651 := (= #4650 0::Int)
-#4652 := (not #4651)
-#4649 := (+ #4648 #1755)
-#4644 := (>= #4649 0::Int)
-#4653 := (or #4644 #4652)
-#4762 := (or #3765 #4653)
-#4767 := (iff #4762 #4741)
-#4764 := (or #3765 #4738)
-#4761 := (iff #4764 #4741)
-#4766 := [rewrite]: #4761
-#4765 := (iff #4762 #4764)
-#4739 := (iff #4653 #4738)
-#4732 := (iff #4652 #4731)
-#4735 := (iff #4651 #4712)
-#4705 := (+ #4315 #4648)
-#4706 := (+ #1755 #4705)
-#4703 := (= #4706 0::Int)
-#4733 := (iff #4703 #4712)
-#4734 := [rewrite]: #4733
-#4708 := (iff #4651 #4703)
-#4707 := (= #4650 #4706)
-#4702 := [rewrite]: #4707
-#4709 := [monotonicity #4702]: #4708
-#4736 := [trans #4709 #4734]: #4735
-#4737 := [monotonicity #4736]: #4732
-#4683 := (iff #4644 #4680)
-#4654 := (+ #1755 #4648)
-#4677 := (>= #4654 0::Int)
-#4681 := (iff #4677 #4680)
-#4682 := [rewrite]: #4681
-#4678 := (iff #4644 #4677)
-#4675 := (= #4649 #4654)
-#4676 := [rewrite]: #4675
-#4673 := [monotonicity #4676]: #4678
-#4704 := [trans #4673 #4682]: #4683
-#4740 := [monotonicity #4704 #4737]: #4739
-#4760 := [monotonicity #4740]: #4765
-#4768 := [trans #4760 #4766]: #4767
-#4763 := [quant-inst #4276]: #4762
-#4769 := [mp #4763 #4768]: #4741
-#6578 := [unit-resolution #4769 #6577]: #4738
-#6579 := [unit-resolution #6578 #6571 #6369]: false
-#6581 := [lemma #6579]: #6580
-#4376 := [unit-resolution #6581 #4321 #4320 #4616 #6675 #6807 #6669]: false
-#4290 := [lemma #4376]: #4377
-#6958 := [unit-resolution #4290 #6764]: #1757
-#3249 := (or #3768 #1758)
-#3591 := [def-axiom]: #3249
-#6954 := [unit-resolution #3591 #6958]: #3768
-#6959 := [unit-resolution #3566 #6954 #6674]: #3805
-#6960 := [unit-resolution #3284 #6959]: #3796
-#6961 := [unit-resolution #3568 #6960 #6971]: #3793
-#7266 := [unit-resolution #3299 #6961]: #1849
-#7267 := [unit-resolution #7266 #6648]: false
-#7128 := [lemma #7267]: #3814
-#3407 := (or #3980 #3974)
-#3408 := [def-axiom]: #3407
-#11570 := [unit-resolution #3408 #7283]: #3974
+#7156 := [unit-resolution #3404 #7155]: #3734
+#6930 := (or #3739 #6849 #1827 #6924)
+#6927 := (or #6849 #1827 #6924)
+#6931 := (or #3739 #6927)
+#3348 := (iff #6931 #6930)
+#3221 := [rewrite]: #3348
+#6932 := [quant-inst #1816 #1815]: #6931
+#4127 := [mp #6932 #3221]: #6930
+#7158 := [unit-resolution #4127 #7156 #7143]: #7157
+#7159 := [unit-resolution #7158 #7142 #7137]: false
+#7161 := [lemma #7159]: #7160
+#7018 := [unit-resolution #7161 #6979 #7131 #7140 #7143 #7130 #6976]: false
+#7020 := [lemma #7018]: #7019
+#6950 := [unit-resolution #7020 #6866 #6945 #6867 #6870 #6808 #6888]: false
+#7021 := [lemma #6950]: #3814
 #3419 := (or #3977 #3817 #3971)
 #3421 := [def-axiom]: #3419
-#12390 := [unit-resolution #3421 #11570]: #3974
-#11571 := [unit-resolution #12390 #7128]: #3971
-#3445 := (or #3968 #3838)
-#3426 := [def-axiom]: #3445
-#11843 := [unit-resolution #3426 #11571]: #3838
+#7802 := [unit-resolution #3421 #7021 #7801]: #3971
 #3459 := (or #3968 #194)
 #3464 := [def-axiom]: #3459
-#12662 := [unit-resolution #3464 #11571]: #194
-#3456 := (or #3968 #184)
-#3457 := [def-axiom]: #3456
-#16074 := [unit-resolution #3457 #11571]: #184
-#8244 := (or #1942 #183 #715 #3843)
-#8160 := (= #185 #1940)
-#8155 := (= #1940 #185)
-#7789 := (= ?v0!14 f28)
-#7634 := (f11 f21 ?v0!14)
-#7635 := (= #7634 f1)
-#7795 := (or #7789 #7635)
-#7768 := (f11 #193 ?v0!14)
-#7786 := (= #7768 f1)
-#7800 := (iff #7786 #7795)
-#7803 := (or #7582 #7800)
-#7790 := (if #7789 #4057 #7635)
-#7791 := (iff #7786 #7790)
-#7804 := (or #7582 #7791)
-#7806 := (iff #7804 #7803)
-#7808 := (iff #7803 #7803)
-#7809 := [rewrite]: #7808
-#7801 := (iff #7791 #7800)
-#7798 := (iff #7790 #7795)
-#7792 := (if #7789 true #7635)
-#7796 := (iff #7792 #7795)
-#7797 := [rewrite]: #7796
-#7793 := (iff #7790 #7792)
-#7794 := [monotonicity #4060]: #7793
-#7799 := [trans #7794 #7797]: #7798
-#7802 := [monotonicity #7799]: #7801
-#7807 := [monotonicity #7802]: #7806
-#7810 := [trans #7807 #7809]: #7806
-#7805 := [quant-inst #115 #181 #3 #1935]: #7804
-#7811 := [mp #7805 #7810]: #7803
-#7893 := [unit-resolution #7811 #3646]: #7800
-#8183 := [hypothesis]: #1943
+#8144 := [unit-resolution #3464 #7802]: #194
+#8146 := [symm #8144]: #8145
+#16380 := [monotonicity #8146]: #16289
+#16388 := [monotonicity #16380]: #16359
+#16389 := [symm #16388]: #16382
+#16391 := [monotonicity #16389]: #16390
+#19086 := [hypothesis]: #4534
+#5090 := (or #4541 #5087)
+#8395 := [hypothesis]: #1943
 #3547 := (or #1942 #1937)
 #3543 := [def-axiom]: #3547
-#8184 := [unit-resolution #3543 #8183]: #1937
-#8190 := (= #7768 #1936)
-#8191 := (= #193 f29)
-#8181 := [hypothesis]: #194
-#8195 := [symm #8181]: #8191
-#8196 := [monotonicity #8195]: #8190
-#8194 := [trans #8196 #8184]: #7786
-#7824 := (not #7786)
-#7821 := (not #7800)
-#7825 := (or #7821 #7824 #7795)
-#7826 := [def-axiom]: #7825
-#8197 := [unit-resolution #7826 #8194 #7893]: #7795
-#7815 := (not #7635)
-#8135 := [hypothesis]: #184
-#7618 := (* -1::Int #1940)
-#7645 := (+ #185 #7618)
-#8112 := (>= #7645 0::Int)
-#8306 := (not #8112)
-#7665 := (f5 #195 ?v0!14)
-#7666 := (f4 #7665)
-#7684 := (+ #7618 #7666)
-#7685 := (+ #185 #7684)
-#7686 := (>= #7685 0::Int)
-#7740 := (not #7686)
-#7667 := (* -1::Int #7666)
-#7668 := (+ f3 #7667)
-#7669 := (<= #7668 0::Int)
-#7717 := (or #7669 #7686)
-#7720 := (not #7717)
+#8389 := [unit-resolution #3543 #8395]: #1937
 #3548 := (not #1941)
 #3542 := (or #1942 #3548)
 #3549 := [def-axiom]: #3542
-#8200 := [unit-resolution #3549 #8183]: #3548
-#7150 := [hypothesis]: #3838
-#7726 := (or #3843 #7720 #1941)
-#7670 := (+ #1146 #7667)
-#7671 := (+ #1940 #7670)
-#7672 := (<= #7671 0::Int)
-#7714 := (or #7669 #7672)
-#7715 := (not #7714)
-#7716 := (or #7715 #1941)
-#7727 := (or #3843 #7716)
-#7734 := (iff #7727 #7726)
-#7723 := (or #7720 #1941)
-#7729 := (or #3843 #7723)
-#7732 := (iff #7729 #7726)
-#7733 := [rewrite]: #7732
-#7730 := (iff #7727 #7729)
-#7724 := (iff #7716 #7723)
-#7721 := (iff #7715 #7720)
-#7718 := (iff #7714 #7717)
-#7689 := (iff #7672 #7686)
-#7677 := (+ #1940 #7667)
-#7678 := (+ #1146 #7677)
-#7681 := (<= #7678 0::Int)
-#7687 := (iff #7681 #7686)
-#7688 := [rewrite]: #7687
-#7682 := (iff #7672 #7681)
-#7679 := (= #7671 #7678)
-#7680 := [rewrite]: #7679
-#7683 := [monotonicity #7680]: #7682
-#7690 := [trans #7683 #7688]: #7689
-#7719 := [monotonicity #7690]: #7718
-#7722 := [monotonicity #7719]: #7721
-#7725 := [monotonicity #7722]: #7724
-#7731 := [monotonicity #7725]: #7730
-#7735 := [trans #7731 #7733]: #7734
-#7728 := [quant-inst #1935]: #7727
-#7736 := [mp #7728 #7735]: #7726
-#8203 := [unit-resolution #7736 #7150 #8200]: #7720
-#7741 := (or #7717 #7740)
-#7742 := [def-axiom]: #7741
-#8251 := [unit-resolution #7742 #8203]: #7740
-#8470 := (or #8306 #7686)
-#7869 := (= #7666 0::Int)
-#8459 := (not #7869)
-#7879 := (>= #7666 0::Int)
-#8449 := (not #7879)
-#8448 := [hypothesis]: #7740
-#8280 := [hypothesis]: #8112
-#8456 := (or #8449 #7686 #8306)
-#8457 := [th-lemma arith assign-bounds -1 1]: #8456
-#8458 := [unit-resolution #8457 #8280 #8448]: #8449
-#8460 := (or #8459 #7879)
-#8461 := [th-lemma arith triangle-eq]: #8460
-#8462 := [unit-resolution #8461 #8458]: #8459
-#7865 := (= f28 ?v0!14)
-#7880 := (<= #7666 0::Int)
-#8463 := (or #7880 #7686 #8306)
-#8464 := [th-lemma arith assign-bounds 1 1]: #8463
-#8465 := [unit-resolution #8464 #8280 #8448]: #7880
-#7871 := (not #7880)
-#7872 := (or #7865 #7871)
+#8396 := [unit-resolution #3549 #8395]: #3548
+#5879 := (* -1::Int #1940)
+#5980 := (+ #185 #5879)
+#7760 := (>= #5980 0::Int)
+#4329 := (f11 f21 ?v0!14)
+#4316 := (= #4329 f1)
+#4315 := (= ?v0!14 f28)
+#4345 := (or #4315 #4316)
+#4328 := (f11 #193 ?v0!14)
+#4330 := (= #4328 f1)
+#4348 := (iff #4330 #4345)
+#8073 := (or #7518 #4348)
+#4314 := (if #4315 #4057 #4316)
+#4317 := (iff #4330 #4314)
+#8074 := (or #7518 #4317)
+#8078 := (iff #8074 #8073)
+#8080 := (iff #8073 #8073)
+#8081 := [rewrite]: #8080
+#4337 := (iff #4317 #4348)
+#4344 := (iff #4314 #4345)
+#4318 := (if #4315 true #4316)
+#4346 := (iff #4318 #4345)
+#4338 := [rewrite]: #4346
+#4319 := (iff #4314 #4318)
+#4332 := [monotonicity #4060]: #4319
+#4347 := [trans #4332 #4338]: #4344
+#4349 := [monotonicity #4347]: #4337
+#8079 := [monotonicity #4349]: #8078
+#8082 := [trans #8079 #8081]: #8078
+#8077 := [quant-inst #115 #181 #3 #1935]: #8074
+#8083 := [mp #8077 #8082]: #8073
+#8113 := [unit-resolution #8083 #3646]: #4348
+#8114 := [hypothesis]: #1937
+#8147 := (= #4328 #1936)
+#8148 := [monotonicity #8146]: #8147
+#8149 := [trans #8148 #8114]: #4330
+#8094 := (not #4330)
+#8091 := (not #4348)
+#8095 := (or #8091 #8094 #4345)
+#8096 := [def-axiom]: #8095
+#8150 := [unit-resolution #8096 #8149 #8113]: #4345
+#8088 := (not #4345)
+#8152 := (or #8088 #4316)
+#7690 := (not #4315)
+#7795 := [hypothesis]: #3548
+#7815 := (or #7690 #1941)
+#7809 := (= #185 #1940)
+#7807 := (= #1940 #185)
+#7796 := [hypothesis]: #4315
+#7808 := [monotonicity #7796]: #7807
+#7810 := [symm #7808]: #7809
+#7811 := (= #1939 #185)
+#4131 := (= #4078 #185)
+#4082 := (f5 #195 f28)
+#4083 := (f4 #4082)
+#4101 := (>= #4083 0::Int)
+#4086 := (* -1::Int #4083)
+#4087 := (+ f3 #4086)
+#4088 := (<= #4087 0::Int)
+#4133 := (or #4088 #4101)
+#6365 := (= #4083 0::Int)
+#6474 := (not #6365)
+#6475 := [hypothesis]: #6474
 #14 := (f6 f7 #10)
 #15 := (f5 #14 #11)
 #3600 := (pattern #15)
 #16 := (f4 #15)
-#325 := (<= #16 0::Int)
-#326 := (not #325)
+#17 := (= #16 0::Int)
 #12 := (= #10 #11)
-#329 := (or #12 #326)
-#3607 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #3600) #329)
-#332 := (forall (vars (?v0 S2) (?v1 S2)) #329)
-#3610 := (iff #332 #3607)
-#3608 := (iff #329 #329)
-#3609 := [refl]: #3608
-#3611 := [quant-intro #3609]: #3610
-#1486 := (~ #332 #332)
-#1485 := (~ #329 #329)
-#1482 := [refl]: #1485
-#1487 := [nnf-pos #1482]: #1486
-#21 := (< 0::Int #16)
 #20 := (not #12)
-#22 := (implies #20 #21)
-#23 := (forall (vars (?v0 S2) (?v1 S2)) #22)
-#335 := (iff #23 #332)
-#318 := (or #12 #21)
-#322 := (forall (vars (?v0 S2) (?v1 S2)) #318)
-#333 := (iff #322 #332)
-#330 := (iff #318 #329)
-#327 := (iff #21 #326)
-#328 := [rewrite]: #327
-#331 := [monotonicity #328]: #330
-#334 := [quant-intro #331]: #333
-#323 := (iff #23 #322)
-#320 := (iff #22 #318)
-#321 := [rewrite]: #320
-#324 := [quant-intro #321]: #323
-#336 := [trans #324 #334]: #335
-#317 := [asserted]: #23
-#337 := [mp #317 #336]: #332
-#1483 := [mp~ #337 #1487]: #332
-#3612 := [mp #1483 #3611]: #3607
-#7204 := (not #3607)
-#7883 := (or #7204 #7865 #7871)
-#7884 := (or #7204 #7872)
-#7886 := (iff #7884 #7883)
-#7887 := [rewrite]: #7886
-#7885 := [quant-inst #181 #1935]: #7884
-#7888 := [mp #7885 #7887]: #7883
-#8466 := [unit-resolution #7888 #3612]: #7872
-#8467 := [unit-resolution #8466 #8465]: #7865
-#7866 := (not #7865)
-#7870 := (or #7866 #7869)
-#17 := (= #16 0::Int)
 #306 := (or #20 #17)
 #3601 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #3600) #306)
 #314 := (forall (vars (?v0 S2) (?v1 S2)) #306)
@@ -4196,491 +4121,547 @@
 #319 := [mp #305 #316]: #314
 #1484 := [mp~ #319 #1511]: #314
 #3606 := [mp #1484 #3605]: #3601
-#7193 := (not #3601)
-#7873 := (or #7193 #7866 #7869)
-#7874 := (or #7193 #7870)
-#7876 := (iff #7874 #7873)
-#7877 := [rewrite]: #7876
-#7875 := [quant-inst #181 #1935]: #7874
-#7878 := [mp #7875 #7877]: #7873
-#8468 := [unit-resolution #7878 #3606]: #7870
-#8469 := [unit-resolution #8468 #8467 #8462]: false
-#8471 := [lemma #8469]: #8470
-#8252 := [unit-resolution #8471 #8251]: #8306
-#8185 := (or #7815 #183 #8112)
-#8103 := [hypothesis]: #8306
-#8110 := [hypothesis]: #7635
+#6226 := (not #3601)
+#6401 := (or #6226 #6365)
+#4403 := (= f28 f28)
+#6358 := (not #4403)
+#6369 := (or #6358 #6365)
+#6400 := (or #6226 #6369)
+#6403 := (iff #6400 #6401)
+#6471 := (iff #6401 #6401)
+#6466 := [rewrite]: #6471
+#6387 := (iff #6369 #6365)
+#6377 := (or false #6365)
+#6382 := (iff #6377 #6365)
+#6386 := [rewrite]: #6382
+#6383 := (iff #6369 #6377)
+#6378 := (iff #6358 false)
+#6370 := (iff #6358 #6910)
+#4406 := (iff #4403 true)
+#4407 := [rewrite]: #4406
+#6375 := [monotonicity #4407]: #6370
+#6379 := [trans #6375 #6914]: #6378
+#6384 := [monotonicity #6379]: #6383
+#6398 := [trans #6384 #6386]: #6387
+#6439 := [monotonicity #6398]: #6403
+#6470 := [trans #6439 #6466]: #6403
+#6402 := [quant-inst #181 #181]: #6400
+#6472 := [mp #6402 #6470]: #6401
+#6476 := [unit-resolution #6472 #3606 #6475]: false
+#6482 := [lemma #6476]: #6365
+#7797 := (or #6474 #4101)
+#7798 := [th-lemma arith triangle-eq]: #7797
+#7799 := [unit-resolution #7798 #6482]: #4101
+#7285 := (not #4101)
+#7283 := (or #4133 #7285)
+#7286 := [def-axiom]: #7283
+#7800 := [unit-resolution #7286 #7799]: #4133
+#3445 := (or #3968 #3838)
+#3426 := [def-axiom]: #3445
+#7803 := [unit-resolution #3426 #7802]: #3838
+#4136 := (not #4133)
+#7259 := (or #3843 #4136 #4131)
+#4089 := (+ #1146 #4086)
+#4090 := (+ #185 #4089)
+#4091 := (<= #4090 0::Int)
+#4129 := (or #4088 #4091)
+#4130 := (not #4129)
+#4132 := (or #4130 #4131)
+#7260 := (or #3843 #4132)
+#7266 := (iff #7260 #7259)
+#4139 := (or #4136 #4131)
+#7262 := (or #3843 #4139)
+#7265 := (iff #7262 #7259)
+#7261 := [rewrite]: #7265
+#7263 := (iff #7260 #7262)
+#4140 := (iff #4132 #4139)
+#4137 := (iff #4130 #4136)
+#4134 := (iff #4129 #4133)
+#4104 := (iff #4091 #4101)
+#4098 := (<= #4086 0::Int)
+#4102 := (iff #4098 #4101)
+#4103 := [rewrite]: #4102
+#4099 := (iff #4091 #4098)
+#4096 := (= #4090 #4086)
+#4097 := [rewrite]: #4096
+#4100 := [monotonicity #4097]: #4099
+#4105 := [trans #4100 #4103]: #4104
+#4135 := [monotonicity #4105]: #4134
+#4138 := [monotonicity #4135]: #4137
+#4141 := [monotonicity #4138]: #4140
+#7264 := [monotonicity #4141]: #7263
+#7271 := [trans #7264 #7261]: #7266
+#7256 := [quant-inst #181]: #7260
+#7272 := [mp #7256 #7271]: #7259
+#7804 := [unit-resolution #7272 #7803 #7800]: #4131
+#7805 := (= #1939 #4078)
+#7806 := [monotonicity #7796]: #7805
+#7812 := [trans #7806 #7804]: #7811
+#7813 := [trans #7812 #7810]: #1941
+#7814 := [unit-resolution #7795 #7813]: false
+#7816 := [lemma #7814]: #7815
+#8151 := [unit-resolution #7816 #7795]: #7690
+#8089 := (or #8088 #4315 #4316)
+#8090 := [def-axiom]: #8089
+#8153 := [unit-resolution #8090 #8151]: #8152
+#8154 := [unit-resolution #8153 #8150]: #4316
+#3456 := (or #3968 #184)
+#3457 := [def-axiom]: #3456
+#8155 := [unit-resolution #3457 #7802]: #184
 #3443 := (or #3980 #3726)
 #3398 := [def-axiom]: #3443
-#8136 := [unit-resolution #3398 #7283]: #3726
-#7958 := (or #3731 #183 #7815 #8112)
-#8113 := (or #183 #7815 #8112)
-#7991 := (or #3731 #8113)
-#8023 := (iff #7991 #7958)
-#8024 := [rewrite]: #8023
-#7992 := [quant-inst #1935 #181]: #7991
-#8115 := [mp #7992 #8024]: #7958
-#8182 := [unit-resolution #8115 #8136 #8135 #8110 #8103]: false
-#8186 := [lemma #8182]: #8185
-#8253 := [unit-resolution #8186 #8252 #8135]: #7815
-#7818 := (not #7795)
-#7819 := (or #7818 #7789 #7635)
-#7820 := [def-axiom]: #7819
-#8254 := [unit-resolution #7820 #8253 #8197]: #7789
-#8255 := [monotonicity #8254]: #8155
-#8250 := [symm #8255]: #8160
-#8256 := (not #8160)
-#8257 := (or #8256 #8112)
-#8258 := [th-lemma arith triangle-eq]: #8257
-#8243 := [unit-resolution #8258 #8252 #8250]: false
-#8281 := [lemma #8243]: #8244
-#16076 := [unit-resolution #8281 #16074 #12662 #11843]: #1942
+#8156 := [unit-resolution #3398 #7155]: #3726
+#7693 := (not #4316)
+#8138 := (or #3731 #183 #7693 #7760)
+#7761 := (or #183 #7693 #7760)
+#8139 := (or #3731 #7761)
+#8141 := (iff #8139 #8138)
+#8142 := [rewrite]: #8141
+#8140 := [quant-inst #1935 #181]: #8139
+#8143 := [mp #8140 #8142]: #8138
+#8157 := [unit-resolution #8143 #8156 #8155 #8154]: #7760
+#6005 := (f5 #195 ?v0!14)
+#6011 := (f4 #6005)
+#6036 := (+ #5879 #6011)
+#6037 := (+ #185 #6036)
+#6038 := (>= #6037 0::Int)
+#8046 := (not #6038)
+#6012 := (* -1::Int #6011)
+#6010 := (+ f3 #6012)
+#6014 := (<= #6010 0::Int)
+#6049 := (or #6014 #6038)
+#6056 := (not #6049)
+#8032 := (or #3843 #6056 #1941)
+#6015 := (+ #1146 #6012)
+#6013 := (+ #1940 #6015)
+#6017 := (<= #6013 0::Int)
+#6051 := (or #6014 #6017)
+#6052 := (not #6051)
+#6054 := (or #6052 #1941)
+#8033 := (or #3843 #6054)
+#8040 := (iff #8033 #8032)
+#6067 := (or #6056 #1941)
+#8035 := (or #3843 #6067)
+#8038 := (iff #8035 #8032)
+#8039 := [rewrite]: #8038
+#8036 := (iff #8033 #8035)
+#6068 := (iff #6054 #6067)
+#6057 := (iff #6052 #6056)
+#6055 := (iff #6051 #6049)
+#6043 := (iff #6017 #6038)
+#6027 := (+ #1940 #6012)
+#6030 := (+ #1146 #6027)
+#6034 := (<= #6030 0::Int)
+#6039 := (iff #6034 #6038)
+#6040 := [rewrite]: #6039
+#6035 := (iff #6017 #6034)
+#6031 := (= #6013 #6030)
+#6032 := [rewrite]: #6031
+#6033 := [monotonicity #6032]: #6035
+#6044 := [trans #6033 #6040]: #6043
+#6053 := [monotonicity #6044]: #6055
+#6058 := [monotonicity #6053]: #6057
+#6045 := [monotonicity #6058]: #6068
+#8037 := [monotonicity #6045]: #8036
+#8041 := [trans #8037 #8039]: #8040
+#8034 := [quant-inst #1935]: #8033
+#8042 := [mp #8034 #8041]: #8032
+#8158 := [unit-resolution #8042 #7803 #7795]: #6056
+#8047 := (or #6049 #8046)
+#8048 := [def-axiom]: #8047
+#8159 := [unit-resolution #8048 #8158]: #8046
+#8125 := (>= #6011 0::Int)
+#6251 := (<= #6011 0::Int)
+#6224 := (not #6251)
+#6208 := (= f28 ?v0!14)
+#6209 := (not #6208)
+#8164 := (iff #7690 #6209)
+#8162 := (iff #4315 #6208)
+#8160 := (iff #6208 #4315)
+#8161 := [commutativity]: #8160
+#8163 := [symm #8161]: #8162
+#8165 := [monotonicity #8163]: #8164
+#8166 := [mp #8151 #8165]: #6209
+#6225 := (or #6208 #6224)
+#325 := (<= #16 0::Int)
+#326 := (not #325)
+#329 := (or #12 #326)
+#3607 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #3600) #329)
+#332 := (forall (vars (?v0 S2) (?v1 S2)) #329)
+#3610 := (iff #332 #3607)
+#3608 := (iff #329 #329)
+#3609 := [refl]: #3608
+#3611 := [quant-intro #3609]: #3610
+#1486 := (~ #332 #332)
+#1485 := (~ #329 #329)
+#1482 := [refl]: #1485
+#1487 := [nnf-pos #1482]: #1486
+#21 := (< 0::Int #16)
+#22 := (implies #20 #21)
+#23 := (forall (vars (?v0 S2) (?v1 S2)) #22)
+#335 := (iff #23 #332)
+#318 := (or #12 #21)
+#322 := (forall (vars (?v0 S2) (?v1 S2)) #318)
+#333 := (iff #322 #332)
+#330 := (iff #318 #329)
+#327 := (iff #21 #326)
+#328 := [rewrite]: #327
+#331 := [monotonicity #328]: #330
+#334 := [quant-intro #331]: #333
+#323 := (iff #23 #322)
+#320 := (iff #22 #318)
+#321 := [rewrite]: #320
+#324 := [quant-intro #321]: #323
+#336 := [trans #324 #334]: #335
+#317 := [asserted]: #23
+#337 := [mp #317 #336]: #332
+#1483 := [mp~ #337 #1487]: #332
+#3612 := [mp #1483 #3611]: #3607
+#7600 := (not #3607)
+#8126 := (or #7600 #6208 #6224)
+#8127 := (or #7600 #6225)
+#8129 := (iff #8127 #8126)
+#8130 := [rewrite]: #8129
+#8128 := [quant-inst #181 #1935]: #8127
+#8131 := [mp #8128 #8130]: #8126
+#8167 := [unit-resolution #8131 #3612]: #6225
+#8168 := [unit-resolution #8167 #8166]: #6224
+#8169 := (or #8125 #6251)
+#8170 := [th-lemma arith farkas 1 1]: #8169
+#8171 := [unit-resolution #8170 #8168]: #8125
+#8172 := [th-lemma arith farkas 1 -1 1 #8171 #8159 #8157]: false
+#8173 := [lemma #8172]: #1942
+#8376 := [unit-resolution #8173 #8396 #8389]: false
+#8397 := [lemma #8376]: #1942
 #3450 := (or #3968 #3962)
 #3451 := [def-axiom]: #3450
-#11686 := [unit-resolution #3451 #11571]: #3962
+#7966 := [unit-resolution #3451 #7802]: #3962
 #3444 := (or #3968 #3830)
 #3390 := [def-axiom]: #3444
-#12531 := [unit-resolution #3390 #11571]: #3830
-#7166 := (or #1922 #3835 #3843)
-#7014 := (f5 #195 ?v0!13)
-#7015 := (f4 #7014)
-#7040 := (+ #1920 #7015)
-#7041 := (+ #185 #7040)
-#7061 := (>= #7041 0::Int)
-#7044 := (= #7041 0::Int)
-#7016 := (* -1::Int #7015)
-#7017 := (+ f3 #7016)
-#7018 := (<= #7017 0::Int)
-#7087 := (not #7018)
-#6993 := (* -1::Int #1918)
-#7033 := (+ #6993 #7015)
-#7034 := (+ #185 #7033)
-#7035 := (>= #7034 0::Int)
-#7067 := (or #7018 #7035)
-#7070 := (not #7067)
-#7065 := (= #1919 #1918)
-#7146 := (not #7065)
-#7095 := (= #1918 #1919)
-#7138 := (not #7095)
-#7147 := (iff #7138 #7146)
-#7144 := (iff #7095 #7065)
-#7145 := [commutativity]: #7144
-#7148 := [monotonicity #7145]: #7147
-#7120 := [hypothesis]: #1923
-#7141 := (or #7138 #1922)
-#7142 := [th-lemma arith triangle-eq]: #7141
-#7143 := [unit-resolution #7142 #7120]: #7138
-#7149 := [mp #7143 #7148]: #7146
-#7073 := (or #7070 #7065)
-#7076 := (or #3843 #7070 #7065)
-#7019 := (+ #1146 #7016)
-#7020 := (+ #1918 #7019)
-#7021 := (<= #7020 0::Int)
-#7063 := (or #7018 #7021)
-#7064 := (not #7063)
-#7066 := (or #7064 #7065)
-#7077 := (or #3843 #7066)
-#7084 := (iff #7077 #7076)
-#7079 := (or #3843 #7073)
-#7082 := (iff #7079 #7076)
-#7083 := [rewrite]: #7082
-#7080 := (iff #7077 #7079)
-#7074 := (iff #7066 #7073)
-#7071 := (iff #7064 #7070)
-#7068 := (iff #7063 #7067)
-#7038 := (iff #7021 #7035)
-#7026 := (+ #1918 #7016)
-#7027 := (+ #1146 #7026)
-#7030 := (<= #7027 0::Int)
-#7036 := (iff #7030 #7035)
-#7037 := [rewrite]: #7036
-#7031 := (iff #7021 #7030)
-#7028 := (= #7020 #7027)
-#7029 := [rewrite]: #7028
-#7032 := [monotonicity #7029]: #7031
-#7039 := [trans #7032 #7037]: #7038
-#7069 := [monotonicity #7039]: #7068
-#7072 := [monotonicity #7069]: #7071
-#7075 := [monotonicity #7072]: #7074
-#7081 := [monotonicity #7075]: #7080
-#7085 := [trans #7081 #7083]: #7084
-#7078 := [quant-inst #1917]: #7077
-#7086 := [mp #7078 #7085]: #7076
-#7151 := [unit-resolution #7086 #7150]: #7073
-#7152 := [unit-resolution #7151 #7149]: #7070
-#7088 := (or #7067 #7087)
-#7089 := [def-axiom]: #7088
-#7153 := [unit-resolution #7089 #7152]: #7087
-#7090 := (not #7035)
-#7091 := (or #7067 #7090)
-#7092 := [def-axiom]: #7091
-#7154 := [unit-resolution #7092 #7152]: #7090
-#7047 := (or #7018 #7035 #7044)
-#7155 := [hypothesis]: #3830
-#7050 := (or #3835 #7018 #7035 #7044)
-#7022 := (+ #7015 #1920)
-#7023 := (+ #185 #7022)
-#7024 := (= #7023 0::Int)
-#7025 := (or #7018 #7021 #7024)
-#7051 := (or #3835 #7025)
-#7058 := (iff #7051 #7050)
-#7053 := (or #3835 #7047)
-#7056 := (iff #7053 #7050)
-#7057 := [rewrite]: #7056
-#7054 := (iff #7051 #7053)
-#7048 := (iff #7025 #7047)
-#7045 := (iff #7024 #7044)
-#7042 := (= #7023 #7041)
-#7043 := [rewrite]: #7042
-#7046 := [monotonicity #7043]: #7045
-#7049 := [monotonicity #7039 #7046]: #7048
-#7055 := [monotonicity #7049]: #7054
-#7059 := [trans #7055 #7057]: #7058
-#7052 := [quant-inst #1917]: #7051
-#7060 := [mp #7052 #7059]: #7050
-#7156 := [unit-resolution #7060 #7155]: #7047
-#7157 := [unit-resolution #7156 #7154 #7153]: #7044
-#7158 := (not #7044)
-#7159 := (or #7158 #7061)
-#7160 := [th-lemma arith triangle-eq]: #7159
-#7161 := [unit-resolution #7160 #7157]: #7061
-#7096 := (<= #1921 0::Int)
-#7162 := (or #7096 #1922)
-#7163 := [th-lemma arith farkas 1 1]: #7162
-#7164 := [unit-resolution #7163 #7120]: #7096
-#7165 := [th-lemma arith farkas 1 -1 1 #7164 #7154 #7161]: false
-#7167 := [lemma #7165]: #7166
-#12440 := [unit-resolution #7167 #11843 #12531]: #1922
+#7967 := [unit-resolution #3390 #7802]: #3830
+#5748 := (or #1922 #3835 #3843)
+#4760 := (f5 #195 ?v0!13)
+#4761 := (f4 #4760)
+#4791 := (+ #1920 #4761)
+#4792 := (+ #185 #4791)
+#4951 := (>= #4792 0::Int)
+#4794 := (= #4792 0::Int)
+#4766 := (* -1::Int #4761)
+#4767 := (+ f3 #4766)
+#4768 := (<= #4767 0::Int)
+#5036 := (not #4768)
+#4703 := (* -1::Int #1918)
+#4881 := (+ #4703 #4761)
+#4879 := (+ #185 #4881)
+#4882 := (>= #4879 0::Int)
+#4975 := (or #4768 #4882)
+#4979 := (not #4975)
+#4945 := (= #1919 #1918)
+#5470 := (not #4945)
+#5031 := (= #1918 #1919)
+#5429 := (not #5031)
+#5471 := (iff #5429 #5470)
+#5469 := (iff #5031 #4945)
+#5468 := [commutativity]: #5469
+#5472 := [monotonicity #5468]: #5471
+#5428 := [hypothesis]: #1923
+#5431 := (or #5429 #1922)
+#5467 := [th-lemma arith triangle-eq]: #5431
+#5466 := [unit-resolution #5467 #5428]: #5429
+#5474 := [mp #5466 #5472]: #5470
+#4981 := (or #4979 #4945)
+#5494 := [hypothesis]: #3838
+#4983 := (or #3843 #4979 #4945)
+#4769 := (+ #1146 #4766)
+#4770 := (+ #1918 #4769)
+#4798 := (<= #4770 0::Int)
+#4954 := (or #4768 #4798)
+#4955 := (not #4954)
+#4974 := (or #4955 #4945)
+#5002 := (or #3843 #4974)
+#5074 := (iff #5002 #4983)
+#5004 := (or #3843 #4981)
+#5066 := (iff #5004 #4983)
+#5067 := [rewrite]: #5066
+#5064 := (iff #5002 #5004)
+#4977 := (iff #4974 #4981)
+#4980 := (iff #4955 #4979)
+#4976 := (iff #4954 #4975)
+#4889 := (iff #4798 #4882)
+#4871 := (+ #1918 #4766)
+#4872 := (+ #1146 #4871)
+#4874 := (<= #4872 0::Int)
+#4883 := (iff #4874 #4882)
+#4884 := [rewrite]: #4883
+#4875 := (iff #4798 #4874)
+#4870 := (= #4770 #4872)
+#4873 := [rewrite]: #4870
+#4880 := [monotonicity #4873]: #4875
+#4890 := [trans #4880 #4884]: #4889
+#4978 := [monotonicity #4890]: #4976
+#4973 := [monotonicity #4978]: #4980
+#4982 := [monotonicity #4973]: #4977
+#5065 := [monotonicity #4982]: #5064
+#5075 := [trans #5065 #5067]: #5074
+#5003 := [quant-inst #1917]: #5002
+#5035 := [mp #5003 #5075]: #4983
+#5473 := [unit-resolution #5035 #5494]: #4981
+#5495 := [unit-resolution #5473 #5474]: #4979
+#5008 := (or #4975 #5036)
+#5009 := [def-axiom]: #5008
+#5496 := [unit-resolution #5009 #5495]: #5036
+#5005 := (not #4882)
+#5010 := (or #4975 #5005)
+#5011 := [def-axiom]: #5010
+#5497 := [unit-resolution #5011 #5495]: #5005
+#4796 := (or #4768 #4882 #4794)
+#5498 := [hypothesis]: #3830
+#4854 := (or #3835 #4768 #4882 #4794)
+#4799 := (+ #4761 #1920)
+#4864 := (+ #185 #4799)
+#4865 := (= #4864 0::Int)
+#4866 := (or #4768 #4798 #4865)
+#4852 := (or #3835 #4866)
+#4863 := (iff #4852 #4854)
+#4855 := (or #3835 #4796)
+#4857 := (iff #4855 #4854)
+#4862 := [rewrite]: #4857
+#4888 := (iff #4852 #4855)
+#4797 := (iff #4866 #4796)
+#4789 := (iff #4865 #4794)
+#4790 := (= #4864 #4792)
+#4793 := [rewrite]: #4790
+#4795 := [monotonicity #4793]: #4789
+#4891 := [monotonicity #4890 #4795]: #4797
+#4856 := [monotonicity #4891]: #4888
+#4861 := [trans #4856 #4862]: #4863
+#4853 := [quant-inst #1917]: #4852
+#4952 := [mp #4853 #4861]: #4854
+#5493 := [unit-resolution #4952 #5498]: #4796
+#5450 := [unit-resolution #5493 #5497 #5496]: #4794
+#5424 := (not #4794)
+#5366 := (or #5424 #4951)
+#5425 := [th-lemma arith triangle-eq]: #5366
+#5423 := [unit-resolution #5425 #5450]: #4951
+#5032 := (<= #1921 0::Int)
+#5426 := (or #5032 #1922)
+#5743 := [th-lemma arith farkas 1 1]: #5426
+#5746 := [unit-resolution #5743 #5428]: #5032
+#5747 := [th-lemma arith farkas 1 -1 1 #5746 #5497 #5423]: false
+#5749 := [lemma #5747]: #5748
+#7968 := [unit-resolution #5749 #7803 #7967]: #1922
 #3449 := (or #3965 #1923 #3959)
 #3342 := [def-axiom]: #3449
-#12444 := [unit-resolution #3342 #12440 #11686]: #3959
+#7969 := [unit-resolution #3342 #7968 #7966]: #3959
 #3470 := (or #3956 #3950)
 #3471 := [def-axiom]: #3470
-#16077 := [unit-resolution #3471 #12444]: #3950
+#10050 := [unit-resolution #3471 #7969]: #3950
 #3469 := (or #3953 #1943 #3947)
 #3465 := [def-axiom]: #3469
-#16078 := [unit-resolution #3465 #16077 #16076]: #3947
+#10051 := [unit-resolution #3465 #10050]: #3950
+#10052 := [unit-resolution #10051 #8397]: #3947
 #3497 := (or #3944 #3855)
 #3475 := [def-axiom]: #3497
-#16079 := [unit-resolution #3475 #16078]: #3855
+#10053 := [unit-resolution #3475 #10052]: #3855
+#10974 := (or #3860 #4541 #5087)
+#11004 := (or #3860 #5090)
+#10996 := (iff #11004 #10974)
+#11018 := [rewrite]: #10996
+#10999 := [quant-inst #2034]: #11004
+#11019 := [mp #10999 #11018]: #10974
+#19095 := [unit-resolution #11019 #10053]: #5090
+#19096 := [unit-resolution #19095 #19086]: #5087
+#11867 := (not #5087)
+#11974 := (or #11867 #12022)
+#12636 := [th-lemma arith triangle-eq]: #11974
+#19097 := [unit-resolution #12636 #19096]: #12022
+#13344 := (+ #5343 #13327)
+#13366 := (>= #13344 0::Int)
 #3466 := (or #3956 #3846)
 #3467 := [def-axiom]: #3466
-#12445 := [unit-resolution #3467 #12444]: #3846
-#3462 := (or #3968 #3820)
-#3463 := [def-axiom]: #3462
-#16073 := [unit-resolution #3463 #11571]: #3820
-#13737 := (or #2911 #3835 #2011 #3825 #715 #3851 #3860)
-#6483 := (f5 #195 ?v0!19)
-#6481 := (f4 #6483)
-#6484 := (* -1::Int #6481)
-#6485 := (+ f3 #6484)
-#6486 := (<= #6485 0::Int)
-#11078 := (not #6486)
-#13920 := [hypothesis]: #2012
-#11308 := (+ #2008 #6484)
-#11417 := (>= #11308 0::Int)
-#11979 := (= #2008 #6481)
-#13702 := (= #2007 #6483)
-#13700 := (= #2006 #195)
-#5405 := (= ?v1!18 f28)
-#5408 := (f11 f21 ?v1!18)
-#5409 := (= #5408 f1)
-#6623 := (not #5409)
-#6374 := (f19 f20 ?v0!19)
-#6445 := (* -1::Int #6374)
-#5362 := (f19 f20 ?v1!18)
-#6639 := (+ #5362 #6445)
-#6640 := (+ #2008 #6639)
-#6641 := (>= #6640 0::Int)
-#13671 := (not #6641)
-#6446 := (+ #2016 #6445)
-#6447 := (<= #6446 0::Int)
-#9800 := [hypothesis]: #3846
-#13118 := (or #3851 #6447)
-#6389 := (+ #6374 #2017)
-#6399 := (>= #6389 0::Int)
-#13113 := (or #3851 #6399)
-#13202 := (iff #13113 #13118)
-#13233 := (iff #13118 #13118)
-#13203 := [rewrite]: #13233
-#6468 := (iff #6399 #6447)
-#6440 := (+ #2017 #6374)
-#6443 := (>= #6440 0::Int)
-#6448 := (iff #6443 #6447)
-#6467 := [rewrite]: #6448
-#6438 := (iff #6399 #6443)
-#6441 := (= #6389 #6440)
-#6442 := [rewrite]: #6441
-#6444 := [monotonicity #6442]: #6438
-#6469 := [trans #6444 #6467]: #6468
-#13232 := [monotonicity #6469]: #13202
-#13234 := [trans #13232 #13203]: #13202
-#13204 := [quant-inst #2003]: #13113
-#13235 := [mp #13204 #13234]: #13118
-#13612 := [unit-resolution #13235 #9800]: #6447
-#3418 := (not #2020)
-#3433 := (or #2911 #3418)
-#3435 := [def-axiom]: #3433
-#13665 := [unit-resolution #3435 #13632]: #3418
-#5459 := (* -1::Int #5362)
-#5460 := (+ #2015 #5459)
-#10452 := (>= #5460 0::Int)
-#5380 := (= #2015 #5362)
-#3434 := (or #2911 #2005)
-#3529 := [def-axiom]: #3434
-#13666 := [unit-resolution #3529 #13632]: #2005
-#8627 := [hypothesis]: #3855
-#12607 := (or #3860 #2896 #5380)
-#5383 := (or #2896 #5380)
-#12544 := (or #3860 #5383)
-#12541 := (iff #12544 #12607)
-#12546 := [rewrite]: #12541
-#12545 := [quant-inst #2002]: #12544
-#12601 := [mp #12545 #12546]: #12607
-#13667 := [unit-resolution #12601 #8627 #13666]: #5380
-#13662 := (not #5380)
-#13668 := (or #13662 #10452)
-#13669 := [th-lemma arith triangle-eq]: #13668
-#13670 := [unit-resolution #13669 #13667]: #10452
-#13677 := (not #10452)
-#13672 := (not #6447)
-#13678 := (or #13671 #13672 #2020 #13677)
-#13681 := [th-lemma arith assign-bounds -1 -1 1]: #13678
-#13682 := [unit-resolution #13681 #13670 #13665 #13612]: #13671
-#13688 := (or #6623 #6641)
-#13159 := (or #3739 #6623 #2011 #6641)
-#6642 := (or #6623 #2011 #6641)
-#13288 := (or #3739 #6642)
-#13294 := (iff #13288 #13159)
-#13198 := [rewrite]: #13294
-#13289 := [quant-inst #2003 #2002]: #13288
-#13295 := [mp #13289 #13198]: #13159
-#13689 := [unit-resolution #13295 #7465 #13920]: #13688
-#13687 := [unit-resolution #13689 #13682]: #6623
-#5415 := (or #5405 #5409)
-#5397 := (f11 #193 ?v1!18)
-#5398 := (= #5397 f1)
-#5420 := (iff #5398 #5415)
-#12447 := (or #7582 #5420)
-#5410 := (if #5405 #4057 #5409)
-#5411 := (iff #5398 #5410)
-#12452 := (or #7582 #5411)
-#12581 := (iff #12452 #12447)
-#12632 := (iff #12447 #12447)
-#12611 := [rewrite]: #12632
-#5421 := (iff #5411 #5420)
-#5418 := (iff #5410 #5415)
-#5412 := (if #5405 true #5409)
-#5416 := (iff #5412 #5415)
-#5417 := [rewrite]: #5416
-#5413 := (iff #5410 #5412)
-#5414 := [monotonicity #4060]: #5413
-#5419 := [trans #5414 #5417]: #5418
-#5422 := [monotonicity #5419]: #5421
-#12631 := [monotonicity #5422]: #12581
-#12635 := [trans #12631 #12611]: #12581
-#12580 := [quant-inst #115 #181 #3 #2002]: #12452
-#12638 := [mp #12580 #12635]: #12447
-#13690 := [unit-resolution #12638 #3646]: #5420
-#13691 := (= #5397 #2004)
-#13692 := [monotonicity #8195]: #13691
-#13698 := [trans #13692 #13666]: #5398
-#12683 := (not #5398)
-#12670 := (not #5420)
-#12681 := (or #12670 #12683 #5415)
-#12704 := [def-axiom]: #12681
-#13699 := [unit-resolution #12704 #13698 #13690]: #5415
-#12666 := (not #5415)
-#12667 := (or #12666 #5405 #5409)
-#12660 := [def-axiom]: #12667
-#13697 := [unit-resolution #12660 #13699 #13687]: #5405
-#13701 := [monotonicity #13697]: #13700
-#13707 := [monotonicity #13701]: #13702
-#13708 := [monotonicity #13707]: #11979
-#13706 := (not #11979)
-#13709 := (or #13706 #11417)
-#13710 := [th-lemma arith triangle-eq]: #13709
-#13711 := [unit-resolution #13710 #13708]: #11417
-#13941 := (not #11417)
-#13942 := (or #11078 #13941 #2011)
-#13921 := [hypothesis]: #11417
-#13939 := [hypothesis]: #6486
-#13940 := [th-lemma arith farkas -1 1 1 #13939 #13921 #13920]: false
-#13943 := [lemma #13940]: #13942
-#13716 := [unit-resolution #13943 #13711 #13920]: #11078
-#6511 := (+ #6445 #6481)
-#6509 := (+ #185 #6511)
-#6512 := (>= #6509 0::Int)
-#13270 := (not #6512)
-#5484 := (+ #185 #5459)
-#5485 := (<= #5484 0::Int)
-#9764 := [hypothesis]: #3820
-#13305 := (or #3825 #5409 #5485)
-#5475 := (+ #5362 #1146)
-#5476 := (>= #5475 0::Int)
-#5477 := (or #5409 #5476)
-#13306 := (or #3825 #5477)
-#12884 := (iff #13306 #13305)
-#5490 := (or #5409 #5485)
-#13352 := (or #3825 #5490)
-#13421 := (iff #13352 #13305)
-#13422 := [rewrite]: #13421
-#13353 := (iff #13306 #13352)
-#5491 := (iff #5477 #5490)
-#5488 := (iff #5476 #5485)
-#5478 := (+ #1146 #5362)
-#5481 := (>= #5478 0::Int)
-#5486 := (iff #5481 #5485)
-#5487 := [rewrite]: #5486
-#5482 := (iff #5476 #5481)
-#5479 := (= #5475 #5478)
-#5480 := [rewrite]: #5479
-#5483 := [monotonicity #5480]: #5482
-#5489 := [trans #5483 #5487]: #5488
-#5492 := [monotonicity #5489]: #5491
-#13417 := [monotonicity #5492]: #13353
-#13411 := [trans #13417 #13422]: #12884
-#13351 := [quant-inst #2002]: #13306
-#13416 := [mp #13351 #13411]: #13305
-#13717 := [unit-resolution #13416 #9764 #13687]: #5485
-#13715 := (not #5485)
-#13718 := (or #13270 #13672 #2020 #13941 #13677 #13715)
-#13719 := [th-lemma arith assign-bounds -1 -1 1 1 -1]: #13718
-#13720 := [unit-resolution #13719 #13612 #13670 #13711 #13665 #13717]: #13270
-#6610 := (+ #2017 #6481)
-#6611 := (+ #185 #6610)
-#6614 := (= #6611 0::Int)
-#13728 := (not #6614)
-#13284 := (>= #6611 0::Int)
-#13725 := (not #13284)
-#13726 := (or #13725 #2020 #13941 #13677 #13715)
-#13724 := [th-lemma arith assign-bounds -1 1 1 -1]: #13726
-#13727 := [unit-resolution #13724 #13670 #13711 #13665 #13717]: #13725
-#13729 := (or #13728 #13284)
-#13734 := [th-lemma arith triangle-eq]: #13729
-#13735 := [unit-resolution #13734 #13727]: #13728
-#5073 := (or #6486 #6512 #6614)
-#13275 := (or #3835 #6486 #6512 #6614)
-#6607 := (+ #6481 #2017)
-#6608 := (+ #185 #6607)
-#6609 := (= #6608 0::Int)
-#6491 := (+ #1146 #6484)
-#6492 := (+ #6374 #6491)
-#6490 := (<= #6492 0::Int)
-#6604 := (or #6486 #6490 #6609)
-#13279 := (or #3835 #6604)
-#13240 := (iff #13279 #13275)
-#13231 := (or #3835 #5073)
-#13239 := (iff #13231 #13275)
-#13241 := [rewrite]: #13239
-#13175 := (iff #13279 #13231)
-#5263 := (iff #6604 #5073)
-#5033 := (iff #6609 #6614)
-#6612 := (= #6608 #6611)
-#6613 := [rewrite]: #6612
-#5034 := [monotonicity #6613]: #5033
-#6529 := (iff #6490 #6512)
-#6499 := (+ #6374 #6484)
-#6500 := (+ #1146 #6499)
-#6502 := (<= #6500 0::Int)
-#6513 := (iff #6502 #6512)
-#6514 := [rewrite]: #6513
-#6503 := (iff #6490 #6502)
-#6498 := (= #6492 #6500)
-#6501 := [rewrite]: #6498
-#6510 := [monotonicity #6501]: #6503
-#6530 := [trans #6510 #6514]: #6529
-#5264 := [monotonicity #6530 #5034]: #5263
-#13238 := [monotonicity #5264]: #13175
-#13247 := [trans #13238 #13241]: #13240
-#13195 := [quant-inst #2003]: #13279
-#13246 := [mp #13195 #13247]: #13275
-#13733 := [unit-resolution #13246 #7155]: #5073
-#13736 := [unit-resolution #13733 #13735 #13720 #13716]: false
-#13738 := [lemma #13736]: #13737
-#10281 := [unit-resolution #13738 #12531 #16073 #12662 #12445 #16079]: #10298
-#10260 := [unit-resolution #10281 #10274 #13632]: false
-#10279 := [lemma #10260]: #2911
-#9810 := (or #2865 #3835 #3843 #183 #3825 #715 #3851)
+#7970 := [unit-resolution #3467 #7969]: #3846
+#18080 := (or #3851 #13366)
+#18086 := [quant-inst #5342]: #18080
+#19087 := [unit-resolution #18086 #7970]: #13366
+#15969 := (not #12022)
+#19098 := (or #15968 #15969)
+#3538 := (not #1988)
+#5971 := [hypothesis]: #2870
+#3541 := (or #2865 #3538)
+#3425 := [def-axiom]: #3541
+#5972 := [unit-resolution #3425 #5971]: #3538
+#3536 := (or #2865 #1979)
+#3539 := [def-axiom]: #3536
+#5974 := [unit-resolution #3539 #5971]: #1979
+#3537 := (or #2865 #1981)
+#3540 := [def-axiom]: #3537
+#5973 := [unit-resolution #3540 #5971]: #1981
+#10629 := (or #2850 #1988 #1978)
 #5727 := (= ?v1!16 f28)
-#10217 := (= f28 ?v1!16)
+#9301 := (= f28 ?v1!16)
 #5888 := (f5 #195 ?v1!16)
 #5889 := (f4 #5888)
-#10218 := (<= #5889 0::Int)
-#4078 := (f30 f28)
-#4079 := (* -1::Int #4078)
-#4080 := (+ #185 #4079)
-#4081 := (>= #4080 0::Int)
-#6973 := (or #3851 #4081)
-#6974 := [quant-inst #181]: #6973
-#9804 := [unit-resolution #6974 #9800]: #4081
-#5837 := (+ #1984 #4079)
-#5838 := (>= #5837 0::Int)
-#9768 := (not #5838)
+#9302 := (<= #5889 0::Int)
+#9711 := [hypothesis]: #3538
 #5985 := (+ #1985 #4079)
-#10128 := (<= #5985 0::Int)
-#9482 := (= #1985 #4078)
-#5679 := (= ?v0!17 f28)
+#9236 := (<= #5985 0::Int)
 #5682 := (f11 f21 ?v0!17)
 #5683 := (= #5682 f1)
-#5689 := (or #5679 #5683)
+#5681 := (= ?v0!17 f28)
+#5689 := (or #5681 #5683)
 #5671 := (f11 #193 ?v0!17)
 #5672 := (= #5671 f1)
 #5694 := (iff #5672 #5689)
-#8841 := (or #7582 #5694)
-#5684 := (if #5679 #4057 #5683)
+#9981 := (or #7518 #5694)
+#5684 := (if #5681 #4057 #5683)
 #5685 := (iff #5672 #5684)
-#8901 := (or #7582 #5685)
-#8884 := (iff #8901 #8841)
-#8882 := (iff #8841 #8841)
-#8885 := [rewrite]: #8882
+#9982 := (or #7518 #5685)
+#9550 := (iff #9982 #9981)
+#9683 := (iff #9981 #9981)
+#9737 := [rewrite]: #9683
 #5695 := (iff #5685 #5694)
 #5692 := (iff #5684 #5689)
-#5686 := (if #5679 true #5683)
+#5686 := (if #5681 true #5683)
 #5690 := (iff #5686 #5689)
 #5691 := [rewrite]: #5690
 #5687 := (iff #5684 #5686)
 #5688 := [monotonicity #4060]: #5687
 #5693 := [trans #5688 #5691]: #5692
 #5696 := [monotonicity #5693]: #5695
-#8908 := [monotonicity #5696]: #8884
-#8886 := [trans #8908 #8885]: #8884
-#8883 := [quant-inst #115 #181 #3 #1976]: #8901
-#8888 := [mp #8883 #8886]: #8841
-#9802 := [unit-resolution #8888 #3646]: #5694
-#5971 := [hypothesis]: #2870
-#3537 := (or #2865 #1981)
-#3540 := [def-axiom]: #3537
-#5973 := [unit-resolution #3540 #5971]: #1981
-#9805 := (= #5671 #1980)
-#9803 := [monotonicity #8195]: #9805
-#9712 := [trans #9803 #5973]: #5672
-#8941 := (not #5672)
-#8928 := (not #5694)
-#8937 := (or #8928 #8941 #5689)
-#8942 := [def-axiom]: #8937
-#9678 := [unit-resolution #8942 #9712 #9802]: #5689
-#8913 := (not #5683)
+#9267 := [monotonicity #5696]: #9550
+#9960 := [trans #9267 #9737]: #9550
+#9682 := [quant-inst #115 #181 #3 #1976]: #9982
+#9972 := [mp #9682 #9960]: #9981
+#10602 := [unit-resolution #9972 #3646]: #5694
+#10603 := [hypothesis]: #1981
+#10604 := (= #5671 #1980)
+#10599 := [monotonicity #8146]: #10604
+#10571 := [trans #10599 #10603]: #5672
+#9787 := (not #5672)
+#9971 := (not #5694)
+#9963 := (or #9971 #9787 #5689)
+#9964 := [def-axiom]: #9963
+#10605 := [unit-resolution #9964 #10571 #10602]: #5689
+#8065 := (not #5689)
+#10754 := (or #9236 #8065)
+#9774 := (not #9236)
+#10735 := [hypothesis]: #9774
 #5652 := (f19 f20 ?v0!17)
 #5545 := (* -1::Int #5652)
+#5605 := (+ #1985 #5545)
+#5610 := (<= #5605 0::Int)
+#8385 := (or #3851 #5610)
+#5582 := (+ #5652 #1986)
+#5595 := (>= #5582 0::Int)
+#8384 := (or #3851 #5595)
+#7710 := (iff #8384 #8385)
+#7667 := (iff #8385 #8385)
+#8392 := [rewrite]: #7667
+#5612 := (iff #5595 #5610)
+#5596 := (+ #1986 #5652)
+#5600 := (>= #5596 0::Int)
+#5611 := (iff #5600 #5610)
+#5609 := [rewrite]: #5611
+#5603 := (iff #5595 #5600)
+#5601 := (= #5582 #5596)
+#5602 := [rewrite]: #5601
+#5604 := [monotonicity #5602]: #5603
+#5613 := [trans #5604 #5609]: #5612
+#7791 := [monotonicity #5613]: #7710
+#7912 := [trans #7791 #8392]: #7710
+#8393 := [quant-inst #1976]: #8384
+#8060 := [mp #8393 #7912]: #8385
+#9712 := [unit-resolution #8060 #7970]: #5610
 #5540 := (+ #185 #5545)
-#9961 := (>= #5540 0::Int)
-#10247 := (not #9961)
-#8830 := (not #5727)
+#9420 := (>= #5540 0::Int)
+#9400 := [hypothesis]: #5689
+#8193 := (not #5681)
+#9234 := (= #1985 #4078)
+#9689 := (not #9234)
+#9518 := (or #9689 #9236)
+#9690 := [th-lemma arith triangle-eq]: #9518
+#10715 := [unit-resolution #9690 #10735]: #9689
+#10725 := (or #8193 #9234)
+#9309 := [hypothesis]: #5681
+#10737 := [monotonicity #9309]: #9234
+#10736 := [hypothesis]: #9689
+#10724 := [unit-resolution #10736 #10737]: false
+#10726 := [lemma #10724]: #10725
+#10727 := [unit-resolution #10726 #10715]: #8193
+#8066 := (or #8065 #5681 #5683)
+#8067 := [def-axiom]: #8066
+#10723 := [unit-resolution #8067 #10727 #9400]: #5683
+#8196 := (not #5683)
+#9377 := (or #8196 #9420)
+#9723 := (not #9420)
+#9387 := [hypothesis]: #9723
+#9362 := [hypothesis]: #5683
+#9219 := (or #3731 #183 #8196 #9420)
+#9438 := (or #183 #8196 #9420)
+#9235 := (or #3731 #9438)
+#9246 := (iff #9235 #9219)
+#9220 := [rewrite]: #9246
+#9237 := [quant-inst #1976 #181]: #9235
+#8778 := [mp #9237 #9220]: #9219
+#9376 := [unit-resolution #8778 #8156 #8155 #9362 #9387]: false
+#9457 := [lemma #9376]: #9377
+#10721 := [unit-resolution #9457 #10723]: #9420
+#4080 := (+ #185 #4079)
+#4439 := (<= #4080 0::Int)
+#7295 := (= #185 #4078)
+#10741 := (iff #4131 #7295)
+#10728 := (iff #7295 #4131)
+#10729 := [commutativity]: #10728
+#10742 := [symm #10729]: #10741
+#10743 := [mp #7804 #10742]: #7295
+#10747 := (not #7295)
+#10748 := (or #10747 #4439)
+#10750 := [th-lemma arith triangle-eq]: #10748
+#10752 := [unit-resolution #10750 #10743]: #4439
+#10753 := [th-lemma arith farkas -1 1 -1 1 #10752 #10721 #9712 #10735]: false
+#10749 := [lemma #10753]: #10754
+#10606 := [unit-resolution #10749 #10605]: #9236
+#4081 := (>= #4080 0::Int)
+#7188 := (or #3851 #4081)
+#7230 := [quant-inst #181]: #7188
+#9459 := [unit-resolution #7230 #7970]: #4081
+#4492 := (* -1::Int #1984)
+#5947 := (+ #4492 #5889)
+#5948 := (+ #185 #5947)
+#7908 := (<= #5948 0::Int)
+#5951 := (= #5948 0::Int)
+#5855 := (f19 f20 ?v1!16)
+#5872 := (* -1::Int #5855)
+#5907 := (+ #5872 #5889)
+#5908 := (+ #185 #5907)
+#5909 := (>= #5908 0::Int)
+#5890 := (* -1::Int #5889)
+#5891 := (+ f3 #5890)
+#5892 := (<= #5891 0::Int)
+#5914 := (or #5892 #5909)
+#5917 := (not #5914)
+#5898 := (= #1984 #5855)
+#10613 := (not #5898)
+#5873 := (+ #1984 #5872)
+#8314 := (>= #5873 0::Int)
+#9718 := (not #8314)
+#4924 := (+ #185 #5872)
+#4925 := (<= #4924 0::Int)
 #5728 := (f11 f21 ?v1!16)
 #5729 := (= #5728 f1)
+#9937 := (not #5729)
 #5735 := (or #5727 #5729)
-#8846 := (not #5735)
+#9563 := (not #5735)
 #5725 := (f11 #193 ?v1!16)
 #5726 := (= #5725 f1)
 #5740 := (iff #5726 #5735)
-#8823 := (or #7582 #5740)
+#9884 := (or #7518 #5740)
 #5730 := (if #5727 #4057 #5729)
 #5731 := (iff #5726 #5730)
-#8824 := (or #7582 #5731)
-#8825 := (iff #8824 #8823)
-#8821 := (iff #8823 #8823)
-#8828 := [rewrite]: #8821
+#9851 := (or #7518 #5731)
+#9678 := (iff #9851 #9884)
+#9677 := (iff #9884 #9884)
+#9566 := [rewrite]: #9677
 #5741 := (iff #5731 #5740)
 #5738 := (iff #5730 #5735)
 #5732 := (if #5727 true #5729)
@@ -4690,50 +4671,43 @@
 #5734 := [monotonicity #4060]: #5733
 #5739 := [trans #5734 #5737]: #5738
 #5742 := [monotonicity #5739]: #5741
-#8826 := [monotonicity #5742]: #8825
-#8829 := [trans #8826 #8828]: #8825
-#8822 := [quant-inst #115 #181 #3 #1975]: #8824
-#8827 := [mp #8822 #8829]: #8823
-#9713 := [unit-resolution #8827 #3646]: #5740
-#8836 := (not #5726)
-#9741 := (iff #1979 #8836)
-#9711 := (iff #1978 #5726)
-#9703 := (iff #5726 #1978)
-#9690 := (= #5725 #1977)
-#9701 := [monotonicity #8195]: #9690
-#9679 := [monotonicity #9701]: #9703
-#9734 := [symm #9679]: #9711
-#9739 := [monotonicity #9734]: #9741
-#3536 := (or #2865 #1979)
-#3539 := [def-axiom]: #3536
-#5974 := [unit-resolution #3539 #5971]: #1979
-#9801 := [mp #5974 #9739]: #8836
-#8850 := (not #5740)
-#8835 := (or #8850 #5726 #8846)
-#8849 := [def-axiom]: #8835
-#9795 := [unit-resolution #8849 #9801 #9713]: #8846
-#8831 := (or #5735 #8830)
-#8842 := [def-axiom]: #8831
-#9796 := [unit-resolution #8842 #9795]: #8830
-#5855 := (f19 f20 ?v1!16)
-#5872 := (* -1::Int #5855)
-#4924 := (+ #185 #5872)
-#4925 := (<= #4924 0::Int)
-#8844 := (not #5729)
-#8845 := (or #5735 #8844)
-#8843 := [def-axiom]: #8845
-#9744 := [unit-resolution #8843 #9795]: #8844
+#9679 := [monotonicity #5742]: #9678
+#8478 := [trans #9679 #9566]: #9678
+#9932 := [quant-inst #115 #181 #3 #1975]: #9851
+#7394 := [mp #9932 #8478]: #9884
+#10476 := [unit-resolution #7394 #3646]: #5740
+#8333 := (not #5726)
+#10578 := (iff #1979 #8333)
+#10579 := (iff #1978 #5726)
+#10551 := (iff #5726 #1978)
+#10541 := (= #5725 #1977)
+#10544 := [monotonicity #8146]: #10541
+#10552 := [monotonicity #10544]: #10551
+#10580 := [symm #10552]: #10579
+#10581 := [monotonicity #10580]: #10578
+#10477 := [hypothesis]: #1979
+#10600 := [mp #10477 #10581]: #8333
+#8954 := (not #5740)
+#9175 := (or #8954 #5726 #9563)
+#7890 := [def-axiom]: #9175
+#10601 := [unit-resolution #7890 #10600 #10476]: #9563
+#8489 := (or #5735 #9937)
+#9914 := [def-axiom]: #8489
+#10607 := [unit-resolution #9914 #10601]: #9937
 #4948 := (or #5729 #4925)
-#9196 := (or #3825 #5729 #4925)
+#3462 := (or #3968 #3820)
+#3463 := [def-axiom]: #3462
+#9789 := [unit-resolution #3463 #7802]: #3820
+#9716 := (or #3825 #5729 #4925)
 #4892 := (+ #5855 #1146)
 #4893 := (>= #4892 0::Int)
 #4918 := (or #5729 #4893)
-#9197 := (or #3825 #4918)
-#9258 := (iff #9197 #9196)
-#9254 := (or #3825 #4948)
-#9257 := (iff #9254 #9196)
-#9252 := [rewrite]: #9257
-#9255 := (iff #9197 #9254)
+#9628 := (or #3825 #4918)
+#10139 := (iff #9628 #9716)
+#10115 := (or #3825 #4948)
+#10118 := (iff #10115 #9716)
+#10138 := [rewrite]: #10118
+#10117 := (iff #9628 #10115)
 #4949 := (iff #4918 #4948)
 #4946 := (iff #4893 #4925)
 #4919 := (+ #1146 #5855)
@@ -4746,117 +4720,37 @@
 #4923 := [monotonicity #4921]: #4917
 #4947 := [trans #4923 #4927]: #4946
 #4950 := [monotonicity #4947]: #4949
-#9256 := [monotonicity #4950]: #9255
-#9259 := [trans #9256 #9252]: #9258
-#9253 := [quant-inst #1975]: #9197
-#9260 := [mp #9253 #9259]: #9196
-#9738 := [unit-resolution #9260 #9764]: #4948
-#9702 := [unit-resolution #9738 #9744]: #4925
-#3538 := (not #1988)
-#3541 := (or #2865 #3538)
-#3425 := [def-axiom]: #3541
-#5972 := [unit-resolution #3425 #5971]: #3538
-#5605 := (+ #1985 #5545)
-#5610 := (<= #5605 0::Int)
-#9092 := (or #3851 #5610)
-#5582 := (+ #5652 #1986)
-#5595 := (>= #5582 0::Int)
-#9093 := (or #3851 #5595)
-#9104 := (iff #9093 #9092)
-#9106 := (iff #9092 #9092)
-#9107 := [rewrite]: #9106
-#5612 := (iff #5595 #5610)
-#5596 := (+ #1986 #5652)
-#5600 := (>= #5596 0::Int)
-#5611 := (iff #5600 #5610)
-#5609 := [rewrite]: #5611
-#5603 := (iff #5595 #5600)
-#5601 := (= #5582 #5596)
-#5602 := [rewrite]: #5601
-#5604 := [monotonicity #5602]: #5603
-#5613 := [trans #5604 #5609]: #5612
-#9105 := [monotonicity #5613]: #9104
-#9109 := [trans #9105 #9107]: #9104
-#9095 := [quant-inst #1976]: #9093
-#9110 := [mp #9095 #9109]: #9092
-#9766 := [unit-resolution #9110 #9800]: #5610
-#10140 := (not #4925)
-#10238 := (not #5610)
-#9927 := (or #10247 #3835 #3843 #10238 #1988 #10140 #5727)
-#4492 := (* -1::Int #1984)
-#5947 := (+ #4492 #5889)
-#5948 := (+ #185 #5947)
-#5951 := (= #5948 0::Int)
-#10144 := (not #5951)
-#9091 := (<= #5948 0::Int)
-#10246 := (not #9091)
-#10223 := [hypothesis]: #8830
-#10244 := [hypothesis]: #5610
-#10243 := [hypothesis]: #3538
-#10222 := [hypothesis]: #9961
-#10237 := (or #10246 #10238 #1988 #10247 #5727)
-#10201 := (not #10218)
-#10234 := (not #10217)
-#10235 := (iff #8830 #10234)
-#10232 := (iff #5727 #10217)
-#10231 := (iff #10217 #5727)
-#10226 := [commutativity]: #10231
-#10233 := [symm #10226]: #10232
-#10236 := [monotonicity #10233]: #10235
-#10239 := [mp #10223 #10236]: #10234
-#10221 := (or #10217 #10201)
-#10224 := (or #7204 #10217 #10201)
-#10225 := (or #7204 #10221)
-#10228 := (iff #10225 #10224)
-#10229 := [rewrite]: #10228
-#10227 := [quant-inst #181 #1975]: #10225
-#10230 := [mp #10227 #10229]: #10224
-#10240 := [unit-resolution #10230 #3612]: #10221
-#10242 := [unit-resolution #10240 #10239]: #10201
-#10241 := [hypothesis]: #9091
-#10245 := [th-lemma arith farkas 1 1 1 1 1 #10244 #10241 #10243 #10242 #10222]: false
-#10248 := [lemma #10245]: #10237
-#10145 := [unit-resolution #10248 #10222 #10243 #10244 #10223]: #10246
-#10146 := (or #10144 #9091)
-#9628 := [th-lemma arith triangle-eq]: #10146
-#9629 := [unit-resolution #9628 #10145]: #10144
-#5890 := (* -1::Int #5889)
-#5891 := (+ f3 #5890)
-#5892 := (<= #5891 0::Int)
-#9034 := (not #5892)
-#5907 := (+ #5872 #5889)
-#5908 := (+ #185 #5907)
-#5909 := (>= #5908 0::Int)
-#5914 := (or #5892 #5909)
-#5917 := (not #5914)
-#5898 := (= #1984 #5855)
-#9631 := (not #5898)
-#5873 := (+ #1984 #5872)
-#9060 := (>= #5873 0::Int)
-#10125 := (not #9060)
-#10124 := [hypothesis]: #4925
-#10137 := (or #10125 #10247 #10238 #1988 #10140)
-#10123 := [hypothesis]: #9060
-#10122 := [th-lemma arith farkas 1 -1 -1 -1 1 #10222 #10244 #10243 #10124 #10123]: false
-#10139 := [lemma #10122]: #10137
-#9630 := [unit-resolution #10139 #10222 #10244 #10243 #10124]: #10125
-#9632 := (or #9631 #9060)
-#9622 := [th-lemma arith triangle-eq]: #9632
-#9651 := [unit-resolution #9622 #9630]: #9631
+#10112 := [monotonicity #4950]: #10117
+#10140 := [trans #10112 #10138]: #10139
+#10116 := [quant-inst #1975]: #9628
+#10141 := [mp #10116 #10140]: #9716
+#10608 := [unit-resolution #10141 #9789]: #4948
+#10609 := [unit-resolution #10608 #10607]: #4925
+#11010 := (not #4925)
+#11011 := (or #9774 #9718 #1988 #11010)
+#11006 := [hypothesis]: #4925
+#9759 := [hypothesis]: #9236
+#9707 := [hypothesis]: #8314
+#11009 := [th-lemma arith farkas -1 1 1 -1 1 #9707 #9759 #9711 #9459 #11006]: false
+#11012 := [lemma #11009]: #11011
+#10612 := [unit-resolution #11012 #10606 #9711 #10609]: #9718
+#10614 := (or #10613 #8314)
+#10615 := [th-lemma arith triangle-eq]: #10614
+#10610 := [unit-resolution #10615 #10612]: #10613
 #5920 := (or #5917 #5898)
-#8986 := (or #3843 #5917 #5898)
+#10033 := (or #3843 #5917 #5898)
 #5893 := (+ #1146 #5890)
 #5894 := (+ #5855 #5893)
 #5895 := (<= #5894 0::Int)
 #5896 := (or #5892 #5895)
 #5897 := (not #5896)
 #5899 := (or #5897 #5898)
-#8987 := (or #3843 #5899)
-#9031 := (iff #8987 #8986)
-#8999 := (or #3843 #5920)
-#9029 := (iff #8999 #8986)
-#9030 := [rewrite]: #9029
-#8989 := (iff #8987 #8999)
+#10016 := (or #3843 #5899)
+#9991 := (iff #10016 #10033)
+#10017 := (or #3843 #5920)
+#10008 := (iff #10017 #10033)
+#10004 := [rewrite]: #10008
+#9989 := (iff #10016 #10017)
 #5921 := (iff #5899 #5920)
 #5918 := (iff #5897 #5917)
 #5915 := (iff #5896 #5914)
@@ -4874,196 +4768,93 @@
 #5916 := [monotonicity #5913]: #5915
 #5919 := [monotonicity #5916]: #5918
 #5922 := [monotonicity #5919]: #5921
-#9028 := [monotonicity #5922]: #8989
-#9027 := [trans #9028 #9030]: #9031
-#8988 := [quant-inst #1975]: #8987
-#9033 := [mp #8988 #9027]: #8986
-#9652 := [unit-resolution #9033 #7150]: #5920
-#9688 := [unit-resolution #9652 #9651]: #5917
-#9035 := (or #5914 #9034)
-#9036 := [def-axiom]: #9035
-#9689 := [unit-resolution #9036 #9688]: #9034
-#9032 := (not #5909)
-#9037 := (or #5914 #9032)
-#9057 := [def-axiom]: #9037
-#9696 := [unit-resolution #9057 #9688]: #9032
+#10005 := [monotonicity #5922]: #9989
+#10002 := [trans #10005 #10004]: #9991
+#9962 := [quant-inst #1975]: #10016
+#10010 := [mp #9962 #10002]: #10033
+#10611 := [unit-resolution #10010 #7803]: #5920
+#10616 := [unit-resolution #10611 #10610]: #5917
+#9749 := (or #5914 #5951)
+#9732 := (not #5951)
+#9742 := [hypothesis]: #9732
+#8264 := (not #5892)
+#9745 := [hypothesis]: #5917
+#8000 := (or #5914 #8264)
+#8092 := [def-axiom]: #8000
+#9727 := [unit-resolution #8092 #9745]: #8264
+#8284 := (not #5909)
+#8311 := (or #5914 #8284)
+#8280 := [def-axiom]: #8311
+#9746 := [unit-resolution #8280 #9745]: #8284
 #5954 := (or #5892 #5909 #5951)
-#9056 := (or #3835 #5892 #5909 #5951)
+#8310 := (or #3835 #5892 #5909 #5951)
 #5943 := (+ #5889 #4492)
 #5944 := (+ #185 #5943)
 #5945 := (= #5944 0::Int)
 #5946 := (or #5892 #5895 #5945)
-#9062 := (or #3835 #5946)
-#9087 := (iff #9062 #9056)
-#9064 := (or #3835 #5954)
-#9066 := (iff #9064 #9056)
-#9086 := [rewrite]: #9066
-#9065 := (iff #9062 #9064)
+#8334 := (or #3835 #5946)
+#8377 := (iff #8334 #8310)
+#8335 := (or #3835 #5954)
+#8378 := (iff #8335 #8310)
+#8379 := [rewrite]: #8378
+#8336 := (iff #8334 #8335)
 #5955 := (iff #5946 #5954)
 #5952 := (iff #5945 #5951)
 #5949 := (= #5944 #5948)
 #5950 := [rewrite]: #5949
 #5953 := [monotonicity #5950]: #5952
 #5956 := [monotonicity #5913 #5953]: #5955
-#9061 := [monotonicity #5956]: #9065
-#9088 := [trans #9061 #9086]: #9087
-#9063 := [quant-inst #1975]: #9062
-#9089 := [mp #9063 #9088]: #9056
-#9928 := [unit-resolution #9089 #7155]: #5954
-#10012 := [unit-resolution #9928 #9696 #9689 #9629]: false
-#10013 := [lemma #10012]: #9927
-#9704 := [unit-resolution #10013 #9766 #7150 #7155 #5972 #9702 #9796]: #10247
-#9715 := (or #8913 #183 #9961)
-#9692 := [hypothesis]: #10247
-#9693 := [hypothesis]: #5683
-#9660 := (or #3731 #183 #8913 #9961)
-#9962 := (or #183 #8913 #9961)
-#9687 := (or #3731 #9962)
-#9680 := (iff #9687 #9660)
-#9681 := [rewrite]: #9680
-#9691 := [quant-inst #1976 #181]: #9687
-#9682 := [mp #9691 #9681]: #9660
-#9714 := [unit-resolution #9682 #8136 #8135 #9693 #9692]: false
-#9677 := [lemma #9714]: #9715
-#9767 := [unit-resolution #9677 #9704 #8135]: #8913
-#8926 := (not #5689)
-#8925 := (or #8926 #5679 #5683)
-#8927 := [def-axiom]: #8925
-#9737 := [unit-resolution #8927 #9767 #9678]: #5679
-#8889 := (not #5679)
-#10182 := (or #8889 #9482)
-#9517 := [hypothesis]: #5679
-#10179 := [monotonicity #9517]: #9482
-#10138 := (not #9482)
-#9568 := [hypothesis]: #10138
-#10180 := [unit-resolution #9568 #10179]: false
-#10183 := [lemma #10180]: #10182
-#9765 := [unit-resolution #10183 #9737]: #9482
-#10160 := (or #10138 #10128)
-#10174 := [th-lemma arith triangle-eq]: #10160
-#9743 := [unit-resolution #10174 #9765]: #10128
-#10187 := (not #10128)
-#9773 := (or #9768 #10187 #1988)
-#9842 := [th-lemma arith assign-bounds -1 -1]: #9773
-#9826 := [unit-resolution #9842 #5972 #9743]: #9768
-#10190 := (not #4081)
-#9659 := (or #10125 #10187 #10190 #1988 #10140)
-#10188 := [hypothesis]: #4081
-#10185 := [hypothesis]: #10128
-#9658 := [th-lemma arith farkas -1 1 -1 1 1 #10123 #10185 #10188 #10243 #10124]: false
-#9653 := [lemma #9658]: #9659
-#9769 := [unit-resolution #9653 #9743 #9804 #5972 #9702]: #10125
-#9841 := [unit-resolution #9622 #9769]: #9631
-#9827 := [unit-resolution #9652 #9841]: #5917
-#9656 := (or #5914 #5951 #3835)
-#9538 := [hypothesis]: #10144
-#9541 := [hypothesis]: #5917
-#9536 := [unit-resolution #9036 #9541]: #9034
-#9599 := [unit-resolution #9057 #9541]: #9032
-#9654 := [unit-resolution #9928 #9599 #9536 #9538]: false
-#9655 := [lemma #9654]: #9656
-#9828 := [unit-resolution #9655 #9827 #7155]: #5951
-#9772 := [unit-resolution #9628 #9828]: #9091
-#9859 := (or #5838 #10190 #10246 #10218)
-#9814 := [th-lemma arith assign-bounds 1 1 1]: #9859
-#9837 := [unit-resolution #9814 #9772 #9826 #9804]: #10218
-#9763 := [unit-resolution #10230 #3612 #9837]: #10217
-#9815 := [symm #9763]: #5727
-#9836 := [unit-resolution #9796 #9815]: false
-#9843 := [lemma #9836]: #9810
-#16075 := [unit-resolution #9843 #12445 #11843 #16074 #16073 #12662 #12531]: #2865
-#3458 := (or #3968 #1323)
-#3461 := [def-axiom]: #3458
-#12443 := [unit-resolution #3461 #11571]: #1323
-#8787 := (or #1962 #715 #3835 #3843 #3860 #1322)
-#8481 := (= f16 ?v0!15)
-#8495 := (not #8481)
-#8546 := (= ?v0!15 f16)
-#8430 := (not #8546)
-#8736 := (iff #8430 #8495)
-#8713 := (iff #8546 #8481)
-#8711 := (iff #8481 #8546)
-#8712 := [commutativity]: #8711
-#8714 := [symm #8712]: #8713
-#8737 := [monotonicity #8714]: #8736
-#8515 := (f11 f21 ?v0!15)
-#8516 := (= #8515 f1)
-#8392 := (or #8546 #8516)
-#8445 := (not #8392)
-#6822 := (f13 #191 f16)
-#6823 := (f12 #6822 f1)
-#8288 := (f11 #6823 ?v0!15)
-#8269 := (= #8288 f1)
-#8396 := (iff #8269 #8392)
-#8419 := (or #7582 #8396)
-#8346 := (if #8546 #4057 #8516)
-#8341 := (iff #8269 #8346)
-#8420 := (or #7582 #8341)
-#8421 := (iff #8420 #8419)
-#8418 := (iff #8419 #8419)
-#8423 := [rewrite]: #8418
-#8416 := (iff #8341 #8396)
-#8394 := (iff #8346 #8392)
-#8362 := (if #8546 true #8516)
-#8393 := (iff #8362 #8392)
-#8361 := [rewrite]: #8393
-#8391 := (iff #8346 #8362)
-#8386 := [monotonicity #4060]: #8391
-#8395 := [trans #8386 #8361]: #8394
-#8417 := [monotonicity #8395]: #8416
-#8422 := [monotonicity #8417]: #8421
-#8424 := [trans #8422 #8423]: #8421
-#8415 := [quant-inst #115 #65 #3 #1960]: #8420
-#8425 := [mp #8415 #8424]: #8419
-#8638 := [unit-resolution #8425 #3646]: #8396
-#8242 := (not #8269)
-#4485 := (f11 f29 ?v0!15)
-#4486 := (= #4485 f1)
-#4487 := (not #4486)
-#8707 := (iff #4487 #8242)
-#8705 := (iff #4486 #8269)
-#8670 := (iff #8269 #4486)
-#8666 := (= #8288 #4485)
-#8667 := (= #6823 f29)
-#8681 := (= #6823 #193)
-#8679 := (= #6822 #192)
-#7229 := (= f16 f28)
-#4163 := (= f28 f16)
-#4164 := (?v1!7 f28)
-#4172 := (f6 f7 #4164)
-#4173 := (f5 #4172 f28)
-#4174 := (f4 #4173)
-#4175 := (* -1::Int #4174)
-#4165 := (f19 f20 #4164)
-#4166 := (* -1::Int #4165)
-#4176 := (+ #4166 #4175)
-#4177 := (+ #185 #4176)
-#4178 := (= #4177 0::Int)
-#4179 := (not #4178)
-#4169 := (f11 f21 #4164)
-#4170 := (= #4169 f1)
-#4171 := (not #4170)
-#4167 := (+ #185 #4166)
-#4168 := (<= #4167 0::Int)
-#4180 := (or #4168 #4171 #4179)
-#7890 := (>= #4167 0::Int)
-#9101 := (not #7890)
-#6618 := [hypothesis]: #1963
-#8892 := (or #1962 #3843 #3835 #9101)
-#6496 := (f19 f20 ?v0!15)
-#8568 := (>= #6496 0::Int)
+#8337 := [monotonicity #5956]: #8336
+#8371 := [trans #8337 #8379]: #8377
+#8279 := [quant-inst #1975]: #8334
+#8381 := [mp #8279 #8371]: #8310
+#9747 := [unit-resolution #8381 #7967]: #5954
+#9748 := [unit-resolution #9747 #9746 #9727 #9742]: false
+#9750 := [lemma #9748]: #9749
+#10617 := [unit-resolution #9750 #10616]: #5951
+#10618 := (or #9732 #7908)
+#10619 := [th-lemma arith triangle-eq]: #10618
+#10620 := [unit-resolution #10619 #10617]: #7908
+#10624 := (not #4081)
+#10623 := (not #7908)
+#10625 := (or #9302 #10623 #1988 #9774 #10624)
+#10626 := [th-lemma arith assign-bounds 1 1 1 1]: #10625
+#10621 := [unit-resolution #10626 #10620 #9459 #10606 #9711]: #9302
+#9349 := (not #9302)
+#10411 := (or #7600 #9301 #9349)
+#9385 := (or #9301 #9349)
+#10539 := (or #7600 #9385)
+#10540 := (iff #10539 #10411)
+#10542 := [rewrite]: #10540
+#10381 := [quant-inst #181 #1975]: #10539
+#10543 := [mp #10381 #10542]: #10411
+#10622 := [unit-resolution #10543 #3612 #10621]: #9301
+#10627 := [symm #10622]: #5727
+#7819 := (not #5727)
+#9916 := (or #5735 #7819)
+#9935 := [def-axiom]: #9916
+#10577 := [unit-resolution #9935 #10601]: #7819
+#10628 := [unit-resolution #10577 #10627]: false
+#10630 := [lemma #10628]: #10629
+#9889 := [unit-resolution #10630 #5973 #5974 #5972]: false
+#9891 := [lemma #9889]: #2865
+#8784 := (or #1962 #3860)
+#4183 := (>= #185 0::Int)
 #3442 := (or #3980 #3717)
 #3422 := [def-axiom]: #3442
-#7284 := [unit-resolution #3422 #7283]: #3717
-#8851 := (or #3722 #8568)
-#8852 := [quant-inst #1960]: #8851
-#8854 := [unit-resolution #8852 #7284]: #8568
-#6521 := (* -1::Int #6496)
-#6522 := (+ #1961 #6521)
-#8853 := (>= #6522 0::Int)
-#6497 := (= #1961 #6496)
+#7614 := [unit-resolution #3422 #7155]: #3717
+#7345 := (or #3722 #4183)
+#7351 := [quant-inst #181]: #7345
+#7620 := [unit-resolution #7351 #7614]: #4183
 #6537 := (f5 #195 ?v0!15)
 #6538 := (f4 #6537)
+#4488 := (* -1::Int #1961)
+#6594 := (+ #4488 #6538)
+#6595 := (+ #185 #6594)
+#8465 := (<= #6595 0::Int)
+#6598 := (= #6595 0::Int)
+#6496 := (f19 f20 ?v0!15)
+#6521 := (* -1::Int #6496)
 #6555 := (+ #6521 #6538)
 #6556 := (+ #185 #6555)
 #6557 := (>= #6556 0::Int)
@@ -5071,91 +4862,46 @@
 #6540 := (+ f3 #6539)
 #6541 := (<= #6540 0::Int)
 #6562 := (or #6541 #6557)
-#4488 := (* -1::Int #1961)
-#6594 := (+ #4488 #6538)
-#6595 := (+ #185 #6594)
-#6598 := (= #6595 0::Int)
-#8864 := (not #6598)
-#8820 := (<= #6595 0::Int)
-#9100 := (not #8820)
-#9097 := [hypothesis]: #7890
-#8984 := (or #9100 #1962 #9101)
-#8957 := (>= #6538 0::Int)
-#8947 := (= #6538 0::Int)
-#8943 := (= f28 ?v0!15)
-#8958 := (<= #6538 0::Int)
-#9098 := [hypothesis]: #8820
-#9102 := (or #8958 #1962 #9100 #9101)
-#8949 := (not #8958)
-#9096 := [hypothesis]: #8949
-#8015 := (>= #4165 0::Int)
-#8035 := (or #3722 #8015)
-#8036 := [quant-inst #4164]: #8035
-#8125 := [unit-resolution #8036 #7284]: #8015
-#9099 := [th-lemma arith farkas 1 1 1 1 1 #6618 #9098 #8125 #9097 #9096]: false
-#9103 := [lemma #9099]: #9102
-#9002 := [unit-resolution #9103 #9098 #6618 #9097]: #8958
-#8950 := (or #8943 #8949)
-#8961 := (or #7204 #8943 #8949)
-#8962 := (or #7204 #8950)
-#8964 := (iff #8962 #8961)
-#8965 := [rewrite]: #8964
-#8963 := [quant-inst #181 #1960]: #8962
-#8966 := [mp #8963 #8965]: #8961
-#9003 := [unit-resolution #8966 #3612]: #8950
-#9004 := [unit-resolution #9003 #9002]: #8943
-#8944 := (not #8943)
-#8948 := (or #8944 #8947)
-#8951 := (or #7193 #8944 #8947)
-#8952 := (or #7193 #8948)
-#8954 := (iff #8952 #8951)
-#8955 := [rewrite]: #8954
-#8953 := [quant-inst #181 #1960]: #8952
-#8956 := [mp #8953 #8955]: #8951
-#9005 := [unit-resolution #8956 #3606]: #8948
-#9006 := [unit-resolution #9005 #9004]: #8947
-#9007 := (not #8947)
-#9008 := (or #9007 #8957)
-#8982 := [th-lemma arith triangle-eq]: #9008
-#8983 := [unit-resolution #8982 #9006]: #8957
-#8981 := [th-lemma arith farkas 1 1 1 1 1 #6618 #9098 #8125 #9097 #8983]: false
-#8985 := [lemma #8981]: #8984
-#8855 := [unit-resolution #8985 #6618 #9097]: #9100
-#8856 := (or #8864 #8820)
-#8832 := [th-lemma arith triangle-eq]: #8856
-#8833 := [unit-resolution #8832 #8855]: #8864
-#8898 := (or #6562 #6598 #3835)
-#8865 := [hypothesis]: #8864
-#8800 := (not #6541)
 #6565 := (not #6562)
-#8893 := [hypothesis]: #6565
-#8801 := (or #6562 #8800)
-#8802 := [def-axiom]: #8801
-#8894 := [unit-resolution #8802 #8893]: #8800
-#8803 := (not #6557)
-#8804 := (or #6562 #8803)
-#8805 := [def-axiom]: #8804
-#8895 := [unit-resolution #8805 #8893]: #8803
-#6601 := (or #6541 #6557 #6598)
-#8808 := (or #3835 #6541 #6557 #6598)
-#6590 := (+ #6538 #4488)
-#6591 := (+ #185 #6590)
-#6592 := (= #6591 0::Int)
+#6497 := (= #1961 #6496)
+#9674 := (not #6497)
+#6522 := (+ #1961 #6521)
+#9653 := (>= #6522 0::Int)
+#9661 := (not #9653)
+#6618 := [hypothesis]: #1963
+#9453 := (or #9661 #1962)
+#8190 := (>= #6496 0::Int)
+#8498 := (or #3722 #8190)
+#8474 := [quant-inst #1960]: #8498
+#9421 := [unit-resolution #8474 #7614]: #8190
+#9654 := [hypothesis]: #9653
+#9452 := [th-lemma arith farkas -1 1 1 #6618 #9654 #9421]: false
+#9454 := [lemma #9452]: #9453
+#8733 := [unit-resolution #9454 #6618]: #9661
+#9675 := (or #9674 #9653)
+#8499 := [hypothesis]: #9661
+#8502 := [hypothesis]: #6497
+#9676 := [th-lemma arith triangle-eq]: #9675
+#8503 := [unit-resolution #9676 #8502 #8499]: false
+#8506 := [lemma #8503]: #9675
+#8735 := [unit-resolution #8506 #8733]: #9674
+#6568 := (or #6565 #6497)
+#8443 := (or #3843 #6565 #6497)
 #6542 := (+ #1146 #6539)
 #6543 := (+ #6496 #6542)
 #6544 := (<= #6543 0::Int)
-#6593 := (or #6541 #6544 #6592)
-#8809 := (or #3835 #6593)
-#8816 := (iff #8809 #8808)
-#8811 := (or #3835 #6601)
-#8814 := (iff #8811 #8808)
-#8815 := [rewrite]: #8814
-#8812 := (iff #8809 #8811)
-#6602 := (iff #6593 #6601)
-#6599 := (iff #6592 #6598)
-#6596 := (= #6591 #6595)
-#6597 := [rewrite]: #6596
-#6600 := [monotonicity #6597]: #6599
+#6545 := (or #6541 #6544)
+#6546 := (not #6545)
+#6547 := (or #6546 #6497)
+#8444 := (or #3843 #6547)
+#8433 := (iff #8444 #8443)
+#8446 := (or #3843 #6568)
+#8449 := (iff #8446 #8443)
+#8432 := [rewrite]: #8449
+#8447 := (iff #8444 #8446)
+#6569 := (iff #6547 #6568)
+#6566 := (iff #6546 #6565)
+#6563 := (iff #6545 #6562)
 #6560 := (iff #6544 #6557)
 #6548 := (+ #6496 #6539)
 #6549 := (+ #1146 #6548)
@@ -5167,599 +4913,752 @@
 #6551 := [rewrite]: #6550
 #6554 := [monotonicity #6551]: #6553
 #6561 := [trans #6554 #6559]: #6560
-#6603 := [monotonicity #6561 #6600]: #6602
-#8813 := [monotonicity #6603]: #8812
-#8817 := [trans #8813 #8815]: #8816
-#8810 := [quant-inst #1960]: #8809
-#8818 := [mp #8810 #8817]: #8808
-#8896 := [unit-resolution #8818 #7155]: #6601
-#8897 := [unit-resolution #8896 #8895 #8894 #8865]: false
-#8899 := [lemma #8897]: #8898
-#8857 := [unit-resolution #8899 #8833 #7155]: #6562
-#6568 := (or #6565 #6497)
-#8789 := (or #3843 #6565 #6497)
-#6545 := (or #6541 #6544)
-#6546 := (not #6545)
-#6547 := (or #6546 #6497)
-#8790 := (or #3843 #6547)
-#8797 := (iff #8790 #8789)
-#8792 := (or #3843 #6568)
-#8795 := (iff #8792 #8789)
-#8796 := [rewrite]: #8795
-#8793 := (iff #8790 #8792)
-#6569 := (iff #6547 #6568)
-#6566 := (iff #6546 #6565)
-#6563 := (iff #6545 #6562)
 #6564 := [monotonicity #6561]: #6563
 #6567 := [monotonicity #6564]: #6566
 #6570 := [monotonicity #6567]: #6569
-#8794 := [monotonicity #6570]: #8793
-#8798 := [trans #8794 #8796]: #8797
-#8791 := [quant-inst #1960]: #8790
-#8799 := [mp #8791 #8798]: #8789
-#8858 := [unit-resolution #8799 #7150]: #6568
-#8859 := [unit-resolution #8858 #8857]: #6497
-#8860 := (not #6497)
-#8861 := (or #8860 #8853)
-#8866 := [th-lemma arith triangle-eq]: #8861
-#8867 := [unit-resolution #8866 #8859]: #8853
-#8891 := [th-lemma arith farkas -1 1 1 #6618 #8867 #8854]: false
-#8900 := [lemma #8891]: #8892
-#8629 := [unit-resolution #8900 #6618 #7155 #7150]: #9101
-#8630 := (or #7890 #4168)
-#8631 := [th-lemma arith farkas 1 1]: #8630
-#8632 := [unit-resolution #8631 #8629]: #4168
-#7337 := (not #4168)
-#7338 := (or #4180 #7337)
-#7333 := [def-axiom]: #7338
-#8633 := [unit-resolution #7333 #8632]: #4180
-#4181 := (not #4180)
-#8675 := (or #4163 #4181)
-#8674 := [hypothesis]: #1323
-#7245 := (or #3747 #4163 #1322 #4181)
-#4182 := (or #4163 #1322 #4181)
-#7243 := (or #3747 #4182)
-#7302 := (iff #7243 #7245)
-#7303 := [rewrite]: #7302
-#7246 := [quant-inst #181]: #7243
-#7334 := [mp #7246 #7303]: #7245
-#8676 := [unit-resolution #7334 #6675 #8674]: #8675
-#8677 := [unit-resolution #8676 #8633]: #4163
-#8678 := [symm #8677]: #7229
-#8680 := [monotonicity #8678]: #8679
-#8682 := [monotonicity #8680]: #8681
-#8668 := [trans #8682 #8195]: #8667
-#8669 := [monotonicity #8668]: #8666
-#8671 := [monotonicity #8669]: #8670
-#8706 := [symm #8671]: #8705
-#8708 := [monotonicity #8706]: #8707
-#8639 := (not #8853)
-#8640 := (not #8568)
-#8641 := (or #8639 #1962 #8640)
-#8514 := [th-lemma arith assign-bounds -1 1]: #8641
-#8576 := [unit-resolution #8514 #6618 #8854]: #8639
-#8577 := [unit-resolution #8866 #8576]: #8860
+#8448 := [monotonicity #6570]: #8447
+#8434 := [trans #8448 #8432]: #8433
+#8445 := [quant-inst #1960]: #8444
+#8435 := [mp #8445 #8434]: #8443
+#9672 := [unit-resolution #8435 #7803]: #6568
+#8736 := [unit-resolution #9672 #8735]: #6565
+#9651 := (or #6562 #6598)
+#9644 := (not #6598)
+#9645 := [hypothesis]: #9644
+#8436 := (not #6541)
+#9646 := [hypothesis]: #6565
+#8431 := (or #6562 #8436)
+#8437 := [def-axiom]: #8431
+#9647 := [unit-resolution #8437 #9646]: #8436
+#8438 := (not #6557)
+#8439 := (or #6562 #8438)
+#8440 := [def-axiom]: #8439
+#9648 := [unit-resolution #8440 #9646]: #8438
+#6601 := (or #6541 #6557 #6598)
+#8452 := (or #3835 #6541 #6557 #6598)
+#6590 := (+ #6538 #4488)
+#6591 := (+ #185 #6590)
+#6592 := (= #6591 0::Int)
+#6593 := (or #6541 #6544 #6592)
+#8453 := (or #3835 #6593)
+#8459 := (iff #8453 #8452)
+#8455 := (or #3835 #6601)
+#8457 := (iff #8455 #8452)
+#8458 := [rewrite]: #8457
+#8450 := (iff #8453 #8455)
+#6602 := (iff #6593 #6601)
+#6599 := (iff #6592 #6598)
+#6596 := (= #6591 #6595)
+#6597 := [rewrite]: #6596
+#6600 := [monotonicity #6597]: #6599
+#6603 := [monotonicity #6561 #6600]: #6602
+#8456 := [monotonicity #6603]: #8450
+#8460 := [trans #8456 #8458]: #8459
+#8454 := [quant-inst #1960]: #8453
+#8464 := [mp #8454 #8460]: #8452
+#9649 := [unit-resolution #8464 #7967]: #6601
+#9650 := [unit-resolution #9649 #9648 #9647 #9645]: false
+#9652 := [lemma #9650]: #9651
+#8729 := [unit-resolution #9652 #8736]: #6598
+#9668 := (or #9644 #8465)
+#9669 := [th-lemma arith triangle-eq]: #9668
+#8737 := [unit-resolution #9669 #8729]: #8465
+#8633 := (>= #6538 0::Int)
+#9565 := (<= #6538 0::Int)
+#9568 := (not #9565)
+#9564 := (= f28 ?v0!15)
+#9601 := (not #9564)
+#9422 := (= ?v0!15 f28)
+#9445 := (not #9422)
+#9602 := (iff #9445 #9601)
+#9625 := (iff #9422 #9564)
+#9571 := (iff #9564 #9422)
+#9624 := [commutativity]: #9571
+#9626 := [symm #9624]: #9625
+#9603 := [monotonicity #9626]: #9602
+#8093 := (f11 f21 ?v0!15)
+#8097 := (= #8093 f1)
+#9428 := (or #9422 #8097)
+#9451 := (not #9428)
+#9414 := (f11 #193 ?v0!15)
+#9415 := (= #9414 f1)
+#9433 := (iff #9415 #9428)
+#8508 := (or #7518 #9433)
+#9423 := (if #9422 #4057 #8097)
+#9424 := (iff #9415 #9423)
+#8509 := (or #7518 #9424)
+#8511 := (iff #8509 #8508)
+#8510 := (iff #8508 #8508)
+#8514 := [rewrite]: #8510
+#9434 := (iff #9424 #9433)
+#9431 := (iff #9423 #9428)
+#9425 := (if #9422 true #8097)
+#9429 := (iff #9425 #9428)
+#9430 := [rewrite]: #9429
+#9426 := (iff #9423 #9425)
+#9427 := [monotonicity #4060]: #9426
+#9432 := [trans #9427 #9430]: #9431
+#9435 := [monotonicity #9432]: #9434
+#8512 := [monotonicity #9435]: #8511
+#8515 := [trans #8512 #8514]: #8511
+#8507 := [quant-inst #115 #181 #3 #1960]: #8509
+#8513 := [mp #8507 #8515]: #8508
+#8738 := [unit-resolution #8513 #3646]: #9433
+#8520 := (not #9415)
+#4485 := (f11 f29 ?v0!15)
+#4486 := (= #4485 f1)
+#4487 := (not #4486)
+#8754 := (iff #4487 #8520)
+#8755 := (iff #4486 #9415)
+#8702 := (iff #9415 #4486)
+#8748 := (= #9414 #4485)
+#8749 := [monotonicity #8146]: #8748
+#8703 := [monotonicity #8749]: #8702
+#8756 := [symm #8703]: #8755
+#8757 := [monotonicity #8756]: #8754
 #6506 := (or #4487 #6497)
-#7822 := (or #3860 #4487 #6497)
-#7823 := (or #3860 #6506)
-#7827 := (iff #7823 #7822)
-#7828 := [rewrite]: #7827
-#7817 := [quant-inst #1960]: #7823
-#7829 := [mp #7817 #7828]: #7822
-#8628 := [unit-resolution #7829 #8627]: #6506
-#8513 := [unit-resolution #8628 #8577]: #4487
-#8709 := [mp #8513 #8708]: #8242
-#8452 := (not #8396)
-#8450 := (or #8452 #8269 #8445)
-#8453 := [def-axiom]: #8450
-#8704 := [unit-resolution #8453 #8709 #8638]: #8445
-#8431 := (or #8392 #8430)
-#8441 := [def-axiom]: #8431
-#8710 := [unit-resolution #8441 #8704]: #8430
-#8738 := [mp #8710 #8737]: #8495
-#5201 := (f6 f7 f16)
-#8435 := (f5 #5201 ?v0!15)
-#8487 := (f4 #8435)
-#8483 := (<= #8487 0::Int)
-#8585 := (* -1::Int #8487)
-#8635 := (+ #6538 #8585)
-#8637 := (>= #8635 0::Int)
-#8573 := (= #6538 #8487)
-#8744 := (= #8487 #6538)
-#8742 := (= #8435 #6537)
-#8735 := (= #5201 #195)
-#8739 := (= #195 #5201)
-#8740 := [monotonicity #8677]: #8739
-#8741 := [symm #8740]: #8735
-#8743 := [monotonicity #8741]: #8742
-#8745 := [monotonicity #8743]: #8744
-#8750 := [symm #8745]: #8573
-#8751 := (not #8573)
-#8754 := (or #8751 #8637)
-#8755 := [th-lemma arith triangle-eq]: #8754
-#8761 := [unit-resolution #8755 #8750]: #8637
-#4339 := (+ #110 #1146)
-#8173 := (<= #4339 0::Int)
-#7896 := (= #110 #185)
-#8157 := (= #185 #110)
-#8762 := [monotonicity #8677]: #8157
-#8760 := [symm #8762]: #7896
-#8763 := (not #7896)
-#8764 := (or #8763 #8173)
-#8765 := [th-lemma arith triangle-eq]: #8764
-#8771 := [unit-resolution #8765 #8760]: #8173
-#3233 := (>= #110 0::Int)
-#8772 := (or #804 #3233)
-#8770 := [th-lemma arith triangle-eq]: #8772
-#8773 := [unit-resolution #8770 #7286]: #3233
-#8774 := [unit-resolution #8858 #8577]: #6565
-#8775 := [unit-resolution #8899 #8774 #7155]: #6598
-#8777 := [unit-resolution #8832 #8775]: #8820
-#8769 := (not #8173)
-#8781 := (not #3233)
-#8778 := (not #8637)
-#8782 := (or #8483 #8778 #1962 #9100 #8781 #8769)
-#8768 := [th-lemma arith assign-bounds 1 1 1 1 1]: #8782
-#8783 := [unit-resolution #8768 #8777 #8773 #8771 #6618 #8761]: #8483
-#8489 := (not #8483)
-#8570 := (or #8481 #8489)
-#8574 := (or #7204 #8481 #8489)
-#8575 := (or #7204 #8570)
-#8589 := (iff #8575 #8574)
-#8600 := [rewrite]: #8589
-#8588 := [quant-inst #65 #1960]: #8575
-#8634 := [mp #8588 #8600]: #8574
-#8784 := [unit-resolution #8634 #3612]: #8570
-#8786 := [unit-resolution #8784 #8783 #8738]: false
-#8806 := [lemma #8786]: #8787
-#16080 := [unit-resolution #8806 #16079 #12531 #11843 #12662 #12443]: #1962
-#3476 := (or #3944 #3938)
-#3478 := [def-axiom]: #3476
-#16081 := [unit-resolution #3478 #16078]: #3938
-#4358 := (= #216 #110)
-#12868 := (iff #4358 #217)
-#12818 := [monotonicity #7286]: #12868
+#8739 := [hypothesis]: #3855
+#8421 := (or #3860 #4487 #6497)
+#8422 := (or #3860 #6506)
+#8406 := (iff #8422 #8421)
+#8424 := [rewrite]: #8406
+#8423 := [quant-inst #1960]: #8422
+#8405 := [mp #8423 #8424]: #8421
+#8744 := [unit-resolution #8405 #8739]: #6506
+#8745 := [unit-resolution #8744 #8735]: #4487
+#8758 := [mp #8745 #8757]: #8520
+#8518 := (not #9433)
+#8519 := (or #8518 #9415 #9451)
+#8517 := [def-axiom]: #8519
+#8767 := [unit-resolution #8517 #8758 #8738]: #9451
+#9446 := (or #9428 #9445)
+#9447 := [def-axiom]: #9446
+#8768 := [unit-resolution #9447 #8767]: #9445
+#8774 := [mp #8768 #9603]: #9601
+#9572 := (or #9564 #9568)
+#9574 := (or #7600 #9564 #9568)
+#9575 := (or #7600 #9572)
+#9579 := (iff #9575 #9574)
+#9580 := [rewrite]: #9579
+#9576 := [quant-inst #181 #1960]: #9575
+#9578 := [mp #9576 #9580]: #9574
+#9605 := [unit-resolution #9578 #3612]: #9572
+#8775 := [unit-resolution #9605 #8774]: #9568
+#8773 := (or #8633 #9565)
+#8776 := [th-lemma arith farkas 1 1]: #8773
+#8769 := [unit-resolution #8776 #8775]: #8633
+#8777 := [th-lemma arith farkas 1 1 -1 1 #6618 #8769 #8737 #7620]: false
+#8782 := [lemma #8777]: #8784
+#10054 := [unit-resolution #8782 #10053]: #1962
 #4342 := (f5 #195 f16)
 #4343 := (f4 #4342)
+#7596 := (<= #4343 0::Int)
+#7588 := (not #7596)
+#4163 := (= f28 f16)
+#7583 := (not #4163)
+#7834 := [hypothesis]: #661
+#7847 := (or #7583 #217)
+#4358 := (= #216 #110)
+#7840 := (= #185 #110)
+#7835 := [hypothesis]: #4163
+#7841 := [monotonicity #7835]: #7840
+#7842 := (= #216 #185)
+#7838 := (= #216 #4078)
+#7836 := (= f16 f28)
+#7837 := [symm #7835]: #7836
+#7839 := [monotonicity #7837]: #7838
+#7843 := [trans #7839 #7804]: #7842
+#7844 := [trans #7843 #7841]: #4358
+#7845 := [trans #7844 #6894]: #217
+#7846 := [unit-resolution #7834 #7845]: false
+#7848 := [lemma #7846]: #7847
+#7599 := [unit-resolution #7848 #7834]: #7583
+#7589 := (or #4163 #7588)
+#7601 := (or #7600 #4163 #7588)
+#7602 := (or #7600 #7589)
+#7604 := (iff #7602 #7601)
+#7605 := [rewrite]: #7604
+#7603 := [quant-inst #181 #65]: #7602
+#7606 := [mp #7603 #7605]: #7601
+#7607 := [unit-resolution #7606 #3612]: #7589
+#7598 := [unit-resolution #7607 #7599]: #7588
 #4350 := (* -1::Int #4343)
 #4353 := (+ #1146 #4350)
 #4354 := (+ #110 #4353)
 #4355 := (<= #4354 0::Int)
+#7500 := (not #4355)
 #4351 := (+ f3 #4350)
 #4352 := (<= #4351 0::Int)
 #4356 := (or #4352 #4355)
-#7200 := (>= #4343 0::Int)
-#7186 := (= #4343 0::Int)
-#7201 := (<= #4343 0::Int)
-#6947 := (not #4355)
-#7271 := [hypothesis]: #6947
-#7291 := (or #7201 #4355)
-#7191 := (not #7201)
-#7270 := [hypothesis]: #7191
-#4183 := (>= #185 0::Int)
-#6896 := (or #3722 #4183)
-#6931 := [quant-inst #181]: #6896
-#7285 := [unit-resolution #6931 #7284]: #4183
-#4595 := (<= #110 0::Int)
-#7287 := (or #804 #4595)
-#7288 := [th-lemma arith triangle-eq]: #7287
-#7289 := [unit-resolution #7288 #7286]: #4595
-#7290 := [th-lemma arith farkas 1 1 1 1 #7289 #7285 #7271 #7270]: false
-#7292 := [lemma #7290]: #7291
-#7227 := [unit-resolution #7292 #7271]: #7201
-#7192 := (or #4163 #7191)
-#7205 := (or #7204 #4163 #7191)
-#7206 := (or #7204 #7192)
-#7208 := (iff #7206 #7205)
-#7209 := [rewrite]: #7208
-#7207 := [quant-inst #181 #65]: #7206
-#7210 := [mp #7207 #7209]: #7205
-#7228 := [unit-resolution #7210 #3612]: #7192
-#7252 := [unit-resolution #7228 #7227]: #4163
-#7185 := (not #4163)
-#7190 := (or #7185 #7186)
-#7194 := (or #7193 #7185 #7186)
-#7195 := (or #7193 #7190)
-#7197 := (iff #7195 #7194)
-#7198 := [rewrite]: #7197
-#7196 := [quant-inst #181 #65]: #7195
-#7199 := [mp #7196 #7198]: #7194
-#7253 := [unit-resolution #7199 #3606]: #7190
-#7254 := [unit-resolution #7253 #7252]: #7186
-#7255 := (not #7186)
-#7256 := (or #7255 #7200)
-#7257 := [th-lemma arith triangle-eq]: #7256
-#7258 := [unit-resolution #7257 #7254]: #7200
-#7259 := [th-lemma arith farkas -1 1 1 1 #7289 #7285 #7271 #7258]: false
-#7260 := [lemma #7259]: #4355
-#7663 := (or #4356 #6947)
-#7661 := [def-axiom]: #7663
-#12832 := [unit-resolution #7661 #7260]: #4356
 #4357 := (not #4356)
-#7631 := (or #3843 #4357 #4358)
+#7612 := (not #4358)
+#7613 := (iff #661 #7612)
+#7610 := (iff #217 #4358)
+#7608 := (iff #4358 #217)
+#7609 := [monotonicity #6894]: #7608
+#7611 := [symm #7609]: #7610
+#7615 := [monotonicity #7611]: #7613
+#7616 := [mp #7834 #7615]: #7612
 #4359 := (or #4357 #4358)
-#7632 := (or #3843 #4359)
-#7655 := (iff #7632 #7631)
-#7656 := [rewrite]: #7655
-#7633 := [quant-inst #65]: #7632
-#7657 := [mp #7633 #7656]: #7631
-#12816 := [unit-resolution #7657 #11843 #12832]: #4358
-#16082 := [mp #12816 #12818]: #217
+#7491 := (or #3843 #4357 #4358)
+#7492 := (or #3843 #4359)
+#7494 := (iff #7492 #7491)
+#7495 := [rewrite]: #7494
+#7493 := [quant-inst #65]: #7492
+#7496 := [mp #7493 #7495]: #7491
+#7617 := [unit-resolution #7496 #7803]: #4359
+#7618 := [unit-resolution #7617 #7616]: #4357
+#7501 := (or #4356 #7500)
+#7502 := [def-axiom]: #7501
+#7619 := [unit-resolution #7502 #7618]: #7500
+#4504 := (<= #110 0::Int)
+#7621 := (or #804 #4504)
+#7622 := [th-lemma arith triangle-eq]: #7621
+#7623 := [unit-resolution #7622 #6894]: #4504
+#7624 := [th-lemma arith farkas 1 1 1 1 #7623 #7620 #7619 #7598]: false
+#7626 := [lemma #7624]: #217
+#3476 := (or #3944 #3938)
+#3478 := [def-axiom]: #3476
+#10055 := [unit-resolution #3478 #10052]: #3938
 #3496 := (or #3941 #661 #3935)
 #3486 := [def-axiom]: #3496
-#16083 := [unit-resolution #3486 #16082 #16081]: #3935
+#10056 := [unit-resolution #3486 #10055 #7626]: #3935
 #3488 := (or #3932 #3926)
 #3489 := [def-axiom]: #3488
-#16084 := [unit-resolution #3489 #16083]: #3926
+#10057 := [unit-resolution #3489 #10056]: #3926
 #3504 := (or #3929 #1963 #3923)
 #3484 := [def-axiom]: #3504
-#16085 := [unit-resolution #3484 #16084 #16080]: #3923
+#10058 := [unit-resolution #3484 #10057 #10054]: #3923
 #3507 := (or #3920 #3914)
 #3512 := [def-axiom]: #3507
-#16086 := [unit-resolution #3512 #16085]: #3914
+#18172 := [unit-resolution #3512 #10058]: #3914
 #3508 := (or #3917 #2870 #3911)
 #3509 := [def-axiom]: #3508
-#16087 := [unit-resolution #3509 #16086 #16075]: #3911
+#18183 := [unit-resolution #3509 #18172]: #3914
+#18184 := [unit-resolution #18183 #9891]: #3911
 #3517 := (or #3908 #3902)
 #3518 := [def-axiom]: #3517
-#11352 := [unit-resolution #3518 #16087]: #3902
+#18185 := [unit-resolution #3518 #18184]: #3902
+#18186 := (or #3905 #3899)
+#15845 := [hypothesis]: #2916
+#3530 := (or #2911 #2012)
+#3533 := [def-axiom]: #3530
+#15846 := [unit-resolution #3533 #15845]: #2012
+#6483 := (f5 #195 ?v0!19)
+#6481 := (f4 #6483)
+#6484 := (* -1::Int #6481)
+#15446 := (+ #2008 #6484)
+#15535 := (>= #15446 0::Int)
+#15445 := (= #2008 #6481)
+#15962 := (= #2007 #6483)
+#15956 := (= #2006 #195)
+#5407 := (= ?v1!18 f28)
+#5408 := (f11 f21 ?v1!18)
+#5409 := (= #5408 f1)
+#5415 := (or #5407 #5409)
+#5397 := (f11 #193 ?v1!18)
+#5398 := (= #5397 f1)
+#5420 := (iff #5398 #5415)
+#14616 := (or #7518 #5420)
+#5410 := (if #5407 #4057 #5409)
+#5411 := (iff #5398 #5410)
+#14606 := (or #7518 #5411)
+#14610 := (iff #14606 #14616)
+#14613 := (iff #14616 #14616)
+#14619 := [rewrite]: #14613
+#5421 := (iff #5411 #5420)
+#5418 := (iff #5410 #5415)
+#5412 := (if #5407 true #5409)
+#5416 := (iff #5412 #5415)
+#5417 := [rewrite]: #5416
+#5413 := (iff #5410 #5412)
+#5414 := [monotonicity #4060]: #5413
+#5419 := [trans #5414 #5417]: #5418
+#5422 := [monotonicity #5419]: #5421
+#14620 := [monotonicity #5422]: #14610
+#14630 := [trans #14620 #14619]: #14610
+#14618 := [quant-inst #115 #181 #3 #2002]: #14606
+#14662 := [mp #14618 #14630]: #14616
+#15893 := [unit-resolution #14662 #3646]: #5420
+#3434 := (or #2911 #2005)
+#3529 := [def-axiom]: #3434
+#15907 := [unit-resolution #3529 #15845]: #2005
+#15926 := (= #5397 #2004)
+#15928 := [monotonicity #8146]: #15926
+#15908 := [trans #15928 #15907]: #5398
+#11373 := (not #5398)
+#15102 := (not #5420)
+#15199 := (or #15102 #11373 #5415)
+#15197 := [def-axiom]: #15199
+#15929 := [unit-resolution #15197 #15908 #15893]: #5415
+#6623 := (not #5409)
+#6374 := (f19 f20 ?v0!19)
+#6445 := (* -1::Int #6374)
+#5362 := (f19 f20 ?v1!18)
+#6639 := (+ #5362 #6445)
+#6640 := (+ #2008 #6639)
+#6641 := (>= #6640 0::Int)
+#15933 := (not #6641)
+#3418 := (not #2020)
+#3433 := (or #2911 #3418)
+#3435 := [def-axiom]: #3433
+#15930 := [unit-resolution #3435 #15845]: #3418
+#6446 := (+ #2016 #6445)
+#6447 := (<= #6446 0::Int)
+#12992 := (not #6447)
+#12993 := [hypothesis]: #12992
+#12524 := (or #3851 #6447)
+#6389 := (+ #6374 #2017)
+#6399 := (>= #6389 0::Int)
+#12525 := (or #3851 #6399)
+#12527 := (iff #12525 #12524)
+#12530 := (iff #12524 #12524)
+#12531 := [rewrite]: #12530
+#6468 := (iff #6399 #6447)
+#6440 := (+ #2017 #6374)
+#6443 := (>= #6440 0::Int)
+#6448 := (iff #6443 #6447)
+#6467 := [rewrite]: #6448
+#6438 := (iff #6399 #6443)
+#6441 := (= #6389 #6440)
+#6442 := [rewrite]: #6441
+#6444 := [monotonicity #6442]: #6438
+#6469 := [trans #6444 #6467]: #6468
+#12529 := [monotonicity #6469]: #12527
+#12532 := [trans #12529 #12531]: #12527
+#12526 := [quant-inst #2003]: #12525
+#12533 := [mp #12526 #12532]: #12524
+#12610 := [unit-resolution #12533 #7970 #12993]: false
+#12611 := [lemma #12610]: #6447
+#5459 := (* -1::Int #5362)
+#5460 := (+ #2015 #5459)
+#12226 := (>= #5460 0::Int)
+#5380 := (= #2015 #5362)
+#12307 := (or #3860 #2896 #5380)
+#5383 := (or #2896 #5380)
+#12303 := (or #3860 #5383)
+#12279 := (iff #12303 #12307)
+#12410 := [rewrite]: #12279
+#12304 := [quant-inst #2002]: #12303
+#12398 := [mp #12304 #12410]: #12307
+#15925 := [unit-resolution #12398 #10053 #15907]: #5380
+#15889 := (not #5380)
+#15931 := (or #15889 #12226)
+#15927 := [th-lemma arith triangle-eq]: #15931
+#15932 := [unit-resolution #15927 #15925]: #12226
+#15883 := (not #12226)
+#15934 := (or #15933 #15883 #12992 #2020)
+#15935 := [th-lemma arith assign-bounds 1 -1 -1]: #15934
+#15955 := [unit-resolution #15935 #15932 #12611 #15930]: #15933
+#15957 := (or #6623 #6641)
+#15290 := (or #3739 #6623 #2011 #6641)
+#6642 := (or #6623 #2011 #6641)
+#15291 := (or #3739 #6642)
+#15288 := (iff #15291 #15290)
+#15308 := [rewrite]: #15288
+#15270 := [quant-inst #2003 #2002]: #15291
+#15282 := [mp #15270 #15308]: #15290
+#15958 := [unit-resolution #15282 #7156 #15846]: #15957
+#15954 := [unit-resolution #15958 #15955]: #6623
+#15090 := (not #5415)
+#15098 := (or #15090 #5407 #5409)
+#15091 := [def-axiom]: #15098
+#15960 := [unit-resolution #15091 #15954 #15929]: #5407
+#15961 := [monotonicity #15960]: #15956
+#15959 := [monotonicity #15961]: #15962
+#15963 := [monotonicity #15959]: #15445
+#15964 := (not #15445)
+#13461 := (or #15964 #15535)
+#11575 := [th-lemma arith triangle-eq]: #13461
+#14042 := [unit-resolution #11575 #15963]: #15535
+#6485 := (+ f3 #6484)
+#6486 := (<= #6485 0::Int)
+#6610 := (+ #2017 #6481)
+#6611 := (+ #185 #6610)
+#6614 := (= #6611 0::Int)
+#15542 := (not #6614)
+#14614 := (>= #6611 0::Int)
+#13597 := (not #14614)
+#6363 := (+ #2015 #4079)
+#6364 := (>= #6363 0::Int)
+#7961 := (= #2015 #4078)
+#14062 := [monotonicity #15960]: #7961
+#15213 := (not #7961)
+#15268 := (or #15213 #6364)
+#15479 := [th-lemma arith triangle-eq]: #15268
+#15484 := [unit-resolution #15479 #14062]: #6364
+#12694 := (not #15535)
+#14493 := (not #4439)
+#15269 := (not #6364)
+#12544 := (or #13597 #2020 #15269 #14493 #12694)
+#14974 := [th-lemma arith assign-bounds -1 1 -1 1]: #12544
+#15581 := [unit-resolution #14974 #15930 #10752 #15484 #14042]: #13597
+#15702 := (or #15542 #14614)
+#15714 := [th-lemma arith triangle-eq]: #15702
+#15715 := [unit-resolution #15714 #15581]: #15542
+#6511 := (+ #6445 #6481)
+#6509 := (+ #185 #6511)
+#6512 := (>= #6509 0::Int)
+#13034 := (not #6512)
+#15736 := (or #13034 #12992 #2020 #15269 #14493 #12694)
+#15582 := [th-lemma arith assign-bounds -1 -1 1 -1 1]: #15736
+#15841 := [unit-resolution #15582 #15930 #12611 #10752 #15484 #14042]: #13034
+#5073 := (or #6486 #6512 #6614)
+#14397 := (or #3835 #6486 #6512 #6614)
+#6607 := (+ #6481 #2017)
+#6608 := (+ #185 #6607)
+#6609 := (= #6608 0::Int)
+#6491 := (+ #1146 #6484)
+#6492 := (+ #6374 #6491)
+#6490 := (<= #6492 0::Int)
+#6604 := (or #6486 #6490 #6609)
+#12671 := (or #3835 #6604)
+#14485 := (iff #12671 #14397)
+#14423 := (or #3835 #5073)
+#14478 := (iff #14423 #14397)
+#14483 := [rewrite]: #14478
+#14389 := (iff #12671 #14423)
+#5263 := (iff #6604 #5073)
+#5033 := (iff #6609 #6614)
+#6612 := (= #6608 #6611)
+#6613 := [rewrite]: #6612
+#5034 := [monotonicity #6613]: #5033
+#6529 := (iff #6490 #6512)
+#6499 := (+ #6374 #6484)
+#6500 := (+ #1146 #6499)
+#6502 := (<= #6500 0::Int)
+#6513 := (iff #6502 #6512)
+#6514 := [rewrite]: #6513
+#6503 := (iff #6490 #6502)
+#6498 := (= #6492 #6500)
+#6501 := [rewrite]: #6498
+#6510 := [monotonicity #6501]: #6503
+#6530 := [trans #6510 #6514]: #6529
+#5264 := [monotonicity #6530 #5034]: #5263
+#14396 := [monotonicity #5264]: #14389
+#14472 := [trans #14396 #14483]: #14485
+#14422 := [quant-inst #2003]: #12671
+#14486 := [mp #14422 #14472]: #14397
+#15735 := [unit-resolution #14486 #7967]: #5073
+#15853 := [unit-resolution #15735 #15841 #15715]: #6486
+#15854 := [th-lemma arith farkas -1 1 1 #15853 #14042 #15846]: false
+#15894 := [lemma #15854]: #2911
 #3526 := (or #3905 #2916 #3899)
 #3527 := [def-axiom]: #3526
-#11376 := [unit-resolution #3527 #11352]: #3902
-#11393 := [unit-resolution #11376 #10279]: #3899
-#3531 := (or #3896 #3888)
-#3535 := [def-axiom]: #3531
-#11676 := [unit-resolution #3535 #11393]: #3888
-#5121 := (f5 #195 ?v0!20)
-#5122 := (f4 #5121)
-#5178 := (+ #2038 #5122)
-#5179 := (+ #185 #5178)
-#5182 := (= #5179 0::Int)
-#5080 := (f19 f20 ?v0!20)
-#5105 := (* -1::Int #5080)
-#5139 := (+ #5105 #5122)
-#5140 := (+ #185 #5139)
-#5141 := (>= #5140 0::Int)
-#5123 := (* -1::Int #5122)
-#5124 := (+ f3 #5123)
-#5125 := (<= #5124 0::Int)
-#5146 := (or #5125 #5141)
-#5149 := (not #5146)
-#5087 := (= #2037 #5080)
-#13314 := (not #5087)
-#5106 := (+ #2037 #5105)
-#14166 := (>= #5106 0::Int)
-#14817 := (not #14166)
-#5342 := (?v1!7 ?v0!20)
-#14317 := (f30 #5342)
-#14337 := (* -1::Int #14317)
-#14808 := (+ #2037 #14337)
-#14811 := (<= #14808 0::Int)
-#11290 := (not #14811)
-#14807 := [hypothesis]: #14166
-#5343 := (f19 f20 #5342)
-#14338 := (+ #5343 #14337)
-#14315 := (>= #14338 0::Int)
-#10677 := (or #3851 #14315)
-#10712 := [quant-inst #5342]: #10677
-#11005 := [unit-resolution #10712 #12445]: #14315
-#5344 := (* -1::Int #5343)
-#5345 := (+ #5080 #5344)
-#5346 := (<= #5345 0::Int)
-#10400 := (not #5346)
-#5350 := (f6 f7 #5342)
-#5351 := (f5 #5350 ?v0!20)
-#5352 := (f4 #5351)
-#5353 := (* -1::Int #5352)
-#5354 := (+ #5344 #5353)
-#5355 := (+ #5080 #5354)
-#5356 := (= #5355 0::Int)
-#5357 := (not #5356)
-#5347 := (f11 f21 #5342)
-#5348 := (= #5347 f1)
-#5349 := (not #5348)
-#5358 := (or #5346 #5349 #5357)
-#5359 := (not #5358)
-#5340 := (+ f3 #5105)
-#5341 := (<= #5340 0::Int)
-#14816 := (not #5341)
+#18187 := [unit-resolution #3527 #15894]: #18186
+#18188 := [unit-resolution #18187 #18185]: #3899
 #3441 := (or #3896 #2041)
 #3534 := [def-axiom]: #3441
-#11418 := [unit-resolution #3534 #11393]: #2041
-#14818 := (or #14816 #14817 #2040)
-#14806 := [hypothesis]: #2041
-#14814 := [hypothesis]: #5341
-#14815 := [th-lemma arith farkas -1 1 1 #14814 #14807 #14806]: false
-#14819 := [lemma #14815]: #14818
-#11023 := [unit-resolution #14819 #14807 #11418]: #14816
-#11390 := (or #5341 #5359)
+#18189 := [unit-resolution #3534 #18188]: #2041
+#15970 := (or #15968 #15969 #2040)
+#13634 := [hypothesis]: #2041
+#15965 := [hypothesis]: #12022
+#15966 := [hypothesis]: #5341
+#15967 := [th-lemma arith farkas -1 1 1 #15966 #15965 #13634]: false
+#15971 := [lemma #15967]: #15970
+#19099 := [unit-resolution #15971 #18189]: #19098
+#19100 := [unit-resolution #19099 #19097]: #15968
+#15703 := (or #5341 #5359)
 #3439 := (or #3896 #2036)
 #3440 := [def-axiom]: #3439
-#11478 := [unit-resolution #3440 #11393]: #2036
-#10408 := (or #3747 #2035 #5341 #5359)
+#19101 := [unit-resolution #3440 #18188]: #2036
+#12207 := (or #3747 #2035 #5341 #5359)
 #5360 := (or #2035 #5341 #5359)
-#10412 := (or #3747 #5360)
-#10411 := (iff #10412 #10408)
-#10386 := [rewrite]: #10411
-#10414 := [quant-inst #2034]: #10412
-#10395 := [mp #10414 #10386]: #10408
-#11485 := [unit-resolution #10395 #6675 #11478]: #11390
-#11291 := [unit-resolution #11485 #11023]: #5359
-#10401 := (or #5358 #10400)
-#10402 := [def-axiom]: #10401
-#11482 := [unit-resolution #10402 #11291]: #10400
-#11483 := (not #14315)
-#11288 := (or #11290 #11483 #5346 #14817)
-#11531 := [th-lemma arith assign-bounds -1 -1 -1]: #11288
-#11296 := [unit-resolution #11531 #11482 #11005 #14807]: #11290
-#13958 := (+ #5353 #14337)
-#12062 := (+ #2037 #13958)
-#14821 := (= #12062 0::Int)
-#13983 := (<= #12062 0::Int)
-#14568 := (+ f3 #5353)
-#14601 := (<= #14568 0::Int)
-#11602 := (not #14601)
-#12759 := (>= #5355 0::Int)
-#10422 := (or #5358 #5356)
-#10363 := [def-axiom]: #10422
-#11294 := [unit-resolution #10363 #11291]: #5356
-#11627 := (or #5357 #12759)
-#11292 := [th-lemma arith triangle-eq]: #11627
-#11603 := [unit-resolution #11292 #11294]: #12759
-#14567 := (>= #5343 0::Int)
-#10649 := (or #3722 #14567)
-#10651 := [quant-inst #5342]: #10649
-#11628 := [unit-resolution #10651 #7284]: #14567
-#11599 := (not #14567)
-#11625 := (not #12759)
-#11629 := (or #11602 #11625 #11599 #2040 #14817)
-#11624 := [th-lemma arith assign-bounds -1 -1 -1 -1]: #11629
-#11632 := [unit-resolution #11624 #11628 #11418 #11603 #14807]: #11602
-#11560 := (or #14601 #13983)
-#14300 := (f11 f29 #5342)
-#14333 := (= #14300 f1)
-#10365 := (or #5358 #5348)
-#10415 := [def-axiom]: #10365
-#11673 := [unit-resolution #10415 #11291]: #5348
-#10266 := (or #14333 #5349)
-#15419 := (f11 #193 #5342)
-#15442 := (= #15419 f1)
-#15453 := (= #5342 f28)
-#15432 := (or #15453 #5348)
-#15425 := (iff #15442 #15432)
-#16310 := (or #7582 #15425)
-#15456 := (if #15453 #4057 #5348)
-#15457 := (iff #15442 #15456)
-#16311 := (or #7582 #15457)
-#11286 := (iff #16311 #16310)
-#11830 := (iff #16310 #16310)
-#12073 := [rewrite]: #11830
-#15428 := (iff #15457 #15425)
-#15445 := (iff #15456 #15432)
-#15460 := (if #15453 true #5348)
-#15426 := (iff #15460 #15432)
-#15434 := [rewrite]: #15426
-#15448 := (iff #15456 #15460)
-#15447 := [monotonicity #4060]: #15448
-#15427 := [trans #15447 #15434]: #15445
-#15429 := [monotonicity #15427]: #15428
-#11833 := [monotonicity #15429]: #11286
-#12072 := [trans #11833 #12073]: #11286
-#11275 := [quant-inst #115 #181 #3 #5342]: #16311
-#12074 := [mp #11275 #12072]: #16310
-#14187 := [unit-resolution #12074 #3646]: #15425
-#13407 := (not #15425)
-#14236 := (or #13407 #15442)
-#15985 := [hypothesis]: #5348
-#12028 := (or #15432 #5349)
-#13131 := [def-axiom]: #12028
-#14241 := [unit-resolution #13131 #15985]: #15432
-#13115 := (not #15432)
-#13413 := (or #13407 #15442 #13115)
-#10944 := [def-axiom]: #13413
-#15276 := [unit-resolution #10944 #14241]: #14236
-#15396 := [unit-resolution #15276 #14187]: #15442
-#15574 := (= #14300 #15419)
-#15601 := [monotonicity #12662]: #15574
-#15612 := [trans #15601 #15396]: #14333
-#14331 := (not #14333)
-#15983 := [hypothesis]: #14331
-#9603 := [unit-resolution #15983 #15612]: false
-#15650 := [lemma #9603]: #10266
-#11630 := [unit-resolution #15650 #11673]: #14333
+#12245 := (or #3747 #5360)
+#12251 := (iff #12245 #12207)
+#12352 := [rewrite]: #12251
+#12240 := [quant-inst #2034]: #12245
+#12292 := [mp #12240 #12352]: #12207
+#19102 := [unit-resolution #12292 #7427 #19101]: #15703
+#19103 := [unit-resolution #19102 #19100]: #5359
+#15553 := (or #5358 #5356)
+#15554 := [def-axiom]: #15553
+#18351 := [unit-resolution #15554 #19103]: #5356
+#18355 := (or #5357 #15530)
+#18361 := [th-lemma arith triangle-eq]: #18355
+#18362 := [unit-resolution #18361 #18351]: #15530
+#19106 := (not #13366)
+#18364 := (not #15530)
+#18350 := (or #18243 #18364 #15969 #19106)
+#18365 := [th-lemma arith assign-bounds 1 1 1]: #18350
+#18367 := [unit-resolution #18365 #18362 #19087 #19097]: #18243
+#14134 := (<= #14210 0::Int)
+#14035 := (+ f3 #5353)
+#14131 := (<= #14035 0::Int)
+#18369 := (not #14131)
+#13911 := (>= #5343 0::Int)
+#18177 := (or #3722 #13911)
+#18180 := [quant-inst #5342]: #18177
+#18368 := [unit-resolution #18180 #7614]: #13911
+#18363 := (not #13911)
+#18372 := (or #18369 #18363 #18364 #15969)
+#18371 := (or #18369 #18363 #18364 #2040 #15969)
+#18366 := [th-lemma arith assign-bounds -1 -1 -1 -1]: #18371
+#18373 := [unit-resolution #18366 #18189]: #18372
+#18378 := [unit-resolution #18373 #18368 #18362 #19097]: #18369
+#13322 := (f11 f29 #5342)
+#13321 := (= #13322 f1)
+#15207 := (+ #2037 #13327)
+#15217 := (<= #15207 0::Int)
+#19105 := (not #15217)
+#12311 := (not #5346)
+#12351 := (or #5358 #12311)
+#12297 := [def-axiom]: #12351
+#19104 := [unit-resolution #12297 #19103]: #12311
+#19107 := (or #19105 #5346 #15969 #19106)
+#19108 := [th-lemma arith assign-bounds 1 1 1]: #19107
+#19109 := [unit-resolution #19108 #19104 #19097 #19087]: #19105
+#15548 := (or #13321 #4541 #15217)
+#3523 := (or #3908 #3872)
+#3528 := [def-axiom]: #3523
+#18201 := [unit-resolution #3528 #18184]: #3872
+#10669 := (or #3877 #13321 #4541 #15217)
+#14133 := (+ #13325 #2038)
+#15115 := (>= #14133 0::Int)
+#15556 := (or #13321 #4541 #15115)
+#10675 := (or #3877 #15556)
+#10689 := (iff #10675 #10669)
+#10671 := (or #3877 #15548)
+#10662 := (iff #10671 #10669)
+#10672 := [rewrite]: #10662
+#10679 := (iff #10675 #10671)
+#15557 := (iff #15556 #15548)
+#15222 := (iff #15115 #15217)
+#15259 := (+ #2038 #13325)
+#15255 := (>= #15259 0::Int)
+#15218 := (iff #15255 #15217)
+#15261 := [rewrite]: #15218
+#15208 := (iff #15115 #15255)
+#15253 := (= #14133 #15259)
+#15258 := [rewrite]: #15253
+#15216 := [monotonicity #15258]: #15208
+#15202 := [trans #15216 #15261]: #15222
+#15555 := [monotonicity #15202]: #15557
+#10681 := [monotonicity #15555]: #10679
+#10677 := [trans #10681 #10672]: #10689
+#10676 := [quant-inst #2034 #5342]: #10675
+#10678 := [mp #10676 #10677]: #10669
+#19114 := [unit-resolution #10678 #18201]: #15548
+#18370 := [unit-resolution #19114 #19109 #19086]: #13321
+#13323 := (not #13321)
+#11985 := (or #13323 #14131 #14134)
 #3437 := (or #3896 #3880)
 #3438 := [def-axiom]: #3437
-#11479 := [unit-resolution #3438 #11393]: #3880
-#10499 := (or #3885 #14331 #14601 #13983)
-#14605 := (+ #14317 #2038)
-#12389 := (+ #5352 #14605)
-#14602 := (>= #12389 0::Int)
-#14600 := (or #14331 #14601 #14602)
-#10518 := (or #3885 #14600)
-#10536 := (iff #10518 #10499)
-#13959 := (or #14331 #14601 #13983)
-#10517 := (or #3885 #13959)
-#10484 := (iff #10517 #10499)
-#10511 := [rewrite]: #10484
-#10485 := (iff #10518 #10517)
-#14616 := (iff #14600 #13959)
-#14615 := (iff #14602 #13983)
-#12975 := (+ #5352 #14317)
-#13126 := (+ #2038 #12975)
-#12668 := (>= #13126 0::Int)
-#14613 := (iff #12668 #13983)
-#14614 := [rewrite]: #14613
-#14298 := (iff #14602 #12668)
-#13200 := (= #12389 #13126)
-#13162 := [rewrite]: #13200
-#14328 := [monotonicity #13162]: #14298
-#12036 := [trans #14328 #14614]: #14615
-#14617 := [monotonicity #12036]: #14616
-#10522 := [monotonicity #14617]: #10485
-#10543 := [trans #10522 #10511]: #10536
-#10528 := [quant-inst #2034 #5342]: #10518
-#10544 := [mp #10528 #10543]: #10499
-#11674 := [unit-resolution #10544 #11479 #11630]: #11560
-#11672 := [unit-resolution #11674 #11632]: #13983
-#10494 := (>= #12062 0::Int)
-#11675 := (or #10494 #11625 #11483 #14817)
-#11298 := [th-lemma arith assign-bounds -1 -1 -1]: #11675
-#11691 := [unit-resolution #11298 #11005 #11603 #14807]: #10494
-#11692 := (not #13983)
-#11689 := (not #10494)
-#11730 := (or #14821 #11689 #11692)
-#11758 := [th-lemma arith triangle-eq]: #11730
-#11700 := [unit-resolution #11758 #11691 #11672]: #14821
-#14826 := (not #14821)
-#11282 := (or #14811 #14826)
-#10448 := (or #3893 #14811 #14331 #14826)
-#14782 := (+ #2038 #5352)
-#14792 := (+ #14317 #14782)
-#14793 := (= #14792 0::Int)
-#14799 := (not #14793)
-#14781 := (>= #14605 0::Int)
-#14800 := (or #14781 #14331 #14799)
-#10450 := (or #3893 #14800)
-#10480 := (iff #10450 #10448)
-#14829 := (or #14811 #14331 #14826)
-#10447 := (or #3893 #14829)
-#10416 := (iff #10447 #10448)
-#10458 := [rewrite]: #10416
-#10443 := (iff #10450 #10447)
-#14830 := (iff #14800 #14829)
-#14827 := (iff #14799 #14826)
-#14824 := (iff #14793 #14821)
-#14587 := (= #13126 0::Int)
-#14822 := (iff #14587 #14821)
-#14823 := [rewrite]: #14822
-#14804 := (iff #14793 #14587)
-#14310 := (= #14792 #13126)
-#14429 := [rewrite]: #14310
-#14820 := [monotonicity #14429]: #14804
-#14825 := [trans #14820 #14823]: #14824
-#14828 := [monotonicity #14825]: #14827
-#14204 := (iff #14781 #14811)
-#14798 := (+ #2038 #14317)
-#14803 := (>= #14798 0::Int)
-#14812 := (iff #14803 #14811)
-#14813 := [rewrite]: #14812
-#14809 := (iff #14781 #14803)
-#14801 := (= #14605 #14798)
-#14802 := [rewrite]: #14801
-#14810 := [monotonicity #14802]: #14809
-#14193 := [trans #14810 #14813]: #14204
-#14831 := [monotonicity #14193 #14828]: #14830
-#10460 := [monotonicity #14831]: #10443
-#10495 := [trans #10460 #10458]: #10480
-#10455 := [quant-inst #5342]: #10450
-#10496 := [mp #10455 #10495]: #10448
-#11701 := [unit-resolution #10496 #11676 #11630]: #11282
-#11698 := [unit-resolution #11701 #11700 #11296]: false
-#11729 := [lemma #11698]: #14817
-#13414 := (or #13314 #14166)
-#12903 := [th-lemma arith triangle-eq]: #13414
-#13464 := [unit-resolution #12903 #11729]: #13314
-#5152 := (or #5149 #5087)
-#10286 := (or #3843 #5149 #5087)
-#5126 := (+ #1146 #5123)
-#5127 := (+ #5080 #5126)
-#5128 := (<= #5127 0::Int)
-#5129 := (or #5125 #5128)
-#5130 := (not #5129)
-#5131 := (or #5130 #5087)
-#10287 := (or #3843 #5131)
-#9289 := (iff #10287 #10286)
-#6976 := (or #3843 #5152)
-#8673 := (iff #6976 #10286)
-#8601 := [rewrite]: #8673
-#6978 := (iff #10287 #6976)
-#5153 := (iff #5131 #5152)
-#5150 := (iff #5130 #5149)
-#5147 := (iff #5129 #5146)
-#5144 := (iff #5128 #5141)
-#5132 := (+ #5080 #5123)
-#5133 := (+ #1146 #5132)
-#5136 := (<= #5133 0::Int)
-#5142 := (iff #5136 #5141)
-#5143 := [rewrite]: #5142
-#5137 := (iff #5128 #5136)
-#5134 := (= #5127 #5133)
-#5135 := [rewrite]: #5134
-#5138 := [monotonicity #5135]: #5137
-#5145 := [trans #5138 #5143]: #5144
-#5148 := [monotonicity #5145]: #5147
-#5151 := [monotonicity #5148]: #5150
-#5154 := [monotonicity #5151]: #5153
-#9657 := [monotonicity #5154]: #6978
-#10282 := [trans #9657 #8601]: #9289
-#10280 := [quant-inst #2034]: #10287
-#10289 := [mp #10280 #10282]: #10286
-#13441 := [unit-resolution #10289 #11843]: #5152
-#13534 := [unit-resolution #13441 #13464]: #5149
-#12234 := (or #5146 #5182)
-#12584 := (not #5182)
-#12314 := [hypothesis]: #12584
-#10290 := (not #5125)
-#12338 := [hypothesis]: #5149
-#10299 := (or #5146 #10290)
-#10300 := [def-axiom]: #10299
-#12289 := [unit-resolution #10300 #12338]: #10290
-#10273 := (not #5141)
-#10301 := (or #5146 #10273)
-#10297 := [def-axiom]: #10301
-#12290 := [unit-resolution #10297 #12338]: #10273
-#5185 := (or #5125 #5141 #5182)
-#10259 := (or #3835 #5125 #5141 #5182)
-#5174 := (+ #5122 #2038)
-#5175 := (+ #185 #5174)
-#5176 := (= #5175 0::Int)
-#5177 := (or #5125 #5128 #5176)
-#10305 := (or #3835 #5177)
-#10308 := (iff #10305 #10259)
-#10307 := (or #3835 #5185)
-#10311 := (iff #10307 #10259)
-#10312 := [rewrite]: #10311
-#10303 := (iff #10305 #10307)
-#5186 := (iff #5177 #5185)
-#5183 := (iff #5176 #5182)
-#5180 := (= #5175 #5179)
-#5181 := [rewrite]: #5180
-#5184 := [monotonicity #5181]: #5183
-#5187 := [monotonicity #5145 #5184]: #5186
-#10309 := [monotonicity #5187]: #10303
-#10313 := [trans #10309 #10312]: #10308
-#10306 := [quant-inst #2034]: #10305
-#10315 := [mp #10306 #10313]: #10259
-#12211 := [unit-resolution #10315 #12531]: #5185
-#12231 := [unit-resolution #12211 #12290 #12289 #12314]: false
-#12291 := [lemma #12231]: #12234
-#13462 := [unit-resolution #12291 #13534]: #5182
-#16225 := (or #12584 #11448 #3893)
-#12244 := (= f28 ?v0!20)
-#12245 := (not #12244)
-#15044 := (not #11448)
-#16185 := (iff #15044 #12245)
-#16160 := (iff #11448 #12244)
-#16058 := (iff #12244 #11448)
-#16164 := [commutativity]: #16058
-#16190 := [symm #16164]: #16160
-#16191 := [monotonicity #16190]: #16185
-#16121 := [hypothesis]: #15044
-#16192 := [mp #16121 #16191]: #12245
-#12259 := (<= #5122 0::Int)
-#5068 := (+ #2037 #4079)
-#5229 := (<= #5068 0::Int)
+#18542 := [unit-resolution #3438 #18188]: #3880
+#18156 := (or #3885 #13323 #14131 #14134)
+#14205 := (+ #5352 #14133)
+#12308 := (>= #14205 0::Int)
+#11983 := (or #13323 #14131 #12308)
+#18152 := (or #3885 #11983)
+#18167 := (iff #18152 #18156)
+#18181 := (or #3885 #11985)
+#17096 := (iff #18181 #18156)
+#18166 := [rewrite]: #17096
+#18182 := (iff #18152 #18181)
+#12007 := (iff #11983 #11985)
+#14226 := (iff #12308 #14134)
+#11853 := (+ #5352 #13325)
+#14129 := (+ #2038 #11853)
+#14155 := (>= #14129 0::Int)
+#8205 := (iff #14155 #14134)
+#14211 := [rewrite]: #8205
+#14206 := (iff #12308 #14155)
+#12309 := (= #14205 #14129)
+#12299 := [rewrite]: #12309
+#14118 := [monotonicity #12299]: #14206
+#14132 := [trans #14118 #14211]: #14226
+#11847 := [monotonicity #14132]: #12007
+#17095 := [monotonicity #11847]: #18182
+#18163 := [trans #17095 #18166]: #18167
+#18175 := [quant-inst #2034 #5342]: #18152
+#18168 := [mp #18175 #18163]: #18156
+#18379 := [unit-resolution #18168 #18542]: #11985
+#18376 := [unit-resolution #18379 #18370 #18378]: #14134
+#15298 := (= #14210 0::Int)
+#15302 := (not #15298)
+#15303 := (or #15217 #13323 #15302)
+#3531 := (or #3896 #3888)
+#3535 := [def-axiom]: #3531
+#18380 := [unit-resolution #3535 #18188]: #3888
+#18219 := (or #3893 #15217 #13323 #15302)
+#15198 := (+ #2038 #5352)
+#15203 := (+ #13325 #15198)
+#15204 := (= #15203 0::Int)
+#15256 := (not #15204)
+#15257 := (or #15115 #13323 #15256)
+#18220 := (or #3893 #15257)
+#18239 := (iff #18220 #18219)
+#18247 := (or #3893 #15303)
+#18237 := (iff #18247 #18219)
+#18238 := [rewrite]: #18237
+#18253 := (iff #18220 #18247)
+#15292 := (iff #15257 #15303)
+#15304 := (iff #15256 #15302)
+#15275 := (iff #15204 #15298)
+#15285 := (= #14129 0::Int)
+#15299 := (iff #15285 #15298)
+#15297 := [rewrite]: #15299
+#15279 := (iff #15204 #15285)
+#15264 := (= #15203 #14129)
+#15254 := [rewrite]: #15264
+#15284 := [monotonicity #15254]: #15279
+#15300 := [trans #15284 #15297]: #15275
+#15289 := [monotonicity #15300]: #15304
+#15301 := [monotonicity #15202 #15289]: #15292
+#18254 := [monotonicity #15301]: #18253
+#18236 := [trans #18254 #18238]: #18239
+#18252 := [quant-inst #5342]: #18220
+#18242 := [mp #18252 #18236]: #18219
+#18381 := [unit-resolution #18242 #18380]: #15303
+#18382 := [unit-resolution #18381 #18370 #19109]: #15302
+#18393 := (not #18243)
+#18392 := (not #14134)
+#18388 := (or #15298 #18392 #18393)
+#18394 := [th-lemma arith triangle-eq]: #18388
+#18396 := [unit-resolution #18394 #18382 #18376 #18367]: false
+#18397 := [lemma #18396]: #4541
+#16386 := [mp #18397 #16391]: #9410
+#9307 := (not #9956)
+#9346 := (or #9307 #9944 #9685)
+#9347 := [def-axiom]: #9346
+#16392 := [unit-resolution #9347 #16386 #16374]: #9685
+#9688 := (or #9951 #9687)
+#9684 := [def-axiom]: #9688
+#16383 := [unit-resolution #9684 #16392]: #9687
+#16395 := [unit-resolution #16383 #16394]: false
+#16405 := [lemma #16395]: #15368
+#16379 := [hypothesis]: #15340
+#15365 := (or #7600 #15327 #15358)
+#15362 := (or #15327 #15358)
+#15360 := (or #7600 #15362)
+#15351 := (iff #15360 #15365)
+#15352 := [rewrite]: #15351
+#15364 := [quant-inst #181 #2034]: #15360
+#15353 := [mp #15364 #15352]: #15365
+#16275 := [unit-resolution #15353 #3612 #16379 #16405]: false
+#16404 := [lemma #16275]: #15358
+#16322 := [hypothesis]: #12121
+#16307 := (or #15340 #15379 #15402)
+#15400 := (or #15340 #15379 #15402 #10624)
+#15403 := [th-lemma arith assign-bounds -1 -1 1]: #15400
+#16283 := [unit-resolution #15403 #9459]: #16307
+#16319 := [unit-resolution #16283 #16322 #16404]: #15402
 #5241 := (+ #4079 #5123)
 #5242 := (+ #2037 #5241)
 #5243 := (= #5242 0::Int)
-#11519 := (<= #5242 0::Int)
-#7263 := (<= #4080 0::Int)
-#7366 := (= #185 #4078)
-#4131 := (= #4078 #185)
-#16125 := (iff #4131 #7366)
-#16136 := (iff #7366 #4131)
-#16124 := [commutativity]: #16136
-#16126 := [symm #16124]: #16125
+#12167 := (>= #5242 0::Int)
+#16360 := (or #12167 #15379)
+#15382 := (or #12167 #10624 #15379)
+#14315 := [th-lemma arith assign-bounds -1 1]: #15382
+#16376 := [unit-resolution #14315 #9459]: #16360
+#16377 := [unit-resolution #16376 #16322]: #12167
+#15390 := (not #12167)
+#16258 := (or #5243 #15390)
+#12074 := (<= #5242 0::Int)
+#4339 := (+ #110 #1146)
+#7776 := (<= #4339 0::Int)
+#4340 := (>= #4339 0::Int)
+#9693 := (not #4340)
+#4164 := (?v1!7 f28)
+#4165 := (f19 f20 #4164)
+#4166 := (* -1::Int #4165)
+#4167 := (+ #185 #4166)
+#4168 := (<= #4167 0::Int)
+#7320 := (not #4168)
+#4172 := (f6 f7 #4164)
+#4173 := (f5 #4172 f28)
+#4174 := (f4 #4173)
+#4175 := (* -1::Int #4174)
+#4176 := (+ #4166 #4175)
+#4177 := (+ #185 #4176)
+#4178 := (= #4177 0::Int)
+#4179 := (not #4178)
+#4169 := (f11 f21 #4164)
+#4170 := (= #4169 f1)
+#4171 := (not #4170)
+#4180 := (or #4168 #4171 #4179)
+#4181 := (not #4180)
+#4335 := (f11 f21 f16)
+#4336 := (= #4335 f1)
+#13038 := (or #3896 #2040 #4336)
+#12906 := [hypothesis]: #3899
+#12800 := [unit-resolution #3535 #12906]: #3888
+#7302 := (not #4336)
+#15705 := [hypothesis]: #7302
+#4341 := (or #4336 #4340)
+#7485 := (or #3825 #4336 #4340)
+#7486 := (or #3825 #4341)
+#7488 := (iff #7486 #7485)
+#7489 := [rewrite]: #7488
+#7487 := [quant-inst #65]: #7486
+#7490 := [mp #7487 #7489]: #7485
+#15712 := [unit-resolution #7490 #9789]: #4341
+#15713 := [unit-resolution #15712 #15705]: #4340
+#15716 := (or #9693 #4168)
+#7756 := (>= #4165 0::Int)
+#7707 := (not #7756)
+#7708 := [hypothesis]: #7707
+#7822 := (or #3722 #7756)
+#7824 := [quant-inst #4164]: #7822
+#7859 := [unit-resolution #7824 #7614 #7708]: false
+#7860 := [lemma #7859]: #7756
+#15719 := (or #9693 #7707 #4168)
+#7972 := (not #4504)
+#15717 := (or #9693 #7972 #7707 #4168)
+#15718 := [th-lemma arith assign-bounds -1 1 1]: #15717
+#15721 := [unit-resolution #15718 #7623]: #15719
+#15722 := [unit-resolution #15721 #7860]: #15716
+#15723 := [unit-resolution #15722 #15713]: #4168
+#7326 := (or #4180 #7320)
+#7330 := [def-axiom]: #7326
+#15728 := [unit-resolution #7330 #15723]: #4180
+#7978 := (or #4163 #4181)
+#3458 := (or #3968 #1323)
+#3461 := [def-axiom]: #3458
+#7977 := [unit-resolution #3461 #7802]: #1323
+#7294 := (or #3747 #4163 #1322 #4181)
+#4182 := (or #4163 #1322 #4181)
+#7297 := (or #3747 #4182)
+#7321 := (iff #7297 #7294)
+#7323 := [rewrite]: #7321
+#7298 := [quant-inst #181]: #7297
+#7324 := [mp #7298 #7323]: #7294
+#7979 := [unit-resolution #7324 #7427 #7977]: #7978
+#15748 := [unit-resolution #7979 #15728]: #4163
+#11585 := [unit-resolution #3440 #12906]: #2036
+#15405 := (or #15374 #2035 #7583 #3893)
+#15369 := (iff #2036 #15368)
+#15350 := (iff #2035 #15327)
+#15367 := (iff #15327 #2035)
+#12076 := (= f16 ?v0!20)
+#15366 := (iff #12076 #2035)
+#15354 := [commutativity]: #15366
+#15357 := (iff #15327 #12076)
+#15317 := [monotonicity #7835]: #15357
+#15318 := [trans #15317 #15354]: #15367
+#15336 := [symm #15318]: #15350
+#15370 := [monotonicity #15336]: #15369
+#15363 := [hypothesis]: #2036
+#15373 := [mp #15363 #15370]: #15368
+#15335 := [hypothesis]: #5182
+#15375 := (or #15374 #12121)
+#15376 := [th-lemma arith triangle-eq]: #15375
+#15378 := [unit-resolution #15376 #15335]: #12121
+#15381 := [unit-resolution #14315 #15378 #9459]: #12167
+#12123 := (>= #5179 0::Int)
+#14322 := (or #15374 #12123)
+#11027 := [th-lemma arith triangle-eq]: #14322
+#15349 := [unit-resolution #11027 #15335]: #12123
+#15265 := (not #12123)
+#14563 := (or #12074 #14493 #15265)
+#15266 := [th-lemma arith assign-bounds -1 1]: #14563
+#15286 := [unit-resolution #15266 #15349 #10752]: #12074
+#14562 := (not #12074)
+#15295 := (or #5243 #14562 #15390)
+#15391 := [th-lemma arith triangle-eq]: #15295
+#15392 := [unit-resolution #15391 #15286 #15381]: #5243
+#5248 := (not #5243)
+#15394 := (or #5229 #5248)
 #4429 := (f11 f29 f28)
 #4430 := (= #4429 f1)
 #4055 := (f11 #193 f28)
@@ -5787,13 +5686,13 @@
 #341 := [asserted]: #49
 #1523 := [mp~ #341 #1495]: #49
 #3639 := [mp #1523 #3638]: #3634
-#7340 := (not #3634)
-#7341 := (or #7340 #4056)
+#7192 := (not #3634)
+#7205 := (or #7192 #4056)
 #4058 := (iff #4056 #4057)
-#7342 := (or #7340 #4058)
-#7348 := (iff #7342 #7341)
-#7350 := (iff #7341 #7341)
-#7244 := [rewrite]: #7350
+#7206 := (or #7192 #4058)
+#7227 := (iff #7206 #7205)
+#7229 := (iff #7205 #7205)
+#7200 := [rewrite]: #7229
 #4066 := (iff #4058 #4056)
 #4061 := (iff #4056 true)
 #4064 := (iff #4061 #4056)
@@ -5801,71 +5700,30 @@
 #4062 := (iff #4058 #4061)
 #4063 := [monotonicity #4060]: #4062
 #4067 := [trans #4063 #4065]: #4066
-#7349 := [monotonicity #4067]: #7348
-#7353 := [trans #7349 #7244]: #7348
-#7343 := [quant-inst #115 #181 #3]: #7342
-#7354 := [mp #7343 #7353]: #7341
-#12605 := [unit-resolution #7354 #3639]: #4056
-#12706 := (= #4429 #4055)
-#12710 := [monotonicity #12662]: #12706
-#16193 := [trans #12710 #12605]: #4430
+#7228 := [monotonicity #4067]: #7227
+#7201 := [trans #7228 #7200]: #7227
+#7226 := [quant-inst #115 #181 #3]: #7206
+#7199 := [mp #7226 #7201]: #7205
+#15296 := [unit-resolution #7199 #3639]: #4056
+#14014 := (= #4429 #4055)
+#15393 := [monotonicity #8144]: #14014
+#15395 := [trans #15393 #15296]: #4430
+#15396 := [hypothesis]: #3888
 #4431 := (not #4430)
-#4432 := (or #4431 #4131)
-#7269 := (or #3860 #4431 #4131)
-#7362 := (or #3860 #4432)
-#7363 := (iff #7362 #7269)
-#7364 := [rewrite]: #7363
-#7360 := [quant-inst #181]: #7362
-#7365 := [mp #7360 #7364]: #7269
-#16189 := [unit-resolution #7365 #16079]: #4432
-#16194 := [unit-resolution #16189 #16193]: #4131
-#16138 := [mp #16194 #16126]: #7366
-#16186 := (not #7366)
-#16135 := (or #16186 #7263)
-#16139 := [th-lemma arith triangle-eq]: #16135
-#16157 := [unit-resolution #16139 #16138]: #7263
-#10310 := (>= #5179 0::Int)
-#12437 := [hypothesis]: #5182
-#12988 := (or #12584 #10310)
-#12982 := [th-lemma arith triangle-eq]: #12988
-#12899 := [unit-resolution #12982 #12437]: #10310
-#12990 := (not #10310)
-#14609 := (not #7263)
-#16158 := (or #11519 #14609 #12990)
-#16159 := [th-lemma arith assign-bounds -1 1]: #16158
-#16228 := [unit-resolution #16159 #12899 #16157]: #11519
-#10373 := (>= #5242 0::Int)
-#16229 := [unit-resolution #6974 #12445]: #4081
-#10316 := (<= #5179 0::Int)
-#12603 := (or #12584 #10316)
-#11489 := [th-lemma arith triangle-eq]: #12603
-#12604 := [unit-resolution #11489 #12437]: #10316
-#12705 := (not #10316)
-#16235 := (or #10373 #10190 #12705)
-#16241 := [th-lemma arith assign-bounds -1 1]: #16235
-#16242 := [unit-resolution #16241 #12604 #16229]: #10373
-#16244 := (not #11519)
-#16243 := (not #10373)
-#16245 := (or #5243 #16243 #16244)
-#16249 := [th-lemma arith triangle-eq]: #16245
-#16215 := [unit-resolution #16249 #16242 #16228]: #5243
-#5248 := (not #5243)
-#16216 := (or #5229 #5248)
-#13006 := [hypothesis]: #3888
-#11224 := (or #3893 #5229 #4431 #5248)
-#5217 := (+ #4078 #5178)
-#5220 := (= #5217 0::Int)
+#12122 := (or #3893 #5229 #4431 #5248)
+#5219 := (+ #4078 #5178)
+#5220 := (= #5219 0::Int)
 #5221 := (not #5220)
 #5209 := (+ #4078 #2038)
 #5210 := (>= #5209 0::Int)
 #5222 := (or #5210 #4431 #5221)
-#10746 := (or #3893 #5222)
-#13415 := (iff #10746 #11224)
+#12125 := (or #3893 #5222)
+#12149 := (iff #12125 #12122)
 #5251 := (or #5229 #4431 #5248)
-#13664 := (or #3893 #5251)
-#11836 := (iff #13664 #11224)
-#11867 := [rewrite]: #11836
-#12522 := (iff #10746 #13664)
+#12146 := (or #3893 #5251)
+#12083 := (iff #12146 #12122)
+#12143 := [rewrite]: #12083
+#12131 := (iff #12125 #12146)
 #5252 := (iff #5222 #5251)
 #5249 := (iff #5221 #5248)
 #5246 := (iff #5220 #5243)
@@ -5875,7 +5733,7 @@
 #5244 := (iff #5238 #5243)
 #5245 := [rewrite]: #5244
 #5239 := (iff #5220 #5238)
-#5236 := (= #5217 #5235)
+#5236 := (= #5219 #5235)
 #5237 := [rewrite]: #5236
 #5240 := [monotonicity #5237]: #5239
 #5247 := [trans #5240 #5245]: #5246
@@ -5891,48 +5749,300 @@
 #5228 := [monotonicity #5225]: #5227
 #5233 := [trans #5228 #5231]: #5232
 #5253 := [monotonicity #5233 #5250]: #5252
-#11978 := [monotonicity #5253]: #12522
-#12915 := [trans #11978 #11867]: #13415
-#10907 := [quant-inst #181]: #10746
-#11685 := [mp #10907 #12915]: #11224
-#16217 := [unit-resolution #11685 #13006 #16193]: #16216
-#16220 := [unit-resolution #16217 #16215]: #5229
-#16221 := (not #5229)
-#16195 := (or #12259 #16243 #16221)
-#16222 := [th-lemma arith assign-bounds 1 -1]: #16195
-#16223 := [unit-resolution #16222 #16242 #16220]: #12259
-#12250 := (not #12259)
-#12251 := (or #12244 #12250)
-#16038 := (or #7204 #12244 #12250)
-#16039 := (or #7204 #12251)
-#16034 := (iff #16039 #16038)
-#16042 := [rewrite]: #16034
-#16004 := [quant-inst #181 #2034]: #16039
-#16043 := [mp #16004 #16042]: #16038
-#16224 := [unit-resolution #16043 #3612]: #12251
-#16214 := [unit-resolution #16224 #16223 #16192]: false
-#16248 := [lemma #16214]: #16225
-#13535 := [unit-resolution #16248 #13462 #11676]: #11448
-#10531 := (or #11454 #15044)
-#10525 := [def-axiom]: #10531
-#13564 := [unit-resolution #10525 #13535]: #11454
-#10513 := (not #11454)
-#10578 := (or #10516 #11447 #10513)
-#10577 := [def-axiom]: #10578
-#13561 := [unit-resolution #10577 #13564]: #13559
-#13556 := [unit-resolution #13561 #13463]: #11447
-#13567 := (= #4533 #11446)
-#13557 := [monotonicity #12662]: #13567
-#13603 := [trans #13557 #13556]: #4534
-#4541 := (not #4534)
-#5090 := (or #4541 #5087)
-#10267 := (or #3860 #4541 #5087)
-#10275 := (or #3860 #5090)
-#10272 := (iff #10275 #10267)
-#10278 := [rewrite]: #10272
-#10276 := [quant-inst #2034]: #10275
-#10292 := [mp #10276 #10278]: #10267
-#12904 := [unit-resolution #10292 #16079]: #5090
-#13444 := [unit-resolution #12904 #13464]: #4541
-[unit-resolution #13444 #13603]: false
+#12082 := [monotonicity #5253]: #12131
+#12147 := [trans #12082 #12143]: #12149
+#12075 := [quant-inst #181]: #12125
+#12124 := [mp #12075 #12147]: #12122
+#15399 := [unit-resolution #12124 #15396 #15395]: #15394
+#15401 := [unit-resolution #15399 #15392]: #5229
+#15397 := [unit-resolution #15403 #15378 #15401 #9459]: #15340
+#15398 := [unit-resolution #15353 #3612]: #15362
+#15404 := [unit-resolution #15398 #15397 #15373]: false
+#15406 := [lemma #15404]: #15405
+#11721 := [unit-resolution #15406 #11585 #15748 #12800]: #15374
+#12105 := (not #5125)
+#5149 := (not #5146)
+#15784 := (or #15969 #4336 #2040 #2035)
+#15708 := [unit-resolution #15971 #15965 #13634]: #15968
+#15709 := [unit-resolution #12292 #7427 #15363]: #15703
+#15710 := [unit-resolution #15709 #15708]: #5359
+#12264 := (or #5358 #5348)
+#12306 := [def-axiom]: #12264
+#15453 := [unit-resolution #12306 #15710]: #5348
+#15775 := (= #4335 #5347)
+#15780 := (= #182 #5347)
+#15777 := (= f28 #5342)
+#15752 := (= f16 #5342)
+#13856 := (= #5342 f16)
+#13857 := (?v1!7 #5342)
+#13952 := (f6 f7 #13857)
+#13906 := (f5 #13952 #5342)
+#13881 := (f4 #13906)
+#13913 := (* -1::Int #13881)
+#13835 := (f19 f20 #13857)
+#13871 := (* -1::Int #13835)
+#13806 := (+ #13871 #13913)
+#11518 := (+ #5343 #13806)
+#11879 := (= #11518 0::Int)
+#13861 := (not #11879)
+#13937 := (f11 f21 #13857)
+#13943 := (= #13937 f1)
+#13938 := (not #13943)
+#13870 := (+ #5343 #13871)
+#13936 := (<= #13870 0::Int)
+#11576 := (or #13936 #13938 #13861)
+#12649 := (+ #185 #5344)
+#12802 := (>= #12649 0::Int)
+#11633 := (or #3731 #183 #5349 #12802)
+#11028 := (or #183 #5349 #12802)
+#12259 := (or #3731 #11028)
+#11754 := (iff #12259 #11633)
+#12879 := [rewrite]: #11754
+#12287 := [quant-inst #5342 #181]: #12259
+#12883 := [mp #12287 #12879]: #11633
+#15747 := [unit-resolution #12883 #8156 #8155 #15453]: #12802
+#17243 := (not #12802)
+#17244 := (or #13936 #9693 #17243)
+#17239 := [hypothesis]: #12802
+#14038 := (not #13936)
+#17240 := [hypothesis]: #14038
+#17043 := (>= #13835 0::Int)
+#17063 := (or #3722 #17043)
+#17064 := [quant-inst #13857]: #17063
+#17241 := [unit-resolution #17064 #7614]: #17043
+#9714 := [hypothesis]: #4340
+#17242 := [th-lemma arith farkas -1 1 1 1 1 #7623 #9714 #17241 #17240 #17239]: false
+#17245 := [lemma #17242]: #17244
+#15749 := [unit-resolution #17245 #15747 #15713]: #13936
+#14010 := (or #11576 #14038)
+#14095 := [def-axiom]: #14010
+#15750 := [unit-resolution #14095 #15749]: #11576
+#13847 := (+ f3 #5344)
+#13841 := (<= #13847 0::Int)
+#16579 := (not #13841)
+#15746 := [unit-resolution #12297 #15710]: #12311
+#16524 := (or #16579 #2040 #15969 #5346)
+#16576 := [hypothesis]: #13841
+#16577 := [hypothesis]: #12311
+#16578 := [th-lemma arith farkas 1 1 1 1 #13634 #15965 #16577 #16576]: false
+#16580 := [lemma #16578]: #16524
+#15711 := [unit-resolution #16580 #15965 #13634 #15746]: #16579
+#13912 := (not #11576)
+#13915 := (or #13856 #13841 #13912)
+#14033 := (or #3747 #13856 #13841 #13912)
+#14036 := (or #3747 #13915)
+#14009 := (iff #14036 #14033)
+#14008 := [rewrite]: #14009
+#14011 := [quant-inst #5342]: #14036
+#14037 := [mp #14011 #14008]: #14033
+#15720 := [unit-resolution #14037 #7427]: #13915
+#15751 := [unit-resolution #15720 #15711 #15750]: #13856
+#15753 := [symm #15751]: #15752
+#15778 := [trans #15748 #15753]: #15777
+#15754 := [monotonicity #15778]: #15780
+#15776 := (= #4335 #182)
+#15727 := [symm #15748]: #7836
+#15779 := [monotonicity #15727]: #15776
+#15782 := [trans #15779 #15754]: #15775
+#15783 := [trans #15782 #15453]: #4336
+#15781 := [unit-resolution #15705 #15783]: false
+#15786 := [lemma #15781]: #15784
+#12801 := [unit-resolution #15786 #11585 #13634 #15705]: #15969
+#12564 := [unit-resolution #12636 #12801]: #11867
+#5152 := (or #5149 #5087)
+#11970 := (or #3843 #5149 #5087)
+#5126 := (+ #1146 #5123)
+#5127 := (+ #5080 #5126)
+#5128 := (<= #5127 0::Int)
+#5129 := (or #5125 #5128)
+#5130 := (not #5129)
+#5131 := (or #5130 #5087)
+#12023 := (or #3843 #5131)
+#12067 := (iff #12023 #11970)
+#12068 := (or #3843 #5152)
+#12042 := (iff #12068 #11970)
+#12107 := [rewrite]: #12042
+#12058 := (iff #12023 #12068)
+#5153 := (iff #5131 #5152)
+#5150 := (iff #5130 #5149)
+#5147 := (iff #5129 #5146)
+#5144 := (iff #5128 #5141)
+#5132 := (+ #5080 #5123)
+#5133 := (+ #1146 #5132)
+#5136 := (<= #5133 0::Int)
+#5142 := (iff #5136 #5141)
+#5143 := [rewrite]: #5142
+#5137 := (iff #5128 #5136)
+#5134 := (= #5127 #5133)
+#5135 := [rewrite]: #5134
+#5138 := [monotonicity #5135]: #5137
+#5145 := [trans #5138 #5143]: #5144
+#5148 := [monotonicity #5145]: #5147
+#5151 := [monotonicity #5148]: #5150
+#5154 := [monotonicity #5151]: #5153
+#12062 := [monotonicity #5154]: #12058
+#12070 := [trans #12062 #12107]: #12067
+#12017 := [quant-inst #2034]: #12023
+#12084 := [mp #12017 #12070]: #11970
+#9728 := [unit-resolution #12084 #7803]: #5152
+#12860 := [unit-resolution #9728 #12564]: #5149
+#12072 := (or #5146 #12105)
+#12071 := [def-axiom]: #12072
+#13044 := [unit-resolution #12071 #12860]: #12105
+#12081 := (not #5141)
+#12073 := (or #5146 #12081)
+#12118 := [def-axiom]: #12073
+#13025 := [unit-resolution #12118 #12860]: #12081
+#5185 := (or #5125 #5141 #5182)
+#12077 := (or #3835 #5125 #5141 #5182)
+#5174 := (+ #5122 #2038)
+#5175 := (+ #185 #5174)
+#5176 := (= #5175 0::Int)
+#5177 := (or #5125 #5128 #5176)
+#12079 := (or #3835 #5177)
+#12130 := (iff #12079 #12077)
+#12113 := (or #3835 #5185)
+#12114 := (iff #12113 #12077)
+#12129 := [rewrite]: #12114
+#12117 := (iff #12079 #12113)
+#5186 := (iff #5177 #5185)
+#5183 := (iff #5176 #5182)
+#5180 := (= #5175 #5179)
+#5181 := [rewrite]: #5180
+#5184 := [monotonicity #5181]: #5183
+#5187 := [monotonicity #5145 #5184]: #5186
+#12115 := [monotonicity #5187]: #12117
+#12109 := [trans #12115 #12129]: #12130
+#12120 := [quant-inst #2034]: #12079
+#12128 := [mp #12120 #12109]: #12077
+#11095 := [unit-resolution #12128 #7967]: #5185
+#13026 := [unit-resolution #11095 #13025 #13044 #11721]: false
+#11841 := [lemma #13026]: #13038
+#18190 := [unit-resolution #11841 #18188 #18189]: #4336
+#9665 := (or #7583 #7302)
+#8260 := [hypothesis]: #4336
+#9629 := (= #182 #4335)
+#9567 := [monotonicity #7835]: #9629
+#7820 := [trans #9567 #8260]: #183
+#7888 := [unit-resolution #8155 #7820]: false
+#7765 := [lemma #7888]: #9665
+#18191 := [unit-resolution #7765 #18190]: #7583
+#18192 := [unit-resolution #7979 #18191]: #4181
+#18193 := [unit-resolution #7330 #18192]: #7320
+#16378 := [unit-resolution #15722 #18193]: #9693
+#16277 := (or #7776 #4340)
+#16270 := [th-lemma arith farkas 1 1]: #16277
+#16406 := [unit-resolution #16270 #16378]: #7776
+#9345 := (not #7776)
+#12779 := (or #12074 #9345 #2040 #3885)
+#12732 := [hypothesis]: #14562
+#12904 := (or #5125 #12074)
+#12870 := [hypothesis]: #3880
+#12757 := (or #3885 #4431 #5125 #12074)
+#15309 := (+ #5122 #5209)
+#15305 := (>= #15309 0::Int)
+#15310 := (or #4431 #5125 #15305)
+#12733 := (or #3885 #15310)
+#12657 := (iff #12733 #12757)
+#15344 := (or #4431 #5125 #12074)
+#12731 := (or #3885 #15344)
+#12778 := (iff #12731 #12757)
+#12664 := [rewrite]: #12778
+#12760 := (iff #12733 #12731)
+#15345 := (iff #15310 #15344)
+#15319 := (iff #15305 #12074)
+#15287 := (>= #5235 0::Int)
+#15315 := (iff #15287 #12074)
+#15321 := [rewrite]: #15315
+#15312 := (iff #15305 #15287)
+#15307 := (= #15309 #5235)
+#15311 := [rewrite]: #15307
+#15313 := [monotonicity #15311]: #15312
+#15342 := [trans #15313 #15321]: #15319
+#15343 := [monotonicity #15342]: #15345
+#12770 := [monotonicity #15343]: #12760
+#12730 := [trans #12770 #12664]: #12657
+#12432 := [quant-inst #2034 #181]: #12733
+#12772 := [mp #12432 #12730]: #12757
+#12909 := [unit-resolution #12772 #12870 #15395]: #12904
+#12907 := [unit-resolution #12909 #12732]: #5125
+#12775 := (or #12167 #12074)
+#12881 := [th-lemma arith farkas 1 1]: #12775
+#12865 := [unit-resolution #12881 #12732]: #12167
+#9736 := [hypothesis]: #7776
+#3233 := (>= #110 0::Int)
+#4506 := (or #3722 #3233)
+#4549 := [quant-inst #65]: #4506
+#9790 := [unit-resolution #4549 #7614]: #3233
+#12861 := [th-lemma arith farkas 1 1 1 1 -1 1 #10752 #9790 #9736 #12865 #12907 #13634]: false
+#12858 := [lemma #12861]: #12779
+#16384 := [unit-resolution #12858 #16406 #18189 #18542]: #12074
+#16235 := [unit-resolution #15391 #16384]: #16258
+#16285 := [unit-resolution #16235 #16377]: #5243
+#16416 := [unit-resolution #12124 #18380]: #5251
+#16417 := [unit-resolution #16416 #15395]: #15394
+#16408 := [unit-resolution #16417 #16285 #16319]: false
+#16407 := [lemma #16408]: #15379
+#16321 := [unit-resolution #15376 #16407]: #15374
+#16309 := [hypothesis]: #5149
+#16410 := [unit-resolution #12071 #16309]: #12105
+#16431 := [unit-resolution #12118 #16309]: #12081
+#16434 := [unit-resolution #11095 #16431 #16410 #16321]: false
+#16432 := [lemma #16434]: #5146
+#16614 := [unit-resolution #9728 #16432]: #5087
+#16615 := [unit-resolution #12636 #16614]: #12022
+#16603 := [unit-resolution #19099 #16615]: #15968
+#16597 := [unit-resolution #19102 #16603]: #5359
+#16549 := [unit-resolution #15554 #16597]: #5356
+#16573 := [unit-resolution #18361 #16549]: #15530
+#16590 := [unit-resolution #18365 #19087 #16615 #16573]: #18243
+#16554 := [unit-resolution #18373 #18368 #16573 #16615]: #18369
+#16552 := (f11 #193 #5342)
+#16553 := (= #16552 f1)
+#16559 := (= #5342 f28)
+#16561 := (or #16559 #5348)
+#16545 := (iff #16553 #16561)
+#16568 := (or #7518 #16545)
+#16522 := (if #16559 #4057 #5348)
+#16560 := (iff #16553 #16522)
+#16569 := (or #7518 #16560)
+#16571 := (iff #16569 #16568)
+#16563 := (iff #16568 #16568)
+#16588 := [rewrite]: #16563
+#16567 := (iff #16560 #16545)
+#16564 := (iff #16522 #16561)
+#16557 := (if #16559 true #5348)
+#16565 := (iff #16557 #16561)
+#16547 := [rewrite]: #16565
+#16562 := (iff #16522 #16557)
+#16548 := [monotonicity #4060]: #16562
+#16566 := [trans #16548 #16547]: #16564
+#16546 := [monotonicity #16566]: #16567
+#16574 := [monotonicity #16546]: #16571
+#16586 := [trans #16574 #16588]: #16571
+#16572 := [quant-inst #115 #181 #3 #5342]: #16569
+#16589 := [mp #16572 #16586]: #16568
+#16611 := [unit-resolution #16589 #3646]: #16545
+#16373 := (not #16545)
+#16635 := (or #16373 #16553)
+#16598 := [unit-resolution #12306 #16597]: #5348
+#15874 := (or #16561 #5349)
+#16585 := [def-axiom]: #15874
+#16596 := [unit-resolution #16585 #16598]: #16561
+#15886 := (not #16561)
+#16515 := (or #16373 #16553 #15886)
+#16581 := [def-axiom]: #16515
+#16599 := [unit-resolution #16581 #16596]: #16635
+#16620 := [unit-resolution #16599 #16611]: #16553
+#16621 := (= #13322 #16552)
+#16619 := [monotonicity #8144]: #16621
+#16595 := [trans #16619 #16620]: #13321
+#16610 := [hypothesis]: #13323
+#16622 := [unit-resolution #16610 #16595]: false
+#16600 := [lemma #16622]: #13321
+#16372 := [unit-resolution #18379 #16600 #16554]: #14134
+#16550 := [unit-resolution #12297 #16597]: #12311
+#16043 := [unit-resolution #19108 #19087 #16615 #16550]: #19105
+#16044 := [unit-resolution #18381 #16600 #16043]: #15302
+[unit-resolution #18394 #16044 #16372 #16590]: false
 unsat
--- a/src/HOL/Boogie/Examples/Boogie_Dijkstra.thy	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Dijkstra.thy	Tue Jan 01 11:36:30 2013 +0100
@@ -44,7 +44,7 @@
 
   havoc Visited;
   assume (forall x: Vertex :: !Visited[x]);
-            
+
   while ((exists x: Vertex :: !Visited[x] && SP[x] < Infinity))
     invariant (SP[Source] == 0);
     invariant (forall x: Vertex :: SP[x] >= 0);
@@ -81,13 +81,13 @@
 
 boogie_open "Boogie_Dijkstra.b2i"
 
+declare [[smt_oracle = false]]
 declare [[smt_certificates = "Boogie_Dijkstra.certs"]]
 declare [[smt_read_only_certificates = true]]
-declare [[smt_oracle = false]]
 
 boogie_vc Dijkstra
   by boogie
 
-boogie_end 
+boogie_end
 
 end
--- a/src/HOL/Boogie/Examples/Boogie_Max.certs	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Max.certs	Tue Jan 01 11:36:30 2013 +0100
@@ -1,4 +1,4 @@
-1a4173e577cb1c2445a5c7913a23b8824b6da092 2068 0
+eee9884a5180a7912a5ef68307278a15fda1f81a 2068 0
 #2 := false
 decl f16 :: (-> S11 Int Int)
 decl ?v0!3 :: Int
@@ -1931,17 +1931,17 @@
 #2471 := (= f19 ?v0!3)
 #2412 := (+ f19 #1307)
 #2468 := (>= #2412 0::Int)
-#2126 := (>= #801 -1::Int)
+#1836 := (>= #801 -1::Int)
 #2069 := (or #2249 #800)
 #2079 := [def-axiom]: #2069
 #2519 := [unit-resolution #2079 #2493]: #800
-#2520 := (or #804 #2126)
+#2520 := (or #804 #1836)
 #2521 := [th-lemma arith triangle-eq]: #2520
-#2522 := [unit-resolution #2521 #2519]: #2126
+#2522 := [unit-resolution #2521 #2519]: #1836
 #1839 := (or #1562 #1314)
 #2117 := [def-axiom]: #1839
 #2523 := [unit-resolution #2117 #2506]: #1314
-#2524 := (not #2126)
+#2524 := (not #1836)
 #2525 := (or #2468 #1309 #2524)
 #2526 := [th-lemma arith assign-bounds 1 1]: #2525
 #2527 := [unit-resolution #2526 #2523 #2522]: #2468
@@ -2053,7 +2053,7 @@
 #2094 := (or #2243 #800)
 #2092 := [def-axiom]: #2094
 #2575 := [unit-resolution #2092 #2400]: #800
-#2576 := [unit-resolution #2521 #2575]: #2126
+#2576 := [unit-resolution #2521 #2575]: #1836
 #2577 := [unit-resolution #2117 #2568]: #1314
 #2578 := [unit-resolution #2526 #2577 #2576]: #2468
 #2103 := (or #2243 #816)
--- a/src/HOL/Boogie/Examples/Boogie_Max.thy	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Max.thy	Tue Jan 01 11:36:30 2013 +0100
@@ -38,9 +38,9 @@
 
 boogie_open "Boogie_Max.b2i"
 
+declare [[smt_oracle = false]]
 declare [[smt_certificates = "Boogie_Max.certs"]]
 declare [[smt_read_only_certificates = true]]
-declare [[smt_oracle = false]]
 
 boogie_vc max
   by boogie
--- a/src/HOL/Boogie/Examples/VCC_Max.certs	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/Boogie/Examples/VCC_Max.certs	Tue Jan 01 11:36:30 2013 +0100
@@ -1,4 +1,5 @@
-6251e8618aec972cc2cf1ba9a08a1bd063814dcc 6998 2
+9a9ab80682b150e7787270177bdf3c56aeb0e8b5 6998 0
+WARNING: For problems containing quantifiers, the model finding capabilities of Z3 work better when the formula does not contain nested quantifiers. You can use PULL_NESTED_QUANTIFIERS=true to eliminate nested quantifiers.
 #2 := false
 #184 := 0::Int
 decl f20 :: (-> S16 S10 Int)
@@ -46,7 +47,7 @@
 #5004 := f483
 #12505 := (* -1::Int f483)
 #12568 := (+ f475 #12505)
-#21385 := (>= #12568 -1::Int)
+#21386 := (>= #12568 -1::Int)
 #12567 := (= #12568 -1::Int)
 decl f481 :: Int
 #4994 := f481
@@ -287,7 +288,7 @@
 #17027 := (not #4974)
 #25647 := (or #17027 #25646)
 #25648 := (not #25647)
-#25738 := [hypothesis]: #25647
+#25740 := [hypothesis]: #25647
 decl f15 :: (-> S12 S11 S1)
 decl f31 :: (-> S23 S10 S11)
 #4696 := (f20 f179 #4695)
@@ -3994,8 +3995,8 @@
 #24440 := [def-axiom]: #24439
 #24948 := [unit-resolution #24440 #24901 #24689]: #24104
 #24648 := (or #24105 #24067 #24103)
-#24435 := [def-axiom]: #24648
-#24949 := [unit-resolution #24435 #24948 #25001]: #24103
+#24437 := [def-axiom]: #24648
+#24949 := [unit-resolution #24437 #24948 #25001]: #24103
 #22689 := (f26 f14)
 #22690 := (= #22689 f29)
 #22697 := (iff #3535 #22690)
@@ -4018,7 +4019,7 @@
 #22707 := (or #22702 #22706 #22690)
 #22708 := [def-axiom]: #22707
 #24817 := [unit-resolution #22708 #9904]: #24816
-#24437 := [unit-resolution #24817 #24914]: #22690
+#24436 := [unit-resolution #24817 #24914]: #22690
 #24952 := (= #24069 #22689)
 #24960 := (= #24068 f14)
 #24946 := (or #24206 #23898)
@@ -4030,7 +4031,7 @@
 #24540 := [monotonicity #24997]: #24951
 #24961 := [trans #24540 #24950]: #24960
 #24953 := [monotonicity #24961]: #24952
-#24945 := [trans #24953 #24437]: #24070
+#24945 := [trans #24953 #24436]: #24070
 #24193 := (not #23991)
 #24967 := (iff #24193 #24075)
 #24628 := (iff #23991 #24074)
@@ -4353,10 +4354,10 @@
 #24916 := [hypothesis]: #24084
 #24902 := (= #24208 #24083)
 #24852 := (= #24205 #24082)
-#24732 := (= #24204 #24076)
-#24733 := (= #23860 #24072)
-#24898 := [symm #25184]: #24733
-#24851 := [monotonicity #24898]: #24732
+#24731 := (= #24204 #24076)
+#24732 := (= #23860 #24072)
+#24898 := [symm #25184]: #24732
+#24851 := [monotonicity #24898]: #24731
 #24869 := [monotonicity #24851]: #24852
 #24903 := [monotonicity #24869]: #24902
 #24920 := [trans #24903 #24916]: #24209
@@ -4392,8 +4393,8 @@
 #9822 := [asserted]: #3339
 #16700 := [mp~ #9822 #16699]: #3339
 #20697 := [mp #16700 #20696]: #20694
-#24436 := (not #20694)
-#24847 := (or #24436 #24214)
+#24435 := (not #20694)
+#24847 := (or #24435 #24214)
 #24835 := [quant-inst #23860]: #24847
 #24684 := [unit-resolution #24835 #20697]: #24214
 #24899 := (or #24213 #24836)
@@ -6094,10 +6095,10 @@
 #22099 := [def-axiom]: #22098
 #25712 := [unit-resolution #22099 #25678]: #12750
 #25676 := (or #25675 #12751 #17520)
-#25667 := [hypothesis]: #22077
+#25669 := [hypothesis]: #22077
 #25670 := [hypothesis]: #12750
 #25673 := [hypothesis]: #24661
-#25674 := [th-lemma arith farkas -1 -1 1 #25673 #25670 #25667]: false
+#25674 := [th-lemma arith farkas -1 -1 1 #25673 #25670 #25669]: false
 #25677 := [lemma #25674]: #25676
 #25713 := [unit-resolution #25677 #25712 #25711]: #25675
 #25717 := (or #24661 #24673)
@@ -6190,10 +6191,10 @@
 #25657 := [trans #25654 #25658]: #25659
 #25661 := [monotonicity #25657]: #25656
 #25671 := [monotonicity #25661]: #25666
-#25668 := [trans #25671 #24699]: #25644
+#25667 := [trans #25671 #24699]: #25644
 #25664 := [quant-inst #4688 #4694 #23310 #4685 #4829 #20]: #25663
-#25669 := [mp #25664 #25668]: #25662
-#25746 := [unit-resolution #25669 #20130 #9904 #13302 #25745 #25744 #24326 #25738]: false
+#25668 := [mp #25664 #25667]: #25662
+#25746 := [unit-resolution #25668 #20130 #9904 #13302 #25745 #25744 #24326 #25740]: false
 #25747 := [lemma #25746]: #25648
 #25572 := (or #25647 #4974)
 #25591 := [def-axiom]: #25572
@@ -6313,13 +6314,13 @@
 #25618 := [monotonicity #25616]: #25617
 #25619 := [trans #25618 #25599]: #25459
 #25466 := (not #25459)
-#25592 := [hypothesis]: #25460
+#25594 := [hypothesis]: #25460
 #25596 := (or #25465 #25466)
 #25595 := [hypothesis]: #17024
 #25467 := (or #25465 #4972 #25466)
 #25468 := [def-axiom]: #25467
 #25597 := [unit-resolution #25468 #25595]: #25596
-#25598 := [unit-resolution #25597 #25592]: #25466
+#25598 := [unit-resolution #25597 #25594]: #25466
 #25620 := [unit-resolution #25598 #25619]: false
 #25622 := [lemma #25620]: #25621
 #25845 := [unit-resolution #25622 #25584]: #4972
@@ -6330,21 +6331,21 @@
 #26282 := [monotonicity #26467]: #26429
 #26285 := [trans #26282 #26368]: #25570
 #26455 := [monotonicity #26285]: #26263
-#26378 := [trans #26455 #24437]: #25779
+#26378 := [trans #26455 #24436]: #25779
 #25565 := (not #25646)
 #26459 := (iff #25565 #25784)
 #26432 := (iff #25646 #25783)
 #26435 := (iff #25783 #25646)
 #26380 := (= #25782 #25634)
-#26826 := (= #25781 #25534)
-#26827 := [monotonicity #26467]: #26826
-#26437 := [monotonicity #26827]: #26380
+#26824 := (= #25781 #25534)
+#26825 := [monotonicity #26467]: #26824
+#26437 := [monotonicity #26825]: #26380
 #26438 := [monotonicity #26437]: #26435
 #26436 := [symm #26438]: #26432
 #26396 := [monotonicity #26436]: #26459
-#25593 := (or #25647 #25565)
-#25594 := [def-axiom]: #25593
-#25892 := [unit-resolution #25594 #25747]: #25565
+#25592 := (or #25647 #25565)
+#25593 := [def-axiom]: #25592
+#25892 := [unit-resolution #25593 #25747]: #25565
 #25915 := [mp #25892 #26396]: #25784
 #25971 := (or #25789 #25783)
 #25866 := [def-axiom]: #25971
@@ -6395,10 +6396,10 @@
 #26671 := (or #26515 #26509)
 #26672 := [def-axiom]: #26671
 #26431 := [unit-resolution #26672 #26707]: #26509
-#26868 := (or #26512 #25795)
-#26864 := (= #25794 #4701)
-#26838 := (= #25785 #4697)
-#26836 := (= #25785 #23981)
+#26866 := (or #26512 #25795)
+#26862 := (= #25794 #4701)
+#26836 := (= #25785 #4697)
+#26834 := (= #25785 #23981)
 #26397 := (f107 #25017 f475)
 #26398 := (f106 #26397 f14)
 #26399 := (f101 #4915 #26398)
@@ -6435,15 +6436,15 @@
 #26389 := [lemma #26567]: #26412
 #25918 := (or #26411 #26401)
 #25919 := [def-axiom]: #25918
-#26848 := [unit-resolution #25919 #26389]: #26401
-#26834 := (= #25785 #26400)
-#26832 := (= #25781 #26399)
-#26830 := (= #25534 #26399)
-#26828 := (= #26399 #25534)
-#26824 := (= #26398 #4969)
+#26846 := [unit-resolution #25919 #26389]: #26401
+#26832 := (= #25785 #26400)
+#26830 := (= #25781 #26399)
+#26828 := (= #25534 #26399)
+#26826 := (= #26399 #25534)
+#26822 := (= #26398 #4969)
 #24706 := (f20 f179 #4969)
 #25632 := (f53 #4693 #24706)
-#26818 := (= #25632 #4969)
+#26816 := (= #25632 #4969)
 #25722 := (= #4969 #25632)
 #25732 := (or #23327 #17024 #25722)
 #25730 := (or #17024 #25722)
@@ -6452,54 +6453,52 @@
 #25736 := [rewrite]: #25735
 #25734 := [quant-inst #4969 #20]: #25733
 #25737 := [mp #25734 #25736]: #25732
-#26735 := [unit-resolution #25737 #16720 #25845]: #25722
-#26819 := [symm #26735]: #26818
-#26822 := (= #26398 #25632)
-#26816 := (= #26506 #25632)
-#26806 := (= #26503 #24706)
-#26720 := (= #24706 #26503)
-#26728 := (* -1::Int #25486)
-#26676 := (* -1::Int #24787)
-#26729 := (+ #26676 #26728)
-#26730 := (+ #24706 #26729)
-#26731 := (<= #26730 0::Int)
+#26733 := [unit-resolution #25737 #16720 #25845]: #25722
+#26817 := [symm #26733]: #26816
+#26820 := (= #26398 #25632)
+#26814 := (= #26506 #25632)
+#26804 := (= #26503 #24706)
+#26726 := (= #24706 #26503)
+#26727 := (* -1::Int #26503)
+#26728 := (+ #24706 #26727)
+#26729 := (<= #26728 0::Int)
 #24466 := (* -1::Int #23868)
 #24469 := (+ #22387 #24466)
 #24471 := (>= #24469 0::Int)
 #24465 := (= #22387 #23868)
-#26739 := (= #4696 #23868)
-#26737 := (= #23868 #4696)
-#26736 := [trans #24353 #25602]: #24356
-#26738 := [monotonicity #26736]: #26737
-#26740 := [symm #26738]: #26739
-#26741 := [trans #25148 #26740]: #24465
-#26742 := (not #24465)
-#26778 := (or #26742 #24471)
-#26779 := [th-lemma arith triangle-eq]: #26778
-#26780 := [unit-resolution #26779 #26741]: #24471
+#26737 := (= #4696 #23868)
+#26735 := (= #23868 #4696)
+#26734 := [trans #24353 #25602]: #24356
+#26736 := [monotonicity #26734]: #26735
+#26738 := [symm #26736]: #26737
+#26739 := [trans #25148 #26738]: #24465
+#26740 := (not #24465)
+#26776 := (or #26740 #24471)
+#26777 := [th-lemma arith triangle-eq]: #26776
+#26778 := [unit-resolution #26777 #26739]: #24471
 #25427 := (* -1::Int #24276)
 #25428 := (+ #23868 #25427)
 #25430 := (>= #25428 0::Int)
 #25426 := (= #23868 #24276)
-#26746 := (= #24276 #23868)
-#26747 := [monotonicity #24997]: #26746
-#26748 := [symm #26747]: #25426
-#26749 := (not #25426)
-#26781 := (or #26749 #25430)
-#26782 := [th-lemma arith triangle-eq]: #26781
-#26783 := [unit-resolution #26782 #26748]: #25430
+#26744 := (= #24276 #23868)
+#26745 := [monotonicity #24997]: #26744
+#26746 := [symm #26745]: #25426
+#26747 := (not #25426)
+#26779 := (or #26747 #25430)
+#26780 := [th-lemma arith triangle-eq]: #26779
+#26781 := [unit-resolution #26780 #26746]: #25430
 #25573 := (f20 f179 #25492)
 #25580 := (* -1::Int #25573)
 #25768 := (+ #24706 #25580)
 #25771 := (<= #25768 0::Int)
-#25765 := (= #24706 #25573)
-#26753 := (= #25573 #24706)
-#26754 := [monotonicity #26467]: #26753
-#26755 := [symm #26754]: #25765
-#26756 := (not #25765)
-#26784 := (or #26756 #25771)
-#26785 := [th-lemma arith triangle-eq]: #26784
-#26786 := [unit-resolution #26785 #26755]: #25771
+#25767 := (= #24706 #25573)
+#26751 := (= #25573 #24706)
+#26752 := [monotonicity #26467]: #26751
+#26753 := [symm #26752]: #25767
+#26754 := (not #25767)
+#26782 := (or #26754 #25771)
+#26783 := [th-lemma arith triangle-eq]: #26782
+#26784 := [unit-resolution #26783 #26753]: #25771
 #25581 := (+ #25486 #25580)
 #25582 := (+ #24276 #25581)
 #25766 := (>= #25582 0::Int)
@@ -6516,87 +6515,88 @@
 #25763 := [trans #25760 #25762]: #25759
 #25758 := [quant-inst #20 #25489]: #25757
 #25764 := [mp #25758 #25763]: #25748
-#26760 := [unit-resolution #25764 #21691]: #25578
-#26761 := (not #25578)
-#26787 := (or #26761 #25766)
-#26788 := [th-lemma arith triangle-eq]: #26787
-#26789 := [unit-resolution #26788 #26760]: #25766
+#26758 := [unit-resolution #25764 #21691]: #25578
+#26759 := (not #25578)
+#26785 := (or #26759 #25766)
+#26786 := [th-lemma arith triangle-eq]: #26785
+#26787 := [unit-resolution #26786 #26758]: #25766
+#26676 := (* -1::Int #24787)
 #26677 := (+ #22387 #26676)
 #26678 := (<= #26677 0::Int)
 #26675 := (= #22387 #24787)
-#26765 := [symm #25150]: #26675
-#26766 := (not #26675)
-#26790 := (or #26766 #26678)
-#26791 := [th-lemma arith triangle-eq]: #26790
-#26792 := [unit-resolution #26791 #26765]: #26678
-#26797 := (not #24471)
-#26796 := (not #26678)
-#26795 := (not #25430)
-#26794 := (not #25766)
-#26793 := (not #25771)
-#26798 := (or #26731 #26793 #26794 #26795 #26796 #26797)
-#26799 := [th-lemma arith assign-bounds -1 1 1 -1 1]: #26798
-#26800 := [unit-resolution #26799 #26792 #26789 #26786 #26783 #26780]: #26731
-#26732 := (>= #26730 0::Int)
+#26763 := [symm #25150]: #26675
+#26764 := (not #26675)
+#26788 := (or #26764 #26678)
+#26789 := [th-lemma arith triangle-eq]: #26788
+#26790 := [unit-resolution #26789 #26763]: #26678
+#26795 := (not #24471)
+#26794 := (not #26678)
+#26793 := (not #25430)
+#26792 := (not #25766)
+#26791 := (not #25771)
+#26796 := (or #26729 #26791 #26792 #26793 #26794 #26795)
+#26797 := [th-lemma arith assign-bounds -1 1 1 -1 1]: #26796
+#26798 := [unit-resolution #26797 #26790 #26787 #26784 #26781 #26778]: #26729
+#26730 := (>= #26728 0::Int)
 #24470 := (<= #24469 0::Int)
-#26743 := (or #26742 #24470)
-#26744 := [th-lemma arith triangle-eq]: #26743
-#26745 := [unit-resolution #26744 #26741]: #24470
+#26741 := (or #26740 #24470)
+#26742 := [th-lemma arith triangle-eq]: #26741
+#26743 := [unit-resolution #26742 #26739]: #24470
 #25429 := (<= #25428 0::Int)
-#26750 := (or #26749 #25429)
-#26751 := [th-lemma arith triangle-eq]: #26750
-#26752 := [unit-resolution #26751 #26748]: #25429
+#26748 := (or #26747 #25429)
+#26749 := [th-lemma arith triangle-eq]: #26748
+#26750 := [unit-resolution #26749 #26746]: #25429
 #25772 := (>= #25768 0::Int)
-#26757 := (or #26756 #25772)
-#26758 := [th-lemma arith triangle-eq]: #26757
-#26759 := [unit-resolution #26758 #26755]: #25772
-#25767 := (<= #25582 0::Int)
-#26762 := (or #26761 #25767)
-#26763 := [th-lemma arith triangle-eq]: #26762
-#26764 := [unit-resolution #26763 #26760]: #25767
+#26755 := (or #26754 #25772)
+#26756 := [th-lemma arith triangle-eq]: #26755
+#26757 := [unit-resolution #26756 #26753]: #25772
+#25765 := (<= #25582 0::Int)
+#26760 := (or #26759 #25765)
+#26761 := [th-lemma arith triangle-eq]: #26760
+#26762 := [unit-resolution #26761 #26758]: #25765
 #26679 := (>= #26677 0::Int)
-#26767 := (or #26766 #26679)
-#26768 := [th-lemma arith triangle-eq]: #26767
-#26769 := [unit-resolution #26768 #26765]: #26679
-#26774 := (not #24470)
-#26773 := (not #26679)
-#26772 := (not #25429)
-#26771 := (not #25767)
-#26770 := (not #25772)
-#26775 := (or #26732 #26770 #26771 #26772 #26773 #26774)
-#26776 := [th-lemma arith assign-bounds -1 1 1 -1 1]: #26775
-#26777 := [unit-resolution #26776 #26769 #26764 #26759 #26752 #26745]: #26732
-#26802 := (not #26732)
-#26801 := (not #26731)
-#26803 := (or #26720 #26801 #26802)
-#26804 := [th-lemma arith triangle-eq]: #26803
-#26851 := [unit-resolution #26804 #26777 #26800]: #26720
-#26852 := [symm #26851]: #26806
-#26854 := [monotonicity #26852]: #26816
-#26820 := (= #26398 #26506)
-#26853 := [hypothesis]: #26509
-#26814 := (= #26398 #26486)
-#26812 := (= #26397 #26485)
-#26810 := (= #26485 #26397)
-#26811 := [monotonicity #25162]: #26810
-#26813 := [symm #26811]: #26812
-#26815 := [monotonicity #26813]: #26814
-#26855 := [trans #26815 #26853]: #26820
-#26856 := [trans #26855 #26854]: #26822
-#26857 := [trans #26856 #26819]: #26824
-#26858 := [monotonicity #26857]: #26828
-#26859 := [symm #26858]: #26830
-#26860 := [trans #26827 #26859]: #26832
-#26861 := [monotonicity #26860]: #26834
-#26862 := [trans #26861 #26848]: #26836
-#26863 := [trans #26862 #24881]: #26838
-#26865 := [monotonicity #26863]: #26864
-#26866 := [trans #26865 #13294]: #25795
+#26765 := (or #26764 #26679)
+#26766 := [th-lemma arith triangle-eq]: #26765
+#26767 := [unit-resolution #26766 #26763]: #26679
+#26772 := (not #24470)
+#26771 := (not #26679)
+#26770 := (not #25429)
+#26769 := (not #25765)
+#26768 := (not #25772)
+#26773 := (or #26730 #26768 #26769 #26770 #26771 #26772)
+#26774 := [th-lemma arith assign-bounds -1 1 1 -1 1]: #26773
+#26775 := [unit-resolution #26774 #26767 #26762 #26757 #26750 #26743]: #26730
+#26800 := (not #26730)
+#26799 := (not #26729)
+#26801 := (or #26726 #26799 #26800)
+#26802 := [th-lemma arith triangle-eq]: #26801
+#26849 := [unit-resolution #26802 #26775 #26798]: #26726
+#26850 := [symm #26849]: #26804
+#26852 := [monotonicity #26850]: #26814
+#26818 := (= #26398 #26506)
+#26851 := [hypothesis]: #26509
+#26812 := (= #26398 #26486)
+#26810 := (= #26397 #26485)
+#26808 := (= #26485 #26397)
+#26809 := [monotonicity #25162]: #26808
+#26811 := [symm #26809]: #26810
+#26813 := [monotonicity #26811]: #26812
+#26853 := [trans #26813 #26851]: #26818
+#26854 := [trans #26853 #26852]: #26820
+#26855 := [trans #26854 #26817]: #26822
+#26856 := [monotonicity #26855]: #26826
+#26857 := [symm #26856]: #26828
+#26858 := [trans #26825 #26857]: #26830
+#26859 := [monotonicity #26858]: #26832
+#26860 := [trans #26859 #26846]: #26834
+#26861 := [trans #26860 #24881]: #26836
+#26863 := [monotonicity #26861]: #26862
+#26864 := [trans #26863 #13294]: #25795
 #26017 := (not #25795)
-#26847 := [hypothesis]: #26017
-#26867 := [unit-resolution #26847 #26866]: false
-#26869 := [lemma #26867]: #26868
-#26252 := [unit-resolution #26869 #26431]: #25795
+#26845 := [hypothesis]: #26017
+#26865 := [unit-resolution #26845 #26864]: false
+#26867 := [lemma #26865]: #26866
+#26252 := [unit-resolution #26867 #26431]: #25795
 #26034 := (or #25798 #26017)
 #26032 := [def-axiom]: #26034
 #26451 := [unit-resolution #26032 #26252]: #25798
@@ -6610,7 +6610,7 @@
 #26232 := (= #25929 #25791)
 #26367 := (= #25928 #25785)
 #26245 := (= #25534 #25781)
-#26255 := [symm #26827]: #26245
+#26255 := [symm #26825]: #26245
 #26365 := [monotonicity #26255]: #26367
 #26235 := [monotonicity #26365]: #26232
 #26308 := [monotonicity #26235]: #26234
@@ -6621,7 +6621,7 @@
 #25936 := (not #25935)
 #25937 := (or #25933 #25936)
 #25938 := (not #25937)
-#26317 := (or #24436 #25938)
+#26317 := (or #24435 #25938)
 #26306 := [quant-inst #25534]: #26317
 #26015 := [unit-resolution #26306 #20697]: #25938
 #26302 := (or #25937 #26307)
@@ -6678,12 +6678,12 @@
 #21330 := (or #21824 #12567)
 #21332 := [def-axiom]: #21330
 #25897 := [unit-resolution #21332 #25895]: #12567
-#25898 := (or #12571 #21385)
+#25898 := (or #12571 #21386)
 #25899 := [th-lemma arith triangle-eq]: #25898
-#25889 := [unit-resolution #25899 #25897]: #21385
-#26206 := (not #21385)
+#25889 := [unit-resolution #25899 #25897]: #21386
+#26206 := (not #21386)
 #26243 := (or #21866 #26206 #21821)
-#26204 := [hypothesis]: #21385
+#26204 := [hypothesis]: #21386
 #21392 := (not #17385)
 #26108 := [hypothesis]: #21818
 #26109 := (or #12504 #26206 #12750)
@@ -6710,8 +6710,8 @@
 #26128 := [monotonicity #26126]: #26127
 #26130 := [monotonicity #26128]: #26129
 #26139 := [monotonicity #26130]: #26131
-#26133 := [trans #26139 #25702]: #26079
-#26134 := [trans #26133 #26140]: #5023
+#26132 := [trans #26139 #25702]: #26079
+#26133 := [trans #26132 #26140]: #5023
 #21230 := (+ f474 #12546)
 #21231 := (>= #21230 0::Int)
 #21229 := (= f474 f482)
@@ -6733,7 +6733,7 @@
 #26217 := [unit-resolution #25958 #26216]: #12549
 #21367 := (or #20840 #12548 #20838)
 #21359 := [def-axiom]: #21367
-#26218 := [unit-resolution #21359 #26217 #26134]: #20840
+#26218 := [unit-resolution #21359 #26217 #26133]: #20840
 #21364 := (or #21800 #20839)
 #21368 := [def-axiom]: #21364
 #26219 := [unit-resolution #21368 #26218]: #21800
@@ -6907,7 +6907,7 @@
 #26681 := [unit-resolution #21286 #26680]: #21830
 #26682 := [unit-resolution #25894 #26681]: #21827
 #26683 := [unit-resolution #21332 #26682]: #12567
-#26705 := [unit-resolution #25899 #26683]: #21385
+#26705 := [unit-resolution #25899 #26683]: #21386
 #26684 := [unit-resolution #21339 #26682]: #21818
 #26704 := (or #12504 #26206)
 #26685 := [unit-resolution #26110 #25744]: #26704
@@ -6941,61 +6941,59 @@
 #25820 := [hypothesis]: #20838
 #25839 := [unit-resolution #25820 #25838]: false
 #25841 := [lemma #25839]: #25840
-#26714 := [unit-resolution #25841 #26680]: #5023
+#26713 := [unit-resolution #25841 #26680]: #5023
 #26005 := (+ f475 #12546)
 #26033 := (>= #26005 0::Int)
 #25867 := (= f475 f482)
-#26715 := [unit-resolution #21278 #26680]: #4997
-#26849 := [symm #26715]: #25867
-#26850 := (not #25867)
-#26590 := (or #26850 #26033)
+#26714 := [unit-resolution #21278 #26680]: #4997
+#26847 := [symm #26714]: #25867
+#26848 := (not #25867)
+#26590 := (or #26848 #26033)
 #26695 := [th-lemma arith triangle-eq]: #26590
-#26696 := [unit-resolution #26695 #26849]: #26033
+#26696 := [unit-resolution #26695 #26847]: #26033
 #26697 := (not #26033)
 #26699 := (or #12549 #26697 #12750)
 #26700 := [th-lemma arith assign-bounds -1 -1]: #26699
 #26698 := [unit-resolution #26700 #25744 #26696]: #12549
-#26701 := [unit-resolution #21359 #26698 #26714]: #20840
+#26701 := [unit-resolution #21359 #26698 #26713]: #20840
 #26702 := [unit-resolution #21368 #26701]: #21800
 #26703 := [unit-resolution #21357 #26702 #26688]: #20824
-#26713 := [unit-resolution #21374 #26703]: #21392
-#26716 := [unit-resolution #26208 #26713 #26705]: #26200
+#26715 := [unit-resolution #21374 #26703]: #21392
+#26716 := [unit-resolution #26208 #26715 #26705]: #26200
 #26036 := (+ #4979 #12524)
 #25957 := (<= #26036 0::Int)
 #26035 := (= #4979 f481)
 #26717 := [unit-resolution #21309 #26680]: #4995
-#26846 := [symm #26717]: #25834
+#26844 := [symm #26717]: #25834
 #26718 := [unit-resolution #21305 #26680]: #4982
 #26719 := [symm #26718]: #25832
-#26870 := [trans #26719 #26846]: #26035
-#26871 := (not #26035)
-#26872 := (or #26871 #25957)
-#26873 := [th-lemma arith triangle-eq]: #26872
-#26874 := [unit-resolution #26873 #26870]: #25957
-#26875 := [unit-resolution #21379 #26703]: #21378
-#26876 := (not #25957)
-#26877 := (or #26638 #17398 #26876)
-#26878 := [th-lemma arith assign-bounds -1 -1]: #26877
-#26879 := [unit-resolution #26878 #26875 #26874]: #26638
-#26880 := [unit-resolution #26642 #26879]: #26631
-#26881 := [unit-resolution #26659 #26880]: #26657
-#26882 := [unit-resolution #26198 #26881 #26716]: #26233
-#26885 := (or #26048 #26060)
-#26883 := [unit-resolution #21389 #26703]: #17087
-#26884 := [unit-resolution #21391 #26703]: #17086
-#26886 := [unit-resolution #26106 #25716 #26884 #26883]: #26885
-#26887 := [unit-resolution #26886 #26882]: #26060
-#26888 := (or #17033 #21881)
-#26889 := [unit-resolution #25853 #25849]: #26888
-#26890 := [unit-resolution #26889 #26460]: #21881
-#26891 := [unit-resolution #22036 #26890]: #21872
-#26892 := (or #21875 #21863)
-#26893 := [unit-resolution #22026 #25888]: #26892
-#26894 := [unit-resolution #26893 #26891]: #21863
+#26868 := [trans #26719 #26844]: #26035
+#26869 := (not #26035)
+#26870 := (or #26869 #25957)
+#26871 := [th-lemma arith triangle-eq]: #26870
+#26872 := [unit-resolution #26871 #26868]: #25957
+#26873 := [unit-resolution #21379 #26703]: #21378
+#26874 := (not #25957)
+#26875 := (or #26638 #17398 #26874)
+#26876 := [th-lemma arith assign-bounds -1 -1]: #26875
+#26877 := [unit-resolution #26876 #26873 #26872]: #26638
+#26878 := [unit-resolution #26642 #26877]: #26631
+#26879 := [unit-resolution #26659 #26878]: #26657
+#26880 := [unit-resolution #26198 #26879 #26716]: #26233
+#26883 := (or #26048 #26060)
+#26881 := [unit-resolution #21389 #26703]: #17087
+#26882 := [unit-resolution #21391 #26703]: #17086
+#26884 := [unit-resolution #26106 #25716 #26882 #26881]: #26883
+#26885 := [unit-resolution #26884 #26880]: #26060
+#26886 := (or #17033 #21881)
+#26887 := [unit-resolution #25853 #25849]: #26886
+#26888 := [unit-resolution #26887 #26460]: #21881
+#26889 := [unit-resolution #22036 #26888]: #21872
+#26890 := (or #21875 #21863)
+#26891 := [unit-resolution #22026 #25888]: #26890
+#26892 := [unit-resolution #26891 #26889]: #21863
 #21232 := (or #21860 #12656)
 #21234 := [def-axiom]: #21232
-#26895 := [unit-resolution #21234 #26894]: #12656
-[th-lemma arith farkas 1 1 1 1 #26874 #26895 #26875 #26887]: false
+#26893 := [unit-resolution #21234 #26892]: #12656
+[th-lemma arith farkas 1 1 1 1 #26872 #26893 #26873 #26885]: false
 unsat
-WARNING: For problems containing quantifiers, the model finding capabilities of Z3 work better when the formula does not contain nested quantifiers. You can use PULL_NESTED_QUANTIFIERS=true to eliminate nested quantifiers.
-
--- a/src/HOL/Boogie/Examples/VCC_Max.thy	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/Boogie/Examples/VCC_Max.thy	Tue Jan 01 11:36:30 2013 +0100
@@ -33,7 +33,7 @@
     invariant(forall(ulong i; i < p ==> arr[i] <= max))
     invariant(witness < len && arr[witness] == max)
   {
-    if (arr[p] > max) 
+    if (arr[p] > max)
     {
       max = arr[p];
       speconly(witness = p;)
@@ -46,10 +46,10 @@
 
 boogie_open (quiet) "VCC_Max.b2i"
 
+declare [[smt_oracle = false]]
+declare [[z3_with_extensions = true]]
 declare [[smt_certificates = "VCC_Max.certs"]]
 declare [[smt_read_only_certificates = true]]
-declare [[smt_oracle = false]]
-declare [[z3_with_extensions = true]]
 
 boogie_status
 
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Tue Jan 01 11:36:30 2013 +0100
@@ -1,14 +1,13 @@
-23fa46bae38100075457f16458b7f980b6e9eaaa 8 0
-unsat
+23d01cdabb599769b54210e40617eea3d6c91e30 8 0
 #2 := false
 #1 := true
 #7 := (not true)
-#13 := (iff #7 false)
-#14 := [rewrite]: #13
-#9 := [asserted]: #7
-[mp #9 #14]: false
-a659f050ece3306f2b1d4dcfecadbe7f96ac25b7 14 0
+#29 := (iff #7 false)
+#30 := [rewrite]: #29
+#28 := [asserted]: #7
+[mp #28 #30]: false
 unsat
+22e23526a38d50ce23abbe4dbfb697891cbcd840 22 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -18,12 +17,20 @@
 #9 := (not #8)
 #10 := (or #8 #9)
 #11 := (not #10)
-#13 := [asserted]: #11
-#15 := [not-or-elim #13]: #8
-#14 := [not-or-elim #13]: #9
-[unit-resolution #14 #15]: false
-a67531da310682d5a288c23ac8f30257442b6eee 28 0
+#40 := (iff #11 false)
+#1 := true
+#35 := (not true)
+#38 := (iff #35 false)
+#39 := [rewrite]: #38
+#36 := (iff #11 #35)
+#33 := (iff #10 true)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#32 := [asserted]: #11
+[mp #32 #41]: false
 unsat
+121552dd328e0993a2c6099c592d9c3db7fff190 28 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -34,141 +41,101 @@
 #9 := (and #8 true)
 #10 := (iff #9 #8)
 #11 := (not #10)
-#30 := (iff #11 false)
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #11 #25)
-#23 := (iff #10 true)
-#18 := (iff #8 #8)
-#21 := (iff #18 true)
-#22 := [rewrite]: #21
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#13 := [asserted]: #11
-[mp #13 #31]: false
-d4525927e0ca94e2a8cd999f8854bd810a0a45a9 30 0
+#46 := (iff #11 false)
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #11 #41)
+#39 := (iff #10 true)
+#34 := (iff #8 #8)
+#37 := (iff #34 true)
+#38 := [rewrite]: #37
+#35 := (iff #10 #34)
+#33 := [rewrite]: #10
+#36 := [monotonicity #33]: #35
+#40 := [trans #36 #38]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#32 := [asserted]: #11
+[mp #32 #47]: false
 unsat
+263480c8c5909524c36f6198f60c623fbcfc953d 41 0
 #2 := false
 decl f1 :: S1
 #3 := f1
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#12 := (not #8)
-decl f4 :: S1
-#9 := f4
-#10 := (= f4 f1)
-#11 := (or #8 #10)
-#13 := (and #11 #12)
-#21 := (not #13)
-#22 := (or #21 #10)
-#25 := (not #22)
-#14 := (implies #13 #10)
-#15 := (not #14)
-#26 := (iff #15 #25)
-#23 := (iff #14 #22)
-#24 := [rewrite]: #23
-#27 := [monotonicity #24]: #26
-#17 := [asserted]: #15
-#28 := [mp #17 #27]: #25
-#29 := [not-or-elim #28]: #13
-#31 := [and-elim #29]: #12
-#32 := (not #10)
-#33 := [not-or-elim #28]: #32
-#30 := [and-elim #29]: #11
-[unit-resolution #30 #33 #31]: false
-55b7bd861df00e9621f738450037b0df80372741 84 0
-unsat
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f5 :: S1
-#12 := f5
-#13 := (= f5 f1)
-decl f6 :: S1
-#14 := f6
-#15 := (= f6 f1)
-#64 := (not #15)
-#63 := (not #13)
-#65 := (or #63 #64)
-#66 := (not #65)
 decl f4 :: S1
 #9 := f4
 #10 := (= f4 f1)
-#58 := (not #10)
 decl f3 :: S1
 #7 := f3
 #8 := (= f3 f1)
-#57 := (not #8)
-#59 := (or #57 #58)
-#60 := (not #59)
-#101 := [hypothesis]: #60
-#89 := (or #59 #8)
-#90 := [def-axiom]: #89
-#102 := [unit-resolution #90 #101]: #8
-#91 := (or #59 #10)
-#92 := [def-axiom]: #91
-#103 := [unit-resolution #92 #101]: #10
+#11 := (or #8 #10)
+#64 := (iff #11 false)
+#59 := (or false false)
+#62 := (iff #59 false)
+#63 := [rewrite]: #62
+#60 := (iff #11 #59)
+#57 := (iff #10 false)
+#48 := (not #10)
+#12 := (not #8)
+#13 := (and #11 #12)
+#37 := (not #13)
+#38 := (or #37 #10)
+#41 := (not #38)
+#14 := (implies #13 #10)
+#15 := (not #14)
+#42 := (iff #15 #41)
+#39 := (iff #14 #38)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#36 := [asserted]: #15
+#46 := [mp #36 #43]: #41
+#49 := [not-or-elim #46]: #48
+#58 := [iff-false #49]: #57
+#55 := (iff #8 false)
+#44 := [not-or-elim #46]: #13
+#47 := [and-elim #44]: #12
+#56 := [iff-false #47]: #55
+#61 := [monotonicity #56 #58]: #60
+#65 := [trans #61 #63]: #64
+#45 := [and-elim #44]: #11
+[mp #45 #65]: false
+unsat
+050883983ebe99dc3b7f24a011b1724b1b2c4dd9 33 0
+#2 := false
+decl f1 :: S1
+#3 := f1
+decl f6 :: S1
+#14 := f6
+#15 := (= f6 f1)
+decl f5 :: S1
+#12 := f5
+#13 := (= f5 f1)
+#16 := (and #13 #15)
+decl f4 :: S1
+#9 := f4
+#10 := (= f4 f1)
+decl f3 :: S1
+#7 := f3
+#8 := (= f3 f1)
 #11 := (and #8 #10)
-#34 := (not #11)
-#78 := (iff #34 #59)
-#73 := (not #60)
-#76 := (iff #73 #59)
-#77 := [rewrite]: #76
-#74 := (iff #34 #73)
-#61 := (iff #11 #60)
-#62 := [rewrite]: #61
-#75 := [monotonicity #62]: #74
-#79 := [trans #75 #77]: #78
-#16 := (and #13 #15)
 #17 := (or #11 #16)
-#25 := (not #17)
-#26 := (or #25 #11 #16)
-#29 := (not #26)
 #18 := (implies #17 #17)
 #19 := (not #18)
-#30 := (iff #19 #29)
-#27 := (iff #18 #26)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#21 := [asserted]: #19
-#32 := [mp #21 #31]: #29
-#35 := [not-or-elim #32]: #34
-#80 := [mp #35 #79]: #59
-#104 := [unit-resolution #80 #103 #102]: false
-#105 := [lemma #104]: #59
-#69 := (or #60 #66)
-#70 := (iff #17 #69)
-#67 := (iff #16 #66)
-#68 := [rewrite]: #67
-#71 := [monotonicity #62 #68]: #70
-#33 := [not-or-elim #32]: #17
-#72 := [mp #33 #71]: #69
-#106 := [unit-resolution #72 #105]: #66
-#95 := (or #65 #13)
-#96 := [def-axiom]: #95
-#107 := [unit-resolution #96 #106]: #13
-#97 := (or #65 #15)
-#98 := [def-axiom]: #97
-#108 := [unit-resolution #98 #106]: #15
-#36 := (not #16)
-#86 := (iff #36 #65)
-#81 := (not #66)
-#84 := (iff #81 #65)
-#85 := [rewrite]: #84
-#82 := (iff #36 #81)
-#83 := [monotonicity #68]: #82
-#87 := [trans #83 #85]: #86
-#37 := [not-or-elim #32]: #36
-#88 := [mp #37 #87]: #65
-[unit-resolution #88 #108 #107]: false
-ecaaaeb4b508586ee415aaee164d7f38d7fa3191 50 0
+#48 := (iff #19 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #19 #43)
+#41 := (iff #18 true)
+#42 := [rewrite]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#40 := [asserted]: #19
+[mp #40 #49]: false
 unsat
+79d9d246dd9d27e03e8f1ea895e790f3a4420bfd 55 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -190,36 +157,41 @@
 #14 := (or #11 #13)
 #20 := (implies #14 #19)
 #21 := (not #20)
-#50 := (iff #21 false)
+#71 := (iff #21 false)
+#43 := (not #8)
+#44 := (or #43 #17)
+#47 := (or #44 #8)
+#53 := (not #14)
+#54 := (or #53 #47)
+#59 := (not #54)
+#69 := (iff #59 false)
 #1 := true
-#45 := (not true)
-#48 := (iff #45 false)
-#49 := [rewrite]: #48
-#46 := (iff #21 #45)
-#43 := (iff #20 true)
-#38 := (implies #14 true)
-#41 := (iff #38 true)
-#42 := [rewrite]: #41
-#39 := (iff #20 #38)
-#36 := (iff #19 true)
-#27 := (not #8)
-#28 := (or #27 #15 #16)
-#31 := (or #28 #8)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #19 #31)
-#29 := (iff #18 #28)
-#30 := [rewrite]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#47 := [monotonicity #44]: #46
-#51 := [trans #47 #49]: #50
-#23 := [asserted]: #21
-[mp #23 #51]: false
-01c3def9cab437126fe354f5b2293506994546fd 60 0
+#64 := (not true)
+#67 := (iff #64 false)
+#68 := [rewrite]: #67
+#65 := (iff #59 #64)
+#62 := (iff #54 true)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#70 := [trans #66 #68]: #69
+#60 := (iff #21 #59)
+#57 := (iff #20 #54)
+#50 := (implies #14 #47)
+#55 := (iff #50 #54)
+#56 := [rewrite]: #55
+#51 := (iff #20 #50)
+#48 := (iff #19 #47)
+#45 := (iff #18 #44)
+#46 := [rewrite]: #45
+#49 := [monotonicity #46]: #48
+#52 := [monotonicity #49]: #51
+#58 := [trans #52 #56]: #57
+#61 := [monotonicity #58]: #60
+#72 := [trans #61 #70]: #71
+#42 := [asserted]: #21
+[mp #42 #72]: false
 unsat
+8575241c64c02491d277f6598ca57e576f5a6b45 60 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -236,61 +208,81 @@
 #16 := (iff #15 #8)
 #17 := (iff #16 #8)
 #18 := (not #17)
-#62 := (iff #18 false)
+#78 := (iff #18 false)
 #1 := true
-#57 := (not true)
-#60 := (iff #57 false)
-#61 := [rewrite]: #60
-#58 := (iff #18 #57)
-#55 := (iff #17 true)
-#24 := (iff #9 true)
-#25 := [rewrite]: #24
-#53 := (iff #17 #9)
-#26 := (iff true #8)
-#29 := (iff #26 #8)
-#30 := [rewrite]: #29
-#50 := (iff #16 #26)
-#48 := (iff #15 true)
-#46 := (iff #15 #9)
-#43 := (iff #14 #26)
-#41 := (iff #13 true)
-#39 := (iff #13 #9)
-#36 := (iff #12 #26)
-#34 := (iff #11 true)
-#32 := (iff #11 #9)
-#27 := (iff #10 #26)
-#28 := [monotonicity #25]: #27
-#31 := [trans #28 #30]: #11
-#33 := [monotonicity #31]: #32
-#35 := [trans #33 #25]: #34
-#37 := [monotonicity #35]: #36
-#38 := [trans #37 #30]: #13
-#40 := [monotonicity #38]: #39
-#42 := [trans #40 #25]: #41
-#44 := [monotonicity #42]: #43
-#45 := [trans #44 #30]: #15
-#47 := [monotonicity #45]: #46
-#49 := [trans #47 #25]: #48
-#51 := [monotonicity #49]: #50
-#52 := [trans #51 #30]: #17
-#54 := [monotonicity #52]: #53
-#56 := [trans #54 #25]: #55
-#59 := [monotonicity #56]: #58
-#63 := [trans #59 #61]: #62
-#20 := [asserted]: #18
-[mp #20 #63]: false
-cd163c8c9afce7b0a8a2f73345db7dfc9e0d1c10 112 0
+#73 := (not true)
+#76 := (iff #73 false)
+#77 := [rewrite]: #76
+#74 := (iff #18 #73)
+#71 := (iff #17 true)
+#40 := (iff #9 true)
+#41 := [rewrite]: #40
+#69 := (iff #17 #9)
+#42 := (iff true #8)
+#45 := (iff #42 #8)
+#46 := [rewrite]: #45
+#66 := (iff #16 #42)
+#64 := (iff #15 true)
+#62 := (iff #15 #9)
+#59 := (iff #14 #42)
+#57 := (iff #13 true)
+#55 := (iff #13 #9)
+#52 := (iff #12 #42)
+#50 := (iff #11 true)
+#48 := (iff #11 #9)
+#43 := (iff #10 #42)
+#44 := [monotonicity #41]: #43
+#47 := [trans #44 #46]: #11
+#49 := [monotonicity #47]: #48
+#51 := [trans #49 #41]: #50
+#53 := [monotonicity #51]: #52
+#54 := [trans #53 #46]: #13
+#56 := [monotonicity #54]: #55
+#58 := [trans #56 #41]: #57
+#60 := [monotonicity #58]: #59
+#61 := [trans #60 #46]: #15
+#63 := [monotonicity #61]: #62
+#65 := [trans #63 #41]: #64
+#67 := [monotonicity #65]: #66
+#68 := [trans #67 #46]: #17
+#70 := [monotonicity #68]: #69
+#72 := [trans #70 #41]: #71
+#75 := [monotonicity #72]: #74
+#79 := [trans #75 #77]: #78
+#39 := [asserted]: #18
+[mp #39 #79]: false
 unsat
+8434421285df70a7e1728b19173d86303151090b 165 0
 #2 := false
 decl f1 :: S1
 #3 := f1
+decl f6 :: S1
+#13 := f6
+#14 := (= f6 f1)
+decl f5 :: S1
+#11 := f5
+#12 := (= f5 f1)
 decl f4 :: S1
 #9 := f4
 #10 := (= f4 f1)
-#107 := (not #10)
-decl f5 :: S1
-#11 := f5
-#12 := (= f5 f1)
+decl f3 :: S1
+#7 := f3
+#8 := (= f3 f1)
+#75 := (or #8 #10 #12 #14)
+#215 := (iff #75 false)
+#210 := (or false false false false)
+#213 := (iff #210 false)
+#214 := [rewrite]: #213
+#211 := (iff #75 #210)
+#167 := (iff #14 false)
+#119 := (not #14)
+#122 := (or #119 #12)
+#175 := (iff #122 #119)
+#170 := (or #119 false)
+#173 := (iff #170 #119)
+#174 := [rewrite]: #173
+#171 := (iff #122 #170)
+#168 := (iff #12 false)
 #25 := (not #12)
 decl f11 :: S1
 #43 := f11
@@ -305,9 +297,59 @@
 #48 := (and #42 #47)
 #49 := (or #12 #48)
 #50 := (not #49)
-#58 := [asserted]: #50
-#59 := [not-or-elim #58]: #25
-#110 := (or #107 #12)
+#150 := (iff #50 #25)
+#148 := (iff #49 #12)
+#143 := (or #12 false)
+#146 := (iff #143 #12)
+#147 := [rewrite]: #146
+#144 := (iff #49 #143)
+#141 := (iff #48 false)
+#136 := (and #42 #41)
+#139 := (iff #136 false)
+#140 := [rewrite]: #139
+#137 := (iff #48 #136)
+#134 := (iff #47 #41)
+#129 := (or #41 false)
+#132 := (iff #129 #41)
+#133 := [rewrite]: #132
+#130 := (iff #47 #129)
+#126 := (iff #46 false)
+#128 := [rewrite]: #126
+#131 := [monotonicity #128]: #130
+#135 := [trans #131 #133]: #134
+#138 := [monotonicity #135]: #137
+#142 := [trans #138 #140]: #141
+#145 := [monotonicity #142]: #144
+#149 := [trans #145 #147]: #148
+#151 := [monotonicity #149]: #150
+#125 := [asserted]: #50
+#154 := [mp #125 #151]: #25
+#169 := [iff-false #154]: #168
+#172 := [monotonicity #169]: #171
+#176 := [trans #172 #174]: #175
+#37 := (or #14 false)
+#38 := (not #37)
+#39 := (or #38 #12)
+#123 := (iff #39 #122)
+#120 := (iff #38 #119)
+#116 := (iff #37 #14)
+#118 := [rewrite]: #116
+#121 := [monotonicity #118]: #120
+#124 := [monotonicity #121]: #123
+#115 := [asserted]: #39
+#127 := [mp #115 #124]: #122
+#166 := [mp #127 #176]: #119
+#177 := [iff-false #166]: #167
+#165 := (iff #10 false)
+#109 := (not #10)
+#112 := (or #109 #12)
+#183 := (iff #112 #109)
+#178 := (or #109 false)
+#181 := (iff #178 #109)
+#182 := [rewrite]: #181
+#179 := (iff #112 #178)
+#180 := [monotonicity #169]: #179
+#184 := [trans #180 #182]: #183
 decl f9 :: S1
 #30 := f9
 #31 := (= f9 f1)
@@ -316,84 +358,67 @@
 #34 := (and #10 #33)
 #35 := (not #34)
 #36 := (or #35 #12)
-#111 := (iff #36 #110)
-#108 := (iff #35 #107)
-#105 := (iff #34 #10)
+#113 := (iff #36 #112)
+#110 := (iff #35 #109)
+#107 := (iff #34 #10)
 #1 := true
-#100 := (and #10 true)
-#103 := (iff #100 #10)
-#104 := [rewrite]: #103
-#101 := (iff #34 #100)
-#98 := (iff #33 true)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#106 := [trans #102 #104]: #105
-#109 := [monotonicity #106]: #108
-#112 := [monotonicity #109]: #111
-#56 := [asserted]: #36
-#113 := [mp #56 #112]: #110
-#153 := [unit-resolution #113 #59]: #107
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-decl f6 :: S1
-#13 := f6
-#14 := (= f6 f1)
-#116 := (not #14)
-#119 := (or #116 #12)
-#37 := (or #14 false)
-#38 := (not #37)
-#39 := (or #38 #12)
-#120 := (iff #39 #119)
-#117 := (iff #38 #116)
-#114 := (iff #37 #14)
-#115 := [rewrite]: #114
-#118 := [monotonicity #115]: #117
-#121 := [monotonicity #118]: #120
-#57 := [asserted]: #39
-#122 := [mp #57 #121]: #119
-#154 := [unit-resolution #122 #59]: #116
-#72 := (or #8 #10 #12 #14)
-#15 := (or #12 #14)
-#16 := (or #10 #15)
-#17 := (or #8 #16)
-#75 := (iff #17 #72)
-#66 := (or #10 #12 #14)
-#69 := (or #8 #66)
-#73 := (iff #69 #72)
-#74 := [rewrite]: #73
-#70 := (iff #17 #69)
-#67 := (iff #16 #66)
-#68 := [rewrite]: #67
-#71 := [monotonicity #68]: #70
-#76 := [trans #71 #74]: #75
-#53 := [asserted]: #17
-#77 := [mp #53 #76]: #72
-#155 := [unit-resolution #77 #153 #59 #154]: #8
-#91 := (not #8)
-#94 := (or #91 #10)
+#102 := (and #10 true)
+#105 := (iff #102 #10)
+#106 := [rewrite]: #105
+#103 := (iff #34 #102)
+#99 := (iff #33 true)
+#101 := [rewrite]: #99
+#104 := [monotonicity #101]: #103
+#108 := [trans #104 #106]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#98 := [asserted]: #36
+#117 := [mp #98 #114]: #112
+#164 := [mp #117 #184]: #109
+#185 := [iff-false #164]: #165
+#163 := (iff #8 false)
+#92 := (not #8)
+#95 := (or #92 #10)
+#191 := (iff #95 #92)
+#186 := (or #92 false)
+#189 := (iff #186 #92)
+#190 := [rewrite]: #189
+#187 := (iff #95 #186)
+#188 := [monotonicity #185]: #187
+#192 := [trans #188 #190]: #191
 #26 := (and #12 #25)
 #27 := (or #8 #26)
 #28 := (not #27)
 #29 := (or #28 #10)
-#95 := (iff #29 #94)
-#92 := (iff #28 #91)
-#89 := (iff #27 #8)
-#84 := (or #8 false)
-#87 := (iff #84 #8)
-#88 := [rewrite]: #87
-#85 := (iff #27 #84)
-#82 := (iff #26 false)
-#83 := [rewrite]: #82
-#86 := [monotonicity #83]: #85
-#90 := [trans #86 #88]: #89
-#93 := [monotonicity #90]: #92
-#96 := [monotonicity #93]: #95
-#55 := [asserted]: #29
-#97 := [mp #55 #96]: #94
-[unit-resolution #97 #155 #153]: false
-bda0de69751a63d54481e3e810bc744b04b03fa3 59 0
+#96 := (iff #29 #95)
+#93 := (iff #28 #92)
+#90 := (iff #27 #8)
+#85 := (or #8 false)
+#88 := (iff #85 #8)
+#89 := [rewrite]: #88
+#86 := (iff #27 #85)
+#79 := (iff #26 false)
+#84 := [rewrite]: #79
+#87 := [monotonicity #84]: #86
+#91 := [trans #87 #89]: #90
+#94 := [monotonicity #91]: #93
+#97 := [monotonicity #94]: #96
+#74 := [asserted]: #29
+#100 := [mp #74 #97]: #95
+#162 := [mp #100 #192]: #92
+#193 := [iff-false #162]: #163
+#212 := [monotonicity #193 #185 #169 #177]: #211
+#216 := [trans #212 #214]: #215
+#15 := (or #12 #14)
+#16 := (or #10 #15)
+#17 := (or #8 #16)
+#76 := (iff #17 #75)
+#77 := [rewrite]: #76
+#72 := [asserted]: #17
+#78 := [mp #72 #77]: #75
+[mp #78 #216]: false
 unsat
+2571c5d0e3c2bb55fd62ced2ec0c2fd2a4870074 59 0
 #2 := false
 decl f3 :: (-> S3 S2 S2)
 decl f6 :: S2
@@ -408,55 +433,84 @@
 #18 := (f4 f5 f6)
 #20 := (f3 #18 f7)
 #23 := (= #20 #22)
-#41 := (not #23)
+#57 := (not #23)
 #17 := (= f6 f6)
 #24 := (and #17 #23)
 #25 := (not #24)
-#42 := (iff #25 #41)
-#39 := (iff #24 #23)
+#58 := (iff #25 #57)
+#55 := (iff #24 #23)
 #1 := true
-#34 := (and true #23)
-#37 := (iff #34 #23)
-#38 := [rewrite]: #37
-#35 := (iff #24 #34)
-#32 := (iff #17 true)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#40 := [trans #36 #38]: #39
-#43 := [monotonicity #40]: #42
-#28 := [asserted]: #25
-#44 := [mp #28 #43]: #41
+#50 := (and true #23)
+#53 := (iff #50 #23)
+#54 := [rewrite]: #53
+#51 := (iff #24 #50)
+#48 := (iff #17 true)
+#49 := [rewrite]: #48
+#52 := [monotonicity #49]: #51
+#56 := [trans #52 #54]: #55
+#59 := [monotonicity #56]: #58
+#47 := [asserted]: #25
+#62 := [mp #47 #59]: #57
 #8 := (:var 1 S2)
 #10 := (:var 0 S2)
 #12 := (f4 f5 #10)
 #13 := (f3 #12 #8)
-#487 := (pattern #13)
+#546 := (pattern #13)
 #9 := (f4 f5 #8)
 #11 := (f3 #9 #10)
-#486 := (pattern #11)
+#545 := (pattern #11)
 #14 := (= #11 #13)
-#488 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #486 #487) #14)
+#547 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #545 #546) #14)
 #15 := (forall (vars (?v0 S2) (?v1 S2)) #14)
-#491 := (iff #15 #488)
-#489 := (iff #14 #14)
-#490 := [refl]: #489
-#492 := [quant-intro #490]: #491
-#66 := (~ #15 #15)
-#64 := (~ #14 #14)
-#65 := [refl]: #64
-#67 := [nnf-pos #65]: #66
-#27 := [asserted]: #15
-#68 := [mp~ #27 #67]: #15
-#493 := [mp #68 #492]: #488
-#72 := (not #488)
-#157 := (or #72 #23)
-#69 := [quant-inst #16 #19]: #157
-[unit-resolution #69 #493 #44]: false
-01921123e04538e755e19bf1587fc40380f6a26a 1573 0
+#550 := (iff #15 #547)
+#548 := (iff #14 #14)
+#549 := [refl]: #548
+#551 := [quant-intro #549]: #550
+#70 := (~ #15 #15)
+#68 := (~ #14 #14)
+#69 := [refl]: #68
+#71 := [nnf-pos #69]: #70
+#46 := [asserted]: #15
+#61 := [mp~ #46 #71]: #15
+#552 := [mp #61 #551]: #547
+#130 := (not #547)
+#216 := (or #130 #23)
+#131 := [quant-inst #16 #19]: #216
+[unit-resolution #131 #552 #62]: false
 unsat
+d97439af6f5bc7794ab403d0f6cc318d103016a1 1288 0
 #2 := false
 decl f1 :: S1
 #3 := f1
+decl f9 :: S1
+#25 := f9
+#26 := (= f9 f1)
+decl f20 :: S1
+#59 := f20
+#60 := (= f20 f1)
+decl f21 :: S1
+#61 := f21
+#62 := (= f21 f1)
+#249 := (not #62)
+decl f31 :: S1
+#97 := f31
+#98 := (= f31 f1)
+decl f62 :: S1
+#207 := f62
+#208 := (= f62 f1)
+decl f58 :: S1
+#189 := f58
+#190 := (= f58 f1)
+#388 := (not #190)
+decl f47 :: S1
+#151 := f47
+#152 := (= f47 f1)
+#289 := (not #98)
+#980 := [hypothesis]: #289
+decl f46 :: S1
+#149 := f46
+#150 := (= f46 f1)
+#346 := (not #150)
 decl f48 :: S1
 #156 := f48
 #157 := (= f48 f1)
@@ -468,20 +522,183 @@
 #144 := f45
 #145 := (= f45 f1)
 #339 := (not #145)
-decl f34 :: S1
-#106 := f34
-#107 := (= f34 f1)
+decl f42 :: S1
+#135 := f42
+#136 := (= f42 f1)
+#1467 := (or #136 #98)
+decl f40 :: S1
+#128 := f40
+#129 := (= f40 f1)
+#330 := (not #136)
+#1095 := [hypothesis]: #330
+decl f32 :: S1
+#99 := f32
+#100 := (= f32 f1)
+#290 := (not #100)
+decl f16 :: S1
+#46 := f16
+#47 := (= f16 f1)
+decl f17 :: S1
+#48 := f17
+#49 := (= f17 f1)
+#236 := (not #49)
+decl f28 :: S1
+#86 := f28
+#87 := (= f28 f1)
+#1450 := (or #87 #98 #136)
+decl f29 :: S1
+#90 := f29
+#91 := (= f29 f1)
+#281 := (not #91)
+#322 := (not #129)
+#277 := (not #87)
+#867 := [hypothesis]: #277
+#1427 := (or #322 #87)
+decl f51 :: S1
+#166 := f51
+#167 := (= f51 f1)
+#363 := (not #167)
+decl f54 :: S1
+#175 := f54
+#176 := (= f54 f1)
+decl f56 :: S1
+#182 := f56
+#183 := (= f56 f1)
+#380 := (not #183)
+#372 := (not #176)
+#1160 := [hypothesis]: #372
+#1189 := (or #388 #176)
+decl f18 :: S1
+#52 := f18
+#53 := (= f18 f1)
 decl f33 :: S1
 #104 := f33
 #105 := (= f33 f1)
 #297 := (not #105)
+decl f36 :: S1
+#113 := f36
+#114 := (= f36 f1)
+#347 := (not #152)
+#1155 := [hypothesis]: #190
+#393 := (or #388 #347)
+#730 := [asserted]: #393
+#1156 := [unit-resolution #730 #1155]: #347
+#389 := (or #387 #388)
+#726 := [asserted]: #389
+#1157 := [unit-resolution #726 #1155]: #387
+#194 := (or #188 #157)
+decl f6 :: S1
+#16 := f6
+#17 := (= f6 f1)
+#579 := (or #17 #188 #157)
+#840 := (iff #579 #194)
+#835 := (or false #188 #157)
+#838 := (iff #835 #194)
+#839 := [rewrite]: #838
+#836 := (iff #579 #835)
+#759 := (iff #17 false)
+#18 := (not #17)
+#439 := [asserted]: #18
+#760 := [iff-false #439]: #759
+#837 := [monotonicity #760]: #836
+#841 := [trans #837 #839]: #840
+#195 := (or #17 #194)
+#580 := (iff #195 #579)
+#581 := [rewrite]: #580
+#568 := [asserted]: #195
+#582 := [mp #568 #581]: #579
+#842 := [mp #582 #841]: #194
+#1158 := [unit-resolution #842 #1157]: #157
 #354 := (not #157)
+#355 := (or #354 #346)
+#702 := [asserted]: #355
+#1159 := [unit-resolution #702 #1158]: #346
+decl f44 :: S1
+#142 := f44
+#143 := (= f44 f1)
+#338 := (not #143)
+decl f61 :: S1
+#203 := f61
+#204 := (= f61 f1)
+decl f60 :: S1
+#199 := f60
+#200 := (= f60 f1)
+#400 := (not #200)
 decl f37 :: S1
 #118 := f37
 #119 := (= f37 f1)
+#313 := (not #119)
+#356 := (or #354 #313)
+#703 := [asserted]: #356
+#1161 := [unit-resolution #703 #1158]: #313
+#983 := (or #400 #150 #152 #119)
+#248 := (not #60)
+decl f23 :: S1
+#68 := f23
+#69 := (= f23 f1)
+decl f34 :: S1
+#106 := f34
+#107 := (= f34 f1)
+#298 := (not #107)
+#1051 := [hypothesis]: #347
+#1052 := [hypothesis]: #346
+#306 := (not #114)
+decl f25 :: S1
+#75 := f25
+#76 := (= f25 f1)
+decl f39 :: S1
+#124 := f39
+#125 := (= f39 f1)
+#318 := (not #125)
+decl f50 :: S1
+#162 := f50
+#163 := (= f50 f1)
+decl f59 :: S1
+#196 := f59
+#197 := (= f59 f1)
+#398 := (not #197)
+#1024 := [hypothesis]: #200
+#401 := (or #400 #398)
+#736 := [asserted]: #401
+#1021 := [unit-resolution #736 #1024]: #398
+#198 := (or #197 #163)
+#573 := [asserted]: #198
+#1022 := [unit-resolution #573 #1021]: #163
+#359 := (not #163)
+#362 := (or #359 #318)
+#707 := [asserted]: #362
+#1019 := [unit-resolution #707 #1022]: #318
 decl f26 :: S1
 #80 := f26
 #81 := (= f26 f1)
+#1153 := [hypothesis]: #313
+decl f35 :: S1
+#111 := f35
+#112 := (= f35 f1)
+#305 := (not #112)
+decl f43 :: S1
+#137 := f43
+#138 := (= f43 f1)
+#331 := (not #138)
+decl f52 :: S1
+#168 := f52
+#169 := (= f52 f1)
+#364 := (not #169)
+#402 := (or #400 #364)
+#737 := [asserted]: #402
+#1020 := [unit-resolution #737 #1024]: #364
+decl f49 :: S1
+#160 := f49
+#161 := (= f49 f1)
+#358 := (not #161)
+#360 := (or #358 #359)
+#705 := [asserted]: #360
+#1017 := [unit-resolution #705 #1022]: #358
+decl f41 :: S1
+#130 := f41
+#131 := (= f41 f1)
+#323 := (not #131)
+#1126 := (or #323 #119 #125)
 #272 := (not #81)
 decl f15 :: S1
 #43 := f15
@@ -490,1566 +707,1089 @@
 #37 := f13
 #38 := (= f13 f1)
 #228 := (not #38)
-decl f14 :: S1
-#39 := f14
-#40 := (= f14 f1)
+decl f11 :: S1
+#31 := f11
+#32 := (= f11 f1)
+#218 := (not #26)
+decl f7 :: S1
+#19 := f7
+#20 := (= f7 f1)
+decl f8 :: S1
+#21 := f8
+#22 := (= f8 f1)
+#214 := (not #22)
+#1154 := [hypothesis]: #318
+decl f38 :: S1
+#122 := f38
+#123 := (= f38 f1)
+#317 := (not #123)
+#1151 := [hypothesis]: #131
+#327 := (or #323 #317)
+#681 := [asserted]: #327
+#1152 := [unit-resolution #681 #1151]: #317
+#524 := (or #123 #125 #87)
+#126 := (or #125 #87)
+#127 := (or #123 #126)
+#525 := (iff #127 #524)
+#526 := [rewrite]: #525
+#513 := [asserted]: #127
+#527 := [mp #513 #526]: #524
+#1149 := [unit-resolution #527 #1152 #1154]: #87
+#280 := (or #277 #236)
+#647 := [asserted]: #280
+#1150 := [unit-resolution #647 #1149]: #236
+#783 := (or #47 #49)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#464 := (or #47 #49 #11)
+#786 := (iff #464 #783)
+#780 := (or #47 #49 false)
+#784 := (iff #780 #783)
+#785 := [rewrite]: #784
+#781 := (iff #464 #780)
+#755 := (iff #11 false)
+#12 := (not #11)
+#437 := [asserted]: #12
+#756 := [iff-false #437]: #755
+#782 := [monotonicity #756]: #781
+#787 := [trans #782 #785]: #786
+#50 := (or #49 #11)
+#51 := (or #47 #50)
+#465 := (iff #51 #464)
+#466 := [rewrite]: #465
+#457 := [asserted]: #51
+#467 := [mp #457 #466]: #464
+#788 := [mp #467 #787]: #783
+#1147 := [unit-resolution #788 #1150]: #47
+#235 := (not #47)
+#247 := (or #235 #214)
+#623 := [asserted]: #247
+#1148 := [unit-resolution #623 #1147]: #214
+#764 := (or #20 #22)
+decl f3 :: S1
+#7 := f3
+#8 := (= f3 f1)
+#443 := (or #20 #22 #8)
+#767 := (iff #443 #764)
+#761 := (or #20 #22 false)
+#765 := (iff #761 #764)
+#766 := [rewrite]: #765
+#762 := (iff #443 #761)
+#752 := (iff #8 false)
+#9 := (not #8)
+#436 := [asserted]: #9
+#754 := [iff-false #436]: #752
+#763 := [monotonicity #754]: #762
+#768 := [trans #763 #766]: #767
+#23 := (or #22 #8)
+#24 := (or #20 #23)
+#444 := (iff #24 #443)
+#445 := [rewrite]: #444
+#440 := [asserted]: #24
+#446 := [mp #440 #445]: #443
+#769 := [mp #446 #768]: #764
+#1145 := [unit-resolution #769 #1148]: #20
+#213 := (not #20)
+#221 := (or #218 #213)
+#606 := [asserted]: #221
+#1146 := [unit-resolution #606 #1145]: #218
+decl f12 :: S1
+#33 := f12
+#34 := (= f12 f1)
+#224 := (not #34)
+decl f30 :: S1
+#92 := f30
+#93 := (= f30 f1)
+#282 := (not #93)
+#328 := (or #323 #282)
+#682 := [asserted]: #328
+#1143 := [unit-resolution #682 #1151]: #282
 decl f27 :: S1
 #84 := f27
 #85 := (= f27 f1)
-decl f29 :: S1
-#90 := f29
-#91 := (= f29 f1)
-#281 := (not #91)
-decl f31 :: S1
-#97 := f31
-#98 := (= f31 f1)
-decl f36 :: S1
-#113 := f36
-#114 := (= f36 f1)
-decl f47 :: S1
-#151 := f47
-#152 := (= f47 f1)
-#347 := (not #152)
-#229 := (not #40)
-#1030 := [hypothesis]: #229
-#1766 := (or #119 #40)
-#313 := (not #119)
-#970 := [hypothesis]: #313
-decl f22 :: S1
-#66 := f22
-#67 := (= f22 f1)
-#256 := (not #67)
-decl f20 :: S1
-#59 := f20
-#60 := (= f20 f1)
-#1740 := (or #60 #40 #119)
-decl f9 :: S1
-#25 := f9
-#26 := (= f9 f1)
-#218 := (not #26)
-#248 := (not #60)
-#919 := [hypothesis]: #248
-#1666 := (or #218 #60)
+#276 := (not #85)
+#278 := (or #276 #277)
+#645 := [asserted]: #278
+#1144 := [unit-resolution #645 #1149]: #276
 decl f19 :: S1
 #54 := f19
 #55 := (= f19 f1)
 #241 := (not #55)
-decl f8 :: S1
-#21 := f8
-#22 := (= f8 f1)
-decl f7 :: S1
-#19 := f7
-#20 := (= f7 f1)
-#213 := (not #20)
-#1651 := [hypothesis]: #26
-#221 := (or #218 #213)
-#459 := [asserted]: #221
-#1652 := [unit-resolution #459 #1651]: #213
-#904 := (or #20 #22)
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#9 := (not #8)
-#417 := [asserted]: #9
-#605 := (or #20 #22 #8)
-#23 := (or #22 #8)
-#24 := (or #20 #23)
-#606 := (iff #24 #605)
-#607 := [rewrite]: #606
-#421 := [asserted]: #24
-#608 := [mp #421 #607]: #605
-#905 := [unit-resolution #608 #417]: #904
-#1653 := [unit-resolution #905 #1652]: #22
-#214 := (not #22)
-#246 := (or #241 #214)
-#475 := [asserted]: #246
-#1654 := [unit-resolution #475 #1653]: #241
-decl f21 :: S1
-#61 := f21
-#62 := (= f21 f1)
+#245 := (or #241 #235)
+#621 := [asserted]: #245
+#1141 := [unit-resolution #621 #1147]: #241
+#499 := (or #91 #93 #85 #55)
+#94 := (or #85 #55)
+#95 := (or #93 #94)
+#96 := (or #91 #95)
+#500 := (iff #96 #499)
+#501 := [rewrite]: #500
+#488 := [asserted]: #96
+#502 := [mp #488 #501]: #499
+#1142 := [unit-resolution #502 #1141 #1144 #1143]: #91
+#296 := (or #281 #249)
+#659 := [asserted]: #296
+#1139 := [unit-resolution #659 #1142]: #249
+#240 := (not #53)
+#243 := (or #240 #235)
+#619 := [asserted]: #243
+#1140 := [unit-resolution #619 #1147]: #240
 decl f10 :: S1
 #27 := f10
 #28 := (= f10 f1)
 #219 := (not #28)
-#220 := (or #218 #219)
-#458 := [asserted]: #220
-#1655 := [unit-resolution #458 #1651]: #219
-decl f18 :: S1
-#52 := f18
-#53 := (= f18 f1)
-#240 := (not #53)
-#244 := (or #240 #214)
-#473 := [asserted]: #244
-#1656 := [unit-resolution #473 #1653]: #240
-#643 := (or #60 #62 #53 #28)
+#222 := (or #219 #213)
+#607 := [asserted]: #222
+#1137 := [unit-resolution #607 #1145]: #219
+#474 := (or #60 #62 #53 #28)
 #63 := (or #53 #28)
 #64 := (or #62 #63)
 #65 := (or #60 #64)
-#646 := (iff #65 #643)
-#637 := (or #62 #53 #28)
-#640 := (or #60 #637)
-#644 := (iff #640 #643)
-#645 := [rewrite]: #644
-#641 := (iff #65 #640)
-#638 := (iff #64 #637)
-#639 := [rewrite]: #638
-#642 := [monotonicity #639]: #641
-#647 := [trans #642 #645]: #646
-#428 := [asserted]: #65
-#648 := [mp #428 #647]: #643
-#1657 := [unit-resolution #648 #1656 #919 #1655]: #62
-#249 := (not #62)
-#296 := (or #281 #249)
-#512 := [asserted]: #296
-#1658 := [unit-resolution #512 #1657]: #281
-#276 := (not #85)
-decl f17 :: S1
-#48 := f17
-#49 := (= f17 f1)
-decl f16 :: S1
-#46 := f16
-#47 := (= f16 f1)
-#235 := (not #47)
-#247 := (or #235 #214)
-#476 := [asserted]: #247
-#1659 := [unit-resolution #476 #1653]: #235
-#915 := (or #47 #49)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#12 := (not #11)
-#418 := [asserted]: #12
-#621 := (or #47 #49 #11)
-#50 := (or #49 #11)
-#51 := (or #47 #50)
-#622 := (iff #51 #621)
-#623 := [rewrite]: #622
-#426 := [asserted]: #51
-#624 := [mp #426 #623]: #621
-#916 := [unit-resolution #624 #418]: #915
-#1660 := [unit-resolution #916 #1659]: #49
-#236 := (not #49)
-#279 := (or #276 #236)
-#499 := [asserted]: #279
-#1661 := [unit-resolution #499 #1660]: #276
-#1663 := (or #91 #85 #55)
-decl f30 :: S1
-#92 := f30
-#93 := (= f30 f1)
-#282 := (not #93)
-decl f40 :: S1
-#128 := f40
-#129 := (= f40 f1)
-#289 := (not #98)
-decl f41 :: S1
-#130 := f41
-#131 := (= f41 f1)
-decl f52 :: S1
-#168 := f52
-#169 := (= f52 f1)
-#364 := (not #169)
-decl f60 :: S1
-#199 := f60
-#200 := (= f60 f1)
-decl f61 :: S1
-#203 := f61
-#204 := (= f61 f1)
-#404 := (not #204)
-decl f56 :: S1
-#182 := f56
-#183 := (= f56 f1)
-#322 := (not #129)
-#881 := [hypothesis]: #322
-#1606 := (or #183 #129)
-decl f54 :: S1
-#175 := f54
-#176 := (= f54 f1)
-#372 := (not #176)
-decl f43 :: S1
-#137 := f43
-#138 := (= f43 f1)
-#380 := (not #183)
-#882 := [hypothesis]: #380
-#1359 := (or #387 #129 #183)
-decl f50 :: S1
-#162 := f50
-#163 := (= f50 f1)
-decl f59 :: S1
-#196 := f59
-#197 := (= f59 f1)
-#398 := (not #197)
-decl f62 :: S1
-#207 := f62
-#208 := (= f62 f1)
-decl f58 :: S1
-#189 := f58
-#190 := (= f58 f1)
-#388 := (not #190)
-#1337 := [hypothesis]: #188
-#389 := (or #387 #388)
-#579 := [asserted]: #389
-#1338 := [unit-resolution #579 #1337]: #388
-#211 := (or #208 #190)
-decl f5 :: S1
-#13 := f5
-#14 := (= f5 f1)
-#15 := (not #14)
-#419 := [asserted]: #15
-#857 := (or #14 #208 #190)
-#212 := (or #14 #211)
-#858 := (iff #212 #857)
-#859 := [rewrite]: #858
-#454 := [asserted]: #212
-#860 := [mp #454 #859]: #857
-#1339 := [unit-resolution #860 #419]: #211
-#1340 := [unit-resolution #1339 #1338]: #208
-#408 := (not #208)
-#409 := (or #408 #404)
-#595 := [asserted]: #409
-#1341 := [unit-resolution #595 #1340]: #404
-decl f53 :: S1
-#173 := f53
-#174 := (= f53 f1)
-decl f55 :: S1
-#180 := f55
-#181 := (= f55 f1)
-#379 := (not #181)
-#390 := (or #387 #379)
-#580 := [asserted]: #390
-#1342 := [unit-resolution #580 #1337]: #379
-#391 := (or #387 #347)
-#581 := [asserted]: #391
-#1343 := [unit-resolution #581 #1337]: #347
-#1335 := (or #339 #129 #181 #183 #204 #152)
-decl f39 :: S1
-#124 := f39
-#125 := (= f39 f1)
-#318 := (not #125)
-#969 := [hypothesis]: #404
-#883 := [hypothesis]: #379
-decl f25 :: S1
-#75 := f25
-#76 := (= f25 f1)
-#265 := (not #76)
-#1172 := [hypothesis]: #347
-#1304 := (or #40 #152 #204 #181 #183 #129)
-#1276 := (or #138 #152 #181 #183 #204 #129 #40)
-decl f46 :: S1
-#149 := f46
-#150 := (= f46 f1)
-#346 := (not #150)
-#1152 := (or #119 #129 #181 #183 #204)
-decl f32 :: S1
-#99 := f32
-#100 := (= f32 f1)
-#331 := (not #138)
-#400 := (not #200)
-#359 := (not #163)
-decl f28 :: S1
-#86 := f28
-#87 := (= f28 f1)
-#277 := (not #87)
-decl f11 :: S1
-#31 := f11
-#32 := (= f11 f1)
+#475 := (iff #65 #474)
+#476 := [rewrite]: #475
+#463 := [asserted]: #65
+#477 := [mp #463 #476]: #474
+#1138 := [unit-resolution #477 #1137 #1140 #1139]: #60
+#263 := (or #248 #224)
+#635 := [asserted]: #263
+#1135 := [unit-resolution #635 #1138]: #224
+#453 := (or #32 #34 #26)
+#35 := (or #34 #26)
+#36 := (or #32 #35)
+#454 := (iff #36 #453)
+#455 := [rewrite]: #454
+#442 := [asserted]: #36
+#456 := [mp #442 #455]: #453
+#1136 := [unit-resolution #456 #1135 #1146]: #32
 #223 := (not #32)
+#231 := (or #228 #223)
+#612 := [asserted]: #231
+#1133 := [unit-resolution #612 #1136]: #228
+#45 := (or #44 #38)
+#452 := [asserted]: #45
+#1134 := [unit-resolution #452 #1133]: #44
 #233 := (not #44)
-#1008 := (or #233 #129 #181 #183 #204 #119)
-#371 := (not #174)
-decl f51 :: S1
-#166 := f51
-#167 := (= f51 f1)
-decl f35 :: S1
-#111 := f35
-#112 := (= f35 f1)
-#971 := [hypothesis]: #44
 #274 := (or #272 #233)
-#496 := [asserted]: #274
-#972 := [unit-resolution #496 #971]: #272
-#729 := (or #119 #112 #81)
+#643 := [asserted]: #274
+#1131 := [unit-resolution #643 #1134]: #272
+#519 := (or #119 #112 #81)
 #120 := (or #112 #81)
 #121 := (or #119 #120)
-#730 := (iff #121 #729)
-#731 := [rewrite]: #730
-#437 := [asserted]: #121
-#732 := [mp #437 #731]: #729
-#973 := [unit-resolution #732 #972 #970]: #112
-#305 := (not #112)
-#308 := (or #305 #297)
-#520 := [asserted]: #308
-#974 := [unit-resolution #520 #973]: #297
-#309 := (or #305 #265)
-#521 := [asserted]: #309
-#975 := [unit-resolution #521 #973]: #265
+#520 := (iff #121 #519)
+#521 := [rewrite]: #520
+#508 := [asserted]: #121
+#522 := [mp #508 #521]: #519
+#1132 := [unit-resolution #522 #1131 #1153]: #112
+decl f14 :: S1
+#39 := f14
+#40 := (= f14 f1)
+#229 := (not #40)
+#232 := (or #229 #223)
+#613 := [asserted]: #232
+#1129 := [unit-resolution #613 #1136]: #229
+decl f22 :: S1
+#66 := f22
+#67 := (= f22 f1)
+#256 := (not #67)
+#259 := (or #256 #248)
+#631 := [asserted]: #259
+#1130 := [unit-resolution #631 #1138]: #256
 decl f24 :: S1
 #73 := f24
 #74 := (= f24 f1)
 #264 := (not #74)
 #275 := (or #264 #233)
-#497 := [asserted]: #275
-#976 := [unit-resolution #497 #971]: #264
-#908 := (or #372 #74 #76 #105 #129 #181 #183)
-#879 := [hypothesis]: #176
-#377 := (or #372 #331)
-#571 := [asserted]: #377
-#880 := [unit-resolution #571 #879]: #331
-decl f42 :: S1
-#135 := f42
-#136 := (= f42 f1)
-#330 := (not #136)
-#373 := (or #371 #372)
-#567 := [asserted]: #373
-#884 := [unit-resolution #567 #879]: #371
-#823 := (or #181 #183 #174 #145)
-#184 := (or #174 #145)
-#185 := (or #183 #184)
-#186 := (or #181 #185)
-#826 := (iff #186 #823)
-#817 := (or #183 #174 #145)
-#820 := (or #181 #817)
-#824 := (iff #820 #823)
-#825 := [rewrite]: #824
-#821 := (iff #186 #820)
-#818 := (iff #185 #817)
-#819 := [rewrite]: #818
-#822 := [monotonicity #819]: #821
-#827 := [trans #822 #825]: #826
-#447 := [asserted]: #186
-#828 := [mp #447 #827]: #823
-#885 := [unit-resolution #828 #884 #883 #882]: #145
-#343 := (or #339 #330)
-#546 := [asserted]: #343
-#886 := [unit-resolution #546 #885]: #330
-#755 := (or #136 #138 #129 #100)
-#139 := (or #129 #100)
-#140 := (or #138 #139)
-#141 := (or #136 #140)
-#758 := (iff #141 #755)
-#749 := (or #138 #129 #100)
-#752 := (or #136 #749)
-#756 := (iff #752 #755)
-#757 := [rewrite]: #756
-#753 := (iff #141 #752)
-#750 := (iff #140 #749)
-#751 := [rewrite]: #750
-#754 := [monotonicity #751]: #753
-#759 := [trans #754 #757]: #758
-#440 := [asserted]: #141
-#760 := [mp #440 #759]: #755
-#887 := [unit-resolution #760 #886 #881 #880]: #100
-#290 := (not #100)
-#295 := (or #290 #249)
-#511 := [asserted]: #295
-#888 := [unit-resolution #511 #887]: #249
-decl f23 :: S1
-#68 := f23
-#69 := (= f23 f1)
-#298 := (not #107)
-#344 := (or #339 #298)
-#547 := [asserted]: #344
-#889 := [unit-resolution #547 #885]: #298
-#890 := [hypothesis]: #297
-#291 := (or #289 #290)
-#507 := [asserted]: #291
-#891 := [unit-resolution #507 #887]: #289
-#711 := (or #105 #107 #98 #69)
-#108 := (or #98 #69)
-#109 := (or #107 #108)
-#110 := (or #105 #109)
-#714 := (iff #110 #711)
-#705 := (or #107 #98 #69)
-#708 := (or #105 #705)
-#712 := (iff #708 #711)
-#713 := [rewrite]: #712
-#709 := (iff #110 #708)
-#706 := (iff #109 #705)
-#707 := [rewrite]: #706
-#710 := [monotonicity #707]: #709
-#715 := [trans #710 #713]: #714
-#435 := [asserted]: #110
-#716 := [mp #435 #715]: #711
-#892 := [unit-resolution #716 #891 #890 #889]: #69
-#257 := (not #69)
-#261 := (or #257 #248)
-#486 := [asserted]: #261
-#893 := [unit-resolution #486 #892]: #248
-decl f12 :: S1
-#33 := f12
-#34 := (= f12 f1)
-#224 := (not #34)
-#262 := (or #257 #224)
-#487 := [asserted]: #262
-#894 := [unit-resolution #487 #892]: #224
-#895 := [hypothesis]: #265
-#896 := [hypothesis]: #264
-#258 := (or #256 #257)
-#483 := [asserted]: #258
-#897 := [unit-resolution #483 #892]: #256
-#667 := (or #74 #76 #67 #40)
+#644 := [asserted]: #275
+#1127 := [unit-resolution #644 #1134]: #264
+#484 := (or #74 #76 #67 #40)
 #77 := (or #67 #40)
 #78 := (or #76 #77)
 #79 := (or #74 #78)
-#670 := (iff #79 #667)
-#661 := (or #76 #67 #40)
-#664 := (or #74 #661)
-#668 := (iff #664 #667)
-#669 := [rewrite]: #668
-#665 := (iff #79 #664)
-#662 := (iff #78 #661)
-#663 := [rewrite]: #662
-#666 := [monotonicity #663]: #665
-#671 := [trans #666 #669]: #670
-#430 := [asserted]: #79
-#672 := [mp #430 #671]: #667
-#898 := [unit-resolution #672 #897 #896 #895]: #40
-#232 := (or #229 #223)
-#466 := [asserted]: #232
-#899 := [unit-resolution #466 #898]: #223
-#613 := (or #32 #34 #26)
-#35 := (or #34 #26)
-#36 := (or #32 #35)
-#614 := (iff #36 #613)
-#615 := [rewrite]: #614
-#423 := [asserted]: #36
-#616 := [mp #423 #615]: #613
-#900 := [unit-resolution #616 #899 #894]: #26
-#901 := [unit-resolution #458 #900]: #219
-#902 := [unit-resolution #648 #901 #893 #888]: #53
-#903 := [unit-resolution #459 #900]: #213
-#906 := [unit-resolution #905 #903]: #22
-#907 := [unit-resolution #473 #906 #902]: false
-#909 := [lemma #907]: #908
-#977 := [unit-resolution #909 #976 #975 #974 #881 #883 #882]: #372
-#849 := (or #204 #200 #176)
-#205 := (or #200 #176)
-#206 := (or #204 #205)
-#850 := (iff #206 #849)
-#851 := [rewrite]: #850
-#452 := [asserted]: #206
-#852 := [mp #452 #851]: #849
-#978 := [unit-resolution #852 #977 #969]: #200
-#402 := (or #400 #364)
-#590 := [asserted]: #402
-#979 := [unit-resolution #590 #978]: #364
-decl f49 :: S1
-#160 := f49
-#161 := (= f49 f1)
-#358 := (not #161)
-#401 := (or #400 #398)
-#589 := [asserted]: #401
-#980 := [unit-resolution #589 #978]: #398
-#198 := (or #197 #163)
-#450 := [asserted]: #198
-#981 := [unit-resolution #450 #980]: #163
-#360 := (or #358 #359)
-#558 := [asserted]: #360
-#982 := [unit-resolution #558 #981]: #358
-#323 := (not #131)
-decl f38 :: S1
-#122 := f38
-#123 := (= f38 f1)
-#362 := (or #359 #318)
-#560 := [asserted]: #362
-#983 := [unit-resolution #560 #981]: #318
-#946 := (or #256 #105 #129 #181 #183 #161 #169 #125)
-#931 := [hypothesis]: #364
-#932 := [hypothesis]: #358
-#910 := [hypothesis]: #318
-#933 := [hypothesis]: #67
-#259 := (or #256 #248)
-#484 := [asserted]: #259
-#934 := [unit-resolution #484 #933]: #248
-#929 := (or #323 #60 #125)
-#317 := (not #123)
-#911 := [hypothesis]: #131
-#327 := (or #323 #317)
-#534 := [asserted]: #327
-#912 := [unit-resolution #534 #911]: #317
-#733 := (or #123 #125 #87)
-#126 := (or #125 #87)
-#127 := (or #123 #126)
-#734 := (iff #127 #733)
-#735 := [rewrite]: #734
-#438 := [asserted]: #127
-#736 := [mp #438 #735]: #733
-#913 := [unit-resolution #736 #912 #910]: #87
-#280 := (or #277 #236)
-#500 := [asserted]: #280
-#914 := [unit-resolution #500 #913]: #236
-#917 := [unit-resolution #916 #914]: #47
-#243 := (or #240 #235)
-#472 := [asserted]: #243
-#918 := [unit-resolution #472 #917]: #240
-#328 := (or #323 #282)
-#535 := [asserted]: #328
-#920 := [unit-resolution #535 #911]: #282
-#278 := (or #276 #277)
-#498 := [asserted]: #278
-#921 := [unit-resolution #498 #913]: #276
-#245 := (or #241 #235)
-#474 := [asserted]: #245
-#922 := [unit-resolution #474 #917]: #241
-#687 := (or #91 #93 #85 #55)
-#94 := (or #85 #55)
-#95 := (or #93 #94)
-#96 := (or #91 #95)
-#690 := (iff #96 #687)
-#681 := (or #93 #85 #55)
-#684 := (or #91 #681)
-#688 := (iff #684 #687)
-#689 := [rewrite]: #688
-#685 := (iff #96 #684)
-#682 := (iff #95 #681)
-#683 := [rewrite]: #682
-#686 := [monotonicity #683]: #685
-#691 := [trans #686 #689]: #690
-#433 := [asserted]: #96
-#692 := [mp #433 #691]: #687
-#923 := [unit-resolution #692 #922 #921 #920]: #91
-#924 := [unit-resolution #512 #923]: #249
-#925 := [unit-resolution #476 #917]: #214
-#926 := [unit-resolution #905 #925]: #20
-#222 := (or #219 #213)
-#460 := [asserted]: #222
-#927 := [unit-resolution #460 #926]: #219
-#928 := [unit-resolution #648 #927 #924 #919 #918]: false
-#930 := [lemma #928]: #929
-#935 := [unit-resolution #930 #934 #910]: #323
-#799 := (or #167 #169 #161 #131)
+#485 := (iff #79 #484)
+#486 := [rewrite]: #485
+#473 := [asserted]: #79
+#487 := [mp #473 #486]: #484
+#1128 := [unit-resolution #487 #1127 #1130 #1129]: #76
+#265 := (not #76)
+#309 := (or #305 #265)
+#668 := [asserted]: #309
+#1125 := [unit-resolution #668 #1128 #1132]: false
+#1123 := [lemma #1125]: #1126
+#1018 := [unit-resolution #1123 #1019 #1153]: #323
+#559 := (or #167 #169 #161 #131)
 #170 := (or #161 #131)
 #171 := (or #169 #170)
 #172 := (or #167 #171)
-#802 := (iff #172 #799)
-#793 := (or #169 #161 #131)
-#796 := (or #167 #793)
-#800 := (iff #796 #799)
-#801 := [rewrite]: #800
-#797 := (iff #172 #796)
-#794 := (iff #171 #793)
-#795 := [rewrite]: #794
-#798 := [monotonicity #795]: #797
-#803 := [trans #798 #801]: #802
-#445 := [asserted]: #172
-#804 := [mp #445 #803]: #799
-#936 := [unit-resolution #804 #935 #932 #931]: #167
-#363 := (not #167)
+#560 := (iff #172 #559)
+#561 := [rewrite]: #560
+#548 := [asserted]: #172
+#562 := [mp #548 #561]: #559
+#1015 := [unit-resolution #562 #1018 #1017 #1020]: #167
 #378 := (or #363 #331)
-#572 := [asserted]: #378
-#937 := [unit-resolution #572 #936]: #331
-#374 := (or #371 #363)
-#568 := [asserted]: #374
-#938 := [unit-resolution #568 #936]: #371
-#939 := [unit-resolution #828 #938 #883 #882]: #145
-#940 := [unit-resolution #546 #939]: #330
-#941 := [unit-resolution #760 #940 #881 #937]: #100
-#942 := [unit-resolution #483 #933]: #257
-#943 := [unit-resolution #547 #939]: #298
-#944 := [unit-resolution #716 #943 #890 #942]: #98
-#945 := [unit-resolution #507 #944 #941]: false
-#947 := [lemma #945]: #946
-#984 := [unit-resolution #947 #974 #881 #883 #882 #982 #979 #983]: #256
-#985 := [unit-resolution #672 #984 #976 #975]: #40
-#986 := [unit-resolution #466 #985]: #223
-#967 := (or #60 #32 #105 #129 #181 #183 #161 #169 #125)
-#948 := [unit-resolution #930 #919 #910]: #323
-#949 := [unit-resolution #804 #948 #932 #931]: #167
-#950 := [unit-resolution #572 #949]: #331
-#951 := [unit-resolution #568 #949]: #371
-#952 := [unit-resolution #828 #951 #883 #882]: #145
-#953 := [unit-resolution #546 #952]: #330
-#954 := [unit-resolution #760 #953 #881 #950]: #100
-#955 := [unit-resolution #511 #954]: #249
-#956 := [hypothesis]: #223
-#957 := [unit-resolution #547 #952]: #298
-#958 := [unit-resolution #507 #954]: #289
-#959 := [unit-resolution #716 #958 #890 #957]: #69
-#960 := [unit-resolution #487 #959]: #224
-#961 := [unit-resolution #616 #960 #956]: #26
-#962 := [unit-resolution #458 #961]: #219
-#963 := [unit-resolution #648 #962 #919 #955]: #53
-#964 := [unit-resolution #459 #961]: #213
-#965 := [unit-resolution #905 #964]: #22
-#966 := [unit-resolution #473 #965 #963]: false
-#968 := [lemma #966]: #967
-#987 := [unit-resolution #968 #986 #974 #881 #883 #882 #982 #979 #983]: #60
-#263 := (or #248 #224)
-#488 := [asserted]: #263
-#988 := [unit-resolution #488 #987]: #224
-#989 := [unit-resolution #616 #988 #986]: #26
-#990 := [unit-resolution #459 #989]: #213
-#991 := [unit-resolution #905 #990]: #22
-#992 := [unit-resolution #476 #991]: #235
-#993 := [unit-resolution #916 #992]: #49
-#994 := [unit-resolution #500 #993]: #277
-#995 := [unit-resolution #736 #994 #983]: #123
-#996 := [unit-resolution #534 #995]: #323
-#997 := [unit-resolution #804 #996 #982 #979]: #167
-#998 := [unit-resolution #568 #997]: #371
-#999 := [unit-resolution #828 #998 #883 #882]: #145
-#1000 := [unit-resolution #572 #997]: #331
-#1001 := [unit-resolution #499 #993]: #276
-#1002 := [unit-resolution #475 #991]: #241
-#329 := (or #317 #282)
-#536 := [asserted]: #329
-#1003 := [unit-resolution #536 #995]: #282
-#1004 := [unit-resolution #692 #1003 #1002 #1001]: #91
-#294 := (or #290 #281)
-#510 := [asserted]: #294
-#1005 := [unit-resolution #510 #1004]: #290
-#1006 := [unit-resolution #760 #1005 #881 #1000]: #136
-#1007 := [unit-resolution #546 #1006 #999]: false
-#1009 := [lemma #1007]: #1008
-#1072 := [unit-resolution #1009 #970 #883 #882 #969 #881]: #233
-#45 := (or #44 #38)
-#425 := [asserted]: #45
-#1073 := [unit-resolution #425 #1072]: #38
-#231 := (or #228 #223)
-#465 := [asserted]: #231
-#1075 := [unit-resolution #465 #1073]: #223
-#1100 := (or #60 #119 #129 #181 #183 #204)
-#230 := (or #228 #229)
-#464 := [asserted]: #230
-#1074 := [unit-resolution #464 #1073]: #229
-#1086 := (or #125 #129 #119 #60 #181 #183 #204)
-#1023 := [unit-resolution #930 #910 #919]: #323
-#1020 := (or #371 #131 #204)
-#1010 := [hypothesis]: #174
-#1011 := [unit-resolution #567 #1010]: #372
-#1012 := [unit-resolution #852 #1011 #969]: #200
-#1013 := [unit-resolution #589 #1012]: #398
-#1014 := [unit-resolution #450 #1013]: #163
-#1015 := [unit-resolution #568 #1010]: #363
-#1016 := [hypothesis]: #323
-#1017 := [unit-resolution #590 #1012]: #364
-#1018 := [unit-resolution #804 #1017 #1016 #1015]: #161
-#1019 := [unit-resolution #558 #1018 #1014]: false
-#1021 := [lemma #1019]: #1020
-#1069 := [unit-resolution #1021 #1023 #969]: #371
-#1070 := [unit-resolution #828 #1069 #883 #882]: #145
-#1071 := [unit-resolution #546 #1070]: #330
-#1076 := [unit-resolution #547 #1070]: #298
-#1067 := (or #290 #60 #32 #119 #107 #40)
-#1057 := [hypothesis]: #100
-#1058 := [unit-resolution #511 #1057]: #249
-#1045 := [hypothesis]: #298
-#1059 := [unit-resolution #507 #1057]: #289
-#1055 := (or #224 #40 #119 #107 #98)
-#1044 := [hypothesis]: #289
-#1046 := [hypothesis]: #34
-#1047 := [unit-resolution #487 #1046]: #257
-#1048 := [unit-resolution #716 #1047 #1045 #1044]: #105
-#1049 := [unit-resolution #520 #1048]: #305
-#1050 := [unit-resolution #732 #1049 #970]: #81
-#260 := (or #256 #224)
-#485 := [asserted]: #260
-#1051 := [unit-resolution #485 #1046]: #256
-#312 := (or #297 #265)
-#524 := [asserted]: #312
-#1052 := [unit-resolution #524 #1048]: #265
-#1053 := [unit-resolution #672 #1052 #1030 #1051]: #74
-#273 := (or #272 #264)
-#495 := [asserted]: #273
-#1054 := [unit-resolution #495 #1053 #1050]: false
-#1056 := [lemma #1054]: #1055
-#1060 := [unit-resolution #1056 #1059 #970 #1045 #1030]: #224
-#1061 := [unit-resolution #616 #1060 #956]: #26
-#1062 := [unit-resolution #458 #1061]: #219
-#1063 := [unit-resolution #648 #1062 #919 #1058]: #53
-#1064 := [unit-resolution #459 #1061]: #213
-#1065 := [unit-resolution #905 #1064]: #22
-#1066 := [unit-resolution #473 #1065 #1063]: false
-#1068 := [lemma #1066]: #1067
-#1077 := [unit-resolution #1068 #1076 #1075 #970 #919 #1074]: #290
-#1078 := [unit-resolution #760 #1077 #881 #1071]: #138
-#1079 := [unit-resolution #571 #1078]: #372
-#1080 := [unit-resolution #852 #1079 #969]: #200
-#1081 := [unit-resolution #589 #1080]: #398
-#1082 := [unit-resolution #450 #1081]: #163
-#1083 := [unit-resolution #590 #1080]: #364
-#1042 := (or #161 #60 #32 #40 #129 #136 #119 #169 #181 #183 #125)
-#1022 := [hypothesis]: #330
-#1024 := [unit-resolution #804 #932 #1023 #931]: #167
-#1025 := [unit-resolution #572 #1024]: #331
-#1026 := [unit-resolution #760 #1025 #881 #1022]: #100
-#1027 := [unit-resolution #511 #1026]: #249
-#1028 := [unit-resolution #968 #932 #956 #881 #883 #882 #919 #931 #910]: #105
-#1029 := [unit-resolution #524 #1028]: #265
-#1031 := [unit-resolution #520 #1028]: #305
-#1032 := [unit-resolution #732 #1031 #970]: #81
-#1033 := [unit-resolution #495 #1032]: #264
-#1034 := [unit-resolution #672 #1033 #1030 #1029]: #67
-#1035 := [unit-resolution #485 #1034]: #224
-#1036 := [unit-resolution #616 #1035 #956]: #26
-#1037 := [unit-resolution #458 #1036]: #219
-#1038 := [unit-resolution #648 #1037 #919 #1027]: #53
-#1039 := [unit-resolution #459 #1036]: #213
-#1040 := [unit-resolution #905 #1039]: #22
-#1041 := [unit-resolution #473 #1040 #1038]: false
-#1043 := [lemma #1041]: #1042
-#1084 := [unit-resolution #1043 #1083 #1075 #1074 #881 #1071 #970 #919 #883 #882 #910]: #161
-#1085 := [unit-resolution #558 #1084 #1082]: false
-#1087 := [lemma #1085]: #1086
-#1088 := [unit-resolution #1087 #919 #970 #881 #883 #882 #969]: #125
-#1089 := [unit-resolution #560 #1088]: #359
-#1090 := [unit-resolution #450 #1089]: #197
-#1091 := [unit-resolution #589 #1090]: #400
-#1092 := [unit-resolution #852 #1091 #969]: #176
-#1093 := [unit-resolution #567 #1092]: #371
-#1094 := [unit-resolution #828 #1093 #883 #882]: #145
-#1095 := [unit-resolution #547 #1094]: #298
-#1096 := [unit-resolution #571 #1092]: #331
-#1097 := [unit-resolution #546 #1094]: #330
-#1098 := [unit-resolution #760 #1097 #881 #1096]: #100
-#1099 := [unit-resolution #1068 #1098 #1095 #1075 #970 #919 #1074]: false
-#1101 := [lemma #1099]: #1100
-#1125 := [unit-resolution #1101 #970 #881 #883 #882 #969]: #60
-#1126 := [unit-resolution #488 #1125]: #224
-#1127 := [unit-resolution #616 #1126 #1075]: #26
-#1128 := [unit-resolution #459 #1127]: #213
-#1129 := [unit-resolution #905 #1128]: #22
-#1130 := [unit-resolution #476 #1129]: #235
-#1131 := [unit-resolution #916 #1130]: #49
-#1132 := [unit-resolution #500 #1131]: #277
-#1133 := [unit-resolution #475 #1129]: #241
-#1134 := [unit-resolution #499 #1131]: #276
-#1135 := [unit-resolution #484 #1125]: #256
-#1109 := (or #297 #40 #67 #119)
-#1102 := [hypothesis]: #105
-#1103 := [unit-resolution #520 #1102]: #305
-#1104 := [unit-resolution #732 #1103 #970]: #81
-#1105 := [hypothesis]: #256
-#1106 := [unit-resolution #524 #1102]: #265
-#1107 := [unit-resolution #672 #1106 #1030 #1105]: #74
-#1108 := [unit-resolution #495 #1107 #1104]: false
-#1110 := [lemma #1108]: #1109
-#1136 := [unit-resolution #1110 #1074 #1135 #970]: #297
-#1137 := [unit-resolution #486 #1125]: #257
-#1123 := (or #317 #69 #105 #181 #183 #85 #55 #204)
-#1111 := [hypothesis]: #257
-#1112 := [hypothesis]: #241
-#1113 := [hypothesis]: #276
-#1114 := [hypothesis]: #123
-#1115 := [unit-resolution #536 #1114]: #282
-#1116 := [unit-resolution #692 #1115 #1113 #1112]: #91
-#292 := (or #289 #281)
-#508 := [asserted]: #292
-#1117 := [unit-resolution #508 #1116]: #289
-#1118 := [unit-resolution #534 #1114]: #323
-#1119 := [unit-resolution #1021 #1118 #969]: #371
-#1120 := [unit-resolution #828 #1119 #883 #882]: #145
-#1121 := [unit-resolution #547 #1120]: #298
-#1122 := [unit-resolution #716 #1121 #1117 #1111 #890]: false
-#1124 := [lemma #1122]: #1123
-#1138 := [unit-resolution #1124 #1137 #1136 #883 #882 #1134 #1133 #969]: #317
-#1139 := [unit-resolution #736 #1138 #1132]: #125
-#1140 := [unit-resolution #560 #1139]: #359
-#1141 := [unit-resolution #450 #1140]: #197
-#1142 := [unit-resolution #589 #1141]: #400
-#1143 := [unit-resolution #852 #1142 #969]: #176
-#1144 := [unit-resolution #571 #1143]: #331
-#1145 := [unit-resolution #567 #1143]: #371
-#1146 := [unit-resolution #828 #1145 #883 #882]: #145
-#1147 := [unit-resolution #546 #1146]: #330
-#1148 := [unit-resolution #760 #1147 #881 #1144]: #100
-#1149 := [unit-resolution #547 #1146]: #298
-#1150 := [unit-resolution #716 #1149 #1137 #1136]: #98
-#1151 := [unit-resolution #507 #1150 #1148]: false
-#1153 := [lemma #1151]: #1152
-#1195 := [unit-resolution #1153 #883 #881 #882 #969]: #119
-#357 := (or #346 #313)
-#557 := [asserted]: #357
-#1196 := [unit-resolution #557 #1195]: #346
-decl f44 :: S1
-#142 := f44
-#143 := (= f44 f1)
-#338 := (not #143)
-#1207 := (or #60 #204 #181 #183 #40 #129 #152)
-#1165 := (or #331 #60 #204)
-#1154 := [hypothesis]: #138
-#1155 := [unit-resolution #571 #1154]: #372
-#1156 := [unit-resolution #852 #1155 #969]: #200
-#1157 := [unit-resolution #589 #1156]: #398
-#1158 := [unit-resolution #450 #1157]: #163
-#1159 := [unit-resolution #560 #1158]: #318
-#1160 := [unit-resolution #590 #1156]: #364
-#1161 := [unit-resolution #572 #1154]: #363
-#1162 := [unit-resolution #558 #1158]: #358
-#1163 := [unit-resolution #804 #1162 #1161 #1160]: #131
-#1164 := [unit-resolution #930 #1163 #1159 #919]: false
-#1166 := [lemma #1164]: #1165
-#1197 := [unit-resolution #1166 #919 #969]: #331
-#1193 := (or #339 #60 #40 #129 #138 #150 #152)
-#1167 := [hypothesis]: #331
-#1168 := [hypothesis]: #145
-#1169 := [unit-resolution #546 #1168]: #330
-#1170 := [unit-resolution #760 #1169 #881 #1167]: #100
-#1171 := [unit-resolution #511 #1170]: #249
-#1173 := [hypothesis]: #346
-#340 := (or #338 #339)
-#543 := [asserted]: #340
-#1174 := [unit-resolution #543 #1168]: #338
-#779 := (or #150 #152 #143 #114)
+#719 := [asserted]: #378
+#1016 := [unit-resolution #719 #1015]: #331
+#1026 := (or #305 #138 #125 #150 #152)
+#1049 := [hypothesis]: #112
+#307 := (or #305 #306)
+#666 := [asserted]: #307
+#1050 := [unit-resolution #666 #1049]: #306
+#544 := (or #150 #152 #143 #114)
 #153 := (or #143 #114)
 #154 := (or #152 #153)
 #155 := (or #150 #154)
-#782 := (iff #155 #779)
-#773 := (or #152 #143 #114)
-#776 := (or #150 #773)
-#780 := (iff #776 #779)
-#781 := [rewrite]: #780
-#777 := (iff #155 #776)
-#774 := (iff #154 #773)
-#775 := [rewrite]: #774
-#778 := [monotonicity #775]: #777
-#783 := [trans #778 #781]: #782
-#442 := [asserted]: #155
-#784 := [mp #442 #783]: #779
-#1175 := [unit-resolution #784 #1174 #1173 #1172]: #114
-#306 := (not #114)
-#310 := (or #306 #297)
-#522 := [asserted]: #310
-#1176 := [unit-resolution #522 #1175]: #297
-#1177 := [unit-resolution #547 #1168]: #298
-#1178 := [unit-resolution #507 #1170]: #289
-#1179 := [unit-resolution #716 #1178 #1177 #1176]: #69
-#1180 := [unit-resolution #487 #1179]: #224
-#311 := (or #306 #265)
-#523 := [asserted]: #311
-#1181 := [unit-resolution #523 #1175]: #265
-#1182 := [unit-resolution #483 #1179]: #256
-#1183 := [unit-resolution #672 #1182 #1030 #1181]: #74
-#1184 := [unit-resolution #497 #1183]: #233
-#1185 := [unit-resolution #425 #1184]: #38
-#1186 := [unit-resolution #465 #1185]: #223
-#1187 := [unit-resolution #616 #1186 #1180]: #26
-#1188 := [unit-resolution #458 #1187]: #219
-#1189 := [unit-resolution #648 #1188 #919 #1171]: #53
-#1190 := [unit-resolution #459 #1187]: #213
-#1191 := [unit-resolution #905 #1190]: #22
-#1192 := [unit-resolution #473 #1191 #1189]: false
-#1194 := [lemma #1192]: #1193
-#1198 := [unit-resolution #1194 #919 #1030 #881 #1197 #1196 #1172]: #339
-#1199 := [unit-resolution #828 #1198 #883 #882]: #174
-#1200 := [unit-resolution #567 #1199]: #372
-#1201 := [unit-resolution #852 #1200 #969]: #200
-#1202 := [unit-resolution #589 #1201]: #398
-#1203 := [unit-resolution #1021 #1199 #969]: #131
-#1204 := [unit-resolution #930 #1203 #919]: #125
-#1205 := [unit-resolution #560 #1204]: #359
-#1206 := [unit-resolution #450 #1205 #1202]: false
-#1208 := [lemma #1206]: #1207
-#1261 := [unit-resolution #1208 #1030 #883 #882 #969 #881 #1172]: #60
-#1262 := [unit-resolution #486 #1261]: #257
-#1218 := (or #281 #69 #150 #152 #129 #138)
-#1209 := [hypothesis]: #91
-#1210 := [unit-resolution #510 #1209]: #290
-#1211 := [unit-resolution #760 #1210 #881 #1167]: #136
-#341 := (or #338 #330)
-#544 := [asserted]: #341
-#1212 := [unit-resolution #544 #1211]: #338
-#1213 := [unit-resolution #784 #1212 #1173 #1172]: #114
-#1214 := [unit-resolution #508 #1209]: #289
-#345 := (or #330 #298)
-#548 := [asserted]: #345
-#1215 := [unit-resolution #548 #1211]: #298
-#1216 := [unit-resolution #716 #1215 #1111 #1214]: #105
-#1217 := [unit-resolution #522 #1216 #1213]: false
-#1219 := [lemma #1217]: #1218
-#1263 := [unit-resolution #1219 #1167 #1196 #1172 #881 #1262]: #281
-#1259 := (or #371 #91 #204)
-#1249 := [unit-resolution #1021 #1010 #969]: #131
-#1250 := [unit-resolution #535 #1249]: #282
-#1236 := [hypothesis]: #281
-#1251 := [unit-resolution #534 #1249]: #317
-#1252 := [unit-resolution #560 #1014]: #318
-#1253 := [unit-resolution #736 #1252 #1251]: #87
-#1254 := [unit-resolution #498 #1253]: #276
-#1255 := [unit-resolution #692 #1254 #1236 #1250]: #55
-#1256 := [unit-resolution #500 #1253]: #236
-#1257 := [unit-resolution #916 #1256]: #47
-#1258 := [unit-resolution #474 #1257 #1255]: false
-#1260 := [lemma #1258]: #1259
-#1264 := [unit-resolution #1260 #1263 #969]: #371
-#1265 := [unit-resolution #828 #1264 #883 #882]: #145
-#1266 := [unit-resolution #543 #1265]: #338
-#1267 := [unit-resolution #784 #1266 #1196 #1172]: #114
-#1268 := [unit-resolution #484 #1261]: #256
-#1269 := [unit-resolution #488 #1261]: #224
-#1247 := (or #330 #91 #34 #204 #40 #67 #181 #183 #150 #152)
-#1220 := [hypothesis]: #224
-#1221 := [hypothesis]: #136
-#1222 := [unit-resolution #544 #1221]: #338
-#1223 := [unit-resolution #784 #1222 #1173 #1172]: #114
-#1224 := [unit-resolution #523 #1223]: #265
-#1225 := [unit-resolution #672 #1224 #1030 #1105]: #74
-#1226 := [unit-resolution #497 #1225]: #233
-#1227 := [unit-resolution #425 #1226]: #38
-#1228 := [unit-resolution #465 #1227]: #223
-#1229 := [unit-resolution #616 #1228 #1220]: #26
-#1230 := [unit-resolution #459 #1229]: #213
-#1231 := [unit-resolution #905 #1230]: #22
-#1232 := [unit-resolution #546 #1221]: #339
-#1233 := [unit-resolution #828 #1232 #883 #882]: #174
-#1234 := [unit-resolution #1021 #1233 #969]: #131
-#1235 := [unit-resolution #535 #1234]: #282
-#1237 := [unit-resolution #534 #1234]: #317
-#1238 := [unit-resolution #567 #1233]: #372
-#1239 := [unit-resolution #852 #1238 #969]: #200
-#1240 := [unit-resolution #589 #1239]: #398
-#1241 := [unit-resolution #450 #1240]: #163
-#1242 := [unit-resolution #560 #1241]: #318
-#1243 := [unit-resolution #736 #1242 #1237]: #87
-#1244 := [unit-resolution #498 #1243]: #276
-#1245 := [unit-resolution #692 #1244 #1236 #1235]: #55
-#1246 := [unit-resolution #475 #1245 #1231]: false
-#1248 := [lemma #1246]: #1247
-#1270 := [unit-resolution #1248 #1263 #1269 #969 #1030 #1268 #883 #882 #1196 #1172]: #330
-#1271 := [unit-resolution #760 #1270 #881 #1167]: #100
-#1272 := [unit-resolution #507 #1271]: #289
-#1273 := [unit-resolution #547 #1265]: #298
-#1274 := [unit-resolution #716 #1273 #1262 #1272]: #105
-#1275 := [unit-resolution #522 #1274 #1267]: false
-#1277 := [lemma #1275]: #1276
-#1278 := [unit-resolution #1277 #1030 #883 #882 #969 #881 #1172]: #138
-#1279 := [unit-resolution #571 #1278]: #372
-#1280 := [unit-resolution #852 #1279 #969]: #200
-#1281 := [unit-resolution #590 #1280]: #364
-#1282 := [unit-resolution #572 #1278]: #363
-#1283 := [unit-resolution #589 #1280]: #398
-#1284 := [unit-resolution #450 #1283]: #163
-#1285 := [unit-resolution #558 #1284]: #358
-#1286 := [unit-resolution #804 #1285 #1282 #1281]: #131
-#1287 := [unit-resolution #535 #1286]: #282
-#375 := (or #371 #331)
-#569 := [asserted]: #375
-#1288 := [unit-resolution #569 #1278]: #371
-#1289 := [unit-resolution #828 #1288 #883 #882]: #145
-#1290 := [unit-resolution #547 #1289]: #298
-#1291 := [unit-resolution #543 #1289]: #338
-#1292 := [unit-resolution #784 #1291 #1196 #1172]: #114
-#1293 := [unit-resolution #522 #1292]: #297
-#1294 := [unit-resolution #716 #1293 #1262 #1290]: #98
-#1295 := [unit-resolution #508 #1294]: #281
-#1296 := [unit-resolution #560 #1284]: #318
-#1297 := [unit-resolution #534 #1286]: #317
-#1298 := [unit-resolution #736 #1297 #1296]: #87
-#1299 := [unit-resolution #498 #1298]: #276
-#1300 := [unit-resolution #692 #1299 #1295 #1287]: #55
-#1301 := [unit-resolution #500 #1298]: #236
-#1302 := [unit-resolution #916 #1301]: #47
-#1303 := [unit-resolution #474 #1302 #1300]: false
-#1305 := [lemma #1303]: #1304
-#1306 := [unit-resolution #1305 #1172 #969 #883 #882 #881]: #40
-#270 := (or #265 #229)
-#493 := [asserted]: #270
-#1307 := [unit-resolution #493 #1306]: #265
-#268 := (or #264 #229)
-#491 := [asserted]: #268
-#1308 := [unit-resolution #491 #1306]: #264
-#1309 := [unit-resolution #784 #1174 #1196 #1172]: #114
-#1310 := [unit-resolution #522 #1309]: #297
-#1311 := [unit-resolution #909 #1310 #1308 #1307 #881 #883 #882]: #372
-#1312 := [unit-resolution #852 #1311 #969]: #200
-#1313 := [unit-resolution #589 #1312]: #398
-#1314 := [unit-resolution #450 #1313]: #163
-#1315 := [unit-resolution #560 #1314]: #318
-#1316 := [unit-resolution #590 #1312]: #364
-#1317 := [unit-resolution #558 #1314]: #358
-#1318 := [unit-resolution #466 #1306]: #223
-#1319 := [unit-resolution #968 #1315 #1317 #881 #883 #882 #1316 #1310 #1318]: #60
-#1320 := [unit-resolution #486 #1319]: #257
-#1321 := [unit-resolution #716 #1320 #1310 #1177]: #98
-#1322 := [unit-resolution #507 #1321]: #290
-#1323 := [unit-resolution #760 #1322 #881 #1169]: #138
-#1324 := [unit-resolution #572 #1323]: #363
-#1325 := [unit-resolution #804 #1324 #1317 #1316]: #131
-#1326 := [unit-resolution #534 #1325]: #317
-#1327 := [unit-resolution #488 #1319]: #224
-#1328 := [unit-resolution #616 #1327 #1318]: #26
-#1329 := [unit-resolution #459 #1328]: #213
-#1330 := [unit-resolution #905 #1329]: #22
-#1331 := [unit-resolution #476 #1330]: #235
-#1332 := [unit-resolution #916 #1331]: #49
-#1333 := [unit-resolution #500 #1332]: #277
-#1334 := [unit-resolution #736 #1333 #1326 #1315]: false
-#1336 := [lemma #1334]: #1335
-#1344 := [unit-resolution #1336 #1342 #881 #882 #1341 #1343]: #339
-#1345 := [unit-resolution #828 #1344 #1342 #882]: #174
-#1346 := [unit-resolution #567 #1345]: #372
-#1347 := [unit-resolution #852 #1346 #1341]: #200
-#1348 := [unit-resolution #589 #1347]: #398
-#1349 := [unit-resolution #450 #1348]: #163
-#1350 := [unit-resolution #1021 #1345 #1341]: #131
-#1351 := [unit-resolution #569 #1345]: #331
-#1352 := [unit-resolution #1153 #1342 #881 #882 #1341]: #119
-#1353 := [unit-resolution #557 #1352]: #346
-#1354 := [unit-resolution #1260 #1345 #1341]: #91
-#1355 := [unit-resolution #1219 #1354 #1353 #1343 #881 #1351]: #69
-#1356 := [unit-resolution #486 #1355]: #248
-#1357 := [unit-resolution #930 #1356 #1350]: #125
-#1358 := [unit-resolution #560 #1357 #1349]: false
-#1360 := [lemma #1358]: #1359
-#1496 := [unit-resolution #1360 #882 #881]: #387
-#194 := (or #188 #157)
-decl f6 :: S1
-#16 := f6
-#17 := (= f6 f1)
-#18 := (not #17)
-#420 := [asserted]: #18
-#841 := (or #17 #188 #157)
-#195 := (or #17 #194)
-#842 := (iff #195 #841)
-#843 := [rewrite]: #842
-#449 := [asserted]: #195
-#844 := [mp #449 #843]: #841
-#1497 := [unit-resolution #844 #420]: #194
-#1498 := [unit-resolution #1497 #1496]: #157
-#356 := (or #354 #313)
-#556 := [asserted]: #356
-#1499 := [unit-resolution #556 #1498]: #313
-#355 := (or #354 #346)
-#555 := [asserted]: #355
-#1564 := [unit-resolution #555 #1498]: #346
-#1503 := (or #347 #129 #183)
-#1493 := [hypothesis]: #152
-#393 := (or #388 #347)
-#583 := [asserted]: #393
-#1494 := [unit-resolution #583 #1493]: #388
-#1495 := [unit-resolution #1339 #1494]: #208
-#394 := (or #379 #347)
-#584 := [asserted]: #394
-#1500 := [unit-resolution #584 #1493]: #379
-#1501 := [unit-resolution #1153 #1500 #881 #882 #1499]: #204
-#1502 := [unit-resolution #595 #1501 #1495]: false
-#1504 := [lemma #1502]: #1503
-#1565 := [unit-resolution #1504 #882 #881]: #347
-#1491 := (or #152 #129 #138 #150 #119)
-#1476 := (or #40 #129 #138 #150 #152 #119)
-#1455 := (or #60 #129 #138 #150 #152 #119)
-#1431 := (or #40 #119 #150 #152 #129 #138 #60)
-#1382 := (or #289 #60 #40 #119 #150 #152 #129 #138)
-#1361 := [hypothesis]: #98
-#293 := (or #289 #249)
-#509 := [asserted]: #293
-#1362 := [unit-resolution #509 #1361]: #249
-#1363 := [unit-resolution #507 #1361]: #290
-#1364 := [unit-resolution #760 #1363 #881 #1167]: #136
-#1365 := [unit-resolution #544 #1364]: #338
-#1366 := [unit-resolution #784 #1365 #1173 #1172]: #114
-#307 := (or #305 #306)
-#519 := [asserted]: #307
-#1367 := [unit-resolution #519 #1366]: #305
-#1368 := [unit-resolution #732 #1367 #970]: #81
-#1369 := [unit-resolution #496 #1368]: #233
-#1370 := [unit-resolution #425 #1369]: #38
-#1371 := [unit-resolution #465 #1370]: #223
-#1372 := [unit-resolution #523 #1366]: #265
-#1373 := [unit-resolution #495 #1368]: #264
-#1374 := [unit-resolution #672 #1373 #1030 #1372]: #67
-#1375 := [unit-resolution #485 #1374]: #224
-#1376 := [unit-resolution #616 #1375 #1371]: #26
-#1377 := [unit-resolution #458 #1376]: #219
-#1378 := [unit-resolution #648 #1377 #919 #1362]: #53
-#1379 := [unit-resolution #459 #1376]: #213
-#1380 := [unit-resolution #905 #1379]: #22
-#1381 := [unit-resolution #473 #1380 #1378]: false
-#1383 := [lemma #1381]: #1382
-#1417 := [unit-resolution #1383 #1030 #919 #970 #1173 #1172 #881 #1167]: #289
-#1415 := (or #290 #60 #40 #119 #150 #152 #98)
-#1395 := (or #107 #40 #98 #119 #60 #290)
-#1384 := [unit-resolution #1068 #1045 #970 #919 #1057 #1030]: #32
-#1385 := [unit-resolution #465 #1384]: #228
-#1386 := [unit-resolution #425 #1385]: #44
-#1387 := [unit-resolution #496 #1386]: #272
-#1388 := [unit-resolution #732 #1387 #970]: #112
-#1389 := [unit-resolution #520 #1388]: #297
-#1390 := [unit-resolution #716 #1389 #1044 #1045]: #69
-#1391 := [unit-resolution #497 #1386]: #264
-#1392 := [unit-resolution #521 #1388]: #265
-#1393 := [unit-resolution #672 #1392 #1030 #1391]: #67
-#1394 := [unit-resolution #483 #1393 #1390]: false
-#1396 := [lemma #1394]: #1395
-#1397 := [unit-resolution #1396 #1057 #1044 #970 #919 #1030]: #107
+#545 := (iff #155 #544)
+#546 := [rewrite]: #545
+#533 := [asserted]: #155
+#547 := [mp #533 #546]: #544
+#1047 := [unit-resolution #547 #1050 #1052 #1051]: #143
 #342 := (or #338 #298)
-#545 := [asserted]: #342
-#1398 := [unit-resolution #545 #1397]: #338
-#1399 := [unit-resolution #784 #1398 #1173 #1172]: #114
-#1400 := [unit-resolution #523 #1399]: #265
-#1401 := [unit-resolution #519 #1399]: #305
-#1402 := [unit-resolution #732 #1401 #970]: #81
-#1403 := [unit-resolution #495 #1402]: #264
-#1404 := [unit-resolution #672 #1403 #1030 #1400]: #67
-#1405 := [unit-resolution #485 #1404]: #224
-#1406 := [unit-resolution #496 #1402]: #233
-#1407 := [unit-resolution #425 #1406]: #38
-#1408 := [unit-resolution #465 #1407]: #223
-#1409 := [unit-resolution #616 #1408 #1405]: #26
-#1410 := [unit-resolution #458 #1409]: #219
-#1411 := [unit-resolution #648 #1410 #919 #1058]: #53
-#1412 := [unit-resolution #459 #1409]: #213
-#1413 := [unit-resolution #905 #1412]: #22
-#1414 := [unit-resolution #473 #1413 #1411]: false
-#1416 := [lemma #1414]: #1415
-#1418 := [unit-resolution #1416 #1030 #919 #970 #1173 #1172 #1417]: #290
-#1419 := [unit-resolution #760 #1418 #881 #1167]: #136
-#1420 := [unit-resolution #544 #1419]: #338
-#1421 := [unit-resolution #784 #1420 #1173 #1172]: #114
-#1422 := [unit-resolution #523 #1421]: #265
-#1423 := [unit-resolution #519 #1421]: #305
-#1424 := [unit-resolution #732 #1423 #970]: #81
-#1425 := [unit-resolution #495 #1424]: #264
-#1426 := [unit-resolution #548 #1419]: #298
-#1427 := [unit-resolution #522 #1421]: #297
-#1428 := [unit-resolution #716 #1427 #1417 #1426]: #69
-#1429 := [unit-resolution #483 #1428]: #256
-#1430 := [unit-resolution #672 #1429 #1425 #1030 #1422]: false
-#1432 := [lemma #1430]: #1431
-#1433 := [unit-resolution #1432 #919 #1173 #1172 #881 #1167 #970]: #40
-#1434 := [unit-resolution #464 #1433]: #228
-#1435 := [unit-resolution #425 #1434]: #44
-#1436 := [unit-resolution #496 #1435]: #272
-#1437 := [unit-resolution #732 #1436 #970]: #112
-#1438 := [unit-resolution #519 #1437]: #306
-#1439 := [unit-resolution #784 #1438 #1173 #1172]: #143
-#1440 := [unit-resolution #544 #1439]: #330
-#1441 := [unit-resolution #760 #1440 #881 #1167]: #100
-#1442 := [unit-resolution #511 #1441]: #249
-#1443 := [unit-resolution #466 #1433]: #223
-#1444 := [unit-resolution #545 #1439]: #298
-#1445 := [unit-resolution #520 #1437]: #297
-#1446 := [unit-resolution #507 #1441]: #289
-#1447 := [unit-resolution #716 #1446 #1445 #1444]: #69
-#1448 := [unit-resolution #487 #1447]: #224
-#1449 := [unit-resolution #616 #1448 #1443]: #26
-#1450 := [unit-resolution #458 #1449]: #219
-#1451 := [unit-resolution #648 #1450 #919 #1442]: #53
-#1452 := [unit-resolution #459 #1449]: #213
-#1453 := [unit-resolution #905 #1452]: #22
-#1454 := [unit-resolution #473 #1453 #1451]: false
-#1456 := [lemma #1454]: #1455
-#1465 := [unit-resolution #1456 #1172 #1167 #1173 #881 #970]: #60
-#1466 := [unit-resolution #484 #1465]: #256
-#1463 := (or #306 #67 #40 #119)
-#1457 := [hypothesis]: #114
-#1458 := [unit-resolution #519 #1457]: #305
-#1459 := [unit-resolution #732 #1458 #970]: #81
-#1460 := [unit-resolution #523 #1457]: #265
-#1461 := [unit-resolution #672 #1460 #1105 #1030]: #74
-#1462 := [unit-resolution #495 #1461 #1459]: false
-#1464 := [lemma #1462]: #1463
-#1467 := [unit-resolution #1464 #1030 #1466 #970]: #306
-#1468 := [unit-resolution #784 #1467 #1173 #1172]: #143
-#1469 := [unit-resolution #544 #1468]: #330
-#1470 := [unit-resolution #760 #1469 #881 #1167]: #100
-#1471 := [unit-resolution #1110 #1030 #970 #1466]: #297
-#1472 := [unit-resolution #486 #1465]: #257
-#1473 := [unit-resolution #545 #1468]: #298
-#1474 := [unit-resolution #716 #1473 #1472 #1471]: #98
-#1475 := [unit-resolution #507 #1474 #1470]: false
-#1477 := [lemma #1475]: #1476
-#1478 := [unit-resolution #1477 #1172 #1167 #1173 #881 #970]: #40
-#1479 := [unit-resolution #464 #1478]: #228
-#1480 := [unit-resolution #425 #1479]: #44
-#1481 := [unit-resolution #496 #1480]: #272
-#1482 := [unit-resolution #732 #1481 #970]: #112
-#1483 := [unit-resolution #519 #1482]: #306
-#1484 := [unit-resolution #784 #1483 #1173 #1172]: #143
-#1485 := [unit-resolution #544 #1484]: #330
-#1486 := [unit-resolution #760 #1485 #881 #1167]: #100
-#1487 := [unit-resolution #520 #1482]: #297
-#1488 := [unit-resolution #545 #1484]: #298
-#1489 := [unit-resolution #716 #1488 #1472 #1487]: #98
-#1490 := [unit-resolution #507 #1489 #1486]: false
-#1492 := [lemma #1490]: #1491
-#1566 := [unit-resolution #1492 #1565 #881 #1564 #1499]: #138
-#1567 := [unit-resolution #571 #1566]: #372
-#1568 := [unit-resolution #569 #1566]: #371
-#1562 := (or #40 #183 #150 #152 #119 #331)
-#1505 := [unit-resolution #569 #1154]: #371
-#1531 := (or #60 #119 #40 #150 #152 #183 #331)
-#1506 := [unit-resolution #1166 #919 #1154]: #204
-#1507 := [unit-resolution #595 #1506]: #408
-#1508 := [unit-resolution #1339 #1507]: #190
+#692 := [asserted]: #342
+#1048 := [unit-resolution #692 #1047]: #298
+#308 := (or #305 #297)
+#667 := [asserted]: #308
+#1045 := [unit-resolution #667 #1049]: #297
+#341 := (or #338 #330)
+#691 := [asserted]: #341
+#1046 := [unit-resolution #691 #1047]: #330
+#1096 := [hypothesis]: #331
+#1063 := (or #277 #138 #136 #105 #107)
+#1083 := [hypothesis]: #87
+#1084 := [unit-resolution #647 #1083]: #236
+#1081 := [unit-resolution #788 #1084]: #47
+#1082 := [unit-resolution #623 #1081]: #214
+#1079 := [unit-resolution #769 #1082]: #20
+#1080 := [unit-resolution #607 #1079]: #219
+#1077 := [unit-resolution #619 #1081]: #240
+#1078 := [hypothesis]: #298
+#1075 := [hypothesis]: #297
+#1076 := [unit-resolution #621 #1081]: #241
+#1073 := [unit-resolution #645 #1083]: #276
+#1085 := (or #289 #85 #55 #138 #136)
+#1093 := [hypothesis]: #98
+#291 := (or #289 #290)
+#654 := [asserted]: #291
+#1094 := [unit-resolution #654 #1093]: #290
+#534 := (or #136 #138 #129 #100)
+#139 := (or #129 #100)
+#140 := (or #138 #139)
+#141 := (or #136 #140)
+#535 := (iff #141 #534)
+#536 := [rewrite]: #535
+#523 := [asserted]: #141
+#537 := [mp #523 #536]: #534
+#1091 := [unit-resolution #537 #1094 #1096 #1095]: #129
+#1092 := [hypothesis]: #241
+#1089 := [hypothesis]: #276
+#292 := (or #289 #281)
+#655 := [asserted]: #292
+#1090 := [unit-resolution #655 #1093]: #281
+#1087 := [unit-resolution #502 #1090 #1089 #1092]: #93
+#326 := (or #322 #282)
+#680 := [asserted]: #326
+#1088 := [unit-resolution #680 #1087 #1091]: false
+#1086 := [lemma #1088]: #1085
+#1074 := [unit-resolution #1086 #1073 #1076 #1096 #1095]: #289
+#509 := (or #105 #107 #98 #69)
+#108 := (or #98 #69)
+#109 := (or #107 #108)
+#110 := (or #105 #109)
+#510 := (iff #110 #509)
+#511 := [rewrite]: #510
+#498 := [asserted]: #110
+#512 := [mp #498 #511]: #509
+#1071 := [unit-resolution #512 #1074 #1075 #1078]: #69
+#257 := (not #69)
+#261 := (or #257 #248)
+#633 := [asserted]: #261
+#1072 := [unit-resolution #633 #1071]: #248
+#1069 := [unit-resolution #477 #1072 #1077 #1080]: #62
+#295 := (or #290 #249)
+#658 := [asserted]: #295
+#1070 := [unit-resolution #658 #1069]: #290
+#1067 := [unit-resolution #537 #1070 #1096 #1095]: #129
+#1068 := [unit-resolution #659 #1069]: #281
+#1065 := [unit-resolution #502 #1068 #1073 #1076]: #93
+#1066 := [unit-resolution #680 #1065 #1067]: false
+#1064 := [lemma #1066]: #1063
+#1043 := [unit-resolution #1064 #1046 #1096 #1045 #1048]: #277
+#1044 := [unit-resolution #527 #1043 #1154]: #123
+#325 := (or #322 #317)
+#679 := [asserted]: #325
+#1041 := [unit-resolution #679 #1044]: #322
+#1042 := [unit-resolution #537 #1041 #1096 #1046]: #100
+#1039 := [unit-resolution #654 #1042]: #289
+#1040 := [unit-resolution #512 #1039 #1045 #1048]: #69
+#1037 := [unit-resolution #633 #1040]: #248
+#1038 := [unit-resolution #658 #1042]: #249
+#294 := (or #290 #281)
+#657 := [asserted]: #294
+#1035 := [unit-resolution #657 #1042]: #281
+#329 := (or #317 #282)
+#683 := [asserted]: #329
+#1036 := [unit-resolution #683 #1044]: #282
+#1053 := (or #235 #62 #60)
+#1061 := [hypothesis]: #248
+#1062 := [hypothesis]: #249
+#1059 := [hypothesis]: #47
+#1060 := [unit-resolution #619 #1059]: #240
+#1057 := [unit-resolution #477 #1060 #1062 #1061]: #28
+#1058 := [unit-resolution #623 #1059]: #214
+#1055 := [unit-resolution #769 #1058]: #20
+#1056 := [unit-resolution #607 #1055 #1057]: false
+#1054 := [lemma #1056]: #1053
+#1033 := [unit-resolution #1054 #1038 #1037]: #235
+#1034 := [unit-resolution #788 #1033]: #49
+#279 := (or #276 #236)
+#646 := [asserted]: #279
+#1031 := [unit-resolution #646 #1034]: #276
+#1032 := [unit-resolution #502 #1031 #1036 #1035]: #55
+#242 := (or #240 #241)
+#618 := [asserted]: #242
+#1029 := [unit-resolution #618 #1032]: #240
+#1030 := [unit-resolution #477 #1029 #1038 #1037]: #28
+#246 := (or #241 #214)
+#622 := [asserted]: #246
+#1027 := [unit-resolution #622 #1032]: #214
+#1028 := [unit-resolution #769 #1027]: #20
+#1025 := [unit-resolution #607 #1028 #1030]: false
+#1023 := [lemma #1025]: #1026
+#1013 := [unit-resolution #1023 #1016 #1019 #1052 #1051]: #305
+#1014 := [unit-resolution #522 #1013 #1153]: #81
+#1097 := (or #272 #125 #76)
+#1124 := [hypothesis]: #81
+#1121 := [unit-resolution #643 #1124]: #233
+#1122 := [unit-resolution #452 #1121]: #38
+#1119 := [unit-resolution #612 #1122]: #223
+#273 := (or #272 #264)
+#642 := [asserted]: #273
+#1120 := [unit-resolution #642 #1124]: #264
+#1117 := [hypothesis]: #265
+#230 := (or #228 #229)
+#611 := [asserted]: #230
+#1118 := [unit-resolution #611 #1122]: #229
+#1115 := [unit-resolution #487 #1118 #1117 #1120]: #67
+#260 := (or #256 #224)
+#632 := [asserted]: #260
+#1116 := [unit-resolution #632 #1115]: #224
+#1113 := [unit-resolution #456 #1116 #1119]: #26
+#220 := (or #218 #219)
+#605 := [asserted]: #220
+#1114 := [unit-resolution #605 #1113]: #219
+#1111 := [unit-resolution #631 #1115]: #248
+#1112 := [unit-resolution #606 #1113]: #213
+#1109 := [unit-resolution #769 #1112]: #22
+#244 := (or #240 #214)
+#620 := [asserted]: #244
+#1110 := [unit-resolution #620 #1109]: #240
+#1107 := [unit-resolution #477 #1110 #1111 #1114]: #62
+#1108 := [unit-resolution #659 #1107]: #281
+#1105 := [unit-resolution #622 #1109]: #241
+#1106 := [unit-resolution #623 #1109]: #235
+#1103 := [unit-resolution #788 #1106]: #49
+#1104 := [unit-resolution #646 #1103]: #276
+#1101 := [unit-resolution #502 #1104 #1105 #1108]: #93
+#1102 := [unit-resolution #647 #1103]: #277
+#1099 := [unit-resolution #527 #1102 #1154]: #123
+#1100 := [unit-resolution #683 #1099 #1101]: false
+#1098 := [lemma #1100]: #1097
+#1011 := [unit-resolution #1098 #1014 #1019]: #76
+#311 := (or #306 #265)
+#670 := [asserted]: #311
+#1012 := [unit-resolution #670 #1011]: #306
+#1009 := [unit-resolution #547 #1012 #1052 #1051]: #143
+#1010 := [unit-resolution #692 #1009]: #298
+#312 := (or #297 #265)
+#671 := [asserted]: #312
+#1007 := [unit-resolution #671 #1011]: #297
+#1008 := [unit-resolution #691 #1009]: #330
+#1005 := [unit-resolution #1064 #1008 #1016 #1007 #1010]: #277
+#1006 := [unit-resolution #527 #1005 #1019]: #123
+#1003 := [unit-resolution #679 #1006]: #322
+#1004 := [unit-resolution #537 #1003 #1016 #1008]: #100
+#1001 := [unit-resolution #654 #1004]: #289
+#1002 := [unit-resolution #512 #1001 #1007 #1010]: #69
+#999 := [unit-resolution #633 #1002]: #248
+#1000 := [unit-resolution #658 #1004]: #249
+#997 := [unit-resolution #643 #1014]: #233
+#998 := [unit-resolution #452 #997]: #38
+#995 := [unit-resolution #612 #998]: #223
+#262 := (or #257 #224)
+#634 := [asserted]: #262
+#996 := [unit-resolution #634 #1002]: #224
+#993 := [unit-resolution #456 #996 #995]: #26
+#994 := [unit-resolution #605 #993]: #219
+#991 := [unit-resolution #477 #994 #1000 #999]: #53
+#992 := [unit-resolution #657 #1004]: #281
+#989 := [unit-resolution #683 #1006]: #282
+#990 := [unit-resolution #1054 #999 #1000]: #235
+#987 := [unit-resolution #788 #990]: #49
+#988 := [unit-resolution #646 #987]: #276
+#985 := [unit-resolution #502 #988 #989 #992]: #55
+#986 := [unit-resolution #618 #985 #991]: false
+#984 := [lemma #986]: #983
+#1162 := [unit-resolution #984 #1159 #1156 #1161]: #400
+#590 := (or #204 #200 #176)
+#205 := (or #200 #176)
+#206 := (or #204 #205)
+#591 := (iff #206 #590)
+#592 := [rewrite]: #591
+#583 := [asserted]: #206
+#593 := [mp #583 #592]: #590
+#1163 := [unit-resolution #593 #1162 #1160]: #204
+#404 := (not #204)
+#411 := (or #404 #380)
+#744 := [asserted]: #411
+#1164 := [unit-resolution #744 #1163]: #380
+decl f55 :: S1
+#180 := f55
+#181 := (= f55 f1)
+#379 := (not #181)
 #392 := (or #388 #379)
-#582 := [asserted]: #392
-#1509 := [unit-resolution #582 #1508]: #379
-#1510 := [unit-resolution #828 #1509 #1505 #882]: #145
-#1511 := [unit-resolution #543 #1510]: #338
-#1512 := [unit-resolution #784 #1511 #1173 #1172]: #114
-#1513 := [unit-resolution #522 #1512]: #297
-#1514 := [unit-resolution #547 #1510]: #298
-#1515 := [unit-resolution #1464 #1512 #1030 #970]: #67
-#1516 := [unit-resolution #483 #1515]: #257
-#1517 := [unit-resolution #716 #1516 #1514 #1513]: #98
-#1518 := [unit-resolution #509 #1517]: #249
-#1519 := [unit-resolution #485 #1515]: #224
-#1520 := [unit-resolution #519 #1512]: #305
-#1521 := [unit-resolution #732 #1520 #970]: #81
-#1522 := [unit-resolution #496 #1521]: #233
-#1523 := [unit-resolution #425 #1522]: #38
-#1524 := [unit-resolution #465 #1523]: #223
-#1525 := [unit-resolution #616 #1524 #1519]: #26
-#1526 := [unit-resolution #458 #1525]: #219
-#1527 := [unit-resolution #648 #1526 #919 #1518]: #53
-#1528 := [unit-resolution #459 #1525]: #213
-#1529 := [unit-resolution #905 #1528]: #22
-#1530 := [unit-resolution #473 #1529 #1527]: false
-#1532 := [lemma #1530]: #1531
-#1533 := [unit-resolution #1532 #1030 #970 #1173 #1172 #882 #1154]: #60
-#1534 := [unit-resolution #484 #1533]: #256
-#1535 := [unit-resolution #1464 #1534 #1030 #970]: #306
-#1536 := [unit-resolution #784 #1535 #1173 #1172]: #143
-#1537 := [unit-resolution #543 #1536]: #339
-#1538 := [unit-resolution #828 #1537 #1505 #882]: #181
-#1539 := [unit-resolution #582 #1538]: #388
-#1540 := [unit-resolution #1339 #1539]: #208
-#1541 := [unit-resolution #595 #1540]: #404
-#1542 := [unit-resolution #852 #1541 #1155]: #200
-#1543 := [unit-resolution #590 #1542]: #364
-#1544 := [unit-resolution #589 #1542]: #398
-#1545 := [unit-resolution #450 #1544]: #163
-#1546 := [unit-resolution #558 #1545]: #358
-#1547 := [unit-resolution #804 #1546 #1161 #1543]: #131
-#1548 := [unit-resolution #535 #1547]: #282
-#1549 := [unit-resolution #1110 #1534 #970 #1030]: #297
-#1550 := [unit-resolution #486 #1533]: #257
-#1551 := [unit-resolution #545 #1536]: #298
-#1552 := [unit-resolution #716 #1551 #1550 #1549]: #98
-#1553 := [unit-resolution #508 #1552]: #281
-#1554 := [unit-resolution #560 #1545]: #318
-#1555 := [unit-resolution #534 #1547]: #317
-#1556 := [unit-resolution #736 #1555 #1554]: #87
-#1557 := [unit-resolution #498 #1556]: #276
-#1558 := [unit-resolution #692 #1557 #1553 #1548]: #55
-#1559 := [unit-resolution #500 #1556]: #236
-#1560 := [unit-resolution #916 #1559]: #47
-#1561 := [unit-resolution #474 #1560 #1558]: false
-#1563 := [lemma #1561]: #1562
-#1569 := [unit-resolution #1563 #882 #1564 #1565 #1499 #1566]: #40
-#1570 := [unit-resolution #464 #1569]: #228
-#1571 := [unit-resolution #425 #1570]: #44
-#1572 := [unit-resolution #496 #1571]: #272
-#1573 := [unit-resolution #732 #1572 #1499]: #112
-#1574 := [unit-resolution #519 #1573]: #306
-#1575 := [unit-resolution #784 #1574 #1564 #1565]: #143
-#1576 := [unit-resolution #543 #1575]: #339
-#1577 := [unit-resolution #828 #1576 #1568 #882]: #181
-#1578 := [unit-resolution #582 #1577]: #388
-#1579 := [unit-resolution #1339 #1578]: #208
-#1580 := [unit-resolution #595 #1579]: #404
-#1581 := [unit-resolution #852 #1580 #1567]: #200
-#1582 := [unit-resolution #590 #1581]: #364
-#1583 := [unit-resolution #572 #1566]: #363
-#1584 := [unit-resolution #589 #1581]: #398
-#1585 := [unit-resolution #450 #1584]: #163
-#1586 := [unit-resolution #558 #1585]: #358
-#1587 := [unit-resolution #804 #1586 #1583 #1582]: #131
-#1588 := [unit-resolution #535 #1587]: #282
-#1589 := [unit-resolution #520 #1573]: #297
-#1590 := [unit-resolution #545 #1575]: #298
-#1591 := [unit-resolution #1166 #1580 #1566]: #60
-#1592 := [unit-resolution #486 #1591]: #257
-#1593 := [unit-resolution #716 #1592 #1590 #1589]: #98
-#1594 := [unit-resolution #508 #1593]: #281
-#1595 := [unit-resolution #466 #1569]: #223
-#1596 := [unit-resolution #488 #1591]: #224
-#1597 := [unit-resolution #616 #1596 #1595]: #26
-#1598 := [unit-resolution #459 #1597]: #213
-#1599 := [unit-resolution #905 #1598]: #22
-#1600 := [unit-resolution #475 #1599]: #241
-#1601 := [unit-resolution #692 #1600 #1594 #1588]: #85
-#1602 := [unit-resolution #560 #1585]: #318
-#1603 := [unit-resolution #534 #1587]: #317
-#1604 := [unit-resolution #736 #1603 #1602]: #87
-#1605 := [unit-resolution #498 #1604 #1601]: false
-#1607 := [lemma #1605]: #1606
-#1608 := [unit-resolution #1607 #881]: #183
-#411 := (or #404 #380)
-#597 := [asserted]: #411
-#1609 := [unit-resolution #597 #1608]: #404
+#729 := [asserted]: #392
+#1165 := [unit-resolution #729 #1155]: #379
+decl f53 :: S1
+#173 := f53
+#174 := (= f53 f1)
+#371 := (not #174)
+#913 := (or #248 #181 #183 #150 #152 #119)
+#937 := [hypothesis]: #60
+#938 := [unit-resolution #631 #937]: #256
+#939 := (or #306 #67 #119)
+#971 := [hypothesis]: #256
+#950 := [hypothesis]: #114
+#947 := [unit-resolution #670 #950]: #265
+#948 := [unit-resolution #666 #950]: #305
+#945 := [unit-resolution #522 #948 #1153]: #81
+#946 := [unit-resolution #642 #945]: #264
+#943 := [unit-resolution #487 #946 #947 #971]: #40
+#944 := [unit-resolution #643 #945]: #233
+#941 := [unit-resolution #452 #944]: #38
+#942 := [unit-resolution #611 #941 #943]: false
+#940 := [lemma #942]: #939
+#935 := [unit-resolution #940 #938 #1153]: #306
+#936 := [unit-resolution #547 #935 #1052 #1051]: #143
+#933 := [unit-resolution #691 #936]: #330
+#934 := [unit-resolution #635 #937]: #224
+#952 := (or #223 #67 #119)
+#959 := [hypothesis]: #32
+#960 := [unit-resolution #612 #959]: #228
+#957 := [unit-resolution #452 #960]: #44
+#958 := [unit-resolution #643 #957]: #272
+#955 := [unit-resolution #522 #958 #1153]: #112
+#956 := [unit-resolution #613 #959]: #229
+#953 := [unit-resolution #644 #957]: #264
+#954 := [unit-resolution #487 #953 #956 #971]: #76
+#951 := [unit-resolution #668 #954 #955]: false
+#949 := [lemma #951]: #952
+#931 := [unit-resolution #949 #938 #1153]: #223
+#932 := [unit-resolution #456 #931 #934]: #26
+#929 := [unit-resolution #606 #932]: #213
+#930 := [unit-resolution #769 #929]: #22
+#927 := [unit-resolution #622 #930]: #241
+#928 := [unit-resolution #623 #930]: #235
+#925 := [unit-resolution #788 #928]: #49
+#926 := [unit-resolution #646 #925]: #276
+#961 := (or #297 #67 #119)
+#972 := [hypothesis]: #105
+#969 := [unit-resolution #671 #972]: #265
+#970 := [unit-resolution #667 #972]: #305
+#967 := [unit-resolution #522 #970 #1153]: #81
+#968 := [unit-resolution #642 #967]: #264
+#965 := [unit-resolution #487 #968 #969 #971]: #40
+#966 := [unit-resolution #643 #967]: #233
+#963 := [unit-resolution #452 #966]: #38
+#964 := [unit-resolution #611 #963 #965]: false
+#962 := [lemma #964]: #961
+#923 := [unit-resolution #962 #938 #1153]: #297
+#924 := [unit-resolution #633 #937]: #257
+#921 := [unit-resolution #692 #936]: #298
+#922 := [unit-resolution #512 #921 #924 #923]: #98
+#919 := [hypothesis]: #380
+#920 := [hypothesis]: #379
+#340 := (or #338 #339)
+#690 := [asserted]: #340
+#917 := [unit-resolution #690 #936]: #339
+#569 := (or #181 #183 #174 #145)
+#184 := (or #174 #145)
+#185 := (or #183 #184)
+#186 := (or #181 #185)
+#570 := (iff #186 #569)
+#571 := [rewrite]: #570
+#558 := [asserted]: #186
+#572 := [mp #558 #571]: #569
+#918 := [unit-resolution #572 #917 #920 #919]: #174
+#375 := (or #371 #331)
+#716 := [asserted]: #375
+#915 := [unit-resolution #716 #918]: #331
+#916 := [unit-resolution #1086 #915 #922 #926 #927 #933]: false
+#914 := [lemma #916]: #913
+#1166 := [unit-resolution #914 #1165 #1164 #1159 #1156 #1161]: #248
+#753 := (or #371 #150 #152 #119 #60)
+#793 := [hypothesis]: #174
+#374 := (or #371 #363)
+#715 := [asserted]: #374
+#794 := [unit-resolution #715 #793]: #363
+#791 := [unit-resolution #716 #793]: #331
+#802 := (or #236 #119 #150 #152 #138 #60 #167)
+#881 := [hypothesis]: #363
+#819 := [hypothesis]: #49
+#820 := [unit-resolution #647 #819]: #277
+#834 := (or #322 #167 #87)
+#849 := [hypothesis]: #129
+#324 := (or #322 #323)
+#678 := [asserted]: #324
+#850 := [unit-resolution #678 #849]: #323
+#847 := [unit-resolution #679 #849]: #317
+#848 := [unit-resolution #527 #847 #867]: #125
+#361 := (or #358 #318)
+#706 := [asserted]: #361
+#845 := [unit-resolution #706 #848]: #358
+#846 := [unit-resolution #562 #845 #881 #850]: #169
+#843 := [unit-resolution #707 #848]: #359
+#844 := [unit-resolution #573 #843]: #197
+#403 := (or #398 #364)
+#738 := [asserted]: #403
+#833 := [unit-resolution #738 #844 #846]: false
+#831 := [lemma #833]: #834
+#817 := [unit-resolution #831 #820 #881]: #322
+#818 := [unit-resolution #646 #819]: #276
+#851 := (or #282 #167 #87)
+#869 := [hypothesis]: #93
+#870 := [unit-resolution #682 #869]: #323
+#868 := [unit-resolution #683 #869]: #317
+#865 := [unit-resolution #527 #868 #867]: #125
+#866 := [unit-resolution #706 #865]: #358
+#863 := [unit-resolution #562 #866 #881 #870]: #169
+#864 := [unit-resolution #707 #865]: #359
+#861 := [unit-resolution #573 #864]: #197
+#862 := [unit-resolution #738 #861 #863]: false
+#852 := [lemma #862]: #851
+#815 := [unit-resolution #852 #820 #881]: #282
+#821 := (or #55 #138 #129 #150 #152 #93 #85 #60 #119)
+#832 := [hypothesis]: #322
+#829 := [hypothesis]: #282
+#830 := [unit-resolution #502 #1092 #829 #1089]: #91
+#827 := [unit-resolution #657 #830]: #290
+#891 := (or #67 #55 #85 #138 #60 #150 #152 #119)
+#911 := [unit-resolution #940 #971 #1153]: #306
+#912 := [unit-resolution #547 #911 #1052 #1051]: #143
+#909 := [unit-resolution #691 #912]: #330
+#910 := [unit-resolution #949 #971 #1153]: #223
+#907 := [unit-resolution #962 #971 #1153]: #297
+#908 := [unit-resolution #692 #912]: #298
+#905 := [unit-resolution #1086 #909 #1096 #1089 #1092]: #289
+#906 := [unit-resolution #512 #905 #908 #907]: #69
+#903 := [unit-resolution #634 #906]: #224
+#904 := [unit-resolution #456 #903 #910]: #26
+#901 := [unit-resolution #605 #904]: #219
+#902 := [unit-resolution #606 #904]: #213
+#899 := [unit-resolution #769 #902]: #22
+#900 := [unit-resolution #620 #899]: #240
+#897 := [unit-resolution #477 #900 #1061 #901]: #62
+#898 := [unit-resolution #658 #897]: #290
+#895 := [unit-resolution #537 #898 #1096 #909]: #129
+#896 := [unit-resolution #659 #897]: #281
+#893 := [unit-resolution #502 #896 #1092 #1089]: #93
+#894 := [unit-resolution #680 #893 #895]: false
+#892 := [lemma #894]: #891
+#828 := [unit-resolution #892 #1092 #1089 #1096 #1061 #1052 #1051 #1153]: #67
+#258 := (or #256 #257)
+#630 := [asserted]: #258
+#825 := [unit-resolution #630 #828]: #257
+#826 := [unit-resolution #655 #830]: #289
+#973 := (or #330 #69 #98 #150 #152)
+#981 := [hypothesis]: #136
+#982 := [unit-resolution #691 #981]: #338
+#979 := [unit-resolution #547 #982 #1052 #1051]: #114
+#977 := [hypothesis]: #257
+#345 := (or #330 #298)
+#695 := [asserted]: #345
+#978 := [unit-resolution #695 #981]: #298
+#975 := [unit-resolution #512 #978 #977 #980]: #105
+#310 := (or #306 #297)
+#669 := [asserted]: #310
+#976 := [unit-resolution #669 #975 #979]: false
+#974 := [lemma #976]: #973
+#823 := [unit-resolution #974 #826 #825 #1052 #1051]: #330
+#824 := [unit-resolution #537 #823 #827 #1096 #832]: false
+#822 := [lemma #824]: #821
+#816 := [unit-resolution #822 #817 #1096 #1052 #1051 #815 #818 #1061 #1153]: #55
+#813 := [unit-resolution #618 #816]: #240
+#814 := [unit-resolution #622 #816]: #214
+#811 := [unit-resolution #769 #814]: #20
+#812 := [unit-resolution #607 #811]: #219
+#809 := [unit-resolution #477 #812 #1061 #813]: #62
+#810 := [unit-resolution #658 #809]: #290
+#807 := [unit-resolution #537 #810 #1096 #817]: #136
+#808 := [unit-resolution #691 #807]: #338
+#805 := [unit-resolution #547 #808 #1052 #1051]: #114
+#293 := (or #289 #249)
+#656 := [asserted]: #293
+#806 := [unit-resolution #656 #809]: #289
+#803 := [unit-resolution #974 #807 #806 #1052 #1051]: #69
+#804 := [unit-resolution #630 #803]: #256
+#801 := [unit-resolution #940 #804 #805 #1153]: false
+#799 := [lemma #801]: #802
+#792 := [unit-resolution #799 #791 #1052 #1051 #1153 #1061 #794]: #236
+#789 := [unit-resolution #788 #792]: #47
+#790 := [unit-resolution #1054 #789 #1061]: #62
+#778 := [unit-resolution #658 #790]: #290
+#779 := [unit-resolution #656 #790]: #289
+#795 := (or #330 #119 #150 #152 #98)
+#800 := [unit-resolution #974 #981 #980 #1052 #1051]: #69
+#797 := [unit-resolution #630 #800]: #256
+#798 := [unit-resolution #940 #797 #979 #1153]: false
+#796 := [lemma #798]: #795
+#776 := [unit-resolution #796 #779 #1052 #1051 #1153]: #330
+#777 := [unit-resolution #537 #776 #791 #778]: #129
+#774 := [unit-resolution #831 #777 #794]: #87
+#775 := [unit-resolution #659 #790]: #281
+#772 := [unit-resolution #621 #789]: #241
+#773 := [unit-resolution #680 #777]: #282
+#770 := [unit-resolution #502 #773 #772 #775]: #85
+#771 := [unit-resolution #645 #770 #774]: false
+#751 := [lemma #771]: #753
+#1167 := [unit-resolution #751 #1159 #1156 #1161 #1166]: #371
+#1168 := [unit-resolution #572 #1167 #1165 #1164]: #145
+#1169 := [unit-resolution #690 #1168]: #338
+#1170 := [unit-resolution #547 #1169 #1159 #1156]: #114
+#1171 := [unit-resolution #669 #1170]: #297
+#344 := (or #339 #298)
+#694 := [asserted]: #344
+#1172 := [unit-resolution #694 #1168]: #298
+#1173 := [unit-resolution #940 #1170 #1161]: #67
+#1174 := [unit-resolution #630 #1173]: #257
+#1175 := [unit-resolution #512 #1174 #1172 #1171]: #98
+#1176 := [unit-resolution #656 #1175]: #249
+#1177 := [unit-resolution #632 #1173]: #224
+#1178 := [unit-resolution #666 #1170]: #305
+#1179 := [unit-resolution #522 #1178 #1161]: #81
+#1180 := [unit-resolution #643 #1179]: #233
+#1181 := [unit-resolution #452 #1180]: #38
+#1182 := [unit-resolution #612 #1181]: #223
+#1183 := [unit-resolution #456 #1182 #1177]: #26
+#1184 := [unit-resolution #605 #1183]: #219
+#1185 := [unit-resolution #477 #1184 #1166 #1176]: #53
+#1186 := [unit-resolution #606 #1183]: #213
+#1187 := [unit-resolution #769 #1186]: #22
+#1188 := [unit-resolution #620 #1187 #1185]: false
+#1190 := [lemma #1188]: #1189
+#1365 := [unit-resolution #1190 #1160]: #388
+#211 := (or #208 #190)
+decl f5 :: S1
+#13 := f5
+#14 := (= f5 f1)
+#600 := (or #14 #208 #190)
+#858 := (iff #600 #211)
+#853 := (or false #208 #190)
+#856 := (iff #853 #211)
+#857 := [rewrite]: #856
+#854 := (iff #600 #853)
+#757 := (iff #14 false)
+#15 := (not #14)
+#438 := [asserted]: #15
+#758 := [iff-false #438]: #757
+#855 := [monotonicity #758]: #854
+#859 := [trans #855 #857]: #858
+#212 := (or #14 #211)
+#601 := (iff #212 #600)
+#602 := [rewrite]: #601
+#589 := [asserted]: #212
+#603 := [mp #589 #602]: #600
+#860 := [mp #603 #859]: #211
+#1366 := [unit-resolution #860 #1365]: #208
+#408 := (not #208)
 #410 := (or #408 #380)
-#596 := [asserted]: #410
-#1610 := [unit-resolution #596 #1608]: #408
-#1611 := [unit-resolution #1339 #1610]: #190
-#1612 := [unit-resolution #579 #1611]: #387
-#1613 := [unit-resolution #1497 #1612]: #157
-#1614 := [unit-resolution #556 #1613]: #313
-#1615 := [unit-resolution #583 #1611]: #347
-#1616 := [unit-resolution #555 #1613]: #346
-#1617 := [unit-resolution #1492 #1616 #881 #1615 #1614]: #138
-#1618 := [unit-resolution #571 #1617]: #372
-#1619 := [unit-resolution #852 #1618 #1609]: #200
-#1620 := [unit-resolution #590 #1619]: #364
-#1621 := [unit-resolution #572 #1617]: #363
-#1622 := [unit-resolution #589 #1619]: #398
-#1623 := [unit-resolution #450 #1622]: #163
-#1624 := [unit-resolution #558 #1623]: #358
-#1625 := [unit-resolution #804 #1624 #1621 #1620]: #131
-#1626 := [unit-resolution #535 #1625]: #282
-#1627 := [unit-resolution #560 #1623]: #318
-#1628 := [unit-resolution #534 #1625]: #317
-#1629 := [unit-resolution #736 #1628 #1627]: #87
-#1630 := [unit-resolution #498 #1629]: #276
-#1631 := [unit-resolution #500 #1629]: #236
-#1632 := [unit-resolution #916 #1631]: #47
-#1633 := [unit-resolution #474 #1632]: #241
-#1634 := [unit-resolution #692 #1633 #1630 #1626]: #91
-#1635 := [unit-resolution #508 #1634]: #289
-#1636 := [unit-resolution #1166 #1617 #1609]: #60
-#1637 := [unit-resolution #486 #1636]: #257
-#1638 := [unit-resolution #484 #1636]: #256
-#1639 := [unit-resolution #488 #1636]: #224
-#1640 := [unit-resolution #476 #1632]: #214
-#1641 := [unit-resolution #905 #1640]: #20
-#1642 := [unit-resolution #459 #1641]: #218
-#1643 := [unit-resolution #616 #1642 #1639]: #32
-#1644 := [unit-resolution #466 #1643]: #229
-#1645 := [unit-resolution #1110 #1644 #1614 #1638]: #297
-#1646 := [unit-resolution #716 #1645 #1637 #1635]: #107
-#1647 := [unit-resolution #1464 #1644 #1638 #1614]: #306
-#1648 := [unit-resolution #784 #1647 #1616 #1615]: #143
-#1649 := [unit-resolution #545 #1648 #1646]: false
-#1650 := [lemma #1649]: #129
-#326 := (or #322 #282)
-#533 := [asserted]: #326
-#1662 := [unit-resolution #533 #1650]: #282
-#1664 := [unit-resolution #692 #1662]: #1663
-#1665 := [unit-resolution #1664 #1661 #1658 #1654]: false
-#1667 := [lemma #1665]: #1666
-#1725 := [unit-resolution #1667 #919]: #218
-#1689 := (or #306 #26 #119 #40)
-#1668 := [hypothesis]: #218
-#1683 := [unit-resolution #1464 #1457 #1030 #970]: #67
-#1684 := [unit-resolution #485 #1683]: #224
-#1685 := [unit-resolution #616 #1684 #1668]: #32
-#1686 := [unit-resolution #496 #1459]: #233
-#1687 := [unit-resolution #425 #1686]: #38
-#1688 := [unit-resolution #465 #1687 #1685]: false
-#1690 := [lemma #1688]: #1689
-#1726 := [unit-resolution #1690 #1725 #970 #1030]: #306
-#1715 := (or #298 #114)
-#1700 := [hypothesis]: #107
-#1701 := [unit-resolution #545 #1700]: #338
-#1702 := [hypothesis]: #306
-#1703 := [unit-resolution #547 #1700]: #339
-#1698 := (or #387 #145)
-#1691 := [hypothesis]: #339
-#1692 := [unit-resolution #596 #1340]: #380
-#1694 := (or #371 #204)
-#324 := (or #322 #323)
-#531 := [asserted]: #324
-#1693 := [unit-resolution #531 #1650]: #323
-#1695 := [unit-resolution #1021 #1693]: #1694
-#1696 := [unit-resolution #1695 #1341]: #371
-#1697 := [unit-resolution #828 #1696 #1692 #1691 #1342]: false
-#1699 := [lemma #1697]: #1698
-#1704 := [unit-resolution #1699 #1703]: #387
-#1705 := [unit-resolution #1497 #1704]: #157
-#1706 := [unit-resolution #555 #1705]: #346
-#1707 := [unit-resolution #784 #1706 #1702 #1701]: #152
-#1708 := [unit-resolution #584 #1707]: #379
-#1709 := [unit-resolution #583 #1707]: #388
-#1710 := [unit-resolution #1339 #1709]: #208
-#1711 := [unit-resolution #596 #1710]: #380
-#1712 := [unit-resolution #595 #1710]: #404
-#1713 := [unit-resolution #1695 #1712]: #371
-#1714 := [unit-resolution #828 #1713 #1711 #1703 #1708]: false
-#1716 := [lemma #1714]: #1715
-#1727 := [unit-resolution #1716 #1726]: #298
-#1681 := (or #107 #40 #98 #119 #26)
-#1669 := [unit-resolution #1056 #1045 #970 #1030 #1044]: #224
-#1670 := [unit-resolution #616 #1669 #1668]: #32
-#1671 := [unit-resolution #465 #1670]: #228
-#1672 := [unit-resolution #425 #1671]: #44
-#1673 := [unit-resolution #496 #1672]: #272
-#1674 := [unit-resolution #732 #1673 #970]: #112
-#1675 := [unit-resolution #520 #1674]: #297
-#1676 := [unit-resolution #716 #1675 #1045 #1044]: #69
-#1677 := [unit-resolution #497 #1672]: #264
-#1678 := [unit-resolution #521 #1674]: #265
-#1679 := [unit-resolution #672 #1678 #1030 #1677]: #67
-#1680 := [unit-resolution #483 #1679 #1676]: false
-#1682 := [lemma #1680]: #1681
-#1728 := [unit-resolution #1682 #1727 #1030 #970 #1725]: #98
-#1729 := [unit-resolution #508 #1728]: #281
-#1730 := [unit-resolution #509 #1728]: #249
-#1723 := (or #240 #91)
-#1717 := [hypothesis]: #53
-#242 := (or #240 #241)
-#471 := [asserted]: #242
-#1718 := [unit-resolution #471 #1717]: #241
-#1719 := [unit-resolution #1664 #1718 #1236]: #85
-#1720 := [unit-resolution #472 #1717]: #235
-#1721 := [unit-resolution #916 #1720]: #49
-#1722 := [unit-resolution #499 #1721 #1719]: false
-#1724 := [lemma #1722]: #1723
-#1731 := [unit-resolution #1724 #1729]: #240
-#1732 := [unit-resolution #648 #1731 #919 #1730]: #28
-#1733 := [unit-resolution #460 #1732]: #213
-#1734 := [unit-resolution #905 #1733]: #22
-#1735 := [unit-resolution #475 #1734]: #241
-#1736 := [unit-resolution #1664 #1735 #1729]: #85
-#1737 := [unit-resolution #476 #1734]: #235
-#1738 := [unit-resolution #916 #1737]: #49
-#1739 := [unit-resolution #499 #1738 #1736]: false
-#1741 := [lemma #1739]: #1740
-#1742 := [unit-resolution #1741 #970 #1030]: #60
-#1743 := [unit-resolution #484 #1742]: #256
-#1748 := [unit-resolution #1110 #1743 #1030 #970]: #297
-#1749 := [unit-resolution #486 #1742]: #257
-#1750 := [unit-resolution #1464 #1743 #1030 #970]: #306
-#1751 := [unit-resolution #1716 #1750]: #298
-#1752 := [unit-resolution #716 #1751 #1749 #1748]: #98
-#1753 := [unit-resolution #508 #1752]: #281
-#1754 := [unit-resolution #488 #1742]: #224
-#1746 := (or #233 #40 #119)
-#1744 := [unit-resolution #672 #976 #1030 #1743]: #76
-#1745 := [unit-resolution #521 #1744 #973]: false
-#1747 := [lemma #1745]: #1746
-#1755 := [unit-resolution #1747 #970 #1030]: #233
-#1756 := [unit-resolution #425 #1755]: #38
-#1757 := [unit-resolution #465 #1756]: #223
-#1758 := [unit-resolution #616 #1757 #1754]: #26
-#1759 := [unit-resolution #459 #1758]: #213
-#1760 := [unit-resolution #905 #1759]: #22
-#1761 := [unit-resolution #475 #1760]: #241
-#1762 := [unit-resolution #1664 #1761 #1753]: #85
-#1763 := [unit-resolution #476 #1760]: #235
-#1764 := [unit-resolution #916 #1763]: #49
-#1765 := [unit-resolution #499 #1764 #1762]: false
-#1767 := [lemma #1765]: #1766
-#1768 := [unit-resolution #1767 #1030]: #119
-#1769 := [unit-resolution #556 #1768]: #354
-#1770 := [unit-resolution #1497 #1769]: #188
-#1771 := [unit-resolution #581 #1770]: #347
-#1772 := [unit-resolution #557 #1768]: #346
-#1773 := [unit-resolution #1699 #1770]: #145
-#1774 := [unit-resolution #543 #1773]: #338
-#1775 := [unit-resolution #784 #1774 #1772 #1771]: #114
-#1787 := [unit-resolution #522 #1775]: #297
-#1788 := [unit-resolution #547 #1773]: #298
-#1802 := (or #60 #40)
-#1785 := (or #257 #26 #40)
-#1776 := [unit-resolution #523 #1775]: #265
-#1777 := [hypothesis]: #69
-#1778 := [unit-resolution #483 #1777]: #256
-#1779 := [unit-resolution #672 #1778 #1030 #1776]: #74
-#1780 := [unit-resolution #497 #1779]: #233
-#1781 := [unit-resolution #487 #1777]: #224
-#1782 := [unit-resolution #616 #1781 #1668]: #32
-#1783 := [unit-resolution #465 #1782]: #228
-#1784 := [unit-resolution #425 #1783 #1780]: false
-#1786 := [lemma #1784]: #1785
-#1789 := [unit-resolution #1786 #1725 #1030]: #257
-#1790 := [unit-resolution #716 #1789 #1788 #1787]: #98
-#1791 := [unit-resolution #508 #1790]: #281
-#1792 := [unit-resolution #509 #1790]: #249
-#1793 := [unit-resolution #1724 #1791]: #240
-#1794 := [unit-resolution #648 #1793 #919 #1792]: #28
-#1795 := [unit-resolution #460 #1794]: #213
-#1796 := [unit-resolution #905 #1795]: #22
-#1797 := [unit-resolution #475 #1796]: #241
-#1798 := [unit-resolution #1664 #1797 #1791]: #85
-#1799 := [unit-resolution #476 #1796]: #235
-#1800 := [unit-resolution #916 #1799]: #49
-#1801 := [unit-resolution #499 #1800 #1798]: false
-#1803 := [lemma #1801]: #1802
-#1804 := [unit-resolution #1803 #1030]: #60
-#1805 := [unit-resolution #486 #1804]: #257
-#1806 := [unit-resolution #716 #1805 #1788 #1787]: #98
-#1807 := [unit-resolution #508 #1806]: #281
-#1808 := [unit-resolution #488 #1804]: #224
-#1809 := [unit-resolution #484 #1804]: #256
-#1810 := [unit-resolution #672 #1809 #1030 #1776]: #74
-#1811 := [unit-resolution #497 #1810]: #233
-#1812 := [unit-resolution #425 #1811]: #38
-#1813 := [unit-resolution #465 #1812]: #223
-#1814 := [unit-resolution #616 #1813 #1808]: #26
-#1815 := [unit-resolution #459 #1814]: #213
-#1816 := [unit-resolution #905 #1815]: #22
-#1817 := [unit-resolution #475 #1816]: #241
-#1818 := [unit-resolution #1664 #1817 #1807]: #85
-#1819 := [unit-resolution #476 #1816]: #235
-#1820 := [unit-resolution #916 #1819]: #49
-#1821 := [unit-resolution #499 #1820 #1818]: false
-#1822 := [lemma #1821]: #40
-#1855 := [unit-resolution #464 #1822]: #228
-#1856 := [unit-resolution #425 #1855]: #44
-#1857 := [unit-resolution #496 #1856]: #272
-#1858 := [unit-resolution #732 #1103 #1857]: #119
-#1859 := [unit-resolution #556 #1858]: #354
-#1860 := [unit-resolution #1497 #1859]: #188
-#1861 := [unit-resolution #1699 #1860]: #145
-#1862 := [unit-resolution #557 #1858]: #346
-#1863 := [unit-resolution #522 #1102]: #306
-#1864 := [unit-resolution #581 #1860]: #347
-#1865 := [unit-resolution #784 #1864 #1863 #1862]: #143
-#1866 := [unit-resolution #543 #1865 #1861]: false
-#1867 := [lemma #1866]: #297
-#1853 := (or #105 #107)
-#1838 := (or #60 #107 #105)
-#1823 := [unit-resolution #466 #1822]: #223
-#1824 := [unit-resolution #616 #1725 #1823]: #34
-#1825 := [unit-resolution #487 #1824]: #257
-#1826 := [unit-resolution #716 #1825 #1045 #890]: #98
-#1827 := [unit-resolution #508 #1826]: #281
-#1828 := [unit-resolution #509 #1826]: #249
-#1829 := [unit-resolution #1724 #1827]: #240
-#1830 := [unit-resolution #648 #1829 #919 #1828]: #28
-#1831 := [unit-resolution #460 #1830]: #213
-#1832 := [unit-resolution #905 #1831]: #22
-#1833 := [unit-resolution #475 #1832]: #241
-#1834 := [unit-resolution #1664 #1833 #1827]: #85
-#1835 := [unit-resolution #476 #1832]: #235
-#1836 := [unit-resolution #916 #1835]: #49
-#1837 := [unit-resolution #499 #1836 #1834]: false
-#1839 := [lemma #1837]: #1838
-#1840 := [unit-resolution #1839 #890 #1045]: #60
-#1841 := [unit-resolution #486 #1840]: #257
-#1842 := [unit-resolution #716 #1841 #1045 #890]: #98
-#1843 := [unit-resolution #508 #1842]: #281
-#1844 := [unit-resolution #488 #1840]: #224
-#1845 := [unit-resolution #616 #1844 #1823]: #26
-#1846 := [unit-resolution #459 #1845]: #213
-#1847 := [unit-resolution #905 #1846]: #22
-#1848 := [unit-resolution #475 #1847]: #241
-#1849 := [unit-resolution #1664 #1848 #1843]: #85
-#1850 := [unit-resolution #476 #1847]: #235
-#1851 := [unit-resolution #916 #1850]: #49
-#1852 := [unit-resolution #499 #1851 #1849]: false
-#1854 := [lemma #1852]: #1853
-#1868 := [unit-resolution #1854 #1867]: #107
-#1869 := [unit-resolution #547 #1868]: #339
-#1870 := [unit-resolution #1699 #1869]: #387
-#1871 := [unit-resolution #1497 #1870]: #157
-#1872 := [unit-resolution #1716 #1868]: #114
-#1873 := [unit-resolution #519 #1872]: #305
-#1874 := [unit-resolution #732 #1873 #1857]: #119
-[unit-resolution #556 #1874 #1871]: false
-4981f4ce905ff5bd45aa1d26b0e079fee17e6b28 67 0
+#743 := [asserted]: #410
+#1367 := [unit-resolution #743 #1366]: #380
+#409 := (or #408 #404)
+#742 := [asserted]: #409
+#1368 := [unit-resolution #742 #1366]: #404
+#1369 := [unit-resolution #593 #1368 #1160]: #200
+#1239 := (or #119 #183 #400)
+#1224 := [unit-resolution #1123 #1153 #1019]: #323
+#1225 := [unit-resolution #562 #1224 #1017 #1020]: #167
+#1226 := [unit-resolution #715 #1225]: #371
+#1222 := (or #379 #400 #119)
+#1216 := [hypothesis]: #181
+#390 := (or #387 #379)
+#727 := [asserted]: #390
+#1217 := [unit-resolution #727 #1216]: #387
+#1218 := [unit-resolution #842 #1217]: #157
+#394 := (or #379 #347)
+#731 := [asserted]: #394
+#1219 := [unit-resolution #731 #1216]: #347
+#1220 := [unit-resolution #984 #1219 #1024 #1153]: #150
+#1221 := [unit-resolution #702 #1220 #1218]: false
+#1223 := [lemma #1221]: #1222
+#1227 := [unit-resolution #1223 #1153 #1024]: #379
+#1228 := [unit-resolution #572 #1227 #1226 #919]: #145
+#1229 := [unit-resolution #694 #1228]: #298
+#1192 := (or #297 #125 #119)
+#1191 := [unit-resolution #1098 #967 #969 #1154]: false
+#1193 := [lemma #1191]: #1192
+#1230 := [unit-resolution #1193 #1153 #1019]: #297
+#1231 := [unit-resolution #719 #1225]: #331
+#343 := (or #339 #330)
+#693 := [asserted]: #343
+#1232 := [unit-resolution #693 #1228]: #330
+#1233 := [unit-resolution #1064 #1232 #1231 #1230 #1229]: #277
+#1234 := [unit-resolution #527 #1233 #1019]: #123
+#1214 := (or #339 #138 #119 #125 #98)
+#1194 := [hypothesis]: #145
+#1195 := [unit-resolution #693 #1194]: #330
+#1196 := [unit-resolution #694 #1194]: #298
+#1197 := [unit-resolution #1193 #1153 #1154]: #297
+#1198 := [unit-resolution #1064 #1195 #1096 #1197 #1196]: #277
+#1199 := [unit-resolution #527 #1198 #1154]: #123
+#1200 := [unit-resolution #679 #1199]: #322
+#1201 := [unit-resolution #537 #1200 #1096 #1195]: #100
+#1202 := [unit-resolution #658 #1201]: #249
+#1203 := [unit-resolution #512 #1196 #1197 #980]: #69
+#1204 := [unit-resolution #633 #1203]: #248
+#1205 := [unit-resolution #634 #1203]: #224
+#1206 := [unit-resolution #630 #1203]: #256
+#1207 := [unit-resolution #949 #1206 #1153]: #223
+#1208 := [unit-resolution #456 #1207 #1205]: #26
+#1209 := [unit-resolution #605 #1208]: #219
+#1210 := [unit-resolution #477 #1209 #1204 #1202]: #53
+#1211 := [unit-resolution #606 #1208]: #213
+#1212 := [unit-resolution #769 #1211]: #22
+#1213 := [unit-resolution #620 #1212 #1210]: false
+#1215 := [lemma #1213]: #1214
+#1235 := [unit-resolution #1215 #1228 #1153 #1019 #1231]: #98
+#1236 := [unit-resolution #654 #1235]: #290
+#1237 := [unit-resolution #537 #1236 #1231 #1232]: #129
+#1238 := [unit-resolution #679 #1237 #1234]: false
+#1240 := [lemma #1238]: #1239
+#1370 := [unit-resolution #1240 #1367 #1369]: #119
+#1371 := [unit-resolution #703 #1370]: #354
+#1372 := [unit-resolution #842 #1371]: #188
+#1373 := [unit-resolution #727 #1372]: #379
+#1374 := [unit-resolution #737 #1369]: #364
+#1375 := [unit-resolution #736 #1369]: #398
+#1376 := [unit-resolution #573 #1375]: #163
+#1377 := [unit-resolution #705 #1376]: #358
+#1378 := [unit-resolution #707 #1376]: #318
+#391 := (or #387 #347)
+#728 := [asserted]: #391
+#1379 := [unit-resolution #728 #1372]: #347
+#357 := (or #346 #313)
+#704 := [asserted]: #357
+#1380 := [unit-resolution #704 #1370]: #346
+#1351 := (or #98 #125 #161 #169 #181 #183 #150 #152)
+#1258 := [hypothesis]: #364
+#1259 := [hypothesis]: #358
+#1332 := (or #136 #150 #152 #181 #183 #125 #161 #169 #98)
+#1317 := (or #129 #125 #136 #161 #169 #181 #183 #150 #152 #98)
+#1297 := (or #105 #125 #98 #161 #169 #181 #183 #129 #136)
+#1276 := (or #290 #125 #161 #169 #181 #183 #98 #105)
+#1256 := [hypothesis]: #100
+#1257 := [unit-resolution #657 #1256]: #281
+#1260 := [unit-resolution #658 #1256]: #249
+#1254 := (or #60 #62 #91 #125)
+#1241 := [hypothesis]: #281
+#1242 := [unit-resolution #1054 #1061 #1062]: #235
+#1243 := [unit-resolution #788 #1242]: #49
+#1244 := [unit-resolution #646 #1243]: #276
+#1245 := [unit-resolution #647 #1243]: #277
+#1246 := [unit-resolution #527 #1245 #1154]: #123
+#1247 := [unit-resolution #683 #1246]: #282
+#1248 := [unit-resolution #502 #1247 #1244 #1241]: #55
+#1249 := [unit-resolution #618 #1248]: #240
+#1250 := [unit-resolution #477 #1249 #1061 #1062]: #28
+#1251 := [unit-resolution #622 #1248]: #214
+#1252 := [unit-resolution #769 #1251]: #20
+#1253 := [unit-resolution #607 #1252 #1250]: false
+#1255 := [lemma #1253]: #1254
+#1261 := [unit-resolution #1255 #1260 #1257 #1154]: #60
+#1262 := [unit-resolution #633 #1261]: #257
+#1263 := [unit-resolution #512 #1262 #980 #1075]: #107
+#1264 := [unit-resolution #694 #1263]: #339
+#1265 := [unit-resolution #572 #1264 #920 #919]: #174
+#1266 := [unit-resolution #715 #1265]: #363
+#1267 := [unit-resolution #562 #1266 #1259 #1258]: #131
+#1268 := [unit-resolution #682 #1267]: #282
+#1269 := [unit-resolution #681 #1267]: #317
+#1270 := [unit-resolution #527 #1269 #1154]: #87
+#1271 := [unit-resolution #645 #1270]: #276
+#1272 := [unit-resolution #502 #1271 #1268 #1257]: #55
+#1273 := [unit-resolution #647 #1270]: #236
+#1274 := [unit-resolution #788 #1273]: #47
+#1275 := [unit-resolution #621 #1274 #1272]: false
+#1277 := [lemma #1275]: #1276
+#1278 := [unit-resolution #1277 #1075 #1259 #1258 #920 #919 #980 #1154]: #290
+#1279 := [unit-resolution #537 #1278 #832 #1095]: #138
+#1280 := [unit-resolution #716 #1279]: #371
+#1281 := [unit-resolution #572 #1280 #920 #919]: #145
+#1282 := [unit-resolution #694 #1281]: #298
+#1283 := [unit-resolution #512 #1282 #980 #1075]: #69
+#1284 := [unit-resolution #633 #1283]: #248
+#1285 := [unit-resolution #719 #1279]: #363
+#1286 := [unit-resolution #562 #1285 #1259 #1258]: #131
+#1287 := [unit-resolution #681 #1286]: #317
+#1288 := [unit-resolution #527 #1287 #1154]: #87
+#1289 := [unit-resolution #647 #1288]: #236
+#1290 := [unit-resolution #788 #1289]: #47
+#1291 := [unit-resolution #1054 #1290 #1284]: #62
+#1292 := [unit-resolution #645 #1288]: #276
+#1293 := [unit-resolution #682 #1286]: #282
+#1294 := [unit-resolution #621 #1290]: #241
+#1295 := [unit-resolution #502 #1294 #1293 #1292]: #91
+#1296 := [unit-resolution #659 #1295 #1291]: false
+#1298 := [lemma #1296]: #1297
+#1299 := [unit-resolution #1298 #832 #980 #1259 #1258 #920 #919 #1154 #1095]: #105
+#1300 := [unit-resolution #669 #1299]: #306
+#1301 := [unit-resolution #547 #1300 #1052 #1051]: #143
+#1302 := [unit-resolution #690 #1301]: #339
+#1303 := [unit-resolution #572 #1302 #920 #919]: #174
+#1304 := [unit-resolution #716 #1303]: #331
+#1305 := [unit-resolution #537 #1304 #832 #1095]: #100
+#1306 := [unit-resolution #657 #1305]: #281
+#1307 := [unit-resolution #715 #1303]: #363
+#1308 := [unit-resolution #562 #1307 #1259 #1258]: #131
+#1309 := [unit-resolution #682 #1308]: #282
+#1310 := [unit-resolution #681 #1308]: #317
+#1311 := [unit-resolution #527 #1310 #1154]: #87
+#1312 := [unit-resolution #645 #1311]: #276
+#1313 := [unit-resolution #502 #1312 #1309 #1306]: #55
+#1314 := [unit-resolution #647 #1311]: #236
+#1315 := [unit-resolution #788 #1314]: #47
+#1316 := [unit-resolution #621 #1315 #1313]: false
+#1318 := [lemma #1316]: #1317
+#1319 := [unit-resolution #1318 #1095 #1154 #1259 #1258 #920 #919 #1052 #1051 #980]: #129
+#1320 := [unit-resolution #678 #1319]: #323
+#1321 := [unit-resolution #562 #1320 #1259 #1258]: #167
+#1322 := [unit-resolution #715 #1321]: #371
+#1323 := [unit-resolution #572 #1322 #920 #919]: #145
+#1324 := [unit-resolution #690 #1323]: #338
+#1325 := [unit-resolution #547 #1324 #1052 #1051]: #114
+#1326 := [unit-resolution #679 #1319]: #317
+#1327 := [unit-resolution #527 #1326 #1154]: #87
+#335 := (or #331 #322)
+#687 := [asserted]: #335
+#1328 := [unit-resolution #687 #1319]: #331
+#1329 := [unit-resolution #694 #1323]: #298
+#1330 := [unit-resolution #1064 #1329 #1095 #1328 #1327]: #105
+#1331 := [unit-resolution #669 #1330 #1325]: false
+#1333 := [lemma #1331]: #1332
+#1334 := [unit-resolution #1333 #980 #1051 #920 #919 #1154 #1259 #1258 #1052]: #136
+#1335 := [unit-resolution #974 #1334 #980 #1052 #1051]: #69
+#1336 := [unit-resolution #633 #1335]: #248
+#1337 := [unit-resolution #693 #1334]: #339
+#1338 := [unit-resolution #572 #1337 #920 #919]: #174
+#1339 := [unit-resolution #715 #1338]: #363
+#1340 := [unit-resolution #562 #1339 #1259 #1258]: #131
+#1341 := [unit-resolution #681 #1340]: #317
+#1342 := [unit-resolution #527 #1341 #1154]: #87
+#1343 := [unit-resolution #647 #1342]: #236
+#1344 := [unit-resolution #788 #1343]: #47
+#1345 := [unit-resolution #1054 #1344 #1336]: #62
+#1346 := [unit-resolution #645 #1342]: #276
+#1347 := [unit-resolution #682 #1340]: #282
+#1348 := [unit-resolution #621 #1344]: #241
+#1349 := [unit-resolution #502 #1348 #1347 #1346]: #91
+#1350 := [unit-resolution #659 #1349 #1345]: false
+#1352 := [lemma #1350]: #1351
+#1381 := [unit-resolution #1352 #1378 #1377 #1374 #1373 #1367 #1380 #1379]: #98
+#1382 := [unit-resolution #654 #1381]: #290
+#1363 := (or #317 #100 #181 #183 #161 #169)
+#1353 := [hypothesis]: #123
+#1354 := [unit-resolution #681 #1353]: #323
+#1355 := [unit-resolution #562 #1354 #1259 #1258]: #167
+#1356 := [unit-resolution #715 #1355]: #371
+#1357 := [unit-resolution #572 #1356 #920 #919]: #145
+#1358 := [unit-resolution #679 #1353]: #322
+#1359 := [hypothesis]: #290
+#1360 := [unit-resolution #719 #1355]: #331
+#1361 := [unit-resolution #537 #1360 #1359 #1358]: #136
+#1362 := [unit-resolution #693 #1361 #1357]: false
+#1364 := [lemma #1362]: #1363
+#1383 := [unit-resolution #1364 #1382 #1373 #1367 #1377 #1374]: #317
+#1384 := [unit-resolution #527 #1383 #1378]: #87
+#1385 := [unit-resolution #645 #1384]: #276
+#1386 := [unit-resolution #655 #1381]: #281
+#1387 := [unit-resolution #647 #1384]: #236
+#1388 := [unit-resolution #788 #1387]: #47
+#1389 := [unit-resolution #621 #1388]: #241
+#1390 := [unit-resolution #502 #1389 #1386 #1385]: #93
+#1391 := [unit-resolution #682 #1390]: #323
+#1392 := [unit-resolution #562 #1391 #1377 #1374]: #167
+#1393 := [unit-resolution #715 #1392]: #371
+#1394 := [unit-resolution #572 #1393 #1373 #1367]: #145
+#1395 := [unit-resolution #680 #1390]: #322
+#1396 := [unit-resolution #719 #1392]: #331
+#1397 := [unit-resolution #537 #1396 #1382 #1395]: #136
+#1398 := [unit-resolution #693 #1397 #1394]: false
+#1399 := [lemma #1398]: #176
+#376 := (or #372 #363)
+#717 := [asserted]: #376
+#1426 := [unit-resolution #717 #1399]: #363
+#1428 := [unit-resolution #831 #1426]: #1427
+#1429 := [unit-resolution #1428 #867]: #322
+#1431 := (or #136 #129 #100)
+#377 := (or #372 #331)
+#718 := [asserted]: #377
+#1430 := [unit-resolution #718 #1399]: #331
+#1432 := [unit-resolution #537 #1430]: #1431
+#1433 := [unit-resolution #1432 #1429 #1095]: #100
+#1434 := [unit-resolution #657 #1433]: #281
+#1435 := (or #282 #87)
+#1436 := [unit-resolution #852 #1426]: #1435
+#1437 := [unit-resolution #1436 #867]: #282
+#1419 := (or #214 #93 #91)
+#1413 := [hypothesis]: #22
+#1414 := [unit-resolution #622 #1413]: #241
+#1415 := [unit-resolution #502 #1414 #829 #1241]: #85
+#1416 := [unit-resolution #623 #1413]: #235
+#1417 := [unit-resolution #788 #1416]: #49
+#1418 := [unit-resolution #646 #1417 #1415]: false
+#1420 := [lemma #1418]: #1419
+#1438 := [unit-resolution #1420 #1437 #1434]: #214
+#1439 := [unit-resolution #769 #1438]: #20
+#1440 := [unit-resolution #607 #1439]: #219
+#1441 := [unit-resolution #658 #1433]: #249
+#1442 := [unit-resolution #606 #1439]: #218
+#1424 := (or #248 #26 #98)
+#1421 := [hypothesis]: #218
+#1411 := (or #223 #98 #69 #67)
+#1400 := [unit-resolution #949 #959 #971]: #119
+#1401 := [unit-resolution #703 #1400]: #354
+#1402 := [unit-resolution #842 #1401]: #188
+#1403 := [unit-resolution #728 #1402]: #347
+#1404 := [unit-resolution #704 #1400]: #346
+#1405 := [unit-resolution #487 #953 #971 #956]: #76
+#1406 := [unit-resolution #670 #1405]: #306
+#1407 := [unit-resolution #547 #1406 #1404 #1403]: #143
+#1408 := [unit-resolution #671 #1405]: #297
+#1409 := [unit-resolution #512 #1408 #980 #977]: #107
+#1410 := [unit-resolution #692 #1409 #1407]: false
+#1412 := [lemma #1410]: #1411
+#1422 := [unit-resolution #1412 #924 #980 #938]: #223
+#1423 := [unit-resolution #456 #1422 #934 #1421]: false
+#1425 := [lemma #1423]: #1424
+#1443 := [unit-resolution #1425 #1442 #980]: #248
+#1444 := [unit-resolution #477 #1443 #1441 #1440]: #53
+#1445 := [unit-resolution #618 #1444]: #241
+#1446 := [unit-resolution #1054 #1443 #1441]: #235
+#1447 := [unit-resolution #788 #1446]: #49
+#1448 := [unit-resolution #646 #1447]: #276
+#1449 := [unit-resolution #502 #1448 #1445 #1437 #1434]: false
+#1451 := [lemma #1449]: #1450
+#1452 := [unit-resolution #1451 #1095 #980]: #87
+#1453 := [unit-resolution #647 #1452]: #236
+#1454 := [unit-resolution #788 #1453]: #47
+#1455 := [unit-resolution #623 #1454]: #214
+#1456 := [unit-resolution #769 #1455]: #20
+#1457 := [unit-resolution #606 #1456]: #218
+#1458 := [unit-resolution #1425 #1457 #980]: #248
+#1459 := [unit-resolution #1054 #1458 #1454]: #62
+#1460 := [unit-resolution #658 #1459]: #290
+#1461 := [unit-resolution #1432 #1460 #1095]: #129
+#1462 := [unit-resolution #621 #1454]: #241
+#1463 := [unit-resolution #645 #1452]: #276
+#1464 := [unit-resolution #659 #1459]: #281
+#1465 := [unit-resolution #502 #1464 #1463 #1462]: #93
+#1466 := [unit-resolution #680 #1465 #1461]: false
+#1468 := [lemma #1466]: #1467
+#1481 := [unit-resolution #1468 #980]: #136
+#1482 := [unit-resolution #693 #1481]: #339
+#1479 := (or #387 #145)
+#1469 := [hypothesis]: #188
+#1470 := [unit-resolution #726 #1469]: #388
+#1471 := [unit-resolution #860 #1470]: #208
+#1472 := [hypothesis]: #339
+#1473 := [unit-resolution #727 #1469]: #379
+#1475 := (or #181 #183 #145)
+#373 := (or #371 #372)
+#714 := [asserted]: #373
+#1474 := [unit-resolution #714 #1399]: #371
+#1476 := [unit-resolution #572 #1474]: #1475
+#1477 := [unit-resolution #1476 #1473 #1472]: #183
+#1478 := [unit-resolution #743 #1477 #1471]: false
+#1480 := [lemma #1478]: #1479
+#1483 := [unit-resolution #1480 #1482]: #387
+#1484 := [unit-resolution #842 #1483]: #157
+#1485 := [unit-resolution #702 #1484]: #346
+#1486 := [unit-resolution #703 #1484]: #313
+#1487 := [unit-resolution #796 #1486 #1481 #1485 #980]: #152
+#1488 := [unit-resolution #730 #1487]: #388
+#1489 := [unit-resolution #860 #1488]: #208
+#1490 := [unit-resolution #731 #1487]: #379
+#1491 := [unit-resolution #1476 #1490 #1482]: #183
+#1492 := [unit-resolution #743 #1491 #1489]: false
+#1493 := [lemma #1492]: #98
+#1515 := [unit-resolution #656 #1493]: #249
+#1511 := [unit-resolution #655 #1493]: #281
+#1512 := [unit-resolution #1420 #829 #1511]: #214
+#1513 := [unit-resolution #769 #1512]: #20
+#1514 := [unit-resolution #607 #1513]: #219
+#1516 := [unit-resolution #606 #1513]: #218
+#1509 := (or #248 #26)
+#1494 := [unit-resolution #654 #1493]: #290
+#1495 := [unit-resolution #1432 #1095 #1494]: #129
+#300 := (or #297 #289)
+#661 := [asserted]: #300
+#1496 := [unit-resolution #661 #1493]: #297
+#302 := (or #298 #289)
+#663 := [asserted]: #302
+#1497 := [unit-resolution #663 #1493]: #298
+#1498 := (or #277 #136 #105 #107)
+#1499 := [unit-resolution #1064 #1430]: #1498
+#1500 := [unit-resolution #1499 #1095 #1497 #1496]: #277
+#1501 := [unit-resolution #1428 #1500 #1495]: false
+#1502 := [lemma #1501]: #136
+#1503 := [unit-resolution #693 #1502]: #339
+#1504 := [unit-resolution #1480 #1503]: #387
+#1505 := [unit-resolution #842 #1504]: #157
+#1506 := [unit-resolution #703 #1505]: #313
+#1507 := [unit-resolution #949 #938 #1506]: #223
+#1508 := [unit-resolution #456 #1507 #934 #1421]: false
+#1510 := [lemma #1508]: #1509
+#1517 := [unit-resolution #1510 #1516]: #248
+#1518 := [unit-resolution #477 #1517 #1515 #1514]: #53
+#1519 := [unit-resolution #618 #1518]: #241
+#1520 := [unit-resolution #1054 #1517 #1515]: #235
+#1521 := [unit-resolution #788 #1520]: #49
+#1522 := [unit-resolution #646 #1521]: #276
+#1523 := [unit-resolution #502 #1522 #1519 #1511 #829]: false
+#1524 := [lemma #1523]: #93
+#1525 := [unit-resolution #1436 #1524]: #87
+#321 := (or #318 #277)
+#677 := [asserted]: #321
+#1526 := [unit-resolution #677 #1525]: #318
+#1527 := [unit-resolution #1255 #1526 #1511 #1515]: #60
+#1528 := [unit-resolution #1510 #1527]: #26
+#1529 := [unit-resolution #647 #1525]: #236
+#1530 := [unit-resolution #788 #1529]: #47
+#1531 := [unit-resolution #623 #1530]: #214
+#1532 := [unit-resolution #769 #1531]: #20
+[unit-resolution #606 #1532 #1528]: false
 unsat
+53042978396971446eabf6039172bd47071e3fd3 67 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> Int S1)
 decl ?v0!0 :: Int
-#53 := ?v0!0
-#54 := (f3 ?v0!0)
-#55 := (= #54 f1)
-#56 := (not #55)
+#55 := ?v0!0
+#56 := (f3 ?v0!0)
+#57 := (= #56 f1)
+#58 := (not #57)
 decl ?v1!1 :: Int
 #66 := ?v1!1
 #67 := (f3 ?v1!1)
 #68 := (= #67 f1)
-#69 := (or #55 #68)
+#69 := (or #57 #68)
 #70 := (not #69)
-#84 := (and #55 #70)
-#63 := (not #56)
-#74 := (and #63 #70)
-#85 := (iff #74 #84)
-#82 := (iff #63 #55)
-#83 := [rewrite]: #82
-#86 := [monotonicity #83]: #85
+#86 := (and #57 #70)
+#63 := (not #58)
+#76 := (and #63 #70)
+#87 := (iff #76 #86)
+#84 := (iff #63 #57)
+#85 := [rewrite]: #84
+#88 := [monotonicity #85]: #87
 #7 := (:var 0 Int)
 #8 := (f3 #7)
 #9 := (= #8 f1)
@@ -2058,44 +1798,44 @@
 #12 := (= #11 f1)
 #13 := (or #12 #9)
 #14 := (forall (vars (?v1 Int)) #13)
-#23 := (not #9)
-#24 := (or #23 #14)
-#27 := (forall (vars (?v0 Int)) #24)
-#30 := (not #27)
-#77 := (~ #30 #74)
-#57 := (or #55 #9)
-#58 := (forall (vars (?v1 Int)) #57)
-#59 := (or #56 #58)
+#39 := (not #9)
+#40 := (or #39 #14)
+#43 := (forall (vars (?v0 Int)) #40)
+#46 := (not #43)
+#79 := (~ #46 #76)
+#50 := (or #57 #9)
+#52 := (forall (vars (?v1 Int)) #50)
+#59 := (or #58 #52)
 #60 := (not #59)
-#75 := (~ #60 #74)
-#71 := (not #58)
+#77 := (~ #60 #76)
+#71 := (not #52)
 #72 := (~ #71 #70)
 #73 := [sk]: #72
 #64 := (~ #63 #63)
 #65 := [refl]: #64
-#76 := [nnf-neg #65 #73]: #75
-#61 := (~ #30 #60)
+#78 := [nnf-neg #65 #73]: #77
+#61 := (~ #46 #60)
 #62 := [sk]: #61
-#78 := [trans #62 #76]: #77
+#80 := [trans #62 #78]: #79
 #15 := (implies #9 #14)
 #16 := (forall (vars (?v0 Int)) #15)
 #17 := (not #16)
-#31 := (iff #17 #30)
-#28 := (iff #16 #27)
-#25 := (iff #15 #24)
-#26 := [rewrite]: #25
-#29 := [quant-intro #26]: #28
-#32 := [monotonicity #29]: #31
-#19 := [asserted]: #17
-#33 := [mp #19 #32]: #30
-#79 := [mp~ #33 #78]: #74
-#80 := [mp #79 #86]: #84
-#87 := [and-elim #80]: #70
-#88 := [not-or-elim #87]: #56
-#81 := [and-elim #80]: #55
-[unit-resolution #81 #88]: false
-4467e2bf3cf901d999549d9b67e78dac1d5ecf0f 117 0
+#47 := (iff #17 #46)
+#44 := (iff #16 #43)
+#41 := (iff #15 #40)
+#42 := [rewrite]: #41
+#45 := [quant-intro #42]: #44
+#48 := [monotonicity #45]: #47
+#38 := [asserted]: #17
+#51 := [mp #38 #48]: #46
+#81 := [mp~ #51 #80]: #76
+#82 := [mp #81 #88]: #86
+#89 := [and-elim #82]: #70
+#90 := [not-or-elim #89]: #58
+#83 := [and-elim #82]: #57
+[unit-resolution #83 #90]: false
 unsat
+a69a9e8c5e31ec6b9da4cf96f47b52cf6b9404d9 117 0
 #2 := false
 decl f3 :: (-> S3 S2 S1)
 #10 := (:var 0 S2)
@@ -2106,120 +1846,120 @@
 #7 := f5
 #17 := (f4 f5 f6)
 #18 := (f3 #17 #10)
-#512 := (pattern #18)
+#573 := (pattern #18)
 decl f1 :: S1
 #3 := f1
 #19 := (= #18 f1)
-#57 := (not #19)
-#513 := (forall (vars (?v0 S2)) (:pat #512) #57)
+#76 := (not #19)
+#574 := (forall (vars (?v0 S2)) (:pat #573) #76)
 decl f7 :: S2
 #21 := f7
 #22 := (f3 #17 f7)
 #23 := (= #22 f1)
-#86 := (= f6 f1)
-#87 := (iff #23 #86)
+#150 := (= f6 f1)
+#151 := (iff #23 #150)
 #8 := (:var 1 S1)
 #9 := (f4 f5 #8)
 #11 := (f3 #9 #10)
-#505 := (pattern #11)
+#566 := (pattern #11)
 #13 := (= #8 f1)
 #12 := (= #11 f1)
 #14 := (iff #12 #13)
-#506 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #505) #14)
+#567 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #566) #14)
 #15 := (forall (vars (?v0 S1) (?v1 S2)) #14)
-#509 := (iff #15 #506)
-#507 := (iff #14 #14)
-#508 := [refl]: #507
-#510 := [quant-intro #508]: #509
-#58 := (~ #15 #15)
+#570 := (iff #15 #567)
+#568 := (iff #14 #14)
+#569 := [refl]: #568
+#571 := [quant-intro #569]: #570
+#62 := (~ #15 #15)
 #60 := (~ #14 #14)
 #61 := [refl]: #60
-#59 := [nnf-pos #61]: #58
-#27 := [asserted]: #15
-#56 := [mp~ #27 #59]: #15
-#511 := [mp #56 #510]: #506
-#90 := (not #506)
-#167 := (or #90 #87)
-#500 := [quant-inst #16 #21]: #167
-#176 := [unit-resolution #500 #511]: #87
+#63 := [nnf-pos #61]: #62
+#46 := [asserted]: #15
+#53 := [mp~ #46 #63]: #15
+#572 := [mp #53 #571]: #567
+#152 := (not #567)
+#228 := (or #152 #151)
+#561 := [quant-inst #16 #21]: #228
+#237 := [unit-resolution #561 #572]: #151
 decl ?v0!0 :: S2
-#67 := ?v0!0
-#68 := (f3 #17 ?v0!0)
-#69 := (= #68 f1)
-#175 := (iff #69 #86)
-#177 := (or #90 #175)
-#168 := [quant-inst #16 #67]: #177
-#166 := [unit-resolution #168 #511]: #175
-#179 := (not #175)
-#138 := (or #179 #86)
-#77 := (not #23)
-#154 := [hypothesis]: #77
-#81 := (or #69 #23)
-#64 := (forall (vars (?v0 S2)) #57)
-#80 := (or #64 #77)
-#82 := (and #81 #80)
+#66 := ?v0!0
+#67 := (f3 #17 ?v0!0)
+#68 := (= #67 f1)
+#236 := (iff #68 #150)
+#238 := (or #152 #236)
+#229 := [quant-inst #16 #66]: #238
+#227 := [unit-resolution #229 #572]: #236
+#240 := (not #236)
+#199 := (or #240 #150)
+#55 := (not #23)
+#215 := [hypothesis]: #55
+#83 := (or #68 #23)
+#79 := (forall (vars (?v0 S2)) #76)
+#82 := (or #79 #55)
+#84 := (and #83 #82)
 #20 := (exists (vars (?v0 S2)) #19)
-#32 := (not #20)
-#33 := (iff #32 #23)
-#83 := (~ #33 #82)
-#78 := (~ #77 #77)
-#79 := [refl]: #78
-#75 := (~ #23 #23)
-#76 := [refl]: #75
-#72 := (not #32)
-#73 := (~ #72 #69)
-#70 := (~ #20 #69)
-#71 := [sk]: #70
-#74 := [nnf-neg #71]: #73
-#65 := (~ #32 #64)
-#62 := (~ #57 #57)
-#63 := [refl]: #62
-#66 := [nnf-neg #63]: #65
-#84 := [nnf-pos #66 #74 #76 #79]: #83
+#48 := (not #20)
+#49 := (iff #48 #23)
+#85 := (~ #49 #84)
+#57 := (~ #23 #23)
+#65 := [refl]: #57
+#64 := (~ #55 #55)
+#56 := [refl]: #64
+#80 := (~ #48 #79)
+#77 := (~ #76 #76)
+#78 := [refl]: #77
+#81 := [nnf-neg #78]: #80
+#73 := (not #48)
+#74 := (~ #73 #68)
+#69 := (~ #20 #68)
+#70 := [sk]: #69
+#75 := [nnf-neg #70]: #74
+#86 := [nnf-pos #75 #81 #56 #65]: #85
 #24 := (iff #20 #23)
 #25 := (not #24)
-#34 := (iff #25 #33)
-#35 := [rewrite]: #34
-#28 := [asserted]: #25
-#36 := [mp #28 #35]: #33
-#85 := [mp~ #36 #84]: #82
-#88 := [and-elim #85]: #81
-#496 := [unit-resolution #88 #154]: #69
-#182 := (not #69)
-#161 := (or #179 #182 #86)
-#497 := [def-axiom]: #161
-#480 := [unit-resolution #497 #496]: #138
-#142 := [unit-resolution #480 #166]: #86
-#180 := (not #86)
-#501 := (not #87)
-#143 := (or #501 #180)
-#502 := (or #501 #23 #180)
-#503 := [def-axiom]: #502
-#144 := [unit-resolution #503 #154]: #143
-#145 := [unit-resolution #144 #142 #176]: false
-#482 := [lemma #145]: #23
-#518 := (or #513 #77)
-#519 := (iff #80 #518)
-#516 := (iff #64 #513)
-#514 := (iff #57 #57)
-#515 := [refl]: #514
-#517 := [quant-intro #515]: #516
-#520 := [monotonicity #517]: #519
-#89 := [and-elim #85]: #80
-#521 := [mp #89 #520]: #518
-#181 := [unit-resolution #521 #482]: #513
-#494 := (not #513)
-#153 := (or #494 #77)
-#158 := [quant-inst #21]: #153
-[unit-resolution #158 #482 #181]: false
-03b722cb2eea463c8897e294f3d4d3f3f1ac4061 117 0
+#50 := (iff #25 #49)
+#51 := [rewrite]: #50
+#47 := [asserted]: #25
+#54 := [mp #47 #51]: #49
+#87 := [mp~ #54 #86]: #84
+#90 := [and-elim #87]: #83
+#557 := [unit-resolution #90 #215]: #68
+#243 := (not #68)
+#222 := (or #240 #243 #150)
+#558 := [def-axiom]: #222
+#541 := [unit-resolution #558 #557]: #199
+#203 := [unit-resolution #541 #227]: #150
+#241 := (not #150)
+#562 := (not #151)
+#204 := (or #562 #241)
+#563 := (or #562 #23 #241)
+#564 := [def-axiom]: #563
+#205 := [unit-resolution #564 #215]: #204
+#206 := [unit-resolution #205 #203 #237]: false
+#543 := [lemma #206]: #23
+#579 := (or #574 #55)
+#580 := (iff #82 #579)
+#577 := (iff #79 #574)
+#575 := (iff #76 #76)
+#576 := [refl]: #575
+#578 := [quant-intro #576]: #577
+#581 := [monotonicity #578]: #580
+#91 := [and-elim #87]: #82
+#582 := [mp #91 #581]: #579
+#242 := [unit-resolution #582 #543]: #574
+#555 := (not #574)
+#214 := (or #555 #55)
+#219 := [quant-inst #21]: #214
+[unit-resolution #219 #543 #242]: false
 unsat
+fdf61e060f49731790f4d6c8f9b26c21349c60b3 117 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f7 :: S1
 #25 := f7
-#140 := (= f7 f1)
+#206 := (= f7 f1)
 decl f3 :: (-> S3 S2 S1)
 decl f6 :: S2
 #20 := f6
@@ -2229,109 +1969,109 @@
 #26 := (f4 f5 f7)
 #30 := (f3 #26 f6)
 #31 := (= #30 f1)
-#229 := (iff #31 #140)
+#292 := (iff #31 #206)
 #10 := (:var 0 S2)
 #8 := (:var 1 S1)
 #9 := (f4 f5 #8)
 #11 := (f3 #9 #10)
-#559 := (pattern #11)
+#622 := (pattern #11)
 #13 := (= #8 f1)
 #12 := (= #11 f1)
 #14 := (iff #12 #13)
-#560 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #559) #14)
+#623 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #622) #14)
 #15 := (forall (vars (?v0 S1) (?v1 S2)) #14)
-#563 := (iff #15 #560)
-#561 := (iff #14 #14)
-#562 := [refl]: #561
-#564 := [quant-intro #562]: #563
-#71 := (~ #15 #15)
-#67 := (~ #14 #14)
-#68 := [refl]: #67
-#72 := [nnf-pos #68]: #71
-#35 := [asserted]: #15
-#65 := [mp~ #35 #72]: #15
-#565 := [mp #65 #564]: #560
-#232 := (not #560)
-#548 := (or #232 #229)
-#207 := [quant-inst #25 #20]: #548
-#234 := [unit-resolution #207 #565]: #229
+#626 := (iff #15 #623)
+#624 := (iff #14 #14)
+#625 := [refl]: #624
+#627 := [quant-intro #625]: #626
+#73 := (~ #15 #15)
+#71 := (~ #14 #14)
+#72 := [refl]: #71
+#74 := [nnf-pos #72]: #73
+#54 := [asserted]: #15
+#62 := [mp~ #54 #74]: #15
+#628 := [mp #62 #627]: #623
+#295 := (not #623)
+#611 := (or #295 #292)
+#270 := [quant-inst #25 #20]: #611
+#297 := [unit-resolution #270 #628]: #292
 decl ?v0!3 :: S2
-#121 := ?v0!3
-#122 := (f3 #26 ?v0!3)
-#123 := (= #122 f1)
-#233 := (iff #123 #140)
-#236 := (or #232 #233)
-#215 := [quant-inst #25 #121]: #236
-#235 := [unit-resolution #215 #565]: #233
-#551 := (not #233)
-#536 := (or #551 #140)
-#131 := (not #31)
+#120 := ?v0!3
+#123 := (f3 #26 ?v0!3)
+#124 := (= #123 f1)
+#296 := (iff #124 #206)
+#299 := (or #295 #296)
+#278 := [quant-inst #25 #120]: #299
+#298 := [unit-resolution #278 #628]: #296
+#614 := (not #296)
+#599 := (or #614 #206)
+#108 := (not #31)
 #27 := (f3 #26 #10)
-#591 := (pattern #27)
+#654 := (pattern #27)
 #28 := (= #27 f1)
-#113 := (not #28)
-#592 := (forall (vars (?v0 S2)) (:pat #591) #113)
-#141 := [hypothesis]: #31
-#597 := (or #592 #131)
-#118 := (forall (vars (?v0 S2)) #113)
-#134 := (or #118 #131)
-#598 := (iff #134 #597)
-#595 := (iff #118 #592)
-#593 := (iff #113 #113)
-#594 := [refl]: #593
-#596 := [quant-intro #594]: #595
-#599 := [monotonicity #596]: #598
-#135 := (or #123 #31)
-#136 := (and #135 #134)
+#132 := (not #28)
+#655 := (forall (vars (?v0 S2)) (:pat #654) #132)
+#207 := [hypothesis]: #31
+#660 := (or #655 #108)
+#135 := (forall (vars (?v0 S2)) #132)
+#138 := (or #135 #108)
+#661 := (iff #138 #660)
+#658 := (iff #135 #655)
+#656 := (iff #132 #132)
+#657 := [refl]: #656
+#659 := [quant-intro #657]: #658
+#662 := [monotonicity #659]: #661
+#139 := (or #124 #31)
+#140 := (and #139 #138)
 #29 := (exists (vars (?v0 S2)) #28)
-#41 := (not #29)
-#42 := (iff #41 #31)
-#137 := (~ #42 #136)
-#132 := (~ #131 #131)
-#133 := [refl]: #132
-#129 := (~ #31 #31)
-#130 := [refl]: #129
-#126 := (not #41)
-#127 := (~ #126 #123)
-#124 := (~ #29 #123)
-#125 := [sk]: #124
-#128 := [nnf-neg #125]: #127
-#119 := (~ #41 #118)
-#114 := (~ #113 #113)
-#117 := [refl]: #114
-#120 := [nnf-neg #117]: #119
-#138 := [nnf-pos #120 #128 #130 #133]: #137
+#57 := (not #29)
+#58 := (iff #57 #31)
+#141 := (~ #58 #140)
+#81 := (~ #31 #31)
+#119 := [refl]: #81
+#109 := (~ #108 #108)
+#80 := [refl]: #109
+#136 := (~ #57 #135)
+#133 := (~ #132 #132)
+#134 := [refl]: #133
+#137 := [nnf-neg #134]: #136
+#129 := (not #57)
+#130 := (~ #129 #124)
+#125 := (~ #29 #124)
+#126 := [sk]: #125
+#131 := [nnf-neg #126]: #130
+#142 := [nnf-pos #131 #137 #80 #119]: #141
 #32 := (iff #29 #31)
 #33 := (not #32)
-#43 := (iff #33 #42)
-#44 := [rewrite]: #43
-#37 := [asserted]: #33
-#45 := [mp #37 #44]: #42
-#139 := [mp~ #45 #138]: #136
-#143 := [and-elim #139]: #134
-#600 := [mp #143 #599]: #597
-#230 := [unit-resolution #600 #141]: #592
-#547 := (not #592)
-#220 := (or #547 #131)
-#221 := [quant-inst #20]: #220
-#554 := [unit-resolution #221 #141 #230]: false
-#555 := [lemma #554]: #131
-#142 := [and-elim #139]: #135
-#199 := [unit-resolution #142 #555]: #123
-#144 := (not #123)
-#231 := (or #551 #144 #140)
-#222 := [def-axiom]: #231
-#537 := [unit-resolution #222 #199]: #536
-#538 := [unit-resolution #537 #235]: #140
-#553 := (not #140)
-#212 := (not #229)
-#539 := (or #212 #553)
-#549 := (or #212 #31 #553)
-#208 := [def-axiom]: #549
-#540 := [unit-resolution #208 #555]: #539
-[unit-resolution #540 #538 #234]: false
-d52a85a56d8c1a29429987c40f8741cebe859405 61 0
+#59 := (iff #33 #58)
+#60 := [rewrite]: #59
+#56 := [asserted]: #33
+#63 := [mp #56 #60]: #58
+#143 := [mp~ #63 #142]: #140
+#147 := [and-elim #143]: #138
+#663 := [mp #147 #662]: #660
+#293 := [unit-resolution #663 #207]: #655
+#610 := (not #655)
+#283 := (or #610 #108)
+#284 := [quant-inst #20]: #283
+#617 := [unit-resolution #284 #207 #293]: false
+#618 := [lemma #617]: #108
+#146 := [and-elim #143]: #139
+#262 := [unit-resolution #146 #618]: #124
+#208 := (not #124)
+#294 := (or #614 #208 #206)
+#285 := [def-axiom]: #294
+#600 := [unit-resolution #285 #262]: #599
+#601 := [unit-resolution #600 #298]: #206
+#616 := (not #206)
+#275 := (not #292)
+#602 := (or #275 #616)
+#612 := (or #275 #31 #616)
+#271 := [def-axiom]: #612
+#603 := [unit-resolution #271 #618]: #602
+[unit-resolution #603 #601 #297]: false
 unsat
+5c792581e65682628e5c59ca9f3f8801e6aeba72 61 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2344,92 +2084,92 @@
 #18 := f5
 #19 := (f3 f5)
 #20 := (= #19 f1)
-#29 := (not #9)
-#30 := (or #29 #20)
-#33 := (not #30)
+#45 := (not #9)
+#46 := (or #45 #20)
+#49 := (not #46)
 #21 := (implies #9 #20)
 #22 := (not #21)
-#34 := (iff #22 #33)
-#31 := (iff #21 #30)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#25 := [asserted]: #22
-#36 := [mp #25 #35]: #33
-#37 := [not-or-elim #36]: #9
+#50 := (iff #22 #49)
+#47 := (iff #21 #46)
+#48 := [rewrite]: #47
+#51 := [monotonicity #48]: #50
+#44 := [asserted]: #22
+#54 := [mp #44 #51]: #49
+#52 := [not-or-elim #54]: #9
 #10 := (:var 0 S2)
 #11 := (f3 #10)
-#491 := (pattern #11)
+#550 := (pattern #11)
 #12 := (= #11 f1)
 #15 := (not #12)
-#492 := (forall (vars (?v0 S2)) (:pat #491) #15)
+#551 := (forall (vars (?v0 S2)) (:pat #550) #15)
 #16 := (forall (vars (?v0 S2)) #15)
-#495 := (iff #16 #492)
-#493 := (iff #15 #15)
-#494 := [refl]: #493
-#496 := [quant-intro #494]: #495
+#554 := (iff #16 #551)
+#552 := (iff #15 #15)
+#553 := [refl]: #552
+#555 := [quant-intro #553]: #554
 #13 := (exists (vars (?v0 S2)) #12)
 #14 := (not #13)
-#71 := (~ #14 #16)
-#59 := (~ #15 #15)
-#60 := [refl]: #59
-#72 := [nnf-neg #60]: #71
+#60 := (~ #14 #16)
+#63 := (~ #15 #15)
+#64 := [refl]: #63
+#72 := [nnf-neg #64]: #60
 #17 := (if #9 #14 #16)
-#68 := (iff #17 #14)
+#70 := (iff #17 #14)
 #1 := true
 #65 := (if true #14 #16)
-#62 := (iff #65 #14)
-#67 := [rewrite]: #62
+#68 := (iff #65 #14)
+#69 := [rewrite]: #68
 #66 := (iff #17 #65)
-#63 := (iff #9 true)
-#64 := [iff-true #37]: #63
-#61 := [monotonicity #64]: #66
-#69 := [trans #61 #67]: #68
-#24 := [asserted]: #17
-#70 := [mp #24 #69]: #14
-#73 := [mp~ #70 #72]: #16
-#497 := [mp #73 #496]: #492
-#75 := (not #492)
-#162 := (or #75 #29)
-#76 := [quant-inst #7]: #162
-[unit-resolution #76 #497 #37]: false
-4ee0a4e3f4c5dbd20f1be18c405a836de5af68d2 17 0
+#61 := (iff #9 true)
+#62 := [iff-true #52]: #61
+#67 := [monotonicity #62]: #66
+#71 := [trans #67 #69]: #70
+#43 := [asserted]: #17
+#59 := [mp #43 #71]: #14
+#57 := [mp~ #59 #72]: #16
+#556 := [mp #57 #555]: #551
+#135 := (not #551)
+#221 := (or #135 #45)
+#136 := [quant-inst #7]: #221
+[unit-resolution #136 #556 #52]: false
 unsat
+0ce3a745d60cdbf0fe26b07c5e76de09d459dd25 17 0
 #2 := false
 #7 := 3::Int
 #8 := (= 3::Int 3::Int)
 #9 := (not #8)
-#23 := (iff #9 false)
+#38 := (iff #9 false)
 #1 := true
-#18 := (not true)
-#21 := (iff #18 false)
-#22 := [rewrite]: #21
-#19 := (iff #9 #18)
-#16 := (iff #8 true)
-#17 := [rewrite]: #16
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#11 := [asserted]: #9
-[mp #11 #24]: false
-8eb471f821b833f83e55527f320dd341eddcf700 17 0
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #9 #33)
+#31 := (iff #8 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#30 := [asserted]: #9
+[mp #30 #39]: false
 unsat
+1532b1dde71eb42ca0a012bb62d9bbadf37fa326 17 0
 #2 := false
 #7 := 3::Real
 #8 := (= 3::Real 3::Real)
 #9 := (not #8)
-#23 := (iff #9 false)
+#38 := (iff #9 false)
 #1 := true
-#18 := (not true)
-#21 := (iff #18 false)
-#22 := [rewrite]: #21
-#19 := (iff #9 #18)
-#16 := (iff #8 true)
-#17 := [rewrite]: #16
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#11 := [asserted]: #9
-[mp #11 #24]: false
-c53677498fbbc0279d49e170ecebacd85ec37066 26 0
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #9 #33)
+#31 := (iff #8 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#30 := [asserted]: #9
+[mp #30 #39]: false
 unsat
+94425abeeb45b838fcb1ab9c8323796e36a681e5 26 0
 #2 := false
 #10 := 4::Int
 #8 := 1::Int
@@ -2437,26 +2177,26 @@
 #9 := (+ 3::Int 1::Int)
 #11 := (= #9 4::Int)
 #12 := (not #11)
-#32 := (iff #12 false)
+#47 := (iff #12 false)
 #1 := true
-#27 := (not true)
-#30 := (iff #27 false)
-#31 := [rewrite]: #30
-#28 := (iff #12 #27)
-#25 := (iff #11 true)
-#19 := (= 4::Int 4::Int)
-#23 := (iff #19 true)
-#24 := [rewrite]: #23
-#20 := (iff #11 #19)
-#18 := [rewrite]: #11
-#21 := [monotonicity #18]: #20
-#26 := [trans #21 #24]: #25
-#29 := [monotonicity #26]: #28
-#33 := [trans #29 #31]: #32
-#14 := [asserted]: #12
-[mp #14 #33]: false
-7e6f4869abf700172472e795c9b4c6c255ad1fbe 37 0
+#42 := (not true)
+#45 := (iff #42 false)
+#46 := [rewrite]: #45
+#43 := (iff #12 #42)
+#40 := (iff #11 true)
+#35 := (= 4::Int 4::Int)
+#38 := (iff #35 true)
+#39 := [rewrite]: #38
+#36 := (iff #11 #35)
+#34 := [rewrite]: #11
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#33 := [asserted]: #12
+[mp #33 #48]: false
 unsat
+673f00f23a414ea8ab1557752d859ea787c89c1b 41 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -2470,31 +2210,35 @@
 #11 := (+ f3 #10)
 #14 := (= #11 #13)
 #15 := (not #14)
-#40 := (iff #15 false)
+#59 := (iff #15 false)
 #1 := true
-#35 := (not true)
-#38 := (iff #35 false)
+#54 := (not true)
+#57 := (iff #54 false)
+#58 := [rewrite]: #57
+#55 := (iff #15 #54)
+#52 := (iff #14 true)
+#47 := (= #11 #11)
+#50 := (iff #47 true)
+#51 := [rewrite]: #50
+#48 := (iff #14 #47)
+#45 := (= #13 #11)
+#37 := (+ f3 f5)
+#40 := (+ f4 #37)
+#43 := (= #40 #11)
+#44 := [rewrite]: #43
+#41 := (= #13 #40)
+#38 := (= #12 #37)
 #39 := [rewrite]: #38
-#36 := (iff #15 #35)
-#33 := (iff #14 true)
-#24 := (+ f4 f5 f3)
-#21 := (+ f3 f4 f5)
-#27 := (= #21 #24)
-#31 := (iff #27 true)
-#32 := [rewrite]: #31
-#28 := (iff #14 #27)
-#25 := (= #13 #24)
-#26 := [rewrite]: #25
-#22 := (= #11 #21)
-#23 := [rewrite]: #22
-#29 := [monotonicity #23 #26]: #28
-#34 := [trans #29 #32]: #33
-#37 := [monotonicity #34]: #36
-#41 := [trans #37 #39]: #40
-#17 := [asserted]: #15
-[mp #17 #41]: false
-a824144d3163a12246d06059fe9af86abcf7fb10 48 0
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#56 := [monotonicity #53]: #55
+#60 := [trans #56 #58]: #59
+#36 := [asserted]: #15
+[mp #36 #60]: false
 unsat
+1f5e59fc26e6d68939e39d2fe658ebc1a264f509 35 0
 #2 := false
 #8 := 3::Int
 #9 := 8::Int
@@ -2503,46 +2247,34 @@
 #7 := 5::Int
 #12 := (< 5::Int #11)
 #13 := (not #12)
-#54 := (iff #13 false)
+#58 := (iff #13 false)
 #1 := true
-#49 := (not true)
-#52 := (iff #49 false)
-#53 := [rewrite]: #52
-#50 := (iff #13 #49)
-#47 := (iff #12 true)
-#32 := (<= 8::Int 5::Int)
-#33 := (not #32)
-#45 := (iff #33 true)
-#40 := (not false)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#41 := (iff #33 #40)
-#38 := (iff #32 false)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#36 := (iff #12 #33)
-#29 := (< 5::Int 8::Int)
-#34 := (iff #29 #33)
-#35 := [rewrite]: #34
-#30 := (iff #12 #29)
-#27 := (= #11 8::Int)
-#22 := (if true 8::Int 3::Int)
-#25 := (= #22 8::Int)
-#26 := [rewrite]: #25
-#23 := (= #11 #22)
-#20 := (iff #10 true)
-#21 := [rewrite]: #20
-#24 := [monotonicity #21]: #23
-#28 := [trans #24 #26]: #27
-#31 := [monotonicity #28]: #30
-#37 := [trans #31 #35]: #36
-#48 := [trans #37 #46]: #47
-#51 := [monotonicity #48]: #50
-#55 := [trans #51 #53]: #54
-#15 := [asserted]: #13
-[mp #15 #55]: false
-8b049c9c7421dfc8c62639e17338cbd84ff8a029 216 0
+#53 := (not true)
+#56 := (iff #53 false)
+#57 := [rewrite]: #56
+#54 := (iff #13 #53)
+#51 := (iff #12 true)
+#46 := (< 5::Int 8::Int)
+#49 := (iff #46 true)
+#50 := [rewrite]: #49
+#47 := (iff #12 #46)
+#44 := (= #11 8::Int)
+#39 := (if true 8::Int 3::Int)
+#42 := (= #39 8::Int)
+#43 := [rewrite]: #42
+#40 := (= #11 #39)
+#37 := (iff #10 true)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#45 := [trans #41 #43]: #44
+#48 := [monotonicity #45]: #47
+#52 := [trans #48 #50]: #51
+#55 := [monotonicity #52]: #54
+#59 := [trans #55 #57]: #58
+#34 := [asserted]: #13
+[mp #34 #59]: false
+unsat
+e7f019160a38d08774f8a2e816f96aa54c924fba 216 0
 #2 := false
 #10 := 0::Real
 decl f4 :: Real
@@ -2759,7 +2491,7 @@
 #240 := [unit-resolution #189 #239]: #155
 [th-lemma arith farkas -1 -1 1 1 #240 #217 #127 #238]: false
 unsat
-2130c0a211865d32db21d0798ef35056b373441f 42 0
+9e5f324cc33eb4abf1be11d977dfdec45557ae46 42 0
 #2 := false
 decl f3 :: (-> S1 S2)
 decl f1 :: S1
@@ -2802,7 +2534,7 @@
 #35 := [asserted]: #14
 [mp #35 #61]: false
 unsat
-962a57e270a873c5fccc9aa943c37c86be9989bb 49 0
+cc322c3513bba37f77e905b379b26c79239b69a4 49 0
 #2 := false
 #12 := 1::Int
 decl f3 :: Int
@@ -2852,7 +2584,7 @@
 #36 := [asserted]: #15
 [mp #36 #70]: false
 unsat
-2afccb348df223d2e9a13eda20d89b37612cbef1 63 0
+75c4589e7d7ab0bf262babccc302883b71f9a923 63 0
 #2 := false
 #14 := 0::Int
 decl f4 :: Int
@@ -2916,7 +2648,7 @@
 #83 := [mp #59 #82]: #70
 [mp #83 #95]: false
 unsat
-b910449e10d880c681c7024f160f5239d3b9f56e 35 0
+31769d5312feac1587c3f744c5c881fb2d86e85f 35 0
 #2 := false
 #9 := 5::Int
 #7 := 2::Int
@@ -2952,7 +2684,7 @@
 #33 := [asserted]: #12
 [mp #33 #57]: false
 unsat
-31cab35b749e92f0f69d54060a3adf77628fdcc3 45 0
+f8ba8c3ed7f7c7d5e49139b62e145fc6eee338f1 45 0
 #2 := false
 #14 := 4::Real
 decl f4 :: Real
@@ -2998,7 +2730,7 @@
 #67 := [mp #43 #66]: #58
 [th-lemma arith farkas 7 3/2 1 #67 #54 #45]: false
 unsat
-70d100587a22b3aac8b6223ca69d10fc4232fd77 59 0
+c61600e5a5dab4b2c2864caededa0b50f81df696 59 0
 #2 := false
 #19 := (not false)
 decl f4 :: Int
@@ -3058,7 +2790,7 @@
 #41 := [asserted]: #21
 [mp #41 #78]: false
 unsat
-b1114e42b528a3f3368f02584a60d74e21ce36f3 439 0
+7f98d11cd70eeb0eb4aea9722e1648cd3cfdbe2c 439 0
 #2 := false
 decl f4 :: Int
 #8 := f4
@@ -3498,7 +3230,7 @@
 #497 := [unit-resolution #456 #496 #490]: #20
 [unit-resolution #497 #501]: false
 unsat
-85045dafb5b814ffc5cbcd5ff6b6686db0c031a5 2215 0
+6e7ef563e385e00340c905e5fb44172a278ff733 2215 0
 #2 := false
 decl f12 :: Int
 #52 := f12
@@ -5714,7 +5446,7 @@
 #2264 := [unit-resolution #1544 #2263 #2262]: #65
 [unit-resolution #658 #2264 #2259]: false
 unsat
-c69d5d4255e8606842bc591eb455581408ecf173 52 0
+70bd6436662c1fd4b8c8a6f696914593051990e6 52 0
 #2 := false
 #11 := 1::Real
 decl f3 :: Real
@@ -5767,7 +5499,7 @@
 #37 := [asserted]: #16
 [mp #37 #73]: false
 unsat
-831d28afa9cf941930d32bdaa862b9ddf2a718a5 341 0
+68356683e9cf34e34d65674fa3c8a62835e193a4 341 0
 #2 := false
 #24 := 0::Int
 decl f3 :: Int
@@ -6109,7 +5841,7 @@
 #652 := [unit-resolution #646 #666]: #755
 [unit-resolution #652 #650 #649]: false
 unsat
-939e3758e2e10d03fb65ec30390e9e486d20dc8e 343 0
+1432b33c6328a1ffc0a07c49f1ba0f71ab4e0de0 343 0
 #2 := false
 #23 := 0::Int
 decl f3 :: Int
@@ -6453,7 +6185,7 @@
 #635 := [unit-resolution #634 #645]: #750
 [unit-resolution #635 #630 #629]: false
 unsat
-74ff14110bbb0018e1d9b2bb1ca338d7d58b9ba7 101 0
+6c2df05479a46eb0dc1434ea9ed59f4fae72c26e 101 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -6555,7 +6287,7 @@
 #122 := [th-lemma arith triangle-eq]: #121
 [unit-resolution #122 #118 #111 #45]: false
 unsat
-5d74029d261367c40f523c70d0425e39aa05656a 916 0
+9f8072a1ad3de2c920c120b81de67bceefc50c87 916 0
 #2 := false
 #22 := 1::Int
 decl f3 :: (-> S2 Int Int)
@@ -7472,7 +7204,7 @@
 #1665 := [unit-resolution #1640 #1664 #1654 #1663]: #1266
 [unit-resolution #1468 #1665 #1662]: false
 unsat
-708c54fa92a38587409efdd16c74ec37e20e2b24 24 0
+0eb09039097aac0255a0090f04ca5df53ea2d10a 24 0
 #2 := false
 #7 := (exists (vars (?v0 Int)) false)
 #8 := (not #7)
@@ -7497,7 +7229,7 @@
 #30 := [asserted]: #9
 [mp #30 #46]: false
 unsat
-fc6d81b59098b37bdb85891cea739cff88a4cdb6 24 0
+f966ee970dc5619d71e606afb53aade7fa8a1452 24 0
 #2 := false
 #7 := (exists (vars (?v0 Real)) false)
 #8 := (not #7)
@@ -7522,13 +7254,13 @@
 #30 := [asserted]: #9
 [mp #30 #46]: false
 unsat
-0af127c441080d9be87ef936c6f900945a11800e 1 0
+c4f4c8220660d1979009b33a643f0927bee816b1 1 0
 unsat
-39442bd44c6b81734dce64f48a2e8cfe6d7ef53b 1 0
+db6426d59fdd57da8ca5d11de399761d1f1443de 1 0
 unsat
-92a9cdc5e3be1caf16415f275672ba72e11bb4d1 1 0
+e7ef76d73ccb9bc09d2b5368495a7a59d1bae3dc 1 0
 unsat
-75d80d6072d013ed3e949f6837066b1429f3d619 54 0
+a2da5fa16f268876e3dcbc1874e34212d0a36218 54 0
 #2 := false
 #11 := 1::Int
 #8 := 0::Int
@@ -7583,7 +7315,7 @@
 #136 := [trans #134 #72]: #135
 [mp #136 #138]: false
 unsat
-92fd6555d299024a17bfc17027870ad0919243ff 82 0
+46597b09986e0d4d045609318eeba242d6132e5c 82 0
 #2 := false
 #8 := (:var 0 Int)
 #10 := 0::Int
@@ -7666,7 +7398,7 @@
 #37 := [asserted]: #17
 [mp #37 #103]: false
 unsat
-46de1bc1af5e350ddd1b0ad779cbf855c1a471a1 78 0
+aea13e787f95ed97feac7bd1dfc69160a5b8be70 78 0
 #2 := false
 #8 := (:var 0 Int)
 #10 := 2::Int
@@ -7745,7 +7477,7 @@
 #39 := [asserted]: #18
 [mp #39 #99]: false
 unsat
-b862ad22dd9ecdb24d22ad71d0b47057aeade516 56 0
+e6703a33319f0e5148dba82e8205956f98cd7b63 56 0
 #2 := false
 #12 := (:var 0 Int)
 #7 := 2::Int
@@ -7802,7 +7534,7 @@
 #38 := [asserted]: #17
 [mp #38 #78]: false
 unsat
-d22de288e1e6fa553e6f3d0d9c4c72eaac8ba9f7 89 0
+8a770e2a15f5bbced47daef21d1d322e18a383fb 89 0
 #2 := false
 #7 := 2::Int
 decl ?v0!1 :: Int
@@ -7892,7 +7624,7 @@
 #174 := [unit-resolution #172 #84]: #173
 [unit-resolution #174 #111 #110]: false
 unsat
-bbb79358278efd2f50b5374712065c2bd5509427 89 0
+c93368b1109e5b13c7d8bc3c33d69c60ba539127 89 0
 #2 := false
 #7 := 0::Int
 decl ?v0!0 :: Int
@@ -7982,7 +7714,7 @@
 #178 := [unit-resolution #165 #97]: #177
 [unit-resolution #178 #176 #173]: false
 unsat
-f8d6fcfb2c146004937d3e2687f80fb7b9e71e08 84 0
+8578dab7bf88c7d119f9af2e5f7eaf948f1bdb87 84 0
 WARNING: failed to find a pattern for quantifier (quantifier id: k!10)
 #2 := false
 #8 := 0::Int
@@ -8067,7 +7799,7 @@
 #63 := [mp~ #61 #70]: #56
 [unit-resolution #63 #529]: false
 unsat
-98ea18bb7ed4825aeaf82772b27a9684cb2bed9f 165 0
+252d255c564463d916bc68156eea8dbe7fb0be0a 165 0
 WARNING: failed to find a pattern for quantifier (quantifier id: k!10)
 #2 := false
 #7 := 0::Int
@@ -8233,7 +7965,7 @@
 #563 := [unit-resolution #136 #574]: #62
 [unit-resolution #563 #570]: false
 unsat
-41a9dc7919d6df65f060b1b899094fbf1d9ad6ba 63 0
+f6f0c702e5caae5d1fc0a3e7862c44d261de6d47 63 0
 #2 := false
 #15 := 1::Int
 #12 := (:var 1 Int)
@@ -8297,7 +8029,7 @@
 #40 := [asserted]: #19
 [mp #40 #87]: false
 unsat
-6912c1751294e15845c5073be78e1e9aebf84cf9 101 0
+302156fb98e1f9b5657a3c89c418d5e1813f274a 101 0
 #2 := false
 #7 := 0::Int
 decl ?v1!1 :: Int
@@ -8399,7 +8131,7 @@
 #125 := [and-elim #108]: #88
 [th-lemma arith farkas 1 1 1 #125 #124 #126]: false
 unsat
-602658d510491230a33b4d0db4cf9ef889fff5d2 99 0
+bcc217c52aea6d752e93b67733058589bedd0079 99 0
 #2 := false
 #39 := -1::Int
 decl ?v1!1 :: Int
@@ -8499,7 +8231,7 @@
 #180 := [unit-resolution #179 #118]: #107
 [unit-resolution #180 #120]: false
 unsat
-985c93e0a5f1ce8a2da959ba74511df9451610ad 143 0
+8a78832884e41117489fba88c88de0b5cacb832a 143 0
 #2 := false
 #10 := 0::Int
 #8 := (:var 0 Int)
@@ -8643,7 +8375,7 @@
 #160 := [mp #128 #159]: #155
 [mp #160 #183]: false
 unsat
-63d20accf8ad42641c987f5442607c5721cb43fb 67 0
+ea961570b37add45bc63c8f0e3f6ddc653b28f42 67 0
 ERROR: line 11 column 83: invalid pattern.
 #2 := false
 decl f3 :: Int
@@ -8711,7 +8443,7 @@
 #37 := [asserted]: #16
 [mp #37 #86]: false
 unsat
-1cfe9564946e052422f3734e258f62595f0a9412 54 0
+cc87973002902704adc7d85df3fb8affa4a44929 54 0
 #2 := false
 #10 := 1::Int
 decl ?v1!0 :: Int
@@ -8766,9 +8498,9 @@
 #139 := [unit-resolution #138 #78]: #62
 [unit-resolution #139 #79]: false
 unsat
-c22c22b3ba012feae782c7385953ed357b59b45c 1 0
+1d9e76ccce459de8771731a1c234c6d9e2aa3527 1 0
 unsat
-341447bcaf93988f0b7d6678a14d4c50e4db9b7f 75 0
+e46d82e75c1853418f786555dbc1a12ba5d54f6e 75 0
 #2 := false
 #9 := 1::Int
 decl f5 :: Int
@@ -8844,7 +8576,7 @@
 #40 := [asserted]: #19
 [mp #40 #94]: false
 unsat
-d5d80b9320d4c205de1be4e0283a62bbca18eb64 62 0
+60242f59c15f3933ccbd1d4ed5e4e07293c9dd72 62 0
 #2 := false
 decl f4 :: Real
 #9 := f4
@@ -8907,7 +8639,7 @@
 #40 := [asserted]: #19
 [mp #40 #82]: false
 unsat
-e45dae900e2e0eeb849f9514267495ab98a945b1 141 0
+3ecab0bc7101d63e72b4fb9ac8a649c491da9533 141 0
 #2 := false
 decl f6 :: Int
 #12 := f6
@@ -9049,7 +8781,7 @@
 #53 := [asserted]: #32
 [mp #53 #158]: false
 unsat
-7e345b8256329432a24c0098659af0d0da3f8b9c 37 0
+43550507f510d81bc4fb9ef8c1fd14424eaa9070 37 0
 #2 := false
 #10 := 0::Int
 decl f3 :: Int
@@ -9087,7 +8819,7 @@
 #53 := [not-or-elim #52]: #11
 [th-lemma arith farkas 1 1 1 #53 #57 #55]: false
 unsat
-173dcd56c4eb3955c1a0afe5894b9f20d665d5a4 225 0
+f5067fa58c623377db978838e2294684a3fe7bb2 225 0
 #2 := false
 #24 := 0::Int
 decl f5 :: (-> S4 S3 Int)
@@ -9313,7 +9045,7 @@
 #527 := [unit-resolution #526 #425]: #550
 [th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 #529 #527 #515 #524]: false
 unsat
-10b9b3d3225e279927703a7138fa37357bc1a2b4 55 0
+4225ab6372dca8ebf6ba05ad5ea39526a6e2a129 55 0
 #2 := false
 #74 := 4::Int
 decl f3 :: (-> S2 S3 Int)
@@ -9369,7 +9101,7 @@
 #301 := [unit-resolution #216 #88]: #76
 [unit-resolution #301 #89]: false
 unsat
-83084ab04d727810863c900d9684257895074106 270 0
+6b3381ed26844d4b649300d18bdcc49988752527 270 0
 #2 := false
 #7 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -9640,7 +9372,7 @@
 #90 := [mp #57 #89]: #77
 [th-lemma arith farkas -1 -1 1 #90 #519 #518]: false
 unsat
-0c91cb6bf3bcb8a10a4871e9ec475b571f03d883 269 0
+b3acce989065928cb3ce15ce4113a910c6fff5aa 269 0
 #2 := false
 #7 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -9910,7 +9642,7 @@
 #580 := [unit-resolution #596 #594]: #654
 [th-lemma arith farkas 1 -1 -1 1 #600 #119 #580 #609]: false
 unsat
-883f0bd08ff2fcce6dafab7dcff61923fd895e14 147 0
+4f28f42d6f2b6fbb94a4ff1e55f0a807d8afe0f8 147 0
 #2 := false
 #10 := 0::Int
 decl f7 :: Int
@@ -10058,7 +9790,7 @@
 #338 := [unit-resolution #616 #618]: #641
 [th-lemma arith farkas 1 1 1 #338 #262 #629]: false
 unsat
-0f3d54ed51fa30b450e38c23afe57212bbebc6dd 431 0
+7e6da58556dd56d85be0ea32c44b6f00c868dac5 431 0
 WARNING: For problems containing quantifiers, the model finding capabilities of Z3 work better when the formula does not contain nested quantifiers. You can use PULL_NESTED_QUANTIFIERS=true to eliminate nested quantifiers.
 #2 := false
 #446 := -1::Int
@@ -10490,7 +10222,7 @@
 #150 := [not-or-elim #147]: #149
 [th-lemma arith farkas -4 1 1 #150 #622 #575]: false
 unsat
-fd4d98b0eed13792693ae0a8136c6836082ab811 58 0
+f0add7d14def5da0b06e595882e28df041b2cf29 58 0
 #2 := false
 decl f8 :: S2
 #18 := f8
@@ -10549,7 +10281,7 @@
 #55 := [not-or-elim #54]: #53
 [unit-resolution #55 #214]: false
 unsat
-54ed94e7408ff82930a92d4010c74312402c8de2 106 0
+86345bce2206ce27e174d4b1d6d3e0182564f8a1 106 0
 #2 := false
 decl f11 :: (-> S9 S5 S3)
 decl f16 :: S5
@@ -10656,7 +10388,7 @@
 #80 := [not-or-elim #77]: #79
 [unit-resolution #80 #217]: false
 unsat
-a973ebe0ddefe8f57f45047d94130cd1cb03b18f 113 0
+7180d528e452ef46d73483bf56a7d7018ee1b306 113 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
 decl f8 :: S3
@@ -10770,7 +10502,7 @@
 #87 := [not-or-elim #84]: #86
 [unit-resolution #87 #529]: false
 unsat
-bb72677b6383b269d7de6046448ed8d87d1bc4ef 74 0
+1c419ffe565f74df1755b00362bfce413a0bbb21 74 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -10845,7 +10577,7 @@
 #80 := [mp #69 #79]: #77
 [mp #80 #82]: false
 unsat
-53946fb2c677a4b873691332b928354017b0ad0e 106 0
+3e34e44b63355e42671aee2d18ee4707650d4862 106 0
 #2 := false
 decl f7 :: S3
 #19 := f7
@@ -10952,7 +10684,7 @@
 #215 := [quant-inst #19]: #210
 [unit-resolution #215 #575 #555]: false
 unsat
-b9731ef54c4e3499fb2c009710dd563fdc4be6ee 29 0
+1396ebdf2db554fa58d5de90d7aa27d442610f3c 29 0
 #2 := false
 #1 := true
 decl f1 :: S1
@@ -10982,7 +10714,7 @@
 #36 := [asserted]: #15
 [mp #36 #45]: false
 unsat
-c1459ffeaaac12de208e5b699c20294611368ff4 29 0
+8fa5494ea43f950aa9add5e070d1d34c34426a1b 29 0
 #2 := false
 #1 := true
 decl f1 :: S1
@@ -11012,7 +10744,7 @@
 #36 := [asserted]: #15
 [mp #36 #45]: false
 unsat
-bf2cd5b03536b5bd0602eda620854302cd150049 8 0
+d1294cbafaacf645819bcfb92e5d2cec580195a2 8 0
 #2 := false
 #1 := true
 #23 := (not true)
@@ -11021,7 +10753,7 @@
 #46 := [asserted]: #23
 [mp #46 #48]: false
 unsat
-89bfa27ccdaa7dcf714e523cef143bce280239ad 113 0
+352ef3cbf5b05cf656dc82749237c3b497c01e97 113 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -11135,7 +10867,7 @@
 #71 := [not-or-elim #70]: #69
 [unit-resolution #71 #525]: false
 unsat
-273bebb141dbf0be0689bc04e07d9801bbd88484 424 0
+97b86f0e8383146ce18f7c02ef8a6d70afcb4b8a 424 0
 #2 := false
 decl f9 :: (-> S6 S7 S7)
 decl f12 :: S7
@@ -11560,7 +11292,7 @@
 #145 := [asserted]: #91
 [unit-resolution #145 #373]: false
 unsat
-8ed6ae59787ef073a0f2ee12e54e0a9e18c847b1 24 0
+7a4c9001ff099c38b0602b196e3bc37f301b1551 24 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -11585,7 +11317,7 @@
 #34 := [asserted]: #13
 [mp #34 #43]: false
 unsat
-0a480e932cf9544226aa308a652a130c00794519 344 0
+5e86b4c9726ef5b2868f22c9ea608e9e3558803e 344 0
 #2 := false
 decl f7 :: (-> S5 Int S2)
 #28 := 6::Int
@@ -11930,9 +11662,9 @@
 #107 := [asserted]: #31
 [unit-resolution #107 #388]: false
 unsat
-e9a200a4c01396af8a28649e89651e82c566aea6 1 0
+013f2c4f5eccbaac1754336d2ce477a569c8d0cd 1 0
 unsat
-a1b617e98026794f4fabc7b88d3c7c6545b77aeb 95 0
+8954c874576a1a34e48535e83e9151ff299d36aa 95 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -12028,7 +11760,7 @@
 #312 := [mp #310 #308]: #298
 [unit-resolution #312 #641 #138 #139 #140]: false
 unsat
-faeea2438f581c39182be7618ceac231cf77a00a 59 0
+039d1a91fa0e9b73b0ec113d69ed107e23908fc9 59 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -12088,7 +11820,7 @@
 #339 := [quant-inst #70]: #338
 [unit-resolution #339 #673 #163]: false
 unsat
-ed7e0385c3012dbbfdc71724063f8cbb116b4c06 394 0
+3b11a1f829f51a3781652bfbc9b85f31ff6693dd 394 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
 decl f5 :: (-> S1 S3)
--- a/src/HOL/SMT_Examples/SMT_Tests.certs	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/SMT_Examples/SMT_Tests.certs	Tue Jan 01 11:36:30 2013 +0100
@@ -1,4 +1,4 @@
-23fa46bae38100075457f16458b7f980b6e9eaaa 8 0
+23d01cdabb599769b54210e40617eea3d6c91e30 8 0
 #2 := false
 #1 := true
 #7 := (not true)
@@ -7,7 +7,7 @@
 #28 := [asserted]: #7
 [mp #28 #30]: false
 unsat
-4867997399e05a82038d4f69182ea74d5c78a71f 16 0
+da9cf67daad06e6b55c8a58d39d168a3e68ef149 16 0
 #2 := false
 #7 := (not false)
 #8 := (not #7)
@@ -24,7 +24,7 @@
 #29 := [asserted]: #8
 [mp #29 #38]: false
 unsat
-cf32c4bf044ef30ccaadb4c2a904bc42cc810589 21 0
+7a1bb52ecd7d9418dd685e581c967efeb26876f4 21 0
 #2 := false
 #1 := true
 #7 := (not true)
@@ -46,7 +46,7 @@
 #30 := [asserted]: #9
 [mp #30 #43]: false
 unsat
-1ca76146d8caa3873d987c8f2b2b61e67bf99885 16 0
+6f92ca4f0e1770fcc8e653a3dc6a9a2100ac72fc 16 0
 #2 := false
 #1 := true
 #7 := (and true true)
@@ -63,7 +63,7 @@
 #29 := [asserted]: #8
 [mp #29 #38]: false
 unsat
-6fe44a8c791d15e051ebac6bd54712b11019176f 16 0
+8bfe03ac24c5a99989017691842a79e88a05ac7c 16 0
 #2 := false
 #1 := true
 #7 := (or true false)
@@ -80,7 +80,7 @@
 #29 := [asserted]: #8
 [mp #29 #38]: false
 unsat
-cd5b6483316374c04155ccdcb2bd4ec732d555bc 16 0
+5f12d6ee03b980092f8f61fd8d8cfd33a3a3aa1c 16 0
 #2 := false
 #1 := true
 #7 := (implies false true)
@@ -97,7 +97,7 @@
 #29 := [asserted]: #8
 [mp #29 #38]: false
 unsat
-1d8b1fcc54699acf56c2f7bd752c247e433581cb 24 0
+b6f361c6fc132ef6bfb658932ab99e83188e4a5c 24 0
 #2 := false
 #1 := true
 #7 := (iff false true)
@@ -122,7 +122,7 @@
 #30 := [asserted]: #9
 [mp #30 #46]: false
 unsat
-a659f050ece3306f2b1d4dcfecadbe7f96ac25b7 22 0
+22e23526a38d50ce23abbe4dbfb697891cbcd840 22 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -145,7 +145,7 @@
 #32 := [asserted]: #11
 [mp #32 #41]: false
 unsat
-075ccbca5ef8abd85cfaedf1a7322d296271c46f 30 0
+902f835133cd6a5c2f7f8ebd7c78b25a41552b0b 30 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -176,7 +176,7 @@
 #33 := [asserted]: #12
 [mp #33 #49]: false
 unsat
-aa0273c12559afb5fd359c235b02afbc8f3cc399 49 0
+e413d2599061059e7509241c4afb58a241792143 49 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -226,7 +226,7 @@
 #36 := [asserted]: #15
 [mp #36 #68]: false
 unsat
-22c928dddd46280815470bda1451161b824f3f34 21 0
+59514aaeba28f26ae6e2aa6e362e2d1af4138910 21 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -248,7 +248,7 @@
 #31 := [asserted]: #10
 [mp #31 #40]: false
 unsat
-eb161eaf2af208e84d9da7d647585602865b89ac 30 0
+3c237c6663696e3e9e3813b33e057fd540002911 30 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -279,7 +279,7 @@
 #33 := [asserted]: #12
 [mp #33 #49]: false
 unsat
-b2602e0e3e3911fa8042ad9ddbc6f102e48e88f7 48 0
+67a6978ea29dd08617f96b717aa6e108001ae5f6 48 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -328,7 +328,7 @@
 #48 := [not-or-elim #45]: #47
 [mp #48 #69]: false
 unsat
-467aa750a0af9865e5bc1b47f63cfc13f031554b 48 0
+f82a7c681aece7ed4681eb3d1ac78d727ad5a702 48 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -377,7 +377,7 @@
 #52 := [not-or-elim #51]: #11
 [mp #52 #72]: false
 unsat
-ff06b47195393e825a3f80a82c50109ac3e8bd12 46 0
+fb29bce93621dffd68841a1b3fb5a13d0bf5c688 46 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -424,7 +424,7 @@
 #56 := [not-or-elim #51]: #55
 [mp #56 #72]: false
 unsat
-a9e6ae903779155c6cefbf205c225628953e624e 35 0
+4bc7626ad30ca8d1808bcd7007aadf7e3808f557 35 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -460,7 +460,7 @@
 #36 := [asserted]: #15
 [mp #36 #53]: false
 unsat
-fb622d34475687ad69de4f4faf6a2f3bed3d41ba 35 0
+9765f42e1923ee1286e51e6aaa01fea0147bcc3c 35 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -496,7 +496,7 @@
 #36 := [asserted]: #15
 [mp #36 #53]: false
 unsat
-53094a0b951afe51834bc943782c2a61c91fc254 29 0
+53caf383c23c48b243dad428460d0b2bad5eb2a7 29 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -526,7 +526,7 @@
 #46 := [and-elim #44]: #8
 [mp #46 #52]: false
 unsat
-380c58b7f01c4eb6d1f5b709fb3a647172217808 29 0
+8a6cff36c5c734fbecce18e7f0b86cdc4b398c76 29 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -556,7 +556,7 @@
 #47 := [and-elim #44]: #8
 [mp #47 #52]: false
 unsat
-bfe8aa961b370c267ecd388cc5b7c835a7cfadff 31 0
+8ed51fcc2c7a7fe92c740f362b331dc69282b7f4 31 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -588,7 +588,7 @@
 #44 := [mp #38 #41]: #40
 [mp #44 #45]: false
 unsat
-f98cd324a1d939c466a676264b34fe6330962e34 53 0
+40fc055a5f5aa6bfe535236f4ab4452ddc7101b7 53 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -642,7 +642,7 @@
 #39 := [asserted]: #18
 [mp #39 #70]: false
 unsat
-8a92c826e93199f25eaea9a9d8eb4b750d4ce618 68 0
+2a514d849c826c123fb15c9d79d484f526c07958 68 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -711,7 +711,7 @@
 #67 := [not-or-elim #66]: #47
 [mp #67 #91]: false
 unsat
-fc4b5f359a07a487172052f71a085a338dacb4ab 80 0
+e0b09cf8a39c11d9d4bee6ec1a6a5b93b2257b06 80 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -792,7 +792,7 @@
 #105 := [unit-resolution #91 #104]: #16
 [unit-resolution #76 #105 #103]: false
 unsat
-a7b9e3e37b2bf7cfdd0c93de11378292f7f169f7 82 0
+32f6ddd6b17440644504f27b6be1cc3c71634e05 82 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -875,7 +875,7 @@
 #61 := [not-or-elim #56]: #60
 [mp #61 #102]: false
 unsat
-fbfd7f42f20fd17af6ee42b17ec7a0dc3c529924 81 0
+822dd2da88addcc306ac946c913fcb511aa60583 81 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -957,7 +957,7 @@
 #58 := [and-elim #57]: #11
 [mp #58 #103]: false
 unsat
-e8a50c44ee4032088b7ba718bb04f0f679fca9de 83 0
+8cc97fc7cc00db3ed62df1f9aee16d60ca0091ad 83 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1041,7 +1041,7 @@
 #108 := [unit-resolution #88 #107]: #56
 [unit-resolution #67 #108 #106]: false
 unsat
-7e6dd7d516e726860ffc428f31cde1cf481b2e62 55 0
+52fb5169edaf3c81cfc25b6a7116b0b55c8a28c3 55 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1097,7 +1097,7 @@
 #65 := [not-or-elim #67]: #8
 [unit-resolution #65 #62]: false
 unsat
-a3a59727086c9b1cf17547c43bc0b367753da6a2 129 0
+dd980002bd81efbda187ebb6bc06f50928195b21 129 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1227,7 +1227,7 @@
 #148 := [unit-resolution #109 #147]: #16
 [unit-resolution #118 #148 #146 #138]: false
 unsat
-286bd8b6cdfa66f845900e18ef113ce800adfe6f 87 0
+642785ae09fc22b58f15d1ae19762bba0657cc2e 87 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1315,7 +1315,7 @@
 #77 := [mp #39 #76]: #72
 [mp #77 #106]: false
 unsat
-161dd0114051200a7ffcef5c767f1dd1f3eb1d26 172 0
+3cb22aa5593767652961218f5ced2beb102ad8c3 172 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1488,7 +1488,7 @@
 #125 := [mp #115 #135]: #70
 [mp #125 #192]: false
 unsat
-4b04cbf4156c7db75a1cf1b753251a6923a9c62d 107 0
+2a741b287996e3d5a24eaaf5674ca253bbcd8ef7 107 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1596,7 +1596,7 @@
 #97 := [not-or-elim #92]: #59
 [mp #97 #127]: false
 unsat
-4ede140945dac021e73f57bd5aabbe283e3ec513 136 0
+e5df9c3ac788514d2b7d8d9dabf4974cdc46f887 136 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1733,7 +1733,7 @@
 #98 := [def-axiom]: #97
 [unit-resolution #98 #155 #153]: false
 unsat
-a1bd5a7826fb084e07c1ba646f5039bc9faf9bf8 43 0
+2b64d751f48e9ffd90426fd6834e1d0739b8d27d 43 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1777,7 +1777,7 @@
 #34 := [asserted]: #13
 [mp #34 #61]: false
 unsat
-3050918d31c36048af6e7954efb4023260756a72 120 0
+b8e0ff6234cf196c70abfdfcc191c52116ff14bf 120 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1898,7 +1898,7 @@
 #101 := [not-or-elim #100]: #81
 [mp #101 #142]: false
 unsat
-419cf0503137091c5bc92af96aa593cffd70f2cf 94 0
+8a8c56cbbacd73dc988b4e0a6095fc9e6705a6a6 94 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -1993,7 +1993,7 @@
 #86 := [not-or-elim #85]: #66
 [mp #86 #116]: false
 unsat
-2da11420e5b99236635a72b7c77f978d01d57534 112 0
+58f02564c26046ffbbf0af2951cd5b2669f92e0c 112 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2106,7 +2106,7 @@
 #81 := [not-or-elim #83]: #64
 [mp #81 #135]: false
 unsat
-05cf053531ebb482bce7d481dd6a6d959ba6e021 67 0
+a7f6ab6ad332f5aded5b2efbf0f5616121d36767 67 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2174,7 +2174,7 @@
 #65 := [not-or-elim #64]: #38
 [mp #65 #90]: false
 unsat
-ffac54a02f0c200516a317aa5c330cf1c35aa36e 94 0
+96fa7a8ac0c9f92be5ba4897a13fe923e953299b 94 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2269,7 +2269,7 @@
 #86 := [not-or-elim #85]: #66
 [mp #86 #116]: false
 unsat
-7a1f8b0dc0880c922314ec30bd73e7304dc52ec4 65 0
+470cd9c1962b0613b02378d77ef88475d95420b4 65 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2335,7 +2335,7 @@
 #70 := [unit-resolution #72 #77]: #73
 [unit-resolution #70 #85 #84]: false
 unsat
-d8026f1269406972caa34c57a14a407df7dff9ee 67 0
+3583d404baf1a70621bef42b341cd5ed7f857304 67 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2403,7 +2403,7 @@
 #55 := [def-axiom]: #54
 [unit-resolution #55 #87 #86 #81]: false
 unsat
-3363d204e860e90fc7410c9b98599a08737e98bf 30 0
+25b6de20c7289df4e64dbeeda9c253f854a640a3 30 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2434,7 +2434,7 @@
 #33 := [asserted]: #12
 [mp #33 #49]: false
 unsat
-307fe479d3024f1d782f30fc995cff7558bffef8 68 0
+6c7aa77a3e726f6965e1c58daf22b14f9c6eacb5 68 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2503,7 +2503,7 @@
 #70 := [def-axiom]: #69
 [unit-resolution #70 #88 #87 #85]: false
 unsat
-8cebbbdf59241f53ca8f7ba4ba97c397eebb23a4 64 0
+ee2587d9af24c00533fd6cc57d8b9c430858d515 64 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2568,7 +2568,7 @@
 #39 := [asserted]: #18
 [mp #39 #83]: false
 unsat
-7065d1b00bad74db5477c46f555fb695c1bbcb2b 121 0
+37203ec99bf7e03cbb0be72ecadd1ceb545297a3 121 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2690,7 +2690,7 @@
 #92 := [def-axiom]: #91
 [unit-resolution #92 #140 #138]: false
 unsat
-aac8bd622b8d3f29643acf747f849dbeac65edf3 50 0
+ca9aa750ee4c38be0511c4f7f0526ad22c26b354 50 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2741,7 +2741,7 @@
 #82 := [unit-resolution #73 #52]: #81
 [unit-resolution #82 #80 #79]: false
 unsat
-627c25c71422f379340a41c5a2991827f13b6eeb 108 0
+22136385e4a040042c56d71f978a5676aac282d0 108 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2850,7 +2850,7 @@
 #73 := [def-axiom]: #72
 [unit-resolution #73 #126 #125 #123]: false
 unsat
-a8caac95ba6f91aa44f76da5a19b4261970d10e2 126 0
+042cd6410e2120e0a1d26569b905b9483437aab5 126 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -2977,7 +2977,7 @@
 #93 := [def-axiom]: #92
 [unit-resolution #93 #144 #143 #141]: false
 unsat
-addce7e2dc4a26b8ce7ed621258f4ce1254da3f8 144 0
+ef537e4da9516844ed6fad53f93372fb0890ad4d 144 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3122,7 +3122,7 @@
 #105 := [def-axiom]: #104
 [unit-resolution #105 #164 #162 #154]: false
 unsat
-3805a38de71c30eca319b0409c21700a7cb06990 22 0
+78c572bbf37fdaeffbdf327837dfe6e150ab4121 22 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3145,7 +3145,7 @@
 #32 := [asserted]: #11
 [mp #32 #41]: false
 unsat
-10863ac83131ef76f72a772c8cf85cc3dc6dde68 22 0
+7bfe3d6a8ddb1e5cf6b5e7e7e25b7bb8d3947426 22 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3168,7 +3168,7 @@
 #32 := [asserted]: #11
 [mp #32 #41]: false
 unsat
-07351d51d95fc2b79e016724eb51f565136165bb 18 0
+36cacffa0b357a87bd4cda01a469de9e5b1b6ff9 18 0
 #2 := false
 decl f3 :: S2
 #7 := f3
@@ -3187,7 +3187,7 @@
 #30 := [asserted]: #9
 [mp #30 #39]: false
 unsat
-560c329fd96a3052b170500832713e5713a0d957 28 0
+fdbd50a73d75354218917a033ec85c8b60aadac7 28 0
 #2 := false
 decl f3 :: S2
 #7 := f3
@@ -3216,7 +3216,7 @@
 #44 := [not-or-elim #43]: #42
 [unit-resolution #44 #50]: false
 unsat
-0ea41c66095cc88193b1f1c4879ce9546452087f 34 0
+1e7092f06fe51080cd1f2ff9c767c120dee0f325 34 0
 #2 := false
 decl f5 :: S2
 #10 := f5
@@ -3251,7 +3251,7 @@
 #49 := [not-or-elim #46]: #48
 [unit-resolution #49 #57]: false
 unsat
-aa496f11d9d656ea523f5c18607a0927eb3d7a4a 27 0
+dcb560c85ca9bae67a2cc2056cbff42277192208 27 0
 #2 := false
 decl f5 :: (-> S2 S2)
 decl f4 :: S2
@@ -3279,7 +3279,7 @@
 #46 := [not-or-elim #45]: #44
 [unit-resolution #46 #54]: false
 unsat
-8b4dbc6c33c1705fe009e2d7608ca932d6b53399 31 0
+b268f4bef33523b0e58fb79bfaa877e0377ed0fe 31 0
 #2 := false
 decl f5 :: (-> S2 S2 S3)
 decl f3 :: S2
@@ -3311,7 +3311,7 @@
 #46 := [not-or-elim #45]: #44
 [unit-resolution #46 #52]: false
 unsat
-45c0bd6cde55221dd5a9503ffdc9267b7373c6c9 44 0
+c15ed7f86c495f57e47ba25cbe1dd59e25e6cfd8 44 0
 #2 := false
 decl f4 :: S2
 #7 := f4
@@ -3356,7 +3356,7 @@
 #52 := [not-or-elim #49]: #51
 [unit-resolution #52 #66]: false
 unsat
-25a1abffb915b82d17c18374398b74c5d385ed65 137 0
+e014a521ad8c0c3dc3dc83f7de12a8ea100eaf98 137 0
 #2 := false
 decl f6 :: S2
 #12 := f6
@@ -3494,7 +3494,7 @@
 #150 := [unit-resolution #115 #149]: #58
 [unit-resolution #150 #157]: false
 unsat
-67737c4b09a83cd04939395b326a7d8f955a194d 25 0
+991ba005efd39f0b714631fc764d551ecd33f6bf 25 0
 #2 := false
 #7 := (:var 0 S2)
 #8 := (= #7 #7)
@@ -3520,7 +3520,7 @@
 #31 := [asserted]: #10
 [mp #31 #47]: false
 unsat
-46c9d6a29d282ccf0878986fd29578adc8a38dd4 23 0
+10c5b2de1ef268e3092f5c3c42ead76ab232f440 23 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3544,7 +3544,7 @@
 #33 := [asserted]: #12
 [mp #33 #42]: false
 unsat
-5ba00f30800797eb07b09f84e102de0c826f49ed 67 0
+3f5721f2d9a816052aac390d06514062d4ac382d 67 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3612,7 +3612,7 @@
 #83 := [and-elim #82]: #57
 [unit-resolution #83 #90]: false
 unsat
-c2ff93c1c8c2d33d86971297c56d2ab2a9dc9fb6 235 0
+700a60c41d4e55e179e3bc8ce3a6f9ff4e4e4db4 235 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3848,7 +3848,7 @@
 #581 := [quant-inst #87]: #580
 [unit-resolution #581 #307 #576]: false
 unsat
-5190783c8781fcea24c1c610b455b71cf0eb75c2 145 0
+77c37fe7fae5071b8918f3ac6af902a7b756b568 145 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -3994,198 +3994,7 @@
 #209 := [quant-inst #72]: #208
 [unit-resolution #209 #567 #222]: false
 unsat
-53f53012b8ceb61c467342994ec79dc318df7837 189 0
-unsat
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: (-> S2 S1)
-decl ?v0!1 :: S2
-#75 := ?v0!1
-#76 := (f3 ?v0!1)
-#77 := (= #76 f1)
-#114 := (not #77)
-decl ?v0!0 :: S2
-#47 := ?v0!0
-#48 := (f3 ?v0!0)
-#49 := (= #48 f1)
-#50 := (not #49)
-#538 := [hypothesis]: #50
-#7 := (:var 0 S2)
-#8 := (f3 #7)
-#552 := (pattern #8)
-#9 := (= #8 f1)
-#553 := (forall (vars (?v0 S2)) (:pat #552) #9)
-decl f4 :: S1
-#11 := f4
-#12 := (= f4 f1)
-#54 := (not #12)
-#558 := (not #553)
-#561 := (or #558 #54)
-#564 := (not #561)
-#102 := (not #9)
-#103 := (or #102 #54)
-#104 := (not #103)
-#567 := (forall (vars (?v0 S2)) (:pat #552) #104)
-#213 := (not #567)
-#57 := (or #50 #54)
-decl elem!2 :: S2
-#228 := elem!2
-#546 := (f3 elem!2)
-#214 := (= #546 f1)
-#548 := (not #214)
-#549 := (or #548 #54)
-#540 := (not #549)
-#550 := [hypothesis]: #567
-#545 := (or #213 #540)
-#551 := [quant-inst #228]: #545
-#534 := [unit-resolution #551 #550]: #540
-#205 := (or #549 #12)
-#542 := [def-axiom]: #205
-#171 := [unit-resolution #542 #534]: #12
-#115 := (or #114 #54)
-#116 := (not #115)
-#532 := (or #116 #213)
-#547 := [hypothesis]: #115
-#185 := (or #213 #116)
-#527 := [quant-inst #75]: #185
-#531 := [unit-resolution #527 #550 #547]: false
-#533 := [lemma #531]: #532
-#526 := [unit-resolution #533 #550]: #116
-#189 := (or #115 #77)
-#190 := [def-axiom]: #189
-#233 := [unit-resolution #190 #526]: #77
-#129 := (or #50 #114 #54)
-#78 := (and #77 #12)
-#79 := (not #78)
-#91 := (or #50 #54 #79)
-#132 := (iff #91 #129)
-#126 := (or #50 #54 #115)
-#130 := (iff #126 #129)
-#131 := [rewrite]: #130
-#127 := (iff #91 #126)
-#124 := (iff #79 #115)
-#119 := (not #116)
-#122 := (iff #119 #115)
-#123 := [rewrite]: #122
-#120 := (iff #79 #119)
-#117 := (iff #78 #116)
-#118 := [rewrite]: #117
-#121 := [monotonicity #118]: #120
-#125 := [trans #121 #123]: #124
-#128 := [monotonicity #125]: #127
-#133 := [trans #128 #131]: #132
-#14 := (and #9 #12)
-#15 := (forall (vars (?v0 S2)) #14)
-#10 := (forall (vars (?v0 S2)) #9)
-#13 := (and #10 #12)
-#84 := (or #13 #15)
-#94 := (and #84 #91)
-#83 := (or #57 #79)
-#85 := (and #84 #83)
-#95 := (iff #85 #94)
-#92 := (iff #83 #91)
-#93 := [rewrite]: #92
-#96 := [monotonicity #93]: #95
-#23 := (not #13)
-#24 := (iff #23 #15)
-#86 := (~ #24 #85)
-#80 := (not #15)
-#81 := (~ #80 #79)
-#82 := [sk]: #81
-#73 := (~ #15 #15)
-#71 := (~ #14 #14)
-#72 := [refl]: #71
-#74 := [nnf-pos #72]: #73
-#68 := (not #23)
-#69 := (~ #68 #13)
-#66 := (~ #13 #13)
-#64 := (~ #12 #12)
-#65 := [refl]: #64
-#62 := (~ #10 #10)
-#60 := (~ #9 #9)
-#61 := [refl]: #60
-#63 := [nnf-pos #61]: #62
-#67 := [monotonicity #63 #65]: #66
-#70 := [nnf-neg #67]: #69
-#58 := (~ #23 #57)
-#55 := (~ #54 #54)
-#56 := [refl]: #55
-#51 := (not #10)
-#52 := (~ #51 #50)
-#53 := [sk]: #52
-#59 := [nnf-neg #53 #56]: #58
-#87 := [nnf-pos #59 #70 #74 #82]: #86
-#16 := (iff #13 #15)
-#17 := (not #16)
-#25 := (iff #17 #24)
-#26 := [rewrite]: #25
-#19 := [asserted]: #17
-#27 := [mp #19 #26]: #24
-#88 := [mp~ #27 #87]: #85
-#89 := [mp #88 #96]: #94
-#97 := [and-elim #89]: #91
-#134 := [mp #97 #133]: #129
-#248 := [unit-resolution #134 #233 #171]: #50
-#176 := (or #57 #49)
-#177 := [def-axiom]: #176
-#249 := [unit-resolution #177 #248]: #57
-#528 := (not #57)
-#535 := (or #213 #528)
-#537 := [quant-inst #47]: #535
-#250 := [unit-resolution #537 #550 #249]: false
-#251 := [lemma #250]: #213
-#572 := (or #564 #567)
-#107 := (forall (vars (?v0 S2)) #104)
-#98 := (or #51 #54)
-#99 := (not #98)
-#110 := (or #99 #107)
-#573 := (iff #110 #572)
-#570 := (iff #107 #567)
-#568 := (iff #104 #104)
-#569 := [refl]: #568
-#571 := [quant-intro #569]: #570
-#565 := (iff #99 #564)
-#562 := (iff #98 #561)
-#559 := (iff #51 #558)
-#556 := (iff #10 #553)
-#554 := (iff #9 #9)
-#555 := [refl]: #554
-#557 := [quant-intro #555]: #556
-#560 := [monotonicity #557]: #559
-#563 := [monotonicity #560]: #562
-#566 := [monotonicity #563]: #565
-#574 := [monotonicity #566 #571]: #573
-#111 := (iff #84 #110)
-#108 := (iff #15 #107)
-#105 := (iff #14 #104)
-#106 := [rewrite]: #105
-#109 := [quant-intro #106]: #108
-#100 := (iff #13 #99)
-#101 := [rewrite]: #100
-#112 := [monotonicity #101 #109]: #111
-#90 := [and-elim #89]: #84
-#113 := [mp #90 #112]: #110
-#575 := [mp #113 #574]: #572
-#536 := [unit-resolution #575 #251]: #564
-#135 := (or #561 #553)
-#222 := [def-axiom]: #135
-#143 := [unit-resolution #222 #536]: #553
-#539 := (or #558 #49)
-#525 := [quant-inst #47]: #539
-#521 := [unit-resolution #525 #143 #538]: false
-#522 := [lemma #521]: #49
-#245 := (or #50 #114)
-#136 := (or #561 #12)
-#223 := [def-axiom]: #136
-#244 := [unit-resolution #223 #536]: #12
-#520 := [unit-resolution #134 #244]: #245
-#524 := [unit-resolution #520 #522]: #114
-#519 := (or #558 #77)
-#523 := [quant-inst #75]: #519
-[unit-resolution #523 #143 #524]: false
-40817fbcafdc8d21718702405c773ccd33ea7f23 34 0
-unsat
+1936a8c3d8900c4f3411f9f65f9183a1e77d9f6e 34 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -4201,26 +4010,26 @@
 #11 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S2)) #10)
 #16 := (iff #11 #15)
 #17 := (not #16)
-#36 := (iff #17 false)
-#1 := true
-#31 := (not true)
-#34 := (iff #31 false)
-#35 := [rewrite]: #34
-#32 := (iff #17 #31)
-#29 := (iff #16 true)
-#24 := (iff #15 #15)
-#27 := (iff #24 true)
-#28 := [rewrite]: #27
-#25 := (iff #16 #24)
-#23 := [elim-unused]: #16
-#26 := [monotonicity #23]: #25
-#30 := [trans #26 #28]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#19 := [asserted]: #17
-[mp #19 #37]: false
-259e8b1baa5df2fdd772840446c5eb3162d97d06 95 0
-unsat
+#52 := (iff #17 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #17 #47)
+#45 := (iff #16 true)
+#40 := (iff #15 #15)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#41 := (iff #16 #40)
+#39 := [elim-unused]: #16
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#38 := [asserted]: #17
+[mp #38 #53]: false
+unsat
+0be5cd612b1c80ec2188777514a42f95d455ac60 103 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -4229,94 +4038,102 @@
 #15 := f4
 decl f5 :: S2
 #19 := f5
-#174 := (f3 f5 f4)
-#90 := (= #174 f1)
-#175 := (not #90)
+#241 := (f3 f5 f4)
+#156 := (= #241 f1)
+#242 := (not #156)
 #20 := (f3 f4 f5)
 #21 := (= #20 f1)
-#56 := (not #21)
+#80 := (not #21)
 #8 := (:var 0 S2)
 #16 := (f3 #8 f4)
 #17 := (= #16 f1)
 #18 := (forall (vars (?v0 S2)) #17)
-#37 := (not #18)
+#53 := (not #18)
 #7 := (:var 1 S2)
 #11 := (f3 #8 #7)
 #12 := (= #11 f1)
 #9 := (f3 #7 #8)
 #10 := (= #9 f1)
-#30 := (not #10)
-#31 := (or #30 #12)
-#34 := (forall (vars (?v0 S2) (?v1 S2)) #31)
-#44 := (not #34)
-#45 := (or #44 #37 #21)
-#50 := (not #45)
+#46 := (not #10)
+#47 := (or #46 #12)
+#50 := (forall (vars (?v0 S2) (?v1 S2)) #47)
+#60 := (not #50)
+#69 := (or #60 #53 #21)
+#72 := (not #69)
 #22 := (implies #18 #21)
 #13 := (implies #10 #12)
 #14 := (forall (vars (?v0 S2) (?v1 S2)) #13)
 #23 := (implies #14 #22)
 #24 := (not #23)
-#51 := (iff #24 #50)
-#48 := (iff #23 #45)
-#38 := (or #37 #21)
-#41 := (implies #34 #38)
-#46 := (iff #41 #45)
-#47 := [rewrite]: #46
-#42 := (iff #23 #41)
-#39 := (iff #22 #38)
-#40 := [rewrite]: #39
-#35 := (iff #14 #34)
-#32 := (iff #13 #31)
-#33 := [rewrite]: #32
-#36 := [quant-intro #33]: #35
-#43 := [monotonicity #36 #40]: #42
-#49 := [trans #43 #47]: #48
-#52 := [monotonicity #49]: #51
-#26 := [asserted]: #24
-#53 := [mp #26 #52]: #50
-#57 := [not-or-elim #53]: #56
-#505 := (pattern #11)
-#504 := (pattern #9)
-#506 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #504 #505) #31)
-#509 := (iff #34 #506)
-#507 := (iff #31 #31)
-#508 := [refl]: #507
-#510 := [quant-intro #508]: #509
-#81 := (~ #34 #34)
-#83 := (~ #31 #31)
-#84 := [refl]: #83
-#82 := [nnf-pos #84]: #81
-#54 := [not-or-elim #53]: #34
-#79 := [mp~ #54 #82]: #34
-#511 := [mp #79 #510]: #506
-#178 := (not #506)
-#179 := (or #178 #175 #21)
-#87 := (or #175 #21)
-#180 := (or #178 #87)
-#181 := (iff #180 #179)
-#160 := [rewrite]: #181
-#177 := [quant-inst #19 #15]: #180
-#496 := [mp #177 #160]: #179
-#176 := [unit-resolution #496 #511 #57]: #175
-#512 := (pattern #16)
-#513 := (forall (vars (?v0 S2)) (:pat #512) #17)
-#516 := (iff #18 #513)
-#514 := (iff #17 #17)
-#515 := [refl]: #514
-#517 := [quant-intro #515]: #516
-#78 := (~ #18 #18)
-#80 := (~ #17 #17)
-#77 := [refl]: #80
-#85 := [nnf-pos #77]: #78
-#55 := [not-or-elim #53]: #18
-#86 := [mp~ #55 #85]: #18
-#518 := [mp #86 #517]: #513
-#498 := (not #513)
-#154 := (or #498 #90)
-#285 := [quant-inst #19]: #154
-[unit-resolution #285 #518 #176]: false
-44a8a010d20c75dbd110b4ba979d4cfad7872b87 101 0
-unsat
+#75 := (iff #24 #72)
+#54 := (or #53 #21)
+#61 := (or #60 #54)
+#66 := (not #61)
+#73 := (iff #66 #72)
+#70 := (iff #61 #69)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#67 := (iff #24 #66)
+#64 := (iff #23 #61)
+#57 := (implies #50 #54)
+#62 := (iff #57 #61)
+#63 := [rewrite]: #62
+#58 := (iff #23 #57)
+#55 := (iff #22 #54)
+#56 := [rewrite]: #55
+#51 := (iff #14 #50)
+#48 := (iff #13 #47)
+#49 := [rewrite]: #48
+#52 := [quant-intro #49]: #51
+#59 := [monotonicity #52 #56]: #58
+#65 := [trans #59 #63]: #64
+#68 := [monotonicity #65]: #67
+#76 := [trans #68 #74]: #75
+#45 := [asserted]: #24
+#77 := [mp #45 #76]: #72
+#81 := [not-or-elim #77]: #80
+#572 := (pattern #11)
+#571 := (pattern #9)
+#573 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #571 #572) #47)
+#576 := (iff #50 #573)
+#574 := (iff #47 #47)
+#575 := [refl]: #574
+#577 := [quant-intro #575]: #576
+#93 := (~ #50 #50)
+#91 := (~ #47 #47)
+#92 := [refl]: #91
+#94 := [nnf-pos #92]: #93
+#78 := [not-or-elim #77]: #50
+#83 := [mp~ #78 #94]: #50
+#578 := [mp #83 #577]: #573
+#245 := (not #573)
+#246 := (or #245 #242 #21)
+#157 := (or #242 #21)
+#247 := (or #245 #157)
+#248 := (iff #247 #246)
+#227 := [rewrite]: #248
+#244 := [quant-inst #19 #15]: #247
+#563 := [mp #244 #227]: #246
+#243 := [unit-resolution #563 #578 #81]: #242
+#579 := (pattern #16)
+#580 := (forall (vars (?v0 S2)) (:pat #579) #17)
+#583 := (iff #18 #580)
+#581 := (iff #17 #17)
+#582 := [refl]: #581
+#584 := [quant-intro #582]: #583
+#85 := (~ #18 #18)
+#84 := (~ #17 #17)
+#95 := [refl]: #84
+#86 := [nnf-pos #95]: #85
+#79 := [not-or-elim #77]: #18
+#96 := [mp~ #79 #86]: #18
+#585 := [mp #96 #584]: #580
+#565 := (not #580)
+#221 := (or #565 #156)
+#352 := [quant-inst #19]: #221
+[unit-resolution #352 #585 #243]: false
+unsat
+ac63a8f94b83c505b675b60053e9418e47f3332d 101 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -4328,10 +4145,10 @@
 #10 := f5
 #20 := (f4 f5 f6)
 #21 := (f4 f5 #20)
-#173 := (f3 #21)
-#493 := (= #173 f1)
-#171 := (f3 #20)
-#79 := (= #171 f1)
+#232 := (f3 #21)
+#552 := (= #232 f1)
+#230 := (f3 #20)
+#145 := (= #230 f1)
 #17 := (f3 f6)
 #18 := (= #17 f1)
 #7 := (:var 0 S2)
@@ -4340,85 +4157,85 @@
 #13 := (= #12 f1)
 #8 := (f3 #7)
 #9 := (= #8 f1)
-#32 := (not #9)
-#33 := (or #32 #13)
-#36 := (forall (vars (?v0 S2)) #33)
-#39 := (and #36 #18)
+#48 := (not #9)
+#49 := (or #48 #13)
+#52 := (forall (vars (?v0 S2)) #49)
+#55 := (and #52 #18)
 #22 := (f4 f5 #21)
 #23 := (f3 #22)
 #24 := (= #23 f1)
-#45 := (not #39)
-#46 := (or #45 #24)
-#51 := (not #46)
+#61 := (not #55)
+#62 := (or #61 #24)
+#67 := (not #62)
 #14 := (implies #9 #13)
 #15 := (forall (vars (?v0 S2)) #14)
 #19 := (and #15 #18)
 #25 := (implies #19 #24)
 #26 := (not #25)
-#52 := (iff #26 #51)
-#49 := (iff #25 #46)
-#42 := (implies #39 #24)
-#47 := (iff #42 #46)
-#48 := [rewrite]: #47
-#43 := (iff #25 #42)
-#40 := (iff #19 #39)
-#37 := (iff #15 #36)
-#34 := (iff #14 #33)
-#35 := [rewrite]: #34
-#38 := [quant-intro #35]: #37
-#41 := [monotonicity #38]: #40
-#44 := [monotonicity #41]: #43
-#50 := [trans #44 #48]: #49
-#53 := [monotonicity #50]: #52
-#28 := [asserted]: #26
-#54 := [mp #28 #53]: #51
-#55 := [not-or-elim #54]: #39
-#57 := [and-elim #55]: #18
-#501 := (pattern #11)
-#502 := (forall (vars (?v0 S2)) (:pat #501) #33)
-#505 := (iff #36 #502)
-#503 := (iff #33 #33)
-#504 := [refl]: #503
-#506 := [quant-intro #504]: #505
-#81 := (~ #36 #36)
-#83 := (~ #33 #33)
-#84 := [refl]: #83
-#82 := [nnf-pos #84]: #81
-#56 := [and-elim #55]: #36
-#85 := [mp~ #56 #82]: #36
-#507 := [mp #85 #506]: #502
-#86 := (not #18)
-#164 := (not #502)
-#175 := (or #164 #86 #79)
-#172 := (or #86 #79)
-#176 := (or #164 #172)
-#174 := (iff #176 #175)
-#178 := [rewrite]: #174
-#177 := [quant-inst #16]: #176
-#157 := [mp #177 #178]: #175
-#499 := [unit-resolution #157 #507 #57]: #79
-#80 := (not #79)
-#489 := (or #164 #80 #493)
-#495 := (or #80 #493)
-#162 := (or #164 #495)
-#496 := (iff #162 #489)
-#497 := [rewrite]: #496
-#163 := [quant-inst #20]: #162
-#498 := [mp #163 #497]: #489
-#494 := [unit-resolution #498 #507 #499]: #493
-#58 := (not #24)
-#59 := [not-or-elim #54]: #58
-#151 := (not #493)
-#500 := (or #164 #151 #24)
-#282 := (or #151 #24)
-#490 := (or #164 #282)
-#154 := (iff #490 #500)
-#491 := [rewrite]: #154
-#149 := [quant-inst #21]: #490
-#150 := [mp #149 #491]: #500
-[unit-resolution #150 #507 #59 #494]: false
-60e1704ec347155327350daf08c9fa7301bbf00c 64 0
-unsat
+#68 := (iff #26 #67)
+#65 := (iff #25 #62)
+#58 := (implies #55 #24)
+#63 := (iff #58 #62)
+#64 := [rewrite]: #63
+#59 := (iff #25 #58)
+#56 := (iff #19 #55)
+#53 := (iff #15 #52)
+#50 := (iff #14 #49)
+#51 := [rewrite]: #50
+#54 := [quant-intro #51]: #53
+#57 := [monotonicity #54]: #56
+#60 := [monotonicity #57]: #59
+#66 := [trans #60 #64]: #65
+#69 := [monotonicity #66]: #68
+#47 := [asserted]: #26
+#72 := [mp #47 #69]: #67
+#70 := [not-or-elim #72]: #55
+#73 := [and-elim #70]: #18
+#560 := (pattern #11)
+#561 := (forall (vars (?v0 S2)) (:pat #560) #49)
+#564 := (iff #52 #561)
+#562 := (iff #49 #49)
+#563 := [refl]: #562
+#565 := [quant-intro #563]: #564
+#87 := (~ #52 #52)
+#85 := (~ #49 #49)
+#86 := [refl]: #85
+#88 := [nnf-pos #86]: #87
+#71 := [and-elim #70]: #52
+#77 := [mp~ #71 #88]: #52
+#566 := [mp #77 #565]: #561
+#144 := (not #18)
+#223 := (not #561)
+#234 := (or #223 #144 #145)
+#231 := (or #144 #145)
+#235 := (or #223 #231)
+#233 := (iff #235 #234)
+#237 := [rewrite]: #233
+#236 := [quant-inst #16]: #235
+#216 := [mp #236 #237]: #234
+#558 := [unit-resolution #216 #566 #73]: #145
+#146 := (not #145)
+#548 := (or #223 #146 #552)
+#554 := (or #146 #552)
+#221 := (or #223 #554)
+#555 := (iff #221 #548)
+#556 := [rewrite]: #555
+#222 := [quant-inst #20]: #221
+#557 := [mp #222 #556]: #548
+#553 := [unit-resolution #557 #566 #558]: #552
+#74 := (not #24)
+#75 := [not-or-elim #72]: #74
+#210 := (not #552)
+#559 := (or #223 #210 #24)
+#341 := (or #210 #24)
+#549 := (or #223 #341)
+#213 := (iff #549 #559)
+#550 := [rewrite]: #213
+#208 := [quant-inst #21]: #549
+#209 := [mp #208 #550]: #559
+[unit-resolution #209 #566 #75 #553]: false
+unsat
+f1a3aeaad9840f61d284b110db9d2ac5a6976876 64 0
 #2 := false
 decl f3 :: (-> S2 S2 S3)
 decl f4 :: S2
@@ -4428,62 +4245,62 @@
 #17 := (f3 f5 f4)
 #16 := (f3 f4 f5)
 #18 := (= #16 #17)
-#50 := (not #18)
+#65 := (not #18)
 #7 := (:var 1 S2)
 #8 := (:var 0 S2)
 #10 := (f3 #8 #7)
 #9 := (f3 #7 #8)
 #11 := (= #9 #10)
 #12 := (forall (vars (?v0 S2) (?v1 S2)) #11)
-#39 := (not #12)
-#40 := (or #39 #18)
-#45 := (not #40)
+#55 := (not #12)
+#56 := (or #55 #18)
+#61 := (not #56)
 #14 := (= f4 f4)
 #19 := (and #14 #18)
 #20 := (implies #12 #19)
 #21 := (not #20)
-#46 := (iff #21 #45)
-#43 := (iff #20 #40)
-#36 := (implies #12 #18)
-#41 := (iff #36 #40)
-#42 := [rewrite]: #41
-#37 := (iff #20 #36)
-#34 := (iff #19 #18)
-#1 := true
-#29 := (and true #18)
-#32 := (iff #29 #18)
-#33 := [rewrite]: #32
-#30 := (iff #19 #29)
-#27 := (iff #14 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#38 := [monotonicity #35]: #37
-#44 := [trans #38 #42]: #43
+#62 := (iff #21 #61)
+#59 := (iff #20 #56)
+#52 := (implies #12 #18)
+#57 := (iff #52 #56)
+#58 := [rewrite]: #57
+#53 := (iff #20 #52)
+#50 := (iff #19 #18)
+#1 := true
+#45 := (and true #18)
+#48 := (iff #45 #18)
+#49 := [rewrite]: #48
+#46 := (iff #19 #45)
+#43 := (iff #14 true)
+#44 := [rewrite]: #43
 #47 := [monotonicity #44]: #46
-#23 := [asserted]: #21
-#48 := [mp #23 #47]: #45
-#51 := [not-or-elim #48]: #50
-#494 := (pattern #10)
-#493 := (pattern #9)
-#495 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #493 #494) #11)
-#498 := (iff #12 #495)
-#496 := (iff #11 #11)
-#497 := [refl]: #496
-#499 := [quant-intro #497]: #498
-#73 := (~ #12 #12)
-#71 := (~ #11 #11)
-#72 := [refl]: #71
-#74 := [nnf-pos #72]: #73
-#49 := [not-or-elim #48]: #12
-#75 := [mp~ #49 #74]: #12
-#500 := [mp #75 #499]: #495
-#79 := (not #495)
-#164 := (or #79 #18)
-#76 := [quant-inst #13 #15]: #164
-[unit-resolution #76 #500 #51]: false
-03e5c09109dcecda750af8f377268d580b063674 175 0
-unsat
+#51 := [trans #47 #49]: #50
+#54 := [monotonicity #51]: #53
+#60 := [trans #54 #58]: #59
+#63 := [monotonicity #60]: #62
+#42 := [asserted]: #21
+#66 := [mp #42 #63]: #61
+#67 := [not-or-elim #66]: #65
+#553 := (pattern #10)
+#552 := (pattern #9)
+#554 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #552 #553) #11)
+#557 := (iff #12 #554)
+#555 := (iff #11 #11)
+#556 := [refl]: #555
+#558 := [quant-intro #556]: #557
+#77 := (~ #12 #12)
+#75 := (~ #11 #11)
+#76 := [refl]: #75
+#78 := [nnf-pos #76]: #77
+#64 := [not-or-elim #66]: #12
+#69 := [mp~ #64 #78]: #12
+#559 := [mp #69 #558]: #554
+#137 := (not #554)
+#223 := (or #137 #18)
+#138 := [quant-inst #13 #15]: #223
+[unit-resolution #138 #559 #67]: false
+unsat
+c37af3173480108eddc4b3a3068306cd906ea03a 203 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -4494,9 +4311,9 @@
 #25 := (= #24 f1)
 decl f5 :: S2
 #14 := f5
-#152 := (f3 f5)
-#240 := (= #152 f1)
-#154 := (not #240)
+#240 := (f3 f5)
+#327 := (= #240 f1)
+#242 := (not #327)
 decl f4 :: (-> S2 S1)
 #15 := (f4 f5)
 #16 := (= #15 f1)
@@ -4512,17 +4329,17 @@
 #11 := (= #10 f1)
 #18 := (not #11)
 #20 := (and #18 #19)
-#47 := (not #20)
-#48 := (or #47 #23 #25)
-#51 := (forall (vars (?v0 S2)) #48)
-#41 := (or #19 #11)
-#44 := (forall (vars (?v0 S2)) #41)
-#60 := (and #44 #17 #51)
+#63 := (not #20)
+#88 := (or #63 #23 #25)
+#91 := (forall (vars (?v0 S2)) #88)
+#57 := (or #19 #11)
+#60 := (forall (vars (?v0 S2)) #57)
+#100 := (and #60 #17 #91)
 #31 := (f4 f7)
 #32 := (= #31 f1)
-#68 := (not #60)
-#69 := (or #68 #23 #32)
-#74 := (not #69)
+#105 := (not #100)
+#111 := (or #105 #23 #32)
+#116 := (not #111)
 #33 := (or #23 #32)
 #26 := (or #23 #25)
 #27 := (implies #20 #26)
@@ -4533,159 +4350,189 @@
 #30 := (and #13 #29)
 #34 := (implies #30 #33)
 #35 := (not #34)
-#75 := (iff #35 #74)
-#72 := (iff #34 #69)
-#65 := (implies #60 #33)
-#70 := (iff #65 #69)
-#71 := [rewrite]: #70
-#66 := (iff #34 #65)
-#63 := (iff #30 #60)
-#54 := (and #17 #51)
-#57 := (and #44 #54)
-#61 := (iff #57 #60)
-#62 := [rewrite]: #61
-#58 := (iff #30 #57)
-#55 := (iff #29 #54)
-#52 := (iff #28 #51)
-#49 := (iff #27 #48)
-#50 := [rewrite]: #49
-#53 := [quant-intro #50]: #52
-#56 := [monotonicity #53]: #55
-#45 := (iff #13 #44)
-#42 := (iff #12 #41)
-#43 := [rewrite]: #42
-#46 := [quant-intro #43]: #45
-#59 := [monotonicity #46 #56]: #58
-#64 := [trans #59 #62]: #63
-#67 := [monotonicity #64]: #66
-#73 := [trans #67 #71]: #72
-#76 := [monotonicity #73]: #75
-#37 := [asserted]: #35
-#77 := [mp #37 #76]: #74
-#78 := [not-or-elim #77]: #60
-#80 := [and-elim #78]: #17
-#570 := (pattern #10)
-#569 := (pattern #8)
-#571 := (forall (vars (?v0 S2)) (:pat #569 #570) #41)
-#574 := (iff #44 #571)
-#572 := (iff #41 #41)
-#573 := [refl]: #572
-#575 := [quant-intro #573]: #574
-#121 := (~ #44 #44)
-#107 := (~ #41 #41)
-#108 := [refl]: #107
-#122 := [nnf-pos #108]: #121
-#79 := [and-elim #78]: #44
-#125 := [mp~ #79 #122]: #44
-#576 := [mp #125 #575]: #571
-#244 := (not #571)
-#245 := (or #244 #154 #16)
-#241 := (or #154 #16)
-#242 := (or #244 #241)
-#225 := (iff #242 #245)
-#561 := [rewrite]: #225
-#246 := [quant-inst #14]: #242
-#563 := [mp #246 #561]: #245
-#567 := [unit-resolution #563 #576 #80]: #154
-#143 := (or #11 #9 #25)
-#577 := (forall (vars (?v0 S2)) (:pat #570 #569) #143)
-#148 := (forall (vars (?v0 S2)) #143)
-#580 := (iff #148 #577)
-#578 := (iff #143 #143)
-#579 := [refl]: #578
-#581 := [quant-intro #579]: #580
-#112 := (or #47 #25)
-#117 := (forall (vars (?v0 S2)) #112)
-#149 := (iff #117 #148)
-#146 := (iff #112 #143)
-#129 := (or #11 #9)
-#140 := (or #129 #25)
-#144 := (iff #140 #143)
-#145 := [rewrite]: #144
-#141 := (iff #112 #140)
-#138 := (iff #47 #129)
-#130 := (not #129)
-#133 := (not #130)
-#136 := (iff #133 #129)
-#137 := [rewrite]: #136
-#134 := (iff #47 #133)
-#131 := (iff #20 #130)
-#132 := [rewrite]: #131
-#135 := [monotonicity #132]: #134
-#139 := [trans #135 #137]: #138
-#142 := [monotonicity #139]: #141
-#147 := [trans #142 #145]: #146
-#150 := [quant-intro #147]: #149
-#126 := (~ #117 #117)
-#124 := (~ #112 #112)
-#127 := [refl]: #124
-#123 := [nnf-pos #127]: #126
-#118 := (iff #51 #117)
-#115 := (iff #48 #112)
-#113 := (or #47 false #25)
-#109 := (iff #113 #112)
-#110 := [rewrite]: #109
-#114 := (iff #48 #113)
-#105 := (iff #23 false)
-#82 := (not #23)
-#83 := [not-or-elim #77]: #82
-#106 := [iff-false #83]: #105
-#111 := [monotonicity #106]: #114
-#116 := [trans #111 #110]: #115
-#119 := [quant-intro #116]: #118
-#81 := [and-elim #78]: #51
-#120 := [mp #81 #119]: #117
-#128 := [mp~ #120 #123]: #117
-#151 := [mp #128 #150]: #148
-#582 := [mp #151 #581]: #577
-#350 := (not #577)
-#557 := (or #350 #16 #240 #25)
-#232 := (or #16 #240 #25)
-#230 := (or #350 #232)
-#564 := (iff #230 #557)
-#565 := [rewrite]: #564
-#231 := [quant-inst #14]: #230
-#566 := [mp #231 #565]: #557
-#562 := [unit-resolution #566 #80 #582 #567]: #25
-#84 := (not #32)
-#85 := [not-or-elim #77]: #84
-#243 := (not #25)
-#568 := (or #244 #243 #32)
-#219 := (or #243 #32)
-#558 := (or #244 #219)
-#222 := (iff #558 #568)
-#559 := [rewrite]: #222
-#217 := [quant-inst #21]: #558
-#218 := [mp #217 #559]: #568
-[unit-resolution #218 #576 #85 #562]: false
-dad47c0dccdde5aaf69b20f49e2beb333b7d1c8d 25 0
-unsat
+#119 := (iff #35 #116)
+#64 := (or #63 #26)
+#67 := (forall (vars (?v0 S2)) #64)
+#70 := (and #17 #67)
+#73 := (and #60 #70)
+#79 := (not #73)
+#80 := (or #79 #33)
+#85 := (not #80)
+#117 := (iff #85 #116)
+#114 := (iff #80 #111)
+#108 := (or #105 #33)
+#112 := (iff #108 #111)
+#113 := [rewrite]: #112
+#109 := (iff #80 #108)
+#106 := (iff #79 #105)
+#103 := (iff #73 #100)
+#94 := (and #17 #91)
+#97 := (and #60 #94)
+#101 := (iff #97 #100)
+#102 := [rewrite]: #101
+#98 := (iff #73 #97)
+#95 := (iff #70 #94)
+#92 := (iff #67 #91)
+#89 := (iff #64 #88)
+#90 := [rewrite]: #89
+#93 := [quant-intro #90]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #96]: #98
+#104 := [trans #99 #102]: #103
+#107 := [monotonicity #104]: #106
+#110 := [monotonicity #107]: #109
+#115 := [trans #110 #113]: #114
+#118 := [monotonicity #115]: #117
+#86 := (iff #35 #85)
+#83 := (iff #34 #80)
+#76 := (implies #73 #33)
+#81 := (iff #76 #80)
+#82 := [rewrite]: #81
+#77 := (iff #34 #76)
+#74 := (iff #30 #73)
+#71 := (iff #29 #70)
+#68 := (iff #28 #67)
+#65 := (iff #27 #64)
+#66 := [rewrite]: #65
+#69 := [quant-intro #66]: #68
+#72 := [monotonicity #69]: #71
+#61 := (iff #13 #60)
+#58 := (iff #12 #57)
+#59 := [rewrite]: #58
+#62 := [quant-intro #59]: #61
+#75 := [monotonicity #62 #72]: #74
+#78 := [monotonicity #75]: #77
+#84 := [trans #78 #82]: #83
+#87 := [monotonicity #84]: #86
+#120 := [trans #87 #118]: #119
+#56 := [asserted]: #35
+#121 := [mp #56 #120]: #116
+#122 := [not-or-elim #121]: #100
+#124 := [and-elim #122]: #17
+#657 := (pattern #10)
+#656 := (pattern #8)
+#658 := (forall (vars (?v0 S2)) (:pat #656 #657) #57)
+#661 := (iff #60 #658)
+#659 := (iff #57 #57)
+#660 := [refl]: #659
+#662 := [quant-intro #660]: #661
+#138 := (~ #60 #60)
+#141 := (~ #57 #57)
+#142 := [refl]: #141
+#154 := [nnf-pos #142]: #138
+#123 := [and-elim #122]: #60
+#135 := [mp~ #123 #154]: #60
+#663 := [mp #135 #662]: #658
+#331 := (not #658)
+#332 := (or #331 #242 #16)
+#328 := (or #242 #16)
+#329 := (or #331 #328)
+#312 := (iff #329 #332)
+#648 := [rewrite]: #312
+#333 := [quant-inst #14]: #329
+#650 := [mp #333 #648]: #332
+#654 := [unit-resolution #650 #663 #124]: #242
+#169 := (or #11 #9 #25)
+#664 := (forall (vars (?v0 S2)) (:pat #657 #656) #169)
+#174 := (forall (vars (?v0 S2)) #169)
+#667 := (iff #174 #664)
+#665 := (iff #169 #169)
+#666 := [refl]: #665
+#668 := [quant-intro #666]: #667
+#146 := (or #63 #25)
+#151 := (forall (vars (?v0 S2)) #146)
+#175 := (iff #151 #174)
+#172 := (iff #146 #169)
+#155 := (or #11 #9)
+#166 := (or #155 #25)
+#170 := (iff #166 #169)
+#171 := [rewrite]: #170
+#167 := (iff #146 #166)
+#164 := (iff #63 #155)
+#156 := (not #155)
+#159 := (not #156)
+#162 := (iff #159 #155)
+#163 := [rewrite]: #162
+#160 := (iff #63 #159)
+#157 := (iff #20 #156)
+#158 := [rewrite]: #157
+#161 := [monotonicity #158]: #160
+#165 := [trans #161 #163]: #164
+#168 := [monotonicity #165]: #167
+#173 := [trans #168 #171]: #172
+#176 := [quant-intro #173]: #175
+#134 := (~ #151 #151)
+#136 := (~ #146 #146)
+#133 := [refl]: #136
+#131 := [nnf-pos #133]: #134
+#152 := (iff #91 #151)
+#149 := (iff #88 #146)
+#143 := (or #63 false #25)
+#147 := (iff #143 #146)
+#148 := [rewrite]: #147
+#144 := (iff #88 #143)
+#139 := (iff #23 false)
+#126 := (not #23)
+#127 := [not-or-elim #121]: #126
+#140 := [iff-false #127]: #139
+#145 := [monotonicity #140]: #144
+#150 := [trans #145 #148]: #149
+#153 := [quant-intro #150]: #152
+#125 := [and-elim #122]: #91
+#137 := [mp #125 #153]: #151
+#132 := [mp~ #137 #131]: #151
+#177 := [mp #132 #176]: #174
+#669 := [mp #177 #668]: #664
+#437 := (not #664)
+#644 := (or #437 #16 #327 #25)
+#319 := (or #16 #327 #25)
+#317 := (or #437 #319)
+#651 := (iff #317 #644)
+#652 := [rewrite]: #651
+#318 := [quant-inst #14]: #317
+#653 := [mp #318 #652]: #644
+#649 := [unit-resolution #653 #124 #669 #654]: #25
+#128 := (not #32)
+#129 := [not-or-elim #121]: #128
+#330 := (not #25)
+#655 := (or #331 #330 #32)
+#306 := (or #330 #32)
+#645 := (or #331 #306)
+#309 := (iff #645 #655)
+#646 := [rewrite]: #309
+#304 := [quant-inst #21]: #645
+#305 := [mp #304 #646]: #655
+[unit-resolution #305 #663 #129 #649]: false
+unsat
+19990be1db50e963aafcc1c9ab3bda9712fc1797 1 0
+unsat
+1cfdaf7cf1764c12b112c06ca51a00830c6fcdde 25 0
 #2 := false
 #7 := (:var 0 S2)
 #8 := (= #7 #7)
 #9 := (exists (vars (?v0 S2)) #8)
 #10 := (not #9)
-#30 := (iff #10 false)
-#1 := true
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #10 #25)
-#23 := (iff #9 true)
-#18 := (exists (vars (?v0 S2)) true)
-#21 := (iff #18 true)
-#22 := [elim-unused]: #21
-#19 := (iff #9 #18)
-#16 := (iff #8 true)
-#17 := [rewrite]: #16
-#20 := [quant-intro #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#12 := [asserted]: #10
-[mp #12 #31]: false
-fc36fcb821679c8080c506c122956d27caba0078 23 0
-unsat
+#46 := (iff #10 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #10 #41)
+#39 := (iff #9 true)
+#34 := (exists (vars (?v0 S2)) true)
+#37 := (iff #34 true)
+#38 := [elim-unused]: #37
+#35 := (iff #9 #34)
+#32 := (iff #8 true)
+#33 := [rewrite]: #32
+#36 := [quant-intro #33]: #35
+#40 := [trans #36 #38]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#31 := [asserted]: #10
+[mp #31 #47]: false
+unsat
+983e6603d4caff6f91195b6f7c23c1ebf8889f75 23 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -4696,400 +4543,400 @@
 #10 := (exists (vars (?v0 S2)) #9)
 #11 := (iff #10 #10)
 #12 := (not #11)
-#25 := (iff #12 false)
-#1 := true
-#20 := (not true)
-#23 := (iff #20 false)
-#24 := [rewrite]: #23
-#21 := (iff #12 #20)
-#18 := (iff #11 true)
-#19 := [rewrite]: #18
-#22 := [monotonicity #19]: #21
-#26 := [trans #22 #24]: #25
-#14 := [asserted]: #12
-[mp #14 #26]: false
-7ef14cc2eb8981200f35e7bb0dd9d8dc37927aaa 205 0
-unsat
+#41 := (iff #12 false)
+#1 := true
+#36 := (not true)
+#39 := (iff #36 false)
+#40 := [rewrite]: #39
+#37 := (iff #12 #36)
+#34 := (iff #11 true)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#42 := [trans #38 #40]: #41
+#33 := [asserted]: #12
+[mp #33 #42]: false
+unsat
+a5805ee4c963267c1bf8cb35e86d5702ad58f164 205 0
 #2 := false
 decl f4 :: (-> S2 S1)
 #7 := (:var 0 S2)
 #10 := (f4 #7)
-#539 := (pattern #10)
+#600 := (pattern #10)
 decl f1 :: S1
 #3 := f1
 #11 := (= #10 f1)
-#85 := (not #11)
-#553 := (forall (vars (?v0 S2)) (:pat #539) #85)
-#558 := (not #553)
+#55 := (not #11)
+#614 := (forall (vars (?v0 S2)) (:pat #600) #55)
+#619 := (not #614)
 decl f3 :: (-> S2 S1)
 #8 := (f3 #7)
-#538 := (pattern #8)
+#599 := (pattern #8)
 #9 := (= #8 f1)
-#78 := (not #9)
-#545 := (forall (vars (?v0 S2)) (:pat #538) #78)
-#550 := (not #545)
-#561 := (or #550 #558)
-#564 := (not #561)
+#50 := (not #9)
+#606 := (forall (vars (?v0 S2)) (:pat #599) #50)
+#611 := (not #606)
+#622 := (or #611 #619)
+#625 := (not #622)
 #12 := (or #9 #11)
-#48 := (not #12)
-#540 := (forall (vars (?v0 S2)) (:pat #538 #539) #48)
-#214 := (not #540)
+#96 := (not #12)
+#601 := (forall (vars (?v0 S2)) (:pat #599 #600) #96)
+#275 := (not #601)
+decl ?v0!1 :: S2
+#73 := ?v0!1
+#74 := (f4 ?v0!1)
+#75 := (= #74 f1)
+#579 := (f3 ?v0!1)
+#580 := (= #579 f1)
+#575 := (or #580 #75)
 decl ?v0!2 :: S2
-#70 := ?v0!2
-#71 := (f4 ?v0!2)
-#72 := (= #71 f1)
-#518 := (f3 ?v0!2)
-#519 := (= #518 f1)
-#514 := (or #519 #72)
+#83 := ?v0!2
+#86 := (f4 ?v0!2)
+#87 := (= #86 f1)
+#249 := (not #87)
+#84 := (f3 ?v0!2)
+#85 := (= #84 f1)
+#88 := (or #85 #87)
+#262 := (not #88)
+#274 := [hypothesis]: #601
+#595 := (or #262 #275)
+#273 := [hypothesis]: #88
+#272 := (or #275 #262)
+#276 := [quant-inst #83]: #272
+#594 := [unit-resolution #276 #274 #273]: false
+#596 := [lemma #594]: #595
+#218 := [unit-resolution #596 #274]: #262
+#380 := (or #88 #249)
+#587 := [def-axiom]: #380
+#582 := [unit-resolution #587 #218]: #249
+#255 := (not #85)
+#591 := (or #88 #255)
+#593 := [def-axiom]: #591
+#296 := [unit-resolution #593 #218]: #255
 decl ?v0!0 :: S2
-#54 := ?v0!0
-#57 := (f4 ?v0!0)
-#58 := (= #57 f1)
-#188 := (not #58)
-#55 := (f3 ?v0!0)
-#56 := (= #55 f1)
-#59 := (or #56 #58)
-#201 := (not #59)
-#213 := [hypothesis]: #540
-#534 := (or #201 #214)
-#212 := [hypothesis]: #59
-#211 := (or #214 #201)
-#215 := [quant-inst #54]: #211
-#533 := [unit-resolution #215 #213 #212]: false
-#535 := [lemma #533]: #534
-#157 := [unit-resolution #535 #213]: #201
-#319 := (or #59 #188)
-#526 := [def-axiom]: #319
-#521 := [unit-resolution #526 #157]: #188
-#194 := (not #56)
-#530 := (or #59 #194)
-#532 := [def-axiom]: #530
-#235 := [unit-resolution #532 #157]: #194
-decl ?v0!1 :: S2
-#65 := ?v0!1
-#66 := (f3 ?v0!1)
-#67 := (= #66 f1)
-#529 := (not #67)
-#536 := (f4 ?v0!1)
-#531 := (= #536 f1)
-#537 := (or #67 #531)
-#527 := (not #537)
-#516 := (or #527 #214)
-#186 := [hypothesis]: #537
-#528 := (or #214 #527)
-#187 := [quant-inst #65]: #528
-#191 := [unit-resolution #187 #213 #186]: false
-#517 := [lemma #191]: #516
-#236 := [unit-resolution #517 #213]: #527
-#171 := (or #537 #529)
-#513 := [def-axiom]: #171
-#237 := [unit-resolution #513 #236]: #529
-#104 := (or #56 #58 #67 #72)
-#88 := (forall (vars (?v0 S2)) #85)
-#81 := (forall (vars (?v0 S2)) #78)
-#92 := (and #81 #88)
-#51 := (forall (vars (?v0 S2)) #48)
-#96 := (or #51 #92)
-#107 := (and #104 #96)
-#75 := (or #67 #72)
-#97 := (or #59 #75)
-#98 := (and #97 #96)
-#108 := (iff #98 #107)
-#105 := (iff #97 #104)
-#106 := [rewrite]: #105
-#109 := [monotonicity #106]: #108
+#66 := ?v0!0
+#67 := (f3 ?v0!0)
+#68 := (= #67 f1)
+#590 := (not #68)
+#597 := (f4 ?v0!0)
+#592 := (= #597 f1)
+#598 := (or #68 #592)
+#588 := (not #598)
+#577 := (or #588 #275)
+#247 := [hypothesis]: #598
+#589 := (or #275 #588)
+#248 := [quant-inst #66]: #589
+#252 := [unit-resolution #248 #274 #247]: false
+#578 := [lemma #252]: #577
+#297 := [unit-resolution #578 #274]: #588
+#232 := (or #598 #590)
+#574 := [def-axiom]: #232
+#298 := [unit-resolution #574 #297]: #590
+#110 := (or #85 #87 #68 #75)
+#58 := (forall (vars (?v0 S2)) #55)
+#53 := (forall (vars (?v0 S2)) #50)
+#62 := (and #53 #58)
+#99 := (forall (vars (?v0 S2)) #96)
+#102 := (or #99 #62)
+#113 := (and #110 #102)
+#80 := (or #68 #75)
+#103 := (or #88 #80)
+#104 := (and #103 #102)
+#114 := (iff #104 #113)
+#111 := (iff #103 #110)
+#112 := [rewrite]: #111
+#115 := [monotonicity #112]: #114
 #15 := (exists (vars (?v0 S2)) #11)
 #14 := (exists (vars (?v0 S2)) #9)
 #16 := (or #14 #15)
 #13 := (exists (vars (?v0 S2)) #12)
-#24 := (not #13)
-#25 := (iff #24 #16)
-#99 := (~ #25 #98)
-#93 := (not #16)
-#94 := (~ #93 #92)
-#89 := (not #15)
-#90 := (~ #89 #88)
-#86 := (~ #85 #85)
-#87 := [refl]: #86
-#91 := [nnf-neg #87]: #90
-#82 := (not #14)
-#83 := (~ #82 #81)
-#79 := (~ #78 #78)
-#80 := [refl]: #79
-#84 := [nnf-neg #80]: #83
-#95 := [nnf-neg #84 #91]: #94
-#76 := (~ #16 #75)
-#73 := (~ #15 #72)
-#74 := [sk]: #73
-#68 := (~ #14 #67)
-#69 := [sk]: #68
-#77 := [monotonicity #69 #74]: #76
-#62 := (not #24)
-#63 := (~ #62 #59)
-#60 := (~ #13 #59)
-#61 := [sk]: #60
-#64 := [nnf-neg #61]: #63
-#52 := (~ #24 #51)
-#49 := (~ #48 #48)
-#50 := [refl]: #49
-#53 := [nnf-neg #50]: #52
-#100 := [nnf-pos #53 #64 #77 #95]: #99
+#40 := (not #13)
+#41 := (iff #40 #16)
+#105 := (~ #41 #104)
+#81 := (~ #16 #80)
+#76 := (~ #15 #75)
+#77 := [sk]: #76
+#69 := (~ #14 #68)
+#70 := [sk]: #69
+#82 := [monotonicity #70 #77]: #81
+#63 := (not #16)
+#64 := (~ #63 #62)
+#59 := (not #15)
+#60 := (~ #59 #58)
+#56 := (~ #55 #55)
+#57 := [refl]: #56
+#61 := [nnf-neg #57]: #60
+#45 := (not #14)
+#47 := (~ #45 #53)
+#51 := (~ #50 #50)
+#52 := [refl]: #51
+#54 := [nnf-neg #52]: #47
+#65 := [nnf-neg #54 #61]: #64
+#100 := (~ #40 #99)
+#97 := (~ #96 #96)
+#98 := [refl]: #97
+#101 := [nnf-neg #98]: #100
+#93 := (not #40)
+#94 := (~ #93 #88)
+#89 := (~ #13 #88)
+#90 := [sk]: #89
+#95 := [nnf-neg #90]: #94
+#106 := [nnf-pos #95 #101 #65 #82]: #105
 #17 := (iff #13 #16)
 #18 := (not #17)
-#26 := (iff #18 #25)
-#27 := [rewrite]: #26
-#20 := [asserted]: #18
-#28 := [mp #20 #27]: #25
-#101 := [mp~ #28 #100]: #98
-#102 := [mp #101 #109]: #107
-#103 := [and-elim #102]: #104
-#129 := [unit-resolution #103 #237 #235 #521]: #72
-#525 := (not #72)
-#511 := (or #514 #525)
-#512 := [def-axiom]: #511
-#507 := [unit-resolution #512 #129]: #514
-#520 := (not #514)
-#523 := (or #214 #520)
-#162 := [quant-inst #70]: #523
-#508 := [unit-resolution #162 #213 #507]: false
-#230 := [lemma #508]: #214
-#567 := (or #540 #564)
-#112 := (not #88)
-#111 := (not #81)
-#113 := (or #111 #112)
-#114 := (not #113)
-#117 := (or #51 #114)
-#568 := (iff #117 #567)
-#565 := (iff #114 #564)
-#562 := (iff #113 #561)
-#559 := (iff #112 #558)
-#556 := (iff #88 #553)
-#554 := (iff #85 #85)
-#555 := [refl]: #554
-#557 := [quant-intro #555]: #556
-#560 := [monotonicity #557]: #559
-#551 := (iff #111 #550)
-#548 := (iff #81 #545)
-#546 := (iff #78 #78)
-#547 := [refl]: #546
-#549 := [quant-intro #547]: #548
-#552 := [monotonicity #549]: #551
-#563 := [monotonicity #552 #560]: #562
-#566 := [monotonicity #563]: #565
-#543 := (iff #51 #540)
-#541 := (iff #48 #48)
-#542 := [refl]: #541
-#544 := [quant-intro #542]: #543
-#569 := [monotonicity #544 #566]: #568
-#118 := (iff #96 #117)
-#115 := (iff #92 #114)
-#116 := [rewrite]: #115
-#119 := [monotonicity #116]: #118
-#110 := [and-elim #102]: #96
-#120 := [mp #110 #119]: #117
-#570 := [mp #120 #569]: #567
-#163 := [unit-resolution #570 #230]: #564
-#122 := (or #561 #553)
-#209 := [def-axiom]: #122
-#222 := [unit-resolution #209 #163]: #553
-#121 := (or #561 #545)
-#208 := [def-axiom]: #121
-#524 := [unit-resolution #208 #163]: #545
-#509 := [hypothesis]: #67
-#510 := (or #550 #529)
-#220 := [quant-inst #65]: #510
-#506 := [unit-resolution #220 #509 #524]: false
-#221 := [lemma #506]: #529
-#234 := [hypothesis]: #56
-#522 := (or #550 #194)
-#219 := [quant-inst #54]: #522
-#231 := [unit-resolution #219 #234 #524]: false
-#505 := [lemma #231]: #194
-#223 := [hypothesis]: #58
-#501 := (or #558 #188)
-#502 := [quant-inst #54]: #501
-#216 := [unit-resolution #502 #223 #222]: false
-#499 := [lemma #216]: #188
-#503 := [unit-resolution #103 #499 #505 #221]: #72
-#504 := (or #558 #525)
-#493 := [quant-inst #70]: #504
-[unit-resolution #493 #503 #222]: false
-971101afe4e49303a8bf2ce8173c0b2d6a20580f 173 0
-unsat
+#42 := (iff #18 #41)
+#43 := [rewrite]: #42
+#39 := [asserted]: #18
+#46 := [mp #39 #43]: #41
+#107 := [mp~ #46 #106]: #104
+#108 := [mp #107 #115]: #113
+#109 := [and-elim #108]: #110
+#191 := [unit-resolution #109 #298 #296 #582]: #75
+#586 := (not #75)
+#572 := (or #575 #586)
+#573 := [def-axiom]: #572
+#568 := [unit-resolution #573 #191]: #575
+#581 := (not #575)
+#584 := (or #275 #581)
+#223 := [quant-inst #73]: #584
+#569 := [unit-resolution #223 #274 #568]: false
+#291 := [lemma #569]: #275
+#628 := (or #601 #625)
+#72 := (not #58)
+#71 := (not #53)
+#91 := (or #71 #72)
+#92 := (not #91)
+#117 := (or #99 #92)
+#629 := (iff #117 #628)
+#626 := (iff #92 #625)
+#623 := (iff #91 #622)
+#620 := (iff #72 #619)
+#617 := (iff #58 #614)
+#615 := (iff #55 #55)
+#616 := [refl]: #615
+#618 := [quant-intro #616]: #617
+#621 := [monotonicity #618]: #620
+#612 := (iff #71 #611)
+#609 := (iff #53 #606)
+#607 := (iff #50 #50)
+#608 := [refl]: #607
+#610 := [quant-intro #608]: #609
+#613 := [monotonicity #610]: #612
+#624 := [monotonicity #613 #621]: #623
+#627 := [monotonicity #624]: #626
+#604 := (iff #99 #601)
+#602 := (iff #96 #96)
+#603 := [refl]: #602
+#605 := [quant-intro #603]: #604
+#630 := [monotonicity #605 #627]: #629
+#118 := (iff #102 #117)
+#78 := (iff #62 #92)
+#79 := [rewrite]: #78
+#119 := [monotonicity #79]: #118
+#116 := [and-elim #108]: #102
+#120 := [mp #116 #119]: #117
+#631 := [mp #120 #630]: #628
+#224 := [unit-resolution #631 #291]: #625
+#184 := (or #622 #614)
+#270 := [def-axiom]: #184
+#283 := [unit-resolution #270 #224]: #614
+#183 := (or #622 #606)
+#269 := [def-axiom]: #183
+#585 := [unit-resolution #269 #224]: #606
+#570 := [hypothesis]: #68
+#571 := (or #611 #590)
+#281 := [quant-inst #66]: #571
+#567 := [unit-resolution #281 #570 #585]: false
+#282 := [lemma #567]: #590
+#295 := [hypothesis]: #85
+#583 := (or #611 #255)
+#280 := [quant-inst #83]: #583
+#292 := [unit-resolution #280 #295 #585]: false
+#566 := [lemma #292]: #255
+#284 := [hypothesis]: #87
+#562 := (or #619 #249)
+#563 := [quant-inst #83]: #562
+#277 := [unit-resolution #563 #284 #283]: false
+#560 := [lemma #277]: #249
+#564 := [unit-resolution #109 #560 #566 #282]: #75
+#565 := (or #619 #586)
+#554 := [quant-inst #73]: #565
+[unit-resolution #554 #564 #283]: false
+unsat
+15bd078d1caba7b30476b1f272408346e917c717 173 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#550 := (pattern #8)
+#611 := (pattern #8)
 decl f1 :: S1
 #3 := f1
 #9 := (= #8 f1)
-#47 := (not #9)
-#551 := (forall (vars (?v0 S2)) (:pat #550) #47)
+#77 := (not #9)
+#612 := (forall (vars (?v0 S2)) (:pat #611) #77)
 decl f4 :: S1
 #11 := f4
 #12 := (= f4 f1)
-#54 := (not #12)
-decl ?v0!0 :: S2
-#60 := ?v0!0
-#61 := (f3 ?v0!0)
-#62 := (= #61 f1)
-#101 := (not #62)
-#102 := (or #101 #54)
-#206 := [hypothesis]: #54
-#134 := (or #102 #12)
-#221 := [def-axiom]: #134
-#542 := [unit-resolution #221 #206]: #102
+#84 := (not #12)
 decl ?v0!1 :: S2
-#73 := ?v0!1
-#74 := (f3 ?v0!1)
-#75 := (= #74 f1)
-#106 := (not #75)
-#107 := (or #106 #54)
-#225 := (or #107 #12)
-#226 := [def-axiom]: #225
-#544 := [unit-resolution #226 #206]: #107
+#62 := ?v0!1
+#63 := (f3 ?v0!1)
+#64 := (= #63 f1)
+#67 := (not #64)
+#68 := (or #67 #84)
+#267 := [hypothesis]: #84
+#196 := (or #68 #12)
+#282 := [def-axiom]: #196
+#603 := [unit-resolution #282 #267]: #68
+decl ?v0!0 :: S2
+#54 := ?v0!0
+#55 := (f3 ?v0!0)
+#56 := (= #55 f1)
+#106 := (not #56)
+#107 := (or #106 #84)
+#286 := (or #107 #12)
+#287 := [def-axiom]: #286
+#605 := [unit-resolution #287 #267]: #107
 #108 := (not #107)
-#103 := (not #102)
-#111 := (or #103 #108)
-#76 := (and #75 #12)
-#67 := (and #62 #12)
-#87 := (or #67 #76)
-#112 := (iff #87 #111)
-#109 := (iff #76 #108)
+#60 := (not #68)
+#111 := (or #60 #108)
+#57 := (and #56 #12)
+#71 := (and #64 #12)
+#91 := (or #71 #57)
+#112 := (iff #91 #111)
+#109 := (iff #57 #108)
 #110 := [rewrite]: #109
-#104 := (iff #67 #103)
-#105 := [rewrite]: #104
+#61 := (iff #71 #60)
+#105 := [rewrite]: #61
 #113 := [monotonicity #105 #110]: #112
 #14 := (and #9 #12)
-#79 := (not #14)
-#82 := (forall (vars (?v0 S2)) #79)
-#50 := (forall (vars (?v0 S2)) #47)
-#94 := (or #50 #54 #82)
-#97 := (and #87 #94)
-#57 := (or #50 #54)
-#86 := (or #57 #82)
-#88 := (and #87 #86)
-#98 := (iff #88 #97)
-#95 := (iff #86 #94)
-#96 := [rewrite]: #95
-#99 := [monotonicity #96]: #98
+#49 := (not #14)
+#52 := (forall (vars (?v0 S2)) #49)
+#80 := (forall (vars (?v0 S2)) #77)
+#98 := (or #80 #84 #52)
+#101 := (and #91 #98)
+#87 := (or #80 #84)
+#90 := (or #87 #52)
+#92 := (and #91 #90)
+#102 := (iff #92 #101)
+#99 := (iff #90 #98)
+#100 := [rewrite]: #99
+#103 := [monotonicity #100]: #102
 #15 := (exists (vars (?v0 S2)) #14)
 #10 := (exists (vars (?v0 S2)) #9)
 #13 := (and #10 #12)
-#23 := (not #13)
-#24 := (iff #23 #15)
-#89 := (~ #24 #88)
-#83 := (not #15)
-#84 := (~ #83 #82)
-#80 := (~ #79 #79)
-#81 := [refl]: #80
-#85 := [nnf-neg #81]: #84
-#77 := (~ #15 #76)
-#78 := [sk]: #77
-#70 := (not #23)
-#71 := (~ #70 #67)
-#68 := (~ #13 #67)
-#65 := (~ #12 #12)
-#66 := [refl]: #65
-#63 := (~ #10 #62)
-#64 := [sk]: #63
-#69 := [monotonicity #64 #66]: #68
-#72 := [nnf-neg #69]: #71
-#58 := (~ #23 #57)
-#55 := (~ #54 #54)
-#56 := [refl]: #55
-#51 := (not #10)
-#52 := (~ #51 #50)
-#48 := (~ #47 #47)
-#49 := [refl]: #48
-#53 := [nnf-neg #49]: #52
-#59 := [nnf-neg #53 #56]: #58
-#90 := [nnf-pos #59 #72 #78 #85]: #89
+#39 := (not #13)
+#40 := (iff #39 #15)
+#93 := (~ #40 #92)
+#58 := (~ #15 #57)
+#59 := [sk]: #58
+#44 := (not #15)
+#46 := (~ #44 #52)
+#50 := (~ #49 #49)
+#51 := [refl]: #50
+#53 := [nnf-neg #51]: #46
+#88 := (~ #39 #87)
+#85 := (~ #84 #84)
+#86 := [refl]: #85
+#81 := (not #10)
+#82 := (~ #81 #80)
+#78 := (~ #77 #77)
+#79 := [refl]: #78
+#83 := [nnf-neg #79]: #82
+#89 := [nnf-neg #83 #86]: #88
+#74 := (not #39)
+#75 := (~ #74 #71)
+#72 := (~ #13 #71)
+#69 := (~ #12 #12)
+#70 := [refl]: #69
+#65 := (~ #10 #64)
+#66 := [sk]: #65
+#73 := [monotonicity #66 #70]: #72
+#76 := [nnf-neg #73]: #75
+#94 := [nnf-pos #76 #89 #53 #59]: #93
 #16 := (iff #13 #15)
 #17 := (not #16)
-#25 := (iff #17 #24)
-#26 := [rewrite]: #25
-#19 := [asserted]: #17
-#27 := [mp #19 #26]: #24
-#91 := [mp~ #27 #90]: #88
-#92 := [mp #91 #99]: #97
-#93 := [and-elim #92]: #87
-#114 := [mp #93 #113]: #111
-#200 := [unit-resolution #114 #544 #542]: false
-#331 := [lemma #200]: #12
-#115 := (or #47 #54)
-#556 := (forall (vars (?v0 S2)) (:pat #550) #115)
-#539 := (not #556)
-#188 := [hypothesis]: #556
-#212 := (not #551)
-#211 := [hypothesis]: #75
-#545 := (or #212 #106)
-#538 := [hypothesis]: #551
-#546 := [quant-inst #73]: #545
-#547 := [unit-resolution #546 #211 #538]: false
-#548 := [lemma #547]: #545
-#543 := [unit-resolution #548 #211]: #212
-#561 := (or #551 #54 #556)
+#41 := (iff #17 #40)
+#42 := [rewrite]: #41
+#38 := [asserted]: #17
+#45 := [mp #38 #42]: #40
+#95 := [mp~ #45 #94]: #92
+#96 := [mp #95 #103]: #101
+#97 := [and-elim #96]: #91
+#114 := [mp #97 #113]: #111
+#261 := [unit-resolution #114 #605 #603]: false
+#392 := [lemma #261]: #12
+#115 := (or #77 #84)
+#617 := (forall (vars (?v0 S2)) (:pat #611) #115)
+#600 := (not #617)
+#249 := [hypothesis]: #617
+#273 := (not #612)
+#272 := [hypothesis]: #56
+#606 := (or #273 #106)
+#599 := [hypothesis]: #612
+#607 := [quant-inst #54]: #606
+#608 := [unit-resolution #607 #272 #599]: false
+#609 := [lemma #608]: #606
+#604 := [unit-resolution #609 #272]: #273
+#622 := (or #612 #84 #617)
 #126 := (forall (vars (?v0 S2)) #115)
-#129 := (or #50 #54 #126)
-#562 := (iff #129 #561)
-#559 := (iff #126 #556)
-#557 := (iff #115 #115)
-#558 := [refl]: #557
-#560 := [quant-intro #558]: #559
-#554 := (iff #50 #551)
-#552 := (iff #47 #47)
-#553 := [refl]: #552
-#555 := [quant-intro #553]: #554
-#563 := [monotonicity #555 #560]: #562
-#130 := (iff #94 #129)
-#127 := (iff #82 #126)
-#124 := (iff #79 #115)
+#129 := (or #80 #84 #126)
+#623 := (iff #129 #622)
+#620 := (iff #126 #617)
+#618 := (iff #115 #115)
+#619 := [refl]: #618
+#621 := [quant-intro #619]: #620
+#615 := (iff #80 #612)
+#613 := (iff #77 #77)
+#614 := [refl]: #613
+#616 := [quant-intro #614]: #615
+#624 := [monotonicity #616 #621]: #623
+#130 := (iff #98 #129)
+#127 := (iff #52 #126)
+#124 := (iff #49 #115)
 #116 := (not #115)
 #119 := (not #116)
 #122 := (iff #119 #115)
 #123 := [rewrite]: #122
-#120 := (iff #79 #119)
+#120 := (iff #49 #119)
 #117 := (iff #14 #116)
 #118 := [rewrite]: #117
 #121 := [monotonicity #118]: #120
 #125 := [trans #121 #123]: #124
 #128 := [quant-intro #125]: #127
 #131 := [monotonicity #128]: #130
-#100 := [and-elim #92]: #94
-#132 := [mp #100 #131]: #129
-#564 := [mp #132 #563]: #561
-#549 := [unit-resolution #564 #543 #331]: #556
-#198 := (or #539 #106 #54)
-#203 := (or #539 #107)
-#199 := (iff #203 #198)
-#541 := [rewrite]: #199
-#540 := [quant-inst #73]: #203
-#183 := [mp #540 #541]: #198
-#525 := [unit-resolution #183 #331 #211 #549]: false
-#187 := [lemma #525]: #106
-#213 := (or #107 #75)
-#224 := [def-axiom]: #213
-#189 := [unit-resolution #224 #187]: #107
-#526 := [unit-resolution #114 #189]: #103
-#133 := (or #102 #62)
-#220 := [def-axiom]: #133
-#532 := [unit-resolution #220 #526]: #62
-#190 := (or #539 #101 #54)
-#527 := (or #539 #102)
-#529 := (iff #527 #190)
-#530 := [rewrite]: #529
-#528 := [quant-inst #60]: #527
-#531 := [mp #528 #530]: #190
-#169 := [unit-resolution #531 #532 #331 #188]: false
-#533 := [lemma #169]: #539
-#535 := [unit-resolution #564 #533 #331]: #551
-#175 := (or #212 #101)
-#536 := [quant-inst #60]: #175
-[unit-resolution #536 #532 #535]: false
-1ef8ef2e60d46143c5456e75da2d8083df054812 34 0
-unsat
+#104 := [and-elim #96]: #98
+#132 := [mp #104 #131]: #129
+#625 := [mp #132 #624]: #622
+#610 := [unit-resolution #625 #604 #392]: #617
+#259 := (or #600 #106 #84)
+#264 := (or #600 #107)
+#260 := (iff #264 #259)
+#602 := [rewrite]: #260
+#601 := [quant-inst #54]: #264
+#244 := [mp #601 #602]: #259
+#586 := [unit-resolution #244 #392 #272 #610]: false
+#248 := [lemma #586]: #106
+#274 := (or #107 #56)
+#285 := [def-axiom]: #274
+#250 := [unit-resolution #285 #248]: #107
+#587 := [unit-resolution #114 #250]: #60
+#195 := (or #68 #64)
+#281 := [def-axiom]: #195
+#593 := [unit-resolution #281 #587]: #64
+#251 := (or #600 #67 #84)
+#588 := (or #600 #68)
+#590 := (iff #588 #251)
+#591 := [rewrite]: #590
+#589 := [quant-inst #62]: #588
+#592 := [mp #589 #591]: #251
+#230 := [unit-resolution #592 #593 #392 #249]: false
+#594 := [lemma #230]: #600
+#596 := [unit-resolution #625 #594 #392]: #612
+#236 := (or #273 #67)
+#597 := [quant-inst #62]: #236
+[unit-resolution #597 #593 #596]: false
+unsat
+f04d5873e94a5aad7b78e98d30003072c55f70b2 34 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -5105,47 +4952,47 @@
 #11 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #10)
 #16 := (iff #11 #15)
 #17 := (not #16)
-#36 := (iff #17 false)
-#1 := true
-#31 := (not true)
-#34 := (iff #31 false)
-#35 := [rewrite]: #34
-#32 := (iff #17 #31)
-#29 := (iff #16 true)
-#24 := (iff #15 #15)
-#27 := (iff #24 true)
-#28 := [rewrite]: #27
-#25 := (iff #16 #24)
-#23 := [elim-unused]: #16
-#26 := [monotonicity #23]: #25
-#30 := [trans #26 #28]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#19 := [asserted]: #17
-[mp #19 #37]: false
-1d545e5a8707fb488f0ac2e96346b291c3993c78 78 0
-unsat
+#52 := (iff #17 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #17 #47)
+#45 := (iff #16 true)
+#40 := (iff #15 #15)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#41 := (iff #16 #40)
+#39 := [elim-unused]: #16
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#38 := [asserted]: #17
+[mp #38 #53]: false
+unsat
+859cb38c5f32b7d6ba5f7cb98e20433a77c5ac6e 72 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#515 := (pattern #8)
+#568 := (pattern #8)
 decl f1 :: S1
 #3 := f1
 #9 := (= #8 f1)
 #10 := (not #9)
-#516 := (forall (vars (?v0 S2)) (:pat #515) #10)
-#94 := (forall (vars (?v0 S2)) #10)
-#519 := (iff #94 #516)
-#517 := (iff #10 #10)
-#518 := [refl]: #517
-#520 := [quant-intro #518]: #519
+#569 := (forall (vars (?v0 S2)) (:pat #568) #10)
+#84 := (forall (vars (?v0 S2)) #10)
+#572 := (iff #84 #569)
+#570 := (iff #10 #10)
+#571 := [refl]: #570
+#573 := [quant-intro #571]: #572
 #12 := (exists (vars (?v0 S2)) #9)
 #18 := (not #12)
-#95 := (~ #18 #94)
-#90 := (~ #10 #10)
-#91 := [refl]: #90
-#96 := [nnf-neg #91]: #95
+#85 := (~ #18 #84)
+#81 := (~ #10 #10)
+#82 := [refl]: #81
+#88 := [nnf-neg #82]: #85
 decl f4 :: (-> S2 S1)
 #13 := (f4 #7)
 #14 := (= #13 f1)
@@ -5153,1047 +5000,325 @@
 #16 := (exists (vars (?v0 S2)) #15)
 #17 := (or #12 #16)
 #11 := (exists (vars (?v0 S2)) #10)
-#28 := (and #11 #17 #18)
+#46 := (and #11 #17 #18)
 #19 := (and #17 #18)
 #20 := (and #11 #19)
 #21 := (not #20)
 #22 := (not #21)
-#39 := (iff #22 #28)
-#31 := (not #28)
-#34 := (not #31)
-#37 := (iff #34 #28)
-#38 := [rewrite]: #37
-#35 := (iff #22 #34)
-#32 := (iff #21 #31)
-#29 := (iff #20 #28)
-#30 := [rewrite]: #29
-#33 := [monotonicity #30]: #32
-#36 := [monotonicity #33]: #35
-#40 := [trans #36 #38]: #39
-#24 := [asserted]: #22
-#41 := [mp #24 #40]: #28
-#44 := [and-elim #41]: #18
-#97 := [mp~ #44 #96]: #94
-#521 := [mp #97 #520]: #516
+#49 := (iff #22 #46)
+#47 := (iff #20 #46)
+#48 := [rewrite]: #47
+#44 := (iff #22 #20)
+#45 := [rewrite]: #44
+#50 := [trans #45 #48]: #49
+#43 := [asserted]: #22
+#51 := [mp #43 #50]: #46
+#54 := [and-elim #51]: #18
+#89 := [mp~ #54 #88]: #84
+#574 := [mp #89 #573]: #569
 decl ?v0!1 :: S2
-#81 := ?v0!1
-#82 := (f3 ?v0!1)
-#83 := (= #82 f1)
-#84 := (f4 ?v0!1)
-#85 := (= #84 f1)
-#86 := (and #83 #85)
-#87 := (~ #16 #86)
-#88 := [sk]: #87
+#72 := ?v0!1
+#73 := (f3 ?v0!1)
+#75 := (= #73 f1)
+#76 := (f4 ?v0!1)
+#77 := (= #76 f1)
+#78 := (and #75 #77)
+#79 := (~ #16 #78)
+#80 := [sk]: #79
 #69 := (iff #17 #16)
 #64 := (or false #16)
-#71 := (iff #64 #16)
-#68 := [rewrite]: #71
+#67 := (iff #64 #16)
+#68 := [rewrite]: #67
 #65 := (iff #17 #64)
-#66 := (iff #12 false)
-#67 := [iff-false #44]: #66
-#70 := [monotonicity #67]: #65
-#72 := [trans #70 #68]: #69
-#43 := [and-elim #41]: #17
-#73 := [mp #43 #72]: #16
-#89 := [mp~ #73 #88]: #86
-#92 := [and-elim #89]: #83
-#98 := (not #83)
-#186 := (not #516)
-#100 := (or #186 #98)
-#187 := [quant-inst #81]: #100
-[unit-resolution #187 #92 #521]: false
-64ac5cdd2e2bbc8090d1b1182bdc796d3bfd82c3 42 0
+#62 := (iff #12 false)
+#63 := [iff-false #54]: #62
+#66 := [monotonicity #63]: #65
+#70 := [trans #66 #68]: #69
+#53 := [and-elim #51]: #17
+#60 := [mp #53 #70]: #16
+#83 := [mp~ #60 #80]: #78
+#86 := [and-elim #83]: #75
+#152 := (not #75)
+#239 := (not #569)
+#154 := (or #239 #152)
+#240 := [quant-inst #72]: #154
+[unit-resolution #240 #86 #574]: false
+unsat
+f78c1cf1e21deba8da342bf5b3ccd8619a3acc09 2 0
 WARNING: failed to find a pattern for quantifier (quantifier id: k!10)
 unsat
-#2 := false
-#8 := (:var 0 S2)
-#7 := (:var 1 S2)
-#9 := (= #7 #8)
-#36 := (not #9)
-#39 := (forall (vars (?v0 S2) (?v1 S2)) #36)
-#448 := (not #39)
-decl elem!0 :: S2
-#44 := elem!0
-#45 := (= elem!0 elem!0)
-#454 := (not #45)
-#121 := (or #448 #454)
-#459 := (iff #121 #448)
-#108 := (or #448 false)
-#435 := (iff #108 #448)
-#453 := [rewrite]: #435
-#113 := (iff #121 #108)
-#455 := (iff #454 false)
-#1 := true
-#123 := (not true)
-#136 := (iff #123 false)
-#116 := [rewrite]: #136
-#134 := (iff #454 #123)
-#122 := (iff #45 true)
-#132 := [rewrite]: #122
-#135 := [monotonicity #132]: #134
-#457 := [trans #135 #116]: #455
-#93 := [monotonicity #457]: #113
-#450 := [trans #93 #453]: #459
-#458 := [quant-inst #44 #44]: #121
-#109 := [mp #458 #450]: #448
-#10 := (exists (vars (?v0 S2) (?v1 S2)) #9)
-#11 := (not #10)
-#40 := (~ #11 #39)
-#37 := (~ #36 #36)
-#38 := [refl]: #37
-#41 := [nnf-neg #38]: #40
-#13 := [asserted]: #11
-#42 := [mp~ #13 #41]: #39
-[unit-resolution #42 #109]: false
-9067d5c00609a8193d1707b7db4e437e84211a7e 137 0
+f78f234620a6b9d63296ecb6ddac45e9775a4139 2 0
 WARNING: For problems containing quantifiers, the model finding capabilities of Z3 work better when the formula does not contain nested quantifiers. You can use PULL_NESTED_QUANTIFIERS=true to eliminate nested quantifiers.
 unsat
-#2 := false
-decl f3 :: (-> S2 S1)
-#7 := (:var 0 S2)
-#8 := (f3 #7)
-#526 := (pattern #8)
-decl f1 :: S1
-#3 := f1
-#9 := (= #8 f1)
-#23 := (not #9)
-decl elem!0 :: S2
-#110 := elem!0
-#189 := (f3 elem!0)
-#518 := (= #189 f1)
-#523 := (not #518)
-#200 := (or #523 #23)
-#111 := (forall (vars (?v1 S2)) (:pat #526) #200)
-#201 := (not #111)
-#202 := (or #523 #201)
-#199 := (not #202)
-#10 := (:var 1 S2)
-#11 := (f3 #10)
-#12 := (= #11 f1)
-#72 := (not #12)
-#81 := (or #72 #23)
-#527 := (forall (vars (?v1 S2)) (:pat #526) #81)
-#532 := (not #527)
-#535 := (or #23 #532)
-#538 := (not #535)
-#541 := (forall (vars (?v0 S2)) (:pat #526) #538)
-#92 := (forall (vars (?v1 S2)) #81)
-#98 := (not #92)
-#99 := (or #23 #98)
-#100 := (not #99)
-#105 := (forall (vars (?v0 S2)) #100)
-#542 := (iff #105 #541)
-#539 := (iff #100 #538)
-#536 := (iff #99 #535)
-#533 := (iff #98 #532)
-#530 := (iff #92 #527)
-#528 := (iff #81 #81)
-#529 := [refl]: #528
-#531 := [quant-intro #529]: #530
-#534 := [monotonicity #531]: #533
-#537 := [monotonicity #534]: #536
-#540 := [monotonicity #537]: #539
-#543 := [quant-intro #540]: #542
-#13 := (and #12 #9)
-#56 := (not #13)
-#59 := (forall (vars (?v1 S2)) #56)
-#75 := (and #9 #59)
-#78 := (forall (vars (?v0 S2)) #75)
-#106 := (iff #78 #105)
-#103 := (iff #75 #100)
-#95 := (and #9 #92)
-#101 := (iff #95 #100)
-#102 := [rewrite]: #101
-#96 := (iff #75 #95)
-#93 := (iff #59 #92)
-#90 := (iff #56 #81)
-#82 := (not #81)
-#85 := (not #82)
-#88 := (iff #85 #81)
-#89 := [rewrite]: #88
-#86 := (iff #56 #85)
-#83 := (iff #13 #82)
-#84 := [rewrite]: #83
-#87 := [monotonicity #84]: #86
-#91 := [trans #87 #89]: #90
-#94 := [quant-intro #91]: #93
-#97 := [monotonicity #94]: #96
-#104 := [trans #97 #102]: #103
-#107 := [quant-intro #104]: #106
-#53 := (not #23)
-#63 := (and #53 #59)
-#67 := (forall (vars (?v0 S2)) #63)
-#79 := (iff #67 #78)
-#76 := (iff #63 #75)
-#73 := (iff #53 #9)
-#74 := [rewrite]: #73
-#77 := [monotonicity #74]: #76
-#80 := [quant-intro #77]: #79
-#14 := (exists (vars (?v1 S2)) #13)
-#24 := (or #23 #14)
-#27 := (exists (vars (?v0 S2)) #24)
-#30 := (not #27)
-#68 := (~ #30 #67)
-#64 := (not #24)
-#65 := (~ #64 #63)
-#60 := (not #14)
-#61 := (~ #60 #59)
-#57 := (~ #56 #56)
-#58 := [refl]: #57
-#62 := [nnf-neg #58]: #61
-#54 := (~ #53 #53)
-#55 := [refl]: #54
-#66 := [nnf-neg #55 #62]: #65
-#69 := [nnf-neg #66]: #68
-#15 := (implies #9 #14)
-#16 := (exists (vars (?v0 S2)) #15)
-#17 := (not #16)
-#31 := (iff #17 #30)
-#28 := (iff #16 #27)
-#25 := (iff #15 #24)
-#26 := [rewrite]: #25
-#29 := [quant-intro #26]: #28
-#32 := [monotonicity #29]: #31
-#19 := [asserted]: #17
-#33 := [mp #19 #32]: #30
-#70 := [mp~ #33 #69]: #67
-#71 := [mp #70 #80]: #78
-#108 := [mp #71 #107]: #105
-#544 := [mp #108 #543]: #541
-#525 := (not #541)
-#188 := (or #525 #199)
-#524 := [quant-inst #110]: #188
-#506 := [unit-resolution #524 #544]: #199
-#174 := (or #202 #111)
-#179 := [def-axiom]: #174
-#507 := [unit-resolution #179 #506]: #111
-#515 := (or #202 #518)
-#521 := [def-axiom]: #515
-#502 := [unit-resolution #521 #506]: #518
-#159 := (or #201 #523)
-#176 := (or #523 #523)
-#501 := (or #201 #176)
-#164 := (iff #501 #159)
-#166 := (iff #159 #159)
-#503 := [rewrite]: #166
-#519 := (iff #176 #523)
-#517 := [rewrite]: #519
-#165 := [monotonicity #517]: #164
-#504 := [trans #165 #503]: #164
-#163 := [quant-inst #110]: #501
-#505 := [mp #163 #504]: #159
-[unit-resolution #505 #502 #507]: false
-cfadbe698d1c93f37fd55e77c41527ea8fc85b34 168 0
-unsat
-#2 := false
-decl f3 :: (-> S2 S1)
-#7 := (:var 0 S2)
-#8 := (f3 #7)
-#527 := (pattern #8)
-decl f1 :: S1
-#3 := f1
-#9 := (= #8 f1)
-#47 := (not #9)
-#528 := (forall (vars (?v0 S2)) (:pat #527) #47)
-decl f4 :: S1
-#11 := f4
-#12 := (= f4 f1)
-#533 := (not #528)
-#536 := (or #533 #12)
-#539 := (not #536)
-#14 := (or #9 #12)
-#79 := (not #14)
-#542 := (forall (vars (?v0 S2)) (:pat #527) #79)
-#164 := (not #542)
-decl ?v0!1 :: S2
-#73 := ?v0!1
-#74 := (f3 ?v0!1)
-#75 := (= #74 f1)
-#76 := (or #75 #12)
-#54 := (not #12)
-decl elem!2 :: S2
-#522 := elem!2
-#526 := (f3 elem!2)
-#176 := (= #526 f1)
-#160 := (or #176 #12)
-#502 := (not #160)
-#503 := [hypothesis]: #542
-#517 := (or #164 #502)
-#165 := [quant-inst #522]: #517
-#223 := [unit-resolution #165 #503]: #502
-#505 := (or #160 #54)
-#506 := [def-axiom]: #505
-#224 := [unit-resolution #506 #223]: #54
-decl ?v0!0 :: S2
-#60 := ?v0!0
-#61 := (f3 ?v0!0)
-#62 := (= #61 f1)
-#190 := (not #62)
-#67 := (or #62 #12)
-#180 := (not #67)
-#500 := (or #180 #164)
-#518 := [hypothesis]: #67
-#509 := (or #164 #180)
-#146 := [quant-inst #60]: #509
-#514 := [unit-resolution #146 #503 #518]: false
-#501 := [lemma #514]: #500
-#498 := [unit-resolution #501 #503]: #180
-#510 := (or #67 #190)
-#512 := [def-axiom]: #510
-#495 := [unit-resolution #512 #498]: #190
-#94 := (or #62 #75 #12)
-#82 := (forall (vars (?v0 S2)) #79)
-#50 := (forall (vars (?v0 S2)) #47)
-#57 := (and #50 #54)
-#86 := (or #57 #82)
-#97 := (and #94 #86)
-#87 := (or #67 #76)
-#88 := (and #87 #86)
-#98 := (iff #88 #97)
-#95 := (iff #87 #94)
-#96 := [rewrite]: #95
-#99 := [monotonicity #96]: #98
-#15 := (exists (vars (?v0 S2)) #14)
-#10 := (exists (vars (?v0 S2)) #9)
-#13 := (or #10 #12)
-#23 := (not #13)
-#24 := (iff #23 #15)
-#89 := (~ #24 #88)
-#83 := (not #15)
-#84 := (~ #83 #82)
-#80 := (~ #79 #79)
-#81 := [refl]: #80
-#85 := [nnf-neg #81]: #84
-#77 := (~ #15 #76)
-#78 := [sk]: #77
-#70 := (not #23)
-#71 := (~ #70 #67)
-#68 := (~ #13 #67)
-#65 := (~ #12 #12)
-#66 := [refl]: #65
-#63 := (~ #10 #62)
-#64 := [sk]: #63
-#69 := [monotonicity #64 #66]: #68
-#72 := [nnf-neg #69]: #71
-#58 := (~ #23 #57)
-#55 := (~ #54 #54)
-#56 := [refl]: #55
-#51 := (not #10)
-#52 := (~ #51 #50)
-#48 := (~ #47 #47)
-#49 := [refl]: #48
-#53 := [nnf-neg #49]: #52
-#59 := [nnf-neg #53 #56]: #58
-#90 := [nnf-pos #59 #72 #78 #85]: #89
-#16 := (iff #13 #15)
-#17 := (not #16)
-#25 := (iff #17 #24)
-#26 := [rewrite]: #25
-#19 := [asserted]: #17
-#27 := [mp #19 #26]: #24
-#91 := [mp~ #27 #90]: #88
-#92 := [mp #91 #99]: #97
-#93 := [and-elim #92]: #94
-#499 := [unit-resolution #93 #495 #224]: #75
-#204 := (not #75)
-#118 := (or #76 #204)
-#496 := [def-axiom]: #118
-#209 := [unit-resolution #496 #499]: #76
-#208 := (not #76)
-#225 := (or #164 #208)
-#226 := [quant-inst #73]: #225
-#210 := [unit-resolution #226 #503 #209]: false
-#211 := [lemma #210]: #164
-#547 := (or #539 #542)
-#101 := (not #50)
-#102 := (or #101 #12)
-#103 := (not #102)
-#106 := (or #103 #82)
-#548 := (iff #106 #547)
-#545 := (iff #82 #542)
-#543 := (iff #79 #79)
-#544 := [refl]: #543
-#546 := [quant-intro #544]: #545
-#540 := (iff #103 #539)
-#537 := (iff #102 #536)
-#534 := (iff #101 #533)
-#531 := (iff #50 #528)
-#529 := (iff #47 #47)
-#530 := [refl]: #529
-#532 := [quant-intro #530]: #531
-#535 := [monotonicity #532]: #534
-#538 := [monotonicity #535]: #537
-#541 := [monotonicity #538]: #540
-#549 := [monotonicity #541 #546]: #548
-#107 := (iff #86 #106)
-#104 := (iff #57 #103)
-#105 := [rewrite]: #104
-#108 := [monotonicity #105]: #107
-#100 := [and-elim #92]: #86
-#109 := [mp #100 #108]: #106
-#550 := [mp #109 #549]: #547
-#497 := [unit-resolution #550 #211]: #539
-#110 := (or #536 #528)
-#197 := [def-axiom]: #110
-#219 := [unit-resolution #197 #497]: #528
-#308 := (or #536 #75)
-#201 := [hypothesis]: #539
-#202 := [unit-resolution #197 #201]: #528
-#183 := [hypothesis]: #204
-#111 := (or #536 #54)
-#198 := [def-axiom]: #111
-#519 := [unit-resolution #198 #201]: #54
-#521 := [unit-resolution #93 #519 #183]: #62
-#203 := (or #533 #190)
-#200 := [quant-inst #60]: #203
-#177 := [unit-resolution #200 #521 #202]: false
-#515 := [lemma #177]: #308
-#212 := [unit-resolution #515 #497]: #75
-#220 := (or #533 #204)
-#494 := [quant-inst #73]: #220
-[unit-resolution #494 #212 #219]: false
-faa0d29344cac3f1cd8aa3672c93e609546ff0cf 98 0
-unsat
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: (-> S2 S1)
-decl f5 :: S2
-#13 := f5
-#14 := (f3 f5)
-#15 := (= #14 f1)
-#63 := (not #15)
-decl f4 :: S2
-#10 := f4
-#11 := (f3 f4)
-#12 := (= #11 f1)
-#62 := (not #12)
-#64 := (or #62 #63)
-#65 := (not #64)
-#476 := (or #62 #65)
-#487 := (or #63 #65)
-#276 := (not #487)
-#486 := [hypothesis]: #487
-#7 := (:var 0 S2)
-#8 := (f3 #7)
-#495 := (pattern #8)
-#9 := (= #8 f1)
-#25 := (not #9)
-#68 := (or #25 #65)
-#71 := (not #68)
-#496 := (forall (vars (?v0 S2)) (:pat #495) #71)
-#74 := (forall (vars (?v0 S2)) #71)
-#499 := (iff #74 #496)
-#497 := (iff #71 #71)
-#498 := [refl]: #497
-#500 := [quant-intro #498]: #499
-#16 := (and #12 #15)
-#26 := (or #25 #16)
-#55 := (not #26)
-#58 := (forall (vars (?v0 S2)) #55)
-#75 := (iff #58 #74)
-#72 := (iff #55 #71)
-#69 := (iff #26 #68)
-#66 := (iff #16 #65)
-#67 := [rewrite]: #66
-#70 := [monotonicity #67]: #69
-#73 := [monotonicity #70]: #72
-#76 := [quant-intro #73]: #75
-#29 := (exists (vars (?v0 S2)) #26)
-#32 := (not #29)
-#59 := (~ #32 #58)
-#56 := (~ #55 #55)
-#57 := [refl]: #56
-#60 := [nnf-neg #57]: #59
-#17 := (implies #9 #16)
-#18 := (exists (vars (?v0 S2)) #17)
-#19 := (not #18)
-#33 := (iff #19 #32)
-#30 := (iff #18 #29)
-#27 := (iff #17 #26)
-#28 := [rewrite]: #27
-#31 := [quant-intro #28]: #30
-#34 := [monotonicity #31]: #33
-#21 := [asserted]: #19
-#35 := [mp #21 #34]: #32
-#61 := [mp~ #35 #60]: #58
-#77 := [mp #61 #76]: #74
-#501 := [mp #77 #500]: #496
-#172 := (not #496)
-#470 := (or #172 #276)
-#132 := [quant-inst #13]: #470
-#128 := [unit-resolution #132 #501 #486]: false
-#475 := [lemma #128]: #276
-#133 := (or #487 #15)
-#134 := [def-axiom]: #133
-#477 := [unit-resolution #134 #475]: #15
-decl elem!0 :: S2
-#79 := elem!0
-#169 := (f3 elem!0)
-#151 := (= #169 f1)
-#489 := (not #151)
-#145 := (or #489 #65)
-#168 := (not #145)
-#483 := (or #172 #168)
-#156 := [quant-inst #79]: #483
-#114 := [unit-resolution #156 #501]: #168
-#143 := (or #145 #64)
-#148 := [def-axiom]: #143
-#469 := [unit-resolution #148 #114]: #64
-#493 := (or #65 #62 #63)
-#488 := [def-axiom]: #493
-#176 := [unit-resolution #488 #469]: #64
-#191 := [unit-resolution #176 #477]: #62
-#119 := (or #476 #12)
-#120 := [def-axiom]: #119
-#192 := [unit-resolution #120 #191]: #476
-#471 := (not #476)
-#478 := (or #172 #471)
-#480 := [quant-inst #10]: #478
-[unit-resolution #480 #501 #192]: false
-68f7af3545a2e0a392ee944cd5535bbc7c76b3dc 84 0
-unsat
-#2 := false
-decl f3 :: (-> S2 S1)
-#7 := (:var 0 S2)
-#8 := (f3 #7)
-#494 := (pattern #8)
-decl f1 :: S1
-#3 := f1
-#9 := (= #8 f1)
-decl ?v1!0 :: S2
-#49 := ?v1!0
-#50 := (f3 ?v1!0)
-#51 := (= #50 f1)
-#68 := (not #51)
-#69 := (or #68 #9)
-#70 := (not #69)
-#495 := (forall (vars (?v0 S2)) (:pat #494) #70)
-#275 := (not #495)
-#167 := (or #68 #51)
-#486 := (not #167)
-#131 := (or #275 #486)
-#474 := (iff #131 #275)
-#133 := (or #275 false)
-#472 := (iff #133 #275)
-#473 := [rewrite]: #472
-#134 := (iff #131 #133)
-#127 := (iff #486 false)
-#1 := true
-#142 := (not true)
-#143 := (iff #142 false)
-#485 := [rewrite]: #143
-#147 := (iff #486 #142)
-#493 := (iff #167 true)
-#483 := [rewrite]: #493
-#484 := [monotonicity #483]: #147
-#469 := [trans #484 #485]: #127
-#471 := [monotonicity #469]: #134
-#475 := [trans #471 #473]: #474
-#132 := [quant-inst #49]: #131
-#470 := [mp #132 #475]: #275
-#73 := (forall (vars (?v0 S2)) #70)
-#498 := (iff #73 #495)
-#496 := (iff #70 #70)
-#497 := [refl]: #496
-#499 := [quant-intro #497]: #498
-#57 := (not #9)
-#60 := (and #51 #57)
-#64 := (forall (vars (?v0 S2)) #60)
-#74 := (iff #64 #73)
-#71 := (iff #60 #70)
-#72 := [rewrite]: #71
-#75 := [quant-intro #72]: #74
-#10 := (exists (vars (?v1 S2)) #9)
-#19 := (not #10)
-#20 := (or #19 #9)
-#23 := (exists (vars (?v0 S2)) #20)
-#26 := (not #23)
-#65 := (~ #26 #64)
-#61 := (not #20)
-#62 := (~ #61 #60)
-#58 := (~ #57 #57)
-#59 := [refl]: #58
-#54 := (not #19)
-#55 := (~ #54 #51)
-#52 := (~ #10 #51)
-#53 := [sk]: #52
-#56 := [nnf-neg #53]: #55
-#63 := [nnf-neg #56 #59]: #62
-#66 := [nnf-neg #63]: #65
-#11 := (implies #10 #9)
-#12 := (exists (vars (?v0 S2)) #11)
-#13 := (not #12)
-#27 := (iff #13 #26)
-#24 := (iff #12 #23)
-#21 := (iff #11 #20)
-#22 := [rewrite]: #21
-#25 := [quant-intro #22]: #24
-#28 := [monotonicity #25]: #27
-#15 := [asserted]: #13
-#29 := [mp #15 #28]: #26
-#67 := [mp~ #29 #66]: #64
-#76 := [mp #67 #75]: #73
-#500 := [mp #76 #499]: #495
-[unit-resolution #500 #470]: false
-c7dcc81d0a2f31db2403b790a9ba1ebc57f8c894 195 0
-unsat
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f4 :: (-> S2 S1)
-decl ?v0!0 :: S2
-#71 := ?v0!0
-#72 := (f4 ?v0!0)
-#73 := (= #72 f1)
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#23 := (not #8)
-#74 := (or #23 #73)
-decl ?v0!1 :: S2
-#82 := ?v0!1
-#83 := (f4 ?v0!1)
-#84 := (= #83 f1)
-#535 := (not #84)
-#87 := (or #23 #84)
-#537 := (not #87)
-#540 := [hypothesis]: #87
-#9 := (:var 0 S2)
-#10 := (f4 #9)
-#553 := (pattern #10)
-#11 := (= #10 f1)
-#24 := (or #23 #11)
-#65 := (not #24)
-#554 := (forall (vars (?v0 S2)) (:pat #553) #65)
-#93 := (not #11)
-#559 := (forall (vars (?v0 S2)) (:pat #553) #93)
-#564 := (not #559)
-#567 := (or #23 #564)
-#193 := [hypothesis]: #559
-decl elem!2 :: S2
-#229 := elem!2
-#547 := (f4 elem!2)
-#215 := (= #547 f1)
-#549 := (or #23 #215)
-#541 := [hypothesis]: #23
-#552 := (or #549 #8)
-#542 := [def-axiom]: #552
-#548 := [unit-resolution #542 #541]: #549
-#136 := (or #567 #8)
-#223 := [def-axiom]: #136
-#186 := [unit-resolution #223 #541]: #567
-#570 := (not #567)
-#573 := (or #554 #570)
-#96 := (forall (vars (?v0 S2)) #93)
-#127 := (not #96)
-#128 := (or #23 #127)
-#129 := (not #128)
-#68 := (forall (vars (?v0 S2)) #65)
-#132 := (or #68 #129)
-#574 := (iff #132 #573)
-#571 := (iff #129 #570)
-#568 := (iff #128 #567)
-#565 := (iff #127 #564)
-#562 := (iff #96 #559)
-#560 := (iff #93 #93)
-#561 := [refl]: #560
-#563 := [quant-intro #561]: #562
-#566 := [monotonicity #563]: #565
-#569 := [monotonicity #566]: #568
-#572 := [monotonicity #569]: #571
-#557 := (iff #68 #554)
-#555 := (iff #65 #65)
-#556 := [refl]: #555
-#558 := [quant-intro #556]: #557
-#575 := [monotonicity #558 #572]: #574
-#117 := (and #8 #96)
-#120 := (or #68 #117)
-#133 := (iff #120 #132)
-#130 := (iff #117 #129)
-#131 := [rewrite]: #130
-#134 := [monotonicity #131]: #133
-#112 := (or #73 #23 #84)
-#123 := (and #112 #120)
-#90 := (not #23)
-#100 := (and #90 #96)
-#104 := (or #68 #100)
-#105 := (or #74 #87)
-#106 := (and #105 #104)
-#124 := (iff #106 #123)
-#121 := (iff #104 #120)
-#118 := (iff #100 #117)
-#115 := (iff #90 #8)
-#116 := [rewrite]: #115
-#119 := [monotonicity #116]: #118
-#122 := [monotonicity #119]: #121
-#113 := (iff #105 #112)
-#114 := [rewrite]: #113
-#125 := [monotonicity #114 #122]: #124
-#14 := (exists (vars (?v0 S2)) #11)
-#30 := (or #23 #14)
-#27 := (exists (vars (?v0 S2)) #24)
-#39 := (not #27)
-#40 := (iff #39 #30)
-#107 := (~ #40 #106)
-#101 := (not #30)
-#102 := (~ #101 #100)
-#97 := (not #14)
-#98 := (~ #97 #96)
-#94 := (~ #93 #93)
-#95 := [refl]: #94
-#99 := [nnf-neg #95]: #98
-#91 := (~ #90 #90)
-#92 := [refl]: #91
-#103 := [nnf-neg #92 #99]: #102
-#88 := (~ #30 #87)
-#85 := (~ #14 #84)
-#86 := [sk]: #85
-#80 := (~ #23 #23)
-#81 := [refl]: #80
-#89 := [monotonicity #81 #86]: #88
-#77 := (not #39)
-#78 := (~ #77 #74)
-#75 := (~ #27 #74)
-#76 := [sk]: #75
-#79 := [nnf-neg #76]: #78
-#69 := (~ #39 #68)
-#66 := (~ #65 #65)
-#67 := [refl]: #66
-#70 := [nnf-neg #67]: #69
-#108 := [nnf-pos #70 #79 #89 #103]: #107
-#15 := (implies #8 #14)
-#12 := (implies #8 #11)
-#13 := (exists (vars (?v0 S2)) #12)
-#16 := (iff #13 #15)
-#17 := (not #16)
-#43 := (iff #17 #40)
-#33 := (iff #27 #30)
-#36 := (not #33)
-#41 := (iff #36 #40)
-#42 := [rewrite]: #41
-#37 := (iff #17 #36)
-#34 := (iff #16 #33)
-#31 := (iff #15 #30)
-#32 := [rewrite]: #31
-#28 := (iff #13 #27)
-#25 := (iff #12 #24)
-#26 := [rewrite]: #25
-#29 := [quant-intro #26]: #28
-#35 := [monotonicity #29 #32]: #34
-#38 := [monotonicity #35]: #37
-#44 := [trans #38 #42]: #43
-#19 := [asserted]: #17
-#45 := [mp #19 #44]: #40
-#109 := [mp~ #45 #108]: #106
-#110 := [mp #109 #125]: #123
-#126 := [and-elim #110]: #120
-#135 := [mp #126 #134]: #132
-#576 := [mp #135 #575]: #573
-#528 := [unit-resolution #576 #186]: #554
-#550 := (not #549)
-#551 := (not #554)
-#214 := (or #551 #550)
-#546 := [quant-inst #229]: #214
-#190 := [unit-resolution #546 #528 #548]: false
-#191 := [lemma #190]: #8
-#192 := (not #73)
-#534 := (or #192 #564)
-#530 := [hypothesis]: #73
-#531 := (or #564 #192)
-#532 := [quant-inst #71]: #531
-#533 := [unit-resolution #532 #530 #193]: false
-#529 := [lemma #533]: #534
-#172 := [unit-resolution #529 #193]: #192
-#111 := [and-elim #110]: #112
-#536 := [unit-resolution #111 #172 #191]: #84
-#538 := (or #564 #535)
-#177 := [quant-inst #82]: #538
-#178 := [unit-resolution #177 #536 #193]: false
-#539 := [lemma #178]: #564
-#137 := (or #567 #559)
-#224 := [def-axiom]: #137
-#526 := [unit-resolution #224 #539]: #567
-#523 := [unit-resolution #576 #526]: #554
-#527 := (or #551 #537)
-#234 := [quant-inst #82]: #527
-#245 := [unit-resolution #234 #523 #540]: false
-#246 := [lemma #245]: #537
-#251 := (or #87 #535)
-#252 := [def-axiom]: #251
-#524 := [unit-resolution #252 #246]: #535
-#521 := (or #73 #84)
-#514 := [unit-resolution #111 #191]: #521
-#518 := [unit-resolution #514 #524]: #73
-#238 := (or #74 #192)
-#516 := [def-axiom]: #238
-#515 := [unit-resolution #516 #518]: #74
-#520 := (not #74)
-#525 := (or #551 #520)
-#235 := [quant-inst #71]: #525
-[unit-resolution #235 #523 #515]: false
-b3778beae28d076e6c36fc9b45a5fba8752cdac2 79 0
-unsat
+ff5923442190bbdb9015d06b9eb041224ec4aa67 1 0
+unsat
+4c6ce503f607e74ba8e93edccc79946582314947 1 0
+unsat
+12584fda31d4fe9678f56daf5308984bcbc8882b 1 0
+unsat
+3c63947a5d206f9097abc5a6fc0fbae82d2d79e0 1 0
+unsat
+54883b23fe5740347c973de8603dbf0368168608 79 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S1 S1)
+decl ?v0!0 :: S1
+#47 := ?v0!0
+decl f4 :: S2
+#7 := f4
+#48 := (f3 f4 ?v0!0)
+#49 := (= #48 f1)
 decl ?v0!1 :: S1
-#56 := ?v0!1
-decl f4 :: S2
-#7 := f4
-#57 := (f3 f4 ?v0!1)
-#58 := (= #57 f1)
-decl ?v0!0 :: S1
-#45 := ?v0!0
-#46 := (f3 f4 ?v0!0)
-#47 := (= #46 f1)
-#83 := (not #47)
-#170 := [hypothesis]: #47
+#61 := ?v0!1
+#62 := (f3 f4 ?v0!1)
+#63 := (= #62 f1)
+#145 := (not #63)
+#231 := [hypothesis]: #63
 #8 := (:var 0 S1)
 #9 := (f3 f4 #8)
-#500 := (pattern #9)
+#561 := (pattern #9)
 #10 := (= #9 f1)
 #13 := (not #10)
-#501 := (forall (vars (?v0 S1)) (:pat #500) #13)
+#562 := (forall (vars (?v0 S1)) (:pat #561) #13)
 #14 := (forall (vars (?v0 S1)) #13)
-#504 := (iff #14 #501)
-#502 := (iff #13 #13)
-#503 := [refl]: #502
-#505 := [quant-intro #503]: #504
-#76 := (or #47 #58)
-#79 := (and #14 #76)
-#59 := (not #58)
-#60 := (not #59)
-#64 := (or #47 #60)
-#65 := (or #14 #14)
-#66 := (and #65 #64)
-#80 := (iff #66 #79)
-#77 := (iff #64 #76)
-#74 := (iff #60 #58)
-#75 := [rewrite]: #74
-#78 := [monotonicity #75]: #77
-#72 := (iff #65 #14)
-#73 := [rewrite]: #72
-#81 := [monotonicity #73 #78]: #80
+#565 := (iff #14 #562)
+#563 := (iff #13 #13)
+#564 := [refl]: #563
+#566 := [quant-intro #564]: #565
+#80 := (or #63 #49)
+#83 := (and #14 #80)
+#50 := (not #49)
+#42 := (not #50)
+#68 := (or #63 #42)
+#69 := (or #14 #14)
+#70 := (and #69 #68)
+#84 := (iff #70 #83)
+#81 := (iff #68 #80)
+#78 := (iff #42 #49)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#76 := (iff #69 #14)
+#77 := [rewrite]: #76
+#85 := [monotonicity #77 #82]: #84
 #11 := (exists (vars (?v0 S1)) #10)
-#22 := (iff #11 #14)
-#67 := (~ #22 #66)
-#61 := (not #14)
-#62 := (~ #61 #60)
-#63 := [sk]: #62
-#54 := (~ #14 #14)
-#50 := (~ #13 #13)
-#51 := [refl]: #50
-#55 := [nnf-pos #51]: #54
+#38 := (iff #11 #14)
+#71 := (~ #38 #70)
+#57 := (~ #14 #14)
+#55 := (~ #13 #13)
+#56 := [refl]: #55
+#58 := [nnf-pos #56]: #57
+#44 := (not #14)
+#51 := (~ #44 #42)
+#52 := [sk]: #51
+#64 := (~ #11 #63)
+#65 := [sk]: #64
 #12 := (not #11)
-#52 := (~ #12 #14)
-#53 := [nnf-neg #51]: #52
-#48 := (~ #11 #47)
-#49 := [sk]: #48
-#68 := [nnf-pos #49 #53 #55 #63]: #67
+#59 := (~ #12 #14)
+#60 := [nnf-neg #56]: #59
+#72 := [nnf-pos #60 #65 #52 #58]: #71
 #15 := (iff #12 #14)
 #16 := (not #15)
-#23 := (iff #16 #22)
-#24 := [rewrite]: #23
-#18 := [asserted]: #16
-#25 := [mp #18 #24]: #22
-#69 := [mp~ #25 #68]: #66
-#70 := [mp #69 #81]: #79
-#71 := [and-elim #70]: #14
-#506 := [mp #71 #505]: #501
-#171 := (not #501)
-#85 := (or #171 #83)
-#172 := [quant-inst #45]: #85
-#84 := [unit-resolution #172 #506 #170]: false
-#163 := [lemma #84]: #83
-#82 := [and-elim #70]: #76
-#174 := [unit-resolution #82 #163]: #58
-#176 := (or #171 #59)
-#173 := [quant-inst #56]: #176
-[unit-resolution #173 #506 #174]: false
-2d8fd1a0ef67720701cd879eda1b0854a5ebf849 179 0
-unsat
+#39 := (iff #16 #38)
+#40 := [rewrite]: #39
+#37 := [asserted]: #16
+#43 := [mp #37 #40]: #38
+#73 := [mp~ #43 #72]: #70
+#74 := [mp #73 #85]: #83
+#75 := [and-elim #74]: #14
+#567 := [mp #75 #566]: #562
+#232 := (not #562)
+#147 := (or #232 #145)
+#233 := [quant-inst #61]: #147
+#146 := [unit-resolution #233 #567 #231]: false
+#224 := [lemma #146]: #145
+#86 := [and-elim #74]: #80
+#235 := [unit-resolution #86 #224]: #49
+#237 := (or #232 #50)
+#234 := [quant-inst #47]: #237
+[unit-resolution #234 #567 #235]: false
+unsat
+99b6c9d07fc5dd56e24a241d63a8bd5f333486a2 179 0
 #2 := false
 decl f3 :: (-> S2 S1 S1)
 #8 := (:var 0 S1)
 decl f4 :: S2
 #7 := f4
 #9 := (f3 f4 #8)
-#546 := (pattern #9)
+#607 := (pattern #9)
 decl f1 :: S1
 #3 := f1
 #10 := (= #9 f1)
-#552 := (forall (vars (?v0 S1)) (:pat #546) #10)
+#613 := (forall (vars (?v0 S1)) (:pat #607) #10)
 decl f5 :: S1
 #11 := f5
 #12 := (= f5 f1)
-#557 := (not #552)
-#560 := (or #557 #12)
-#563 := (not #560)
-#24 := (not #10)
-#25 := (or #24 #12)
-#67 := (not #25)
-#547 := (forall (vars (?v0 S1)) (:pat #546) #67)
-#534 := (not #547)
-decl ?v0!0 :: S1
-#73 := ?v0!0
-#74 := (f3 f4 ?v0!0)
-#75 := (= #74 f1)
-#76 := (not #75)
-#77 := (or #76 #12)
+#618 := (not #613)
+#621 := (or #618 #12)
+#624 := (not #621)
+#40 := (not #10)
+#41 := (or #40 #12)
+#106 := (not #41)
+#608 := (forall (vars (?v0 S1)) (:pat #607) #106)
+#595 := (not #608)
 decl ?v0!1 :: S1
-#83 := ?v0!1
-#84 := (f3 f4 ?v0!1)
-#85 := (= #84 f1)
-#86 := (not #85)
-#91 := (or #86 #12)
-#222 := [hypothesis]: #86
-#541 := (or #91 #85)
-#542 := [def-axiom]: #541
-#196 := [unit-resolution #542 #222]: #91
-#219 := (or #557 #85)
-#221 := [hypothesis]: #552
-#223 := [quant-inst #83]: #219
-#202 := [unit-resolution #223 #222 #221]: false
-#538 := [lemma #202]: #219
-#327 := [unit-resolution #538 #222]: #557
-#129 := (or #560 #552)
-#130 := [def-axiom]: #129
-#535 := [unit-resolution #130 #327]: #560
-#566 := (or #547 #563)
+#94 := ?v0!1
+#95 := (f3 f4 ?v0!1)
+#96 := (= #95 f1)
+#97 := (not #96)
+#98 := (or #97 #12)
+decl ?v0!0 :: S1
+#81 := ?v0!0
+#82 := (f3 f4 ?v0!0)
+#83 := (= #82 f1)
+#84 := (not #83)
+#91 := (or #84 #12)
+#283 := [hypothesis]: #84
+#602 := (or #91 #83)
+#603 := [def-axiom]: #602
+#257 := [unit-resolution #603 #283]: #91
+#280 := (or #618 #83)
+#282 := [hypothesis]: #613
+#284 := [quant-inst #81]: #280
+#263 := [unit-resolution #284 #283 #282]: false
+#599 := [lemma #263]: #280
+#388 := [unit-resolution #599 #283]: #618
+#191 := (or #621 #613)
+#192 := [def-axiom]: #191
+#596 := [unit-resolution #192 #388]: #621
+#627 := (or #608 #624)
 #15 := (forall (vars (?v0 S1)) #10)
-#31 := (not #15)
-#32 := (or #31 #12)
-#105 := (not #32)
-#70 := (forall (vars (?v0 S1)) #67)
-#125 := (or #70 #105)
-#567 := (iff #125 #566)
-#564 := (iff #105 #563)
-#561 := (iff #32 #560)
-#558 := (iff #31 #557)
-#555 := (iff #15 #552)
-#553 := (iff #10 #10)
-#554 := [refl]: #553
-#556 := [quant-intro #554]: #555
-#559 := [monotonicity #556]: #558
-#562 := [monotonicity #559]: #561
-#565 := [monotonicity #562]: #564
-#550 := (iff #70 #547)
-#548 := (iff #67 #67)
-#549 := [refl]: #548
-#551 := [quant-intro #549]: #550
-#568 := [monotonicity #551 #565]: #567
-#101 := (not #12)
-#104 := (and #15 #101)
-#108 := (or #70 #104)
-#126 := (iff #108 #125)
-#123 := (iff #104 #105)
-#124 := [rewrite]: #123
-#127 := [monotonicity #124]: #126
-#116 := (or #76 #86 #12)
-#119 := (and #116 #108)
-#109 := (or #77 #91)
-#110 := (and #109 #108)
-#120 := (iff #110 #119)
-#117 := (iff #109 #116)
-#118 := [rewrite]: #117
-#121 := [monotonicity #118]: #120
-#28 := (exists (vars (?v0 S1)) #25)
-#41 := (not #28)
-#42 := (iff #41 #32)
-#111 := (~ #42 #110)
-#106 := (~ #105 #104)
-#102 := (~ #101 #101)
-#103 := [refl]: #102
-#98 := (not #31)
-#99 := (~ #98 #15)
-#96 := (~ #15 #15)
-#94 := (~ #10 #10)
-#95 := [refl]: #94
-#97 := [nnf-pos #95]: #96
-#100 := [nnf-neg #97]: #99
-#107 := [nnf-neg #100 #103]: #106
-#92 := (~ #32 #91)
+#47 := (not #15)
+#48 := (or #47 #12)
+#78 := (not #48)
+#109 := (forall (vars (?v0 S1)) #106)
+#101 := (or #109 #78)
+#628 := (iff #101 #627)
+#625 := (iff #78 #624)
+#622 := (iff #48 #621)
+#619 := (iff #47 #618)
+#616 := (iff #15 #613)
+#614 := (iff #10 #10)
+#615 := [refl]: #614
+#617 := [quant-intro #615]: #616
+#620 := [monotonicity #617]: #619
+#623 := [monotonicity #620]: #622
+#626 := [monotonicity #623]: #625
+#611 := (iff #109 #608)
+#609 := (iff #106 #106)
+#610 := [refl]: #609
+#612 := [quant-intro #610]: #611
+#629 := [monotonicity #612 #626]: #628
+#74 := (not #12)
+#77 := (and #15 #74)
+#112 := (or #109 #77)
+#102 := (iff #112 #101)
+#87 := (iff #77 #78)
+#88 := [rewrite]: #87
+#127 := [monotonicity #88]: #102
+#120 := (or #97 #84 #12)
+#123 := (and #120 #112)
+#113 := (or #98 #91)
+#114 := (and #113 #112)
+#124 := (iff #114 #123)
+#121 := (iff #113 #120)
+#122 := [rewrite]: #121
+#125 := [monotonicity #122]: #124
+#44 := (exists (vars (?v0 S1)) #41)
+#57 := (not #44)
+#58 := (iff #57 #48)
+#115 := (~ #58 #114)
+#92 := (~ #48 #91)
 #89 := (~ #12 #12)
 #90 := [refl]: #89
-#87 := (~ #31 #86)
-#88 := [sk]: #87
-#93 := [monotonicity #88 #90]: #92
-#80 := (not #41)
-#81 := (~ #80 #77)
-#78 := (~ #28 #77)
-#79 := [sk]: #78
-#82 := [nnf-neg #79]: #81
-#71 := (~ #41 #70)
-#68 := (~ #67 #67)
-#69 := [refl]: #68
-#72 := [nnf-neg #69]: #71
-#112 := [nnf-pos #72 #82 #93 #107]: #111
+#85 := (~ #47 #84)
+#86 := [sk]: #85
+#93 := [monotonicity #86 #90]: #92
+#79 := (~ #78 #77)
+#75 := (~ #74 #74)
+#76 := [refl]: #75
+#64 := (not #47)
+#66 := (~ #64 #15)
+#71 := (~ #15 #15)
+#69 := (~ #10 #10)
+#70 := [refl]: #69
+#72 := [nnf-pos #70]: #71
+#73 := [nnf-neg #72]: #66
+#80 := [nnf-neg #73 #76]: #79
+#110 := (~ #57 #109)
+#107 := (~ #106 #106)
+#108 := [refl]: #107
+#111 := [nnf-neg #108]: #110
+#103 := (not #57)
+#104 := (~ #103 #98)
+#99 := (~ #44 #98)
+#100 := [sk]: #99
+#105 := [nnf-neg #100]: #104
+#116 := [nnf-pos #105 #111 #80 #93]: #115
 #16 := (implies #15 #12)
 #13 := (implies #10 #12)
 #14 := (exists (vars (?v0 S1)) #13)
 #17 := (iff #14 #16)
 #18 := (not #17)
-#45 := (iff #18 #42)
-#35 := (iff #28 #32)
-#38 := (not #35)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #18 #38)
-#36 := (iff #17 #35)
-#33 := (iff #16 #32)
-#34 := [rewrite]: #33
-#29 := (iff #14 #28)
-#26 := (iff #13 #25)
-#27 := [rewrite]: #26
-#30 := [quant-intro #27]: #29
-#37 := [monotonicity #30 #34]: #36
-#40 := [monotonicity #37]: #39
-#46 := [trans #40 #44]: #45
-#20 := [asserted]: #18
-#47 := [mp #20 #46]: #42
-#113 := [mp~ #47 #112]: #110
-#114 := [mp #113 #121]: #119
-#122 := [and-elim #114]: #108
-#128 := [mp #122 #127]: #125
-#569 := [mp #128 #568]: #566
-#194 := [unit-resolution #569 #535]: #547
-#540 := (not #91)
-#207 := (or #534 #540)
-#208 := [quant-inst #83]: #207
-#199 := [unit-resolution #208 #194 #196]: false
-#536 := [lemma #199]: #85
-#543 := (not #77)
-#525 := [hypothesis]: #543
-#537 := (or #77 #75)
-#179 := [def-axiom]: #537
-#526 := [unit-resolution #179 #525]: #75
-#521 := (or #77 #101)
-#183 := [def-axiom]: #521
-#527 := [unit-resolution #183 #525]: #101
-#115 := [and-elim #114]: #116
-#522 := [unit-resolution #115 #527 #526 #536]: false
-#528 := [lemma #522]: #77
-#523 := (or #543 #534)
-#544 := [hypothesis]: #77
-#539 := [hypothesis]: #547
-#545 := (or #534 #543)
-#195 := [quant-inst #73]: #545
-#186 := [unit-resolution #195 #539 #544]: false
-#524 := [lemma #186]: #523
-#165 := [unit-resolution #524 #528]: #534
-#529 := [unit-resolution #569 #165]: #563
-#171 := [unit-resolution #130 #529]: #552
-#216 := (or #560 #101)
-#217 := [def-axiom]: #216
-#532 := [unit-resolution #217 #529]: #101
-#530 := [unit-resolution #115 #532 #536]: #76
-#531 := (or #557 #75)
-#170 := [quant-inst #73]: #531
-[unit-resolution #170 #530 #171]: false
-5068ada6674873a5a5e5c36bb6eb28fe2d67f362 128 0
-unsat
+#61 := (iff #18 #58)
+#51 := (iff #44 #48)
+#54 := (not #51)
+#59 := (iff #54 #58)
+#60 := [rewrite]: #59
+#55 := (iff #18 #54)
+#52 := (iff #17 #51)
+#49 := (iff #16 #48)
+#50 := [rewrite]: #49
+#45 := (iff #14 #44)
+#42 := (iff #13 #41)
+#43 := [rewrite]: #42
+#46 := [quant-intro #43]: #45
+#53 := [monotonicity #46 #50]: #52
+#56 := [monotonicity #53]: #55
+#62 := [trans #56 #60]: #61
+#39 := [asserted]: #18
+#65 := [mp #39 #62]: #58
+#117 := [mp~ #65 #116]: #114
+#118 := [mp #117 #125]: #123
+#126 := [and-elim #118]: #112
+#128 := [mp #126 #127]: #101
+#630 := [mp #128 #629]: #627
+#255 := [unit-resolution #630 #596]: #608
+#601 := (not #91)
+#268 := (or #595 #601)
+#269 := [quant-inst #81]: #268
+#260 := [unit-resolution #269 #255 #257]: false
+#597 := [lemma #260]: #83
+#604 := (not #98)
+#586 := [hypothesis]: #604
+#598 := (or #98 #96)
+#240 := [def-axiom]: #598
+#587 := [unit-resolution #240 #586]: #96
+#582 := (or #98 #74)
+#244 := [def-axiom]: #582
+#588 := [unit-resolution #244 #586]: #74
+#119 := [and-elim #118]: #120
+#583 := [unit-resolution #119 #588 #587 #597]: false
+#589 := [lemma #583]: #98
+#584 := (or #604 #595)
+#605 := [hypothesis]: #98
+#600 := [hypothesis]: #608
+#606 := (or #595 #604)
+#256 := [quant-inst #94]: #606
+#247 := [unit-resolution #256 #600 #605]: false
+#585 := [lemma #247]: #584
+#226 := [unit-resolution #585 #589]: #595
+#590 := [unit-resolution #630 #226]: #624
+#232 := [unit-resolution #192 #590]: #613
+#277 := (or #621 #74)
+#278 := [def-axiom]: #277
+#593 := [unit-resolution #278 #590]: #74
+#591 := [unit-resolution #119 #593 #597]: #97
+#592 := (or #618 #96)
+#231 := [quant-inst #94]: #592
+[unit-resolution #231 #591 #232]: false
+unsat
+99ed87e27f19515cee990b0e1501f89b03efe0b8 128 0
 #2 := false
 decl f3 :: (-> S3 S2 S1)
 #10 := (:var 0 S2)
@@ -6204,125 +5329,125 @@
 #7 := f5
 #17 := (f4 f5 f6)
 #18 := (f3 #17 #10)
-#523 := (pattern #18)
+#582 := (pattern #18)
 decl f1 :: S1
 #3 := f1
 #19 := (= #18 f1)
-#67 := (not #19)
-#524 := (forall (vars (?v0 S2)) (:pat #523) #67)
+#85 := (not #19)
+#583 := (forall (vars (?v0 S2)) (:pat #582) #85)
 decl f7 :: S2
 #21 := f7
 #22 := (f3 #17 f7)
 #23 := (= #22 f1)
-#97 := (= f6 f1)
-#98 := (iff #23 #97)
+#159 := (= f6 f1)
+#160 := (iff #23 #159)
 #8 := (:var 1 S1)
 #9 := (f4 f5 #8)
 #11 := (f3 #9 #10)
-#516 := (pattern #11)
+#575 := (pattern #11)
 #13 := (= #8 f1)
 #12 := (= #11 f1)
 #14 := (iff #12 #13)
-#517 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #516) #14)
+#576 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #575) #14)
 #15 := (forall (vars (?v0 S1) (?v1 S2)) #14)
-#520 := (iff #15 #517)
-#518 := (iff #14 #14)
-#519 := [refl]: #518
-#521 := [quant-intro #519]: #520
-#69 := (~ #15 #15)
-#71 := (~ #14 #14)
-#72 := [refl]: #71
-#70 := [nnf-pos #72]: #69
+#579 := (iff #15 #576)
+#577 := (iff #14 #14)
+#578 := [refl]: #577
+#580 := [quant-intro #578]: #579
+#62 := (~ #15 #15)
+#69 := (~ #14 #14)
+#70 := [refl]: #69
+#63 := [nnf-pos #70]: #62
 #20 := (exists (vars (?v0 S2)) #19)
 #24 := (iff #20 #23)
-#32 := (not #15)
-#33 := (or #32 #24)
-#36 := (not #33)
+#48 := (not #15)
+#49 := (or #48 #24)
+#52 := (not #49)
 #25 := (implies #15 #24)
 #26 := (not #25)
-#37 := (iff #26 #36)
-#34 := (iff #25 #33)
-#35 := [rewrite]: #34
-#38 := [monotonicity #35]: #37
-#28 := [asserted]: #26
-#39 := [mp #28 #38]: #36
-#40 := [not-or-elim #39]: #15
-#66 := [mp~ #40 #70]: #15
-#522 := [mp #66 #521]: #517
-#101 := (not #517)
-#178 := (or #101 #98)
-#511 := [quant-inst #16 #21]: #178
-#187 := [unit-resolution #511 #522]: #98
+#53 := (iff #26 #52)
+#50 := (iff #25 #49)
+#51 := [rewrite]: #50
+#54 := [monotonicity #51]: #53
+#47 := [asserted]: #26
+#57 := [mp #47 #54]: #52
+#55 := [not-or-elim #57]: #15
+#60 := [mp~ #55 #63]: #15
+#581 := [mp #60 #580]: #576
+#161 := (not #576)
+#237 := (or #161 #160)
+#570 := [quant-inst #16 #21]: #237
+#246 := [unit-resolution #570 #581]: #160
 decl ?v0!0 :: S2
-#78 := ?v0!0
-#79 := (f3 #17 ?v0!0)
-#80 := (= #79 f1)
-#186 := (iff #80 #97)
-#188 := (or #101 #186)
-#179 := [quant-inst #16 #78]: #188
-#177 := [unit-resolution #179 #522]: #186
-#190 := (not #186)
-#149 := (or #190 #97)
-#88 := (not #23)
-#165 := [hypothesis]: #88
-#92 := (or #80 #23)
-#75 := (forall (vars (?v0 S2)) #67)
-#91 := (or #75 #88)
+#75 := ?v0!0
+#76 := (f3 #17 ?v0!0)
+#77 := (= #76 f1)
+#245 := (iff #77 #159)
+#247 := (or #161 #245)
+#238 := [quant-inst #16 #75]: #247
+#236 := [unit-resolution #238 #581]: #245
+#249 := (not #245)
+#208 := (or #249 #159)
+#61 := (not #23)
+#224 := [hypothesis]: #61
+#92 := (or #77 #23)
+#88 := (forall (vars (?v0 S2)) #85)
+#91 := (or #88 #61)
 #93 := (and #92 #91)
-#62 := (not #20)
-#63 := (iff #62 #23)
-#94 := (~ #63 #93)
-#89 := (~ #88 #88)
-#90 := [refl]: #89
-#86 := (~ #23 #23)
+#64 := (not #20)
+#65 := (iff #64 #23)
+#94 := (~ #65 #93)
+#73 := (~ #23 #23)
+#74 := [refl]: #73
+#71 := (~ #61 #61)
+#72 := [refl]: #71
+#89 := (~ #64 #88)
+#86 := (~ #85 #85)
 #87 := [refl]: #86
-#83 := (not #62)
-#84 := (~ #83 #80)
-#81 := (~ #20 #80)
-#82 := [sk]: #81
-#85 := [nnf-neg #82]: #84
-#76 := (~ #62 #75)
-#73 := (~ #67 #67)
-#74 := [refl]: #73
-#77 := [nnf-neg #74]: #76
-#95 := [nnf-pos #77 #85 #87 #90]: #94
-#41 := (not #24)
-#64 := (iff #41 #63)
-#65 := [rewrite]: #64
-#42 := [not-or-elim #39]: #41
-#68 := [mp #42 #65]: #63
+#90 := [nnf-neg #87]: #89
+#82 := (not #64)
+#83 := (~ #82 #77)
+#78 := (~ #20 #77)
+#79 := [sk]: #78
+#84 := [nnf-neg #79]: #83
+#95 := [nnf-pos #84 #90 #72 #74]: #94
+#56 := (not #24)
+#66 := (iff #56 #65)
+#67 := [rewrite]: #66
+#58 := [not-or-elim #57]: #56
+#68 := [mp #58 #67]: #65
 #96 := [mp~ #68 #95]: #93
 #99 := [and-elim #96]: #92
-#507 := [unit-resolution #99 #165]: #80
-#193 := (not #80)
-#172 := (or #190 #193 #97)
-#508 := [def-axiom]: #172
-#491 := [unit-resolution #508 #507]: #149
-#153 := [unit-resolution #491 #177]: #97
-#191 := (not #97)
-#512 := (not #98)
-#154 := (or #512 #191)
-#513 := (or #512 #23 #191)
-#514 := [def-axiom]: #513
-#155 := [unit-resolution #514 #165]: #154
-#156 := [unit-resolution #155 #153 #187]: false
-#493 := [lemma #156]: #23
-#529 := (or #524 #88)
-#530 := (iff #91 #529)
-#527 := (iff #75 #524)
-#525 := (iff #67 #67)
-#526 := [refl]: #525
-#528 := [quant-intro #526]: #527
-#531 := [monotonicity #528]: #530
+#566 := [unit-resolution #99 #224]: #77
+#252 := (not #77)
+#231 := (or #249 #252 #159)
+#567 := [def-axiom]: #231
+#550 := [unit-resolution #567 #566]: #208
+#212 := [unit-resolution #550 #236]: #159
+#250 := (not #159)
+#571 := (not #160)
+#213 := (or #571 #250)
+#572 := (or #571 #23 #250)
+#573 := [def-axiom]: #572
+#214 := [unit-resolution #573 #224]: #213
+#215 := [unit-resolution #214 #212 #246]: false
+#552 := [lemma #215]: #23
+#588 := (or #583 #61)
+#589 := (iff #91 #588)
+#586 := (iff #88 #583)
+#584 := (iff #85 #85)
+#585 := [refl]: #584
+#587 := [quant-intro #585]: #586
+#590 := [monotonicity #587]: #589
 #100 := [and-elim #96]: #91
-#532 := [mp #100 #531]: #529
-#192 := [unit-resolution #532 #493]: #524
-#505 := (not #524)
-#164 := (or #505 #88)
-#169 := [quant-inst #21]: #164
-[unit-resolution #169 #493 #192]: false
-e77b347bc6ad4af31e73ee2068809dd306b3d8ad 73 0
-unsat
+#591 := [mp #100 #590]: #588
+#251 := [unit-resolution #591 #552]: #583
+#564 := (not #583)
+#223 := (or #564 #61)
+#228 := [quant-inst #21]: #223
+[unit-resolution #228 #552 #251]: false
+unsat
+f269326ea50ac00c82433764ea1a5a8988d23a7e 81 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -6337,7 +5462,7 @@
 #19 := f6
 #20 := (f3 f4 f6)
 #21 := (= #20 f1)
-#30 := (not #10)
+#46 := (not #10)
 #11 := (:var 0 S1)
 #12 := (f3 f4 #11)
 #13 := (= #12 f1)
@@ -6346,63 +5471,71 @@
 #14 := (exists (vars (?v0 S1)) #13)
 #15 := (not #14)
 #18 := (if #10 #15 #17)
-#37 := (not #18)
-#38 := (or #37 #30 #21)
-#43 := (not #38)
+#53 := (not #18)
+#62 := (or #53 #46 #21)
+#65 := (not #62)
 #22 := (implies #10 #21)
 #23 := (implies #18 #22)
 #24 := (not #23)
-#44 := (iff #24 #43)
-#41 := (iff #23 #38)
-#31 := (or #30 #21)
-#34 := (implies #18 #31)
-#39 := (iff #34 #38)
-#40 := [rewrite]: #39
-#35 := (iff #23 #34)
-#32 := (iff #22 #31)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#42 := [trans #36 #40]: #41
-#45 := [monotonicity #42]: #44
-#26 := [asserted]: #24
-#46 := [mp #26 #45]: #43
-#48 := [not-or-elim #46]: #10
-#502 := (pattern #12)
-#503 := (forall (vars (?v0 S1)) (:pat #502) #16)
-#506 := (iff #17 #503)
-#504 := (iff #16 #16)
-#505 := [refl]: #504
-#507 := [quant-intro #505]: #506
-#74 := (~ #15 #17)
+#68 := (iff #24 #65)
+#47 := (or #46 #21)
+#54 := (or #53 #47)
+#59 := (not #54)
+#66 := (iff #59 #65)
+#63 := (iff #54 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#60 := (iff #24 #59)
+#57 := (iff #23 #54)
+#50 := (implies #18 #47)
+#55 := (iff #50 #54)
+#56 := [rewrite]: #55
+#51 := (iff #23 #50)
+#48 := (iff #22 #47)
+#49 := [rewrite]: #48
+#52 := [monotonicity #49]: #51
+#58 := [trans #52 #56]: #57
+#61 := [monotonicity #58]: #60
+#69 := [trans #61 #67]: #68
+#45 := [asserted]: #24
+#70 := [mp #45 #69]: #65
+#72 := [not-or-elim #70]: #10
+#569 := (pattern #12)
+#570 := (forall (vars (?v0 S1)) (:pat #569) #16)
+#573 := (iff #17 #570)
+#571 := (iff #16 #16)
+#572 := [refl]: #571
+#574 := [quant-intro #572]: #573
+#79 := (~ #15 #17)
 #82 := (~ #16 #16)
 #83 := [refl]: #82
-#75 := [nnf-neg #83]: #74
-#79 := (iff #18 #15)
-#1 := true
-#72 := (if true #15 #17)
-#77 := (iff #72 #15)
-#78 := [rewrite]: #77
-#73 := (iff #18 #72)
-#70 := (iff #10 true)
-#71 := [iff-true #48]: #70
-#76 := [monotonicity #71]: #73
-#80 := [trans #76 #78]: #79
-#47 := [not-or-elim #46]: #18
-#81 := [mp #47 #80]: #15
-#84 := [mp~ #81 #75]: #17
-#508 := [mp #84 #507]: #503
-#86 := (not #503)
-#173 := (or #86 #30)
-#87 := [quant-inst #8]: #173
-[unit-resolution #87 #508 #48]: false
-5b310cc250a1d70ecf53090e27cc613cfbdee1d0 138 0
-unsat
+#91 := [nnf-neg #83]: #79
+#89 := (iff #18 #15)
+#1 := true
+#84 := (if true #15 #17)
+#87 := (iff #84 #15)
+#88 := [rewrite]: #87
+#85 := (iff #18 #84)
+#80 := (iff #10 true)
+#81 := [iff-true #72]: #80
+#86 := [monotonicity #81]: #85
+#90 := [trans #86 #88]: #89
+#71 := [not-or-elim #70]: #18
+#78 := [mp #71 #90]: #15
+#76 := [mp~ #78 #91]: #17
+#575 := [mp #76 #574]: #570
+#154 := (not #570)
+#240 := (or #154 #46)
+#155 := [quant-inst #8]: #240
+[unit-resolution #155 #575 #72]: false
+unsat
+d1f4b96a9786562ebfa2e0c93b66635da8fcf6c8 138 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f7 :: S1
 #26 := f7
-#153 := (= f7 f1)
+#215 := (= f7 f1)
 decl f3 :: (-> S3 S2 S1)
 decl f6 :: S2
 #20 := f6
@@ -6412,25 +5545,25 @@
 #27 := (f4 f5 f7)
 #31 := (f3 #27 f6)
 #32 := (= #31 f1)
-#242 := (iff #32 #153)
+#301 := (iff #32 #215)
 #10 := (:var 0 S2)
 #8 := (:var 1 S1)
 #9 := (f4 f5 #8)
 #11 := (f3 #9 #10)
-#572 := (pattern #11)
+#631 := (pattern #11)
 #13 := (= #8 f1)
 #12 := (= #11 f1)
 #14 := (iff #12 #13)
-#573 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #572) #14)
+#632 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #631) #14)
 #15 := (forall (vars (?v0 S1) (?v1 S2)) #14)
-#576 := (iff #15 #573)
-#574 := (iff #14 #14)
-#575 := [refl]: #574
-#577 := [quant-intro #575]: #576
-#84 := (~ #15 #15)
-#80 := (~ #14 #14)
-#81 := [refl]: #80
-#85 := [nnf-pos #81]: #84
+#635 := (iff #15 #632)
+#633 := (iff #14 #14)
+#634 := [refl]: #633
+#636 := [quant-intro #634]: #635
+#75 := (~ #15 #15)
+#82 := (~ #14 #14)
+#83 := [refl]: #82
+#76 := [nnf-pos #83]: #75
 #18 := (:var 0 S1)
 #19 := (f4 f5 #18)
 #21 := (f3 #19 f6)
@@ -6444,141 +5577,141 @@
 #29 := (= #28 f1)
 #30 := (exists (vars (?v0 S2)) #29)
 #33 := (iff #30 #32)
-#41 := (not #25)
-#42 := (or #41 #33)
-#45 := (not #42)
+#57 := (not #25)
+#58 := (or #57 #33)
+#61 := (not #58)
 #34 := (implies #25 #33)
 #35 := (not #34)
-#46 := (iff #35 #45)
-#43 := (iff #34 #42)
-#44 := [rewrite]: #43
-#47 := [monotonicity #44]: #46
-#37 := [asserted]: #35
-#48 := [mp #37 #47]: #45
-#49 := [not-or-elim #48]: #25
-#50 := [and-elim #49]: #15
-#77 := [mp~ #50 #85]: #15
-#578 := [mp #77 #577]: #573
-#245 := (not #573)
-#561 := (or #245 #242)
-#220 := [quant-inst #26 #20]: #561
-#247 := [unit-resolution #220 #578]: #242
+#62 := (iff #35 #61)
+#59 := (iff #34 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#56 := [asserted]: #35
+#66 := [mp #56 #63]: #61
+#64 := [not-or-elim #66]: #25
+#65 := [and-elim #64]: #15
+#73 := [mp~ #65 #76]: #15
+#637 := [mp #73 #636]: #632
+#304 := (not #632)
+#620 := (or #304 #301)
+#279 := [quant-inst #26 #20]: #620
+#306 := [unit-resolution #279 #637]: #301
 decl ?v0!3 :: S2
-#134 := ?v0!3
-#135 := (f3 #27 ?v0!3)
-#136 := (= #135 f1)
-#246 := (iff #136 #153)
-#249 := (or #245 #246)
-#228 := [quant-inst #26 #134]: #249
-#248 := [unit-resolution #228 #578]: #246
-#564 := (not #246)
-#549 := (or #564 #153)
-#144 := (not #32)
-#604 := (pattern #28)
-#126 := (not #29)
-#605 := (forall (vars (?v0 S2)) (:pat #604) #126)
-#154 := [hypothesis]: #32
-#610 := (or #605 #144)
-#131 := (forall (vars (?v0 S2)) #126)
-#147 := (or #131 #144)
-#611 := (iff #147 #610)
-#608 := (iff #131 #605)
-#606 := (iff #126 #126)
-#607 := [refl]: #606
-#609 := [quant-intro #607]: #608
-#612 := [monotonicity #609]: #611
-#148 := (or #136 #32)
+#129 := ?v0!3
+#132 := (f3 #27 ?v0!3)
+#133 := (= #132 f1)
+#305 := (iff #133 #215)
+#308 := (or #304 #305)
+#287 := [quant-inst #26 #129]: #308
+#307 := [unit-resolution #287 #637]: #305
+#623 := (not #305)
+#608 := (or #623 #215)
+#117 := (not #32)
+#663 := (pattern #28)
+#141 := (not #29)
+#664 := (forall (vars (?v0 S2)) (:pat #663) #141)
+#216 := [hypothesis]: #32
+#669 := (or #664 #117)
+#144 := (forall (vars (?v0 S2)) #141)
+#147 := (or #144 #117)
+#670 := (iff #147 #669)
+#667 := (iff #144 #664)
+#665 := (iff #141 #141)
+#666 := [refl]: #665
+#668 := [quant-intro #666]: #667
+#671 := [monotonicity #668]: #670
+#148 := (or #133 #32)
 #149 := (and #148 #147)
-#73 := (not #30)
-#74 := (iff #73 #32)
-#150 := (~ #74 #149)
-#145 := (~ #144 #144)
-#146 := [refl]: #145
-#142 := (~ #32 #32)
+#77 := (not #30)
+#78 := (iff #77 #32)
+#150 := (~ #78 #149)
+#90 := (~ #32 #32)
+#128 := [refl]: #90
+#118 := (~ #117 #117)
+#89 := [refl]: #118
+#145 := (~ #77 #144)
+#142 := (~ #141 #141)
 #143 := [refl]: #142
-#139 := (not #73)
-#140 := (~ #139 #136)
-#137 := (~ #30 #136)
-#138 := [sk]: #137
-#141 := [nnf-neg #138]: #140
-#132 := (~ #73 #131)
-#127 := (~ #126 #126)
-#130 := [refl]: #127
-#133 := [nnf-neg #130]: #132
-#151 := [nnf-pos #133 #141 #143 #146]: #150
-#52 := (not #33)
-#75 := (iff #52 #74)
-#76 := [rewrite]: #75
-#53 := [not-or-elim #48]: #52
-#79 := [mp #53 #76]: #74
-#152 := [mp~ #79 #151]: #149
+#146 := [nnf-neg #143]: #145
+#138 := (not #77)
+#139 := (~ #138 #133)
+#134 := (~ #30 #133)
+#135 := [sk]: #134
+#140 := [nnf-neg #135]: #139
+#151 := [nnf-pos #140 #146 #89 #128]: #150
+#68 := (not #33)
+#79 := (iff #68 #78)
+#80 := [rewrite]: #79
+#69 := [not-or-elim #66]: #68
+#81 := [mp #69 #80]: #78
+#152 := [mp~ #81 #151]: #149
 #156 := [and-elim #152]: #147
-#613 := [mp #156 #612]: #610
-#243 := [unit-resolution #613 #154]: #605
-#560 := (not #605)
-#233 := (or #560 #144)
-#234 := [quant-inst #20]: #233
-#567 := [unit-resolution #234 #154 #243]: false
-#568 := [lemma #567]: #144
+#672 := [mp #156 #671]: #669
+#302 := [unit-resolution #672 #216]: #664
+#619 := (not #664)
+#292 := (or #619 #117)
+#293 := [quant-inst #20]: #292
+#626 := [unit-resolution #293 #216 #302]: false
+#627 := [lemma #626]: #117
 #155 := [and-elim #152]: #148
-#212 := [unit-resolution #155 #568]: #136
-#157 := (not #136)
-#244 := (or #564 #157 #153)
-#235 := [def-axiom]: #244
-#550 := [unit-resolution #235 #212]: #549
-#551 := [unit-resolution #550 #248]: #153
-#566 := (not #153)
-#225 := (not #242)
-#552 := (or #225 #566)
-#562 := (or #225 #32 #566)
-#221 := [def-axiom]: #562
-#553 := [unit-resolution #221 #568]: #552
-[unit-resolution #553 #551 #247]: false
-0b72ca47b596bf4617b3c43ccb84578bda9d4bf9 66 0
-unsat
+#271 := [unit-resolution #155 #627]: #133
+#217 := (not #133)
+#303 := (or #623 #217 #215)
+#294 := [def-axiom]: #303
+#609 := [unit-resolution #294 #271]: #608
+#610 := [unit-resolution #609 #307]: #215
+#625 := (not #215)
+#284 := (not #301)
+#611 := (or #284 #625)
+#621 := (or #284 #32 #625)
+#280 := [def-axiom]: #621
+#612 := [unit-resolution #280 #627]: #611
+[unit-resolution #612 #610 #306]: false
+unsat
+e3789d696531e28820a0701533dd90dd157ebfb7 66 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
 #8 := (:var 0 S3)
 decl ?v0!0 :: S2
-#41 := ?v0!0
-#42 := (f3 ?v0!0 #8)
-#476 := (pattern #42)
+#43 := ?v0!0
+#44 := (f3 ?v0!0 #8)
+#537 := (pattern #44)
 decl f4 :: (-> S5 S2 S3)
 decl f5 :: S5
 #10 := f5
-#43 := (f4 f5 ?v0!0)
-#44 := (f3 ?v0!0 #43)
-#45 := (= #42 #44)
-#50 := (not #45)
-#477 := (forall (vars (?v1 S3)) (:pat #476) #50)
-#257 := (not #477)
-#137 := (= #44 #44)
-#468 := (not #137)
-#466 := (or #257 #468)
-#115 := (iff #466 #257)
-#467 := (or #257 false)
-#113 := (iff #467 #257)
-#114 := [rewrite]: #113
-#109 := (iff #466 #467)
-#124 := (iff #468 false)
-#1 := true
-#473 := (not true)
-#475 := (iff #473 false)
-#465 := [rewrite]: #475
-#474 := (iff #468 #473)
-#471 := (iff #137 true)
-#472 := [rewrite]: #471
-#469 := [monotonicity #472]: #474
-#129 := [trans #469 #465]: #124
-#451 := [monotonicity #129]: #109
-#116 := [trans #451 #114]: #115
-#125 := [quant-inst #43]: #466
-#453 := [mp #125 #116]: #257
+#45 := (f4 f5 ?v0!0)
+#46 := (f3 ?v0!0 #45)
+#39 := (= #44 #46)
+#50 := (not #39)
+#538 := (forall (vars (?v1 S3)) (:pat #537) #50)
+#199 := (not #538)
+#533 := (= #46 #46)
+#529 := (not #533)
+#528 := (or #199 #529)
+#514 := (iff #528 #199)
+#512 := (or #199 false)
+#176 := (iff #512 #199)
+#177 := [rewrite]: #176
+#174 := (iff #528 #512)
+#527 := (iff #529 false)
+#1 := true
+#530 := (not true)
+#185 := (iff #530 false)
+#190 := [rewrite]: #185
+#536 := (iff #529 #530)
+#534 := (iff #533 true)
+#535 := [rewrite]: #534
+#526 := [monotonicity #535]: #536
+#186 := [trans #526 #190]: #527
+#175 := [monotonicity #186]: #174
+#515 := [trans #175 #177]: #514
+#170 := [quant-inst #45]: #528
+#516 := [mp #170 #515]: #199
 #53 := (forall (vars (?v1 S3)) #50)
-#480 := (iff #53 #477)
-#478 := (iff #50 #50)
-#479 := [refl]: #478
-#481 := [quant-intro #479]: #480
+#541 := (iff #53 #538)
+#539 := (iff #50 #50)
+#540 := [refl]: #539
+#542 := [quant-intro #540]: #541
 #7 := (:var 1 S2)
 #11 := (f4 f5 #7)
 #12 := (f3 #7 #11)
@@ -6588,8 +5721,8 @@
 #15 := (forall (vars (?v0 S2)) #14)
 #16 := (not #15)
 #56 := (~ #16 #53)
-#46 := (exists (vars (?v1 S3)) #45)
-#47 := (not #46)
+#40 := (exists (vars (?v1 S3)) #39)
+#47 := (not #40)
 #54 := (~ #47 #53)
 #51 := (~ #50 #50)
 #52 := [refl]: #51
@@ -6597,102 +5730,102 @@
 #48 := (~ #16 #47)
 #49 := [sk]: #48
 #57 := [trans #49 #55]: #56
-#18 := [asserted]: #16
-#58 := [mp~ #18 #57]: #53
-#482 := [mp #58 #481]: #477
-[unit-resolution #482 #453]: false
-d60a61e097c059599bc1ac624893b062d56af4fe 88 0
-unsat
+#37 := [asserted]: #16
+#58 := [mp~ #37 #57]: #53
+#543 := [mp #58 #542]: #538
+[unit-resolution #543 #516]: false
+unsat
+d324903e560baa1595f5a14b9effa96572ff81c3 88 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S1)
+decl ?v0!0 :: S2
+#58 := ?v0!0
+#59 := (f3 ?v0!0)
+#60 := (= #59 f1)
 decl ?v0!1 :: S2
-#67 := ?v0!1
-#68 := (f3 ?v0!1)
-#69 := (= #68 f1)
-decl ?v0!0 :: S2
-#56 := ?v0!0
-#57 := (f3 ?v0!0)
-#58 := (= #57 f1)
-#93 := (not #58)
-#180 := [hypothesis]: #58
+#71 := ?v0!1
+#72 := (f3 ?v0!1)
+#73 := (= #72 f1)
+#155 := (not #73)
+#241 := [hypothesis]: #73
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#510 := (pattern #8)
+#571 := (pattern #8)
 #9 := (= #8 f1)
 #13 := (not #9)
-#511 := (forall (vars (?v0 S2)) (:pat #510) #13)
+#572 := (forall (vars (?v0 S2)) (:pat #571) #13)
 #14 := (forall (vars (?v0 S2)) #13)
-#514 := (iff #14 #511)
-#512 := (iff #13 #13)
-#513 := [refl]: #512
-#515 := [quant-intro #513]: #514
-#86 := (or #58 #69)
-#89 := (and #14 #86)
-#70 := (not #69)
-#71 := (not #70)
-#74 := (or #58 #71)
-#75 := (or #14 #14)
-#76 := (and #75 #74)
-#90 := (iff #76 #89)
-#87 := (iff #74 #86)
-#84 := (iff #71 #69)
-#85 := [rewrite]: #84
-#88 := [monotonicity #85]: #87
-#82 := (iff #75 #14)
-#83 := [rewrite]: #82
-#91 := [monotonicity #83 #88]: #90
+#575 := (iff #14 #572)
+#573 := (iff #13 #13)
+#574 := [refl]: #573
+#576 := [quant-intro #574]: #575
+#90 := (or #73 #60)
+#93 := (and #14 #90)
+#61 := (not #60)
+#53 := (not #61)
+#78 := (or #73 #53)
+#79 := (or #14 #14)
+#80 := (and #79 #78)
+#94 := (iff #80 #93)
+#91 := (iff #78 #90)
+#88 := (iff #53 #60)
+#89 := [rewrite]: #88
+#92 := [monotonicity #89]: #91
+#86 := (iff #79 #14)
+#87 := [rewrite]: #86
+#95 := [monotonicity #87 #92]: #94
 #10 := (exists (vars (?v0 S2)) #9)
-#31 := (iff #10 #14)
-#77 := (~ #31 #76)
-#15 := (not #14)
-#72 := (~ #15 #71)
-#73 := [sk]: #72
-#65 := (~ #14 #14)
-#61 := (~ #13 #13)
-#62 := [refl]: #61
-#66 := [nnf-pos #62]: #65
+#47 := (iff #10 #14)
+#81 := (~ #47 #80)
+#67 := (~ #14 #14)
+#65 := (~ #13 #13)
+#66 := [refl]: #65
+#68 := [nnf-pos #66]: #67
+#15 := (not #14)
+#55 := (~ #15 #53)
+#62 := [sk]: #55
+#74 := (~ #10 #73)
+#75 := [sk]: #74
 #11 := (not #10)
-#63 := (~ #11 #14)
-#64 := [nnf-neg #62]: #63
-#59 := (~ #10 #58)
-#60 := [sk]: #59
-#78 := [nnf-pos #60 #64 #66 #73]: #77
+#69 := (~ #11 #14)
+#70 := [nnf-neg #66]: #69
+#82 := [nnf-pos #70 #75 #62 #68]: #81
 #12 := (not #11)
 #16 := (iff #12 #15)
 #17 := (not #16)
-#34 := (iff #17 #31)
-#25 := (iff #10 #15)
-#28 := (not #25)
-#32 := (iff #28 #31)
-#33 := [rewrite]: #32
-#29 := (iff #17 #28)
-#26 := (iff #16 #25)
-#23 := (iff #12 #10)
-#24 := [rewrite]: #23
-#27 := [monotonicity #24]: #26
-#30 := [monotonicity #27]: #29
-#35 := [trans #30 #33]: #34
-#19 := [asserted]: #17
-#36 := [mp #19 #35]: #31
-#79 := [mp~ #36 #78]: #76
-#80 := [mp #79 #91]: #89
-#81 := [and-elim #80]: #14
-#516 := [mp #81 #515]: #511
-#181 := (not #511)
-#95 := (or #181 #93)
-#182 := [quant-inst #56]: #95
-#94 := [unit-resolution #182 #516 #180]: false
-#173 := [lemma #94]: #93
-#92 := [and-elim #80]: #86
-#184 := [unit-resolution #92 #173]: #69
-#186 := (or #181 #70)
-#183 := [quant-inst #67]: #186
-[unit-resolution #183 #516 #184]: false
-6922ad0f6e3b3d7df4f6fe17773064fca3f13ce2 98 0
+#50 := (iff #17 #47)
+#41 := (iff #10 #15)
+#44 := (not #41)
+#48 := (iff #44 #47)
+#49 := [rewrite]: #48
+#45 := (iff #17 #44)
+#42 := (iff #16 #41)
+#39 := (iff #12 #10)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#46 := [monotonicity #43]: #45
+#51 := [trans #46 #49]: #50
+#38 := [asserted]: #17
+#54 := [mp #38 #51]: #47
+#83 := [mp~ #54 #82]: #80
+#84 := [mp #83 #95]: #93
+#85 := [and-elim #84]: #14
+#577 := [mp #85 #576]: #572
+#242 := (not #572)
+#157 := (or #242 #155)
+#243 := [quant-inst #71]: #157
+#156 := [unit-resolution #243 #577 #241]: false
+#234 := [lemma #156]: #155
+#96 := [and-elim #84]: #90
+#245 := [unit-resolution #96 #234]: #60
+#247 := (or #242 #61)
+#244 := [quant-inst #58]: #247
+[unit-resolution #244 #577 #245]: false
+unsat
+3de5495059db2c9339efaef2e05436267d6715ae 98 0
 WARNING: failed to find a pattern for quantifier (quantifier id: k!16)
-unsat
 #2 := false
 decl f3 :: (-> S2 S3 S4 S5 S6)
 decl f6 :: (-> S8 S4 S5)
@@ -6701,47 +5834,47 @@
 #64 := (?v2!1 #63)
 decl f7 :: (-> S9 S2 S8)
 decl ?v0!0 :: S2
-#48 := ?v0!0
+#50 := ?v0!0
 decl f8 :: S9
 #14 := f8
-#51 := (f7 f8 ?v0!0)
-#66 := (f6 #51 #64)
+#53 := (f7 f8 ?v0!0)
+#66 := (f6 #53 #64)
 decl f4 :: (-> S7 S2 S3)
 decl f5 :: S7
 #12 := f5
-#50 := (f4 f5 ?v0!0)
-#67 := (f3 ?v0!0 #50 #64 #66)
+#52 := (f4 f5 ?v0!0)
+#67 := (f3 ?v0!0 #52 #64 #66)
 #10 := (:var 0 S5)
 #65 := (f3 ?v0!0 #63 #64 #10)
 #68 := (= #65 #67)
 #61 := (not #68)
 #88 := (forall (vars (?v1 S3) (?v3 S5)) #61)
-#502 := (not #88)
-#192 := (?v2!1 #50)
-#471 := (f6 #51 #192)
-#169 := (f3 ?v0!0 #50 #192 #471)
-#131 := (= #169 #169)
-#310 := (not #131)
-#323 := (or #502 #310)
-#304 := (iff #323 #502)
-#300 := (or #502 false)
-#303 := (iff #300 #502)
-#286 := [rewrite]: #303
-#301 := (iff #323 #300)
-#422 := (iff #310 false)
-#1 := true
-#490 := (not true)
-#325 := (iff #490 false)
-#420 := [rewrite]: #325
-#203 := (iff #310 #490)
-#452 := (iff #131 true)
-#477 := [rewrite]: #452
-#440 := [monotonicity #477]: #203
-#307 := [trans #440 #420]: #422
-#302 := [monotonicity #307]: #301
-#274 := [trans #302 #286]: #304
-#299 := [quant-inst #50 #471]: #323
-#275 := [mp #299 #274]: #502
+#543 := (not #88)
+#541 := (?v2!1 #52)
+#530 := (f6 #53 #541)
+#534 := (f3 ?v0!0 #52 #541 #530)
+#525 := (= #534 #534)
+#520 := (not #525)
+#371 := (or #543 #520)
+#517 := (iff #371 #543)
+#514 := (or #543 false)
+#510 := (iff #514 #543)
+#511 := [rewrite]: #510
+#515 := (iff #371 #514)
+#369 := (iff #520 false)
+#1 := true
+#539 := (not true)
+#522 := (iff #539 false)
+#528 := [rewrite]: #522
+#536 := (iff #520 #539)
+#526 := (iff #525 true)
+#555 := [rewrite]: #526
+#527 := [monotonicity #555]: #536
+#370 := [trans #527 #528]: #369
+#516 := [monotonicity #370]: #515
+#518 := [trans #516 #511]: #517
+#513 := [quant-inst #52 #530]: #371
+#512 := [mp #513 #518]: #543
 #75 := (forall (vars (?v3 S5)) #61)
 #80 := (forall (vars (?v1 S3)) #75)
 #89 := (iff #80 #88)
@@ -6761,10 +5894,10 @@
 #22 := (forall (vars (?v0 S2)) #21)
 #23 := (not #22)
 #83 := (~ #23 #80)
-#52 := (f6 #51 #9)
-#53 := (f3 ?v0!0 #50 #9 #52)
-#49 := (f3 ?v0!0 #8 #9 #10)
-#54 := (= #49 #53)
+#46 := (f6 #53 #9)
+#47 := (f3 ?v0!0 #52 #9 #46)
+#51 := (f3 ?v0!0 #8 #9 #10)
+#54 := (= #51 #47)
 #55 := (exists (vars (?v3 S5)) #54)
 #56 := (forall (vars (?v2 S4)) #55)
 #57 := (exists (vars (?v1 S3)) #56)
@@ -6785,12 +5918,12 @@
 #59 := (~ #23 #58)
 #60 := [sk]: #59
 #84 := [trans #60 #82]: #83
-#25 := [asserted]: #23
-#85 := [mp~ #25 #84]: #80
+#44 := [asserted]: #23
+#85 := [mp~ #44 #84]: #80
 #86 := [mp #85 #90]: #88
-[unit-resolution #86 #275]: false
-5766ec783f34908a29512d5f77d60ab824e52afb 67 0
-unsat
+[unit-resolution #86 #512]: false
+unsat
+c05210ac4c810516250c979692bf95e10f79efbc 67 0
 #2 := false
 decl f4 :: (-> S4 S2 S3)
 #10 := (:var 1 S2)
@@ -6815,50 +5948,50 @@
 #23 := (if #9 #14 #22)
 #24 := (exists (vars (?v0 S2)) #23)
 #25 := (not #24)
-#68 := (iff #25 false)
-#1 := true
-#63 := (not true)
-#66 := (iff #63 false)
-#67 := [rewrite]: #66
-#64 := (iff #25 #63)
-#61 := (iff #24 true)
-#56 := (exists (vars (?v0 S2)) true)
-#59 := (iff #56 true)
-#60 := [elim-unused]: #59
-#57 := (iff #24 #56)
-#54 := (iff #23 true)
-#49 := (if #9 true true)
+#84 := (iff #25 false)
+#1 := true
+#79 := (not true)
+#82 := (iff #79 false)
+#83 := [rewrite]: #82
+#80 := (iff #25 #79)
+#77 := (iff #24 true)
+#72 := (exists (vars (?v0 S2)) true)
+#75 := (iff #72 true)
+#76 := [elim-unused]: #75
+#73 := (iff #24 #72)
+#70 := (iff #23 true)
+#65 := (if #9 true true)
+#68 := (iff #65 true)
+#69 := [rewrite]: #68
+#66 := (iff #23 #65)
+#63 := (iff #22 true)
+#58 := (forall (vars (?v1 S3)) true)
+#61 := (iff #58 true)
+#62 := [elim-unused]: #61
+#59 := (iff #22 #58)
+#56 := (iff #21 true)
+#57 := [rewrite]: #56
+#60 := [quant-intro #57]: #59
+#64 := [trans #60 #62]: #63
+#54 := (iff #14 true)
+#49 := (forall (vars (?v1 S2)) true)
 #52 := (iff #49 true)
-#53 := [rewrite]: #52
-#50 := (iff #23 #49)
-#47 := (iff #22 true)
-#42 := (forall (vars (?v1 S3)) true)
-#45 := (iff #42 true)
-#46 := [elim-unused]: #45
-#43 := (iff #22 #42)
-#40 := (iff #21 true)
-#41 := [rewrite]: #40
-#44 := [quant-intro #41]: #43
-#48 := [trans #44 #46]: #47
-#38 := (iff #14 true)
-#33 := (forall (vars (?v1 S2)) true)
-#36 := (iff #33 true)
-#37 := [elim-unused]: #36
-#34 := (iff #14 #33)
-#31 := (iff #13 true)
-#32 := [rewrite]: #31
-#35 := [quant-intro #32]: #34
-#39 := [trans #35 #37]: #38
-#51 := [monotonicity #39 #48]: #50
+#53 := [elim-unused]: #52
+#50 := (iff #14 #49)
+#47 := (iff #13 true)
+#48 := [rewrite]: #47
+#51 := [quant-intro #48]: #50
 #55 := [trans #51 #53]: #54
-#58 := [quant-intro #55]: #57
-#62 := [trans #58 #60]: #61
-#65 := [monotonicity #62]: #64
-#69 := [trans #65 #67]: #68
-#27 := [asserted]: #25
-[mp #27 #69]: false
-d50ade7a66202a86d82309f756df6dcdc43ac7f2 64 0
-unsat
+#67 := [monotonicity #55 #64]: #66
+#71 := [trans #67 #69]: #70
+#74 := [quant-intro #71]: #73
+#78 := [trans #74 #76]: #77
+#81 := [monotonicity #78]: #80
+#85 := [trans #81 #83]: #84
+#46 := [asserted]: #25
+[mp #46 #85]: false
+unsat
+954b31fcb23d6bdcc4d8c96fd318c51c72effd7f 64 0
 #2 := false
 decl f4 :: (-> S4 S2 S3)
 #10 := (:var 1 S2)
@@ -6883,294 +6016,294 @@
 #23 := (if #9 #14 #22)
 #24 := (exists (vars (?v0 S2)) #23)
 #25 := (not #24)
-#65 := (iff #25 false)
-#1 := true
-#60 := (not true)
-#63 := (iff #60 false)
-#64 := [rewrite]: #63
-#61 := (iff #25 #60)
-#58 := (iff #24 true)
-#33 := (exists (vars (?v1 S2)) true)
-#36 := (iff #33 true)
-#37 := [elim-unused]: #36
-#56 := (iff #24 #33)
-#54 := (iff #23 true)
-#49 := (if #9 true true)
+#81 := (iff #25 false)
+#1 := true
+#76 := (not true)
+#79 := (iff #76 false)
+#80 := [rewrite]: #79
+#77 := (iff #25 #76)
+#74 := (iff #24 true)
+#49 := (exists (vars (?v1 S2)) true)
 #52 := (iff #49 true)
-#53 := [rewrite]: #52
-#50 := (iff #23 #49)
-#47 := (iff #22 true)
-#42 := (exists (vars (?v1 S3)) true)
-#45 := (iff #42 true)
-#46 := [elim-unused]: #45
-#43 := (iff #22 #42)
-#40 := (iff #21 true)
-#41 := [rewrite]: #40
-#44 := [quant-intro #41]: #43
-#48 := [trans #44 #46]: #47
-#38 := (iff #14 true)
-#34 := (iff #14 #33)
-#31 := (iff #13 true)
-#32 := [rewrite]: #31
-#35 := [quant-intro #32]: #34
-#39 := [trans #35 #37]: #38
-#51 := [monotonicity #39 #48]: #50
+#53 := [elim-unused]: #52
+#72 := (iff #24 #49)
+#70 := (iff #23 true)
+#65 := (if #9 true true)
+#68 := (iff #65 true)
+#69 := [rewrite]: #68
+#66 := (iff #23 #65)
+#63 := (iff #22 true)
+#58 := (exists (vars (?v1 S3)) true)
+#61 := (iff #58 true)
+#62 := [elim-unused]: #61
+#59 := (iff #22 #58)
+#56 := (iff #21 true)
+#57 := [rewrite]: #56
+#60 := [quant-intro #57]: #59
+#64 := [trans #60 #62]: #63
+#54 := (iff #14 true)
+#50 := (iff #14 #49)
+#47 := (iff #13 true)
+#48 := [rewrite]: #47
+#51 := [quant-intro #48]: #50
 #55 := [trans #51 #53]: #54
-#57 := [quant-intro #55]: #56
-#59 := [trans #57 #37]: #58
-#62 := [monotonicity #59]: #61
-#66 := [trans #62 #64]: #65
-#27 := [asserted]: #25
-[mp #27 #66]: false
-d9ff4d0f7d0f6b7f97a94ecc044fa5ef73c485d9 154 0
-unsat
+#67 := [monotonicity #55 #64]: #66
+#71 := [trans #67 #69]: #70
+#73 := [quant-intro #71]: #72
+#75 := [trans #73 #53]: #74
+#78 := [monotonicity #75]: #77
+#82 := [trans #78 #80]: #81
+#46 := [asserted]: #25
+[mp #46 #82]: false
+unsat
+f51403ccc25360b96d5b86de9da670599bc2bdd5 154 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #10 := (:var 0 S2)
 #11 := (f3 #10)
-#524 := (pattern #11)
+#583 := (pattern #11)
 decl f1 :: S1
 #3 := f1
 #12 := (= #11 f1)
-#74 := (not #12)
-#540 := (forall (vars (?v0 S2)) (:pat #524) #74)
-decl ?v0!2 :: S2
-#92 := ?v0!2
-#93 := (f3 ?v0!2)
-#94 := (= #93 f1)
+#95 := (not #12)
+#599 := (forall (vars (?v0 S2)) (:pat #583) #95)
+decl ?v0!1 :: S2
+#72 := ?v0!1
+#73 := (f3 ?v0!1)
+#74 := (= #73 f1)
 decl ?v0!0 :: S2
 #63 := ?v0!0
 #64 := (f3 ?v0!0)
-#65 := (= #64 f1)
-#105 := (iff #65 #94)
-#513 := (not #105)
-#521 := [hypothesis]: #513
-#66 := (iff #65 #12)
-#525 := (forall (vars (?v1 S2)) (:pat #524) #66)
-#60 := (forall (vars (?v1 S2)) #66)
-#528 := (iff #60 #525)
-#526 := (iff #66 #66)
-#527 := [refl]: #526
-#529 := [quant-intro #527]: #528
+#56 := (= #64 f1)
+#167 := (iff #56 #74)
+#572 := (not #167)
+#580 := [hypothesis]: #572
+#57 := (iff #56 #12)
+#584 := (forall (vars (?v1 S2)) (:pat #583) #57)
+#54 := (forall (vars (?v1 S2)) #57)
+#587 := (iff #54 #584)
+#585 := (iff #57 #57)
+#586 := [refl]: #585
+#588 := [quant-intro #586]: #587
 #7 := (:var 1 S2)
 #8 := (f3 #7)
 #9 := (= #8 f1)
 #13 := (iff #9 #12)
 #14 := (forall (vars (?v1 S2)) #13)
 #15 := (exists (vars (?v0 S2)) #14)
-#61 := (~ #15 #60)
-#70 := (~ #60 #60)
-#68 := (~ #66 #66)
-#69 := [refl]: #68
-#71 := [nnf-pos #69]: #70
-#67 := [sk]: #61
-#72 := [trans #67 #71]: #61
+#55 := (~ #15 #54)
+#68 := (~ #54 #54)
+#66 := (~ #57 #57)
+#67 := [refl]: #66
+#69 := [nnf-pos #67]: #68
+#65 := [sk]: #55
+#70 := [trans #65 #69]: #55
 #17 := (forall (vars (?v0 S2)) #12)
 #16 := (exists (vars (?v0 S2)) #12)
 #18 := (iff #16 #17)
-#26 := (not #15)
-#27 := (or #26 #18)
-#30 := (not #27)
+#42 := (not #15)
+#43 := (or #42 #18)
+#46 := (not #43)
 #19 := (implies #15 #18)
 #20 := (not #19)
-#31 := (iff #20 #30)
-#28 := (iff #19 #27)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#22 := [asserted]: #20
-#33 := [mp #22 #32]: #30
-#34 := [not-or-elim #33]: #15
-#73 := [mp~ #34 #72]: #60
-#530 := [mp #73 #529]: #525
-#195 := (not #525)
-#517 := (or #195 #105)
-#523 := [quant-inst #92]: #517
-#522 := [unit-resolution #523 #530 #521]: false
-#505 := [lemma #522]: #105
-#500 := (or #513 #94)
-#200 := (not #65)
-#109 := [hypothesis]: #200
-#531 := (forall (vars (?v0 S2)) (:pat #524) #12)
-decl ?v0!1 :: S2
-#80 := ?v0!1
-#81 := (f3 ?v0!1)
-#82 := (= #81 f1)
-#187 := (not #82)
-#196 := (or #65 #187)
-#194 := (iff #65 #82)
-#186 := (not #194)
-#106 := [hypothesis]: #186
-#512 := (or #195 #194)
-#185 := [quant-inst #80]: #512
-#305 := [unit-resolution #185 #530 #106]: false
-#514 := [lemma #305]: #194
-#198 := (or #186 #65 #187)
-#199 := [def-axiom]: #198
-#164 := [unit-resolution #199 #514]: #196
-#501 := [unit-resolution #164 #109]: #187
-#536 := (or #82 #531)
-#100 := (or #82 #17)
-#537 := (iff #100 #536)
-#534 := (iff #17 #531)
-#532 := (iff #12 #12)
-#533 := [refl]: #532
-#535 := [quant-intro #533]: #534
-#538 := [monotonicity #535]: #537
-#95 := (not #94)
-#77 := (forall (vars (?v0 S2)) #74)
-#99 := (or #77 #95)
-#101 := (and #100 #99)
-#56 := (not #16)
-#57 := (iff #56 #17)
-#102 := (~ #57 #101)
-#96 := (not #17)
-#97 := (~ #96 #95)
-#98 := [sk]: #97
-#90 := (~ #17 #17)
-#88 := (~ #12 #12)
-#89 := [refl]: #88
-#91 := [nnf-pos #89]: #90
-#85 := (not #56)
-#86 := (~ #85 #82)
-#83 := (~ #16 #82)
-#84 := [sk]: #83
-#87 := [nnf-neg #84]: #86
-#78 := (~ #56 #77)
-#75 := (~ #74 #74)
-#76 := [refl]: #75
-#79 := [nnf-neg #76]: #78
-#103 := [nnf-pos #79 #87 #91 #98]: #102
-#35 := (not #18)
-#58 := (iff #35 #57)
-#59 := [rewrite]: #58
-#36 := [not-or-elim #33]: #35
-#62 := [mp #36 #59]: #57
-#104 := [mp~ #62 #103]: #101
-#107 := [and-elim #104]: #100
-#539 := [mp #107 #538]: #536
-#502 := [unit-resolution #539 #501]: #531
-#157 := (not #531)
-#499 := (or #157 #65)
-#161 := [quant-inst #63]: #499
-#503 := [unit-resolution #161 #502 #109]: false
-#504 := [lemma #503]: #65
-#173 := (or #513 #200 #94)
-#515 := [def-axiom]: #173
-#506 := [unit-resolution #515 #504]: #500
-#510 := [unit-resolution #506 #505]: #94
-#545 := (or #540 #95)
-#546 := (iff #99 #545)
-#543 := (iff #77 #540)
-#541 := (iff #74 #74)
-#542 := [refl]: #541
-#544 := [quant-intro #542]: #543
-#547 := [monotonicity #544]: #546
-#108 := [and-elim #104]: #99
-#548 := [mp #108 #547]: #545
-#508 := [unit-resolution #548 #510]: #540
-#511 := (or #200 #82)
-#197 := (or #186 #200 #82)
-#201 := [def-axiom]: #197
-#497 := [unit-resolution #201 #514]: #511
-#498 := [unit-resolution #497 #504]: #82
-#143 := (not #540)
-#507 := (or #143 #187)
-#509 := [quant-inst #80]: #507
-[unit-resolution #509 #498 #508]: false
-d534bf4d94631425253e66e919c95e7c6095820e 91 0
-unsat
+#47 := (iff #20 #46)
+#44 := (iff #19 #43)
+#45 := [rewrite]: #44
+#48 := [monotonicity #45]: #47
+#41 := [asserted]: #20
+#51 := [mp #41 #48]: #46
+#49 := [not-or-elim #51]: #15
+#71 := [mp~ #49 #70]: #54
+#589 := [mp #71 #588]: #584
+#254 := (not #584)
+#576 := (or #254 #167)
+#582 := [quant-inst #72]: #576
+#581 := [unit-resolution #582 #589 #580]: false
+#564 := [lemma #581]: #167
+#559 := (or #572 #74)
+#259 := (not #56)
+#169 := [hypothesis]: #259
+#590 := (forall (vars (?v0 S2)) (:pat #583) #12)
+decl ?v0!2 :: S2
+#85 := ?v0!2
+#86 := (f3 ?v0!2)
+#87 := (= #86 f1)
+#246 := (not #87)
+#255 := (or #56 #246)
+#253 := (iff #56 #87)
+#245 := (not #253)
+#168 := [hypothesis]: #245
+#571 := (or #254 #253)
+#244 := [quant-inst #85]: #571
+#364 := [unit-resolution #244 #589 #168]: false
+#573 := [lemma #364]: #253
+#257 := (or #245 #56 #246)
+#258 := [def-axiom]: #257
+#223 := [unit-resolution #258 #573]: #255
+#560 := [unit-resolution #223 #169]: #246
+#595 := (or #87 #590)
+#102 := (or #87 #17)
+#596 := (iff #102 #595)
+#593 := (iff #17 #590)
+#591 := (iff #12 #12)
+#592 := [refl]: #591
+#594 := [quant-intro #592]: #593
+#597 := [monotonicity #594]: #596
+#75 := (not #74)
+#98 := (forall (vars (?v0 S2)) #95)
+#101 := (or #98 #75)
+#103 := (and #102 #101)
+#58 := (not #16)
+#59 := (iff #58 #17)
+#104 := (~ #59 #103)
+#83 := (~ #17 #17)
+#81 := (~ #12 #12)
+#82 := [refl]: #81
+#84 := [nnf-pos #82]: #83
+#76 := (not #17)
+#77 := (~ #76 #75)
+#78 := [sk]: #77
+#99 := (~ #58 #98)
+#96 := (~ #95 #95)
+#97 := [refl]: #96
+#100 := [nnf-neg #97]: #99
+#92 := (not #58)
+#93 := (~ #92 #87)
+#88 := (~ #16 #87)
+#89 := [sk]: #88
+#94 := [nnf-neg #89]: #93
+#105 := [nnf-pos #94 #100 #78 #84]: #104
+#50 := (not #18)
+#60 := (iff #50 #59)
+#61 := [rewrite]: #60
+#52 := [not-or-elim #51]: #50
+#62 := [mp #52 #61]: #59
+#106 := [mp~ #62 #105]: #103
+#109 := [and-elim #106]: #102
+#598 := [mp #109 #597]: #595
+#561 := [unit-resolution #598 #560]: #590
+#216 := (not #590)
+#558 := (or #216 #56)
+#220 := [quant-inst #63]: #558
+#562 := [unit-resolution #220 #561 #169]: false
+#563 := [lemma #562]: #56
+#232 := (or #572 #259 #74)
+#574 := [def-axiom]: #232
+#565 := [unit-resolution #574 #563]: #559
+#569 := [unit-resolution #565 #564]: #74
+#604 := (or #599 #75)
+#605 := (iff #101 #604)
+#602 := (iff #98 #599)
+#600 := (iff #95 #95)
+#601 := [refl]: #600
+#603 := [quant-intro #601]: #602
+#606 := [monotonicity #603]: #605
+#110 := [and-elim #106]: #101
+#607 := [mp #110 #606]: #604
+#567 := [unit-resolution #607 #569]: #599
+#570 := (or #259 #87)
+#256 := (or #245 #259 #87)
+#260 := [def-axiom]: #256
+#556 := [unit-resolution #260 #573]: #570
+#557 := [unit-resolution #556 #563]: #87
+#202 := (not #599)
+#566 := (or #202 #246)
+#568 := [quant-inst #85]: #566
+[unit-resolution #568 #557 #567]: false
+unsat
+3bee024f02f6d6345f10af17fc9f9efaf0eafdfa 91 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#501 := (pattern #8)
+#562 := (pattern #8)
 decl f1 :: S1
 #3 := f1
 decl ?v1!0 :: S2
-#52 := ?v1!0
-#53 := (f3 ?v1!0)
-#54 := (= #53 f1)
+#54 := ?v1!0
+#46 := (f3 ?v1!0)
+#48 := (= #46 f1)
 #9 := (= #8 f1)
-#19 := (not #9)
-#68 := (or #19 #54)
-#77 := (not #68)
-#502 := (forall (vars (?v0 S2)) (:pat #501) #77)
-#178 := (not #502)
-#55 := (not #54)
-#493 := (or #55 #54)
-#282 := (not #493)
-#138 := (or #178 #282)
-#481 := (iff #138 #178)
-#140 := (or #178 false)
-#479 := (iff #140 #178)
-#480 := [rewrite]: #479
-#141 := (iff #138 #140)
-#134 := (iff #282 false)
-#1 := true
-#149 := (not true)
-#150 := (iff #149 false)
-#492 := [rewrite]: #150
-#154 := (iff #282 #149)
-#500 := (iff #493 true)
-#490 := [rewrite]: #500
-#491 := [monotonicity #490]: #154
-#476 := [trans #491 #492]: #134
-#478 := [monotonicity #476]: #141
-#482 := [trans #478 #480]: #481
-#139 := [quant-inst #52]: #138
-#477 := [mp #139 #482]: #178
-#80 := (forall (vars (?v0 S2)) #77)
-#505 := (iff #80 #502)
-#503 := (iff #77 #77)
-#504 := [refl]: #503
-#506 := [quant-intro #504]: #505
-#71 := (and #9 #55)
-#74 := (forall (vars (?v0 S2)) #71)
-#81 := (iff #74 #80)
-#78 := (iff #71 #77)
-#79 := [rewrite]: #78
+#35 := (not #9)
+#59 := (or #35 #48)
+#60 := (not #59)
+#563 := (forall (vars (?v0 S2)) (:pat #562) #60)
+#212 := (not #563)
+#55 := (not #48)
+#343 := (or #55 #48)
+#556 := (not #343)
+#201 := (or #212 #556)
+#538 := (iff #201 #212)
+#539 := (or #212 false)
+#542 := (iff #539 #212)
+#543 := [rewrite]: #542
+#540 := (iff #201 #539)
+#199 := (iff #556 false)
+#1 := true
+#552 := (not true)
+#195 := (iff #552 false)
+#537 := [rewrite]: #195
+#211 := (iff #556 #552)
+#210 := (iff #343 true)
+#215 := [rewrite]: #210
+#553 := [monotonicity #215]: #211
+#200 := [trans #553 #537]: #199
+#541 := [monotonicity #200]: #540
+#544 := [trans #541 #543]: #538
+#202 := [quant-inst #54]: #201
+#181 := [mp #202 #544]: #212
+#80 := (forall (vars (?v0 S2)) #60)
+#566 := (iff #80 #563)
+#564 := (iff #60 #60)
+#565 := [refl]: #564
+#567 := [quant-intro #565]: #566
+#73 := (and #9 #55)
+#76 := (forall (vars (?v0 S2)) #73)
+#81 := (iff #76 #80)
+#70 := (iff #73 #60)
+#79 := [rewrite]: #70
 #82 := [quant-intro #79]: #81
-#49 := (not #19)
-#59 := (and #49 #55)
-#63 := (forall (vars (?v0 S2)) #59)
-#75 := (iff #63 #74)
-#72 := (iff #59 #71)
-#69 := (iff #49 #9)
-#70 := [rewrite]: #69
-#73 := [monotonicity #70]: #72
-#76 := [quant-intro #73]: #75
+#51 := (not #35)
+#61 := (and #51 #55)
+#65 := (forall (vars (?v0 S2)) #61)
+#77 := (iff #65 #76)
+#74 := (iff #61 #73)
+#71 := (iff #51 #9)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#78 := [quant-intro #75]: #77
 #10 := (forall (vars (?v1 S2)) #9)
-#20 := (or #19 #10)
-#23 := (exists (vars (?v0 S2)) #20)
-#26 := (not #23)
-#64 := (~ #26 #63)
-#60 := (not #20)
-#61 := (~ #60 #59)
+#36 := (or #35 #10)
+#39 := (exists (vars (?v0 S2)) #36)
+#42 := (not #39)
+#66 := (~ #42 #65)
+#62 := (not #36)
+#63 := (~ #62 #61)
 #56 := (not #10)
 #57 := (~ #56 #55)
 #58 := [sk]: #57
-#50 := (~ #49 #49)
-#51 := [refl]: #50
-#62 := [nnf-neg #51 #58]: #61
-#65 := [nnf-neg #62]: #64
+#52 := (~ #51 #51)
+#53 := [refl]: #52
+#64 := [nnf-neg #53 #58]: #63
+#67 := [nnf-neg #64]: #66
 #11 := (implies #9 #10)
 #12 := (exists (vars (?v0 S2)) #11)
 #13 := (not #12)
-#27 := (iff #13 #26)
-#24 := (iff #12 #23)
-#21 := (iff #11 #20)
-#22 := [rewrite]: #21
-#25 := [quant-intro #22]: #24
-#28 := [monotonicity #25]: #27
-#15 := [asserted]: #13
-#29 := [mp #15 #28]: #26
-#66 := [mp~ #29 #65]: #63
-#67 := [mp #66 #76]: #74
-#83 := [mp #67 #82]: #80
-#507 := [mp #83 #506]: #502
-[unit-resolution #507 #477]: false
-d77b8725117f9972715128acd88585ba586b4971 86 0
-unsat
+#43 := (iff #13 #42)
+#40 := (iff #12 #39)
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#41 := [quant-intro #38]: #40
+#44 := [monotonicity #41]: #43
+#34 := [asserted]: #13
+#47 := [mp #34 #44]: #42
+#68 := [mp~ #47 #67]: #65
+#69 := [mp #68 #78]: #76
+#83 := [mp #69 #82]: #80
+#568 := [mp #83 #567]: #563
+[unit-resolution #568 #181]: false
+unsat
+45134300a71a5bae52258f9afddcfb2800b39351 86 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -7178,348 +6311,369 @@
 decl ?v0!0 :: S2
 #60 := ?v0!0
 decl ?v0!1 :: S3
-#68 := ?v0!1
-#149 := (f3 ?v0!1 ?v0!0)
-#493 := (= #149 f1)
-#499 := (not #493)
+#70 := ?v0!1
+#549 := (f3 ?v0!1 ?v0!0)
+#188 := (= #549 f1)
+#189 := (not #188)
 #14 := (:var 0 S2)
-#69 := (f3 ?v0!1 #14)
-#508 := (pattern #69)
-#70 := (= #69 f1)
-#75 := (not #70)
-#509 := (forall (vars (?v1 S2)) (:pat #508) #75)
-#78 := (forall (vars (?v1 S2)) #75)
-#512 := (iff #78 #509)
-#510 := (iff #75 #75)
-#511 := [refl]: #510
-#513 := [quant-intro #511]: #512
+#71 := (f3 ?v0!1 #14)
+#571 := (pattern #71)
+#72 := (= #71 f1)
+#77 := (not #72)
+#572 := (forall (vars (?v1 S2)) (:pat #571) #77)
+#80 := (forall (vars (?v1 S2)) #77)
+#575 := (iff #80 #572)
+#573 := (iff #77 #77)
+#574 := [refl]: #573
+#576 := [quant-intro #574]: #575
 #13 := (:var 1 S3)
 #15 := (f3 #13 #14)
 #16 := (= #15 f1)
 #17 := (exists (vars (?v1 S2)) #16)
 #18 := (forall (vars (?v0 S3)) #17)
-#35 := (not #18)
-#81 := (~ #35 #78)
-#71 := (exists (vars (?v1 S2)) #70)
-#72 := (not #71)
-#79 := (~ #72 #78)
-#76 := (~ #75 #75)
-#77 := [refl]: #76
-#80 := [nnf-neg #77]: #79
-#73 := (~ #35 #72)
-#74 := [sk]: #73
-#82 := [trans #74 #80]: #81
+#50 := (not #18)
+#83 := (~ #50 #80)
+#73 := (exists (vars (?v1 S2)) #72)
+#74 := (not #73)
+#81 := (~ #74 #80)
+#78 := (~ #77 #77)
+#79 := [refl]: #78
+#82 := [nnf-neg #79]: #81
+#75 := (~ #50 #74)
+#76 := [sk]: #75
+#84 := [trans #76 #82]: #83
 #8 := (:var 1 S2)
 #7 := (:var 0 S3)
 #9 := (f3 #7 #8)
 #10 := (= #9 f1)
 #11 := (forall (vars (?v1 S3)) #10)
 #12 := (exists (vars (?v0 S2)) #11)
-#26 := (not #12)
-#27 := (or #26 #18)
-#30 := (not #27)
+#42 := (not #12)
+#43 := (or #42 #18)
+#46 := (not #43)
 #19 := (implies #12 #18)
 #20 := (not #19)
-#31 := (iff #20 #30)
-#28 := (iff #19 #27)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#22 := [asserted]: #20
-#33 := [mp #22 #32]: #30
-#36 := [not-or-elim #33]: #35
-#83 := [mp~ #36 #82]: #78
-#514 := [mp #83 #513]: #509
-#150 := (not #509)
-#492 := (or #150 #499)
-#134 := [quant-inst #60]: #492
-#154 := [unit-resolution #134 #514]: #499
+#47 := (iff #20 #46)
+#44 := (iff #19 #43)
+#45 := [rewrite]: #44
+#48 := [monotonicity #45]: #47
+#41 := [asserted]: #20
+#51 := [mp #41 #48]: #46
+#52 := [not-or-elim #51]: #50
+#85 := [mp~ #52 #84]: #80
+#577 := [mp #85 #576]: #572
+#550 := (not #572)
+#548 := (or #550 #189)
+#551 := [quant-inst #60]: #548
+#543 := [unit-resolution #551 #577]: #189
 #61 := (f3 #7 ?v0!0)
-#501 := (pattern #61)
-#56 := (= #61 f1)
-#502 := (forall (vars (?v1 S3)) (:pat #501) #56)
-#57 := (forall (vars (?v1 S3)) #56)
-#505 := (iff #57 #502)
-#503 := (iff #56 #56)
-#504 := [refl]: #503
-#506 := [quant-intro #504]: #505
-#58 := (~ #12 #57)
-#64 := (~ #57 #57)
-#62 := (~ #56 #56)
-#63 := [refl]: #62
-#65 := [nnf-pos #63]: #64
-#59 := [sk]: #58
-#66 := [trans #59 #65]: #58
-#34 := [not-or-elim #33]: #12
-#67 := [mp~ #34 #66]: #57
-#507 := [mp #67 #506]: #502
-#489 := (not #502)
-#476 := (or #489 #493)
-#138 := [quant-inst #68]: #476
-[unit-resolution #138 #507 #154]: false
-9638ce96f32e5b3c45238a3f152e07fc20508886 86 0
-unsat
+#564 := (pattern #61)
+#62 := (= #61 f1)
+#565 := (forall (vars (?v1 S3)) (:pat #564) #62)
+#63 := (forall (vars (?v1 S3)) #62)
+#568 := (iff #63 #565)
+#566 := (iff #62 #62)
+#567 := [refl]: #566
+#569 := [quant-intro #567]: #568
+#54 := (~ #12 #63)
+#66 := (~ #63 #63)
+#64 := (~ #62 #62)
+#65 := [refl]: #64
+#67 := [nnf-pos #65]: #66
+#55 := [sk]: #54
+#68 := [trans #55 #67]: #54
+#49 := [not-or-elim #51]: #12
+#69 := [mp~ #49 #68]: #63
+#570 := [mp #69 #569]: #565
+#557 := (not #565)
+#537 := (or #557 #188)
+#538 := [quant-inst #70]: #537
+[unit-resolution #538 #570 #543]: false
+unsat
+495d743f85fbd7a7c1dc6d3a6d586246681b024f 86 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#516 := (pattern #8)
+#579 := (pattern #8)
 decl f1 :: S1
 #3 := f1
 #9 := (= #8 f1)
-#24 := (not #9)
-#523 := (forall (vars (?v0 S2)) (:pat #516) #24)
-#95 := (forall (vars (?v0 S2)) #24)
-#526 := (iff #95 #523)
-#524 := (iff #24 #24)
-#525 := [refl]: #524
-#527 := [quant-intro #525]: #526
+#40 := (not #9)
+#586 := (forall (vars (?v0 S2)) (:pat #579) #40)
+#97 := (forall (vars (?v0 S2)) #40)
+#589 := (iff #97 #586)
+#587 := (iff #40 #40)
+#588 := [refl]: #587
+#590 := [quant-intro #588]: #589
 #16 := (exists (vars (?v0 S2)) #9)
-#51 := (not #16)
-#96 := (~ #51 #95)
-#91 := (~ #24 #24)
-#92 := [refl]: #91
-#97 := [nnf-neg #92]: #96
+#66 := (not #16)
+#98 := (~ #66 #97)
+#93 := (~ #40 #40)
+#94 := [refl]: #93
+#99 := [nnf-neg #94]: #98
 #10 := (:var 1 S2)
 #11 := (= #7 #10)
-#25 := (or #24 #11)
-#28 := (forall (vars (?v1 S2)) #25)
-#31 := (and #9 #28)
-#34 := (exists (vars (?v0 S2)) #31)
-#40 := (not #34)
-#41 := (or #40 #16)
-#46 := (not #41)
+#41 := (or #40 #11)
+#44 := (forall (vars (?v1 S2)) #41)
+#47 := (and #9 #44)
+#50 := (exists (vars (?v0 S2)) #47)
+#56 := (not #50)
+#57 := (or #56 #16)
+#62 := (not #57)
 #12 := (implies #9 #11)
 #13 := (forall (vars (?v1 S2)) #12)
 #14 := (and #9 #13)
 #15 := (exists (vars (?v0 S2)) #14)
 #17 := (implies #15 #16)
 #18 := (not #17)
-#47 := (iff #18 #46)
-#44 := (iff #17 #41)
-#37 := (implies #34 #16)
-#42 := (iff #37 #41)
+#63 := (iff #18 #62)
+#60 := (iff #17 #57)
+#53 := (implies #50 #16)
+#58 := (iff #53 #57)
+#59 := [rewrite]: #58
+#54 := (iff #17 #53)
+#51 := (iff #15 #50)
+#48 := (iff #14 #47)
+#45 := (iff #13 #44)
+#42 := (iff #12 #41)
 #43 := [rewrite]: #42
-#38 := (iff #17 #37)
-#35 := (iff #15 #34)
-#32 := (iff #14 #31)
-#29 := (iff #13 #28)
-#26 := (iff #12 #25)
-#27 := [rewrite]: #26
-#30 := [quant-intro #27]: #29
-#33 := [monotonicity #30]: #32
-#36 := [quant-intro #33]: #35
-#39 := [monotonicity #36]: #38
-#45 := [trans #39 #43]: #44
-#48 := [monotonicity #45]: #47
-#20 := [asserted]: #18
-#49 := [mp #20 #48]: #46
-#52 := [not-or-elim #49]: #51
-#98 := [mp~ #52 #97]: #95
-#528 := [mp #98 #527]: #523
+#46 := [quant-intro #43]: #45
+#49 := [monotonicity #46]: #48
+#52 := [quant-intro #49]: #51
+#55 := [monotonicity #52]: #54
+#61 := [trans #55 #59]: #60
+#64 := [monotonicity #61]: #63
+#39 := [asserted]: #18
+#67 := [mp #39 #64]: #62
+#68 := [not-or-elim #67]: #66
+#100 := [mp~ #68 #99]: #97
+#591 := [mp #100 #590]: #586
 decl ?v0!0 :: S2
 #76 := ?v0!0
 #77 := (f3 ?v0!0)
-#72 := (= #77 f1)
-#73 := (= #7 ?v0!0)
-#74 := (or #24 #73)
-#75 := (forall (vars (?v1 S2)) #74)
-#78 := (and #72 #75)
-#79 := (~ #34 #78)
-#87 := (~ #78 #78)
-#85 := (~ #75 #75)
-#83 := (~ #74 #74)
+#78 := (= #77 f1)
+#79 := (= #7 ?v0!0)
+#70 := (or #40 #79)
+#71 := (forall (vars (?v1 S2)) #70)
+#80 := (and #78 #71)
+#81 := (~ #50 #80)
+#89 := (~ #80 #80)
+#87 := (~ #71 #71)
+#85 := (~ #70 #70)
+#86 := [refl]: #85
+#88 := [nnf-pos #86]: #87
+#83 := (~ #78 #78)
 #84 := [refl]: #83
-#86 := [nnf-pos #84]: #85
-#81 := (~ #72 #72)
-#82 := [refl]: #81
-#88 := [monotonicity #82 #86]: #87
-#80 := [sk]: #79
-#89 := [trans #80 #88]: #79
-#50 := [not-or-elim #49]: #34
-#90 := [mp~ #50 #89]: #78
-#93 := [and-elim #90]: #72
-#99 := (not #72)
-#187 := (not #523)
-#101 := (or #187 #99)
-#188 := [quant-inst #76]: #101
-[unit-resolution #188 #93 #528]: false
-b5293938cecaf4bb094f82623a01427d239246df 362 0
-unsat
-#2 := false
-decl ?v0!1 :: S2
-#104 := ?v0!1
-decl ?v1!0 :: (-> S2 S2)
-#513 := (?v1!0 ?v0!1)
-#522 := (= #513 ?v0!1)
-#494 := (not #522)
+#90 := [monotonicity #84 #88]: #89
+#82 := [sk]: #81
+#91 := [trans #82 #90]: #81
+#65 := [not-or-elim #67]: #50
+#92 := [mp~ #65 #91]: #80
+#95 := [and-elim #92]: #78
+#163 := (not #78)
+#250 := (not #586)
+#165 := (or #250 #163)
+#251 := [quant-inst #76]: #165
+[unit-resolution #251 #95 #591]: false
+unsat
+aa5dc2c51501c5229e09c29f21c70d436d198117 362 0
+#2 := false
+decl ?v0!2 :: S2
+#125 := ?v0!2
+decl ?v1!3 :: (-> S2 S2)
+#574 := (?v1!3 ?v0!2)
+#583 := (= #574 ?v0!2)
+#555 := (not #583)
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S1)
-#509 := (f3 #513)
-#514 := (= #509 f1)
-#521 := (not #514)
-#520 := (or #521 #522)
-#516 := (not #520)
+#570 := (f3 #574)
+#575 := (= #570 f1)
+#582 := (not #575)
+#581 := (or #582 #583)
+#577 := (not #581)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#602 := (pattern #8)
-#87 := (?v1!0 #7)
-#91 := (= #87 #7)
-#88 := (f3 #87)
-#89 := (= #88 f1)
-#90 := (not #89)
-#92 := (or #90 #91)
-#93 := (not #92)
+#663 := (pattern #8)
+#146 := (?v1!3 #7)
+#150 := (= #146 #7)
+#147 := (f3 #146)
+#148 := (= #147 f1)
+#149 := (not #148)
+#151 := (or #149 #150)
+#152 := (not #151)
 #9 := (= #8 f1)
 #17 := (not #9)
-#97 := (or #17 #93)
-#635 := (forall (vars (?v0 S2)) (:pat #602) #97)
-decl ?v1!3 :: (-> S2 S2)
-#143 := (?v1!3 #7)
-#145 := (f3 #143)
-#146 := (= #145 f1)
-#147 := (not #146)
-#144 := (= #143 #7)
-#148 := (or #144 #147)
-#149 := (not #148)
-#153 := (or #17 #149)
-#640 := (forall (vars (?v0 S2)) (:pat #602) #153)
-#286 := (not #640)
-#554 := (?v1!3 ?v0!1)
-#538 := (f3 #554)
-#539 := (= #538 f1)
-#541 := (not #539)
-#555 := (= #554 ?v0!1)
-#542 := (or #555 #541)
-#540 := (not #542)
-#530 := [hypothesis]: #540
-#439 := (or #542 #539)
-#440 := [def-axiom]: #439
-#519 := [unit-resolution #440 #530]: #539
-#437 := (not #555)
-#438 := (or #542 #437)
-#431 := [def-axiom]: #438
-#500 := [unit-resolution #431 #530]: #437
-#107 := (= #7 ?v0!1)
-#108 := (or #17 #107)
-#603 := (forall (vars (?v1 S2)) (:pat #602) #108)
-#608 := (not #603)
-#105 := (f3 ?v0!1)
-#106 := (= #105 f1)
-#167 := (not #106)
-#611 := (or #167 #608)
-#614 := (not #611)
-decl ?v0!2 :: S2
-#125 := ?v0!2
+#158 := (or #17 #152)
+#696 := (forall (vars (?v0 S2)) (:pat #663) #158)
+decl ?v1!0 :: (-> S2 S2)
+#89 := (?v1!0 #7)
+#82 := (f3 #89)
+#84 := (= #82 f1)
+#91 := (not #84)
+#90 := (= #89 #7)
+#92 := (or #90 #91)
+#93 := (not #92)
+#99 := (or #17 #93)
+#701 := (forall (vars (?v0 S2)) (:pat #663) #99)
+#347 := (not #701)
+#615 := (?v1!0 ?v0!2)
+#599 := (f3 #615)
+#600 := (= #599 f1)
+#602 := (not #600)
+#616 := (= #615 ?v0!2)
+#603 := (or #616 #602)
+#601 := (not #603)
+#591 := [hypothesis]: #601
+#500 := (or #603 #600)
+#501 := [def-axiom]: #500
+#580 := [unit-resolution #501 #591]: #600
+#498 := (not #616)
+#499 := (or #603 #498)
+#492 := [def-axiom]: #499
+#561 := [unit-resolution #492 #591]: #498
 #128 := (= #7 ?v0!2)
-#129 := (or #128 #17)
-#617 := (forall (vars (?v1 S2)) (:pat #602) #129)
-#622 := (not #617)
+#129 := (or #17 #128)
+#664 := (forall (vars (?v1 S2)) (:pat #663) #129)
+#669 := (not #664)
 #126 := (f3 ?v0!2)
 #127 := (= #126 f1)
-#175 := (not #127)
-#625 := (or #175 #622)
-#572 := (?v1!3 ?v0!2)
-#589 := (f3 #572)
-#575 := (= #589 f1)
-#586 := (not #575)
-#294 := (= #572 ?v0!2)
-#576 := (or #294 #586)
-#283 := (not #576)
-#601 := (not #635)
-#258 := (?v1!0 ?v0!2)
-#383 := (= #258 ?v0!2)
-#594 := (f3 #258)
-#596 := (= #594 f1)
-#252 := (not #596)
-#590 := (or #252 #383)
-#628 := (not #625)
-#545 := [hypothesis]: #628
-#277 := (or #625 #617)
-#278 := [def-axiom]: #277
-#551 := [unit-resolution #278 #545]: #617
-#570 := (or #590 #622)
-#593 := (not #383)
-#263 := (not #590)
-#227 := [hypothesis]: #263
-#235 := (or #590 #593)
-#577 := [def-axiom]: #235
-#588 := [unit-resolution #577 #227]: #593
-#592 := (or #590 #596)
-#251 := [def-axiom]: #592
-#295 := [unit-resolution #251 #227]: #596
-#569 := [hypothesis]: #617
-#242 := (or #622 #383 #252)
-#597 := (or #383 #252)
-#579 := (or #622 #597)
-#581 := (iff #579 #242)
-#582 := [rewrite]: #581
-#580 := [quant-inst #258]: #579
-#583 := [mp #580 #582]: #242
-#573 := [unit-resolution #583 #569 #295 #588]: false
-#574 := [lemma #573]: #570
-#426 := [unit-resolution #574 #551]: #590
-#265 := (or #625 #127)
-#276 := [def-axiom]: #265
-#427 := [unit-resolution #276 #545]: #127
-#600 := (or #601 #175 #263)
-#599 := [hypothesis]: #590
-#595 := [hypothesis]: #635
-#301 := [hypothesis]: #127
-#264 := (or #175 #263)
-#591 := (or #601 #264)
-#255 := (iff #591 #600)
-#299 := [rewrite]: #255
-#250 := [quant-inst #125]: #591
-#300 := [mp #250 #299]: #600
-#193 := [unit-resolution #300 #301 #595 #599]: false
-#571 := [lemma #193]: #600
-#386 := [unit-resolution #571 #427 #426]: #601
-#645 := (or #635 #640)
-#157 := (forall (vars (?v0 S2)) #153)
-#101 := (forall (vars (?v0 S2)) #97)
-#161 := (or #101 #157)
-#646 := (iff #161 #645)
-#643 := (iff #157 #640)
-#641 := (iff #153 #153)
-#642 := [refl]: #641
-#644 := [quant-intro #642]: #643
-#638 := (iff #101 #635)
-#636 := (iff #97 #97)
-#637 := [refl]: #636
-#639 := [quant-intro #637]: #638
-#647 := [monotonicity #639 #644]: #646
+#156 := (not #127)
+#672 := (or #156 #669)
+#675 := (not #672)
+decl ?v0!1 :: S2
+#107 := ?v0!1
+#110 := (= #7 ?v0!1)
+#111 := (or #110 #17)
+#678 := (forall (vars (?v1 S2)) (:pat #663) #111)
+#683 := (not #678)
+#108 := (f3 ?v0!1)
+#109 := (= #108 f1)
+#175 := (not #109)
+#686 := (or #175 #683)
+#633 := (?v1!0 ?v0!1)
+#650 := (f3 #633)
+#636 := (= #650 f1)
+#647 := (not #636)
+#355 := (= #633 ?v0!1)
+#637 := (or #355 #647)
+#344 := (not #637)
+#662 := (not #696)
+#319 := (?v1!3 ?v0!1)
+#444 := (= #319 ?v0!1)
+#655 := (f3 #319)
+#657 := (= #655 f1)
+#313 := (not #657)
+#651 := (or #313 #444)
+#689 := (not #686)
+#606 := [hypothesis]: #689
+#338 := (or #686 #678)
+#339 := [def-axiom]: #338
+#612 := [unit-resolution #339 #606]: #678
+#631 := (or #651 #683)
+#654 := (not #444)
+#324 := (not #651)
+#288 := [hypothesis]: #324
+#296 := (or #651 #654)
+#638 := [def-axiom]: #296
+#649 := [unit-resolution #638 #288]: #654
+#653 := (or #651 #657)
+#312 := [def-axiom]: #653
+#356 := [unit-resolution #312 #288]: #657
+#630 := [hypothesis]: #678
+#303 := (or #683 #444 #313)
+#658 := (or #444 #313)
+#640 := (or #683 #658)
+#642 := (iff #640 #303)
+#643 := [rewrite]: #642
+#641 := [quant-inst #319]: #640
+#644 := [mp #641 #643]: #303
+#634 := [unit-resolution #644 #630 #356 #649]: false
+#635 := [lemma #634]: #631
+#487 := [unit-resolution #635 #612]: #651
+#326 := (or #686 #109)
+#337 := [def-axiom]: #326
+#488 := [unit-resolution #337 #606]: #109
+#661 := (or #662 #175 #324)
+#660 := [hypothesis]: #651
+#656 := [hypothesis]: #696
+#362 := [hypothesis]: #109
+#325 := (or #175 #324)
+#652 := (or #662 #325)
+#316 := (iff #652 #661)
+#360 := [rewrite]: #316
+#311 := [quant-inst #107]: #652
+#361 := [mp #311 #360]: #661
+#255 := [unit-resolution #361 #362 #656 #660]: false
+#632 := [lemma #255]: #661
+#447 := [unit-resolution #632 #488 #487]: #662
+#706 := (or #696 #701)
+#103 := (forall (vars (?v0 S2)) #99)
+#162 := (forall (vars (?v0 S2)) #158)
+#165 := (or #162 #103)
+#707 := (iff #165 #706)
+#704 := (iff #103 #701)
+#702 := (iff #99 #99)
+#703 := [refl]: #702
+#705 := [quant-intro #703]: #704
+#699 := (iff #162 #696)
+#697 := (iff #158 #158)
+#698 := [refl]: #697
+#700 := [quant-intro #698]: #699
+#708 := [monotonicity #700 #705]: #707
+#112 := (forall (vars (?v1 S2)) #111)
+#113 := (and #109 #112)
 #130 := (forall (vars (?v1 S2)) #129)
 #131 := (and #127 #130)
-#109 := (forall (vars (?v1 S2)) #108)
-#110 := (and #106 #109)
-#162 := (or #110 #131)
-#163 := (and #162 #161)
+#166 := (or #131 #113)
+#167 := (and #166 #165)
 #10 := (:var 1 S2)
 #11 := (= #7 #10)
-#41 := (or #11 #17)
-#44 := (forall (vars (?v1 S2)) #41)
-#47 := (and #9 #44)
-#50 := (exists (vars (?v0 S2)) #47)
-#29 := (or #17 #11)
-#32 := (forall (vars (?v1 S2)) #29)
-#35 := (and #9 #32)
-#38 := (exists (vars (?v0 S2)) #35)
-#59 := (not #38)
-#60 := (iff #59 #50)
-#164 := (~ #60 #163)
-#158 := (not #50)
-#159 := (~ #158 #157)
-#154 := (not #47)
-#155 := (~ #154 #153)
-#150 := (not #44)
-#151 := (~ #150 #149)
-#152 := [sk]: #151
-#85 := (~ #17 #17)
-#86 := [refl]: #85
-#156 := [nnf-neg #86 #152]: #155
-#160 := [nnf-neg #156]: #159
-#132 := (~ #50 #131)
+#57 := (or #11 #17)
+#60 := (forall (vars (?v1 S2)) #57)
+#63 := (and #9 #60)
+#66 := (exists (vars (?v0 S2)) #63)
+#45 := (or #17 #11)
+#48 := (forall (vars (?v1 S2)) #45)
+#51 := (and #9 #48)
+#54 := (exists (vars (?v0 S2)) #51)
+#75 := (not #54)
+#76 := (iff #75 #66)
+#168 := (~ #76 #167)
+#114 := (~ #66 #113)
+#122 := (~ #113 #113)
+#120 := (~ #112 #112)
+#118 := (~ #111 #111)
+#119 := [refl]: #118
+#121 := [nnf-pos #119]: #120
+#116 := (~ #109 #109)
+#117 := [refl]: #116
+#123 := [monotonicity #117 #121]: #122
+#115 := [sk]: #114
+#124 := [trans #115 #123]: #114
+#104 := (not #66)
+#105 := (~ #104 #103)
+#100 := (not #63)
+#101 := (~ #100 #99)
+#94 := (not #60)
+#95 := (~ #94 #93)
+#96 := [sk]: #95
+#87 := (~ #17 #17)
+#88 := [refl]: #87
+#102 := [nnf-neg #88 #96]: #101
+#106 := [nnf-neg #102]: #105
+#163 := (~ #75 #162)
+#159 := (not #51)
+#160 := (~ #159 #158)
+#153 := (not #48)
+#154 := (~ #153 #152)
+#155 := [sk]: #154
+#161 := [nnf-neg #88 #155]: #160
+#164 := [nnf-neg #161]: #163
+#143 := (not #75)
+#144 := (~ #143 #131)
+#132 := (~ #54 #131)
 #140 := (~ #131 #131)
 #138 := (~ #130 #130)
 #136 := (~ #129 #129)
@@ -7530,29 +6684,8 @@
 #141 := [monotonicity #135 #139]: #140
 #133 := [sk]: #132
 #142 := [trans #133 #141]: #132
-#122 := (not #59)
-#123 := (~ #122 #110)
-#111 := (~ #38 #110)
-#119 := (~ #110 #110)
-#117 := (~ #109 #109)
-#115 := (~ #108 #108)
-#116 := [refl]: #115
-#118 := [nnf-pos #116]: #117
-#113 := (~ #106 #106)
-#114 := [refl]: #113
-#120 := [monotonicity #114 #118]: #119
-#112 := [sk]: #111
-#121 := [trans #112 #120]: #111
-#124 := [nnf-neg #121]: #123
-#102 := (~ #59 #101)
-#98 := (not #35)
-#99 := (~ #98 #97)
-#94 := (not #32)
-#95 := (~ #94 #93)
-#96 := [sk]: #95
-#100 := [nnf-neg #86 #96]: #99
-#103 := [nnf-neg #100]: #102
-#165 := [nnf-pos #103 #124 #142 #160]: #164
+#145 := [nnf-neg #142]: #144
+#169 := [nnf-pos #145 #164 #106 #124]: #168
 #16 := (not #11)
 #18 := (implies #16 #17)
 #19 := (forall (vars (?v1 S2)) #18)
@@ -7564,210 +6697,210 @@
 #15 := (exists (vars (?v0 S2)) #14)
 #22 := (iff #15 #21)
 #23 := (not #22)
-#63 := (iff #23 #60)
-#53 := (iff #38 #50)
-#56 := (not #53)
-#61 := (iff #56 #60)
-#62 := [rewrite]: #61
-#57 := (iff #23 #56)
-#54 := (iff #22 #53)
-#51 := (iff #21 #50)
-#48 := (iff #20 #47)
-#45 := (iff #19 #44)
-#42 := (iff #18 #41)
-#43 := [rewrite]: #42
-#46 := [quant-intro #43]: #45
-#49 := [monotonicity #46]: #48
-#52 := [quant-intro #49]: #51
-#39 := (iff #15 #38)
-#36 := (iff #14 #35)
-#33 := (iff #13 #32)
-#30 := (iff #12 #29)
-#31 := [rewrite]: #30
-#34 := [quant-intro #31]: #33
-#37 := [monotonicity #34]: #36
-#40 := [quant-intro #37]: #39
-#55 := [monotonicity #40 #52]: #54
-#58 := [monotonicity #55]: #57
-#64 := [trans #58 #62]: #63
-#25 := [asserted]: #23
-#65 := [mp #25 #64]: #60
-#166 := [mp~ #65 #165]: #163
-#170 := [and-elim #166]: #161
-#648 := [mp #170 #647]: #645
-#534 := [unit-resolution #648 #386]: #640
-#287 := (or #286 #175 #283)
-#298 := (or #175 #283)
-#565 := (or #286 #298)
-#280 := (iff #565 #287)
-#563 := [rewrite]: #280
-#566 := [quant-inst #125]: #565
-#567 := [mp #566 #563]: #287
-#436 := [unit-resolution #567 #427 #534]: #283
-#558 := (or #576 #575)
-#559 := [def-axiom]: #558
-#531 := [unit-resolution #559 #436]: #575
-#564 := (not #294)
-#568 := (or #576 #564)
-#557 := [def-axiom]: #568
-#532 := [unit-resolution #557 #436]: #564
-#560 := (or #622 #294 #586)
-#561 := (or #622 #576)
-#562 := (iff #561 #560)
-#403 := [rewrite]: #562
-#556 := [quant-inst #572]: #561
-#404 := [mp #556 #403]: #560
-#535 := [unit-resolution #404 #551 #532 #531]: false
-#420 := [lemma #535]: #625
-#631 := (or #614 #628)
-#176 := (not #130)
+#79 := (iff #23 #76)
+#69 := (iff #54 #66)
+#72 := (not #69)
+#77 := (iff #72 #76)
+#78 := [rewrite]: #77
+#73 := (iff #23 #72)
+#70 := (iff #22 #69)
+#67 := (iff #21 #66)
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#58 := (iff #18 #57)
+#59 := [rewrite]: #58
+#62 := [quant-intro #59]: #61
+#65 := [monotonicity #62]: #64
+#68 := [quant-intro #65]: #67
+#55 := (iff #15 #54)
+#52 := (iff #14 #51)
+#49 := (iff #13 #48)
+#46 := (iff #12 #45)
+#47 := [rewrite]: #46
+#50 := [quant-intro #47]: #49
+#53 := [monotonicity #50]: #52
+#56 := [quant-intro #53]: #55
+#71 := [monotonicity #56 #68]: #70
+#74 := [monotonicity #71]: #73
+#80 := [trans #74 #78]: #79
+#44 := [asserted]: #23
+#83 := [mp #44 #80]: #76
+#170 := [mp~ #83 #169]: #167
+#174 := [and-elim #170]: #165
+#709 := [mp #174 #708]: #706
+#595 := [unit-resolution #709 #447]: #701
+#348 := (or #347 #175 #344)
+#359 := (or #175 #344)
+#626 := (or #347 #359)
+#341 := (iff #626 #348)
+#624 := [rewrite]: #341
+#627 := [quant-inst #107]: #626
+#628 := [mp #627 #624]: #348
+#497 := [unit-resolution #628 #488 #595]: #344
+#619 := (or #637 #636)
+#620 := [def-axiom]: #619
+#592 := [unit-resolution #620 #497]: #636
+#625 := (not #355)
+#629 := (or #637 #625)
+#618 := [def-axiom]: #629
+#593 := [unit-resolution #618 #497]: #625
+#621 := (or #683 #355 #647)
+#622 := (or #683 #637)
+#623 := (iff #622 #621)
+#464 := [rewrite]: #623
+#617 := [quant-inst #633]: #622
+#465 := [mp #617 #464]: #621
+#596 := [unit-resolution #465 #612 #593 #592]: false
+#481 := [lemma #596]: #686
+#692 := (or #675 #689)
+#176 := (not #112)
 #177 := (or #175 #176)
 #178 := (not #177)
-#168 := (not #109)
-#171 := (or #167 #168)
-#172 := (not #171)
-#181 := (or #172 #178)
-#632 := (iff #181 #631)
-#629 := (iff #178 #628)
-#626 := (iff #177 #625)
-#623 := (iff #176 #622)
-#620 := (iff #130 #617)
-#618 := (iff #129 #129)
-#619 := [refl]: #618
-#621 := [quant-intro #619]: #620
-#624 := [monotonicity #621]: #623
-#627 := [monotonicity #624]: #626
-#630 := [monotonicity #627]: #629
-#615 := (iff #172 #614)
-#612 := (iff #171 #611)
-#609 := (iff #168 #608)
-#606 := (iff #109 #603)
-#604 := (iff #108 #108)
-#605 := [refl]: #604
-#607 := [quant-intro #605]: #606
-#610 := [monotonicity #607]: #609
-#613 := [monotonicity #610]: #612
-#616 := [monotonicity #613]: #615
-#633 := [monotonicity #616 #630]: #632
-#182 := (iff #162 #181)
-#179 := (iff #131 #178)
+#157 := (not #130)
+#97 := (or #156 #157)
+#98 := (not #97)
+#181 := (or #98 #178)
+#693 := (iff #181 #692)
+#690 := (iff #178 #689)
+#687 := (iff #177 #686)
+#684 := (iff #176 #683)
+#681 := (iff #112 #678)
+#679 := (iff #111 #111)
+#680 := [refl]: #679
+#682 := [quant-intro #680]: #681
+#685 := [monotonicity #682]: #684
+#688 := [monotonicity #685]: #687
+#691 := [monotonicity #688]: #690
+#676 := (iff #98 #675)
+#673 := (iff #97 #672)
+#670 := (iff #157 #669)
+#667 := (iff #130 #664)
+#665 := (iff #129 #129)
+#666 := [refl]: #665
+#668 := [quant-intro #666]: #667
+#671 := [monotonicity #668]: #670
+#674 := [monotonicity #671]: #673
+#677 := [monotonicity #674]: #676
+#694 := [monotonicity #677 #691]: #693
+#182 := (iff #166 #181)
+#179 := (iff #113 #178)
 #180 := [rewrite]: #179
-#173 := (iff #110 #172)
-#174 := [rewrite]: #173
-#183 := [monotonicity #174 #180]: #182
-#169 := [and-elim #166]: #162
-#184 := [mp #169 #183]: #181
-#634 := [mp #184 #633]: #631
-#501 := [unit-resolution #634 #420]: #614
-#186 := (or #611 #603)
-#273 := [def-axiom]: #186
-#503 := [unit-resolution #273 #501]: #603
-#536 := (or #608 #541 #555)
-#425 := (or #541 #555)
-#533 := (or #608 #425)
-#524 := (iff #533 #536)
-#526 := [rewrite]: #524
-#537 := [quant-inst #554]: #533
-#518 := [mp #537 #526]: #536
-#504 := [unit-resolution #518 #503 #500 #519]: false
-#505 := [lemma #504]: #542
-#552 := [hypothesis]: #640
-#185 := (or #611 #106)
-#272 := [def-axiom]: #185
-#382 := [unit-resolution #272 #501]: #106
-#553 := (or #286 #167 #540)
-#543 := (or #167 #540)
-#384 := (or #286 #543)
-#435 := (iff #384 #553)
-#508 := [rewrite]: #435
-#385 := [quant-inst #104]: #384
-#510 := [mp #385 #508]: #553
-#511 := [unit-resolution #510 #382 #552 #505]: false
-#512 := [lemma #511]: #286
-#467 := [unit-resolution #648 #512]: #635
-#506 := (or #601 #167 #516)
-#523 := (or #167 #516)
-#486 := (or #601 #523)
-#489 := (iff #486 #506)
-#490 := [rewrite]: #489
-#487 := [quant-inst #104]: #486
-#491 := [mp #487 #490]: #506
-#468 := [unit-resolution #491 #382 #467]: #516
-#495 := (or #520 #494)
-#496 := [def-axiom]: #495
-#457 := [unit-resolution #496 #468]: #494
-#492 := (or #520 #514)
-#493 := [def-axiom]: #492
-#462 := [unit-resolution #493 #468]: #514
-#488 := (or #608 #521 #522)
-#499 := (or #608 #520)
-#478 := (iff #499 #488)
-#480 := [rewrite]: #478
-#477 := [quant-inst #513]: #499
-#481 := [mp #477 #480]: #488
-[unit-resolution #481 #503 #462 #457]: false
-96dbad9d0f21930a89355df3d0c25d735ace8a1e 140 0
-unsat
+#171 := (iff #131 #98)
+#172 := [rewrite]: #171
+#183 := [monotonicity #172 #180]: #182
+#173 := [and-elim #170]: #166
+#184 := [mp #173 #183]: #181
+#695 := [mp #184 #694]: #692
+#562 := [unit-resolution #695 #481]: #675
+#248 := (or #672 #664)
+#334 := [def-axiom]: #248
+#564 := [unit-resolution #334 #562]: #664
+#597 := (or #669 #602 #616)
+#486 := (or #602 #616)
+#594 := (or #669 #486)
+#585 := (iff #594 #597)
+#587 := [rewrite]: #585
+#598 := [quant-inst #615]: #594
+#579 := [mp #598 #587]: #597
+#565 := [unit-resolution #579 #564 #561 #580]: false
+#566 := [lemma #565]: #603
+#613 := [hypothesis]: #701
+#247 := (or #672 #127)
+#333 := [def-axiom]: #247
+#443 := [unit-resolution #333 #562]: #127
+#614 := (or #347 #156 #601)
+#604 := (or #156 #601)
+#445 := (or #347 #604)
+#496 := (iff #445 #614)
+#569 := [rewrite]: #496
+#446 := [quant-inst #125]: #445
+#571 := [mp #446 #569]: #614
+#572 := [unit-resolution #571 #443 #613 #566]: false
+#573 := [lemma #572]: #347
+#528 := [unit-resolution #709 #573]: #696
+#567 := (or #662 #156 #577)
+#584 := (or #156 #577)
+#547 := (or #662 #584)
+#550 := (iff #547 #567)
+#551 := [rewrite]: #550
+#548 := [quant-inst #125]: #547
+#552 := [mp #548 #551]: #567
+#529 := [unit-resolution #552 #443 #528]: #577
+#556 := (or #581 #555)
+#557 := [def-axiom]: #556
+#518 := [unit-resolution #557 #529]: #555
+#553 := (or #581 #575)
+#554 := [def-axiom]: #553
+#523 := [unit-resolution #554 #529]: #575
+#549 := (or #669 #582 #583)
+#560 := (or #669 #581)
+#539 := (iff #560 #549)
+#541 := [rewrite]: #539
+#538 := [quant-inst #574]: #560
+#542 := [mp #538 #541]: #549
+[unit-resolution #542 #564 #523 #518]: false
+unsat
+c5872bdd32bd9e895950d088cbea7b6331bcd87a 148 0
 #2 := false
 decl f4 :: S2
 #7 := f4
 decl ?v1!0 :: (-> S2 S2)
-#119 := (?v1!0 f4)
-#121 := (= #119 f4)
-#198 := (not #121)
+#189 := (?v1!0 f4)
+#191 := (= #189 f4)
+#267 := (not #191)
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S1)
-#206 := (f3 #119)
-#120 := (= #206 f1)
-#207 := (not #120)
-#208 := (or #207 #121)
-#199 := (not #208)
+#275 := (f3 #189)
+#190 := (= #275 f1)
+#276 := (not #190)
+#277 := (or #276 #191)
+#268 := (not #277)
 #10 := (:var 0 S2)
 #11 := (f3 #10)
-#536 := (pattern #11)
-#95 := (?v1!0 #10)
-#105 := (= #95 #10)
-#102 := (f3 #95)
-#103 := (= #102 f1)
-#104 := (not #103)
-#106 := (or #104 #105)
-#107 := (not #106)
+#605 := (pattern #11)
+#104 := (?v1!0 #10)
+#113 := (= #104 #10)
+#105 := (f3 #104)
+#101 := (= #105 f1)
+#112 := (not #101)
+#114 := (or #112 #113)
+#115 := (not #114)
 #12 := (= #11 f1)
-#30 := (not #12)
-#111 := (or #30 #107)
-#543 := (forall (vars (?v0 S2)) (:pat #536) #111)
-#115 := (forall (vars (?v0 S2)) #111)
-#546 := (iff #115 #543)
-#544 := (iff #111 #111)
-#545 := [refl]: #544
-#547 := [quant-intro #545]: #546
+#46 := (not #12)
+#121 := (or #46 #115)
+#612 := (forall (vars (?v0 S2)) (:pat #605) #121)
+#125 := (forall (vars (?v0 S2)) #121)
+#615 := (iff #125 #612)
+#613 := (iff #121 #121)
+#614 := [refl]: #613
+#616 := [quant-intro #614]: #615
 #16 := (:var 1 S2)
 #17 := (= #10 #16)
-#37 := (or #30 #17)
-#40 := (forall (vars (?v1 S2)) #37)
-#43 := (and #12 #40)
-#46 := (exists (vars (?v0 S2)) #43)
-#73 := (not #46)
-#116 := (~ #73 #115)
-#112 := (not #43)
-#113 := (~ #112 #111)
-#108 := (not #40)
-#109 := (~ #108 #107)
-#110 := [sk]: #109
-#97 := (~ #30 #30)
-#94 := [refl]: #97
-#114 := [nnf-neg #94 #110]: #113
-#117 := [nnf-neg #114]: #116
+#53 := (or #46 #17)
+#56 := (forall (vars (?v1 S2)) #53)
+#59 := (and #12 #56)
+#62 := (exists (vars (?v0 S2)) #59)
+#97 := (not #62)
+#126 := (~ #97 #125)
+#122 := (not #59)
+#123 := (~ #122 #121)
+#116 := (not #56)
+#117 := (~ #116 #115)
+#118 := [sk]: #117
+#103 := (~ #46 #46)
+#100 := [refl]: #103
+#124 := [nnf-neg #100 #118]: #123
+#127 := [nnf-neg #124]: #126
 #13 := (= #10 f4)
-#31 := (or #30 #13)
-#34 := (forall (vars (?v0 S2)) #31)
-#52 := (not #34)
+#47 := (or #46 #13)
+#50 := (forall (vars (?v0 S2)) #47)
+#68 := (not #50)
 #8 := (f3 f4)
 #9 := (= #8 f1)
-#61 := (not #9)
-#62 := (or #61 #52 #46)
-#67 := (not #62)
+#77 := (not #9)
+#86 := (or #77 #68 #62)
+#89 := (not #86)
 #18 := (implies #12 #17)
 #19 := (forall (vars (?v1 S2)) #18)
 #20 := (and #12 #19)
@@ -7777,141 +6910,149 @@
 #22 := (implies #15 #21)
 #23 := (implies #9 #22)
 #24 := (not #23)
-#68 := (iff #24 #67)
-#65 := (iff #23 #62)
-#53 := (or #52 #46)
-#58 := (implies #9 #53)
-#63 := (iff #58 #62)
-#64 := [rewrite]: #63
-#59 := (iff #23 #58)
-#56 := (iff #22 #53)
-#49 := (implies #34 #46)
-#54 := (iff #49 #53)
+#92 := (iff #24 #89)
+#69 := (or #68 #62)
+#78 := (or #77 #69)
+#83 := (not #78)
+#90 := (iff #83 #89)
+#87 := (iff #78 #86)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#84 := (iff #24 #83)
+#81 := (iff #23 #78)
+#74 := (implies #9 #69)
+#79 := (iff #74 #78)
+#80 := [rewrite]: #79
+#75 := (iff #23 #74)
+#72 := (iff #22 #69)
+#65 := (implies #50 #62)
+#70 := (iff #65 #69)
+#71 := [rewrite]: #70
+#66 := (iff #22 #65)
+#63 := (iff #21 #62)
+#60 := (iff #20 #59)
+#57 := (iff #19 #56)
+#54 := (iff #18 #53)
 #55 := [rewrite]: #54
-#50 := (iff #22 #49)
-#47 := (iff #21 #46)
-#44 := (iff #20 #43)
-#41 := (iff #19 #40)
-#38 := (iff #18 #37)
-#39 := [rewrite]: #38
-#42 := [quant-intro #39]: #41
-#45 := [monotonicity #42]: #44
-#48 := [quant-intro #45]: #47
-#35 := (iff #15 #34)
-#32 := (iff #14 #31)
-#33 := [rewrite]: #32
-#36 := [quant-intro #33]: #35
-#51 := [monotonicity #36 #48]: #50
-#57 := [trans #51 #55]: #56
-#60 := [monotonicity #57]: #59
-#66 := [trans #60 #64]: #65
-#69 := [monotonicity #66]: #68
-#26 := [asserted]: #24
-#70 := [mp #26 #69]: #67
-#74 := [not-or-elim #70]: #73
-#118 := [mp~ #74 #117]: #115
-#548 := [mp #118 #547]: #543
-#71 := [not-or-elim #70]: #9
-#209 := (not #543)
-#213 := (or #209 #61 #199)
-#210 := (or #61 #199)
-#192 := (or #209 #210)
-#530 := (iff #192 #213)
-#186 := [rewrite]: #530
-#528 := [quant-inst #7]: #192
-#317 := [mp #528 #186]: #213
-#176 := [unit-resolution #317 #71 #548]: #199
-#531 := (or #208 #198)
-#532 := [def-axiom]: #531
-#513 := [unit-resolution #532 #176]: #198
-#524 := (or #208 #120)
-#197 := [def-axiom]: #524
-#523 := [unit-resolution #197 #176]: #120
-#537 := (forall (vars (?v0 S2)) (:pat #536) #31)
-#540 := (iff #34 #537)
-#538 := (iff #31 #31)
-#539 := [refl]: #538
-#541 := [quant-intro #539]: #540
-#98 := (~ #34 #34)
-#100 := (~ #31 #31)
-#101 := [refl]: #100
-#99 := [nnf-pos #101]: #98
-#72 := [not-or-elim #70]: #34
-#96 := [mp~ #72 #99]: #34
-#542 := [mp #96 #541]: #537
-#529 := (not #537)
-#535 := (or #529 #207 #121)
-#525 := (or #529 #208)
-#189 := (iff #525 #535)
-#526 := [rewrite]: #189
-#184 := [quant-inst #119]: #525
-#185 := [mp #184 #526]: #535
-[unit-resolution #185 #542 #523 #513]: false
-3973423ac9fa582b2790c4d37bd8bded688f8e45 170 0
-unsat
+#58 := [quant-intro #55]: #57
+#61 := [monotonicity #58]: #60
+#64 := [quant-intro #61]: #63
+#51 := (iff #15 #50)
+#48 := (iff #14 #47)
+#49 := [rewrite]: #48
+#52 := [quant-intro #49]: #51
+#67 := [monotonicity #52 #64]: #66
+#73 := [trans #67 #71]: #72
+#76 := [monotonicity #73]: #75
+#82 := [trans #76 #80]: #81
+#85 := [monotonicity #82]: #84
+#93 := [trans #85 #91]: #92
+#45 := [asserted]: #24
+#94 := [mp #45 #93]: #89
+#98 := [not-or-elim #94]: #97
+#128 := [mp~ #98 #127]: #125
+#617 := [mp #128 #616]: #612
+#95 := [not-or-elim #94]: #9
+#278 := (not #612)
+#282 := (or #278 #77 #268)
+#279 := (or #77 #268)
+#261 := (or #278 #279)
+#599 := (iff #261 #282)
+#255 := [rewrite]: #599
+#597 := [quant-inst #7]: #261
+#386 := [mp #597 #255]: #282
+#245 := [unit-resolution #386 #95 #617]: #268
+#600 := (or #277 #267)
+#601 := [def-axiom]: #600
+#582 := [unit-resolution #601 #245]: #267
+#593 := (or #277 #190)
+#266 := [def-axiom]: #593
+#592 := [unit-resolution #266 #245]: #190
+#606 := (forall (vars (?v0 S2)) (:pat #605) #47)
+#609 := (iff #50 #606)
+#607 := (iff #47 #47)
+#608 := [refl]: #607
+#610 := [quant-intro #608]: #609
+#110 := (~ #50 #50)
+#108 := (~ #47 #47)
+#109 := [refl]: #108
+#111 := [nnf-pos #109]: #110
+#96 := [not-or-elim #94]: #50
+#102 := [mp~ #96 #111]: #50
+#611 := [mp #102 #610]: #606
+#598 := (not #606)
+#604 := (or #598 #276 #191)
+#594 := (or #598 #277)
+#258 := (iff #594 #604)
+#595 := [rewrite]: #258
+#253 := [quant-inst #189]: #594
+#254 := [mp #253 #595]: #604
+[unit-resolution #254 #611 #592 #582]: false
+unsat
+0d91aeb4f1e5219f5da913cca278e0e7cef9a2ce 170 0
 #2 := false
 decl ?v0!0 :: S2
-#93 := ?v0!0
+#97 := ?v0!0
 decl ?v1!1 :: (-> S2 S2)
-#233 := (?v1!1 ?v0!0)
-#235 := (= #233 ?v0!0)
-#558 := (not #235)
+#296 := (?v1!1 ?v0!0)
+#298 := (= #296 ?v0!0)
+#621 := (not #298)
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S1)
-#147 := (f3 #233)
-#234 := (= #147 f1)
-#148 := (not #234)
-#226 := (or #148 #235)
-#237 := (not #226)
+#211 := (f3 #296)
+#297 := (= #211 f1)
+#212 := (not #297)
+#289 := (or #212 #298)
+#300 := (not #289)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#570 := (pattern #8)
-#104 := (?v1!1 #7)
-#108 := (= #104 #7)
-#105 := (f3 #104)
-#106 := (= #105 f1)
-#107 := (not #106)
-#109 := (or #107 #108)
-#110 := (not #109)
+#633 := (pattern #8)
+#93 := (?v1!1 #7)
+#110 := (= #93 #7)
+#94 := (f3 #93)
+#108 := (= #94 f1)
+#109 := (not #108)
+#111 := (or #109 #110)
+#112 := (not #111)
 #9 := (= #8 f1)
-#41 := (not #9)
-#114 := (or #41 #110)
-#571 := (forall (vars (?v0 S2)) (:pat #570) #114)
-#118 := (forall (vars (?v0 S2)) #114)
-#574 := (iff #118 #571)
-#572 := (iff #114 #114)
-#573 := [refl]: #572
-#575 := [quant-intro #573]: #574
+#57 := (not #9)
+#118 := (or #57 #112)
+#634 := (forall (vars (?v0 S2)) (:pat #633) #118)
+#122 := (forall (vars (?v0 S2)) #118)
+#637 := (iff #122 #634)
+#635 := (iff #118 #118)
+#636 := [refl]: #635
+#638 := [quant-intro #636]: #637
 #11 := (:var 1 S2)
 #19 := (= #7 #11)
-#42 := (or #41 #19)
-#45 := (forall (vars (?v1 S2)) #42)
-#48 := (and #9 #45)
-#51 := (exists (vars (?v0 S2)) #48)
-#70 := (not #51)
-#119 := (~ #70 #118)
-#115 := (not #48)
-#116 := (~ #115 #114)
-#111 := (not #45)
-#112 := (~ #111 #110)
-#113 := [sk]: #112
-#102 := (~ #41 #41)
-#103 := [refl]: #102
-#117 := [nnf-neg #103 #113]: #116
-#120 := [nnf-neg #117]: #119
+#58 := (or #57 #19)
+#61 := (forall (vars (?v1 S2)) #58)
+#64 := (and #9 #61)
+#67 := (exists (vars (?v0 S2)) #64)
+#86 := (not #67)
+#123 := (~ #86 #122)
+#119 := (not #64)
+#120 := (~ #119 #118)
+#113 := (not #61)
+#114 := (~ #113 #112)
+#115 := [sk]: #114
+#106 := (~ #57 #57)
+#107 := [refl]: #106
+#121 := [nnf-neg #107 #115]: #120
+#124 := [nnf-neg #121]: #123
 #15 := (= #11 #7)
 #12 := (f3 #11)
 #13 := (= #12 f1)
 #14 := (and #13 #9)
-#31 := (not #14)
-#32 := (or #31 #15)
-#35 := (forall (vars (?v0 S2) (?v1 S2)) #32)
+#47 := (not #14)
+#48 := (or #47 #15)
+#51 := (forall (vars (?v0 S2) (?v1 S2)) #48)
 #10 := (exists (vars (?v0 S2)) #9)
-#38 := (and #10 #35)
-#57 := (not #38)
-#58 := (or #57 #51)
-#63 := (not #58)
+#54 := (and #10 #51)
+#73 := (not #54)
+#74 := (or #73 #67)
+#79 := (not #74)
 #20 := (implies #9 #19)
 #21 := (forall (vars (?v1 S2)) #20)
 #22 := (and #9 #21)
@@ -7921,173 +7062,173 @@
 #18 := (and #10 #17)
 #24 := (implies #18 #23)
 #25 := (not #24)
-#64 := (iff #25 #63)
-#61 := (iff #24 #58)
-#54 := (implies #38 #51)
-#59 := (iff #54 #58)
+#80 := (iff #25 #79)
+#77 := (iff #24 #74)
+#70 := (implies #54 #67)
+#75 := (iff #70 #74)
+#76 := [rewrite]: #75
+#71 := (iff #24 #70)
+#68 := (iff #23 #67)
+#65 := (iff #22 #64)
+#62 := (iff #21 #61)
+#59 := (iff #20 #58)
 #60 := [rewrite]: #59
-#55 := (iff #24 #54)
-#52 := (iff #23 #51)
-#49 := (iff #22 #48)
-#46 := (iff #21 #45)
-#43 := (iff #20 #42)
-#44 := [rewrite]: #43
-#47 := [quant-intro #44]: #46
-#50 := [monotonicity #47]: #49
+#63 := [quant-intro #60]: #62
+#66 := [monotonicity #63]: #65
+#69 := [quant-intro #66]: #68
+#55 := (iff #18 #54)
+#52 := (iff #17 #51)
+#49 := (iff #16 #48)
+#50 := [rewrite]: #49
 #53 := [quant-intro #50]: #52
-#39 := (iff #18 #38)
-#36 := (iff #17 #35)
-#33 := (iff #16 #32)
-#34 := [rewrite]: #33
-#37 := [quant-intro #34]: #36
-#40 := [monotonicity #37]: #39
-#56 := [monotonicity #40 #53]: #55
-#62 := [trans #56 #60]: #61
-#65 := [monotonicity #62]: #64
-#27 := [asserted]: #25
-#66 := [mp #27 #65]: #63
-#71 := [not-or-elim #66]: #70
-#121 := [mp~ #71 #120]: #118
-#576 := [mp #121 #575]: #571
-#94 := (f3 ?v0!0)
-#97 := (= #94 f1)
-#98 := (~ #10 #97)
-#95 := [sk]: #98
-#67 := [not-or-elim #66]: #38
-#68 := [and-elim #67]: #10
-#96 := [mp~ #68 #95]: #97
-#146 := (not #97)
-#240 := (not #571)
-#219 := (or #240 #146 #237)
-#238 := (or #146 #237)
-#555 := (or #240 #238)
-#213 := (iff #555 #219)
-#344 := [rewrite]: #213
-#557 := [quant-inst #93]: #555
-#551 := [mp #557 #344]: #219
-#537 := [unit-resolution #551 #96 #576]: #237
-#559 := (or #226 #558)
-#560 := [def-axiom]: #559
-#244 := [unit-resolution #560 #537]: #558
-#224 := (or #226 #234)
-#225 := [def-axiom]: #224
-#533 := [unit-resolution #225 #537]: #234
-#563 := (pattern #12 #8)
-#122 := (not #13)
-#137 := (or #122 #41 #15)
-#564 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #563) #137)
-#142 := (forall (vars (?v0 S2) (?v1 S2)) #137)
-#567 := (iff #142 #564)
-#565 := (iff #137 #137)
-#566 := [refl]: #565
-#568 := [quant-intro #566]: #567
-#143 := (iff #35 #142)
-#140 := (iff #32 #137)
-#123 := (or #122 #41)
-#134 := (or #123 #15)
-#138 := (iff #134 #137)
-#139 := [rewrite]: #138
-#135 := (iff #32 #134)
-#132 := (iff #31 #123)
-#124 := (not #123)
-#127 := (not #124)
-#130 := (iff #127 #123)
-#131 := [rewrite]: #130
-#128 := (iff #31 #127)
-#125 := (iff #14 #124)
-#126 := [rewrite]: #125
-#129 := [monotonicity #126]: #128
-#133 := [trans #129 #131]: #132
-#136 := [monotonicity #133]: #135
-#141 := [trans #136 #139]: #140
-#144 := [quant-intro #141]: #143
-#99 := (~ #35 #35)
-#91 := (~ #32 #32)
-#92 := [refl]: #91
-#100 := [nnf-pos #92]: #99
-#69 := [and-elim #67]: #35
-#101 := [mp~ #69 #100]: #35
-#145 := [mp #101 #144]: #142
-#569 := [mp #145 #568]: #564
-#548 := (not #564)
-#187 := (or #548 #148 #146 #235)
-#554 := (or #148 #146 #235)
-#188 := (or #548 #554)
-#547 := (iff #188 #187)
-#550 := [rewrite]: #547
-#549 := [quant-inst #233 #93]: #188
-#536 := [mp #549 #550]: #187
-[unit-resolution #536 #96 #569 #533 #244]: false
-d849c0627f2c781919ccff42a145d991899a7af1 169 0
-unsat
+#56 := [monotonicity #53]: #55
+#72 := [monotonicity #56 #69]: #71
+#78 := [trans #72 #76]: #77
+#81 := [monotonicity #78]: #80
+#46 := [asserted]: #25
+#84 := [mp #46 #81]: #79
+#87 := [not-or-elim #84]: #86
+#125 := [mp~ #87 #124]: #122
+#639 := [mp #125 #638]: #634
+#98 := (f3 ?v0!0)
+#99 := (= #98 f1)
+#100 := (~ #10 #99)
+#89 := [sk]: #100
+#82 := [not-or-elim #84]: #54
+#83 := [and-elim #82]: #10
+#102 := [mp~ #83 #89]: #99
+#210 := (not #99)
+#303 := (not #634)
+#282 := (or #303 #210 #300)
+#301 := (or #210 #300)
+#618 := (or #303 #301)
+#276 := (iff #618 #282)
+#407 := [rewrite]: #276
+#620 := [quant-inst #97]: #618
+#614 := [mp #620 #407]: #282
+#600 := [unit-resolution #614 #102 #639]: #300
+#622 := (or #289 #621)
+#623 := [def-axiom]: #622
+#307 := [unit-resolution #623 #600]: #621
+#287 := (or #289 #297)
+#288 := [def-axiom]: #287
+#596 := [unit-resolution #288 #600]: #297
+#626 := (pattern #12 #8)
+#116 := (not #13)
+#139 := (or #116 #57 #15)
+#627 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #626) #139)
+#144 := (forall (vars (?v0 S2) (?v1 S2)) #139)
+#630 := (iff #144 #627)
+#628 := (iff #139 #139)
+#629 := [refl]: #628
+#631 := [quant-intro #629]: #630
+#145 := (iff #51 #144)
+#142 := (iff #48 #139)
+#117 := (or #116 #57)
+#136 := (or #117 #15)
+#140 := (iff #136 #139)
+#141 := [rewrite]: #140
+#137 := (iff #48 #136)
+#134 := (iff #47 #117)
+#126 := (not #117)
+#129 := (not #126)
+#132 := (iff #129 #117)
+#133 := [rewrite]: #132
+#130 := (iff #47 #129)
+#127 := (iff #14 #126)
+#128 := [rewrite]: #127
+#131 := [monotonicity #128]: #130
+#135 := [trans #131 #133]: #134
+#138 := [monotonicity #135]: #137
+#143 := [trans #138 #141]: #142
+#146 := [quant-intro #143]: #145
+#103 := (~ #51 #51)
+#90 := (~ #48 #48)
+#101 := [refl]: #90
+#104 := [nnf-pos #101]: #103
+#85 := [and-elim #82]: #51
+#105 := [mp~ #85 #104]: #51
+#147 := [mp #105 #146]: #144
+#632 := [mp #147 #631]: #627
+#611 := (not #627)
+#250 := (or #611 #212 #210 #298)
+#617 := (or #212 #210 #298)
+#251 := (or #611 #617)
+#610 := (iff #251 #250)
+#613 := [rewrite]: #610
+#612 := [quant-inst #296 #97]: #251
+#599 := [mp #612 #613]: #250
+[unit-resolution #599 #102 #632 #596 #307]: false
+unsat
+142a1362d1a72bfbc8fcd56ed6d2ef4df96159b7 169 0
 #2 := false
 decl ?v0!0 :: S2
-#110 := ?v0!0
+#96 := ?v0!0
 decl ?v1!1 :: (-> S2 S2)
-#233 := (?v1!1 ?v0!0)
-#235 := (= #233 ?v0!0)
-#558 := (not #235)
+#292 := (?v1!1 ?v0!0)
+#294 := (= #292 ?v0!0)
+#617 := (not #294)
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S1)
-#149 := (f3 #233)
-#234 := (= #149 f1)
-#146 := (not #234)
-#226 := (or #146 #235)
-#237 := (not #226)
+#207 := (f3 #292)
+#293 := (= #207 f1)
+#208 := (not #293)
+#285 := (or #208 #294)
+#296 := (not #285)
 #7 := (:var 0 S2)
 #8 := (f3 #7)
-#563 := (pattern #8)
-#129 := (?v1!1 #7)
-#133 := (= #129 #7)
-#130 := (f3 #129)
-#131 := (= #130 f1)
-#132 := (not #131)
-#134 := (or #132 #133)
-#135 := (not #134)
+#622 := (pattern #8)
+#127 := (?v1!1 #7)
+#131 := (= #127 #7)
+#128 := (f3 #127)
+#129 := (= #128 f1)
+#130 := (not #129)
+#132 := (or #130 #131)
+#133 := (not #132)
 #9 := (= #8 f1)
-#28 := (not #9)
-#139 := (or #28 #135)
-#570 := (forall (vars (?v0 S2)) (:pat #563) #139)
+#44 := (not #9)
+#139 := (or #44 #133)
+#629 := (forall (vars (?v0 S2)) (:pat #622) #139)
 #142 := (forall (vars (?v0 S2)) #139)
-#573 := (iff #142 #570)
-#571 := (iff #139 #139)
-#572 := [refl]: #571
-#574 := [quant-intro #572]: #573
+#632 := (iff #142 #629)
+#630 := (iff #139 #139)
+#631 := [refl]: #630
+#633 := [quant-intro #631]: #632
 #10 := (:var 1 S2)
 #11 := (= #7 #10)
-#29 := (or #28 #11)
-#32 := (forall (vars (?v1 S2)) #29)
-#35 := (and #9 #32)
-#44 := (not #35)
-#102 := (forall (vars (?v0 S2)) #44)
-#143 := (~ #102 #142)
-#140 := (~ #44 #139)
-#136 := (not #32)
-#137 := (~ #136 #135)
-#138 := [sk]: #137
-#125 := (~ #28 #28)
-#126 := [refl]: #125
-#141 := [nnf-neg #126 #138]: #140
+#45 := (or #44 #11)
+#48 := (forall (vars (?v1 S2)) #45)
+#51 := (and #9 #48)
+#60 := (not #51)
+#106 := (forall (vars (?v0 S2)) #60)
+#143 := (~ #106 #142)
+#140 := (~ #60 #139)
+#134 := (not #48)
+#135 := (~ #134 #133)
+#136 := [sk]: #135
+#123 := (~ #44 #44)
+#124 := [refl]: #123
+#141 := [nnf-neg #124 #136]: #140
 #144 := [nnf-pos #141]: #143
 decl f4 :: S1
 #16 := f4
 #17 := (= f4 f1)
-#45 := (or #44 #17)
-#50 := (forall (vars (?v0 S2)) #45)
-#103 := (iff #50 #102)
-#100 := (iff #45 #44)
-#93 := (or #44 false)
-#98 := (iff #93 #44)
-#99 := [rewrite]: #98
-#94 := (iff #45 #93)
-#95 := (iff #17 false)
-#72 := (not #17)
-#38 := (exists (vars (?v0 S2)) #35)
-#53 := (and #38 #50)
-#59 := (not #53)
-#60 := (or #59 #17)
-#65 := (not #60)
+#61 := (or #60 #17)
+#66 := (forall (vars (?v0 S2)) #61)
+#107 := (iff #66 #106)
+#104 := (iff #61 #60)
+#99 := (or #60 false)
+#102 := (iff #99 #60)
+#103 := [rewrite]: #102
+#100 := (iff #61 #99)
+#97 := (iff #17 false)
+#88 := (not #17)
+#54 := (exists (vars (?v0 S2)) #51)
+#69 := (and #54 #66)
+#75 := (not #69)
+#76 := (or #75 #17)
+#81 := (not #76)
 #12 := (implies #9 #11)
 #13 := (forall (vars (?v1 S2)) #12)
 #14 := (and #9 #13)
@@ -8097,99 +7238,99 @@
 #20 := (and #15 #19)
 #21 := (implies #20 #17)
 #22 := (not #21)
-#66 := (iff #22 #65)
-#63 := (iff #21 #60)
-#56 := (implies #53 #17)
-#61 := (iff #56 #60)
-#62 := [rewrite]: #61
-#57 := (iff #21 #56)
-#54 := (iff #20 #53)
-#51 := (iff #19 #50)
-#48 := (iff #18 #45)
-#41 := (implies #35 #17)
-#46 := (iff #41 #45)
+#82 := (iff #22 #81)
+#79 := (iff #21 #76)
+#72 := (implies #69 #17)
+#77 := (iff #72 #76)
+#78 := [rewrite]: #77
+#73 := (iff #21 #72)
+#70 := (iff #20 #69)
+#67 := (iff #19 #66)
+#64 := (iff #18 #61)
+#57 := (implies #51 #17)
+#62 := (iff #57 #61)
+#63 := [rewrite]: #62
+#58 := (iff #18 #57)
+#52 := (iff #14 #51)
+#49 := (iff #13 #48)
+#46 := (iff #12 #45)
 #47 := [rewrite]: #46
-#42 := (iff #18 #41)
-#36 := (iff #14 #35)
-#33 := (iff #13 #32)
-#30 := (iff #12 #29)
-#31 := [rewrite]: #30
-#34 := [quant-intro #31]: #33
-#37 := [monotonicity #34]: #36
-#43 := [monotonicity #37]: #42
-#49 := [trans #43 #47]: #48
-#52 := [quant-intro #49]: #51
-#39 := (iff #15 #38)
-#40 := [quant-intro #37]: #39
-#55 := [monotonicity #40 #52]: #54
-#58 := [monotonicity #55]: #57
-#64 := [trans #58 #62]: #63
-#67 := [monotonicity #64]: #66
-#24 := [asserted]: #22
-#68 := [mp #24 #67]: #65
-#73 := [not-or-elim #68]: #72
-#96 := [iff-false #73]: #95
-#97 := [monotonicity #96]: #94
-#101 := [trans #97 #99]: #100
-#104 := [quant-intro #101]: #103
-#69 := [not-or-elim #68]: #53
-#71 := [and-elim #69]: #50
-#105 := [mp #71 #104]: #102
-#145 := [mp~ #105 #144]: #142
-#575 := [mp #145 #574]: #570
-#111 := (f3 ?v0!0)
-#106 := (= #111 f1)
-#107 := (= #7 ?v0!0)
-#108 := (or #28 #107)
-#109 := (forall (vars (?v1 S2)) #108)
-#112 := (and #106 #109)
-#113 := (~ #38 #112)
-#121 := (~ #112 #112)
-#119 := (~ #109 #109)
-#117 := (~ #108 #108)
-#118 := [refl]: #117
-#120 := [nnf-pos #118]: #119
-#115 := (~ #106 #106)
+#50 := [quant-intro #47]: #49
+#53 := [monotonicity #50]: #52
+#59 := [monotonicity #53]: #58
+#65 := [trans #59 #63]: #64
+#68 := [quant-intro #65]: #67
+#55 := (iff #15 #54)
+#56 := [quant-intro #53]: #55
+#71 := [monotonicity #56 #68]: #70
+#74 := [monotonicity #71]: #73
+#80 := [trans #74 #78]: #79
+#83 := [monotonicity #80]: #82
+#43 := [asserted]: #22
+#86 := [mp #43 #83]: #81
+#89 := [not-or-elim #86]: #88
+#98 := [iff-false #89]: #97
+#101 := [monotonicity #98]: #100
+#105 := [trans #101 #103]: #104
+#108 := [quant-intro #105]: #107
+#84 := [not-or-elim #86]: #69
+#87 := [and-elim #84]: #66
+#95 := [mp #87 #108]: #106
+#145 := [mp~ #95 #144]: #142
+#634 := [mp #145 #633]: #629
+#109 := (f3 ?v0!0)
+#93 := (= #109 f1)
+#94 := (= #7 ?v0!0)
+#91 := (or #44 #94)
+#92 := (forall (vars (?v1 S2)) #91)
+#110 := (and #93 #92)
+#111 := (~ #54 #110)
+#119 := (~ #110 #110)
+#117 := (~ #92 #92)
+#115 := (~ #91 #91)
 #116 := [refl]: #115
-#122 := [monotonicity #116 #120]: #121
-#114 := [sk]: #113
-#123 := [trans #114 #122]: #113
-#70 := [and-elim #69]: #38
-#124 := [mp~ #70 #123]: #112
-#127 := [and-elim #124]: #106
-#148 := (not #106)
-#240 := (not #570)
-#219 := (or #240 #148 #237)
-#238 := (or #148 #237)
-#555 := (or #240 #238)
-#213 := (iff #555 #219)
-#344 := [rewrite]: #213
-#557 := [quant-inst #110]: #555
-#551 := [mp #557 #344]: #219
-#540 := [unit-resolution #551 #127 #575]: #237
-#559 := (or #226 #558)
-#560 := [def-axiom]: #559
-#541 := [unit-resolution #560 #540]: #558
-#224 := (or #226 #234)
-#225 := [def-axiom]: #224
-#536 := [unit-resolution #225 #540]: #234
-#564 := (forall (vars (?v1 S2)) (:pat #563) #108)
-#567 := (iff #109 #564)
-#565 := (iff #108 #108)
-#566 := [refl]: #565
-#568 := [quant-intro #566]: #567
-#128 := [and-elim #124]: #109
-#569 := [mp #128 #568]: #564
-#562 := (not #564)
-#552 := (or #562 #146 #235)
-#211 := (or #562 #226)
-#553 := (iff #211 #552)
-#212 := [rewrite]: #553
-#216 := [quant-inst #233]: #211
-#554 := [mp #216 #212]: #552
-[unit-resolution #554 #569 #536 #541]: false
-5cf9316b3855d8f516ed864997fb3cc182641c7f 76 0
-unsat
+#118 := [nnf-pos #116]: #117
+#113 := (~ #93 #93)
+#114 := [refl]: #113
+#120 := [monotonicity #114 #118]: #119
+#112 := [sk]: #111
+#121 := [trans #112 #120]: #111
+#85 := [and-elim #84]: #54
+#122 := [mp~ #85 #121]: #110
+#125 := [and-elim #122]: #93
+#206 := (not #93)
+#299 := (not #629)
+#278 := (or #299 #206 #296)
+#297 := (or #206 #296)
+#614 := (or #299 #297)
+#272 := (iff #614 #278)
+#403 := [rewrite]: #272
+#616 := [quant-inst #96]: #614
+#610 := [mp #616 #403]: #278
+#599 := [unit-resolution #610 #125 #634]: #296
+#618 := (or #285 #617)
+#619 := [def-axiom]: #618
+#600 := [unit-resolution #619 #599]: #617
+#283 := (or #285 #293)
+#284 := [def-axiom]: #283
+#595 := [unit-resolution #284 #599]: #293
+#623 := (forall (vars (?v1 S2)) (:pat #622) #91)
+#626 := (iff #92 #623)
+#624 := (iff #91 #91)
+#625 := [refl]: #624
+#627 := [quant-intro #625]: #626
+#126 := [and-elim #122]: #92
+#628 := [mp #126 #627]: #623
+#621 := (not #623)
+#611 := (or #621 #208 #294)
+#270 := (or #621 #285)
+#612 := (iff #270 #611)
+#271 := [rewrite]: #612
+#275 := [quant-inst #292]: #270
+#613 := [mp #275 #271]: #611
+[unit-resolution #613 #628 #595 #600]: false
+unsat
+85de22f5139d27f456b9708b8915cc94f19e85fe 76 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8198,7 +7339,7 @@
 #15 := f6
 #19 := (f5 f6)
 #20 := (= #19 f1)
-#54 := (not #20)
+#70 := (not #20)
 decl f3 :: (-> S2 S3 S1)
 decl f4 :: S3
 #8 := f4
@@ -8209,64 +7350,64 @@
 #12 := (= #11 f1)
 #9 := (f3 #7 f4)
 #10 := (= #9 f1)
-#28 := (not #10)
-#29 := (or #28 #12)
-#32 := (forall (vars (?v0 S2)) #29)
-#35 := (and #32 #17)
-#41 := (not #35)
-#42 := (or #41 #20)
-#47 := (not #42)
+#44 := (not #10)
+#45 := (or #44 #12)
+#48 := (forall (vars (?v0 S2)) #45)
+#51 := (and #48 #17)
+#57 := (not #51)
+#58 := (or #57 #20)
+#63 := (not #58)
 #13 := (implies #10 #12)
 #14 := (forall (vars (?v0 S2)) #13)
 #18 := (and #14 #17)
 #21 := (implies #18 #20)
 #22 := (not #21)
-#48 := (iff #22 #47)
-#45 := (iff #21 #42)
-#38 := (implies #35 #20)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #21 #38)
-#36 := (iff #18 #35)
-#33 := (iff #14 #32)
-#30 := (iff #13 #29)
-#31 := [rewrite]: #30
-#34 := [quant-intro #31]: #33
-#37 := [monotonicity #34]: #36
-#40 := [monotonicity #37]: #39
-#46 := [trans #40 #44]: #45
-#49 := [monotonicity #46]: #48
-#24 := [asserted]: #22
-#50 := [mp #24 #49]: #47
-#55 := [not-or-elim #50]: #54
-#51 := [not-or-elim #50]: #35
-#53 := [and-elim #51]: #17
-#498 := (pattern #11)
-#497 := (pattern #9)
-#499 := (forall (vars (?v0 S2)) (:pat #497 #498) #29)
-#502 := (iff #32 #499)
-#500 := (iff #29 #29)
-#501 := [refl]: #500
-#503 := [quant-intro #501]: #502
-#75 := (~ #32 #32)
-#77 := (~ #29 #29)
-#78 := [refl]: #77
-#76 := [nnf-pos #78]: #75
-#52 := [and-elim #51]: #32
-#79 := [mp~ #52 #76]: #32
-#504 := [mp #79 #503]: #499
-#80 := (not #17)
-#82 := (not #499)
-#169 := (or #82 #80 #20)
-#167 := (or #80 #20)
-#160 := (or #82 #167)
-#172 := (iff #160 #169)
-#173 := [rewrite]: #172
-#171 := [quant-inst #15]: #160
-#170 := [mp #171 #173]: #169
-[unit-resolution #170 #504 #53 #55]: false
-36a9521988b6f6920c988fe790beb6e082d3e3e0 74 0
-unsat
+#64 := (iff #22 #63)
+#61 := (iff #21 #58)
+#54 := (implies #51 #20)
+#59 := (iff #54 #58)
+#60 := [rewrite]: #59
+#55 := (iff #21 #54)
+#52 := (iff #18 #51)
+#49 := (iff #14 #48)
+#46 := (iff #13 #45)
+#47 := [rewrite]: #46
+#50 := [quant-intro #47]: #49
+#53 := [monotonicity #50]: #52
+#56 := [monotonicity #53]: #55
+#62 := [trans #56 #60]: #61
+#65 := [monotonicity #62]: #64
+#43 := [asserted]: #22
+#68 := [mp #43 #65]: #63
+#71 := [not-or-elim #68]: #70
+#66 := [not-or-elim #68]: #51
+#69 := [and-elim #66]: #17
+#557 := (pattern #11)
+#556 := (pattern #9)
+#558 := (forall (vars (?v0 S2)) (:pat #556 #557) #45)
+#561 := (iff #48 #558)
+#559 := (iff #45 #45)
+#560 := [refl]: #559
+#562 := [quant-intro #560]: #561
+#83 := (~ #48 #48)
+#81 := (~ #45 #45)
+#82 := [refl]: #81
+#84 := [nnf-pos #82]: #83
+#67 := [and-elim #66]: #48
+#73 := [mp~ #67 #84]: #48
+#563 := [mp #73 #562]: #558
+#140 := (not #17)
+#142 := (not #558)
+#228 := (or #142 #140 #20)
+#226 := (or #140 #20)
+#219 := (or #142 #226)
+#231 := (iff #219 #228)
+#232 := [rewrite]: #231
+#230 := [quant-inst #15]: #219
+#229 := [mp #230 #232]: #228
+[unit-resolution #229 #563 #69 #71]: false
+unsat
+ff730e3fbc712bd1b0cb2a46bedef24362b618c7 74 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8291,64 +7432,63 @@
 #14 := (exists (vars (?v0 S2)) #13)
 #22 := (or #14 #21)
 #23 := (not #22)
-#25 := [asserted]: #23
-#28 := [not-or-elim #25]: #20
-#30 := [and-elim #28]: #19
-#29 := [and-elim #28]: #17
-#495 := (pattern #11)
-#494 := (pattern #9)
-#61 := (not #12)
-#58 := (not #10)
-#62 := (or #58 #61)
-#496 := (forall (vars (?v0 S2)) (:pat #494 #495) #62)
-#73 := (forall (vars (?v0 S2)) #62)
-#499 := (iff #73 #496)
-#497 := (iff #62 #62)
-#498 := [refl]: #497
-#500 := [quant-intro #498]: #499
+#44 := [asserted]: #23
+#49 := [not-or-elim #44]: #20
+#51 := [and-elim #49]: #19
+#50 := [and-elim #49]: #17
+#556 := (pattern #11)
+#555 := (pattern #9)
+#65 := (not #12)
+#64 := (not #10)
+#66 := (or #64 #65)
+#557 := (forall (vars (?v0 S2)) (:pat #555 #556) #66)
+#73 := (forall (vars (?v0 S2)) #66)
+#560 := (iff #73 #557)
+#558 := (iff #66 #66)
+#559 := [refl]: #558
+#561 := [quant-intro #559]: #560
 #59 := (not #13)
-#54 := (forall (vars (?v0 S2)) #59)
-#74 := (iff #54 #73)
-#71 := (iff #59 #62)
-#63 := (not #62)
-#66 := (not #63)
-#69 := (iff #66 #62)
+#62 := (forall (vars (?v0 S2)) #59)
+#74 := (iff #62 #73)
+#71 := (iff #59 #66)
+#67 := (not #66)
+#55 := (not #67)
+#69 := (iff #55 #66)
 #70 := [rewrite]: #69
-#67 := (iff #59 #66)
-#64 := (iff #13 #63)
-#65 := [rewrite]: #64
-#68 := [monotonicity #65]: #67
+#56 := (iff #59 #55)
+#57 := (iff #13 #67)
+#58 := [rewrite]: #57
+#68 := [monotonicity #58]: #56
 #72 := [trans #68 #70]: #71
 #75 := [quant-intro #72]: #74
-#26 := (not #14)
-#55 := (~ #26 #54)
+#47 := (not #14)
+#46 := (~ #47 #62)
 #60 := (~ #59 #59)
-#53 := [refl]: #60
-#56 := [nnf-neg #53]: #55
-#27 := [not-or-elim #25]: #26
-#57 := [mp~ #27 #56]: #54
-#76 := [mp #57 #75]: #73
-#501 := [mp #76 #500]: #496
-#164 := (not #17)
-#77 := (not #19)
-#166 := (not #496)
-#157 := (or #166 #77 #164)
-#78 := (or #77 #164)
-#168 := (or #166 #78)
-#170 := (iff #168 #157)
-#167 := [rewrite]: #170
-#169 := [quant-inst #15]: #168
-#171 := [mp #169 #167]: #157
-[unit-resolution #171 #501 #29 #30]: false
-3caef628769def96e328f07d5829f3ba60e7a8be 22 0
-unsat
+#61 := [refl]: #60
+#52 := [nnf-neg #61]: #46
+#48 := [not-or-elim #44]: #47
+#63 := [mp~ #48 #52]: #62
+#76 := [mp #63 #75]: #73
+#562 := [mp #76 #561]: #557
+#225 := (not #17)
+#139 := (not #19)
+#227 := (not #557)
+#218 := (or #227 #139 #225)
+#140 := (or #139 #225)
+#229 := (or #227 #140)
+#231 := (iff #229 #218)
+#228 := [rewrite]: #231
+#230 := [quant-inst #15]: #229
+#232 := [mp #230 #228]: #218
+[unit-resolution #232 #562 #50 #51]: false
+unsat
+e9bea58a61d26211f4c51dafc9afee93d49dc96f 26 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f4 :: S1
 #9 := f4
 #10 := (= f4 f1)
-#20 := (not #10)
 decl f3 :: S1
 #7 := f3
 #8 := (= f3 f1)
@@ -8356,43 +7496,48 @@
 #12 := (not #11)
 #13 := (or #11 #12)
 #14 := (not #13)
-#16 := [asserted]: #14
-#17 := [not-or-elim #16]: #12
-#21 := [not-or-elim #17]: #20
-#18 := (not #8)
-#19 := [not-or-elim #17]: #18
-#22 := [not-or-elim #16]: #11
-[unit-resolution #22 #19 #21]: false
-0e1cdd4a4193b3d95b7ad20189882443e6b18893 27 0
-unsat
+#43 := (iff #14 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #14 #38)
+#36 := (iff #13 true)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#35 := [asserted]: #14
+[mp #35 #44]: false
+unsat
+969eb616732d66fd3a59354121995900f8f42332 27 0
 #2 := false
 #1 := true
 #8 := (or false true)
 #7 := (and true false)
 #9 := (implies #7 #8)
 #10 := (not #9)
-#32 := (iff #10 false)
-#27 := (not true)
-#30 := (iff #27 false)
-#31 := [rewrite]: #30
-#28 := (iff #10 #27)
-#25 := (iff #9 true)
-#20 := (implies false true)
-#23 := (iff #20 true)
-#24 := [rewrite]: #23
-#21 := (iff #9 #20)
-#18 := (iff #8 true)
-#19 := [rewrite]: #18
-#16 := (iff #7 false)
-#17 := [rewrite]: #16
-#22 := [monotonicity #17 #19]: #21
-#26 := [trans #22 #24]: #25
-#29 := [monotonicity #26]: #28
-#33 := [trans #29 #31]: #32
-#12 := [asserted]: #10
-[mp #12 #33]: false
-1865879eff2d6a570e2d5d631f9447241f505a6b 23 0
-unsat
+#48 := (iff #10 false)
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #10 #43)
+#41 := (iff #9 true)
+#36 := (implies false true)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #9 #36)
+#34 := (iff #8 true)
+#35 := [rewrite]: #34
+#32 := (iff #7 false)
+#33 := [rewrite]: #32
+#38 := [monotonicity #33 #35]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#31 := [asserted]: #10
+[mp #31 #49]: false
+unsat
+0554d9d3c0442590754bd0080e373209e9f303c4 23 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8403,20 +7548,20 @@
 #9 := (= #8 f1)
 #10 := (iff #9 #9)
 #11 := (not #10)
-#24 := (iff #11 false)
-#1 := true
-#19 := (not true)
-#22 := (iff #19 false)
-#23 := [rewrite]: #22
-#20 := (iff #11 #19)
-#17 := (iff #10 true)
-#18 := [rewrite]: #17
-#21 := [monotonicity #18]: #20
-#25 := [trans #21 #23]: #24
-#13 := [asserted]: #11
-[mp #13 #25]: false
-22b316633a688953bdb82a6a016351e3b9edef63 25 0
-unsat
+#40 := (iff #11 false)
+#1 := true
+#35 := (not true)
+#38 := (iff #35 false)
+#39 := [rewrite]: #38
+#36 := (iff #11 #35)
+#33 := (iff #10 true)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#32 := [asserted]: #11
+[mp #32 #41]: false
+unsat
+984bba573a128d0d85b1bac615cf60bd7590bfe3 25 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8429,20 +7574,20 @@
 #10 := (= #9 f1)
 #11 := (iff #10 #10)
 #12 := (not #11)
-#25 := (iff #12 false)
-#1 := true
-#20 := (not true)
-#23 := (iff #20 false)
-#24 := [rewrite]: #23
-#21 := (iff #12 #20)
-#18 := (iff #11 true)
-#19 := [rewrite]: #18
-#22 := [monotonicity #19]: #21
-#26 := [trans #22 #24]: #25
-#14 := [asserted]: #12
-[mp #14 #26]: false
-5d78cef53eb597c269d0bcb51799688adca9f822 24 0
-unsat
+#41 := (iff #12 false)
+#1 := true
+#36 := (not true)
+#39 := (iff #36 false)
+#40 := [rewrite]: #39
+#37 := (iff #12 #36)
+#34 := (iff #11 true)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#42 := [trans #38 #40]: #41
+#33 := [asserted]: #12
+[mp #33 #42]: false
+unsat
+49ae3a9a230a943562434a3318ab9bef51520a37 24 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8454,20 +7599,20 @@
 #11 := (not #10)
 #12 := (if #10 #10 #11)
 #13 := (not #12)
-#26 := (iff #13 false)
-#1 := true
-#21 := (not true)
-#24 := (iff #21 false)
-#25 := [rewrite]: #24
-#22 := (iff #13 #21)
-#19 := (iff #12 true)
-#20 := [rewrite]: #19
-#23 := [monotonicity #20]: #22
-#27 := [trans #23 #25]: #26
-#15 := [asserted]: #13
-[mp #15 #27]: false
-1c9273fda2614079bca73f9f9065cfb199fc506c 119 0
-unsat
+#42 := (iff #13 false)
+#1 := true
+#37 := (not true)
+#40 := (iff #37 false)
+#41 := [rewrite]: #40
+#38 := (iff #13 #37)
+#35 := (iff #12 true)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#43 := [trans #39 #41]: #42
+#34 := [asserted]: #13
+[mp #34 #43]: false
+unsat
+dc53d4d1fa6be018411a9832462fb78b5005d0d6 123 0
 #2 := false
 decl f4 :: S2
 #8 := f4
@@ -8477,33 +7622,33 @@
 decl inj!0 :: (-> S3 S2)
 decl f6 :: (-> S2 S3)
 #28 := (f6 f4)
-#115 := (inj!0 #28)
-#202 := (= #115 f4)
+#179 := (inj!0 #28)
+#265 := (= #179 f4)
 #18 := (:var 0 S2)
 #19 := (f6 #18)
-#113 := (pattern #19)
-#105 := (inj!0 #19)
-#102 := (= #105 #18)
-#531 := (forall (vars (k!0 S2)) (:pat #113) #102)
-#104 := (forall (vars (k!0 S2)) (:pat #113) #102)
-#532 := (iff #104 #531)
-#534 := (iff #531 #531)
-#535 := [rewrite]: #534
-#533 := [rewrite]: #532
-#536 := [trans #533 #535]: #532
+#112 := (pattern #19)
+#111 := (inj!0 #19)
+#108 := (= #111 #18)
+#594 := (forall (vars (k!0 S2)) (:pat #112) #108)
+#113 := (forall (vars (k!0 S2)) (:pat #112) #108)
+#595 := (iff #113 #594)
+#597 := (iff #594 #594)
+#598 := [rewrite]: #597
+#596 := [rewrite]: #595
+#599 := [trans #596 #598]: #595
 #16 := (:var 1 S2)
 #21 := (= #18 #16)
 #17 := (f6 #16)
 #20 := (= #17 #19)
-#38 := (not #20)
-#39 := (or #38 #21)
-#42 := (forall (vars (?v0 S2) (?v1 S2)) #39)
-#103 := (iff #42 #104)
-#106 := [rewrite]: #103
-#108 := (~ #42 #42)
-#110 := (~ #39 #39)
-#111 := [refl]: #110
-#109 := [nnf-pos #111]: #108
+#54 := (not #20)
+#55 := (or #54 #21)
+#58 := (forall (vars (?v0 S2) (?v1 S2)) #55)
+#114 := (iff #58 #113)
+#115 := [rewrite]: #114
+#118 := (~ #58 #58)
+#116 := (~ #55 #55)
+#117 := [refl]: #116
+#119 := [nnf-pos #117]: #118
 decl f5 :: S2
 #11 := f5
 #14 := (= f4 f5)
@@ -8511,13 +7656,13 @@
 #12 := (= f3 f5)
 #13 := (not #12)
 #10 := (not #9)
-#59 := (and #10 #13 #15 #42)
+#82 := (and #10 #13 #15 #58)
 #27 := (f6 f3)
 #29 := (= #27 #28)
 #30 := (not #29)
-#67 := (not #59)
-#68 := (or #67 #30)
-#73 := (not #68)
+#85 := (not #82)
+#88 := (or #85 #30)
+#91 := (not #88)
 #22 := (implies #20 #21)
 #23 := (forall (vars (?v0 S2) (?v1 S2)) #22)
 #24 := (and #15 #23)
@@ -8525,69 +7670,73 @@
 #26 := (and #10 #25)
 #31 := (implies #26 #30)
 #32 := (not #31)
-#74 := (iff #32 #73)
-#71 := (iff #31 #68)
-#64 := (implies #59 #30)
-#69 := (iff #64 #68)
-#70 := [rewrite]: #69
-#65 := (iff #31 #64)
-#62 := (iff #26 #59)
-#51 := (and #13 #15 #42)
-#56 := (and #10 #51)
-#60 := (iff #56 #59)
-#61 := [rewrite]: #60
-#57 := (iff #26 #56)
-#54 := (iff #25 #51)
-#45 := (and #15 #42)
-#48 := (and #13 #45)
-#52 := (iff #48 #51)
-#53 := [rewrite]: #52
-#49 := (iff #25 #48)
-#46 := (iff #24 #45)
-#43 := (iff #23 #42)
-#40 := (iff #22 #39)
-#41 := [rewrite]: #40
-#44 := [quant-intro #41]: #43
-#47 := [monotonicity #44]: #46
-#50 := [monotonicity #47]: #49
-#55 := [trans #50 #53]: #54
-#58 := [monotonicity #55]: #57
-#63 := [trans #58 #61]: #62
+#94 := (iff #32 #91)
+#61 := (and #15 #58)
+#64 := (and #13 #61)
+#67 := (and #10 #64)
+#73 := (not #67)
+#74 := (or #73 #30)
+#79 := (not #74)
+#92 := (iff #79 #91)
+#89 := (iff #74 #88)
+#86 := (iff #73 #85)
+#83 := (iff #67 #82)
+#84 := [rewrite]: #83
+#87 := [monotonicity #84]: #86
+#90 := [monotonicity #87]: #89
+#93 := [monotonicity #90]: #92
+#80 := (iff #32 #79)
+#77 := (iff #31 #74)
+#70 := (implies #67 #30)
+#75 := (iff #70 #74)
+#76 := [rewrite]: #75
+#71 := (iff #31 #70)
+#68 := (iff #26 #67)
+#65 := (iff #25 #64)
+#62 := (iff #24 #61)
+#59 := (iff #23 #58)
+#56 := (iff #22 #55)
+#57 := [rewrite]: #56
+#60 := [quant-intro #57]: #59
+#63 := [monotonicity #60]: #62
 #66 := [monotonicity #63]: #65
-#72 := [trans #66 #70]: #71
-#75 := [monotonicity #72]: #74
-#34 := [asserted]: #32
-#76 := [mp #34 #75]: #73
-#77 := [not-or-elim #76]: #59
-#81 := [and-elim #77]: #42
-#112 := [mp~ #81 #109]: #42
-#107 := [mp #112 #106]: #104
-#537 := [mp #107 #536]: #531
-#116 := (not #531)
-#207 := (or #116 #202)
-#204 := [quant-inst #8]: #207
-#187 := [unit-resolution #204 #537]: #202
-#527 := (= f3 #115)
-#114 := (inj!0 #27)
-#193 := (= #114 #115)
-#181 := (= #115 #114)
-#206 := (= #28 #27)
-#82 := [not-or-elim #76]: #29
-#208 := [symm #82]: #206
-#312 := [monotonicity #208]: #181
-#526 := [symm #312]: #193
-#519 := (= f3 #114)
-#201 := (= #114 f3)
-#203 := (or #116 #201)
-#194 := [quant-inst #7]: #203
-#205 := [unit-resolution #194 #537]: #201
-#192 := [symm #205]: #519
-#528 := [trans #192 #526]: #527
-#529 := [trans #528 #187]: #9
-#78 := [and-elim #77]: #10
-[unit-resolution #78 #529]: false
-6e572f819a5565b824096fa179274d819fc9261b 93 0
-unsat
+#69 := [monotonicity #66]: #68
+#72 := [monotonicity #69]: #71
+#78 := [trans #72 #76]: #77
+#81 := [monotonicity #78]: #80
+#95 := [trans #81 #93]: #94
+#53 := [asserted]: #32
+#96 := [mp #53 #95]: #91
+#97 := [not-or-elim #96]: #82
+#101 := [and-elim #97]: #58
+#110 := [mp~ #101 #119]: #58
+#109 := [mp #110 #115]: #113
+#600 := [mp #109 #599]: #594
+#180 := (not #594)
+#270 := (or #180 #265)
+#267 := [quant-inst #8]: #270
+#250 := [unit-resolution #267 #600]: #265
+#590 := (= f3 #179)
+#178 := (inj!0 #27)
+#256 := (= #178 #179)
+#244 := (= #179 #178)
+#269 := (= #28 #27)
+#102 := [not-or-elim #96]: #29
+#271 := [symm #102]: #269
+#375 := [monotonicity #271]: #244
+#589 := [symm #375]: #256
+#582 := (= f3 #178)
+#264 := (= #178 f3)
+#266 := (or #180 #264)
+#257 := [quant-inst #7]: #266
+#268 := [unit-resolution #257 #600]: #264
+#255 := [symm #268]: #582
+#591 := [trans #255 #589]: #590
+#592 := [trans #591 #250]: #9
+#98 := [and-elim #97]: #10
+[unit-resolution #98 #592]: false
+unsat
+86ad856b2260c7ba2d06c5558baa33155c591c5a 93 0
 #2 := false
 decl f5 :: S3
 #17 := f5
@@ -8599,89 +7748,89 @@
 decl f6 :: S2
 #21 := f6
 #23 := (f3 f6 f5)
-#94 := (inj!0 f6 #23)
-#181 := (= #94 f5)
+#154 := (inj!0 f6 #23)
+#240 := (= #154 f5)
 #8 := (:var 1 S3)
-#82 := (:var 0 S2)
-#79 := (f3 #82 #8)
-#88 := (pattern #79)
-#80 := (inj!0 #82 #79)
-#87 := (= #80 #8)
-#89 := (forall (vars (k!0 S3) (k!1 S2)) (:pat #88) #87)
+#78 := (:var 0 S2)
+#89 := (f3 #78 #8)
+#83 := (pattern #89)
+#79 := (inj!0 #78 #89)
+#80 := (= #79 #8)
+#84 := (forall (vars (k!0 S3) (k!1 S2)) (:pat #83) #80)
 #10 := (:var 0 S3)
 #13 := (= #8 #10)
 #7 := (:var 2 S2)
 #11 := (f3 #7 #10)
 #9 := (f3 #7 #8)
 #12 := (= #9 #11)
-#33 := (not #12)
-#34 := (or #33 #13)
-#37 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S3)) #34)
-#90 := (iff #37 #89)
-#91 := [rewrite]: #90
-#85 := (~ #37 #37)
-#83 := (~ #34 #34)
-#84 := [refl]: #83
-#86 := [nnf-pos #84]: #85
+#49 := (not #12)
+#50 := (or #49 #13)
+#53 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S3)) #50)
+#81 := (iff #53 #84)
+#82 := [rewrite]: #81
+#87 := (~ #53 #53)
+#85 := (~ #50 #50)
+#86 := [refl]: #85
+#88 := [nnf-pos #86]: #87
 #19 := (not #18)
-#40 := (and #37 #19)
+#56 := (and #53 #19)
 #22 := (f3 f6 f4)
 #24 := (= #22 #23)
 #25 := (not #24)
-#46 := (not #40)
-#47 := (or #46 #25)
-#52 := (not #47)
+#62 := (not #56)
+#63 := (or #62 #25)
+#68 := (not #63)
 #14 := (implies #12 #13)
 #15 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S3)) #14)
 #20 := (and #15 #19)
 #26 := (implies #20 #25)
 #27 := (not #26)
-#53 := (iff #27 #52)
-#50 := (iff #26 #47)
-#43 := (implies #40 #25)
-#48 := (iff #43 #47)
-#49 := [rewrite]: #48
-#44 := (iff #26 #43)
-#41 := (iff #20 #40)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [quant-intro #36]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#51 := [trans #45 #49]: #50
-#54 := [monotonicity #51]: #53
-#29 := [asserted]: #27
-#55 := [mp #29 #54]: #52
-#56 := [not-or-elim #55]: #40
-#57 := [and-elim #56]: #37
-#81 := [mp~ #57 #86]: #37
-#92 := [mp #81 #91]: #89
-#95 := (not #89)
-#186 := (or #95 #181)
-#183 := [quant-inst #17 #21]: #186
-#166 := [unit-resolution #183 #92]: #181
-#506 := (= f4 #94)
-#93 := (inj!0 f6 #22)
-#172 := (= #93 #94)
-#160 := (= #94 #93)
-#185 := (= #23 #22)
-#59 := [not-or-elim #55]: #24
-#187 := [symm #59]: #185
-#291 := [monotonicity #187]: #160
-#505 := [symm #291]: #172
-#498 := (= f4 #93)
-#180 := (= #93 f4)
-#182 := (or #95 #180)
-#173 := [quant-inst #16 #21]: #182
-#184 := [unit-resolution #173 #92]: #180
-#171 := [symm #184]: #498
-#507 := [trans #171 #505]: #506
-#508 := [trans #507 #166]: #18
-#58 := [and-elim #56]: #19
-[unit-resolution #58 #508]: false
-d7fd68e20eb7b809b8a677cb04f940aa036f5afb 91 0
-unsat
+#69 := (iff #27 #68)
+#66 := (iff #26 #63)
+#59 := (implies #56 #25)
+#64 := (iff #59 #63)
+#65 := [rewrite]: #64
+#60 := (iff #26 #59)
+#57 := (iff #20 #56)
+#54 := (iff #15 #53)
+#51 := (iff #14 #50)
+#52 := [rewrite]: #51
+#55 := [quant-intro #52]: #54
+#58 := [monotonicity #55]: #57
+#61 := [monotonicity #58]: #60
+#67 := [trans #61 #65]: #66
+#70 := [monotonicity #67]: #69
+#48 := [asserted]: #27
+#73 := [mp #48 #70]: #68
+#71 := [not-or-elim #73]: #56
+#72 := [and-elim #71]: #53
+#77 := [mp~ #72 #88]: #53
+#90 := [mp #77 #82]: #84
+#155 := (not #84)
+#245 := (or #155 #240)
+#242 := [quant-inst #17 #21]: #245
+#225 := [unit-resolution #242 #90]: #240
+#565 := (= f4 #154)
+#153 := (inj!0 f6 #22)
+#231 := (= #153 #154)
+#219 := (= #154 #153)
+#244 := (= #23 #22)
+#75 := [not-or-elim #73]: #24
+#246 := [symm #75]: #244
+#350 := [monotonicity #246]: #219
+#564 := [symm #350]: #231
+#557 := (= f4 #153)
+#239 := (= #153 f4)
+#241 := (or #155 #239)
+#232 := [quant-inst #16 #21]: #241
+#243 := [unit-resolution #232 #90]: #239
+#230 := [symm #243]: #557
+#566 := [trans #230 #564]: #565
+#567 := [trans #566 #225]: #18
+#74 := [and-elim #71]: #19
+[unit-resolution #74 #567]: false
+unsat
+dbb9fd47289aae1ee4ef07ea6bbb0529555aea58 91 0
 #2 := false
 decl f5 :: S2
 #17 := f5
@@ -8693,87 +7842,87 @@
 decl f6 :: S3
 #21 := f6
 #23 := (f3 f5 f6)
-#92 := (inj!0 f6 #23)
-#179 := (= #92 f5)
+#152 := (inj!0 f6 #23)
+#238 := (= #152 f5)
 #8 := (:var 1 S3)
 #10 := (:var 0 S2)
 #11 := (f3 #10 #8)
-#82 := (pattern #11)
-#86 := (inj!0 #8 #11)
-#81 := (= #86 #10)
-#87 := (forall (vars (k!0 S3) (k!1 S2)) (:pat #82) #81)
+#79 := (pattern #11)
+#78 := (inj!0 #8 #11)
+#89 := (= #78 #10)
+#80 := (forall (vars (k!0 S3) (k!1 S2)) (:pat #79) #89)
 #7 := (:var 2 S2)
 #13 := (= #7 #10)
 #9 := (f3 #7 #8)
 #12 := (= #9 #11)
-#33 := (not #12)
-#34 := (or #33 #13)
-#37 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S2)) #34)
-#88 := (iff #37 #87)
-#89 := [rewrite]: #88
-#79 := (~ #37 #37)
-#83 := (~ #34 #34)
-#84 := [refl]: #83
-#80 := [nnf-pos #84]: #79
+#49 := (not #12)
+#50 := (or #49 #13)
+#53 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S2)) #50)
+#83 := (iff #53 #80)
+#84 := [rewrite]: #83
+#87 := (~ #53 #53)
+#85 := (~ #50 #50)
+#86 := [refl]: #85
+#88 := [nnf-pos #86]: #87
 #19 := (not #18)
-#40 := (and #37 #19)
+#56 := (and #53 #19)
 #22 := (f3 f4 f6)
 #24 := (= #22 #23)
 #25 := (not #24)
-#46 := (not #40)
-#47 := (or #46 #25)
-#52 := (not #47)
+#62 := (not #56)
+#63 := (or #62 #25)
+#68 := (not #63)
 #14 := (implies #12 #13)
 #15 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S2)) #14)
 #20 := (and #15 #19)
 #26 := (implies #20 #25)
 #27 := (not #26)
-#53 := (iff #27 #52)
-#50 := (iff #26 #47)
-#43 := (implies #40 #25)
-#48 := (iff #43 #47)
-#49 := [rewrite]: #48
-#44 := (iff #26 #43)
-#41 := (iff #20 #40)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [quant-intro #36]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#51 := [trans #45 #49]: #50
-#54 := [monotonicity #51]: #53
-#29 := [asserted]: #27
-#55 := [mp #29 #54]: #52
-#56 := [not-or-elim #55]: #40
-#57 := [and-elim #56]: #37
-#85 := [mp~ #57 #80]: #37
-#90 := [mp #85 #89]: #87
-#93 := (not #87)
-#184 := (or #93 #179)
-#181 := [quant-inst #21 #17]: #184
-#164 := [unit-resolution #181 #90]: #179
-#504 := (= f4 #92)
-#91 := (inj!0 f6 #22)
-#170 := (= #91 #92)
-#158 := (= #92 #91)
-#183 := (= #23 #22)
-#59 := [not-or-elim #55]: #24
-#185 := [symm #59]: #183
-#289 := [monotonicity #185]: #158
-#503 := [symm #289]: #170
-#496 := (= f4 #91)
-#178 := (= #91 f4)
-#180 := (or #93 #178)
-#171 := [quant-inst #21 #16]: #180
-#182 := [unit-resolution #171 #90]: #178
-#169 := [symm #182]: #496
-#505 := [trans #169 #503]: #504
-#506 := [trans #505 #164]: #18
-#58 := [and-elim #56]: #19
-[unit-resolution #58 #506]: false
-06c7eb9f7711ee93da7082f0da081b58762fb7a3 26 0
-unsat
+#69 := (iff #27 #68)
+#66 := (iff #26 #63)
+#59 := (implies #56 #25)
+#64 := (iff #59 #63)
+#65 := [rewrite]: #64
+#60 := (iff #26 #59)
+#57 := (iff #20 #56)
+#54 := (iff #15 #53)
+#51 := (iff #14 #50)
+#52 := [rewrite]: #51
+#55 := [quant-intro #52]: #54
+#58 := [monotonicity #55]: #57
+#61 := [monotonicity #58]: #60
+#67 := [trans #61 #65]: #66
+#70 := [monotonicity #67]: #69
+#48 := [asserted]: #27
+#73 := [mp #48 #70]: #68
+#71 := [not-or-elim #73]: #56
+#72 := [and-elim #71]: #53
+#77 := [mp~ #72 #88]: #53
+#81 := [mp #77 #84]: #80
+#153 := (not #80)
+#243 := (or #153 #238)
+#240 := [quant-inst #21 #17]: #243
+#223 := [unit-resolution #240 #81]: #238
+#563 := (= f4 #152)
+#151 := (inj!0 f6 #22)
+#229 := (= #151 #152)
+#217 := (= #152 #151)
+#242 := (= #23 #22)
+#75 := [not-or-elim #73]: #24
+#244 := [symm #75]: #242
+#348 := [monotonicity #244]: #217
+#562 := [symm #348]: #229
+#555 := (= f4 #151)
+#237 := (= #151 f4)
+#239 := (or #153 #237)
+#230 := [quant-inst #21 #16]: #239
+#241 := [unit-resolution #230 #81]: #237
+#228 := [symm #241]: #555
+#564 := [trans #228 #562]: #563
+#565 := [trans #564 #223]: #18
+#74 := [and-elim #71]: #19
+[unit-resolution #74 #565]: false
+unsat
+2999a68dda8007862d764357a968ba4d913e9986 26 0
 #2 := false
 decl f5 :: S2
 #13 := f5
@@ -8783,24 +7932,24 @@
 #14 := (f3 f4 f5)
 #15 := (= #14 f5)
 #16 := (not #15)
-#19 := [asserted]: #16
+#38 := [asserted]: #16
 #8 := (:var 0 S2)
 #9 := (f3 f4 #8)
 #10 := (pattern #9)
 #11 := (= #9 #8)
 #12 := (forall (vars (?v0 S2)) (:pat #10) #11)
-#46 := (~ #12 #12)
-#44 := (~ #11 #11)
-#45 := [refl]: #44
-#47 := [nnf-pos #45]: #46
-#18 := [asserted]: #12
-#42 := [mp~ #18 #47]: #12
-#134 := (not #12)
-#127 := (or #134 #15)
-#138 := [quant-inst #13]: #127
-[unit-resolution #138 #42 #19]: false
-fcd8f166db037b8608ae35e66521fd11e6030072 30 0
-unsat
+#48 := (~ #12 #12)
+#46 := (~ #11 #11)
+#47 := [refl]: #46
+#49 := [nnf-pos #47]: #48
+#37 := [asserted]: #12
+#40 := [mp~ #37 #49]: #12
+#193 := (not #12)
+#186 := (or #193 #15)
+#197 := [quant-inst #13]: #186
+[unit-resolution #197 #40 #38]: false
+unsat
+57a110a2a64d6237b6a312b1d9c36299cd964fe9 30 0
 #2 := false
 decl f4 :: (-> S3 S4)
 decl f6 :: S3
@@ -8812,7 +7961,7 @@
 #15 := (f3 f5)
 #18 := (= #15 #17)
 #19 := (not #18)
-#22 := [asserted]: #19
+#41 := [asserted]: #19
 #9 := (:var 0 S3)
 #10 := (f4 #9)
 #7 := (:var 1 S2)
@@ -8820,18 +7969,18 @@
 #11 := (pattern #8 #10)
 #12 := (= #8 #10)
 #13 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #11) #12)
-#49 := (~ #13 #13)
-#47 := (~ #12 #12)
-#48 := [refl]: #47
-#50 := [nnf-pos #48]: #49
-#21 := [asserted]: #13
-#45 := [mp~ #21 #50]: #13
-#53 := (not #13)
-#138 := (or #53 #18)
-#46 := [quant-inst #14 #16]: #138
-[unit-resolution #46 #45 #22]: false
-c7511e2629c4356cab2cf09d9c82407aa7fe6d05 47 0
-unsat
+#51 := (~ #13 #13)
+#49 := (~ #12 #12)
+#50 := [refl]: #49
+#52 := [nnf-pos #50]: #51
+#40 := [asserted]: #13
+#43 := [mp~ #40 #52]: #13
+#111 := (not #13)
+#197 := (or #111 #18)
+#112 := [quant-inst #14 #16]: #197
+[unit-resolution #112 #43 #41]: false
+unsat
+504b592c818b50152d0a32c8e6416d9f077ac9e1 47 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8841,45 +7990,45 @@
 #18 := (f4 f5)
 #19 := (= #18 f1)
 #20 := (not #19)
-#24 := [asserted]: #20
+#50 := [asserted]: #20
 decl f3 :: (-> S2 S1)
 #16 := (f3 f5)
 #17 := (= #16 f1)
-#23 := [asserted]: #17
+#49 := [asserted]: #17
 #7 := (:var 0 S2)
 #8 := (f3 #7)
 #9 := (pattern #8)
 #11 := (f4 #7)
 #12 := (= #11 f1)
 #10 := (= #8 f1)
-#28 := (not #10)
-#29 := (or #28 #12)
-#32 := (forall (vars (?v0 S2)) (:pat #9) #29)
-#57 := (~ #32 #32)
-#55 := (~ #29 #29)
-#56 := [refl]: #55
-#58 := [nnf-pos #56]: #57
+#42 := (not #10)
+#43 := (or #42 #12)
+#46 := (forall (vars (?v0 S2)) (:pat #9) #43)
+#63 := (~ #46 #46)
+#61 := (~ #43 #43)
+#62 := [refl]: #61
+#64 := [nnf-pos #62]: #63
 #13 := (implies #10 #12)
 #14 := (forall (vars (?v0 S2)) (:pat #9) #13)
-#33 := (iff #14 #32)
-#30 := (iff #13 #29)
-#31 := [rewrite]: #30
-#34 := [quant-intro #31]: #33
-#22 := [asserted]: #14
-#35 := [mp #22 #34]: #32
-#61 := [mp~ #35 #58]: #32
-#62 := (not #17)
-#60 := (not #32)
-#149 := (or #60 #62 #19)
-#147 := (or #62 #19)
-#140 := (or #60 #147)
-#152 := (iff #140 #149)
-#153 := [rewrite]: #152
-#151 := [quant-inst #15]: #140
-#150 := [mp #151 #153]: #149
-[unit-resolution #150 #61 #23 #24]: false
-a6270f81d5df8dfba370dfde937210f23b9d7a30 80 0
-unsat
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#45 := [rewrite]: #44
+#48 := [quant-intro #45]: #47
+#41 := [asserted]: #14
+#51 := [mp #41 #48]: #46
+#53 := [mp~ #51 #64]: #46
+#120 := (not #17)
+#122 := (not #46)
+#208 := (or #122 #120 #19)
+#206 := (or #120 #19)
+#199 := (or #122 #206)
+#211 := (iff #199 #208)
+#212 := [rewrite]: #211
+#210 := [quant-inst #15]: #199
+#209 := [mp #210 #212]: #208
+[unit-resolution #209 #53 #49 #50]: false
+unsat
+2f0e1a7b2581f301956cfc589414e25e013c2022 80 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8889,15 +8038,15 @@
 #23 := (f5 f6)
 #24 := (= #23 f1)
 #25 := (not #24)
-#30 := [asserted]: #25
+#57 := [asserted]: #25
 decl f4 :: (-> S2 S1)
 #21 := (f4 f6)
 #22 := (= #21 f1)
-#29 := [asserted]: #22
+#55 := [asserted]: #22
 decl f3 :: (-> S2 S1)
 #19 := (f3 f6)
 #20 := (= #19 f1)
-#28 := [asserted]: #20
+#54 := [asserted]: #20
 #7 := (:var 0 S2)
 #9 := (f4 #7)
 #8 := (f3 #7)
@@ -8905,62 +8054,62 @@
 #14 := (f5 #7)
 #15 := (= #14 f1)
 #12 := (= #9 f1)
-#65 := (not #12)
+#73 := (not #12)
 #11 := (= #8 f1)
-#62 := (not #11)
-#82 := (or #62 #65 #15)
-#87 := (forall (vars (?v0 S2)) (:pat #10) #82)
+#60 := (not #11)
+#80 := (or #60 #73 #15)
+#85 := (forall (vars (?v0 S2)) (:pat #10) #80)
 #13 := (and #11 #12)
-#34 := (not #13)
-#35 := (or #34 #15)
-#38 := (forall (vars (?v0 S2)) (:pat #10) #35)
-#88 := (iff #38 #87)
-#85 := (iff #35 #82)
-#68 := (or #62 #65)
-#79 := (or #68 #15)
-#83 := (iff #79 #82)
-#84 := [rewrite]: #83
-#80 := (iff #35 #79)
-#77 := (iff #34 #68)
-#61 := (not #68)
-#72 := (not #61)
-#75 := (iff #72 #68)
-#76 := [rewrite]: #75
-#73 := (iff #34 #72)
-#66 := (iff #13 #61)
-#71 := [rewrite]: #66
-#74 := [monotonicity #71]: #73
-#78 := [trans #74 #76]: #77
-#81 := [monotonicity #78]: #80
-#86 := [trans #81 #84]: #85
-#89 := [quant-intro #86]: #88
-#63 := (~ #38 #38)
-#69 := (~ #35 #35)
+#47 := (not #13)
+#48 := (or #47 #15)
+#51 := (forall (vars (?v0 S2)) (:pat #10) #48)
+#86 := (iff #51 #85)
+#83 := (iff #48 #80)
+#61 := (or #60 #73)
+#77 := (or #61 #15)
+#81 := (iff #77 #80)
+#82 := [rewrite]: #81
+#78 := (iff #48 #77)
+#75 := (iff #47 #61)
+#62 := (not #61)
+#65 := (not #62)
+#64 := (iff #65 #61)
+#74 := [rewrite]: #64
+#66 := (iff #47 #65)
+#67 := (iff #13 #62)
+#68 := [rewrite]: #67
+#63 := [monotonicity #68]: #66
+#76 := [trans #63 #74]: #75
+#79 := [monotonicity #76]: #78
+#84 := [trans #79 #82]: #83
+#87 := [quant-intro #84]: #86
+#71 := (~ #51 #51)
+#69 := (~ #48 #48)
 #70 := [refl]: #69
-#64 := [nnf-pos #70]: #63
+#72 := [nnf-pos #70]: #71
 #16 := (implies #13 #15)
 #17 := (forall (vars (?v0 S2)) (:pat #10) #16)
-#39 := (iff #17 #38)
-#36 := (iff #16 #35)
-#37 := [rewrite]: #36
-#40 := [quant-intro #37]: #39
-#27 := [asserted]: #17
-#41 := [mp #27 #40]: #38
-#67 := [mp~ #41 #64]: #38
-#90 := [mp #67 #89]: #87
-#178 := (not #22)
-#91 := (not #20)
-#180 := (not #87)
-#171 := (or #180 #91 #178 #24)
-#92 := (or #91 #178 #24)
-#182 := (or #180 #92)
-#184 := (iff #182 #171)
-#181 := [rewrite]: #184
-#183 := [quant-inst #18]: #182
-#185 := [mp #183 #181]: #171
-[unit-resolution #185 #90 #28 #29 #30]: false
-9a5dc5d34493dd61c515054a38ab88431b1114aa 94 0
-unsat
+#52 := (iff #17 #51)
+#49 := (iff #16 #48)
+#50 := [rewrite]: #49
+#53 := [quant-intro #50]: #52
+#46 := [asserted]: #17
+#56 := [mp #46 #53]: #51
+#59 := [mp~ #56 #72]: #51
+#88 := [mp #59 #87]: #85
+#237 := (not #22)
+#151 := (not #20)
+#239 := (not #85)
+#230 := (or #239 #151 #237 #24)
+#152 := (or #151 #237 #24)
+#241 := (or #239 #152)
+#243 := (iff #241 #230)
+#240 := [rewrite]: #243
+#242 := [quant-inst #18]: #241
+#244 := [mp #242 #240]: #230
+[unit-resolution #244 #88 #54 #55 #57]: false
+unsat
+7566f2da21c88f266bea2fe10fd785422cefa613 94 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -8969,21 +8118,21 @@
 #20 := f6
 #21 := (f3 f6)
 #22 := (= #21 f1)
-#85 := (not #22)
+#145 := (not #22)
 decl f5 :: (-> S2 S1)
 #26 := (f5 f6)
 #27 := (= #26 f1)
-#172 := (or #85 #27)
+#231 := (or #145 #27)
 decl f4 :: (-> S2 S1)
 #23 := (f4 f6)
 #24 := (= #23 f1)
-#173 := (not #24)
-#87 := (or #173 #27)
-#174 := (not #87)
-#86 := (not #172)
-#165 := (or #86 #174)
-#176 := (not #165)
-#177 := [hypothesis]: #165
+#232 := (not #24)
+#147 := (or #232 #27)
+#233 := (not #147)
+#146 := (not #231)
+#224 := (or #146 #233)
+#235 := (not #224)
+#236 := [hypothesis]: #224
 #7 := (:var 0 S2)
 #10 := (f4 #7)
 #11 := (pattern #10)
@@ -8992,70 +8141,70 @@
 #13 := (f5 #7)
 #14 := (= #13 f1)
 #16 := (= #10 f1)
-#40 := (not #16)
-#41 := (or #40 #14)
-#72 := (not #41)
+#54 := (not #16)
+#55 := (or #54 #14)
+#80 := (not #55)
 #12 := (= #8 f1)
-#36 := (not #12)
-#37 := (or #36 #14)
-#77 := (not #37)
-#73 := (or #77 #72)
-#78 := (not #73)
-#81 := (forall (vars (?v0 S2)) (:pat #9 #11) #78)
-#44 := (and #37 #41)
-#47 := (forall (vars (?v0 S2)) (:pat #9 #11) #44)
-#82 := (iff #47 #81)
-#79 := (iff #44 #78)
-#80 := [rewrite]: #79
-#83 := [quant-intro #80]: #82
-#70 := (~ #47 #47)
-#74 := (~ #44 #44)
-#75 := [refl]: #74
-#71 := [nnf-pos #75]: #70
+#50 := (not #12)
+#51 := (or #50 #14)
+#69 := (not #51)
+#70 := (or #69 #80)
+#71 := (not #70)
+#72 := (forall (vars (?v0 S2)) (:pat #9 #11) #71)
+#58 := (and #51 #55)
+#61 := (forall (vars (?v0 S2)) (:pat #9 #11) #58)
+#73 := (iff #61 #72)
+#74 := (iff #58 #71)
+#75 := [rewrite]: #74
+#81 := [quant-intro #75]: #73
+#78 := (~ #61 #61)
+#76 := (~ #58 #58)
+#77 := [refl]: #76
+#79 := [nnf-pos #77]: #78
 #17 := (implies #16 #14)
 #15 := (implies #12 #14)
 #18 := (and #15 #17)
 #19 := (forall (vars (?v0 S2)) (:pat #9 #11) #18)
-#48 := (iff #19 #47)
-#45 := (iff #18 #44)
-#42 := (iff #17 #41)
-#43 := [rewrite]: #42
-#38 := (iff #15 #37)
-#39 := [rewrite]: #38
-#46 := [monotonicity #39 #43]: #45
-#49 := [quant-intro #46]: #48
-#30 := [asserted]: #19
-#50 := [mp #30 #49]: #47
-#76 := [mp~ #50 #71]: #47
-#84 := [mp #76 #83]: #81
-#175 := (not #81)
-#179 := (or #175 #176)
-#158 := [quant-inst #20]: #179
-#178 := [unit-resolution #158 #84 #177]: false
-#493 := [lemma #178]: #176
-#501 := (or #165 #172)
-#491 := [def-axiom]: #501
-#135 := [unit-resolution #491 #493]: #172
-#477 := (or #86 #85)
+#62 := (iff #19 #61)
+#59 := (iff #18 #58)
+#56 := (iff #17 #55)
+#57 := [rewrite]: #56
+#52 := (iff #15 #51)
+#53 := [rewrite]: #52
+#60 := [monotonicity #53 #57]: #59
+#63 := [quant-intro #60]: #62
+#49 := [asserted]: #19
+#66 := [mp #49 #63]: #61
+#68 := [mp~ #66 #79]: #61
+#82 := [mp #68 #81]: #72
+#234 := (not #72)
+#238 := (or #234 #235)
+#217 := [quant-inst #20]: #238
+#237 := [unit-resolution #217 #82 #236]: false
+#552 := [lemma #237]: #235
+#560 := (or #224 #231)
+#550 := [def-axiom]: #560
+#194 := [unit-resolution #550 #552]: #231
+#536 := (or #146 #145)
 #28 := (not #27)
-#32 := [asserted]: #28
-#490 := (or #86 #85 #27)
-#163 := [def-axiom]: #490
-#139 := [unit-resolution #163 #32]: #477
-#140 := [unit-resolution #139 #135]: #85
-#150 := (or #165 #87)
-#155 := [def-axiom]: #150
-#141 := [unit-resolution #155 #493]: #87
-#142 := (or #174 #173)
-#500 := (or #174 #173 #27)
-#495 := [def-axiom]: #500
-#479 := [unit-resolution #495 #32]: #142
-#480 := [unit-resolution #479 #141]: #173
+#65 := [asserted]: #28
+#549 := (or #146 #145 #27)
+#222 := [def-axiom]: #549
+#198 := [unit-resolution #222 #65]: #536
+#199 := [unit-resolution #198 #194]: #145
+#209 := (or #224 #147)
+#214 := [def-axiom]: #209
+#200 := [unit-resolution #214 #552]: #147
+#201 := (or #233 #232)
+#559 := (or #233 #232 #27)
+#554 := [def-axiom]: #559
+#538 := [unit-resolution #554 #65]: #201
+#539 := [unit-resolution #538 #200]: #232
 #25 := (or #22 #24)
-#31 := [asserted]: #25
-[unit-resolution #31 #480 #140]: false
-0174e3da6a3b0d1b54444b41bf1d3bca92d15ce1 47 0
-unsat
+#64 := [asserted]: #25
+[unit-resolution #64 #539 #199]: false
+unsat
+83f372862020f387ac902abe14c65133bfb11c52 47 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9065,45 +8214,45 @@
 #19 := (f4 f5)
 #20 := (= #19 f1)
 #21 := (not #20)
-#25 := [asserted]: #21
+#51 := [asserted]: #21
 decl f3 :: (-> S2 S1)
 #17 := (f3 f5)
 #18 := (= #17 f1)
-#24 := [asserted]: #18
+#50 := [asserted]: #18
 #7 := (:var 0 S2)
 #8 := (f3 #7)
 #9 := (pattern #8)
 #12 := (f4 #7)
 #13 := (= #12 f1)
 #11 := (= #8 f1)
-#29 := (not #11)
-#30 := (or #29 #13)
-#33 := (forall (vars (?v0 S2)) (:pat #9) #30)
-#58 := (~ #33 #33)
-#56 := (~ #30 #30)
-#57 := [refl]: #56
-#59 := [nnf-pos #57]: #58
+#43 := (not #11)
+#44 := (or #43 #13)
+#47 := (forall (vars (?v0 S2)) (:pat #9) #44)
+#64 := (~ #47 #47)
+#62 := (~ #44 #44)
+#63 := [refl]: #62
+#65 := [nnf-pos #63]: #64
 #14 := (implies #11 #13)
 #15 := (forall (vars (?v0 S2)) (:pat #9) #14)
-#34 := (iff #15 #33)
-#31 := (iff #14 #30)
-#32 := [rewrite]: #31
-#35 := [quant-intro #32]: #34
-#23 := [asserted]: #15
-#36 := [mp #23 #35]: #33
-#62 := [mp~ #36 #59]: #33
-#63 := (not #18)
-#61 := (not #33)
-#150 := (or #61 #63 #20)
-#148 := (or #63 #20)
-#141 := (or #61 #148)
-#153 := (iff #141 #150)
-#154 := [rewrite]: #153
-#152 := [quant-inst #16]: #141
-#151 := [mp #152 #154]: #150
-[unit-resolution #151 #62 #24 #25]: false
-3cf2f5774e9cb53226a2180612e5e1ffeb96f030 54 0
-unsat
+#48 := (iff #15 #47)
+#45 := (iff #14 #44)
+#46 := [rewrite]: #45
+#49 := [quant-intro #46]: #48
+#42 := [asserted]: #15
+#52 := [mp #42 #49]: #47
+#54 := [mp~ #52 #65]: #47
+#120 := (not #18)
+#122 := (not #47)
+#208 := (or #122 #120 #20)
+#206 := (or #120 #20)
+#199 := (or #122 #206)
+#211 := (iff #199 #208)
+#212 := [rewrite]: #211
+#210 := [quant-inst #16]: #199
+#209 := [mp #210 #212]: #208
+[unit-resolution #209 #54 #50 #51]: false
+unsat
+7f77972298a74beb29a94a34ab2a10ec8952f699 54 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9113,86 +8262,86 @@
 #18 := (f4 f5)
 #19 := (= #18 f1)
 #20 := (not #19)
-#24 := [asserted]: #20
+#50 := [asserted]: #20
 decl f3 :: (-> S2 S1)
 #16 := (f3 f5)
 #17 := (= #16 f1)
-#23 := [asserted]: #17
+#49 := [asserted]: #17
 #8 := (:var 0 S2)
 #11 := (f4 #8)
-#477 := (pattern #11)
+#536 := (pattern #11)
 #9 := (f3 #8)
-#476 := (pattern #9)
+#535 := (pattern #9)
 #12 := (= #11 f1)
 #10 := (= #9 f1)
-#28 := (not #10)
-#29 := (or #28 #12)
-#478 := (forall (vars (?v0 S2)) (:pat #476 #477) #29)
-#32 := (forall (vars (?v0 S2)) #29)
-#481 := (iff #32 #478)
-#479 := (iff #29 #29)
-#480 := [refl]: #479
-#482 := [quant-intro #480]: #481
-#61 := (~ #32 #32)
-#59 := (~ #29 #29)
-#60 := [refl]: #59
-#62 := [nnf-pos #60]: #61
+#42 := (not #10)
+#43 := (or #42 #12)
+#537 := (forall (vars (?v0 S2)) (:pat #535 #536) #43)
+#46 := (forall (vars (?v0 S2)) #43)
+#540 := (iff #46 #537)
+#538 := (iff #43 #43)
+#539 := [refl]: #538
+#541 := [quant-intro #539]: #540
+#63 := (~ #46 #46)
+#61 := (~ #43 #43)
+#62 := [refl]: #61
+#64 := [nnf-pos #62]: #63
 #13 := (implies #10 #12)
 #14 := (forall (vars (?v0 S2)) #13)
-#33 := (iff #14 #32)
-#30 := (iff #13 #29)
-#31 := [rewrite]: #30
-#34 := [quant-intro #31]: #33
-#22 := [asserted]: #14
-#35 := [mp #22 #34]: #32
-#57 := [mp~ #35 #62]: #32
-#483 := [mp #57 #482]: #478
-#58 := (not #17)
-#56 := (not #478)
-#148 := (or #56 #58 #19)
-#146 := (or #58 #19)
-#139 := (or #56 #146)
-#151 := (iff #139 #148)
-#152 := [rewrite]: #151
-#150 := [quant-inst #15]: #139
-#149 := [mp #150 #152]: #148
-[unit-resolution #149 #483 #23 #24]: false
-cb6801fac47863f5b3d24e889ecd9d6a4cb46df6 16 0
-unsat
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#45 := [rewrite]: #44
+#48 := [quant-intro #45]: #47
+#41 := [asserted]: #14
+#51 := [mp #41 #48]: #46
+#53 := [mp~ #51 #64]: #46
+#542 := [mp #53 #541]: #537
+#119 := (not #17)
+#121 := (not #537)
+#207 := (or #121 #119 #19)
+#205 := (or #119 #19)
+#198 := (or #121 #205)
+#210 := (iff #198 #207)
+#211 := [rewrite]: #210
+#209 := [quant-inst #15]: #198
+#208 := [mp #209 #211]: #207
+[unit-resolution #208 #542 #49 #50]: false
+unsat
+9b5c16c73032091e1ec7375b17805aa94497d6a1 16 0
 #2 := false
 #1 := true
 #7 := (implies true true)
 #8 := (not #7)
-#21 := (iff #8 false)
-#16 := (not true)
-#19 := (iff #16 false)
-#20 := [rewrite]: #19
-#17 := (iff #8 #16)
-#14 := (iff #7 true)
-#15 := [rewrite]: #14
-#18 := [monotonicity #15]: #17
-#22 := [trans #18 #20]: #21
-#10 := [asserted]: #8
-[mp #10 #22]: false
-16e1681a3c64ecd748e6c05bfb8e8c32bcbc7c22 16 0
-unsat
+#37 := (iff #8 false)
+#32 := (not true)
+#35 := (iff #32 false)
+#36 := [rewrite]: #35
+#33 := (iff #8 #32)
+#30 := (iff #7 true)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31]: #33
+#38 := [trans #34 #36]: #37
+#29 := [asserted]: #8
+[mp #29 #38]: false
+unsat
+4c88c1927abd3263418bbec2ea6a27c312c22645 16 0
 #2 := false
 #7 := (implies false false)
 #8 := (not #7)
-#21 := (iff #8 false)
-#1 := true
-#16 := (not true)
-#19 := (iff #16 false)
-#20 := [rewrite]: #19
-#17 := (iff #8 #16)
-#14 := (iff #7 true)
-#15 := [rewrite]: #14
-#18 := [monotonicity #15]: #17
-#22 := [trans #18 #20]: #21
-#10 := [asserted]: #8
-[mp #10 #22]: false
-388e4d9b91ffb1a7279a22ad67a0af16108a59dd 23 0
-unsat
+#37 := (iff #8 false)
+#1 := true
+#32 := (not true)
+#35 := (iff #32 false)
+#36 := [rewrite]: #35
+#33 := (iff #8 #32)
+#30 := (iff #7 true)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31]: #33
+#38 := [trans #34 #36]: #37
+#29 := [asserted]: #8
+[mp #29 #38]: false
+unsat
+2947b9fb81e1118b8d74090c78db2d5a21b405bf 23 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9203,20 +8352,20 @@
 #9 := (= #8 f1)
 #10 := (implies #9 #9)
 #11 := (not #10)
-#24 := (iff #11 false)
-#1 := true
-#19 := (not true)
-#22 := (iff #19 false)
-#23 := [rewrite]: #22
-#20 := (iff #11 #19)
-#17 := (iff #10 true)
-#18 := [rewrite]: #17
-#21 := [monotonicity #18]: #20
-#25 := [trans #21 #23]: #24
-#13 := [asserted]: #11
-[mp #13 #25]: false
-8b861d903a9a1054060c90c6ae2af47fe5197810 25 0
-unsat
+#40 := (iff #11 false)
+#1 := true
+#35 := (not true)
+#38 := (iff #35 false)
+#39 := [rewrite]: #38
+#36 := (iff #11 #35)
+#33 := (iff #10 true)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#32 := [asserted]: #11
+[mp #32 #41]: false
+unsat
+d21a861104797656b2243093005bad40c57dc562 34 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9229,20 +8378,29 @@
 #11 := (or #8 #10)
 #12 := (implies #8 #11)
 #13 := (not #12)
-#26 := (iff #13 false)
-#1 := true
-#21 := (not true)
-#24 := (iff #21 false)
-#25 := [rewrite]: #24
-#22 := (iff #13 #21)
-#19 := (iff #12 true)
-#20 := [rewrite]: #19
-#23 := [monotonicity #20]: #22
-#27 := [trans #23 #25]: #26
-#15 := [asserted]: #13
-[mp #15 #27]: false
-25b3a4036a36c70240b5d9e2d0a1d55ba7cba9e7 25 0
-unsat
+#51 := (iff #13 false)
+#35 := (not #8)
+#36 := (or #35 #11)
+#39 := (not #36)
+#49 := (iff #39 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #39 #44)
+#42 := (iff #36 true)
+#43 := [rewrite]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#40 := (iff #13 #39)
+#37 := (iff #12 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#52 := [trans #41 #50]: #51
+#34 := [asserted]: #13
+[mp #34 #52]: false
+unsat
+27d2c4925d91cba6878c40dc50ee04811f3ebdce 34 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9255,20 +8413,29 @@
 #11 := (or #10 #8)
 #12 := (implies #8 #11)
 #13 := (not #12)
-#26 := (iff #13 false)
-#1 := true
-#21 := (not true)
-#24 := (iff #21 false)
-#25 := [rewrite]: #24
-#22 := (iff #13 #21)
-#19 := (iff #12 true)
-#20 := [rewrite]: #19
-#23 := [monotonicity #20]: #22
-#27 := [trans #23 #25]: #26
-#15 := [asserted]: #13
-[mp #15 #27]: false
-4e6d14ef22716878d11f1de1592f873bbc16eb75 34 0
-unsat
+#51 := (iff #13 false)
+#35 := (not #8)
+#36 := (or #35 #11)
+#39 := (not #36)
+#49 := (iff #39 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #39 #44)
+#42 := (iff #36 true)
+#43 := [rewrite]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#40 := (iff #13 #39)
+#37 := (iff #12 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#52 := [trans #41 #50]: #51
+#34 := [asserted]: #13
+[mp #34 #52]: false
+unsat
+9cdbc92a317e7d7c328d4e9ec144f4d7f38bfbb4 42 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9282,108 +8449,112 @@
 #9 := (not #8)
 #13 := (implies #9 #12)
 #14 := (not #13)
-#35 := (iff #14 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #14 #30)
-#28 := (iff #13 true)
-#20 := (or #9 #11)
-#23 := (implies #9 #20)
-#26 := (iff #23 true)
-#27 := [rewrite]: #26
-#24 := (iff #13 #23)
-#21 := (iff #12 #20)
-#22 := [rewrite]: #21
-#25 := [monotonicity #22]: #24
-#29 := [trans #25 #27]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#16 := [asserted]: #14
-[mp #16 #36]: false
-bcec35782699eb337715cce60af2a2265320a550 79 0
-unsat
+#59 := (iff #14 false)
+#36 := (or #9 #11)
+#42 := (or #8 #36)
+#47 := (not #42)
+#57 := (iff #47 false)
+#1 := true
+#52 := (not true)
+#55 := (iff #52 false)
+#56 := [rewrite]: #55
+#53 := (iff #47 #52)
+#50 := (iff #42 true)
+#51 := [rewrite]: #50
+#54 := [monotonicity #51]: #53
+#58 := [trans #54 #56]: #57
+#48 := (iff #14 #47)
+#45 := (iff #13 #42)
+#39 := (implies #9 #36)
+#43 := (iff #39 #42)
+#44 := [rewrite]: #43
+#40 := (iff #13 #39)
+#37 := (iff #12 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#46 := [trans #41 #44]: #45
+#49 := [monotonicity #46]: #48
+#60 := [trans #49 #58]: #59
+#35 := [asserted]: #14
+[mp #35 #60]: false
+unsat
+450b6e38cc400f1592be414b6b28c4b433488131 75 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f4 :: S1
 #9 := f4
 #10 := (= f4 f1)
-#11 := (not #10)
-#99 := (iff #11 false)
-#1 := true
-#78 := (not true)
-#81 := (iff #78 false)
-#82 := [rewrite]: #81
-#97 := (iff #11 #78)
-#95 := (iff #10 true)
-#71 := (= f1 f1)
-#74 := (iff #71 true)
-#75 := [rewrite]: #74
-#93 := (iff #10 #71)
 decl f3 :: S1
 #7 := f3
 #8 := (= f3 f1)
-#22 := (not #8)
-#23 := (or #22 #10)
-#90 := (iff #23 #10)
-#85 := (or false #10)
-#88 := (iff #85 #10)
-#89 := [rewrite]: #88
-#86 := (iff #23 #85)
-#83 := (iff #22 false)
-#79 := (iff #22 #78)
-#76 := (iff #8 true)
-#72 := (iff #8 #71)
-#26 := (not #23)
-#40 := (or #22 #10 #26)
-#45 := (not #40)
+#38 := (not #8)
+#39 := (or #38 #10)
+#95 := (iff #39 false)
+#90 := (or false false)
+#93 := (iff #90 false)
+#94 := [rewrite]: #93
+#91 := (iff #39 #90)
+#81 := (iff #10 false)
+#11 := (not #10)
+#42 := (not #39)
+#64 := (or #38 #10 #42)
+#67 := (not #64)
 #12 := (implies #8 #10)
 #13 := (not #12)
 #14 := (implies #11 #13)
 #15 := (implies #8 #14)
 #16 := (not #15)
-#46 := (iff #16 #45)
-#43 := (iff #15 #40)
-#32 := (or #10 #26)
-#37 := (implies #8 #32)
-#41 := (iff #37 #40)
-#42 := [rewrite]: #41
-#38 := (iff #15 #37)
-#35 := (iff #14 #32)
-#29 := (implies #11 #26)
-#33 := (iff #29 #32)
-#34 := [rewrite]: #33
-#30 := (iff #14 #29)
-#27 := (iff #13 #26)
-#24 := (iff #12 #23)
-#25 := [rewrite]: #24
-#28 := [monotonicity #25]: #27
-#31 := [monotonicity #28]: #30
-#36 := [trans #31 #34]: #35
-#39 := [monotonicity #36]: #38
-#44 := [trans #39 #42]: #43
+#70 := (iff #16 #67)
+#48 := (or #10 #42)
+#56 := (or #38 #48)
+#61 := (not #56)
+#68 := (iff #61 #67)
+#65 := (iff #56 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#62 := (iff #16 #61)
+#59 := (iff #15 #56)
+#53 := (implies #8 #48)
+#57 := (iff #53 #56)
+#58 := [rewrite]: #57
+#54 := (iff #15 #53)
+#51 := (iff #14 #48)
+#45 := (implies #11 #42)
+#49 := (iff #45 #48)
+#50 := [rewrite]: #49
+#46 := (iff #14 #45)
+#43 := (iff #13 #42)
+#40 := (iff #12 #39)
+#41 := [rewrite]: #40
+#44 := [monotonicity #41]: #43
 #47 := [monotonicity #44]: #46
-#18 := [asserted]: #16
-#48 := [mp #18 #47]: #45
-#49 := [not-or-elim #48]: #8
-#73 := [monotonicity #49]: #72
-#77 := [trans #73 #75]: #76
-#80 := [monotonicity #77]: #79
-#84 := [trans #80 #82]: #83
-#87 := [monotonicity #84]: #86
-#91 := [trans #87 #89]: #90
-#51 := [not-or-elim #48]: #23
-#92 := [mp #51 #91]: #10
-#94 := [monotonicity #92]: #93
-#96 := [trans #94 #75]: #95
-#98 := [monotonicity #96]: #97
-#100 := [trans #98 #82]: #99
-#50 := [not-or-elim #48]: #11
-[mp #50 #100]: false
-760574e0ad704bb8f35577bec0aff7d25c63c601 58 0
-unsat
+#52 := [trans #47 #50]: #51
+#55 := [monotonicity #52]: #54
+#60 := [trans #55 #58]: #59
+#63 := [monotonicity #60]: #62
+#71 := [trans #63 #69]: #70
+#37 := [asserted]: #16
+#72 := [mp #37 #71]: #67
+#74 := [not-or-elim #72]: #11
+#82 := [iff-false #74]: #81
+#88 := (iff #38 false)
+#1 := true
+#83 := (not true)
+#86 := (iff #83 false)
+#87 := [rewrite]: #86
+#84 := (iff #38 #83)
+#79 := (iff #8 true)
+#73 := [not-or-elim #72]: #8
+#80 := [iff-true #73]: #79
+#85 := [monotonicity #80]: #84
+#89 := [trans #85 #87]: #88
+#92 := [monotonicity #89 #82]: #91
+#96 := [trans #92 #94]: #95
+#75 := [not-or-elim #72]: #39
+[mp #75 #96]: false
+unsat
+5c79202855f7fb0e7df333ffc44048260e2027d9 43 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9392,111 +8563,93 @@
 #7 := f4
 #10 := (f5 f4)
 #11 := (= #10 f1)
-#57 := (not #11)
-#75 := [hypothesis]: #57
 decl f3 :: (-> S2 S1)
 #8 := (f3 f4)
 #9 := (= #8 f1)
-#20 := (not #9)
-#65 := (or #20 #11)
 #12 := (iff #9 #11)
-#21 := (iff #20 #11)
-#29 := (not #21)
-#52 := (iff #29 #12)
+#47 := (not #12)
+#62 := (iff #47 false)
+#1 := true
+#57 := (not true)
+#60 := (iff #57 false)
+#61 := [rewrite]: #60
+#58 := (iff #47 #57)
+#55 := (iff #12 true)
+#36 := (not #9)
+#37 := (iff #36 #11)
+#44 := (not #37)
+#52 := (iff #44 #12)
 #53 := [rewrite]: #52
-#22 := (or #21 #12)
-#25 := (not #22)
+#38 := (or #37 #12)
+#41 := (not #38)
 #13 := (implies #12 #12)
 #14 := (not #13)
-#26 := (iff #14 #25)
-#23 := (iff #13 #22)
-#24 := [rewrite]: #23
-#27 := [monotonicity #24]: #26
-#16 := [asserted]: #14
-#28 := [mp #16 #27]: #25
-#30 := [not-or-elim #28]: #29
-#56 := [mp #30 #53]: #12
-#31 := (not #12)
-#63 := (or #20 #11 #31)
-#64 := [def-axiom]: #63
-#66 := [unit-resolution #64 #56]: #65
-#76 := [unit-resolution #66 #75]: #20
-#73 := (or #9 #11)
-#54 := (iff #31 #21)
-#55 := [rewrite]: #54
-#32 := [not-or-elim #28]: #31
-#59 := [mp #32 #55]: #21
-#71 := (or #9 #11 #29)
-#72 := [def-axiom]: #71
-#74 := [unit-resolution #72 #59]: #73
-#77 := [unit-resolution #74 #76 #75]: false
-#78 := [lemma #77]: #11
-#61 := (or #9 #57)
-#58 := (or #9 #57 #31)
-#60 := [def-axiom]: #58
-#62 := [unit-resolution #60 #56]: #61
-#79 := [unit-resolution #62 #78]: #9
-#69 := (or #20 #57)
-#67 := (or #20 #57 #29)
-#68 := [def-axiom]: #67
-#70 := [unit-resolution #68 #59]: #69
-[unit-resolution #70 #79 #78]: false
-b7a3c12d014ca4816865d67abe41008844e852f3 53 0
-unsat
+#42 := (iff #14 #41)
+#39 := (iff #13 #38)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#35 := [asserted]: #14
+#46 := [mp #35 #43]: #41
+#45 := [not-or-elim #46]: #44
+#54 := [mp #45 #53]: #12
+#56 := [iff-true #54]: #55
+#59 := [monotonicity #56]: #58
+#63 := [trans #59 #61]: #62
+#48 := [not-or-elim #46]: #47
+[mp #48 #63]: false
+unsat
+d9f29ce899862b64fac95c45fd1c9213e07c6a55 50 0
 #2 := false
 decl f5 :: S2
 #10 := f5
 decl f3 :: S2
 #7 := f3
 #12 := (= f3 f5)
-#40 := (not #12)
-#74 := (iff #40 false)
-#1 := true
-#69 := (not true)
-#72 := (iff #69 false)
-#73 := [rewrite]: #72
-#70 := (iff #40 #69)
-#67 := (iff #12 true)
-#64 := (= f5 f5)
-#62 := (iff #64 true)
-#63 := [rewrite]: #62
-#65 := (iff #12 #64)
 decl f4 :: S2
 #8 := f4
 #11 := (= f4 f5)
-#21 := (not #11)
+#77 := (iff #11 #12)
+#75 := (iff #12 #11)
 #9 := (= f3 f4)
-#28 := (not #9)
-#29 := (or #28 #21 #12)
-#34 := (not #29)
+#37 := (not #11)
+#44 := (not #9)
+#53 := (or #44 #37 #12)
+#56 := (not #53)
 #13 := (implies #11 #12)
 #14 := (implies #9 #13)
 #15 := (not #14)
-#35 := (iff #15 #34)
-#32 := (iff #14 #29)
-#22 := (or #21 #12)
-#25 := (implies #9 #22)
-#30 := (iff #25 #29)
-#31 := [rewrite]: #30
-#26 := (iff #14 #25)
-#23 := (iff #13 #22)
-#24 := [rewrite]: #23
-#27 := [monotonicity #24]: #26
-#33 := [trans #27 #31]: #32
-#36 := [monotonicity #33]: #35
-#17 := [asserted]: #15
-#37 := [mp #17 #36]: #34
-#39 := [not-or-elim #37]: #11
-#38 := [not-or-elim #37]: #9
-#61 := [trans #38 #39]: #12
-#66 := [monotonicity #61]: #65
-#68 := [trans #66 #63]: #67
-#71 := [monotonicity #68]: #70
-#75 := [trans #71 #73]: #74
-#41 := [not-or-elim #37]: #40
-[mp #41 #75]: false
-7b6d64f8e2fad3aa032b79fa9487b8cccfe3a0a4 42 0
-unsat
+#59 := (iff #15 #56)
+#38 := (or #37 #12)
+#45 := (or #44 #38)
+#50 := (not #45)
+#57 := (iff #50 #56)
+#54 := (iff #45 #53)
+#55 := [rewrite]: #54
+#58 := [monotonicity #55]: #57
+#51 := (iff #15 #50)
+#48 := (iff #14 #45)
+#41 := (implies #9 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #14 #41)
+#39 := (iff #13 #38)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#49 := [trans #43 #47]: #48
+#52 := [monotonicity #49]: #51
+#60 := [trans #52 #58]: #59
+#36 := [asserted]: #15
+#61 := [mp #36 #60]: #56
+#62 := [not-or-elim #61]: #9
+#76 := [monotonicity #62]: #75
+#78 := [symm #76]: #77
+#63 := [not-or-elim #61]: #11
+#73 := [mp #63 #78]: #12
+#64 := (not #12)
+#65 := [not-or-elim #61]: #64
+[unit-resolution #65 #73]: false
+unsat
+1ef8c48f30160deabb1afaa941172d3fdc476c91 27 0
 #2 := false
 decl f5 :: (-> S2 S3)
 decl f4 :: S2
@@ -9506,40 +8659,25 @@
 #7 := f3
 #10 := (f5 f3)
 #12 := (= #10 #11)
-#29 := (not #12)
-#63 := (iff #29 false)
-#1 := true
-#58 := (not true)
-#61 := (iff #58 false)
-#62 := [rewrite]: #61
-#59 := (iff #29 #58)
-#56 := (iff #12 true)
-#51 := (= #11 #11)
-#54 := (iff #51 true)
-#55 := [rewrite]: #54
-#52 := (iff #12 #51)
 #9 := (= f3 f4)
-#20 := (not #9)
-#21 := (or #20 #12)
-#24 := (not #21)
+#36 := (not #9)
+#37 := (or #36 #12)
+#40 := (not #37)
 #13 := (implies #9 #12)
 #14 := (not #13)
-#25 := (iff #14 #24)
-#22 := (iff #13 #21)
-#23 := [rewrite]: #22
-#26 := [monotonicity #23]: #25
-#16 := [asserted]: #14
-#27 := [mp #16 #26]: #24
-#28 := [not-or-elim #27]: #9
-#50 := [monotonicity #28]: #12
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#60 := [monotonicity #57]: #59
-#64 := [trans #60 #62]: #63
-#30 := [not-or-elim #27]: #29
-[mp #30 #64]: false
-f511fb1b0e8a27977d86f256b0e8ec93254257bd 47 0
-unsat
+#41 := (iff #14 #40)
+#38 := (iff #13 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#35 := [asserted]: #14
+#45 := [mp #35 #42]: #40
+#43 := [not-or-elim #45]: #9
+#54 := [monotonicity #43]: #12
+#44 := (not #12)
+#46 := [not-or-elim #45]: #44
+[unit-resolution #46 #54]: false
+unsat
+1df4d0f227ca61b0473875213498c8bd2447ee70 55 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -9550,59 +8688,67 @@
 #7 := f4
 #13 := (f3 f4 f5)
 #14 := (= #13 f1)
-#33 := (not #14)
+#57 := (not #14)
 #15 := (= f5 f1)
 #8 := (:var 0 S1)
 #9 := (f3 f4 #8)
 #10 := (= #9 f1)
 #11 := (forall (vars (?v0 S1)) #10)
-#24 := (not #11)
-#25 := (or #24 #14 #15)
-#28 := (not #25)
+#40 := (not #11)
+#47 := (or #40 #14 #15)
+#50 := (not #47)
 #16 := (or #14 #15)
 #17 := (implies #11 #16)
 #18 := (not #17)
-#29 := (iff #18 #28)
-#26 := (iff #17 #25)
-#27 := [rewrite]: #26
-#30 := [monotonicity #27]: #29
-#20 := [asserted]: #18
-#31 := [mp #20 #30]: #28
-#34 := [not-or-elim #31]: #33
-#478 := (pattern #9)
-#479 := (forall (vars (?v0 S1)) (:pat #478) #10)
-#482 := (iff #11 #479)
-#480 := (iff #10 #10)
-#481 := [refl]: #480
-#483 := [quant-intro #481]: #482
-#58 := (~ #11 #11)
-#56 := (~ #10 #10)
-#57 := [refl]: #56
-#59 := [nnf-pos #57]: #58
-#32 := [not-or-elim #31]: #11
-#62 := [mp~ #32 #59]: #11
-#484 := [mp #62 #483]: #479
-#148 := (not #479)
-#149 := (or #148 #14)
-#141 := [quant-inst #12]: #149
-[unit-resolution #141 #484 #34]: false
-c24e42c8de71d8f3805a038868f7d2820e47f725 83 0
-unsat
+#53 := (iff #18 #50)
+#41 := (or #40 #16)
+#44 := (not #41)
+#51 := (iff #44 #50)
+#48 := (iff #41 #47)
+#49 := [rewrite]: #48
+#52 := [monotonicity #49]: #51
+#45 := (iff #18 #44)
+#42 := (iff #17 #41)
+#43 := [rewrite]: #42
+#46 := [monotonicity #43]: #45
+#54 := [trans #46 #52]: #53
+#39 := [asserted]: #18
+#55 := [mp #39 #54]: #50
+#58 := [not-or-elim #55]: #57
+#545 := (pattern #9)
+#546 := (forall (vars (?v0 S1)) (:pat #545) #10)
+#549 := (iff #11 #546)
+#547 := (iff #10 #10)
+#548 := [refl]: #547
+#550 := [quant-intro #548]: #549
+#72 := (~ #11 #11)
+#70 := (~ #10 #10)
+#71 := [refl]: #70
+#73 := [nnf-pos #71]: #72
+#56 := [not-or-elim #55]: #11
+#62 := [mp~ #56 #73]: #11
+#551 := [mp #62 #550]: #546
+#215 := (not #546)
+#216 := (or #215 #14)
+#208 := [quant-inst #12]: #216
+[unit-resolution #208 #551 #58]: false
+unsat
+4d29349a83c88fd119fed66c5796e61d5e6eb4b7 83 0
 #2 := false
 decl f1 :: S1
 #3 := f1
 decl f3 :: (-> S2 S2 S1)
 decl ?v0!0 :: S2
-#60 := ?v0!0
-#61 := (f3 ?v0!0 ?v0!0)
-#62 := (= #61 f1)
-#63 := (not #62)
+#54 := ?v0!0
+#63 := (f3 ?v0!0 ?v0!0)
+#55 := (= #63 f1)
+#56 := (not #55)
 #8 := (:var 0 S2)
 #15 := (f3 #8 #8)
 #16 := (= #15 f1)
 #17 := (forall (vars (?v0 S2)) #16)
-#34 := (not #17)
-#64 := (~ #34 #63)
+#49 := (not #17)
+#64 := (~ #49 #56)
 #65 := [sk]: #64
 #7 := (:var 1 S2)
 #11 := (f3 #8 #7)
@@ -9611,183 +8757,143 @@
 #10 := (= #9 f1)
 #13 := (and #10 #12)
 #14 := (forall (vars (?v0 S2) (?v1 S2)) #13)
-#25 := (not #14)
-#26 := (or #25 #17)
-#29 := (not #26)
+#41 := (not #14)
+#42 := (or #41 #17)
+#45 := (not #42)
 #18 := (implies #14 #17)
 #19 := (not #18)
-#30 := (iff #19 #29)
-#27 := (iff #18 #26)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#21 := [asserted]: #19
-#32 := [mp #21 #31]: #29
-#35 := [not-or-elim #32]: #34
-#66 := [mp~ #35 #65]: #63
-#495 := (pattern #11)
-#494 := (pattern #9)
-#68 := (not #12)
-#67 := (not #10)
-#69 := (or #67 #68)
+#46 := (iff #19 #45)
+#43 := (iff #18 #42)
+#44 := [rewrite]: #43
+#47 := [monotonicity #44]: #46
+#40 := [asserted]: #19
+#50 := [mp #40 #47]: #45
+#51 := [not-or-elim #50]: #49
+#68 := [mp~ #51 #65]: #56
+#556 := (pattern #11)
+#555 := (pattern #9)
+#67 := (not #12)
+#66 := (not #10)
+#69 := (or #66 #67)
 #70 := (not #69)
-#496 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #494 #495) #70)
+#557 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #555 #556) #70)
 #73 := (forall (vars (?v0 S2) (?v1 S2)) #70)
-#499 := (iff #73 #496)
-#497 := (iff #70 #70)
-#498 := [refl]: #497
-#500 := [quant-intro #498]: #499
+#560 := (iff #73 #557)
+#558 := (iff #70 #70)
+#559 := [refl]: #558
+#561 := [quant-intro #559]: #560
 #74 := (iff #14 #73)
 #71 := (iff #13 #70)
 #72 := [rewrite]: #71
 #75 := [quant-intro #72]: #74
-#57 := (~ #14 #14)
-#55 := (~ #13 #13)
-#56 := [refl]: #55
-#58 := [nnf-pos #56]: #57
-#33 := [not-or-elim #32]: #14
-#59 := [mp~ #33 #58]: #14
-#76 := [mp #59 #75]: #73
-#501 := [mp #76 #500]: #496
-#171 := (not #496)
-#150 := (or #171 #62)
-#77 := (or #63 #63)
-#164 := (not #77)
-#486 := (or #171 #164)
-#144 := (iff #486 #150)
-#482 := (iff #150 #150)
-#155 := [rewrite]: #482
-#170 := (iff #164 #62)
-#79 := (not #63)
-#168 := (iff #79 #62)
-#169 := [rewrite]: #168
-#166 := (iff #164 #79)
-#78 := (iff #77 #63)
-#165 := [rewrite]: #78
-#157 := [monotonicity #165]: #166
-#167 := [trans #157 #169]: #170
-#275 := [monotonicity #167]: #144
-#156 := [trans #275 #155]: #144
-#488 := [quant-inst #60 #60]: #486
-#489 := [mp #488 #156]: #150
-[unit-resolution #489 #501 #66]: false
-d4525927e0ca94e2a8cd999f8854bd810a0a45a9 30 0
-unsat
-#2 := false
-decl f1 :: S1
-#3 := f1
+#61 := (~ #14 #14)
+#59 := (~ #13 #13)
+#60 := [refl]: #59
+#62 := [nnf-pos #60]: #61
+#48 := [not-or-elim #50]: #14
+#53 := [mp~ #48 #62]: #14
+#76 := [mp #53 #75]: #73
+#562 := [mp #76 #561]: #557
+#232 := (not #557)
+#211 := (or #232 #55)
+#139 := (or #56 #56)
+#225 := (not #139)
+#547 := (or #232 #225)
+#205 := (iff #547 #211)
+#543 := (iff #211 #211)
+#216 := [rewrite]: #543
+#231 := (iff #225 #55)
+#141 := (not #56)
+#229 := (iff #141 #55)
+#230 := [rewrite]: #229
+#227 := (iff #225 #141)
+#140 := (iff #139 #56)
+#226 := [rewrite]: #140
+#218 := [monotonicity #226]: #227
+#228 := [trans #218 #230]: #231
+#336 := [monotonicity #228]: #205
+#217 := [trans #336 #216]: #205
+#549 := [quant-inst #54 #54]: #547
+#550 := [mp #549 #217]: #211
+[unit-resolution #550 #562 #68]: false
+unsat
+263480c8c5909524c36f6198f60c623fbcfc953d 41 0
+#2 := false
+decl f1 :: S1
+#3 := f1
+decl f4 :: S1
+#9 := f4
+#10 := (= f4 f1)
 decl f3 :: S1
 #7 := f3
 #8 := (= f3 f1)
+#11 := (or #8 #10)
+#64 := (iff #11 false)
+#59 := (or false false)
+#62 := (iff #59 false)
+#63 := [rewrite]: #62
+#60 := (iff #11 #59)
+#57 := (iff #10 false)
+#48 := (not #10)
 #12 := (not #8)
-decl f4 :: S1
-#9 := f4
-#10 := (= f4 f1)
-#11 := (or #8 #10)
 #13 := (and #11 #12)
-#21 := (not #13)
-#22 := (or #21 #10)
-#25 := (not #22)
+#37 := (not #13)
+#38 := (or #37 #10)
+#41 := (not #38)
 #14 := (implies #13 #10)
 #15 := (not #14)
-#26 := (iff #15 #25)
-#23 := (iff #14 #22)
-#24 := [rewrite]: #23
-#27 := [monotonicity #24]: #26
-#17 := [asserted]: #15
-#28 := [mp #17 #27]: #25
-#29 := [not-or-elim #28]: #13
-#31 := [and-elim #29]: #12
-#32 := (not #10)
-#33 := [not-or-elim #28]: #32
-#30 := [and-elim #29]: #11
-[unit-resolution #30 #33 #31]: false
-55b7bd861df00e9621f738450037b0df80372741 84 0
-unsat
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f5 :: S1
-#12 := f5
-#13 := (= f5 f1)
+#42 := (iff #15 #41)
+#39 := (iff #14 #38)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#36 := [asserted]: #15
+#46 := [mp #36 #43]: #41
+#49 := [not-or-elim #46]: #48
+#58 := [iff-false #49]: #57
+#55 := (iff #8 false)
+#44 := [not-or-elim #46]: #13
+#47 := [and-elim #44]: #12
+#56 := [iff-false #47]: #55
+#61 := [monotonicity #56 #58]: #60
+#65 := [trans #61 #63]: #64
+#45 := [and-elim #44]: #11
+[mp #45 #65]: false
+unsat
+050883983ebe99dc3b7f24a011b1724b1b2c4dd9 33 0
+#2 := false
+decl f1 :: S1
+#3 := f1
 decl f6 :: S1
 #14 := f6
 #15 := (= f6 f1)
-#64 := (not #15)
-#63 := (not #13)
-#65 := (or #63 #64)
-#66 := (not #65)
+decl f5 :: S1
+#12 := f5
+#13 := (= f5 f1)
+#16 := (and #13 #15)
 decl f4 :: S1
 #9 := f4
 #10 := (= f4 f1)
-#58 := (not #10)
 decl f3 :: S1
 #7 := f3
 #8 := (= f3 f1)
-#57 := (not #8)
-#59 := (or #57 #58)
-#60 := (not #59)
-#101 := [hypothesis]: #60
-#89 := (or #59 #8)
-#90 := [def-axiom]: #89
-#102 := [unit-resolution #90 #101]: #8
-#91 := (or #59 #10)
-#92 := [def-axiom]: #91
-#103 := [unit-resolution #92 #101]: #10
 #11 := (and #8 #10)
-#34 := (not #11)
-#78 := (iff #34 #59)
-#73 := (not #60)
-#76 := (iff #73 #59)
-#77 := [rewrite]: #76
-#74 := (iff #34 #73)
-#61 := (iff #11 #60)
-#62 := [rewrite]: #61
-#75 := [monotonicity #62]: #74
-#79 := [trans #75 #77]: #78
-#16 := (and #13 #15)
 #17 := (or #11 #16)
-#25 := (not #17)
-#26 := (or #25 #11 #16)
-#29 := (not #26)
 #18 := (implies #17 #17)
 #19 := (not #18)
-#30 := (iff #19 #29)
-#27 := (iff #18 #26)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#21 := [asserted]: #19
-#32 := [mp #21 #31]: #29
-#35 := [not-or-elim #32]: #34
-#80 := [mp #35 #79]: #59
-#104 := [unit-resolution #80 #103 #102]: false
-#105 := [lemma #104]: #59
-#69 := (or #60 #66)
-#70 := (iff #17 #69)
-#67 := (iff #16 #66)
-#68 := [rewrite]: #67
-#71 := [monotonicity #62 #68]: #70
-#33 := [not-or-elim #32]: #17
-#72 := [mp #33 #71]: #69
-#106 := [unit-resolution #72 #105]: #66
-#95 := (or #65 #13)
-#96 := [def-axiom]: #95
-#107 := [unit-resolution #96 #106]: #13
-#97 := (or #65 #15)
-#98 := [def-axiom]: #97
-#108 := [unit-resolution #98 #106]: #15
-#36 := (not #16)
-#86 := (iff #36 #65)
-#81 := (not #66)
-#84 := (iff #81 #65)
-#85 := [rewrite]: #84
-#82 := (iff #36 #81)
-#83 := [monotonicity #68]: #82
-#87 := [trans #83 #85]: #86
-#37 := [not-or-elim #32]: #36
-#88 := [mp #37 #87]: #65
-[unit-resolution #88 #108 #107]: false
-b837a165a2820c577cec1ceb0af63b70266981a2 21 0
-unsat
+#48 := (iff #19 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #19 #43)
+#41 := (iff #18 true)
+#42 := [rewrite]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#40 := [asserted]: #19
+[mp #40 #49]: false
+unsat
+5826af388cc5a35d2efebb6e51d8775678624a36 21 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #8 := 0::Int
@@ -9796,20 +8902,20 @@
 #9 := (f3 f4 0::Int)
 #10 := (= #9 #9)
 #11 := (not #10)
-#44 := (iff #11 false)
-#1 := true
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #11 #39)
-#37 := (iff #10 true)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#30 := [asserted]: #11
-[mp #30 #45]: false
-02dc6935c407b4ef97754e97998a7b070a0b59ca 21 0
-unsat
+#56 := (iff #11 false)
+#1 := true
+#51 := (not true)
+#54 := (iff #51 false)
+#55 := [rewrite]: #54
+#52 := (iff #11 #51)
+#49 := (iff #10 true)
+#50 := [rewrite]: #49
+#53 := [monotonicity #50]: #52
+#57 := [trans #53 #55]: #56
+#48 := [asserted]: #11
+[mp #48 #57]: false
+unsat
+5e5769d2d58c1ee052480c0b6f4e0dcef2e67169 21 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #8 := 1::Int
@@ -9818,103 +8924,77 @@
 #9 := (f3 f4 1::Int)
 #10 := (= #9 #9)
 #11 := (not #10)
-#45 := (iff #11 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #11 #40)
-#38 := (iff #10 true)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#31 := [asserted]: #11
-[mp #31 #46]: false
-44ca1520d643e1582af61ce0d7aa9f785f2ec009 31 0
-unsat
+#57 := (iff #11 false)
+#1 := true
+#52 := (not true)
+#55 := (iff #52 false)
+#56 := [rewrite]: #55
+#53 := (iff #11 #52)
+#50 := (iff #10 true)
+#51 := [rewrite]: #50
+#54 := [monotonicity #51]: #53
+#58 := [trans #54 #56]: #57
+#49 := [asserted]: #11
+[mp #49 #58]: false
+unsat
+789dd368fa77887408c1828978af0572cced1843 18 0
 #2 := false
 #8 := 1::Int
 #7 := 0::Int
 #9 := (< 0::Int 1::Int)
 #10 := (not #9)
-#36 := (iff #10 false)
-#1 := true
-#31 := (not true)
-#34 := (iff #31 false)
-#35 := [rewrite]: #34
-#32 := (iff #10 #31)
-#29 := (iff #9 true)
-#16 := (<= 1::Int 0::Int)
-#17 := (not #16)
-#27 := (iff #17 true)
-#22 := (not false)
-#25 := (iff #22 true)
-#26 := [rewrite]: #25
-#23 := (iff #17 #22)
-#20 := (iff #16 false)
-#21 := [rewrite]: #20
-#24 := [monotonicity #21]: #23
-#28 := [trans #24 #26]: #27
-#18 := (iff #9 #17)
-#19 := [rewrite]: #18
-#30 := [trans #19 #28]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#12 := [asserted]: #10
-[mp #12 #37]: false
-805b06e44b11919f00a075b70915715352398ed7 18 0
-unsat
+#40 := (iff #10 false)
+#1 := true
+#35 := (not true)
+#38 := (iff #35 false)
+#39 := [rewrite]: #38
+#36 := (iff #10 #35)
+#33 := (iff #9 true)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#30 := [asserted]: #10
+[mp #30 #41]: false
+unsat
+a9af7c16cc7269b2c7732f50c5ea73bba73088c0 18 0
 #2 := false
 #8 := 1::Int
 #7 := 0::Int
 #9 := (<= 0::Int 1::Int)
 #10 := (not #9)
-#23 := (iff #10 false)
-#1 := true
-#18 := (not true)
-#21 := (iff #18 false)
-#22 := [rewrite]: #21
-#19 := (iff #10 #18)
-#16 := (iff #9 true)
-#17 := [rewrite]: #16
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#12 := [asserted]: #10
-[mp #12 #24]: false
-cb23173094fd6f97948421b52674d05e743e64af 31 0
-unsat
+#40 := (iff #10 false)
+#1 := true
+#35 := (not true)
+#38 := (iff #35 false)
+#39 := [rewrite]: #38
+#36 := (iff #10 #35)
+#33 := (iff #9 true)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#30 := [asserted]: #10
+[mp #30 #41]: false
+unsat
+850b27c2d840b86ab5903dbe975b63ba1dab1ea7 18 0
 #2 := false
 #8 := 2345678901::Int
 #7 := 123456789::Int
 #9 := (< 123456789::Int 2345678901::Int)
 #10 := (not #9)
-#37 := (iff #10 false)
-#1 := true
-#32 := (not true)
-#35 := (iff #32 false)
-#36 := [rewrite]: #35
-#33 := (iff #10 #32)
-#30 := (iff #9 true)
-#16 := (<= 2345678901::Int 123456789::Int)
-#17 := (not #16)
-#28 := (iff #17 true)
-#23 := (not false)
-#26 := (iff #23 true)
-#27 := [rewrite]: #26
-#24 := (iff #17 #23)
-#20 := (iff #16 false)
-#22 := [rewrite]: #20
-#25 := [monotonicity #22]: #24
-#29 := [trans #25 #27]: #28
-#18 := (iff #9 #17)
-#19 := [rewrite]: #18
-#31 := [trans #19 #29]: #30
-#34 := [monotonicity #31]: #33
-#38 := [trans #34 #36]: #37
-#12 := [asserted]: #10
-[mp #12 #38]: false
-57796d4943fee61a1421439bead7ffbccb1f7332 32 0
-unsat
+#41 := (iff #10 false)
+#1 := true
+#36 := (not true)
+#39 := (iff #36 false)
+#40 := [rewrite]: #39
+#37 := (iff #10 #36)
+#34 := (iff #9 true)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#42 := [trans #38 #40]: #41
+#31 := [asserted]: #10
+[mp #31 #42]: false
+unsat
+9e233efcf15a85c9402b5ed5fea5d2ee7d7da37e 32 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 1::Int
@@ -9926,28 +9006,28 @@
 #11 := (f3 f4 #10)
 #13 := (= #11 #12)
 #14 := (not #13)
-#55 := (iff #14 false)
-#1 := true
-#50 := (not true)
-#53 := (iff #50 false)
-#54 := [rewrite]: #53
-#51 := (iff #14 #50)
-#48 := (iff #13 true)
-#43 := (= #12 #12)
-#46 := (iff #43 true)
-#47 := [rewrite]: #46
-#44 := (iff #13 #43)
-#40 := (= #10 1::Int)
-#41 := [rewrite]: #40
-#42 := [monotonicity #41]: #13
-#45 := [monotonicity #42]: #44
-#49 := [trans #45 #47]: #48
-#52 := [monotonicity #49]: #51
-#56 := [trans #52 #54]: #55
-#33 := [asserted]: #14
-[mp #33 #56]: false
-94bb208fb4bd74ca4a0d2702fe8efdee4ab2e9da 39 0
-unsat
+#67 := (iff #14 false)
+#1 := true
+#62 := (not true)
+#65 := (iff #62 false)
+#66 := [rewrite]: #65
+#63 := (iff #14 #62)
+#60 := (iff #13 true)
+#55 := (= #12 #12)
+#58 := (iff #55 true)
+#59 := [rewrite]: #58
+#56 := (iff #13 #55)
+#52 := (= #10 1::Int)
+#53 := [rewrite]: #52
+#54 := [monotonicity #53]: #13
+#57 := [monotonicity #54]: #56
+#61 := [trans #57 #59]: #60
+#64 := [monotonicity #61]: #63
+#68 := [trans #64 #66]: #67
+#51 := [asserted]: #14
+[mp #51 #68]: false
+unsat
+abc5d7d63d1192687b6f5ea215db822a41f37207 39 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #11 := 1::Int
@@ -9963,31 +9043,31 @@
 #13 := (f3 f4 #12)
 #14 := (= #13 #13)
 #15 := (not #14)
-#59 := (iff #15 false)
-#1 := true
-#54 := (not true)
-#57 := (iff #54 false)
-#58 := [rewrite]: #57
-#55 := (iff #15 #54)
-#52 := (iff #14 true)
-#41 := (+ 1::Int #10)
-#44 := (f3 f4 #41)
-#47 := (= #44 #44)
-#50 := (iff #47 true)
-#51 := [rewrite]: #50
-#48 := (iff #14 #47)
-#45 := (= #13 #44)
-#42 := (= #12 #41)
-#43 := [rewrite]: #42
-#46 := [monotonicity #43]: #45
-#49 := [monotonicity #46 #46]: #48
-#53 := [trans #49 #51]: #52
-#56 := [monotonicity #53]: #55
-#60 := [trans #56 #58]: #59
-#34 := [asserted]: #15
-[mp #34 #60]: false
-c089e88f20d062979d8a0b72e27bcc2d6ec57d80 45 0
-unsat
+#71 := (iff #15 false)
+#1 := true
+#66 := (not true)
+#69 := (iff #66 false)
+#70 := [rewrite]: #69
+#67 := (iff #15 #66)
+#64 := (iff #14 true)
+#53 := (+ 1::Int #10)
+#56 := (f3 f4 #53)
+#59 := (= #56 #56)
+#62 := (iff #59 true)
+#63 := [rewrite]: #62
+#60 := (iff #14 #59)
+#57 := (= #13 #56)
+#54 := (= #12 #53)
+#55 := [rewrite]: #54
+#58 := [monotonicity #55]: #57
+#61 := [monotonicity #58 #58]: #60
+#65 := [trans #61 #63]: #64
+#68 := [monotonicity #65]: #67
+#72 := [trans #68 #70]: #71
+#52 := [asserted]: #15
+[mp #52 #72]: false
+unsat
+4f23e7a09b61a0353f978f0745982e2d205dbdd8 35 0
 #2 := false
 #10 := 1::Int
 decl f3 :: (-> S2 S3 Int)
@@ -9999,41 +9079,31 @@
 #11 := (+ #9 1::Int)
 #12 := (< #9 #11)
 #13 := (not #12)
-#68 := (iff #13 false)
+#70 := (iff #13 false)
+#52 := (+ 1::Int #9)
+#55 := (< #9 #52)
+#58 := (not #55)
+#68 := (iff #58 false)
 #1 := true
 #63 := (not true)
 #66 := (iff #63 false)
 #67 := [rewrite]: #66
-#64 := (iff #13 #63)
-#61 := (iff #12 true)
-#40 := (+ 1::Int #9)
-#46 := (<= #40 #9)
-#47 := (not #46)
-#59 := (iff #47 true)
-#54 := (not false)
-#57 := (iff #54 true)
-#58 := [rewrite]: #57
-#55 := (iff #47 #54)
-#52 := (iff #46 false)
-#53 := [rewrite]: #52
-#56 := [monotonicity #53]: #55
-#60 := [trans #56 #58]: #59
-#50 := (iff #12 #47)
-#43 := (< #9 #40)
-#48 := (iff #43 #47)
-#49 := [rewrite]: #48
-#44 := (iff #12 #43)
-#41 := (= #11 #40)
-#42 := [rewrite]: #41
-#45 := [monotonicity #42]: #44
-#51 := [trans #45 #49]: #50
-#62 := [trans #51 #60]: #61
+#64 := (iff #58 #63)
+#61 := (iff #55 true)
+#62 := [rewrite]: #61
 #65 := [monotonicity #62]: #64
 #69 := [trans #65 #67]: #68
-#33 := [asserted]: #13
-[mp #33 #69]: false
-ff72406b31ddd8b52ba835673c07232596ff0a01 438 0
-unsat
+#59 := (iff #13 #58)
+#56 := (iff #12 #55)
+#53 := (= #11 #52)
+#54 := [rewrite]: #53
+#57 := [monotonicity #54]: #56
+#60 := [monotonicity #57]: #59
+#71 := [trans #60 #69]: #70
+#51 := [asserted]: #13
+[mp #51 #71]: false
+unsat
+21c805ab7618df702910e81acc19099bb8f38592 435 0
 #2 := false
 decl f5 :: (-> S4 S3 Int)
 decl f8 :: S3
@@ -10042,308 +9112,305 @@
 #8 := f6
 #15 := (f5 f6 f8)
 #11 := 1::Int
-#53 := (+ 1::Int #15)
+#65 := (+ 1::Int #15)
 decl f7 :: S3
 #9 := f7
 #10 := (f5 f6 f7)
-#47 := (+ 1::Int #10)
-#342 := (= #47 #53)
-#309 := (not #342)
+#59 := (+ 1::Int #10)
+#398 := (= #59 #65)
+#365 := (not #398)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
-#56 := (f3 f4 #53)
-#50 := (f3 f4 #47)
-#59 := (= #50 #56)
-#571 := (f5 f6 #50)
-#388 := (f3 f4 #571)
-#326 := (= #388 #56)
-#320 := (= #56 #388)
-#316 := (= #53 #571)
-#333 := (= #47 #571)
-#250 := -1::Int
-#210 := (* -1::Int #571)
-#211 := (+ #10 #210)
-#560 := (<= #211 -1::Int)
-#548 := (= #211 -1::Int)
-#562 := (>= #10 -1::Int)
+#68 := (f3 f4 #65)
+#62 := (f3 f4 #59)
+#71 := (= #62 #68)
+#627 := (f5 f6 #62)
+#444 := (f3 f4 #627)
+#382 := (= #444 #68)
+#376 := (= #68 #444)
+#372 := (= #65 #627)
+#389 := (= #59 #627)
+#306 := -1::Int
+#266 := (* -1::Int #627)
+#267 := (+ #10 #266)
+#616 := (<= #267 -1::Int)
+#604 := (= #267 -1::Int)
+#618 := (>= #10 -1::Int)
 #27 := 0::Int
-#409 := (>= #10 0::Int)
-#387 := (= #10 0::Int)
-#229 := (f3 f4 #10)
-#402 := (f5 f6 #229)
-#410 := (= #402 0::Int)
-#373 := (not #409)
-#389 := [hypothesis]: #373
-#411 := (or #409 #410)
+#465 := (>= #10 0::Int)
+#443 := (= #10 0::Int)
+#285 := (f3 f4 #10)
+#458 := (f5 f6 #285)
+#466 := (= #458 0::Int)
+#429 := (not #465)
+#445 := [hypothesis]: #429
+#467 := (or #465 #466)
 #28 := (:var 0 Int)
 #30 := (f3 f4 #28)
-#580 := (pattern #30)
+#636 := (pattern #30)
 #31 := (f5 f6 #30)
 #36 := (= #31 0::Int)
-#127 := (>= #28 0::Int)
-#138 := (or #127 #36)
-#587 := (forall (vars (?v0 Int)) (:pat #580) #138)
-#141 := (forall (vars (?v0 Int)) #138)
-#590 := (iff #141 #587)
-#588 := (iff #138 #138)
-#589 := [refl]: #588
-#591 := [quant-intro #589]: #590
-#155 := (~ #141 #141)
-#153 := (~ #138 #138)
-#154 := [refl]: #153
-#156 := [nnf-pos #154]: #155
-#29 := (<= 0::Int #28)
-#96 := (or #29 #36)
-#101 := (forall (vars (?v0 Int)) #96)
-#142 := (iff #101 #141)
-#139 := (iff #96 #138)
-#125 := (iff #29 #127)
-#126 := [rewrite]: #125
-#140 := [monotonicity #126]: #139
-#143 := [quant-intro #140]: #142
+#98 := (>= #28 0::Int)
+#128 := (or #98 #36)
+#643 := (forall (vars (?v0 Int)) (:pat #636) #128)
+#131 := (forall (vars (?v0 Int)) #128)
+#646 := (iff #131 #643)
+#644 := (iff #128 #128)
+#645 := [refl]: #644
+#647 := [quant-intro #645]: #646
+#144 := (~ #131 #131)
+#152 := (~ #128 #128)
+#153 := [refl]: #152
+#145 := [nnf-pos #153]: #144
 #35 := (< #28 0::Int)
 #37 := (implies #35 #36)
 #38 := (forall (vars (?v0 Int)) #37)
-#102 := (iff #38 #101)
-#99 := (iff #37 #96)
-#79 := (not #29)
-#93 := (implies #79 #36)
-#97 := (iff #93 #96)
-#98 := [rewrite]: #97
-#94 := (iff #37 #93)
-#88 := (iff #35 #79)
-#90 := (iff #79 #79)
-#75 := (iff #29 #29)
-#76 := [rewrite]: #75
-#91 := [monotonicity #76]: #90
-#89 := [rewrite]: #88
-#92 := [trans #89 #91]: #88
-#95 := [monotonicity #92]: #94
-#100 := [trans #95 #98]: #99
-#103 := [quant-intro #100]: #102
-#43 := [asserted]: #38
-#104 := [mp #43 #103]: #101
-#144 := [mp #104 #143]: #141
-#157 := [mp~ #144 #156]: #141
-#592 := [mp #157 #591]: #587
-#272 := (not #587)
-#414 := (or #272 #409 #410)
-#507 := (or #272 #411)
-#508 := (iff #507 #414)
-#495 := [rewrite]: #508
-#504 := [quant-inst #10]: #507
-#497 := [mp #504 #495]: #414
-#350 := [unit-resolution #497 #592]: #411
-#351 := [unit-resolution #350 #389]: #410
-#358 := (= #10 #402)
-#416 := (= f7 #229)
-#565 := (= #229 f7)
+#134 := (iff #38 #131)
+#112 := (not #35)
+#113 := (or #112 #36)
+#116 := (forall (vars (?v0 Int)) #113)
+#132 := (iff #116 #131)
+#129 := (iff #113 #128)
+#126 := (iff #112 #98)
+#99 := (not #98)
+#121 := (not #99)
+#124 := (iff #121 #98)
+#125 := [rewrite]: #124
+#122 := (iff #112 #121)
+#119 := (iff #35 #99)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120]: #122
+#127 := [trans #123 #125]: #126
+#130 := [monotonicity #127]: #129
+#133 := [quant-intro #130]: #132
+#117 := (iff #38 #116)
+#114 := (iff #37 #113)
+#115 := [rewrite]: #114
+#118 := [quant-intro #115]: #117
+#135 := [trans #118 #133]: #134
+#111 := [asserted]: #38
+#136 := [mp #111 #135]: #131
+#154 := [mp~ #136 #145]: #131
+#648 := [mp #154 #647]: #643
+#328 := (not #643)
+#470 := (or #328 #465 #466)
+#563 := (or #328 #467)
+#564 := (iff #563 #470)
+#551 := [rewrite]: #564
+#560 := [quant-inst #10]: #563
+#553 := [mp #560 #551]: #470
+#406 := [unit-resolution #553 #648]: #467
+#407 := [unit-resolution #406 #445]: #466
+#414 := (= #10 #458)
+#472 := (= f7 #285)
+#621 := (= #285 f7)
 #22 := (:var 0 S3)
 #23 := (f5 f6 #22)
-#573 := (pattern #23)
+#629 := (pattern #23)
 #24 := (f3 f4 #23)
 #25 := (= #24 #22)
-#574 := (forall (vars (?v0 S3)) (:pat #573) #25)
+#630 := (forall (vars (?v0 S3)) (:pat #629) #25)
 #26 := (forall (vars (?v0 S3)) #25)
-#577 := (iff #26 #574)
-#575 := (iff #25 #25)
-#576 := [refl]: #575
-#578 := [quant-intro #576]: #577
-#147 := (~ #26 #26)
-#151 := (~ #25 #25)
-#152 := [refl]: #151
-#148 := [nnf-pos #152]: #147
-#41 := [asserted]: #26
-#149 := [mp~ #41 #148]: #26
-#579 := [mp #149 #578]: #574
-#354 := (not #574)
-#561 := (or #354 #565)
-#234 := [quant-inst #9]: #561
-#395 := [unit-resolution #234 #579]: #565
-#371 := [symm #395]: #416
-#360 := [monotonicity #371]: #358
-#361 := [trans #360 #351]: #387
-#362 := (not #387)
-#364 := (or #362 #409)
-#365 := [th-lemma arith triangle-eq]: #364
-#366 := [unit-resolution #365 #389 #361]: false
-#367 := [lemma #366]: #409
-#338 := (or #373 #562)
-#336 := [th-lemma arith farkas 1 1]: #338
-#339 := [unit-resolution #336 #367]: #562
-#563 := (not #562)
-#213 := (or #563 #548)
+#633 := (iff #26 #630)
+#631 := (iff #25 #25)
+#632 := [refl]: #631
+#634 := [quant-intro #632]: #633
+#150 := (~ #26 #26)
+#148 := (~ #25 #25)
+#149 := [refl]: #148
+#151 := [nnf-pos #149]: #150
+#86 := [asserted]: #26
+#140 := [mp~ #86 #151]: #26
+#635 := [mp #140 #634]: #630
+#410 := (not #630)
+#617 := (or #410 #621)
+#290 := [quant-inst #9]: #617
+#451 := [unit-resolution #290 #635]: #621
+#427 := [symm #451]: #472
+#416 := [monotonicity #427]: #414
+#417 := [trans #416 #407]: #443
+#418 := (not #443)
+#420 := (or #418 #465)
+#421 := [th-lemma arith triangle-eq]: #420
+#422 := [unit-resolution #421 #445 #417]: false
+#423 := [lemma #422]: #465
+#394 := (or #429 #618)
+#392 := [th-lemma arith farkas 1 1]: #394
+#395 := [unit-resolution #392 #423]: #618
+#619 := (not #618)
+#269 := (or #619 #604)
 #32 := (= #31 #28)
-#128 := (not #127)
-#131 := (or #128 #32)
-#581 := (forall (vars (?v0 Int)) (:pat #580) #131)
-#134 := (forall (vars (?v0 Int)) #131)
-#584 := (iff #134 #581)
-#582 := (iff #131 #131)
-#583 := [refl]: #582
-#585 := [quant-intro #583]: #584
-#124 := (~ #134 #134)
-#150 := (~ #131 #131)
-#123 := [refl]: #150
-#145 := [nnf-pos #123]: #124
-#80 := (or #79 #32)
-#84 := (forall (vars (?v0 Int)) #80)
-#135 := (iff #84 #134)
-#132 := (iff #80 #131)
-#129 := (iff #79 #128)
-#130 := [monotonicity #126]: #129
-#133 := [monotonicity #130]: #132
-#136 := [quant-intro #133]: #135
+#102 := (or #99 #32)
+#637 := (forall (vars (?v0 Int)) (:pat #636) #102)
+#105 := (forall (vars (?v0 Int)) #102)
+#640 := (iff #105 #637)
+#638 := (iff #102 #102)
+#639 := [refl]: #638
+#641 := [quant-intro #639]: #640
+#142 := (~ #105 #105)
+#141 := (~ #102 #102)
+#138 := [refl]: #141
+#143 := [nnf-pos #138]: #142
+#29 := (<= 0::Int #28)
 #33 := (implies #29 #32)
 #34 := (forall (vars (?v0 Int)) #33)
-#85 := (iff #34 #84)
-#81 := (iff #33 #80)
-#82 := [rewrite]: #81
-#77 := (iff #33 #33)
-#78 := [monotonicity #76]: #77
-#83 := [trans #78 #82]: #81
-#86 := [quant-intro #83]: #85
-#42 := [asserted]: #34
-#87 := [mp #42 #86]: #84
-#137 := [mp #87 #136]: #134
-#146 := [mp~ #137 #145]: #134
-#586 := [mp #146 #585]: #581
-#552 := (not #581)
-#553 := (or #552 #563 #548)
-#566 := (= #571 #47)
-#235 := (>= #47 0::Int)
-#568 := (not #235)
-#572 := (or #568 #566)
-#554 := (or #552 #572)
-#198 := (iff #554 #553)
-#555 := (or #552 #213)
-#558 := (iff #555 #553)
-#197 := [rewrite]: #558
-#192 := (iff #554 #555)
-#550 := (iff #572 #213)
-#206 := (iff #566 #548)
-#212 := [rewrite]: #206
-#222 := (iff #568 #563)
-#221 := (iff #235 #562)
-#226 := [rewrite]: #221
-#564 := [monotonicity #226]: #222
-#551 := [monotonicity #564 #212]: #550
-#556 := [monotonicity #551]: #192
-#559 := [trans #556 #197]: #198
-#549 := [quant-inst #47]: #554
-#557 := [mp #549 #559]: #553
-#393 := [unit-resolution #557 #586]: #213
-#327 := [unit-resolution #393 #339]: #548
-#359 := (not #548)
-#390 := (or #359 #560)
-#392 := [th-lemma arith triangle-eq]: #390
-#330 := [unit-resolution #392 #327]: #560
-#546 := (>= #211 -1::Int)
-#401 := (or #359 #546)
-#403 := [th-lemma arith triangle-eq]: #401
-#332 := [unit-resolution #403 #327]: #546
-#329 := [th-lemma arith eq-propagate -1 -1 #332 #330]: #333
-#324 := (= #53 #47)
-#334 := [hypothesis]: #342
-#314 := [symm #334]: #324
-#317 := [trans #314 #329]: #316
-#321 := [monotonicity #317]: #320
-#319 := [symm #321]: #326
-#325 := (= #50 #388)
-#368 := (= #388 #50)
-#370 := (or #354 #368)
-#340 := [quant-inst #50]: #370
-#337 := [unit-resolution #340 #579]: #368
-#318 := [symm #337]: #325
-#322 := [trans #318 #319]: #59
-#68 := (not #59)
+#108 := (iff #34 #105)
+#89 := (not #29)
+#90 := (or #89 #32)
+#93 := (forall (vars (?v0 Int)) #90)
+#106 := (iff #93 #105)
+#103 := (iff #90 #102)
+#100 := (iff #89 #99)
+#96 := (iff #29 #98)
+#97 := [rewrite]: #96
+#101 := [monotonicity #97]: #100
+#104 := [monotonicity #101]: #103
+#107 := [quant-intro #104]: #106
+#94 := (iff #34 #93)
+#91 := (iff #33 #90)
+#92 := [rewrite]: #91
+#95 := [quant-intro #92]: #94
+#109 := [trans #95 #107]: #108
+#87 := [asserted]: #34
+#110 := [mp #87 #109]: #105
+#139 := [mp~ #110 #143]: #105
+#642 := [mp #139 #641]: #637
+#608 := (not #637)
+#609 := (or #608 #619 #604)
+#622 := (= #627 #59)
+#291 := (>= #59 0::Int)
+#624 := (not #291)
+#628 := (or #624 #622)
+#610 := (or #608 #628)
+#254 := (iff #610 #609)
+#611 := (or #608 #269)
+#614 := (iff #611 #609)
+#253 := [rewrite]: #614
+#248 := (iff #610 #611)
+#606 := (iff #628 #269)
+#262 := (iff #622 #604)
+#268 := [rewrite]: #262
+#278 := (iff #624 #619)
+#277 := (iff #291 #618)
+#282 := [rewrite]: #277
+#620 := [monotonicity #282]: #278
+#607 := [monotonicity #620 #268]: #606
+#612 := [monotonicity #607]: #248
+#615 := [trans #612 #253]: #254
+#605 := [quant-inst #59]: #610
+#613 := [mp #605 #615]: #609
+#449 := [unit-resolution #613 #642]: #269
+#383 := [unit-resolution #449 #395]: #604
+#415 := (not #604)
+#446 := (or #415 #616)
+#448 := [th-lemma arith triangle-eq]: #446
+#386 := [unit-resolution #448 #383]: #616
+#602 := (>= #267 -1::Int)
+#457 := (or #415 #602)
+#459 := [th-lemma arith triangle-eq]: #457
+#388 := [unit-resolution #459 #383]: #602
+#385 := [th-lemma arith eq-propagate -1 -1 #388 #386]: #389
+#380 := (= #65 #59)
+#390 := [hypothesis]: #398
+#370 := [symm #390]: #380
+#373 := [trans #370 #385]: #372
+#377 := [monotonicity #373]: #376
+#375 := [symm #377]: #382
+#381 := (= #62 #444)
+#424 := (= #444 #62)
+#426 := (or #410 #424)
+#396 := [quant-inst #62]: #426
+#393 := [unit-resolution #396 #635]: #424
+#374 := [symm #393]: #381
+#378 := [trans #374 #375]: #71
+#80 := (not #71)
 #19 := (= f7 f8)
-#567 := (f3 f4 #15)
-#223 := (= #567 f8)
-#569 := (or #354 #223)
-#570 := [quant-inst #14]: #569
-#458 := [unit-resolution #570 #579]: #223
-#378 := (= f7 #567)
-#372 := (= #229 #567)
-#405 := (= #10 #15)
-#251 := (f5 f6 #56)
-#532 := (* -1::Int #251)
-#527 := (+ #15 #532)
-#355 := (<= #527 -1::Int)
-#531 := (= #527 -1::Int)
-#535 := (>= #15 -1::Int)
-#412 := (>= #15 0::Int)
-#488 := (= #15 0::Int)
-#413 := (f5 f6 #567)
-#489 := (= #413 0::Int)
-#492 := (not #412)
-#493 := [hypothesis]: #492
-#486 := (or #412 #489)
-#499 := (or #272 #412 #489)
-#500 := (or #272 #486)
-#501 := (iff #500 #499)
-#490 := [rewrite]: #501
-#496 := [quant-inst #15]: #500
-#491 := [mp #496 #490]: #499
-#477 := [unit-resolution #491 #592]: #486
-#457 := [unit-resolution #477 #493]: #489
-#462 := (= #15 #413)
-#460 := (= f8 #567)
-#461 := [symm #458]: #460
-#463 := [monotonicity #461]: #462
-#464 := [trans #463 #457]: #488
-#465 := (not #488)
-#466 := (or #465 #412)
-#467 := [th-lemma arith triangle-eq]: #466
-#468 := [unit-resolution #467 #493 #464]: false
-#469 := [lemma #468]: #412
-#455 := (or #492 #535)
-#450 := [th-lemma arith farkas 1 1]: #455
-#456 := [unit-resolution #450 #469]: #535
-#529 := (not #535)
-#374 := (or #529 #531)
-#518 := (or #552 #529 #531)
-#534 := (= #251 #53)
-#536 := (>= #53 0::Int)
-#537 := (not #536)
-#538 := (or #537 #534)
-#519 := (or #552 #538)
-#517 := (iff #519 #518)
-#521 := (or #552 #374)
-#522 := (iff #521 #518)
-#523 := [rewrite]: #522
-#515 := (iff #519 #521)
-#375 := (iff #538 #374)
-#526 := (iff #534 #531)
-#533 := [rewrite]: #526
-#530 := (iff #537 #529)
-#539 := (iff #536 #535)
-#528 := [rewrite]: #539
-#525 := [monotonicity #528]: #530
-#376 := [monotonicity #525 #533]: #375
-#516 := [monotonicity #376]: #515
-#524 := [trans #516 #523]: #517
-#520 := [quant-inst #53]: #519
-#353 := [mp #520 #524]: #518
-#480 := [unit-resolution #353 #586]: #374
-#442 := [unit-resolution #480 #456]: #531
-#471 := (not #531)
-#472 := (or #471 #355)
-#474 := [th-lemma arith triangle-eq]: #472
-#438 := [unit-resolution #474 #442]: #355
-#356 := (>= #527 -1::Int)
-#439 := (or #471 #356)
-#440 := [th-lemma arith triangle-eq]: #439
-#443 := [unit-resolution #440 #442]: #356
-#448 := (+ #251 #210)
-#452 := (<= #448 0::Int)
-#470 := (= #251 #571)
-#445 := (= #571 #251)
-#158 := (not #19)
-#454 := [hypothesis]: #158
-#249 := (or #59 #19)
-#69 := (iff #68 #19)
+#623 := (f3 f4 #15)
+#279 := (= #623 f8)
+#625 := (or #410 #279)
+#626 := [quant-inst #14]: #625
+#514 := [unit-resolution #626 #635]: #279
+#434 := (= f7 #623)
+#428 := (= #285 #623)
+#461 := (= #10 #15)
+#307 := (f5 f6 #68)
+#588 := (* -1::Int #307)
+#583 := (+ #15 #588)
+#411 := (<= #583 -1::Int)
+#587 := (= #583 -1::Int)
+#591 := (>= #15 -1::Int)
+#468 := (>= #15 0::Int)
+#544 := (= #15 0::Int)
+#469 := (f5 f6 #623)
+#545 := (= #469 0::Int)
+#548 := (not #468)
+#549 := [hypothesis]: #548
+#542 := (or #468 #545)
+#555 := (or #328 #468 #545)
+#556 := (or #328 #542)
+#557 := (iff #556 #555)
+#546 := [rewrite]: #557
+#552 := [quant-inst #15]: #556
+#547 := [mp #552 #546]: #555
+#533 := [unit-resolution #547 #648]: #542
+#513 := [unit-resolution #533 #549]: #545
+#518 := (= #15 #469)
+#516 := (= f8 #623)
+#517 := [symm #514]: #516
+#519 := [monotonicity #517]: #518
+#520 := [trans #519 #513]: #544
+#521 := (not #544)
+#522 := (or #521 #468)
+#523 := [th-lemma arith triangle-eq]: #522
+#524 := [unit-resolution #523 #549 #520]: false
+#525 := [lemma #524]: #468
+#511 := (or #548 #591)
+#506 := [th-lemma arith farkas 1 1]: #511
+#512 := [unit-resolution #506 #525]: #591
+#585 := (not #591)
+#430 := (or #585 #587)
+#574 := (or #608 #585 #587)
+#590 := (= #307 #65)
+#592 := (>= #65 0::Int)
+#593 := (not #592)
+#594 := (or #593 #590)
+#575 := (or #608 #594)
+#573 := (iff #575 #574)
+#577 := (or #608 #430)
+#578 := (iff #577 #574)
+#579 := [rewrite]: #578
+#571 := (iff #575 #577)
+#431 := (iff #594 #430)
+#582 := (iff #590 #587)
+#589 := [rewrite]: #582
+#586 := (iff #593 #585)
+#595 := (iff #592 #591)
+#584 := [rewrite]: #595
+#581 := [monotonicity #584]: #586
+#432 := [monotonicity #581 #589]: #431
+#572 := [monotonicity #432]: #571
+#580 := [trans #572 #579]: #573
+#576 := [quant-inst #65]: #575
+#409 := [mp #576 #580]: #574
+#536 := [unit-resolution #409 #642]: #430
+#498 := [unit-resolution #536 #512]: #587
+#527 := (not #587)
+#528 := (or #527 #411)
+#530 := [th-lemma arith triangle-eq]: #528
+#494 := [unit-resolution #530 #498]: #411
+#412 := (>= #583 -1::Int)
+#495 := (or #527 #412)
+#496 := [th-lemma arith triangle-eq]: #495
+#499 := [unit-resolution #496 #498]: #412
+#504 := (+ #307 #266)
+#508 := (<= #504 0::Int)
+#526 := (= #307 #627)
+#501 := (= #627 #307)
+#214 := (not #19)
+#510 := [hypothesis]: #214
+#305 := (or #71 #19)
+#81 := (iff #80 #19)
 #16 := (+ #15 1::Int)
 #17 := (f3 f4 #16)
 #12 := (+ #10 1::Int)
@@ -10351,128 +9418,128 @@
 #18 := (= #13 #17)
 #20 := (iff #18 #19)
 #21 := (not #20)
-#72 := (iff #21 #69)
-#62 := (iff #59 #19)
-#65 := (not #62)
-#70 := (iff #65 #69)
-#71 := [rewrite]: #70
-#66 := (iff #21 #65)
-#63 := (iff #20 #62)
-#60 := (iff #18 #59)
-#57 := (= #17 #56)
-#54 := (= #16 #53)
-#55 := [rewrite]: #54
-#58 := [monotonicity #55]: #57
-#51 := (= #13 #50)
-#48 := (= #12 #47)
-#49 := [rewrite]: #48
-#52 := [monotonicity #49]: #51
-#61 := [monotonicity #52 #58]: #60
+#84 := (iff #21 #81)
+#74 := (iff #71 #19)
+#77 := (not #74)
+#82 := (iff #77 #81)
+#83 := [rewrite]: #82
+#78 := (iff #21 #77)
+#75 := (iff #20 #74)
+#72 := (iff #18 #71)
+#69 := (= #17 #68)
+#66 := (= #16 #65)
+#67 := [rewrite]: #66
+#70 := [monotonicity #67]: #69
+#63 := (= #13 #62)
+#60 := (= #12 #59)
+#61 := [rewrite]: #60
 #64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#73 := [trans #67 #71]: #72
-#40 := [asserted]: #21
-#74 := [mp #40 #73]: #69
-#243 := (not #69)
-#247 := (or #59 #19 #243)
-#248 := [def-axiom]: #247
-#246 := [unit-resolution #248 #74]: #249
-#444 := [unit-resolution #246 #454]: #59
-#446 := [monotonicity #444]: #445
-#441 := [symm #446]: #470
-#447 := (not #470)
-#420 := (or #447 #452)
-#421 := [th-lemma arith triangle-eq]: #420
-#422 := [unit-resolution #421 #441]: #452
-#453 := (>= #448 0::Int)
-#315 := (or #447 #453)
-#426 := [th-lemma arith triangle-eq]: #315
-#427 := [unit-resolution #426 #441]: #453
-#547 := (= #571 0::Int)
-#418 := (not #547)
-#509 := (= #251 0::Int)
-#478 := (not #509)
-#399 := (iff #478 #418)
-#417 := (iff #509 #547)
-#432 := (iff #547 #509)
-#437 := [monotonicity #446]: #432
-#363 := [symm #437]: #417
-#423 := [monotonicity #363]: #399
-#406 := (<= #251 0::Int)
-#428 := (not #406)
-#433 := (not #355)
-#429 := (or #428 #492 #433)
-#430 := [th-lemma arith assign-bounds -1 1]: #429
-#431 := [unit-resolution #430 #438 #469]: #428
-#434 := (or #478 #406)
-#435 := [th-lemma arith triangle-eq]: #434
-#436 := [unit-resolution #435 #431]: #478
-#424 := [mp #436 #423]: #418
-#269 := (or #562 #547)
-#165 := (or #272 #562 #547)
-#254 := (or #235 #547)
-#542 := (or #272 #254)
-#545 := (iff #542 #165)
-#265 := (or #272 #269)
-#544 := (iff #265 #165)
-#541 := [rewrite]: #544
-#266 := (iff #542 #265)
-#270 := (iff #254 #269)
-#271 := [monotonicity #226]: #270
-#540 := [monotonicity #271]: #266
-#255 := [trans #540 #541]: #545
-#543 := [quant-inst #47]: #542
-#256 := [mp #543 #255]: #165
-#419 := [unit-resolution #256 #592]: #269
-#425 := [unit-resolution #419 #424]: #562
-#400 := [unit-resolution #393 #425]: #548
-#394 := [unit-resolution #392 #400]: #560
-#404 := [unit-resolution #403 #400]: #546
-#415 := [th-lemma arith eq-propagate -1 -1 1 1 1 1 #404 #394 #427 #422 #443 #438]: #405
-#377 := [monotonicity #415]: #372
-#379 := [trans #371 #377]: #378
-#380 := [trans #379 #458]: #19
-#381 := [unit-resolution #454 #380]: false
-#382 := [lemma #381]: #19
-#245 := (or #68 #158)
-#159 := (or #68 #158 #243)
-#244 := [def-axiom]: #159
-#236 := [unit-resolution #244 #74]: #245
-#335 := [unit-resolution #236 #382]: #68
-#323 := [unit-resolution #335 #322]: false
-#311 := [lemma #323]: #309
-#343 := (* -1::Int #53)
-#349 := (+ #47 #343)
-#328 := (<= #349 0::Int)
-#383 := (* -1::Int #15)
-#384 := (+ #10 #383)
-#385 := (<= #384 0::Int)
-#312 := [monotonicity #382]: #405
-#310 := (not #405)
-#313 := (or #310 #385)
-#295 := [th-lemma arith triangle-eq]: #313
-#297 := [unit-resolution #295 #312]: #385
-#298 := (not #385)
-#299 := (or #328 #298)
-#300 := [th-lemma arith assign-bounds -1]: #299
-#301 := [unit-resolution #300 #297]: #328
-#331 := (>= #349 0::Int)
-#386 := (>= #384 0::Int)
-#302 := (or #310 #386)
-#303 := [th-lemma arith triangle-eq]: #302
-#304 := [unit-resolution #303 #312]: #386
-#305 := (not #386)
-#306 := (or #331 #305)
-#307 := [th-lemma arith assign-bounds -1]: #306
-#296 := [unit-resolution #307 #304]: #331
-#285 := (not #331)
-#308 := (not #328)
-#287 := (or #342 #308 #285)
-#288 := [th-lemma arith triangle-eq]: #287
-#289 := [unit-resolution #288 #296 #301]: #342
-[unit-resolution #289 #311]: false
-cca0c63f74b94d280921e8468e9a688b21297a96 67 0
-unsat
+#73 := [monotonicity #64 #70]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76]: #78
+#85 := [trans #79 #83]: #84
+#58 := [asserted]: #21
+#88 := [mp #58 #85]: #81
+#299 := (not #81)
+#303 := (or #71 #19 #299)
+#304 := [def-axiom]: #303
+#302 := [unit-resolution #304 #88]: #305
+#500 := [unit-resolution #302 #510]: #71
+#502 := [monotonicity #500]: #501
+#497 := [symm #502]: #526
+#503 := (not #526)
+#476 := (or #503 #508)
+#477 := [th-lemma arith triangle-eq]: #476
+#478 := [unit-resolution #477 #497]: #508
+#509 := (>= #504 0::Int)
+#371 := (or #503 #509)
+#482 := [th-lemma arith triangle-eq]: #371
+#483 := [unit-resolution #482 #497]: #509
+#603 := (= #627 0::Int)
+#474 := (not #603)
+#565 := (= #307 0::Int)
+#534 := (not #565)
+#455 := (iff #534 #474)
+#473 := (iff #565 #603)
+#488 := (iff #603 #565)
+#493 := [monotonicity #502]: #488
+#419 := [symm #493]: #473
+#479 := [monotonicity #419]: #455
+#462 := (<= #307 0::Int)
+#484 := (not #462)
+#489 := (not #411)
+#485 := (or #484 #548 #489)
+#486 := [th-lemma arith assign-bounds -1 1]: #485
+#487 := [unit-resolution #486 #494 #525]: #484
+#490 := (or #534 #462)
+#491 := [th-lemma arith triangle-eq]: #490
+#492 := [unit-resolution #491 #487]: #534
+#480 := [mp #492 #479]: #474
+#325 := (or #618 #603)
+#221 := (or #328 #618 #603)
+#310 := (or #291 #603)
+#598 := (or #328 #310)
+#601 := (iff #598 #221)
+#321 := (or #328 #325)
+#600 := (iff #321 #221)
+#597 := [rewrite]: #600
+#322 := (iff #598 #321)
+#326 := (iff #310 #325)
+#327 := [monotonicity #282]: #326
+#596 := [monotonicity #327]: #322
+#311 := [trans #596 #597]: #601
+#599 := [quant-inst #59]: #598
+#312 := [mp #599 #311]: #221
+#475 := [unit-resolution #312 #648]: #325
+#481 := [unit-resolution #475 #480]: #618
+#456 := [unit-resolution #449 #481]: #604
+#450 := [unit-resolution #448 #456]: #616
+#460 := [unit-resolution #459 #456]: #602
+#471 := [th-lemma arith eq-propagate -1 -1 1 1 1 1 #460 #450 #483 #478 #499 #494]: #461
+#433 := [monotonicity #471]: #428
+#435 := [trans #427 #433]: #434
+#436 := [trans #435 #514]: #19
+#437 := [unit-resolution #510 #436]: false
+#438 := [lemma #437]: #19
+#301 := (or #80 #214)
+#215 := (or #80 #214 #299)
+#300 := [def-axiom]: #215
+#292 := [unit-resolution #300 #88]: #301
+#391 := [unit-resolution #292 #438]: #80
+#379 := [unit-resolution #391 #378]: false
+#367 := [lemma #379]: #365
+#399 := (* -1::Int #65)
+#405 := (+ #59 #399)
+#384 := (<= #405 0::Int)
+#439 := (* -1::Int #15)
+#440 := (+ #10 #439)
+#441 := (<= #440 0::Int)
+#368 := [monotonicity #438]: #461
+#366 := (not #461)
+#369 := (or #366 #441)
+#351 := [th-lemma arith triangle-eq]: #369
+#353 := [unit-resolution #351 #368]: #441
+#354 := (not #441)
+#355 := (or #384 #354)
+#356 := [th-lemma arith assign-bounds -1]: #355
+#357 := [unit-resolution #356 #353]: #384
+#387 := (>= #405 0::Int)
+#442 := (>= #440 0::Int)
+#358 := (or #366 #442)
+#359 := [th-lemma arith triangle-eq]: #358
+#360 := [unit-resolution #359 #368]: #442
+#361 := (not #442)
+#362 := (or #387 #361)
+#363 := [th-lemma arith assign-bounds -1]: #362
+#352 := [unit-resolution #363 #360]: #387
+#341 := (not #387)
+#364 := (not #384)
+#343 := (or #398 #364 #341)
+#344 := [th-lemma arith triangle-eq]: #343
+#345 := [unit-resolution #344 #352 #357]: #398
+[unit-resolution #345 #367]: false
+unsat
+acd75482eb0fadad2769b1851e88fa0d92a18b2f 57 0
 #2 := false
 #13 := 1::Int
 decl f3 :: (-> S2 S3 Int)
@@ -10491,160 +9558,150 @@
 #14 := (+ #12 1::Int)
 #18 := (< #14 #17)
 #19 := (not #18)
-#89 := (iff #19 false)
-#1 := true
-#84 := (not true)
-#87 := (iff #84 false)
+#91 := (iff #19 false)
+#70 := 2::Int
+#71 := (+ 2::Int #12)
+#58 := (+ 1::Int #12)
+#76 := (< #58 #71)
+#79 := (not #76)
+#89 := (iff #79 false)
+#1 := true
+#83 := (not true)
+#87 := (iff #83 false)
 #88 := [rewrite]: #87
-#85 := (iff #19 #84)
-#82 := (iff #18 true)
-#46 := (+ 1::Int #9 #11)
-#58 := 2::Int
-#59 := (+ 2::Int #9 #11)
-#67 := (<= #59 #46)
-#68 := (not #67)
-#80 := (iff #68 true)
-#75 := (not false)
-#78 := (iff #75 true)
-#79 := [rewrite]: #78
-#76 := (iff #68 #75)
-#73 := (iff #67 false)
-#74 := [rewrite]: #73
-#77 := [monotonicity #74]: #76
-#81 := [trans #77 #79]: #80
-#71 := (iff #18 #68)
-#64 := (< #46 #59)
-#69 := (iff #64 #68)
-#70 := [rewrite]: #69
-#65 := (iff #18 #64)
-#62 := (= #17 #59)
-#52 := (+ 1::Int #11)
-#49 := (+ 1::Int #9)
-#55 := (+ #49 #52)
-#60 := (= #55 #59)
-#61 := [rewrite]: #60
-#56 := (= #17 #55)
-#53 := (= #16 #52)
-#54 := [rewrite]: #53
-#50 := (= #15 #49)
-#51 := [rewrite]: #50
-#57 := [monotonicity #51 #54]: #56
-#63 := [trans #57 #61]: #62
-#47 := (= #14 #46)
-#48 := [rewrite]: #47
-#66 := [monotonicity #48 #63]: #65
-#72 := [trans #66 #70]: #71
-#83 := [trans #72 #81]: #82
-#86 := [monotonicity #83]: #85
+#85 := (iff #79 #83)
+#82 := (iff #76 true)
+#84 := [rewrite]: #82
+#86 := [monotonicity #84]: #85
 #90 := [trans #86 #88]: #89
-#39 := [asserted]: #19
-[mp #39 #90]: false
-4be683229ab203b6ad6e1365fb0baa3afc13e7f9 51 0
-unsat
+#80 := (iff #19 #79)
+#77 := (iff #18 #76)
+#74 := (= #17 #71)
+#64 := (+ 1::Int #11)
+#61 := (+ 1::Int #9)
+#67 := (+ #61 #64)
+#72 := (= #67 #71)
+#73 := [rewrite]: #72
+#68 := (= #17 #67)
+#65 := (= #16 #64)
+#66 := [rewrite]: #65
+#62 := (= #15 #61)
+#63 := [rewrite]: #62
+#69 := [monotonicity #63 #66]: #68
+#75 := [trans #69 #73]: #74
+#59 := (= #14 #58)
+#60 := [rewrite]: #59
+#78 := [monotonicity #60 #75]: #77
+#81 := [monotonicity #78]: #80
+#92 := [trans #81 #90]: #91
+#57 := [asserted]: #19
+[mp #57 #92]: false
+unsat
+cafcbe1d613718219fa1714ac3be1c8043d2d395 51 0
 #2 := false
 decl f5 :: (-> S4 S3 Int)
 #16 := (:var 0 S3)
 decl f6 :: S4
 #8 := f6
 #17 := (f5 f6 #16)
-#551 := (pattern #17)
+#607 := (pattern #17)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #18 := (f3 f4 #17)
 #19 := (= #18 #16)
-#552 := (forall (vars (?v0 S3)) (:pat #551) #19)
+#608 := (forall (vars (?v0 S3)) (:pat #607) #19)
 #20 := (forall (vars (?v0 S3)) #19)
-#555 := (iff #20 #552)
-#553 := (iff #19 #19)
-#554 := [refl]: #553
-#556 := [quant-intro #554]: #555
-#124 := (~ #20 #20)
-#128 := (~ #19 #19)
-#129 := [refl]: #128
-#125 := [nnf-pos #129]: #124
-#34 := [asserted]: #20
-#126 := [mp~ #34 #125]: #20
-#557 := [mp #126 #556]: #552
+#611 := (iff #20 #608)
+#609 := (iff #19 #19)
+#610 := [refl]: #609
+#612 := [quant-intro #610]: #611
+#127 := (~ #20 #20)
+#125 := (~ #19 #19)
+#126 := [refl]: #125
+#128 := [nnf-pos #126]: #127
+#63 := [asserted]: #20
+#117 := [mp~ #63 #128]: #20
+#613 := [mp #117 #612]: #608
 decl f7 :: S3
 #9 := f7
 #10 := (f5 f6 f7)
-#42 := (f3 f4 #10)
-#45 := (= #42 f7)
-#48 := (not #45)
+#54 := (f3 f4 #10)
+#57 := (= #54 f7)
+#60 := (not #57)
 #11 := 0::Int
 #12 := (+ #10 0::Int)
 #13 := (f3 f4 #12)
 #14 := (= #13 f7)
 #15 := (not #14)
-#49 := (iff #15 #48)
-#46 := (iff #14 #45)
-#43 := (= #13 #42)
-#40 := (= #12 #10)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#47 := [monotonicity #44]: #46
-#50 := [monotonicity #47]: #49
-#33 := [asserted]: #15
-#51 := [mp #33 #50]: #48
-#222 := (not #552)
-#223 := (or #222 #45)
-#214 := [quant-inst #9]: #223
-[unit-resolution #214 #51 #557]: false
-36b449ec06f74f034486ed7a3a374426eb6148a7 51 0
-unsat
+#61 := (iff #15 #60)
+#58 := (iff #14 #57)
+#55 := (= #13 #54)
+#52 := (= #12 #10)
+#53 := [rewrite]: #52
+#56 := [monotonicity #53]: #55
+#59 := [monotonicity #56]: #58
+#62 := [monotonicity #59]: #61
+#51 := [asserted]: #15
+#65 := [mp #51 #62]: #60
+#278 := (not #608)
+#279 := (or #278 #57)
+#270 := [quant-inst #9]: #279
+[unit-resolution #270 #65 #613]: false
+unsat
+1dfcd4e08e6f8d1a1620a5d9deeafd855aa26e59 51 0
 #2 := false
 decl f5 :: (-> S4 S3 Int)
 #16 := (:var 0 S3)
 decl f6 :: S4
 #9 := f6
 #17 := (f5 f6 #16)
-#551 := (pattern #17)
+#607 := (pattern #17)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #18 := (f3 f4 #17)
 #19 := (= #18 #16)
-#552 := (forall (vars (?v0 S3)) (:pat #551) #19)
+#608 := (forall (vars (?v0 S3)) (:pat #607) #19)
 #20 := (forall (vars (?v0 S3)) #19)
-#555 := (iff #20 #552)
-#553 := (iff #19 #19)
-#554 := [refl]: #553
-#556 := [quant-intro #554]: #555
-#124 := (~ #20 #20)
-#128 := (~ #19 #19)
-#129 := [refl]: #128
-#125 := [nnf-pos #129]: #124
-#34 := [asserted]: #20
-#126 := [mp~ #34 #125]: #20
-#557 := [mp #126 #556]: #552
+#611 := (iff #20 #608)
+#609 := (iff #19 #19)
+#610 := [refl]: #609
+#612 := [quant-intro #610]: #611
+#127 := (~ #20 #20)
+#125 := (~ #19 #19)
+#126 := [refl]: #125
+#128 := [nnf-pos #126]: #127
+#63 := [asserted]: #20
+#117 := [mp~ #63 #128]: #20
+#613 := [mp #117 #612]: #608
 decl f7 :: S3
 #10 := f7
 #11 := (f5 f6 f7)
-#42 := (f3 f4 #11)
-#45 := (= #42 f7)
-#48 := (not #45)
+#54 := (f3 f4 #11)
+#57 := (= #54 f7)
+#60 := (not #57)
 #8 := 0::Int
 #12 := (+ 0::Int #11)
 #13 := (f3 f4 #12)
 #14 := (= #13 f7)
 #15 := (not #14)
-#49 := (iff #15 #48)
-#46 := (iff #14 #45)
-#43 := (= #13 #42)
-#40 := (= #12 #11)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#47 := [monotonicity #44]: #46
-#50 := [monotonicity #47]: #49
-#33 := [asserted]: #15
-#51 := [mp #33 #50]: #48
-#222 := (not #552)
-#223 := (or #222 #45)
-#214 := [quant-inst #10]: #223
-[unit-resolution #214 #51 #557]: false
-6876f4e575b0c8bc3fe85299f4bf8864b5f3e6ce 41 0
-unsat
+#61 := (iff #15 #60)
+#58 := (iff #14 #57)
+#55 := (= #13 #54)
+#52 := (= #12 #11)
+#53 := [rewrite]: #52
+#56 := [monotonicity #53]: #55
+#59 := [monotonicity #56]: #58
+#62 := [monotonicity #59]: #61
+#51 := [asserted]: #15
+#65 := [mp #51 #62]: #60
+#278 := (not #608)
+#279 := (or #278 #57)
+#270 := [quant-inst #10]: #279
+[unit-resolution #270 #65 #613]: false
+unsat
+807ee369d1a6496ab946d19ae1b2533180edb6b7 41 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 decl f5 :: (-> S4 S3 Int)
@@ -10664,29 +9721,29 @@
 #14 := (f3 f4 #13)
 #17 := (= #14 #16)
 #18 := (not #17)
-#108 := (iff #18 false)
-#1 := true
-#103 := (not true)
-#106 := (iff #103 false)
-#107 := [rewrite]: #106
-#104 := (iff #18 #103)
-#101 := (iff #17 true)
-#96 := (= #14 #14)
-#99 := (iff #96 true)
-#100 := [rewrite]: #99
-#97 := (iff #17 #96)
-#94 := (= #16 #14)
-#92 := (= #15 #13)
-#93 := [rewrite]: #92
-#95 := [monotonicity #93]: #94
-#98 := [monotonicity #95]: #97
-#102 := [trans #98 #100]: #101
-#105 := [monotonicity #102]: #104
-#109 := [trans #105 #107]: #108
-#37 := [asserted]: #18
-[mp #37 #109]: false
-b54b0a8e9089b1fc3a30b6ccbd0b1a995d0b98ef 52 0
-unsat
+#72 := (iff #18 false)
+#1 := true
+#67 := (not true)
+#70 := (iff #67 false)
+#71 := [rewrite]: #70
+#68 := (iff #18 #67)
+#65 := (iff #17 true)
+#60 := (= #14 #14)
+#63 := (iff #60 true)
+#64 := [rewrite]: #63
+#61 := (iff #17 #60)
+#58 := (= #16 #14)
+#56 := (= #15 #13)
+#57 := [rewrite]: #56
+#59 := [monotonicity #57]: #58
+#62 := [monotonicity #59]: #61
+#66 := [trans #62 #64]: #65
+#69 := [monotonicity #66]: #68
+#73 := [trans #69 #71]: #72
+#55 := [asserted]: #18
+[mp #55 #73]: false
+unsat
+69a5d92a496670834736208baa7873f48a8b26ef 46 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 decl f5 :: (-> S4 S3 Int)
@@ -10711,35 +9768,29 @@
 #17 := (f3 f4 #16)
 #21 := (= #17 #20)
 #22 := (not #21)
-#70 := (iff #22 false)
-#1 := true
-#65 := (not true)
-#68 := (iff #65 false)
-#69 := [rewrite]: #68
-#66 := (iff #22 #65)
-#63 := (iff #21 true)
-#48 := (+ #10 #12 #14)
-#51 := (f3 f4 #48)
-#58 := (= #51 #51)
-#61 := (iff #58 true)
-#62 := [rewrite]: #61
-#59 := (iff #21 #58)
-#56 := (= #20 #51)
-#54 := (= #19 #48)
-#55 := [rewrite]: #54
-#57 := [monotonicity #55]: #56
-#52 := (= #17 #51)
-#49 := (= #16 #48)
-#50 := [rewrite]: #49
-#53 := [monotonicity #50]: #52
-#60 := [monotonicity #53 #57]: #59
-#64 := [trans #60 #62]: #63
-#67 := [monotonicity #64]: #66
-#71 := [trans #67 #69]: #70
-#41 := [asserted]: #22
-[mp #41 #71]: false
-dc4471261a7af4fe9cbee9553569694766037bc0 408 0
-unsat
+#76 := (iff #22 false)
+#1 := true
+#71 := (not true)
+#74 := (iff #71 false)
+#75 := [rewrite]: #74
+#72 := (iff #22 #71)
+#69 := (iff #21 true)
+#64 := (= #17 #17)
+#67 := (iff #64 true)
+#68 := [rewrite]: #67
+#65 := (iff #21 #64)
+#62 := (= #20 #17)
+#60 := (= #19 #16)
+#61 := [rewrite]: #60
+#63 := [monotonicity #61]: #62
+#66 := [monotonicity #63]: #65
+#70 := [trans #66 #68]: #69
+#73 := [monotonicity #70]: #72
+#77 := [trans #73 #75]: #76
+#59 := [asserted]: #22
+[mp #59 #77]: false
+unsat
+79c07e1ad7272206c5e814c398f47e58d945d62c 406 0
 #2 := false
 #15 := 0::Int
 decl f5 :: (-> S4 S3 Int)
@@ -10748,473 +9799,457 @@
 decl f6 :: S4
 #8 := f6
 #10 := (f5 f6 f7)
-#385 := (= #10 0::Int)
+#465 := (= #10 0::Int)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
-#554 := (f3 f4 #10)
-#348 := (f5 f6 #554)
-#349 := (= #348 0::Int)
+#610 := (f3 f4 #10)
+#405 := (f5 f6 #610)
+#558 := (= #405 0::Int)
 decl f8 :: S3
 #11 := f8
 #12 := (f5 f6 f8)
-#228 := (f3 f4 #12)
-#505 := (f5 f6 #228)
-#350 := (= #505 0::Int)
-#346 := (>= #10 0::Int)
-#408 := (not #349)
-#364 := [hypothesis]: #408
-#502 := (or #346 #349)
+#284 := (f3 f4 #12)
+#562 := (f5 f6 #284)
+#554 := (= #562 0::Int)
+#404 := (>= #10 0::Int)
+#429 := (not #558)
+#432 := [hypothesis]: #429
+#559 := (or #404 #558)
 #28 := (:var 0 Int)
 #30 := (f3 f4 #28)
-#573 := (pattern #30)
+#629 := (pattern #30)
 #31 := (f5 f6 #30)
 #36 := (= #31 0::Int)
-#104 := (>= #28 0::Int)
-#115 := (or #104 #36)
-#580 := (forall (vars (?v0 Int)) (:pat #573) #115)
-#118 := (forall (vars (?v0 Int)) #115)
-#583 := (iff #118 #580)
-#581 := (iff #115 #115)
-#582 := [refl]: #581
-#584 := [quant-intro #582]: #583
-#132 := (~ #118 #118)
-#130 := (~ #115 #115)
-#131 := [refl]: #130
-#133 := [nnf-pos #131]: #132
-#29 := (<= 0::Int #28)
-#73 := (or #29 #36)
-#78 := (forall (vars (?v0 Int)) #73)
-#119 := (iff #78 #118)
-#116 := (iff #73 #115)
-#102 := (iff #29 #104)
-#103 := [rewrite]: #102
-#117 := [monotonicity #103]: #116
-#120 := [quant-intro #117]: #119
+#75 := (>= #28 0::Int)
+#105 := (or #75 #36)
+#636 := (forall (vars (?v0 Int)) (:pat #629) #105)
+#108 := (forall (vars (?v0 Int)) #105)
+#639 := (iff #108 #636)
+#637 := (iff #105 #105)
+#638 := [refl]: #637
+#640 := [quant-intro #638]: #639
+#121 := (~ #108 #108)
+#129 := (~ #105 #105)
+#130 := [refl]: #129
+#122 := [nnf-pos #130]: #121
 #35 := (< #28 0::Int)
 #37 := (implies #35 #36)
 #38 := (forall (vars (?v0 Int)) #37)
-#79 := (iff #38 #78)
-#76 := (iff #37 #73)
-#56 := (not #29)
-#70 := (implies #56 #36)
-#74 := (iff #70 #73)
-#75 := [rewrite]: #74
-#71 := (iff #37 #70)
-#65 := (iff #35 #56)
-#67 := (iff #56 #56)
-#52 := (iff #29 #29)
-#53 := [rewrite]: #52
-#68 := [monotonicity #53]: #67
-#66 := [rewrite]: #65
-#69 := [trans #66 #68]: #65
-#72 := [monotonicity #69]: #71
-#77 := [trans #72 #75]: #76
-#80 := [quant-intro #77]: #79
-#43 := [asserted]: #38
-#81 := [mp #43 #80]: #78
-#121 := [mp #81 #120]: #118
-#134 := [mp~ #121 #133]: #118
-#585 := [mp #134 #584]: #580
-#263 := (not #580)
-#506 := (or #263 #346 #349)
-#504 := (or #263 #502)
-#389 := (iff #504 #506)
-#390 := [rewrite]: #389
-#507 := [quant-inst #10]: #504
-#391 := [mp #507 #390]: #506
-#365 := [unit-resolution #391 #585]: #502
-#370 := [unit-resolution #365 #364]: #346
-#448 := (not #346)
-#392 := (or #448 #350)
-#400 := (= #12 0::Int)
+#111 := (iff #38 #108)
+#89 := (not #35)
+#90 := (or #89 #36)
+#93 := (forall (vars (?v0 Int)) #90)
+#109 := (iff #93 #108)
+#106 := (iff #90 #105)
+#103 := (iff #89 #75)
+#76 := (not #75)
+#98 := (not #76)
+#101 := (iff #98 #75)
+#102 := [rewrite]: #101
+#99 := (iff #89 #98)
+#96 := (iff #35 #76)
+#97 := [rewrite]: #96
+#100 := [monotonicity #97]: #99
+#104 := [trans #100 #102]: #103
+#107 := [monotonicity #104]: #106
+#110 := [quant-intro #107]: #109
+#94 := (iff #38 #93)
+#91 := (iff #37 #90)
+#92 := [rewrite]: #91
+#95 := [quant-intro #92]: #94
+#112 := [trans #95 #110]: #111
+#88 := [asserted]: #38
+#113 := [mp #88 #112]: #108
+#131 := [mp~ #113 #122]: #108
+#641 := [mp #131 #640]: #636
+#320 := (not #636)
+#560 := (or #320 #404 #558)
+#563 := (or #320 #559)
+#446 := (iff #563 #560)
+#447 := [rewrite]: #446
+#445 := [quant-inst #10]: #563
+#406 := [mp #445 #447]: #560
+#433 := [unit-resolution #406 #641]: #559
+#434 := [unit-resolution #433 #432]: #404
+#493 := (not #404)
+#439 := (or #493 #554)
+#551 := (= #12 0::Int)
 #13 := (+ #10 #12)
 #14 := (f3 f4 #13)
-#219 := (f5 f6 #14)
-#347 := -1::Int
-#203 := (* -1::Int #219)
-#204 := (+ #10 #12 #203)
-#550 := (<= #204 0::Int)
-#541 := (= #204 0::Int)
-#559 := (>= #13 0::Int)
-#503 := (>= #12 0::Int)
-#453 := (not #350)
-#435 := [hypothesis]: #453
-#498 := (or #503 #350)
-#496 := (or #263 #503 #350)
-#499 := (or #263 #498)
-#399 := (iff #499 #496)
-#401 := [rewrite]: #399
-#384 := [quant-inst #12]: #499
-#402 := [mp #384 #401]: #496
-#431 := [unit-resolution #402 #585]: #498
-#432 := [unit-resolution #431 #435]: #503
-#457 := [hypothesis]: #346
-#433 := (not #503)
-#436 := (or #559 #448 #433)
-#437 := [th-lemma arith assign-bounds -1 -1]: #436
-#438 := [unit-resolution #437 #457 #432]: #559
-#565 := (not #559)
-#205 := (or #565 #541)
+#275 := (f5 f6 #14)
+#403 := -1::Int
+#260 := (* -1::Int #275)
+#261 := (+ #12 #260)
+#262 := (+ #10 #261)
+#609 := (<= #262 0::Int)
+#597 := (= #262 0::Int)
+#615 := (>= #13 0::Int)
+#561 := (>= #12 0::Int)
+#517 := (not #554)
+#490 := [hypothesis]: #517
+#456 := (or #561 #554)
+#555 := (or #320 #561 #554)
+#440 := (or #320 #456)
+#457 := (iff #440 #555)
+#458 := [rewrite]: #457
+#455 := [quant-inst #12]: #440
+#451 := [mp #455 #458]: #555
+#496 := [unit-resolution #451 #641]: #456
+#469 := [unit-resolution #496 #490]: #561
+#497 := [hypothesis]: #404
+#470 := (not #561)
+#471 := (or #615 #493 #470)
+#364 := [th-lemma arith assign-bounds -1 -1]: #471
+#475 := [unit-resolution #364 #497 #469]: #615
+#621 := (not #615)
+#259 := (or #621 #597)
 #32 := (= #31 #28)
-#105 := (not #104)
-#108 := (or #105 #32)
-#574 := (forall (vars (?v0 Int)) (:pat #573) #108)
-#111 := (forall (vars (?v0 Int)) #108)
-#577 := (iff #111 #574)
-#575 := (iff #108 #108)
-#576 := [refl]: #575
-#578 := [quant-intro #576]: #577
-#123 := (~ #111 #111)
-#125 := (~ #108 #108)
-#122 := [refl]: #125
-#126 := [nnf-pos #122]: #123
-#57 := (or #56 #32)
-#61 := (forall (vars (?v0 Int)) #57)
-#112 := (iff #61 #111)
-#109 := (iff #57 #108)
-#106 := (iff #56 #105)
-#107 := [monotonicity #103]: #106
-#110 := [monotonicity #107]: #109
-#113 := [quant-intro #110]: #112
+#79 := (or #76 #32)
+#630 := (forall (vars (?v0 Int)) (:pat #629) #79)
+#82 := (forall (vars (?v0 Int)) #79)
+#633 := (iff #82 #630)
+#631 := (iff #79 #79)
+#632 := [refl]: #631
+#634 := [quant-intro #632]: #633
+#119 := (~ #82 #82)
+#118 := (~ #79 #79)
+#115 := [refl]: #118
+#120 := [nnf-pos #115]: #119
+#29 := (<= 0::Int #28)
 #33 := (implies #29 #32)
 #34 := (forall (vars (?v0 Int)) #33)
-#62 := (iff #34 #61)
-#58 := (iff #33 #57)
-#59 := [rewrite]: #58
-#54 := (iff #33 #33)
-#55 := [monotonicity #53]: #54
-#60 := [trans #55 #59]: #58
-#63 := [quant-intro #60]: #62
-#42 := [asserted]: #34
-#64 := [mp #42 #63]: #61
-#114 := [mp #64 #113]: #111
-#127 := [mp~ #114 #126]: #111
-#579 := [mp #127 #578]: #574
-#544 := (not #574)
-#545 := (or #544 #565 #541)
-#556 := (= #219 #13)
-#215 := (or #565 #556)
-#546 := (or #544 #215)
-#190 := (iff #546 #545)
-#542 := (or #544 #205)
-#549 := (iff #542 #545)
-#551 := [rewrite]: #549
-#548 := (iff #546 #542)
-#206 := (iff #215 #205)
-#199 := (iff #556 #541)
-#557 := [rewrite]: #199
-#543 := [monotonicity #557]: #206
-#185 := [monotonicity #543]: #548
-#191 := [trans #185 #551]: #190
-#547 := [quant-inst #13]: #546
-#552 := [mp #547 #191]: #545
-#439 := [unit-resolution #552 #579]: #205
-#434 := [unit-resolution #439 #438]: #541
-#440 := (not #541)
-#413 := (or #440 #550)
-#414 := [th-lemma arith triangle-eq]: #413
-#415 := [unit-resolution #414 #434]: #550
-#553 := (>= #204 0::Int)
-#259 := (<= #219 0::Int)
-#539 := (= #219 0::Int)
+#85 := (iff #34 #82)
+#66 := (not #29)
+#67 := (or #66 #32)
+#70 := (forall (vars (?v0 Int)) #67)
+#83 := (iff #70 #82)
+#80 := (iff #67 #79)
+#77 := (iff #66 #76)
+#73 := (iff #29 #75)
+#74 := [rewrite]: #73
+#78 := [monotonicity #74]: #77
+#81 := [monotonicity #78]: #80
+#84 := [quant-intro #81]: #83
+#71 := (iff #34 #70)
+#68 := (iff #33 #67)
+#69 := [rewrite]: #68
+#72 := [quant-intro #69]: #71
+#86 := [trans #72 #84]: #85
+#64 := [asserted]: #34
+#87 := [mp #64 #86]: #82
+#116 := [mp~ #87 #120]: #82
+#635 := [mp #116 #634]: #630
+#601 := (not #630)
+#602 := (or #601 #621 #597)
+#612 := (= #275 #13)
+#271 := (or #621 #612)
+#603 := (or #601 #271)
+#247 := (iff #603 #602)
+#604 := (or #601 #259)
+#607 := (iff #604 #602)
+#246 := [rewrite]: #607
+#241 := (iff #603 #604)
+#599 := (iff #271 #259)
+#255 := (iff #612 #597)
+#613 := [rewrite]: #255
+#600 := [monotonicity #613]: #599
+#605 := [monotonicity #600]: #241
+#608 := [trans #605 #246]: #247
+#598 := [quant-inst #13]: #603
+#606 := [mp #598 #608]: #602
+#476 := [unit-resolution #606 #635]: #259
+#477 := [unit-resolution #476 #475]: #597
+#482 := (not #597)
+#478 := (or #482 #609)
+#479 := [th-lemma arith triangle-eq]: #478
+#480 := [unit-resolution #479 #477]: #609
+#595 := (>= #262 0::Int)
+#589 := (<= #275 0::Int)
+#596 := (= #275 0::Int)
 #16 := (f3 f4 0::Int)
-#537 := (f5 f6 #16)
-#534 := (= #537 0::Int)
-#524 := (or #544 #534)
-#247 := (>= 0::Int 0::Int)
-#262 := (not #247)
-#538 := (or #262 #534)
-#525 := (or #544 #538)
-#526 := (iff #525 #524)
-#368 := (iff #524 #524)
-#369 := [rewrite]: #368
-#518 := (iff #538 #534)
-#528 := (or false #534)
-#522 := (iff #528 #534)
-#523 := [rewrite]: #522
-#532 := (iff #538 #528)
-#527 := (iff #262 false)
-#1 := true
-#250 := (not true)
-#530 := (iff #250 false)
-#244 := [rewrite]: #530
-#251 := (iff #262 #250)
-#248 := (iff #247 true)
-#249 := [rewrite]: #248
-#529 := [monotonicity #249]: #251
-#531 := [trans #529 #244]: #527
-#521 := [monotonicity #531]: #532
-#519 := [trans #521 #523]: #518
-#367 := [monotonicity #519]: #526
-#511 := [trans #367 #369]: #526
-#520 := [quant-inst #15]: #525
-#512 := [mp #520 #511]: #524
-#497 := [unit-resolution #512 #579]: #534
-#462 := (= #219 #537)
+#590 := (f5 f6 #16)
+#594 := (= #590 0::Int)
+#581 := (or #601 #594)
+#318 := (>= 0::Int 0::Int)
+#319 := (not #318)
+#304 := (or #319 #594)
+#576 := (or #601 #304)
+#423 := (iff #576 #581)
+#425 := (iff #581 #581)
+#567 := [rewrite]: #425
+#575 := (iff #304 #594)
+#588 := (or false #594)
+#579 := (iff #588 #594)
+#574 := [rewrite]: #579
+#577 := (iff #304 #588)
+#587 := (iff #319 false)
+#1 := true
+#307 := (not true)
+#300 := (iff #307 false)
+#583 := [rewrite]: #300
+#585 := (iff #319 #307)
+#305 := (iff #318 true)
+#306 := [rewrite]: #305
+#586 := [monotonicity #306]: #585
+#584 := [trans #586 #583]: #587
+#578 := [monotonicity #584]: #577
+#580 := [trans #578 #574]: #575
+#424 := [monotonicity #580]: #423
+#568 := [trans #424 #567]: #423
+#582 := [quant-inst #15]: #576
+#569 := [mp #582 #568]: #581
+#557 := [unit-resolution #569 #635]: #594
+#503 := (= #275 #590)
 #17 := (= #14 #16)
 #19 := (= f8 #16)
-#136 := (not #19)
+#133 := (not #19)
 #18 := (= f7 #16)
-#135 := (not #18)
-#137 := (or #135 #136)
-#464 := (= #13 0::Int)
-#473 := (= #13 #537)
-#491 := (= #12 #537)
-#138 := (not #137)
-#407 := [hypothesis]: #138
-#151 := (or #137 #19)
-#237 := [def-axiom]: #151
-#501 := [unit-resolution #237 #407]: #19
-#492 := [monotonicity #501]: #491
-#476 := (= #13 #12)
-#395 := (= #10 #12)
-#479 := (= f7 f8)
-#488 := (= #16 f8)
-#490 := [symm #501]: #488
-#150 := (or #137 #18)
-#236 := [def-axiom]: #150
-#482 := [unit-resolution #236 #407]: #18
-#481 := [trans #482 #490]: #479
-#475 := [monotonicity #481]: #395
-#472 := (= #13 #10)
-#487 := (= #10 #13)
-#495 := (<= #12 0::Int)
-#493 := [trans #492 #497]: #400
-#489 := (not #400)
-#494 := (or #489 #495)
-#483 := [th-lemma arith triangle-eq]: #494
-#484 := [unit-resolution #483 #493]: #495
-#485 := (or #489 #503)
-#486 := [th-lemma arith triangle-eq]: #485
-#480 := [unit-resolution #486 #493]: #503
-#471 := [th-lemma arith eq-propagate -1 -1 #480 #484]: #487
-#474 := [symm #471]: #472
-#477 := [trans #474 #475]: #476
-#478 := [trans #477 #492]: #473
-#465 := [trans #478 #497]: #464
-#467 := [monotonicity #465]: #17
-#47 := (not #17)
-#560 := (or #47 #137)
-#144 := (iff #17 #137)
+#132 := (not #18)
+#123 := (or #132 #133)
+#521 := (= #13 0::Int)
+#534 := (= #13 #590)
+#548 := (= #12 #590)
+#124 := (not #123)
+#556 := [hypothesis]: #124
+#208 := (or #123 #19)
+#293 := [def-axiom]: #208
+#544 := [unit-resolution #293 #556]: #19
+#549 := [monotonicity #544]: #548
+#533 := (= #13 #12)
+#459 := (= #10 #12)
+#537 := (= f7 f8)
+#546 := (= #16 f8)
+#538 := [symm #544]: #546
+#207 := (or #123 #18)
+#292 := [def-axiom]: #207
+#535 := [unit-resolution #292 #556]: #18
+#547 := [trans #535 #538]: #537
+#532 := [monotonicity #547]: #459
+#530 := (= #13 #10)
+#527 := (= #10 #13)
+#552 := (<= #12 0::Int)
+#545 := [trans #549 #557]: #551
+#550 := (not #551)
+#539 := (or #550 #552)
+#540 := [th-lemma arith triangle-eq]: #539
+#541 := [unit-resolution #540 #545]: #552
+#542 := (or #550 #561)
+#536 := [th-lemma arith triangle-eq]: #542
+#543 := [unit-resolution #536 #545]: #561
+#528 := [th-lemma arith eq-propagate -1 -1 #543 #541]: #527
+#531 := [symm #528]: #530
+#529 := [trans #531 #532]: #533
+#520 := [trans #529 #549]: #534
+#523 := [trans #520 #557]: #521
+#524 := [monotonicity #523]: #17
+#59 := (not #17)
+#616 := (or #59 #123)
+#139 := (iff #17 #123)
 #20 := (and #18 #19)
-#48 := (iff #47 #20)
-#147 := (iff #48 #144)
-#141 := (iff #47 #138)
-#145 := (iff #141 #144)
-#146 := [rewrite]: #145
-#142 := (iff #48 #141)
-#139 := (iff #20 #138)
-#140 := [rewrite]: #139
-#143 := [monotonicity #140]: #142
-#148 := [trans #143 #146]: #147
+#60 := (iff #59 #20)
+#142 := (iff #60 #139)
+#136 := (iff #59 #124)
+#140 := (iff #136 #139)
+#141 := [rewrite]: #140
+#137 := (iff #60 #136)
+#134 := (iff #20 #124)
+#135 := [rewrite]: #134
+#138 := [monotonicity #135]: #137
+#143 := [trans #138 #141]: #142
 #21 := (iff #17 #20)
 #22 := (not #21)
-#49 := (iff #22 #48)
-#50 := [rewrite]: #49
-#40 := [asserted]: #22
-#51 := [mp #40 #50]: #48
-#149 := [mp #51 #148]: #144
-#240 := (not #144)
-#222 := (or #47 #137 #240)
-#558 := [def-axiom]: #222
-#216 := [unit-resolution #558 #149]: #560
-#500 := [unit-resolution #216 #407]: #47
-#468 := [unit-resolution #500 #467]: false
-#469 := [lemma #468]: #137
-#239 := (or #17 #138)
-#241 := (or #17 #138 #240)
-#242 := [def-axiom]: #241
-#243 := [unit-resolution #242 #149]: #239
-#461 := [unit-resolution #243 #469]: #17
-#452 := [monotonicity #461]: #462
-#463 := [trans #452 #497]: #539
-#441 := (not #539)
-#442 := (or #441 #259)
-#444 := [th-lemma arith triangle-eq]: #442
-#445 := [unit-resolution #444 #463]: #259
-#308 := (not #259)
-#419 := (or #553 #448 #433 #308)
-#420 := [th-lemma arith assign-bounds -1 -1 1]: #419
-#421 := [unit-resolution #420 #457 #445 #432]: #553
-#533 := (>= #219 0::Int)
-#426 := (or #441 #533)
-#422 := [th-lemma arith triangle-eq]: #426
-#423 := [unit-resolution #422 #463]: #533
-#403 := (* -1::Int #12)
-#404 := (+ #10 #403)
-#456 := (<= #404 0::Int)
-#447 := (not #550)
-#424 := (or #456 #433 #308 #447)
-#427 := [th-lemma arith assign-bounds 1 -1/2 -1/2]: #424
-#428 := [unit-resolution #427 #415 #432 #445]: #456
-#406 := (>= #404 0::Int)
-#443 := (or #406 #447 #448)
-#458 := (not #406)
-#459 := [hypothesis]: #458
-#460 := [hypothesis]: #550
-#446 := [th-lemma arith farkas -1/2 -1/2 -1/2 1 #445 #460 #459 #457]: false
-#449 := [lemma #446]: #443
-#429 := [unit-resolution #449 #415 #457]: #406
-#425 := [th-lemma arith eq-propagate 1/2 1/2 -1/2 -1/2 -1/2 -1/2 #429 #428 #423 #445 #421 #415]: #400
-#430 := (= #505 #12)
-#561 := (= #228 f8)
+#61 := (iff #22 #60)
+#62 := [rewrite]: #61
+#58 := [asserted]: #22
+#65 := [mp #58 #62]: #60
+#144 := [mp #65 #143]: #139
+#296 := (not #139)
+#278 := (or #59 #123 #296)
+#614 := [def-axiom]: #278
+#272 := [unit-resolution #614 #144]: #616
+#553 := [unit-resolution #272 #556]: #59
+#525 := [unit-resolution #553 #524]: false
+#522 := [lemma #525]: #123
+#295 := (or #17 #124)
+#297 := (or #17 #124 #296)
+#298 := [def-axiom]: #297
+#299 := [unit-resolution #298 #144]: #295
+#502 := [unit-resolution #299 #522]: #17
+#504 := [monotonicity #502]: #503
+#499 := [trans #504 #557]: #596
+#505 := (not #596)
+#491 := (or #505 #589)
+#487 := [th-lemma arith triangle-eq]: #491
+#488 := [unit-resolution #487 #499]: #589
+#483 := (not #589)
+#484 := (or #595 #493 #470 #483)
+#485 := [th-lemma arith assign-bounds -1 -1 1]: #484
+#481 := [unit-resolution #485 #497 #488 #469]: #595
+#593 := (>= #275 0::Int)
+#486 := (or #505 #593)
+#466 := [th-lemma arith triangle-eq]: #486
+#412 := [unit-resolution #466 #499]: #593
+#460 := (* -1::Int #12)
+#461 := (+ #10 #460)
+#519 := (<= #461 0::Int)
+#492 := (not #609)
+#467 := (or #519 #470 #483 #492)
+#448 := [th-lemma arith assign-bounds 1 -1/2 -1/2]: #467
+#472 := [unit-resolution #448 #480 #469 #488]: #519
+#463 := (>= #461 0::Int)
+#494 := (or #463 #492 #493)
+#498 := (not #463)
+#500 := [hypothesis]: #498
+#501 := [hypothesis]: #609
+#489 := [th-lemma arith farkas -1/2 -1/2 -1/2 1 #488 #501 #500 #497]: false
+#495 := [lemma #489]: #494
+#473 := [unit-resolution #495 #480 #497]: #463
+#468 := [th-lemma arith eq-propagate 1/2 1/2 -1/2 -1/2 -1/2 -1/2 #473 #472 #412 #488 #481 #480]: #551
+#474 := (= #562 #12)
+#617 := (= #284 f8)
 #23 := (:var 0 S3)
 #24 := (f5 f6 #23)
-#566 := (pattern #24)
+#622 := (pattern #24)
 #25 := (f3 f4 #24)
 #26 := (= #25 #23)
-#567 := (forall (vars (?v0 S3)) (:pat #566) #26)
+#623 := (forall (vars (?v0 S3)) (:pat #622) #26)
 #27 := (forall (vars (?v0 S3)) #26)
-#570 := (iff #27 #567)
-#568 := (iff #26 #26)
-#569 := [refl]: #568
-#571 := [quant-intro #569]: #570
-#128 := (~ #27 #27)
-#100 := (~ #26 #26)
-#101 := [refl]: #100
-#129 := [nnf-pos #101]: #128
-#41 := [asserted]: #27
-#124 := [mp~ #41 #129]: #27
-#572 := [mp #124 #571]: #567
-#562 := (not #567)
-#555 := (or #562 #561)
-#214 := [quant-inst #11]: #555
-#509 := [unit-resolution #214 #572]: #561
-#410 := [monotonicity #509]: #430
-#356 := [trans #410 #425]: #350
-#411 := [unit-resolution #435 #356]: false
-#416 := [lemma #411]: #392
-#371 := [unit-resolution #416 #370]: #350
-#353 := (= #348 #505)
-#510 := (= #12 #505)
-#515 := (= f8 #228)
-#516 := [symm #509]: #515
-#517 := [monotonicity #516]: #510
-#344 := (= #348 #12)
-#372 := [trans #517 #371]: #400
-#373 := [unit-resolution #486 #372]: #503
-#374 := [unit-resolution #437 #373 #370]: #559
-#375 := [unit-resolution #439 #374]: #541
-#376 := [unit-resolution #414 #375]: #550
-#377 := [unit-resolution #427 #376 #373 #445]: #456
-#378 := [unit-resolution #449 #376 #370]: #406
-#379 := (not #456)
-#380 := (or #395 #379 #458)
-#381 := [th-lemma arith triangle-eq]: #380
-#366 := [unit-resolution #381 #378 #377]: #395
-#382 := (= #348 #10)
-#227 := (= #554 f7)
-#563 := (or #562 #227)
-#564 := [quant-inst #9]: #563
-#418 := [unit-resolution #564 #572]: #227
-#343 := [monotonicity #418]: #382
-#351 := [trans #343 #366]: #344
-#354 := [trans #351 #517]: #353
-#355 := [trans #354 #371]: #349
-#357 := [unit-resolution #364 #355]: false
-#358 := [lemma #357]: #349
-#352 := (= #10 #348)
-#386 := (= f7 #554)
-#393 := [symm #418]: #386
-#383 := [monotonicity #393]: #352
-#360 := [trans #383 #358]: #385
-#388 := (or #408 #18)
-#394 := (= #554 #16)
-#412 := [hypothesis]: #349
-#387 := [trans #383 #412]: #385
-#396 := [monotonicity #387]: #394
-#397 := [trans #393 #396]: #18
-#417 := [hypothesis]: #135
-#398 := [unit-resolution #417 #397]: false
-#409 := [lemma #398]: #388
-#361 := [unit-resolution #409 #358]: #18
-#238 := (or #138 #135 #136)
-#229 := [def-axiom]: #238
-#362 := [unit-resolution #229 #361 #469]: #136
-#454 := (or #453 #19)
-#466 := (= #228 #16)
-#508 := [hypothesis]: #350
-#405 := [trans #517 #508]: #400
-#470 := [monotonicity #405]: #466
-#450 := [trans #516 #470]: #19
-#514 := [hypothesis]: #136
-#451 := [unit-resolution #514 #450]: false
-#455 := [lemma #451]: #454
-#345 := [unit-resolution #455 #362]: #453
-#363 := [unit-resolution #416 #345]: #448
-#333 := (not #385)
-#334 := (or #333 #346)
-#335 := [th-lemma arith triangle-eq]: #334
-[unit-resolution #335 #363 #360]: false
-3c81c3713e9b37bc83515c2cd6394e0a05b5171d 65 0
-unsat
+#626 := (iff #27 #623)
+#624 := (iff #26 #26)
+#625 := [refl]: #624
+#627 := [quant-intro #625]: #626
+#127 := (~ #27 #27)
+#125 := (~ #26 #26)
+#126 := [refl]: #125
+#128 := [nnf-pos #126]: #127
+#63 := [asserted]: #27
+#117 := [mp~ #63 #128]: #27
+#628 := [mp #117 #627]: #623
+#618 := (not #623)
+#611 := (or #618 #617)
+#270 := [quant-inst #11]: #611
+#506 := [unit-resolution #270 #628]: #617
+#442 := [monotonicity #506]: #474
+#449 := [trans #442 #468]: #554
+#408 := [unit-resolution #490 #449]: false
+#441 := [lemma #408]: #439
+#435 := [unit-resolution #441 #434]: #554
+#418 := (= #405 #562)
+#510 := (= #12 #562)
+#507 := (= f8 #284)
+#509 := [symm #506]: #507
+#511 := [monotonicity #509]: #510
+#416 := (= #405 #12)
+#436 := [trans #511 #435]: #551
+#437 := [unit-resolution #536 #436]: #561
+#422 := [unit-resolution #364 #437 #434]: #615
+#438 := [unit-resolution #476 #422]: #597
+#399 := [unit-resolution #479 #438]: #609
+#400 := [unit-resolution #448 #399 #437 #488]: #519
+#407 := [unit-resolution #495 #399 #434]: #463
+#409 := (not #519)
+#410 := (or #459 #409 #498)
+#411 := [th-lemma arith triangle-eq]: #410
+#413 := [unit-resolution #411 #407 #400]: #459
+#414 := (= #405 #10)
+#283 := (= #610 f7)
+#619 := (or #618 #283)
+#620 := [quant-inst #9]: #619
+#452 := [unit-resolution #620 #628]: #283
+#415 := [monotonicity #452]: #414
+#417 := [trans #415 #413]: #416
+#401 := [trans #417 #511]: #418
+#419 := [trans #401 #435]: #558
+#389 := [unit-resolution #432 #419]: false
+#390 := [lemma #389]: #558
+#464 := (= #10 #405)
+#453 := (= f7 #610)
+#454 := [symm #452]: #453
+#444 := [monotonicity #454]: #464
+#392 := [trans #444 #390]: #465
+#430 := (or #429 #18)
+#421 := (= #610 #16)
+#450 := [hypothesis]: #558
+#420 := [trans #444 #450]: #465
+#426 := [monotonicity #420]: #421
+#427 := [trans #454 #426]: #18
+#443 := [hypothesis]: #132
+#428 := [unit-resolution #443 #427]: false
+#431 := [lemma #428]: #430
+#394 := [unit-resolution #431 #390]: #18
+#294 := (or #124 #132 #133)
+#285 := [def-axiom]: #294
+#395 := [unit-resolution #285 #394 #522]: #133
+#518 := (or #517 #19)
+#513 := (= #284 #16)
+#526 := [hypothesis]: #554
+#512 := [trans #511 #526]: #551
+#514 := [monotonicity #512]: #513
+#515 := [trans #509 #514]: #19
+#462 := [hypothesis]: #133
+#516 := [unit-resolution #462 #515]: false
+#508 := [lemma #516]: #518
+#396 := [unit-resolution #508 #395]: #517
+#238 := [unit-resolution #441 #396]: #493
+#397 := (not #465)
+#393 := (or #397 #404)
+#398 := [th-lemma arith triangle-eq]: #393
+[unit-resolution #398 #238 #392]: false
+unsat
+7309f258a79af4da7f45b6f7385fe1a230a81a14 51 0
 #2 := false
 decl f5 :: (-> S4 S3 Int)
 #16 := (:var 0 S3)
 decl f6 :: S4
 #8 := f6
 #17 := (f5 f6 #16)
-#564 := (pattern #17)
+#607 := (pattern #17)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #18 := (f3 f4 #17)
 #19 := (= #18 #16)
-#565 := (forall (vars (?v0 S3)) (:pat #564) #19)
+#608 := (forall (vars (?v0 S3)) (:pat #607) #19)
 #20 := (forall (vars (?v0 S3)) #19)
-#568 := (iff #20 #565)
-#566 := (iff #19 #19)
-#567 := [refl]: #566
-#569 := [quant-intro #567]: #568
-#138 := (~ #20 #20)
-#142 := (~ #19 #19)
-#143 := [refl]: #142
-#139 := [nnf-pos #143]: #138
-#34 := [asserted]: #20
-#140 := [mp~ #34 #139]: #20
-#570 := [mp #140 #569]: #565
+#611 := (iff #20 #608)
+#609 := (iff #19 #19)
+#610 := [refl]: #609
+#612 := [quant-intro #610]: #611
+#127 := (~ #20 #20)
+#125 := (~ #19 #19)
+#126 := [refl]: #125
+#128 := [nnf-pos #126]: #127
+#63 := [asserted]: #20
+#117 := [mp~ #63 #128]: #20
+#613 := [mp #117 #612]: #608
 decl f7 :: S3
 #9 := f7
 #10 := (f5 f6 f7)
-#56 := (f3 f4 #10)
-#59 := (= #56 f7)
-#62 := (not #59)
+#54 := (f3 f4 #10)
+#57 := (= #54 f7)
+#60 := (not #57)
 #11 := 0::Int
 #12 := (- #10 0::Int)
 #13 := (f3 f4 #12)
 #14 := (= #13 f7)
 #15 := (not #14)
-#63 := (iff #15 #62)
-#60 := (iff #14 #59)
-#57 := (= #13 #56)
-#54 := (= #12 #10)
-#40 := -1::Int
-#41 := (* -1::Int 0::Int)
-#42 := (+ #10 #41)
-#52 := (= #42 #10)
-#47 := (+ #10 0::Int)
-#50 := (= #47 #10)
-#51 := [rewrite]: #50
-#48 := (= #42 #47)
-#45 := (= #41 0::Int)
-#46 := [rewrite]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#43 := (= #12 #42)
-#44 := [rewrite]: #43
-#55 := [trans #44 #53]: #54
-#58 := [monotonicity #55]: #57
-#61 := [monotonicity #58]: #60
-#64 := [monotonicity #61]: #63
-#33 := [asserted]: #15
-#65 := [mp #33 #64]: #62
-#150 := (not #565)
-#236 := (or #150 #59)
-#237 := [quant-inst #9]: #236
-[unit-resolution #237 #65 #570]: false
-7a1aee105dba714bf6a08b99cf3f498e052aeddf 156 0
-unsat
+#61 := (iff #15 #60)
+#58 := (iff #14 #57)
+#55 := (= #13 #54)
+#52 := (= #12 #10)
+#53 := [rewrite]: #52
+#56 := [monotonicity #53]: #55
+#59 := [monotonicity #56]: #58
+#62 := [monotonicity #59]: #61
+#51 := [asserted]: #15
+#65 := [mp #51 #62]: #60
+#278 := (not #608)
+#279 := (or #278 #57)
+#270 := [quant-inst #9]: #279
+[unit-resolution #270 #65 #613]: false
+unsat
+a612762a52e0e6c4e482e14565e5fee7610935cc 161 0
 #2 := false
 decl f7 :: (-> S4 Int S3)
 #16 := 0::Int
@@ -11227,151 +10262,156 @@
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#49 := -1::Int
-#50 := (* -1::Int #11)
+#57 := -1::Int
+#58 := (* -1::Int #11)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#51 := (+ #9 #50)
-#54 := (f7 f8 #51)
-#57 := (= #54 #17)
-#256 := (f3 f4 #54)
-#530 := (f7 f8 #256)
-#509 := (= #530 #17)
-#405 := (= #17 #530)
-#403 := (= 0::Int #256)
-#219 := (= #256 0::Int)
+#59 := (+ #9 #58)
+#62 := (f7 f8 #59)
+#65 := (= #62 #17)
+#321 := (f3 f4 #62)
+#589 := (f7 f8 #321)
+#575 := (= #589 #17)
+#429 := (= #17 #589)
+#469 := (= 0::Int #321)
+#285 := (= #321 0::Int)
 #26 := (:var 0 Int)
 #28 := (f7 f8 #26)
-#587 := (pattern #28)
+#652 := (pattern #28)
 #29 := (f3 f4 #28)
 #34 := (= #29 0::Int)
-#133 := (>= #26 0::Int)
-#145 := (or #133 #34)
-#594 := (forall (vars (?v0 Int)) (:pat #587) #145)
-#148 := (forall (vars (?v0 Int)) #145)
-#597 := (iff #148 #594)
-#595 := (iff #145 #145)
-#596 := [refl]: #595
-#598 := [quant-intro #596]: #597
-#162 := (~ #148 #148)
-#158 := (~ #145 #145)
-#159 := [refl]: #158
-#163 := [nnf-pos #159]: #162
-#27 := (<= 0::Int #26)
-#96 := (or #27 #34)
-#101 := (forall (vars (?v0 Int)) #96)
-#149 := (iff #101 #148)
-#146 := (iff #96 #145)
-#132 := (iff #27 #133)
-#134 := [rewrite]: #132
-#147 := [monotonicity #134]: #146
-#150 := [quant-intro #147]: #149
+#113 := (>= #26 0::Int)
+#144 := (or #113 #34)
+#659 := (forall (vars (?v0 Int)) (:pat #652) #144)
+#147 := (forall (vars (?v0 Int)) #144)
+#662 := (iff #147 #659)
+#660 := (iff #144 #144)
+#661 := [refl]: #660
+#663 := [quant-intro #661]: #662
+#162 := (~ #147 #147)
+#154 := (~ #144 #144)
+#155 := [refl]: #154
+#163 := [nnf-pos #155]: #162
 #33 := (< #26 0::Int)
 #35 := (implies #33 #34)
 #36 := (forall (vars (?v0 Int)) #35)
-#102 := (iff #36 #101)
-#99 := (iff #35 #96)
-#79 := (not #27)
-#93 := (implies #79 #34)
-#97 := (iff #93 #96)
-#98 := [rewrite]: #97
-#94 := (iff #35 #93)
-#88 := (iff #33 #79)
-#90 := (iff #79 #79)
-#75 := (iff #27 #27)
-#76 := [rewrite]: #75
-#91 := [monotonicity #76]: #90
-#89 := [rewrite]: #88
-#92 := [trans #89 #91]: #88
-#95 := [monotonicity #92]: #94
-#100 := [trans #95 #98]: #99
-#103 := [quant-intro #100]: #102
-#41 := [asserted]: #36
-#104 := [mp #41 #103]: #101
-#151 := [mp #104 #150]: #148
-#164 := [mp~ #151 #163]: #148
-#599 := [mp #164 #598]: #594
-#126 := (>= #51 0::Int)
-#128 := (not #126)
-#45 := (<= #11 #9)
-#46 := (not #45)
-#129 := (iff #46 #128)
-#125 := (iff #45 #126)
-#127 := [rewrite]: #125
-#130 := [monotonicity #127]: #129
-#63 := (or #45 #57)
-#68 := (not #63)
+#150 := (iff #36 #147)
+#128 := (not #33)
+#129 := (or #128 #34)
+#132 := (forall (vars (?v0 Int)) #129)
+#148 := (iff #132 #147)
+#145 := (iff #129 #144)
+#142 := (iff #128 #113)
+#115 := (not #113)
+#137 := (not #115)
+#140 := (iff #137 #113)
+#141 := [rewrite]: #140
+#138 := (iff #128 #137)
+#135 := (iff #33 #115)
+#136 := [rewrite]: #135
+#139 := [monotonicity #136]: #138
+#143 := [trans #139 #141]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#133 := (iff #36 #132)
+#130 := (iff #35 #129)
+#131 := [rewrite]: #130
+#134 := [quant-intro #131]: #133
+#151 := [trans #134 #149]: #150
+#127 := [asserted]: #36
+#152 := [mp #127 #151]: #147
+#170 := [mp~ #152 #163]: #147
+#664 := [mp #170 #663]: #659
+#81 := (>= #59 0::Int)
+#80 := (not #81)
+#91 := (or #81 #65)
+#94 := (not #91)
 #14 := (- #9 #11)
 #15 := (f7 f8 #14)
 #18 := (= #15 #17)
 #12 := (< #9 #11)
 #19 := (implies #12 #18)
 #20 := (not #19)
-#69 := (iff #20 #68)
-#66 := (iff #19 #63)
-#60 := (implies #46 #57)
-#64 := (iff #60 #63)
-#65 := [rewrite]: #64
-#61 := (iff #19 #60)
-#58 := (iff #18 #57)
-#55 := (= #15 #54)
-#52 := (= #14 #51)
-#53 := [rewrite]: #52
-#56 := [monotonicity #53]: #55
-#59 := [monotonicity #56]: #58
-#47 := (iff #12 #46)
-#48 := [rewrite]: #47
-#62 := [monotonicity #48 #59]: #61
-#67 := [trans #62 #65]: #66
+#97 := (iff #20 #94)
+#71 := (not #12)
+#72 := (or #71 #65)
+#77 := (not #72)
+#95 := (iff #77 #94)
+#92 := (iff #72 #91)
+#89 := (iff #71 #81)
+#84 := (not #80)
+#87 := (iff #84 #81)
+#88 := [rewrite]: #87
+#85 := (iff #71 #84)
+#82 := (iff #12 #80)
+#83 := [rewrite]: #82
+#86 := [monotonicity #83]: #85
+#90 := [trans #86 #88]: #89
+#93 := [monotonicity #90]: #92
+#96 := [monotonicity #93]: #95
+#78 := (iff #20 #77)
+#75 := (iff #19 #72)
+#68 := (implies #12 #65)
+#73 := (iff #68 #72)
+#74 := [rewrite]: #73
+#69 := (iff #19 #68)
+#66 := (iff #18 #65)
+#63 := (= #15 #62)
+#60 := (= #14 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
 #70 := [monotonicity #67]: #69
-#38 := [asserted]: #20
-#71 := [mp #38 #70]: #68
-#72 := [not-or-elim #71]: #46
-#131 := [mp #72 #130]: #128
-#558 := (not #594)
-#559 := (or #558 #126 #219)
-#220 := (or #126 #219)
-#560 := (or #558 #220)
-#556 := (iff #560 #559)
-#562 := [rewrite]: #556
-#561 := [quant-inst #51]: #560
-#200 := [mp #561 #562]: #559
-#520 := [unit-resolution #200 #131 #599]: #219
-#404 := [symm #520]: #403
-#364 := [monotonicity #404]: #405
-#510 := [symm #364]: #509
-#512 := (= #54 #530)
-#524 := (= #530 #54)
+#76 := [trans #70 #74]: #75
+#79 := [monotonicity #76]: #78
+#98 := [trans #79 #96]: #97
+#56 := [asserted]: #20
+#99 := [mp #56 #98]: #94
+#100 := [not-or-elim #99]: #80
+#624 := (not #659)
+#625 := (or #624 #81 #285)
+#286 := (or #81 #285)
+#626 := (or #624 #286)
+#627 := (iff #626 #625)
+#265 := [rewrite]: #627
+#621 := [quant-inst #59]: #626
+#628 := [mp #621 #265]: #625
+#583 := [unit-resolution #628 #100 #664]: #285
+#470 := [symm #583]: #469
+#577 := [monotonicity #470]: #429
+#578 := [symm #577]: #575
+#479 := (= #62 #589)
+#596 := (= #589 #62)
 #21 := (:var 0 S3)
 #22 := (f3 f4 #21)
-#580 := (pattern #22)
+#645 := (pattern #22)
 #23 := (f7 f8 #22)
 #24 := (= #23 #21)
-#581 := (forall (vars (?v0 S3)) (:pat #580) #24)
+#646 := (forall (vars (?v0 S3)) (:pat #645) #24)
 #25 := (forall (vars (?v0 S3)) #24)
-#584 := (iff #25 #581)
-#582 := (iff #24 #24)
-#583 := [refl]: #582
-#585 := [quant-intro #583]: #584
-#156 := (~ #25 #25)
-#154 := (~ #24 #24)
-#155 := [refl]: #154
-#157 := [nnf-pos #155]: #156
-#39 := [asserted]: #25
-#123 := [mp~ #39 #157]: #25
-#586 := [mp #123 #585]: #581
-#253 := (not #581)
-#518 := (or #253 #524)
-#521 := [quant-inst #54]: #518
-#519 := [unit-resolution #521 #586]: #524
-#414 := [symm #519]: #512
-#513 := [trans #414 #510]: #57
-#73 := (not #57)
-#74 := [not-or-elim #71]: #73
-[unit-resolution #74 #513]: false
-18cfec257bf09c7e04f15e4363ab463f93e36d3c 297 0
-unsat
+#649 := (iff #25 #646)
+#647 := (iff #24 #24)
+#648 := [refl]: #647
+#650 := [quant-intro #648]: #649
+#168 := (~ #25 #25)
+#166 := (~ #24 #24)
+#167 := [refl]: #166
+#169 := [nnf-pos #167]: #168
+#103 := [asserted]: #25
+#158 := [mp~ #103 #169]: #25
+#651 := [mp #158 #650]: #646
+#318 := (not #646)
+#586 := (or #318 #596)
+#468 := [quant-inst #62]: #586
+#585 := [unit-resolution #468 #651]: #596
+#574 := [symm #585]: #479
+#463 := [trans #574 #578]: #65
+#101 := (not #65)
+#102 := [not-or-elim #99]: #101
+[unit-resolution #102 #463]: false
+unsat
+daef8f790726761d318bc7ef25020f07145aab1a 281 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #15 := 0::Int
@@ -11384,292 +10424,276 @@
 decl f6 :: S4
 #8 := f6
 #12 := (f5 f6 f8)
-#51 := -1::Int
-#52 := (* -1::Int #12)
+#59 := -1::Int
+#60 := (* -1::Int #12)
 decl f7 :: S3
 #9 := f7
 #10 := (f5 f6 f7)
-#53 := (+ #10 #52)
-#56 := (f3 f4 #53)
-#59 := (= #56 #16)
-#248 := (f5 f6 #56)
-#490 := (f3 f4 #248)
-#435 := (= #490 #16)
-#453 := (= #16 #490)
-#449 := (= 0::Int #248)
-#232 := (= #248 0::Int)
-#267 := (>= #53 0::Int)
-#268 := (not #267)
-#66 := (* -1::Int #10)
-#128 := (+ #66 #12)
-#131 := (f3 f4 #128)
-#392 := (f5 f6 #131)
-#515 := (<= #392 0::Int)
-#463 := (not #515)
-#521 := (= #392 0::Int)
-#477 := (not #521)
-#134 := (= #131 #16)
-#497 := (f3 f4 #392)
-#484 := (= #497 #16)
-#480 := (= #16 #497)
-#478 := (= 0::Int #392)
-#495 := [hypothesis]: #521
-#479 := [symm #495]: #478
-#481 := [monotonicity #479]: #480
-#485 := [symm #481]: #484
-#482 := (= #131 #497)
-#499 := (= #497 #131)
+#61 := (+ #10 #60)
+#64 := (f3 f4 #61)
+#67 := (= #64 #16)
+#290 := (f5 f6 #64)
+#535 := (f3 f4 #290)
+#460 := (= #535 #16)
+#484 := (= #16 #535)
+#459 := (= 0::Int #290)
+#610 := (= #290 0::Int)
+#309 := (>= #61 0::Int)
+#310 := (not #309)
+#70 := (* -1::Int #10)
+#71 := (+ #70 #12)
+#74 := (f3 f4 #71)
+#435 := (f5 f6 #74)
+#546 := (<= #435 0::Int)
+#487 := (not #546)
+#451 := (= #435 0::Int)
+#508 := (not #451)
+#77 := (= #74 #16)
+#542 := (f3 f4 #435)
+#528 := (= #542 #16)
+#524 := (= #16 #542)
+#522 := (= 0::Int #435)
+#518 := [hypothesis]: #451
+#523 := [symm #518]: #522
+#525 := [monotonicity #523]: #524
+#529 := [symm #525]: #528
+#526 := (= #74 #542)
+#543 := (= #542 #74)
 #23 := (:var 0 S3)
 #24 := (f5 f6 #23)
-#591 := (pattern #24)
+#633 := (pattern #24)
 #25 := (f3 f4 #24)
 #26 := (= #25 #23)
-#592 := (forall (vars (?v0 S3)) (:pat #591) #26)
+#634 := (forall (vars (?v0 S3)) (:pat #633) #26)
 #27 := (forall (vars (?v0 S3)) #26)
-#595 := (iff #27 #592)
-#593 := (iff #26 #26)
-#594 := [refl]: #593
-#596 := [quant-intro #594]: #595
-#171 := (~ #27 #27)
-#167 := (~ #26 #26)
-#168 := [refl]: #167
-#172 := [nnf-pos #168]: #171
-#45 := [asserted]: #27
-#169 := [mp~ #45 #172]: #27
-#597 := [mp #169 #596]: #592
-#264 := (not #592)
-#493 := (or #264 #499)
-#494 := [quant-inst #131]: #493
-#491 := [unit-resolution #494 #597]: #499
-#483 := [symm #491]: #482
-#486 := [trans #483 #485]: #134
-#137 := (not #134)
-#67 := (+ #12 #66)
-#70 := (f3 f4 #67)
-#73 := (= #70 #16)
-#76 := (not #73)
-#138 := (iff #76 #137)
-#135 := (iff #73 #134)
-#132 := (= #70 #131)
-#129 := (= #67 #128)
-#130 := [rewrite]: #129
-#133 := [monotonicity #130]: #132
-#136 := [monotonicity #133]: #135
-#139 := [monotonicity #136]: #138
+#637 := (iff #27 #634)
+#635 := (iff #26 #26)
+#636 := [refl]: #635
+#638 := [quant-intro #636]: #637
+#156 := (~ #27 #27)
+#154 := (~ #26 #26)
+#155 := [refl]: #154
+#157 := [nnf-pos #155]: #156
+#91 := [asserted]: #27
+#146 := [mp~ #91 #157]: #27
+#639 := [mp #146 #638]: #634
+#306 := (not #634)
+#533 := (or #306 #543)
+#537 := [quant-inst #74]: #533
+#517 := [unit-resolution #537 #639]: #543
+#527 := [symm #517]: #526
+#519 := [trans #527 #529]: #77
+#89 := (not #77)
+#80 := (or #67 #77)
+#83 := (not #80)
 #18 := (- #12 #10)
 #19 := (f3 f4 #18)
 #20 := (= #19 #16)
-#43 := (not #20)
-#77 := (iff #43 #76)
-#74 := (iff #20 #73)
-#71 := (= #19 #70)
-#68 := (= #18 #67)
-#69 := [rewrite]: #68
-#72 := [monotonicity #69]: #71
-#75 := [monotonicity #72]: #74
-#78 := [monotonicity #75]: #77
 #13 := (- #10 #12)
 #14 := (f3 f4 #13)
 #17 := (= #14 #16)
 #21 := (or #17 #20)
 #22 := (not #21)
-#40 := [asserted]: #22
-#44 := [not-or-elim #40]: #43
-#79 := [mp #44 #78]: #76
-#142 := [mp #79 #139]: #137
-#487 := [unit-resolution #142 #486]: false
-#488 := [lemma #487]: #477
-#507 := (>= #392 0::Int)
-#536 := (<= #53 0::Int)
-#409 := (or #536 #521)
+#84 := (iff #22 #83)
+#81 := (iff #21 #80)
+#78 := (iff #20 #77)
+#75 := (= #19 #74)
+#72 := (= #18 #71)
+#73 := [rewrite]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76]: #78
+#68 := (iff #17 #67)
+#65 := (= #14 #64)
+#62 := (= #13 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#69 := [monotonicity #66]: #68
+#82 := [monotonicity #69 #79]: #81
+#85 := [monotonicity #82]: #84
+#58 := [asserted]: #22
+#88 := [mp #58 #85]: #83
+#90 := [not-or-elim #88]: #89
+#530 := [unit-resolution #90 #519]: false
+#509 := [lemma #530]: #508
+#548 := (>= #435 0::Int)
+#579 := (<= #61 0::Int)
+#468 := (or #579 #451)
 #28 := (:var 0 Int)
 #30 := (f3 f4 #28)
-#598 := (pattern #30)
+#640 := (pattern #30)
 #31 := (f5 f6 #30)
 #36 := (= #31 0::Int)
-#144 := (>= #28 0::Int)
-#156 := (or #144 #36)
-#605 := (forall (vars (?v0 Int)) (:pat #598) #156)
-#159 := (forall (vars (?v0 Int)) #156)
-#608 := (iff #159 #605)
-#606 := (iff #156 #156)
-#607 := [refl]: #606
-#609 := [quant-intro #607]: #608
-#173 := (~ #159 #159)
-#165 := (~ #156 #156)
-#166 := [refl]: #165
-#174 := [nnf-pos #166]: #173
-#29 := (<= 0::Int #28)
-#101 := (or #29 #36)
-#106 := (forall (vars (?v0 Int)) #101)
-#160 := (iff #106 #159)
-#157 := (iff #101 #156)
-#143 := (iff #29 #144)
-#145 := [rewrite]: #143
-#158 := [monotonicity #145]: #157
-#161 := [quant-intro #158]: #160
+#101 := (>= #28 0::Int)
+#132 := (or #101 #36)
+#647 := (forall (vars (?v0 Int)) (:pat #640) #132)
+#135 := (forall (vars (?v0 Int)) #132)
+#650 := (iff #135 #647)
+#648 := (iff #132 #132)
+#649 := [refl]: #648
+#651 := [quant-intro #649]: #650
+#150 := (~ #135 #135)
+#142 := (~ #132 #132)
+#143 := [refl]: #142
+#151 := [nnf-pos #143]: #150
 #35 := (< #28 0::Int)
 #37 := (implies #35 #36)
 #38 := (forall (vars (?v0 Int)) #37)
-#107 := (iff #38 #106)
-#104 := (iff #37 #101)
-#84 := (not #29)
-#98 := (implies #84 #36)
-#102 := (iff #98 #101)
-#103 := [rewrite]: #102
-#99 := (iff #37 #98)
-#93 := (iff #35 #84)
-#95 := (iff #84 #84)
-#80 := (iff #29 #29)
-#81 := [rewrite]: #80
-#96 := [monotonicity #81]: #95
-#94 := [rewrite]: #93
-#97 := [trans #94 #96]: #93
-#100 := [monotonicity #97]: #99
-#105 := [trans #100 #103]: #104
-#108 := [quant-intro #105]: #107
-#47 := [asserted]: #38
-#109 := [mp #47 #108]: #106
-#162 := [mp #109 #161]: #159
-#175 := [mp~ #162 #174]: #159
-#610 := [mp #175 #609]: #605
-#571 := (not #605)
-#427 := (or #571 #536 #521)
-#545 := (>= #128 0::Int)
-#524 := (or #545 #521)
-#420 := (or #571 #524)
-#522 := (iff #420 #427)
-#429 := (or #571 #409)
-#432 := (iff #429 #427)
-#525 := [rewrite]: #432
-#430 := (iff #420 #429)
-#424 := (iff #524 #409)
-#537 := (iff #545 #536)
-#538 := [rewrite]: #537
-#426 := [monotonicity #538]: #424
-#431 := [monotonicity #426]: #430
-#526 := [trans #431 #525]: #522
-#428 := [quant-inst #128]: #420
-#513 := [mp #428 #526]: #427
-#544 := [unit-resolution #513 #610]: #409
-#471 := [unit-resolution #544 #488]: #536
-#540 := (+ #10 #52 #392)
-#520 := (>= #540 0::Int)
-#541 := (= #540 0::Int)
-#539 := (not #536)
-#371 := (or #539 #541)
+#138 := (iff #38 #135)
+#116 := (not #35)
+#117 := (or #116 #36)
+#120 := (forall (vars (?v0 Int)) #117)
+#136 := (iff #120 #135)
+#133 := (iff #117 #132)
+#130 := (iff #116 #101)
+#103 := (not #101)
+#125 := (not #103)
+#128 := (iff #125 #101)
+#129 := [rewrite]: #128
+#126 := (iff #116 #125)
+#123 := (iff #35 #103)
+#124 := [rewrite]: #123
+#127 := [monotonicity #124]: #126
+#131 := [trans #127 #129]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#121 := (iff #38 #120)
+#118 := (iff #37 #117)
+#119 := [rewrite]: #118
+#122 := [quant-intro #119]: #121
+#139 := [trans #122 #137]: #138
+#115 := [asserted]: #38
+#140 := [mp #115 #139]: #135
+#158 := [mp~ #140 #151]: #135
+#652 := [mp #158 #651]: #647
+#614 := (not #647)
+#470 := (or #614 #579 #451)
+#593 := (>= #71 0::Int)
+#466 := (or #593 #451)
+#471 := (or #614 #466)
+#555 := (iff #471 #470)
+#473 := (or #614 #468)
+#564 := (iff #473 #470)
+#568 := [rewrite]: #564
+#474 := (iff #471 #473)
+#469 := (iff #466 #468)
+#580 := (iff #593 #579)
+#581 := [rewrite]: #580
+#462 := [monotonicity #581]: #469
+#567 := [monotonicity #462]: #474
+#557 := [trans #567 #568]: #555
+#472 := [quant-inst #71]: #471
+#549 := [mp #472 #557]: #470
+#513 := [unit-resolution #549 #652]: #468
+#503 := [unit-resolution #513 #509]: #579
+#583 := (+ #60 #435)
+#577 := (+ #10 #583)
+#566 := (>= #577 0::Int)
+#584 := (= #577 0::Int)
+#575 := (not #579)
+#416 := (or #575 #584)
 #32 := (= #31 #28)
-#146 := (not #144)
-#149 := (or #146 #32)
-#599 := (forall (vars (?v0 Int)) (:pat #598) #149)
-#152 := (forall (vars (?v0 Int)) #149)
-#602 := (iff #152 #599)
-#600 := (iff #149 #149)
-#601 := [refl]: #600
-#603 := [quant-intro #601]: #602
-#141 := (~ #152 #152)
-#170 := (~ #149 #149)
-#140 := [refl]: #170
-#163 := [nnf-pos #140]: #141
-#85 := (or #84 #32)
-#89 := (forall (vars (?v0 Int)) #85)
-#153 := (iff #89 #152)
-#150 := (iff #85 #149)
-#147 := (iff #84 #146)
-#148 := [monotonicity #145]: #147
-#151 := [monotonicity #148]: #150
-#154 := [quant-intro #151]: #153
+#106 := (or #103 #32)
+#641 := (forall (vars (?v0 Int)) (:pat #640) #106)
+#109 := (forall (vars (?v0 Int)) #106)
+#644 := (iff #109 #641)
+#642 := (iff #106 #106)
+#643 := [refl]: #642
+#645 := [quant-intro #643]: #644
+#148 := (~ #109 #109)
+#147 := (~ #106 #106)
+#144 := [refl]: #147
+#149 := [nnf-pos #144]: #148
+#29 := (<= 0::Int #28)
 #33 := (implies #29 #32)
 #34 := (forall (vars (?v0 Int)) #33)
-#90 := (iff #34 #89)
-#86 := (iff #33 #85)
-#87 := [rewrite]: #86
-#82 := (iff #33 #33)
-#83 := [monotonicity #81]: #82
-#88 := [trans #83 #87]: #86
-#91 := [quant-intro #88]: #90
-#46 := [asserted]: #34
-#92 := [mp #46 #91]: #89
-#155 := [mp #92 #154]: #152
-#164 := [mp~ #155 #163]: #152
-#604 := [mp #164 #603]: #599
-#589 := (not #599)
-#527 := (or #589 #539 #541)
-#393 := (= #392 #128)
-#551 := (not #545)
-#394 := (or #551 #393)
-#528 := (or #589 #394)
-#416 := (iff #528 #527)
-#531 := (or #589 #371)
-#414 := (iff #531 #527)
-#415 := [rewrite]: #414
-#529 := (iff #528 #531)
-#373 := (iff #394 #371)
-#535 := (iff #393 #541)
-#542 := [rewrite]: #535
-#533 := (iff #551 #539)
-#534 := [monotonicity #538]: #533
-#374 := [monotonicity #534 #542]: #373
-#532 := [monotonicity #374]: #529
-#375 := [trans #532 #415]: #416
-#530 := [quant-inst #128]: #528
-#523 := [mp #530 #375]: #527
-#472 := [unit-resolution #523 #604]: #371
-#473 := [unit-resolution #472 #471]: #541
-#468 := (not #541)
-#474 := (or #468 #520)
-#460 := [th-lemma arith triangle-eq]: #474
-#456 := [unit-resolution #460 #473]: #520
-#457 := (not #520)
-#458 := (or #507 #457 #539)
-#461 := [th-lemma arith assign-bounds 1 -1]: #458
-#462 := [unit-resolution #461 #456 #471]: #507
-#464 := (not #507)
-#459 := (or #521 #463 #464)
-#465 := [th-lemma arith triangle-eq]: #459
-#438 := [unit-resolution #465 #462 #488]: #463
-#425 := (<= #540 0::Int)
-#439 := (or #468 #425)
-#440 := [th-lemma arith triangle-eq]: #439
-#333 := [unit-resolution #440 #473]: #425
-#444 := (not #425)
-#445 := (or #268 #515 #444)
-#446 := [th-lemma arith assign-bounds 1 -1]: #445
-#451 := [unit-resolution #446 #333 #438]: #268
-#568 := (or #267 #232)
-#572 := (or #571 #267 #232)
-#567 := (or #571 #568)
-#211 := (iff #567 #572)
-#574 := [rewrite]: #211
-#573 := [quant-inst #53]: #567
-#576 := [mp #573 #574]: #572
-#447 := [unit-resolution #576 #610]: #568
-#448 := [unit-resolution #447 #451]: #232
-#452 := [symm #448]: #449
-#454 := [monotonicity #452]: #453
-#381 := [symm #454]: #435
-#450 := (= #56 #490)
-#492 := (= #490 #56)
-#469 := (or #264 #492)
-#470 := [quant-inst #56]: #469
-#543 := [unit-resolution #470 #597]: #492
-#455 := [symm #543]: #450
-#436 := [trans #455 #381]: #59
-#62 := (not #59)
-#41 := (not #17)
-#63 := (iff #41 #62)
-#60 := (iff #17 #59)
-#57 := (= #14 #56)
-#54 := (= #13 #53)
-#55 := [rewrite]: #54
-#58 := [monotonicity #55]: #57
-#61 := [monotonicity #58]: #60
-#64 := [monotonicity #61]: #63
-#42 := [not-or-elim #40]: #41
-#65 := [mp #42 #64]: #62
-[unit-resolution #65 #436]: false
-1bebcd25606d258ac04a776ceb5aa65b98a4cfcc 287 0
-unsat
+#112 := (iff #34 #109)
+#93 := (not #29)
+#94 := (or #93 #32)
+#97 := (forall (vars (?v0 Int)) #94)
+#110 := (iff #97 #109)
+#107 := (iff #94 #106)
+#104 := (iff #93 #103)
+#100 := (iff #29 #101)
+#102 := [rewrite]: #100
+#105 := [monotonicity #102]: #104
+#108 := [monotonicity #105]: #107
+#111 := [quant-intro #108]: #110
+#98 := (iff #34 #97)
+#95 := (iff #33 #94)
+#96 := [rewrite]: #95
+#99 := [quant-intro #96]: #98
+#113 := [trans #99 #111]: #112
+#92 := [asserted]: #34
+#114 := [mp #92 #113]: #109
+#145 := [mp~ #114 #149]: #109
+#646 := [mp #145 #645]: #641
+#626 := (not #641)
+#572 := (or #626 #575 #584)
+#436 := (= #435 #71)
+#434 := (not #593)
+#578 := (or #434 #436)
+#573 := (or #626 #578)
+#565 := (iff #573 #572)
+#574 := (or #626 #416)
+#458 := (iff #574 #572)
+#417 := [rewrite]: #458
+#456 := (iff #573 #574)
+#569 := (iff #578 #416)
+#413 := (iff #436 #584)
+#415 := [rewrite]: #413
+#576 := (iff #434 #575)
+#582 := [monotonicity #581]: #576
+#570 := [monotonicity #582 #415]: #569
+#457 := [monotonicity #570]: #456
+#467 := [trans #457 #417]: #565
+#571 := [quant-inst #71]: #573
+#562 := [mp #571 #467]: #572
+#504 := [unit-resolution #562 #646]: #416
+#505 := [unit-resolution #504 #503]: #584
+#506 := (not #584)
+#501 := (or #506 #566)
+#507 := [th-lemma arith triangle-eq]: #501
+#480 := [unit-resolution #507 #505]: #566
+#481 := (not #566)
+#482 := (or #548 #481 #575)
+#375 := [th-lemma arith assign-bounds 1 -1]: #482
+#486 := [unit-resolution #375 #480 #503]: #548
+#488 := (not #548)
+#493 := (or #451 #487 #488)
+#489 := [th-lemma arith triangle-eq]: #493
+#490 := [unit-resolution #489 #486 #509]: #487
+#563 := (<= #577 0::Int)
+#491 := (or #506 #563)
+#494 := [th-lemma arith triangle-eq]: #491
+#495 := [unit-resolution #494 #505]: #563
+#496 := (not #563)
+#492 := (or #310 #546 #496)
+#497 := [th-lemma arith assign-bounds 1 -1]: #492
+#477 := [unit-resolution #497 #495 #490]: #310
+#611 := (or #309 #610)
+#609 := (or #614 #309 #610)
+#615 := (or #614 #611)
+#616 := (iff #615 #609)
+#618 := [rewrite]: #616
+#253 := [quant-inst #61]: #615
+#258 := [mp #253 #618]: #609
+#423 := [unit-resolution #258 #652]: #611
+#478 := [unit-resolution #423 #477]: #610
+#483 := [symm #478]: #459
+#479 := [monotonicity #483]: #484
+#419 := [symm #479]: #460
+#485 := (= #64 #535)
+#536 := (= #535 #64)
+#499 := (or #306 #536)
+#500 := [quant-inst #64]: #499
+#512 := [unit-resolution #500 #639]: #536
+#453 := [symm #512]: #485
+#450 := [trans #453 #419]: #67
+#86 := (not #67)
+#87 := [not-or-elim #88]: #86
+[unit-resolution #87 #450]: false
+unsat
+b4a6a90393789bf8defbaef4acfd5e61ff77c32f 270 0
 #2 := false
 decl f8 :: S3
 #11 := f8
@@ -11680,166 +10704,137 @@
 decl f6 :: S4
 #8 := f6
 #12 := (f5 f6 f8)
-#47 := -1::Int
-#48 := (* -1::Int #12)
+#59 := -1::Int
+#60 := (* -1::Int #12)
 #10 := (f5 f6 f7)
-#49 := (+ #10 #48)
-#144 := (>= #49 0::Int)
-#146 := (if #144 f7 f8)
+#61 := (+ #10 #60)
+#88 := (>= #61 0::Int)
+#94 := (if #88 f7 f8)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
-#52 := (f3 f4 #49)
-#55 := (f5 f6 #52)
-#131 := (+ #12 #55)
-#134 := (f3 f4 #131)
-#149 := (= #134 #146)
-#279 := (= f8 #146)
-#194 := (not #144)
-#193 := (= f7 #146)
-#446 := [hypothesis]: #144
-#280 := (or #194 #193)
-#281 := [def-axiom]: #280
-#447 := [unit-resolution #281 #446]: #193
-#477 := (= #134 f7)
-#282 := (f3 f4 #10)
-#286 := (= #282 f7)
+#64 := (f3 f4 #61)
+#67 := (f5 f6 #64)
+#73 := (+ #12 #67)
+#78 := (f3 f4 #73)
+#99 := (= #78 #94)
+#321 := (= f8 #94)
+#87 := (not #88)
+#236 := (= f7 #94)
+#489 := [hypothesis]: #88
+#237 := (or #87 #236)
+#322 := [def-axiom]: #237
+#490 := [unit-resolution #322 #489]: #236
+#515 := (= #78 f7)
+#327 := (f3 f4 #10)
+#324 := (= #327 f7)
 #22 := (:var 0 S3)
 #23 := (f5 f6 #22)
-#608 := (pattern #23)
+#650 := (pattern #23)
 #24 := (f3 f4 #23)
 #25 := (= #24 #22)
-#609 := (forall (vars (?v0 S3)) (:pat #608) #25)
+#651 := (forall (vars (?v0 S3)) (:pat #650) #25)
 #26 := (forall (vars (?v0 S3)) #25)
-#612 := (iff #26 #609)
-#610 := (iff #25 #25)
-#611 := [refl]: #610
-#613 := [quant-intro #611]: #612
-#180 := (~ #26 #26)
-#186 := (~ #25 #25)
-#187 := [refl]: #186
-#181 := [nnf-pos #187]: #180
-#41 := [asserted]: #26
-#158 := [mp~ #41 #181]: #26
-#614 := [mp #158 #613]: #609
-#265 := (not #609)
-#596 := (or #265 #286)
-#270 := [quant-inst #9]: #596
-#533 := [unit-resolution #270 #614]: #286
-#489 := (= #134 #282)
-#506 := (= #131 #10)
-#536 := (= #10 #131)
-#607 := (* -1::Int #55)
-#597 := (+ #10 #48 #607)
-#584 := (<= #597 0::Int)
-#601 := (= #597 0::Int)
-#262 := (or #194 #601)
+#654 := (iff #26 #651)
+#652 := (iff #25 #25)
+#653 := [refl]: #652
+#655 := [quant-intro #653]: #654
+#171 := (~ #26 #26)
+#169 := (~ #25 #25)
+#170 := [refl]: #169
+#172 := [nnf-pos #170]: #171
+#108 := [asserted]: #26
+#161 := [mp~ #108 #172]: #26
+#656 := [mp #161 #655]: #651
+#328 := (not #651)
+#431 := (or #328 #324)
+#638 := [quant-inst #9]: #431
+#576 := [unit-resolution #638 #656]: #324
+#532 := (= #78 #327)
+#549 := (= #73 #10)
+#567 := (= #10 #73)
+#643 := (* -1::Int #67)
+#649 := (+ #60 #643)
+#639 := (+ #10 #649)
+#626 := (<= #639 0::Int)
+#648 := (= #639 0::Int)
+#304 := (or #87 #648)
 #28 := (:var 0 Int)
 #30 := (f3 f4 #28)
-#615 := (pattern #30)
+#657 := (pattern #30)
 #31 := (f5 f6 #30)
 #32 := (= #31 #28)
-#161 := (>= #28 0::Int)
-#163 := (not #161)
-#166 := (or #163 #32)
-#616 := (forall (vars (?v0 Int)) (:pat #615) #166)
-#169 := (forall (vars (?v0 Int)) #166)
-#619 := (iff #169 #616)
-#617 := (iff #166 #166)
-#618 := [refl]: #617
-#620 := [quant-intro #618]: #619
-#185 := (~ #169 #169)
-#159 := (~ #166 #166)
-#184 := [refl]: #159
-#182 := [nnf-pos #184]: #185
+#118 := (>= #28 0::Int)
+#120 := (not #118)
+#123 := (or #120 #32)
+#658 := (forall (vars (?v0 Int)) (:pat #657) #123)
+#126 := (forall (vars (?v0 Int)) #123)
+#661 := (iff #126 #658)
+#659 := (iff #123 #123)
+#660 := [refl]: #659
+#662 := [quant-intro #660]: #661
+#163 := (~ #126 #126)
+#162 := (~ #123 #123)
+#159 := [refl]: #162
+#164 := [nnf-pos #159]: #163
 #29 := (<= 0::Int #28)
-#87 := (not #29)
-#88 := (or #87 #32)
-#92 := (forall (vars (?v0 Int)) #88)
-#170 := (iff #92 #169)
-#167 := (iff #88 #166)
-#164 := (iff #87 #163)
-#160 := (iff #29 #161)
-#162 := [rewrite]: #160
-#165 := [monotonicity #162]: #164
-#168 := [monotonicity #165]: #167
-#171 := [quant-intro #168]: #170
 #33 := (implies #29 #32)
 #34 := (forall (vars (?v0 Int)) #33)
-#93 := (iff #34 #92)
-#89 := (iff #33 #88)
-#90 := [rewrite]: #89
-#85 := (iff #33 #33)
-#83 := (iff #29 #29)
-#84 := [rewrite]: #83
-#86 := [monotonicity #84]: #85
-#91 := [trans #86 #90]: #89
-#94 := [quant-intro #91]: #93
-#42 := [asserted]: #34
-#95 := [mp #42 #94]: #92
-#172 := [mp #95 #171]: #169
-#183 := [mp~ #172 #182]: #169
-#621 := [mp #183 #620]: #616
-#599 := (not #616)
-#242 := (or #599 #194 #601)
-#271 := (= #55 #49)
-#603 := (or #194 #271)
-#583 := (or #599 #603)
-#587 := (iff #583 #242)
-#247 := (or #599 #262)
-#585 := (iff #247 #242)
-#586 := [rewrite]: #585
-#248 := (iff #583 #247)
-#598 := (iff #603 #262)
-#606 := (iff #271 #601)
-#257 := [rewrite]: #606
-#258 := [monotonicity #257]: #598
-#249 := [monotonicity #258]: #248
-#588 := [trans #249 #586]: #587
-#246 := [quant-inst #49]: #583
-#589 := [mp #246 #588]: #242
-#501 := [unit-resolution #589 #621]: #262
-#502 := [unit-resolution #501 #446]: #601
-#503 := (not #601)
-#504 := (or #503 #584)
-#494 := [th-lemma arith triangle-eq]: #504
-#505 := [unit-resolution #494 #502]: #584
-#590 := (>= #597 0::Int)
-#483 := (or #503 #590)
-#484 := [th-lemma arith triangle-eq]: #483
-#486 := [unit-resolution #484 #502]: #590
-#487 := [th-lemma arith eq-propagate -1 -1 #486 #505]: #536
-#488 := [symm #487]: #506
-#490 := [monotonicity #488]: #489
-#473 := [trans #490 #533]: #477
-#474 := [trans #473 #447]: #149
-#152 := (not #149)
-#64 := (<= #12 #10)
-#71 := (if #64 f7 f8)
-#58 := (+ #55 #12)
-#61 := (f3 f4 #58)
-#76 := (= #61 #71)
-#79 := (not #76)
-#155 := (iff #79 #152)
-#137 := (= #134 #71)
-#140 := (not #137)
-#153 := (iff #140 #152)
-#150 := (iff #137 #149)
-#147 := (= #71 #146)
-#143 := (iff #64 #144)
-#145 := [rewrite]: #143
-#148 := [monotonicity #145]: #147
-#151 := [monotonicity #148]: #150
-#154 := [monotonicity #151]: #153
-#141 := (iff #79 #140)
-#138 := (iff #76 #137)
-#135 := (= #61 #134)
-#132 := (= #58 #131)
-#133 := [rewrite]: #132
-#136 := [monotonicity #133]: #135
-#139 := [monotonicity #136]: #138
-#142 := [monotonicity #139]: #141
-#156 := [trans #142 #154]: #155
+#129 := (iff #34 #126)
+#110 := (not #29)
+#111 := (or #110 #32)
+#114 := (forall (vars (?v0 Int)) #111)
+#127 := (iff #114 #126)
+#124 := (iff #111 #123)
+#121 := (iff #110 #120)
+#117 := (iff #29 #118)
+#119 := [rewrite]: #117
+#122 := [monotonicity #119]: #121
+#125 := [monotonicity #122]: #124
+#128 := [quant-intro #125]: #127
+#115 := (iff #34 #114)
+#112 := (iff #33 #111)
+#113 := [rewrite]: #112
+#116 := [quant-intro #113]: #115
+#130 := [trans #116 #128]: #129
+#109 := [asserted]: #34
+#131 := [mp #109 #130]: #126
+#160 := [mp~ #131 #164]: #126
+#663 := [mp #160 #662]: #658
+#641 := (not #658)
+#284 := (or #641 #87 #648)
+#312 := (= #67 #61)
+#313 := (or #87 #312)
+#625 := (or #641 #313)
+#629 := (iff #625 #284)
+#289 := (or #641 #304)
+#627 := (iff #289 #284)
+#628 := [rewrite]: #627
+#290 := (iff #625 #289)
+#640 := (iff #313 #304)
+#647 := (iff #312 #648)
+#299 := [rewrite]: #647
+#300 := [monotonicity #299]: #640
+#291 := [monotonicity #300]: #290
+#630 := [trans #291 #628]: #629
+#288 := [quant-inst #61]: #625
+#631 := [mp #288 #630]: #284
+#544 := [unit-resolution #631 #663]: #304
+#545 := [unit-resolution #544 #489]: #648
+#546 := (not #648)
+#536 := (or #546 #626)
+#547 := [th-lemma arith triangle-eq]: #536
+#525 := [unit-resolution #547 #545]: #626
+#632 := (>= #639 0::Int)
+#526 := (or #546 #632)
+#528 := [th-lemma arith triangle-eq]: #526
+#529 := [unit-resolution #528 #545]: #632
+#530 := [th-lemma arith eq-propagate -1 -1 #529 #525]: #567
+#531 := [symm #530]: #549
+#527 := [monotonicity #531]: #532
+#516 := [trans #527 #576]: #515
+#517 := [trans #516 #490]: #99
+#102 := (not #99)
 #18 := (< #10 #12)
 #19 := (if #18 f8 f7)
 #13 := (- #10 #12)
@@ -11849,115 +10844,127 @@
 #17 := (f3 f4 #16)
 #20 := (= #17 #19)
 #21 := (not #20)
-#80 := (iff #21 #79)
-#77 := (iff #20 #76)
-#74 := (= #19 #71)
-#65 := (not #64)
-#68 := (if #65 f8 f7)
-#72 := (= #68 #71)
-#73 := [rewrite]: #72
-#69 := (= #19 #68)
-#66 := (iff #18 #65)
-#67 := [rewrite]: #66
-#70 := [monotonicity #67]: #69
-#75 := [trans #70 #73]: #74
-#62 := (= #17 #61)
-#59 := (= #16 #58)
-#56 := (= #15 #55)
-#53 := (= #14 #52)
-#50 := (= #13 #49)
-#51 := [rewrite]: #50
-#54 := [monotonicity #51]: #53
-#57 := [monotonicity #54]: #56
-#60 := [monotonicity #57]: #59
-#63 := [monotonicity #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#81 := [monotonicity #78]: #80
-#40 := [asserted]: #21
-#82 := [mp #40 #81]: #79
-#157 := [mp #82 #156]: #152
-#475 := [unit-resolution #157 #474]: false
-#478 := [lemma #475]: #194
-#272 := (or #144 #279)
-#283 := [def-axiom]: #272
-#499 := [unit-resolution #283 #478]: #279
-#466 := (= #134 f8)
-#284 := (f3 f4 #12)
-#285 := (= #284 f8)
-#600 := (or #265 #285)
-#602 := [quant-inst #11]: #600
-#500 := [unit-resolution #602 #614]: #285
-#463 := (= #134 #284)
-#461 := (= #131 #12)
-#457 := (= #12 #131)
-#305 := (<= #55 0::Int)
-#228 := (= #55 0::Int)
-#591 := (or #144 #228)
+#105 := (iff #21 #102)
+#81 := (= #78 #19)
+#84 := (not #81)
+#103 := (iff #84 #102)
+#100 := (iff #81 #99)
+#97 := (= #19 #94)
+#91 := (if #87 f8 f7)
+#95 := (= #91 #94)
+#96 := [rewrite]: #95
+#92 := (= #19 #91)
+#89 := (iff #18 #87)
+#90 := [rewrite]: #89
+#93 := [monotonicity #90]: #92
+#98 := [trans #93 #96]: #97
+#101 := [monotonicity #98]: #100
+#104 := [monotonicity #101]: #103
+#85 := (iff #21 #84)
+#82 := (iff #20 #81)
+#79 := (= #17 #78)
+#76 := (= #16 #73)
+#70 := (+ #67 #12)
+#74 := (= #70 #73)
+#75 := [rewrite]: #74
+#71 := (= #16 #70)
+#68 := (= #15 #67)
+#65 := (= #14 #64)
+#62 := (= #13 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#69 := [monotonicity #66]: #68
+#72 := [monotonicity #69]: #71
+#77 := [trans #72 #75]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#106 := [trans #86 #104]: #105
+#58 := [asserted]: #21
+#107 := [mp #58 #106]: #102
+#520 := [unit-resolution #107 #517]: false
+#521 := [lemma #520]: #87
+#323 := (or #88 #321)
+#314 := [def-axiom]: #323
+#542 := [unit-resolution #314 #521]: #321
+#511 := (= #78 f8)
+#325 := (f3 f4 #12)
+#326 := (= #325 f8)
+#307 := (or #328 #326)
+#642 := [quant-inst #11]: #307
+#543 := [unit-resolution #642 #656]: #326
+#510 := (= #78 #325)
+#504 := (= #73 #12)
+#392 := (= #12 #73)
+#347 := (<= #67 0::Int)
+#270 := (= #67 0::Int)
+#633 := (or #88 #270)
 #36 := (= #31 0::Int)
-#173 := (or #161 #36)
-#622 := (forall (vars (?v0 Int)) (:pat #615) #173)
-#176 := (forall (vars (?v0 Int)) #173)
-#625 := (iff #176 #622)
-#623 := (iff #173 #173)
-#624 := [refl]: #623
-#626 := [quant-intro #624]: #625
-#190 := (~ #176 #176)
-#188 := (~ #173 #173)
-#189 := [refl]: #188
-#191 := [nnf-pos #189]: #190
-#104 := (or #29 #36)
-#109 := (forall (vars (?v0 Int)) #104)
-#177 := (iff #109 #176)
-#174 := (iff #104 #173)
-#175 := [monotonicity #162]: #174
-#178 := [quant-intro #175]: #177
+#149 := (or #118 #36)
+#664 := (forall (vars (?v0 Int)) (:pat #657) #149)
+#152 := (forall (vars (?v0 Int)) #149)
+#667 := (iff #152 #664)
+#665 := (iff #149 #149)
+#666 := [refl]: #665
+#668 := [quant-intro #666]: #667
+#165 := (~ #152 #152)
+#173 := (~ #149 #149)
+#174 := [refl]: #173
+#166 := [nnf-pos #174]: #165
 #35 := (< #28 0::Int)
 #37 := (implies #35 #36)
 #38 := (forall (vars (?v0 Int)) #37)
-#110 := (iff #38 #109)
-#107 := (iff #37 #104)
-#101 := (implies #87 #36)
-#105 := (iff #101 #104)
-#106 := [rewrite]: #105
-#102 := (iff #37 #101)
-#96 := (iff #35 #87)
-#98 := (iff #87 #87)
-#99 := [monotonicity #84]: #98
-#97 := [rewrite]: #96
-#100 := [trans #97 #99]: #96
-#103 := [monotonicity #100]: #102
-#108 := [trans #103 #106]: #107
-#111 := [quant-intro #108]: #110
-#43 := [asserted]: #38
-#112 := [mp #43 #111]: #109
-#179 := [mp #112 #178]: #176
-#192 := [mp~ #179 #191]: #176
-#627 := [mp #192 #626]: #622
-#234 := (not #622)
-#594 := (or #234 #144 #228)
-#592 := (or #234 #591)
-#581 := (iff #592 #594)
-#582 := [rewrite]: #581
-#595 := [quant-inst #49]: #592
-#304 := [mp #595 #582]: #594
-#485 := [unit-resolution #304 #627]: #591
-#491 := [unit-resolution #485 #478]: #228
-#479 := (not #228)
-#480 := (or #479 #305)
-#481 := [th-lemma arith triangle-eq]: #480
-#476 := [unit-resolution #481 #491]: #305
-#306 := (>= #55 0::Int)
-#482 := (or #479 #306)
-#455 := [th-lemma arith triangle-eq]: #482
-#456 := [unit-resolution #455 #491]: #306
-#350 := [th-lemma arith eq-propagate 1 1 #456 #476]: #457
-#462 := [symm #350]: #461
-#468 := [monotonicity #462]: #463
-#469 := [trans #468 #500]: #466
-#470 := [trans #469 #499]: #149
-[unit-resolution #157 #470]: false
-f4628a2370e422e0b0b89be90bd88f22cd742f4d 493 0
-unsat
+#155 := (iff #38 #152)
+#133 := (not #35)
+#134 := (or #133 #36)
+#137 := (forall (vars (?v0 Int)) #134)
+#153 := (iff #137 #152)
+#150 := (iff #134 #149)
+#147 := (iff #133 #118)
+#142 := (not #120)
+#145 := (iff #142 #118)
+#146 := [rewrite]: #145
+#143 := (iff #133 #142)
+#140 := (iff #35 #120)
+#141 := [rewrite]: #140
+#144 := [monotonicity #141]: #143
+#148 := [trans #144 #146]: #147
+#151 := [monotonicity #148]: #150
+#154 := [quant-intro #151]: #153
+#138 := (iff #38 #137)
+#135 := (iff #37 #134)
+#136 := [rewrite]: #135
+#139 := [quant-intro #136]: #138
+#156 := [trans #139 #154]: #155
+#132 := [asserted]: #38
+#157 := [mp #132 #156]: #152
+#175 := [mp~ #157 #166]: #152
+#669 := [mp #175 #668]: #664
+#276 := (not #664)
+#636 := (or #276 #88 #270)
+#634 := (or #276 #633)
+#623 := (iff #634 #636)
+#624 := [rewrite]: #623
+#637 := [quant-inst #61]: #634
+#346 := [mp #637 #624]: #636
+#533 := [unit-resolution #346 #669]: #633
+#519 := [unit-resolution #533 #521]: #270
+#522 := (not #270)
+#523 := (or #522 #347)
+#518 := [th-lemma arith triangle-eq]: #523
+#524 := [unit-resolution #518 #519]: #347
+#348 := (>= #67 0::Int)
+#497 := (or #522 #348)
+#498 := [th-lemma arith triangle-eq]: #497
+#499 := [unit-resolution #498 #519]: #348
+#503 := [th-lemma arith eq-propagate 1 1 #499 #524]: #392
+#505 := [symm #503]: #504
+#506 := [monotonicity #505]: #510
+#512 := [trans #506 #543]: #511
+#513 := [trans #512 #542]: #99
+[unit-resolution #107 #513]: false
+unsat
+fb9388a38938cbf21b6b2ff0332cf8b767f78d03 468 0
 #2 := false
 #30 := 0::Int
 decl f5 :: (-> S4 S3 Int)
@@ -11967,268 +10974,257 @@
 decl f6 :: S4
 #8 := f6
 #12 := (f5 f6 f8)
-#50 := -1::Int
-#51 := (* -1::Int #12)
+#62 := -1::Int
+#63 := (* -1::Int #12)
 decl f7 :: S3
 #9 := f7
 #10 := (f5 f6 f7)
-#52 := (+ #10 #51)
-decl f4 :: S2
-#7 := f4
-#55 := (f3 f4 #52)
-#58 := (f5 f6 #55)
-#604 := (* -1::Int #58)
-#610 := (+ #10 #51 #604)
-#609 := (= #610 0::Int)
-#455 := (not #609)
-#587 := (>= #610 0::Int)
-#330 := (not #587)
+#64 := (+ #10 #63)
+decl f4 :: S2
+#7 := f4
+#67 := (f3 f4 #64)
+#70 := (f5 f6 #67)
+#640 := (* -1::Int #70)
+#630 := (+ #63 #640)
+#290 := (+ #10 #630)
+#639 := (= #290 0::Int)
+#491 := (not #639)
+#623 := (>= #290 0::Int)
+#347 := (not #623)
 decl f9 :: S3
 #16 := f9
 #17 := (f5 f6 f9)
-#64 := (* -1::Int #17)
-#83 := (+ #10 #51 #64)
-#548 := (>= #83 0::Int)
-#550 := (not #548)
-#90 := (f3 f4 #83)
-#148 := (+ #64 #58)
-#151 := (f3 f4 #148)
-#154 := (= #151 #90)
-#551 := (f5 f6 #90)
-#492 := (f3 f4 #551)
-#493 := (= #492 #90)
+#76 := (* -1::Int #17)
+#85 := (+ #63 #76)
+#86 := (+ #10 #85)
+#581 := (>= #86 0::Int)
+#579 := (not #581)
+#89 := (f3 f4 #86)
+#77 := (+ #76 #70)
+#82 := (f3 f4 #77)
+#92 := (= #82 #89)
+#582 := (f5 f6 #89)
+#510 := (f3 f4 #582)
+#506 := (= #510 #89)
 #25 := (:var 0 S3)
 #26 := (f5 f6 #25)
-#611 := (pattern #26)
+#641 := (pattern #26)
 #27 := (f3 f4 #26)
 #28 := (= #27 #25)
-#612 := (forall (vars (?v0 S3)) (:pat #611) #28)
+#642 := (forall (vars (?v0 S3)) (:pat #641) #28)
 #29 := (forall (vars (?v0 S3)) #28)
-#615 := (iff #29 #612)
-#613 := (iff #28 #28)
-#614 := [refl]: #613
-#616 := [quant-intro #614]: #615
-#185 := (~ #29 #29)
+#645 := (iff #29 #642)
+#643 := (iff #28 #28)
+#644 := [refl]: #643
+#646 := [quant-intro #644]: #645
+#162 := (~ #29 #29)
 #160 := (~ #28 #28)
 #161 := [refl]: #160
-#186 := [nnf-pos #161]: #185
-#44 := [asserted]: #29
-#189 := [mp~ #44 #186]: #29
-#617 := [mp #189 #616]: #612
-#284 := (not #612)
-#441 := (or #284 #493)
-#442 := [quant-inst #90]: #441
-#410 := [unit-resolution #442 #617]: #493
-#423 := (= #151 #492)
-#335 := (= #148 #551)
-#436 := (* -1::Int #551)
-#395 := (+ #10 #51 #64 #436)
-#545 := (<= #395 0::Int)
-#435 := (= #395 0::Int)
-#381 := [hypothesis]: #548
-#445 := (or #550 #435)
+#163 := [nnf-pos #161]: #162
+#98 := [asserted]: #29
+#152 := [mp~ #98 #163]: #29
+#647 := [mp #152 #646]: #642
+#314 := (not #642)
+#463 := (or #314 #506)
+#484 := [quant-inst #89]: #463
+#448 := [unit-resolution #484 #647]: #506
+#441 := (= #82 #510)
+#369 := (= #77 #582)
+#570 := (* -1::Int #582)
+#571 := (+ #76 #570)
+#574 := (+ #63 #571)
+#459 := (+ #10 #574)
+#565 := (<= #459 0::Int)
+#425 := (= #459 0::Int)
+#258 := [hypothesis]: #581
+#475 := (or #579 #425)
 #31 := (:var 0 Int)
 #33 := (f3 f4 #31)
-#618 := (pattern #33)
+#648 := (pattern #33)
 #34 := (f5 f6 #33)
 #35 := (= #34 #31)
-#164 := (>= #31 0::Int)
-#166 := (not #164)
-#169 := (or #166 #35)
-#619 := (forall (vars (?v0 Int)) (:pat #618) #169)
-#172 := (forall (vars (?v0 Int)) #169)
-#622 := (iff #172 #619)
-#620 := (iff #169 #169)
-#621 := [refl]: #620
-#623 := [quant-intro #621]: #622
-#184 := (~ #172 #172)
-#190 := (~ #169 #169)
-#183 := [refl]: #190
-#187 := [nnf-pos #183]: #184
+#109 := (>= #31 0::Int)
+#111 := (not #109)
+#114 := (or #111 #35)
+#649 := (forall (vars (?v0 Int)) (:pat #648) #114)
+#117 := (forall (vars (?v0 Int)) #114)
+#652 := (iff #117 #649)
+#650 := (iff #114 #114)
+#651 := [refl]: #650
+#653 := [quant-intro #651]: #652
+#154 := (~ #117 #117)
+#153 := (~ #114 #114)
+#150 := [refl]: #153
+#155 := [nnf-pos #150]: #154
 #32 := (<= 0::Int #31)
-#104 := (not #32)
-#105 := (or #104 #35)
-#109 := (forall (vars (?v0 Int)) #105)
-#173 := (iff #109 #172)
-#170 := (iff #105 #169)
-#167 := (iff #104 #166)
-#163 := (iff #32 #164)
-#165 := [rewrite]: #163
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [quant-intro #171]: #173
 #36 := (implies #32 #35)
 #37 := (forall (vars (?v0 Int)) #36)
-#110 := (iff #37 #109)
-#106 := (iff #36 #105)
-#107 := [rewrite]: #106
-#102 := (iff #36 #36)
-#100 := (iff #32 #32)
-#101 := [rewrite]: #100
-#103 := [monotonicity #101]: #102
-#108 := [trans #103 #107]: #106
-#111 := [quant-intro #108]: #110
-#45 := [asserted]: #37
-#112 := [mp #45 #111]: #109
-#175 := [mp #112 #174]: #172
-#188 := [mp~ #175 #187]: #172
-#624 := [mp #188 #623]: #619
-#261 := (not #619)
-#544 := (or #261 #550 #435)
-#549 := (= #551 #83)
-#552 := (or #550 #549)
-#429 := (or #261 #552)
-#450 := (iff #429 #544)
-#446 := (or #261 #445)
-#448 := (iff #446 #544)
-#449 := [rewrite]: #448
-#447 := (iff #429 #446)
-#540 := (iff #552 #445)
-#434 := (iff #549 #435)
-#543 := [rewrite]: #434
-#541 := [monotonicity #543]: #540
-#440 := [monotonicity #541]: #447
-#451 := [trans #440 #449]: #450
-#444 := [quant-inst #83]: #429
-#452 := [mp #444 #451]: #544
-#464 := [unit-resolution #452 #624]: #445
-#352 := [unit-resolution #464 #381]: #435
-#466 := (not #435)
-#399 := (or #466 #545)
-#400 := [th-lemma arith triangle-eq]: #399
-#354 := [unit-resolution #400 #352]: #545
-#542 := (>= #395 0::Int)
-#471 := (or #466 #542)
-#467 := [th-lemma arith triangle-eq]: #471
-#355 := [unit-resolution #467 #352]: #542
-#592 := (<= #610 0::Int)
-#392 := (>= #52 0::Int)
-#528 := (>= #551 0::Int)
-#358 := (not #545)
-#359 := (or #528 #358 #550)
-#363 := [th-lemma arith assign-bounds 1 -1]: #359
-#356 := [unit-resolution #363 #354 #381]: #528
-#473 := (not #542)
-#472 := (not #528)
-#360 := (or #392 #472 #473)
-#535 := (>= #17 0::Int)
-#380 := (= #17 0::Int)
-#196 := (f3 f4 #17)
-#527 := (f5 f6 #196)
-#529 := (= #527 0::Int)
-#387 := (not #535)
-#366 := [hypothesis]: #387
-#530 := (or #535 #529)
+#120 := (iff #37 #117)
+#101 := (not #32)
+#102 := (or #101 #35)
+#105 := (forall (vars (?v0 Int)) #102)
+#118 := (iff #105 #117)
+#115 := (iff #102 #114)
+#112 := (iff #101 #111)
+#108 := (iff #32 #109)
+#110 := [rewrite]: #108
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#106 := (iff #37 #105)
+#103 := (iff #36 #102)
+#104 := [rewrite]: #103
+#107 := [quant-intro #104]: #106
+#121 := [trans #107 #119]: #120
+#99 := [asserted]: #37
+#122 := [mp #99 #121]: #117
+#151 := [mp~ #122 #155]: #117
+#654 := [mp #151 #653]: #649
+#632 := (not #649)
+#477 := (or #632 #579 #425)
+#464 := (= #582 #86)
+#465 := (or #579 #464)
+#470 := (or #632 #465)
+#572 := (iff #470 #477)
+#479 := (or #632 #475)
+#482 := (iff #479 #477)
+#575 := [rewrite]: #482
+#480 := (iff #470 #479)
+#474 := (iff #465 #475)
+#466 := (iff #464 #425)
+#573 := [rewrite]: #466
+#476 := [monotonicity #573]: #474
+#481 := [monotonicity #476]: #480
+#576 := [trans #481 #575]: #572
+#478 := [quant-inst #86]: #470
+#563 := [mp #478 #576]: #477
+#497 := [unit-resolution #563 #654]: #475
+#389 := [unit-resolution #497 #258]: #425
+#499 := (not #425)
+#434 := (or #499 #565)
+#435 := [th-lemma arith triangle-eq]: #434
+#393 := [unit-resolution #435 #389]: #565
+#557 := (>= #459 0::Int)
+#502 := (or #499 #557)
+#503 := [th-lemma arith triangle-eq]: #502
+#386 := [unit-resolution #503 #389]: #557
+#617 := (<= #290 0::Int)
+#422 := (>= #64 0::Int)
+#555 := (>= #582 0::Int)
+#394 := (not #565)
+#387 := (or #555 #394 #579)
+#390 := [th-lemma arith assign-bounds 1 -1]: #387
+#391 := [unit-resolution #390 #393 #258]: #555
+#485 := (not #557)
+#505 := (not #555)
+#380 := (or #422 #505 #485)
+#566 := (>= #17 0::Int)
+#415 := (= #17 0::Int)
+#227 := (f3 f4 #17)
+#567 := (f5 f6 #227)
+#562 := (= #567 0::Int)
+#405 := (not #566)
+#406 := [hypothesis]: #405
+#546 := (or #566 #562)
 #39 := (= #34 0::Int)
-#176 := (or #164 #39)
-#625 := (forall (vars (?v0 Int)) (:pat #618) #176)
-#179 := (forall (vars (?v0 Int)) #176)
-#628 := (iff #179 #625)
-#626 := (iff #176 #176)
-#627 := [refl]: #626
-#629 := [quant-intro #627]: #628
-#193 := (~ #179 #179)
-#191 := (~ #176 #176)
-#192 := [refl]: #191
-#194 := [nnf-pos #192]: #193
-#121 := (or #32 #39)
-#126 := (forall (vars (?v0 Int)) #121)
-#180 := (iff #126 #179)
-#177 := (iff #121 #176)
-#178 := [monotonicity #165]: #177
-#181 := [quant-intro #178]: #180
+#140 := (or #109 #39)
+#655 := (forall (vars (?v0 Int)) (:pat #648) #140)
+#143 := (forall (vars (?v0 Int)) #140)
+#658 := (iff #143 #655)
+#656 := (iff #140 #140)
+#657 := [refl]: #656
+#659 := [quant-intro #657]: #658
+#156 := (~ #143 #143)
+#164 := (~ #140 #140)
+#165 := [refl]: #164
+#157 := [nnf-pos #165]: #156
 #38 := (< #31 0::Int)
 #40 := (implies #38 #39)
 #41 := (forall (vars (?v0 Int)) #40)
-#127 := (iff #41 #126)
-#124 := (iff #40 #121)
-#118 := (implies #104 #39)
-#122 := (iff #118 #121)
-#123 := [rewrite]: #122
-#119 := (iff #40 #118)
-#113 := (iff #38 #104)
-#115 := (iff #104 #104)
-#116 := [monotonicity #101]: #115
-#114 := [rewrite]: #113
-#117 := [trans #114 #116]: #113
-#120 := [monotonicity #117]: #119
-#125 := [trans #120 #123]: #124
-#128 := [quant-intro #125]: #127
-#46 := [asserted]: #41
-#129 := [mp #46 #128]: #126
-#182 := [mp #129 #181]: #179
-#195 := [mp~ #182 #194]: #179
-#630 := [mp #195 #629]: #625
-#236 := (not #625)
-#532 := (or #236 #535 #529)
-#516 := (or #236 #530)
-#519 := (iff #516 #532)
-#520 := [rewrite]: #519
-#517 := [quant-inst #17]: #516
-#521 := [mp #517 #520]: #532
-#369 := [unit-resolution #521 #630]: #530
-#373 := [unit-resolution #369 #366]: #529
-#377 := (= #17 #527)
-#376 := (= f9 #196)
-#282 := (= #196 f9)
-#275 := (or #284 #282)
-#286 := [quant-inst #16]: #275
-#375 := [unit-resolution #286 #617]: #282
-#374 := [symm #375]: #376
-#365 := [monotonicity #374]: #377
-#368 := [trans #365 #373]: #380
-#370 := (not #380)
-#371 := (or #370 #535)
-#367 := [th-lemma arith triangle-eq]: #371
-#372 := [unit-resolution #367 #366 #368]: false
-#362 := [lemma #372]: #535
-#364 := (or #387 #392 #472 #473)
-#357 := [th-lemma arith assign-bounds 1 1 1]: #364
-#361 := [unit-resolution #357 #362]: #360
-#347 := [unit-resolution #361 #356 #355]: #392
-#599 := (not #392)
-#260 := (or #599 #609)
-#602 := (or #261 #599 #609)
-#606 := (= #58 #52)
-#607 := (or #599 #606)
-#245 := (or #261 #607)
-#589 := (iff #245 #602)
-#249 := (or #261 #260)
-#252 := (iff #249 #602)
-#588 := [rewrite]: #252
-#250 := (iff #245 #249)
-#265 := (iff #607 #260)
-#608 := (iff #606 #609)
-#600 := [rewrite]: #608
-#601 := [monotonicity #600]: #265
-#251 := [monotonicity #601]: #250
-#590 := [trans #251 #588]: #589
-#586 := [quant-inst #52]: #245
-#591 := [mp #586 #590]: #602
-#461 := [unit-resolution #591 #624]: #260
-#349 := [unit-resolution #461 #347]: #609
-#401 := (or #455 #592)
-#456 := [th-lemma arith triangle-eq]: #401
-#350 := [unit-resolution #456 #349]: #592
-#348 := (or #455 #587)
-#351 := [th-lemma arith triangle-eq]: #348
-#333 := [unit-resolution #351 #349]: #587
-#336 := [th-lemma arith eq-propagate 1 1 -1 -1 #333 #350 #355 #354]: #335
-#337 := [monotonicity #336]: #423
-#338 := [trans #337 #410]: #154
-#157 := (not #154)
-#65 := (+ #58 #64)
-#70 := (f3 f4 #65)
-#93 := (= #70 #90)
-#96 := (not #93)
-#158 := (iff #96 #157)
-#155 := (iff #93 #154)
-#152 := (= #70 #151)
-#149 := (= #65 #148)
-#150 := [rewrite]: #149
-#153 := [monotonicity #150]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
+#146 := (iff #41 #143)
+#124 := (not #38)
+#125 := (or #124 #39)
+#128 := (forall (vars (?v0 Int)) #125)
+#144 := (iff #128 #143)
+#141 := (iff #125 #140)
+#138 := (iff #124 #109)
+#133 := (not #111)
+#136 := (iff #133 #109)
+#137 := [rewrite]: #136
+#134 := (iff #124 #133)
+#131 := (iff #38 #111)
+#132 := [rewrite]: #131
+#135 := [monotonicity #132]: #134
+#139 := [trans #135 #137]: #138
+#142 := [monotonicity #139]: #141
+#145 := [quant-intro #142]: #144
+#129 := (iff #41 #128)
+#126 := (iff #40 #125)
+#127 := [rewrite]: #126
+#130 := [quant-intro #127]: #129
+#147 := [trans #130 #145]: #146
+#123 := [asserted]: #41
+#148 := [mp #123 #147]: #143
+#166 := [mp~ #148 #157]: #143
+#660 := [mp #166 #659]: #655
+#267 := (not #655)
+#550 := (or #267 #566 #562)
+#551 := (or #267 #546)
+#548 := (iff #551 #550)
+#553 := [rewrite]: #548
+#552 := [quant-inst #17]: #551
+#539 := [mp #552 #553]: #550
+#404 := [unit-resolution #539 #660]: #546
+#407 := [unit-resolution #404 #406]: #562
+#401 := (= #17 #567)
+#398 := (= f9 #227)
+#312 := (= #227 f9)
+#305 := (or #314 #312)
+#316 := [quant-inst #16]: #305
+#395 := [unit-resolution #316 #647]: #312
+#400 := [symm #395]: #398
+#397 := [monotonicity #400]: #401
+#402 := [trans #397 #407]: #415
+#392 := (not #415)
+#382 := (or #392 #566)
+#384 := [th-lemma arith triangle-eq]: #382
+#385 := [unit-resolution #384 #406 #402]: false
+#388 := [lemma #385]: #566
+#377 := (or #405 #422 #505 #485)
+#379 := [th-lemma arith assign-bounds 1 1 1]: #377
+#378 := [unit-resolution #379 #388]: #380
+#381 := [unit-resolution #378 #391 #386]: #422
+#629 := (not #422)
+#295 := (or #629 #639)
+#275 := (or #632 #629 #639)
+#636 := (= #70 #64)
+#637 := (or #629 #636)
+#616 := (or #632 #637)
+#620 := (iff #616 #275)
+#280 := (or #632 #295)
+#618 := (iff #280 #275)
+#619 := [rewrite]: #618
+#281 := (iff #616 #280)
+#631 := (iff #637 #295)
+#638 := (iff #636 #639)
+#634 := [rewrite]: #638
+#291 := [monotonicity #634]: #631
+#282 := [monotonicity #291]: #281
+#621 := [trans #282 #619]: #620
+#279 := [quant-inst #64]: #616
+#622 := [mp #279 #621]: #275
+#461 := [unit-resolution #622 #654]: #295
+#363 := [unit-resolution #461 #381]: #639
+#492 := (or #491 #617)
+#487 := [th-lemma arith triangle-eq]: #492
+#365 := [unit-resolution #487 #363]: #617
+#366 := (or #491 #623)
+#367 := [th-lemma arith triangle-eq]: #366
+#368 := [unit-resolution #367 #363]: #623
+#370 := [th-lemma arith eq-propagate 1 1 -1 -1 #368 #365 #386 #393]: #369
+#371 := [monotonicity #370]: #441
+#372 := [trans #371 #448]: #92
+#95 := (not #92)
 #20 := (+ #12 #17)
 #21 := (- #10 #20)
 #22 := (f3 f4 #21)
@@ -12239,219 +11235,205 @@
 #19 := (f3 f4 #18)
 #23 := (= #19 #22)
 #24 := (not #23)
-#97 := (iff #24 #96)
-#94 := (iff #23 #93)
-#91 := (= #22 #90)
-#88 := (= #21 #83)
-#73 := (* -1::Int #20)
-#74 := (+ #10 #73)
-#86 := (= #74 #83)
-#77 := (+ #51 #64)
-#80 := (+ #10 #77)
-#84 := (= #80 #83)
-#85 := [rewrite]: #84
-#81 := (= #74 #80)
+#96 := (iff #24 #95)
+#93 := (iff #23 #92)
+#90 := (= #22 #89)
+#87 := (= #21 #86)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#83 := (= #19 #82)
+#80 := (= #18 #77)
+#73 := (- #70 #17)
 #78 := (= #73 #77)
 #79 := [rewrite]: #78
-#82 := [monotonicity #79]: #81
-#87 := [trans #82 #85]: #86
-#75 := (= #21 #74)
-#76 := [rewrite]: #75
-#89 := [trans #76 #87]: #88
-#92 := [monotonicity #89]: #91
-#71 := (= #19 #70)
-#68 := (= #18 #65)
-#61 := (- #58 #17)
-#66 := (= #61 #65)
-#67 := [rewrite]: #66
-#62 := (= #18 #61)
-#59 := (= #15 #58)
-#56 := (= #14 #55)
-#53 := (= #13 #52)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#60 := [monotonicity #57]: #59
-#63 := [monotonicity #60]: #62
-#69 := [trans #63 #67]: #68
+#74 := (= #18 #73)
+#71 := (= #15 #70)
+#68 := (= #14 #67)
+#65 := (= #13 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
 #72 := [monotonicity #69]: #71
-#95 := [monotonicity #72 #92]: #94
-#98 := [monotonicity #95]: #97
-#43 := [asserted]: #24
-#99 := [mp #43 #98]: #96
-#162 := [mp #99 #159]: #157
-#339 := [unit-resolution #162 #338]: false
-#340 := [lemma #339]: #550
-#309 := (f5 f6 #151)
-#547 := (>= #309 0::Int)
-#580 := (+ #17 #604)
-#581 := (<= #580 0::Int)
-#546 := (= #551 0::Int)
-#479 := (not #546)
-#571 := (= #309 0::Int)
-#578 := (not #581)
-#484 := [hypothesis]: #578
-#413 := (or #581 #571)
-#557 := (or #236 #581 #571)
-#594 := (>= #148 0::Int)
-#412 := (or #594 #571)
-#558 := (or #236 #412)
-#562 := (iff #558 #557)
-#553 := (or #236 #413)
-#561 := (iff #553 #557)
-#555 := [rewrite]: #561
-#554 := (iff #558 #553)
-#414 := (iff #412 #413)
-#303 := (iff #594 #581)
-#304 := [rewrite]: #303
-#556 := [monotonicity #304]: #414
-#560 := [monotonicity #556]: #554
-#391 := [trans #560 #555]: #562
-#559 := [quant-inst #148]: #558
-#393 := [mp #559 #391]: #557
-#415 := [unit-resolution #393 #630]: #413
-#416 := [unit-resolution #415 #484]: #571
-#411 := (not #571)
-#427 := (or #479 #411)
-#507 := (f3 f4 #309)
-#421 := (= #507 #492)
-#417 := (= #492 #507)
-#454 := (= #551 #309)
-#453 := (= 0::Int #309)
-#478 := [hypothesis]: #571
-#433 := [symm #478]: #453
-#443 := [hypothesis]: #546
-#409 := [trans #443 #433]: #454
-#418 := [monotonicity #409]: #417
-#422 := [symm #418]: #421
-#419 := (= #151 #507)
-#497 := (= #507 #151)
-#488 := (or #284 #497)
-#494 := [quant-inst #151]: #488
-#477 := [unit-resolution #494 #617]: #497
-#420 := [symm #477]: #419
-#424 := [trans #420 #422]: #423
-#425 := [trans #424 #410]: #154
-#426 := [unit-resolution #162 #425]: false
-#388 := [lemma #426]: #427
-#389 := [unit-resolution #388 #416]: #479
-#533 := (or #548 #546)
-#524 := (or #236 #548 #546)
-#526 := (or #236 #533)
-#537 := (iff #526 #524)
-#538 := [rewrite]: #537
-#536 := [quant-inst #83]: #526
-#534 := [mp #536 #538]: #524
-#460 := [unit-resolution #534 #630]: #533
-#396 := [unit-resolution #460 #389]: #548
-#398 := [unit-resolution #464 #396]: #435
-#402 := [unit-resolution #400 #398]: #545
-#539 := (<= #551 0::Int)
-#432 := (or #539 #581)
-#308 := (>= #58 0::Int)
-#593 := (= #58 0::Int)
-#469 := (not #592)
-#480 := (not #539)
-#476 := [hypothesis]: #480
-#481 := (or #528 #539)
-#482 := [th-lemma arith farkas 1 1]: #481
-#483 := [unit-resolution #482 #476]: #528
-#485 := (or #479 #539)
-#458 := [th-lemma arith triangle-eq]: #485
-#459 := [unit-resolution #458 #476]: #479
-#353 := [unit-resolution #460 #459]: #548
-#465 := [unit-resolution #464 #353]: #435
-#468 := [unit-resolution #467 #465]: #542
-#474 := (or #469 #581 #472 #473)
-#470 := [th-lemma arith assign-bounds 1 1 -1]: #474
-#475 := [unit-resolution #470 #468 #484 #483]: #469
-#437 := [unit-resolution #456 #475]: #455
-#462 := [unit-resolution #461 #437]: #599
-#231 := (or #392 #593)
-#237 := (or #236 #392 #593)
-#597 := (or #236 #231)
-#598 := (iff #597 #237)
-#584 := [rewrite]: #598
-#595 := [quant-inst #52]: #597
-#585 := [mp #595 #584]: #237
-#457 := [unit-resolution #585 #630]: #231
-#463 := [unit-resolution #457 #462]: #593
-#431 := (not #593)
-#438 := (or #431 #308)
-#397 := [th-lemma arith triangle-eq]: #438
-#428 := [unit-resolution #397 #463]: #308
-#430 := [th-lemma arith farkas 1 1 1 1 1 #484 #462 #483 #468 #428]: false
-#439 := [lemma #430]: #432
-#403 := [unit-resolution #439 #484]: #539
-#404 := (or #546 #480 #472)
-#405 := [th-lemma arith triangle-eq]: #404
-#406 := [unit-resolution #405 #389 #403]: #472
-#407 := [th-lemma arith farkas 1 -1 1 #406 #396 #402]: false
-#390 := [lemma #407]: #581
-#583 := (+ #17 #604 #309)
-#565 := (>= #583 0::Int)
-#293 := (= #583 0::Int)
-#296 := (or #578 #293)
-#290 := (or #261 #578 #293)
-#310 := (= #309 #148)
-#596 := (not #594)
-#203 := (or #596 #310)
-#572 := (or #261 #203)
-#563 := (iff #572 #290)
-#573 := (or #261 #296)
-#567 := (iff #573 #290)
-#568 := [rewrite]: #567
-#577 := (iff #572 #573)
-#574 := (iff #203 #296)
-#294 := (iff #310 #293)
-#295 := [rewrite]: #294
-#582 := (iff #596 #578)
-#579 := [monotonicity #304]: #582
-#575 := [monotonicity #579 #295]: #574
-#566 := [monotonicity #575]: #577
-#564 := [trans #566 #568]: #563
-#576 := [quant-inst #148]: #572
-#569 := [mp #576 #564]: #290
-#341 := [unit-resolution #569 #624]: #296
-#342 := [unit-resolution #341 #390]: #293
-#343 := (not #293)
-#344 := (or #343 #565)
+#75 := [monotonicity #72]: #74
+#81 := [trans #75 #79]: #80
+#84 := [monotonicity #81]: #83
+#94 := [monotonicity #84 #91]: #93
+#97 := [monotonicity #94]: #96
+#61 := [asserted]: #24
+#100 := [mp #61 #97]: #95
+#373 := [unit-resolution #100 #372]: false
+#374 := [lemma #373]: #579
+#340 := (f5 f6 #82)
+#580 := (>= #340 0::Int)
+#611 := (+ #17 #640)
+#333 := (<= #611 0::Int)
+#554 := (= #582 0::Int)
+#490 := (not #554)
+#443 := (= #340 0::Int)
+#612 := (not #333)
+#489 := [hypothesis]: #612
+#586 := (or #333 #443)
+#589 := (or #267 #333 #443)
+#626 := (>= #77 0::Int)
+#444 := (or #626 #443)
+#583 := (or #267 #444)
+#423 := (iff #583 #589)
+#590 := (or #267 #586)
+#592 := (iff #590 #589)
+#421 := [rewrite]: #592
+#591 := (iff #583 #590)
+#587 := (iff #444 #586)
+#334 := (iff #626 #333)
+#608 := [rewrite]: #334
+#588 := [monotonicity #608]: #587
+#585 := [monotonicity #588]: #591
+#424 := [trans #585 #421]: #423
+#584 := [quant-inst #77]: #583
+#577 := [mp #584 #424]: #589
+#449 := [unit-resolution #577 #660]: #586
+#450 := [unit-resolution #449 #489]: #443
+#426 := (not #443)
+#428 := (or #490 #426)
+#517 := (f3 f4 #340)
+#455 := (= #517 #510)
+#451 := (= #510 #517)
+#446 := (= #582 #340)
+#440 := (= 0::Int #340)
+#514 := [hypothesis]: #443
+#445 := [symm #514]: #440
+#439 := [hypothesis]: #554
+#447 := [trans #439 #445]: #446
+#452 := [monotonicity #447]: #451
+#456 := [symm #452]: #455
+#453 := (= #82 #517)
+#519 := (= #517 #82)
+#507 := (or #314 #519)
+#508 := [quant-inst #82]: #507
+#513 := [unit-resolution #508 #647]: #519
+#454 := [symm #513]: #453
+#457 := [trans #454 #456]: #441
+#418 := [trans #457 #448]: #92
+#419 := [unit-resolution #100 #418]: false
+#429 := [lemma #419]: #428
+#430 := [unit-resolution #429 #450]: #490
+#556 := (or #581 #554)
+#568 := (or #267 #581 #554)
+#564 := (or #267 #556)
+#558 := (iff #564 #568)
+#559 := [rewrite]: #558
+#569 := [quant-inst #86]: #564
+#560 := [mp #569 #559]: #568
+#496 := [unit-resolution #560 #660]: #556
+#432 := [unit-resolution #496 #430]: #581
+#433 := [unit-resolution #497 #432]: #425
+#436 := [unit-resolution #435 #433]: #565
+#561 := (<= #582 0::Int)
+#473 := (or #561 #333)
+#339 := (>= #70 0::Int)
+#261 := (= #70 0::Int)
+#500 := (not #617)
+#511 := (not #561)
+#512 := [hypothesis]: #511
+#509 := (or #555 #561)
+#515 := [th-lemma arith farkas 1 1]: #509
+#488 := [unit-resolution #515 #512]: #555
+#383 := (or #490 #561)
+#494 := [th-lemma arith triangle-eq]: #383
+#495 := [unit-resolution #494 #512]: #490
+#501 := [unit-resolution #496 #495]: #581
+#498 := [unit-resolution #497 #501]: #425
+#504 := [unit-resolution #503 #498]: #557
+#431 := (or #500 #333 #505 #485)
+#486 := [th-lemma arith assign-bounds 1 1 -1]: #431
+#467 := [unit-resolution #486 #504 #489 #488]: #500
+#493 := [unit-resolution #487 #467]: #491
+#468 := [unit-resolution #461 #493]: #629
+#624 := (or #422 #261)
+#627 := (or #267 #422 #261)
+#625 := (or #267 #624)
+#614 := (iff #625 #627)
+#615 := [rewrite]: #614
+#628 := [quant-inst #64]: #625
+#337 := [mp #628 #615]: #627
+#427 := [unit-resolution #337 #660]: #624
+#458 := [unit-resolution #427 #468]: #261
+#460 := (not #261)
+#462 := (or #460 #339)
+#469 := [th-lemma arith triangle-eq]: #462
+#471 := [unit-resolution #469 #458]: #339
+#472 := [th-lemma arith farkas 1 1 1 1 1 #489 #468 #488 #504 #471]: false
+#483 := [lemma #472]: #473
+#437 := [unit-resolution #483 #489]: #561
+#420 := (or #554 #511 #505)
+#438 := [th-lemma arith triangle-eq]: #420
+#408 := [unit-resolution #438 #430 #437]: #505
+#409 := [th-lemma arith farkas 1 -1 1 #408 #432 #436]: false
+#410 := [lemma #409]: #333
+#323 := (+ #640 #340)
+#324 := (+ #17 #323)
+#442 := (>= #324 0::Int)
+#325 := (= #324 0::Int)
+#605 := (or #612 #325)
+#606 := (or #632 #612 #325)
+#234 := (= #340 #77)
+#266 := (not #626)
+#610 := (or #266 #234)
+#603 := (or #632 #610)
+#599 := (iff #603 #606)
+#596 := (or #632 #605)
+#593 := (iff #596 #606)
+#594 := [rewrite]: #593
+#597 := (iff #603 #596)
+#320 := (iff #610 #605)
+#326 := (iff #234 #325)
+#604 := [rewrite]: #326
+#609 := (iff #266 #612)
+#613 := [monotonicity #608]: #609
+#602 := [monotonicity #613 #604]: #320
+#598 := [monotonicity #602]: #597
+#600 := [trans #598 #594]: #599
+#607 := [quant-inst #77]: #603
+#595 := [mp #607 #600]: #606
+#375 := [unit-resolution #595 #654]: #605
+#364 := [unit-resolution #375 #410]: #325
+#376 := (not #325)
+#353 := (or #376 #442)
+#355 := [th-lemma arith triangle-eq]: #353
+#356 := [unit-resolution #355 #364]: #442
+#357 := (not #442)
+#358 := (or #580 #357 #612)
+#359 := [th-lemma arith assign-bounds 1 -1]: #358
+#360 := [unit-resolution #359 #356 #410]: #580
+#601 := (<= #324 0::Int)
+#361 := (or #376 #601)
+#354 := [th-lemma arith triangle-eq]: #361
+#362 := [unit-resolution #354 #364]: #601
+#349 := (not #601)
+#348 := (not #580)
+#351 := (or #347 #581 #348 #349)
+#350 := [th-lemma arith assign-bounds 1 1 -1]: #351
+#352 := [unit-resolution #350 #362 #360 #374]: #347
+#341 := [unit-resolution #367 #352]: #491
+#338 := (<= #70 0::Int)
+#328 := (not #338)
+#578 := (<= #340 0::Int)
+#335 := (not #578)
+#342 := [unit-resolution #496 #374]: #554
+#343 := [unit-resolution #429 #342]: #426
+#336 := (or #443 #335)
+#344 := (or #443 #335 #348)
 #345 := [th-lemma arith triangle-eq]: #344
-#334 := [unit-resolution #345 #342]: #565
-#346 := (not #565)
-#323 := (or #547 #346 #578)
-#325 := [th-lemma arith assign-bounds 1 -1]: #323
-#326 := [unit-resolution #325 #334 #390]: #547
-#570 := (<= #583 0::Int)
-#327 := (or #343 #570)
-#328 := [th-lemma arith triangle-eq]: #327
-#329 := [unit-resolution #328 #342]: #570
-#324 := (not #570)
-#331 := (not #547)
-#332 := (or #330 #548 #331 #324)
-#317 := [th-lemma arith assign-bounds 1 1 -1]: #332
-#318 := [unit-resolution #317 #329 #326 #340]: #330
-#319 := [unit-resolution #351 #318]: #455
-#307 := (<= #58 0::Int)
-#315 := (not #307)
-#394 := (<= #309 0::Int)
-#322 := (not #394)
-#321 := [unit-resolution #460 #340]: #546
-#320 := [unit-resolution #388 #321]: #411
-#313 := (or #571 #322)
-#311 := (or #571 #322 #331)
-#312 := [th-lemma arith triangle-eq]: #311
-#305 := [unit-resolution #312 #326]: #313
-#314 := [unit-resolution #305 #320]: #322
-#306 := (or #315 #387 #394 #324)
-#316 := [th-lemma arith assign-bounds -1 -1 1]: #306
-#297 := [unit-resolution #316 #329 #314 #362]: #315
-#298 := (or #431 #307)
-#299 := [th-lemma arith triangle-eq]: #298
-#291 := [unit-resolution #299 #297]: #431
-#300 := [unit-resolution #457 #291]: #392
-[unit-resolution #461 #300 #319]: false
-9dcff463b5dde1dc69fdd0a078b0bc4466ce47fc 37 0
-unsat
+#346 := [unit-resolution #345 #360]: #336
+#327 := [unit-resolution #346 #343]: #335
+#329 := (or #328 #405 #578 #349)
+#321 := [th-lemma arith assign-bounds -1 -1 1]: #329
+#330 := [unit-resolution #321 #362 #327 #388]: #328
+#331 := (or #460 #338)
+#322 := [th-lemma arith triangle-eq]: #331
+#332 := [unit-resolution #322 #330]: #460
+#299 := [unit-resolution #427 #332]: #422
+[unit-resolution #461 #299 #341]: false
+unsat
+c3fe9dd07d48c19f169e86364b6e16e6491742af 37 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #11 := 0::Int
@@ -12468,28 +11450,28 @@
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
 #16 := (not #15)
-#56 := (iff #16 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #16 #51)
-#49 := (iff #15 true)
-#44 := (= #14 #14)
-#47 := (iff #44 true)
-#48 := [rewrite]: #47
-#45 := (iff #15 #44)
-#41 := (= #12 0::Int)
-#42 := [rewrite]: #41
-#43 := [monotonicity #42]: #15
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#34 := [asserted]: #16
-[mp #34 #57]: false
-7af90292232e0f0b0c8c0c4509e0eab106814f00 37 0
-unsat
+#68 := (iff #16 false)
+#1 := true
+#63 := (not true)
+#66 := (iff #63 false)
+#67 := [rewrite]: #66
+#64 := (iff #16 #63)
+#61 := (iff #15 true)
+#56 := (= #14 #14)
+#59 := (iff #56 true)
+#60 := [rewrite]: #59
+#57 := (iff #15 #56)
+#53 := (= #12 0::Int)
+#54 := [rewrite]: #53
+#55 := [monotonicity #54]: #15
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#65 := [monotonicity #62]: #64
+#69 := [trans #65 #67]: #68
+#52 := [asserted]: #16
+[mp #52 #69]: false
+unsat
+77553bfdf91cbdbb4f547370608d4248384211db 37 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #8 := 0::Int
@@ -12506,132 +11488,132 @@
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
 #16 := (not #15)
-#56 := (iff #16 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #16 #51)
-#49 := (iff #15 true)
-#44 := (= #14 #14)
-#47 := (iff #44 true)
-#48 := [rewrite]: #47
-#45 := (iff #15 #44)
-#41 := (= #12 0::Int)
-#42 := [rewrite]: #41
-#43 := [monotonicity #42]: #15
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#34 := [asserted]: #16
-[mp #34 #57]: false
-96ea1637fc28c7299348496b50b04624bb54bbca 51 0
-unsat
+#68 := (iff #16 false)
+#1 := true
+#63 := (not true)
+#66 := (iff #63 false)
+#67 := [rewrite]: #66
+#64 := (iff #16 #63)
+#61 := (iff #15 true)
+#56 := (= #14 #14)
+#59 := (iff #56 true)
+#60 := [rewrite]: #59
+#57 := (iff #15 #56)
+#53 := (= #12 0::Int)
+#54 := [rewrite]: #53
+#55 := [monotonicity #54]: #15
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#65 := [monotonicity #62]: #64
+#69 := [trans #65 #67]: #68
+#52 := [asserted]: #16
+[mp #52 #69]: false
+unsat
+1749d19b84217f6922dc5d71d8e67fefffa1dd3a 51 0
 #2 := false
 decl f5 :: (-> S4 S3 Int)
 #16 := (:var 0 S3)
 decl f6 :: S4
 #8 := f6
 #17 := (f5 f6 #16)
-#551 := (pattern #17)
+#607 := (pattern #17)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #18 := (f3 f4 #17)
 #19 := (= #18 #16)
-#552 := (forall (vars (?v0 S3)) (:pat #551) #19)
+#608 := (forall (vars (?v0 S3)) (:pat #607) #19)
 #20 := (forall (vars (?v0 S3)) #19)
-#555 := (iff #20 #552)
-#553 := (iff #19 #19)
-#554 := [refl]: #553
-#556 := [quant-intro #554]: #555
-#125 := (~ #20 #20)
-#129 := (~ #19 #19)
-#130 := [refl]: #129
-#126 := [nnf-pos #130]: #125
-#35 := [asserted]: #20
-#127 := [mp~ #35 #126]: #20
-#557 := [mp #127 #556]: #552
+#611 := (iff #20 #608)
+#609 := (iff #19 #19)
+#610 := [refl]: #609
+#612 := [quant-intro #610]: #611
+#128 := (~ #20 #20)
+#126 := (~ #19 #19)
+#127 := [refl]: #126
+#129 := [nnf-pos #127]: #128
+#64 := [asserted]: #20
+#118 := [mp~ #64 #129]: #20
+#613 := [mp #118 #612]: #608
 decl f7 :: S3
 #9 := f7
 #10 := (f5 f6 f7)
-#43 := (f3 f4 #10)
-#46 := (= #43 f7)
-#49 := (not #46)
+#55 := (f3 f4 #10)
+#58 := (= #55 f7)
+#61 := (not #58)
 #11 := 1::Int
 #12 := (* #10 1::Int)
 #13 := (f3 f4 #12)
 #14 := (= #13 f7)
 #15 := (not #14)
-#50 := (iff #15 #49)
-#47 := (iff #14 #46)
-#44 := (= #13 #43)
-#41 := (= #12 #10)
-#42 := [rewrite]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#51 := [monotonicity #48]: #50
-#34 := [asserted]: #15
-#52 := [mp #34 #51]: #49
-#222 := (not #552)
-#223 := (or #222 #46)
-#214 := [quant-inst #9]: #223
-[unit-resolution #214 #52 #557]: false
-7f2d30410f583c1a05e491b41f4eb605721a63ed 51 0
-unsat
+#62 := (iff #15 #61)
+#59 := (iff #14 #58)
+#56 := (= #13 #55)
+#53 := (= #12 #10)
+#54 := [rewrite]: #53
+#57 := [monotonicity #54]: #56
+#60 := [monotonicity #57]: #59
+#63 := [monotonicity #60]: #62
+#52 := [asserted]: #15
+#66 := [mp #52 #63]: #61
+#278 := (not #608)
+#279 := (or #278 #58)
+#270 := [quant-inst #9]: #279
+[unit-resolution #270 #66 #613]: false
+unsat
+67566504424067f67a103ec753b4c58eea51e2b0 51 0
 #2 := false
 decl f5 :: (-> S4 S3 Int)
 #16 := (:var 0 S3)
 decl f6 :: S4
 #9 := f6
 #17 := (f5 f6 #16)
-#551 := (pattern #17)
+#607 := (pattern #17)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #18 := (f3 f4 #17)
 #19 := (= #18 #16)
-#552 := (forall (vars (?v0 S3)) (:pat #551) #19)
+#608 := (forall (vars (?v0 S3)) (:pat #607) #19)
 #20 := (forall (vars (?v0 S3)) #19)
-#555 := (iff #20 #552)
-#553 := (iff #19 #19)
-#554 := [refl]: #553
-#556 := [quant-intro #554]: #555
-#125 := (~ #20 #20)
-#129 := (~ #19 #19)
-#130 := [refl]: #129
-#126 := [nnf-pos #130]: #125
-#35 := [asserted]: #20
-#127 := [mp~ #35 #126]: #20
-#557 := [mp #127 #556]: #552
+#611 := (iff #20 #608)
+#609 := (iff #19 #19)
+#610 := [refl]: #609
+#612 := [quant-intro #610]: #611
+#128 := (~ #20 #20)
+#126 := (~ #19 #19)
+#127 := [refl]: #126
+#129 := [nnf-pos #127]: #128
+#64 := [asserted]: #20
+#118 := [mp~ #64 #129]: #20
+#613 := [mp #118 #612]: #608
 decl f7 :: S3
 #10 := f7
 #11 := (f5 f6 f7)
-#43 := (f3 f4 #11)
-#46 := (= #43 f7)
-#49 := (not #46)
+#55 := (f3 f4 #11)
+#58 := (= #55 f7)
+#61 := (not #58)
 #8 := 1::Int
 #12 := (* 1::Int #11)
 #13 := (f3 f4 #12)
 #14 := (= #13 f7)
 #15 := (not #14)
-#50 := (iff #15 #49)
-#47 := (iff #14 #46)
-#44 := (= #13 #43)
-#41 := (= #12 #11)
-#42 := [rewrite]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#51 := [monotonicity #48]: #50
-#34 := [asserted]: #15
-#52 := [mp #34 #51]: #49
-#222 := (not #552)
-#223 := (or #222 #46)
-#214 := [quant-inst #10]: #223
-[unit-resolution #214 #52 #557]: false
-0f3423719873455ea9f7115fd0d9b716e38c9561 39 0
-unsat
+#62 := (iff #15 #61)
+#59 := (iff #14 #58)
+#56 := (= #13 #55)
+#53 := (= #12 #11)
+#54 := [rewrite]: #53
+#57 := [monotonicity #54]: #56
+#60 := [monotonicity #57]: #59
+#63 := [monotonicity #60]: #62
+#52 := [asserted]: #15
+#66 := [mp #52 #63]: #61
+#278 := (not #608)
+#279 := (or #278 #58)
+#270 := [quant-inst #10]: #279
+[unit-resolution #270 #66 #613]: false
+unsat
+9a8122f90fb878d81c9ec24c34cad517ec0e86e9 39 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #8 := 3::Int
@@ -12649,29 +11631,29 @@
 #13 := (f3 f4 #12)
 #16 := (= #13 #15)
 #17 := (not #16)
-#59 := (iff #17 false)
-#1 := true
-#54 := (not true)
-#57 := (iff #54 false)
-#58 := [rewrite]: #57
-#55 := (iff #17 #54)
-#52 := (iff #16 true)
-#47 := (= #13 #13)
-#50 := (iff #47 true)
-#51 := [rewrite]: #50
-#48 := (iff #16 #47)
-#45 := (= #15 #13)
-#43 := (= #14 #12)
-#44 := [rewrite]: #43
-#46 := [monotonicity #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#56 := [monotonicity #53]: #55
-#60 := [trans #56 #58]: #59
-#36 := [asserted]: #17
-[mp #36 #60]: false
-f8dca01b17d79b25cc840adcb38387a94d6a160a 262 0
-unsat
+#71 := (iff #17 false)
+#1 := true
+#66 := (not true)
+#69 := (iff #66 false)
+#70 := [rewrite]: #69
+#67 := (iff #17 #66)
+#64 := (iff #16 true)
+#59 := (= #13 #13)
+#62 := (iff #59 true)
+#63 := [rewrite]: #62
+#60 := (iff #16 #59)
+#57 := (= #15 #13)
+#55 := (= #14 #12)
+#56 := [rewrite]: #55
+#58 := [monotonicity #56]: #57
+#61 := [monotonicity #58]: #60
+#65 := [trans #61 #63]: #64
+#68 := [monotonicity #65]: #67
+#72 := [trans #68 #70]: #71
+#54 := [asserted]: #17
+[mp #54 #72]: false
+unsat
+04d7d06577757be1339383f753c875196ebaee4b 246 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 0::Int
@@ -12686,103 +11668,79 @@
 #11 := (f5 #10 0::Int)
 #12 := (f3 f4 #11)
 #14 := (= #12 #13)
-#462 := (= #11 0::Int)
+#503 := (= #11 0::Int)
 #22 := (:var 0 Int)
 #33 := (:var 1 Int)
 #34 := (f6 f7 #33)
 #35 := (f5 #34 #22)
-#789 := (pattern #35)
-#130 := -1::Int
-#134 := (* -1::Int #22)
-#131 := (* -1::Int #33)
-#137 := (div #131 #134)
-#328 := (* -1::Int #137)
-#329 := (+ #35 #328)
-#330 := (= #329 0::Int)
+#830 := (pattern #35)
+#135 := -1::Int
+#139 := (* -1::Int #22)
+#136 := (* -1::Int #33)
+#142 := (div #136 #139)
+#308 := (* -1::Int #142)
+#309 := (+ #35 #308)
+#310 := (= #309 0::Int)
 #45 := (div #33 #22)
-#325 := (* -1::Int #45)
-#326 := (+ #35 #325)
-#327 := (= #326 0::Int)
-#108 := (<= #22 0::Int)
-#220 := (>= #33 0::Int)
-#288 := (or #220 #108)
-#289 := (not #288)
-#104 := (<= #33 0::Int)
-#284 := (or #104 #108)
-#285 := (not #284)
-#292 := (or #285 #289)
-#331 := (if #292 #327 #330)
-#324 := (= #35 0::Int)
+#305 := (* -1::Int #45)
+#306 := (+ #35 #305)
+#307 := (= #306 0::Int)
+#161 := (<= #22 0::Int)
+#168 := (>= #33 0::Int)
+#268 := (or #168 #161)
+#269 := (not #268)
+#157 := (<= #33 0::Int)
+#266 := (or #157 #161)
+#267 := (not #266)
+#272 := (or #267 #269)
+#311 := (if #272 #307 #310)
+#304 := (= #35 0::Int)
 #37 := (= #22 0::Int)
 #36 := (= #33 0::Int)
 #38 := (or #36 #37)
-#332 := (if #38 #324 #331)
-#790 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #789) #332)
-#335 := (forall (vars (?v0 Int) (?v1 Int)) #332)
-#793 := (iff #335 #790)
-#791 := (iff #332 #332)
-#792 := [refl]: #791
-#794 := [quant-intro #792]: #793
-#295 := (if #292 #45 #137)
-#298 := (if #38 0::Int #295)
-#301 := (= #35 #298)
-#304 := (forall (vars (?v0 Int) (?v1 Int)) #301)
-#336 := (iff #304 #335)
-#333 := (iff #301 #332)
-#334 := [rewrite]: #333
-#337 := [quant-intro #334]: #336
-#109 := (not #108)
-#223 := (not #220)
-#226 := (and #223 #109)
-#105 := (not #104)
-#112 := (and #105 #109)
-#229 := (or #112 #226)
-#232 := (if #229 #45 #137)
-#235 := (if #38 0::Int #232)
-#238 := (= #35 #235)
-#241 := (forall (vars (?v0 Int) (?v1 Int)) #238)
-#305 := (iff #241 #304)
-#302 := (iff #238 #301)
-#299 := (= #235 #298)
-#296 := (= #232 #295)
-#293 := (iff #229 #292)
-#290 := (iff #226 #289)
-#291 := [rewrite]: #290
-#286 := (iff #112 #285)
-#287 := [rewrite]: #286
-#294 := [monotonicity #287 #291]: #293
-#297 := [monotonicity #294]: #296
-#300 := [monotonicity #297]: #299
-#303 := [monotonicity #300]: #302
-#306 := [quant-intro #303]: #305
-#276 := (~ #241 #241)
-#274 := (~ #238 #238)
-#275 := [refl]: #274
-#277 := [nnf-pos #275]: #276
-#115 := (<= 0::Int #33)
-#116 := (not #115)
-#124 := (and #116 #109)
-#127 := (or #112 #124)
-#140 := (if #127 #45 #137)
-#143 := (if #38 0::Int #140)
-#146 := (= #35 #143)
-#149 := (forall (vars (?v0 Int) (?v1 Int)) #146)
-#242 := (iff #149 #241)
-#239 := (iff #146 #238)
-#236 := (= #143 #235)
-#233 := (= #140 #232)
-#230 := (iff #127 #229)
-#227 := (iff #124 #226)
-#224 := (iff #116 #223)
-#221 := (iff #115 #220)
-#222 := [rewrite]: #221
-#225 := [monotonicity #222]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [monotonicity #234]: #236
-#240 := [monotonicity #237]: #239
-#243 := [quant-intro #240]: #242
+#312 := (if #38 #304 #311)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #312)
+#315 := (forall (vars (?v0 Int) (?v1 Int)) #312)
+#834 := (iff #315 #831)
+#832 := (iff #312 #312)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#275 := (if #272 #45 #142)
+#278 := (if #38 0::Int #275)
+#281 := (= #35 #278)
+#284 := (forall (vars (?v0 Int) (?v1 Int)) #281)
+#316 := (iff #284 #315)
+#313 := (iff #281 #312)
+#314 := [rewrite]: #313
+#317 := [quant-intro #314]: #316
+#162 := (not #161)
+#169 := (not #168)
+#172 := (and #169 #162)
+#158 := (not #157)
+#165 := (and #158 #162)
+#175 := (or #165 #172)
+#178 := (if #175 #45 #142)
+#181 := (if #38 0::Int #178)
+#184 := (= #35 #181)
+#187 := (forall (vars (?v0 Int) (?v1 Int)) #184)
+#285 := (iff #187 #284)
+#282 := (iff #184 #281)
+#279 := (= #181 #278)
+#276 := (= #178 #275)
+#273 := (iff #175 #272)
+#270 := (iff #172 #269)
+#271 := [rewrite]: #270
+#251 := (iff #165 #267)
+#252 := [rewrite]: #251
+#274 := [monotonicity #252 #271]: #273
+#277 := [monotonicity #274]: #276
+#280 := [monotonicity #277]: #279
+#283 := [monotonicity #280]: #282
+#286 := [quant-intro #283]: #285
+#247 := (~ #187 #187)
+#260 := (~ #184 #184)
+#261 := [refl]: #260
+#248 := [nnf-pos #261]: #247
 #47 := (- #22)
 #46 := (- #33)
 #48 := (div #46 #47)
@@ -12796,145 +11754,153 @@
 #50 := (if #38 0::Int #49)
 #51 := (= #35 #50)
 #52 := (forall (vars (?v0 Int) (?v1 Int)) #51)
-#150 := (iff #52 #149)
-#147 := (iff #51 #146)
-#144 := (= #50 #143)
-#141 := (= #49 #140)
-#138 := (= #48 #137)
-#135 := (= #47 #134)
-#136 := [rewrite]: #135
-#132 := (= #46 #131)
-#133 := [rewrite]: #132
-#139 := [monotonicity #133 #136]: #138
-#128 := (iff #44 #127)
-#125 := (iff #43 #124)
-#110 := (iff #40 #109)
-#111 := [rewrite]: #110
-#117 := (iff #42 #116)
-#121 := (iff #116 #116)
-#119 := (iff #115 #115)
-#120 := [rewrite]: #119
-#122 := [monotonicity #120]: #121
-#118 := [rewrite]: #117
-#123 := [trans #118 #122]: #117
-#126 := [monotonicity #123 #111]: #125
-#113 := (iff #41 #112)
-#106 := (iff #39 #105)
-#107 := [rewrite]: #106
-#114 := [monotonicity #107 #111]: #113
-#129 := [monotonicity #114 #126]: #128
-#142 := [monotonicity #129 #139]: #141
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#151 := [quant-intro #148]: #150
-#69 := [asserted]: #52
-#152 := [mp #69 #151]: #149
-#244 := [mp #152 #243]: #241
-#278 := [mp~ #244 #277]: #241
-#307 := [mp #278 #306]: #304
-#338 := [mp #307 #337]: #335
-#795 := [mp #338 #794]: #790
-#696 := (not #790)
-#692 := (or #696 #462)
-#448 := (* -1::Int 0::Int)
-#730 := (div #448 #448)
-#734 := (* -1::Int #730)
-#731 := (+ #11 #734)
-#735 := (= #731 0::Int)
-#453 := (div 0::Int 0::Int)
-#454 := (* -1::Int #453)
-#732 := (+ #11 #454)
-#733 := (= #732 0::Int)
-#736 := (<= 0::Int 0::Int)
-#550 := (>= 0::Int 0::Int)
-#741 := (or #550 #736)
-#451 := (not #741)
-#740 := (or #736 #736)
-#737 := (not #740)
-#452 := (or #737 #451)
-#724 := (if #452 #733 #735)
-#739 := (= 0::Int 0::Int)
-#461 := (or #739 #739)
-#725 := (if #461 #462 #724)
-#697 := (or #696 #725)
-#687 := (iff #697 #692)
-#689 := (iff #692 #692)
-#683 := [rewrite]: #689
-#694 := (iff #725 #462)
-#1 := true
-#691 := (if true #462 #733)
-#682 := (iff #691 #462)
-#684 := [rewrite]: #682
-#693 := (iff #725 #691)
-#700 := (iff #724 #733)
-#607 := (if false #733 #733)
-#610 := (iff #607 #733)
-#703 := [rewrite]: #610
-#608 := (iff #724 #607)
-#598 := (iff #735 #733)
-#604 := (= #731 #732)
-#587 := (= #734 #454)
-#699 := (= #730 #453)
-#603 := (= #448 0::Int)
-#698 := [rewrite]: #603
-#702 := [monotonicity #698 #698]: #699
-#602 := [monotonicity #702]: #587
-#605 := [monotonicity #602]: #604
-#606 := [monotonicity #605]: #598
-#553 := (iff #452 false)
-#707 := (or false false)
-#593 := (iff #707 false)
-#594 := [rewrite]: #593
-#710 := (iff #452 #707)
-#708 := (iff #451 false)
-#419 := (not true)
-#744 := (iff #419 false)
-#407 := [rewrite]: #744
-#705 := (iff #451 #419)
-#551 := (iff #741 true)
-#722 := (or true true)
-#723 := (iff #722 true)
-#729 := [rewrite]: #723
-#720 := (iff #741 #722)
-#572 := (iff #736 true)
-#714 := [rewrite]: #572
-#423 := (iff #550 true)
-#759 := [rewrite]: #423
-#549 := [monotonicity #759 #714]: #720
-#552 := [trans #549 #729]: #551
-#706 := [monotonicity #552]: #705
-#709 := [trans #706 #407]: #708
-#719 := (iff #737 false)
-#712 := (iff #737 #419)
-#717 := (iff #740 true)
-#715 := (iff #740 #722)
-#716 := [monotonicity #714 #714]: #715
-#711 := [trans #716 #729]: #717
-#718 := [monotonicity #711]: #712
-#713 := [trans #718 #407]: #719
-#592 := [monotonicity #713 #709]: #710
-#701 := [trans #592 #594]: #553
-#609 := [monotonicity #701 #606]: #608
-#704 := [trans #609 #703]: #700
-#570 := (iff #461 true)
-#727 := (iff #461 #722)
-#726 := (iff #739 true)
-#721 := [rewrite]: #726
-#728 := [monotonicity #721 #721]: #727
-#571 := [trans #728 #729]: #570
-#685 := [monotonicity #571 #704]: #693
-#695 := [trans #685 #684]: #694
-#688 := [monotonicity #695]: #687
-#690 := [trans #688 #683]: #687
-#686 := [quant-inst #9 #9]: #697
-#674 := [mp #686 #690]: #692
-#677 := [unit-resolution #674 #795]: #462
-#678 := [monotonicity #677]: #14
-#15 := (not #14)
-#65 := [asserted]: #15
-[unit-resolution #65 #678]: false
-c5e05aa748f8c52496e5b5ccde5700a56e70c1ef 279 0
-unsat
+#190 := (iff #52 #187)
+#145 := (if #44 #45 #142)
+#148 := (if #38 0::Int #145)
+#151 := (= #35 #148)
+#154 := (forall (vars (?v0 Int) (?v1 Int)) #151)
+#188 := (iff #154 #187)
+#185 := (iff #151 #184)
+#182 := (= #148 #181)
+#179 := (= #145 #178)
+#176 := (iff #44 #175)
+#173 := (iff #43 #172)
+#163 := (iff #40 #162)
+#164 := [rewrite]: #163
+#170 := (iff #42 #169)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171 #164]: #173
+#166 := (iff #41 #165)
+#159 := (iff #39 #158)
+#160 := [rewrite]: #159
+#167 := [monotonicity #160 #164]: #166
+#177 := [monotonicity #167 #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [monotonicity #180]: #182
+#186 := [monotonicity #183]: #185
+#189 := [quant-intro #186]: #188
+#155 := (iff #52 #154)
+#152 := (iff #51 #151)
+#149 := (= #50 #148)
+#146 := (= #49 #145)
+#143 := (= #48 #142)
+#140 := (= #47 #139)
+#141 := [rewrite]: #140
+#137 := (= #46 #136)
+#138 := [rewrite]: #137
+#144 := [monotonicity #138 #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [monotonicity #150]: #152
+#156 := [quant-intro #153]: #155
+#191 := [trans #156 #189]: #190
+#134 := [asserted]: #52
+#192 := [mp #134 #191]: #187
+#262 := [mp~ #192 #248]: #187
+#287 := [mp #262 #286]: #284
+#318 := [mp #287 #317]: #315
+#836 := [mp #318 #835]: #831
+#737 := (not #831)
+#733 := (or #737 #503)
+#489 := (* -1::Int 0::Int)
+#771 := (div #489 #489)
+#775 := (* -1::Int #771)
+#772 := (+ #11 #775)
+#776 := (= #772 0::Int)
+#494 := (div 0::Int 0::Int)
+#495 := (* -1::Int #494)
+#773 := (+ #11 #495)
+#774 := (= #773 0::Int)
+#777 := (<= 0::Int 0::Int)
+#591 := (>= 0::Int 0::Int)
+#782 := (or #591 #777)
+#492 := (not #782)
+#781 := (or #777 #777)
+#778 := (not #781)
+#493 := (or #778 #492)
+#765 := (if #493 #774 #776)
+#780 := (= 0::Int 0::Int)
+#502 := (or #780 #780)
+#766 := (if #502 #503 #765)
+#738 := (or #737 #766)
+#728 := (iff #738 #733)
+#730 := (iff #733 #733)
+#724 := [rewrite]: #730
+#735 := (iff #766 #503)
+#1 := true
+#732 := (if true #503 #774)
+#723 := (iff #732 #503)
+#725 := [rewrite]: #723
+#734 := (iff #766 #732)
+#741 := (iff #765 #774)
+#648 := (if false #774 #774)
+#651 := (iff #648 #774)
+#744 := [rewrite]: #651
+#649 := (iff #765 #648)
+#639 := (iff #776 #774)
+#645 := (= #772 #773)
+#628 := (= #775 #495)
+#740 := (= #771 #494)
+#644 := (= #489 0::Int)
+#739 := [rewrite]: #644
+#743 := [monotonicity #739 #739]: #740
+#643 := [monotonicity #743]: #628
+#646 := [monotonicity #643]: #645
+#647 := [monotonicity #646]: #639
+#594 := (iff #493 false)
+#748 := (or false false)
+#634 := (iff #748 false)
+#635 := [rewrite]: #634
+#751 := (iff #493 #748)
+#749 := (iff #492 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#746 := (iff #492 #460)
+#592 := (iff #782 true)
+#763 := (or true true)
+#764 := (iff #763 true)
+#770 := [rewrite]: #764
+#761 := (iff #782 #763)
+#613 := (iff #777 true)
+#755 := [rewrite]: #613
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#590 := [monotonicity #800 #755]: #761
+#593 := [trans #590 #770]: #592
+#747 := [monotonicity #593]: #746
+#750 := [trans #747 #448]: #749
+#760 := (iff #778 false)
+#753 := (iff #778 #460)
+#758 := (iff #781 true)
+#756 := (iff #781 #763)
+#757 := [monotonicity #755 #755]: #756
+#752 := [trans #757 #770]: #758
+#759 := [monotonicity #752]: #753
+#754 := [trans #759 #448]: #760
+#633 := [monotonicity #754 #750]: #751
+#742 := [trans #633 #635]: #594
+#650 := [monotonicity #742 #647]: #649
+#745 := [trans #650 #744]: #741
+#611 := (iff #502 true)
+#768 := (iff #502 #763)
+#767 := (iff #780 true)
+#762 := [rewrite]: #767
+#769 := [monotonicity #762 #762]: #768
+#612 := [trans #769 #770]: #611
+#726 := [monotonicity #612 #745]: #734
+#736 := [trans #726 #725]: #735
+#729 := [monotonicity #736]: #728
+#731 := [trans #729 #724]: #728
+#727 := [quant-inst #9 #9]: #738
+#715 := [mp #727 #731]: #733
+#718 := [unit-resolution #715 #836]: #503
+#719 := [monotonicity #718]: #14
+#15 := (not #14)
+#83 := [asserted]: #15
+[unit-resolution #83 #719]: false
+unsat
+8c194d24ce95c51840adf6b32bc910599b480f95 263 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #13 := 0::Int
@@ -12955,103 +11921,79 @@
 #14 := (f5 #12 0::Int)
 #15 := (f3 f4 #14)
 #17 := (= #15 #16)
-#454 := (= #14 0::Int)
+#495 := (= #14 0::Int)
 #24 := (:var 0 Int)
 #35 := (:var 1 Int)
 #36 := (f6 f7 #35)
 #37 := (f5 #36 #24)
-#791 := (pattern #37)
-#132 := -1::Int
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #35)
-#139 := (div #133 #136)
-#330 := (* -1::Int #139)
-#331 := (+ #37 #330)
-#332 := (= #331 0::Int)
+#832 := (pattern #37)
+#137 := -1::Int
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #35)
+#144 := (div #138 #141)
+#310 := (* -1::Int #144)
+#311 := (+ #37 #310)
+#312 := (= #311 0::Int)
 #47 := (div #35 #24)
-#327 := (* -1::Int #47)
-#328 := (+ #37 #327)
-#329 := (= #328 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #35 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #35 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#333 := (if #294 #329 #332)
-#326 := (= #37 0::Int)
+#307 := (* -1::Int #47)
+#308 := (+ #37 #307)
+#309 := (= #308 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #35 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #35 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#313 := (if #274 #309 #312)
+#306 := (= #37 0::Int)
 #39 := (= #24 0::Int)
 #38 := (= #35 0::Int)
 #40 := (or #38 #39)
-#334 := (if #40 #326 #333)
-#792 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #791) #334)
-#337 := (forall (vars (?v0 Int) (?v1 Int)) #334)
-#795 := (iff #337 #792)
-#793 := (iff #334 #334)
-#794 := [refl]: #793
-#796 := [quant-intro #794]: #795
-#297 := (if #294 #47 #139)
-#300 := (if #40 0::Int #297)
-#303 := (= #37 #300)
-#306 := (forall (vars (?v0 Int) (?v1 Int)) #303)
-#338 := (iff #306 #337)
-#335 := (iff #303 #334)
-#336 := [rewrite]: #335
-#339 := [quant-intro #336]: #338
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#234 := (if #231 #47 #139)
-#237 := (if #40 0::Int #234)
-#240 := (= #37 #237)
-#243 := (forall (vars (?v0 Int) (?v1 Int)) #240)
-#307 := (iff #243 #306)
-#304 := (iff #240 #303)
-#301 := (= #237 #300)
-#298 := (= #234 #297)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#299 := [monotonicity #296]: #298
-#302 := [monotonicity #299]: #301
-#305 := [monotonicity #302]: #304
-#308 := [quant-intro #305]: #307
-#278 := (~ #243 #243)
-#276 := (~ #240 #240)
-#277 := [refl]: #276
-#279 := [nnf-pos #277]: #278
-#117 := (<= 0::Int #35)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#142 := (if #129 #47 #139)
-#145 := (if #40 0::Int #142)
-#148 := (= #37 #145)
-#151 := (forall (vars (?v0 Int) (?v1 Int)) #148)
-#244 := (iff #151 #243)
-#241 := (iff #148 #240)
-#238 := (= #145 #237)
-#235 := (= #142 #234)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [monotonicity #233]: #235
-#239 := [monotonicity #236]: #238
-#242 := [monotonicity #239]: #241
-#245 := [quant-intro #242]: #244
+#314 := (if #40 #306 #313)
+#833 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #832) #314)
+#317 := (forall (vars (?v0 Int) (?v1 Int)) #314)
+#836 := (iff #317 #833)
+#834 := (iff #314 #314)
+#835 := [refl]: #834
+#837 := [quant-intro #835]: #836
+#277 := (if #274 #47 #144)
+#280 := (if #40 0::Int #277)
+#283 := (= #37 #280)
+#286 := (forall (vars (?v0 Int) (?v1 Int)) #283)
+#318 := (iff #286 #317)
+#315 := (iff #283 #314)
+#316 := [rewrite]: #315
+#319 := [quant-intro #316]: #318
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#180 := (if #177 #47 #144)
+#183 := (if #40 0::Int #180)
+#186 := (= #37 #183)
+#189 := (forall (vars (?v0 Int) (?v1 Int)) #186)
+#287 := (iff #189 #286)
+#284 := (iff #186 #283)
+#281 := (= #183 #280)
+#278 := (= #180 #277)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#279 := [monotonicity #276]: #278
+#282 := [monotonicity #279]: #281
+#285 := [monotonicity #282]: #284
+#288 := [quant-intro #285]: #287
+#249 := (~ #189 #189)
+#262 := (~ #186 #186)
+#263 := [refl]: #262
+#250 := [nnf-pos #263]: #249
 #49 := (- #24)
 #48 := (- #35)
 #50 := (div #48 #49)
@@ -13065,156 +12007,164 @@
 #52 := (if #40 0::Int #51)
 #53 := (= #37 #52)
 #54 := (forall (vars (?v0 Int) (?v1 Int)) #53)
-#152 := (iff #54 #151)
-#149 := (iff #53 #148)
-#146 := (= #52 #145)
-#143 := (= #51 #142)
-#140 := (= #50 #139)
-#137 := (= #49 #136)
-#138 := [rewrite]: #137
-#134 := (= #48 #133)
-#135 := [rewrite]: #134
-#141 := [monotonicity #135 #138]: #140
-#130 := (iff #46 #129)
-#127 := (iff #45 #126)
-#112 := (iff #42 #111)
-#113 := [rewrite]: #112
-#119 := (iff #44 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #43 #114)
-#108 := (iff #41 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#144 := [monotonicity #131 #141]: #143
-#147 := [monotonicity #144]: #146
-#150 := [monotonicity #147]: #149
-#153 := [quant-intro #150]: #152
-#71 := [asserted]: #54
-#154 := [mp #71 #153]: #151
-#246 := [mp #154 #245]: #243
-#280 := [mp~ #246 #279]: #243
-#309 := [mp #280 #308]: #306
-#340 := [mp #309 #339]: #337
-#797 := [mp #340 #796]: #792
-#672 := (not #792)
-#673 := (or #672 #454)
-#724 := (* -1::Int 0::Int)
-#723 := (* -1::Int #11)
-#729 := (div #723 #724)
-#730 := (* -1::Int #729)
-#725 := (+ #14 #730)
-#731 := (= #725 0::Int)
-#737 := (div #11 0::Int)
-#726 := (* -1::Int #737)
-#727 := (+ #14 #726)
-#728 := (= #727 0::Int)
-#456 := (<= 0::Int 0::Int)
-#450 := (>= #11 0::Int)
-#732 := (or #450 #456)
-#736 := (not #732)
-#455 := (<= #11 0::Int)
-#734 := (or #455 #456)
-#735 := (not #734)
-#733 := (or #735 #736)
-#572 := (if #733 #728 #731)
-#743 := (= 0::Int 0::Int)
-#739 := (= #11 0::Int)
-#453 := (or #739 #743)
-#573 := (if #453 #454 #572)
-#674 := (or #672 #573)
-#675 := (iff #674 #673)
-#656 := (iff #673 #673)
-#658 := [rewrite]: #656
-#669 := (iff #573 #454)
-#693 := (div #723 0::Int)
-#684 := (* -1::Int #693)
-#697 := (+ #14 #684)
-#699 := (= #697 0::Int)
-#1 := true
-#680 := (if true #454 #699)
-#678 := (iff #680 #454)
-#683 := [rewrite]: #678
-#681 := (iff #573 #680)
-#677 := (iff #572 #699)
-#690 := (if false #728 #699)
-#692 := (iff #690 #699)
-#676 := [rewrite]: #692
-#691 := (iff #572 #690)
-#688 := (iff #731 #699)
-#698 := (= #725 #697)
-#686 := (= #730 #684)
-#695 := (= #729 #693)
-#702 := (= #724 0::Int)
-#706 := [rewrite]: #702
-#687 := [monotonicity #706]: #695
-#696 := [monotonicity #687]: #686
-#694 := [monotonicity #696]: #698
-#689 := [monotonicity #694]: #688
-#612 := (iff #733 false)
-#600 := (or false false)
-#610 := (iff #600 false)
-#611 := [rewrite]: #610
-#608 := (iff #733 #600)
-#606 := (iff #736 false)
-#410 := (not true)
-#748 := (iff #410 false)
+#192 := (iff #54 #189)
+#147 := (if #46 #47 #144)
+#150 := (if #40 0::Int #147)
+#153 := (= #37 #150)
+#156 := (forall (vars (?v0 Int) (?v1 Int)) #153)
+#190 := (iff #156 #189)
+#187 := (iff #153 #186)
+#184 := (= #150 #183)
+#181 := (= #147 #180)
+#178 := (iff #46 #177)
+#175 := (iff #45 #174)
+#165 := (iff #42 #164)
+#166 := [rewrite]: #165
+#172 := (iff #44 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #43 #167)
+#161 := (iff #41 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#157 := (iff #54 #156)
+#154 := (iff #53 #153)
+#151 := (= #52 #150)
+#148 := (= #51 #147)
+#145 := (= #50 #144)
+#142 := (= #49 #141)
+#143 := [rewrite]: #142
+#139 := (= #48 #138)
+#140 := [rewrite]: #139
+#146 := [monotonicity #140 #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [quant-intro #155]: #157
+#193 := [trans #158 #191]: #192
+#136 := [asserted]: #54
+#194 := [mp #136 #193]: #189
+#264 := [mp~ #194 #250]: #189
+#289 := [mp #264 #288]: #286
+#320 := [mp #289 #319]: #317
+#838 := [mp #320 #837]: #833
+#713 := (not #833)
+#714 := (or #713 #495)
+#765 := (* -1::Int 0::Int)
+#764 := (* -1::Int #11)
+#770 := (div #764 #765)
+#771 := (* -1::Int #770)
+#766 := (+ #14 #771)
+#772 := (= #766 0::Int)
+#778 := (div #11 0::Int)
+#767 := (* -1::Int #778)
+#768 := (+ #14 #767)
+#769 := (= #768 0::Int)
+#497 := (<= 0::Int 0::Int)
+#491 := (>= #11 0::Int)
+#773 := (or #491 #497)
+#777 := (not #773)
+#496 := (<= #11 0::Int)
+#775 := (or #496 #497)
+#776 := (not #775)
+#774 := (or #776 #777)
+#613 := (if #774 #769 #772)
+#784 := (= 0::Int 0::Int)
+#780 := (= #11 0::Int)
+#494 := (or #780 #784)
+#614 := (if #494 #495 #613)
+#715 := (or #713 #614)
+#716 := (iff #715 #714)
+#697 := (iff #714 #714)
+#699 := [rewrite]: #697
+#710 := (iff #614 #495)
+#734 := (div #764 0::Int)
+#725 := (* -1::Int #734)
+#738 := (+ #14 #725)
+#740 := (= #738 0::Int)
+#1 := true
+#721 := (if true #495 #740)
+#719 := (iff #721 #495)
+#724 := [rewrite]: #719
+#722 := (iff #614 #721)
+#718 := (iff #613 #740)
+#731 := (if false #769 #740)
+#733 := (iff #731 #740)
+#717 := [rewrite]: #733
+#732 := (iff #613 #731)
+#729 := (iff #772 #740)
+#739 := (= #766 #738)
+#727 := (= #771 #725)
+#736 := (= #770 #734)
+#743 := (= #765 0::Int)
+#747 := [rewrite]: #743
+#728 := [monotonicity #747]: #736
+#737 := [monotonicity #728]: #727
+#735 := [monotonicity #737]: #739
+#730 := [monotonicity #735]: #729
+#653 := (iff #774 false)
+#641 := (or false false)
+#651 := (iff #641 false)
+#652 := [rewrite]: #651
+#649 := (iff #774 #641)
+#647 := (iff #777 false)
+#451 := (not true)
+#789 := (iff #451 false)
+#790 := [rewrite]: #789
+#630 := (iff #777 #451)
+#742 := (iff #773 true)
+#637 := (or #491 true)
+#646 := (iff #637 true)
+#741 := [rewrite]: #646
+#596 := (iff #773 #637)
+#756 := (iff #497 true)
+#763 := [rewrite]: #756
+#744 := [monotonicity #763]: #596
+#745 := [trans #744 #741]: #742
+#645 := [monotonicity #745]: #630
+#648 := [trans #645 #790]: #647
+#635 := (iff #776 false)
+#750 := (iff #776 #451)
+#751 := (iff #775 true)
+#592 := (or #496 true)
+#748 := (iff #592 true)
 #749 := [rewrite]: #748
-#589 := (iff #736 #410)
-#701 := (iff #732 true)
-#596 := (or #450 true)
-#605 := (iff #596 true)
-#700 := [rewrite]: #605
-#555 := (iff #732 #596)
-#715 := (iff #456 true)
-#722 := [rewrite]: #715
-#703 := [monotonicity #722]: #555
-#704 := [trans #703 #700]: #701
-#604 := [monotonicity #704]: #589
-#607 := [trans #604 #749]: #606
-#594 := (iff #735 false)
-#709 := (iff #735 #410)
-#710 := (iff #734 true)
-#551 := (or #455 true)
-#707 := (iff #551 true)
-#708 := [rewrite]: #707
-#553 := (iff #734 #551)
-#554 := [monotonicity #722]: #553
-#711 := [trans #554 #708]: #710
-#712 := [monotonicity #711]: #709
-#595 := [trans #712 #749]: #594
-#609 := [monotonicity #595 #607]: #608
-#705 := [trans #609 #611]: #612
-#685 := [monotonicity #705 #689]: #691
-#679 := [trans #685 #676]: #677
-#720 := (iff #453 true)
-#717 := (or #739 true)
-#713 := (iff #717 true)
-#714 := [rewrite]: #713
-#718 := (iff #453 #717)
-#574 := (iff #743 true)
-#716 := [rewrite]: #574
-#719 := [monotonicity #716]: #718
-#721 := [trans #719 #714]: #720
-#682 := [monotonicity #721 #679]: #681
-#670 := [trans #682 #683]: #669
-#655 := [monotonicity #670]: #675
-#659 := [trans #655 #658]: #675
-#671 := [quant-inst #11 #13]: #674
-#660 := [mp #671 #659]: #673
-#662 := [unit-resolution #660 #797]: #454
-#663 := [monotonicity #662]: #17
+#594 := (iff #775 #592)
+#595 := [monotonicity #763]: #594
+#752 := [trans #595 #749]: #751
+#753 := [monotonicity #752]: #750
+#636 := [trans #753 #790]: #635
+#650 := [monotonicity #636 #648]: #649
+#746 := [trans #650 #652]: #653
+#726 := [monotonicity #746 #730]: #732
+#720 := [trans #726 #717]: #718
+#761 := (iff #494 true)
+#758 := (or #780 true)
+#754 := (iff #758 true)
+#755 := [rewrite]: #754
+#759 := (iff #494 #758)
+#615 := (iff #784 true)
+#757 := [rewrite]: #615
+#760 := [monotonicity #757]: #759
+#762 := [trans #760 #755]: #761
+#723 := [monotonicity #762 #720]: #722
+#711 := [trans #723 #724]: #710
+#696 := [monotonicity #711]: #716
+#700 := [trans #696 #699]: #716
+#712 := [quant-inst #11 #13]: #715
+#701 := [mp #712 #700]: #714
+#703 := [unit-resolution #701 #838]: #495
+#704 := [monotonicity #703]: #17
 #18 := (not #17)
-#67 := [asserted]: #18
-[unit-resolution #67 #663]: false
-471141abc1c5de0524559d60a8710dc5938c99dd 296 0
-unsat
+#85 := [asserted]: #18
+[unit-resolution #85 #704]: false
+unsat
+4e4622ee8bc45ab84a91b4f6c078726a6c12f7d8 280 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 0::Int
@@ -13230,103 +12180,79 @@
 #12 := (f5 #10 1::Int)
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
-#736 := (= #12 0::Int)
+#777 := (= #12 0::Int)
 #23 := (:var 0 Int)
 #34 := (:var 1 Int)
 #35 := (f6 f7 #34)
 #36 := (f5 #35 #23)
-#789 := (pattern #36)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #34)
-#138 := (div #132 #135)
-#329 := (* -1::Int #138)
-#330 := (+ #36 #329)
-#331 := (= #330 0::Int)
+#830 := (pattern #36)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #34)
+#143 := (div #137 #140)
+#309 := (* -1::Int #143)
+#310 := (+ #36 #309)
+#311 := (= #310 0::Int)
 #46 := (div #34 #23)
-#326 := (* -1::Int #46)
-#327 := (+ #36 #326)
-#328 := (= #327 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #34 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #34 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#332 := (if #293 #328 #331)
-#325 := (= #36 0::Int)
+#306 := (* -1::Int #46)
+#307 := (+ #36 #306)
+#308 := (= #307 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #34 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #34 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#312 := (if #273 #308 #311)
+#305 := (= #36 0::Int)
 #38 := (= #23 0::Int)
 #37 := (= #34 0::Int)
 #39 := (or #37 #38)
-#333 := (if #39 #325 #332)
-#790 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #789) #333)
-#336 := (forall (vars (?v0 Int) (?v1 Int)) #333)
-#793 := (iff #336 #790)
-#791 := (iff #333 #333)
-#792 := [refl]: #791
-#794 := [quant-intro #792]: #793
-#296 := (if #293 #46 #138)
-#299 := (if #39 0::Int #296)
-#302 := (= #36 #299)
-#305 := (forall (vars (?v0 Int) (?v1 Int)) #302)
-#337 := (iff #305 #336)
-#334 := (iff #302 #333)
-#335 := [rewrite]: #334
-#338 := [quant-intro #335]: #337
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#233 := (if #230 #46 #138)
-#236 := (if #39 0::Int #233)
-#239 := (= #36 #236)
-#242 := (forall (vars (?v0 Int) (?v1 Int)) #239)
-#306 := (iff #242 #305)
-#303 := (iff #239 #302)
-#300 := (= #236 #299)
-#297 := (= #233 #296)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#298 := [monotonicity #295]: #297
-#301 := [monotonicity #298]: #300
-#304 := [monotonicity #301]: #303
-#307 := [quant-intro #304]: #306
-#277 := (~ #242 #242)
-#275 := (~ #239 #239)
-#276 := [refl]: #275
-#278 := [nnf-pos #276]: #277
-#116 := (<= 0::Int #34)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#141 := (if #128 #46 #138)
-#144 := (if #39 0::Int #141)
-#147 := (= #36 #144)
-#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
-#243 := (iff #150 #242)
-#240 := (iff #147 #239)
-#237 := (= #144 #236)
-#234 := (= #141 #233)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [monotonicity #238]: #240
-#244 := [quant-intro #241]: #243
+#313 := (if #39 #305 #312)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #313)
+#316 := (forall (vars (?v0 Int) (?v1 Int)) #313)
+#834 := (iff #316 #831)
+#832 := (iff #313 #313)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#276 := (if #273 #46 #143)
+#279 := (if #39 0::Int #276)
+#282 := (= #36 #279)
+#285 := (forall (vars (?v0 Int) (?v1 Int)) #282)
+#317 := (iff #285 #316)
+#314 := (iff #282 #313)
+#315 := [rewrite]: #314
+#318 := [quant-intro #315]: #317
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#179 := (if #176 #46 #143)
+#182 := (if #39 0::Int #179)
+#185 := (= #36 #182)
+#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
+#286 := (iff #188 #285)
+#283 := (iff #185 #282)
+#280 := (= #182 #279)
+#277 := (= #179 #276)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#278 := [monotonicity #275]: #277
+#281 := [monotonicity #278]: #280
+#284 := [monotonicity #281]: #283
+#287 := [quant-intro #284]: #286
+#248 := (~ #188 #188)
+#261 := (~ #185 #185)
+#262 := [refl]: #261
+#249 := [nnf-pos #262]: #248
 #48 := (- #23)
 #47 := (- #34)
 #49 := (div #47 #48)
@@ -13340,178 +12266,186 @@
 #51 := (if #39 0::Int #50)
 #52 := (= #36 #51)
 #53 := (forall (vars (?v0 Int) (?v1 Int)) #52)
-#151 := (iff #53 #150)
-#148 := (iff #52 #147)
-#145 := (= #51 #144)
-#142 := (= #50 #141)
-#139 := (= #49 #138)
-#136 := (= #48 #135)
-#137 := [rewrite]: #136
-#133 := (= #47 #132)
-#134 := [rewrite]: #133
-#140 := [monotonicity #134 #137]: #139
-#129 := (iff #45 #128)
-#126 := (iff #44 #125)
-#111 := (iff #41 #110)
-#112 := [rewrite]: #111
-#118 := (iff #43 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #42 #113)
-#107 := (iff #40 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#143 := [monotonicity #130 #140]: #142
-#146 := [monotonicity #143]: #145
-#149 := [monotonicity #146]: #148
-#152 := [quant-intro #149]: #151
-#70 := [asserted]: #53
-#153 := [mp #70 #152]: #150
-#245 := [mp #153 #244]: #242
-#279 := [mp~ #245 #278]: #242
-#308 := [mp #279 #307]: #305
-#339 := [mp #308 #338]: #336
-#795 := [mp #339 #794]: #790
-#663 := (not #790)
-#664 := (or #663 #736)
-#731 := (* -1::Int 1::Int)
-#734 := (* -1::Int 0::Int)
-#735 := (div #734 #731)
-#724 := (* -1::Int #735)
-#725 := (+ #12 #724)
-#726 := (= #725 0::Int)
-#732 := (div 0::Int 1::Int)
-#733 := (* -1::Int #732)
-#448 := (+ #12 #733)
-#730 := (= #448 0::Int)
-#737 := (<= 1::Int 0::Int)
-#550 := (>= 0::Int 0::Int)
-#452 := (or #550 #737)
-#453 := (not #452)
-#740 := (<= 0::Int 0::Int)
-#741 := (or #740 #737)
-#451 := (not #741)
-#454 := (or #451 #453)
-#721 := (if #454 #730 #726)
-#461 := (= 1::Int 0::Int)
-#739 := (= 0::Int 0::Int)
-#462 := (or #739 #461)
-#722 := (if #462 #736 #721)
-#665 := (or #663 #722)
-#666 := (iff #665 #664)
-#645 := (iff #664 #664)
-#647 := [rewrite]: #645
-#661 := (iff #722 #736)
-#1 := true
-#656 := (if true #736 #736)
-#659 := (iff #656 #736)
-#660 := [rewrite]: #659
-#657 := (iff #722 #656)
-#653 := (iff #721 #736)
-#670 := (if false #736 #736)
-#669 := (iff #670 #736)
-#673 := [rewrite]: #669
-#671 := (iff #721 #670)
-#667 := (iff #726 #736)
-#676 := (= #725 #12)
-#700 := (+ #12 0::Int)
-#693 := (= #700 #12)
-#685 := [rewrite]: #693
-#679 := (= #725 #700)
-#677 := (= #724 0::Int)
-#608 := (= #734 0::Int)
-#609 := [rewrite]: #608
-#674 := (= #724 #734)
-#683 := (= #735 0::Int)
-#697 := (div 0::Int -1::Int)
-#688 := (= #697 0::Int)
-#689 := [rewrite]: #688
-#686 := (= #735 #697)
-#696 := (= #731 -1::Int)
-#692 := [rewrite]: #696
-#687 := [monotonicity #609 #692]: #686
-#690 := [trans #687 #689]: #683
-#675 := [monotonicity #690]: #674
-#678 := [trans #675 #609]: #677
-#680 := [monotonicity #678]: #679
-#681 := [trans #680 #685]: #676
-#668 := [monotonicity #681]: #667
-#694 := (iff #730 #736)
-#682 := (= #448 #12)
-#704 := (= #448 #700)
-#610 := (= #733 0::Int)
-#606 := (= #733 #734)
-#605 := (= #732 0::Int)
-#598 := [rewrite]: #605
-#607 := [monotonicity #598]: #606
-#703 := [trans #607 #609]: #610
-#691 := [monotonicity #703]: #704
-#684 := [trans #691 #685]: #682
-#695 := [monotonicity #684]: #694
-#602 := (iff #454 false)
-#603 := (or false false)
-#702 := (iff #603 false)
-#587 := [rewrite]: #702
-#698 := (iff #454 #603)
-#553 := (iff #453 false)
-#419 := (not true)
-#744 := (iff #419 false)
-#407 := [rewrite]: #744
-#593 := (iff #453 #419)
-#710 := (iff #452 true)
-#570 := (or true false)
-#714 := (iff #570 true)
-#715 := [rewrite]: #714
-#709 := (iff #452 #570)
-#718 := (iff #737 false)
-#719 := [rewrite]: #718
-#423 := (iff #550 true)
-#759 := [rewrite]: #423
-#707 := [monotonicity #759 #719]: #709
-#592 := [trans #707 #715]: #710
-#594 := [monotonicity #592]: #593
-#701 := [trans #594 #407]: #553
-#706 := (iff #451 false)
-#552 := (iff #451 #419)
-#549 := (iff #741 true)
-#713 := (iff #741 #570)
-#711 := (iff #740 true)
-#712 := [rewrite]: #711
-#720 := [monotonicity #712 #719]: #713
-#551 := [trans #720 #715]: #549
-#705 := [monotonicity #551]: #552
-#708 := [trans #705 #407]: #706
-#699 := [monotonicity #708 #701]: #698
-#604 := [trans #699 #587]: #602
-#672 := [monotonicity #604 #695 #668]: #671
-#654 := [trans #672 #673]: #653
-#716 := (iff #462 true)
-#571 := (iff #462 #570)
-#723 := (iff #461 false)
-#729 := [rewrite]: #723
-#727 := (iff #739 true)
-#728 := [rewrite]: #727
-#572 := [monotonicity #728 #729]: #571
-#717 := [trans #572 #715]: #716
-#658 := [monotonicity #717 #654]: #657
-#662 := [trans #658 #660]: #661
-#644 := [monotonicity #662]: #666
-#648 := [trans #644 #647]: #666
-#655 := [quant-inst #9 #11]: #665
-#649 := [mp #655 #648]: #664
-#651 := [unit-resolution #649 #795]: #736
-#646 := [monotonicity #651]: #15
+#191 := (iff #53 #188)
+#146 := (if #45 #46 #143)
+#149 := (if #39 0::Int #146)
+#152 := (= #36 #149)
+#155 := (forall (vars (?v0 Int) (?v1 Int)) #152)
+#189 := (iff #155 #188)
+#186 := (iff #152 #185)
+#183 := (= #149 #182)
+#180 := (= #146 #179)
+#177 := (iff #45 #176)
+#174 := (iff #44 #173)
+#164 := (iff #41 #163)
+#165 := [rewrite]: #164
+#171 := (iff #43 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #42 #166)
+#160 := (iff #40 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [monotonicity #181]: #183
+#187 := [monotonicity #184]: #186
+#190 := [quant-intro #187]: #189
+#156 := (iff #53 #155)
+#153 := (iff #52 #152)
+#150 := (= #51 #149)
+#147 := (= #50 #146)
+#144 := (= #49 #143)
+#141 := (= #48 #140)
+#142 := [rewrite]: #141
+#138 := (= #47 #137)
+#139 := [rewrite]: #138
+#145 := [monotonicity #139 #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [monotonicity #151]: #153
+#157 := [quant-intro #154]: #156
+#192 := [trans #157 #190]: #191
+#135 := [asserted]: #53
+#193 := [mp #135 #192]: #188
+#263 := [mp~ #193 #249]: #188
+#288 := [mp #263 #287]: #285
+#319 := [mp #288 #318]: #316
+#836 := [mp #319 #835]: #831
+#704 := (not #831)
+#705 := (or #704 #777)
+#772 := (* -1::Int 1::Int)
+#775 := (* -1::Int 0::Int)
+#776 := (div #775 #772)
+#765 := (* -1::Int #776)
+#766 := (+ #12 #765)
+#767 := (= #766 0::Int)
+#773 := (div 0::Int 1::Int)
+#774 := (* -1::Int #773)
+#489 := (+ #12 #774)
+#771 := (= #489 0::Int)
+#778 := (<= 1::Int 0::Int)
+#591 := (>= 0::Int 0::Int)
+#493 := (or #591 #778)
+#494 := (not #493)
+#781 := (<= 0::Int 0::Int)
+#782 := (or #781 #778)
+#492 := (not #782)
+#495 := (or #492 #494)
+#762 := (if #495 #771 #767)
+#502 := (= 1::Int 0::Int)
+#780 := (= 0::Int 0::Int)
+#503 := (or #780 #502)
+#763 := (if #503 #777 #762)
+#706 := (or #704 #763)
+#707 := (iff #706 #705)
+#686 := (iff #705 #705)
+#688 := [rewrite]: #686
+#702 := (iff #763 #777)
+#1 := true
+#697 := (if true #777 #777)
+#700 := (iff #697 #777)
+#701 := [rewrite]: #700
+#698 := (iff #763 #697)
+#694 := (iff #762 #777)
+#711 := (if false #777 #777)
+#710 := (iff #711 #777)
+#714 := [rewrite]: #710
+#712 := (iff #762 #711)
+#708 := (iff #767 #777)
+#717 := (= #766 #12)
+#741 := (+ #12 0::Int)
+#734 := (= #741 #12)
+#726 := [rewrite]: #734
+#720 := (= #766 #741)
+#718 := (= #765 0::Int)
+#649 := (= #775 0::Int)
+#650 := [rewrite]: #649
+#715 := (= #765 #775)
+#724 := (= #776 0::Int)
+#738 := (div 0::Int -1::Int)
+#729 := (= #738 0::Int)
+#730 := [rewrite]: #729
+#727 := (= #776 #738)
+#737 := (= #772 -1::Int)
+#733 := [rewrite]: #737
+#728 := [monotonicity #650 #733]: #727
+#731 := [trans #728 #730]: #724
+#716 := [monotonicity #731]: #715
+#719 := [trans #716 #650]: #718
+#721 := [monotonicity #719]: #720
+#722 := [trans #721 #726]: #717
+#709 := [monotonicity #722]: #708
+#735 := (iff #771 #777)
+#723 := (= #489 #12)
+#745 := (= #489 #741)
+#651 := (= #774 0::Int)
+#647 := (= #774 #775)
+#646 := (= #773 0::Int)
+#639 := [rewrite]: #646
+#648 := [monotonicity #639]: #647
+#744 := [trans #648 #650]: #651
+#732 := [monotonicity #744]: #745
+#725 := [trans #732 #726]: #723
+#736 := [monotonicity #725]: #735
+#643 := (iff #495 false)
+#644 := (or false false)
+#743 := (iff #644 false)
+#628 := [rewrite]: #743
+#739 := (iff #495 #644)
+#594 := (iff #494 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#634 := (iff #494 #460)
+#751 := (iff #493 true)
+#611 := (or true false)
+#755 := (iff #611 true)
+#756 := [rewrite]: #755
+#750 := (iff #493 #611)
+#759 := (iff #778 false)
+#760 := [rewrite]: #759
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#748 := [monotonicity #800 #760]: #750
+#633 := [trans #748 #756]: #751
+#635 := [monotonicity #633]: #634
+#742 := [trans #635 #448]: #594
+#747 := (iff #492 false)
+#593 := (iff #492 #460)
+#590 := (iff #782 true)
+#754 := (iff #782 #611)
+#752 := (iff #781 true)
+#753 := [rewrite]: #752
+#761 := [monotonicity #753 #760]: #754
+#592 := [trans #761 #756]: #590
+#746 := [monotonicity #592]: #593
+#749 := [trans #746 #448]: #747
+#740 := [monotonicity #749 #742]: #739
+#645 := [trans #740 #628]: #643
+#713 := [monotonicity #645 #736 #709]: #712
+#695 := [trans #713 #714]: #694
+#757 := (iff #503 true)
+#612 := (iff #503 #611)
+#764 := (iff #502 false)
+#770 := [rewrite]: #764
+#768 := (iff #780 true)
+#769 := [rewrite]: #768
+#613 := [monotonicity #769 #770]: #612
+#758 := [trans #613 #756]: #757
+#699 := [monotonicity #758 #695]: #698
+#703 := [trans #699 #701]: #702
+#685 := [monotonicity #703]: #707
+#689 := [trans #685 #688]: #707
+#696 := [quant-inst #9 #11]: #706
+#690 := [mp #696 #689]: #705
+#692 := [unit-resolution #690 #836]: #777
+#687 := [monotonicity #692]: #15
 #16 := (not #15)
-#66 := [asserted]: #16
-[unit-resolution #66 #646]: false
-5f4a21ddc8bb410dbf2483dc973cb115e8b16b3c 299 0
-unsat
+#84 := [asserted]: #16
+[unit-resolution #84 #687]: false
+unsat
+f2d5511489ae0b1083bd6d09fc48e4e14f9df895 283 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 1::Int
@@ -13526,104 +12460,80 @@
 #11 := (f5 #10 1::Int)
 #12 := (f3 f4 #11)
 #14 := (= #12 #13)
-#695 := (= #11 1::Int)
+#736 := (= #11 1::Int)
 #23 := (:var 0 Int)
 #34 := (:var 1 Int)
 #35 := (f6 f7 #34)
 #36 := (f5 #35 #23)
-#789 := (pattern #36)
+#830 := (pattern #36)
 #22 := 0::Int
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #34)
-#138 := (div #132 #135)
-#329 := (* -1::Int #138)
-#330 := (+ #36 #329)
-#331 := (= #330 0::Int)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #34)
+#143 := (div #137 #140)
+#309 := (* -1::Int #143)
+#310 := (+ #36 #309)
+#311 := (= #310 0::Int)
 #46 := (div #34 #23)
-#326 := (* -1::Int #46)
-#327 := (+ #36 #326)
-#328 := (= #327 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #34 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #34 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#332 := (if #293 #328 #331)
-#325 := (= #36 0::Int)
+#306 := (* -1::Int #46)
+#307 := (+ #36 #306)
+#308 := (= #307 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #34 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #34 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#312 := (if #273 #308 #311)
+#305 := (= #36 0::Int)
 #38 := (= #23 0::Int)
 #37 := (= #34 0::Int)
 #39 := (or #37 #38)
-#333 := (if #39 #325 #332)
-#790 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #789) #333)
-#336 := (forall (vars (?v0 Int) (?v1 Int)) #333)
-#793 := (iff #336 #790)
-#791 := (iff #333 #333)
-#792 := [refl]: #791
-#794 := [quant-intro #792]: #793
-#296 := (if #293 #46 #138)
-#299 := (if #39 0::Int #296)
-#302 := (= #36 #299)
-#305 := (forall (vars (?v0 Int) (?v1 Int)) #302)
-#337 := (iff #305 #336)
-#334 := (iff #302 #333)
-#335 := [rewrite]: #334
-#338 := [quant-intro #335]: #337
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#233 := (if #230 #46 #138)
-#236 := (if #39 0::Int #233)
-#239 := (= #36 #236)
-#242 := (forall (vars (?v0 Int) (?v1 Int)) #239)
-#306 := (iff #242 #305)
-#303 := (iff #239 #302)
-#300 := (= #236 #299)
-#297 := (= #233 #296)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#298 := [monotonicity #295]: #297
-#301 := [monotonicity #298]: #300
-#304 := [monotonicity #301]: #303
-#307 := [quant-intro #304]: #306
-#277 := (~ #242 #242)
-#275 := (~ #239 #239)
-#276 := [refl]: #275
-#278 := [nnf-pos #276]: #277
-#116 := (<= 0::Int #34)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#141 := (if #128 #46 #138)
-#144 := (if #39 0::Int #141)
-#147 := (= #36 #144)
-#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
-#243 := (iff #150 #242)
-#240 := (iff #147 #239)
-#237 := (= #144 #236)
-#234 := (= #141 #233)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [monotonicity #238]: #240
-#244 := [quant-intro #241]: #243
+#313 := (if #39 #305 #312)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #313)
+#316 := (forall (vars (?v0 Int) (?v1 Int)) #313)
+#834 := (iff #316 #831)
+#832 := (iff #313 #313)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#276 := (if #273 #46 #143)
+#279 := (if #39 0::Int #276)
+#282 := (= #36 #279)
+#285 := (forall (vars (?v0 Int) (?v1 Int)) #282)
+#317 := (iff #285 #316)
+#314 := (iff #282 #313)
+#315 := [rewrite]: #314
+#318 := [quant-intro #315]: #317
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#179 := (if #176 #46 #143)
+#182 := (if #39 0::Int #179)
+#185 := (= #36 #182)
+#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
+#286 := (iff #188 #285)
+#283 := (iff #185 #282)
+#280 := (= #182 #279)
+#277 := (= #179 #276)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#278 := [monotonicity #275]: #277
+#281 := [monotonicity #278]: #280
+#284 := [monotonicity #281]: #283
+#287 := [quant-intro #284]: #286
+#248 := (~ #188 #188)
+#261 := (~ #185 #185)
+#262 := [refl]: #261
+#249 := [nnf-pos #262]: #248
 #48 := (- #23)
 #47 := (- #34)
 #49 := (div #47 #48)
@@ -13637,181 +12547,189 @@
 #51 := (if #39 0::Int #50)
 #52 := (= #36 #51)
 #53 := (forall (vars (?v0 Int) (?v1 Int)) #52)
-#151 := (iff #53 #150)
-#148 := (iff #52 #147)
-#145 := (= #51 #144)
-#142 := (= #50 #141)
-#139 := (= #49 #138)
-#136 := (= #48 #135)
-#137 := [rewrite]: #136
-#133 := (= #47 #132)
-#134 := [rewrite]: #133
-#140 := [monotonicity #134 #137]: #139
-#129 := (iff #45 #128)
-#126 := (iff #44 #125)
-#111 := (iff #41 #110)
-#112 := [rewrite]: #111
-#118 := (iff #43 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #42 #113)
-#107 := (iff #40 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#143 := [monotonicity #130 #140]: #142
-#146 := [monotonicity #143]: #145
-#149 := [monotonicity #146]: #148
-#152 := [quant-intro #149]: #151
-#70 := [asserted]: #53
-#153 := [mp #70 #152]: #150
-#245 := [mp #153 #244]: #242
-#279 := [mp~ #245 #278]: #242
-#308 := [mp #279 #307]: #305
-#339 := [mp #308 #338]: #336
-#795 := [mp #339 #794]: #790
-#666 := (not #790)
-#644 := (or #666 #695)
-#730 := (* -1::Int 1::Int)
-#734 := (div #730 #730)
-#731 := (* -1::Int #734)
-#735 := (+ #11 #731)
-#724 := (= #735 0::Int)
-#454 := (div 1::Int 1::Int)
-#732 := (* -1::Int #454)
-#733 := (+ #11 #732)
-#448 := (= #733 0::Int)
-#740 := (<= 1::Int 0::Int)
-#550 := (>= 1::Int 0::Int)
-#451 := (or #550 #740)
-#452 := (not #451)
-#737 := (or #740 #740)
-#741 := (not #737)
-#453 := (or #741 #452)
-#725 := (if #453 #448 #724)
-#736 := (= #11 0::Int)
-#461 := (= 1::Int 0::Int)
-#462 := (or #461 #461)
-#726 := (if #462 #736 #725)
-#645 := (or #666 #726)
-#648 := (iff #645 #644)
-#650 := (iff #644 #644)
-#651 := [rewrite]: #650
-#665 := (iff #726 #695)
-#660 := (if false #736 #695)
-#663 := (iff #660 #695)
-#664 := [rewrite]: #663
-#661 := (iff #726 #660)
-#658 := (iff #725 #695)
-#1 := true
-#673 := (if true #695 #695)
-#656 := (iff #673 #695)
-#657 := [rewrite]: #656
-#653 := (iff #725 #673)
-#672 := (iff #724 #695)
-#700 := (+ -1::Int #11)
-#682 := (= #700 0::Int)
-#696 := (iff #682 #695)
-#692 := [rewrite]: #696
-#670 := (iff #724 #682)
-#667 := (= #735 #700)
-#609 := (+ #11 -1::Int)
-#704 := (= #609 #700)
-#691 := [rewrite]: #704
-#676 := (= #735 #609)
-#679 := (= #731 -1::Int)
-#598 := (= #730 -1::Int)
-#606 := [rewrite]: #598
-#677 := (= #731 #730)
-#674 := (= #734 1::Int)
-#687 := (div -1::Int -1::Int)
-#683 := (= #687 1::Int)
-#690 := [rewrite]: #683
-#688 := (= #734 #687)
-#689 := [monotonicity #606 #606]: #688
-#675 := [trans #689 #690]: #674
-#678 := [monotonicity #675]: #677
-#680 := [trans #678 #606]: #679
-#681 := [monotonicity #680]: #676
-#668 := [trans #681 #691]: #667
-#671 := [monotonicity #668]: #670
-#669 := [trans #671 #692]: #672
-#697 := (iff #448 #695)
-#684 := (iff #448 #682)
-#693 := (= #733 #700)
-#610 := (= #733 #609)
-#607 := (= #732 -1::Int)
-#604 := (= #732 #730)
-#587 := (= #454 1::Int)
-#602 := [rewrite]: #587
-#605 := [monotonicity #602]: #604
-#608 := [trans #605 #606]: #607
-#703 := [monotonicity #608]: #610
-#685 := [trans #703 #691]: #693
-#694 := [monotonicity #685]: #684
-#686 := [trans #694 #692]: #697
-#699 := (iff #453 true)
-#705 := (or true false)
-#709 := (iff #705 true)
-#707 := [rewrite]: #709
-#603 := (iff #453 #705)
-#553 := (iff #452 false)
-#419 := (not true)
-#744 := (iff #419 false)
-#407 := [rewrite]: #744
-#593 := (iff #452 #419)
-#710 := (iff #451 true)
-#706 := (iff #451 #705)
-#714 := (iff #740 false)
-#715 := [rewrite]: #714
-#423 := (iff #550 true)
-#759 := [rewrite]: #423
-#708 := [monotonicity #759 #715]: #706
-#592 := [trans #708 #707]: #710
-#594 := [monotonicity #592]: #593
-#701 := [trans #594 #407]: #553
-#551 := (iff #741 true)
-#718 := (not false)
-#720 := (iff #718 true)
-#549 := [rewrite]: #720
-#719 := (iff #741 #718)
-#711 := (iff #737 false)
-#727 := (or false false)
-#729 := (iff #727 false)
-#570 := [rewrite]: #729
-#716 := (iff #737 #727)
-#717 := [monotonicity #715 #715]: #716
-#712 := [trans #717 #570]: #711
-#713 := [monotonicity #712]: #719
-#552 := [trans #713 #549]: #551
-#698 := [monotonicity #552 #701]: #603
-#702 := [trans #698 #707]: #699
-#654 := [monotonicity #702 #686 #669]: #653
-#659 := [trans #654 #657]: #658
-#571 := (iff #462 false)
-#728 := (iff #462 #727)
-#721 := (iff #461 false)
-#722 := [rewrite]: #721
-#723 := [monotonicity #722 #722]: #728
-#572 := [trans #723 #570]: #571
-#662 := [monotonicity #572 #659]: #661
-#655 := [trans #662 #664]: #665
-#649 := [monotonicity #655]: #648
-#646 := [trans #649 #651]: #648
-#647 := [quant-inst #9 #9]: #645
-#652 := [mp #647 #646]: #644
-#635 := [unit-resolution #652 #795]: #695
-#636 := [monotonicity #635]: #14
-#15 := (not #14)
-#66 := [asserted]: #15
-[unit-resolution #66 #636]: false
-68e6a38048a26ed5e2cde0fce9122240abdb6e8c 310 0
-unsat
+#191 := (iff #53 #188)
+#146 := (if #45 #46 #143)
+#149 := (if #39 0::Int #146)
+#152 := (= #36 #149)
+#155 := (forall (vars (?v0 Int) (?v1 Int)) #152)
+#189 := (iff #155 #188)
+#186 := (iff #152 #185)
+#183 := (= #149 #182)
+#180 := (= #146 #179)
+#177 := (iff #45 #176)
+#174 := (iff #44 #173)
+#164 := (iff #41 #163)
+#165 := [rewrite]: #164
+#171 := (iff #43 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #42 #166)
+#160 := (iff #40 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [monotonicity #181]: #183
+#187 := [monotonicity #184]: #186
+#190 := [quant-intro #187]: #189
+#156 := (iff #53 #155)
+#153 := (iff #52 #152)
+#150 := (= #51 #149)
+#147 := (= #50 #146)
+#144 := (= #49 #143)
+#141 := (= #48 #140)
+#142 := [rewrite]: #141
+#138 := (= #47 #137)
+#139 := [rewrite]: #138
+#145 := [monotonicity #139 #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [monotonicity #151]: #153
+#157 := [quant-intro #154]: #156
+#192 := [trans #157 #190]: #191
+#135 := [asserted]: #53
+#193 := [mp #135 #192]: #188
+#263 := [mp~ #193 #249]: #188
+#288 := [mp #263 #287]: #285
+#319 := [mp #288 #318]: #316
+#836 := [mp #319 #835]: #831
+#707 := (not #831)
+#685 := (or #707 #736)
+#771 := (* -1::Int 1::Int)
+#775 := (div #771 #771)
+#772 := (* -1::Int #775)
+#776 := (+ #11 #772)
+#765 := (= #776 0::Int)
+#495 := (div 1::Int 1::Int)
+#773 := (* -1::Int #495)
+#774 := (+ #11 #773)
+#489 := (= #774 0::Int)
+#781 := (<= 1::Int 0::Int)
+#591 := (>= 1::Int 0::Int)
+#492 := (or #591 #781)
+#493 := (not #492)
+#778 := (or #781 #781)
+#782 := (not #778)
+#494 := (or #782 #493)
+#766 := (if #494 #489 #765)
+#777 := (= #11 0::Int)
+#502 := (= 1::Int 0::Int)
+#503 := (or #502 #502)
+#767 := (if #503 #777 #766)
+#686 := (or #707 #767)
+#689 := (iff #686 #685)
+#691 := (iff #685 #685)
+#692 := [rewrite]: #691
+#706 := (iff #767 #736)
+#701 := (if false #777 #736)
+#704 := (iff #701 #736)
+#705 := [rewrite]: #704
+#702 := (iff #767 #701)
+#699 := (iff #766 #736)
+#1 := true
+#714 := (if true #736 #736)
+#697 := (iff #714 #736)
+#698 := [rewrite]: #697
+#694 := (iff #766 #714)
+#713 := (iff #765 #736)
+#741 := (+ -1::Int #11)
+#723 := (= #741 0::Int)
+#737 := (iff #723 #736)
+#733 := [rewrite]: #737
+#711 := (iff #765 #723)
+#708 := (= #776 #741)
+#650 := (+ #11 -1::Int)
+#745 := (= #650 #741)
+#732 := [rewrite]: #745
+#717 := (= #776 #650)
+#720 := (= #772 -1::Int)
+#639 := (= #771 -1::Int)
+#647 := [rewrite]: #639
+#718 := (= #772 #771)
+#715 := (= #775 1::Int)
+#728 := (div -1::Int -1::Int)
+#724 := (= #728 1::Int)
+#731 := [rewrite]: #724
+#729 := (= #775 #728)
+#730 := [monotonicity #647 #647]: #729
+#716 := [trans #730 #731]: #715
+#719 := [monotonicity #716]: #718
+#721 := [trans #719 #647]: #720
+#722 := [monotonicity #721]: #717
+#709 := [trans #722 #732]: #708
+#712 := [monotonicity #709]: #711
+#710 := [trans #712 #733]: #713
+#738 := (iff #489 #736)
+#725 := (iff #489 #723)
+#734 := (= #774 #741)
+#651 := (= #774 #650)
+#648 := (= #773 -1::Int)
+#645 := (= #773 #771)
+#628 := (= #495 1::Int)
+#643 := [rewrite]: #628
+#646 := [monotonicity #643]: #645
+#649 := [trans #646 #647]: #648
+#744 := [monotonicity #649]: #651
+#726 := [trans #744 #732]: #734
+#735 := [monotonicity #726]: #725
+#727 := [trans #735 #733]: #738
+#740 := (iff #494 true)
+#746 := (or true false)
+#750 := (iff #746 true)
+#748 := [rewrite]: #750
+#644 := (iff #494 #746)
+#594 := (iff #493 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#634 := (iff #493 #460)
+#751 := (iff #492 true)
+#747 := (iff #492 #746)
+#755 := (iff #781 false)
+#756 := [rewrite]: #755
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#749 := [monotonicity #800 #756]: #747
+#633 := [trans #749 #748]: #751
+#635 := [monotonicity #633]: #634
+#742 := [trans #635 #448]: #594
+#592 := (iff #782 true)
+#759 := (not false)
+#761 := (iff #759 true)
+#590 := [rewrite]: #761
+#760 := (iff #782 #759)
+#752 := (iff #778 false)
+#768 := (or false false)
+#770 := (iff #768 false)
+#611 := [rewrite]: #770
+#757 := (iff #778 #768)
+#758 := [monotonicity #756 #756]: #757
+#753 := [trans #758 #611]: #752
+#754 := [monotonicity #753]: #760
+#593 := [trans #754 #590]: #592
+#739 := [monotonicity #593 #742]: #644
+#743 := [trans #739 #748]: #740
+#695 := [monotonicity #743 #727 #710]: #694
+#700 := [trans #695 #698]: #699
+#612 := (iff #503 false)
+#769 := (iff #503 #768)
+#762 := (iff #502 false)
+#763 := [rewrite]: #762
+#764 := [monotonicity #763 #763]: #769
+#613 := [trans #764 #611]: #612
+#703 := [monotonicity #613 #700]: #702
+#696 := [trans #703 #705]: #706
+#690 := [monotonicity #696]: #689
+#687 := [trans #690 #692]: #689
+#688 := [quant-inst #9 #9]: #686
+#693 := [mp #688 #687]: #685
+#676 := [unit-resolution #693 #836]: #736
+#677 := [monotonicity #676]: #14
+#15 := (not #14)
+#84 := [asserted]: #15
+[unit-resolution #84 #677]: false
+unsat
+b5e857fcfdcccfc1f8e76abc18cb220c195f28ba 294 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 3::Int
@@ -13827,104 +12745,80 @@
 #12 := (f5 #10 1::Int)
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
-#684 := (= #12 3::Int)
+#724 := (= #12 3::Int)
 #24 := (:var 0 Int)
 #35 := (:var 1 Int)
 #36 := (f6 f7 #35)
 #37 := (f5 #36 #24)
-#790 := (pattern #37)
+#830 := (pattern #37)
 #23 := 0::Int
-#132 := -1::Int
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #35)
-#139 := (div #133 #136)
-#330 := (* -1::Int #139)
-#331 := (+ #37 #330)
-#332 := (= #331 0::Int)
+#137 := -1::Int
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #35)
+#144 := (div #138 #141)
+#310 := (* -1::Int #144)
+#311 := (+ #37 #310)
+#312 := (= #311 0::Int)
 #47 := (div #35 #24)
-#327 := (* -1::Int #47)
-#328 := (+ #37 #327)
-#329 := (= #328 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #35 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #35 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#333 := (if #294 #329 #332)
-#326 := (= #37 0::Int)
+#307 := (* -1::Int #47)
+#308 := (+ #37 #307)
+#309 := (= #308 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #35 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #35 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#313 := (if #274 #309 #312)
+#306 := (= #37 0::Int)
 #39 := (= #24 0::Int)
 #38 := (= #35 0::Int)
 #40 := (or #38 #39)
-#334 := (if #40 #326 #333)
-#791 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #790) #334)
-#337 := (forall (vars (?v0 Int) (?v1 Int)) #334)
-#794 := (iff #337 #791)
-#792 := (iff #334 #334)
-#793 := [refl]: #792
-#795 := [quant-intro #793]: #794
-#297 := (if #294 #47 #139)
-#300 := (if #40 0::Int #297)
-#303 := (= #37 #300)
-#306 := (forall (vars (?v0 Int) (?v1 Int)) #303)
-#338 := (iff #306 #337)
-#335 := (iff #303 #334)
-#336 := [rewrite]: #335
-#339 := [quant-intro #336]: #338
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#234 := (if #231 #47 #139)
-#237 := (if #40 0::Int #234)
-#240 := (= #37 #237)
-#243 := (forall (vars (?v0 Int) (?v1 Int)) #240)
-#307 := (iff #243 #306)
-#304 := (iff #240 #303)
-#301 := (= #237 #300)
-#298 := (= #234 #297)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#299 := [monotonicity #296]: #298
-#302 := [monotonicity #299]: #301
-#305 := [monotonicity #302]: #304
-#308 := [quant-intro #305]: #307
-#278 := (~ #243 #243)
-#276 := (~ #240 #240)
-#277 := [refl]: #276
-#279 := [nnf-pos #277]: #278
-#117 := (<= 0::Int #35)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#142 := (if #129 #47 #139)
-#145 := (if #40 0::Int #142)
-#148 := (= #37 #145)
-#151 := (forall (vars (?v0 Int) (?v1 Int)) #148)
-#244 := (iff #151 #243)
-#241 := (iff #148 #240)
-#238 := (= #145 #237)
-#235 := (= #142 #234)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [monotonicity #233]: #235
-#239 := [monotonicity #236]: #238
-#242 := [monotonicity #239]: #241
-#245 := [quant-intro #242]: #244
+#314 := (if #40 #306 #313)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #314)
+#317 := (forall (vars (?v0 Int) (?v1 Int)) #314)
+#834 := (iff #317 #831)
+#832 := (iff #314 #314)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#277 := (if #274 #47 #144)
+#280 := (if #40 0::Int #277)
+#283 := (= #37 #280)
+#286 := (forall (vars (?v0 Int) (?v1 Int)) #283)
+#318 := (iff #286 #317)
+#315 := (iff #283 #314)
+#316 := [rewrite]: #315
+#319 := [quant-intro #316]: #318
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#180 := (if #177 #47 #144)
+#183 := (if #40 0::Int #180)
+#186 := (= #37 #183)
+#189 := (forall (vars (?v0 Int) (?v1 Int)) #186)
+#287 := (iff #189 #286)
+#284 := (iff #186 #283)
+#281 := (= #183 #280)
+#278 := (= #180 #277)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#279 := [monotonicity #276]: #278
+#282 := [monotonicity #279]: #281
+#285 := [monotonicity #282]: #284
+#288 := [quant-intro #285]: #287
+#249 := (~ #189 #189)
+#262 := (~ #186 #186)
+#263 := [refl]: #262
+#250 := [nnf-pos #263]: #249
 #49 := (- #24)
 #48 := (- #35)
 #50 := (div #48 #49)
@@ -13938,191 +12832,199 @@
 #52 := (if #40 0::Int #51)
 #53 := (= #37 #52)
 #54 := (forall (vars (?v0 Int) (?v1 Int)) #53)
-#152 := (iff #54 #151)
-#149 := (iff #53 #148)
-#146 := (= #52 #145)
-#143 := (= #51 #142)
-#140 := (= #50 #139)
-#137 := (= #49 #136)
-#138 := [rewrite]: #137
-#134 := (= #48 #133)
-#135 := [rewrite]: #134
-#141 := [monotonicity #135 #138]: #140
-#130 := (iff #46 #129)
-#127 := (iff #45 #126)
-#112 := (iff #42 #111)
-#113 := [rewrite]: #112
-#119 := (iff #44 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #43 #114)
-#108 := (iff #41 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#144 := [monotonicity #131 #141]: #143
-#147 := [monotonicity #144]: #146
-#150 := [monotonicity #147]: #149
-#153 := [quant-intro #150]: #152
-#71 := [asserted]: #54
-#154 := [mp #71 #153]: #151
-#246 := [mp #154 #245]: #243
-#280 := [mp~ #246 #279]: #243
-#309 := [mp #280 #308]: #306
-#340 := [mp #309 #339]: #337
-#796 := [mp #340 #795]: #791
-#639 := (not #791)
-#635 := (or #639 #684)
-#736 := (* -1::Int 1::Int)
-#732 := (* -1::Int 3::Int)
-#725 := (div #732 #736)
-#726 := (* -1::Int #725)
-#727 := (+ #12 #726)
-#722 := (= #727 0::Int)
-#734 := (div 3::Int 1::Int)
-#449 := (* -1::Int #734)
-#731 := (+ #12 #449)
-#735 := (= #731 0::Int)
-#742 := (<= 1::Int 0::Int)
-#551 := (>= 3::Int 0::Int)
-#454 := (or #551 #742)
-#455 := (not #454)
-#738 := (<= 3::Int 0::Int)
-#452 := (or #738 #742)
-#453 := (not #452)
-#733 := (or #453 #455)
-#723 := (if #733 #735 #722)
-#741 := (= #12 0::Int)
-#463 := (= 1::Int 0::Int)
-#462 := (= 3::Int 0::Int)
-#737 := (or #462 #463)
-#728 := (if #737 #741 #723)
-#636 := (or #639 #728)
-#640 := (iff #636 #635)
-#642 := (iff #635 #635)
-#643 := [rewrite]: #642
-#647 := (iff #728 #684)
-#648 := (if false #741 #684)
-#651 := (iff #648 #684)
-#652 := [rewrite]: #651
-#649 := (iff #728 #648)
-#645 := (iff #723 #684)
-#1 := true
-#664 := (if true #684 #684)
-#656 := (iff #664 #684)
-#667 := [rewrite]: #656
-#665 := (iff #723 #664)
-#662 := (iff #722 #684)
-#701 := -3::Int
-#696 := (+ -3::Int #12)
-#688 := (= #696 0::Int)
-#691 := (iff #688 #684)
-#675 := [rewrite]: #691
-#660 := (iff #722 #688)
-#658 := (= #727 #696)
-#683 := (+ #12 -3::Int)
-#697 := (= #683 #696)
-#693 := [rewrite]: #697
-#655 := (= #727 #683)
-#674 := (= #726 -3::Int)
-#705 := (= #732 -3::Int)
-#692 := [rewrite]: #705
-#673 := (= #726 #732)
-#671 := (= #725 3::Int)
-#681 := (div -3::Int -1::Int)
-#668 := (= #681 3::Int)
-#669 := [rewrite]: #668
-#677 := (= #725 #681)
-#679 := (= #736 -1::Int)
-#680 := [rewrite]: #679
-#682 := [monotonicity #692 #680]: #677
-#672 := [trans #682 #669]: #671
-#670 := [monotonicity #672]: #673
-#654 := [trans #670 #692]: #674
-#657 := [monotonicity #654]: #655
-#659 := [trans #657 #693]: #658
-#661 := [monotonicity #659]: #660
-#663 := [trans #661 #675]: #662
-#676 := (iff #735 #684)
-#689 := (iff #735 #688)
-#698 := (= #731 #696)
-#685 := (= #731 #683)
-#694 := (= #449 -3::Int)
-#611 := (= #449 #732)
-#609 := (= #734 3::Int)
-#610 := [rewrite]: #609
-#704 := [monotonicity #610]: #611
-#686 := [trans #704 #692]: #694
-#695 := [monotonicity #686]: #685
-#687 := [trans #695 #693]: #698
-#690 := [monotonicity #687]: #689
-#678 := [trans #690 #675]: #676
-#607 := (iff #733 true)
-#594 := (or true false)
-#702 := (iff #594 true)
-#604 := [rewrite]: #702
-#606 := (iff #733 #594)
-#603 := (iff #455 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#703 := (iff #455 #420)
-#699 := (iff #454 true)
-#595 := (iff #454 #594)
-#720 := (iff #742 false)
-#714 := [rewrite]: #720
-#424 := (iff #551 true)
-#760 := [rewrite]: #424
-#554 := [monotonicity #760 #714]: #595
-#700 := [trans #554 #604]: #699
-#588 := [monotonicity #700]: #703
-#605 := [trans #588 #408]: #603
-#711 := (iff #453 true)
-#706 := (not false)
-#710 := (iff #706 true)
-#708 := [rewrite]: #710
-#707 := (iff #453 #706)
-#552 := (iff #452 false)
-#572 := (or false false)
-#716 := (iff #572 false)
-#717 := [rewrite]: #716
-#721 := (iff #452 #572)
-#713 := (iff #738 false)
-#719 := [rewrite]: #713
-#550 := [monotonicity #719 #714]: #721
-#553 := [trans #550 #717]: #552
-#709 := [monotonicity #553]: #707
-#593 := [trans #709 #708]: #711
-#599 := [monotonicity #593 #605]: #606
-#608 := [trans #599 #604]: #607
-#666 := [monotonicity #608 #678 #663]: #665
-#646 := [trans #666 #667]: #645
-#718 := (iff #737 false)
-#573 := (iff #737 #572)
-#730 := (iff #463 false)
-#571 := [rewrite]: #730
-#729 := (iff #462 false)
-#724 := [rewrite]: #729
-#715 := [monotonicity #724 #571]: #573
-#712 := [trans #715 #717]: #718
-#650 := [monotonicity #712 #646]: #649
-#653 := [trans #650 #652]: #647
-#641 := [monotonicity #653]: #640
-#638 := [trans #641 #643]: #640
-#637 := [quant-inst #9 #11]: #636
-#644 := [mp #637 #638]: #635
-#619 := [unit-resolution #644 #796]: #684
-#512 := [monotonicity #619]: #15
+#192 := (iff #54 #189)
+#147 := (if #46 #47 #144)
+#150 := (if #40 0::Int #147)
+#153 := (= #37 #150)
+#156 := (forall (vars (?v0 Int) (?v1 Int)) #153)
+#190 := (iff #156 #189)
+#187 := (iff #153 #186)
+#184 := (= #150 #183)
+#181 := (= #147 #180)
+#178 := (iff #46 #177)
+#175 := (iff #45 #174)
+#165 := (iff #42 #164)
+#166 := [rewrite]: #165
+#172 := (iff #44 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #43 #167)
+#161 := (iff #41 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#157 := (iff #54 #156)
+#154 := (iff #53 #153)
+#151 := (= #52 #150)
+#148 := (= #51 #147)
+#145 := (= #50 #144)
+#142 := (= #49 #141)
+#143 := [rewrite]: #142
+#139 := (= #48 #138)
+#140 := [rewrite]: #139
+#146 := [monotonicity #140 #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [quant-intro #155]: #157
+#193 := [trans #158 #191]: #192
+#136 := [asserted]: #54
+#194 := [mp #136 #193]: #189
+#264 := [mp~ #194 #250]: #189
+#289 := [mp #264 #288]: #286
+#320 := [mp #289 #319]: #317
+#836 := [mp #320 #835]: #831
+#679 := (not #831)
+#675 := (or #679 #724)
+#776 := (* -1::Int 1::Int)
+#772 := (* -1::Int 3::Int)
+#765 := (div #772 #776)
+#766 := (* -1::Int #765)
+#767 := (+ #12 #766)
+#762 := (= #767 0::Int)
+#774 := (div 3::Int 1::Int)
+#489 := (* -1::Int #774)
+#771 := (+ #12 #489)
+#775 := (= #771 0::Int)
+#782 := (<= 1::Int 0::Int)
+#591 := (>= 3::Int 0::Int)
+#494 := (or #591 #782)
+#495 := (not #494)
+#778 := (<= 3::Int 0::Int)
+#492 := (or #778 #782)
+#493 := (not #492)
+#773 := (or #493 #495)
+#763 := (if #773 #775 #762)
+#781 := (= #12 0::Int)
+#503 := (= 1::Int 0::Int)
+#502 := (= 3::Int 0::Int)
+#777 := (or #502 #503)
+#768 := (if #777 #781 #763)
+#676 := (or #679 #768)
+#680 := (iff #676 #675)
+#682 := (iff #675 #675)
+#683 := [rewrite]: #682
+#687 := (iff #768 #724)
+#688 := (if false #781 #724)
+#691 := (iff #688 #724)
+#692 := [rewrite]: #691
+#689 := (iff #768 #688)
+#685 := (iff #763 #724)
+#1 := true
+#704 := (if true #724 #724)
+#696 := (iff #704 #724)
+#707 := [rewrite]: #696
+#705 := (iff #763 #704)
+#702 := (iff #762 #724)
+#741 := -3::Int
+#736 := (+ -3::Int #12)
+#728 := (= #736 0::Int)
+#731 := (iff #728 #724)
+#715 := [rewrite]: #731
+#700 := (iff #762 #728)
+#698 := (= #767 #736)
+#723 := (+ #12 -3::Int)
+#737 := (= #723 #736)
+#733 := [rewrite]: #737
+#695 := (= #767 #723)
+#714 := (= #766 -3::Int)
+#745 := (= #772 -3::Int)
+#732 := [rewrite]: #745
+#713 := (= #766 #772)
+#711 := (= #765 3::Int)
+#721 := (div -3::Int -1::Int)
+#708 := (= #721 3::Int)
+#709 := [rewrite]: #708
+#717 := (= #765 #721)
+#719 := (= #776 -1::Int)
+#720 := [rewrite]: #719
+#722 := [monotonicity #732 #720]: #717
+#712 := [trans #722 #709]: #711
+#710 := [monotonicity #712]: #713
+#694 := [trans #710 #732]: #714
+#697 := [monotonicity #694]: #695
+#699 := [trans #697 #733]: #698
+#701 := [monotonicity #699]: #700
+#703 := [trans #701 #715]: #702
+#716 := (iff #775 #724)
+#729 := (iff #775 #728)
+#738 := (= #771 #736)
+#725 := (= #771 #723)
+#734 := (= #489 -3::Int)
+#651 := (= #489 #772)
+#649 := (= #774 3::Int)
+#650 := [rewrite]: #649
+#744 := [monotonicity #650]: #651
+#726 := [trans #744 #732]: #734
+#735 := [monotonicity #726]: #725
+#727 := [trans #735 #733]: #738
+#730 := [monotonicity #727]: #729
+#718 := [trans #730 #715]: #716
+#647 := (iff #773 true)
+#634 := (or true false)
+#742 := (iff #634 true)
+#644 := [rewrite]: #742
+#646 := (iff #773 #634)
+#643 := (iff #495 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#743 := (iff #495 #460)
+#739 := (iff #494 true)
+#635 := (iff #494 #634)
+#760 := (iff #782 false)
+#754 := [rewrite]: #760
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#594 := [monotonicity #800 #754]: #635
+#740 := [trans #594 #644]: #739
+#628 := [monotonicity #740]: #743
+#645 := [trans #628 #448]: #643
+#751 := (iff #493 true)
+#746 := (not false)
+#750 := (iff #746 true)
+#748 := [rewrite]: #750
+#747 := (iff #493 #746)
+#592 := (iff #492 false)
+#612 := (or false false)
+#756 := (iff #612 false)
+#757 := [rewrite]: #756
+#761 := (iff #492 #612)
+#753 := (iff #778 false)
+#759 := [rewrite]: #753
+#590 := [monotonicity #759 #754]: #761
+#593 := [trans #590 #757]: #592
+#749 := [monotonicity #593]: #747
+#633 := [trans #749 #748]: #751
+#639 := [monotonicity #633 #645]: #646
+#648 := [trans #639 #644]: #647
+#706 := [monotonicity #648 #718 #703]: #705
+#686 := [trans #706 #707]: #685
+#758 := (iff #777 false)
+#613 := (iff #777 #612)
+#770 := (iff #503 false)
+#611 := [rewrite]: #770
+#769 := (iff #502 false)
+#764 := [rewrite]: #769
+#755 := [monotonicity #764 #611]: #613
+#752 := [trans #755 #757]: #758
+#690 := [monotonicity #752 #686]: #689
+#693 := [trans #690 #692]: #687
+#681 := [monotonicity #693]: #680
+#678 := [trans #681 #683]: #680
+#677 := [quant-inst #9 #11]: #676
+#684 := [mp #677 #678]: #675
+#659 := [unit-resolution #684 #836]: #724
+#552 := [monotonicity #659]: #15
 #16 := (not #15)
-#67 := [asserted]: #16
-[unit-resolution #67 #512]: false
-d21ca909bb9fdc349bb51970eb9c0a08bd158bb5 359 0
-unsat
+#85 := [asserted]: #16
+[unit-resolution #85 #552]: false
+unsat
+35f8a4cc325e6764f31a3b4bdaffd9418bbd18c9 343 0
 #2 := false
 decl f10 :: S3
 #10 := f10
@@ -14142,174 +13044,150 @@
 #7 := f4
 #15 := (f3 f4 #14)
 #16 := (= #15 f10)
-#357 := (f3 f4 #11)
-#441 := (= #357 f10)
+#398 := (f3 f4 #11)
+#482 := (= #398 f10)
 #18 := (:var 0 S3)
 #19 := (f8 f9 #18)
-#770 := (pattern #19)
+#811 := (pattern #19)
 #20 := (f3 f4 #19)
 #21 := (= #20 #18)
-#771 := (forall (vars (?v0 S3)) (:pat #770) #21)
+#812 := (forall (vars (?v0 S3)) (:pat #811) #21)
 #22 := (forall (vars (?v0 S3)) #21)
-#774 := (iff #22 #771)
-#772 := (iff #21 #21)
-#773 := [refl]: #772
-#775 := [quant-intro #773]: #774
-#265 := (~ #22 #22)
-#271 := (~ #21 #21)
-#272 := [refl]: #271
-#266 := [nnf-pos #272]: #265
-#68 := [asserted]: #22
-#273 := [mp~ #68 #266]: #22
-#776 := [mp #273 #775]: #771
-#434 := (not #771)
-#445 := (or #434 #441)
-#446 := [quant-inst #10]: #445
-#663 := [unit-resolution #446 #776]: #441
-#645 := (= #15 #357)
-#665 := (= #14 #11)
-#749 := (div #11 1::Int)
-#636 := (= #749 #11)
-#537 := (= #11 #749)
+#815 := (iff #22 #812)
+#813 := (iff #21 #21)
+#814 := [refl]: #813
+#816 := [quant-intro #814]: #815
+#257 := (~ #22 #22)
+#255 := (~ #21 #21)
+#256 := [refl]: #255
+#258 := [nnf-pos #256]: #257
+#86 := [asserted]: #22
+#243 := [mp~ #86 #258]: #22
+#817 := [mp #243 #816]: #812
+#475 := (not #812)
+#486 := (or #475 #482)
+#487 := [quant-inst #10]: #486
+#664 := [unit-resolution #487 #817]: #482
+#638 := (= #15 #398)
+#663 := (= #14 #11)
+#790 := (div #11 1::Int)
+#625 := (= #790 #11)
+#549 := (= #11 #790)
 #23 := 0::Int
-#132 := -1::Int
-#750 := (* -1::Int #749)
-#641 := (+ #11 #750)
-#617 := (<= #641 0::Int)
-#660 := (= #641 0::Int)
-#1 := true
-#199 := [true-axiom]: true
-#558 := (or false #660)
-#559 := [th-lemma arith]: #558
-#561 := [unit-resolution #559 #199]: #660
-#562 := (not #660)
-#563 := (or #562 #617)
-#564 := [th-lemma arith triangle-eq]: #563
-#565 := [unit-resolution #564 #561]: #617
-#618 := (>= #641 0::Int)
-#566 := (or #562 #618)
-#549 := [th-lemma arith triangle-eq]: #566
-#567 := [unit-resolution #549 #561]: #618
-#538 := [th-lemma arith eq-propagate 1 1 #567 #565]: #537
-#542 := [symm #538]: #636
-#555 := (= #14 #749)
-#751 := (+ #14 #750)
-#608 := (<= #751 0::Int)
-#746 := (= #751 0::Int)
-#766 := (= #11 0::Int)
-#687 := (not #766)
-#659 := (= 0::Int #11)
-#664 := [hypothesis]: #766
-#655 := [symm #664]: #659
-#761 := (= #14 0::Int)
-#657 := (or #687 #761)
-#752 := (* -1::Int #11)
-#571 := (div #752 -1::Int)
-#715 := (* -1::Int #571)
-#718 := (+ #14 #715)
-#719 := (= #718 0::Int)
-#410 := (>= #11 0::Int)
-#726 := (not #410)
-#404 := (<= #11 0::Int)
-#454 := (not #404)
-#723 := (or #454 #726)
-#721 := (if #723 #746 #719)
-#553 := (if #766 #761 #721)
+#137 := -1::Int
+#791 := (* -1::Int #790)
+#588 := (+ #11 #791)
+#600 := (<= #588 0::Int)
+#627 := (= #588 0::Int)
+#1 := true
+#83 := [true-axiom]: true
+#555 := (or false #627)
+#558 := [th-lemma arith]: #555
+#559 := [unit-resolution #558 #83]: #627
+#563 := (not #627)
+#556 := (or #563 #600)
+#564 := [th-lemma arith triangle-eq]: #556
+#557 := [unit-resolution #564 #559]: #600
+#602 := (>= #588 0::Int)
+#560 := (or #563 #602)
+#561 := [th-lemma arith triangle-eq]: #560
+#547 := [unit-resolution #561 #559]: #602
+#550 := [th-lemma arith eq-propagate 1 1 #547 #557]: #549
+#533 := [symm #550]: #625
+#552 := (= #14 #790)
+#792 := (+ #14 #791)
+#649 := (<= #792 0::Int)
+#787 := (= #792 0::Int)
+#807 := (= #11 0::Int)
+#728 := (not #807)
+#697 := (= 0::Int #11)
+#665 := [hypothesis]: #807
+#708 := [symm #665]: #697
+#802 := (= #14 0::Int)
+#666 := (or #728 #802)
+#793 := (* -1::Int #11)
+#612 := (div #793 -1::Int)
+#756 := (* -1::Int #612)
+#759 := (+ #14 #756)
+#760 := (= #759 0::Int)
+#451 := (>= #11 0::Int)
+#767 := (not #451)
+#445 := (<= #11 0::Int)
+#495 := (not #445)
+#764 := (or #495 #767)
+#762 := (if #764 #787 #760)
+#594 := (if #807 #802 #762)
 #24 := (:var 0 Int)
 #35 := (:var 1 Int)
 #36 := (f6 f7 #35)
 #37 := (f5 #36 #24)
-#790 := (pattern #37)
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #35)
-#139 := (div #133 #136)
-#330 := (* -1::Int #139)
-#331 := (+ #37 #330)
-#332 := (= #331 0::Int)
+#831 := (pattern #37)
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #35)
+#144 := (div #138 #141)
+#310 := (* -1::Int #144)
+#311 := (+ #37 #310)
+#312 := (= #311 0::Int)
 #47 := (div #35 #24)
-#327 := (* -1::Int #47)
-#328 := (+ #37 #327)
-#329 := (= #328 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #35 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #35 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#333 := (if #294 #329 #332)
-#326 := (= #37 0::Int)
+#307 := (* -1::Int #47)
+#308 := (+ #37 #307)
+#309 := (= #308 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #35 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #35 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#313 := (if #274 #309 #312)
+#306 := (= #37 0::Int)
 #39 := (= #24 0::Int)
 #38 := (= #35 0::Int)
 #40 := (or #38 #39)
-#334 := (if #40 #326 #333)
-#791 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #790) #334)
-#337 := (forall (vars (?v0 Int) (?v1 Int)) #334)
-#794 := (iff #337 #791)
-#792 := (iff #334 #334)
-#793 := [refl]: #792
-#795 := [quant-intro #793]: #794
-#297 := (if #294 #47 #139)
-#300 := (if #40 0::Int #297)
-#303 := (= #37 #300)
-#306 := (forall (vars (?v0 Int) (?v1 Int)) #303)
-#338 := (iff #306 #337)
-#335 := (iff #303 #334)
-#336 := [rewrite]: #335
-#339 := [quant-intro #336]: #338
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#234 := (if #231 #47 #139)
-#237 := (if #40 0::Int #234)
-#240 := (= #37 #237)
-#243 := (forall (vars (?v0 Int) (?v1 Int)) #240)
-#307 := (iff #243 #306)
-#304 := (iff #240 #303)
-#301 := (= #237 #300)
-#298 := (= #234 #297)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#299 := [monotonicity #296]: #298
-#302 := [monotonicity #299]: #301
-#305 := [monotonicity #302]: #304
-#308 := [quant-intro #305]: #307
-#278 := (~ #243 #243)
-#276 := (~ #240 #240)
-#277 := [refl]: #276
-#279 := [nnf-pos #277]: #278
-#117 := (<= 0::Int #35)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#142 := (if #129 #47 #139)
-#145 := (if #40 0::Int #142)
-#148 := (= #37 #145)
-#151 := (forall (vars (?v0 Int) (?v1 Int)) #148)
-#244 := (iff #151 #243)
-#241 := (iff #148 #240)
-#238 := (= #145 #237)
-#235 := (= #142 #234)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [monotonicity #233]: #235
-#239 := [monotonicity #236]: #238
-#242 := [monotonicity #239]: #241
-#245 := [quant-intro #242]: #244
+#314 := (if #40 #306 #313)
+#832 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #831) #314)
+#317 := (forall (vars (?v0 Int) (?v1 Int)) #314)
+#835 := (iff #317 #832)
+#833 := (iff #314 #314)
+#834 := [refl]: #833
+#836 := [quant-intro #834]: #835
+#277 := (if #274 #47 #144)
+#280 := (if #40 0::Int #277)
+#283 := (= #37 #280)
+#286 := (forall (vars (?v0 Int) (?v1 Int)) #283)
+#318 := (iff #286 #317)
+#315 := (iff #283 #314)
+#316 := [rewrite]: #315
+#319 := [quant-intro #316]: #318
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#180 := (if #177 #47 #144)
+#183 := (if #40 0::Int #180)
+#186 := (= #37 #183)
+#189 := (forall (vars (?v0 Int) (?v1 Int)) #186)
+#287 := (iff #189 #286)
+#284 := (iff #186 #283)
+#281 := (= #183 #280)
+#278 := (= #180 #277)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#279 := [monotonicity #276]: #278
+#282 := [monotonicity #279]: #281
+#285 := [monotonicity #282]: #284
+#288 := [quant-intro #285]: #287
+#249 := (~ #189 #189)
+#262 := (~ #186 #186)
+#263 := [refl]: #262
+#250 := [nnf-pos #263]: #249
 #49 := (- #24)
 #48 := (- #35)
 #50 := (div #48 #49)
@@ -14323,166 +13201,174 @@
 #52 := (if #40 0::Int #51)
 #53 := (= #37 #52)
 #54 := (forall (vars (?v0 Int) (?v1 Int)) #53)
-#152 := (iff #54 #151)
-#149 := (iff #53 #148)
-#146 := (= #52 #145)
-#143 := (= #51 #142)
-#140 := (= #50 #139)
-#137 := (= #49 #136)
-#138 := [rewrite]: #137
-#134 := (= #48 #133)
-#135 := [rewrite]: #134
-#141 := [monotonicity #135 #138]: #140
-#130 := (iff #46 #129)
-#127 := (iff #45 #126)
-#112 := (iff #42 #111)
-#113 := [rewrite]: #112
-#119 := (iff #44 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #43 #114)
-#108 := (iff #41 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#144 := [monotonicity #131 #141]: #143
-#147 := [monotonicity #144]: #146
-#150 := [monotonicity #147]: #149
-#153 := [quant-intro #150]: #152
-#71 := [asserted]: #54
-#154 := [mp #71 #153]: #151
-#246 := [mp #154 #245]: #243
-#280 := [mp~ #246 #279]: #243
-#309 := [mp #280 #308]: #306
-#340 := [mp #309 #339]: #337
-#796 := [mp #340 #795]: #791
-#709 := (not #791)
-#710 := (or #709 #553)
-#390 := (* -1::Int 1::Int)
-#753 := (div #752 #390)
-#755 := (* -1::Int #753)
-#395 := (+ #14 #755)
-#396 := (= #395 0::Int)
-#745 := (<= 1::Int 0::Int)
-#411 := (or #410 #745)
-#747 := (not #411)
-#408 := (or #404 #745)
-#409 := (not #408)
-#748 := (or #409 #747)
-#756 := (if #748 #746 #396)
-#767 := (= 1::Int 0::Int)
-#420 := (or #766 #767)
-#754 := (if #420 #761 #756)
-#708 := (or #709 #754)
-#593 := (iff #708 #710)
-#595 := (iff #710 #710)
-#554 := [rewrite]: #595
-#706 := (iff #754 #553)
-#550 := (iff #756 #721)
-#720 := (iff #396 #719)
-#712 := (= #395 #718)
-#716 := (= #755 #715)
-#572 := (= #753 #571)
-#724 := (= #390 -1::Int)
-#730 := [rewrite]: #724
-#573 := [monotonicity #730]: #572
-#717 := [monotonicity #573]: #716
-#713 := [monotonicity #717]: #712
-#714 := [monotonicity #713]: #720
-#728 := (iff #748 #723)
-#727 := (iff #747 #726)
-#736 := (iff #411 #410)
-#734 := (or #410 false)
-#735 := (iff #734 #410)
-#732 := [rewrite]: #735
-#449 := (iff #411 #734)
-#740 := (iff #745 false)
-#462 := [rewrite]: #740
-#731 := [monotonicity #462]: #449
-#725 := [trans #731 #732]: #736
-#722 := [monotonicity #725]: #727
-#455 := (iff #409 #454)
-#452 := (iff #408 #404)
-#463 := (or #404 false)
-#738 := (iff #463 #404)
-#742 := [rewrite]: #738
-#737 := (iff #408 #463)
-#741 := [monotonicity #462]: #737
-#453 := [trans #741 #742]: #452
-#733 := [monotonicity #453]: #455
-#729 := [monotonicity #733 #722]: #728
-#552 := [monotonicity #729 #714]: #550
-#363 := (iff #420 #766)
-#744 := (or #766 false)
-#468 := (iff #744 #766)
-#469 := [rewrite]: #468
-#466 := (iff #420 #744)
-#757 := (iff #767 false)
-#743 := [rewrite]: #757
-#467 := [monotonicity #743]: #466
-#739 := [trans #467 #469]: #363
-#707 := [monotonicity #739 #552]: #706
-#594 := [monotonicity #707]: #593
-#702 := [trans #594 #554]: #593
-#711 := [quant-inst #11 #13]: #708
-#604 := [mp #711 #702]: #710
-#631 := [unit-resolution #604 #796]: #553
-#698 := (not #553)
-#688 := (or #698 #687 #761)
-#689 := [def-axiom]: #688
-#658 := [unit-resolution #689 #631]: #657
-#646 := [unit-resolution #658 #664]: #761
-#666 := [trans #646 #655]: #665
-#648 := [monotonicity #666]: #645
-#661 := [trans #648 #663]: #16
+#192 := (iff #54 #189)
+#147 := (if #46 #47 #144)
+#150 := (if #40 0::Int #147)
+#153 := (= #37 #150)
+#156 := (forall (vars (?v0 Int) (?v1 Int)) #153)
+#190 := (iff #156 #189)
+#187 := (iff #153 #186)
+#184 := (= #150 #183)
+#181 := (= #147 #180)
+#178 := (iff #46 #177)
+#175 := (iff #45 #174)
+#165 := (iff #42 #164)
+#166 := [rewrite]: #165
+#172 := (iff #44 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #43 #167)
+#161 := (iff #41 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#157 := (iff #54 #156)
+#154 := (iff #53 #153)
+#151 := (= #52 #150)
+#148 := (= #51 #147)
+#145 := (= #50 #144)
+#142 := (= #49 #141)
+#143 := [rewrite]: #142
+#139 := (= #48 #138)
+#140 := [rewrite]: #139
+#146 := [monotonicity #140 #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [quant-intro #155]: #157
+#193 := [trans #158 #191]: #192
+#136 := [asserted]: #54
+#194 := [mp #136 #193]: #189
+#264 := [mp~ #194 #250]: #189
+#289 := [mp #264 #288]: #286
+#320 := [mp #289 #319]: #317
+#837 := [mp #320 #836]: #832
+#750 := (not #832)
+#751 := (or #750 #594)
+#431 := (* -1::Int 1::Int)
+#794 := (div #793 #431)
+#796 := (* -1::Int #794)
+#436 := (+ #14 #796)
+#437 := (= #436 0::Int)
+#786 := (<= 1::Int 0::Int)
+#452 := (or #451 #786)
+#788 := (not #452)
+#449 := (or #445 #786)
+#450 := (not #449)
+#789 := (or #450 #788)
+#797 := (if #789 #787 #437)
+#808 := (= 1::Int 0::Int)
+#461 := (or #807 #808)
+#795 := (if #461 #802 #797)
+#749 := (or #750 #795)
+#634 := (iff #749 #751)
+#636 := (iff #751 #751)
+#595 := [rewrite]: #636
+#747 := (iff #795 #594)
+#591 := (iff #797 #762)
+#761 := (iff #437 #760)
+#753 := (= #436 #759)
+#757 := (= #796 #756)
+#613 := (= #794 #612)
+#765 := (= #431 -1::Int)
+#771 := [rewrite]: #765
+#614 := [monotonicity #771]: #613
+#758 := [monotonicity #614]: #757
+#754 := [monotonicity #758]: #753
+#755 := [monotonicity #754]: #761
+#769 := (iff #789 #764)
+#768 := (iff #788 #767)
+#777 := (iff #452 #451)
+#775 := (or #451 false)
+#776 := (iff #775 #451)
+#773 := [rewrite]: #776
+#490 := (iff #452 #775)
+#781 := (iff #786 false)
+#503 := [rewrite]: #781
+#772 := [monotonicity #503]: #490
+#766 := [trans #772 #773]: #777
+#763 := [monotonicity #766]: #768
+#496 := (iff #450 #495)
+#493 := (iff #449 #445)
+#504 := (or #445 false)
+#779 := (iff #504 #445)
+#783 := [rewrite]: #779
+#778 := (iff #449 #504)
+#782 := [monotonicity #503]: #778
+#494 := [trans #782 #783]: #493
+#774 := [monotonicity #494]: #496
+#770 := [monotonicity #774 #763]: #769
+#593 := [monotonicity #770 #755]: #591
+#404 := (iff #461 #807)
+#785 := (or #807 false)
+#509 := (iff #785 #807)
+#510 := [rewrite]: #509
+#507 := (iff #461 #785)
+#798 := (iff #808 false)
+#784 := [rewrite]: #798
+#508 := [monotonicity #784]: #507
+#780 := [trans #508 #510]: #404
+#748 := [monotonicity #780 #593]: #747
+#635 := [monotonicity #748]: #634
+#743 := [trans #635 #595]: #634
+#752 := [quant-inst #11 #13]: #749
+#645 := [mp #752 #743]: #751
+#672 := [unit-resolution #645 #837]: #594
+#739 := (not #594)
+#729 := (or #739 #728 #802)
+#730 := [def-axiom]: #729
+#671 := [unit-resolution #730 #672]: #666
+#667 := [unit-resolution #671 #665]: #802
+#631 := [trans #667 #708]: #663
+#597 := [monotonicity #631]: #638
+#628 := [trans #597 #664]: #16
 #17 := (not #16)
-#67 := [asserted]: #17
-#662 := [unit-resolution #67 #661]: false
-#623 := [lemma #662]: #687
-#621 := (or #766 #746)
-#605 := (not #723)
-#683 := (not #746)
-#627 := [hypothesis]: #683
-#628 := [hypothesis]: #687
-#632 := (or #766 #721)
-#690 := (or #698 #766 #721)
-#684 := [def-axiom]: #690
-#633 := [unit-resolution #684 #631]: #632
-#629 := [unit-resolution #633 #628]: #721
-#701 := (not #721)
-#705 := (or #701 #605 #746)
-#692 := [def-axiom]: #705
-#634 := [unit-resolution #692 #629 #627]: #605
-#588 := (or #723 #410)
-#603 := [def-axiom]: #588
-#614 := [unit-resolution #603 #634]: #410
-#700 := (or #723 #404)
-#703 := [def-axiom]: #700
-#560 := [unit-resolution #703 #634]: #404
-#615 := (or #766 #454 #726)
-#596 := [th-lemma arith triangle-eq]: #615
-#620 := [unit-resolution #596 #628 #560 #614]: false
-#616 := [lemma #620]: #621
-#583 := [unit-resolution #616 #623]: #746
-#584 := (or #683 #608)
-#585 := [th-lemma arith triangle-eq]: #584
-#570 := [unit-resolution #585 #583]: #608
-#609 := (>= #751 0::Int)
-#586 := (or #683 #609)
-#547 := [th-lemma arith triangle-eq]: #586
-#548 := [unit-resolution #547 #583]: #609
-#557 := [th-lemma arith eq-propagate 1 1 #548 #570]: #555
-#543 := [trans #557 #542]: #665
-#544 := [monotonicity #543]: #645
-#387 := [trans #544 #663]: #16
-[unit-resolution #67 #387]: false
-6833c76ab94aad24a4f35a6e42e2cc121c836709 297 0
-unsat
+#85 := [asserted]: #17
+#630 := [unit-resolution #85 #628]: false
+#632 := [lemma #630]: #728
+#662 := (or #807 #787)
+#646 := (not #764)
+#724 := (not #787)
+#668 := [hypothesis]: #724
+#669 := [hypothesis]: #728
+#673 := (or #807 #762)
+#731 := (or #739 #807 #762)
+#725 := [def-axiom]: #731
+#674 := [unit-resolution #725 #672]: #673
+#670 := [unit-resolution #674 #669]: #762
+#742 := (not #762)
+#746 := (or #742 #646 #787)
+#733 := [def-axiom]: #746
+#675 := [unit-resolution #733 #670 #668]: #646
+#629 := (or #764 #451)
+#644 := [def-axiom]: #629
+#655 := [unit-resolution #644 #675]: #451
+#741 := (or #764 #445)
+#744 := [def-axiom]: #741
+#601 := [unit-resolution #744 #675]: #445
+#656 := (or #807 #495 #767)
+#637 := [th-lemma arith triangle-eq]: #656
+#661 := [unit-resolution #637 #669 #601 #655]: false
+#657 := [lemma #661]: #662
+#565 := [unit-resolution #657 #632]: #787
+#568 := (or #724 #649)
+#570 := [th-lemma arith triangle-eq]: #568
+#571 := [unit-resolution #570 #565]: #649
+#650 := (>= #792 0::Int)
+#567 := (or #724 #650)
+#572 := [th-lemma arith triangle-eq]: #567
+#562 := [unit-resolution #572 #565]: #650
+#554 := [th-lemma arith eq-propagate 1 1 #562 #571]: #552
+#535 := [trans #554 #533]: #663
+#536 := [monotonicity #535]: #638
+#537 := [trans #536 #664]: #16
+[unit-resolution #85 #537]: false
+unsat
+634d492b81b7e3859d758e0f7fab5f7237c6b80a 281 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 0::Int
@@ -14498,103 +13384,79 @@
 #12 := (f5 #10 3::Int)
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
-#737 := (= #12 0::Int)
+#777 := (= #12 0::Int)
 #23 := (:var 0 Int)
 #34 := (:var 1 Int)
 #35 := (f6 f7 #34)
 #36 := (f5 #35 #23)
-#790 := (pattern #36)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #34)
-#138 := (div #132 #135)
-#329 := (* -1::Int #138)
-#330 := (+ #36 #329)
-#331 := (= #330 0::Int)
+#830 := (pattern #36)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #34)
+#143 := (div #137 #140)
+#309 := (* -1::Int #143)
+#310 := (+ #36 #309)
+#311 := (= #310 0::Int)
 #46 := (div #34 #23)
-#326 := (* -1::Int #46)
-#327 := (+ #36 #326)
-#328 := (= #327 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #34 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #34 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#332 := (if #293 #328 #331)
-#325 := (= #36 0::Int)
+#306 := (* -1::Int #46)
+#307 := (+ #36 #306)
+#308 := (= #307 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #34 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #34 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#312 := (if #273 #308 #311)
+#305 := (= #36 0::Int)
 #38 := (= #23 0::Int)
 #37 := (= #34 0::Int)
 #39 := (or #37 #38)
-#333 := (if #39 #325 #332)
-#791 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #790) #333)
-#336 := (forall (vars (?v0 Int) (?v1 Int)) #333)
-#794 := (iff #336 #791)
-#792 := (iff #333 #333)
-#793 := [refl]: #792
-#795 := [quant-intro #793]: #794
-#296 := (if #293 #46 #138)
-#299 := (if #39 0::Int #296)
-#302 := (= #36 #299)
-#305 := (forall (vars (?v0 Int) (?v1 Int)) #302)
-#337 := (iff #305 #336)
-#334 := (iff #302 #333)
-#335 := [rewrite]: #334
-#338 := [quant-intro #335]: #337
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#233 := (if #230 #46 #138)
-#236 := (if #39 0::Int #233)
-#239 := (= #36 #236)
-#242 := (forall (vars (?v0 Int) (?v1 Int)) #239)
-#306 := (iff #242 #305)
-#303 := (iff #239 #302)
-#300 := (= #236 #299)
-#297 := (= #233 #296)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#298 := [monotonicity #295]: #297
-#301 := [monotonicity #298]: #300
-#304 := [monotonicity #301]: #303
-#307 := [quant-intro #304]: #306
-#277 := (~ #242 #242)
-#275 := (~ #239 #239)
-#276 := [refl]: #275
-#278 := [nnf-pos #276]: #277
-#116 := (<= 0::Int #34)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#141 := (if #128 #46 #138)
-#144 := (if #39 0::Int #141)
-#147 := (= #36 #144)
-#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
-#243 := (iff #150 #242)
-#240 := (iff #147 #239)
-#237 := (= #144 #236)
-#234 := (= #141 #233)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [monotonicity #238]: #240
-#244 := [quant-intro #241]: #243
+#313 := (if #39 #305 #312)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #313)
+#316 := (forall (vars (?v0 Int) (?v1 Int)) #313)
+#834 := (iff #316 #831)
+#832 := (iff #313 #313)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#276 := (if #273 #46 #143)
+#279 := (if #39 0::Int #276)
+#282 := (= #36 #279)
+#285 := (forall (vars (?v0 Int) (?v1 Int)) #282)
+#317 := (iff #285 #316)
+#314 := (iff #282 #313)
+#315 := [rewrite]: #314
+#318 := [quant-intro #315]: #317
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#179 := (if #176 #46 #143)
+#182 := (if #39 0::Int #179)
+#185 := (= #36 #182)
+#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
+#286 := (iff #188 #285)
+#283 := (iff #185 #282)
+#280 := (= #182 #279)
+#277 := (= #179 #276)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#278 := [monotonicity #275]: #277
+#281 := [monotonicity #278]: #280
+#284 := [monotonicity #281]: #283
+#287 := [quant-intro #284]: #286
+#248 := (~ #188 #188)
+#261 := (~ #185 #185)
+#262 := [refl]: #261
+#249 := [nnf-pos #262]: #248
 #48 := (- #23)
 #47 := (- #34)
 #49 := (div #47 #48)
@@ -14608,179 +13470,187 @@
 #51 := (if #39 0::Int #50)
 #52 := (= #36 #51)
 #53 := (forall (vars (?v0 Int) (?v1 Int)) #52)
-#151 := (iff #53 #150)
-#148 := (iff #52 #147)
-#145 := (= #51 #144)
-#142 := (= #50 #141)
-#139 := (= #49 #138)
-#136 := (= #48 #135)
-#137 := [rewrite]: #136
-#133 := (= #47 #132)
-#134 := [rewrite]: #133
-#140 := [monotonicity #134 #137]: #139
-#129 := (iff #45 #128)
-#126 := (iff #44 #125)
-#111 := (iff #41 #110)
-#112 := [rewrite]: #111
-#118 := (iff #43 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #42 #113)
-#107 := (iff #40 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#143 := [monotonicity #130 #140]: #142
-#146 := [monotonicity #143]: #145
-#149 := [monotonicity #146]: #148
-#152 := [quant-intro #149]: #151
-#70 := [asserted]: #53
-#153 := [mp #70 #152]: #150
-#245 := [mp #153 #244]: #242
-#279 := [mp~ #245 #278]: #242
-#308 := [mp #279 #307]: #305
-#339 := [mp #308 #338]: #336
-#796 := [mp #339 #795]: #791
-#665 := (not #791)
-#666 := (or #665 #737)
-#732 := (* -1::Int 3::Int)
-#735 := (* -1::Int 0::Int)
-#736 := (div #735 #732)
-#725 := (* -1::Int #736)
-#726 := (+ #12 #725)
-#727 := (= #726 0::Int)
-#733 := (div 0::Int 3::Int)
-#734 := (* -1::Int #733)
-#449 := (+ #12 #734)
-#731 := (= #449 0::Int)
-#738 := (<= 3::Int 0::Int)
-#551 := (>= 0::Int 0::Int)
-#453 := (or #551 #738)
-#454 := (not #453)
-#741 := (<= 0::Int 0::Int)
-#742 := (or #741 #738)
-#452 := (not #742)
-#455 := (or #452 #454)
-#722 := (if #455 #731 #727)
-#462 := (= 3::Int 0::Int)
-#740 := (= 0::Int 0::Int)
-#463 := (or #740 #462)
-#723 := (if #463 #737 #722)
-#656 := (or #665 #723)
-#645 := (iff #656 #666)
-#648 := (iff #666 #666)
-#649 := [rewrite]: #648
-#663 := (iff #723 #737)
-#1 := true
-#658 := (if true #737 #737)
-#661 := (iff #658 #737)
-#662 := [rewrite]: #661
-#659 := (iff #723 #658)
-#655 := (iff #722 #737)
-#672 := (if false #737 #737)
-#674 := (iff #672 #737)
-#654 := [rewrite]: #674
-#673 := (iff #722 #672)
-#669 := (iff #727 #737)
-#682 := (= #726 #12)
-#701 := (+ #12 0::Int)
-#694 := (= #701 #12)
-#686 := [rewrite]: #694
-#681 := (= #726 #701)
-#679 := (= #725 0::Int)
-#609 := (= #735 0::Int)
-#610 := [rewrite]: #609
-#676 := (= #725 #735)
-#691 := (= #736 0::Int)
-#697 := -3::Int
-#687 := (div 0::Int -3::Int)
-#690 := (= #687 0::Int)
-#684 := [rewrite]: #690
-#688 := (= #736 #687)
-#693 := (= #732 -3::Int)
-#698 := [rewrite]: #693
-#689 := [monotonicity #610 #698]: #688
-#675 := [trans #689 #684]: #691
-#678 := [monotonicity #675]: #676
-#680 := [trans #678 #610]: #679
-#677 := [monotonicity #680]: #681
-#668 := [trans #677 #686]: #682
-#671 := [monotonicity #668]: #669
-#695 := (iff #731 #737)
-#683 := (= #449 #12)
-#705 := (= #449 #701)
-#611 := (= #734 0::Int)
-#607 := (= #734 #735)
-#606 := (= #733 0::Int)
-#599 := [rewrite]: #606
-#608 := [monotonicity #599]: #607
-#704 := [trans #608 #610]: #611
-#692 := [monotonicity #704]: #705
-#685 := [trans #692 #686]: #683
-#696 := [monotonicity #685]: #695
-#603 := (iff #455 false)
-#604 := (or false false)
-#703 := (iff #604 false)
-#588 := [rewrite]: #703
-#699 := (iff #455 #604)
-#554 := (iff #454 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#594 := (iff #454 #420)
-#711 := (iff #453 true)
-#571 := (or true false)
-#715 := (iff #571 true)
-#716 := [rewrite]: #715
-#710 := (iff #453 #571)
-#719 := (iff #738 false)
-#720 := [rewrite]: #719
-#424 := (iff #551 true)
-#760 := [rewrite]: #424
-#708 := [monotonicity #760 #720]: #710
-#593 := [trans #708 #716]: #711
-#595 := [monotonicity #593]: #594
-#702 := [trans #595 #408]: #554
-#707 := (iff #452 false)
-#553 := (iff #452 #420)
-#550 := (iff #742 true)
-#714 := (iff #742 #571)
-#712 := (iff #741 true)
-#713 := [rewrite]: #712
-#721 := [monotonicity #713 #720]: #714
-#552 := [trans #721 #716]: #550
-#706 := [monotonicity #552]: #553
-#709 := [trans #706 #408]: #707
-#700 := [monotonicity #709 #702]: #699
-#605 := [trans #700 #588]: #603
-#670 := [monotonicity #605 #696 #671]: #673
-#657 := [trans #670 #654]: #655
-#717 := (iff #463 true)
-#572 := (iff #463 #571)
-#724 := (iff #462 false)
-#730 := [rewrite]: #724
-#728 := (iff #740 true)
-#729 := [rewrite]: #728
-#573 := [monotonicity #729 #730]: #572
-#718 := [trans #573 #716]: #717
-#660 := [monotonicity #718 #657]: #659
-#664 := [trans #660 #662]: #663
-#646 := [monotonicity #664]: #645
-#650 := [trans #646 #649]: #645
-#667 := [quant-inst #9 #11]: #656
-#651 := [mp #667 #650]: #666
-#647 := [unit-resolution #651 #796]: #737
-#653 := [monotonicity #647]: #15
+#191 := (iff #53 #188)
+#146 := (if #45 #46 #143)
+#149 := (if #39 0::Int #146)
+#152 := (= #36 #149)
+#155 := (forall (vars (?v0 Int) (?v1 Int)) #152)
+#189 := (iff #155 #188)
+#186 := (iff #152 #185)
+#183 := (= #149 #182)
+#180 := (= #146 #179)
+#177 := (iff #45 #176)
+#174 := (iff #44 #173)
+#164 := (iff #41 #163)
+#165 := [rewrite]: #164
+#171 := (iff #43 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #42 #166)
+#160 := (iff #40 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [monotonicity #181]: #183
+#187 := [monotonicity #184]: #186
+#190 := [quant-intro #187]: #189
+#156 := (iff #53 #155)
+#153 := (iff #52 #152)
+#150 := (= #51 #149)
+#147 := (= #50 #146)
+#144 := (= #49 #143)
+#141 := (= #48 #140)
+#142 := [rewrite]: #141
+#138 := (= #47 #137)
+#139 := [rewrite]: #138
+#145 := [monotonicity #139 #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [monotonicity #151]: #153
+#157 := [quant-intro #154]: #156
+#192 := [trans #157 #190]: #191
+#135 := [asserted]: #53
+#193 := [mp #135 #192]: #188
+#263 := [mp~ #193 #249]: #188
+#288 := [mp #263 #287]: #285
+#319 := [mp #288 #318]: #316
+#836 := [mp #319 #835]: #831
+#705 := (not #831)
+#706 := (or #705 #777)
+#772 := (* -1::Int 3::Int)
+#775 := (* -1::Int 0::Int)
+#776 := (div #775 #772)
+#765 := (* -1::Int #776)
+#766 := (+ #12 #765)
+#767 := (= #766 0::Int)
+#773 := (div 0::Int 3::Int)
+#774 := (* -1::Int #773)
+#489 := (+ #12 #774)
+#771 := (= #489 0::Int)
+#778 := (<= 3::Int 0::Int)
+#591 := (>= 0::Int 0::Int)
+#493 := (or #591 #778)
+#494 := (not #493)
+#781 := (<= 0::Int 0::Int)
+#782 := (or #781 #778)
+#492 := (not #782)
+#495 := (or #492 #494)
+#762 := (if #495 #771 #767)
+#502 := (= 3::Int 0::Int)
+#780 := (= 0::Int 0::Int)
+#503 := (or #780 #502)
+#763 := (if #503 #777 #762)
+#696 := (or #705 #763)
+#685 := (iff #696 #706)
+#688 := (iff #706 #706)
+#689 := [rewrite]: #688
+#703 := (iff #763 #777)
+#1 := true
+#698 := (if true #777 #777)
+#701 := (iff #698 #777)
+#702 := [rewrite]: #701
+#699 := (iff #763 #698)
+#695 := (iff #762 #777)
+#712 := (if false #777 #777)
+#714 := (iff #712 #777)
+#694 := [rewrite]: #714
+#713 := (iff #762 #712)
+#709 := (iff #767 #777)
+#722 := (= #766 #12)
+#741 := (+ #12 0::Int)
+#734 := (= #741 #12)
+#726 := [rewrite]: #734
+#721 := (= #766 #741)
+#719 := (= #765 0::Int)
+#649 := (= #775 0::Int)
+#650 := [rewrite]: #649
+#716 := (= #765 #775)
+#731 := (= #776 0::Int)
+#737 := -3::Int
+#727 := (div 0::Int -3::Int)
+#730 := (= #727 0::Int)
+#724 := [rewrite]: #730
+#728 := (= #776 #727)
+#733 := (= #772 -3::Int)
+#738 := [rewrite]: #733
+#729 := [monotonicity #650 #738]: #728
+#715 := [trans #729 #724]: #731
+#718 := [monotonicity #715]: #716
+#720 := [trans #718 #650]: #719
+#717 := [monotonicity #720]: #721
+#708 := [trans #717 #726]: #722
+#711 := [monotonicity #708]: #709
+#735 := (iff #771 #777)
+#723 := (= #489 #12)
+#745 := (= #489 #741)
+#651 := (= #774 0::Int)
+#647 := (= #774 #775)
+#646 := (= #773 0::Int)
+#639 := [rewrite]: #646
+#648 := [monotonicity #639]: #647
+#744 := [trans #648 #650]: #651
+#732 := [monotonicity #744]: #745
+#725 := [trans #732 #726]: #723
+#736 := [monotonicity #725]: #735
+#643 := (iff #495 false)
+#644 := (or false false)
+#743 := (iff #644 false)
+#628 := [rewrite]: #743
+#739 := (iff #495 #644)
+#594 := (iff #494 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#634 := (iff #494 #460)
+#751 := (iff #493 true)
+#611 := (or true false)
+#755 := (iff #611 true)
+#756 := [rewrite]: #755
+#750 := (iff #493 #611)
+#759 := (iff #778 false)
+#760 := [rewrite]: #759
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#748 := [monotonicity #800 #760]: #750
+#633 := [trans #748 #756]: #751
+#635 := [monotonicity #633]: #634
+#742 := [trans #635 #448]: #594
+#747 := (iff #492 false)
+#593 := (iff #492 #460)
+#590 := (iff #782 true)
+#754 := (iff #782 #611)
+#752 := (iff #781 true)
+#753 := [rewrite]: #752
+#761 := [monotonicity #753 #760]: #754
+#592 := [trans #761 #756]: #590
+#746 := [monotonicity #592]: #593
+#749 := [trans #746 #448]: #747
+#740 := [monotonicity #749 #742]: #739
+#645 := [trans #740 #628]: #643
+#710 := [monotonicity #645 #736 #711]: #713
+#697 := [trans #710 #694]: #695
+#757 := (iff #503 true)
+#612 := (iff #503 #611)
+#764 := (iff #502 false)
+#770 := [rewrite]: #764
+#768 := (iff #780 true)
+#769 := [rewrite]: #768
+#613 := [monotonicity #769 #770]: #612
+#758 := [trans #613 #756]: #757
+#700 := [monotonicity #758 #697]: #699
+#704 := [trans #700 #702]: #703
+#686 := [monotonicity #704]: #685
+#690 := [trans #686 #689]: #685
+#707 := [quant-inst #9 #11]: #696
+#691 := [mp #707 #690]: #706
+#687 := [unit-resolution #691 #836]: #777
+#693 := [monotonicity #687]: #15
 #16 := (not #15)
-#66 := [asserted]: #16
-[unit-resolution #66 #653]: false
-3a5431ba2dda9bb93e22830a67e761b1aca1ace1 314 0
-unsat
+#84 := [asserted]: #16
+[unit-resolution #84 #693]: false
+unsat
+64f54c697dbe7c3319cdf093c32632d4b6ddde2a 298 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #14 := 0::Int
@@ -14797,103 +13667,79 @@
 #12 := (f5 #10 3::Int)
 #13 := (f3 f4 #12)
 #16 := (= #13 #15)
-#737 := (= #12 0::Int)
+#777 := (= #12 0::Int)
 #24 := (:var 0 Int)
 #35 := (:var 1 Int)
 #36 := (f6 f7 #35)
 #37 := (f5 #36 #24)
-#790 := (pattern #37)
-#132 := -1::Int
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #35)
-#139 := (div #133 #136)
-#330 := (* -1::Int #139)
-#331 := (+ #37 #330)
-#332 := (= #331 0::Int)
+#830 := (pattern #37)
+#137 := -1::Int
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #35)
+#144 := (div #138 #141)
+#310 := (* -1::Int #144)
+#311 := (+ #37 #310)
+#312 := (= #311 0::Int)
 #47 := (div #35 #24)
-#327 := (* -1::Int #47)
-#328 := (+ #37 #327)
-#329 := (= #328 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #35 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #35 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#333 := (if #294 #329 #332)
-#326 := (= #37 0::Int)
+#307 := (* -1::Int #47)
+#308 := (+ #37 #307)
+#309 := (= #308 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #35 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #35 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#313 := (if #274 #309 #312)
+#306 := (= #37 0::Int)
 #39 := (= #24 0::Int)
 #38 := (= #35 0::Int)
 #40 := (or #38 #39)
-#334 := (if #40 #326 #333)
-#791 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #790) #334)
-#337 := (forall (vars (?v0 Int) (?v1 Int)) #334)
-#794 := (iff #337 #791)
-#792 := (iff #334 #334)
-#793 := [refl]: #792
-#795 := [quant-intro #793]: #794
-#297 := (if #294 #47 #139)
-#300 := (if #40 0::Int #297)
-#303 := (= #37 #300)
-#306 := (forall (vars (?v0 Int) (?v1 Int)) #303)
-#338 := (iff #306 #337)
-#335 := (iff #303 #334)
-#336 := [rewrite]: #335
-#339 := [quant-intro #336]: #338
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#234 := (if #231 #47 #139)
-#237 := (if #40 0::Int #234)
-#240 := (= #37 #237)
-#243 := (forall (vars (?v0 Int) (?v1 Int)) #240)
-#307 := (iff #243 #306)
-#304 := (iff #240 #303)
-#301 := (= #237 #300)
-#298 := (= #234 #297)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#299 := [monotonicity #296]: #298
-#302 := [monotonicity #299]: #301
-#305 := [monotonicity #302]: #304
-#308 := [quant-intro #305]: #307
-#278 := (~ #243 #243)
-#276 := (~ #240 #240)
-#277 := [refl]: #276
-#279 := [nnf-pos #277]: #278
-#117 := (<= 0::Int #35)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#142 := (if #129 #47 #139)
-#145 := (if #40 0::Int #142)
-#148 := (= #37 #145)
-#151 := (forall (vars (?v0 Int) (?v1 Int)) #148)
-#244 := (iff #151 #243)
-#241 := (iff #148 #240)
-#238 := (= #145 #237)
-#235 := (= #142 #234)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [monotonicity #233]: #235
-#239 := [monotonicity #236]: #238
-#242 := [monotonicity #239]: #241
-#245 := [quant-intro #242]: #244
+#314 := (if #40 #306 #313)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #314)
+#317 := (forall (vars (?v0 Int) (?v1 Int)) #314)
+#834 := (iff #317 #831)
+#832 := (iff #314 #314)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#277 := (if #274 #47 #144)
+#280 := (if #40 0::Int #277)
+#283 := (= #37 #280)
+#286 := (forall (vars (?v0 Int) (?v1 Int)) #283)
+#318 := (iff #286 #317)
+#315 := (iff #283 #314)
+#316 := [rewrite]: #315
+#319 := [quant-intro #316]: #318
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#180 := (if #177 #47 #144)
+#183 := (if #40 0::Int #180)
+#186 := (= #37 #183)
+#189 := (forall (vars (?v0 Int) (?v1 Int)) #186)
+#287 := (iff #189 #286)
+#284 := (iff #186 #283)
+#281 := (= #183 #280)
+#278 := (= #180 #277)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#279 := [monotonicity #276]: #278
+#282 := [monotonicity #279]: #281
+#285 := [monotonicity #282]: #284
+#288 := [quant-intro #285]: #287
+#249 := (~ #189 #189)
+#262 := (~ #186 #186)
+#263 := [refl]: #262
+#250 := [nnf-pos #263]: #249
 #49 := (- #24)
 #48 := (- #35)
 #50 := (div #48 #49)
@@ -14907,195 +13753,203 @@
 #52 := (if #40 0::Int #51)
 #53 := (= #37 #52)
 #54 := (forall (vars (?v0 Int) (?v1 Int)) #53)
-#152 := (iff #54 #151)
-#149 := (iff #53 #148)
-#146 := (= #52 #145)
-#143 := (= #51 #142)
-#140 := (= #50 #139)
-#137 := (= #49 #136)
-#138 := [rewrite]: #137
-#134 := (= #48 #133)
-#135 := [rewrite]: #134
-#141 := [monotonicity #135 #138]: #140
-#130 := (iff #46 #129)
-#127 := (iff #45 #126)
-#112 := (iff #42 #111)
-#113 := [rewrite]: #112
-#119 := (iff #44 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #43 #114)
-#108 := (iff #41 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#144 := [monotonicity #131 #141]: #143
-#147 := [monotonicity #144]: #146
-#150 := [monotonicity #147]: #149
-#153 := [quant-intro #150]: #152
-#71 := [asserted]: #54
-#154 := [mp #71 #153]: #151
-#246 := [mp #154 #245]: #243
-#280 := [mp~ #246 #279]: #243
-#309 := [mp #280 #308]: #306
-#340 := [mp #309 #339]: #337
-#796 := [mp #340 #795]: #791
-#642 := (not #791)
-#643 := (or #642 #737)
-#736 := (* -1::Int 3::Int)
-#732 := (* -1::Int 1::Int)
-#725 := (div #732 #736)
-#726 := (* -1::Int #725)
-#727 := (+ #12 #726)
-#722 := (= #727 0::Int)
-#734 := (div 1::Int 3::Int)
-#449 := (* -1::Int #734)
-#731 := (+ #12 #449)
-#735 := (= #731 0::Int)
-#738 := (<= 3::Int 0::Int)
-#453 := (>= 1::Int 0::Int)
-#454 := (or #453 #738)
-#455 := (not #454)
-#741 := (<= 1::Int 0::Int)
-#742 := (or #741 #738)
-#452 := (not #742)
-#733 := (or #452 #455)
-#723 := (if #733 #735 #722)
-#462 := (= 3::Int 0::Int)
-#740 := (= 1::Int 0::Int)
-#463 := (or #740 #462)
-#728 := (if #463 #737 #723)
-#638 := (or #642 #728)
-#617 := (iff #638 #643)
-#619 := (iff #643 #643)
-#512 := [rewrite]: #619
-#640 := (iff #728 #737)
-#653 := (if false #737 #737)
-#636 := (iff #653 #737)
-#637 := [rewrite]: #636
-#639 := (iff #728 #653)
-#652 := (iff #723 #737)
-#665 := (= #12 1::Int)
-#1 := true
-#646 := (if true #737 #665)
-#650 := (iff #646 #737)
-#651 := [rewrite]: #650
-#648 := (iff #723 #646)
-#667 := (iff #722 #665)
-#657 := (+ -1::Int #12)
-#662 := (= #657 0::Int)
-#666 := (iff #662 #665)
-#656 := [rewrite]: #666
-#663 := (iff #722 #662)
-#660 := (= #727 #657)
-#674 := (+ #12 -1::Int)
-#658 := (= #674 #657)
-#659 := [rewrite]: #658
-#654 := (= #727 #674)
-#673 := (= #726 -1::Int)
-#684 := (= #732 -1::Int)
-#691 := [rewrite]: #684
-#671 := (= #726 #732)
-#668 := (= #725 1::Int)
-#675 := -3::Int
-#679 := (div -1::Int -3::Int)
-#677 := (= #679 1::Int)
-#682 := [rewrite]: #677
-#680 := (= #725 #679)
-#676 := (= #736 -3::Int)
-#678 := [rewrite]: #676
-#681 := [monotonicity #691 #678]: #680
-#669 := [trans #681 #682]: #668
-#672 := [monotonicity #669]: #671
-#670 := [trans #672 #691]: #673
-#655 := [monotonicity #670]: #654
-#661 := [trans #655 #659]: #660
-#664 := [monotonicity #661]: #663
-#645 := [trans #664 #656]: #667
-#689 := (iff #735 #737)
-#687 := (= #731 #12)
-#695 := (+ #12 0::Int)
-#693 := (= #695 #12)
-#698 := [rewrite]: #693
-#696 := (= #731 #695)
-#683 := (= #449 0::Int)
-#701 := (* -1::Int 0::Int)
-#694 := (= #701 0::Int)
-#686 := [rewrite]: #694
-#705 := (= #449 #701)
-#611 := (= #734 0::Int)
-#704 := [rewrite]: #611
-#692 := [monotonicity #704]: #705
-#685 := [trans #692 #686]: #683
-#697 := [monotonicity #685]: #696
-#688 := [trans #697 #698]: #687
-#690 := [monotonicity #688]: #689
-#609 := (iff #733 true)
-#554 := (or true false)
-#699 := (iff #554 true)
-#700 := [rewrite]: #699
-#607 := (iff #733 #554)
-#606 := (iff #455 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#603 := (iff #455 #420)
-#703 := (iff #454 true)
-#702 := (iff #454 #554)
-#720 := (iff #738 false)
-#714 := [rewrite]: #720
-#594 := (iff #453 true)
-#595 := [rewrite]: #594
-#604 := [monotonicity #595 #714]: #702
-#588 := [trans #604 #700]: #703
-#605 := [monotonicity #588]: #603
-#599 := [trans #605 #408]: #606
-#711 := (iff #452 true)
-#706 := (not false)
-#710 := (iff #706 true)
-#708 := [rewrite]: #710
-#707 := (iff #452 #706)
-#552 := (iff #742 false)
-#572 := (or false false)
-#716 := (iff #572 false)
-#717 := [rewrite]: #716
-#721 := (iff #742 #572)
-#713 := (iff #741 false)
-#719 := [rewrite]: #713
-#550 := [monotonicity #719 #714]: #721
-#553 := [trans #550 #717]: #552
-#709 := [monotonicity #553]: #707
-#593 := [trans #709 #708]: #711
-#608 := [monotonicity #593 #599]: #607
-#610 := [trans #608 #700]: #609
-#649 := [monotonicity #610 #690 #645]: #648
-#647 := [trans #649 #651]: #652
-#718 := (iff #463 false)
-#573 := (iff #463 #572)
-#730 := (iff #462 false)
-#571 := [rewrite]: #730
-#729 := (iff #740 false)
-#724 := [rewrite]: #729
-#715 := [monotonicity #724 #571]: #573
-#712 := [trans #715 #717]: #718
-#635 := [monotonicity #712 #647]: #639
-#641 := [trans #635 #637]: #640
-#618 := [monotonicity #641]: #617
-#623 := [trans #618 #512]: #617
-#644 := [quant-inst #9 #11]: #638
-#624 := [mp #644 #623]: #643
-#630 := [unit-resolution #624 #796]: #737
-#626 := [monotonicity #630]: #16
+#192 := (iff #54 #189)
+#147 := (if #46 #47 #144)
+#150 := (if #40 0::Int #147)
+#153 := (= #37 #150)
+#156 := (forall (vars (?v0 Int) (?v1 Int)) #153)
+#190 := (iff #156 #189)
+#187 := (iff #153 #186)
+#184 := (= #150 #183)
+#181 := (= #147 #180)
+#178 := (iff #46 #177)
+#175 := (iff #45 #174)
+#165 := (iff #42 #164)
+#166 := [rewrite]: #165
+#172 := (iff #44 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #43 #167)
+#161 := (iff #41 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#157 := (iff #54 #156)
+#154 := (iff #53 #153)
+#151 := (= #52 #150)
+#148 := (= #51 #147)
+#145 := (= #50 #144)
+#142 := (= #49 #141)
+#143 := [rewrite]: #142
+#139 := (= #48 #138)
+#140 := [rewrite]: #139
+#146 := [monotonicity #140 #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [quant-intro #155]: #157
+#193 := [trans #158 #191]: #192
+#136 := [asserted]: #54
+#194 := [mp #136 #193]: #189
+#264 := [mp~ #194 #250]: #189
+#289 := [mp #264 #288]: #286
+#320 := [mp #289 #319]: #317
+#836 := [mp #320 #835]: #831
+#682 := (not #831)
+#683 := (or #682 #777)
+#776 := (* -1::Int 3::Int)
+#772 := (* -1::Int 1::Int)
+#765 := (div #772 #776)
+#766 := (* -1::Int #765)
+#767 := (+ #12 #766)
+#762 := (= #767 0::Int)
+#774 := (div 1::Int 3::Int)
+#489 := (* -1::Int #774)
+#771 := (+ #12 #489)
+#775 := (= #771 0::Int)
+#778 := (<= 3::Int 0::Int)
+#493 := (>= 1::Int 0::Int)
+#494 := (or #493 #778)
+#495 := (not #494)
+#781 := (<= 1::Int 0::Int)
+#782 := (or #781 #778)
+#492 := (not #782)
+#773 := (or #492 #495)
+#763 := (if #773 #775 #762)
+#502 := (= 3::Int 0::Int)
+#780 := (= 1::Int 0::Int)
+#503 := (or #780 #502)
+#768 := (if #503 #777 #763)
+#678 := (or #682 #768)
+#657 := (iff #678 #683)
+#659 := (iff #683 #683)
+#552 := [rewrite]: #659
+#680 := (iff #768 #777)
+#693 := (if false #777 #777)
+#676 := (iff #693 #777)
+#677 := [rewrite]: #676
+#679 := (iff #768 #693)
+#692 := (iff #763 #777)
+#705 := (= #12 1::Int)
+#1 := true
+#686 := (if true #777 #705)
+#690 := (iff #686 #777)
+#691 := [rewrite]: #690
+#688 := (iff #763 #686)
+#707 := (iff #762 #705)
+#697 := (+ -1::Int #12)
+#702 := (= #697 0::Int)
+#706 := (iff #702 #705)
+#696 := [rewrite]: #706
+#703 := (iff #762 #702)
+#700 := (= #767 #697)
+#714 := (+ #12 -1::Int)
+#698 := (= #714 #697)
+#699 := [rewrite]: #698
+#694 := (= #767 #714)
+#713 := (= #766 -1::Int)
+#724 := (= #772 -1::Int)
+#731 := [rewrite]: #724
+#711 := (= #766 #772)
+#708 := (= #765 1::Int)
+#715 := -3::Int
+#719 := (div -1::Int -3::Int)
+#717 := (= #719 1::Int)
+#722 := [rewrite]: #717
+#720 := (= #765 #719)
+#716 := (= #776 -3::Int)
+#718 := [rewrite]: #716
+#721 := [monotonicity #731 #718]: #720
+#709 := [trans #721 #722]: #708
+#712 := [monotonicity #709]: #711
+#710 := [trans #712 #731]: #713
+#695 := [monotonicity #710]: #694
+#701 := [trans #695 #699]: #700
+#704 := [monotonicity #701]: #703
+#685 := [trans #704 #696]: #707
+#729 := (iff #775 #777)
+#727 := (= #771 #12)
+#735 := (+ #12 0::Int)
+#733 := (= #735 #12)
+#738 := [rewrite]: #733
+#736 := (= #771 #735)
+#723 := (= #489 0::Int)
+#741 := (* -1::Int 0::Int)
+#734 := (= #741 0::Int)
+#726 := [rewrite]: #734
+#745 := (= #489 #741)
+#651 := (= #774 0::Int)
+#744 := [rewrite]: #651
+#732 := [monotonicity #744]: #745
+#725 := [trans #732 #726]: #723
+#737 := [monotonicity #725]: #736
+#728 := [trans #737 #738]: #727
+#730 := [monotonicity #728]: #729
+#649 := (iff #773 true)
+#594 := (or true false)
+#739 := (iff #594 true)
+#740 := [rewrite]: #739
+#647 := (iff #773 #594)
+#646 := (iff #495 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#643 := (iff #495 #460)
+#743 := (iff #494 true)
+#742 := (iff #494 #594)
+#760 := (iff #778 false)
+#754 := [rewrite]: #760
+#634 := (iff #493 true)
+#635 := [rewrite]: #634
+#644 := [monotonicity #635 #754]: #742
+#628 := [trans #644 #740]: #743
+#645 := [monotonicity #628]: #643
+#639 := [trans #645 #448]: #646
+#751 := (iff #492 true)
+#746 := (not false)
+#750 := (iff #746 true)
+#748 := [rewrite]: #750
+#747 := (iff #492 #746)
+#592 := (iff #782 false)
+#612 := (or false false)
+#756 := (iff #612 false)
+#757 := [rewrite]: #756
+#761 := (iff #782 #612)
+#753 := (iff #781 false)
+#759 := [rewrite]: #753
+#590 := [monotonicity #759 #754]: #761
+#593 := [trans #590 #757]: #592
+#749 := [monotonicity #593]: #747
+#633 := [trans #749 #748]: #751
+#648 := [monotonicity #633 #639]: #647
+#650 := [trans #648 #740]: #649
+#689 := [monotonicity #650 #730 #685]: #688
+#687 := [trans #689 #691]: #692
+#758 := (iff #503 false)
+#613 := (iff #503 #612)
+#770 := (iff #502 false)
+#611 := [rewrite]: #770
+#769 := (iff #780 false)
+#764 := [rewrite]: #769
+#755 := [monotonicity #764 #611]: #613
+#752 := [trans #755 #757]: #758
+#675 := [monotonicity #752 #687]: #679
+#681 := [trans #675 #677]: #680
+#658 := [monotonicity #681]: #657
+#663 := [trans #658 #552]: #657
+#684 := [quant-inst #9 #11]: #678
+#664 := [mp #684 #663]: #683
+#670 := [unit-resolution #664 #836]: #777
+#666 := [monotonicity #670]: #16
 #17 := (not #16)
-#67 := [asserted]: #17
-[unit-resolution #67 #626]: false
-68d1ad7f70142308c629f42d1199c9a3061f756d 304 0
-unsat
+#85 := [asserted]: #17
+[unit-resolution #85 #666]: false
+unsat
+d531b5a296176d2110a62307c2de9e0839c802fe 288 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #13 := 1::Int
@@ -15111,104 +13965,80 @@
 #11 := (f5 #10 3::Int)
 #12 := (f3 f4 #11)
 #15 := (= #12 #14)
-#687 := (= #11 1::Int)
+#727 := (= #11 1::Int)
 #24 := (:var 0 Int)
 #35 := (:var 1 Int)
 #36 := (f6 f7 #35)
 #37 := (f5 #36 #24)
-#790 := (pattern #37)
+#830 := (pattern #37)
 #23 := 0::Int
-#132 := -1::Int
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #35)
-#139 := (div #133 #136)
-#330 := (* -1::Int #139)
-#331 := (+ #37 #330)
-#332 := (= #331 0::Int)
+#137 := -1::Int
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #35)
+#144 := (div #138 #141)
+#310 := (* -1::Int #144)
+#311 := (+ #37 #310)
+#312 := (= #311 0::Int)
 #47 := (div #35 #24)
-#327 := (* -1::Int #47)
-#328 := (+ #37 #327)
-#329 := (= #328 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #35 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #35 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#333 := (if #294 #329 #332)
-#326 := (= #37 0::Int)
+#307 := (* -1::Int #47)
+#308 := (+ #37 #307)
+#309 := (= #308 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #35 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #35 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#313 := (if #274 #309 #312)
+#306 := (= #37 0::Int)
 #39 := (= #24 0::Int)
 #38 := (= #35 0::Int)
 #40 := (or #38 #39)
-#334 := (if #40 #326 #333)
-#791 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #790) #334)
-#337 := (forall (vars (?v0 Int) (?v1 Int)) #334)
-#794 := (iff #337 #791)
-#792 := (iff #334 #334)
-#793 := [refl]: #792
-#795 := [quant-intro #793]: #794
-#297 := (if #294 #47 #139)
-#300 := (if #40 0::Int #297)
-#303 := (= #37 #300)
-#306 := (forall (vars (?v0 Int) (?v1 Int)) #303)
-#338 := (iff #306 #337)
-#335 := (iff #303 #334)
-#336 := [rewrite]: #335
-#339 := [quant-intro #336]: #338
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#234 := (if #231 #47 #139)
-#237 := (if #40 0::Int #234)
-#240 := (= #37 #237)
-#243 := (forall (vars (?v0 Int) (?v1 Int)) #240)
-#307 := (iff #243 #306)
-#304 := (iff #240 #303)
-#301 := (= #237 #300)
-#298 := (= #234 #297)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#299 := [monotonicity #296]: #298
-#302 := [monotonicity #299]: #301
-#305 := [monotonicity #302]: #304
-#308 := [quant-intro #305]: #307
-#278 := (~ #243 #243)
-#276 := (~ #240 #240)
-#277 := [refl]: #276
-#279 := [nnf-pos #277]: #278
-#117 := (<= 0::Int #35)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#142 := (if #129 #47 #139)
-#145 := (if #40 0::Int #142)
-#148 := (= #37 #145)
-#151 := (forall (vars (?v0 Int) (?v1 Int)) #148)
-#244 := (iff #151 #243)
-#241 := (iff #148 #240)
-#238 := (= #145 #237)
-#235 := (= #142 #234)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [monotonicity #233]: #235
-#239 := [monotonicity #236]: #238
-#242 := [monotonicity #239]: #241
-#245 := [quant-intro #242]: #244
+#314 := (if #40 #306 #313)
+#831 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #830) #314)
+#317 := (forall (vars (?v0 Int) (?v1 Int)) #314)
+#834 := (iff #317 #831)
+#832 := (iff #314 #314)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#277 := (if #274 #47 #144)
+#280 := (if #40 0::Int #277)
+#283 := (= #37 #280)
+#286 := (forall (vars (?v0 Int) (?v1 Int)) #283)
+#318 := (iff #286 #317)
+#315 := (iff #283 #314)
+#316 := [rewrite]: #315
+#319 := [quant-intro #316]: #318
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#180 := (if #177 #47 #144)
+#183 := (if #40 0::Int #180)
+#186 := (= #37 #183)
+#189 := (forall (vars (?v0 Int) (?v1 Int)) #186)
+#287 := (iff #189 #286)
+#284 := (iff #186 #283)
+#281 := (= #183 #280)
+#278 := (= #180 #277)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#279 := [monotonicity #276]: #278
+#282 := [monotonicity #279]: #281
+#285 := [monotonicity #282]: #284
+#288 := [quant-intro #285]: #287
+#249 := (~ #189 #189)
+#262 := (~ #186 #186)
+#263 := [refl]: #262
+#250 := [nnf-pos #263]: #249
 #49 := (- #24)
 #48 := (- #35)
 #50 := (div #48 #49)
@@ -15222,185 +14052,193 @@
 #52 := (if #40 0::Int #51)
 #53 := (= #37 #52)
 #54 := (forall (vars (?v0 Int) (?v1 Int)) #53)
-#152 := (iff #54 #151)
-#149 := (iff #53 #148)
-#146 := (= #52 #145)
-#143 := (= #51 #142)
-#140 := (= #50 #139)
-#137 := (= #49 #136)
-#138 := [rewrite]: #137
-#134 := (= #48 #133)
-#135 := [rewrite]: #134
-#141 := [monotonicity #135 #138]: #140
-#130 := (iff #46 #129)
-#127 := (iff #45 #126)
-#112 := (iff #42 #111)
-#113 := [rewrite]: #112
-#119 := (iff #44 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #43 #114)
-#108 := (iff #41 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#144 := [monotonicity #131 #141]: #143
-#147 := [monotonicity #144]: #146
-#150 := [monotonicity #147]: #149
-#153 := [quant-intro #150]: #152
-#71 := [asserted]: #54
-#154 := [mp #71 #153]: #151
-#246 := [mp #154 #245]: #243
-#280 := [mp~ #246 #279]: #243
-#309 := [mp #280 #308]: #306
-#340 := [mp #309 #339]: #337
-#796 := [mp #340 #795]: #791
-#652 := (not #791)
-#647 := (or #652 #687)
-#735 := (* -1::Int 3::Int)
-#732 := (div #735 #735)
-#736 := (* -1::Int #732)
-#725 := (+ #11 #736)
-#726 := (= #725 0::Int)
-#733 := (div 3::Int 3::Int)
-#734 := (* -1::Int #733)
-#449 := (+ #11 #734)
-#731 := (= #449 0::Int)
-#741 := (<= 3::Int 0::Int)
-#452 := (>= 3::Int 0::Int)
-#453 := (or #452 #741)
-#454 := (not #453)
-#738 := (or #741 #741)
-#742 := (not #738)
-#455 := (or #742 #454)
-#727 := (if #455 #731 #726)
-#737 := (= #11 0::Int)
-#462 := (= 3::Int 0::Int)
-#463 := (or #462 #462)
-#722 := (if #463 #737 #727)
-#653 := (or #652 #722)
-#635 := (iff #653 #647)
-#637 := (iff #647 #647)
-#640 := [rewrite]: #637
-#650 := (iff #722 #687)
-#667 := (if false #737 #687)
-#648 := (iff #667 #687)
-#649 := [rewrite]: #648
-#645 := (iff #722 #667)
-#666 := (iff #727 #687)
-#1 := true
-#661 := (if true #687 #687)
-#664 := (iff #661 #687)
-#665 := [rewrite]: #664
-#662 := (iff #727 #661)
-#659 := (iff #726 #687)
-#686 := (+ -1::Int #11)
-#697 := (= #686 0::Int)
-#688 := (iff #697 #687)
+#192 := (iff #54 #189)
+#147 := (if #46 #47 #144)
+#150 := (if #40 0::Int #147)
+#153 := (= #37 #150)
+#156 := (forall (vars (?v0 Int) (?v1 Int)) #153)
+#190 := (iff #156 #189)
+#187 := (iff #153 #186)
+#184 := (= #150 #183)
+#181 := (= #147 #180)
+#178 := (iff #46 #177)
+#175 := (iff #45 #174)
+#165 := (iff #42 #164)
+#166 := [rewrite]: #165
+#172 := (iff #44 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #43 #167)
+#161 := (iff #41 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#157 := (iff #54 #156)
+#154 := (iff #53 #153)
+#151 := (= #52 #150)
+#148 := (= #51 #147)
+#145 := (= #50 #144)
+#142 := (= #49 #141)
+#143 := [rewrite]: #142
+#139 := (= #48 #138)
+#140 := [rewrite]: #139
+#146 := [monotonicity #140 #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [quant-intro #155]: #157
+#193 := [trans #158 #191]: #192
+#136 := [asserted]: #54
+#194 := [mp #136 #193]: #189
+#264 := [mp~ #194 #250]: #189
+#289 := [mp #264 #288]: #286
+#320 := [mp #289 #319]: #317
+#836 := [mp #320 #835]: #831
+#692 := (not #831)
+#687 := (or #692 #727)
+#775 := (* -1::Int 3::Int)
+#772 := (div #775 #775)
+#776 := (* -1::Int #772)
+#765 := (+ #11 #776)
+#766 := (= #765 0::Int)
+#773 := (div 3::Int 3::Int)
+#774 := (* -1::Int #773)
+#489 := (+ #11 #774)
+#771 := (= #489 0::Int)
+#781 := (<= 3::Int 0::Int)
+#492 := (>= 3::Int 0::Int)
+#493 := (or #492 #781)
+#494 := (not #493)
+#778 := (or #781 #781)
+#782 := (not #778)
+#495 := (or #782 #494)
+#767 := (if #495 #771 #766)
+#777 := (= #11 0::Int)
+#502 := (= 3::Int 0::Int)
+#503 := (or #502 #502)
+#762 := (if #503 #777 #767)
+#693 := (or #692 #762)
+#675 := (iff #693 #687)
+#677 := (iff #687 #687)
+#680 := [rewrite]: #677
+#690 := (iff #762 #727)
+#707 := (if false #777 #727)
+#688 := (iff #707 #727)
 #689 := [rewrite]: #688
-#657 := (iff #726 #697)
-#654 := (= #725 #686)
-#705 := (+ #11 -1::Int)
-#683 := (= #705 #686)
-#685 := [rewrite]: #683
-#670 := (= #725 #705)
-#672 := (= #736 -1::Int)
-#607 := (* -1::Int 1::Int)
-#610 := (= #607 -1::Int)
-#611 := [rewrite]: #610
-#669 := (= #736 #607)
-#682 := (= #732 1::Int)
-#691 := -3::Int
-#678 := (div -3::Int -3::Int)
-#681 := (= #678 1::Int)
-#677 := [rewrite]: #681
-#679 := (= #732 #678)
-#675 := (= #735 -3::Int)
-#676 := [rewrite]: #675
-#680 := [monotonicity #676 #676]: #679
-#668 := [trans #680 #677]: #682
-#671 := [monotonicity #668]: #669
-#673 := [trans #671 #611]: #672
-#674 := [monotonicity #673]: #670
-#655 := [trans #674 #685]: #654
-#658 := [monotonicity #655]: #657
-#660 := [trans #658 #689]: #659
-#690 := (iff #731 #687)
-#693 := (iff #731 #697)
-#695 := (= #449 #686)
-#692 := (= #449 #705)
-#704 := (= #734 -1::Int)
-#608 := (= #734 #607)
-#606 := (= #733 1::Int)
-#599 := [rewrite]: #606
-#609 := [monotonicity #599]: #608
-#701 := [trans #609 #611]: #704
-#694 := [monotonicity #701]: #692
-#696 := [trans #694 #685]: #695
-#698 := [monotonicity #696]: #693
-#684 := [trans #698 #689]: #690
-#603 := (iff #455 true)
-#710 := (or true false)
-#593 := (iff #710 true)
-#594 := [rewrite]: #593
-#703 := (iff #455 #710)
-#699 := (iff #454 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#702 := (iff #454 #420)
-#595 := (iff #453 true)
-#708 := (iff #453 #710)
-#716 := (iff #741 false)
-#717 := [rewrite]: #716
-#707 := (iff #452 true)
-#709 := [rewrite]: #707
-#711 := [monotonicity #709 #717]: #708
-#554 := [trans #711 #594]: #595
-#604 := [monotonicity #554]: #702
-#700 := [trans #604 #408]: #699
-#553 := (iff #742 true)
-#720 := (not false)
-#550 := (iff #720 true)
-#552 := [rewrite]: #550
-#714 := (iff #742 #720)
-#713 := (iff #738 false)
-#729 := (or false false)
-#571 := (iff #729 false)
-#572 := [rewrite]: #571
-#718 := (iff #738 #729)
-#712 := [monotonicity #717 #717]: #718
-#719 := [trans #712 #572]: #713
-#721 := [monotonicity #719]: #714
-#706 := [trans #721 #552]: #553
-#588 := [monotonicity #706 #700]: #703
-#605 := [trans #588 #594]: #603
-#663 := [monotonicity #605 #684 #660]: #662
-#656 := [trans #663 #665]: #666
-#573 := (iff #463 false)
-#724 := (iff #463 #729)
-#723 := (iff #462 false)
-#728 := [rewrite]: #723
-#730 := [monotonicity #728 #728]: #724
-#715 := [trans #730 #572]: #573
-#646 := [monotonicity #715 #656]: #645
-#651 := [trans #646 #649]: #650
-#636 := [monotonicity #651]: #635
-#641 := [trans #636 #640]: #635
-#639 := [quant-inst #9 #9]: #653
-#642 := [mp #639 #641]: #647
-#644 := [unit-resolution #642 #796]: #687
-#617 := [monotonicity #644]: #15
+#685 := (iff #762 #707)
+#706 := (iff #767 #727)
+#1 := true
+#701 := (if true #727 #727)
+#704 := (iff #701 #727)
+#705 := [rewrite]: #704
+#702 := (iff #767 #701)
+#699 := (iff #766 #727)
+#726 := (+ -1::Int #11)
+#737 := (= #726 0::Int)
+#728 := (iff #737 #727)
+#729 := [rewrite]: #728
+#697 := (iff #766 #737)
+#694 := (= #765 #726)
+#745 := (+ #11 -1::Int)
+#723 := (= #745 #726)
+#725 := [rewrite]: #723
+#710 := (= #765 #745)
+#712 := (= #776 -1::Int)
+#647 := (* -1::Int 1::Int)
+#650 := (= #647 -1::Int)
+#651 := [rewrite]: #650
+#709 := (= #776 #647)
+#722 := (= #772 1::Int)
+#731 := -3::Int
+#718 := (div -3::Int -3::Int)
+#721 := (= #718 1::Int)
+#717 := [rewrite]: #721
+#719 := (= #772 #718)
+#715 := (= #775 -3::Int)
+#716 := [rewrite]: #715
+#720 := [monotonicity #716 #716]: #719
+#708 := [trans #720 #717]: #722
+#711 := [monotonicity #708]: #709
+#713 := [trans #711 #651]: #712
+#714 := [monotonicity #713]: #710
+#695 := [trans #714 #725]: #694
+#698 := [monotonicity #695]: #697
+#700 := [trans #698 #729]: #699
+#730 := (iff #771 #727)
+#733 := (iff #771 #737)
+#735 := (= #489 #726)
+#732 := (= #489 #745)
+#744 := (= #774 -1::Int)
+#648 := (= #774 #647)
+#646 := (= #773 1::Int)
+#639 := [rewrite]: #646
+#649 := [monotonicity #639]: #648
+#741 := [trans #649 #651]: #744
+#734 := [monotonicity #741]: #732
+#736 := [trans #734 #725]: #735
+#738 := [monotonicity #736]: #733
+#724 := [trans #738 #729]: #730
+#643 := (iff #495 true)
+#750 := (or true false)
+#633 := (iff #750 true)
+#634 := [rewrite]: #633
+#743 := (iff #495 #750)
+#739 := (iff #494 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#742 := (iff #494 #460)
+#635 := (iff #493 true)
+#748 := (iff #493 #750)
+#756 := (iff #781 false)
+#757 := [rewrite]: #756
+#747 := (iff #492 true)
+#749 := [rewrite]: #747
+#751 := [monotonicity #749 #757]: #748
+#594 := [trans #751 #634]: #635
+#644 := [monotonicity #594]: #742
+#740 := [trans #644 #448]: #739
+#593 := (iff #782 true)
+#760 := (not false)
+#590 := (iff #760 true)
+#592 := [rewrite]: #590
+#754 := (iff #782 #760)
+#753 := (iff #778 false)
+#769 := (or false false)
+#611 := (iff #769 false)
+#612 := [rewrite]: #611
+#758 := (iff #778 #769)
+#752 := [monotonicity #757 #757]: #758
+#759 := [trans #752 #612]: #753
+#761 := [monotonicity #759]: #754
+#746 := [trans #761 #592]: #593
+#628 := [monotonicity #746 #740]: #743
+#645 := [trans #628 #634]: #643
+#703 := [monotonicity #645 #724 #700]: #702
+#696 := [trans #703 #705]: #706
+#613 := (iff #503 false)
+#764 := (iff #503 #769)
+#763 := (iff #502 false)
+#768 := [rewrite]: #763
+#770 := [monotonicity #768 #768]: #764
+#755 := [trans #770 #612]: #613
+#686 := [monotonicity #755 #696]: #685
+#691 := [trans #686 #689]: #690
+#676 := [monotonicity #691]: #675
+#681 := [trans #676 #680]: #675
+#679 := [quant-inst #9 #9]: #693
+#682 := [mp #679 #681]: #687
+#684 := [unit-resolution #682 #836]: #727
+#657 := [monotonicity #684]: #15
 #16 := (not #15)
-#67 := [asserted]: #16
-[unit-resolution #67 #617]: false
-c1d414123c29937a6ed9d7b6e1f766000d0e13e1 428 0
-unsat
+#85 := [asserted]: #16
+[unit-resolution #85 #657]: false
+unsat
+d789ae3569fe642ed1b603027ce5b8f4594bdee7 409 0
 #2 := false
 #22 := 0::Int
 #12 := 3::Int
@@ -15410,160 +14248,137 @@
 decl f7 :: S4
 #8 := f7
 #10 := (f6 f7 f8)
-#716 := (mod #10 3::Int)
-#131 := -1::Int
-#690 := (* -1::Int #716)
-#442 := (div #10 3::Int)
-#750 := -3::Int
-#689 := (* -3::Int #442)
-#686 := (+ #10 #689 #690)
-#688 := (= #686 0::Int)
-#1 := true
-#198 := [true-axiom]: true
-#644 := (or false #688)
-#645 := [th-lemma arith]: #644
-#646 := [unit-resolution #645 #198]: #688
-#680 := (>= #686 0::Int)
-#593 := (not #680)
-#681 := (>= #716 0::Int)
-#625 := (or false #681)
-#631 := [th-lemma arith]: #625
-#599 := [unit-resolution #631 #198]: #681
+#756 := (mod #10 3::Int)
+#87 := -1::Int
+#730 := (* -1::Int #756)
+#482 := (div #10 3::Int)
+#790 := -3::Int
+#729 := (* -3::Int #482)
+#726 := (+ #729 #730)
+#731 := (+ #10 #726)
+#728 := (= #731 0::Int)
+#1 := true
+#82 := [true-axiom]: true
+#685 := (or false #728)
+#686 := [th-lemma arith]: #685
+#689 := [unit-resolution #686 #82]: #728
+#721 := (>= #731 0::Int)
+#634 := (not #721)
+#722 := (>= #756 0::Int)
+#671 := (or false #722)
+#639 := [th-lemma arith]: #671
+#646 := [unit-resolution #639 #82]: #722
 decl f3 :: (-> S2 Int Int)
 decl f4 :: (-> S3 Int S2)
 decl f5 :: S3
 #7 := f5
 #11 := (f4 f5 #10)
 #13 := (f3 #11 3::Int)
-#203 := (* -1::Int #13)
-#204 := (+ #10 #203)
-#202 := (>= #204 0::Int)
-#206 := (not #202)
+#90 := (* -1::Int #13)
+#91 := (+ #10 #90)
+#89 := (>= #91 0::Int)
+#93 := (not #89)
 #14 := (<= #13 #10)
 #15 := (not #14)
-#207 := (iff #15 #206)
-#201 := (iff #14 #202)
-#205 := [rewrite]: #201
-#208 := [monotonicity #205]: #207
-#66 := [asserted]: #15
-#209 := [mp #66 #208]: #206
-#774 := (* -1::Int #442)
-#775 := (+ #13 #774)
-#718 := (<= #775 0::Int)
-#776 := (= #775 0::Int)
-#777 := (* -1::Int #10)
-#461 := (div #777 -3::Int)
-#464 := (* -1::Int #461)
-#458 := (+ #13 #464)
-#741 := (= #458 0::Int)
-#430 := (>= #10 0::Int)
-#371 := (not #430)
-#457 := (<= #10 0::Int)
-#405 := (not #457)
-#471 := (or #405 #371)
-#735 := (if #471 #776 #741)
-#451 := (= #10 0::Int)
-#608 := (not #451)
-#722 := (<= #13 0::Int)
-#453 := (= #13 0::Int)
-#693 := [hypothesis]: #451
-#700 := (or #608 #453)
-#732 := (if #451 #453 #735)
+#94 := (iff #15 #93)
+#88 := (iff #14 #89)
+#92 := [rewrite]: #88
+#95 := [monotonicity #92]: #94
+#84 := [asserted]: #15
+#96 := [mp #84 #95]: #93
+#814 := (* -1::Int #482)
+#815 := (+ #13 #814)
+#758 := (<= #815 0::Int)
+#816 := (= #815 0::Int)
+#817 := (* -1::Int #10)
+#501 := (div #817 -3::Int)
+#504 := (* -1::Int #501)
+#498 := (+ #13 #504)
+#781 := (= #498 0::Int)
+#470 := (>= #10 0::Int)
+#412 := (not #470)
+#497 := (<= #10 0::Int)
+#445 := (not #497)
+#511 := (or #445 #412)
+#775 := (if #511 #816 #781)
+#491 := (= #10 0::Int)
+#648 := (not #491)
+#762 := (<= #13 0::Int)
+#493 := (= #13 0::Int)
+#701 := [hypothesis]: #491
+#696 := (or #648 #493)
+#772 := (if #491 #493 #775)
 #23 := (:var 0 Int)
 #34 := (:var 1 Int)
 #35 := (f4 f5 #34)
 #36 := (f3 #35 #23)
-#799 := (pattern #36)
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #34)
-#138 := (div #132 #135)
-#338 := (* -1::Int #138)
-#339 := (+ #36 #338)
-#340 := (= #339 0::Int)
+#839 := (pattern #36)
+#149 := (* -1::Int #23)
+#146 := (* -1::Int #34)
+#152 := (div #146 #149)
+#318 := (* -1::Int #152)
+#319 := (+ #36 #318)
+#320 := (= #319 0::Int)
 #46 := (div #34 #23)
-#335 := (* -1::Int #46)
-#336 := (+ #36 #335)
-#337 := (= #336 0::Int)
-#109 := (<= #23 0::Int)
-#230 := (>= #34 0::Int)
-#298 := (or #230 #109)
-#299 := (not #298)
-#105 := (<= #34 0::Int)
-#294 := (or #105 #109)
-#295 := (not #294)
-#302 := (or #295 #299)
-#341 := (if #302 #337 #340)
-#334 := (= #36 0::Int)
+#315 := (* -1::Int #46)
+#316 := (+ #36 #315)
+#317 := (= #316 0::Int)
+#171 := (<= #23 0::Int)
+#178 := (>= #34 0::Int)
+#278 := (or #178 #171)
+#279 := (not #278)
+#167 := (<= #34 0::Int)
+#276 := (or #167 #171)
+#277 := (not #276)
+#282 := (or #277 #279)
+#321 := (if #282 #317 #320)
+#314 := (= #36 0::Int)
 #38 := (= #23 0::Int)
 #37 := (= #34 0::Int)
 #39 := (or #37 #38)
-#342 := (if #39 #334 #341)
-#800 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #799) #342)
-#345 := (forall (vars (?v0 Int) (?v1 Int)) #342)
-#803 := (iff #345 #800)
-#801 := (iff #342 #342)
-#802 := [refl]: #801
-#804 := [quant-intro #802]: #803
-#305 := (if #302 #46 #138)
-#308 := (if #39 0::Int #305)
-#311 := (= #36 #308)
-#314 := (forall (vars (?v0 Int) (?v1 Int)) #311)
-#346 := (iff #314 #345)
-#343 := (iff #311 #342)
-#344 := [rewrite]: #343
-#347 := [quant-intro #344]: #346
-#110 := (not #109)
-#233 := (not #230)
-#236 := (and #233 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#239 := (or #113 #236)
-#242 := (if #239 #46 #138)
-#245 := (if #39 0::Int #242)
-#248 := (= #36 #245)
-#251 := (forall (vars (?v0 Int) (?v1 Int)) #248)
-#315 := (iff #251 #314)
-#312 := (iff #248 #311)
-#309 := (= #245 #308)
-#306 := (= #242 #305)
-#303 := (iff #239 #302)
-#300 := (iff #236 #299)
-#301 := [rewrite]: #300
-#296 := (iff #113 #295)
-#297 := [rewrite]: #296
-#304 := [monotonicity #297 #301]: #303
-#307 := [monotonicity #304]: #306
-#310 := [monotonicity #307]: #309
-#313 := [monotonicity #310]: #312
-#316 := [quant-intro #313]: #315
-#286 := (~ #251 #251)
-#284 := (~ #248 #248)
-#285 := [refl]: #284
-#287 := [nnf-pos #285]: #286
-#116 := (<= 0::Int #34)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#141 := (if #128 #46 #138)
-#144 := (if #39 0::Int #141)
-#147 := (= #36 #144)
-#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
-#252 := (iff #150 #251)
-#249 := (iff #147 #248)
-#246 := (= #144 #245)
-#243 := (= #141 #242)
-#240 := (iff #128 #239)
-#237 := (iff #125 #236)
-#234 := (iff #117 #233)
-#231 := (iff #116 #230)
-#232 := [rewrite]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [quant-intro #250]: #252
+#322 := (if #39 #314 #321)
+#840 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #839) #322)
+#325 := (forall (vars (?v0 Int) (?v1 Int)) #322)
+#843 := (iff #325 #840)
+#841 := (iff #322 #322)
+#842 := [refl]: #841
+#844 := [quant-intro #842]: #843
+#285 := (if #282 #46 #152)
+#288 := (if #39 0::Int #285)
+#291 := (= #36 #288)
+#294 := (forall (vars (?v0 Int) (?v1 Int)) #291)
+#326 := (iff #294 #325)
+#323 := (iff #291 #322)
+#324 := [rewrite]: #323
+#327 := [quant-intro #324]: #326
+#172 := (not #171)
+#179 := (not #178)
+#182 := (and #179 #172)
+#168 := (not #167)
+#175 := (and #168 #172)
+#185 := (or #175 #182)
+#188 := (if #185 #46 #152)
+#191 := (if #39 0::Int #188)
+#194 := (= #36 #191)
+#197 := (forall (vars (?v0 Int) (?v1 Int)) #194)
+#295 := (iff #197 #294)
+#292 := (iff #194 #291)
+#289 := (= #191 #288)
+#286 := (= #188 #285)
+#283 := (iff #185 #282)
+#280 := (iff #182 #279)
+#281 := [rewrite]: #280
+#261 := (iff #175 #277)
+#262 := [rewrite]: #261
+#284 := [monotonicity #262 #281]: #283
+#287 := [monotonicity #284]: #286
+#290 := [monotonicity #287]: #289
+#293 := [monotonicity #290]: #292
+#296 := [quant-intro #293]: #295
+#257 := (~ #197 #197)
+#270 := (~ #194 #194)
+#271 := [refl]: #270
+#258 := [nnf-pos #271]: #257
 #48 := (- #23)
 #47 := (- #34)
 #49 := (div #47 #48)
@@ -15577,259 +14392,263 @@
 #51 := (if #39 0::Int #50)
 #52 := (= #36 #51)
 #53 := (forall (vars (?v0 Int) (?v1 Int)) #52)
-#151 := (iff #53 #150)
-#148 := (iff #52 #147)
-#145 := (= #51 #144)
-#142 := (= #50 #141)
-#139 := (= #49 #138)
-#136 := (= #48 #135)
-#137 := [rewrite]: #136
-#133 := (= #47 #132)
-#134 := [rewrite]: #133
-#140 := [monotonicity #134 #137]: #139
-#129 := (iff #45 #128)
-#126 := (iff #44 #125)
-#111 := (iff #41 #110)
-#112 := [rewrite]: #111
-#118 := (iff #43 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #42 #113)
-#107 := (iff #40 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#143 := [monotonicity #130 #140]: #142
-#146 := [monotonicity #143]: #145
-#149 := [monotonicity #146]: #148
-#152 := [quant-intro #149]: #151
-#70 := [asserted]: #53
-#153 := [mp #70 #152]: #150
-#254 := [mp #153 #253]: #251
-#288 := [mp~ #254 #287]: #251
-#317 := [mp #288 #316]: #314
-#348 := [mp #317 #347]: #345
-#805 := [mp #348 #804]: #800
-#733 := (not #800)
-#739 := (or #733 #732)
-#772 := (* -1::Int 3::Int)
-#778 := (div #777 #772)
-#768 := (* -1::Int #778)
-#428 := (+ #13 #768)
-#433 := (= #428 0::Int)
-#436 := (<= 3::Int 0::Int)
-#560 := (or #430 #436)
-#767 := (not #560)
-#771 := (or #457 #436)
-#773 := (not #771)
-#441 := (or #773 #767)
-#769 := (if #441 #776 #433)
-#452 := (= 3::Int 0::Int)
-#456 := (or #451 #452)
-#429 := (if #456 #453 #769)
-#580 := (or #733 #429)
-#582 := (iff #580 #739)
-#725 := (iff #739 #739)
-#726 := [rewrite]: #725
-#737 := (iff #429 #732)
-#736 := (iff #769 #735)
-#745 := (iff #433 #741)
-#740 := (= #428 #458)
-#742 := (= #768 #464)
-#462 := (= #778 #461)
-#747 := (= #772 -3::Int)
-#751 := [rewrite]: #747
-#463 := [monotonicity #751]: #462
-#743 := [monotonicity #463]: #742
-#744 := [monotonicity #743]: #740
-#734 := [monotonicity #744]: #745
-#472 := (iff #441 #471)
-#748 := (iff #767 #371)
-#477 := (iff #560 #430)
-#766 := (or #430 false)
-#475 := (iff #766 #430)
-#476 := [rewrite]: #475
-#752 := (iff #560 #766)
-#758 := (iff #436 false)
-#759 := [rewrite]: #758
-#753 := [monotonicity #759]: #752
-#478 := [trans #753 #476]: #477
-#749 := [monotonicity #478]: #748
-#765 := (iff #773 #405)
-#764 := (iff #771 #457)
-#760 := (or #457 false)
-#399 := (iff #760 #457)
-#762 := [rewrite]: #399
-#755 := (iff #771 #760)
-#761 := [monotonicity #759]: #755
-#404 := [trans #761 #762]: #764
-#763 := [monotonicity #404]: #765
-#746 := [monotonicity #763 #749]: #472
-#731 := [monotonicity #746 #734]: #736
-#756 := (iff #456 #451)
-#754 := (or #451 false)
-#419 := (iff #754 #451)
-#420 := [rewrite]: #419
-#417 := (iff #456 #754)
-#770 := (iff #452 false)
-#413 := [rewrite]: #770
-#418 := [monotonicity #413]: #417
-#757 := [trans #418 #420]: #756
-#738 := [monotonicity #757 #731]: #737
-#724 := [monotonicity #738]: #582
-#727 := [trans #724 #726]: #582
-#581 := [quant-inst #10 #12]: #580
-#721 := [mp #581 #727]: #739
-#653 := [unit-resolution #721 #805]: #732
-#615 := (not #732)
-#616 := (or #615 #608 #453)
-#617 := [def-axiom]: #616
-#684 := [unit-resolution #617 #653]: #700
-#685 := [unit-resolution #684 #693]: #453
-#620 := (not #453)
-#691 := (or #620 #722)
-#677 := [th-lemma arith triangle-eq]: #691
-#682 := [unit-resolution #677 #685]: #722
-#679 := (or #608 #430)
-#660 := [th-lemma arith triangle-eq]: #679
-#661 := [unit-resolution #660 #693]: #430
-#656 := [th-lemma arith farkas -1 1 1 #661 #209 #682]: false
-#662 := [lemma #656]: #608
-#626 := (or #451 #735)
-#618 := (or #615 #451 #735)
-#619 := [def-axiom]: #618
-#627 := [unit-resolution #619 #653]: #626
-#584 := [unit-resolution #627 #662]: #735
+#200 := (iff #53 #197)
+#155 := (if #45 #46 #152)
+#158 := (if #39 0::Int #155)
+#161 := (= #36 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#198 := (iff #164 #197)
+#195 := (iff #161 #194)
+#192 := (= #158 #191)
+#189 := (= #155 #188)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#173 := (iff #41 #172)
+#174 := [rewrite]: #173
+#180 := (iff #43 #179)
+#181 := [rewrite]: #180
+#184 := [monotonicity #181 #174]: #183
+#176 := (iff #42 #175)
+#169 := (iff #40 #168)
+#170 := [rewrite]: #169
+#177 := [monotonicity #170 #174]: #176
+#187 := [monotonicity #177 #184]: #186
+#190 := [monotonicity #187]: #189
+#193 := [monotonicity #190]: #192
+#196 := [monotonicity #193]: #195
+#199 := [quant-intro #196]: #198
+#165 := (iff #53 #164)
+#162 := (iff #52 #161)
+#159 := (= #51 #158)
+#156 := (= #50 #155)
+#153 := (= #49 #152)
+#150 := (= #48 #149)
+#151 := [rewrite]: #150
+#147 := (= #47 #146)
+#148 := [rewrite]: #147
+#154 := [monotonicity #148 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#201 := [trans #166 #199]: #200
+#145 := [asserted]: #53
+#202 := [mp #145 #201]: #197
+#272 := [mp~ #202 #258]: #197
+#297 := [mp #272 #296]: #294
+#328 := [mp #297 #327]: #325
+#845 := [mp #328 #844]: #840
+#773 := (not #840)
+#779 := (or #773 #772)
+#812 := (* -1::Int 3::Int)
+#818 := (div #817 #812)
+#808 := (* -1::Int #818)
+#468 := (+ #13 #808)
+#473 := (= #468 0::Int)
+#476 := (<= 3::Int 0::Int)
+#600 := (or #470 #476)
+#807 := (not #600)
+#811 := (or #497 #476)
+#813 := (not #811)
+#481 := (or #813 #807)
+#809 := (if #481 #816 #473)
+#492 := (= 3::Int 0::Int)
+#496 := (or #491 #492)
+#469 := (if #496 #493 #809)
+#620 := (or #773 #469)
+#622 := (iff #620 #779)
+#765 := (iff #779 #779)
+#766 := [rewrite]: #765
+#777 := (iff #469 #772)
+#776 := (iff #809 #775)
+#785 := (iff #473 #781)
+#780 := (= #468 #498)
+#782 := (= #808 #504)
+#502 := (= #818 #501)
+#787 := (= #812 -3::Int)
+#791 := [rewrite]: #787
+#503 := [monotonicity #791]: #502
+#783 := [monotonicity #503]: #782
+#784 := [monotonicity #783]: #780
+#774 := [monotonicity #784]: #785
+#512 := (iff #481 #511)
+#788 := (iff #807 #412)
+#517 := (iff #600 #470)
+#806 := (or #470 false)
+#515 := (iff #806 #470)
+#516 := [rewrite]: #515
+#792 := (iff #600 #806)
+#798 := (iff #476 false)
+#799 := [rewrite]: #798
+#793 := [monotonicity #799]: #792
+#518 := [trans #793 #516]: #517
+#789 := [monotonicity #518]: #788
+#805 := (iff #813 #445)
+#804 := (iff #811 #497)
+#800 := (or #497 false)
+#439 := (iff #800 #497)
+#802 := [rewrite]: #439
+#795 := (iff #811 #800)
+#801 := [monotonicity #799]: #795
+#444 := [trans #801 #802]: #804
+#803 := [monotonicity #444]: #805
+#786 := [monotonicity #803 #789]: #512
+#771 := [monotonicity #786 #774]: #776
+#796 := (iff #496 #491)
+#794 := (or #491 false)
+#459 := (iff #794 #491)
+#460 := [rewrite]: #459
+#457 := (iff #496 #794)
+#810 := (iff #492 false)
+#453 := [rewrite]: #810
+#458 := [monotonicity #453]: #457
+#797 := [trans #458 #460]: #796
+#778 := [monotonicity #797 #771]: #777
+#764 := [monotonicity #778]: #622
+#767 := [trans #764 #766]: #622
+#621 := [quant-inst #10 #12]: #620
+#761 := [mp #621 #767]: #779
+#666 := [unit-resolution #761 #845]: #772
+#655 := (not #772)
+#656 := (or #655 #648 #493)
+#657 := [def-axiom]: #656
+#702 := [unit-resolution #657 #666]: #696
+#688 := [unit-resolution #702 #701]: #493
+#660 := (not #493)
+#684 := (or #660 #762)
+#720 := [th-lemma arith triangle-eq]: #684
+#640 := [unit-resolution #720 #688]: #762
+#647 := (or #648 #470)
+#649 := [th-lemma arith triangle-eq]: #647
+#650 := [unit-resolution #649 #701]: #470
+#651 := [th-lemma arith farkas -1 1 1 #650 #96 #640]: false
+#661 := [lemma #651]: #648
+#667 := (or #491 #775)
+#658 := (or #655 #491 #775)
+#659 := [def-axiom]: #658
+#668 := [unit-resolution #659 #666]: #667
+#625 := [unit-resolution #668 #661]: #775
 decl f9 :: (-> S6 Int S5)
 decl f10 :: S6
 #16 := f10
-#365 := (f9 f10 #10)
-#703 := (f6 f7 #365)
-#695 := (= #703 0::Int)
-#623 := (not #695)
-#569 := (iff #608 #623)
-#638 := (iff #451 #695)
-#641 := (iff #695 #451)
-#637 := (= #703 #10)
-#450 := (= #365 f8)
+#406 := (f9 f10 #10)
+#743 := (f6 f7 #406)
+#735 := (= #743 0::Int)
+#609 := (not #735)
+#664 := (iff #648 #609)
+#683 := (iff #491 #735)
+#682 := (iff #735 #491)
+#680 := (= #743 #10)
+#490 := (= #406 f8)
 #17 := (:var 0 S5)
 #18 := (f6 f7 #17)
-#779 := (pattern #18)
+#819 := (pattern #18)
 #19 := (f9 f10 #18)
 #20 := (= #19 #17)
-#780 := (forall (vars (?v0 S5)) (:pat #779) #20)
+#820 := (forall (vars (?v0 S5)) (:pat #819) #20)
 #21 := (forall (vars (?v0 S5)) #20)
-#783 := (iff #21 #780)
-#781 := (iff #20 #20)
-#782 := [refl]: #781
-#784 := [quant-intro #782]: #783
-#279 := (~ #21 #21)
-#273 := (~ #20 #20)
-#274 := [refl]: #273
-#280 := [nnf-pos #274]: #279
-#67 := [asserted]: #21
-#271 := [mp~ #67 #280]: #21
-#785 := [mp #271 #784]: #780
-#443 := (not #780)
-#454 := (or #443 #450)
-#455 := [quant-inst #9]: #454
-#636 := [unit-resolution #455 #785]: #450
-#640 := [monotonicity #636]: #637
-#642 := [monotonicity #640]: #641
-#643 := [symm #642]: #638
-#624 := [monotonicity #643]: #569
-#585 := [mp #662 #624]: #623
-#692 := (or #430 #695)
+#823 := (iff #21 #820)
+#821 := (iff #20 #20)
+#822 := [refl]: #821
+#824 := [quant-intro #822]: #823
+#265 := (~ #21 #21)
+#263 := (~ #20 #20)
+#264 := [refl]: #263
+#266 := [nnf-pos #264]: #265
+#85 := [asserted]: #21
+#251 := [mp~ #85 #266]: #21
+#825 := [mp #251 #824]: #820
+#483 := (not #820)
+#494 := (or #483 #490)
+#495 := [quant-inst #9]: #494
+#677 := [unit-resolution #495 #825]: #490
+#681 := [monotonicity #677]: #680
+#678 := [monotonicity #681]: #682
+#663 := [symm #678]: #683
+#645 := [monotonicity #663]: #664
+#626 := [mp #661 #645]: #609
+#732 := (or #470 #735)
 #25 := (f9 f10 #23)
-#786 := (pattern #25)
+#826 := (pattern #25)
 #26 := (f6 f7 #25)
 #31 := (= #26 0::Int)
-#210 := (>= #23 0::Int)
-#223 := (or #210 #31)
-#793 := (forall (vars (?v0 Int)) (:pat #786) #223)
-#226 := (forall (vars (?v0 Int)) #223)
-#796 := (iff #226 #793)
-#794 := (iff #223 #223)
-#795 := [refl]: #794
-#797 := [quant-intro #795]: #796
-#277 := (~ #226 #226)
-#199 := (~ #223 #223)
-#200 := [refl]: #199
-#278 := [nnf-pos #200]: #277
-#24 := (<= 0::Int #23)
-#96 := (or #24 #31)
-#101 := (forall (vars (?v0 Int)) #96)
-#227 := (iff #101 #226)
-#224 := (iff #96 #223)
-#211 := (iff #24 #210)
-#212 := [rewrite]: #211
-#225 := [monotonicity #212]: #224
-#228 := [quant-intro #225]: #227
+#105 := (>= #23 0::Int)
+#136 := (or #105 #31)
+#833 := (forall (vars (?v0 Int)) (:pat #826) #136)
+#139 := (forall (vars (?v0 Int)) #136)
+#836 := (iff #139 #833)
+#834 := (iff #136 #136)
+#835 := [refl]: #834
+#837 := [quant-intro #835]: #836
+#255 := (~ #139 #139)
+#267 := (~ #136 #136)
+#268 := [refl]: #267
+#256 := [nnf-pos #268]: #255
 #30 := (< #23 0::Int)
 #32 := (implies #30 #31)
 #33 := (forall (vars (?v0 Int)) #32)
-#102 := (iff #33 #101)
-#99 := (iff #32 #96)
-#79 := (not #24)
-#93 := (implies #79 #31)
-#97 := (iff #93 #96)
-#98 := [rewrite]: #97
-#94 := (iff #32 #93)
-#88 := (iff #30 #79)
-#90 := (iff #79 #79)
-#75 := (iff #24 #24)
-#76 := [rewrite]: #75
-#91 := [monotonicity #76]: #90
-#89 := [rewrite]: #88
-#92 := [trans #89 #91]: #88
-#95 := [monotonicity #92]: #94
-#100 := [trans #95 #98]: #99
-#103 := [quant-intro #100]: #102
-#69 := [asserted]: #33
-#104 := [mp #69 #103]: #101
-#229 := [mp #104 #228]: #226
-#283 := [mp~ #229 #278]: #226
-#798 := [mp #283 #797]: #793
-#705 := (not #793)
-#706 := (or #705 #430 #695)
-#702 := (or #705 #692)
-#696 := (iff #702 #706)
-#697 := [rewrite]: #696
-#707 := [quant-inst #10]: #702
-#698 := [mp #707 #697]: #706
-#629 := [unit-resolution #698 #798]: #692
-#586 := [unit-resolution #629 #585]: #430
-#587 := (or #451 #405 #371)
-#588 := [th-lemma arith triangle-eq]: #587
-#589 := [unit-resolution #588 #586 #662]: #405
-#729 := (or #471 #457)
-#723 := [def-axiom]: #729
-#590 := [unit-resolution #723 #589]: #471
-#561 := (not #471)
-#603 := (not #735)
-#604 := (or #603 #561 #776)
-#563 := [def-axiom]: #604
-#591 := [unit-resolution #563 #590 #584]: #776
-#708 := (not #776)
-#634 := (or #708 #718)
-#639 := [th-lemma arith triangle-eq]: #634
-#592 := [unit-resolution #639 #591]: #718
-#579 := (not #718)
-#594 := (not #681)
-#595 := (or #593 #371 #594 #579 #202)
-#556 := [th-lemma arith assign-bounds 2 1 3 3]: #595
-#557 := [unit-resolution #556 #586 #592 #209 #599]: #593
-#649 := (not #688)
-#650 := (or #649 #680)
-#651 := [th-lemma arith triangle-eq]: #650
-[unit-resolution #651 #557 #646]: false
-397f4299b276d431a769b4b4686f5d15236336cb 577 0
-unsat
+#142 := (iff #33 #139)
+#120 := (not #30)
+#121 := (or #120 #31)
+#124 := (forall (vars (?v0 Int)) #121)
+#140 := (iff #124 #139)
+#137 := (iff #121 #136)
+#134 := (iff #120 #105)
+#107 := (not #105)
+#129 := (not #107)
+#132 := (iff #129 #105)
+#133 := [rewrite]: #132
+#130 := (iff #120 #129)
+#127 := (iff #30 #107)
+#128 := [rewrite]: #127
+#131 := [monotonicity #128]: #130
+#135 := [trans #131 #133]: #134
+#138 := [monotonicity #135]: #137
+#141 := [quant-intro #138]: #140
+#125 := (iff #33 #124)
+#122 := (iff #32 #121)
+#123 := [rewrite]: #122
+#126 := [quant-intro #123]: #125
+#143 := [trans #126 #141]: #142
+#119 := [asserted]: #33
+#144 := [mp #119 #143]: #139
+#269 := [mp~ #144 #256]: #139
+#838 := [mp #269 #837]: #833
+#745 := (not #833)
+#746 := (or #745 #470 #735)
+#742 := (or #745 #732)
+#736 := (iff #742 #746)
+#737 := [rewrite]: #736
+#747 := [quant-inst #10]: #742
+#738 := [mp #747 #737]: #746
+#670 := [unit-resolution #738 #838]: #732
+#627 := [unit-resolution #670 #626]: #470
+#628 := (or #491 #445 #412)
+#629 := [th-lemma arith triangle-eq]: #628
+#630 := [unit-resolution #629 #627 #661]: #445
+#769 := (or #511 #497)
+#763 := [def-axiom]: #769
+#631 := [unit-resolution #763 #630]: #511
+#601 := (not #511)
+#643 := (not #775)
+#644 := (or #643 #601 #816)
+#603 := [def-axiom]: #644
+#632 := [unit-resolution #603 #631 #625]: #816
+#748 := (not #816)
+#679 := (or #748 #758)
+#675 := [th-lemma arith triangle-eq]: #679
+#633 := [unit-resolution #675 #632]: #758
+#635 := (not #758)
+#619 := (not #722)
+#596 := (or #634 #412 #619 #635 #89)
+#597 := [th-lemma arith assign-bounds 2 1 3 3]: #596
+#604 := [unit-resolution #597 #627 #633 #96 #646]: #634
+#690 := (not #728)
+#691 := (or #690 #721)
+#692 := [th-lemma arith triangle-eq]: #691
+[unit-resolution #692 #604 #689]: false
+unsat
+c5c3c657f3d41eaffb467378e2ecb04b1c7d2a98 559 0
 #2 := false
 decl f10 :: S3
 #10 := f10
@@ -15851,229 +14670,201 @@
 #16 := (= #15 f10)
 #17 := 0::Int
 #18 := (f3 f4 0::Int)
-#474 := (= #18 f10)
+#416 := (= #18 f10)
 #19 := (= f10 #18)
-#436 := (f3 f4 #11)
-#490 := (= #436 #18)
-#486 := (= #18 #436)
-#500 := (= 0::Int #11)
-#442 := (f8 f9 #15)
-#534 := (= #442 #11)
-#462 := (= #11 #442)
-#592 := (= f10 #15)
-#365 := (not #19)
-#630 := [hypothesis]: #365
-#453 := (or #16 #19)
-#79 := (not #16)
-#80 := (iff #79 #19)
+#476 := (f3 f4 #11)
+#424 := (= #476 #18)
+#437 := (= #18 #476)
+#434 := (= 0::Int #11)
+#482 := (f8 f9 #15)
+#574 := (= #482 #11)
+#462 := (= #11 #482)
+#456 := (= f10 #15)
+#406 := (not #19)
+#534 := [hypothesis]: #406
+#493 := (or #16 #19)
+#89 := (not #16)
+#90 := (iff #89 #19)
 #20 := (iff #16 #19)
 #21 := (not #20)
-#81 := (iff #21 #80)
-#82 := [rewrite]: #81
-#70 := [asserted]: #21
-#83 := [mp #70 #82]: #80
-#450 := (not #80)
-#455 := (or #16 #19 #450)
-#456 := [def-axiom]: #455
-#457 := [unit-resolution #456 #83]: #453
-#599 := [unit-resolution #457 #630]: #16
-#593 := [symm #599]: #592
-#463 := [monotonicity #593]: #462
-#498 := [symm #463]: #534
-#499 := (= 0::Int #442)
-#496 := (= #14 #442)
-#774 := (= #442 #14)
-#773 := (>= #14 0::Int)
-#545 := (or #773 #79)
-#744 := (= #11 0::Int)
-#776 := (= #442 0::Int)
-#541 := (iff #776 #744)
-#555 := [hypothesis]: #16
-#537 := [monotonicity #555]: #534
-#543 := [monotonicity #537]: #541
-#430 := (not #773)
-#546 := [hypothesis]: #430
-#777 := (or #773 #776)
+#91 := (iff #21 #90)
+#92 := [rewrite]: #91
+#88 := [asserted]: #21
+#95 := [mp #88 #92]: #90
+#490 := (not #90)
+#495 := (or #16 #19 #490)
+#496 := [def-axiom]: #495
+#497 := [unit-resolution #496 #95]: #493
+#536 := [unit-resolution #497 #534]: #16
+#461 := [symm #536]: #456
+#463 := [monotonicity #461]: #462
+#426 := [symm #463]: #574
+#427 := (= 0::Int #482)
+#447 := (= #14 #482)
+#814 := (= #482 #14)
+#813 := (>= #14 0::Int)
+#585 := (or #813 #89)
+#784 := (= #11 0::Int)
+#816 := (= #482 0::Int)
+#581 := (iff #816 #784)
+#595 := [hypothesis]: #16
+#577 := [monotonicity #595]: #574
+#583 := [monotonicity #577]: #581
+#470 := (not #813)
+#586 := [hypothesis]: #470
+#817 := (or #813 #816)
 #27 := (:var 0 Int)
 #29 := (f3 f4 #27)
-#786 := (pattern #29)
+#826 := (pattern #29)
 #30 := (f8 f9 #29)
 #35 := (= #30 0::Int)
-#210 := (>= #27 0::Int)
-#223 := (or #210 #35)
-#793 := (forall (vars (?v0 Int)) (:pat #786) #223)
-#226 := (forall (vars (?v0 Int)) #223)
-#796 := (iff #226 #793)
-#794 := (iff #223 #223)
-#795 := [refl]: #794
-#797 := [quant-intro #795]: #796
-#271 := (~ #226 #226)
-#277 := (~ #223 #223)
-#278 := [refl]: #277
-#272 := [nnf-pos #278]: #271
-#28 := (<= 0::Int #27)
-#105 := (or #28 #35)
-#110 := (forall (vars (?v0 Int)) #105)
-#227 := (iff #110 #226)
-#224 := (iff #105 #223)
-#211 := (iff #28 #210)
-#212 := [rewrite]: #211
-#225 := [monotonicity #212]: #224
-#228 := [quant-intro #225]: #227
+#105 := (>= #27 0::Int)
+#135 := (or #105 #35)
+#833 := (forall (vars (?v0 Int)) (:pat #826) #135)
+#138 := (forall (vars (?v0 Int)) #135)
+#836 := (iff #138 #833)
+#834 := (iff #135 #135)
+#835 := [refl]: #834
+#837 := [quant-intro #835]: #836
+#255 := (~ #138 #138)
+#267 := (~ #135 #135)
+#268 := [refl]: #267
+#256 := [nnf-pos #268]: #255
 #34 := (< #27 0::Int)
 #36 := (implies #34 #35)
 #37 := (forall (vars (?v0 Int)) #36)
-#111 := (iff #37 #110)
-#108 := (iff #36 #105)
-#88 := (not #28)
-#102 := (implies #88 #35)
-#106 := (iff #102 #105)
-#107 := [rewrite]: #106
-#103 := (iff #36 #102)
-#97 := (iff #34 #88)
-#99 := (iff #88 #88)
-#84 := (iff #28 #28)
-#85 := [rewrite]: #84
-#100 := [monotonicity #85]: #99
-#98 := [rewrite]: #97
-#101 := [trans #98 #100]: #97
-#104 := [monotonicity #101]: #103
-#109 := [trans #104 #107]: #108
-#112 := [quant-intro #109]: #111
-#73 := [asserted]: #37
-#113 := [mp #73 #112]: #110
-#229 := [mp #113 #228]: #226
-#283 := [mp~ #229 #272]: #226
-#798 := [mp #283 #797]: #793
-#754 := (not #793)
-#417 := (or #754 #773 #776)
-#418 := (or #754 #777)
-#420 := (iff #418 #417)
-#756 := [rewrite]: #420
-#419 := [quant-inst #14]: #418
-#757 := [mp #419 #756]: #417
-#554 := [unit-resolution #757 #798]: #777
-#550 := [unit-resolution #554 #546]: #776
-#544 := [mp #550 #543]: #744
-#650 := (not #744)
-#734 := (= #14 0::Int)
-#626 := (not #734)
-#547 := (or #626 #773)
-#548 := [th-lemma arith triangle-eq]: #547
-#549 := [unit-resolution #548 #546]: #626
-#552 := (or #650 #734)
-#695 := -3::Int
-#140 := -1::Int
-#725 := (* -1::Int #11)
-#704 := (div #725 -3::Int)
-#702 := (* -1::Int #704)
-#697 := (+ #14 #702)
-#693 := (= #697 0::Int)
-#580 := (div #11 3::Int)
-#581 := (* -1::Int #580)
-#582 := (+ #14 #581)
-#724 := (= #582 0::Int)
-#737 := (>= #11 0::Int)
-#620 := (not #737)
-#735 := (<= #11 0::Int)
-#712 := (not #735)
-#714 := (or #712 #620)
-#685 := (if #714 #724 #693)
-#689 := (if #744 #734 #685)
+#141 := (iff #37 #138)
+#119 := (not #34)
+#120 := (or #119 #35)
+#123 := (forall (vars (?v0 Int)) #120)
+#139 := (iff #123 #138)
+#136 := (iff #120 #135)
+#133 := (iff #119 #105)
+#106 := (not #105)
+#128 := (not #106)
+#131 := (iff #128 #105)
+#132 := [rewrite]: #131
+#129 := (iff #119 #128)
+#126 := (iff #34 #106)
+#127 := [rewrite]: #126
+#130 := [monotonicity #127]: #129
+#134 := [trans #130 #132]: #133
+#137 := [monotonicity #134]: #136
+#140 := [quant-intro #137]: #139
+#124 := (iff #37 #123)
+#121 := (iff #36 #120)
+#122 := [rewrite]: #121
+#125 := [quant-intro #122]: #124
+#142 := [trans #125 #140]: #141
+#118 := [asserted]: #37
+#143 := [mp #118 #142]: #138
+#269 := [mp~ #143 #256]: #138
+#838 := [mp #269 #837]: #833
+#794 := (not #833)
+#457 := (or #794 #813 #816)
+#458 := (or #794 #817)
+#460 := (iff #458 #457)
+#796 := [rewrite]: #460
+#459 := [quant-inst #14]: #458
+#797 := [mp #459 #796]: #457
+#594 := [unit-resolution #797 #838]: #817
+#590 := [unit-resolution #594 #586]: #816
+#584 := [mp #590 #583]: #784
+#690 := (not #784)
+#774 := (= #14 0::Int)
+#666 := (not #774)
+#587 := (or #666 #813)
+#588 := [th-lemma arith triangle-eq]: #587
+#589 := [unit-resolution #588 #586]: #666
+#592 := (or #690 #774)
+#735 := -3::Int
+#145 := -1::Int
+#765 := (* -1::Int #11)
+#744 := (div #765 -3::Int)
+#742 := (* -1::Int #744)
+#737 := (+ #14 #742)
+#733 := (= #737 0::Int)
+#620 := (div #11 3::Int)
+#621 := (* -1::Int #620)
+#622 := (+ #14 #621)
+#764 := (= #622 0::Int)
+#777 := (>= #11 0::Int)
+#660 := (not #777)
+#775 := (<= #11 0::Int)
+#752 := (not #775)
+#754 := (or #752 #660)
+#725 := (if #754 #764 #733)
+#729 := (if #784 #774 #725)
 #38 := (:var 1 Int)
 #39 := (f6 f7 #38)
 #40 := (f5 #39 #27)
-#799 := (pattern #40)
-#144 := (* -1::Int #27)
-#141 := (* -1::Int #38)
-#147 := (div #141 #144)
-#338 := (* -1::Int #147)
-#339 := (+ #40 #338)
-#340 := (= #339 0::Int)
+#839 := (pattern #40)
+#149 := (* -1::Int #27)
+#146 := (* -1::Int #38)
+#152 := (div #146 #149)
+#318 := (* -1::Int #152)
+#319 := (+ #40 #318)
+#320 := (= #319 0::Int)
 #50 := (div #38 #27)
-#335 := (* -1::Int #50)
-#336 := (+ #40 #335)
-#337 := (= #336 0::Int)
-#118 := (<= #27 0::Int)
-#230 := (>= #38 0::Int)
-#298 := (or #230 #118)
-#299 := (not #298)
-#114 := (<= #38 0::Int)
-#294 := (or #114 #118)
-#295 := (not #294)
-#302 := (or #295 #299)
-#341 := (if #302 #337 #340)
-#334 := (= #40 0::Int)
+#315 := (* -1::Int #50)
+#316 := (+ #40 #315)
+#317 := (= #316 0::Int)
+#171 := (<= #27 0::Int)
+#178 := (>= #38 0::Int)
+#278 := (or #178 #171)
+#279 := (not #278)
+#167 := (<= #38 0::Int)
+#276 := (or #167 #171)
+#277 := (not #276)
+#282 := (or #277 #279)
+#321 := (if #282 #317 #320)
+#314 := (= #40 0::Int)
 #42 := (= #27 0::Int)
 #41 := (= #38 0::Int)
 #43 := (or #41 #42)
-#342 := (if #43 #334 #341)
-#800 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #799) #342)
-#345 := (forall (vars (?v0 Int) (?v1 Int)) #342)
-#803 := (iff #345 #800)
-#801 := (iff #342 #342)
-#802 := [refl]: #801
-#804 := [quant-intro #802]: #803
-#305 := (if #302 #50 #147)
-#308 := (if #43 0::Int #305)
-#311 := (= #40 #308)
-#314 := (forall (vars (?v0 Int) (?v1 Int)) #311)
-#346 := (iff #314 #345)
-#343 := (iff #311 #342)
-#344 := [rewrite]: #343
-#347 := [quant-intro #344]: #346
-#119 := (not #118)
-#233 := (not #230)
-#236 := (and #233 #119)
-#115 := (not #114)
-#122 := (and #115 #119)
-#239 := (or #122 #236)
-#242 := (if #239 #50 #147)
-#245 := (if #43 0::Int #242)
-#248 := (= #40 #245)
-#251 := (forall (vars (?v0 Int) (?v1 Int)) #248)
-#315 := (iff #251 #314)
-#312 := (iff #248 #311)
-#309 := (= #245 #308)
-#306 := (= #242 #305)
-#303 := (iff #239 #302)
-#300 := (iff #236 #299)
-#301 := [rewrite]: #300
-#296 := (iff #122 #295)
-#297 := [rewrite]: #296
-#304 := [monotonicity #297 #301]: #303
-#307 := [monotonicity #304]: #306
-#310 := [monotonicity #307]: #309
-#313 := [monotonicity #310]: #312
-#316 := [quant-intro #313]: #315
-#286 := (~ #251 #251)
-#284 := (~ #248 #248)
-#285 := [refl]: #284
-#287 := [nnf-pos #285]: #286
-#125 := (<= 0::Int #38)
-#126 := (not #125)
-#134 := (and #126 #119)
-#137 := (or #122 #134)
-#150 := (if #137 #50 #147)
-#153 := (if #43 0::Int #150)
-#156 := (= #40 #153)
-#159 := (forall (vars (?v0 Int) (?v1 Int)) #156)
-#252 := (iff #159 #251)
-#249 := (iff #156 #248)
-#246 := (= #153 #245)
-#243 := (= #150 #242)
-#240 := (iff #137 #239)
-#237 := (iff #134 #236)
-#234 := (iff #126 #233)
-#231 := (iff #125 #230)
-#232 := [rewrite]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [quant-intro #250]: #252
+#322 := (if #43 #314 #321)
+#840 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #839) #322)
+#325 := (forall (vars (?v0 Int) (?v1 Int)) #322)
+#843 := (iff #325 #840)
+#841 := (iff #322 #322)
+#842 := [refl]: #841
+#844 := [quant-intro #842]: #843
+#285 := (if #282 #50 #152)
+#288 := (if #43 0::Int #285)
+#291 := (= #40 #288)
+#294 := (forall (vars (?v0 Int) (?v1 Int)) #291)
+#326 := (iff #294 #325)
+#323 := (iff #291 #322)
+#324 := [rewrite]: #323
+#327 := [quant-intro #324]: #326
+#172 := (not #171)
+#179 := (not #178)
+#182 := (and #179 #172)
+#168 := (not #167)
+#175 := (and #168 #172)
+#185 := (or #175 #182)
+#188 := (if #185 #50 #152)
+#191 := (if #43 0::Int #188)
+#194 := (= #40 #191)
+#197 := (forall (vars (?v0 Int) (?v1 Int)) #194)
+#295 := (iff #197 #294)
+#292 := (iff #194 #291)
+#289 := (= #191 #288)
+#286 := (= #188 #285)
+#283 := (iff #185 #282)
+#280 := (iff #182 #279)
+#281 := [rewrite]: #280
+#261 := (iff #175 #277)
+#262 := [rewrite]: #261
+#284 := [monotonicity #262 #281]: #283
+#287 := [monotonicity #284]: #286
+#290 := [monotonicity #287]: #289
+#293 := [monotonicity #290]: #292
+#296 := [quant-intro #293]: #295
+#257 := (~ #197 #197)
+#270 := (~ #194 #194)
+#271 := [refl]: #270
+#258 := [nnf-pos #271]: #257
 #52 := (- #27)
 #51 := (- #38)
 #53 := (div #51 #52)
@@ -16087,327 +14878,337 @@
 #55 := (if #43 0::Int #54)
 #56 := (= #40 #55)
 #57 := (forall (vars (?v0 Int) (?v1 Int)) #56)
-#160 := (iff #57 #159)
-#157 := (iff #56 #156)
-#154 := (= #55 #153)
-#151 := (= #54 #150)
-#148 := (= #53 #147)
-#145 := (= #52 #144)
-#146 := [rewrite]: #145
-#142 := (= #51 #141)
-#143 := [rewrite]: #142
-#149 := [monotonicity #143 #146]: #148
-#138 := (iff #49 #137)
-#135 := (iff #48 #134)
-#120 := (iff #45 #119)
-#121 := [rewrite]: #120
-#127 := (iff #47 #126)
-#131 := (iff #126 #126)
-#129 := (iff #125 #125)
-#130 := [rewrite]: #129
-#132 := [monotonicity #130]: #131
-#128 := [rewrite]: #127
-#133 := [trans #128 #132]: #127
-#136 := [monotonicity #133 #121]: #135
-#123 := (iff #46 #122)
-#116 := (iff #44 #115)
-#117 := [rewrite]: #116
-#124 := [monotonicity #117 #121]: #123
-#139 := [monotonicity #124 #136]: #138
-#152 := [monotonicity #139 #149]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [quant-intro #158]: #160
-#74 := [asserted]: #57
-#162 := [mp #74 #161]: #159
-#254 := [mp #162 #253]: #251
-#288 := [mp~ #254 #287]: #251
-#317 := [mp #288 #316]: #314
-#348 := [mp #317 #347]: #345
-#805 := [mp #348 #804]: #800
-#691 := (not #800)
-#677 := (or #691 #689)
-#726 := (* -1::Int 3::Int)
-#727 := (div #725 #726)
-#721 := (* -1::Int #727)
-#722 := (+ #14 #721)
-#728 := (= #722 0::Int)
-#736 := (<= 3::Int 0::Int)
-#738 := (or #737 #736)
-#733 := (not #738)
-#731 := (or #735 #736)
-#732 := (not #731)
-#739 := (or #732 #733)
-#729 := (if #739 #724 #728)
-#741 := (= 3::Int 0::Int)
-#745 := (or #744 #741)
-#723 := (if #745 #734 #729)
-#678 := (or #691 #723)
-#681 := (iff #678 #677)
-#679 := (iff #677 #677)
-#683 := [rewrite]: #679
-#690 := (iff #723 #689)
-#687 := (iff #729 #685)
-#700 := (iff #728 #693)
-#698 := (= #722 #697)
-#707 := (= #721 #702)
-#705 := (= #727 #704)
-#692 := (= #726 -3::Int)
-#694 := [rewrite]: #692
-#706 := [monotonicity #694]: #705
-#696 := [monotonicity #706]: #707
-#699 := [monotonicity #696]: #698
-#684 := [monotonicity #699]: #700
-#701 := (iff #739 #714)
-#713 := (iff #733 #620)
-#618 := (iff #738 #737)
-#614 := (or #737 false)
-#616 := (iff #614 #737)
-#617 := [rewrite]: #616
-#615 := (iff #738 #614)
-#720 := (iff #736 false)
-#602 := [rewrite]: #720
-#608 := [monotonicity #602]: #615
-#619 := [trans #608 #617]: #618
-#710 := [monotonicity #619]: #713
-#597 := (iff #732 #712)
-#708 := (iff #731 #735)
-#603 := (or #735 false)
-#711 := (iff #603 #735)
-#613 := [rewrite]: #711
-#604 := (iff #731 #603)
-#563 := [monotonicity #602]: #604
-#709 := [trans #563 #613]: #708
-#612 := [monotonicity #709]: #597
-#703 := [monotonicity #612 #710]: #701
-#688 := [monotonicity #703 #684]: #687
-#719 := (iff #745 #744)
-#561 := (or #744 false)
-#716 := (iff #561 #744)
-#718 := [rewrite]: #716
-#562 := (iff #745 #561)
-#730 := (iff #741 false)
-#559 := [rewrite]: #730
-#715 := [monotonicity #559]: #562
-#717 := [trans #715 #718]: #719
-#686 := [monotonicity #717 #688]: #690
-#682 := [monotonicity #686]: #681
-#663 := [trans #682 #683]: #681
-#680 := [quant-inst #11 #13]: #678
-#664 := [mp #680 #663]: #677
-#551 := [unit-resolution #664 #805]: #689
-#649 := (not #689)
-#651 := (or #649 #650 #734)
-#652 := [def-axiom]: #651
-#553 := [unit-resolution #652 #551]: #552
-#396 := [unit-resolution #553 #549]: #650
-#542 := [unit-resolution #396 #544]: false
-#533 := [lemma #542]: #545
-#565 := [unit-resolution #533 #599]: #773
-#775 := (or #430 #774)
+#200 := (iff #57 #197)
+#155 := (if #49 #50 #152)
+#158 := (if #43 0::Int #155)
+#161 := (= #40 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#198 := (iff #164 #197)
+#195 := (iff #161 #194)
+#192 := (= #158 #191)
+#189 := (= #155 #188)
+#186 := (iff #49 #185)
+#183 := (iff #48 #182)
+#173 := (iff #45 #172)
+#174 := [rewrite]: #173
+#180 := (iff #47 #179)
+#181 := [rewrite]: #180
+#184 := [monotonicity #181 #174]: #183
+#176 := (iff #46 #175)
+#169 := (iff #44 #168)
+#170 := [rewrite]: #169
+#177 := [monotonicity #170 #174]: #176
+#187 := [monotonicity #177 #184]: #186
+#190 := [monotonicity #187]: #189
+#193 := [monotonicity #190]: #192
+#196 := [monotonicity #193]: #195
+#199 := [quant-intro #196]: #198
+#165 := (iff #57 #164)
+#162 := (iff #56 #161)
+#159 := (= #55 #158)
+#156 := (= #54 #155)
+#153 := (= #53 #152)
+#150 := (= #52 #149)
+#151 := [rewrite]: #150
+#147 := (= #51 #146)
+#148 := [rewrite]: #147
+#154 := [monotonicity #148 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#201 := [trans #166 #199]: #200
+#144 := [asserted]: #57
+#202 := [mp #144 #201]: #197
+#272 := [mp~ #202 #258]: #197
+#297 := [mp #272 #296]: #294
+#328 := [mp #297 #327]: #325
+#845 := [mp #328 #844]: #840
+#731 := (not #840)
+#717 := (or #731 #729)
+#766 := (* -1::Int 3::Int)
+#767 := (div #765 #766)
+#761 := (* -1::Int #767)
+#762 := (+ #14 #761)
+#768 := (= #762 0::Int)
+#776 := (<= 3::Int 0::Int)
+#778 := (or #777 #776)
+#773 := (not #778)
+#771 := (or #775 #776)
+#772 := (not #771)
+#779 := (or #772 #773)
+#769 := (if #779 #764 #768)
+#781 := (= 3::Int 0::Int)
+#785 := (or #784 #781)
+#763 := (if #785 #774 #769)
+#718 := (or #731 #763)
+#721 := (iff #718 #717)
+#719 := (iff #717 #717)
+#723 := [rewrite]: #719
+#730 := (iff #763 #729)
+#727 := (iff #769 #725)
+#740 := (iff #768 #733)
+#738 := (= #762 #737)
+#747 := (= #761 #742)
+#745 := (= #767 #744)
+#732 := (= #766 -3::Int)
+#734 := [rewrite]: #732
+#746 := [monotonicity #734]: #745
+#736 := [monotonicity #746]: #747
+#739 := [monotonicity #736]: #738
+#724 := [monotonicity #739]: #740
+#741 := (iff #779 #754)
+#753 := (iff #773 #660)
+#658 := (iff #778 #777)
+#654 := (or #777 false)
+#656 := (iff #654 #777)
+#657 := [rewrite]: #656
+#655 := (iff #778 #654)
+#760 := (iff #776 false)
+#642 := [rewrite]: #760
+#648 := [monotonicity #642]: #655
+#659 := [trans #648 #657]: #658
+#750 := [monotonicity #659]: #753
+#637 := (iff #772 #752)
+#748 := (iff #771 #775)
+#643 := (or #775 false)
+#751 := (iff #643 #775)
+#653 := [rewrite]: #751
+#644 := (iff #771 #643)
+#603 := [monotonicity #642]: #644
+#749 := [trans #603 #653]: #748
+#652 := [monotonicity #749]: #637
+#743 := [monotonicity #652 #750]: #741
+#728 := [monotonicity #743 #724]: #727
+#759 := (iff #785 #784)
+#601 := (or #784 false)
+#756 := (iff #601 #784)
+#758 := [rewrite]: #756
+#602 := (iff #785 #601)
+#770 := (iff #781 false)
+#599 := [rewrite]: #770
+#755 := [monotonicity #599]: #602
+#757 := [trans #755 #758]: #759
+#726 := [monotonicity #757 #728]: #730
+#722 := [monotonicity #726]: #721
+#703 := [trans #722 #723]: #721
+#720 := [quant-inst #11 #13]: #718
+#704 := [mp #720 #703]: #717
+#591 := [unit-resolution #704 #845]: #729
+#689 := (not #729)
+#691 := (or #689 #690 #774)
+#692 := [def-axiom]: #691
+#593 := [unit-resolution #692 #591]: #592
+#436 := [unit-resolution #593 #589]: #690
+#582 := [unit-resolution #436 #584]: false
+#573 := [lemma #582]: #585
+#537 := [unit-resolution #573 #536]: #813
+#815 := (or #470 #814)
 #31 := (= #30 #27)
-#213 := (not #210)
-#216 := (or #213 #31)
-#787 := (forall (vars (?v0 Int)) (:pat #786) #216)
-#219 := (forall (vars (?v0 Int)) #216)
-#790 := (iff #219 #787)
-#788 := (iff #216 #216)
-#789 := [refl]: #788
-#791 := [quant-intro #789]: #790
-#209 := (~ #219 #219)
-#282 := (~ #216 #216)
-#208 := [refl]: #282
-#275 := [nnf-pos #208]: #209
-#89 := (or #88 #31)
-#93 := (forall (vars (?v0 Int)) #89)
-#220 := (iff #93 #219)
-#217 := (iff #89 #216)
-#214 := (iff #88 #213)
-#215 := [monotonicity #212]: #214
-#218 := [monotonicity #215]: #217
-#221 := [quant-intro #218]: #220
+#109 := (or #106 #31)
+#827 := (forall (vars (?v0 Int)) (:pat #826) #109)
+#112 := (forall (vars (?v0 Int)) #109)
+#830 := (iff #112 #827)
+#828 := (iff #109 #109)
+#829 := [refl]: #828
+#831 := [quant-intro #829]: #830
+#253 := (~ #112 #112)
+#252 := (~ #109 #109)
+#249 := [refl]: #252
+#254 := [nnf-pos #249]: #253
+#28 := (<= 0::Int #27)
 #32 := (implies #28 #31)
 #33 := (forall (vars (?v0 Int)) #32)
-#94 := (iff #33 #93)
-#90 := (iff #32 #89)
-#91 := [rewrite]: #90
-#86 := (iff #32 #32)
-#87 := [monotonicity #85]: #86
-#92 := [trans #87 #91]: #90
-#95 := [quant-intro #92]: #94
-#72 := [asserted]: #33
-#96 := [mp #72 #95]: #93
-#222 := [mp #96 #221]: #219
-#276 := [mp~ #222 #275]: #219
-#792 := [mp #276 #791]: #787
-#772 := (not #787)
-#778 := (or #772 #430 #774)
-#768 := (or #772 #775)
-#433 := (iff #768 #778)
-#769 := [rewrite]: #433
-#428 := [quant-inst #14]: #768
-#429 := [mp #428 #769]: #778
-#588 := [unit-resolution #429 #792]: #775
-#589 := [unit-resolution #588 #565]: #774
-#497 := [symm #589]: #496
-#494 := (= 0::Int #14)
-#624 := (* -1::Int #14)
-#609 := (+ #11 #624)
-#605 := (>= #609 0::Int)
-#569 := (= #11 #14)
-#464 := [trans #463 #589]: #569
-#742 := (not #569)
-#743 := (or #742 #605)
-#508 := [th-lemma arith triangle-eq]: #743
-#509 := [unit-resolution #508 #464]: #605
-#510 := (not #605)
-#511 := (or #737 #430 #510)
-#512 := [th-lemma arith assign-bounds 1 1]: #511
-#513 := [unit-resolution #512 #565 #509]: #737
-#610 := (<= #609 0::Int)
-#502 := (or #742 #610)
-#514 := [th-lemma arith triangle-eq]: #502
-#491 := [unit-resolution #514 #464]: #610
-#515 := (not #610)
-#506 := (or #734 #515 #620 #430)
-#674 := (mod #11 3::Int)
-#587 := (* -1::Int #674)
-#586 := (* -3::Int #580)
-#635 := (+ #11 #586 #587)
-#636 := (= #635 0::Int)
-#1 := true
-#207 := [true-axiom]: true
-#458 := (or false #636)
-#740 := [th-lemma arith]: #458
-#583 := [unit-resolution #740 #207]: #636
-#590 := (>= #635 0::Int)
-#528 := (not #590)
-#591 := (>= #674 0::Int)
-#585 := (or false #591)
-#573 := [th-lemma arith]: #585
-#574 := [unit-resolution #573 #207]: #591
-#666 := (<= #14 0::Int)
-#576 := (not #666)
-#575 := [hypothesis]: #773
-#558 := [hypothesis]: #626
-#577 := (or #734 #576 #430)
-#578 := [th-lemma arith triangle-eq]: #577
-#536 := [unit-resolution #578 #558 #575]: #576
-#538 := [hypothesis]: #610
-#675 := (<= #582 0::Int)
-#539 := [unit-resolution #553 #558]: #650
-#535 := (or #744 #685)
-#647 := (or #649 #744 #685)
-#653 := [def-axiom]: #647
-#540 := [unit-resolution #653 #551]: #535
-#530 := [unit-resolution #540 #539]: #685
-#520 := [hypothesis]: #737
-#522 := (or #744 #712 #620)
-#523 := [th-lemma arith triangle-eq]: #522
-#526 := [unit-resolution #523 #539 #520]: #712
-#667 := (or #714 #735)
-#668 := [def-axiom]: #667
-#527 := [unit-resolution #668 #526]: #714
-#671 := (not #714)
-#657 := (not #685)
-#658 := (or #657 #671 #724)
-#659 := [def-axiom]: #658
-#531 := [unit-resolution #659 #527 #530]: #724
-#656 := (not #724)
-#524 := (or #656 #675)
-#532 := [th-lemma arith triangle-eq]: #524
-#525 := [unit-resolution #532 #531]: #675
-#517 := (not #675)
-#529 := (not #591)
-#518 := (or #528 #529 #666 #515 #517)
-#516 := [th-lemma arith assign-bounds 1 2 1 3]: #518
-#519 := [unit-resolution #516 #525 #538 #536 #574]: #528
-#501 := (not #636)
-#503 := (or #501 #590)
-#504 := [th-lemma arith triangle-eq]: #503
-#505 := [unit-resolution #504 #519 #583]: false
-#507 := [lemma #505]: #506
-#493 := [unit-resolution #507 #491 #513 #565]: #734
-#495 := [symm #493]: #494
-#492 := [trans #495 #497]: #499
-#485 := [trans #492 #498]: #500
-#487 := [monotonicity #485]: #486
-#479 := [symm #487]: #490
-#489 := (= f10 #436)
-#771 := (= #436 f10)
+#115 := (iff #33 #112)
+#96 := (not #28)
+#97 := (or #96 #31)
+#100 := (forall (vars (?v0 Int)) #97)
+#113 := (iff #100 #112)
+#110 := (iff #97 #109)
+#107 := (iff #96 #106)
+#103 := (iff #28 #105)
+#104 := [rewrite]: #103
+#108 := [monotonicity #104]: #107
+#111 := [monotonicity #108]: #110
+#114 := [quant-intro #111]: #113
+#101 := (iff #33 #100)
+#98 := (iff #32 #97)
+#99 := [rewrite]: #98
+#102 := [quant-intro #99]: #101
+#116 := [trans #102 #114]: #115
+#94 := [asserted]: #33
+#117 := [mp #94 #116]: #112
+#250 := [mp~ #117 #254]: #112
+#832 := [mp #250 #831]: #827
+#812 := (not #827)
+#818 := (or #812 #470 #814)
+#808 := (or #812 #815)
+#473 := (iff #808 #818)
+#809 := [rewrite]: #473
+#468 := [quant-inst #14]: #808
+#469 := [mp #468 #809]: #818
+#538 := [unit-resolution #469 #832]: #815
+#454 := [unit-resolution #538 #537]: #814
+#422 := [symm #454]: #447
+#446 := (= 0::Int #14)
+#614 := (* -1::Int #14)
+#615 := (+ #11 #614)
+#616 := (>= #615 0::Int)
+#613 := (= #11 #14)
+#464 := [trans #463 #454]: #613
+#465 := (not #613)
+#466 := (or #465 #616)
+#455 := [th-lemma arith triangle-eq]: #466
+#467 := [unit-resolution #455 #464]: #616
+#448 := (not #616)
+#450 := (or #777 #470 #448)
+#451 := [th-lemma arith assign-bounds 1 1]: #450
+#449 := [unit-resolution #451 #537 #467]: #777
+#598 := (<= #615 0::Int)
+#452 := (or #465 #598)
+#440 := [th-lemma arith triangle-eq]: #452
+#442 := [unit-resolution #440 #464]: #598
+#471 := (not #598)
+#474 := (or #774 #471 #660 #470)
+#714 := (mod #11 3::Int)
+#563 := (* -1::Int #714)
+#562 := (* -3::Int #620)
+#566 := (+ #562 #563)
+#567 := (+ #11 #566)
+#560 := (= #567 0::Int)
+#1 := true
+#86 := [true-axiom]: true
+#539 := (or false #560)
+#532 := [th-lemma arith]: #539
+#540 := [unit-resolution #532 #86]: #560
+#565 := (>= #567 0::Int)
+#479 := (not #565)
+#568 := (>= #714 0::Int)
+#525 := (or false #568)
+#526 := [th-lemma arith]: #525
+#527 := [unit-resolution #526 #86]: #568
+#706 := (<= #14 0::Int)
+#530 := (not #706)
+#529 := [hypothesis]: #813
+#528 := [hypothesis]: #666
+#519 := (or #774 #530 #470)
+#520 := [th-lemma arith triangle-eq]: #519
+#521 := [unit-resolution #520 #528 #529]: #530
+#513 := [hypothesis]: #598
+#715 := (<= #622 0::Int)
+#522 := [unit-resolution #593 #528]: #690
+#523 := (or #784 #725)
+#687 := (or #689 #784 #725)
+#693 := [def-axiom]: #687
+#514 := [unit-resolution #693 #591]: #523
+#524 := [unit-resolution #514 #522]: #725
+#505 := [hypothesis]: #777
+#506 := (or #784 #752 #660)
+#507 := [th-lemma arith triangle-eq]: #506
+#499 := [unit-resolution #507 #522 #505]: #752
+#707 := (or #754 #775)
+#708 := [def-axiom]: #707
+#508 := [unit-resolution #708 #499]: #754
+#711 := (not #754)
+#697 := (not #725)
+#698 := (or #697 #711 #764)
+#699 := [def-axiom]: #698
+#509 := [unit-resolution #699 #508 #524]: #764
+#696 := (not #764)
+#500 := (or #696 #715)
+#510 := [th-lemma arith triangle-eq]: #500
+#477 := [unit-resolution #510 #509]: #715
+#484 := (not #715)
+#480 := (not #568)
+#485 := (or #479 #480 #706 #471 #484)
+#486 := [th-lemma arith assign-bounds 1 2 1 3]: #485
+#487 := [unit-resolution #486 #477 #513 #521 #527]: #479
+#488 := (not #560)
+#478 := (or #488 #565)
+#489 := [th-lemma arith triangle-eq]: #478
+#472 := [unit-resolution #489 #487 #540]: false
+#475 := [lemma #472]: #474
+#443 := [unit-resolution #475 #442 #449 #537]: #774
+#441 := [symm #443]: #446
+#432 := [trans #441 #422]: #427
+#435 := [trans #432 #426]: #434
+#433 := [monotonicity #435]: #437
+#425 := [symm #433]: #424
+#438 := (= f10 #476)
+#811 := (= #476 f10)
 #22 := (:var 0 S3)
 #23 := (f8 f9 #22)
-#779 := (pattern #23)
+#819 := (pattern #23)
 #24 := (f3 f4 #23)
 #25 := (= #24 #22)
-#780 := (forall (vars (?v0 S3)) (:pat #779) #25)
+#820 := (forall (vars (?v0 S3)) (:pat #819) #25)
 #26 := (forall (vars (?v0 S3)) #25)
-#783 := (iff #26 #780)
-#781 := (iff #25 #25)
-#782 := [refl]: #781
-#784 := [quant-intro #782]: #783
-#273 := (~ #26 #26)
-#279 := (~ #25 #25)
-#280 := [refl]: #279
-#274 := [nnf-pos #280]: #273
-#71 := [asserted]: #26
-#281 := [mp~ #71 #274]: #26
-#785 := [mp #281 #784]: #780
-#560 := (not #780)
-#767 := (or #560 #771)
-#441 := [quant-inst #10]: #767
-#631 := [unit-resolution #441 #785]: #771
-#488 := [symm #631]: #489
-#480 := [trans #488 #479]: #19
-#481 := [unit-resolution #630 #480]: false
-#473 := [lemma #481]: #19
-#484 := [symm #473]: #474
-#468 := (= #15 #18)
-#758 := (f8 f9 #18)
-#759 := (= #758 0::Int)
-#371 := (or #772 #759)
-#770 := (>= 0::Int 0::Int)
-#413 := (not #770)
-#760 := (or #413 #759)
-#748 := (or #772 #760)
-#471 := (iff #748 #371)
-#746 := (iff #371 #371)
-#750 := [rewrite]: #746
-#477 := (iff #760 #759)
-#766 := (or false #759)
-#475 := (iff #766 #759)
-#476 := [rewrite]: #475
-#752 := (iff #760 #766)
-#765 := (iff #413 false)
-#399 := (not true)
-#404 := (iff #399 false)
-#405 := [rewrite]: #404
-#762 := (iff #413 #399)
-#755 := (iff #770 true)
-#761 := [rewrite]: #755
-#764 := [monotonicity #761]: #762
-#763 := [trans #764 #405]: #765
-#753 := [monotonicity #763]: #752
-#478 := [trans #753 #476]: #477
-#472 := [monotonicity #478]: #471
-#747 := [trans #472 #750]: #471
-#749 := [quant-inst #17]: #748
-#751 := [mp #749 #747]: #371
-#483 := [unit-resolution #751 #792]: #759
-#465 := (= #11 #758)
-#466 := [monotonicity #473]: #465
-#467 := [trans #466 #483]: #744
-#459 := [unit-resolution #553 #467]: #734
-#469 := [monotonicity #459]: #468
-#460 := [trans #469 #484]: #16
-#443 := (or #79 #365)
-#451 := (or #79 #365 #450)
-#452 := [def-axiom]: #451
-#454 := [unit-resolution #452 #83]: #443
-#482 := [unit-resolution #454 #473]: #79
-[unit-resolution #482 #460]: false
-1a7e6fb939840d6cef72226e157b39c6c463f1a1 283 0
-unsat
+#823 := (iff #26 #820)
+#821 := (iff #25 #25)
+#822 := [refl]: #821
+#824 := [quant-intro #822]: #823
+#265 := (~ #26 #26)
+#263 := (~ #25 #25)
+#264 := [refl]: #263
+#266 := [nnf-pos #264]: #265
+#93 := [asserted]: #26
+#251 := [mp~ #93 #266]: #26
+#825 := [mp #251 #824]: #820
+#600 := (not #820)
+#807 := (or #600 #811)
+#481 := [quant-inst #10]: #807
+#535 := [unit-resolution #481 #825]: #811
+#421 := [symm #535]: #438
+#428 := [trans #421 #425]: #19
+#429 := [unit-resolution #534 #428]: false
+#430 := [lemma #429]: #19
+#413 := [symm #430]: #416
+#415 := (= #15 #18)
+#798 := (f8 f9 #18)
+#799 := (= #798 0::Int)
+#412 := (or #812 #799)
+#810 := (>= 0::Int 0::Int)
+#453 := (not #810)
+#800 := (or #453 #799)
+#788 := (or #812 #800)
+#511 := (iff #788 #412)
+#786 := (iff #412 #412)
+#790 := [rewrite]: #786
+#517 := (iff #800 #799)
+#806 := (or false #799)
+#515 := (iff #806 #799)
+#516 := [rewrite]: #515
+#792 := (iff #800 #806)
+#805 := (iff #453 false)
+#439 := (not true)
+#444 := (iff #439 false)
+#445 := [rewrite]: #444
+#802 := (iff #453 #439)
+#795 := (iff #810 true)
+#801 := [rewrite]: #795
+#804 := [monotonicity #801]: #802
+#803 := [trans #804 #445]: #805
+#793 := [monotonicity #803]: #792
+#518 := [trans #793 #516]: #517
+#512 := [monotonicity #518]: #511
+#787 := [trans #512 #790]: #511
+#789 := [quant-inst #17]: #788
+#791 := [mp #789 #787]: #412
+#431 := [unit-resolution #791 #832]: #799
+#414 := (= #11 #798)
+#417 := [monotonicity #430]: #414
+#418 := [trans #417 #431]: #784
+#419 := [unit-resolution #593 #418]: #774
+#420 := [monotonicity #419]: #415
+#407 := [trans #420 #413]: #16
+#483 := (or #89 #406)
+#491 := (or #89 #406 #490)
+#492 := [def-axiom]: #491
+#494 := [unit-resolution #492 #95]: #483
+#423 := [unit-resolution #494 #430]: #89
+[unit-resolution #423 #407]: false
+unsat
+1d2ee8034acef6abcc30ff56f495f5a58955cc18 267 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 0::Int
@@ -16422,111 +15223,84 @@
 #11 := (f5 #10 0::Int)
 #12 := (f3 f4 #11)
 #14 := (= #12 #13)
-#461 := (= #11 0::Int)
+#502 := (= #11 0::Int)
 #22 := (:var 0 Int)
 #34 := (:var 1 Int)
 #54 := (f6 f7 #34)
 #55 := (f5 #54 #22)
-#796 := (pattern #55)
-#130 := -1::Int
-#134 := (* -1::Int #22)
-#131 := (* -1::Int #34)
-#153 := (mod #131 #134)
-#344 := (+ #55 #153)
-#345 := (= #344 0::Int)
+#837 := (pattern #55)
+#135 := -1::Int
+#139 := (* -1::Int #22)
+#136 := (* -1::Int #34)
+#194 := (mod #136 #139)
+#324 := (+ #55 #194)
+#325 := (= #324 0::Int)
 #56 := (mod #34 #22)
-#341 := (* -1::Int #56)
-#342 := (+ #55 #341)
-#343 := (= #342 0::Int)
-#108 := (<= #22 0::Int)
-#220 := (>= #34 0::Int)
-#288 := (or #220 #108)
-#289 := (not #288)
-#104 := (<= #34 0::Int)
-#284 := (or #104 #108)
-#285 := (not #284)
-#292 := (or #285 #289)
-#346 := (if #292 #343 #345)
-#340 := (= #55 0::Int)
+#321 := (* -1::Int #56)
+#322 := (+ #55 #321)
+#323 := (= #322 0::Int)
+#161 := (<= #22 0::Int)
+#168 := (>= #34 0::Int)
+#268 := (or #168 #161)
+#269 := (not #268)
+#157 := (<= #34 0::Int)
+#266 := (or #157 #161)
+#267 := (not #266)
+#272 := (or #267 #269)
+#326 := (if #272 #323 #325)
+#320 := (= #55 0::Int)
 #37 := (= #34 0::Int)
-#347 := (if #37 #340 #346)
-#339 := (= #55 #34)
+#327 := (if #37 #320 #326)
+#319 := (= #55 #34)
 #38 := (= #22 0::Int)
-#348 := (if #38 #339 #347)
-#797 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #796) #348)
-#351 := (forall (vars (?v0 Int) (?v1 Int)) #348)
-#800 := (iff #351 #797)
-#798 := (iff #348 #348)
-#799 := [refl]: #798
-#801 := [quant-intro #799]: #800
-#159 := (* -1::Int #153)
-#308 := (if #292 #56 #159)
-#311 := (if #37 0::Int #308)
-#314 := (if #38 #34 #311)
-#317 := (= #55 #314)
-#320 := (forall (vars (?v0 Int) (?v1 Int)) #317)
-#352 := (iff #320 #351)
-#349 := (iff #317 #348)
-#350 := [rewrite]: #349
-#353 := [quant-intro #350]: #352
-#109 := (not #108)
-#223 := (not #220)
-#226 := (and #223 #109)
-#105 := (not #104)
-#112 := (and #105 #109)
-#229 := (or #112 #226)
-#245 := (if #229 #56 #159)
-#248 := (if #37 0::Int #245)
-#251 := (if #38 #34 #248)
-#254 := (= #55 #251)
-#257 := (forall (vars (?v0 Int) (?v1 Int)) #254)
-#321 := (iff #257 #320)
-#318 := (iff #254 #317)
-#315 := (= #251 #314)
-#312 := (= #248 #311)
-#309 := (= #245 #308)
-#293 := (iff #229 #292)
-#290 := (iff #226 #289)
-#291 := [rewrite]: #290
-#286 := (iff #112 #285)
-#287 := [rewrite]: #286
-#294 := [monotonicity #287 #291]: #293
-#310 := [monotonicity #294]: #309
-#313 := [monotonicity #310]: #312
-#316 := [monotonicity #313]: #315
-#319 := [monotonicity #316]: #318
-#322 := [quant-intro #319]: #321
-#281 := (~ #257 #257)
-#279 := (~ #254 #254)
-#280 := [refl]: #279
-#282 := [nnf-pos #280]: #281
-#115 := (<= 0::Int #34)
-#116 := (not #115)
-#124 := (and #116 #109)
-#127 := (or #112 #124)
-#164 := (if #127 #56 #159)
-#167 := (if #37 0::Int #164)
-#170 := (if #38 #34 #167)
-#173 := (= #55 #170)
-#176 := (forall (vars (?v0 Int) (?v1 Int)) #173)
-#258 := (iff #176 #257)
-#255 := (iff #173 #254)
-#252 := (= #170 #251)
-#249 := (= #167 #248)
-#246 := (= #164 #245)
-#230 := (iff #127 #229)
-#227 := (iff #124 #226)
-#224 := (iff #116 #223)
-#221 := (iff #115 #220)
-#222 := [rewrite]: #221
-#225 := [monotonicity #222]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#247 := [monotonicity #231]: #246
-#250 := [monotonicity #247]: #249
-#253 := [monotonicity #250]: #252
-#256 := [monotonicity #253]: #255
-#259 := [quant-intro #256]: #258
+#328 := (if #38 #319 #327)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #328)
+#331 := (forall (vars (?v0 Int) (?v1 Int)) #328)
+#841 := (iff #331 #838)
+#839 := (iff #328 #328)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#200 := (* -1::Int #194)
+#288 := (if #272 #56 #200)
+#291 := (if #37 0::Int #288)
+#294 := (if #38 #34 #291)
+#297 := (= #55 #294)
+#300 := (forall (vars (?v0 Int) (?v1 Int)) #297)
+#332 := (iff #300 #331)
+#329 := (iff #297 #328)
+#330 := [rewrite]: #329
+#333 := [quant-intro #330]: #332
+#162 := (not #161)
+#169 := (not #168)
+#172 := (and #169 #162)
+#158 := (not #157)
+#165 := (and #158 #162)
+#175 := (or #165 #172)
+#220 := (if #175 #56 #200)
+#223 := (if #37 0::Int #220)
+#226 := (if #38 #34 #223)
+#229 := (= #55 #226)
+#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
+#301 := (iff #232 #300)
+#298 := (iff #229 #297)
+#295 := (= #226 #294)
+#292 := (= #223 #291)
+#289 := (= #220 #288)
+#273 := (iff #175 #272)
+#270 := (iff #172 #269)
+#271 := [rewrite]: #270
+#251 := (iff #165 #267)
+#252 := [rewrite]: #251
+#274 := [monotonicity #252 #271]: #273
+#290 := [monotonicity #274]: #289
+#293 := [monotonicity #290]: #292
+#296 := [monotonicity #293]: #295
+#299 := [monotonicity #296]: #298
+#302 := [quant-intro #299]: #301
+#249 := (~ #232 #232)
+#263 := (~ #229 #229)
+#264 := [refl]: #263
+#250 := [nnf-pos #264]: #249
 #48 := (- #22)
 #47 := (- #34)
 #57 := (mod #47 #48)
@@ -16542,156 +15316,167 @@
 #61 := (if #38 #34 #60)
 #62 := (= #55 #61)
 #63 := (forall (vars (?v0 Int) (?v1 Int)) #62)
-#177 := (iff #63 #176)
-#174 := (iff #62 #173)
-#171 := (= #61 #170)
-#168 := (= #60 #167)
-#165 := (= #59 #164)
-#162 := (= #58 #159)
-#156 := (- #153)
-#160 := (= #156 #159)
-#161 := [rewrite]: #160
-#157 := (= #58 #156)
-#154 := (= #57 #153)
-#135 := (= #48 #134)
-#136 := [rewrite]: #135
-#132 := (= #47 #131)
-#133 := [rewrite]: #132
-#155 := [monotonicity #133 #136]: #154
-#158 := [monotonicity #155]: #157
-#163 := [trans #158 #161]: #162
-#128 := (iff #45 #127)
-#125 := (iff #44 #124)
-#110 := (iff #41 #109)
-#111 := [rewrite]: #110
-#117 := (iff #43 #116)
-#121 := (iff #116 #116)
-#119 := (iff #115 #115)
-#120 := [rewrite]: #119
-#122 := [monotonicity #120]: #121
-#118 := [rewrite]: #117
-#123 := [trans #118 #122]: #117
-#126 := [monotonicity #123 #111]: #125
-#113 := (iff #42 #112)
-#106 := (iff #40 #105)
-#107 := [rewrite]: #106
-#114 := [monotonicity #107 #111]: #113
-#129 := [monotonicity #114 #126]: #128
-#166 := [monotonicity #129 #163]: #165
-#169 := [monotonicity #166]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [quant-intro #175]: #177
-#70 := [asserted]: #63
-#179 := [mp #70 #178]: #176
-#260 := [mp #179 #259]: #257
-#283 := [mp~ #260 #282]: #257
-#323 := [mp #283 #322]: #320
-#354 := [mp #323 #353]: #351
-#802 := [mp #354 #801]: #797
-#697 := (not #797)
-#686 := (or #697 #461)
-#733 := (* -1::Int 0::Int)
-#448 := (mod #733 #733)
-#730 := (+ #11 #448)
-#734 := (= #730 0::Int)
-#452 := (mod 0::Int 0::Int)
-#453 := (* -1::Int #452)
-#454 := (+ #11 #453)
-#732 := (= #454 0::Int)
-#462 := (<= 0::Int 0::Int)
-#550 := (>= 0::Int 0::Int)
-#737 := (or #550 #462)
-#741 := (not #737)
-#736 := (or #462 #462)
-#740 := (not #736)
-#451 := (or #740 #741)
-#731 := (if #451 #732 #734)
-#739 := (= 0::Int 0::Int)
-#735 := (if #739 #461 #731)
-#724 := (if #739 #461 #735)
-#687 := (or #697 #724)
-#689 := (iff #687 #686)
-#690 := (iff #686 #686)
-#674 := [rewrite]: #690
-#696 := (iff #724 #461)
-#1 := true
-#685 := (if true #461 #461)
-#694 := (iff #685 #461)
-#695 := [rewrite]: #694
-#682 := (iff #724 #685)
-#691 := (iff #735 #461)
-#701 := (+ #11 #452)
-#699 := (= #701 0::Int)
-#609 := (if true #461 #699)
-#700 := (iff #609 #461)
-#704 := [rewrite]: #700
-#610 := (iff #735 #609)
-#607 := (iff #731 #699)
-#602 := (if false #732 #699)
-#598 := (iff #602 #699)
-#606 := [rewrite]: #598
-#604 := (iff #731 #602)
-#702 := (iff #734 #699)
-#603 := (= #730 #701)
-#594 := (= #448 #452)
-#592 := (= #733 0::Int)
-#593 := [rewrite]: #592
-#553 := [monotonicity #593 #593]: #594
-#698 := [monotonicity #553]: #603
-#587 := [monotonicity #698]: #702
-#707 := (iff #451 false)
-#552 := (or false false)
-#708 := (iff #552 false)
-#709 := [rewrite]: #708
-#705 := (iff #451 #552)
-#549 := (iff #741 false)
-#419 := (not true)
-#744 := (iff #419 false)
-#407 := [rewrite]: #744
-#713 := (iff #741 #419)
-#718 := (iff #737 true)
-#727 := (or true true)
-#729 := (iff #727 true)
-#570 := [rewrite]: #729
-#711 := (iff #737 #727)
-#721 := (iff #462 true)
-#722 := [rewrite]: #721
-#423 := (iff #550 true)
-#759 := [rewrite]: #423
-#712 := [monotonicity #759 #722]: #711
-#719 := [trans #712 #570]: #718
-#720 := [monotonicity #719]: #713
-#551 := [trans #720 #407]: #549
-#716 := (iff #740 false)
-#714 := (iff #740 #419)
-#571 := (iff #736 true)
-#728 := (iff #736 #727)
-#723 := [monotonicity #722 #722]: #728
-#572 := [trans #723 #570]: #571
-#715 := [monotonicity #572]: #714
-#717 := [trans #715 #407]: #716
-#706 := [monotonicity #717 #551]: #705
-#710 := [trans #706 #709]: #707
-#605 := [monotonicity #710 #587]: #604
-#608 := [trans #605 #606]: #607
-#725 := (iff #739 true)
-#726 := [rewrite]: #725
-#703 := [monotonicity #726 #608]: #610
-#693 := [trans #703 #704]: #691
-#684 := [monotonicity #726 #693]: #682
-#692 := [trans #684 #695]: #696
-#683 := [monotonicity #692]: #689
-#675 := [trans #683 #674]: #689
-#688 := [quant-inst #9 #9]: #687
-#677 := [mp #688 #675]: #686
-#679 := [unit-resolution #677 #802]: #461
-#680 := [monotonicity #679]: #14
-#15 := (not #14)
-#65 := [asserted]: #15
-[unit-resolution #65 #680]: false
-936a202ebc7a104f43c75b92a8828d52b8119be5 316 0
-unsat
+#235 := (iff #63 #232)
+#205 := (if #45 #56 #200)
+#208 := (if #37 0::Int #205)
+#211 := (if #38 #34 #208)
+#214 := (= #55 #211)
+#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
+#233 := (iff #217 #232)
+#230 := (iff #214 #229)
+#227 := (= #211 #226)
+#224 := (= #208 #223)
+#221 := (= #205 #220)
+#176 := (iff #45 #175)
+#173 := (iff #44 #172)
+#163 := (iff #41 #162)
+#164 := [rewrite]: #163
+#170 := (iff #43 #169)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171 #164]: #173
+#166 := (iff #42 #165)
+#159 := (iff #40 #158)
+#160 := [rewrite]: #159
+#167 := [monotonicity #160 #164]: #166
+#177 := [monotonicity #167 #174]: #176
+#222 := [monotonicity #177]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#218 := (iff #63 #217)
+#215 := (iff #62 #214)
+#212 := (= #61 #211)
+#209 := (= #60 #208)
+#206 := (= #59 #205)
+#203 := (= #58 #200)
+#197 := (- #194)
+#201 := (= #197 #200)
+#202 := [rewrite]: #201
+#198 := (= #58 #197)
+#195 := (= #57 #194)
+#140 := (= #48 #139)
+#141 := [rewrite]: #140
+#137 := (= #47 #136)
+#138 := [rewrite]: #137
+#196 := [monotonicity #138 #141]: #195
+#199 := [monotonicity #196]: #198
+#204 := [trans #199 #202]: #203
+#207 := [monotonicity #204]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [quant-intro #216]: #218
+#236 := [trans #219 #234]: #235
+#193 := [asserted]: #63
+#237 := [mp #193 #236]: #232
+#265 := [mp~ #237 #250]: #232
+#303 := [mp #265 #302]: #300
+#334 := [mp #303 #333]: #331
+#843 := [mp #334 #842]: #838
+#738 := (not #838)
+#727 := (or #738 #502)
+#774 := (* -1::Int 0::Int)
+#489 := (mod #774 #774)
+#771 := (+ #11 #489)
+#775 := (= #771 0::Int)
+#493 := (mod 0::Int 0::Int)
+#494 := (* -1::Int #493)
+#495 := (+ #11 #494)
+#773 := (= #495 0::Int)
+#503 := (<= 0::Int 0::Int)
+#591 := (>= 0::Int 0::Int)
+#778 := (or #591 #503)
+#782 := (not #778)
+#777 := (or #503 #503)
+#781 := (not #777)
+#492 := (or #781 #782)
+#772 := (if #492 #773 #775)
+#780 := (= 0::Int 0::Int)
+#776 := (if #780 #502 #772)
+#765 := (if #780 #502 #776)
+#728 := (or #738 #765)
+#730 := (iff #728 #727)
+#731 := (iff #727 #727)
+#715 := [rewrite]: #731
+#737 := (iff #765 #502)
+#1 := true
+#726 := (if true #502 #502)
+#735 := (iff #726 #502)
+#736 := [rewrite]: #735
+#723 := (iff #765 #726)
+#732 := (iff #776 #502)
+#742 := (+ #11 #493)
+#740 := (= #742 0::Int)
+#650 := (if true #502 #740)
+#741 := (iff #650 #502)
+#745 := [rewrite]: #741
+#651 := (iff #776 #650)
+#648 := (iff #772 #740)
+#643 := (if false #773 #740)
+#639 := (iff #643 #740)
+#647 := [rewrite]: #639
+#645 := (iff #772 #643)
+#743 := (iff #775 #740)
+#644 := (= #771 #742)
+#635 := (= #489 #493)
+#633 := (= #774 0::Int)
+#634 := [rewrite]: #633
+#594 := [monotonicity #634 #634]: #635
+#739 := [monotonicity #594]: #644
+#628 := [monotonicity #739]: #743
+#748 := (iff #492 false)
+#593 := (or false false)
+#749 := (iff #593 false)
+#750 := [rewrite]: #749
+#746 := (iff #492 #593)
+#590 := (iff #782 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#754 := (iff #782 #460)
+#759 := (iff #778 true)
+#768 := (or true true)
+#770 := (iff #768 true)
+#611 := [rewrite]: #770
+#752 := (iff #778 #768)
+#762 := (iff #503 true)
+#763 := [rewrite]: #762
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#753 := [monotonicity #800 #763]: #752
+#760 := [trans #753 #611]: #759
+#761 := [monotonicity #760]: #754
+#592 := [trans #761 #448]: #590
+#757 := (iff #781 false)
+#755 := (iff #781 #460)
+#612 := (iff #777 true)
+#769 := (iff #777 #768)
+#764 := [monotonicity #763 #763]: #769
+#613 := [trans #764 #611]: #612
+#756 := [monotonicity #613]: #755
+#758 := [trans #756 #448]: #757
+#747 := [monotonicity #758 #592]: #746
+#751 := [trans #747 #750]: #748
+#646 := [monotonicity #751 #628]: #645
+#649 := [trans #646 #647]: #648
+#766 := (iff #780 true)
+#767 := [rewrite]: #766
+#744 := [monotonicity #767 #649]: #651
+#734 := [trans #744 #745]: #732
+#725 := [monotonicity #767 #734]: #723
+#733 := [trans #725 #736]: #737
+#724 := [monotonicity #733]: #730
+#716 := [trans #724 #715]: #730
+#729 := [quant-inst #9 #9]: #728
+#718 := [mp #729 #716]: #727
+#720 := [unit-resolution #718 #843]: #502
+#721 := [monotonicity #720]: #14
+#15 := (not #14)
+#83 := [asserted]: #15
+[unit-resolution #83 #721]: false
+unsat
+3423d3f62be3468a179235b7bd3ba97bcbe5bc80 300 0
 #2 := false
 decl f10 :: S3
 #10 := f10
@@ -16711,136 +15496,109 @@
 #7 := f4
 #15 := (f3 f4 #14)
 #16 := (= #15 f10)
-#356 := (f3 f4 #11)
-#441 := (= #356 f10)
+#398 := (f3 f4 #11)
+#482 := (= #398 f10)
 #18 := (:var 0 S3)
 #19 := (f8 f9 #18)
-#770 := (pattern #19)
+#811 := (pattern #19)
 #20 := (f3 f4 #19)
 #21 := (= #20 #18)
-#771 := (forall (vars (?v0 S3)) (:pat #770) #21)
+#812 := (forall (vars (?v0 S3)) (:pat #811) #21)
 #22 := (forall (vars (?v0 S3)) #21)
-#774 := (iff #22 #771)
-#772 := (iff #21 #21)
-#773 := [refl]: #772
-#775 := [quant-intro #773]: #774
-#264 := (~ #22 #22)
-#199 := (~ #21 #21)
-#200 := [refl]: #199
-#265 := [nnf-pos #200]: #264
-#67 := [asserted]: #22
-#268 := [mp~ #67 #265]: #22
-#776 := [mp #268 #775]: #771
-#434 := (not #771)
-#445 := (or #434 #441)
-#446 := [quant-inst #10]: #445
-#609 := [unit-resolution #446 #776]: #441
-#611 := (= #15 #356)
-#767 := (= #14 #11)
+#815 := (iff #22 #812)
+#813 := (iff #21 #21)
+#814 := [refl]: #813
+#816 := [quant-intro #814]: #815
+#256 := (~ #22 #22)
+#254 := (~ #21 #21)
+#255 := [refl]: #254
+#257 := [nnf-pos #255]: #256
+#85 := [asserted]: #22
+#242 := [mp~ #85 #257]: #22
+#817 := [mp #242 #816]: #812
+#475 := (not #812)
+#486 := (or #475 #482)
+#487 := [quant-inst #10]: #486
+#650 := [unit-resolution #487 #817]: #482
+#652 := (= #15 #398)
+#808 := (= #14 #11)
 #23 := (:var 0 Int)
 #35 := (:var 1 Int)
 #55 := (f6 f7 #35)
 #56 := (f5 #55 #23)
-#797 := (pattern #56)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #35)
-#154 := (mod #132 #135)
-#345 := (+ #56 #154)
-#346 := (= #345 0::Int)
+#838 := (pattern #56)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #35)
+#195 := (mod #137 #140)
+#325 := (+ #56 #195)
+#326 := (= #325 0::Int)
 #57 := (mod #35 #23)
-#342 := (* -1::Int #57)
-#343 := (+ #56 #342)
-#344 := (= #343 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #35 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #35 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#347 := (if #293 #344 #346)
-#341 := (= #56 0::Int)
+#322 := (* -1::Int #57)
+#323 := (+ #56 #322)
+#324 := (= #323 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #35 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #35 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#327 := (if #273 #324 #326)
+#321 := (= #56 0::Int)
 #38 := (= #35 0::Int)
-#348 := (if #38 #341 #347)
-#340 := (= #56 #35)
+#328 := (if #38 #321 #327)
+#320 := (= #56 #35)
 #39 := (= #23 0::Int)
-#349 := (if #39 #340 #348)
-#798 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #797) #349)
-#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
-#801 := (iff #352 #798)
-#799 := (iff #349 #349)
-#800 := [refl]: #799
-#802 := [quant-intro #800]: #801
-#160 := (* -1::Int #154)
-#309 := (if #293 #57 #160)
-#312 := (if #38 0::Int #309)
-#315 := (if #39 #35 #312)
-#318 := (= #56 #315)
-#321 := (forall (vars (?v0 Int) (?v1 Int)) #318)
-#353 := (iff #321 #352)
-#350 := (iff #318 #349)
-#351 := [rewrite]: #350
-#354 := [quant-intro #351]: #353
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#246 := (if #230 #57 #160)
-#249 := (if #38 0::Int #246)
-#252 := (if #39 #35 #249)
-#255 := (= #56 #252)
-#258 := (forall (vars (?v0 Int) (?v1 Int)) #255)
-#322 := (iff #258 #321)
-#319 := (iff #255 #318)
-#316 := (= #252 #315)
-#313 := (= #249 #312)
-#310 := (= #246 #309)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#311 := [monotonicity #295]: #310
-#314 := [monotonicity #311]: #313
-#317 := [monotonicity #314]: #316
-#320 := [monotonicity #317]: #319
-#323 := [quant-intro #320]: #322
-#282 := (~ #258 #258)
-#280 := (~ #255 #255)
-#281 := [refl]: #280
-#283 := [nnf-pos #281]: #282
-#116 := (<= 0::Int #35)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#165 := (if #128 #57 #160)
-#168 := (if #38 0::Int #165)
-#171 := (if #39 #35 #168)
-#174 := (= #56 #171)
-#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
-#259 := (iff #177 #258)
-#256 := (iff #174 #255)
-#253 := (= #171 #252)
-#250 := (= #168 #249)
-#247 := (= #165 #246)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#248 := [monotonicity #232]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [quant-intro #257]: #259
+#329 := (if #39 #320 #328)
+#839 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #838) #329)
+#332 := (forall (vars (?v0 Int) (?v1 Int)) #329)
+#842 := (iff #332 #839)
+#840 := (iff #329 #329)
+#841 := [refl]: #840
+#843 := [quant-intro #841]: #842
+#201 := (* -1::Int #195)
+#289 := (if #273 #57 #201)
+#292 := (if #38 0::Int #289)
+#295 := (if #39 #35 #292)
+#298 := (= #56 #295)
+#301 := (forall (vars (?v0 Int) (?v1 Int)) #298)
+#333 := (iff #301 #332)
+#330 := (iff #298 #329)
+#331 := [rewrite]: #330
+#334 := [quant-intro #331]: #333
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#221 := (if #176 #57 #201)
+#224 := (if #38 0::Int #221)
+#227 := (if #39 #35 #224)
+#230 := (= #56 #227)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#302 := (iff #233 #301)
+#299 := (iff #230 #298)
+#296 := (= #227 #295)
+#293 := (= #224 #292)
+#290 := (= #221 #289)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#291 := [monotonicity #275]: #290
+#294 := [monotonicity #291]: #293
+#297 := [monotonicity #294]: #296
+#300 := [monotonicity #297]: #299
+#303 := [quant-intro #300]: #302
+#250 := (~ #233 #233)
+#264 := (~ #230 #230)
+#265 := [refl]: #264
+#251 := [nnf-pos #265]: #250
 #49 := (- #23)
 #48 := (- #35)
 #58 := (mod #48 #49)
@@ -16856,159 +15614,170 @@
 #62 := (if #39 #35 #61)
 #63 := (= #56 #62)
 #64 := (forall (vars (?v0 Int) (?v1 Int)) #63)
-#178 := (iff #64 #177)
-#175 := (iff #63 #174)
-#172 := (= #62 #171)
-#169 := (= #61 #168)
-#166 := (= #60 #165)
-#163 := (= #59 #160)
-#157 := (- #154)
-#161 := (= #157 #160)
-#162 := [rewrite]: #161
-#158 := (= #59 #157)
-#155 := (= #58 #154)
-#136 := (= #49 #135)
-#137 := [rewrite]: #136
-#133 := (= #48 #132)
-#134 := [rewrite]: #133
-#156 := [monotonicity #134 #137]: #155
-#159 := [monotonicity #156]: #158
-#164 := [trans #159 #162]: #163
-#129 := (iff #46 #128)
-#126 := (iff #45 #125)
-#111 := (iff #42 #110)
-#112 := [rewrite]: #111
-#118 := (iff #44 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #43 #113)
-#107 := (iff #41 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#167 := [monotonicity #130 #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [quant-intro #176]: #178
-#71 := [asserted]: #64
-#180 := [mp #71 #179]: #177
-#261 := [mp #180 #260]: #258
-#284 := [mp~ #261 #283]: #258
-#324 := [mp #284 #323]: #321
-#355 := [mp #324 #354]: #352
-#803 := [mp #355 #802]: #798
-#699 := (not #798)
-#700 := (or #699 #767)
-#390 := (* -1::Int 0::Int)
-#752 := (* -1::Int #11)
-#753 := (mod #752 #390)
-#755 := (+ #14 #753)
-#395 := (= #755 0::Int)
-#749 := (mod #11 0::Int)
-#750 := (* -1::Int #749)
-#751 := (+ #14 #750)
-#746 := (= #751 0::Int)
-#745 := (<= 0::Int 0::Int)
-#410 := (>= #11 0::Int)
-#411 := (or #410 #745)
-#747 := (not #411)
-#404 := (<= #11 0::Int)
-#408 := (or #404 #745)
-#409 := (not #408)
-#748 := (or #409 #747)
-#396 := (if #748 #746 #395)
-#761 := (= #14 0::Int)
-#420 := (= #11 0::Int)
-#756 := (if #420 #761 #396)
-#766 := (= 0::Int 0::Int)
-#754 := (if #766 #767 #756)
-#703 := (or #699 #754)
-#603 := (iff #703 #700)
-#606 := (iff #700 #700)
-#599 := [rewrite]: #606
-#702 := (iff #754 #767)
-#573 := (mod #752 0::Int)
-#717 := (+ #14 #573)
-#713 := (= #717 0::Int)
-#709 := (if #420 #761 #713)
-#1 := true
-#711 := (if true #767 #709)
-#595 := (iff #711 #767)
-#554 := [rewrite]: #595
-#593 := (iff #754 #711)
-#710 := (iff #756 #709)
-#706 := (iff #396 #713)
-#714 := (if false #746 #713)
-#552 := (iff #714 #713)
-#553 := [rewrite]: #552
-#721 := (iff #396 #714)
-#719 := (iff #395 #713)
-#718 := (= #755 #717)
-#715 := (= #753 #573)
-#571 := (= #390 0::Int)
-#572 := [rewrite]: #571
-#716 := [monotonicity #572]: #715
-#712 := [monotonicity #716]: #718
-#720 := [monotonicity #712]: #719
-#724 := (iff #748 false)
-#727 := (or false false)
-#728 := (iff #727 false)
-#729 := [rewrite]: #728
-#722 := (iff #748 #727)
-#725 := (iff #747 false)
-#463 := (not true)
-#738 := (iff #463 false)
-#742 := [rewrite]: #738
-#732 := (iff #747 #463)
-#731 := (iff #411 true)
-#454 := (or #410 true)
-#734 := (iff #454 true)
-#449 := [rewrite]: #734
-#455 := (iff #411 #454)
-#744 := (iff #745 true)
-#466 := [rewrite]: #744
-#733 := [monotonicity #466]: #455
-#735 := [trans #733 #449]: #731
-#736 := [monotonicity #735]: #732
-#726 := [trans #736 #742]: #725
-#452 := (iff #409 false)
-#737 := (iff #409 #463)
-#740 := (iff #408 true)
-#467 := (or #404 true)
-#362 := (iff #467 true)
-#739 := [rewrite]: #362
-#468 := (iff #408 #467)
-#469 := [monotonicity #466]: #468
-#462 := [trans #469 #739]: #740
-#741 := [monotonicity #462]: #737
-#453 := [trans #741 #742]: #452
-#723 := [monotonicity #453 #726]: #722
-#730 := [trans #723 #729]: #724
-#550 := [monotonicity #730 #720]: #721
-#707 := [trans #550 #553]: #706
-#708 := [monotonicity #707]: #710
-#757 := (iff #766 true)
-#743 := [rewrite]: #757
-#594 := [monotonicity #743 #708]: #593
-#604 := [trans #594 #554]: #702
-#605 := [monotonicity #604]: #603
-#607 := [trans #605 #599]: #603
-#588 := [quant-inst #11 #13]: #703
-#608 := [mp #588 #607]: #700
-#610 := [unit-resolution #608 #803]: #767
-#704 := [monotonicity #610]: #611
-#701 := [trans #704 #609]: #16
+#236 := (iff #64 #233)
+#206 := (if #46 #57 #201)
+#209 := (if #38 0::Int #206)
+#212 := (if #39 #35 #209)
+#215 := (= #56 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#234 := (iff #218 #233)
+#231 := (iff #215 #230)
+#228 := (= #212 #227)
+#225 := (= #209 #224)
+#222 := (= #206 #221)
+#177 := (iff #46 #176)
+#174 := (iff #45 #173)
+#164 := (iff #42 #163)
+#165 := [rewrite]: #164
+#171 := (iff #44 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #43 #166)
+#160 := (iff #41 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#223 := [monotonicity #178]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#219 := (iff #64 #218)
+#216 := (iff #63 #215)
+#213 := (= #62 #212)
+#210 := (= #61 #209)
+#207 := (= #60 #206)
+#204 := (= #59 #201)
+#198 := (- #195)
+#202 := (= #198 #201)
+#203 := [rewrite]: #202
+#199 := (= #59 #198)
+#196 := (= #58 #195)
+#141 := (= #49 #140)
+#142 := [rewrite]: #141
+#138 := (= #48 #137)
+#139 := [rewrite]: #138
+#197 := [monotonicity #139 #142]: #196
+#200 := [monotonicity #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#237 := [trans #220 #235]: #236
+#194 := [asserted]: #64
+#238 := [mp #194 #237]: #233
+#266 := [mp~ #238 #251]: #233
+#304 := [mp #266 #303]: #301
+#335 := [mp #304 #334]: #332
+#844 := [mp #335 #843]: #839
+#740 := (not #839)
+#741 := (or #740 #808)
+#431 := (* -1::Int 0::Int)
+#793 := (* -1::Int #11)
+#794 := (mod #793 #431)
+#796 := (+ #14 #794)
+#436 := (= #796 0::Int)
+#790 := (mod #11 0::Int)
+#791 := (* -1::Int #790)
+#792 := (+ #14 #791)
+#787 := (= #792 0::Int)
+#786 := (<= 0::Int 0::Int)
+#451 := (>= #11 0::Int)
+#452 := (or #451 #786)
+#788 := (not #452)
+#445 := (<= #11 0::Int)
+#449 := (or #445 #786)
+#450 := (not #449)
+#789 := (or #450 #788)
+#437 := (if #789 #787 #436)
+#802 := (= #14 0::Int)
+#461 := (= #11 0::Int)
+#797 := (if #461 #802 #437)
+#807 := (= 0::Int 0::Int)
+#795 := (if #807 #808 #797)
+#744 := (or #740 #795)
+#644 := (iff #744 #741)
+#647 := (iff #741 #741)
+#640 := [rewrite]: #647
+#743 := (iff #795 #808)
+#614 := (mod #793 0::Int)
+#758 := (+ #14 #614)
+#754 := (= #758 0::Int)
+#750 := (if #461 #802 #754)
+#1 := true
+#752 := (if true #808 #750)
+#636 := (iff #752 #808)
+#595 := [rewrite]: #636
+#634 := (iff #795 #752)
+#751 := (iff #797 #750)
+#747 := (iff #437 #754)
+#755 := (if false #787 #754)
+#593 := (iff #755 #754)
+#594 := [rewrite]: #593
+#762 := (iff #437 #755)
+#760 := (iff #436 #754)
+#759 := (= #796 #758)
+#756 := (= #794 #614)
+#612 := (= #431 0::Int)
+#613 := [rewrite]: #612
+#757 := [monotonicity #613]: #756
+#753 := [monotonicity #757]: #759
+#761 := [monotonicity #753]: #760
+#765 := (iff #789 false)
+#768 := (or false false)
+#769 := (iff #768 false)
+#770 := [rewrite]: #769
+#763 := (iff #789 #768)
+#766 := (iff #788 false)
+#504 := (not true)
+#779 := (iff #504 false)
+#783 := [rewrite]: #779
+#773 := (iff #788 #504)
+#772 := (iff #452 true)
+#495 := (or #451 true)
+#775 := (iff #495 true)
+#490 := [rewrite]: #775
+#496 := (iff #452 #495)
+#785 := (iff #786 true)
+#507 := [rewrite]: #785
+#774 := [monotonicity #507]: #496
+#776 := [trans #774 #490]: #772
+#777 := [monotonicity #776]: #773
+#767 := [trans #777 #783]: #766
+#493 := (iff #450 false)
+#778 := (iff #450 #504)
+#781 := (iff #449 true)
+#508 := (or #445 true)
+#404 := (iff #508 true)
+#780 := [rewrite]: #404
+#509 := (iff #449 #508)
+#510 := [monotonicity #507]: #509
+#503 := [trans #510 #780]: #781
+#782 := [monotonicity #503]: #778
+#494 := [trans #782 #783]: #493
+#764 := [monotonicity #494 #767]: #763
+#771 := [trans #764 #770]: #765
+#591 := [monotonicity #771 #761]: #762
+#748 := [trans #591 #594]: #747
+#749 := [monotonicity #748]: #751
+#798 := (iff #807 true)
+#784 := [rewrite]: #798
+#635 := [monotonicity #784 #749]: #634
+#645 := [trans #635 #595]: #743
+#646 := [monotonicity #645]: #644
+#648 := [trans #646 #640]: #644
+#629 := [quant-inst #11 #13]: #744
+#649 := [mp #629 #648]: #741
+#651 := [unit-resolution #649 #844]: #808
+#745 := [monotonicity #651]: #652
+#742 := [trans #745 #650]: #16
 #17 := (not #16)
-#66 := [asserted]: #17
-[unit-resolution #66 #701]: false
-364659a809da594253b58b8a2b28d9516abee4db 310 0
-unsat
+#84 := [asserted]: #17
+[unit-resolution #84 #742]: false
+unsat
+c3011ba0f8d5cd7434b90805d32c60ec6054ba7f 294 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 0::Int
@@ -17024,111 +15793,84 @@
 #12 := (f5 #10 1::Int)
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
-#461 := (= #12 0::Int)
+#502 := (= #12 0::Int)
 #23 := (:var 0 Int)
 #35 := (:var 1 Int)
 #55 := (f6 f7 #35)
 #56 := (f5 #55 #23)
-#796 := (pattern #56)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #35)
-#154 := (mod #132 #135)
-#345 := (+ #56 #154)
-#346 := (= #345 0::Int)
+#837 := (pattern #56)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #35)
+#195 := (mod #137 #140)
+#325 := (+ #56 #195)
+#326 := (= #325 0::Int)
 #57 := (mod #35 #23)
-#342 := (* -1::Int #57)
-#343 := (+ #56 #342)
-#344 := (= #343 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #35 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #35 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#347 := (if #293 #344 #346)
-#341 := (= #56 0::Int)
+#322 := (* -1::Int #57)
+#323 := (+ #56 #322)
+#324 := (= #323 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #35 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #35 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#327 := (if #273 #324 #326)
+#321 := (= #56 0::Int)
 #38 := (= #35 0::Int)
-#348 := (if #38 #341 #347)
-#340 := (= #56 #35)
+#328 := (if #38 #321 #327)
+#320 := (= #56 #35)
 #39 := (= #23 0::Int)
-#349 := (if #39 #340 #348)
-#797 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #796) #349)
-#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
-#800 := (iff #352 #797)
-#798 := (iff #349 #349)
-#799 := [refl]: #798
-#801 := [quant-intro #799]: #800
-#160 := (* -1::Int #154)
-#309 := (if #293 #57 #160)
-#312 := (if #38 0::Int #309)
-#315 := (if #39 #35 #312)
-#318 := (= #56 #315)
-#321 := (forall (vars (?v0 Int) (?v1 Int)) #318)
-#353 := (iff #321 #352)
-#350 := (iff #318 #349)
-#351 := [rewrite]: #350
-#354 := [quant-intro #351]: #353
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#246 := (if #230 #57 #160)
-#249 := (if #38 0::Int #246)
-#252 := (if #39 #35 #249)
-#255 := (= #56 #252)
-#258 := (forall (vars (?v0 Int) (?v1 Int)) #255)
-#322 := (iff #258 #321)
-#319 := (iff #255 #318)
-#316 := (= #252 #315)
-#313 := (= #249 #312)
-#310 := (= #246 #309)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#311 := [monotonicity #295]: #310
-#314 := [monotonicity #311]: #313
-#317 := [monotonicity #314]: #316
-#320 := [monotonicity #317]: #319
-#323 := [quant-intro #320]: #322
-#282 := (~ #258 #258)
-#280 := (~ #255 #255)
-#281 := [refl]: #280
-#283 := [nnf-pos #281]: #282
-#116 := (<= 0::Int #35)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#165 := (if #128 #57 #160)
-#168 := (if #38 0::Int #165)
-#171 := (if #39 #35 #168)
-#174 := (= #56 #171)
-#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
-#259 := (iff #177 #258)
-#256 := (iff #174 #255)
-#253 := (= #171 #252)
-#250 := (= #168 #249)
-#247 := (= #165 #246)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#248 := [monotonicity #232]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [quant-intro #257]: #259
+#329 := (if #39 #320 #328)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #329)
+#332 := (forall (vars (?v0 Int) (?v1 Int)) #329)
+#841 := (iff #332 #838)
+#839 := (iff #329 #329)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#201 := (* -1::Int #195)
+#289 := (if #273 #57 #201)
+#292 := (if #38 0::Int #289)
+#295 := (if #39 #35 #292)
+#298 := (= #56 #295)
+#301 := (forall (vars (?v0 Int) (?v1 Int)) #298)
+#333 := (iff #301 #332)
+#330 := (iff #298 #329)
+#331 := [rewrite]: #330
+#334 := [quant-intro #331]: #333
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#221 := (if #176 #57 #201)
+#224 := (if #38 0::Int #221)
+#227 := (if #39 #35 #224)
+#230 := (= #56 #227)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#302 := (iff #233 #301)
+#299 := (iff #230 #298)
+#296 := (= #227 #295)
+#293 := (= #224 #292)
+#290 := (= #221 #289)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#291 := [monotonicity #275]: #290
+#294 := [monotonicity #291]: #293
+#297 := [monotonicity #294]: #296
+#300 := [monotonicity #297]: #299
+#303 := [quant-intro #300]: #302
+#250 := (~ #233 #233)
+#264 := (~ #230 #230)
+#265 := [refl]: #264
+#251 := [nnf-pos #265]: #250
 #49 := (- #23)
 #48 := (- #35)
 #58 := (mod #48 #49)
@@ -17144,182 +15886,193 @@
 #62 := (if #39 #35 #61)
 #63 := (= #56 #62)
 #64 := (forall (vars (?v0 Int) (?v1 Int)) #63)
-#178 := (iff #64 #177)
-#175 := (iff #63 #174)
-#172 := (= #62 #171)
-#169 := (= #61 #168)
-#166 := (= #60 #165)
-#163 := (= #59 #160)
-#157 := (- #154)
-#161 := (= #157 #160)
-#162 := [rewrite]: #161
-#158 := (= #59 #157)
-#155 := (= #58 #154)
-#136 := (= #49 #135)
-#137 := [rewrite]: #136
-#133 := (= #48 #132)
-#134 := [rewrite]: #133
-#156 := [monotonicity #134 #137]: #155
-#159 := [monotonicity #156]: #158
-#164 := [trans #159 #162]: #163
-#129 := (iff #46 #128)
-#126 := (iff #45 #125)
-#111 := (iff #42 #110)
-#112 := [rewrite]: #111
-#118 := (iff #44 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #43 #113)
-#107 := (iff #41 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#167 := [monotonicity #130 #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [quant-intro #176]: #178
-#71 := [asserted]: #64
-#180 := [mp #71 #179]: #177
-#261 := [mp #180 #260]: #258
-#284 := [mp~ #261 #283]: #258
-#324 := [mp #284 #323]: #321
-#355 := [mp #324 #354]: #352
-#802 := [mp #355 #801]: #797
-#658 := (not #797)
-#659 := (or #658 #461)
-#734 := (* -1::Int 1::Int)
-#730 := (* -1::Int 0::Int)
-#731 := (mod #730 #734)
-#735 := (+ #12 #731)
-#724 := (= #735 0::Int)
-#454 := (mod 0::Int 1::Int)
-#732 := (* -1::Int #454)
-#733 := (+ #12 #732)
-#448 := (= #733 0::Int)
-#740 := (<= 1::Int 0::Int)
-#550 := (>= 0::Int 0::Int)
-#451 := (or #550 #740)
-#452 := (not #451)
-#736 := (<= 0::Int 0::Int)
-#737 := (or #736 #740)
-#741 := (not #737)
-#453 := (or #741 #452)
-#725 := (if #453 #448 #724)
-#462 := (= 0::Int 0::Int)
-#726 := (if #462 #461 #725)
-#739 := (= 1::Int 0::Int)
-#721 := (if #739 #461 #726)
-#660 := (or #658 #721)
-#662 := (iff #660 #659)
-#664 := (iff #659 #659)
-#665 := [rewrite]: #664
-#656 := (iff #721 #461)
-#675 := (if false #461 #461)
-#679 := (iff #675 #461)
-#680 := [rewrite]: #679
-#653 := (iff #721 #675)
-#669 := (iff #726 #461)
-#1 := true
-#667 := (if true #461 #461)
-#671 := (iff #667 #461)
-#672 := [rewrite]: #671
-#668 := (iff #726 #667)
-#676 := (iff #725 #461)
-#677 := (iff #725 #675)
-#690 := (iff #724 #461)
-#689 := (= #735 #12)
-#607 := (+ #12 0::Int)
-#610 := (= #607 #12)
-#703 := [rewrite]: #610
-#687 := (= #735 #607)
-#697 := (= #731 0::Int)
-#684 := (mod 0::Int -1::Int)
-#696 := (= #684 0::Int)
-#692 := [rewrite]: #696
-#694 := (= #731 #684)
-#685 := (= #734 -1::Int)
-#682 := [rewrite]: #685
-#604 := (= #730 0::Int)
-#605 := [rewrite]: #604
-#695 := [monotonicity #605 #682]: #694
-#686 := [trans #695 #692]: #697
-#688 := [monotonicity #686]: #687
-#683 := [trans #688 #703]: #689
-#674 := [monotonicity #683]: #690
-#691 := (iff #448 #461)
-#700 := (= #733 #12)
-#608 := (= #733 #607)
-#598 := (= #732 0::Int)
-#587 := (= #732 #730)
-#699 := (= #454 0::Int)
-#702 := [rewrite]: #699
-#602 := [monotonicity #702]: #587
-#606 := [trans #602 #605]: #598
-#609 := [monotonicity #606]: #608
-#704 := [trans #609 #703]: #700
-#693 := [monotonicity #704]: #691
-#603 := (iff #453 false)
-#592 := (or false false)
-#553 := (iff #592 false)
-#701 := [rewrite]: #553
-#593 := (iff #453 #592)
-#707 := (iff #452 false)
-#419 := (not true)
-#744 := (iff #419 false)
-#407 := [rewrite]: #744
-#708 := (iff #452 #419)
-#705 := (iff #451 true)
-#714 := (or true false)
-#717 := (iff #714 true)
-#711 := [rewrite]: #717
-#551 := (iff #451 #714)
-#571 := (iff #740 false)
-#572 := [rewrite]: #571
-#423 := (iff #550 true)
-#759 := [rewrite]: #423
-#552 := [monotonicity #759 #572]: #551
-#706 := [trans #552 #711]: #705
-#709 := [monotonicity #706]: #708
-#710 := [trans #709 #407]: #707
-#720 := (iff #741 false)
-#719 := (iff #741 #419)
-#712 := (iff #737 true)
-#715 := (iff #737 #714)
-#729 := (iff #736 true)
-#570 := [rewrite]: #729
-#716 := [monotonicity #570 #572]: #715
-#718 := [trans #716 #711]: #712
-#713 := [monotonicity #718]: #719
-#549 := [trans #713 #407]: #720
-#594 := [monotonicity #549 #710]: #593
-#698 := [trans #594 #701]: #603
-#678 := [monotonicity #698 #693 #674]: #677
-#681 := [trans #678 #680]: #676
-#728 := (iff #462 true)
-#723 := [rewrite]: #728
-#670 := [monotonicity #723 #681]: #668
-#673 := [trans #670 #672]: #669
-#722 := (iff #739 false)
-#727 := [rewrite]: #722
-#654 := [monotonicity #727 #673]: #653
-#657 := [trans #654 #680]: #656
-#663 := [monotonicity #657]: #662
-#655 := [trans #663 #665]: #662
-#661 := [quant-inst #9 #11]: #660
-#666 := [mp #661 #655]: #659
-#645 := [unit-resolution #666 #802]: #461
-#647 := [monotonicity #645]: #15
+#236 := (iff #64 #233)
+#206 := (if #46 #57 #201)
+#209 := (if #38 0::Int #206)
+#212 := (if #39 #35 #209)
+#215 := (= #56 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#234 := (iff #218 #233)
+#231 := (iff #215 #230)
+#228 := (= #212 #227)
+#225 := (= #209 #224)
+#222 := (= #206 #221)
+#177 := (iff #46 #176)
+#174 := (iff #45 #173)
+#164 := (iff #42 #163)
+#165 := [rewrite]: #164
+#171 := (iff #44 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #43 #166)
+#160 := (iff #41 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#223 := [monotonicity #178]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#219 := (iff #64 #218)
+#216 := (iff #63 #215)
+#213 := (= #62 #212)
+#210 := (= #61 #209)
+#207 := (= #60 #206)
+#204 := (= #59 #201)
+#198 := (- #195)
+#202 := (= #198 #201)
+#203 := [rewrite]: #202
+#199 := (= #59 #198)
+#196 := (= #58 #195)
+#141 := (= #49 #140)
+#142 := [rewrite]: #141
+#138 := (= #48 #137)
+#139 := [rewrite]: #138
+#197 := [monotonicity #139 #142]: #196
+#200 := [monotonicity #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#237 := [trans #220 #235]: #236
+#194 := [asserted]: #64
+#238 := [mp #194 #237]: #233
+#266 := [mp~ #238 #251]: #233
+#304 := [mp #266 #303]: #301
+#335 := [mp #304 #334]: #332
+#843 := [mp #335 #842]: #838
+#699 := (not #838)
+#700 := (or #699 #502)
+#775 := (* -1::Int 1::Int)
+#771 := (* -1::Int 0::Int)
+#772 := (mod #771 #775)
+#776 := (+ #12 #772)
+#765 := (= #776 0::Int)
+#495 := (mod 0::Int 1::Int)
+#773 := (* -1::Int #495)
+#774 := (+ #12 #773)
+#489 := (= #774 0::Int)
+#781 := (<= 1::Int 0::Int)
+#591 := (>= 0::Int 0::Int)
+#492 := (or #591 #781)
+#493 := (not #492)
+#777 := (<= 0::Int 0::Int)
+#778 := (or #777 #781)
+#782 := (not #778)
+#494 := (or #782 #493)
+#766 := (if #494 #489 #765)
+#503 := (= 0::Int 0::Int)
+#767 := (if #503 #502 #766)
+#780 := (= 1::Int 0::Int)
+#762 := (if #780 #502 #767)
+#701 := (or #699 #762)
+#703 := (iff #701 #700)
+#705 := (iff #700 #700)
+#706 := [rewrite]: #705
+#697 := (iff #762 #502)
+#716 := (if false #502 #502)
+#720 := (iff #716 #502)
+#721 := [rewrite]: #720
+#694 := (iff #762 #716)
+#710 := (iff #767 #502)
+#1 := true
+#708 := (if true #502 #502)
+#712 := (iff #708 #502)
+#713 := [rewrite]: #712
+#709 := (iff #767 #708)
+#717 := (iff #766 #502)
+#718 := (iff #766 #716)
+#731 := (iff #765 #502)
+#730 := (= #776 #12)
+#648 := (+ #12 0::Int)
+#651 := (= #648 #12)
+#744 := [rewrite]: #651
+#728 := (= #776 #648)
+#738 := (= #772 0::Int)
+#725 := (mod 0::Int -1::Int)
+#737 := (= #725 0::Int)
+#733 := [rewrite]: #737
+#735 := (= #772 #725)
+#726 := (= #775 -1::Int)
+#723 := [rewrite]: #726
+#645 := (= #771 0::Int)
+#646 := [rewrite]: #645
+#736 := [monotonicity #646 #723]: #735
+#727 := [trans #736 #733]: #738
+#729 := [monotonicity #727]: #728
+#724 := [trans #729 #744]: #730
+#715 := [monotonicity #724]: #731
+#732 := (iff #489 #502)
+#741 := (= #774 #12)
+#649 := (= #774 #648)
+#639 := (= #773 0::Int)
+#628 := (= #773 #771)
+#740 := (= #495 0::Int)
+#743 := [rewrite]: #740
+#643 := [monotonicity #743]: #628
+#647 := [trans #643 #646]: #639
+#650 := [monotonicity #647]: #649
+#745 := [trans #650 #744]: #741
+#734 := [monotonicity #745]: #732
+#644 := (iff #494 false)
+#633 := (or false false)
+#594 := (iff #633 false)
+#742 := [rewrite]: #594
+#634 := (iff #494 #633)
+#748 := (iff #493 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#749 := (iff #493 #460)
+#746 := (iff #492 true)
+#755 := (or true false)
+#758 := (iff #755 true)
+#752 := [rewrite]: #758
+#592 := (iff #492 #755)
+#612 := (iff #781 false)
+#613 := [rewrite]: #612
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#593 := [monotonicity #800 #613]: #592
+#747 := [trans #593 #752]: #746
+#750 := [monotonicity #747]: #749
+#751 := [trans #750 #448]: #748
+#761 := (iff #782 false)
+#760 := (iff #782 #460)
+#753 := (iff #778 true)
+#756 := (iff #778 #755)
+#770 := (iff #777 true)
+#611 := [rewrite]: #770
+#757 := [monotonicity #611 #613]: #756
+#759 := [trans #757 #752]: #753
+#754 := [monotonicity #759]: #760
+#590 := [trans #754 #448]: #761
+#635 := [monotonicity #590 #751]: #634
+#739 := [trans #635 #742]: #644
+#719 := [monotonicity #739 #734 #715]: #718
+#722 := [trans #719 #721]: #717
+#769 := (iff #503 true)
+#764 := [rewrite]: #769
+#711 := [monotonicity #764 #722]: #709
+#714 := [trans #711 #713]: #710
+#763 := (iff #780 false)
+#768 := [rewrite]: #763
+#695 := [monotonicity #768 #714]: #694
+#698 := [trans #695 #721]: #697
+#704 := [monotonicity #698]: #703
+#696 := [trans #704 #706]: #703
+#702 := [quant-inst #9 #11]: #701
+#707 := [mp #702 #696]: #700
+#686 := [unit-resolution #707 #843]: #502
+#688 := [monotonicity #686]: #15
 #16 := (not #15)
-#66 := [asserted]: #16
-[unit-resolution #66 #647]: false
-c3b392a5be27990617a5e1dba37905919a3d03ec 311 0
-unsat
+#84 := [asserted]: #16
+[unit-resolution #84 #688]: false
+unsat
+87b099d8145ebeef9dc0d37605a12e1099e37589 295 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #13 := 0::Int
@@ -17335,111 +16088,84 @@
 #11 := (f5 #10 1::Int)
 #12 := (f3 f4 #11)
 #15 := (= #12 #14)
-#462 := (= #11 0::Int)
+#503 := (= #11 0::Int)
 #23 := (:var 0 Int)
 #35 := (:var 1 Int)
 #55 := (f6 f7 #35)
 #56 := (f5 #55 #23)
-#796 := (pattern #56)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #35)
-#154 := (mod #132 #135)
-#345 := (+ #56 #154)
-#346 := (= #345 0::Int)
+#837 := (pattern #56)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #35)
+#195 := (mod #137 #140)
+#325 := (+ #56 #195)
+#326 := (= #325 0::Int)
 #57 := (mod #35 #23)
-#342 := (* -1::Int #57)
-#343 := (+ #56 #342)
-#344 := (= #343 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #35 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #35 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#347 := (if #293 #344 #346)
-#341 := (= #56 0::Int)
+#322 := (* -1::Int #57)
+#323 := (+ #56 #322)
+#324 := (= #323 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #35 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #35 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#327 := (if #273 #324 #326)
+#321 := (= #56 0::Int)
 #38 := (= #35 0::Int)
-#348 := (if #38 #341 #347)
-#340 := (= #56 #35)
+#328 := (if #38 #321 #327)
+#320 := (= #56 #35)
 #39 := (= #23 0::Int)
-#349 := (if #39 #340 #348)
-#797 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #796) #349)
-#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
-#800 := (iff #352 #797)
-#798 := (iff #349 #349)
-#799 := [refl]: #798
-#801 := [quant-intro #799]: #800
-#160 := (* -1::Int #154)
-#309 := (if #293 #57 #160)
-#312 := (if #38 0::Int #309)
-#315 := (if #39 #35 #312)
-#318 := (= #56 #315)
-#321 := (forall (vars (?v0 Int) (?v1 Int)) #318)
-#353 := (iff #321 #352)
-#350 := (iff #318 #349)
-#351 := [rewrite]: #350
-#354 := [quant-intro #351]: #353
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#246 := (if #230 #57 #160)
-#249 := (if #38 0::Int #246)
-#252 := (if #39 #35 #249)
-#255 := (= #56 #252)
-#258 := (forall (vars (?v0 Int) (?v1 Int)) #255)
-#322 := (iff #258 #321)
-#319 := (iff #255 #318)
-#316 := (= #252 #315)
-#313 := (= #249 #312)
-#310 := (= #246 #309)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#311 := [monotonicity #295]: #310
-#314 := [monotonicity #311]: #313
-#317 := [monotonicity #314]: #316
-#320 := [monotonicity #317]: #319
-#323 := [quant-intro #320]: #322
-#282 := (~ #258 #258)
-#280 := (~ #255 #255)
-#281 := [refl]: #280
-#283 := [nnf-pos #281]: #282
-#116 := (<= 0::Int #35)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#165 := (if #128 #57 #160)
-#168 := (if #38 0::Int #165)
-#171 := (if #39 #35 #168)
-#174 := (= #56 #171)
-#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
-#259 := (iff #177 #258)
-#256 := (iff #174 #255)
-#253 := (= #171 #252)
-#250 := (= #168 #249)
-#247 := (= #165 #246)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#248 := [monotonicity #232]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [quant-intro #257]: #259
+#329 := (if #39 #320 #328)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #329)
+#332 := (forall (vars (?v0 Int) (?v1 Int)) #329)
+#841 := (iff #332 #838)
+#839 := (iff #329 #329)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#201 := (* -1::Int #195)
+#289 := (if #273 #57 #201)
+#292 := (if #38 0::Int #289)
+#295 := (if #39 #35 #292)
+#298 := (= #56 #295)
+#301 := (forall (vars (?v0 Int) (?v1 Int)) #298)
+#333 := (iff #301 #332)
+#330 := (iff #298 #329)
+#331 := [rewrite]: #330
+#334 := [quant-intro #331]: #333
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#221 := (if #176 #57 #201)
+#224 := (if #38 0::Int #221)
+#227 := (if #39 #35 #224)
+#230 := (= #56 #227)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#302 := (iff #233 #301)
+#299 := (iff #230 #298)
+#296 := (= #227 #295)
+#293 := (= #224 #292)
+#290 := (= #221 #289)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#291 := [monotonicity #275]: #290
+#294 := [monotonicity #291]: #293
+#297 := [monotonicity #294]: #296
+#300 := [monotonicity #297]: #299
+#303 := [quant-intro #300]: #302
+#250 := (~ #233 #233)
+#264 := (~ #230 #230)
+#265 := [refl]: #264
+#251 := [nnf-pos #265]: #250
 #49 := (- #23)
 #48 := (- #35)
 #58 := (mod #48 #49)
@@ -17455,183 +16181,194 @@
 #62 := (if #39 #35 #61)
 #63 := (= #56 #62)
 #64 := (forall (vars (?v0 Int) (?v1 Int)) #63)
-#178 := (iff #64 #177)
-#175 := (iff #63 #174)
-#172 := (= #62 #171)
-#169 := (= #61 #168)
-#166 := (= #60 #165)
-#163 := (= #59 #160)
-#157 := (- #154)
-#161 := (= #157 #160)
-#162 := [rewrite]: #161
-#158 := (= #59 #157)
-#155 := (= #58 #154)
-#136 := (= #49 #135)
-#137 := [rewrite]: #136
-#133 := (= #48 #132)
-#134 := [rewrite]: #133
-#156 := [monotonicity #134 #137]: #155
-#159 := [monotonicity #156]: #158
-#164 := [trans #159 #162]: #163
-#129 := (iff #46 #128)
-#126 := (iff #45 #125)
-#111 := (iff #42 #110)
-#112 := [rewrite]: #111
-#118 := (iff #44 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #43 #113)
-#107 := (iff #41 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#167 := [monotonicity #130 #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [quant-intro #176]: #178
-#71 := [asserted]: #64
-#180 := [mp #71 #179]: #177
-#261 := [mp #180 #260]: #258
-#284 := [mp~ #261 #283]: #258
-#324 := [mp #284 #323]: #321
-#355 := [mp #324 #354]: #352
-#802 := [mp #355 #801]: #797
-#662 := (not #797)
-#663 := (or #662 #462)
-#730 := (* -1::Int 1::Int)
-#734 := (mod #730 #730)
-#731 := (+ #11 #734)
-#735 := (= #731 0::Int)
-#454 := (mod 1::Int 1::Int)
-#732 := (* -1::Int #454)
-#733 := (+ #11 #732)
-#448 := (= #733 0::Int)
-#736 := (<= 1::Int 0::Int)
-#741 := (>= 1::Int 0::Int)
-#451 := (or #741 #736)
-#452 := (not #451)
-#740 := (or #736 #736)
-#737 := (not #740)
-#453 := (or #737 #452)
-#724 := (if #453 #448 #735)
-#739 := (= 1::Int 0::Int)
-#725 := (if #739 #462 #724)
-#461 := (= #11 1::Int)
-#726 := (if #739 #461 #725)
-#664 := (or #662 #726)
-#655 := (iff #664 #663)
-#644 := (iff #663 #663)
-#645 := [rewrite]: #644
-#660 := (iff #726 #462)
-#654 := (if false #461 #462)
-#658 := (iff #654 #462)
-#659 := [rewrite]: #658
-#656 := (iff #726 #654)
-#673 := (iff #725 #462)
-#668 := (if false #462 #462)
-#672 := (iff #668 #462)
-#669 := [rewrite]: #672
-#670 := (iff #725 #668)
-#681 := (iff #724 #462)
-#1 := true
-#677 := (if true #462 #462)
-#680 := (iff #677 #462)
-#676 := [rewrite]: #680
-#678 := (iff #724 #677)
-#674 := (iff #735 #462)
-#683 := (= #731 #11)
-#608 := (+ #11 0::Int)
-#703 := (= #608 #11)
-#700 := [rewrite]: #703
-#688 := (= #731 #608)
-#686 := (= #734 0::Int)
-#694 := (mod -1::Int -1::Int)
-#692 := (= #694 0::Int)
-#697 := [rewrite]: #692
-#695 := (= #734 #694)
-#682 := (= #730 -1::Int)
-#684 := [rewrite]: #682
-#696 := [monotonicity #684 #684]: #695
-#687 := [trans #696 #697]: #686
-#689 := [monotonicity #687]: #688
-#690 := [trans #689 #700]: #683
-#675 := [monotonicity #690]: #674
-#693 := (iff #448 #462)
-#704 := (= #733 #11)
-#609 := (= #733 #608)
-#606 := (= #732 0::Int)
-#587 := (* -1::Int 0::Int)
-#605 := (= #587 0::Int)
-#598 := [rewrite]: #605
-#602 := (= #732 #587)
-#699 := (= #454 0::Int)
-#702 := [rewrite]: #699
-#604 := [monotonicity #702]: #602
-#607 := [trans #604 #598]: #606
-#610 := [monotonicity #607]: #609
-#691 := [trans #610 #700]: #704
-#685 := [monotonicity #691]: #693
-#603 := (iff #453 true)
-#551 := (or true false)
-#706 := (iff #551 true)
-#708 := [rewrite]: #706
-#553 := (iff #453 #551)
-#593 := (iff #452 false)
-#419 := (not true)
-#744 := (iff #419 false)
-#407 := [rewrite]: #744
-#710 := (iff #452 #419)
-#709 := (iff #451 true)
-#552 := (iff #451 #551)
-#727 := (iff #736 false)
-#728 := [rewrite]: #727
-#720 := (iff #741 true)
-#549 := [rewrite]: #720
-#705 := [monotonicity #549 #728]: #552
-#707 := [trans #705 #708]: #709
-#592 := [monotonicity #707]: #710
-#594 := [trans #592 #407]: #593
-#719 := (iff #737 true)
-#716 := (not false)
-#712 := (iff #716 true)
-#718 := [rewrite]: #712
-#717 := (iff #737 #716)
-#714 := (iff #740 false)
-#723 := (or false false)
-#571 := (iff #723 false)
-#572 := [rewrite]: #571
-#729 := (iff #740 #723)
-#570 := [monotonicity #728 #728]: #729
-#715 := [trans #570 #572]: #714
-#711 := [monotonicity #715]: #717
-#713 := [trans #711 #718]: #719
-#701 := [monotonicity #713 #594]: #553
-#698 := [trans #701 #708]: #603
-#679 := [monotonicity #698 #685 #675]: #678
-#667 := [trans #679 #676]: #681
-#721 := (iff #739 false)
-#722 := [rewrite]: #721
-#671 := [monotonicity #722 #667]: #670
-#653 := [trans #671 #669]: #673
-#657 := [monotonicity #722 #653]: #656
-#661 := [trans #657 #659]: #660
-#666 := [monotonicity #661]: #655
-#647 := [trans #666 #645]: #655
-#665 := [quant-inst #9 #9]: #664
-#648 := [mp #665 #647]: #663
-#650 := [unit-resolution #648 #802]: #462
-#651 := [monotonicity #650]: #15
+#236 := (iff #64 #233)
+#206 := (if #46 #57 #201)
+#209 := (if #38 0::Int #206)
+#212 := (if #39 #35 #209)
+#215 := (= #56 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#234 := (iff #218 #233)
+#231 := (iff #215 #230)
+#228 := (= #212 #227)
+#225 := (= #209 #224)
+#222 := (= #206 #221)
+#177 := (iff #46 #176)
+#174 := (iff #45 #173)
+#164 := (iff #42 #163)
+#165 := [rewrite]: #164
+#171 := (iff #44 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #43 #166)
+#160 := (iff #41 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#223 := [monotonicity #178]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#219 := (iff #64 #218)
+#216 := (iff #63 #215)
+#213 := (= #62 #212)
+#210 := (= #61 #209)
+#207 := (= #60 #206)
+#204 := (= #59 #201)
+#198 := (- #195)
+#202 := (= #198 #201)
+#203 := [rewrite]: #202
+#199 := (= #59 #198)
+#196 := (= #58 #195)
+#141 := (= #49 #140)
+#142 := [rewrite]: #141
+#138 := (= #48 #137)
+#139 := [rewrite]: #138
+#197 := [monotonicity #139 #142]: #196
+#200 := [monotonicity #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#237 := [trans #220 #235]: #236
+#194 := [asserted]: #64
+#238 := [mp #194 #237]: #233
+#266 := [mp~ #238 #251]: #233
+#304 := [mp #266 #303]: #301
+#335 := [mp #304 #334]: #332
+#843 := [mp #335 #842]: #838
+#703 := (not #838)
+#704 := (or #703 #503)
+#771 := (* -1::Int 1::Int)
+#775 := (mod #771 #771)
+#772 := (+ #11 #775)
+#776 := (= #772 0::Int)
+#495 := (mod 1::Int 1::Int)
+#773 := (* -1::Int #495)
+#774 := (+ #11 #773)
+#489 := (= #774 0::Int)
+#777 := (<= 1::Int 0::Int)
+#782 := (>= 1::Int 0::Int)
+#492 := (or #782 #777)
+#493 := (not #492)
+#781 := (or #777 #777)
+#778 := (not #781)
+#494 := (or #778 #493)
+#765 := (if #494 #489 #776)
+#780 := (= 1::Int 0::Int)
+#766 := (if #780 #503 #765)
+#502 := (= #11 1::Int)
+#767 := (if #780 #502 #766)
+#705 := (or #703 #767)
+#696 := (iff #705 #704)
+#685 := (iff #704 #704)
+#686 := [rewrite]: #685
+#701 := (iff #767 #503)
+#695 := (if false #502 #503)
+#699 := (iff #695 #503)
+#700 := [rewrite]: #699
+#697 := (iff #767 #695)
+#714 := (iff #766 #503)
+#709 := (if false #503 #503)
+#713 := (iff #709 #503)
+#710 := [rewrite]: #713
+#711 := (iff #766 #709)
+#722 := (iff #765 #503)
+#1 := true
+#718 := (if true #503 #503)
+#721 := (iff #718 #503)
+#717 := [rewrite]: #721
+#719 := (iff #765 #718)
+#715 := (iff #776 #503)
+#724 := (= #772 #11)
+#649 := (+ #11 0::Int)
+#744 := (= #649 #11)
+#741 := [rewrite]: #744
+#729 := (= #772 #649)
+#727 := (= #775 0::Int)
+#735 := (mod -1::Int -1::Int)
+#733 := (= #735 0::Int)
+#738 := [rewrite]: #733
+#736 := (= #775 #735)
+#723 := (= #771 -1::Int)
+#725 := [rewrite]: #723
+#737 := [monotonicity #725 #725]: #736
+#728 := [trans #737 #738]: #727
+#730 := [monotonicity #728]: #729
+#731 := [trans #730 #741]: #724
+#716 := [monotonicity #731]: #715
+#734 := (iff #489 #503)
+#745 := (= #774 #11)
+#650 := (= #774 #649)
+#647 := (= #773 0::Int)
+#628 := (* -1::Int 0::Int)
+#646 := (= #628 0::Int)
+#639 := [rewrite]: #646
+#643 := (= #773 #628)
+#740 := (= #495 0::Int)
+#743 := [rewrite]: #740
+#645 := [monotonicity #743]: #643
+#648 := [trans #645 #639]: #647
+#651 := [monotonicity #648]: #650
+#732 := [trans #651 #741]: #745
+#726 := [monotonicity #732]: #734
+#644 := (iff #494 true)
+#592 := (or true false)
+#747 := (iff #592 true)
+#749 := [rewrite]: #747
+#594 := (iff #494 #592)
+#634 := (iff #493 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#751 := (iff #493 #460)
+#750 := (iff #492 true)
+#593 := (iff #492 #592)
+#768 := (iff #777 false)
+#769 := [rewrite]: #768
+#761 := (iff #782 true)
+#590 := [rewrite]: #761
+#746 := [monotonicity #590 #769]: #593
+#748 := [trans #746 #749]: #750
+#633 := [monotonicity #748]: #751
+#635 := [trans #633 #448]: #634
+#760 := (iff #778 true)
+#757 := (not false)
+#753 := (iff #757 true)
+#759 := [rewrite]: #753
+#758 := (iff #778 #757)
+#755 := (iff #781 false)
+#764 := (or false false)
+#612 := (iff #764 false)
+#613 := [rewrite]: #612
+#770 := (iff #781 #764)
+#611 := [monotonicity #769 #769]: #770
+#756 := [trans #611 #613]: #755
+#752 := [monotonicity #756]: #758
+#754 := [trans #752 #759]: #760
+#742 := [monotonicity #754 #635]: #594
+#739 := [trans #742 #749]: #644
+#720 := [monotonicity #739 #726 #716]: #719
+#708 := [trans #720 #717]: #722
+#762 := (iff #780 false)
+#763 := [rewrite]: #762
+#712 := [monotonicity #763 #708]: #711
+#694 := [trans #712 #710]: #714
+#698 := [monotonicity #763 #694]: #697
+#702 := [trans #698 #700]: #701
+#707 := [monotonicity #702]: #696
+#688 := [trans #707 #686]: #696
+#706 := [quant-inst #9 #9]: #705
+#689 := [mp #706 #688]: #704
+#691 := [unit-resolution #689 #843]: #503
+#692 := [monotonicity #691]: #15
 #16 := (not #15)
-#66 := [asserted]: #16
-[unit-resolution #66 #651]: false
-388588036303efc01fcf566cedf02a315f063404 322 0
-unsat
+#84 := [asserted]: #16
+[unit-resolution #84 #692]: false
+unsat
+a614d34cd521f11124f03ffe353f27df43731180 306 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #14 := 0::Int
@@ -17648,111 +16385,84 @@
 #12 := (f5 #10 1::Int)
 #13 := (f3 f4 #12)
 #16 := (= #13 #15)
-#737 := (= #12 0::Int)
+#777 := (= #12 0::Int)
 #24 := (:var 0 Int)
 #36 := (:var 1 Int)
 #56 := (f6 f7 #36)
 #57 := (f5 #56 #24)
-#797 := (pattern #57)
-#132 := -1::Int
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #36)
-#155 := (mod #133 #136)
-#346 := (+ #57 #155)
-#347 := (= #346 0::Int)
+#837 := (pattern #57)
+#137 := -1::Int
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #36)
+#196 := (mod #138 #141)
+#326 := (+ #57 #196)
+#327 := (= #326 0::Int)
 #58 := (mod #36 #24)
-#343 := (* -1::Int #58)
-#344 := (+ #57 #343)
-#345 := (= #344 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #36 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #36 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#348 := (if #294 #345 #347)
-#342 := (= #57 0::Int)
+#323 := (* -1::Int #58)
+#324 := (+ #57 #323)
+#325 := (= #324 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #36 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #36 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#328 := (if #274 #325 #327)
+#322 := (= #57 0::Int)
 #39 := (= #36 0::Int)
-#349 := (if #39 #342 #348)
-#341 := (= #57 #36)
+#329 := (if #39 #322 #328)
+#321 := (= #57 #36)
 #40 := (= #24 0::Int)
-#350 := (if #40 #341 #349)
-#798 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #797) #350)
-#353 := (forall (vars (?v0 Int) (?v1 Int)) #350)
-#801 := (iff #353 #798)
-#799 := (iff #350 #350)
-#800 := [refl]: #799
-#802 := [quant-intro #800]: #801
-#161 := (* -1::Int #155)
-#310 := (if #294 #58 #161)
-#313 := (if #39 0::Int #310)
-#316 := (if #40 #36 #313)
-#319 := (= #57 #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
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#247 := (if #231 #58 #161)
-#250 := (if #39 0::Int #247)
-#253 := (if #40 #36 #250)
-#256 := (= #57 #253)
-#259 := (forall (vars (?v0 Int) (?v1 Int)) #256)
-#323 := (iff #259 #322)
-#320 := (iff #256 #319)
-#317 := (= #253 #316)
-#314 := (= #250 #313)
-#311 := (= #247 #310)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#312 := [monotonicity #296]: #311
-#315 := [monotonicity #312]: #314
-#318 := [monotonicity #315]: #317
-#321 := [monotonicity #318]: #320
-#324 := [quant-intro #321]: #323
-#283 := (~ #259 #259)
-#281 := (~ #256 #256)
-#282 := [refl]: #281
-#284 := [nnf-pos #282]: #283
-#117 := (<= 0::Int #36)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#166 := (if #129 #58 #161)
-#169 := (if #39 0::Int #166)
-#172 := (if #40 #36 #169)
-#175 := (= #57 #172)
-#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
-#260 := (iff #178 #259)
-#257 := (iff #175 #256)
-#254 := (= #172 #253)
-#251 := (= #169 #250)
-#248 := (= #166 #247)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#249 := [monotonicity #233]: #248
-#252 := [monotonicity #249]: #251
-#255 := [monotonicity #252]: #254
-#258 := [monotonicity #255]: #257
-#261 := [quant-intro #258]: #260
+#330 := (if #40 #321 #329)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #330)
+#333 := (forall (vars (?v0 Int) (?v1 Int)) #330)
+#841 := (iff #333 #838)
+#839 := (iff #330 #330)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#202 := (* -1::Int #196)
+#290 := (if #274 #58 #202)
+#293 := (if #39 0::Int #290)
+#296 := (if #40 #36 #293)
+#299 := (= #57 #296)
+#302 := (forall (vars (?v0 Int) (?v1 Int)) #299)
+#334 := (iff #302 #333)
+#331 := (iff #299 #330)
+#332 := [rewrite]: #331
+#335 := [quant-intro #332]: #334
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#222 := (if #177 #58 #202)
+#225 := (if #39 0::Int #222)
+#228 := (if #40 #36 #225)
+#231 := (= #57 #228)
+#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
+#303 := (iff #234 #302)
+#300 := (iff #231 #299)
+#297 := (= #228 #296)
+#294 := (= #225 #293)
+#291 := (= #222 #290)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#292 := [monotonicity #276]: #291
+#295 := [monotonicity #292]: #294
+#298 := [monotonicity #295]: #297
+#301 := [monotonicity #298]: #300
+#304 := [quant-intro #301]: #303
+#251 := (~ #234 #234)
+#265 := (~ #231 #231)
+#266 := [refl]: #265
+#252 := [nnf-pos #266]: #251
 #50 := (- #24)
 #49 := (- #36)
 #59 := (mod #49 #50)
@@ -17768,193 +16478,204 @@
 #63 := (if #40 #36 #62)
 #64 := (= #57 #63)
 #65 := (forall (vars (?v0 Int) (?v1 Int)) #64)
-#179 := (iff #65 #178)
-#176 := (iff #64 #175)
-#173 := (= #63 #172)
-#170 := (= #62 #169)
-#167 := (= #61 #166)
-#164 := (= #60 #161)
-#158 := (- #155)
-#162 := (= #158 #161)
-#163 := [rewrite]: #162
-#159 := (= #60 #158)
-#156 := (= #59 #155)
-#137 := (= #50 #136)
-#138 := [rewrite]: #137
-#134 := (= #49 #133)
-#135 := [rewrite]: #134
-#157 := [monotonicity #135 #138]: #156
-#160 := [monotonicity #157]: #159
-#165 := [trans #160 #163]: #164
-#130 := (iff #47 #129)
-#127 := (iff #46 #126)
-#112 := (iff #43 #111)
-#113 := [rewrite]: #112
-#119 := (iff #45 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #44 #114)
-#108 := (iff #42 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#168 := [monotonicity #131 #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [quant-intro #177]: #179
-#72 := [asserted]: #65
-#181 := [mp #72 #180]: #178
-#262 := [mp #181 #261]: #259
-#285 := [mp~ #262 #284]: #259
-#325 := [mp #285 #324]: #322
-#356 := [mp #325 #355]: #353
-#803 := [mp #356 #802]: #798
-#650 := (not #798)
-#651 := (or #650 #737)
-#736 := (* -1::Int 1::Int)
-#732 := (* -1::Int 3::Int)
-#725 := (mod #732 #736)
-#726 := (+ #12 #725)
-#727 := (= #726 0::Int)
-#734 := (mod 3::Int 1::Int)
-#449 := (* -1::Int #734)
-#731 := (+ #12 #449)
-#735 := (= #731 0::Int)
-#738 := (<= 1::Int 0::Int)
-#453 := (>= 3::Int 0::Int)
-#454 := (or #453 #738)
-#455 := (not #454)
-#741 := (<= 3::Int 0::Int)
-#742 := (or #741 #738)
-#452 := (not #742)
-#733 := (or #452 #455)
-#722 := (if #733 #735 #727)
-#463 := (= 3::Int 0::Int)
-#723 := (if #463 #737 #722)
-#462 := (= #12 3::Int)
-#740 := (= 1::Int 0::Int)
-#728 := (if #740 #462 #723)
-#652 := (or #650 #728)
-#653 := (iff #652 #651)
-#635 := (iff #651 #651)
-#636 := [rewrite]: #635
-#648 := (iff #728 #737)
-#666 := (if false #462 #737)
-#645 := (iff #666 #737)
-#646 := [rewrite]: #645
-#656 := (iff #728 #666)
-#664 := (iff #723 #737)
-#659 := (if false #737 #737)
-#662 := (iff #659 #737)
-#663 := [rewrite]: #662
-#660 := (iff #723 #659)
-#657 := (iff #722 #737)
-#1 := true
-#673 := (if true #737 #737)
-#654 := (iff #673 #737)
-#655 := [rewrite]: #654
-#670 := (iff #722 #673)
-#671 := (iff #727 #737)
-#668 := (= #726 #12)
-#694 := (+ #12 0::Int)
-#685 := (= #694 #12)
-#695 := [rewrite]: #685
-#677 := (= #726 #694)
-#680 := (= #725 0::Int)
-#687 := -3::Int
-#691 := (mod -3::Int -1::Int)
-#678 := (= #691 0::Int)
-#679 := [rewrite]: #678
-#675 := (= #725 #691)
-#690 := (= #736 -1::Int)
-#684 := [rewrite]: #690
-#688 := (= #732 -3::Int)
-#689 := [rewrite]: #688
-#676 := [monotonicity #689 #684]: #675
-#681 := [trans #676 #679]: #680
-#682 := [monotonicity #681]: #677
-#669 := [trans #682 #695]: #668
-#672 := [monotonicity #669]: #671
-#693 := (iff #735 #737)
-#696 := (= #731 #12)
-#686 := (= #731 #694)
-#705 := (= #449 0::Int)
-#609 := (* -1::Int 0::Int)
-#704 := (= #609 0::Int)
-#701 := [rewrite]: #704
-#610 := (= #449 #609)
-#607 := (= #734 0::Int)
-#608 := [rewrite]: #607
-#611 := [monotonicity #608]: #610
-#692 := [trans #611 #701]: #705
-#683 := [monotonicity #692]: #686
-#697 := [trans #683 #695]: #696
-#698 := [monotonicity #697]: #693
-#606 := (iff #733 true)
-#711 := (or true false)
-#595 := (iff #711 true)
-#554 := [rewrite]: #595
-#603 := (iff #733 #711)
-#703 := (iff #455 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#699 := (iff #455 #420)
-#702 := (iff #454 true)
-#593 := (iff #454 #711)
-#715 := (iff #738 false)
-#716 := [rewrite]: #715
-#710 := (iff #453 true)
-#708 := [rewrite]: #710
-#594 := [monotonicity #708 #716]: #593
-#604 := [trans #594 #554]: #702
-#700 := [monotonicity #604]: #699
-#588 := [trans #700 #408]: #703
-#707 := (iff #452 true)
-#721 := (not false)
-#553 := (iff #721 true)
-#706 := [rewrite]: #553
-#550 := (iff #452 #721)
-#720 := (iff #742 false)
-#717 := (or false false)
-#713 := (iff #717 false)
-#719 := [rewrite]: #713
-#718 := (iff #742 #717)
-#572 := (iff #741 false)
-#573 := [rewrite]: #572
-#712 := [monotonicity #573 #716]: #718
-#714 := [trans #712 #719]: #720
-#552 := [monotonicity #714]: #550
-#709 := [trans #552 #706]: #707
-#605 := [monotonicity #709 #588]: #603
-#599 := [trans #605 #554]: #606
-#674 := [monotonicity #599 #698 #672]: #670
-#658 := [trans #674 #655]: #657
-#730 := (iff #463 false)
-#571 := [rewrite]: #730
-#661 := [monotonicity #571 #658]: #660
-#665 := [trans #661 #663]: #664
-#729 := (iff #740 false)
-#724 := [rewrite]: #729
-#667 := [monotonicity #724 #665]: #656
-#649 := [trans #667 #646]: #648
-#639 := [monotonicity #649]: #653
-#637 := [trans #639 #636]: #653
-#647 := [quant-inst #9 #11]: #652
-#640 := [mp #647 #637]: #651
-#642 := [unit-resolution #640 #803]: #737
-#643 := [monotonicity #642]: #16
+#237 := (iff #65 #234)
+#207 := (if #47 #58 #202)
+#210 := (if #39 0::Int #207)
+#213 := (if #40 #36 #210)
+#216 := (= #57 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#235 := (iff #219 #234)
+#232 := (iff #216 #231)
+#229 := (= #213 #228)
+#226 := (= #210 #225)
+#223 := (= #207 #222)
+#178 := (iff #47 #177)
+#175 := (iff #46 #174)
+#165 := (iff #43 #164)
+#166 := [rewrite]: #165
+#172 := (iff #45 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #44 #167)
+#161 := (iff #42 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#224 := [monotonicity #179]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [quant-intro #233]: #235
+#220 := (iff #65 #219)
+#217 := (iff #64 #216)
+#214 := (= #63 #213)
+#211 := (= #62 #210)
+#208 := (= #61 #207)
+#205 := (= #60 #202)
+#199 := (- #196)
+#203 := (= #199 #202)
+#204 := [rewrite]: #203
+#200 := (= #60 #199)
+#197 := (= #59 #196)
+#142 := (= #50 #141)
+#143 := [rewrite]: #142
+#139 := (= #49 #138)
+#140 := [rewrite]: #139
+#198 := [monotonicity #140 #143]: #197
+#201 := [monotonicity #198]: #200
+#206 := [trans #201 #204]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#238 := [trans #221 #236]: #237
+#195 := [asserted]: #65
+#239 := [mp #195 #238]: #234
+#267 := [mp~ #239 #252]: #234
+#305 := [mp #267 #304]: #302
+#336 := [mp #305 #335]: #333
+#843 := [mp #336 #842]: #838
+#690 := (not #838)
+#691 := (or #690 #777)
+#776 := (* -1::Int 1::Int)
+#772 := (* -1::Int 3::Int)
+#765 := (mod #772 #776)
+#766 := (+ #12 #765)
+#767 := (= #766 0::Int)
+#774 := (mod 3::Int 1::Int)
+#489 := (* -1::Int #774)
+#771 := (+ #12 #489)
+#775 := (= #771 0::Int)
+#778 := (<= 1::Int 0::Int)
+#493 := (>= 3::Int 0::Int)
+#494 := (or #493 #778)
+#495 := (not #494)
+#781 := (<= 3::Int 0::Int)
+#782 := (or #781 #778)
+#492 := (not #782)
+#773 := (or #492 #495)
+#762 := (if #773 #775 #767)
+#503 := (= 3::Int 0::Int)
+#763 := (if #503 #777 #762)
+#502 := (= #12 3::Int)
+#780 := (= 1::Int 0::Int)
+#768 := (if #780 #502 #763)
+#692 := (or #690 #768)
+#693 := (iff #692 #691)
+#675 := (iff #691 #691)
+#676 := [rewrite]: #675
+#688 := (iff #768 #777)
+#706 := (if false #502 #777)
+#685 := (iff #706 #777)
+#686 := [rewrite]: #685
+#696 := (iff #768 #706)
+#704 := (iff #763 #777)
+#699 := (if false #777 #777)
+#702 := (iff #699 #777)
+#703 := [rewrite]: #702
+#700 := (iff #763 #699)
+#697 := (iff #762 #777)
+#1 := true
+#713 := (if true #777 #777)
+#694 := (iff #713 #777)
+#695 := [rewrite]: #694
+#710 := (iff #762 #713)
+#711 := (iff #767 #777)
+#708 := (= #766 #12)
+#734 := (+ #12 0::Int)
+#725 := (= #734 #12)
+#735 := [rewrite]: #725
+#717 := (= #766 #734)
+#720 := (= #765 0::Int)
+#727 := -3::Int
+#731 := (mod -3::Int -1::Int)
+#718 := (= #731 0::Int)
+#719 := [rewrite]: #718
+#715 := (= #765 #731)
+#730 := (= #776 -1::Int)
+#724 := [rewrite]: #730
+#728 := (= #772 -3::Int)
+#729 := [rewrite]: #728
+#716 := [monotonicity #729 #724]: #715
+#721 := [trans #716 #719]: #720
+#722 := [monotonicity #721]: #717
+#709 := [trans #722 #735]: #708
+#712 := [monotonicity #709]: #711
+#733 := (iff #775 #777)
+#736 := (= #771 #12)
+#726 := (= #771 #734)
+#745 := (= #489 0::Int)
+#649 := (* -1::Int 0::Int)
+#744 := (= #649 0::Int)
+#741 := [rewrite]: #744
+#650 := (= #489 #649)
+#647 := (= #774 0::Int)
+#648 := [rewrite]: #647
+#651 := [monotonicity #648]: #650
+#732 := [trans #651 #741]: #745
+#723 := [monotonicity #732]: #726
+#737 := [trans #723 #735]: #736
+#738 := [monotonicity #737]: #733
+#646 := (iff #773 true)
+#751 := (or true false)
+#635 := (iff #751 true)
+#594 := [rewrite]: #635
+#643 := (iff #773 #751)
+#743 := (iff #495 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#739 := (iff #495 #460)
+#742 := (iff #494 true)
+#633 := (iff #494 #751)
+#755 := (iff #778 false)
+#756 := [rewrite]: #755
+#750 := (iff #493 true)
+#748 := [rewrite]: #750
+#634 := [monotonicity #748 #756]: #633
+#644 := [trans #634 #594]: #742
+#740 := [monotonicity #644]: #739
+#628 := [trans #740 #448]: #743
+#747 := (iff #492 true)
+#761 := (not false)
+#593 := (iff #761 true)
+#746 := [rewrite]: #593
+#590 := (iff #492 #761)
+#760 := (iff #782 false)
+#757 := (or false false)
+#753 := (iff #757 false)
+#759 := [rewrite]: #753
+#758 := (iff #782 #757)
+#612 := (iff #781 false)
+#613 := [rewrite]: #612
+#752 := [monotonicity #613 #756]: #758
+#754 := [trans #752 #759]: #760
+#592 := [monotonicity #754]: #590
+#749 := [trans #592 #746]: #747
+#645 := [monotonicity #749 #628]: #643
+#639 := [trans #645 #594]: #646
+#714 := [monotonicity #639 #738 #712]: #710
+#698 := [trans #714 #695]: #697
+#770 := (iff #503 false)
+#611 := [rewrite]: #770
+#701 := [monotonicity #611 #698]: #700
+#705 := [trans #701 #703]: #704
+#769 := (iff #780 false)
+#764 := [rewrite]: #769
+#707 := [monotonicity #764 #705]: #696
+#689 := [trans #707 #686]: #688
+#679 := [monotonicity #689]: #693
+#677 := [trans #679 #676]: #693
+#687 := [quant-inst #9 #11]: #692
+#680 := [mp #687 #677]: #691
+#682 := [unit-resolution #680 #843]: #777
+#683 := [monotonicity #682]: #16
 #17 := (not #16)
-#67 := [asserted]: #17
-[unit-resolution #67 #643]: false
-27d83ae74f367979c88ed057145dc22d3bf30f3d 325 0
-unsat
+#85 := [asserted]: #17
+[unit-resolution #85 #683]: false
+unsat
+f29683011f680c62d56f5c3422022e33ef78fbc7 309 0
 #2 := false
 #16 := 0::Int
 decl f8 :: (-> S6 S3 Int)
@@ -17963,12 +16684,12 @@
 decl f9 :: S6
 #9 := f9
 #11 := (f8 f9 f10)
-#450 := (>= #11 0::Int)
-#595 := (not #450)
-#455 := (<= #11 0::Int)
-#551 := (not #455)
-#703 := (or #551 #595)
-#667 := (not #703)
+#491 := (>= #11 0::Int)
+#636 := (not #491)
+#496 := (<= #11 0::Int)
+#592 := (not #496)
+#744 := (or #592 #636)
+#708 := (not #744)
 decl f5 :: (-> S4 Int Int)
 #13 := 1::Int
 decl f6 :: (-> S5 Int S4)
@@ -17976,133 +16697,106 @@
 #8 := f7
 #12 := (f6 f7 #11)
 #14 := (f5 #12 1::Int)
-#454 := (= #14 0::Int)
-#648 := (not #454)
+#495 := (= #14 0::Int)
+#689 := (not #495)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #17 := (f3 f4 0::Int)
 #15 := (f3 f4 #14)
 #18 := (= #15 #17)
-#364 := [hypothesis]: #454
-#740 := [monotonicity #364]: #18
+#598 := [hypothesis]: #495
+#629 := [monotonicity #598]: #18
 #19 := (not #18)
-#68 := [asserted]: #19
-#741 := [unit-resolution #68 #740]: false
-#463 := [lemma #741]: #648
-#133 := -1::Int
-#723 := (* -1::Int #11)
-#696 := (mod #723 -1::Int)
-#694 := (+ #14 #696)
-#689 := (= #694 0::Int)
-#685 := (if #703 #454 #689)
-#453 := (= #11 0::Int)
-#642 := (not #453)
-#635 := (or #642 #454)
-#677 := (if #453 #454 #685)
+#86 := [asserted]: #19
+#631 := [unit-resolution #86 #629]: false
+#633 := [lemma #631]: #689
+#138 := -1::Int
+#764 := (* -1::Int #11)
+#737 := (mod #764 -1::Int)
+#735 := (+ #14 #737)
+#730 := (= #735 0::Int)
+#726 := (if #744 #495 #730)
+#494 := (= #11 0::Int)
+#683 := (not #494)
+#676 := (or #683 #495)
+#718 := (if #494 #495 #726)
 #25 := (:var 0 Int)
 #37 := (:var 1 Int)
 #57 := (f6 f7 #37)
 #58 := (f5 #57 #25)
-#798 := (pattern #58)
-#137 := (* -1::Int #25)
-#134 := (* -1::Int #37)
-#156 := (mod #134 #137)
-#347 := (+ #58 #156)
-#348 := (= #347 0::Int)
+#839 := (pattern #58)
+#142 := (* -1::Int #25)
+#139 := (* -1::Int #37)
+#197 := (mod #139 #142)
+#327 := (+ #58 #197)
+#328 := (= #327 0::Int)
 #59 := (mod #37 #25)
-#344 := (* -1::Int #59)
-#345 := (+ #58 #344)
-#346 := (= #345 0::Int)
-#111 := (<= #25 0::Int)
-#223 := (>= #37 0::Int)
-#291 := (or #223 #111)
-#292 := (not #291)
-#107 := (<= #37 0::Int)
-#287 := (or #107 #111)
-#288 := (not #287)
-#295 := (or #288 #292)
-#349 := (if #295 #346 #348)
-#343 := (= #58 0::Int)
+#324 := (* -1::Int #59)
+#325 := (+ #58 #324)
+#326 := (= #325 0::Int)
+#164 := (<= #25 0::Int)
+#171 := (>= #37 0::Int)
+#271 := (or #171 #164)
+#272 := (not #271)
+#160 := (<= #37 0::Int)
+#269 := (or #160 #164)
+#270 := (not #269)
+#275 := (or #270 #272)
+#329 := (if #275 #326 #328)
+#323 := (= #58 0::Int)
 #40 := (= #37 0::Int)
-#350 := (if #40 #343 #349)
-#342 := (= #58 #37)
+#330 := (if #40 #323 #329)
+#322 := (= #58 #37)
 #41 := (= #25 0::Int)
-#351 := (if #41 #342 #350)
-#799 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #798) #351)
-#354 := (forall (vars (?v0 Int) (?v1 Int)) #351)
-#802 := (iff #354 #799)
-#800 := (iff #351 #351)
-#801 := [refl]: #800
-#803 := [quant-intro #801]: #802
-#162 := (* -1::Int #156)
-#311 := (if #295 #59 #162)
-#314 := (if #40 0::Int #311)
-#317 := (if #41 #37 #314)
-#320 := (= #58 #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
-#112 := (not #111)
-#226 := (not #223)
-#229 := (and #226 #112)
-#108 := (not #107)
-#115 := (and #108 #112)
-#232 := (or #115 #229)
-#248 := (if #232 #59 #162)
-#251 := (if #40 0::Int #248)
-#254 := (if #41 #37 #251)
-#257 := (= #58 #254)
-#260 := (forall (vars (?v0 Int) (?v1 Int)) #257)
-#324 := (iff #260 #323)
-#321 := (iff #257 #320)
-#318 := (= #254 #317)
-#315 := (= #251 #314)
-#312 := (= #248 #311)
-#296 := (iff #232 #295)
-#293 := (iff #229 #292)
-#294 := [rewrite]: #293
-#289 := (iff #115 #288)
-#290 := [rewrite]: #289
-#297 := [monotonicity #290 #294]: #296
-#313 := [monotonicity #297]: #312
-#316 := [monotonicity #313]: #315
-#319 := [monotonicity #316]: #318
-#322 := [monotonicity #319]: #321
-#325 := [quant-intro #322]: #324
-#284 := (~ #260 #260)
-#282 := (~ #257 #257)
-#283 := [refl]: #282
-#285 := [nnf-pos #283]: #284
-#118 := (<= 0::Int #37)
-#119 := (not #118)
-#127 := (and #119 #112)
-#130 := (or #115 #127)
-#167 := (if #130 #59 #162)
-#170 := (if #40 0::Int #167)
-#173 := (if #41 #37 #170)
-#176 := (= #58 #173)
-#179 := (forall (vars (?v0 Int) (?v1 Int)) #176)
-#261 := (iff #179 #260)
-#258 := (iff #176 #257)
-#255 := (= #173 #254)
-#252 := (= #170 #251)
-#249 := (= #167 #248)
-#233 := (iff #130 #232)
-#230 := (iff #127 #229)
-#227 := (iff #119 #226)
-#224 := (iff #118 #223)
-#225 := [rewrite]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#250 := [monotonicity #234]: #249
-#253 := [monotonicity #250]: #252
-#256 := [monotonicity #253]: #255
-#259 := [monotonicity #256]: #258
-#262 := [quant-intro #259]: #261
+#331 := (if #41 #322 #330)
+#840 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #839) #331)
+#334 := (forall (vars (?v0 Int) (?v1 Int)) #331)
+#843 := (iff #334 #840)
+#841 := (iff #331 #331)
+#842 := [refl]: #841
+#844 := [quant-intro #842]: #843
+#203 := (* -1::Int #197)
+#291 := (if #275 #59 #203)
+#294 := (if #40 0::Int #291)
+#297 := (if #41 #37 #294)
+#300 := (= #58 #297)
+#303 := (forall (vars (?v0 Int) (?v1 Int)) #300)
+#335 := (iff #303 #334)
+#332 := (iff #300 #331)
+#333 := [rewrite]: #332
+#336 := [quant-intro #333]: #335
+#165 := (not #164)
+#172 := (not #171)
+#175 := (and #172 #165)
+#161 := (not #160)
+#168 := (and #161 #165)
+#178 := (or #168 #175)
+#223 := (if #178 #59 #203)
+#226 := (if #40 0::Int #223)
+#229 := (if #41 #37 #226)
+#232 := (= #58 #229)
+#235 := (forall (vars (?v0 Int) (?v1 Int)) #232)
+#304 := (iff #235 #303)
+#301 := (iff #232 #300)
+#298 := (= #229 #297)
+#295 := (= #226 #294)
+#292 := (= #223 #291)
+#276 := (iff #178 #275)
+#273 := (iff #175 #272)
+#274 := [rewrite]: #273
+#254 := (iff #168 #270)
+#255 := [rewrite]: #254
+#277 := [monotonicity #255 #274]: #276
+#293 := [monotonicity #277]: #292
+#296 := [monotonicity #293]: #295
+#299 := [monotonicity #296]: #298
+#302 := [monotonicity #299]: #301
+#305 := [quant-intro #302]: #304
+#252 := (~ #235 #235)
+#266 := (~ #232 #232)
+#267 := [refl]: #266
+#253 := [nnf-pos #267]: #252
 #51 := (- #25)
 #50 := (- #37)
 #60 := (mod #50 #51)
@@ -18118,169 +16812,180 @@
 #64 := (if #41 #37 #63)
 #65 := (= #58 #64)
 #66 := (forall (vars (?v0 Int) (?v1 Int)) #65)
-#180 := (iff #66 #179)
-#177 := (iff #65 #176)
-#174 := (= #64 #173)
-#171 := (= #63 #170)
-#168 := (= #62 #167)
-#165 := (= #61 #162)
-#159 := (- #156)
-#163 := (= #159 #162)
-#164 := [rewrite]: #163
-#160 := (= #61 #159)
-#157 := (= #60 #156)
-#138 := (= #51 #137)
-#139 := [rewrite]: #138
-#135 := (= #50 #134)
-#136 := [rewrite]: #135
-#158 := [monotonicity #136 #139]: #157
-#161 := [monotonicity #158]: #160
-#166 := [trans #161 #164]: #165
-#131 := (iff #48 #130)
-#128 := (iff #47 #127)
-#113 := (iff #44 #112)
-#114 := [rewrite]: #113
-#120 := (iff #46 #119)
-#124 := (iff #119 #119)
-#122 := (iff #118 #118)
-#123 := [rewrite]: #122
-#125 := [monotonicity #123]: #124
-#121 := [rewrite]: #120
-#126 := [trans #121 #125]: #120
-#129 := [monotonicity #126 #114]: #128
-#116 := (iff #45 #115)
-#109 := (iff #43 #108)
-#110 := [rewrite]: #109
-#117 := [monotonicity #110 #114]: #116
-#132 := [monotonicity #117 #129]: #131
-#169 := [monotonicity #132 #166]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [quant-intro #178]: #180
-#73 := [asserted]: #66
-#182 := [mp #73 #181]: #179
-#263 := [mp #182 #262]: #260
-#286 := [mp~ #263 #285]: #260
-#326 := [mp #286 #325]: #323
-#357 := [mp #326 #356]: #354
-#804 := [mp #357 #803]: #799
-#673 := (not #799)
-#674 := (or #673 #677)
-#724 := (* -1::Int 1::Int)
-#729 := (mod #723 #724)
-#730 := (+ #14 #729)
-#725 := (= #730 0::Int)
-#737 := (mod #11 1::Int)
-#726 := (* -1::Int #737)
-#727 := (+ #14 #726)
-#728 := (= #727 0::Int)
-#456 := (<= 1::Int 0::Int)
-#732 := (or #450 #456)
-#736 := (not #732)
-#734 := (or #455 #456)
-#735 := (not #734)
-#733 := (or #735 #736)
-#731 := (if #733 #728 #725)
-#572 := (if #453 #454 #731)
-#743 := (= #14 #11)
-#739 := (= 1::Int 0::Int)
-#573 := (if #739 #743 #572)
-#671 := (or #673 #573)
-#655 := (iff #671 #674)
-#658 := (iff #674 #674)
-#659 := [rewrite]: #658
-#670 := (iff #573 #677)
-#681 := (if false #743 #677)
-#683 := (iff #681 #677)
-#669 := [rewrite]: #683
-#682 := (iff #573 #681)
-#679 := (iff #572 #677)
-#692 := (iff #731 #685)
-#690 := (iff #725 #689)
-#699 := (= #730 #694)
-#697 := (= #729 #696)
-#684 := (= #724 -1::Int)
-#686 := [rewrite]: #684
-#698 := [monotonicity #686]: #697
-#688 := [monotonicity #698]: #699
-#691 := [monotonicity #688]: #690
-#695 := (iff #728 #454)
-#706 := (= #727 #14)
-#610 := (+ #14 0::Int)
-#705 := (= #610 #14)
-#702 := [rewrite]: #705
-#611 := (= #727 #610)
-#608 := (= #726 0::Int)
-#589 := (* -1::Int 0::Int)
-#607 := (= #589 0::Int)
-#600 := [rewrite]: #607
-#604 := (= #726 #589)
-#701 := (= #737 0::Int)
-#704 := [rewrite]: #701
-#606 := [monotonicity #704]: #604
-#609 := [trans #606 #600]: #608
-#612 := [monotonicity #609]: #611
-#693 := [trans #612 #702]: #706
-#687 := [monotonicity #693]: #695
-#605 := (iff #733 #703)
-#596 := (iff #736 #595)
-#712 := (iff #732 #450)
-#707 := (or #450 false)
-#711 := (iff #707 #450)
-#709 := [rewrite]: #711
-#708 := (iff #732 #707)
-#717 := (iff #456 false)
-#718 := [rewrite]: #717
-#710 := [monotonicity #718]: #708
-#594 := [trans #710 #709]: #712
-#555 := [monotonicity #594]: #596
-#553 := (iff #735 #551)
-#715 := (iff #734 #455)
-#719 := (or #455 false)
-#720 := (iff #719 #455)
-#721 := [rewrite]: #720
-#713 := (iff #734 #719)
-#714 := [monotonicity #718]: #713
-#722 := [trans #714 #721]: #715
-#554 := [monotonicity #722]: #553
-#700 := [monotonicity #554 #555]: #605
-#676 := [monotonicity #700 #687 #691]: #692
-#680 := [monotonicity #676]: #679
-#574 := (iff #739 false)
-#716 := [rewrite]: #574
-#678 := [monotonicity #716 #680]: #682
-#672 := [trans #678 #669]: #670
-#656 := [monotonicity #672]: #655
-#660 := [trans #656 #659]: #655
-#675 := [quant-inst #11 #13]: #671
-#661 := [mp #675 #660]: #674
-#627 := [unit-resolution #661 #804]: #677
-#641 := (not #677)
-#643 := (or #641 #642 #454)
-#644 := [def-axiom]: #643
-#615 := [unit-resolution #644 #627]: #635
-#540 := [unit-resolution #615 #463]: #642
-#616 := (or #453 #685)
-#639 := (or #641 #453 #685)
-#645 := [def-axiom]: #639
-#597 := [unit-resolution #645 #627]: #616
-#541 := [unit-resolution #597 #540]: #685
-#649 := (not #685)
-#650 := (or #649 #667 #454)
-#651 := [def-axiom]: #650
-#543 := [unit-resolution #651 #541 #463]: #667
-#665 := (or #703 #450)
-#666 := [def-axiom]: #665
-#544 := [unit-resolution #666 #543]: #450
-#663 := (or #703 #455)
-#664 := [def-axiom]: #663
-#545 := [unit-resolution #664 #543]: #455
-#388 := (or #453 #551 #595)
-#546 := [th-lemma arith triangle-eq]: #388
-[unit-resolution #546 #540 #545 #544]: false
-33c9f7f66858ac0e41501cb38daaa8a8b9d12fcd 311 0
-unsat
+#238 := (iff #66 #235)
+#208 := (if #48 #59 #203)
+#211 := (if #40 0::Int #208)
+#214 := (if #41 #37 #211)
+#217 := (= #58 #214)
+#220 := (forall (vars (?v0 Int) (?v1 Int)) #217)
+#236 := (iff #220 #235)
+#233 := (iff #217 #232)
+#230 := (= #214 #229)
+#227 := (= #211 #226)
+#224 := (= #208 #223)
+#179 := (iff #48 #178)
+#176 := (iff #47 #175)
+#166 := (iff #44 #165)
+#167 := [rewrite]: #166
+#173 := (iff #46 #172)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174 #167]: #176
+#169 := (iff #45 #168)
+#162 := (iff #43 #161)
+#163 := [rewrite]: #162
+#170 := [monotonicity #163 #167]: #169
+#180 := [monotonicity #170 #177]: #179
+#225 := [monotonicity #180]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#221 := (iff #66 #220)
+#218 := (iff #65 #217)
+#215 := (= #64 #214)
+#212 := (= #63 #211)
+#209 := (= #62 #208)
+#206 := (= #61 #203)
+#200 := (- #197)
+#204 := (= #200 #203)
+#205 := [rewrite]: #204
+#201 := (= #61 #200)
+#198 := (= #60 #197)
+#143 := (= #51 #142)
+#144 := [rewrite]: #143
+#140 := (= #50 #139)
+#141 := [rewrite]: #140
+#199 := [monotonicity #141 #144]: #198
+#202 := [monotonicity #199]: #201
+#207 := [trans #202 #205]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#222 := [quant-intro #219]: #221
+#239 := [trans #222 #237]: #238
+#196 := [asserted]: #66
+#240 := [mp #196 #239]: #235
+#268 := [mp~ #240 #253]: #235
+#306 := [mp #268 #305]: #303
+#337 := [mp #306 #336]: #334
+#845 := [mp #337 #844]: #840
+#714 := (not #840)
+#715 := (or #714 #718)
+#765 := (* -1::Int 1::Int)
+#770 := (mod #764 #765)
+#771 := (+ #14 #770)
+#766 := (= #771 0::Int)
+#778 := (mod #11 1::Int)
+#767 := (* -1::Int #778)
+#768 := (+ #14 #767)
+#769 := (= #768 0::Int)
+#497 := (<= 1::Int 0::Int)
+#773 := (or #491 #497)
+#777 := (not #773)
+#775 := (or #496 #497)
+#776 := (not #775)
+#774 := (or #776 #777)
+#772 := (if #774 #769 #766)
+#613 := (if #494 #495 #772)
+#784 := (= #14 #11)
+#780 := (= 1::Int 0::Int)
+#614 := (if #780 #784 #613)
+#712 := (or #714 #614)
+#696 := (iff #712 #715)
+#699 := (iff #715 #715)
+#700 := [rewrite]: #699
+#711 := (iff #614 #718)
+#722 := (if false #784 #718)
+#724 := (iff #722 #718)
+#710 := [rewrite]: #724
+#723 := (iff #614 #722)
+#720 := (iff #613 #718)
+#733 := (iff #772 #726)
+#731 := (iff #766 #730)
+#740 := (= #771 #735)
+#738 := (= #770 #737)
+#725 := (= #765 -1::Int)
+#727 := [rewrite]: #725
+#739 := [monotonicity #727]: #738
+#729 := [monotonicity #739]: #740
+#732 := [monotonicity #729]: #731
+#736 := (iff #769 #495)
+#747 := (= #768 #14)
+#651 := (+ #14 0::Int)
+#746 := (= #651 #14)
+#743 := [rewrite]: #746
+#652 := (= #768 #651)
+#649 := (= #767 0::Int)
+#630 := (* -1::Int 0::Int)
+#648 := (= #630 0::Int)
+#641 := [rewrite]: #648
+#645 := (= #767 #630)
+#742 := (= #778 0::Int)
+#745 := [rewrite]: #742
+#647 := [monotonicity #745]: #645
+#650 := [trans #647 #641]: #649
+#653 := [monotonicity #650]: #652
+#734 := [trans #653 #743]: #747
+#728 := [monotonicity #734]: #736
+#646 := (iff #774 #744)
+#637 := (iff #777 #636)
+#753 := (iff #773 #491)
+#748 := (or #491 false)
+#752 := (iff #748 #491)
+#750 := [rewrite]: #752
+#749 := (iff #773 #748)
+#758 := (iff #497 false)
+#759 := [rewrite]: #758
+#751 := [monotonicity #759]: #749
+#635 := [trans #751 #750]: #753
+#596 := [monotonicity #635]: #637
+#594 := (iff #776 #592)
+#756 := (iff #775 #496)
+#760 := (or #496 false)
+#761 := (iff #760 #496)
+#762 := [rewrite]: #761
+#754 := (iff #775 #760)
+#755 := [monotonicity #759]: #754
+#763 := [trans #755 #762]: #756
+#595 := [monotonicity #763]: #594
+#741 := [monotonicity #595 #596]: #646
+#717 := [monotonicity #741 #728 #732]: #733
+#721 := [monotonicity #717]: #720
+#615 := (iff #780 false)
+#757 := [rewrite]: #615
+#719 := [monotonicity #757 #721]: #723
+#713 := [trans #719 #710]: #711
+#697 := [monotonicity #713]: #696
+#701 := [trans #697 #700]: #696
+#716 := [quant-inst #11 #13]: #712
+#702 := [mp #716 #701]: #715
+#668 := [unit-resolution #702 #845]: #718
+#682 := (not #718)
+#684 := (or #682 #683 #495)
+#685 := [def-axiom]: #684
+#656 := [unit-resolution #685 #668]: #676
+#583 := [unit-resolution #656 #633]: #683
+#657 := (or #494 #726)
+#680 := (or #682 #494 #726)
+#686 := [def-axiom]: #680
+#638 := [unit-resolution #686 #668]: #657
+#588 := [unit-resolution #638 #583]: #726
+#690 := (not #726)
+#691 := (or #690 #708 #495)
+#692 := [def-axiom]: #691
+#567 := [unit-resolution #692 #588 #633]: #708
+#706 := (or #744 #491)
+#707 := [def-axiom]: #706
+#570 := [unit-resolution #707 #567]: #491
+#704 := (or #744 #496)
+#705 := [def-axiom]: #704
+#574 := [unit-resolution #705 #567]: #496
+#576 := (or #494 #592 #636)
+#577 := [th-lemma arith triangle-eq]: #576
+[unit-resolution #577 #583 #574 #570]: false
+unsat
+f5dee1de42c18302f6c788168a6801f729654264 295 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 0::Int
@@ -18296,111 +17001,84 @@
 #12 := (f5 #10 3::Int)
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
-#462 := (= #12 0::Int)
+#502 := (= #12 0::Int)
 #23 := (:var 0 Int)
 #35 := (:var 1 Int)
 #55 := (f6 f7 #35)
 #56 := (f5 #55 #23)
-#797 := (pattern #56)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #35)
-#154 := (mod #132 #135)
-#345 := (+ #56 #154)
-#346 := (= #345 0::Int)
+#837 := (pattern #56)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #35)
+#195 := (mod #137 #140)
+#325 := (+ #56 #195)
+#326 := (= #325 0::Int)
 #57 := (mod #35 #23)
-#342 := (* -1::Int #57)
-#343 := (+ #56 #342)
-#344 := (= #343 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #35 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #35 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#347 := (if #293 #344 #346)
-#341 := (= #56 0::Int)
+#322 := (* -1::Int #57)
+#323 := (+ #56 #322)
+#324 := (= #323 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #35 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #35 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#327 := (if #273 #324 #326)
+#321 := (= #56 0::Int)
 #38 := (= #35 0::Int)
-#348 := (if #38 #341 #347)
-#340 := (= #56 #35)
+#328 := (if #38 #321 #327)
+#320 := (= #56 #35)
 #39 := (= #23 0::Int)
-#349 := (if #39 #340 #348)
-#798 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #797) #349)
-#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
-#801 := (iff #352 #798)
-#799 := (iff #349 #349)
-#800 := [refl]: #799
-#802 := [quant-intro #800]: #801
-#160 := (* -1::Int #154)
-#309 := (if #293 #57 #160)
-#312 := (if #38 0::Int #309)
-#315 := (if #39 #35 #312)
-#318 := (= #56 #315)
-#321 := (forall (vars (?v0 Int) (?v1 Int)) #318)
-#353 := (iff #321 #352)
-#350 := (iff #318 #349)
-#351 := [rewrite]: #350
-#354 := [quant-intro #351]: #353
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#246 := (if #230 #57 #160)
-#249 := (if #38 0::Int #246)
-#252 := (if #39 #35 #249)
-#255 := (= #56 #252)
-#258 := (forall (vars (?v0 Int) (?v1 Int)) #255)
-#322 := (iff #258 #321)
-#319 := (iff #255 #318)
-#316 := (= #252 #315)
-#313 := (= #249 #312)
-#310 := (= #246 #309)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#311 := [monotonicity #295]: #310
-#314 := [monotonicity #311]: #313
-#317 := [monotonicity #314]: #316
-#320 := [monotonicity #317]: #319
-#323 := [quant-intro #320]: #322
-#282 := (~ #258 #258)
-#280 := (~ #255 #255)
-#281 := [refl]: #280
-#283 := [nnf-pos #281]: #282
-#116 := (<= 0::Int #35)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#165 := (if #128 #57 #160)
-#168 := (if #38 0::Int #165)
-#171 := (if #39 #35 #168)
-#174 := (= #56 #171)
-#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
-#259 := (iff #177 #258)
-#256 := (iff #174 #255)
-#253 := (= #171 #252)
-#250 := (= #168 #249)
-#247 := (= #165 #246)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#248 := [monotonicity #232]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [quant-intro #257]: #259
+#329 := (if #39 #320 #328)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #329)
+#332 := (forall (vars (?v0 Int) (?v1 Int)) #329)
+#841 := (iff #332 #838)
+#839 := (iff #329 #329)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#201 := (* -1::Int #195)
+#289 := (if #273 #57 #201)
+#292 := (if #38 0::Int #289)
+#295 := (if #39 #35 #292)
+#298 := (= #56 #295)
+#301 := (forall (vars (?v0 Int) (?v1 Int)) #298)
+#333 := (iff #301 #332)
+#330 := (iff #298 #329)
+#331 := [rewrite]: #330
+#334 := [quant-intro #331]: #333
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#221 := (if #176 #57 #201)
+#224 := (if #38 0::Int #221)
+#227 := (if #39 #35 #224)
+#230 := (= #56 #227)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#302 := (iff #233 #301)
+#299 := (iff #230 #298)
+#296 := (= #227 #295)
+#293 := (= #224 #292)
+#290 := (= #221 #289)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#291 := [monotonicity #275]: #290
+#294 := [monotonicity #291]: #293
+#297 := [monotonicity #294]: #296
+#300 := [monotonicity #297]: #299
+#303 := [quant-intro #300]: #302
+#250 := (~ #233 #233)
+#264 := (~ #230 #230)
+#265 := [refl]: #264
+#251 := [nnf-pos #265]: #250
 #49 := (- #23)
 #48 := (- #35)
 #58 := (mod #48 #49)
@@ -18416,183 +17094,194 @@
 #62 := (if #39 #35 #61)
 #63 := (= #56 #62)
 #64 := (forall (vars (?v0 Int) (?v1 Int)) #63)
-#178 := (iff #64 #177)
-#175 := (iff #63 #174)
-#172 := (= #62 #171)
-#169 := (= #61 #168)
-#166 := (= #60 #165)
-#163 := (= #59 #160)
-#157 := (- #154)
-#161 := (= #157 #160)
-#162 := [rewrite]: #161
-#158 := (= #59 #157)
-#155 := (= #58 #154)
-#136 := (= #49 #135)
-#137 := [rewrite]: #136
-#133 := (= #48 #132)
-#134 := [rewrite]: #133
-#156 := [monotonicity #134 #137]: #155
-#159 := [monotonicity #156]: #158
-#164 := [trans #159 #162]: #163
-#129 := (iff #46 #128)
-#126 := (iff #45 #125)
-#111 := (iff #42 #110)
-#112 := [rewrite]: #111
-#118 := (iff #44 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #43 #113)
-#107 := (iff #41 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#167 := [monotonicity #130 #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [quant-intro #176]: #178
-#71 := [asserted]: #64
-#180 := [mp #71 #179]: #177
-#261 := [mp #180 #260]: #258
-#284 := [mp~ #261 #283]: #258
-#324 := [mp #284 #323]: #321
-#355 := [mp #324 #354]: #352
-#803 := [mp #355 #802]: #798
-#660 := (not #798)
-#661 := (or #660 #462)
-#735 := (* -1::Int 3::Int)
-#731 := (* -1::Int 0::Int)
-#732 := (mod #731 #735)
-#736 := (+ #12 #732)
-#725 := (= #736 0::Int)
-#455 := (mod 0::Int 3::Int)
-#733 := (* -1::Int #455)
-#734 := (+ #12 #733)
-#449 := (= #734 0::Int)
-#741 := (<= 3::Int 0::Int)
-#551 := (>= 0::Int 0::Int)
-#452 := (or #551 #741)
-#453 := (not #452)
-#737 := (<= 0::Int 0::Int)
-#738 := (or #737 #741)
-#742 := (not #738)
-#454 := (or #742 #453)
-#726 := (if #454 #449 #725)
-#463 := (= 0::Int 0::Int)
-#727 := (if #463 #462 #726)
-#740 := (= 3::Int 0::Int)
-#722 := (if #740 #462 #727)
-#662 := (or #660 #722)
-#664 := (iff #662 #661)
-#666 := (iff #661 #661)
-#656 := [rewrite]: #666
-#658 := (iff #722 #462)
-#678 := (if false #462 #462)
-#681 := (iff #678 #462)
-#677 := [rewrite]: #681
-#655 := (iff #722 #678)
-#674 := (iff #727 #462)
-#1 := true
-#669 := (if true #462 #462)
-#673 := (iff #669 #462)
-#670 := [rewrite]: #673
-#671 := (iff #727 #669)
-#682 := (iff #726 #462)
-#679 := (iff #726 #678)
-#675 := (iff #725 #462)
-#684 := (= #736 #12)
-#608 := (+ #12 0::Int)
-#611 := (= #608 #12)
-#704 := [rewrite]: #611
-#689 := (= #736 #608)
-#687 := (= #732 0::Int)
-#686 := -3::Int
-#695 := (mod 0::Int -3::Int)
-#693 := (= #695 0::Int)
-#698 := [rewrite]: #693
-#696 := (= #732 #695)
-#683 := (= #735 -3::Int)
-#685 := [rewrite]: #683
-#605 := (= #731 0::Int)
-#606 := [rewrite]: #605
-#697 := [monotonicity #606 #685]: #696
-#688 := [trans #697 #698]: #687
-#690 := [monotonicity #688]: #689
-#691 := [trans #690 #704]: #684
-#676 := [monotonicity #691]: #675
-#692 := (iff #449 #462)
-#701 := (= #734 #12)
-#609 := (= #734 #608)
-#599 := (= #733 0::Int)
-#588 := (= #733 #731)
-#700 := (= #455 0::Int)
-#703 := [rewrite]: #700
-#603 := [monotonicity #703]: #588
-#607 := [trans #603 #606]: #599
-#610 := [monotonicity #607]: #609
-#705 := [trans #610 #704]: #701
-#694 := [monotonicity #705]: #692
-#604 := (iff #454 false)
-#593 := (or false false)
-#554 := (iff #593 false)
-#702 := [rewrite]: #554
-#594 := (iff #454 #593)
-#708 := (iff #453 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#709 := (iff #453 #420)
-#706 := (iff #452 true)
-#715 := (or true false)
-#718 := (iff #715 true)
-#712 := [rewrite]: #718
-#552 := (iff #452 #715)
-#572 := (iff #741 false)
-#573 := [rewrite]: #572
-#424 := (iff #551 true)
-#760 := [rewrite]: #424
-#553 := [monotonicity #760 #573]: #552
-#707 := [trans #553 #712]: #706
-#710 := [monotonicity #707]: #709
-#711 := [trans #710 #408]: #708
-#721 := (iff #742 false)
-#720 := (iff #742 #420)
-#713 := (iff #738 true)
-#716 := (iff #738 #715)
-#730 := (iff #737 true)
-#571 := [rewrite]: #730
-#717 := [monotonicity #571 #573]: #716
-#719 := [trans #717 #712]: #713
-#714 := [monotonicity #719]: #720
-#550 := [trans #714 #408]: #721
-#595 := [monotonicity #550 #711]: #594
-#699 := [trans #595 #702]: #604
-#680 := [monotonicity #699 #694 #676]: #679
-#668 := [trans #680 #677]: #682
-#729 := (iff #463 true)
-#724 := [rewrite]: #729
-#672 := [monotonicity #724 #668]: #671
-#654 := [trans #672 #670]: #674
-#723 := (iff #740 false)
-#728 := [rewrite]: #723
-#657 := [monotonicity #728 #654]: #655
-#659 := [trans #657 #677]: #658
-#665 := [monotonicity #659]: #664
-#667 := [trans #665 #656]: #664
-#663 := [quant-inst #9 #11]: #662
-#645 := [mp #663 #667]: #661
-#648 := [unit-resolution #645 #803]: #462
-#649 := [monotonicity #648]: #15
+#236 := (iff #64 #233)
+#206 := (if #46 #57 #201)
+#209 := (if #38 0::Int #206)
+#212 := (if #39 #35 #209)
+#215 := (= #56 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#234 := (iff #218 #233)
+#231 := (iff #215 #230)
+#228 := (= #212 #227)
+#225 := (= #209 #224)
+#222 := (= #206 #221)
+#177 := (iff #46 #176)
+#174 := (iff #45 #173)
+#164 := (iff #42 #163)
+#165 := [rewrite]: #164
+#171 := (iff #44 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #43 #166)
+#160 := (iff #41 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#223 := [monotonicity #178]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#219 := (iff #64 #218)
+#216 := (iff #63 #215)
+#213 := (= #62 #212)
+#210 := (= #61 #209)
+#207 := (= #60 #206)
+#204 := (= #59 #201)
+#198 := (- #195)
+#202 := (= #198 #201)
+#203 := [rewrite]: #202
+#199 := (= #59 #198)
+#196 := (= #58 #195)
+#141 := (= #49 #140)
+#142 := [rewrite]: #141
+#138 := (= #48 #137)
+#139 := [rewrite]: #138
+#197 := [monotonicity #139 #142]: #196
+#200 := [monotonicity #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#237 := [trans #220 #235]: #236
+#194 := [asserted]: #64
+#238 := [mp #194 #237]: #233
+#266 := [mp~ #238 #251]: #233
+#304 := [mp #266 #303]: #301
+#335 := [mp #304 #334]: #332
+#843 := [mp #335 #842]: #838
+#700 := (not #838)
+#701 := (or #700 #502)
+#775 := (* -1::Int 3::Int)
+#771 := (* -1::Int 0::Int)
+#772 := (mod #771 #775)
+#776 := (+ #12 #772)
+#765 := (= #776 0::Int)
+#495 := (mod 0::Int 3::Int)
+#773 := (* -1::Int #495)
+#774 := (+ #12 #773)
+#489 := (= #774 0::Int)
+#781 := (<= 3::Int 0::Int)
+#591 := (>= 0::Int 0::Int)
+#492 := (or #591 #781)
+#493 := (not #492)
+#777 := (<= 0::Int 0::Int)
+#778 := (or #777 #781)
+#782 := (not #778)
+#494 := (or #782 #493)
+#766 := (if #494 #489 #765)
+#503 := (= 0::Int 0::Int)
+#767 := (if #503 #502 #766)
+#780 := (= 3::Int 0::Int)
+#762 := (if #780 #502 #767)
+#702 := (or #700 #762)
+#704 := (iff #702 #701)
+#706 := (iff #701 #701)
+#696 := [rewrite]: #706
+#698 := (iff #762 #502)
+#718 := (if false #502 #502)
+#721 := (iff #718 #502)
+#717 := [rewrite]: #721
+#695 := (iff #762 #718)
+#714 := (iff #767 #502)
+#1 := true
+#709 := (if true #502 #502)
+#713 := (iff #709 #502)
+#710 := [rewrite]: #713
+#711 := (iff #767 #709)
+#722 := (iff #766 #502)
+#719 := (iff #766 #718)
+#715 := (iff #765 #502)
+#724 := (= #776 #12)
+#648 := (+ #12 0::Int)
+#651 := (= #648 #12)
+#744 := [rewrite]: #651
+#729 := (= #776 #648)
+#727 := (= #772 0::Int)
+#726 := -3::Int
+#735 := (mod 0::Int -3::Int)
+#733 := (= #735 0::Int)
+#738 := [rewrite]: #733
+#736 := (= #772 #735)
+#723 := (= #775 -3::Int)
+#725 := [rewrite]: #723
+#645 := (= #771 0::Int)
+#646 := [rewrite]: #645
+#737 := [monotonicity #646 #725]: #736
+#728 := [trans #737 #738]: #727
+#730 := [monotonicity #728]: #729
+#731 := [trans #730 #744]: #724
+#716 := [monotonicity #731]: #715
+#732 := (iff #489 #502)
+#741 := (= #774 #12)
+#649 := (= #774 #648)
+#639 := (= #773 0::Int)
+#628 := (= #773 #771)
+#740 := (= #495 0::Int)
+#743 := [rewrite]: #740
+#643 := [monotonicity #743]: #628
+#647 := [trans #643 #646]: #639
+#650 := [monotonicity #647]: #649
+#745 := [trans #650 #744]: #741
+#734 := [monotonicity #745]: #732
+#644 := (iff #494 false)
+#633 := (or false false)
+#594 := (iff #633 false)
+#742 := [rewrite]: #594
+#634 := (iff #494 #633)
+#748 := (iff #493 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#749 := (iff #493 #460)
+#746 := (iff #492 true)
+#755 := (or true false)
+#758 := (iff #755 true)
+#752 := [rewrite]: #758
+#592 := (iff #492 #755)
+#612 := (iff #781 false)
+#613 := [rewrite]: #612
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#593 := [monotonicity #800 #613]: #592
+#747 := [trans #593 #752]: #746
+#750 := [monotonicity #747]: #749
+#751 := [trans #750 #448]: #748
+#761 := (iff #782 false)
+#760 := (iff #782 #460)
+#753 := (iff #778 true)
+#756 := (iff #778 #755)
+#770 := (iff #777 true)
+#611 := [rewrite]: #770
+#757 := [monotonicity #611 #613]: #756
+#759 := [trans #757 #752]: #753
+#754 := [monotonicity #759]: #760
+#590 := [trans #754 #448]: #761
+#635 := [monotonicity #590 #751]: #634
+#739 := [trans #635 #742]: #644
+#720 := [monotonicity #739 #734 #716]: #719
+#708 := [trans #720 #717]: #722
+#769 := (iff #503 true)
+#764 := [rewrite]: #769
+#712 := [monotonicity #764 #708]: #711
+#694 := [trans #712 #710]: #714
+#763 := (iff #780 false)
+#768 := [rewrite]: #763
+#697 := [monotonicity #768 #694]: #695
+#699 := [trans #697 #717]: #698
+#705 := [monotonicity #699]: #704
+#707 := [trans #705 #696]: #704
+#703 := [quant-inst #9 #11]: #702
+#685 := [mp #703 #707]: #701
+#688 := [unit-resolution #685 #843]: #502
+#689 := [monotonicity #688]: #15
 #16 := (not #15)
-#66 := [asserted]: #16
-[unit-resolution #66 #649]: false
-b6547dc3ec1930e52fec661a7dc0e7e45f2f11a0 337 0
-unsat
+#84 := [asserted]: #16
+[unit-resolution #84 #689]: false
+unsat
+a2a3dbca7e9573eaa0bdadbb6bd04a2c290ad9e4 321 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #9 := 1::Int
@@ -18608,112 +17297,85 @@
 #12 := (f5 #10 3::Int)
 #13 := (f3 f4 #12)
 #15 := (= #13 #14)
-#463 := (= #12 1::Int)
+#503 := (= #12 1::Int)
 #24 := (:var 0 Int)
 #36 := (:var 1 Int)
 #56 := (f6 f7 #36)
 #57 := (f5 #56 #24)
-#797 := (pattern #57)
+#837 := (pattern #57)
 #23 := 0::Int
-#132 := -1::Int
-#136 := (* -1::Int #24)
-#133 := (* -1::Int #36)
-#155 := (mod #133 #136)
-#346 := (+ #57 #155)
-#347 := (= #346 0::Int)
+#137 := -1::Int
+#141 := (* -1::Int #24)
+#138 := (* -1::Int #36)
+#196 := (mod #138 #141)
+#326 := (+ #57 #196)
+#327 := (= #326 0::Int)
 #58 := (mod #36 #24)
-#343 := (* -1::Int #58)
-#344 := (+ #57 #343)
-#345 := (= #344 0::Int)
-#110 := (<= #24 0::Int)
-#222 := (>= #36 0::Int)
-#290 := (or #222 #110)
-#291 := (not #290)
-#106 := (<= #36 0::Int)
-#286 := (or #106 #110)
-#287 := (not #286)
-#294 := (or #287 #291)
-#348 := (if #294 #345 #347)
-#342 := (= #57 0::Int)
+#323 := (* -1::Int #58)
+#324 := (+ #57 #323)
+#325 := (= #324 0::Int)
+#163 := (<= #24 0::Int)
+#170 := (>= #36 0::Int)
+#270 := (or #170 #163)
+#271 := (not #270)
+#159 := (<= #36 0::Int)
+#268 := (or #159 #163)
+#269 := (not #268)
+#274 := (or #269 #271)
+#328 := (if #274 #325 #327)
+#322 := (= #57 0::Int)
 #39 := (= #36 0::Int)
-#349 := (if #39 #342 #348)
-#341 := (= #57 #36)
+#329 := (if #39 #322 #328)
+#321 := (= #57 #36)
 #40 := (= #24 0::Int)
-#350 := (if #40 #341 #349)
-#798 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #797) #350)
-#353 := (forall (vars (?v0 Int) (?v1 Int)) #350)
-#801 := (iff #353 #798)
-#799 := (iff #350 #350)
-#800 := [refl]: #799
-#802 := [quant-intro #800]: #801
-#161 := (* -1::Int #155)
-#310 := (if #294 #58 #161)
-#313 := (if #39 0::Int #310)
-#316 := (if #40 #36 #313)
-#319 := (= #57 #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
-#111 := (not #110)
-#225 := (not #222)
-#228 := (and #225 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#231 := (or #114 #228)
-#247 := (if #231 #58 #161)
-#250 := (if #39 0::Int #247)
-#253 := (if #40 #36 #250)
-#256 := (= #57 #253)
-#259 := (forall (vars (?v0 Int) (?v1 Int)) #256)
-#323 := (iff #259 #322)
-#320 := (iff #256 #319)
-#317 := (= #253 #316)
-#314 := (= #250 #313)
-#311 := (= #247 #310)
-#295 := (iff #231 #294)
-#292 := (iff #228 #291)
-#293 := [rewrite]: #292
-#288 := (iff #114 #287)
-#289 := [rewrite]: #288
-#296 := [monotonicity #289 #293]: #295
-#312 := [monotonicity #296]: #311
-#315 := [monotonicity #312]: #314
-#318 := [monotonicity #315]: #317
-#321 := [monotonicity #318]: #320
-#324 := [quant-intro #321]: #323
-#283 := (~ #259 #259)
-#281 := (~ #256 #256)
-#282 := [refl]: #281
-#284 := [nnf-pos #282]: #283
-#117 := (<= 0::Int #36)
-#118 := (not #117)
-#126 := (and #118 #111)
-#129 := (or #114 #126)
-#166 := (if #129 #58 #161)
-#169 := (if #39 0::Int #166)
-#172 := (if #40 #36 #169)
-#175 := (= #57 #172)
-#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
-#260 := (iff #178 #259)
-#257 := (iff #175 #256)
-#254 := (= #172 #253)
-#251 := (= #169 #250)
-#248 := (= #166 #247)
-#232 := (iff #129 #231)
-#229 := (iff #126 #228)
-#226 := (iff #118 #225)
-#223 := (iff #117 #222)
-#224 := [rewrite]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#249 := [monotonicity #233]: #248
-#252 := [monotonicity #249]: #251
-#255 := [monotonicity #252]: #254
-#258 := [monotonicity #255]: #257
-#261 := [quant-intro #258]: #260
+#330 := (if #40 #321 #329)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #330)
+#333 := (forall (vars (?v0 Int) (?v1 Int)) #330)
+#841 := (iff #333 #838)
+#839 := (iff #330 #330)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#202 := (* -1::Int #196)
+#290 := (if #274 #58 #202)
+#293 := (if #39 0::Int #290)
+#296 := (if #40 #36 #293)
+#299 := (= #57 #296)
+#302 := (forall (vars (?v0 Int) (?v1 Int)) #299)
+#334 := (iff #302 #333)
+#331 := (iff #299 #330)
+#332 := [rewrite]: #331
+#335 := [quant-intro #332]: #334
+#164 := (not #163)
+#171 := (not #170)
+#174 := (and #171 #164)
+#160 := (not #159)
+#167 := (and #160 #164)
+#177 := (or #167 #174)
+#222 := (if #177 #58 #202)
+#225 := (if #39 0::Int #222)
+#228 := (if #40 #36 #225)
+#231 := (= #57 #228)
+#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
+#303 := (iff #234 #302)
+#300 := (iff #231 #299)
+#297 := (= #228 #296)
+#294 := (= #225 #293)
+#291 := (= #222 #290)
+#275 := (iff #177 #274)
+#272 := (iff #174 #271)
+#273 := [rewrite]: #272
+#253 := (iff #167 #269)
+#254 := [rewrite]: #253
+#276 := [monotonicity #254 #273]: #275
+#292 := [monotonicity #276]: #291
+#295 := [monotonicity #292]: #294
+#298 := [monotonicity #295]: #297
+#301 := [monotonicity #298]: #300
+#304 := [quant-intro #301]: #303
+#251 := (~ #234 #234)
+#265 := (~ #231 #231)
+#266 := [refl]: #265
+#252 := [nnf-pos #266]: #251
 #50 := (- #24)
 #49 := (- #36)
 #59 := (mod #49 #50)
@@ -18729,208 +17391,219 @@
 #63 := (if #40 #36 #62)
 #64 := (= #57 #63)
 #65 := (forall (vars (?v0 Int) (?v1 Int)) #64)
-#179 := (iff #65 #178)
-#176 := (iff #64 #175)
-#173 := (= #63 #172)
-#170 := (= #62 #169)
-#167 := (= #61 #166)
-#164 := (= #60 #161)
-#158 := (- #155)
-#162 := (= #158 #161)
-#163 := [rewrite]: #162
-#159 := (= #60 #158)
-#156 := (= #59 #155)
-#137 := (= #50 #136)
-#138 := [rewrite]: #137
-#134 := (= #49 #133)
-#135 := [rewrite]: #134
-#157 := [monotonicity #135 #138]: #156
-#160 := [monotonicity #157]: #159
-#165 := [trans #160 #163]: #164
-#130 := (iff #47 #129)
-#127 := (iff #46 #126)
-#112 := (iff #43 #111)
-#113 := [rewrite]: #112
-#119 := (iff #45 #118)
-#123 := (iff #118 #118)
-#121 := (iff #117 #117)
-#122 := [rewrite]: #121
-#124 := [monotonicity #122]: #123
-#120 := [rewrite]: #119
-#125 := [trans #120 #124]: #119
-#128 := [monotonicity #125 #113]: #127
-#115 := (iff #44 #114)
-#108 := (iff #42 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#131 := [monotonicity #116 #128]: #130
-#168 := [monotonicity #131 #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [quant-intro #177]: #179
-#72 := [asserted]: #65
-#181 := [mp #72 #180]: #178
-#262 := [mp #181 #261]: #259
-#285 := [mp~ #262 #284]: #259
-#325 := [mp #285 #324]: #322
-#356 := [mp #325 #355]: #353
-#803 := [mp #356 #802]: #798
-#638 := (not #798)
-#644 := (or #638 #463)
-#736 := (* -1::Int 3::Int)
-#732 := (* -1::Int 1::Int)
-#725 := (mod #732 #736)
-#726 := (+ #12 #725)
-#727 := (= #726 0::Int)
-#734 := (mod 1::Int 3::Int)
-#449 := (* -1::Int #734)
-#731 := (+ #12 #449)
-#735 := (= #731 0::Int)
-#742 := (<= 3::Int 0::Int)
-#551 := (>= 1::Int 0::Int)
-#454 := (or #551 #742)
-#455 := (not #454)
-#738 := (<= 1::Int 0::Int)
-#452 := (or #738 #742)
-#453 := (not #452)
-#733 := (or #453 #455)
-#722 := (if #733 #735 #727)
-#741 := (= #12 0::Int)
-#737 := (= 1::Int 0::Int)
-#723 := (if #737 #741 #722)
-#462 := (= 3::Int 0::Int)
-#728 := (if #462 #463 #723)
-#617 := (or #638 #728)
-#619 := (iff #617 #644)
-#623 := (iff #644 #644)
-#624 := [rewrite]: #623
-#642 := (iff #728 #463)
-#635 := (if false #463 #463)
-#640 := (iff #635 #463)
-#641 := [rewrite]: #640
-#636 := (iff #728 #635)
-#653 := (iff #723 #463)
-#649 := (if false #741 #463)
-#652 := (iff #649 #463)
-#647 := [rewrite]: #652
-#650 := (iff #723 #649)
-#646 := (iff #722 #463)
-#659 := -2::Int
-#660 := (= #12 -2::Int)
-#1 := true
-#665 := (if true #463 #660)
-#667 := (iff #665 #463)
-#645 := [rewrite]: #667
-#666 := (iff #722 #665)
-#663 := (iff #727 #660)
-#679 := 2::Int
-#672 := (+ 2::Int #12)
-#655 := (= #672 0::Int)
-#661 := (iff #655 #660)
-#662 := [rewrite]: #661
-#657 := (iff #727 #655)
-#674 := (= #726 #672)
-#668 := (+ #12 2::Int)
-#673 := (= #668 #672)
-#670 := [rewrite]: #673
-#669 := (= #726 #668)
-#677 := (= #725 2::Int)
-#690 := -3::Int
-#675 := (mod -1::Int -3::Int)
-#680 := (= #675 2::Int)
-#681 := [rewrite]: #680
-#676 := (= #725 #675)
-#684 := (= #736 -3::Int)
-#691 := [rewrite]: #684
-#609 := (= #732 -1::Int)
-#610 := [rewrite]: #609
-#678 := [monotonicity #610 #691]: #676
-#682 := [trans #678 #681]: #677
-#671 := [monotonicity #682]: #669
-#654 := [trans #671 #670]: #674
-#658 := [monotonicity #654]: #657
-#664 := [trans #658 #662]: #663
-#688 := (iff #735 #463)
-#694 := (+ -1::Int #12)
-#696 := (= #694 0::Int)
-#698 := (iff #696 #463)
-#687 := [rewrite]: #698
-#697 := (iff #735 #696)
-#685 := (= #731 #694)
-#701 := (+ #12 -1::Int)
-#686 := (= #701 #694)
-#683 := [rewrite]: #686
-#705 := (= #731 #701)
-#611 := (= #449 -1::Int)
-#607 := (= #449 #732)
-#606 := (= #734 1::Int)
-#599 := [rewrite]: #606
-#608 := [monotonicity #599]: #607
-#704 := [trans #608 #610]: #611
-#692 := [monotonicity #704]: #705
-#695 := [trans #692 #683]: #685
-#693 := [monotonicity #695]: #697
-#689 := [trans #693 #687]: #688
-#603 := (iff #733 true)
-#710 := (or true false)
-#593 := (iff #710 true)
-#594 := [rewrite]: #593
-#703 := (iff #733 #710)
-#699 := (iff #455 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#702 := (iff #455 #420)
-#595 := (iff #454 true)
-#708 := (iff #454 #710)
-#715 := (iff #742 false)
-#716 := [rewrite]: #715
-#424 := (iff #551 true)
-#760 := [rewrite]: #424
-#711 := [monotonicity #760 #716]: #708
-#554 := [trans #711 #594]: #595
-#604 := [monotonicity #554]: #702
-#700 := [trans #604 #408]: #699
-#707 := (iff #453 true)
-#721 := (not false)
-#553 := (iff #721 true)
-#706 := [rewrite]: #553
-#550 := (iff #453 #721)
-#720 := (iff #452 false)
-#717 := (or false false)
-#713 := (iff #717 false)
-#719 := [rewrite]: #713
-#718 := (iff #452 #717)
-#572 := (iff #738 false)
-#573 := [rewrite]: #572
-#712 := [monotonicity #573 #716]: #718
-#714 := [trans #712 #719]: #720
-#552 := [monotonicity #714]: #550
-#709 := [trans #552 #706]: #707
-#588 := [monotonicity #709 #700]: #703
-#605 := [trans #588 #594]: #603
-#656 := [monotonicity #605 #689 #664]: #666
-#648 := [trans #656 #645]: #646
-#730 := (iff #737 false)
-#571 := [rewrite]: #730
-#651 := [monotonicity #571 #648]: #650
-#639 := [trans #651 #647]: #653
-#729 := (iff #462 false)
-#724 := [rewrite]: #729
-#637 := [monotonicity #724 #639]: #636
-#643 := [trans #637 #641]: #642
-#512 := [monotonicity #643]: #619
-#625 := [trans #512 #624]: #619
-#618 := [quant-inst #9 #11]: #617
-#630 := [mp #618 #625]: #644
-#628 := [unit-resolution #630 #803]: #463
-#631 := [monotonicity #628]: #15
+#237 := (iff #65 #234)
+#207 := (if #47 #58 #202)
+#210 := (if #39 0::Int #207)
+#213 := (if #40 #36 #210)
+#216 := (= #57 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#235 := (iff #219 #234)
+#232 := (iff #216 #231)
+#229 := (= #213 #228)
+#226 := (= #210 #225)
+#223 := (= #207 #222)
+#178 := (iff #47 #177)
+#175 := (iff #46 #174)
+#165 := (iff #43 #164)
+#166 := [rewrite]: #165
+#172 := (iff #45 #171)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #166]: #175
+#168 := (iff #44 #167)
+#161 := (iff #42 #160)
+#162 := [rewrite]: #161
+#169 := [monotonicity #162 #166]: #168
+#179 := [monotonicity #169 #176]: #178
+#224 := [monotonicity #179]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [quant-intro #233]: #235
+#220 := (iff #65 #219)
+#217 := (iff #64 #216)
+#214 := (= #63 #213)
+#211 := (= #62 #210)
+#208 := (= #61 #207)
+#205 := (= #60 #202)
+#199 := (- #196)
+#203 := (= #199 #202)
+#204 := [rewrite]: #203
+#200 := (= #60 #199)
+#197 := (= #59 #196)
+#142 := (= #50 #141)
+#143 := [rewrite]: #142
+#139 := (= #49 #138)
+#140 := [rewrite]: #139
+#198 := [monotonicity #140 #143]: #197
+#201 := [monotonicity #198]: #200
+#206 := [trans #201 #204]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#238 := [trans #221 #236]: #237
+#195 := [asserted]: #65
+#239 := [mp #195 #238]: #234
+#267 := [mp~ #239 #252]: #234
+#305 := [mp #267 #304]: #302
+#336 := [mp #305 #335]: #333
+#843 := [mp #336 #842]: #838
+#683 := (not #838)
+#678 := (or #683 #503)
+#776 := (* -1::Int 3::Int)
+#772 := (* -1::Int 1::Int)
+#765 := (mod #772 #776)
+#766 := (+ #12 #765)
+#767 := (= #766 0::Int)
+#774 := (mod 1::Int 3::Int)
+#489 := (* -1::Int #774)
+#771 := (+ #12 #489)
+#775 := (= #771 0::Int)
+#782 := (<= 3::Int 0::Int)
+#591 := (>= 1::Int 0::Int)
+#494 := (or #591 #782)
+#495 := (not #494)
+#778 := (<= 1::Int 0::Int)
+#492 := (or #778 #782)
+#493 := (not #492)
+#773 := (or #493 #495)
+#762 := (if #773 #775 #767)
+#781 := (= #12 0::Int)
+#777 := (= 1::Int 0::Int)
+#763 := (if #777 #781 #762)
+#502 := (= 3::Int 0::Int)
+#768 := (if #502 #503 #763)
+#684 := (or #683 #768)
+#658 := (iff #684 #678)
+#552 := (iff #678 #678)
+#663 := [rewrite]: #552
+#681 := (iff #768 #503)
+#679 := (if false #503 #503)
+#677 := (iff #679 #503)
+#680 := [rewrite]: #677
+#675 := (iff #768 #679)
+#687 := (iff #763 #503)
+#688 := (if false #781 #503)
+#691 := (iff #688 #503)
+#692 := [rewrite]: #691
+#689 := (iff #763 #688)
+#685 := (iff #762 #503)
+#698 := -2::Int
+#699 := (= #12 -2::Int)
+#1 := true
+#704 := (if true #503 #699)
+#696 := (iff #704 #503)
+#707 := [rewrite]: #696
+#705 := (iff #762 #704)
+#702 := (iff #767 #699)
+#357 := 2::Int
+#711 := (+ 2::Int #12)
+#694 := (= #711 0::Int)
+#700 := (iff #694 #699)
+#701 := [rewrite]: #700
+#695 := (iff #767 #694)
+#710 := (= #766 #711)
+#722 := (+ #12 2::Int)
+#712 := (= #722 #711)
+#713 := [rewrite]: #712
+#708 := (= #766 #722)
+#721 := (= #765 2::Int)
+#730 := -3::Int
+#715 := (mod -1::Int -3::Int)
+#719 := (= #715 2::Int)
+#720 := [rewrite]: #719
+#716 := (= #765 #715)
+#724 := (= #776 -3::Int)
+#731 := [rewrite]: #724
+#649 := (= #772 -1::Int)
+#650 := [rewrite]: #649
+#718 := [monotonicity #650 #731]: #716
+#717 := [trans #718 #720]: #721
+#709 := [monotonicity #717]: #708
+#714 := [trans #709 #713]: #710
+#697 := [monotonicity #714]: #695
+#703 := [trans #697 #701]: #702
+#728 := (iff #775 #503)
+#734 := (+ -1::Int #12)
+#736 := (= #734 0::Int)
+#738 := (iff #736 #503)
+#727 := [rewrite]: #738
+#737 := (iff #775 #736)
+#725 := (= #771 #734)
+#741 := (+ #12 -1::Int)
+#726 := (= #741 #734)
+#723 := [rewrite]: #726
+#745 := (= #771 #741)
+#651 := (= #489 -1::Int)
+#647 := (= #489 #772)
+#646 := (= #774 1::Int)
+#639 := [rewrite]: #646
+#648 := [monotonicity #639]: #647
+#744 := [trans #648 #650]: #651
+#732 := [monotonicity #744]: #745
+#735 := [trans #732 #723]: #725
+#733 := [monotonicity #735]: #737
+#729 := [trans #733 #727]: #728
+#643 := (iff #773 true)
+#750 := (or true false)
+#633 := (iff #750 true)
+#634 := [rewrite]: #633
+#743 := (iff #773 #750)
+#739 := (iff #495 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#742 := (iff #495 #460)
+#635 := (iff #494 true)
+#748 := (iff #494 #750)
+#755 := (iff #782 false)
+#756 := [rewrite]: #755
+#464 := (iff #591 true)
+#800 := [rewrite]: #464
+#751 := [monotonicity #800 #756]: #748
+#594 := [trans #751 #634]: #635
+#644 := [monotonicity #594]: #742
+#740 := [trans #644 #448]: #739
+#747 := (iff #493 true)
+#761 := (not false)
+#593 := (iff #761 true)
+#746 := [rewrite]: #593
+#590 := (iff #493 #761)
+#760 := (iff #492 false)
+#757 := (or false false)
+#753 := (iff #757 false)
+#759 := [rewrite]: #753
+#758 := (iff #492 #757)
+#612 := (iff #778 false)
+#613 := [rewrite]: #612
+#752 := [monotonicity #613 #756]: #758
+#754 := [trans #752 #759]: #760
+#592 := [monotonicity #754]: #590
+#749 := [trans #592 #746]: #747
+#628 := [monotonicity #749 #740]: #743
+#645 := [trans #628 #634]: #643
+#706 := [monotonicity #645 #729 #703]: #705
+#686 := [trans #706 #707]: #685
+#770 := (iff #777 false)
+#611 := [rewrite]: #770
+#690 := [monotonicity #611 #686]: #689
+#693 := [trans #690 #692]: #687
+#769 := (iff #502 false)
+#764 := [rewrite]: #769
+#676 := [monotonicity #764 #693]: #675
+#682 := [trans #676 #680]: #681
+#659 := [monotonicity #682]: #658
+#664 := [trans #659 #663]: #658
+#657 := [quant-inst #9 #11]: #684
+#665 := [mp #657 #664]: #678
+#667 := [unit-resolution #665 #843]: #503
+#668 := [monotonicity #667]: #15
 #16 := (not #15)
-#67 := [asserted]: #16
-[unit-resolution #67 #631]: false
-5598c417fdf3bd603925adc251a35a82567199b0 312 0
-unsat
+#85 := [asserted]: #16
+[unit-resolution #85 #668]: false
+unsat
+cc3d71be6ab4da3c4f7dfa56b53ad9595e6253f7 296 0
 #2 := false
 decl f3 :: (-> S2 Int S3)
 #13 := 0::Int
@@ -18946,111 +17619,84 @@
 #11 := (f5 #10 3::Int)
 #12 := (f3 f4 #11)
 #15 := (= #12 #14)
-#463 := (= #11 0::Int)
+#503 := (= #11 0::Int)
 #23 := (:var 0 Int)
 #35 := (:var 1 Int)
 #55 := (f6 f7 #35)
 #56 := (f5 #55 #23)
-#797 := (pattern #56)
-#131 := -1::Int
-#135 := (* -1::Int #23)
-#132 := (* -1::Int #35)
-#154 := (mod #132 #135)
-#345 := (+ #56 #154)
-#346 := (= #345 0::Int)
+#837 := (pattern #56)
+#136 := -1::Int
+#140 := (* -1::Int #23)
+#137 := (* -1::Int #35)
+#195 := (mod #137 #140)
+#325 := (+ #56 #195)
+#326 := (= #325 0::Int)
 #57 := (mod #35 #23)
-#342 := (* -1::Int #57)
-#343 := (+ #56 #342)
-#344 := (= #343 0::Int)
-#109 := (<= #23 0::Int)
-#221 := (>= #35 0::Int)
-#289 := (or #221 #109)
-#290 := (not #289)
-#105 := (<= #35 0::Int)
-#285 := (or #105 #109)
-#286 := (not #285)
-#293 := (or #286 #290)
-#347 := (if #293 #344 #346)
-#341 := (= #56 0::Int)
+#322 := (* -1::Int #57)
+#323 := (+ #56 #322)
+#324 := (= #323 0::Int)
+#162 := (<= #23 0::Int)
+#169 := (>= #35 0::Int)
+#269 := (or #169 #162)
+#270 := (not #269)
+#158 := (<= #35 0::Int)
+#267 := (or #158 #162)
+#268 := (not #267)
+#273 := (or #268 #270)
+#327 := (if #273 #324 #326)
+#321 := (= #56 0::Int)
 #38 := (= #35 0::Int)
-#348 := (if #38 #341 #347)
-#340 := (= #56 #35)
+#328 := (if #38 #321 #327)
+#320 := (= #56 #35)
 #39 := (= #23 0::Int)
-#349 := (if #39 #340 #348)
-#798 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #797) #349)
-#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
-#801 := (iff #352 #798)
-#799 := (iff #349 #349)
-#800 := [refl]: #799
-#802 := [quant-intro #800]: #801
-#160 := (* -1::Int #154)
-#309 := (if #293 #57 #160)
-#312 := (if #38 0::Int #309)
-#315 := (if #39 #35 #312)
-#318 := (= #56 #315)
-#321 := (forall (vars (?v0 Int) (?v1 Int)) #318)
-#353 := (iff #321 #352)
-#350 := (iff #318 #349)
-#351 := [rewrite]: #350
-#354 := [quant-intro #351]: #353
-#110 := (not #109)
-#224 := (not #221)
-#227 := (and #224 #110)
-#106 := (not #105)
-#113 := (and #106 #110)
-#230 := (or #113 #227)
-#246 := (if #230 #57 #160)
-#249 := (if #38 0::Int #246)
-#252 := (if #39 #35 #249)
-#255 := (= #56 #252)
-#258 := (forall (vars (?v0 Int) (?v1 Int)) #255)
-#322 := (iff #258 #321)
-#319 := (iff #255 #318)
-#316 := (= #252 #315)
-#313 := (= #249 #312)
-#310 := (= #246 #309)
-#294 := (iff #230 #293)
-#291 := (iff #227 #290)
-#292 := [rewrite]: #291
-#287 := (iff #113 #286)
-#288 := [rewrite]: #287
-#295 := [monotonicity #288 #292]: #294
-#311 := [monotonicity #295]: #310
-#314 := [monotonicity #311]: #313
-#317 := [monotonicity #314]: #316
-#320 := [monotonicity #317]: #319
-#323 := [quant-intro #320]: #322
-#282 := (~ #258 #258)
-#280 := (~ #255 #255)
-#281 := [refl]: #280
-#283 := [nnf-pos #281]: #282
-#116 := (<= 0::Int #35)
-#117 := (not #116)
-#125 := (and #117 #110)
-#128 := (or #113 #125)
-#165 := (if #128 #57 #160)
-#168 := (if #38 0::Int #165)
-#171 := (if #39 #35 #168)
-#174 := (= #56 #171)
-#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
-#259 := (iff #177 #258)
-#256 := (iff #174 #255)
-#253 := (= #171 #252)
-#250 := (= #168 #249)
-#247 := (= #165 #246)
-#231 := (iff #128 #230)
-#228 := (iff #125 #227)
-#225 := (iff #117 #224)
-#222 := (iff #116 #221)
-#223 := [rewrite]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#248 := [monotonicity #232]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [quant-intro #257]: #259
+#329 := (if #39 #320 #328)
+#838 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #837) #329)
+#332 := (forall (vars (?v0 Int) (?v1 Int)) #329)
+#841 := (iff #332 #838)
+#839 := (iff #329 #329)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#201 := (* -1::Int #195)
+#289 := (if #273 #57 #201)
+#292 := (if #38 0::Int #289)
+#295 := (if #39 #35 #292)
+#298 := (= #56 #295)
+#301 := (forall (vars (?v0 Int) (?v1 Int)) #298)
+#333 := (iff #301 #332)
+#330 := (iff #298 #329)
+#331 := [rewrite]: #330
+#334 := [quant-intro #331]: #333
+#163 := (not #162)
+#170 := (not #169)
+#173 := (and #170 #163)
+#159 := (not #158)
+#166 := (and #159 #163)
+#176 := (or #166 #173)
+#221 := (if #176 #57 #201)
+#224 := (if #38 0::Int #221)
+#227 := (if #39 #35 #224)
+#230 := (= #56 #227)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#302 := (iff #233 #301)
+#299 := (iff #230 #298)
+#296 := (= #227 #295)
+#293 := (= #224 #292)
+#290 := (= #221 #289)
+#274 := (iff #176 #273)
+#271 := (iff #173 #270)
+#272 := [rewrite]: #271
+#252 := (iff #166 #268)
+#253 := [rewrite]: #252
+#275 := [monotonicity #253 #272]: #274
+#291 := [monotonicity #275]: #290
+#294 := [monotonicity #291]: #293
+#297 := [monotonicity #294]: #296
+#300 := [monotonicity #297]: #299
+#303 := [quant-intro #300]: #302
+#250 := (~ #233 #233)
+#264 := (~ #230 #230)
+#265 := [refl]: #264
+#251 := [nnf-pos #265]: #250
 #49 := (- #23)
 #48 := (- #35)
 #58 := (mod #48 #49)
@@ -19066,184 +17712,195 @@
 #62 := (if #39 #35 #61)
 #63 := (= #56 #62)
 #64 := (forall (vars (?v0 Int) (?v1 Int)) #63)
-#178 := (iff #64 #177)
-#175 := (iff #63 #174)
-#172 := (= #62 #171)
-#169 := (= #61 #168)
-#166 := (= #60 #165)
-#163 := (= #59 #160)
-#157 := (- #154)
-#161 := (= #157 #160)
-#162 := [rewrite]: #161
-#158 := (= #59 #157)
-#155 := (= #58 #154)
-#136 := (= #49 #135)
-#137 := [rewrite]: #136
-#133 := (= #48 #132)
-#134 := [rewrite]: #133
-#156 := [monotonicity #134 #137]: #155
-#159 := [monotonicity #156]: #158
-#164 := [trans #159 #162]: #163
-#129 := (iff #46 #128)
-#126 := (iff #45 #125)
-#111 := (iff #42 #110)
-#112 := [rewrite]: #111
-#118 := (iff #44 #117)
-#122 := (iff #117 #117)
-#120 := (iff #116 #116)
-#121 := [rewrite]: #120
-#123 := [monotonicity #121]: #122
-#119 := [rewrite]: #118
-#124 := [trans #119 #123]: #118
-#127 := [monotonicity #124 #112]: #126
-#114 := (iff #43 #113)
-#107 := (iff #41 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#130 := [monotonicity #115 #127]: #129
-#167 := [monotonicity #130 #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [quant-intro #176]: #178
-#71 := [asserted]: #64
-#180 := [mp #71 #179]: #177
-#261 := [mp #180 #260]: #258
-#284 := [mp~ #261 #283]: #258
-#324 := [mp #284 #323]: #321
-#355 := [mp #324 #354]: #352
-#803 := [mp #355 #802]: #798
-#664 := (not #798)
-#665 := (or #664 #463)
-#731 := (* -1::Int 3::Int)
-#735 := (mod #731 #731)
-#732 := (+ #11 #735)
-#736 := (= #732 0::Int)
-#455 := (mod 3::Int 3::Int)
-#733 := (* -1::Int #455)
-#734 := (+ #11 #733)
-#449 := (= #734 0::Int)
-#737 := (<= 3::Int 0::Int)
-#742 := (>= 3::Int 0::Int)
-#452 := (or #742 #737)
-#453 := (not #452)
-#741 := (or #737 #737)
-#738 := (not #741)
-#454 := (or #738 #453)
-#725 := (if #454 #449 #736)
-#740 := (= 3::Int 0::Int)
-#726 := (if #740 #463 #725)
-#462 := (= #11 3::Int)
-#727 := (if #740 #462 #726)
-#666 := (or #664 #727)
-#667 := (iff #666 #665)
-#646 := (iff #665 #665)
-#648 := [rewrite]: #646
-#662 := (iff #727 #463)
-#657 := (if false #462 #463)
-#660 := (iff #657 #463)
-#661 := [rewrite]: #660
-#658 := (iff #727 #657)
-#654 := (iff #726 #463)
-#671 := (if false #463 #463)
-#670 := (iff #671 #463)
-#674 := [rewrite]: #670
-#672 := (iff #726 #671)
-#668 := (iff #725 #463)
-#1 := true
-#679 := (if true #463 #463)
-#677 := (iff #679 #463)
-#682 := [rewrite]: #677
-#680 := (iff #725 #679)
-#676 := (iff #736 #463)
-#691 := (= #732 #11)
-#609 := (+ #11 0::Int)
-#704 := (= #609 #11)
-#701 := [rewrite]: #704
-#690 := (= #732 #609)
-#688 := (= #735 0::Int)
-#683 := -3::Int
-#696 := (mod -3::Int -3::Int)
-#698 := (= #696 0::Int)
-#687 := [rewrite]: #698
-#697 := (= #735 #696)
-#685 := (= #731 -3::Int)
-#695 := [rewrite]: #685
-#693 := [monotonicity #695 #695]: #697
-#689 := [trans #693 #687]: #688
-#684 := [monotonicity #689]: #690
-#675 := [trans #684 #701]: #691
-#678 := [monotonicity #675]: #676
-#694 := (iff #449 #463)
-#705 := (= #734 #11)
-#610 := (= #734 #609)
-#607 := (= #733 0::Int)
-#588 := (* -1::Int 0::Int)
-#606 := (= #588 0::Int)
-#599 := [rewrite]: #606
-#603 := (= #733 #588)
-#700 := (= #455 0::Int)
-#703 := [rewrite]: #700
-#605 := [monotonicity #703]: #603
-#608 := [trans #605 #599]: #607
-#611 := [monotonicity #608]: #610
-#692 := [trans #611 #701]: #705
-#686 := [monotonicity #692]: #694
-#604 := (iff #454 true)
-#552 := (or true false)
-#707 := (iff #552 true)
-#709 := [rewrite]: #707
-#554 := (iff #454 #552)
-#594 := (iff #453 false)
-#420 := (not true)
-#745 := (iff #420 false)
-#408 := [rewrite]: #745
-#711 := (iff #453 #420)
-#710 := (iff #452 true)
-#553 := (iff #452 #552)
-#728 := (iff #737 false)
-#729 := [rewrite]: #728
-#721 := (iff #742 true)
-#550 := [rewrite]: #721
-#706 := [monotonicity #550 #729]: #553
-#708 := [trans #706 #709]: #710
-#593 := [monotonicity #708]: #711
-#595 := [trans #593 #408]: #594
-#720 := (iff #738 true)
-#717 := (not false)
-#713 := (iff #717 true)
-#719 := [rewrite]: #713
-#718 := (iff #738 #717)
-#715 := (iff #741 false)
-#724 := (or false false)
-#572 := (iff #724 false)
-#573 := [rewrite]: #572
-#730 := (iff #741 #724)
-#571 := [monotonicity #729 #729]: #730
-#716 := [trans #571 #573]: #715
-#712 := [monotonicity #716]: #718
-#714 := [trans #712 #719]: #720
-#702 := [monotonicity #714 #595]: #554
-#699 := [trans #702 #709]: #604
-#681 := [monotonicity #699 #686 #678]: #680
-#669 := [trans #681 #682]: #668
-#722 := (iff #740 false)
-#723 := [rewrite]: #722
-#673 := [monotonicity #723 #669]: #672
-#655 := [trans #673 #674]: #654
-#659 := [monotonicity #723 #655]: #658
-#663 := [trans #659 #661]: #662
-#645 := [monotonicity #663]: #667
-#649 := [trans #645 #648]: #667
-#656 := [quant-inst #9 #9]: #666
-#650 := [mp #656 #649]: #665
-#652 := [unit-resolution #650 #803]: #463
-#647 := [monotonicity #652]: #15
+#236 := (iff #64 #233)
+#206 := (if #46 #57 #201)
+#209 := (if #38 0::Int #206)
+#212 := (if #39 #35 #209)
+#215 := (= #56 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#234 := (iff #218 #233)
+#231 := (iff #215 #230)
+#228 := (= #212 #227)
+#225 := (= #209 #224)
+#222 := (= #206 #221)
+#177 := (iff #46 #176)
+#174 := (iff #45 #173)
+#164 := (iff #42 #163)
+#165 := [rewrite]: #164
+#171 := (iff #44 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #165]: #174
+#167 := (iff #43 #166)
+#160 := (iff #41 #159)
+#161 := [rewrite]: #160
+#168 := [monotonicity #161 #165]: #167
+#178 := [monotonicity #168 #175]: #177
+#223 := [monotonicity #178]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#219 := (iff #64 #218)
+#216 := (iff #63 #215)
+#213 := (= #62 #212)
+#210 := (= #61 #209)
+#207 := (= #60 #206)
+#204 := (= #59 #201)
+#198 := (- #195)
+#202 := (= #198 #201)
+#203 := [rewrite]: #202
+#199 := (= #59 #198)
+#196 := (= #58 #195)
+#141 := (= #49 #140)
+#142 := [rewrite]: #141
+#138 := (= #48 #137)
+#139 := [rewrite]: #138
+#197 := [monotonicity #139 #142]: #196
+#200 := [monotonicity #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#237 := [trans #220 #235]: #236
+#194 := [asserted]: #64
+#238 := [mp #194 #237]: #233
+#266 := [mp~ #238 #251]: #233
+#304 := [mp #266 #303]: #301
+#335 := [mp #304 #334]: #332
+#843 := [mp #335 #842]: #838
+#704 := (not #838)
+#705 := (or #704 #503)
+#771 := (* -1::Int 3::Int)
+#775 := (mod #771 #771)
+#772 := (+ #11 #775)
+#776 := (= #772 0::Int)
+#495 := (mod 3::Int 3::Int)
+#773 := (* -1::Int #495)
+#774 := (+ #11 #773)
+#489 := (= #774 0::Int)
+#777 := (<= 3::Int 0::Int)
+#782 := (>= 3::Int 0::Int)
+#492 := (or #782 #777)
+#493 := (not #492)
+#781 := (or #777 #777)
+#778 := (not #781)
+#494 := (or #778 #493)
+#765 := (if #494 #489 #776)
+#780 := (= 3::Int 0::Int)
+#766 := (if #780 #503 #765)
+#502 := (= #11 3::Int)
+#767 := (if #780 #502 #766)
+#706 := (or #704 #767)
+#707 := (iff #706 #705)
+#686 := (iff #705 #705)
+#688 := [rewrite]: #686
+#702 := (iff #767 #503)
+#697 := (if false #502 #503)
+#700 := (iff #697 #503)
+#701 := [rewrite]: #700
+#698 := (iff #767 #697)
+#694 := (iff #766 #503)
+#711 := (if false #503 #503)
+#710 := (iff #711 #503)
+#714 := [rewrite]: #710
+#712 := (iff #766 #711)
+#708 := (iff #765 #503)
+#1 := true
+#719 := (if true #503 #503)
+#717 := (iff #719 #503)
+#722 := [rewrite]: #717
+#720 := (iff #765 #719)
+#716 := (iff #776 #503)
+#731 := (= #772 #11)
+#649 := (+ #11 0::Int)
+#744 := (= #649 #11)
+#741 := [rewrite]: #744
+#730 := (= #772 #649)
+#728 := (= #775 0::Int)
+#723 := -3::Int
+#736 := (mod -3::Int -3::Int)
+#738 := (= #736 0::Int)
+#727 := [rewrite]: #738
+#737 := (= #775 #736)
+#725 := (= #771 -3::Int)
+#735 := [rewrite]: #725
+#733 := [monotonicity #735 #735]: #737
+#729 := [trans #733 #727]: #728
+#724 := [monotonicity #729]: #730
+#715 := [trans #724 #741]: #731
+#718 := [monotonicity #715]: #716
+#734 := (iff #489 #503)
+#745 := (= #774 #11)
+#650 := (= #774 #649)
+#647 := (= #773 0::Int)
+#628 := (* -1::Int 0::Int)
+#646 := (= #628 0::Int)
+#639 := [rewrite]: #646
+#643 := (= #773 #628)
+#740 := (= #495 0::Int)
+#743 := [rewrite]: #740
+#645 := [monotonicity #743]: #643
+#648 := [trans #645 #639]: #647
+#651 := [monotonicity #648]: #650
+#732 := [trans #651 #741]: #745
+#726 := [monotonicity #732]: #734
+#644 := (iff #494 true)
+#592 := (or true false)
+#747 := (iff #592 true)
+#749 := [rewrite]: #747
+#594 := (iff #494 #592)
+#634 := (iff #493 false)
+#460 := (not true)
+#785 := (iff #460 false)
+#448 := [rewrite]: #785
+#751 := (iff #493 #460)
+#750 := (iff #492 true)
+#593 := (iff #492 #592)
+#768 := (iff #777 false)
+#769 := [rewrite]: #768
+#761 := (iff #782 true)
+#590 := [rewrite]: #761
+#746 := [monotonicity #590 #769]: #593
+#748 := [trans #746 #749]: #750
+#633 := [monotonicity #748]: #751
+#635 := [trans #633 #448]: #634
+#760 := (iff #778 true)
+#757 := (not false)
+#753 := (iff #757 true)
+#759 := [rewrite]: #753
+#758 := (iff #778 #757)
+#755 := (iff #781 false)
+#764 := (or false false)
+#612 := (iff #764 false)
+#613 := [rewrite]: #612
+#770 := (iff #781 #764)
+#611 := [monotonicity #769 #769]: #770
+#756 := [trans #611 #613]: #755
+#752 := [monotonicity #756]: #758
+#754 := [trans #752 #759]: #760
+#742 := [monotonicity #754 #635]: #594
+#739 := [trans #742 #749]: #644
+#721 := [monotonicity #739 #726 #718]: #720
+#709 := [trans #721 #722]: #708
+#762 := (iff #780 false)
+#763 := [rewrite]: #762
+#713 := [monotonicity #763 #709]: #712
+#695 := [trans #713 #714]: #694
+#699 := [monotonicity #763 #695]: #698
+#703 := [trans #699 #701]: #702
+#685 := [monotonicity #703]: #707
+#689 := [trans #685 #688]: #707
+#696 := [quant-inst #9 #9]: #706
+#690 := [mp #696 #689]: #705
+#692 := [unit-resolution #690 #843]: #503
+#687 := [monotonicity #692]: #15
 #16 := (not #15)
-#66 := [asserted]: #16
-[unit-resolution #66 #647]: false
-27ee577964e39eea43c2a96bf389faf26aa731a2 437 0
-unsat
+#84 := [asserted]: #16
+[unit-resolution #84 #687]: false
+unsat
+1df07385907a71330f107e5e8097355bfe585e4f 407 0
 #2 := false
 #12 := 3::Int
 decl f6 :: (-> S4 S5 Int)
@@ -19252,143 +17909,116 @@
 decl f7 :: S4
 #8 := f7
 #10 := (f6 f7 f8)
-#454 := (mod #10 3::Int)
-#669 := (>= #454 3::Int)
-#670 := (not #669)
-#1 := true
-#215 := [true-axiom]: true
-#661 := (or false #670)
-#662 := [th-lemma arith]: #661
-#663 := [unit-resolution #662 #215]: #670
+#485 := (mod #10 3::Int)
+#701 := (>= #485 3::Int)
+#702 := (not #701)
+#1 := true
+#82 := [true-axiom]: true
+#693 := (or false #702)
+#694 := [th-lemma arith]: #693
+#695 := [unit-resolution #694 #82]: #702
 #22 := 0::Int
 #148 := -1::Int
-#786 := (* -1::Int #454)
+#817 := (* -1::Int #485)
 decl f3 :: (-> S2 Int Int)
 decl f4 :: (-> S3 Int S2)
 decl f5 :: S3
 #7 := f5
 #11 := (f4 f5 #10)
 #13 := (f3 #11 3::Int)
-#787 := (+ #13 #786)
-#573 := (<= #787 0::Int)
-#788 := (= #787 0::Int)
-#490 := -3::Int
-#789 := (* -1::Int #10)
-#761 := (mod #789 -3::Int)
-#758 := (+ #13 #761)
-#763 := (= #758 0::Int)
-#442 := (>= #10 0::Int)
-#778 := (not #442)
-#469 := (<= #10 0::Int)
-#772 := (not #469)
-#487 := (or #772 #778)
-#475 := (if #487 #788 #763)
-#465 := (= #13 0::Int)
-#468 := (= #10 0::Int)
-#755 := (if #468 #465 #475)
+#818 := (+ #13 #817)
+#604 := (<= #818 0::Int)
+#819 := (= #818 0::Int)
+#521 := -3::Int
+#820 := (* -1::Int #10)
+#792 := (mod #820 -3::Int)
+#789 := (+ #13 #792)
+#794 := (= #789 0::Int)
+#473 := (>= #10 0::Int)
+#809 := (not #473)
+#500 := (<= #10 0::Int)
+#803 := (not #500)
+#518 := (or #803 #809)
+#506 := (if #518 #819 #794)
+#496 := (= #13 0::Int)
+#499 := (= #10 0::Int)
+#786 := (if #499 #496 #506)
 #23 := (:var 0 Int)
 #35 := (:var 1 Int)
 #55 := (f4 f5 #35)
 #56 := (f3 #55 #23)
-#818 := (pattern #56)
+#849 := (pattern #56)
 #152 := (* -1::Int #23)
 #149 := (* -1::Int #35)
-#171 := (mod #149 #152)
-#366 := (+ #56 #171)
-#367 := (= #366 0::Int)
+#207 := (mod #149 #152)
+#337 := (+ #56 #207)
+#338 := (= #337 0::Int)
 #57 := (mod #35 #23)
-#363 := (* -1::Int #57)
-#364 := (+ #56 #363)
-#365 := (= #364 0::Int)
-#126 := (<= #23 0::Int)
-#242 := (>= #35 0::Int)
-#310 := (or #242 #126)
-#311 := (not #310)
-#122 := (<= #35 0::Int)
-#306 := (or #122 #126)
-#307 := (not #306)
-#314 := (or #307 #311)
-#368 := (if #314 #365 #367)
-#362 := (= #56 0::Int)
+#334 := (* -1::Int #57)
+#335 := (+ #56 #334)
+#336 := (= #335 0::Int)
+#174 := (<= #23 0::Int)
+#181 := (>= #35 0::Int)
+#281 := (or #181 #174)
+#282 := (not #281)
+#170 := (<= #35 0::Int)
+#279 := (or #170 #174)
+#280 := (not #279)
+#285 := (or #280 #282)
+#339 := (if #285 #336 #338)
+#333 := (= #56 0::Int)
 #38 := (= #35 0::Int)
-#369 := (if #38 #362 #368)
-#361 := (= #56 #35)
+#340 := (if #38 #333 #339)
+#332 := (= #56 #35)
 #39 := (= #23 0::Int)
-#370 := (if #39 #361 #369)
-#819 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #818) #370)
-#373 := (forall (vars (?v0 Int) (?v1 Int)) #370)
-#822 := (iff #373 #819)
-#820 := (iff #370 #370)
-#821 := [refl]: #820
-#823 := [quant-intro #821]: #822
-#177 := (* -1::Int #171)
-#330 := (if #314 #57 #177)
-#333 := (if #38 0::Int #330)
-#336 := (if #39 #35 #333)
-#339 := (= #56 #336)
-#342 := (forall (vars (?v0 Int) (?v1 Int)) #339)
-#374 := (iff #342 #373)
-#371 := (iff #339 #370)
-#372 := [rewrite]: #371
-#375 := [quant-intro #372]: #374
-#127 := (not #126)
-#245 := (not #242)
-#248 := (and #245 #127)
-#123 := (not #122)
-#130 := (and #123 #127)
-#251 := (or #130 #248)
-#267 := (if #251 #57 #177)
-#270 := (if #38 0::Int #267)
-#273 := (if #39 #35 #270)
-#276 := (= #56 #273)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#343 := (iff #279 #342)
-#340 := (iff #276 #339)
-#337 := (= #273 #336)
-#334 := (= #270 #333)
-#331 := (= #267 #330)
-#315 := (iff #251 #314)
-#312 := (iff #248 #311)
-#313 := [rewrite]: #312
-#308 := (iff #130 #307)
-#309 := [rewrite]: #308
-#316 := [monotonicity #309 #313]: #315
-#332 := [monotonicity #316]: #331
-#335 := [monotonicity #332]: #334
-#338 := [monotonicity #335]: #337
-#341 := [monotonicity #338]: #340
-#344 := [quant-intro #341]: #343
-#303 := (~ #279 #279)
-#301 := (~ #276 #276)
-#302 := [refl]: #301
-#304 := [nnf-pos #302]: #303
-#133 := (<= 0::Int #35)
-#134 := (not #133)
-#142 := (and #134 #127)
-#145 := (or #130 #142)
-#182 := (if #145 #57 #177)
-#185 := (if #38 0::Int #182)
-#188 := (if #39 #35 #185)
-#191 := (= #56 #188)
-#194 := (forall (vars (?v0 Int) (?v1 Int)) #191)
-#280 := (iff #194 #279)
-#277 := (iff #191 #276)
-#274 := (= #188 #273)
-#271 := (= #185 #270)
-#268 := (= #182 #267)
-#252 := (iff #145 #251)
-#249 := (iff #142 #248)
-#246 := (iff #134 #245)
-#243 := (iff #133 #242)
-#244 := [rewrite]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [monotonicity #250]: #252
-#269 := [monotonicity #253]: #268
-#272 := [monotonicity #269]: #271
-#275 := [monotonicity #272]: #274
-#278 := [monotonicity #275]: #277
-#281 := [quant-intro #278]: #280
+#341 := (if #39 #332 #340)
+#850 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #849) #341)
+#344 := (forall (vars (?v0 Int) (?v1 Int)) #341)
+#853 := (iff #344 #850)
+#851 := (iff #341 #341)
+#852 := [refl]: #851
+#854 := [quant-intro #852]: #853
+#213 := (* -1::Int #207)
+#301 := (if #285 #57 #213)
+#304 := (if #38 0::Int #301)
+#307 := (if #39 #35 #304)
+#310 := (= #56 #307)
+#313 := (forall (vars (?v0 Int) (?v1 Int)) #310)
+#345 := (iff #313 #344)
+#342 := (iff #310 #341)
+#343 := [rewrite]: #342
+#346 := [quant-intro #343]: #345
+#175 := (not #174)
+#182 := (not #181)
+#185 := (and #182 #175)
+#171 := (not #170)
+#178 := (and #171 #175)
+#188 := (or #178 #185)
+#233 := (if #188 #57 #213)
+#236 := (if #38 0::Int #233)
+#239 := (if #39 #35 #236)
+#242 := (= #56 #239)
+#245 := (forall (vars (?v0 Int) (?v1 Int)) #242)
+#314 := (iff #245 #313)
+#311 := (iff #242 #310)
+#308 := (= #239 #307)
+#305 := (= #236 #304)
+#302 := (= #233 #301)
+#286 := (iff #188 #285)
+#283 := (iff #185 #282)
+#284 := [rewrite]: #283
+#264 := (iff #178 #280)
+#265 := [rewrite]: #264
+#287 := [monotonicity #265 #284]: #286
+#303 := [monotonicity #287]: #302
+#306 := [monotonicity #303]: #305
+#309 := [monotonicity #306]: #308
+#312 := [monotonicity #309]: #311
+#315 := [quant-intro #312]: #314
+#262 := (~ #245 #245)
+#276 := (~ #242 #242)
+#277 := [refl]: #276
+#263 := [nnf-pos #277]: #262
 #49 := (- #23)
 #48 := (- #35)
 #58 := (mod #48 #49)
@@ -19404,284 +18034,281 @@
 #62 := (if #39 #35 #61)
 #63 := (= #56 #62)
 #64 := (forall (vars (?v0 Int) (?v1 Int)) #63)
-#195 := (iff #64 #194)
-#192 := (iff #63 #191)
-#189 := (= #62 #188)
-#186 := (= #61 #185)
-#183 := (= #60 #182)
-#180 := (= #59 #177)
-#174 := (- #171)
-#178 := (= #174 #177)
-#179 := [rewrite]: #178
-#175 := (= #59 #174)
-#172 := (= #58 #171)
+#248 := (iff #64 #245)
+#218 := (if #46 #57 #213)
+#221 := (if #38 0::Int #218)
+#224 := (if #39 #35 #221)
+#227 := (= #56 #224)
+#230 := (forall (vars (?v0 Int) (?v1 Int)) #227)
+#246 := (iff #230 #245)
+#243 := (iff #227 #242)
+#240 := (= #224 #239)
+#237 := (= #221 #236)
+#234 := (= #218 #233)
+#189 := (iff #46 #188)
+#186 := (iff #45 #185)
+#176 := (iff #42 #175)
+#177 := [rewrite]: #176
+#183 := (iff #44 #182)
+#184 := [rewrite]: #183
+#187 := [monotonicity #184 #177]: #186
+#179 := (iff #43 #178)
+#172 := (iff #41 #171)
+#173 := [rewrite]: #172
+#180 := [monotonicity #173 #177]: #179
+#190 := [monotonicity #180 #187]: #189
+#235 := [monotonicity #190]: #234
+#238 := [monotonicity #235]: #237
+#241 := [monotonicity #238]: #240
+#244 := [monotonicity #241]: #243
+#247 := [quant-intro #244]: #246
+#231 := (iff #64 #230)
+#228 := (iff #63 #227)
+#225 := (= #62 #224)
+#222 := (= #61 #221)
+#219 := (= #60 #218)
+#216 := (= #59 #213)
+#210 := (- #207)
+#214 := (= #210 #213)
+#215 := [rewrite]: #214
+#211 := (= #59 #210)
+#208 := (= #58 #207)
 #153 := (= #49 #152)
 #154 := [rewrite]: #153
 #150 := (= #48 #149)
 #151 := [rewrite]: #150
-#173 := [monotonicity #151 #154]: #172
-#176 := [monotonicity #173]: #175
-#181 := [trans #176 #179]: #180
-#146 := (iff #46 #145)
-#143 := (iff #45 #142)
-#128 := (iff #42 #127)
-#129 := [rewrite]: #128
-#135 := (iff #44 #134)
-#139 := (iff #134 #134)
-#137 := (iff #133 #133)
-#138 := [rewrite]: #137
-#140 := [monotonicity #138]: #139
-#136 := [rewrite]: #135
-#141 := [trans #136 #140]: #135
-#144 := [monotonicity #141 #129]: #143
-#131 := (iff #43 #130)
-#124 := (iff #41 #123)
-#125 := [rewrite]: #124
-#132 := [monotonicity #125 #129]: #131
-#147 := [monotonicity #132 #144]: #146
-#184 := [monotonicity #147 #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [monotonicity #187]: #189
-#193 := [monotonicity #190]: #192
-#196 := [quant-intro #193]: #195
-#71 := [asserted]: #64
-#197 := [mp #71 #196]: #194
-#282 := [mp #197 #281]: #279
-#305 := [mp~ #282 #304]: #279
-#345 := [mp #305 #344]: #342
-#376 := [mp #345 #375]: #373
-#824 := [mp #376 #823]: #819
-#744 := (not #819)
-#749 := (or #744 #755)
-#784 := (* -1::Int 3::Int)
-#790 := (mod #789 #784)
-#780 := (+ #13 #790)
-#440 := (= #780 0::Int)
-#448 := (<= 3::Int 0::Int)
-#572 := (or #442 #448)
-#779 := (not #572)
-#783 := (or #469 #448)
-#785 := (not #783)
-#453 := (or #785 #779)
-#445 := (if #453 #788 #440)
-#781 := (if #468 #465 #445)
-#464 := (= #13 #10)
-#463 := (= 3::Int 0::Int)
-#441 := (if #463 #464 #781)
-#750 := (or #744 #441)
-#751 := (iff #750 #749)
-#593 := (iff #749 #749)
-#594 := [rewrite]: #593
-#748 := (iff #441 #755)
-#756 := (if false #464 #755)
-#746 := (iff #756 #755)
-#747 := [rewrite]: #746
-#753 := (iff #441 #756)
-#470 := (iff #781 #755)
-#476 := (iff #445 #475)
-#473 := (iff #440 #763)
-#762 := (= #780 #758)
-#483 := (= #790 #761)
-#383 := (= #784 -3::Int)
-#760 := [rewrite]: #383
-#484 := [monotonicity #760]: #483
-#759 := [monotonicity #484]: #762
-#474 := [monotonicity #759]: #473
-#488 := (iff #453 #487)
-#764 := (iff #779 #778)
-#777 := (iff #572 #442)
-#411 := (or #442 false)
-#416 := (iff #411 #442)
-#417 := [rewrite]: #416
-#774 := (iff #572 #411)
-#766 := (iff #448 false)
-#429 := [rewrite]: #766
-#776 := [monotonicity #429]: #774
-#775 := [trans #776 #417]: #777
-#765 := [monotonicity #775]: #764
-#767 := (iff #785 #772)
-#770 := (iff #783 #469)
-#430 := (or #469 false)
-#768 := (iff #430 #469)
-#769 := [rewrite]: #768
-#431 := (iff #783 #430)
-#432 := [monotonicity #429]: #431
-#771 := [trans #432 #769]: #770
-#773 := [monotonicity #771]: #767
-#489 := [monotonicity #773 #765]: #488
-#754 := [monotonicity #489 #474]: #476
-#752 := [monotonicity #754]: #470
-#782 := (iff #463 false)
-#425 := [rewrite]: #782
-#757 := [monotonicity #425 #752]: #753
-#743 := [trans #757 #747]: #748
-#592 := [monotonicity #743]: #751
-#736 := [trans #592 #594]: #751
-#745 := [quant-inst #10 #12]: #750
-#737 := [mp #745 #736]: #749
-#664 := [unit-resolution #737 #824]: #755
-#724 := (not #468)
-#721 := (not #755)
-#646 := (or #721 #724)
-#620 := (not #465)
-#738 := (<= #13 0::Int)
-#659 := (not #738)
-#218 := (>= #13 3::Int)
-#75 := (<= 3::Int #13)
-#217 := (iff #75 #218)
-#219 := [rewrite]: #217
+#209 := [monotonicity #151 #154]: #208
+#212 := [monotonicity #209]: #211
+#217 := [trans #212 #215]: #216
+#220 := [monotonicity #217]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#249 := [trans #232 #247]: #248
+#206 := [asserted]: #64
+#250 := [mp #206 #249]: #245
+#278 := [mp~ #250 #263]: #245
+#316 := [mp #278 #315]: #313
+#347 := [mp #316 #346]: #344
+#855 := [mp #347 #854]: #850
+#775 := (not #850)
+#780 := (or #775 #786)
+#815 := (* -1::Int 3::Int)
+#821 := (mod #820 #815)
+#811 := (+ #13 #821)
+#471 := (= #811 0::Int)
+#479 := (<= 3::Int 0::Int)
+#603 := (or #473 #479)
+#810 := (not #603)
+#814 := (or #500 #479)
+#816 := (not #814)
+#484 := (or #816 #810)
+#476 := (if #484 #819 #471)
+#812 := (if #499 #496 #476)
+#495 := (= #13 #10)
+#494 := (= 3::Int 0::Int)
+#472 := (if #494 #495 #812)
+#781 := (or #775 #472)
+#782 := (iff #781 #780)
+#624 := (iff #780 #780)
+#625 := [rewrite]: #624
+#779 := (iff #472 #786)
+#787 := (if false #495 #786)
+#777 := (iff #787 #786)
+#778 := [rewrite]: #777
+#784 := (iff #472 #787)
+#501 := (iff #812 #786)
+#507 := (iff #476 #506)
+#504 := (iff #471 #794)
+#793 := (= #811 #789)
+#514 := (= #821 #792)
+#415 := (= #815 -3::Int)
+#791 := [rewrite]: #415
+#515 := [monotonicity #791]: #514
+#790 := [monotonicity #515]: #793
+#505 := [monotonicity #790]: #504
+#519 := (iff #484 #518)
+#795 := (iff #810 #809)
+#808 := (iff #603 #473)
+#442 := (or #473 false)
+#447 := (iff #442 #473)
+#448 := [rewrite]: #447
+#805 := (iff #603 #442)
+#797 := (iff #479 false)
+#460 := [rewrite]: #797
+#807 := [monotonicity #460]: #805
+#806 := [trans #807 #448]: #808
+#796 := [monotonicity #806]: #795
+#798 := (iff #816 #803)
+#801 := (iff #814 #500)
+#461 := (or #500 false)
+#799 := (iff #461 #500)
+#800 := [rewrite]: #799
+#462 := (iff #814 #461)
+#463 := [monotonicity #460]: #462
+#802 := [trans #463 #800]: #801
+#804 := [monotonicity #802]: #798
+#520 := [monotonicity #804 #796]: #519
+#785 := [monotonicity #520 #505]: #507
+#783 := [monotonicity #785]: #501
+#813 := (iff #494 false)
+#456 := [rewrite]: #813
+#788 := [monotonicity #456 #783]: #784
+#774 := [trans #788 #778]: #779
+#623 := [monotonicity #774]: #782
+#767 := [trans #623 #625]: #782
+#776 := [quant-inst #10 #12]: #781
+#768 := [mp #776 #767]: #780
+#690 := [unit-resolution #768 #855]: #786
+#755 := (not #499)
+#752 := (not #786)
+#677 := (or #752 #755)
+#651 := (not #496)
+#769 := (<= #13 0::Int)
+#696 := (not #769)
+#89 := (>= #13 3::Int)
 #14 := (< #13 3::Int)
 #15 := (not #14)
-#89 := (iff #15 #75)
-#76 := (not #75)
-#84 := (not #76)
-#87 := (iff #84 #75)
-#88 := [rewrite]: #87
-#85 := (iff #15 #84)
-#77 := (iff #14 #76)
-#81 := (iff #76 #76)
-#79 := (iff #75 #75)
-#80 := [rewrite]: #79
-#82 := [monotonicity #80]: #81
-#78 := [rewrite]: #77
-#83 := [trans #78 #82]: #77
-#86 := [monotonicity #83]: #85
-#90 := [trans #86 #88]: #89
-#66 := [asserted]: #15
-#91 := [mp #66 #90]: #75
-#220 := [mp #91 #219]: #218
-#665 := (not #218)
-#638 := (or #659 #665)
-#639 := [th-lemma arith farkas 1 1]: #638
-#640 := [unit-resolution #639 #220]: #659
-#533 := (or #620 #738)
-#644 := [th-lemma arith triangle-eq]: #533
-#645 := [unit-resolution #644 #640]: #620
-#609 := (or #721 #724 #465)
-#624 := [def-axiom]: #609
-#651 := [unit-resolution #624 #645]: #646
-#647 := [unit-resolution #651 #664]: #724
-#626 := (or #721 #468 #475)
-#627 := [def-axiom]: #626
-#648 := [unit-resolution #627 #647 #664]: #475
+#96 := (iff #15 #89)
+#87 := (not #89)
+#91 := (not #87)
+#94 := (iff #91 #89)
+#95 := [rewrite]: #94
+#92 := (iff #15 #91)
+#88 := (iff #14 #87)
+#90 := [rewrite]: #88
+#93 := [monotonicity #90]: #92
+#97 := [trans #93 #95]: #96
+#84 := [asserted]: #15
+#98 := [mp #84 #97]: #89
+#669 := (or #696 #87)
+#670 := [th-lemma arith farkas 1 1]: #669
+#671 := [unit-resolution #670 #98]: #696
+#564 := (or #651 #769)
+#675 := [th-lemma arith triangle-eq]: #564
+#676 := [unit-resolution #675 #671]: #651
+#640 := (or #752 #755 #496)
+#655 := [def-axiom]: #640
+#682 := [unit-resolution #655 #676]: #677
+#678 := [unit-resolution #682 #690]: #755
+#657 := (or #752 #499 #506)
+#658 := [def-axiom]: #657
+#679 := [unit-resolution #658 #678 #690]: #506
 decl f9 :: (-> S6 Int S5)
 decl f10 :: S6
 #16 := f10
-#377 := (f9 f10 #10)
-#632 := (f6 f7 #377)
-#725 := (= #632 0::Int)
-#581 := (not #725)
-#636 := (iff #724 #581)
-#655 := (iff #468 #725)
-#654 := (iff #725 #468)
-#652 := (= #632 #10)
-#462 := (= #377 f8)
+#409 := (f9 f10 #10)
+#663 := (f6 f7 #409)
+#756 := (= #663 0::Int)
+#612 := (not #756)
+#667 := (iff #755 #612)
+#686 := (iff #499 #756)
+#685 := (iff #756 #499)
+#683 := (= #663 #10)
+#493 := (= #409 f8)
 #17 := (:var 0 S5)
 #18 := (f6 f7 #17)
-#791 := (pattern #18)
+#822 := (pattern #18)
 #19 := (f9 f10 #18)
 #20 := (= #19 #17)
-#792 := (forall (vars (?v0 S5)) (:pat #791) #20)
+#823 := (forall (vars (?v0 S5)) (:pat #822) #20)
 #21 := (forall (vars (?v0 S5)) #20)
-#795 := (iff #21 #792)
-#793 := (iff #20 #20)
-#794 := [refl]: #793
-#796 := [quant-intro #794]: #795
-#283 := (~ #21 #21)
-#291 := (~ #20 #20)
-#292 := [refl]: #291
-#284 := [nnf-pos #292]: #283
-#67 := [asserted]: #21
-#293 := [mp~ #67 #284]: #21
-#797 := [mp #293 #796]: #792
-#455 := (not #792)
-#466 := (or #455 #462)
-#467 := [quant-inst #9]: #466
-#649 := [unit-resolution #467 #797]: #462
-#653 := [monotonicity #649]: #652
-#650 := [monotonicity #653]: #654
-#635 := [symm #650]: #655
-#617 := [monotonicity #635]: #636
-#641 := [mp #647 #617]: #581
-#722 := (or #442 #725)
+#826 := (iff #21 #823)
+#824 := (iff #20 #20)
+#825 := [refl]: #824
+#827 := [quant-intro #825]: #826
+#268 := (~ #21 #21)
+#266 := (~ #20 #20)
+#267 := [refl]: #266
+#269 := [nnf-pos #267]: #268
+#85 := [asserted]: #21
+#254 := [mp~ #85 #269]: #21
+#828 := [mp #254 #827]: #823
+#486 := (not #823)
+#497 := (or #486 #493)
+#498 := [quant-inst #9]: #497
+#680 := [unit-resolution #498 #828]: #493
+#684 := [monotonicity #680]: #683
+#681 := [monotonicity #684]: #685
+#666 := [symm #681]: #686
+#648 := [monotonicity #666]: #667
+#672 := [mp #678 #648]: #612
+#753 := (or #473 #756)
 #25 := (f9 f10 #23)
-#798 := (pattern #25)
+#829 := (pattern #25)
 #26 := (f6 f7 #25)
 #31 := (= #26 0::Int)
-#222 := (>= #23 0::Int)
-#235 := (or #222 #31)
-#805 := (forall (vars (?v0 Int)) (:pat #798) #235)
-#238 := (forall (vars (?v0 Int)) #235)
-#808 := (iff #238 #805)
-#806 := (iff #235 #235)
-#807 := [refl]: #806
-#809 := [quant-intro #807]: #808
-#287 := (~ #238 #238)
-#216 := (~ #235 #235)
-#221 := [refl]: #216
-#288 := [nnf-pos #221]: #287
-#24 := (<= 0::Int #23)
-#113 := (or #24 #31)
-#118 := (forall (vars (?v0 Int)) #113)
-#239 := (iff #118 #238)
-#236 := (iff #113 #235)
-#223 := (iff #24 #222)
-#224 := [rewrite]: #223
-#237 := [monotonicity #224]: #236
-#240 := [quant-intro #237]: #239
+#108 := (>= #23 0::Int)
+#138 := (or #108 #31)
+#836 := (forall (vars (?v0 Int)) (:pat #829) #138)
+#141 := (forall (vars (?v0 Int)) #138)
+#839 := (iff #141 #836)
+#837 := (iff #138 #138)
+#838 := [refl]: #837
+#840 := [quant-intro #838]: #839
+#258 := (~ #141 #141)
+#270 := (~ #138 #138)
+#271 := [refl]: #270
+#259 := [nnf-pos #271]: #258
 #30 := (< #23 0::Int)
 #32 := (implies #30 #31)
 #33 := (forall (vars (?v0 Int)) #32)
-#119 := (iff #33 #118)
-#116 := (iff #32 #113)
-#96 := (not #24)
-#110 := (implies #96 #31)
-#114 := (iff #110 #113)
-#115 := [rewrite]: #114
-#111 := (iff #32 #110)
-#105 := (iff #30 #96)
-#107 := (iff #96 #96)
-#92 := (iff #24 #24)
-#93 := [rewrite]: #92
-#108 := [monotonicity #93]: #107
-#106 := [rewrite]: #105
-#109 := [trans #106 #108]: #105
-#112 := [monotonicity #109]: #111
-#117 := [trans #112 #115]: #116
-#120 := [quant-intro #117]: #119
-#69 := [asserted]: #33
-#121 := [mp #69 #120]: #118
-#241 := [mp #121 #240]: #238
-#295 := [mp~ #241 #288]: #238
-#810 := [mp #295 #809]: #805
-#715 := (not #805)
-#707 := (or #715 #442 #725)
-#704 := (or #715 #722)
-#716 := (iff #704 #707)
-#717 := [rewrite]: #716
-#706 := [quant-inst #10]: #704
-#718 := [mp #706 #717]: #707
-#642 := [unit-resolution #718 #810]: #722
-#637 := [unit-resolution #642 #641]: #442
-#643 := (or #468 #772 #778)
-#611 := [th-lemma arith triangle-eq]: #643
-#618 := [unit-resolution #611 #647]: #487
-#577 := [unit-resolution #618 #637]: #772
-#733 := (or #487 #469)
-#734 := [def-axiom]: #733
-#608 := [unit-resolution #734 #577]: #487
-#735 := (not #487)
-#730 := (not #475)
-#731 := (or #730 #735 #788)
-#729 := [def-axiom]: #731
-#610 := [unit-resolution #729 #608 #648]: #788
-#615 := (not #788)
-#612 := (or #615 #573)
-#619 := [th-lemma arith triangle-eq]: #612
-#621 := [unit-resolution #619 #610]: #573
-[th-lemma arith farkas -1 1 1 #220 #621 #663]: false
-6084ebd236b571d1d73842a11d064afa9bdf415b 618 0
-unsat
+#144 := (iff #33 #141)
+#122 := (not #30)
+#123 := (or #122 #31)
+#126 := (forall (vars (?v0 Int)) #123)
+#142 := (iff #126 #141)
+#139 := (iff #123 #138)
+#136 := (iff #122 #108)
+#109 := (not #108)
+#131 := (not #109)
+#134 := (iff #131 #108)
+#135 := [rewrite]: #134
+#132 := (iff #122 #131)
+#129 := (iff #30 #109)
+#130 := [rewrite]: #129
+#133 := [monotonicity #130]: #132
+#137 := [trans #133 #135]: #136
+#140 := [monotonicity #137]: #139
+#143 := [quant-intro #140]: #142
+#127 := (iff #33 #126)
+#124 := (iff #32 #123)
+#125 := [rewrite]: #124
+#128 := [quant-intro #125]: #127
+#145 := [trans #128 #143]: #144
+#121 := [asserted]: #33
+#146 := [mp #121 #145]: #141
+#272 := [mp~ #146 #259]: #141
+#841 := [mp #272 #840]: #836
+#746 := (not #836)
+#738 := (or #746 #473 #756)
+#735 := (or #746 #753)
+#747 := (iff #735 #738)
+#748 := [rewrite]: #747
+#737 := [quant-inst #10]: #735
+#749 := [mp #737 #748]: #738
+#673 := [unit-resolution #749 #841]: #753
+#668 := [unit-resolution #673 #672]: #473
+#674 := (or #499 #803 #809)
+#642 := [th-lemma arith triangle-eq]: #674
+#649 := [unit-resolution #642 #678]: #518
+#608 := [unit-resolution #649 #668]: #803
+#764 := (or #518 #500)
+#765 := [def-axiom]: #764
+#639 := [unit-resolution #765 #608]: #518
+#766 := (not #518)
+#761 := (not #506)
+#762 := (or #761 #766 #819)
+#760 := [def-axiom]: #762
+#641 := [unit-resolution #760 #639 #679]: #819
+#646 := (not #819)
+#643 := (or #646 #604)
+#650 := [th-lemma arith triangle-eq]: #643
+#652 := [unit-resolution #650 #641]: #604
+[th-lemma arith farkas -1 1 1 #98 #652 #695]: false
+unsat
+1311ced639549b32ffab57e57f403189256df4d9 590 0
 #2 := false
 #13 := 3::Int
 decl f8 :: (-> S6 S3 Int)
@@ -19690,221 +18317,196 @@
 decl f9 :: S6
 #9 := f9
 #11 := (f8 f9 f10)
-#785 := (mod #11 3::Int)
-#643 := (>= #785 3::Int)
-#623 := (not #643)
-#1 := true
-#222 := [true-axiom]: true
-#660 := (or false #623)
-#646 := [th-lemma arith]: #660
-#627 := [unit-resolution #646 #222]: #623
-#226 := (>= #11 3::Int)
-#387 := (not #226)
-#546 := [hypothesis]: #387
+#458 := (mod #11 3::Int)
+#638 := (>= #458 3::Int)
+#639 := (not #638)
+#1 := true
+#85 := [true-axiom]: true
+#629 := (or false #639)
+#599 := [th-lemma arith]: #629
+#600 := [unit-resolution #599 #85]: #639
+#94 := (>= #11 3::Int)
+#92 := (not #94)
+#522 := [hypothesis]: #92
 #25 := 0::Int
-#155 := -1::Int
-#788 := (* -1::Int #785)
+#706 := (div #11 3::Int)
+#633 := -3::Int
+#696 := (* -3::Int #706)
+#158 := -1::Int
+#818 := (* -1::Int #458)
+#676 := (+ #818 #696)
+#622 := (+ #11 #676)
+#678 := (<= #622 0::Int)
+#691 := (= #622 0::Int)
+#601 := (or false #691)
+#602 := [th-lemma arith]: #601
+#604 := [unit-resolution #602 #85]: #691
+#605 := (not #691)
+#606 := (or #605 #678)
+#449 := [th-lemma arith triangle-eq]: #606
+#607 := [unit-resolution #449 #604]: #678
 decl f5 :: (-> S4 Int Int)
 decl f6 :: (-> S5 Int S4)
 decl f7 :: S5
 #8 := f7
 #12 := (f6 f7 #11)
 #14 := (f5 #12 3::Int)
-#774 := (+ #14 #788)
-#725 := (<= #774 0::Int)
-#775 := (= #774 0::Int)
-#781 := (= #11 0::Int)
-#707 := (not #781)
+#816 := (+ #14 #818)
+#767 := (<= #816 0::Int)
+#819 := (= #816 0::Int)
+#810 := (= #11 0::Int)
+#753 := (not #810)
 decl f3 :: (-> S2 Int S3)
 decl f4 :: S2
 #7 := f4
 #15 := (f3 f4 #14)
 #16 := (= #15 f10)
-#477 := (not #16)
-#479 := (or #477 #226)
-#228 := (iff #16 #226)
-#78 := (<= 3::Int #11)
-#94 := (iff #16 #78)
-#229 := (iff #94 #228)
-#225 := (iff #78 #226)
-#227 := [rewrite]: #225
-#230 := [monotonicity #227]: #229
+#88 := (not #16)
+#509 := (or #88 #94)
+#99 := (iff #16 #94)
 #17 := (< #11 3::Int)
 #18 := (iff #16 #17)
 #19 := (not #18)
-#96 := (iff #19 #94)
-#79 := (not #78)
-#87 := (iff #16 #79)
-#90 := (not #87)
-#93 := (iff #90 #94)
+#104 := (iff #19 #99)
+#89 := (iff #88 #17)
+#102 := (iff #89 #99)
+#96 := (iff #88 #92)
+#100 := (iff #96 #99)
+#101 := [rewrite]: #100
+#97 := (iff #89 #96)
+#93 := (iff #17 #92)
 #95 := [rewrite]: #93
-#91 := (iff #19 #90)
-#88 := (iff #18 #87)
-#80 := (iff #17 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
-#83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86]: #88
-#92 := [monotonicity #89]: #91
-#97 := [trans #92 #95]: #96
-#69 := [asserted]: #19
-#98 := [mp #69 #97]: #94
-#231 := [mp #98 #230]: #228
-#472 := (not #228)
-#478 := (or #477 #226 #472)
-#475 := [def-axiom]: #478
-#458 := [unit-resolution #475 #231]: #479
-#554 := [unit-resolution #458 #546]: #477
-#675 := (or #707 #16)
-#793 := (f3 f4 #11)
-#795 := (= #793 f10)
+#98 := [monotonicity #95]: #97
+#103 := [trans #98 #101]: #102
+#90 := (iff #19 #89)
+#91 := [rewrite]: #90
+#105 := [trans #91 #103]: #104
+#87 := [asserted]: #19
+#106 := [mp #87 #105]: #99
+#419 := (not #99)
+#507 := (or #88 #94 #419)
+#508 := [def-axiom]: #507
+#506 := [unit-resolution #508 #106]: #509
+#513 := [unit-resolution #506 #522]: #88
+#705 := (or #753 #16)
+#510 := (f3 f4 #11)
+#489 := (= #510 f10)
 #20 := (:var 0 S3)
 #21 := (f8 f9 #20)
-#801 := (pattern #21)
+#832 := (pattern #21)
 #22 := (f3 f4 #21)
 #23 := (= #22 #20)
-#802 := (forall (vars (?v0 S3)) (:pat #801) #23)
+#833 := (forall (vars (?v0 S3)) (:pat #832) #23)
 #24 := (forall (vars (?v0 S3)) #23)
-#805 := (iff #24 #802)
-#803 := (iff #23 #23)
-#804 := [refl]: #803
-#806 := [quant-intro #804]: #805
-#295 := (~ #24 #24)
-#293 := (~ #23 #23)
-#294 := [refl]: #293
-#296 := [nnf-pos #294]: #295
-#70 := [asserted]: #24
-#299 := [mp~ #70 #296]: #24
-#807 := [mp #299 #806]: #802
-#789 := (not #802)
-#463 := (or #789 #795)
-#464 := [quant-inst #10]: #463
-#683 := [unit-resolution #464 #807]: #795
-#672 := (= #15 #793)
-#776 := (= #14 #11)
-#667 := (= 0::Int #11)
-#678 := [hypothesis]: #781
-#668 := [symm #678]: #667
-#782 := (= #14 0::Int)
-#684 := (or #707 #782)
-#604 := -3::Int
-#497 := (* -1::Int #11)
-#748 := (mod #497 -3::Int)
-#744 := (+ #14 #748)
-#745 := (= #744 0::Int)
-#786 := (>= #11 0::Int)
-#759 := (not #786)
-#777 := (<= #11 0::Int)
-#480 := (not #777)
-#761 := (or #480 #759)
-#583 := (if #761 #775 #745)
-#738 := (if #781 #782 #583)
+#836 := (iff #24 #833)
+#834 := (iff #23 #23)
+#835 := [refl]: #834
+#837 := [quant-intro #835]: #836
+#278 := (~ #24 #24)
+#276 := (~ #23 #23)
+#277 := [refl]: #276
+#279 := [nnf-pos #277]: #278
+#107 := [asserted]: #24
+#264 := [mp~ #107 #279]: #24
+#838 := [mp #264 #837]: #833
+#483 := (not #833)
+#613 := (or #483 #489)
+#820 := [quant-inst #10]: #613
+#712 := [unit-resolution #820 #838]: #489
+#699 := (= #15 #510)
+#823 := (= #14 #11)
+#701 := (= 0::Int #11)
+#713 := [hypothesis]: #810
+#697 := [symm #713]: #701
+#811 := (= #14 0::Int)
+#714 := (or #753 #811)
+#805 := (* -1::Int #11)
+#777 := (mod #805 -3::Int)
+#780 := (+ #14 #777)
+#781 := (= #780 0::Int)
+#452 := (>= #11 0::Int)
+#784 := (not #452)
+#812 := (<= #11 0::Int)
+#795 := (not #812)
+#791 := (or #795 #784)
+#783 := (if #791 #819 #781)
+#615 := (if #810 #811 #783)
 #26 := (:var 0 Int)
 #38 := (:var 1 Int)
 #58 := (f6 f7 #38)
 #59 := (f5 #58 #26)
-#828 := (pattern #59)
-#159 := (* -1::Int #26)
-#156 := (* -1::Int #38)
-#178 := (mod #156 #159)
-#376 := (+ #59 #178)
-#377 := (= #376 0::Int)
+#859 := (pattern #59)
+#162 := (* -1::Int #26)
+#159 := (* -1::Int #38)
+#217 := (mod #159 #162)
+#347 := (+ #59 #217)
+#348 := (= #347 0::Int)
 #60 := (mod #38 #26)
-#373 := (* -1::Int #60)
-#374 := (+ #59 #373)
-#375 := (= #374 0::Int)
-#133 := (<= #26 0::Int)
-#252 := (>= #38 0::Int)
-#320 := (or #252 #133)
-#321 := (not #320)
-#129 := (<= #38 0::Int)
-#316 := (or #129 #133)
-#317 := (not #316)
-#324 := (or #317 #321)
-#378 := (if #324 #375 #377)
-#372 := (= #59 0::Int)
+#344 := (* -1::Int #60)
+#345 := (+ #59 #344)
+#346 := (= #345 0::Int)
+#184 := (<= #26 0::Int)
+#191 := (>= #38 0::Int)
+#291 := (or #191 #184)
+#292 := (not #291)
+#180 := (<= #38 0::Int)
+#289 := (or #180 #184)
+#290 := (not #289)
+#295 := (or #290 #292)
+#349 := (if #295 #346 #348)
+#343 := (= #59 0::Int)
 #41 := (= #38 0::Int)
-#379 := (if #41 #372 #378)
-#371 := (= #59 #38)
+#350 := (if #41 #343 #349)
+#342 := (= #59 #38)
 #42 := (= #26 0::Int)
-#380 := (if #42 #371 #379)
-#829 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #828) #380)
-#383 := (forall (vars (?v0 Int) (?v1 Int)) #380)
-#832 := (iff #383 #829)
-#830 := (iff #380 #380)
-#831 := [refl]: #830
-#833 := [quant-intro #831]: #832
-#184 := (* -1::Int #178)
-#340 := (if #324 #60 #184)
-#343 := (if #41 0::Int #340)
-#346 := (if #42 #38 #343)
-#349 := (= #59 #346)
-#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
-#384 := (iff #352 #383)
-#381 := (iff #349 #380)
-#382 := [rewrite]: #381
-#385 := [quant-intro #382]: #384
-#134 := (not #133)
-#255 := (not #252)
-#258 := (and #255 #134)
-#130 := (not #129)
-#137 := (and #130 #134)
-#261 := (or #137 #258)
-#277 := (if #261 #60 #184)
-#280 := (if #41 0::Int #277)
-#283 := (if #42 #38 #280)
-#286 := (= #59 #283)
-#289 := (forall (vars (?v0 Int) (?v1 Int)) #286)
-#353 := (iff #289 #352)
-#350 := (iff #286 #349)
-#347 := (= #283 #346)
-#344 := (= #280 #343)
-#341 := (= #277 #340)
-#325 := (iff #261 #324)
-#322 := (iff #258 #321)
-#323 := [rewrite]: #322
-#318 := (iff #137 #317)
-#319 := [rewrite]: #318
-#326 := [monotonicity #319 #323]: #325
-#342 := [monotonicity #326]: #341
-#345 := [monotonicity #342]: #344
-#348 := [monotonicity #345]: #347
-#351 := [monotonicity #348]: #350
-#354 := [quant-intro #351]: #353
-#313 := (~ #289 #289)
-#311 := (~ #286 #286)
-#312 := [refl]: #311
-#314 := [nnf-pos #312]: #313
-#140 := (<= 0::Int #38)
-#141 := (not #140)
-#149 := (and #141 #134)
-#152 := (or #137 #149)
-#189 := (if #152 #60 #184)
-#192 := (if #41 0::Int #189)
-#195 := (if #42 #38 #192)
-#198 := (= #59 #195)
-#201 := (forall (vars (?v0 Int) (?v1 Int)) #198)
-#290 := (iff #201 #289)
-#287 := (iff #198 #286)
-#284 := (= #195 #283)
-#281 := (= #192 #280)
-#278 := (= #189 #277)
-#262 := (iff #152 #261)
-#259 := (iff #149 #258)
-#256 := (iff #141 #255)
-#253 := (iff #140 #252)
-#254 := [rewrite]: #253
-#257 := [monotonicity #254]: #256
-#260 := [monotonicity #257]: #259
-#263 := [monotonicity #260]: #262
-#279 := [monotonicity #263]: #278
-#282 := [monotonicity #279]: #281
-#285 := [monotonicity #282]: #284
-#288 := [monotonicity #285]: #287
-#291 := [quant-intro #288]: #290
+#351 := (if #42 #342 #350)
+#860 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #859) #351)
+#354 := (forall (vars (?v0 Int) (?v1 Int)) #351)
+#863 := (iff #354 #860)
+#861 := (iff #351 #351)
+#862 := [refl]: #861
+#864 := [quant-intro #862]: #863
+#223 := (* -1::Int #217)
+#311 := (if #295 #60 #223)
+#314 := (if #41 0::Int #311)
+#317 := (if #42 #38 #314)
+#320 := (= #59 #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
+#185 := (not #184)
+#192 := (not #191)
+#195 := (and #192 #185)
+#181 := (not #180)
+#188 := (and #181 #185)
+#198 := (or #188 #195)
+#243 := (if #198 #60 #223)
+#246 := (if #41 0::Int #243)
+#249 := (if #42 #38 #246)
+#252 := (= #59 #249)
+#255 := (forall (vars (?v0 Int) (?v1 Int)) #252)
+#324 := (iff #255 #323)
+#321 := (iff #252 #320)
+#318 := (= #249 #317)
+#315 := (= #246 #314)
+#312 := (= #243 #311)
+#296 := (iff #198 #295)
+#293 := (iff #195 #292)
+#294 := [rewrite]: #293
+#274 := (iff #188 #290)
+#275 := [rewrite]: #274
+#297 := [monotonicity #275 #294]: #296
+#313 := [monotonicity #297]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#272 := (~ #255 #255)
+#286 := (~ #252 #252)
+#287 := [refl]: #286
+#273 := [nnf-pos #287]: #272
 #52 := (- #26)
 #51 := (- #38)
 #61 := (mod #51 #52)
@@ -19920,387 +18522,384 @@
 #65 := (if #42 #38 #64)
 #66 := (= #59 #65)
 #67 := (forall (vars (?v0 Int) (?v1 Int)) #66)
-#202 := (iff #67 #201)
-#199 := (iff #66 #198)
-#196 := (= #65 #195)
-#193 := (= #64 #192)
-#190 := (= #63 #189)
-#187 := (= #62 #184)
-#181 := (- #178)
-#185 := (= #181 #184)
-#186 := [rewrite]: #185
-#182 := (= #62 #181)
-#179 := (= #61 #178)
-#160 := (= #52 #159)
+#258 := (iff #67 #255)
+#228 := (if #49 #60 #223)
+#231 := (if #41 0::Int #228)
+#234 := (if #42 #38 #231)
+#237 := (= #59 #234)
+#240 := (forall (vars (?v0 Int) (?v1 Int)) #237)
+#256 := (iff #240 #255)
+#253 := (iff #237 #252)
+#250 := (= #234 #249)
+#247 := (= #231 #246)
+#244 := (= #228 #243)
+#199 := (iff #49 #198)
+#196 := (iff #48 #195)
+#186 := (iff #45 #185)
+#187 := [rewrite]: #186
+#193 := (iff #47 #192)
+#194 := [rewrite]: #193
+#197 := [monotonicity #194 #187]: #196
+#189 := (iff #46 #188)
+#182 := (iff #44 #181)
+#183 := [rewrite]: #182
+#190 := [monotonicity #183 #187]: #189
+#200 := [monotonicity #190 #197]: #199
+#245 := [monotonicity #200]: #244
+#248 := [monotonicity #245]: #247
+#251 := [monotonicity #248]: #250
+#254 := [monotonicity #251]: #253
+#257 := [quant-intro #254]: #256
+#241 := (iff #67 #240)
+#238 := (iff #66 #237)
+#235 := (= #65 #234)
+#232 := (= #64 #231)
+#229 := (= #63 #228)
+#226 := (= #62 #223)
+#220 := (- #217)
+#224 := (= #220 #223)
+#225 := [rewrite]: #224
+#221 := (= #62 #220)
+#218 := (= #61 #217)
+#163 := (= #52 #162)
+#164 := [rewrite]: #163
+#160 := (= #51 #159)
 #161 := [rewrite]: #160
-#157 := (= #51 #156)
-#158 := [rewrite]: #157
-#180 := [monotonicity #158 #161]: #179
-#183 := [monotonicity #180]: #182
-#188 := [trans #183 #186]: #187
-#153 := (iff #49 #152)
-#150 := (iff #48 #149)
-#135 := (iff #45 #134)
-#136 := [rewrite]: #135
-#142 := (iff #47 #141)
-#146 := (iff #141 #141)
-#144 := (iff #140 #140)
-#145 := [rewrite]: #144
-#147 := [monotonicity #145]: #146
-#143 := [rewrite]: #142
-#148 := [trans #143 #147]: #142
-#151 := [monotonicity #148 #136]: #150
-#138 := (iff #46 #137)
-#131 := (iff #44 #130)
-#132 := [rewrite]: #131
-#139 := [monotonicity #132 #136]: #138
-#154 := [monotonicity #139 #151]: #153
-#191 := [monotonicity #154 #188]: #190
-#194 := [monotonicity #191]: #193
-#197 := [monotonicity #194]: #196
-#200 := [monotonicity #197]: #199
-#203 := [quant-intro #200]: #202
-#74 := [asserted]: #67
-#204 := [mp #74 #203]: #201
-#292 := [mp #204 #291]: #289
-#315 := [mp~ #292 #314]: #289
-#355 := [mp #315 #354]: #352
-#386 := [mp #355 #385]: #383
-#834 := [mp #386 #833]: #829
-#635 := (not #829)
-#730 := (or #635 #738)
-#498 := (* -1::Int 3::Int)
-#499 := (mod #497 #498)
-#500 := (+ #14 #499)
-#393 := (= #500 0::Int)
-#783 := (<= 3::Int 0::Int)
-#426 := (or #786 #783)
-#427 := (not #426)
-#421 := (or #777 #783)
-#784 := (not #421)
-#787 := (or #784 #427)
-#770 := (if #787 #775 #393)
-#771 := (if #781 #782 #770)
-#435 := (= 3::Int 0::Int)
-#493 := (if #435 #776 #771)
-#731 := (or #635 #493)
-#619 := (iff #731 #730)
-#636 := (iff #730 #730)
-#637 := [rewrite]: #636
-#585 := (iff #493 #738)
-#739 := (if false #776 #738)
-#625 := (iff #739 #738)
-#626 := [rewrite]: #625
-#742 := (iff #493 #739)
-#740 := (iff #771 #738)
-#584 := (iff #770 #583)
-#752 := (iff #393 #745)
-#750 := (= #500 #744)
-#749 := (= #499 #748)
-#746 := (= #498 -3::Int)
-#747 := [rewrite]: #746
-#743 := [monotonicity #747]: #749
-#751 := [monotonicity #743]: #750
-#581 := [monotonicity #751]: #752
-#602 := (iff #787 #761)
-#760 := (iff #427 #759)
-#753 := (iff #426 #786)
-#763 := (or #786 false)
-#757 := (iff #763 #786)
-#758 := [rewrite]: #757
-#767 := (iff #426 #763)
-#772 := (iff #783 false)
-#769 := [rewrite]: #772
-#756 := [monotonicity #769]: #767
-#754 := [trans #756 #758]: #753
-#755 := [monotonicity #754]: #760
-#762 := (iff #784 #480)
-#764 := (iff #421 #777)
-#773 := (or #777 false)
-#485 := (iff #773 #777)
-#486 := [rewrite]: #485
-#483 := (iff #421 #773)
-#484 := [monotonicity #769]: #483
-#765 := [trans #484 #486]: #764
-#766 := [monotonicity #765]: #762
-#603 := [monotonicity #766 #755]: #602
-#737 := [monotonicity #603 #581]: #584
-#741 := [monotonicity #737]: #740
-#494 := (iff #435 false)
-#768 := [rewrite]: #494
-#624 := [monotonicity #768 #741]: #742
-#733 := [trans #624 #626]: #585
-#634 := [monotonicity #733]: #619
-#630 := [trans #634 #637]: #619
-#734 := [quant-inst #11 #13]: #731
-#638 := [mp #734 #630]: #730
-#693 := [unit-resolution #638 #834]: #738
-#706 := (not #738)
-#709 := (or #706 #707 #782)
-#710 := [def-axiom]: #709
-#670 := [unit-resolution #710 #693]: #684
-#666 := [unit-resolution #670 #678]: #782
-#671 := [trans #666 #668]: #776
-#673 := [monotonicity #671]: #672
-#674 := [trans #673 #683]: #16
-#682 := [hypothesis]: #477
-#669 := [unit-resolution #682 #674]: false
-#648 := [lemma #669]: #675
-#547 := [unit-resolution #648 #554]: #707
-#680 := (or #781 #775)
-#705 := [hypothesis]: #707
-#732 := (not #761)
-#718 := (not #775)
-#685 := [hypothesis]: #718
-#694 := (or #781 #583)
-#711 := (or #706 #781 #583)
-#712 := [def-axiom]: #711
-#695 := [unit-resolution #712 #693]: #694
-#696 := [unit-resolution #695 #705]: #583
-#726 := (not #583)
-#727 := (or #726 #732 #775)
-#728 := [def-axiom]: #727
-#697 := [unit-resolution #728 #696 #685]: #732
-#640 := (or #761 #777)
-#641 := [def-axiom]: #640
-#687 := [unit-resolution #641 #697]: #777
-#642 := (or #761 #786)
-#735 := [def-axiom]: #642
-#698 := [unit-resolution #735 #697]: #786
-#676 := (or #781 #480 #759)
-#677 := [th-lemma arith triangle-eq]: #676
-#679 := [unit-resolution #677 #698 #687 #705]: false
-#681 := [lemma #679]: #680
-#550 := [unit-resolution #681 #547]: #775
-#551 := (or #718 #725)
-#537 := [th-lemma arith triangle-eq]: #551
-#539 := [unit-resolution #537 #550]: #725
-#649 := (div #11 3::Int)
-#662 := (* -3::Int #649)
-#663 := (+ #11 #662 #788)
-#665 := (<= #663 0::Int)
-#659 := (= #663 0::Int)
-#612 := (or false #659)
-#613 := [th-lemma arith]: #612
-#614 := [unit-resolution #613 #222]: #659
-#615 := (not #659)
-#590 := (or #615 #665)
-#592 := [th-lemma arith triangle-eq]: #590
-#593 := [unit-resolution #592 #614]: #665
-#405 := 1::Int
-#573 := -2::Int
-#557 := (* -2::Int #649)
-#562 := (+ #11 #557 #788)
-#552 := (>= #562 1::Int)
-#655 := (* -1::Int #14)
-#656 := (+ #11 #655)
-#661 := (<= #656 0::Int)
-#527 := (not #661)
-#611 := (= #11 #14)
-#586 := (not #611)
-#588 := (or #586 #16)
-#616 := [hypothesis]: #611
-#601 := [symm #616]: #776
-#617 := [monotonicity #601]: #672
-#578 := [trans #617 #683]: #16
-#579 := [unit-resolution #682 #578]: false
-#589 := [lemma #579]: #588
-#534 := [unit-resolution #589 #554]: #586
-#657 := (>= #656 0::Int)
-#664 := (>= #649 0::Int)
-#703 := (f8 f9 #793)
-#704 := (= #703 0::Int)
-#517 := (not #704)
-#518 := (iff #707 #517)
-#515 := (iff #781 #704)
-#536 := (iff #704 #781)
-#535 := (= #703 #11)
-#524 := [monotonicity #683]: #535
-#513 := [monotonicity #524]: #536
-#516 := [symm #513]: #515
-#519 := [monotonicity #516]: #518
-#520 := [mp #547 #519]: #517
-#701 := (or #786 #704)
+#219 := [monotonicity #161 #164]: #218
+#222 := [monotonicity #219]: #221
+#227 := [trans #222 #225]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [monotonicity #233]: #235
+#239 := [monotonicity #236]: #238
+#242 := [quant-intro #239]: #241
+#259 := [trans #242 #257]: #258
+#216 := [asserted]: #67
+#260 := [mp #216 #259]: #255
+#288 := [mp~ #260 #273]: #255
+#326 := [mp #288 #325]: #323
+#357 := [mp #326 #356]: #354
+#865 := [mp #357 #864]: #860
+#616 := (not #860)
+#764 := (or #616 #615)
+#806 := (* -1::Int 3::Int)
+#528 := (mod #805 #806)
+#529 := (+ #14 #528)
+#530 := (= #529 0::Int)
+#813 := (<= 3::Int 0::Int)
+#815 := (or #452 #813)
+#817 := (not #815)
+#808 := (or #812 #813)
+#814 := (not #808)
+#457 := (or #814 #817)
+#531 := (if #457 #819 #530)
+#425 := (if #810 #811 #531)
+#482 := (= 3::Int 0::Int)
+#801 := (if #482 #823 #425)
+#666 := (or #616 #801)
+#762 := (iff #666 #764)
+#650 := (iff #764 #764)
+#665 := [rewrite]: #650
+#656 := (iff #801 #615)
+#771 := (if false #823 #615)
+#773 := (iff #771 #615)
+#655 := [rewrite]: #773
+#772 := (iff #801 #771)
+#768 := (iff #425 #615)
+#612 := (iff #531 #783)
+#782 := (iff #530 #781)
+#774 := (= #529 #780)
+#778 := (= #528 #777)
+#634 := (= #806 -3::Int)
+#635 := [rewrite]: #634
+#779 := [monotonicity #635]: #778
+#775 := [monotonicity #779]: #774
+#776 := [monotonicity #775]: #782
+#786 := (iff #457 #791)
+#785 := (iff #817 #784)
+#788 := (iff #815 #452)
+#793 := (or #452 false)
+#798 := (iff #793 #452)
+#787 := [rewrite]: #798
+#797 := (iff #815 #793)
+#525 := (iff #813 false)
+#799 := [rewrite]: #525
+#794 := [monotonicity #799]: #797
+#789 := [trans #794 #787]: #788
+#790 := [monotonicity #789]: #785
+#796 := (iff #814 #795)
+#516 := (iff #808 #812)
+#803 := (or #812 false)
+#514 := (iff #803 #812)
+#515 := [rewrite]: #514
+#800 := (iff #808 #803)
+#804 := [monotonicity #799]: #800
+#517 := [trans #804 #515]: #516
+#511 := [monotonicity #517]: #796
+#792 := [monotonicity #511 #790]: #786
+#614 := [monotonicity #792 #776]: #612
+#769 := [monotonicity #614]: #768
+#802 := (iff #482 false)
+#524 := [rewrite]: #802
+#770 := [monotonicity #524 #769]: #772
+#657 := [trans #770 #655]: #656
+#765 := [monotonicity #657]: #762
+#667 := [trans #765 #665]: #762
+#761 := [quant-inst #11 #13]: #666
+#668 := [mp #761 #667]: #764
+#722 := [unit-resolution #668 #865]: #615
+#746 := (not #615)
+#737 := (or #746 #753 #811)
+#738 := [def-axiom]: #737
+#709 := [unit-resolution #738 #722]: #714
+#715 := [unit-resolution #709 #713]: #811
+#698 := [trans #715 #697]: #823
+#702 := [monotonicity #698]: #699
+#703 := [trans #702 #712]: #16
+#711 := [hypothesis]: #88
+#704 := [unit-resolution #711 #703]: false
+#700 := [lemma #704]: #705
+#523 := [unit-resolution #700 #513]: #753
+#708 := (or #810 #819)
+#735 := [hypothesis]: #753
+#673 := (not #791)
+#755 := (not #819)
+#732 := [hypothesis]: #755
+#723 := (or #810 #783)
+#740 := (or #746 #810 #783)
+#741 := [def-axiom]: #740
+#724 := [unit-resolution #741 #722]: #723
+#725 := [unit-resolution #724 #735]: #783
+#745 := (not #783)
+#747 := (or #745 #673 #819)
+#757 := [def-axiom]: #747
+#726 := [unit-resolution #757 #725 #732]: #673
+#669 := (or #791 #812)
+#670 := [def-axiom]: #669
+#727 := [unit-resolution #670 #726]: #812
+#671 := (or #791 #452)
+#672 := [def-axiom]: #671
+#728 := [unit-resolution #672 #726]: #452
+#718 := (or #810 #795 #784)
+#729 := [th-lemma arith triangle-eq]: #718
+#707 := [unit-resolution #729 #728 #727 #735]: false
+#710 := [lemma #707]: #708
+#490 := [unit-resolution #710 #523]: #819
+#492 := (or #755 #767)
+#493 := [th-lemma arith triangle-eq]: #492
+#484 := [unit-resolution #493 #490]: #767
+#370 := 1::Int
+#597 := -2::Int
+#526 := (* -2::Int #706)
+#535 := (+ #818 #526)
+#536 := (+ #11 #535)
+#527 := (>= #536 1::Int)
+#609 := (* -1::Int #14)
+#610 := (+ #11 #609)
+#617 := (<= #610 0::Int)
+#502 := (not #617)
+#648 := (= #11 #14)
+#626 := (not #648)
+#627 := (or #626 #16)
+#620 := [hypothesis]: #648
+#621 := [symm #620]: #823
+#623 := [monotonicity #621]: #699
+#624 := [trans #623 #712]: #16
+#625 := [unit-resolution #711 #624]: false
+#628 := [lemma #625]: #627
+#475 := [unit-resolution #628 #513]: #626
+#619 := (>= #610 0::Int)
+#611 := (>= #706 0::Int)
+#731 := (f8 f9 #510)
+#733 := (= #731 0::Int)
+#461 := (not #733)
+#463 := (iff #753 #461)
+#468 := (iff #810 #733)
+#478 := (iff #733 #810)
+#476 := (= #731 #11)
+#477 := [monotonicity #712]: #476
+#479 := [monotonicity #477]: #478
+#480 := [symm #479]: #468
+#464 := [monotonicity #480]: #463
+#462 := [mp #523 #464]: #461
+#734 := (or #452 #733)
 #28 := (f3 f4 #26)
-#808 := (pattern #28)
+#839 := (pattern #28)
 #29 := (f8 f9 #28)
 #34 := (= #29 0::Int)
-#232 := (>= #26 0::Int)
-#245 := (or #232 #34)
-#815 := (forall (vars (?v0 Int)) (:pat #808) #245)
-#248 := (forall (vars (?v0 Int)) #245)
-#818 := (iff #248 #815)
-#816 := (iff #245 #245)
-#817 := [refl]: #816
-#819 := [quant-intro #817]: #818
-#297 := (~ #248 #248)
-#223 := (~ #245 #245)
-#224 := [refl]: #223
-#298 := [nnf-pos #224]: #297
-#27 := (<= 0::Int #26)
-#120 := (or #27 #34)
-#125 := (forall (vars (?v0 Int)) #120)
-#249 := (iff #125 #248)
-#246 := (iff #120 #245)
-#233 := (iff #27 #232)
-#234 := [rewrite]: #233
-#247 := [monotonicity #234]: #246
-#250 := [quant-intro #247]: #249
+#118 := (>= #26 0::Int)
+#148 := (or #118 #34)
+#846 := (forall (vars (?v0 Int)) (:pat #839) #148)
+#151 := (forall (vars (?v0 Int)) #148)
+#849 := (iff #151 #846)
+#847 := (iff #148 #148)
+#848 := [refl]: #847
+#850 := [quant-intro #848]: #849
+#268 := (~ #151 #151)
+#280 := (~ #148 #148)
+#281 := [refl]: #280
+#269 := [nnf-pos #281]: #268
 #33 := (< #26 0::Int)
 #35 := (implies #33 #34)
 #36 := (forall (vars (?v0 Int)) #35)
-#126 := (iff #36 #125)
-#123 := (iff #35 #120)
-#103 := (not #27)
-#117 := (implies #103 #34)
-#121 := (iff #117 #120)
-#122 := [rewrite]: #121
-#118 := (iff #35 #117)
-#112 := (iff #33 #103)
-#114 := (iff #103 #103)
-#99 := (iff #27 #27)
-#100 := [rewrite]: #99
-#115 := [monotonicity #100]: #114
-#113 := [rewrite]: #112
-#116 := [trans #113 #115]: #112
-#119 := [monotonicity #116]: #118
-#124 := [trans #119 #122]: #123
-#127 := [quant-intro #124]: #126
-#72 := [asserted]: #36
-#128 := [mp #72 #127]: #125
-#251 := [mp #128 #250]: #248
-#305 := [mp~ #251 #298]: #248
-#820 := [mp #305 #819]: #815
-#439 := (not #815)
-#686 := (or #439 #786 #704)
-#688 := (or #439 #701)
-#690 := (iff #688 #686)
-#691 := [rewrite]: #690
-#689 := [quant-inst #11]: #688
-#692 := [mp #689 #691]: #686
-#521 := [unit-resolution #692 #820]: #701
-#514 := [unit-resolution #521 #520]: #786
-#580 := (or #664 #759)
-#594 := (not #664)
-#595 := [hypothesis]: #594
-#596 := [hypothesis]: #786
-#597 := [th-lemma arith farkas 1 3 1 1 #596 #595 #593 #627]: false
-#598 := [lemma #597]: #580
-#522 := [unit-resolution #598 #514]: #664
-#605 := (not #725)
-#563 := (or #657 #605 #594)
-#631 := (not #657)
-#632 := [hypothesis]: #631
-#645 := (>= #663 0::Int)
-#576 := (or #615 #645)
-#572 := [th-lemma arith triangle-eq]: #576
-#577 := [unit-resolution #572 #614]: #645
-#556 := [hypothesis]: #664
-#644 := [hypothesis]: #725
-#559 := [th-lemma arith farkas 1 -3 -1 1 #644 #556 #577 #632]: false
-#565 := [lemma #559]: #563
-#507 := [unit-resolution #565 #539 #522]: #657
-#508 := (or #611 #527 #631)
-#509 := [th-lemma arith triangle-eq]: #508
-#511 := [unit-resolution #509 #507 #534]: #527
-#717 := (>= #774 0::Int)
-#510 := (or #718 #717)
-#512 := [th-lemma arith triangle-eq]: #510
-#501 := [unit-resolution #512 #550]: #717
-#531 := (not #717)
-#532 := (or #552 #531 #661)
-#541 := (not #552)
-#526 := [hypothesis]: #541
-#528 := [hypothesis]: #527
-#529 := [hypothesis]: #717
-#530 := [th-lemma arith farkas -2/3 -1/3 -1/3 1 #577 #529 #528 #526]: false
-#533 := [lemma #530]: #532
-#502 := [unit-resolution #533 #501 #511]: #552
-#452 := (>= #14 0::Int)
-#591 := (>= #785 0::Int)
-#503 := (or false #591)
-#495 := [th-lemma arith]: #503
-#504 := [unit-resolution #495 #222]: #591
-#505 := (not #591)
-#496 := (or #452 #505 #531)
-#506 := [th-lemma arith assign-bounds 1 1]: #496
-#487 := [unit-resolution #506 #501 #504]: #452
-#488 := [th-lemma arith farkas -1 -3 2 1 1 #487 #502 #593 #539 #546]: false
-#489 := [lemma #488]: #226
-#796 := (f8 f9 #15)
-#797 := (= #796 #14)
-#456 := (iff #797 #611)
-#471 := (= #796 #11)
-#465 := (or #16 #387)
-#473 := (or #16 #387 #472)
-#474 := [def-axiom]: #473
-#476 := [unit-resolution #474 #231]: #465
-#460 := [unit-resolution #476 #489]: #16
-#454 := [monotonicity #460]: #471
-#457 := [monotonicity #454]: #456
-#482 := (or #480 #387)
-#492 := [th-lemma arith farkas 1 1]: #482
-#459 := [unit-resolution #492 #489]: #480
-#461 := (or #707 #777)
-#462 := [th-lemma arith triangle-eq]: #461
-#453 := [unit-resolution #462 #459]: #707
-#466 := [unit-resolution #681 #453]: #775
-#467 := [unit-resolution #512 #466]: #717
-#468 := [unit-resolution #506 #467 #504]: #452
-#582 := (not #452)
-#798 := (or #582 #797)
+#154 := (iff #36 #151)
+#132 := (not #33)
+#133 := (or #132 #34)
+#136 := (forall (vars (?v0 Int)) #133)
+#152 := (iff #136 #151)
+#149 := (iff #133 #148)
+#146 := (iff #132 #118)
+#119 := (not #118)
+#141 := (not #119)
+#144 := (iff #141 #118)
+#145 := [rewrite]: #144
+#142 := (iff #132 #141)
+#139 := (iff #33 #119)
+#140 := [rewrite]: #139
+#143 := [monotonicity #140]: #142
+#147 := [trans #143 #145]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#137 := (iff #36 #136)
+#134 := (iff #35 #133)
+#135 := [rewrite]: #134
+#138 := [quant-intro #135]: #137
+#155 := [trans #138 #153]: #154
+#131 := [asserted]: #36
+#156 := [mp #131 #155]: #151
+#282 := [mp~ #156 #269]: #151
+#851 := [mp #282 #850]: #846
+#466 := (not #846)
+#736 := (or #466 #452 #733)
+#716 := (or #466 #734)
+#719 := (iff #716 #736)
+#720 := [rewrite]: #719
+#717 := [quant-inst #11]: #716
+#721 := [mp #717 #720]: #736
+#465 := [unit-resolution #721 #851]: #734
+#453 := [unit-resolution #465 #462]: #452
+#594 := (or #611 #784)
+#603 := (not #611)
+#608 := [hypothesis]: #603
+#587 := [hypothesis]: #452
+#590 := [th-lemma arith farkas 1 3 1 1 #587 #608 #607 #600]: false
+#596 := [lemma #590]: #594
+#455 := [unit-resolution #596 #453]: #611
+#557 := (not #767)
+#565 := (or #619 #557 #603)
+#570 := (not #619)
+#571 := [hypothesis]: #570
+#684 := (>= #622 0::Int)
+#560 := (or #605 #684)
+#561 := [th-lemma arith triangle-eq]: #560
+#562 := [unit-resolution #561 #604]: #684
+#563 := [hypothesis]: #611
+#572 := [hypothesis]: #767
+#564 := [th-lemma arith farkas 1 -3 -1 1 #572 #563 #562 #571]: false
+#566 := [lemma #564]: #565
+#456 := [unit-resolution #566 #484 #455]: #619
+#459 := (or #648 #502 #570)
+#454 := [th-lemma arith triangle-eq]: #459
+#460 := [unit-resolution #454 #456 #475]: #502
+#754 := (>= #816 0::Int)
+#435 := (or #755 #754)
+#439 := [th-lemma arith triangle-eq]: #435
+#440 := [unit-resolution #439 #490]: #754
+#467 := (not #754)
+#469 := (or #527 #467 #617)
+#499 := (not #527)
+#491 := [hypothesis]: #499
+#485 := [hypothesis]: #502
+#487 := [hypothesis]: #754
+#488 := [th-lemma arith farkas -1/3 -1/3 -2/3 1 #487 #485 #562 #491]: false
+#474 := [lemma #488]: #469
+#445 := [unit-resolution #474 #440 #460]: #527
+#824 := (>= #14 0::Int)
+#652 := (>= #458 0::Int)
+#447 := (or false #652)
+#448 := [th-lemma arith]: #447
+#450 := [unit-resolution #448 #85]: #652
+#446 := (not #652)
+#451 := (or #824 #446 #467)
+#434 := [th-lemma arith assign-bounds 1 1]: #451
+#437 := [unit-resolution #434 #440 #450]: #824
+#438 := [th-lemma arith farkas -1 -3 1 2 1 #437 #445 #484 #607 #522]: false
+#441 := [lemma #438]: #94
+#494 := (f8 f9 #15)
+#495 := (= #494 #14)
+#423 := (iff #495 #648)
+#420 := (= #494 #11)
+#505 := (or #16 #92)
+#503 := (or #16 #92 #419)
+#504 := [def-axiom]: #503
+#496 := [unit-resolution #504 #106]: #505
+#433 := [unit-resolution #496 #441]: #16
+#422 := [monotonicity #433]: #420
+#421 := [monotonicity #422]: #423
+#442 := (or #795 #92)
+#443 := [th-lemma arith farkas 1 1]: #442
+#436 := [unit-resolution #443 #441]: #795
+#444 := (or #753 #812)
+#429 := [th-lemma arith triangle-eq]: #444
+#426 := [unit-resolution #429 #436]: #753
+#427 := [unit-resolution #710 #426]: #819
+#430 := [unit-resolution #439 #427]: #754
+#431 := [unit-resolution #434 #430 #450]: #824
+#826 := (not #824)
+#827 := (or #826 #495)
 #30 := (= #29 #26)
-#235 := (not #232)
-#238 := (or #235 #30)
-#809 := (forall (vars (?v0 Int)) (:pat #808) #238)
-#241 := (forall (vars (?v0 Int)) #238)
-#812 := (iff #241 #809)
-#810 := (iff #238 #238)
-#811 := [refl]: #810
-#813 := [quant-intro #811]: #812
-#302 := (~ #241 #241)
-#300 := (~ #238 #238)
-#301 := [refl]: #300
-#303 := [nnf-pos #301]: #302
-#104 := (or #103 #30)
-#108 := (forall (vars (?v0 Int)) #104)
-#242 := (iff #108 #241)
-#239 := (iff #104 #238)
-#236 := (iff #103 #235)
-#237 := [monotonicity #234]: #236
-#240 := [monotonicity #237]: #239
-#243 := [quant-intro #240]: #242
+#122 := (or #119 #30)
+#840 := (forall (vars (?v0 Int)) (:pat #839) #122)
+#125 := (forall (vars (?v0 Int)) #122)
+#843 := (iff #125 #840)
+#841 := (iff #122 #122)
+#842 := [refl]: #841
+#844 := [quant-intro #842]: #843
+#266 := (~ #125 #125)
+#265 := (~ #122 #122)
+#262 := [refl]: #265
+#267 := [nnf-pos #262]: #266
+#27 := (<= 0::Int #26)
 #31 := (implies #27 #30)
 #32 := (forall (vars (?v0 Int)) #31)
-#109 := (iff #32 #108)
-#105 := (iff #31 #104)
-#106 := [rewrite]: #105
-#101 := (iff #31 #31)
-#102 := [monotonicity #100]: #101
-#107 := [trans #102 #106]: #105
-#110 := [quant-intro #107]: #109
-#71 := [asserted]: #32
-#111 := [mp #71 #110]: #108
-#244 := [mp #111 #243]: #241
-#304 := [mp~ #244 #303]: #241
-#814 := [mp #304 #813]: #809
-#800 := (not #809)
-#790 := (or #800 #582 #797)
-#450 := (or #800 #798)
-#791 := (iff #450 #790)
-#451 := [rewrite]: #791
-#455 := [quant-inst #14]: #450
-#792 := [mp #455 #451]: #790
-#469 := [unit-resolution #792 #814]: #798
-#470 := [unit-resolution #469 #468]: #797
-#436 := [mp #470 #457]: #611
-#438 := (or #586 #661)
-#443 := [th-lemma arith triangle-eq]: #438
-#444 := [unit-resolution #443 #436]: #661
-#445 := [unit-resolution #537 #466]: #725
-[th-lemma arith farkas 1 1 -1 1 #445 #444 #489 #627]: false
-39e38a4cd6cf46af7d8d64c6a30d6324a7b844a7 778 0
-unsat
+#128 := (iff #32 #125)
+#109 := (not #27)
+#110 := (or #109 #30)
+#113 := (forall (vars (?v0 Int)) #110)
+#126 := (iff #113 #125)
+#123 := (iff #110 #122)
+#120 := (iff #109 #119)
+#116 := (iff #27 #118)
+#117 := [rewrite]: #116
+#121 := [monotonicity #117]: #120
+#124 := [monotonicity #121]: #123
+#127 := [quant-intro #124]: #126
+#114 := (iff #32 #113)
+#111 := (iff #31 #110)
+#112 := [rewrite]: #111
+#115 := [quant-intro #112]: #114
+#129 := [trans #115 #127]: #128
+#108 := [asserted]: #32
+#130 := [mp #108 #129]: #125
+#263 := [mp~ #130 #267]: #125
+#845 := [mp #263 #844]: #840
+#830 := (not #840)
+#825 := (or #830 #826 #495)
+#831 := (or #830 #827)
+#481 := (iff #831 #825)
+#486 := [rewrite]: #481
+#821 := [quant-inst #14]: #831
+#822 := [mp #821 #486]: #825
+#432 := [unit-resolution #822 #845]: #827
+#428 := [unit-resolution #432 #431]: #495
+#424 := [mp #428 #421]: #648
+#866 := (or #626 #617)
+#867 := [th-lemma arith triangle-eq]: #866
+#868 := [unit-resolution #867 #424]: #617
+#869 := [unit-resolution #493 #427]: #767
+[th-lemma arith farkas 1 1 -1 1 #869 #868 #441 #600]: false
+unsat
+9d3396d381ad41e645649796d61e70c5401ede3a 761 0
 #2 := false
 #28 := 0::Int
 decl f9 :: (-> S6 S2 Int)
@@ -20309,14 +18908,14 @@
 decl f10 :: S6
 #10 := f10
 #11 := (f9 f10 f3)
-#762 := (>= #11 0::Int)
-#738 := (not #762)
-#415 := (<= #11 0::Int)
-#749 := (not #415)
-#740 := (or #749 #738)
-#716 := (not #740)
-#429 := (= #11 0::Int)
-#692 := (not #429)
+#804 := (>= #11 0::Int)
+#780 := (not #804)
+#816 := (<= #11 0::Int)
+#631 := (not #816)
+#610 := (or #631 #780)
+#753 := (not #610)
+#471 := (= #11 0::Int)
+#730 := (not #471)
 decl f4 :: (-> S3 Int S2)
 decl f6 :: (-> S4 Int Int)
 #13 := 1::Int
@@ -20329,159 +18928,132 @@
 #9 := f8
 #12 := (f7 f8 #11)
 #14 := (f6 #12 1::Int)
-#82 := (+ #14 #18)
+#92 := (+ #14 #18)
 decl f5 :: S3
 #8 := f5
-#85 := (f4 f5 #82)
-#88 := (= f3 #85)
-#466 := (f9 f10 #85)
-#445 := (f4 f5 #466)
-#424 := (= #445 #85)
+#95 := (f4 f5 #92)
+#98 := (= f3 #95)
+#507 := (f9 f10 #95)
+#465 := (f4 f5 #507)
+#467 := (= #465 #95)
 #23 := (:var 0 S2)
 #24 := (f9 f10 #23)
-#789 := (pattern #24)
+#830 := (pattern #24)
 #25 := (f4 f5 #24)
 #26 := (= #25 #23)
-#790 := (forall (vars (?v0 S2)) (:pat #789) #26)
+#831 := (forall (vars (?v0 S2)) (:pat #830) #26)
 #27 := (forall (vars (?v0 S2)) #26)
-#793 := (iff #27 #790)
-#791 := (iff #26 #26)
-#792 := [refl]: #791
-#794 := [quant-intro #792]: #793
-#219 := (~ #27 #27)
-#282 := (~ #26 #26)
-#283 := [refl]: #282
-#220 := [nnf-pos #283]: #219
-#72 := [asserted]: #27
-#284 := [mp~ #72 #220]: #27
-#795 := [mp #284 #794]: #790
-#453 := (not #790)
-#555 := (or #453 #424)
-#562 := [quant-inst #85]: #555
-#535 := [unit-resolution #562 #795]: #424
-#541 := (= f3 #445)
-#376 := (f4 f5 #11)
-#379 := (= #376 #445)
-#390 := (= #445 #376)
-#536 := (= #466 #11)
-#551 := (= 0::Int #11)
-#539 := [hypothesis]: #429
-#553 := [symm #539]: #551
-#427 := (= #466 0::Int)
-#772 := (>= #466 0::Int)
-#611 := (>= #18 0::Int)
-#682 := (= #18 0::Int)
-#538 := (or #692 #682)
-#151 := -1::Int
-#759 := (* -1::Int #11)
-#709 := (mod #759 -1::Int)
-#643 := (+ #18 #709)
-#645 := (= #643 0::Int)
-#650 := (if #740 #682 #645)
-#648 := (if #429 #682 #650)
+#834 := (iff #27 #831)
+#832 := (iff #26 #26)
+#833 := [refl]: #832
+#835 := [quant-intro #833]: #834
+#276 := (~ #27 #27)
+#274 := (~ #26 #26)
+#275 := [refl]: #274
+#277 := [nnf-pos #275]: #276
+#104 := [asserted]: #27
+#262 := [mp~ #104 #277]: #27
+#836 := [mp #262 #835]: #831
+#494 := (not #831)
+#908 := (or #494 #467)
+#909 := [quant-inst #95]: #908
+#952 := [unit-resolution #909 #836]: #467
+#959 := (= f3 #465)
+#417 := (f4 f5 #11)
+#957 := (= #417 #465)
+#955 := (= #465 #417)
+#950 := (= #507 #11)
+#948 := (= 0::Int #11)
+#906 := [hypothesis]: #471
+#949 := [symm #906]: #948
+#469 := (= #507 0::Int)
+#815 := (>= #507 0::Int)
+#673 := (>= #18 0::Int)
+#724 := (= #18 0::Int)
+#907 := (or #730 #724)
+#156 := -1::Int
+#522 := (* -1::Int #11)
+#744 := (mod #522 -1::Int)
+#685 := (+ #18 #744)
+#687 := (= #685 0::Int)
+#692 := (if #610 #724 #687)
+#694 := (if #471 #724 #692)
 #29 := (:var 0 Int)
 #40 := (:var 1 Int)
 #60 := (f7 f11 #40)
 #61 := (f6 #60 #29)
-#816 := (pattern #61)
-#155 := (* -1::Int #29)
-#152 := (* -1::Int #40)
-#174 := (mod #152 #155)
-#365 := (+ #61 #174)
-#366 := (= #365 0::Int)
+#857 := (pattern #61)
+#160 := (* -1::Int #29)
+#157 := (* -1::Int #40)
+#215 := (mod #157 #160)
+#345 := (+ #61 #215)
+#346 := (= #345 0::Int)
 #62 := (mod #40 #29)
-#362 := (* -1::Int #62)
-#363 := (+ #61 #362)
-#364 := (= #363 0::Int)
-#129 := (<= #29 0::Int)
-#241 := (>= #40 0::Int)
-#309 := (or #241 #129)
-#310 := (not #309)
-#125 := (<= #40 0::Int)
-#305 := (or #125 #129)
-#306 := (not #305)
-#313 := (or #306 #310)
-#367 := (if #313 #364 #366)
-#361 := (= #61 0::Int)
+#342 := (* -1::Int #62)
+#343 := (+ #61 #342)
+#344 := (= #343 0::Int)
+#182 := (<= #29 0::Int)
+#189 := (>= #40 0::Int)
+#289 := (or #189 #182)
+#290 := (not #289)
+#178 := (<= #40 0::Int)
+#287 := (or #178 #182)
+#288 := (not #287)
+#293 := (or #288 #290)
+#347 := (if #293 #344 #346)
+#341 := (= #61 0::Int)
 #43 := (= #40 0::Int)
-#368 := (if #43 #361 #367)
-#360 := (= #61 #40)
+#348 := (if #43 #341 #347)
+#340 := (= #61 #40)
 #44 := (= #29 0::Int)
-#369 := (if #44 #360 #368)
-#817 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #816) #369)
-#372 := (forall (vars (?v0 Int) (?v1 Int)) #369)
-#820 := (iff #372 #817)
-#818 := (iff #369 #369)
-#819 := [refl]: #818
-#821 := [quant-intro #819]: #820
-#180 := (* -1::Int #174)
-#329 := (if #313 #62 #180)
-#332 := (if #43 0::Int #329)
-#335 := (if #44 #40 #332)
-#338 := (= #61 #335)
-#341 := (forall (vars (?v0 Int) (?v1 Int)) #338)
-#373 := (iff #341 #372)
-#370 := (iff #338 #369)
-#371 := [rewrite]: #370
-#374 := [quant-intro #371]: #373
-#130 := (not #129)
-#244 := (not #241)
-#247 := (and #244 #130)
-#126 := (not #125)
-#133 := (and #126 #130)
-#250 := (or #133 #247)
-#266 := (if #250 #62 #180)
-#269 := (if #43 0::Int #266)
-#272 := (if #44 #40 #269)
-#275 := (= #61 #272)
-#278 := (forall (vars (?v0 Int) (?v1 Int)) #275)
-#342 := (iff #278 #341)
-#339 := (iff #275 #338)
-#336 := (= #272 #335)
-#333 := (= #269 #332)
-#330 := (= #266 #329)
-#314 := (iff #250 #313)
-#311 := (iff #247 #310)
-#312 := [rewrite]: #311
-#307 := (iff #133 #306)
-#308 := [rewrite]: #307
-#315 := [monotonicity #308 #312]: #314
-#331 := [monotonicity #315]: #330
-#334 := [monotonicity #331]: #333
-#337 := [monotonicity #334]: #336
-#340 := [monotonicity #337]: #339
-#343 := [quant-intro #340]: #342
-#302 := (~ #278 #278)
-#300 := (~ #275 #275)
-#301 := [refl]: #300
-#303 := [nnf-pos #301]: #302
-#136 := (<= 0::Int #40)
-#137 := (not #136)
-#145 := (and #137 #130)
-#148 := (or #133 #145)
-#185 := (if #148 #62 #180)
-#188 := (if #43 0::Int #185)
-#191 := (if #44 #40 #188)
-#194 := (= #61 #191)
-#197 := (forall (vars (?v0 Int) (?v1 Int)) #194)
-#279 := (iff #197 #278)
-#276 := (iff #194 #275)
-#273 := (= #191 #272)
-#270 := (= #188 #269)
-#267 := (= #185 #266)
-#251 := (iff #148 #250)
-#248 := (iff #145 #247)
-#245 := (iff #137 #244)
-#242 := (iff #136 #241)
-#243 := [rewrite]: #242
-#246 := [monotonicity #243]: #245
-#249 := [monotonicity #246]: #248
-#252 := [monotonicity #249]: #251
-#268 := [monotonicity #252]: #267
-#271 := [monotonicity #268]: #270
-#274 := [monotonicity #271]: #273
-#277 := [monotonicity #274]: #276
-#280 := [quant-intro #277]: #279
+#349 := (if #44 #340 #348)
+#858 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #857) #349)
+#352 := (forall (vars (?v0 Int) (?v1 Int)) #349)
+#861 := (iff #352 #858)
+#859 := (iff #349 #349)
+#860 := [refl]: #859
+#862 := [quant-intro #860]: #861
+#221 := (* -1::Int #215)
+#309 := (if #293 #62 #221)
+#312 := (if #43 0::Int #309)
+#315 := (if #44 #40 #312)
+#318 := (= #61 #315)
+#321 := (forall (vars (?v0 Int) (?v1 Int)) #318)
+#353 := (iff #321 #352)
+#350 := (iff #318 #349)
+#351 := [rewrite]: #350
+#354 := [quant-intro #351]: #353
+#183 := (not #182)
+#190 := (not #189)
+#193 := (and #190 #183)
+#179 := (not #178)
+#186 := (and #179 #183)
+#196 := (or #186 #193)
+#241 := (if #196 #62 #221)
+#244 := (if #43 0::Int #241)
+#247 := (if #44 #40 #244)
+#250 := (= #61 #247)
+#253 := (forall (vars (?v0 Int) (?v1 Int)) #250)
+#322 := (iff #253 #321)
+#319 := (iff #250 #318)
+#316 := (= #247 #315)
+#313 := (= #244 #312)
+#310 := (= #241 #309)
+#294 := (iff #196 #293)
+#291 := (iff #193 #290)
+#292 := [rewrite]: #291
+#272 := (iff #186 #288)
+#273 := [rewrite]: #272
+#295 := [monotonicity #273 #292]: #294
+#311 := [monotonicity #295]: #310
+#314 := [monotonicity #311]: #313
+#317 := [monotonicity #314]: #316
+#320 := [monotonicity #317]: #319
+#323 := [quant-intro #320]: #322
+#270 := (~ #253 #253)
+#284 := (~ #250 #250)
+#285 := [refl]: #284
+#271 := [nnf-pos #285]: #270
 #54 := (- #29)
 #53 := (- #40)
 #63 := (mod #53 #54)
@@ -20497,589 +19069,599 @@
 #67 := (if #44 #40 #66)
 #68 := (= #61 #67)
 #69 := (forall (vars (?v0 Int) (?v1 Int)) #68)
-#198 := (iff #69 #197)
-#195 := (iff #68 #194)
-#192 := (= #67 #191)
-#189 := (= #66 #188)
-#186 := (= #65 #185)
-#183 := (= #64 #180)
-#177 := (- #174)
-#181 := (= #177 #180)
-#182 := [rewrite]: #181
-#178 := (= #64 #177)
-#175 := (= #63 #174)
-#156 := (= #54 #155)
-#157 := [rewrite]: #156
-#153 := (= #53 #152)
-#154 := [rewrite]: #153
-#176 := [monotonicity #154 #157]: #175
-#179 := [monotonicity #176]: #178
-#184 := [trans #179 #182]: #183
-#149 := (iff #51 #148)
-#146 := (iff #50 #145)
-#131 := (iff #47 #130)
-#132 := [rewrite]: #131
-#138 := (iff #49 #137)
-#142 := (iff #137 #137)
-#140 := (iff #136 #136)
-#141 := [rewrite]: #140
-#143 := [monotonicity #141]: #142
-#139 := [rewrite]: #138
-#144 := [trans #139 #143]: #138
-#147 := [monotonicity #144 #132]: #146
-#134 := (iff #48 #133)
-#127 := (iff #46 #126)
-#128 := [rewrite]: #127
-#135 := [monotonicity #128 #132]: #134
-#150 := [monotonicity #135 #147]: #149
-#187 := [monotonicity #150 #184]: #186
-#190 := [monotonicity #187]: #189
-#193 := [monotonicity #190]: #192
-#196 := [monotonicity #193]: #195
-#199 := [quant-intro #196]: #198
-#76 := [asserted]: #69
-#200 := [mp #76 #199]: #197
-#281 := [mp #200 #280]: #278
-#304 := [mp~ #281 #303]: #278
-#344 := [mp #304 #343]: #341
-#375 := [mp #344 #374]: #372
-#822 := [mp #375 #821]: #817
-#609 := (not #817)
-#616 := (or #609 #648)
-#481 := (* -1::Int 1::Int)
-#675 := (mod #759 #481)
-#686 := (+ #18 #675)
-#664 := (= #686 0::Int)
-#706 := (mod #11 1::Int)
-#683 := (* -1::Int #706)
-#684 := (+ #18 #683)
-#685 := (= #684 0::Int)
-#775 := (<= 1::Int 0::Int)
-#763 := (or #762 #775)
-#485 := (not #763)
-#773 := (or #415 #775)
-#776 := (not #773)
-#486 := (or #776 #485)
-#665 := (if #486 #685 #664)
-#667 := (if #429 #682 #665)
-#681 := (= #18 #11)
-#430 := (= 1::Int 0::Int)
-#668 := (if #430 #681 #667)
-#575 := (or #609 #668)
-#608 := (iff #575 #616)
-#617 := (iff #616 #616)
-#619 := [rewrite]: #617
-#635 := (iff #668 #648)
-#579 := (if false #681 #648)
-#639 := (iff #579 #648)
-#640 := [rewrite]: #639
-#634 := (iff #668 #579)
-#653 := (iff #667 #648)
-#651 := (iff #665 #650)
-#646 := (iff #664 #645)
-#644 := (= #686 #643)
-#531 := (= #675 #709)
-#572 := (= #481 -1::Int)
-#725 := [rewrite]: #572
-#642 := [monotonicity #725]: #531
-#649 := [monotonicity #642]: #644
-#647 := [monotonicity #649]: #646
-#637 := (iff #685 #682)
-#663 := (= #684 #18)
-#659 := (+ #18 0::Int)
-#662 := (= #659 #18)
-#657 := [rewrite]: #662
-#660 := (= #684 #659)
-#655 := (= #683 0::Int)
-#671 := (* -1::Int 0::Int)
-#658 := (= #671 0::Int)
-#654 := [rewrite]: #658
-#666 := (= #683 #671)
-#669 := (= #706 0::Int)
-#670 := [rewrite]: #669
-#672 := [monotonicity #670]: #666
-#656 := [trans #672 #654]: #655
-#661 := [monotonicity #656]: #660
-#636 := [trans #661 #657]: #663
-#638 := [monotonicity #636]: #637
-#569 := (iff #486 #740)
-#739 := (iff #485 #738)
-#731 := (iff #763 #762)
-#592 := (or #762 false)
-#736 := (iff #592 #762)
-#737 := [rewrite]: #736
-#734 := (iff #763 #592)
-#755 := (iff #775 false)
-#744 := [rewrite]: #755
-#735 := [monotonicity #744]: #734
-#732 := [trans #735 #737]: #731
-#733 := [monotonicity #732]: #739
-#590 := (iff #776 #749)
-#748 := (iff #773 #415)
-#745 := (or #415 false)
-#742 := (iff #745 #415)
-#747 := [rewrite]: #742
-#746 := (iff #773 #745)
-#741 := [monotonicity #744]: #746
-#743 := [trans #741 #747]: #748
-#591 := [monotonicity #743]: #590
-#571 := [monotonicity #591 #733]: #569
-#652 := [monotonicity #571 #638 #647]: #651
-#633 := [monotonicity #652]: #653
-#472 := (iff #430 false)
-#473 := [rewrite]: #472
-#615 := [monotonicity #473 #633]: #634
-#641 := [trans #615 #640]: #635
-#610 := [monotonicity #641]: #608
-#620 := [trans #610 #619]: #608
-#606 := [quant-inst #11 #13]: #575
-#621 := [mp #606 #620]: #616
-#434 := [unit-resolution #621 #822]: #648
-#603 := (not #648)
-#604 := (or #603 #692 #682)
-#589 := [def-axiom]: #604
-#543 := [unit-resolution #589 #434]: #538
-#546 := [unit-resolution #543 #539]: #682
-#597 := (not #682)
-#419 := (or #597 #611)
-#422 := [th-lemma arith triangle-eq]: #419
-#525 := [unit-resolution #422 #546]: #611
-#705 := (>= #14 0::Int)
-#487 := (div #11 1::Int)
-#488 := (* -1::Int #487)
-#549 := (+ #11 #488)
-#548 := (= #549 0::Int)
-#1 := true
-#218 := [true-axiom]: true
-#512 := (or false #548)
-#524 := [th-lemma arith]: #512
-#501 := [unit-resolution #524 #218]: #548
-#532 := (<= #549 0::Int)
-#441 := (not #532)
-#503 := (not #705)
-#504 := [hypothesis]: #503
-#382 := (+ #14 #488)
-#708 := (>= #382 0::Int)
-#758 := (= #382 0::Int)
-#726 := (div #759 -1::Int)
-#727 := (* -1::Int #726)
-#613 := (+ #14 #727)
-#721 := (= #613 0::Int)
-#719 := (if #740 #758 #721)
-#414 := (= #14 0::Int)
-#676 := (not #414)
-#505 := (or #676 #705)
-#506 := [th-lemma arith triangle-eq]: #505
-#507 := [unit-resolution #506 #504]: #676
-#509 := (or #692 #414)
-#622 := (if #429 #414 #719)
+#256 := (iff #69 #253)
+#226 := (if #51 #62 #221)
+#229 := (if #43 0::Int #226)
+#232 := (if #44 #40 #229)
+#235 := (= #61 #232)
+#238 := (forall (vars (?v0 Int) (?v1 Int)) #235)
+#254 := (iff #238 #253)
+#251 := (iff #235 #250)
+#248 := (= #232 #247)
+#245 := (= #229 #244)
+#242 := (= #226 #241)
+#197 := (iff #51 #196)
+#194 := (iff #50 #193)
+#184 := (iff #47 #183)
+#185 := [rewrite]: #184
+#191 := (iff #49 #190)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192 #185]: #194
+#187 := (iff #48 #186)
+#180 := (iff #46 #179)
+#181 := [rewrite]: #180
+#188 := [monotonicity #181 #185]: #187
+#198 := [monotonicity #188 #195]: #197
+#243 := [monotonicity #198]: #242
+#246 := [monotonicity #243]: #245
+#249 := [monotonicity #246]: #248
+#252 := [monotonicity #249]: #251
+#255 := [quant-intro #252]: #254
+#239 := (iff #69 #238)
+#236 := (iff #68 #235)
+#233 := (= #67 #232)
+#230 := (= #66 #229)
+#227 := (= #65 #226)
+#224 := (= #64 #221)
+#218 := (- #215)
+#222 := (= #218 #221)
+#223 := [rewrite]: #222
+#219 := (= #64 #218)
+#216 := (= #63 #215)
+#161 := (= #54 #160)
+#162 := [rewrite]: #161
+#158 := (= #53 #157)
+#159 := [rewrite]: #158
+#217 := [monotonicity #159 #162]: #216
+#220 := [monotonicity #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [monotonicity #234]: #236
+#240 := [quant-intro #237]: #239
+#257 := [trans #240 #255]: #256
+#214 := [asserted]: #69
+#258 := [mp #214 #257]: #253
+#286 := [mp~ #258 #271]: #253
+#324 := [mp #286 #323]: #321
+#355 := [mp #324 #354]: #352
+#863 := [mp #355 #862]: #858
+#657 := (not #858)
+#616 := (or #657 #694)
+#523 := (* -1::Int 1::Int)
+#727 := (mod #522 #523)
+#705 := (+ #18 #727)
+#706 := (= #705 0::Int)
+#748 := (mod #11 1::Int)
+#725 := (* -1::Int #748)
+#726 := (+ #18 #725)
+#716 := (= #726 0::Int)
+#814 := (<= 1::Int 0::Int)
+#526 := (or #804 #814)
+#527 := (not #526)
+#817 := (or #816 #814)
+#803 := (not #817)
+#528 := (or #803 #527)
+#708 := (if #528 #716 #706)
+#709 := (if #471 #724 #708)
+#723 := (= #18 #11)
+#807 := (= 1::Int 0::Int)
+#710 := (if #807 #723 #709)
+#647 := (or #657 #710)
+#651 := (iff #647 #616)
+#660 := (iff #616 #616)
+#661 := [rewrite]: #660
+#682 := (iff #710 #694)
+#675 := (if false #723 #694)
+#681 := (iff #675 #694)
+#676 := [rewrite]: #681
+#656 := (iff #710 #675)
+#674 := (iff #709 #694)
+#693 := (iff #708 #692)
+#688 := (iff #706 #687)
+#690 := (= #705 #685)
+#683 := (= #727 #744)
+#766 := (= #523 -1::Int)
+#767 := [rewrite]: #766
+#684 := [monotonicity #767]: #683
+#686 := [monotonicity #684]: #690
+#691 := [monotonicity #686]: #688
+#679 := (iff #716 #724)
+#677 := (= #726 #18)
+#701 := (+ #18 0::Int)
+#698 := (= #701 #18)
+#704 := [rewrite]: #698
+#702 := (= #726 #701)
+#697 := (= #725 0::Int)
+#707 := (* -1::Int 0::Int)
+#695 := (= #707 0::Int)
+#696 := [rewrite]: #695
+#713 := (= #725 #707)
+#711 := (= #748 0::Int)
+#712 := [rewrite]: #711
+#699 := [monotonicity #712]: #713
+#700 := [trans #699 #696]: #697
+#703 := [monotonicity #700]: #702
+#678 := [trans #703 #704]: #677
+#572 := [monotonicity #678]: #679
+#612 := (iff #528 #610)
+#774 := (iff #527 #780)
+#773 := (iff #526 #804)
+#775 := (or #804 false)
+#778 := (iff #775 #804)
+#772 := [rewrite]: #778
+#776 := (iff #526 #775)
+#785 := (iff #814 false)
+#786 := [rewrite]: #785
+#777 := [monotonicity #786]: #776
+#779 := [trans #777 #772]: #773
+#781 := [monotonicity #779]: #774
+#632 := (iff #803 #631)
+#784 := (iff #817 #816)
+#787 := (or #816 false)
+#788 := (iff #787 #816)
+#789 := [rewrite]: #788
+#782 := (iff #817 #787)
+#783 := [monotonicity #786]: #782
+#790 := [trans #783 #789]: #784
+#633 := [monotonicity #790]: #632
+#613 := [monotonicity #633 #781]: #612
+#689 := [monotonicity #613 #572 #691]: #693
+#620 := [monotonicity #689]: #674
+#514 := (iff #807 false)
+#515 := [rewrite]: #514
+#680 := [monotonicity #515 #620]: #656
+#650 := [trans #680 #676]: #682
+#658 := [monotonicity #650]: #651
+#662 := [trans #658 #661]: #651
+#649 := [quant-inst #11 #13]: #647
+#672 := [mp #649 #662]: #616
+#476 := [unit-resolution #672 #863]: #694
+#645 := (not #694)
+#630 := (or #645 #730 #724)
+#646 := [def-axiom]: #630
+#910 := [unit-resolution #646 #476]: #907
+#881 := [unit-resolution #910 #906]: #724
+#639 := (not #724)
+#463 := (or #639 #673)
+#451 := [th-lemma arith triangle-eq]: #463
+#882 := [unit-resolution #451 #881]: #673
+#743 := (>= #14 0::Int)
+#529 := (div #11 1::Int)
+#423 := (* -1::Int #529)
+#586 := (+ #11 #423)
+#590 := (= #586 0::Int)
+#1 := true
+#87 := [true-axiom]: true
+#565 := (or false #590)
+#542 := [th-lemma arith]: #565
+#544 := [unit-resolution #542 #87]: #590
+#574 := (<= #586 0::Int)
+#495 := (not #574)
+#545 := (not #743)
+#546 := [hypothesis]: #545
+#799 := (+ #14 #423)
+#750 := (>= #799 0::Int)
+#800 := (= #799 0::Int)
+#769 := (div #522 -1::Int)
+#771 := (* -1::Int #769)
+#655 := (+ #14 #771)
+#664 := (= #655 0::Int)
+#763 := (if #610 #800 #664)
+#456 := (= #14 0::Int)
+#718 := (not #456)
+#547 := (or #718 #743)
+#548 := [th-lemma arith triangle-eq]: #547
+#549 := [unit-resolution #548 #546]: #718
+#543 := (or #730 #456)
+#665 := (if #471 #456 #763)
 #41 := (f7 f8 #40)
 #42 := (f6 #41 #29)
-#809 := (pattern #42)
-#158 := (div #152 #155)
-#349 := (* -1::Int #158)
-#350 := (+ #42 #349)
-#351 := (= #350 0::Int)
+#850 := (pattern #42)
+#163 := (div #157 #160)
+#329 := (* -1::Int #163)
+#330 := (+ #42 #329)
+#331 := (= #330 0::Int)
 #52 := (div #40 #29)
-#346 := (* -1::Int #52)
-#347 := (+ #42 #346)
-#348 := (= #347 0::Int)
-#352 := (if #313 #348 #351)
-#345 := (= #42 0::Int)
+#326 := (* -1::Int #52)
+#327 := (+ #42 #326)
+#328 := (= #327 0::Int)
+#332 := (if #293 #328 #331)
+#325 := (= #42 0::Int)
 #45 := (or #43 #44)
-#353 := (if #45 #345 #352)
-#810 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #809) #353)
-#356 := (forall (vars (?v0 Int) (?v1 Int)) #353)
-#813 := (iff #356 #810)
-#811 := (iff #353 #353)
-#812 := [refl]: #811
-#814 := [quant-intro #812]: #813
-#316 := (if #313 #52 #158)
-#319 := (if #45 0::Int #316)
-#322 := (= #42 #319)
-#325 := (forall (vars (?v0 Int) (?v1 Int)) #322)
-#357 := (iff #325 #356)
-#354 := (iff #322 #353)
-#355 := [rewrite]: #354
-#358 := [quant-intro #355]: #357
-#253 := (if #250 #52 #158)
-#256 := (if #45 0::Int #253)
-#259 := (= #42 #256)
-#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
-#326 := (iff #262 #325)
-#323 := (iff #259 #322)
-#320 := (= #256 #319)
-#317 := (= #253 #316)
-#318 := [monotonicity #315]: #317
-#321 := [monotonicity #318]: #320
-#324 := [monotonicity #321]: #323
-#327 := [quant-intro #324]: #326
-#297 := (~ #262 #262)
-#295 := (~ #259 #259)
-#296 := [refl]: #295
-#298 := [nnf-pos #296]: #297
-#161 := (if #148 #52 #158)
-#164 := (if #45 0::Int #161)
-#167 := (= #42 #164)
-#170 := (forall (vars (?v0 Int) (?v1 Int)) #167)
-#263 := (iff #170 #262)
-#260 := (iff #167 #259)
-#257 := (= #164 #256)
-#254 := (= #161 #253)
-#255 := [monotonicity #252]: #254
-#258 := [monotonicity #255]: #257
-#261 := [monotonicity #258]: #260
-#264 := [quant-intro #261]: #263
+#333 := (if #45 #325 #332)
+#851 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #850) #333)
+#336 := (forall (vars (?v0 Int) (?v1 Int)) #333)
+#854 := (iff #336 #851)
+#852 := (iff #333 #333)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#296 := (if #293 #52 #163)
+#299 := (if #45 0::Int #296)
+#302 := (= #42 #299)
+#305 := (forall (vars (?v0 Int) (?v1 Int)) #302)
+#337 := (iff #305 #336)
+#334 := (iff #302 #333)
+#335 := [rewrite]: #334
+#338 := [quant-intro #335]: #337
+#199 := (if #196 #52 #163)
+#202 := (if #45 0::Int #199)
+#205 := (= #42 #202)
+#208 := (forall (vars (?v0 Int) (?v1 Int)) #205)
+#306 := (iff #208 #305)
+#303 := (iff #205 #302)
+#300 := (= #202 #299)
+#297 := (= #199 #296)
+#298 := [monotonicity #295]: #297
+#301 := [monotonicity #298]: #300
+#304 := [monotonicity #301]: #303
+#307 := [quant-intro #304]: #306
+#268 := (~ #208 #208)
+#281 := (~ #205 #205)
+#282 := [refl]: #281
+#269 := [nnf-pos #282]: #268
 #55 := (div #53 #54)
 #56 := (if #51 #52 #55)
 #57 := (if #45 0::Int #56)
 #58 := (= #42 #57)
 #59 := (forall (vars (?v0 Int) (?v1 Int)) #58)
-#171 := (iff #59 #170)
-#168 := (iff #58 #167)
-#165 := (= #57 #164)
-#162 := (= #56 #161)
-#159 := (= #55 #158)
-#160 := [monotonicity #154 #157]: #159
-#163 := [monotonicity #150 #160]: #162
-#166 := [monotonicity #163]: #165
-#169 := [monotonicity #166]: #168
-#172 := [quant-intro #169]: #171
-#75 := [asserted]: #59
-#173 := [mp #75 #172]: #170
-#265 := [mp #173 #264]: #262
-#299 := [mp~ #265 #298]: #262
-#328 := [mp #299 #327]: #325
-#359 := [mp #328 #358]: #356
-#815 := [mp #359 #814]: #810
-#618 := (not #810)
-#626 := (or #618 #622)
-#482 := (div #759 #481)
-#756 := (* -1::Int #482)
-#760 := (+ #14 #756)
-#757 := (= #760 0::Int)
-#761 := (if #486 #758 #757)
-#774 := (or #429 #430)
-#471 := (if #774 #414 #761)
-#627 := (or #618 #471)
-#629 := (iff #627 #626)
-#723 := (iff #626 #626)
-#720 := [rewrite]: #723
-#624 := (iff #471 #622)
-#722 := (iff #761 #719)
-#623 := (iff #757 #721)
-#614 := (= #760 #613)
-#730 := (= #756 #727)
-#728 := (= #482 #726)
-#729 := [monotonicity #725]: #728
-#612 := [monotonicity #729]: #730
-#573 := [monotonicity #612]: #614
-#718 := [monotonicity #573]: #623
-#607 := [monotonicity #571 #718]: #722
-#754 := (iff #774 #429)
-#474 := (or #429 false)
-#468 := (iff #474 #429)
-#750 := [rewrite]: #468
-#752 := (iff #774 #474)
-#753 := [monotonicity #473]: #752
-#751 := [trans #753 #750]: #754
-#625 := [monotonicity #751 #607]: #624
-#630 := [monotonicity #625]: #629
-#724 := [trans #630 #720]: #629
-#628 := [quant-inst #11 #13]: #627
-#711 := [mp #628 #724]: #626
-#508 := [unit-resolution #711 #815]: #622
-#691 := (not #622)
-#689 := (or #691 #692 #414)
-#693 := [def-axiom]: #689
-#502 := [unit-resolution #693 #508]: #509
-#510 := [unit-resolution #502 #507]: #692
-#495 := (or #429 #719)
-#673 := (or #691 #429 #719)
-#674 := [def-axiom]: #673
-#496 := [unit-resolution #674 #508]: #495
-#497 := [unit-resolution #496 #510]: #719
-#578 := (f9 f10 #376)
-#580 := (= #578 0::Int)
-#492 := (not #580)
-#493 := (iff #692 #492)
-#491 := (iff #429 #580)
-#489 := (iff #580 #429)
-#498 := (= #578 #11)
-#460 := (= #376 f3)
-#464 := (or #453 #460)
-#465 := [quant-inst #7]: #464
-#499 := [unit-resolution #465 #795]: #460
-#500 := [monotonicity #499]: #498
-#490 := [monotonicity #500]: #489
-#483 := [symm #490]: #491
-#484 := [monotonicity #483]: #493
-#494 := [mp #510 #484]: #492
-#581 := (or #762 #580)
+#211 := (iff #59 #208)
+#166 := (if #51 #52 #163)
+#169 := (if #45 0::Int #166)
+#172 := (= #42 #169)
+#175 := (forall (vars (?v0 Int) (?v1 Int)) #172)
+#209 := (iff #175 #208)
+#206 := (iff #172 #205)
+#203 := (= #169 #202)
+#200 := (= #166 #199)
+#201 := [monotonicity #198]: #200
+#204 := [monotonicity #201]: #203
+#207 := [monotonicity #204]: #206
+#210 := [quant-intro #207]: #209
+#176 := (iff #59 #175)
+#173 := (iff #58 #172)
+#170 := (= #57 #169)
+#167 := (= #56 #166)
+#164 := (= #55 #163)
+#165 := [monotonicity #159 #162]: #164
+#168 := [monotonicity #165]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [quant-intro #174]: #176
+#212 := [trans #177 #210]: #211
+#155 := [asserted]: #59
+#213 := [mp #155 #212]: #208
+#283 := [mp~ #213 #269]: #208
+#308 := [mp #283 #307]: #305
+#339 := [mp #308 #338]: #336
+#856 := [mp #339 #855]: #851
+#667 := (not #851)
+#668 := (or #667 #665)
+#797 := (div #522 #523)
+#801 := (* -1::Int #797)
+#798 := (+ #14 #801)
+#802 := (= #798 0::Int)
+#512 := (if #528 #800 #802)
+#455 := (or #471 #807)
+#513 := (if #455 #456 #512)
+#669 := (or #667 #513)
+#671 := (iff #669 #668)
+#761 := (iff #668 #668)
+#765 := [rewrite]: #761
+#666 := (iff #513 #665)
+#648 := (iff #512 #763)
+#759 := (iff #802 #664)
+#614 := (= #798 #655)
+#653 := (= #801 #771)
+#770 := (= #797 #769)
+#768 := [monotonicity #767]: #770
+#654 := [monotonicity #768]: #653
+#762 := [monotonicity #654]: #614
+#760 := [monotonicity #762]: #759
+#663 := [monotonicity #613 #760]: #648
+#792 := (iff #455 #471)
+#793 := (or #471 false)
+#791 := (iff #793 #471)
+#795 := [rewrite]: #791
+#794 := (iff #455 #793)
+#509 := [monotonicity #515]: #794
+#796 := [trans #509 #795]: #792
+#659 := [monotonicity #796 #663]: #666
+#764 := [monotonicity #659]: #671
+#752 := [trans #764 #765]: #671
+#670 := [quant-inst #11 #13]: #669
+#754 := [mp #670 #752]: #668
+#550 := [unit-resolution #754 #856]: #665
+#733 := (not #665)
+#734 := (or #733 #730 #456)
+#714 := [def-axiom]: #734
+#551 := [unit-resolution #714 #550]: #543
+#536 := [unit-resolution #551 #549]: #730
+#537 := (or #471 #763)
+#715 := (or #733 #471 #763)
+#717 := [def-axiom]: #715
+#538 := [unit-resolution #717 #550]: #537
+#540 := [unit-resolution #538 #536]: #763
+#621 := (f9 f10 #417)
+#622 := (= #621 0::Int)
+#534 := (not #622)
+#525 := (iff #730 #534)
+#524 := (iff #471 #622)
+#531 := (iff #622 #471)
+#541 := (= #621 #11)
+#501 := (= #417 f3)
+#505 := (or #494 #501)
+#506 := [quant-inst #7]: #505
+#539 := [unit-resolution #506 #836]: #501
+#530 := [monotonicity #539]: #541
+#532 := [monotonicity #530]: #531
+#533 := [symm #532]: #524
+#535 := [monotonicity #533]: #525
+#516 := [mp #536 #535]: #534
+#623 := (or #804 #622)
 #31 := (f4 f5 #29)
-#796 := (pattern #31)
+#837 := (pattern #31)
 #32 := (f9 f10 #31)
 #37 := (= #32 0::Int)
-#221 := (>= #29 0::Int)
-#234 := (or #221 #37)
-#803 := (forall (vars (?v0 Int)) (:pat #796) #234)
-#237 := (forall (vars (?v0 Int)) #234)
-#806 := (iff #237 #803)
-#804 := (iff #234 #234)
-#805 := [refl]: #804
-#807 := [quant-intro #805]: #806
-#288 := (~ #237 #237)
-#286 := (~ #234 #234)
-#287 := [refl]: #286
-#289 := [nnf-pos #287]: #288
-#30 := (<= 0::Int #29)
-#116 := (or #30 #37)
-#121 := (forall (vars (?v0 Int)) #116)
-#238 := (iff #121 #237)
-#235 := (iff #116 #234)
-#222 := (iff #30 #221)
-#223 := [rewrite]: #222
-#236 := [monotonicity #223]: #235
-#239 := [quant-intro #236]: #238
+#116 := (>= #29 0::Int)
+#146 := (or #116 #37)
+#844 := (forall (vars (?v0 Int)) (:pat #837) #146)
+#149 := (forall (vars (?v0 Int)) #146)
+#847 := (iff #149 #844)
+#845 := (iff #146 #146)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#266 := (~ #149 #149)
+#278 := (~ #146 #146)
+#279 := [refl]: #278
+#267 := [nnf-pos #279]: #266
 #36 := (< #29 0::Int)
 #38 := (implies #36 #37)
 #39 := (forall (vars (?v0 Int)) #38)
-#122 := (iff #39 #121)
-#119 := (iff #38 #116)
-#99 := (not #30)
-#113 := (implies #99 #37)
-#117 := (iff #113 #116)
-#118 := [rewrite]: #117
-#114 := (iff #38 #113)
-#108 := (iff #36 #99)
-#110 := (iff #99 #99)
-#95 := (iff #30 #30)
-#96 := [rewrite]: #95
-#111 := [monotonicity #96]: #110
-#109 := [rewrite]: #108
-#112 := [trans #109 #111]: #108
-#115 := [monotonicity #112]: #114
-#120 := [trans #115 #118]: #119
-#123 := [quant-intro #120]: #122
-#74 := [asserted]: #39
-#124 := [mp #74 #123]: #121
-#240 := [mp #124 #239]: #237
-#294 := [mp~ #240 #289]: #237
-#808 := [mp #294 #807]: #803
-#766 := (not #803)
-#584 := (or #766 #762 #580)
-#585 := (or #766 #581)
-#586 := (iff #585 #584)
-#556 := [rewrite]: #586
-#568 := [quant-inst #11]: #585
-#557 := [mp #568 #556]: #584
-#475 := [unit-resolution #557 #808]: #581
-#476 := [unit-resolution #475 #494]: #762
-#477 := (or #429 #749 #738)
-#469 := [th-lemma arith triangle-eq]: #477
-#478 := [unit-resolution #469 #510]: #740
-#479 := [unit-resolution #478 #476]: #749
-#702 := (or #740 #415)
-#704 := [def-axiom]: #702
-#470 := [unit-resolution #704 #479]: #740
-#694 := (not #719)
-#695 := (or #694 #716 #758)
-#697 := [def-axiom]: #695
-#480 := [unit-resolution #697 #470 #497]: #758
-#700 := (not #758)
-#447 := (or #700 #708)
-#449 := [th-lemma arith triangle-eq]: #447
-#450 := [unit-resolution #449 #480]: #708
-#454 := (not #708)
-#455 := (or #441 #738 #705 #454)
-#456 := [th-lemma arith assign-bounds 1 1 -1]: #455
-#457 := [unit-resolution #456 #476 #450 #504]: #441
-#458 := (not #548)
-#448 := (or #458 #532)
-#459 := [th-lemma arith triangle-eq]: #448
-#442 := [unit-resolution #459 #457 #501]: false
-#444 := [lemma #442]: #705
-#440 := (* -1::Int #466)
-#570 := (+ #14 #18 #440)
-#423 := (<= #570 0::Int)
-#783 := (= #570 0::Int)
-#461 := (>= #82 0::Int)
-#545 := (not #611)
-#550 := (or #461 #503 #545)
-#540 := [th-lemma arith assign-bounds 1 -1]: #550
-#530 := [unit-resolution #540 #525 #444]: #461
-#462 := (not #461)
-#777 := (or #462 #783)
+#152 := (iff #39 #149)
+#130 := (not #36)
+#131 := (or #130 #37)
+#134 := (forall (vars (?v0 Int)) #131)
+#150 := (iff #134 #149)
+#147 := (iff #131 #146)
+#144 := (iff #130 #116)
+#117 := (not #116)
+#139 := (not #117)
+#142 := (iff #139 #116)
+#143 := [rewrite]: #142
+#140 := (iff #130 #139)
+#137 := (iff #36 #117)
+#138 := [rewrite]: #137
+#141 := [monotonicity #138]: #140
+#145 := [trans #141 #143]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#135 := (iff #39 #134)
+#132 := (iff #38 #131)
+#133 := [rewrite]: #132
+#136 := [quant-intro #133]: #135
+#153 := [trans #136 #151]: #152
+#129 := [asserted]: #39
+#154 := [mp #129 #153]: #149
+#280 := [mp~ #154 #267]: #149
+#849 := [mp #280 #848]: #844
+#808 := (not #844)
+#626 := (or #808 #804 #622)
+#609 := (or #808 #623)
+#597 := (iff #609 #626)
+#598 := [rewrite]: #597
+#627 := [quant-inst #11]: #609
+#599 := [mp #627 #598]: #626
+#517 := [unit-resolution #599 #849]: #623
+#518 := [unit-resolution #517 #516]: #804
+#510 := (or #471 #631 #780)
+#519 := [th-lemma arith triangle-eq]: #510
+#520 := [unit-resolution #519 #536]: #610
+#511 := [unit-resolution #520 #518]: #631
+#745 := (or #610 #816)
+#755 := [def-axiom]: #745
+#521 := [unit-resolution #755 #511]: #610
+#736 := (not #763)
+#738 := (or #736 #753 #800)
+#739 := [def-axiom]: #738
+#488 := [unit-resolution #739 #521 #540]: #800
+#737 := (not #800)
+#490 := (or #737 #750)
+#491 := [th-lemma arith triangle-eq]: #490
+#482 := [unit-resolution #491 #488]: #750
+#496 := (not #750)
+#497 := (or #495 #780 #743 #496)
+#498 := [th-lemma arith assign-bounds 1 1 -1]: #497
+#499 := [unit-resolution #498 #518 #482 #546]: #495
+#489 := (not #590)
+#500 := (or #489 #574)
+#483 := [th-lemma arith triangle-eq]: #500
+#485 := [unit-resolution #483 #499 #544]: false
+#486 := [lemma #485]: #743
+#611 := (* -1::Int #507)
+#818 := (+ #18 #611)
+#492 := (+ #14 #818)
+#805 := (<= #492 0::Int)
+#824 := (= #492 0::Int)
+#502 := (>= #92 0::Int)
+#915 := (not #673)
+#916 := (or #502 #545 #915)
+#917 := [th-lemma arith assign-bounds 1 -1]: #916
+#918 := [unit-resolution #917 #882 #486]: #502
+#503 := (not #502)
+#481 := (or #503 #824)
 #33 := (= #32 #29)
-#224 := (not #221)
-#227 := (or #224 #33)
-#797 := (forall (vars (?v0 Int)) (:pat #796) #227)
-#230 := (forall (vars (?v0 Int)) #227)
-#800 := (iff #230 #797)
-#798 := (iff #227 #227)
-#799 := [refl]: #798
-#801 := [quant-intro #799]: #800
-#291 := (~ #230 #230)
-#285 := (~ #227 #227)
-#290 := [refl]: #285
-#292 := [nnf-pos #290]: #291
-#100 := (or #99 #33)
-#104 := (forall (vars (?v0 Int)) #100)
-#231 := (iff #104 #230)
-#228 := (iff #100 #227)
-#225 := (iff #99 #224)
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [quant-intro #229]: #231
+#120 := (or #117 #33)
+#838 := (forall (vars (?v0 Int)) (:pat #837) #120)
+#123 := (forall (vars (?v0 Int)) #120)
+#841 := (iff #123 #838)
+#839 := (iff #120 #120)
+#840 := [refl]: #839
+#842 := [quant-intro #840]: #841
+#264 := (~ #123 #123)
+#263 := (~ #120 #120)
+#260 := [refl]: #263
+#265 := [nnf-pos #260]: #264
+#30 := (<= 0::Int #29)
 #34 := (implies #30 #33)
 #35 := (forall (vars (?v0 Int)) #34)
-#105 := (iff #35 #104)
-#101 := (iff #34 #100)
-#102 := [rewrite]: #101
-#97 := (iff #34 #34)
-#98 := [monotonicity #96]: #97
-#103 := [trans #98 #102]: #101
-#106 := [quant-intro #103]: #105
-#73 := [asserted]: #35
-#107 := [mp #73 #106]: #104
-#233 := [mp #107 #232]: #230
-#293 := [mp~ #233 #292]: #230
-#802 := [mp #293 #801]: #797
-#784 := (not #797)
-#785 := (or #784 #462 #783)
-#463 := (= #466 #82)
-#467 := (or #462 #463)
-#786 := (or #784 #467)
-#779 := (iff #786 #785)
-#782 := (or #784 #777)
-#438 := (iff #782 #785)
-#443 := [rewrite]: #438
-#788 := (iff #786 #782)
-#451 := (iff #467 #777)
-#781 := (iff #463 #783)
-#446 := [rewrite]: #781
-#452 := [monotonicity #446]: #451
-#778 := [monotonicity #452]: #788
-#439 := [trans #778 #443]: #779
-#787 := [quant-inst #82]: #786
-#780 := [mp #787 #439]: #785
-#522 := [unit-resolution #780 #802]: #777
-#523 := [unit-resolution #522 #530]: #783
-#564 := (not #783)
-#511 := (or #564 #423)
-#560 := [th-lemma arith triangle-eq]: #511
-#565 := [unit-resolution #560 #523]: #423
-#544 := (not #423)
-#432 := (or #772 #503 #545 #544)
-#547 := [th-lemma arith assign-bounds 1 -1 1]: #432
-#433 := [unit-resolution #547 #565 #444 #525]: #772
-#409 := (<= #466 0::Int)
-#631 := (<= #18 0::Int)
-#418 := (or #597 #631)
-#420 := [th-lemma arith triangle-eq]: #418
-#391 := [unit-resolution #420 #546]: #631
-#713 := (<= #14 0::Int)
-#394 := [unit-resolution #502 #539]: #414
-#388 := (or #676 #713)
-#542 := [th-lemma arith triangle-eq]: #388
-#527 := [unit-resolution #542 #394]: #713
-#764 := (>= #570 0::Int)
-#521 := (or #564 #764)
-#515 := [th-lemma arith triangle-eq]: #521
-#528 := [unit-resolution #515 #523]: #764
-#529 := (not #764)
-#526 := (not #631)
-#554 := (not #713)
-#513 := (or #409 #554 #526 #529)
-#514 := [th-lemma arith assign-bounds -1 -1 1]: #513
-#516 := [unit-resolution #514 #528 #527 #391]: #409
-#518 := (not #772)
-#517 := (not #409)
-#519 := (or #427 #517 #518)
-#520 := [th-lemma arith triangle-eq]: #519
-#552 := [unit-resolution #520 #516 #433]: #427
-#534 := [trans #552 #553]: #536
-#377 := [monotonicity #534]: #390
-#537 := [symm #377]: #379
-#399 := (= f3 #376)
-#400 := [symm #499]: #399
-#824 := [trans #400 #537]: #541
-#825 := [trans #824 #535]: #88
-#91 := (not #88)
+#126 := (iff #35 #123)
+#107 := (not #30)
+#108 := (or #107 #33)
+#111 := (forall (vars (?v0 Int)) #108)
+#124 := (iff #111 #123)
+#121 := (iff #108 #120)
+#118 := (iff #107 #117)
+#114 := (iff #30 #116)
+#115 := [rewrite]: #114
+#119 := [monotonicity #115]: #118
+#122 := [monotonicity #119]: #121
+#125 := [quant-intro #122]: #124
+#112 := (iff #35 #111)
+#109 := (iff #34 #108)
+#110 := [rewrite]: #109
+#113 := [quant-intro #110]: #112
+#127 := [trans #113 #125]: #126
+#105 := [asserted]: #35
+#128 := [mp #105 #127]: #123
+#261 := [mp~ #128 #265]: #123
+#843 := [mp #261 #842]: #838
+#826 := (not #838)
+#827 := (or #826 #503 #824)
+#504 := (= #507 #92)
+#508 := (or #503 #504)
+#828 := (or #826 #508)
+#480 := (iff #828 #827)
+#829 := (or #826 #481)
+#484 := (iff #829 #827)
+#820 := [rewrite]: #484
+#819 := (iff #828 #829)
+#493 := (iff #508 #481)
+#822 := (iff #504 #824)
+#487 := [rewrite]: #822
+#825 := [monotonicity #487]: #493
+#479 := [monotonicity #825]: #819
+#821 := [trans #479 #820]: #480
+#823 := [quant-inst #92]: #828
+#464 := [mp #823 #821]: #827
+#919 := [unit-resolution #464 #843]: #481
+#920 := [unit-resolution #919 #918]: #824
+#921 := (not #824)
+#922 := (or #921 #805)
+#923 := [th-lemma arith triangle-eq]: #922
+#924 := [unit-resolution #923 #920]: #805
+#925 := (not #805)
+#926 := (or #815 #545 #915 #925)
+#927 := [th-lemma arith assign-bounds 1 -1 1]: #926
+#928 := [unit-resolution #927 #924 #486 #882]: #815
+#813 := (<= #507 0::Int)
+#652 := (<= #18 0::Int)
+#461 := (or #639 #652)
+#462 := [th-lemma arith triangle-eq]: #461
+#929 := [unit-resolution #462 #881]: #652
+#746 := (<= #14 0::Int)
+#930 := [unit-resolution #551 #906]: #456
+#931 := (or #718 #746)
+#932 := [th-lemma arith triangle-eq]: #931
+#933 := [unit-resolution #932 #930]: #746
+#468 := (>= #492 0::Int)
+#934 := (or #921 #468)
+#935 := [th-lemma arith triangle-eq]: #934
+#936 := [unit-resolution #935 #920]: #468
+#939 := (not #468)
+#938 := (not #652)
+#937 := (not #746)
+#940 := (or #813 #937 #938 #939)
+#941 := [th-lemma arith assign-bounds -1 -1 1]: #940
+#942 := [unit-resolution #941 #936 #933 #929]: #813
+#944 := (not #815)
+#943 := (not #813)
+#945 := (or #469 #943 #944)
+#946 := [th-lemma arith triangle-eq]: #945
+#947 := [unit-resolution #946 #942 #928]: #469
+#951 := [trans #947 #949]: #950
+#956 := [monotonicity #951]: #955
+#958 := [symm #956]: #957
+#441 := (= f3 #417)
+#434 := [symm #539]: #441
+#960 := [trans #434 #958]: #959
+#961 := [trans #960 #952]: #98
+#101 := (not #98)
 #15 := (* #14 1::Int)
 #19 := (+ #15 #18)
 #20 := (f4 f5 #19)
 #21 := (= f3 #20)
 #22 := (not #21)
-#92 := (iff #22 #91)
-#89 := (iff #21 #88)
-#86 := (= #20 #85)
-#83 := (= #19 #82)
-#80 := (= #15 #14)
-#81 := [rewrite]: #80
-#84 := [monotonicity #81]: #83
-#87 := [monotonicity #84]: #86
-#90 := [monotonicity #87]: #89
-#93 := [monotonicity #90]: #92
-#71 := [asserted]: #22
-#94 := [mp #71 #93]: #91
-#826 := [unit-resolution #94 #825]: false
-#827 := [lemma #826]: #692
-#384 := (or #429 #716)
-#393 := (= #376 #85)
-#395 := (= #11 #82)
-#412 := (= #14 #82)
-#426 := [hypothesis]: #740
-#431 := [hypothesis]: #692
-#435 := (or #429 #650)
-#605 := (or #603 #429 #650)
-#566 := [def-axiom]: #605
-#436 := [unit-resolution #566 #434]: #435
-#425 := [unit-resolution #436 #431]: #650
-#588 := (not #650)
-#593 := (or #588 #716 #682)
-#594 := [def-axiom]: #593
-#437 := [unit-resolution #594 #425 #426]: #682
-#421 := [unit-resolution #420 #437]: #631
-#410 := [unit-resolution #422 #437]: #611
-#413 := [th-lemma arith eq-propagate -1 -1 #410 #421]: #412
-#403 := (= #11 #14)
-#707 := (<= #382 0::Int)
-#416 := [unit-resolution #496 #431]: #719
-#411 := [unit-resolution #697 #416 #426]: #758
-#417 := (or #700 #707)
-#392 := [th-lemma arith triangle-eq]: #417
-#396 := [unit-resolution #392 #411]: #707
-#397 := [unit-resolution #449 #411]: #708
-#402 := [unit-resolution #459 #501]: #532
-#533 := (>= #549 0::Int)
-#404 := (or #458 #533)
-#405 := [th-lemma arith triangle-eq]: #404
-#407 := [unit-resolution #405 #501]: #533
-#408 := [th-lemma arith eq-propagate 1 1 -1 -1 #407 #402 #397 #396]: #403
-#398 := [trans #408 #413]: #395
-#401 := [monotonicity #398]: #393
-#386 := [trans #400 #401]: #88
-#383 := [unit-resolution #94 #386]: false
-#387 := [lemma #383]: #384
-#389 := [unit-resolution #387 #827]: #716
-#381 := (or #429 #738)
-#380 := [hypothesis]: #762
-#559 := [hypothesis]: #749
-#561 := [unit-resolution #704 #559]: #740
-#563 := [unit-resolution #387 #561]: #429
-#582 := (or #692 #415)
-#583 := [th-lemma arith triangle-eq]: #582
-#558 := [unit-resolution #583 #563 #559]: false
-#406 := [lemma #558]: #415
-#378 := [unit-resolution #469 #431 #406 #380]: false
-#823 := [lemma #378]: #381
-#385 := [unit-resolution #823 #827]: #738
-#714 := (or #740 #762)
-#715 := [def-axiom]: #714
-[unit-resolution #715 #385 #389]: false
-727c827bb11139e8216aa2242907ab223b6a5c32 832 0
-unsat
+#102 := (iff #22 #101)
+#99 := (iff #21 #98)
+#96 := (= #20 #95)
+#93 := (= #19 #92)
+#90 := (= #15 #14)
+#91 := [rewrite]: #90
+#94 := [monotonicity #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#89 := [asserted]: #22
+#106 := [mp #89 #103]: #101
+#962 := [unit-resolution #106 #961]: false
+#963 := [lemma #962]: #730
+#428 := (or #471 #753)
+#442 := (= #417 #95)
+#439 := (= #11 #92)
+#454 := (= #14 #92)
+#472 := [hypothesis]: #610
+#473 := [hypothesis]: #730
+#477 := (or #471 #692)
+#607 := (or #645 #471 #692)
+#608 := [def-axiom]: #607
+#466 := [unit-resolution #608 #476]: #477
+#478 := [unit-resolution #466 #473]: #692
+#634 := (not #692)
+#635 := (or #634 #753 #724)
+#636 := [def-axiom]: #635
+#459 := [unit-resolution #636 #478 #472]: #724
+#460 := [unit-resolution #462 #459]: #652
+#453 := [unit-resolution #451 #459]: #673
+#457 := [th-lemma arith eq-propagate -1 -1 #453 #460]: #454
+#449 := (= #11 #14)
+#749 := (<= #799 0::Int)
+#452 := [unit-resolution #538 #473]: #763
+#458 := [unit-resolution #739 #452 #472]: #800
+#433 := (or #737 #749)
+#437 := [th-lemma arith triangle-eq]: #433
+#438 := [unit-resolution #437 #458]: #749
+#443 := [unit-resolution #491 #458]: #750
+#445 := [unit-resolution #483 #544]: #574
+#577 := (>= #586 0::Int)
+#446 := (or #489 #577)
+#448 := [th-lemma arith triangle-eq]: #446
+#444 := [unit-resolution #448 #544]: #577
+#432 := [th-lemma arith eq-propagate 1 1 -1 -1 #444 #445 #443 #438]: #449
+#440 := [trans #432 #457]: #439
+#427 := [monotonicity #440]: #442
+#424 := [trans #434 #427]: #98
+#425 := [unit-resolution #106 #424]: false
+#429 := [lemma #425]: #428
+#953 := [unit-resolution #429 #963]: #753
+#913 := (or #471 #780)
+#911 := [hypothesis]: #804
+#474 := [hypothesis]: #631
+#475 := [unit-resolution #755 #474]: #610
+#435 := [unit-resolution #429 #475]: #471
+#436 := (or #730 #816)
+#430 := [th-lemma arith triangle-eq]: #436
+#426 := [unit-resolution #430 #435 #474]: false
+#431 := [lemma #426]: #816
+#912 := [unit-resolution #519 #473 #431 #911]: false
+#914 := [lemma #912]: #913
+#954 := [unit-resolution #914 #963]: #780
+#756 := (or #610 #804)
+#757 := [def-axiom]: #756
+[unit-resolution #757 #954 #953]: false
+unsat
+b88eecece4a97949c3e182a0994557edf8a964b2 816 0
 #2 := false
 #28 := 0::Int
 decl f9 :: (-> S6 S2 Int)
@@ -21088,14 +19670,14 @@
 decl f10 :: S6
 #10 := f10
 #11 := (f9 f10 f3)
-#764 := (>= #11 0::Int)
-#740 := (not #764)
-#417 := (<= #11 0::Int)
-#751 := (not #417)
-#742 := (or #751 #740)
-#714 := (not #742)
-#431 := (= #11 0::Int)
-#691 := (not #431)
+#805 := (>= #11 0::Int)
+#781 := (not #805)
+#817 := (<= #11 0::Int)
+#632 := (not #817)
+#611 := (or #632 #781)
+#759 := (not #611)
+#472 := (= #11 0::Int)
+#735 := (not #472)
 decl f4 :: (-> S3 Int S2)
 decl f6 :: (-> S4 Int Int)
 #13 := 3::Int
@@ -21108,141 +19690,114 @@
 #9 := f8
 #12 := (f7 f8 #11)
 #14 := (f6 #12 3::Int)
-#80 := (* 3::Int #14)
-#83 := (+ #80 #18)
+#90 := (* 3::Int #14)
+#93 := (+ #90 #18)
 decl f5 :: S3
 #8 := f5
-#86 := (f4 f5 #83)
-#89 := (= f3 #86)
-#377 := (f4 f5 #11)
-#903 := (= #377 #86)
-#901 := (= #86 #377)
-#899 := (= #83 #11)
-#895 := (= 0::Int #11)
-#859 := [hypothesis]: #431
-#896 := [symm #859]: #895
-#897 := (= #83 0::Int)
-#468 := (f9 f10 #86)
-#429 := (= #468 0::Int)
-#774 := (>= #468 0::Int)
-#636 := (>= #18 0::Int)
-#685 := (= #18 0::Int)
-#840 := (or #691 #685)
-#574 := -3::Int
-#152 := -1::Int
-#761 := (* -1::Int #11)
-#705 := (mod #761 -3::Int)
-#668 := (+ #18 #705)
-#656 := (= #668 0::Int)
-#709 := (mod #11 3::Int)
-#686 := (* -1::Int #709)
-#687 := (+ #18 #686)
-#677 := (= #687 0::Int)
-#661 := (if #742 #677 #656)
-#664 := (if #431 #685 #661)
+#96 := (f4 f5 #93)
+#99 := (= f3 #96)
+#418 := (f4 f5 #11)
+#997 := (= #418 #96)
+#995 := (= #96 #418)
+#993 := (= #93 #11)
+#989 := (= 0::Int #11)
+#953 := [hypothesis]: #472
+#990 := [symm #953]: #989
+#991 := (= #93 0::Int)
+#508 := (f9 f10 #96)
+#470 := (= #508 0::Int)
+#816 := (>= #508 0::Int)
+#657 := (>= #18 0::Int)
+#726 := (= #18 0::Int)
+#954 := (or #735 #726)
+#767 := -3::Int
+#157 := -1::Int
+#523 := (* -1::Int #11)
+#752 := (mod #523 -3::Int)
+#714 := (+ #18 #752)
+#697 := (= #714 0::Int)
+#750 := (mod #11 3::Int)
+#727 := (* -1::Int #750)
+#717 := (+ #18 #727)
+#728 := (= #717 0::Int)
+#702 := (if #611 #728 #697)
+#699 := (if #472 #726 #702)
 #29 := (:var 0 Int)
 #40 := (:var 1 Int)
 #60 := (f7 f11 #40)
 #61 := (f6 #60 #29)
-#818 := (pattern #61)
-#156 := (* -1::Int #29)
-#153 := (* -1::Int #40)
-#175 := (mod #153 #156)
-#366 := (+ #61 #175)
-#367 := (= #366 0::Int)
+#858 := (pattern #61)
+#161 := (* -1::Int #29)
+#158 := (* -1::Int #40)
+#216 := (mod #158 #161)
+#346 := (+ #61 #216)
+#347 := (= #346 0::Int)
 #62 := (mod #40 #29)
-#363 := (* -1::Int #62)
-#364 := (+ #61 #363)
-#365 := (= #364 0::Int)
-#130 := (<= #29 0::Int)
-#242 := (>= #40 0::Int)
-#310 := (or #242 #130)
-#311 := (not #310)
-#126 := (<= #40 0::Int)
-#306 := (or #126 #130)
-#307 := (not #306)
-#314 := (or #307 #311)
-#368 := (if #314 #365 #367)
-#362 := (= #61 0::Int)
+#343 := (* -1::Int #62)
+#344 := (+ #61 #343)
+#345 := (= #344 0::Int)
+#183 := (<= #29 0::Int)
+#190 := (>= #40 0::Int)
+#290 := (or #190 #183)
+#291 := (not #290)
+#179 := (<= #40 0::Int)
+#288 := (or #179 #183)
+#289 := (not #288)
+#294 := (or #289 #291)
+#348 := (if #294 #345 #347)
+#342 := (= #61 0::Int)
 #43 := (= #40 0::Int)
-#369 := (if #43 #362 #368)
-#361 := (= #61 #40)
+#349 := (if #43 #342 #348)
+#341 := (= #61 #40)
 #44 := (= #29 0::Int)
-#370 := (if #44 #361 #369)
-#819 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #818) #370)
-#373 := (forall (vars (?v0 Int) (?v1 Int)) #370)
-#822 := (iff #373 #819)
-#820 := (iff #370 #370)
-#821 := [refl]: #820
-#823 := [quant-intro #821]: #822
-#181 := (* -1::Int #175)
-#330 := (if #314 #62 #181)
-#333 := (if #43 0::Int #330)
-#336 := (if #44 #40 #333)
-#339 := (= #61 #336)
-#342 := (forall (vars (?v0 Int) (?v1 Int)) #339)
-#374 := (iff #342 #373)
-#371 := (iff #339 #370)
-#372 := [rewrite]: #371
-#375 := [quant-intro #372]: #374
-#131 := (not #130)
-#245 := (not #242)
-#248 := (and #245 #131)
-#127 := (not #126)
-#134 := (and #127 #131)
-#251 := (or #134 #248)
-#267 := (if #251 #62 #181)
-#270 := (if #43 0::Int #267)
-#273 := (if #44 #40 #270)
-#276 := (= #61 #273)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#343 := (iff #279 #342)
-#340 := (iff #276 #339)
-#337 := (= #273 #336)
-#334 := (= #270 #333)
-#331 := (= #267 #330)
-#315 := (iff #251 #314)
-#312 := (iff #248 #311)
-#313 := [rewrite]: #312
-#308 := (iff #134 #307)
-#309 := [rewrite]: #308
-#316 := [monotonicity #309 #313]: #315
-#332 := [monotonicity #316]: #331
-#335 := [monotonicity #332]: #334
-#338 := [monotonicity #335]: #337
-#341 := [monotonicity #338]: #340
-#344 := [quant-intro #341]: #343
-#303 := (~ #279 #279)
-#301 := (~ #276 #276)
-#302 := [refl]: #301
-#304 := [nnf-pos #302]: #303
-#137 := (<= 0::Int #40)
-#138 := (not #137)
-#146 := (and #138 #131)
-#149 := (or #134 #146)
-#186 := (if #149 #62 #181)
-#189 := (if #43 0::Int #186)
-#192 := (if #44 #40 #189)
-#195 := (= #61 #192)
-#198 := (forall (vars (?v0 Int) (?v1 Int)) #195)
-#280 := (iff #198 #279)
-#277 := (iff #195 #276)
-#274 := (= #192 #273)
-#271 := (= #189 #270)
-#268 := (= #186 #267)
-#252 := (iff #149 #251)
-#249 := (iff #146 #248)
-#246 := (iff #138 #245)
-#243 := (iff #137 #242)
-#244 := [rewrite]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [monotonicity #250]: #252
-#269 := [monotonicity #253]: #268
-#272 := [monotonicity #269]: #271
-#275 := [monotonicity #272]: #274
-#278 := [monotonicity #275]: #277
-#281 := [quant-intro #278]: #280
+#350 := (if #44 #341 #349)
+#859 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #858) #350)
+#353 := (forall (vars (?v0 Int) (?v1 Int)) #350)
+#862 := (iff #353 #859)
+#860 := (iff #350 #350)
+#861 := [refl]: #860
+#863 := [quant-intro #861]: #862
+#222 := (* -1::Int #216)
+#310 := (if #294 #62 #222)
+#313 := (if #43 0::Int #310)
+#316 := (if #44 #40 #313)
+#319 := (= #61 #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
+#184 := (not #183)
+#191 := (not #190)
+#194 := (and #191 #184)
+#180 := (not #179)
+#187 := (and #180 #184)
+#197 := (or #187 #194)
+#242 := (if #197 #62 #222)
+#245 := (if #43 0::Int #242)
+#248 := (if #44 #40 #245)
+#251 := (= #61 #248)
+#254 := (forall (vars (?v0 Int) (?v1 Int)) #251)
+#323 := (iff #254 #322)
+#320 := (iff #251 #319)
+#317 := (= #248 #316)
+#314 := (= #245 #313)
+#311 := (= #242 #310)
+#295 := (iff #197 #294)
+#292 := (iff #194 #291)
+#293 := [rewrite]: #292
+#273 := (iff #187 #289)
+#274 := [rewrite]: #273
+#296 := [monotonicity #274 #293]: #295
+#312 := [monotonicity #296]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#271 := (~ #254 #254)
+#285 := (~ #251 #251)
+#286 := [refl]: #285
+#272 := [nnf-pos #286]: #271
 #54 := (- #29)
 #53 := (- #40)
 #63 := (mod #53 #54)
@@ -21258,1192 +19813,1147 @@
 #67 := (if #44 #40 #66)
 #68 := (= #61 #67)
 #69 := (forall (vars (?v0 Int) (?v1 Int)) #68)
-#199 := (iff #69 #198)
-#196 := (iff #68 #195)
-#193 := (= #67 #192)
-#190 := (= #66 #189)
-#187 := (= #65 #186)
-#184 := (= #64 #181)
-#178 := (- #175)
-#182 := (= #178 #181)
-#183 := [rewrite]: #182
-#179 := (= #64 #178)
-#176 := (= #63 #175)
-#157 := (= #54 #156)
-#158 := [rewrite]: #157
-#154 := (= #53 #153)
-#155 := [rewrite]: #154
-#177 := [monotonicity #155 #158]: #176
-#180 := [monotonicity #177]: #179
-#185 := [trans #180 #183]: #184
-#150 := (iff #51 #149)
-#147 := (iff #50 #146)
-#132 := (iff #47 #131)
-#133 := [rewrite]: #132
-#139 := (iff #49 #138)
-#143 := (iff #138 #138)
-#141 := (iff #137 #137)
-#142 := [rewrite]: #141
-#144 := [monotonicity #142]: #143
-#140 := [rewrite]: #139
-#145 := [trans #140 #144]: #139
-#148 := [monotonicity #145 #133]: #147
-#135 := (iff #48 #134)
-#128 := (iff #46 #127)
-#129 := [rewrite]: #128
-#136 := [monotonicity #129 #133]: #135
-#151 := [monotonicity #136 #148]: #150
-#188 := [monotonicity #151 #185]: #187
-#191 := [monotonicity #188]: #190
-#194 := [monotonicity #191]: #193
-#197 := [monotonicity #194]: #196
-#200 := [quant-intro #197]: #199
-#76 := [asserted]: #69
-#201 := [mp #76 #200]: #198
-#282 := [mp #201 #281]: #279
-#305 := [mp~ #282 #304]: #279
-#345 := [mp #305 #344]: #342
-#376 := [mp #345 #375]: #373
-#824 := [mp #376 #823]: #819
-#651 := (not #819)
-#647 := (or #651 #664)
-#483 := (* -1::Int 3::Int)
-#688 := (mod #761 #483)
-#666 := (+ #18 #688)
-#667 := (= #666 0::Int)
-#777 := (<= 3::Int 0::Int)
-#765 := (or #764 #777)
-#487 := (not #765)
-#775 := (or #417 #777)
-#778 := (not #775)
-#488 := (or #778 #487)
-#669 := (if #488 #677 #667)
-#670 := (if #431 #685 #669)
-#684 := (= #18 #11)
-#432 := (= 3::Int 0::Int)
-#671 := (if #432 #684 #670)
-#648 := (or #651 #671)
-#652 := (iff #648 #647)
-#654 := (iff #647 #647)
-#650 := [rewrite]: #654
-#645 := (iff #671 #664)
-#638 := (if false #684 #664)
-#533 := (iff #638 #664)
-#644 := [rewrite]: #533
-#639 := (iff #671 #638)
-#659 := (iff #670 #664)
-#662 := (iff #669 #661)
-#657 := (iff #667 #656)
-#674 := (= #666 #668)
-#672 := (= #688 #705)
-#727 := (= #483 -3::Int)
-#728 := [rewrite]: #727
-#673 := [monotonicity #728]: #672
-#660 := [monotonicity #673]: #674
-#658 := [monotonicity #660]: #657
-#571 := (iff #488 #742)
-#741 := (iff #487 #740)
-#733 := (iff #765 #764)
-#594 := (or #764 false)
-#738 := (iff #594 #764)
-#739 := [rewrite]: #738
-#736 := (iff #765 #594)
-#757 := (iff #777 false)
-#746 := [rewrite]: #757
-#737 := [monotonicity #746]: #736
-#734 := [trans #737 #739]: #733
-#735 := [monotonicity #734]: #741
-#592 := (iff #778 #751)
-#750 := (iff #775 #417)
-#747 := (or #417 false)
-#744 := (iff #747 #417)
-#749 := [rewrite]: #744
-#748 := (iff #775 #747)
-#743 := [monotonicity #746]: #748
-#745 := [trans #743 #749]: #750
-#593 := [monotonicity #745]: #592
-#573 := [monotonicity #593 #735]: #571
-#663 := [monotonicity #573 #658]: #662
-#665 := [monotonicity #663]: #659
-#474 := (iff #432 false)
-#475 := [rewrite]: #474
-#640 := [monotonicity #475 #665]: #639
-#646 := [trans #640 #644]: #645
-#653 := [monotonicity #646]: #652
-#655 := [trans #653 #650]: #652
-#649 := [quant-inst #11 #13]: #648
-#635 := [mp #649 #655]: #647
-#580 := [unit-resolution #635 #824]: #664
-#633 := (not #664)
-#613 := (or #633 #691 #685)
-#634 := [def-axiom]: #613
-#837 := [unit-resolution #634 #580]: #840
-#850 := [unit-resolution #837 #859]: #685
-#595 := (not #685)
-#851 := (or #595 #636)
-#838 := [th-lemma arith triangle-eq]: #851
-#839 := [unit-resolution #838 #850]: #636
-#704 := (>= #14 0::Int)
-#489 := (div #11 3::Int)
-#585 := (* -3::Int #489)
-#586 := (+ #11 #585 #686)
-#584 := (= #586 0::Int)
-#1 := true
-#219 := [true-axiom]: true
-#539 := (or false #584)
-#543 := [th-lemma arith]: #539
-#536 := [unit-resolution #543 #219]: #584
-#588 := (<= #586 0::Int)
-#500 := (not #588)
-#545 := (>= #709 3::Int)
-#548 := (not #545)
-#544 := (or false #548)
-#537 := [th-lemma arith]: #544
-#540 := [unit-resolution #537 #219]: #548
-#541 := (not #704)
-#527 := [hypothesis]: #541
-#490 := (* -1::Int #489)
-#383 := (+ #14 #490)
-#711 := (>= #383 0::Int)
-#760 := (= #383 0::Int)
-#730 := (div #761 -3::Int)
-#732 := (* -1::Int #730)
-#616 := (+ #14 #732)
-#625 := (= #616 0::Int)
-#724 := (if #742 #760 #625)
-#416 := (= #14 0::Int)
-#679 := (not #416)
-#529 := (or #679 #704)
-#530 := [th-lemma arith triangle-eq]: #529
-#528 := [unit-resolution #530 #527]: #679
-#513 := (or #691 #416)
-#626 := (if #431 #416 #724)
+#257 := (iff #69 #254)
+#227 := (if #51 #62 #222)
+#230 := (if #43 0::Int #227)
+#233 := (if #44 #40 #230)
+#236 := (= #61 #233)
+#239 := (forall (vars (?v0 Int) (?v1 Int)) #236)
+#255 := (iff #239 #254)
+#252 := (iff #236 #251)
+#249 := (= #233 #248)
+#246 := (= #230 #245)
+#243 := (= #227 #242)
+#198 := (iff #51 #197)
+#195 := (iff #50 #194)
+#185 := (iff #47 #184)
+#186 := [rewrite]: #185
+#192 := (iff #49 #191)
+#193 := [rewrite]: #192
+#196 := [monotonicity #193 #186]: #195
+#188 := (iff #48 #187)
+#181 := (iff #46 #180)
+#182 := [rewrite]: #181
+#189 := [monotonicity #182 #186]: #188
+#199 := [monotonicity #189 #196]: #198
+#244 := [monotonicity #199]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [monotonicity #250]: #252
+#256 := [quant-intro #253]: #255
+#240 := (iff #69 #239)
+#237 := (iff #68 #236)
+#234 := (= #67 #233)
+#231 := (= #66 #230)
+#228 := (= #65 #227)
+#225 := (= #64 #222)
+#219 := (- #216)
+#223 := (= #219 #222)
+#224 := [rewrite]: #223
+#220 := (= #64 #219)
+#217 := (= #63 #216)
+#162 := (= #54 #161)
+#163 := [rewrite]: #162
+#159 := (= #53 #158)
+#160 := [rewrite]: #159
+#218 := [monotonicity #160 #163]: #217
+#221 := [monotonicity #218]: #220
+#226 := [trans #221 #224]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [monotonicity #232]: #234
+#238 := [monotonicity #235]: #237
+#241 := [quant-intro #238]: #240
+#258 := [trans #241 #256]: #257
+#215 := [asserted]: #69
+#259 := [mp #215 #258]: #254
+#287 := [mp~ #259 #272]: #254
+#325 := [mp #287 #324]: #322
+#356 := [mp #325 #355]: #353
+#864 := [mp #356 #863]: #859
+#687 := (not #859)
+#688 := (or #687 #699)
+#524 := (* -1::Int 3::Int)
+#706 := (mod #523 #524)
+#707 := (+ #18 #706)
+#709 := (= #707 0::Int)
+#815 := (<= 3::Int 0::Int)
+#527 := (or #805 #815)
+#528 := (not #527)
+#818 := (or #817 #815)
+#804 := (not #818)
+#529 := (or #804 #528)
+#710 := (if #529 #728 #709)
+#711 := (if #472 #726 #710)
+#725 := (= #18 #11)
+#808 := (= 3::Int 0::Int)
+#712 := (if #808 #725 #711)
+#689 := (or #687 #712)
+#693 := (iff #689 #688)
+#690 := (iff #688 #688)
+#695 := [rewrite]: #690
+#686 := (iff #712 #699)
+#679 := (if false #725 #699)
+#684 := (iff #679 #699)
+#685 := [rewrite]: #684
+#680 := (iff #712 #679)
+#705 := (iff #711 #699)
+#703 := (iff #710 #702)
+#698 := (iff #709 #697)
+#700 := (= #707 #714)
+#713 := (= #706 #752)
+#768 := (= #524 -3::Int)
+#770 := [rewrite]: #768
+#708 := [monotonicity #770]: #713
+#696 := [monotonicity #708]: #700
+#701 := [monotonicity #696]: #698
+#613 := (iff #529 #611)
+#775 := (iff #528 #781)
+#774 := (iff #527 #805)
+#776 := (or #805 false)
+#779 := (iff #776 #805)
+#773 := [rewrite]: #779
+#777 := (iff #527 #776)
+#786 := (iff #815 false)
+#787 := [rewrite]: #786
+#778 := [monotonicity #787]: #777
+#780 := [trans #778 #773]: #774
+#782 := [monotonicity #780]: #775
+#633 := (iff #804 #632)
+#785 := (iff #818 #817)
+#788 := (or #817 false)
+#789 := (iff #788 #817)
+#790 := [rewrite]: #789
+#783 := (iff #818 #788)
+#784 := [monotonicity #787]: #783
+#791 := [trans #784 #790]: #785
+#634 := [monotonicity #791]: #633
+#614 := [monotonicity #634 #782]: #613
+#704 := [monotonicity #614 #701]: #703
+#678 := [monotonicity #704]: #705
+#515 := (iff #808 false)
+#516 := [rewrite]: #515
+#573 := [monotonicity #516 #678]: #680
+#691 := [trans #573 #685]: #686
+#694 := [monotonicity #691]: #693
+#675 := [trans #694 #695]: #693
+#692 := [quant-inst #11 #13]: #689
+#621 := [mp #692 #675]: #688
+#421 := [unit-resolution #621 #864]: #699
+#653 := (not #699)
+#674 := (or #653 #735 #726)
+#629 := [def-axiom]: #674
+#955 := [unit-resolution #629 #421]: #954
+#956 := [unit-resolution #955 #953]: #726
+#636 := (not #726)
+#957 := (or #636 #657)
+#928 := [th-lemma arith triangle-eq]: #957
+#929 := [unit-resolution #928 #956]: #657
+#746 := (>= #14 0::Int)
+#530 := (div #11 3::Int)
+#626 := (* -3::Int #530)
+#627 := (+ #626 #727)
+#610 := (+ #11 #627)
+#625 := (= #610 0::Int)
+#1 := true
+#87 := [true-axiom]: true
+#576 := (or false #625)
+#584 := [th-lemma arith]: #576
+#577 := [unit-resolution #584 #87]: #625
+#599 := (<= #610 0::Int)
+#531 := (not #599)
+#590 := (>= #750 3::Int)
+#591 := (not #590)
+#580 := (or false #591)
+#581 := [th-lemma arith]: #580
+#567 := [unit-resolution #581 #87]: #591
+#569 := (not #746)
+#570 := [hypothesis]: #569
+#424 := (* -1::Int #530)
+#800 := (+ #14 #424)
+#745 := (>= #800 0::Int)
+#801 := (= #800 0::Int)
+#771 := (div #523 -3::Int)
+#654 := (* -1::Int #771)
+#615 := (+ #14 #654)
+#760 := (= #615 0::Int)
+#649 := (if #611 #801 #760)
+#457 := (= #14 0::Int)
+#720 := (not #457)
+#568 := (or #720 #746)
+#571 := [th-lemma arith triangle-eq]: #568
+#553 := [unit-resolution #571 #570]: #720
+#556 := (or #735 #457)
+#667 := (if #472 #457 #649)
 #41 := (f7 f8 #40)
 #42 := (f6 #41 #29)
-#811 := (pattern #42)
-#159 := (div #153 #156)
-#350 := (* -1::Int #159)
-#351 := (+ #42 #350)
-#352 := (= #351 0::Int)
+#851 := (pattern #42)
+#164 := (div #158 #161)
+#330 := (* -1::Int #164)
+#331 := (+ #42 #330)
+#332 := (= #331 0::Int)
 #52 := (div #40 #29)
-#347 := (* -1::Int #52)
-#348 := (+ #42 #347)
-#349 := (= #348 0::Int)
-#353 := (if #314 #349 #352)
-#346 := (= #42 0::Int)
+#327 := (* -1::Int #52)
+#328 := (+ #42 #327)
+#329 := (= #328 0::Int)
+#333 := (if #294 #329 #332)
+#326 := (= #42 0::Int)
 #45 := (or #43 #44)
-#354 := (if #45 #346 #353)
-#812 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #811) #354)
-#357 := (forall (vars (?v0 Int) (?v1 Int)) #354)
-#815 := (iff #357 #812)
-#813 := (iff #354 #354)
-#814 := [refl]: #813
-#816 := [quant-intro #814]: #815
-#317 := (if #314 #52 #159)
-#320 := (if #45 0::Int #317)
-#323 := (= #42 #320)
-#326 := (forall (vars (?v0 Int) (?v1 Int)) #323)
-#358 := (iff #326 #357)
-#355 := (iff #323 #354)
-#356 := [rewrite]: #355
-#359 := [quant-intro #356]: #358
-#254 := (if #251 #52 #159)
-#257 := (if #45 0::Int #254)
-#260 := (= #42 #257)
-#263 := (forall (vars (?v0 Int) (?v1 Int)) #260)
-#327 := (iff #263 #326)
-#324 := (iff #260 #323)
-#321 := (= #257 #320)
-#318 := (= #254 #317)
-#319 := [monotonicity #316]: #318
-#322 := [monotonicity #319]: #321
-#325 := [monotonicity #322]: #324
-#328 := [quant-intro #325]: #327
-#298 := (~ #263 #263)
-#296 := (~ #260 #260)
-#297 := [refl]: #296
-#299 := [nnf-pos #297]: #298
-#162 := (if #149 #52 #159)
-#165 := (if #45 0::Int #162)
-#168 := (= #42 #165)
-#171 := (forall (vars (?v0 Int) (?v1 Int)) #168)
-#264 := (iff #171 #263)
-#261 := (iff #168 #260)
-#258 := (= #165 #257)
-#255 := (= #162 #254)
-#256 := [monotonicity #253]: #255
-#259 := [monotonicity #256]: #258
-#262 := [monotonicity #259]: #261
-#265 := [quant-intro #262]: #264
+#334 := (if #45 #326 #333)
+#852 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #851) #334)
+#337 := (forall (vars (?v0 Int) (?v1 Int)) #334)
+#855 := (iff #337 #852)
+#853 := (iff #334 #334)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#297 := (if #294 #52 #164)
+#300 := (if #45 0::Int #297)
+#303 := (= #42 #300)
+#306 := (forall (vars (?v0 Int) (?v1 Int)) #303)
+#338 := (iff #306 #337)
+#335 := (iff #303 #334)
+#336 := [rewrite]: #335
+#339 := [quant-intro #336]: #338
+#200 := (if #197 #52 #164)
+#203 := (if #45 0::Int #200)
+#206 := (= #42 #203)
+#209 := (forall (vars (?v0 Int) (?v1 Int)) #206)
+#307 := (iff #209 #306)
+#304 := (iff #206 #303)
+#301 := (= #203 #300)
+#298 := (= #200 #297)
+#299 := [monotonicity #296]: #298
+#302 := [monotonicity #299]: #301
+#305 := [monotonicity #302]: #304
+#308 := [quant-intro #305]: #307
+#269 := (~ #209 #209)
+#282 := (~ #206 #206)
+#283 := [refl]: #282
+#270 := [nnf-pos #283]: #269
 #55 := (div #53 #54)
 #56 := (if #51 #52 #55)
 #57 := (if #45 0::Int #56)
 #58 := (= #42 #57)
 #59 := (forall (vars (?v0 Int) (?v1 Int)) #58)
-#172 := (iff #59 #171)
-#169 := (iff #58 #168)
-#166 := (= #57 #165)
-#163 := (= #56 #162)
-#160 := (= #55 #159)
-#161 := [monotonicity #155 #158]: #160
-#164 := [monotonicity #151 #161]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [quant-intro #170]: #172
-#75 := [asserted]: #59
-#174 := [mp #75 #173]: #171
-#266 := [mp #174 #265]: #263
-#300 := [mp~ #266 #299]: #263
-#329 := [mp #300 #328]: #326
-#360 := [mp #329 #359]: #357
-#817 := [mp #360 #816]: #812
-#628 := (not #812)
-#629 := (or #628 #626)
-#484 := (div #761 #483)
-#758 := (* -1::Int #484)
-#762 := (+ #14 #758)
-#759 := (= #762 0::Int)
-#763 := (if #488 #760 #759)
-#776 := (or #431 #432)
-#473 := (if #776 #416 #763)
-#630 := (or #628 #473)
-#632 := (iff #630 #629)
-#722 := (iff #629 #629)
-#726 := [rewrite]: #722
-#627 := (iff #473 #626)
-#609 := (iff #763 #724)
-#720 := (iff #759 #625)
-#575 := (= #762 #616)
-#614 := (= #758 #732)
-#731 := (= #484 #730)
-#729 := [monotonicity #728]: #731
-#615 := [monotonicity #729]: #614
-#723 := [monotonicity #615]: #575
-#721 := [monotonicity #723]: #720
-#624 := [monotonicity #573 #721]: #609
-#756 := (iff #776 #431)
-#476 := (or #431 false)
-#470 := (iff #476 #431)
-#752 := [rewrite]: #470
-#754 := (iff #776 #476)
-#755 := [monotonicity #475]: #754
-#753 := [trans #755 #752]: #756
-#620 := [monotonicity #753 #624]: #627
-#725 := [monotonicity #620]: #632
-#713 := [trans #725 #726]: #632
-#631 := [quant-inst #11 #13]: #630
-#715 := [mp #631 #713]: #629
-#531 := [unit-resolution #715 #817]: #626
-#694 := (not #626)
-#695 := (or #694 #691 #416)
-#675 := [def-axiom]: #695
-#515 := [unit-resolution #675 #531]: #513
-#516 := [unit-resolution #515 #528]: #691
-#517 := (or #431 #724)
-#676 := (or #694 #431 #724)
-#678 := [def-axiom]: #676
-#518 := [unit-resolution #678 #531]: #517
-#519 := [unit-resolution #518 #516]: #724
-#600 := (f9 f10 #377)
-#601 := (= #600 0::Int)
-#526 := (not #601)
-#503 := (iff #691 #526)
-#525 := (iff #431 #601)
-#523 := (iff #601 #431)
-#521 := (= #600 #11)
-#462 := (= #377 f3)
+#212 := (iff #59 #209)
+#167 := (if #51 #52 #164)
+#170 := (if #45 0::Int #167)
+#173 := (= #42 #170)
+#176 := (forall (vars (?v0 Int) (?v1 Int)) #173)
+#210 := (iff #176 #209)
+#207 := (iff #173 #206)
+#204 := (= #170 #203)
+#201 := (= #167 #200)
+#202 := [monotonicity #199]: #201
+#205 := [monotonicity #202]: #204
+#208 := [monotonicity #205]: #207
+#211 := [quant-intro #208]: #210
+#177 := (iff #59 #176)
+#174 := (iff #58 #173)
+#171 := (= #57 #170)
+#168 := (= #56 #167)
+#165 := (= #55 #164)
+#166 := [monotonicity #160 #163]: #165
+#169 := [monotonicity #166]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [quant-intro #175]: #177
+#213 := [trans #178 #211]: #212
+#156 := [asserted]: #59
+#214 := [mp #156 #213]: #209
+#284 := [mp~ #214 #270]: #209
+#309 := [mp #284 #308]: #306
+#340 := [mp #309 #339]: #337
+#857 := [mp #340 #856]: #852
+#669 := (not #852)
+#670 := (or #669 #667)
+#798 := (div #523 #524)
+#802 := (* -1::Int #798)
+#799 := (+ #14 #802)
+#803 := (= #799 0::Int)
+#513 := (if #529 #801 #803)
+#456 := (or #472 #808)
+#514 := (if #456 #457 #513)
+#671 := (or #669 #514)
+#765 := (iff #671 #670)
+#766 := (iff #670 #670)
+#753 := [rewrite]: #766
+#660 := (iff #514 #667)
+#664 := (iff #513 #649)
+#761 := (iff #803 #760)
+#763 := (= #799 #615)
+#655 := (= #802 #654)
+#769 := (= #798 #771)
+#772 := [monotonicity #770]: #769
+#656 := [monotonicity #772]: #655
+#665 := [monotonicity #656]: #763
+#764 := [monotonicity #665]: #761
+#666 := [monotonicity #614 #764]: #664
+#793 := (iff #456 #472)
+#794 := (or #472 false)
+#792 := (iff #794 #472)
+#796 := [rewrite]: #792
+#795 := (iff #456 #794)
+#510 := [monotonicity #516]: #795
+#797 := [trans #510 #796]: #793
+#668 := [monotonicity #797 #666]: #660
+#762 := [monotonicity #668]: #765
+#755 := [trans #762 #753]: #765
+#672 := [quant-inst #11 #13]: #671
+#747 := [mp #672 #755]: #670
+#555 := [unit-resolution #747 #857]: #667
+#731 := (not #667)
+#715 := (or #731 #735 #457)
+#716 := [def-axiom]: #715
+#557 := [unit-resolution #716 #555]: #556
+#558 := [unit-resolution #557 #553]: #735
+#559 := (or #472 #649)
+#718 := (or #731 #472 #649)
+#719 := [def-axiom]: #718
+#560 := [unit-resolution #719 #555]: #559
+#561 := [unit-resolution #560 #558]: #649
+#641 := (f9 f10 #418)
+#642 := (= #641 0::Int)
+#545 := (not #642)
+#546 := (iff #735 #545)
+#566 := (iff #472 #642)
+#565 := (iff #642 #472)
+#563 := (= #641 #11)
+#502 := (= #418 f3)
 #23 := (:var 0 S2)
 #24 := (f9 f10 #23)
-#791 := (pattern #24)
+#831 := (pattern #24)
 #25 := (f4 f5 #24)
 #26 := (= #25 #23)
-#792 := (forall (vars (?v0 S2)) (:pat #791) #26)
+#832 := (forall (vars (?v0 S2)) (:pat #831) #26)
 #27 := (forall (vars (?v0 S2)) #26)
-#795 := (iff #27 #792)
-#793 := (iff #26 #26)
-#794 := [refl]: #793
-#796 := [quant-intro #794]: #795
-#291 := (~ #27 #27)
-#289 := (~ #26 #26)
-#290 := [refl]: #289
-#292 := [nnf-pos #290]: #291
-#72 := [asserted]: #27
-#283 := [mp~ #72 #292]: #27
-#797 := [mp #283 #796]: #792
-#455 := (not #792)
-#466 := (or #455 #462)
-#467 := [quant-inst #7]: #466
-#520 := [unit-resolution #467 #797]: #462
-#522 := [monotonicity #520]: #521
-#524 := [monotonicity #522]: #523
-#514 := [symm #524]: #525
-#505 := [monotonicity #514]: #503
-#506 := [mp #516 #505]: #526
-#602 := (or #764 #601)
+#835 := (iff #27 #832)
+#833 := (iff #26 #26)
+#834 := [refl]: #833
+#836 := [quant-intro #834]: #835
+#277 := (~ #27 #27)
+#275 := (~ #26 #26)
+#276 := [refl]: #275
+#278 := [nnf-pos #276]: #277
+#105 := [asserted]: #27
+#263 := [mp~ #105 #278]: #27
+#837 := [mp #263 #836]: #832
+#495 := (not #832)
+#506 := (or #495 #502)
+#507 := [quant-inst #7]: #506
+#562 := [unit-resolution #507 #837]: #502
+#564 := [monotonicity #562]: #563
+#554 := [monotonicity #564]: #565
+#543 := [symm #554]: #566
+#547 := [monotonicity #543]: #546
+#548 := [mp #558 #547]: #545
+#643 := (or #805 #642)
 #31 := (f4 f5 #29)
-#798 := (pattern #31)
+#838 := (pattern #31)
 #32 := (f9 f10 #31)
 #37 := (= #32 0::Int)
-#222 := (>= #29 0::Int)
-#235 := (or #222 #37)
-#805 := (forall (vars (?v0 Int)) (:pat #798) #235)
-#238 := (forall (vars (?v0 Int)) #235)
-#808 := (iff #238 #805)
-#806 := (iff #235 #235)
-#807 := [refl]: #806
-#809 := [quant-intro #807]: #808
-#293 := (~ #238 #238)
-#220 := (~ #235 #235)
-#221 := [refl]: #220
-#294 := [nnf-pos #221]: #293
-#30 := (<= 0::Int #29)
-#117 := (or #30 #37)
-#122 := (forall (vars (?v0 Int)) #117)
-#239 := (iff #122 #238)
-#236 := (iff #117 #235)
-#223 := (iff #30 #222)
-#224 := [rewrite]: #223
-#237 := [monotonicity #224]: #236
-#240 := [quant-intro #237]: #239
+#117 := (>= #29 0::Int)
+#147 := (or #117 #37)
+#845 := (forall (vars (?v0 Int)) (:pat #838) #147)
+#150 := (forall (vars (?v0 Int)) #147)
+#848 := (iff #150 #845)
+#846 := (iff #147 #147)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#267 := (~ #150 #150)
+#279 := (~ #147 #147)
+#280 := [refl]: #279
+#268 := [nnf-pos #280]: #267
 #36 := (< #29 0::Int)
 #38 := (implies #36 #37)
 #39 := (forall (vars (?v0 Int)) #38)
-#123 := (iff #39 #122)
-#120 := (iff #38 #117)
-#100 := (not #30)
-#114 := (implies #100 #37)
-#118 := (iff #114 #117)
-#119 := [rewrite]: #118
-#115 := (iff #38 #114)
-#109 := (iff #36 #100)
-#111 := (iff #100 #100)
-#96 := (iff #30 #30)
-#97 := [rewrite]: #96
-#112 := [monotonicity #97]: #111
-#110 := [rewrite]: #109
-#113 := [trans #110 #112]: #109
-#116 := [monotonicity #113]: #115
-#121 := [trans #116 #119]: #120
-#124 := [quant-intro #121]: #123
-#74 := [asserted]: #39
-#125 := [mp #74 #124]: #122
-#241 := [mp #125 #240]: #238
-#295 := [mp~ #241 #294]: #238
-#810 := [mp #295 #809]: #805
-#768 := (not #805)
-#605 := (or #768 #764 #601)
-#606 := (or #768 #602)
-#607 := (iff #606 #605)
-#568 := [rewrite]: #607
-#591 := [quant-inst #11]: #606
-#569 := [mp #591 #568]: #605
-#507 := [unit-resolution #569 #810]: #602
-#508 := [unit-resolution #507 #506]: #764
-#509 := (or #431 #751 #740)
-#510 := [th-lemma arith triangle-eq]: #509
-#511 := [unit-resolution #510 #516]: #742
-#504 := [unit-resolution #511 #508]: #751
-#706 := (or #742 #417)
-#716 := [def-axiom]: #706
-#512 := [unit-resolution #716 #504]: #742
-#697 := (not #724)
-#699 := (or #697 #714 #760)
-#700 := [def-axiom]: #699
-#497 := [unit-resolution #700 #512 #519]: #760
-#698 := (not #760)
-#498 := (or #698 #711)
-#499 := [th-lemma arith triangle-eq]: #498
-#501 := [unit-resolution #499 #497]: #711
-#502 := (not #711)
-#491 := (or #500 #740 #545 #704 #502)
-#492 := [th-lemma arith assign-bounds 1 1 3 -3]: #491
-#493 := [unit-resolution #492 #508 #501 #527 #540]: #500
-#485 := (not #584)
-#494 := (or #485 #588)
-#495 := [th-lemma arith triangle-eq]: #494
-#486 := [unit-resolution #495 #493 #536]: false
-#496 := [lemma #486]: #704
-#572 := (* -1::Int #468)
-#779 := (+ #80 #18 #572)
-#425 := (<= #779 0::Int)
-#442 := (= #779 0::Int)
-#463 := (>= #83 0::Int)
-#565 := (not #636)
-#408 := (or #463 #541 #565)
-#563 := [th-lemma arith assign-bounds 3 -1]: #408
-#458 := [unit-resolution #563 #839 #496]: #463
-#464 := (not #463)
-#783 := (or #464 #442)
+#153 := (iff #39 #150)
+#131 := (not #36)
+#132 := (or #131 #37)
+#135 := (forall (vars (?v0 Int)) #132)
+#151 := (iff #135 #150)
+#148 := (iff #132 #147)
+#145 := (iff #131 #117)
+#118 := (not #117)
+#140 := (not #118)
+#143 := (iff #140 #117)
+#144 := [rewrite]: #143
+#141 := (iff #131 #140)
+#138 := (iff #36 #118)
+#139 := [rewrite]: #138
+#142 := [monotonicity #139]: #141
+#146 := [trans #142 #144]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#136 := (iff #39 #135)
+#133 := (iff #38 #132)
+#134 := [rewrite]: #133
+#137 := [quant-intro #134]: #136
+#154 := [trans #137 #152]: #153
+#130 := [asserted]: #39
+#155 := [mp #130 #154]: #150
+#281 := [mp~ #155 #268]: #150
+#850 := [mp #281 #849]: #845
+#809 := (not #845)
+#646 := (or #809 #805 #642)
+#631 := (or #809 #643)
+#608 := (iff #631 #646)
+#609 := [rewrite]: #608
+#647 := [quant-inst #11]: #631
+#616 := [mp #647 #609]: #646
+#549 := [unit-resolution #616 #850]: #643
+#550 := [unit-resolution #549 #548]: #805
+#551 := (or #472 #632 #781)
+#544 := [th-lemma arith triangle-eq]: #551
+#552 := [unit-resolution #544 #558]: #611
+#537 := [unit-resolution #552 #550]: #632
+#756 := (or #611 #817)
+#757 := [def-axiom]: #756
+#538 := [unit-resolution #757 #537]: #611
+#739 := (not #649)
+#740 := (or #739 #759 #801)
+#741 := [def-axiom]: #740
+#539 := [unit-resolution #741 #538 #561]: #801
+#743 := (not #801)
+#541 := (or #743 #745)
+#540 := [th-lemma arith triangle-eq]: #541
+#542 := [unit-resolution #540 #539]: #745
+#532 := (not #745)
+#533 := (or #531 #781 #590 #746 #532)
+#525 := [th-lemma arith assign-bounds 1 1 3 -3]: #533
+#534 := [unit-resolution #525 #550 #542 #570 #567]: #531
+#535 := (not #625)
+#526 := (or #535 #599)
+#536 := [th-lemma arith triangle-eq]: #526
+#517 := [unit-resolution #536 #534 #577]: false
+#518 := [lemma #517]: #746
+#819 := (* -1::Int #508)
+#493 := (+ #18 #819)
+#494 := (+ #90 #493)
+#806 := (<= #494 0::Int)
+#482 := (= #494 0::Int)
+#503 := (>= #93 0::Int)
+#880 := (not #657)
+#881 := (or #503 #569 #880)
+#882 := [th-lemma arith assign-bounds 3 -1]: #881
+#962 := [unit-resolution #882 #929 #518]: #503
+#504 := (not #503)
+#823 := (or #504 #482)
 #33 := (= #32 #29)
-#225 := (not #222)
-#228 := (or #225 #33)
-#799 := (forall (vars (?v0 Int)) (:pat #798) #228)
-#231 := (forall (vars (?v0 Int)) #228)
-#802 := (iff #231 #799)
-#800 := (iff #228 #228)
-#801 := [refl]: #800
-#803 := [quant-intro #801]: #802
-#288 := (~ #231 #231)
-#284 := (~ #228 #228)
-#287 := [refl]: #284
-#285 := [nnf-pos #287]: #288
-#101 := (or #100 #33)
-#105 := (forall (vars (?v0 Int)) #101)
-#232 := (iff #105 #231)
-#229 := (iff #101 #228)
-#226 := (iff #100 #225)
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [quant-intro #230]: #232
+#121 := (or #118 #33)
+#839 := (forall (vars (?v0 Int)) (:pat #838) #121)
+#124 := (forall (vars (?v0 Int)) #121)
+#842 := (iff #124 #839)
+#840 := (iff #121 #121)
+#841 := [refl]: #840
+#843 := [quant-intro #841]: #842
+#265 := (~ #124 #124)
+#264 := (~ #121 #121)
+#261 := [refl]: #264
+#266 := [nnf-pos #261]: #265
+#30 := (<= 0::Int #29)
 #34 := (implies #30 #33)
 #35 := (forall (vars (?v0 Int)) #34)
-#106 := (iff #35 #105)
-#102 := (iff #34 #101)
-#103 := [rewrite]: #102
-#98 := (iff #34 #34)
-#99 := [monotonicity #97]: #98
-#104 := [trans #99 #103]: #102
-#107 := [quant-intro #104]: #106
-#73 := [asserted]: #35
-#108 := [mp #73 #107]: #105
-#234 := [mp #108 #233]: #231
-#286 := [mp~ #234 #285]: #231
-#804 := [mp #286 #803]: #799
-#786 := (not #799)
-#787 := (or #786 #464 #442)
-#465 := (= #468 #83)
-#469 := (or #464 #465)
-#788 := (or #786 #469)
-#781 := (iff #788 #787)
-#784 := (or #786 #783)
-#440 := (iff #784 #787)
-#445 := [rewrite]: #440
-#790 := (iff #788 #784)
-#453 := (iff #469 #783)
-#785 := (iff #465 #442)
-#448 := [rewrite]: #785
-#454 := [monotonicity #448]: #453
-#780 := [monotonicity #454]: #790
-#441 := [trans #780 #445]: #781
-#789 := [quant-inst #83]: #788
-#782 := [mp #789 #441]: #787
-#387 := [unit-resolution #782 #804]: #783
-#844 := [unit-resolution #387 #458]: #442
-#385 := (not #442)
-#388 := (or #385 #425)
-#389 := [th-lemma arith triangle-eq]: #388
-#858 := [unit-resolution #389 #844]: #425
-#386 := (not #425)
-#860 := (or #774 #541 #565 #386)
-#845 := [th-lemma arith assign-bounds 3 -1 1]: #860
-#846 := [unit-resolution #845 #858 #496 #839]: #774
-#411 := (<= #468 0::Int)
-#581 := (<= #18 0::Int)
-#847 := (or #595 #581)
-#848 := [th-lemma arith triangle-eq]: #847
-#849 := [unit-resolution #848 #850]: #581
-#707 := (<= #14 0::Int)
-#852 := [unit-resolution #515 #859]: #416
-#853 := (or #679 #707)
-#854 := [th-lemma arith triangle-eq]: #853
-#855 := [unit-resolution #854 #852]: #707
-#766 := (>= #779 0::Int)
-#381 := (or #385 #766)
-#379 := [th-lemma arith triangle-eq]: #381
-#842 := [unit-resolution #379 #844]: #766
-#825 := (not #766)
-#881 := (not #581)
-#843 := (not #707)
-#882 := (or #411 #843 #881 #825)
-#883 := [th-lemma arith assign-bounds -3 -1 1]: #882
-#884 := [unit-resolution #883 #842 #855 #849]: #411
-#856 := (not #774)
-#885 := (not #411)
-#857 := (or #429 #885 #856)
-#890 := [th-lemma arith triangle-eq]: #857
-#891 := [unit-resolution #890 #884 #846]: #429
-#482 := (= #83 #468)
-#449 := (+ #83 #572)
-#459 := (<= #449 0::Int)
-#391 := (or #459 #386)
-#378 := [th-lemma arith assign-bounds -1]: #391
-#892 := [unit-resolution #378 #858]: #459
-#460 := (>= #449 0::Int)
-#826 := (or #460 #825)
-#827 := [th-lemma arith assign-bounds -1]: #826
-#893 := [unit-resolution #827 #842]: #460
-#830 := (not #460)
-#829 := (not #459)
-#831 := (or #482 #829 #830)
-#832 := [th-lemma arith triangle-eq]: #831
-#894 := [unit-resolution #832 #893 #892]: #482
-#898 := [trans #894 #891]: #897
-#900 := [trans #898 #896]: #899
-#902 := [monotonicity #900]: #901
-#904 := [symm #902]: #903
-#409 := (= f3 #377)
-#405 := [symm #520]: #409
-#905 := [trans #405 #904]: #89
-#92 := (not #89)
+#127 := (iff #35 #124)
+#108 := (not #30)
+#109 := (or #108 #33)
+#112 := (forall (vars (?v0 Int)) #109)
+#125 := (iff #112 #124)
+#122 := (iff #109 #121)
+#119 := (iff #108 #118)
+#115 := (iff #30 #117)
+#116 := [rewrite]: #115
+#120 := [monotonicity #116]: #119
+#123 := [monotonicity #120]: #122
+#126 := [quant-intro #123]: #125
+#113 := (iff #35 #112)
+#110 := (iff #34 #109)
+#111 := [rewrite]: #110
+#114 := [quant-intro #111]: #113
+#128 := [trans #114 #126]: #127
+#106 := [asserted]: #35
+#129 := [mp #106 #128]: #124
+#262 := [mp~ #129 #266]: #124
+#844 := [mp #262 #843]: #839
+#827 := (not #839)
+#828 := (or #827 #504 #482)
+#505 := (= #508 #93)
+#509 := (or #504 #505)
+#829 := (or #827 #509)
+#481 := (iff #829 #828)
+#830 := (or #827 #823)
+#485 := (iff #830 #828)
+#821 := [rewrite]: #485
+#820 := (iff #829 #830)
+#612 := (iff #509 #823)
+#825 := (iff #505 #482)
+#488 := [rewrite]: #825
+#826 := [monotonicity #488]: #612
+#480 := [monotonicity #826]: #820
+#822 := [trans #480 #821]: #481
+#824 := [quant-inst #93]: #829
+#465 := [mp #824 #822]: #828
+#884 := [unit-resolution #465 #844]: #823
+#963 := [unit-resolution #884 #962]: #482
+#886 := (not #482)
+#887 := (or #886 #806)
+#888 := [th-lemma arith triangle-eq]: #887
+#964 := [unit-resolution #888 #963]: #806
+#890 := (not #806)
+#965 := (or #816 #569 #880 #890)
+#966 := [th-lemma arith assign-bounds 3 -1 1]: #965
+#967 := [unit-resolution #966 #964 #518 #929]: #816
+#814 := (<= #508 0::Int)
+#676 := (<= #18 0::Int)
+#968 := (or #636 #676)
+#969 := [th-lemma arith triangle-eq]: #968
+#970 := [unit-resolution #969 #956]: #676
+#744 := (<= #14 0::Int)
+#971 := [unit-resolution #557 #953]: #457
+#972 := (or #720 #744)
+#973 := [th-lemma arith triangle-eq]: #972
+#974 := [unit-resolution #973 #971]: #744
+#469 := (>= #494 0::Int)
+#894 := (or #886 #469)
+#895 := [th-lemma arith triangle-eq]: #894
+#975 := [unit-resolution #895 #963]: #469
+#897 := (not #469)
+#977 := (not #676)
+#976 := (not #744)
+#978 := (or #814 #976 #977 #897)
+#979 := [th-lemma arith assign-bounds -3 -1 1]: #978
+#980 := [unit-resolution #979 #975 #974 #970]: #814
+#982 := (not #816)
+#981 := (not #814)
+#983 := (or #470 #981 #982)
+#984 := [th-lemma arith triangle-eq]: #983
+#985 := [unit-resolution #984 #980 #967]: #470
+#491 := (= #93 #508)
+#492 := (+ #93 #819)
+#490 := (<= #492 0::Int)
+#891 := (or #490 #890)
+#892 := [th-lemma arith assign-bounds -1]: #891
+#986 := [unit-resolution #892 #964]: #490
+#501 := (>= #492 0::Int)
+#898 := (or #501 #897)
+#899 := [th-lemma arith assign-bounds -1]: #898
+#987 := [unit-resolution #899 #975]: #501
+#902 := (not #501)
+#901 := (not #490)
+#903 := (or #491 #901 #902)
+#904 := [th-lemma arith triangle-eq]: #903
+#988 := [unit-resolution #904 #987 #986]: #491
+#992 := [trans #988 #985]: #991
+#994 := [trans #992 #990]: #993
+#996 := [monotonicity #994]: #995
+#998 := [symm #996]: #997
+#450 := (= f3 #418)
+#433 := [symm #562]: #450
+#999 := [trans #433 #998]: #99
+#102 := (not #99)
 #15 := (* #14 3::Int)
 #19 := (+ #15 #18)
 #20 := (f4 f5 #19)
 #21 := (= f3 #20)
 #22 := (not #21)
-#93 := (iff #22 #92)
-#90 := (iff #21 #89)
-#87 := (= #20 #86)
-#84 := (= #19 #83)
-#81 := (= #15 #80)
-#82 := [rewrite]: #81
-#85 := [monotonicity #82]: #84
-#88 := [monotonicity #85]: #87
-#91 := [monotonicity #88]: #90
-#94 := [monotonicity #91]: #93
-#71 := [asserted]: #22
-#95 := [mp #71 #94]: #92
-#906 := [unit-resolution #95 #905]: false
-#907 := [lemma #906]: #691
-#835 := (or #431 #714)
-#710 := (<= #383 0::Int)
-#603 := [hypothesis]: #742
-#604 := [hypothesis]: #691
-#576 := [unit-resolution #518 #604]: #724
-#583 := [unit-resolution #700 #576 #603]: #760
-#582 := (or #698 #710)
-#578 := [th-lemma arith triangle-eq]: #582
-#579 := [unit-resolution #578 #583]: #710
-#617 := (<= #687 0::Int)
-#567 := (or #431 #661)
-#589 := (or #633 #431 #661)
-#590 := [def-axiom]: #589
-#546 := [unit-resolution #590 #580]: #567
-#566 := [unit-resolution #546 #604]: #661
-#643 := (not #661)
-#611 := (or #643 #714 #677)
-#618 := [def-axiom]: #611
-#562 := [unit-resolution #618 #566 #603]: #677
-#610 := (not #677)
-#549 := (or #610 #617)
-#553 := [th-lemma arith triangle-eq]: #549
-#555 := [unit-resolution #553 #562]: #617
-#556 := [unit-resolution #499 #583]: #711
-#641 := (>= #687 0::Int)
-#554 := (or #610 #641)
-#557 := [th-lemma arith triangle-eq]: #554
-#550 := [unit-resolution #557 #562]: #641
-#559 := (>= #709 0::Int)
-#551 := (or false #559)
-#547 := [th-lemma arith]: #551
-#552 := [unit-resolution #547 #219]: #559
-#414 := (not #641)
-#587 := (not #559)
-#570 := (or #636 #587 #414)
-#560 := [th-lemma arith assign-bounds 1 1]: #570
-#561 := [unit-resolution #560 #550 #552]: #636
-#564 := [unit-resolution #563 #561 #496]: #463
-#384 := [unit-resolution #387 #564]: #442
-#390 := [unit-resolution #389 #384]: #425
-#380 := [unit-resolution #378 #390]: #459
-#382 := [unit-resolution #379 #384]: #766
-#828 := [unit-resolution #827 #382]: #460
-#833 := [unit-resolution #832 #828 #380]: #482
-#427 := (not #710)
-#439 := (not #617)
-#402 := (not #482)
-#394 := (or #402 #414 #502 #439 #427)
-#477 := (f4 f5 #468)
-#478 := (= #477 #86)
-#480 := (or #455 #478)
-#481 := [quant-inst #86]: #480
-#426 := [unit-resolution #481 #797]: #478
-#396 := (= f3 #477)
-#410 := (= #377 #477)
-#406 := (= #11 #468)
-#428 := [hypothesis]: #482
-#450 := (= #11 #83)
-#461 := (* -1::Int #83)
-#444 := (+ #11 #461)
-#447 := (>= #444 0::Int)
-#433 := [hypothesis]: #710
-#558 := (>= #586 0::Int)
-#434 := (or #485 #558)
-#435 := [th-lemma arith triangle-eq]: #434
-#436 := [unit-resolution #435 #536]: #558
-#437 := [hypothesis]: #617
-#438 := (not #558)
-#420 := (or #447 #438 #427 #439)
-#422 := [th-lemma arith assign-bounds -1 3 1]: #420
-#423 := [unit-resolution #422 #437 #436 #433]: #447
-#446 := (<= #444 0::Int)
-#421 := [hypothesis]: #711
-#424 := [unit-resolution #495 #536]: #588
-#412 := [hypothesis]: #641
-#415 := (or #446 #500 #502 #414)
-#418 := [th-lemma arith assign-bounds -1 3 1]: #415
-#413 := [unit-resolution #418 #412 #424 #421]: #446
-#393 := (not #447)
-#419 := (not #446)
-#398 := (or #450 #419 #393)
-#399 := [th-lemma arith triangle-eq]: #398
-#404 := [unit-resolution #399 #413 #423]: #450
-#407 := [trans #404 #428]: #406
-#392 := [monotonicity #407]: #410
-#397 := [trans #405 #392]: #396
-#400 := [trans #397 #426]: #89
-#401 := [unit-resolution #95 #400]: false
-#403 := [lemma #401]: #394
-#834 := [unit-resolution #403 #833 #550 #556 #555 #579]: false
-#836 := [lemma #834]: #835
-#908 := [unit-resolution #836 #907]: #714
-#888 := (or #431 #740)
-#886 := [hypothesis]: #764
-#542 := [hypothesis]: #751
-#532 := [unit-resolution #716 #542]: #742
-#534 := [unit-resolution #836 #532]: #431
-#535 := (or #691 #417)
-#538 := [th-lemma arith triangle-eq]: #535
-#452 := [unit-resolution #538 #534 #542]: false
-#443 := [lemma #452]: #417
-#887 := [unit-resolution #510 #604 #443 #886]: false
-#889 := [lemma #887]: #888
-#909 := [unit-resolution #889 #907]: #740
-#717 := (or #742 #764)
-#718 := [def-axiom]: #717
-[unit-resolution #718 #909 #908]: false
-810a5a888a26e956d3d96c0f529162bda0f4210f 76 0
-unsat
+#103 := (iff #22 #102)
+#100 := (iff #21 #99)
+#97 := (= #20 #96)
+#94 := (= #19 #93)
+#91 := (= #15 #90)
+#92 := [rewrite]: #91
+#95 := [monotonicity #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [monotonicity #101]: #103
+#89 := [asserted]: #22
+#107 := [mp #89 #104]: #102
+#1000 := [unit-resolution #107 #999]: false
+#1001 := [lemma #1000]: #735
+#907 := (or #472 #759)
+#751 := (<= #800 0::Int)
+#426 := [hypothesis]: #611
+#429 := [hypothesis]: #735
+#430 := [unit-resolution #560 #429]: #649
+#431 := [unit-resolution #741 #430 #426]: #801
+#427 := (or #743 #751)
+#432 := [th-lemma arith triangle-eq]: #427
+#419 := [unit-resolution #432 #431]: #751
+#681 := (<= #717 0::Int)
+#422 := (or #472 #702)
+#630 := (or #653 #472 #702)
+#635 := [def-axiom]: #630
+#420 := [unit-resolution #635 #421]: #422
+#423 := [unit-resolution #420 #429]: #702
+#651 := (not #702)
+#658 := (or #651 #759 #728)
+#617 := [def-axiom]: #658
+#865 := [unit-resolution #617 #423 #426]: #728
+#652 := (not #728)
+#866 := (or #652 #681)
+#867 := [th-lemma arith triangle-eq]: #866
+#868 := [unit-resolution #867 #865]: #681
+#869 := [unit-resolution #540 #431]: #745
+#682 := (>= #717 0::Int)
+#870 := (or #652 #682)
+#871 := [th-lemma arith triangle-eq]: #870
+#872 := [unit-resolution #871 #865]: #682
+#601 := (>= #750 0::Int)
+#873 := (or false #601)
+#874 := [th-lemma arith]: #873
+#875 := [unit-resolution #874 #87]: #601
+#458 := (not #682)
+#876 := (not #601)
+#877 := (or #657 #876 #458)
+#878 := [th-lemma arith assign-bounds 1 1]: #877
+#879 := [unit-resolution #878 #872 #875]: #657
+#883 := [unit-resolution #882 #879 #518]: #503
+#885 := [unit-resolution #884 #883]: #482
+#889 := [unit-resolution #888 #885]: #806
+#893 := [unit-resolution #892 #889]: #490
+#896 := [unit-resolution #895 #885]: #469
+#900 := [unit-resolution #899 #896]: #501
+#905 := [unit-resolution #904 #900 #893]: #491
+#460 := (not #751)
+#462 := (not #681)
+#443 := (not #491)
+#428 := (or #443 #458 #532 #462 #460)
+#519 := (f4 f5 #508)
+#511 := (= #519 #96)
+#512 := (or #495 #511)
+#522 := [quant-inst #96]: #512
+#473 := [unit-resolution #522 #837]: #511
+#440 := (= f3 #519)
+#436 := (= #418 #519)
+#449 := (= #11 #508)
+#474 := [hypothesis]: #491
+#484 := (= #11 #93)
+#486 := (* -1::Int #93)
+#487 := (+ #11 #486)
+#468 := (>= #487 0::Int)
+#475 := [hypothesis]: #751
+#600 := (>= #610 0::Int)
+#476 := (or #535 #600)
+#477 := [th-lemma arith triangle-eq]: #476
+#478 := [unit-resolution #477 #577]: #600
+#467 := [hypothesis]: #681
+#479 := (not #600)
+#463 := (or #468 #479 #460 #462)
+#461 := [th-lemma arith assign-bounds -1 3 1]: #463
+#464 := [unit-resolution #461 #467 #478 #475]: #468
+#466 := (<= #487 0::Int)
+#452 := [hypothesis]: #745
+#454 := [unit-resolution #536 #577]: #599
+#455 := [hypothesis]: #682
+#453 := (or #466 #531 #532 #458)
+#459 := [th-lemma arith assign-bounds -1 3 1]: #453
+#434 := [unit-resolution #459 #455 #454 #452]: #466
+#439 := (not #468)
+#438 := (not #466)
+#444 := (or #484 #438 #439)
+#446 := [th-lemma arith triangle-eq]: #444
+#447 := [unit-resolution #446 #434 #464]: #484
+#445 := [trans #447 #474]: #449
+#437 := [monotonicity #445]: #436
+#441 := [trans #433 #437]: #440
+#442 := [trans #441 #473]: #99
+#435 := [unit-resolution #107 #442]: false
+#425 := [lemma #435]: #428
+#906 := [unit-resolution #425 #905 #872 #869 #868 #419]: false
+#908 := [lemma #906]: #907
+#1002 := [unit-resolution #908 #1001]: #759
+#960 := (or #472 #781)
+#958 := [hypothesis]: #805
+#574 := [hypothesis]: #632
+#575 := [unit-resolution #757 #574]: #611
+#578 := [unit-resolution #908 #575]: #472
+#579 := (or #735 #817)
+#583 := [th-lemma arith triangle-eq]: #579
+#496 := [unit-resolution #583 #578 #574]: false
+#497 := [lemma #496]: #817
+#959 := [unit-resolution #544 #429 #497 #958]: false
+#961 := [lemma #959]: #960
+#1003 := [unit-resolution #961 #1001]: #781
+#758 := (or #611 #805)
+#754 := [def-axiom]: #758
+[unit-resolution #754 #1003 #1002]: false
+unsat
+eda44a5672e0665e25283a25dd7f355a8eaca7e9 62 0
+#2 := false
+#22 := 0::Int
+decl f3 :: (-> S2 S3 Int)
+decl f6 :: S3
+#10 := f6
+decl f4 :: S2
+#7 := f4
+#11 := (f3 f4 f6)
+decl f5 :: S3
+#8 := f5
+#9 := (f3 f4 f5)
+#56 := -1::Int
+#57 := (* -1::Int #11)
+#58 := (+ #9 #57)
+#59 := (<= #58 0::Int)
+#62 := (if #59 #9 #11)
+#70 := (* -1::Int #62)
+#253 := (+ #11 #70)
+#602 := (>= #253 0::Int)
+#290 := (= #11 #62)
+#206 := (not #59)
+#205 := (= #9 #62)
+#598 := (not #205)
+#71 := (+ #9 #70)
+#69 := (>= #71 0::Int)
+#75 := (not #69)
+#12 := (<= #9 #11)
+#13 := (if #12 #9 #11)
+#14 := (<= #13 #9)
+#15 := (not #14)
+#76 := (iff #15 #75)
+#73 := (iff #14 #69)
+#65 := (<= #62 #9)
+#68 := (iff #65 #69)
+#72 := [rewrite]: #68
+#66 := (iff #14 #65)
+#63 := (= #13 #62)
+#60 := (iff #12 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
+#74 := [trans #67 #72]: #73
+#77 := [monotonicity #74]: #76
+#53 := [asserted]: #15
+#78 := [mp #53 #77]: #75
+#594 := [hypothesis]: #205
+#599 := (or #598 #69)
+#600 := [th-lemma arith triangle-eq]: #599
+#595 := [unit-resolution #600 #594 #78]: false
+#601 := [lemma #595]: #598
+#291 := (or #206 #205)
+#292 := [def-axiom]: #291
+#604 := [unit-resolution #292 #601]: #206
+#283 := (or #59 #290)
+#294 := [def-axiom]: #283
+#244 := [unit-resolution #294 #604]: #290
+#245 := (not #290)
+#605 := (or #245 #602)
+#603 := [th-lemma arith triangle-eq]: #605
+#606 := [unit-resolution #603 #244]: #602
+[th-lemma arith farkas 1 1 1 #78 #604 #606]: false
+unsat
+97b1f19af776d1080cad185bb98c38caf958ba23 62 0
+#2 := false
+#22 := 0::Int
+decl f3 :: (-> S2 S3 Int)
+decl f6 :: S3
+#10 := f6
+decl f4 :: S2
+#7 := f4
+#11 := (f3 f4 f6)
+decl f5 :: S3
+#8 := f5
+#9 := (f3 f4 f5)
+#56 := -1::Int
+#57 := (* -1::Int #11)
+#58 := (+ #9 #57)
+#59 := (<= #58 0::Int)
+#62 := (if #59 #9 #11)
+#69 := (* -1::Int #62)
+#70 := (+ #11 #69)
+#68 := (>= #70 0::Int)
+#75 := (not #68)
+#12 := (<= #9 #11)
+#13 := (if #12 #9 #11)
+#14 := (<= #13 #11)
+#15 := (not #14)
+#76 := (iff #15 #75)
+#73 := (iff #14 #68)
+#65 := (<= #62 #11)
+#71 := (iff #65 #68)
+#72 := [rewrite]: #71
+#66 := (iff #14 #65)
+#63 := (= #13 #62)
+#60 := (iff #12 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
+#74 := [trans #67 #72]: #73
+#77 := [monotonicity #74]: #76
+#53 := [asserted]: #15
+#78 := [mp #53 #77]: #75
+#290 := (= #11 #62)
+#206 := (not #59)
+#599 := [hypothesis]: #59
+#253 := (+ #9 #69)
+#598 := (>= #253 0::Int)
+#205 := (= #9 #62)
+#291 := (or #206 #205)
+#292 := [def-axiom]: #291
+#600 := [unit-resolution #292 #599]: #205
+#595 := (not #205)
+#601 := (or #595 #598)
+#239 := [th-lemma arith triangle-eq]: #601
+#602 := [unit-resolution #239 #600]: #598
+#604 := [th-lemma arith farkas -1 1 1 #602 #78 #599]: false
+#244 := [lemma #604]: #206
+#283 := (or #59 #290)
+#294 := [def-axiom]: #283
+#245 := [unit-resolution #294 #244]: #290
+#605 := (not #290)
+#603 := (or #605 #68)
+#606 := [th-lemma arith triangle-eq]: #603
+[unit-resolution #606 #245 #78]: false
+unsat
+3471bb506d588114610f4dc57e0a4000d67c30d5 238 0
 #2 := false
 #23 := 0::Int
 decl f3 :: (-> S2 S3 Int)
 decl f6 :: S3
 #10 := f6
-decl f5 :: S3
-#8 := f5
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#93 := -1::Int
-#94 := (* -1::Int #11)
-#9 := (f3 f4 f5)
-#95 := (+ #9 #94)
-#96 := (<= #95 0::Int)
-#99 := (if #96 f5 f6)
-#102 := (f3 f4 #99)
-#110 := (* -1::Int #102)
-#539 := (+ #11 #110)
-#250 := (>= #539 0::Int)
-#535 := (= #11 #102)
-#238 := (= f6 #99)
-#153 := (not #96)
-#152 := (= f5 #99)
-#534 := (not #152)
-#550 := (= #9 #102)
-#537 := [hypothesis]: #152
-#259 := [monotonicity #537]: #550
-#263 := (not #550)
-#111 := (+ #9 #110)
-#109 := (>= #111 0::Int)
-#115 := (not #109)
-#12 := (<= #9 #11)
-#13 := (if #12 f5 f6)
-#14 := (f3 f4 #13)
-#15 := (<= #14 #9)
-#16 := (not #15)
-#116 := (iff #16 #115)
-#113 := (iff #15 #109)
-#105 := (<= #102 #9)
-#108 := (iff #105 #109)
-#112 := [rewrite]: #108
-#106 := (iff #15 #105)
-#103 := (= #14 #102)
-#100 := (= #13 #99)
-#97 := (iff #12 #96)
-#98 := [rewrite]: #97
-#101 := [monotonicity #98]: #100
-#104 := [monotonicity #101]: #103
-#107 := [monotonicity #104]: #106
-#114 := [trans #107 #112]: #113
-#117 := [monotonicity #114]: #116
-#36 := [asserted]: #16
-#118 := [mp #36 #117]: #115
-#264 := (or #263 #109)
-#265 := [th-lemma arith triangle-eq]: #264
-#536 := [unit-resolution #265 #118]: #263
-#260 := [unit-resolution #536 #259]: false
-#538 := [lemma #260]: #534
-#239 := (or #153 #152)
-#240 := [def-axiom]: #239
-#251 := [unit-resolution #240 #538]: #153
-#231 := (or #96 #238)
-#242 := [def-axiom]: #231
-#252 := [unit-resolution #242 #251]: #238
-#530 := [monotonicity #252]: #535
-#531 := (not #535)
-#246 := (or #531 #250)
-#528 := [th-lemma arith triangle-eq]: #246
-#532 := [unit-resolution #528 #530]: #250
-#552 := (<= #111 0::Int)
-#529 := (or #552 #109)
-#533 := [th-lemma arith farkas 1 1]: #529
-#522 := [unit-resolution #533 #118]: #552
-[th-lemma arith farkas 1 1 1 #522 #251 #532]: false
-c764f14739302794beeeecf4b3e02d727d24560d 70 0
-unsat
-#2 := false
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: S3
-#10 := f6
 decl f5 :: S3
 #8 := f5
-#23 := 0::Int
-decl f4 :: S2
-#7 := f4
-#11 := (f3 f4 f6)
-#93 := -1::Int
-#94 := (* -1::Int #11)
 #9 := (f3 f4 f5)
-#95 := (+ #9 #94)
-#96 := (<= #95 0::Int)
-#99 := (if #96 f5 f6)
-#102 := (f3 f4 #99)
-#541 := (= #11 #102)
-#238 := (= f6 #99)
-#153 := (not #96)
-#264 := [hypothesis]: #96
-#109 := (* -1::Int #102)
-#110 := (+ #11 #109)
-#108 := (>= #110 0::Int)
-#115 := (not #108)
-#12 := (<= #9 #11)
-#13 := (if #12 f5 f6)
-#14 := (f3 f4 #13)
-#15 := (<= #14 #11)
-#16 := (not #15)
-#116 := (iff #16 #115)
-#113 := (iff #15 #108)
-#105 := (<= #102 #11)
-#111 := (iff #105 #108)
-#112 := [rewrite]: #111
-#106 := (iff #15 #105)
-#103 := (= #14 #102)
-#100 := (= #13 #99)
-#97 := (iff #12 #96)
-#98 := [rewrite]: #97
-#101 := [monotonicity #98]: #100
-#104 := [monotonicity #101]: #103
-#107 := [monotonicity #104]: #106
-#114 := [trans #107 #112]: #113
-#117 := [monotonicity #114]: #116
-#36 := [asserted]: #16
-#118 := [mp #36 #117]: #115
-#552 := (+ #9 #109)
-#263 := (>= #552 0::Int)
-#550 := (= #9 #102)
-#152 := (= f5 #99)
-#239 := (or #153 #152)
-#240 := [def-axiom]: #239
-#265 := [unit-resolution #240 #264]: #152
-#266 := [monotonicity #265]: #550
-#159 := (not #550)
-#536 := (or #159 #263)
-#537 := [th-lemma arith triangle-eq]: #536
-#259 := [unit-resolution #537 #266]: #263
-#260 := [th-lemma arith farkas -1 1 1 #259 #118 #264]: false
-#534 := [lemma #260]: #153
-#231 := (or #96 #238)
-#242 := [def-axiom]: #231
-#535 := [unit-resolution #242 #534]: #238
-#539 := [monotonicity #535]: #541
-#249 := (not #541)
-#250 := (or #249 #108)
-#251 := [th-lemma arith triangle-eq]: #250
-[unit-resolution #251 #118 #539]: false
-70478f198d5c721b2266791e6619f9347bb3a4b8 247 0
-unsat
-#2 := false
-#24 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: S3
-#8 := f5
-decl f4 :: S2
-#7 := f4
-#9 := (f3 f4 f5)
-#505 := (= #9 0::Int)
+#57 := -1::Int
+#58 := (* -1::Int #11)
+#59 := (+ #9 #58)
+#60 := (<= #59 0::Int)
+#63 := (if #60 #9 #11)
+#72 := (* -1::Int #63)
+#255 := (+ #9 #72)
+#600 := (>= #255 0::Int)
+#607 := (not #600)
+#617 := (>= #11 0::Int)
+#586 := (= #11 0::Int)
 decl f7 :: (-> S4 Int S3)
 decl f8 :: S4
-#18 := f8
-#244 := (f7 f8 #9)
-#563 := (f3 f4 #244)
-#566 := (= #563 0::Int)
-#231 := (>= #9 0::Int)
-#405 := (not #231)
+#17 := f8
+#295 := (f7 f8 #11)
+#618 := (f3 f4 #295)
+#271 := (= #618 0::Int)
+#592 := (not #617)
+#439 := [hypothesis]: #592
+#612 := (or #617 #271)
+#24 := (:var 0 Int)
+#26 := (f7 f8 #24)
+#628 := (pattern #26)
+#27 := (f3 f4 #26)
+#32 := (= #27 0::Int)
+#89 := (>= #24 0::Int)
+#120 := (or #89 #32)
+#635 := (forall (vars (?v0 Int)) (:pat #628) #120)
+#123 := (forall (vars (?v0 Int)) #120)
+#638 := (iff #123 #635)
+#636 := (iff #120 #120)
+#637 := [refl]: #636
+#639 := [quant-intro #637]: #638
+#136 := (~ #123 #123)
+#144 := (~ #120 #120)
+#145 := [refl]: #144
+#137 := [nnf-pos #145]: #136
+#31 := (< #24 0::Int)
+#33 := (implies #31 #32)
+#34 := (forall (vars (?v0 Int)) #33)
+#126 := (iff #34 #123)
+#104 := (not #31)
+#105 := (or #104 #32)
+#108 := (forall (vars (?v0 Int)) #105)
+#124 := (iff #108 #123)
+#121 := (iff #105 #120)
+#118 := (iff #104 #89)
+#91 := (not #89)
+#113 := (not #91)
+#116 := (iff #113 #89)
+#117 := [rewrite]: #116
+#114 := (iff #104 #113)
+#111 := (iff #31 #91)
+#112 := [rewrite]: #111
+#115 := [monotonicity #112]: #114
+#119 := [trans #115 #117]: #118
+#122 := [monotonicity #119]: #121
+#125 := [quant-intro #122]: #124
+#109 := (iff #34 #108)
+#106 := (iff #33 #105)
+#107 := [rewrite]: #106
+#110 := [quant-intro #107]: #109
+#127 := [trans #110 #125]: #126
+#103 := [asserted]: #34
+#128 := [mp #103 #127]: #123
+#146 := [mp~ #128 #137]: #123
+#640 := [mp #146 #639]: #635
+#619 := (not #635)
+#259 := (or #619 #617 #271)
+#260 := (or #619 #612)
+#262 := (iff #260 #259)
+#598 := [rewrite]: #262
+#261 := [quant-inst #11]: #260
+#599 := [mp #261 #598]: #259
+#304 := [unit-resolution #599 #640]: #612
+#454 := [unit-resolution #304 #439]: #271
+#300 := (= #11 #618)
+#584 := (= f6 #295)
+#299 := (= #295 f6)
+#18 := (:var 0 S3)
+#19 := (f3 f4 #18)
+#621 := (pattern #19)
+#20 := (f7 f8 #19)
+#21 := (= #20 #18)
+#622 := (forall (vars (?v0 S3)) (:pat #621) #21)
+#22 := (forall (vars (?v0 S3)) #21)
+#625 := (iff #22 #622)
+#623 := (iff #21 #21)
+#624 := [refl]: #623
+#626 := [quant-intro #624]: #625
+#142 := (~ #22 #22)
+#140 := (~ #21 #21)
+#141 := [refl]: #140
+#143 := [nnf-pos #141]: #142
+#55 := [asserted]: #22
+#132 := [mp~ #55 #143]: #22
+#627 := [mp #132 #626]: #622
+#278 := (not #622)
+#609 := (or #278 #299)
+#283 := [quant-inst #10]: #609
+#306 := [unit-resolution #283 #627]: #299
+#585 := [symm #306]: #584
+#582 := [monotonicity #585]: #300
+#456 := [trans #582 #454]: #586
+#457 := (not #586)
+#450 := (or #457 #617)
+#458 := [th-lemma arith triangle-eq]: #450
+#459 := [unit-resolution #458 #439 #456]: false
+#460 := [lemma #459]: #617
+#555 := (or #592 #607)
+#73 := (+ #11 #72)
+#74 := (+ #9 #73)
+#70 := (>= #74 0::Int)
+#77 := (not #70)
+#14 := (+ #9 #11)
+#12 := (<= #9 #11)
+#13 := (if #12 #9 #11)
+#15 := (<= #13 #14)
+#16 := (not #15)
+#78 := (iff #16 #77)
+#75 := (iff #15 #70)
+#66 := (<= #63 #14)
+#69 := (iff #66 #70)
+#71 := [rewrite]: #69
+#67 := (iff #15 #66)
+#64 := (= #13 #63)
+#61 := (iff #12 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#68 := [monotonicity #65]: #67
+#76 := [trans #68 #71]: #75
+#79 := [monotonicity #76]: #78
+#54 := [asserted]: #16
+#80 := [mp #54 #79]: #77
+#589 := (or #592 #607 #70)
+#593 := [th-lemma arith assign-bounds 1 -1]: #589
+#552 := [unit-resolution #593 #80]: #555
+#556 := [unit-resolution #552 #460]: #607
+#207 := (= #9 #63)
+#297 := (f7 f8 #9)
+#402 := (f3 f4 #297)
+#284 := (= #402 0::Int)
+#405 := (iff #284 #207)
+#445 := (iff #207 #284)
+#562 := (= #63 0::Int)
+#424 := (>= #73 0::Int)
+#292 := (= #11 #63)
+#580 := (iff #284 #292)
+#574 := (iff #292 #284)
+#587 := (= 0::Int #402)
+#578 := (iff #587 #284)
+#573 := [commutativity]: #578
+#576 := (iff #292 #587)
+#314 := (= #63 #402)
+#591 := (= #9 #402)
+#319 := (= f5 #297)
+#298 := (= #297 f5)
+#613 := (or #278 #298)
+#615 := [quant-inst #8]: #613
+#318 := [unit-resolution #615 #627]: #298
+#320 := [symm #318]: #319
+#313 := [monotonicity #320]: #591
+#214 := (= #63 #9)
+#601 := (not #292)
+#602 := [hypothesis]: #601
+#285 := (or #60 #292)
+#296 := [def-axiom]: #285
+#597 := [unit-resolution #296 #602]: #60
+#208 := (not #60)
+#293 := (or #208 #207)
+#294 := [def-axiom]: #293
+#603 := [unit-resolution #294 #597]: #207
+#590 := [symm #603]: #214
+#588 := [trans #590 #313]: #314
+#241 := (not #207)
+#604 := (or #241 #600)
+#606 := [th-lemma arith triangle-eq]: #604
+#246 := [unit-resolution #606 #603]: #600
+#303 := [unit-resolution #593 #246 #80]: #592
+#305 := [unit-resolution #304 #303]: #271
+#583 := [trans #582 #305]: #586
+#577 := [monotonicity #583 #588]: #576
+#579 := [trans #577 #573]: #574
+#575 := [symm #579]: #580
+#272 := (>= #9 0::Int)
+#247 := (not #272)
+#605 := (or #247 #208 #607 #70)
+#608 := [th-lemma arith assign-bounds -1 1 -1]: #605
+#594 := [unit-resolution #608 #597 #80 #246]: #247
+#616 := (or #272 #284)
+#614 := (or #619 #272 #284)
+#620 := (or #619 #616)
+#270 := (iff #620 #614)
+#275 := [rewrite]: #270
+#610 := [quant-inst #9]: #620
+#611 := [mp #610 #275]: #614
+#595 := [unit-resolution #611 #640]: #616
+#317 := [unit-resolution #595 #594]: #284
+#581 := [mp #317 #575]: #292
+#422 := [unit-resolution #602 #581]: false
+#423 := [lemma #422]: #292
+#567 := (or #601 #424)
+#568 := [th-lemma arith triangle-eq]: #567
+#569 := [unit-resolution #568 #423]: #424
+#566 := [hypothesis]: #241
+#572 := [unit-resolution #294 #566]: #208
+#563 := (not #424)
+#401 := (or #592 #563 #60 #70)
+#403 := [th-lemma arith assign-bounds 1 1 1]: #401
+#404 := [unit-resolution #403 #572 #80 #569]: #592
+#557 := [unit-resolution #304 #404]: #271
+#561 := (= #63 #618)
+#558 := (= #63 #11)
+#560 := [symm #423]: #558
+#559 := [trans #560 #582]: #561
+#444 := [trans #559 #557]: #562
+#446 := [monotonicity #313 #444]: #445
+#553 := [symm #446]: #405
+#564 := (or #247 #563 #70)
+#570 := [th-lemma arith assign-bounds 1 -1]: #564
+#571 := [unit-resolution #570 #569 #80]: #247
+#565 := [unit-resolution #595 #571]: #284
+#455 := [mp #565 #553]: #207
+#550 := [unit-resolution #566 #455]: false
+#551 := [lemma #550]: #207
+[unit-resolution #606 #551 #556]: false
+unsat
+fe9dfffa2627f52b211026454fe85b424a23c79e 109 0
+#2 := false
+#28 := 0::Int
+decl f3 :: (-> S2 S3 Int)
+decl f7 :: S3
+#13 := f7
+decl f4 :: S2
+#7 := f4
+#14 := (f3 f4 f7)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#94 := -1::Int
-#95 := (* -1::Int #11)
-#96 := (+ #9 #95)
-#97 := (<= #96 0::Int)
-#100 := (if #97 f5 f6)
-#103 := (f3 f4 #100)
-#111 := (* -1::Int #103)
-#112 := (+ #9 #11 #111)
-#110 := (>= #112 0::Int)
-#116 := (not #110)
-#15 := (+ #9 #11)
-#12 := (<= #9 #11)
-#13 := (if #12 f5 f6)
-#14 := (f3 f4 #13)
-#16 := (<= #14 #15)
-#17 := (not #16)
-#117 := (iff #17 #116)
-#114 := (iff #16 #110)
-#106 := (<= #103 #15)
-#109 := (iff #106 #110)
-#113 := [rewrite]: #109
-#107 := (iff #16 #106)
-#104 := (= #14 #103)
-#101 := (= #13 #100)
-#98 := (iff #12 #97)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#105 := [monotonicity #102]: #104
-#108 := [monotonicity #105]: #107
-#115 := [trans #108 #113]: #114
-#118 := [monotonicity #115]: #117
-#37 := [asserted]: #17
-#119 := [mp #37 #118]: #116
-#542 := (+ #11 #111)
-#507 := (>= #542 0::Int)
-#511 := (= #11 #103)
-#239 := (= f6 #100)
-#219 := (f7 f8 #103)
-#349 := (= #219 #100)
-#19 := (:var 0 S3)
-#20 := (f3 f4 #19)
-#568 := (pattern #20)
-#21 := (f7 f8 #20)
-#22 := (= #21 #19)
-#569 := (forall (vars (?v0 S3)) (:pat #568) #22)
-#23 := (forall (vars (?v0 S3)) #22)
-#572 := (iff #23 #569)
-#570 := (iff #22 #22)
-#571 := [refl]: #570
-#573 := [quant-intro #571]: #572
-#92 := (~ #23 #23)
-#142 := (~ #22 #22)
-#143 := [refl]: #142
-#93 := [nnf-pos #143]: #92
-#38 := [asserted]: #23
-#146 := [mp~ #38 #93]: #23
-#574 := [mp #146 #573]: #569
-#225 := (not #569)
-#564 := (or #225 #349)
-#565 := [quant-inst #100]: #564
-#267 := [unit-resolution #565 #574]: #349
-#519 := (= f6 #219)
-#242 := (f7 f8 #11)
-#518 := (= #242 #219)
-#209 := (f3 f4 #219)
-#371 := (= #209 #103)
-#522 := (= #103 #209)
-#532 := (= #100 #219)
-#247 := [symm #267]: #532
-#528 := [monotonicity #247]: #522
-#513 := [symm #528]: #371
-#516 := (= #11 #209)
-#369 := (= 0::Int #209)
-#550 := (= #209 0::Int)
-#208 := (>= #103 0::Int)
-#536 := (not #208)
-#553 := (+ #9 #111)
-#264 := (>= #553 0::Int)
-#551 := (= #9 #103)
-#153 := (= f5 #100)
-#265 := (not #239)
-#266 := [hypothesis]: #265
-#232 := (or #97 #239)
-#243 := [def-axiom]: #232
-#160 := [unit-resolution #243 #266]: #97
-#154 := (not #97)
-#240 := (or #154 #153)
-#241 := [def-axiom]: #240
-#537 := [unit-resolution #241 #160]: #153
-#538 := [monotonicity #537]: #551
-#260 := (not #551)
-#261 := (or #260 #264)
-#535 := [th-lemma arith triangle-eq]: #261
-#539 := [unit-resolution #535 #538]: #264
-#540 := (not #264)
-#250 := (or #536 #540 #154 #110)
-#251 := [th-lemma arith assign-bounds 2 -1 -1]: #250
-#252 := [unit-resolution #251 #160 #119 #539]: #536
-#188 := (or #208 #550)
-#25 := (:var 0 Int)
-#27 := (f7 f8 #25)
-#575 := (pattern #27)
-#28 := (f3 f4 #27)
-#33 := (= #28 0::Int)
-#121 := (>= #25 0::Int)
-#133 := (or #121 #33)
-#582 := (forall (vars (?v0 Int)) (:pat #575) #133)
-#136 := (forall (vars (?v0 Int)) #133)
-#585 := (iff #136 #582)
-#583 := (iff #133 #133)
-#584 := [refl]: #583
-#586 := [quant-intro #584]: #585
-#150 := (~ #136 #136)
-#148 := (~ #133 #133)
-#149 := [refl]: #148
-#151 := [nnf-pos #149]: #150
-#26 := (<= 0::Int #25)
-#65 := (or #26 #33)
-#70 := (forall (vars (?v0 Int)) #65)
-#137 := (iff #70 #136)
-#134 := (iff #65 #133)
-#120 := (iff #26 #121)
-#122 := [rewrite]: #120
-#135 := [monotonicity #122]: #134
-#138 := [quant-intro #135]: #137
-#32 := (< #25 0::Int)
-#34 := (implies #32 #33)
-#35 := (forall (vars (?v0 Int)) #34)
-#71 := (iff #35 #70)
-#68 := (iff #34 #65)
-#48 := (not #26)
-#62 := (implies #48 #33)
-#66 := (iff #62 #65)
-#67 := [rewrite]: #66
-#63 := (iff #34 #62)
-#57 := (iff #32 #48)
-#59 := (iff #48 #48)
-#44 := (iff #26 #26)
-#45 := [rewrite]: #44
-#60 := [monotonicity #45]: #59
-#58 := [rewrite]: #57
-#61 := [trans #58 #60]: #57
-#64 := [monotonicity #61]: #63
-#69 := [trans #64 #67]: #68
-#72 := [quant-intro #69]: #71
-#40 := [asserted]: #35
-#73 := [mp #40 #72]: #70
-#139 := [mp #73 #138]: #136
-#152 := [mp~ #139 #151]: #136
-#587 := [mp #152 #586]: #582
-#217 := (not #582)
-#193 := (or #217 #208 #550)
-#194 := (or #217 #188)
-#552 := (iff #194 #193)
-#555 := [rewrite]: #552
-#554 := [quant-inst #103]: #194
-#541 := [mp #554 #555]: #193
-#253 := [unit-resolution #541 #587]: #188
-#531 := [unit-resolution #253 #252]: #550
-#370 := [symm #531]: #369
-#514 := (= #11 0::Int)
-#557 := (f3 f4 #242)
-#206 := (= #557 0::Int)
-#567 := (>= #11 0::Int)
-#529 := (not #567)
-#533 := (or #529 #540 #110)
-#530 := [th-lemma arith assign-bounds 1 -1]: #533
-#534 := [unit-resolution #530 #539 #119]: #529
-#207 := (or #567 #206)
-#545 := (or #217 #567 #206)
-#546 := (or #217 #207)
-#548 := (iff #546 #545)
-#549 := [rewrite]: #548
-#547 := [quant-inst #11]: #546
-#544 := [mp #547 #549]: #545
-#523 := [unit-resolution #544 #587]: #207
-#524 := [unit-resolution #523 #534]: #206
-#526 := (= #11 #557)
-#520 := (= f6 #242)
-#246 := (= #242 f6)
-#556 := (or #225 #246)
-#230 := [quant-inst #10]: #556
-#525 := [unit-resolution #230 #574]: #246
-#521 := [symm #525]: #520
-#527 := [monotonicity #521]: #526
-#515 := [trans #527 #524]: #514
-#510 := [trans #515 #370]: #516
-#517 := [trans #510 #513]: #511
-#512 := [monotonicity #517]: #518
-#348 := [trans #521 #512]: #519
-#350 := [trans #348 #267]: #239
-#351 := [unit-resolution #266 #350]: false
-#504 := [lemma #351]: #239
-#508 := [monotonicity #504]: #511
-#497 := (not #507)
-#498 := [hypothesis]: #497
-#501 := (not #511)
-#386 := (or #501 #507)
-#401 := [th-lemma arith triangle-eq]: #386
-#403 := [unit-resolution #401 #498 #508]: false
-#404 := [lemma #403]: #507
-#406 := (or #405 #497 #110)
-#407 := [th-lemma arith assign-bounds 1 -1]: #406
-#408 := [unit-resolution #407 #404 #119]: #405
-#561 := (or #231 #566)
-#222 := (or #217 #231 #566)
-#558 := (or #217 #561)
-#559 := (iff #558 #222)
-#202 := [rewrite]: #559
-#218 := [quant-inst #9]: #558
-#543 := [mp #218 #202]: #222
-#409 := [unit-resolution #543 #587]: #561
-#502 := [unit-resolution #409 #408]: #566
-#492 := (= #9 #563)
-#503 := (= f5 #244)
-#245 := (= #244 f5)
-#560 := (or #225 #245)
-#562 := [quant-inst #8]: #560
-#499 := [unit-resolution #562 #574]: #245
-#490 := [symm #499]: #503
-#484 := [monotonicity #490]: #492
-#481 := [trans #484 #502]: #505
-#483 := (not #505)
-#493 := (or #483 #231)
-#494 := [th-lemma arith triangle-eq]: #493
-[unit-resolution #494 #408 #481]: false
-989cfc1345d635e466325cf81719187753d0ea0c 134 0
-unsat
-#2 := false
-decl f3 :: (-> S2 S3 Int)
-decl f7 :: S3
-#13 := f7
-decl f6 :: S3
-#10 := f6
-#29 := 0::Int
-decl f4 :: S2
-#7 := f4
-#14 := (f3 f4 f7)
-#131 := -1::Int
-#163 := (* -1::Int #14)
-#11 := (f3 f4 f6)
-#170 := (+ #11 #163)
-#171 := (<= #170 0::Int)
-#174 := (if #171 f6 f7)
-#177 := (f3 f4 #174)
-#565 := (= #14 #177)
-#290 := (= f7 #174)
-#205 := (not #171)
-#204 := (= f6 #174)
-#422 := (not #204)
-#588 := (= #11 #177)
-#579 := [hypothesis]: #204
-#420 := [monotonicity #579]: #588
-#576 := (not #588)
-#185 := (* -1::Int #177)
-#589 := (+ #11 #185)
-#301 := (<= #589 0::Int)
-#582 := (not #301)
+#67 := -1::Int
+#76 := (* -1::Int #14)
+#86 := (+ #11 #76)
+#87 := (<= #86 0::Int)
+#90 := (if #87 #11 #14)
+#98 := (* -1::Int #90)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#186 := (+ #9 #185)
-#184 := (>= #186 0::Int)
+#99 := (+ #9 #98)
+#97 := (>= #99 0::Int)
+#96 := (not #97)
+#77 := (+ #9 #76)
+#75 := (>= #77 0::Int)
+#74 := (not #75)
+#70 := (* -1::Int #11)
+#71 := (+ #9 #70)
+#69 := (>= #71 0::Int)
+#68 := (not #69)
+#80 := (and #68 #74)
+#83 := (not #80)
+#104 := (or #83 #96)
+#107 := (not #104)
 #17 := (<= #11 #14)
-#18 := (if #17 f6 f7)
-#19 := (f3 f4 #18)
-#60 := (<= #19 #9)
-#188 := (iff #60 #184)
-#180 := (<= #177 #9)
-#183 := (iff #180 #184)
-#187 := [rewrite]: #183
-#181 := (iff #60 #180)
-#178 := (= #19 #177)
-#175 := (= #18 #174)
-#172 := (iff #17 #171)
-#173 := [rewrite]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#189 := [trans #182 #187]: #188
-#61 := (not #60)
-#53 := (<= #14 #9)
-#54 := (not #53)
-#49 := (<= #11 #9)
-#50 := (not #49)
-#57 := (and #50 #54)
-#67 := (not #57)
-#68 := (or #67 #61)
-#73 := (not #68)
-#20 := (< #9 #19)
+#18 := (if #17 #11 #14)
+#19 := (< #9 #18)
 #15 := (< #9 #14)
 #12 := (< #9 #11)
 #16 := (and #12 #15)
-#21 := (implies #16 #20)
-#22 := (not #21)
-#74 := (iff #22 #73)
-#71 := (iff #21 #68)
-#64 := (implies #57 #61)
-#69 := (iff #64 #68)
-#70 := [rewrite]: #69
+#20 := (implies #16 #19)
+#21 := (not #20)
+#110 := (iff #21 #107)
+#60 := (not #16)
+#61 := (or #60 #19)
+#64 := (not #61)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #19 #96)
+#93 := (< #9 #90)
+#100 := (iff #93 #96)
+#101 := [rewrite]: #100
+#94 := (iff #19 #93)
+#91 := (= #18 #90)
+#88 := (iff #17 #87)
+#89 := [rewrite]: #88
+#92 := [monotonicity #89]: #91
+#95 := [monotonicity #92]: #94
+#103 := [trans #95 #101]: #102
+#84 := (iff #60 #83)
+#81 := (iff #16 #80)
+#78 := (iff #15 #74)
+#79 := [rewrite]: #78
+#72 := (iff #12 #68)
+#73 := [rewrite]: #72
+#82 := [monotonicity #73 #79]: #81
+#85 := [monotonicity #82]: #84
+#106 := [monotonicity #85 #103]: #105
+#109 := [monotonicity #106]: #108
 #65 := (iff #21 #64)
 #62 := (iff #20 #61)
 #63 := [rewrite]: #62
-#58 := (iff #16 #57)
-#55 := (iff #15 #54)
-#56 := [rewrite]: #55
-#51 := (iff #12 #50)
-#52 := [rewrite]: #51
-#59 := [monotonicity #52 #56]: #58
-#66 := [monotonicity #59 #63]: #65
-#72 := [trans #66 #70]: #71
-#75 := [monotonicity #72]: #74
-#42 := [asserted]: #22
-#76 := [mp #42 #75]: #73
-#80 := [not-or-elim #76]: #60
-#190 := [mp #80 #189]: #184
-#134 := (* -1::Int #11)
-#135 := (+ #9 #134)
-#133 := (>= #135 0::Int)
-#137 := (not #133)
-#138 := (iff #50 #137)
-#132 := (iff #49 #133)
-#136 := [rewrite]: #132
-#139 := [monotonicity #136]: #138
-#77 := [not-or-elim #76]: #57
-#78 := [and-elim #77]: #50
-#140 := [mp #78 #139]: #137
-#303 := [hypothesis]: #301
-#304 := [th-lemma arith farkas -1 -1 1 #303 #140 #190]: false
-#583 := [lemma #304]: #582
-#571 := (or #576 #301)
-#572 := [th-lemma arith triangle-eq]: #571
-#573 := [unit-resolution #572 #583]: #576
-#421 := [unit-resolution #573 #420]: false
-#564 := [lemma #421]: #422
-#291 := (or #205 #204)
-#292 := [def-axiom]: #291
-#567 := [unit-resolution #292 #564]: #205
-#283 := (or #171 #290)
-#294 := [def-axiom]: #283
-#561 := [unit-resolution #294 #567]: #290
-#562 := [monotonicity #561]: #565
-#302 := (+ #14 #185)
-#298 := (<= #302 0::Int)
-#585 := (not #298)
-#164 := (+ #9 #163)
-#162 := (>= #164 0::Int)
-#166 := (not #162)
-#167 := (iff #54 #166)
-#161 := (iff #53 #162)
-#165 := [rewrite]: #161
-#168 := [monotonicity #165]: #167
-#79 := [and-elim #77]: #54
-#169 := [mp #79 #168]: #166
-#584 := [hypothesis]: #298
-#581 := [th-lemma arith farkas -1 -1 1 #584 #169 #190]: false
-#574 := [lemma #581]: #585
-#568 := (not #565)
-#569 := (or #568 #298)
-#563 := [th-lemma arith triangle-eq]: #569
-[unit-resolution #563 #574 #562]: false
-369b4cfbe0601f80981c4727d0056934614954c0 151 0
-unsat
+#66 := [monotonicity #63]: #65
+#111 := [trans #66 #109]: #110
+#59 := [asserted]: #21
+#112 := [mp #59 #111]: #107
+#116 := [not-or-elim #112]: #97
+#113 := [not-or-elim #112]: #80
+#115 := [and-elim #113]: #74
+#633 := (+ #14 #98)
+#630 := (<= #633 0::Int)
+#330 := (= #14 #90)
+#246 := (not #87)
+#245 := (= #11 #90)
+#628 := (not #245)
+#642 := (+ #11 #98)
+#644 := (<= #642 0::Int)
+#357 := (not #644)
+#114 := [and-elim #113]: #68
+#355 := [hypothesis]: #644
+#356 := [th-lemma arith farkas -1 -1 1 #355 #114 #116]: false
+#358 := [lemma #356]: #357
+#252 := [hypothesis]: #245
+#629 := (or #628 #644)
+#351 := [th-lemma arith triangle-eq]: #629
+#352 := [unit-resolution #351 #252 #358]: false
+#626 := [lemma #352]: #628
+#331 := (or #246 #245)
+#332 := [def-axiom]: #331
+#631 := [unit-resolution #332 #626]: #246
+#323 := (or #87 #330)
+#334 := [def-axiom]: #323
+#341 := [unit-resolution #334 #631]: #330
+#342 := (not #330)
+#343 := (or #342 #630)
+#344 := [th-lemma arith triangle-eq]: #343
+#622 := [unit-resolution #344 #341]: #630
+[th-lemma arith farkas -1 -1 1 #622 #115 #116]: false
+unsat
+5cb55092de9089ed8a3391dc81cfc498bef42803 151 0
 #2 := false
 decl f5 :: S3
 #8 := f5
@@ -22454,725 +20964,681 @@
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#94 := -1::Int
-#95 := (* -1::Int #11)
+#58 := -1::Int
+#59 := (* -1::Int #11)
 #9 := (f3 f4 f5)
-#96 := (+ #9 #95)
-#104 := (>= #96 0::Int)
-#106 := (if #104 f6 f5)
-#97 := (<= #96 0::Int)
-#100 := (if #97 f5 f6)
-#109 := (= #100 #106)
-#240 := (= f6 #106)
-#504 := (iff #240 #109)
-#501 := (iff #109 #240)
-#551 := (= #100 f6)
-#235 := (= f6 #100)
-#150 := (not #97)
-#149 := (= f5 #100)
-#507 := (not #149)
-#510 := (iff #149 #109)
-#367 := (iff #109 #149)
-#523 := (= #100 f5)
-#365 := (iff #523 #149)
-#366 := [commutativity]: #365
-#518 := (iff #109 #523)
-#248 := (= #106 f5)
-#241 := (= f5 #106)
-#542 := (not #241)
-#543 := [hypothesis]: #542
-#556 := (or #104 #241)
-#558 := [def-axiom]: #556
-#189 := [unit-resolution #558 #543]: #104
-#238 := (not #104)
-#242 := (or #238 #240)
-#221 := [def-axiom]: #242
-#190 := [unit-resolution #221 #189]: #240
-#519 := (= f5 f6)
+#60 := (+ #9 #59)
+#68 := (>= #60 0::Int)
+#70 := (if #68 f6 f5)
+#61 := (<= #60 0::Int)
+#64 := (if #61 f5 f6)
+#73 := (= #64 #70)
+#296 := (= f6 #70)
+#560 := (iff #296 #73)
+#557 := (iff #73 #296)
+#607 := (= #64 f6)
+#291 := (= f6 #64)
+#207 := (not #61)
+#206 := (= f5 #64)
+#563 := (not #206)
+#566 := (iff #206 #73)
+#423 := (iff #73 #206)
+#579 := (= #64 f5)
+#421 := (iff #579 #206)
+#422 := [commutativity]: #421
+#574 := (iff #73 #579)
+#304 := (= #70 f5)
+#297 := (= f5 #70)
+#598 := (not #297)
+#599 := [hypothesis]: #598
+#612 := (or #68 #297)
+#614 := [def-axiom]: #612
+#245 := [unit-resolution #614 #599]: #68
+#294 := (not #68)
+#298 := (or #294 #296)
+#277 := [def-axiom]: #298
+#246 := [unit-resolution #277 #245]: #296
+#575 := (= f5 f6)
 decl f7 :: (-> S4 Int S3)
 decl f8 :: S4
 #18 := f8
-#552 := (f7 f8 #11)
-#226 := (= #552 f6)
+#608 := (f7 f8 #11)
+#282 := (= #608 f6)
 #19 := (:var 0 S3)
 #20 := (f3 f4 #19)
-#564 := (pattern #20)
+#620 := (pattern #20)
 #21 := (f7 f8 #20)
 #22 := (= #21 #19)
-#565 := (forall (vars (?v0 S3)) (:pat #564) #22)
+#621 := (forall (vars (?v0 S3)) (:pat #620) #22)
 #23 := (forall (vars (?v0 S3)) #22)
-#568 := (iff #23 #565)
-#566 := (iff #22 #22)
-#567 := [refl]: #566
-#569 := [quant-intro #567]: #568
-#138 := (~ #23 #23)
-#140 := (~ #22 #22)
-#141 := [refl]: #140
-#139 := [nnf-pos #141]: #138
-#38 := [asserted]: #23
-#136 := [mp~ #38 #139]: #23
-#570 := [mp #136 #569]: #565
-#227 := (not #565)
-#557 := (or #227 #226)
-#563 := [quant-inst #10]: #557
-#246 := [unit-resolution #563 #570]: #226
-#526 := (= f5 #552)
-#215 := (f7 f8 #9)
-#525 := (= #215 #552)
-#249 := (= #552 #215)
-#532 := (= #11 #9)
-#531 := (= #9 #11)
-#156 := (not #235)
-#112 := (not #109)
-#533 := (iff #112 #156)
-#262 := (iff #109 #235)
-#260 := (iff #551 #235)
-#261 := [commutativity]: #260
-#537 := (iff #109 #551)
-#550 := (= #106 f6)
-#548 := [symm #190]: #550
-#538 := [monotonicity #548]: #537
-#263 := [trans #538 #261]: #262
-#534 := [monotonicity #263]: #533
+#624 := (iff #23 #621)
+#622 := (iff #22 #22)
+#623 := [refl]: #622
+#625 := [quant-intro #623]: #624
+#141 := (~ #23 #23)
+#139 := (~ #22 #22)
+#140 := [refl]: #139
+#142 := [nnf-pos #140]: #141
+#56 := [asserted]: #23
+#131 := [mp~ #56 #142]: #23
+#626 := [mp #131 #625]: #621
+#283 := (not #621)
+#613 := (or #283 #282)
+#619 := [quant-inst #10]: #613
+#302 := [unit-resolution #619 #626]: #282
+#582 := (= f5 #608)
+#271 := (f7 f8 #9)
+#581 := (= #271 #608)
+#305 := (= #608 #271)
+#588 := (= #11 #9)
+#587 := (= #9 #11)
+#213 := (not #291)
+#76 := (not #73)
+#589 := (iff #76 #213)
+#318 := (iff #73 #291)
+#316 := (iff #607 #291)
+#317 := [commutativity]: #316
+#593 := (iff #73 #607)
+#606 := (= #70 f6)
+#604 := [symm #246]: #606
+#594 := [monotonicity #604]: #593
+#319 := [trans #594 #317]: #318
+#590 := [monotonicity #319]: #589
 #14 := (<= #11 #9)
 #15 := (if #14 f6 f5)
 #12 := (<= #9 #11)
 #13 := (if #12 f5 f6)
 #16 := (= #13 #15)
 #17 := (not #16)
-#113 := (iff #17 #112)
-#110 := (iff #16 #109)
-#107 := (= #15 #106)
-#103 := (iff #14 #104)
-#105 := [rewrite]: #103
-#108 := [monotonicity #105]: #107
-#101 := (= #13 #100)
-#98 := (iff #12 #97)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#111 := [monotonicity #102 #108]: #110
-#114 := [monotonicity #111]: #113
-#37 := [asserted]: #17
-#115 := [mp #37 #114]: #112
-#256 := [mp #115 #534]: #156
-#228 := (or #97 #235)
-#239 := [def-axiom]: #228
-#257 := [unit-resolution #239 #256]: #97
-#535 := [th-lemma arith eq-propagate 1 1 #189 #257]: #531
-#536 := [symm #535]: #532
-#527 := [monotonicity #536]: #249
-#529 := [symm #527]: #525
-#528 := (= f5 #215)
-#345 := (= #215 f5)
-#559 := (or #227 #345)
-#560 := [quant-inst #8]: #559
-#549 := [unit-resolution #560 #570]: #345
-#243 := [symm #549]: #528
-#530 := [trans #243 #529]: #526
-#520 := [trans #530 #246]: #519
-#521 := [trans #520 #190]: #241
-#516 := [unit-resolution #543 #521]: false
-#517 := [lemma #516]: #241
-#522 := [symm #517]: #248
-#524 := [monotonicity #522]: #518
-#509 := [trans #524 #366]: #367
-#511 := [symm #509]: #510
-#247 := [hypothesis]: #149
-#512 := [mp #247 #511]: #109
-#506 := [unit-resolution #115 #512]: false
-#513 := [lemma #506]: #507
-#236 := (or #150 #149)
-#237 := [def-axiom]: #236
-#514 := [unit-resolution #237 #513]: #150
-#347 := [unit-resolution #239 #514]: #235
-#500 := [symm #347]: #551
-#503 := [monotonicity #500]: #501
-#502 := [symm #503]: #504
-#508 := (or #104 #97)
-#515 := [th-lemma arith farkas 1 1]: #508
-#344 := [unit-resolution #515 #514]: #104
-#346 := [unit-resolution #221 #344]: #240
-#505 := [mp #346 #502]: #109
-[unit-resolution #115 #505]: false
-07eaca6d75830c4f4db4caa421c6648570513c0f 242 0
-unsat
-#2 := false
+#77 := (iff #17 #76)
+#74 := (iff #16 #73)
+#71 := (= #15 #70)
+#67 := (iff #14 #68)
+#69 := [rewrite]: #67
+#72 := [monotonicity #69]: #71
+#65 := (= #13 #64)
+#62 := (iff #12 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#75 := [monotonicity #66 #72]: #74
+#78 := [monotonicity #75]: #77
+#55 := [asserted]: #17
+#79 := [mp #55 #78]: #76
+#312 := [mp #79 #590]: #213
+#284 := (or #61 #291)
+#295 := [def-axiom]: #284
+#313 := [unit-resolution #295 #312]: #61
+#591 := [th-lemma arith eq-propagate 1 1 #245 #313]: #587
+#592 := [symm #591]: #588
+#583 := [monotonicity #592]: #305
+#585 := [symm #583]: #581
+#584 := (= f5 #271)
+#401 := (= #271 f5)
+#615 := (or #283 #401)
+#616 := [quant-inst #8]: #615
+#605 := [unit-resolution #616 #626]: #401
+#299 := [symm #605]: #584
+#586 := [trans #299 #585]: #582
+#576 := [trans #586 #302]: #575
+#577 := [trans #576 #246]: #297
+#572 := [unit-resolution #599 #577]: false
+#573 := [lemma #572]: #297
+#578 := [symm #573]: #304
+#580 := [monotonicity #578]: #574
+#565 := [trans #580 #422]: #423
+#567 := [symm #565]: #566
+#303 := [hypothesis]: #206
+#568 := [mp #303 #567]: #73
+#562 := [unit-resolution #79 #568]: false
+#569 := [lemma #562]: #563
+#292 := (or #207 #206)
+#293 := [def-axiom]: #292
+#570 := [unit-resolution #293 #569]: #207
+#403 := [unit-resolution #295 #570]: #291
+#556 := [symm #403]: #607
+#559 := [monotonicity #556]: #557
+#558 := [symm #559]: #560
+#564 := (or #68 #61)
+#571 := [th-lemma arith farkas 1 1]: #564
+#400 := [unit-resolution #571 #570]: #68
+#402 := [unit-resolution #277 #400]: #296
+#561 := [mp #402 #558]: #73
+[unit-resolution #79 #561]: false
+unsat
+dfbdf9498a779cc07990188555d390512d351434 141 0
+#2 := false
+#10 := 0::Int
+decl f3 :: (-> S2 S3 Int)
 decl f6 :: (-> S4 Int S3)
-#11 := 0::Int
-decl f7 :: S4
-#10 := f7
-#12 := (f6 f7 0::Int)
 decl f5 :: S3
 #8 := f5
-decl f3 :: (-> S2 S3 Int)
-decl f4 :: S2
-#7 := f4
-#13 := (f3 f4 #12)
-#92 := -1::Int
-#93 := (* -1::Int #13)
+decl f4 :: S2
+#7 := f4
 #9 := (f3 f4 f5)
-#94 := (+ #9 #93)
-#95 := (<= #94 0::Int)
-#98 := (if #95 f5 #12)
-#227 := (= #12 #98)
-#141 := (= f5 #98)
-#519 := (not #227)
-#101 := (= #98 #12)
-#104 := (not #101)
-#520 := (iff #104 #519)
-#240 := (iff #101 #227)
-#241 := [commutativity]: #240
-#235 := [monotonicity #241]: #520
-#14 := (<= #9 #13)
-#15 := (if #14 f5 #12)
-#16 := (= #15 #12)
-#17 := (not #16)
-#105 := (iff #17 #104)
-#102 := (iff #16 #101)
-#99 := (= #15 #98)
-#96 := (iff #14 #95)
-#97 := [rewrite]: #96
-#100 := [monotonicity #97]: #99
-#103 := [monotonicity #100]: #102
-#106 := [monotonicity #103]: #105
-#35 := [asserted]: #17
-#107 := [mp #35 #106]: #104
-#517 := [mp #107 #235]: #519
-#220 := (or #95 #227)
-#231 := [def-axiom]: #220
-#521 := [unit-resolution #231 #517]: #95
-#142 := (not #95)
-#228 := (or #142 #141)
-#229 := [def-axiom]: #228
-#503 := [unit-resolution #229 #521]: #141
-#496 := (= #12 f5)
-#232 := (f6 f7 #9)
-#233 := (= #232 f5)
-#18 := (:var 0 S3)
-#19 := (f3 f4 #18)
-#556 := (pattern #19)
-#20 := (f6 f7 #19)
-#21 := (= #20 #18)
-#557 := (forall (vars (?v0 S3)) (:pat #556) #21)
-#22 := (forall (vars (?v0 S3)) #21)
-#560 := (iff #22 #557)
-#558 := (iff #21 #21)
-#559 := [refl]: #558
-#561 := [quant-intro #559]: #560
-#130 := (~ #22 #22)
-#128 := (~ #21 #21)
-#129 := [refl]: #128
-#131 := [nnf-pos #129]: #130
-#36 := [asserted]: #22
-#134 := [mp~ #36 #131]: #22
-#562 := [mp #134 #561]: #557
-#213 := (not #557)
-#548 := (or #213 #233)
-#550 := [quant-inst #8]: #548
-#516 := [unit-resolution #550 #562]: #233
-#339 := (= #12 #232)
-#336 := (= 0::Int #9)
-#255 := (f3 f4 #232)
-#357 := (= #255 #9)
-#499 := (= #9 #255)
-#504 := (= f5 #232)
-#498 := [symm #516]: #504
-#505 := [monotonicity #498]: #499
-#507 := [symm #505]: #357
-#506 := (= 0::Int #255)
-#148 := (= #255 0::Int)
-#542 := (= #9 0::Int)
-#248 := (<= #9 0::Int)
-#541 := (<= #13 0::Int)
-#219 := (= #13 0::Int)
-#23 := (:var 0 Int)
-#25 := (f6 f7 #23)
-#563 := (pattern #25)
-#26 := (f3 f4 #25)
-#27 := (= #26 #23)
-#109 := (>= #23 0::Int)
-#111 := (not #109)
-#114 := (or #111 #27)
-#564 := (forall (vars (?v0 Int)) (:pat #563) #114)
-#117 := (forall (vars (?v0 Int)) #114)
-#567 := (iff #117 #564)
-#565 := (iff #114 #114)
-#566 := [refl]: #565
-#568 := [quant-intro #566]: #567
-#133 := (~ #117 #117)
-#135 := (~ #114 #114)
-#132 := [refl]: #135
-#90 := [nnf-pos #132]: #133
-#24 := (<= 0::Int #23)
-#46 := (not #24)
-#47 := (or #46 #27)
-#51 := (forall (vars (?v0 Int)) #47)
-#118 := (iff #51 #117)
-#115 := (iff #47 #114)
-#112 := (iff #46 #111)
-#108 := (iff #24 #109)
-#110 := [rewrite]: #108
-#113 := [monotonicity #110]: #112
-#116 := [monotonicity #113]: #115
-#119 := [quant-intro #116]: #118
-#28 := (implies #24 #27)
-#29 := (forall (vars (?v0 Int)) #28)
-#52 := (iff #29 #51)
-#48 := (iff #28 #47)
-#49 := [rewrite]: #48
-#44 := (iff #28 #28)
-#42 := (iff #24 #24)
-#43 := [rewrite]: #42
-#45 := [monotonicity #43]: #44
-#50 := [trans #45 #49]: #48
-#53 := [quant-intro #50]: #52
-#37 := [asserted]: #29
-#54 := [mp #37 #53]: #51
-#120 := [mp #54 #119]: #117
-#91 := [mp~ #120 #90]: #117
-#569 := [mp #91 #568]: #564
-#197 := (not #564)
-#533 := (or #197 #219)
-#207 := (>= 0::Int 0::Int)
-#337 := (not #207)
-#551 := (or #337 #219)
-#534 := (or #197 #551)
-#536 := (iff #534 #533)
-#532 := (iff #533 #533)
-#538 := [rewrite]: #532
-#195 := (iff #551 #219)
-#206 := (or false #219)
-#531 := (iff #206 #219)
-#194 := [rewrite]: #531
-#547 := (iff #551 #206)
-#210 := (iff #337 false)
-#1 := true
-#554 := (not true)
-#545 := (iff #554 false)
-#205 := [rewrite]: #545
-#549 := (iff #337 #554)
-#552 := (iff #207 true)
-#553 := [rewrite]: #552
-#555 := [monotonicity #553]: #549
-#546 := [trans #555 #205]: #210
-#190 := [monotonicity #546]: #547
-#196 := [trans #190 #194]: #195
-#537 := [monotonicity #196]: #536
-#176 := [trans #537 #538]: #536
-#535 := [quant-inst #11]: #534
-#539 := [mp #535 #176]: #533
-#518 := [unit-resolution #539 #569]: #219
-#522 := (not #219)
-#511 := (or #522 #541)
-#512 := [th-lemma arith triangle-eq]: #511
-#513 := [unit-resolution #512 #518]: #541
-#508 := (not #248)
-#509 := [hypothesis]: #508
-#514 := [th-lemma arith farkas -1 1 1 #509 #513 #521]: false
-#515 := [lemma #514]: #248
-#254 := (>= #9 0::Int)
-#540 := (not #148)
-#543 := [hypothesis]: #540
-#525 := (or #254 #148)
-#31 := (= #26 0::Int)
-#121 := (or #109 #31)
-#570 := (forall (vars (?v0 Int)) (:pat #563) #121)
-#124 := (forall (vars (?v0 Int)) #121)
-#573 := (iff #124 #570)
-#571 := (iff #121 #121)
-#572 := [refl]: #571
-#574 := [quant-intro #572]: #573
-#138 := (~ #124 #124)
-#136 := (~ #121 #121)
-#137 := [refl]: #136
-#139 := [nnf-pos #137]: #138
-#63 := (or #24 #31)
-#68 := (forall (vars (?v0 Int)) #63)
-#125 := (iff #68 #124)
-#122 := (iff #63 #121)
-#123 := [monotonicity #110]: #122
-#126 := [quant-intro #123]: #125
-#30 := (< #23 0::Int)
-#32 := (implies #30 #31)
-#33 := (forall (vars (?v0 Int)) #32)
-#69 := (iff #33 #68)
-#66 := (iff #32 #63)
-#60 := (implies #46 #31)
-#64 := (iff #60 #63)
-#65 := [rewrite]: #64
-#61 := (iff #32 #60)
-#55 := (iff #30 #46)
-#57 := (iff #46 #46)
-#58 := [monotonicity #43]: #57
-#56 := [rewrite]: #55
-#59 := [trans #56 #58]: #55
-#62 := [monotonicity #59]: #61
-#67 := [trans #62 #65]: #66
-#70 := [quant-intro #67]: #69
-#38 := [asserted]: #33
-#71 := [mp #38 #70]: #68
-#127 := [mp #71 #126]: #124
-#140 := [mp~ #127 #139]: #124
-#575 := [mp #140 #574]: #570
-#249 := (not #570)
-#523 := (or #249 #254 #148)
-#527 := (or #249 #525)
-#528 := (iff #527 #523)
-#238 := [rewrite]: #528
-#524 := [quant-inst #9]: #527
-#239 := [mp #524 #238]: #523
-#529 := [unit-resolution #239 #575]: #525
-#530 := [unit-resolution #529 #543]: #254
-#252 := (not #254)
-#253 := (or #542 #508 #252)
-#526 := [th-lemma arith triangle-eq]: #253
-#510 := [unit-resolution #526 #530 #515]: #542
-#358 := [monotonicity #516]: #357
-#359 := [trans #358 #510]: #148
-#501 := [unit-resolution #543 #359]: false
-#502 := [lemma #501]: #148
-#500 := [symm #502]: #506
-#338 := [trans #500 #507]: #336
-#492 := [monotonicity #338]: #339
-#494 := [trans #492 #516]: #496
-#497 := [trans #494 #503]: #227
-[unit-resolution #517 #497]: false
-023391835b440558305b8b251ef349da3d22790f 70 0
-unsat
-#2 := false
+decl f7 :: S4
+#12 := f7
+#272 := (f6 f7 #9)
+#570 := (f3 f4 #272)
+#277 := (= #570 0::Int)
+#543 := (= #9 0::Int)
+#11 := (<= #9 0::Int)
+#13 := (f6 f7 0::Int)
+#14 := (if #11 f5 #13)
+#266 := (= #13 #14)
+#567 := (not #266)
+#15 := (= #14 #13)
+#16 := (not #15)
+#564 := (iff #16 #567)
+#293 := (iff #15 #266)
+#294 := [commutativity]: #293
+#568 := [monotonicity #294]: #564
+#52 := [asserted]: #16
+#278 := [mp #52 #568]: #567
+#259 := (or #11 #266)
+#270 := [def-axiom]: #259
+#279 := [unit-resolution #270 #278]: #11
+#569 := (>= #9 0::Int)
+#541 := (not #277)
+#181 := (= f5 #14)
+#182 := (not #11)
+#267 := (or #182 #181)
+#268 := [def-axiom]: #267
+#280 := [unit-resolution #268 #279]: #181
+#556 := (= #13 f5)
+#269 := (= #272 f5)
+#17 := (:var 0 S3)
+#18 := (f3 f4 #17)
+#596 := (pattern #18)
+#19 := (f6 f7 #18)
+#20 := (= #19 #17)
+#597 := (forall (vars (?v0 S3)) (:pat #596) #20)
+#21 := (forall (vars (?v0 S3)) #20)
+#600 := (iff #21 #597)
+#598 := (iff #20 #20)
+#599 := [refl]: #598
+#601 := [quant-intro #599]: #600
+#116 := (~ #21 #21)
+#114 := (~ #20 #20)
+#115 := [refl]: #114
+#117 := [nnf-pos #115]: #116
+#53 := [asserted]: #21
+#106 := [mp~ #53 #117]: #21
+#602 := [mp #106 #601]: #597
+#588 := (not #597)
+#590 := (or #588 #269)
+#246 := [quant-inst #8]: #590
+#281 := [unit-resolution #246 #602]: #269
+#549 := (= #13 #272)
+#553 := (= 0::Int #9)
+#551 := (= #570 #9)
+#557 := (= #9 #570)
+#560 := (= f5 #272)
+#274 := [symm #281]: #560
+#561 := [monotonicity #274]: #557
+#552 := [symm #561]: #551
+#558 := (= 0::Int #570)
+#559 := [hypothesis]: #277
+#562 := [symm #559]: #558
+#548 := [trans #562 #552]: #553
+#554 := [monotonicity #548]: #549
+#397 := [trans #554 #281]: #556
+#398 := [trans #397 #280]: #266
+#399 := [unit-resolution #278 #398]: false
+#542 := [lemma #399]: #541
+#292 := (or #569 #277)
+#22 := (:var 0 Int)
+#24 := (f6 f7 #22)
+#603 := (pattern #24)
+#25 := (f3 f4 #24)
+#30 := (= #25 0::Int)
+#64 := (>= #22 0::Int)
+#94 := (or #64 #30)
+#610 := (forall (vars (?v0 Int)) (:pat #603) #94)
+#97 := (forall (vars (?v0 Int)) #94)
+#613 := (iff #97 #610)
+#611 := (iff #94 #94)
+#612 := [refl]: #611
+#614 := [quant-intro #612]: #613
+#110 := (~ #97 #97)
+#118 := (~ #94 #94)
+#119 := [refl]: #118
+#111 := [nnf-pos #119]: #110
+#29 := (< #22 0::Int)
+#31 := (implies #29 #30)
+#32 := (forall (vars (?v0 Int)) #31)
+#100 := (iff #32 #97)
+#78 := (not #29)
+#79 := (or #78 #30)
+#82 := (forall (vars (?v0 Int)) #79)
+#98 := (iff #82 #97)
+#95 := (iff #79 #94)
+#92 := (iff #78 #64)
+#65 := (not #64)
+#87 := (not #65)
+#90 := (iff #87 #64)
+#91 := [rewrite]: #90
+#88 := (iff #78 #87)
+#85 := (iff #29 #65)
+#86 := [rewrite]: #85
+#89 := [monotonicity #86]: #88
+#93 := [trans #89 #91]: #92
+#96 := [monotonicity #93]: #95
+#99 := [quant-intro #96]: #98
+#83 := (iff #32 #82)
+#80 := (iff #31 #79)
+#81 := [rewrite]: #80
+#84 := [quant-intro #81]: #83
+#101 := [trans #84 #99]: #100
+#77 := [asserted]: #32
+#102 := [mp #77 #101]: #97
+#120 := [mp~ #102 #111]: #97
+#615 := [mp #120 #614]: #610
+#295 := (not #610)
+#188 := (or #295 #569 #277)
+#565 := (or #295 #292)
+#288 := (iff #565 #188)
+#289 := [rewrite]: #288
+#566 := [quant-inst #9]: #565
+#563 := [mp #566 #289]: #188
+#555 := [unit-resolution #563 #615]: #292
+#550 := [unit-resolution #555 #542]: #569
+#544 := [th-lemma arith eq-propagate 0 0 #550 #279]: #543
+#538 := [monotonicity #281]: #551
+#539 := [trans #538 #544]: #277
+[unit-resolution #542 #539]: false
+unsat
+812e594047adacc8648774584661958380724a55 62 0
+#2 := false
+#22 := 0::Int
 decl f3 :: (-> S2 S3 Int)
 decl f5 :: S3
 #8 := f5
+decl f4 :: S2
+#7 := f4
+#9 := (f3 f4 f5)
 decl f6 :: S3
 #10 := f6
-#23 := 0::Int
+#11 := (f3 f4 f6)
+#56 := -1::Int
+#57 := (* -1::Int #11)
+#58 := (+ #9 #57)
+#59 := (<= #58 0::Int)
+#62 := (if #59 #11 #9)
+#68 := (* -1::Int #62)
+#69 := (+ #9 #68)
+#70 := (<= #69 0::Int)
+#75 := (not #70)
+#12 := (<= #9 #11)
+#13 := (if #12 #11 #9)
+#14 := (<= #9 #13)
+#15 := (not #14)
+#76 := (iff #15 #75)
+#73 := (iff #14 #70)
+#65 := (<= #9 #62)
+#71 := (iff #65 #70)
+#72 := [rewrite]: #71
+#66 := (iff #14 #65)
+#63 := (= #13 #62)
+#60 := (iff #12 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
+#74 := [trans #67 #72]: #73
+#77 := [monotonicity #74]: #76
+#53 := [asserted]: #15
+#78 := [mp #53 #77]: #75
+#290 := (= #9 #62)
+#206 := (not #59)
+#599 := [hypothesis]: #59
+#253 := (+ #11 #68)
+#594 := (<= #253 0::Int)
+#205 := (= #11 #62)
+#291 := (or #206 #205)
+#292 := [def-axiom]: #291
+#600 := [unit-resolution #292 #599]: #205
+#595 := (not #205)
+#601 := (or #595 #594)
+#239 := [th-lemma arith triangle-eq]: #601
+#602 := [unit-resolution #239 #600]: #594
+#604 := [th-lemma arith farkas 1 -1 1 #602 #78 #599]: false
+#244 := [lemma #604]: #206
+#283 := (or #59 #290)
+#294 := [def-axiom]: #283
+#245 := [unit-resolution #294 #244]: #290
+#605 := (not #290)
+#603 := (or #605 #70)
+#606 := [th-lemma arith triangle-eq]: #603
+[unit-resolution #606 #245 #78]: false
+unsat
+4d3aa2ede700d1c10ea9ca78d1cd42eb1d9ac7f6 62 0
+#2 := false
+#22 := 0::Int
+decl f3 :: (-> S2 S3 Int)
+decl f6 :: S3
+#10 := f6
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#93 := -1::Int
-#94 := (* -1::Int #11)
-#9 := (f3 f4 f5)
-#95 := (+ #9 #94)
-#96 := (<= #95 0::Int)
-#99 := (if #96 f6 f5)
-#102 := (f3 f4 #99)
-#263 := (= #9 #102)
-#238 := (= f5 #99)
-#153 := (not #96)
-#264 := [hypothesis]: #96
-#108 := (* -1::Int #102)
-#109 := (+ #9 #108)
-#110 := (<= #109 0::Int)
-#115 := (not #110)
-#12 := (<= #9 #11)
-#13 := (if #12 f6 f5)
-#14 := (f3 f4 #13)
-#15 := (<= #9 #14)
-#16 := (not #15)
-#116 := (iff #16 #115)
-#113 := (iff #15 #110)
-#105 := (<= #9 #102)
-#111 := (iff #105 #110)
-#112 := [rewrite]: #111
-#106 := (iff #15 #105)
-#103 := (= #14 #102)
-#100 := (= #13 #99)
-#97 := (iff #12 #96)
-#98 := [rewrite]: #97
-#101 := [monotonicity #98]: #100
-#104 := [monotonicity #101]: #103
-#107 := [monotonicity #104]: #106
-#114 := [trans #107 #112]: #113
-#117 := [monotonicity #114]: #116
-#36 := [asserted]: #16
-#118 := [mp #36 #117]: #115
-#552 := (+ #11 #108)
-#541 := (<= #552 0::Int)
-#550 := (= #11 #102)
-#152 := (= f6 #99)
-#239 := (or #153 #152)
-#240 := [def-axiom]: #239
-#265 := [unit-resolution #240 #264]: #152
-#266 := [monotonicity #265]: #550
-#159 := (not #550)
-#536 := (or #159 #541)
-#537 := [th-lemma arith triangle-eq]: #536
-#259 := [unit-resolution #537 #266]: #541
-#260 := [th-lemma arith farkas 1 -1 1 #259 #118 #264]: false
-#534 := [lemma #260]: #153
-#231 := (or #96 #238)
-#242 := [def-axiom]: #231
-#535 := [unit-resolution #242 #534]: #238
-#539 := [monotonicity #535]: #263
-#249 := (not #263)
-#250 := (or #249 #110)
-#251 := [th-lemma arith triangle-eq]: #250
-[unit-resolution #251 #118 #539]: false
-de9a0b9ce99106c695a3982a129801da9aa3b403 76 0
-unsat
-#2 := false
-#23 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: S3
-#10 := f6
 decl f5 :: S3
 #8 := f5
-decl f4 :: S2
-#7 := f4
-#11 := (f3 f4 f6)
-#93 := -1::Int
-#96 := (* -1::Int #11)
 #9 := (f3 f4 f5)
-#97 := (+ #9 #96)
-#95 := (>= #97 0::Int)
-#99 := (if #95 f5 f6)
-#102 := (f3 f4 #99)
-#108 := (* -1::Int #102)
-#539 := (+ #11 #108)
-#249 := (<= #539 0::Int)
-#535 := (= #11 #102)
-#238 := (= f6 #99)
-#153 := (not #95)
-#152 := (= f5 #99)
-#534 := (not #152)
-#550 := (= #9 #102)
-#537 := [hypothesis]: #152
-#259 := [monotonicity #537]: #550
-#263 := (not #550)
-#109 := (+ #9 #108)
-#110 := (<= #109 0::Int)
-#115 := (not #110)
+#56 := -1::Int
+#59 := (* -1::Int #11)
+#60 := (+ #9 #59)
+#58 := (>= #60 0::Int)
+#62 := (if #58 #9 #11)
+#68 := (* -1::Int #62)
+#253 := (+ #11 #68)
+#239 := (<= #253 0::Int)
+#290 := (= #11 #62)
+#206 := (not #58)
+#205 := (= #9 #62)
+#598 := (not #205)
+#69 := (+ #9 #68)
+#70 := (<= #69 0::Int)
+#75 := (not #70)
 #12 := (<= #11 #9)
-#13 := (if #12 f5 f6)
-#14 := (f3 f4 #13)
-#15 := (<= #9 #14)
-#16 := (not #15)
-#116 := (iff #16 #115)
-#113 := (iff #15 #110)
-#105 := (<= #9 #102)
-#111 := (iff #105 #110)
-#112 := [rewrite]: #111
-#106 := (iff #15 #105)
-#103 := (= #14 #102)
-#100 := (= #13 #99)
-#94 := (iff #12 #95)
-#98 := [rewrite]: #94
-#101 := [monotonicity #98]: #100
-#104 := [monotonicity #101]: #103
-#107 := [monotonicity #104]: #106
-#114 := [trans #107 #112]: #113
-#117 := [monotonicity #114]: #116
-#36 := [asserted]: #16
-#118 := [mp #36 #117]: #115
-#264 := (or #263 #110)
-#265 := [th-lemma arith triangle-eq]: #264
-#536 := [unit-resolution #265 #118]: #263
-#260 := [unit-resolution #536 #259]: false
-#538 := [lemma #260]: #534
-#239 := (or #153 #152)
-#240 := [def-axiom]: #239
-#251 := [unit-resolution #240 #538]: #153
-#231 := (or #95 #238)
-#242 := [def-axiom]: #231
-#252 := [unit-resolution #242 #251]: #238
-#530 := [monotonicity #252]: #535
-#531 := (not #535)
-#246 := (or #531 #249)
-#528 := [th-lemma arith triangle-eq]: #246
-#532 := [unit-resolution #528 #530]: #249
-#552 := (>= #109 0::Int)
-#529 := (or #552 #110)
-#533 := [th-lemma arith farkas 1 1]: #529
-#522 := [unit-resolution #533 #118]: #552
-[th-lemma arith farkas 1 1 1 #522 #251 #532]: false
-e2d5671413f0e92bd5580899b040818b49d8e5b4 479 0
-unsat
-#2 := false
-#30 := 0::Int
+#13 := (if #12 #9 #11)
+#14 := (<= #9 #13)
+#15 := (not #14)
+#76 := (iff #15 #75)
+#73 := (iff #14 #70)
+#65 := (<= #9 #62)
+#71 := (iff #65 #70)
+#72 := [rewrite]: #71
+#66 := (iff #14 #65)
+#63 := (= #13 #62)
+#57 := (iff #12 #58)
+#61 := [rewrite]: #57
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
+#74 := [trans #67 #72]: #73
+#77 := [monotonicity #74]: #76
+#53 := [asserted]: #15
+#78 := [mp #53 #77]: #75
+#594 := [hypothesis]: #205
+#599 := (or #598 #70)
+#600 := [th-lemma arith triangle-eq]: #599
+#595 := [unit-resolution #600 #594 #78]: false
+#601 := [lemma #595]: #598
+#291 := (or #206 #205)
+#292 := [def-axiom]: #291
+#604 := [unit-resolution #292 #601]: #206
+#283 := (or #58 #290)
+#294 := [def-axiom]: #283
+#244 := [unit-resolution #294 #604]: #290
+#245 := (not #290)
+#605 := (or #245 #239)
+#603 := [th-lemma arith triangle-eq]: #605
+#606 := [unit-resolution #603 #244]: #239
+[th-lemma arith farkas 1 1 1 #78 #604 #606]: false
+unsat
+231f97166ce8df86a8011ff98d1fa9f68fa8398e 409 0
+#2 := false
+#29 := 0::Int
 decl f3 :: (-> S2 S3 Int)
-decl f7 :: S3
-#9 := f7
-decl f4 :: S2
-#7 := f4
-#10 := (f3 f4 f7)
-#387 := (= #10 0::Int)
 decl f5 :: (-> S4 Int S3)
-decl f6 :: S4
-#8 := f6
-#298 := (f5 f6 #10)
-#406 := (f3 f4 #298)
-#554 := (= #406 0::Int)
-#447 := (>= #10 0::Int)
-#384 := (not #447)
 decl f8 :: S3
 #11 := f8
+decl f4 :: S2
+#7 := f4
 #12 := (f3 f4 f8)
-#50 := -1::Int
-#51 := (* -1::Int #12)
-#52 := (+ #10 #51)
-#147 := (<= #52 0::Int)
-#150 := (if #147 f8 f7)
-#153 := (f3 f4 #150)
-#159 := (* -1::Int #153)
-#400 := (+ #12 #159)
-#407 := (<= #400 0::Int)
-#506 := (= #12 #153)
-#207 := (= f8 #150)
-#61 := (* -1::Int #10)
-#129 := (+ #61 #12)
-#132 := (f5 f6 #129)
-#135 := (f3 f4 #132)
-#570 := (= #135 0::Int)
-#435 := (not #570)
-#445 := (<= #135 0::Int)
-#414 := (not #445)
-#541 := (>= #153 0::Int)
-#505 := (= #153 0::Int)
-#620 := (f5 f6 #153)
-#542 := (f3 f4 #620)
-#532 := (= #542 0::Int)
-#487 := (not #541)
-#488 := [hypothesis]: #487
-#533 := (or #541 #532)
-#31 := (:var 0 Int)
-#33 := (f5 f6 #31)
-#629 := (pattern #33)
-#34 := (f3 f4 #33)
-#39 := (= #34 0::Int)
-#175 := (>= #31 0::Int)
-#187 := (or #175 #39)
-#636 := (forall (vars (?v0 Int)) (:pat #629) #187)
-#190 := (forall (vars (?v0 Int)) #187)
-#639 := (iff #190 #636)
-#637 := (iff #187 #187)
-#638 := [refl]: #637
-#640 := [quant-intro #638]: #639
-#204 := (~ #190 #190)
-#202 := (~ #187 #187)
-#203 := [refl]: #202
-#205 := [nnf-pos #203]: #204
-#32 := (<= 0::Int #31)
-#102 := (or #32 #39)
-#107 := (forall (vars (?v0 Int)) #102)
-#191 := (iff #107 #190)
-#188 := (iff #102 #187)
-#174 := (iff #32 #175)
-#176 := [rewrite]: #174
-#189 := [monotonicity #176]: #188
-#192 := [quant-intro #189]: #191
-#38 := (< #31 0::Int)
-#40 := (implies #38 #39)
-#41 := (forall (vars (?v0 Int)) #40)
-#108 := (iff #41 #107)
-#105 := (iff #40 #102)
-#85 := (not #32)
-#99 := (implies #85 #39)
-#103 := (iff #99 #102)
-#104 := [rewrite]: #103
-#100 := (iff #40 #99)
-#94 := (iff #38 #85)
-#96 := (iff #85 #85)
-#81 := (iff #32 #32)
-#82 := [rewrite]: #81
-#97 := [monotonicity #82]: #96
-#95 := [rewrite]: #94
-#98 := [trans #95 #97]: #94
-#101 := [monotonicity #98]: #100
-#106 := [trans #101 #104]: #105
-#109 := [quant-intro #106]: #108
-#46 := [asserted]: #41
-#110 := [mp #46 #109]: #107
-#193 := [mp #110 #192]: #190
-#206 := [mp~ #193 #205]: #190
-#641 := [mp #206 #640]: #636
-#214 := (not #636)
-#520 := (or #214 #541 #532)
-#521 := (or #214 #533)
-#524 := (iff #521 #520)
-#525 := [rewrite]: #524
-#523 := [quant-inst #153]: #521
-#522 := [mp #523 #525]: #520
-#489 := [unit-resolution #522 #641]: #533
-#492 := [unit-resolution #489 #488]: #532
-#490 := (= #153 #542)
-#494 := (= #150 #620)
-#615 := (= #620 #150)
-#25 := (:var 0 S3)
-#26 := (f3 f4 #25)
-#622 := (pattern #26)
-#27 := (f5 f6 #26)
-#28 := (= #27 #25)
-#623 := (forall (vars (?v0 S3)) (:pat #622) #28)
-#29 := (forall (vars (?v0 S3)) #28)
-#626 := (iff #29 #623)
-#624 := (iff #28 #28)
-#625 := [refl]: #624
-#627 := [quant-intro #625]: #626
-#198 := (~ #29 #29)
-#200 := (~ #28 #28)
-#201 := [refl]: #200
-#199 := [nnf-pos #201]: #198
-#44 := [asserted]: #29
-#196 := [mp~ #44 #199]: #29
-#628 := [mp #196 #627]: #623
-#279 := (not #623)
-#612 := (or #279 #615)
-#272 := [quant-inst #150]: #612
-#493 := [unit-resolution #272 #628]: #615
-#495 := [symm #493]: #494
-#496 := [monotonicity #495]: #490
-#469 := [trans #496 #492]: #505
-#470 := (not #505)
-#471 := (or #470 #541)
-#364 := [th-lemma arith triangle-eq]: #471
-#475 := [unit-resolution #364 #488 #469]: false
-#476 := [lemma #475]: #541
-#55 := (f5 f6 #52)
-#58 := (f3 f4 #55)
-#160 := (+ #58 #135 #159)
-#161 := (<= #160 0::Int)
-#166 := (not #161)
+decl f7 :: S3
+#9 := f7
+#10 := (f3 f4 f7)
+#61 := -1::Int
+#72 := (* -1::Int #10)
+#73 := (+ #72 #12)
+decl f6 :: S4
+#8 := f6
+#76 := (f5 f6 #73)
+#79 := (f3 f4 #76)
+#62 := (* -1::Int #12)
+#341 := (+ #62 #79)
+#619 := (+ #10 #341)
+#459 := (<= #619 0::Int)
+#620 := (= #619 0::Int)
+#63 := (+ #10 #62)
+#91 := (<= #63 0::Int)
+#94 := (if #91 #12 #10)
+#100 := (* -1::Int #94)
+#564 := (+ #10 #100)
+#540 := (<= #564 0::Int)
+#521 := (not #540)
+#594 := (<= #79 0::Int)
+#602 := (= #79 0::Int)
+#243 := (not #91)
+#487 := [hypothesis]: #243
+#604 := (or #91 #602)
+#30 := (:var 0 Int)
+#32 := (f5 f6 #30)
+#663 := (pattern #32)
+#33 := (f3 f4 #32)
+#38 := (= #33 0::Int)
+#124 := (>= #30 0::Int)
+#155 := (or #124 #38)
+#670 := (forall (vars (?v0 Int)) (:pat #663) #155)
+#158 := (forall (vars (?v0 Int)) #155)
+#673 := (iff #158 #670)
+#671 := (iff #155 #155)
+#672 := [refl]: #671
+#674 := [quant-intro #672]: #673
+#171 := (~ #158 #158)
+#179 := (~ #155 #155)
+#180 := [refl]: #179
+#172 := [nnf-pos #180]: #171
+#37 := (< #30 0::Int)
+#39 := (implies #37 #38)
+#40 := (forall (vars (?v0 Int)) #39)
+#161 := (iff #40 #158)
+#139 := (not #37)
+#140 := (or #139 #38)
+#143 := (forall (vars (?v0 Int)) #140)
+#159 := (iff #143 #158)
+#156 := (iff #140 #155)
+#153 := (iff #139 #124)
+#126 := (not #124)
+#148 := (not #126)
+#151 := (iff #148 #124)
+#152 := [rewrite]: #151
+#149 := (iff #139 #148)
+#146 := (iff #37 #126)
+#147 := [rewrite]: #146
+#150 := [monotonicity #147]: #149
+#154 := [trans #150 #152]: #153
+#157 := [monotonicity #154]: #156
+#160 := [quant-intro #157]: #159
+#144 := (iff #40 #143)
+#141 := (iff #39 #140)
+#142 := [rewrite]: #141
+#145 := [quant-intro #142]: #144
+#162 := [trans #145 #160]: #161
+#138 := [asserted]: #40
+#163 := [mp #138 #162]: #158
+#181 := [mp~ #163 #172]: #158
+#675 := [mp #181 #674]: #670
+#353 := (not #670)
+#605 := (or #353 #91 #602)
+#630 := (>= #73 0::Int)
+#603 := (or #630 #602)
+#606 := (or #353 #603)
+#593 := (iff #606 #605)
+#607 := (or #353 #604)
+#439 := (iff #607 #605)
+#592 := [rewrite]: #439
+#436 := (iff #606 #607)
+#598 := (iff #603 #604)
+#628 := (iff #630 #91)
+#338 := [rewrite]: #628
+#599 := [monotonicity #338]: #598
+#438 := [monotonicity #599]: #436
+#595 := [trans #438 #592]: #593
+#600 := [quant-inst #73]: #606
+#596 := [mp #600 #595]: #605
+#488 := [unit-resolution #596 #675]: #604
+#498 := [unit-resolution #488 #487]: #602
+#478 := (not #602)
+#499 := (or #478 #594)
+#454 := [th-lemma arith triangle-eq]: #499
+#455 := [unit-resolution #454 #498]: #594
+#539 := (not #594)
+#466 := (or #539 #521)
+#66 := (f5 f6 #63)
+#69 := (f3 f4 #66)
+#647 := (* -1::Int #69)
+#290 := (+ #62 #647)
+#631 := (+ #10 #290)
+#640 := (>= #631 0::Int)
+#646 := (= #631 0::Int)
+#654 := (>= #63 0::Int)
+#573 := (+ #12 #100)
+#574 := (<= #573 0::Int)
+#558 := (not #574)
+#349 := (<= #69 0::Int)
+#643 := (= #69 0::Int)
+#649 := (not #654)
+#527 := [hypothesis]: #649
+#629 := (or #654 #643)
+#354 := (or #353 #654 #643)
+#355 := (or #353 #629)
+#625 := (iff #355 #354)
+#626 := [rewrite]: #625
+#249 := [quant-inst #63]: #355
+#348 := [mp #249 #626]: #354
+#514 := [unit-resolution #348 #675]: #629
+#517 := [unit-resolution #514 #527]: #643
+#518 := (not #643)
+#519 := (or #518 #349)
+#515 := [th-lemma arith triangle-eq]: #519
+#520 := [unit-resolution #515 #517]: #349
+#479 := (>= #10 0::Int)
+#560 := (= #10 0::Int)
+#332 := (f5 f6 #10)
+#480 := (f3 f4 #332)
+#481 := (= #480 0::Int)
+#554 := (not #479)
+#541 := [hypothesis]: #554
+#440 := (or #479 #481)
+#585 := (or #353 #479 #481)
+#586 := (or #353 #440)
+#474 := (iff #586 #585)
+#489 := [rewrite]: #474
+#589 := [quant-inst #10]: #586
+#491 := [mp #589 #489]: #585
+#543 := [unit-resolution #491 #675]: #440
+#544 := [unit-resolution #543 #541]: #481
+#548 := (= #10 #480)
+#546 := (= f7 #332)
+#333 := (= #332 f7)
+#24 := (:var 0 S3)
+#25 := (f3 f4 #24)
+#656 := (pattern #25)
+#26 := (f5 f6 #25)
+#27 := (= #26 #24)
+#657 := (forall (vars (?v0 S3)) (:pat #656) #27)
+#28 := (forall (vars (?v0 S3)) #27)
+#660 := (iff #28 #657)
+#658 := (iff #27 #27)
+#659 := [refl]: #658
+#661 := [quant-intro #659]: #660
+#177 := (~ #28 #28)
+#175 := (~ #27 #27)
+#176 := [refl]: #175
+#178 := [nnf-pos #176]: #177
+#114 := [asserted]: #28
+#167 := [mp~ #114 #178]: #28
+#662 := [mp #167 #661]: #657
+#313 := (not #657)
+#648 := (or #313 #333)
+#650 := [quant-inst #9]: #648
+#545 := [unit-resolution #650 #662]: #333
+#547 := [symm #545]: #546
+#549 := [monotonicity #547]: #548
+#550 := [trans #549 #544]: #560
+#551 := (not #560)
+#552 := (or #551 #479)
+#542 := [th-lemma arith triangle-eq]: #552
+#553 := [unit-resolution #542 #541 #550]: false
+#531 := [lemma #553]: #479
+#500 := (or #654 #91)
+#446 := [th-lemma arith farkas 1 1]: #500
+#501 := [unit-resolution #446 #527]: #91
+#621 := (or #243 #620)
+#34 := (= #33 #30)
+#129 := (or #126 #34)
+#664 := (forall (vars (?v0 Int)) (:pat #663) #129)
+#132 := (forall (vars (?v0 Int)) #129)
+#667 := (iff #132 #664)
+#665 := (iff #129 #129)
+#666 := [refl]: #665
+#668 := [quant-intro #666]: #667
+#169 := (~ #132 #132)
+#168 := (~ #129 #129)
+#165 := [refl]: #168
+#170 := [nnf-pos #165]: #169
+#31 := (<= 0::Int #30)
+#35 := (implies #31 #34)
+#36 := (forall (vars (?v0 Int)) #35)
+#135 := (iff #36 #132)
+#116 := (not #31)
+#117 := (or #116 #34)
+#120 := (forall (vars (?v0 Int)) #117)
+#133 := (iff #120 #132)
+#130 := (iff #117 #129)
+#127 := (iff #116 #126)
+#123 := (iff #31 #124)
+#125 := [rewrite]: #123
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [quant-intro #131]: #133
+#121 := (iff #36 #120)
+#118 := (iff #35 #117)
+#119 := [rewrite]: #118
+#122 := [quant-intro #119]: #121
+#136 := [trans #122 #134]: #135
+#115 := [asserted]: #36
+#137 := [mp #115 #136]: #132
+#166 := [mp~ #137 #170]: #132
+#669 := [mp #166 #668]: #664
+#633 := (not #664)
+#611 := (or #633 #243 #620)
+#627 := (= #79 #73)
+#352 := (not #630)
+#624 := (or #352 #627)
+#612 := (or #633 #624)
+#616 := (iff #612 #611)
+#608 := (or #633 #621)
+#615 := (iff #608 #611)
+#610 := [rewrite]: #615
+#609 := (iff #612 #608)
+#618 := (iff #624 #621)
+#335 := (iff #627 #620)
+#617 := [rewrite]: #335
+#339 := (iff #352 #243)
+#340 := [monotonicity #338]: #339
+#622 := [monotonicity #340 #617]: #618
+#614 := [monotonicity #622]: #609
+#457 := [trans #614 #610]: #616
+#613 := [quant-inst #73]: #612
+#458 := [mp #613 #457]: #611
+#482 := [unit-resolution #458 #669]: #621
+#506 := [unit-resolution #482 #501]: #620
+#507 := (not #620)
+#502 := (or #507 #459)
+#508 := [th-lemma arith triangle-eq]: #502
+#476 := [unit-resolution #508 #506]: #459
+#557 := (not #459)
+#555 := (not #349)
+#559 := (or #554 #555 #557 #558)
+#565 := [hypothesis]: #574
+#566 := [hypothesis]: #479
+#567 := [hypothesis]: #459
+#101 := (+ #79 #100)
+#102 := (+ #69 #101)
+#103 := (<= #102 0::Int)
+#108 := (not #103)
 #20 := (<= #10 #12)
-#21 := (if #20 f8 f7)
-#22 := (f3 f4 #21)
-#62 := (+ #12 #61)
-#65 := (f5 f6 #62)
-#68 := (f3 f4 #65)
-#71 := (+ #58 #68)
-#74 := (<= #71 #22)
-#77 := (not #74)
-#169 := (iff #77 #166)
-#138 := (+ #58 #135)
-#141 := (<= #138 #22)
-#144 := (not #141)
-#167 := (iff #144 #166)
-#164 := (iff #141 #161)
-#156 := (<= #138 #153)
-#162 := (iff #156 #161)
-#163 := [rewrite]: #162
-#157 := (iff #141 #156)
-#154 := (= #22 #153)
-#151 := (= #21 #150)
-#148 := (iff #20 #147)
-#149 := [rewrite]: #148
-#152 := [monotonicity #149]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#165 := [trans #158 #163]: #164
-#168 := [monotonicity #165]: #167
-#145 := (iff #77 #144)
-#142 := (iff #74 #141)
-#139 := (= #71 #138)
-#136 := (= #68 #135)
-#133 := (= #65 #132)
-#130 := (= #62 #129)
-#131 := [rewrite]: #130
-#134 := [monotonicity #131]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#143 := [monotonicity #140]: #142
-#146 := [monotonicity #143]: #145
-#170 := [trans #146 #168]: #169
+#21 := (if #20 #12 #10)
 #16 := (- #12 #10)
 #17 := (f5 f6 #16)
 #18 := (f3 f4 #17)
@@ -23180,425 +21646,254 @@
 #14 := (f5 f6 #13)
 #15 := (f3 f4 #14)
 #19 := (+ #15 #18)
-#23 := (<= #19 #22)
-#24 := (not #23)
-#78 := (iff #24 #77)
-#75 := (iff #23 #74)
-#72 := (= #19 #71)
-#69 := (= #18 #68)
-#66 := (= #17 #65)
-#63 := (= #16 #62)
-#64 := [rewrite]: #63
-#67 := [monotonicity #64]: #66
-#70 := [monotonicity #67]: #69
-#59 := (= #15 #58)
-#56 := (= #14 #55)
-#53 := (= #13 #52)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#60 := [monotonicity #57]: #59
-#73 := [monotonicity #60 #70]: #72
-#76 := [monotonicity #73]: #75
-#79 := [monotonicity #76]: #78
-#43 := [asserted]: #24
-#80 := [mp #43 #79]: #77
-#171 := [mp #80 #170]: #166
-#590 := (<= #58 0::Int)
-#318 := (= #58 0::Int)
-#534 := (+ #10 #159)
-#526 := (<= #534 0::Int)
-#529 := (= #10 #153)
-#293 := (= f7 #150)
-#208 := (not #147)
-#468 := (not #590)
-#512 := (not #318)
-#477 := [hypothesis]: #512
-#449 := (or #318 #468)
-#594 := (>= #58 0::Int)
-#273 := (f5 f6 #58)
-#461 := (f3 f4 #273)
-#462 := (= #461 0::Int)
-#500 := (not #462)
-#501 := (iff #512 #500)
-#497 := (iff #318 #462)
-#508 := (iff #462 #318)
-#517 := (= #461 #58)
-#403 := (= #273 #55)
-#618 := (or #279 #403)
-#619 := [quant-inst #55]: #618
-#516 := [unit-resolution #619 #628]: #403
-#518 := [monotonicity #516]: #517
-#519 := [monotonicity #518]: #508
-#498 := [symm #519]: #497
-#502 := [monotonicity #498]: #501
-#507 := (not #594)
-#509 := [hypothesis]: #507
-#513 := (or #512 #594)
-#514 := [th-lemma arith triangle-eq]: #513
-#515 := [unit-resolution #514 #509]: #512
-#503 := [mp #515 #502]: #500
-#538 := (or #594 #462)
-#547 := (or #214 #594 #462)
-#548 := (or #214 #538)
-#545 := (iff #548 #547)
-#550 := [rewrite]: #545
-#549 := [quant-inst #58]: #548
-#539 := [mp #549 #550]: #547
-#510 := [unit-resolution #539 #641]: #538
-#511 := [unit-resolution #510 #509]: #462
-#504 := [unit-resolution #511 #503]: false
-#499 := [lemma #504]: #594
-#474 := (or #318 #468 #507)
-#442 := [th-lemma arith triangle-eq]: #474
-#408 := [unit-resolution #442 #499]: #449
-#439 := [unit-resolution #408 #477]: #468
-#260 := (* -1::Int #58)
-#261 := (+ #10 #51 #260)
-#596 := (>= #261 0::Int)
-#597 := (= #261 0::Int)
-#271 := (>= #52 0::Int)
-#319 := (or #271 #318)
-#591 := (or #214 #271 #318)
-#592 := (or #214 #319)
-#315 := (iff #592 #591)
-#589 := [rewrite]: #315
-#314 := [quant-inst #52]: #592
-#593 := [mp #314 #589]: #591
-#441 := [unit-resolution #593 #641]: #319
-#443 := [unit-resolution #441 #477]: #271
-#276 := (not #271)
-#599 := (or #276 #597)
-#35 := (= #34 #31)
-#177 := (not #175)
-#180 := (or #177 #35)
-#630 := (forall (vars (?v0 Int)) (:pat #629) #180)
-#183 := (forall (vars (?v0 Int)) #180)
-#633 := (iff #183 #630)
-#631 := (iff #180 #180)
-#632 := [refl]: #631
-#634 := [quant-intro #632]: #633
-#195 := (~ #183 #183)
-#197 := (~ #180 #180)
-#194 := [refl]: #197
-#172 := [nnf-pos #194]: #195
-#86 := (or #85 #35)
-#90 := (forall (vars (?v0 Int)) #86)
-#184 := (iff #90 #183)
-#181 := (iff #86 #180)
-#178 := (iff #85 #177)
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [quant-intro #182]: #184
-#36 := (implies #32 #35)
-#37 := (forall (vars (?v0 Int)) #36)
-#91 := (iff #37 #90)
-#87 := (iff #36 #86)
-#88 := [rewrite]: #87
-#83 := (iff #36 #36)
-#84 := [monotonicity #82]: #83
-#89 := [trans #84 #88]: #87
-#92 := [quant-intro #89]: #91
-#45 := [asserted]: #37
-#93 := [mp #45 #92]: #90
-#186 := [mp #93 #185]: #183
-#173 := [mp~ #186 #172]: #183
-#635 := [mp #173 #634]: #630
-#602 := (not #630)
-#603 := (or #602 #276 #597)
-#613 := (= #58 #52)
-#256 := (or #276 #613)
-#598 := (or #602 #256)
-#608 := (iff #598 #603)
-#242 := (or #602 #599)
-#247 := (iff #242 #603)
-#248 := [rewrite]: #247
-#605 := (iff #598 #242)
-#600 := (iff #256 #599)
-#262 := (iff #613 #597)
-#263 := [rewrite]: #262
-#601 := [monotonicity #263]: #600
-#607 := [monotonicity #601]: #605
-#606 := [trans #607 #248]: #608
-#604 := [quant-inst #52]: #598
-#609 := [mp #604 #606]: #603
-#450 := [unit-resolution #609 #635]: #599
-#452 := [unit-resolution #450 #443]: #597
-#453 := (not #597)
-#454 := (or #453 #596)
-#464 := [th-lemma arith triangle-eq]: #454
-#444 := [unit-resolution #464 #452]: #596
-#465 := (not #596)
-#420 := (or #208 #590 #465)
-#421 := [th-lemma arith assign-bounds -1 -1]: #420
-#426 := [unit-resolution #421 #444 #439]: #208
-#286 := (or #147 #293)
-#297 := [def-axiom]: #286
-#427 := [unit-resolution #297 #426]: #293
-#428 := [monotonicity #427]: #529
-#429 := (not #529)
-#430 := (or #429 #526)
-#431 := [th-lemma arith triangle-eq]: #430
-#432 := [unit-resolution #431 #428]: #526
-#565 := (or #147 #570)
-#566 := (or #214 #147 #570)
-#320 := (>= #129 0::Int)
-#564 := (or #320 #570)
-#573 := (or #214 #564)
-#562 := (iff #573 #566)
-#404 := (or #214 #565)
-#559 := (iff #404 #566)
-#561 := [rewrite]: #559
-#405 := (iff #573 #404)
-#571 := (iff #564 #565)
-#306 := (iff #320 #147)
-#307 := [rewrite]: #306
-#572 := [monotonicity #307]: #571
-#558 := [monotonicity #572]: #405
-#560 := [trans #558 #561]: #562
-#402 := [quant-inst #129]: #573
-#563 := [mp #402 #560]: #566
-#433 := [unit-resolution #563 #641]: #565
-#434 := [unit-resolution #433 #426]: #570
-#436 := (or #435 #445)
-#437 := [th-lemma arith triangle-eq]: #436
-#422 := [unit-resolution #437 #434]: #445
-#551 := (>= #12 0::Int)
-#491 := (= #12 0::Int)
-#296 := (f5 f6 #12)
-#552 := (f3 f4 #296)
-#459 := (= #552 0::Int)
-#482 := (not #551)
-#478 := [hypothesis]: #482
-#460 := (or #551 #459)
-#463 := (or #214 #551 #459)
-#556 := (or #214 #460)
-#557 := (iff #556 #463)
-#544 := [rewrite]: #557
-#553 := [quant-inst #12]: #556
-#546 := [mp #553 #544]: #463
-#479 := [unit-resolution #546 #641]: #460
-#480 := [unit-resolution #479 #478]: #459
-#481 := (= #12 #552)
-#484 := (= f8 #296)
-#300 := (= #296 f8)
-#610 := (or #279 #300)
-#284 := [quant-inst #11]: #610
-#483 := [unit-resolution #284 #628]: #300
-#485 := [symm #483]: #484
-#486 := [monotonicity #485]: #481
-#466 := [trans #486 #480]: #491
-#412 := (not #491)
-#467 := (or #412 #551)
-#448 := [th-lemma arith triangle-eq]: #467
-#472 := [unit-resolution #448 #478 #466]: false
-#473 := [lemma #472]: #551
-#438 := [th-lemma arith farkas -1 -1 1 -1 1 #473 #444 #422 #171 #432]: false
-#399 := [lemma #438]: #318
-#410 := (or #512 #590)
-#411 := [th-lemma arith triangle-eq]: #410
-#413 := [unit-resolution #411 #399]: #590
-#415 := (or #414 #487 #161 #468)
-#416 := [th-lemma arith assign-bounds -1 -1 1]: #415
-#417 := [unit-resolution #416 #413 #171 #476]: #414
-#418 := [unit-resolution #437 #417]: #435
-#401 := [unit-resolution #433 #418]: #147
-#294 := (or #208 #207)
-#295 := [def-axiom]: #294
-#419 := [unit-resolution #295 #401]: #207
-#389 := [monotonicity #419]: #506
-#390 := (not #506)
-#391 := (or #390 #407)
-#392 := [th-lemma arith triangle-eq]: #391
-#394 := [unit-resolution #392 #389]: #407
-#301 := (+ #10 #51 #135)
-#568 := (<= #301 0::Int)
-#583 := (= #301 0::Int)
-#588 := (or #208 #583)
-#579 := (or #602 #208 #583)
-#304 := (= #135 #129)
-#321 := (not #320)
-#305 := (or #321 #304)
-#574 := (or #602 #305)
-#424 := (iff #574 #579)
-#580 := (or #602 #588)
-#582 := (iff #580 #579)
-#423 := [rewrite]: #582
-#581 := (iff #574 #580)
-#577 := (iff #305 #588)
-#587 := (iff #304 #583)
-#584 := [rewrite]: #587
-#585 := (iff #321 #208)
-#586 := [monotonicity #307]: #585
-#578 := [monotonicity #586 #584]: #577
-#576 := [monotonicity #578]: #581
-#425 := [trans #576 #423]: #424
-#575 := [quant-inst #129]: #574
-#567 := [mp #575 #425]: #579
-#395 := [unit-resolution #567 #635]: #588
-#396 := [unit-resolution #395 #401]: #583
-#239 := (not #583)
-#397 := (or #239 #568)
-#393 := [th-lemma arith triangle-eq]: #397
-#398 := [unit-resolution #393 #396]: #568
-#377 := [hypothesis]: #447
-#380 := [th-lemma arith farkas 1 -1 1 -1 1 #413 #377 #398 #171 #394]: false
-#386 := [lemma #380]: #384
-#456 := (or #447 #554)
-#555 := (or #214 #447 #554)
-#440 := (or #214 #456)
-#457 := (iff #440 #555)
-#458 := [rewrite]: #457
-#455 := [quant-inst #10]: #440
-#451 := [mp #455 #458]: #555
-#388 := [unit-resolution #451 #641]: #456
-#376 := [unit-resolution #388 #386]: #554
-#378 := (= #10 #406)
-#381 := (= f7 #298)
-#299 := (= #298 f7)
-#614 := (or #279 #299)
-#616 := [quant-inst #9]: #614
-#379 := [unit-resolution #616 #628]: #299
-#382 := [symm #379]: #381
-#383 := [monotonicity #382]: #378
-#373 := [trans #383 #376]: #387
-#363 := (not #387)
-#365 := (or #363 #447)
-#366 := [th-lemma arith triangle-eq]: #365
-[unit-resolution #366 #386 #373]: false
-160657a6999b6fa22bbfbba0cea75e9e766dc484 131 0
-unsat
-#2 := false
-#29 := 0::Int
+#22 := (<= #19 #21)
+#23 := (not #22)
+#111 := (iff #23 #108)
+#82 := (+ #69 #79)
+#85 := (<= #82 #21)
+#88 := (not #85)
+#109 := (iff #88 #108)
+#106 := (iff #85 #103)
+#97 := (<= #82 #94)
+#104 := (iff #97 #103)
+#105 := [rewrite]: #104
+#98 := (iff #85 #97)
+#95 := (= #21 #94)
+#92 := (iff #20 #91)
+#93 := [rewrite]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #96]: #98
+#107 := [trans #99 #105]: #106
+#110 := [monotonicity #107]: #109
+#89 := (iff #23 #88)
+#86 := (iff #22 #85)
+#83 := (= #19 #82)
+#80 := (= #18 #79)
+#77 := (= #17 #76)
+#74 := (= #16 #73)
+#75 := [rewrite]: #74
+#78 := [monotonicity #75]: #77
+#81 := [monotonicity #78]: #80
+#70 := (= #15 #69)
+#67 := (= #14 #66)
+#64 := (= #13 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#71 := [monotonicity #68]: #70
+#84 := [monotonicity #71 #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [monotonicity #87]: #89
+#112 := [trans #90 #110]: #111
+#60 := [asserted]: #23
+#113 := [mp #60 #112]: #108
+#563 := [hypothesis]: #349
+#568 := [th-lemma arith farkas 1 -1 1 -1 1 #563 #113 #567 #566 #565]: false
+#556 := [lemma #568]: #559
+#483 := [unit-resolution #556 #476 #531 #520]: #558
+#242 := (= #12 #94)
+#328 := (or #243 #242)
+#329 := [def-axiom]: #328
+#442 := [unit-resolution #329 #501]: #242
+#473 := (not #242)
+#475 := (or #473 #574)
+#477 := [th-lemma arith triangle-eq]: #475
+#484 := [unit-resolution #477 #442 #483]: false
+#486 := [lemma #484]: #654
+#295 := (or #649 #646)
+#634 := (or #633 #649 #646)
+#305 := (= #69 #63)
+#310 := (or #649 #305)
+#635 := (or #633 #310)
+#641 := (iff #635 #634)
+#637 := (or #633 #295)
+#276 := (iff #637 #634)
+#639 := [rewrite]: #276
+#632 := (iff #635 #637)
+#296 := (iff #310 #295)
+#306 := (iff #305 #646)
+#294 := [rewrite]: #306
+#297 := [monotonicity #294]: #296
+#638 := [monotonicity #297]: #632
+#281 := [trans #638 #639]: #641
+#636 := [quant-inst #63]: #635
+#282 := [mp #636 #281]: #634
+#460 := [unit-resolution #282 #669]: #295
+#461 := [unit-resolution #460 #486]: #646
+#462 := (not #646)
+#463 := (or #462 #640)
+#464 := [th-lemma arith triangle-eq]: #463
+#465 := [unit-resolution #464 #461]: #640
+#588 := (>= #12 0::Int)
+#526 := (= #12 0::Int)
+#330 := (f5 f6 #12)
+#490 := (f3 f4 #330)
+#492 := (= #490 0::Int)
+#533 := (not #588)
+#528 := [hypothesis]: #533
+#485 := (or #588 #492)
+#495 := (or #353 #588 #492)
+#496 := (or #353 #485)
+#590 := (iff #496 #495)
+#587 := [rewrite]: #590
+#497 := [quant-inst #12]: #496
+#591 := [mp #497 #587]: #495
+#529 := [unit-resolution #591 #675]: #485
+#524 := [unit-resolution #529 #528]: #492
+#505 := (= #12 #490)
+#503 := (= f8 #330)
+#334 := (= #330 f8)
+#644 := (or #313 #334)
+#318 := [quant-inst #11]: #644
+#530 := [unit-resolution #318 #662]: #334
+#504 := [symm #530]: #503
+#398 := [monotonicity #504]: #505
+#509 := [trans #398 #524]: #526
+#510 := (not #526)
+#511 := (or #510 #588)
+#516 := [th-lemma arith triangle-eq]: #511
+#512 := [unit-resolution #516 #528 #509]: false
+#513 := [lemma #512]: #588
+#525 := (not #640)
+#522 := (or #533 #539 #525 #521)
+#534 := [hypothesis]: #540
+#535 := [hypothesis]: #588
+#536 := [hypothesis]: #640
+#537 := [hypothesis]: #594
+#538 := [th-lemma arith farkas -1 1 -1 -1 1 #113 #537 #536 #535 #534]: false
+#523 := [lemma #538]: #522
+#467 := [unit-resolution #523 #513 #465]: #466
+#468 := [unit-resolution #467 #455]: #521
+#327 := (= #10 #94)
+#320 := (or #91 #327)
+#331 := [def-axiom]: #320
+#469 := [unit-resolution #331 #487]: #327
+#470 := (not #327)
+#471 := (or #470 #540)
+#456 := [th-lemma arith triangle-eq]: #471
+#472 := [unit-resolution #456 #469 #468]: false
+#433 := [lemma #472]: #91
+#434 := [unit-resolution #482 #433]: #620
+#441 := [unit-resolution #508 #434]: #459
+#443 := [unit-resolution #329 #433]: #242
+#444 := [unit-resolution #477 #443]: #574
+#445 := (or #349 #525 #243)
+#447 := [th-lemma arith assign-bounds 1 -1]: #445
+#448 := [unit-resolution #447 #465 #433]: #349
+#449 := (or #555 #557 #558)
+#450 := [unit-resolution #556 #531]: #449
+[unit-resolution #450 #448 #444 #441]: false
+unsat
+f2081c9ce72ee506fa1abe41bc9504adb41b6a70 109 0
+#2 := false
+#28 := 0::Int
 decl f3 :: (-> S2 S3 Int)
 decl f5 :: S3
 #8 := f5
+decl f4 :: S2
+#7 := f4
+#9 := (f3 f4 f5)
 decl f7 :: S3
 #13 := f7
-decl f4 :: S2
-#7 := f4
 #14 := (f3 f4 f7)
-#131 := -1::Int
-#161 := (* -1::Int #14)
-#9 := (f3 f4 f5)
-#170 := (+ #9 #161)
-#171 := (<= #170 0::Int)
-#174 := (if #171 f7 f5)
-#177 := (f3 f4 #174)
-#183 := (* -1::Int #177)
+#67 := -1::Int
+#74 := (* -1::Int #14)
+#86 := (+ #9 #74)
+#87 := (<= #86 0::Int)
+#90 := (if #87 #14 #9)
+#96 := (* -1::Int #90)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#184 := (+ #11 #183)
-#185 := (<= #184 0::Int)
+#97 := (+ #11 #96)
+#98 := (<= #97 0::Int)
+#99 := (not #98)
+#75 := (+ #11 #74)
+#76 := (<= #75 0::Int)
+#77 := (not #76)
+#70 := (* -1::Int #11)
+#71 := (+ #9 #70)
+#69 := (>= #71 0::Int)
+#68 := (not #69)
+#80 := (and #68 #77)
+#83 := (not #80)
+#104 := (or #83 #99)
+#107 := (not #104)
 #17 := (<= #9 #14)
-#18 := (if #17 f7 f5)
-#19 := (f3 f4 #18)
-#60 := (<= #11 #19)
-#188 := (iff #60 #185)
-#180 := (<= #11 #177)
-#186 := (iff #180 #185)
-#187 := [rewrite]: #186
-#181 := (iff #60 #180)
-#178 := (= #19 #177)
-#175 := (= #18 #174)
-#172 := (iff #17 #171)
-#173 := [rewrite]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#189 := [trans #182 #187]: #188
-#61 := (not #60)
-#53 := (<= #11 #14)
-#54 := (not #53)
-#49 := (<= #11 #9)
-#50 := (not #49)
-#57 := (and #50 #54)
-#67 := (not #57)
-#68 := (or #67 #61)
-#73 := (not #68)
-#20 := (< #19 #11)
+#18 := (if #17 #14 #9)
+#19 := (< #18 #11)
 #15 := (< #14 #11)
 #12 := (< #9 #11)
 #16 := (and #12 #15)
-#21 := (implies #16 #20)
-#22 := (not #21)
-#74 := (iff #22 #73)
-#71 := (iff #21 #68)
-#64 := (implies #57 #61)
-#69 := (iff #64 #68)
-#70 := [rewrite]: #69
+#20 := (implies #16 #19)
+#21 := (not #20)
+#110 := (iff #21 #107)
+#60 := (not #16)
+#61 := (or #60 #19)
+#64 := (not #61)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #19 #99)
+#93 := (< #90 #11)
+#100 := (iff #93 #99)
+#101 := [rewrite]: #100
+#94 := (iff #19 #93)
+#91 := (= #18 #90)
+#88 := (iff #17 #87)
+#89 := [rewrite]: #88
+#92 := [monotonicity #89]: #91
+#95 := [monotonicity #92]: #94
+#103 := [trans #95 #101]: #102
+#84 := (iff #60 #83)
+#81 := (iff #16 #80)
+#78 := (iff #15 #77)
+#79 := [rewrite]: #78
+#72 := (iff #12 #68)
+#73 := [rewrite]: #72
+#82 := [monotonicity #73 #79]: #81
+#85 := [monotonicity #82]: #84
+#106 := [monotonicity #85 #103]: #105
+#109 := [monotonicity #106]: #108
 #65 := (iff #21 #64)
 #62 := (iff #20 #61)
 #63 := [rewrite]: #62
-#58 := (iff #16 #57)
-#55 := (iff #15 #54)
-#56 := [rewrite]: #55
-#51 := (iff #12 #50)
-#52 := [rewrite]: #51
-#59 := [monotonicity #52 #56]: #58
-#66 := [monotonicity #59 #63]: #65
-#72 := [trans #66 #70]: #71
-#75 := [monotonicity #72]: #74
-#42 := [asserted]: #22
-#76 := [mp #42 #75]: #73
-#80 := [not-or-elim #76]: #60
-#190 := [mp #80 #189]: #185
-#134 := (* -1::Int #11)
-#135 := (+ #9 #134)
-#133 := (>= #135 0::Int)
-#137 := (not #133)
-#138 := (iff #50 #137)
-#132 := (iff #49 #133)
-#136 := [rewrite]: #132
-#139 := [monotonicity #136]: #138
-#77 := [not-or-elim #76]: #57
-#78 := [and-elim #77]: #50
-#140 := [mp #78 #139]: #137
-#579 := (+ #9 #183)
-#421 := (>= #579 0::Int)
-#573 := (= #9 #177)
-#290 := (= f5 #174)
-#205 := (not #171)
-#204 := (= f7 #174)
-#577 := (not #204)
-#588 := (= #14 #177)
-#576 := [hypothesis]: #204
-#571 := [monotonicity #576]: #588
-#580 := (not #588)
-#589 := (+ #14 #183)
-#302 := (>= #589 0::Int)
-#582 := (not #302)
-#162 := (+ #11 #161)
-#163 := (<= #162 0::Int)
-#166 := (not #163)
-#167 := (iff #54 #166)
-#164 := (iff #53 #163)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#79 := [and-elim #77]: #54
-#169 := [mp #79 #168]: #166
-#303 := [hypothesis]: #302
-#304 := [th-lemma arith farkas -1 -1 1 #303 #169 #190]: false
-#583 := [lemma #304]: #582
-#584 := (or #580 #302)
-#581 := [th-lemma arith triangle-eq]: #584
-#575 := [unit-resolution #581 #583]: #580
-#572 := [unit-resolution #575 #571]: false
-#578 := [lemma #572]: #577
-#291 := (or #205 #204)
-#292 := [def-axiom]: #291
-#422 := [unit-resolution #292 #578]: #205
-#283 := (or #171 #290)
-#294 := [def-axiom]: #283
-#564 := [unit-resolution #294 #422]: #290
-#565 := [monotonicity #564]: #573
-#566 := (not #573)
-#567 := (or #566 #421)
-#561 := [th-lemma arith triangle-eq]: #567
-#562 := [unit-resolution #561 #565]: #421
-[th-lemma arith farkas -1 1 1 #562 #140 #190]: false
-fb8c3e38f29442a2c97cb122a92a02cfe400dc8f 149 0
-unsat
+#66 := [monotonicity #63]: #65
+#111 := [trans #66 #109]: #110
+#59 := [asserted]: #21
+#112 := [mp #59 #111]: #107
+#116 := [not-or-elim #112]: #98
+#113 := [not-or-elim #112]: #80
+#114 := [and-elim #113]: #68
+#644 := (+ #9 #96)
+#627 := (>= #644 0::Int)
+#330 := (= #9 #90)
+#246 := (not #87)
+#245 := (= #14 #90)
+#628 := (not #245)
+#642 := (+ #14 #96)
+#633 := (>= #642 0::Int)
+#357 := (not #633)
+#115 := [and-elim #113]: #77
+#355 := [hypothesis]: #633
+#356 := [th-lemma arith farkas -1 -1 1 #355 #115 #116]: false
+#358 := [lemma #356]: #357
+#252 := [hypothesis]: #245
+#629 := (or #628 #633)
+#351 := [th-lemma arith triangle-eq]: #629
+#352 := [unit-resolution #351 #252 #358]: false
+#626 := [lemma #352]: #628
+#331 := (or #246 #245)
+#332 := [def-axiom]: #331
+#631 := [unit-resolution #332 #626]: #246
+#323 := (or #87 #330)
+#334 := [def-axiom]: #323
+#341 := [unit-resolution #334 #631]: #330
+#342 := (not #330)
+#343 := (or #342 #627)
+#344 := [th-lemma arith triangle-eq]: #343
+#622 := [unit-resolution #344 #341]: #627
+[th-lemma arith farkas -1 1 1 #622 #114 #116]: false
+unsat
+173bb4f0b36bcf659115903eaed06f43d1cc4af2 149 0
 #2 := false
 decl f6 :: S3
 #10 := f6
@@ -23609,385 +21904,284 @@
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#94 := -1::Int
-#95 := (* -1::Int #11)
+#58 := -1::Int
+#59 := (* -1::Int #11)
 #9 := (f3 f4 f5)
-#96 := (+ #9 #95)
-#104 := (>= #96 0::Int)
-#106 := (if #104 f5 f6)
-#97 := (<= #96 0::Int)
-#100 := (if #97 f6 f5)
-#109 := (= #100 #106)
-#240 := (= f5 #106)
-#501 := (iff #240 #109)
-#347 := (iff #109 #240)
-#551 := (= #100 f5)
-#235 := (= f5 #100)
-#150 := (not #97)
-#149 := (= f6 #100)
-#512 := (not #149)
-#367 := (iff #149 #109)
-#365 := (iff #109 #149)
-#517 := (= #100 f6)
-#518 := (iff #517 #149)
-#524 := [commutativity]: #518
-#522 := (iff #109 #517)
-#521 := (= #106 f6)
-#241 := (= f6 #106)
-#542 := (not #241)
-#543 := [hypothesis]: #542
-#556 := (or #104 #241)
-#558 := [def-axiom]: #556
-#549 := [unit-resolution #558 #543]: #104
-#238 := (not #104)
-#242 := (or #238 #240)
-#221 := [def-axiom]: #242
-#189 := [unit-resolution #221 #549]: #240
-#525 := (= f6 f5)
+#60 := (+ #9 #59)
+#68 := (>= #60 0::Int)
+#70 := (if #68 f5 f6)
+#61 := (<= #60 0::Int)
+#64 := (if #61 f6 f5)
+#73 := (= #64 #70)
+#296 := (= f5 #70)
+#557 := (iff #296 #73)
+#403 := (iff #73 #296)
+#607 := (= #64 f5)
+#291 := (= f5 #64)
+#207 := (not #61)
+#206 := (= f6 #64)
+#568 := (not #206)
+#423 := (iff #206 #73)
+#421 := (iff #73 #206)
+#573 := (= #64 f6)
+#574 := (iff #573 #206)
+#580 := [commutativity]: #574
+#578 := (iff #73 #573)
+#577 := (= #70 f6)
+#297 := (= f6 #70)
+#598 := (not #297)
+#599 := [hypothesis]: #598
+#612 := (or #68 #297)
+#614 := [def-axiom]: #612
+#605 := [unit-resolution #614 #599]: #68
+#294 := (not #68)
+#298 := (or #294 #296)
+#277 := [def-axiom]: #298
+#245 := [unit-resolution #277 #605]: #296
+#581 := (= f6 f5)
 decl f7 :: (-> S4 Int S3)
 decl f8 :: S4
 #18 := f8
-#215 := (f7 f8 #9)
-#345 := (= #215 f5)
+#271 := (f7 f8 #9)
+#401 := (= #271 f5)
 #19 := (:var 0 S3)
 #20 := (f3 f4 #19)
-#564 := (pattern #20)
+#620 := (pattern #20)
 #21 := (f7 f8 #20)
 #22 := (= #21 #19)
-#565 := (forall (vars (?v0 S3)) (:pat #564) #22)
+#621 := (forall (vars (?v0 S3)) (:pat #620) #22)
 #23 := (forall (vars (?v0 S3)) #22)
-#568 := (iff #23 #565)
-#566 := (iff #22 #22)
-#567 := [refl]: #566
-#569 := [quant-intro #567]: #568
-#138 := (~ #23 #23)
-#140 := (~ #22 #22)
-#141 := [refl]: #140
-#139 := [nnf-pos #141]: #138
-#38 := [asserted]: #23
-#136 := [mp~ #38 #139]: #23
-#570 := [mp #136 #569]: #565
-#227 := (not #565)
-#559 := (or #227 #345)
-#560 := [quant-inst #8]: #559
-#190 := [unit-resolution #560 #570]: #345
-#528 := (= f6 #215)
-#552 := (f7 f8 #11)
-#249 := (= #552 #215)
-#532 := (= #11 #9)
-#531 := (= #9 #11)
-#156 := (not #235)
-#112 := (not #109)
-#533 := (iff #112 #156)
-#262 := (iff #109 #235)
-#260 := (iff #551 #235)
-#261 := [commutativity]: #260
-#537 := (iff #109 #551)
-#550 := (= #106 f5)
-#548 := [symm #189]: #550
-#538 := [monotonicity #548]: #537
-#263 := [trans #538 #261]: #262
-#534 := [monotonicity #263]: #533
+#624 := (iff #23 #621)
+#622 := (iff #22 #22)
+#623 := [refl]: #622
+#625 := [quant-intro #623]: #624
+#141 := (~ #23 #23)
+#139 := (~ #22 #22)
+#140 := [refl]: #139
+#142 := [nnf-pos #140]: #141
+#56 := [asserted]: #23
+#131 := [mp~ #56 #142]: #23
+#626 := [mp #131 #625]: #621
+#283 := (not #621)
+#615 := (or #283 #401)
+#616 := [quant-inst #8]: #615
+#246 := [unit-resolution #616 #626]: #401
+#584 := (= f6 #271)
+#608 := (f7 f8 #11)
+#305 := (= #608 #271)
+#588 := (= #11 #9)
+#587 := (= #9 #11)
+#213 := (not #291)
+#76 := (not #73)
+#589 := (iff #76 #213)
+#318 := (iff #73 #291)
+#316 := (iff #607 #291)
+#317 := [commutativity]: #316
+#593 := (iff #73 #607)
+#606 := (= #70 f5)
+#604 := [symm #245]: #606
+#594 := [monotonicity #604]: #593
+#319 := [trans #594 #317]: #318
+#590 := [monotonicity #319]: #589
 #14 := (<= #11 #9)
 #15 := (if #14 f5 f6)
 #12 := (<= #9 #11)
 #13 := (if #12 f6 f5)
 #16 := (= #13 #15)
 #17 := (not #16)
-#113 := (iff #17 #112)
-#110 := (iff #16 #109)
-#107 := (= #15 #106)
-#103 := (iff #14 #104)
-#105 := [rewrite]: #103
-#108 := [monotonicity #105]: #107
-#101 := (= #13 #100)
-#98 := (iff #12 #97)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#111 := [monotonicity #102 #108]: #110
-#114 := [monotonicity #111]: #113
-#37 := [asserted]: #17
-#115 := [mp #37 #114]: #112
-#256 := [mp #115 #534]: #156
-#228 := (or #97 #235)
-#239 := [def-axiom]: #228
-#257 := [unit-resolution #239 #256]: #97
-#535 := [th-lemma arith eq-propagate 1 1 #549 #257]: #531
-#536 := [symm #535]: #532
-#527 := [monotonicity #536]: #249
-#247 := (= f6 #552)
-#226 := (= #552 f6)
-#557 := (or #227 #226)
-#563 := [quant-inst #10]: #557
-#246 := [unit-resolution #563 #570]: #226
-#248 := [symm #246]: #247
-#243 := [trans #248 #527]: #528
-#529 := [trans #243 #190]: #525
-#526 := [trans #529 #189]: #241
-#530 := [unit-resolution #543 #526]: false
-#519 := [lemma #530]: #241
-#516 := [symm #519]: #521
-#523 := [monotonicity #516]: #522
-#366 := [trans #523 #524]: #365
-#509 := [symm #366]: #367
-#520 := [hypothesis]: #149
-#510 := [mp #520 #509]: #109
-#511 := [unit-resolution #115 #510]: false
-#506 := [lemma #511]: #512
-#236 := (or #150 #149)
-#237 := [def-axiom]: #236
-#507 := [unit-resolution #237 #506]: #150
-#344 := [unit-resolution #239 #507]: #235
-#346 := [symm #344]: #551
-#500 := [monotonicity #346]: #347
-#503 := [symm #500]: #501
-#513 := (or #104 #97)
-#514 := [th-lemma arith farkas 1 1]: #513
-#508 := [unit-resolution #514 #507]: #104
-#515 := [unit-resolution #221 #508]: #240
-#504 := [mp #515 #503]: #109
-[unit-resolution #115 #504]: false
-e64a5f6562eb36da4004d28b7f33df8ec768098a 238 0
-unsat
+#77 := (iff #17 #76)
+#74 := (iff #16 #73)
+#71 := (= #15 #70)
+#67 := (iff #14 #68)
+#69 := [rewrite]: #67
+#72 := [monotonicity #69]: #71
+#65 := (= #13 #64)
+#62 := (iff #12 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#75 := [monotonicity #66 #72]: #74
+#78 := [monotonicity #75]: #77
+#55 := [asserted]: #17
+#79 := [mp #55 #78]: #76
+#312 := [mp #79 #590]: #213
+#284 := (or #61 #291)
+#295 := [def-axiom]: #284
+#313 := [unit-resolution #295 #312]: #61
+#591 := [th-lemma arith eq-propagate 1 1 #605 #313]: #587
+#592 := [symm #591]: #588
+#583 := [monotonicity #592]: #305
+#303 := (= f6 #608)
+#282 := (= #608 f6)
+#613 := (or #283 #282)
+#619 := [quant-inst #10]: #613
+#302 := [unit-resolution #619 #626]: #282
+#304 := [symm #302]: #303
+#299 := [trans #304 #583]: #584
+#585 := [trans #299 #246]: #581
+#582 := [trans #585 #245]: #297
+#586 := [unit-resolution #599 #582]: false
+#575 := [lemma #586]: #297
+#572 := [symm #575]: #577
+#579 := [monotonicity #572]: #578
+#422 := [trans #579 #580]: #421
+#565 := [symm #422]: #423
+#576 := [hypothesis]: #206
+#566 := [mp #576 #565]: #73
+#567 := [unit-resolution #79 #566]: false
+#562 := [lemma #567]: #568
+#292 := (or #207 #206)
+#293 := [def-axiom]: #292
+#563 := [unit-resolution #293 #562]: #207
+#400 := [unit-resolution #295 #563]: #291
+#402 := [symm #400]: #607
+#556 := [monotonicity #402]: #403
+#559 := [symm #556]: #557
+#569 := (or #68 #61)
+#570 := [th-lemma arith farkas 1 1]: #569
+#564 := [unit-resolution #570 #563]: #68
+#571 := [unit-resolution #277 #564]: #296
+#560 := [mp #571 #559]: #73
+[unit-resolution #79 #560]: false
+unsat
+c843701a69b18945f314fe27c203badcfa31d469 137 0
 #2 := false
 decl f5 :: S3
 #8 := f5
 decl f6 :: (-> S4 Int S3)
-#11 := 0::Int
+#10 := 0::Int
 decl f7 :: S4
-#10 := f7
-#12 := (f6 f7 0::Int)
+#12 := f7
+#13 := (f6 f7 0::Int)
 decl f3 :: (-> S2 S3 Int)
 decl f4 :: S2
 #7 := f4
-#13 := (f3 f4 #12)
-#92 := -1::Int
-#93 := (* -1::Int #13)
 #9 := (f3 f4 f5)
-#94 := (+ #9 #93)
-#95 := (<= #94 0::Int)
-#98 := (if #95 #12 f5)
-#227 := (= f5 #98)
-#141 := (= #12 #98)
-#519 := (not #227)
-#101 := (= #98 f5)
-#104 := (not #101)
-#520 := (iff #104 #519)
-#240 := (iff #101 #227)
-#241 := [commutativity]: #240
-#235 := [monotonicity #241]: #520
-#14 := (<= #9 #13)
-#15 := (if #14 #12 f5)
-#16 := (= #15 f5)
-#17 := (not #16)
-#105 := (iff #17 #104)
-#102 := (iff #16 #101)
-#99 := (= #15 #98)
-#96 := (iff #14 #95)
-#97 := [rewrite]: #96
-#100 := [monotonicity #97]: #99
-#103 := [monotonicity #100]: #102
-#106 := [monotonicity #103]: #105
-#35 := [asserted]: #17
-#107 := [mp #35 #106]: #104
-#517 := [mp #107 #235]: #519
-#220 := (or #95 #227)
-#231 := [def-axiom]: #220
-#521 := [unit-resolution #231 #517]: #95
-#142 := (not #95)
-#228 := (or #142 #141)
-#229 := [def-axiom]: #228
-#503 := [unit-resolution #229 #521]: #141
-#339 := (= f5 #12)
-#232 := (f6 f7 #9)
-#500 := (= #232 #12)
-#542 := (= #9 0::Int)
-#255 := (f3 f4 #232)
-#148 := (= #255 0::Int)
-#248 := (<= #9 0::Int)
-#541 := (<= #13 0::Int)
-#219 := (= #13 0::Int)
-#23 := (:var 0 Int)
-#25 := (f6 f7 #23)
-#563 := (pattern #25)
-#26 := (f3 f4 #25)
-#27 := (= #26 #23)
-#109 := (>= #23 0::Int)
-#111 := (not #109)
-#114 := (or #111 #27)
-#564 := (forall (vars (?v0 Int)) (:pat #563) #114)
-#117 := (forall (vars (?v0 Int)) #114)
-#567 := (iff #117 #564)
-#565 := (iff #114 #114)
-#566 := [refl]: #565
-#568 := [quant-intro #566]: #567
-#135 := (~ #117 #117)
-#133 := (~ #114 #114)
-#134 := [refl]: #133
-#130 := [nnf-pos #134]: #135
-#24 := (<= 0::Int #23)
-#46 := (not #24)
-#47 := (or #46 #27)
-#51 := (forall (vars (?v0 Int)) #47)
-#118 := (iff #51 #117)
-#115 := (iff #47 #114)
-#112 := (iff #46 #111)
-#108 := (iff #24 #109)
-#110 := [rewrite]: #108
-#113 := [monotonicity #110]: #112
-#116 := [monotonicity #113]: #115
-#119 := [quant-intro #116]: #118
-#28 := (implies #24 #27)
-#29 := (forall (vars (?v0 Int)) #28)
-#52 := (iff #29 #51)
-#48 := (iff #28 #47)
-#49 := [rewrite]: #48
-#44 := (iff #28 #28)
-#42 := (iff #24 #24)
-#43 := [rewrite]: #42
-#45 := [monotonicity #43]: #44
-#50 := [trans #45 #49]: #48
-#53 := [quant-intro #50]: #52
-#37 := [asserted]: #29
-#54 := [mp #37 #53]: #51
-#120 := [mp #54 #119]: #117
-#131 := [mp~ #120 #130]: #117
-#569 := [mp #131 #568]: #564
-#197 := (not #564)
-#533 := (or #197 #219)
-#207 := (>= 0::Int 0::Int)
-#337 := (not #207)
-#551 := (or #337 #219)
-#534 := (or #197 #551)
-#536 := (iff #534 #533)
-#532 := (iff #533 #533)
-#538 := [rewrite]: #532
-#195 := (iff #551 #219)
-#206 := (or false #219)
-#531 := (iff #206 #219)
-#194 := [rewrite]: #531
-#547 := (iff #551 #206)
-#210 := (iff #337 false)
-#1 := true
-#554 := (not true)
-#545 := (iff #554 false)
-#205 := [rewrite]: #545
-#549 := (iff #337 #554)
-#552 := (iff #207 true)
-#553 := [rewrite]: #552
-#555 := [monotonicity #553]: #549
-#546 := [trans #555 #205]: #210
-#190 := [monotonicity #546]: #547
-#196 := [trans #190 #194]: #195
-#537 := [monotonicity #196]: #536
-#176 := [trans #537 #538]: #536
-#535 := [quant-inst #11]: #534
-#539 := [mp #535 #176]: #533
-#518 := [unit-resolution #539 #569]: #219
-#522 := (not #219)
-#511 := (or #522 #541)
-#512 := [th-lemma arith triangle-eq]: #511
-#513 := [unit-resolution #512 #518]: #541
-#508 := (not #248)
-#509 := [hypothesis]: #508
-#514 := [th-lemma arith farkas -1 1 1 #509 #513 #521]: false
-#515 := [lemma #514]: #248
-#254 := (>= #9 0::Int)
-#540 := (not #148)
-#543 := [hypothesis]: #540
-#525 := (or #254 #148)
-#31 := (= #26 0::Int)
-#121 := (or #109 #31)
-#570 := (forall (vars (?v0 Int)) (:pat #563) #121)
-#124 := (forall (vars (?v0 Int)) #121)
-#573 := (iff #124 #570)
-#571 := (iff #121 #121)
-#572 := [refl]: #571
-#574 := [quant-intro #572]: #573
-#138 := (~ #124 #124)
-#136 := (~ #121 #121)
-#137 := [refl]: #136
-#139 := [nnf-pos #137]: #138
-#63 := (or #24 #31)
-#68 := (forall (vars (?v0 Int)) #63)
-#125 := (iff #68 #124)
-#122 := (iff #63 #121)
-#123 := [monotonicity #110]: #122
-#126 := [quant-intro #123]: #125
-#30 := (< #23 0::Int)
-#32 := (implies #30 #31)
-#33 := (forall (vars (?v0 Int)) #32)
-#69 := (iff #33 #68)
-#66 := (iff #32 #63)
-#60 := (implies #46 #31)
-#64 := (iff #60 #63)
-#65 := [rewrite]: #64
-#61 := (iff #32 #60)
-#55 := (iff #30 #46)
-#57 := (iff #46 #46)
-#58 := [monotonicity #43]: #57
-#56 := [rewrite]: #55
-#59 := [trans #56 #58]: #55
-#62 := [monotonicity #59]: #61
-#67 := [trans #62 #65]: #66
-#70 := [quant-intro #67]: #69
-#38 := [asserted]: #33
-#71 := [mp #38 #70]: #68
-#127 := [mp #71 #126]: #124
-#140 := [mp~ #127 #139]: #124
-#575 := [mp #140 #574]: #570
-#249 := (not #570)
-#523 := (or #249 #254 #148)
-#527 := (or #249 #525)
-#528 := (iff #527 #523)
-#238 := [rewrite]: #528
-#524 := [quant-inst #9]: #527
-#239 := [mp #524 #238]: #523
-#529 := [unit-resolution #239 #575]: #525
-#530 := [unit-resolution #529 #543]: #254
-#252 := (not #254)
-#253 := (or #542 #508 #252)
-#526 := [th-lemma arith triangle-eq]: #253
-#510 := [unit-resolution #526 #530 #515]: #542
-#357 := (= #255 #9)
-#233 := (= #232 f5)
-#18 := (:var 0 S3)
-#19 := (f3 f4 #18)
-#556 := (pattern #19)
-#20 := (f6 f7 #19)
-#21 := (= #20 #18)
-#557 := (forall (vars (?v0 S3)) (:pat #556) #21)
-#22 := (forall (vars (?v0 S3)) #21)
-#560 := (iff #22 #557)
-#558 := (iff #21 #21)
-#559 := [refl]: #558
-#561 := [quant-intro #559]: #560
-#128 := (~ #22 #22)
-#90 := (~ #21 #21)
-#91 := [refl]: #90
-#129 := [nnf-pos #91]: #128
-#36 := [asserted]: #22
-#132 := [mp~ #36 #129]: #22
-#562 := [mp #132 #561]: #557
-#213 := (not #557)
-#548 := (or #213 #233)
-#550 := [quant-inst #8]: #548
-#516 := [unit-resolution #550 #562]: #233
-#358 := [monotonicity #516]: #357
-#359 := [trans #358 #510]: #148
-#501 := [unit-resolution #543 #359]: false
-#502 := [lemma #501]: #148
-#499 := (= #9 #255)
-#504 := (= f5 #232)
-#498 := [symm #516]: #504
-#505 := [monotonicity #498]: #499
-#506 := [trans #505 #502]: #542
-#507 := [monotonicity #506]: #500
-#492 := [trans #498 #507]: #339
-#493 := [trans #492 #503]: #227
-[unit-resolution #517 #493]: false
-296289ecaade249ef4b64fabef5f8f640a51e417 123 0
-unsat
+#11 := (<= #9 0::Int)
+#14 := (if #11 #13 f5)
+#266 := (= f5 #14)
+#181 := (= #13 #14)
+#568 := (not #266)
+#15 := (= #14 f5)
+#16 := (not #15)
+#278 := (iff #16 #568)
+#567 := (iff #15 #266)
+#564 := [commutativity]: #567
+#279 := [monotonicity #564]: #278
+#52 := [asserted]: #16
+#280 := [mp #52 #279]: #568
+#259 := (or #11 #266)
+#270 := [def-axiom]: #259
+#281 := [unit-resolution #270 #280]: #11
+#182 := (not #11)
+#267 := (or #182 #181)
+#268 := [def-axiom]: #267
+#548 := [unit-resolution #268 #281]: #181
+#399 := (= f5 #13)
+#272 := (f6 f7 #9)
+#397 := (= #272 #13)
+#274 := (= #9 0::Int)
+#252 := (f3 f4 #272)
+#377 := (= #252 0::Int)
+#273 := (>= #9 0::Int)
+#289 := (not #377)
+#563 := [hypothesis]: #289
+#584 := (or #273 #377)
+#22 := (:var 0 Int)
+#24 := (f6 f7 #22)
+#603 := (pattern #24)
+#25 := (f3 f4 #24)
+#30 := (= #25 0::Int)
+#64 := (>= #22 0::Int)
+#94 := (or #64 #30)
+#610 := (forall (vars (?v0 Int)) (:pat #603) #94)
+#97 := (forall (vars (?v0 Int)) #94)
+#613 := (iff #97 #610)
+#611 := (iff #94 #94)
+#612 := [refl]: #611
+#614 := [quant-intro #612]: #613
+#110 := (~ #97 #97)
+#118 := (~ #94 #94)
+#119 := [refl]: #118
+#111 := [nnf-pos #119]: #110
+#29 := (< #22 0::Int)
+#31 := (implies #29 #30)
+#32 := (forall (vars (?v0 Int)) #31)
+#100 := (iff #32 #97)
+#78 := (not #29)
+#79 := (or #78 #30)
+#82 := (forall (vars (?v0 Int)) #79)
+#98 := (iff #82 #97)
+#95 := (iff #79 #94)
+#92 := (iff #78 #64)
+#65 := (not #64)
+#87 := (not #65)
+#90 := (iff #87 #64)
+#91 := [rewrite]: #90
+#88 := (iff #78 #87)
+#85 := (iff #29 #65)
+#86 := [rewrite]: #85
+#89 := [monotonicity #86]: #88
+#93 := [trans #89 #91]: #92
+#96 := [monotonicity #93]: #95
+#99 := [quant-intro #96]: #98
+#83 := (iff #32 #82)
+#80 := (iff #31 #79)
+#81 := [rewrite]: #80
+#84 := [quant-intro #81]: #83
+#101 := [trans #84 #99]: #100
+#77 := [asserted]: #32
+#102 := [mp #77 #101]: #97
+#120 := [mp~ #102 #111]: #97
+#615 := [mp #120 #614]: #610
+#591 := (not #610)
+#592 := (or #591 #273 #377)
+#593 := (or #591 #584)
+#589 := (iff #593 #592)
+#595 := [rewrite]: #589
+#594 := [quant-inst #9]: #593
+#585 := [mp #594 #595]: #592
+#559 := [unit-resolution #585 #615]: #584
+#560 := [unit-resolution #559 #563]: #273
+#557 := [th-lemma arith eq-propagate 0 0 #560 #281]: #274
+#558 := (= #252 #9)
+#269 := (= #272 f5)
+#17 := (:var 0 S3)
+#18 := (f3 f4 #17)
+#596 := (pattern #18)
+#19 := (f6 f7 #18)
+#20 := (= #19 #17)
+#597 := (forall (vars (?v0 S3)) (:pat #596) #20)
+#21 := (forall (vars (?v0 S3)) #20)
+#600 := (iff #21 #597)
+#598 := (iff #20 #20)
+#599 := [refl]: #598
+#601 := [quant-intro #599]: #600
+#116 := (~ #21 #21)
+#114 := (~ #20 #20)
+#115 := [refl]: #114
+#117 := [nnf-pos #115]: #116
+#53 := [asserted]: #21
+#106 := [mp~ #53 #117]: #21
+#602 := [mp #106 #601]: #597
+#588 := (not #597)
+#590 := (or #588 #269)
+#246 := [quant-inst #8]: #590
+#561 := [unit-resolution #246 #602]: #269
+#562 := [monotonicity #561]: #558
+#551 := [trans #562 #557]: #377
+#552 := [unit-resolution #563 #551]: false
+#553 := [lemma #552]: #377
+#555 := (= #9 #252)
+#549 := (= f5 #272)
+#554 := [symm #561]: #549
+#550 := [monotonicity #554]: #555
+#556 := [trans #550 #553]: #274
+#398 := [monotonicity #556]: #397
+#541 := [trans #554 #398]: #399
+#542 := [trans #541 #548]: #266
+[unit-resolution #280 #542]: false
+unsat
+39efecfe038f83ab2d1aa99967fadc5bc10be8c6 114 0
 #2 := false
 #7 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -23996,122 +22190,113 @@
 decl f4 :: S2
 #8 := f4
 #10 := (f3 f4 f5)
-#222 := (= #10 0::Int)
+#273 := (= #10 0::Int)
 decl f6 :: (-> S4 Int S3)
 decl f7 :: S4
 #13 := f7
-#219 := (f6 f7 #10)
-#220 := (f3 f4 #219)
-#221 := (= #220 0::Int)
+#270 := (f6 f7 #10)
+#271 := (f3 f4 #270)
+#272 := (= #271 0::Int)
 #19 := (:var 0 Int)
 #21 := (f6 f7 #19)
-#556 := (pattern #21)
+#607 := (pattern #21)
 #22 := (f3 f4 #21)
 #27 := (= #22 0::Int)
-#102 := (>= #19 0::Int)
-#113 := (or #102 #27)
-#563 := (forall (vars (?v0 Int)) (:pat #556) #113)
-#116 := (forall (vars (?v0 Int)) #113)
-#566 := (iff #116 #563)
-#564 := (iff #113 #113)
-#565 := [refl]: #564
-#567 := [quant-intro #565]: #566
-#130 := (~ #116 #116)
-#128 := (~ #113 #113)
-#129 := [refl]: #128
-#131 := [nnf-pos #129]: #130
-#20 := (<= 0::Int #19)
-#64 := (or #20 #27)
-#69 := (forall (vars (?v0 Int)) #64)
-#117 := (iff #69 #116)
-#114 := (iff #64 #113)
-#100 := (iff #20 #102)
-#101 := [rewrite]: #100
-#115 := [monotonicity #101]: #114
-#118 := [quant-intro #115]: #117
+#68 := (>= #19 0::Int)
+#98 := (or #68 #27)
+#614 := (forall (vars (?v0 Int)) (:pat #607) #98)
+#101 := (forall (vars (?v0 Int)) #98)
+#617 := (iff #101 #614)
+#615 := (iff #98 #98)
+#616 := [refl]: #615
+#618 := [quant-intro #616]: #617
+#114 := (~ #101 #101)
+#122 := (~ #98 #98)
+#123 := [refl]: #122
+#115 := [nnf-pos #123]: #114
 #26 := (< #19 0::Int)
 #28 := (implies #26 #27)
 #29 := (forall (vars (?v0 Int)) #28)
-#70 := (iff #29 #69)
-#67 := (iff #28 #64)
-#47 := (not #20)
-#61 := (implies #47 #27)
-#65 := (iff #61 #64)
-#66 := [rewrite]: #65
-#62 := (iff #28 #61)
-#56 := (iff #26 #47)
-#58 := (iff #47 #47)
-#43 := (iff #20 #20)
-#44 := [rewrite]: #43
-#59 := [monotonicity #44]: #58
-#57 := [rewrite]: #56
-#60 := [trans #57 #59]: #56
-#63 := [monotonicity #60]: #62
-#68 := [trans #63 #66]: #67
-#71 := [quant-intro #68]: #70
-#34 := [asserted]: #29
-#72 := [mp #34 #71]: #69
-#119 := [mp #72 #118]: #116
-#132 := [mp~ #119 #131]: #116
-#568 := [mp #132 #567]: #563
-#94 := (>= #10 0::Int)
-#95 := (not #94)
+#104 := (iff #29 #101)
+#82 := (not #26)
+#83 := (or #82 #27)
+#86 := (forall (vars (?v0 Int)) #83)
+#102 := (iff #86 #101)
+#99 := (iff #83 #98)
+#96 := (iff #82 #68)
+#69 := (not #68)
+#91 := (not #69)
+#94 := (iff #91 #68)
+#95 := [rewrite]: #94
+#92 := (iff #82 #91)
+#89 := (iff #26 #69)
+#90 := [rewrite]: #89
+#93 := [monotonicity #90]: #92
+#97 := [trans #93 #95]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#87 := (iff #29 #86)
+#84 := (iff #28 #83)
+#85 := [rewrite]: #84
+#88 := [quant-intro #85]: #87
+#105 := [trans #88 #103]: #104
+#81 := [asserted]: #29
+#106 := [mp #81 #105]: #101
+#124 := [mp~ #106 #115]: #101
+#619 := [mp #124 #618]: #614
+#54 := (>= #10 0::Int)
+#55 := (not #54)
 #11 := (<= 0::Int #10)
 #12 := (not #11)
-#96 := (iff #12 #95)
-#92 := (iff #11 #94)
-#93 := [rewrite]: #92
-#97 := [monotonicity #93]: #96
-#40 := (iff #12 #12)
-#38 := (iff #11 #11)
-#39 := [rewrite]: #38
-#41 := [monotonicity #39]: #40
-#31 := [asserted]: #12
-#42 := [mp #31 #41]: #12
-#98 := [mp #42 #97]: #95
-#205 := (not #563)
-#541 := (or #205 #94 #221)
-#225 := (or #94 #221)
-#543 := (or #205 #225)
-#330 := (iff #543 #541)
-#537 := [rewrite]: #330
-#199 := [quant-inst #10]: #543
-#210 := [mp #199 #537]: #541
-#211 := [unit-resolution #210 #98 #568]: #221
-#547 := (= #10 #220)
-#545 := (= f5 #219)
-#134 := (= #219 f5)
+#56 := (iff #12 #55)
+#52 := (iff #11 #54)
+#53 := [rewrite]: #52
+#57 := [monotonicity #53]: #56
+#49 := [asserted]: #12
+#58 := [mp #49 #57]: #55
+#256 := (not #614)
+#592 := (or #256 #54 #272)
+#276 := (or #54 #272)
+#594 := (or #256 #276)
+#381 := (iff #594 #592)
+#588 := [rewrite]: #381
+#250 := [quant-inst #10]: #594
+#261 := [mp #250 #588]: #592
+#262 := [unit-resolution #261 #58 #619]: #272
+#598 := (= #10 #271)
+#596 := (= f5 #270)
+#186 := (= #270 f5)
 #14 := (:var 0 S3)
 #15 := (f3 f4 #14)
-#549 := (pattern #15)
+#600 := (pattern #15)
 #16 := (f6 f7 #15)
 #17 := (= #16 #14)
-#550 := (forall (vars (?v0 S3)) (:pat #549) #17)
+#601 := (forall (vars (?v0 S3)) (:pat #600) #17)
 #18 := (forall (vars (?v0 S3)) #17)
-#553 := (iff #18 #550)
-#551 := (iff #17 #17)
-#552 := [refl]: #551
-#554 := [quant-intro #552]: #553
-#122 := (~ #18 #18)
-#91 := (~ #17 #17)
-#99 := [refl]: #91
-#123 := [nnf-pos #99]: #122
-#32 := [asserted]: #18
-#126 := [mp~ #32 #123]: #18
-#555 := [mp #126 #554]: #550
-#212 := (not #550)
-#223 := (or #212 #134)
-#224 := [quant-inst #9]: #223
-#544 := [unit-resolution #224 #555]: #134
-#546 := [symm #544]: #545
-#542 := [monotonicity #546]: #547
-#548 := [trans #542 #211]: #222
-#538 := (not #222)
-#197 := (or #538 #94)
-#202 := [th-lemma arith triangle-eq]: #197
-[unit-resolution #202 #98 #548]: false
-5c14f8fdcb62dad5c500fbe42194f9994e95aaad 82 0
-unsat
+#604 := (iff #18 #601)
+#602 := (iff #17 #17)
+#603 := [refl]: #602
+#605 := [quant-intro #603]: #604
+#120 := (~ #18 #18)
+#118 := (~ #17 #17)
+#119 := [refl]: #118
+#121 := [nnf-pos #119]: #120
+#50 := [asserted]: #18
+#110 := [mp~ #50 #121]: #18
+#606 := [mp #110 #605]: #601
+#263 := (not #601)
+#274 := (or #263 #186)
+#275 := [quant-inst #9]: #274
+#595 := [unit-resolution #275 #606]: #186
+#597 := [symm #595]: #596
+#593 := [monotonicity #597]: #598
+#599 := [trans #593 #262]: #273
+#589 := (not #273)
+#248 := (or #589 #54)
+#253 := [th-lemma arith triangle-eq]: #248
+[unit-resolution #253 #58 #599]: false
+unsat
+f7e768909a7c1b933ad0d893349ffd5af448126c 88 0
 #2 := false
 decl f6 :: (-> S4 Int S3)
 #12 := 1::Int
@@ -24125,76 +22310,82 @@
 decl f4 :: S2
 #8 := f4
 #10 := (f3 f4 f5)
-#237 := (f6 f7 #10)
-#263 := (= #237 #16)
-#554 := (= #16 #237)
-#553 := (= 1::Int #10)
-#191 := (= #10 1::Int)
+#299 := (f6 f7 #10)
+#325 := (= #299 #16)
+#616 := (= #16 #299)
+#615 := (= 1::Int #10)
+#253 := (= #10 1::Int)
 #13 := (<= #10 1::Int)
 #7 := 0::Int
-#44 := (<= #10 0::Int)
-#45 := (not #44)
-#48 := (and #45 #13)
-#54 := (not #48)
-#55 := (or #54 #17)
-#60 := (not #55)
+#63 := (<= #10 0::Int)
+#64 := (not #63)
+#67 := (and #64 #13)
+#70 := (not #67)
+#73 := (or #70 #17)
+#76 := (not #73)
 #11 := (< 0::Int #10)
 #14 := (and #11 #13)
 #18 := (implies #14 #17)
 #19 := (not #18)
+#79 := (iff #19 #76)
+#56 := (not #14)
+#57 := (or #56 #17)
+#60 := (not #57)
+#77 := (iff #60 #76)
+#74 := (iff #57 #73)
+#71 := (iff #56 #70)
+#68 := (iff #14 #67)
+#65 := (iff #11 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
 #61 := (iff #19 #60)
-#58 := (iff #18 #55)
-#51 := (implies #48 #17)
-#56 := (iff #51 #55)
-#57 := [rewrite]: #56
-#52 := (iff #18 #51)
-#49 := (iff #14 #48)
-#46 := (iff #11 #45)
-#47 := [rewrite]: #46
-#50 := [monotonicity #47]: #49
-#53 := [monotonicity #50]: #52
-#59 := [trans #53 #57]: #58
+#58 := (iff #18 #57)
+#59 := [rewrite]: #58
 #62 := [monotonicity #59]: #61
-#37 := [asserted]: #19
-#63 := [mp #37 #62]: #60
-#64 := [not-or-elim #63]: #48
-#66 := [and-elim #64]: #13
-#65 := [and-elim #64]: #45
-#192 := [th-lemma arith eq-propagate 0 0 #65 #66]: #191
-#551 := [symm #192]: #553
-#540 := [monotonicity #551]: #554
-#264 := [symm #540]: #263
-#541 := (= f5 #237)
-#153 := (= #237 f5)
+#80 := [trans #62 #78]: #79
+#55 := [asserted]: #19
+#81 := [mp #55 #80]: #76
+#82 := [not-or-elim #81]: #67
+#84 := [and-elim #82]: #13
+#83 := [and-elim #82]: #64
+#254 := [th-lemma arith eq-propagate 0 0 #83 #84]: #253
+#613 := [symm #254]: #615
+#602 := [monotonicity #613]: #616
+#326 := [symm #602]: #325
+#603 := (= f5 #299)
+#215 := (= #299 f5)
 #20 := (:var 0 S3)
 #21 := (f3 f4 #20)
-#567 := (pattern #21)
+#629 := (pattern #21)
 #22 := (f6 f7 #21)
 #23 := (= #22 #20)
-#568 := (forall (vars (?v0 S3)) (:pat #567) #23)
+#630 := (forall (vars (?v0 S3)) (:pat #629) #23)
 #24 := (forall (vars (?v0 S3)) #23)
-#571 := (iff #24 #568)
-#569 := (iff #23 #23)
-#570 := [refl]: #569
-#572 := [quant-intro #570]: #571
-#141 := (~ #24 #24)
-#139 := (~ #23 #23)
-#140 := [refl]: #139
-#142 := [nnf-pos #140]: #141
-#38 := [asserted]: #24
-#149 := [mp~ #38 #142]: #24
-#573 := [mp #149 #572]: #568
-#230 := (not #568)
-#241 := (or #230 #153)
-#242 := [quant-inst #9]: #241
-#552 := [unit-resolution #242 #573]: #153
-#248 := [symm #552]: #541
-#265 := [trans #248 #264]: #17
-#67 := (not #17)
-#68 := [not-or-elim #63]: #67
-[unit-resolution #68 #265]: false
-ca3f6f470a64812f20f034a206f85f1299e90bba 22 0
-unsat
+#633 := (iff #24 #630)
+#631 := (iff #23 #23)
+#632 := [refl]: #631
+#634 := [quant-intro #632]: #633
+#154 := (~ #24 #24)
+#152 := (~ #23 #23)
+#153 := [refl]: #152
+#155 := [nnf-pos #153]: #154
+#87 := [asserted]: #24
+#144 := [mp~ #87 #155]: #24
+#635 := [mp #144 #634]: #630
+#292 := (not #630)
+#303 := (or #292 #215)
+#304 := [quant-inst #9]: #303
+#614 := [unit-resolution #304 #635]: #215
+#310 := [symm #614]: #603
+#327 := [trans #310 #326]: #17
+#85 := (not #17)
+#86 := [not-or-elim #81]: #85
+[unit-resolution #86 #327]: false
+unsat
+e9599784ae48c0a76ee6ce769530275315a7c306 22 0
 #2 := false
 decl f3 :: (-> S2 S3 Int)
 decl f5 :: S3
@@ -24204,135 +22395,139 @@
 #9 := (f3 f4 f5)
 #10 := (<= #9 #9)
 #11 := (not #10)
-#45 := (iff #11 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #11 #40)
-#38 := (iff #10 true)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#31 := [asserted]: #11
-[mp #31 #46]: false
-bb3772327fe7ed3d47e357b17ea25e71f87441c8 55 0
-unsat
-#2 := false
-#25 := 0::Int
+#59 := (iff #11 false)
+#1 := true
+#54 := (not true)
+#57 := (iff #54 false)
+#58 := [rewrite]: #57
+#55 := (iff #11 #54)
+#52 := (iff #10 true)
+#53 := [rewrite]: #52
+#56 := [monotonicity #53]: #55
+#60 := [trans #56 #58]: #59
+#49 := [asserted]: #11
+[mp #49 #60]: false
+unsat
+bc3dab857c3b884433a23e55254b9c450e3d29a1 56 0
+#2 := false
 decl f3 :: (-> S2 S3 Int)
 decl f6 :: S3
 #10 := f6
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#106 := -1::Int
-#107 := (* -1::Int #11)
+#13 := 3::Int
+#15 := (* 3::Int #11)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#108 := (+ #9 #107)
-#109 := (<= #108 0::Int)
-#135 := (not #109)
-#152 := (iff #135 false)
-#1 := true
-#147 := (not true)
-#150 := (iff #147 false)
-#151 := [rewrite]: #150
-#148 := (iff #135 #147)
-#139 := (iff #109 true)
-#12 := (<= #9 #11)
-#110 := (iff #12 #109)
-#111 := [rewrite]: #110
-#13 := 3::Int
-#15 := (* 3::Int #11)
 #14 := (* 3::Int #9)
 #16 := (<= #14 #15)
-#45 := (not #12)
-#46 := (or #45 #16)
-#49 := (not #46)
+#12 := (<= #9 #11)
 #17 := (implies #12 #16)
 #18 := (not #17)
-#50 := (iff #18 #49)
-#47 := (iff #17 #46)
-#48 := [rewrite]: #47
-#51 := [monotonicity #48]: #50
-#38 := [asserted]: #18
-#52 := [mp #38 #51]: #49
-#53 := [not-or-elim #52]: #12
-#112 := [mp #53 #111]: #109
-#140 := [iff-true #112]: #139
-#149 := [monotonicity #140]: #148
-#153 := [trans #149 #151]: #152
-#54 := (not #16)
-#136 := (iff #54 #135)
-#133 := (iff #16 #109)
-#134 := [rewrite]: #133
-#137 := [monotonicity #134]: #136
-#55 := [not-or-elim #52]: #54
-#138 := [mp #55 #137]: #135
-[mp #138 #153]: false
-a8aaa55cc1afac102005fa52e6f6290192b8b656 58 0
-unsat
-#2 := false
+#89 := (iff #18 false)
+#57 := (not #12)
+#58 := (or #57 #16)
+#61 := (not #58)
+#87 := (iff #61 false)
+#1 := true
+#82 := (not true)
+#85 := (iff #82 false)
+#86 := [rewrite]: #85
+#83 := (iff #61 #82)
+#80 := (iff #58 true)
 #25 := 0::Int
+#64 := -1::Int
+#65 := (* -1::Int #11)
+#66 := (+ #9 #65)
+#67 := (<= #66 0::Int)
+#70 := (not #67)
+#75 := (or #70 #67)
+#78 := (iff #75 true)
+#79 := [rewrite]: #78
+#76 := (iff #58 #75)
+#73 := (iff #16 #67)
+#74 := [rewrite]: #73
+#71 := (iff #57 #70)
+#68 := (iff #12 #67)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#77 := [monotonicity #72 #74]: #76
+#81 := [trans #77 #79]: #80
+#84 := [monotonicity #81]: #83
+#88 := [trans #84 #86]: #87
+#62 := (iff #18 #61)
+#59 := (iff #17 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#90 := [trans #63 #88]: #89
+#56 := [asserted]: #18
+[mp #56 #90]: false
+unsat
+782e867b2e6b539b485b3c801c1684af80e8e4eb 61 0
+#2 := false
 decl f3 :: (-> S2 S3 Int)
 decl f6 :: S3
 #10 := f6
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#117 := -1::Int
-#120 := (* -1::Int #11)
+#13 := 3::Int
+#15 := (* 3::Int #11)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#121 := (+ #9 #120)
-#119 := (>= #121 0::Int)
-#150 := (iff #119 false)
-#123 := (not #119)
-#45 := (<= #11 #9)
-#46 := (not #45)
-#124 := (iff #46 #123)
-#118 := (iff #45 #119)
-#122 := [rewrite]: #118
-#125 := [monotonicity #122]: #124
-#13 := 3::Int
 #14 := (* 3::Int #9)
-#15 := (* 3::Int #11)
-#49 := (<= #15 #14)
-#50 := (not #49)
-#56 := (or #45 #50)
-#61 := (not #56)
 #16 := (< #14 #15)
 #12 := (< #9 #11)
 #17 := (implies #12 #16)
 #18 := (not #17)
+#94 := (iff #18 false)
+#57 := (not #12)
+#58 := (or #57 #16)
+#61 := (not #58)
+#92 := (iff #61 false)
+#1 := true
+#87 := (not true)
+#90 := (iff #87 false)
+#91 := [rewrite]: #90
+#88 := (iff #61 #87)
+#85 := (iff #58 true)
+#25 := 0::Int
+#64 := -1::Int
+#67 := (* -1::Int #11)
+#68 := (+ #9 #67)
+#66 := (>= #68 0::Int)
+#65 := (not #66)
+#79 := (or #66 #65)
+#83 := (iff #79 true)
+#84 := [rewrite]: #83
+#81 := (iff #58 #79)
+#80 := (iff #16 #65)
+#78 := [rewrite]: #80
+#76 := (iff #57 #66)
+#71 := (not #65)
+#74 := (iff #71 #66)
+#75 := [rewrite]: #74
+#72 := (iff #57 #71)
+#69 := (iff #12 #65)
+#70 := [rewrite]: #69
+#73 := [monotonicity #70]: #72
+#77 := [trans #73 #75]: #76
+#82 := [monotonicity #77 #78]: #81
+#86 := [trans #82 #84]: #85
+#89 := [monotonicity #86]: #88
+#93 := [trans #89 #91]: #92
 #62 := (iff #18 #61)
-#59 := (iff #17 #56)
-#53 := (implies #46 #50)
-#57 := (iff #53 #56)
-#58 := [rewrite]: #57
-#54 := (iff #17 #53)
-#51 := (iff #16 #50)
-#52 := [rewrite]: #51
-#47 := (iff #12 #46)
-#48 := [rewrite]: #47
-#55 := [monotonicity #48 #52]: #54
-#60 := [trans #55 #58]: #59
+#59 := (iff #17 #58)
+#60 := [rewrite]: #59
 #63 := [monotonicity #60]: #62
-#38 := [asserted]: #18
-#64 := [mp #38 #63]: #61
-#65 := [not-or-elim #64]: #46
-#126 := [mp #65 #125]: #123
-#151 := [iff-false #126]: #150
-#149 := (iff #49 #119)
-#147 := [rewrite]: #149
-#66 := [not-or-elim #64]: #49
-#148 := [mp #66 #147]: #119
-[mp #148 #151]: false
-bc68f2688dca4da409b0f564f117c7120d85d804 57 0
-unsat
+#95 := [trans #63 #93]: #94
+#56 := [asserted]: #18
+[mp #56 #95]: false
+unsat
+94669687013e4a07eb52cc8d3181b4486a98fb64 57 0
 #2 := false
 #22 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -24341,136 +22536,135 @@
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#111 := -1::Int
-#114 := (* -1::Int #11)
+#61 := -1::Int
+#64 := (* -1::Int #11)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#115 := (+ #9 #114)
-#141 := (<= #115 0::Int)
-#144 := (not #141)
+#65 := (+ #9 #64)
+#75 := (<= #65 0::Int)
+#88 := (not #75)
+#63 := (>= #65 0::Int)
+#78 := (or #63 #75)
+#81 := (not #78)
 #13 := (<= #9 #11)
-#59 := (not #13)
-#145 := (iff #59 #144)
-#142 := (iff #13 #141)
-#143 := [rewrite]: #142
-#146 := [monotonicity #143]: #145
-#42 := (<= #11 #9)
-#49 := (or #42 #13)
-#54 := (not #49)
 #12 := (< #9 #11)
 #14 := (implies #12 #13)
 #15 := (not #14)
-#55 := (iff #15 #54)
-#52 := (iff #14 #49)
-#43 := (not #42)
-#46 := (implies #43 #13)
-#50 := (iff #46 #49)
-#51 := [rewrite]: #50
-#47 := (iff #14 #46)
-#44 := (iff #12 #43)
-#45 := [rewrite]: #44
-#48 := [monotonicity #45]: #47
-#53 := [trans #48 #51]: #52
-#56 := [monotonicity #53]: #55
-#35 := [asserted]: #15
-#57 := [mp #35 #56]: #54
-#60 := [not-or-elim #57]: #59
-#147 := [mp #60 #146]: #144
-#113 := (>= #115 0::Int)
-#117 := (not #113)
-#118 := (iff #43 #117)
-#112 := (iff #42 #113)
-#116 := [rewrite]: #112
-#119 := [monotonicity #116]: #118
-#58 := [not-or-elim #57]: #43
-#120 := [mp #58 #119]: #117
-#163 := (or #141 #113)
-#247 := [th-lemma arith farkas 1 1]: #163
-#164 := [unit-resolution #247 #120]: #141
-[unit-resolution #164 #147]: false
-2313b6a33df28a371c3d91af7ee3267d8ec1adcb 79 0
-unsat
-#2 := false
-#54 := -1::Int
+#84 := (iff #15 #81)
+#54 := (not #12)
+#55 := (or #54 #13)
+#58 := (not #55)
+#82 := (iff #58 #81)
+#79 := (iff #55 #78)
+#76 := (iff #13 #75)
+#77 := [rewrite]: #76
+#73 := (iff #54 #63)
+#62 := (not #63)
+#68 := (not #62)
+#71 := (iff #68 #63)
+#72 := [rewrite]: #71
+#69 := (iff #54 #68)
+#66 := (iff #12 #62)
+#67 := [rewrite]: #66
+#70 := [monotonicity #67]: #69
+#74 := [trans #70 #72]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80]: #82
+#59 := (iff #15 #58)
+#56 := (iff #14 #55)
+#57 := [rewrite]: #56
+#60 := [monotonicity #57]: #59
+#85 := [trans #60 #83]: #84
+#53 := [asserted]: #15
+#86 := [mp #53 #85]: #81
+#89 := [not-or-elim #86]: #88
+#87 := [not-or-elim #86]: #62
+#218 := (or #75 #63)
+#303 := [th-lemma arith farkas 1 1]: #218
+#219 := [unit-resolution #303 #87]: #75
+[unit-resolution #219 #89]: false
+unsat
+7c33b6e5c3b47260d57df088f1707958b9c6cfb4 78 0
+#2 := false
+#74 := -1::Int
 decl f3 :: (-> S2 S3 Int)
 decl f6 :: S3
 #10 := f6
 decl f4 :: S2
 #7 := f4
 #11 := (f3 f4 f6)
-#125 := (* -1::Int #11)
+#77 := (* -1::Int #11)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#126 := (+ #9 #125)
-#128 := (<= #126 -1::Int)
+#78 := (+ #9 #77)
+#88 := (<= #78 -1::Int)
 #24 := 0::Int
-#124 := (>= #126 0::Int)
-#257 := (not #124)
-#168 := (not #128)
-#222 := [hypothesis]: #168
-#256 := (or #257 #128)
-#131 := (iff #124 #128)
-#55 := (+ -1::Int #11)
-#56 := (<= #9 #55)
-#44 := (<= #11 #9)
-#67 := (iff #44 #56)
-#132 := (iff #67 #131)
-#129 := (iff #56 #128)
-#130 := [rewrite]: #129
-#123 := (iff #44 #124)
-#127 := [rewrite]: #123
-#133 := [monotonicity #127 #130]: #132
+#76 := (>= #78 0::Int)
+#75 := (not #76)
+#224 := (not #88)
+#277 := [hypothesis]: #224
+#315 := (or #75 #88)
+#91 := (iff #76 #88)
 #13 := 1::Int
 #14 := (+ #9 1::Int)
 #15 := (<= #14 #11)
 #12 := (< #9 #11)
 #16 := (iff #12 #15)
 #17 := (not #16)
-#70 := (iff #17 #67)
-#45 := (not #44)
-#61 := (iff #45 #56)
-#64 := (not #61)
-#68 := (iff #64 #67)
-#69 := [rewrite]: #68
-#65 := (iff #17 #64)
-#62 := (iff #16 #61)
-#59 := (iff #15 #56)
-#48 := (+ 1::Int #9)
-#51 := (<= #48 #11)
-#57 := (iff #51 #56)
+#94 := (iff #17 #91)
+#56 := (+ 1::Int #9)
+#59 := (<= #56 #11)
+#68 := (not #12)
+#69 := (iff #68 #59)
+#92 := (iff #69 #91)
+#89 := (iff #59 #88)
+#90 := [rewrite]: #89
+#86 := (iff #68 #76)
+#81 := (not #75)
+#84 := (iff #81 #76)
+#85 := [rewrite]: #84
+#82 := (iff #68 #81)
+#79 := (iff #12 #75)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#87 := [trans #83 #85]: #86
+#93 := [monotonicity #87 #90]: #92
+#72 := (iff #17 #69)
+#62 := (iff #12 #59)
+#65 := (not #62)
+#70 := (iff #65 #69)
+#71 := [rewrite]: #70
+#66 := (iff #17 #65)
+#63 := (iff #16 #62)
+#60 := (iff #15 #59)
+#57 := (= #14 #56)
 #58 := [rewrite]: #57
-#52 := (iff #15 #51)
-#49 := (= #14 #48)
-#50 := [rewrite]: #49
-#53 := [monotonicity #50]: #52
-#60 := [trans #53 #58]: #59
-#46 := (iff #12 #45)
-#47 := [rewrite]: #46
-#63 := [monotonicity #47 #60]: #62
-#66 := [monotonicity #63]: #65
-#71 := [trans #66 #69]: #70
-#37 := [asserted]: #17
-#72 := [mp #37 #71]: #67
-#134 := [mp #72 #133]: #131
-#253 := (not #131)
-#258 := (or #257 #128 #253)
-#259 := [def-axiom]: #258
-#260 := [unit-resolution #259 #134]: #256
-#223 := [unit-resolution #260 #222]: #257
-#564 := [th-lemma arith farkas 1 1 #222 #223]: false
-#202 := [lemma #564]: #128
-#565 := (or #168 #257)
-#567 := [th-lemma arith farkas 1 1]: #565
-#207 := [unit-resolution #567 #202]: #257
-#255 := (or #124 #168)
-#169 := (or #124 #168 #253)
-#254 := [def-axiom]: #169
-#246 := [unit-resolution #254 #134]: #255
-[unit-resolution #246 #207 #202]: false
-6fee3152946968f658ff9cf86ca496852eca7ae9 40 0
-unsat
+#61 := [monotonicity #58]: #60
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
+#73 := [trans #67 #71]: #72
+#95 := [trans #73 #93]: #94
+#55 := [asserted]: #17
+#96 := [mp #55 #95]: #91
+#309 := (not #91)
+#313 := (or #75 #88 #309)
+#314 := [def-axiom]: #313
+#312 := [unit-resolution #314 #96]: #315
+#278 := [unit-resolution #312 #277]: #75
+#614 := [th-lemma arith farkas 1 1 #277 #278]: false
+#620 := [lemma #614]: #88
+#258 := (or #224 #75)
+#621 := [th-lemma arith farkas 1 1]: #258
+#623 := [unit-resolution #621 #620]: #75
+#311 := (or #76 #224)
+#225 := (or #76 #224 #309)
+#310 := [def-axiom]: #225
+#302 := [unit-resolution #310 #96]: #311
+[unit-resolution #302 #623 #620]: false
+unsat
+1ddff06a9124711b00597d9f7f79edb1f5ac02da 19 0
 #2 := false
 decl f3 :: (-> S2 S3 Int)
 decl f5 :: S3
@@ -24481,37 +22675,16 @@
 #10 := (< #9 #9)
 #11 := (not #10)
 #12 := (not #11)
-#63 := (iff #12 false)
-#1 := true
-#45 := (not true)
-#48 := (iff #45 false)
-#49 := [rewrite]: #48
-#61 := (iff #12 #45)
-#59 := (iff #11 true)
-#54 := (not false)
-#57 := (iff #54 true)
-#58 := [rewrite]: #57
-#55 := (iff #11 #54)
-#52 := (iff #10 false)
-#39 := (<= #9 #9)
-#40 := (not #39)
-#50 := (iff #40 false)
-#46 := (iff #40 #45)
-#43 := (iff #39 true)
-#44 := [rewrite]: #43
-#47 := [monotonicity #44]: #46
-#51 := [trans #47 #49]: #50
-#41 := (iff #10 #40)
-#42 := [rewrite]: #41
-#53 := [trans #42 #51]: #52
-#56 := [monotonicity #53]: #55
-#60 := [trans #56 #58]: #59
-#62 := [monotonicity #60]: #61
-#64 := [trans #62 #49]: #63
-#32 := [asserted]: #12
-[mp #32 #64]: false
-fcb70069c91934ffce190a7f4790ad5fefc7b891 65 0
-unsat
+#55 := (iff #12 false)
+#53 := (iff #10 false)
+#54 := [rewrite]: #53
+#51 := (iff #12 #10)
+#52 := [rewrite]: #51
+#56 := [trans #52 #54]: #55
+#50 := [asserted]: #12
+[mp #50 #56]: false
+unsat
+34a197030d596a851cfea7401235747df59a05b3 81 0
 #2 := false
 #26 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -24520,64 +22693,80 @@
 decl f4 :: S2
 #7 := f4
 #14 := (f3 f4 f7)
-#117 := -1::Int
-#144 := (* -1::Int #14)
+#74 := -1::Int
+#75 := (* -1::Int #14)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#145 := (+ #11 #144)
-#146 := (<= #145 0::Int)
-#15 := (<= #11 #14)
-#147 := (iff #15 #146)
-#148 := [rewrite]: #147
+#76 := (+ #11 #75)
+#77 := (<= #76 0::Int)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
+#83 := (+ #9 #75)
+#84 := (<= #83 0::Int)
+#80 := (not #77)
+#87 := (* -1::Int #11)
+#88 := (+ #9 #87)
+#89 := (<= #88 0::Int)
+#92 := (not #89)
+#101 := (or #92 #80 #84)
+#106 := (not #101)
 #16 := (<= #9 #14)
-#46 := (not #15)
+#15 := (<= #11 #14)
+#17 := (implies #15 #16)
 #12 := (<= #9 #11)
-#53 := (not #12)
-#54 := (or #53 #46 #16)
-#59 := (not #54)
-#17 := (implies #15 #16)
 #18 := (implies #12 #17)
 #19 := (not #18)
-#60 := (iff #19 #59)
-#57 := (iff #18 #54)
-#47 := (or #46 #16)
-#50 := (implies #12 #47)
-#55 := (iff #50 #54)
-#56 := [rewrite]: #55
-#51 := (iff #18 #50)
-#48 := (iff #17 #47)
-#49 := [rewrite]: #48
-#52 := [monotonicity #49]: #51
-#58 := [trans #52 #56]: #57
-#61 := [monotonicity #58]: #60
-#39 := [asserted]: #19
-#62 := [mp #39 #61]: #59
-#64 := [not-or-elim #62]: #15
-#149 := [mp #64 #148]: #146
-#150 := (+ #9 #144)
-#151 := (<= #150 0::Int)
-#154 := (not #151)
-#65 := (not #16)
-#155 := (iff #65 #154)
-#152 := (iff #16 #151)
-#153 := [rewrite]: #152
-#156 := [monotonicity #153]: #155
-#66 := [not-or-elim #62]: #65
-#157 := [mp #66 #156]: #154
-#118 := (* -1::Int #11)
-#119 := (+ #9 #118)
-#120 := (<= #119 0::Int)
-#121 := (iff #12 #120)
-#122 := [rewrite]: #121
-#63 := [not-or-elim #62]: #12
-#123 := [mp #63 #122]: #120
-[th-lemma arith farkas 1 -1 1 #123 #157 #149]: false
-314578dd8533fcbb8964e37afa9ad18771a56310 71 0
-unsat
+#109 := (iff #19 #106)
+#58 := (not #15)
+#59 := (or #58 #16)
+#65 := (not #12)
+#66 := (or #65 #59)
+#71 := (not #66)
+#107 := (iff #71 #106)
+#104 := (iff #66 #101)
+#95 := (or #80 #84)
+#98 := (or #92 #95)
+#102 := (iff #98 #101)
+#103 := [rewrite]: #102
+#99 := (iff #66 #98)
+#96 := (iff #59 #95)
+#85 := (iff #16 #84)
+#86 := [rewrite]: #85
+#81 := (iff #58 #80)
+#78 := (iff #15 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#97 := [monotonicity #82 #86]: #96
+#93 := (iff #65 #92)
+#90 := (iff #12 #89)
+#91 := [rewrite]: #90
+#94 := [monotonicity #91]: #93
+#100 := [monotonicity #94 #97]: #99
+#105 := [trans #100 #103]: #104
+#108 := [monotonicity #105]: #107
+#72 := (iff #19 #71)
+#69 := (iff #18 #66)
+#62 := (implies #12 #59)
+#67 := (iff #62 #66)
+#68 := [rewrite]: #67
+#63 := (iff #18 #62)
+#60 := (iff #17 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#70 := [trans #64 #68]: #69
+#73 := [monotonicity #70]: #72
+#110 := [trans #73 #108]: #109
+#57 := [asserted]: #19
+#111 := [mp #57 #110]: #106
+#113 := [not-or-elim #111]: #77
+#114 := (not #84)
+#115 := [not-or-elim #111]: #114
+#112 := [not-or-elim #111]: #89
+[th-lemma arith farkas 1 -1 1 #112 #115 #113]: false
+unsat
+7b0882598adc749ae782704cbf82bc84a198ea68 86 0
 #2 := false
 #26 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -24586,70 +22775,85 @@
 decl f4 :: S2
 #7 := f4
 #14 := (f3 f4 f7)
-#120 := -1::Int
-#150 := (* -1::Int #14)
+#74 := -1::Int
+#75 := (* -1::Int #14)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#151 := (+ #11 #150)
-#152 := (<= #151 0::Int)
-#15 := (<= #11 #14)
-#153 := (iff #15 #152)
-#154 := [rewrite]: #153
+#76 := (+ #11 #75)
+#77 := (<= #76 0::Int)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
+#83 := (+ #9 #75)
+#84 := (<= #83 0::Int)
+#80 := (not #77)
+#89 := (* -1::Int #11)
+#90 := (+ #9 #89)
+#88 := (>= #90 0::Int)
+#106 := (or #88 #80 #84)
+#111 := (not #106)
 #16 := (<= #9 #14)
-#50 := (not #15)
-#46 := (<= #11 #9)
-#57 := (or #46 #50 #16)
-#62 := (not #57)
+#15 := (<= #11 #14)
 #17 := (implies #15 #16)
 #12 := (< #9 #11)
 #18 := (implies #12 #17)
 #19 := (not #18)
-#63 := (iff #19 #62)
-#60 := (iff #18 #57)
-#51 := (or #50 #16)
-#47 := (not #46)
-#54 := (implies #47 #51)
-#58 := (iff #54 #57)
-#59 := [rewrite]: #58
-#55 := (iff #18 #54)
-#52 := (iff #17 #51)
-#53 := [rewrite]: #52
-#48 := (iff #12 #47)
-#49 := [rewrite]: #48
-#56 := [monotonicity #49 #53]: #55
-#61 := [trans #56 #59]: #60
+#114 := (iff #19 #111)
+#58 := (not #15)
+#59 := (or #58 #16)
+#65 := (not #12)
+#66 := (or #65 #59)
+#71 := (not #66)
+#112 := (iff #71 #111)
+#109 := (iff #66 #106)
+#100 := (or #80 #84)
+#103 := (or #88 #100)
+#107 := (iff #103 #106)
+#108 := [rewrite]: #107
+#104 := (iff #66 #103)
+#101 := (iff #59 #100)
+#85 := (iff #16 #84)
+#86 := [rewrite]: #85
+#81 := (iff #58 #80)
+#78 := (iff #15 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#102 := [monotonicity #82 #86]: #101
+#98 := (iff #65 #88)
+#87 := (not #88)
+#93 := (not #87)
+#96 := (iff #93 #88)
+#97 := [rewrite]: #96
+#94 := (iff #65 #93)
+#91 := (iff #12 #87)
+#92 := [rewrite]: #91
+#95 := [monotonicity #92]: #94
+#99 := [trans #95 #97]: #98
+#105 := [monotonicity #99 #102]: #104
+#110 := [trans #105 #108]: #109
+#113 := [monotonicity #110]: #112
+#72 := (iff #19 #71)
+#69 := (iff #18 #66)
+#62 := (implies #12 #59)
+#67 := (iff #62 #66)
+#68 := [rewrite]: #67
+#63 := (iff #18 #62)
+#60 := (iff #17 #59)
+#61 := [rewrite]: #60
 #64 := [monotonicity #61]: #63
-#39 := [asserted]: #19
-#65 := [mp #39 #64]: #62
-#67 := [not-or-elim #65]: #15
-#155 := [mp #67 #154]: #152
-#123 := (* -1::Int #11)
-#124 := (+ #9 #123)
-#122 := (>= #124 0::Int)
-#126 := (not #122)
-#127 := (iff #47 #126)
-#121 := (iff #46 #122)
-#125 := [rewrite]: #121
-#128 := [monotonicity #125]: #127
-#66 := [not-or-elim #65]: #47
-#129 := [mp #66 #128]: #126
-#156 := (+ #9 #150)
-#157 := (<= #156 0::Int)
-#160 := (not #157)
-#68 := (not #16)
-#161 := (iff #68 #160)
-#158 := (iff #16 #157)
-#159 := [rewrite]: #158
-#162 := [monotonicity #159]: #161
-#69 := [not-or-elim #65]: #68
-#163 := [mp #69 #162]: #160
-[th-lemma arith farkas 1 1 1 #163 #129 #155]: false
-171ded070b8a8323b4f2cd46ab63f8d215cdbc40 76 0
-unsat
+#70 := [trans #64 #68]: #69
+#73 := [monotonicity #70]: #72
+#115 := [trans #73 #113]: #114
+#57 := [asserted]: #19
+#116 := [mp #57 #115]: #111
+#118 := [not-or-elim #116]: #77
+#117 := [not-or-elim #116]: #87
+#119 := (not #84)
+#120 := [not-or-elim #116]: #119
+[th-lemma arith farkas 1 1 1 #120 #117 #118]: false
+unsat
+d78e40f60c9b56c29d89cfe670baf3737ca499b3 86 0
 #2 := false
 #26 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -24658,75 +22862,85 @@
 decl f4 :: S2
 #7 := f4
 #14 := (f3 f4 f7)
-#125 := -1::Int
-#153 := (* -1::Int #14)
+#74 := -1::Int
+#77 := (* -1::Int #14)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#161 := (+ #9 #153)
-#162 := (<= #161 0::Int)
-#165 := (not #162)
-#16 := (<= #9 #14)
-#73 := (not #16)
-#166 := (iff #73 #165)
-#163 := (iff #16 #162)
-#164 := [rewrite]: #163
-#167 := [monotonicity #164]: #166
+#88 := (+ #9 #77)
+#89 := (<= #88 0::Int)
+#119 := (not #89)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#46 := (<= #14 #11)
-#12 := (<= #9 #11)
-#61 := (not #12)
-#62 := (or #61 #46 #16)
-#67 := (not #62)
+#78 := (+ #11 #77)
+#76 := (>= #78 0::Int)
+#92 := (* -1::Int #11)
+#93 := (+ #9 #92)
+#94 := (<= #93 0::Int)
+#97 := (not #94)
+#106 := (or #97 #76 #89)
+#111 := (not #106)
+#16 := (<= #9 #14)
 #15 := (< #11 #14)
 #17 := (implies #15 #16)
+#12 := (<= #9 #11)
 #18 := (implies #12 #17)
 #19 := (not #18)
-#68 := (iff #19 #67)
-#65 := (iff #18 #62)
-#53 := (or #46 #16)
-#58 := (implies #12 #53)
-#63 := (iff #58 #62)
-#64 := [rewrite]: #63
-#59 := (iff #18 #58)
-#56 := (iff #17 #53)
-#47 := (not #46)
-#50 := (implies #47 #16)
-#54 := (iff #50 #53)
-#55 := [rewrite]: #54
-#51 := (iff #17 #50)
-#48 := (iff #15 #47)
-#49 := [rewrite]: #48
-#52 := [monotonicity #49]: #51
-#57 := [trans #52 #55]: #56
-#60 := [monotonicity #57]: #59
-#66 := [trans #60 #64]: #65
-#69 := [monotonicity #66]: #68
-#39 := [asserted]: #19
-#70 := [mp #39 #69]: #67
-#74 := [not-or-elim #70]: #73
-#168 := [mp #74 #167]: #165
-#154 := (+ #11 #153)
-#152 := (>= #154 0::Int)
-#157 := (not #152)
-#158 := (iff #47 #157)
-#155 := (iff #46 #152)
-#156 := [rewrite]: #155
-#159 := [monotonicity #156]: #158
-#72 := [not-or-elim #70]: #47
-#160 := [mp #72 #159]: #157
-#126 := (* -1::Int #11)
-#127 := (+ #9 #126)
-#128 := (<= #127 0::Int)
-#129 := (iff #12 #128)
-#130 := [rewrite]: #129
-#71 := [not-or-elim #70]: #12
-#131 := [mp #71 #130]: #128
-[th-lemma arith farkas 1 1 1 #131 #160 #168]: false
-3442e0ff683ec86dfe8263beead19ae007eb6c5a 82 0
-unsat
+#114 := (iff #19 #111)
+#58 := (not #15)
+#59 := (or #58 #16)
+#65 := (not #12)
+#66 := (or #65 #59)
+#71 := (not #66)
+#112 := (iff #71 #111)
+#109 := (iff #66 #106)
+#100 := (or #76 #89)
+#103 := (or #97 #100)
+#107 := (iff #103 #106)
+#108 := [rewrite]: #107
+#104 := (iff #66 #103)
+#101 := (iff #59 #100)
+#90 := (iff #16 #89)
+#91 := [rewrite]: #90
+#86 := (iff #58 #76)
+#75 := (not #76)
+#81 := (not #75)
+#84 := (iff #81 #76)
+#85 := [rewrite]: #84
+#82 := (iff #58 #81)
+#79 := (iff #15 #75)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#87 := [trans #83 #85]: #86
+#102 := [monotonicity #87 #91]: #101
+#98 := (iff #65 #97)
+#95 := (iff #12 #94)
+#96 := [rewrite]: #95
+#99 := [monotonicity #96]: #98
+#105 := [monotonicity #99 #102]: #104
+#110 := [trans #105 #108]: #109
+#113 := [monotonicity #110]: #112
+#72 := (iff #19 #71)
+#69 := (iff #18 #66)
+#62 := (implies #12 #59)
+#67 := (iff #62 #66)
+#68 := [rewrite]: #67
+#63 := (iff #18 #62)
+#60 := (iff #17 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#70 := [trans #64 #68]: #69
+#73 := [monotonicity #70]: #72
+#115 := [trans #73 #113]: #114
+#57 := [asserted]: #19
+#116 := [mp #57 #115]: #111
+#120 := [not-or-elim #116]: #119
+#118 := [not-or-elim #116]: #75
+#117 := [not-or-elim #116]: #94
+[th-lemma arith farkas 1 1 1 #117 #118 #120]: false
+unsat
+355ace00757b4951a8f0a007e56528f29f4c829d 91 0
 #2 := false
 #26 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -24735,81 +22949,90 @@
 decl f4 :: S2
 #7 := f4
 #14 := (f3 f4 f7)
-#131 := -1::Int
-#162 := (* -1::Int #14)
+#74 := -1::Int
+#77 := (* -1::Int #14)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#172 := (+ #9 #162)
-#171 := (>= #172 0::Int)
-#54 := (<= #14 #9)
-#170 := (iff #54 #171)
-#173 := [rewrite]: #170
-#55 := (not #54)
+#90 := (+ #9 #77)
+#89 := (>= #90 0::Int)
+#88 := (not #89)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#50 := (<= #14 #11)
-#46 := (<= #11 #9)
-#69 := (or #46 #50 #55)
-#74 := (not #69)
+#78 := (+ #11 #77)
+#76 := (>= #78 0::Int)
+#95 := (* -1::Int #11)
+#96 := (+ #9 #95)
+#94 := (>= #96 0::Int)
+#112 := (or #94 #76 #88)
+#117 := (not #112)
 #16 := (< #9 #14)
 #15 := (< #11 #14)
 #17 := (implies #15 #16)
 #12 := (< #9 #11)
 #18 := (implies #12 #17)
 #19 := (not #18)
-#75 := (iff #19 #74)
-#72 := (iff #18 #69)
-#61 := (or #50 #55)
-#47 := (not #46)
-#66 := (implies #47 #61)
-#70 := (iff #66 #69)
-#71 := [rewrite]: #70
-#67 := (iff #18 #66)
-#64 := (iff #17 #61)
-#51 := (not #50)
-#58 := (implies #51 #55)
-#62 := (iff #58 #61)
-#63 := [rewrite]: #62
-#59 := (iff #17 #58)
-#56 := (iff #16 #55)
-#57 := [rewrite]: #56
-#52 := (iff #15 #51)
-#53 := [rewrite]: #52
-#60 := [monotonicity #53 #57]: #59
-#65 := [trans #60 #63]: #64
-#48 := (iff #12 #47)
-#49 := [rewrite]: #48
-#68 := [monotonicity #49 #65]: #67
-#73 := [trans #68 #71]: #72
-#76 := [monotonicity #73]: #75
-#39 := [asserted]: #19
-#77 := [mp #39 #76]: #74
-#80 := [not-or-elim #77]: #54
-#174 := [mp #80 #173]: #171
-#163 := (+ #11 #162)
-#161 := (>= #163 0::Int)
-#166 := (not #161)
-#167 := (iff #51 #166)
-#164 := (iff #50 #161)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#79 := [not-or-elim #77]: #51
-#169 := [mp #79 #168]: #166
-#134 := (* -1::Int #11)
-#135 := (+ #9 #134)
-#133 := (>= #135 0::Int)
-#137 := (not #133)
-#138 := (iff #47 #137)
-#132 := (iff #46 #133)
-#136 := [rewrite]: #132
-#139 := [monotonicity #136]: #138
-#78 := [not-or-elim #77]: #47
-#140 := [mp #78 #139]: #137
-[th-lemma arith farkas 1 1 1 #140 #169 #174]: false
-29a6322268f6966071dac48d687e18d152c2d9a2 90 0
-unsat
+#120 := (iff #19 #117)
+#58 := (not #15)
+#59 := (or #58 #16)
+#65 := (not #12)
+#66 := (or #65 #59)
+#71 := (not #66)
+#118 := (iff #71 #117)
+#115 := (iff #66 #112)
+#106 := (or #76 #88)
+#109 := (or #94 #106)
+#113 := (iff #109 #112)
+#114 := [rewrite]: #113
+#110 := (iff #66 #109)
+#107 := (iff #59 #106)
+#91 := (iff #16 #88)
+#92 := [rewrite]: #91
+#86 := (iff #58 #76)
+#75 := (not #76)
+#81 := (not #75)
+#84 := (iff #81 #76)
+#85 := [rewrite]: #84
+#82 := (iff #58 #81)
+#79 := (iff #15 #75)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#87 := [trans #83 #85]: #86
+#108 := [monotonicity #87 #92]: #107
+#104 := (iff #65 #94)
+#93 := (not #94)
+#99 := (not #93)
+#102 := (iff #99 #94)
+#103 := [rewrite]: #102
+#100 := (iff #65 #99)
+#97 := (iff #12 #93)
+#98 := [rewrite]: #97
+#101 := [monotonicity #98]: #100
+#105 := [trans #101 #103]: #104
+#111 := [monotonicity #105 #108]: #110
+#116 := [trans #111 #114]: #115
+#119 := [monotonicity #116]: #118
+#72 := (iff #19 #71)
+#69 := (iff #18 #66)
+#62 := (implies #12 #59)
+#67 := (iff #62 #66)
+#68 := [rewrite]: #67
+#63 := (iff #18 #62)
+#60 := (iff #17 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#70 := [trans #64 #68]: #69
+#73 := [monotonicity #70]: #72
+#121 := [trans #73 #119]: #120
+#57 := [asserted]: #19
+#122 := [mp #57 #121]: #117
+#125 := [not-or-elim #122]: #89
+#124 := [not-or-elim #122]: #75
+#123 := [not-or-elim #122]: #93
+[th-lemma arith farkas 1 1 1 #123 #124 #125]: false
+unsat
+c6e2a76c11802bc1dbc13937c0da68298caebc2d 75 0
 #2 := false
 #27 := 0::Int
 decl f3 :: (-> S2 S3 Int)
@@ -24818,31 +23041,28 @@
 decl f4 :: S2
 #7 := f4
 #14 := (f3 f4 f7)
-#136 := -1::Int
-#167 := (* -1::Int #14)
+#66 := -1::Int
+#74 := (* -1::Int #14)
 decl f5 :: S3
 #8 := f5
 #9 := (f3 f4 f5)
-#175 := (+ #9 #167)
-#176 := (<= #175 0::Int)
-#179 := (not #176)
-#58 := (<= #9 #14)
-#59 := (not #58)
-#180 := (iff #59 #179)
-#177 := (iff #58 #176)
-#178 := [rewrite]: #177
-#181 := [monotonicity #178]: #180
+#85 := (+ #9 #74)
+#86 := (<= #85 0::Int)
+#87 := (not #86)
 decl f6 :: S3
 #10 := f6
 #11 := (f3 f4 f6)
-#51 := (<= #14 #11)
-#52 := (not #51)
-#47 := (<= #11 #9)
-#48 := (not #47)
-#55 := (and #48 #52)
-#72 := (not #55)
-#73 := (or #72 #58)
-#78 := (not #73)
+#75 := (+ #11 #74)
+#73 := (>= #75 0::Int)
+#76 := (not #73)
+#69 := (* -1::Int #11)
+#70 := (+ #9 #69)
+#68 := (>= #70 0::Int)
+#67 := (not #68)
+#79 := (and #67 #76)
+#82 := (not #79)
+#97 := (or #82 #86)
+#100 := (not #97)
 #17 := (< #14 #9)
 #18 := (not #17)
 #15 := (< #11 #14)
@@ -24850,154 +23070,142 @@
 #16 := (and #12 #15)
 #19 := (implies #16 #18)
 #20 := (not #19)
-#79 := (iff #20 #78)
-#76 := (iff #19 #73)
-#69 := (implies #55 #58)
-#74 := (iff #69 #73)
-#75 := [rewrite]: #74
-#70 := (iff #19 #69)
-#67 := (iff #18 #58)
-#62 := (not #59)
-#65 := (iff #62 #58)
-#66 := [rewrite]: #65
-#63 := (iff #18 #62)
-#60 := (iff #17 #59)
-#61 := [rewrite]: #60
-#64 := [monotonicity #61]: #63
-#68 := [trans #64 #66]: #67
-#56 := (iff #16 #55)
-#53 := (iff #15 #52)
-#54 := [rewrite]: #53
-#49 := (iff #12 #48)
-#50 := [rewrite]: #49
-#57 := [monotonicity #50 #54]: #56
-#71 := [monotonicity #57 #68]: #70
-#77 := [trans #71 #75]: #76
-#80 := [monotonicity #77]: #79
-#40 := [asserted]: #20
-#81 := [mp #40 #80]: #78
-#85 := [not-or-elim #81]: #59
-#182 := [mp #85 #181]: #179
-#168 := (+ #11 #167)
-#166 := (>= #168 0::Int)
-#171 := (not #166)
-#172 := (iff #52 #171)
-#169 := (iff #51 #166)
-#170 := [rewrite]: #169
-#173 := [monotonicity #170]: #172
-#82 := [not-or-elim #81]: #55
-#84 := [and-elim #82]: #52
-#174 := [mp #84 #173]: #171
-#139 := (* -1::Int #11)
-#140 := (+ #9 #139)
-#138 := (>= #140 0::Int)
-#142 := (not #138)
-#143 := (iff #48 #142)
-#137 := (iff #47 #138)
-#141 := [rewrite]: #137
-#144 := [monotonicity #141]: #143
-#83 := [and-elim #82]: #48
-#145 := [mp #83 #144]: #142
-[th-lemma arith farkas 1 1 1 #145 #174 #182]: false
-6d0934f7a1554664ef5aab68f018c40077851491 17 0
-unsat
+#103 := (iff #20 #100)
+#59 := (not #16)
+#60 := (or #59 #18)
+#63 := (not #60)
+#101 := (iff #63 #100)
+#98 := (iff #60 #97)
+#95 := (iff #18 #86)
+#90 := (not #87)
+#93 := (iff #90 #86)
+#94 := [rewrite]: #93
+#91 := (iff #18 #90)
+#88 := (iff #17 #87)
+#89 := [rewrite]: #88
+#92 := [monotonicity #89]: #91
+#96 := [trans #92 #94]: #95
+#83 := (iff #59 #82)
+#80 := (iff #16 #79)
+#77 := (iff #15 #76)
+#78 := [rewrite]: #77
+#71 := (iff #12 #67)
+#72 := [rewrite]: #71
+#81 := [monotonicity #72 #78]: #80
+#84 := [monotonicity #81]: #83
+#99 := [monotonicity #84 #96]: #98
+#102 := [monotonicity #99]: #101
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#104 := [trans #65 #102]: #103
+#58 := [asserted]: #20
+#105 := [mp #58 #104]: #100
+#109 := [not-or-elim #105]: #87
+#106 := [not-or-elim #105]: #79
+#108 := [and-elim #106]: #76
+#107 := [and-elim #106]: #67
+[th-lemma arith farkas 1 1 1 #107 #108 #109]: false
+unsat
+f1af9130b40233478fdc7662d2e61597d0d0c162 17 0
 #2 := false
 #7 := 0::Int
 #8 := (= 0::Int 0::Int)
 #9 := (not #8)
-#22 := (iff #9 false)
-#1 := true
-#17 := (not true)
-#20 := (iff #17 false)
-#21 := [rewrite]: #20
-#18 := (iff #9 #17)
-#15 := (iff #8 true)
-#16 := [rewrite]: #15
-#19 := [monotonicity #16]: #18
-#23 := [trans #19 #21]: #22
-#11 := [asserted]: #9
-[mp #11 #23]: false
-d7b98ca131502dcbf6e72e7a62827571cacaa1f4 25 0
-unsat
+#37 := (iff #9 false)
+#1 := true
+#32 := (not true)
+#35 := (iff #32 false)
+#36 := [rewrite]: #35
+#33 := (iff #9 #32)
+#30 := (iff #8 true)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31]: #33
+#38 := [trans #34 #36]: #37
+#29 := [asserted]: #9
+[mp #29 #38]: false
+unsat
+df5bd564889a3a421a410f30957cfbf7950c8d24 25 0
 #2 := false
 #7 := 0::Int
 #8 := (- 0::Int)
 #9 := (= 0::Int #8)
 #10 := (not #9)
-#30 := (iff #10 false)
-#1 := true
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #10 #25)
-#23 := (iff #9 true)
-#18 := (= 0::Int 0::Int)
-#21 := (iff #18 true)
-#22 := [rewrite]: #21
-#19 := (iff #9 #18)
-#16 := (= #8 0::Int)
-#17 := [rewrite]: #16
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#12 := [asserted]: #10
-[mp #12 #31]: false
-7b0ec950272ab38d7bef78f0f0033a39806c5288 17 0
-unsat
+#45 := (iff #10 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #10 #40)
+#38 := (iff #9 true)
+#33 := (= 0::Int 0::Int)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #9 #33)
+#31 := (= #8 0::Int)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#30 := [asserted]: #10
+[mp #30 #46]: false
+unsat
+7bb6bad9020ee08bca9f57f4097fba1ccde7a752 17 0
 #2 := false
 #7 := 1::Int
 #8 := (= 1::Int 1::Int)
 #9 := (not #8)
-#23 := (iff #9 false)
-#1 := true
-#18 := (not true)
-#21 := (iff #18 false)
-#22 := [rewrite]: #21
-#19 := (iff #9 #18)
-#16 := (iff #8 true)
-#17 := [rewrite]: #16
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#11 := [asserted]: #9
-[mp #11 #24]: false
-5bacae6f5a25de48b565a5f4f260454983cf0324 34 0
-unsat
+#38 := (iff #9 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #9 #33)
+#31 := (iff #8 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#30 := [asserted]: #9
+[mp #30 #39]: false
+unsat
+e358808f536492e400da2798c38454f7a31ee728 34 0
 #2 := false
 #7 := 1::Int
 #8 := (- 1::Int)
 #9 := (= #8 1::Int)
 #10 := (not #9)
 #11 := (not #10)
-#41 := (iff #11 false)
-#1 := true
-#36 := (not true)
+#55 := (iff #11 false)
+#1 := true
+#50 := (not true)
+#53 := (iff #50 false)
+#54 := [rewrite]: #53
+#51 := (iff #11 #50)
+#48 := (iff #10 true)
+#43 := (not false)
+#46 := (iff #43 true)
+#47 := [rewrite]: #46
+#44 := (iff #10 #43)
+#41 := (iff #9 false)
+#33 := -1::Int
+#36 := (= -1::Int 1::Int)
 #39 := (iff #36 false)
 #40 := [rewrite]: #39
-#37 := (iff #11 #36)
-#34 := (iff #10 true)
-#29 := (not false)
-#32 := (iff #29 true)
-#33 := [rewrite]: #32
-#30 := (iff #10 #29)
-#27 := (iff #9 false)
-#17 := -1::Int
-#20 := (= -1::Int 1::Int)
-#25 := (iff #20 false)
-#26 := [rewrite]: #25
-#21 := (iff #9 #20)
-#18 := (= #8 -1::Int)
-#19 := [rewrite]: #18
-#22 := [monotonicity #19]: #21
-#28 := [trans #22 #26]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
+#37 := (iff #9 #36)
+#34 := (= #8 -1::Int)
+#35 := [rewrite]: #34
 #38 := [monotonicity #35]: #37
 #42 := [trans #38 #40]: #41
-#13 := [asserted]: #11
-[mp #13 #42]: false
-51cefbb0434bd040121aa77cae27123fd91052b1 50 0
-unsat
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#52 := [monotonicity #49]: #51
+#56 := [trans #52 #54]: #55
+#32 := [asserted]: #11
+[mp #32 #56]: false
+unsat
+289258b061b6c2ab7d0444f514f156a31ab808a5 40 0
 #2 := false
 #11 := 567::Int
 #9 := 345::Int
@@ -25006,90 +23214,70 @@
 #10 := (+ #8 345::Int)
 #12 := (< #10 567::Int)
 #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)
-#25 := 222::Int
-#33 := (<= 567::Int 222::Int)
-#34 := (not #33)
-#47 := (iff #34 true)
-#42 := (not false)
-#45 := (iff #42 true)
-#46 := [rewrite]: #45
-#43 := (iff #34 #42)
-#39 := (iff #33 false)
-#41 := [rewrite]: #39
-#44 := [monotonicity #41]: #43
-#48 := [trans #44 #46]: #47
-#37 := (iff #12 #34)
-#30 := (< 222::Int 567::Int)
-#35 := (iff #30 #34)
-#36 := [rewrite]: #35
-#31 := (iff #12 #30)
-#28 := (= #10 222::Int)
-#19 := -123::Int
-#22 := (+ -123::Int 345::Int)
-#26 := (= #22 222::Int)
-#27 := [rewrite]: #26
-#23 := (= #10 #22)
-#20 := (= #8 -123::Int)
-#21 := [rewrite]: #20
-#24 := [monotonicity #21]: #23
-#29 := [trans #24 #27]: #28
-#32 := [monotonicity #29]: #31
-#38 := [trans #32 #36]: #37
-#50 := [trans #38 #48]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#15 := [asserted]: #13
-[mp #15 #57]: false
-7a443dccb932d2e9c10f10108463fa3fd7f3208f 40 0
-unsat
+#61 := (iff #13 false)
+#41 := 222::Int
+#46 := (< 222::Int 567::Int)
+#49 := (not #46)
+#59 := (iff #49 false)
+#1 := true
+#54 := (not true)
+#57 := (iff #54 false)
+#58 := [rewrite]: #57
+#55 := (iff #49 #54)
+#52 := (iff #46 true)
+#53 := [rewrite]: #52
+#56 := [monotonicity #53]: #55
+#60 := [trans #56 #58]: #59
+#50 := (iff #13 #49)
+#47 := (iff #12 #46)
+#44 := (= #10 222::Int)
+#35 := -123::Int
+#38 := (+ -123::Int 345::Int)
+#42 := (= #38 222::Int)
+#43 := [rewrite]: #42
+#39 := (= #10 #38)
+#36 := (= #8 -123::Int)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#45 := [trans #40 #43]: #44
+#48 := [monotonicity #45]: #47
+#51 := [monotonicity #48]: #50
+#62 := [trans #51 #60]: #61
+#34 := [asserted]: #13
+[mp #34 #62]: false
+unsat
+ec3d9bd94c80cde36f0de69695b202f9ddf0b4fa 30 0
 #2 := false
 #9 := 2345678901::Int
 #7 := 123456789::Int
 #8 := (- 123456789::Int)
 #10 := (< #8 2345678901::Int)
 #11 := (not #10)
-#46 := (iff #11 false)
-#1 := true
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #11 #41)
-#39 := (iff #10 true)
-#17 := -123456789::Int
-#23 := (<= 2345678901::Int -123456789::Int)
-#24 := (not #23)
-#37 := (iff #24 true)
-#32 := (not false)
-#35 := (iff #32 true)
-#36 := [rewrite]: #35
-#33 := (iff #24 #32)
-#29 := (iff #23 false)
-#31 := [rewrite]: #29
-#34 := [monotonicity #31]: #33
-#38 := [trans #34 #36]: #37
-#27 := (iff #10 #24)
-#20 := (< -123456789::Int 2345678901::Int)
-#25 := (iff #20 #24)
-#26 := [rewrite]: #25
-#21 := (iff #10 #20)
-#18 := (= #8 -123456789::Int)
-#19 := [rewrite]: #18
-#22 := [monotonicity #19]: #21
-#28 := [trans #22 #26]: #27
-#40 := [trans #28 #38]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#13 := [asserted]: #11
-[mp #13 #47]: false
-50989c5e2e539fd2d1d21182edd10ff7b62c09eb 26 0
-unsat
+#51 := (iff #11 false)
+#33 := -123456789::Int
+#36 := (< -123456789::Int 2345678901::Int)
+#39 := (not #36)
+#49 := (iff #39 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #39 #44)
+#42 := (iff #36 true)
+#43 := [rewrite]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#40 := (iff #11 #39)
+#37 := (iff #10 #36)
+#34 := (= #8 -123456789::Int)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#41 := [monotonicity #38]: #40
+#52 := [trans #41 #50]: #51
+#32 := [asserted]: #11
+[mp #32 #52]: false
+unsat
+e691c4b38a0343c2894ab60a09c5cabe20925699 26 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25097,26 +23285,26 @@
 #9 := (+ f3 0::Int)
 #10 := (= #9 f3)
 #11 := (not #10)
-#30 := (iff #11 false)
-#1 := true
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #11 #25)
-#23 := (iff #10 true)
-#18 := (= f3 f3)
-#21 := (iff #18 true)
-#22 := [rewrite]: #21
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#13 := [asserted]: #11
-[mp #13 #31]: false
-46aef7ce6988ff7631483393ec6098c7fafc37bd 26 0
-unsat
+#45 := (iff #11 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 true)
+#33 := (= f3 f3)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#32 := [rewrite]: #10
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#31 := [asserted]: #11
+[mp #31 #46]: false
+unsat
+5c4b8f51c8c77bd1a261a8ed01b60034ae255cfc 26 0
 #2 := false
 decl f3 :: Int
 #8 := f3
@@ -25124,26 +23312,26 @@
 #9 := (+ 0::Int f3)
 #10 := (= #9 f3)
 #11 := (not #10)
-#30 := (iff #11 false)
-#1 := true
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #11 #25)
-#23 := (iff #10 true)
-#18 := (= f3 f3)
-#21 := (iff #18 true)
-#22 := [rewrite]: #21
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#13 := [asserted]: #11
-[mp #13 #31]: false
-9152c9719df8a2e68b390a97f0a98cb0b7ca2d0c 22 0
-unsat
+#45 := (iff #11 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 true)
+#33 := (= f3 f3)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#32 := [rewrite]: #10
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#31 := [asserted]: #11
+[mp #31 #46]: false
+unsat
+01d4aea8f66d97bfd6d4aa17e6a8adfadb01a40a 29 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25153,20 +23341,27 @@
 #9 := (+ f3 f4)
 #11 := (= #9 #10)
 #12 := (not #11)
-#26 := (iff #12 false)
-#1 := true
-#21 := (not true)
-#24 := (iff #21 false)
-#25 := [rewrite]: #24
-#22 := (iff #12 #21)
-#19 := (iff #11 true)
-#20 := [rewrite]: #19
-#23 := [monotonicity #20]: #22
-#27 := [trans #23 #25]: #26
-#14 := [asserted]: #12
-[mp #14 #27]: false
-95e4d4805727a56da5d566d8d814d0ecdf083226 36 0
-unsat
+#48 := (iff #12 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (iff #11 true)
+#36 := (= #9 #9)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #11 #36)
+#34 := (= #10 #9)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#33 := [asserted]: #12
+[mp #33 #49]: false
+unsat
+7c37cd9f2beeef1c65d4ffd557883d8830a3d5c8 33 0
 #2 := false
 decl f5 :: Int
 #9 := f5
@@ -25180,129 +23375,127 @@
 #11 := (+ f3 #10)
 #14 := (= #11 #13)
 #15 := (not #14)
-#39 := (iff #15 false)
-#1 := true
-#34 := (not true)
-#37 := (iff #34 false)
+#51 := (iff #15 false)
+#1 := true
+#46 := (not true)
+#49 := (iff #46 false)
+#50 := [rewrite]: #49
+#47 := (iff #15 #46)
+#44 := (iff #14 true)
+#39 := (= #11 #11)
+#42 := (iff #39 true)
+#43 := [rewrite]: #42
+#40 := (iff #14 #39)
+#37 := (= #13 #11)
 #38 := [rewrite]: #37
-#35 := (iff #15 #34)
-#32 := (iff #14 true)
-#21 := (+ f3 f4 f5)
-#26 := (= #21 #21)
-#30 := (iff #26 true)
-#31 := [rewrite]: #30
-#27 := (iff #14 #26)
-#24 := (= #13 #21)
-#25 := [rewrite]: #24
-#22 := (= #11 #21)
-#23 := [rewrite]: #22
-#28 := [monotonicity #23 #25]: #27
-#33 := [trans #28 #31]: #32
-#36 := [monotonicity #33]: #35
-#40 := [trans #36 #38]: #39
-#17 := [asserted]: #15
-[mp #17 #40]: false
-1425e9f9c7d957418c96ef3737bc95f0ad15e232 44 0
-unsat
+#41 := [monotonicity #38]: #40
+#45 := [trans #41 #43]: #44
+#48 := [monotonicity #45]: #47
+#52 := [trans #48 #50]: #51
+#36 := [asserted]: #15
+[mp #36 #52]: false
+unsat
+f7b791c457a131b93a9eb5502d849317ab54ee47 45 0
 #2 := false
 decl f4 :: Int
 #8 := f4
-#21 := -1::Int
-#22 := (* -1::Int f4)
+#12 := (- f4)
 decl f3 :: Int
 #7 := f3
-#25 := (= f3 #22)
+#13 := (= f3 #12)
 #10 := 0::Int
 #9 := (+ f3 f4)
 #11 := (= #9 0::Int)
-#34 := (not #11)
-#35 := (iff #34 #25)
-#68 := (iff #35 false)
-#63 := (iff #34 #11)
-#66 := (iff #63 false)
-#67 := [rewrite]: #66
-#64 := (iff #35 #63)
-#61 := (iff #25 #11)
-#62 := [rewrite]: #61
-#65 := [monotonicity #62]: #64
-#69 := [trans #65 #67]: #68
-#12 := (- f4)
-#13 := (= f3 #12)
 #14 := (iff #11 #13)
 #15 := (not #14)
-#38 := (iff #15 #35)
-#28 := (iff #11 #25)
-#31 := (not #28)
-#36 := (iff #31 #35)
-#37 := [rewrite]: #36
-#32 := (iff #15 #31)
-#29 := (iff #14 #28)
-#26 := (iff #13 #25)
-#23 := (= #12 #22)
-#24 := [rewrite]: #23
-#27 := [monotonicity #24]: #26
-#30 := [monotonicity #27]: #29
-#33 := [monotonicity #30]: #32
-#39 := [trans #33 #37]: #38
-#17 := [asserted]: #15
-#40 := [mp #17 #39]: #35
-[mp #40 #69]: false
-3d809dbe33000063b4a57a66bb51f680bedfd6e0 26 0
-unsat
+#64 := (iff #15 false)
+#36 := -1::Int
+#37 := (* -1::Int f4)
+#40 := (= f3 #37)
+#49 := (not #11)
+#50 := (iff #49 #40)
+#62 := (iff #50 false)
+#57 := (iff #49 #11)
+#60 := (iff #57 false)
+#61 := [rewrite]: #60
+#58 := (iff #50 #57)
+#55 := (iff #40 #11)
+#56 := [rewrite]: #55
+#59 := [monotonicity #56]: #58
+#63 := [trans #59 #61]: #62
+#53 := (iff #15 #50)
+#43 := (iff #11 #40)
+#46 := (not #43)
+#51 := (iff #46 #50)
+#52 := [rewrite]: #51
+#47 := (iff #15 #46)
+#44 := (iff #14 #43)
+#41 := (iff #13 #40)
+#38 := (= #12 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#48 := [monotonicity #45]: #47
+#54 := [trans #48 #52]: #53
+#65 := [trans #54 #63]: #64
+#35 := [asserted]: #15
+[mp #35 #65]: false
+unsat
+310dcc34c35fac2a90c97769561f401f5711a5cb 26 0
 #2 := false
 #7 := 1::Int
 #8 := (- 1::Int)
 #9 := (= #8 #8)
 #10 := (not #9)
-#32 := (iff #10 false)
-#1 := true
-#27 := (not true)
-#30 := (iff #27 false)
-#31 := [rewrite]: #30
-#28 := (iff #10 #27)
-#25 := (iff #9 true)
-#16 := -1::Int
-#19 := (= -1::Int -1::Int)
-#23 := (iff #19 true)
-#24 := [rewrite]: #23
-#20 := (iff #9 #19)
-#17 := (= #8 -1::Int)
-#18 := [rewrite]: #17
-#21 := [monotonicity #18 #18]: #20
-#26 := [trans #21 #24]: #25
-#29 := [monotonicity #26]: #28
-#33 := [trans #29 #31]: #32
-#12 := [asserted]: #10
-[mp #12 #33]: false
-feed10a69235d8fa170bcc786549b25dc16a103c 26 0
-unsat
+#47 := (iff #10 false)
+#1 := true
+#42 := (not true)
+#45 := (iff #42 false)
+#46 := [rewrite]: #45
+#43 := (iff #10 #42)
+#40 := (iff #9 true)
+#32 := -1::Int
+#35 := (= -1::Int -1::Int)
+#38 := (iff #35 true)
+#39 := [rewrite]: #38
+#36 := (iff #9 #35)
+#33 := (= #8 -1::Int)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34 #34]: #36
+#41 := [trans #37 #39]: #40
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#31 := [asserted]: #10
+[mp #31 #48]: false
+unsat
+cec035ee1776e184f791b0a4756799d613e13376 26 0
 #2 := false
 #7 := 3::Int
 #8 := (- 3::Int)
 #9 := (= #8 #8)
 #10 := (not #9)
-#32 := (iff #10 false)
-#1 := true
-#27 := (not true)
-#30 := (iff #27 false)
-#31 := [rewrite]: #30
-#28 := (iff #10 #27)
-#25 := (iff #9 true)
-#16 := -3::Int
-#19 := (= -3::Int -3::Int)
-#23 := (iff #19 true)
-#24 := [rewrite]: #23
-#20 := (iff #9 #19)
-#17 := (= #8 -3::Int)
-#18 := [rewrite]: #17
-#21 := [monotonicity #18 #18]: #20
-#26 := [trans #21 #24]: #25
-#29 := [monotonicity #26]: #28
-#33 := [trans #29 #31]: #32
-#12 := [asserted]: #10
-[mp #12 #33]: false
-e72ea83a2103fac5da57de85cef39aa4509d9d7f 50 0
-unsat
+#47 := (iff #10 false)
+#1 := true
+#42 := (not true)
+#45 := (iff #42 false)
+#46 := [rewrite]: #45
+#43 := (iff #10 #42)
+#40 := (iff #9 true)
+#32 := -3::Int
+#35 := (= -3::Int -3::Int)
+#38 := (iff #35 true)
+#39 := [rewrite]: #38
+#36 := (iff #9 #35)
+#33 := (= #8 -3::Int)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34 #34]: #36
+#41 := [trans #37 #39]: #40
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#31 := [asserted]: #10
+[mp #31 #48]: false
+unsat
+3815df4ff70adc684db4806205e34634fa08e24e 53 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25312,48 +23505,51 @@
 #10 := (< #8 0::Int)
 #12 := (iff #10 #11)
 #13 := (not #12)
-#54 := (iff #13 false)
-#1 := true
-#49 := (not true)
-#52 := (iff #49 false)
-#53 := [rewrite]: #52
-#50 := (iff #13 #49)
-#47 := (iff #12 true)
-#32 := (<= f3 0::Int)
-#35 := (not #32)
-#42 := (iff #35 #35)
-#45 := (iff #42 true)
-#46 := [rewrite]: #45
-#43 := (iff #12 #42)
-#40 := (iff #11 #35)
-#41 := [rewrite]: #40
-#38 := (iff #10 #35)
-#19 := -1::Int
-#20 := (* -1::Int f3)
-#26 := (<= 0::Int #20)
-#27 := (not #26)
-#36 := (iff #27 #35)
-#33 := (iff #26 #32)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#30 := (iff #10 #27)
-#23 := (< #20 0::Int)
-#28 := (iff #23 #27)
-#29 := [rewrite]: #28
-#24 := (iff #10 #23)
-#21 := (= #8 #20)
-#22 := [rewrite]: #21
-#25 := [monotonicity #22]: #24
-#31 := [trans #25 #29]: #30
-#39 := [trans #31 #37]: #38
-#44 := [monotonicity #39 #41]: #43
-#48 := [trans #44 #46]: #47
-#51 := [monotonicity #48]: #50
-#55 := [trans #51 #53]: #54
-#15 := [asserted]: #13
-[mp #15 #55]: false
-6091664b0a1373cda23f55c1b3120db85d0b3b95 50 0
-unsat
+#73 := (iff #13 false)
+#34 := -1::Int
+#35 := (* -1::Int f3)
+#38 := (< #35 0::Int)
+#47 := (not #38)
+#48 := (iff #47 #11)
+#71 := (iff #48 false)
+#53 := (<= f3 0::Int)
+#54 := (not #53)
+#66 := (iff #53 #54)
+#69 := (iff #66 false)
+#70 := [rewrite]: #69
+#67 := (iff #48 #66)
+#64 := (iff #11 #54)
+#65 := [rewrite]: #64
+#62 := (iff #47 #53)
+#57 := (not #54)
+#60 := (iff #57 #53)
+#61 := [rewrite]: #60
+#58 := (iff #47 #57)
+#55 := (iff #38 #54)
+#56 := [rewrite]: #55
+#59 := [monotonicity #56]: #58
+#63 := [trans #59 #61]: #62
+#68 := [monotonicity #63 #65]: #67
+#72 := [trans #68 #70]: #71
+#51 := (iff #13 #48)
+#41 := (iff #38 #11)
+#44 := (not #41)
+#49 := (iff #44 #48)
+#50 := [rewrite]: #49
+#45 := (iff #13 #44)
+#42 := (iff #12 #41)
+#39 := (iff #10 #38)
+#36 := (= #8 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#43 := [monotonicity #40]: #42
+#46 := [monotonicity #43]: #45
+#52 := [trans #46 #50]: #51
+#74 := [trans #52 #72]: #73
+#33 := [asserted]: #13
+[mp #33 #74]: false
+unsat
+0a4435dcf9c2c38efb971e8501cc52dde8c28b6b 61 0
 #2 := false
 #7 := 0::Int
 decl f3 :: Int
@@ -25363,110 +23559,121 @@
 #9 := (< 0::Int f3)
 #12 := (implies #9 #11)
 #13 := (not #12)
-#54 := (iff #13 false)
-#1 := true
-#49 := (not true)
-#52 := (iff #49 false)
-#53 := [rewrite]: #52
-#50 := (iff #13 #49)
-#47 := (iff #12 true)
-#19 := (<= f3 0::Int)
-#20 := (not #19)
-#42 := (implies #20 #20)
-#45 := (iff #42 true)
-#46 := [rewrite]: #45
-#43 := (iff #12 #42)
-#40 := (iff #11 #20)
-#23 := -1::Int
-#24 := (* -1::Int f3)
-#30 := (<= 0::Int #24)
-#31 := (not #30)
-#38 := (iff #31 #20)
-#36 := (iff #30 #19)
+#80 := (iff #13 false)
+#34 := -1::Int
+#35 := (* -1::Int f3)
+#38 := (< #35 0::Int)
+#44 := (not #9)
+#45 := (or #44 #38)
+#50 := (not #45)
+#78 := (iff #50 false)
+#1 := true
+#73 := (not true)
+#76 := (iff #73 false)
+#77 := [rewrite]: #76
+#74 := (iff #50 #73)
+#71 := (iff #45 true)
+#53 := (<= f3 0::Int)
+#54 := (not #53)
+#66 := (or #53 #54)
+#69 := (iff #66 true)
+#70 := [rewrite]: #69
+#67 := (iff #45 #66)
+#64 := (iff #38 #54)
+#65 := [rewrite]: #64
+#62 := (iff #44 #53)
+#57 := (not #54)
+#60 := (iff #57 #53)
+#61 := [rewrite]: #60
+#58 := (iff #44 #57)
+#55 := (iff #9 #54)
+#56 := [rewrite]: #55
+#59 := [monotonicity #56]: #58
+#63 := [trans #59 #61]: #62
+#68 := [monotonicity #63 #65]: #67
+#72 := [trans #68 #70]: #71
+#75 := [monotonicity #72]: #74
+#79 := [trans #75 #77]: #78
+#51 := (iff #13 #50)
+#48 := (iff #12 #45)
+#41 := (implies #9 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #12 #41)
+#39 := (iff #11 #38)
+#36 := (= #10 #35)
 #37 := [rewrite]: #36
-#39 := [monotonicity #37]: #38
-#34 := (iff #11 #31)
-#27 := (< #24 0::Int)
-#32 := (iff #27 #31)
-#33 := [rewrite]: #32
-#28 := (iff #11 #27)
-#25 := (= #10 #24)
-#26 := [rewrite]: #25
-#29 := [monotonicity #26]: #28
-#35 := [trans #29 #33]: #34
-#41 := [trans #35 #39]: #40
-#21 := (iff #9 #20)
-#22 := [rewrite]: #21
-#44 := [monotonicity #22 #41]: #43
-#48 := [trans #44 #46]: #47
-#51 := [monotonicity #48]: #50
-#55 := [trans #51 #53]: #54
-#15 := [asserted]: #13
-[mp #15 #55]: false
-3e653d037824a2320dc7a17d2f1470042381c4df 61 0
-unsat
-#2 := false
+#40 := [monotonicity #37]: #39
+#43 := [monotonicity #40]: #42
+#49 := [trans #43 #47]: #48
+#52 := [monotonicity #49]: #51
+#81 := [trans #52 #79]: #80
+#33 := [asserted]: #13
+[mp #33 #81]: false
+unsat
+ff6b944415a61fef8e7066737bb3f4071effee41 61 0
+#2 := false
+decl f3 :: Int
+#7 := f3
+#10 := (- f3)
 #8 := 0::Int
-decl f3 :: Int
-#7 := f3
-#41 := (>= f3 0::Int)
-#44 := (not #41)
-#19 := (<= 0::Int f3)
-#52 := (or #19 #44)
-#57 := (not #52)
-#10 := (- f3)
 #11 := (< 0::Int #10)
 #9 := (< f3 0::Int)
 #12 := (implies #9 #11)
 #13 := (not #12)
-#58 := (iff #13 #57)
-#55 := (iff #12 #52)
-#20 := (not #19)
-#49 := (implies #20 #44)
-#53 := (iff #49 #52)
-#54 := [rewrite]: #53
-#50 := (iff #12 #49)
-#47 := (iff #11 #44)
-#28 := -1::Int
-#29 := (* -1::Int f3)
-#35 := (<= #29 0::Int)
-#36 := (not #35)
-#45 := (iff #36 #44)
-#42 := (iff #35 #41)
-#43 := [rewrite]: #42
-#46 := [monotonicity #43]: #45
-#39 := (iff #11 #36)
-#32 := (< 0::Int #29)
-#37 := (iff #32 #36)
-#38 := [rewrite]: #37
-#33 := (iff #11 #32)
-#30 := (= #10 #29)
-#31 := [rewrite]: #30
-#34 := [monotonicity #31]: #33
-#40 := [trans #34 #38]: #39
-#48 := [trans #40 #46]: #47
-#21 := (iff #9 #20)
-#25 := (iff #20 #20)
-#23 := (iff #19 #19)
-#24 := [rewrite]: #23
-#26 := [monotonicity #24]: #25
-#22 := [rewrite]: #21
-#27 := [trans #22 #26]: #21
-#51 := [monotonicity #27 #48]: #50
-#56 := [trans #51 #54]: #55
+#80 := (iff #13 false)
+#34 := -1::Int
+#35 := (* -1::Int f3)
+#38 := (< 0::Int #35)
+#44 := (not #9)
+#45 := (or #44 #38)
+#50 := (not #45)
+#78 := (iff #50 false)
+#1 := true
+#73 := (not true)
+#76 := (iff #73 false)
+#77 := [rewrite]: #76
+#74 := (iff #50 #73)
+#71 := (iff #45 true)
+#53 := (>= f3 0::Int)
+#54 := (not #53)
+#66 := (or #53 #54)
+#69 := (iff #66 true)
+#70 := [rewrite]: #69
+#67 := (iff #45 #66)
+#64 := (iff #38 #54)
+#65 := [rewrite]: #64
+#62 := (iff #44 #53)
+#57 := (not #54)
+#60 := (iff #57 #53)
+#61 := [rewrite]: #60
+#58 := (iff #44 #57)
+#55 := (iff #9 #54)
+#56 := [rewrite]: #55
 #59 := [monotonicity #56]: #58
-#15 := [asserted]: #13
-#60 := [mp #15 #59]: #57
-#62 := [not-or-elim #60]: #41
-#84 := (iff #20 #44)
-#82 := (iff #19 #41)
-#83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#61 := [not-or-elim #60]: #20
-#86 := [mp #61 #85]: #44
-[unit-resolution #86 #62]: false
-2b8f6d15a2659a02e850b9785f0f1bc3c34740a1 40 0
-unsat
+#63 := [trans #59 #61]: #62
+#68 := [monotonicity #63 #65]: #67
+#72 := [trans #68 #70]: #71
+#75 := [monotonicity #72]: #74
+#79 := [trans #75 #77]: #78
+#51 := (iff #13 #50)
+#48 := (iff #12 #45)
+#41 := (implies #9 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #12 #41)
+#39 := (iff #11 #38)
+#36 := (= #10 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#43 := [monotonicity #40]: #42
+#49 := [trans #43 #47]: #48
+#52 := [monotonicity #49]: #51
+#81 := [trans #52 #79]: #80
+#33 := [asserted]: #13
+[mp #33 #81]: false
+unsat
+1edbd3da42c4e3944ae42bd9887fadb3437e96a1 26 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25474,40 +23681,26 @@
 #9 := (- f3 0::Int)
 #10 := (= #9 f3)
 #11 := (not #10)
-#44 := (iff #11 false)
-#1 := true
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #11 #39)
-#37 := (iff #10 true)
-#32 := (= f3 f3)
-#35 := (iff #32 true)
-#36 := [rewrite]: #35
-#33 := (iff #10 #32)
-#17 := -1::Int
-#18 := (* -1::Int 0::Int)
-#19 := (+ f3 #18)
-#29 := (= #19 f3)
-#24 := (+ f3 0::Int)
-#27 := (= #24 f3)
-#28 := [rewrite]: #27
-#25 := (= #19 #24)
-#22 := (= #18 0::Int)
-#23 := [rewrite]: #22
-#26 := [monotonicity #23]: #25
-#30 := [trans #26 #28]: #29
-#20 := (= #9 #19)
-#21 := [rewrite]: #20
-#31 := [trans #21 #30]: #10
-#34 := [monotonicity #31]: #33
-#38 := [trans #34 #36]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#13 := [asserted]: #11
-[mp #13 #45]: false
-769c85c7c62c5c6e67155574fc1ee91975c07c09 37 0
-unsat
+#45 := (iff #11 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 true)
+#33 := (= f3 f3)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#32 := [rewrite]: #10
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#31 := [asserted]: #11
+[mp #31 #46]: false
+unsat
+b83a075b345830e9b6e6ce14a816684d0ce48153 32 0
 #2 := false
 decl f3 :: Int
 #8 := f3
@@ -25516,98 +23709,96 @@
 #9 := (- 0::Int f3)
 #11 := (= #9 #10)
 #12 := (not #11)
-#41 := (iff #12 false)
-#1 := true
-#36 := (not true)
-#39 := (iff #36 false)
-#40 := [rewrite]: #39
-#37 := (iff #12 #36)
-#34 := (iff #11 true)
-#18 := -1::Int
-#19 := (* -1::Int f3)
-#29 := (= #19 #19)
-#32 := (iff #29 true)
-#33 := [rewrite]: #32
-#30 := (iff #11 #29)
-#27 := (= #10 #19)
-#28 := [rewrite]: #27
-#25 := (= #9 #19)
-#20 := (+ 0::Int #19)
-#23 := (= #20 #19)
-#24 := [rewrite]: #23
-#21 := (= #9 #20)
-#22 := [rewrite]: #21
-#26 := [trans #22 #24]: #25
-#31 := [monotonicity #26 #28]: #30
-#35 := [trans #31 #33]: #34
-#38 := [monotonicity #35]: #37
-#42 := [trans #38 #40]: #41
-#14 := [asserted]: #12
-[mp #14 #42]: false
-179a1947e4f03fe1aa70eea2951bab256e0fd919 61 0
-unsat
+#51 := (iff #12 false)
+#1 := true
+#46 := (not true)
+#49 := (iff #46 false)
+#50 := [rewrite]: #49
+#47 := (iff #12 #46)
+#44 := (iff #11 true)
+#33 := -1::Int
+#34 := (* -1::Int f3)
+#39 := (= #34 #34)
+#42 := (iff #39 true)
+#43 := [rewrite]: #42
+#40 := (iff #11 #39)
+#37 := (= #10 #34)
+#38 := [rewrite]: #37
+#35 := (= #9 #34)
+#36 := [rewrite]: #35
+#41 := [monotonicity #36 #38]: #40
+#45 := [trans #41 #43]: #44
+#48 := [monotonicity #45]: #47
+#52 := [trans #48 #50]: #51
+#32 := [asserted]: #12
+[mp #32 #52]: false
+unsat
+cd3e641f4c63603b28155ba6239b2f0c22391251 64 0
 #2 := false
 #11 := 0::Int
 decl f4 :: Int
 #8 := f4
-#24 := -1::Int
-#25 := (* -1::Int f4)
 decl f3 :: Int
 #7 := f3
-#26 := (+ f3 #25)
-#78 := (>= #26 0::Int)
-#32 := (<= 0::Int #26)
-#76 := (iff #32 #78)
-#84 := [rewrite]: #76
-#33 := (not #32)
-#20 := (<= f4 f3)
-#46 := (or #20 #33)
-#51 := (not #46)
 #10 := (- f3 f4)
 #12 := (< #10 0::Int)
 #9 := (< f3 f4)
 #13 := (implies #9 #12)
 #14 := (not #13)
-#52 := (iff #14 #51)
-#49 := (iff #13 #46)
-#21 := (not #20)
-#43 := (implies #21 #33)
-#47 := (iff #43 #46)
-#48 := [rewrite]: #47
+#82 := (iff #14 false)
+#35 := -1::Int
+#36 := (* -1::Int f4)
+#37 := (+ f3 #36)
+#40 := (< #37 0::Int)
+#46 := (not #9)
+#47 := (or #46 #40)
+#52 := (not #47)
+#80 := (iff #52 false)
+#1 := true
+#75 := (not true)
+#78 := (iff #75 false)
+#79 := [rewrite]: #78
+#76 := (iff #52 #75)
+#73 := (iff #47 true)
+#56 := (>= #37 0::Int)
+#55 := (not #56)
+#68 := (or #56 #55)
+#71 := (iff #68 true)
+#72 := [rewrite]: #71
+#69 := (iff #47 #68)
+#66 := (iff #40 #55)
+#67 := [rewrite]: #66
+#64 := (iff #46 #56)
+#59 := (not #55)
+#62 := (iff #59 #56)
+#63 := [rewrite]: #62
+#60 := (iff #46 #59)
+#57 := (iff #9 #55)
+#58 := [rewrite]: #57
+#61 := [monotonicity #58]: #60
+#65 := [trans #61 #63]: #64
+#70 := [monotonicity #65 #67]: #69
+#74 := [trans #70 #72]: #73
+#77 := [monotonicity #74]: #76
+#81 := [trans #77 #79]: #80
+#53 := (iff #14 #52)
+#50 := (iff #13 #47)
+#43 := (implies #9 #40)
+#48 := (iff #43 #47)
+#49 := [rewrite]: #48
 #44 := (iff #13 #43)
-#36 := (iff #12 #33)
-#40 := (iff #33 #33)
-#38 := (iff #32 #32)
+#41 := (iff #12 #40)
+#38 := (= #10 #37)
 #39 := [rewrite]: #38
-#41 := [monotonicity #39]: #40
-#29 := (< #26 0::Int)
-#34 := (iff #29 #33)
-#35 := [rewrite]: #34
-#30 := (iff #12 #29)
-#27 := (= #10 #26)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#37 := [trans #31 #35]: #36
-#42 := [trans #37 #41]: #36
-#22 := (iff #9 #21)
-#23 := [rewrite]: #22
-#45 := [monotonicity #23 #42]: #44
-#50 := [trans #45 #48]: #49
-#53 := [monotonicity #50]: #52
-#16 := [asserted]: #14
-#54 := [mp #16 #53]: #51
-#56 := [not-or-elim #54]: #32
-#85 := [mp #56 #84]: #78
-#80 := (not #78)
-#81 := (iff #21 #80)
-#77 := (iff #20 #78)
-#79 := [rewrite]: #77
-#82 := [monotonicity #79]: #81
-#55 := [not-or-elim #54]: #21
-#83 := [mp #55 #82]: #80
-[unit-resolution #83 #85]: false
-e163b714ba9729323f06150e30f725561ec36e35 58 0
-unsat
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#51 := [trans #45 #49]: #50
+#54 := [monotonicity #51]: #53
+#83 := [trans #54 #81]: #82
+#34 := [asserted]: #14
+[mp #34 #83]: false
+unsat
+61cdc1fc5eb0d0636c10956aeb832369d0478262 44 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25618,55 +23809,41 @@
 #9 := (- f3 f4)
 #12 := (= #9 #11)
 #13 := (not #12)
-#62 := (iff #13 false)
-#1 := true
-#57 := (not true)
-#60 := (iff #57 false)
-#61 := [rewrite]: #60
-#58 := (iff #13 #57)
-#55 := (iff #12 true)
-#19 := -1::Int
-#20 := (* -1::Int f4)
-#42 := (+ #20 f3)
-#21 := (+ f3 #20)
-#49 := (= #21 #42)
-#53 := (iff #49 true)
-#54 := [rewrite]: #53
-#50 := (iff #12 #49)
-#47 := (= #11 #42)
-#24 := (* -1::Int f3)
-#25 := (+ f4 #24)
-#31 := (* -1::Int #25)
-#45 := (= #31 #42)
-#36 := (* -1::Int #24)
-#37 := (+ #20 #36)
-#43 := (= #37 #42)
-#40 := (= #36 f3)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#38 := (= #31 #37)
+#63 := (iff #13 false)
+#1 := true
+#58 := (not true)
+#61 := (iff #58 false)
+#62 := [rewrite]: #61
+#59 := (iff #13 #58)
+#56 := (iff #12 true)
+#35 := -1::Int
+#36 := (* -1::Int f4)
+#37 := (+ f3 #36)
+#51 := (= #37 #37)
+#54 := (iff #51 true)
+#55 := [rewrite]: #54
+#52 := (iff #12 #51)
+#49 := (= #11 #37)
+#40 := (* -1::Int f3)
+#41 := (+ #40 f4)
+#44 := (- #41)
+#47 := (= #44 #37)
+#48 := [rewrite]: #47
+#45 := (= #11 #44)
+#42 := (= #10 #41)
+#43 := [rewrite]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#38 := (= #9 #37)
 #39 := [rewrite]: #38
-#46 := [trans #39 #44]: #45
-#34 := (= #11 #31)
-#28 := (- #25)
-#32 := (= #28 #31)
-#33 := [rewrite]: #32
-#29 := (= #11 #28)
-#26 := (= #10 #25)
-#27 := [rewrite]: #26
-#30 := [monotonicity #27]: #29
-#35 := [trans #30 #33]: #34
-#48 := [trans #35 #46]: #47
-#22 := (= #9 #21)
-#23 := [rewrite]: #22
-#51 := [monotonicity #23 #48]: #50
-#56 := [trans #51 #54]: #55
-#59 := [monotonicity #56]: #58
-#63 := [trans #59 #61]: #62
-#15 := [asserted]: #13
-[mp #15 #63]: false
-76ebef49c2c39345953ea02ba782064201efe7f8 38 0
-unsat
+#53 := [monotonicity #39 #50]: #52
+#57 := [trans #53 #55]: #56
+#60 := [monotonicity #57]: #59
+#64 := [trans #60 #62]: #63
+#34 := [asserted]: #13
+[mp #34 #64]: false
+unsat
+1f1c398b527ff7ee3d1a5967ff2a131100a56323 42 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25677,35 +23854,39 @@
 #9 := (- f3 f4)
 #12 := (= #9 #11)
 #13 := (not #12)
-#42 := (iff #13 false)
-#1 := true
-#37 := (not true)
-#40 := (iff #37 false)
+#61 := (iff #13 false)
+#1 := true
+#56 := (not true)
+#59 := (iff #56 false)
+#60 := [rewrite]: #59
+#57 := (iff #13 #56)
+#54 := (iff #12 true)
+#35 := -1::Int
+#36 := (* -1::Int f4)
+#37 := (+ f3 #36)
+#49 := (= #37 #37)
+#52 := (iff #49 true)
+#53 := [rewrite]: #52
+#50 := (iff #12 #49)
+#47 := (= #11 #37)
+#42 := (+ #36 f3)
+#45 := (= #42 #37)
+#46 := [rewrite]: #45
+#43 := (= #11 #42)
+#40 := (= #10 #36)
 #41 := [rewrite]: #40
-#38 := (iff #13 #37)
-#35 := (iff #12 true)
-#19 := -1::Int
-#20 := (* -1::Int f4)
-#26 := (+ #20 f3)
-#21 := (+ f3 #20)
-#29 := (= #21 #26)
-#33 := (iff #29 true)
-#34 := [rewrite]: #33
-#30 := (iff #12 #29)
-#27 := (= #11 #26)
-#24 := (= #10 #20)
-#25 := [rewrite]: #24
-#28 := [monotonicity #25]: #27
-#22 := (= #9 #21)
-#23 := [rewrite]: #22
-#31 := [monotonicity #23 #28]: #30
-#36 := [trans #31 #34]: #35
-#39 := [monotonicity #36]: #38
-#43 := [trans #39 #41]: #42
-#15 := [asserted]: #13
-[mp #15 #43]: false
-5d73f38cd523b8ddc4eb2499e422417f533163f7 66 0
-unsat
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#38 := (= #9 #37)
+#39 := [rewrite]: #38
+#51 := [monotonicity #39 #48]: #50
+#55 := [trans #51 #53]: #54
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#34 := [asserted]: #13
+[mp #34 #62]: false
+unsat
+d180958823e52c24cdf709d7b779e581a5146a9d 48 0
 #2 := false
 decl f5 :: Int
 #10 := f5
@@ -25719,60 +23900,42 @@
 #11 := (- #9 f5)
 #14 := (= #11 #13)
 #15 := (not #14)
-#69 := (iff #15 false)
-#1 := true
-#64 := (not true)
-#67 := (iff #64 false)
-#68 := [rewrite]: #67
-#65 := (iff #15 #64)
-#62 := (iff #14 true)
-#21 := -1::Int
-#29 := (* -1::Int f5)
-#22 := (* -1::Int f4)
-#35 := (+ f3 #22 #29)
-#56 := (= #35 #35)
-#60 := (iff #56 true)
-#61 := [rewrite]: #60
-#57 := (iff #14 #56)
-#54 := (= #13 #35)
-#40 := (* -1::Int #12)
-#41 := (+ f3 #40)
-#52 := (= #41 #35)
-#44 := (+ #22 #29)
-#47 := (+ f3 #44)
-#50 := (= #47 #35)
-#51 := [rewrite]: #50
-#48 := (= #41 #47)
-#45 := (= #40 #44)
-#46 := [rewrite]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#42 := (= #13 #41)
-#43 := [rewrite]: #42
-#55 := [trans #43 #53]: #54
-#38 := (= #11 #35)
-#23 := (+ f3 #22)
-#30 := (+ #23 #29)
-#36 := (= #30 #35)
-#37 := [rewrite]: #36
-#33 := (= #11 #30)
-#26 := (- #23 f5)
-#31 := (= #26 #30)
-#32 := [rewrite]: #31
-#27 := (= #11 #26)
-#24 := (= #9 #23)
-#25 := [rewrite]: #24
-#28 := [monotonicity #25]: #27
-#34 := [trans #28 #32]: #33
-#39 := [trans #34 #37]: #38
-#58 := [monotonicity #39 #55]: #57
-#63 := [trans #58 #61]: #62
-#66 := [monotonicity #63]: #65
-#70 := [trans #66 #68]: #69
-#17 := [asserted]: #15
-[mp #17 #70]: false
-5f00c1479a6cf5f46157c2337e3fcd3ab961af7a 26 0
-unsat
+#66 := (iff #15 false)
+#1 := true
+#61 := (not true)
+#64 := (iff #61 false)
+#65 := [rewrite]: #64
+#62 := (iff #15 #61)
+#59 := (iff #14 true)
+#37 := -1::Int
+#45 := (* -1::Int f5)
+#38 := (* -1::Int f4)
+#46 := (+ #38 #45)
+#47 := (+ f3 #46)
+#54 := (= #47 #47)
+#57 := (iff #54 true)
+#58 := [rewrite]: #57
+#55 := (iff #14 #54)
+#52 := (= #13 #47)
+#53 := [rewrite]: #52
+#50 := (= #11 #47)
+#39 := (+ f3 #38)
+#42 := (- #39 f5)
+#48 := (= #42 #47)
+#49 := [rewrite]: #48
+#43 := (= #11 #42)
+#40 := (= #9 #39)
+#41 := [rewrite]: #40
+#44 := [monotonicity #41]: #43
+#51 := [trans #44 #49]: #50
+#56 := [monotonicity #51 #53]: #55
+#60 := [trans #56 #58]: #59
+#63 := [monotonicity #60]: #62
+#67 := [trans #63 #65]: #66
+#36 := [asserted]: #15
+[mp #36 #67]: false
+unsat
+e52eb52be8591bb795a077857670e69de11af1da 26 0
 #2 := false
 #8 := 0::Int
 decl f3 :: Int
@@ -25780,26 +23943,26 @@
 #9 := (* f3 0::Int)
 #10 := (= #9 0::Int)
 #11 := (not #10)
-#30 := (iff #11 false)
-#1 := true
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #11 #25)
-#23 := (iff #10 true)
-#18 := (= 0::Int 0::Int)
-#21 := (iff #18 true)
-#22 := [rewrite]: #21
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#13 := [asserted]: #11
-[mp #13 #31]: false
-99923a7a287bb7b5f864ee54973e794a9b3c80b0 26 0
-unsat
+#45 := (iff #11 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 true)
+#33 := (= 0::Int 0::Int)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#32 := [rewrite]: #10
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#31 := [asserted]: #11
+[mp #31 #46]: false
+unsat
+44b181d9f3d713df94663408b08cd9af6cbe23f9 26 0
 #2 := false
 #7 := 0::Int
 decl f3 :: Int
@@ -25807,26 +23970,26 @@
 #9 := (* 0::Int f3)
 #10 := (= #9 0::Int)
 #11 := (not #10)
-#30 := (iff #11 false)
-#1 := true
-#25 := (not true)
-#28 := (iff #25 false)
-#29 := [rewrite]: #28
-#26 := (iff #11 #25)
-#23 := (iff #10 true)
-#18 := (= 0::Int 0::Int)
-#21 := (iff #18 true)
-#22 := [rewrite]: #21
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#24 := [trans #20 #22]: #23
-#27 := [monotonicity #24]: #26
-#31 := [trans #27 #29]: #30
-#13 := [asserted]: #11
-[mp #13 #31]: false
-85a0977cd430199dfbbef0919269ea745bb45aab 26 0
-unsat
+#45 := (iff #11 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 true)
+#33 := (= 0::Int 0::Int)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#32 := [rewrite]: #10
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#31 := [asserted]: #11
+[mp #31 #46]: false
+unsat
+723479197e5c26fbfd35522ce4cd26d5915d7119 26 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25834,26 +23997,26 @@
 #9 := (* f3 1::Int)
 #10 := (= #9 f3)
 #11 := (not #10)
-#31 := (iff #11 false)
-#1 := true
-#26 := (not true)
-#29 := (iff #26 false)
-#30 := [rewrite]: #29
-#27 := (iff #11 #26)
-#24 := (iff #10 true)
-#18 := (= f3 f3)
-#22 := (iff #18 true)
-#23 := [rewrite]: #22
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#25 := [trans #20 #23]: #24
-#28 := [monotonicity #25]: #27
-#32 := [trans #28 #30]: #31
-#13 := [asserted]: #11
-[mp #13 #32]: false
-eabe283eca86a8acdb0440d8b7874ab4e2e55097 26 0
-unsat
+#46 := (iff #11 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #11 #41)
+#39 := (iff #10 true)
+#34 := (= f3 f3)
+#37 := (iff #34 true)
+#38 := [rewrite]: #37
+#35 := (iff #10 #34)
+#33 := [rewrite]: #10
+#36 := [monotonicity #33]: #35
+#40 := [trans #36 #38]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#32 := [asserted]: #11
+[mp #32 #47]: false
+unsat
+07b026f7999300309ad1aa93f8da68492163aa1d 26 0
 #2 := false
 decl f3 :: Int
 #8 := f3
@@ -25861,26 +24024,26 @@
 #9 := (* 1::Int f3)
 #10 := (= #9 f3)
 #11 := (not #10)
-#31 := (iff #11 false)
-#1 := true
-#26 := (not true)
-#29 := (iff #26 false)
-#30 := [rewrite]: #29
-#27 := (iff #11 #26)
-#24 := (iff #10 true)
-#18 := (= f3 f3)
-#22 := (iff #18 true)
-#23 := [rewrite]: #22
-#19 := (iff #10 #18)
-#17 := [rewrite]: #10
-#20 := [monotonicity #17]: #19
-#25 := [trans #20 #23]: #24
-#28 := [monotonicity #25]: #27
-#32 := [trans #28 #30]: #31
-#13 := [asserted]: #11
-[mp #13 #32]: false
-524caed43f932116157b3dcc870eedde37cec3e7 40 0
-unsat
+#46 := (iff #11 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #11 #41)
+#39 := (iff #10 true)
+#34 := (= f3 f3)
+#37 := (iff #34 true)
+#38 := [rewrite]: #37
+#35 := (iff #10 #34)
+#33 := [rewrite]: #10
+#36 := [monotonicity #33]: #35
+#40 := [trans #36 #38]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#32 := [asserted]: #11
+[mp #32 #47]: false
+unsat
+e5021087f8c15699d6bd7188a85d3d91458b6e0f 40 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -25890,38 +24053,38 @@
 #10 := (* f3 #9)
 #12 := (= #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)
-#19 := -1::Int
-#25 := (* -1::Int f3)
-#32 := (= #25 #25)
-#36 := (iff #32 true)
+#60 := (iff #13 false)
+#1 := true
+#55 := (not true)
+#58 := (iff #55 false)
+#59 := [rewrite]: #58
+#56 := (iff #13 #55)
+#53 := (iff #12 true)
+#35 := -1::Int
+#41 := (* -1::Int f3)
+#48 := (= #41 #41)
+#51 := (iff #48 true)
+#52 := [rewrite]: #51
+#49 := (iff #12 #48)
+#46 := (= #11 #41)
+#47 := [rewrite]: #46
+#44 := (= #10 #41)
+#38 := (* f3 -1::Int)
+#42 := (= #38 #41)
+#43 := [rewrite]: #42
+#39 := (= #10 #38)
+#36 := (= #9 -1::Int)
 #37 := [rewrite]: #36
-#33 := (iff #12 #32)
-#30 := (= #11 #25)
-#31 := [rewrite]: #30
-#28 := (= #10 #25)
-#22 := (* f3 -1::Int)
-#26 := (= #22 #25)
-#27 := [rewrite]: #26
-#23 := (= #10 #22)
-#20 := (= #9 -1::Int)
-#21 := [rewrite]: #20
-#24 := [monotonicity #21]: #23
-#29 := [trans #24 #27]: #28
-#34 := [monotonicity #29 #31]: #33
-#39 := [trans #34 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#15 := [asserted]: #13
-[mp #15 #46]: false
-0a10cdb7548396fe24d3599f572cec679b5a5887 35 0
-unsat
+#40 := [monotonicity #37]: #39
+#45 := [trans #40 #43]: #44
+#50 := [monotonicity #45 #47]: #49
+#54 := [trans #50 #52]: #53
+#57 := [monotonicity #54]: #56
+#61 := [trans #57 #59]: #60
+#34 := [asserted]: #13
+[mp #34 #61]: false
+unsat
+92512c29655e3be3ef6191609f8fa8665ffb186f 35 0
 #2 := false
 decl f3 :: Int
 #9 := f3
@@ -25931,33 +24094,33 @@
 #10 := (* #8 f3)
 #12 := (= #10 #11)
 #13 := (not #12)
-#40 := (iff #13 false)
-#1 := true
-#35 := (not true)
-#38 := (iff #35 false)
-#39 := [rewrite]: #38
-#36 := (iff #13 #35)
-#33 := (iff #12 true)
-#19 := -1::Int
-#22 := (* -1::Int f3)
-#27 := (= #22 #22)
-#31 := (iff #27 true)
-#32 := [rewrite]: #31
-#28 := (iff #12 #27)
-#25 := (= #11 #22)
-#26 := [rewrite]: #25
-#23 := (= #10 #22)
-#20 := (= #8 -1::Int)
-#21 := [rewrite]: #20
-#24 := [monotonicity #21]: #23
-#29 := [monotonicity #24 #26]: #28
-#34 := [trans #29 #32]: #33
-#37 := [monotonicity #34]: #36
-#41 := [trans #37 #39]: #40
-#15 := [asserted]: #13
-[mp #15 #41]: false
-d71969b90f628712f4f547371d51686666dd58b0 28 0
-unsat
+#55 := (iff #13 false)
+#1 := true
+#50 := (not true)
+#53 := (iff #50 false)
+#54 := [rewrite]: #53
+#51 := (iff #13 #50)
+#48 := (iff #12 true)
+#35 := -1::Int
+#38 := (* -1::Int f3)
+#43 := (= #38 #38)
+#46 := (iff #43 true)
+#47 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (= #11 #38)
+#42 := [rewrite]: #41
+#39 := (= #10 #38)
+#36 := (= #8 -1::Int)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#45 := [monotonicity #40 #42]: #44
+#49 := [trans #45 #47]: #48
+#52 := [monotonicity #49]: #51
+#56 := [trans #52 #54]: #55
+#34 := [asserted]: #13
+[mp #34 #56]: false
+unsat
+63a5902a5fc3cd2e10705ba8b00e69639073cd3f 28 0
 #2 := false
 #7 := 3::Int
 decl f3 :: Int
@@ -25966,27 +24129,27 @@
 #9 := (* 3::Int f3)
 #11 := (= #9 #10)
 #12 := (not #11)
-#33 := (iff #12 false)
-#1 := true
-#28 := (not true)
-#31 := (iff #28 false)
-#32 := [rewrite]: #31
-#29 := (iff #12 #28)
-#26 := (iff #11 true)
-#20 := (= #9 #9)
-#24 := (iff #20 true)
-#25 := [rewrite]: #24
-#21 := (iff #11 #20)
-#18 := (= #10 #9)
-#19 := [rewrite]: #18
-#22 := [monotonicity #19]: #21
-#27 := [trans #22 #25]: #26
-#30 := [monotonicity #27]: #29
-#34 := [trans #30 #32]: #33
-#14 := [asserted]: #12
-[mp #14 #34]: false
-bf2fd8bbd9bf762047f17f623f8a7b706117dda0 254 0
-unsat
+#48 := (iff #12 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (iff #11 true)
+#36 := (= #9 #9)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #11 #36)
+#34 := (= #10 #9)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#33 := [asserted]: #12
+[mp #33 #49]: false
+unsat
+238cf59caa00b771da8649f78ab90d7b2fb747c2 238 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #15 := (:var 0 Int)
@@ -25996,99 +24159,75 @@
 #7 := f5
 #14 := (f4 f5 #13)
 #16 := (f3 #14 #15)
-#682 := (pattern #16)
+#726 := (pattern #16)
 #8 := 0::Int
-#78 := -1::Int
-#82 := (* -1::Int #15)
-#79 := (* -1::Int #13)
-#85 := (div #79 #82)
-#241 := (* -1::Int #85)
-#242 := (+ #16 #241)
-#243 := (= #242 0::Int)
+#66 := -1::Int
+#70 := (* -1::Int #15)
+#67 := (* -1::Int #13)
+#73 := (div #67 #70)
+#224 := (* -1::Int #73)
+#225 := (+ #16 #224)
+#226 := (= #225 0::Int)
 #26 := (div #13 #15)
-#238 := (* -1::Int #26)
-#239 := (+ #16 #238)
-#240 := (= #239 0::Int)
-#56 := (<= #15 0::Int)
-#148 := (>= #13 0::Int)
-#201 := (or #148 #56)
-#202 := (not #201)
-#52 := (<= #13 0::Int)
-#197 := (or #52 #56)
-#198 := (not #197)
-#205 := (or #198 #202)
-#244 := (if #205 #240 #243)
-#237 := (= #16 0::Int)
+#221 := (* -1::Int #26)
+#222 := (+ #16 #221)
+#223 := (= #222 0::Int)
+#92 := (<= #15 0::Int)
+#99 := (>= #13 0::Int)
+#184 := (or #99 #92)
+#185 := (not #184)
+#88 := (<= #13 0::Int)
+#182 := (or #88 #92)
+#183 := (not #182)
+#188 := (or #183 #185)
+#227 := (if #188 #223 #226)
+#220 := (= #16 0::Int)
 #18 := (= #15 0::Int)
 #17 := (= #13 0::Int)
 #19 := (or #17 #18)
-#245 := (if #19 #237 #244)
-#683 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #682) #245)
-#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
-#686 := (iff #248 #683)
-#684 := (iff #245 #245)
-#685 := [refl]: #684
-#687 := [quant-intro #685]: #686
-#208 := (if #205 #26 #85)
-#211 := (if #19 0::Int #208)
-#214 := (= #16 #211)
-#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
-#249 := (iff #217 #248)
-#246 := (iff #214 #245)
-#247 := [rewrite]: #246
-#250 := [quant-intro #247]: #249
-#57 := (not #56)
-#151 := (not #148)
-#154 := (and #151 #57)
-#53 := (not #52)
-#60 := (and #53 #57)
-#157 := (or #60 #154)
-#160 := (if #157 #26 #85)
-#163 := (if #19 0::Int #160)
-#166 := (= #16 #163)
-#169 := (forall (vars (?v0 Int) (?v1 Int)) #166)
-#218 := (iff #169 #217)
-#215 := (iff #166 #214)
-#212 := (= #163 #211)
-#209 := (= #160 #208)
-#206 := (iff #157 #205)
-#203 := (iff #154 #202)
-#204 := [rewrite]: #203
-#199 := (iff #60 #198)
-#200 := [rewrite]: #199
-#207 := [monotonicity #200 #204]: #206
-#210 := [monotonicity #207]: #209
-#213 := [monotonicity #210]: #212
-#216 := [monotonicity #213]: #215
-#219 := [quant-intro #216]: #218
-#191 := (~ #169 #169)
-#193 := (~ #166 #166)
-#194 := [refl]: #193
-#192 := [nnf-pos #194]: #191
-#63 := (<= 0::Int #13)
-#64 := (not #63)
-#72 := (and #64 #57)
-#75 := (or #60 #72)
-#88 := (if #75 #26 #85)
-#91 := (if #19 0::Int #88)
-#94 := (= #16 #91)
-#97 := (forall (vars (?v0 Int) (?v1 Int)) #94)
-#170 := (iff #97 #169)
-#167 := (iff #94 #166)
-#164 := (= #91 #163)
-#161 := (= #88 #160)
-#158 := (iff #75 #157)
-#155 := (iff #72 #154)
-#152 := (iff #64 #151)
-#149 := (iff #63 #148)
-#150 := [rewrite]: #149
-#153 := [monotonicity #150]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#162 := [monotonicity #159]: #161
-#165 := [monotonicity #162]: #164
-#168 := [monotonicity #165]: #167
-#171 := [quant-intro #168]: #170
+#228 := (if #19 #220 #227)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #228)
+#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
+#730 := (iff #231 #727)
+#728 := (iff #228 #228)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#191 := (if #188 #26 #73)
+#194 := (if #19 0::Int #191)
+#197 := (= #16 #194)
+#200 := (forall (vars (?v0 Int) (?v1 Int)) #197)
+#232 := (iff #200 #231)
+#229 := (iff #197 #228)
+#230 := [rewrite]: #229
+#233 := [quant-intro #230]: #232
+#93 := (not #92)
+#100 := (not #99)
+#103 := (and #100 #93)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (if #106 #26 #73)
+#112 := (if #19 0::Int #109)
+#115 := (= #16 #112)
+#118 := (forall (vars (?v0 Int) (?v1 Int)) #115)
+#201 := (iff #118 #200)
+#198 := (iff #115 #197)
+#195 := (= #112 #194)
+#192 := (= #109 #191)
+#189 := (iff #106 #188)
+#186 := (iff #103 #185)
+#187 := [rewrite]: #186
+#176 := (iff #96 #183)
+#177 := [rewrite]: #176
+#190 := [monotonicity #177 #187]: #189
+#193 := [monotonicity #190]: #192
+#196 := [monotonicity #193]: #195
+#199 := [monotonicity #196]: #198
+#202 := [quant-intro #199]: #201
+#180 := (~ #118 #118)
+#178 := (~ #115 #115)
+#179 := [refl]: #178
+#181 := [nnf-pos #179]: #180
 #28 := (- #15)
 #27 := (- #13)
 #29 := (div #27 #28)
@@ -26102,146 +24241,154 @@
 #31 := (if #19 0::Int #30)
 #32 := (= #16 #31)
 #33 := (forall (vars (?v0 Int) (?v1 Int)) #32)
-#98 := (iff #33 #97)
-#95 := (iff #32 #94)
-#92 := (= #31 #91)
-#89 := (= #30 #88)
-#86 := (= #29 #85)
-#83 := (= #28 #82)
-#84 := [rewrite]: #83
-#80 := (= #27 #79)
-#81 := [rewrite]: #80
-#87 := [monotonicity #81 #84]: #86
-#76 := (iff #25 #75)
-#73 := (iff #24 #72)
-#58 := (iff #21 #57)
-#59 := [rewrite]: #58
-#65 := (iff #23 #64)
-#69 := (iff #64 #64)
-#67 := (iff #63 #63)
-#68 := [rewrite]: #67
-#70 := [monotonicity #68]: #69
-#66 := [rewrite]: #65
-#71 := [trans #66 #70]: #65
-#74 := [monotonicity #71 #59]: #73
-#61 := (iff #22 #60)
-#54 := (iff #20 #53)
-#55 := [rewrite]: #54
-#62 := [monotonicity #55 #59]: #61
-#77 := [monotonicity #62 #74]: #76
-#90 := [monotonicity #77 #87]: #89
-#93 := [monotonicity #90]: #92
-#96 := [monotonicity #93]: #95
-#99 := [quant-intro #96]: #98
-#47 := [asserted]: #33
-#100 := [mp #47 #99]: #97
-#172 := [mp #100 #171]: #169
-#189 := [mp~ #172 #192]: #169
-#220 := [mp #189 #219]: #217
-#251 := [mp #220 #250]: #248
-#688 := [mp #251 #687]: #683
+#121 := (iff #33 #118)
+#76 := (if #25 #26 #73)
+#79 := (if #19 0::Int #76)
+#82 := (= #16 #79)
+#85 := (forall (vars (?v0 Int) (?v1 Int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #25 #106)
+#104 := (iff #24 #103)
+#94 := (iff #21 #93)
+#95 := [rewrite]: #94
+#101 := (iff #23 #100)
+#102 := [rewrite]: #101
+#105 := [monotonicity #102 #95]: #104
+#97 := (iff #22 #96)
+#90 := (iff #20 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #33 #85)
+#83 := (iff #32 #82)
+#80 := (= #31 #79)
+#77 := (= #30 #76)
+#74 := (= #29 #73)
+#71 := (= #28 #70)
+#72 := [rewrite]: #71
+#68 := (= #27 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#78 := [monotonicity #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#65 := [asserted]: #33
+#123 := [mp #65 #122]: #118
+#172 := [mp~ #123 #181]: #118
+#203 := [mp #172 #202]: #200
+#234 := [mp #203 #233]: #231
+#732 := [mp #234 #731]: #727
 #9 := (f4 f5 0::Int)
 #10 := (f3 #9 0::Int)
 #11 := (= #10 0::Int)
 #12 := (not #11)
-#46 := [asserted]: #12
-#641 := (not #683)
-#636 := (or #641 #11)
-#333 := (* -1::Int 0::Int)
-#463 := (div #333 #333)
-#670 := (* -1::Int #463)
-#344 := (+ #10 #670)
-#345 := (= #344 0::Int)
-#360 := (div 0::Int 0::Int)
-#339 := (* -1::Int #360)
-#674 := (+ #10 #339)
-#676 := (= #674 0::Int)
-#354 := (<= 0::Int 0::Int)
-#357 := (>= 0::Int 0::Int)
-#358 := (or #357 #354)
-#359 := (not #358)
-#355 := (or #354 #354)
-#346 := (not #355)
-#356 := (or #346 #359)
-#677 := (if #356 #676 #345)
-#268 := (= 0::Int 0::Int)
-#353 := (or #268 #268)
-#678 := (if #353 #11 #677)
-#642 := (or #641 #678)
-#484 := (iff #642 #636)
-#627 := (iff #636 #636)
-#628 := [rewrite]: #627
-#635 := (iff #678 #11)
-#1 := true
-#648 := (if true #11 #676)
-#639 := (iff #648 #11)
-#634 := [rewrite]: #639
-#637 := (iff #678 #648)
-#647 := (iff #677 #676)
-#367 := (if false #676 #676)
-#361 := (iff #367 #676)
-#643 := [rewrite]: #361
-#645 := (iff #677 #367)
-#365 := (iff #345 #676)
-#654 := (= #344 #674)
-#653 := (= #670 #339)
-#375 := (= #463 #360)
-#652 := (= #333 0::Int)
-#374 := [rewrite]: #652
-#649 := [monotonicity #374 #374]: #375
-#650 := [monotonicity #649]: #653
-#364 := [monotonicity #650]: #654
-#366 := [monotonicity #364]: #365
-#274 := (iff #356 false)
-#656 := (or false false)
-#380 := (iff #656 false)
-#381 := [rewrite]: #380
-#378 := (iff #356 #656)
-#669 := (iff #359 false)
-#323 := (not true)
-#661 := (iff #323 false)
-#662 := [rewrite]: #661
-#668 := (iff #359 #323)
-#307 := (iff #358 true)
-#675 := (or true true)
-#331 := (iff #675 true)
-#336 := [rewrite]: #331
-#665 := (iff #358 #675)
-#673 := (iff #354 true)
-#316 := [rewrite]: #673
-#664 := (iff #357 true)
-#302 := [rewrite]: #664
-#667 := [monotonicity #302 #316]: #665
-#308 := [trans #667 #336]: #307
-#666 := [monotonicity #308]: #668
-#655 := [trans #666 #662]: #669
-#663 := (iff #346 false)
-#659 := (iff #346 #323)
-#321 := (iff #355 true)
-#657 := (iff #355 #675)
-#320 := [monotonicity #316 #316]: #657
-#322 := [trans #320 #336]: #321
-#660 := [monotonicity #322]: #659
-#658 := [trans #660 #662]: #663
-#379 := [monotonicity #658 #655]: #378
-#651 := [trans #379 #381]: #274
-#646 := [monotonicity #651 #366]: #645
-#644 := [trans #646 #643]: #647
-#672 := (iff #353 true)
-#681 := (iff #353 #675)
-#679 := (iff #268 true)
-#680 := [rewrite]: #679
-#671 := [monotonicity #680 #680]: #681
-#332 := [trans #671 #336]: #672
-#638 := [monotonicity #332 #644]: #637
-#640 := [trans #638 #634]: #635
-#485 := [monotonicity #640]: #484
-#629 := [trans #485 #628]: #484
-#483 := [quant-inst #8 #8]: #642
-#630 := [mp #483 #629]: #636
-[unit-resolution #630 #46 #688]: false
-d3465e8250b8cbddcfc31648b91d12f4e7d1b403 267 0
-unsat
+#64 := [asserted]: #12
+#685 := (not #727)
+#680 := (or #685 #11)
+#377 := (* -1::Int 0::Int)
+#507 := (div #377 #377)
+#714 := (* -1::Int #507)
+#388 := (+ #10 #714)
+#389 := (= #388 0::Int)
+#404 := (div 0::Int 0::Int)
+#383 := (* -1::Int #404)
+#718 := (+ #10 #383)
+#720 := (= #718 0::Int)
+#398 := (<= 0::Int 0::Int)
+#401 := (>= 0::Int 0::Int)
+#402 := (or #401 #398)
+#403 := (not #402)
+#399 := (or #398 #398)
+#390 := (not #399)
+#400 := (or #390 #403)
+#721 := (if #400 #720 #389)
+#313 := (= 0::Int 0::Int)
+#397 := (or #313 #313)
+#722 := (if #397 #11 #721)
+#686 := (or #685 #722)
+#528 := (iff #686 #680)
+#671 := (iff #680 #680)
+#672 := [rewrite]: #671
+#679 := (iff #722 #11)
+#1 := true
+#692 := (if true #11 #720)
+#683 := (iff #692 #11)
+#678 := [rewrite]: #683
+#681 := (iff #722 #692)
+#691 := (iff #721 #720)
+#411 := (if false #720 #720)
+#405 := (iff #411 #720)
+#687 := [rewrite]: #405
+#689 := (iff #721 #411)
+#409 := (iff #389 #720)
+#698 := (= #388 #718)
+#697 := (= #714 #383)
+#419 := (= #507 #404)
+#696 := (= #377 0::Int)
+#418 := [rewrite]: #696
+#693 := [monotonicity #418 #418]: #419
+#694 := [monotonicity #693]: #697
+#408 := [monotonicity #694]: #698
+#410 := [monotonicity #408]: #409
+#319 := (iff #400 false)
+#700 := (or false false)
+#424 := (iff #700 false)
+#425 := [rewrite]: #424
+#422 := (iff #400 #700)
+#713 := (iff #403 false)
+#367 := (not true)
+#705 := (iff #367 false)
+#706 := [rewrite]: #705
+#712 := (iff #403 #367)
+#351 := (iff #402 true)
+#719 := (or true true)
+#375 := (iff #719 true)
+#380 := [rewrite]: #375
+#709 := (iff #402 #719)
+#717 := (iff #398 true)
+#360 := [rewrite]: #717
+#708 := (iff #401 true)
+#346 := [rewrite]: #708
+#711 := [monotonicity #346 #360]: #709
+#352 := [trans #711 #380]: #351
+#710 := [monotonicity #352]: #712
+#699 := [trans #710 #706]: #713
+#707 := (iff #390 false)
+#703 := (iff #390 #367)
+#365 := (iff #399 true)
+#701 := (iff #399 #719)
+#364 := [monotonicity #360 #360]: #701
+#366 := [trans #364 #380]: #365
+#704 := [monotonicity #366]: #703
+#702 := [trans #704 #706]: #707
+#423 := [monotonicity #702 #699]: #422
+#695 := [trans #423 #425]: #319
+#690 := [monotonicity #695 #410]: #689
+#688 := [trans #690 #687]: #691
+#716 := (iff #397 true)
+#725 := (iff #397 #719)
+#723 := (iff #313 true)
+#724 := [rewrite]: #723
+#715 := [monotonicity #724 #724]: #725
+#376 := [trans #715 #380]: #716
+#682 := [monotonicity #376 #688]: #681
+#684 := [trans #682 #678]: #679
+#529 := [monotonicity #684]: #528
+#673 := [trans #529 #672]: #528
+#527 := [quant-inst #8 #8]: #686
+#674 := [mp #527 #673]: #680
+[unit-resolution #674 #64 #732]: false
+unsat
+6309bf780f2ba9dd55b826441e74066dc2c9aa9e 251 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -26251,99 +24398,75 @@
 #7 := f5
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#683 := (pattern #17)
+#727 := (pattern #17)
 #10 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #16)
-#80 := (* -1::Int #14)
-#86 := (div #80 #83)
-#242 := (* -1::Int #86)
-#243 := (+ #17 #242)
-#244 := (= #243 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #16)
+#68 := (* -1::Int #14)
+#74 := (div #68 #71)
+#225 := (* -1::Int #74)
+#226 := (+ #17 #225)
+#227 := (= #226 0::Int)
 #27 := (div #14 #16)
-#239 := (* -1::Int #27)
-#240 := (+ #17 #239)
-#241 := (= #240 0::Int)
-#57 := (<= #16 0::Int)
-#149 := (>= #14 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #14 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#245 := (if #206 #241 #244)
-#238 := (= #17 0::Int)
+#222 := (* -1::Int #27)
+#223 := (+ #17 #222)
+#224 := (= #223 0::Int)
+#93 := (<= #16 0::Int)
+#100 := (>= #14 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #14 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#228 := (if #189 #224 #227)
+#221 := (= #17 0::Int)
 #19 := (= #16 0::Int)
 #18 := (= #14 0::Int)
 #20 := (or #18 #19)
-#246 := (if #20 #238 #245)
-#684 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #683) #246)
-#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
-#687 := (iff #249 #684)
-#685 := (iff #246 #246)
-#686 := [refl]: #685
-#688 := [quant-intro #686]: #687
-#209 := (if #206 #27 #86)
-#212 := (if #20 0::Int #209)
-#215 := (= #17 #212)
-#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
-#250 := (iff #218 #249)
-#247 := (iff #215 #246)
-#248 := [rewrite]: #247
-#251 := [quant-intro #248]: #250
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#161 := (if #158 #27 #86)
-#164 := (if #20 0::Int #161)
-#167 := (= #17 #164)
-#170 := (forall (vars (?v0 Int) (?v1 Int)) #167)
-#219 := (iff #170 #218)
-#216 := (iff #167 #215)
-#213 := (= #164 #212)
-#210 := (= #161 #209)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#211 := [monotonicity #208]: #210
-#214 := [monotonicity #211]: #213
-#217 := [monotonicity #214]: #216
-#220 := [quant-intro #217]: #219
-#192 := (~ #170 #170)
-#194 := (~ #167 #167)
-#195 := [refl]: #194
-#193 := [nnf-pos #195]: #192
-#64 := (<= 0::Int #14)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#89 := (if #76 #27 #86)
-#92 := (if #20 0::Int #89)
-#95 := (= #17 #92)
-#98 := (forall (vars (?v0 Int) (?v1 Int)) #95)
-#171 := (iff #98 #170)
-#168 := (iff #95 #167)
-#165 := (= #92 #164)
-#162 := (= #89 #161)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [monotonicity #163]: #165
-#169 := [monotonicity #166]: #168
-#172 := [quant-intro #169]: #171
+#229 := (if #20 #221 #228)
+#728 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #727) #229)
+#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
+#731 := (iff #232 #728)
+#729 := (iff #229 #229)
+#730 := [refl]: #729
+#732 := [quant-intro #730]: #731
+#192 := (if #189 #27 #74)
+#195 := (if #20 0::Int #192)
+#198 := (= #17 #195)
+#201 := (forall (vars (?v0 Int) (?v1 Int)) #198)
+#233 := (iff #201 #232)
+#230 := (iff #198 #229)
+#231 := [rewrite]: #230
+#234 := [quant-intro #231]: #233
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (if #107 #27 #74)
+#113 := (if #20 0::Int #110)
+#116 := (= #17 #113)
+#119 := (forall (vars (?v0 Int) (?v1 Int)) #116)
+#202 := (iff #119 #201)
+#199 := (iff #116 #198)
+#196 := (= #113 #195)
+#193 := (= #110 #192)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#194 := [monotonicity #191]: #193
+#197 := [monotonicity #194]: #196
+#200 := [monotonicity #197]: #199
+#203 := [quant-intro #200]: #202
+#181 := (~ #119 #119)
+#179 := (~ #116 #116)
+#180 := [refl]: #179
+#182 := [nnf-pos #180]: #181
 #29 := (- #16)
 #28 := (- #14)
 #30 := (div #28 #29)
@@ -26357,159 +24480,167 @@
 #32 := (if #20 0::Int #31)
 #33 := (= #17 #32)
 #34 := (forall (vars (?v0 Int) (?v1 Int)) #33)
-#99 := (iff #34 #98)
-#96 := (iff #33 #95)
-#93 := (= #32 #92)
-#90 := (= #31 #89)
-#87 := (= #30 #86)
-#84 := (= #29 #83)
-#85 := [rewrite]: #84
-#81 := (= #28 #80)
-#82 := [rewrite]: #81
-#88 := [monotonicity #82 #85]: #87
-#77 := (iff #26 #76)
-#74 := (iff #25 #73)
-#59 := (iff #22 #58)
-#60 := [rewrite]: #59
-#66 := (iff #24 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #23 #61)
-#55 := (iff #21 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#91 := [monotonicity #78 #88]: #90
-#94 := [monotonicity #91]: #93
-#97 := [monotonicity #94]: #96
-#100 := [quant-intro #97]: #99
-#48 := [asserted]: #34
-#101 := [mp #48 #100]: #98
-#173 := [mp #101 #172]: #170
-#190 := [mp~ #173 #193]: #170
-#221 := [mp #190 #220]: #218
-#252 := [mp #221 #251]: #249
-#689 := [mp #252 #688]: #684
+#122 := (iff #34 #119)
+#77 := (if #26 #27 #74)
+#80 := (if #20 0::Int #77)
+#83 := (= #17 #80)
+#86 := (forall (vars (?v0 Int) (?v1 Int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #26 #107)
+#105 := (iff #25 #104)
+#95 := (iff #22 #94)
+#96 := [rewrite]: #95
+#102 := (iff #24 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #23 #97)
+#91 := (iff #21 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #34 #86)
+#84 := (iff #33 #83)
+#81 := (= #32 #80)
+#78 := (= #31 #77)
+#75 := (= #30 #74)
+#72 := (= #29 #71)
+#73 := [rewrite]: #72
+#69 := (= #28 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#66 := [asserted]: #34
+#124 := [mp #66 #123]: #119
+#173 := [mp~ #124 #182]: #119
+#204 := [mp #173 #203]: #201
+#235 := [mp #204 #234]: #232
+#733 := [mp #235 #732]: #728
 decl f6 :: Int
 #8 := f6
 #9 := (f4 f5 f6)
 #11 := (f3 #9 0::Int)
 #12 := (= #11 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#626 := (not #684)
-#632 := (or #626 #12)
-#345 := (* -1::Int 0::Int)
-#671 := (* -1::Int f6)
-#346 := (div #671 #345)
-#678 := (* -1::Int #346)
-#679 := (+ #11 #678)
-#680 := (= #679 0::Int)
-#675 := (div f6 0::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 0::Int 0::Int)
-#360 := (>= f6 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#356 := (<= f6 0::Int)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#681 := (if #340 #464 #680)
-#354 := (= 0::Int 0::Int)
-#269 := (= f6 0::Int)
-#355 := (or #269 #354)
-#676 := (if #355 #12 #681)
-#633 := (or #626 #676)
-#634 := (iff #633 #632)
-#465 := (iff #632 #632)
-#466 := [rewrite]: #465
-#631 := (iff #676 #12)
-#367 := (div #671 0::Int)
-#647 := (* -1::Int #367)
-#648 := (+ #11 #647)
-#638 := (= #648 0::Int)
-#1 := true
-#485 := (if true #12 #638)
-#629 := (iff #485 #12)
-#630 := [rewrite]: #629
-#486 := (iff #676 #485)
-#643 := (iff #681 #638)
-#635 := (if false #464 #638)
-#642 := (iff #635 #638)
-#637 := [rewrite]: #642
-#636 := (iff #681 #635)
-#639 := (iff #680 #638)
-#645 := (= #679 #648)
-#362 := (= #678 #647)
-#368 := (= #346 #367)
-#365 := (= #345 0::Int)
+#65 := [asserted]: #13
+#670 := (not #728)
+#676 := (or #670 #12)
+#389 := (* -1::Int 0::Int)
+#715 := (* -1::Int f6)
+#390 := (div #715 #389)
+#722 := (* -1::Int #390)
+#723 := (+ #11 #722)
+#724 := (= #723 0::Int)
+#719 := (div f6 0::Int)
+#721 := (* -1::Int #719)
+#378 := (+ #11 #721)
+#508 := (= #378 0::Int)
+#391 := (<= 0::Int 0::Int)
+#404 := (>= f6 0::Int)
+#401 := (or #404 #391)
+#405 := (not #401)
+#400 := (<= f6 0::Int)
+#402 := (or #400 #391)
+#403 := (not #402)
+#384 := (or #403 #405)
+#725 := (if #384 #508 #724)
+#398 := (= 0::Int 0::Int)
+#314 := (= f6 0::Int)
+#399 := (or #314 #398)
+#720 := (if #399 #12 #725)
+#677 := (or #670 #720)
+#678 := (iff #677 #676)
+#509 := (iff #676 #676)
+#510 := [rewrite]: #509
+#675 := (iff #720 #12)
+#411 := (div #715 0::Int)
+#691 := (* -1::Int #411)
+#692 := (+ #11 #691)
+#682 := (= #692 0::Int)
+#1 := true
+#529 := (if true #12 #682)
+#673 := (iff #529 #12)
+#674 := [rewrite]: #673
+#530 := (iff #720 #529)
+#687 := (iff #725 #682)
+#679 := (if false #508 #682)
+#686 := (iff #679 #682)
+#681 := [rewrite]: #686
+#680 := (iff #725 #679)
+#683 := (iff #724 #682)
+#689 := (= #723 #692)
+#406 := (= #722 #691)
+#412 := (= #390 #411)
+#409 := (= #389 0::Int)
+#410 := [rewrite]: #409
+#690 := [monotonicity #410]: #412
+#688 := [monotonicity #690]: #406
+#693 := [monotonicity #688]: #689
+#684 := [monotonicity #693]: #683
+#695 := (iff #384 false)
+#697 := (or false false)
+#694 := (iff #697 false)
+#698 := [rewrite]: #694
+#419 := (iff #384 #697)
+#320 := (iff #405 false)
+#703 := (not true)
+#710 := (iff #703 false)
+#712 := [rewrite]: #710
+#425 := (iff #405 #703)
+#423 := (iff #401 true)
+#713 := (or #404 true)
+#700 := (iff #713 true)
+#701 := [rewrite]: #700
+#711 := (iff #401 #713)
+#365 := (iff #391 true)
 #366 := [rewrite]: #365
-#646 := [monotonicity #366]: #368
-#644 := [monotonicity #646]: #362
-#649 := [monotonicity #644]: #645
-#640 := [monotonicity #649]: #639
-#651 := (iff #340 false)
-#653 := (or false false)
-#650 := (iff #653 false)
-#654 := [rewrite]: #650
-#375 := (iff #340 #653)
-#275 := (iff #361 false)
-#659 := (not true)
-#666 := (iff #659 false)
-#668 := [rewrite]: #666
-#381 := (iff #361 #659)
-#379 := (iff #357 true)
-#669 := (or #360 true)
-#656 := (iff #669 true)
-#657 := [rewrite]: #656
-#667 := (iff #357 #669)
-#321 := (iff #347 true)
-#322 := [rewrite]: #321
-#670 := [monotonicity #322]: #667
-#380 := [trans #670 #657]: #379
-#382 := [monotonicity #380]: #381
-#652 := [trans #382 #668]: #275
-#308 := (iff #359 false)
-#665 := (iff #359 #659)
-#663 := (iff #358 true)
-#323 := (or #356 true)
-#661 := (iff #323 true)
-#662 := [rewrite]: #661
-#324 := (iff #358 #323)
-#660 := [monotonicity #322]: #324
-#664 := [trans #660 #662]: #663
-#303 := [monotonicity #664]: #665
-#309 := [trans #303 #668]: #308
-#376 := [monotonicity #309 #652]: #375
-#655 := [trans #376 #654]: #651
-#641 := [monotonicity #655 #640]: #636
-#484 := [trans #641 #637]: #643
-#317 := (iff #355 true)
-#332 := (or #269 true)
-#333 := (iff #332 true)
-#674 := [rewrite]: #333
-#337 := (iff #355 #332)
-#682 := (iff #354 true)
-#672 := [rewrite]: #682
-#673 := [monotonicity #672]: #337
-#658 := [trans #673 #674]: #317
-#628 := [monotonicity #658 #484]: #486
-#625 := [trans #628 #630]: #631
-#463 := [monotonicity #625]: #634
-#619 := [trans #463 #466]: #634
-#627 := [quant-inst #8 #10]: #633
-#620 := [mp #627 #619]: #632
-[unit-resolution #620 #47 #689]: false
-4a9ad09bb6074d903a151e76b4a561a7a6bdd95b 288 0
-unsat
+#714 := [monotonicity #366]: #711
+#424 := [trans #714 #701]: #423
+#426 := [monotonicity #424]: #425
+#696 := [trans #426 #712]: #320
+#352 := (iff #403 false)
+#709 := (iff #403 #703)
+#707 := (iff #402 true)
+#367 := (or #400 true)
+#705 := (iff #367 true)
+#706 := [rewrite]: #705
+#368 := (iff #402 #367)
+#704 := [monotonicity #366]: #368
+#708 := [trans #704 #706]: #707
+#347 := [monotonicity #708]: #709
+#353 := [trans #347 #712]: #352
+#420 := [monotonicity #353 #696]: #419
+#699 := [trans #420 #698]: #695
+#685 := [monotonicity #699 #684]: #680
+#528 := [trans #685 #681]: #687
+#361 := (iff #399 true)
+#376 := (or #314 true)
+#377 := (iff #376 true)
+#718 := [rewrite]: #377
+#381 := (iff #399 #376)
+#726 := (iff #398 true)
+#716 := [rewrite]: #726
+#717 := [monotonicity #716]: #381
+#702 := [trans #717 #718]: #361
+#672 := [monotonicity #702 #528]: #530
+#669 := [trans #672 #674]: #675
+#507 := [monotonicity #669]: #678
+#663 := [trans #507 #510]: #678
+#671 := [quant-inst #8 #10]: #677
+#664 := [mp #671 #663]: #676
+[unit-resolution #664 #65 #733]: false
+unsat
+06fdbb5d35836ddf21804a31fcb1c796b637cebe 272 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -26519,99 +24650,75 @@
 #7 := f5
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#682 := (pattern #17)
+#726 := (pattern #17)
 #8 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #16)
-#80 := (* -1::Int #14)
-#86 := (div #80 #83)
-#242 := (* -1::Int #86)
-#243 := (+ #17 #242)
-#244 := (= #243 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #16)
+#68 := (* -1::Int #14)
+#74 := (div #68 #71)
+#225 := (* -1::Int #74)
+#226 := (+ #17 #225)
+#227 := (= #226 0::Int)
 #27 := (div #14 #16)
-#239 := (* -1::Int #27)
-#240 := (+ #17 #239)
-#241 := (= #240 0::Int)
-#57 := (<= #16 0::Int)
-#149 := (>= #14 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #14 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#245 := (if #206 #241 #244)
-#238 := (= #17 0::Int)
+#222 := (* -1::Int #27)
+#223 := (+ #17 #222)
+#224 := (= #223 0::Int)
+#93 := (<= #16 0::Int)
+#100 := (>= #14 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #14 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#228 := (if #189 #224 #227)
+#221 := (= #17 0::Int)
 #19 := (= #16 0::Int)
 #18 := (= #14 0::Int)
 #20 := (or #18 #19)
-#246 := (if #20 #238 #245)
-#683 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #682) #246)
-#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
-#686 := (iff #249 #683)
-#684 := (iff #246 #246)
-#685 := [refl]: #684
-#687 := [quant-intro #685]: #686
-#209 := (if #206 #27 #86)
-#212 := (if #20 0::Int #209)
-#215 := (= #17 #212)
-#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
-#250 := (iff #218 #249)
-#247 := (iff #215 #246)
-#248 := [rewrite]: #247
-#251 := [quant-intro #248]: #250
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#161 := (if #158 #27 #86)
-#164 := (if #20 0::Int #161)
-#167 := (= #17 #164)
-#170 := (forall (vars (?v0 Int) (?v1 Int)) #167)
-#219 := (iff #170 #218)
-#216 := (iff #167 #215)
-#213 := (= #164 #212)
-#210 := (= #161 #209)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#211 := [monotonicity #208]: #210
-#214 := [monotonicity #211]: #213
-#217 := [monotonicity #214]: #216
-#220 := [quant-intro #217]: #219
-#192 := (~ #170 #170)
-#194 := (~ #167 #167)
-#195 := [refl]: #194
-#193 := [nnf-pos #195]: #192
-#64 := (<= 0::Int #14)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#89 := (if #76 #27 #86)
-#92 := (if #20 0::Int #89)
-#95 := (= #17 #92)
-#98 := (forall (vars (?v0 Int) (?v1 Int)) #95)
-#171 := (iff #98 #170)
-#168 := (iff #95 #167)
-#165 := (= #92 #164)
-#162 := (= #89 #161)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [monotonicity #163]: #165
-#169 := [monotonicity #166]: #168
-#172 := [quant-intro #169]: #171
+#229 := (if #20 #221 #228)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #229)
+#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
+#730 := (iff #232 #727)
+#728 := (iff #229 #229)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#192 := (if #189 #27 #74)
+#195 := (if #20 0::Int #192)
+#198 := (= #17 #195)
+#201 := (forall (vars (?v0 Int) (?v1 Int)) #198)
+#233 := (iff #201 #232)
+#230 := (iff #198 #229)
+#231 := [rewrite]: #230
+#234 := [quant-intro #231]: #233
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (if #107 #27 #74)
+#113 := (if #20 0::Int #110)
+#116 := (= #17 #113)
+#119 := (forall (vars (?v0 Int) (?v1 Int)) #116)
+#202 := (iff #119 #201)
+#199 := (iff #116 #198)
+#196 := (= #113 #195)
+#193 := (= #110 #192)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#194 := [monotonicity #191]: #193
+#197 := [monotonicity #194]: #196
+#200 := [monotonicity #197]: #199
+#203 := [quant-intro #200]: #202
+#181 := (~ #119 #119)
+#179 := (~ #116 #116)
+#180 := [refl]: #179
+#182 := [nnf-pos #180]: #181
 #29 := (- #16)
 #28 := (- #14)
 #30 := (div #28 #29)
@@ -26625,180 +24732,188 @@
 #32 := (if #20 0::Int #31)
 #33 := (= #17 #32)
 #34 := (forall (vars (?v0 Int) (?v1 Int)) #33)
-#99 := (iff #34 #98)
-#96 := (iff #33 #95)
-#93 := (= #32 #92)
-#90 := (= #31 #89)
-#87 := (= #30 #86)
-#84 := (= #29 #83)
-#85 := [rewrite]: #84
-#81 := (= #28 #80)
-#82 := [rewrite]: #81
-#88 := [monotonicity #82 #85]: #87
-#77 := (iff #26 #76)
-#74 := (iff #25 #73)
-#59 := (iff #22 #58)
-#60 := [rewrite]: #59
-#66 := (iff #24 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #23 #61)
-#55 := (iff #21 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#91 := [monotonicity #78 #88]: #90
-#94 := [monotonicity #91]: #93
-#97 := [monotonicity #94]: #96
-#100 := [quant-intro #97]: #99
-#48 := [asserted]: #34
-#101 := [mp #48 #100]: #98
-#173 := [mp #101 #172]: #170
-#190 := [mp~ #173 #193]: #170
-#221 := [mp #190 #220]: #218
-#252 := [mp #221 #251]: #249
-#688 := [mp #252 #687]: #683
+#122 := (iff #34 #119)
+#77 := (if #26 #27 #74)
+#80 := (if #20 0::Int #77)
+#83 := (= #17 #80)
+#86 := (forall (vars (?v0 Int) (?v1 Int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #26 #107)
+#105 := (iff #25 #104)
+#95 := (iff #22 #94)
+#96 := [rewrite]: #95
+#102 := (iff #24 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #23 #97)
+#91 := (iff #21 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #34 #86)
+#84 := (iff #33 #83)
+#81 := (= #32 #80)
+#78 := (= #31 #77)
+#75 := (= #30 #74)
+#72 := (= #29 #71)
+#73 := [rewrite]: #72
+#69 := (= #28 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#66 := [asserted]: #34
+#124 := [mp #66 #123]: #119
+#173 := [mp~ #124 #182]: #119
+#204 := [mp #173 #203]: #201
+#235 := [mp #204 #234]: #232
+#732 := [mp #235 #731]: #727
 #10 := 1::Int
 #9 := (f4 f5 0::Int)
 #11 := (f3 #9 1::Int)
 #12 := (= #11 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#615 := (not #683)
-#500 := (or #615 #12)
-#344 := (* -1::Int 1::Int)
-#670 := (* -1::Int 0::Int)
-#345 := (div #670 #344)
-#677 := (* -1::Int #345)
-#678 := (+ #11 #677)
-#679 := (= #678 0::Int)
-#674 := (div 0::Int 1::Int)
-#676 := (* -1::Int #674)
-#333 := (+ #11 #676)
-#463 := (= #333 0::Int)
-#346 := (<= 1::Int 0::Int)
-#359 := (>= 0::Int 0::Int)
-#356 := (or #359 #346)
-#360 := (not #356)
-#355 := (<= 0::Int 0::Int)
-#357 := (or #355 #346)
-#358 := (not #357)
-#339 := (or #358 #360)
-#680 := (if #339 #463 #679)
-#353 := (= 1::Int 0::Int)
-#269 := (= 0::Int 0::Int)
-#354 := (or #269 #353)
-#675 := (if #354 #12 #680)
-#515 := (or #615 #675)
-#518 := (iff #515 #500)
-#519 := (iff #500 #500)
-#520 := [rewrite]: #519
-#611 := (iff #675 #12)
-#1 := true
-#506 := (if true #12 #12)
-#614 := (iff #506 #12)
-#516 := [rewrite]: #614
-#507 := (iff #675 #506)
-#623 := (iff #680 #12)
-#618 := (if false #12 #12)
-#622 := (iff #618 #12)
-#620 := [rewrite]: #622
-#619 := (iff #680 #618)
-#464 := (iff #679 #12)
-#633 := (= #678 #11)
-#647 := (+ #11 0::Int)
-#637 := (= #647 #11)
-#638 := [rewrite]: #637
-#632 := (= #678 #647)
-#625 := (= #677 0::Int)
-#645 := (= #670 0::Int)
-#646 := [rewrite]: #645
-#630 := (= #677 #670)
-#628 := (= #345 0::Int)
-#642 := (div 0::Int -1::Int)
-#485 := (= #642 0::Int)
-#627 := [rewrite]: #485
-#483 := (= #345 #642)
-#641 := (= #344 -1::Int)
-#636 := [rewrite]: #641
-#484 := [monotonicity #646 #636]: #483
-#629 := [trans #484 #627]: #628
-#624 := [monotonicity #629]: #630
-#631 := [trans #624 #646]: #625
-#626 := [monotonicity #631]: #632
-#462 := [trans #626 #638]: #633
-#465 := [monotonicity #462]: #464
-#635 := (iff #463 #12)
-#639 := (= #333 #11)
-#644 := (= #333 #647)
-#361 := (= #676 0::Int)
-#366 := (= #676 #670)
-#364 := (= #674 0::Int)
-#365 := [rewrite]: #364
-#367 := [monotonicity #365]: #366
-#643 := [trans #367 #646]: #361
-#648 := [monotonicity #643]: #644
-#634 := [trans #648 #638]: #639
-#640 := [monotonicity #634]: #635
-#650 := (iff #339 false)
-#652 := (or false false)
-#649 := (iff #652 false)
-#653 := [rewrite]: #649
-#374 := (iff #339 #652)
-#275 := (iff #360 false)
-#664 := (not true)
-#667 := (iff #664 false)
-#307 := [rewrite]: #667
-#380 := (iff #360 #664)
-#378 := (iff #356 true)
-#672 := (or true false)
-#316 := (iff #672 true)
-#657 := [rewrite]: #316
-#655 := (iff #356 #672)
-#659 := (iff #346 false)
-#660 := [rewrite]: #659
-#666 := (iff #359 true)
-#669 := [rewrite]: #666
-#656 := [monotonicity #669 #660]: #655
-#379 := [trans #656 #657]: #378
-#381 := [monotonicity #379]: #380
-#651 := [trans #381 #307]: #275
-#308 := (iff #358 false)
-#302 := (iff #358 #664)
-#663 := (iff #357 true)
-#661 := (iff #357 #672)
-#322 := (iff #355 true)
-#323 := [rewrite]: #322
-#662 := [monotonicity #323 #660]: #661
-#658 := [trans #662 #657]: #663
-#665 := [monotonicity #658]: #302
-#668 := [trans #665 #307]: #308
-#375 := [monotonicity #668 #651]: #374
-#654 := [trans #375 #653]: #650
-#621 := [monotonicity #654 #640 #465]: #619
-#505 := [trans #621 #620]: #623
-#320 := (iff #354 true)
-#332 := (iff #354 #672)
-#331 := (iff #353 false)
-#336 := [rewrite]: #331
-#681 := (iff #269 true)
-#671 := [rewrite]: #681
-#673 := [monotonicity #671 #336]: #332
-#321 := [trans #673 #657]: #320
-#466 := [monotonicity #321 #505]: #507
-#612 := [trans #466 #516]: #611
-#511 := [monotonicity #612]: #518
-#521 := [trans #511 #520]: #518
-#517 := [quant-inst #8 #10]: #515
-#522 := [mp #517 #521]: #500
-[unit-resolution #522 #47 #688]: false
-08b9dc0e318003c903e382519352a2ba5a18727d 291 0
-unsat
+#65 := [asserted]: #13
+#659 := (not #727)
+#544 := (or #659 #12)
+#388 := (* -1::Int 1::Int)
+#714 := (* -1::Int 0::Int)
+#389 := (div #714 #388)
+#721 := (* -1::Int #389)
+#722 := (+ #11 #721)
+#723 := (= #722 0::Int)
+#718 := (div 0::Int 1::Int)
+#720 := (* -1::Int #718)
+#377 := (+ #11 #720)
+#507 := (= #377 0::Int)
+#390 := (<= 1::Int 0::Int)
+#403 := (>= 0::Int 0::Int)
+#400 := (or #403 #390)
+#404 := (not #400)
+#399 := (<= 0::Int 0::Int)
+#401 := (or #399 #390)
+#402 := (not #401)
+#383 := (or #402 #404)
+#724 := (if #383 #507 #723)
+#397 := (= 1::Int 0::Int)
+#313 := (= 0::Int 0::Int)
+#398 := (or #313 #397)
+#719 := (if #398 #12 #724)
+#559 := (or #659 #719)
+#562 := (iff #559 #544)
+#563 := (iff #544 #544)
+#564 := [rewrite]: #563
+#655 := (iff #719 #12)
+#1 := true
+#550 := (if true #12 #12)
+#658 := (iff #550 #12)
+#560 := [rewrite]: #658
+#551 := (iff #719 #550)
+#667 := (iff #724 #12)
+#662 := (if false #12 #12)
+#666 := (iff #662 #12)
+#664 := [rewrite]: #666
+#663 := (iff #724 #662)
+#508 := (iff #723 #12)
+#677 := (= #722 #11)
+#691 := (+ #11 0::Int)
+#681 := (= #691 #11)
+#682 := [rewrite]: #681
+#676 := (= #722 #691)
+#669 := (= #721 0::Int)
+#689 := (= #714 0::Int)
+#690 := [rewrite]: #689
+#674 := (= #721 #714)
+#672 := (= #389 0::Int)
+#686 := (div 0::Int -1::Int)
+#529 := (= #686 0::Int)
+#671 := [rewrite]: #529
+#527 := (= #389 #686)
+#685 := (= #388 -1::Int)
+#680 := [rewrite]: #685
+#528 := [monotonicity #690 #680]: #527
+#673 := [trans #528 #671]: #672
+#668 := [monotonicity #673]: #674
+#675 := [trans #668 #690]: #669
+#670 := [monotonicity #675]: #676
+#506 := [trans #670 #682]: #677
+#509 := [monotonicity #506]: #508
+#679 := (iff #507 #12)
+#683 := (= #377 #11)
+#688 := (= #377 #691)
+#405 := (= #720 0::Int)
+#410 := (= #720 #714)
+#408 := (= #718 0::Int)
+#409 := [rewrite]: #408
+#411 := [monotonicity #409]: #410
+#687 := [trans #411 #690]: #405
+#692 := [monotonicity #687]: #688
+#678 := [trans #692 #682]: #683
+#684 := [monotonicity #678]: #679
+#694 := (iff #383 false)
+#696 := (or false false)
+#693 := (iff #696 false)
+#697 := [rewrite]: #693
+#418 := (iff #383 #696)
+#319 := (iff #404 false)
+#708 := (not true)
+#711 := (iff #708 false)
+#351 := [rewrite]: #711
+#424 := (iff #404 #708)
+#422 := (iff #400 true)
+#716 := (or true false)
+#360 := (iff #716 true)
+#701 := [rewrite]: #360
+#699 := (iff #400 #716)
+#703 := (iff #390 false)
+#704 := [rewrite]: #703
+#710 := (iff #403 true)
+#713 := [rewrite]: #710
+#700 := [monotonicity #713 #704]: #699
+#423 := [trans #700 #701]: #422
+#425 := [monotonicity #423]: #424
+#695 := [trans #425 #351]: #319
+#352 := (iff #402 false)
+#346 := (iff #402 #708)
+#707 := (iff #401 true)
+#705 := (iff #401 #716)
+#366 := (iff #399 true)
+#367 := [rewrite]: #366
+#706 := [monotonicity #367 #704]: #705
+#702 := [trans #706 #701]: #707
+#709 := [monotonicity #702]: #346
+#712 := [trans #709 #351]: #352
+#419 := [monotonicity #712 #695]: #418
+#698 := [trans #419 #697]: #694
+#665 := [monotonicity #698 #684 #509]: #663
+#549 := [trans #665 #664]: #667
+#364 := (iff #398 true)
+#376 := (iff #398 #716)
+#375 := (iff #397 false)
+#380 := [rewrite]: #375
+#725 := (iff #313 true)
+#715 := [rewrite]: #725
+#717 := [monotonicity #715 #380]: #376
+#365 := [trans #717 #701]: #364
+#510 := [monotonicity #365 #549]: #551
+#656 := [trans #510 #560]: #655
+#555 := [monotonicity #656]: #562
+#565 := [trans #555 #564]: #562
+#561 := [quant-inst #8 #10]: #559
+#566 := [mp #561 #565]: #544
+[unit-resolution #566 #65 #732]: false
+unsat
+fe9044a7983d603398b14459325449d5e84b7012 275 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #15 := (:var 0 Int)
@@ -26808,99 +24923,75 @@
 #7 := f5
 #14 := (f4 f5 #13)
 #16 := (f3 #14 #15)
-#682 := (pattern #16)
+#726 := (pattern #16)
 #17 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #15)
-#80 := (* -1::Int #13)
-#86 := (div #80 #83)
-#242 := (* -1::Int #86)
-#243 := (+ #16 #242)
-#244 := (= #243 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #15)
+#68 := (* -1::Int #13)
+#74 := (div #68 #71)
+#225 := (* -1::Int #74)
+#226 := (+ #16 #225)
+#227 := (= #226 0::Int)
 #27 := (div #13 #15)
-#239 := (* -1::Int #27)
-#240 := (+ #16 #239)
-#241 := (= #240 0::Int)
-#57 := (<= #15 0::Int)
-#149 := (>= #13 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #13 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#245 := (if #206 #241 #244)
-#238 := (= #16 0::Int)
+#222 := (* -1::Int #27)
+#223 := (+ #16 #222)
+#224 := (= #223 0::Int)
+#93 := (<= #15 0::Int)
+#100 := (>= #13 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #13 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#228 := (if #189 #224 #227)
+#221 := (= #16 0::Int)
 #19 := (= #15 0::Int)
 #18 := (= #13 0::Int)
 #20 := (or #18 #19)
-#246 := (if #20 #238 #245)
-#683 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #682) #246)
-#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
-#686 := (iff #249 #683)
-#684 := (iff #246 #246)
-#685 := [refl]: #684
-#687 := [quant-intro #685]: #686
-#209 := (if #206 #27 #86)
-#212 := (if #20 0::Int #209)
-#215 := (= #16 #212)
-#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
-#250 := (iff #218 #249)
-#247 := (iff #215 #246)
-#248 := [rewrite]: #247
-#251 := [quant-intro #248]: #250
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#161 := (if #158 #27 #86)
-#164 := (if #20 0::Int #161)
-#167 := (= #16 #164)
-#170 := (forall (vars (?v0 Int) (?v1 Int)) #167)
-#219 := (iff #170 #218)
-#216 := (iff #167 #215)
-#213 := (= #164 #212)
-#210 := (= #161 #209)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#211 := [monotonicity #208]: #210
-#214 := [monotonicity #211]: #213
-#217 := [monotonicity #214]: #216
-#220 := [quant-intro #217]: #219
-#192 := (~ #170 #170)
-#194 := (~ #167 #167)
-#195 := [refl]: #194
-#193 := [nnf-pos #195]: #192
-#64 := (<= 0::Int #13)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#89 := (if #76 #27 #86)
-#92 := (if #20 0::Int #89)
-#95 := (= #16 #92)
-#98 := (forall (vars (?v0 Int) (?v1 Int)) #95)
-#171 := (iff #98 #170)
-#168 := (iff #95 #167)
-#165 := (= #92 #164)
-#162 := (= #89 #161)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [monotonicity #163]: #165
-#169 := [monotonicity #166]: #168
-#172 := [quant-intro #169]: #171
+#229 := (if #20 #221 #228)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #229)
+#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
+#730 := (iff #232 #727)
+#728 := (iff #229 #229)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#192 := (if #189 #27 #74)
+#195 := (if #20 0::Int #192)
+#198 := (= #16 #195)
+#201 := (forall (vars (?v0 Int) (?v1 Int)) #198)
+#233 := (iff #201 #232)
+#230 := (iff #198 #229)
+#231 := [rewrite]: #230
+#234 := [quant-intro #231]: #233
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (if #107 #27 #74)
+#113 := (if #20 0::Int #110)
+#116 := (= #16 #113)
+#119 := (forall (vars (?v0 Int) (?v1 Int)) #116)
+#202 := (iff #119 #201)
+#199 := (iff #116 #198)
+#196 := (= #113 #195)
+#193 := (= #110 #192)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#194 := [monotonicity #191]: #193
+#197 := [monotonicity #194]: #196
+#200 := [monotonicity #197]: #199
+#203 := [quant-intro #200]: #202
+#181 := (~ #119 #119)
+#179 := (~ #116 #116)
+#180 := [refl]: #179
+#182 := [nnf-pos #180]: #181
 #29 := (- #15)
 #28 := (- #13)
 #30 := (div #28 #29)
@@ -26914,183 +25005,191 @@
 #32 := (if #20 0::Int #31)
 #33 := (= #16 #32)
 #34 := (forall (vars (?v0 Int) (?v1 Int)) #33)
-#99 := (iff #34 #98)
-#96 := (iff #33 #95)
-#93 := (= #32 #92)
-#90 := (= #31 #89)
-#87 := (= #30 #86)
-#84 := (= #29 #83)
-#85 := [rewrite]: #84
-#81 := (= #28 #80)
-#82 := [rewrite]: #81
-#88 := [monotonicity #82 #85]: #87
-#77 := (iff #26 #76)
-#74 := (iff #25 #73)
-#59 := (iff #22 #58)
-#60 := [rewrite]: #59
-#66 := (iff #24 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #23 #61)
-#55 := (iff #21 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#91 := [monotonicity #78 #88]: #90
-#94 := [monotonicity #91]: #93
-#97 := [monotonicity #94]: #96
-#100 := [quant-intro #97]: #99
-#48 := [asserted]: #34
-#101 := [mp #48 #100]: #98
-#173 := [mp #101 #172]: #170
-#190 := [mp~ #173 #193]: #170
-#221 := [mp #190 #220]: #218
-#252 := [mp #221 #251]: #249
-#688 := [mp #252 #687]: #683
+#122 := (iff #34 #119)
+#77 := (if #26 #27 #74)
+#80 := (if #20 0::Int #77)
+#83 := (= #16 #80)
+#86 := (forall (vars (?v0 Int) (?v1 Int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #26 #107)
+#105 := (iff #25 #104)
+#95 := (iff #22 #94)
+#96 := [rewrite]: #95
+#102 := (iff #24 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #23 #97)
+#91 := (iff #21 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #34 #86)
+#84 := (iff #33 #83)
+#81 := (= #32 #80)
+#78 := (= #31 #77)
+#75 := (= #30 #74)
+#72 := (= #29 #71)
+#73 := [rewrite]: #72
+#69 := (= #28 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#66 := [asserted]: #34
+#124 := [mp #66 #123]: #119
+#173 := [mp~ #124 #182]: #119
+#204 := [mp #173 #203]: #201
+#235 := [mp #204 #234]: #232
+#732 := [mp #235 #731]: #727
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
 #10 := (f3 #9 1::Int)
 #11 := (= #10 1::Int)
 #12 := (not #11)
-#47 := [asserted]: #12
-#517 := (not #683)
-#518 := (or #517 #11)
-#463 := (* -1::Int 1::Int)
-#670 := (div #463 #463)
-#344 := (* -1::Int #670)
-#345 := (+ #10 #344)
-#677 := (= #345 0::Int)
-#339 := (div 1::Int 1::Int)
-#674 := (* -1::Int #339)
-#676 := (+ #10 #674)
-#333 := (= #676 0::Int)
-#355 := (<= 1::Int 0::Int)
-#358 := (>= 1::Int 0::Int)
-#359 := (or #358 #355)
-#356 := (not #359)
-#346 := (or #355 #355)
-#357 := (not #346)
-#360 := (or #357 #356)
-#678 := (if #360 #333 #677)
-#354 := (= #10 0::Int)
-#269 := (= 1::Int 0::Int)
-#353 := (or #269 #269)
-#679 := (if #353 #354 #678)
-#511 := (or #517 #679)
-#520 := (iff #511 #518)
-#522 := (iff #518 #518)
-#523 := [rewrite]: #522
-#500 := (iff #679 #11)
-#614 := (if false #354 #11)
-#612 := (iff #614 #11)
-#615 := [rewrite]: #612
-#516 := (iff #679 #614)
-#507 := (iff #678 #11)
-#1 := true
-#622 := (if true #11 #11)
-#505 := (iff #622 #11)
-#506 := [rewrite]: #505
-#620 := (iff #678 #622)
-#619 := (iff #677 #11)
-#647 := (+ -1::Int #10)
-#639 := (= #647 0::Int)
-#640 := (iff #639 #11)
-#641 := [rewrite]: #640
-#465 := (iff #677 #639)
-#462 := (= #345 #647)
-#646 := (+ #10 -1::Int)
-#644 := (= #646 #647)
-#648 := [rewrite]: #644
-#626 := (= #345 #646)
-#631 := (= #344 -1::Int)
-#365 := (= #463 -1::Int)
-#366 := [rewrite]: #365
-#624 := (= #344 #463)
-#629 := (= #670 1::Int)
-#483 := (div -1::Int -1::Int)
-#627 := (= #483 1::Int)
-#628 := [rewrite]: #627
-#484 := (= #670 #483)
-#485 := [monotonicity #366 #366]: #484
-#630 := [trans #485 #628]: #629
-#625 := [monotonicity #630]: #624
-#632 := [trans #625 #366]: #631
-#633 := [monotonicity #632]: #626
-#464 := [trans #633 #648]: #462
-#618 := [monotonicity #464]: #465
-#621 := [trans #618 #641]: #619
-#636 := (iff #333 #11)
-#634 := (iff #333 #639)
-#637 := (= #676 #647)
-#361 := (= #676 #646)
-#367 := (= #674 -1::Int)
-#654 := (= #674 #463)
-#653 := (= #339 1::Int)
-#650 := [rewrite]: #653
-#364 := [monotonicity #650]: #654
-#645 := [trans #364 #366]: #367
-#643 := [monotonicity #645]: #361
-#638 := [trans #643 #648]: #637
-#635 := [monotonicity #638]: #634
-#642 := [trans #635 #641]: #636
-#375 := (iff #360 true)
-#667 := (or true false)
-#668 := (iff #667 true)
-#666 := [rewrite]: #668
-#652 := (iff #360 #667)
-#275 := (iff #356 false)
-#656 := (not true)
-#380 := (iff #656 false)
-#381 := [rewrite]: #380
-#378 := (iff #356 #656)
-#669 := (iff #359 true)
-#307 := (iff #359 #667)
-#316 := (iff #355 false)
-#657 := [rewrite]: #316
-#302 := (iff #358 true)
-#665 := [rewrite]: #302
-#308 := [monotonicity #665 #657]: #307
-#655 := [trans #308 #666]: #669
-#379 := [monotonicity #655]: #378
-#651 := [trans #379 #381]: #275
-#658 := (iff #357 true)
-#659 := (not false)
-#662 := (iff #659 true)
-#663 := [rewrite]: #662
-#660 := (iff #357 #659)
-#322 := (iff #346 false)
-#681 := (or false false)
-#336 := (iff #681 false)
-#672 := [rewrite]: #336
-#320 := (iff #346 #681)
-#321 := [monotonicity #657 #657]: #320
-#323 := [trans #321 #672]: #322
-#661 := [monotonicity #323]: #660
-#664 := [trans #661 #663]: #658
-#374 := [monotonicity #664 #651]: #652
-#649 := [trans #374 #666]: #375
-#623 := [monotonicity #649 #642 #621]: #620
-#466 := [trans #623 #506]: #507
-#332 := (iff #353 false)
-#671 := (iff #353 #681)
-#680 := (iff #269 false)
-#675 := [rewrite]: #680
-#331 := [monotonicity #675 #675]: #671
-#673 := [trans #331 #672]: #332
-#611 := [monotonicity #673 #466]: #516
-#515 := [trans #611 #615]: #500
-#521 := [monotonicity #515]: #520
-#616 := [trans #521 #523]: #520
-#519 := [quant-inst #8 #8]: #511
-#613 := [mp #519 #616]: #518
-[unit-resolution #613 #47 #688]: false
-ad4c91889628d5e832117b163debdedc3d43ede3 302 0
-unsat
+#65 := [asserted]: #12
+#561 := (not #727)
+#562 := (or #561 #11)
+#507 := (* -1::Int 1::Int)
+#714 := (div #507 #507)
+#388 := (* -1::Int #714)
+#389 := (+ #10 #388)
+#721 := (= #389 0::Int)
+#383 := (div 1::Int 1::Int)
+#718 := (* -1::Int #383)
+#720 := (+ #10 #718)
+#377 := (= #720 0::Int)
+#399 := (<= 1::Int 0::Int)
+#402 := (>= 1::Int 0::Int)
+#403 := (or #402 #399)
+#400 := (not #403)
+#390 := (or #399 #399)
+#401 := (not #390)
+#404 := (or #401 #400)
+#722 := (if #404 #377 #721)
+#398 := (= #10 0::Int)
+#313 := (= 1::Int 0::Int)
+#397 := (or #313 #313)
+#723 := (if #397 #398 #722)
+#555 := (or #561 #723)
+#564 := (iff #555 #562)
+#566 := (iff #562 #562)
+#567 := [rewrite]: #566
+#544 := (iff #723 #11)
+#658 := (if false #398 #11)
+#656 := (iff #658 #11)
+#659 := [rewrite]: #656
+#560 := (iff #723 #658)
+#551 := (iff #722 #11)
+#1 := true
+#666 := (if true #11 #11)
+#549 := (iff #666 #11)
+#550 := [rewrite]: #549
+#664 := (iff #722 #666)
+#663 := (iff #721 #11)
+#691 := (+ -1::Int #10)
+#683 := (= #691 0::Int)
+#684 := (iff #683 #11)
+#685 := [rewrite]: #684
+#509 := (iff #721 #683)
+#506 := (= #389 #691)
+#690 := (+ #10 -1::Int)
+#688 := (= #690 #691)
+#692 := [rewrite]: #688
+#670 := (= #389 #690)
+#675 := (= #388 -1::Int)
+#409 := (= #507 -1::Int)
+#410 := [rewrite]: #409
+#668 := (= #388 #507)
+#673 := (= #714 1::Int)
+#527 := (div -1::Int -1::Int)
+#671 := (= #527 1::Int)
+#672 := [rewrite]: #671
+#528 := (= #714 #527)
+#529 := [monotonicity #410 #410]: #528
+#674 := [trans #529 #672]: #673
+#669 := [monotonicity #674]: #668
+#676 := [trans #669 #410]: #675
+#677 := [monotonicity #676]: #670
+#508 := [trans #677 #692]: #506
+#662 := [monotonicity #508]: #509
+#665 := [trans #662 #685]: #663
+#680 := (iff #377 #11)
+#678 := (iff #377 #683)
+#681 := (= #720 #691)
+#405 := (= #720 #690)
+#411 := (= #718 -1::Int)
+#698 := (= #718 #507)
+#697 := (= #383 1::Int)
+#694 := [rewrite]: #697
+#408 := [monotonicity #694]: #698
+#689 := [trans #408 #410]: #411
+#687 := [monotonicity #689]: #405
+#682 := [trans #687 #692]: #681
+#679 := [monotonicity #682]: #678
+#686 := [trans #679 #685]: #680
+#419 := (iff #404 true)
+#711 := (or true false)
+#712 := (iff #711 true)
+#710 := [rewrite]: #712
+#696 := (iff #404 #711)
+#319 := (iff #400 false)
+#700 := (not true)
+#424 := (iff #700 false)
+#425 := [rewrite]: #424
+#422 := (iff #400 #700)
+#713 := (iff #403 true)
+#351 := (iff #403 #711)
+#360 := (iff #399 false)
+#701 := [rewrite]: #360
+#346 := (iff #402 true)
+#709 := [rewrite]: #346
+#352 := [monotonicity #709 #701]: #351
+#699 := [trans #352 #710]: #713
+#423 := [monotonicity #699]: #422
+#695 := [trans #423 #425]: #319
+#702 := (iff #401 true)
+#703 := (not false)
+#706 := (iff #703 true)
+#707 := [rewrite]: #706
+#704 := (iff #401 #703)
+#366 := (iff #390 false)
+#725 := (or false false)
+#380 := (iff #725 false)
+#716 := [rewrite]: #380
+#364 := (iff #390 #725)
+#365 := [monotonicity #701 #701]: #364
+#367 := [trans #365 #716]: #366
+#705 := [monotonicity #367]: #704
+#708 := [trans #705 #707]: #702
+#418 := [monotonicity #708 #695]: #696
+#693 := [trans #418 #710]: #419
+#667 := [monotonicity #693 #686 #665]: #664
+#510 := [trans #667 #550]: #551
+#376 := (iff #397 false)
+#715 := (iff #397 #725)
+#724 := (iff #313 false)
+#719 := [rewrite]: #724
+#375 := [monotonicity #719 #719]: #715
+#717 := [trans #375 #716]: #376
+#655 := [monotonicity #717 #510]: #560
+#559 := [trans #655 #659]: #544
+#565 := [monotonicity #559]: #564
+#660 := [trans #565 #567]: #564
+#563 := [quant-inst #8 #8]: #555
+#657 := [mp #563 #660]: #562
+[unit-resolution #657 #65 #732]: false
+unsat
+2afe6ba8054e3b6ca9e599e36f01a50ef2fd9772 286 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -27100,99 +25199,75 @@
 #7 := f5
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#683 := (pattern #17)
+#726 := (pattern #17)
 #18 := 0::Int
-#80 := -1::Int
-#84 := (* -1::Int #16)
-#81 := (* -1::Int #14)
-#87 := (div #81 #84)
-#243 := (* -1::Int #87)
-#244 := (+ #17 #243)
-#245 := (= #244 0::Int)
+#68 := -1::Int
+#72 := (* -1::Int #16)
+#69 := (* -1::Int #14)
+#75 := (div #69 #72)
+#226 := (* -1::Int #75)
+#227 := (+ #17 #226)
+#228 := (= #227 0::Int)
 #28 := (div #14 #16)
-#240 := (* -1::Int #28)
-#241 := (+ #17 #240)
-#242 := (= #241 0::Int)
-#58 := (<= #16 0::Int)
-#150 := (>= #14 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #14 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#246 := (if #207 #242 #245)
-#239 := (= #17 0::Int)
+#223 := (* -1::Int #28)
+#224 := (+ #17 #223)
+#225 := (= #224 0::Int)
+#94 := (<= #16 0::Int)
+#101 := (>= #14 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #14 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#229 := (if #190 #225 #228)
+#222 := (= #17 0::Int)
 #20 := (= #16 0::Int)
 #19 := (= #14 0::Int)
 #21 := (or #19 #20)
-#247 := (if #21 #239 #246)
-#684 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #683) #247)
-#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
-#687 := (iff #250 #684)
-#685 := (iff #247 #247)
-#686 := [refl]: #685
-#688 := [quant-intro #686]: #687
-#210 := (if #207 #28 #87)
-#213 := (if #21 0::Int #210)
-#216 := (= #17 #213)
-#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
-#251 := (iff #219 #250)
-#248 := (iff #216 #247)
-#249 := [rewrite]: #248
-#252 := [quant-intro #249]: #251
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#162 := (if #159 #28 #87)
-#165 := (if #21 0::Int #162)
-#168 := (= #17 #165)
-#171 := (forall (vars (?v0 Int) (?v1 Int)) #168)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#214 := (= #165 #213)
-#211 := (= #162 #210)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [monotonicity #212]: #214
-#218 := [monotonicity #215]: #217
-#221 := [quant-intro #218]: #220
-#148 := (~ #171 #171)
-#193 := (~ #168 #168)
-#194 := [refl]: #193
-#149 := [nnf-pos #194]: #148
-#65 := (<= 0::Int #14)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#90 := (if #77 #28 #87)
-#93 := (if #21 0::Int #90)
-#96 := (= #17 #93)
-#99 := (forall (vars (?v0 Int) (?v1 Int)) #96)
-#172 := (iff #99 #171)
-#169 := (iff #96 #168)
-#166 := (= #93 #165)
-#163 := (= #90 #162)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#164 := [monotonicity #161]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [quant-intro #170]: #172
+#230 := (if #21 #222 #229)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #230)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#730 := (iff #233 #727)
+#728 := (iff #230 #230)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#193 := (if #190 #28 #75)
+#196 := (if #21 0::Int #193)
+#199 := (= #17 #196)
+#202 := (forall (vars (?v0 Int) (?v1 Int)) #199)
+#234 := (iff #202 #233)
+#231 := (iff #199 #230)
+#232 := [rewrite]: #231
+#235 := [quant-intro #232]: #234
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (if #108 #28 #75)
+#114 := (if #21 0::Int #111)
+#117 := (= #17 #114)
+#120 := (forall (vars (?v0 Int) (?v1 Int)) #117)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#197 := (= #114 #196)
+#194 := (= #111 #193)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#195 := [monotonicity #192]: #194
+#198 := [monotonicity #195]: #197
+#201 := [monotonicity #198]: #200
+#204 := [quant-intro #201]: #203
+#182 := (~ #120 #120)
+#180 := (~ #117 #117)
+#181 := [refl]: #180
+#183 := [nnf-pos #181]: #182
 #30 := (- #16)
 #29 := (- #14)
 #31 := (div #29 #30)
@@ -27206,194 +25281,202 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #17 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#100 := (iff #35 #99)
-#97 := (iff #34 #96)
-#94 := (= #33 #93)
-#91 := (= #32 #90)
-#88 := (= #31 #87)
-#85 := (= #30 #84)
-#86 := [rewrite]: #85
-#82 := (= #29 #81)
-#83 := [rewrite]: #82
-#89 := [monotonicity #83 #86]: #88
-#78 := (iff #27 #77)
-#75 := (iff #26 #74)
-#60 := (iff #23 #59)
-#61 := [rewrite]: #60
-#67 := (iff #25 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #24 #62)
-#56 := (iff #22 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#92 := [monotonicity #79 #89]: #91
-#95 := [monotonicity #92]: #94
-#98 := [monotonicity #95]: #97
-#101 := [quant-intro #98]: #100
-#49 := [asserted]: #35
-#102 := [mp #49 #101]: #99
-#174 := [mp #102 #173]: #171
-#191 := [mp~ #174 #149]: #171
-#222 := [mp #191 #221]: #219
-#253 := [mp #222 #252]: #250
-#689 := [mp #253 #688]: #684
+#123 := (iff #35 #120)
+#78 := (if #27 #28 #75)
+#81 := (if #21 0::Int #78)
+#84 := (= #17 #81)
+#87 := (forall (vars (?v0 Int) (?v1 Int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #27 #108)
+#106 := (iff #26 #105)
+#96 := (iff #23 #95)
+#97 := [rewrite]: #96
+#103 := (iff #25 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #24 #98)
+#92 := (iff #22 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #35 #87)
+#85 := (iff #34 #84)
+#82 := (= #33 #81)
+#79 := (= #32 #78)
+#76 := (= #31 #75)
+#73 := (= #30 #72)
+#74 := [rewrite]: #73
+#70 := (= #29 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#67 := [asserted]: #35
+#125 := [mp #67 #124]: #120
+#174 := [mp~ #125 #183]: #120
+#205 := [mp #174 #204]: #202
+#236 := [mp #205 #235]: #233
+#732 := [mp #236 #731]: #727
 #8 := 3::Int
 #10 := 1::Int
 #9 := (f4 f5 3::Int)
 #11 := (f3 #9 1::Int)
 #12 := (= #11 3::Int)
 #13 := (not #12)
-#48 := [asserted]: #13
-#618 := (not #684)
-#605 := (or #618 #12)
-#346 := (* -1::Int 1::Int)
-#345 := (* -1::Int 3::Int)
-#678 := (div #345 #346)
-#679 := (* -1::Int #678)
-#680 := (+ #11 #679)
-#681 := (= #680 0::Int)
-#677 := (div 3::Int 1::Int)
-#334 := (* -1::Int #677)
-#464 := (+ #11 #334)
-#671 := (= #464 0::Int)
-#358 := (<= 1::Int 0::Int)
-#357 := (>= 3::Int 0::Int)
-#361 := (or #357 #358)
-#340 := (not #361)
-#347 := (<= 3::Int 0::Int)
-#359 := (or #347 #358)
-#360 := (not #359)
-#675 := (or #360 #340)
-#676 := (if #675 #671 #681)
-#356 := (= #11 0::Int)
-#354 := (= 1::Int 0::Int)
-#270 := (= 3::Int 0::Int)
-#355 := (or #270 #354)
-#682 := (if #355 #356 #676)
-#607 := (or #618 #682)
-#596 := (iff #607 #605)
-#608 := (iff #605 #605)
-#609 := [rewrite]: #608
-#617 := (iff #682 #12)
-#520 := (if false #356 #12)
-#523 := (iff #520 #12)
-#524 := [rewrite]: #523
-#521 := (iff #682 #520)
-#519 := (iff #676 #12)
-#1 := true
-#613 := (if true #12 #12)
-#516 := (iff #613 #12)
-#518 := [rewrite]: #516
-#616 := (iff #676 #613)
-#517 := (iff #681 #12)
-#648 := -3::Int
-#641 := (+ -3::Int #11)
-#485 := (= #641 0::Int)
-#629 := (iff #485 #12)
-#630 := [rewrite]: #629
-#467 := (iff #681 #485)
-#507 := (= #680 #641)
-#640 := (+ #11 -3::Int)
-#642 := (= #640 #641)
-#637 := [rewrite]: #642
-#624 := (= #680 #640)
-#623 := (= #679 -3::Int)
-#645 := (= #345 -3::Int)
-#649 := [rewrite]: #645
-#620 := (= #679 #345)
-#466 := (= #678 3::Int)
-#633 := (div -3::Int -1::Int)
-#463 := (= #633 3::Int)
-#465 := [rewrite]: #463
-#627 := (= #678 #633)
-#626 := (= #346 -1::Int)
-#632 := [rewrite]: #626
-#634 := [monotonicity #649 #632]: #627
-#619 := [trans #634 #465]: #466
-#622 := [monotonicity #619]: #620
-#621 := [trans #622 #649]: #623
-#506 := [monotonicity #621]: #624
-#508 := [trans #506 #637]: #507
-#615 := [monotonicity #508]: #467
-#612 := [trans #615 #630]: #517
-#631 := (iff #671 #12)
-#486 := (iff #671 #485)
-#643 := (= #464 #641)
-#635 := (= #464 #640)
-#638 := (= #334 -3::Int)
-#362 := (= #334 #345)
-#646 := (= #677 3::Int)
-#647 := [rewrite]: #646
-#644 := [monotonicity #647]: #362
-#639 := [trans #644 #649]: #638
-#636 := [monotonicity #639]: #635
-#484 := [trans #636 #637]: #643
-#628 := [monotonicity #484]: #486
-#625 := [trans #628 #630]: #631
-#367 := (iff #675 true)
-#657 := (or true false)
-#381 := (iff #657 true)
-#382 := [rewrite]: #381
-#365 := (iff #675 #657)
-#651 := (iff #340 false)
-#653 := (not true)
-#650 := (iff #653 false)
-#654 := [rewrite]: #650
-#375 := (iff #340 #653)
-#276 := (iff #361 true)
-#379 := (iff #361 #657)
-#661 := (iff #358 false)
-#662 := [rewrite]: #661
-#670 := (iff #357 true)
-#656 := [rewrite]: #670
-#380 := [monotonicity #656 #662]: #379
-#652 := [trans #380 #382]: #276
-#376 := [monotonicity #652]: #375
-#655 := [trans #376 #654]: #651
-#669 := (iff #360 true)
-#303 := (not false)
-#308 := (iff #303 true)
-#309 := [rewrite]: #308
-#666 := (iff #360 #303)
-#659 := (iff #359 false)
-#333 := (or false false)
-#658 := (iff #333 false)
-#321 := [rewrite]: #658
-#663 := (iff #359 #333)
-#324 := (iff #347 false)
-#660 := [rewrite]: #324
-#664 := [monotonicity #660 #662]: #663
-#665 := [trans #664 #321]: #659
-#668 := [monotonicity #665]: #666
-#667 := [trans #668 #309]: #669
-#366 := [monotonicity #667 #655]: #365
-#368 := [trans #366 #382]: #367
-#501 := [monotonicity #368 #625 #612]: #616
-#512 := [trans #501 #518]: #519
-#322 := (iff #355 false)
-#674 := (iff #355 #333)
-#337 := (iff #354 false)
-#673 := [rewrite]: #337
-#672 := (iff #270 false)
-#332 := [rewrite]: #672
-#317 := [monotonicity #332 #673]: #674
-#323 := [trans #317 #321]: #322
-#522 := [monotonicity #323 #512]: #521
-#614 := [trans #522 #524]: #617
-#598 := [monotonicity #614]: #596
-#610 := [trans #598 #609]: #596
-#599 := [quant-inst #8 #10]: #607
-#606 := [mp #599 #610]: #605
-[unit-resolution #606 #48 #689]: false
-66efac954bb1bd3de1e46f930d0903efeef6fa16 330 0
-unsat
+#66 := [asserted]: #13
+#661 := (not #727)
+#648 := (or #661 #12)
+#389 := (* -1::Int 1::Int)
+#388 := (* -1::Int 3::Int)
+#721 := (div #388 #389)
+#722 := (* -1::Int #721)
+#723 := (+ #11 #722)
+#724 := (= #723 0::Int)
+#720 := (div 3::Int 1::Int)
+#377 := (* -1::Int #720)
+#507 := (+ #11 #377)
+#714 := (= #507 0::Int)
+#401 := (<= 1::Int 0::Int)
+#400 := (>= 3::Int 0::Int)
+#404 := (or #400 #401)
+#383 := (not #404)
+#390 := (<= 3::Int 0::Int)
+#402 := (or #390 #401)
+#403 := (not #402)
+#718 := (or #403 #383)
+#719 := (if #718 #714 #724)
+#399 := (= #11 0::Int)
+#397 := (= 1::Int 0::Int)
+#313 := (= 3::Int 0::Int)
+#398 := (or #313 #397)
+#725 := (if #398 #399 #719)
+#650 := (or #661 #725)
+#639 := (iff #650 #648)
+#651 := (iff #648 #648)
+#652 := [rewrite]: #651
+#660 := (iff #725 #12)
+#563 := (if false #399 #12)
+#566 := (iff #563 #12)
+#567 := [rewrite]: #566
+#564 := (iff #725 #563)
+#562 := (iff #719 #12)
+#1 := true
+#656 := (if true #12 #12)
+#559 := (iff #656 #12)
+#561 := [rewrite]: #559
+#659 := (iff #719 #656)
+#560 := (iff #724 #12)
+#691 := -3::Int
+#684 := (+ -3::Int #11)
+#528 := (= #684 0::Int)
+#672 := (iff #528 #12)
+#673 := [rewrite]: #672
+#510 := (iff #724 #528)
+#550 := (= #723 #684)
+#683 := (+ #11 -3::Int)
+#685 := (= #683 #684)
+#680 := [rewrite]: #685
+#667 := (= #723 #683)
+#666 := (= #722 -3::Int)
+#688 := (= #388 -3::Int)
+#692 := [rewrite]: #688
+#663 := (= #722 #388)
+#509 := (= #721 3::Int)
+#676 := (div -3::Int -1::Int)
+#506 := (= #676 3::Int)
+#508 := [rewrite]: #506
+#670 := (= #721 #676)
+#669 := (= #389 -1::Int)
+#675 := [rewrite]: #669
+#677 := [monotonicity #692 #675]: #670
+#662 := [trans #677 #508]: #509
+#665 := [monotonicity #662]: #663
+#664 := [trans #665 #692]: #666
+#549 := [monotonicity #664]: #667
+#551 := [trans #549 #680]: #550
+#658 := [monotonicity #551]: #510
+#655 := [trans #658 #673]: #560
+#674 := (iff #714 #12)
+#529 := (iff #714 #528)
+#686 := (= #507 #684)
+#678 := (= #507 #683)
+#681 := (= #377 -3::Int)
+#405 := (= #377 #388)
+#689 := (= #720 3::Int)
+#690 := [rewrite]: #689
+#687 := [monotonicity #690]: #405
+#682 := [trans #687 #692]: #681
+#679 := [monotonicity #682]: #678
+#527 := [trans #679 #680]: #686
+#671 := [monotonicity #527]: #529
+#668 := [trans #671 #673]: #674
+#410 := (iff #718 true)
+#700 := (or true false)
+#424 := (iff #700 true)
+#425 := [rewrite]: #424
+#408 := (iff #718 #700)
+#694 := (iff #383 false)
+#696 := (not true)
+#693 := (iff #696 false)
+#697 := [rewrite]: #693
+#418 := (iff #383 #696)
+#319 := (iff #404 true)
+#422 := (iff #404 #700)
+#704 := (iff #401 false)
+#705 := [rewrite]: #704
+#713 := (iff #400 true)
+#699 := [rewrite]: #713
+#423 := [monotonicity #699 #705]: #422
+#695 := [trans #423 #425]: #319
+#419 := [monotonicity #695]: #418
+#698 := [trans #419 #697]: #694
+#712 := (iff #403 true)
+#346 := (not false)
+#351 := (iff #346 true)
+#352 := [rewrite]: #351
+#709 := (iff #403 #346)
+#702 := (iff #402 false)
+#376 := (or false false)
+#701 := (iff #376 false)
+#364 := [rewrite]: #701
+#706 := (iff #402 #376)
+#367 := (iff #390 false)
+#703 := [rewrite]: #367
+#707 := [monotonicity #703 #705]: #706
+#708 := [trans #707 #364]: #702
+#711 := [monotonicity #708]: #709
+#710 := [trans #711 #352]: #712
+#409 := [monotonicity #710 #698]: #408
+#411 := [trans #409 #425]: #410
+#544 := [monotonicity #411 #668 #655]: #659
+#555 := [trans #544 #561]: #562
+#365 := (iff #398 false)
+#717 := (iff #398 #376)
+#380 := (iff #397 false)
+#716 := [rewrite]: #380
+#715 := (iff #313 false)
+#375 := [rewrite]: #715
+#360 := [monotonicity #375 #716]: #717
+#366 := [trans #360 #364]: #365
+#565 := [monotonicity #366 #555]: #564
+#657 := [trans #565 #567]: #660
+#641 := [monotonicity #657]: #639
+#653 := [trans #641 #652]: #639
+#642 := [quant-inst #8 #10]: #650
+#649 := [mp #642 #653]: #648
+[unit-resolution #649 #66 #732]: false
+unsat
+bc025623c048399a2cbdaaab334a8777f197552e 314 0
 #2 := false
 #18 := 0::Int
 decl f3 :: (-> S2 Int Int)
@@ -27405,166 +25488,142 @@
 #7 := f5
 #9 := (f4 f5 f6)
 #11 := (f3 #9 1::Int)
-#356 := (= #11 0::Int)
-#516 := (not #356)
+#400 := (= #11 0::Int)
+#560 := (not #400)
 #12 := (= #11 f6)
 #13 := (not #12)
-#595 := (iff #13 #516)
-#594 := (iff #12 #356)
-#589 := (iff #356 #12)
-#580 := (= 0::Int f6)
-#270 := (= f6 0::Int)
-#677 := (div f6 1::Int)
-#80 := -1::Int
-#334 := (* -1::Int #677)
-#464 := (+ #11 #334)
-#671 := (= #464 0::Int)
-#621 := (not #671)
-#585 := (= #677 f6)
-#528 := (= f6 #677)
-#567 := (+ f6 #334)
-#573 := (<= #567 0::Int)
-#587 := (= #567 0::Int)
-#1 := true
-#147 := [true-axiom]: true
-#539 := (or false #587)
-#540 := [th-lemma arith]: #539
-#541 := [unit-resolution #540 #147]: #587
-#544 := (not #587)
-#545 := (or #544 #573)
-#546 := [th-lemma arith triangle-eq]: #545
-#542 := [unit-resolution #546 #541]: #573
-#574 := (>= #567 0::Int)
-#547 := (or #544 #574)
-#527 := [th-lemma arith triangle-eq]: #547
-#473 := [unit-resolution #527 #541]: #574
-#509 := [th-lemma arith eq-propagate 1 1 #473 #542]: #528
-#529 := [symm #509]: #585
-#538 := (= #11 #677)
-#633 := (<= #464 0::Int)
-#557 := [hypothesis]: #671
-#530 := (or #621 #633)
-#531 := [th-lemma arith triangle-eq]: #530
-#532 := [unit-resolution #531 #557]: #633
-#627 := (>= #464 0::Int)
-#425 := (or #621 #627)
-#536 := [th-lemma arith triangle-eq]: #425
-#537 := [unit-resolution #536 #557]: #627
-#543 := [th-lemma arith eq-propagate 1 1 #537 #532]: #538
-#535 := [trans #543 #529]: #12
-#48 := [asserted]: #13
-#503 := [unit-resolution #48 #535]: false
-#510 := [lemma #503]: #621
-#345 := (* -1::Int f6)
-#375 := (div #345 -1::Int)
-#654 := (* -1::Int #375)
-#365 := (+ #11 #654)
-#368 := (= #365 0::Int)
-#357 := (>= f6 0::Int)
-#657 := (not #357)
-#347 := (<= f6 0::Int)
-#665 := (not #347)
-#381 := (or #665 #657)
-#362 := (if #381 #671 #368)
-#517 := (not #270)
-#607 := [hypothesis]: #517
-#601 := (or #270 #362)
-#645 := (if #270 #356 #362)
+#532 := (iff #13 #560)
+#526 := (iff #12 #400)
+#570 := (iff #400 #12)
+#569 := (= 0::Int f6)
+#314 := (= f6 0::Int)
+#721 := (div f6 1::Int)
+#68 := -1::Int
+#378 := (* -1::Int #721)
+#508 := (+ #11 #378)
+#715 := (= #508 0::Int)
+#665 := (not #715)
+#629 := (= #721 f6)
+#572 := (= f6 #721)
+#611 := (+ f6 #378)
+#617 := (<= #611 0::Int)
+#631 := (= #611 0::Int)
+#1 := true
+#64 := [true-axiom]: true
+#583 := (or false #631)
+#584 := [th-lemma arith]: #583
+#585 := [unit-resolution #584 #64]: #631
+#588 := (not #631)
+#589 := (or #588 #617)
+#590 := [th-lemma arith triangle-eq]: #589
+#586 := [unit-resolution #590 #585]: #617
+#618 := (>= #611 0::Int)
+#591 := (or #588 #618)
+#571 := [th-lemma arith triangle-eq]: #591
+#517 := [unit-resolution #571 #585]: #618
+#553 := [th-lemma arith eq-propagate 1 1 #517 #586]: #572
+#573 := [symm #553]: #629
+#582 := (= #11 #721)
+#677 := (<= #508 0::Int)
+#601 := [hypothesis]: #715
+#574 := (or #665 #677)
+#575 := [th-lemma arith triangle-eq]: #574
+#576 := [unit-resolution #575 #601]: #677
+#671 := (>= #508 0::Int)
+#469 := (or #665 #671)
+#580 := [th-lemma arith triangle-eq]: #469
+#581 := [unit-resolution #580 #601]: #671
+#587 := [th-lemma arith eq-propagate 1 1 #581 #576]: #582
+#579 := [trans #587 #573]: #12
+#66 := [asserted]: #13
+#547 := [unit-resolution #66 #579]: false
+#554 := [lemma #547]: #665
+#389 := (* -1::Int f6)
+#419 := (div #389 -1::Int)
+#698 := (* -1::Int #419)
+#409 := (+ #11 #698)
+#412 := (= #409 0::Int)
+#401 := (>= f6 0::Int)
+#701 := (not #401)
+#391 := (<= f6 0::Int)
+#709 := (not #391)
+#425 := (or #709 #701)
+#406 := (if #425 #715 #412)
+#561 := (not #314)
+#651 := [hypothesis]: #561
+#578 := (or #314 #406)
+#689 := (if #314 #400 #406)
 #16 := (:var 0 Int)
 #14 := (:var 1 Int)
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#683 := (pattern #17)
-#84 := (* -1::Int #16)
-#81 := (* -1::Int #14)
-#87 := (div #81 #84)
-#243 := (* -1::Int #87)
-#244 := (+ #17 #243)
-#245 := (= #244 0::Int)
+#727 := (pattern #17)
+#72 := (* -1::Int #16)
+#69 := (* -1::Int #14)
+#75 := (div #69 #72)
+#226 := (* -1::Int #75)
+#227 := (+ #17 #226)
+#228 := (= #227 0::Int)
 #28 := (div #14 #16)
-#240 := (* -1::Int #28)
-#241 := (+ #17 #240)
-#242 := (= #241 0::Int)
-#58 := (<= #16 0::Int)
-#150 := (>= #14 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #14 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#246 := (if #207 #242 #245)
-#239 := (= #17 0::Int)
+#223 := (* -1::Int #28)
+#224 := (+ #17 #223)
+#225 := (= #224 0::Int)
+#94 := (<= #16 0::Int)
+#101 := (>= #14 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #14 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#229 := (if #190 #225 #228)
+#222 := (= #17 0::Int)
 #20 := (= #16 0::Int)
 #19 := (= #14 0::Int)
 #21 := (or #19 #20)
-#247 := (if #21 #239 #246)
-#684 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #683) #247)
-#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
-#687 := (iff #250 #684)
-#685 := (iff #247 #247)
-#686 := [refl]: #685
-#688 := [quant-intro #686]: #687
-#210 := (if #207 #28 #87)
-#213 := (if #21 0::Int #210)
-#216 := (= #17 #213)
-#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
-#251 := (iff #219 #250)
-#248 := (iff #216 #247)
-#249 := [rewrite]: #248
-#252 := [quant-intro #249]: #251
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#162 := (if #159 #28 #87)
-#165 := (if #21 0::Int #162)
-#168 := (= #17 #165)
-#171 := (forall (vars (?v0 Int) (?v1 Int)) #168)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#214 := (= #165 #213)
-#211 := (= #162 #210)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [monotonicity #212]: #214
-#218 := [monotonicity #215]: #217
-#221 := [quant-intro #218]: #220
-#193 := (~ #171 #171)
-#195 := (~ #168 #168)
-#196 := [refl]: #195
-#194 := [nnf-pos #196]: #193
-#65 := (<= 0::Int #14)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#90 := (if #77 #28 #87)
-#93 := (if #21 0::Int #90)
-#96 := (= #17 #93)
-#99 := (forall (vars (?v0 Int) (?v1 Int)) #96)
-#172 := (iff #99 #171)
-#169 := (iff #96 #168)
-#166 := (= #93 #165)
-#163 := (= #90 #162)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#164 := [monotonicity #161]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [quant-intro #170]: #172
+#230 := (if #21 #222 #229)
+#728 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #727) #230)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#731 := (iff #233 #728)
+#729 := (iff #230 #230)
+#730 := [refl]: #729
+#732 := [quant-intro #730]: #731
+#193 := (if #190 #28 #75)
+#196 := (if #21 0::Int #193)
+#199 := (= #17 #196)
+#202 := (forall (vars (?v0 Int) (?v1 Int)) #199)
+#234 := (iff #202 #233)
+#231 := (iff #199 #230)
+#232 := [rewrite]: #231
+#235 := [quant-intro #232]: #234
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (if #108 #28 #75)
+#114 := (if #21 0::Int #111)
+#117 := (= #17 #114)
+#120 := (forall (vars (?v0 Int) (?v1 Int)) #117)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#197 := (= #114 #196)
+#194 := (= #111 #193)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#195 := [monotonicity #192]: #194
+#198 := [monotonicity #195]: #197
+#201 := [monotonicity #198]: #200
+#204 := [quant-intro #201]: #203
+#182 := (~ #120 #120)
+#180 := (~ #117 #117)
+#181 := [refl]: #180
+#183 := [nnf-pos #181]: #182
 #30 := (- #16)
 #29 := (- #14)
 #31 := (div #29 #30)
@@ -27578,153 +25637,161 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #17 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#100 := (iff #35 #99)
-#97 := (iff #34 #96)
-#94 := (= #33 #93)
-#91 := (= #32 #90)
-#88 := (= #31 #87)
-#85 := (= #30 #84)
-#86 := [rewrite]: #85
-#82 := (= #29 #81)
-#83 := [rewrite]: #82
-#89 := [monotonicity #83 #86]: #88
-#78 := (iff #27 #77)
-#75 := (iff #26 #74)
-#60 := (iff #23 #59)
-#61 := [rewrite]: #60
-#67 := (iff #25 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #24 #62)
-#56 := (iff #22 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#92 := [monotonicity #79 #89]: #91
-#95 := [monotonicity #92]: #94
-#98 := [monotonicity #95]: #97
-#101 := [quant-intro #98]: #100
-#49 := [asserted]: #35
-#102 := [mp #49 #101]: #99
-#174 := [mp #102 #173]: #171
-#148 := [mp~ #174 #194]: #171
-#222 := [mp #148 #221]: #219
-#253 := [mp #222 #252]: #250
-#689 := [mp #253 #688]: #684
-#639 := (not #684)
-#640 := (or #639 #645)
-#346 := (* -1::Int 1::Int)
-#678 := (div #345 #346)
-#679 := (* -1::Int #678)
-#680 := (+ #11 #679)
-#681 := (= #680 0::Int)
-#358 := (<= 1::Int 0::Int)
-#361 := (or #357 #358)
-#340 := (not #361)
-#359 := (or #347 #358)
-#360 := (not #359)
-#675 := (or #360 #340)
-#676 := (if #675 #671 #681)
-#354 := (= 1::Int 0::Int)
-#355 := (or #270 #354)
-#682 := (if #355 #356 #676)
-#635 := (or #639 #682)
-#641 := (iff #635 #640)
-#637 := (iff #640 #640)
-#643 := [rewrite]: #637
-#649 := (iff #682 #645)
-#644 := (iff #676 #362)
-#646 := (iff #681 #368)
-#366 := (= #680 #365)
-#651 := (= #679 #654)
-#376 := (= #678 #375)
-#652 := (= #346 -1::Int)
-#653 := [rewrite]: #652
-#650 := [monotonicity #653]: #376
-#655 := [monotonicity #650]: #651
-#367 := [monotonicity #655]: #366
-#647 := [monotonicity #367]: #646
-#382 := (iff #675 #381)
-#379 := (iff #340 #657)
-#670 := (iff #361 #357)
-#668 := (or #357 false)
-#669 := (iff #668 #357)
-#667 := [rewrite]: #669
-#308 := (iff #361 #668)
-#322 := (iff #358 false)
-#323 := [rewrite]: #322
-#309 := [monotonicity #323]: #308
-#656 := [trans #309 #667]: #670
-#380 := [monotonicity #656]: #379
-#303 := (iff #360 #665)
-#664 := (iff #359 #347)
-#324 := (or #347 false)
-#662 := (iff #324 #347)
-#663 := [rewrite]: #662
-#660 := (iff #359 #324)
-#661 := [monotonicity #323]: #660
-#659 := [trans #661 #663]: #664
-#666 := [monotonicity #659]: #303
-#276 := [monotonicity #666 #380]: #382
-#648 := [monotonicity #276 #647]: #644
-#658 := (iff #355 #270)
-#337 := (or #270 false)
-#674 := (iff #337 #270)
-#317 := [rewrite]: #674
-#673 := (iff #355 #337)
-#672 := (iff #354 false)
-#332 := [rewrite]: #672
-#333 := [monotonicity #332]: #673
-#321 := [trans #333 #317]: #658
-#638 := [monotonicity #321 #648]: #649
-#642 := [monotonicity #638]: #641
-#484 := [trans #642 #643]: #641
-#636 := [quant-inst #8 #10]: #635
-#485 := [mp #636 #484]: #640
-#597 := [unit-resolution #485 #689]: #645
-#615 := (not #645)
-#616 := (or #615 #270 #362)
-#501 := [def-axiom]: #616
-#602 := [unit-resolution #501 #597]: #601
-#603 := [unit-resolution #602 #607]: #362
-#609 := (or #381 #270)
-#631 := (not #381)
-#614 := [hypothesis]: #631
-#486 := (or #381 #347)
-#628 := [def-axiom]: #486
-#618 := [unit-resolution #628 #614]: #347
-#629 := (or #381 #357)
-#630 := [def-axiom]: #629
-#605 := [unit-resolution #630 #614]: #357
-#599 := (or #270 #665 #657)
-#596 := [th-lemma arith triangle-eq]: #599
-#598 := [unit-resolution #596 #607]: #381
-#608 := [unit-resolution #598 #605 #618]: false
-#610 := [lemma #608]: #609
-#575 := [unit-resolution #610 #607]: #381
-#466 := (not #362)
-#619 := (or #466 #631 #671)
-#620 := [def-axiom]: #619
-#576 := [unit-resolution #620 #575 #603 #510]: false
-#577 := [lemma #576]: #270
-#588 := [symm #577]: #580
-#593 := [monotonicity #588]: #589
-#590 := [symm #593]: #594
-#581 := [monotonicity #590]: #595
-#582 := [mp #48 #581]: #516
-#578 := (or #517 #356)
-#612 := (or #615 #517 #356)
-#613 := [def-axiom]: #612
-#579 := [unit-resolution #613 #597]: #578
-#569 := [unit-resolution #579 #577]: #356
-[unit-resolution #569 #582]: false
-54eadbdaf5a8d862c94033c6a936caca8195fd89 304 0
-unsat
+#123 := (iff #35 #120)
+#78 := (if #27 #28 #75)
+#81 := (if #21 0::Int #78)
+#84 := (= #17 #81)
+#87 := (forall (vars (?v0 Int) (?v1 Int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #27 #108)
+#106 := (iff #26 #105)
+#96 := (iff #23 #95)
+#97 := [rewrite]: #96
+#103 := (iff #25 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #24 #98)
+#92 := (iff #22 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #35 #87)
+#85 := (iff #34 #84)
+#82 := (= #33 #81)
+#79 := (= #32 #78)
+#76 := (= #31 #75)
+#73 := (= #30 #72)
+#74 := [rewrite]: #73
+#70 := (= #29 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#67 := [asserted]: #35
+#125 := [mp #67 #124]: #120
+#174 := [mp~ #125 #183]: #120
+#205 := [mp #174 #204]: #202
+#236 := [mp #205 #235]: #233
+#733 := [mp #236 #732]: #728
+#683 := (not #728)
+#684 := (or #683 #689)
+#390 := (* -1::Int 1::Int)
+#722 := (div #389 #390)
+#723 := (* -1::Int #722)
+#724 := (+ #11 #723)
+#725 := (= #724 0::Int)
+#402 := (<= 1::Int 0::Int)
+#405 := (or #401 #402)
+#384 := (not #405)
+#403 := (or #391 #402)
+#404 := (not #403)
+#719 := (or #404 #384)
+#720 := (if #719 #715 #725)
+#398 := (= 1::Int 0::Int)
+#399 := (or #314 #398)
+#726 := (if #399 #400 #720)
+#679 := (or #683 #726)
+#685 := (iff #679 #684)
+#681 := (iff #684 #684)
+#687 := [rewrite]: #681
+#693 := (iff #726 #689)
+#688 := (iff #720 #406)
+#690 := (iff #725 #412)
+#410 := (= #724 #409)
+#695 := (= #723 #698)
+#420 := (= #722 #419)
+#696 := (= #390 -1::Int)
+#697 := [rewrite]: #696
+#694 := [monotonicity #697]: #420
+#699 := [monotonicity #694]: #695
+#411 := [monotonicity #699]: #410
+#691 := [monotonicity #411]: #690
+#426 := (iff #719 #425)
+#423 := (iff #384 #701)
+#714 := (iff #405 #401)
+#712 := (or #401 false)
+#713 := (iff #712 #401)
+#711 := [rewrite]: #713
+#352 := (iff #405 #712)
+#366 := (iff #402 false)
+#367 := [rewrite]: #366
+#353 := [monotonicity #367]: #352
+#700 := [trans #353 #711]: #714
+#424 := [monotonicity #700]: #423
+#347 := (iff #404 #709)
+#708 := (iff #403 #391)
+#368 := (or #391 false)
+#706 := (iff #368 #391)
+#707 := [rewrite]: #706
+#704 := (iff #403 #368)
+#705 := [monotonicity #367]: #704
+#703 := [trans #705 #707]: #708
+#710 := [monotonicity #703]: #347
+#320 := [monotonicity #710 #424]: #426
+#692 := [monotonicity #320 #691]: #688
+#702 := (iff #399 #314)
+#381 := (or #314 false)
+#718 := (iff #381 #314)
+#361 := [rewrite]: #718
+#717 := (iff #399 #381)
+#716 := (iff #398 false)
+#376 := [rewrite]: #716
+#377 := [monotonicity #376]: #717
+#365 := [trans #377 #361]: #702
+#682 := [monotonicity #365 #692]: #693
+#686 := [monotonicity #682]: #685
+#528 := [trans #686 #687]: #685
+#680 := [quant-inst #8 #10]: #679
+#529 := [mp #680 #528]: #684
+#577 := [unit-resolution #529 #733]: #689
+#659 := (not #689)
+#660 := (or #659 #314 #406)
+#545 := [def-axiom]: #660
+#513 := [unit-resolution #545 #577]: #578
+#544 := [unit-resolution #513 #651]: #406
+#653 := (or #425 #314)
+#675 := (not #425)
+#658 := [hypothesis]: #675
+#530 := (or #425 #391)
+#672 := [def-axiom]: #530
+#662 := [unit-resolution #672 #658]: #391
+#673 := (or #425 #401)
+#674 := [def-axiom]: #673
+#649 := [unit-resolution #674 #658]: #401
+#643 := (or #314 #709 #701)
+#640 := [th-lemma arith triangle-eq]: #643
+#642 := [unit-resolution #640 #651]: #425
+#652 := [unit-resolution #642 #649 #662]: false
+#654 := [lemma #652]: #653
+#546 := [unit-resolution #654 #651]: #425
+#510 := (not #406)
+#663 := (or #510 #675 #715)
+#664 := [def-axiom]: #663
+#548 := [unit-resolution #664 #546 #544 #554]: false
+#555 := [lemma #548]: #314
+#549 := [symm #555]: #569
+#525 := [monotonicity #549]: #570
+#531 := [symm #525]: #526
+#533 := [monotonicity #531]: #532
+#534 := [mp #66 #533]: #560
+#557 := (or #561 #400)
+#656 := (or #659 #561 #400)
+#657 := [def-axiom]: #656
+#558 := [unit-resolution #657 #577]: #557
+#559 := [unit-resolution #558 #555]: #400
+[unit-resolution #559 #534]: false
+unsat
+54537fcadbc5f87e29d49193f557c51ef593586b 288 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -27734,99 +25801,75 @@
 #7 := f5
 #16 := (f4 f5 #15)
 #18 := (f3 #16 #17)
-#695 := (pattern #18)
+#739 := (pattern #18)
 #8 := 0::Int
-#54 := -1::Int
-#96 := (* -1::Int #17)
-#93 := (* -1::Int #15)
-#99 := (div #93 #96)
-#255 := (* -1::Int #99)
-#256 := (+ #18 #255)
-#257 := (= #256 0::Int)
+#67 := -1::Int
+#84 := (* -1::Int #17)
+#80 := (* -1::Int #15)
+#87 := (div #80 #84)
+#238 := (* -1::Int #87)
+#239 := (+ #18 #238)
+#240 := (= #239 0::Int)
 #28 := (div #15 #17)
-#252 := (* -1::Int #28)
-#253 := (+ #18 #252)
-#254 := (= #253 0::Int)
-#71 := (<= #17 0::Int)
-#162 := (>= #15 0::Int)
-#215 := (or #162 #71)
-#216 := (not #215)
-#67 := (<= #15 0::Int)
-#211 := (or #67 #71)
-#212 := (not #211)
-#219 := (or #212 #216)
-#258 := (if #219 #254 #257)
-#251 := (= #18 0::Int)
+#235 := (* -1::Int #28)
+#236 := (+ #18 #235)
+#237 := (= #236 0::Int)
+#106 := (<= #17 0::Int)
+#113 := (>= #15 0::Int)
+#198 := (or #113 #106)
+#199 := (not #198)
+#102 := (<= #15 0::Int)
+#196 := (or #102 #106)
+#197 := (not #196)
+#202 := (or #197 #199)
+#241 := (if #202 #237 #240)
+#234 := (= #18 0::Int)
 #20 := (= #17 0::Int)
 #19 := (= #15 0::Int)
 #21 := (or #19 #20)
-#259 := (if #21 #251 #258)
-#696 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #695) #259)
-#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
-#699 := (iff #262 #696)
-#697 := (iff #259 #259)
-#698 := [refl]: #697
-#700 := [quant-intro #698]: #699
-#222 := (if #219 #28 #99)
-#225 := (if #21 0::Int #222)
-#228 := (= #18 #225)
-#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
-#263 := (iff #231 #262)
-#260 := (iff #228 #259)
-#261 := [rewrite]: #260
-#264 := [quant-intro #261]: #263
-#72 := (not #71)
-#165 := (not #162)
-#168 := (and #165 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#171 := (or #75 #168)
-#174 := (if #171 #28 #99)
-#177 := (if #21 0::Int #174)
-#180 := (= #18 #177)
-#183 := (forall (vars (?v0 Int) (?v1 Int)) #180)
-#232 := (iff #183 #231)
-#229 := (iff #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#218 := [rewrite]: #217
-#213 := (iff #75 #212)
-#214 := [rewrite]: #213
-#221 := [monotonicity #214 #218]: #220
-#224 := [monotonicity #221]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [quant-intro #230]: #232
-#203 := (~ #183 #183)
-#205 := (~ #180 #180)
-#206 := [refl]: #205
-#204 := [nnf-pos #206]: #203
-#78 := (<= 0::Int #15)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#102 := (if #90 #28 #99)
-#105 := (if #21 0::Int #102)
-#108 := (= #18 #105)
-#111 := (forall (vars (?v0 Int) (?v1 Int)) #108)
-#184 := (iff #111 #183)
-#181 := (iff #108 #180)
-#178 := (= #105 #177)
-#175 := (= #102 #174)
-#172 := (iff #90 #171)
-#169 := (iff #87 #168)
-#166 := (iff #79 #165)
-#163 := (iff #78 #162)
-#164 := [rewrite]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [quant-intro #182]: #184
+#242 := (if #21 #234 #241)
+#740 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #739) #242)
+#245 := (forall (vars (?v0 Int) (?v1 Int)) #242)
+#743 := (iff #245 #740)
+#741 := (iff #242 #242)
+#742 := [refl]: #741
+#744 := [quant-intro #742]: #743
+#205 := (if #202 #28 #87)
+#208 := (if #21 0::Int #205)
+#211 := (= #18 #208)
+#214 := (forall (vars (?v0 Int) (?v1 Int)) #211)
+#246 := (iff #214 #245)
+#243 := (iff #211 #242)
+#244 := [rewrite]: #243
+#247 := [quant-intro #244]: #246
+#107 := (not #106)
+#114 := (not #113)
+#117 := (and #114 #107)
+#103 := (not #102)
+#110 := (and #103 #107)
+#120 := (or #110 #117)
+#123 := (if #120 #28 #87)
+#126 := (if #21 0::Int #123)
+#129 := (= #18 #126)
+#132 := (forall (vars (?v0 Int) (?v1 Int)) #129)
+#215 := (iff #132 #214)
+#212 := (iff #129 #211)
+#209 := (= #126 #208)
+#206 := (= #123 #205)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#201 := [rewrite]: #200
+#190 := (iff #110 #197)
+#191 := [rewrite]: #190
+#204 := [monotonicity #191 #201]: #203
+#207 := [monotonicity #204]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [quant-intro #213]: #215
+#194 := (~ #132 #132)
+#192 := (~ #129 #129)
+#193 := [refl]: #192
+#195 := [nnf-pos #193]: #194
 #30 := (- #17)
 #29 := (- #15)
 #31 := (div #29 #30)
@@ -27840,196 +25883,204 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #18 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#112 := (iff #35 #111)
-#109 := (iff #34 #108)
-#106 := (= #33 #105)
-#103 := (= #32 #102)
-#100 := (= #31 #99)
-#97 := (= #30 #96)
-#98 := [rewrite]: #97
-#94 := (= #29 #93)
-#95 := [rewrite]: #94
-#101 := [monotonicity #95 #98]: #100
-#91 := (iff #27 #90)
-#88 := (iff #26 #87)
-#73 := (iff #23 #72)
-#74 := [rewrite]: #73
-#80 := (iff #25 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
+#135 := (iff #35 #132)
+#90 := (if #27 #28 #87)
+#93 := (if #21 0::Int #90)
+#96 := (= #18 #93)
+#99 := (forall (vars (?v0 Int) (?v1 Int)) #96)
+#133 := (iff #99 #132)
+#130 := (iff #96 #129)
+#127 := (= #93 #126)
+#124 := (= #90 #123)
+#121 := (iff #27 #120)
+#118 := (iff #26 #117)
+#108 := (iff #23 #107)
+#109 := [rewrite]: #108
+#115 := (iff #25 #114)
+#116 := [rewrite]: #115
+#119 := [monotonicity #116 #109]: #118
+#111 := (iff #24 #110)
+#104 := (iff #22 #103)
+#105 := [rewrite]: #104
+#112 := [monotonicity #105 #109]: #111
+#122 := [monotonicity #112 #119]: #121
+#125 := [monotonicity #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [quant-intro #131]: #133
+#100 := (iff #35 #99)
+#97 := (iff #34 #96)
+#94 := (= #33 #93)
+#91 := (= #32 #90)
+#88 := (= #31 #87)
+#85 := (= #30 #84)
+#86 := [rewrite]: #85
+#82 := (= #29 #80)
 #83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #24 #75)
-#69 := (iff #22 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#104 := [monotonicity #92 #101]: #103
-#107 := [monotonicity #104]: #106
-#110 := [monotonicity #107]: #109
-#113 := [quant-intro #110]: #112
-#49 := [asserted]: #35
-#114 := [mp #49 #113]: #111
-#186 := [mp #114 #185]: #183
-#160 := [mp~ #186 #204]: #183
-#234 := [mp #160 #233]: #231
-#265 := [mp #234 #264]: #262
-#701 := [mp #265 #700]: #696
+#89 := [monotonicity #83 #86]: #88
+#92 := [monotonicity #89]: #91
+#95 := [monotonicity #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [quant-intro #98]: #100
+#136 := [trans #101 #134]: #135
+#79 := [asserted]: #35
+#137 := [mp #79 #136]: #132
+#186 := [mp~ #137 #195]: #132
+#217 := [mp #186 #216]: #214
+#248 := [mp #217 #247]: #245
+#745 := [mp #248 #744]: #740
 #9 := (f4 f5 0::Int)
-#57 := (f3 #9 -1::Int)
-#60 := (= #57 0::Int)
-#63 := (not #60)
+#70 := (f3 #9 -1::Int)
+#73 := (= #70 0::Int)
+#76 := (not #73)
 #10 := 1::Int
 #11 := (- 1::Int)
 #12 := (f3 #9 #11)
 #13 := (= #12 0::Int)
 #14 := (not #13)
-#64 := (iff #14 #63)
-#61 := (iff #13 #60)
-#58 := (= #12 #57)
-#55 := (= #11 -1::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #14
-#66 := [mp #48 #65]: #63
-#530 := (not #696)
-#531 := (or #530 #60)
-#357 := (* -1::Int -1::Int)
-#683 := (* -1::Int 0::Int)
-#358 := (div #683 #357)
-#690 := (* -1::Int #358)
-#691 := (+ #57 #690)
-#692 := (= #691 0::Int)
-#687 := (div 0::Int -1::Int)
-#689 := (* -1::Int #687)
-#346 := (+ #57 #689)
-#476 := (= #346 0::Int)
-#359 := (<= -1::Int 0::Int)
-#372 := (>= 0::Int 0::Int)
-#369 := (or #372 #359)
-#373 := (not #369)
-#368 := (<= 0::Int 0::Int)
-#370 := (or #368 #359)
-#371 := (not #370)
-#352 := (or #371 #373)
-#693 := (if #352 #476 #692)
-#366 := (= -1::Int 0::Int)
-#282 := (= 0::Int 0::Int)
-#367 := (or #282 #366)
-#688 := (if #367 #60 #693)
-#524 := (or #530 #688)
-#533 := (iff #524 #531)
-#535 := (iff #531 #531)
-#536 := [rewrite]: #535
-#513 := (iff #688 #60)
-#1 := true
-#627 := (if true #60 #60)
-#625 := (iff #627 #60)
-#628 := [rewrite]: #625
-#529 := (iff #688 #627)
-#520 := (iff #693 #60)
-#635 := (if false #60 #60)
-#518 := (iff #635 #60)
-#519 := [rewrite]: #518
-#633 := (iff #693 #635)
-#632 := (iff #692 #60)
-#478 := (= #691 #57)
-#650 := (+ #57 0::Int)
-#647 := (= #650 #57)
-#648 := [rewrite]: #647
-#475 := (= #691 #650)
-#639 := (= #690 0::Int)
-#656 := (= #683 0::Int)
-#660 := [rewrite]: #656
-#644 := (= #690 #683)
-#637 := (= #358 0::Int)
-#498 := (div 0::Int 1::Int)
-#642 := (= #498 0::Int)
-#643 := [rewrite]: #642
-#640 := (= #358 #498)
-#496 := (= #357 1::Int)
-#497 := [rewrite]: #496
-#641 := [monotonicity #660 #497]: #640
-#638 := [trans #641 #643]: #637
-#645 := [monotonicity #638]: #644
-#646 := [trans #645 #660]: #639
-#477 := [monotonicity #646]: #475
-#631 := [trans #477 #648]: #478
-#634 := [monotonicity #631]: #632
-#649 := (iff #476 #60)
-#653 := (= #346 #57)
-#651 := (= #346 #650)
-#657 := (= #689 0::Int)
-#659 := (= #689 #683)
-#380 := (= #687 0::Int)
-#658 := [rewrite]: #380
-#374 := [monotonicity #658]: #659
-#661 := [trans #374 #660]: #657
-#652 := [monotonicity #661]: #651
-#654 := [trans #652 #648]: #653
-#655 := [monotonicity #654]: #649
-#378 := (iff #352 false)
-#662 := (or false false)
-#667 := (iff #662 false)
-#377 := [rewrite]: #667
-#666 := (iff #352 #662)
-#387 := (iff #373 false)
-#680 := (not true)
-#681 := (iff #680 false)
-#679 := [rewrite]: #681
-#664 := (iff #373 #680)
-#394 := (iff #369 true)
-#674 := (or true true)
-#671 := (iff #674 true)
-#677 := [rewrite]: #671
-#392 := (iff #369 #674)
-#672 := (iff #359 true)
-#673 := [rewrite]: #672
-#669 := (iff #372 true)
-#391 := [rewrite]: #669
-#393 := [monotonicity #391 #673]: #392
-#288 := [trans #393 #677]: #394
-#665 := [monotonicity #288]: #664
-#388 := [trans #665 #679]: #387
-#682 := (iff #371 false)
-#320 := (iff #371 #680)
-#315 := (iff #370 true)
-#675 := (iff #370 #674)
-#335 := (iff #368 true)
-#336 := [rewrite]: #335
-#676 := [monotonicity #336 #673]: #675
-#678 := [trans #676 #677]: #315
-#321 := [monotonicity #678]: #320
-#668 := [trans #321 #679]: #682
-#663 := [monotonicity #668 #388]: #666
-#379 := [trans #663 #377]: #378
-#636 := [monotonicity #379 #655 #634]: #633
-#479 := [trans #636 #519]: #520
-#333 := (iff #367 true)
-#685 := (or true false)
-#329 := (iff #685 true)
-#670 := [rewrite]: #329
-#345 := (iff #367 #685)
-#344 := (iff #366 false)
-#349 := [rewrite]: #344
-#694 := (iff #282 true)
-#684 := [rewrite]: #694
-#686 := [monotonicity #684 #349]: #345
-#334 := [trans #686 #670]: #333
-#624 := [monotonicity #334 #479]: #529
-#528 := [trans #624 #628]: #513
-#534 := [monotonicity #528]: #533
-#629 := [trans #534 #536]: #533
-#532 := [quant-inst #8 #54]: #524
-#626 := [mp #532 #629]: #531
-[unit-resolution #626 #66 #701]: false
-cf9d6de6ed3e36f7abf849890c513c16e310195c 313 0
-unsat
+#77 := (iff #14 #76)
+#74 := (iff #13 #73)
+#71 := (= #12 #70)
+#68 := (= #11 -1::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #14
+#81 := [mp #66 #78]: #76
+#574 := (not #740)
+#575 := (or #574 #73)
+#401 := (* -1::Int -1::Int)
+#727 := (* -1::Int 0::Int)
+#402 := (div #727 #401)
+#734 := (* -1::Int #402)
+#735 := (+ #70 #734)
+#736 := (= #735 0::Int)
+#731 := (div 0::Int -1::Int)
+#733 := (* -1::Int #731)
+#390 := (+ #70 #733)
+#520 := (= #390 0::Int)
+#403 := (<= -1::Int 0::Int)
+#416 := (>= 0::Int 0::Int)
+#413 := (or #416 #403)
+#417 := (not #413)
+#412 := (<= 0::Int 0::Int)
+#414 := (or #412 #403)
+#415 := (not #414)
+#396 := (or #415 #417)
+#737 := (if #396 #520 #736)
+#410 := (= -1::Int 0::Int)
+#326 := (= 0::Int 0::Int)
+#411 := (or #326 #410)
+#732 := (if #411 #73 #737)
+#568 := (or #574 #732)
+#577 := (iff #568 #575)
+#579 := (iff #575 #575)
+#580 := [rewrite]: #579
+#557 := (iff #732 #73)
+#1 := true
+#671 := (if true #73 #73)
+#669 := (iff #671 #73)
+#672 := [rewrite]: #669
+#573 := (iff #732 #671)
+#564 := (iff #737 #73)
+#679 := (if false #73 #73)
+#562 := (iff #679 #73)
+#563 := [rewrite]: #562
+#677 := (iff #737 #679)
+#676 := (iff #736 #73)
+#522 := (= #735 #70)
+#694 := (+ #70 0::Int)
+#691 := (= #694 #70)
+#692 := [rewrite]: #691
+#519 := (= #735 #694)
+#683 := (= #734 0::Int)
+#700 := (= #727 0::Int)
+#704 := [rewrite]: #700
+#688 := (= #734 #727)
+#681 := (= #402 0::Int)
+#542 := (div 0::Int 1::Int)
+#686 := (= #542 0::Int)
+#687 := [rewrite]: #686
+#684 := (= #402 #542)
+#540 := (= #401 1::Int)
+#541 := [rewrite]: #540
+#685 := [monotonicity #704 #541]: #684
+#682 := [trans #685 #687]: #681
+#689 := [monotonicity #682]: #688
+#690 := [trans #689 #704]: #683
+#521 := [monotonicity #690]: #519
+#675 := [trans #521 #692]: #522
+#678 := [monotonicity #675]: #676
+#693 := (iff #520 #73)
+#697 := (= #390 #70)
+#695 := (= #390 #694)
+#701 := (= #733 0::Int)
+#703 := (= #733 #727)
+#424 := (= #731 0::Int)
+#702 := [rewrite]: #424
+#418 := [monotonicity #702]: #703
+#705 := [trans #418 #704]: #701
+#696 := [monotonicity #705]: #695
+#698 := [trans #696 #692]: #697
+#699 := [monotonicity #698]: #693
+#422 := (iff #396 false)
+#706 := (or false false)
+#711 := (iff #706 false)
+#421 := [rewrite]: #711
+#710 := (iff #396 #706)
+#431 := (iff #417 false)
+#724 := (not true)
+#725 := (iff #724 false)
+#723 := [rewrite]: #725
+#708 := (iff #417 #724)
+#438 := (iff #413 true)
+#718 := (or true true)
+#715 := (iff #718 true)
+#721 := [rewrite]: #715
+#436 := (iff #413 #718)
+#716 := (iff #403 true)
+#717 := [rewrite]: #716
+#713 := (iff #416 true)
+#435 := [rewrite]: #713
+#437 := [monotonicity #435 #717]: #436
+#332 := [trans #437 #721]: #438
+#709 := [monotonicity #332]: #708
+#432 := [trans #709 #723]: #431
+#726 := (iff #415 false)
+#364 := (iff #415 #724)
+#359 := (iff #414 true)
+#719 := (iff #414 #718)
+#379 := (iff #412 true)
+#380 := [rewrite]: #379
+#720 := [monotonicity #380 #717]: #719
+#722 := [trans #720 #721]: #359
+#365 := [monotonicity #722]: #364
+#712 := [trans #365 #723]: #726
+#707 := [monotonicity #712 #432]: #710
+#423 := [trans #707 #421]: #422
+#680 := [monotonicity #423 #699 #678]: #677
+#523 := [trans #680 #563]: #564
+#377 := (iff #411 true)
+#729 := (or true false)
+#373 := (iff #729 true)
+#714 := [rewrite]: #373
+#389 := (iff #411 #729)
+#388 := (iff #410 false)
+#393 := [rewrite]: #388
+#738 := (iff #326 true)
+#728 := [rewrite]: #738
+#730 := [monotonicity #728 #393]: #389
+#378 := [trans #730 #714]: #377
+#668 := [monotonicity #378 #523]: #573
+#572 := [trans #668 #672]: #557
+#578 := [monotonicity #572]: #577
+#673 := [trans #578 #580]: #577
+#576 := [quant-inst #8 #67]: #568
+#670 := [mp #576 #673]: #575
+[unit-resolution #670 #81 #745]: false
+unsat
+1919ef46c663d3b5ae90ef3cb3a4aa4abba7ea65 297 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -28039,99 +26090,75 @@
 #7 := f5
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#695 := (pattern #17)
+#739 := (pattern #17)
 #18 := 0::Int
-#54 := -1::Int
-#96 := (* -1::Int #16)
-#93 := (* -1::Int #14)
-#99 := (div #93 #96)
-#255 := (* -1::Int #99)
-#256 := (+ #17 #255)
-#257 := (= #256 0::Int)
+#67 := -1::Int
+#84 := (* -1::Int #16)
+#80 := (* -1::Int #14)
+#87 := (div #80 #84)
+#238 := (* -1::Int #87)
+#239 := (+ #17 #238)
+#240 := (= #239 0::Int)
 #28 := (div #14 #16)
-#252 := (* -1::Int #28)
-#253 := (+ #17 #252)
-#254 := (= #253 0::Int)
-#71 := (<= #16 0::Int)
-#162 := (>= #14 0::Int)
-#215 := (or #162 #71)
-#216 := (not #215)
-#67 := (<= #14 0::Int)
-#211 := (or #67 #71)
-#212 := (not #211)
-#219 := (or #212 #216)
-#258 := (if #219 #254 #257)
-#251 := (= #17 0::Int)
+#235 := (* -1::Int #28)
+#236 := (+ #17 #235)
+#237 := (= #236 0::Int)
+#106 := (<= #16 0::Int)
+#113 := (>= #14 0::Int)
+#198 := (or #113 #106)
+#199 := (not #198)
+#102 := (<= #14 0::Int)
+#196 := (or #102 #106)
+#197 := (not #196)
+#202 := (or #197 #199)
+#241 := (if #202 #237 #240)
+#234 := (= #17 0::Int)
 #20 := (= #16 0::Int)
 #19 := (= #14 0::Int)
 #21 := (or #19 #20)
-#259 := (if #21 #251 #258)
-#696 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #695) #259)
-#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
-#699 := (iff #262 #696)
-#697 := (iff #259 #259)
-#698 := [refl]: #697
-#700 := [quant-intro #698]: #699
-#222 := (if #219 #28 #99)
-#225 := (if #21 0::Int #222)
-#228 := (= #17 #225)
-#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
-#263 := (iff #231 #262)
-#260 := (iff #228 #259)
-#261 := [rewrite]: #260
-#264 := [quant-intro #261]: #263
-#72 := (not #71)
-#165 := (not #162)
-#168 := (and #165 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#171 := (or #75 #168)
-#174 := (if #171 #28 #99)
-#177 := (if #21 0::Int #174)
-#180 := (= #17 #177)
-#183 := (forall (vars (?v0 Int) (?v1 Int)) #180)
-#232 := (iff #183 #231)
-#229 := (iff #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#218 := [rewrite]: #217
-#213 := (iff #75 #212)
-#214 := [rewrite]: #213
-#221 := [monotonicity #214 #218]: #220
-#224 := [monotonicity #221]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [quant-intro #230]: #232
-#160 := (~ #183 #183)
-#203 := (~ #180 #180)
-#204 := [refl]: #203
-#161 := [nnf-pos #204]: #160
-#78 := (<= 0::Int #14)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#102 := (if #90 #28 #99)
-#105 := (if #21 0::Int #102)
-#108 := (= #17 #105)
-#111 := (forall (vars (?v0 Int) (?v1 Int)) #108)
-#184 := (iff #111 #183)
-#181 := (iff #108 #180)
-#178 := (= #105 #177)
-#175 := (= #102 #174)
-#172 := (iff #90 #171)
-#169 := (iff #87 #168)
-#166 := (iff #79 #165)
-#163 := (iff #78 #162)
-#164 := [rewrite]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [quant-intro #182]: #184
+#242 := (if #21 #234 #241)
+#740 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #739) #242)
+#245 := (forall (vars (?v0 Int) (?v1 Int)) #242)
+#743 := (iff #245 #740)
+#741 := (iff #242 #242)
+#742 := [refl]: #741
+#744 := [quant-intro #742]: #743
+#205 := (if #202 #28 #87)
+#208 := (if #21 0::Int #205)
+#211 := (= #17 #208)
+#214 := (forall (vars (?v0 Int) (?v1 Int)) #211)
+#246 := (iff #214 #245)
+#243 := (iff #211 #242)
+#244 := [rewrite]: #243
+#247 := [quant-intro #244]: #246
+#107 := (not #106)
+#114 := (not #113)
+#117 := (and #114 #107)
+#103 := (not #102)
+#110 := (and #103 #107)
+#120 := (or #110 #117)
+#123 := (if #120 #28 #87)
+#126 := (if #21 0::Int #123)
+#129 := (= #17 #126)
+#132 := (forall (vars (?v0 Int) (?v1 Int)) #129)
+#215 := (iff #132 #214)
+#212 := (iff #129 #211)
+#209 := (= #126 #208)
+#206 := (= #123 #205)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#201 := [rewrite]: #200
+#190 := (iff #110 #197)
+#191 := [rewrite]: #190
+#204 := [monotonicity #191 #201]: #203
+#207 := [monotonicity #204]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [quant-intro #213]: #215
+#194 := (~ #132 #132)
+#192 := (~ #129 #129)
+#193 := [refl]: #192
+#195 := [nnf-pos #193]: #194
 #30 := (- #16)
 #29 := (- #14)
 #31 := (div #29 #30)
@@ -28145,205 +26172,213 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #17 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#112 := (iff #35 #111)
-#109 := (iff #34 #108)
-#106 := (= #33 #105)
-#103 := (= #32 #102)
-#100 := (= #31 #99)
-#97 := (= #30 #96)
-#98 := [rewrite]: #97
-#94 := (= #29 #93)
-#95 := [rewrite]: #94
-#101 := [monotonicity #95 #98]: #100
-#91 := (iff #27 #90)
-#88 := (iff #26 #87)
-#73 := (iff #23 #72)
-#74 := [rewrite]: #73
-#80 := (iff #25 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
+#135 := (iff #35 #132)
+#90 := (if #27 #28 #87)
+#93 := (if #21 0::Int #90)
+#96 := (= #17 #93)
+#99 := (forall (vars (?v0 Int) (?v1 Int)) #96)
+#133 := (iff #99 #132)
+#130 := (iff #96 #129)
+#127 := (= #93 #126)
+#124 := (= #90 #123)
+#121 := (iff #27 #120)
+#118 := (iff #26 #117)
+#108 := (iff #23 #107)
+#109 := [rewrite]: #108
+#115 := (iff #25 #114)
+#116 := [rewrite]: #115
+#119 := [monotonicity #116 #109]: #118
+#111 := (iff #24 #110)
+#104 := (iff #22 #103)
+#105 := [rewrite]: #104
+#112 := [monotonicity #105 #109]: #111
+#122 := [monotonicity #112 #119]: #121
+#125 := [monotonicity #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [quant-intro #131]: #133
+#100 := (iff #35 #99)
+#97 := (iff #34 #96)
+#94 := (= #33 #93)
+#91 := (= #32 #90)
+#88 := (= #31 #87)
+#85 := (= #30 #84)
+#86 := [rewrite]: #85
+#82 := (= #29 #80)
 #83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #24 #75)
-#69 := (iff #22 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#104 := [monotonicity #92 #101]: #103
-#107 := [monotonicity #104]: #106
-#110 := [monotonicity #107]: #109
-#113 := [quant-intro #110]: #112
-#49 := [asserted]: #35
-#114 := [mp #49 #113]: #111
-#186 := [mp #114 #185]: #183
-#207 := [mp~ #186 #161]: #183
-#234 := [mp #207 #233]: #231
-#265 := [mp #234 #264]: #262
-#701 := [mp #265 #700]: #696
+#89 := [monotonicity #83 #86]: #88
+#92 := [monotonicity #89]: #91
+#95 := [monotonicity #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [quant-intro #98]: #100
+#136 := [trans #101 #134]: #135
+#79 := [asserted]: #35
+#137 := [mp #79 #136]: #132
+#186 := [mp~ #137 #195]: #132
+#217 := [mp #186 #216]: #214
+#248 := [mp #217 #247]: #245
+#745 := [mp #248 #744]: #740
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
-#57 := (f3 #9 -1::Int)
-#60 := (= #57 -1::Int)
-#63 := (not #60)
+#70 := (f3 #9 -1::Int)
+#73 := (= #70 -1::Int)
+#76 := (not #73)
 #10 := (- 1::Int)
 #11 := (f3 #9 #10)
 #12 := (= #11 #10)
 #13 := (not #12)
-#64 := (iff #13 #63)
-#61 := (iff #12 #60)
-#55 := (= #10 -1::Int)
-#56 := [rewrite]: #55
-#58 := (= #11 #57)
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59 #56]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #13
-#66 := [mp #48 #65]: #63
-#626 := (not #696)
-#630 := (or #626 #60)
-#358 := (* -1::Int -1::Int)
-#357 := (* -1::Int 1::Int)
-#690 := (div #357 #358)
-#691 := (* -1::Int #690)
-#692 := (+ #57 #691)
-#693 := (= #692 0::Int)
-#689 := (div 1::Int -1::Int)
-#346 := (* -1::Int #689)
-#476 := (+ #57 #346)
-#683 := (= #476 0::Int)
-#370 := (<= -1::Int 0::Int)
-#369 := (>= 1::Int 0::Int)
-#373 := (or #369 #370)
-#352 := (not #373)
-#359 := (<= 1::Int 0::Int)
-#371 := (or #359 #370)
-#372 := (not #371)
-#687 := (or #372 #352)
-#688 := (if #687 #683 #693)
-#368 := (= #57 0::Int)
-#366 := (= -1::Int 0::Int)
-#282 := (= 1::Int 0::Int)
-#367 := (or #282 #366)
-#694 := (if #367 #368 #688)
-#617 := (or #626 #694)
-#611 := (iff #617 #630)
-#610 := (iff #630 #630)
-#620 := [rewrite]: #610
-#536 := (iff #694 #60)
-#524 := (if false #368 #60)
-#534 := (iff #524 #60)
-#535 := [rewrite]: #534
-#532 := (iff #694 #524)
-#530 := (iff #688 #60)
-#624 := (if false #60 #60)
-#513 := (iff #624 #60)
-#528 := [rewrite]: #513
-#625 := (iff #688 #624)
-#627 := (iff #693 #60)
-#648 := (+ 1::Int #57)
-#496 := (= #648 0::Int)
-#640 := (iff #496 #60)
-#641 := [rewrite]: #640
-#520 := (iff #693 #496)
-#518 := (= #692 #648)
-#651 := (+ #57 1::Int)
-#653 := (= #651 #648)
-#654 := [rewrite]: #653
-#633 := (= #692 #651)
-#634 := (= #691 1::Int)
-#660 := (= #358 1::Int)
-#657 := [rewrite]: #660
-#631 := (= #691 #358)
-#477 := (= #690 -1::Int)
-#644 := (div -1::Int 1::Int)
-#646 := (= #644 -1::Int)
-#475 := [rewrite]: #646
-#645 := (= #690 #644)
-#637 := (= #357 -1::Int)
-#638 := [rewrite]: #637
-#639 := [monotonicity #638 #657]: #645
-#478 := [trans #639 #475]: #477
-#632 := [monotonicity #478]: #631
-#635 := [trans #632 #657]: #634
-#636 := [monotonicity #635]: #633
-#519 := [trans #636 #654]: #518
-#479 := [monotonicity #519]: #520
-#529 := [trans #479 #641]: #627
-#642 := (iff #683 #60)
-#497 := (iff #683 #496)
-#649 := (= #476 #648)
-#652 := (= #476 #651)
-#661 := (= #346 1::Int)
-#374 := (= #346 #358)
-#658 := (= #689 -1::Int)
-#659 := [rewrite]: #658
-#656 := [monotonicity #659]: #374
-#650 := [trans #656 #657]: #661
-#647 := [monotonicity #650]: #652
-#655 := [trans #647 #654]: #649
-#498 := [monotonicity #655]: #497
-#643 := [trans #498 #641]: #642
-#379 := (iff #687 false)
-#345 := (or false false)
-#670 := (iff #345 false)
-#333 := [rewrite]: #670
-#377 := (iff #687 #345)
-#663 := (iff #352 false)
-#1 := true
-#320 := (not true)
-#679 := (iff #320 false)
-#682 := [rewrite]: #679
-#662 := (iff #352 #320)
-#387 := (iff #373 true)
-#393 := (or true true)
-#664 := (iff #393 true)
-#665 := [rewrite]: #664
-#394 := (iff #373 #393)
-#673 := (iff #370 true)
-#674 := [rewrite]: #673
-#391 := (iff #369 true)
-#392 := [rewrite]: #391
-#288 := [monotonicity #392 #674]: #394
-#388 := [trans #288 #665]: #387
-#666 := [monotonicity #388]: #662
-#667 := [trans #666 #682]: #663
-#668 := (iff #372 false)
-#321 := (iff #372 #320)
-#678 := (iff #371 true)
-#675 := (or false true)
-#677 := (iff #675 true)
-#315 := [rewrite]: #677
-#676 := (iff #371 #675)
-#336 := (iff #359 false)
-#672 := [rewrite]: #336
-#671 := [monotonicity #672 #674]: #676
-#680 := [trans #671 #315]: #678
-#681 := [monotonicity #680]: #321
-#669 := [trans #681 #682]: #668
-#378 := [monotonicity #669 #667]: #377
-#380 := [trans #378 #333]: #379
-#628 := [monotonicity #380 #643 #529]: #625
-#531 := [trans #628 #528]: #530
-#334 := (iff #367 false)
-#686 := (iff #367 #345)
-#349 := (iff #366 false)
-#685 := [rewrite]: #349
-#684 := (iff #282 false)
-#344 := [rewrite]: #684
-#329 := [monotonicity #344 #685]: #686
-#335 := [trans #329 #333]: #334
-#533 := [monotonicity #335 #531]: #532
-#629 := [trans #533 #535]: #536
-#608 := [monotonicity #629]: #611
-#621 := [trans #608 #620]: #611
-#619 := [quant-inst #8 #54]: #617
-#622 := [mp #619 #621]: #630
-[unit-resolution #622 #66 #701]: false
-4a771fcb3bc990f914da773b60610eba4dcd1715 321 0
-unsat
+#77 := (iff #13 #76)
+#74 := (iff #12 #73)
+#68 := (= #10 -1::Int)
+#69 := [rewrite]: #68
+#71 := (= #11 #70)
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72 #69]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #13
+#81 := [mp #66 #78]: #76
+#670 := (not #740)
+#674 := (or #670 #73)
+#402 := (* -1::Int -1::Int)
+#401 := (* -1::Int 1::Int)
+#734 := (div #401 #402)
+#735 := (* -1::Int #734)
+#736 := (+ #70 #735)
+#737 := (= #736 0::Int)
+#733 := (div 1::Int -1::Int)
+#390 := (* -1::Int #733)
+#520 := (+ #70 #390)
+#727 := (= #520 0::Int)
+#414 := (<= -1::Int 0::Int)
+#413 := (>= 1::Int 0::Int)
+#417 := (or #413 #414)
+#396 := (not #417)
+#403 := (<= 1::Int 0::Int)
+#415 := (or #403 #414)
+#416 := (not #415)
+#731 := (or #416 #396)
+#732 := (if #731 #727 #737)
+#412 := (= #70 0::Int)
+#410 := (= -1::Int 0::Int)
+#326 := (= 1::Int 0::Int)
+#411 := (or #326 #410)
+#738 := (if #411 #412 #732)
+#661 := (or #670 #738)
+#655 := (iff #661 #674)
+#654 := (iff #674 #674)
+#664 := [rewrite]: #654
+#580 := (iff #738 #73)
+#568 := (if false #412 #73)
+#578 := (iff #568 #73)
+#579 := [rewrite]: #578
+#576 := (iff #738 #568)
+#574 := (iff #732 #73)
+#668 := (if false #73 #73)
+#557 := (iff #668 #73)
+#572 := [rewrite]: #557
+#669 := (iff #732 #668)
+#671 := (iff #737 #73)
+#692 := (+ 1::Int #70)
+#540 := (= #692 0::Int)
+#684 := (iff #540 #73)
+#685 := [rewrite]: #684
+#564 := (iff #737 #540)
+#562 := (= #736 #692)
+#695 := (+ #70 1::Int)
+#697 := (= #695 #692)
+#698 := [rewrite]: #697
+#677 := (= #736 #695)
+#678 := (= #735 1::Int)
+#704 := (= #402 1::Int)
+#701 := [rewrite]: #704
+#675 := (= #735 #402)
+#521 := (= #734 -1::Int)
+#688 := (div -1::Int 1::Int)
+#690 := (= #688 -1::Int)
+#519 := [rewrite]: #690
+#689 := (= #734 #688)
+#681 := (= #401 -1::Int)
+#682 := [rewrite]: #681
+#683 := [monotonicity #682 #701]: #689
+#522 := [trans #683 #519]: #521
+#676 := [monotonicity #522]: #675
+#679 := [trans #676 #701]: #678
+#680 := [monotonicity #679]: #677
+#563 := [trans #680 #698]: #562
+#523 := [monotonicity #563]: #564
+#573 := [trans #523 #685]: #671
+#686 := (iff #727 #73)
+#541 := (iff #727 #540)
+#693 := (= #520 #692)
+#696 := (= #520 #695)
+#705 := (= #390 1::Int)
+#418 := (= #390 #402)
+#702 := (= #733 -1::Int)
+#703 := [rewrite]: #702
+#700 := [monotonicity #703]: #418
+#694 := [trans #700 #701]: #705
+#691 := [monotonicity #694]: #696
+#699 := [trans #691 #698]: #693
+#542 := [monotonicity #699]: #541
+#687 := [trans #542 #685]: #686
+#423 := (iff #731 false)
+#389 := (or false false)
+#714 := (iff #389 false)
+#377 := [rewrite]: #714
+#421 := (iff #731 #389)
+#707 := (iff #396 false)
+#1 := true
+#364 := (not true)
+#723 := (iff #364 false)
+#726 := [rewrite]: #723
+#706 := (iff #396 #364)
+#431 := (iff #417 true)
+#437 := (or true true)
+#708 := (iff #437 true)
+#709 := [rewrite]: #708
+#438 := (iff #417 #437)
+#717 := (iff #414 true)
+#718 := [rewrite]: #717
+#435 := (iff #413 true)
+#436 := [rewrite]: #435
+#332 := [monotonicity #436 #718]: #438
+#432 := [trans #332 #709]: #431
+#710 := [monotonicity #432]: #706
+#711 := [trans #710 #726]: #707
+#712 := (iff #416 false)
+#365 := (iff #416 #364)
+#722 := (iff #415 true)
+#719 := (or false true)
+#721 := (iff #719 true)
+#359 := [rewrite]: #721
+#720 := (iff #415 #719)
+#380 := (iff #403 false)
+#716 := [rewrite]: #380
+#715 := [monotonicity #716 #718]: #720
+#724 := [trans #715 #359]: #722
+#725 := [monotonicity #724]: #365
+#713 := [trans #725 #726]: #712
+#422 := [monotonicity #713 #711]: #421
+#424 := [trans #422 #377]: #423
+#672 := [monotonicity #424 #687 #573]: #669
+#575 := [trans #672 #572]: #574
+#378 := (iff #411 false)
+#730 := (iff #411 #389)
+#393 := (iff #410 false)
+#729 := [rewrite]: #393
+#728 := (iff #326 false)
+#388 := [rewrite]: #728
+#373 := [monotonicity #388 #729]: #730
+#379 := [trans #373 #377]: #378
+#577 := [monotonicity #379 #575]: #576
+#673 := [trans #577 #579]: #580
+#652 := [monotonicity #673]: #655
+#665 := [trans #652 #664]: #655
+#663 := [quant-inst #8 #67]: #661
+#666 := [mp #663 #665]: #674
+[unit-resolution #666 #81 #745]: false
+unsat
+baa666ada000b9422ae7630b704989505cee3646 305 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -28353,99 +26388,75 @@
 #7 := f5
 #17 := (f4 f5 #16)
 #19 := (f3 #17 #18)
-#700 := (pattern #19)
+#743 := (pattern #19)
 #20 := 0::Int
-#56 := -1::Int
-#101 := (* -1::Int #18)
-#98 := (* -1::Int #16)
-#104 := (div #98 #101)
-#260 := (* -1::Int #104)
-#261 := (+ #19 #260)
-#262 := (= #261 0::Int)
+#69 := -1::Int
+#89 := (* -1::Int #18)
+#85 := (* -1::Int #16)
+#92 := (div #85 #89)
+#243 := (* -1::Int #92)
+#244 := (+ #19 #243)
+#245 := (= #244 0::Int)
 #30 := (div #16 #18)
-#257 := (* -1::Int #30)
-#258 := (+ #19 #257)
-#259 := (= #258 0::Int)
-#76 := (<= #18 0::Int)
-#167 := (>= #16 0::Int)
-#220 := (or #167 #76)
-#221 := (not #220)
-#72 := (<= #16 0::Int)
-#216 := (or #72 #76)
-#217 := (not #216)
-#224 := (or #217 #221)
-#263 := (if #224 #259 #262)
-#256 := (= #19 0::Int)
+#240 := (* -1::Int #30)
+#241 := (+ #19 #240)
+#242 := (= #241 0::Int)
+#111 := (<= #18 0::Int)
+#118 := (>= #16 0::Int)
+#203 := (or #118 #111)
+#204 := (not #203)
+#107 := (<= #16 0::Int)
+#201 := (or #107 #111)
+#202 := (not #201)
+#207 := (or #202 #204)
+#246 := (if #207 #242 #245)
+#239 := (= #19 0::Int)
 #22 := (= #18 0::Int)
 #21 := (= #16 0::Int)
 #23 := (or #21 #22)
-#264 := (if #23 #256 #263)
-#701 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #700) #264)
-#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
-#704 := (iff #267 #701)
-#702 := (iff #264 #264)
-#703 := [refl]: #702
-#705 := [quant-intro #703]: #704
-#227 := (if #224 #30 #104)
-#230 := (if #23 0::Int #227)
-#233 := (= #19 #230)
-#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
-#268 := (iff #236 #267)
-#265 := (iff #233 #264)
-#266 := [rewrite]: #265
-#269 := [quant-intro #266]: #268
-#77 := (not #76)
-#170 := (not #167)
-#173 := (and #170 #77)
-#73 := (not #72)
-#80 := (and #73 #77)
-#176 := (or #80 #173)
-#179 := (if #176 #30 #104)
-#182 := (if #23 0::Int #179)
-#185 := (= #19 #182)
-#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
-#237 := (iff #188 #236)
-#234 := (iff #185 #233)
-#231 := (= #182 #230)
-#228 := (= #179 #227)
-#225 := (iff #176 #224)
-#222 := (iff #173 #221)
-#223 := [rewrite]: #222
-#218 := (iff #80 #217)
-#219 := [rewrite]: #218
-#226 := [monotonicity #219 #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [quant-intro #235]: #237
-#165 := (~ #188 #188)
-#208 := (~ #185 #185)
-#209 := [refl]: #208
-#166 := [nnf-pos #209]: #165
-#83 := (<= 0::Int #16)
-#84 := (not #83)
-#92 := (and #84 #77)
-#95 := (or #80 #92)
-#107 := (if #95 #30 #104)
-#110 := (if #23 0::Int #107)
-#113 := (= #19 #110)
-#116 := (forall (vars (?v0 Int) (?v1 Int)) #113)
-#189 := (iff #116 #188)
-#186 := (iff #113 #185)
-#183 := (= #110 #182)
-#180 := (= #107 #179)
-#177 := (iff #95 #176)
-#174 := (iff #92 #173)
-#171 := (iff #84 #170)
-#168 := (iff #83 #167)
-#169 := [rewrite]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [quant-intro #187]: #189
+#247 := (if #23 #239 #246)
+#744 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #743) #247)
+#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
+#747 := (iff #250 #744)
+#745 := (iff #247 #247)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#210 := (if #207 #30 #92)
+#213 := (if #23 0::Int #210)
+#216 := (= #19 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#251 := (iff #219 #250)
+#248 := (iff #216 #247)
+#249 := [rewrite]: #248
+#252 := [quant-intro #249]: #251
+#112 := (not #111)
+#119 := (not #118)
+#122 := (and #119 #112)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#128 := (if #125 #30 #92)
+#131 := (if #23 0::Int #128)
+#134 := (= #19 #131)
+#137 := (forall (vars (?v0 Int) (?v1 Int)) #134)
+#220 := (iff #137 #219)
+#217 := (iff #134 #216)
+#214 := (= #131 #213)
+#211 := (= #128 #210)
+#208 := (iff #125 #207)
+#205 := (iff #122 #204)
+#206 := [rewrite]: #205
+#195 := (iff #115 #202)
+#196 := [rewrite]: #195
+#209 := [monotonicity #196 #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#199 := (~ #137 #137)
+#197 := (~ #134 #134)
+#198 := [refl]: #197
+#200 := [nnf-pos #198]: #199
 #32 := (- #18)
 #31 := (- #16)
 #33 := (div #31 #32)
@@ -28459,366 +26470,350 @@
 #35 := (if #23 0::Int #34)
 #36 := (= #19 #35)
 #37 := (forall (vars (?v0 Int) (?v1 Int)) #36)
-#117 := (iff #37 #116)
-#114 := (iff #36 #113)
-#111 := (= #35 #110)
-#108 := (= #34 #107)
-#105 := (= #33 #104)
-#102 := (= #32 #101)
-#103 := [rewrite]: #102
-#99 := (= #31 #98)
-#100 := [rewrite]: #99
-#106 := [monotonicity #100 #103]: #105
-#96 := (iff #29 #95)
-#93 := (iff #28 #92)
-#78 := (iff #25 #77)
-#79 := [rewrite]: #78
-#85 := (iff #27 #84)
-#89 := (iff #84 #84)
-#87 := (iff #83 #83)
+#140 := (iff #37 #137)
+#95 := (if #29 #30 #92)
+#98 := (if #23 0::Int #95)
+#101 := (= #19 #98)
+#104 := (forall (vars (?v0 Int) (?v1 Int)) #101)
+#138 := (iff #104 #137)
+#135 := (iff #101 #134)
+#132 := (= #98 #131)
+#129 := (= #95 #128)
+#126 := (iff #29 #125)
+#123 := (iff #28 #122)
+#113 := (iff #25 #112)
+#114 := [rewrite]: #113
+#120 := (iff #27 #119)
+#121 := [rewrite]: #120
+#124 := [monotonicity #121 #114]: #123
+#116 := (iff #26 #115)
+#109 := (iff #24 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [monotonicity #133]: #135
+#139 := [quant-intro #136]: #138
+#105 := (iff #37 #104)
+#102 := (iff #36 #101)
+#99 := (= #35 #98)
+#96 := (= #34 #95)
+#93 := (= #33 #92)
+#90 := (= #32 #89)
+#91 := [rewrite]: #90
+#87 := (= #31 #85)
 #88 := [rewrite]: #87
-#90 := [monotonicity #88]: #89
-#86 := [rewrite]: #85
-#91 := [trans #86 #90]: #85
-#94 := [monotonicity #91 #79]: #93
-#81 := (iff #26 #80)
-#74 := (iff #24 #73)
-#75 := [rewrite]: #74
-#82 := [monotonicity #75 #79]: #81
-#97 := [monotonicity #82 #94]: #96
-#109 := [monotonicity #97 #106]: #108
-#112 := [monotonicity #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [quant-intro #115]: #117
-#51 := [asserted]: #37
-#119 := [mp #51 #118]: #116
-#191 := [mp #119 #190]: #188
-#210 := [mp~ #191 #166]: #188
-#239 := [mp #210 #238]: #236
-#270 := [mp #239 #269]: #267
-#706 := [mp #270 #705]: #701
-#62 := -3::Int
+#94 := [monotonicity #88 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#106 := [quant-intro #103]: #105
+#141 := [trans #106 #139]: #140
+#84 := [asserted]: #37
+#142 := [mp #84 #141]: #137
+#191 := [mp~ #142 #200]: #137
+#222 := [mp #191 #221]: #219
+#253 := [mp #222 #252]: #250
+#749 := [mp #253 #748]: #744
+#75 := -3::Int
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
-#59 := (f3 #9 -1::Int)
-#65 := (= #59 -3::Int)
-#68 := (not #65)
+#72 := (f3 #9 -1::Int)
+#78 := (= #72 -3::Int)
+#81 := (not #78)
 #13 := (- 3::Int)
 #10 := 1::Int
 #11 := (- 1::Int)
 #12 := (f3 #9 #11)
 #14 := (= #12 #13)
 #15 := (not #14)
-#69 := (iff #15 #68)
-#66 := (iff #14 #65)
-#63 := (= #13 -3::Int)
-#64 := [rewrite]: #63
-#60 := (= #12 #59)
-#57 := (= #11 -1::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#70 := [monotonicity #67]: #69
-#50 := [asserted]: #15
-#71 := [mp #50 #70]: #68
-#624 := (not #701)
-#616 := (or #624 #65)
-#363 := (* -1::Int -1::Int)
-#362 := (* -1::Int 3::Int)
-#695 := (div #362 #363)
-#696 := (* -1::Int #695)
-#697 := (+ #59 #696)
-#698 := (= #697 0::Int)
-#694 := (div 3::Int -1::Int)
-#351 := (* -1::Int #694)
-#481 := (+ #59 #351)
-#688 := (= #481 0::Int)
-#375 := (<= -1::Int 0::Int)
-#374 := (>= 3::Int 0::Int)
-#378 := (or #374 #375)
-#357 := (not #378)
-#364 := (<= 3::Int 0::Int)
-#376 := (or #364 #375)
-#377 := (not #376)
-#692 := (or #377 #357)
-#693 := (if #692 #688 #698)
-#373 := (= #59 0::Int)
-#371 := (= -1::Int 0::Int)
-#287 := (= 3::Int 0::Int)
-#372 := (or #287 #371)
-#699 := (if #372 #373 #693)
-#613 := (or #624 #699)
-#625 := (iff #613 #616)
-#627 := (iff #616 #616)
-#623 := [rewrite]: #627
-#635 := (iff #699 #65)
-#539 := (if false #373 #65)
-#634 := (iff #539 #65)
-#631 := [rewrite]: #634
-#540 := (iff #699 #539)
-#537 := (iff #693 #65)
-#518 := (if false #65 #65)
-#536 := (iff #518 #65)
-#529 := [rewrite]: #536
-#533 := (iff #693 #518)
-#630 := (iff #698 #65)
-#658 := (+ 3::Int #59)
-#502 := (= #658 0::Int)
-#646 := (iff #502 #65)
-#647 := [rewrite]: #646
-#534 := (iff #698 #502)
-#484 := (= #697 #658)
-#657 := (+ #59 3::Int)
-#659 := (= #657 #658)
-#654 := [rewrite]: #659
-#524 := (= #697 #657)
-#641 := (= #696 3::Int)
-#379 := (* -1::Int -3::Int)
-#662 := (= #379 3::Int)
-#666 := [rewrite]: #662
-#640 := (= #696 #379)
-#637 := (= #695 -3::Int)
-#651 := (div -3::Int 1::Int)
-#483 := (= #651 -3::Int)
-#636 := [rewrite]: #483
-#480 := (= #695 #651)
-#650 := (= #363 1::Int)
-#644 := [rewrite]: #650
-#643 := (= #362 -3::Int)
-#649 := [rewrite]: #643
-#482 := [monotonicity #649 #644]: #480
-#639 := [trans #482 #636]: #637
-#638 := [monotonicity #639]: #640
-#523 := [trans #638 #666]: #641
-#525 := [monotonicity #523]: #524
-#632 := [trans #525 #654]: #484
-#629 := [monotonicity #632]: #534
-#633 := [trans #629 #647]: #630
-#648 := (iff #688 #65)
-#503 := (iff #688 #502)
-#660 := (= #481 #658)
-#652 := (= #481 #657)
-#655 := (= #351 3::Int)
-#661 := (= #351 #379)
-#663 := (= #694 -3::Int)
-#664 := [rewrite]: #663
-#665 := [monotonicity #664]: #661
-#656 := [trans #665 #666]: #655
-#653 := [monotonicity #656]: #652
-#501 := [trans #653 #654]: #660
-#645 := [monotonicity #501]: #503
-#642 := [trans #645 #647]: #648
-#384 := (iff #692 false)
-#350 := (or false false)
-#675 := (iff #350 false)
-#338 := [rewrite]: #675
-#382 := (iff #692 #350)
-#668 := (iff #357 false)
-#1 := true
-#325 := (not true)
-#684 := (iff #325 false)
-#687 := [rewrite]: #684
-#667 := (iff #357 #325)
-#392 := (iff #378 true)
-#398 := (or true true)
-#669 := (iff #398 true)
-#670 := [rewrite]: #669
-#399 := (iff #378 #398)
-#678 := (iff #375 true)
-#679 := [rewrite]: #678
-#396 := (iff #374 true)
-#397 := [rewrite]: #396
-#293 := [monotonicity #397 #679]: #399
-#393 := [trans #293 #670]: #392
-#671 := [monotonicity #393]: #667
-#672 := [trans #671 #687]: #668
-#673 := (iff #377 false)
-#326 := (iff #377 #325)
-#683 := (iff #376 true)
-#680 := (or false true)
-#682 := (iff #680 true)
-#320 := [rewrite]: #682
-#681 := (iff #376 #680)
-#341 := (iff #364 false)
-#677 := [rewrite]: #341
-#676 := [monotonicity #677 #679]: #681
-#685 := [trans #676 #320]: #683
-#686 := [monotonicity #685]: #326
-#674 := [trans #686 #687]: #673
-#383 := [monotonicity #674 #672]: #382
-#385 := [trans #383 #338]: #384
-#535 := [monotonicity #385 #642 #633]: #533
-#538 := [trans #535 #529]: #537
-#339 := (iff #372 false)
-#691 := (iff #372 #350)
-#354 := (iff #371 false)
-#690 := [rewrite]: #354
-#689 := (iff #287 false)
-#349 := [rewrite]: #689
-#334 := [monotonicity #349 #690]: #691
-#340 := [trans #334 #338]: #339
-#541 := [monotonicity #340 #538]: #540
-#622 := [trans #541 #631]: #635
-#626 := [monotonicity #622]: #625
-#628 := [trans #626 #623]: #625
-#615 := [quant-inst #8 #56]: #613
-#617 := [mp #615 #628]: #616
-[unit-resolution #617 #71 #706]: false
-fa2287cb3b9cb63c17ef33b8c249637d75072d26 364 0
-unsat
+#82 := (iff #15 #81)
+#79 := (iff #14 #78)
+#76 := (= #13 -3::Int)
+#77 := [rewrite]: #76
+#73 := (= #12 #72)
+#70 := (= #11 -1::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80]: #82
+#68 := [asserted]: #15
+#86 := [mp #68 #83]: #81
+#667 := (not #744)
+#659 := (or #667 #78)
+#406 := (* -1::Int -1::Int)
+#405 := (* -1::Int 3::Int)
+#738 := (div #405 #406)
+#739 := (* -1::Int #738)
+#740 := (+ #72 #739)
+#741 := (= #740 0::Int)
+#737 := (div 3::Int -1::Int)
+#394 := (* -1::Int #737)
+#524 := (+ #72 #394)
+#731 := (= #524 0::Int)
+#418 := (<= -1::Int 0::Int)
+#417 := (>= 3::Int 0::Int)
+#421 := (or #417 #418)
+#400 := (not #421)
+#407 := (<= 3::Int 0::Int)
+#419 := (or #407 #418)
+#420 := (not #419)
+#735 := (or #420 #400)
+#736 := (if #735 #731 #741)
+#416 := (= #72 0::Int)
+#414 := (= -1::Int 0::Int)
+#330 := (= 3::Int 0::Int)
+#415 := (or #330 #414)
+#742 := (if #415 #416 #736)
+#656 := (or #667 #742)
+#668 := (iff #656 #659)
+#670 := (iff #659 #659)
+#666 := [rewrite]: #670
+#678 := (iff #742 #78)
+#582 := (if false #416 #78)
+#677 := (iff #582 #78)
+#674 := [rewrite]: #677
+#583 := (iff #742 #582)
+#580 := (iff #736 #78)
+#561 := (if false #78 #78)
+#579 := (iff #561 #78)
+#572 := [rewrite]: #579
+#576 := (iff #736 #561)
+#673 := (iff #741 #78)
+#701 := (+ 3::Int #72)
+#545 := (= #701 0::Int)
+#689 := (iff #545 #78)
+#690 := [rewrite]: #689
+#577 := (iff #741 #545)
+#527 := (= #740 #701)
+#700 := (+ #72 3::Int)
+#702 := (= #700 #701)
+#697 := [rewrite]: #702
+#567 := (= #740 #700)
+#684 := (= #739 3::Int)
+#422 := (* -1::Int -3::Int)
+#705 := (= #422 3::Int)
+#709 := [rewrite]: #705
+#683 := (= #739 #422)
+#680 := (= #738 -3::Int)
+#694 := (div -3::Int 1::Int)
+#526 := (= #694 -3::Int)
+#679 := [rewrite]: #526
+#523 := (= #738 #694)
+#693 := (= #406 1::Int)
+#687 := [rewrite]: #693
+#686 := (= #405 -3::Int)
+#692 := [rewrite]: #686
+#525 := [monotonicity #692 #687]: #523
+#682 := [trans #525 #679]: #680
+#681 := [monotonicity #682]: #683
+#566 := [trans #681 #709]: #684
+#568 := [monotonicity #566]: #567
+#675 := [trans #568 #697]: #527
+#672 := [monotonicity #675]: #577
+#676 := [trans #672 #690]: #673
+#691 := (iff #731 #78)
+#546 := (iff #731 #545)
+#703 := (= #524 #701)
+#695 := (= #524 #700)
+#698 := (= #394 3::Int)
+#704 := (= #394 #422)
+#706 := (= #737 -3::Int)
+#707 := [rewrite]: #706
+#708 := [monotonicity #707]: #704
+#699 := [trans #708 #709]: #698
+#696 := [monotonicity #699]: #695
+#544 := [trans #696 #697]: #703
+#688 := [monotonicity #544]: #546
+#685 := [trans #688 #690]: #691
+#427 := (iff #735 false)
+#393 := (or false false)
+#718 := (iff #393 false)
+#381 := [rewrite]: #718
+#425 := (iff #735 #393)
+#711 := (iff #400 false)
+#1 := true
+#368 := (not true)
+#727 := (iff #368 false)
+#730 := [rewrite]: #727
+#710 := (iff #400 #368)
+#435 := (iff #421 true)
+#441 := (or true true)
+#712 := (iff #441 true)
+#713 := [rewrite]: #712
+#442 := (iff #421 #441)
+#721 := (iff #418 true)
+#722 := [rewrite]: #721
+#439 := (iff #417 true)
+#440 := [rewrite]: #439
+#336 := [monotonicity #440 #722]: #442
+#436 := [trans #336 #713]: #435
+#714 := [monotonicity #436]: #710
+#715 := [trans #714 #730]: #711
+#716 := (iff #420 false)
+#369 := (iff #420 #368)
+#726 := (iff #419 true)
+#723 := (or false true)
+#725 := (iff #723 true)
+#363 := [rewrite]: #725
+#724 := (iff #419 #723)
+#384 := (iff #407 false)
+#720 := [rewrite]: #384
+#719 := [monotonicity #720 #722]: #724
+#728 := [trans #719 #363]: #726
+#729 := [monotonicity #728]: #369
+#717 := [trans #729 #730]: #716
+#426 := [monotonicity #717 #715]: #425
+#428 := [trans #426 #381]: #427
+#578 := [monotonicity #428 #685 #676]: #576
+#581 := [trans #578 #572]: #580
+#382 := (iff #415 false)
+#734 := (iff #415 #393)
+#397 := (iff #414 false)
+#733 := [rewrite]: #397
+#732 := (iff #330 false)
+#392 := [rewrite]: #732
+#377 := [monotonicity #392 #733]: #734
+#383 := [trans #377 #381]: #382
+#584 := [monotonicity #383 #581]: #583
+#665 := [trans #584 #674]: #678
+#669 := [monotonicity #665]: #668
+#671 := [trans #669 #666]: #668
+#658 := [quant-inst #8 #69]: #656
+#660 := [mp #658 #671]: #659
+[unit-resolution #660 #86 #749]: false
+unsat
+b30615473f23884eeaa7af098b5437e95d4b87b1 349 0
 #2 := false
 #20 := 0::Int
 #10 := 1::Int
 decl f6 :: Int
 #8 := f6
-#56 := -1::Int
-#62 := (* -1::Int f6)
-#671 := (div #62 1::Int)
-#669 := (* -1::Int #671)
+#69 := -1::Int
+#75 := (* -1::Int f6)
+#716 := (div #75 1::Int)
+#714 := (* -1::Int #716)
 decl f3 :: (-> S2 Int Int)
 decl f4 :: (-> S3 Int S2)
 decl f5 :: S3
 #7 := f5
 #9 := (f4 f5 f6)
-#59 := (f3 #9 -1::Int)
-#674 := (+ #59 #669)
-#648 := (<= #674 0::Int)
-#665 := (= #674 0::Int)
-#380 := (= f6 0::Int)
-#531 := (not #380)
-#384 := (<= f6 0::Int)
-#635 := [hypothesis]: #380
-#631 := (or #531 #384)
-#636 := [th-lemma arith triangle-eq]: #631
-#625 := [unit-resolution #636 #635]: #384
-#167 := (+ f6 #59)
-#295 := (<= #167 0::Int)
-#626 := (not #295)
-#379 := (>= #167 0::Int)
-#365 := (>= f6 0::Int)
-#641 := (not #665)
-#646 := (>= #674 0::Int)
-#578 := (not #646)
-#587 := (not #379)
-#588 := [hypothesis]: #587
-#579 := (or #578 #379)
-#586 := [hypothesis]: #646
-#622 := (+ f6 #671)
-#619 := (>= #622 0::Int)
-#629 := (= #622 0::Int)
-#1 := true
-#164 := [true-axiom]: true
-#589 := (or false #629)
-#590 := [th-lemma arith]: #589
-#585 := [unit-resolution #590 #164]: #629
-#591 := (not #629)
-#577 := (or #591 #619)
-#573 := [th-lemma arith triangle-eq]: #577
-#574 := [unit-resolution #573 #585]: #619
-#575 := [th-lemma arith farkas 1 -1 1 #574 #588 #586]: false
-#580 := [lemma #575]: #579
-#545 := [unit-resolution #580 #588]: #578
-#549 := (or #641 #646)
-#546 := [th-lemma arith triangle-eq]: #549
-#547 := [unit-resolution #546 #545]: #641
-#639 := (or #380 #665)
-#383 := (= #59 0::Int)
-#653 := (if #380 #383 #665)
+#72 := (f3 #9 -1::Int)
+#719 := (+ #72 #714)
+#693 := (<= #719 0::Int)
+#710 := (= #719 0::Int)
+#425 := (= f6 0::Int)
+#576 := (not #425)
+#429 := (<= f6 0::Int)
+#617 := [hypothesis]: #425
+#597 := (or #576 #429)
+#543 := [th-lemma arith triangle-eq]: #597
+#598 := [unit-resolution #543 #617]: #429
+#84 := (+ f6 #72)
+#340 := (<= #84 0::Int)
+#579 := (not #340)
+#424 := (>= #84 0::Int)
+#410 := (>= f6 0::Int)
+#686 := (not #710)
+#691 := (>= #719 0::Int)
+#623 := (not #691)
+#632 := (not #424)
+#633 := [hypothesis]: #632
+#624 := (or #623 #424)
+#631 := [hypothesis]: #691
+#667 := (+ f6 #716)
+#664 := (>= #667 0::Int)
+#674 := (= #667 0::Int)
+#1 := true
+#66 := [true-axiom]: true
+#634 := (or false #674)
+#635 := [th-lemma arith]: #634
+#630 := [unit-resolution #635 #66]: #674
+#636 := (not #674)
+#622 := (or #636 #664)
+#618 := [th-lemma arith triangle-eq]: #622
+#619 := [unit-resolution #618 #630]: #664
+#620 := [th-lemma arith farkas 1 -1 1 #619 #633 #631]: false
+#625 := [lemma #620]: #624
+#663 := [unit-resolution #625 #633]: #623
+#626 := (or #686 #691)
+#621 := [th-lemma arith triangle-eq]: #626
+#627 := [unit-resolution #621 #663]: #686
+#601 := (or #425 #710)
+#428 := (= #72 0::Int)
+#698 := (if #425 #428 #710)
 #18 := (:var 0 Int)
 #16 := (:var 1 Int)
 #17 := (f4 f5 #16)
 #19 := (f3 #17 #18)
-#708 := (pattern #19)
-#101 := (* -1::Int #18)
-#98 := (* -1::Int #16)
-#104 := (div #98 #101)
-#268 := (* -1::Int #104)
-#269 := (+ #19 #268)
-#270 := (= #269 0::Int)
+#753 := (pattern #19)
+#98 := (* -1::Int #18)
+#95 := (* -1::Int #16)
+#101 := (div #95 #98)
+#252 := (* -1::Int #101)
+#253 := (+ #19 #252)
+#254 := (= #253 0::Int)
 #30 := (div #16 #18)
-#265 := (* -1::Int #30)
-#266 := (+ #19 #265)
-#267 := (= #266 0::Int)
-#76 := (<= #18 0::Int)
-#175 := (>= #16 0::Int)
-#228 := (or #175 #76)
-#229 := (not #228)
-#72 := (<= #16 0::Int)
-#224 := (or #72 #76)
-#225 := (not #224)
-#232 := (or #225 #229)
-#271 := (if #232 #267 #270)
-#264 := (= #19 0::Int)
+#249 := (* -1::Int #30)
+#250 := (+ #19 #249)
+#251 := (= #250 0::Int)
+#120 := (<= #18 0::Int)
+#127 := (>= #16 0::Int)
+#212 := (or #127 #120)
+#213 := (not #212)
+#116 := (<= #16 0::Int)
+#210 := (or #116 #120)
+#211 := (not #210)
+#216 := (or #211 #213)
+#255 := (if #216 #251 #254)
+#248 := (= #19 0::Int)
 #22 := (= #18 0::Int)
 #21 := (= #16 0::Int)
 #23 := (or #21 #22)
-#272 := (if #23 #264 #271)
-#709 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #708) #272)
-#275 := (forall (vars (?v0 Int) (?v1 Int)) #272)
-#712 := (iff #275 #709)
-#710 := (iff #272 #272)
-#711 := [refl]: #710
-#713 := [quant-intro #711]: #712
-#235 := (if #232 #30 #104)
-#238 := (if #23 0::Int #235)
-#241 := (= #19 #238)
-#244 := (forall (vars (?v0 Int) (?v1 Int)) #241)
-#276 := (iff #244 #275)
-#273 := (iff #241 #272)
-#274 := [rewrite]: #273
-#277 := [quant-intro #274]: #276
-#77 := (not #76)
-#178 := (not #175)
-#181 := (and #178 #77)
-#73 := (not #72)
-#80 := (and #73 #77)
-#184 := (or #80 #181)
-#187 := (if #184 #30 #104)
-#190 := (if #23 0::Int #187)
-#193 := (= #19 #190)
-#196 := (forall (vars (?v0 Int) (?v1 Int)) #193)
-#245 := (iff #196 #244)
-#242 := (iff #193 #241)
-#239 := (= #190 #238)
-#236 := (= #187 #235)
-#233 := (iff #184 #232)
-#230 := (iff #181 #229)
-#231 := [rewrite]: #230
-#226 := (iff #80 #225)
-#227 := [rewrite]: #226
-#234 := [monotonicity #227 #231]: #233
-#237 := [monotonicity #234]: #236
-#240 := [monotonicity #237]: #239
-#243 := [monotonicity #240]: #242
-#246 := [quant-intro #243]: #245
-#218 := (~ #196 #196)
-#220 := (~ #193 #193)
-#221 := [refl]: #220
-#219 := [nnf-pos #221]: #218
-#83 := (<= 0::Int #16)
-#84 := (not #83)
-#92 := (and #84 #77)
-#95 := (or #80 #92)
-#107 := (if #95 #30 #104)
-#110 := (if #23 0::Int #107)
-#113 := (= #19 #110)
-#116 := (forall (vars (?v0 Int) (?v1 Int)) #113)
-#197 := (iff #116 #196)
-#194 := (iff #113 #193)
-#191 := (= #110 #190)
-#188 := (= #107 #187)
-#185 := (iff #95 #184)
-#182 := (iff #92 #181)
-#179 := (iff #84 #178)
-#176 := (iff #83 #175)
-#177 := [rewrite]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [monotonicity #189]: #191
-#195 := [monotonicity #192]: #194
-#198 := [quant-intro #195]: #197
+#256 := (if #23 #248 #255)
+#754 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #753) #256)
+#259 := (forall (vars (?v0 Int) (?v1 Int)) #256)
+#757 := (iff #259 #754)
+#755 := (iff #256 #256)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#219 := (if #216 #30 #101)
+#222 := (if #23 0::Int #219)
+#225 := (= #19 #222)
+#228 := (forall (vars (?v0 Int) (?v1 Int)) #225)
+#260 := (iff #228 #259)
+#257 := (iff #225 #256)
+#258 := [rewrite]: #257
+#261 := [quant-intro #258]: #260
+#121 := (not #120)
+#128 := (not #127)
+#131 := (and #128 #121)
+#117 := (not #116)
+#124 := (and #117 #121)
+#134 := (or #124 #131)
+#137 := (if #134 #30 #101)
+#140 := (if #23 0::Int #137)
+#143 := (= #19 #140)
+#146 := (forall (vars (?v0 Int) (?v1 Int)) #143)
+#229 := (iff #146 #228)
+#226 := (iff #143 #225)
+#223 := (= #140 #222)
+#220 := (= #137 #219)
+#217 := (iff #134 #216)
+#214 := (iff #131 #213)
+#215 := [rewrite]: #214
+#204 := (iff #124 #211)
+#205 := [rewrite]: #204
+#218 := [monotonicity #205 #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [quant-intro #227]: #229
+#208 := (~ #146 #146)
+#206 := (~ #143 #143)
+#207 := [refl]: #206
+#209 := [nnf-pos #207]: #208
 #32 := (- #18)
 #31 := (- #16)
 #33 := (div #31 #32)
@@ -28832,205 +26827,214 @@
 #35 := (if #23 0::Int #34)
 #36 := (= #19 #35)
 #37 := (forall (vars (?v0 Int) (?v1 Int)) #36)
-#117 := (iff #37 #116)
-#114 := (iff #36 #113)
-#111 := (= #35 #110)
-#108 := (= #34 #107)
-#105 := (= #33 #104)
-#102 := (= #32 #101)
-#103 := [rewrite]: #102
-#99 := (= #31 #98)
+#149 := (iff #37 #146)
+#104 := (if #29 #30 #101)
+#107 := (if #23 0::Int #104)
+#110 := (= #19 #107)
+#113 := (forall (vars (?v0 Int) (?v1 Int)) #110)
+#147 := (iff #113 #146)
+#144 := (iff #110 #143)
+#141 := (= #107 #140)
+#138 := (= #104 #137)
+#135 := (iff #29 #134)
+#132 := (iff #28 #131)
+#122 := (iff #25 #121)
+#123 := [rewrite]: #122
+#129 := (iff #27 #128)
+#130 := [rewrite]: #129
+#133 := [monotonicity #130 #123]: #132
+#125 := (iff #26 #124)
+#118 := (iff #24 #117)
+#119 := [rewrite]: #118
+#126 := [monotonicity #119 #123]: #125
+#136 := [monotonicity #126 #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [quant-intro #145]: #147
+#114 := (iff #37 #113)
+#111 := (iff #36 #110)
+#108 := (= #35 #107)
+#105 := (= #34 #104)
+#102 := (= #33 #101)
+#99 := (= #32 #98)
 #100 := [rewrite]: #99
-#106 := [monotonicity #100 #103]: #105
-#96 := (iff #29 #95)
-#93 := (iff #28 #92)
-#78 := (iff #25 #77)
-#79 := [rewrite]: #78
-#85 := (iff #27 #84)
-#89 := (iff #84 #84)
-#87 := (iff #83 #83)
-#88 := [rewrite]: #87
-#90 := [monotonicity #88]: #89
-#86 := [rewrite]: #85
-#91 := [trans #86 #90]: #85
-#94 := [monotonicity #91 #79]: #93
-#81 := (iff #26 #80)
-#74 := (iff #24 #73)
-#75 := [rewrite]: #74
-#82 := [monotonicity #75 #79]: #81
-#97 := [monotonicity #82 #94]: #96
-#109 := [monotonicity #97 #106]: #108
+#96 := (= #31 #95)
+#97 := [rewrite]: #96
+#103 := [monotonicity #97 #100]: #102
+#106 := [monotonicity #103]: #105
+#109 := [monotonicity #106]: #108
 #112 := [monotonicity #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [quant-intro #115]: #117
-#51 := [asserted]: #37
-#119 := [mp #51 #118]: #116
-#199 := [mp #119 #198]: #196
-#165 := [mp~ #199 #219]: #196
-#247 := [mp #165 #246]: #244
-#278 := [mp #247 #277]: #275
-#714 := [mp #278 #713]: #709
-#656 := (not #709)
-#650 := (or #656 #653)
-#703 := (* -1::Int -1::Int)
-#704 := (div #62 #703)
-#705 := (* -1::Int #704)
-#706 := (+ #59 #705)
-#701 := (= #706 0::Int)
-#489 := (div f6 -1::Int)
-#696 := (* -1::Int #489)
-#370 := (+ #59 #696)
-#371 := (= #370 0::Int)
-#385 := (<= -1::Int 0::Int)
-#700 := (or #365 #385)
-#702 := (not #700)
-#382 := (or #384 #385)
-#386 := (not #382)
-#359 := (or #386 #702)
-#707 := (if #359 #371 #701)
-#381 := (= -1::Int 0::Int)
-#372 := (or #380 #381)
-#697 := (if #372 #383 #707)
-#651 := (or #656 #697)
-#658 := (iff #651 #650)
-#659 := (iff #650 #650)
-#488 := [rewrite]: #659
-#654 := (iff #697 #653)
-#510 := (iff #707 #665)
-#666 := (if false #371 #665)
-#668 := (iff #666 #665)
-#509 := [rewrite]: #668
-#667 := (iff #707 #666)
-#660 := (iff #701 #665)
-#663 := (= #706 #674)
-#673 := (= #705 #669)
-#672 := (= #704 #671)
-#392 := (= #703 1::Int)
-#393 := [rewrite]: #392
-#387 := [monotonicity #393]: #672
-#670 := [monotonicity #387]: #673
-#664 := [monotonicity #670]: #663
-#661 := [monotonicity #664]: #660
-#390 := (iff #359 false)
-#401 := (or false false)
-#676 := (iff #401 false)
-#680 := [rewrite]: #676
-#675 := (iff #359 #401)
-#678 := (iff #702 false)
-#328 := (not true)
-#333 := (iff #328 false)
-#334 := [rewrite]: #333
-#301 := (iff #702 #328)
-#406 := (iff #700 true)
-#695 := (or #365 true)
-#404 := (iff #695 true)
-#405 := [rewrite]: #404
-#681 := (iff #700 #695)
-#348 := (iff #385 true)
-#349 := [rewrite]: #348
-#682 := [monotonicity #349]: #681
-#407 := [trans #682 #405]: #406
-#677 := [monotonicity #407]: #301
-#400 := [trans #677 #334]: #678
-#694 := (iff #386 false)
-#691 := (iff #386 #328)
-#684 := (iff #382 true)
-#685 := (or #384 true)
-#688 := (iff #685 true)
-#689 := [rewrite]: #688
-#686 := (iff #382 #685)
-#687 := [monotonicity #349]: #686
-#690 := [trans #687 #689]: #684
-#693 := [monotonicity #690]: #691
-#692 := [trans #693 #334]: #694
-#679 := [monotonicity #692 #400]: #675
-#391 := [trans #679 #680]: #390
-#662 := [monotonicity #391 #661]: #667
-#511 := [trans #662 #509]: #510
-#346 := (iff #372 #380)
-#698 := (or #380 false)
-#342 := (iff #698 #380)
-#683 := [rewrite]: #342
-#358 := (iff #372 #698)
-#357 := (iff #381 false)
-#362 := [rewrite]: #357
-#699 := [monotonicity #362]: #358
-#347 := [trans #699 #683]: #346
-#655 := [monotonicity #347 #511]: #654
-#652 := [monotonicity #655]: #658
-#490 := [trans #652 #488]: #658
-#657 := [quant-inst #8 #56]: #651
-#491 := [mp #657 #490]: #650
-#548 := [unit-resolution #491 #714]: #653
-#649 := (not #653)
-#492 := (or #649 #380 #665)
-#640 := [def-axiom]: #492
-#643 := [unit-resolution #640 #548]: #639
-#615 := [unit-resolution #643 #547]: #380
-#620 := (or #531 #365)
-#606 := [th-lemma arith triangle-eq]: #620
-#607 := [unit-resolution #606 #615]: #365
-#645 := (>= #59 0::Int)
-#609 := (or #531 #383)
-#532 := (or #649 #531 #383)
-#533 := [def-axiom]: #532
-#610 := [unit-resolution #533 #548]: #609
-#611 := [unit-resolution #610 #615]: #383
-#542 := (not #383)
-#630 := (or #542 #645)
-#632 := [th-lemma arith triangle-eq]: #630
-#623 := [unit-resolution #632 #611]: #645
-#633 := [th-lemma arith farkas 1 -1 1 #623 #588 #607]: false
-#634 := [lemma #633]: #379
-#613 := (or #626 #587)
-#168 := (= #167 0::Int)
-#171 := (not #168)
-#65 := (= #59 #62)
-#68 := (not #65)
-#172 := (iff #68 #171)
-#169 := (iff #65 #168)
-#170 := [rewrite]: #169
-#173 := [monotonicity #170]: #172
+#115 := [quant-intro #112]: #114
+#150 := [trans #115 #148]: #149
+#94 := [asserted]: #37
+#151 := [mp #94 #150]: #146
+#200 := [mp~ #151 #209]: #146
+#231 := [mp #200 #230]: #228
+#262 := [mp #231 #261]: #259
+#759 := [mp #262 #758]: #754
+#701 := (not #754)
+#695 := (or #701 #698)
+#748 := (* -1::Int -1::Int)
+#749 := (div #75 #748)
+#750 := (* -1::Int #749)
+#751 := (+ #72 #750)
+#746 := (= #751 0::Int)
+#534 := (div f6 -1::Int)
+#741 := (* -1::Int #534)
+#415 := (+ #72 #741)
+#416 := (= #415 0::Int)
+#430 := (<= -1::Int 0::Int)
+#745 := (or #410 #430)
+#747 := (not #745)
+#427 := (or #429 #430)
+#431 := (not #427)
+#404 := (or #431 #747)
+#752 := (if #404 #416 #746)
+#426 := (= -1::Int 0::Int)
+#417 := (or #425 #426)
+#742 := (if #417 #428 #752)
+#696 := (or #701 #742)
+#703 := (iff #696 #695)
+#704 := (iff #695 #695)
+#533 := [rewrite]: #704
+#699 := (iff #742 #698)
+#555 := (iff #752 #710)
+#711 := (if false #416 #710)
+#713 := (iff #711 #710)
+#554 := [rewrite]: #713
+#712 := (iff #752 #711)
+#705 := (iff #746 #710)
+#708 := (= #751 #719)
+#718 := (= #750 #714)
+#717 := (= #749 #716)
+#437 := (= #748 1::Int)
+#438 := [rewrite]: #437
+#432 := [monotonicity #438]: #717
+#715 := [monotonicity #432]: #718
+#709 := [monotonicity #715]: #708
+#706 := [monotonicity #709]: #705
+#435 := (iff #404 false)
+#446 := (or false false)
+#721 := (iff #446 false)
+#725 := [rewrite]: #721
+#720 := (iff #404 #446)
+#723 := (iff #747 false)
+#373 := (not true)
+#378 := (iff #373 false)
+#379 := [rewrite]: #378
+#346 := (iff #747 #373)
+#451 := (iff #745 true)
+#740 := (or #410 true)
+#449 := (iff #740 true)
+#450 := [rewrite]: #449
+#726 := (iff #745 #740)
+#393 := (iff #430 true)
+#394 := [rewrite]: #393
+#727 := [monotonicity #394]: #726
+#452 := [trans #727 #450]: #451
+#722 := [monotonicity #452]: #346
+#445 := [trans #722 #379]: #723
+#739 := (iff #431 false)
+#736 := (iff #431 #373)
+#729 := (iff #427 true)
+#730 := (or #429 true)
+#733 := (iff #730 true)
+#734 := [rewrite]: #733
+#731 := (iff #427 #730)
+#732 := [monotonicity #394]: #731
+#735 := [trans #732 #734]: #729
+#738 := [monotonicity #735]: #736
+#737 := [trans #738 #379]: #739
+#724 := [monotonicity #737 #445]: #720
+#436 := [trans #724 #725]: #435
+#707 := [monotonicity #436 #706]: #712
+#556 := [trans #707 #554]: #555
+#391 := (iff #417 #425)
+#743 := (or #425 false)
+#387 := (iff #743 #425)
+#728 := [rewrite]: #387
+#403 := (iff #417 #743)
+#402 := (iff #426 false)
+#407 := [rewrite]: #402
+#744 := [monotonicity #407]: #403
+#392 := [trans #744 #728]: #391
+#700 := [monotonicity #392 #556]: #699
+#697 := [monotonicity #700]: #703
+#535 := [trans #697 #533]: #703
+#702 := [quant-inst #8 #69]: #696
+#536 := [mp #702 #535]: #695
+#600 := [unit-resolution #536 #759]: #698
+#694 := (not #698)
+#537 := (or #694 #425 #710)
+#685 := [def-axiom]: #537
+#602 := [unit-resolution #685 #600]: #601
+#495 := [unit-resolution #602 #627]: #425
+#606 := (or #576 #410)
+#607 := [th-lemma arith triangle-eq]: #606
+#608 := [unit-resolution #607 #495]: #410
+#690 := (>= #72 0::Int)
+#613 := (or #576 #428)
+#577 := (or #694 #576 #428)
+#578 := [def-axiom]: #577
+#609 := [unit-resolution #578 #600]: #613
+#610 := [unit-resolution #609 #495]: #428
+#587 := (not #428)
+#611 := (or #587 #690)
+#614 := [th-lemma arith triangle-eq]: #611
+#615 := [unit-resolution #614 #610]: #690
+#616 := [th-lemma arith farkas 1 -1 1 #615 #633 #608]: false
+#612 := [lemma #616]: #424
+#599 := (or #579 #632)
+#85 := (= #84 0::Int)
+#88 := (not #85)
 #13 := (- f6)
 #11 := (- 1::Int)
 #12 := (f3 #9 #11)
 #14 := (= #12 #13)
 #15 := (not #14)
-#69 := (iff #15 #68)
-#66 := (iff #14 #65)
-#63 := (= #13 #62)
-#64 := [rewrite]: #63
-#60 := (= #12 #59)
-#57 := (= #11 -1::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#70 := [monotonicity #67]: #69
-#50 := [asserted]: #15
-#71 := [mp #50 #70]: #68
-#174 := [mp #71 #173]: #171
-#627 := (or #168 #626 #587)
-#628 := [th-lemma arith triangle-eq]: #627
-#614 := [unit-resolution #628 #174]: #613
-#616 := [unit-resolution #614 #634]: #626
-#644 := (<= #59 0::Int)
-#617 := [unit-resolution #610 #635]: #383
-#618 := (or #542 #644)
-#581 := [th-lemma arith triangle-eq]: #618
-#576 := [unit-resolution #581 #617]: #644
-#582 := [th-lemma arith farkas 1 -1 1 #576 #616 #625]: false
-#555 := [lemma #582]: #531
-#539 := [unit-resolution #643 #555]: #665
-#540 := (or #641 #648)
-#550 := [th-lemma arith triangle-eq]: #540
-#530 := [unit-resolution #550 #539]: #648
-#563 := (<= #622 0::Int)
-#551 := (or #591 #563)
-#506 := [th-lemma arith triangle-eq]: #551
-#507 := [unit-resolution #506 #585]: #563
-[th-lemma arith farkas 1 -1 1 #507 #616 #530]: false
-0fa0312c612ec397b0cce6b0237bbb9cfd628037 289 0
-unsat
+#91 := (iff #15 #88)
+#78 := (= #72 #75)
+#81 := (not #78)
+#89 := (iff #81 #88)
+#86 := (iff #78 #85)
+#87 := [rewrite]: #86
+#90 := [monotonicity #87]: #89
+#82 := (iff #15 #81)
+#79 := (iff #14 #78)
+#76 := (= #13 #75)
+#77 := [rewrite]: #76
+#73 := (= #12 #72)
+#70 := (= #11 -1::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80]: #82
+#92 := [trans #83 #90]: #91
+#68 := [asserted]: #15
+#93 := [mp #68 #92]: #88
+#603 := (or #85 #579 #632)
+#604 := [th-lemma arith triangle-eq]: #603
+#605 := [unit-resolution #604 #93]: #599
+#573 := [unit-resolution #605 #612]: #579
+#689 := (<= #72 0::Int)
+#580 := [unit-resolution #609 #617]: #428
+#539 := (or #587 #689)
+#570 := [th-lemma arith triangle-eq]: #539
+#572 := [unit-resolution #570 #580]: #689
+#574 := [th-lemma arith farkas 1 -1 1 #572 #573 #598]: false
+#581 := [lemma #574]: #576
+#584 := [unit-resolution #602 #581]: #710
+#585 := (or #686 #693)
+#595 := [th-lemma arith triangle-eq]: #585
+#575 := [unit-resolution #595 #584]: #693
+#583 := (<= #667 0::Int)
+#596 := (or #636 #583)
+#551 := [th-lemma arith triangle-eq]: #596
+#552 := [unit-resolution #551 #630]: #583
+[th-lemma arith farkas 1 -1 1 #552 #573 #575]: false
+unsat
+f75a5bc3547a7074f0c9531c7810228e69e7b130 273 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -29040,99 +27044,75 @@
 #7 := f5
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#683 := (pattern #17)
+#726 := (pattern #17)
 #8 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #16)
-#80 := (* -1::Int #14)
-#86 := (div #80 #83)
-#242 := (* -1::Int #86)
-#243 := (+ #17 #242)
-#244 := (= #243 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #16)
+#68 := (* -1::Int #14)
+#74 := (div #68 #71)
+#225 := (* -1::Int #74)
+#226 := (+ #17 #225)
+#227 := (= #226 0::Int)
 #27 := (div #14 #16)
-#239 := (* -1::Int #27)
-#240 := (+ #17 #239)
-#241 := (= #240 0::Int)
-#57 := (<= #16 0::Int)
-#149 := (>= #14 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #14 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#245 := (if #206 #241 #244)
-#238 := (= #17 0::Int)
+#222 := (* -1::Int #27)
+#223 := (+ #17 #222)
+#224 := (= #223 0::Int)
+#93 := (<= #16 0::Int)
+#100 := (>= #14 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #14 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#228 := (if #189 #224 #227)
+#221 := (= #17 0::Int)
 #19 := (= #16 0::Int)
 #18 := (= #14 0::Int)
 #20 := (or #18 #19)
-#246 := (if #20 #238 #245)
-#684 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #683) #246)
-#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
-#687 := (iff #249 #684)
-#685 := (iff #246 #246)
-#686 := [refl]: #685
-#688 := [quant-intro #686]: #687
-#209 := (if #206 #27 #86)
-#212 := (if #20 0::Int #209)
-#215 := (= #17 #212)
-#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
-#250 := (iff #218 #249)
-#247 := (iff #215 #246)
-#248 := [rewrite]: #247
-#251 := [quant-intro #248]: #250
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#161 := (if #158 #27 #86)
-#164 := (if #20 0::Int #161)
-#167 := (= #17 #164)
-#170 := (forall (vars (?v0 Int) (?v1 Int)) #167)
-#219 := (iff #170 #218)
-#216 := (iff #167 #215)
-#213 := (= #164 #212)
-#210 := (= #161 #209)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#211 := [monotonicity #208]: #210
-#214 := [monotonicity #211]: #213
-#217 := [monotonicity #214]: #216
-#220 := [quant-intro #217]: #219
-#194 := (~ #170 #170)
-#192 := (~ #167 #167)
-#193 := [refl]: #192
-#195 := [nnf-pos #193]: #194
-#64 := (<= 0::Int #14)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#89 := (if #76 #27 #86)
-#92 := (if #20 0::Int #89)
-#95 := (= #17 #92)
-#98 := (forall (vars (?v0 Int) (?v1 Int)) #95)
-#171 := (iff #98 #170)
-#168 := (iff #95 #167)
-#165 := (= #92 #164)
-#162 := (= #89 #161)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [monotonicity #163]: #165
-#169 := [monotonicity #166]: #168
-#172 := [quant-intro #169]: #171
+#229 := (if #20 #221 #228)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #229)
+#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
+#730 := (iff #232 #727)
+#728 := (iff #229 #229)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#192 := (if #189 #27 #74)
+#195 := (if #20 0::Int #192)
+#198 := (= #17 #195)
+#201 := (forall (vars (?v0 Int) (?v1 Int)) #198)
+#233 := (iff #201 #232)
+#230 := (iff #198 #229)
+#231 := [rewrite]: #230
+#234 := [quant-intro #231]: #233
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (if #107 #27 #74)
+#113 := (if #20 0::Int #110)
+#116 := (= #17 #113)
+#119 := (forall (vars (?v0 Int) (?v1 Int)) #116)
+#202 := (iff #119 #201)
+#199 := (iff #116 #198)
+#196 := (= #113 #195)
+#193 := (= #110 #192)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#194 := [monotonicity #191]: #193
+#197 := [monotonicity #194]: #196
+#200 := [monotonicity #197]: #199
+#203 := [quant-intro #200]: #202
+#181 := (~ #119 #119)
+#179 := (~ #116 #116)
+#180 := [refl]: #179
+#182 := [nnf-pos #180]: #181
 #29 := (- #16)
 #28 := (- #14)
 #30 := (div #28 #29)
@@ -29146,181 +27126,189 @@
 #32 := (if #20 0::Int #31)
 #33 := (= #17 #32)
 #34 := (forall (vars (?v0 Int) (?v1 Int)) #33)
-#99 := (iff #34 #98)
-#96 := (iff #33 #95)
-#93 := (= #32 #92)
-#90 := (= #31 #89)
-#87 := (= #30 #86)
-#84 := (= #29 #83)
-#85 := [rewrite]: #84
-#81 := (= #28 #80)
-#82 := [rewrite]: #81
-#88 := [monotonicity #82 #85]: #87
-#77 := (iff #26 #76)
-#74 := (iff #25 #73)
-#59 := (iff #22 #58)
-#60 := [rewrite]: #59
-#66 := (iff #24 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #23 #61)
-#55 := (iff #21 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#91 := [monotonicity #78 #88]: #90
-#94 := [monotonicity #91]: #93
-#97 := [monotonicity #94]: #96
-#100 := [quant-intro #97]: #99
-#48 := [asserted]: #34
-#101 := [mp #48 #100]: #98
-#173 := [mp #101 #172]: #170
-#147 := [mp~ #173 #195]: #170
-#221 := [mp #147 #220]: #218
-#252 := [mp #221 #251]: #249
-#689 := [mp #252 #688]: #684
+#122 := (iff #34 #119)
+#77 := (if #26 #27 #74)
+#80 := (if #20 0::Int #77)
+#83 := (= #17 #80)
+#86 := (forall (vars (?v0 Int) (?v1 Int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #26 #107)
+#105 := (iff #25 #104)
+#95 := (iff #22 #94)
+#96 := [rewrite]: #95
+#102 := (iff #24 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #23 #97)
+#91 := (iff #21 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #34 #86)
+#84 := (iff #33 #83)
+#81 := (= #32 #80)
+#78 := (= #31 #77)
+#75 := (= #30 #74)
+#72 := (= #29 #71)
+#73 := [rewrite]: #72
+#69 := (= #28 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#66 := [asserted]: #34
+#124 := [mp #66 #123]: #119
+#173 := [mp~ #124 #182]: #119
+#204 := [mp #173 #203]: #201
+#235 := [mp #204 #234]: #232
+#732 := [mp #235 #731]: #727
 #10 := 3::Int
 #9 := (f4 f5 0::Int)
 #11 := (f3 #9 3::Int)
 #12 := (= #11 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#501 := (not #684)
-#516 := (or #501 #12)
-#345 := (* -1::Int 3::Int)
-#671 := (* -1::Int 0::Int)
-#346 := (div #671 #345)
-#678 := (* -1::Int #346)
-#679 := (+ #11 #678)
-#680 := (= #679 0::Int)
-#675 := (div 0::Int 3::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 3::Int 0::Int)
-#360 := (>= 0::Int 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#356 := (<= 0::Int 0::Int)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#681 := (if #340 #464 #680)
-#354 := (= 3::Int 0::Int)
-#269 := (= 0::Int 0::Int)
-#355 := (or #269 #354)
-#676 := (if #355 #12 #681)
-#518 := (or #501 #676)
-#512 := (iff #518 #516)
-#521 := (iff #516 #516)
-#522 := [rewrite]: #521
-#613 := (iff #676 #12)
-#1 := true
-#508 := (if true #12 #12)
-#517 := (iff #508 #12)
-#612 := [rewrite]: #517
-#467 := (iff #676 #508)
-#506 := (iff #681 #12)
-#620 := (if false #12 #12)
-#621 := (iff #620 #12)
-#624 := [rewrite]: #621
-#622 := (iff #681 #620)
-#466 := (iff #680 #12)
-#463 := (= #679 #11)
-#648 := (+ #11 0::Int)
-#638 := (= #648 #11)
-#639 := [rewrite]: #638
-#627 := (= #679 #648)
-#632 := (= #678 0::Int)
-#646 := (= #671 0::Int)
-#647 := [rewrite]: #646
-#625 := (= #678 #671)
-#630 := (= #346 0::Int)
-#642 := -3::Int
-#484 := (div 0::Int -3::Int)
-#628 := (= #484 0::Int)
-#629 := [rewrite]: #628
-#485 := (= #346 #484)
-#637 := (= #345 -3::Int)
-#643 := [rewrite]: #637
-#486 := [monotonicity #647 #643]: #485
-#631 := [trans #486 #629]: #630
-#626 := [monotonicity #631]: #625
-#633 := [trans #626 #647]: #632
-#634 := [monotonicity #633]: #627
-#465 := [trans #634 #639]: #463
-#619 := [monotonicity #465]: #466
-#636 := (iff #464 #12)
-#640 := (= #334 #11)
-#645 := (= #334 #648)
-#362 := (= #677 0::Int)
-#367 := (= #677 #671)
-#365 := (= #675 0::Int)
-#366 := [rewrite]: #365
-#368 := [monotonicity #366]: #367
-#644 := [trans #368 #647]: #362
-#649 := [monotonicity #644]: #645
-#635 := [trans #649 #639]: #640
-#641 := [monotonicity #635]: #636
-#651 := (iff #340 false)
-#653 := (or false false)
-#650 := (iff #653 false)
-#654 := [rewrite]: #650
-#375 := (iff #340 #653)
-#275 := (iff #361 false)
-#665 := (not true)
-#668 := (iff #665 false)
-#308 := [rewrite]: #668
-#381 := (iff #361 #665)
-#379 := (iff #357 true)
-#673 := (or true false)
-#317 := (iff #673 true)
-#658 := [rewrite]: #317
-#656 := (iff #357 #673)
-#660 := (iff #347 false)
-#661 := [rewrite]: #660
-#667 := (iff #360 true)
-#670 := [rewrite]: #667
-#657 := [monotonicity #670 #661]: #656
-#380 := [trans #657 #658]: #379
-#382 := [monotonicity #380]: #381
-#652 := [trans #382 #308]: #275
-#309 := (iff #359 false)
-#303 := (iff #359 #665)
-#664 := (iff #358 true)
-#662 := (iff #358 #673)
-#323 := (iff #356 true)
-#324 := [rewrite]: #323
-#663 := [monotonicity #324 #661]: #662
-#659 := [trans #663 #658]: #664
-#666 := [monotonicity #659]: #303
-#669 := [trans #666 #308]: #309
-#376 := [monotonicity #669 #652]: #375
-#655 := [trans #376 #654]: #651
-#623 := [monotonicity #655 #641 #619]: #622
-#507 := [trans #623 #624]: #506
-#321 := (iff #355 true)
-#333 := (iff #355 #673)
-#332 := (iff #354 false)
-#337 := [rewrite]: #332
-#682 := (iff #269 true)
-#672 := [rewrite]: #682
-#674 := [monotonicity #672 #337]: #333
-#322 := [trans #674 #658]: #321
-#615 := [monotonicity #322 #507]: #467
-#616 := [trans #615 #612]: #613
-#520 := [monotonicity #616]: #512
-#523 := [trans #520 #522]: #512
-#519 := [quant-inst #8 #10]: #518
-#524 := [mp #519 #523]: #516
-[unit-resolution #524 #47 #689]: false
-1b013ef09ce577cd8e25f770ced5ed59077a626b 305 0
-unsat
+#65 := [asserted]: #13
+#544 := (not #727)
+#559 := (or #544 #12)
+#388 := (* -1::Int 3::Int)
+#714 := (* -1::Int 0::Int)
+#389 := (div #714 #388)
+#721 := (* -1::Int #389)
+#722 := (+ #11 #721)
+#723 := (= #722 0::Int)
+#718 := (div 0::Int 3::Int)
+#720 := (* -1::Int #718)
+#377 := (+ #11 #720)
+#507 := (= #377 0::Int)
+#390 := (<= 3::Int 0::Int)
+#403 := (>= 0::Int 0::Int)
+#400 := (or #403 #390)
+#404 := (not #400)
+#399 := (<= 0::Int 0::Int)
+#401 := (or #399 #390)
+#402 := (not #401)
+#383 := (or #402 #404)
+#724 := (if #383 #507 #723)
+#397 := (= 3::Int 0::Int)
+#313 := (= 0::Int 0::Int)
+#398 := (or #313 #397)
+#719 := (if #398 #12 #724)
+#561 := (or #544 #719)
+#555 := (iff #561 #559)
+#564 := (iff #559 #559)
+#565 := [rewrite]: #564
+#656 := (iff #719 #12)
+#1 := true
+#551 := (if true #12 #12)
+#560 := (iff #551 #12)
+#655 := [rewrite]: #560
+#510 := (iff #719 #551)
+#549 := (iff #724 #12)
+#663 := (if false #12 #12)
+#664 := (iff #663 #12)
+#667 := [rewrite]: #664
+#665 := (iff #724 #663)
+#509 := (iff #723 #12)
+#506 := (= #722 #11)
+#691 := (+ #11 0::Int)
+#681 := (= #691 #11)
+#682 := [rewrite]: #681
+#670 := (= #722 #691)
+#675 := (= #721 0::Int)
+#689 := (= #714 0::Int)
+#690 := [rewrite]: #689
+#668 := (= #721 #714)
+#673 := (= #389 0::Int)
+#685 := -3::Int
+#527 := (div 0::Int -3::Int)
+#671 := (= #527 0::Int)
+#672 := [rewrite]: #671
+#528 := (= #389 #527)
+#680 := (= #388 -3::Int)
+#686 := [rewrite]: #680
+#529 := [monotonicity #690 #686]: #528
+#674 := [trans #529 #672]: #673
+#669 := [monotonicity #674]: #668
+#676 := [trans #669 #690]: #675
+#677 := [monotonicity #676]: #670
+#508 := [trans #677 #682]: #506
+#662 := [monotonicity #508]: #509
+#679 := (iff #507 #12)
+#683 := (= #377 #11)
+#688 := (= #377 #691)
+#405 := (= #720 0::Int)
+#410 := (= #720 #714)
+#408 := (= #718 0::Int)
+#409 := [rewrite]: #408
+#411 := [monotonicity #409]: #410
+#687 := [trans #411 #690]: #405
+#692 := [monotonicity #687]: #688
+#678 := [trans #692 #682]: #683
+#684 := [monotonicity #678]: #679
+#694 := (iff #383 false)
+#696 := (or false false)
+#693 := (iff #696 false)
+#697 := [rewrite]: #693
+#418 := (iff #383 #696)
+#319 := (iff #404 false)
+#708 := (not true)
+#711 := (iff #708 false)
+#351 := [rewrite]: #711
+#424 := (iff #404 #708)
+#422 := (iff #400 true)
+#716 := (or true false)
+#360 := (iff #716 true)
+#701 := [rewrite]: #360
+#699 := (iff #400 #716)
+#703 := (iff #390 false)
+#704 := [rewrite]: #703
+#710 := (iff #403 true)
+#713 := [rewrite]: #710
+#700 := [monotonicity #713 #704]: #699
+#423 := [trans #700 #701]: #422
+#425 := [monotonicity #423]: #424
+#695 := [trans #425 #351]: #319
+#352 := (iff #402 false)
+#346 := (iff #402 #708)
+#707 := (iff #401 true)
+#705 := (iff #401 #716)
+#366 := (iff #399 true)
+#367 := [rewrite]: #366
+#706 := [monotonicity #367 #704]: #705
+#702 := [trans #706 #701]: #707
+#709 := [monotonicity #702]: #346
+#712 := [trans #709 #351]: #352
+#419 := [monotonicity #712 #695]: #418
+#698 := [trans #419 #697]: #694
+#666 := [monotonicity #698 #684 #662]: #665
+#550 := [trans #666 #667]: #549
+#364 := (iff #398 true)
+#376 := (iff #398 #716)
+#375 := (iff #397 false)
+#380 := [rewrite]: #375
+#725 := (iff #313 true)
+#715 := [rewrite]: #725
+#717 := [monotonicity #715 #380]: #376
+#365 := [trans #717 #701]: #364
+#658 := [monotonicity #365 #550]: #510
+#659 := [trans #658 #655]: #656
+#563 := [monotonicity #659]: #555
+#566 := [trans #563 #565]: #555
+#562 := [quant-inst #8 #10]: #561
+#567 := [mp #562 #566]: #559
+[unit-resolution #567 #65 #732]: false
+unsat
+3a037a6da2a34725e2878597eed3b279d726e286 289 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -29330,99 +27318,75 @@
 #7 := f5
 #16 := (f4 f5 #15)
 #18 := (f3 #16 #17)
-#697 := (pattern #18)
+#740 := (pattern #18)
 #8 := 0::Int
-#93 := -1::Int
-#97 := (* -1::Int #17)
-#94 := (* -1::Int #15)
-#100 := (div #94 #97)
-#256 := (* -1::Int #100)
-#257 := (+ #18 #256)
-#258 := (= #257 0::Int)
+#80 := -1::Int
+#85 := (* -1::Int #17)
+#82 := (* -1::Int #15)
+#88 := (div #82 #85)
+#239 := (* -1::Int #88)
+#240 := (+ #18 #239)
+#241 := (= #240 0::Int)
 #28 := (div #15 #17)
-#253 := (* -1::Int #28)
-#254 := (+ #18 #253)
-#255 := (= #254 0::Int)
-#71 := (<= #17 0::Int)
-#163 := (>= #15 0::Int)
-#216 := (or #163 #71)
-#217 := (not #216)
-#67 := (<= #15 0::Int)
-#212 := (or #67 #71)
-#213 := (not #212)
-#220 := (or #213 #217)
-#259 := (if #220 #255 #258)
-#252 := (= #18 0::Int)
+#236 := (* -1::Int #28)
+#237 := (+ #18 #236)
+#238 := (= #237 0::Int)
+#107 := (<= #17 0::Int)
+#114 := (>= #15 0::Int)
+#199 := (or #114 #107)
+#200 := (not #199)
+#103 := (<= #15 0::Int)
+#197 := (or #103 #107)
+#198 := (not #197)
+#203 := (or #198 #200)
+#242 := (if #203 #238 #241)
+#235 := (= #18 0::Int)
 #20 := (= #17 0::Int)
 #19 := (= #15 0::Int)
 #21 := (or #19 #20)
-#260 := (if #21 #252 #259)
-#698 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #697) #260)
-#263 := (forall (vars (?v0 Int) (?v1 Int)) #260)
-#701 := (iff #263 #698)
-#699 := (iff #260 #260)
-#700 := [refl]: #699
-#702 := [quant-intro #700]: #701
-#223 := (if #220 #28 #100)
-#226 := (if #21 0::Int #223)
-#229 := (= #18 #226)
-#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
-#264 := (iff #232 #263)
-#261 := (iff #229 #260)
-#262 := [rewrite]: #261
-#265 := [quant-intro #262]: #264
-#72 := (not #71)
-#166 := (not #163)
-#169 := (and #166 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#172 := (or #75 #169)
-#175 := (if #172 #28 #100)
-#178 := (if #21 0::Int #175)
-#181 := (= #18 #178)
-#184 := (forall (vars (?v0 Int) (?v1 Int)) #181)
-#233 := (iff #184 #232)
-#230 := (iff #181 #229)
-#227 := (= #178 #226)
-#224 := (= #175 #223)
-#221 := (iff #172 #220)
-#218 := (iff #169 #217)
-#219 := [rewrite]: #218
-#214 := (iff #75 #213)
-#215 := [rewrite]: #214
-#222 := [monotonicity #215 #219]: #221
-#225 := [monotonicity #222]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [quant-intro #231]: #233
-#206 := (~ #184 #184)
-#208 := (~ #181 #181)
-#209 := [refl]: #208
-#207 := [nnf-pos #209]: #206
-#78 := (<= 0::Int #15)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#103 := (if #90 #28 #100)
-#106 := (if #21 0::Int #103)
-#109 := (= #18 #106)
-#112 := (forall (vars (?v0 Int) (?v1 Int)) #109)
-#185 := (iff #112 #184)
-#182 := (iff #109 #181)
-#179 := (= #106 #178)
-#176 := (= #103 #175)
-#173 := (iff #90 #172)
-#170 := (iff #87 #169)
-#167 := (iff #79 #166)
-#164 := (iff #78 #163)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [quant-intro #183]: #185
+#243 := (if #21 #235 #242)
+#741 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #740) #243)
+#246 := (forall (vars (?v0 Int) (?v1 Int)) #243)
+#744 := (iff #246 #741)
+#742 := (iff #243 #243)
+#743 := [refl]: #742
+#745 := [quant-intro #743]: #744
+#206 := (if #203 #28 #88)
+#209 := (if #21 0::Int #206)
+#212 := (= #18 #209)
+#215 := (forall (vars (?v0 Int) (?v1 Int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#108 := (not #107)
+#115 := (not #114)
+#118 := (and #115 #108)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#124 := (if #121 #28 #88)
+#127 := (if #21 0::Int #124)
+#130 := (= #18 #127)
+#133 := (forall (vars (?v0 Int) (?v1 Int)) #130)
+#216 := (iff #133 #215)
+#213 := (iff #130 #212)
+#210 := (= #127 #209)
+#207 := (= #124 #206)
+#204 := (iff #121 #203)
+#201 := (iff #118 #200)
+#202 := [rewrite]: #201
+#191 := (iff #111 #198)
+#192 := [rewrite]: #191
+#205 := [monotonicity #192 #202]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#195 := (~ #133 #133)
+#193 := (~ #130 #130)
+#194 := [refl]: #193
+#196 := [nnf-pos #194]: #195
 #30 := (- #17)
 #29 := (- #15)
 #31 := (div #29 #30)
@@ -29436,197 +27400,205 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #18 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#113 := (iff #35 #112)
-#110 := (iff #34 #109)
-#107 := (= #33 #106)
-#104 := (= #32 #103)
-#101 := (= #31 #100)
-#98 := (= #30 #97)
-#99 := [rewrite]: #98
-#95 := (= #29 #94)
-#96 := [rewrite]: #95
-#102 := [monotonicity #96 #99]: #101
-#91 := (iff #27 #90)
-#88 := (iff #26 #87)
-#73 := (iff #23 #72)
-#74 := [rewrite]: #73
-#80 := (iff #25 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
-#83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #24 #75)
-#69 := (iff #22 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#105 := [monotonicity #92 #102]: #104
-#108 := [monotonicity #105]: #107
-#111 := [monotonicity #108]: #110
-#114 := [quant-intro #111]: #113
-#49 := [asserted]: #35
-#115 := [mp #49 #114]: #112
-#187 := [mp #115 #186]: #184
-#204 := [mp~ #187 #207]: #184
-#235 := [mp #204 #234]: #232
-#266 := [mp #235 #265]: #263
-#703 := [mp #266 #702]: #698
-#54 := -3::Int
+#136 := (iff #35 #133)
+#91 := (if #27 #28 #88)
+#94 := (if #21 0::Int #91)
+#97 := (= #18 #94)
+#100 := (forall (vars (?v0 Int) (?v1 Int)) #97)
+#134 := (iff #100 #133)
+#131 := (iff #97 #130)
+#128 := (= #94 #127)
+#125 := (= #91 #124)
+#122 := (iff #27 #121)
+#119 := (iff #26 #118)
+#109 := (iff #23 #108)
+#110 := [rewrite]: #109
+#116 := (iff #25 #115)
+#117 := [rewrite]: #116
+#120 := [monotonicity #117 #110]: #119
+#112 := (iff #24 #111)
+#105 := (iff #22 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#126 := [monotonicity #123]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [quant-intro #132]: #134
+#101 := (iff #35 #100)
+#98 := (iff #34 #97)
+#95 := (= #33 #94)
+#92 := (= #32 #91)
+#89 := (= #31 #88)
+#86 := (= #30 #85)
+#87 := [rewrite]: #86
+#83 := (= #29 #82)
+#84 := [rewrite]: #83
+#90 := [monotonicity #84 #87]: #89
+#93 := [monotonicity #90]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [quant-intro #99]: #101
+#137 := [trans #102 #135]: #136
+#79 := [asserted]: #35
+#138 := [mp #79 #137]: #133
+#187 := [mp~ #138 #196]: #133
+#218 := [mp #187 #217]: #215
+#249 := [mp #218 #248]: #246
+#746 := [mp #249 #745]: #741
+#67 := -3::Int
 #9 := (f4 f5 0::Int)
-#57 := (f3 #9 -3::Int)
-#60 := (= #57 0::Int)
-#63 := (not #60)
+#70 := (f3 #9 -3::Int)
+#73 := (= #70 0::Int)
+#76 := (not #73)
 #10 := 3::Int
 #11 := (- 3::Int)
 #12 := (f3 #9 #11)
 #13 := (= #12 0::Int)
 #14 := (not #13)
-#64 := (iff #14 #63)
-#61 := (iff #13 #60)
-#58 := (= #12 #57)
-#55 := (= #11 -3::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #14
-#66 := [mp #48 #65]: #63
-#532 := (not #698)
-#533 := (or #532 #60)
-#359 := (* -1::Int -3::Int)
-#685 := (* -1::Int 0::Int)
-#360 := (div #685 #359)
-#692 := (* -1::Int #360)
-#693 := (+ #57 #692)
-#694 := (= #693 0::Int)
-#689 := (div 0::Int -3::Int)
-#691 := (* -1::Int #689)
-#348 := (+ #57 #691)
-#478 := (= #348 0::Int)
-#361 := (<= -3::Int 0::Int)
-#374 := (>= 0::Int 0::Int)
-#371 := (or #374 #361)
-#375 := (not #371)
-#370 := (<= 0::Int 0::Int)
-#372 := (or #370 #361)
-#373 := (not #372)
-#354 := (or #373 #375)
-#695 := (if #354 #478 #694)
-#368 := (= -3::Int 0::Int)
-#283 := (= 0::Int 0::Int)
-#369 := (or #283 #368)
-#690 := (if #369 #60 #695)
-#526 := (or #532 #690)
-#535 := (iff #526 #533)
-#537 := (iff #533 #533)
-#538 := [rewrite]: #537
-#515 := (iff #690 #60)
-#1 := true
-#629 := (if true #60 #60)
-#627 := (iff #629 #60)
-#630 := [rewrite]: #627
-#531 := (iff #690 #629)
-#522 := (iff #695 #60)
-#637 := (if false #60 #60)
-#520 := (iff #637 #60)
-#521 := [rewrite]: #520
-#635 := (iff #695 #637)
-#634 := (iff #694 #60)
-#480 := (= #693 #57)
-#652 := (+ #57 0::Int)
-#649 := (= #652 #57)
-#650 := [rewrite]: #649
-#477 := (= #693 #652)
-#641 := (= #692 0::Int)
-#658 := (= #685 0::Int)
-#662 := [rewrite]: #658
-#646 := (= #692 #685)
-#639 := (= #360 0::Int)
-#500 := (div 0::Int 3::Int)
-#644 := (= #500 0::Int)
-#645 := [rewrite]: #644
-#642 := (= #360 #500)
-#498 := (= #359 3::Int)
-#499 := [rewrite]: #498
-#643 := [monotonicity #662 #499]: #642
-#640 := [trans #643 #645]: #639
-#647 := [monotonicity #640]: #646
-#648 := [trans #647 #662]: #641
-#479 := [monotonicity #648]: #477
-#633 := [trans #479 #650]: #480
-#636 := [monotonicity #633]: #634
-#651 := (iff #478 #60)
-#655 := (= #348 #57)
-#653 := (= #348 #652)
-#659 := (= #691 0::Int)
-#661 := (= #691 #685)
-#382 := (= #689 0::Int)
-#660 := [rewrite]: #382
-#376 := [monotonicity #660]: #661
-#663 := [trans #376 #662]: #659
-#654 := [monotonicity #663]: #653
-#656 := [trans #654 #650]: #655
-#657 := [monotonicity #656]: #651
-#380 := (iff #354 false)
-#664 := (or false false)
-#669 := (iff #664 false)
-#379 := [rewrite]: #669
-#668 := (iff #354 #664)
-#389 := (iff #375 false)
-#682 := (not true)
-#683 := (iff #682 false)
-#681 := [rewrite]: #683
-#666 := (iff #375 #682)
-#396 := (iff #371 true)
-#676 := (or true true)
-#673 := (iff #676 true)
-#679 := [rewrite]: #673
-#394 := (iff #371 #676)
-#674 := (iff #361 true)
-#675 := [rewrite]: #674
-#671 := (iff #374 true)
-#393 := [rewrite]: #671
-#395 := [monotonicity #393 #675]: #394
-#289 := [trans #395 #679]: #396
-#667 := [monotonicity #289]: #666
-#390 := [trans #667 #681]: #389
-#684 := (iff #373 false)
-#322 := (iff #373 #682)
-#317 := (iff #372 true)
-#677 := (iff #372 #676)
-#337 := (iff #370 true)
-#338 := [rewrite]: #337
-#678 := [monotonicity #338 #675]: #677
-#680 := [trans #678 #679]: #317
-#323 := [monotonicity #680]: #322
-#670 := [trans #323 #681]: #684
-#665 := [monotonicity #670 #390]: #668
-#381 := [trans #665 #379]: #380
-#638 := [monotonicity #381 #657 #636]: #635
-#481 := [trans #638 #521]: #522
-#335 := (iff #369 true)
-#687 := (or true false)
-#331 := (iff #687 true)
-#672 := [rewrite]: #331
-#347 := (iff #369 #687)
-#346 := (iff #368 false)
-#351 := [rewrite]: #346
-#696 := (iff #283 true)
-#686 := [rewrite]: #696
-#688 := [monotonicity #686 #351]: #347
-#336 := [trans #688 #672]: #335
-#626 := [monotonicity #336 #481]: #531
-#530 := [trans #626 #630]: #515
-#536 := [monotonicity #530]: #535
-#631 := [trans #536 #538]: #535
-#534 := [quant-inst #8 #54]: #526
-#628 := [mp #534 #631]: #533
-[unit-resolution #628 #66 #703]: false
-6382d5aff89219a8ada90f5d3d58d36cd0bdab6f 306 0
-unsat
+#77 := (iff #14 #76)
+#74 := (iff #13 #73)
+#71 := (= #12 #70)
+#68 := (= #11 -3::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #14
+#81 := [mp #66 #78]: #76
+#575 := (not #741)
+#576 := (or #575 #73)
+#402 := (* -1::Int -3::Int)
+#728 := (* -1::Int 0::Int)
+#403 := (div #728 #402)
+#735 := (* -1::Int #403)
+#736 := (+ #70 #735)
+#737 := (= #736 0::Int)
+#732 := (div 0::Int -3::Int)
+#734 := (* -1::Int #732)
+#391 := (+ #70 #734)
+#521 := (= #391 0::Int)
+#404 := (<= -3::Int 0::Int)
+#417 := (>= 0::Int 0::Int)
+#414 := (or #417 #404)
+#418 := (not #414)
+#413 := (<= 0::Int 0::Int)
+#415 := (or #413 #404)
+#416 := (not #415)
+#397 := (or #416 #418)
+#738 := (if #397 #521 #737)
+#411 := (= -3::Int 0::Int)
+#327 := (= 0::Int 0::Int)
+#412 := (or #327 #411)
+#733 := (if #412 #73 #738)
+#569 := (or #575 #733)
+#578 := (iff #569 #576)
+#580 := (iff #576 #576)
+#581 := [rewrite]: #580
+#558 := (iff #733 #73)
+#1 := true
+#672 := (if true #73 #73)
+#670 := (iff #672 #73)
+#673 := [rewrite]: #670
+#574 := (iff #733 #672)
+#565 := (iff #738 #73)
+#680 := (if false #73 #73)
+#563 := (iff #680 #73)
+#564 := [rewrite]: #563
+#678 := (iff #738 #680)
+#677 := (iff #737 #73)
+#523 := (= #736 #70)
+#695 := (+ #70 0::Int)
+#692 := (= #695 #70)
+#693 := [rewrite]: #692
+#520 := (= #736 #695)
+#684 := (= #735 0::Int)
+#701 := (= #728 0::Int)
+#705 := [rewrite]: #701
+#689 := (= #735 #728)
+#682 := (= #403 0::Int)
+#543 := (div 0::Int 3::Int)
+#687 := (= #543 0::Int)
+#688 := [rewrite]: #687
+#685 := (= #403 #543)
+#541 := (= #402 3::Int)
+#542 := [rewrite]: #541
+#686 := [monotonicity #705 #542]: #685
+#683 := [trans #686 #688]: #682
+#690 := [monotonicity #683]: #689
+#691 := [trans #690 #705]: #684
+#522 := [monotonicity #691]: #520
+#676 := [trans #522 #693]: #523
+#679 := [monotonicity #676]: #677
+#694 := (iff #521 #73)
+#698 := (= #391 #70)
+#696 := (= #391 #695)
+#702 := (= #734 0::Int)
+#704 := (= #734 #728)
+#425 := (= #732 0::Int)
+#703 := [rewrite]: #425
+#419 := [monotonicity #703]: #704
+#706 := [trans #419 #705]: #702
+#697 := [monotonicity #706]: #696
+#699 := [trans #697 #693]: #698
+#700 := [monotonicity #699]: #694
+#423 := (iff #397 false)
+#707 := (or false false)
+#712 := (iff #707 false)
+#422 := [rewrite]: #712
+#711 := (iff #397 #707)
+#432 := (iff #418 false)
+#725 := (not true)
+#726 := (iff #725 false)
+#724 := [rewrite]: #726
+#709 := (iff #418 #725)
+#439 := (iff #414 true)
+#719 := (or true true)
+#716 := (iff #719 true)
+#722 := [rewrite]: #716
+#437 := (iff #414 #719)
+#717 := (iff #404 true)
+#718 := [rewrite]: #717
+#714 := (iff #417 true)
+#436 := [rewrite]: #714
+#438 := [monotonicity #436 #718]: #437
+#333 := [trans #438 #722]: #439
+#710 := [monotonicity #333]: #709
+#433 := [trans #710 #724]: #432
+#727 := (iff #416 false)
+#365 := (iff #416 #725)
+#360 := (iff #415 true)
+#720 := (iff #415 #719)
+#380 := (iff #413 true)
+#381 := [rewrite]: #380
+#721 := [monotonicity #381 #718]: #720
+#723 := [trans #721 #722]: #360
+#366 := [monotonicity #723]: #365
+#713 := [trans #366 #724]: #727
+#708 := [monotonicity #713 #433]: #711
+#424 := [trans #708 #422]: #423
+#681 := [monotonicity #424 #700 #679]: #678
+#524 := [trans #681 #564]: #565
+#378 := (iff #412 true)
+#730 := (or true false)
+#374 := (iff #730 true)
+#715 := [rewrite]: #374
+#390 := (iff #412 #730)
+#389 := (iff #411 false)
+#394 := [rewrite]: #389
+#739 := (iff #327 true)
+#729 := [rewrite]: #739
+#731 := [monotonicity #729 #394]: #390
+#379 := [trans #731 #715]: #378
+#669 := [monotonicity #379 #524]: #574
+#573 := [trans #669 #673]: #558
+#579 := [monotonicity #573]: #578
+#674 := [trans #579 #581]: #578
+#577 := [quant-inst #8 #67]: #569
+#671 := [mp #577 #674]: #576
+[unit-resolution #671 #81 #746]: false
+unsat
+58560b4c08322ae7fbfadc81b6f10d1874a37205 290 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -29636,99 +27608,75 @@
 #7 := f5
 #16 := (f4 f5 #15)
 #18 := (f3 #16 #17)
-#683 := (pattern #18)
+#726 := (pattern #18)
 #12 := 0::Int
-#80 := -1::Int
-#84 := (* -1::Int #17)
-#81 := (* -1::Int #15)
-#87 := (div #81 #84)
-#243 := (* -1::Int #87)
-#244 := (+ #18 #243)
-#245 := (= #244 0::Int)
+#68 := -1::Int
+#72 := (* -1::Int #17)
+#69 := (* -1::Int #15)
+#75 := (div #69 #72)
+#226 := (* -1::Int #75)
+#227 := (+ #18 #226)
+#228 := (= #227 0::Int)
 #28 := (div #15 #17)
-#240 := (* -1::Int #28)
-#241 := (+ #18 #240)
-#242 := (= #241 0::Int)
-#58 := (<= #17 0::Int)
-#150 := (>= #15 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #15 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#246 := (if #207 #242 #245)
-#239 := (= #18 0::Int)
+#223 := (* -1::Int #28)
+#224 := (+ #18 #223)
+#225 := (= #224 0::Int)
+#94 := (<= #17 0::Int)
+#101 := (>= #15 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #15 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#229 := (if #190 #225 #228)
+#222 := (= #18 0::Int)
 #20 := (= #17 0::Int)
 #19 := (= #15 0::Int)
 #21 := (or #19 #20)
-#247 := (if #21 #239 #246)
-#684 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #683) #247)
-#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
-#687 := (iff #250 #684)
-#685 := (iff #247 #247)
-#686 := [refl]: #685
-#688 := [quant-intro #686]: #687
-#210 := (if #207 #28 #87)
-#213 := (if #21 0::Int #210)
-#216 := (= #18 #213)
-#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
-#251 := (iff #219 #250)
-#248 := (iff #216 #247)
-#249 := [rewrite]: #248
-#252 := [quant-intro #249]: #251
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#162 := (if #159 #28 #87)
-#165 := (if #21 0::Int #162)
-#168 := (= #18 #165)
-#171 := (forall (vars (?v0 Int) (?v1 Int)) #168)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#214 := (= #165 #213)
-#211 := (= #162 #210)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [monotonicity #212]: #214
-#218 := [monotonicity #215]: #217
-#221 := [quant-intro #218]: #220
-#195 := (~ #171 #171)
-#193 := (~ #168 #168)
-#194 := [refl]: #193
-#196 := [nnf-pos #194]: #195
-#65 := (<= 0::Int #15)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#90 := (if #77 #28 #87)
-#93 := (if #21 0::Int #90)
-#96 := (= #18 #93)
-#99 := (forall (vars (?v0 Int) (?v1 Int)) #96)
-#172 := (iff #99 #171)
-#169 := (iff #96 #168)
-#166 := (= #93 #165)
-#163 := (= #90 #162)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#164 := [monotonicity #161]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [quant-intro #170]: #172
+#230 := (if #21 #222 #229)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #230)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#730 := (iff #233 #727)
+#728 := (iff #230 #230)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#193 := (if #190 #28 #75)
+#196 := (if #21 0::Int #193)
+#199 := (= #18 #196)
+#202 := (forall (vars (?v0 Int) (?v1 Int)) #199)
+#234 := (iff #202 #233)
+#231 := (iff #199 #230)
+#232 := [rewrite]: #231
+#235 := [quant-intro #232]: #234
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (if #108 #28 #75)
+#114 := (if #21 0::Int #111)
+#117 := (= #18 #114)
+#120 := (forall (vars (?v0 Int) (?v1 Int)) #117)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#197 := (= #114 #196)
+#194 := (= #111 #193)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#195 := [monotonicity #192]: #194
+#198 := [monotonicity #195]: #197
+#201 := [monotonicity #198]: #200
+#204 := [quant-intro #201]: #203
+#182 := (~ #120 #120)
+#180 := (~ #117 #117)
+#181 := [refl]: #180
+#183 := [nnf-pos #181]: #182
 #30 := (- #17)
 #29 := (- #15)
 #31 := (div #29 #30)
@@ -29742,198 +27690,206 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #18 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#100 := (iff #35 #99)
-#97 := (iff #34 #96)
-#94 := (= #33 #93)
-#91 := (= #32 #90)
-#88 := (= #31 #87)
-#85 := (= #30 #84)
-#86 := [rewrite]: #85
-#82 := (= #29 #81)
-#83 := [rewrite]: #82
-#89 := [monotonicity #83 #86]: #88
-#78 := (iff #27 #77)
-#75 := (iff #26 #74)
-#60 := (iff #23 #59)
-#61 := [rewrite]: #60
-#67 := (iff #25 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #24 #62)
-#56 := (iff #22 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#92 := [monotonicity #79 #89]: #91
-#95 := [monotonicity #92]: #94
-#98 := [monotonicity #95]: #97
-#101 := [quant-intro #98]: #100
-#49 := [asserted]: #35
-#102 := [mp #49 #101]: #99
-#174 := [mp #102 #173]: #171
-#148 := [mp~ #174 #196]: #171
-#222 := [mp #148 #221]: #219
-#253 := [mp #222 #252]: #250
-#689 := [mp #253 #688]: #684
+#123 := (iff #35 #120)
+#78 := (if #27 #28 #75)
+#81 := (if #21 0::Int #78)
+#84 := (= #18 #81)
+#87 := (forall (vars (?v0 Int) (?v1 Int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #27 #108)
+#106 := (iff #26 #105)
+#96 := (iff #23 #95)
+#97 := [rewrite]: #96
+#103 := (iff #25 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #24 #98)
+#92 := (iff #22 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #35 #87)
+#85 := (iff #34 #84)
+#82 := (= #33 #81)
+#79 := (= #32 #78)
+#76 := (= #31 #75)
+#73 := (= #30 #72)
+#74 := [rewrite]: #73
+#70 := (= #29 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#67 := [asserted]: #35
+#125 := [mp #67 #124]: #120
+#174 := [mp~ #125 #183]: #120
+#205 := [mp #174 #204]: #202
+#236 := [mp #205 #235]: #233
+#732 := [mp #236 #731]: #727
 #10 := 3::Int
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
 #11 := (f3 #9 3::Int)
 #13 := (= #11 0::Int)
 #14 := (not #13)
-#48 := [asserted]: #14
-#596 := (not #684)
-#598 := (or #596 #13)
-#345 := (* -1::Int 3::Int)
-#671 := (* -1::Int 1::Int)
-#346 := (div #671 #345)
-#678 := (* -1::Int #346)
-#679 := (+ #11 #678)
-#680 := (= #679 0::Int)
-#675 := (div 1::Int 3::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 3::Int 0::Int)
-#360 := (>= 1::Int 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#356 := (<= 1::Int 0::Int)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#681 := (if #340 #464 #680)
-#354 := (= 3::Int 0::Int)
-#270 := (= 1::Int 0::Int)
-#355 := (or #270 #354)
-#676 := (if #355 #13 #681)
-#608 := (or #596 #676)
-#610 := (iff #608 #598)
-#611 := (iff #598 #598)
-#600 := [rewrite]: #611
-#607 := (iff #676 #13)
-#524 := (if false #13 #13)
-#618 := (iff #524 #13)
-#605 := [rewrite]: #618
-#617 := (iff #676 #524)
-#522 := (iff #681 #13)
-#612 := (= #11 1::Int)
-#1 := true
-#518 := (if true #13 #612)
-#520 := (iff #518 #13)
-#521 := [rewrite]: #520
-#519 := (iff #681 #518)
-#501 := (iff #680 #612)
-#621 := (+ -1::Int #11)
-#467 := (= #621 0::Int)
-#613 := (iff #467 #612)
-#616 := [rewrite]: #613
-#615 := (iff #680 #467)
-#507 := (= #679 #621)
-#620 := (+ #11 -1::Int)
-#624 := (= #620 #621)
-#506 := [rewrite]: #624
-#622 := (= #679 #620)
-#466 := (= #678 -1::Int)
-#485 := (= #671 -1::Int)
-#486 := [rewrite]: #485
-#463 := (= #678 #671)
-#627 := (= #346 1::Int)
-#628 := -3::Int
-#631 := (div -1::Int -3::Int)
-#632 := (= #631 1::Int)
-#633 := [rewrite]: #632
-#625 := (= #346 #631)
-#629 := (= #345 -3::Int)
-#630 := [rewrite]: #629
-#626 := [monotonicity #486 #630]: #625
-#634 := [trans #626 #633]: #627
-#465 := [monotonicity #634]: #463
-#619 := [trans #465 #486]: #466
-#623 := [monotonicity #619]: #622
-#508 := [trans #623 #506]: #507
-#517 := [monotonicity #508]: #615
-#516 := [trans #517 #616]: #501
-#643 := (iff #464 #13)
-#642 := (= #334 #11)
-#639 := (+ #11 0::Int)
-#636 := (= #639 #11)
-#641 := [rewrite]: #636
-#640 := (= #334 #639)
-#649 := (= #677 0::Int)
-#647 := (* -1::Int 0::Int)
-#648 := (= #647 0::Int)
-#645 := [rewrite]: #648
-#362 := (= #677 #647)
-#368 := (= #675 0::Int)
-#646 := [rewrite]: #368
-#644 := [monotonicity #646]: #362
-#638 := [trans #644 #645]: #649
-#635 := [monotonicity #638]: #640
-#637 := [trans #635 #641]: #642
-#484 := [monotonicity #637]: #643
-#366 := (iff #340 true)
-#656 := (or true false)
-#380 := (iff #656 true)
-#381 := [rewrite]: #380
-#655 := (iff #340 #656)
-#654 := (iff #361 false)
-#652 := (not true)
-#376 := (iff #652 false)
-#650 := [rewrite]: #376
-#653 := (iff #361 #652)
-#382 := (iff #357 true)
-#657 := (iff #357 #656)
-#660 := (iff #347 false)
-#661 := [rewrite]: #660
-#667 := (iff #360 true)
-#670 := [rewrite]: #667
-#379 := [monotonicity #670 #661]: #657
-#276 := [trans #379 #381]: #382
-#375 := [monotonicity #276]: #653
-#651 := [trans #375 #650]: #654
-#309 := (iff #359 true)
-#665 := (not false)
-#668 := (iff #665 true)
-#308 := [rewrite]: #668
-#303 := (iff #359 #665)
-#664 := (iff #358 false)
-#673 := (or false false)
-#317 := (iff #673 false)
-#658 := [rewrite]: #317
-#662 := (iff #358 #673)
-#323 := (iff #356 false)
-#324 := [rewrite]: #323
-#663 := [monotonicity #324 #661]: #662
-#659 := [trans #663 #658]: #664
-#666 := [monotonicity #659]: #303
-#669 := [trans #666 #308]: #309
-#365 := [monotonicity #669 #651]: #655
-#367 := [trans #365 #381]: #366
-#512 := [monotonicity #367 #484 #516]: #519
-#523 := [trans #512 #521]: #522
-#321 := (iff #355 false)
-#333 := (iff #355 #673)
-#332 := (iff #354 false)
-#337 := [rewrite]: #332
-#682 := (iff #270 false)
-#672 := [rewrite]: #682
-#674 := [monotonicity #672 #337]: #333
-#322 := [trans #674 #658]: #321
-#614 := [monotonicity #322 #523]: #617
-#599 := [trans #614 #605]: #607
-#606 := [monotonicity #599]: #610
-#601 := [trans #606 #600]: #610
-#609 := [quant-inst #8 #10]: #608
-#602 := [mp #609 #601]: #598
-[unit-resolution #602 #48 #689]: false
-edcd41cd053f07265d5fea261f85739d8063959d 296 0
-unsat
+#66 := [asserted]: #14
+#639 := (not #727)
+#641 := (or #639 #13)
+#388 := (* -1::Int 3::Int)
+#714 := (* -1::Int 1::Int)
+#389 := (div #714 #388)
+#721 := (* -1::Int #389)
+#722 := (+ #11 #721)
+#723 := (= #722 0::Int)
+#718 := (div 1::Int 3::Int)
+#720 := (* -1::Int #718)
+#377 := (+ #11 #720)
+#507 := (= #377 0::Int)
+#390 := (<= 3::Int 0::Int)
+#403 := (>= 1::Int 0::Int)
+#400 := (or #403 #390)
+#404 := (not #400)
+#399 := (<= 1::Int 0::Int)
+#401 := (or #399 #390)
+#402 := (not #401)
+#383 := (or #402 #404)
+#724 := (if #383 #507 #723)
+#397 := (= 3::Int 0::Int)
+#313 := (= 1::Int 0::Int)
+#398 := (or #313 #397)
+#719 := (if #398 #13 #724)
+#651 := (or #639 #719)
+#653 := (iff #651 #641)
+#654 := (iff #641 #641)
+#643 := [rewrite]: #654
+#650 := (iff #719 #13)
+#567 := (if false #13 #13)
+#661 := (iff #567 #13)
+#648 := [rewrite]: #661
+#660 := (iff #719 #567)
+#565 := (iff #724 #13)
+#655 := (= #11 1::Int)
+#1 := true
+#561 := (if true #13 #655)
+#563 := (iff #561 #13)
+#564 := [rewrite]: #563
+#562 := (iff #724 #561)
+#544 := (iff #723 #655)
+#664 := (+ -1::Int #11)
+#510 := (= #664 0::Int)
+#656 := (iff #510 #655)
+#659 := [rewrite]: #656
+#658 := (iff #723 #510)
+#550 := (= #722 #664)
+#663 := (+ #11 -1::Int)
+#667 := (= #663 #664)
+#549 := [rewrite]: #667
+#665 := (= #722 #663)
+#509 := (= #721 -1::Int)
+#528 := (= #714 -1::Int)
+#529 := [rewrite]: #528
+#506 := (= #721 #714)
+#670 := (= #389 1::Int)
+#671 := -3::Int
+#674 := (div -1::Int -3::Int)
+#675 := (= #674 1::Int)
+#676 := [rewrite]: #675
+#668 := (= #389 #674)
+#672 := (= #388 -3::Int)
+#673 := [rewrite]: #672
+#669 := [monotonicity #529 #673]: #668
+#677 := [trans #669 #676]: #670
+#508 := [monotonicity #677]: #506
+#662 := [trans #508 #529]: #509
+#666 := [monotonicity #662]: #665
+#551 := [trans #666 #549]: #550
+#560 := [monotonicity #551]: #658
+#559 := [trans #560 #659]: #544
+#686 := (iff #507 #13)
+#685 := (= #377 #11)
+#682 := (+ #11 0::Int)
+#679 := (= #682 #11)
+#684 := [rewrite]: #679
+#683 := (= #377 #682)
+#692 := (= #720 0::Int)
+#690 := (* -1::Int 0::Int)
+#691 := (= #690 0::Int)
+#688 := [rewrite]: #691
+#405 := (= #720 #690)
+#411 := (= #718 0::Int)
+#689 := [rewrite]: #411
+#687 := [monotonicity #689]: #405
+#681 := [trans #687 #688]: #692
+#678 := [monotonicity #681]: #683
+#680 := [trans #678 #684]: #685
+#527 := [monotonicity #680]: #686
+#409 := (iff #383 true)
+#699 := (or true false)
+#423 := (iff #699 true)
+#424 := [rewrite]: #423
+#698 := (iff #383 #699)
+#697 := (iff #404 false)
+#695 := (not true)
+#419 := (iff #695 false)
+#693 := [rewrite]: #419
+#696 := (iff #404 #695)
+#425 := (iff #400 true)
+#700 := (iff #400 #699)
+#703 := (iff #390 false)
+#704 := [rewrite]: #703
+#710 := (iff #403 true)
+#713 := [rewrite]: #710
+#422 := [monotonicity #713 #704]: #700
+#319 := [trans #422 #424]: #425
+#418 := [monotonicity #319]: #696
+#694 := [trans #418 #693]: #697
+#352 := (iff #402 true)
+#708 := (not false)
+#711 := (iff #708 true)
+#351 := [rewrite]: #711
+#346 := (iff #402 #708)
+#707 := (iff #401 false)
+#716 := (or false false)
+#360 := (iff #716 false)
+#701 := [rewrite]: #360
+#705 := (iff #401 #716)
+#366 := (iff #399 false)
+#367 := [rewrite]: #366
+#706 := [monotonicity #367 #704]: #705
+#702 := [trans #706 #701]: #707
+#709 := [monotonicity #702]: #346
+#712 := [trans #709 #351]: #352
+#408 := [monotonicity #712 #694]: #698
+#410 := [trans #408 #424]: #409
+#555 := [monotonicity #410 #527 #559]: #562
+#566 := [trans #555 #564]: #565
+#364 := (iff #398 false)
+#376 := (iff #398 #716)
+#375 := (iff #397 false)
+#380 := [rewrite]: #375
+#725 := (iff #313 false)
+#715 := [rewrite]: #725
+#717 := [monotonicity #715 #380]: #376
+#365 := [trans #717 #701]: #364
+#657 := [monotonicity #365 #566]: #660
+#642 := [trans #657 #648]: #650
+#649 := [monotonicity #642]: #653
+#644 := [trans #649 #643]: #653
+#652 := [quant-inst #8 #10]: #651
+#645 := [mp #652 #644]: #641
+[unit-resolution #645 #66 #732]: false
+unsat
+a76887b4238113dd2f0fd0fc574d57f879ea15c2 280 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -29943,99 +27899,75 @@
 #7 := f5
 #15 := (f4 f5 #14)
 #17 := (f3 #15 #16)
-#683 := (pattern #17)
+#726 := (pattern #17)
 #18 := 0::Int
-#80 := -1::Int
-#84 := (* -1::Int #16)
-#81 := (* -1::Int #14)
-#87 := (div #81 #84)
-#243 := (* -1::Int #87)
-#244 := (+ #17 #243)
-#245 := (= #244 0::Int)
+#68 := -1::Int
+#72 := (* -1::Int #16)
+#69 := (* -1::Int #14)
+#75 := (div #69 #72)
+#226 := (* -1::Int #75)
+#227 := (+ #17 #226)
+#228 := (= #227 0::Int)
 #28 := (div #14 #16)
-#240 := (* -1::Int #28)
-#241 := (+ #17 #240)
-#242 := (= #241 0::Int)
-#58 := (<= #16 0::Int)
-#150 := (>= #14 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #14 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#246 := (if #207 #242 #245)
-#239 := (= #17 0::Int)
+#223 := (* -1::Int #28)
+#224 := (+ #17 #223)
+#225 := (= #224 0::Int)
+#94 := (<= #16 0::Int)
+#101 := (>= #14 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #14 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#229 := (if #190 #225 #228)
+#222 := (= #17 0::Int)
 #20 := (= #16 0::Int)
 #19 := (= #14 0::Int)
 #21 := (or #19 #20)
-#247 := (if #21 #239 #246)
-#684 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #683) #247)
-#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
-#687 := (iff #250 #684)
-#685 := (iff #247 #247)
-#686 := [refl]: #685
-#688 := [quant-intro #686]: #687
-#210 := (if #207 #28 #87)
-#213 := (if #21 0::Int #210)
-#216 := (= #17 #213)
-#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
-#251 := (iff #219 #250)
-#248 := (iff #216 #247)
-#249 := [rewrite]: #248
-#252 := [quant-intro #249]: #251
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#162 := (if #159 #28 #87)
-#165 := (if #21 0::Int #162)
-#168 := (= #17 #165)
-#171 := (forall (vars (?v0 Int) (?v1 Int)) #168)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#214 := (= #165 #213)
-#211 := (= #162 #210)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [monotonicity #212]: #214
-#218 := [monotonicity #215]: #217
-#221 := [quant-intro #218]: #220
-#195 := (~ #171 #171)
-#193 := (~ #168 #168)
-#194 := [refl]: #193
-#196 := [nnf-pos #194]: #195
-#65 := (<= 0::Int #14)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#90 := (if #77 #28 #87)
-#93 := (if #21 0::Int #90)
-#96 := (= #17 #93)
-#99 := (forall (vars (?v0 Int) (?v1 Int)) #96)
-#172 := (iff #99 #171)
-#169 := (iff #96 #168)
-#166 := (= #93 #165)
-#163 := (= #90 #162)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#164 := [monotonicity #161]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [quant-intro #170]: #172
+#230 := (if #21 #222 #229)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #230)
+#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
+#730 := (iff #233 #727)
+#728 := (iff #230 #230)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#193 := (if #190 #28 #75)
+#196 := (if #21 0::Int #193)
+#199 := (= #17 #196)
+#202 := (forall (vars (?v0 Int) (?v1 Int)) #199)
+#234 := (iff #202 #233)
+#231 := (iff #199 #230)
+#232 := [rewrite]: #231
+#235 := [quant-intro #232]: #234
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (if #108 #28 #75)
+#114 := (if #21 0::Int #111)
+#117 := (= #17 #114)
+#120 := (forall (vars (?v0 Int) (?v1 Int)) #117)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#197 := (= #114 #196)
+#194 := (= #111 #193)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#195 := [monotonicity #192]: #194
+#198 := [monotonicity #195]: #197
+#201 := [monotonicity #198]: #200
+#204 := [quant-intro #201]: #203
+#182 := (~ #120 #120)
+#180 := (~ #117 #117)
+#181 := [refl]: #180
+#183 := [nnf-pos #181]: #182
 #30 := (- #16)
 #29 := (- #14)
 #31 := (div #29 #30)
@@ -30049,188 +27981,196 @@
 #33 := (if #21 0::Int #32)
 #34 := (= #17 #33)
 #35 := (forall (vars (?v0 Int) (?v1 Int)) #34)
-#100 := (iff #35 #99)
-#97 := (iff #34 #96)
-#94 := (= #33 #93)
-#91 := (= #32 #90)
-#88 := (= #31 #87)
-#85 := (= #30 #84)
-#86 := [rewrite]: #85
-#82 := (= #29 #81)
-#83 := [rewrite]: #82
-#89 := [monotonicity #83 #86]: #88
-#78 := (iff #27 #77)
-#75 := (iff #26 #74)
-#60 := (iff #23 #59)
-#61 := [rewrite]: #60
-#67 := (iff #25 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #24 #62)
-#56 := (iff #22 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#92 := [monotonicity #79 #89]: #91
-#95 := [monotonicity #92]: #94
-#98 := [monotonicity #95]: #97
-#101 := [quant-intro #98]: #100
-#49 := [asserted]: #35
-#102 := [mp #49 #101]: #99
-#174 := [mp #102 #173]: #171
-#148 := [mp~ #174 #196]: #171
-#222 := [mp #148 #221]: #219
-#253 := [mp #222 #252]: #250
-#689 := [mp #253 #688]: #684
+#123 := (iff #35 #120)
+#78 := (if #27 #28 #75)
+#81 := (if #21 0::Int #78)
+#84 := (= #17 #81)
+#87 := (forall (vars (?v0 Int) (?v1 Int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #27 #108)
+#106 := (iff #26 #105)
+#96 := (iff #23 #95)
+#97 := [rewrite]: #96
+#103 := (iff #25 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #24 #98)
+#92 := (iff #22 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #35 #87)
+#85 := (iff #34 #84)
+#82 := (= #33 #81)
+#79 := (= #32 #78)
+#76 := (= #31 #75)
+#73 := (= #30 #72)
+#74 := [rewrite]: #73
+#70 := (= #29 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#67 := [asserted]: #35
+#125 := [mp #67 #124]: #120
+#174 := [mp~ #125 #183]: #120
+#205 := [mp #174 #204]: #202
+#236 := [mp #205 #235]: #233
+#732 := [mp #236 #731]: #727
 #11 := 1::Int
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
 #10 := (f3 #9 3::Int)
 #12 := (= #10 1::Int)
 #13 := (not #12)
-#48 := [asserted]: #13
-#521 := (not #684)
-#522 := (or #521 #12)
-#464 := (* -1::Int 3::Int)
-#671 := (div #464 #464)
-#345 := (* -1::Int #671)
-#346 := (+ #10 #345)
-#678 := (= #346 0::Int)
-#340 := (div 3::Int 3::Int)
-#675 := (* -1::Int #340)
-#677 := (+ #10 #675)
-#334 := (= #677 0::Int)
-#356 := (<= 3::Int 0::Int)
-#359 := (>= 3::Int 0::Int)
-#360 := (or #359 #356)
-#357 := (not #360)
-#347 := (or #356 #356)
-#358 := (not #347)
-#361 := (or #358 #357)
-#679 := (if #361 #334 #678)
-#355 := (= #10 0::Int)
-#270 := (= 3::Int 0::Int)
-#354 := (or #270 #270)
-#680 := (if #354 #355 #679)
-#523 := (or #521 #680)
-#617 := (iff #523 #522)
-#618 := (iff #522 #522)
-#605 := [rewrite]: #618
-#512 := (iff #680 #12)
-#616 := (if false #355 #12)
-#518 := (iff #616 #12)
-#519 := [rewrite]: #518
-#501 := (iff #680 #616)
-#612 := (iff #679 #12)
-#1 := true
-#507 := (if true #12 #12)
-#615 := (iff #507 #12)
-#517 := [rewrite]: #615
-#508 := (iff #679 #507)
-#624 := (iff #678 #12)
-#645 := (+ -1::Int #10)
-#635 := (= #645 0::Int)
-#642 := (iff #635 #12)
-#637 := [rewrite]: #642
-#623 := (iff #678 #635)
-#620 := (= #346 #645)
-#362 := (+ #10 -1::Int)
-#649 := (= #362 #645)
-#638 := [rewrite]: #649
-#466 := (= #346 #362)
-#463 := (= #345 -1::Int)
-#655 := (* -1::Int 1::Int)
-#367 := (= #655 -1::Int)
-#368 := [rewrite]: #367
-#627 := (= #345 #655)
-#632 := (= #671 1::Int)
-#485 := -3::Int
-#629 := (div -3::Int -3::Int)
-#625 := (= #629 1::Int)
-#626 := [rewrite]: #625
-#630 := (= #671 #629)
-#486 := (= #464 -3::Int)
-#628 := [rewrite]: #486
-#631 := [monotonicity #628 #628]: #630
-#633 := [trans #631 #626]: #632
-#634 := [monotonicity #633]: #627
-#465 := [trans #634 #368]: #463
-#619 := [monotonicity #465]: #466
-#622 := [trans #619 #638]: #620
-#621 := [monotonicity #622]: #623
-#506 := [trans #621 #637]: #624
-#643 := (iff #334 #12)
-#636 := (iff #334 #635)
-#639 := (= #677 #645)
-#644 := (= #677 #362)
-#646 := (= #675 -1::Int)
-#365 := (= #675 #655)
-#654 := (= #340 1::Int)
-#651 := [rewrite]: #654
-#366 := [monotonicity #651]: #365
-#647 := [trans #366 #368]: #646
-#648 := [monotonicity #647]: #644
-#640 := [trans #648 #638]: #639
-#641 := [monotonicity #640]: #636
-#484 := [trans #641 #637]: #643
-#376 := (iff #361 true)
-#668 := (or true false)
-#669 := (iff #668 true)
-#667 := [rewrite]: #669
-#653 := (iff #361 #668)
-#276 := (iff #357 false)
-#657 := (not true)
-#381 := (iff #657 false)
-#382 := [rewrite]: #381
-#379 := (iff #357 #657)
-#670 := (iff #360 true)
-#308 := (iff #360 #668)
-#317 := (iff #356 false)
-#658 := [rewrite]: #317
-#303 := (iff #359 true)
-#666 := [rewrite]: #303
-#309 := [monotonicity #666 #658]: #308
-#656 := [trans #309 #667]: #670
-#380 := [monotonicity #656]: #379
-#652 := [trans #380 #382]: #276
-#659 := (iff #358 true)
-#660 := (not false)
-#663 := (iff #660 true)
-#664 := [rewrite]: #663
-#661 := (iff #358 #660)
-#323 := (iff #347 false)
-#682 := (or false false)
-#337 := (iff #682 false)
-#673 := [rewrite]: #337
-#321 := (iff #347 #682)
-#322 := [monotonicity #658 #658]: #321
-#324 := [trans #322 #673]: #323
-#662 := [monotonicity #324]: #661
-#665 := [trans #662 #664]: #659
-#375 := [monotonicity #665 #652]: #653
-#650 := [trans #375 #667]: #376
-#467 := [monotonicity #650 #484 #506]: #508
-#613 := [trans #467 #517]: #612
-#333 := (iff #354 false)
-#672 := (iff #354 #682)
-#681 := (iff #270 false)
-#676 := [rewrite]: #681
-#332 := [monotonicity #676 #676]: #672
-#674 := [trans #332 #673]: #333
-#516 := [monotonicity #674 #613]: #501
-#520 := [trans #516 #519]: #512
-#614 := [monotonicity #520]: #617
-#607 := [trans #614 #605]: #617
-#524 := [quant-inst #8 #8]: #523
-#599 := [mp #524 #607]: #522
-[unit-resolution #599 #48 #689]: false
-2aeb178d5528960841f3f6a1d0552953e056dd91 320 0
-unsat
+#66 := [asserted]: #13
+#564 := (not #727)
+#565 := (or #564 #12)
+#507 := (* -1::Int 3::Int)
+#714 := (div #507 #507)
+#388 := (* -1::Int #714)
+#389 := (+ #10 #388)
+#721 := (= #389 0::Int)
+#383 := (div 3::Int 3::Int)
+#718 := (* -1::Int #383)
+#720 := (+ #10 #718)
+#377 := (= #720 0::Int)
+#399 := (<= 3::Int 0::Int)
+#402 := (>= 3::Int 0::Int)
+#403 := (or #402 #399)
+#400 := (not #403)
+#390 := (or #399 #399)
+#401 := (not #390)
+#404 := (or #401 #400)
+#722 := (if #404 #377 #721)
+#398 := (= #10 0::Int)
+#313 := (= 3::Int 0::Int)
+#397 := (or #313 #313)
+#723 := (if #397 #398 #722)
+#566 := (or #564 #723)
+#660 := (iff #566 #565)
+#661 := (iff #565 #565)
+#648 := [rewrite]: #661
+#555 := (iff #723 #12)
+#659 := (if false #398 #12)
+#561 := (iff #659 #12)
+#562 := [rewrite]: #561
+#544 := (iff #723 #659)
+#655 := (iff #722 #12)
+#1 := true
+#550 := (if true #12 #12)
+#658 := (iff #550 #12)
+#560 := [rewrite]: #658
+#551 := (iff #722 #550)
+#667 := (iff #721 #12)
+#688 := (+ -1::Int #10)
+#678 := (= #688 0::Int)
+#685 := (iff #678 #12)
+#680 := [rewrite]: #685
+#666 := (iff #721 #678)
+#663 := (= #389 #688)
+#405 := (+ #10 -1::Int)
+#692 := (= #405 #688)
+#681 := [rewrite]: #692
+#509 := (= #389 #405)
+#506 := (= #388 -1::Int)
+#698 := (* -1::Int 1::Int)
+#410 := (= #698 -1::Int)
+#411 := [rewrite]: #410
+#670 := (= #388 #698)
+#675 := (= #714 1::Int)
+#528 := -3::Int
+#672 := (div -3::Int -3::Int)
+#668 := (= #672 1::Int)
+#669 := [rewrite]: #668
+#673 := (= #714 #672)
+#529 := (= #507 -3::Int)
+#671 := [rewrite]: #529
+#674 := [monotonicity #671 #671]: #673
+#676 := [trans #674 #669]: #675
+#677 := [monotonicity #676]: #670
+#508 := [trans #677 #411]: #506
+#662 := [monotonicity #508]: #509
+#665 := [trans #662 #681]: #663
+#664 := [monotonicity #665]: #666
+#549 := [trans #664 #680]: #667
+#686 := (iff #377 #12)
+#679 := (iff #377 #678)
+#682 := (= #720 #688)
+#687 := (= #720 #405)
+#689 := (= #718 -1::Int)
+#408 := (= #718 #698)
+#697 := (= #383 1::Int)
+#694 := [rewrite]: #697
+#409 := [monotonicity #694]: #408
+#690 := [trans #409 #411]: #689
+#691 := [monotonicity #690]: #687
+#683 := [trans #691 #681]: #682
+#684 := [monotonicity #683]: #679
+#527 := [trans #684 #680]: #686
+#419 := (iff #404 true)
+#711 := (or true false)
+#712 := (iff #711 true)
+#710 := [rewrite]: #712
+#696 := (iff #404 #711)
+#319 := (iff #400 false)
+#700 := (not true)
+#424 := (iff #700 false)
+#425 := [rewrite]: #424
+#422 := (iff #400 #700)
+#713 := (iff #403 true)
+#351 := (iff #403 #711)
+#360 := (iff #399 false)
+#701 := [rewrite]: #360
+#346 := (iff #402 true)
+#709 := [rewrite]: #346
+#352 := [monotonicity #709 #701]: #351
+#699 := [trans #352 #710]: #713
+#423 := [monotonicity #699]: #422
+#695 := [trans #423 #425]: #319
+#702 := (iff #401 true)
+#703 := (not false)
+#706 := (iff #703 true)
+#707 := [rewrite]: #706
+#704 := (iff #401 #703)
+#366 := (iff #390 false)
+#725 := (or false false)
+#380 := (iff #725 false)
+#716 := [rewrite]: #380
+#364 := (iff #390 #725)
+#365 := [monotonicity #701 #701]: #364
+#367 := [trans #365 #716]: #366
+#705 := [monotonicity #367]: #704
+#708 := [trans #705 #707]: #702
+#418 := [monotonicity #708 #695]: #696
+#693 := [trans #418 #710]: #419
+#510 := [monotonicity #693 #527 #549]: #551
+#656 := [trans #510 #560]: #655
+#376 := (iff #397 false)
+#715 := (iff #397 #725)
+#724 := (iff #313 false)
+#719 := [rewrite]: #724
+#375 := [monotonicity #719 #719]: #715
+#717 := [trans #375 #716]: #376
+#559 := [monotonicity #717 #656]: #544
+#563 := [trans #559 #562]: #555
+#657 := [monotonicity #563]: #660
+#650 := [trans #657 #648]: #660
+#567 := [quant-inst #8 #8]: #566
+#642 := [mp #567 #650]: #565
+[unit-resolution #642 #66 #732]: false
+unsat
+3e19a3704b0d883148b4ca12556acf9eedeb8436 304 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -30240,99 +28180,75 @@
 #7 := f5
 #16 := (f4 f5 #15)
 #18 := (f3 #16 #17)
-#684 := (pattern #18)
+#726 := (pattern #18)
 #19 := 0::Int
-#81 := -1::Int
-#85 := (* -1::Int #17)
-#82 := (* -1::Int #15)
-#88 := (div #82 #85)
-#244 := (* -1::Int #88)
-#245 := (+ #18 #244)
-#246 := (= #245 0::Int)
+#69 := -1::Int
+#73 := (* -1::Int #17)
+#70 := (* -1::Int #15)
+#76 := (div #70 #73)
+#227 := (* -1::Int #76)
+#228 := (+ #18 #227)
+#229 := (= #228 0::Int)
 #29 := (div #15 #17)
-#241 := (* -1::Int #29)
-#242 := (+ #18 #241)
-#243 := (= #242 0::Int)
-#59 := (<= #17 0::Int)
-#151 := (>= #15 0::Int)
-#204 := (or #151 #59)
-#205 := (not #204)
-#55 := (<= #15 0::Int)
-#200 := (or #55 #59)
-#201 := (not #200)
-#208 := (or #201 #205)
-#247 := (if #208 #243 #246)
-#240 := (= #18 0::Int)
+#224 := (* -1::Int #29)
+#225 := (+ #18 #224)
+#226 := (= #225 0::Int)
+#95 := (<= #17 0::Int)
+#102 := (>= #15 0::Int)
+#187 := (or #102 #95)
+#188 := (not #187)
+#91 := (<= #15 0::Int)
+#185 := (or #91 #95)
+#186 := (not #185)
+#191 := (or #186 #188)
+#230 := (if #191 #226 #229)
+#223 := (= #18 0::Int)
 #21 := (= #17 0::Int)
 #20 := (= #15 0::Int)
 #22 := (or #20 #21)
-#248 := (if #22 #240 #247)
-#685 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #684) #248)
-#251 := (forall (vars (?v0 Int) (?v1 Int)) #248)
-#688 := (iff #251 #685)
-#686 := (iff #248 #248)
-#687 := [refl]: #686
-#689 := [quant-intro #687]: #688
-#211 := (if #208 #29 #88)
-#214 := (if #22 0::Int #211)
-#217 := (= #18 #214)
-#220 := (forall (vars (?v0 Int) (?v1 Int)) #217)
-#252 := (iff #220 #251)
-#249 := (iff #217 #248)
-#250 := [rewrite]: #249
-#253 := [quant-intro #250]: #252
-#60 := (not #59)
-#154 := (not #151)
-#157 := (and #154 #60)
-#56 := (not #55)
-#63 := (and #56 #60)
-#160 := (or #63 #157)
-#163 := (if #160 #29 #88)
-#166 := (if #22 0::Int #163)
-#169 := (= #18 #166)
-#172 := (forall (vars (?v0 Int) (?v1 Int)) #169)
-#221 := (iff #172 #220)
-#218 := (iff #169 #217)
-#215 := (= #166 #214)
-#212 := (= #163 #211)
-#209 := (iff #160 #208)
-#206 := (iff #157 #205)
-#207 := [rewrite]: #206
-#202 := (iff #63 #201)
-#203 := [rewrite]: #202
-#210 := [monotonicity #203 #207]: #209
-#213 := [monotonicity #210]: #212
-#216 := [monotonicity #213]: #215
-#219 := [monotonicity #216]: #218
-#222 := [quant-intro #219]: #221
-#149 := (~ #172 #172)
-#192 := (~ #169 #169)
-#193 := [refl]: #192
-#150 := [nnf-pos #193]: #149
-#66 := (<= 0::Int #15)
-#67 := (not #66)
-#75 := (and #67 #60)
-#78 := (or #63 #75)
-#91 := (if #78 #29 #88)
-#94 := (if #22 0::Int #91)
-#97 := (= #18 #94)
-#100 := (forall (vars (?v0 Int) (?v1 Int)) #97)
-#173 := (iff #100 #172)
-#170 := (iff #97 #169)
-#167 := (= #94 #166)
-#164 := (= #91 #163)
-#161 := (iff #78 #160)
-#158 := (iff #75 #157)
-#155 := (iff #67 #154)
-#152 := (iff #66 #151)
-#153 := [rewrite]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#162 := [monotonicity #159]: #161
-#165 := [monotonicity #162]: #164
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [quant-intro #171]: #173
+#231 := (if #22 #223 #230)
+#727 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #726) #231)
+#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
+#730 := (iff #234 #727)
+#728 := (iff #231 #231)
+#729 := [refl]: #728
+#731 := [quant-intro #729]: #730
+#194 := (if #191 #29 #76)
+#197 := (if #22 0::Int #194)
+#200 := (= #18 #197)
+#203 := (forall (vars (?v0 Int) (?v1 Int)) #200)
+#235 := (iff #203 #234)
+#232 := (iff #200 #231)
+#233 := [rewrite]: #232
+#236 := [quant-intro #233]: #235
+#96 := (not #95)
+#103 := (not #102)
+#106 := (and #103 #96)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (if #109 #29 #76)
+#115 := (if #22 0::Int #112)
+#118 := (= #18 #115)
+#121 := (forall (vars (?v0 Int) (?v1 Int)) #118)
+#204 := (iff #121 #203)
+#201 := (iff #118 #200)
+#198 := (= #115 #197)
+#195 := (= #112 #194)
+#192 := (iff #109 #191)
+#189 := (iff #106 #188)
+#190 := [rewrite]: #189
+#179 := (iff #99 #186)
+#180 := [rewrite]: #179
+#193 := [monotonicity #180 #190]: #192
+#196 := [monotonicity #193]: #195
+#199 := [monotonicity #196]: #198
+#202 := [monotonicity #199]: #201
+#205 := [quant-intro #202]: #204
+#183 := (~ #121 #121)
+#181 := (~ #118 #118)
+#182 := [refl]: #181
+#184 := [nnf-pos #182]: #183
 #31 := (- #17)
 #30 := (- #15)
 #32 := (div #30 #31)
@@ -30346,44 +28262,52 @@
 #34 := (if #22 0::Int #33)
 #35 := (= #18 #34)
 #36 := (forall (vars (?v0 Int) (?v1 Int)) #35)
-#101 := (iff #36 #100)
-#98 := (iff #35 #97)
-#95 := (= #34 #94)
-#92 := (= #33 #91)
-#89 := (= #32 #88)
-#86 := (= #31 #85)
-#87 := [rewrite]: #86
-#83 := (= #30 #82)
-#84 := [rewrite]: #83
-#90 := [monotonicity #84 #87]: #89
-#79 := (iff #28 #78)
-#76 := (iff #27 #75)
-#61 := (iff #24 #60)
-#62 := [rewrite]: #61
-#68 := (iff #26 #67)
-#72 := (iff #67 #67)
-#70 := (iff #66 #66)
-#71 := [rewrite]: #70
-#73 := [monotonicity #71]: #72
-#69 := [rewrite]: #68
-#74 := [trans #69 #73]: #68
-#77 := [monotonicity #74 #62]: #76
-#64 := (iff #25 #63)
-#57 := (iff #23 #56)
-#58 := [rewrite]: #57
-#65 := [monotonicity #58 #62]: #64
-#80 := [monotonicity #65 #77]: #79
-#93 := [monotonicity #80 #90]: #92
-#96 := [monotonicity #93]: #95
-#99 := [monotonicity #96]: #98
-#102 := [quant-intro #99]: #101
-#50 := [asserted]: #36
-#103 := [mp #50 #102]: #100
-#175 := [mp #103 #174]: #172
-#196 := [mp~ #175 #150]: #172
-#223 := [mp #196 #222]: #220
-#254 := [mp #223 #253]: #251
-#690 := [mp #254 #689]: #685
+#124 := (iff #36 #121)
+#79 := (if #28 #29 #76)
+#82 := (if #22 0::Int #79)
+#85 := (= #18 #82)
+#88 := (forall (vars (?v0 Int) (?v1 Int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #28 #109)
+#107 := (iff #27 #106)
+#97 := (iff #24 #96)
+#98 := [rewrite]: #97
+#104 := (iff #26 #103)
+#105 := [rewrite]: #104
+#108 := [monotonicity #105 #98]: #107
+#100 := (iff #25 #99)
+#93 := (iff #23 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #36 #88)
+#86 := (iff #35 #85)
+#83 := (= #34 #82)
+#80 := (= #33 #79)
+#77 := (= #32 #76)
+#74 := (= #31 #73)
+#75 := [rewrite]: #74
+#71 := (= #30 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#68 := [asserted]: #36
+#126 := [mp #68 #125]: #121
+#175 := [mp~ #126 #184]: #121
+#206 := [mp #175 #205]: #203
+#237 := [mp #206 #236]: #234
+#732 := [mp #237 #731]: #727
 #12 := 1::Int
 #10 := 3::Int
 #8 := 5::Int
@@ -30391,167 +28315,167 @@
 #11 := (f3 #9 3::Int)
 #13 := (= #11 1::Int)
 #14 := (not #13)
-#49 := [asserted]: #14
-#589 := (not #685)
-#590 := (or #589 #13)
-#347 := (* -1::Int 3::Int)
-#346 := (* -1::Int 5::Int)
-#679 := (div #346 #347)
-#680 := (* -1::Int #679)
-#681 := (+ #11 #680)
-#682 := (= #681 0::Int)
-#678 := (div 5::Int 3::Int)
-#335 := (* -1::Int #678)
-#465 := (+ #11 #335)
-#672 := (= #465 0::Int)
-#359 := (<= 3::Int 0::Int)
-#358 := (>= 5::Int 0::Int)
-#362 := (or #358 #359)
-#341 := (not #362)
-#348 := (<= 5::Int 0::Int)
-#360 := (or #348 #359)
-#361 := (not #360)
-#676 := (or #361 #341)
-#677 := (if #676 #672 #682)
-#357 := (= #11 0::Int)
-#355 := (= 3::Int 0::Int)
-#271 := (= 5::Int 0::Int)
-#356 := (or #271 #355)
-#683 := (if #356 #357 #677)
-#592 := (or #589 #683)
-#594 := (iff #592 #590)
-#591 := (iff #590 #590)
-#596 := [rewrite]: #591
-#598 := (iff #683 #13)
-#612 := (if false #357 #13)
-#603 := (iff #612 #13)
-#604 := [rewrite]: #603
-#601 := (iff #683 #612)
-#611 := (iff #677 #13)
-#621 := 2::Int
-#618 := (= #11 2::Int)
-#1 := true
-#600 := (if true #13 #618)
-#609 := (iff #600 #13)
-#610 := [rewrite]: #609
-#597 := (iff #677 #600)
-#606 := (iff #682 #618)
-#468 := -2::Int
-#519 := (+ -2::Int #11)
-#523 := (= #519 0::Int)
-#615 := (iff #523 #618)
-#619 := [rewrite]: #615
-#524 := (iff #682 #523)
-#521 := (= #681 #519)
-#617 := (+ #11 -2::Int)
-#520 := (= #617 #519)
-#513 := [rewrite]: #520
-#502 := (= #681 #617)
-#613 := (= #680 -2::Int)
-#507 := (* -1::Int 2::Int)
-#616 := (= #507 -2::Int)
-#518 := [rewrite]: #616
-#508 := (= #680 #507)
-#622 := (= #679 2::Int)
-#628 := -3::Int
-#627 := -5::Int
-#466 := (div -5::Int -3::Int)
-#623 := (= #466 2::Int)
-#624 := [rewrite]: #623
-#467 := (= #679 #466)
-#635 := (= #347 -3::Int)
-#464 := [rewrite]: #635
-#633 := (= #346 -5::Int)
-#634 := [rewrite]: #633
-#620 := [monotonicity #634 #464]: #467
-#625 := [trans #620 #624]: #622
-#509 := [monotonicity #625]: #508
-#614 := [trans #509 #518]: #613
-#517 := [monotonicity #614]: #502
-#522 := [trans #517 #513]: #521
-#525 := [monotonicity #522]: #524
-#608 := [trans #525 #619]: #606
-#632 := (iff #672 #13)
-#642 := (+ -1::Int #11)
-#486 := (= #642 0::Int)
-#630 := (iff #486 #13)
-#631 := [rewrite]: #630
-#487 := (iff #672 #486)
-#644 := (= #465 #642)
-#641 := (+ #11 -1::Int)
-#643 := (= #641 #642)
-#638 := [rewrite]: #643
-#636 := (= #465 #641)
-#639 := (= #335 -1::Int)
-#363 := (* -1::Int 1::Int)
-#646 := (= #363 -1::Int)
-#650 := [rewrite]: #646
-#645 := (= #335 #363)
-#647 := (= #678 1::Int)
-#648 := [rewrite]: #647
-#649 := [monotonicity #648]: #645
-#640 := [trans #649 #650]: #639
-#637 := [monotonicity #640]: #636
-#485 := [trans #637 #638]: #644
-#629 := [monotonicity #485]: #487
-#626 := [trans #629 #631]: #632
-#368 := (iff #676 true)
-#658 := (or true false)
-#382 := (iff #658 true)
-#383 := [rewrite]: #382
-#366 := (iff #676 #658)
-#652 := (iff #341 false)
-#654 := (not true)
-#651 := (iff #654 false)
-#655 := [rewrite]: #651
-#376 := (iff #341 #654)
-#277 := (iff #362 true)
-#380 := (iff #362 #658)
-#662 := (iff #359 false)
-#663 := [rewrite]: #662
-#671 := (iff #358 true)
-#657 := [rewrite]: #671
-#381 := [monotonicity #657 #663]: #380
-#653 := [trans #381 #383]: #277
-#377 := [monotonicity #653]: #376
-#656 := [trans #377 #655]: #652
-#670 := (iff #361 true)
-#304 := (not false)
-#309 := (iff #304 true)
-#310 := [rewrite]: #309
-#667 := (iff #361 #304)
-#660 := (iff #360 false)
-#334 := (or false false)
-#659 := (iff #334 false)
-#322 := [rewrite]: #659
-#664 := (iff #360 #334)
-#325 := (iff #348 false)
-#661 := [rewrite]: #325
-#665 := [monotonicity #661 #663]: #664
-#666 := [trans #665 #322]: #660
-#669 := [monotonicity #666]: #667
-#668 := [trans #669 #310]: #670
-#367 := [monotonicity #668 #656]: #366
-#369 := [trans #367 #383]: #368
-#599 := [monotonicity #369 #626 #608]: #597
-#607 := [trans #599 #610]: #611
-#323 := (iff #356 false)
-#675 := (iff #356 #334)
-#338 := (iff #355 false)
-#674 := [rewrite]: #338
-#673 := (iff #271 false)
-#333 := [rewrite]: #673
-#318 := [monotonicity #333 #674]: #675
-#324 := [trans #318 #322]: #323
-#602 := [monotonicity #324 #607]: #601
-#605 := [trans #602 #604]: #598
-#595 := [monotonicity #605]: #594
-#582 := [trans #595 #596]: #594
-#593 := [quant-inst #8 #10]: #592
-#583 := [mp #593 #582]: #590
-[unit-resolution #583 #49 #690]: false
-07dc79bb7af38a9690966d1d8001aa5e0aaa3f0d 322 0
-unsat
+#67 := [asserted]: #14
+#647 := (not #727)
+#631 := (or #647 #13)
+#389 := (* -1::Int 3::Int)
+#388 := (* -1::Int 5::Int)
+#721 := (div #388 #389)
+#722 := (* -1::Int #721)
+#723 := (+ #11 #722)
+#724 := (= #723 0::Int)
+#720 := (div 5::Int 3::Int)
+#377 := (* -1::Int #720)
+#507 := (+ #11 #377)
+#714 := (= #507 0::Int)
+#401 := (<= 3::Int 0::Int)
+#400 := (>= 5::Int 0::Int)
+#404 := (or #400 #401)
+#383 := (not #404)
+#390 := (<= 5::Int 0::Int)
+#402 := (or #390 #401)
+#403 := (not #402)
+#718 := (or #403 #383)
+#719 := (if #718 #714 #724)
+#399 := (= #11 0::Int)
+#397 := (= 3::Int 0::Int)
+#313 := (= 5::Int 0::Int)
+#398 := (or #313 #397)
+#725 := (if #398 #399 #719)
+#632 := (or #647 #725)
+#635 := (iff #632 #631)
+#637 := (iff #631 #631)
+#633 := [rewrite]: #637
+#646 := (iff #725 #13)
+#649 := (if false #399 #13)
+#644 := (iff #649 #13)
+#645 := [rewrite]: #644
+#654 := (iff #725 #649)
+#652 := (iff #719 #13)
+#274 := 2::Int
+#567 := (= #11 2::Int)
+#1 := true
+#650 := (if true #13 #567)
+#641 := (iff #650 #13)
+#651 := [rewrite]: #641
+#642 := (iff #719 #650)
+#661 := (iff #724 #567)
+#551 := -2::Int
+#559 := (+ -2::Int #11)
+#564 := (= #559 0::Int)
+#660 := (iff #564 #567)
+#657 := [rewrite]: #660
+#565 := (iff #724 #564)
+#555 := (= #723 #559)
+#656 := (+ #11 -2::Int)
+#561 := (= #656 #559)
+#562 := [rewrite]: #561
+#659 := (= #723 #656)
+#560 := (= #722 -2::Int)
+#667 := (* -1::Int 2::Int)
+#510 := (= #667 -2::Int)
+#658 := [rewrite]: #510
+#549 := (= #722 #667)
+#666 := (= #721 2::Int)
+#670 := -3::Int
+#669 := -5::Int
+#508 := (div -5::Int -3::Int)
+#663 := (= #508 2::Int)
+#665 := [rewrite]: #663
+#509 := (= #721 #508)
+#677 := (= #389 -3::Int)
+#506 := [rewrite]: #677
+#675 := (= #388 -5::Int)
+#676 := [rewrite]: #675
+#662 := [monotonicity #676 #506]: #509
+#664 := [trans #662 #665]: #666
+#550 := [monotonicity #664]: #549
+#655 := [trans #550 #658]: #560
+#544 := [monotonicity #655]: #659
+#563 := [trans #544 #562]: #555
+#566 := [monotonicity #563]: #565
+#648 := [trans #566 #657]: #661
+#674 := (iff #714 #13)
+#684 := (+ -1::Int #11)
+#528 := (= #684 0::Int)
+#672 := (iff #528 #13)
+#673 := [rewrite]: #672
+#529 := (iff #714 #528)
+#686 := (= #507 #684)
+#683 := (+ #11 -1::Int)
+#685 := (= #683 #684)
+#680 := [rewrite]: #685
+#678 := (= #507 #683)
+#681 := (= #377 -1::Int)
+#405 := (* -1::Int 1::Int)
+#688 := (= #405 -1::Int)
+#692 := [rewrite]: #688
+#687 := (= #377 #405)
+#689 := (= #720 1::Int)
+#690 := [rewrite]: #689
+#691 := [monotonicity #690]: #687
+#682 := [trans #691 #692]: #681
+#679 := [monotonicity #682]: #678
+#527 := [trans #679 #680]: #686
+#671 := [monotonicity #527]: #529
+#668 := [trans #671 #673]: #674
+#410 := (iff #718 true)
+#700 := (or true false)
+#424 := (iff #700 true)
+#425 := [rewrite]: #424
+#408 := (iff #718 #700)
+#694 := (iff #383 false)
+#696 := (not true)
+#693 := (iff #696 false)
+#697 := [rewrite]: #693
+#418 := (iff #383 #696)
+#319 := (iff #404 true)
+#422 := (iff #404 #700)
+#704 := (iff #401 false)
+#705 := [rewrite]: #704
+#713 := (iff #400 true)
+#699 := [rewrite]: #713
+#423 := [monotonicity #699 #705]: #422
+#695 := [trans #423 #425]: #319
+#419 := [monotonicity #695]: #418
+#698 := [trans #419 #697]: #694
+#712 := (iff #403 true)
+#346 := (not false)
+#351 := (iff #346 true)
+#352 := [rewrite]: #351
+#709 := (iff #403 #346)
+#702 := (iff #402 false)
+#376 := (or false false)
+#701 := (iff #376 false)
+#364 := [rewrite]: #701
+#706 := (iff #402 #376)
+#367 := (iff #390 false)
+#703 := [rewrite]: #367
+#707 := [monotonicity #703 #705]: #706
+#708 := [trans #707 #364]: #702
+#711 := [monotonicity #708]: #709
+#710 := [trans #711 #352]: #712
+#409 := [monotonicity #710 #698]: #408
+#411 := [trans #409 #425]: #410
+#639 := [monotonicity #411 #668 #648]: #642
+#653 := [trans #639 #651]: #652
+#365 := (iff #398 false)
+#717 := (iff #398 #376)
+#380 := (iff #397 false)
+#716 := [rewrite]: #380
+#715 := (iff #313 false)
+#375 := [rewrite]: #715
+#360 := [monotonicity #375 #716]: #717
+#366 := [trans #360 #364]: #365
+#643 := [monotonicity #366 #653]: #654
+#640 := [trans #643 #645]: #646
+#636 := [monotonicity #640]: #635
+#638 := [trans #636 #633]: #635
+#634 := [quant-inst #8 #10]: #632
+#624 := [mp #634 #638]: #631
+[unit-resolution #624 #67 #732]: false
+unsat
+5e68ab43f3201baeb2a0c0f495119aa80de32eb9 306 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -30561,99 +28485,75 @@
 #7 := f5
 #17 := (f4 f5 #16)
 #19 := (f3 #17 #18)
-#700 := (pattern #19)
+#743 := (pattern #19)
 #20 := 0::Int
-#62 := -1::Int
-#101 := (* -1::Int #18)
-#98 := (* -1::Int #16)
-#104 := (div #98 #101)
-#260 := (* -1::Int #104)
-#261 := (+ #19 #260)
-#262 := (= #261 0::Int)
+#75 := -1::Int
+#89 := (* -1::Int #18)
+#85 := (* -1::Int #16)
+#92 := (div #85 #89)
+#243 := (* -1::Int #92)
+#244 := (+ #19 #243)
+#245 := (= #244 0::Int)
 #30 := (div #16 #18)
-#257 := (* -1::Int #30)
-#258 := (+ #19 #257)
-#259 := (= #258 0::Int)
-#76 := (<= #18 0::Int)
-#167 := (>= #16 0::Int)
-#220 := (or #167 #76)
-#221 := (not #220)
-#72 := (<= #16 0::Int)
-#216 := (or #72 #76)
-#217 := (not #216)
-#224 := (or #217 #221)
-#263 := (if #224 #259 #262)
-#256 := (= #19 0::Int)
+#240 := (* -1::Int #30)
+#241 := (+ #19 #240)
+#242 := (= #241 0::Int)
+#111 := (<= #18 0::Int)
+#118 := (>= #16 0::Int)
+#203 := (or #118 #111)
+#204 := (not #203)
+#107 := (<= #16 0::Int)
+#201 := (or #107 #111)
+#202 := (not #201)
+#207 := (or #202 #204)
+#246 := (if #207 #242 #245)
+#239 := (= #19 0::Int)
 #22 := (= #18 0::Int)
 #21 := (= #16 0::Int)
 #23 := (or #21 #22)
-#264 := (if #23 #256 #263)
-#701 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #700) #264)
-#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
-#704 := (iff #267 #701)
-#702 := (iff #264 #264)
-#703 := [refl]: #702
-#705 := [quant-intro #703]: #704
-#227 := (if #224 #30 #104)
-#230 := (if #23 0::Int #227)
-#233 := (= #19 #230)
-#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
-#268 := (iff #236 #267)
-#265 := (iff #233 #264)
-#266 := [rewrite]: #265
-#269 := [quant-intro #266]: #268
-#77 := (not #76)
-#170 := (not #167)
-#173 := (and #170 #77)
-#73 := (not #72)
-#80 := (and #73 #77)
-#176 := (or #80 #173)
-#179 := (if #176 #30 #104)
-#182 := (if #23 0::Int #179)
-#185 := (= #19 #182)
-#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
-#237 := (iff #188 #236)
-#234 := (iff #185 #233)
-#231 := (= #182 #230)
-#228 := (= #179 #227)
-#225 := (iff #176 #224)
-#222 := (iff #173 #221)
-#223 := [rewrite]: #222
-#218 := (iff #80 #217)
-#219 := [rewrite]: #218
-#226 := [monotonicity #219 #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [quant-intro #235]: #237
-#208 := (~ #188 #188)
-#210 := (~ #185 #185)
-#211 := [refl]: #210
-#209 := [nnf-pos #211]: #208
-#83 := (<= 0::Int #16)
-#84 := (not #83)
-#92 := (and #84 #77)
-#95 := (or #80 #92)
-#107 := (if #95 #30 #104)
-#110 := (if #23 0::Int #107)
-#113 := (= #19 #110)
-#116 := (forall (vars (?v0 Int) (?v1 Int)) #113)
-#189 := (iff #116 #188)
-#186 := (iff #113 #185)
-#183 := (= #110 #182)
-#180 := (= #107 #179)
-#177 := (iff #95 #176)
-#174 := (iff #92 #173)
-#171 := (iff #84 #170)
-#168 := (iff #83 #167)
-#169 := [rewrite]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [quant-intro #187]: #189
+#247 := (if #23 #239 #246)
+#744 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #743) #247)
+#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
+#747 := (iff #250 #744)
+#745 := (iff #247 #247)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#210 := (if #207 #30 #92)
+#213 := (if #23 0::Int #210)
+#216 := (= #19 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#251 := (iff #219 #250)
+#248 := (iff #216 #247)
+#249 := [rewrite]: #248
+#252 := [quant-intro #249]: #251
+#112 := (not #111)
+#119 := (not #118)
+#122 := (and #119 #112)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#128 := (if #125 #30 #92)
+#131 := (if #23 0::Int #128)
+#134 := (= #19 #131)
+#137 := (forall (vars (?v0 Int) (?v1 Int)) #134)
+#220 := (iff #137 #219)
+#217 := (iff #134 #216)
+#214 := (= #131 #213)
+#211 := (= #128 #210)
+#208 := (iff #125 #207)
+#205 := (iff #122 #204)
+#206 := [rewrite]: #205
+#195 := (iff #115 #202)
+#196 := [rewrite]: #195
+#209 := [monotonicity #196 #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#199 := (~ #137 #137)
+#197 := (~ #134 #134)
+#198 := [refl]: #197
+#200 := [nnf-pos #198]: #199
 #32 := (- #18)
 #31 := (- #16)
 #33 := (div #31 #32)
@@ -30667,214 +28567,222 @@
 #35 := (if #23 0::Int #34)
 #36 := (= #19 #35)
 #37 := (forall (vars (?v0 Int) (?v1 Int)) #36)
-#117 := (iff #37 #116)
-#114 := (iff #36 #113)
-#111 := (= #35 #110)
-#108 := (= #34 #107)
-#105 := (= #33 #104)
-#102 := (= #32 #101)
-#103 := [rewrite]: #102
-#99 := (= #31 #98)
-#100 := [rewrite]: #99
-#106 := [monotonicity #100 #103]: #105
-#96 := (iff #29 #95)
-#93 := (iff #28 #92)
-#78 := (iff #25 #77)
-#79 := [rewrite]: #78
-#85 := (iff #27 #84)
-#89 := (iff #84 #84)
-#87 := (iff #83 #83)
+#140 := (iff #37 #137)
+#95 := (if #29 #30 #92)
+#98 := (if #23 0::Int #95)
+#101 := (= #19 #98)
+#104 := (forall (vars (?v0 Int) (?v1 Int)) #101)
+#138 := (iff #104 #137)
+#135 := (iff #101 #134)
+#132 := (= #98 #131)
+#129 := (= #95 #128)
+#126 := (iff #29 #125)
+#123 := (iff #28 #122)
+#113 := (iff #25 #112)
+#114 := [rewrite]: #113
+#120 := (iff #27 #119)
+#121 := [rewrite]: #120
+#124 := [monotonicity #121 #114]: #123
+#116 := (iff #26 #115)
+#109 := (iff #24 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [monotonicity #133]: #135
+#139 := [quant-intro #136]: #138
+#105 := (iff #37 #104)
+#102 := (iff #36 #101)
+#99 := (= #35 #98)
+#96 := (= #34 #95)
+#93 := (= #33 #92)
+#90 := (= #32 #89)
+#91 := [rewrite]: #90
+#87 := (= #31 #85)
 #88 := [rewrite]: #87
-#90 := [monotonicity #88]: #89
-#86 := [rewrite]: #85
-#91 := [trans #86 #90]: #85
-#94 := [monotonicity #91 #79]: #93
-#81 := (iff #26 #80)
-#74 := (iff #24 #73)
-#75 := [rewrite]: #74
-#82 := [monotonicity #75 #79]: #81
-#97 := [monotonicity #82 #94]: #96
-#109 := [monotonicity #97 #106]: #108
-#112 := [monotonicity #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [quant-intro #115]: #117
-#51 := [asserted]: #37
-#119 := [mp #51 #118]: #116
-#191 := [mp #119 #190]: #188
-#165 := [mp~ #191 #209]: #188
-#239 := [mp #165 #238]: #236
-#270 := [mp #239 #269]: #267
-#706 := [mp #270 #705]: #701
-#56 := -3::Int
+#94 := [monotonicity #88 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#106 := [quant-intro #103]: #105
+#141 := [trans #106 #139]: #140
+#84 := [asserted]: #37
+#142 := [mp #84 #141]: #137
+#191 := [mp~ #142 #200]: #137
+#222 := [mp #191 #221]: #219
+#253 := [mp #222 #252]: #250
+#749 := [mp #253 #748]: #744
+#69 := -3::Int
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
-#59 := (f3 #9 -3::Int)
-#65 := (= #59 -1::Int)
-#68 := (not #65)
+#72 := (f3 #9 -3::Int)
+#78 := (= #72 -1::Int)
+#81 := (not #78)
 #13 := (- 1::Int)
 #10 := 3::Int
 #11 := (- 3::Int)
 #12 := (f3 #9 #11)
 #14 := (= #12 #13)
 #15 := (not #14)
-#69 := (iff #15 #68)
-#66 := (iff #14 #65)
-#63 := (= #13 -1::Int)
-#64 := [rewrite]: #63
-#60 := (= #12 #59)
-#57 := (= #11 -3::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#70 := [monotonicity #67]: #69
-#50 := [asserted]: #15
-#71 := [mp #50 #70]: #68
-#616 := (not #701)
-#613 := (or #616 #65)
-#363 := (* -1::Int -3::Int)
-#362 := (* -1::Int 1::Int)
-#695 := (div #362 #363)
-#696 := (* -1::Int #695)
-#697 := (+ #59 #696)
-#698 := (= #697 0::Int)
-#694 := (div 1::Int -3::Int)
-#351 := (* -1::Int #694)
-#481 := (+ #59 #351)
-#688 := (= #481 0::Int)
-#375 := (<= -3::Int 0::Int)
-#374 := (>= 1::Int 0::Int)
-#378 := (or #374 #375)
-#357 := (not #378)
-#364 := (<= 1::Int 0::Int)
-#376 := (or #364 #375)
-#377 := (not #376)
-#692 := (or #377 #357)
-#693 := (if #692 #688 #698)
-#373 := (= #59 0::Int)
-#371 := (= -3::Int 0::Int)
-#287 := (= 1::Int 0::Int)
-#372 := (or #287 #371)
-#699 := (if #372 #373 #693)
-#615 := (or #616 #699)
-#626 := (iff #615 #613)
-#623 := (iff #613 #613)
-#628 := [rewrite]: #623
-#622 := (iff #699 #65)
-#529 := (if false #373 #65)
-#539 := (iff #529 #65)
-#540 := [rewrite]: #539
-#631 := (iff #699 #529)
-#541 := (iff #693 #65)
-#537 := (iff #693 #529)
-#535 := (iff #698 #65)
-#524 := (+ 1::Int #59)
-#629 := (= #524 0::Int)
-#518 := (iff #629 #65)
-#533 := [rewrite]: #518
-#630 := (iff #698 #629)
-#632 := (= #697 #524)
-#638 := (+ #59 1::Int)
-#525 := (= #638 #524)
-#484 := [rewrite]: #525
-#641 := (= #697 #638)
-#639 := (= #696 1::Int)
-#480 := (* -1::Int -1::Int)
-#636 := (= #480 1::Int)
-#637 := [rewrite]: #636
-#482 := (= #696 #480)
-#644 := (= #695 -1::Int)
-#648 := (div -1::Int 3::Int)
-#649 := (= #648 -1::Int)
-#650 := [rewrite]: #649
-#642 := (= #695 #648)
-#646 := (= #363 3::Int)
-#647 := [rewrite]: #646
-#503 := (= #362 -1::Int)
-#645 := [rewrite]: #503
-#643 := [monotonicity #645 #647]: #642
-#651 := [trans #643 #650]: #644
-#483 := [monotonicity #651]: #482
-#640 := [trans #483 #637]: #639
-#523 := [monotonicity #640]: #641
-#534 := [trans #523 #484]: #632
-#633 := [monotonicity #534]: #630
-#536 := [trans #633 #533]: #535
-#501 := (iff #688 #373)
-#654 := (= #481 #59)
-#657 := (+ #59 0::Int)
-#658 := (= #657 #59)
-#659 := [rewrite]: #658
-#652 := (= #481 #657)
-#655 := (= #351 0::Int)
-#379 := (* -1::Int 0::Int)
-#662 := (= #379 0::Int)
-#666 := [rewrite]: #662
-#661 := (= #351 #379)
-#663 := (= #694 0::Int)
-#664 := [rewrite]: #663
-#665 := [monotonicity #664]: #661
-#656 := [trans #665 #666]: #655
-#653 := [monotonicity #656]: #652
-#660 := [trans #653 #659]: #654
-#502 := [monotonicity #660]: #501
-#384 := (iff #692 false)
-#350 := (or false false)
-#675 := (iff #350 false)
-#338 := [rewrite]: #675
-#382 := (iff #692 #350)
-#668 := (iff #357 false)
-#1 := true
-#325 := (not true)
-#684 := (iff #325 false)
-#687 := [rewrite]: #684
-#667 := (iff #357 #325)
-#392 := (iff #378 true)
-#398 := (or true true)
-#669 := (iff #398 true)
-#670 := [rewrite]: #669
-#399 := (iff #378 #398)
-#678 := (iff #375 true)
-#679 := [rewrite]: #678
-#396 := (iff #374 true)
-#397 := [rewrite]: #396
-#293 := [monotonicity #397 #679]: #399
-#393 := [trans #293 #670]: #392
-#671 := [monotonicity #393]: #667
-#672 := [trans #671 #687]: #668
-#673 := (iff #377 false)
-#326 := (iff #377 #325)
-#683 := (iff #376 true)
-#680 := (or false true)
-#682 := (iff #680 true)
-#320 := [rewrite]: #682
-#681 := (iff #376 #680)
-#341 := (iff #364 false)
-#677 := [rewrite]: #341
-#676 := [monotonicity #677 #679]: #681
-#685 := [trans #676 #320]: #683
-#686 := [monotonicity #685]: #326
-#674 := [trans #686 #687]: #673
-#383 := [monotonicity #674 #672]: #382
-#385 := [trans #383 #338]: #384
-#538 := [monotonicity #385 #502 #536]: #537
-#634 := [trans #538 #540]: #541
-#339 := (iff #372 false)
-#691 := (iff #372 #350)
-#354 := (iff #371 false)
-#690 := [rewrite]: #354
-#689 := (iff #287 false)
-#349 := [rewrite]: #689
-#334 := [monotonicity #349 #690]: #691
-#340 := [trans #334 #338]: #339
-#635 := [monotonicity #340 #634]: #631
-#624 := [trans #635 #540]: #622
-#627 := [monotonicity #624]: #626
-#617 := [trans #627 #628]: #626
-#625 := [quant-inst #8 #56]: #615
-#618 := [mp #625 #617]: #613
-[unit-resolution #618 #71 #706]: false
-2724efda4c32efbff1ae699cb7c49583d776fd69 321 0
-unsat
+#82 := (iff #15 #81)
+#79 := (iff #14 #78)
+#76 := (= #13 -1::Int)
+#77 := [rewrite]: #76
+#73 := (= #12 #72)
+#70 := (= #11 -3::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80]: #82
+#68 := [asserted]: #15
+#86 := [mp #68 #83]: #81
+#659 := (not #744)
+#656 := (or #659 #78)
+#406 := (* -1::Int -3::Int)
+#405 := (* -1::Int 1::Int)
+#738 := (div #405 #406)
+#739 := (* -1::Int #738)
+#740 := (+ #72 #739)
+#741 := (= #740 0::Int)
+#737 := (div 1::Int -3::Int)
+#394 := (* -1::Int #737)
+#524 := (+ #72 #394)
+#731 := (= #524 0::Int)
+#418 := (<= -3::Int 0::Int)
+#417 := (>= 1::Int 0::Int)
+#421 := (or #417 #418)
+#400 := (not #421)
+#407 := (<= 1::Int 0::Int)
+#419 := (or #407 #418)
+#420 := (not #419)
+#735 := (or #420 #400)
+#736 := (if #735 #731 #741)
+#416 := (= #72 0::Int)
+#414 := (= -3::Int 0::Int)
+#330 := (= 1::Int 0::Int)
+#415 := (or #330 #414)
+#742 := (if #415 #416 #736)
+#658 := (or #659 #742)
+#669 := (iff #658 #656)
+#666 := (iff #656 #656)
+#671 := [rewrite]: #666
+#665 := (iff #742 #78)
+#572 := (if false #416 #78)
+#582 := (iff #572 #78)
+#583 := [rewrite]: #582
+#674 := (iff #742 #572)
+#584 := (iff #736 #78)
+#580 := (iff #736 #572)
+#578 := (iff #741 #78)
+#567 := (+ 1::Int #72)
+#672 := (= #567 0::Int)
+#561 := (iff #672 #78)
+#576 := [rewrite]: #561
+#673 := (iff #741 #672)
+#675 := (= #740 #567)
+#681 := (+ #72 1::Int)
+#568 := (= #681 #567)
+#527 := [rewrite]: #568
+#684 := (= #740 #681)
+#682 := (= #739 1::Int)
+#523 := (* -1::Int -1::Int)
+#679 := (= #523 1::Int)
+#680 := [rewrite]: #679
+#525 := (= #739 #523)
+#687 := (= #738 -1::Int)
+#691 := (div -1::Int 3::Int)
+#692 := (= #691 -1::Int)
+#693 := [rewrite]: #692
+#685 := (= #738 #691)
+#689 := (= #406 3::Int)
+#690 := [rewrite]: #689
+#546 := (= #405 -1::Int)
+#688 := [rewrite]: #546
+#686 := [monotonicity #688 #690]: #685
+#694 := [trans #686 #693]: #687
+#526 := [monotonicity #694]: #525
+#683 := [trans #526 #680]: #682
+#566 := [monotonicity #683]: #684
+#577 := [trans #566 #527]: #675
+#676 := [monotonicity #577]: #673
+#579 := [trans #676 #576]: #578
+#544 := (iff #731 #416)
+#697 := (= #524 #72)
+#700 := (+ #72 0::Int)
+#701 := (= #700 #72)
+#702 := [rewrite]: #701
+#695 := (= #524 #700)
+#698 := (= #394 0::Int)
+#422 := (* -1::Int 0::Int)
+#705 := (= #422 0::Int)
+#709 := [rewrite]: #705
+#704 := (= #394 #422)
+#706 := (= #737 0::Int)
+#707 := [rewrite]: #706
+#708 := [monotonicity #707]: #704
+#699 := [trans #708 #709]: #698
+#696 := [monotonicity #699]: #695
+#703 := [trans #696 #702]: #697
+#545 := [monotonicity #703]: #544
+#427 := (iff #735 false)
+#393 := (or false false)
+#718 := (iff #393 false)
+#381 := [rewrite]: #718
+#425 := (iff #735 #393)
+#711 := (iff #400 false)
+#1 := true
+#368 := (not true)
+#727 := (iff #368 false)
+#730 := [rewrite]: #727
+#710 := (iff #400 #368)
+#435 := (iff #421 true)
+#441 := (or true true)
+#712 := (iff #441 true)
+#713 := [rewrite]: #712
+#442 := (iff #421 #441)
+#721 := (iff #418 true)
+#722 := [rewrite]: #721
+#439 := (iff #417 true)
+#440 := [rewrite]: #439
+#336 := [monotonicity #440 #722]: #442
+#436 := [trans #336 #713]: #435
+#714 := [monotonicity #436]: #710
+#715 := [trans #714 #730]: #711
+#716 := (iff #420 false)
+#369 := (iff #420 #368)
+#726 := (iff #419 true)
+#723 := (or false true)
+#725 := (iff #723 true)
+#363 := [rewrite]: #725
+#724 := (iff #419 #723)
+#384 := (iff #407 false)
+#720 := [rewrite]: #384
+#719 := [monotonicity #720 #722]: #724
+#728 := [trans #719 #363]: #726
+#729 := [monotonicity #728]: #369
+#717 := [trans #729 #730]: #716
+#426 := [monotonicity #717 #715]: #425
+#428 := [trans #426 #381]: #427
+#581 := [monotonicity #428 #545 #579]: #580
+#677 := [trans #581 #583]: #584
+#382 := (iff #415 false)
+#734 := (iff #415 #393)
+#397 := (iff #414 false)
+#733 := [rewrite]: #397
+#732 := (iff #330 false)
+#392 := [rewrite]: #732
+#377 := [monotonicity #392 #733]: #734
+#383 := [trans #377 #381]: #382
+#678 := [monotonicity #383 #677]: #674
+#667 := [trans #678 #583]: #665
+#670 := [monotonicity #667]: #669
+#660 := [trans #670 #671]: #669
+#668 := [quant-inst #8 #69]: #658
+#661 := [mp #668 #660]: #656
+[unit-resolution #661 #86 #749]: false
+unsat
+96a820c8e0e11b411d8512a13b417469ec37ea05 305 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -30884,99 +28792,75 @@
 #7 := f5
 #17 := (f4 f5 #16)
 #19 := (f3 #17 #18)
-#700 := (pattern #19)
+#743 := (pattern #19)
 #20 := 0::Int
-#62 := -1::Int
-#101 := (* -1::Int #18)
-#98 := (* -1::Int #16)
-#104 := (div #98 #101)
-#260 := (* -1::Int #104)
-#261 := (+ #19 #260)
-#262 := (= #261 0::Int)
+#75 := -1::Int
+#89 := (* -1::Int #18)
+#85 := (* -1::Int #16)
+#92 := (div #85 #89)
+#243 := (* -1::Int #92)
+#244 := (+ #19 #243)
+#245 := (= #244 0::Int)
 #30 := (div #16 #18)
-#257 := (* -1::Int #30)
-#258 := (+ #19 #257)
-#259 := (= #258 0::Int)
-#76 := (<= #18 0::Int)
-#167 := (>= #16 0::Int)
-#220 := (or #167 #76)
-#221 := (not #220)
-#72 := (<= #16 0::Int)
-#216 := (or #72 #76)
-#217 := (not #216)
-#224 := (or #217 #221)
-#263 := (if #224 #259 #262)
-#256 := (= #19 0::Int)
+#240 := (* -1::Int #30)
+#241 := (+ #19 #240)
+#242 := (= #241 0::Int)
+#111 := (<= #18 0::Int)
+#118 := (>= #16 0::Int)
+#203 := (or #118 #111)
+#204 := (not #203)
+#107 := (<= #16 0::Int)
+#201 := (or #107 #111)
+#202 := (not #201)
+#207 := (or #202 #204)
+#246 := (if #207 #242 #245)
+#239 := (= #19 0::Int)
 #22 := (= #18 0::Int)
 #21 := (= #16 0::Int)
 #23 := (or #21 #22)
-#264 := (if #23 #256 #263)
-#701 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #700) #264)
-#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
-#704 := (iff #267 #701)
-#702 := (iff #264 #264)
-#703 := [refl]: #702
-#705 := [quant-intro #703]: #704
-#227 := (if #224 #30 #104)
-#230 := (if #23 0::Int #227)
-#233 := (= #19 #230)
-#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
-#268 := (iff #236 #267)
-#265 := (iff #233 #264)
-#266 := [rewrite]: #265
-#269 := [quant-intro #266]: #268
-#77 := (not #76)
-#170 := (not #167)
-#173 := (and #170 #77)
-#73 := (not #72)
-#80 := (and #73 #77)
-#176 := (or #80 #173)
-#179 := (if #176 #30 #104)
-#182 := (if #23 0::Int #179)
-#185 := (= #19 #182)
-#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
-#237 := (iff #188 #236)
-#234 := (iff #185 #233)
-#231 := (= #182 #230)
-#228 := (= #179 #227)
-#225 := (iff #176 #224)
-#222 := (iff #173 #221)
-#223 := [rewrite]: #222
-#218 := (iff #80 #217)
-#219 := [rewrite]: #218
-#226 := [monotonicity #219 #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [quant-intro #235]: #237
-#165 := (~ #188 #188)
-#208 := (~ #185 #185)
-#209 := [refl]: #208
-#166 := [nnf-pos #209]: #165
-#83 := (<= 0::Int #16)
-#84 := (not #83)
-#92 := (and #84 #77)
-#95 := (or #80 #92)
-#107 := (if #95 #30 #104)
-#110 := (if #23 0::Int #107)
-#113 := (= #19 #110)
-#116 := (forall (vars (?v0 Int) (?v1 Int)) #113)
-#189 := (iff #116 #188)
-#186 := (iff #113 #185)
-#183 := (= #110 #182)
-#180 := (= #107 #179)
-#177 := (iff #95 #176)
-#174 := (iff #92 #173)
-#171 := (iff #84 #170)
-#168 := (iff #83 #167)
-#169 := [rewrite]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [quant-intro #187]: #189
+#247 := (if #23 #239 #246)
+#744 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #743) #247)
+#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
+#747 := (iff #250 #744)
+#745 := (iff #247 #247)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#210 := (if #207 #30 #92)
+#213 := (if #23 0::Int #210)
+#216 := (= #19 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#251 := (iff #219 #250)
+#248 := (iff #216 #247)
+#249 := [rewrite]: #248
+#252 := [quant-intro #249]: #251
+#112 := (not #111)
+#119 := (not #118)
+#122 := (and #119 #112)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#128 := (if #125 #30 #92)
+#131 := (if #23 0::Int #128)
+#134 := (= #19 #131)
+#137 := (forall (vars (?v0 Int) (?v1 Int)) #134)
+#220 := (iff #137 #219)
+#217 := (iff #134 #216)
+#214 := (= #131 #213)
+#211 := (= #128 #210)
+#208 := (iff #125 #207)
+#205 := (iff #122 #204)
+#206 := [rewrite]: #205
+#195 := (iff #115 #202)
+#196 := [rewrite]: #195
+#209 := [monotonicity #196 #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#199 := (~ #137 #137)
+#197 := (~ #134 #134)
+#198 := [refl]: #197
+#200 := [nnf-pos #198]: #199
 #32 := (- #18)
 #31 := (- #16)
 #33 := (div #31 #32)
@@ -30990,213 +28874,221 @@
 #35 := (if #23 0::Int #34)
 #36 := (= #19 #35)
 #37 := (forall (vars (?v0 Int) (?v1 Int)) #36)
-#117 := (iff #37 #116)
-#114 := (iff #36 #113)
-#111 := (= #35 #110)
-#108 := (= #34 #107)
-#105 := (= #33 #104)
-#102 := (= #32 #101)
-#103 := [rewrite]: #102
-#99 := (= #31 #98)
-#100 := [rewrite]: #99
-#106 := [monotonicity #100 #103]: #105
-#96 := (iff #29 #95)
-#93 := (iff #28 #92)
-#78 := (iff #25 #77)
-#79 := [rewrite]: #78
-#85 := (iff #27 #84)
-#89 := (iff #84 #84)
-#87 := (iff #83 #83)
+#140 := (iff #37 #137)
+#95 := (if #29 #30 #92)
+#98 := (if #23 0::Int #95)
+#101 := (= #19 #98)
+#104 := (forall (vars (?v0 Int) (?v1 Int)) #101)
+#138 := (iff #104 #137)
+#135 := (iff #101 #134)
+#132 := (= #98 #131)
+#129 := (= #95 #128)
+#126 := (iff #29 #125)
+#123 := (iff #28 #122)
+#113 := (iff #25 #112)
+#114 := [rewrite]: #113
+#120 := (iff #27 #119)
+#121 := [rewrite]: #120
+#124 := [monotonicity #121 #114]: #123
+#116 := (iff #26 #115)
+#109 := (iff #24 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [monotonicity #133]: #135
+#139 := [quant-intro #136]: #138
+#105 := (iff #37 #104)
+#102 := (iff #36 #101)
+#99 := (= #35 #98)
+#96 := (= #34 #95)
+#93 := (= #33 #92)
+#90 := (= #32 #89)
+#91 := [rewrite]: #90
+#87 := (= #31 #85)
 #88 := [rewrite]: #87
-#90 := [monotonicity #88]: #89
-#86 := [rewrite]: #85
-#91 := [trans #86 #90]: #85
-#94 := [monotonicity #91 #79]: #93
-#81 := (iff #26 #80)
-#74 := (iff #24 #73)
-#75 := [rewrite]: #74
-#82 := [monotonicity #75 #79]: #81
-#97 := [monotonicity #82 #94]: #96
-#109 := [monotonicity #97 #106]: #108
-#112 := [monotonicity #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [quant-intro #115]: #117
-#51 := [asserted]: #37
-#119 := [mp #51 #118]: #116
-#191 := [mp #119 #190]: #188
-#210 := [mp~ #191 #166]: #188
-#239 := [mp #210 #238]: #236
-#270 := [mp #239 #269]: #267
-#706 := [mp #270 #705]: #701
-#56 := -3::Int
+#94 := [monotonicity #88 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#106 := [quant-intro #103]: #105
+#141 := [trans #106 #139]: #140
+#84 := [asserted]: #37
+#142 := [mp #84 #141]: #137
+#191 := [mp~ #142 #200]: #137
+#222 := [mp #191 #221]: #219
+#253 := [mp #222 #252]: #250
+#749 := [mp #253 #748]: #744
+#69 := -3::Int
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
-#59 := (f3 #9 -3::Int)
-#65 := (= #59 -1::Int)
-#68 := (not #65)
+#72 := (f3 #9 -3::Int)
+#78 := (= #72 -1::Int)
+#81 := (not #78)
 #12 := 1::Int
 #13 := (- 1::Int)
 #10 := (- 3::Int)
 #11 := (f3 #9 #10)
 #14 := (= #11 #13)
 #15 := (not #14)
-#69 := (iff #15 #68)
-#66 := (iff #14 #65)
-#63 := (= #13 -1::Int)
-#64 := [rewrite]: #63
-#60 := (= #11 #59)
-#57 := (= #10 -3::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#70 := [monotonicity #67]: #69
-#50 := [asserted]: #15
-#71 := [mp #50 #70]: #68
-#624 := (not #701)
-#616 := (or #624 #65)
-#363 := (* -1::Int -3::Int)
-#362 := (* -1::Int 3::Int)
-#695 := (div #362 #363)
-#696 := (* -1::Int #695)
-#697 := (+ #59 #696)
-#698 := (= #697 0::Int)
-#694 := (div 3::Int -3::Int)
-#351 := (* -1::Int #694)
-#481 := (+ #59 #351)
-#688 := (= #481 0::Int)
-#375 := (<= -3::Int 0::Int)
-#374 := (>= 3::Int 0::Int)
-#378 := (or #374 #375)
-#357 := (not #378)
-#364 := (<= 3::Int 0::Int)
-#376 := (or #364 #375)
-#377 := (not #376)
-#692 := (or #377 #357)
-#693 := (if #692 #688 #698)
-#373 := (= #59 0::Int)
-#371 := (= -3::Int 0::Int)
-#287 := (= 3::Int 0::Int)
-#372 := (or #287 #371)
-#699 := (if #372 #373 #693)
-#613 := (or #624 #699)
-#625 := (iff #613 #616)
-#627 := (iff #616 #616)
-#623 := [rewrite]: #627
-#635 := (iff #699 #65)
-#539 := (if false #373 #65)
-#634 := (iff #539 #65)
-#631 := [rewrite]: #634
-#540 := (iff #699 #539)
-#537 := (iff #693 #65)
-#518 := (if false #65 #65)
-#536 := (iff #518 #65)
-#529 := [rewrite]: #536
-#533 := (iff #693 #518)
-#630 := (iff #698 #65)
-#658 := (+ 1::Int #59)
-#502 := (= #658 0::Int)
-#646 := (iff #502 #65)
-#647 := [rewrite]: #646
-#534 := (iff #698 #502)
-#484 := (= #697 #658)
-#657 := (+ #59 1::Int)
-#659 := (= #657 #658)
-#654 := [rewrite]: #659
-#524 := (= #697 #657)
-#641 := (= #696 1::Int)
-#379 := (* -1::Int -1::Int)
-#662 := (= #379 1::Int)
-#666 := [rewrite]: #662
-#640 := (= #696 #379)
-#637 := (= #695 -1::Int)
-#651 := (div -3::Int 3::Int)
-#483 := (= #651 -1::Int)
-#636 := [rewrite]: #483
-#480 := (= #695 #651)
-#650 := (= #363 3::Int)
-#644 := [rewrite]: #650
-#643 := (= #362 -3::Int)
-#649 := [rewrite]: #643
-#482 := [monotonicity #649 #644]: #480
-#639 := [trans #482 #636]: #637
-#638 := [monotonicity #639]: #640
-#523 := [trans #638 #666]: #641
-#525 := [monotonicity #523]: #524
-#632 := [trans #525 #654]: #484
-#629 := [monotonicity #632]: #534
-#633 := [trans #629 #647]: #630
-#648 := (iff #688 #65)
-#503 := (iff #688 #502)
-#660 := (= #481 #658)
-#652 := (= #481 #657)
-#655 := (= #351 1::Int)
-#661 := (= #351 #379)
-#663 := (= #694 -1::Int)
-#664 := [rewrite]: #663
-#665 := [monotonicity #664]: #661
-#656 := [trans #665 #666]: #655
-#653 := [monotonicity #656]: #652
-#501 := [trans #653 #654]: #660
-#645 := [monotonicity #501]: #503
-#642 := [trans #645 #647]: #648
-#384 := (iff #692 false)
-#350 := (or false false)
-#675 := (iff #350 false)
-#338 := [rewrite]: #675
-#382 := (iff #692 #350)
-#668 := (iff #357 false)
-#1 := true
-#325 := (not true)
-#684 := (iff #325 false)
-#687 := [rewrite]: #684
-#667 := (iff #357 #325)
-#392 := (iff #378 true)
-#398 := (or true true)
-#669 := (iff #398 true)
-#670 := [rewrite]: #669
-#399 := (iff #378 #398)
-#678 := (iff #375 true)
-#679 := [rewrite]: #678
-#396 := (iff #374 true)
-#397 := [rewrite]: #396
-#293 := [monotonicity #397 #679]: #399
-#393 := [trans #293 #670]: #392
-#671 := [monotonicity #393]: #667
-#672 := [trans #671 #687]: #668
-#673 := (iff #377 false)
-#326 := (iff #377 #325)
-#683 := (iff #376 true)
-#680 := (or false true)
-#682 := (iff #680 true)
-#320 := [rewrite]: #682
-#681 := (iff #376 #680)
-#341 := (iff #364 false)
-#677 := [rewrite]: #341
-#676 := [monotonicity #677 #679]: #681
-#685 := [trans #676 #320]: #683
-#686 := [monotonicity #685]: #326
-#674 := [trans #686 #687]: #673
-#383 := [monotonicity #674 #672]: #382
-#385 := [trans #383 #338]: #384
-#535 := [monotonicity #385 #642 #633]: #533
-#538 := [trans #535 #529]: #537
-#339 := (iff #372 false)
-#691 := (iff #372 #350)
-#354 := (iff #371 false)
-#690 := [rewrite]: #354
-#689 := (iff #287 false)
-#349 := [rewrite]: #689
-#334 := [monotonicity #349 #690]: #691
-#340 := [trans #334 #338]: #339
-#541 := [monotonicity #340 #538]: #540
-#622 := [trans #541 #631]: #635
-#626 := [monotonicity #622]: #625
-#628 := [trans #626 #623]: #625
-#615 := [quant-inst #8 #56]: #613
-#617 := [mp #615 #628]: #616
-[unit-resolution #617 #71 #706]: false
-b17d0a5f28b546cd2d43a494f2d86e3a5351ba17 336 0
-unsat
+#82 := (iff #15 #81)
+#79 := (iff #14 #78)
+#76 := (= #13 -1::Int)
+#77 := [rewrite]: #76
+#73 := (= #11 #72)
+#70 := (= #10 -3::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80]: #82
+#68 := [asserted]: #15
+#86 := [mp #68 #83]: #81
+#667 := (not #744)
+#659 := (or #667 #78)
+#406 := (* -1::Int -3::Int)
+#405 := (* -1::Int 3::Int)
+#738 := (div #405 #406)
+#739 := (* -1::Int #738)
+#740 := (+ #72 #739)
+#741 := (= #740 0::Int)
+#737 := (div 3::Int -3::Int)
+#394 := (* -1::Int #737)
+#524 := (+ #72 #394)
+#731 := (= #524 0::Int)
+#418 := (<= -3::Int 0::Int)
+#417 := (>= 3::Int 0::Int)
+#421 := (or #417 #418)
+#400 := (not #421)
+#407 := (<= 3::Int 0::Int)
+#419 := (or #407 #418)
+#420 := (not #419)
+#735 := (or #420 #400)
+#736 := (if #735 #731 #741)
+#416 := (= #72 0::Int)
+#414 := (= -3::Int 0::Int)
+#330 := (= 3::Int 0::Int)
+#415 := (or #330 #414)
+#742 := (if #415 #416 #736)
+#656 := (or #667 #742)
+#668 := (iff #656 #659)
+#670 := (iff #659 #659)
+#666 := [rewrite]: #670
+#678 := (iff #742 #78)
+#582 := (if false #416 #78)
+#677 := (iff #582 #78)
+#674 := [rewrite]: #677
+#583 := (iff #742 #582)
+#580 := (iff #736 #78)
+#561 := (if false #78 #78)
+#579 := (iff #561 #78)
+#572 := [rewrite]: #579
+#576 := (iff #736 #561)
+#673 := (iff #741 #78)
+#701 := (+ 1::Int #72)
+#545 := (= #701 0::Int)
+#689 := (iff #545 #78)
+#690 := [rewrite]: #689
+#577 := (iff #741 #545)
+#527 := (= #740 #701)
+#700 := (+ #72 1::Int)
+#702 := (= #700 #701)
+#697 := [rewrite]: #702
+#567 := (= #740 #700)
+#684 := (= #739 1::Int)
+#422 := (* -1::Int -1::Int)
+#705 := (= #422 1::Int)
+#709 := [rewrite]: #705
+#683 := (= #739 #422)
+#680 := (= #738 -1::Int)
+#694 := (div -3::Int 3::Int)
+#526 := (= #694 -1::Int)
+#679 := [rewrite]: #526
+#523 := (= #738 #694)
+#693 := (= #406 3::Int)
+#687 := [rewrite]: #693
+#686 := (= #405 -3::Int)
+#692 := [rewrite]: #686
+#525 := [monotonicity #692 #687]: #523
+#682 := [trans #525 #679]: #680
+#681 := [monotonicity #682]: #683
+#566 := [trans #681 #709]: #684
+#568 := [monotonicity #566]: #567
+#675 := [trans #568 #697]: #527
+#672 := [monotonicity #675]: #577
+#676 := [trans #672 #690]: #673
+#691 := (iff #731 #78)
+#546 := (iff #731 #545)
+#703 := (= #524 #701)
+#695 := (= #524 #700)
+#698 := (= #394 1::Int)
+#704 := (= #394 #422)
+#706 := (= #737 -1::Int)
+#707 := [rewrite]: #706
+#708 := [monotonicity #707]: #704
+#699 := [trans #708 #709]: #698
+#696 := [monotonicity #699]: #695
+#544 := [trans #696 #697]: #703
+#688 := [monotonicity #544]: #546
+#685 := [trans #688 #690]: #691
+#427 := (iff #735 false)
+#393 := (or false false)
+#718 := (iff #393 false)
+#381 := [rewrite]: #718
+#425 := (iff #735 #393)
+#711 := (iff #400 false)
+#1 := true
+#368 := (not true)
+#727 := (iff #368 false)
+#730 := [rewrite]: #727
+#710 := (iff #400 #368)
+#435 := (iff #421 true)
+#441 := (or true true)
+#712 := (iff #441 true)
+#713 := [rewrite]: #712
+#442 := (iff #421 #441)
+#721 := (iff #418 true)
+#722 := [rewrite]: #721
+#439 := (iff #417 true)
+#440 := [rewrite]: #439
+#336 := [monotonicity #440 #722]: #442
+#436 := [trans #336 #713]: #435
+#714 := [monotonicity #436]: #710
+#715 := [trans #714 #730]: #711
+#716 := (iff #420 false)
+#369 := (iff #420 #368)
+#726 := (iff #419 true)
+#723 := (or false true)
+#725 := (iff #723 true)
+#363 := [rewrite]: #725
+#724 := (iff #419 #723)
+#384 := (iff #407 false)
+#720 := [rewrite]: #384
+#719 := [monotonicity #720 #722]: #724
+#728 := [trans #719 #363]: #726
+#729 := [monotonicity #728]: #369
+#717 := [trans #729 #730]: #716
+#426 := [monotonicity #717 #715]: #425
+#428 := [trans #426 #381]: #427
+#578 := [monotonicity #428 #685 #676]: #576
+#581 := [trans #578 #572]: #580
+#382 := (iff #415 false)
+#734 := (iff #415 #393)
+#397 := (iff #414 false)
+#733 := [rewrite]: #397
+#732 := (iff #330 false)
+#392 := [rewrite]: #732
+#377 := [monotonicity #392 #733]: #734
+#383 := [trans #377 #381]: #382
+#584 := [monotonicity #383 #581]: #583
+#665 := [trans #584 #674]: #678
+#669 := [monotonicity #665]: #668
+#671 := [trans #669 #666]: #668
+#658 := [quant-inst #8 #69]: #656
+#660 := [mp #658 #671]: #659
+[unit-resolution #660 #86 #749]: false
+unsat
+2a80a49785a4b459138949d07841039c329934c0 320 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -31206,99 +29098,75 @@
 #7 := f5
 #18 := (f4 f5 #17)
 #20 := (f3 #18 #19)
-#703 := (pattern #20)
+#744 := (pattern #20)
 #21 := 0::Int
-#99 := -1::Int
-#103 := (* -1::Int #19)
-#100 := (* -1::Int #17)
-#106 := (div #100 #103)
-#262 := (* -1::Int #106)
-#263 := (+ #20 #262)
-#264 := (= #263 0::Int)
+#86 := -1::Int
+#91 := (* -1::Int #19)
+#88 := (* -1::Int #17)
+#94 := (div #88 #91)
+#245 := (* -1::Int #94)
+#246 := (+ #20 #245)
+#247 := (= #246 0::Int)
 #31 := (div #17 #19)
-#259 := (* -1::Int #31)
-#260 := (+ #20 #259)
-#261 := (= #260 0::Int)
-#77 := (<= #19 0::Int)
-#169 := (>= #17 0::Int)
-#222 := (or #169 #77)
-#223 := (not #222)
-#73 := (<= #17 0::Int)
-#218 := (or #73 #77)
-#219 := (not #218)
-#226 := (or #219 #223)
-#265 := (if #226 #261 #264)
-#258 := (= #20 0::Int)
+#242 := (* -1::Int #31)
+#243 := (+ #20 #242)
+#244 := (= #243 0::Int)
+#113 := (<= #19 0::Int)
+#120 := (>= #17 0::Int)
+#205 := (or #120 #113)
+#206 := (not #205)
+#109 := (<= #17 0::Int)
+#203 := (or #109 #113)
+#204 := (not #203)
+#209 := (or #204 #206)
+#248 := (if #209 #244 #247)
+#241 := (= #20 0::Int)
 #23 := (= #19 0::Int)
 #22 := (= #17 0::Int)
 #24 := (or #22 #23)
-#266 := (if #24 #258 #265)
-#704 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #703) #266)
-#269 := (forall (vars (?v0 Int) (?v1 Int)) #266)
-#707 := (iff #269 #704)
-#705 := (iff #266 #266)
-#706 := [refl]: #705
-#708 := [quant-intro #706]: #707
-#229 := (if #226 #31 #106)
-#232 := (if #24 0::Int #229)
-#235 := (= #20 #232)
-#238 := (forall (vars (?v0 Int) (?v1 Int)) #235)
-#270 := (iff #238 #269)
-#267 := (iff #235 #266)
-#268 := [rewrite]: #267
-#271 := [quant-intro #268]: #270
-#78 := (not #77)
-#172 := (not #169)
-#175 := (and #172 #78)
-#74 := (not #73)
-#81 := (and #74 #78)
-#178 := (or #81 #175)
-#181 := (if #178 #31 #106)
-#184 := (if #24 0::Int #181)
-#187 := (= #20 #184)
-#190 := (forall (vars (?v0 Int) (?v1 Int)) #187)
-#239 := (iff #190 #238)
-#236 := (iff #187 #235)
-#233 := (= #184 #232)
-#230 := (= #181 #229)
-#227 := (iff #178 #226)
-#224 := (iff #175 #223)
-#225 := [rewrite]: #224
-#220 := (iff #81 #219)
-#221 := [rewrite]: #220
-#228 := [monotonicity #221 #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [monotonicity #234]: #236
-#240 := [quant-intro #237]: #239
-#214 := (~ #190 #190)
-#212 := (~ #187 #187)
-#213 := [refl]: #212
-#215 := [nnf-pos #213]: #214
-#84 := (<= 0::Int #17)
-#85 := (not #84)
-#93 := (and #85 #78)
-#96 := (or #81 #93)
-#109 := (if #96 #31 #106)
-#112 := (if #24 0::Int #109)
-#115 := (= #20 #112)
-#118 := (forall (vars (?v0 Int) (?v1 Int)) #115)
-#191 := (iff #118 #190)
-#188 := (iff #115 #187)
-#185 := (= #112 #184)
-#182 := (= #109 #181)
-#179 := (iff #96 #178)
-#176 := (iff #93 #175)
-#173 := (iff #85 #172)
-#170 := (iff #84 #169)
-#171 := [rewrite]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [quant-intro #189]: #191
+#249 := (if #24 #241 #248)
+#745 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #744) #249)
+#252 := (forall (vars (?v0 Int) (?v1 Int)) #249)
+#748 := (iff #252 #745)
+#746 := (iff #249 #249)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#212 := (if #209 #31 #94)
+#215 := (if #24 0::Int #212)
+#218 := (= #20 #215)
+#221 := (forall (vars (?v0 Int) (?v1 Int)) #218)
+#253 := (iff #221 #252)
+#250 := (iff #218 #249)
+#251 := [rewrite]: #250
+#254 := [quant-intro #251]: #253
+#114 := (not #113)
+#121 := (not #120)
+#124 := (and #121 #114)
+#110 := (not #109)
+#117 := (and #110 #114)
+#127 := (or #117 #124)
+#130 := (if #127 #31 #94)
+#133 := (if #24 0::Int #130)
+#136 := (= #20 #133)
+#139 := (forall (vars (?v0 Int) (?v1 Int)) #136)
+#222 := (iff #139 #221)
+#219 := (iff #136 #218)
+#216 := (= #133 #215)
+#213 := (= #130 #212)
+#210 := (iff #127 #209)
+#207 := (iff #124 #206)
+#208 := [rewrite]: #207
+#197 := (iff #117 #204)
+#198 := [rewrite]: #197
+#211 := [monotonicity #198 #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#223 := [quant-intro #220]: #222
+#201 := (~ #139 #139)
+#199 := (~ #136 #136)
+#200 := [refl]: #199
+#202 := [nnf-pos #200]: #201
 #33 := (- #19)
 #32 := (- #17)
 #34 := (div #32 #33)
@@ -31312,51 +29180,59 @@
 #36 := (if #24 0::Int #35)
 #37 := (= #20 #36)
 #38 := (forall (vars (?v0 Int) (?v1 Int)) #37)
-#119 := (iff #38 #118)
-#116 := (iff #37 #115)
-#113 := (= #36 #112)
-#110 := (= #35 #109)
-#107 := (= #34 #106)
-#104 := (= #33 #103)
-#105 := [rewrite]: #104
-#101 := (= #32 #100)
-#102 := [rewrite]: #101
-#108 := [monotonicity #102 #105]: #107
-#97 := (iff #30 #96)
-#94 := (iff #29 #93)
-#79 := (iff #26 #78)
-#80 := [rewrite]: #79
-#86 := (iff #28 #85)
-#90 := (iff #85 #85)
-#88 := (iff #84 #84)
-#89 := [rewrite]: #88
-#91 := [monotonicity #89]: #90
-#87 := [rewrite]: #86
-#92 := [trans #87 #91]: #86
-#95 := [monotonicity #92 #80]: #94
-#82 := (iff #27 #81)
-#75 := (iff #25 #74)
-#76 := [rewrite]: #75
-#83 := [monotonicity #76 #80]: #82
-#98 := [monotonicity #83 #95]: #97
-#111 := [monotonicity #98 #108]: #110
-#114 := [monotonicity #111]: #113
-#117 := [monotonicity #114]: #116
-#120 := [quant-intro #117]: #119
-#52 := [asserted]: #38
-#121 := [mp #52 #120]: #118
-#193 := [mp #121 #192]: #190
-#167 := [mp~ #193 #215]: #190
-#241 := [mp #167 #240]: #238
-#272 := [mp #241 #271]: #269
-#709 := [mp #272 #708]: #704
-#63 := -2::Int
-#57 := -3::Int
+#142 := (iff #38 #139)
+#97 := (if #30 #31 #94)
+#100 := (if #24 0::Int #97)
+#103 := (= #20 #100)
+#106 := (forall (vars (?v0 Int) (?v1 Int)) #103)
+#140 := (iff #106 #139)
+#137 := (iff #103 #136)
+#134 := (= #100 #133)
+#131 := (= #97 #130)
+#128 := (iff #30 #127)
+#125 := (iff #29 #124)
+#115 := (iff #26 #114)
+#116 := [rewrite]: #115
+#122 := (iff #28 #121)
+#123 := [rewrite]: #122
+#126 := [monotonicity #123 #116]: #125
+#118 := (iff #27 #117)
+#111 := (iff #25 #110)
+#112 := [rewrite]: #111
+#119 := [monotonicity #112 #116]: #118
+#129 := [monotonicity #119 #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [monotonicity #135]: #137
+#141 := [quant-intro #138]: #140
+#107 := (iff #38 #106)
+#104 := (iff #37 #103)
+#101 := (= #36 #100)
+#98 := (= #35 #97)
+#95 := (= #34 #94)
+#92 := (= #33 #91)
+#93 := [rewrite]: #92
+#89 := (= #32 #88)
+#90 := [rewrite]: #89
+#96 := [monotonicity #90 #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [monotonicity #99]: #101
+#105 := [monotonicity #102]: #104
+#108 := [quant-intro #105]: #107
+#143 := [trans #108 #141]: #142
+#85 := [asserted]: #38
+#144 := [mp #85 #143]: #139
+#193 := [mp~ #144 #202]: #139
+#224 := [mp #193 #223]: #221
+#255 := [mp #224 #254]: #252
+#750 := [mp #255 #749]: #745
+#76 := -2::Int
+#70 := -3::Int
 #8 := 5::Int
 #9 := (f4 f5 5::Int)
-#60 := (f3 #9 -3::Int)
-#66 := (= #60 -2::Int)
-#69 := (not #66)
+#73 := (f3 #9 -3::Int)
+#79 := (= #73 -2::Int)
+#82 := (not #79)
 #13 := 2::Int
 #14 := (- 2::Int)
 #10 := 3::Int
@@ -31364,176 +29240,176 @@
 #12 := (f3 #9 #11)
 #15 := (= #12 #14)
 #16 := (not #15)
-#70 := (iff #16 #69)
-#67 := (iff #15 #66)
-#64 := (= #14 -2::Int)
-#65 := [rewrite]: #64
-#61 := (= #12 #60)
-#58 := (= #11 -3::Int)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#68 := [monotonicity #62 #65]: #67
-#71 := [monotonicity #68]: #70
-#51 := [asserted]: #16
-#72 := [mp #51 #71]: #69
-#623 := (not #704)
-#617 := (or #623 #66)
-#366 := (* -1::Int -3::Int)
-#365 := (* -1::Int 5::Int)
-#698 := (div #365 #366)
-#699 := (* -1::Int #698)
-#700 := (+ #60 #699)
-#701 := (= #700 0::Int)
-#697 := (div 5::Int -3::Int)
-#354 := (* -1::Int #697)
-#484 := (+ #60 #354)
-#691 := (= #484 0::Int)
-#378 := (<= -3::Int 0::Int)
-#377 := (>= 5::Int 0::Int)
-#381 := (or #377 #378)
-#360 := (not #381)
-#367 := (<= 5::Int 0::Int)
-#379 := (or #367 #378)
-#380 := (not #379)
-#695 := (or #380 #360)
-#696 := (if #695 #691 #701)
-#376 := (= #60 0::Int)
-#374 := (= -3::Int 0::Int)
-#289 := (= 5::Int 0::Int)
-#375 := (or #289 #374)
-#702 := (if #375 #376 #696)
-#624 := (or #623 #702)
-#609 := (iff #624 #617)
-#612 := (iff #617 #617)
-#613 := [rewrite]: #612
-#621 := (iff #702 #66)
-#629 := (if false #376 #66)
-#631 := (iff #629 #66)
-#620 := [rewrite]: #631
-#630 := (iff #702 #629)
-#618 := (iff #696 #66)
-#649 := (= #60 -1::Int)
-#638 := (if false #649 #66)
-#619 := (iff #638 #66)
-#616 := [rewrite]: #619
-#625 := (iff #696 #638)
-#637 := (iff #701 #66)
-#521 := (+ 2::Int #60)
-#540 := (= #521 0::Int)
-#543 := (iff #540 #66)
-#544 := [rewrite]: #543
-#541 := (iff #701 #540)
-#539 := (= #700 #521)
-#632 := (+ #60 2::Int)
-#536 := (= #632 #521)
-#538 := [rewrite]: #536
-#633 := (= #700 #632)
-#635 := (= #699 2::Int)
-#644 := (* -1::Int -2::Int)
-#528 := (= #644 2::Int)
-#487 := [rewrite]: #528
-#526 := (= #699 #644)
-#643 := (= #698 -2::Int)
-#652 := -5::Int
-#485 := (div -5::Int 3::Int)
-#640 := (= #485 -2::Int)
-#642 := [rewrite]: #640
-#486 := (= #698 #485)
-#654 := (= #366 3::Int)
-#483 := [rewrite]: #654
-#653 := (= #365 -5::Int)
-#647 := [rewrite]: #653
-#639 := [monotonicity #647 #483]: #486
-#641 := [trans #639 #642]: #643
-#527 := [monotonicity #641]: #526
-#537 := [trans #527 #487]: #635
-#636 := [monotonicity #537]: #633
-#532 := [trans #636 #538]: #539
-#542 := [monotonicity #532]: #541
-#634 := [trans #542 #544]: #637
-#645 := (iff #691 #649)
-#307 := 1::Int
-#661 := (+ 1::Int #60)
-#505 := (= #661 0::Int)
-#650 := (iff #505 #649)
-#651 := [rewrite]: #650
-#506 := (iff #691 #505)
-#663 := (= #484 #661)
-#660 := (+ #60 1::Int)
-#662 := (= #660 #661)
-#657 := [rewrite]: #662
-#655 := (= #484 #660)
-#658 := (= #354 1::Int)
-#382 := (* -1::Int -1::Int)
-#665 := (= #382 1::Int)
-#669 := [rewrite]: #665
-#664 := (= #354 #382)
-#666 := (= #697 -1::Int)
-#667 := [rewrite]: #666
-#668 := [monotonicity #667]: #664
-#659 := [trans #668 #669]: #658
-#656 := [monotonicity #659]: #655
-#504 := [trans #656 #657]: #663
-#648 := [monotonicity #504]: #506
-#646 := [trans #648 #651]: #645
-#387 := (iff #695 false)
-#353 := (or false false)
-#678 := (iff #353 false)
-#341 := [rewrite]: #678
-#385 := (iff #695 #353)
-#671 := (iff #360 false)
-#1 := true
-#328 := (not true)
-#687 := (iff #328 false)
-#690 := [rewrite]: #687
-#670 := (iff #360 #328)
-#395 := (iff #381 true)
-#401 := (or true true)
-#672 := (iff #401 true)
-#673 := [rewrite]: #672
-#402 := (iff #381 #401)
-#681 := (iff #378 true)
-#682 := [rewrite]: #681
-#399 := (iff #377 true)
-#400 := [rewrite]: #399
-#295 := [monotonicity #400 #682]: #402
-#396 := [trans #295 #673]: #395
-#674 := [monotonicity #396]: #670
-#675 := [trans #674 #690]: #671
-#676 := (iff #380 false)
-#329 := (iff #380 #328)
-#686 := (iff #379 true)
-#683 := (or false true)
-#685 := (iff #683 true)
-#323 := [rewrite]: #685
-#684 := (iff #379 #683)
-#344 := (iff #367 false)
-#680 := [rewrite]: #344
-#679 := [monotonicity #680 #682]: #684
-#688 := [trans #679 #323]: #686
-#689 := [monotonicity #688]: #329
-#677 := [trans #689 #690]: #676
-#386 := [monotonicity #677 #675]: #385
-#388 := [trans #386 #341]: #387
-#627 := [monotonicity #388 #646 #634]: #625
-#628 := [trans #627 #616]: #618
-#342 := (iff #375 false)
-#694 := (iff #375 #353)
-#357 := (iff #374 false)
-#693 := [rewrite]: #357
-#692 := (iff #289 false)
-#352 := [rewrite]: #692
-#337 := [monotonicity #352 #693]: #694
-#343 := [trans #337 #341]: #342
-#626 := [monotonicity #343 #628]: #630
-#622 := [trans #626 #620]: #621
-#611 := [monotonicity #622]: #609
-#614 := [trans #611 #613]: #609
-#608 := [quant-inst #8 #57]: #624
-#610 := [mp #608 #614]: #617
-[unit-resolution #610 #72 #709]: false
-f1eea19af20531a11f6cccfddc40aec123007d40 325 0
-unsat
+#83 := (iff #16 #82)
+#80 := (iff #15 #79)
+#77 := (= #14 -2::Int)
+#78 := [rewrite]: #77
+#74 := (= #12 #73)
+#71 := (= #11 -3::Int)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#81 := [monotonicity #75 #78]: #80
+#84 := [monotonicity #81]: #83
+#69 := [asserted]: #16
+#87 := [mp #69 #84]: #82
+#664 := (not #745)
+#658 := (or #664 #79)
+#407 := (* -1::Int -3::Int)
+#406 := (* -1::Int 5::Int)
+#739 := (div #406 #407)
+#740 := (* -1::Int #739)
+#741 := (+ #73 #740)
+#742 := (= #741 0::Int)
+#738 := (div 5::Int -3::Int)
+#395 := (* -1::Int #738)
+#525 := (+ #73 #395)
+#732 := (= #525 0::Int)
+#419 := (<= -3::Int 0::Int)
+#418 := (>= 5::Int 0::Int)
+#422 := (or #418 #419)
+#401 := (not #422)
+#408 := (<= 5::Int 0::Int)
+#420 := (or #408 #419)
+#421 := (not #420)
+#736 := (or #421 #401)
+#737 := (if #736 #732 #742)
+#417 := (= #73 0::Int)
+#415 := (= -3::Int 0::Int)
+#331 := (= 5::Int 0::Int)
+#416 := (or #331 #415)
+#743 := (if #416 #417 #737)
+#665 := (or #664 #743)
+#650 := (iff #665 #658)
+#653 := (iff #658 #658)
+#654 := [rewrite]: #653
+#662 := (iff #743 #79)
+#670 := (if false #417 #79)
+#672 := (iff #670 #79)
+#661 := [rewrite]: #672
+#671 := (iff #743 #670)
+#659 := (iff #737 #79)
+#690 := (= #73 -1::Int)
+#679 := (if false #690 #79)
+#660 := (iff #679 #79)
+#657 := [rewrite]: #660
+#666 := (iff #737 #679)
+#678 := (iff #742 #79)
+#562 := (+ 2::Int #73)
+#581 := (= #562 0::Int)
+#584 := (iff #581 #79)
+#585 := [rewrite]: #584
+#582 := (iff #742 #581)
+#580 := (= #741 #562)
+#673 := (+ #73 2::Int)
+#577 := (= #673 #562)
+#579 := [rewrite]: #577
+#674 := (= #741 #673)
+#676 := (= #740 2::Int)
+#685 := (* -1::Int -2::Int)
+#569 := (= #685 2::Int)
+#528 := [rewrite]: #569
+#567 := (= #740 #685)
+#684 := (= #739 -2::Int)
+#693 := -5::Int
+#526 := (div -5::Int 3::Int)
+#681 := (= #526 -2::Int)
+#683 := [rewrite]: #681
+#527 := (= #739 #526)
+#695 := (= #407 3::Int)
+#524 := [rewrite]: #695
+#694 := (= #406 -5::Int)
+#688 := [rewrite]: #694
+#680 := [monotonicity #688 #524]: #527
+#682 := [trans #680 #683]: #684
+#568 := [monotonicity #682]: #567
+#578 := [trans #568 #528]: #676
+#677 := [monotonicity #578]: #674
+#573 := [trans #677 #579]: #580
+#583 := [monotonicity #573]: #582
+#675 := [trans #583 #585]: #678
+#686 := (iff #732 #690)
+#284 := 1::Int
+#702 := (+ 1::Int #73)
+#546 := (= #702 0::Int)
+#691 := (iff #546 #690)
+#692 := [rewrite]: #691
+#547 := (iff #732 #546)
+#704 := (= #525 #702)
+#701 := (+ #73 1::Int)
+#703 := (= #701 #702)
+#698 := [rewrite]: #703
+#696 := (= #525 #701)
+#699 := (= #395 1::Int)
+#423 := (* -1::Int -1::Int)
+#706 := (= #423 1::Int)
+#710 := [rewrite]: #706
+#705 := (= #395 #423)
+#707 := (= #738 -1::Int)
+#708 := [rewrite]: #707
+#709 := [monotonicity #708]: #705
+#700 := [trans #709 #710]: #699
+#697 := [monotonicity #700]: #696
+#545 := [trans #697 #698]: #704
+#689 := [monotonicity #545]: #547
+#687 := [trans #689 #692]: #686
+#428 := (iff #736 false)
+#394 := (or false false)
+#719 := (iff #394 false)
+#382 := [rewrite]: #719
+#426 := (iff #736 #394)
+#712 := (iff #401 false)
+#1 := true
+#369 := (not true)
+#728 := (iff #369 false)
+#731 := [rewrite]: #728
+#711 := (iff #401 #369)
+#436 := (iff #422 true)
+#442 := (or true true)
+#713 := (iff #442 true)
+#714 := [rewrite]: #713
+#443 := (iff #422 #442)
+#722 := (iff #419 true)
+#723 := [rewrite]: #722
+#440 := (iff #418 true)
+#441 := [rewrite]: #440
+#337 := [monotonicity #441 #723]: #443
+#437 := [trans #337 #714]: #436
+#715 := [monotonicity #437]: #711
+#716 := [trans #715 #731]: #712
+#717 := (iff #421 false)
+#370 := (iff #421 #369)
+#727 := (iff #420 true)
+#724 := (or false true)
+#726 := (iff #724 true)
+#364 := [rewrite]: #726
+#725 := (iff #420 #724)
+#385 := (iff #408 false)
+#721 := [rewrite]: #385
+#720 := [monotonicity #721 #723]: #725
+#729 := [trans #720 #364]: #727
+#730 := [monotonicity #729]: #370
+#718 := [trans #730 #731]: #717
+#427 := [monotonicity #718 #716]: #426
+#429 := [trans #427 #382]: #428
+#668 := [monotonicity #429 #687 #675]: #666
+#669 := [trans #668 #657]: #659
+#383 := (iff #416 false)
+#735 := (iff #416 #394)
+#398 := (iff #415 false)
+#734 := [rewrite]: #398
+#733 := (iff #331 false)
+#393 := [rewrite]: #733
+#378 := [monotonicity #393 #734]: #735
+#384 := [trans #378 #382]: #383
+#667 := [monotonicity #384 #669]: #671
+#663 := [trans #667 #661]: #662
+#652 := [monotonicity #663]: #650
+#655 := [trans #652 #654]: #650
+#649 := [quant-inst #8 #70]: #665
+#651 := [mp #649 #655]: #658
+[unit-resolution #651 #87 #750]: false
+unsat
+77ef498d73e559a8192af9250d4abc98f525f4cc 309 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -31543,99 +29419,75 @@
 #7 := f5
 #16 := (f4 f5 #15)
 #18 := (f3 #16 #17)
-#699 := (pattern #18)
+#742 := (pattern #18)
 #19 := 0::Int
-#55 := -1::Int
-#100 := (* -1::Int #17)
-#97 := (* -1::Int #15)
-#103 := (div #97 #100)
-#259 := (* -1::Int #103)
-#260 := (+ #18 #259)
-#261 := (= #260 0::Int)
+#68 := -1::Int
+#88 := (* -1::Int #17)
+#84 := (* -1::Int #15)
+#91 := (div #84 #88)
+#242 := (* -1::Int #91)
+#243 := (+ #18 #242)
+#244 := (= #243 0::Int)
 #29 := (div #15 #17)
-#256 := (* -1::Int #29)
-#257 := (+ #18 #256)
-#258 := (= #257 0::Int)
-#75 := (<= #17 0::Int)
-#166 := (>= #15 0::Int)
-#219 := (or #166 #75)
-#220 := (not #219)
-#71 := (<= #15 0::Int)
-#215 := (or #71 #75)
-#216 := (not #215)
-#223 := (or #216 #220)
-#262 := (if #223 #258 #261)
-#255 := (= #18 0::Int)
+#239 := (* -1::Int #29)
+#240 := (+ #18 #239)
+#241 := (= #240 0::Int)
+#110 := (<= #17 0::Int)
+#117 := (>= #15 0::Int)
+#202 := (or #117 #110)
+#203 := (not #202)
+#106 := (<= #15 0::Int)
+#200 := (or #106 #110)
+#201 := (not #200)
+#206 := (or #201 #203)
+#245 := (if #206 #241 #244)
+#238 := (= #18 0::Int)
 #21 := (= #17 0::Int)
 #20 := (= #15 0::Int)
 #22 := (or #20 #21)
-#263 := (if #22 #255 #262)
-#700 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #699) #263)
-#266 := (forall (vars (?v0 Int) (?v1 Int)) #263)
-#703 := (iff #266 #700)
-#701 := (iff #263 #263)
-#702 := [refl]: #701
-#704 := [quant-intro #702]: #703
-#226 := (if #223 #29 #103)
-#229 := (if #22 0::Int #226)
-#232 := (= #18 #229)
-#235 := (forall (vars (?v0 Int) (?v1 Int)) #232)
-#267 := (iff #235 #266)
-#264 := (iff #232 #263)
-#265 := [rewrite]: #264
-#268 := [quant-intro #265]: #267
-#76 := (not #75)
-#169 := (not #166)
-#172 := (and #169 #76)
-#72 := (not #71)
-#79 := (and #72 #76)
-#175 := (or #79 #172)
-#178 := (if #175 #29 #103)
-#181 := (if #22 0::Int #178)
-#184 := (= #18 #181)
-#187 := (forall (vars (?v0 Int) (?v1 Int)) #184)
-#236 := (iff #187 #235)
-#233 := (iff #184 #232)
-#230 := (= #181 #229)
-#227 := (= #178 #226)
-#224 := (iff #175 #223)
-#221 := (iff #172 #220)
-#222 := [rewrite]: #221
-#217 := (iff #79 #216)
-#218 := [rewrite]: #217
-#225 := [monotonicity #218 #222]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [quant-intro #234]: #236
-#209 := (~ #187 #187)
-#211 := (~ #184 #184)
-#212 := [refl]: #211
-#210 := [nnf-pos #212]: #209
-#82 := (<= 0::Int #15)
-#83 := (not #82)
-#91 := (and #83 #76)
-#94 := (or #79 #91)
-#106 := (if #94 #29 #103)
-#109 := (if #22 0::Int #106)
-#112 := (= #18 #109)
-#115 := (forall (vars (?v0 Int) (?v1 Int)) #112)
-#188 := (iff #115 #187)
-#185 := (iff #112 #184)
-#182 := (= #109 #181)
-#179 := (= #106 #178)
-#176 := (iff #94 #175)
-#173 := (iff #91 #172)
-#170 := (iff #83 #169)
-#167 := (iff #82 #166)
-#168 := [rewrite]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [quant-intro #186]: #188
+#246 := (if #22 #238 #245)
+#743 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #742) #246)
+#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
+#746 := (iff #249 #743)
+#744 := (iff #246 #246)
+#745 := [refl]: #744
+#747 := [quant-intro #745]: #746
+#209 := (if #206 #29 #91)
+#212 := (if #22 0::Int #209)
+#215 := (= #18 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#250 := (iff #218 #249)
+#247 := (iff #215 #246)
+#248 := [rewrite]: #247
+#251 := [quant-intro #248]: #250
+#111 := (not #110)
+#118 := (not #117)
+#121 := (and #118 #111)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#127 := (if #124 #29 #91)
+#130 := (if #22 0::Int #127)
+#133 := (= #18 #130)
+#136 := (forall (vars (?v0 Int) (?v1 Int)) #133)
+#219 := (iff #136 #218)
+#216 := (iff #133 #215)
+#213 := (= #130 #212)
+#210 := (= #127 #209)
+#207 := (iff #124 #206)
+#204 := (iff #121 #203)
+#205 := [rewrite]: #204
+#194 := (iff #114 #201)
+#195 := [rewrite]: #194
+#208 := [monotonicity #195 #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#198 := (~ #136 #136)
+#196 := (~ #133 #133)
+#197 := [refl]: #196
+#199 := [nnf-pos #197]: #198
 #31 := (- #17)
 #30 := (- #15)
 #32 := (div #30 #31)
@@ -31649,217 +29501,225 @@
 #34 := (if #22 0::Int #33)
 #35 := (= #18 #34)
 #36 := (forall (vars (?v0 Int) (?v1 Int)) #35)
-#116 := (iff #36 #115)
-#113 := (iff #35 #112)
-#110 := (= #34 #109)
-#107 := (= #33 #106)
-#104 := (= #32 #103)
-#101 := (= #31 #100)
-#102 := [rewrite]: #101
-#98 := (= #30 #97)
-#99 := [rewrite]: #98
-#105 := [monotonicity #99 #102]: #104
-#95 := (iff #28 #94)
-#92 := (iff #27 #91)
-#77 := (iff #24 #76)
-#78 := [rewrite]: #77
-#84 := (iff #26 #83)
-#88 := (iff #83 #83)
-#86 := (iff #82 #82)
+#139 := (iff #36 #136)
+#94 := (if #28 #29 #91)
+#97 := (if #22 0::Int #94)
+#100 := (= #18 #97)
+#103 := (forall (vars (?v0 Int) (?v1 Int)) #100)
+#137 := (iff #103 #136)
+#134 := (iff #100 #133)
+#131 := (= #97 #130)
+#128 := (= #94 #127)
+#125 := (iff #28 #124)
+#122 := (iff #27 #121)
+#112 := (iff #24 #111)
+#113 := [rewrite]: #112
+#119 := (iff #26 #118)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120 #113]: #122
+#115 := (iff #25 #114)
+#108 := (iff #23 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [quant-intro #135]: #137
+#104 := (iff #36 #103)
+#101 := (iff #35 #100)
+#98 := (= #34 #97)
+#95 := (= #33 #94)
+#92 := (= #32 #91)
+#89 := (= #31 #88)
+#90 := [rewrite]: #89
+#86 := (= #30 #84)
 #87 := [rewrite]: #86
-#89 := [monotonicity #87]: #88
-#85 := [rewrite]: #84
-#90 := [trans #85 #89]: #84
-#93 := [monotonicity #90 #78]: #92
-#80 := (iff #25 #79)
-#73 := (iff #23 #72)
-#74 := [rewrite]: #73
-#81 := [monotonicity #74 #78]: #80
-#96 := [monotonicity #81 #93]: #95
-#108 := [monotonicity #96 #105]: #107
-#111 := [monotonicity #108]: #110
-#114 := [monotonicity #111]: #113
-#117 := [quant-intro #114]: #116
-#50 := [asserted]: #36
-#118 := [mp #50 #117]: #115
-#190 := [mp #118 #189]: #187
-#207 := [mp~ #190 #210]: #187
-#238 := [mp #207 #237]: #235
-#269 := [mp #238 #268]: #266
-#705 := [mp #269 #704]: #700
+#93 := [monotonicity #87 #90]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [monotonicity #99]: #101
+#105 := [quant-intro #102]: #104
+#140 := [trans #105 #138]: #139
+#83 := [asserted]: #36
+#141 := [mp #83 #140]: #136
+#190 := [mp~ #141 #199]: #136
+#221 := [mp #190 #220]: #218
+#252 := [mp #221 #251]: #249
+#748 := [mp #252 #747]: #743
 #11 := 3::Int
-#58 := (f4 f5 -1::Int)
-#61 := (f3 #58 3::Int)
-#64 := (= #61 -1::Int)
-#67 := (not #64)
+#71 := (f4 f5 -1::Int)
+#74 := (f3 #71 3::Int)
+#77 := (= #74 -1::Int)
+#80 := (not #77)
 #8 := 1::Int
 #9 := (- 1::Int)
 #10 := (f4 f5 #9)
 #12 := (f3 #10 3::Int)
 #13 := (= #12 #9)
 #14 := (not #13)
-#68 := (iff #14 #67)
-#65 := (iff #13 #64)
-#56 := (= #9 -1::Int)
-#57 := [rewrite]: #56
-#62 := (= #12 #61)
-#59 := (= #10 #58)
-#60 := [monotonicity #57]: #59
-#63 := [monotonicity #60]: #62
-#66 := [monotonicity #63 #57]: #65
-#69 := [monotonicity #66]: #68
-#49 := [asserted]: #14
-#70 := [mp #49 #69]: #67
-#625 := (not #700)
-#626 := (or #625 #64)
-#362 := (* -1::Int 3::Int)
-#361 := (* -1::Int -1::Int)
-#694 := (div #361 #362)
-#695 := (* -1::Int #694)
-#696 := (+ #61 #695)
-#697 := (= #696 0::Int)
-#693 := (div -1::Int 3::Int)
-#350 := (* -1::Int #693)
-#480 := (+ #61 #350)
-#687 := (= #480 0::Int)
-#374 := (<= 3::Int 0::Int)
-#373 := (>= -1::Int 0::Int)
-#377 := (or #373 #374)
-#356 := (not #377)
-#363 := (<= -1::Int 0::Int)
-#375 := (or #363 #374)
-#376 := (not #375)
-#691 := (or #376 #356)
-#692 := (if #691 #687 #697)
-#372 := (= #61 0::Int)
-#370 := (= 3::Int 0::Int)
-#286 := (= -1::Int 0::Int)
-#371 := (or #286 #370)
-#698 := (if #371 #372 #692)
-#622 := (or #625 #698)
-#616 := (iff #622 #626)
-#618 := (iff #626 #626)
-#619 := [rewrite]: #618
-#614 := (iff #698 #64)
-#634 := (if false #372 #64)
-#615 := (iff #634 #64)
-#612 := [rewrite]: #615
-#621 := (iff #698 #634)
-#633 := (iff #692 #64)
-#1 := true
-#536 := (if true #64 #372)
-#539 := (iff #536 #64)
-#540 := [rewrite]: #539
-#537 := (iff #692 #536)
-#535 := (iff #697 #372)
-#532 := (= #696 #61)
-#533 := (+ #61 0::Int)
-#632 := (= #533 #61)
-#517 := [rewrite]: #632
-#628 := (= #696 #533)
-#483 := (= #695 0::Int)
-#637 := (* -1::Int 0::Int)
-#523 := (= #637 0::Int)
-#524 := [rewrite]: #523
-#640 := (= #695 #637)
-#638 := (= #694 0::Int)
-#649 := -3::Int
-#479 := (div 1::Int -3::Int)
-#635 := (= #479 0::Int)
-#636 := [rewrite]: #635
-#481 := (= #694 #479)
-#643 := (= #362 -3::Int)
-#650 := [rewrite]: #643
-#654 := (= #361 1::Int)
-#655 := [rewrite]: #654
-#482 := [monotonicity #655 #650]: #481
-#639 := [trans #482 #636]: #638
-#522 := [monotonicity #639]: #640
-#631 := [trans #522 #524]: #483
-#629 := [monotonicity #631]: #628
-#534 := [trans #629 #517]: #532
-#528 := [monotonicity #534]: #535
-#642 := (iff #687 #64)
-#653 := (+ 1::Int #61)
-#644 := (= #653 0::Int)
-#647 := (iff #644 #64)
-#641 := [rewrite]: #647
-#645 := (iff #687 #644)
-#501 := (= #480 #653)
-#652 := (+ #61 1::Int)
-#659 := (= #652 #653)
-#500 := [rewrite]: #659
-#657 := (= #480 #652)
-#656 := (= #350 1::Int)
-#661 := (= #350 #361)
-#660 := (= #693 -1::Int)
-#664 := [rewrite]: #660
-#665 := [monotonicity #664]: #661
-#651 := [trans #665 #655]: #656
-#658 := [monotonicity #651]: #657
-#502 := [trans #658 #500]: #501
-#646 := [monotonicity #502]: #645
-#648 := [trans #646 #641]: #642
-#663 := (iff #691 true)
-#381 := (or false true)
-#384 := (iff #381 true)
-#662 := [rewrite]: #384
-#382 := (iff #691 #381)
-#667 := (iff #356 true)
-#669 := (not false)
-#666 := (iff #669 true)
-#670 := [rewrite]: #666
-#391 := (iff #356 #669)
-#292 := (iff #377 false)
-#349 := (or false false)
-#674 := (iff #349 false)
-#337 := [rewrite]: #674
-#397 := (iff #377 #349)
-#677 := (iff #374 false)
-#678 := [rewrite]: #677
-#395 := (iff #373 false)
-#396 := [rewrite]: #395
-#398 := [monotonicity #396 #678]: #397
-#668 := [trans #398 #337]: #292
-#392 := [monotonicity #668]: #391
-#671 := [trans #392 #670]: #667
-#672 := (iff #376 false)
-#324 := (not true)
-#683 := (iff #324 false)
-#686 := [rewrite]: #683
-#325 := (iff #376 #324)
-#682 := (iff #375 true)
-#679 := (or true false)
-#681 := (iff #679 true)
-#319 := [rewrite]: #681
-#680 := (iff #375 #679)
-#340 := (iff #363 true)
-#676 := [rewrite]: #340
-#675 := [monotonicity #676 #678]: #680
-#684 := [trans #675 #319]: #682
-#685 := [monotonicity #684]: #325
-#673 := [trans #685 #686]: #672
-#383 := [monotonicity #673 #671]: #382
-#378 := [trans #383 #662]: #663
-#538 := [monotonicity #378 #648 #528]: #537
-#630 := [trans #538 #540]: #633
-#338 := (iff #371 false)
-#690 := (iff #371 #349)
-#353 := (iff #370 false)
-#689 := [rewrite]: #353
-#688 := (iff #286 false)
-#348 := [rewrite]: #688
-#333 := [monotonicity #348 #689]: #690
-#339 := [trans #333 #337]: #338
-#623 := [monotonicity #339 #630]: #621
-#624 := [trans #623 #612]: #614
-#617 := [monotonicity #624]: #616
-#613 := [trans #617 #619]: #616
-#627 := [quant-inst #55 #11]: #622
-#620 := [mp #627 #613]: #626
-[unit-resolution #620 #70 #705]: false
-b3b7ec77601c17fd899065a2138ddfd9bb069c98 327 0
-unsat
+#81 := (iff #14 #80)
+#78 := (iff #13 #77)
+#69 := (= #9 -1::Int)
+#70 := [rewrite]: #69
+#75 := (= #12 #74)
+#72 := (= #10 #71)
+#73 := [monotonicity #70]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76 #70]: #78
+#82 := [monotonicity #79]: #81
+#67 := [asserted]: #14
+#85 := [mp #67 #82]: #80
+#668 := (not #743)
+#669 := (or #668 #77)
+#405 := (* -1::Int 3::Int)
+#404 := (* -1::Int -1::Int)
+#737 := (div #404 #405)
+#738 := (* -1::Int #737)
+#739 := (+ #74 #738)
+#740 := (= #739 0::Int)
+#736 := (div -1::Int 3::Int)
+#393 := (* -1::Int #736)
+#523 := (+ #74 #393)
+#730 := (= #523 0::Int)
+#417 := (<= 3::Int 0::Int)
+#416 := (>= -1::Int 0::Int)
+#420 := (or #416 #417)
+#399 := (not #420)
+#406 := (<= -1::Int 0::Int)
+#418 := (or #406 #417)
+#419 := (not #418)
+#734 := (or #419 #399)
+#735 := (if #734 #730 #740)
+#415 := (= #74 0::Int)
+#413 := (= 3::Int 0::Int)
+#329 := (= -1::Int 0::Int)
+#414 := (or #329 #413)
+#741 := (if #414 #415 #735)
+#665 := (or #668 #741)
+#659 := (iff #665 #669)
+#661 := (iff #669 #669)
+#662 := [rewrite]: #661
+#657 := (iff #741 #77)
+#677 := (if false #415 #77)
+#658 := (iff #677 #77)
+#655 := [rewrite]: #658
+#664 := (iff #741 #677)
+#676 := (iff #735 #77)
+#1 := true
+#579 := (if true #77 #415)
+#582 := (iff #579 #77)
+#583 := [rewrite]: #582
+#580 := (iff #735 #579)
+#578 := (iff #740 #415)
+#575 := (= #739 #74)
+#576 := (+ #74 0::Int)
+#675 := (= #576 #74)
+#560 := [rewrite]: #675
+#671 := (= #739 #576)
+#526 := (= #738 0::Int)
+#680 := (* -1::Int 0::Int)
+#566 := (= #680 0::Int)
+#567 := [rewrite]: #566
+#683 := (= #738 #680)
+#681 := (= #737 0::Int)
+#692 := -3::Int
+#522 := (div 1::Int -3::Int)
+#678 := (= #522 0::Int)
+#679 := [rewrite]: #678
+#524 := (= #737 #522)
+#686 := (= #405 -3::Int)
+#693 := [rewrite]: #686
+#697 := (= #404 1::Int)
+#698 := [rewrite]: #697
+#525 := [monotonicity #698 #693]: #524
+#682 := [trans #525 #679]: #681
+#565 := [monotonicity #682]: #683
+#674 := [trans #565 #567]: #526
+#672 := [monotonicity #674]: #671
+#577 := [trans #672 #560]: #575
+#571 := [monotonicity #577]: #578
+#685 := (iff #730 #77)
+#696 := (+ 1::Int #74)
+#687 := (= #696 0::Int)
+#690 := (iff #687 #77)
+#684 := [rewrite]: #690
+#688 := (iff #730 #687)
+#544 := (= #523 #696)
+#695 := (+ #74 1::Int)
+#702 := (= #695 #696)
+#543 := [rewrite]: #702
+#700 := (= #523 #695)
+#699 := (= #393 1::Int)
+#704 := (= #393 #404)
+#703 := (= #736 -1::Int)
+#707 := [rewrite]: #703
+#708 := [monotonicity #707]: #704
+#694 := [trans #708 #698]: #699
+#701 := [monotonicity #694]: #700
+#545 := [trans #701 #543]: #544
+#689 := [monotonicity #545]: #688
+#691 := [trans #689 #684]: #685
+#706 := (iff #734 true)
+#424 := (or false true)
+#427 := (iff #424 true)
+#705 := [rewrite]: #427
+#425 := (iff #734 #424)
+#710 := (iff #399 true)
+#712 := (not false)
+#709 := (iff #712 true)
+#713 := [rewrite]: #709
+#434 := (iff #399 #712)
+#335 := (iff #420 false)
+#392 := (or false false)
+#717 := (iff #392 false)
+#380 := [rewrite]: #717
+#440 := (iff #420 #392)
+#720 := (iff #417 false)
+#721 := [rewrite]: #720
+#438 := (iff #416 false)
+#439 := [rewrite]: #438
+#441 := [monotonicity #439 #721]: #440
+#711 := [trans #441 #380]: #335
+#435 := [monotonicity #711]: #434
+#714 := [trans #435 #713]: #710
+#715 := (iff #419 false)
+#367 := (not true)
+#726 := (iff #367 false)
+#729 := [rewrite]: #726
+#368 := (iff #419 #367)
+#725 := (iff #418 true)
+#722 := (or true false)
+#724 := (iff #722 true)
+#362 := [rewrite]: #724
+#723 := (iff #418 #722)
+#383 := (iff #406 true)
+#719 := [rewrite]: #383
+#718 := [monotonicity #719 #721]: #723
+#727 := [trans #718 #362]: #725
+#728 := [monotonicity #727]: #368
+#716 := [trans #728 #729]: #715
+#426 := [monotonicity #716 #714]: #425
+#421 := [trans #426 #705]: #706
+#581 := [monotonicity #421 #691 #571]: #580
+#673 := [trans #581 #583]: #676
+#381 := (iff #414 false)
+#733 := (iff #414 #392)
+#396 := (iff #413 false)
+#732 := [rewrite]: #396
+#731 := (iff #329 false)
+#391 := [rewrite]: #731
+#376 := [monotonicity #391 #732]: #733
+#382 := [trans #376 #380]: #381
+#666 := [monotonicity #382 #673]: #664
+#667 := [trans #666 #655]: #657
+#660 := [monotonicity #667]: #659
+#656 := [trans #660 #662]: #659
+#670 := [quant-inst #68 #11]: #665
+#663 := [mp #670 #656]: #669
+[unit-resolution #663 #85 #748]: false
+unsat
+71da820ba222aeb0476106e772b16e56642782f7 311 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -31869,99 +29729,75 @@
 #7 := f5
 #17 := (f4 f5 #16)
 #19 := (f3 #17 #18)
-#703 := (pattern #19)
+#746 := (pattern #19)
 #20 := 0::Int
-#65 := -1::Int
-#104 := (* -1::Int #18)
-#101 := (* -1::Int #16)
-#107 := (div #101 #104)
-#263 := (* -1::Int #107)
-#264 := (+ #19 #263)
-#265 := (= #264 0::Int)
+#78 := -1::Int
+#92 := (* -1::Int #18)
+#88 := (* -1::Int #16)
+#95 := (div #88 #92)
+#246 := (* -1::Int #95)
+#247 := (+ #19 #246)
+#248 := (= #247 0::Int)
 #30 := (div #16 #18)
-#260 := (* -1::Int #30)
-#261 := (+ #19 #260)
-#262 := (= #261 0::Int)
-#79 := (<= #18 0::Int)
-#170 := (>= #16 0::Int)
-#223 := (or #170 #79)
-#224 := (not #223)
-#75 := (<= #16 0::Int)
-#219 := (or #75 #79)
-#220 := (not #219)
-#227 := (or #220 #224)
-#266 := (if #227 #262 #265)
-#259 := (= #19 0::Int)
+#243 := (* -1::Int #30)
+#244 := (+ #19 #243)
+#245 := (= #244 0::Int)
+#114 := (<= #18 0::Int)
+#121 := (>= #16 0::Int)
+#206 := (or #121 #114)
+#207 := (not #206)
+#110 := (<= #16 0::Int)
+#204 := (or #110 #114)
+#205 := (not #204)
+#210 := (or #205 #207)
+#249 := (if #210 #245 #248)
+#242 := (= #19 0::Int)
 #22 := (= #18 0::Int)
 #21 := (= #16 0::Int)
 #23 := (or #21 #22)
-#267 := (if #23 #259 #266)
-#704 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #703) #267)
-#270 := (forall (vars (?v0 Int) (?v1 Int)) #267)
-#707 := (iff #270 #704)
-#705 := (iff #267 #267)
-#706 := [refl]: #705
-#708 := [quant-intro #706]: #707
-#230 := (if #227 #30 #107)
-#233 := (if #23 0::Int #230)
-#236 := (= #19 #233)
-#239 := (forall (vars (?v0 Int) (?v1 Int)) #236)
-#271 := (iff #239 #270)
-#268 := (iff #236 #267)
-#269 := [rewrite]: #268
-#272 := [quant-intro #269]: #271
-#80 := (not #79)
-#173 := (not #170)
-#176 := (and #173 #80)
-#76 := (not #75)
-#83 := (and #76 #80)
-#179 := (or #83 #176)
-#182 := (if #179 #30 #107)
-#185 := (if #23 0::Int #182)
-#188 := (= #19 #185)
-#191 := (forall (vars (?v0 Int) (?v1 Int)) #188)
-#240 := (iff #191 #239)
-#237 := (iff #188 #236)
-#234 := (= #185 #233)
-#231 := (= #182 #230)
-#228 := (iff #179 #227)
-#225 := (iff #176 #224)
-#226 := [rewrite]: #225
-#221 := (iff #83 #220)
-#222 := [rewrite]: #221
-#229 := [monotonicity #222 #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [quant-intro #238]: #240
-#215 := (~ #191 #191)
-#213 := (~ #188 #188)
-#214 := [refl]: #213
-#216 := [nnf-pos #214]: #215
-#86 := (<= 0::Int #16)
-#87 := (not #86)
-#95 := (and #87 #80)
-#98 := (or #83 #95)
-#110 := (if #98 #30 #107)
-#113 := (if #23 0::Int #110)
-#116 := (= #19 #113)
-#119 := (forall (vars (?v0 Int) (?v1 Int)) #116)
-#192 := (iff #119 #191)
-#189 := (iff #116 #188)
-#186 := (= #113 #185)
-#183 := (= #110 #182)
-#180 := (iff #98 #179)
-#177 := (iff #95 #176)
-#174 := (iff #87 #173)
-#171 := (iff #86 #170)
-#172 := [rewrite]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [monotonicity #187]: #189
-#193 := [quant-intro #190]: #192
+#250 := (if #23 #242 #249)
+#747 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #746) #250)
+#253 := (forall (vars (?v0 Int) (?v1 Int)) #250)
+#750 := (iff #253 #747)
+#748 := (iff #250 #250)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#213 := (if #210 #30 #95)
+#216 := (if #23 0::Int #213)
+#219 := (= #19 #216)
+#222 := (forall (vars (?v0 Int) (?v1 Int)) #219)
+#254 := (iff #222 #253)
+#251 := (iff #219 #250)
+#252 := [rewrite]: #251
+#255 := [quant-intro #252]: #254
+#115 := (not #114)
+#122 := (not #121)
+#125 := (and #122 #115)
+#111 := (not #110)
+#118 := (and #111 #115)
+#128 := (or #118 #125)
+#131 := (if #128 #30 #95)
+#134 := (if #23 0::Int #131)
+#137 := (= #19 #134)
+#140 := (forall (vars (?v0 Int) (?v1 Int)) #137)
+#223 := (iff #140 #222)
+#220 := (iff #137 #219)
+#217 := (= #134 #216)
+#214 := (= #131 #213)
+#211 := (iff #128 #210)
+#208 := (iff #125 #207)
+#209 := [rewrite]: #208
+#198 := (iff #118 #205)
+#199 := [rewrite]: #198
+#212 := [monotonicity #199 #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [quant-intro #221]: #223
+#202 := (~ #140 #140)
+#200 := (~ #137 #137)
+#201 := [refl]: #200
+#203 := [nnf-pos #201]: #202
 #32 := (- #18)
 #31 := (- #16)
 #33 := (div #31 #32)
@@ -31975,50 +29811,58 @@
 #35 := (if #23 0::Int #34)
 #36 := (= #19 #35)
 #37 := (forall (vars (?v0 Int) (?v1 Int)) #36)
-#120 := (iff #37 #119)
-#117 := (iff #36 #116)
-#114 := (= #35 #113)
-#111 := (= #34 #110)
-#108 := (= #33 #107)
-#105 := (= #32 #104)
-#106 := [rewrite]: #105
-#102 := (= #31 #101)
-#103 := [rewrite]: #102
-#109 := [monotonicity #103 #106]: #108
-#99 := (iff #29 #98)
-#96 := (iff #28 #95)
-#81 := (iff #25 #80)
-#82 := [rewrite]: #81
-#88 := (iff #27 #87)
-#92 := (iff #87 #87)
-#90 := (iff #86 #86)
+#143 := (iff #37 #140)
+#98 := (if #29 #30 #95)
+#101 := (if #23 0::Int #98)
+#104 := (= #19 #101)
+#107 := (forall (vars (?v0 Int) (?v1 Int)) #104)
+#141 := (iff #107 #140)
+#138 := (iff #104 #137)
+#135 := (= #101 #134)
+#132 := (= #98 #131)
+#129 := (iff #29 #128)
+#126 := (iff #28 #125)
+#116 := (iff #25 #115)
+#117 := [rewrite]: #116
+#123 := (iff #27 #122)
+#124 := [rewrite]: #123
+#127 := [monotonicity #124 #117]: #126
+#119 := (iff #26 #118)
+#112 := (iff #24 #111)
+#113 := [rewrite]: #112
+#120 := [monotonicity #113 #117]: #119
+#130 := [monotonicity #120 #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [monotonicity #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [quant-intro #139]: #141
+#108 := (iff #37 #107)
+#105 := (iff #36 #104)
+#102 := (= #35 #101)
+#99 := (= #34 #98)
+#96 := (= #33 #95)
+#93 := (= #32 #92)
+#94 := [rewrite]: #93
+#90 := (= #31 #88)
 #91 := [rewrite]: #90
-#93 := [monotonicity #91]: #92
-#89 := [rewrite]: #88
-#94 := [trans #89 #93]: #88
-#97 := [monotonicity #94 #82]: #96
-#84 := (iff #26 #83)
-#77 := (iff #24 #76)
-#78 := [rewrite]: #77
-#85 := [monotonicity #78 #82]: #84
-#100 := [monotonicity #85 #97]: #99
-#112 := [monotonicity #100 #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [quant-intro #118]: #120
-#51 := [asserted]: #37
-#122 := [mp #51 #121]: #119
-#194 := [mp #122 #193]: #191
-#168 := [mp~ #194 #216]: #191
-#242 := [mp #168 #241]: #239
-#273 := [mp #242 #272]: #270
-#709 := [mp #273 #708]: #704
+#97 := [monotonicity #91 #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#106 := [monotonicity #103]: #105
+#109 := [quant-intro #106]: #108
+#144 := [trans #109 #142]: #143
+#87 := [asserted]: #37
+#145 := [mp #87 #144]: #140
+#194 := [mp~ #145 #203]: #140
+#225 := [mp #194 #224]: #222
+#256 := [mp #225 #255]: #253
+#752 := [mp #256 #751]: #747
 #8 := 3::Int
-#56 := -3::Int
-#59 := (f4 f5 -3::Int)
-#62 := (f3 #59 3::Int)
-#68 := (= #62 -1::Int)
-#71 := (not #68)
+#69 := -3::Int
+#72 := (f4 f5 -3::Int)
+#75 := (f3 #72 3::Int)
+#81 := (= #75 -1::Int)
+#84 := (not #81)
 #12 := 1::Int
 #13 := (- 1::Int)
 #9 := (- 3::Int)
@@ -32026,168 +29870,168 @@
 #11 := (f3 #10 3::Int)
 #14 := (= #11 #13)
 #15 := (not #14)
-#72 := (iff #15 #71)
-#69 := (iff #14 #68)
-#66 := (= #13 -1::Int)
-#67 := [rewrite]: #66
-#63 := (= #11 #62)
-#60 := (= #10 #59)
-#57 := (= #9 -3::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#64 := [monotonicity #61]: #63
-#70 := [monotonicity #64 #67]: #69
-#73 := [monotonicity #70]: #72
-#50 := [asserted]: #15
-#74 := [mp #50 #73]: #71
-#618 := (not #704)
-#628 := (or #618 #68)
-#366 := (* -1::Int 3::Int)
-#365 := (* -1::Int -3::Int)
-#698 := (div #365 #366)
-#699 := (* -1::Int #698)
-#700 := (+ #62 #699)
-#701 := (= #700 0::Int)
-#697 := (div -3::Int 3::Int)
-#354 := (* -1::Int #697)
-#484 := (+ #62 #354)
-#691 := (= #484 0::Int)
-#378 := (<= 3::Int 0::Int)
-#377 := (>= -3::Int 0::Int)
-#381 := (or #377 #378)
-#360 := (not #381)
-#367 := (<= -3::Int 0::Int)
-#379 := (or #367 #378)
-#380 := (not #379)
-#695 := (or #380 #360)
-#696 := (if #695 #691 #701)
-#376 := (= #62 0::Int)
-#374 := (= 3::Int 0::Int)
-#290 := (= -3::Int 0::Int)
-#375 := (or #290 #374)
-#702 := (if #375 #376 #696)
-#629 := (or #618 #702)
-#626 := (iff #629 #628)
-#620 := (iff #628 #628)
-#621 := [rewrite]: #620
-#619 := (iff #702 #68)
-#637 := (if false #376 #68)
-#625 := (iff #637 #68)
-#627 := [rewrite]: #625
-#634 := (iff #702 #637)
-#543 := (iff #696 #68)
-#1 := true
-#539 := (if true #68 #68)
-#541 := (iff #539 #68)
-#542 := [rewrite]: #541
-#532 := (iff #696 #539)
-#536 := (iff #701 #68)
-#663 := (+ 1::Int #62)
-#649 := (= #663 0::Int)
-#645 := (iff #649 #68)
-#646 := [rewrite]: #645
-#636 := (iff #701 #649)
-#632 := (= #700 #663)
-#661 := (+ #62 1::Int)
-#504 := (= #661 #663)
-#505 := [rewrite]: #504
-#635 := (= #700 #661)
-#528 := (= #699 1::Int)
-#665 := (* -1::Int -1::Int)
-#659 := (= #665 1::Int)
-#660 := [rewrite]: #659
-#526 := (= #699 #665)
-#641 := (= #698 -1::Int)
-#486 := (div 3::Int -3::Int)
-#642 := (= #486 -1::Int)
-#643 := [rewrite]: #642
-#639 := (= #698 #486)
-#483 := (= #366 -3::Int)
-#485 := [rewrite]: #483
-#647 := (= #365 3::Int)
-#654 := [rewrite]: #647
-#640 := [monotonicity #654 #485]: #639
-#644 := [trans #640 #643]: #641
-#527 := [monotonicity #644]: #526
-#487 := [trans #527 #660]: #528
-#537 := [monotonicity #487]: #635
-#633 := [trans #537 #505]: #632
-#521 := [monotonicity #633]: #636
-#538 := [trans #521 #646]: #536
-#652 := (iff #691 #68)
-#650 := (iff #691 #649)
-#506 := (= #484 #663)
-#662 := (= #484 #661)
-#655 := (= #354 1::Int)
-#669 := (= #354 #665)
-#664 := (= #697 -1::Int)
-#668 := [rewrite]: #664
-#658 := [monotonicity #668]: #669
-#656 := [trans #658 #660]: #655
-#657 := [monotonicity #656]: #662
-#648 := [trans #657 #505]: #506
-#651 := [monotonicity #648]: #650
-#653 := [trans #651 #646]: #652
-#667 := (iff #695 true)
-#385 := (or false true)
-#388 := (iff #385 true)
-#666 := [rewrite]: #388
-#386 := (iff #695 #385)
-#671 := (iff #360 true)
-#673 := (not false)
-#670 := (iff #673 true)
-#674 := [rewrite]: #670
-#395 := (iff #360 #673)
-#296 := (iff #381 false)
-#353 := (or false false)
-#678 := (iff #353 false)
-#341 := [rewrite]: #678
-#401 := (iff #381 #353)
-#681 := (iff #378 false)
-#682 := [rewrite]: #681
-#399 := (iff #377 false)
-#400 := [rewrite]: #399
-#402 := [monotonicity #400 #682]: #401
-#672 := [trans #402 #341]: #296
-#396 := [monotonicity #672]: #395
-#675 := [trans #396 #674]: #671
-#676 := (iff #380 false)
-#328 := (not true)
-#687 := (iff #328 false)
-#690 := [rewrite]: #687
-#329 := (iff #380 #328)
-#686 := (iff #379 true)
-#683 := (or true false)
-#685 := (iff #683 true)
-#323 := [rewrite]: #685
-#684 := (iff #379 #683)
-#344 := (iff #367 true)
-#680 := [rewrite]: #344
-#679 := [monotonicity #680 #682]: #684
-#688 := [trans #679 #323]: #686
-#689 := [monotonicity #688]: #329
-#677 := [trans #689 #690]: #676
-#387 := [monotonicity #677 #675]: #386
-#382 := [trans #387 #666]: #667
-#540 := [monotonicity #382 #653 #538]: #532
-#544 := [trans #540 #542]: #543
-#342 := (iff #375 false)
-#694 := (iff #375 #353)
-#357 := (iff #374 false)
-#693 := [rewrite]: #357
-#692 := (iff #290 false)
-#352 := [rewrite]: #692
-#337 := [monotonicity #352 #693]: #694
-#343 := [trans #337 #341]: #342
-#638 := [monotonicity #343 #544]: #634
-#616 := [trans #638 #627]: #619
-#631 := [monotonicity #616]: #626
-#622 := [trans #631 #621]: #626
-#630 := [quant-inst #56 #8]: #629
-#623 := [mp #630 #622]: #628
-[unit-resolution #623 #74 #709]: false
-ce73a3cbcbb282ad675c6218053260f8ce5ee783 342 0
-unsat
+#85 := (iff #15 #84)
+#82 := (iff #14 #81)
+#79 := (= #13 -1::Int)
+#80 := [rewrite]: #79
+#76 := (= #11 #75)
+#73 := (= #10 #72)
+#70 := (= #9 -3::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#77 := [monotonicity #74]: #76
+#83 := [monotonicity #77 #80]: #82
+#86 := [monotonicity #83]: #85
+#68 := [asserted]: #15
+#89 := [mp #68 #86]: #84
+#661 := (not #747)
+#671 := (or #661 #81)
+#409 := (* -1::Int 3::Int)
+#408 := (* -1::Int -3::Int)
+#741 := (div #408 #409)
+#742 := (* -1::Int #741)
+#743 := (+ #75 #742)
+#744 := (= #743 0::Int)
+#740 := (div -3::Int 3::Int)
+#397 := (* -1::Int #740)
+#527 := (+ #75 #397)
+#734 := (= #527 0::Int)
+#421 := (<= 3::Int 0::Int)
+#420 := (>= -3::Int 0::Int)
+#424 := (or #420 #421)
+#403 := (not #424)
+#410 := (<= -3::Int 0::Int)
+#422 := (or #410 #421)
+#423 := (not #422)
+#738 := (or #423 #403)
+#739 := (if #738 #734 #744)
+#419 := (= #75 0::Int)
+#417 := (= 3::Int 0::Int)
+#333 := (= -3::Int 0::Int)
+#418 := (or #333 #417)
+#745 := (if #418 #419 #739)
+#672 := (or #661 #745)
+#669 := (iff #672 #671)
+#663 := (iff #671 #671)
+#664 := [rewrite]: #663
+#662 := (iff #745 #81)
+#680 := (if false #419 #81)
+#668 := (iff #680 #81)
+#670 := [rewrite]: #668
+#677 := (iff #745 #680)
+#586 := (iff #739 #81)
+#1 := true
+#582 := (if true #81 #81)
+#584 := (iff #582 #81)
+#585 := [rewrite]: #584
+#575 := (iff #739 #582)
+#579 := (iff #744 #81)
+#706 := (+ 1::Int #75)
+#692 := (= #706 0::Int)
+#688 := (iff #692 #81)
+#689 := [rewrite]: #688
+#679 := (iff #744 #692)
+#675 := (= #743 #706)
+#704 := (+ #75 1::Int)
+#547 := (= #704 #706)
+#548 := [rewrite]: #547
+#678 := (= #743 #704)
+#571 := (= #742 1::Int)
+#708 := (* -1::Int -1::Int)
+#702 := (= #708 1::Int)
+#703 := [rewrite]: #702
+#569 := (= #742 #708)
+#684 := (= #741 -1::Int)
+#529 := (div 3::Int -3::Int)
+#685 := (= #529 -1::Int)
+#686 := [rewrite]: #685
+#682 := (= #741 #529)
+#526 := (= #409 -3::Int)
+#528 := [rewrite]: #526
+#690 := (= #408 3::Int)
+#697 := [rewrite]: #690
+#683 := [monotonicity #697 #528]: #682
+#687 := [trans #683 #686]: #684
+#570 := [monotonicity #687]: #569
+#530 := [trans #570 #703]: #571
+#580 := [monotonicity #530]: #678
+#676 := [trans #580 #548]: #675
+#564 := [monotonicity #676]: #679
+#581 := [trans #564 #689]: #579
+#695 := (iff #734 #81)
+#693 := (iff #734 #692)
+#549 := (= #527 #706)
+#705 := (= #527 #704)
+#698 := (= #397 1::Int)
+#712 := (= #397 #708)
+#707 := (= #740 -1::Int)
+#711 := [rewrite]: #707
+#701 := [monotonicity #711]: #712
+#699 := [trans #701 #703]: #698
+#700 := [monotonicity #699]: #705
+#691 := [trans #700 #548]: #549
+#694 := [monotonicity #691]: #693
+#696 := [trans #694 #689]: #695
+#710 := (iff #738 true)
+#428 := (or false true)
+#431 := (iff #428 true)
+#709 := [rewrite]: #431
+#429 := (iff #738 #428)
+#714 := (iff #403 true)
+#716 := (not false)
+#713 := (iff #716 true)
+#717 := [rewrite]: #713
+#438 := (iff #403 #716)
+#339 := (iff #424 false)
+#396 := (or false false)
+#721 := (iff #396 false)
+#384 := [rewrite]: #721
+#444 := (iff #424 #396)
+#724 := (iff #421 false)
+#725 := [rewrite]: #724
+#442 := (iff #420 false)
+#443 := [rewrite]: #442
+#445 := [monotonicity #443 #725]: #444
+#715 := [trans #445 #384]: #339
+#439 := [monotonicity #715]: #438
+#718 := [trans #439 #717]: #714
+#719 := (iff #423 false)
+#371 := (not true)
+#730 := (iff #371 false)
+#733 := [rewrite]: #730
+#372 := (iff #423 #371)
+#729 := (iff #422 true)
+#726 := (or true false)
+#728 := (iff #726 true)
+#366 := [rewrite]: #728
+#727 := (iff #422 #726)
+#387 := (iff #410 true)
+#723 := [rewrite]: #387
+#722 := [monotonicity #723 #725]: #727
+#731 := [trans #722 #366]: #729
+#732 := [monotonicity #731]: #372
+#720 := [trans #732 #733]: #719
+#430 := [monotonicity #720 #718]: #429
+#425 := [trans #430 #709]: #710
+#583 := [monotonicity #425 #696 #581]: #575
+#587 := [trans #583 #585]: #586
+#385 := (iff #418 false)
+#737 := (iff #418 #396)
+#400 := (iff #417 false)
+#736 := [rewrite]: #400
+#735 := (iff #333 false)
+#395 := [rewrite]: #735
+#380 := [monotonicity #395 #736]: #737
+#386 := [trans #380 #384]: #385
+#681 := [monotonicity #386 #587]: #677
+#659 := [trans #681 #670]: #662
+#674 := [monotonicity #659]: #669
+#665 := [trans #674 #664]: #669
+#673 := [quant-inst #69 #8]: #672
+#666 := [mp #673 #665]: #671
+[unit-resolution #666 #89 #752]: false
+unsat
+7926b7bb56c2a95b0f37b98542d8e6b331cd48e9 326 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -32197,99 +30041,75 @@
 #7 := f5
 #18 := (f4 f5 #17)
 #20 := (f3 #18 #19)
-#706 := (pattern #20)
+#747 := (pattern #20)
 #21 := 0::Int
-#102 := -1::Int
-#106 := (* -1::Int #19)
-#103 := (* -1::Int #17)
-#109 := (div #103 #106)
-#265 := (* -1::Int #109)
-#266 := (+ #20 #265)
-#267 := (= #266 0::Int)
+#89 := -1::Int
+#94 := (* -1::Int #19)
+#91 := (* -1::Int #17)
+#97 := (div #91 #94)
+#248 := (* -1::Int #97)
+#249 := (+ #20 #248)
+#250 := (= #249 0::Int)
 #31 := (div #17 #19)
-#262 := (* -1::Int #31)
-#263 := (+ #20 #262)
-#264 := (= #263 0::Int)
-#80 := (<= #19 0::Int)
-#172 := (>= #17 0::Int)
-#225 := (or #172 #80)
-#226 := (not #225)
-#76 := (<= #17 0::Int)
-#221 := (or #76 #80)
-#222 := (not #221)
-#229 := (or #222 #226)
-#268 := (if #229 #264 #267)
-#261 := (= #20 0::Int)
+#245 := (* -1::Int #31)
+#246 := (+ #20 #245)
+#247 := (= #246 0::Int)
+#116 := (<= #19 0::Int)
+#123 := (>= #17 0::Int)
+#208 := (or #123 #116)
+#209 := (not #208)
+#112 := (<= #17 0::Int)
+#206 := (or #112 #116)
+#207 := (not #206)
+#212 := (or #207 #209)
+#251 := (if #212 #247 #250)
+#244 := (= #20 0::Int)
 #23 := (= #19 0::Int)
 #22 := (= #17 0::Int)
 #24 := (or #22 #23)
-#269 := (if #24 #261 #268)
-#707 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #706) #269)
-#272 := (forall (vars (?v0 Int) (?v1 Int)) #269)
-#710 := (iff #272 #707)
-#708 := (iff #269 #269)
-#709 := [refl]: #708
-#711 := [quant-intro #709]: #710
-#232 := (if #229 #31 #109)
-#235 := (if #24 0::Int #232)
-#238 := (= #20 #235)
-#241 := (forall (vars (?v0 Int) (?v1 Int)) #238)
-#273 := (iff #241 #272)
-#270 := (iff #238 #269)
-#271 := [rewrite]: #270
-#274 := [quant-intro #271]: #273
-#81 := (not #80)
-#175 := (not #172)
-#178 := (and #175 #81)
-#77 := (not #76)
-#84 := (and #77 #81)
-#181 := (or #84 #178)
-#184 := (if #181 #31 #109)
-#187 := (if #24 0::Int #184)
-#190 := (= #20 #187)
-#193 := (forall (vars (?v0 Int) (?v1 Int)) #190)
-#242 := (iff #193 #241)
-#239 := (iff #190 #238)
-#236 := (= #187 #235)
-#233 := (= #184 #232)
-#230 := (iff #181 #229)
-#227 := (iff #178 #226)
-#228 := [rewrite]: #227
-#223 := (iff #84 #222)
-#224 := [rewrite]: #223
-#231 := [monotonicity #224 #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [monotonicity #234]: #236
-#240 := [monotonicity #237]: #239
-#243 := [quant-intro #240]: #242
-#213 := (~ #193 #193)
-#215 := (~ #190 #190)
-#216 := [refl]: #215
-#214 := [nnf-pos #216]: #213
-#87 := (<= 0::Int #17)
-#88 := (not #87)
-#96 := (and #88 #81)
-#99 := (or #84 #96)
-#112 := (if #99 #31 #109)
-#115 := (if #24 0::Int #112)
-#118 := (= #20 #115)
-#121 := (forall (vars (?v0 Int) (?v1 Int)) #118)
-#194 := (iff #121 #193)
-#191 := (iff #118 #190)
-#188 := (= #115 #187)
-#185 := (= #112 #184)
-#182 := (iff #99 #181)
-#179 := (iff #96 #178)
-#176 := (iff #88 #175)
-#173 := (iff #87 #172)
-#174 := [rewrite]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [monotonicity #189]: #191
-#195 := [quant-intro #192]: #194
+#252 := (if #24 #244 #251)
+#748 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #747) #252)
+#255 := (forall (vars (?v0 Int) (?v1 Int)) #252)
+#751 := (iff #255 #748)
+#749 := (iff #252 #252)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#215 := (if #212 #31 #97)
+#218 := (if #24 0::Int #215)
+#221 := (= #20 #218)
+#224 := (forall (vars (?v0 Int) (?v1 Int)) #221)
+#256 := (iff #224 #255)
+#253 := (iff #221 #252)
+#254 := [rewrite]: #253
+#257 := [quant-intro #254]: #256
+#117 := (not #116)
+#124 := (not #123)
+#127 := (and #124 #117)
+#113 := (not #112)
+#120 := (and #113 #117)
+#130 := (or #120 #127)
+#133 := (if #130 #31 #97)
+#136 := (if #24 0::Int #133)
+#139 := (= #20 #136)
+#142 := (forall (vars (?v0 Int) (?v1 Int)) #139)
+#225 := (iff #142 #224)
+#222 := (iff #139 #221)
+#219 := (= #136 #218)
+#216 := (= #133 #215)
+#213 := (iff #130 #212)
+#210 := (iff #127 #209)
+#211 := [rewrite]: #210
+#200 := (iff #120 #207)
+#201 := [rewrite]: #200
+#214 := [monotonicity #201 #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#223 := [monotonicity #220]: #222
+#226 := [quant-intro #223]: #225
+#204 := (~ #142 #142)
+#202 := (~ #139 #139)
+#203 := [refl]: #202
+#205 := [nnf-pos #203]: #204
 #33 := (- #19)
 #32 := (- #17)
 #34 := (div #32 #33)
@@ -32303,51 +30123,59 @@
 #36 := (if #24 0::Int #35)
 #37 := (= #20 #36)
 #38 := (forall (vars (?v0 Int) (?v1 Int)) #37)
-#122 := (iff #38 #121)
-#119 := (iff #37 #118)
-#116 := (= #36 #115)
-#113 := (= #35 #112)
-#110 := (= #34 #109)
-#107 := (= #33 #106)
-#108 := [rewrite]: #107
-#104 := (= #32 #103)
-#105 := [rewrite]: #104
-#111 := [monotonicity #105 #108]: #110
-#100 := (iff #30 #99)
-#97 := (iff #29 #96)
-#82 := (iff #26 #81)
-#83 := [rewrite]: #82
-#89 := (iff #28 #88)
-#93 := (iff #88 #88)
-#91 := (iff #87 #87)
-#92 := [rewrite]: #91
-#94 := [monotonicity #92]: #93
-#90 := [rewrite]: #89
-#95 := [trans #90 #94]: #89
-#98 := [monotonicity #95 #83]: #97
-#85 := (iff #27 #84)
-#78 := (iff #25 #77)
-#79 := [rewrite]: #78
-#86 := [monotonicity #79 #83]: #85
-#101 := [monotonicity #86 #98]: #100
-#114 := [monotonicity #101 #111]: #113
-#117 := [monotonicity #114]: #116
-#120 := [monotonicity #117]: #119
-#123 := [quant-intro #120]: #122
-#52 := [asserted]: #38
-#124 := [mp #52 #123]: #121
-#196 := [mp #124 #195]: #193
-#170 := [mp~ #196 #214]: #193
-#244 := [mp #170 #243]: #241
-#275 := [mp #244 #274]: #272
-#712 := [mp #275 #711]: #707
-#66 := -2::Int
+#145 := (iff #38 #142)
+#100 := (if #30 #31 #97)
+#103 := (if #24 0::Int #100)
+#106 := (= #20 #103)
+#109 := (forall (vars (?v0 Int) (?v1 Int)) #106)
+#143 := (iff #109 #142)
+#140 := (iff #106 #139)
+#137 := (= #103 #136)
+#134 := (= #100 #133)
+#131 := (iff #30 #130)
+#128 := (iff #29 #127)
+#118 := (iff #26 #117)
+#119 := [rewrite]: #118
+#125 := (iff #28 #124)
+#126 := [rewrite]: #125
+#129 := [monotonicity #126 #119]: #128
+#121 := (iff #27 #120)
+#114 := (iff #25 #113)
+#115 := [rewrite]: #114
+#122 := [monotonicity #115 #119]: #121
+#132 := [monotonicity #122 #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [monotonicity #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [quant-intro #141]: #143
+#110 := (iff #38 #109)
+#107 := (iff #37 #106)
+#104 := (= #36 #103)
+#101 := (= #35 #100)
+#98 := (= #34 #97)
+#95 := (= #33 #94)
+#96 := [rewrite]: #95
+#92 := (= #32 #91)
+#93 := [rewrite]: #92
+#99 := [monotonicity #93 #96]: #98
+#102 := [monotonicity #99]: #101
+#105 := [monotonicity #102]: #104
+#108 := [monotonicity #105]: #107
+#111 := [quant-intro #108]: #110
+#146 := [trans #111 #144]: #145
+#88 := [asserted]: #38
+#147 := [mp #88 #146]: #142
+#196 := [mp~ #147 #205]: #142
+#227 := [mp #196 #226]: #224
+#258 := [mp #227 #257]: #255
+#753 := [mp #258 #752]: #748
+#79 := -2::Int
 #11 := 3::Int
-#57 := -5::Int
-#60 := (f4 f5 -5::Int)
-#63 := (f3 #60 3::Int)
-#69 := (= #63 -2::Int)
-#72 := (not #69)
+#70 := -5::Int
+#73 := (f4 f5 -5::Int)
+#76 := (f3 #73 3::Int)
+#82 := (= #76 -2::Int)
+#85 := (not #82)
 #13 := 2::Int
 #14 := (- 2::Int)
 #8 := 5::Int
@@ -32356,181 +30184,181 @@
 #12 := (f3 #10 3::Int)
 #15 := (= #12 #14)
 #16 := (not #15)
-#73 := (iff #16 #72)
-#70 := (iff #15 #69)
-#67 := (= #14 -2::Int)
-#68 := [rewrite]: #67
-#64 := (= #12 #63)
-#61 := (= #10 #60)
-#58 := (= #9 -5::Int)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#71 := [monotonicity #65 #68]: #70
-#74 := [monotonicity #71]: #73
-#51 := [asserted]: #16
-#75 := [mp #51 #74]: #72
-#611 := (not #707)
-#612 := (or #611 #69)
-#369 := (* -1::Int 3::Int)
-#368 := (* -1::Int -5::Int)
-#701 := (div #368 #369)
-#702 := (* -1::Int #701)
-#703 := (+ #63 #702)
-#704 := (= #703 0::Int)
-#700 := (div -5::Int 3::Int)
-#357 := (* -1::Int #700)
-#487 := (+ #63 #357)
-#694 := (= #487 0::Int)
-#381 := (<= 3::Int 0::Int)
-#380 := (>= -5::Int 0::Int)
-#384 := (or #380 #381)
-#363 := (not #384)
-#370 := (<= -5::Int 0::Int)
-#382 := (or #370 #381)
-#383 := (not #382)
-#698 := (or #383 #363)
-#699 := (if #698 #694 #704)
-#379 := (= #63 0::Int)
-#377 := (= 3::Int 0::Int)
-#292 := (= -5::Int 0::Int)
-#378 := (or #292 #377)
-#705 := (if #378 #379 #699)
-#614 := (or #611 #705)
-#616 := (iff #614 #612)
-#613 := (iff #612 #612)
-#618 := [rewrite]: #613
-#620 := (iff #705 #69)
-#634 := (if false #379 #69)
-#625 := (iff #634 #69)
-#626 := [rewrite]: #625
-#623 := (iff #705 #634)
-#633 := (iff #699 #69)
-#640 := (= #63 -1::Int)
-#1 := true
-#622 := (if true #69 #640)
-#631 := (iff #622 #69)
-#632 := [rewrite]: #631
-#619 := (iff #699 #622)
-#628 := (iff #704 #640)
-#310 := 1::Int
-#541 := (+ 1::Int #63)
-#545 := (= #541 0::Int)
-#637 := (iff #545 #640)
-#641 := [rewrite]: #637
-#546 := (iff #704 #545)
-#543 := (= #703 #541)
-#639 := (+ #63 1::Int)
-#542 := (= #639 #541)
-#535 := [rewrite]: #542
-#524 := (= #703 #639)
-#635 := (= #702 1::Int)
-#530 := (* -1::Int -1::Int)
-#638 := (= #530 1::Int)
-#540 := [rewrite]: #638
-#531 := (= #702 #530)
-#647 := (= #701 -1::Int)
-#486 := -3::Int
-#642 := (div 5::Int -3::Int)
-#646 := (= #642 -1::Int)
-#644 := [rewrite]: #646
-#643 := (= #701 #642)
-#488 := (= #369 -3::Int)
-#489 := [rewrite]: #488
-#650 := (= #368 5::Int)
-#657 := [rewrite]: #650
-#645 := [monotonicity #657 #489]: #643
-#529 := [trans #645 #644]: #647
-#490 := [monotonicity #529]: #531
-#636 := [trans #490 #540]: #635
-#539 := [monotonicity #636]: #524
-#544 := [trans #539 #535]: #543
-#547 := [monotonicity #544]: #546
-#630 := [trans #547 #641]: #628
-#655 := (iff #694 #69)
-#666 := (+ 2::Int #63)
-#652 := (= #666 0::Int)
-#648 := (iff #652 #69)
-#649 := [rewrite]: #648
-#653 := (iff #694 #652)
-#509 := (= #487 #666)
-#664 := (+ #63 2::Int)
-#507 := (= #664 #666)
-#508 := [rewrite]: #507
-#665 := (= #487 #664)
-#658 := (= #357 2::Int)
-#668 := (* -1::Int -2::Int)
-#662 := (= #668 2::Int)
-#663 := [rewrite]: #662
-#672 := (= #357 #668)
-#667 := (= #700 -2::Int)
-#671 := [rewrite]: #667
-#661 := [monotonicity #671]: #672
-#659 := [trans #661 #663]: #658
-#660 := [monotonicity #659]: #665
-#651 := [trans #660 #508]: #509
-#654 := [monotonicity #651]: #653
-#656 := [trans #654 #649]: #655
-#670 := (iff #698 true)
-#388 := (or false true)
-#391 := (iff #388 true)
-#669 := [rewrite]: #391
-#389 := (iff #698 #388)
-#674 := (iff #363 true)
-#676 := (not false)
-#673 := (iff #676 true)
-#677 := [rewrite]: #673
-#398 := (iff #363 #676)
-#298 := (iff #384 false)
-#356 := (or false false)
-#681 := (iff #356 false)
-#344 := [rewrite]: #681
-#404 := (iff #384 #356)
-#684 := (iff #381 false)
-#685 := [rewrite]: #684
-#402 := (iff #380 false)
-#403 := [rewrite]: #402
-#405 := [monotonicity #403 #685]: #404
-#675 := [trans #405 #344]: #298
-#399 := [monotonicity #675]: #398
-#678 := [trans #399 #677]: #674
-#679 := (iff #383 false)
-#331 := (not true)
-#690 := (iff #331 false)
-#693 := [rewrite]: #690
-#332 := (iff #383 #331)
-#689 := (iff #382 true)
-#686 := (or true false)
-#688 := (iff #686 true)
-#326 := [rewrite]: #688
-#687 := (iff #382 #686)
-#347 := (iff #370 true)
-#683 := [rewrite]: #347
-#682 := [monotonicity #683 #685]: #687
-#691 := [trans #682 #326]: #689
-#692 := [monotonicity #691]: #332
-#680 := [trans #692 #693]: #679
-#390 := [monotonicity #680 #678]: #389
-#385 := [trans #390 #669]: #670
-#621 := [monotonicity #385 #656 #630]: #619
-#629 := [trans #621 #632]: #633
-#345 := (iff #378 false)
-#697 := (iff #378 #356)
-#360 := (iff #377 false)
-#696 := [rewrite]: #360
-#695 := (iff #292 false)
-#355 := [rewrite]: #695
-#340 := [monotonicity #355 #696]: #697
-#346 := [trans #340 #344]: #345
-#624 := [monotonicity #346 #629]: #623
-#627 := [trans #624 #626]: #620
-#617 := [monotonicity #627]: #616
-#604 := [trans #617 #618]: #616
-#615 := [quant-inst #57 #11]: #614
-#605 := [mp #615 #604]: #612
-[unit-resolution #605 #75 #712]: false
-b9e2cb2587eedfa83c2fb391ad520d91b8574998 328 0
-unsat
+#86 := (iff #16 #85)
+#83 := (iff #15 #82)
+#80 := (= #14 -2::Int)
+#81 := [rewrite]: #80
+#77 := (= #12 #76)
+#74 := (= #10 #73)
+#71 := (= #9 -5::Int)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#84 := [monotonicity #78 #81]: #83
+#87 := [monotonicity #84]: #86
+#69 := [asserted]: #16
+#90 := [mp #69 #87]: #85
+#652 := (not #748)
+#653 := (or #652 #82)
+#410 := (* -1::Int 3::Int)
+#409 := (* -1::Int -5::Int)
+#742 := (div #409 #410)
+#743 := (* -1::Int #742)
+#744 := (+ #76 #743)
+#745 := (= #744 0::Int)
+#741 := (div -5::Int 3::Int)
+#398 := (* -1::Int #741)
+#528 := (+ #76 #398)
+#735 := (= #528 0::Int)
+#422 := (<= 3::Int 0::Int)
+#421 := (>= -5::Int 0::Int)
+#425 := (or #421 #422)
+#404 := (not #425)
+#411 := (<= -5::Int 0::Int)
+#423 := (or #411 #422)
+#424 := (not #423)
+#739 := (or #424 #404)
+#740 := (if #739 #735 #745)
+#420 := (= #76 0::Int)
+#418 := (= 3::Int 0::Int)
+#334 := (= -5::Int 0::Int)
+#419 := (or #334 #418)
+#746 := (if #419 #420 #740)
+#655 := (or #652 #746)
+#657 := (iff #655 #653)
+#654 := (iff #653 #653)
+#659 := [rewrite]: #654
+#661 := (iff #746 #82)
+#675 := (if false #420 #82)
+#666 := (iff #675 #82)
+#667 := [rewrite]: #666
+#664 := (iff #746 #675)
+#674 := (iff #740 #82)
+#681 := (= #76 -1::Int)
+#1 := true
+#663 := (if true #82 #681)
+#672 := (iff #663 #82)
+#673 := [rewrite]: #672
+#660 := (iff #740 #663)
+#669 := (iff #745 #681)
+#287 := 1::Int
+#582 := (+ 1::Int #76)
+#586 := (= #582 0::Int)
+#678 := (iff #586 #681)
+#682 := [rewrite]: #678
+#587 := (iff #745 #586)
+#584 := (= #744 #582)
+#680 := (+ #76 1::Int)
+#583 := (= #680 #582)
+#576 := [rewrite]: #583
+#565 := (= #744 #680)
+#676 := (= #743 1::Int)
+#571 := (* -1::Int -1::Int)
+#679 := (= #571 1::Int)
+#581 := [rewrite]: #679
+#572 := (= #743 #571)
+#688 := (= #742 -1::Int)
+#527 := -3::Int
+#683 := (div 5::Int -3::Int)
+#687 := (= #683 -1::Int)
+#685 := [rewrite]: #687
+#684 := (= #742 #683)
+#529 := (= #410 -3::Int)
+#530 := [rewrite]: #529
+#691 := (= #409 5::Int)
+#698 := [rewrite]: #691
+#686 := [monotonicity #698 #530]: #684
+#570 := [trans #686 #685]: #688
+#531 := [monotonicity #570]: #572
+#677 := [trans #531 #581]: #676
+#580 := [monotonicity #677]: #565
+#585 := [trans #580 #576]: #584
+#588 := [monotonicity #585]: #587
+#671 := [trans #588 #682]: #669
+#696 := (iff #735 #82)
+#707 := (+ 2::Int #76)
+#693 := (= #707 0::Int)
+#689 := (iff #693 #82)
+#690 := [rewrite]: #689
+#694 := (iff #735 #693)
+#550 := (= #528 #707)
+#705 := (+ #76 2::Int)
+#548 := (= #705 #707)
+#549 := [rewrite]: #548
+#706 := (= #528 #705)
+#699 := (= #398 2::Int)
+#709 := (* -1::Int -2::Int)
+#703 := (= #709 2::Int)
+#704 := [rewrite]: #703
+#713 := (= #398 #709)
+#708 := (= #741 -2::Int)
+#712 := [rewrite]: #708
+#702 := [monotonicity #712]: #713
+#700 := [trans #702 #704]: #699
+#701 := [monotonicity #700]: #706
+#692 := [trans #701 #549]: #550
+#695 := [monotonicity #692]: #694
+#697 := [trans #695 #690]: #696
+#711 := (iff #739 true)
+#429 := (or false true)
+#432 := (iff #429 true)
+#710 := [rewrite]: #432
+#430 := (iff #739 #429)
+#715 := (iff #404 true)
+#717 := (not false)
+#714 := (iff #717 true)
+#718 := [rewrite]: #714
+#439 := (iff #404 #717)
+#340 := (iff #425 false)
+#397 := (or false false)
+#722 := (iff #397 false)
+#385 := [rewrite]: #722
+#445 := (iff #425 #397)
+#725 := (iff #422 false)
+#726 := [rewrite]: #725
+#443 := (iff #421 false)
+#444 := [rewrite]: #443
+#446 := [monotonicity #444 #726]: #445
+#716 := [trans #446 #385]: #340
+#440 := [monotonicity #716]: #439
+#719 := [trans #440 #718]: #715
+#720 := (iff #424 false)
+#372 := (not true)
+#731 := (iff #372 false)
+#734 := [rewrite]: #731
+#373 := (iff #424 #372)
+#730 := (iff #423 true)
+#727 := (or true false)
+#729 := (iff #727 true)
+#367 := [rewrite]: #729
+#728 := (iff #423 #727)
+#388 := (iff #411 true)
+#724 := [rewrite]: #388
+#723 := [monotonicity #724 #726]: #728
+#732 := [trans #723 #367]: #730
+#733 := [monotonicity #732]: #373
+#721 := [trans #733 #734]: #720
+#431 := [monotonicity #721 #719]: #430
+#426 := [trans #431 #710]: #711
+#662 := [monotonicity #426 #697 #671]: #660
+#670 := [trans #662 #673]: #674
+#386 := (iff #419 false)
+#738 := (iff #419 #397)
+#401 := (iff #418 false)
+#737 := [rewrite]: #401
+#736 := (iff #334 false)
+#396 := [rewrite]: #736
+#381 := [monotonicity #396 #737]: #738
+#387 := [trans #381 #385]: #386
+#665 := [monotonicity #387 #670]: #664
+#668 := [trans #665 #667]: #661
+#658 := [monotonicity #668]: #657
+#645 := [trans #658 #659]: #657
+#656 := [quant-inst #70 #11]: #655
+#646 := [mp #656 #645]: #653
+[unit-resolution #646 #90 #753]: false
+unsat
+8fedb44b144cd0bde283f4741a534807a56eb96d 312 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -32540,99 +30368,75 @@
 #7 := f5
 #18 := (f4 f5 #17)
 #20 := (f3 #18 #19)
-#703 := (pattern #20)
+#746 := (pattern #20)
 #14 := 0::Int
-#56 := -1::Int
-#104 := (* -1::Int #19)
-#101 := (* -1::Int #17)
-#107 := (div #101 #104)
-#263 := (* -1::Int #107)
-#264 := (+ #20 #263)
-#265 := (= #264 0::Int)
+#69 := -1::Int
+#92 := (* -1::Int #19)
+#88 := (* -1::Int #17)
+#95 := (div #88 #92)
+#246 := (* -1::Int #95)
+#247 := (+ #20 #246)
+#248 := (= #247 0::Int)
 #30 := (div #17 #19)
-#260 := (* -1::Int #30)
-#261 := (+ #20 #260)
-#262 := (= #261 0::Int)
-#79 := (<= #19 0::Int)
-#170 := (>= #17 0::Int)
-#223 := (or #170 #79)
-#224 := (not #223)
-#75 := (<= #17 0::Int)
-#219 := (or #75 #79)
-#220 := (not #219)
-#227 := (or #220 #224)
-#266 := (if #227 #262 #265)
-#259 := (= #20 0::Int)
+#243 := (* -1::Int #30)
+#244 := (+ #20 #243)
+#245 := (= #244 0::Int)
+#114 := (<= #19 0::Int)
+#121 := (>= #17 0::Int)
+#206 := (or #121 #114)
+#207 := (not #206)
+#110 := (<= #17 0::Int)
+#204 := (or #110 #114)
+#205 := (not #204)
+#210 := (or #205 #207)
+#249 := (if #210 #245 #248)
+#242 := (= #20 0::Int)
 #22 := (= #19 0::Int)
 #21 := (= #17 0::Int)
 #23 := (or #21 #22)
-#267 := (if #23 #259 #266)
-#704 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #703) #267)
-#270 := (forall (vars (?v0 Int) (?v1 Int)) #267)
-#707 := (iff #270 #704)
-#705 := (iff #267 #267)
-#706 := [refl]: #705
-#708 := [quant-intro #706]: #707
-#230 := (if #227 #30 #107)
-#233 := (if #23 0::Int #230)
-#236 := (= #20 #233)
-#239 := (forall (vars (?v0 Int) (?v1 Int)) #236)
-#271 := (iff #239 #270)
-#268 := (iff #236 #267)
-#269 := [rewrite]: #268
-#272 := [quant-intro #269]: #271
-#80 := (not #79)
-#173 := (not #170)
-#176 := (and #173 #80)
-#76 := (not #75)
-#83 := (and #76 #80)
-#179 := (or #83 #176)
-#182 := (if #179 #30 #107)
-#185 := (if #23 0::Int #182)
-#188 := (= #20 #185)
-#191 := (forall (vars (?v0 Int) (?v1 Int)) #188)
-#240 := (iff #191 #239)
-#237 := (iff #188 #236)
-#234 := (= #185 #233)
-#231 := (= #182 #230)
-#228 := (iff #179 #227)
-#225 := (iff #176 #224)
-#226 := [rewrite]: #225
-#221 := (iff #83 #220)
-#222 := [rewrite]: #221
-#229 := [monotonicity #222 #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [monotonicity #235]: #237
-#241 := [quant-intro #238]: #240
-#211 := (~ #191 #191)
-#213 := (~ #188 #188)
-#214 := [refl]: #213
-#212 := [nnf-pos #214]: #211
-#86 := (<= 0::Int #17)
-#87 := (not #86)
-#95 := (and #87 #80)
-#98 := (or #83 #95)
-#110 := (if #98 #30 #107)
-#113 := (if #23 0::Int #110)
-#116 := (= #20 #113)
-#119 := (forall (vars (?v0 Int) (?v1 Int)) #116)
-#192 := (iff #119 #191)
-#189 := (iff #116 #188)
-#186 := (= #113 #185)
-#183 := (= #110 #182)
-#180 := (iff #98 #179)
-#177 := (iff #95 #176)
-#174 := (iff #87 #173)
-#171 := (iff #86 #170)
-#172 := [rewrite]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [monotonicity #187]: #189
-#193 := [quant-intro #190]: #192
+#250 := (if #23 #242 #249)
+#747 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #746) #250)
+#253 := (forall (vars (?v0 Int) (?v1 Int)) #250)
+#750 := (iff #253 #747)
+#748 := (iff #250 #250)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#213 := (if #210 #30 #95)
+#216 := (if #23 0::Int #213)
+#219 := (= #20 #216)
+#222 := (forall (vars (?v0 Int) (?v1 Int)) #219)
+#254 := (iff #222 #253)
+#251 := (iff #219 #250)
+#252 := [rewrite]: #251
+#255 := [quant-intro #252]: #254
+#115 := (not #114)
+#122 := (not #121)
+#125 := (and #122 #115)
+#111 := (not #110)
+#118 := (and #111 #115)
+#128 := (or #118 #125)
+#131 := (if #128 #30 #95)
+#134 := (if #23 0::Int #131)
+#137 := (= #20 #134)
+#140 := (forall (vars (?v0 Int) (?v1 Int)) #137)
+#223 := (iff #140 #222)
+#220 := (iff #137 #219)
+#217 := (= #134 #216)
+#214 := (= #131 #213)
+#211 := (iff #128 #210)
+#208 := (iff #125 #207)
+#209 := [rewrite]: #208
+#198 := (iff #118 #205)
+#199 := [rewrite]: #198
+#212 := [monotonicity #199 #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [quant-intro #221]: #223
+#202 := (~ #140 #140)
+#200 := (~ #137 #137)
+#201 := [refl]: #200
+#203 := [nnf-pos #201]: #202
 #32 := (- #19)
 #31 := (- #17)
 #33 := (div #31 #32)
@@ -32646,49 +30450,57 @@
 #35 := (if #23 0::Int #34)
 #36 := (= #20 #35)
 #37 := (forall (vars (?v0 Int) (?v1 Int)) #36)
-#120 := (iff #37 #119)
-#117 := (iff #36 #116)
-#114 := (= #35 #113)
-#111 := (= #34 #110)
-#108 := (= #33 #107)
-#105 := (= #32 #104)
-#106 := [rewrite]: #105
-#102 := (= #31 #101)
-#103 := [rewrite]: #102
-#109 := [monotonicity #103 #106]: #108
-#99 := (iff #29 #98)
-#96 := (iff #28 #95)
-#81 := (iff #25 #80)
-#82 := [rewrite]: #81
-#88 := (iff #27 #87)
-#92 := (iff #87 #87)
-#90 := (iff #86 #86)
+#143 := (iff #37 #140)
+#98 := (if #29 #30 #95)
+#101 := (if #23 0::Int #98)
+#104 := (= #20 #101)
+#107 := (forall (vars (?v0 Int) (?v1 Int)) #104)
+#141 := (iff #107 #140)
+#138 := (iff #104 #137)
+#135 := (= #101 #134)
+#132 := (= #98 #131)
+#129 := (iff #29 #128)
+#126 := (iff #28 #125)
+#116 := (iff #25 #115)
+#117 := [rewrite]: #116
+#123 := (iff #27 #122)
+#124 := [rewrite]: #123
+#127 := [monotonicity #124 #117]: #126
+#119 := (iff #26 #118)
+#112 := (iff #24 #111)
+#113 := [rewrite]: #112
+#120 := [monotonicity #113 #117]: #119
+#130 := [monotonicity #120 #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [monotonicity #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [quant-intro #139]: #141
+#108 := (iff #37 #107)
+#105 := (iff #36 #104)
+#102 := (= #35 #101)
+#99 := (= #34 #98)
+#96 := (= #33 #95)
+#93 := (= #32 #92)
+#94 := [rewrite]: #93
+#90 := (= #31 #88)
 #91 := [rewrite]: #90
-#93 := [monotonicity #91]: #92
-#89 := [rewrite]: #88
-#94 := [trans #89 #93]: #88
-#97 := [monotonicity #94 #82]: #96
-#84 := (iff #26 #83)
-#77 := (iff #24 #76)
-#78 := [rewrite]: #77
-#85 := [monotonicity #78 #82]: #84
-#100 := [monotonicity #85 #97]: #99
-#112 := [monotonicity #100 #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [quant-intro #118]: #120
-#51 := [asserted]: #37
-#122 := [mp #51 #121]: #119
-#194 := [mp #122 #193]: #191
-#168 := [mp~ #194 #212]: #191
-#242 := [mp #168 #241]: #239
-#273 := [mp #242 #272]: #270
-#709 := [mp #273 #708]: #704
-#62 := -3::Int
-#59 := (f4 f5 -1::Int)
-#65 := (f3 #59 -3::Int)
-#68 := (= #65 0::Int)
-#71 := (not #68)
+#97 := [monotonicity #91 #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#106 := [monotonicity #103]: #105
+#109 := [quant-intro #106]: #108
+#144 := [trans #109 #142]: #143
+#87 := [asserted]: #37
+#145 := [mp #87 #144]: #140
+#194 := [mp~ #145 #203]: #140
+#225 := [mp #194 #224]: #222
+#256 := [mp #225 #255]: #253
+#752 := [mp #256 #751]: #747
+#75 := -3::Int
+#72 := (f4 f5 -1::Int)
+#78 := (f3 #72 -3::Int)
+#81 := (= #78 0::Int)
+#84 := (not #81)
 #11 := 3::Int
 #12 := (- 3::Int)
 #8 := 1::Int
@@ -32697,169 +30509,169 @@
 #13 := (f3 #10 #12)
 #15 := (= #13 0::Int)
 #16 := (not #15)
-#72 := (iff #16 #71)
-#69 := (iff #15 #68)
-#66 := (= #13 #65)
-#63 := (= #12 -3::Int)
-#64 := [rewrite]: #63
-#60 := (= #10 #59)
-#57 := (= #9 -1::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#70 := [monotonicity #67]: #69
-#73 := [monotonicity #70]: #72
-#50 := [asserted]: #16
-#74 := [mp #50 #73]: #71
-#628 := (not #704)
-#629 := (or #628 #68)
-#365 := (* -1::Int -3::Int)
-#691 := (* -1::Int -1::Int)
-#366 := (div #691 #365)
-#698 := (* -1::Int #366)
-#699 := (+ #65 #698)
-#700 := (= #699 0::Int)
-#695 := (div -1::Int -3::Int)
-#697 := (* -1::Int #695)
-#354 := (+ #65 #697)
-#484 := (= #354 0::Int)
-#367 := (<= -3::Int 0::Int)
-#380 := (>= -1::Int 0::Int)
-#377 := (or #380 #367)
-#381 := (not #377)
-#376 := (<= -1::Int 0::Int)
-#378 := (or #376 #367)
-#379 := (not #378)
-#360 := (or #379 #381)
-#701 := (if #360 #484 #700)
-#374 := (= -3::Int 0::Int)
-#290 := (= -1::Int 0::Int)
-#375 := (or #290 #374)
-#696 := (if #375 #68 #701)
-#630 := (or #628 #696)
-#631 := (iff #630 #629)
-#621 := (iff #629 #629)
-#622 := [rewrite]: #621
-#616 := (iff #696 #68)
-#634 := (if false #68 #68)
-#627 := (iff #634 #68)
-#619 := [rewrite]: #627
-#638 := (iff #696 #634)
-#544 := (iff #701 #68)
-#648 := (= #65 1::Int)
-#532 := (if false #648 #68)
-#542 := (iff #532 #68)
-#543 := [rewrite]: #542
-#540 := (iff #701 #532)
-#538 := (iff #700 #68)
-#521 := (= #699 #65)
-#635 := (+ #65 0::Int)
-#633 := (= #635 #65)
-#636 := [rewrite]: #633
-#537 := (= #699 #635)
-#528 := (= #698 0::Int)
-#643 := (* -1::Int 0::Int)
-#526 := (= #643 0::Int)
-#527 := [rewrite]: #526
-#641 := (= #698 #643)
-#640 := (= #366 0::Int)
-#654 := (div 1::Int 3::Int)
-#486 := (= #654 0::Int)
-#639 := [rewrite]: #486
-#483 := (= #366 #654)
-#653 := (= #365 3::Int)
-#647 := [rewrite]: #653
-#646 := (= #691 1::Int)
-#652 := [rewrite]: #646
-#485 := [monotonicity #652 #647]: #483
-#642 := [trans #485 #639]: #640
-#644 := [monotonicity #642]: #641
-#487 := [trans #644 #527]: #528
-#632 := [monotonicity #487]: #537
-#536 := [trans #632 #636]: #521
-#539 := [monotonicity #536]: #538
-#651 := (iff #484 #648)
-#656 := (+ -1::Int #65)
-#504 := (= #656 0::Int)
-#649 := (iff #504 #648)
-#650 := [rewrite]: #649
-#505 := (iff #484 #504)
-#657 := (= #354 #656)
-#659 := (+ #65 -1::Int)
-#661 := (= #659 #656)
-#662 := [rewrite]: #661
-#660 := (= #354 #659)
-#669 := (= #697 -1::Int)
-#667 := (* -1::Int 1::Int)
-#668 := (= #667 -1::Int)
-#665 := [rewrite]: #668
-#382 := (= #697 #667)
-#388 := (= #695 1::Int)
-#666 := [rewrite]: #388
-#664 := [monotonicity #666]: #382
-#658 := [trans #664 #665]: #669
-#655 := [monotonicity #658]: #660
-#663 := [trans #655 #662]: #657
-#506 := [monotonicity #663]: #505
-#645 := [trans #506 #650]: #651
-#386 := (iff #360 false)
-#693 := (or false false)
-#337 := (iff #693 false)
-#678 := [rewrite]: #337
-#675 := (iff #360 #693)
-#674 := (iff #381 false)
-#1 := true
-#688 := (not true)
-#689 := (iff #688 false)
-#687 := [rewrite]: #689
-#396 := (iff #381 #688)
-#673 := (iff #377 true)
-#400 := (or false true)
-#296 := (iff #400 true)
-#672 := [rewrite]: #296
-#401 := (iff #377 #400)
-#680 := (iff #367 true)
-#681 := [rewrite]: #680
-#677 := (iff #380 false)
-#399 := [rewrite]: #677
-#402 := [monotonicity #399 #681]: #401
-#395 := [trans #402 #672]: #673
-#670 := [monotonicity #395]: #396
-#671 := [trans #670 #687]: #674
-#690 := (iff #379 false)
-#328 := (iff #379 #688)
-#323 := (iff #378 true)
-#682 := (or true true)
-#679 := (iff #682 true)
-#685 := [rewrite]: #679
-#683 := (iff #378 #682)
-#343 := (iff #376 true)
-#344 := [rewrite]: #343
-#684 := [monotonicity #344 #681]: #683
-#686 := [trans #684 #685]: #323
-#329 := [monotonicity #686]: #328
-#676 := [trans #329 #687]: #690
-#385 := [monotonicity #676 #671]: #675
-#387 := [trans #385 #678]: #386
-#541 := [monotonicity #387 #645 #539]: #540
-#637 := [trans #541 #543]: #544
-#341 := (iff #375 false)
-#353 := (iff #375 #693)
-#352 := (iff #374 false)
-#357 := [rewrite]: #352
-#702 := (iff #290 false)
-#692 := [rewrite]: #702
-#694 := [monotonicity #692 #357]: #353
-#342 := [trans #694 #678]: #341
-#625 := [monotonicity #342 #637]: #638
-#618 := [trans #625 #619]: #616
-#620 := [monotonicity #618]: #631
-#623 := [trans #620 #622]: #631
-#626 := [quant-inst #56 #62]: #630
-#617 := [mp #626 #623]: #629
-[unit-resolution #617 #74 #709]: false
-166dc257eef9fb9bbbf145be894cbe683831674b 312 0
-unsat
+#85 := (iff #16 #84)
+#82 := (iff #15 #81)
+#79 := (= #13 #78)
+#76 := (= #12 -3::Int)
+#77 := [rewrite]: #76
+#73 := (= #10 #72)
+#70 := (= #9 -1::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#68 := [asserted]: #16
+#89 := [mp #68 #86]: #84
+#671 := (not #747)
+#672 := (or #671 #81)
+#408 := (* -1::Int -3::Int)
+#734 := (* -1::Int -1::Int)
+#409 := (div #734 #408)
+#741 := (* -1::Int #409)
+#742 := (+ #78 #741)
+#743 := (= #742 0::Int)
+#738 := (div -1::Int -3::Int)
+#740 := (* -1::Int #738)
+#397 := (+ #78 #740)
+#527 := (= #397 0::Int)
+#410 := (<= -3::Int 0::Int)
+#423 := (>= -1::Int 0::Int)
+#420 := (or #423 #410)
+#424 := (not #420)
+#419 := (<= -1::Int 0::Int)
+#421 := (or #419 #410)
+#422 := (not #421)
+#403 := (or #422 #424)
+#744 := (if #403 #527 #743)
+#417 := (= -3::Int 0::Int)
+#333 := (= -1::Int 0::Int)
+#418 := (or #333 #417)
+#739 := (if #418 #81 #744)
+#673 := (or #671 #739)
+#674 := (iff #673 #672)
+#664 := (iff #672 #672)
+#665 := [rewrite]: #664
+#659 := (iff #739 #81)
+#677 := (if false #81 #81)
+#670 := (iff #677 #81)
+#662 := [rewrite]: #670
+#681 := (iff #739 #677)
+#587 := (iff #744 #81)
+#691 := (= #78 1::Int)
+#575 := (if false #691 #81)
+#585 := (iff #575 #81)
+#586 := [rewrite]: #585
+#583 := (iff #744 #575)
+#581 := (iff #743 #81)
+#564 := (= #742 #78)
+#678 := (+ #78 0::Int)
+#676 := (= #678 #78)
+#679 := [rewrite]: #676
+#580 := (= #742 #678)
+#571 := (= #741 0::Int)
+#686 := (* -1::Int 0::Int)
+#569 := (= #686 0::Int)
+#570 := [rewrite]: #569
+#684 := (= #741 #686)
+#683 := (= #409 0::Int)
+#697 := (div 1::Int 3::Int)
+#529 := (= #697 0::Int)
+#682 := [rewrite]: #529
+#526 := (= #409 #697)
+#696 := (= #408 3::Int)
+#690 := [rewrite]: #696
+#689 := (= #734 1::Int)
+#695 := [rewrite]: #689
+#528 := [monotonicity #695 #690]: #526
+#685 := [trans #528 #682]: #683
+#687 := [monotonicity #685]: #684
+#530 := [trans #687 #570]: #571
+#675 := [monotonicity #530]: #580
+#579 := [trans #675 #679]: #564
+#582 := [monotonicity #579]: #581
+#694 := (iff #527 #691)
+#699 := (+ -1::Int #78)
+#547 := (= #699 0::Int)
+#692 := (iff #547 #691)
+#693 := [rewrite]: #692
+#548 := (iff #527 #547)
+#700 := (= #397 #699)
+#702 := (+ #78 -1::Int)
+#704 := (= #702 #699)
+#705 := [rewrite]: #704
+#703 := (= #397 #702)
+#712 := (= #740 -1::Int)
+#710 := (* -1::Int 1::Int)
+#711 := (= #710 -1::Int)
+#708 := [rewrite]: #711
+#425 := (= #740 #710)
+#431 := (= #738 1::Int)
+#709 := [rewrite]: #431
+#707 := [monotonicity #709]: #425
+#701 := [trans #707 #708]: #712
+#698 := [monotonicity #701]: #703
+#706 := [trans #698 #705]: #700
+#549 := [monotonicity #706]: #548
+#688 := [trans #549 #693]: #694
+#429 := (iff #403 false)
+#736 := (or false false)
+#380 := (iff #736 false)
+#721 := [rewrite]: #380
+#718 := (iff #403 #736)
+#717 := (iff #424 false)
+#1 := true
+#731 := (not true)
+#732 := (iff #731 false)
+#730 := [rewrite]: #732
+#439 := (iff #424 #731)
+#716 := (iff #420 true)
+#443 := (or false true)
+#339 := (iff #443 true)
+#715 := [rewrite]: #339
+#444 := (iff #420 #443)
+#723 := (iff #410 true)
+#724 := [rewrite]: #723
+#720 := (iff #423 false)
+#442 := [rewrite]: #720
+#445 := [monotonicity #442 #724]: #444
+#438 := [trans #445 #715]: #716
+#713 := [monotonicity #438]: #439
+#714 := [trans #713 #730]: #717
+#733 := (iff #422 false)
+#371 := (iff #422 #731)
+#366 := (iff #421 true)
+#725 := (or true true)
+#722 := (iff #725 true)
+#728 := [rewrite]: #722
+#726 := (iff #421 #725)
+#386 := (iff #419 true)
+#387 := [rewrite]: #386
+#727 := [monotonicity #387 #724]: #726
+#729 := [trans #727 #728]: #366
+#372 := [monotonicity #729]: #371
+#719 := [trans #372 #730]: #733
+#428 := [monotonicity #719 #714]: #718
+#430 := [trans #428 #721]: #429
+#584 := [monotonicity #430 #688 #582]: #583
+#680 := [trans #584 #586]: #587
+#384 := (iff #418 false)
+#396 := (iff #418 #736)
+#395 := (iff #417 false)
+#400 := [rewrite]: #395
+#745 := (iff #333 false)
+#735 := [rewrite]: #745
+#737 := [monotonicity #735 #400]: #396
+#385 := [trans #737 #721]: #384
+#668 := [monotonicity #385 #680]: #681
+#661 := [trans #668 #662]: #659
+#663 := [monotonicity #661]: #674
+#666 := [trans #663 #665]: #674
+#669 := [quant-inst #69 #75]: #673
+#660 := [mp #669 #666]: #672
+[unit-resolution #660 #89 #752]: false
+unsat
+bb462ec316170c69257cf123bc5b6d6575fb0bf4 296 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -32869,99 +30681,75 @@
 #7 := f5
 #16 := (f4 f5 #15)
 #18 := (f3 #16 #17)
-#700 := (pattern #18)
+#743 := (pattern #18)
 #19 := 0::Int
-#97 := -1::Int
-#101 := (* -1::Int #17)
-#98 := (* -1::Int #15)
-#104 := (div #98 #101)
-#260 := (* -1::Int #104)
-#261 := (+ #18 #260)
-#262 := (= #261 0::Int)
+#84 := -1::Int
+#89 := (* -1::Int #17)
+#86 := (* -1::Int #15)
+#92 := (div #86 #89)
+#243 := (* -1::Int #92)
+#244 := (+ #18 #243)
+#245 := (= #244 0::Int)
 #29 := (div #15 #17)
-#257 := (* -1::Int #29)
-#258 := (+ #18 #257)
-#259 := (= #258 0::Int)
-#75 := (<= #17 0::Int)
-#167 := (>= #15 0::Int)
-#220 := (or #167 #75)
-#221 := (not #220)
-#71 := (<= #15 0::Int)
-#216 := (or #71 #75)
-#217 := (not #216)
-#224 := (or #217 #221)
-#263 := (if #224 #259 #262)
-#256 := (= #18 0::Int)
+#240 := (* -1::Int #29)
+#241 := (+ #18 #240)
+#242 := (= #241 0::Int)
+#111 := (<= #17 0::Int)
+#118 := (>= #15 0::Int)
+#203 := (or #118 #111)
+#204 := (not #203)
+#107 := (<= #15 0::Int)
+#201 := (or #107 #111)
+#202 := (not #201)
+#207 := (or #202 #204)
+#246 := (if #207 #242 #245)
+#239 := (= #18 0::Int)
 #21 := (= #17 0::Int)
 #20 := (= #15 0::Int)
 #22 := (or #20 #21)
-#264 := (if #22 #256 #263)
-#701 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #700) #264)
-#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
-#704 := (iff #267 #701)
-#702 := (iff #264 #264)
-#703 := [refl]: #702
-#705 := [quant-intro #703]: #704
-#227 := (if #224 #29 #104)
-#230 := (if #22 0::Int #227)
-#233 := (= #18 #230)
-#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
-#268 := (iff #236 #267)
-#265 := (iff #233 #264)
-#266 := [rewrite]: #265
-#269 := [quant-intro #266]: #268
-#76 := (not #75)
-#170 := (not #167)
-#173 := (and #170 #76)
-#72 := (not #71)
-#79 := (and #72 #76)
-#176 := (or #79 #173)
-#179 := (if #176 #29 #104)
-#182 := (if #22 0::Int #179)
-#185 := (= #18 #182)
-#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
-#237 := (iff #188 #236)
-#234 := (iff #185 #233)
-#231 := (= #182 #230)
-#228 := (= #179 #227)
-#225 := (iff #176 #224)
-#222 := (iff #173 #221)
-#223 := [rewrite]: #222
-#218 := (iff #79 #217)
-#219 := [rewrite]: #218
-#226 := [monotonicity #219 #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [quant-intro #235]: #237
-#210 := (~ #188 #188)
-#212 := (~ #185 #185)
-#213 := [refl]: #212
-#211 := [nnf-pos #213]: #210
-#82 := (<= 0::Int #15)
-#83 := (not #82)
-#91 := (and #83 #76)
-#94 := (or #79 #91)
-#107 := (if #94 #29 #104)
-#110 := (if #22 0::Int #107)
-#113 := (= #18 #110)
-#116 := (forall (vars (?v0 Int) (?v1 Int)) #113)
-#189 := (iff #116 #188)
-#186 := (iff #113 #185)
-#183 := (= #110 #182)
-#180 := (= #107 #179)
-#177 := (iff #94 #176)
-#174 := (iff #91 #173)
-#171 := (iff #83 #170)
-#168 := (iff #82 #167)
-#169 := [rewrite]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [quant-intro #187]: #189
+#247 := (if #22 #239 #246)
+#744 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #743) #247)
+#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
+#747 := (iff #250 #744)
+#745 := (iff #247 #247)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#210 := (if #207 #29 #92)
+#213 := (if #22 0::Int #210)
+#216 := (= #18 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#251 := (iff #219 #250)
+#248 := (iff #216 #247)
+#249 := [rewrite]: #248
+#252 := [quant-intro #249]: #251
+#112 := (not #111)
+#119 := (not #118)
+#122 := (and #119 #112)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#128 := (if #125 #29 #92)
+#131 := (if #22 0::Int #128)
+#134 := (= #18 #131)
+#137 := (forall (vars (?v0 Int) (?v1 Int)) #134)
+#220 := (iff #137 #219)
+#217 := (iff #134 #216)
+#214 := (= #131 #213)
+#211 := (= #128 #210)
+#208 := (iff #125 #207)
+#205 := (iff #122 #204)
+#206 := [rewrite]: #205
+#195 := (iff #115 #202)
+#196 := [rewrite]: #195
+#209 := [monotonicity #196 #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#199 := (~ #137 #137)
+#197 := (~ #134 #134)
+#198 := [refl]: #197
+#200 := [nnf-pos #198]: #199
 #31 := (- #17)
 #30 := (- #15)
 #32 := (div #30 #31)
@@ -32975,204 +30763,212 @@
 #34 := (if #22 0::Int #33)
 #35 := (= #18 #34)
 #36 := (forall (vars (?v0 Int) (?v1 Int)) #35)
-#117 := (iff #36 #116)
-#114 := (iff #35 #113)
-#111 := (= #34 #110)
-#108 := (= #33 #107)
-#105 := (= #32 #104)
-#102 := (= #31 #101)
-#103 := [rewrite]: #102
-#99 := (= #30 #98)
-#100 := [rewrite]: #99
-#106 := [monotonicity #100 #103]: #105
-#95 := (iff #28 #94)
-#92 := (iff #27 #91)
-#77 := (iff #24 #76)
-#78 := [rewrite]: #77
-#84 := (iff #26 #83)
-#88 := (iff #83 #83)
-#86 := (iff #82 #82)
-#87 := [rewrite]: #86
-#89 := [monotonicity #87]: #88
-#85 := [rewrite]: #84
-#90 := [trans #85 #89]: #84
-#93 := [monotonicity #90 #78]: #92
-#80 := (iff #25 #79)
-#73 := (iff #23 #72)
-#74 := [rewrite]: #73
-#81 := [monotonicity #74 #78]: #80
-#96 := [monotonicity #81 #93]: #95
-#109 := [monotonicity #96 #106]: #108
-#112 := [monotonicity #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [quant-intro #115]: #117
-#50 := [asserted]: #36
-#119 := [mp #50 #118]: #116
-#191 := [mp #119 #190]: #188
-#208 := [mp~ #191 #211]: #188
-#239 := [mp #208 #238]: #236
-#270 := [mp #239 #269]: #267
-#706 := [mp #270 #705]: #701
+#140 := (iff #36 #137)
+#95 := (if #28 #29 #92)
+#98 := (if #22 0::Int #95)
+#101 := (= #18 #98)
+#104 := (forall (vars (?v0 Int) (?v1 Int)) #101)
+#138 := (iff #104 #137)
+#135 := (iff #101 #134)
+#132 := (= #98 #131)
+#129 := (= #95 #128)
+#126 := (iff #28 #125)
+#123 := (iff #27 #122)
+#113 := (iff #24 #112)
+#114 := [rewrite]: #113
+#120 := (iff #26 #119)
+#121 := [rewrite]: #120
+#124 := [monotonicity #121 #114]: #123
+#116 := (iff #25 #115)
+#109 := (iff #23 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [monotonicity #133]: #135
+#139 := [quant-intro #136]: #138
+#105 := (iff #36 #104)
+#102 := (iff #35 #101)
+#99 := (= #34 #98)
+#96 := (= #33 #95)
+#93 := (= #32 #92)
+#90 := (= #31 #89)
+#91 := [rewrite]: #90
+#87 := (= #30 #86)
+#88 := [rewrite]: #87
+#94 := [monotonicity #88 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [monotonicity #100]: #102
+#106 := [quant-intro #103]: #105
+#141 := [trans #106 #139]: #140
+#83 := [asserted]: #36
+#142 := [mp #83 #141]: #137
+#191 := [mp~ #142 #200]: #137
+#222 := [mp #191 #221]: #219
+#253 := [mp #222 #252]: #250
+#749 := [mp #253 #748]: #744
 #12 := 1::Int
-#55 := -3::Int
-#58 := (f4 f5 -3::Int)
-#61 := (f3 #58 -3::Int)
-#64 := (= #61 1::Int)
-#67 := (not #64)
+#68 := -3::Int
+#71 := (f4 f5 -3::Int)
+#74 := (f3 #71 -3::Int)
+#77 := (= #74 1::Int)
+#80 := (not #77)
 #8 := 3::Int
 #9 := (- 3::Int)
 #10 := (f4 f5 #9)
 #11 := (f3 #10 #9)
 #13 := (= #11 1::Int)
 #14 := (not #13)
-#68 := (iff #14 #67)
-#65 := (iff #13 #64)
-#62 := (= #11 #61)
-#56 := (= #9 -3::Int)
-#57 := [rewrite]: #56
-#59 := (= #10 #58)
-#60 := [monotonicity #57]: #59
-#63 := [monotonicity #60 #57]: #62
-#66 := [monotonicity #63]: #65
-#69 := [monotonicity #66]: #68
-#49 := [asserted]: #14
-#70 := [mp #49 #69]: #67
-#537 := (not #701)
-#538 := (or #537 #64)
-#481 := (* -1::Int -3::Int)
-#688 := (div #481 #481)
-#362 := (* -1::Int #688)
-#363 := (+ #61 #362)
-#695 := (= #363 0::Int)
-#357 := (div -3::Int -3::Int)
-#692 := (* -1::Int #357)
-#694 := (+ #61 #692)
-#351 := (= #694 0::Int)
-#373 := (<= -3::Int 0::Int)
-#376 := (>= -3::Int 0::Int)
-#377 := (or #376 #373)
-#374 := (not #377)
-#364 := (or #373 #373)
-#375 := (not #364)
-#378 := (or #375 #374)
-#696 := (if #378 #351 #695)
-#372 := (= #61 0::Int)
-#287 := (= -3::Int 0::Int)
-#371 := (or #287 #287)
-#697 := (if #371 #372 #696)
-#539 := (or #537 #697)
-#541 := (iff #539 #538)
-#631 := (iff #538 #538)
-#635 := [rewrite]: #631
-#536 := (iff #697 #64)
-#630 := (if false #372 #64)
-#533 := (iff #630 #64)
-#535 := [rewrite]: #533
-#633 := (iff #697 #630)
-#534 := (iff #696 #64)
-#523 := (if false #64 #64)
-#484 := (iff #523 #64)
-#632 := [rewrite]: #484
-#524 := (iff #696 #523)
-#638 := (iff #695 #64)
-#662 := (+ -1::Int #61)
-#652 := (= #662 0::Int)
-#659 := (iff #652 #64)
-#654 := [rewrite]: #659
-#639 := (iff #695 #652)
-#636 := (= #363 #662)
-#379 := (+ #61 -1::Int)
-#666 := (= #379 #662)
-#655 := [rewrite]: #666
-#482 := (= #363 #379)
-#651 := (= #362 -1::Int)
-#672 := (* -1::Int 1::Int)
-#384 := (= #672 -1::Int)
-#385 := [rewrite]: #384
-#650 := (= #362 #672)
-#643 := (= #688 1::Int)
-#645 := (div 3::Int 3::Int)
-#648 := (= #645 1::Int)
-#642 := [rewrite]: #648
-#646 := (= #688 #645)
-#502 := (= #481 3::Int)
-#503 := [rewrite]: #502
-#647 := [monotonicity #503 #503]: #646
-#649 := [trans #647 #642]: #643
-#644 := [monotonicity #649]: #650
-#480 := [trans #644 #385]: #651
-#483 := [monotonicity #480]: #482
-#637 := [trans #483 #655]: #636
-#640 := [monotonicity #637]: #639
-#641 := [trans #640 #654]: #638
-#660 := (iff #351 #64)
-#653 := (iff #351 #652)
-#656 := (= #694 #662)
-#661 := (= #694 #379)
-#663 := (= #692 -1::Int)
-#382 := (= #692 #672)
-#671 := (= #357 1::Int)
-#668 := [rewrite]: #671
-#383 := [monotonicity #668]: #382
-#664 := [trans #383 #385]: #663
-#665 := [monotonicity #664]: #661
-#657 := [trans #665 #655]: #656
-#658 := [monotonicity #657]: #653
-#501 := [trans #658 #654]: #660
-#393 := (iff #378 false)
-#699 := (or false false)
-#354 := (iff #699 false)
-#690 := [rewrite]: #354
-#670 := (iff #378 #699)
-#293 := (iff #374 false)
-#1 := true
-#680 := (not true)
-#682 := (iff #680 false)
-#320 := [rewrite]: #682
-#398 := (iff #374 #680)
-#396 := (iff #377 true)
-#686 := (or false true)
-#673 := (iff #686 true)
-#674 := [rewrite]: #673
-#684 := (iff #377 #686)
-#334 := (iff #373 true)
-#675 := [rewrite]: #334
-#325 := (iff #376 false)
-#326 := [rewrite]: #325
-#687 := [monotonicity #326 #675]: #684
-#397 := [trans #687 #674]: #396
-#399 := [monotonicity #397]: #398
-#669 := [trans #399 #320]: #293
-#683 := (iff #375 false)
-#681 := (iff #375 #680)
-#678 := (iff #364 true)
-#338 := (or true true)
-#341 := (iff #338 true)
-#677 := [rewrite]: #341
-#339 := (iff #364 #338)
-#340 := [monotonicity #675 #675]: #339
-#679 := [trans #340 #677]: #678
-#676 := [monotonicity #679]: #681
-#685 := [trans #676 #320]: #683
-#392 := [monotonicity #685 #669]: #670
-#667 := [trans #392 #690]: #393
-#525 := [monotonicity #667 #501 #641]: #524
-#629 := [trans #525 #632]: #534
-#350 := (iff #371 false)
-#689 := (iff #371 #699)
-#698 := (iff #287 false)
-#693 := [rewrite]: #698
-#349 := [monotonicity #693 #693]: #689
-#691 := [trans #349 #690]: #350
-#518 := [monotonicity #691 #629]: #633
-#529 := [trans #518 #535]: #536
-#634 := [monotonicity #529]: #541
-#622 := [trans #634 #635]: #541
-#540 := [quant-inst #55 #55]: #539
-#624 := [mp #540 #622]: #538
-[unit-resolution #624 #70 #706]: false
-ac847d4d96ab393b411eb8572de1bfa41757e40d 339 0
-unsat
+#81 := (iff #14 #80)
+#78 := (iff #13 #77)
+#75 := (= #11 #74)
+#69 := (= #9 -3::Int)
+#70 := [rewrite]: #69
+#72 := (= #10 #71)
+#73 := [monotonicity #70]: #72
+#76 := [monotonicity #73 #70]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#67 := [asserted]: #14
+#85 := [mp #67 #82]: #80
+#580 := (not #744)
+#581 := (or #580 #77)
+#524 := (* -1::Int -3::Int)
+#731 := (div #524 #524)
+#405 := (* -1::Int #731)
+#406 := (+ #74 #405)
+#738 := (= #406 0::Int)
+#400 := (div -3::Int -3::Int)
+#735 := (* -1::Int #400)
+#737 := (+ #74 #735)
+#394 := (= #737 0::Int)
+#416 := (<= -3::Int 0::Int)
+#419 := (>= -3::Int 0::Int)
+#420 := (or #419 #416)
+#417 := (not #420)
+#407 := (or #416 #416)
+#418 := (not #407)
+#421 := (or #418 #417)
+#739 := (if #421 #394 #738)
+#415 := (= #74 0::Int)
+#330 := (= -3::Int 0::Int)
+#414 := (or #330 #330)
+#740 := (if #414 #415 #739)
+#582 := (or #580 #740)
+#584 := (iff #582 #581)
+#674 := (iff #581 #581)
+#678 := [rewrite]: #674
+#579 := (iff #740 #77)
+#673 := (if false #415 #77)
+#576 := (iff #673 #77)
+#578 := [rewrite]: #576
+#676 := (iff #740 #673)
+#577 := (iff #739 #77)
+#566 := (if false #77 #77)
+#527 := (iff #566 #77)
+#675 := [rewrite]: #527
+#567 := (iff #739 #566)
+#681 := (iff #738 #77)
+#705 := (+ -1::Int #74)
+#695 := (= #705 0::Int)
+#702 := (iff #695 #77)
+#697 := [rewrite]: #702
+#682 := (iff #738 #695)
+#679 := (= #406 #705)
+#422 := (+ #74 -1::Int)
+#709 := (= #422 #705)
+#698 := [rewrite]: #709
+#525 := (= #406 #422)
+#694 := (= #405 -1::Int)
+#715 := (* -1::Int 1::Int)
+#427 := (= #715 -1::Int)
+#428 := [rewrite]: #427
+#693 := (= #405 #715)
+#686 := (= #731 1::Int)
+#688 := (div 3::Int 3::Int)
+#691 := (= #688 1::Int)
+#685 := [rewrite]: #691
+#689 := (= #731 #688)
+#545 := (= #524 3::Int)
+#546 := [rewrite]: #545
+#690 := [monotonicity #546 #546]: #689
+#692 := [trans #690 #685]: #686
+#687 := [monotonicity #692]: #693
+#523 := [trans #687 #428]: #694
+#526 := [monotonicity #523]: #525
+#680 := [trans #526 #698]: #679
+#683 := [monotonicity #680]: #682
+#684 := [trans #683 #697]: #681
+#703 := (iff #394 #77)
+#696 := (iff #394 #695)
+#699 := (= #737 #705)
+#704 := (= #737 #422)
+#706 := (= #735 -1::Int)
+#425 := (= #735 #715)
+#714 := (= #400 1::Int)
+#711 := [rewrite]: #714
+#426 := [monotonicity #711]: #425
+#707 := [trans #426 #428]: #706
+#708 := [monotonicity #707]: #704
+#700 := [trans #708 #698]: #699
+#701 := [monotonicity #700]: #696
+#544 := [trans #701 #697]: #703
+#436 := (iff #421 false)
+#742 := (or false false)
+#397 := (iff #742 false)
+#733 := [rewrite]: #397
+#713 := (iff #421 #742)
+#336 := (iff #417 false)
+#1 := true
+#723 := (not true)
+#725 := (iff #723 false)
+#363 := [rewrite]: #725
+#441 := (iff #417 #723)
+#439 := (iff #420 true)
+#729 := (or false true)
+#716 := (iff #729 true)
+#717 := [rewrite]: #716
+#727 := (iff #420 #729)
+#377 := (iff #416 true)
+#718 := [rewrite]: #377
+#368 := (iff #419 false)
+#369 := [rewrite]: #368
+#730 := [monotonicity #369 #718]: #727
+#440 := [trans #730 #717]: #439
+#442 := [monotonicity #440]: #441
+#712 := [trans #442 #363]: #336
+#726 := (iff #418 false)
+#724 := (iff #418 #723)
+#721 := (iff #407 true)
+#381 := (or true true)
+#384 := (iff #381 true)
+#720 := [rewrite]: #384
+#382 := (iff #407 #381)
+#383 := [monotonicity #718 #718]: #382
+#722 := [trans #383 #720]: #721
+#719 := [monotonicity #722]: #724
+#728 := [trans #719 #363]: #726
+#435 := [monotonicity #728 #712]: #713
+#710 := [trans #435 #733]: #436
+#568 := [monotonicity #710 #544 #684]: #567
+#672 := [trans #568 #675]: #577
+#393 := (iff #414 false)
+#732 := (iff #414 #742)
+#741 := (iff #330 false)
+#736 := [rewrite]: #741
+#392 := [monotonicity #736 #736]: #732
+#734 := [trans #392 #733]: #393
+#561 := [monotonicity #734 #672]: #676
+#572 := [trans #561 #578]: #579
+#677 := [monotonicity #572]: #584
+#665 := [trans #677 #678]: #584
+#583 := [quant-inst #68 #68]: #582
+#667 := [mp #583 #665]: #581
+[unit-resolution #667 #85 #749]: false
+unsat
+0b3a009851b606e94e7b0991d7f83ada2f7a2088 323 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -33182,99 +30978,75 @@
 #7 := f5
 #18 := (f4 f5 #17)
 #20 := (f3 #18 #19)
-#705 := (pattern #20)
+#747 := (pattern #20)
 #21 := 0::Int
-#102 := -1::Int
-#106 := (* -1::Int #19)
-#103 := (* -1::Int #17)
-#109 := (div #103 #106)
-#265 := (* -1::Int #109)
-#266 := (+ #20 #265)
-#267 := (= #266 0::Int)
+#89 := -1::Int
+#94 := (* -1::Int #19)
+#91 := (* -1::Int #17)
+#97 := (div #91 #94)
+#248 := (* -1::Int #97)
+#249 := (+ #20 #248)
+#250 := (= #249 0::Int)
 #31 := (div #17 #19)
-#262 := (* -1::Int #31)
-#263 := (+ #20 #262)
-#264 := (= #263 0::Int)
-#80 := (<= #19 0::Int)
-#172 := (>= #17 0::Int)
-#225 := (or #172 #80)
-#226 := (not #225)
-#76 := (<= #17 0::Int)
-#221 := (or #76 #80)
-#222 := (not #221)
-#229 := (or #222 #226)
-#268 := (if #229 #264 #267)
-#261 := (= #20 0::Int)
+#245 := (* -1::Int #31)
+#246 := (+ #20 #245)
+#247 := (= #246 0::Int)
+#116 := (<= #19 0::Int)
+#123 := (>= #17 0::Int)
+#208 := (or #123 #116)
+#209 := (not #208)
+#112 := (<= #17 0::Int)
+#206 := (or #112 #116)
+#207 := (not #206)
+#212 := (or #207 #209)
+#251 := (if #212 #247 #250)
+#244 := (= #20 0::Int)
 #23 := (= #19 0::Int)
 #22 := (= #17 0::Int)
 #24 := (or #22 #23)
-#269 := (if #24 #261 #268)
-#706 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #705) #269)
-#272 := (forall (vars (?v0 Int) (?v1 Int)) #269)
-#709 := (iff #272 #706)
-#707 := (iff #269 #269)
-#708 := [refl]: #707
-#710 := [quant-intro #708]: #709
-#232 := (if #229 #31 #109)
-#235 := (if #24 0::Int #232)
-#238 := (= #20 #235)
-#241 := (forall (vars (?v0 Int) (?v1 Int)) #238)
-#273 := (iff #241 #272)
-#270 := (iff #238 #269)
-#271 := [rewrite]: #270
-#274 := [quant-intro #271]: #273
-#81 := (not #80)
-#175 := (not #172)
-#178 := (and #175 #81)
-#77 := (not #76)
-#84 := (and #77 #81)
-#181 := (or #84 #178)
-#184 := (if #181 #31 #109)
-#187 := (if #24 0::Int #184)
-#190 := (= #20 #187)
-#193 := (forall (vars (?v0 Int) (?v1 Int)) #190)
-#242 := (iff #193 #241)
-#239 := (iff #190 #238)
-#236 := (= #187 #235)
-#233 := (= #184 #232)
-#230 := (iff #181 #229)
-#227 := (iff #178 #226)
-#228 := [rewrite]: #227
-#223 := (iff #84 #222)
-#224 := [rewrite]: #223
-#231 := [monotonicity #224 #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [monotonicity #234]: #236
-#240 := [monotonicity #237]: #239
-#243 := [quant-intro #240]: #242
-#213 := (~ #193 #193)
-#215 := (~ #190 #190)
-#216 := [refl]: #215
-#214 := [nnf-pos #216]: #213
-#87 := (<= 0::Int #17)
-#88 := (not #87)
-#96 := (and #88 #81)
-#99 := (or #84 #96)
-#112 := (if #99 #31 #109)
-#115 := (if #24 0::Int #112)
-#118 := (= #20 #115)
-#121 := (forall (vars (?v0 Int) (?v1 Int)) #118)
-#194 := (iff #121 #193)
-#191 := (iff #118 #190)
-#188 := (= #115 #187)
-#185 := (= #112 #184)
-#182 := (iff #99 #181)
-#179 := (iff #96 #178)
-#176 := (iff #88 #175)
-#173 := (iff #87 #172)
-#174 := [rewrite]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [monotonicity #189]: #191
-#195 := [quant-intro #192]: #194
+#252 := (if #24 #244 #251)
+#748 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #747) #252)
+#255 := (forall (vars (?v0 Int) (?v1 Int)) #252)
+#751 := (iff #255 #748)
+#749 := (iff #252 #252)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#215 := (if #212 #31 #97)
+#218 := (if #24 0::Int #215)
+#221 := (= #20 #218)
+#224 := (forall (vars (?v0 Int) (?v1 Int)) #221)
+#256 := (iff #224 #255)
+#253 := (iff #221 #252)
+#254 := [rewrite]: #253
+#257 := [quant-intro #254]: #256
+#117 := (not #116)
+#124 := (not #123)
+#127 := (and #124 #117)
+#113 := (not #112)
+#120 := (and #113 #117)
+#130 := (or #120 #127)
+#133 := (if #130 #31 #97)
+#136 := (if #24 0::Int #133)
+#139 := (= #20 #136)
+#142 := (forall (vars (?v0 Int) (?v1 Int)) #139)
+#225 := (iff #142 #224)
+#222 := (iff #139 #221)
+#219 := (= #136 #218)
+#216 := (= #133 #215)
+#213 := (iff #130 #212)
+#210 := (iff #127 #209)
+#211 := [rewrite]: #210
+#200 := (iff #120 #207)
+#201 := [rewrite]: #200
+#214 := [monotonicity #201 #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#223 := [monotonicity #220]: #222
+#226 := [quant-intro #223]: #225
+#204 := (~ #142 #142)
+#202 := (~ #139 #139)
+#203 := [refl]: #202
+#205 := [nnf-pos #203]: #204
 #33 := (- #19)
 #32 := (- #17)
 #34 := (div #32 #33)
@@ -33288,51 +31060,59 @@
 #36 := (if #24 0::Int #35)
 #37 := (= #20 #36)
 #38 := (forall (vars (?v0 Int) (?v1 Int)) #37)
-#122 := (iff #38 #121)
-#119 := (iff #37 #118)
-#116 := (= #36 #115)
-#113 := (= #35 #112)
-#110 := (= #34 #109)
-#107 := (= #33 #106)
-#108 := [rewrite]: #107
-#104 := (= #32 #103)
-#105 := [rewrite]: #104
-#111 := [monotonicity #105 #108]: #110
-#100 := (iff #30 #99)
-#97 := (iff #29 #96)
-#82 := (iff #26 #81)
-#83 := [rewrite]: #82
-#89 := (iff #28 #88)
-#93 := (iff #88 #88)
-#91 := (iff #87 #87)
-#92 := [rewrite]: #91
-#94 := [monotonicity #92]: #93
-#90 := [rewrite]: #89
-#95 := [trans #90 #94]: #89
-#98 := [monotonicity #95 #83]: #97
-#85 := (iff #27 #84)
-#78 := (iff #25 #77)
-#79 := [rewrite]: #78
-#86 := [monotonicity #79 #83]: #85
-#101 := [monotonicity #86 #98]: #100
-#114 := [monotonicity #101 #111]: #113
-#117 := [monotonicity #114]: #116
-#120 := [monotonicity #117]: #119
-#123 := [quant-intro #120]: #122
-#52 := [asserted]: #38
-#124 := [mp #52 #123]: #121
-#196 := [mp #124 #195]: #193
-#170 := [mp~ #196 #214]: #193
-#244 := [mp #170 #243]: #241
-#275 := [mp #244 #274]: #272
-#711 := [mp #275 #710]: #706
+#145 := (iff #38 #142)
+#100 := (if #30 #31 #97)
+#103 := (if #24 0::Int #100)
+#106 := (= #20 #103)
+#109 := (forall (vars (?v0 Int) (?v1 Int)) #106)
+#143 := (iff #109 #142)
+#140 := (iff #106 #139)
+#137 := (= #103 #136)
+#134 := (= #100 #133)
+#131 := (iff #30 #130)
+#128 := (iff #29 #127)
+#118 := (iff #26 #117)
+#119 := [rewrite]: #118
+#125 := (iff #28 #124)
+#126 := [rewrite]: #125
+#129 := [monotonicity #126 #119]: #128
+#121 := (iff #27 #120)
+#114 := (iff #25 #113)
+#115 := [rewrite]: #114
+#122 := [monotonicity #115 #119]: #121
+#132 := [monotonicity #122 #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [monotonicity #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [quant-intro #141]: #143
+#110 := (iff #38 #109)
+#107 := (iff #37 #106)
+#104 := (= #36 #103)
+#101 := (= #35 #100)
+#98 := (= #34 #97)
+#95 := (= #33 #94)
+#96 := [rewrite]: #95
+#92 := (= #32 #91)
+#93 := [rewrite]: #92
+#99 := [monotonicity #93 #96]: #98
+#102 := [monotonicity #99]: #101
+#105 := [monotonicity #102]: #104
+#108 := [monotonicity #105]: #107
+#111 := [quant-intro #108]: #110
+#146 := [trans #111 #144]: #145
+#88 := [asserted]: #38
+#147 := [mp #88 #146]: #142
+#196 := [mp~ #147 #205]: #142
+#227 := [mp #196 #226]: #224
+#258 := [mp #227 #257]: #255
+#753 := [mp #258 #752]: #748
 #14 := 1::Int
-#63 := -3::Int
-#57 := -5::Int
-#60 := (f4 f5 -5::Int)
-#66 := (f3 #60 -3::Int)
-#69 := (= #66 1::Int)
-#72 := (not #69)
+#76 := -3::Int
+#70 := -5::Int
+#73 := (f4 f5 -5::Int)
+#79 := (f3 #73 -3::Int)
+#82 := (= #79 1::Int)
+#85 := (not #82)
 #11 := 3::Int
 #12 := (- 3::Int)
 #8 := 5::Int
@@ -33341,178 +31121,178 @@
 #13 := (f3 #10 #12)
 #15 := (= #13 1::Int)
 #16 := (not #15)
-#73 := (iff #16 #72)
-#70 := (iff #15 #69)
-#67 := (= #13 #66)
-#64 := (= #12 -3::Int)
-#65 := [rewrite]: #64
-#61 := (= #10 #60)
-#58 := (= #9 -5::Int)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#68 := [monotonicity #62 #65]: #67
-#71 := [monotonicity #68]: #70
-#74 := [monotonicity #71]: #73
-#51 := [asserted]: #16
-#75 := [mp #51 #74]: #72
-#619 := (not #706)
-#626 := (or #619 #69)
-#368 := (* -1::Int -3::Int)
-#367 := (* -1::Int -5::Int)
-#700 := (div #367 #368)
-#701 := (* -1::Int #700)
-#702 := (+ #66 #701)
-#703 := (= #702 0::Int)
-#699 := (div -5::Int -3::Int)
-#356 := (* -1::Int #699)
-#486 := (+ #66 #356)
-#693 := (= #486 0::Int)
-#380 := (<= -3::Int 0::Int)
-#379 := (>= -5::Int 0::Int)
-#383 := (or #379 #380)
-#362 := (not #383)
-#369 := (<= -5::Int 0::Int)
-#381 := (or #369 #380)
-#382 := (not #381)
-#697 := (or #382 #362)
-#698 := (if #697 #693 #703)
-#378 := (= #66 0::Int)
-#376 := (= -3::Int 0::Int)
-#292 := (= -5::Int 0::Int)
-#377 := (or #292 #376)
-#704 := (if #377 #378 #698)
-#610 := (or #619 #704)
-#613 := (iff #610 #626)
-#615 := (iff #626 #626)
-#616 := [rewrite]: #615
-#624 := (iff #704 #69)
-#632 := (if false #378 #69)
-#622 := (iff #632 #69)
-#623 := [rewrite]: #622
-#628 := (iff #704 #632)
-#630 := (iff #698 #69)
-#668 := 2::Int
-#653 := (= #66 2::Int)
-#627 := (if false #653 #69)
-#618 := (iff #627 #69)
-#620 := [rewrite]: #618
-#629 := (iff #698 #627)
-#636 := (iff #703 #69)
-#538 := (+ -1::Int #66)
-#543 := (= #538 0::Int)
-#546 := (iff #543 #69)
-#639 := [rewrite]: #546
-#544 := (iff #703 #543)
-#534 := (= #702 #538)
-#635 := (+ #66 -1::Int)
-#540 := (= #635 #538)
-#541 := [rewrite]: #540
-#638 := (= #702 #635)
-#539 := (= #701 -1::Int)
-#528 := (* -1::Int 1::Int)
-#489 := (= #528 -1::Int)
-#637 := [rewrite]: #489
-#529 := (= #701 #528)
-#643 := (= #700 1::Int)
-#488 := (div 5::Int 3::Int)
-#644 := (= #488 1::Int)
-#645 := [rewrite]: #644
-#641 := (= #700 #488)
-#485 := (= #368 3::Int)
-#487 := [rewrite]: #485
-#649 := (= #367 5::Int)
-#656 := [rewrite]: #649
-#642 := [monotonicity #656 #487]: #641
-#646 := [trans #642 #645]: #643
-#530 := [monotonicity #646]: #529
-#634 := [trans #530 #637]: #539
-#523 := [monotonicity #634]: #638
-#542 := [trans #523 #541]: #534
-#545 := [monotonicity #542]: #544
-#640 := [trans #545 #639]: #636
-#654 := (iff #693 #653)
-#671 := -2::Int
-#659 := (+ -2::Int #66)
-#650 := (= #659 0::Int)
-#647 := (iff #650 #653)
-#648 := [rewrite]: #647
-#651 := (iff #693 #650)
-#507 := (= #486 #659)
-#658 := (+ #66 -2::Int)
-#665 := (= #658 #659)
-#506 := [rewrite]: #665
-#663 := (= #486 #658)
-#662 := (= #356 -2::Int)
-#666 := (* -1::Int 2::Int)
-#660 := (= #666 -2::Int)
-#661 := [rewrite]: #660
-#670 := (= #356 #666)
-#669 := (= #699 2::Int)
-#384 := [rewrite]: #669
-#667 := [monotonicity #384]: #670
-#657 := [trans #667 #661]: #662
-#664 := [monotonicity #657]: #663
-#508 := [trans #664 #506]: #507
-#652 := [monotonicity #508]: #651
-#655 := [trans #652 #648]: #654
-#389 := (iff #697 false)
-#355 := (or false false)
-#680 := (iff #355 false)
-#343 := [rewrite]: #680
-#387 := (iff #697 #355)
-#673 := (iff #362 false)
-#1 := true
-#330 := (not true)
-#689 := (iff #330 false)
-#692 := [rewrite]: #689
-#672 := (iff #362 #330)
-#397 := (iff #383 true)
-#403 := (or false true)
-#674 := (iff #403 true)
-#675 := [rewrite]: #674
-#404 := (iff #383 #403)
-#683 := (iff #380 true)
-#684 := [rewrite]: #683
-#401 := (iff #379 false)
-#402 := [rewrite]: #401
-#298 := [monotonicity #402 #684]: #404
-#398 := [trans #298 #675]: #397
-#676 := [monotonicity #398]: #672
-#677 := [trans #676 #692]: #673
-#678 := (iff #382 false)
-#331 := (iff #382 #330)
-#688 := (iff #381 true)
-#685 := (or true true)
-#687 := (iff #685 true)
-#325 := [rewrite]: #687
-#686 := (iff #381 #685)
-#346 := (iff #369 true)
-#682 := [rewrite]: #346
-#681 := [monotonicity #682 #684]: #686
-#690 := [trans #681 #325]: #688
-#691 := [monotonicity #690]: #331
-#679 := [trans #691 #692]: #678
-#388 := [monotonicity #679 #677]: #387
-#390 := [trans #388 #343]: #389
-#621 := [monotonicity #390 #655 #640]: #629
-#631 := [trans #621 #620]: #630
-#344 := (iff #377 false)
-#696 := (iff #377 #355)
-#359 := (iff #376 false)
-#695 := [rewrite]: #359
-#694 := (iff #292 false)
-#354 := [rewrite]: #694
-#339 := [monotonicity #354 #695]: #696
-#345 := [trans #339 #343]: #344
-#633 := [monotonicity #345 #631]: #628
-#625 := [trans #633 #623]: #624
-#614 := [monotonicity #625]: #613
-#612 := [trans #614 #616]: #613
-#611 := [quant-inst #57 #63]: #610
-#617 := [mp #611 #612]: #626
-[unit-resolution #617 #75 #711]: false
-ce1a28b0de5b74c56978e7de07c2e3640f9fb87f 275 0
-unsat
+#86 := (iff #16 #85)
+#83 := (iff #15 #82)
+#80 := (= #13 #79)
+#77 := (= #12 -3::Int)
+#78 := [rewrite]: #77
+#74 := (= #10 #73)
+#71 := (= #9 -5::Int)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#81 := [monotonicity #75 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#69 := [asserted]: #16
+#90 := [mp #69 #87]: #85
+#667 := (not #748)
+#661 := (or #667 #82)
+#410 := (* -1::Int -3::Int)
+#409 := (* -1::Int -5::Int)
+#742 := (div #409 #410)
+#743 := (* -1::Int #742)
+#744 := (+ #79 #743)
+#745 := (= #744 0::Int)
+#741 := (div -5::Int -3::Int)
+#398 := (* -1::Int #741)
+#528 := (+ #79 #398)
+#735 := (= #528 0::Int)
+#422 := (<= -3::Int 0::Int)
+#421 := (>= -5::Int 0::Int)
+#425 := (or #421 #422)
+#404 := (not #425)
+#411 := (<= -5::Int 0::Int)
+#423 := (or #411 #422)
+#424 := (not #423)
+#739 := (or #424 #404)
+#740 := (if #739 #735 #745)
+#420 := (= #79 0::Int)
+#418 := (= -3::Int 0::Int)
+#334 := (= -5::Int 0::Int)
+#419 := (or #334 #418)
+#746 := (if #419 #420 #740)
+#668 := (or #667 #746)
+#653 := (iff #668 #661)
+#656 := (iff #661 #661)
+#657 := [rewrite]: #656
+#665 := (iff #746 #82)
+#673 := (if false #420 #82)
+#675 := (iff #673 #82)
+#664 := [rewrite]: #675
+#674 := (iff #746 #673)
+#662 := (iff #740 #82)
+#295 := 2::Int
+#694 := (= #79 2::Int)
+#682 := (if false #694 #82)
+#663 := (iff #682 #82)
+#660 := [rewrite]: #663
+#669 := (iff #740 #682)
+#681 := (iff #745 #82)
+#565 := (+ -1::Int #79)
+#584 := (= #565 0::Int)
+#587 := (iff #584 #82)
+#588 := [rewrite]: #587
+#585 := (iff #745 #584)
+#583 := (= #744 #565)
+#676 := (+ #79 -1::Int)
+#580 := (= #676 #565)
+#582 := [rewrite]: #580
+#677 := (= #744 #676)
+#679 := (= #743 -1::Int)
+#688 := (* -1::Int 1::Int)
+#572 := (= #688 -1::Int)
+#531 := [rewrite]: #572
+#570 := (= #743 #688)
+#687 := (= #742 1::Int)
+#529 := (div 5::Int 3::Int)
+#684 := (= #529 1::Int)
+#686 := [rewrite]: #684
+#530 := (= #742 #529)
+#698 := (= #410 3::Int)
+#527 := [rewrite]: #698
+#697 := (= #409 5::Int)
+#691 := [rewrite]: #697
+#683 := [monotonicity #691 #527]: #530
+#685 := [trans #683 #686]: #687
+#571 := [monotonicity #685]: #570
+#581 := [trans #571 #531]: #679
+#680 := [monotonicity #581]: #677
+#576 := [trans #680 #582]: #583
+#586 := [monotonicity #576]: #585
+#678 := [trans #586 #588]: #681
+#690 := (iff #735 #694)
+#709 := -2::Int
+#706 := (+ -2::Int #79)
+#550 := (= #706 0::Int)
+#695 := (iff #550 #694)
+#689 := [rewrite]: #695
+#692 := (iff #735 #550)
+#548 := (= #528 #706)
+#699 := (+ #79 -2::Int)
+#701 := (= #699 #706)
+#707 := [rewrite]: #701
+#700 := (= #528 #699)
+#703 := (= #398 -2::Int)
+#426 := (* -1::Int 2::Int)
+#713 := (= #426 -2::Int)
+#702 := [rewrite]: #713
+#708 := (= #398 #426)
+#710 := (= #741 2::Int)
+#711 := [rewrite]: #710
+#712 := [monotonicity #711]: #708
+#704 := [trans #712 #702]: #703
+#705 := [monotonicity #704]: #700
+#549 := [trans #705 #707]: #548
+#693 := [monotonicity #549]: #692
+#696 := [trans #693 #689]: #690
+#431 := (iff #739 false)
+#397 := (or false false)
+#722 := (iff #397 false)
+#385 := [rewrite]: #722
+#429 := (iff #739 #397)
+#715 := (iff #404 false)
+#1 := true
+#372 := (not true)
+#731 := (iff #372 false)
+#734 := [rewrite]: #731
+#714 := (iff #404 #372)
+#439 := (iff #425 true)
+#445 := (or false true)
+#716 := (iff #445 true)
+#717 := [rewrite]: #716
+#446 := (iff #425 #445)
+#725 := (iff #422 true)
+#726 := [rewrite]: #725
+#443 := (iff #421 false)
+#444 := [rewrite]: #443
+#340 := [monotonicity #444 #726]: #446
+#440 := [trans #340 #717]: #439
+#718 := [monotonicity #440]: #714
+#719 := [trans #718 #734]: #715
+#720 := (iff #424 false)
+#373 := (iff #424 #372)
+#730 := (iff #423 true)
+#727 := (or true true)
+#729 := (iff #727 true)
+#367 := [rewrite]: #729
+#728 := (iff #423 #727)
+#388 := (iff #411 true)
+#724 := [rewrite]: #388
+#723 := [monotonicity #724 #726]: #728
+#732 := [trans #723 #367]: #730
+#733 := [monotonicity #732]: #373
+#721 := [trans #733 #734]: #720
+#430 := [monotonicity #721 #719]: #429
+#432 := [trans #430 #385]: #431
+#671 := [monotonicity #432 #696 #678]: #669
+#672 := [trans #671 #660]: #662
+#386 := (iff #419 false)
+#738 := (iff #419 #397)
+#401 := (iff #418 false)
+#737 := [rewrite]: #401
+#736 := (iff #334 false)
+#396 := [rewrite]: #736
+#381 := [monotonicity #396 #737]: #738
+#387 := [trans #381 #385]: #386
+#670 := [monotonicity #387 #672]: #674
+#666 := [trans #670 #664]: #665
+#655 := [monotonicity #666]: #653
+#658 := [trans #655 #657]: #653
+#652 := [quant-inst #70 #76]: #668
+#654 := [mp #652 #658]: #661
+[unit-resolution #654 #90 #753]: false
+unsat
+634111a9ccc777d6dea9f04f2dd68647c6110ae6 259 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #16 := (:var 0 Int)
@@ -33522,107 +31302,80 @@
 #7 := f5
 #35 := (f4 f5 #14)
 #36 := (f3 #35 #16)
-#689 := (pattern #36)
+#733 := (pattern #36)
 #8 := 0::Int
-#78 := -1::Int
-#82 := (* -1::Int #16)
-#79 := (* -1::Int #14)
-#101 := (mod #79 #82)
-#257 := (+ #36 #101)
-#258 := (= #257 0::Int)
+#66 := -1::Int
+#70 := (* -1::Int #16)
+#67 := (* -1::Int #14)
+#125 := (mod #67 #70)
+#240 := (+ #36 #125)
+#241 := (= #240 0::Int)
 #37 := (mod #14 #16)
-#254 := (* -1::Int #37)
-#255 := (+ #36 #254)
-#256 := (= #255 0::Int)
-#56 := (<= #16 0::Int)
-#148 := (>= #14 0::Int)
-#201 := (or #148 #56)
-#202 := (not #201)
-#52 := (<= #14 0::Int)
-#197 := (or #52 #56)
-#198 := (not #197)
-#205 := (or #198 #202)
-#259 := (if #205 #256 #258)
-#253 := (= #36 0::Int)
+#237 := (* -1::Int #37)
+#238 := (+ #36 #237)
+#239 := (= #238 0::Int)
+#92 := (<= #16 0::Int)
+#99 := (>= #14 0::Int)
+#184 := (or #99 #92)
+#185 := (not #184)
+#88 := (<= #14 0::Int)
+#182 := (or #88 #92)
+#183 := (not #182)
+#188 := (or #183 #185)
+#242 := (if #188 #239 #241)
+#236 := (= #36 0::Int)
 #18 := (= #14 0::Int)
-#260 := (if #18 #253 #259)
-#252 := (= #36 #14)
+#243 := (if #18 #236 #242)
+#235 := (= #36 #14)
 #19 := (= #16 0::Int)
-#261 := (if #19 #252 #260)
-#690 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #689) #261)
-#264 := (forall (vars (?v0 Int) (?v1 Int)) #261)
-#693 := (iff #264 #690)
-#691 := (iff #261 #261)
-#692 := [refl]: #691
-#694 := [quant-intro #692]: #693
-#107 := (* -1::Int #101)
-#221 := (if #205 #37 #107)
-#224 := (if #18 0::Int #221)
-#227 := (if #19 #14 #224)
-#230 := (= #36 #227)
-#233 := (forall (vars (?v0 Int) (?v1 Int)) #230)
-#265 := (iff #233 #264)
-#262 := (iff #230 #261)
-#263 := [rewrite]: #262
-#266 := [quant-intro #263]: #265
-#57 := (not #56)
-#151 := (not #148)
-#154 := (and #151 #57)
-#53 := (not #52)
-#60 := (and #53 #57)
-#157 := (or #60 #154)
-#173 := (if #157 #37 #107)
-#176 := (if #18 0::Int #173)
-#179 := (if #19 #14 #176)
-#182 := (= #36 #179)
-#185 := (forall (vars (?v0 Int) (?v1 Int)) #182)
-#234 := (iff #185 #233)
-#231 := (iff #182 #230)
-#228 := (= #179 #227)
-#225 := (= #176 #224)
-#222 := (= #173 #221)
-#206 := (iff #157 #205)
-#203 := (iff #154 #202)
-#204 := [rewrite]: #203
-#199 := (iff #60 #198)
-#200 := [rewrite]: #199
-#207 := [monotonicity #200 #204]: #206
-#223 := [monotonicity #207]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [quant-intro #232]: #234
-#192 := (~ #185 #185)
-#147 := (~ #182 #182)
-#191 := [refl]: #147
-#195 := [nnf-pos #191]: #192
-#63 := (<= 0::Int #14)
-#64 := (not #63)
-#72 := (and #64 #57)
-#75 := (or #60 #72)
-#112 := (if #75 #37 #107)
-#115 := (if #18 0::Int #112)
-#118 := (if #19 #14 #115)
-#121 := (= #36 #118)
-#124 := (forall (vars (?v0 Int) (?v1 Int)) #121)
-#186 := (iff #124 #185)
-#183 := (iff #121 #182)
-#180 := (= #118 #179)
-#177 := (= #115 #176)
-#174 := (= #112 #173)
-#158 := (iff #75 #157)
-#155 := (iff #72 #154)
-#152 := (iff #64 #151)
-#149 := (iff #63 #148)
-#150 := [rewrite]: #149
-#153 := [monotonicity #150]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#175 := [monotonicity #159]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [quant-intro #184]: #186
+#244 := (if #19 #235 #243)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #244)
+#247 := (forall (vars (?v0 Int) (?v1 Int)) #244)
+#737 := (iff #247 #734)
+#735 := (iff #244 #244)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#131 := (* -1::Int #125)
+#204 := (if #188 #37 #131)
+#207 := (if #18 0::Int #204)
+#210 := (if #19 #14 #207)
+#213 := (= #36 #210)
+#216 := (forall (vars (?v0 Int) (?v1 Int)) #213)
+#248 := (iff #216 #247)
+#245 := (iff #213 #244)
+#246 := [rewrite]: #245
+#249 := [quant-intro #246]: #248
+#93 := (not #92)
+#100 := (not #99)
+#103 := (and #100 #93)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (if #106 #37 #131)
+#154 := (if #18 0::Int #151)
+#157 := (if #19 #14 #154)
+#160 := (= #36 #157)
+#163 := (forall (vars (?v0 Int) (?v1 Int)) #160)
+#217 := (iff #163 #216)
+#214 := (iff #160 #213)
+#211 := (= #157 #210)
+#208 := (= #154 #207)
+#205 := (= #151 #204)
+#189 := (iff #106 #188)
+#186 := (iff #103 #185)
+#187 := [rewrite]: #186
+#176 := (iff #96 #183)
+#177 := [rewrite]: #176
+#190 := [monotonicity #177 #187]: #189
+#206 := [monotonicity #190]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [quant-intro #215]: #217
+#174 := (~ #163 #163)
+#173 := (~ #160 #160)
+#170 := [refl]: #173
+#175 := [nnf-pos #170]: #174
 #29 := (- #16)
 #28 := (- #14)
 #38 := (mod #28 #29)
@@ -33638,157 +31391,168 @@
 #42 := (if #19 #14 #41)
 #43 := (= #36 #42)
 #44 := (forall (vars (?v0 Int) (?v1 Int)) #43)
-#125 := (iff #44 #124)
-#122 := (iff #43 #121)
-#119 := (= #42 #118)
-#116 := (= #41 #115)
-#113 := (= #40 #112)
-#110 := (= #39 #107)
-#104 := (- #101)
-#108 := (= #104 #107)
-#109 := [rewrite]: #108
-#105 := (= #39 #104)
-#102 := (= #38 #101)
-#83 := (= #29 #82)
-#84 := [rewrite]: #83
-#80 := (= #28 #79)
-#81 := [rewrite]: #80
-#103 := [monotonicity #81 #84]: #102
-#106 := [monotonicity #103]: #105
-#111 := [trans #106 #109]: #110
-#76 := (iff #26 #75)
-#73 := (iff #25 #72)
-#58 := (iff #22 #57)
-#59 := [rewrite]: #58
-#65 := (iff #24 #64)
-#69 := (iff #64 #64)
-#67 := (iff #63 #63)
-#68 := [rewrite]: #67
-#70 := [monotonicity #68]: #69
-#66 := [rewrite]: #65
-#71 := [trans #66 #70]: #65
-#74 := [monotonicity #71 #59]: #73
-#61 := (iff #23 #60)
-#54 := (iff #21 #53)
-#55 := [rewrite]: #54
-#62 := [monotonicity #55 #59]: #61
-#77 := [monotonicity #62 #74]: #76
-#114 := [monotonicity #77 #111]: #113
-#117 := [monotonicity #114]: #116
-#120 := [monotonicity #117]: #119
-#123 := [monotonicity #120]: #122
-#126 := [quant-intro #123]: #125
-#48 := [asserted]: #44
-#127 := [mp #48 #126]: #124
-#188 := [mp #127 #187]: #185
-#196 := [mp~ #188 #195]: #185
-#236 := [mp #196 #235]: #233
-#267 := [mp #236 #266]: #264
-#695 := [mp #267 #694]: #690
+#166 := (iff #44 #163)
+#136 := (if #26 #37 #131)
+#139 := (if #18 0::Int #136)
+#142 := (if #19 #14 #139)
+#145 := (= #36 #142)
+#148 := (forall (vars (?v0 Int) (?v1 Int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #26 #106)
+#104 := (iff #25 #103)
+#94 := (iff #22 #93)
+#95 := [rewrite]: #94
+#101 := (iff #24 #100)
+#102 := [rewrite]: #101
+#105 := [monotonicity #102 #95]: #104
+#97 := (iff #23 #96)
+#90 := (iff #21 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #44 #148)
+#146 := (iff #43 #145)
+#143 := (= #42 #142)
+#140 := (= #41 #139)
+#137 := (= #40 #136)
+#134 := (= #39 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #39 #128)
+#126 := (= #38 #125)
+#71 := (= #29 #70)
+#72 := [rewrite]: #71
+#68 := (= #28 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#138 := [monotonicity #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #44
+#168 := [mp #124 #167]: #163
+#171 := [mp~ #168 #175]: #163
+#219 := [mp #171 #218]: #216
+#250 := [mp #219 #249]: #247
+#739 := [mp #250 #738]: #734
 #9 := (f4 f5 0::Int)
 #10 := (f3 #9 0::Int)
 #11 := (= #10 0::Int)
 #12 := (not #11)
-#46 := [asserted]: #12
-#642 := (not #690)
-#483 := (or #642 #11)
-#676 := (* -1::Int 0::Int)
-#333 := (mod #676 #676)
-#463 := (+ #10 #333)
-#670 := (= #463 0::Int)
-#356 := (mod 0::Int 0::Int)
-#360 := (* -1::Int #356)
-#339 := (+ #10 #360)
-#674 := (= #339 0::Int)
-#353 := (<= 0::Int 0::Int)
-#346 := (>= 0::Int 0::Int)
-#357 := (or #346 #353)
-#358 := (not #357)
-#354 := (or #353 #353)
-#355 := (not #354)
-#359 := (or #355 #358)
-#344 := (if #359 #674 #670)
-#268 := (= 0::Int 0::Int)
-#345 := (if #268 #11 #344)
-#677 := (if #268 #11 #345)
-#484 := (or #642 #677)
-#627 := (iff #484 #483)
-#629 := (iff #483 #483)
-#630 := [rewrite]: #629
-#641 := (iff #677 #11)
-#1 := true
-#638 := (if true #11 #11)
-#635 := (iff #638 #11)
-#640 := [rewrite]: #635
-#639 := (iff #677 #638)
-#648 := (iff #345 #11)
-#651 := (+ #10 #356)
-#375 := (= #651 0::Int)
-#646 := (if true #11 #375)
-#647 := (iff #646 #11)
-#644 := [rewrite]: #647
-#361 := (iff #345 #646)
-#367 := (iff #344 #375)
-#650 := (if false #674 #375)
-#365 := (iff #650 #375)
+#64 := [asserted]: #12
+#686 := (not #734)
+#527 := (or #686 #11)
+#720 := (* -1::Int 0::Int)
+#377 := (mod #720 #720)
+#507 := (+ #10 #377)
+#714 := (= #507 0::Int)
+#400 := (mod 0::Int 0::Int)
+#404 := (* -1::Int #400)
+#383 := (+ #10 #404)
+#718 := (= #383 0::Int)
+#397 := (<= 0::Int 0::Int)
+#390 := (>= 0::Int 0::Int)
+#401 := (or #390 #397)
+#402 := (not #401)
+#398 := (or #397 #397)
+#399 := (not #398)
+#403 := (or #399 #402)
+#388 := (if #403 #718 #714)
+#313 := (= 0::Int 0::Int)
+#389 := (if #313 #11 #388)
+#721 := (if #313 #11 #389)
+#528 := (or #686 #721)
+#671 := (iff #528 #527)
+#673 := (iff #527 #527)
+#674 := [rewrite]: #673
+#685 := (iff #721 #11)
+#1 := true
+#682 := (if true #11 #11)
+#679 := (iff #682 #11)
+#684 := [rewrite]: #679
+#683 := (iff #721 #682)
+#692 := (iff #389 #11)
+#695 := (+ #10 #400)
+#419 := (= #695 0::Int)
+#690 := (if true #11 #419)
+#691 := (iff #690 #11)
+#688 := [rewrite]: #691
+#405 := (iff #389 #690)
+#411 := (iff #388 #419)
+#694 := (if false #718 #419)
+#409 := (iff #694 #419)
+#410 := [rewrite]: #409
+#698 := (iff #388 #694)
+#693 := (iff #714 #419)
+#696 := (= #507 #695)
+#425 := (= #377 #400)
+#423 := (= #720 0::Int)
+#424 := [rewrite]: #423
+#319 := [monotonicity #424 #424]: #425
+#418 := [monotonicity #319]: #696
+#697 := [monotonicity #418]: #693
+#700 := (iff #403 false)
+#352 := (or false false)
+#713 := (iff #352 false)
+#699 := [rewrite]: #713
+#712 := (iff #403 #352)
+#711 := (iff #402 false)
+#360 := (not true)
+#365 := (iff #360 false)
 #366 := [rewrite]: #365
-#654 := (iff #344 #650)
-#649 := (iff #670 #375)
-#652 := (= #463 #651)
-#381 := (= #333 #356)
-#379 := (= #676 0::Int)
-#380 := [rewrite]: #379
-#274 := [monotonicity #380 #380]: #381
-#374 := [monotonicity #274]: #652
-#653 := [monotonicity #374]: #649
-#656 := (iff #359 false)
-#308 := (or false false)
-#669 := (iff #308 false)
-#655 := [rewrite]: #669
-#668 := (iff #359 #308)
-#667 := (iff #358 false)
-#316 := (not true)
-#321 := (iff #316 false)
-#322 := [rewrite]: #321
-#302 := (iff #358 #316)
-#658 := (iff #357 true)
-#681 := (or true true)
-#336 := (iff #681 true)
-#672 := [rewrite]: #336
-#662 := (iff #357 #681)
-#680 := (iff #353 true)
-#675 := [rewrite]: #680
-#660 := (iff #346 true)
-#661 := [rewrite]: #660
-#663 := [monotonicity #661 #675]: #662
-#664 := [trans #663 #672]: #658
-#665 := [monotonicity #664]: #302
-#307 := [trans #665 #322]: #667
-#323 := (iff #355 false)
-#657 := (iff #355 #316)
-#332 := (iff #354 true)
-#671 := (iff #354 #681)
-#331 := [monotonicity #675 #675]: #671
-#673 := [trans #331 #672]: #332
-#320 := [monotonicity #673]: #657
-#659 := [trans #320 #322]: #323
-#666 := [monotonicity #659 #307]: #668
-#378 := [trans #666 #655]: #656
-#364 := [monotonicity #378 #653]: #654
-#645 := [trans #364 #366]: #367
-#678 := (iff #268 true)
-#679 := [rewrite]: #678
-#643 := [monotonicity #679 #645]: #361
-#637 := [trans #643 #644]: #648
-#634 := [monotonicity #679 #637]: #639
-#636 := [trans #634 #640]: #641
-#628 := [monotonicity #636]: #627
-#624 := [trans #628 #630]: #627
-#485 := [quant-inst #8 #8]: #484
-#625 := [mp #485 #624]: #483
-[unit-resolution #625 #46 #695]: false
-01e092dd4a496cce0a16abf4e555c06c4ce61922 279 0
-unsat
+#346 := (iff #402 #360)
+#702 := (iff #401 true)
+#725 := (or true true)
+#380 := (iff #725 true)
+#716 := [rewrite]: #380
+#706 := (iff #401 #725)
+#724 := (iff #397 true)
+#719 := [rewrite]: #724
+#704 := (iff #390 true)
+#705 := [rewrite]: #704
+#707 := [monotonicity #705 #719]: #706
+#708 := [trans #707 #716]: #702
+#709 := [monotonicity #708]: #346
+#351 := [trans #709 #366]: #711
+#367 := (iff #399 false)
+#701 := (iff #399 #360)
+#376 := (iff #398 true)
+#715 := (iff #398 #725)
+#375 := [monotonicity #719 #719]: #715
+#717 := [trans #375 #716]: #376
+#364 := [monotonicity #717]: #701
+#703 := [trans #364 #366]: #367
+#710 := [monotonicity #703 #351]: #712
+#422 := [trans #710 #699]: #700
+#408 := [monotonicity #422 #697]: #698
+#689 := [trans #408 #410]: #411
+#722 := (iff #313 true)
+#723 := [rewrite]: #722
+#687 := [monotonicity #723 #689]: #405
+#681 := [trans #687 #688]: #692
+#678 := [monotonicity #723 #681]: #683
+#680 := [trans #678 #684]: #685
+#672 := [monotonicity #680]: #671
+#668 := [trans #672 #674]: #671
+#529 := [quant-inst #8 #8]: #528
+#669 := [mp #529 #668]: #527
+[unit-resolution #669 #64 #739]: false
+unsat
+9b96f7ce486ea51d67fd20479a535702ca914b66 263 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -33798,107 +31562,80 @@
 #7 := f5
 #36 := (f4 f5 #15)
 #37 := (f3 #36 #17)
-#690 := (pattern #37)
+#734 := (pattern #37)
 #10 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #17)
-#80 := (* -1::Int #15)
-#102 := (mod #80 #83)
-#258 := (+ #37 #102)
-#259 := (= #258 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #17)
+#68 := (* -1::Int #15)
+#126 := (mod #68 #71)
+#241 := (+ #37 #126)
+#242 := (= #241 0::Int)
 #38 := (mod #15 #17)
-#255 := (* -1::Int #38)
-#256 := (+ #37 #255)
-#257 := (= #256 0::Int)
-#57 := (<= #17 0::Int)
-#149 := (>= #15 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #15 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#260 := (if #206 #257 #259)
-#254 := (= #37 0::Int)
+#238 := (* -1::Int #38)
+#239 := (+ #37 #238)
+#240 := (= #239 0::Int)
+#93 := (<= #17 0::Int)
+#100 := (>= #15 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #15 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#243 := (if #189 #240 #242)
+#237 := (= #37 0::Int)
 #19 := (= #15 0::Int)
-#261 := (if #19 #254 #260)
-#253 := (= #37 #15)
+#244 := (if #19 #237 #243)
+#236 := (= #37 #15)
 #20 := (= #17 0::Int)
-#262 := (if #20 #253 #261)
-#691 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #690) #262)
-#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
-#694 := (iff #265 #691)
-#692 := (iff #262 #262)
-#693 := [refl]: #692
-#695 := [quant-intro #693]: #694
-#108 := (* -1::Int #102)
-#222 := (if #206 #38 #108)
-#225 := (if #19 0::Int #222)
-#228 := (if #20 #15 #225)
-#231 := (= #37 #228)
-#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
-#266 := (iff #234 #265)
-#263 := (iff #231 #262)
-#264 := [rewrite]: #263
-#267 := [quant-intro #264]: #266
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#174 := (if #158 #38 #108)
-#177 := (if #19 0::Int #174)
-#180 := (if #20 #15 #177)
-#183 := (= #37 #180)
-#186 := (forall (vars (?v0 Int) (?v1 Int)) #183)
-#235 := (iff #186 #234)
-#232 := (iff #183 #231)
-#229 := (= #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#224 := [monotonicity #208]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [quant-intro #233]: #235
-#195 := (~ #186 #186)
-#191 := (~ #183 #183)
-#194 := [refl]: #191
-#196 := [nnf-pos #194]: #195
-#64 := (<= 0::Int #15)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#113 := (if #76 #38 #108)
-#116 := (if #19 0::Int #113)
-#119 := (if #20 #15 #116)
-#122 := (= #37 #119)
-#125 := (forall (vars (?v0 Int) (?v1 Int)) #122)
-#187 := (iff #125 #186)
-#184 := (iff #122 #183)
-#181 := (= #119 #180)
-#178 := (= #116 #177)
-#175 := (= #113 #174)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#176 := [monotonicity #160]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [monotonicity #182]: #184
-#188 := [quant-intro #185]: #187
+#245 := (if #20 #236 #244)
+#735 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #734) #245)
+#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
+#738 := (iff #248 #735)
+#736 := (iff #245 #245)
+#737 := [refl]: #736
+#739 := [quant-intro #737]: #738
+#132 := (* -1::Int #126)
+#205 := (if #189 #38 #132)
+#208 := (if #19 0::Int #205)
+#211 := (if #20 #15 #208)
+#214 := (= #37 #211)
+#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
+#249 := (iff #217 #248)
+#246 := (iff #214 #245)
+#247 := [rewrite]: #246
+#250 := [quant-intro #247]: #249
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (if #107 #38 #132)
+#155 := (if #19 0::Int #152)
+#158 := (if #20 #15 #155)
+#161 := (= #37 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#218 := (iff #164 #217)
+#215 := (iff #161 #214)
+#212 := (= #158 #211)
+#209 := (= #155 #208)
+#206 := (= #152 #205)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#207 := [monotonicity #191]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [quant-intro #216]: #218
+#175 := (~ #164 #164)
+#174 := (~ #161 #161)
+#171 := [refl]: #174
+#176 := [nnf-pos #171]: #175
 #30 := (- #17)
 #29 := (- #15)
 #39 := (mod #29 #30)
@@ -33914,161 +31651,172 @@
 #43 := (if #20 #15 #42)
 #44 := (= #37 #43)
 #45 := (forall (vars (?v0 Int) (?v1 Int)) #44)
-#126 := (iff #45 #125)
-#123 := (iff #44 #122)
-#120 := (= #43 #119)
-#117 := (= #42 #116)
-#114 := (= #41 #113)
-#111 := (= #40 #108)
-#105 := (- #102)
-#109 := (= #105 #108)
-#110 := [rewrite]: #109
-#106 := (= #40 #105)
-#103 := (= #39 #102)
-#84 := (= #30 #83)
-#85 := [rewrite]: #84
-#81 := (= #29 #80)
-#82 := [rewrite]: #81
-#104 := [monotonicity #82 #85]: #103
-#107 := [monotonicity #104]: #106
-#112 := [trans #107 #110]: #111
-#77 := (iff #27 #76)
-#74 := (iff #26 #73)
-#59 := (iff #23 #58)
-#60 := [rewrite]: #59
-#66 := (iff #25 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #24 #61)
-#55 := (iff #22 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#115 := [monotonicity #78 #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#127 := [quant-intro #124]: #126
-#49 := [asserted]: #45
-#128 := [mp #49 #127]: #125
-#189 := [mp #128 #188]: #186
-#197 := [mp~ #189 #196]: #186
-#237 := [mp #197 #236]: #234
-#268 := [mp #237 #267]: #265
-#696 := [mp #268 #695]: #691
+#167 := (iff #45 #164)
+#137 := (if #27 #38 #132)
+#140 := (if #19 0::Int #137)
+#143 := (if #20 #15 #140)
+#146 := (= #37 #143)
+#149 := (forall (vars (?v0 Int) (?v1 Int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #27 #107)
+#105 := (iff #26 #104)
+#95 := (iff #23 #94)
+#96 := [rewrite]: #95
+#102 := (iff #25 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #24 #97)
+#91 := (iff #22 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #45 #149)
+#147 := (iff #44 #146)
+#144 := (= #43 #143)
+#141 := (= #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #40 #129)
+#127 := (= #39 #126)
+#72 := (= #30 #71)
+#73 := [rewrite]: #72
+#69 := (= #29 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #45
+#169 := [mp #125 #168]: #164
+#172 := [mp~ #169 #176]: #164
+#220 := [mp #172 #219]: #217
+#251 := [mp #220 #250]: #248
+#740 := [mp #251 #739]: #735
 decl f6 :: Int
 #8 := f6
 #9 := (f4 f5 f6)
 #11 := (f3 #9 0::Int)
 #12 := (= #11 f6)
 #13 := (not #12)
-#47 := [asserted]: #13
-#485 := (not #691)
-#486 := (or #485 #12)
-#345 := (* -1::Int 0::Int)
-#671 := (* -1::Int f6)
-#346 := (mod #671 #345)
-#678 := (+ #11 #346)
-#679 := (= #678 0::Int)
-#675 := (mod f6 0::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 0::Int 0::Int)
-#360 := (>= f6 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#356 := (<= f6 0::Int)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#680 := (if #340 #464 #679)
-#355 := (= #11 0::Int)
-#354 := (= f6 0::Int)
-#681 := (if #354 #355 #680)
-#269 := (= 0::Int 0::Int)
-#676 := (if #269 #12 #681)
-#628 := (or #485 #676)
-#630 := (iff #628 #486)
-#625 := (iff #486 #486)
-#626 := [rewrite]: #625
-#643 := (iff #676 #12)
-#376 := (mod #671 0::Int)
-#651 := (+ #11 #376)
-#366 := (= #651 0::Int)
-#638 := (if #354 #355 #366)
-#1 := true
-#635 := (if true #12 #638)
-#642 := (iff #635 #12)
-#637 := [rewrite]: #642
-#636 := (iff #676 #635)
-#639 := (iff #681 #638)
-#645 := (iff #680 #366)
-#646 := (if false #464 #366)
-#644 := (iff #646 #366)
-#648 := [rewrite]: #644
-#647 := (iff #680 #646)
-#367 := (iff #679 #366)
-#655 := (= #678 #651)
-#650 := (= #346 #376)
-#653 := (= #345 0::Int)
-#375 := [rewrite]: #653
-#654 := [monotonicity #375]: #650
-#365 := [monotonicity #654]: #655
-#368 := [monotonicity #365]: #367
-#275 := (iff #340 false)
-#657 := (or false false)
-#381 := (iff #657 false)
-#382 := [rewrite]: #381
-#379 := (iff #340 #657)
-#670 := (iff #361 false)
-#323 := (not true)
-#661 := (iff #323 false)
-#662 := [rewrite]: #661
-#669 := (iff #361 #323)
-#308 := (iff #357 true)
-#659 := (or #360 true)
-#666 := (iff #659 true)
-#668 := [rewrite]: #666
-#665 := (iff #357 #659)
-#332 := (iff #347 true)
-#337 := [rewrite]: #332
-#303 := [monotonicity #337]: #665
-#309 := [trans #303 #668]: #308
-#667 := [monotonicity #309]: #669
-#656 := [trans #667 #662]: #670
-#663 := (iff #359 false)
-#324 := (iff #359 #323)
-#321 := (iff #358 true)
-#673 := (or #356 true)
-#317 := (iff #673 true)
-#658 := [rewrite]: #317
-#333 := (iff #358 #673)
-#674 := [monotonicity #337]: #333
-#322 := [trans #674 #658]: #321
-#660 := [monotonicity #322]: #324
-#664 := [trans #660 #662]: #663
-#380 := [monotonicity #664 #656]: #379
-#652 := [trans #380 #382]: #275
-#362 := [monotonicity #652 #368]: #647
-#649 := [trans #362 #648]: #645
-#640 := [monotonicity #649]: #639
-#682 := (iff #269 true)
-#672 := [rewrite]: #682
-#641 := [monotonicity #672 #640]: #636
-#484 := [trans #641 #637]: #643
-#631 := [monotonicity #484]: #630
-#632 := [trans #631 #626]: #630
-#629 := [quant-inst #8 #10]: #628
-#633 := [mp #629 #632]: #486
-[unit-resolution #633 #47 #696]: false
-eac86f8245b94dc0d52cdc4d9e88e042a740d116 302 0
-unsat
+#65 := [asserted]: #13
+#529 := (not #735)
+#530 := (or #529 #12)
+#389 := (* -1::Int 0::Int)
+#715 := (* -1::Int f6)
+#390 := (mod #715 #389)
+#722 := (+ #11 #390)
+#723 := (= #722 0::Int)
+#719 := (mod f6 0::Int)
+#721 := (* -1::Int #719)
+#378 := (+ #11 #721)
+#508 := (= #378 0::Int)
+#391 := (<= 0::Int 0::Int)
+#404 := (>= f6 0::Int)
+#401 := (or #404 #391)
+#405 := (not #401)
+#400 := (<= f6 0::Int)
+#402 := (or #400 #391)
+#403 := (not #402)
+#384 := (or #403 #405)
+#724 := (if #384 #508 #723)
+#399 := (= #11 0::Int)
+#398 := (= f6 0::Int)
+#725 := (if #398 #399 #724)
+#314 := (= 0::Int 0::Int)
+#720 := (if #314 #12 #725)
+#672 := (or #529 #720)
+#674 := (iff #672 #530)
+#669 := (iff #530 #530)
+#670 := [rewrite]: #669
+#687 := (iff #720 #12)
+#420 := (mod #715 0::Int)
+#695 := (+ #11 #420)
+#410 := (= #695 0::Int)
+#682 := (if #398 #399 #410)
+#1 := true
+#679 := (if true #12 #682)
+#686 := (iff #679 #12)
+#681 := [rewrite]: #686
+#680 := (iff #720 #679)
+#683 := (iff #725 #682)
+#689 := (iff #724 #410)
+#690 := (if false #508 #410)
+#688 := (iff #690 #410)
+#692 := [rewrite]: #688
+#691 := (iff #724 #690)
+#411 := (iff #723 #410)
+#699 := (= #722 #695)
+#694 := (= #390 #420)
+#697 := (= #389 0::Int)
+#419 := [rewrite]: #697
+#698 := [monotonicity #419]: #694
+#409 := [monotonicity #698]: #699
+#412 := [monotonicity #409]: #411
+#320 := (iff #384 false)
+#701 := (or false false)
+#425 := (iff #701 false)
+#426 := [rewrite]: #425
+#423 := (iff #384 #701)
+#714 := (iff #405 false)
+#367 := (not true)
+#705 := (iff #367 false)
+#706 := [rewrite]: #705
+#713 := (iff #405 #367)
+#352 := (iff #401 true)
+#703 := (or #404 true)
+#710 := (iff #703 true)
+#712 := [rewrite]: #710
+#709 := (iff #401 #703)
+#376 := (iff #391 true)
+#381 := [rewrite]: #376
+#347 := [monotonicity #381]: #709
+#353 := [trans #347 #712]: #352
+#711 := [monotonicity #353]: #713
+#700 := [trans #711 #706]: #714
+#707 := (iff #403 false)
+#368 := (iff #403 #367)
+#365 := (iff #402 true)
+#717 := (or #400 true)
+#361 := (iff #717 true)
+#702 := [rewrite]: #361
+#377 := (iff #402 #717)
+#718 := [monotonicity #381]: #377
+#366 := [trans #718 #702]: #365
+#704 := [monotonicity #366]: #368
+#708 := [trans #704 #706]: #707
+#424 := [monotonicity #708 #700]: #423
+#696 := [trans #424 #426]: #320
+#406 := [monotonicity #696 #412]: #691
+#693 := [trans #406 #692]: #689
+#684 := [monotonicity #693]: #683
+#726 := (iff #314 true)
+#716 := [rewrite]: #726
+#685 := [monotonicity #716 #684]: #680
+#528 := [trans #685 #681]: #687
+#675 := [monotonicity #528]: #674
+#676 := [trans #675 #670]: #674
+#673 := [quant-inst #8 #10]: #672
+#677 := [mp #673 #676]: #530
+[unit-resolution #677 #65 #740]: false
+unsat
+2c958a27762c93737a9d33717a5efe8ed61ac548 286 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -34078,107 +31826,80 @@
 #7 := f5
 #36 := (f4 f5 #15)
 #37 := (f3 #36 #17)
-#689 := (pattern #37)
+#733 := (pattern #37)
 #8 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #17)
-#80 := (* -1::Int #15)
-#102 := (mod #80 #83)
-#258 := (+ #37 #102)
-#259 := (= #258 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #17)
+#68 := (* -1::Int #15)
+#126 := (mod #68 #71)
+#241 := (+ #37 #126)
+#242 := (= #241 0::Int)
 #38 := (mod #15 #17)
-#255 := (* -1::Int #38)
-#256 := (+ #37 #255)
-#257 := (= #256 0::Int)
-#57 := (<= #17 0::Int)
-#149 := (>= #15 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #15 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#260 := (if #206 #257 #259)
-#254 := (= #37 0::Int)
+#238 := (* -1::Int #38)
+#239 := (+ #37 #238)
+#240 := (= #239 0::Int)
+#93 := (<= #17 0::Int)
+#100 := (>= #15 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #15 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#243 := (if #189 #240 #242)
+#237 := (= #37 0::Int)
 #19 := (= #15 0::Int)
-#261 := (if #19 #254 #260)
-#253 := (= #37 #15)
+#244 := (if #19 #237 #243)
+#236 := (= #37 #15)
 #20 := (= #17 0::Int)
-#262 := (if #20 #253 #261)
-#690 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #689) #262)
-#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
-#693 := (iff #265 #690)
-#691 := (iff #262 #262)
-#692 := [refl]: #691
-#694 := [quant-intro #692]: #693
-#108 := (* -1::Int #102)
-#222 := (if #206 #38 #108)
-#225 := (if #19 0::Int #222)
-#228 := (if #20 #15 #225)
-#231 := (= #37 #228)
-#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
-#266 := (iff #234 #265)
-#263 := (iff #231 #262)
-#264 := [rewrite]: #263
-#267 := [quant-intro #264]: #266
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#174 := (if #158 #38 #108)
-#177 := (if #19 0::Int #174)
-#180 := (if #20 #15 #177)
-#183 := (= #37 #180)
-#186 := (forall (vars (?v0 Int) (?v1 Int)) #183)
-#235 := (iff #186 #234)
-#232 := (iff #183 #231)
-#229 := (= #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#224 := [monotonicity #208]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [quant-intro #233]: #235
-#193 := (~ #186 #186)
-#148 := (~ #183 #183)
-#192 := [refl]: #148
-#196 := [nnf-pos #192]: #193
-#64 := (<= 0::Int #15)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#113 := (if #76 #38 #108)
-#116 := (if #19 0::Int #113)
-#119 := (if #20 #15 #116)
-#122 := (= #37 #119)
-#125 := (forall (vars (?v0 Int) (?v1 Int)) #122)
-#187 := (iff #125 #186)
-#184 := (iff #122 #183)
-#181 := (= #119 #180)
-#178 := (= #116 #177)
-#175 := (= #113 #174)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#176 := [monotonicity #160]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [monotonicity #182]: #184
-#188 := [quant-intro #185]: #187
+#245 := (if #20 #236 #244)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #245)
+#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
+#737 := (iff #248 #734)
+#735 := (iff #245 #245)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#132 := (* -1::Int #126)
+#205 := (if #189 #38 #132)
+#208 := (if #19 0::Int #205)
+#211 := (if #20 #15 #208)
+#214 := (= #37 #211)
+#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
+#249 := (iff #217 #248)
+#246 := (iff #214 #245)
+#247 := [rewrite]: #246
+#250 := [quant-intro #247]: #249
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (if #107 #38 #132)
+#155 := (if #19 0::Int #152)
+#158 := (if #20 #15 #155)
+#161 := (= #37 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#218 := (iff #164 #217)
+#215 := (iff #161 #214)
+#212 := (= #158 #211)
+#209 := (= #155 #208)
+#206 := (= #152 #205)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#207 := [monotonicity #191]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [quant-intro #216]: #218
+#175 := (~ #164 #164)
+#174 := (~ #161 #161)
+#171 := [refl]: #174
+#176 := [nnf-pos #171]: #175
 #30 := (- #17)
 #29 := (- #15)
 #39 := (mod #29 #30)
@@ -34194,184 +31915,195 @@
 #43 := (if #20 #15 #42)
 #44 := (= #37 #43)
 #45 := (forall (vars (?v0 Int) (?v1 Int)) #44)
-#126 := (iff #45 #125)
-#123 := (iff #44 #122)
-#120 := (= #43 #119)
-#117 := (= #42 #116)
-#114 := (= #41 #113)
-#111 := (= #40 #108)
-#105 := (- #102)
-#109 := (= #105 #108)
-#110 := [rewrite]: #109
-#106 := (= #40 #105)
-#103 := (= #39 #102)
-#84 := (= #30 #83)
-#85 := [rewrite]: #84
-#81 := (= #29 #80)
-#82 := [rewrite]: #81
-#104 := [monotonicity #82 #85]: #103
-#107 := [monotonicity #104]: #106
-#112 := [trans #107 #110]: #111
-#77 := (iff #27 #76)
-#74 := (iff #26 #73)
-#59 := (iff #23 #58)
-#60 := [rewrite]: #59
-#66 := (iff #25 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #24 #61)
-#55 := (iff #22 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#115 := [monotonicity #78 #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#127 := [quant-intro #124]: #126
-#49 := [asserted]: #45
-#128 := [mp #49 #127]: #125
-#189 := [mp #128 #188]: #186
-#197 := [mp~ #189 #196]: #186
-#237 := [mp #197 #236]: #234
-#268 := [mp #237 #267]: #265
-#695 := [mp #268 #694]: #690
+#167 := (iff #45 #164)
+#137 := (if #27 #38 #132)
+#140 := (if #19 0::Int #137)
+#143 := (if #20 #15 #140)
+#146 := (= #37 #143)
+#149 := (forall (vars (?v0 Int) (?v1 Int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #27 #107)
+#105 := (iff #26 #104)
+#95 := (iff #23 #94)
+#96 := [rewrite]: #95
+#102 := (iff #25 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #24 #97)
+#91 := (iff #22 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #45 #149)
+#147 := (iff #44 #146)
+#144 := (= #43 #143)
+#141 := (= #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #40 #129)
+#127 := (= #39 #126)
+#72 := (= #30 #71)
+#73 := [rewrite]: #72
+#69 := (= #29 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #45
+#169 := [mp #125 #168]: #164
+#172 := [mp~ #169 #176]: #164
+#220 := [mp #172 #219]: #217
+#251 := [mp #220 #250]: #248
+#739 := [mp #251 #738]: #734
 #10 := 1::Int
 #9 := (f4 f5 0::Int)
 #11 := (f3 #9 1::Int)
 #12 := (= #11 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#466 := (not #690)
-#614 := (or #466 #12)
-#670 := (* -1::Int 1::Int)
-#463 := (* -1::Int 0::Int)
-#344 := (mod #463 #670)
-#345 := (+ #11 #344)
-#677 := (= #345 0::Int)
-#339 := (mod 0::Int 1::Int)
-#674 := (* -1::Int #339)
-#676 := (+ #11 #674)
-#333 := (= #676 0::Int)
-#355 := (<= 1::Int 0::Int)
-#358 := (>= 0::Int 0::Int)
-#359 := (or #358 #355)
-#356 := (not #359)
-#354 := (<= 0::Int 0::Int)
-#346 := (or #354 #355)
-#357 := (not #346)
-#360 := (or #357 #356)
-#678 := (if #360 #333 #677)
-#353 := (= 0::Int 0::Int)
-#679 := (if #353 #12 #678)
-#269 := (= 1::Int 0::Int)
-#680 := (if #269 #12 #679)
-#516 := (or #466 #680)
-#612 := (iff #516 #614)
-#500 := (iff #614 #614)
-#515 := [rewrite]: #500
-#506 := (iff #680 #12)
-#624 := (if false #12 #12)
-#632 := (iff #624 #12)
-#626 := [rewrite]: #632
-#623 := (iff #680 #624)
-#622 := (iff #679 #12)
-#1 := true
-#464 := (if true #12 #12)
-#619 := (iff #464 #12)
-#621 := [rewrite]: #619
-#465 := (iff #679 #464)
-#633 := (iff #678 #12)
-#625 := (iff #678 #624)
-#629 := (iff #677 #12)
-#627 := (= #345 #11)
-#367 := (+ #11 0::Int)
-#361 := (= #367 #11)
-#643 := [rewrite]: #361
-#484 := (= #345 #367)
-#642 := (= #344 0::Int)
-#634 := (mod 0::Int -1::Int)
-#641 := (= #634 0::Int)
-#636 := [rewrite]: #641
-#635 := (= #344 #634)
-#638 := (= #670 -1::Int)
-#639 := [rewrite]: #638
-#654 := (= #463 0::Int)
-#364 := [rewrite]: #654
-#640 := [monotonicity #364 #639]: #635
-#483 := [trans #640 #636]: #642
-#485 := [monotonicity #483]: #484
-#628 := [trans #485 #643]: #627
-#630 := [monotonicity #628]: #629
-#648 := (iff #333 #12)
-#647 := (= #676 #11)
-#645 := (= #676 #367)
-#365 := (= #674 0::Int)
-#653 := (= #674 #463)
-#375 := (= #339 0::Int)
-#649 := [rewrite]: #375
-#650 := [monotonicity #649]: #653
-#366 := [trans #650 #364]: #365
-#646 := [monotonicity #366]: #645
-#644 := [trans #646 #643]: #647
-#637 := [monotonicity #644]: #648
-#652 := (iff #360 false)
-#379 := (or false false)
-#275 := (iff #379 false)
-#651 := [rewrite]: #275
-#380 := (iff #360 #379)
-#656 := (iff #356 false)
-#660 := (not true)
-#663 := (iff #660 false)
-#658 := [rewrite]: #663
-#669 := (iff #356 #660)
-#668 := (iff #359 true)
-#316 := (or true false)
-#321 := (iff #316 true)
-#322 := [rewrite]: #321
-#307 := (iff #359 #316)
-#332 := (iff #355 false)
-#673 := [rewrite]: #332
-#665 := (iff #358 true)
-#667 := [rewrite]: #665
-#308 := [monotonicity #667 #673]: #307
-#666 := [trans #308 #322]: #668
-#655 := [monotonicity #666]: #669
-#378 := [trans #655 #658]: #656
-#664 := (iff #357 false)
-#661 := (iff #357 #660)
-#323 := (iff #346 true)
-#657 := (iff #346 #316)
-#336 := (iff #354 true)
-#672 := [rewrite]: #336
-#320 := [monotonicity #672 #673]: #657
-#659 := [trans #320 #322]: #323
-#662 := [monotonicity #659]: #661
-#302 := [trans #662 #658]: #664
-#381 := [monotonicity #302 #378]: #380
-#374 := [trans #381 #651]: #652
-#631 := [monotonicity #374 #637 #630]: #625
-#462 := [trans #631 #626]: #633
-#671 := (iff #353 true)
-#331 := [rewrite]: #671
-#618 := [monotonicity #331 #462]: #465
-#620 := [trans #618 #621]: #622
-#675 := (iff #269 false)
-#681 := [rewrite]: #675
-#505 := [monotonicity #681 #620]: #623
-#507 := [trans #505 #626]: #506
-#615 := [monotonicity #507]: #612
-#517 := [trans #615 #515]: #612
-#611 := [quant-inst #8 #10]: #516
-#518 := [mp #611 #517]: #614
-[unit-resolution #518 #47 #695]: false
-b328a65166639bc9762c0041f148bc92847217f4 303 0
-unsat
+#65 := [asserted]: #13
+#510 := (not #734)
+#658 := (or #510 #12)
+#714 := (* -1::Int 1::Int)
+#507 := (* -1::Int 0::Int)
+#388 := (mod #507 #714)
+#389 := (+ #11 #388)
+#721 := (= #389 0::Int)
+#383 := (mod 0::Int 1::Int)
+#718 := (* -1::Int #383)
+#720 := (+ #11 #718)
+#377 := (= #720 0::Int)
+#399 := (<= 1::Int 0::Int)
+#402 := (>= 0::Int 0::Int)
+#403 := (or #402 #399)
+#400 := (not #403)
+#398 := (<= 0::Int 0::Int)
+#390 := (or #398 #399)
+#401 := (not #390)
+#404 := (or #401 #400)
+#722 := (if #404 #377 #721)
+#397 := (= 0::Int 0::Int)
+#723 := (if #397 #12 #722)
+#313 := (= 1::Int 0::Int)
+#724 := (if #313 #12 #723)
+#560 := (or #510 #724)
+#656 := (iff #560 #658)
+#544 := (iff #658 #658)
+#559 := [rewrite]: #544
+#550 := (iff #724 #12)
+#668 := (if false #12 #12)
+#676 := (iff #668 #12)
+#670 := [rewrite]: #676
+#667 := (iff #724 #668)
+#666 := (iff #723 #12)
+#1 := true
+#508 := (if true #12 #12)
+#663 := (iff #508 #12)
+#665 := [rewrite]: #663
+#509 := (iff #723 #508)
+#677 := (iff #722 #12)
+#669 := (iff #722 #668)
+#673 := (iff #721 #12)
+#671 := (= #389 #11)
+#411 := (+ #11 0::Int)
+#405 := (= #411 #11)
+#687 := [rewrite]: #405
+#528 := (= #389 #411)
+#686 := (= #388 0::Int)
+#678 := (mod 0::Int -1::Int)
+#685 := (= #678 0::Int)
+#680 := [rewrite]: #685
+#679 := (= #388 #678)
+#682 := (= #714 -1::Int)
+#683 := [rewrite]: #682
+#698 := (= #507 0::Int)
+#408 := [rewrite]: #698
+#684 := [monotonicity #408 #683]: #679
+#527 := [trans #684 #680]: #686
+#529 := [monotonicity #527]: #528
+#672 := [trans #529 #687]: #671
+#674 := [monotonicity #672]: #673
+#692 := (iff #377 #12)
+#691 := (= #720 #11)
+#689 := (= #720 #411)
+#409 := (= #718 0::Int)
+#697 := (= #718 #507)
+#419 := (= #383 0::Int)
+#693 := [rewrite]: #419
+#694 := [monotonicity #693]: #697
+#410 := [trans #694 #408]: #409
+#690 := [monotonicity #410]: #689
+#688 := [trans #690 #687]: #691
+#681 := [monotonicity #688]: #692
+#696 := (iff #404 false)
+#423 := (or false false)
+#319 := (iff #423 false)
+#695 := [rewrite]: #319
+#424 := (iff #404 #423)
+#700 := (iff #400 false)
+#704 := (not true)
+#707 := (iff #704 false)
+#702 := [rewrite]: #707
+#713 := (iff #400 #704)
+#712 := (iff #403 true)
+#360 := (or true false)
+#365 := (iff #360 true)
+#366 := [rewrite]: #365
+#351 := (iff #403 #360)
+#376 := (iff #399 false)
+#717 := [rewrite]: #376
+#709 := (iff #402 true)
+#711 := [rewrite]: #709
+#352 := [monotonicity #711 #717]: #351
+#710 := [trans #352 #366]: #712
+#699 := [monotonicity #710]: #713
+#422 := [trans #699 #702]: #700
+#708 := (iff #401 false)
+#705 := (iff #401 #704)
+#367 := (iff #390 true)
+#701 := (iff #390 #360)
+#380 := (iff #398 true)
+#716 := [rewrite]: #380
+#364 := [monotonicity #716 #717]: #701
+#703 := [trans #364 #366]: #367
+#706 := [monotonicity #703]: #705
+#346 := [trans #706 #702]: #708
+#425 := [monotonicity #346 #422]: #424
+#418 := [trans #425 #695]: #696
+#675 := [monotonicity #418 #681 #674]: #669
+#506 := [trans #675 #670]: #677
+#715 := (iff #397 true)
+#375 := [rewrite]: #715
+#662 := [monotonicity #375 #506]: #509
+#664 := [trans #662 #665]: #666
+#719 := (iff #313 false)
+#725 := [rewrite]: #719
+#549 := [monotonicity #725 #664]: #667
+#551 := [trans #549 #670]: #550
+#659 := [monotonicity #551]: #656
+#561 := [trans #659 #559]: #656
+#655 := [quant-inst #8 #10]: #560
+#562 := [mp #655 #561]: #658
+[unit-resolution #562 #65 #739]: false
+unsat
+364c5b9098e4b9b582f9064cb2808c3e5b97f78c 287 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -34381,107 +32113,80 @@
 #7 := f5
 #36 := (f4 f5 #15)
 #37 := (f3 #36 #17)
-#689 := (pattern #37)
+#733 := (pattern #37)
 #11 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #17)
-#80 := (* -1::Int #15)
-#102 := (mod #80 #83)
-#258 := (+ #37 #102)
-#259 := (= #258 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #17)
+#68 := (* -1::Int #15)
+#126 := (mod #68 #71)
+#241 := (+ #37 #126)
+#242 := (= #241 0::Int)
 #38 := (mod #15 #17)
-#255 := (* -1::Int #38)
-#256 := (+ #37 #255)
-#257 := (= #256 0::Int)
-#57 := (<= #17 0::Int)
-#149 := (>= #15 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #15 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#260 := (if #206 #257 #259)
-#254 := (= #37 0::Int)
+#238 := (* -1::Int #38)
+#239 := (+ #37 #238)
+#240 := (= #239 0::Int)
+#93 := (<= #17 0::Int)
+#100 := (>= #15 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #15 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#243 := (if #189 #240 #242)
+#237 := (= #37 0::Int)
 #19 := (= #15 0::Int)
-#261 := (if #19 #254 #260)
-#253 := (= #37 #15)
+#244 := (if #19 #237 #243)
+#236 := (= #37 #15)
 #20 := (= #17 0::Int)
-#262 := (if #20 #253 #261)
-#690 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #689) #262)
-#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
-#693 := (iff #265 #690)
-#691 := (iff #262 #262)
-#692 := [refl]: #691
-#694 := [quant-intro #692]: #693
-#108 := (* -1::Int #102)
-#222 := (if #206 #38 #108)
-#225 := (if #19 0::Int #222)
-#228 := (if #20 #15 #225)
-#231 := (= #37 #228)
-#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
-#266 := (iff #234 #265)
-#263 := (iff #231 #262)
-#264 := [rewrite]: #263
-#267 := [quant-intro #264]: #266
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#174 := (if #158 #38 #108)
-#177 := (if #19 0::Int #174)
-#180 := (if #20 #15 #177)
-#183 := (= #37 #180)
-#186 := (forall (vars (?v0 Int) (?v1 Int)) #183)
-#235 := (iff #186 #234)
-#232 := (iff #183 #231)
-#229 := (= #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#224 := [monotonicity #208]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [quant-intro #233]: #235
-#193 := (~ #186 #186)
-#148 := (~ #183 #183)
-#192 := [refl]: #148
-#196 := [nnf-pos #192]: #193
-#64 := (<= 0::Int #15)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#113 := (if #76 #38 #108)
-#116 := (if #19 0::Int #113)
-#119 := (if #20 #15 #116)
-#122 := (= #37 #119)
-#125 := (forall (vars (?v0 Int) (?v1 Int)) #122)
-#187 := (iff #125 #186)
-#184 := (iff #122 #183)
-#181 := (= #119 #180)
-#178 := (= #116 #177)
-#175 := (= #113 #174)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#176 := [monotonicity #160]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [monotonicity #182]: #184
-#188 := [quant-intro #185]: #187
+#245 := (if #20 #236 #244)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #245)
+#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
+#737 := (iff #248 #734)
+#735 := (iff #245 #245)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#132 := (* -1::Int #126)
+#205 := (if #189 #38 #132)
+#208 := (if #19 0::Int #205)
+#211 := (if #20 #15 #208)
+#214 := (= #37 #211)
+#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
+#249 := (iff #217 #248)
+#246 := (iff #214 #245)
+#247 := [rewrite]: #246
+#250 := [quant-intro #247]: #249
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (if #107 #38 #132)
+#155 := (if #19 0::Int #152)
+#158 := (if #20 #15 #155)
+#161 := (= #37 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#218 := (iff #164 #217)
+#215 := (iff #161 #214)
+#212 := (= #158 #211)
+#209 := (= #155 #208)
+#206 := (= #152 #205)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#207 := [monotonicity #191]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [quant-intro #216]: #218
+#175 := (~ #164 #164)
+#174 := (~ #161 #161)
+#171 := [refl]: #174
+#176 := [nnf-pos #171]: #175
 #30 := (- #17)
 #29 := (- #15)
 #39 := (mod #29 #30)
@@ -34497,185 +32202,196 @@
 #43 := (if #20 #15 #42)
 #44 := (= #37 #43)
 #45 := (forall (vars (?v0 Int) (?v1 Int)) #44)
-#126 := (iff #45 #125)
-#123 := (iff #44 #122)
-#120 := (= #43 #119)
-#117 := (= #42 #116)
-#114 := (= #41 #113)
-#111 := (= #40 #108)
-#105 := (- #102)
-#109 := (= #105 #108)
-#110 := [rewrite]: #109
-#106 := (= #40 #105)
-#103 := (= #39 #102)
-#84 := (= #30 #83)
-#85 := [rewrite]: #84
-#81 := (= #29 #80)
-#82 := [rewrite]: #81
-#104 := [monotonicity #82 #85]: #103
-#107 := [monotonicity #104]: #106
-#112 := [trans #107 #110]: #111
-#77 := (iff #27 #76)
-#74 := (iff #26 #73)
-#59 := (iff #23 #58)
-#60 := [rewrite]: #59
-#66 := (iff #25 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #24 #61)
-#55 := (iff #22 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#115 := [monotonicity #78 #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#127 := [quant-intro #124]: #126
-#49 := [asserted]: #45
-#128 := [mp #49 #127]: #125
-#189 := [mp #128 #188]: #186
-#197 := [mp~ #189 #196]: #186
-#237 := [mp #197 #236]: #234
-#268 := [mp #237 #267]: #265
-#695 := [mp #268 #694]: #690
+#167 := (iff #45 #164)
+#137 := (if #27 #38 #132)
+#140 := (if #19 0::Int #137)
+#143 := (if #20 #15 #140)
+#146 := (= #37 #143)
+#149 := (forall (vars (?v0 Int) (?v1 Int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #27 #107)
+#105 := (iff #26 #104)
+#95 := (iff #23 #94)
+#96 := [rewrite]: #95
+#102 := (iff #25 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #24 #97)
+#91 := (iff #22 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #45 #149)
+#147 := (iff #44 #146)
+#144 := (= #43 #143)
+#141 := (= #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #40 #129)
+#127 := (= #39 #126)
+#72 := (= #30 #71)
+#73 := [rewrite]: #72
+#69 := (= #29 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #45
+#169 := [mp #125 #168]: #164
+#172 := [mp~ #169 #176]: #164
+#220 := [mp #172 #219]: #217
+#251 := [mp #220 #250]: #248
+#739 := [mp #251 #738]: #734
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
 #10 := (f3 #9 1::Int)
 #12 := (= #10 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#614 := (not #690)
-#516 := (or #614 #12)
-#333 := (* -1::Int 1::Int)
-#463 := (mod #333 #333)
-#670 := (+ #10 #463)
-#344 := (= #670 0::Int)
-#360 := (mod 1::Int 1::Int)
-#339 := (* -1::Int #360)
-#674 := (+ #10 #339)
-#676 := (= #674 0::Int)
-#354 := (<= 1::Int 0::Int)
-#357 := (>= 1::Int 0::Int)
-#358 := (or #357 #354)
-#359 := (not #358)
-#355 := (or #354 #354)
-#346 := (not #355)
-#356 := (or #346 #359)
-#345 := (if #356 #676 #344)
-#269 := (= 1::Int 0::Int)
-#677 := (if #269 #12 #345)
-#353 := (= #10 1::Int)
-#678 := (if #269 #353 #677)
-#611 := (or #614 #678)
-#615 := (iff #611 #516)
-#515 := (iff #516 #516)
-#517 := [rewrite]: #515
-#507 := (iff #678 #12)
-#622 := (if false #353 #12)
-#505 := (iff #622 #12)
-#506 := [rewrite]: #505
-#620 := (iff #678 #622)
-#619 := (iff #677 #12)
-#633 := (if false #12 #12)
-#465 := (iff #633 #12)
-#618 := [rewrite]: #465
-#462 := (iff #677 #633)
-#632 := (iff #345 #12)
-#1 := true
-#629 := (if true #12 #12)
-#625 := (iff #629 #12)
-#631 := [rewrite]: #625
-#630 := (iff #345 #629)
-#627 := (iff #344 #12)
-#484 := (= #670 #10)
-#365 := (+ #10 0::Int)
-#645 := (= #365 #10)
-#646 := [rewrite]: #645
-#642 := (= #670 #365)
-#641 := (= #463 0::Int)
-#638 := (mod -1::Int -1::Int)
-#635 := (= #638 0::Int)
-#640 := [rewrite]: #635
-#639 := (= #463 #638)
-#648 := (= #333 -1::Int)
-#637 := [rewrite]: #648
-#634 := [monotonicity #637 #637]: #639
-#636 := [trans #634 #640]: #641
-#483 := [monotonicity #636]: #642
-#485 := [trans #483 #646]: #484
-#628 := [monotonicity #485]: #627
-#647 := (iff #676 #12)
-#361 := (= #674 #10)
-#366 := (= #674 #365)
-#654 := (= #339 0::Int)
-#374 := (* -1::Int 0::Int)
-#653 := (= #374 0::Int)
-#650 := [rewrite]: #653
-#375 := (= #339 #374)
-#651 := (= #360 0::Int)
-#652 := [rewrite]: #651
-#649 := [monotonicity #652]: #375
-#364 := [trans #649 #650]: #654
-#367 := [monotonicity #364]: #366
-#643 := [trans #367 #646]: #361
-#644 := [monotonicity #643]: #647
-#381 := (iff #356 true)
-#663 := (or true false)
-#302 := (iff #663 true)
-#665 := [rewrite]: #302
-#379 := (iff #356 #663)
-#656 := (iff #359 false)
-#308 := (not true)
-#669 := (iff #308 false)
-#655 := [rewrite]: #669
-#668 := (iff #359 #308)
-#667 := (iff #358 true)
-#658 := (iff #358 #663)
-#675 := (iff #354 false)
-#681 := [rewrite]: #675
-#661 := (iff #357 true)
-#662 := [rewrite]: #661
-#664 := [monotonicity #662 #681]: #658
-#307 := [trans #664 #665]: #667
-#666 := [monotonicity #307]: #668
-#378 := [trans #666 #655]: #656
-#659 := (iff #346 true)
-#657 := (not false)
-#322 := (iff #657 true)
-#323 := [rewrite]: #322
-#320 := (iff #346 #657)
-#673 := (iff #355 false)
-#671 := (or false false)
-#672 := (iff #671 false)
-#332 := [rewrite]: #672
-#331 := (iff #355 #671)
-#336 := [monotonicity #681 #681]: #331
-#316 := [trans #336 #332]: #673
-#321 := [monotonicity #316]: #320
-#660 := [trans #321 #323]: #659
-#380 := [monotonicity #660 #378]: #379
-#275 := [trans #380 #665]: #381
-#624 := [monotonicity #275 #644 #628]: #630
-#626 := [trans #624 #631]: #632
-#679 := (iff #269 false)
-#680 := [rewrite]: #679
-#464 := [monotonicity #680 #626]: #462
-#621 := [trans #464 #618]: #619
-#623 := [monotonicity #680 #621]: #620
-#466 := [trans #623 #506]: #507
-#500 := [monotonicity #466]: #615
-#518 := [trans #500 #517]: #615
-#612 := [quant-inst #8 #8]: #611
-#511 := [mp #612 #518]: #516
-[unit-resolution #511 #47 #695]: false
-c12283e59631fb6e4322b03bf5696f9cba81cc99 314 0
-unsat
+#65 := [asserted]: #13
+#658 := (not #734)
+#560 := (or #658 #12)
+#377 := (* -1::Int 1::Int)
+#507 := (mod #377 #377)
+#714 := (+ #10 #507)
+#388 := (= #714 0::Int)
+#404 := (mod 1::Int 1::Int)
+#383 := (* -1::Int #404)
+#718 := (+ #10 #383)
+#720 := (= #718 0::Int)
+#398 := (<= 1::Int 0::Int)
+#401 := (>= 1::Int 0::Int)
+#402 := (or #401 #398)
+#403 := (not #402)
+#399 := (or #398 #398)
+#390 := (not #399)
+#400 := (or #390 #403)
+#389 := (if #400 #720 #388)
+#313 := (= 1::Int 0::Int)
+#721 := (if #313 #12 #389)
+#397 := (= #10 1::Int)
+#722 := (if #313 #397 #721)
+#655 := (or #658 #722)
+#659 := (iff #655 #560)
+#559 := (iff #560 #560)
+#561 := [rewrite]: #559
+#551 := (iff #722 #12)
+#666 := (if false #397 #12)
+#549 := (iff #666 #12)
+#550 := [rewrite]: #549
+#664 := (iff #722 #666)
+#663 := (iff #721 #12)
+#677 := (if false #12 #12)
+#509 := (iff #677 #12)
+#662 := [rewrite]: #509
+#506 := (iff #721 #677)
+#676 := (iff #389 #12)
+#1 := true
+#673 := (if true #12 #12)
+#669 := (iff #673 #12)
+#675 := [rewrite]: #669
+#674 := (iff #389 #673)
+#671 := (iff #388 #12)
+#528 := (= #714 #10)
+#409 := (+ #10 0::Int)
+#689 := (= #409 #10)
+#690 := [rewrite]: #689
+#686 := (= #714 #409)
+#685 := (= #507 0::Int)
+#682 := (mod -1::Int -1::Int)
+#679 := (= #682 0::Int)
+#684 := [rewrite]: #679
+#683 := (= #507 #682)
+#692 := (= #377 -1::Int)
+#681 := [rewrite]: #692
+#678 := [monotonicity #681 #681]: #683
+#680 := [trans #678 #684]: #685
+#527 := [monotonicity #680]: #686
+#529 := [trans #527 #690]: #528
+#672 := [monotonicity #529]: #671
+#691 := (iff #720 #12)
+#405 := (= #718 #10)
+#410 := (= #718 #409)
+#698 := (= #383 0::Int)
+#418 := (* -1::Int 0::Int)
+#697 := (= #418 0::Int)
+#694 := [rewrite]: #697
+#419 := (= #383 #418)
+#695 := (= #404 0::Int)
+#696 := [rewrite]: #695
+#693 := [monotonicity #696]: #419
+#408 := [trans #693 #694]: #698
+#411 := [monotonicity #408]: #410
+#687 := [trans #411 #690]: #405
+#688 := [monotonicity #687]: #691
+#425 := (iff #400 true)
+#707 := (or true false)
+#346 := (iff #707 true)
+#709 := [rewrite]: #346
+#423 := (iff #400 #707)
+#700 := (iff #403 false)
+#352 := (not true)
+#713 := (iff #352 false)
+#699 := [rewrite]: #713
+#712 := (iff #403 #352)
+#711 := (iff #402 true)
+#702 := (iff #402 #707)
+#719 := (iff #398 false)
+#725 := [rewrite]: #719
+#705 := (iff #401 true)
+#706 := [rewrite]: #705
+#708 := [monotonicity #706 #725]: #702
+#351 := [trans #708 #709]: #711
+#710 := [monotonicity #351]: #712
+#422 := [trans #710 #699]: #700
+#703 := (iff #390 true)
+#701 := (not false)
+#366 := (iff #701 true)
+#367 := [rewrite]: #366
+#364 := (iff #390 #701)
+#717 := (iff #399 false)
+#715 := (or false false)
+#716 := (iff #715 false)
+#376 := [rewrite]: #716
+#375 := (iff #399 #715)
+#380 := [monotonicity #725 #725]: #375
+#360 := [trans #380 #376]: #717
+#365 := [monotonicity #360]: #364
+#704 := [trans #365 #367]: #703
+#424 := [monotonicity #704 #422]: #423
+#319 := [trans #424 #709]: #425
+#668 := [monotonicity #319 #688 #672]: #674
+#670 := [trans #668 #675]: #676
+#723 := (iff #313 false)
+#724 := [rewrite]: #723
+#508 := [monotonicity #724 #670]: #506
+#665 := [trans #508 #662]: #663
+#667 := [monotonicity #724 #665]: #664
+#510 := [trans #667 #550]: #551
+#544 := [monotonicity #510]: #659
+#562 := [trans #544 #561]: #659
+#656 := [quant-inst #8 #8]: #655
+#555 := [mp #656 #562]: #560
+[unit-resolution #555 #65 #739]: false
+unsat
+0efd40b813a31e70f41afd259192cc78d55d0047 298 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -34685,107 +32401,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#690 := (pattern #38)
+#733 := (pattern #38)
 #12 := 0::Int
-#80 := -1::Int
-#84 := (* -1::Int #18)
-#81 := (* -1::Int #16)
-#103 := (mod #81 #84)
-#259 := (+ #38 #103)
-#260 := (= #259 0::Int)
+#68 := -1::Int
+#72 := (* -1::Int #18)
+#69 := (* -1::Int #16)
+#127 := (mod #69 #72)
+#242 := (+ #38 #127)
+#243 := (= #242 0::Int)
 #39 := (mod #16 #18)
-#256 := (* -1::Int #39)
-#257 := (+ #38 #256)
-#258 := (= #257 0::Int)
-#58 := (<= #18 0::Int)
-#150 := (>= #16 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #16 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#261 := (if #207 #258 #260)
-#255 := (= #38 0::Int)
+#239 := (* -1::Int #39)
+#240 := (+ #38 #239)
+#241 := (= #240 0::Int)
+#94 := (<= #18 0::Int)
+#101 := (>= #16 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #16 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#244 := (if #190 #241 #243)
+#238 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#262 := (if #20 #255 #261)
-#254 := (= #38 #16)
+#245 := (if #20 #238 #244)
+#237 := (= #38 #16)
 #21 := (= #18 0::Int)
-#263 := (if #21 #254 #262)
-#691 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #690) #263)
-#266 := (forall (vars (?v0 Int) (?v1 Int)) #263)
-#694 := (iff #266 #691)
-#692 := (iff #263 #263)
-#693 := [refl]: #692
-#695 := [quant-intro #693]: #694
-#109 := (* -1::Int #103)
-#223 := (if #207 #39 #109)
-#226 := (if #20 0::Int #223)
-#229 := (if #21 #16 #226)
-#232 := (= #38 #229)
-#235 := (forall (vars (?v0 Int) (?v1 Int)) #232)
-#267 := (iff #235 #266)
-#264 := (iff #232 #263)
-#265 := [rewrite]: #264
-#268 := [quant-intro #265]: #267
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#175 := (if #159 #39 #109)
-#178 := (if #20 0::Int #175)
-#181 := (if #21 #16 #178)
-#184 := (= #38 #181)
-#187 := (forall (vars (?v0 Int) (?v1 Int)) #184)
-#236 := (iff #187 #235)
-#233 := (iff #184 #232)
-#230 := (= #181 #229)
-#227 := (= #178 #226)
-#224 := (= #175 #223)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#225 := [monotonicity #209]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [quant-intro #234]: #236
-#149 := (~ #187 #187)
-#194 := (~ #184 #184)
-#148 := [refl]: #194
-#197 := [nnf-pos #148]: #149
-#65 := (<= 0::Int #16)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#114 := (if #77 #39 #109)
-#117 := (if #20 0::Int #114)
-#120 := (if #21 #16 #117)
-#123 := (= #38 #120)
-#126 := (forall (vars (?v0 Int) (?v1 Int)) #123)
-#188 := (iff #126 #187)
-#185 := (iff #123 #184)
-#182 := (= #120 #181)
-#179 := (= #117 #178)
-#176 := (= #114 #175)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#177 := [monotonicity #161]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [quant-intro #186]: #188
+#246 := (if #21 #237 #245)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #246)
+#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
+#737 := (iff #249 #734)
+#735 := (iff #246 #246)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#133 := (* -1::Int #127)
+#206 := (if #190 #39 #133)
+#209 := (if #20 0::Int #206)
+#212 := (if #21 #16 #209)
+#215 := (= #38 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#250 := (iff #218 #249)
+#247 := (iff #215 #246)
+#248 := [rewrite]: #247
+#251 := [quant-intro #248]: #250
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (if #108 #39 #133)
+#156 := (if #20 0::Int #153)
+#159 := (if #21 #16 #156)
+#162 := (= #38 #159)
+#165 := (forall (vars (?v0 Int) (?v1 Int)) #162)
+#219 := (iff #165 #218)
+#216 := (iff #162 #215)
+#213 := (= #159 #212)
+#210 := (= #156 #209)
+#207 := (= #153 #206)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#208 := [monotonicity #192]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#176 := (~ #165 #165)
+#175 := (~ #162 #162)
+#172 := [refl]: #175
+#177 := [nnf-pos #172]: #176
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -34801,209 +32490,220 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#127 := (iff #46 #126)
-#124 := (iff #45 #123)
-#121 := (= #44 #120)
-#118 := (= #43 #117)
-#115 := (= #42 #114)
-#112 := (= #41 #109)
-#106 := (- #103)
-#110 := (= #106 #109)
-#111 := [rewrite]: #110
-#107 := (= #41 #106)
-#104 := (= #40 #103)
-#85 := (= #31 #84)
-#86 := [rewrite]: #85
-#82 := (= #30 #81)
-#83 := [rewrite]: #82
-#105 := [monotonicity #83 #86]: #104
-#108 := [monotonicity #105]: #107
-#113 := [trans #108 #111]: #112
-#78 := (iff #28 #77)
-#75 := (iff #27 #74)
-#60 := (iff #24 #59)
-#61 := [rewrite]: #60
-#67 := (iff #26 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #25 #62)
-#56 := (iff #23 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#116 := [monotonicity #79 #113]: #115
-#119 := [monotonicity #116]: #118
-#122 := [monotonicity #119]: #121
-#125 := [monotonicity #122]: #124
-#128 := [quant-intro #125]: #127
-#50 := [asserted]: #46
-#129 := [mp #50 #128]: #126
-#190 := [mp #129 #189]: #187
-#198 := [mp~ #190 #197]: #187
-#238 := [mp #198 #237]: #235
-#269 := [mp #238 #268]: #266
-#696 := [mp #269 #695]: #691
+#168 := (iff #46 #165)
+#138 := (if #28 #39 #133)
+#141 := (if #20 0::Int #138)
+#144 := (if #21 #16 #141)
+#147 := (= #38 #144)
+#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #28 #108)
+#106 := (iff #27 #105)
+#96 := (iff #24 #95)
+#97 := [rewrite]: #96
+#103 := (iff #26 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #25 #98)
+#92 := (iff #23 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #46 #150)
+#148 := (iff #45 #147)
+#145 := (= #44 #144)
+#142 := (= #43 #141)
+#139 := (= #42 #138)
+#136 := (= #41 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #41 #130)
+#128 := (= #40 #127)
+#73 := (= #31 #72)
+#74 := [rewrite]: #73
+#70 := (= #30 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #46
+#170 := [mp #126 #169]: #165
+#173 := [mp~ #170 #177]: #165
+#221 := [mp #173 #220]: #218
+#252 := [mp #221 #251]: #249
+#739 := [mp #252 #738]: #734
 #10 := 1::Int
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
 #11 := (f3 #9 1::Int)
 #13 := (= #11 0::Int)
 #14 := (not #13)
-#48 := [asserted]: #14
-#520 := (not #691)
-#521 := (or #520 #13)
-#345 := (* -1::Int 1::Int)
-#671 := (* -1::Int 3::Int)
-#346 := (mod #671 #345)
-#678 := (+ #11 #346)
-#679 := (= #678 0::Int)
-#675 := (mod 3::Int 1::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 1::Int 0::Int)
-#360 := (>= 3::Int 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#356 := (<= 3::Int 0::Int)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#680 := (if #340 #464 #679)
-#355 := (= 3::Int 0::Int)
-#681 := (if #355 #13 #680)
-#354 := (= #11 3::Int)
-#270 := (= 1::Int 0::Int)
-#676 := (if #270 #354 #681)
-#522 := (or #520 #676)
-#524 := (iff #522 #521)
-#614 := (iff #521 #521)
-#618 := [rewrite]: #614
-#519 := (iff #676 #13)
-#613 := (if false #354 #13)
-#516 := (iff #613 #13)
-#518 := [rewrite]: #516
-#616 := (iff #676 #613)
-#517 := (iff #681 #13)
-#506 := (if false #13 #13)
-#467 := (iff #506 #13)
-#615 := [rewrite]: #467
-#507 := (iff #681 #506)
-#621 := (iff #680 #13)
-#1 := true
-#466 := (if true #13 #13)
-#622 := (iff #466 #13)
-#623 := [rewrite]: #622
-#619 := (iff #680 #466)
-#463 := (iff #679 #13)
-#627 := (= #678 #11)
-#648 := (+ #11 0::Int)
-#638 := (= #648 #11)
-#639 := [rewrite]: #638
-#632 := (= #678 #648)
-#625 := (= #346 0::Int)
-#642 := -3::Int
-#486 := (mod -3::Int -1::Int)
-#630 := (= #486 0::Int)
-#631 := [rewrite]: #630
-#628 := (= #346 #486)
-#484 := (= #345 -1::Int)
-#485 := [rewrite]: #484
-#637 := (= #671 -3::Int)
-#643 := [rewrite]: #637
-#629 := [monotonicity #643 #485]: #628
-#626 := [trans #629 #631]: #625
-#633 := [monotonicity #626]: #632
-#634 := [trans #633 #639]: #627
-#465 := [monotonicity #634]: #463
-#636 := (iff #464 #13)
-#640 := (= #334 #11)
-#645 := (= #334 #648)
-#362 := (= #677 0::Int)
-#366 := (* -1::Int 0::Int)
-#646 := (= #366 0::Int)
-#647 := [rewrite]: #646
-#367 := (= #677 #366)
-#655 := (= #675 0::Int)
-#365 := [rewrite]: #655
-#368 := [monotonicity #365]: #367
-#644 := [trans #368 #647]: #362
-#649 := [monotonicity #644]: #645
-#635 := [trans #649 #639]: #640
-#641 := [monotonicity #635]: #636
-#654 := (iff #340 true)
-#309 := (or true false)
-#670 := (iff #309 true)
-#656 := [rewrite]: #670
-#376 := (iff #340 #309)
-#653 := (iff #361 false)
-#380 := (not true)
-#276 := (iff #380 false)
-#652 := [rewrite]: #276
-#381 := (iff #361 #380)
-#657 := (iff #357 true)
-#669 := (iff #357 #309)
-#674 := (iff #347 false)
-#317 := [rewrite]: #674
-#668 := (iff #360 true)
-#308 := [rewrite]: #668
-#667 := [monotonicity #308 #317]: #669
-#379 := [trans #667 #656]: #657
-#382 := [monotonicity #379]: #381
-#375 := [trans #382 #652]: #653
-#303 := (iff #359 true)
-#662 := (not false)
-#659 := (iff #662 true)
-#665 := [rewrite]: #659
-#663 := (iff #359 #662)
-#660 := (iff #358 false)
-#658 := (or false false)
-#323 := (iff #658 false)
-#324 := [rewrite]: #323
-#321 := (iff #358 #658)
-#673 := (iff #356 false)
-#333 := [rewrite]: #673
-#322 := [monotonicity #333 #317]: #321
-#661 := [trans #322 #324]: #660
-#664 := [monotonicity #661]: #663
-#666 := [trans #664 #665]: #303
-#650 := [monotonicity #666 #375]: #376
-#651 := [trans #650 #656]: #654
-#620 := [monotonicity #651 #641 #465]: #619
-#624 := [trans #620 #623]: #621
-#332 := (iff #355 false)
-#337 := [rewrite]: #332
-#508 := [monotonicity #337 #624]: #507
-#612 := [trans #508 #615]: #517
-#682 := (iff #270 false)
-#672 := [rewrite]: #682
-#501 := [monotonicity #672 #612]: #616
-#512 := [trans #501 #518]: #519
-#617 := [monotonicity #512]: #524
-#605 := [trans #617 #618]: #524
-#523 := [quant-inst #8 #10]: #522
-#607 := [mp #523 #605]: #521
-[unit-resolution #607 #48 #696]: false
-13a0ef36b0a684e9e6fa65ca4317572de1110ac0 310 0
-unsat
+#66 := [asserted]: #14
+#563 := (not #734)
+#564 := (or #563 #13)
+#388 := (* -1::Int 1::Int)
+#714 := (* -1::Int 3::Int)
+#389 := (mod #714 #388)
+#721 := (+ #11 #389)
+#722 := (= #721 0::Int)
+#718 := (mod 3::Int 1::Int)
+#720 := (* -1::Int #718)
+#377 := (+ #11 #720)
+#507 := (= #377 0::Int)
+#390 := (<= 1::Int 0::Int)
+#403 := (>= 3::Int 0::Int)
+#400 := (or #403 #390)
+#404 := (not #400)
+#399 := (<= 3::Int 0::Int)
+#401 := (or #399 #390)
+#402 := (not #401)
+#383 := (or #402 #404)
+#723 := (if #383 #507 #722)
+#398 := (= 3::Int 0::Int)
+#724 := (if #398 #13 #723)
+#397 := (= #11 3::Int)
+#313 := (= 1::Int 0::Int)
+#719 := (if #313 #397 #724)
+#565 := (or #563 #719)
+#567 := (iff #565 #564)
+#657 := (iff #564 #564)
+#661 := [rewrite]: #657
+#562 := (iff #719 #13)
+#656 := (if false #397 #13)
+#559 := (iff #656 #13)
+#561 := [rewrite]: #559
+#659 := (iff #719 #656)
+#560 := (iff #724 #13)
+#549 := (if false #13 #13)
+#510 := (iff #549 #13)
+#658 := [rewrite]: #510
+#550 := (iff #724 #549)
+#664 := (iff #723 #13)
+#1 := true
+#509 := (if true #13 #13)
+#665 := (iff #509 #13)
+#666 := [rewrite]: #665
+#662 := (iff #723 #509)
+#506 := (iff #722 #13)
+#670 := (= #721 #11)
+#691 := (+ #11 0::Int)
+#681 := (= #691 #11)
+#682 := [rewrite]: #681
+#675 := (= #721 #691)
+#668 := (= #389 0::Int)
+#685 := -3::Int
+#529 := (mod -3::Int -1::Int)
+#673 := (= #529 0::Int)
+#674 := [rewrite]: #673
+#671 := (= #389 #529)
+#527 := (= #388 -1::Int)
+#528 := [rewrite]: #527
+#680 := (= #714 -3::Int)
+#686 := [rewrite]: #680
+#672 := [monotonicity #686 #528]: #671
+#669 := [trans #672 #674]: #668
+#676 := [monotonicity #669]: #675
+#677 := [trans #676 #682]: #670
+#508 := [monotonicity #677]: #506
+#679 := (iff #507 #13)
+#683 := (= #377 #11)
+#688 := (= #377 #691)
+#405 := (= #720 0::Int)
+#409 := (* -1::Int 0::Int)
+#689 := (= #409 0::Int)
+#690 := [rewrite]: #689
+#410 := (= #720 #409)
+#698 := (= #718 0::Int)
+#408 := [rewrite]: #698
+#411 := [monotonicity #408]: #410
+#687 := [trans #411 #690]: #405
+#692 := [monotonicity #687]: #688
+#678 := [trans #692 #682]: #683
+#684 := [monotonicity #678]: #679
+#697 := (iff #383 true)
+#352 := (or true false)
+#713 := (iff #352 true)
+#699 := [rewrite]: #713
+#419 := (iff #383 #352)
+#696 := (iff #404 false)
+#423 := (not true)
+#319 := (iff #423 false)
+#695 := [rewrite]: #319
+#424 := (iff #404 #423)
+#700 := (iff #400 true)
+#712 := (iff #400 #352)
+#717 := (iff #390 false)
+#360 := [rewrite]: #717
+#711 := (iff #403 true)
+#351 := [rewrite]: #711
+#710 := [monotonicity #351 #360]: #712
+#422 := [trans #710 #699]: #700
+#425 := [monotonicity #422]: #424
+#418 := [trans #425 #695]: #696
+#346 := (iff #402 true)
+#705 := (not false)
+#702 := (iff #705 true)
+#708 := [rewrite]: #702
+#706 := (iff #402 #705)
+#703 := (iff #401 false)
+#701 := (or false false)
+#366 := (iff #701 false)
+#367 := [rewrite]: #366
+#364 := (iff #401 #701)
+#716 := (iff #399 false)
+#376 := [rewrite]: #716
+#365 := [monotonicity #376 #360]: #364
+#704 := [trans #365 #367]: #703
+#707 := [monotonicity #704]: #706
+#709 := [trans #707 #708]: #346
+#693 := [monotonicity #709 #418]: #419
+#694 := [trans #693 #699]: #697
+#663 := [monotonicity #694 #684 #508]: #662
+#667 := [trans #663 #666]: #664
+#375 := (iff #398 false)
+#380 := [rewrite]: #375
+#551 := [monotonicity #380 #667]: #550
+#655 := [trans #551 #658]: #560
+#725 := (iff #313 false)
+#715 := [rewrite]: #725
+#544 := [monotonicity #715 #655]: #659
+#555 := [trans #544 #561]: #562
+#660 := [monotonicity #555]: #567
+#648 := [trans #660 #661]: #567
+#566 := [quant-inst #8 #10]: #565
+#650 := [mp #566 #648]: #564
+[unit-resolution #650 #66 #739]: false
+unsat
+1cff7727da7921a7ced79f03edcd1b205ac8b4b2 294 0
 #2 := false
 #12 := 0::Int
 decl f6 :: Int
 #8 := f6
-#360 := (>= f6 0::Int)
-#666 := (not #360)
-#356 := (<= f6 0::Int)
-#323 := (not #356)
-#309 := (or #323 #666)
-#621 := (not #309)
-#80 := -1::Int
-#671 := (* -1::Int f6)
-#646 := (mod #671 -1::Int)
+#404 := (>= f6 0::Int)
+#710 := (not #404)
+#400 := (<= f6 0::Int)
+#367 := (not #400)
+#353 := (or #367 #710)
+#665 := (not #353)
+#68 := -1::Int
+#715 := (* -1::Int f6)
+#690 := (mod #715 -1::Int)
 decl f3 :: (-> S2 Int Int)
 #10 := 1::Int
 decl f4 :: (-> S3 Int S2)
@@ -35011,115 +32711,88 @@
 #7 := f5
 #9 := (f4 f5 f6)
 #11 := (f3 #9 1::Int)
-#644 := (+ #11 #646)
-#649 := (= #644 0::Int)
+#688 := (+ #11 #690)
+#693 := (= #688 0::Int)
 #13 := (= #11 0::Int)
-#640 := (if #309 #13 #649)
-#355 := (= f6 0::Int)
-#641 := (if #355 #13 #640)
+#684 := (if #353 #13 #693)
+#399 := (= f6 0::Int)
+#685 := (if #399 #13 #684)
 #18 := (:var 0 Int)
 #16 := (:var 1 Int)
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#690 := (pattern #38)
-#84 := (* -1::Int #18)
-#81 := (* -1::Int #16)
-#103 := (mod #81 #84)
-#259 := (+ #38 #103)
-#260 := (= #259 0::Int)
+#734 := (pattern #38)
+#72 := (* -1::Int #18)
+#69 := (* -1::Int #16)
+#127 := (mod #69 #72)
+#242 := (+ #38 #127)
+#243 := (= #242 0::Int)
 #39 := (mod #16 #18)
-#256 := (* -1::Int #39)
-#257 := (+ #38 #256)
-#258 := (= #257 0::Int)
-#58 := (<= #18 0::Int)
-#150 := (>= #16 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #16 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#261 := (if #207 #258 #260)
-#255 := (= #38 0::Int)
+#239 := (* -1::Int #39)
+#240 := (+ #38 #239)
+#241 := (= #240 0::Int)
+#94 := (<= #18 0::Int)
+#101 := (>= #16 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #16 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#244 := (if #190 #241 #243)
+#238 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#262 := (if #20 #255 #261)
-#254 := (= #38 #16)
+#245 := (if #20 #238 #244)
+#237 := (= #38 #16)
 #21 := (= #18 0::Int)
-#263 := (if #21 #254 #262)
-#691 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #690) #263)
-#266 := (forall (vars (?v0 Int) (?v1 Int)) #263)
-#694 := (iff #266 #691)
-#692 := (iff #263 #263)
-#693 := [refl]: #692
-#695 := [quant-intro #693]: #694
-#109 := (* -1::Int #103)
-#223 := (if #207 #39 #109)
-#226 := (if #20 0::Int #223)
-#229 := (if #21 #16 #226)
-#232 := (= #38 #229)
-#235 := (forall (vars (?v0 Int) (?v1 Int)) #232)
-#267 := (iff #235 #266)
-#264 := (iff #232 #263)
-#265 := [rewrite]: #264
-#268 := [quant-intro #265]: #267
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#175 := (if #159 #39 #109)
-#178 := (if #20 0::Int #175)
-#181 := (if #21 #16 #178)
-#184 := (= #38 #181)
-#187 := (forall (vars (?v0 Int) (?v1 Int)) #184)
-#236 := (iff #187 #235)
-#233 := (iff #184 #232)
-#230 := (= #181 #229)
-#227 := (= #178 #226)
-#224 := (= #175 #223)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#225 := [monotonicity #209]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [quant-intro #234]: #236
-#149 := (~ #187 #187)
-#192 := (~ #184 #184)
-#148 := [refl]: #192
-#197 := [nnf-pos #148]: #149
-#65 := (<= 0::Int #16)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#114 := (if #77 #39 #109)
-#117 := (if #20 0::Int #114)
-#120 := (if #21 #16 #117)
-#123 := (= #38 #120)
-#126 := (forall (vars (?v0 Int) (?v1 Int)) #123)
-#188 := (iff #126 #187)
-#185 := (iff #123 #184)
-#182 := (= #120 #181)
-#179 := (= #117 #178)
-#176 := (= #114 #175)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#177 := [monotonicity #161]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [quant-intro #186]: #188
+#246 := (if #21 #237 #245)
+#735 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #734) #246)
+#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
+#738 := (iff #249 #735)
+#736 := (iff #246 #246)
+#737 := [refl]: #736
+#739 := [quant-intro #737]: #738
+#133 := (* -1::Int #127)
+#206 := (if #190 #39 #133)
+#209 := (if #20 0::Int #206)
+#212 := (if #21 #16 #209)
+#215 := (= #38 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#250 := (iff #218 #249)
+#247 := (iff #215 #246)
+#248 := [rewrite]: #247
+#251 := [quant-intro #248]: #250
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (if #108 #39 #133)
+#156 := (if #20 0::Int #153)
+#159 := (if #21 #16 #156)
+#162 := (= #38 #159)
+#165 := (forall (vars (?v0 Int) (?v1 Int)) #162)
+#219 := (iff #165 #218)
+#216 := (iff #162 #215)
+#213 := (= #159 #212)
+#210 := (= #156 #209)
+#207 := (= #153 #206)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#208 := [monotonicity #192]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#176 := (~ #165 #165)
+#175 := (~ #162 #162)
+#172 := [refl]: #175
+#177 := [nnf-pos #172]: #176
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -35135,173 +32808,184 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#127 := (iff #46 #126)
-#124 := (iff #45 #123)
-#121 := (= #44 #120)
-#118 := (= #43 #117)
-#115 := (= #42 #114)
-#112 := (= #41 #109)
-#106 := (- #103)
-#110 := (= #106 #109)
-#111 := [rewrite]: #110
-#107 := (= #41 #106)
-#104 := (= #40 #103)
-#85 := (= #31 #84)
-#86 := [rewrite]: #85
-#82 := (= #30 #81)
-#83 := [rewrite]: #82
-#105 := [monotonicity #83 #86]: #104
-#108 := [monotonicity #105]: #107
-#113 := [trans #108 #111]: #112
-#78 := (iff #28 #77)
-#75 := (iff #27 #74)
-#60 := (iff #24 #59)
-#61 := [rewrite]: #60
-#67 := (iff #26 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #25 #62)
-#56 := (iff #23 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#116 := [monotonicity #79 #113]: #115
-#119 := [monotonicity #116]: #118
-#122 := [monotonicity #119]: #121
-#125 := [monotonicity #122]: #124
-#128 := [quant-intro #125]: #127
-#50 := [asserted]: #46
-#129 := [mp #50 #128]: #126
-#190 := [mp #129 #189]: #187
-#198 := [mp~ #190 #197]: #187
-#238 := [mp #198 #237]: #235
-#269 := [mp #238 #268]: #266
-#696 := [mp #269 #695]: #691
-#631 := (not #691)
-#625 := (or #631 #641)
-#345 := (* -1::Int 1::Int)
-#346 := (mod #671 #345)
-#678 := (+ #11 #346)
-#679 := (= #678 0::Int)
-#675 := (mod f6 1::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 1::Int 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#680 := (if #340 #464 #679)
-#681 := (if #355 #13 #680)
-#354 := (= #11 f6)
-#270 := (= 1::Int 0::Int)
-#676 := (if #270 #354 #681)
-#626 := (or #631 #676)
-#633 := (iff #626 #625)
-#634 := (iff #625 #625)
-#463 := [rewrite]: #634
-#629 := (iff #676 #641)
-#643 := (if false #354 #641)
-#486 := (iff #643 #641)
-#628 := [rewrite]: #486
-#484 := (iff #676 #643)
-#642 := (iff #681 #641)
-#635 := (iff #680 #640)
-#638 := (iff #679 #649)
-#648 := (= #678 #644)
-#647 := (= #346 #646)
-#367 := (= #345 -1::Int)
-#368 := [rewrite]: #367
-#362 := [monotonicity #368]: #647
-#645 := [monotonicity #362]: #648
-#639 := [monotonicity #645]: #638
-#365 := (iff #464 #13)
-#651 := (= #334 #11)
-#653 := (+ #11 0::Int)
-#650 := (= #653 #11)
-#654 := [rewrite]: #650
-#375 := (= #334 #653)
-#276 := (= #677 0::Int)
-#657 := (* -1::Int 0::Int)
-#381 := (= #657 0::Int)
-#382 := [rewrite]: #381
-#379 := (= #677 #657)
-#670 := (= #675 0::Int)
-#656 := [rewrite]: #670
-#380 := [monotonicity #656]: #379
-#652 := [trans #380 #382]: #276
-#376 := [monotonicity #652]: #375
-#655 := [trans #376 #654]: #651
-#366 := [monotonicity #655]: #365
-#669 := (iff #340 #309)
-#668 := (iff #361 #666)
-#665 := (iff #357 #360)
-#661 := (or #360 false)
-#664 := (iff #661 #360)
-#659 := [rewrite]: #664
-#662 := (iff #357 #661)
-#332 := (iff #347 false)
-#337 := [rewrite]: #332
-#663 := [monotonicity #337]: #662
-#303 := [trans #663 #659]: #665
-#308 := [monotonicity #303]: #668
-#324 := (iff #359 #323)
-#321 := (iff #358 #356)
-#673 := (or #356 false)
-#317 := (iff #673 #356)
-#658 := [rewrite]: #317
-#333 := (iff #358 #673)
-#674 := [monotonicity #337]: #333
-#322 := [trans #674 #658]: #321
-#660 := [monotonicity #322]: #324
-#667 := [monotonicity #660 #308]: #669
-#636 := [monotonicity #667 #366 #639]: #635
-#637 := [monotonicity #636]: #642
-#682 := (iff #270 false)
-#672 := [rewrite]: #682
-#485 := [monotonicity #672 #637]: #484
-#630 := [trans #485 #628]: #629
-#627 := [monotonicity #630]: #633
-#465 := [trans #627 #463]: #633
-#632 := [quant-inst #8 #10]: #626
-#466 := [mp #632 #465]: #625
-#563 := [unit-resolution #466 #696]: #641
-#520 := (not #355)
-#512 := (not #641)
-#564 := (or #512 #520)
+#168 := (iff #46 #165)
+#138 := (if #28 #39 #133)
+#141 := (if #20 0::Int #138)
+#144 := (if #21 #16 #141)
+#147 := (= #38 #144)
+#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #28 #108)
+#106 := (iff #27 #105)
+#96 := (iff #24 #95)
+#97 := [rewrite]: #96
+#103 := (iff #26 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #25 #98)
+#92 := (iff #23 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #46 #150)
+#148 := (iff #45 #147)
+#145 := (= #44 #144)
+#142 := (= #43 #141)
+#139 := (= #42 #138)
+#136 := (= #41 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #41 #130)
+#128 := (= #40 #127)
+#73 := (= #31 #72)
+#74 := [rewrite]: #73
+#70 := (= #30 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #46
+#170 := [mp #126 #169]: #165
+#173 := [mp~ #170 #177]: #165
+#221 := [mp #173 #220]: #218
+#252 := [mp #221 #251]: #249
+#740 := [mp #252 #739]: #735
+#675 := (not #735)
+#669 := (or #675 #685)
+#389 := (* -1::Int 1::Int)
+#390 := (mod #715 #389)
+#722 := (+ #11 #390)
+#723 := (= #722 0::Int)
+#719 := (mod f6 1::Int)
+#721 := (* -1::Int #719)
+#378 := (+ #11 #721)
+#508 := (= #378 0::Int)
+#391 := (<= 1::Int 0::Int)
+#401 := (or #404 #391)
+#405 := (not #401)
+#402 := (or #400 #391)
+#403 := (not #402)
+#384 := (or #403 #405)
+#724 := (if #384 #508 #723)
+#725 := (if #399 #13 #724)
+#398 := (= #11 f6)
+#314 := (= 1::Int 0::Int)
+#720 := (if #314 #398 #725)
+#670 := (or #675 #720)
+#677 := (iff #670 #669)
+#678 := (iff #669 #669)
+#507 := [rewrite]: #678
+#673 := (iff #720 #685)
+#687 := (if false #398 #685)
+#530 := (iff #687 #685)
+#672 := [rewrite]: #530
+#528 := (iff #720 #687)
+#686 := (iff #725 #685)
+#679 := (iff #724 #684)
+#682 := (iff #723 #693)
+#692 := (= #722 #688)
+#691 := (= #390 #690)
+#411 := (= #389 -1::Int)
+#412 := [rewrite]: #411
+#406 := [monotonicity #412]: #691
+#689 := [monotonicity #406]: #692
+#683 := [monotonicity #689]: #682
+#409 := (iff #508 #13)
+#695 := (= #378 #11)
+#697 := (+ #11 0::Int)
+#694 := (= #697 #11)
+#698 := [rewrite]: #694
+#419 := (= #378 #697)
+#320 := (= #721 0::Int)
+#701 := (* -1::Int 0::Int)
+#425 := (= #701 0::Int)
+#426 := [rewrite]: #425
+#423 := (= #721 #701)
+#714 := (= #719 0::Int)
+#700 := [rewrite]: #714
+#424 := [monotonicity #700]: #423
+#696 := [trans #424 #426]: #320
+#420 := [monotonicity #696]: #419
+#699 := [trans #420 #698]: #695
+#410 := [monotonicity #699]: #409
+#713 := (iff #384 #353)
+#712 := (iff #405 #710)
+#709 := (iff #401 #404)
+#705 := (or #404 false)
+#708 := (iff #705 #404)
+#703 := [rewrite]: #708
+#706 := (iff #401 #705)
+#376 := (iff #391 false)
+#381 := [rewrite]: #376
+#707 := [monotonicity #381]: #706
+#347 := [trans #707 #703]: #709
+#352 := [monotonicity #347]: #712
+#368 := (iff #403 #367)
+#365 := (iff #402 #400)
+#717 := (or #400 false)
+#361 := (iff #717 #400)
+#702 := [rewrite]: #361
+#377 := (iff #402 #717)
+#718 := [monotonicity #381]: #377
+#366 := [trans #718 #702]: #365
+#704 := [monotonicity #366]: #368
+#711 := [monotonicity #704 #352]: #713
+#680 := [monotonicity #711 #410 #683]: #679
+#681 := [monotonicity #680]: #686
+#726 := (iff #314 false)
+#716 := [rewrite]: #726
+#529 := [monotonicity #716 #681]: #528
+#674 := [trans #529 #672]: #673
+#671 := [monotonicity #674]: #677
+#509 := [trans #671 #507]: #677
+#676 := [quant-inst #8 #10]: #670
+#510 := [mp #676 #509]: #669
+#607 := [unit-resolution #510 #740]: #685
+#564 := (not #399)
+#556 := (not #685)
+#608 := (or #556 #564)
 #14 := (not #13)
-#48 := [asserted]: #14
-#521 := (or #512 #520 #13)
-#522 := [def-axiom]: #521
-#565 := [unit-resolution #522 #48]: #564
-#560 := [unit-resolution #565 #563]: #520
-#523 := (or #512 #355 #640)
-#524 := [def-axiom]: #523
-#566 := [unit-resolution #524 #560 #563]: #640
-#467 := (not #640)
-#552 := (or #467 #621)
-#615 := (or #467 #621 #13)
-#517 := [def-axiom]: #615
-#548 := [unit-resolution #517 #48]: #552
-#549 := [unit-resolution #548 #566]: #621
-#622 := (or #309 #360)
-#623 := [def-axiom]: #622
-#550 := [unit-resolution #623 #549]: #360
-#619 := (or #309 #356)
-#620 := [def-axiom]: #619
-#553 := [unit-resolution #620 #549]: #356
-#554 := (or #355 #323 #666)
-#555 := [th-lemma arith triangle-eq]: #554
-[unit-resolution #555 #560 #553 #550]: false
-1408c1de56e4c2eda00e3072d30651f219cea591 315 0
-unsat
+#66 := [asserted]: #14
+#565 := (or #556 #564 #13)
+#566 := [def-axiom]: #565
+#609 := [unit-resolution #566 #66]: #608
+#604 := [unit-resolution #609 #607]: #564
+#567 := (or #556 #399 #684)
+#568 := [def-axiom]: #567
+#610 := [unit-resolution #568 #604 #607]: #684
+#511 := (not #684)
+#596 := (or #511 #665)
+#659 := (or #511 #665 #13)
+#561 := [def-axiom]: #659
+#592 := [unit-resolution #561 #66]: #596
+#593 := [unit-resolution #592 #610]: #665
+#666 := (or #353 #404)
+#667 := [def-axiom]: #666
+#594 := [unit-resolution #667 #593]: #404
+#663 := (or #353 #400)
+#664 := [def-axiom]: #663
+#597 := [unit-resolution #664 #593]: #400
+#598 := (or #399 #367 #710)
+#599 := [th-lemma arith triangle-eq]: #598
+[unit-resolution #599 #604 #597 #594]: false
+unsat
+d419bb3e51a007e8e5acdc900beee4c77bd2d9be 299 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -35311,107 +32995,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#702 := (pattern #38)
+#746 := (pattern #38)
 #8 := 0::Int
-#54 := -1::Int
-#96 := (* -1::Int #18)
-#93 := (* -1::Int #16)
-#115 := (mod #93 #96)
-#271 := (+ #38 #115)
-#272 := (= #271 0::Int)
+#67 := -1::Int
+#84 := (* -1::Int #18)
+#80 := (* -1::Int #16)
+#139 := (mod #80 #84)
+#254 := (+ #38 #139)
+#255 := (= #254 0::Int)
 #39 := (mod #16 #18)
-#268 := (* -1::Int #39)
-#269 := (+ #38 #268)
-#270 := (= #269 0::Int)
-#71 := (<= #18 0::Int)
-#162 := (>= #16 0::Int)
-#215 := (or #162 #71)
-#216 := (not #215)
-#67 := (<= #16 0::Int)
-#211 := (or #67 #71)
-#212 := (not #211)
-#219 := (or #212 #216)
-#273 := (if #219 #270 #272)
-#267 := (= #38 0::Int)
+#251 := (* -1::Int #39)
+#252 := (+ #38 #251)
+#253 := (= #252 0::Int)
+#106 := (<= #18 0::Int)
+#113 := (>= #16 0::Int)
+#198 := (or #113 #106)
+#199 := (not #198)
+#102 := (<= #16 0::Int)
+#196 := (or #102 #106)
+#197 := (not #196)
+#202 := (or #197 #199)
+#256 := (if #202 #253 #255)
+#250 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#274 := (if #20 #267 #273)
-#266 := (= #38 #16)
+#257 := (if #20 #250 #256)
+#249 := (= #38 #16)
 #21 := (= #18 0::Int)
-#275 := (if #21 #266 #274)
-#703 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #702) #275)
-#278 := (forall (vars (?v0 Int) (?v1 Int)) #275)
-#706 := (iff #278 #703)
-#704 := (iff #275 #275)
-#705 := [refl]: #704
-#707 := [quant-intro #705]: #706
-#121 := (* -1::Int #115)
-#235 := (if #219 #39 #121)
-#238 := (if #20 0::Int #235)
-#241 := (if #21 #16 #238)
-#244 := (= #38 #241)
-#247 := (forall (vars (?v0 Int) (?v1 Int)) #244)
-#279 := (iff #247 #278)
-#276 := (iff #244 #275)
-#277 := [rewrite]: #276
-#280 := [quant-intro #277]: #279
-#72 := (not #71)
-#165 := (not #162)
-#168 := (and #165 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#171 := (or #75 #168)
-#187 := (if #171 #39 #121)
-#190 := (if #20 0::Int #187)
-#193 := (if #21 #16 #190)
-#196 := (= #38 #193)
-#199 := (forall (vars (?v0 Int) (?v1 Int)) #196)
-#248 := (iff #199 #247)
-#245 := (iff #196 #244)
-#242 := (= #193 #241)
-#239 := (= #190 #238)
-#236 := (= #187 #235)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#218 := [rewrite]: #217
-#213 := (iff #75 #212)
-#214 := [rewrite]: #213
-#221 := [monotonicity #214 #218]: #220
-#237 := [monotonicity #221]: #236
-#240 := [monotonicity #237]: #239
-#243 := [monotonicity #240]: #242
-#246 := [monotonicity #243]: #245
-#249 := [quant-intro #246]: #248
-#208 := (~ #199 #199)
-#204 := (~ #196 #196)
-#207 := [refl]: #204
-#209 := [nnf-pos #207]: #208
-#78 := (<= 0::Int #16)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#126 := (if #90 #39 #121)
-#129 := (if #20 0::Int #126)
-#132 := (if #21 #16 #129)
-#135 := (= #38 #132)
-#138 := (forall (vars (?v0 Int) (?v1 Int)) #135)
-#200 := (iff #138 #199)
-#197 := (iff #135 #196)
-#194 := (= #132 #193)
-#191 := (= #129 #190)
-#188 := (= #126 #187)
-#172 := (iff #90 #171)
-#169 := (iff #87 #168)
-#166 := (iff #79 #165)
-#163 := (iff #78 #162)
-#164 := [rewrite]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#189 := [monotonicity #173]: #188
-#192 := [monotonicity #189]: #191
-#195 := [monotonicity #192]: #194
-#198 := [monotonicity #195]: #197
-#201 := [quant-intro #198]: #200
+#258 := (if #21 #249 #257)
+#747 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #746) #258)
+#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
+#750 := (iff #261 #747)
+#748 := (iff #258 #258)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#145 := (* -1::Int #139)
+#218 := (if #202 #39 #145)
+#221 := (if #20 0::Int #218)
+#224 := (if #21 #16 #221)
+#227 := (= #38 #224)
+#230 := (forall (vars (?v0 Int) (?v1 Int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#107 := (not #106)
+#114 := (not #113)
+#117 := (and #114 #107)
+#103 := (not #102)
+#110 := (and #103 #107)
+#120 := (or #110 #117)
+#165 := (if #120 #39 #145)
+#168 := (if #20 0::Int #165)
+#171 := (if #21 #16 #168)
+#174 := (= #38 #171)
+#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
+#231 := (iff #177 #230)
+#228 := (iff #174 #227)
+#225 := (= #171 #224)
+#222 := (= #168 #221)
+#219 := (= #165 #218)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#201 := [rewrite]: #200
+#190 := (iff #110 #197)
+#191 := [rewrite]: #190
+#204 := [monotonicity #191 #201]: #203
+#220 := [monotonicity #204]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#188 := (~ #177 #177)
+#187 := (~ #174 #174)
+#184 := [refl]: #187
+#189 := [nnf-pos #184]: #188
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -35427,197 +33084,208 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#139 := (iff #46 #138)
-#136 := (iff #45 #135)
-#133 := (= #44 #132)
-#130 := (= #43 #129)
-#127 := (= #42 #126)
-#124 := (= #41 #121)
-#118 := (- #115)
-#122 := (= #118 #121)
-#123 := [rewrite]: #122
-#119 := (= #41 #118)
-#116 := (= #40 #115)
-#97 := (= #31 #96)
-#98 := [rewrite]: #97
-#94 := (= #30 #93)
-#95 := [rewrite]: #94
-#117 := [monotonicity #95 #98]: #116
-#120 := [monotonicity #117]: #119
-#125 := [trans #120 #123]: #124
-#91 := (iff #28 #90)
-#88 := (iff #27 #87)
-#73 := (iff #24 #72)
-#74 := [rewrite]: #73
-#80 := (iff #26 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
+#180 := (iff #46 #177)
+#150 := (if #28 #39 #145)
+#153 := (if #20 0::Int #150)
+#156 := (if #21 #16 #153)
+#159 := (= #38 #156)
+#162 := (forall (vars (?v0 Int) (?v1 Int)) #159)
+#178 := (iff #162 #177)
+#175 := (iff #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#166 := (= #150 #165)
+#121 := (iff #28 #120)
+#118 := (iff #27 #117)
+#108 := (iff #24 #107)
+#109 := [rewrite]: #108
+#115 := (iff #26 #114)
+#116 := [rewrite]: #115
+#119 := [monotonicity #116 #109]: #118
+#111 := (iff #25 #110)
+#104 := (iff #23 #103)
+#105 := [rewrite]: #104
+#112 := [monotonicity #105 #109]: #111
+#122 := [monotonicity #112 #119]: #121
+#167 := [monotonicity #122]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [quant-intro #176]: #178
+#163 := (iff #46 #162)
+#160 := (iff #45 #159)
+#157 := (= #44 #156)
+#154 := (= #43 #153)
+#151 := (= #42 #150)
+#148 := (= #41 #145)
+#142 := (- #139)
+#146 := (= #142 #145)
+#147 := [rewrite]: #146
+#143 := (= #41 #142)
+#140 := (= #40 #139)
+#85 := (= #31 #84)
+#86 := [rewrite]: #85
+#82 := (= #30 #80)
 #83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #25 #75)
-#69 := (iff #23 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#128 := [monotonicity #92 #125]: #127
-#131 := [monotonicity #128]: #130
-#134 := [monotonicity #131]: #133
-#137 := [monotonicity #134]: #136
-#140 := [quant-intro #137]: #139
-#50 := [asserted]: #46
-#141 := [mp #50 #140]: #138
-#202 := [mp #141 #201]: #199
-#210 := [mp~ #202 #209]: #199
-#250 := [mp #210 #249]: #247
-#281 := [mp #250 #280]: #278
-#708 := [mp #281 #707]: #703
+#141 := [monotonicity #83 #86]: #140
+#144 := [monotonicity #141]: #143
+#149 := [trans #144 #147]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#181 := [trans #164 #179]: #180
+#138 := [asserted]: #46
+#182 := [mp #138 #181]: #177
+#185 := [mp~ #182 #189]: #177
+#233 := [mp #185 #232]: #230
+#264 := [mp #233 #263]: #261
+#752 := [mp #264 #751]: #747
 #9 := (f4 f5 0::Int)
-#57 := (f3 #9 -1::Int)
-#60 := (= #57 0::Int)
-#63 := (not #60)
+#70 := (f3 #9 -1::Int)
+#73 := (= #70 0::Int)
+#76 := (not #73)
 #10 := 1::Int
 #11 := (- 1::Int)
 #12 := (f3 #9 #11)
 #13 := (= #12 0::Int)
 #14 := (not #13)
-#64 := (iff #14 #63)
-#61 := (iff #13 #60)
-#58 := (= #12 #57)
-#55 := (= #11 -1::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #14
-#66 := [mp #48 #65]: #63
-#479 := (not #703)
-#627 := (or #479 #60)
-#683 := (* -1::Int -1::Int)
-#476 := (* -1::Int 0::Int)
-#357 := (mod #476 #683)
-#358 := (+ #57 #357)
-#690 := (= #358 0::Int)
-#352 := (mod 0::Int -1::Int)
-#687 := (* -1::Int #352)
-#689 := (+ #57 #687)
-#346 := (= #689 0::Int)
-#368 := (<= -1::Int 0::Int)
-#371 := (>= 0::Int 0::Int)
-#372 := (or #371 #368)
-#369 := (not #372)
-#367 := (<= 0::Int 0::Int)
-#359 := (or #367 #368)
-#370 := (not #359)
-#373 := (or #370 #369)
-#691 := (if #373 #346 #690)
-#366 := (= 0::Int 0::Int)
-#692 := (if #366 #60 #691)
-#282 := (= -1::Int 0::Int)
-#693 := (if #282 #60 #692)
-#529 := (or #479 #693)
-#625 := (iff #529 #627)
-#513 := (iff #627 #627)
-#528 := [rewrite]: #513
-#519 := (iff #693 #60)
-#637 := (if false #60 #60)
-#645 := (iff #637 #60)
-#639 := [rewrite]: #645
-#636 := (iff #693 #637)
-#635 := (iff #692 #60)
-#1 := true
-#477 := (if true #60 #60)
-#632 := (iff #477 #60)
-#634 := [rewrite]: #632
-#478 := (iff #692 #477)
-#646 := (iff #691 #60)
-#638 := (iff #691 #637)
-#642 := (iff #690 #60)
-#640 := (= #358 #57)
-#380 := (+ #57 0::Int)
-#374 := (= #380 #57)
-#656 := [rewrite]: #374
-#497 := (= #358 #380)
-#655 := (= #357 0::Int)
-#647 := (mod 0::Int 1::Int)
-#654 := (= #647 0::Int)
-#649 := [rewrite]: #654
-#648 := (= #357 #647)
-#651 := (= #683 1::Int)
-#652 := [rewrite]: #651
-#667 := (= #476 0::Int)
-#377 := [rewrite]: #667
-#653 := [monotonicity #377 #652]: #648
-#496 := [trans #653 #649]: #655
-#498 := [monotonicity #496]: #497
-#641 := [trans #498 #656]: #640
-#643 := [monotonicity #641]: #642
-#661 := (iff #346 #60)
-#660 := (= #689 #57)
-#658 := (= #689 #380)
-#378 := (= #687 0::Int)
-#666 := (= #687 #476)
-#388 := (= #352 0::Int)
-#662 := [rewrite]: #388
-#663 := [monotonicity #662]: #666
-#379 := [trans #663 #377]: #378
-#659 := [monotonicity #379]: #658
-#657 := [trans #659 #656]: #660
-#650 := [monotonicity #657]: #661
-#665 := (iff #373 false)
-#392 := (or false false)
-#288 := (iff #392 false)
-#664 := [rewrite]: #288
-#393 := (iff #373 #392)
-#669 := (iff #369 false)
-#673 := (not true)
-#676 := (iff #673 false)
-#671 := [rewrite]: #676
-#682 := (iff #369 #673)
-#681 := (iff #372 true)
-#329 := (or true true)
-#334 := (iff #329 true)
-#335 := [rewrite]: #334
-#320 := (iff #372 #329)
-#345 := (iff #368 true)
-#686 := [rewrite]: #345
-#678 := (iff #371 true)
-#680 := [rewrite]: #678
-#321 := [monotonicity #680 #686]: #320
-#679 := [trans #321 #335]: #681
-#668 := [monotonicity #679]: #682
-#391 := [trans #668 #671]: #669
-#677 := (iff #370 false)
-#674 := (iff #370 #673)
-#336 := (iff #359 true)
-#670 := (iff #359 #329)
-#349 := (iff #367 true)
-#685 := [rewrite]: #349
-#333 := [monotonicity #685 #686]: #670
-#672 := [trans #333 #335]: #336
-#675 := [monotonicity #672]: #674
-#315 := [trans #675 #671]: #677
-#394 := [monotonicity #315 #391]: #393
-#387 := [trans #394 #664]: #665
-#644 := [monotonicity #387 #650 #643]: #638
-#475 := [trans #644 #639]: #646
-#684 := (iff #366 true)
-#344 := [rewrite]: #684
-#631 := [monotonicity #344 #475]: #478
-#633 := [trans #631 #634]: #635
-#688 := (iff #282 false)
-#694 := [rewrite]: #688
-#518 := [monotonicity #694 #633]: #636
-#520 := [trans #518 #639]: #519
-#628 := [monotonicity #520]: #625
-#530 := [trans #628 #528]: #625
-#624 := [quant-inst #8 #54]: #529
-#531 := [mp #624 #530]: #627
-[unit-resolution #531 #66 #708]: false
-d3eb3a34e82f6e4956530fdf12a1b5f1a3da5b8d 322 0
-unsat
+#77 := (iff #14 #76)
+#74 := (iff #13 #73)
+#71 := (= #12 #70)
+#68 := (= #11 -1::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #14
+#81 := [mp #66 #78]: #76
+#523 := (not #747)
+#671 := (or #523 #73)
+#727 := (* -1::Int -1::Int)
+#520 := (* -1::Int 0::Int)
+#401 := (mod #520 #727)
+#402 := (+ #70 #401)
+#734 := (= #402 0::Int)
+#396 := (mod 0::Int -1::Int)
+#731 := (* -1::Int #396)
+#733 := (+ #70 #731)
+#390 := (= #733 0::Int)
+#412 := (<= -1::Int 0::Int)
+#415 := (>= 0::Int 0::Int)
+#416 := (or #415 #412)
+#413 := (not #416)
+#411 := (<= 0::Int 0::Int)
+#403 := (or #411 #412)
+#414 := (not #403)
+#417 := (or #414 #413)
+#735 := (if #417 #390 #734)
+#410 := (= 0::Int 0::Int)
+#736 := (if #410 #73 #735)
+#326 := (= -1::Int 0::Int)
+#737 := (if #326 #73 #736)
+#573 := (or #523 #737)
+#669 := (iff #573 #671)
+#557 := (iff #671 #671)
+#572 := [rewrite]: #557
+#563 := (iff #737 #73)
+#681 := (if false #73 #73)
+#689 := (iff #681 #73)
+#683 := [rewrite]: #689
+#680 := (iff #737 #681)
+#679 := (iff #736 #73)
+#1 := true
+#521 := (if true #73 #73)
+#676 := (iff #521 #73)
+#678 := [rewrite]: #676
+#522 := (iff #736 #521)
+#690 := (iff #735 #73)
+#682 := (iff #735 #681)
+#686 := (iff #734 #73)
+#684 := (= #402 #70)
+#424 := (+ #70 0::Int)
+#418 := (= #424 #70)
+#700 := [rewrite]: #418
+#541 := (= #402 #424)
+#699 := (= #401 0::Int)
+#691 := (mod 0::Int 1::Int)
+#698 := (= #691 0::Int)
+#693 := [rewrite]: #698
+#692 := (= #401 #691)
+#695 := (= #727 1::Int)
+#696 := [rewrite]: #695
+#711 := (= #520 0::Int)
+#421 := [rewrite]: #711
+#697 := [monotonicity #421 #696]: #692
+#540 := [trans #697 #693]: #699
+#542 := [monotonicity #540]: #541
+#685 := [trans #542 #700]: #684
+#687 := [monotonicity #685]: #686
+#705 := (iff #390 #73)
+#704 := (= #733 #70)
+#702 := (= #733 #424)
+#422 := (= #731 0::Int)
+#710 := (= #731 #520)
+#432 := (= #396 0::Int)
+#706 := [rewrite]: #432
+#707 := [monotonicity #706]: #710
+#423 := [trans #707 #421]: #422
+#703 := [monotonicity #423]: #702
+#701 := [trans #703 #700]: #704
+#694 := [monotonicity #701]: #705
+#709 := (iff #417 false)
+#436 := (or false false)
+#332 := (iff #436 false)
+#708 := [rewrite]: #332
+#437 := (iff #417 #436)
+#713 := (iff #413 false)
+#717 := (not true)
+#720 := (iff #717 false)
+#715 := [rewrite]: #720
+#726 := (iff #413 #717)
+#725 := (iff #416 true)
+#373 := (or true true)
+#378 := (iff #373 true)
+#379 := [rewrite]: #378
+#364 := (iff #416 #373)
+#389 := (iff #412 true)
+#730 := [rewrite]: #389
+#722 := (iff #415 true)
+#724 := [rewrite]: #722
+#365 := [monotonicity #724 #730]: #364
+#723 := [trans #365 #379]: #725
+#712 := [monotonicity #723]: #726
+#435 := [trans #712 #715]: #713
+#721 := (iff #414 false)
+#718 := (iff #414 #717)
+#380 := (iff #403 true)
+#714 := (iff #403 #373)
+#393 := (iff #411 true)
+#729 := [rewrite]: #393
+#377 := [monotonicity #729 #730]: #714
+#716 := [trans #377 #379]: #380
+#719 := [monotonicity #716]: #718
+#359 := [trans #719 #715]: #721
+#438 := [monotonicity #359 #435]: #437
+#431 := [trans #438 #708]: #709
+#688 := [monotonicity #431 #694 #687]: #682
+#519 := [trans #688 #683]: #690
+#728 := (iff #410 true)
+#388 := [rewrite]: #728
+#675 := [monotonicity #388 #519]: #522
+#677 := [trans #675 #678]: #679
+#732 := (iff #326 false)
+#738 := [rewrite]: #732
+#562 := [monotonicity #738 #677]: #680
+#564 := [trans #562 #683]: #563
+#672 := [monotonicity #564]: #669
+#574 := [trans #672 #572]: #669
+#668 := [quant-inst #8 #67]: #573
+#575 := [mp #668 #574]: #671
+[unit-resolution #575 #81 #752]: false
+unsat
+4af2a0ea6f463e71e2c4b38fde6ef00565f6fb9f 306 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -35627,107 +33295,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#702 := (pattern #38)
+#746 := (pattern #38)
 #12 := 0::Int
-#54 := -1::Int
-#96 := (* -1::Int #18)
-#93 := (* -1::Int #16)
-#115 := (mod #93 #96)
-#271 := (+ #38 #115)
-#272 := (= #271 0::Int)
+#67 := -1::Int
+#84 := (* -1::Int #18)
+#80 := (* -1::Int #16)
+#139 := (mod #80 #84)
+#254 := (+ #38 #139)
+#255 := (= #254 0::Int)
 #39 := (mod #16 #18)
-#268 := (* -1::Int #39)
-#269 := (+ #38 #268)
-#270 := (= #269 0::Int)
-#71 := (<= #18 0::Int)
-#162 := (>= #16 0::Int)
-#215 := (or #162 #71)
-#216 := (not #215)
-#67 := (<= #16 0::Int)
-#211 := (or #67 #71)
-#212 := (not #211)
-#219 := (or #212 #216)
-#273 := (if #219 #270 #272)
-#267 := (= #38 0::Int)
+#251 := (* -1::Int #39)
+#252 := (+ #38 #251)
+#253 := (= #252 0::Int)
+#106 := (<= #18 0::Int)
+#113 := (>= #16 0::Int)
+#198 := (or #113 #106)
+#199 := (not #198)
+#102 := (<= #16 0::Int)
+#196 := (or #102 #106)
+#197 := (not #196)
+#202 := (or #197 #199)
+#256 := (if #202 #253 #255)
+#250 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#274 := (if #20 #267 #273)
-#266 := (= #38 #16)
+#257 := (if #20 #250 #256)
+#249 := (= #38 #16)
 #21 := (= #18 0::Int)
-#275 := (if #21 #266 #274)
-#703 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #702) #275)
-#278 := (forall (vars (?v0 Int) (?v1 Int)) #275)
-#706 := (iff #278 #703)
-#704 := (iff #275 #275)
-#705 := [refl]: #704
-#707 := [quant-intro #705]: #706
-#121 := (* -1::Int #115)
-#235 := (if #219 #39 #121)
-#238 := (if #20 0::Int #235)
-#241 := (if #21 #16 #238)
-#244 := (= #38 #241)
-#247 := (forall (vars (?v0 Int) (?v1 Int)) #244)
-#279 := (iff #247 #278)
-#276 := (iff #244 #275)
-#277 := [rewrite]: #276
-#280 := [quant-intro #277]: #279
-#72 := (not #71)
-#165 := (not #162)
-#168 := (and #165 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#171 := (or #75 #168)
-#187 := (if #171 #39 #121)
-#190 := (if #20 0::Int #187)
-#193 := (if #21 #16 #190)
-#196 := (= #38 #193)
-#199 := (forall (vars (?v0 Int) (?v1 Int)) #196)
-#248 := (iff #199 #247)
-#245 := (iff #196 #244)
-#242 := (= #193 #241)
-#239 := (= #190 #238)
-#236 := (= #187 #235)
-#220 := (iff #171 #219)
-#217 := (iff #168 #216)
-#218 := [rewrite]: #217
-#213 := (iff #75 #212)
-#214 := [rewrite]: #213
-#221 := [monotonicity #214 #218]: #220
-#237 := [monotonicity #221]: #236
-#240 := [monotonicity #237]: #239
-#243 := [monotonicity #240]: #242
-#246 := [monotonicity #243]: #245
-#249 := [quant-intro #246]: #248
-#208 := (~ #199 #199)
-#204 := (~ #196 #196)
-#207 := [refl]: #204
-#209 := [nnf-pos #207]: #208
-#78 := (<= 0::Int #16)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#126 := (if #90 #39 #121)
-#129 := (if #20 0::Int #126)
-#132 := (if #21 #16 #129)
-#135 := (= #38 #132)
-#138 := (forall (vars (?v0 Int) (?v1 Int)) #135)
-#200 := (iff #138 #199)
-#197 := (iff #135 #196)
-#194 := (= #132 #193)
-#191 := (= #129 #190)
-#188 := (= #126 #187)
-#172 := (iff #90 #171)
-#169 := (iff #87 #168)
-#166 := (iff #79 #165)
-#163 := (iff #78 #162)
-#164 := [rewrite]: #163
-#167 := [monotonicity #164]: #166
-#170 := [monotonicity #167]: #169
-#173 := [monotonicity #170]: #172
-#189 := [monotonicity #173]: #188
-#192 := [monotonicity #189]: #191
-#195 := [monotonicity #192]: #194
-#198 := [monotonicity #195]: #197
-#201 := [quant-intro #198]: #200
+#258 := (if #21 #249 #257)
+#747 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #746) #258)
+#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
+#750 := (iff #261 #747)
+#748 := (iff #258 #258)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#145 := (* -1::Int #139)
+#218 := (if #202 #39 #145)
+#221 := (if #20 0::Int #218)
+#224 := (if #21 #16 #221)
+#227 := (= #38 #224)
+#230 := (forall (vars (?v0 Int) (?v1 Int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#107 := (not #106)
+#114 := (not #113)
+#117 := (and #114 #107)
+#103 := (not #102)
+#110 := (and #103 #107)
+#120 := (or #110 #117)
+#165 := (if #120 #39 #145)
+#168 := (if #20 0::Int #165)
+#171 := (if #21 #16 #168)
+#174 := (= #38 #171)
+#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
+#231 := (iff #177 #230)
+#228 := (iff #174 #227)
+#225 := (= #171 #224)
+#222 := (= #168 #221)
+#219 := (= #165 #218)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#201 := [rewrite]: #200
+#190 := (iff #110 #197)
+#191 := [rewrite]: #190
+#204 := [monotonicity #191 #201]: #203
+#220 := [monotonicity #204]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#188 := (~ #177 #177)
+#187 := (~ #174 #174)
+#184 := [refl]: #187
+#189 := [nnf-pos #184]: #188
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -35743,204 +33384,215 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#139 := (iff #46 #138)
-#136 := (iff #45 #135)
-#133 := (= #44 #132)
-#130 := (= #43 #129)
-#127 := (= #42 #126)
-#124 := (= #41 #121)
-#118 := (- #115)
-#122 := (= #118 #121)
-#123 := [rewrite]: #122
-#119 := (= #41 #118)
-#116 := (= #40 #115)
-#97 := (= #31 #96)
-#98 := [rewrite]: #97
-#94 := (= #30 #93)
-#95 := [rewrite]: #94
-#117 := [monotonicity #95 #98]: #116
-#120 := [monotonicity #117]: #119
-#125 := [trans #120 #123]: #124
-#91 := (iff #28 #90)
-#88 := (iff #27 #87)
-#73 := (iff #24 #72)
-#74 := [rewrite]: #73
-#80 := (iff #26 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
+#180 := (iff #46 #177)
+#150 := (if #28 #39 #145)
+#153 := (if #20 0::Int #150)
+#156 := (if #21 #16 #153)
+#159 := (= #38 #156)
+#162 := (forall (vars (?v0 Int) (?v1 Int)) #159)
+#178 := (iff #162 #177)
+#175 := (iff #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#166 := (= #150 #165)
+#121 := (iff #28 #120)
+#118 := (iff #27 #117)
+#108 := (iff #24 #107)
+#109 := [rewrite]: #108
+#115 := (iff #26 #114)
+#116 := [rewrite]: #115
+#119 := [monotonicity #116 #109]: #118
+#111 := (iff #25 #110)
+#104 := (iff #23 #103)
+#105 := [rewrite]: #104
+#112 := [monotonicity #105 #109]: #111
+#122 := [monotonicity #112 #119]: #121
+#167 := [monotonicity #122]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [quant-intro #176]: #178
+#163 := (iff #46 #162)
+#160 := (iff #45 #159)
+#157 := (= #44 #156)
+#154 := (= #43 #153)
+#151 := (= #42 #150)
+#148 := (= #41 #145)
+#142 := (- #139)
+#146 := (= #142 #145)
+#147 := [rewrite]: #146
+#143 := (= #41 #142)
+#140 := (= #40 #139)
+#85 := (= #31 #84)
+#86 := [rewrite]: #85
+#82 := (= #30 #80)
 #83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #25 #75)
-#69 := (iff #23 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#128 := [monotonicity #92 #125]: #127
-#131 := [monotonicity #128]: #130
-#134 := [monotonicity #131]: #133
-#137 := [monotonicity #134]: #136
-#140 := [quant-intro #137]: #139
-#50 := [asserted]: #46
-#141 := [mp #50 #140]: #138
-#202 := [mp #141 #201]: #199
-#210 := [mp~ #202 #209]: #199
-#250 := [mp #210 #249]: #247
-#281 := [mp #250 #280]: #278
-#708 := [mp #281 #707]: #703
+#141 := [monotonicity #83 #86]: #140
+#144 := [monotonicity #141]: #143
+#149 := [trans #144 #147]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#181 := [trans #164 #179]: #180
+#138 := [asserted]: #46
+#182 := [mp #138 #181]: #177
+#185 := [mp~ #182 #189]: #177
+#233 := [mp #185 #232]: #230
+#264 := [mp #233 #263]: #261
+#752 := [mp #264 #751]: #747
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
-#57 := (f3 #9 -1::Int)
-#60 := (= #57 0::Int)
-#63 := (not #60)
+#70 := (f3 #9 -1::Int)
+#73 := (= #70 0::Int)
+#76 := (not #73)
 #10 := (- 1::Int)
 #11 := (f3 #9 #10)
 #13 := (= #11 0::Int)
 #14 := (not #13)
-#64 := (iff #14 #63)
-#61 := (iff #13 #60)
-#58 := (= #11 #57)
-#55 := (= #10 -1::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #14
-#66 := [mp #48 #65]: #63
-#528 := (not #703)
-#530 := (or #528 #60)
-#357 := (* -1::Int -1::Int)
-#683 := (* -1::Int 1::Int)
-#358 := (mod #683 #357)
-#690 := (+ #57 #358)
-#691 := (= #690 0::Int)
-#687 := (mod 1::Int -1::Int)
-#689 := (* -1::Int #687)
-#346 := (+ #57 #689)
-#476 := (= #346 0::Int)
-#359 := (<= -1::Int 0::Int)
-#372 := (>= 1::Int 0::Int)
-#369 := (or #372 #359)
-#373 := (not #369)
-#368 := (<= 1::Int 0::Int)
-#370 := (or #368 #359)
-#371 := (not #370)
-#352 := (or #371 #373)
-#692 := (if #352 #476 #691)
-#367 := (= 1::Int 0::Int)
-#693 := (if #367 #60 #692)
-#366 := (= #57 1::Int)
-#282 := (= -1::Int 0::Int)
-#688 := (if #282 #366 #693)
-#531 := (or #528 #688)
-#532 := (iff #531 #530)
-#534 := (iff #530 #530)
-#535 := [rewrite]: #534
-#628 := (iff #688 #60)
-#479 := (if false #366 #60)
-#624 := (iff #479 #60)
-#625 := [rewrite]: #624
-#627 := (iff #688 #479)
-#519 := (iff #693 #60)
-#477 := (if false #60 #60)
-#632 := (iff #477 #60)
-#634 := [rewrite]: #632
-#636 := (iff #693 #477)
-#635 := (iff #692 #60)
-#478 := (iff #692 #477)
-#646 := (iff #691 #60)
-#645 := (= #690 #57)
-#660 := (+ #57 0::Int)
-#650 := (= #660 #57)
-#651 := [rewrite]: #650
-#638 := (= #690 #660)
-#643 := (= #358 0::Int)
-#497 := (mod -1::Int 1::Int)
-#641 := (= #497 0::Int)
-#642 := [rewrite]: #641
-#498 := (= #358 #497)
-#655 := (= #357 1::Int)
-#496 := [rewrite]: #655
-#654 := (= #683 -1::Int)
-#649 := [rewrite]: #654
-#640 := [monotonicity #649 #496]: #498
-#637 := [trans #640 #642]: #643
-#644 := [monotonicity #637]: #638
-#639 := [trans #644 #651]: #645
-#475 := [monotonicity #639]: #646
-#648 := (iff #476 #60)
-#652 := (= #346 #57)
-#657 := (= #346 #660)
-#374 := (= #689 0::Int)
-#378 := (* -1::Int 0::Int)
-#658 := (= #378 0::Int)
-#659 := [rewrite]: #658
-#379 := (= #689 #378)
-#667 := (= #687 0::Int)
-#377 := [rewrite]: #667
-#380 := [monotonicity #377]: #379
-#656 := [trans #380 #659]: #374
-#661 := [monotonicity #656]: #657
-#647 := [trans #661 #651]: #652
-#653 := [monotonicity #647]: #648
-#666 := (iff #352 false)
-#664 := (or false false)
-#388 := (iff #664 false)
-#662 := [rewrite]: #388
-#665 := (iff #352 #664)
-#394 := (iff #373 false)
-#1 := true
-#674 := (not true)
-#671 := (iff #674 false)
-#677 := [rewrite]: #671
-#392 := (iff #373 #674)
-#669 := (iff #369 true)
-#321 := (or true true)
-#682 := (iff #321 true)
-#668 := [rewrite]: #682
-#681 := (iff #369 #321)
-#686 := (iff #359 true)
-#329 := [rewrite]: #686
-#680 := (iff #372 true)
-#320 := [rewrite]: #680
-#679 := [monotonicity #320 #329]: #681
-#391 := [trans #679 #668]: #669
-#393 := [monotonicity #391]: #392
-#288 := [trans #393 #677]: #394
-#315 := (iff #371 false)
-#675 := (iff #371 #674)
-#672 := (iff #370 true)
-#670 := (or false true)
-#335 := (iff #670 true)
-#336 := [rewrite]: #335
-#333 := (iff #370 #670)
-#685 := (iff #368 false)
-#345 := [rewrite]: #685
-#334 := [monotonicity #345 #329]: #333
-#673 := [trans #334 #336]: #672
-#676 := [monotonicity #673]: #675
-#678 := [trans #676 #677]: #315
-#387 := [monotonicity #678 #288]: #665
-#663 := [trans #387 #662]: #666
-#631 := [monotonicity #663 #653 #475]: #478
-#633 := [trans #631 #634]: #635
-#344 := (iff #367 false)
-#349 := [rewrite]: #344
-#518 := [monotonicity #349 #633]: #636
-#520 := [trans #518 #634]: #519
-#694 := (iff #282 false)
-#684 := [rewrite]: #694
-#529 := [monotonicity #684 #520]: #627
-#513 := [trans #529 #625]: #628
-#533 := [monotonicity #513]: #532
-#536 := [trans #533 #535]: #532
-#524 := [quant-inst #8 #54]: #531
-#629 := [mp #524 #536]: #530
-[unit-resolution #629 #66 #708]: false
-4aa0b6a1a9a2558065eff1ba9f7dadbceeb2b883 324 0
-unsat
+#77 := (iff #14 #76)
+#74 := (iff #13 #73)
+#71 := (= #11 #70)
+#68 := (= #10 -1::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #14
+#81 := [mp #66 #78]: #76
+#572 := (not #747)
+#574 := (or #572 #73)
+#401 := (* -1::Int -1::Int)
+#727 := (* -1::Int 1::Int)
+#402 := (mod #727 #401)
+#734 := (+ #70 #402)
+#735 := (= #734 0::Int)
+#731 := (mod 1::Int -1::Int)
+#733 := (* -1::Int #731)
+#390 := (+ #70 #733)
+#520 := (= #390 0::Int)
+#403 := (<= -1::Int 0::Int)
+#416 := (>= 1::Int 0::Int)
+#413 := (or #416 #403)
+#417 := (not #413)
+#412 := (<= 1::Int 0::Int)
+#414 := (or #412 #403)
+#415 := (not #414)
+#396 := (or #415 #417)
+#736 := (if #396 #520 #735)
+#411 := (= 1::Int 0::Int)
+#737 := (if #411 #73 #736)
+#410 := (= #70 1::Int)
+#326 := (= -1::Int 0::Int)
+#732 := (if #326 #410 #737)
+#575 := (or #572 #732)
+#576 := (iff #575 #574)
+#578 := (iff #574 #574)
+#579 := [rewrite]: #578
+#672 := (iff #732 #73)
+#523 := (if false #410 #73)
+#668 := (iff #523 #73)
+#669 := [rewrite]: #668
+#671 := (iff #732 #523)
+#563 := (iff #737 #73)
+#521 := (if false #73 #73)
+#676 := (iff #521 #73)
+#678 := [rewrite]: #676
+#680 := (iff #737 #521)
+#679 := (iff #736 #73)
+#522 := (iff #736 #521)
+#690 := (iff #735 #73)
+#689 := (= #734 #70)
+#704 := (+ #70 0::Int)
+#694 := (= #704 #70)
+#695 := [rewrite]: #694
+#682 := (= #734 #704)
+#687 := (= #402 0::Int)
+#541 := (mod -1::Int 1::Int)
+#685 := (= #541 0::Int)
+#686 := [rewrite]: #685
+#542 := (= #402 #541)
+#699 := (= #401 1::Int)
+#540 := [rewrite]: #699
+#698 := (= #727 -1::Int)
+#693 := [rewrite]: #698
+#684 := [monotonicity #693 #540]: #542
+#681 := [trans #684 #686]: #687
+#688 := [monotonicity #681]: #682
+#683 := [trans #688 #695]: #689
+#519 := [monotonicity #683]: #690
+#692 := (iff #520 #73)
+#696 := (= #390 #70)
+#701 := (= #390 #704)
+#418 := (= #733 0::Int)
+#422 := (* -1::Int 0::Int)
+#702 := (= #422 0::Int)
+#703 := [rewrite]: #702
+#423 := (= #733 #422)
+#711 := (= #731 0::Int)
+#421 := [rewrite]: #711
+#424 := [monotonicity #421]: #423
+#700 := [trans #424 #703]: #418
+#705 := [monotonicity #700]: #701
+#691 := [trans #705 #695]: #696
+#697 := [monotonicity #691]: #692
+#710 := (iff #396 false)
+#708 := (or false false)
+#432 := (iff #708 false)
+#706 := [rewrite]: #432
+#709 := (iff #396 #708)
+#438 := (iff #417 false)
+#1 := true
+#718 := (not true)
+#715 := (iff #718 false)
+#721 := [rewrite]: #715
+#436 := (iff #417 #718)
+#713 := (iff #413 true)
+#365 := (or true true)
+#726 := (iff #365 true)
+#712 := [rewrite]: #726
+#725 := (iff #413 #365)
+#730 := (iff #403 true)
+#373 := [rewrite]: #730
+#724 := (iff #416 true)
+#364 := [rewrite]: #724
+#723 := [monotonicity #364 #373]: #725
+#435 := [trans #723 #712]: #713
+#437 := [monotonicity #435]: #436
+#332 := [trans #437 #721]: #438
+#359 := (iff #415 false)
+#719 := (iff #415 #718)
+#716 := (iff #414 true)
+#714 := (or false true)
+#379 := (iff #714 true)
+#380 := [rewrite]: #379
+#377 := (iff #414 #714)
+#729 := (iff #412 false)
+#389 := [rewrite]: #729
+#378 := [monotonicity #389 #373]: #377
+#717 := [trans #378 #380]: #716
+#720 := [monotonicity #717]: #719
+#722 := [trans #720 #721]: #359
+#431 := [monotonicity #722 #332]: #709
+#707 := [trans #431 #706]: #710
+#675 := [monotonicity #707 #697 #519]: #522
+#677 := [trans #675 #678]: #679
+#388 := (iff #411 false)
+#393 := [rewrite]: #388
+#562 := [monotonicity #393 #677]: #680
+#564 := [trans #562 #678]: #563
+#738 := (iff #326 false)
+#728 := [rewrite]: #738
+#573 := [monotonicity #728 #564]: #671
+#557 := [trans #573 #669]: #672
+#577 := [monotonicity #557]: #576
+#580 := [trans #577 #579]: #576
+#568 := [quant-inst #8 #67]: #575
+#673 := [mp #568 #580]: #574
+[unit-resolution #673 #81 #752]: false
+unsat
+6e0487fe9c651d71e634cf8c64acf5989f144ad3 308 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -35950,107 +33602,80 @@
 #7 := f5
 #38 := (f4 f5 #17)
 #39 := (f3 #38 #19)
-#703 := (pattern #39)
+#746 := (pattern #39)
 #13 := 0::Int
-#55 := -1::Int
-#97 := (* -1::Int #19)
-#94 := (* -1::Int #17)
-#116 := (mod #94 #97)
-#272 := (+ #39 #116)
-#273 := (= #272 0::Int)
+#68 := -1::Int
+#85 := (* -1::Int #19)
+#81 := (* -1::Int #17)
+#140 := (mod #81 #85)
+#255 := (+ #39 #140)
+#256 := (= #255 0::Int)
 #40 := (mod #17 #19)
-#269 := (* -1::Int #40)
-#270 := (+ #39 #269)
-#271 := (= #270 0::Int)
-#72 := (<= #19 0::Int)
-#163 := (>= #17 0::Int)
-#216 := (or #163 #72)
-#217 := (not #216)
-#68 := (<= #17 0::Int)
-#212 := (or #68 #72)
-#213 := (not #212)
-#220 := (or #213 #217)
-#274 := (if #220 #271 #273)
-#268 := (= #39 0::Int)
+#252 := (* -1::Int #40)
+#253 := (+ #39 #252)
+#254 := (= #253 0::Int)
+#107 := (<= #19 0::Int)
+#114 := (>= #17 0::Int)
+#199 := (or #114 #107)
+#200 := (not #199)
+#103 := (<= #17 0::Int)
+#197 := (or #103 #107)
+#198 := (not #197)
+#203 := (or #198 #200)
+#257 := (if #203 #254 #256)
+#251 := (= #39 0::Int)
 #21 := (= #17 0::Int)
-#275 := (if #21 #268 #274)
-#267 := (= #39 #17)
+#258 := (if #21 #251 #257)
+#250 := (= #39 #17)
 #22 := (= #19 0::Int)
-#276 := (if #22 #267 #275)
-#704 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #703) #276)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#707 := (iff #279 #704)
-#705 := (iff #276 #276)
-#706 := [refl]: #705
-#708 := [quant-intro #706]: #707
-#122 := (* -1::Int #116)
-#236 := (if #220 #40 #122)
-#239 := (if #21 0::Int #236)
-#242 := (if #22 #17 #239)
-#245 := (= #39 #242)
-#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
-#280 := (iff #248 #279)
-#277 := (iff #245 #276)
-#278 := [rewrite]: #277
-#281 := [quant-intro #278]: #280
-#73 := (not #72)
-#166 := (not #163)
-#169 := (and #166 #73)
-#69 := (not #68)
-#76 := (and #69 #73)
-#172 := (or #76 #169)
-#188 := (if #172 #40 #122)
-#191 := (if #21 0::Int #188)
-#194 := (if #22 #17 #191)
-#197 := (= #39 #194)
-#200 := (forall (vars (?v0 Int) (?v1 Int)) #197)
-#249 := (iff #200 #248)
-#246 := (iff #197 #245)
-#243 := (= #194 #242)
-#240 := (= #191 #239)
-#237 := (= #188 #236)
-#221 := (iff #172 #220)
-#218 := (iff #169 #217)
-#219 := [rewrite]: #218
-#214 := (iff #76 #213)
-#215 := [rewrite]: #214
-#222 := [monotonicity #215 #219]: #221
-#238 := [monotonicity #222]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [quant-intro #247]: #249
-#162 := (~ #200 #200)
-#207 := (~ #197 #197)
-#161 := [refl]: #207
-#210 := [nnf-pos #161]: #162
-#79 := (<= 0::Int #17)
-#80 := (not #79)
-#88 := (and #80 #73)
-#91 := (or #76 #88)
-#127 := (if #91 #40 #122)
-#130 := (if #21 0::Int #127)
-#133 := (if #22 #17 #130)
-#136 := (= #39 #133)
-#139 := (forall (vars (?v0 Int) (?v1 Int)) #136)
-#201 := (iff #139 #200)
-#198 := (iff #136 #197)
-#195 := (= #133 #194)
-#192 := (= #130 #191)
-#189 := (= #127 #188)
-#173 := (iff #91 #172)
-#170 := (iff #88 #169)
-#167 := (iff #80 #166)
-#164 := (iff #79 #163)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#190 := [monotonicity #174]: #189
-#193 := [monotonicity #190]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [quant-intro #199]: #201
+#259 := (if #22 #250 #258)
+#747 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #746) #259)
+#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
+#750 := (iff #262 #747)
+#748 := (iff #259 #259)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#146 := (* -1::Int #140)
+#219 := (if #203 #40 #146)
+#222 := (if #21 0::Int #219)
+#225 := (if #22 #17 #222)
+#228 := (= #39 #225)
+#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#108 := (not #107)
+#115 := (not #114)
+#118 := (and #115 #108)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#166 := (if #121 #40 #146)
+#169 := (if #21 0::Int #166)
+#172 := (if #22 #17 #169)
+#175 := (= #39 #172)
+#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
+#232 := (iff #178 #231)
+#229 := (iff #175 #228)
+#226 := (= #172 #225)
+#223 := (= #169 #222)
+#220 := (= #166 #219)
+#204 := (iff #121 #203)
+#201 := (iff #118 #200)
+#202 := [rewrite]: #201
+#191 := (iff #111 #198)
+#192 := [rewrite]: #191
+#205 := [monotonicity #192 #202]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#189 := (~ #178 #178)
+#188 := (~ #175 #175)
+#185 := [refl]: #188
+#190 := [nnf-pos #185]: #189
 #32 := (- #19)
 #31 := (- #17)
 #41 := (mod #31 #32)
@@ -36066,206 +33691,217 @@
 #45 := (if #22 #17 #44)
 #46 := (= #39 #45)
 #47 := (forall (vars (?v0 Int) (?v1 Int)) #46)
-#140 := (iff #47 #139)
-#137 := (iff #46 #136)
-#134 := (= #45 #133)
-#131 := (= #44 #130)
-#128 := (= #43 #127)
-#125 := (= #42 #122)
-#119 := (- #116)
-#123 := (= #119 #122)
-#124 := [rewrite]: #123
-#120 := (= #42 #119)
-#117 := (= #41 #116)
-#98 := (= #32 #97)
-#99 := [rewrite]: #98
-#95 := (= #31 #94)
-#96 := [rewrite]: #95
-#118 := [monotonicity #96 #99]: #117
-#121 := [monotonicity #118]: #120
-#126 := [trans #121 #124]: #125
-#92 := (iff #29 #91)
-#89 := (iff #28 #88)
-#74 := (iff #25 #73)
-#75 := [rewrite]: #74
-#81 := (iff #27 #80)
-#85 := (iff #80 #80)
-#83 := (iff #79 #79)
+#181 := (iff #47 #178)
+#151 := (if #29 #40 #146)
+#154 := (if #21 0::Int #151)
+#157 := (if #22 #17 #154)
+#160 := (= #39 #157)
+#163 := (forall (vars (?v0 Int) (?v1 Int)) #160)
+#179 := (iff #163 #178)
+#176 := (iff #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#122 := (iff #29 #121)
+#119 := (iff #28 #118)
+#109 := (iff #25 #108)
+#110 := [rewrite]: #109
+#116 := (iff #27 #115)
+#117 := [rewrite]: #116
+#120 := [monotonicity #117 #110]: #119
+#112 := (iff #26 #111)
+#105 := (iff #24 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#168 := [monotonicity #123]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#164 := (iff #47 #163)
+#161 := (iff #46 #160)
+#158 := (= #45 #157)
+#155 := (= #44 #154)
+#152 := (= #43 #151)
+#149 := (= #42 #146)
+#143 := (- #140)
+#147 := (= #143 #146)
+#148 := [rewrite]: #147
+#144 := (= #42 #143)
+#141 := (= #41 #140)
+#86 := (= #32 #85)
+#87 := [rewrite]: #86
+#83 := (= #31 #81)
 #84 := [rewrite]: #83
-#86 := [monotonicity #84]: #85
-#82 := [rewrite]: #81
-#87 := [trans #82 #86]: #81
-#90 := [monotonicity #87 #75]: #89
-#77 := (iff #26 #76)
-#70 := (iff #24 #69)
-#71 := [rewrite]: #70
-#78 := [monotonicity #71 #75]: #77
-#93 := [monotonicity #78 #90]: #92
-#129 := [monotonicity #93 #126]: #128
-#132 := [monotonicity #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [quant-intro #138]: #140
-#51 := [asserted]: #47
-#142 := [mp #51 #141]: #139
-#203 := [mp #142 #202]: #200
-#211 := [mp~ #203 #210]: #200
-#251 := [mp #211 #250]: #248
-#282 := [mp #251 #281]: #279
-#709 := [mp #282 #708]: #704
+#142 := [monotonicity #84 #87]: #141
+#145 := [monotonicity #142]: #144
+#150 := [trans #145 #148]: #149
+#153 := [monotonicity #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#182 := [trans #165 #180]: #181
+#139 := [asserted]: #47
+#183 := [mp #139 #182]: #178
+#186 := [mp~ #183 #190]: #178
+#234 := [mp #186 #233]: #231
+#265 := [mp #234 #264]: #262
+#752 := [mp #265 #751]: #747
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
-#58 := (f3 #9 -1::Int)
-#61 := (= #58 0::Int)
-#64 := (not #61)
+#71 := (f3 #9 -1::Int)
+#74 := (= #71 0::Int)
+#77 := (not #74)
 #10 := 1::Int
 #11 := (- 1::Int)
 #12 := (f3 #9 #11)
 #14 := (= #12 0::Int)
 #15 := (not #14)
-#65 := (iff #15 #64)
-#62 := (iff #14 #61)
-#59 := (= #12 #58)
-#56 := (= #11 -1::Int)
-#57 := [rewrite]: #56
-#60 := [monotonicity #57]: #59
-#63 := [monotonicity #60]: #62
-#66 := [monotonicity #63]: #65
-#49 := [asserted]: #15
-#67 := [mp #49 #66]: #64
-#531 := (not #704)
-#532 := (or #531 #61)
-#358 := (* -1::Int -1::Int)
-#684 := (* -1::Int 3::Int)
-#359 := (mod #684 #358)
-#691 := (+ #58 #359)
-#692 := (= #691 0::Int)
-#688 := (mod 3::Int -1::Int)
-#690 := (* -1::Int #688)
-#347 := (+ #58 #690)
-#477 := (= #347 0::Int)
-#360 := (<= -1::Int 0::Int)
-#373 := (>= 3::Int 0::Int)
-#370 := (or #373 #360)
-#374 := (not #370)
-#369 := (<= 3::Int 0::Int)
-#371 := (or #369 #360)
-#372 := (not #371)
-#353 := (or #372 #374)
-#693 := (if #353 #477 #692)
-#368 := (= 3::Int 0::Int)
-#694 := (if #368 #61 #693)
-#367 := (= #58 3::Int)
-#283 := (= -1::Int 0::Int)
-#689 := (if #283 #367 #694)
-#525 := (or #531 #689)
-#534 := (iff #525 #532)
-#536 := (iff #532 #532)
-#537 := [rewrite]: #536
-#514 := (iff #689 #61)
-#628 := (if false #367 #61)
-#626 := (iff #628 #61)
-#629 := [rewrite]: #626
-#530 := (iff #689 #628)
-#521 := (iff #694 #61)
-#479 := (if false #61 #61)
-#635 := (iff #479 #61)
-#636 := [rewrite]: #635
-#519 := (iff #694 #479)
-#634 := (iff #693 #61)
-#632 := (iff #693 #479)
-#476 := (iff #692 #61)
-#640 := (= #691 #58)
-#661 := (+ #58 0::Int)
-#651 := (= #661 #58)
-#652 := [rewrite]: #651
-#645 := (= #691 #661)
-#638 := (= #359 0::Int)
-#655 := -3::Int
-#499 := (mod -3::Int 1::Int)
-#643 := (= #499 0::Int)
-#644 := [rewrite]: #643
-#641 := (= #359 #499)
-#497 := (= #358 1::Int)
-#498 := [rewrite]: #497
-#650 := (= #684 -3::Int)
-#656 := [rewrite]: #650
-#642 := [monotonicity #656 #498]: #641
-#639 := [trans #642 #644]: #638
-#646 := [monotonicity #639]: #645
-#647 := [trans #646 #652]: #640
-#478 := [monotonicity #647]: #476
-#649 := (iff #477 #61)
-#653 := (= #347 #58)
-#658 := (= #347 #661)
-#375 := (= #690 0::Int)
-#379 := (* -1::Int 0::Int)
-#659 := (= #379 0::Int)
-#660 := [rewrite]: #659
-#380 := (= #690 #379)
-#668 := (= #688 0::Int)
-#378 := [rewrite]: #668
-#381 := [monotonicity #378]: #380
-#657 := [trans #381 #660]: #375
-#662 := [monotonicity #657]: #658
-#648 := [trans #662 #652]: #653
-#654 := [monotonicity #648]: #649
-#667 := (iff #353 false)
-#665 := (or false false)
-#389 := (iff #665 false)
-#663 := [rewrite]: #389
-#666 := (iff #353 #665)
-#395 := (iff #374 false)
-#1 := true
-#675 := (not true)
-#672 := (iff #675 false)
-#678 := [rewrite]: #672
-#393 := (iff #374 #675)
-#670 := (iff #370 true)
-#322 := (or true true)
-#683 := (iff #322 true)
-#669 := [rewrite]: #683
-#682 := (iff #370 #322)
-#687 := (iff #360 true)
-#330 := [rewrite]: #687
-#681 := (iff #373 true)
-#321 := [rewrite]: #681
-#680 := [monotonicity #321 #330]: #682
-#392 := [trans #680 #669]: #670
-#394 := [monotonicity #392]: #393
-#289 := [trans #394 #678]: #395
-#316 := (iff #372 false)
-#676 := (iff #372 #675)
-#673 := (iff #371 true)
-#671 := (or false true)
-#336 := (iff #671 true)
-#337 := [rewrite]: #336
-#334 := (iff #371 #671)
-#686 := (iff #369 false)
-#346 := [rewrite]: #686
-#335 := [monotonicity #346 #330]: #334
-#674 := [trans #335 #337]: #673
-#677 := [monotonicity #674]: #676
-#679 := [trans #677 #678]: #316
-#388 := [monotonicity #679 #289]: #666
-#664 := [trans #388 #663]: #667
-#633 := [monotonicity #664 #654 #478]: #632
-#637 := [trans #633 #636]: #634
-#345 := (iff #368 false)
-#350 := [rewrite]: #345
-#520 := [monotonicity #350 #637]: #519
-#480 := [trans #520 #636]: #521
-#695 := (iff #283 false)
-#685 := [rewrite]: #695
-#625 := [monotonicity #685 #480]: #530
-#529 := [trans #625 #629]: #514
-#535 := [monotonicity #529]: #534
-#630 := [trans #535 #537]: #534
-#533 := [quant-inst #8 #55]: #525
-#627 := [mp #533 #630]: #532
-[unit-resolution #627 #67 #709]: false
-6ed556159a25d6cb7b0afc89ba7e23c5523c8b63 304 0
-unsat
+#78 := (iff #15 #77)
+#75 := (iff #14 #74)
+#72 := (= #12 #71)
+#69 := (= #11 -1::Int)
+#70 := [rewrite]: #69
+#73 := [monotonicity #70]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76]: #78
+#67 := [asserted]: #15
+#82 := [mp #67 #79]: #77
+#574 := (not #747)
+#575 := (or #574 #74)
+#401 := (* -1::Int -1::Int)
+#727 := (* -1::Int 3::Int)
+#402 := (mod #727 #401)
+#734 := (+ #71 #402)
+#735 := (= #734 0::Int)
+#731 := (mod 3::Int -1::Int)
+#733 := (* -1::Int #731)
+#390 := (+ #71 #733)
+#520 := (= #390 0::Int)
+#403 := (<= -1::Int 0::Int)
+#416 := (>= 3::Int 0::Int)
+#413 := (or #416 #403)
+#417 := (not #413)
+#412 := (<= 3::Int 0::Int)
+#414 := (or #412 #403)
+#415 := (not #414)
+#396 := (or #415 #417)
+#736 := (if #396 #520 #735)
+#411 := (= 3::Int 0::Int)
+#737 := (if #411 #74 #736)
+#410 := (= #71 3::Int)
+#326 := (= -1::Int 0::Int)
+#732 := (if #326 #410 #737)
+#568 := (or #574 #732)
+#577 := (iff #568 #575)
+#579 := (iff #575 #575)
+#580 := [rewrite]: #579
+#557 := (iff #732 #74)
+#671 := (if false #410 #74)
+#669 := (iff #671 #74)
+#672 := [rewrite]: #669
+#573 := (iff #732 #671)
+#564 := (iff #737 #74)
+#522 := (if false #74 #74)
+#678 := (iff #522 #74)
+#679 := [rewrite]: #678
+#562 := (iff #737 #522)
+#677 := (iff #736 #74)
+#675 := (iff #736 #522)
+#519 := (iff #735 #74)
+#683 := (= #734 #71)
+#704 := (+ #71 0::Int)
+#694 := (= #704 #71)
+#695 := [rewrite]: #694
+#688 := (= #734 #704)
+#681 := (= #402 0::Int)
+#698 := -3::Int
+#542 := (mod -3::Int 1::Int)
+#686 := (= #542 0::Int)
+#687 := [rewrite]: #686
+#684 := (= #402 #542)
+#540 := (= #401 1::Int)
+#541 := [rewrite]: #540
+#693 := (= #727 -3::Int)
+#699 := [rewrite]: #693
+#685 := [monotonicity #699 #541]: #684
+#682 := [trans #685 #687]: #681
+#689 := [monotonicity #682]: #688
+#690 := [trans #689 #695]: #683
+#521 := [monotonicity #690]: #519
+#692 := (iff #520 #74)
+#696 := (= #390 #71)
+#701 := (= #390 #704)
+#418 := (= #733 0::Int)
+#422 := (* -1::Int 0::Int)
+#702 := (= #422 0::Int)
+#703 := [rewrite]: #702
+#423 := (= #733 #422)
+#711 := (= #731 0::Int)
+#421 := [rewrite]: #711
+#424 := [monotonicity #421]: #423
+#700 := [trans #424 #703]: #418
+#705 := [monotonicity #700]: #701
+#691 := [trans #705 #695]: #696
+#697 := [monotonicity #691]: #692
+#710 := (iff #396 false)
+#708 := (or false false)
+#432 := (iff #708 false)
+#706 := [rewrite]: #432
+#709 := (iff #396 #708)
+#438 := (iff #417 false)
+#1 := true
+#718 := (not true)
+#715 := (iff #718 false)
+#721 := [rewrite]: #715
+#436 := (iff #417 #718)
+#713 := (iff #413 true)
+#365 := (or true true)
+#726 := (iff #365 true)
+#712 := [rewrite]: #726
+#725 := (iff #413 #365)
+#730 := (iff #403 true)
+#373 := [rewrite]: #730
+#724 := (iff #416 true)
+#364 := [rewrite]: #724
+#723 := [monotonicity #364 #373]: #725
+#435 := [trans #723 #712]: #713
+#437 := [monotonicity #435]: #436
+#332 := [trans #437 #721]: #438
+#359 := (iff #415 false)
+#719 := (iff #415 #718)
+#716 := (iff #414 true)
+#714 := (or false true)
+#379 := (iff #714 true)
+#380 := [rewrite]: #379
+#377 := (iff #414 #714)
+#729 := (iff #412 false)
+#389 := [rewrite]: #729
+#378 := [monotonicity #389 #373]: #377
+#717 := [trans #378 #380]: #716
+#720 := [monotonicity #717]: #719
+#722 := [trans #720 #721]: #359
+#431 := [monotonicity #722 #332]: #709
+#707 := [trans #431 #706]: #710
+#676 := [monotonicity #707 #697 #521]: #675
+#680 := [trans #676 #679]: #677
+#388 := (iff #411 false)
+#393 := [rewrite]: #388
+#563 := [monotonicity #393 #680]: #562
+#523 := [trans #563 #679]: #564
+#738 := (iff #326 false)
+#728 := [rewrite]: #738
+#668 := [monotonicity #728 #523]: #573
+#572 := [trans #668 #672]: #557
+#578 := [monotonicity #572]: #577
+#673 := [trans #578 #580]: #577
+#576 := [quant-inst #8 #68]: #568
+#670 := [mp #576 #673]: #575
+[unit-resolution #670 #82 #752]: false
+unsat
+cc50be1af933c0c97044d9c6c3e09dc4fd354986 288 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -36275,107 +33911,80 @@
 #7 := f5
 #38 := (f4 f5 #17)
 #39 := (f3 #38 #19)
-#703 := (pattern #39)
+#747 := (pattern #39)
 #13 := 0::Int
-#55 := -1::Int
-#97 := (* -1::Int #19)
-#94 := (* -1::Int #17)
-#116 := (mod #94 #97)
-#272 := (+ #39 #116)
-#273 := (= #272 0::Int)
+#68 := -1::Int
+#85 := (* -1::Int #19)
+#81 := (* -1::Int #17)
+#140 := (mod #81 #85)
+#255 := (+ #39 #140)
+#256 := (= #255 0::Int)
 #40 := (mod #17 #19)
-#269 := (* -1::Int #40)
-#270 := (+ #39 #269)
-#271 := (= #270 0::Int)
-#72 := (<= #19 0::Int)
-#163 := (>= #17 0::Int)
-#216 := (or #163 #72)
-#217 := (not #216)
-#68 := (<= #17 0::Int)
-#212 := (or #68 #72)
-#213 := (not #212)
-#220 := (or #213 #217)
-#274 := (if #220 #271 #273)
-#268 := (= #39 0::Int)
+#252 := (* -1::Int #40)
+#253 := (+ #39 #252)
+#254 := (= #253 0::Int)
+#107 := (<= #19 0::Int)
+#114 := (>= #17 0::Int)
+#199 := (or #114 #107)
+#200 := (not #199)
+#103 := (<= #17 0::Int)
+#197 := (or #103 #107)
+#198 := (not #197)
+#203 := (or #198 #200)
+#257 := (if #203 #254 #256)
+#251 := (= #39 0::Int)
 #21 := (= #17 0::Int)
-#275 := (if #21 #268 #274)
-#267 := (= #39 #17)
+#258 := (if #21 #251 #257)
+#250 := (= #39 #17)
 #22 := (= #19 0::Int)
-#276 := (if #22 #267 #275)
-#704 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #703) #276)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#707 := (iff #279 #704)
-#705 := (iff #276 #276)
-#706 := [refl]: #705
-#708 := [quant-intro #706]: #707
-#122 := (* -1::Int #116)
-#236 := (if #220 #40 #122)
-#239 := (if #21 0::Int #236)
-#242 := (if #22 #17 #239)
-#245 := (= #39 #242)
-#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
-#280 := (iff #248 #279)
-#277 := (iff #245 #276)
-#278 := [rewrite]: #277
-#281 := [quant-intro #278]: #280
-#73 := (not #72)
-#166 := (not #163)
-#169 := (and #166 #73)
-#69 := (not #68)
-#76 := (and #69 #73)
-#172 := (or #76 #169)
-#188 := (if #172 #40 #122)
-#191 := (if #21 0::Int #188)
-#194 := (if #22 #17 #191)
-#197 := (= #39 #194)
-#200 := (forall (vars (?v0 Int) (?v1 Int)) #197)
-#249 := (iff #200 #248)
-#246 := (iff #197 #245)
-#243 := (= #194 #242)
-#240 := (= #191 #239)
-#237 := (= #188 #236)
-#221 := (iff #172 #220)
-#218 := (iff #169 #217)
-#219 := [rewrite]: #218
-#214 := (iff #76 #213)
-#215 := [rewrite]: #214
-#222 := [monotonicity #215 #219]: #221
-#238 := [monotonicity #222]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [quant-intro #247]: #249
-#205 := (~ #200 #200)
-#209 := (~ #197 #197)
-#204 := [refl]: #209
-#210 := [nnf-pos #204]: #205
-#79 := (<= 0::Int #17)
-#80 := (not #79)
-#88 := (and #80 #73)
-#91 := (or #76 #88)
-#127 := (if #91 #40 #122)
-#130 := (if #21 0::Int #127)
-#133 := (if #22 #17 #130)
-#136 := (= #39 #133)
-#139 := (forall (vars (?v0 Int) (?v1 Int)) #136)
-#201 := (iff #139 #200)
-#198 := (iff #136 #197)
-#195 := (= #133 #194)
-#192 := (= #130 #191)
-#189 := (= #127 #188)
-#173 := (iff #91 #172)
-#170 := (iff #88 #169)
-#167 := (iff #80 #166)
-#164 := (iff #79 #163)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#190 := [monotonicity #174]: #189
-#193 := [monotonicity #190]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [quant-intro #199]: #201
+#259 := (if #22 #250 #258)
+#748 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #747) #259)
+#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
+#751 := (iff #262 #748)
+#749 := (iff #259 #259)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#146 := (* -1::Int #140)
+#219 := (if #203 #40 #146)
+#222 := (if #21 0::Int #219)
+#225 := (if #22 #17 #222)
+#228 := (= #39 #225)
+#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#108 := (not #107)
+#115 := (not #114)
+#118 := (and #115 #108)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#166 := (if #121 #40 #146)
+#169 := (if #21 0::Int #166)
+#172 := (if #22 #17 #169)
+#175 := (= #39 #172)
+#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
+#232 := (iff #178 #231)
+#229 := (iff #175 #228)
+#226 := (= #172 #225)
+#223 := (= #169 #222)
+#220 := (= #166 #219)
+#204 := (iff #121 #203)
+#201 := (iff #118 #200)
+#202 := [rewrite]: #201
+#191 := (iff #111 #198)
+#192 := [rewrite]: #191
+#205 := [monotonicity #192 #202]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#189 := (~ #178 #178)
+#188 := (~ #175 #175)
+#185 := [refl]: #188
+#190 := [nnf-pos #185]: #189
 #32 := (- #19)
 #31 := (- #17)
 #41 := (mod #31 #32)
@@ -36391,186 +34000,197 @@
 #45 := (if #22 #17 #44)
 #46 := (= #39 #45)
 #47 := (forall (vars (?v0 Int) (?v1 Int)) #46)
-#140 := (iff #47 #139)
-#137 := (iff #46 #136)
-#134 := (= #45 #133)
-#131 := (= #44 #130)
-#128 := (= #43 #127)
-#125 := (= #42 #122)
-#119 := (- #116)
-#123 := (= #119 #122)
-#124 := [rewrite]: #123
-#120 := (= #42 #119)
-#117 := (= #41 #116)
-#98 := (= #32 #97)
-#99 := [rewrite]: #98
-#95 := (= #31 #94)
-#96 := [rewrite]: #95
-#118 := [monotonicity #96 #99]: #117
-#121 := [monotonicity #118]: #120
-#126 := [trans #121 #124]: #125
-#92 := (iff #29 #91)
-#89 := (iff #28 #88)
-#74 := (iff #25 #73)
-#75 := [rewrite]: #74
-#81 := (iff #27 #80)
-#85 := (iff #80 #80)
-#83 := (iff #79 #79)
+#181 := (iff #47 #178)
+#151 := (if #29 #40 #146)
+#154 := (if #21 0::Int #151)
+#157 := (if #22 #17 #154)
+#160 := (= #39 #157)
+#163 := (forall (vars (?v0 Int) (?v1 Int)) #160)
+#179 := (iff #163 #178)
+#176 := (iff #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#122 := (iff #29 #121)
+#119 := (iff #28 #118)
+#109 := (iff #25 #108)
+#110 := [rewrite]: #109
+#116 := (iff #27 #115)
+#117 := [rewrite]: #116
+#120 := [monotonicity #117 #110]: #119
+#112 := (iff #26 #111)
+#105 := (iff #24 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#168 := [monotonicity #123]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#164 := (iff #47 #163)
+#161 := (iff #46 #160)
+#158 := (= #45 #157)
+#155 := (= #44 #154)
+#152 := (= #43 #151)
+#149 := (= #42 #146)
+#143 := (- #140)
+#147 := (= #143 #146)
+#148 := [rewrite]: #147
+#144 := (= #42 #143)
+#141 := (= #41 #140)
+#86 := (= #32 #85)
+#87 := [rewrite]: #86
+#83 := (= #31 #81)
 #84 := [rewrite]: #83
-#86 := [monotonicity #84]: #85
-#82 := [rewrite]: #81
-#87 := [trans #82 #86]: #81
-#90 := [monotonicity #87 #75]: #89
-#77 := (iff #26 #76)
-#70 := (iff #24 #69)
-#71 := [rewrite]: #70
-#78 := [monotonicity #71 #75]: #77
-#93 := [monotonicity #78 #90]: #92
-#129 := [monotonicity #93 #126]: #128
-#132 := [monotonicity #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [quant-intro #138]: #140
-#51 := [asserted]: #47
-#142 := [mp #51 #141]: #139
-#203 := [mp #142 #202]: #200
-#211 := [mp~ #203 #210]: #200
-#251 := [mp #211 #250]: #248
-#282 := [mp #251 #281]: #279
-#709 := [mp #282 #708]: #704
+#142 := [monotonicity #84 #87]: #141
+#145 := [monotonicity #142]: #144
+#150 := [trans #145 #148]: #149
+#153 := [monotonicity #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#182 := [trans #165 #180]: #181
+#139 := [asserted]: #47
+#183 := [mp #139 #182]: #178
+#186 := [mp~ #183 #190]: #178
+#234 := [mp #186 #233]: #231
+#265 := [mp #234 #264]: #262
+#753 := [mp #265 #752]: #748
 decl f6 :: Int
 #8 := f6
 #9 := (f4 f5 f6)
-#58 := (f3 #9 -1::Int)
-#61 := (= #58 0::Int)
-#64 := (not #61)
+#71 := (f3 #9 -1::Int)
+#74 := (= #71 0::Int)
+#77 := (not #74)
 #10 := 1::Int
 #11 := (- 1::Int)
 #12 := (f3 #9 #11)
 #14 := (= #12 0::Int)
 #15 := (not #14)
-#65 := (iff #15 #64)
-#62 := (iff #14 #61)
-#59 := (= #12 #58)
-#56 := (= #11 -1::Int)
-#57 := [rewrite]: #56
-#60 := [monotonicity #57]: #59
-#63 := [monotonicity #60]: #62
-#66 := [monotonicity #63]: #65
-#49 := [asserted]: #15
-#67 := [mp #49 #66]: #64
-#647 := (not #704)
-#476 := (or #647 #61)
-#358 := (* -1::Int -1::Int)
-#684 := (* -1::Int f6)
-#359 := (mod #684 #358)
-#691 := (+ #58 #359)
-#692 := (= #691 0::Int)
-#688 := (mod f6 -1::Int)
-#690 := (* -1::Int #688)
-#347 := (+ #58 #690)
-#477 := (= #347 0::Int)
-#360 := (<= -1::Int 0::Int)
-#373 := (>= f6 0::Int)
-#370 := (or #373 #360)
-#374 := (not #370)
-#369 := (<= f6 0::Int)
-#371 := (or #369 #360)
-#372 := (not #371)
-#353 := (or #372 #374)
-#693 := (if #353 #477 #692)
-#368 := (= f6 0::Int)
-#694 := (if #368 #61 #693)
-#367 := (= #58 f6)
-#283 := (= -1::Int 0::Int)
-#689 := (if #283 #367 #694)
-#478 := (or #647 #689)
-#632 := (iff #478 #476)
-#635 := (iff #476 #476)
-#636 := [rewrite]: #635
-#646 := (iff #689 #61)
-#643 := (if false #367 #61)
-#639 := (iff #643 #61)
-#645 := [rewrite]: #639
-#644 := (iff #689 #643)
-#641 := (iff #694 #61)
-#650 := (if #368 #61 #61)
-#498 := (iff #650 #61)
-#499 := [rewrite]: #498
-#656 := (iff #694 #650)
-#654 := (iff #693 #61)
-#651 := (if false #477 #61)
-#648 := (iff #651 #61)
-#649 := [rewrite]: #648
-#652 := (iff #693 #651)
-#658 := (iff #692 #61)
-#657 := (= #691 #58)
-#380 := (+ #58 0::Int)
-#660 := (= #380 #58)
-#375 := [rewrite]: #660
-#381 := (= #691 #380)
-#378 := (= #359 0::Int)
-#389 := (mod #684 1::Int)
-#664 := (= #389 0::Int)
-#668 := [rewrite]: #664
-#663 := (= #359 #389)
-#666 := (= #358 1::Int)
-#388 := [rewrite]: #666
-#667 := [monotonicity #388]: #663
-#379 := [trans #667 #668]: #378
-#659 := [monotonicity #379]: #381
-#661 := [trans #659 #375]: #657
-#662 := [monotonicity #661]: #658
-#289 := (iff #353 false)
-#670 := (or false false)
-#394 := (iff #670 false)
-#395 := [rewrite]: #394
-#392 := (iff #353 #670)
-#683 := (iff #374 false)
-#1 := true
-#336 := (not true)
-#674 := (iff #336 false)
-#675 := [rewrite]: #674
-#682 := (iff #374 #336)
-#321 := (iff #370 true)
-#672 := (or #373 true)
-#679 := (iff #672 true)
-#681 := [rewrite]: #679
-#678 := (iff #370 #672)
-#345 := (iff #360 true)
-#350 := [rewrite]: #345
-#316 := [monotonicity #350]: #678
-#322 := [trans #316 #681]: #321
-#680 := [monotonicity #322]: #682
-#669 := [trans #680 #675]: #683
-#676 := (iff #372 false)
-#337 := (iff #372 #336)
-#334 := (iff #371 true)
-#686 := (or #369 true)
-#330 := (iff #686 true)
-#671 := [rewrite]: #330
-#346 := (iff #371 #686)
-#687 := [monotonicity #350]: #346
-#335 := [trans #687 #671]: #334
-#673 := [monotonicity #335]: #337
-#677 := [trans #673 #675]: #676
-#393 := [monotonicity #677 #669]: #392
-#665 := [trans #393 #395]: #289
-#653 := [monotonicity #665 #662]: #652
-#655 := [trans #653 #649]: #654
-#497 := [monotonicity #655]: #656
-#642 := [trans #497 #499]: #641
-#695 := (iff #283 false)
-#685 := [rewrite]: #695
-#638 := [monotonicity #685 #642]: #644
-#640 := [trans #638 #645]: #646
-#633 := [monotonicity #640]: #632
-#634 := [trans #633 #636]: #632
-#479 := [quant-inst #8 #55]: #478
-#637 := [mp #479 #634]: #476
-[unit-resolution #637 #67 #709]: false
-9c9742a1f9e5b5feb0bee490cb17aea9c87b53db 303 0
-unsat
+#78 := (iff #15 #77)
+#75 := (iff #14 #74)
+#72 := (= #12 #71)
+#69 := (= #11 -1::Int)
+#70 := [rewrite]: #69
+#73 := [monotonicity #70]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76]: #78
+#67 := [asserted]: #15
+#82 := [mp #67 #79]: #77
+#691 := (not #748)
+#520 := (or #691 #74)
+#402 := (* -1::Int -1::Int)
+#728 := (* -1::Int f6)
+#403 := (mod #728 #402)
+#735 := (+ #71 #403)
+#736 := (= #735 0::Int)
+#732 := (mod f6 -1::Int)
+#734 := (* -1::Int #732)
+#391 := (+ #71 #734)
+#521 := (= #391 0::Int)
+#404 := (<= -1::Int 0::Int)
+#417 := (>= f6 0::Int)
+#414 := (or #417 #404)
+#418 := (not #414)
+#413 := (<= f6 0::Int)
+#415 := (or #413 #404)
+#416 := (not #415)
+#397 := (or #416 #418)
+#737 := (if #397 #521 #736)
+#412 := (= f6 0::Int)
+#738 := (if #412 #74 #737)
+#411 := (= #71 f6)
+#327 := (= -1::Int 0::Int)
+#733 := (if #327 #411 #738)
+#522 := (or #691 #733)
+#676 := (iff #522 #520)
+#679 := (iff #520 #520)
+#680 := [rewrite]: #679
+#690 := (iff #733 #74)
+#687 := (if false #411 #74)
+#683 := (iff #687 #74)
+#689 := [rewrite]: #683
+#688 := (iff #733 #687)
+#685 := (iff #738 #74)
+#694 := (if #412 #74 #74)
+#542 := (iff #694 #74)
+#543 := [rewrite]: #542
+#700 := (iff #738 #694)
+#698 := (iff #737 #74)
+#695 := (if false #521 #74)
+#692 := (iff #695 #74)
+#693 := [rewrite]: #692
+#696 := (iff #737 #695)
+#702 := (iff #736 #74)
+#701 := (= #735 #71)
+#424 := (+ #71 0::Int)
+#704 := (= #424 #71)
+#419 := [rewrite]: #704
+#425 := (= #735 #424)
+#422 := (= #403 0::Int)
+#433 := (mod #728 1::Int)
+#708 := (= #433 0::Int)
+#712 := [rewrite]: #708
+#707 := (= #403 #433)
+#710 := (= #402 1::Int)
+#432 := [rewrite]: #710
+#711 := [monotonicity #432]: #707
+#423 := [trans #711 #712]: #422
+#703 := [monotonicity #423]: #425
+#705 := [trans #703 #419]: #701
+#706 := [monotonicity #705]: #702
+#333 := (iff #397 false)
+#714 := (or false false)
+#438 := (iff #714 false)
+#439 := [rewrite]: #438
+#436 := (iff #397 #714)
+#727 := (iff #418 false)
+#1 := true
+#380 := (not true)
+#718 := (iff #380 false)
+#719 := [rewrite]: #718
+#726 := (iff #418 #380)
+#365 := (iff #414 true)
+#716 := (or #417 true)
+#723 := (iff #716 true)
+#725 := [rewrite]: #723
+#722 := (iff #414 #716)
+#389 := (iff #404 true)
+#394 := [rewrite]: #389
+#360 := [monotonicity #394]: #722
+#366 := [trans #360 #725]: #365
+#724 := [monotonicity #366]: #726
+#713 := [trans #724 #719]: #727
+#720 := (iff #416 false)
+#381 := (iff #416 #380)
+#378 := (iff #415 true)
+#730 := (or #413 true)
+#374 := (iff #730 true)
+#715 := [rewrite]: #374
+#390 := (iff #415 #730)
+#731 := [monotonicity #394]: #390
+#379 := [trans #731 #715]: #378
+#717 := [monotonicity #379]: #381
+#721 := [trans #717 #719]: #720
+#437 := [monotonicity #721 #713]: #436
+#709 := [trans #437 #439]: #333
+#697 := [monotonicity #709 #706]: #696
+#699 := [trans #697 #693]: #698
+#541 := [monotonicity #699]: #700
+#686 := [trans #541 #543]: #685
+#739 := (iff #327 false)
+#729 := [rewrite]: #739
+#682 := [monotonicity #729 #686]: #688
+#684 := [trans #682 #689]: #690
+#677 := [monotonicity #684]: #676
+#678 := [trans #677 #680]: #676
+#523 := [quant-inst #8 #68]: #522
+#681 := [mp #523 #678]: #520
+[unit-resolution #681 #82 #753]: false
+unsat
+7b2dc6ed2136e8f88a408eac485e7ff01d341877 287 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -36580,107 +34200,80 @@
 #7 := f5
 #36 := (f4 f5 #15)
 #37 := (f3 #36 #17)
-#690 := (pattern #37)
+#733 := (pattern #37)
 #8 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #17)
-#80 := (* -1::Int #15)
-#102 := (mod #80 #83)
-#258 := (+ #37 #102)
-#259 := (= #258 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #17)
+#68 := (* -1::Int #15)
+#126 := (mod #68 #71)
+#241 := (+ #37 #126)
+#242 := (= #241 0::Int)
 #38 := (mod #15 #17)
-#255 := (* -1::Int #38)
-#256 := (+ #37 #255)
-#257 := (= #256 0::Int)
-#57 := (<= #17 0::Int)
-#149 := (>= #15 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #15 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#260 := (if #206 #257 #259)
-#254 := (= #37 0::Int)
+#238 := (* -1::Int #38)
+#239 := (+ #37 #238)
+#240 := (= #239 0::Int)
+#93 := (<= #17 0::Int)
+#100 := (>= #15 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #15 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#243 := (if #189 #240 #242)
+#237 := (= #37 0::Int)
 #19 := (= #15 0::Int)
-#261 := (if #19 #254 #260)
-#253 := (= #37 #15)
+#244 := (if #19 #237 #243)
+#236 := (= #37 #15)
 #20 := (= #17 0::Int)
-#262 := (if #20 #253 #261)
-#691 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #690) #262)
-#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
-#694 := (iff #265 #691)
-#692 := (iff #262 #262)
-#693 := [refl]: #692
-#695 := [quant-intro #693]: #694
-#108 := (* -1::Int #102)
-#222 := (if #206 #38 #108)
-#225 := (if #19 0::Int #222)
-#228 := (if #20 #15 #225)
-#231 := (= #37 #228)
-#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
-#266 := (iff #234 #265)
-#263 := (iff #231 #262)
-#264 := [rewrite]: #263
-#267 := [quant-intro #264]: #266
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#174 := (if #158 #38 #108)
-#177 := (if #19 0::Int #174)
-#180 := (if #20 #15 #177)
-#183 := (= #37 #180)
-#186 := (forall (vars (?v0 Int) (?v1 Int)) #183)
-#235 := (iff #186 #234)
-#232 := (iff #183 #231)
-#229 := (= #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#224 := [monotonicity #208]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [quant-intro #233]: #235
-#148 := (~ #186 #186)
-#193 := (~ #183 #183)
-#147 := [refl]: #193
-#196 := [nnf-pos #147]: #148
-#64 := (<= 0::Int #15)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#113 := (if #76 #38 #108)
-#116 := (if #19 0::Int #113)
-#119 := (if #20 #15 #116)
-#122 := (= #37 #119)
-#125 := (forall (vars (?v0 Int) (?v1 Int)) #122)
-#187 := (iff #125 #186)
-#184 := (iff #122 #183)
-#181 := (= #119 #180)
-#178 := (= #116 #177)
-#175 := (= #113 #174)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#176 := [monotonicity #160]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [monotonicity #182]: #184
-#188 := [quant-intro #185]: #187
+#245 := (if #20 #236 #244)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #245)
+#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
+#737 := (iff #248 #734)
+#735 := (iff #245 #245)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#132 := (* -1::Int #126)
+#205 := (if #189 #38 #132)
+#208 := (if #19 0::Int #205)
+#211 := (if #20 #15 #208)
+#214 := (= #37 #211)
+#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
+#249 := (iff #217 #248)
+#246 := (iff #214 #245)
+#247 := [rewrite]: #246
+#250 := [quant-intro #247]: #249
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (if #107 #38 #132)
+#155 := (if #19 0::Int #152)
+#158 := (if #20 #15 #155)
+#161 := (= #37 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#218 := (iff #164 #217)
+#215 := (iff #161 #214)
+#212 := (= #158 #211)
+#209 := (= #155 #208)
+#206 := (= #152 #205)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#207 := [monotonicity #191]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [quant-intro #216]: #218
+#175 := (~ #164 #164)
+#174 := (~ #161 #161)
+#171 := [refl]: #174
+#176 := [nnf-pos #171]: #175
 #30 := (- #17)
 #29 := (- #15)
 #39 := (mod #29 #30)
@@ -36696,185 +34289,196 @@
 #43 := (if #20 #15 #42)
 #44 := (= #37 #43)
 #45 := (forall (vars (?v0 Int) (?v1 Int)) #44)
-#126 := (iff #45 #125)
-#123 := (iff #44 #122)
-#120 := (= #43 #119)
-#117 := (= #42 #116)
-#114 := (= #41 #113)
-#111 := (= #40 #108)
-#105 := (- #102)
-#109 := (= #105 #108)
-#110 := [rewrite]: #109
-#106 := (= #40 #105)
-#103 := (= #39 #102)
-#84 := (= #30 #83)
-#85 := [rewrite]: #84
-#81 := (= #29 #80)
-#82 := [rewrite]: #81
-#104 := [monotonicity #82 #85]: #103
-#107 := [monotonicity #104]: #106
-#112 := [trans #107 #110]: #111
-#77 := (iff #27 #76)
-#74 := (iff #26 #73)
-#59 := (iff #23 #58)
-#60 := [rewrite]: #59
-#66 := (iff #25 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #24 #61)
-#55 := (iff #22 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#115 := [monotonicity #78 #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#127 := [quant-intro #124]: #126
-#49 := [asserted]: #45
-#128 := [mp #49 #127]: #125
-#189 := [mp #128 #188]: #186
-#197 := [mp~ #189 #196]: #186
-#237 := [mp #197 #236]: #234
-#268 := [mp #237 #267]: #265
-#696 := [mp #268 #695]: #691
+#167 := (iff #45 #164)
+#137 := (if #27 #38 #132)
+#140 := (if #19 0::Int #137)
+#143 := (if #20 #15 #140)
+#146 := (= #37 #143)
+#149 := (forall (vars (?v0 Int) (?v1 Int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #27 #107)
+#105 := (iff #26 #104)
+#95 := (iff #23 #94)
+#96 := [rewrite]: #95
+#102 := (iff #25 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #24 #97)
+#91 := (iff #22 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #45 #149)
+#147 := (iff #44 #146)
+#144 := (= #43 #143)
+#141 := (= #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #40 #129)
+#127 := (= #39 #126)
+#72 := (= #30 #71)
+#73 := [rewrite]: #72
+#69 := (= #29 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #45
+#169 := [mp #125 #168]: #164
+#172 := [mp~ #169 #176]: #164
+#220 := [mp #172 #219]: #217
+#251 := [mp #220 #250]: #248
+#739 := [mp #251 #738]: #734
 #10 := 3::Int
 #9 := (f4 f5 0::Int)
 #11 := (f3 #9 3::Int)
 #12 := (= #11 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#615 := (not #691)
-#517 := (or #615 #12)
-#671 := (* -1::Int 3::Int)
-#464 := (* -1::Int 0::Int)
-#345 := (mod #464 #671)
-#346 := (+ #11 #345)
-#678 := (= #346 0::Int)
-#340 := (mod 0::Int 3::Int)
-#675 := (* -1::Int #340)
-#677 := (+ #11 #675)
-#334 := (= #677 0::Int)
-#356 := (<= 3::Int 0::Int)
-#359 := (>= 0::Int 0::Int)
-#360 := (or #359 #356)
-#357 := (not #360)
-#355 := (<= 0::Int 0::Int)
-#347 := (or #355 #356)
-#358 := (not #347)
-#361 := (or #358 #357)
-#679 := (if #361 #334 #678)
-#354 := (= 0::Int 0::Int)
-#680 := (if #354 #12 #679)
-#269 := (= 3::Int 0::Int)
-#681 := (if #269 #12 #680)
-#612 := (or #615 #681)
-#616 := (iff #612 #517)
-#516 := (iff #517 #517)
-#518 := [rewrite]: #516
-#508 := (iff #681 #12)
-#626 := (if false #12 #12)
-#627 := (iff #626 #12)
-#634 := [rewrite]: #627
-#506 := (iff #681 #626)
-#621 := (iff #680 #12)
-#1 := true
-#466 := (if true #12 #12)
-#622 := (iff #466 #12)
-#623 := [rewrite]: #622
-#619 := (iff #680 #466)
-#463 := (iff #679 #12)
-#632 := (iff #679 #626)
-#631 := (iff #678 #12)
-#629 := (= #346 #11)
-#368 := (+ #11 0::Int)
-#362 := (= #368 #11)
-#644 := [rewrite]: #362
-#486 := (= #346 #368)
-#484 := (= #345 0::Int)
-#639 := -3::Int
-#636 := (mod 0::Int -3::Int)
-#637 := (= #636 0::Int)
-#643 := [rewrite]: #637
-#641 := (= #345 #636)
-#640 := (= #671 -3::Int)
-#635 := [rewrite]: #640
-#655 := (= #464 0::Int)
-#365 := [rewrite]: #655
-#642 := [monotonicity #365 #635]: #641
-#485 := [trans #642 #643]: #484
-#628 := [monotonicity #485]: #486
-#630 := [trans #628 #644]: #629
-#625 := [monotonicity #630]: #631
-#649 := (iff #334 #12)
-#648 := (= #677 #11)
-#646 := (= #677 #368)
-#366 := (= #675 0::Int)
-#654 := (= #675 #464)
-#376 := (= #340 0::Int)
-#650 := [rewrite]: #376
-#651 := [monotonicity #650]: #654
-#367 := [trans #651 #365]: #366
-#647 := [monotonicity #367]: #646
-#645 := [trans #647 #644]: #648
-#638 := [monotonicity #645]: #649
-#653 := (iff #361 false)
-#380 := (or false false)
-#275 := (iff #380 false)
-#652 := [rewrite]: #275
-#381 := (iff #361 #380)
-#657 := (iff #357 false)
-#661 := (not true)
-#664 := (iff #661 false)
-#659 := [rewrite]: #664
-#670 := (iff #357 #661)
-#669 := (iff #360 true)
-#317 := (or true false)
-#322 := (iff #317 true)
-#323 := [rewrite]: #322
-#308 := (iff #360 #317)
-#333 := (iff #356 false)
-#674 := [rewrite]: #333
-#666 := (iff #359 true)
-#668 := [rewrite]: #666
-#309 := [monotonicity #668 #674]: #308
-#667 := [trans #309 #323]: #669
-#656 := [monotonicity #667]: #670
-#379 := [trans #656 #659]: #657
-#665 := (iff #358 false)
-#662 := (iff #358 #661)
-#324 := (iff #347 true)
-#658 := (iff #347 #317)
-#337 := (iff #355 true)
-#673 := [rewrite]: #337
-#321 := [monotonicity #673 #674]: #658
-#660 := [trans #321 #323]: #324
-#663 := [monotonicity #660]: #662
-#303 := [trans #663 #659]: #665
-#382 := [monotonicity #303 #379]: #381
-#375 := [trans #382 #652]: #653
-#633 := [monotonicity #375 #638 #625]: #632
-#465 := [trans #633 #634]: #463
-#672 := (iff #354 true)
-#332 := [rewrite]: #672
-#620 := [monotonicity #332 #465]: #619
-#624 := [trans #620 #623]: #621
-#676 := (iff #269 false)
-#682 := [rewrite]: #676
-#507 := [monotonicity #682 #624]: #506
-#467 := [trans #507 #634]: #508
-#501 := [monotonicity #467]: #616
-#519 := [trans #501 #518]: #616
-#613 := [quant-inst #8 #10]: #612
-#512 := [mp #613 #519]: #517
-[unit-resolution #512 #47 #696]: false
-20cf39716d0e0864db7d929b914c6a23abc44f49 316 0
-unsat
+#65 := [asserted]: #13
+#658 := (not #734)
+#560 := (or #658 #12)
+#714 := (* -1::Int 3::Int)
+#507 := (* -1::Int 0::Int)
+#388 := (mod #507 #714)
+#389 := (+ #11 #388)
+#721 := (= #389 0::Int)
+#383 := (mod 0::Int 3::Int)
+#718 := (* -1::Int #383)
+#720 := (+ #11 #718)
+#377 := (= #720 0::Int)
+#399 := (<= 3::Int 0::Int)
+#402 := (>= 0::Int 0::Int)
+#403 := (or #402 #399)
+#400 := (not #403)
+#398 := (<= 0::Int 0::Int)
+#390 := (or #398 #399)
+#401 := (not #390)
+#404 := (or #401 #400)
+#722 := (if #404 #377 #721)
+#397 := (= 0::Int 0::Int)
+#723 := (if #397 #12 #722)
+#313 := (= 3::Int 0::Int)
+#724 := (if #313 #12 #723)
+#655 := (or #658 #724)
+#659 := (iff #655 #560)
+#559 := (iff #560 #560)
+#561 := [rewrite]: #559
+#551 := (iff #724 #12)
+#669 := (if false #12 #12)
+#670 := (iff #669 #12)
+#677 := [rewrite]: #670
+#549 := (iff #724 #669)
+#664 := (iff #723 #12)
+#1 := true
+#509 := (if true #12 #12)
+#665 := (iff #509 #12)
+#666 := [rewrite]: #665
+#662 := (iff #723 #509)
+#506 := (iff #722 #12)
+#675 := (iff #722 #669)
+#674 := (iff #721 #12)
+#672 := (= #389 #11)
+#411 := (+ #11 0::Int)
+#405 := (= #411 #11)
+#687 := [rewrite]: #405
+#529 := (= #389 #411)
+#527 := (= #388 0::Int)
+#682 := -3::Int
+#679 := (mod 0::Int -3::Int)
+#680 := (= #679 0::Int)
+#686 := [rewrite]: #680
+#684 := (= #388 #679)
+#683 := (= #714 -3::Int)
+#678 := [rewrite]: #683
+#698 := (= #507 0::Int)
+#408 := [rewrite]: #698
+#685 := [monotonicity #408 #678]: #684
+#528 := [trans #685 #686]: #527
+#671 := [monotonicity #528]: #529
+#673 := [trans #671 #687]: #672
+#668 := [monotonicity #673]: #674
+#692 := (iff #377 #12)
+#691 := (= #720 #11)
+#689 := (= #720 #411)
+#409 := (= #718 0::Int)
+#697 := (= #718 #507)
+#419 := (= #383 0::Int)
+#693 := [rewrite]: #419
+#694 := [monotonicity #693]: #697
+#410 := [trans #694 #408]: #409
+#690 := [monotonicity #410]: #689
+#688 := [trans #690 #687]: #691
+#681 := [monotonicity #688]: #692
+#696 := (iff #404 false)
+#423 := (or false false)
+#319 := (iff #423 false)
+#695 := [rewrite]: #319
+#424 := (iff #404 #423)
+#700 := (iff #400 false)
+#704 := (not true)
+#707 := (iff #704 false)
+#702 := [rewrite]: #707
+#713 := (iff #400 #704)
+#712 := (iff #403 true)
+#360 := (or true false)
+#365 := (iff #360 true)
+#366 := [rewrite]: #365
+#351 := (iff #403 #360)
+#376 := (iff #399 false)
+#717 := [rewrite]: #376
+#709 := (iff #402 true)
+#711 := [rewrite]: #709
+#352 := [monotonicity #711 #717]: #351
+#710 := [trans #352 #366]: #712
+#699 := [monotonicity #710]: #713
+#422 := [trans #699 #702]: #700
+#708 := (iff #401 false)
+#705 := (iff #401 #704)
+#367 := (iff #390 true)
+#701 := (iff #390 #360)
+#380 := (iff #398 true)
+#716 := [rewrite]: #380
+#364 := [monotonicity #716 #717]: #701
+#703 := [trans #364 #366]: #367
+#706 := [monotonicity #703]: #705
+#346 := [trans #706 #702]: #708
+#425 := [monotonicity #346 #422]: #424
+#418 := [trans #425 #695]: #696
+#676 := [monotonicity #418 #681 #668]: #675
+#508 := [trans #676 #677]: #506
+#715 := (iff #397 true)
+#375 := [rewrite]: #715
+#663 := [monotonicity #375 #508]: #662
+#667 := [trans #663 #666]: #664
+#719 := (iff #313 false)
+#725 := [rewrite]: #719
+#550 := [monotonicity #725 #667]: #549
+#510 := [trans #550 #677]: #551
+#544 := [monotonicity #510]: #659
+#562 := [trans #544 #561]: #659
+#656 := [quant-inst #8 #10]: #655
+#555 := [mp #656 #562]: #560
+[unit-resolution #555 #65 #739]: false
+unsat
+022cbf4beb2e566dadff63f0d8408936ecfe6766 300 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -36884,107 +34488,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#704 := (pattern #38)
+#747 := (pattern #38)
 #8 := 0::Int
-#93 := -1::Int
-#97 := (* -1::Int #18)
-#94 := (* -1::Int #16)
-#116 := (mod #94 #97)
-#272 := (+ #38 #116)
-#273 := (= #272 0::Int)
+#80 := -1::Int
+#85 := (* -1::Int #18)
+#82 := (* -1::Int #16)
+#140 := (mod #82 #85)
+#255 := (+ #38 #140)
+#256 := (= #255 0::Int)
 #39 := (mod #16 #18)
-#269 := (* -1::Int #39)
-#270 := (+ #38 #269)
-#271 := (= #270 0::Int)
-#71 := (<= #18 0::Int)
-#163 := (>= #16 0::Int)
-#216 := (or #163 #71)
-#217 := (not #216)
-#67 := (<= #16 0::Int)
-#212 := (or #67 #71)
-#213 := (not #212)
-#220 := (or #213 #217)
-#274 := (if #220 #271 #273)
-#268 := (= #38 0::Int)
+#252 := (* -1::Int #39)
+#253 := (+ #38 #252)
+#254 := (= #253 0::Int)
+#107 := (<= #18 0::Int)
+#114 := (>= #16 0::Int)
+#199 := (or #114 #107)
+#200 := (not #199)
+#103 := (<= #16 0::Int)
+#197 := (or #103 #107)
+#198 := (not #197)
+#203 := (or #198 #200)
+#257 := (if #203 #254 #256)
+#251 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#275 := (if #20 #268 #274)
-#267 := (= #38 #16)
+#258 := (if #20 #251 #257)
+#250 := (= #38 #16)
 #21 := (= #18 0::Int)
-#276 := (if #21 #267 #275)
-#705 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #704) #276)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#708 := (iff #279 #705)
-#706 := (iff #276 #276)
-#707 := [refl]: #706
-#709 := [quant-intro #707]: #708
-#122 := (* -1::Int #116)
-#236 := (if #220 #39 #122)
-#239 := (if #20 0::Int #236)
-#242 := (if #21 #16 #239)
-#245 := (= #38 #242)
-#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
-#280 := (iff #248 #279)
-#277 := (iff #245 #276)
-#278 := [rewrite]: #277
-#281 := [quant-intro #278]: #280
-#72 := (not #71)
-#166 := (not #163)
-#169 := (and #166 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#172 := (or #75 #169)
-#188 := (if #172 #39 #122)
-#191 := (if #20 0::Int #188)
-#194 := (if #21 #16 #191)
-#197 := (= #38 #194)
-#200 := (forall (vars (?v0 Int) (?v1 Int)) #197)
-#249 := (iff #200 #248)
-#246 := (iff #197 #245)
-#243 := (= #194 #242)
-#240 := (= #191 #239)
-#237 := (= #188 #236)
-#221 := (iff #172 #220)
-#218 := (iff #169 #217)
-#219 := [rewrite]: #218
-#214 := (iff #75 #213)
-#215 := [rewrite]: #214
-#222 := [monotonicity #215 #219]: #221
-#238 := [monotonicity #222]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [quant-intro #247]: #249
-#207 := (~ #200 #200)
-#162 := (~ #197 #197)
-#206 := [refl]: #162
-#210 := [nnf-pos #206]: #207
-#78 := (<= 0::Int #16)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#127 := (if #90 #39 #122)
-#130 := (if #20 0::Int #127)
-#133 := (if #21 #16 #130)
-#136 := (= #38 #133)
-#139 := (forall (vars (?v0 Int) (?v1 Int)) #136)
-#201 := (iff #139 #200)
-#198 := (iff #136 #197)
-#195 := (= #133 #194)
-#192 := (= #130 #191)
-#189 := (= #127 #188)
-#173 := (iff #90 #172)
-#170 := (iff #87 #169)
-#167 := (iff #79 #166)
-#164 := (iff #78 #163)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#190 := [monotonicity #174]: #189
-#193 := [monotonicity #190]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [quant-intro #199]: #201
+#259 := (if #21 #250 #258)
+#748 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #747) #259)
+#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
+#751 := (iff #262 #748)
+#749 := (iff #259 #259)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#146 := (* -1::Int #140)
+#219 := (if #203 #39 #146)
+#222 := (if #20 0::Int #219)
+#225 := (if #21 #16 #222)
+#228 := (= #38 #225)
+#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#108 := (not #107)
+#115 := (not #114)
+#118 := (and #115 #108)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#166 := (if #121 #39 #146)
+#169 := (if #20 0::Int #166)
+#172 := (if #21 #16 #169)
+#175 := (= #38 #172)
+#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
+#232 := (iff #178 #231)
+#229 := (iff #175 #228)
+#226 := (= #172 #225)
+#223 := (= #169 #222)
+#220 := (= #166 #219)
+#204 := (iff #121 #203)
+#201 := (iff #118 #200)
+#202 := [rewrite]: #201
+#191 := (iff #111 #198)
+#192 := [rewrite]: #191
+#205 := [monotonicity #192 #202]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#189 := (~ #178 #178)
+#188 := (~ #175 #175)
+#185 := [refl]: #188
+#190 := [nnf-pos #185]: #189
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -37000,198 +34577,209 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#140 := (iff #46 #139)
-#137 := (iff #45 #136)
-#134 := (= #44 #133)
-#131 := (= #43 #130)
-#128 := (= #42 #127)
-#125 := (= #41 #122)
-#119 := (- #116)
-#123 := (= #119 #122)
-#124 := [rewrite]: #123
-#120 := (= #41 #119)
-#117 := (= #40 #116)
-#98 := (= #31 #97)
-#99 := [rewrite]: #98
-#95 := (= #30 #94)
-#96 := [rewrite]: #95
-#118 := [monotonicity #96 #99]: #117
-#121 := [monotonicity #118]: #120
-#126 := [trans #121 #124]: #125
-#91 := (iff #28 #90)
-#88 := (iff #27 #87)
-#73 := (iff #24 #72)
-#74 := [rewrite]: #73
-#80 := (iff #26 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
-#83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #25 #75)
-#69 := (iff #23 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#129 := [monotonicity #92 #126]: #128
-#132 := [monotonicity #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [quant-intro #138]: #140
-#50 := [asserted]: #46
-#142 := [mp #50 #141]: #139
-#203 := [mp #142 #202]: #200
-#211 := [mp~ #203 #210]: #200
-#251 := [mp #211 #250]: #248
-#282 := [mp #251 #281]: #279
-#710 := [mp #282 #709]: #705
-#54 := -3::Int
+#181 := (iff #46 #178)
+#151 := (if #28 #39 #146)
+#154 := (if #20 0::Int #151)
+#157 := (if #21 #16 #154)
+#160 := (= #38 #157)
+#163 := (forall (vars (?v0 Int) (?v1 Int)) #160)
+#179 := (iff #163 #178)
+#176 := (iff #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#122 := (iff #28 #121)
+#119 := (iff #27 #118)
+#109 := (iff #24 #108)
+#110 := [rewrite]: #109
+#116 := (iff #26 #115)
+#117 := [rewrite]: #116
+#120 := [monotonicity #117 #110]: #119
+#112 := (iff #25 #111)
+#105 := (iff #23 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#168 := [monotonicity #123]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#164 := (iff #46 #163)
+#161 := (iff #45 #160)
+#158 := (= #44 #157)
+#155 := (= #43 #154)
+#152 := (= #42 #151)
+#149 := (= #41 #146)
+#143 := (- #140)
+#147 := (= #143 #146)
+#148 := [rewrite]: #147
+#144 := (= #41 #143)
+#141 := (= #40 #140)
+#86 := (= #31 #85)
+#87 := [rewrite]: #86
+#83 := (= #30 #82)
+#84 := [rewrite]: #83
+#142 := [monotonicity #84 #87]: #141
+#145 := [monotonicity #142]: #144
+#150 := [trans #145 #148]: #149
+#153 := [monotonicity #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#182 := [trans #165 #180]: #181
+#139 := [asserted]: #46
+#183 := [mp #139 #182]: #178
+#186 := [mp~ #183 #190]: #178
+#234 := [mp #186 #233]: #231
+#265 := [mp #234 #264]: #262
+#753 := [mp #265 #752]: #748
+#67 := -3::Int
 #9 := (f4 f5 0::Int)
-#57 := (f3 #9 -3::Int)
-#60 := (= #57 0::Int)
-#63 := (not #60)
+#70 := (f3 #9 -3::Int)
+#73 := (= #70 0::Int)
+#76 := (not #73)
 #10 := 3::Int
 #11 := (- 3::Int)
 #12 := (f3 #9 #11)
 #13 := (= #12 0::Int)
 #14 := (not #13)
-#64 := (iff #14 #63)
-#61 := (iff #13 #60)
-#58 := (= #12 #57)
-#55 := (= #11 -3::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #14
-#66 := [mp #48 #65]: #63
-#481 := (not #705)
-#629 := (or #481 #60)
-#685 := (* -1::Int -3::Int)
-#478 := (* -1::Int 0::Int)
-#359 := (mod #478 #685)
-#360 := (+ #57 #359)
-#692 := (= #360 0::Int)
-#354 := (mod 0::Int -3::Int)
-#689 := (* -1::Int #354)
-#691 := (+ #57 #689)
-#348 := (= #691 0::Int)
-#370 := (<= -3::Int 0::Int)
-#373 := (>= 0::Int 0::Int)
-#374 := (or #373 #370)
-#371 := (not #374)
-#369 := (<= 0::Int 0::Int)
-#361 := (or #369 #370)
-#372 := (not #361)
-#375 := (or #372 #371)
-#693 := (if #375 #348 #692)
-#368 := (= 0::Int 0::Int)
-#694 := (if #368 #60 #693)
-#283 := (= -3::Int 0::Int)
-#695 := (if #283 #60 #694)
-#531 := (or #481 #695)
-#627 := (iff #531 #629)
-#515 := (iff #629 #629)
-#530 := [rewrite]: #515
-#521 := (iff #695 #60)
-#639 := (if false #60 #60)
-#647 := (iff #639 #60)
-#641 := [rewrite]: #647
-#638 := (iff #695 #639)
-#637 := (iff #694 #60)
-#1 := true
-#479 := (if true #60 #60)
-#634 := (iff #479 #60)
-#636 := [rewrite]: #634
-#480 := (iff #694 #479)
-#648 := (iff #693 #60)
-#640 := (iff #693 #639)
-#644 := (iff #692 #60)
-#642 := (= #360 #57)
-#382 := (+ #57 0::Int)
-#376 := (= #382 #57)
-#658 := [rewrite]: #376
-#499 := (= #360 #382)
-#657 := (= #359 0::Int)
-#649 := (mod 0::Int 3::Int)
-#656 := (= #649 0::Int)
-#651 := [rewrite]: #656
-#650 := (= #359 #649)
-#653 := (= #685 3::Int)
-#654 := [rewrite]: #653
-#669 := (= #478 0::Int)
-#379 := [rewrite]: #669
-#655 := [monotonicity #379 #654]: #650
-#498 := [trans #655 #651]: #657
-#500 := [monotonicity #498]: #499
-#643 := [trans #500 #658]: #642
-#645 := [monotonicity #643]: #644
-#663 := (iff #348 #60)
-#662 := (= #691 #57)
-#660 := (= #691 #382)
-#380 := (= #689 0::Int)
-#668 := (= #689 #478)
-#390 := (= #354 0::Int)
-#664 := [rewrite]: #390
-#665 := [monotonicity #664]: #668
-#381 := [trans #665 #379]: #380
-#661 := [monotonicity #381]: #660
-#659 := [trans #661 #658]: #662
-#652 := [monotonicity #659]: #663
-#667 := (iff #375 false)
-#394 := (or false false)
-#289 := (iff #394 false)
-#666 := [rewrite]: #289
-#395 := (iff #375 #394)
-#671 := (iff #371 false)
-#675 := (not true)
-#678 := (iff #675 false)
-#673 := [rewrite]: #678
-#684 := (iff #371 #675)
-#683 := (iff #374 true)
-#331 := (or true true)
-#336 := (iff #331 true)
-#337 := [rewrite]: #336
-#322 := (iff #374 #331)
-#347 := (iff #370 true)
-#688 := [rewrite]: #347
-#680 := (iff #373 true)
-#682 := [rewrite]: #680
-#323 := [monotonicity #682 #688]: #322
-#681 := [trans #323 #337]: #683
-#670 := [monotonicity #681]: #684
-#393 := [trans #670 #673]: #671
-#679 := (iff #372 false)
-#676 := (iff #372 #675)
-#338 := (iff #361 true)
-#672 := (iff #361 #331)
-#351 := (iff #369 true)
-#687 := [rewrite]: #351
-#335 := [monotonicity #687 #688]: #672
-#674 := [trans #335 #337]: #338
-#677 := [monotonicity #674]: #676
-#317 := [trans #677 #673]: #679
-#396 := [monotonicity #317 #393]: #395
-#389 := [trans #396 #666]: #667
-#646 := [monotonicity #389 #652 #645]: #640
-#477 := [trans #646 #641]: #648
-#686 := (iff #368 true)
-#346 := [rewrite]: #686
-#633 := [monotonicity #346 #477]: #480
-#635 := [trans #633 #636]: #637
-#690 := (iff #283 false)
-#696 := [rewrite]: #690
-#520 := [monotonicity #696 #635]: #638
-#522 := [trans #520 #641]: #521
-#630 := [monotonicity #522]: #627
-#532 := [trans #630 #530]: #627
-#626 := [quant-inst #8 #54]: #531
-#533 := [mp #626 #532]: #629
-[unit-resolution #533 #66 #710]: false
-3882a63fbf201b6600e36717b769e184385c0d9b 329 0
-unsat
+#77 := (iff #14 #76)
+#74 := (iff #13 #73)
+#71 := (= #12 #70)
+#68 := (= #11 -3::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #14
+#81 := [mp #66 #78]: #76
+#524 := (not #748)
+#672 := (or #524 #73)
+#728 := (* -1::Int -3::Int)
+#521 := (* -1::Int 0::Int)
+#402 := (mod #521 #728)
+#403 := (+ #70 #402)
+#735 := (= #403 0::Int)
+#397 := (mod 0::Int -3::Int)
+#732 := (* -1::Int #397)
+#734 := (+ #70 #732)
+#391 := (= #734 0::Int)
+#413 := (<= -3::Int 0::Int)
+#416 := (>= 0::Int 0::Int)
+#417 := (or #416 #413)
+#414 := (not #417)
+#412 := (<= 0::Int 0::Int)
+#404 := (or #412 #413)
+#415 := (not #404)
+#418 := (or #415 #414)
+#736 := (if #418 #391 #735)
+#411 := (= 0::Int 0::Int)
+#737 := (if #411 #73 #736)
+#327 := (= -3::Int 0::Int)
+#738 := (if #327 #73 #737)
+#574 := (or #524 #738)
+#670 := (iff #574 #672)
+#558 := (iff #672 #672)
+#573 := [rewrite]: #558
+#564 := (iff #738 #73)
+#682 := (if false #73 #73)
+#690 := (iff #682 #73)
+#684 := [rewrite]: #690
+#681 := (iff #738 #682)
+#680 := (iff #737 #73)
+#1 := true
+#522 := (if true #73 #73)
+#677 := (iff #522 #73)
+#679 := [rewrite]: #677
+#523 := (iff #737 #522)
+#691 := (iff #736 #73)
+#683 := (iff #736 #682)
+#687 := (iff #735 #73)
+#685 := (= #403 #70)
+#425 := (+ #70 0::Int)
+#419 := (= #425 #70)
+#701 := [rewrite]: #419
+#542 := (= #403 #425)
+#700 := (= #402 0::Int)
+#692 := (mod 0::Int 3::Int)
+#699 := (= #692 0::Int)
+#694 := [rewrite]: #699
+#693 := (= #402 #692)
+#696 := (= #728 3::Int)
+#697 := [rewrite]: #696
+#712 := (= #521 0::Int)
+#422 := [rewrite]: #712
+#698 := [monotonicity #422 #697]: #693
+#541 := [trans #698 #694]: #700
+#543 := [monotonicity #541]: #542
+#686 := [trans #543 #701]: #685
+#688 := [monotonicity #686]: #687
+#706 := (iff #391 #73)
+#705 := (= #734 #70)
+#703 := (= #734 #425)
+#423 := (= #732 0::Int)
+#711 := (= #732 #521)
+#433 := (= #397 0::Int)
+#707 := [rewrite]: #433
+#708 := [monotonicity #707]: #711
+#424 := [trans #708 #422]: #423
+#704 := [monotonicity #424]: #703
+#702 := [trans #704 #701]: #705
+#695 := [monotonicity #702]: #706
+#710 := (iff #418 false)
+#437 := (or false false)
+#333 := (iff #437 false)
+#709 := [rewrite]: #333
+#438 := (iff #418 #437)
+#714 := (iff #414 false)
+#718 := (not true)
+#721 := (iff #718 false)
+#716 := [rewrite]: #721
+#727 := (iff #414 #718)
+#726 := (iff #417 true)
+#374 := (or true true)
+#379 := (iff #374 true)
+#380 := [rewrite]: #379
+#365 := (iff #417 #374)
+#390 := (iff #413 true)
+#731 := [rewrite]: #390
+#723 := (iff #416 true)
+#725 := [rewrite]: #723
+#366 := [monotonicity #725 #731]: #365
+#724 := [trans #366 #380]: #726
+#713 := [monotonicity #724]: #727
+#436 := [trans #713 #716]: #714
+#722 := (iff #415 false)
+#719 := (iff #415 #718)
+#381 := (iff #404 true)
+#715 := (iff #404 #374)
+#394 := (iff #412 true)
+#730 := [rewrite]: #394
+#378 := [monotonicity #730 #731]: #715
+#717 := [trans #378 #380]: #381
+#720 := [monotonicity #717]: #719
+#360 := [trans #720 #716]: #722
+#439 := [monotonicity #360 #436]: #438
+#432 := [trans #439 #709]: #710
+#689 := [monotonicity #432 #695 #688]: #683
+#520 := [trans #689 #684]: #691
+#729 := (iff #411 true)
+#389 := [rewrite]: #729
+#676 := [monotonicity #389 #520]: #523
+#678 := [trans #676 #679]: #680
+#733 := (iff #327 false)
+#739 := [rewrite]: #733
+#563 := [monotonicity #739 #678]: #681
+#565 := [trans #563 #684]: #564
+#673 := [monotonicity #565]: #670
+#575 := [trans #673 #573]: #670
+#669 := [quant-inst #8 #67]: #574
+#576 := [mp #669 #575]: #672
+[unit-resolution #576 #81 #753]: false
+unsat
+2fdc36e59c59da56b5dc6125f7d3f633e77a3d9e 313 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -37201,107 +34789,80 @@
 #7 := f5
 #37 := (f4 f5 #15)
 #38 := (f3 #37 #17)
-#690 := (pattern #38)
+#733 := (pattern #38)
 #19 := 0::Int
-#80 := -1::Int
-#84 := (* -1::Int #17)
-#81 := (* -1::Int #15)
-#103 := (mod #81 #84)
-#259 := (+ #38 #103)
-#260 := (= #259 0::Int)
+#68 := -1::Int
+#72 := (* -1::Int #17)
+#69 := (* -1::Int #15)
+#127 := (mod #69 #72)
+#242 := (+ #38 #127)
+#243 := (= #242 0::Int)
 #39 := (mod #15 #17)
-#256 := (* -1::Int #39)
-#257 := (+ #38 #256)
-#258 := (= #257 0::Int)
-#58 := (<= #17 0::Int)
-#150 := (>= #15 0::Int)
-#203 := (or #150 #58)
-#204 := (not #203)
-#54 := (<= #15 0::Int)
-#199 := (or #54 #58)
-#200 := (not #199)
-#207 := (or #200 #204)
-#261 := (if #207 #258 #260)
-#255 := (= #38 0::Int)
+#239 := (* -1::Int #39)
+#240 := (+ #38 #239)
+#241 := (= #240 0::Int)
+#94 := (<= #17 0::Int)
+#101 := (>= #15 0::Int)
+#186 := (or #101 #94)
+#187 := (not #186)
+#90 := (<= #15 0::Int)
+#184 := (or #90 #94)
+#185 := (not #184)
+#190 := (or #185 #187)
+#244 := (if #190 #241 #243)
+#238 := (= #38 0::Int)
 #20 := (= #15 0::Int)
-#262 := (if #20 #255 #261)
-#254 := (= #38 #15)
+#245 := (if #20 #238 #244)
+#237 := (= #38 #15)
 #21 := (= #17 0::Int)
-#263 := (if #21 #254 #262)
-#691 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #690) #263)
-#266 := (forall (vars (?v0 Int) (?v1 Int)) #263)
-#694 := (iff #266 #691)
-#692 := (iff #263 #263)
-#693 := [refl]: #692
-#695 := [quant-intro #693]: #694
-#109 := (* -1::Int #103)
-#223 := (if #207 #39 #109)
-#226 := (if #20 0::Int #223)
-#229 := (if #21 #15 #226)
-#232 := (= #38 #229)
-#235 := (forall (vars (?v0 Int) (?v1 Int)) #232)
-#267 := (iff #235 #266)
-#264 := (iff #232 #263)
-#265 := [rewrite]: #264
-#268 := [quant-intro #265]: #267
-#59 := (not #58)
-#153 := (not #150)
-#156 := (and #153 #59)
-#55 := (not #54)
-#62 := (and #55 #59)
-#159 := (or #62 #156)
-#175 := (if #159 #39 #109)
-#178 := (if #20 0::Int #175)
-#181 := (if #21 #15 #178)
-#184 := (= #38 #181)
-#187 := (forall (vars (?v0 Int) (?v1 Int)) #184)
-#236 := (iff #187 #235)
-#233 := (iff #184 #232)
-#230 := (= #181 #229)
-#227 := (= #178 #226)
-#224 := (= #175 #223)
-#208 := (iff #159 #207)
-#205 := (iff #156 #204)
-#206 := [rewrite]: #205
-#201 := (iff #62 #200)
-#202 := [rewrite]: #201
-#209 := [monotonicity #202 #206]: #208
-#225 := [monotonicity #209]: #224
-#228 := [monotonicity #225]: #227
-#231 := [monotonicity #228]: #230
-#234 := [monotonicity #231]: #233
-#237 := [quant-intro #234]: #236
-#149 := (~ #187 #187)
-#194 := (~ #184 #184)
-#148 := [refl]: #194
-#197 := [nnf-pos #148]: #149
-#65 := (<= 0::Int #15)
-#66 := (not #65)
-#74 := (and #66 #59)
-#77 := (or #62 #74)
-#114 := (if #77 #39 #109)
-#117 := (if #20 0::Int #114)
-#120 := (if #21 #15 #117)
-#123 := (= #38 #120)
-#126 := (forall (vars (?v0 Int) (?v1 Int)) #123)
-#188 := (iff #126 #187)
-#185 := (iff #123 #184)
-#182 := (= #120 #181)
-#179 := (= #117 #178)
-#176 := (= #114 #175)
-#160 := (iff #77 #159)
-#157 := (iff #74 #156)
-#154 := (iff #66 #153)
-#151 := (iff #65 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#177 := [monotonicity #161]: #176
-#180 := [monotonicity #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [quant-intro #186]: #188
+#246 := (if #21 #237 #245)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #246)
+#249 := (forall (vars (?v0 Int) (?v1 Int)) #246)
+#737 := (iff #249 #734)
+#735 := (iff #246 #246)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#133 := (* -1::Int #127)
+#206 := (if #190 #39 #133)
+#209 := (if #20 0::Int #206)
+#212 := (if #21 #15 #209)
+#215 := (= #38 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#250 := (iff #218 #249)
+#247 := (iff #215 #246)
+#248 := [rewrite]: #247
+#251 := [quant-intro #248]: #250
+#95 := (not #94)
+#102 := (not #101)
+#105 := (and #102 #95)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (if #108 #39 #133)
+#156 := (if #20 0::Int #153)
+#159 := (if #21 #15 #156)
+#162 := (= #38 #159)
+#165 := (forall (vars (?v0 Int) (?v1 Int)) #162)
+#219 := (iff #165 #218)
+#216 := (iff #162 #215)
+#213 := (= #159 #212)
+#210 := (= #156 #209)
+#207 := (= #153 #206)
+#191 := (iff #108 #190)
+#188 := (iff #105 #187)
+#189 := [rewrite]: #188
+#178 := (iff #98 #185)
+#179 := [rewrite]: #178
+#192 := [monotonicity #179 #189]: #191
+#208 := [monotonicity #192]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#176 := (~ #165 #165)
+#175 := (~ #162 #162)
+#172 := [refl]: #175
+#177 := [nnf-pos #172]: #176
 #31 := (- #17)
 #30 := (- #15)
 #40 := (mod #30 #31)
@@ -37317,211 +34878,222 @@
 #44 := (if #21 #15 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#127 := (iff #46 #126)
-#124 := (iff #45 #123)
-#121 := (= #44 #120)
-#118 := (= #43 #117)
-#115 := (= #42 #114)
-#112 := (= #41 #109)
-#106 := (- #103)
-#110 := (= #106 #109)
-#111 := [rewrite]: #110
-#107 := (= #41 #106)
-#104 := (= #40 #103)
-#85 := (= #31 #84)
-#86 := [rewrite]: #85
-#82 := (= #30 #81)
-#83 := [rewrite]: #82
-#105 := [monotonicity #83 #86]: #104
-#108 := [monotonicity #105]: #107
-#113 := [trans #108 #111]: #112
-#78 := (iff #28 #77)
-#75 := (iff #27 #74)
-#60 := (iff #24 #59)
-#61 := [rewrite]: #60
-#67 := (iff #26 #66)
-#71 := (iff #66 #66)
-#69 := (iff #65 #65)
-#70 := [rewrite]: #69
-#72 := [monotonicity #70]: #71
-#68 := [rewrite]: #67
-#73 := [trans #68 #72]: #67
-#76 := [monotonicity #73 #61]: #75
-#63 := (iff #25 #62)
-#56 := (iff #23 #55)
-#57 := [rewrite]: #56
-#64 := [monotonicity #57 #61]: #63
-#79 := [monotonicity #64 #76]: #78
-#116 := [monotonicity #79 #113]: #115
-#119 := [monotonicity #116]: #118
-#122 := [monotonicity #119]: #121
-#125 := [monotonicity #122]: #124
-#128 := [quant-intro #125]: #127
-#50 := [asserted]: #46
-#129 := [mp #50 #128]: #126
-#190 := [mp #129 #189]: #187
-#198 := [mp~ #190 #197]: #187
-#238 := [mp #198 #237]: #235
-#269 := [mp #238 #268]: #266
-#696 := [mp #269 #695]: #691
+#168 := (iff #46 #165)
+#138 := (if #28 #39 #133)
+#141 := (if #20 0::Int #138)
+#144 := (if #21 #15 #141)
+#147 := (= #38 #144)
+#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #28 #108)
+#106 := (iff #27 #105)
+#96 := (iff #24 #95)
+#97 := [rewrite]: #96
+#103 := (iff #26 #102)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104 #97]: #106
+#99 := (iff #25 #98)
+#92 := (iff #23 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #46 #150)
+#148 := (iff #45 #147)
+#145 := (= #44 #144)
+#142 := (= #43 #141)
+#139 := (= #42 #138)
+#136 := (= #41 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #41 #130)
+#128 := (= #40 #127)
+#73 := (= #31 #72)
+#74 := [rewrite]: #73
+#70 := (= #30 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #46
+#170 := [mp #126 #169]: #165
+#173 := [mp~ #170 #177]: #165
+#221 := [mp #173 #220]: #218
+#252 := [mp #221 #251]: #249
+#739 := [mp #252 #738]: #734
 #8 := 1::Int
 #10 := 3::Int
 #9 := (f4 f5 1::Int)
 #11 := (f3 #9 3::Int)
 #12 := (= #11 1::Int)
 #13 := (not #12)
-#48 := [asserted]: #13
-#610 := (not #691)
-#606 := (or #610 #12)
-#345 := (* -1::Int 3::Int)
-#671 := (* -1::Int 1::Int)
-#346 := (mod #671 #345)
-#678 := (+ #11 #346)
-#679 := (= #678 0::Int)
-#675 := (mod 1::Int 3::Int)
-#677 := (* -1::Int #675)
-#334 := (+ #11 #677)
-#464 := (= #334 0::Int)
-#347 := (<= 3::Int 0::Int)
-#360 := (>= 1::Int 0::Int)
-#357 := (or #360 #347)
-#361 := (not #357)
-#356 := (<= 1::Int 0::Int)
-#358 := (or #356 #347)
-#359 := (not #358)
-#340 := (or #359 #361)
-#680 := (if #340 #464 #679)
-#355 := (= #11 0::Int)
-#354 := (= 1::Int 0::Int)
-#681 := (if #354 #355 #680)
-#270 := (= 3::Int 0::Int)
-#676 := (if #270 #12 #681)
-#611 := (or #610 #676)
-#601 := (iff #611 #606)
-#603 := (iff #606 #606)
-#597 := [rewrite]: #603
-#608 := (iff #676 #12)
-#605 := (if false #12 #12)
-#596 := (iff #605 #12)
-#598 := [rewrite]: #596
-#607 := (iff #676 #605)
-#614 := (iff #681 #12)
-#521 := (if false #355 #12)
-#524 := (iff #521 #12)
-#617 := [rewrite]: #524
-#522 := (iff #681 #521)
-#512 := (iff #680 #12)
-#508 := -2::Int
-#467 := (= #11 -2::Int)
-#1 := true
-#616 := (if true #12 #467)
-#518 := (iff #616 #12)
-#519 := [rewrite]: #518
-#501 := (iff #680 #616)
-#612 := (iff #679 #467)
-#626 := 2::Int
-#619 := (+ 2::Int #11)
-#624 := (= #619 0::Int)
-#615 := (iff #624 #467)
-#517 := [rewrite]: #615
-#506 := (iff #679 #624)
-#623 := (= #678 #619)
-#463 := (+ #11 2::Int)
-#620 := (= #463 #619)
-#622 := [rewrite]: #620
-#465 := (= #678 #463)
-#627 := (= #346 2::Int)
-#486 := -3::Int
-#630 := (mod -1::Int -3::Int)
-#632 := (= #630 2::Int)
-#633 := [rewrite]: #632
-#631 := (= #346 #630)
-#628 := (= #345 -3::Int)
-#629 := [rewrite]: #628
-#368 := (= #671 -1::Int)
-#646 := [rewrite]: #368
-#625 := [monotonicity #646 #629]: #631
-#634 := [trans #625 #633]: #627
-#466 := [monotonicity #634]: #465
-#621 := [trans #466 #622]: #623
-#507 := [monotonicity #621]: #506
-#613 := [trans #507 #517]: #612
-#484 := (iff #464 #12)
-#649 := (+ -1::Int #11)
-#636 := (= #649 0::Int)
-#637 := (iff #636 #12)
-#643 := [rewrite]: #637
-#641 := (iff #464 #636)
-#640 := (= #334 #649)
-#644 := (+ #11 -1::Int)
-#638 := (= #644 #649)
-#639 := [rewrite]: #638
-#648 := (= #334 #644)
-#647 := (= #677 -1::Int)
-#366 := (= #677 #671)
-#655 := (= #675 1::Int)
-#365 := [rewrite]: #655
-#367 := [monotonicity #365]: #366
-#362 := [trans #367 #646]: #647
-#645 := [monotonicity #362]: #648
-#635 := [trans #645 #639]: #640
-#642 := [monotonicity #635]: #641
-#485 := [trans #642 #643]: #484
-#654 := (iff #340 true)
-#309 := (or true false)
-#670 := (iff #309 true)
-#656 := [rewrite]: #670
-#376 := (iff #340 #309)
-#653 := (iff #361 false)
-#380 := (not true)
-#276 := (iff #380 false)
-#652 := [rewrite]: #276
-#381 := (iff #361 #380)
-#657 := (iff #357 true)
-#669 := (iff #357 #309)
-#674 := (iff #347 false)
-#317 := [rewrite]: #674
-#668 := (iff #360 true)
-#308 := [rewrite]: #668
-#667 := [monotonicity #308 #317]: #669
-#379 := [trans #667 #656]: #657
-#382 := [monotonicity #379]: #381
-#375 := [trans #382 #652]: #653
-#303 := (iff #359 true)
-#662 := (not false)
-#659 := (iff #662 true)
-#665 := [rewrite]: #659
-#663 := (iff #359 #662)
-#660 := (iff #358 false)
-#658 := (or false false)
-#323 := (iff #658 false)
-#324 := [rewrite]: #323
-#321 := (iff #358 #658)
-#673 := (iff #356 false)
-#333 := [rewrite]: #673
-#322 := [monotonicity #333 #317]: #321
-#661 := [trans #322 #324]: #660
-#664 := [monotonicity #661]: #663
-#666 := [trans #664 #665]: #303
-#650 := [monotonicity #666 #375]: #376
-#651 := [trans #650 #656]: #654
-#516 := [monotonicity #651 #485 #613]: #501
-#520 := [trans #516 #519]: #512
-#332 := (iff #354 false)
-#337 := [rewrite]: #332
-#523 := [monotonicity #337 #520]: #522
-#618 := [trans #523 #617]: #614
-#682 := (iff #270 false)
-#672 := [rewrite]: #682
-#599 := [monotonicity #672 #618]: #607
-#609 := [trans #599 #598]: #608
-#602 := [monotonicity #609]: #601
-#604 := [trans #602 #597]: #601
-#600 := [quant-inst #8 #10]: #611
-#588 := [mp #600 #604]: #606
-[unit-resolution #588 #48 #696]: false
-8fb8eaf7501da70df2af1f1c31da5641a4aee45b 304 0
-unsat
+#66 := [asserted]: #13
+#652 := (not #734)
+#653 := (or #652 #12)
+#388 := (* -1::Int 3::Int)
+#714 := (* -1::Int 1::Int)
+#389 := (mod #714 #388)
+#721 := (+ #11 #389)
+#722 := (= #721 0::Int)
+#718 := (mod 1::Int 3::Int)
+#720 := (* -1::Int #718)
+#377 := (+ #11 #720)
+#507 := (= #377 0::Int)
+#390 := (<= 3::Int 0::Int)
+#403 := (>= 1::Int 0::Int)
+#400 := (or #403 #390)
+#404 := (not #400)
+#399 := (<= 1::Int 0::Int)
+#401 := (or #399 #390)
+#402 := (not #401)
+#383 := (or #402 #404)
+#723 := (if #383 #507 #722)
+#398 := (= #11 0::Int)
+#397 := (= 1::Int 0::Int)
+#724 := (if #397 #398 #723)
+#313 := (= 3::Int 0::Int)
+#719 := (if #313 #12 #724)
+#649 := (or #652 #719)
+#643 := (iff #649 #653)
+#645 := (iff #653 #653)
+#646 := [rewrite]: #645
+#641 := (iff #719 #12)
+#661 := (if false #12 #12)
+#642 := (iff #661 #12)
+#639 := [rewrite]: #642
+#648 := (iff #719 #661)
+#660 := (iff #724 #12)
+#563 := (if false #398 #12)
+#566 := (iff #563 #12)
+#567 := [rewrite]: #566
+#564 := (iff #724 #563)
+#562 := (iff #723 #12)
+#550 := -2::Int
+#551 := (= #11 -2::Int)
+#1 := true
+#656 := (if true #12 #551)
+#559 := (iff #656 #12)
+#561 := [rewrite]: #559
+#659 := (iff #723 #656)
+#560 := (iff #722 #551)
+#273 := 2::Int
+#509 := (+ 2::Int #11)
+#664 := (= #509 0::Int)
+#510 := (iff #664 #551)
+#658 := [rewrite]: #510
+#667 := (iff #722 #664)
+#665 := (= #721 #509)
+#677 := (+ #11 2::Int)
+#662 := (= #677 #509)
+#663 := [rewrite]: #662
+#506 := (= #721 #677)
+#676 := (= #389 2::Int)
+#529 := -3::Int
+#673 := (mod -1::Int -3::Int)
+#669 := (= #673 2::Int)
+#675 := [rewrite]: #669
+#674 := (= #389 #673)
+#671 := (= #388 -3::Int)
+#672 := [rewrite]: #671
+#411 := (= #714 -1::Int)
+#689 := [rewrite]: #411
+#668 := [monotonicity #689 #672]: #674
+#670 := [trans #668 #675]: #676
+#508 := [monotonicity #670]: #506
+#666 := [trans #508 #663]: #665
+#549 := [monotonicity #666]: #667
+#655 := [trans #549 #658]: #560
+#527 := (iff #507 #12)
+#692 := (+ -1::Int #11)
+#679 := (= #692 0::Int)
+#680 := (iff #679 #12)
+#686 := [rewrite]: #680
+#684 := (iff #507 #679)
+#683 := (= #377 #692)
+#687 := (+ #11 -1::Int)
+#681 := (= #687 #692)
+#682 := [rewrite]: #681
+#691 := (= #377 #687)
+#690 := (= #720 -1::Int)
+#409 := (= #720 #714)
+#698 := (= #718 1::Int)
+#408 := [rewrite]: #698
+#410 := [monotonicity #408]: #409
+#405 := [trans #410 #689]: #690
+#688 := [monotonicity #405]: #691
+#678 := [trans #688 #682]: #683
+#685 := [monotonicity #678]: #684
+#528 := [trans #685 #686]: #527
+#697 := (iff #383 true)
+#352 := (or true false)
+#713 := (iff #352 true)
+#699 := [rewrite]: #713
+#419 := (iff #383 #352)
+#696 := (iff #404 false)
+#423 := (not true)
+#319 := (iff #423 false)
+#695 := [rewrite]: #319
+#424 := (iff #404 #423)
+#700 := (iff #400 true)
+#712 := (iff #400 #352)
+#717 := (iff #390 false)
+#360 := [rewrite]: #717
+#711 := (iff #403 true)
+#351 := [rewrite]: #711
+#710 := [monotonicity #351 #360]: #712
+#422 := [trans #710 #699]: #700
+#425 := [monotonicity #422]: #424
+#418 := [trans #425 #695]: #696
+#346 := (iff #402 true)
+#705 := (not false)
+#702 := (iff #705 true)
+#708 := [rewrite]: #702
+#706 := (iff #402 #705)
+#703 := (iff #401 false)
+#701 := (or false false)
+#366 := (iff #701 false)
+#367 := [rewrite]: #366
+#364 := (iff #401 #701)
+#716 := (iff #399 false)
+#376 := [rewrite]: #716
+#365 := [monotonicity #376 #360]: #364
+#704 := [trans #365 #367]: #703
+#707 := [monotonicity #704]: #706
+#709 := [trans #707 #708]: #346
+#693 := [monotonicity #709 #418]: #419
+#694 := [trans #693 #699]: #697
+#544 := [monotonicity #694 #528 #655]: #659
+#555 := [trans #544 #561]: #562
+#375 := (iff #397 false)
+#380 := [rewrite]: #375
+#565 := [monotonicity #380 #555]: #564
+#657 := [trans #565 #567]: #660
+#725 := (iff #313 false)
+#715 := [rewrite]: #725
+#650 := [monotonicity #715 #657]: #648
+#651 := [trans #650 #639]: #641
+#644 := [monotonicity #651]: #643
+#640 := [trans #644 #646]: #643
+#654 := [quant-inst #8 #10]: #649
+#647 := [mp #654 #640]: #653
+[unit-resolution #647 #66 #739]: false
+unsat
+4ee9cc2bcab1ec5264a5fe09246eabd52d90f088 288 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #17 := (:var 0 Int)
@@ -37531,107 +35103,80 @@
 #7 := f5
 #36 := (f4 f5 #15)
 #37 := (f3 #36 #17)
-#690 := (pattern #37)
+#733 := (pattern #37)
 #11 := 0::Int
-#79 := -1::Int
-#83 := (* -1::Int #17)
-#80 := (* -1::Int #15)
-#102 := (mod #80 #83)
-#258 := (+ #37 #102)
-#259 := (= #258 0::Int)
+#67 := -1::Int
+#71 := (* -1::Int #17)
+#68 := (* -1::Int #15)
+#126 := (mod #68 #71)
+#241 := (+ #37 #126)
+#242 := (= #241 0::Int)
 #38 := (mod #15 #17)
-#255 := (* -1::Int #38)
-#256 := (+ #37 #255)
-#257 := (= #256 0::Int)
-#57 := (<= #17 0::Int)
-#149 := (>= #15 0::Int)
-#202 := (or #149 #57)
-#203 := (not #202)
-#53 := (<= #15 0::Int)
-#198 := (or #53 #57)
-#199 := (not #198)
-#206 := (or #199 #203)
-#260 := (if #206 #257 #259)
-#254 := (= #37 0::Int)
+#238 := (* -1::Int #38)
+#239 := (+ #37 #238)
+#240 := (= #239 0::Int)
+#93 := (<= #17 0::Int)
+#100 := (>= #15 0::Int)
+#185 := (or #100 #93)
+#186 := (not #185)
+#89 := (<= #15 0::Int)
+#183 := (or #89 #93)
+#184 := (not #183)
+#189 := (or #184 #186)
+#243 := (if #189 #240 #242)
+#237 := (= #37 0::Int)
 #19 := (= #15 0::Int)
-#261 := (if #19 #254 #260)
-#253 := (= #37 #15)
+#244 := (if #19 #237 #243)
+#236 := (= #37 #15)
 #20 := (= #17 0::Int)
-#262 := (if #20 #253 #261)
-#691 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #690) #262)
-#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
-#694 := (iff #265 #691)
-#692 := (iff #262 #262)
-#693 := [refl]: #692
-#695 := [quant-intro #693]: #694
-#108 := (* -1::Int #102)
-#222 := (if #206 #38 #108)
-#225 := (if #19 0::Int #222)
-#228 := (if #20 #15 #225)
-#231 := (= #37 #228)
-#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
-#266 := (iff #234 #265)
-#263 := (iff #231 #262)
-#264 := [rewrite]: #263
-#267 := [quant-intro #264]: #266
-#58 := (not #57)
-#152 := (not #149)
-#155 := (and #152 #58)
-#54 := (not #53)
-#61 := (and #54 #58)
-#158 := (or #61 #155)
-#174 := (if #158 #38 #108)
-#177 := (if #19 0::Int #174)
-#180 := (if #20 #15 #177)
-#183 := (= #37 #180)
-#186 := (forall (vars (?v0 Int) (?v1 Int)) #183)
-#235 := (iff #186 #234)
-#232 := (iff #183 #231)
-#229 := (= #180 #228)
-#226 := (= #177 #225)
-#223 := (= #174 #222)
-#207 := (iff #158 #206)
-#204 := (iff #155 #203)
-#205 := [rewrite]: #204
-#200 := (iff #61 #199)
-#201 := [rewrite]: #200
-#208 := [monotonicity #201 #205]: #207
-#224 := [monotonicity #208]: #223
-#227 := [monotonicity #224]: #226
-#230 := [monotonicity #227]: #229
-#233 := [monotonicity #230]: #232
-#236 := [quant-intro #233]: #235
-#193 := (~ #186 #186)
-#148 := (~ #183 #183)
-#192 := [refl]: #148
-#196 := [nnf-pos #192]: #193
-#64 := (<= 0::Int #15)
-#65 := (not #64)
-#73 := (and #65 #58)
-#76 := (or #61 #73)
-#113 := (if #76 #38 #108)
-#116 := (if #19 0::Int #113)
-#119 := (if #20 #15 #116)
-#122 := (= #37 #119)
-#125 := (forall (vars (?v0 Int) (?v1 Int)) #122)
-#187 := (iff #125 #186)
-#184 := (iff #122 #183)
-#181 := (= #119 #180)
-#178 := (= #116 #177)
-#175 := (= #113 #174)
-#159 := (iff #76 #158)
-#156 := (iff #73 #155)
-#153 := (iff #65 #152)
-#150 := (iff #64 #149)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#176 := [monotonicity #160]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#185 := [monotonicity #182]: #184
-#188 := [quant-intro #185]: #187
+#245 := (if #20 #236 #244)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #245)
+#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
+#737 := (iff #248 #734)
+#735 := (iff #245 #245)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#132 := (* -1::Int #126)
+#205 := (if #189 #38 #132)
+#208 := (if #19 0::Int #205)
+#211 := (if #20 #15 #208)
+#214 := (= #37 #211)
+#217 := (forall (vars (?v0 Int) (?v1 Int)) #214)
+#249 := (iff #217 #248)
+#246 := (iff #214 #245)
+#247 := [rewrite]: #246
+#250 := [quant-intro #247]: #249
+#94 := (not #93)
+#101 := (not #100)
+#104 := (and #101 #94)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (if #107 #38 #132)
+#155 := (if #19 0::Int #152)
+#158 := (if #20 #15 #155)
+#161 := (= #37 #158)
+#164 := (forall (vars (?v0 Int) (?v1 Int)) #161)
+#218 := (iff #164 #217)
+#215 := (iff #161 #214)
+#212 := (= #158 #211)
+#209 := (= #155 #208)
+#206 := (= #152 #205)
+#190 := (iff #107 #189)
+#187 := (iff #104 #186)
+#188 := [rewrite]: #187
+#177 := (iff #97 #184)
+#178 := [rewrite]: #177
+#191 := [monotonicity #178 #188]: #190
+#207 := [monotonicity #191]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [monotonicity #213]: #215
+#219 := [quant-intro #216]: #218
+#175 := (~ #164 #164)
+#174 := (~ #161 #161)
+#171 := [refl]: #174
+#176 := [nnf-pos #171]: #175
 #30 := (- #17)
 #29 := (- #15)
 #39 := (mod #29 #30)
@@ -37647,186 +35192,197 @@
 #43 := (if #20 #15 #42)
 #44 := (= #37 #43)
 #45 := (forall (vars (?v0 Int) (?v1 Int)) #44)
-#126 := (iff #45 #125)
-#123 := (iff #44 #122)
-#120 := (= #43 #119)
-#117 := (= #42 #116)
-#114 := (= #41 #113)
-#111 := (= #40 #108)
-#105 := (- #102)
-#109 := (= #105 #108)
-#110 := [rewrite]: #109
-#106 := (= #40 #105)
-#103 := (= #39 #102)
-#84 := (= #30 #83)
-#85 := [rewrite]: #84
-#81 := (= #29 #80)
-#82 := [rewrite]: #81
-#104 := [monotonicity #82 #85]: #103
-#107 := [monotonicity #104]: #106
-#112 := [trans #107 #110]: #111
-#77 := (iff #27 #76)
-#74 := (iff #26 #73)
-#59 := (iff #23 #58)
-#60 := [rewrite]: #59
-#66 := (iff #25 #65)
-#70 := (iff #65 #65)
-#68 := (iff #64 #64)
-#69 := [rewrite]: #68
-#71 := [monotonicity #69]: #70
-#67 := [rewrite]: #66
-#72 := [trans #67 #71]: #66
-#75 := [monotonicity #72 #60]: #74
-#62 := (iff #24 #61)
-#55 := (iff #22 #54)
-#56 := [rewrite]: #55
-#63 := [monotonicity #56 #60]: #62
-#78 := [monotonicity #63 #75]: #77
-#115 := [monotonicity #78 #112]: #114
-#118 := [monotonicity #115]: #117
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#127 := [quant-intro #124]: #126
-#49 := [asserted]: #45
-#128 := [mp #49 #127]: #125
-#189 := [mp #128 #188]: #186
-#197 := [mp~ #189 #196]: #186
-#237 := [mp #197 #236]: #234
-#268 := [mp #237 #267]: #265
-#696 := [mp #268 #695]: #691
+#167 := (iff #45 #164)
+#137 := (if #27 #38 #132)
+#140 := (if #19 0::Int #137)
+#143 := (if #20 #15 #140)
+#146 := (= #37 #143)
+#149 := (forall (vars (?v0 Int) (?v1 Int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #27 #107)
+#105 := (iff #26 #104)
+#95 := (iff #23 #94)
+#96 := [rewrite]: #95
+#102 := (iff #25 #101)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103 #96]: #105
+#98 := (iff #24 #97)
+#91 := (iff #22 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #45 #149)
+#147 := (iff #44 #146)
+#144 := (= #43 #143)
+#141 := (= #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #40 #129)
+#127 := (= #39 #126)
+#72 := (= #30 #71)
+#73 := [rewrite]: #72
+#69 := (= #29 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #45
+#169 := [mp #125 #168]: #164
+#172 := [mp~ #169 #176]: #164
+#220 := [mp #172 #219]: #217
+#251 := [mp #220 #250]: #248
+#739 := [mp #251 #738]: #734
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
 #10 := (f3 #9 3::Int)
 #12 := (= #10 0::Int)
 #13 := (not #12)
-#47 := [asserted]: #13
-#517 := (not #691)
-#612 := (or #517 #12)
-#334 := (* -1::Int 3::Int)
-#464 := (mod #334 #334)
-#671 := (+ #10 #464)
-#345 := (= #671 0::Int)
-#361 := (mod 3::Int 3::Int)
-#340 := (* -1::Int #361)
-#675 := (+ #10 #340)
-#677 := (= #675 0::Int)
-#355 := (<= 3::Int 0::Int)
-#358 := (>= 3::Int 0::Int)
-#359 := (or #358 #355)
-#360 := (not #359)
-#356 := (or #355 #355)
-#347 := (not #356)
-#357 := (or #347 #360)
-#346 := (if #357 #677 #345)
-#269 := (= 3::Int 0::Int)
-#678 := (if #269 #12 #346)
-#354 := (= #10 3::Int)
-#679 := (if #269 #354 #678)
-#613 := (or #517 #679)
-#501 := (iff #613 #612)
-#518 := (iff #612 #612)
-#519 := [rewrite]: #518
-#467 := (iff #679 #12)
-#621 := (if false #354 #12)
-#507 := (iff #621 #12)
-#508 := [rewrite]: #507
-#624 := (iff #679 #621)
-#622 := (iff #678 #12)
-#463 := (if false #12 #12)
-#619 := (iff #463 #12)
-#620 := [rewrite]: #619
-#465 := (iff #678 #463)
-#627 := (iff #346 #12)
-#1 := true
-#631 := (if true #12 #12)
-#632 := (iff #631 #12)
-#633 := [rewrite]: #632
-#625 := (iff #346 #631)
-#629 := (iff #345 #12)
-#486 := (= #671 #10)
-#366 := (+ #10 0::Int)
-#646 := (= #366 #10)
-#647 := [rewrite]: #646
-#484 := (= #671 #366)
-#637 := (= #464 0::Int)
-#649 := -3::Int
-#640 := (mod -3::Int -3::Int)
-#641 := (= #640 0::Int)
-#642 := [rewrite]: #641
-#635 := (= #464 #640)
-#638 := (= #334 -3::Int)
-#639 := [rewrite]: #638
-#636 := [monotonicity #639 #639]: #635
-#643 := [trans #636 #642]: #637
-#485 := [monotonicity #643]: #484
-#628 := [trans #485 #647]: #486
-#630 := [monotonicity #628]: #629
-#648 := (iff #677 #12)
-#362 := (= #675 #10)
-#367 := (= #675 #366)
-#655 := (= #340 0::Int)
-#375 := (* -1::Int 0::Int)
-#654 := (= #375 0::Int)
-#651 := [rewrite]: #654
-#376 := (= #340 #375)
-#652 := (= #361 0::Int)
-#653 := [rewrite]: #652
-#650 := [monotonicity #653]: #376
-#365 := [trans #650 #651]: #655
-#368 := [monotonicity #365]: #367
-#644 := [trans #368 #647]: #362
-#645 := [monotonicity #644]: #648
-#382 := (iff #357 true)
-#664 := (or true false)
-#303 := (iff #664 true)
-#666 := [rewrite]: #303
-#380 := (iff #357 #664)
-#657 := (iff #360 false)
-#309 := (not true)
-#670 := (iff #309 false)
-#656 := [rewrite]: #670
-#669 := (iff #360 #309)
-#668 := (iff #359 true)
-#659 := (iff #359 #664)
-#676 := (iff #355 false)
-#682 := [rewrite]: #676
-#662 := (iff #358 true)
+#65 := [asserted]: #13
+#560 := (not #734)
+#655 := (or #560 #12)
+#377 := (* -1::Int 3::Int)
+#507 := (mod #377 #377)
+#714 := (+ #10 #507)
+#388 := (= #714 0::Int)
+#404 := (mod 3::Int 3::Int)
+#383 := (* -1::Int #404)
+#718 := (+ #10 #383)
+#720 := (= #718 0::Int)
+#398 := (<= 3::Int 0::Int)
+#401 := (>= 3::Int 0::Int)
+#402 := (or #401 #398)
+#403 := (not #402)
+#399 := (or #398 #398)
+#390 := (not #399)
+#400 := (or #390 #403)
+#389 := (if #400 #720 #388)
+#313 := (= 3::Int 0::Int)
+#721 := (if #313 #12 #389)
+#397 := (= #10 3::Int)
+#722 := (if #313 #397 #721)
+#656 := (or #560 #722)
+#544 := (iff #656 #655)
+#561 := (iff #655 #655)
+#562 := [rewrite]: #561
+#510 := (iff #722 #12)
+#664 := (if false #397 #12)
+#550 := (iff #664 #12)
+#551 := [rewrite]: #550
+#667 := (iff #722 #664)
+#665 := (iff #721 #12)
+#506 := (if false #12 #12)
+#662 := (iff #506 #12)
 #663 := [rewrite]: #662
-#665 := [monotonicity #663 #682]: #659
-#308 := [trans #665 #666]: #668
-#667 := [monotonicity #308]: #669
-#379 := [trans #667 #656]: #657
-#660 := (iff #347 true)
-#658 := (not false)
-#323 := (iff #658 true)
-#324 := [rewrite]: #323
-#321 := (iff #347 #658)
-#674 := (iff #356 false)
-#672 := (or false false)
-#673 := (iff #672 false)
-#333 := [rewrite]: #673
-#332 := (iff #356 #672)
-#337 := [monotonicity #682 #682]: #332
-#317 := [trans #337 #333]: #674
-#322 := [monotonicity #317]: #321
-#661 := [trans #322 #324]: #660
-#381 := [monotonicity #661 #379]: #380
-#275 := [trans #381 #666]: #382
-#626 := [monotonicity #275 #645 #630]: #625
-#634 := [trans #626 #633]: #627
-#680 := (iff #269 false)
-#681 := [rewrite]: #680
-#466 := [monotonicity #681 #634]: #465
-#623 := [trans #466 #620]: #622
-#506 := [monotonicity #681 #623]: #624
-#615 := [trans #506 #508]: #467
-#516 := [monotonicity #615]: #501
-#512 := [trans #516 #519]: #501
-#616 := [quant-inst #8 #8]: #613
-#520 := [mp #616 #512]: #612
-[unit-resolution #520 #47 #696]: false
-02010738b40a0ce955cc2273aa34fc24db09e1c2 335 0
-unsat
+#508 := (iff #721 #506)
+#670 := (iff #389 #12)
+#1 := true
+#674 := (if true #12 #12)
+#675 := (iff #674 #12)
+#676 := [rewrite]: #675
+#668 := (iff #389 #674)
+#672 := (iff #388 #12)
+#529 := (= #714 #10)
+#409 := (+ #10 0::Int)
+#689 := (= #409 #10)
+#690 := [rewrite]: #689
+#527 := (= #714 #409)
+#680 := (= #507 0::Int)
+#692 := -3::Int
+#683 := (mod -3::Int -3::Int)
+#684 := (= #683 0::Int)
+#685 := [rewrite]: #684
+#678 := (= #507 #683)
+#681 := (= #377 -3::Int)
+#682 := [rewrite]: #681
+#679 := [monotonicity #682 #682]: #678
+#686 := [trans #679 #685]: #680
+#528 := [monotonicity #686]: #527
+#671 := [trans #528 #690]: #529
+#673 := [monotonicity #671]: #672
+#691 := (iff #720 #12)
+#405 := (= #718 #10)
+#410 := (= #718 #409)
+#698 := (= #383 0::Int)
+#418 := (* -1::Int 0::Int)
+#697 := (= #418 0::Int)
+#694 := [rewrite]: #697
+#419 := (= #383 #418)
+#695 := (= #404 0::Int)
+#696 := [rewrite]: #695
+#693 := [monotonicity #696]: #419
+#408 := [trans #693 #694]: #698
+#411 := [monotonicity #408]: #410
+#687 := [trans #411 #690]: #405
+#688 := [monotonicity #687]: #691
+#425 := (iff #400 true)
+#707 := (or true false)
+#346 := (iff #707 true)
+#709 := [rewrite]: #346
+#423 := (iff #400 #707)
+#700 := (iff #403 false)
+#352 := (not true)
+#713 := (iff #352 false)
+#699 := [rewrite]: #713
+#712 := (iff #403 #352)
+#711 := (iff #402 true)
+#702 := (iff #402 #707)
+#719 := (iff #398 false)
+#725 := [rewrite]: #719
+#705 := (iff #401 true)
+#706 := [rewrite]: #705
+#708 := [monotonicity #706 #725]: #702
+#351 := [trans #708 #709]: #711
+#710 := [monotonicity #351]: #712
+#422 := [trans #710 #699]: #700
+#703 := (iff #390 true)
+#701 := (not false)
+#366 := (iff #701 true)
+#367 := [rewrite]: #366
+#364 := (iff #390 #701)
+#717 := (iff #399 false)
+#715 := (or false false)
+#716 := (iff #715 false)
+#376 := [rewrite]: #716
+#375 := (iff #399 #715)
+#380 := [monotonicity #725 #725]: #375
+#360 := [trans #380 #376]: #717
+#365 := [monotonicity #360]: #364
+#704 := [trans #365 #367]: #703
+#424 := [monotonicity #704 #422]: #423
+#319 := [trans #424 #709]: #425
+#669 := [monotonicity #319 #688 #673]: #668
+#677 := [trans #669 #676]: #670
+#723 := (iff #313 false)
+#724 := [rewrite]: #723
+#509 := [monotonicity #724 #677]: #508
+#666 := [trans #509 #663]: #665
+#549 := [monotonicity #724 #666]: #667
+#658 := [trans #549 #551]: #510
+#559 := [monotonicity #658]: #544
+#555 := [trans #559 #562]: #544
+#659 := [quant-inst #8 #8]: #656
+#563 := [mp #659 #555]: #655
+[unit-resolution #563 #65 #739]: false
+unsat
+fcf9d10e8b8381a23681610013bef54bc4a13a37 319 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -37836,107 +35392,80 @@
 #7 := f5
 #38 := (f4 f5 #16)
 #39 := (f3 #38 #18)
-#692 := (pattern #39)
+#733 := (pattern #39)
 #20 := 0::Int
-#81 := -1::Int
-#85 := (* -1::Int #18)
-#82 := (* -1::Int #16)
-#104 := (mod #82 #85)
-#260 := (+ #39 #104)
-#261 := (= #260 0::Int)
+#69 := -1::Int
+#73 := (* -1::Int #18)
+#70 := (* -1::Int #16)
+#128 := (mod #70 #73)
+#243 := (+ #39 #128)
+#244 := (= #243 0::Int)
 #40 := (mod #16 #18)
-#257 := (* -1::Int #40)
-#258 := (+ #39 #257)
-#259 := (= #258 0::Int)
-#59 := (<= #18 0::Int)
-#151 := (>= #16 0::Int)
-#204 := (or #151 #59)
-#205 := (not #204)
-#55 := (<= #16 0::Int)
-#200 := (or #55 #59)
-#201 := (not #200)
-#208 := (or #201 #205)
-#262 := (if #208 #259 #261)
-#256 := (= #39 0::Int)
+#240 := (* -1::Int #40)
+#241 := (+ #39 #240)
+#242 := (= #241 0::Int)
+#95 := (<= #18 0::Int)
+#102 := (>= #16 0::Int)
+#187 := (or #102 #95)
+#188 := (not #187)
+#91 := (<= #16 0::Int)
+#185 := (or #91 #95)
+#186 := (not #185)
+#191 := (or #186 #188)
+#245 := (if #191 #242 #244)
+#239 := (= #39 0::Int)
 #21 := (= #16 0::Int)
-#263 := (if #21 #256 #262)
-#255 := (= #39 #16)
+#246 := (if #21 #239 #245)
+#238 := (= #39 #16)
 #22 := (= #18 0::Int)
-#264 := (if #22 #255 #263)
-#693 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #692) #264)
-#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
-#696 := (iff #267 #693)
-#694 := (iff #264 #264)
-#695 := [refl]: #694
-#697 := [quant-intro #695]: #696
-#110 := (* -1::Int #104)
-#224 := (if #208 #40 #110)
-#227 := (if #21 0::Int #224)
-#230 := (if #22 #16 #227)
-#233 := (= #39 #230)
-#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
-#268 := (iff #236 #267)
-#265 := (iff #233 #264)
-#266 := [rewrite]: #265
-#269 := [quant-intro #266]: #268
-#60 := (not #59)
-#154 := (not #151)
-#157 := (and #154 #60)
-#56 := (not #55)
-#63 := (and #56 #60)
-#160 := (or #63 #157)
-#176 := (if #160 #40 #110)
-#179 := (if #21 0::Int #176)
-#182 := (if #22 #16 #179)
-#185 := (= #39 #182)
-#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
-#237 := (iff #188 #236)
-#234 := (iff #185 #233)
-#231 := (= #182 #230)
-#228 := (= #179 #227)
-#225 := (= #176 #224)
-#209 := (iff #160 #208)
-#206 := (iff #157 #205)
-#207 := [rewrite]: #206
-#202 := (iff #63 #201)
-#203 := [rewrite]: #202
-#210 := [monotonicity #203 #207]: #209
-#226 := [monotonicity #210]: #225
-#229 := [monotonicity #226]: #228
-#232 := [monotonicity #229]: #231
-#235 := [monotonicity #232]: #234
-#238 := [quant-intro #235]: #237
-#195 := (~ #188 #188)
-#150 := (~ #185 #185)
-#194 := [refl]: #150
-#198 := [nnf-pos #194]: #195
-#66 := (<= 0::Int #16)
-#67 := (not #66)
-#75 := (and #67 #60)
-#78 := (or #63 #75)
-#115 := (if #78 #40 #110)
-#118 := (if #21 0::Int #115)
-#121 := (if #22 #16 #118)
-#124 := (= #39 #121)
-#127 := (forall (vars (?v0 Int) (?v1 Int)) #124)
-#189 := (iff #127 #188)
-#186 := (iff #124 #185)
-#183 := (= #121 #182)
-#180 := (= #118 #179)
-#177 := (= #115 #176)
-#161 := (iff #78 #160)
-#158 := (iff #75 #157)
-#155 := (iff #67 #154)
-#152 := (iff #66 #151)
-#153 := [rewrite]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#162 := [monotonicity #159]: #161
-#178 := [monotonicity #162]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [quant-intro #187]: #189
+#247 := (if #22 #238 #246)
+#734 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #733) #247)
+#250 := (forall (vars (?v0 Int) (?v1 Int)) #247)
+#737 := (iff #250 #734)
+#735 := (iff #247 #247)
+#736 := [refl]: #735
+#738 := [quant-intro #736]: #737
+#134 := (* -1::Int #128)
+#207 := (if #191 #40 #134)
+#210 := (if #21 0::Int #207)
+#213 := (if #22 #16 #210)
+#216 := (= #39 #213)
+#219 := (forall (vars (?v0 Int) (?v1 Int)) #216)
+#251 := (iff #219 #250)
+#248 := (iff #216 #247)
+#249 := [rewrite]: #248
+#252 := [quant-intro #249]: #251
+#96 := (not #95)
+#103 := (not #102)
+#106 := (and #103 #96)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#154 := (if #109 #40 #134)
+#157 := (if #21 0::Int #154)
+#160 := (if #22 #16 #157)
+#163 := (= #39 #160)
+#166 := (forall (vars (?v0 Int) (?v1 Int)) #163)
+#220 := (iff #166 #219)
+#217 := (iff #163 #216)
+#214 := (= #160 #213)
+#211 := (= #157 #210)
+#208 := (= #154 #207)
+#192 := (iff #109 #191)
+#189 := (iff #106 #188)
+#190 := [rewrite]: #189
+#179 := (iff #99 #186)
+#180 := [rewrite]: #179
+#193 := [monotonicity #180 #190]: #192
+#209 := [monotonicity #193]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [monotonicity #215]: #217
+#221 := [quant-intro #218]: #220
+#177 := (~ #166 #166)
+#176 := (~ #163 #163)
+#173 := [refl]: #176
+#178 := [nnf-pos #173]: #177
 #32 := (- #18)
 #31 := (- #16)
 #41 := (mod #31 #32)
@@ -37952,53 +35481,64 @@
 #45 := (if #22 #16 #44)
 #46 := (= #39 #45)
 #47 := (forall (vars (?v0 Int) (?v1 Int)) #46)
-#128 := (iff #47 #127)
-#125 := (iff #46 #124)
-#122 := (= #45 #121)
-#119 := (= #44 #118)
-#116 := (= #43 #115)
-#113 := (= #42 #110)
-#107 := (- #104)
-#111 := (= #107 #110)
-#112 := [rewrite]: #111
-#108 := (= #42 #107)
-#105 := (= #41 #104)
-#86 := (= #32 #85)
-#87 := [rewrite]: #86
-#83 := (= #31 #82)
-#84 := [rewrite]: #83
-#106 := [monotonicity #84 #87]: #105
-#109 := [monotonicity #106]: #108
-#114 := [trans #109 #112]: #113
-#79 := (iff #29 #78)
-#76 := (iff #28 #75)
-#61 := (iff #25 #60)
-#62 := [rewrite]: #61
-#68 := (iff #27 #67)
-#72 := (iff #67 #67)
-#70 := (iff #66 #66)
-#71 := [rewrite]: #70
-#73 := [monotonicity #71]: #72
-#69 := [rewrite]: #68
-#74 := [trans #69 #73]: #68
-#77 := [monotonicity #74 #62]: #76
-#64 := (iff #26 #63)
-#57 := (iff #24 #56)
-#58 := [rewrite]: #57
-#65 := [monotonicity #58 #62]: #64
-#80 := [monotonicity #65 #77]: #79
-#117 := [monotonicity #80 #114]: #116
-#120 := [monotonicity #117]: #119
-#123 := [monotonicity #120]: #122
-#126 := [monotonicity #123]: #125
-#129 := [quant-intro #126]: #128
-#51 := [asserted]: #47
-#130 := [mp #51 #129]: #127
-#191 := [mp #130 #190]: #188
-#199 := [mp~ #191 #198]: #188
-#239 := [mp #199 #238]: #236
-#270 := [mp #239 #269]: #267
-#698 := [mp #270 #697]: #693
+#169 := (iff #47 #166)
+#139 := (if #29 #40 #134)
+#142 := (if #21 0::Int #139)
+#145 := (if #22 #16 #142)
+#148 := (= #39 #145)
+#151 := (forall (vars (?v0 Int) (?v1 Int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#110 := (iff #29 #109)
+#107 := (iff #28 #106)
+#97 := (iff #25 #96)
+#98 := [rewrite]: #97
+#104 := (iff #27 #103)
+#105 := [rewrite]: #104
+#108 := [monotonicity #105 #98]: #107
+#100 := (iff #26 #99)
+#93 := (iff #24 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #47 #151)
+#149 := (iff #46 #148)
+#146 := (= #45 #145)
+#143 := (= #44 #142)
+#140 := (= #43 #139)
+#137 := (= #42 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #42 #131)
+#129 := (= #41 #128)
+#74 := (= #32 #73)
+#75 := [rewrite]: #74
+#71 := (= #31 #70)
+#72 := [rewrite]: #71
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #47
+#171 := [mp #127 #170]: #166
+#174 := [mp~ #171 #178]: #166
+#222 := [mp #174 #221]: #219
+#253 := [mp #222 #252]: #250
+#739 := [mp #253 #738]: #734
 #12 := 2::Int
 #10 := 3::Int
 #8 := 5::Int
@@ -38006,163 +35546,163 @@
 #11 := (f3 #9 3::Int)
 #13 := (= #11 2::Int)
 #14 := (not #13)
-#49 := [asserted]: #14
-#603 := (not #693)
-#604 := (or #603 #13)
-#348 := (* -1::Int 3::Int)
-#347 := (* -1::Int 5::Int)
-#680 := (mod #347 #348)
-#681 := (+ #11 #680)
-#682 := (= #681 0::Int)
-#679 := (mod 5::Int 3::Int)
-#336 := (* -1::Int #679)
-#466 := (+ #11 #336)
-#673 := (= #466 0::Int)
-#360 := (<= 3::Int 0::Int)
-#359 := (>= 5::Int 0::Int)
-#363 := (or #359 #360)
-#342 := (not #363)
-#349 := (<= 5::Int 0::Int)
-#361 := (or #349 #360)
-#362 := (not #361)
-#677 := (or #362 #342)
-#683 := (if #677 #673 #682)
-#358 := (= #11 0::Int)
-#357 := (= 5::Int 0::Int)
-#678 := (if #357 #358 #683)
-#356 := (= #11 5::Int)
-#271 := (= 3::Int 0::Int)
-#684 := (if #271 #356 #678)
-#605 := (or #603 #684)
-#606 := (iff #605 #604)
-#591 := (iff #604 #604)
-#593 := [rewrite]: #591
-#613 := (iff #684 #13)
-#600 := (if false #356 #13)
-#612 := (iff #600 #13)
-#608 := [rewrite]: #612
-#610 := (iff #684 #600)
-#601 := (iff #678 #13)
-#619 := (if false #358 #13)
-#607 := (iff #619 #13)
-#609 := [rewrite]: #607
-#616 := (iff #678 #619)
-#525 := (iff #683 #13)
-#615 := (= #11 -1::Int)
-#1 := true
-#521 := (if true #13 #615)
-#523 := (iff #521 #13)
-#524 := [rewrite]: #523
-#514 := (iff #683 #521)
-#518 := (iff #682 #615)
-#289 := 1::Int
-#626 := (+ 1::Int #11)
-#617 := (= #626 0::Int)
-#618 := (iff #617 #615)
-#503 := [rewrite]: #618
-#519 := (iff #682 #617)
-#510 := (= #681 #626)
-#624 := (+ #11 1::Int)
-#508 := (= #624 #626)
+#67 := [asserted]: #14
+#644 := (not #734)
+#645 := (or #644 #13)
+#389 := (* -1::Int 3::Int)
+#388 := (* -1::Int 5::Int)
+#721 := (mod #388 #389)
+#722 := (+ #11 #721)
+#723 := (= #722 0::Int)
+#720 := (mod 5::Int 3::Int)
+#377 := (* -1::Int #720)
+#507 := (+ #11 #377)
+#714 := (= #507 0::Int)
+#401 := (<= 3::Int 0::Int)
+#400 := (>= 5::Int 0::Int)
+#404 := (or #400 #401)
+#383 := (not #404)
+#390 := (<= 5::Int 0::Int)
+#402 := (or #390 #401)
+#403 := (not #402)
+#718 := (or #403 #383)
+#724 := (if #718 #714 #723)
+#399 := (= #11 0::Int)
+#398 := (= 5::Int 0::Int)
+#719 := (if #398 #399 #724)
+#397 := (= #11 5::Int)
+#313 := (= 3::Int 0::Int)
+#725 := (if #313 #397 #719)
+#646 := (or #644 #725)
+#647 := (iff #646 #645)
+#632 := (iff #645 #645)
+#634 := [rewrite]: #632
+#654 := (iff #725 #13)
+#641 := (if false #397 #13)
+#653 := (iff #641 #13)
+#649 := [rewrite]: #653
+#651 := (iff #725 #641)
+#642 := (iff #719 #13)
+#660 := (if false #399 #13)
+#648 := (iff #660 #13)
+#650 := [rewrite]: #648
+#657 := (iff #719 #660)
+#566 := (iff #724 #13)
+#656 := (= #11 -1::Int)
+#1 := true
+#562 := (if true #13 #656)
+#564 := (iff #562 #13)
+#565 := [rewrite]: #564
+#555 := (iff #724 #562)
+#559 := (iff #723 #656)
+#266 := 1::Int
+#667 := (+ 1::Int #11)
+#658 := (= #667 0::Int)
+#659 := (iff #658 #656)
+#544 := [rewrite]: #659
+#560 := (iff #723 #658)
+#551 := (= #722 #667)
+#665 := (+ #11 1::Int)
+#549 := (= #665 #667)
+#550 := [rewrite]: #549
+#666 := (= #722 #665)
+#662 := (= #721 1::Int)
+#669 := -3::Int
+#673 := -5::Int
+#670 := (mod -5::Int -3::Int)
+#508 := (= #670 1::Int)
 #509 := [rewrite]: #508
-#625 := (= #681 #624)
-#621 := (= #680 1::Int)
-#628 := -3::Int
-#632 := -5::Int
-#629 := (mod -5::Int -3::Int)
-#467 := (= #629 1::Int)
-#468 := [rewrite]: #467
-#636 := (= #680 #629)
-#634 := (= #348 -3::Int)
-#635 := [rewrite]: #634
-#633 := (= #347 -5::Int)
-#627 := [rewrite]: #633
-#465 := [monotonicity #627 #635]: #636
-#622 := [trans #465 #468]: #621
-#623 := [monotonicity #622]: #625
-#469 := [trans #623 #509]: #510
-#614 := [monotonicity #469]: #519
-#520 := [trans #614 #503]: #518
-#630 := (iff #673 #13)
-#649 := -2::Int
-#642 := (+ -2::Int #11)
-#639 := (= #642 0::Int)
-#487 := (iff #639 #13)
-#488 := [rewrite]: #487
-#645 := (iff #673 #639)
-#643 := (= #466 #642)
-#651 := (+ #11 -2::Int)
-#637 := (= #651 #642)
-#638 := [rewrite]: #637
-#640 := (= #466 #651)
-#650 := (= #336 -2::Int)
-#369 := (* -1::Int 2::Int)
-#364 := (= #369 -2::Int)
-#646 := [rewrite]: #364
-#370 := (= #336 #369)
-#367 := (= #679 2::Int)
-#368 := [rewrite]: #367
-#648 := [monotonicity #368]: #370
-#647 := [trans #648 #646]: #650
-#641 := [monotonicity #647]: #640
-#644 := [trans #641 #638]: #643
-#486 := [monotonicity #644]: #645
-#631 := [trans #486 #488]: #630
-#653 := (iff #677 true)
-#671 := (or true false)
-#658 := (iff #671 true)
-#659 := [rewrite]: #658
-#652 := (iff #677 #671)
-#377 := (iff #342 false)
-#383 := (not true)
-#654 := (iff #383 false)
-#655 := [rewrite]: #654
-#384 := (iff #342 #383)
-#381 := (iff #363 true)
-#669 := (iff #363 #671)
-#319 := (iff #360 false)
-#660 := [rewrite]: #319
-#310 := (iff #359 true)
-#311 := [rewrite]: #310
-#672 := [monotonicity #311 #660]: #669
-#382 := [trans #672 #659]: #381
-#277 := [monotonicity #382]: #384
-#378 := [trans #277 #655]: #377
-#668 := (iff #362 true)
-#665 := (not false)
-#667 := (iff #665 true)
-#305 := [rewrite]: #667
-#666 := (iff #362 #665)
-#663 := (iff #361 false)
-#323 := (or false false)
-#326 := (iff #323 false)
-#662 := [rewrite]: #326
-#324 := (iff #361 #323)
-#335 := (iff #349 false)
-#676 := [rewrite]: #335
-#325 := [monotonicity #676 #660]: #324
-#664 := [trans #325 #662]: #663
-#661 := [monotonicity #664]: #666
-#670 := [trans #661 #305]: #668
-#656 := [monotonicity #670 #378]: #652
-#657 := [trans #656 #659]: #653
-#522 := [monotonicity #657 #631 #520]: #514
-#526 := [trans #522 #524]: #525
-#339 := (iff #357 false)
-#675 := [rewrite]: #339
-#620 := [monotonicity #675 #526]: #616
-#598 := [trans #620 #609]: #601
-#674 := (iff #271 false)
-#334 := [rewrite]: #674
-#611 := [monotonicity #334 #598]: #610
-#602 := [trans #611 #608]: #613
-#590 := [monotonicity #602]: #606
-#594 := [trans #590 #593]: #606
-#599 := [quant-inst #8 #10]: #605
-#595 := [mp #599 #594]: #604
-[unit-resolution #595 #49 #698]: false
-2b60566cabaa3881d0df54c1bbba88b2e72ec302 342 0
-unsat
+#677 := (= #721 #670)
+#675 := (= #389 -3::Int)
+#676 := [rewrite]: #675
+#674 := (= #388 -5::Int)
+#668 := [rewrite]: #674
+#506 := [monotonicity #668 #676]: #677
+#663 := [trans #506 #509]: #662
+#664 := [monotonicity #663]: #666
+#510 := [trans #664 #550]: #551
+#655 := [monotonicity #510]: #560
+#561 := [trans #655 #544]: #559
+#671 := (iff #714 #13)
+#690 := -2::Int
+#683 := (+ -2::Int #11)
+#680 := (= #683 0::Int)
+#528 := (iff #680 #13)
+#529 := [rewrite]: #528
+#686 := (iff #714 #680)
+#684 := (= #507 #683)
+#692 := (+ #11 -2::Int)
+#678 := (= #692 #683)
+#679 := [rewrite]: #678
+#681 := (= #507 #692)
+#691 := (= #377 -2::Int)
+#410 := (* -1::Int 2::Int)
+#405 := (= #410 -2::Int)
+#687 := [rewrite]: #405
+#411 := (= #377 #410)
+#408 := (= #720 2::Int)
+#409 := [rewrite]: #408
+#689 := [monotonicity #409]: #411
+#688 := [trans #689 #687]: #691
+#682 := [monotonicity #688]: #681
+#685 := [trans #682 #679]: #684
+#527 := [monotonicity #685]: #686
+#672 := [trans #527 #529]: #671
+#694 := (iff #718 true)
+#712 := (or true false)
+#699 := (iff #712 true)
+#700 := [rewrite]: #699
+#693 := (iff #718 #712)
+#418 := (iff #383 false)
+#424 := (not true)
+#695 := (iff #424 false)
+#696 := [rewrite]: #695
+#425 := (iff #383 #424)
+#422 := (iff #404 true)
+#710 := (iff #404 #712)
+#360 := (iff #401 false)
+#701 := [rewrite]: #360
+#351 := (iff #400 true)
+#352 := [rewrite]: #351
+#713 := [monotonicity #352 #701]: #710
+#423 := [trans #713 #700]: #422
+#319 := [monotonicity #423]: #425
+#419 := [trans #319 #696]: #418
+#709 := (iff #403 true)
+#706 := (not false)
+#708 := (iff #706 true)
+#346 := [rewrite]: #708
+#707 := (iff #403 #706)
+#704 := (iff #402 false)
+#364 := (or false false)
+#367 := (iff #364 false)
+#703 := [rewrite]: #367
+#365 := (iff #402 #364)
+#376 := (iff #390 false)
+#717 := [rewrite]: #376
+#366 := [monotonicity #717 #701]: #365
+#705 := [trans #366 #703]: #704
+#702 := [monotonicity #705]: #707
+#711 := [trans #702 #346]: #709
+#697 := [monotonicity #711 #419]: #693
+#698 := [trans #697 #700]: #694
+#563 := [monotonicity #698 #672 #561]: #555
+#567 := [trans #563 #565]: #566
+#380 := (iff #398 false)
+#716 := [rewrite]: #380
+#661 := [monotonicity #716 #567]: #657
+#639 := [trans #661 #650]: #642
+#715 := (iff #313 false)
+#375 := [rewrite]: #715
+#652 := [monotonicity #375 #639]: #651
+#643 := [trans #652 #649]: #654
+#631 := [monotonicity #643]: #647
+#635 := [trans #631 #634]: #647
+#640 := [quant-inst #8 #10]: #646
+#636 := [mp #640 #635]: #645
+[unit-resolution #636 #67 #739]: false
+unsat
+c497ff275eec9dfc0af1251e4c8516213924660f 326 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #20 := (:var 0 Int)
@@ -38172,107 +35712,80 @@
 #7 := f5
 #40 := (f4 f5 #18)
 #41 := (f3 #40 #20)
-#709 := (pattern #41)
+#751 := (pattern #41)
 #22 := 0::Int
-#99 := -1::Int
-#103 := (* -1::Int #20)
-#100 := (* -1::Int #18)
-#122 := (mod #100 #103)
-#278 := (+ #41 #122)
-#279 := (= #278 0::Int)
+#86 := -1::Int
+#91 := (* -1::Int #20)
+#88 := (* -1::Int #18)
+#146 := (mod #88 #91)
+#261 := (+ #41 #146)
+#262 := (= #261 0::Int)
 #42 := (mod #18 #20)
-#275 := (* -1::Int #42)
-#276 := (+ #41 #275)
-#277 := (= #276 0::Int)
-#77 := (<= #20 0::Int)
-#169 := (>= #18 0::Int)
-#222 := (or #169 #77)
-#223 := (not #222)
-#73 := (<= #18 0::Int)
-#218 := (or #73 #77)
-#219 := (not #218)
-#226 := (or #219 #223)
-#280 := (if #226 #277 #279)
-#274 := (= #41 0::Int)
+#258 := (* -1::Int #42)
+#259 := (+ #41 #258)
+#260 := (= #259 0::Int)
+#113 := (<= #20 0::Int)
+#120 := (>= #18 0::Int)
+#205 := (or #120 #113)
+#206 := (not #205)
+#109 := (<= #18 0::Int)
+#203 := (or #109 #113)
+#204 := (not #203)
+#209 := (or #204 #206)
+#263 := (if #209 #260 #262)
+#257 := (= #41 0::Int)
 #23 := (= #18 0::Int)
-#281 := (if #23 #274 #280)
-#273 := (= #41 #18)
+#264 := (if #23 #257 #263)
+#256 := (= #41 #18)
 #24 := (= #20 0::Int)
-#282 := (if #24 #273 #281)
-#710 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #709) #282)
-#285 := (forall (vars (?v0 Int) (?v1 Int)) #282)
-#713 := (iff #285 #710)
-#711 := (iff #282 #282)
-#712 := [refl]: #711
-#714 := [quant-intro #712]: #713
-#128 := (* -1::Int #122)
-#242 := (if #226 #42 #128)
-#245 := (if #23 0::Int #242)
-#248 := (if #24 #18 #245)
-#251 := (= #41 #248)
-#254 := (forall (vars (?v0 Int) (?v1 Int)) #251)
-#286 := (iff #254 #285)
-#283 := (iff #251 #282)
-#284 := [rewrite]: #283
-#287 := [quant-intro #284]: #286
-#78 := (not #77)
-#172 := (not #169)
-#175 := (and #172 #78)
-#74 := (not #73)
-#81 := (and #74 #78)
-#178 := (or #81 #175)
-#194 := (if #178 #42 #128)
-#197 := (if #23 0::Int #194)
-#200 := (if #24 #18 #197)
-#203 := (= #41 #200)
-#206 := (forall (vars (?v0 Int) (?v1 Int)) #203)
-#255 := (iff #206 #254)
-#252 := (iff #203 #251)
-#249 := (= #200 #248)
-#246 := (= #197 #245)
-#243 := (= #194 #242)
-#227 := (iff #178 #226)
-#224 := (iff #175 #223)
-#225 := [rewrite]: #224
-#220 := (iff #81 #219)
-#221 := [rewrite]: #220
-#228 := [monotonicity #221 #225]: #227
-#244 := [monotonicity #228]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [monotonicity #250]: #252
-#256 := [quant-intro #253]: #255
-#168 := (~ #206 #206)
-#213 := (~ #203 #203)
-#167 := [refl]: #213
-#216 := [nnf-pos #167]: #168
-#84 := (<= 0::Int #18)
-#85 := (not #84)
-#93 := (and #85 #78)
-#96 := (or #81 #93)
-#133 := (if #96 #42 #128)
-#136 := (if #23 0::Int #133)
-#139 := (if #24 #18 #136)
-#142 := (= #41 #139)
-#145 := (forall (vars (?v0 Int) (?v1 Int)) #142)
-#207 := (iff #145 #206)
-#204 := (iff #142 #203)
-#201 := (= #139 #200)
-#198 := (= #136 #197)
-#195 := (= #133 #194)
-#179 := (iff #96 #178)
-#176 := (iff #93 #175)
-#173 := (iff #85 #172)
-#170 := (iff #84 #169)
-#171 := [rewrite]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#196 := [monotonicity #180]: #195
-#199 := [monotonicity #196]: #198
-#202 := [monotonicity #199]: #201
-#205 := [monotonicity #202]: #204
-#208 := [quant-intro #205]: #207
+#265 := (if #24 #256 #264)
+#752 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #751) #265)
+#268 := (forall (vars (?v0 Int) (?v1 Int)) #265)
+#755 := (iff #268 #752)
+#753 := (iff #265 #265)
+#754 := [refl]: #753
+#756 := [quant-intro #754]: #755
+#152 := (* -1::Int #146)
+#225 := (if #209 #42 #152)
+#228 := (if #23 0::Int #225)
+#231 := (if #24 #18 #228)
+#234 := (= #41 #231)
+#237 := (forall (vars (?v0 Int) (?v1 Int)) #234)
+#269 := (iff #237 #268)
+#266 := (iff #234 #265)
+#267 := [rewrite]: #266
+#270 := [quant-intro #267]: #269
+#114 := (not #113)
+#121 := (not #120)
+#124 := (and #121 #114)
+#110 := (not #109)
+#117 := (and #110 #114)
+#127 := (or #117 #124)
+#172 := (if #127 #42 #152)
+#175 := (if #23 0::Int #172)
+#178 := (if #24 #18 #175)
+#181 := (= #41 #178)
+#184 := (forall (vars (?v0 Int) (?v1 Int)) #181)
+#238 := (iff #184 #237)
+#235 := (iff #181 #234)
+#232 := (= #178 #231)
+#229 := (= #175 #228)
+#226 := (= #172 #225)
+#210 := (iff #127 #209)
+#207 := (iff #124 #206)
+#208 := [rewrite]: #207
+#197 := (iff #117 #204)
+#198 := [rewrite]: #197
+#211 := [monotonicity #198 #208]: #210
+#227 := [monotonicity #211]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [monotonicity #233]: #235
+#239 := [quant-intro #236]: #238
+#195 := (~ #184 #184)
+#194 := (~ #181 #181)
+#191 := [refl]: #194
+#196 := [nnf-pos #191]: #195
 #34 := (- #20)
 #33 := (- #18)
 #43 := (mod #33 #34)
@@ -38288,60 +35801,71 @@
 #47 := (if #24 #18 #46)
 #48 := (= #41 #47)
 #49 := (forall (vars (?v0 Int) (?v1 Int)) #48)
-#146 := (iff #49 #145)
-#143 := (iff #48 #142)
-#140 := (= #47 #139)
-#137 := (= #46 #136)
-#134 := (= #45 #133)
-#131 := (= #44 #128)
-#125 := (- #122)
-#129 := (= #125 #128)
-#130 := [rewrite]: #129
-#126 := (= #44 #125)
-#123 := (= #43 #122)
-#104 := (= #34 #103)
-#105 := [rewrite]: #104
-#101 := (= #33 #100)
-#102 := [rewrite]: #101
-#124 := [monotonicity #102 #105]: #123
-#127 := [monotonicity #124]: #126
-#132 := [trans #127 #130]: #131
-#97 := (iff #31 #96)
-#94 := (iff #30 #93)
-#79 := (iff #27 #78)
-#80 := [rewrite]: #79
-#86 := (iff #29 #85)
-#90 := (iff #85 #85)
-#88 := (iff #84 #84)
-#89 := [rewrite]: #88
-#91 := [monotonicity #89]: #90
-#87 := [rewrite]: #86
-#92 := [trans #87 #91]: #86
-#95 := [monotonicity #92 #80]: #94
-#82 := (iff #28 #81)
-#75 := (iff #26 #74)
-#76 := [rewrite]: #75
-#83 := [monotonicity #76 #80]: #82
-#98 := [monotonicity #83 #95]: #97
-#135 := [monotonicity #98 #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#144 := [monotonicity #141]: #143
-#147 := [quant-intro #144]: #146
-#53 := [asserted]: #49
-#148 := [mp #53 #147]: #145
-#209 := [mp #148 #208]: #206
-#217 := [mp~ #209 #216]: #206
-#257 := [mp #217 #256]: #254
-#288 := [mp #257 #287]: #285
-#715 := [mp #288 #714]: #710
-#63 := -2::Int
-#57 := -3::Int
+#187 := (iff #49 #184)
+#157 := (if #31 #42 #152)
+#160 := (if #23 0::Int #157)
+#163 := (if #24 #18 #160)
+#166 := (= #41 #163)
+#169 := (forall (vars (?v0 Int) (?v1 Int)) #166)
+#185 := (iff #169 #184)
+#182 := (iff #166 #181)
+#179 := (= #163 #178)
+#176 := (= #160 #175)
+#173 := (= #157 #172)
+#128 := (iff #31 #127)
+#125 := (iff #30 #124)
+#115 := (iff #27 #114)
+#116 := [rewrite]: #115
+#122 := (iff #29 #121)
+#123 := [rewrite]: #122
+#126 := [monotonicity #123 #116]: #125
+#118 := (iff #28 #117)
+#111 := (iff #26 #110)
+#112 := [rewrite]: #111
+#119 := [monotonicity #112 #116]: #118
+#129 := [monotonicity #119 #126]: #128
+#174 := [monotonicity #129]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [monotonicity #180]: #182
+#186 := [quant-intro #183]: #185
+#170 := (iff #49 #169)
+#167 := (iff #48 #166)
+#164 := (= #47 #163)
+#161 := (= #46 #160)
+#158 := (= #45 #157)
+#155 := (= #44 #152)
+#149 := (- #146)
+#153 := (= #149 #152)
+#154 := [rewrite]: #153
+#150 := (= #44 #149)
+#147 := (= #43 #146)
+#92 := (= #34 #91)
+#93 := [rewrite]: #92
+#89 := (= #33 #88)
+#90 := [rewrite]: #89
+#148 := [monotonicity #90 #93]: #147
+#151 := [monotonicity #148]: #150
+#156 := [trans #151 #154]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [monotonicity #165]: #167
+#171 := [quant-intro #168]: #170
+#188 := [trans #171 #186]: #187
+#145 := [asserted]: #49
+#189 := [mp #145 #188]: #184
+#192 := [mp~ #189 #196]: #184
+#240 := [mp #192 #239]: #237
+#271 := [mp #240 #270]: #268
+#757 := [mp #271 #756]: #752
+#76 := -2::Int
+#70 := -3::Int
 #8 := 1::Int
 #9 := (f4 f5 1::Int)
-#60 := (f3 #9 -3::Int)
-#66 := (= #60 -2::Int)
-#69 := (not #66)
+#73 := (f3 #9 -3::Int)
+#79 := (= #73 -2::Int)
+#82 := (not #79)
 #13 := 2::Int
 #14 := (- 2::Int)
 #10 := 3::Int
@@ -38349,163 +35873,163 @@
 #12 := (f3 #9 #11)
 #15 := (= #12 #14)
 #16 := (not #15)
-#70 := (iff #16 #69)
-#67 := (iff #15 #66)
-#64 := (= #14 -2::Int)
-#65 := [rewrite]: #64
-#61 := (= #12 #60)
-#58 := (= #11 -3::Int)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#68 := [monotonicity #62 #65]: #67
-#71 := [monotonicity #68]: #70
-#51 := [asserted]: #16
-#72 := [mp #51 #71]: #69
-#626 := (not #710)
-#618 := (or #626 #66)
-#365 := (* -1::Int -3::Int)
-#364 := (* -1::Int 1::Int)
-#697 := (mod #364 #365)
-#698 := (+ #60 #697)
-#699 := (= #698 0::Int)
-#696 := (mod 1::Int -3::Int)
-#353 := (* -1::Int #696)
-#483 := (+ #60 #353)
-#690 := (= #483 0::Int)
-#377 := (<= -3::Int 0::Int)
-#376 := (>= 1::Int 0::Int)
-#380 := (or #376 #377)
-#359 := (not #380)
-#366 := (<= 1::Int 0::Int)
-#378 := (or #366 #377)
-#379 := (not #378)
-#694 := (or #379 #359)
-#700 := (if #694 #690 #699)
-#375 := (= #60 0::Int)
-#374 := (= 1::Int 0::Int)
-#695 := (if #374 #375 #700)
-#373 := (= #60 1::Int)
-#289 := (= -3::Int 0::Int)
-#701 := (if #289 #373 #695)
-#615 := (or #626 #701)
-#627 := (iff #615 #618)
-#629 := (iff #618 #618)
-#625 := [rewrite]: #629
-#637 := (iff #701 #66)
-#536 := (if false #373 #66)
-#635 := (iff #536 #66)
-#520 := [rewrite]: #635
-#636 := (iff #701 #536)
-#542 := (iff #695 #66)
-#538 := (if false #375 #66)
-#540 := (iff #538 #66)
-#541 := [rewrite]: #540
-#531 := (iff #695 #538)
-#535 := (iff #700 #66)
-#631 := (iff #700 #536)
-#486 := (iff #699 #66)
-#485 := (+ 2::Int #60)
-#640 := (= #485 0::Int)
-#526 := (iff #640 #66)
-#527 := [rewrite]: #526
-#643 := (iff #699 #640)
-#641 := (= #698 #485)
-#653 := (+ #60 2::Int)
-#638 := (= #653 #485)
-#639 := [rewrite]: #638
-#482 := (= #698 #653)
-#652 := (= #697 2::Int)
-#649 := (mod -1::Int 3::Int)
-#645 := (= #649 2::Int)
-#651 := [rewrite]: #645
-#650 := (= #697 #649)
-#647 := (= #365 3::Int)
-#648 := [rewrite]: #647
-#665 := (= #364 -1::Int)
-#666 := [rewrite]: #665
-#644 := [monotonicity #666 #648]: #650
-#646 := [trans #644 #651]: #652
-#484 := [monotonicity #646]: #482
-#642 := [trans #484 #639]: #641
-#525 := [monotonicity #642]: #643
-#634 := [trans #525 #527]: #486
-#504 := (iff #690 #373)
-#657 := (+ -1::Int #60)
-#660 := (= #657 0::Int)
-#662 := (iff #660 #373)
-#503 := [rewrite]: #662
-#661 := (iff #690 #660)
-#654 := (= #483 #657)
-#667 := (+ #60 -1::Int)
-#658 := (= #667 #657)
-#659 := [rewrite]: #658
-#664 := (= #483 #667)
-#381 := (= #353 -1::Int)
-#386 := (= #353 #364)
-#384 := (= #696 1::Int)
-#385 := [rewrite]: #384
-#387 := [monotonicity #385]: #386
-#663 := [trans #387 #666]: #381
-#668 := [monotonicity #663]: #664
-#655 := [trans #668 #659]: #654
-#656 := [monotonicity #655]: #661
-#505 := [trans #656 #503]: #504
-#670 := (iff #694 false)
-#672 := (or false false)
-#669 := (iff #672 false)
-#673 := [rewrite]: #669
-#394 := (iff #694 #672)
-#295 := (iff #359 false)
-#1 := true
-#682 := (not true)
-#684 := (iff #682 false)
-#322 := [rewrite]: #684
-#400 := (iff #359 #682)
-#398 := (iff #380 true)
-#688 := (or true true)
-#675 := (iff #688 true)
-#676 := [rewrite]: #675
-#686 := (iff #380 #688)
-#336 := (iff #377 true)
-#677 := [rewrite]: #336
-#327 := (iff #376 true)
-#328 := [rewrite]: #327
-#689 := [monotonicity #328 #677]: #686
-#399 := [trans #689 #676]: #398
-#401 := [monotonicity #399]: #400
-#671 := [trans #401 #322]: #295
-#685 := (iff #379 false)
-#683 := (iff #379 #682)
-#680 := (iff #378 true)
-#340 := (or false true)
-#343 := (iff #340 true)
-#679 := [rewrite]: #343
-#341 := (iff #378 #340)
-#352 := (iff #366 false)
-#693 := [rewrite]: #352
-#342 := [monotonicity #693 #677]: #341
-#681 := [trans #342 #679]: #680
-#678 := [monotonicity #681]: #683
-#687 := [trans #678 #322]: #685
-#395 := [monotonicity #687 #671]: #394
-#674 := [trans #395 #673]: #670
-#632 := [monotonicity #674 #505 #634]: #631
-#537 := [trans #632 #520]: #535
-#356 := (iff #374 false)
-#692 := [rewrite]: #356
-#539 := [monotonicity #692 #537]: #531
-#543 := [trans #539 #541]: #542
-#691 := (iff #289 false)
-#351 := [rewrite]: #691
-#633 := [monotonicity #351 #543]: #636
-#624 := [trans #633 #520]: #637
-#628 := [monotonicity #624]: #627
-#630 := [trans #628 #625]: #627
-#617 := [quant-inst #8 #57]: #615
-#619 := [mp #617 #630]: #618
-[unit-resolution #619 #72 #715]: false
-30bd922ca9cd199af046cdc457f97af241893e95 323 0
-unsat
+#83 := (iff #16 #82)
+#80 := (iff #15 #79)
+#77 := (= #14 -2::Int)
+#78 := [rewrite]: #77
+#74 := (= #12 #73)
+#71 := (= #11 -3::Int)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#81 := [monotonicity #75 #78]: #80
+#84 := [monotonicity #81]: #83
+#69 := [asserted]: #16
+#87 := [mp #69 #84]: #82
+#668 := (not #752)
+#660 := (or #668 #79)
+#407 := (* -1::Int -3::Int)
+#406 := (* -1::Int 1::Int)
+#739 := (mod #406 #407)
+#740 := (+ #73 #739)
+#741 := (= #740 0::Int)
+#738 := (mod 1::Int -3::Int)
+#395 := (* -1::Int #738)
+#525 := (+ #73 #395)
+#732 := (= #525 0::Int)
+#419 := (<= -3::Int 0::Int)
+#418 := (>= 1::Int 0::Int)
+#422 := (or #418 #419)
+#401 := (not #422)
+#408 := (<= 1::Int 0::Int)
+#420 := (or #408 #419)
+#421 := (not #420)
+#736 := (or #421 #401)
+#742 := (if #736 #732 #741)
+#417 := (= #73 0::Int)
+#416 := (= 1::Int 0::Int)
+#737 := (if #416 #417 #742)
+#415 := (= #73 1::Int)
+#331 := (= -3::Int 0::Int)
+#743 := (if #331 #415 #737)
+#657 := (or #668 #743)
+#669 := (iff #657 #660)
+#671 := (iff #660 #660)
+#667 := [rewrite]: #671
+#679 := (iff #743 #79)
+#578 := (if false #415 #79)
+#677 := (iff #578 #79)
+#562 := [rewrite]: #677
+#678 := (iff #743 #578)
+#584 := (iff #737 #79)
+#580 := (if false #417 #79)
+#582 := (iff #580 #79)
+#583 := [rewrite]: #582
+#573 := (iff #737 #580)
+#577 := (iff #742 #79)
+#673 := (iff #742 #578)
+#528 := (iff #741 #79)
+#527 := (+ 2::Int #73)
+#682 := (= #527 0::Int)
+#568 := (iff #682 #79)
+#569 := [rewrite]: #568
+#685 := (iff #741 #682)
+#683 := (= #740 #527)
+#695 := (+ #73 2::Int)
+#680 := (= #695 #527)
+#681 := [rewrite]: #680
+#524 := (= #740 #695)
+#694 := (= #739 2::Int)
+#691 := (mod -1::Int 3::Int)
+#687 := (= #691 2::Int)
+#693 := [rewrite]: #687
+#692 := (= #739 #691)
+#689 := (= #407 3::Int)
+#690 := [rewrite]: #689
+#707 := (= #406 -1::Int)
+#708 := [rewrite]: #707
+#686 := [monotonicity #708 #690]: #692
+#688 := [trans #686 #693]: #694
+#526 := [monotonicity #688]: #524
+#684 := [trans #526 #681]: #683
+#567 := [monotonicity #684]: #685
+#676 := [trans #567 #569]: #528
+#546 := (iff #732 #415)
+#699 := (+ -1::Int #73)
+#702 := (= #699 0::Int)
+#704 := (iff #702 #415)
+#545 := [rewrite]: #704
+#703 := (iff #732 #702)
+#696 := (= #525 #699)
+#709 := (+ #73 -1::Int)
+#700 := (= #709 #699)
+#701 := [rewrite]: #700
+#706 := (= #525 #709)
+#423 := (= #395 -1::Int)
+#428 := (= #395 #406)
+#426 := (= #738 1::Int)
+#427 := [rewrite]: #426
+#429 := [monotonicity #427]: #428
+#705 := [trans #429 #708]: #423
+#710 := [monotonicity #705]: #706
+#697 := [trans #710 #701]: #696
+#698 := [monotonicity #697]: #703
+#547 := [trans #698 #545]: #546
+#712 := (iff #736 false)
+#714 := (or false false)
+#711 := (iff #714 false)
+#715 := [rewrite]: #711
+#436 := (iff #736 #714)
+#337 := (iff #401 false)
+#1 := true
+#724 := (not true)
+#726 := (iff #724 false)
+#364 := [rewrite]: #726
+#442 := (iff #401 #724)
+#440 := (iff #422 true)
+#730 := (or true true)
+#717 := (iff #730 true)
+#718 := [rewrite]: #717
+#728 := (iff #422 #730)
+#378 := (iff #419 true)
+#719 := [rewrite]: #378
+#369 := (iff #418 true)
+#370 := [rewrite]: #369
+#731 := [monotonicity #370 #719]: #728
+#441 := [trans #731 #718]: #440
+#443 := [monotonicity #441]: #442
+#713 := [trans #443 #364]: #337
+#727 := (iff #421 false)
+#725 := (iff #421 #724)
+#722 := (iff #420 true)
+#382 := (or false true)
+#385 := (iff #382 true)
+#721 := [rewrite]: #385
+#383 := (iff #420 #382)
+#394 := (iff #408 false)
+#735 := [rewrite]: #394
+#384 := [monotonicity #735 #719]: #383
+#723 := [trans #384 #721]: #722
+#720 := [monotonicity #723]: #725
+#729 := [trans #720 #364]: #727
+#437 := [monotonicity #729 #713]: #436
+#716 := [trans #437 #715]: #712
+#674 := [monotonicity #716 #547 #676]: #673
+#579 := [trans #674 #562]: #577
+#398 := (iff #416 false)
+#734 := [rewrite]: #398
+#581 := [monotonicity #734 #579]: #573
+#585 := [trans #581 #583]: #584
+#733 := (iff #331 false)
+#393 := [rewrite]: #733
+#675 := [monotonicity #393 #585]: #678
+#666 := [trans #675 #562]: #679
+#670 := [monotonicity #666]: #669
+#672 := [trans #670 #667]: #669
+#659 := [quant-inst #8 #70]: #657
+#661 := [mp #659 #672]: #660
+[unit-resolution #661 #87 #757]: false
+unsat
+a3271abc9f2ec03bd2af23f7e77d6fec07008813 307 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -38515,107 +36039,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#704 := (pattern #38)
+#747 := (pattern #38)
 #12 := 0::Int
-#93 := -1::Int
-#97 := (* -1::Int #18)
-#94 := (* -1::Int #16)
-#116 := (mod #94 #97)
-#272 := (+ #38 #116)
-#273 := (= #272 0::Int)
+#80 := -1::Int
+#85 := (* -1::Int #18)
+#82 := (* -1::Int #16)
+#140 := (mod #82 #85)
+#255 := (+ #38 #140)
+#256 := (= #255 0::Int)
 #39 := (mod #16 #18)
-#269 := (* -1::Int #39)
-#270 := (+ #38 #269)
-#271 := (= #270 0::Int)
-#71 := (<= #18 0::Int)
-#163 := (>= #16 0::Int)
-#216 := (or #163 #71)
-#217 := (not #216)
-#67 := (<= #16 0::Int)
-#212 := (or #67 #71)
-#213 := (not #212)
-#220 := (or #213 #217)
-#274 := (if #220 #271 #273)
-#268 := (= #38 0::Int)
+#252 := (* -1::Int #39)
+#253 := (+ #38 #252)
+#254 := (= #253 0::Int)
+#107 := (<= #18 0::Int)
+#114 := (>= #16 0::Int)
+#199 := (or #114 #107)
+#200 := (not #199)
+#103 := (<= #16 0::Int)
+#197 := (or #103 #107)
+#198 := (not #197)
+#203 := (or #198 #200)
+#257 := (if #203 #254 #256)
+#251 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#275 := (if #20 #268 #274)
-#267 := (= #38 #16)
+#258 := (if #20 #251 #257)
+#250 := (= #38 #16)
 #21 := (= #18 0::Int)
-#276 := (if #21 #267 #275)
-#705 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #704) #276)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#708 := (iff #279 #705)
-#706 := (iff #276 #276)
-#707 := [refl]: #706
-#709 := [quant-intro #707]: #708
-#122 := (* -1::Int #116)
-#236 := (if #220 #39 #122)
-#239 := (if #20 0::Int #236)
-#242 := (if #21 #16 #239)
-#245 := (= #38 #242)
-#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
-#280 := (iff #248 #279)
-#277 := (iff #245 #276)
-#278 := [rewrite]: #277
-#281 := [quant-intro #278]: #280
-#72 := (not #71)
-#166 := (not #163)
-#169 := (and #166 #72)
-#68 := (not #67)
-#75 := (and #68 #72)
-#172 := (or #75 #169)
-#188 := (if #172 #39 #122)
-#191 := (if #20 0::Int #188)
-#194 := (if #21 #16 #191)
-#197 := (= #38 #194)
-#200 := (forall (vars (?v0 Int) (?v1 Int)) #197)
-#249 := (iff #200 #248)
-#246 := (iff #197 #245)
-#243 := (= #194 #242)
-#240 := (= #191 #239)
-#237 := (= #188 #236)
-#221 := (iff #172 #220)
-#218 := (iff #169 #217)
-#219 := [rewrite]: #218
-#214 := (iff #75 #213)
-#215 := [rewrite]: #214
-#222 := [monotonicity #215 #219]: #221
-#238 := [monotonicity #222]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [quant-intro #247]: #249
-#162 := (~ #200 #200)
-#207 := (~ #197 #197)
-#161 := [refl]: #207
-#210 := [nnf-pos #161]: #162
-#78 := (<= 0::Int #16)
-#79 := (not #78)
-#87 := (and #79 #72)
-#90 := (or #75 #87)
-#127 := (if #90 #39 #122)
-#130 := (if #20 0::Int #127)
-#133 := (if #21 #16 #130)
-#136 := (= #38 #133)
-#139 := (forall (vars (?v0 Int) (?v1 Int)) #136)
-#201 := (iff #139 #200)
-#198 := (iff #136 #197)
-#195 := (= #133 #194)
-#192 := (= #130 #191)
-#189 := (= #127 #188)
-#173 := (iff #90 #172)
-#170 := (iff #87 #169)
-#167 := (iff #79 #166)
-#164 := (iff #78 #163)
-#165 := [rewrite]: #164
-#168 := [monotonicity #165]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#190 := [monotonicity #174]: #189
-#193 := [monotonicity #190]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [quant-intro #199]: #201
+#259 := (if #21 #250 #258)
+#748 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #747) #259)
+#262 := (forall (vars (?v0 Int) (?v1 Int)) #259)
+#751 := (iff #262 #748)
+#749 := (iff #259 #259)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#146 := (* -1::Int #140)
+#219 := (if #203 #39 #146)
+#222 := (if #20 0::Int #219)
+#225 := (if #21 #16 #222)
+#228 := (= #38 #225)
+#231 := (forall (vars (?v0 Int) (?v1 Int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#108 := (not #107)
+#115 := (not #114)
+#118 := (and #115 #108)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#166 := (if #121 #39 #146)
+#169 := (if #20 0::Int #166)
+#172 := (if #21 #16 #169)
+#175 := (= #38 #172)
+#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
+#232 := (iff #178 #231)
+#229 := (iff #175 #228)
+#226 := (= #172 #225)
+#223 := (= #169 #222)
+#220 := (= #166 #219)
+#204 := (iff #121 #203)
+#201 := (iff #118 #200)
+#202 := [rewrite]: #201
+#191 := (iff #111 #198)
+#192 := [rewrite]: #191
+#205 := [monotonicity #192 #202]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#189 := (~ #178 #178)
+#188 := (~ #175 #175)
+#185 := [refl]: #188
+#190 := [nnf-pos #185]: #189
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -38631,205 +36128,216 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#140 := (iff #46 #139)
-#137 := (iff #45 #136)
-#134 := (= #44 #133)
-#131 := (= #43 #130)
-#128 := (= #42 #127)
-#125 := (= #41 #122)
-#119 := (- #116)
-#123 := (= #119 #122)
-#124 := [rewrite]: #123
-#120 := (= #41 #119)
-#117 := (= #40 #116)
-#98 := (= #31 #97)
-#99 := [rewrite]: #98
-#95 := (= #30 #94)
-#96 := [rewrite]: #95
-#118 := [monotonicity #96 #99]: #117
-#121 := [monotonicity #118]: #120
-#126 := [trans #121 #124]: #125
-#91 := (iff #28 #90)
-#88 := (iff #27 #87)
-#73 := (iff #24 #72)
-#74 := [rewrite]: #73
-#80 := (iff #26 #79)
-#84 := (iff #79 #79)
-#82 := (iff #78 #78)
-#83 := [rewrite]: #82
-#85 := [monotonicity #83]: #84
-#81 := [rewrite]: #80
-#86 := [trans #81 #85]: #80
-#89 := [monotonicity #86 #74]: #88
-#76 := (iff #25 #75)
-#69 := (iff #23 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#92 := [monotonicity #77 #89]: #91
-#129 := [monotonicity #92 #126]: #128
-#132 := [monotonicity #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [quant-intro #138]: #140
-#50 := [asserted]: #46
-#142 := [mp #50 #141]: #139
-#203 := [mp #142 #202]: #200
-#211 := [mp~ #203 #210]: #200
-#251 := [mp #211 #250]: #248
-#282 := [mp #251 #281]: #279
-#710 := [mp #282 #709]: #705
-#54 := -3::Int
+#181 := (iff #46 #178)
+#151 := (if #28 #39 #146)
+#154 := (if #20 0::Int #151)
+#157 := (if #21 #16 #154)
+#160 := (= #38 #157)
+#163 := (forall (vars (?v0 Int) (?v1 Int)) #160)
+#179 := (iff #163 #178)
+#176 := (iff #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#122 := (iff #28 #121)
+#119 := (iff #27 #118)
+#109 := (iff #24 #108)
+#110 := [rewrite]: #109
+#116 := (iff #26 #115)
+#117 := [rewrite]: #116
+#120 := [monotonicity #117 #110]: #119
+#112 := (iff #25 #111)
+#105 := (iff #23 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#168 := [monotonicity #123]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#164 := (iff #46 #163)
+#161 := (iff #45 #160)
+#158 := (= #44 #157)
+#155 := (= #43 #154)
+#152 := (= #42 #151)
+#149 := (= #41 #146)
+#143 := (- #140)
+#147 := (= #143 #146)
+#148 := [rewrite]: #147
+#144 := (= #41 #143)
+#141 := (= #40 #140)
+#86 := (= #31 #85)
+#87 := [rewrite]: #86
+#83 := (= #30 #82)
+#84 := [rewrite]: #83
+#142 := [monotonicity #84 #87]: #141
+#145 := [monotonicity #142]: #144
+#150 := [trans #145 #148]: #149
+#153 := [monotonicity #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#182 := [trans #165 #180]: #181
+#139 := [asserted]: #46
+#183 := [mp #139 #182]: #178
+#186 := [mp~ #183 #190]: #178
+#234 := [mp #186 #233]: #231
+#265 := [mp #234 #264]: #262
+#753 := [mp #265 #752]: #748
+#67 := -3::Int
 #8 := 3::Int
 #9 := (f4 f5 3::Int)
-#57 := (f3 #9 -3::Int)
-#60 := (= #57 0::Int)
-#63 := (not #60)
+#70 := (f3 #9 -3::Int)
+#73 := (= #70 0::Int)
+#76 := (not #73)
 #10 := (- 3::Int)
 #11 := (f3 #9 #10)
 #13 := (= #11 0::Int)
 #14 := (not #13)
-#64 := (iff #14 #63)
-#61 := (iff #13 #60)
-#58 := (= #11 #57)
-#55 := (= #10 -3::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#48 := [asserted]: #14
-#66 := [mp #48 #65]: #63
-#530 := (not #705)
-#532 := (or #530 #60)
-#359 := (* -1::Int -3::Int)
-#685 := (* -1::Int 3::Int)
-#360 := (mod #685 #359)
-#692 := (+ #57 #360)
-#693 := (= #692 0::Int)
-#689 := (mod 3::Int -3::Int)
-#691 := (* -1::Int #689)
-#348 := (+ #57 #691)
-#478 := (= #348 0::Int)
-#361 := (<= -3::Int 0::Int)
-#374 := (>= 3::Int 0::Int)
-#371 := (or #374 #361)
-#375 := (not #371)
-#370 := (<= 3::Int 0::Int)
-#372 := (or #370 #361)
-#373 := (not #372)
-#354 := (or #373 #375)
-#694 := (if #354 #478 #693)
-#369 := (= 3::Int 0::Int)
-#695 := (if #369 #60 #694)
-#368 := (= #57 3::Int)
-#283 := (= -3::Int 0::Int)
-#690 := (if #283 #368 #695)
-#533 := (or #530 #690)
-#534 := (iff #533 #532)
-#536 := (iff #532 #532)
-#537 := [rewrite]: #536
-#630 := (iff #690 #60)
-#481 := (if false #368 #60)
-#626 := (iff #481 #60)
-#627 := [rewrite]: #626
-#629 := (iff #690 #481)
-#521 := (iff #695 #60)
-#479 := (if false #60 #60)
-#634 := (iff #479 #60)
-#636 := [rewrite]: #634
-#638 := (iff #695 #479)
-#637 := (iff #694 #60)
-#480 := (iff #694 #479)
-#648 := (iff #693 #60)
-#647 := (= #692 #57)
-#662 := (+ #57 0::Int)
-#652 := (= #662 #57)
-#653 := [rewrite]: #652
-#640 := (= #692 #662)
-#645 := (= #360 0::Int)
-#499 := (mod -3::Int 3::Int)
-#643 := (= #499 0::Int)
-#644 := [rewrite]: #643
-#500 := (= #360 #499)
-#657 := (= #359 3::Int)
-#498 := [rewrite]: #657
-#656 := (= #685 -3::Int)
-#651 := [rewrite]: #656
-#642 := [monotonicity #651 #498]: #500
-#639 := [trans #642 #644]: #645
-#646 := [monotonicity #639]: #640
-#641 := [trans #646 #653]: #647
-#477 := [monotonicity #641]: #648
-#650 := (iff #478 #60)
-#654 := (= #348 #57)
-#659 := (= #348 #662)
-#376 := (= #691 0::Int)
-#380 := (* -1::Int 0::Int)
-#660 := (= #380 0::Int)
-#661 := [rewrite]: #660
-#381 := (= #691 #380)
-#669 := (= #689 0::Int)
-#379 := [rewrite]: #669
-#382 := [monotonicity #379]: #381
-#658 := [trans #382 #661]: #376
-#663 := [monotonicity #658]: #659
-#649 := [trans #663 #653]: #654
-#655 := [monotonicity #649]: #650
-#668 := (iff #354 false)
-#666 := (or false false)
-#390 := (iff #666 false)
-#664 := [rewrite]: #390
-#667 := (iff #354 #666)
-#396 := (iff #375 false)
-#1 := true
-#676 := (not true)
-#673 := (iff #676 false)
-#679 := [rewrite]: #673
-#394 := (iff #375 #676)
-#671 := (iff #371 true)
-#323 := (or true true)
-#684 := (iff #323 true)
-#670 := [rewrite]: #684
-#683 := (iff #371 #323)
-#688 := (iff #361 true)
-#331 := [rewrite]: #688
-#682 := (iff #374 true)
-#322 := [rewrite]: #682
-#681 := [monotonicity #322 #331]: #683
-#393 := [trans #681 #670]: #671
-#395 := [monotonicity #393]: #394
-#289 := [trans #395 #679]: #396
-#317 := (iff #373 false)
-#677 := (iff #373 #676)
-#674 := (iff #372 true)
-#672 := (or false true)
-#337 := (iff #672 true)
-#338 := [rewrite]: #337
-#335 := (iff #372 #672)
-#687 := (iff #370 false)
-#347 := [rewrite]: #687
-#336 := [monotonicity #347 #331]: #335
-#675 := [trans #336 #338]: #674
-#678 := [monotonicity #675]: #677
-#680 := [trans #678 #679]: #317
-#389 := [monotonicity #680 #289]: #667
-#665 := [trans #389 #664]: #668
-#633 := [monotonicity #665 #655 #477]: #480
-#635 := [trans #633 #636]: #637
-#346 := (iff #369 false)
-#351 := [rewrite]: #346
-#520 := [monotonicity #351 #635]: #638
-#522 := [trans #520 #636]: #521
-#696 := (iff #283 false)
-#686 := [rewrite]: #696
-#531 := [monotonicity #686 #522]: #629
-#515 := [trans #531 #627]: #630
-#535 := [monotonicity #515]: #534
-#538 := [trans #535 #537]: #534
-#526 := [quant-inst #8 #54]: #533
-#631 := [mp #526 #538]: #532
-[unit-resolution #631 #66 #710]: false
-6eef1290fd4184aa5ca07b83a07cebe5b5459f61 351 0
-unsat
+#77 := (iff #14 #76)
+#74 := (iff #13 #73)
+#71 := (= #11 #70)
+#68 := (= #10 -3::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#66 := [asserted]: #14
+#81 := [mp #66 #78]: #76
+#573 := (not #748)
+#575 := (or #573 #73)
+#402 := (* -1::Int -3::Int)
+#728 := (* -1::Int 3::Int)
+#403 := (mod #728 #402)
+#735 := (+ #70 #403)
+#736 := (= #735 0::Int)
+#732 := (mod 3::Int -3::Int)
+#734 := (* -1::Int #732)
+#391 := (+ #70 #734)
+#521 := (= #391 0::Int)
+#404 := (<= -3::Int 0::Int)
+#417 := (>= 3::Int 0::Int)
+#414 := (or #417 #404)
+#418 := (not #414)
+#413 := (<= 3::Int 0::Int)
+#415 := (or #413 #404)
+#416 := (not #415)
+#397 := (or #416 #418)
+#737 := (if #397 #521 #736)
+#412 := (= 3::Int 0::Int)
+#738 := (if #412 #73 #737)
+#411 := (= #70 3::Int)
+#327 := (= -3::Int 0::Int)
+#733 := (if #327 #411 #738)
+#576 := (or #573 #733)
+#577 := (iff #576 #575)
+#579 := (iff #575 #575)
+#580 := [rewrite]: #579
+#673 := (iff #733 #73)
+#524 := (if false #411 #73)
+#669 := (iff #524 #73)
+#670 := [rewrite]: #669
+#672 := (iff #733 #524)
+#564 := (iff #738 #73)
+#522 := (if false #73 #73)
+#677 := (iff #522 #73)
+#679 := [rewrite]: #677
+#681 := (iff #738 #522)
+#680 := (iff #737 #73)
+#523 := (iff #737 #522)
+#691 := (iff #736 #73)
+#690 := (= #735 #70)
+#705 := (+ #70 0::Int)
+#695 := (= #705 #70)
+#696 := [rewrite]: #695
+#683 := (= #735 #705)
+#688 := (= #403 0::Int)
+#542 := (mod -3::Int 3::Int)
+#686 := (= #542 0::Int)
+#687 := [rewrite]: #686
+#543 := (= #403 #542)
+#700 := (= #402 3::Int)
+#541 := [rewrite]: #700
+#699 := (= #728 -3::Int)
+#694 := [rewrite]: #699
+#685 := [monotonicity #694 #541]: #543
+#682 := [trans #685 #687]: #688
+#689 := [monotonicity #682]: #683
+#684 := [trans #689 #696]: #690
+#520 := [monotonicity #684]: #691
+#693 := (iff #521 #73)
+#697 := (= #391 #70)
+#702 := (= #391 #705)
+#419 := (= #734 0::Int)
+#423 := (* -1::Int 0::Int)
+#703 := (= #423 0::Int)
+#704 := [rewrite]: #703
+#424 := (= #734 #423)
+#712 := (= #732 0::Int)
+#422 := [rewrite]: #712
+#425 := [monotonicity #422]: #424
+#701 := [trans #425 #704]: #419
+#706 := [monotonicity #701]: #702
+#692 := [trans #706 #696]: #697
+#698 := [monotonicity #692]: #693
+#711 := (iff #397 false)
+#709 := (or false false)
+#433 := (iff #709 false)
+#707 := [rewrite]: #433
+#710 := (iff #397 #709)
+#439 := (iff #418 false)
+#1 := true
+#719 := (not true)
+#716 := (iff #719 false)
+#722 := [rewrite]: #716
+#437 := (iff #418 #719)
+#714 := (iff #414 true)
+#366 := (or true true)
+#727 := (iff #366 true)
+#713 := [rewrite]: #727
+#726 := (iff #414 #366)
+#731 := (iff #404 true)
+#374 := [rewrite]: #731
+#725 := (iff #417 true)
+#365 := [rewrite]: #725
+#724 := [monotonicity #365 #374]: #726
+#436 := [trans #724 #713]: #714
+#438 := [monotonicity #436]: #437
+#333 := [trans #438 #722]: #439
+#360 := (iff #416 false)
+#720 := (iff #416 #719)
+#717 := (iff #415 true)
+#715 := (or false true)
+#380 := (iff #715 true)
+#381 := [rewrite]: #380
+#378 := (iff #415 #715)
+#730 := (iff #413 false)
+#390 := [rewrite]: #730
+#379 := [monotonicity #390 #374]: #378
+#718 := [trans #379 #381]: #717
+#721 := [monotonicity #718]: #720
+#723 := [trans #721 #722]: #360
+#432 := [monotonicity #723 #333]: #710
+#708 := [trans #432 #707]: #711
+#676 := [monotonicity #708 #698 #520]: #523
+#678 := [trans #676 #679]: #680
+#389 := (iff #412 false)
+#394 := [rewrite]: #389
+#563 := [monotonicity #394 #678]: #681
+#565 := [trans #563 #679]: #564
+#739 := (iff #327 false)
+#729 := [rewrite]: #739
+#574 := [monotonicity #729 #565]: #672
+#558 := [trans #574 #670]: #673
+#578 := [monotonicity #558]: #577
+#581 := [trans #578 #580]: #577
+#569 := [quant-inst #8 #67]: #576
+#674 := [mp #569 #581]: #575
+[unit-resolution #674 #81 #753]: false
+unsat
+19af39eefe155fd5ea4a9cb81efe6bb66ad7e60b 335 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #20 := (:var 0 Int)
@@ -38839,107 +36347,80 @@
 #7 := f5
 #40 := (f4 f5 #18)
 #41 := (f3 #40 #20)
-#708 := (pattern #41)
+#750 := (pattern #41)
 #22 := 0::Int
-#63 := -1::Int
-#102 := (* -1::Int #20)
-#99 := (* -1::Int #18)
-#121 := (mod #99 #102)
-#277 := (+ #41 #121)
-#278 := (= #277 0::Int)
+#76 := -1::Int
+#90 := (* -1::Int #20)
+#86 := (* -1::Int #18)
+#145 := (mod #86 #90)
+#260 := (+ #41 #145)
+#261 := (= #260 0::Int)
 #42 := (mod #18 #20)
-#274 := (* -1::Int #42)
-#275 := (+ #41 #274)
-#276 := (= #275 0::Int)
-#77 := (<= #20 0::Int)
-#168 := (>= #18 0::Int)
-#221 := (or #168 #77)
-#222 := (not #221)
-#73 := (<= #18 0::Int)
-#217 := (or #73 #77)
-#218 := (not #217)
-#225 := (or #218 #222)
-#279 := (if #225 #276 #278)
-#273 := (= #41 0::Int)
+#257 := (* -1::Int #42)
+#258 := (+ #41 #257)
+#259 := (= #258 0::Int)
+#112 := (<= #20 0::Int)
+#119 := (>= #18 0::Int)
+#204 := (or #119 #112)
+#205 := (not #204)
+#108 := (<= #18 0::Int)
+#202 := (or #108 #112)
+#203 := (not #202)
+#208 := (or #203 #205)
+#262 := (if #208 #259 #261)
+#256 := (= #41 0::Int)
 #23 := (= #18 0::Int)
-#280 := (if #23 #273 #279)
-#272 := (= #41 #18)
+#263 := (if #23 #256 #262)
+#255 := (= #41 #18)
 #24 := (= #20 0::Int)
-#281 := (if #24 #272 #280)
-#709 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #708) #281)
-#284 := (forall (vars (?v0 Int) (?v1 Int)) #281)
-#712 := (iff #284 #709)
-#710 := (iff #281 #281)
-#711 := [refl]: #710
-#713 := [quant-intro #711]: #712
-#127 := (* -1::Int #121)
-#241 := (if #225 #42 #127)
-#244 := (if #23 0::Int #241)
-#247 := (if #24 #18 #244)
-#250 := (= #41 #247)
-#253 := (forall (vars (?v0 Int) (?v1 Int)) #250)
-#285 := (iff #253 #284)
-#282 := (iff #250 #281)
-#283 := [rewrite]: #282
-#286 := [quant-intro #283]: #285
-#78 := (not #77)
-#171 := (not #168)
-#174 := (and #171 #78)
-#74 := (not #73)
-#81 := (and #74 #78)
-#177 := (or #81 #174)
-#193 := (if #177 #42 #127)
-#196 := (if #23 0::Int #193)
-#199 := (if #24 #18 #196)
-#202 := (= #41 #199)
-#205 := (forall (vars (?v0 Int) (?v1 Int)) #202)
-#254 := (iff #205 #253)
-#251 := (iff #202 #250)
-#248 := (= #199 #247)
-#245 := (= #196 #244)
-#242 := (= #193 #241)
-#226 := (iff #177 #225)
-#223 := (iff #174 #222)
-#224 := [rewrite]: #223
-#219 := (iff #81 #218)
-#220 := [rewrite]: #219
-#227 := [monotonicity #220 #224]: #226
-#243 := [monotonicity #227]: #242
-#246 := [monotonicity #243]: #245
-#249 := [monotonicity #246]: #248
-#252 := [monotonicity #249]: #251
-#255 := [quant-intro #252]: #254
-#167 := (~ #205 #205)
-#212 := (~ #202 #202)
-#166 := [refl]: #212
-#215 := [nnf-pos #166]: #167
-#84 := (<= 0::Int #18)
-#85 := (not #84)
-#93 := (and #85 #78)
-#96 := (or #81 #93)
-#132 := (if #96 #42 #127)
-#135 := (if #23 0::Int #132)
-#138 := (if #24 #18 #135)
-#141 := (= #41 #138)
-#144 := (forall (vars (?v0 Int) (?v1 Int)) #141)
-#206 := (iff #144 #205)
-#203 := (iff #141 #202)
-#200 := (= #138 #199)
-#197 := (= #135 #196)
-#194 := (= #132 #193)
-#178 := (iff #96 #177)
-#175 := (iff #93 #174)
-#172 := (iff #85 #171)
-#169 := (iff #84 #168)
-#170 := [rewrite]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#195 := [monotonicity #179]: #194
-#198 := [monotonicity #195]: #197
-#201 := [monotonicity #198]: #200
-#204 := [monotonicity #201]: #203
-#207 := [quant-intro #204]: #206
+#264 := (if #24 #255 #263)
+#751 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #750) #264)
+#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
+#754 := (iff #267 #751)
+#752 := (iff #264 #264)
+#753 := [refl]: #752
+#755 := [quant-intro #753]: #754
+#151 := (* -1::Int #145)
+#224 := (if #208 #42 #151)
+#227 := (if #23 0::Int #224)
+#230 := (if #24 #18 #227)
+#233 := (= #41 #230)
+#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
+#268 := (iff #236 #267)
+#265 := (iff #233 #264)
+#266 := [rewrite]: #265
+#269 := [quant-intro #266]: #268
+#113 := (not #112)
+#120 := (not #119)
+#123 := (and #120 #113)
+#109 := (not #108)
+#116 := (and #109 #113)
+#126 := (or #116 #123)
+#171 := (if #126 #42 #151)
+#174 := (if #23 0::Int #171)
+#177 := (if #24 #18 #174)
+#180 := (= #41 #177)
+#183 := (forall (vars (?v0 Int) (?v1 Int)) #180)
+#237 := (iff #183 #236)
+#234 := (iff #180 #233)
+#231 := (= #177 #230)
+#228 := (= #174 #227)
+#225 := (= #171 #224)
+#209 := (iff #126 #208)
+#206 := (iff #123 #205)
+#207 := [rewrite]: #206
+#196 := (iff #116 #203)
+#197 := [rewrite]: #196
+#210 := [monotonicity #197 #207]: #209
+#226 := [monotonicity #210]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [monotonicity #232]: #234
+#238 := [quant-intro #235]: #237
+#194 := (~ #183 #183)
+#193 := (~ #180 #180)
+#190 := [refl]: #193
+#195 := [nnf-pos #190]: #194
 #34 := (- #20)
 #33 := (- #18)
 #43 := (mod #33 #34)
@@ -38955,59 +36436,70 @@
 #47 := (if #24 #18 #46)
 #48 := (= #41 #47)
 #49 := (forall (vars (?v0 Int) (?v1 Int)) #48)
-#145 := (iff #49 #144)
-#142 := (iff #48 #141)
-#139 := (= #47 #138)
-#136 := (= #46 #135)
-#133 := (= #45 #132)
-#130 := (= #44 #127)
-#124 := (- #121)
-#128 := (= #124 #127)
-#129 := [rewrite]: #128
-#125 := (= #44 #124)
-#122 := (= #43 #121)
-#103 := (= #34 #102)
-#104 := [rewrite]: #103
-#100 := (= #33 #99)
-#101 := [rewrite]: #100
-#123 := [monotonicity #101 #104]: #122
-#126 := [monotonicity #123]: #125
-#131 := [trans #126 #129]: #130
-#97 := (iff #31 #96)
-#94 := (iff #30 #93)
-#79 := (iff #27 #78)
-#80 := [rewrite]: #79
-#86 := (iff #29 #85)
-#90 := (iff #85 #85)
-#88 := (iff #84 #84)
+#186 := (iff #49 #183)
+#156 := (if #31 #42 #151)
+#159 := (if #23 0::Int #156)
+#162 := (if #24 #18 #159)
+#165 := (= #41 #162)
+#168 := (forall (vars (?v0 Int) (?v1 Int)) #165)
+#184 := (iff #168 #183)
+#181 := (iff #165 #180)
+#178 := (= #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#127 := (iff #31 #126)
+#124 := (iff #30 #123)
+#114 := (iff #27 #113)
+#115 := [rewrite]: #114
+#121 := (iff #29 #120)
+#122 := [rewrite]: #121
+#125 := [monotonicity #122 #115]: #124
+#117 := (iff #28 #116)
+#110 := (iff #26 #109)
+#111 := [rewrite]: #110
+#118 := [monotonicity #111 #115]: #117
+#128 := [monotonicity #118 #125]: #127
+#173 := [monotonicity #128]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [quant-intro #182]: #184
+#169 := (iff #49 #168)
+#166 := (iff #48 #165)
+#163 := (= #47 #162)
+#160 := (= #46 #159)
+#157 := (= #45 #156)
+#154 := (= #44 #151)
+#148 := (- #145)
+#152 := (= #148 #151)
+#153 := [rewrite]: #152
+#149 := (= #44 #148)
+#146 := (= #43 #145)
+#91 := (= #34 #90)
+#92 := [rewrite]: #91
+#88 := (= #33 #86)
 #89 := [rewrite]: #88
-#91 := [monotonicity #89]: #90
-#87 := [rewrite]: #86
-#92 := [trans #87 #91]: #86
-#95 := [monotonicity #92 #80]: #94
-#82 := (iff #28 #81)
-#75 := (iff #26 #74)
-#76 := [rewrite]: #75
-#83 := [monotonicity #76 #80]: #82
-#98 := [monotonicity #83 #95]: #97
-#134 := [monotonicity #98 #131]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#143 := [monotonicity #140]: #142
-#146 := [quant-intro #143]: #145
-#53 := [asserted]: #49
-#147 := [mp #53 #146]: #144
-#208 := [mp #147 #207]: #205
-#216 := [mp~ #208 #215]: #205
-#256 := [mp #216 #255]: #253
-#287 := [mp #256 #286]: #284
-#714 := [mp #287 #713]: #709
-#57 := -3::Int
+#147 := [monotonicity #89 #92]: #146
+#150 := [monotonicity #147]: #149
+#155 := [trans #150 #153]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [quant-intro #167]: #169
+#187 := [trans #170 #185]: #186
+#144 := [asserted]: #49
+#188 := [mp #144 #187]: #183
+#191 := [mp~ #188 #195]: #183
+#239 := [mp #191 #238]: #236
+#270 := [mp #239 #269]: #267
+#756 := [mp #270 #755]: #751
+#70 := -3::Int
 #8 := 5::Int
 #9 := (f4 f5 5::Int)
-#60 := (f3 #9 -3::Int)
-#66 := (= #60 -1::Int)
-#69 := (not #66)
+#73 := (f3 #9 -3::Int)
+#79 := (= #73 -1::Int)
+#82 := (not #79)
 #13 := 1::Int
 #14 := (- 1::Int)
 #10 := 3::Int
@@ -39015,173 +36507,173 @@
 #12 := (f3 #9 #11)
 #15 := (= #12 #14)
 #16 := (not #15)
-#70 := (iff #16 #69)
-#67 := (iff #15 #66)
-#64 := (= #14 -1::Int)
-#65 := [rewrite]: #64
-#61 := (= #12 #60)
-#58 := (= #11 -3::Int)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#68 := [monotonicity #62 #65]: #67
-#71 := [monotonicity #68]: #70
-#51 := [asserted]: #16
-#72 := [mp #51 #71]: #69
-#619 := (not #709)
-#620 := (or #619 #66)
-#364 := (* -1::Int -3::Int)
-#363 := (* -1::Int 5::Int)
-#696 := (mod #363 #364)
-#697 := (+ #60 #696)
-#698 := (= #697 0::Int)
-#695 := (mod 5::Int -3::Int)
-#352 := (* -1::Int #695)
-#482 := (+ #60 #352)
-#689 := (= #482 0::Int)
-#376 := (<= -3::Int 0::Int)
-#375 := (>= 5::Int 0::Int)
-#379 := (or #375 #376)
-#358 := (not #379)
-#365 := (<= 5::Int 0::Int)
-#377 := (or #365 #376)
-#378 := (not #377)
-#693 := (or #378 #358)
-#699 := (if #693 #689 #698)
-#374 := (= #60 0::Int)
-#373 := (= 5::Int 0::Int)
-#694 := (if #373 #374 #699)
-#372 := (= #60 5::Int)
-#288 := (= -3::Int 0::Int)
-#700 := (if #288 #372 #694)
-#621 := (or #619 #700)
-#622 := (iff #621 #620)
-#607 := (iff #620 #620)
-#609 := [rewrite]: #607
-#629 := (iff #700 #66)
-#616 := (if false #372 #66)
-#628 := (iff #616 #66)
-#624 := [rewrite]: #628
-#626 := (iff #700 #616)
-#617 := (iff #694 #66)
-#635 := (if false #374 #66)
-#623 := (iff #635 #66)
-#625 := [rewrite]: #623
-#632 := (iff #694 #635)
-#541 := (iff #699 #66)
-#383 := 2::Int
-#504 := (= #60 2::Int)
-#537 := (if false #504 #66)
-#539 := (iff #537 #66)
-#540 := [rewrite]: #539
-#530 := (iff #699 #537)
-#534 := (iff #698 #66)
-#524 := (+ 1::Int #60)
-#535 := (= #524 0::Int)
-#634 := (iff #535 #66)
-#519 := [rewrite]: #634
-#630 := (iff #698 #535)
-#485 := (= #697 #524)
-#641 := (+ #60 1::Int)
-#525 := (= #641 #524)
+#83 := (iff #16 #82)
+#80 := (iff #15 #79)
+#77 := (= #14 -1::Int)
+#78 := [rewrite]: #77
+#74 := (= #12 #73)
+#71 := (= #11 -3::Int)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#81 := [monotonicity #75 #78]: #80
+#84 := [monotonicity #81]: #83
+#69 := [asserted]: #16
+#87 := [mp #69 #84]: #82
+#660 := (not #751)
+#661 := (or #660 #79)
+#406 := (* -1::Int -3::Int)
+#405 := (* -1::Int 5::Int)
+#738 := (mod #405 #406)
+#739 := (+ #73 #738)
+#740 := (= #739 0::Int)
+#737 := (mod 5::Int -3::Int)
+#394 := (* -1::Int #737)
+#524 := (+ #73 #394)
+#731 := (= #524 0::Int)
+#418 := (<= -3::Int 0::Int)
+#417 := (>= 5::Int 0::Int)
+#421 := (or #417 #418)
+#400 := (not #421)
+#407 := (<= 5::Int 0::Int)
+#419 := (or #407 #418)
+#420 := (not #419)
+#735 := (or #420 #400)
+#741 := (if #735 #731 #740)
+#416 := (= #73 0::Int)
+#415 := (= 5::Int 0::Int)
+#736 := (if #415 #416 #741)
+#414 := (= #73 5::Int)
+#330 := (= -3::Int 0::Int)
+#742 := (if #330 #414 #736)
+#662 := (or #660 #742)
+#657 := (iff #662 #661)
+#648 := (iff #661 #661)
+#649 := [rewrite]: #648
+#666 := (iff #742 #79)
+#656 := (if false #414 #79)
+#669 := (iff #656 #79)
+#670 := [rewrite]: #669
+#658 := (iff #742 #656)
+#667 := (iff #736 #79)
+#584 := (if false #416 #79)
+#678 := (iff #584 #79)
+#665 := [rewrite]: #678
+#677 := (iff #736 #584)
+#582 := (iff #741 #79)
+#291 := 2::Int
+#545 := (= #73 2::Int)
+#578 := (if false #545 #79)
+#580 := (iff #578 #79)
+#581 := [rewrite]: #580
+#579 := (iff #741 #578)
+#561 := (iff #740 #79)
+#684 := (+ 1::Int #73)
+#675 := (= #684 0::Int)
+#673 := (iff #675 #79)
+#676 := [rewrite]: #673
+#577 := (iff #740 #675)
+#568 := (= #739 #684)
+#682 := (+ #73 1::Int)
+#566 := (= #682 #684)
+#567 := [rewrite]: #566
+#683 := (= #739 #682)
+#679 := (= #738 1::Int)
+#691 := -5::Int
+#687 := (mod -5::Int 3::Int)
+#525 := (= #687 1::Int)
 #526 := [rewrite]: #525
-#639 := (= #697 #641)
-#638 := (= #696 1::Int)
-#643 := -5::Int
-#652 := (mod -5::Int 3::Int)
-#484 := (= #652 1::Int)
-#637 := [rewrite]: #484
-#481 := (= #696 #652)
-#651 := (= #364 3::Int)
-#645 := [rewrite]: #651
-#644 := (= #363 -5::Int)
-#650 := [rewrite]: #644
-#483 := [monotonicity #650 #645]: #481
-#640 := [trans #483 #637]: #638
-#642 := [monotonicity #640]: #639
-#633 := [trans #642 #526]: #485
-#631 := [monotonicity #633]: #630
-#536 := [trans #631 #519]: #534
-#648 := (iff #689 #504)
-#380 := -2::Int
-#653 := (+ -2::Int #60)
-#661 := (= #653 0::Int)
-#646 := (iff #661 #504)
-#647 := [rewrite]: #646
-#502 := (iff #689 #661)
-#660 := (= #482 #653)
-#656 := (+ #60 -2::Int)
-#654 := (= #656 #653)
-#659 := [rewrite]: #654
-#657 := (= #482 #656)
-#663 := (= #352 -2::Int)
-#386 := (* -1::Int 2::Int)
-#662 := (= #386 -2::Int)
-#666 := [rewrite]: #662
-#664 := (= #352 #386)
-#384 := (= #695 2::Int)
-#385 := [rewrite]: #384
-#665 := [monotonicity #385]: #664
-#667 := [trans #665 #666]: #663
-#658 := [monotonicity #667]: #657
-#655 := [trans #658 #659]: #660
-#503 := [monotonicity #655]: #502
-#649 := [trans #503 #647]: #648
-#669 := (iff #693 false)
-#671 := (or false false)
-#668 := (iff #671 false)
-#672 := [rewrite]: #668
-#393 := (iff #693 #671)
-#294 := (iff #358 false)
-#1 := true
-#681 := (not true)
-#683 := (iff #681 false)
-#321 := [rewrite]: #683
-#399 := (iff #358 #681)
-#397 := (iff #379 true)
-#687 := (or true true)
-#674 := (iff #687 true)
-#675 := [rewrite]: #674
-#685 := (iff #379 #687)
-#335 := (iff #376 true)
-#676 := [rewrite]: #335
-#326 := (iff #375 true)
-#327 := [rewrite]: #326
-#688 := [monotonicity #327 #676]: #685
-#398 := [trans #688 #675]: #397
-#400 := [monotonicity #398]: #399
-#670 := [trans #400 #321]: #294
-#684 := (iff #378 false)
-#682 := (iff #378 #681)
-#679 := (iff #377 true)
-#339 := (or false true)
-#342 := (iff #339 true)
-#678 := [rewrite]: #342
-#340 := (iff #377 #339)
-#351 := (iff #365 false)
-#692 := [rewrite]: #351
-#341 := [monotonicity #692 #676]: #340
-#680 := [trans #341 #678]: #679
-#677 := [monotonicity #680]: #682
-#686 := [trans #677 #321]: #684
-#394 := [monotonicity #686 #670]: #393
-#673 := [trans #394 #672]: #669
-#538 := [monotonicity #673 #649 #536]: #530
-#542 := [trans #538 #540]: #541
-#355 := (iff #373 false)
-#691 := [rewrite]: #355
-#636 := [monotonicity #691 #542]: #632
-#614 := [trans #636 #625]: #617
-#690 := (iff #288 false)
-#350 := [rewrite]: #690
-#627 := [monotonicity #350 #614]: #626
-#618 := [trans #627 #624]: #629
-#606 := [monotonicity #618]: #622
-#610 := [trans #606 #609]: #622
-#615 := [quant-inst #8 #57]: #621
-#611 := [mp #615 #610]: #620
-[unit-resolution #611 #72 #714]: false
-6e4e56fbe00a817abbb464ec634b76cfe95ffdd1 351 0
-unsat
+#694 := (= #738 #687)
+#692 := (= #406 3::Int)
+#693 := [rewrite]: #692
+#685 := (= #405 -5::Int)
+#686 := [rewrite]: #685
+#523 := [monotonicity #686 #693]: #694
+#680 := [trans #523 #526]: #679
+#681 := [monotonicity #680]: #683
+#527 := [trans #681 #567]: #568
+#672 := [monotonicity #527]: #577
+#576 := [trans #672 #676]: #561
+#689 := (iff #731 #545)
+#707 := -2::Int
+#700 := (+ -2::Int #73)
+#697 := (= #700 0::Int)
+#546 := (iff #697 #545)
+#688 := [rewrite]: #546
+#703 := (iff #731 #697)
+#701 := (= #524 #700)
+#709 := (+ #73 -2::Int)
+#695 := (= #709 #700)
+#696 := [rewrite]: #695
+#698 := (= #524 #709)
+#708 := (= #394 -2::Int)
+#427 := (* -1::Int 2::Int)
+#422 := (= #427 -2::Int)
+#704 := [rewrite]: #422
+#428 := (= #394 #427)
+#425 := (= #737 2::Int)
+#426 := [rewrite]: #425
+#706 := [monotonicity #426]: #428
+#705 := [trans #706 #704]: #708
+#699 := [monotonicity #705]: #698
+#702 := [trans #699 #696]: #701
+#544 := [monotonicity #702]: #703
+#690 := [trans #544 #688]: #689
+#711 := (iff #735 false)
+#713 := (or false false)
+#710 := (iff #713 false)
+#714 := [rewrite]: #710
+#435 := (iff #735 #713)
+#336 := (iff #400 false)
+#1 := true
+#723 := (not true)
+#725 := (iff #723 false)
+#363 := [rewrite]: #725
+#441 := (iff #400 #723)
+#439 := (iff #421 true)
+#729 := (or true true)
+#716 := (iff #729 true)
+#717 := [rewrite]: #716
+#727 := (iff #421 #729)
+#377 := (iff #418 true)
+#718 := [rewrite]: #377
+#368 := (iff #417 true)
+#369 := [rewrite]: #368
+#730 := [monotonicity #369 #718]: #727
+#440 := [trans #730 #717]: #439
+#442 := [monotonicity #440]: #441
+#712 := [trans #442 #363]: #336
+#726 := (iff #420 false)
+#724 := (iff #420 #723)
+#721 := (iff #419 true)
+#381 := (or false true)
+#384 := (iff #381 true)
+#720 := [rewrite]: #384
+#382 := (iff #419 #381)
+#393 := (iff #407 false)
+#734 := [rewrite]: #393
+#383 := [monotonicity #734 #718]: #382
+#722 := [trans #383 #720]: #721
+#719 := [monotonicity #722]: #724
+#728 := [trans #719 #363]: #726
+#436 := [monotonicity #728 #712]: #435
+#715 := [trans #436 #714]: #711
+#572 := [monotonicity #715 #690 #576]: #579
+#583 := [trans #572 #581]: #582
+#397 := (iff #415 false)
+#733 := [rewrite]: #397
+#674 := [monotonicity #733 #583]: #677
+#659 := [trans #674 #665]: #667
+#732 := (iff #330 false)
+#392 := [rewrite]: #732
+#668 := [monotonicity #392 #659]: #658
+#671 := [trans #668 #670]: #666
+#664 := [monotonicity #671]: #657
+#651 := [trans #664 #649]: #657
+#663 := [quant-inst #8 #70]: #662
+#652 := [mp #663 #651]: #661
+[unit-resolution #652 #87 #756]: false
+unsat
+a7fdbc0f19f952e6755be949d9ee0ea28b9c032d 335 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -39191,107 +36683,80 @@
 #7 := f5
 #39 := (f4 f5 #17)
 #40 := (f3 #39 #19)
-#707 := (pattern #40)
+#749 := (pattern #40)
 #21 := 0::Int
-#56 := -1::Int
-#101 := (* -1::Int #19)
-#98 := (* -1::Int #17)
-#120 := (mod #98 #101)
-#276 := (+ #40 #120)
-#277 := (= #276 0::Int)
+#69 := -1::Int
+#89 := (* -1::Int #19)
+#85 := (* -1::Int #17)
+#144 := (mod #85 #89)
+#259 := (+ #40 #144)
+#260 := (= #259 0::Int)
 #41 := (mod #17 #19)
-#273 := (* -1::Int #41)
-#274 := (+ #40 #273)
-#275 := (= #274 0::Int)
-#76 := (<= #19 0::Int)
-#167 := (>= #17 0::Int)
-#220 := (or #167 #76)
-#221 := (not #220)
-#72 := (<= #17 0::Int)
-#216 := (or #72 #76)
-#217 := (not #216)
-#224 := (or #217 #221)
-#278 := (if #224 #275 #277)
-#272 := (= #40 0::Int)
+#256 := (* -1::Int #41)
+#257 := (+ #40 #256)
+#258 := (= #257 0::Int)
+#111 := (<= #19 0::Int)
+#118 := (>= #17 0::Int)
+#203 := (or #118 #111)
+#204 := (not #203)
+#107 := (<= #17 0::Int)
+#201 := (or #107 #111)
+#202 := (not #201)
+#207 := (or #202 #204)
+#261 := (if #207 #258 #260)
+#255 := (= #40 0::Int)
 #22 := (= #17 0::Int)
-#279 := (if #22 #272 #278)
-#271 := (= #40 #17)
+#262 := (if #22 #255 #261)
+#254 := (= #40 #17)
 #23 := (= #19 0::Int)
-#280 := (if #23 #271 #279)
-#708 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #707) #280)
-#283 := (forall (vars (?v0 Int) (?v1 Int)) #280)
-#711 := (iff #283 #708)
-#709 := (iff #280 #280)
-#710 := [refl]: #709
-#712 := [quant-intro #710]: #711
-#126 := (* -1::Int #120)
-#240 := (if #224 #41 #126)
-#243 := (if #22 0::Int #240)
-#246 := (if #23 #17 #243)
-#249 := (= #40 #246)
-#252 := (forall (vars (?v0 Int) (?v1 Int)) #249)
-#284 := (iff #252 #283)
-#281 := (iff #249 #280)
-#282 := [rewrite]: #281
-#285 := [quant-intro #282]: #284
-#77 := (not #76)
-#170 := (not #167)
-#173 := (and #170 #77)
-#73 := (not #72)
-#80 := (and #73 #77)
-#176 := (or #80 #173)
-#192 := (if #176 #41 #126)
-#195 := (if #22 0::Int #192)
-#198 := (if #23 #17 #195)
-#201 := (= #40 #198)
-#204 := (forall (vars (?v0 Int) (?v1 Int)) #201)
-#253 := (iff #204 #252)
-#250 := (iff #201 #249)
-#247 := (= #198 #246)
-#244 := (= #195 #243)
-#241 := (= #192 #240)
-#225 := (iff #176 #224)
-#222 := (iff #173 #221)
-#223 := [rewrite]: #222
-#218 := (iff #80 #217)
-#219 := [rewrite]: #218
-#226 := [monotonicity #219 #223]: #225
-#242 := [monotonicity #226]: #241
-#245 := [monotonicity #242]: #244
-#248 := [monotonicity #245]: #247
-#251 := [monotonicity #248]: #250
-#254 := [quant-intro #251]: #253
-#166 := (~ #204 #204)
-#211 := (~ #201 #201)
-#165 := [refl]: #211
-#214 := [nnf-pos #165]: #166
-#83 := (<= 0::Int #17)
-#84 := (not #83)
-#92 := (and #84 #77)
-#95 := (or #80 #92)
-#131 := (if #95 #41 #126)
-#134 := (if #22 0::Int #131)
-#137 := (if #23 #17 #134)
-#140 := (= #40 #137)
-#143 := (forall (vars (?v0 Int) (?v1 Int)) #140)
-#205 := (iff #143 #204)
-#202 := (iff #140 #201)
-#199 := (= #137 #198)
-#196 := (= #134 #195)
-#193 := (= #131 #192)
-#177 := (iff #95 #176)
-#174 := (iff #92 #173)
-#171 := (iff #84 #170)
-#168 := (iff #83 #167)
-#169 := [rewrite]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#194 := [monotonicity #178]: #193
-#197 := [monotonicity #194]: #196
-#200 := [monotonicity #197]: #199
-#203 := [monotonicity #200]: #202
-#206 := [quant-intro #203]: #205
+#263 := (if #23 #254 #262)
+#750 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #749) #263)
+#266 := (forall (vars (?v0 Int) (?v1 Int)) #263)
+#753 := (iff #266 #750)
+#751 := (iff #263 #263)
+#752 := [refl]: #751
+#754 := [quant-intro #752]: #753
+#150 := (* -1::Int #144)
+#223 := (if #207 #41 #150)
+#226 := (if #22 0::Int #223)
+#229 := (if #23 #17 #226)
+#232 := (= #40 #229)
+#235 := (forall (vars (?v0 Int) (?v1 Int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#112 := (not #111)
+#119 := (not #118)
+#122 := (and #119 #112)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#170 := (if #125 #41 #150)
+#173 := (if #22 0::Int #170)
+#176 := (if #23 #17 #173)
+#179 := (= #40 #176)
+#182 := (forall (vars (?v0 Int) (?v1 Int)) #179)
+#236 := (iff #182 #235)
+#233 := (iff #179 #232)
+#230 := (= #176 #229)
+#227 := (= #173 #226)
+#224 := (= #170 #223)
+#208 := (iff #125 #207)
+#205 := (iff #122 #204)
+#206 := [rewrite]: #205
+#195 := (iff #115 #202)
+#196 := [rewrite]: #195
+#209 := [monotonicity #196 #206]: #208
+#225 := [monotonicity #209]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#193 := (~ #182 #182)
+#192 := (~ #179 #179)
+#189 := [refl]: #192
+#194 := [nnf-pos #189]: #193
 #33 := (- #19)
 #32 := (- #17)
 #42 := (mod #32 #33)
@@ -39307,233 +36772,244 @@
 #46 := (if #23 #17 #45)
 #47 := (= #40 #46)
 #48 := (forall (vars (?v0 Int) (?v1 Int)) #47)
-#144 := (iff #48 #143)
-#141 := (iff #47 #140)
-#138 := (= #46 #137)
-#135 := (= #45 #134)
-#132 := (= #44 #131)
-#129 := (= #43 #126)
-#123 := (- #120)
-#127 := (= #123 #126)
-#128 := [rewrite]: #127
-#124 := (= #43 #123)
-#121 := (= #42 #120)
-#102 := (= #33 #101)
-#103 := [rewrite]: #102
-#99 := (= #32 #98)
-#100 := [rewrite]: #99
-#122 := [monotonicity #100 #103]: #121
-#125 := [monotonicity #122]: #124
-#130 := [trans #125 #128]: #129
-#96 := (iff #30 #95)
-#93 := (iff #29 #92)
-#78 := (iff #26 #77)
-#79 := [rewrite]: #78
-#85 := (iff #28 #84)
-#89 := (iff #84 #84)
-#87 := (iff #83 #83)
+#185 := (iff #48 #182)
+#155 := (if #30 #41 #150)
+#158 := (if #22 0::Int #155)
+#161 := (if #23 #17 #158)
+#164 := (= #40 #161)
+#167 := (forall (vars (?v0 Int) (?v1 Int)) #164)
+#183 := (iff #167 #182)
+#180 := (iff #164 #179)
+#177 := (= #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#126 := (iff #30 #125)
+#123 := (iff #29 #122)
+#113 := (iff #26 #112)
+#114 := [rewrite]: #113
+#120 := (iff #28 #119)
+#121 := [rewrite]: #120
+#124 := [monotonicity #121 #114]: #123
+#116 := (iff #27 #115)
+#109 := (iff #25 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#172 := [monotonicity #127]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [quant-intro #181]: #183
+#168 := (iff #48 #167)
+#165 := (iff #47 #164)
+#162 := (= #46 #161)
+#159 := (= #45 #158)
+#156 := (= #44 #155)
+#153 := (= #43 #150)
+#147 := (- #144)
+#151 := (= #147 #150)
+#152 := [rewrite]: #151
+#148 := (= #43 #147)
+#145 := (= #42 #144)
+#90 := (= #33 #89)
+#91 := [rewrite]: #90
+#87 := (= #32 #85)
 #88 := [rewrite]: #87
-#90 := [monotonicity #88]: #89
-#86 := [rewrite]: #85
-#91 := [trans #86 #90]: #85
-#94 := [monotonicity #91 #79]: #93
-#81 := (iff #27 #80)
-#74 := (iff #25 #73)
-#75 := [rewrite]: #74
-#82 := [monotonicity #75 #79]: #81
-#97 := [monotonicity #82 #94]: #96
-#133 := [monotonicity #97 #130]: #132
-#136 := [monotonicity #133]: #135
-#139 := [monotonicity #136]: #138
-#142 := [monotonicity #139]: #141
-#145 := [quant-intro #142]: #144
-#52 := [asserted]: #48
-#146 := [mp #52 #145]: #143
-#207 := [mp #146 #206]: #204
-#215 := [mp~ #207 #214]: #204
-#255 := [mp #215 #254]: #252
-#286 := [mp #255 #285]: #283
-#713 := [mp #286 #712]: #708
+#146 := [monotonicity #88 #91]: #145
+#149 := [monotonicity #146]: #148
+#154 := [trans #149 #152]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#186 := [trans #169 #184]: #185
+#143 := [asserted]: #48
+#187 := [mp #143 #186]: #182
+#190 := [mp~ #187 #194]: #182
+#238 := [mp #190 #237]: #235
+#269 := [mp #238 #268]: #266
+#755 := [mp #269 #754]: #750
 #13 := 2::Int
 #11 := 3::Int
-#59 := (f4 f5 -1::Int)
-#62 := (f3 #59 3::Int)
-#65 := (= #62 2::Int)
-#68 := (not #65)
+#72 := (f4 f5 -1::Int)
+#75 := (f3 #72 3::Int)
+#78 := (= #75 2::Int)
+#81 := (not #78)
 #8 := 1::Int
 #9 := (- 1::Int)
 #10 := (f4 f5 #9)
 #12 := (f3 #10 3::Int)
 #14 := (= #12 2::Int)
 #15 := (not #14)
-#69 := (iff #15 #68)
-#66 := (iff #14 #65)
-#63 := (= #12 #62)
-#60 := (= #10 #59)
-#57 := (= #9 -1::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#70 := [monotonicity #67]: #69
-#50 := [asserted]: #15
-#71 := [mp #50 #70]: #68
-#619 := (not #708)
-#620 := (or #619 #65)
-#363 := (* -1::Int 3::Int)
-#362 := (* -1::Int -1::Int)
-#695 := (mod #362 #363)
-#696 := (+ #62 #695)
-#697 := (= #696 0::Int)
-#694 := (mod -1::Int 3::Int)
-#351 := (* -1::Int #694)
-#481 := (+ #62 #351)
-#688 := (= #481 0::Int)
-#375 := (<= 3::Int 0::Int)
-#374 := (>= -1::Int 0::Int)
-#378 := (or #374 #375)
-#357 := (not #378)
-#364 := (<= -1::Int 0::Int)
-#376 := (or #364 #375)
-#377 := (not #376)
-#692 := (or #377 #357)
-#698 := (if #692 #688 #697)
-#373 := (= #62 0::Int)
-#372 := (= -1::Int 0::Int)
-#693 := (if #372 #373 #698)
-#371 := (= #62 -1::Int)
-#287 := (= 3::Int 0::Int)
-#699 := (if #287 #371 #693)
-#614 := (or #619 #699)
-#605 := (iff #614 #620)
-#608 := (iff #620 #620)
-#609 := [rewrite]: #608
-#617 := (iff #699 #65)
-#625 := (if false #371 #65)
-#623 := (iff #625 #65)
-#628 := [rewrite]: #623
-#626 := (iff #699 #625)
-#613 := (iff #693 #65)
-#631 := (if false #373 #65)
-#624 := (iff #631 #65)
-#616 := [rewrite]: #624
-#635 := (iff #693 #631)
-#541 := (iff #698 #65)
-#1 := true
-#529 := (if true #65 #371)
-#539 := (iff #529 #65)
-#540 := [rewrite]: #539
-#537 := (iff #698 #529)
-#535 := (iff #697 #371)
-#524 := (+ 1::Int #62)
-#629 := (= #524 0::Int)
-#518 := (iff #629 #371)
-#533 := [rewrite]: #518
-#630 := (iff #697 #629)
-#632 := (= #696 #524)
-#638 := (+ #62 1::Int)
-#525 := (= #638 #524)
-#484 := [rewrite]: #525
-#641 := (= #696 #638)
-#639 := (= #695 1::Int)
-#650 := -3::Int
-#480 := (mod 1::Int -3::Int)
-#636 := (= #480 1::Int)
-#637 := [rewrite]: #636
-#482 := (= #695 #480)
-#644 := (= #363 -3::Int)
-#651 := [rewrite]: #644
-#643 := (= #362 1::Int)
-#649 := [rewrite]: #643
-#483 := [monotonicity #649 #651]: #482
-#640 := [trans #483 #637]: #639
-#523 := [monotonicity #640]: #641
-#534 := [trans #523 #484]: #632
-#633 := [monotonicity #534]: #630
-#536 := [trans #633 #533]: #535
-#648 := (iff #688 #65)
-#665 := -2::Int
-#658 := (+ -2::Int #62)
-#502 := (= #658 0::Int)
-#646 := (iff #502 #65)
-#647 := [rewrite]: #646
-#503 := (iff #688 #502)
-#660 := (= #481 #658)
-#657 := (+ #62 -2::Int)
-#659 := (= #657 #658)
-#654 := [rewrite]: #659
-#652 := (= #481 #657)
-#655 := (= #351 -2::Int)
-#664 := (* -1::Int 2::Int)
-#662 := (= #664 -2::Int)
-#666 := [rewrite]: #662
-#379 := (= #351 #664)
-#385 := (= #694 2::Int)
-#663 := [rewrite]: #385
-#661 := [monotonicity #663]: #379
-#656 := [trans #661 #666]: #655
-#653 := [monotonicity #656]: #652
-#501 := [trans #653 #654]: #660
-#645 := [monotonicity #501]: #503
-#642 := [trans #645 #647]: #648
-#383 := (iff #692 true)
-#667 := (or false true)
-#672 := (iff #667 true)
-#382 := [rewrite]: #672
-#671 := (iff #692 #667)
-#392 := (iff #357 true)
-#398 := (not false)
-#669 := (iff #398 true)
-#670 := [rewrite]: #669
-#399 := (iff #357 #398)
-#396 := (iff #378 false)
-#686 := (or false false)
-#673 := (iff #686 false)
-#674 := [rewrite]: #673
-#684 := (iff #378 #686)
-#334 := (iff #375 false)
-#675 := [rewrite]: #334
-#325 := (iff #374 false)
-#326 := [rewrite]: #325
-#687 := [monotonicity #326 #675]: #684
-#397 := [trans #687 #674]: #396
-#293 := [monotonicity #397]: #399
-#393 := [trans #293 #670]: #392
-#683 := (iff #377 false)
-#680 := (not true)
-#682 := (iff #680 false)
-#320 := [rewrite]: #682
-#681 := (iff #377 #680)
-#678 := (iff #376 true)
-#338 := (or true false)
-#341 := (iff #338 true)
-#677 := [rewrite]: #341
-#339 := (iff #376 #338)
-#350 := (iff #364 true)
-#691 := [rewrite]: #350
-#340 := [monotonicity #691 #675]: #339
-#679 := [trans #340 #677]: #678
-#676 := [monotonicity #679]: #681
-#685 := [trans #676 #320]: #683
-#668 := [monotonicity #685 #393]: #671
-#384 := [trans #668 #382]: #383
-#538 := [monotonicity #384 #642 #536]: #537
-#634 := [trans #538 #540]: #541
-#354 := (iff #372 false)
-#690 := [rewrite]: #354
-#622 := [monotonicity #690 #634]: #635
-#615 := [trans #622 #616]: #613
-#689 := (iff #287 false)
-#349 := [rewrite]: #689
-#627 := [monotonicity #349 #615]: #626
-#618 := [trans #627 #628]: #617
-#606 := [monotonicity #618]: #605
-#610 := [trans #606 #609]: #605
-#621 := [quant-inst #56 #11]: #614
-#611 := [mp #621 #610]: #620
-[unit-resolution #611 #71 #713]: false
-f9ffecc986aee817cb6d5df5a9e4ebfb5694a737 332 0
-unsat
+#82 := (iff #15 #81)
+#79 := (iff #14 #78)
+#76 := (= #12 #75)
+#73 := (= #10 #72)
+#70 := (= #9 -1::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#77 := [monotonicity #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#68 := [asserted]: #15
+#86 := [mp #68 #83]: #81
+#661 := (not #750)
+#662 := (or #661 #78)
+#405 := (* -1::Int 3::Int)
+#404 := (* -1::Int -1::Int)
+#737 := (mod #404 #405)
+#738 := (+ #75 #737)
+#739 := (= #738 0::Int)
+#736 := (mod -1::Int 3::Int)
+#393 := (* -1::Int #736)
+#523 := (+ #75 #393)
+#730 := (= #523 0::Int)
+#417 := (<= 3::Int 0::Int)
+#416 := (>= -1::Int 0::Int)
+#420 := (or #416 #417)
+#399 := (not #420)
+#406 := (<= -1::Int 0::Int)
+#418 := (or #406 #417)
+#419 := (not #418)
+#734 := (or #419 #399)
+#740 := (if #734 #730 #739)
+#415 := (= #75 0::Int)
+#414 := (= -1::Int 0::Int)
+#735 := (if #414 #415 #740)
+#413 := (= #75 -1::Int)
+#329 := (= 3::Int 0::Int)
+#741 := (if #329 #413 #735)
+#656 := (or #661 #741)
+#647 := (iff #656 #662)
+#650 := (iff #662 #662)
+#651 := [rewrite]: #650
+#659 := (iff #741 #78)
+#667 := (if false #413 #78)
+#665 := (iff #667 #78)
+#670 := [rewrite]: #665
+#668 := (iff #741 #667)
+#655 := (iff #735 #78)
+#673 := (if false #415 #78)
+#666 := (iff #673 #78)
+#658 := [rewrite]: #666
+#677 := (iff #735 #673)
+#583 := (iff #740 #78)
+#1 := true
+#571 := (if true #78 #413)
+#581 := (iff #571 #78)
+#582 := [rewrite]: #581
+#579 := (iff #740 #571)
+#577 := (iff #739 #413)
+#566 := (+ 1::Int #75)
+#671 := (= #566 0::Int)
+#560 := (iff #671 #413)
+#575 := [rewrite]: #560
+#672 := (iff #739 #671)
+#674 := (= #738 #566)
+#680 := (+ #75 1::Int)
+#567 := (= #680 #566)
+#526 := [rewrite]: #567
+#683 := (= #738 #680)
+#681 := (= #737 1::Int)
+#692 := -3::Int
+#522 := (mod 1::Int -3::Int)
+#678 := (= #522 1::Int)
+#679 := [rewrite]: #678
+#524 := (= #737 #522)
+#686 := (= #405 -3::Int)
+#693 := [rewrite]: #686
+#685 := (= #404 1::Int)
+#691 := [rewrite]: #685
+#525 := [monotonicity #691 #693]: #524
+#682 := [trans #525 #679]: #681
+#565 := [monotonicity #682]: #683
+#576 := [trans #565 #526]: #674
+#675 := [monotonicity #576]: #672
+#578 := [trans #675 #575]: #577
+#690 := (iff #730 #78)
+#707 := -2::Int
+#700 := (+ -2::Int #75)
+#544 := (= #700 0::Int)
+#688 := (iff #544 #78)
+#689 := [rewrite]: #688
+#545 := (iff #730 #544)
+#702 := (= #523 #700)
+#699 := (+ #75 -2::Int)
+#701 := (= #699 #700)
+#696 := [rewrite]: #701
+#694 := (= #523 #699)
+#697 := (= #393 -2::Int)
+#706 := (* -1::Int 2::Int)
+#704 := (= #706 -2::Int)
+#708 := [rewrite]: #704
+#421 := (= #393 #706)
+#427 := (= #736 2::Int)
+#705 := [rewrite]: #427
+#703 := [monotonicity #705]: #421
+#698 := [trans #703 #708]: #697
+#695 := [monotonicity #698]: #694
+#543 := [trans #695 #696]: #702
+#687 := [monotonicity #543]: #545
+#684 := [trans #687 #689]: #690
+#425 := (iff #734 true)
+#709 := (or false true)
+#714 := (iff #709 true)
+#424 := [rewrite]: #714
+#713 := (iff #734 #709)
+#434 := (iff #399 true)
+#440 := (not false)
+#711 := (iff #440 true)
+#712 := [rewrite]: #711
+#441 := (iff #399 #440)
+#438 := (iff #420 false)
+#728 := (or false false)
+#715 := (iff #728 false)
+#716 := [rewrite]: #715
+#726 := (iff #420 #728)
+#376 := (iff #417 false)
+#717 := [rewrite]: #376
+#367 := (iff #416 false)
+#368 := [rewrite]: #367
+#729 := [monotonicity #368 #717]: #726
+#439 := [trans #729 #716]: #438
+#335 := [monotonicity #439]: #441
+#435 := [trans #335 #712]: #434
+#725 := (iff #419 false)
+#722 := (not true)
+#724 := (iff #722 false)
+#362 := [rewrite]: #724
+#723 := (iff #419 #722)
+#720 := (iff #418 true)
+#380 := (or true false)
+#383 := (iff #380 true)
+#719 := [rewrite]: #383
+#381 := (iff #418 #380)
+#392 := (iff #406 true)
+#733 := [rewrite]: #392
+#382 := [monotonicity #733 #717]: #381
+#721 := [trans #382 #719]: #720
+#718 := [monotonicity #721]: #723
+#727 := [trans #718 #362]: #725
+#710 := [monotonicity #727 #435]: #713
+#426 := [trans #710 #424]: #425
+#580 := [monotonicity #426 #684 #578]: #579
+#676 := [trans #580 #582]: #583
+#396 := (iff #414 false)
+#732 := [rewrite]: #396
+#664 := [monotonicity #732 #676]: #677
+#657 := [trans #664 #658]: #655
+#731 := (iff #329 false)
+#391 := [rewrite]: #731
+#669 := [monotonicity #391 #657]: #668
+#660 := [trans #669 #670]: #659
+#648 := [monotonicity #660]: #647
+#652 := [trans #648 #651]: #647
+#663 := [quant-inst #69 #11]: #656
+#653 := [mp #663 #652]: #662
+[unit-resolution #653 #86 #755]: false
+unsat
+e5eb6ef756ed3738c8596e457b2e9e48f554cfa6 316 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -39543,107 +37019,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#707 := (pattern #38)
+#750 := (pattern #38)
 #12 := 0::Int
-#96 := -1::Int
-#100 := (* -1::Int #18)
-#97 := (* -1::Int #16)
-#119 := (mod #97 #100)
-#275 := (+ #38 #119)
-#276 := (= #275 0::Int)
+#83 := -1::Int
+#88 := (* -1::Int #18)
+#85 := (* -1::Int #16)
+#143 := (mod #85 #88)
+#258 := (+ #38 #143)
+#259 := (= #258 0::Int)
 #39 := (mod #16 #18)
-#272 := (* -1::Int #39)
-#273 := (+ #38 #272)
-#274 := (= #273 0::Int)
-#74 := (<= #18 0::Int)
-#166 := (>= #16 0::Int)
-#219 := (or #166 #74)
-#220 := (not #219)
-#70 := (<= #16 0::Int)
-#215 := (or #70 #74)
-#216 := (not #215)
-#223 := (or #216 #220)
-#277 := (if #223 #274 #276)
-#271 := (= #38 0::Int)
+#255 := (* -1::Int #39)
+#256 := (+ #38 #255)
+#257 := (= #256 0::Int)
+#110 := (<= #18 0::Int)
+#117 := (>= #16 0::Int)
+#202 := (or #117 #110)
+#203 := (not #202)
+#106 := (<= #16 0::Int)
+#200 := (or #106 #110)
+#201 := (not #200)
+#206 := (or #201 #203)
+#260 := (if #206 #257 #259)
+#254 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#278 := (if #20 #271 #277)
-#270 := (= #38 #16)
+#261 := (if #20 #254 #260)
+#253 := (= #38 #16)
 #21 := (= #18 0::Int)
-#279 := (if #21 #270 #278)
-#708 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #707) #279)
-#282 := (forall (vars (?v0 Int) (?v1 Int)) #279)
-#711 := (iff #282 #708)
-#709 := (iff #279 #279)
-#710 := [refl]: #709
-#712 := [quant-intro #710]: #711
-#125 := (* -1::Int #119)
-#239 := (if #223 #39 #125)
-#242 := (if #20 0::Int #239)
-#245 := (if #21 #16 #242)
-#248 := (= #38 #245)
-#251 := (forall (vars (?v0 Int) (?v1 Int)) #248)
-#283 := (iff #251 #282)
-#280 := (iff #248 #279)
-#281 := [rewrite]: #280
-#284 := [quant-intro #281]: #283
-#75 := (not #74)
-#169 := (not #166)
-#172 := (and #169 #75)
-#71 := (not #70)
-#78 := (and #71 #75)
-#175 := (or #78 #172)
-#191 := (if #175 #39 #125)
-#194 := (if #20 0::Int #191)
-#197 := (if #21 #16 #194)
-#200 := (= #38 #197)
-#203 := (forall (vars (?v0 Int) (?v1 Int)) #200)
-#252 := (iff #203 #251)
-#249 := (iff #200 #248)
-#246 := (= #197 #245)
-#243 := (= #194 #242)
-#240 := (= #191 #239)
-#224 := (iff #175 #223)
-#221 := (iff #172 #220)
-#222 := [rewrite]: #221
-#217 := (iff #78 #216)
-#218 := [rewrite]: #217
-#225 := [monotonicity #218 #222]: #224
-#241 := [monotonicity #225]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [quant-intro #250]: #252
-#165 := (~ #203 #203)
-#210 := (~ #200 #200)
-#164 := [refl]: #210
-#213 := [nnf-pos #164]: #165
-#81 := (<= 0::Int #16)
-#82 := (not #81)
-#90 := (and #82 #75)
-#93 := (or #78 #90)
-#130 := (if #93 #39 #125)
-#133 := (if #20 0::Int #130)
-#136 := (if #21 #16 #133)
-#139 := (= #38 #136)
-#142 := (forall (vars (?v0 Int) (?v1 Int)) #139)
-#204 := (iff #142 #203)
-#201 := (iff #139 #200)
-#198 := (= #136 #197)
-#195 := (= #133 #194)
-#192 := (= #130 #191)
-#176 := (iff #93 #175)
-#173 := (iff #90 #172)
-#170 := (iff #82 #169)
-#167 := (iff #81 #166)
-#168 := [rewrite]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#193 := [monotonicity #177]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [monotonicity #199]: #201
-#205 := [quant-intro #202]: #204
+#262 := (if #21 #253 #261)
+#751 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #750) #262)
+#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
+#754 := (iff #265 #751)
+#752 := (iff #262 #262)
+#753 := [refl]: #752
+#755 := [quant-intro #753]: #754
+#149 := (* -1::Int #143)
+#222 := (if #206 #39 #149)
+#225 := (if #20 0::Int #222)
+#228 := (if #21 #16 #225)
+#231 := (= #38 #228)
+#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
+#266 := (iff #234 #265)
+#263 := (iff #231 #262)
+#264 := [rewrite]: #263
+#267 := [quant-intro #264]: #266
+#111 := (not #110)
+#118 := (not #117)
+#121 := (and #118 #111)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#169 := (if #124 #39 #149)
+#172 := (if #20 0::Int #169)
+#175 := (if #21 #16 #172)
+#178 := (= #38 #175)
+#181 := (forall (vars (?v0 Int) (?v1 Int)) #178)
+#235 := (iff #181 #234)
+#232 := (iff #178 #231)
+#229 := (= #175 #228)
+#226 := (= #172 #225)
+#223 := (= #169 #222)
+#207 := (iff #124 #206)
+#204 := (iff #121 #203)
+#205 := [rewrite]: #204
+#194 := (iff #114 #201)
+#195 := [rewrite]: #194
+#208 := [monotonicity #195 #205]: #207
+#224 := [monotonicity #208]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [quant-intro #233]: #235
+#192 := (~ #181 #181)
+#191 := (~ #178 #178)
+#188 := [refl]: #191
+#193 := [nnf-pos #188]: #192
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -39659,214 +37108,225 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#143 := (iff #46 #142)
-#140 := (iff #45 #139)
-#137 := (= #44 #136)
-#134 := (= #43 #133)
-#131 := (= #42 #130)
-#128 := (= #41 #125)
-#122 := (- #119)
-#126 := (= #122 #125)
-#127 := [rewrite]: #126
-#123 := (= #41 #122)
-#120 := (= #40 #119)
-#101 := (= #31 #100)
-#102 := [rewrite]: #101
-#98 := (= #30 #97)
-#99 := [rewrite]: #98
-#121 := [monotonicity #99 #102]: #120
-#124 := [monotonicity #121]: #123
-#129 := [trans #124 #127]: #128
-#94 := (iff #28 #93)
-#91 := (iff #27 #90)
-#76 := (iff #24 #75)
-#77 := [rewrite]: #76
-#83 := (iff #26 #82)
-#87 := (iff #82 #82)
-#85 := (iff #81 #81)
-#86 := [rewrite]: #85
-#88 := [monotonicity #86]: #87
-#84 := [rewrite]: #83
-#89 := [trans #84 #88]: #83
-#92 := [monotonicity #89 #77]: #91
-#79 := (iff #25 #78)
-#72 := (iff #23 #71)
-#73 := [rewrite]: #72
-#80 := [monotonicity #73 #77]: #79
-#95 := [monotonicity #80 #92]: #94
-#132 := [monotonicity #95 #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#144 := [quant-intro #141]: #143
-#50 := [asserted]: #46
-#145 := [mp #50 #144]: #142
-#206 := [mp #145 #205]: #203
-#214 := [mp~ #206 #213]: #203
-#254 := [mp #214 #253]: #251
-#285 := [mp #254 #284]: #282
-#713 := [mp #285 #712]: #708
+#184 := (iff #46 #181)
+#154 := (if #28 #39 #149)
+#157 := (if #20 0::Int #154)
+#160 := (if #21 #16 #157)
+#163 := (= #38 #160)
+#166 := (forall (vars (?v0 Int) (?v1 Int)) #163)
+#182 := (iff #166 #181)
+#179 := (iff #163 #178)
+#176 := (= #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#125 := (iff #28 #124)
+#122 := (iff #27 #121)
+#112 := (iff #24 #111)
+#113 := [rewrite]: #112
+#119 := (iff #26 #118)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120 #113]: #122
+#115 := (iff #25 #114)
+#108 := (iff #23 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#171 := [monotonicity #126]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [quant-intro #180]: #182
+#167 := (iff #46 #166)
+#164 := (iff #45 #163)
+#161 := (= #44 #160)
+#158 := (= #43 #157)
+#155 := (= #42 #154)
+#152 := (= #41 #149)
+#146 := (- #143)
+#150 := (= #146 #149)
+#151 := [rewrite]: #150
+#147 := (= #41 #146)
+#144 := (= #40 #143)
+#89 := (= #31 #88)
+#90 := [rewrite]: #89
+#86 := (= #30 #85)
+#87 := [rewrite]: #86
+#145 := [monotonicity #87 #90]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#185 := [trans #168 #183]: #184
+#142 := [asserted]: #46
+#186 := [mp #142 #185]: #181
+#189 := [mp~ #186 #193]: #181
+#237 := [mp #189 #236]: #234
+#268 := [mp #237 #267]: #265
+#756 := [mp #268 #755]: #751
 #8 := 3::Int
-#54 := -3::Int
-#57 := (f4 f5 -3::Int)
-#60 := (f3 #57 3::Int)
-#63 := (= #60 0::Int)
-#66 := (not #63)
+#67 := -3::Int
+#70 := (f4 f5 -3::Int)
+#73 := (f3 #70 3::Int)
+#76 := (= #73 0::Int)
+#79 := (not #76)
 #9 := (- 3::Int)
 #10 := (f4 f5 #9)
 #11 := (f3 #10 3::Int)
 #13 := (= #11 0::Int)
 #14 := (not #13)
-#67 := (iff #14 #66)
-#64 := (iff #13 #63)
-#61 := (= #11 #60)
-#58 := (= #10 #57)
-#55 := (= #9 -3::Int)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#68 := [monotonicity #65]: #67
-#48 := [asserted]: #14
-#69 := [mp #48 #68]: #66
-#539 := (not #708)
-#540 := (or #539 #63)
-#362 := (* -1::Int 3::Int)
-#688 := (* -1::Int -3::Int)
-#363 := (mod #688 #362)
-#695 := (+ #60 #363)
-#696 := (= #695 0::Int)
-#692 := (mod -3::Int 3::Int)
-#694 := (* -1::Int #692)
-#351 := (+ #60 #694)
-#481 := (= #351 0::Int)
-#364 := (<= 3::Int 0::Int)
-#377 := (>= -3::Int 0::Int)
-#374 := (or #377 #364)
-#378 := (not #374)
-#373 := (<= -3::Int 0::Int)
-#375 := (or #373 #364)
-#376 := (not #375)
-#357 := (or #376 #378)
-#697 := (if #357 #481 #696)
-#372 := (= -3::Int 0::Int)
-#698 := (if #372 #63 #697)
-#371 := (= #60 -3::Int)
-#286 := (= 3::Int 0::Int)
-#693 := (if #286 #371 #698)
-#541 := (or #539 #693)
-#631 := (iff #541 #540)
-#622 := (iff #540 #540)
-#624 := [rewrite]: #622
-#537 := (iff #693 #63)
-#518 := (if false #371 #63)
-#536 := (iff #518 #63)
-#529 := [rewrite]: #536
-#533 := (iff #693 #518)
-#630 := (iff #698 #63)
-#525 := (if false #63 #63)
-#534 := (iff #525 #63)
-#629 := [rewrite]: #534
-#484 := (iff #698 #525)
-#523 := (iff #697 #63)
-#1 := true
-#637 := (if true #63 #63)
-#638 := (iff #637 #63)
-#641 := [rewrite]: #638
-#639 := (iff #697 #637)
-#483 := (iff #696 #63)
-#480 := (= #695 #60)
-#655 := (+ #60 0::Int)
-#652 := (= #655 #60)
-#653 := [rewrite]: #652
-#644 := (= #695 #655)
-#649 := (= #363 0::Int)
-#646 := (mod 3::Int -3::Int)
-#642 := (= #646 0::Int)
-#643 := [rewrite]: #642
-#647 := (= #363 #646)
-#503 := (= #362 -3::Int)
-#645 := [rewrite]: #503
-#501 := (= #688 3::Int)
-#502 := [rewrite]: #501
-#648 := [monotonicity #502 #645]: #647
-#650 := [trans #648 #643]: #649
-#651 := [monotonicity #650]: #644
-#482 := [trans #651 #653]: #480
-#636 := [monotonicity #482]: #483
-#654 := (iff #481 #63)
-#658 := (= #351 #60)
-#656 := (= #351 #655)
-#662 := (= #694 0::Int)
-#663 := (* -1::Int 0::Int)
-#661 := (= #663 0::Int)
-#665 := [rewrite]: #661
-#664 := (= #694 #663)
-#384 := (= #692 0::Int)
-#385 := [rewrite]: #384
-#379 := [monotonicity #385]: #664
-#666 := [trans #379 #665]: #662
-#657 := [monotonicity #666]: #656
-#659 := [trans #657 #653]: #658
-#660 := [monotonicity #659]: #654
-#382 := (iff #357 true)
-#393 := (or false true)
-#668 := (iff #393 true)
-#672 := [rewrite]: #668
-#667 := (iff #357 #393)
-#670 := (iff #378 true)
-#397 := (not false)
-#292 := (iff #397 true)
-#669 := [rewrite]: #292
-#398 := (iff #378 #397)
-#674 := (iff #374 false)
-#326 := (or false false)
-#687 := (iff #326 false)
-#673 := [rewrite]: #687
-#686 := (iff #374 #326)
-#691 := (iff #364 false)
-#334 := [rewrite]: #691
-#685 := (iff #377 false)
-#325 := [rewrite]: #685
-#684 := [monotonicity #325 #334]: #686
-#396 := [trans #684 #673]: #674
-#399 := [monotonicity #396]: #398
-#392 := [trans #399 #669]: #670
-#320 := (iff #376 false)
-#679 := (not true)
-#676 := (iff #679 false)
-#682 := [rewrite]: #676
-#680 := (iff #376 #679)
-#677 := (iff #375 true)
-#675 := (or true false)
-#340 := (iff #675 true)
-#341 := [rewrite]: #340
-#338 := (iff #375 #675)
-#690 := (iff #373 true)
-#350 := [rewrite]: #690
-#339 := [monotonicity #350 #334]: #338
-#678 := [trans #339 #341]: #677
-#681 := [monotonicity #678]: #680
-#683 := [trans #681 #682]: #320
-#671 := [monotonicity #683 #392]: #667
-#383 := [trans #671 #672]: #382
-#640 := [monotonicity #383 #660 #636]: #639
-#524 := [trans #640 #641]: #523
-#349 := (iff #372 false)
-#354 := [rewrite]: #349
-#632 := [monotonicity #354 #524]: #484
-#633 := [trans #632 #629]: #630
-#699 := (iff #286 false)
-#689 := [rewrite]: #699
-#535 := [monotonicity #689 #633]: #533
-#538 := [trans #535 #529]: #537
-#635 := [monotonicity #538]: #631
-#616 := [trans #635 #624]: #631
-#634 := [quant-inst #54 #8]: #541
-#613 := [mp #634 #616]: #540
-[unit-resolution #613 #69 #713]: false
-3568b4797a3dd6439c3992352594a4fe4c338953 354 0
-unsat
+#80 := (iff #14 #79)
+#77 := (iff #13 #76)
+#74 := (= #11 #73)
+#71 := (= #10 #70)
+#68 := (= #9 -3::Int)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#81 := [monotonicity #78]: #80
+#66 := [asserted]: #14
+#84 := [mp #66 #81]: #79
+#582 := (not #751)
+#583 := (or #582 #76)
+#405 := (* -1::Int 3::Int)
+#731 := (* -1::Int -3::Int)
+#406 := (mod #731 #405)
+#738 := (+ #73 #406)
+#739 := (= #738 0::Int)
+#735 := (mod -3::Int 3::Int)
+#737 := (* -1::Int #735)
+#394 := (+ #73 #737)
+#524 := (= #394 0::Int)
+#407 := (<= 3::Int 0::Int)
+#420 := (>= -3::Int 0::Int)
+#417 := (or #420 #407)
+#421 := (not #417)
+#416 := (<= -3::Int 0::Int)
+#418 := (or #416 #407)
+#419 := (not #418)
+#400 := (or #419 #421)
+#740 := (if #400 #524 #739)
+#415 := (= -3::Int 0::Int)
+#741 := (if #415 #76 #740)
+#414 := (= #73 -3::Int)
+#330 := (= 3::Int 0::Int)
+#736 := (if #330 #414 #741)
+#584 := (or #582 #736)
+#674 := (iff #584 #583)
+#665 := (iff #583 #583)
+#667 := [rewrite]: #665
+#580 := (iff #736 #76)
+#561 := (if false #414 #76)
+#579 := (iff #561 #76)
+#572 := [rewrite]: #579
+#576 := (iff #736 #561)
+#673 := (iff #741 #76)
+#568 := (if false #76 #76)
+#577 := (iff #568 #76)
+#672 := [rewrite]: #577
+#527 := (iff #741 #568)
+#566 := (iff #740 #76)
+#1 := true
+#680 := (if true #76 #76)
+#681 := (iff #680 #76)
+#684 := [rewrite]: #681
+#682 := (iff #740 #680)
+#526 := (iff #739 #76)
+#523 := (= #738 #73)
+#698 := (+ #73 0::Int)
+#695 := (= #698 #73)
+#696 := [rewrite]: #695
+#687 := (= #738 #698)
+#692 := (= #406 0::Int)
+#689 := (mod 3::Int -3::Int)
+#685 := (= #689 0::Int)
+#686 := [rewrite]: #685
+#690 := (= #406 #689)
+#546 := (= #405 -3::Int)
+#688 := [rewrite]: #546
+#544 := (= #731 3::Int)
+#545 := [rewrite]: #544
+#691 := [monotonicity #545 #688]: #690
+#693 := [trans #691 #686]: #692
+#694 := [monotonicity #693]: #687
+#525 := [trans #694 #696]: #523
+#679 := [monotonicity #525]: #526
+#697 := (iff #524 #76)
+#701 := (= #394 #73)
+#699 := (= #394 #698)
+#705 := (= #737 0::Int)
+#706 := (* -1::Int 0::Int)
+#704 := (= #706 0::Int)
+#708 := [rewrite]: #704
+#707 := (= #737 #706)
+#427 := (= #735 0::Int)
+#428 := [rewrite]: #427
+#422 := [monotonicity #428]: #707
+#709 := [trans #422 #708]: #705
+#700 := [monotonicity #709]: #699
+#702 := [trans #700 #696]: #701
+#703 := [monotonicity #702]: #697
+#425 := (iff #400 true)
+#436 := (or false true)
+#711 := (iff #436 true)
+#715 := [rewrite]: #711
+#710 := (iff #400 #436)
+#713 := (iff #421 true)
+#440 := (not false)
+#336 := (iff #440 true)
+#712 := [rewrite]: #336
+#441 := (iff #421 #440)
+#717 := (iff #417 false)
+#369 := (or false false)
+#730 := (iff #369 false)
+#716 := [rewrite]: #730
+#729 := (iff #417 #369)
+#734 := (iff #407 false)
+#377 := [rewrite]: #734
+#728 := (iff #420 false)
+#368 := [rewrite]: #728
+#727 := [monotonicity #368 #377]: #729
+#439 := [trans #727 #716]: #717
+#442 := [monotonicity #439]: #441
+#435 := [trans #442 #712]: #713
+#363 := (iff #419 false)
+#722 := (not true)
+#719 := (iff #722 false)
+#725 := [rewrite]: #719
+#723 := (iff #419 #722)
+#720 := (iff #418 true)
+#718 := (or true false)
+#383 := (iff #718 true)
+#384 := [rewrite]: #383
+#381 := (iff #418 #718)
+#733 := (iff #416 true)
+#393 := [rewrite]: #733
+#382 := [monotonicity #393 #377]: #381
+#721 := [trans #382 #384]: #720
+#724 := [monotonicity #721]: #723
+#726 := [trans #724 #725]: #363
+#714 := [monotonicity #726 #435]: #710
+#426 := [trans #714 #715]: #425
+#683 := [monotonicity #426 #703 #679]: #682
+#567 := [trans #683 #684]: #566
+#392 := (iff #415 false)
+#397 := [rewrite]: #392
+#675 := [monotonicity #397 #567]: #527
+#676 := [trans #675 #672]: #673
+#742 := (iff #330 false)
+#732 := [rewrite]: #742
+#578 := [monotonicity #732 #676]: #576
+#581 := [trans #578 #572]: #580
+#678 := [monotonicity #581]: #674
+#659 := [trans #678 #667]: #674
+#677 := [quant-inst #67 #8]: #584
+#656 := [mp #677 #659]: #583
+[unit-resolution #656 #84 #756]: false
+unsat
+2c8de94340a3f1759be7a084199a7b69b2a47b6e 338 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -39876,107 +37336,80 @@
 #7 := f5
 #39 := (f4 f5 #17)
 #40 := (f3 #39 #19)
-#708 := (pattern #40)
+#750 := (pattern #40)
 #21 := 0::Int
-#98 := -1::Int
-#102 := (* -1::Int #19)
-#99 := (* -1::Int #17)
-#121 := (mod #99 #102)
-#277 := (+ #40 #121)
-#278 := (= #277 0::Int)
+#85 := -1::Int
+#90 := (* -1::Int #19)
+#87 := (* -1::Int #17)
+#145 := (mod #87 #90)
+#260 := (+ #40 #145)
+#261 := (= #260 0::Int)
 #41 := (mod #17 #19)
-#274 := (* -1::Int #41)
-#275 := (+ #40 #274)
-#276 := (= #275 0::Int)
-#76 := (<= #19 0::Int)
-#168 := (>= #17 0::Int)
-#221 := (or #168 #76)
-#222 := (not #221)
-#72 := (<= #17 0::Int)
-#217 := (or #72 #76)
-#218 := (not #217)
-#225 := (or #218 #222)
-#279 := (if #225 #276 #278)
-#273 := (= #40 0::Int)
+#257 := (* -1::Int #41)
+#258 := (+ #40 #257)
+#259 := (= #258 0::Int)
+#112 := (<= #19 0::Int)
+#119 := (>= #17 0::Int)
+#204 := (or #119 #112)
+#205 := (not #204)
+#108 := (<= #17 0::Int)
+#202 := (or #108 #112)
+#203 := (not #202)
+#208 := (or #203 #205)
+#262 := (if #208 #259 #261)
+#256 := (= #40 0::Int)
 #22 := (= #17 0::Int)
-#280 := (if #22 #273 #279)
-#272 := (= #40 #17)
+#263 := (if #22 #256 #262)
+#255 := (= #40 #17)
 #23 := (= #19 0::Int)
-#281 := (if #23 #272 #280)
-#709 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #708) #281)
-#284 := (forall (vars (?v0 Int) (?v1 Int)) #281)
-#712 := (iff #284 #709)
-#710 := (iff #281 #281)
-#711 := [refl]: #710
-#713 := [quant-intro #711]: #712
-#127 := (* -1::Int #121)
-#241 := (if #225 #41 #127)
-#244 := (if #22 0::Int #241)
-#247 := (if #23 #17 #244)
-#250 := (= #40 #247)
-#253 := (forall (vars (?v0 Int) (?v1 Int)) #250)
-#285 := (iff #253 #284)
-#282 := (iff #250 #281)
-#283 := [rewrite]: #282
-#286 := [quant-intro #283]: #285
-#77 := (not #76)
-#171 := (not #168)
-#174 := (and #171 #77)
-#73 := (not #72)
-#80 := (and #73 #77)
-#177 := (or #80 #174)
-#193 := (if #177 #41 #127)
-#196 := (if #22 0::Int #193)
-#199 := (if #23 #17 #196)
-#202 := (= #40 #199)
-#205 := (forall (vars (?v0 Int) (?v1 Int)) #202)
-#254 := (iff #205 #253)
-#251 := (iff #202 #250)
-#248 := (= #199 #247)
-#245 := (= #196 #244)
-#242 := (= #193 #241)
-#226 := (iff #177 #225)
-#223 := (iff #174 #222)
-#224 := [rewrite]: #223
-#219 := (iff #80 #218)
-#220 := [rewrite]: #219
-#227 := [monotonicity #220 #224]: #226
-#243 := [monotonicity #227]: #242
-#246 := [monotonicity #243]: #245
-#249 := [monotonicity #246]: #248
-#252 := [monotonicity #249]: #251
-#255 := [quant-intro #252]: #254
-#214 := (~ #205 #205)
-#210 := (~ #202 #202)
-#213 := [refl]: #210
-#215 := [nnf-pos #213]: #214
-#83 := (<= 0::Int #17)
-#84 := (not #83)
-#92 := (and #84 #77)
-#95 := (or #80 #92)
-#132 := (if #95 #41 #127)
-#135 := (if #22 0::Int #132)
-#138 := (if #23 #17 #135)
-#141 := (= #40 #138)
-#144 := (forall (vars (?v0 Int) (?v1 Int)) #141)
-#206 := (iff #144 #205)
-#203 := (iff #141 #202)
-#200 := (= #138 #199)
-#197 := (= #135 #196)
-#194 := (= #132 #193)
-#178 := (iff #95 #177)
-#175 := (iff #92 #174)
-#172 := (iff #84 #171)
-#169 := (iff #83 #168)
-#170 := [rewrite]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#195 := [monotonicity #179]: #194
-#198 := [monotonicity #195]: #197
-#201 := [monotonicity #198]: #200
-#204 := [monotonicity #201]: #203
-#207 := [quant-intro #204]: #206
+#264 := (if #23 #255 #263)
+#751 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #750) #264)
+#267 := (forall (vars (?v0 Int) (?v1 Int)) #264)
+#754 := (iff #267 #751)
+#752 := (iff #264 #264)
+#753 := [refl]: #752
+#755 := [quant-intro #753]: #754
+#151 := (* -1::Int #145)
+#224 := (if #208 #41 #151)
+#227 := (if #22 0::Int #224)
+#230 := (if #23 #17 #227)
+#233 := (= #40 #230)
+#236 := (forall (vars (?v0 Int) (?v1 Int)) #233)
+#268 := (iff #236 #267)
+#265 := (iff #233 #264)
+#266 := [rewrite]: #265
+#269 := [quant-intro #266]: #268
+#113 := (not #112)
+#120 := (not #119)
+#123 := (and #120 #113)
+#109 := (not #108)
+#116 := (and #109 #113)
+#126 := (or #116 #123)
+#171 := (if #126 #41 #151)
+#174 := (if #22 0::Int #171)
+#177 := (if #23 #17 #174)
+#180 := (= #40 #177)
+#183 := (forall (vars (?v0 Int) (?v1 Int)) #180)
+#237 := (iff #183 #236)
+#234 := (iff #180 #233)
+#231 := (= #177 #230)
+#228 := (= #174 #227)
+#225 := (= #171 #224)
+#209 := (iff #126 #208)
+#206 := (iff #123 #205)
+#207 := [rewrite]: #206
+#196 := (iff #116 #203)
+#197 := [rewrite]: #196
+#210 := [monotonicity #197 #207]: #209
+#226 := [monotonicity #210]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [monotonicity #232]: #234
+#238 := [quant-intro #235]: #237
+#194 := (~ #183 #183)
+#193 := (~ #180 #180)
+#190 := [refl]: #193
+#195 := [nnf-pos #190]: #194
 #33 := (- #19)
 #32 := (- #17)
 #42 := (mod #32 #33)
@@ -39992,236 +37425,247 @@
 #46 := (if #23 #17 #45)
 #47 := (= #40 #46)
 #48 := (forall (vars (?v0 Int) (?v1 Int)) #47)
-#145 := (iff #48 #144)
-#142 := (iff #47 #141)
-#139 := (= #46 #138)
-#136 := (= #45 #135)
-#133 := (= #44 #132)
-#130 := (= #43 #127)
-#124 := (- #121)
-#128 := (= #124 #127)
-#129 := [rewrite]: #128
-#125 := (= #43 #124)
-#122 := (= #42 #121)
-#103 := (= #33 #102)
-#104 := [rewrite]: #103
-#100 := (= #32 #99)
-#101 := [rewrite]: #100
-#123 := [monotonicity #101 #104]: #122
-#126 := [monotonicity #123]: #125
-#131 := [trans #126 #129]: #130
-#96 := (iff #30 #95)
-#93 := (iff #29 #92)
-#78 := (iff #26 #77)
-#79 := [rewrite]: #78
-#85 := (iff #28 #84)
-#89 := (iff #84 #84)
-#87 := (iff #83 #83)
-#88 := [rewrite]: #87
-#90 := [monotonicity #88]: #89
-#86 := [rewrite]: #85
-#91 := [trans #86 #90]: #85
-#94 := [monotonicity #91 #79]: #93
-#81 := (iff #27 #80)
-#74 := (iff #25 #73)
-#75 := [rewrite]: #74
-#82 := [monotonicity #75 #79]: #81
-#97 := [monotonicity #82 #94]: #96
-#134 := [monotonicity #97 #131]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#143 := [monotonicity #140]: #142
-#146 := [quant-intro #143]: #145
-#52 := [asserted]: #48
-#147 := [mp #52 #146]: #144
-#208 := [mp #147 #207]: #205
-#216 := [mp~ #208 #215]: #205
-#256 := [mp #216 #255]: #253
-#287 := [mp #256 #286]: #284
-#714 := [mp #287 #713]: #709
+#186 := (iff #48 #183)
+#156 := (if #30 #41 #151)
+#159 := (if #22 0::Int #156)
+#162 := (if #23 #17 #159)
+#165 := (= #40 #162)
+#168 := (forall (vars (?v0 Int) (?v1 Int)) #165)
+#184 := (iff #168 #183)
+#181 := (iff #165 #180)
+#178 := (= #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#127 := (iff #30 #126)
+#124 := (iff #29 #123)
+#114 := (iff #26 #113)
+#115 := [rewrite]: #114
+#121 := (iff #28 #120)
+#122 := [rewrite]: #121
+#125 := [monotonicity #122 #115]: #124
+#117 := (iff #27 #116)
+#110 := (iff #25 #109)
+#111 := [rewrite]: #110
+#118 := [monotonicity #111 #115]: #117
+#128 := [monotonicity #118 #125]: #127
+#173 := [monotonicity #128]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [monotonicity #179]: #181
+#185 := [quant-intro #182]: #184
+#169 := (iff #48 #168)
+#166 := (iff #47 #165)
+#163 := (= #46 #162)
+#160 := (= #45 #159)
+#157 := (= #44 #156)
+#154 := (= #43 #151)
+#148 := (- #145)
+#152 := (= #148 #151)
+#153 := [rewrite]: #152
+#149 := (= #43 #148)
+#146 := (= #42 #145)
+#91 := (= #33 #90)
+#92 := [rewrite]: #91
+#88 := (= #32 #87)
+#89 := [rewrite]: #88
+#147 := [monotonicity #89 #92]: #146
+#150 := [monotonicity #147]: #149
+#155 := [trans #150 #153]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [quant-intro #167]: #169
+#187 := [trans #170 #185]: #186
+#144 := [asserted]: #48
+#188 := [mp #144 #187]: #183
+#191 := [mp~ #188 #195]: #183
+#239 := [mp #191 #238]: #236
+#270 := [mp #239 #269]: #267
+#756 := [mp #270 #755]: #751
 #13 := 1::Int
 #11 := 3::Int
-#56 := -5::Int
-#59 := (f4 f5 -5::Int)
-#62 := (f3 #59 3::Int)
-#65 := (= #62 1::Int)
-#68 := (not #65)
+#69 := -5::Int
+#72 := (f4 f5 -5::Int)
+#75 := (f3 #72 3::Int)
+#78 := (= #75 1::Int)
+#81 := (not #78)
 #8 := 5::Int
 #9 := (- 5::Int)
 #10 := (f4 f5 #9)
 #12 := (f3 #10 3::Int)
 #14 := (= #12 1::Int)
 #15 := (not #14)
-#69 := (iff #15 #68)
-#66 := (iff #14 #65)
-#63 := (= #12 #62)
-#60 := (= #10 #59)
-#57 := (= #9 -5::Int)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#70 := [monotonicity #67]: #69
-#50 := [asserted]: #15
-#71 := [mp #50 #70]: #68
-#615 := (not #709)
-#622 := (or #615 #65)
-#364 := (* -1::Int 3::Int)
-#363 := (* -1::Int -5::Int)
-#696 := (mod #363 #364)
-#697 := (+ #62 #696)
-#698 := (= #697 0::Int)
-#695 := (mod -5::Int 3::Int)
-#352 := (* -1::Int #695)
-#482 := (+ #62 #352)
-#689 := (= #482 0::Int)
-#376 := (<= 3::Int 0::Int)
-#375 := (>= -5::Int 0::Int)
-#379 := (or #375 #376)
-#358 := (not #379)
-#365 := (<= -5::Int 0::Int)
-#377 := (or #365 #376)
-#378 := (not #377)
-#693 := (or #378 #358)
-#699 := (if #693 #689 #698)
-#374 := (= #62 0::Int)
-#373 := (= -5::Int 0::Int)
-#694 := (if #373 #374 #699)
-#372 := (= #62 -5::Int)
-#288 := (= 3::Int 0::Int)
-#700 := (if #288 #372 #694)
-#606 := (or #615 #700)
-#609 := (iff #606 #622)
-#611 := (iff #622 #622)
-#612 := [rewrite]: #611
-#620 := (iff #700 #65)
-#628 := (if false #372 #65)
-#618 := (iff #628 #65)
-#619 := [rewrite]: #618
-#624 := (iff #700 #628)
-#626 := (iff #694 #65)
-#623 := (if false #374 #65)
-#614 := (iff #623 #65)
-#616 := [rewrite]: #614
-#625 := (iff #694 #623)
-#632 := (iff #699 #65)
-#519 := -2::Int
-#534 := (= #62 -2::Int)
-#1 := true
-#539 := (if true #65 #534)
-#542 := (iff #539 #65)
-#635 := [rewrite]: #542
-#540 := (iff #699 #539)
-#530 := (iff #698 #534)
-#484 := 2::Int
-#525 := (+ 2::Int #62)
-#630 := (= #525 0::Int)
-#536 := (iff #630 #534)
-#537 := [rewrite]: #536
-#631 := (iff #698 #630)
-#633 := (= #697 #525)
-#639 := (+ #62 2::Int)
-#526 := (= #639 #525)
-#485 := [rewrite]: #526
-#642 := (= #697 #639)
-#640 := (= #696 2::Int)
-#650 := -3::Int
-#652 := (mod 5::Int -3::Int)
-#637 := (= #652 2::Int)
-#638 := [rewrite]: #637
-#481 := (= #696 #652)
-#651 := (= #364 -3::Int)
-#645 := [rewrite]: #651
-#643 := (= #363 5::Int)
-#644 := [rewrite]: #643
-#483 := [monotonicity #644 #645]: #481
-#641 := [trans #483 #638]: #640
-#524 := [monotonicity #641]: #642
-#535 := [trans #524 #485]: #633
-#634 := [monotonicity #535]: #631
-#538 := [trans #634 #537]: #530
-#648 := (iff #689 #65)
-#654 := (+ -1::Int #62)
-#502 := (= #654 0::Int)
-#646 := (iff #502 #65)
-#647 := [rewrite]: #646
-#503 := (iff #689 #502)
-#655 := (= #482 #654)
-#657 := (+ #62 -1::Int)
-#659 := (= #657 #654)
-#660 := [rewrite]: #659
-#658 := (= #482 #657)
-#667 := (= #352 -1::Int)
-#665 := (* -1::Int 1::Int)
-#666 := (= #665 -1::Int)
-#663 := [rewrite]: #666
-#380 := (= #352 #665)
-#386 := (= #695 1::Int)
-#664 := [rewrite]: #386
-#662 := [monotonicity #664]: #380
-#656 := [trans #662 #663]: #667
-#653 := [monotonicity #656]: #658
-#661 := [trans #653 #660]: #655
-#504 := [monotonicity #661]: #503
-#649 := [trans #504 #647]: #648
-#384 := (iff #693 true)
-#668 := (or false true)
-#673 := (iff #668 true)
-#383 := [rewrite]: #673
-#672 := (iff #693 #668)
-#393 := (iff #358 true)
-#399 := (not false)
-#670 := (iff #399 true)
-#671 := [rewrite]: #670
-#400 := (iff #358 #399)
-#397 := (iff #379 false)
-#687 := (or false false)
-#674 := (iff #687 false)
-#675 := [rewrite]: #674
-#685 := (iff #379 #687)
-#335 := (iff #376 false)
-#676 := [rewrite]: #335
-#326 := (iff #375 false)
-#327 := [rewrite]: #326
-#688 := [monotonicity #327 #676]: #685
-#398 := [trans #688 #675]: #397
-#294 := [monotonicity #398]: #400
-#394 := [trans #294 #671]: #393
-#684 := (iff #378 false)
-#681 := (not true)
-#683 := (iff #681 false)
-#321 := [rewrite]: #683
-#682 := (iff #378 #681)
-#679 := (iff #377 true)
-#339 := (or true false)
-#342 := (iff #339 true)
-#678 := [rewrite]: #342
-#340 := (iff #377 #339)
-#351 := (iff #365 true)
-#692 := [rewrite]: #351
-#341 := [monotonicity #692 #676]: #340
-#680 := [trans #341 #678]: #679
-#677 := [monotonicity #680]: #682
-#686 := [trans #677 #321]: #684
-#669 := [monotonicity #686 #394]: #672
-#385 := [trans #669 #383]: #384
-#541 := [monotonicity #385 #649 #538]: #540
-#636 := [trans #541 #635]: #632
-#355 := (iff #373 false)
-#691 := [rewrite]: #355
-#617 := [monotonicity #691 #636]: #625
-#627 := [trans #617 #616]: #626
-#690 := (iff #288 false)
-#350 := [rewrite]: #690
-#629 := [monotonicity #350 #627]: #624
-#621 := [trans #629 #619]: #620
-#610 := [monotonicity #621]: #609
-#608 := [trans #610 #612]: #609
-#607 := [quant-inst #56 #11]: #606
-#613 := [mp #607 #608]: #622
-[unit-resolution #613 #71 #714]: false
-e74a02aac7e3907e33f4c582e7dc7fb7e61206b6 351 0
-unsat
+#82 := (iff #15 #81)
+#79 := (iff #14 #78)
+#76 := (= #12 #75)
+#73 := (= #10 #72)
+#70 := (= #9 -5::Int)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#77 := [monotonicity #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#68 := [asserted]: #15
+#86 := [mp #68 #83]: #81
+#663 := (not #751)
+#657 := (or #663 #78)
+#406 := (* -1::Int 3::Int)
+#405 := (* -1::Int -5::Int)
+#738 := (mod #405 #406)
+#739 := (+ #75 #738)
+#740 := (= #739 0::Int)
+#737 := (mod -5::Int 3::Int)
+#394 := (* -1::Int #737)
+#524 := (+ #75 #394)
+#731 := (= #524 0::Int)
+#418 := (<= 3::Int 0::Int)
+#417 := (>= -5::Int 0::Int)
+#421 := (or #417 #418)
+#400 := (not #421)
+#407 := (<= -5::Int 0::Int)
+#419 := (or #407 #418)
+#420 := (not #419)
+#735 := (or #420 #400)
+#741 := (if #735 #731 #740)
+#416 := (= #75 0::Int)
+#415 := (= -5::Int 0::Int)
+#736 := (if #415 #416 #741)
+#414 := (= #75 -5::Int)
+#330 := (= 3::Int 0::Int)
+#742 := (if #330 #414 #736)
+#664 := (or #663 #742)
+#649 := (iff #664 #657)
+#652 := (iff #657 #657)
+#653 := [rewrite]: #652
+#661 := (iff #742 #78)
+#669 := (if false #414 #78)
+#671 := (iff #669 #78)
+#660 := [rewrite]: #671
+#670 := (iff #742 #669)
+#658 := (iff #736 #78)
+#678 := (if false #416 #78)
+#659 := (iff #678 #78)
+#656 := [rewrite]: #659
+#665 := (iff #736 #678)
+#677 := (iff #741 #78)
+#676 := -2::Int
+#561 := (= #75 -2::Int)
+#1 := true
+#580 := (if true #78 #561)
+#583 := (iff #580 #78)
+#584 := [rewrite]: #583
+#581 := (iff #741 #580)
+#579 := (iff #740 #561)
+#291 := 2::Int
+#566 := (+ 2::Int #75)
+#577 := (= #566 0::Int)
+#576 := (iff #577 #561)
+#578 := [rewrite]: #576
+#672 := (iff #740 #577)
+#527 := (= #739 #566)
+#683 := (+ #75 2::Int)
+#567 := (= #683 #566)
+#568 := [rewrite]: #567
+#681 := (= #739 #683)
+#680 := (= #738 2::Int)
+#692 := -3::Int
+#694 := (mod 5::Int -3::Int)
+#526 := (= #694 2::Int)
+#679 := [rewrite]: #526
+#523 := (= #738 #694)
+#693 := (= #406 -3::Int)
+#687 := [rewrite]: #693
+#685 := (= #405 5::Int)
+#686 := [rewrite]: #685
+#525 := [monotonicity #686 #687]: #523
+#682 := [trans #525 #679]: #680
+#684 := [monotonicity #682]: #681
+#675 := [trans #684 #568]: #527
+#673 := [monotonicity #675]: #672
+#572 := [trans #673 #578]: #579
+#690 := (iff #731 #78)
+#696 := (+ -1::Int #75)
+#544 := (= #696 0::Int)
+#688 := (iff #544 #78)
+#689 := [rewrite]: #688
+#545 := (iff #731 #544)
+#697 := (= #524 #696)
+#699 := (+ #75 -1::Int)
+#701 := (= #699 #696)
+#702 := [rewrite]: #701
+#700 := (= #524 #699)
+#709 := (= #394 -1::Int)
+#707 := (* -1::Int 1::Int)
+#708 := (= #707 -1::Int)
+#705 := [rewrite]: #708
+#422 := (= #394 #707)
+#428 := (= #737 1::Int)
+#706 := [rewrite]: #428
+#704 := [monotonicity #706]: #422
+#698 := [trans #704 #705]: #709
+#695 := [monotonicity #698]: #700
+#703 := [trans #695 #702]: #697
+#546 := [monotonicity #703]: #545
+#691 := [trans #546 #689]: #690
+#426 := (iff #735 true)
+#710 := (or false true)
+#715 := (iff #710 true)
+#425 := [rewrite]: #715
+#714 := (iff #735 #710)
+#435 := (iff #400 true)
+#441 := (not false)
+#712 := (iff #441 true)
+#713 := [rewrite]: #712
+#442 := (iff #400 #441)
+#439 := (iff #421 false)
+#729 := (or false false)
+#716 := (iff #729 false)
+#717 := [rewrite]: #716
+#727 := (iff #421 #729)
+#377 := (iff #418 false)
+#718 := [rewrite]: #377
+#368 := (iff #417 false)
+#369 := [rewrite]: #368
+#730 := [monotonicity #369 #718]: #727
+#440 := [trans #730 #717]: #439
+#336 := [monotonicity #440]: #442
+#436 := [trans #336 #713]: #435
+#726 := (iff #420 false)
+#723 := (not true)
+#725 := (iff #723 false)
+#363 := [rewrite]: #725
+#724 := (iff #420 #723)
+#721 := (iff #419 true)
+#381 := (or true false)
+#384 := (iff #381 true)
+#720 := [rewrite]: #384
+#382 := (iff #419 #381)
+#393 := (iff #407 true)
+#734 := [rewrite]: #393
+#383 := [monotonicity #734 #718]: #382
+#722 := [trans #383 #720]: #721
+#719 := [monotonicity #722]: #724
+#728 := [trans #719 #363]: #726
+#711 := [monotonicity #728 #436]: #714
+#427 := [trans #711 #425]: #426
+#582 := [monotonicity #427 #691 #572]: #581
+#674 := [trans #582 #584]: #677
+#397 := (iff #415 false)
+#733 := [rewrite]: #397
+#667 := [monotonicity #733 #674]: #665
+#668 := [trans #667 #656]: #658
+#732 := (iff #330 false)
+#392 := [rewrite]: #732
+#666 := [monotonicity #392 #668]: #670
+#662 := [trans #666 #660]: #661
+#651 := [monotonicity #662]: #649
+#654 := [trans #651 #653]: #649
+#648 := [quant-inst #69 #11]: #664
+#650 := [mp #648 #654]: #657
+[unit-resolution #650 #86 #756]: false
+unsat
+8ff94171ae81c6acb1105939644d44501cb6f57a 335 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #19 := (:var 0 Int)
@@ -40231,107 +37675,80 @@
 #7 := f5
 #39 := (f4 f5 #17)
 #40 := (f3 #39 #19)
-#710 := (pattern #40)
+#753 := (pattern #40)
 #21 := 0::Int
-#56 := -1::Int
-#104 := (* -1::Int #19)
-#101 := (* -1::Int #17)
-#123 := (mod #101 #104)
-#279 := (+ #40 #123)
-#280 := (= #279 0::Int)
+#69 := -1::Int
+#92 := (* -1::Int #19)
+#88 := (* -1::Int #17)
+#147 := (mod #88 #92)
+#262 := (+ #40 #147)
+#263 := (= #262 0::Int)
 #41 := (mod #17 #19)
-#276 := (* -1::Int #41)
-#277 := (+ #40 #276)
-#278 := (= #277 0::Int)
-#79 := (<= #19 0::Int)
-#170 := (>= #17 0::Int)
-#223 := (or #170 #79)
-#224 := (not #223)
-#75 := (<= #17 0::Int)
-#219 := (or #75 #79)
-#220 := (not #219)
-#227 := (or #220 #224)
-#281 := (if #227 #278 #280)
-#275 := (= #40 0::Int)
+#259 := (* -1::Int #41)
+#260 := (+ #40 #259)
+#261 := (= #260 0::Int)
+#114 := (<= #19 0::Int)
+#121 := (>= #17 0::Int)
+#206 := (or #121 #114)
+#207 := (not #206)
+#110 := (<= #17 0::Int)
+#204 := (or #110 #114)
+#205 := (not #204)
+#210 := (or #205 #207)
+#264 := (if #210 #261 #263)
+#258 := (= #40 0::Int)
 #22 := (= #17 0::Int)
-#282 := (if #22 #275 #281)
-#274 := (= #40 #17)
+#265 := (if #22 #258 #264)
+#257 := (= #40 #17)
 #23 := (= #19 0::Int)
-#283 := (if #23 #274 #282)
-#711 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #710) #283)
-#286 := (forall (vars (?v0 Int) (?v1 Int)) #283)
-#714 := (iff #286 #711)
-#712 := (iff #283 #283)
-#713 := [refl]: #712
-#715 := [quant-intro #713]: #714
-#129 := (* -1::Int #123)
-#243 := (if #227 #41 #129)
-#246 := (if #22 0::Int #243)
-#249 := (if #23 #17 #246)
-#252 := (= #40 #249)
-#255 := (forall (vars (?v0 Int) (?v1 Int)) #252)
-#287 := (iff #255 #286)
-#284 := (iff #252 #283)
-#285 := [rewrite]: #284
-#288 := [quant-intro #285]: #287
-#80 := (not #79)
-#173 := (not #170)
-#176 := (and #173 #80)
-#76 := (not #75)
-#83 := (and #76 #80)
-#179 := (or #83 #176)
-#195 := (if #179 #41 #129)
-#198 := (if #22 0::Int #195)
-#201 := (if #23 #17 #198)
-#204 := (= #40 #201)
-#207 := (forall (vars (?v0 Int) (?v1 Int)) #204)
-#256 := (iff #207 #255)
-#253 := (iff #204 #252)
-#250 := (= #201 #249)
-#247 := (= #198 #246)
-#244 := (= #195 #243)
-#228 := (iff #179 #227)
-#225 := (iff #176 #224)
-#226 := [rewrite]: #225
-#221 := (iff #83 #220)
-#222 := [rewrite]: #221
-#229 := [monotonicity #222 #226]: #228
-#245 := [monotonicity #229]: #244
-#248 := [monotonicity #245]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [quant-intro #254]: #256
-#169 := (~ #207 #207)
-#214 := (~ #204 #204)
-#168 := [refl]: #214
-#217 := [nnf-pos #168]: #169
-#86 := (<= 0::Int #17)
-#87 := (not #86)
-#95 := (and #87 #80)
-#98 := (or #83 #95)
-#134 := (if #98 #41 #129)
-#137 := (if #22 0::Int #134)
-#140 := (if #23 #17 #137)
-#143 := (= #40 #140)
-#146 := (forall (vars (?v0 Int) (?v1 Int)) #143)
-#208 := (iff #146 #207)
-#205 := (iff #143 #204)
-#202 := (= #140 #201)
-#199 := (= #137 #198)
-#196 := (= #134 #195)
-#180 := (iff #98 #179)
-#177 := (iff #95 #176)
-#174 := (iff #87 #173)
-#171 := (iff #86 #170)
-#172 := [rewrite]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#197 := [monotonicity #181]: #196
-#200 := [monotonicity #197]: #199
-#203 := [monotonicity #200]: #202
-#206 := [monotonicity #203]: #205
-#209 := [quant-intro #206]: #208
+#266 := (if #23 #257 #265)
+#754 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #753) #266)
+#269 := (forall (vars (?v0 Int) (?v1 Int)) #266)
+#757 := (iff #269 #754)
+#755 := (iff #266 #266)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#153 := (* -1::Int #147)
+#226 := (if #210 #41 #153)
+#229 := (if #22 0::Int #226)
+#232 := (if #23 #17 #229)
+#235 := (= #40 #232)
+#238 := (forall (vars (?v0 Int) (?v1 Int)) #235)
+#270 := (iff #238 #269)
+#267 := (iff #235 #266)
+#268 := [rewrite]: #267
+#271 := [quant-intro #268]: #270
+#115 := (not #114)
+#122 := (not #121)
+#125 := (and #122 #115)
+#111 := (not #110)
+#118 := (and #111 #115)
+#128 := (or #118 #125)
+#173 := (if #128 #41 #153)
+#176 := (if #22 0::Int #173)
+#179 := (if #23 #17 #176)
+#182 := (= #40 #179)
+#185 := (forall (vars (?v0 Int) (?v1 Int)) #182)
+#239 := (iff #185 #238)
+#236 := (iff #182 #235)
+#233 := (= #179 #232)
+#230 := (= #176 #229)
+#227 := (= #173 #226)
+#211 := (iff #128 #210)
+#208 := (iff #125 #207)
+#209 := [rewrite]: #208
+#198 := (iff #118 #205)
+#199 := [rewrite]: #198
+#212 := [monotonicity #199 #209]: #211
+#228 := [monotonicity #212]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [monotonicity #234]: #236
+#240 := [quant-intro #237]: #239
+#196 := (~ #185 #185)
+#195 := (~ #182 #182)
+#192 := [refl]: #195
+#197 := [nnf-pos #192]: #196
 #33 := (- #19)
 #32 := (- #17)
 #42 := (mod #32 #33)
@@ -40347,58 +37764,69 @@
 #46 := (if #23 #17 #45)
 #47 := (= #40 #46)
 #48 := (forall (vars (?v0 Int) (?v1 Int)) #47)
-#147 := (iff #48 #146)
-#144 := (iff #47 #143)
-#141 := (= #46 #140)
-#138 := (= #45 #137)
-#135 := (= #44 #134)
-#132 := (= #43 #129)
-#126 := (- #123)
-#130 := (= #126 #129)
-#131 := [rewrite]: #130
-#127 := (= #43 #126)
-#124 := (= #42 #123)
-#105 := (= #33 #104)
-#106 := [rewrite]: #105
-#102 := (= #32 #101)
-#103 := [rewrite]: #102
-#125 := [monotonicity #103 #106]: #124
-#128 := [monotonicity #125]: #127
-#133 := [trans #128 #131]: #132
-#99 := (iff #30 #98)
-#96 := (iff #29 #95)
-#81 := (iff #26 #80)
-#82 := [rewrite]: #81
-#88 := (iff #28 #87)
-#92 := (iff #87 #87)
-#90 := (iff #86 #86)
+#188 := (iff #48 #185)
+#158 := (if #30 #41 #153)
+#161 := (if #22 0::Int #158)
+#164 := (if #23 #17 #161)
+#167 := (= #40 #164)
+#170 := (forall (vars (?v0 Int) (?v1 Int)) #167)
+#186 := (iff #170 #185)
+#183 := (iff #167 #182)
+#180 := (= #164 #179)
+#177 := (= #161 #176)
+#174 := (= #158 #173)
+#129 := (iff #30 #128)
+#126 := (iff #29 #125)
+#116 := (iff #26 #115)
+#117 := [rewrite]: #116
+#123 := (iff #28 #122)
+#124 := [rewrite]: #123
+#127 := [monotonicity #124 #117]: #126
+#119 := (iff #27 #118)
+#112 := (iff #25 #111)
+#113 := [rewrite]: #112
+#120 := [monotonicity #113 #117]: #119
+#130 := [monotonicity #120 #127]: #129
+#175 := [monotonicity #130]: #174
+#178 := [monotonicity #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [monotonicity #181]: #183
+#187 := [quant-intro #184]: #186
+#171 := (iff #48 #170)
+#168 := (iff #47 #167)
+#165 := (= #46 #164)
+#162 := (= #45 #161)
+#159 := (= #44 #158)
+#156 := (= #43 #153)
+#150 := (- #147)
+#154 := (= #150 #153)
+#155 := [rewrite]: #154
+#151 := (= #43 #150)
+#148 := (= #42 #147)
+#93 := (= #33 #92)
+#94 := [rewrite]: #93
+#90 := (= #32 #88)
 #91 := [rewrite]: #90
-#93 := [monotonicity #91]: #92
-#89 := [rewrite]: #88
-#94 := [trans #89 #93]: #88
-#97 := [monotonicity #94 #82]: #96
-#84 := (iff #27 #83)
-#77 := (iff #25 #76)
-#78 := [rewrite]: #77
-#85 := [monotonicity #78 #82]: #84
-#100 := [monotonicity #85 #97]: #99
-#136 := [monotonicity #100 #133]: #135
-#139 := [monotonicity #136]: #138
-#142 := [monotonicity #139]: #141
-#145 := [monotonicity #142]: #144
-#148 := [quant-intro #145]: #147
-#52 := [asserted]: #48
-#149 := [mp #52 #148]: #146
-#210 := [mp #149 #209]: #207
-#218 := [mp~ #210 #217]: #207
-#258 := [mp #218 #257]: #255
-#289 := [mp #258 #288]: #286
-#716 := [mp #289 #715]: #711
-#62 := -3::Int
-#59 := (f4 f5 -1::Int)
-#65 := (f3 #59 -3::Int)
-#68 := (= #65 -1::Int)
-#71 := (not #68)
+#149 := [monotonicity #91 #94]: #148
+#152 := [monotonicity #149]: #151
+#157 := [trans #152 #155]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [monotonicity #166]: #168
+#172 := [quant-intro #169]: #171
+#189 := [trans #172 #187]: #188
+#146 := [asserted]: #48
+#190 := [mp #146 #189]: #185
+#193 := [mp~ #190 #197]: #185
+#241 := [mp #193 #240]: #238
+#272 := [mp #241 #271]: #269
+#759 := [mp #272 #758]: #754
+#75 := -3::Int
+#72 := (f4 f5 -1::Int)
+#78 := (f3 #72 -3::Int)
+#81 := (= #78 -1::Int)
+#84 := (not #81)
 #8 := 1::Int
 #9 := (- 1::Int)
 #11 := 3::Int
@@ -40407,173 +37835,173 @@
 #13 := (f3 #10 #12)
 #14 := (= #13 #9)
 #15 := (not #14)
-#72 := (iff #15 #71)
-#69 := (iff #14 #68)
-#57 := (= #9 -1::Int)
-#58 := [rewrite]: #57
-#66 := (= #13 #65)
-#63 := (= #12 -3::Int)
-#64 := [rewrite]: #63
-#60 := (= #10 #59)
-#61 := [monotonicity #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#70 := [monotonicity #67 #58]: #69
-#73 := [monotonicity #70]: #72
-#50 := [asserted]: #15
-#74 := [mp #50 #73]: #71
-#631 := (not #711)
-#620 := (or #631 #68)
-#365 := (* -1::Int -3::Int)
-#691 := (* -1::Int -1::Int)
-#366 := (mod #691 #365)
-#698 := (+ #65 #366)
-#699 := (= #698 0::Int)
-#695 := (mod -1::Int -3::Int)
-#697 := (* -1::Int #695)
-#354 := (+ #65 #697)
-#484 := (= #354 0::Int)
-#367 := (<= -3::Int 0::Int)
-#380 := (>= -1::Int 0::Int)
-#377 := (or #380 #367)
-#381 := (not #377)
-#376 := (<= -1::Int 0::Int)
-#378 := (or #376 #367)
-#379 := (not #378)
-#360 := (or #379 #381)
-#700 := (if #360 #484 #699)
-#375 := (= #65 0::Int)
-#374 := (= -1::Int 0::Int)
-#701 := (if #374 #375 #700)
-#290 := (= -3::Int 0::Int)
-#696 := (if #290 #68 #701)
-#621 := (or #631 #696)
-#623 := (iff #621 #620)
-#624 := (iff #620 #620)
-#608 := [rewrite]: #624
-#630 := (iff #696 #68)
-#619 := (if false #68 #68)
-#628 := (iff #619 #68)
-#629 := [rewrite]: #628
-#616 := (iff #696 #619)
-#625 := (iff #701 #68)
-#543 := (if false #375 #68)
-#634 := (iff #543 #68)
-#638 := [rewrite]: #634
-#544 := (iff #701 #543)
-#541 := (iff #700 #68)
-#675 := 2::Int
-#505 := (= #65 2::Int)
-#536 := (if false #505 #68)
-#532 := (iff #536 #68)
-#540 := [rewrite]: #532
-#538 := (iff #700 #536)
-#636 := (iff #699 #68)
-#641 := (+ 1::Int #65)
-#487 := (= #641 0::Int)
-#632 := (iff #487 #68)
-#633 := [rewrite]: #632
-#635 := (iff #699 #487)
-#527 := (= #698 #641)
-#640 := (+ #65 1::Int)
-#644 := (= #640 #641)
-#526 := [rewrite]: #644
-#642 := (= #698 #640)
-#486 := (= #366 1::Int)
-#653 := (mod 1::Int 3::Int)
-#483 := (= #653 1::Int)
-#485 := [rewrite]: #483
-#647 := (= #366 #653)
-#646 := (= #365 3::Int)
-#652 := [rewrite]: #646
-#651 := (= #691 1::Int)
-#645 := [rewrite]: #651
-#654 := [monotonicity #645 #652]: #647
-#639 := [trans #654 #485]: #486
-#643 := [monotonicity #639]: #642
-#528 := [trans #643 #526]: #527
-#537 := [monotonicity #528]: #635
-#521 := [trans #537 #633]: #636
-#649 := (iff #484 #505)
-#667 := -2::Int
-#660 := (+ -2::Int #65)
-#657 := (= #660 0::Int)
-#506 := (iff #657 #505)
-#648 := [rewrite]: #506
-#663 := (iff #484 #657)
-#661 := (= #354 #660)
-#669 := (+ #65 -2::Int)
-#655 := (= #669 #660)
-#656 := [rewrite]: #655
-#658 := (= #354 #669)
-#668 := (= #697 -2::Int)
-#387 := (* -1::Int 2::Int)
-#382 := (= #387 -2::Int)
-#664 := [rewrite]: #382
-#388 := (= #697 #387)
-#385 := (= #695 2::Int)
-#386 := [rewrite]: #385
-#666 := [monotonicity #386]: #388
-#665 := [trans #666 #664]: #668
-#659 := [monotonicity #665]: #658
-#662 := [trans #659 #656]: #661
-#504 := [monotonicity #662]: #663
-#650 := [trans #504 #648]: #649
-#674 := (iff #360 false)
-#672 := (or false false)
-#396 := (iff #672 false)
-#670 := [rewrite]: #396
-#673 := (iff #360 #672)
-#402 := (iff #381 false)
-#1 := true
-#682 := (not true)
-#679 := (iff #682 false)
-#685 := [rewrite]: #679
-#400 := (iff #381 #682)
-#677 := (iff #377 true)
-#329 := (or false true)
-#690 := (iff #329 true)
-#676 := [rewrite]: #690
-#689 := (iff #377 #329)
-#694 := (iff #367 true)
-#337 := [rewrite]: #694
-#688 := (iff #380 false)
-#328 := [rewrite]: #688
-#687 := [monotonicity #328 #337]: #689
-#399 := [trans #687 #676]: #677
-#401 := [monotonicity #399]: #400
-#296 := [trans #401 #685]: #402
-#323 := (iff #379 false)
-#683 := (iff #379 #682)
-#680 := (iff #378 true)
-#678 := (or true true)
-#343 := (iff #678 true)
-#344 := [rewrite]: #343
-#341 := (iff #378 #678)
-#693 := (iff #376 true)
-#353 := [rewrite]: #693
-#342 := [monotonicity #353 #337]: #341
-#681 := [trans #342 #344]: #680
-#684 := [monotonicity #681]: #683
-#686 := [trans #684 #685]: #323
-#395 := [monotonicity #686 #296]: #673
-#671 := [trans #395 #670]: #674
-#539 := [monotonicity #671 #650 #521]: #538
-#542 := [trans #539 #540]: #541
-#352 := (iff #374 false)
-#357 := [rewrite]: #352
-#637 := [monotonicity #357 #542]: #544
-#627 := [trans #637 #638]: #625
-#702 := (iff #290 false)
-#692 := [rewrite]: #702
-#618 := [monotonicity #692 #627]: #616
-#626 := [trans #618 #629]: #630
-#617 := [monotonicity #626]: #623
-#609 := [trans #617 #608]: #623
-#622 := [quant-inst #56 #62]: #621
-#611 := [mp #622 #609]: #620
-[unit-resolution #611 #74 #716]: false
-c218d35497e494bce5a56e2b75fd1bf7144c1ade 317 0
-unsat
+#85 := (iff #15 #84)
+#82 := (iff #14 #81)
+#70 := (= #9 -1::Int)
+#71 := [rewrite]: #70
+#79 := (= #13 #78)
+#76 := (= #12 -3::Int)
+#77 := [rewrite]: #76
+#73 := (= #10 #72)
+#74 := [monotonicity #71]: #73
+#80 := [monotonicity #74 #77]: #79
+#83 := [monotonicity #80 #71]: #82
+#86 := [monotonicity #83]: #85
+#68 := [asserted]: #15
+#89 := [mp #68 #86]: #84
+#669 := (not #754)
+#674 := (or #669 #81)
+#408 := (* -1::Int -3::Int)
+#734 := (* -1::Int -1::Int)
+#409 := (mod #734 #408)
+#741 := (+ #78 #409)
+#742 := (= #741 0::Int)
+#738 := (mod -1::Int -3::Int)
+#740 := (* -1::Int #738)
+#397 := (+ #78 #740)
+#527 := (= #397 0::Int)
+#410 := (<= -3::Int 0::Int)
+#423 := (>= -1::Int 0::Int)
+#420 := (or #423 #410)
+#424 := (not #420)
+#419 := (<= -1::Int 0::Int)
+#421 := (or #419 #410)
+#422 := (not #421)
+#403 := (or #422 #424)
+#743 := (if #403 #527 #742)
+#418 := (= #78 0::Int)
+#417 := (= -1::Int 0::Int)
+#744 := (if #417 #418 #743)
+#333 := (= -3::Int 0::Int)
+#739 := (if #333 #81 #744)
+#663 := (or #669 #739)
+#665 := (iff #663 #674)
+#660 := (iff #674 #674)
+#667 := [rewrite]: #660
+#672 := (iff #739 #81)
+#670 := (if false #81 #81)
+#661 := (iff #670 #81)
+#671 := [rewrite]: #661
+#662 := (iff #739 #670)
+#681 := (iff #744 #81)
+#585 := (if false #418 #81)
+#680 := (iff #585 #81)
+#677 := [rewrite]: #680
+#586 := (iff #744 #585)
+#583 := (iff #743 #81)
+#293 := 2::Int
+#547 := (= #78 2::Int)
+#564 := (if false #547 #81)
+#582 := (iff #564 #81)
+#575 := [rewrite]: #582
+#579 := (iff #743 #564)
+#676 := (iff #742 #81)
+#686 := (+ 1::Int #78)
+#571 := (= #686 0::Int)
+#580 := (iff #571 #81)
+#675 := [rewrite]: #580
+#530 := (iff #742 #571)
+#569 := (= #741 #686)
+#682 := (+ #78 1::Int)
+#684 := (= #682 #686)
+#687 := [rewrite]: #684
+#683 := (= #741 #682)
+#528 := (= #409 1::Int)
+#695 := (mod 1::Int 3::Int)
+#697 := (= #695 1::Int)
+#526 := [rewrite]: #697
+#696 := (= #409 #695)
+#688 := (= #408 3::Int)
+#689 := [rewrite]: #688
+#693 := (= #734 1::Int)
+#694 := [rewrite]: #693
+#690 := [monotonicity #694 #689]: #696
+#529 := [trans #690 #526]: #528
+#685 := [monotonicity #529]: #683
+#570 := [trans #685 #687]: #569
+#678 := [monotonicity #570]: #530
+#679 := [trans #678 #675]: #676
+#691 := (iff #527 #547)
+#709 := -2::Int
+#702 := (+ -2::Int #78)
+#705 := (= #702 0::Int)
+#548 := (iff #705 #547)
+#549 := [rewrite]: #548
+#700 := (iff #527 #705)
+#699 := (= #397 #702)
+#708 := (+ #78 -2::Int)
+#703 := (= #708 #702)
+#698 := [rewrite]: #703
+#712 := (= #397 #708)
+#707 := (= #740 -2::Int)
+#429 := (* -1::Int 2::Int)
+#710 := (= #429 -2::Int)
+#425 := [rewrite]: #710
+#430 := (= #740 #429)
+#718 := (= #738 2::Int)
+#428 := [rewrite]: #718
+#431 := [monotonicity #428]: #430
+#711 := [trans #431 #425]: #707
+#701 := [monotonicity #711]: #712
+#704 := [trans #701 #698]: #699
+#706 := [monotonicity #704]: #700
+#692 := [trans #706 #549]: #691
+#717 := (iff #403 false)
+#715 := (or false false)
+#439 := (iff #715 false)
+#713 := [rewrite]: #439
+#716 := (iff #403 #715)
+#445 := (iff #424 false)
+#1 := true
+#725 := (not true)
+#722 := (iff #725 false)
+#728 := [rewrite]: #722
+#443 := (iff #424 #725)
+#720 := (iff #420 true)
+#372 := (or false true)
+#733 := (iff #372 true)
+#719 := [rewrite]: #733
+#732 := (iff #420 #372)
+#737 := (iff #410 true)
+#380 := [rewrite]: #737
+#731 := (iff #423 false)
+#371 := [rewrite]: #731
+#730 := [monotonicity #371 #380]: #732
+#442 := [trans #730 #719]: #720
+#444 := [monotonicity #442]: #443
+#339 := [trans #444 #728]: #445
+#366 := (iff #422 false)
+#726 := (iff #422 #725)
+#723 := (iff #421 true)
+#721 := (or true true)
+#386 := (iff #721 true)
+#387 := [rewrite]: #386
+#384 := (iff #421 #721)
+#736 := (iff #419 true)
+#396 := [rewrite]: #736
+#385 := [monotonicity #396 #380]: #384
+#724 := [trans #385 #387]: #723
+#727 := [monotonicity #724]: #726
+#729 := [trans #727 #728]: #366
+#438 := [monotonicity #729 #339]: #716
+#714 := [trans #438 #713]: #717
+#581 := [monotonicity #714 #692 #679]: #579
+#584 := [trans #581 #575]: #583
+#395 := (iff #417 false)
+#400 := [rewrite]: #395
+#587 := [monotonicity #400 #584]: #586
+#668 := [trans #587 #677]: #681
+#745 := (iff #333 false)
+#735 := [rewrite]: #745
+#659 := [monotonicity #735 #668]: #662
+#673 := [trans #659 #671]: #672
+#666 := [monotonicity #673]: #665
+#651 := [trans #666 #667]: #665
+#664 := [quant-inst #69 #75]: #663
+#652 := [mp #664 #651]: #674
+[unit-resolution #652 #89 #759]: false
+unsat
+fa0f3c13527e84e33e9431394773a66086612292 301 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #18 := (:var 0 Int)
@@ -40583,107 +38011,80 @@
 #7 := f5
 #37 := (f4 f5 #16)
 #38 := (f3 #37 #18)
-#707 := (pattern #38)
+#750 := (pattern #38)
 #12 := 0::Int
-#96 := -1::Int
-#100 := (* -1::Int #18)
-#97 := (* -1::Int #16)
-#119 := (mod #97 #100)
-#275 := (+ #38 #119)
-#276 := (= #275 0::Int)
+#83 := -1::Int
+#88 := (* -1::Int #18)
+#85 := (* -1::Int #16)
+#143 := (mod #85 #88)
+#258 := (+ #38 #143)
+#259 := (= #258 0::Int)
 #39 := (mod #16 #18)
-#272 := (* -1::Int #39)
-#273 := (+ #38 #272)
-#274 := (= #273 0::Int)
-#74 := (<= #18 0::Int)
-#166 := (>= #16 0::Int)
-#219 := (or #166 #74)
-#220 := (not #219)
-#70 := (<= #16 0::Int)
-#215 := (or #70 #74)
-#216 := (not #215)
-#223 := (or #216 #220)
-#277 := (if #223 #274 #276)
-#271 := (= #38 0::Int)
+#255 := (* -1::Int #39)
+#256 := (+ #38 #255)
+#257 := (= #256 0::Int)
+#110 := (<= #18 0::Int)
+#117 := (>= #16 0::Int)
+#202 := (or #117 #110)
+#203 := (not #202)
+#106 := (<= #16 0::Int)
+#200 := (or #106 #110)
+#201 := (not #200)
+#206 := (or #201 #203)
+#260 := (if #206 #257 #259)
+#254 := (= #38 0::Int)
 #20 := (= #16 0::Int)
-#278 := (if #20 #271 #277)
-#270 := (= #38 #16)
+#261 := (if #20 #254 #260)
+#253 := (= #38 #16)
 #21 := (= #18 0::Int)
-#279 := (if #21 #270 #278)
-#708 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #707) #279)
-#282 := (forall (vars (?v0 Int) (?v1 Int)) #279)
-#711 := (iff #282 #708)
-#709 := (iff #279 #279)
-#710 := [refl]: #709
-#712 := [quant-intro #710]: #711
-#125 := (* -1::Int #119)
-#239 := (if #223 #39 #125)
-#242 := (if #20 0::Int #239)
-#245 := (if #21 #16 #242)
-#248 := (= #38 #245)
-#251 := (forall (vars (?v0 Int) (?v1 Int)) #248)
-#283 := (iff #251 #282)
-#280 := (iff #248 #279)
-#281 := [rewrite]: #280
-#284 := [quant-intro #281]: #283
-#75 := (not #74)
-#169 := (not #166)
-#172 := (and #169 #75)
-#71 := (not #70)
-#78 := (and #71 #75)
-#175 := (or #78 #172)
-#191 := (if #175 #39 #125)
-#194 := (if #20 0::Int #191)
-#197 := (if #21 #16 #194)
-#200 := (= #38 #197)
-#203 := (forall (vars (?v0 Int) (?v1 Int)) #200)
-#252 := (iff #203 #251)
-#249 := (iff #200 #248)
-#246 := (= #197 #245)
-#243 := (= #194 #242)
-#240 := (= #191 #239)
-#224 := (iff #175 #223)
-#221 := (iff #172 #220)
-#222 := [rewrite]: #221
-#217 := (iff #78 #216)
-#218 := [rewrite]: #217
-#225 := [monotonicity #218 #222]: #224
-#241 := [monotonicity #225]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [monotonicity #247]: #249
-#253 := [quant-intro #250]: #252
-#210 := (~ #203 #203)
-#165 := (~ #200 #200)
-#209 := [refl]: #165
-#213 := [nnf-pos #209]: #210
-#81 := (<= 0::Int #16)
-#82 := (not #81)
-#90 := (and #82 #75)
-#93 := (or #78 #90)
-#130 := (if #93 #39 #125)
-#133 := (if #20 0::Int #130)
-#136 := (if #21 #16 #133)
-#139 := (= #38 #136)
-#142 := (forall (vars (?v0 Int) (?v1 Int)) #139)
-#204 := (iff #142 #203)
-#201 := (iff #139 #200)
-#198 := (= #136 #197)
-#195 := (= #133 #194)
-#192 := (= #130 #191)
-#176 := (iff #93 #175)
-#173 := (iff #90 #172)
-#170 := (iff #82 #169)
-#167 := (iff #81 #166)
-#168 := [rewrite]: #167
-#171 := [monotonicity #168]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#193 := [monotonicity #177]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [monotonicity #199]: #201
-#205 := [quant-intro #202]: #204
+#262 := (if #21 #253 #261)
+#751 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #750) #262)
+#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
+#754 := (iff #265 #751)
+#752 := (iff #262 #262)
+#753 := [refl]: #752
+#755 := [quant-intro #753]: #754
+#149 := (* -1::Int #143)
+#222 := (if #206 #39 #149)
+#225 := (if #20 0::Int #222)
+#228 := (if #21 #16 #225)
+#231 := (= #38 #228)
+#234 := (forall (vars (?v0 Int) (?v1 Int)) #231)
+#266 := (iff #234 #265)
+#263 := (iff #231 #262)
+#264 := [rewrite]: #263
+#267 := [quant-intro #264]: #266
+#111 := (not #110)
+#118 := (not #117)
+#121 := (and #118 #111)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#169 := (if #124 #39 #149)
+#172 := (if #20 0::Int #169)
+#175 := (if #21 #16 #172)
+#178 := (= #38 #175)
+#181 := (forall (vars (?v0 Int) (?v1 Int)) #178)
+#235 := (iff #181 #234)
+#232 := (iff #178 #231)
+#229 := (= #175 #228)
+#226 := (= #172 #225)
+#223 := (= #169 #222)
+#207 := (iff #124 #206)
+#204 := (iff #121 #203)
+#205 := [rewrite]: #204
+#194 := (iff #114 #201)
+#195 := [rewrite]: #194
+#208 := [monotonicity #195 #205]: #207
+#224 := [monotonicity #208]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [quant-intro #233]: #235
+#192 := (~ #181 #181)
+#191 := (~ #178 #178)
+#188 := [refl]: #191
+#193 := [nnf-pos #188]: #192
 #31 := (- #18)
 #30 := (- #16)
 #40 := (mod #30 #31)
@@ -40699,199 +38100,210 @@
 #44 := (if #21 #16 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#143 := (iff #46 #142)
-#140 := (iff #45 #139)
-#137 := (= #44 #136)
-#134 := (= #43 #133)
-#131 := (= #42 #130)
-#128 := (= #41 #125)
-#122 := (- #119)
-#126 := (= #122 #125)
-#127 := [rewrite]: #126
-#123 := (= #41 #122)
-#120 := (= #40 #119)
-#101 := (= #31 #100)
-#102 := [rewrite]: #101
-#98 := (= #30 #97)
-#99 := [rewrite]: #98
-#121 := [monotonicity #99 #102]: #120
-#124 := [monotonicity #121]: #123
-#129 := [trans #124 #127]: #128
-#94 := (iff #28 #93)
-#91 := (iff #27 #90)
-#76 := (iff #24 #75)
-#77 := [rewrite]: #76
-#83 := (iff #26 #82)
-#87 := (iff #82 #82)
-#85 := (iff #81 #81)
-#86 := [rewrite]: #85
-#88 := [monotonicity #86]: #87
-#84 := [rewrite]: #83
-#89 := [trans #84 #88]: #83
-#92 := [monotonicity #89 #77]: #91
-#79 := (iff #25 #78)
-#72 := (iff #23 #71)
-#73 := [rewrite]: #72
-#80 := [monotonicity #73 #77]: #79
-#95 := [monotonicity #80 #92]: #94
-#132 := [monotonicity #95 #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#144 := [quant-intro #141]: #143
-#50 := [asserted]: #46
-#145 := [mp #50 #144]: #142
-#206 := [mp #145 #205]: #203
-#214 := [mp~ #206 #213]: #203
-#254 := [mp #214 #253]: #251
-#285 := [mp #254 #284]: #282
-#713 := [mp #285 #712]: #708
-#54 := -3::Int
-#57 := (f4 f5 -3::Int)
-#60 := (f3 #57 -3::Int)
-#63 := (= #60 0::Int)
-#66 := (not #63)
+#184 := (iff #46 #181)
+#154 := (if #28 #39 #149)
+#157 := (if #20 0::Int #154)
+#160 := (if #21 #16 #157)
+#163 := (= #38 #160)
+#166 := (forall (vars (?v0 Int) (?v1 Int)) #163)
+#182 := (iff #166 #181)
+#179 := (iff #163 #178)
+#176 := (= #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#125 := (iff #28 #124)
+#122 := (iff #27 #121)
+#112 := (iff #24 #111)
+#113 := [rewrite]: #112
+#119 := (iff #26 #118)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120 #113]: #122
+#115 := (iff #25 #114)
+#108 := (iff #23 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#171 := [monotonicity #126]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [quant-intro #180]: #182
+#167 := (iff #46 #166)
+#164 := (iff #45 #163)
+#161 := (= #44 #160)
+#158 := (= #43 #157)
+#155 := (= #42 #154)
+#152 := (= #41 #149)
+#146 := (- #143)
+#150 := (= #146 #149)
+#151 := [rewrite]: #150
+#147 := (= #41 #146)
+#144 := (= #40 #143)
+#89 := (= #31 #88)
+#90 := [rewrite]: #89
+#86 := (= #30 #85)
+#87 := [rewrite]: #86
+#145 := [monotonicity #87 #90]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#185 := [trans #168 #183]: #184
+#142 := [asserted]: #46
+#186 := [mp #142 #185]: #181
+#189 := [mp~ #186 #193]: #181
+#237 := [mp #189 #236]: #234
+#268 := [mp #237 #267]: #265
+#756 := [mp #268 #755]: #751
+#67 := -3::Int
+#70 := (f4 f5 -3::Int)
+#73 := (f3 #70 -3::Int)
+#76 := (= #73 0::Int)
+#79 := (not #76)
 #8 := 3::Int
 #9 := (- 3::Int)
 #10 := (f4 f5 #9)
 #11 := (f3 #10 #9)
 #13 := (= #11 0::Int)
 #14 := (not #13)
-#67 := (iff #14 #66)
-#64 := (iff #13 #63)
-#61 := (= #11 #60)
-#55 := (= #9 -3::Int)
-#56 := [rewrite]: #55
-#58 := (= #10 #57)
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59 #56]: #61
-#65 := [monotonicity #62]: #64
-#68 := [monotonicity #65]: #67
-#48 := [asserted]: #14
-#69 := [mp #48 #68]: #66
-#524 := (not #708)
-#525 := (or #524 #63)
-#351 := (* -1::Int -3::Int)
-#481 := (mod #351 #351)
-#688 := (+ #60 #481)
-#362 := (= #688 0::Int)
-#378 := (mod -3::Int -3::Int)
-#357 := (* -1::Int #378)
-#692 := (+ #60 #357)
-#694 := (= #692 0::Int)
-#372 := (<= -3::Int 0::Int)
-#375 := (>= -3::Int 0::Int)
-#376 := (or #375 #372)
-#377 := (not #376)
-#373 := (or #372 #372)
-#364 := (not #373)
-#374 := (or #364 #377)
-#363 := (if #374 #694 #362)
-#286 := (= -3::Int 0::Int)
-#695 := (if #286 #63 #363)
-#371 := (= #60 -3::Int)
-#696 := (if #286 #371 #695)
-#484 := (or #524 #696)
-#534 := (iff #484 #525)
-#630 := (iff #525 #525)
-#633 := [rewrite]: #630
-#641 := (iff #696 #63)
-#636 := (if false #371 #63)
-#640 := (iff #636 #63)
-#638 := [rewrite]: #640
-#637 := (iff #696 #636)
-#482 := (iff #695 #63)
-#647 := (if false #63 #63)
-#643 := (iff #647 #63)
-#649 := [rewrite]: #643
-#651 := (iff #695 #647)
-#650 := (iff #363 #63)
-#648 := (iff #363 #647)
-#645 := (iff #362 #63)
-#502 := (= #688 #60)
-#383 := (+ #60 0::Int)
-#663 := (= #383 #60)
-#664 := [rewrite]: #663
-#660 := (= #688 #383)
-#659 := (= #481 0::Int)
-#656 := (mod 3::Int 3::Int)
-#653 := (= #656 0::Int)
-#658 := [rewrite]: #653
-#657 := (= #481 #656)
-#666 := (= #351 3::Int)
-#655 := [rewrite]: #666
-#652 := [monotonicity #655 #655]: #657
-#654 := [trans #652 #658]: #659
-#501 := [monotonicity #654]: #660
-#503 := [trans #501 #664]: #502
-#646 := [monotonicity #503]: #645
-#665 := (iff #694 #63)
-#379 := (= #692 #60)
-#384 := (= #692 #383)
-#672 := (= #357 0::Int)
-#392 := (* -1::Int 0::Int)
-#671 := (= #392 0::Int)
-#668 := [rewrite]: #671
-#393 := (= #357 #392)
-#669 := (= #378 0::Int)
-#670 := [rewrite]: #669
-#667 := [monotonicity #670]: #393
-#382 := [trans #667 #668]: #672
-#385 := [monotonicity #382]: #384
-#661 := [trans #385 #664]: #379
-#662 := [monotonicity #661]: #665
-#399 := (iff #374 false)
-#673 := (or false false)
-#397 := (iff #673 false)
-#398 := [rewrite]: #397
-#674 := (iff #374 #673)
-#684 := (iff #377 false)
-#1 := true
-#675 := (not true)
-#340 := (iff #675 false)
-#341 := [rewrite]: #340
-#326 := (iff #377 #675)
-#685 := (iff #376 true)
-#681 := (or false true)
-#320 := (iff #681 true)
-#683 := [rewrite]: #320
-#676 := (iff #376 #681)
-#693 := (iff #372 true)
-#699 := [rewrite]: #693
-#679 := (iff #375 false)
-#680 := [rewrite]: #679
-#682 := [monotonicity #680 #699]: #676
-#325 := [trans #682 #683]: #685
-#686 := [monotonicity #325]: #326
-#687 := [trans #686 #341]: #684
-#677 := (iff #364 false)
-#338 := (iff #364 #675)
-#691 := (iff #373 true)
-#689 := (or true true)
-#690 := (iff #689 true)
-#350 := [rewrite]: #690
-#349 := (iff #373 #689)
-#354 := [monotonicity #699 #699]: #349
-#334 := [trans #354 #350]: #691
-#339 := [monotonicity #334]: #338
-#678 := [trans #339 #341]: #677
-#396 := [monotonicity #678 #687]: #674
-#292 := [trans #396 #398]: #399
-#642 := [monotonicity #292 #662 #646]: #648
-#644 := [trans #642 #649]: #650
-#697 := (iff #286 false)
-#698 := [rewrite]: #697
-#480 := [monotonicity #698 #644]: #651
-#483 := [trans #480 #649]: #482
-#639 := [monotonicity #698 #483]: #637
-#523 := [trans #639 #638]: #641
-#629 := [monotonicity #523]: #534
-#518 := [trans #629 #633]: #534
-#632 := [quant-inst #54 #54]: #484
-#533 := [mp #632 #518]: #525
-[unit-resolution #533 #69 #713]: false
-bf59e99514afc31c08b47ceb56486f223b9d1199 357 0
-unsat
+#80 := (iff #14 #79)
+#77 := (iff #13 #76)
+#74 := (= #11 #73)
+#68 := (= #9 -3::Int)
+#69 := [rewrite]: #68
+#71 := (= #10 #70)
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72 #69]: #74
+#78 := [monotonicity #75]: #77
+#81 := [monotonicity #78]: #80
+#66 := [asserted]: #14
+#84 := [mp #66 #81]: #79
+#567 := (not #751)
+#568 := (or #567 #76)
+#394 := (* -1::Int -3::Int)
+#524 := (mod #394 #394)
+#731 := (+ #73 #524)
+#405 := (= #731 0::Int)
+#421 := (mod -3::Int -3::Int)
+#400 := (* -1::Int #421)
+#735 := (+ #73 #400)
+#737 := (= #735 0::Int)
+#415 := (<= -3::Int 0::Int)
+#418 := (>= -3::Int 0::Int)
+#419 := (or #418 #415)
+#420 := (not #419)
+#416 := (or #415 #415)
+#407 := (not #416)
+#417 := (or #407 #420)
+#406 := (if #417 #737 #405)
+#330 := (= -3::Int 0::Int)
+#738 := (if #330 #76 #406)
+#414 := (= #73 -3::Int)
+#739 := (if #330 #414 #738)
+#527 := (or #567 #739)
+#577 := (iff #527 #568)
+#673 := (iff #568 #568)
+#676 := [rewrite]: #673
+#684 := (iff #739 #76)
+#679 := (if false #414 #76)
+#683 := (iff #679 #76)
+#681 := [rewrite]: #683
+#680 := (iff #739 #679)
+#525 := (iff #738 #76)
+#690 := (if false #76 #76)
+#686 := (iff #690 #76)
+#692 := [rewrite]: #686
+#694 := (iff #738 #690)
+#693 := (iff #406 #76)
+#691 := (iff #406 #690)
+#688 := (iff #405 #76)
+#545 := (= #731 #73)
+#426 := (+ #73 0::Int)
+#706 := (= #426 #73)
+#707 := [rewrite]: #706
+#703 := (= #731 #426)
+#702 := (= #524 0::Int)
+#699 := (mod 3::Int 3::Int)
+#696 := (= #699 0::Int)
+#701 := [rewrite]: #696
+#700 := (= #524 #699)
+#709 := (= #394 3::Int)
+#698 := [rewrite]: #709
+#695 := [monotonicity #698 #698]: #700
+#697 := [trans #695 #701]: #702
+#544 := [monotonicity #697]: #703
+#546 := [trans #544 #707]: #545
+#689 := [monotonicity #546]: #688
+#708 := (iff #737 #76)
+#422 := (= #735 #73)
+#427 := (= #735 #426)
+#715 := (= #400 0::Int)
+#435 := (* -1::Int 0::Int)
+#714 := (= #435 0::Int)
+#711 := [rewrite]: #714
+#436 := (= #400 #435)
+#712 := (= #421 0::Int)
+#713 := [rewrite]: #712
+#710 := [monotonicity #713]: #436
+#425 := [trans #710 #711]: #715
+#428 := [monotonicity #425]: #427
+#704 := [trans #428 #707]: #422
+#705 := [monotonicity #704]: #708
+#442 := (iff #417 false)
+#716 := (or false false)
+#440 := (iff #716 false)
+#441 := [rewrite]: #440
+#717 := (iff #417 #716)
+#727 := (iff #420 false)
+#1 := true
+#718 := (not true)
+#383 := (iff #718 false)
+#384 := [rewrite]: #383
+#369 := (iff #420 #718)
+#728 := (iff #419 true)
+#724 := (or false true)
+#363 := (iff #724 true)
+#726 := [rewrite]: #363
+#719 := (iff #419 #724)
+#736 := (iff #415 true)
+#742 := [rewrite]: #736
+#722 := (iff #418 false)
+#723 := [rewrite]: #722
+#725 := [monotonicity #723 #742]: #719
+#368 := [trans #725 #726]: #728
+#729 := [monotonicity #368]: #369
+#730 := [trans #729 #384]: #727
+#720 := (iff #407 false)
+#381 := (iff #407 #718)
+#734 := (iff #416 true)
+#732 := (or true true)
+#733 := (iff #732 true)
+#393 := [rewrite]: #733
+#392 := (iff #416 #732)
+#397 := [monotonicity #742 #742]: #392
+#377 := [trans #397 #393]: #734
+#382 := [monotonicity #377]: #381
+#721 := [trans #382 #384]: #720
+#439 := [monotonicity #721 #730]: #717
+#336 := [trans #439 #441]: #442
+#685 := [monotonicity #336 #705 #689]: #691
+#687 := [trans #685 #692]: #693
+#740 := (iff #330 false)
+#741 := [rewrite]: #740
+#523 := [monotonicity #741 #687]: #694
+#526 := [trans #523 #692]: #525
+#682 := [monotonicity #741 #526]: #680
+#566 := [trans #682 #681]: #684
+#672 := [monotonicity #566]: #577
+#561 := [trans #672 #676]: #577
+#675 := [quant-inst #67 #67]: #527
+#576 := [mp #675 #561]: #568
+[unit-resolution #576 #84 #756]: false
+unsat
+78e98b360474b07bbe43f0216b8f59ecf8adcdd9 341 0
 #2 := false
 decl f3 :: (-> S2 Int Int)
 #21 := (:var 0 Int)
@@ -40901,107 +38313,80 @@
 #7 := f5
 #41 := (f4 f5 #19)
 #42 := (f3 #41 #21)
-#717 := (pattern #42)
+#758 := (pattern #42)
 #23 := 0::Int
-#106 := -1::Int
-#110 := (* -1::Int #21)
-#107 := (* -1::Int #19)
-#129 := (mod #107 #110)
-#285 := (+ #42 #129)
-#286 := (= #285 0::Int)
+#93 := -1::Int
+#98 := (* -1::Int #21)
+#95 := (* -1::Int #19)
+#153 := (mod #95 #98)
+#268 := (+ #42 #153)
+#269 := (= #268 0::Int)
 #43 := (mod #19 #21)
-#282 := (* -1::Int #43)
-#283 := (+ #42 #282)
-#284 := (= #283 0::Int)
-#84 := (<= #21 0::Int)
-#176 := (>= #19 0::Int)
-#229 := (or #176 #84)
-#230 := (not #229)
-#80 := (<= #19 0::Int)
-#225 := (or #80 #84)
-#226 := (not #225)
-#233 := (or #226 #230)
-#287 := (if #233 #284 #286)
-#281 := (= #42 0::Int)
+#265 := (* -1::Int #43)
+#266 := (+ #42 #265)
+#267 := (= #266 0::Int)
+#120 := (<= #21 0::Int)
+#127 := (>= #19 0::Int)
+#212 := (or #127 #120)
+#213 := (not #212)
+#116 := (<= #19 0::Int)
+#210 := (or #116 #120)
+#211 := (not #210)
+#216 := (or #211 #213)
+#270 := (if #216 #267 #269)
+#264 := (= #42 0::Int)
 #24 := (= #19 0::Int)
-#288 := (if #24 #281 #287)
-#280 := (= #42 #19)
+#271 := (if #24 #264 #270)
+#263 := (= #42 #19)
 #25 := (= #21 0::Int)
-#289 := (if #25 #280 #288)
-#718 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #717) #289)
-#292 := (forall (vars (?v0 Int) (?v1 Int)) #289)
-#721 := (iff #292 #718)
-#719 := (iff #289 #289)
-#720 := [refl]: #719
-#722 := [quant-intro #720]: #721
-#135 := (* -1::Int #129)
-#249 := (if #233 #43 #135)
-#252 := (if #24 0::Int #249)
-#255 := (if #25 #19 #252)
-#258 := (= #42 #255)
-#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
-#293 := (iff #261 #292)
-#290 := (iff #258 #289)
-#291 := [rewrite]: #290
-#294 := [quant-intro #291]: #293
-#85 := (not #84)
-#179 := (not #176)
-#182 := (and #179 #85)
-#81 := (not #80)
-#88 := (and #81 #85)
-#185 := (or #88 #182)
-#201 := (if #185 #43 #135)
-#204 := (if #24 0::Int #201)
-#207 := (if #25 #19 #204)
-#210 := (= #42 #207)
-#213 := (forall (vars (?v0 Int) (?v1 Int)) #210)
-#262 := (iff #213 #261)
-#259 := (iff #210 #258)
-#256 := (= #207 #255)
-#253 := (= #204 #252)
-#250 := (= #201 #249)
-#234 := (iff #185 #233)
-#231 := (iff #182 #230)
-#232 := [rewrite]: #231
-#227 := (iff #88 #226)
-#228 := [rewrite]: #227
-#235 := [monotonicity #228 #232]: #234
-#251 := [monotonicity #235]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [monotonicity #257]: #259
-#263 := [quant-intro #260]: #262
-#175 := (~ #213 #213)
-#220 := (~ #210 #210)
-#174 := [refl]: #220
-#223 := [nnf-pos #174]: #175
-#91 := (<= 0::Int #19)
-#92 := (not #91)
-#100 := (and #92 #85)
-#103 := (or #88 #100)
-#140 := (if #103 #43 #135)
-#143 := (if #24 0::Int #140)
-#146 := (if #25 #19 #143)
-#149 := (= #42 #146)
-#152 := (forall (vars (?v0 Int) (?v1 Int)) #149)
-#214 := (iff #152 #213)
-#211 := (iff #149 #210)
-#208 := (= #146 #207)
-#205 := (= #143 #204)
-#202 := (= #140 #201)
-#186 := (iff #103 #185)
-#183 := (iff #100 #182)
-#180 := (iff #92 #179)
-#177 := (iff #91 #176)
-#178 := [rewrite]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#203 := [monotonicity #187]: #202
-#206 := [monotonicity #203]: #205
-#209 := [monotonicity #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [quant-intro #212]: #214
+#272 := (if #25 #263 #271)
+#759 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #758) #272)
+#275 := (forall (vars (?v0 Int) (?v1 Int)) #272)
+#762 := (iff #275 #759)
+#760 := (iff #272 #272)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#159 := (* -1::Int #153)
+#232 := (if #216 #43 #159)
+#235 := (if #24 0::Int #232)
+#238 := (if #25 #19 #235)
+#241 := (= #42 #238)
+#244 := (forall (vars (?v0 Int) (?v1 Int)) #241)
+#276 := (iff #244 #275)
+#273 := (iff #241 #272)
+#274 := [rewrite]: #273
+#277 := [quant-intro #274]: #276
+#121 := (not #120)
+#128 := (not #127)
+#131 := (and #128 #121)
+#117 := (not #116)
+#124 := (and #117 #121)
+#134 := (or #124 #131)
+#179 := (if #134 #43 #159)
+#182 := (if #24 0::Int #179)
+#185 := (if #25 #19 #182)
+#188 := (= #42 #185)
+#191 := (forall (vars (?v0 Int) (?v1 Int)) #188)
+#245 := (iff #191 #244)
+#242 := (iff #188 #241)
+#239 := (= #185 #238)
+#236 := (= #182 #235)
+#233 := (= #179 #232)
+#217 := (iff #134 #216)
+#214 := (iff #131 #213)
+#215 := [rewrite]: #214
+#204 := (iff #124 #211)
+#205 := [rewrite]: #204
+#218 := [monotonicity #205 #215]: #217
+#234 := [monotonicity #218]: #233
+#237 := [monotonicity #234]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [quant-intro #243]: #245
+#202 := (~ #191 #191)
+#201 := (~ #188 #188)
+#198 := [refl]: #201
+#203 := [nnf-pos #198]: #202
 #35 := (- #21)
 #34 := (- #19)
 #44 := (mod #34 #35)
@@ -41017,60 +38402,71 @@
 #48 := (if #25 #19 #47)
 #49 := (= #42 #48)
 #50 := (forall (vars (?v0 Int) (?v1 Int)) #49)
-#153 := (iff #50 #152)
-#150 := (iff #49 #149)
-#147 := (= #48 #146)
-#144 := (= #47 #143)
-#141 := (= #46 #140)
-#138 := (= #45 #135)
-#132 := (- #129)
-#136 := (= #132 #135)
-#137 := [rewrite]: #136
-#133 := (= #45 #132)
-#130 := (= #44 #129)
-#111 := (= #35 #110)
-#112 := [rewrite]: #111
-#108 := (= #34 #107)
-#109 := [rewrite]: #108
-#131 := [monotonicity #109 #112]: #130
-#134 := [monotonicity #131]: #133
-#139 := [trans #134 #137]: #138
-#104 := (iff #32 #103)
-#101 := (iff #31 #100)
-#86 := (iff #28 #85)
-#87 := [rewrite]: #86
-#93 := (iff #30 #92)
-#97 := (iff #92 #92)
-#95 := (iff #91 #91)
-#96 := [rewrite]: #95
-#98 := [monotonicity #96]: #97
-#94 := [rewrite]: #93
-#99 := [trans #94 #98]: #93
-#102 := [monotonicity #99 #87]: #101
-#89 := (iff #29 #88)
-#82 := (iff #27 #81)
-#83 := [rewrite]: #82
-#90 := [monotonicity #83 #87]: #89
-#105 := [monotonicity #90 #102]: #104
-#142 := [monotonicity #105 #139]: #141
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#151 := [monotonicity #148]: #150
-#154 := [quant-intro #151]: #153
-#54 := [asserted]: #50
-#155 := [mp #54 #154]: #152
-#216 := [mp #155 #215]: #213
-#224 := [mp~ #216 #223]: #213
-#264 := [mp #224 #263]: #261
-#295 := [mp #264 #294]: #292
-#723 := [mp #295 #722]: #718
-#70 := -2::Int
-#64 := -3::Int
-#58 := -5::Int
-#61 := (f4 f5 -5::Int)
-#67 := (f3 #61 -3::Int)
-#73 := (= #67 -2::Int)
-#76 := (not #73)
+#194 := (iff #50 #191)
+#164 := (if #32 #43 #159)
+#167 := (if #24 0::Int #164)
+#170 := (if #25 #19 #167)
+#173 := (= #42 #170)
+#176 := (forall (vars (?v0 Int) (?v1 Int)) #173)
+#192 := (iff #176 #191)
+#189 := (iff #173 #188)
+#186 := (= #170 #185)
+#183 := (= #167 #182)
+#180 := (= #164 #179)
+#135 := (iff #32 #134)
+#132 := (iff #31 #131)
+#122 := (iff #28 #121)
+#123 := [rewrite]: #122
+#129 := (iff #30 #128)
+#130 := [rewrite]: #129
+#133 := [monotonicity #130 #123]: #132
+#125 := (iff #29 #124)
+#118 := (iff #27 #117)
+#119 := [rewrite]: #118
+#126 := [monotonicity #119 #123]: #125
+#136 := [monotonicity #126 #133]: #135
+#181 := [monotonicity #136]: #180
+#184 := [monotonicity #181]: #183
+#187 := [monotonicity #184]: #186
+#190 := [monotonicity #187]: #189
+#193 := [quant-intro #190]: #192
+#177 := (iff #50 #176)
+#174 := (iff #49 #173)
+#171 := (= #48 #170)
+#168 := (= #47 #167)
+#165 := (= #46 #164)
+#162 := (= #45 #159)
+#156 := (- #153)
+#160 := (= #156 #159)
+#161 := [rewrite]: #160
+#157 := (= #45 #156)
+#154 := (= #44 #153)
+#99 := (= #35 #98)
+#100 := [rewrite]: #99
+#96 := (= #34 #95)
+#97 := [rewrite]: #96
+#155 := [monotonicity #97 #100]: #154
+#158 := [monotonicity #155]: #157
+#163 := [trans #158 #161]: #162
+#166 := [monotonicity #163]: #165
+#169 := [monotonicity #166]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [quant-intro #175]: #177
+#195 := [trans #178 #193]: #194
+#152 := [asserted]: #50
+#196 := [mp #152 #195]: #191
+#199 := [mp~ #196 #203]: #191
+#247 := [mp #199 #246]: #244
+#278 := [mp #247 #277]: #275
+#764 := [mp #278 #763]: #759
+#83 := -2::Int
+#77 := -3::Int
+#71 := -5::Int
+#74 := (f4 f5 -5::Int)
+#80 := (f3 #74 -3::Int)
+#86 := (= #80 -2::Int)
+#89 := (not #86)
 #14 := 2::Int
 #15 := (- 2::Int)
 #11 := 3::Int
@@ -41081,350 +38477,314 @@
 #13 := (f3 #10 #12)
 #16 := (= #13 #15)
 #17 := (not #16)
-#77 := (iff #17 #76)
-#74 := (iff #16 #73)
-#71 := (= #15 -2::Int)
-#72 := [rewrite]: #71
-#68 := (= #13 #67)
-#65 := (= #12 -3::Int)
-#66 := [rewrite]: #65
-#62 := (= #10 #61)
-#59 := (= #9 -5::Int)
-#60 := [rewrite]: #59
-#63 := [monotonicity #60]: #62
-#69 := [monotonicity #63 #66]: #68
-#75 := [monotonicity #69 #72]: #74
-#78 := [monotonicity #75]: #77
-#52 := [asserted]: #17
-#79 := [mp #52 #78]: #76
-#633 := (not #718)
-#638 := (or #633 #73)
-#373 := (* -1::Int -3::Int)
-#372 := (* -1::Int -5::Int)
-#705 := (mod #372 #373)
-#706 := (+ #67 #705)
-#707 := (= #706 0::Int)
-#704 := (mod -5::Int -3::Int)
-#361 := (* -1::Int #704)
-#491 := (+ #67 #361)
-#698 := (= #491 0::Int)
-#385 := (<= -3::Int 0::Int)
-#384 := (>= -5::Int 0::Int)
-#388 := (or #384 #385)
-#367 := (not #388)
-#374 := (<= -5::Int 0::Int)
-#386 := (or #374 #385)
-#387 := (not #386)
-#702 := (or #387 #367)
-#708 := (if #702 #698 #707)
-#383 := (= #67 0::Int)
-#382 := (= -5::Int 0::Int)
-#703 := (if #382 #383 #708)
-#381 := (= #67 -5::Int)
-#296 := (= -3::Int 0::Int)
-#709 := (if #296 #381 #703)
-#627 := (or #633 #709)
-#629 := (iff #627 #638)
-#624 := (iff #638 #638)
-#631 := [rewrite]: #624
-#636 := (iff #709 #73)
-#634 := (if false #381 #73)
-#625 := (iff #634 #73)
-#635 := [rewrite]: #625
-#626 := (iff #709 #634)
-#645 := (iff #703 #73)
-#549 := (if false #383 #73)
-#644 := (iff #549 #73)
-#641 := [rewrite]: #644
-#550 := (iff #703 #549)
-#547 := (iff #708 #73)
-#314 := 1::Int
-#511 := (= #67 1::Int)
-#528 := (if false #511 #73)
-#546 := (iff #528 #73)
-#539 := [rewrite]: #546
-#543 := (iff #708 #528)
-#640 := (iff #707 #73)
-#650 := (+ 2::Int #67)
-#535 := (= #650 0::Int)
-#544 := (iff #535 #73)
-#639 := [rewrite]: #544
-#494 := (iff #707 #535)
-#533 := (= #706 #650)
-#646 := (+ #67 2::Int)
-#648 := (= #646 #650)
-#651 := [rewrite]: #648
-#647 := (= #706 #646)
-#492 := (= #705 2::Int)
-#659 := (mod 5::Int 3::Int)
-#661 := (= #659 2::Int)
-#490 := [rewrite]: #661
-#660 := (= #705 #659)
-#652 := (= #373 3::Int)
-#653 := [rewrite]: #652
-#657 := (= #372 5::Int)
-#658 := [rewrite]: #657
-#654 := [monotonicity #658 #653]: #660
-#493 := [trans #654 #490]: #492
-#649 := [monotonicity #493]: #647
-#534 := [trans #649 #651]: #533
-#642 := [monotonicity #534]: #494
-#643 := [trans #642 #639]: #640
-#655 := (iff #698 #511)
-#666 := (+ -1::Int #67)
-#669 := (= #666 0::Int)
-#512 := (iff #669 #511)
-#513 := [rewrite]: #512
-#664 := (iff #698 #669)
-#663 := (= #491 #666)
-#672 := (+ #67 -1::Int)
-#667 := (= #672 #666)
-#662 := [rewrite]: #667
-#676 := (= #491 #672)
-#671 := (= #361 -1::Int)
-#394 := (* -1::Int 1::Int)
-#674 := (= #394 -1::Int)
-#389 := [rewrite]: #674
-#395 := (= #361 #394)
-#392 := (= #704 1::Int)
-#393 := [rewrite]: #392
-#673 := [monotonicity #393]: #395
-#675 := [trans #673 #389]: #671
-#665 := [monotonicity #675]: #676
-#668 := [trans #665 #662]: #663
-#670 := [monotonicity #668]: #664
-#656 := [trans #670 #513]: #655
-#678 := (iff #702 false)
-#680 := (or false false)
-#677 := (iff #680 false)
-#681 := [rewrite]: #677
-#402 := (iff #702 #680)
-#302 := (iff #367 false)
-#1 := true
-#690 := (not true)
-#692 := (iff #690 false)
-#330 := [rewrite]: #692
-#408 := (iff #367 #690)
-#406 := (iff #388 true)
-#696 := (or false true)
-#683 := (iff #696 true)
-#684 := [rewrite]: #683
-#694 := (iff #388 #696)
-#344 := (iff #385 true)
-#685 := [rewrite]: #344
-#335 := (iff #384 false)
-#336 := [rewrite]: #335
-#697 := [monotonicity #336 #685]: #694
-#407 := [trans #697 #684]: #406
-#409 := [monotonicity #407]: #408
-#679 := [trans #409 #330]: #302
-#693 := (iff #387 false)
-#691 := (iff #387 #690)
-#688 := (iff #386 true)
-#348 := (or true true)
-#351 := (iff #348 true)
-#687 := [rewrite]: #351
-#349 := (iff #386 #348)
-#360 := (iff #374 true)
-#701 := [rewrite]: #360
-#350 := [monotonicity #701 #685]: #349
-#689 := [trans #350 #687]: #688
-#686 := [monotonicity #689]: #691
-#695 := [trans #686 #330]: #693
-#403 := [monotonicity #695 #679]: #402
-#682 := [trans #403 #681]: #678
-#545 := [monotonicity #682 #656 #643]: #543
-#548 := [trans #545 #539]: #547
-#364 := (iff #382 false)
-#700 := [rewrite]: #364
-#551 := [monotonicity #700 #548]: #550
-#632 := [trans #551 #641]: #645
-#699 := (iff #296 false)
-#359 := [rewrite]: #699
-#623 := [monotonicity #359 #632]: #626
-#637 := [trans #623 #635]: #636
-#630 := [monotonicity #637]: #629
-#615 := [trans #630 #631]: #629
-#628 := [quant-inst #58 #64]: #627
-#616 := [mp #628 #615]: #638
-[unit-resolution #616 #79 #723]: false
-ef703ebceb3fa98287d10eb7ea1d68a68c17e1d3 342 0
-unsat
+#90 := (iff #17 #89)
+#87 := (iff #16 #86)
+#84 := (= #15 -2::Int)
+#85 := [rewrite]: #84
+#81 := (= #13 #80)
+#78 := (= #12 -3::Int)
+#79 := [rewrite]: #78
+#75 := (= #10 #74)
+#72 := (= #9 -5::Int)
+#73 := [rewrite]: #72
+#76 := [monotonicity #73]: #75
+#82 := [monotonicity #76 #79]: #81
+#88 := [monotonicity #82 #85]: #87
+#91 := [monotonicity #88]: #90
+#70 := [asserted]: #17
+#94 := [mp #70 #91]: #89
+#674 := (not #759)
+#679 := (or #674 #86)
+#414 := (* -1::Int -3::Int)
+#413 := (* -1::Int -5::Int)
+#746 := (mod #413 #414)
+#747 := (+ #80 #746)
+#748 := (= #747 0::Int)
+#745 := (mod -5::Int -3::Int)
+#402 := (* -1::Int #745)
+#532 := (+ #80 #402)
+#739 := (= #532 0::Int)
+#426 := (<= -3::Int 0::Int)
+#425 := (>= -5::Int 0::Int)
+#429 := (or #425 #426)
+#408 := (not #429)
+#415 := (<= -5::Int 0::Int)
+#427 := (or #415 #426)
+#428 := (not #427)
+#743 := (or #428 #408)
+#749 := (if #743 #739 #748)
+#424 := (= #80 0::Int)
+#423 := (= -5::Int 0::Int)
+#744 := (if #423 #424 #749)
+#422 := (= #80 -5::Int)
+#338 := (= -3::Int 0::Int)
+#750 := (if #338 #422 #744)
+#668 := (or #674 #750)
+#670 := (iff #668 #679)
+#665 := (iff #679 #679)
+#672 := [rewrite]: #665
+#677 := (iff #750 #86)
+#675 := (if false #422 #86)
+#666 := (iff #675 #86)
+#676 := [rewrite]: #666
+#667 := (iff #750 #675)
+#686 := (iff #744 #86)
+#590 := (if false #424 #86)
+#685 := (iff #590 #86)
+#682 := [rewrite]: #685
+#591 := (iff #744 #590)
+#588 := (iff #749 #86)
+#291 := 1::Int
+#552 := (= #80 1::Int)
+#569 := (if false #552 #86)
+#587 := (iff #569 #86)
+#580 := [rewrite]: #587
+#584 := (iff #749 #569)
+#681 := (iff #748 #86)
+#691 := (+ 2::Int #80)
+#576 := (= #691 0::Int)
+#585 := (iff #576 #86)
+#680 := [rewrite]: #585
+#535 := (iff #748 #576)
+#574 := (= #747 #691)
+#687 := (+ #80 2::Int)
+#689 := (= #687 #691)
+#692 := [rewrite]: #689
+#688 := (= #747 #687)
+#533 := (= #746 2::Int)
+#700 := (mod 5::Int 3::Int)
+#702 := (= #700 2::Int)
+#531 := [rewrite]: #702
+#701 := (= #746 #700)
+#693 := (= #414 3::Int)
+#694 := [rewrite]: #693
+#698 := (= #413 5::Int)
+#699 := [rewrite]: #698
+#695 := [monotonicity #699 #694]: #701
+#534 := [trans #695 #531]: #533
+#690 := [monotonicity #534]: #688
+#575 := [trans #690 #692]: #574
+#683 := [monotonicity #575]: #535
+#684 := [trans #683 #680]: #681
+#696 := (iff #739 #552)
+#707 := (+ -1::Int #80)
+#710 := (= #707 0::Int)
+#553 := (iff #710 #552)
+#554 := [rewrite]: #553
+#705 := (iff #739 #710)
+#704 := (= #532 #707)
+#713 := (+ #80 -1::Int)
+#708 := (= #713 #707)
+#703 := [rewrite]: #708
+#717 := (= #532 #713)
+#712 := (= #402 -1::Int)
+#435 := (* -1::Int 1::Int)
+#715 := (= #435 -1::Int)
+#430 := [rewrite]: #715
+#436 := (= #402 #435)
+#433 := (= #745 1::Int)
+#434 := [rewrite]: #433
+#714 := [monotonicity #434]: #436
+#716 := [trans #714 #430]: #712
+#706 := [monotonicity #716]: #717
+#709 := [trans #706 #703]: #704
+#711 := [monotonicity #709]: #705
+#697 := [trans #711 #554]: #696
+#719 := (iff #743 false)
+#721 := (or false false)
+#718 := (iff #721 false)
+#722 := [rewrite]: #718
+#443 := (iff #743 #721)
+#344 := (iff #408 false)
+#1 := true
+#731 := (not true)
+#733 := (iff #731 false)
+#371 := [rewrite]: #733
+#449 := (iff #408 #731)
+#447 := (iff #429 true)
+#737 := (or false true)
+#724 := (iff #737 true)
+#725 := [rewrite]: #724
+#735 := (iff #429 #737)
+#385 := (iff #426 true)
+#726 := [rewrite]: #385
+#376 := (iff #425 false)
+#377 := [rewrite]: #376
+#738 := [monotonicity #377 #726]: #735
+#448 := [trans #738 #725]: #447
+#450 := [monotonicity #448]: #449
+#720 := [trans #450 #371]: #344
+#734 := (iff #428 false)
+#732 := (iff #428 #731)
+#729 := (iff #427 true)
+#389 := (or true true)
+#392 := (iff #389 true)
+#728 := [rewrite]: #392
+#390 := (iff #427 #389)
+#401 := (iff #415 true)
+#742 := [rewrite]: #401
+#391 := [monotonicity #742 #726]: #390
+#730 := [trans #391 #728]: #729
+#727 := [monotonicity #730]: #732
+#736 := [trans #727 #371]: #734
+#444 := [monotonicity #736 #720]: #443
+#723 := [trans #444 #722]: #719
+#586 := [monotonicity #723 #697 #684]: #584
+#589 := [trans #586 #580]: #588
+#405 := (iff #423 false)
+#741 := [rewrite]: #405
+#592 := [monotonicity #741 #589]: #591
+#673 := [trans #592 #682]: #686
+#740 := (iff #338 false)
+#400 := [rewrite]: #740
+#664 := [monotonicity #400 #673]: #667
+#678 := [trans #664 #676]: #677
+#671 := [monotonicity #678]: #670
+#656 := [trans #671 #672]: #670
+#669 := [quant-inst #71 #77]: #668
+#657 := [mp #669 #656]: #679
+[unit-resolution #657 #94 #764]: false
+unsat
+f7f6dba4a50481c109b9d852231cbc0e5bd8ffbf 316 0
 #2 := false
 #19 := 0::Int
 decl f6 :: Int
 #8 := f6
-#369 := (<= f6 0::Int)
-#379 := (>= f6 0::Int)
-#690 := (not #379)
-#346 := (not #369)
-#691 := (or #346 #690)
-#653 := (not #691)
+#403 := (<= f6 0::Int)
+#413 := (>= f6 0::Int)
+#724 := (not #413)
+#380 := (not #403)
+#725 := (or #380 #724)
+#687 := (not #725)
 #10 := 3::Int
-#699 := (mod f6 3::Int)
-#97 := -1::Int
-#356 := (* -1::Int #699)
+#733 := (mod f6 3::Int)
+#68 := -1::Int
+#390 := (* -1::Int #733)
 decl f3 :: (-> S2 Int Int)
 decl f4 :: (-> S3 Int S2)
 decl f5 :: S3
 #7 := f5
 #9 := (f4 f5 f6)
 #11 := (f3 #9 3::Int)
-#486 := (+ #11 #356)
-#693 := (= #486 0::Int)
-#644 := (not #693)
-#654 := (<= #486 0::Int)
-#599 := (not #654)
-#603 := (>= #699 3::Int)
-#604 := (not #603)
-#1 := true
-#164 := [true-axiom]: true
-#594 := (or false #604)
-#595 := [th-lemma arith]: #594
-#596 := [unit-resolution #595 #164]: #604
-#597 := [hypothesis]: #654
-#167 := (>= #11 3::Int)
-#54 := (<= 3::Int #11)
-#166 := (iff #54 #167)
-#168 := [rewrite]: #166
+#520 := (+ #11 #390)
+#727 := (= #520 0::Int)
+#678 := (not #727)
+#688 := (<= #520 0::Int)
+#634 := (not #688)
+#638 := (>= #733 3::Int)
+#640 := (not #638)
+#1 := true
+#64 := [true-axiom]: true
+#629 := (or false #640)
+#630 := [th-lemma arith]: #629
+#631 := [unit-resolution #630 #64]: #640
+#632 := [hypothesis]: #688
+#71 := (>= #11 3::Int)
 #12 := (< #11 3::Int)
 #13 := (not #12)
-#68 := (iff #13 #54)
-#55 := (not #54)
-#63 := (not #55)
-#66 := (iff #63 #54)
-#67 := [rewrite]: #66
-#64 := (iff #13 #63)
-#56 := (iff #12 #55)
-#60 := (iff #55 #55)
-#58 := (iff #54 #54)
-#59 := [rewrite]: #58
-#61 := [monotonicity #59]: #60
-#57 := [rewrite]: #56
-#62 := [trans #57 #61]: #56
-#65 := [monotonicity #62]: #64
-#69 := [trans #65 #67]: #68
-#48 := [asserted]: #13
-#70 := [mp #48 #69]: #54
-#169 := [mp #70 #168]: #167
-#598 := [th-lemma arith farkas -1 1 1 #169 #597 #596]: false
-#600 := [lemma #598]: #599
-#632 := (or #644 #654)
-#534 := [th-lemma arith triangle-eq]: #632
-#629 := [unit-resolution #534 #600]: #644
-#592 := (or #653 #693)
-#678 := -3::Int
-#367 := (* -1::Int f6)
-#402 := (mod #367 -3::Int)
-#297 := (+ #11 #402)
-#397 := (= #297 0::Int)
-#676 := (if #691 #693 #397)
-#378 := (= #11 0::Int)
-#377 := (= f6 0::Int)
-#387 := (if #377 #378 #676)
+#78 := (iff #13 #71)
+#69 := (not #71)
+#73 := (not #69)
+#76 := (iff #73 #71)
+#77 := [rewrite]: #76
+#74 := (iff #13 #73)
+#70 := (iff #12 #69)
+#72 := [rewrite]: #70
+#75 := [monotonicity #72]: #74
+#79 := [trans #75 #77]: #78
+#66 := [asserted]: #13
+#80 := [mp #66 #79]: #71
+#633 := [th-lemma arith farkas -1 1 1 #80 #632 #631]: false
+#635 := [lemma #633]: #634
+#623 := (or #678 #688)
+#624 := [th-lemma arith triangle-eq]: #623
+#626 := [unit-resolution #624 #635]: #678
+#621 := (or #687 #727)
+#712 := -3::Int
+#401 := (* -1::Int f6)
+#436 := (mod #401 -3::Int)
+#332 := (+ #11 #436)
+#431 := (= #332 0::Int)
+#710 := (if #725 #727 #431)
+#412 := (= #11 0::Int)
+#411 := (= f6 0::Int)
+#421 := (if #411 #412 #710)
 #17 := (:var 0 Int)
 #15 := (:var 1 Int)
 #37 := (f4 f5 #15)
 #38 := (f3 #37 #17)
-#712 := (pattern #38)
-#101 := (* -1::Int #17)
-#98 := (* -1::Int #15)
-#120 := (mod #98 #101)
-#280 := (+ #38 #120)
-#281 := (= #280 0::Int)
+#746 := (pattern #38)
+#84 := (* -1::Int #17)
+#81 := (* -1::Int #15)
+#139 := (mod #81 #84)
+#254 := (+ #38 #139)
+#255 := (= #254 0::Int)
 #39 := (mod #15 #17)
-#277 := (* -1::Int #39)
-#278 := (+ #38 #277)
-#279 := (= #278 0::Int)
-#75 := (<= #17 0::Int)
-#171 := (>= #15 0::Int)
-#224 := (or #171 #75)
-#225 := (not #224)
-#71 := (<= #15 0::Int)
-#220 := (or #71 #75)
-#221 := (not #220)
-#228 := (or #221 #225)
-#282 := (if #228 #279 #281)
-#276 := (= #38 0::Int)
+#251 := (* -1::Int #39)
+#252 := (+ #38 #251)
+#253 := (= #252 0::Int)
+#106 := (<= #17 0::Int)
+#113 := (>= #15 0::Int)
+#198 := (or #113 #106)
+#199 := (not #198)
+#102 := (<= #15 0::Int)
+#196 := (or #102 #106)
+#197 := (not #196)
+#202 := (or #197 #199)
+#256 := (if #202 #253 #255)
+#250 := (= #38 0::Int)
 #20 := (= #15 0::Int)
-#283 := (if #20 #276 #282)
-#275 := (= #38 #15)
+#257 := (if #20 #250 #256)
+#249 := (= #38 #15)
 #21 := (= #17 0::Int)
-#284 := (if #21 #275 #283)
-#713 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #712) #284)
-#287 := (forall (vars (?v0 Int) (?v1 Int)) #284)
-#716 := (iff #287 #713)
-#714 := (iff #284 #284)
-#715 := [refl]: #714
-#717 := [quant-intro #715]: #716
-#126 := (* -1::Int #120)
-#244 := (if #228 #39 #126)
-#247 := (if #20 0::Int #244)
-#250 := (if #21 #15 #247)
-#253 := (= #38 #250)
-#256 := (forall (vars (?v0 Int) (?v1 Int)) #253)
-#288 := (iff #256 #287)
-#285 := (iff #253 #284)
-#286 := [rewrite]: #285
-#289 := [quant-intro #286]: #288
-#76 := (not #75)
-#174 := (not #171)
-#177 := (and #174 #76)
-#72 := (not #71)
-#79 := (and #72 #76)
-#180 := (or #79 #177)
-#196 := (if #180 #39 #126)
-#199 := (if #20 0::Int #196)
-#202 := (if #21 #15 #199)
-#205 := (= #38 #202)
-#208 := (forall (vars (?v0 Int) (?v1 Int)) #205)
-#257 := (iff #208 #256)
-#254 := (iff #205 #253)
-#251 := (= #202 #250)
-#248 := (= #199 #247)
-#245 := (= #196 #244)
-#229 := (iff #180 #228)
-#226 := (iff #177 #225)
-#227 := [rewrite]: #226
-#222 := (iff #79 #221)
-#223 := [rewrite]: #222
-#230 := [monotonicity #223 #227]: #229
-#246 := [monotonicity #230]: #245
-#249 := [monotonicity #246]: #248
-#252 := [monotonicity #249]: #251
-#255 := [monotonicity #252]: #254
-#258 := [quant-intro #255]: #257
-#215 := (~ #208 #208)
-#170 := (~ #205 #205)
-#214 := [refl]: #170
-#218 := [nnf-pos #214]: #215
-#82 := (<= 0::Int #15)
-#83 := (not #82)
-#91 := (and #83 #76)
-#94 := (or #79 #91)
-#131 := (if #94 #39 #126)
-#134 := (if #20 0::Int #131)
-#137 := (if #21 #15 #134)
-#140 := (= #38 #137)
-#143 := (forall (vars (?v0 Int) (?v1 Int)) #140)
-#209 := (iff #143 #208)
-#206 := (iff #140 #205)
-#203 := (= #137 #202)
-#200 := (= #134 #199)
-#197 := (= #131 #196)
-#181 := (iff #94 #180)
-#178 := (iff #91 #177)
-#175 := (iff #83 #174)
-#172 := (iff #82 #171)
-#173 := [rewrite]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#182 := [monotonicity #179]: #181
-#198 := [monotonicity #182]: #197
-#201 := [monotonicity #198]: #200
-#204 := [monotonicity #201]: #203
-#207 := [monotonicity #204]: #206
-#210 := [quant-intro #207]: #209
+#258 := (if #21 #249 #257)
+#747 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #746) #258)
+#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
+#750 := (iff #261 #747)
+#748 := (iff #258 #258)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#145 := (* -1::Int #139)
+#218 := (if #202 #39 #145)
+#221 := (if #20 0::Int #218)
+#224 := (if #21 #15 #221)
+#227 := (= #38 #224)
+#230 := (forall (vars (?v0 Int) (?v1 Int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#107 := (not #106)
+#114 := (not #113)
+#117 := (and #114 #107)
+#103 := (not #102)
+#110 := (and #103 #107)
+#120 := (or #110 #117)
+#165 := (if #120 #39 #145)
+#168 := (if #20 0::Int #165)
+#171 := (if #21 #15 #168)
+#174 := (= #38 #171)
+#177 := (forall (vars (?v0 Int) (?v1 Int)) #174)
+#231 := (iff #177 #230)
+#228 := (iff #174 #227)
+#225 := (= #171 #224)
+#222 := (= #168 #221)
+#219 := (= #165 #218)
+#203 := (iff #120 #202)
+#200 := (iff #117 #199)
+#201 := [rewrite]: #200
+#190 := (iff #110 #197)
+#191 := [rewrite]: #190
+#204 := [monotonicity #191 #201]: #203
+#220 := [monotonicity #204]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#188 := (~ #177 #177)
+#187 := (~ #174 #174)
+#184 := [refl]: #187
+#189 := [nnf-pos #184]: #188
 #31 := (- #17)
 #30 := (- #15)
 #40 := (mod #30 #31)
@@ -41440,171 +38800,181 @@
 #44 := (if #21 #15 #43)
 #45 := (= #38 #44)
 #46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#144 := (iff #46 #143)
-#141 := (iff #45 #140)
-#138 := (= #44 #137)
-#135 := (= #43 #134)
-#132 := (= #42 #131)
-#129 := (= #41 #126)
-#123 := (- #120)
-#127 := (= #123 #126)
-#128 := [rewrite]: #127
-#124 := (= #41 #123)
-#121 := (= #40 #120)
-#102 := (= #31 #101)
-#103 := [rewrite]: #102
-#99 := (= #30 #98)
-#100 := [rewrite]: #99
-#122 := [monotonicity #100 #103]: #121
-#125 := [monotonicity #122]: #124
-#130 := [trans #125 #128]: #129
-#95 := (iff #28 #94)
-#92 := (iff #27 #91)
-#77 := (iff #24 #76)
-#78 := [rewrite]: #77
-#84 := (iff #26 #83)
-#88 := (iff #83 #83)
-#86 := (iff #82 #82)
-#87 := [rewrite]: #86
-#89 := [monotonicity #87]: #88
-#85 := [rewrite]: #84
-#90 := [trans #85 #89]: #84
-#93 := [monotonicity #90 #78]: #92
-#80 := (iff #25 #79)
-#73 := (iff #23 #72)
-#74 := [rewrite]: #73
-#81 := [monotonicity #74 #78]: #80
-#96 := [monotonicity #81 #93]: #95
-#133 := [monotonicity #96 #130]: #132
-#136 := [monotonicity #133]: #135
-#139 := [monotonicity #136]: #138
-#142 := [monotonicity #139]: #141
-#145 := [quant-intro #142]: #144
-#50 := [asserted]: #46
-#146 := [mp #50 #145]: #143
-#211 := [mp #146 #210]: #208
-#219 := [mp~ #211 #218]: #208
-#259 := [mp #219 #258]: #256
-#290 := [mp #259 #289]: #287
-#718 := [mp #290 #717]: #713
-#671 := (not #713)
-#660 := (or #671 #387)
-#368 := (* -1::Int 3::Int)
-#700 := (mod #367 #368)
-#701 := (+ #11 #700)
-#702 := (= #701 0::Int)
-#380 := (<= 3::Int 0::Int)
-#383 := (or #379 #380)
-#362 := (not #383)
-#381 := (or #369 #380)
-#382 := (not #381)
-#697 := (or #382 #362)
-#703 := (if #697 #693 #702)
-#698 := (if #377 #378 #703)
-#376 := (= #11 f6)
-#291 := (= 3::Int 0::Int)
-#704 := (if #291 #376 #698)
-#661 := (or #671 #704)
-#657 := (iff #661 #660)
-#663 := (iff #660 #660)
-#664 := [rewrite]: #663
-#670 := (iff #704 #387)
-#390 := (if false #376 #387)
-#384 := (iff #390 #387)
-#666 := [rewrite]: #384
-#668 := (iff #704 #390)
-#388 := (iff #698 #387)
-#673 := (iff #703 #676)
-#398 := (iff #702 #397)
-#674 := (= #701 #297)
-#403 := (= #700 #402)
-#679 := (= #368 -3::Int)
-#401 := [rewrite]: #679
-#404 := [monotonicity #401]: #403
-#675 := [monotonicity #404]: #674
-#672 := [monotonicity #675]: #398
-#689 := (iff #697 #691)
-#330 := (iff #362 #690)
-#325 := (iff #383 #379)
-#684 := (or #379 false)
-#681 := (iff #684 #379)
-#687 := [rewrite]: #681
-#685 := (iff #383 #684)
-#359 := (iff #380 false)
-#695 := [rewrite]: #359
-#686 := [monotonicity #695]: #685
-#688 := [trans #686 #687]: #325
-#331 := [monotonicity #688]: #330
-#682 := (iff #382 #346)
-#344 := (iff #381 #369)
-#355 := (or #369 false)
-#680 := (iff #355 #369)
-#343 := [rewrite]: #680
-#696 := (iff #381 #355)
-#339 := [monotonicity #695]: #696
-#345 := [trans #339 #343]: #344
-#683 := [monotonicity #345]: #682
-#692 := [monotonicity #683 #331]: #689
-#677 := [monotonicity #692 #672]: #673
-#389 := [monotonicity #677]: #388
-#694 := (iff #291 false)
-#354 := [rewrite]: #694
-#669 := [monotonicity #354 #389]: #668
-#667 := [trans #669 #666]: #670
-#658 := [monotonicity #667]: #657
-#659 := [trans #658 #664]: #657
-#662 := [quant-inst #8 #10]: #661
-#665 := [mp #662 #659]: #660
-#621 := [unit-resolution #665 #718]: #387
-#489 := (not #377)
-#530 := (not #387)
-#633 := (or #530 #489)
-#638 := (not #378)
-#506 := (<= #11 0::Int)
-#627 := (not #506)
-#545 := (not #167)
-#546 := (or #627 #545)
-#639 := [th-lemma arith farkas 1 1]: #546
-#636 := [unit-resolution #639 #169]: #627
-#618 := (or #638 #506)
-#620 := [th-lemma arith triangle-eq]: #618
-#628 := [unit-resolution #620 #636]: #638
-#637 := (or #530 #489 #378)
-#539 := [def-axiom]: #637
-#609 := [unit-resolution #539 #628]: #633
-#589 := [unit-resolution #609 #621]: #489
-#634 := (or #530 #377 #676)
-#635 := [def-axiom]: #634
-#590 := [unit-resolution #635 #589 #621]: #676
-#485 := (not #676)
-#487 := (or #485 #653 #693)
-#488 := [def-axiom]: #487
-#593 := [unit-resolution #488 #590]: #592
-#630 := [unit-resolution #593 #629]: #653
-#508 := (or #691 #369)
-#650 := [def-axiom]: #508
-#631 := [unit-resolution #650 #630]: #369
-#651 := (or #691 #379)
-#652 := [def-axiom]: #651
-#601 := [unit-resolution #652 #630]: #379
-#591 := (or #377 #346 #690)
-#602 := [th-lemma arith triangle-eq]: #591
-#580 := [unit-resolution #602 #589]: #691
-[unit-resolution #580 #601 #631]: false
-1a816085b7feac64dcd1be391f3e9629f980d336 343 0
-unsat
+#180 := (iff #46 #177)
+#150 := (if #28 #39 #145)
+#153 := (if #20 0::Int #150)
+#156 := (if #21 #15 #153)
+#159 := (= #38 #156)
+#162 := (forall (vars (?v0 Int) (?v1 Int)) #159)
+#178 := (iff #162 #177)
+#175 := (iff #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#166 := (= #150 #165)
+#121 := (iff #28 #120)
+#118 := (iff #27 #117)
+#108 := (iff #24 #107)
+#109 := [rewrite]: #108
+#115 := (iff #26 #114)
+#116 := [rewrite]: #115
+#119 := [monotonicity #116 #109]: #118
+#111 := (iff #25 #110)
+#104 := (iff #23 #103)
+#105 := [rewrite]: #104
+#112 := [monotonicity #105 #109]: #111
+#122 := [monotonicity #112 #119]: #121
+#167 := [monotonicity #122]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [quant-intro #176]: #178
+#163 := (iff #46 #162)
+#160 := (iff #45 #159)
+#157 := (= #44 #156)
+#154 := (= #43 #153)
+#151 := (= #42 #150)
+#148 := (= #41 #145)
+#142 := (- #139)
+#146 := (= #142 #145)
+#147 := [rewrite]: #146
+#143 := (= #41 #142)
+#140 := (= #40 #139)
+#85 := (= #31 #84)
+#86 := [rewrite]: #85
+#82 := (= #30 #81)
+#83 := [rewrite]: #82
+#141 := [monotonicity #83 #86]: #140
+#144 := [monotonicity #141]: #143
+#149 := [trans #144 #147]: #148
+#152 := [monotonicity #149]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#181 := [trans #164 #179]: #180
+#138 := [asserted]: #46
+#182 := [mp #138 #181]: #177
+#185 := [mp~ #182 #189]: #177
+#233 := [mp #185 #232]: #230
+#264 := [mp #233 #263]: #261
+#752 := [mp #264 #751]: #747
+#705 := (not #747)
+#694 := (or #705 #421)
+#402 := (* -1::Int 3::Int)
+#734 := (mod #401 #402)
+#735 := (+ #11 #734)
+#736 := (= #735 0::Int)
+#414 := (<= 3::Int 0::Int)
+#417 := (or #413 #414)
+#396 := (not #417)
+#415 := (or #403 #414)
+#416 := (not #415)
+#731 := (or #416 #396)
+#737 := (if #731 #727 #736)
+#732 := (if #411 #412 #737)
+#410 := (= #11 f6)
+#326 := (= 3::Int 0::Int)
+#738 := (if #326 #410 #732)
+#695 := (or #705 #738)
+#691 := (iff #695 #694)
+#697 := (iff #694 #694)
+#698 := [rewrite]: #697
+#704 := (iff #738 #421)
+#424 := (if false #410 #421)
+#418 := (iff #424 #421)
+#700 := [rewrite]: #418
+#702 := (iff #738 #424)
+#422 := (iff #732 #421)
+#707 := (iff #737 #710)
+#432 := (iff #736 #431)
+#708 := (= #735 #332)
+#437 := (= #734 #436)
+#713 := (= #402 -3::Int)
+#435 := [rewrite]: #713
+#438 := [monotonicity #435]: #437
+#709 := [monotonicity #438]: #708
+#706 := [monotonicity #709]: #432
+#723 := (iff #731 #725)
+#364 := (iff #396 #724)
+#359 := (iff #417 #413)
+#718 := (or #413 false)
+#715 := (iff #718 #413)
+#721 := [rewrite]: #715
+#719 := (iff #417 #718)
+#393 := (iff #414 false)
+#729 := [rewrite]: #393
+#720 := [monotonicity #729]: #719
+#722 := [trans #720 #721]: #359
+#365 := [monotonicity #722]: #364
+#716 := (iff #416 #380)
+#378 := (iff #415 #403)
+#389 := (or #403 false)
+#714 := (iff #389 #403)
+#377 := [rewrite]: #714
+#730 := (iff #415 #389)
+#373 := [monotonicity #729]: #730
+#379 := [trans #373 #377]: #378
+#717 := [monotonicity #379]: #716
+#726 := [monotonicity #717 #365]: #723
+#711 := [monotonicity #726 #706]: #707
+#423 := [monotonicity #711]: #422
+#728 := (iff #326 false)
+#388 := [rewrite]: #728
+#703 := [monotonicity #388 #423]: #702
+#701 := [trans #703 #700]: #704
+#692 := [monotonicity #701]: #691
+#693 := [trans #692 #698]: #691
+#696 := [quant-inst #8 #10]: #695
+#699 := [mp #696 #693]: #694
+#627 := [unit-resolution #699 #752]: #421
+#523 := (not #411)
+#564 := (not #421)
+#617 := (or #564 #523)
+#672 := (not #412)
+#540 := (<= #11 0::Int)
+#628 := (not #540)
+#665 := (or #628 #69)
+#666 := [th-lemma arith farkas 1 1]: #665
+#625 := [unit-resolution #666 #80]: #628
+#636 := (or #672 #540)
+#614 := [th-lemma arith triangle-eq]: #636
+#615 := [unit-resolution #614 #625]: #672
+#671 := (or #564 #523 #412)
+#573 := [def-axiom]: #671
+#618 := [unit-resolution #573 #615]: #617
+#619 := [unit-resolution #618 #627]: #523
+#668 := (or #564 #411 #710)
+#669 := [def-axiom]: #668
+#620 := [unit-resolution #669 #619 #627]: #710
+#519 := (not #710)
+#521 := (or #519 #687 #727)
+#522 := [def-axiom]: #521
+#616 := [unit-resolution #522 #620]: #621
+#622 := [unit-resolution #616 #626]: #687
+#542 := (or #725 #403)
+#684 := [def-axiom]: #542
+#608 := [unit-resolution #684 #622]: #403
+#685 := (or #725 #413)
+#686 := [def-axiom]: #685
+#604 := [unit-resolution #686 #622]: #413
+#605 := (or #411 #380 #724)
+#606 := [th-lemma arith triangle-eq]: #605
+#609 := [unit-resolution #606 #619]: #725
+[unit-resolution #609 #604 #608]: false
+unsat
+cbbba807c2c13814c06e13ca075bfb5d6e46a98c 320 0
 #2 := false
 #10 := 3::Int
 decl f6 :: Int
 #8 := f6
-#706 := (mod f6 3::Int)
-#625 := (>= #706 3::Int)
-#621 := (not #625)
-#1 := true
-#173 := [true-axiom]: true
-#607 := (or false #621)
-#608 := [th-lemma arith]: #607
-#609 := [unit-resolution #608 #173]: #621
+#743 := (mod f6 3::Int)
+#658 := (>= #743 3::Int)
+#663 := (not #658)
+#1 := true
+#66 := [true-axiom]: true
+#645 := (or false #663)
+#646 := [th-lemma arith]: #645
+#647 := [unit-resolution #646 #66]: #663
 #21 := 0::Int
 decl f3 :: (-> S2 Int Int)
 decl f4 :: (-> S3 Int S2)
@@ -41612,170 +38982,137 @@
 #7 := f5
 #9 := (f4 f5 f6)
 #11 := (f3 #9 3::Int)
-#106 := -1::Int
-#601 := (* -1::Int #11)
-#602 := (+ f6 #601)
-#603 := (<= #602 0::Int)
-#599 := (= f6 #11)
+#92 := -1::Int
+#639 := (* -1::Int #11)
+#640 := (+ f6 #639)
+#641 := (<= #640 0::Int)
+#638 := (= f6 #11)
 #12 := (= #11 f6)
-#56 := (<= 3::Int f6)
-#57 := (not #56)
-#68 := (not #12)
-#69 := (or #68 #57)
-#74 := (not #69)
+#78 := (>= f6 3::Int)
+#76 := (not #78)
+#69 := (not #12)
+#80 := (or #69 #76)
+#83 := (not #80)
 #13 := (< f6 3::Int)
 #14 := (implies #12 #13)
 #15 := (not #14)
-#75 := (iff #15 #74)
-#72 := (iff #14 #69)
-#65 := (implies #12 #57)
-#70 := (iff #65 #69)
-#71 := [rewrite]: #70
-#66 := (iff #14 #65)
-#58 := (iff #13 #57)
-#62 := (iff #57 #57)
-#60 := (iff #56 #56)
-#61 := [rewrite]: #60
-#63 := [monotonicity #61]: #62
-#59 := [rewrite]: #58
-#64 := [trans #59 #63]: #58
-#67 := [monotonicity #64]: #66
-#73 := [trans #67 #71]: #72
-#76 := [monotonicity #73]: #75
-#50 := [asserted]: #15
-#77 := [mp #50 #76]: #74
-#78 := [not-or-elim #77]: #12
-#610 := [symm #78]: #599
-#600 := (not #599)
-#611 := (or #600 #603)
-#589 := [th-lemma arith triangle-eq]: #611
-#590 := [unit-resolution #589 #610]: #603
-#217 := (>= f6 3::Int)
-#175 := (iff #56 #217)
-#218 := [rewrite]: #175
-#79 := [not-or-elim #77]: #56
-#219 := [mp #79 #218]: #217
-#708 := (* -1::Int #706)
-#365 := (+ #11 #708)
-#662 := (<= #365 0::Int)
-#495 := (= #365 0::Int)
-#701 := -3::Int
-#702 := (* -1::Int f6)
-#410 := (mod #702 -3::Int)
-#413 := (+ #11 #410)
-#684 := (= #413 0::Int)
-#391 := (>= f6 0::Int)
-#697 := (not #391)
-#387 := (<= f6 0::Int)
-#354 := (not #387)
-#340 := (or #354 #697)
-#681 := (if #340 #495 #684)
-#386 := (= #11 0::Int)
-#385 := (= f6 0::Int)
-#686 := (if #385 #386 #681)
+#86 := (iff #15 #83)
+#70 := (or #69 #13)
+#73 := (not #70)
+#84 := (iff #73 #83)
+#81 := (iff #70 #80)
+#77 := (iff #13 #76)
+#79 := [rewrite]: #77
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#74 := (iff #15 #73)
+#71 := (iff #14 #70)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#87 := [trans #75 #85]: #86
+#68 := [asserted]: #15
+#88 := [mp #68 #87]: #83
+#89 := [not-or-elim #88]: #12
+#637 := [symm #89]: #638
+#648 := (not #638)
+#626 := (or #648 #641)
+#627 := [th-lemma arith triangle-eq]: #626
+#629 := [unit-resolution #627 #637]: #641
+#90 := [not-or-elim #88]: #78
+#745 := (* -1::Int #743)
+#402 := (+ #11 #745)
+#699 := (<= #402 0::Int)
+#532 := (= #402 0::Int)
+#738 := -3::Int
+#739 := (* -1::Int f6)
+#447 := (mod #739 -3::Int)
+#450 := (+ #11 #447)
+#721 := (= #450 0::Int)
+#428 := (>= f6 0::Int)
+#734 := (not #428)
+#424 := (<= f6 0::Int)
+#391 := (not #424)
+#377 := (or #391 #734)
+#718 := (if #377 #532 #721)
+#423 := (= #11 0::Int)
+#422 := (= f6 0::Int)
+#723 := (if #422 #423 #718)
 #19 := (:var 0 Int)
 #17 := (:var 1 Int)
 #39 := (f4 f5 #17)
 #40 := (f3 #39 #19)
-#721 := (pattern #40)
-#110 := (* -1::Int #19)
-#107 := (* -1::Int #17)
-#129 := (mod #107 #110)
-#289 := (+ #40 #129)
-#290 := (= #289 0::Int)
+#758 := (pattern #40)
+#96 := (* -1::Int #19)
+#93 := (* -1::Int #17)
+#151 := (mod #93 #96)
+#266 := (+ #40 #151)
+#267 := (= #266 0::Int)
 #41 := (mod #17 #19)
-#286 := (* -1::Int #41)
-#287 := (+ #40 #286)
-#288 := (= #287 0::Int)
-#84 := (<= #19 0::Int)
-#176 := (>= #17 0::Int)
-#233 := (or #176 #84)
-#234 := (not #233)
-#80 := (<= #17 0::Int)
-#231 := (or #80 #84)
-#232 := (not #231)
-#237 := (or #232 #234)
-#291 := (if #237 #288 #290)
-#285 := (= #40 0::Int)
+#263 := (* -1::Int #41)
+#264 := (+ #40 #263)
+#265 := (= #264 0::Int)
+#118 := (<= #19 0::Int)
+#125 := (>= #17 0::Int)
+#210 := (or #125 #118)
+#211 := (not #210)
+#114 := (<= #17 0::Int)
+#196 := (or #114 #118)
+#197 := (not #196)
+#214 := (or #197 #211)
+#268 := (if #214 #265 #267)
+#262 := (= #40 0::Int)
 #22 := (= #17 0::Int)
-#292 := (if #22 #285 #291)
-#284 := (= #40 #17)
+#269 := (if #22 #262 #268)
+#261 := (= #40 #17)
 #23 := (= #19 0::Int)
-#293 := (if #23 #284 #292)
-#722 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #721) #293)
-#296 := (forall (vars (?v0 Int) (?v1 Int)) #293)
-#725 := (iff #296 #722)
-#723 := (iff #293 #293)
-#724 := [refl]: #723
-#726 := [quant-intro #724]: #725
-#135 := (* -1::Int #129)
-#253 := (if #237 #41 #135)
-#256 := (if #22 0::Int #253)
-#259 := (if #23 #17 #256)
-#262 := (= #40 #259)
-#265 := (forall (vars (?v0 Int) (?v1 Int)) #262)
-#297 := (iff #265 #296)
-#294 := (iff #262 #293)
-#295 := [rewrite]: #294
-#298 := [quant-intro #295]: #297
-#85 := (not #84)
-#179 := (not #176)
-#182 := (and #179 #85)
-#81 := (not #80)
-#88 := (and #81 #85)
-#185 := (or #88 #182)
-#201 := (if #185 #41 #135)
-#204 := (if #22 0::Int #201)
-#207 := (if #23 #17 #204)
-#210 := (= #40 #207)
-#213 := (forall (vars (?v0 Int) (?v1 Int)) #210)
-#266 := (iff #213 #265)
-#263 := (iff #210 #262)
-#260 := (= #207 #259)
-#257 := (= #204 #256)
-#254 := (= #201 #253)
-#238 := (iff #185 #237)
-#235 := (iff #182 #234)
-#236 := [rewrite]: #235
-#229 := (iff #88 #232)
-#230 := [rewrite]: #229
-#239 := [monotonicity #230 #236]: #238
-#255 := [monotonicity #239]: #254
-#258 := [monotonicity #255]: #257
-#261 := [monotonicity #258]: #260
-#264 := [monotonicity #261]: #263
-#267 := [quant-intro #264]: #266
-#226 := (~ #213 #213)
-#228 := (~ #210 #210)
-#225 := [refl]: #228
-#221 := [nnf-pos #225]: #226
-#91 := (<= 0::Int #17)
-#92 := (not #91)
-#100 := (and #92 #85)
-#103 := (or #88 #100)
-#140 := (if #103 #41 #135)
-#143 := (if #22 0::Int #140)
-#146 := (if #23 #17 #143)
-#149 := (= #40 #146)
-#152 := (forall (vars (?v0 Int) (?v1 Int)) #149)
-#214 := (iff #152 #213)
-#211 := (iff #149 #210)
-#208 := (= #146 #207)
-#205 := (= #143 #204)
-#202 := (= #140 #201)
-#186 := (iff #103 #185)
-#183 := (iff #100 #182)
-#180 := (iff #92 #179)
-#177 := (iff #91 #176)
-#178 := [rewrite]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#203 := [monotonicity #187]: #202
-#206 := [monotonicity #203]: #205
-#209 := [monotonicity #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [quant-intro #212]: #214
+#270 := (if #23 #261 #269)
+#759 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #758) #270)
+#273 := (forall (vars (?v0 Int) (?v1 Int)) #270)
+#762 := (iff #273 #759)
+#760 := (iff #270 #270)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#157 := (* -1::Int #151)
+#230 := (if #214 #41 #157)
+#233 := (if #22 0::Int #230)
+#236 := (if #23 #17 #233)
+#239 := (= #40 #236)
+#242 := (forall (vars (?v0 Int) (?v1 Int)) #239)
+#274 := (iff #242 #273)
+#271 := (iff #239 #270)
+#272 := [rewrite]: #271
+#275 := [quant-intro #272]: #274
+#119 := (not #118)
+#126 := (not #125)
+#129 := (and #126 #119)
+#115 := (not #114)
+#122 := (and #115 #119)
+#132 := (or #122 #129)
+#177 := (if #132 #41 #157)
+#180 := (if #22 0::Int #177)
+#183 := (if #23 #17 #180)
+#186 := (= #40 #183)
+#189 := (forall (vars (?v0 Int) (?v1 Int)) #186)
+#243 := (iff #189 #242)
+#240 := (iff #186 #239)
+#237 := (= #183 #236)
+#234 := (= #180 #233)
+#231 := (= #177 #230)
+#215 := (iff #132 #214)
+#212 := (iff #129 #211)
+#213 := [rewrite]: #212
+#204 := (iff #122 #197)
+#205 := [rewrite]: #204
+#216 := [monotonicity #205 #213]: #215
+#232 := [monotonicity #216]: #231
+#235 := [monotonicity #232]: #234
+#238 := [monotonicity #235]: #237
+#241 := [monotonicity #238]: #240
+#244 := [quant-intro #241]: #243
+#202 := (~ #189 #189)
+#201 := (~ #186 #186)
+#198 := [refl]: #201
+#203 := [nnf-pos #198]: #202
 #33 := (- #19)
 #32 := (- #17)
 #42 := (mod #32 #33)
@@ -41791,152 +39128,162 @@
 #46 := (if #23 #17 #45)
 #47 := (= #40 #46)
 #48 := (forall (vars (?v0 Int) (?v1 Int)) #47)
-#153 := (iff #48 #152)
-#150 := (iff #47 #149)
-#147 := (= #46 #146)
-#144 := (= #45 #143)
-#141 := (= #44 #140)
-#138 := (= #43 #135)
-#132 := (- #129)
-#136 := (= #132 #135)
-#137 := [rewrite]: #136
-#133 := (= #43 #132)
-#130 := (= #42 #129)
-#111 := (= #33 #110)
-#112 := [rewrite]: #111
-#108 := (= #32 #107)
-#109 := [rewrite]: #108
-#131 := [monotonicity #109 #112]: #130
-#134 := [monotonicity #131]: #133
-#139 := [trans #134 #137]: #138
-#104 := (iff #30 #103)
-#101 := (iff #29 #100)
-#86 := (iff #26 #85)
-#87 := [rewrite]: #86
-#93 := (iff #28 #92)
-#97 := (iff #92 #92)
-#95 := (iff #91 #91)
-#96 := [rewrite]: #95
-#98 := [monotonicity #96]: #97
-#94 := [rewrite]: #93
-#99 := [trans #94 #98]: #93
-#102 := [monotonicity #99 #87]: #101
-#89 := (iff #27 #88)
-#82 := (iff #25 #81)
-#83 := [rewrite]: #82
-#90 := [monotonicity #83 #87]: #89
-#105 := [monotonicity #90 #102]: #104
-#142 := [monotonicity #105 #139]: #141
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#151 := [monotonicity #148]: #150
-#154 := [quant-intro #151]: #153
-#52 := [asserted]: #48
-#155 := [mp #52 #154]: #152
-#216 := [mp #155 #215]: #213
-#222 := [mp~ #216 #221]: #213
-#268 := [mp #222 #267]: #265
-#299 := [mp #268 #298]: #296
-#727 := [mp #299 #726]: #722
-#676 := (not #722)
-#680 := (or #676 #686)
-#376 := (* -1::Int 3::Int)
-#377 := (mod #702 #376)
-#709 := (+ #11 #377)
-#710 := (= #709 0::Int)
-#378 := (<= 3::Int 0::Int)
-#388 := (or #391 #378)
-#392 := (not #388)
-#389 := (or #387 #378)
-#390 := (not #389)
-#371 := (or #390 #392)
-#711 := (if #371 #495 #710)
-#712 := (if #385 #386 #711)
-#300 := (= 3::Int 0::Int)
-#707 := (if #300 #12 #712)
-#669 := (or #676 #707)
-#671 := (iff #669 #680)
-#667 := (iff #680 #680)
-#672 := [rewrite]: #667
-#675 := (iff #707 #686)
-#398 := (if false #12 #686)
-#678 := (iff #398 #686)
-#393 := [rewrite]: #678
-#399 := (iff #707 #398)
-#396 := (iff #712 #686)
-#685 := (iff #711 #681)
-#406 := (iff #710 #684)
-#306 := (= #709 #413)
-#411 := (= #377 #410)
-#687 := (= #376 -3::Int)
-#688 := [rewrite]: #687
-#412 := [monotonicity #688]: #411
-#683 := [monotonicity #412]: #306
-#407 := [monotonicity #683]: #406
-#700 := (iff #371 #340)
-#699 := (iff #392 #697)
-#696 := (iff #388 #391)
-#692 := (or #391 false)
-#695 := (iff #692 #391)
-#690 := [rewrite]: #695
-#693 := (iff #388 #692)
-#363 := (iff #378 false)
-#368 := [rewrite]: #363
-#694 := [monotonicity #368]: #693
-#334 := [trans #694 #690]: #696
-#339 := [monotonicity #334]: #699
-#355 := (iff #390 #354)
-#352 := (iff #389 #387)
-#704 := (or #387 false)
-#348 := (iff #704 #387)
-#689 := [rewrite]: #348
-#364 := (iff #389 #704)
-#705 := [monotonicity #368]: #364
-#353 := [trans #705 #689]: #352
-#691 := [monotonicity #353]: #355
-#698 := [monotonicity #691 #339]: #700
-#682 := [monotonicity #698 #407]: #685
-#397 := [monotonicity #682]: #396
-#713 := (iff #300 false)
-#703 := [rewrite]: #713
-#677 := [monotonicity #703 #397]: #399
-#679 := [trans #677 #393]: #675
-#666 := [monotonicity #679]: #671
-#673 := [trans #666 #672]: #671
-#670 := [quant-inst #8 #10]: #669
-#668 := [mp #670 #673]: #680
-#592 := [unit-resolution #668 #727]: #686
-#655 := (not #686)
-#579 := (or #655 #681)
-#537 := (not #385)
-#593 := (not #217)
-#594 := (or #354 #593)
-#595 := [th-lemma arith farkas 1 1]: #594
-#596 := [unit-resolution #595 #219]: #354
-#591 := (or #537 #387)
-#597 := [th-lemma arith triangle-eq]: #591
-#583 := [unit-resolution #597 #596]: #537
-#498 := (or #655 #385 #681)
-#646 := [def-axiom]: #498
-#580 := [unit-resolution #646 #583]: #579
-#581 := [unit-resolution #580 #592]: #681
-#664 := (not #681)
-#585 := (or #664 #495)
-#674 := (or #340 #387)
-#515 := [def-axiom]: #674
-#584 := [unit-resolution #515 #596]: #340
-#659 := (not #340)
-#658 := (or #664 #659 #495)
-#665 := [def-axiom]: #658
-#586 := [unit-resolution #665 #584]: #585
-#587 := [unit-resolution #586 #581]: #495
-#497 := (not #495)
-#582 := (or #497 #662)
-#588 := [th-lemma arith triangle-eq]: #582
-#561 := [unit-resolution #588 #587]: #662
-[th-lemma arith farkas 1 -1 1 1 #561 #219 #590 #609]: false
-84faad2fa160ef59638bbef257c0b4c92bf64f96 569 0
-unsat
+#192 := (iff #48 #189)
+#162 := (if #30 #41 #157)
+#165 := (if #22 0::Int #162)
+#168 := (if #23 #17 #165)
+#171 := (= #40 #168)
+#174 := (forall (vars (?v0 Int) (?v1 Int)) #171)
+#190 := (iff #174 #189)
+#187 := (iff #171 #186)
+#184 := (= #168 #183)
+#181 := (= #165 #180)
+#178 := (= #162 #177)
+#133 := (iff #30 #132)
+#130 := (iff #29 #129)
+#120 := (iff #26 #119)
+#121 := [rewrite]: #120
+#127 := (iff #28 #126)
+#128 := [rewrite]: #127
+#131 := [monotonicity #128 #121]: #130
+#123 := (iff #27 #122)
+#116 := (iff #25 #115)
+#117 := [rewrite]: #116
+#124 := [monotonicity #117 #121]: #123
+#134 := [monotonicity #124 #131]: #133
+#179 := [monotonicity #134]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#175 := (iff #48 #174)
+#172 := (iff #47 #171)
+#169 := (= #46 #168)
+#166 := (= #45 #165)
+#163 := (= #44 #162)
+#160 := (= #43 #157)
+#154 := (- #151)
+#158 := (= #154 #157)
+#159 := [rewrite]: #158
+#155 := (= #43 #154)
+#152 := (= #42 #151)
+#97 := (= #33 #96)
+#98 := [rewrite]: #97
+#94 := (= #32 #93)
+#95 := [rewrite]: #94
+#153 := [monotonicity #95 #98]: #152
+#156 := [monotonicity #153]: #155
+#161 := [trans #156 #159]: #160
+#164 := [monotonicity #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#193 := [trans #176 #191]: #192
+#150 := [asserted]: #48
+#194 := [mp #150 #193]: #189
+#199 := [mp~ #194 #203]: #189
+#245 := [mp #199 #244]: #242
+#276 := [mp #245 #275]: #273
+#764 := [mp #276 #763]: #759
+#713 := (not #759)
+#717 := (or #713 #723)
+#413 := (* -1::Int 3::Int)
+#414 := (mod #739 #413)
+#746 := (+ #11 #414)
+#747 := (= #746 0::Int)
+#415 := (<= 3::Int 0::Int)
+#425 := (or #428 #415)
+#429 := (not #425)
+#426 := (or #424 #415)
+#427 := (not #426)
+#408 := (or #427 #429)
+#748 := (if #408 #532 #747)
+#749 := (if #422 #423 #748)
+#338 := (= 3::Int 0::Int)
+#744 := (if #338 #12 #749)
+#706 := (or #713 #744)
+#708 := (iff #706 #717)
+#704 := (iff #717 #717)
+#709 := [rewrite]: #704
+#712 := (iff #744 #723)
+#435 := (if false #12 #723)
+#715 := (iff #435 #723)
+#430 := [rewrite]: #715
+#436 := (iff #744 #435)
+#433 := (iff #749 #723)
+#722 := (iff #748 #718)
+#443 := (iff #747 #721)
+#344 := (= #746 #450)
+#448 := (= #414 #447)
+#724 := (= #413 -3::Int)
+#725 := [rewrite]: #724
+#449 := [monotonicity #725]: #448
+#720 := [monotonicity #449]: #344
+#444 := [monotonicity #720]: #443
+#737 := (iff #408 #377)
+#736 := (iff #429 #734)
+#733 := (iff #425 #428)
+#729 := (or #428 false)
+#732 := (iff #729 #428)
+#727 := [rewrite]: #732
+#730 := (iff #425 #729)
+#400 := (iff #415 false)
+#405 := [rewrite]: #400
+#731 := [monotonicity #405]: #730
+#371 := [trans #731 #727]: #733
+#376 := [monotonicity #371]: #736
+#392 := (iff #427 #391)
+#389 := (iff #426 #424)
+#741 := (or #424 false)
+#385 := (iff #741 #424)
+#726 := [rewrite]: #385
+#401 := (iff #426 #741)
+#742 := [monotonicity #405]: #401
+#390 := [trans #742 #726]: #389
+#728 := [monotonicity #390]: #392
+#735 := [monotonicity #728 #376]: #737
+#719 := [monotonicity #735 #444]: #722
+#434 := [monotonicity #719]: #433
+#750 := (iff #338 false)
+#740 := [rewrite]: #750
+#714 := [monotonicity #740 #434]: #436
+#716 := [trans #714 #430]: #712
+#703 := [monotonicity #716]: #708
+#710 := [trans #703 #709]: #708
+#707 := [quant-inst #8 #10]: #706
+#705 := [mp #707 #710]: #717
+#630 := [unit-resolution #705 #764]: #723
+#692 := (not #723)
+#616 := (or #692 #718)
+#574 := (not #422)
+#631 := (or #391 #76)
+#632 := [th-lemma arith farkas 1 1]: #631
+#633 := [unit-resolution #632 #90]: #391
+#628 := (or #574 #424)
+#634 := [th-lemma arith triangle-eq]: #628
+#620 := [unit-resolution #634 #633]: #574
+#535 := (or #692 #422 #718)
+#683 := [def-axiom]: #535
+#617 := [unit-resolution #683 #620]: #616
+#618 := [unit-resolution #617 #630]: #718
+#701 := (not #718)
+#622 := (or #701 #532)
+#711 := (or #377 #424)
+#552 := [def-axiom]: #711
+#621 := [unit-resolution #552 #633]: #377
+#696 := (not #377)
+#695 := (or #701 #696 #532)
+#702 := [def-axiom]: #695
+#623 := [unit-resolution #702 #621]: #622
+#624 := [unit-resolution #623 #618]: #532
+#534 := (not #532)
+#619 := (or #534 #699)
+#625 := [th-lemma arith triangle-eq]: #619
+#598 := [unit-resolution #625 #624]: #699
+[th-lemma arith farkas 1 -1 1 1 #598 #90 #629 #647]: false
+unsat
+2f21051636feadbefcb468a259b1c1e30b5de4ad 556 0
 #2 := false
 #23 := 0::Int
 decl f4 :: (-> S2 Int Int)
@@ -41948,136 +39295,110 @@
 #13 := f7
 #14 := (f5 f7 f3)
 #15 := (f4 #14 1::Int)
-#96 := -1::Int
-#167 := (* -1::Int #15)
+#82 := -1::Int
+#84 := (* -1::Int #15)
 decl f6 :: S3
 #8 := f6
 #9 := (f5 f6 f3)
 #11 := (f4 #9 1::Int)
-#166 := (* -1::Int #11)
-#168 := (+ f3 #166 #167)
-#380 := (>= #168 0::Int)
-#576 := (<= #15 0::Int)
-#640 := (= #15 0::Int)
-#381 := (= f3 0::Int)
-#527 := (not #381)
-#558 := (not #640)
-#499 := [hypothesis]: #558
-#535 := (or #527 #640)
-#704 := (* -1::Int f3)
-#645 := (mod #704 -1::Int)
-#612 := (+ #15 #645)
-#593 := (= #612 0::Int)
-#366 := (>= f3 0::Int)
-#406 := (not #366)
-#385 := (<= f3 0::Int)
-#692 := (not #385)
-#302 := (or #692 #406)
-#597 := (if #302 #640 #593)
-#600 := (if #381 #640 #597)
+#83 := (* -1::Int #11)
+#85 := (+ #83 #84)
+#86 := (+ f3 #85)
+#426 := (>= #86 0::Int)
+#622 := (<= #15 0::Int)
+#686 := (= #15 0::Int)
+#427 := (= f3 0::Int)
+#573 := (not #427)
+#604 := (not #686)
+#545 := [hypothesis]: #604
+#581 := (or #573 #686)
+#750 := (* -1::Int f3)
+#691 := (mod #750 -1::Int)
+#658 := (+ #15 #691)
+#639 := (= #658 0::Int)
+#412 := (>= f3 0::Int)
+#452 := (not #412)
+#431 := (<= f3 0::Int)
+#738 := (not #431)
+#348 := (or #738 #452)
+#643 := (if #348 #686 #639)
+#646 := (if #427 #686 #643)
 #21 := (:var 0 Int)
 #19 := (:var 1 Int)
 #41 := (f5 f7 #19)
 #42 := (f4 #41 #21)
-#716 := (pattern #42)
+#762 := (pattern #42)
 #100 := (* -1::Int #21)
 #97 := (* -1::Int #19)
-#119 := (mod #97 #100)
-#285 := (+ #42 #119)
-#286 := (= #285 0::Int)
+#155 := (mod #97 #100)
+#270 := (+ #42 #155)
+#271 := (= #270 0::Int)
 #43 := (mod #19 #21)
-#282 := (* -1::Int #43)
-#283 := (+ #42 #282)
-#284 := (= #283 0::Int)
-#74 := (<= #21 0::Int)
-#176 := (>= #19 0::Int)
-#229 := (or #176 #74)
-#230 := (not #229)
-#70 := (<= #19 0::Int)
-#225 := (or #70 #74)
-#226 := (not #225)
-#233 := (or #226 #230)
-#287 := (if #233 #284 #286)
-#281 := (= #42 0::Int)
+#267 := (* -1::Int #43)
+#268 := (+ #42 #267)
+#269 := (= #268 0::Int)
+#122 := (<= #21 0::Int)
+#129 := (>= #19 0::Int)
+#214 := (or #129 #122)
+#215 := (not #214)
+#118 := (<= #19 0::Int)
+#212 := (or #118 #122)
+#213 := (not #212)
+#218 := (or #213 #215)
+#272 := (if #218 #269 #271)
+#266 := (= #42 0::Int)
 #24 := (= #19 0::Int)
-#288 := (if #24 #281 #287)
-#280 := (= #42 #19)
+#273 := (if #24 #266 #272)
+#265 := (= #42 #19)
 #25 := (= #21 0::Int)
-#289 := (if #25 #280 #288)
-#717 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #716) #289)
-#292 := (forall (vars (?v0 Int) (?v1 Int)) #289)
-#720 := (iff #292 #717)
-#718 := (iff #289 #289)
-#719 := [refl]: #718
-#721 := [quant-intro #719]: #720
-#125 := (* -1::Int #119)
-#249 := (if #233 #43 #125)
-#252 := (if #24 0::Int #249)
-#255 := (if #25 #19 #252)
-#258 := (= #42 #255)
-#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
-#293 := (iff #261 #292)
-#290 := (iff #258 #289)
-#291 := [rewrite]: #290
-#294 := [quant-intro #291]: #293
-#75 := (not #74)
-#179 := (not #176)
-#182 := (and #179 #75)
-#71 := (not #70)
-#78 := (and #71 #75)
-#185 := (or #78 #182)
-#201 := (if #185 #43 #125)
-#204 := (if #24 0::Int #201)
-#207 := (if #25 #19 #204)
-#210 := (= #42 #207)
-#213 := (forall (vars (?v0 Int) (?v1 Int)) #210)
-#262 := (iff #213 #261)
-#259 := (iff #210 #258)
-#256 := (= #207 #255)
-#253 := (= #204 #252)
-#250 := (= #201 #249)
-#234 := (iff #185 #233)
-#231 := (iff #182 #230)
-#232 := [rewrite]: #231
-#227 := (iff #78 #226)
-#228 := [rewrite]: #227
-#235 := [monotonicity #228 #232]: #234
-#251 := [monotonicity #235]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [monotonicity #257]: #259
-#263 := [quant-intro #260]: #262
-#165 := (~ #213 #213)
-#218 := (~ #210 #210)
-#164 := [refl]: #218
-#223 := [nnf-pos #164]: #165
-#81 := (<= 0::Int #19)
-#82 := (not #81)
-#90 := (and #82 #75)
-#93 := (or #78 #90)
-#130 := (if #93 #43 #125)
-#133 := (if #24 0::Int #130)
-#136 := (if #25 #19 #133)
-#139 := (= #42 #136)
-#142 := (forall (vars (?v0 Int) (?v1 Int)) #139)
-#214 := (iff #142 #213)
-#211 := (iff #139 #210)
-#208 := (= #136 #207)
-#205 := (= #133 #204)
-#202 := (= #130 #201)
-#186 := (iff #93 #185)
-#183 := (iff #90 #182)
-#180 := (iff #82 #179)
-#177 := (iff #81 #176)
-#178 := [rewrite]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#203 := [monotonicity #187]: #202
-#206 := [monotonicity #203]: #205
-#209 := [monotonicity #206]: #208
-#212 := [monotonicity #209]: #211
-#215 := [quant-intro #212]: #214
+#274 := (if #25 #265 #273)
+#763 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #762) #274)
+#277 := (forall (vars (?v0 Int) (?v1 Int)) #274)
+#766 := (iff #277 #763)
+#764 := (iff #274 #274)
+#765 := [refl]: #764
+#767 := [quant-intro #765]: #766
+#161 := (* -1::Int #155)
+#234 := (if #218 #43 #161)
+#237 := (if #24 0::Int #234)
+#240 := (if #25 #19 #237)
+#243 := (= #42 #240)
+#246 := (forall (vars (?v0 Int) (?v1 Int)) #243)
+#278 := (iff #246 #277)
+#275 := (iff #243 #274)
+#276 := [rewrite]: #275
+#279 := [quant-intro #276]: #278
+#123 := (not #122)
+#130 := (not #129)
+#133 := (and #130 #123)
+#119 := (not #118)
+#126 := (and #119 #123)
+#136 := (or #126 #133)
+#181 := (if #136 #43 #161)
+#184 := (if #24 0::Int #181)
+#187 := (if #25 #19 #184)
+#190 := (= #42 #187)
+#193 := (forall (vars (?v0 Int) (?v1 Int)) #190)
+#247 := (iff #193 #246)
+#244 := (iff #190 #243)
+#241 := (= #187 #240)
+#238 := (= #184 #237)
+#235 := (= #181 #234)
+#219 := (iff #136 #218)
+#216 := (iff #133 #215)
+#217 := [rewrite]: #216
+#206 := (iff #126 #213)
+#207 := [rewrite]: #206
+#220 := [monotonicity #207 #217]: #219
+#236 := [monotonicity #220]: #235
+#239 := [monotonicity #236]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [quant-intro #245]: #247
+#204 := (~ #193 #193)
+#203 := (~ #190 #190)
+#200 := [refl]: #203
+#205 := [nnf-pos #200]: #204
 #35 := (- #21)
 #34 := (- #19)
 #44 := (mod #34 #35)
@@ -42093,420 +39414,433 @@
 #48 := (if #25 #19 #47)
 #49 := (= #42 #48)
 #50 := (forall (vars (?v0 Int) (?v1 Int)) #49)
-#143 := (iff #50 #142)
-#140 := (iff #49 #139)
-#137 := (= #48 #136)
-#134 := (= #47 #133)
-#131 := (= #46 #130)
-#128 := (= #45 #125)
-#122 := (- #119)
-#126 := (= #122 #125)
-#127 := [rewrite]: #126
-#123 := (= #45 #122)
-#120 := (= #44 #119)
+#196 := (iff #50 #193)
+#166 := (if #32 #43 #161)
+#169 := (if #24 0::Int #166)
+#172 := (if #25 #19 #169)
+#175 := (= #42 #172)
+#178 := (forall (vars (?v0 Int) (?v1 Int)) #175)
+#194 := (iff #178 #193)
+#191 := (iff #175 #190)
+#188 := (= #172 #187)
+#185 := (= #169 #184)
+#182 := (= #166 #181)
+#137 := (iff #32 #136)
+#134 := (iff #31 #133)
+#124 := (iff #28 #123)
+#125 := [rewrite]: #124
+#131 := (iff #30 #130)
+#132 := [rewrite]: #131
+#135 := [monotonicity #132 #125]: #134
+#127 := (iff #29 #126)
+#120 := (iff #27 #119)
+#121 := [rewrite]: #120
+#128 := [monotonicity #121 #125]: #127
+#138 := [monotonicity #128 #135]: #137
+#183 := [monotonicity #138]: #182
+#186 := [monotonicity #183]: #185
+#189 := [monotonicity #186]: #188
+#192 := [monotonicity #189]: #191
+#195 := [quant-intro #192]: #194
+#179 := (iff #50 #178)
+#176 := (iff #49 #175)
+#173 := (= #48 #172)
+#170 := (= #47 #169)
+#167 := (= #46 #166)
+#164 := (= #45 #161)
+#158 := (- #155)
+#162 := (= #158 #161)
+#163 := [rewrite]: #162
+#159 := (= #45 #158)
+#156 := (= #44 #155)
 #101 := (= #35 #100)
 #102 := [rewrite]: #101
 #98 := (= #34 #97)
 #99 := [rewrite]: #98
-#121 := [monotonicity #99 #102]: #120
-#124 := [monotonicity #121]: #123
-#129 := [trans #124 #127]: #128
-#94 := (iff #32 #93)
-#91 := (iff #31 #90)
-#76 := (iff #28 #75)
-#77 := [rewrite]: #76
-#83 := (iff #30 #82)
-#87 := (iff #82 #82)
-#85 := (iff #81 #81)
-#86 := [rewrite]: #85
-#88 := [monotonicity #86]: #87
-#84 := [rewrite]: #83
-#89 := [trans #84 #88]: #83
-#92 := [monotonicity #89 #77]: #91
-#79 := (iff #29 #78)
-#72 := (iff #27 #71)
-#73 := [rewrite]: #72
-#80 := [monotonicity #73 #77]: #79
-#95 := [monotonicity #80 #92]: #94
-#132 := [monotonicity #95 #129]: #131
-#135 := [monotonicity #132]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#144 := [quant-intro #141]: #143
-#54 := [asserted]: #50
-#145 := [mp #54 #144]: #142
-#216 := [mp #145 #215]: #213
-#224 := [mp~ #216 #223]: #213
-#264 := [mp #224 #263]: #261
-#295 := [mp #264 #294]: #292
-#722 := [mp #295 #721]: #717
-#587 := (not #717)
-#588 := (or #587 #600)
-#705 := (* -1::Int 1::Int)
-#625 := (mod #704 #705)
-#622 := (+ #15 #625)
-#624 := (= #622 0::Int)
-#489 := (mod f3 1::Int)
-#644 := (* -1::Int #489)
-#631 := (+ #15 #644)
-#633 := (= #631 0::Int)
-#386 := (<= 1::Int 0::Int)
-#701 := (or #366 #386)
-#703 := (not #701)
-#383 := (or #385 #386)
-#387 := (not #383)
-#360 := (or #387 #703)
-#634 := (if #360 #633 #624)
-#635 := (if #381 #640 #634)
-#643 := (= #15 f3)
-#382 := (= 1::Int 0::Int)
-#636 := (if #382 #643 #635)
-#589 := (or #587 #636)
-#591 := (iff #589 #588)
-#592 := (iff #588 #588)
-#578 := [rewrite]: #592
-#584 := (iff #636 #600)
-#603 := (if false #643 #600)
-#595 := (iff #603 #600)
-#606 := [rewrite]: #595
-#604 := (iff #636 #603)
-#601 := (iff #635 #600)
-#598 := (iff #634 #597)
-#594 := (iff #624 #593)
-#609 := (= #622 #612)
-#610 := (= #625 #645)
-#401 := (= #705 -1::Int)
-#402 := [rewrite]: #401
-#611 := [monotonicity #402]: #610
-#613 := [monotonicity #611]: #609
-#596 := [monotonicity #613]: #594
-#607 := (iff #633 #640)
-#616 := (= #631 #15)
-#615 := (+ #15 0::Int)
-#619 := (= #615 #15)
-#620 := [rewrite]: #619
-#617 := (= #631 #615)
-#630 := (= #644 0::Int)
-#626 := (* -1::Int 0::Int)
-#629 := (= #626 0::Int)
-#623 := [rewrite]: #629
-#627 := (= #644 #626)
-#632 := (= #489 0::Int)
-#637 := [rewrite]: #632
-#628 := [monotonicity #637]: #627
-#614 := [trans #628 #623]: #630
-#618 := [monotonicity #614]: #617
-#621 := [trans #618 #620]: #616
-#608 := [monotonicity #621]: #607
-#678 := (iff #360 #302)
-#407 := (iff #703 #406)
-#683 := (iff #701 #366)
-#335 := (or #366 false)
-#696 := (iff #335 #366)
-#682 := [rewrite]: #696
-#695 := (iff #701 #335)
-#350 := (iff #386 false)
-#686 := [rewrite]: #350
-#693 := [monotonicity #686]: #695
-#405 := [trans #693 #682]: #683
-#408 := [monotonicity #405]: #407
-#694 := (iff #387 #692)
-#691 := (iff #383 #385)
-#687 := (or #385 false)
-#690 := (iff #687 #385)
-#685 := [rewrite]: #690
-#688 := (iff #383 #687)
-#689 := [monotonicity #686]: #688
-#329 := [trans #689 #685]: #691
-#334 := [monotonicity #329]: #694
-#679 := [monotonicity #334 #408]: #678
-#599 := [monotonicity #679 #608 #596]: #598
-#602 := [monotonicity #599]: #601
-#363 := (iff #382 false)
-#699 := [rewrite]: #363
-#605 := [monotonicity #699 #602]: #604
-#585 := [trans #605 #606]: #584
-#586 := [monotonicity #585]: #591
-#574 := [trans #586 #578]: #591
-#590 := [quant-inst #7 #10]: #589
-#575 := [mp #590 #574]: #588
-#554 := [unit-resolution #575 #722]: #600
-#565 := (not #600)
-#566 := (or #565 #527 #640)
-#567 := [def-axiom]: #566
-#559 := [unit-resolution #567 #554]: #535
-#560 := [unit-resolution #559 #499]: #527
-#659 := (not #302)
-#555 := (or #381 #597)
-#570 := (or #565 #381 #597)
-#571 := [def-axiom]: #570
-#561 := [unit-resolution #571 #554]: #555
-#529 := [unit-resolution #561 #560]: #597
-#582 := (not #597)
-#577 := (or #582 #659 #640)
-#583 := [def-axiom]: #577
-#536 := [unit-resolution #583 #529 #499]: #659
-#657 := (or #302 #385)
-#651 := [def-axiom]: #657
-#495 := [unit-resolution #651 #536]: #385
-#652 := (or #302 #366)
-#658 := [def-axiom]: #652
-#526 := [unit-resolution #658 #536]: #366
-#528 := (or #381 #692 #406)
-#530 := [th-lemma arith triangle-eq]: #528
-#537 := [unit-resolution #530 #526 #495 #560]: false
-#539 := [lemma #537]: #640
-#450 := (or #558 #576)
-#452 := [th-lemma arith triangle-eq]: #450
-#453 := [unit-resolution #452 #539]: #576
-#655 := (<= #11 0::Int)
-#384 := (= #11 0::Int)
-#508 := [hypothesis]: #527
-#490 := (div f3 1::Int)
-#697 := (* -1::Int #490)
-#371 := (+ #11 #697)
-#372 := (= #371 0::Int)
-#534 := (not #372)
-#486 := (+ f3 #697)
-#500 := (>= #486 0::Int)
-#525 := (= #486 0::Int)
-#1 := true
-#163 := [true-axiom]: true
-#463 := (or false #525)
-#466 := [th-lemma arith]: #463
-#468 := [unit-resolution #466 #163]: #525
-#469 := (not #525)
-#465 := (or #469 #500)
-#470 := [th-lemma arith triangle-eq]: #465
-#460 := [unit-resolution #470 #468]: #500
-#491 := (<= #371 0::Int)
-#456 := [hypothesis]: #372
-#457 := (or #534 #491)
-#461 := [th-lemma arith triangle-eq]: #457
-#454 := [unit-resolution #461 #456]: #491
-#458 := (not #500)
-#455 := (not #491)
-#462 := (not #576)
-#459 := (or #380 #462 #455 #458)
-#445 := [th-lemma arith assign-bounds 1 1 -1]: #459
-#447 := [unit-resolution #445 #454 #453 #460]: #380
-#296 := (<= #168 0::Int)
-#498 := (<= #486 0::Int)
-#448 := (or #469 #498)
-#446 := [th-lemma arith triangle-eq]: #448
-#449 := [unit-resolution #446 #468]: #498
-#579 := (>= #15 0::Int)
-#431 := (or #558 #579)
-#433 := [th-lemma arith triangle-eq]: #431
-#434 := [unit-resolution #433 #539]: #579
-#492 := (>= #371 0::Int)
-#435 := (or #534 #492)
-#436 := [th-lemma arith triangle-eq]: #435
-#437 := [unit-resolution #436 #456]: #492
-#440 := (not #498)
-#439 := (not #492)
-#438 := (not #579)
-#441 := (or #296 #438 #439 #440)
-#442 := [th-lemma arith assign-bounds 1 1 -1]: #441
-#443 := [unit-resolution #442 #437 #434 #449]: #296
-#444 := (not #380)
-#432 := (not #296)
-#424 := (or #432 #444)
-#169 := (= #168 0::Int)
-#172 := (not #169)
-#60 := (+ #11 #15)
-#63 := (= f3 #60)
-#66 := (not #63)
-#173 := (iff #66 #172)
-#170 := (iff #63 #169)
-#171 := [rewrite]: #170
+#157 := [monotonicity #99 #102]: #156
+#160 := [monotonicity #157]: #159
+#165 := [trans #160 #163]: #164
+#168 := [monotonicity #165]: #167
+#171 := [monotonicity #168]: #170
 #174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#197 := [trans #180 #195]: #196
+#154 := [asserted]: #50
+#198 := [mp #154 #197]: #193
+#201 := [mp~ #198 #205]: #193
+#249 := [mp #201 #248]: #246
+#280 := [mp #249 #279]: #277
+#768 := [mp #280 #767]: #763
+#633 := (not #763)
+#634 := (or #633 #646)
+#751 := (* -1::Int 1::Int)
+#671 := (mod #750 #751)
+#668 := (+ #15 #671)
+#670 := (= #668 0::Int)
+#535 := (mod f3 1::Int)
+#690 := (* -1::Int #535)
+#677 := (+ #15 #690)
+#679 := (= #677 0::Int)
+#432 := (<= 1::Int 0::Int)
+#747 := (or #412 #432)
+#749 := (not #747)
+#429 := (or #431 #432)
+#433 := (not #429)
+#406 := (or #433 #749)
+#680 := (if #406 #679 #670)
+#681 := (if #427 #686 #680)
+#689 := (= #15 f3)
+#428 := (= 1::Int 0::Int)
+#682 := (if #428 #689 #681)
+#635 := (or #633 #682)
+#637 := (iff #635 #634)
+#638 := (iff #634 #634)
+#624 := [rewrite]: #638
+#630 := (iff #682 #646)
+#649 := (if false #689 #646)
+#641 := (iff #649 #646)
+#652 := [rewrite]: #641
+#650 := (iff #682 #649)
+#647 := (iff #681 #646)
+#644 := (iff #680 #643)
+#640 := (iff #670 #639)
+#655 := (= #668 #658)
+#656 := (= #671 #691)
+#447 := (= #751 -1::Int)
+#448 := [rewrite]: #447
+#657 := [monotonicity #448]: #656
+#659 := [monotonicity #657]: #655
+#642 := [monotonicity #659]: #640
+#653 := (iff #679 #686)
+#662 := (= #677 #15)
+#661 := (+ #15 0::Int)
+#665 := (= #661 #15)
+#666 := [rewrite]: #665
+#663 := (= #677 #661)
+#676 := (= #690 0::Int)
+#672 := (* -1::Int 0::Int)
+#675 := (= #672 0::Int)
+#669 := [rewrite]: #675
+#673 := (= #690 #672)
+#678 := (= #535 0::Int)
+#683 := [rewrite]: #678
+#674 := [monotonicity #683]: #673
+#660 := [trans #674 #669]: #676
+#664 := [monotonicity #660]: #663
+#667 := [trans #664 #666]: #662
+#654 := [monotonicity #667]: #653
+#724 := (iff #406 #348)
+#453 := (iff #749 #452)
+#729 := (iff #747 #412)
+#381 := (or #412 false)
+#742 := (iff #381 #412)
+#728 := [rewrite]: #742
+#741 := (iff #747 #381)
+#396 := (iff #432 false)
+#732 := [rewrite]: #396
+#739 := [monotonicity #732]: #741
+#451 := [trans #739 #728]: #729
+#454 := [monotonicity #451]: #453
+#740 := (iff #433 #738)
+#737 := (iff #429 #431)
+#733 := (or #431 false)
+#736 := (iff #733 #431)
+#731 := [rewrite]: #736
+#734 := (iff #429 #733)
+#735 := [monotonicity #732]: #734
+#375 := [trans #735 #731]: #737
+#380 := [monotonicity #375]: #740
+#725 := [monotonicity #380 #454]: #724
+#645 := [monotonicity #725 #654 #642]: #644
+#648 := [monotonicity #645]: #647
+#409 := (iff #428 false)
+#745 := [rewrite]: #409
+#651 := [monotonicity #745 #648]: #650
+#631 := [trans #651 #652]: #630
+#632 := [monotonicity #631]: #637
+#620 := [trans #632 #624]: #637
+#636 := [quant-inst #7 #10]: #635
+#621 := [mp #636 #620]: #634
+#600 := [unit-resolution #621 #768]: #646
+#611 := (not #646)
+#612 := (or #611 #573 #686)
+#613 := [def-axiom]: #612
+#605 := [unit-resolution #613 #600]: #581
+#606 := [unit-resolution #605 #545]: #573
+#705 := (not #348)
+#601 := (or #427 #643)
+#616 := (or #611 #427 #643)
+#617 := [def-axiom]: #616
+#607 := [unit-resolution #617 #600]: #601
+#575 := [unit-resolution #607 #606]: #643
+#628 := (not #643)
+#623 := (or #628 #705 #686)
+#629 := [def-axiom]: #623
+#582 := [unit-resolution #629 #575 #545]: #705
+#703 := (or #348 #431)
+#697 := [def-axiom]: #703
+#541 := [unit-resolution #697 #582]: #431
+#698 := (or #348 #412)
+#704 := [def-axiom]: #698
+#572 := [unit-resolution #704 #582]: #412
+#574 := (or #427 #738 #452)
+#576 := [th-lemma arith triangle-eq]: #574
+#583 := [unit-resolution #576 #572 #541 #606]: false
+#585 := [lemma #583]: #686
+#496 := (or #604 #622)
+#498 := [th-lemma arith triangle-eq]: #496
+#499 := [unit-resolution #498 #585]: #622
+#701 := (<= #11 0::Int)
+#430 := (= #11 0::Int)
+#474 := [hypothesis]: #573
+#536 := (div f3 1::Int)
+#743 := (* -1::Int #536)
+#417 := (+ #11 #743)
+#418 := (= #417 0::Int)
+#580 := (not #418)
+#532 := (+ f3 #743)
+#546 := (>= #532 0::Int)
+#571 := (= #532 0::Int)
+#1 := true
+#68 := [true-axiom]: true
+#509 := (or false #571)
+#512 := [th-lemma arith]: #509
+#514 := [unit-resolution #512 #68]: #571
+#515 := (not #571)
+#511 := (or #515 #546)
+#516 := [th-lemma arith triangle-eq]: #511
+#506 := [unit-resolution #516 #514]: #546
+#537 := (<= #417 0::Int)
+#502 := [hypothesis]: #418
+#503 := (or #580 #537)
+#507 := [th-lemma arith triangle-eq]: #503
+#500 := [unit-resolution #507 #502]: #537
+#504 := (not #546)
+#501 := (not #537)
+#508 := (not #622)
+#505 := (or #426 #508 #501 #504)
+#491 := [th-lemma arith assign-bounds 1 1 -1]: #505
+#493 := [unit-resolution #491 #500 #499 #506]: #426
+#342 := (<= #86 0::Int)
+#544 := (<= #532 0::Int)
+#494 := (or #515 #544)
+#492 := [th-lemma arith triangle-eq]: #494
+#495 := [unit-resolution #492 #514]: #544
+#625 := (>= #15 0::Int)
+#477 := (or #604 #625)
+#479 := [th-lemma arith triangle-eq]: #477
+#480 := [unit-resolution #479 #585]: #625
+#538 := (>= #417 0::Int)
+#481 := (or #580 #538)
+#482 := [th-lemma arith triangle-eq]: #481
+#483 := [unit-resolution #482 #502]: #538
+#486 := (not #544)
+#485 := (not #538)
+#484 := (not #625)
+#487 := (or #342 #484 #485 #486)
+#488 := [th-lemma arith assign-bounds 1 1 -1]: #487
+#489 := [unit-resolution #488 #483 #480 #495]: #342
+#490 := (not #426)
+#478 := (not #342)
+#470 := (or #478 #490)
+#87 := (= #86 0::Int)
+#90 := (not #87)
 #12 := (* #11 1::Int)
 #16 := (+ #12 #15)
 #17 := (= f3 #16)
 #18 := (not #17)
-#67 := (iff #18 #66)
-#64 := (iff #17 #63)
-#61 := (= #16 #60)
-#58 := (= #12 #11)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#68 := [monotonicity #65]: #67
-#52 := [asserted]: #18
-#69 := [mp #52 #68]: #66
-#175 := [mp #69 #174]: #172
-#421 := (or #169 #432 #444)
-#423 := [th-lemma arith triangle-eq]: #421
-#425 := [unit-resolution #423 #175]: #424
-#426 := [unit-resolution #425 #443 #447]: false
-#427 := [lemma #426]: #534
-#676 := (div #704 -1::Int)
-#681 := (* -1::Int #676)
-#393 := (+ #11 #681)
-#673 := (= #393 0::Int)
-#674 := (if #302 #372 #673)
-#552 := (or #381 #674)
-#664 := (if #381 #384 #674)
+#93 := (iff #18 #90)
+#73 := (+ #11 #15)
+#76 := (= f3 #73)
+#79 := (not #76)
+#91 := (iff #79 #90)
+#88 := (iff #76 #87)
+#89 := [rewrite]: #88
+#92 := [monotonicity #89]: #91
+#80 := (iff #18 #79)
+#77 := (iff #17 #76)
+#74 := (= #16 #73)
+#71 := (= #12 #11)
+#72 := [rewrite]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#81 := [monotonicity #78]: #80
+#94 := [trans #81 #92]: #93
+#70 := [asserted]: #18
+#95 := [mp #70 #94]: #90
+#467 := (or #87 #478 #490)
+#469 := [th-lemma arith triangle-eq]: #467
+#471 := [unit-resolution #469 #95]: #470
+#472 := [unit-resolution #471 #489 #493]: false
+#473 := [lemma #472]: #580
+#722 := (div #750 -1::Int)
+#727 := (* -1::Int #722)
+#439 := (+ #11 #727)
+#719 := (= #439 0::Int)
+#720 := (if #348 #418 #719)
+#468 := (or #427 #720)
+#710 := (if #427 #430 #720)
 #20 := (f5 f6 #19)
 #22 := (f4 #20 #21)
-#709 := (pattern #22)
+#755 := (pattern #22)
 #103 := (div #97 #100)
-#269 := (* -1::Int #103)
-#270 := (+ #22 #269)
-#271 := (= #270 0::Int)
+#254 := (* -1::Int #103)
+#255 := (+ #22 #254)
+#256 := (= #255 0::Int)
 #33 := (div #19 #21)
-#266 := (* -1::Int #33)
-#267 := (+ #22 #266)
-#268 := (= #267 0::Int)
-#272 := (if #233 #268 #271)
-#265 := (= #22 0::Int)
+#251 := (* -1::Int #33)
+#252 := (+ #22 #251)
+#253 := (= #252 0::Int)
+#257 := (if #218 #253 #256)
+#250 := (= #22 0::Int)
 #26 := (or #24 #25)
-#273 := (if #26 #265 #272)
-#710 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #709) #273)
-#276 := (forall (vars (?v0 Int) (?v1 Int)) #273)
-#713 := (iff #276 #710)
-#711 := (iff #273 #273)
-#712 := [refl]: #711
-#714 := [quant-intro #712]: #713
-#236 := (if #233 #33 #103)
-#239 := (if #26 0::Int #236)
-#242 := (= #22 #239)
-#245 := (forall (vars (?v0 Int) (?v1 Int)) #242)
-#277 := (iff #245 #276)
-#274 := (iff #242 #273)
-#275 := [rewrite]: #274
-#278 := [quant-intro #275]: #277
-#188 := (if #185 #33 #103)
-#191 := (if #26 0::Int #188)
-#194 := (= #22 #191)
-#197 := (forall (vars (?v0 Int) (?v1 Int)) #194)
-#246 := (iff #197 #245)
-#243 := (iff #194 #242)
-#240 := (= #191 #239)
-#237 := (= #188 #236)
-#238 := [monotonicity #235]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [quant-intro #244]: #246
-#221 := (~ #197 #197)
-#219 := (~ #194 #194)
-#220 := [refl]: #219
-#222 := [nnf-pos #220]: #221
-#106 := (if #93 #33 #103)
-#109 := (if #26 0::Int #106)
-#112 := (= #22 #109)
-#115 := (forall (vars (?v0 Int) (?v1 Int)) #112)
-#198 := (iff #115 #197)
-#195 := (iff #112 #194)
-#192 := (= #109 #191)
-#189 := (= #106 #188)
-#190 := [monotonicity #187]: #189
-#193 := [monotonicity #190]: #192
-#196 := [monotonicity #193]: #195
-#199 := [quant-intro #196]: #198
+#258 := (if #26 #250 #257)
+#756 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #755) #258)
+#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
+#759 := (iff #261 #756)
+#757 := (iff #258 #258)
+#758 := [refl]: #757
+#760 := [quant-intro #758]: #759
+#221 := (if #218 #33 #103)
+#224 := (if #26 0::Int #221)
+#227 := (= #22 #224)
+#230 := (forall (vars (?v0 Int) (?v1 Int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#139 := (if #136 #33 #103)
+#142 := (if #26 0::Int #139)
+#145 := (= #22 #142)
+#148 := (forall (vars (?v0 Int) (?v1 Int)) #145)
+#231 := (iff #148 #230)
+#228 := (iff #145 #227)
+#225 := (= #142 #224)
+#222 := (= #139 #221)
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#210 := (~ #148 #148)
+#208 := (~ #145 #145)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
 #36 := (div #34 #35)
 #37 := (if #32 #33 #36)
 #38 := (if #26 0::Int #37)
 #39 := (= #22 #38)
 #40 := (forall (vars (?v0 Int) (?v1 Int)) #39)
+#151 := (iff #40 #148)
+#106 := (if #32 #33 #103)
+#109 := (if #26 0::Int #106)
+#112 := (= #22 #109)
+#115 := (forall (vars (?v0 Int) (?v1 Int)) #112)
+#149 := (iff #115 #148)
+#146 := (iff #112 #145)
+#143 := (= #109 #142)
+#140 := (= #106 #139)
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
 #116 := (iff #40 #115)
 #113 := (iff #39 #112)
 #110 := (= #38 #109)
 #107 := (= #37 #106)
 #104 := (= #36 #103)
 #105 := [monotonicity #99 #102]: #104
-#108 := [monotonicity #95 #105]: #107
+#108 := [monotonicity #105]: #107
 #111 := [monotonicity #108]: #110
 #114 := [monotonicity #111]: #113
 #117 := [quant-intro #114]: #116
-#53 := [asserted]: #40
-#118 := [mp #53 #117]: #115
-#200 := [mp #118 #199]: #197
-#217 := [mp~ #200 #222]: #197
-#248 := [mp #217 #247]: #245
-#279 := [mp #248 #278]: #276
-#715 := [mp #279 #714]: #710
-#661 := (not #710)
-#662 := (or #661 #664)
-#706 := (div #704 #705)
-#707 := (* -1::Int #706)
-#702 := (+ #11 #707)
-#708 := (= #702 0::Int)
-#698 := (if #360 #372 #708)
-#373 := (or #381 #382)
-#358 := (if #373 #384 #698)
-#667 := (or #661 #358)
-#663 := (iff #667 #662)
-#510 := (iff #662 #662)
-#511 := [rewrite]: #510
-#665 := (iff #358 #664)
-#671 := (iff #698 #674)
-#388 := (iff #708 #673)
-#394 := (= #702 #393)
-#391 := (= #707 #681)
-#680 := (= #706 #676)
-#677 := [monotonicity #402]: #680
-#392 := [monotonicity #677]: #391
-#672 := [monotonicity #392]: #394
-#670 := [monotonicity #672]: #388
-#675 := [monotonicity #679 #670]: #671
-#348 := (iff #373 #381)
-#359 := (or #381 false)
-#684 := (iff #359 #381)
-#347 := [rewrite]: #684
-#700 := (iff #373 #359)
-#343 := [monotonicity #699]: #700
-#349 := [trans #343 #347]: #348
-#666 := [monotonicity #349 #675]: #665
-#669 := [monotonicity #666]: #663
-#512 := [trans #669 #511]: #663
-#668 := [quant-inst #7 #10]: #667
-#654 := [mp #668 #512]: #662
-#531 := [unit-resolution #654 #715]: #664
-#642 := (not #664)
-#545 := (or #642 #381 #674)
-#538 := [def-axiom]: #545
-#507 := [unit-resolution #538 #531]: #552
-#501 := [unit-resolution #507 #508]: #674
-#649 := (not #674)
-#647 := (or #649 #659 #372)
-#650 := [def-axiom]: #647
-#502 := [unit-resolution #650 #501 #427]: #659
-#503 := [unit-resolution #651 #502]: #385
-#504 := [unit-resolution #658 #502]: #366
-#505 := [unit-resolution #530 #504 #503 #508]: false
-#488 := [lemma #505]: #381
-#506 := (or #527 #384)
-#542 := (or #642 #527 #384)
-#544 := [def-axiom]: #542
-#514 := [unit-resolution #544 #531]: #506
-#515 := [unit-resolution #514 #488]: #384
-#546 := (not #384)
-#516 := (or #546 #655)
-#517 := [th-lemma arith triangle-eq]: #516
-#518 := [unit-resolution #517 #515]: #655
-#519 := (or #527 #366)
-#520 := [th-lemma arith triangle-eq]: #519
-#521 := [unit-resolution #520 #488]: #366
-#522 := (not #655)
-#523 := (or #380 #522 #462 #406)
-#524 := [th-lemma arith assign-bounds 1 1 -1]: #523
-#509 := [unit-resolution #524 #521 #518 #453]: #380
-#656 := (>= #11 0::Int)
-#487 := (or #546 #656)
-#494 := [th-lemma arith triangle-eq]: #487
-#496 := [unit-resolution #494 #515]: #656
-#497 := (or #527 #385)
-#428 := [th-lemma arith triangle-eq]: #497
-#429 := [unit-resolution #428 #488]: #385
-#422 := (not #656)
-#430 := (or #296 #422 #438 #692)
-#415 := [th-lemma arith assign-bounds 1 1 -1]: #430
-#416 := [unit-resolution #415 #429 #496 #434]: #296
-[unit-resolution #425 #416 #509]: false
-34442a78b76a0af7e551b55a4cf9e46f5680194f 558 0
-unsat
+#152 := [trans #117 #150]: #151
+#96 := [asserted]: #40
+#153 := [mp #96 #152]: #148
+#202 := [mp~ #153 #211]: #148
+#233 := [mp #202 #232]: #230
+#264 := [mp #233 #263]: #261
+#761 := [mp #264 #760]: #756
+#707 := (not #756)
+#708 := (or #707 #710)
+#752 := (div #750 #751)
+#753 := (* -1::Int #752)
+#748 := (+ #11 #753)
+#754 := (= #748 0::Int)
+#744 := (if #406 #418 #754)
+#419 := (or #427 #428)
+#404 := (if #419 #430 #744)
+#713 := (or #707 #404)
+#709 := (iff #713 #708)
+#556 := (iff #708 #708)
+#557 := [rewrite]: #556
+#711 := (iff #404 #710)
+#717 := (iff #744 #720)
+#434 := (iff #754 #719)
+#440 := (= #748 #439)
+#437 := (= #753 #727)
+#726 := (= #752 #722)
+#723 := [monotonicity #448]: #726
+#438 := [monotonicity #723]: #437
+#718 := [monotonicity #438]: #440
+#716 := [monotonicity #718]: #434
+#721 := [monotonicity #725 #716]: #717
+#394 := (iff #419 #427)
+#405 := (or #427 false)
+#730 := (iff #405 #427)
+#393 := [rewrite]: #730
+#746 := (iff #419 #405)
+#389 := [monotonicity #745]: #746
+#395 := [trans #389 #393]: #394
+#712 := [monotonicity #395 #721]: #711
+#715 := [monotonicity #712]: #709
+#558 := [trans #715 #557]: #709
+#714 := [quant-inst #7 #10]: #713
+#700 := [mp #714 #558]: #708
+#475 := [unit-resolution #700 #761]: #710
+#688 := (not #710)
+#591 := (or #688 #427 #720)
+#584 := [def-axiom]: #591
+#476 := [unit-resolution #584 #475]: #468
+#461 := [unit-resolution #476 #474]: #720
+#695 := (not #720)
+#693 := (or #695 #705 #418)
+#696 := [def-axiom]: #693
+#462 := [unit-resolution #696 #461 #473]: #705
+#463 := [unit-resolution #697 #462]: #431
+#465 := [unit-resolution #704 #462]: #412
+#464 := [unit-resolution #576 #465 #463 #474]: false
+#466 := [lemma #464]: #427
+#455 := (or #573 #430)
+#588 := (or #688 #573 #430)
+#590 := [def-axiom]: #588
+#456 := [unit-resolution #590 #475]: #455
+#457 := [unit-resolution #456 #466]: #430
+#592 := (not #430)
+#449 := (or #592 #701)
+#458 := [th-lemma arith triangle-eq]: #449
+#459 := [unit-resolution #458 #457]: #701
+#450 := (or #573 #412)
+#460 := [th-lemma arith triangle-eq]: #450
+#441 := [unit-resolution #460 #466]: #412
+#442 := (not #701)
+#443 := (or #426 #442 #508 #452)
+#435 := [th-lemma arith assign-bounds 1 1 -1]: #443
+#444 := [unit-resolution #435 #441 #459 #499]: #426
+#702 := (>= #11 0::Int)
+#445 := (or #592 #702)
+#436 := [th-lemma arith triangle-eq]: #445
+#446 := [unit-resolution #436 #457]: #702
+#413 := (or #573 #431)
+#415 := [th-lemma arith triangle-eq]: #413
+#416 := [unit-resolution #415 #466]: #431
+#407 := (not #702)
+#420 := (or #342 #407 #484 #738)
+#421 := [th-lemma arith assign-bounds 1 1 -1]: #420
+#422 := [unit-resolution #421 #416 #446 #480]: #342
+[unit-resolution #471 #422 #444]: false
+unsat
+d22602bbee9e57cff02bea0b44e81e206f8f757f 546 0
 #2 := false
 #23 := 0::Int
 decl f4 :: (-> S2 Int Int)
@@ -42518,126 +39852,102 @@
 #8 := f6
 #9 := (f5 f6 f3)
 #11 := (f4 #9 3::Int)
-#659 := (>= #11 0::Int)
-#387 := (= #11 0::Int)
-#384 := (= f3 0::Int)
-#530 := (not #384)
-#566 := [hypothesis]: #530
-#388 := (<= f3 0::Int)
-#369 := (>= f3 0::Int)
-#409 := (not #369)
-#695 := (not #388)
-#304 := (or #695 #409)
-#662 := (not #304)
-#167 := -3::Int
-#97 := -1::Int
-#707 := (* -1::Int f3)
-#679 := (div #707 -3::Int)
-#684 := (* -1::Int #679)
-#396 := (+ #11 #684)
-#676 := (= #396 0::Int)
-#493 := (div f3 3::Int)
-#700 := (* -1::Int #493)
-#374 := (+ #11 #700)
-#375 := (= #374 0::Int)
-#677 := (if #304 #375 #676)
-#567 := (or #384 #677)
-#667 := (if #384 #387 #677)
+#704 := (>= #11 0::Int)
+#432 := (= #11 0::Int)
+#429 := (= f3 0::Int)
+#575 := (not #429)
+#571 := [hypothesis]: #575
+#433 := (<= f3 0::Int)
+#414 := (>= f3 0::Int)
+#454 := (not #414)
+#740 := (not #433)
+#350 := (or #740 #454)
+#707 := (not #350)
+#83 := -3::Int
+#85 := -1::Int
+#752 := (* -1::Int f3)
+#724 := (div #752 -3::Int)
+#729 := (* -1::Int #724)
+#441 := (+ #11 #729)
+#721 := (= #441 0::Int)
+#538 := (div f3 3::Int)
+#745 := (* -1::Int #538)
+#419 := (+ #11 #745)
+#420 := (= #419 0::Int)
+#722 := (if #350 #420 #721)
+#557 := (or #429 #722)
+#712 := (if #429 #432 #722)
 #21 := (:var 0 Int)
 #19 := (:var 1 Int)
 #20 := (f5 f6 #19)
 #22 := (f4 #20 #21)
-#712 := (pattern #22)
-#101 := (* -1::Int #21)
-#98 := (* -1::Int #19)
-#104 := (div #98 #101)
-#271 := (* -1::Int #104)
-#272 := (+ #22 #271)
-#273 := (= #272 0::Int)
+#757 := (pattern #22)
+#102 := (* -1::Int #21)
+#99 := (* -1::Int #19)
+#105 := (div #99 #102)
+#256 := (* -1::Int #105)
+#257 := (+ #22 #256)
+#258 := (= #257 0::Int)
 #33 := (div #19 #21)
-#268 := (* -1::Int #33)
-#269 := (+ #22 #268)
-#270 := (= #269 0::Int)
-#75 := (<= #21 0::Int)
-#178 := (>= #19 0::Int)
-#231 := (or #178 #75)
-#232 := (not #231)
-#71 := (<= #19 0::Int)
-#227 := (or #71 #75)
-#228 := (not #227)
-#235 := (or #228 #232)
-#274 := (if #235 #270 #273)
-#267 := (= #22 0::Int)
+#253 := (* -1::Int #33)
+#254 := (+ #22 #253)
+#255 := (= #254 0::Int)
+#124 := (<= #21 0::Int)
+#131 := (>= #19 0::Int)
+#216 := (or #131 #124)
+#217 := (not #216)
+#120 := (<= #19 0::Int)
+#214 := (or #120 #124)
+#215 := (not #214)
+#220 := (or #215 #217)
+#259 := (if #220 #255 #258)
+#252 := (= #22 0::Int)
 #25 := (= #21 0::Int)
 #24 := (= #19 0::Int)
 #26 := (or #24 #25)
-#275 := (if #26 #267 #274)
-#713 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #712) #275)
-#278 := (forall (vars (?v0 Int) (?v1 Int)) #275)
-#716 := (iff #278 #713)
-#714 := (iff #275 #275)
-#715 := [refl]: #714
-#717 := [quant-intro #715]: #716
-#238 := (if #235 #33 #104)
-#241 := (if #26 0::Int #238)
-#244 := (= #22 #241)
-#247 := (forall (vars (?v0 Int) (?v1 Int)) #244)
-#279 := (iff #247 #278)
-#276 := (iff #244 #275)
-#277 := [rewrite]: #276
-#280 := [quant-intro #277]: #279
-#76 := (not #75)
-#181 := (not #178)
-#184 := (and #181 #76)
-#72 := (not #71)
-#79 := (and #72 #76)
-#187 := (or #79 #184)
-#190 := (if #187 #33 #104)
-#193 := (if #26 0::Int #190)
-#196 := (= #22 #193)
-#199 := (forall (vars (?v0 Int) (?v1 Int)) #196)
-#248 := (iff #199 #247)
-#245 := (iff #196 #244)
-#242 := (= #193 #241)
-#239 := (= #190 #238)
-#236 := (iff #187 #235)
-#233 := (iff #184 #232)
-#234 := [rewrite]: #233
-#229 := (iff #79 #228)
-#230 := [rewrite]: #229
-#237 := [monotonicity #230 #234]: #236
-#240 := [monotonicity #237]: #239
-#243 := [monotonicity #240]: #242
-#246 := [monotonicity #243]: #245
-#249 := [quant-intro #246]: #248
-#165 := (~ #199 #199)
-#221 := (~ #196 #196)
-#222 := [refl]: #221
-#166 := [nnf-pos #222]: #165
-#82 := (<= 0::Int #19)
-#83 := (not #82)
-#91 := (and #83 #76)
-#94 := (or #79 #91)
-#107 := (if #94 #33 #104)
-#110 := (if #26 0::Int #107)
-#113 := (= #22 #110)
-#116 := (forall (vars (?v0 Int) (?v1 Int)) #113)
-#200 := (iff #116 #199)
-#197 := (iff #113 #196)
-#194 := (= #110 #193)
-#191 := (= #107 #190)
-#188 := (iff #94 #187)
-#185 := (iff #91 #184)
-#182 := (iff #83 #181)
-#179 := (iff #82 #178)
-#180 := [rewrite]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [monotonicity #189]: #191
-#195 := [monotonicity #192]: #194
-#198 := [monotonicity #195]: #197
-#201 := [quant-intro #198]: #200
+#260 := (if #26 #252 #259)
+#758 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #757) #260)
+#263 := (forall (vars (?v0 Int) (?v1 Int)) #260)
+#761 := (iff #263 #758)
+#759 := (iff #260 #260)
+#760 := [refl]: #759
+#762 := [quant-intro #760]: #761
+#223 := (if #220 #33 #105)
+#226 := (if #26 0::Int #223)
+#229 := (= #22 #226)
+#232 := (forall (vars (?v0 Int) (?v1 Int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#125 := (not #124)
+#132 := (not #131)
+#135 := (and #132 #125)
+#121 := (not #120)
+#128 := (and #121 #125)
+#138 := (or #128 #135)
+#141 := (if #138 #33 #105)
+#144 := (if #26 0::Int #141)
+#147 := (= #22 #144)
+#150 := (forall (vars (?v0 Int) (?v1 Int)) #147)
+#233 := (iff #150 #232)
+#230 := (iff #147 #229)
+#227 := (= #144 #226)
+#224 := (= #141 #223)
+#221 := (iff #138 #220)
+#218 := (iff #135 #217)
+#219 := [rewrite]: #218
+#208 := (iff #128 #215)
+#209 := [rewrite]: #208
+#222 := [monotonicity #209 #219]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#212 := (~ #150 #150)
+#210 := (~ #147 #147)
+#211 := [refl]: #210
+#213 := [nnf-pos #211]: #212
 #35 := (- #21)
 #34 := (- #19)
 #36 := (div #34 #35)
@@ -42651,200 +39961,193 @@
 #38 := (if #26 0::Int #37)
 #39 := (= #22 #38)
 #40 := (forall (vars (?v0 Int) (?v1 Int)) #39)
-#117 := (iff #40 #116)
-#114 := (iff #39 #113)
-#111 := (= #38 #110)
-#108 := (= #37 #107)
-#105 := (= #36 #104)
-#102 := (= #35 #101)
-#103 := [rewrite]: #102
-#99 := (= #34 #98)
-#100 := [rewrite]: #99
-#106 := [monotonicity #100 #103]: #105
-#95 := (iff #32 #94)
-#92 := (iff #31 #91)
-#77 := (iff #28 #76)
-#78 := [rewrite]: #77
-#84 := (iff #30 #83)
-#88 := (iff #83 #83)
-#86 := (iff #82 #82)
-#87 := [rewrite]: #86
-#89 := [monotonicity #87]: #88
-#85 := [rewrite]: #84
-#90 := [trans #85 #89]: #84
-#93 := [monotonicity #90 #78]: #92
-#80 := (iff #29 #79)
-#73 := (iff #27 #72)
-#74 := [rewrite]: #73
-#81 := [monotonicity #74 #78]: #80
-#96 := [monotonicity #81 #93]: #95
-#109 := [monotonicity #96 #106]: #108
-#112 := [monotonicity #109]: #111
-#115 := [monotonicity #112]: #114
-#118 := [quant-intro #115]: #117
-#53 := [asserted]: #40
-#119 := [mp #53 #118]: #116
-#202 := [mp #119 #201]: #199
-#219 := [mp~ #202 #166]: #199
-#250 := [mp #219 #249]: #247
-#281 := [mp #250 #280]: #278
-#718 := [mp #281 #717]: #713
-#664 := (not #713)
-#665 := (or #664 #667)
-#708 := (* -1::Int 3::Int)
-#709 := (div #707 #708)
-#710 := (* -1::Int #709)
-#705 := (+ #11 #710)
-#711 := (= #705 0::Int)
-#389 := (<= 3::Int 0::Int)
-#704 := (or #369 #389)
-#706 := (not #704)
-#386 := (or #388 #389)
-#390 := (not #386)
-#363 := (or #390 #706)
-#701 := (if #363 #375 #711)
-#385 := (= 3::Int 0::Int)
-#376 := (or #384 #385)
-#361 := (if #376 #387 #701)
-#670 := (or #664 #361)
-#666 := (iff #670 #665)
-#513 := (iff #665 #665)
-#514 := [rewrite]: #513
-#668 := (iff #361 #667)
-#674 := (iff #701 #677)
-#391 := (iff #711 #676)
-#397 := (= #705 #396)
-#394 := (= #710 #684)
-#683 := (= #709 #679)
-#404 := (= #708 -3::Int)
-#405 := [rewrite]: #404
-#680 := [monotonicity #405]: #683
-#395 := [monotonicity #680]: #394
-#675 := [monotonicity #395]: #397
-#673 := [monotonicity #675]: #391
-#681 := (iff #363 #304)
-#410 := (iff #706 #409)
-#686 := (iff #704 #369)
-#338 := (or #369 false)
-#699 := (iff #338 #369)
-#685 := [rewrite]: #699
-#698 := (iff #704 #338)
-#353 := (iff #389 false)
-#689 := [rewrite]: #353
-#696 := [monotonicity #689]: #698
-#408 := [trans #696 #685]: #686
-#411 := [monotonicity #408]: #410
-#697 := (iff #390 #695)
-#694 := (iff #386 #388)
-#690 := (or #388 false)
-#693 := (iff #690 #388)
-#688 := [rewrite]: #693
-#691 := (iff #386 #690)
-#692 := [monotonicity #689]: #691
-#332 := [trans #692 #688]: #694
-#337 := [monotonicity #332]: #697
-#682 := [monotonicity #337 #411]: #681
-#678 := [monotonicity #682 #673]: #674
-#351 := (iff #376 #384)
-#362 := (or #384 false)
-#687 := (iff #362 #384)
-#350 := [rewrite]: #687
-#703 := (iff #376 #362)
-#366 := (iff #385 false)
-#702 := [rewrite]: #366
-#346 := [monotonicity #702]: #703
-#352 := [trans #346 #350]: #351
-#669 := [monotonicity #352 #678]: #668
-#672 := [monotonicity #669]: #666
-#515 := [trans #672 #514]: #666
-#671 := [quant-inst #7 #10]: #670
-#657 := [mp #671 #515]: #665
-#570 := [unit-resolution #657 #718]: #667
-#645 := (not #667)
-#548 := (or #645 #384 #677)
-#541 := [def-axiom]: #548
-#572 := [unit-resolution #541 #570]: #567
-#568 := [unit-resolution #572 #566]: #677
-#648 := (mod #707 -3::Int)
+#153 := (iff #40 #150)
+#108 := (if #32 #33 #105)
+#111 := (if #26 0::Int #108)
+#114 := (= #22 #111)
+#117 := (forall (vars (?v0 Int) (?v1 Int)) #114)
+#151 := (iff #117 #150)
+#148 := (iff #114 #147)
+#145 := (= #111 #144)
+#142 := (= #108 #141)
+#139 := (iff #32 #138)
+#136 := (iff #31 #135)
+#126 := (iff #28 #125)
+#127 := [rewrite]: #126
+#133 := (iff #30 #132)
+#134 := [rewrite]: #133
+#137 := [monotonicity #134 #127]: #136
+#129 := (iff #29 #128)
+#122 := (iff #27 #121)
+#123 := [rewrite]: #122
+#130 := [monotonicity #123 #127]: #129
+#140 := [monotonicity #130 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#118 := (iff #40 #117)
+#115 := (iff #39 #114)
+#112 := (= #38 #111)
+#109 := (= #37 #108)
+#106 := (= #36 #105)
+#103 := (= #35 #102)
+#104 := [rewrite]: #103
+#100 := (= #34 #99)
+#101 := [rewrite]: #100
+#107 := [monotonicity #101 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#154 := [trans #119 #152]: #153
+#98 := [asserted]: #40
+#155 := [mp #98 #154]: #150
+#204 := [mp~ #155 #213]: #150
+#235 := [mp #204 #234]: #232
+#266 := [mp #235 #265]: #263
+#763 := [mp #266 #762]: #758
+#709 := (not #758)
+#710 := (or #709 #712)
+#753 := (* -1::Int 3::Int)
+#754 := (div #752 #753)
+#755 := (* -1::Int #754)
+#750 := (+ #11 #755)
+#756 := (= #750 0::Int)
+#434 := (<= 3::Int 0::Int)
+#749 := (or #414 #434)
+#751 := (not #749)
+#431 := (or #433 #434)
+#435 := (not #431)
+#408 := (or #435 #751)
+#746 := (if #408 #420 #756)
+#430 := (= 3::Int 0::Int)
+#421 := (or #429 #430)
+#406 := (if #421 #432 #746)
+#715 := (or #709 #406)
+#711 := (iff #715 #710)
+#558 := (iff #710 #710)
+#559 := [rewrite]: #558
+#713 := (iff #406 #712)
+#719 := (iff #746 #722)
+#436 := (iff #756 #721)
+#442 := (= #750 #441)
+#439 := (= #755 #729)
+#728 := (= #754 #724)
+#449 := (= #753 -3::Int)
+#450 := [rewrite]: #449
+#725 := [monotonicity #450]: #728
+#440 := [monotonicity #725]: #439
+#720 := [monotonicity #440]: #442
+#718 := [monotonicity #720]: #436
+#726 := (iff #408 #350)
+#455 := (iff #751 #454)
+#731 := (iff #749 #414)
+#383 := (or #414 false)
+#744 := (iff #383 #414)
+#730 := [rewrite]: #744
+#743 := (iff #749 #383)
+#398 := (iff #434 false)
+#734 := [rewrite]: #398
+#741 := [monotonicity #734]: #743
+#453 := [trans #741 #730]: #731
+#456 := [monotonicity #453]: #455
+#742 := (iff #435 #740)
+#739 := (iff #431 #433)
+#735 := (or #433 false)
+#738 := (iff #735 #433)
+#733 := [rewrite]: #738
+#736 := (iff #431 #735)
+#737 := [monotonicity #734]: #736
+#377 := [trans #737 #733]: #739
+#382 := [monotonicity #377]: #742
+#727 := [monotonicity #382 #456]: #726
+#723 := [monotonicity #727 #718]: #719
+#396 := (iff #421 #429)
+#407 := (or #429 false)
+#732 := (iff #407 #429)
+#395 := [rewrite]: #732
+#748 := (iff #421 #407)
+#411 := (iff #430 false)
+#747 := [rewrite]: #411
+#391 := [monotonicity #747]: #748
+#397 := [trans #391 #395]: #396
+#714 := [monotonicity #397 #723]: #713
+#717 := [monotonicity #714]: #711
+#560 := [trans #717 #559]: #711
+#716 := [quant-inst #7 #10]: #715
+#702 := [mp #716 #560]: #710
+#572 := [unit-resolution #702 #763]: #712
+#690 := (not #712)
+#593 := (or #690 #429 #722)
+#586 := [def-axiom]: #593
+#573 := [unit-resolution #586 #572]: #557
+#534 := [unit-resolution #573 #571]: #722
+#693 := (mod #752 -3::Int)
 decl f7 :: S3
 #13 := f7
 #14 := (f5 f7 f3)
 #15 := (f4 #14 3::Int)
-#629 := (+ #15 #648)
-#632 := (= #629 0::Int)
-#492 := (mod f3 3::Int)
-#647 := (* -1::Int #492)
-#634 := (+ #15 #647)
-#636 := (= #634 0::Int)
-#617 := (if #304 #636 #632)
-#574 := (or #384 #617)
-#643 := (= #15 0::Int)
-#621 := (if #384 #643 #617)
+#674 := (+ #15 #693)
+#677 := (= #674 0::Int)
+#537 := (mod f3 3::Int)
+#692 := (* -1::Int #537)
+#679 := (+ #15 #692)
+#681 := (= #679 0::Int)
+#662 := (if #350 #681 #677)
+#533 := (or #429 #662)
+#688 := (= #15 0::Int)
+#666 := (if #429 #688 #662)
 #41 := (f5 f7 #19)
 #42 := (f4 #41 #21)
-#719 := (pattern #42)
-#120 := (mod #98 #101)
-#287 := (+ #42 #120)
-#288 := (= #287 0::Int)
+#764 := (pattern #42)
+#157 := (mod #99 #102)
+#272 := (+ #42 #157)
+#273 := (= #272 0::Int)
 #43 := (mod #19 #21)
-#284 := (* -1::Int #43)
-#285 := (+ #42 #284)
-#286 := (= #285 0::Int)
-#289 := (if #235 #286 #288)
-#283 := (= #42 0::Int)
-#290 := (if #24 #283 #289)
-#282 := (= #42 #19)
-#291 := (if #25 #282 #290)
-#720 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #719) #291)
-#294 := (forall (vars (?v0 Int) (?v1 Int)) #291)
-#723 := (iff #294 #720)
-#721 := (iff #291 #291)
-#722 := [refl]: #721
-#724 := [quant-intro #722]: #723
-#126 := (* -1::Int #120)
-#251 := (if #235 #43 #126)
-#254 := (if #24 0::Int #251)
-#257 := (if #25 #19 #254)
-#260 := (= #42 #257)
-#263 := (forall (vars (?v0 Int) (?v1 Int)) #260)
-#295 := (iff #263 #294)
-#292 := (iff #260 #291)
-#293 := [rewrite]: #292
-#296 := [quant-intro #293]: #295
-#203 := (if #187 #43 #126)
-#206 := (if #24 0::Int #203)
-#209 := (if #25 #19 #206)
-#212 := (= #42 #209)
-#215 := (forall (vars (?v0 Int) (?v1 Int)) #212)
-#264 := (iff #215 #263)
-#261 := (iff #212 #260)
-#258 := (= #209 #257)
-#255 := (= #206 #254)
-#252 := (= #203 #251)
-#253 := [monotonicity #237]: #252
-#256 := [monotonicity #253]: #255
-#259 := [monotonicity #256]: #258
-#262 := [monotonicity #259]: #261
-#265 := [quant-intro #262]: #264
-#224 := (~ #215 #215)
-#220 := (~ #212 #212)
-#223 := [refl]: #220
-#225 := [nnf-pos #223]: #224
-#131 := (if #94 #43 #126)
-#134 := (if #24 0::Int #131)
-#137 := (if #25 #19 #134)
-#140 := (= #42 #137)
-#143 := (forall (vars (?v0 Int) (?v1 Int)) #140)
-#216 := (iff #143 #215)
-#213 := (iff #140 #212)
-#210 := (= #137 #209)
-#207 := (= #134 #206)
-#204 := (= #131 #203)
-#205 := [monotonicity #189]: #204
-#208 := [monotonicity #205]: #207
-#211 := [monotonicity #208]: #210
-#214 := [monotonicity #211]: #213
-#217 := [quant-intro #214]: #216
+#269 := (* -1::Int #43)
+#270 := (+ #42 #269)
+#271 := (= #270 0::Int)
+#274 := (if #220 #271 #273)
+#268 := (= #42 0::Int)
+#275 := (if #24 #268 #274)
+#267 := (= #42 #19)
+#276 := (if #25 #267 #275)
+#765 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #764) #276)
+#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
+#768 := (iff #279 #765)
+#766 := (iff #276 #276)
+#767 := [refl]: #766
+#769 := [quant-intro #767]: #768
+#163 := (* -1::Int #157)
+#236 := (if #220 #43 #163)
+#239 := (if #24 0::Int #236)
+#242 := (if #25 #19 #239)
+#245 := (= #42 #242)
+#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
+#280 := (iff #248 #279)
+#277 := (iff #245 #276)
+#278 := [rewrite]: #277
+#281 := [quant-intro #278]: #280
+#183 := (if #138 #43 #163)
+#186 := (if #24 0::Int #183)
+#189 := (if #25 #19 #186)
+#192 := (= #42 #189)
+#195 := (forall (vars (?v0 Int) (?v1 Int)) #192)
+#249 := (iff #195 #248)
+#246 := (iff #192 #245)
+#243 := (= #189 #242)
+#240 := (= #186 #239)
+#237 := (= #183 #236)
+#238 := [monotonicity #222]: #237
+#241 := [monotonicity #238]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [quant-intro #247]: #249
+#206 := (~ #195 #195)
+#205 := (~ #192 #192)
+#202 := [refl]: #205
+#207 := [nnf-pos #202]: #206
 #44 := (mod #34 #35)
 #45 := (- #44)
 #46 := (if #32 #43 #45)
@@ -42852,603 +40155,522 @@
 #48 := (if #25 #19 #47)
 #49 := (= #42 #48)
 #50 := (forall (vars (?v0 Int) (?v1 Int)) #49)
-#144 := (iff #50 #143)
-#141 := (iff #49 #140)
-#138 := (= #48 #137)
-#135 := (= #47 #134)
-#132 := (= #46 #131)
-#129 := (= #45 #126)
-#123 := (- #120)
-#127 := (= #123 #126)
-#128 := [rewrite]: #127
-#124 := (= #45 #123)
-#121 := (= #44 #120)
-#122 := [monotonicity #100 #103]: #121
-#125 := [monotonicity #122]: #124
-#130 := [trans #125 #128]: #129
-#133 := [monotonicity #96 #130]: #132
-#136 := [monotonicity #133]: #135
-#139 := [monotonicity #136]: #138
-#142 := [monotonicity #139]: #141
-#145 := [quant-intro #142]: #144
-#54 := [asserted]: #50
-#146 := [mp #54 #145]: #143
-#218 := [mp #146 #217]: #215
-#226 := [mp~ #218 #225]: #215
-#266 := [mp #226 #265]: #263
-#297 := [mp #266 #296]: #294
-#725 := [mp #297 #724]: #720
-#612 := (not #720)
-#616 := (or #612 #621)
-#628 := (mod #707 #708)
-#625 := (+ #15 #628)
-#627 := (= #625 0::Int)
-#637 := (if #363 #636 #627)
-#638 := (if #384 #643 #637)
-#646 := (= #15 f3)
-#639 := (if #385 #646 #638)
-#596 := (or #612 #639)
-#599 := (iff #596 #616)
-#601 := (iff #616 #616)
-#602 := [rewrite]: #601
-#614 := (iff #639 #621)
-#619 := (if false #646 #621)
-#611 := (iff #619 #621)
-#613 := [rewrite]: #611
-#624 := (iff #639 #619)
-#622 := (iff #638 #621)
-#618 := (iff #637 #617)
-#626 := (iff #627 #632)
-#630 := (= #625 #629)
-#635 := (= #628 #648)
-#640 := [monotonicity #405]: #635
-#631 := [monotonicity #640]: #630
-#633 := [monotonicity #631]: #626
-#620 := [monotonicity #682 #633]: #618
-#623 := [monotonicity #620]: #622
-#610 := [monotonicity #702 #623]: #624
-#615 := [trans #610 #613]: #614
-#600 := [monotonicity #615]: #599
-#603 := [trans #600 #602]: #599
-#597 := [quant-inst #7 #10]: #596
-#604 := [mp #597 #603]: #616
-#573 := [unit-resolution #604 #725]: #621
-#578 := (not #621)
-#583 := (or #578 #384 #617)
-#584 := [def-axiom]: #583
-#575 := [unit-resolution #584 #573]: #574
-#571 := [unit-resolution #575 #566]: #617
-#652 := (not #677)
-#587 := (not #617)
-#430 := (or #662 #587 #652)
-#608 := (>= #634 0::Int)
-#489 := [hypothesis]: #617
-#490 := [hypothesis]: #304
-#588 := (or #587 #662 #636)
-#590 := [def-axiom]: #588
-#497 := [unit-resolution #590 #490 #489]: #636
-#593 := (not #636)
-#438 := (or #593 #608)
-#439 := [th-lemma arith triangle-eq]: #438
-#440 := [unit-resolution #439 #497]: #608
-#495 := (>= #374 0::Int)
-#480 := [hypothesis]: #677
-#650 := (or #652 #662 #375)
-#653 := [def-axiom]: #650
-#481 := [unit-resolution #653 #490 #480]: #375
-#537 := (not #375)
-#441 := (or #537 #495)
-#442 := [th-lemma arith triangle-eq]: #441
-#443 := [unit-resolution #442 #481]: #495
-#169 := (* -1::Int #15)
-#168 := (* -3::Int #11)
-#170 := (+ f3 #168 #169)
-#298 := (<= #170 0::Int)
-#444 := (not #298)
-#383 := (>= #170 0::Int)
-#503 := (not #383)
-#504 := [hypothesis]: #503
-#529 := (or #384 #383)
-#329 := (or #662 #383 #587 #652)
-#607 := (<= #634 0::Int)
-#499 := (or #593 #607)
-#500 := [th-lemma arith triangle-eq]: #499
-#501 := [unit-resolution #500 #497]: #607
-#502 := (* -3::Int #493)
-#557 := (+ f3 #647 #502)
-#532 := (>= #557 0::Int)
-#556 := (= #557 0::Int)
-#1 := true
-#164 := [true-axiom]: true
-#505 := (or false #556)
-#506 := [th-lemma arith]: #505
-#507 := [unit-resolution #506 #164]: #556
-#508 := (not #556)
-#491 := (or #508 #532)
-#509 := [th-lemma arith triangle-eq]: #491
-#479 := [unit-resolution #509 #507]: #532
-#494 := (<= #374 0::Int)
-#482 := (or #537 #494)
-#484 := [th-lemma arith triangle-eq]: #482
-#485 := [unit-resolution #484 #481]: #494
-#486 := [th-lemma arith farkas 3 -1 1 1 #485 #479 #504 #501]: false
-#487 := [lemma #486]: #329
-#576 := [unit-resolution #487 #571 #504 #568]: #662
-#660 := (or #304 #388)
-#654 := [def-axiom]: #660
-#538 := [unit-resolution #654 #576]: #388
-#655 := (or #304 #369)
-#661 := [def-axiom]: #655
-#562 := [unit-resolution #661 #576]: #369
-#563 := (or #384 #695 #409)
-#558 := [th-lemma arith triangle-eq]: #563
-#498 := [unit-resolution #558 #562 #538 #566]: false
-#525 := [lemma #498]: #529
-#526 := [unit-resolution #525 #504]: #384
-#527 := (or #530 #369)
-#512 := [th-lemma arith triangle-eq]: #527
-#528 := [unit-resolution #512 #526]: #369
-#605 := (<= #15 0::Int)
-#564 := (or #530 #643)
-#579 := (or #578 #530 #643)
-#582 := [def-axiom]: #579
-#483 := [unit-resolution #582 #573]: #564
-#488 := [unit-resolution #483 #526]: #643
-#585 := (not #643)
-#467 := (or #585 #605)
-#470 := [th-lemma arith triangle-eq]: #467
-#474 := [unit-resolution #470 #488]: #605
-#658 := (<= #11 0::Int)
-#476 := (or #530 #387)
-#545 := (or #645 #530 #387)
-#547 := [def-axiom]: #545
-#477 := [unit-resolution #547 #570]: #476
-#475 := [unit-resolution #477 #526]: #387
-#549 := (not #387)
-#478 := (or #549 #658)
-#466 := [th-lemma arith triangle-eq]: #478
-#469 := [unit-resolution #466 #475]: #658
-#471 := [th-lemma arith farkas -3 -1 -1 1 #469 #474 #504 #528]: false
-#472 := [lemma #471]: #383
-#435 := (or #444 #503)
-#171 := (= #170 0::Int)
-#174 := (not #171)
-#58 := (* 3::Int #11)
-#61 := (+ #58 #15)
-#64 := (= f3 #61)
-#67 := (not #64)
-#175 := (iff #67 #174)
-#172 := (iff #64 #171)
-#173 := [rewrite]: #172
+#198 := (iff #50 #195)
+#168 := (if #32 #43 #163)
+#171 := (if #24 0::Int #168)
+#174 := (if #25 #19 #171)
+#177 := (= #42 #174)
+#180 := (forall (vars (?v0 Int) (?v1 Int)) #177)
+#196 := (iff #180 #195)
+#193 := (iff #177 #192)
+#190 := (= #174 #189)
+#187 := (= #171 #186)
+#184 := (= #168 #183)
+#185 := [monotonicity #140]: #184
+#188 := [monotonicity #185]: #187
+#191 := [monotonicity #188]: #190
+#194 := [monotonicity #191]: #193
+#197 := [quant-intro #194]: #196
+#181 := (iff #50 #180)
+#178 := (iff #49 #177)
+#175 := (= #48 #174)
+#172 := (= #47 #171)
+#169 := (= #46 #168)
+#166 := (= #45 #163)
+#160 := (- #157)
+#164 := (= #160 #163)
+#165 := [rewrite]: #164
+#161 := (= #45 #160)
+#158 := (= #44 #157)
+#159 := [monotonicity #101 #104]: #158
+#162 := [monotonicity #159]: #161
+#167 := [trans #162 #165]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
 #176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [quant-intro #179]: #181
+#199 := [trans #182 #197]: #198
+#156 := [asserted]: #50
+#200 := [mp #156 #199]: #195
+#203 := [mp~ #200 #207]: #195
+#251 := [mp #203 #250]: #248
+#282 := [mp #251 #281]: #279
+#770 := [mp #282 #769]: #765
+#657 := (not #765)
+#661 := (or #657 #666)
+#673 := (mod #752 #753)
+#670 := (+ #15 #673)
+#672 := (= #670 0::Int)
+#682 := (if #408 #681 #672)
+#683 := (if #429 #688 #682)
+#691 := (= #15 f3)
+#684 := (if #430 #691 #683)
+#641 := (or #657 #684)
+#644 := (iff #641 #661)
+#646 := (iff #661 #661)
+#647 := [rewrite]: #646
+#659 := (iff #684 #666)
+#664 := (if false #691 #666)
+#656 := (iff #664 #666)
+#658 := [rewrite]: #656
+#669 := (iff #684 #664)
+#667 := (iff #683 #666)
+#663 := (iff #682 #662)
+#671 := (iff #672 #677)
+#675 := (= #670 #674)
+#680 := (= #673 #693)
+#685 := [monotonicity #450]: #680
+#676 := [monotonicity #685]: #675
+#678 := [monotonicity #676]: #671
+#665 := [monotonicity #727 #678]: #663
+#668 := [monotonicity #665]: #667
+#655 := [monotonicity #747 #668]: #669
+#660 := [trans #655 #658]: #659
+#645 := [monotonicity #660]: #644
+#648 := [trans #645 #647]: #644
+#642 := [quant-inst #7 #10]: #641
+#649 := [mp #642 #648]: #661
+#577 := [unit-resolution #649 #770]: #666
+#623 := (not #666)
+#628 := (or #623 #429 #662)
+#629 := [def-axiom]: #628
+#512 := [unit-resolution #629 #577]: #533
+#515 := [unit-resolution #512 #571]: #662
+#697 := (not #722)
+#632 := (not #662)
+#476 := (or #707 #632 #697)
+#653 := (>= #679 0::Int)
+#535 := [hypothesis]: #662
+#542 := [hypothesis]: #350
+#633 := (or #632 #707 #681)
+#635 := [def-axiom]: #633
+#544 := [unit-resolution #635 #542 #535]: #681
+#638 := (not #681)
+#484 := (or #638 #653)
+#485 := [th-lemma arith triangle-eq]: #484
+#486 := [unit-resolution #485 #544]: #653
+#540 := (>= #419 0::Int)
+#526 := [hypothesis]: #722
+#695 := (or #697 #707 #420)
+#698 := [def-axiom]: #695
+#527 := [unit-resolution #698 #542 #526]: #420
+#582 := (not #420)
+#487 := (or #582 #540)
+#488 := [th-lemma arith triangle-eq]: #487
+#489 := [unit-resolution #488 #527]: #540
+#86 := (* -1::Int #15)
+#84 := (* -3::Int #11)
+#87 := (+ #84 #86)
+#88 := (+ f3 #87)
+#344 := (<= #88 0::Int)
+#490 := (not #344)
+#428 := (>= #88 0::Int)
+#549 := (not #428)
+#550 := [hypothesis]: #549
+#514 := (or #429 #428)
+#532 := (or #707 #428 #632 #697)
+#652 := (<= #679 0::Int)
+#545 := (or #638 #652)
+#546 := [th-lemma arith triangle-eq]: #545
+#548 := [unit-resolution #546 #544]: #652
+#547 := (* -3::Int #538)
+#602 := (+ #692 #547)
+#583 := (+ f3 #602)
+#584 := (>= #583 0::Int)
+#601 := (= #583 0::Int)
+#1 := true
+#68 := [true-axiom]: true
+#551 := (or false #601)
+#552 := [th-lemma arith]: #551
+#553 := [unit-resolution #552 #68]: #601
+#536 := (not #601)
+#554 := (or #536 #584)
+#524 := [th-lemma arith triangle-eq]: #554
+#525 := [unit-resolution #524 #553]: #584
+#539 := (<= #419 0::Int)
+#529 := (or #582 #539)
+#530 := [th-lemma arith triangle-eq]: #529
+#531 := [unit-resolution #530 #527]: #539
+#374 := [th-lemma arith farkas 3 -1 1 1 #531 #525 #550 #548]: false
+#528 := [lemma #374]: #532
+#519 := [unit-resolution #528 #515 #550 #534]: #707
+#705 := (or #350 #433)
+#699 := [def-axiom]: #705
+#521 := [unit-resolution #699 #519]: #433
+#700 := (or #350 #414)
+#706 := [def-axiom]: #700
+#522 := [unit-resolution #706 #519]: #414
+#520 := (or #429 #740 #454)
+#523 := [th-lemma arith triangle-eq]: #520
+#511 := [unit-resolution #523 #522 #521 #571]: false
+#516 := [lemma #511]: #514
+#517 := [unit-resolution #516 #550]: #429
+#513 := (or #575 #414)
+#518 := [th-lemma arith triangle-eq]: #513
+#508 := [unit-resolution #518 #517]: #414
+#650 := (<= #15 0::Int)
+#498 := (or #575 #688)
+#624 := (or #623 #575 #688)
+#627 := [def-axiom]: #624
+#500 := [unit-resolution #627 #577]: #498
+#501 := [unit-resolution #500 #517]: #688
+#630 := (not #688)
+#504 := (or #630 #650)
+#505 := [th-lemma arith triangle-eq]: #504
+#509 := [unit-resolution #505 #501]: #650
+#703 := (<= #11 0::Int)
+#502 := (or #575 #432)
+#590 := (or #690 #575 #432)
+#592 := [def-axiom]: #590
+#510 := [unit-resolution #592 #572]: #502
+#503 := [unit-resolution #510 #517]: #432
+#594 := (not #432)
+#506 := (or #594 #703)
+#507 := [th-lemma arith triangle-eq]: #506
+#493 := [unit-resolution #507 #503]: #703
+#495 := [th-lemma arith farkas -3 -1 -1 1 #493 #509 #550 #508]: false
+#496 := [lemma #495]: #428
+#492 := (or #490 #549)
+#89 := (= #88 0::Int)
+#92 := (not #89)
 #12 := (* #11 3::Int)
 #16 := (+ #12 #15)
 #17 := (= f3 #16)
 #18 := (not #17)
-#68 := (iff #18 #67)
-#65 := (iff #17 #64)
-#62 := (= #16 #61)
-#59 := (= #12 #58)
-#60 := [rewrite]: #59
-#63 := [monotonicity #60]: #62
-#66 := [monotonicity #63]: #65
-#69 := [monotonicity #66]: #68
-#52 := [asserted]: #18
-#70 := [mp #52 #69]: #67
-#177 := [mp #70 #176]: #174
-#445 := (or #171 #444 #503)
-#446 := [th-lemma arith triangle-eq]: #445
-#447 := [unit-resolution #446 #177]: #435
-#424 := [unit-resolution #447 #472]: #444
-#511 := (<= #557 0::Int)
-#426 := (or #508 #511)
-#427 := [th-lemma arith triangle-eq]: #426
-#428 := [unit-resolution #427 #507]: #511
-#429 := [th-lemma arith farkas -1 1 3 1 #428 #424 #443 #440]: false
-#431 := [lemma #429]: #430
-#468 := [unit-resolution #431 #571 #568]: #662
-#531 := [unit-resolution #654 #468]: #388
-#473 := [unit-resolution #661 #468]: #369
-#463 := [unit-resolution #558 #473 #531 #566]: false
-#453 := [lemma #463]: #384
-#533 := [unit-resolution #477 #453]: #387
-#540 := (or #549 #659)
-#542 := [th-lemma arith triangle-eq]: #540
-#543 := [unit-resolution #542 #533]: #659
-#606 := (>= #15 0::Int)
-#544 := [unit-resolution #483 #453]: #643
-#554 := (or #585 #606)
-#534 := [th-lemma arith triangle-eq]: #554
-#555 := [unit-resolution #534 #544]: #606
-#510 := (or #530 #388)
-#516 := [th-lemma arith triangle-eq]: #510
-#517 := [unit-resolution #516 #453]: #388
-[th-lemma arith farkas -1/3 1/3 1/3 1 #517 #555 #424 #543]: false
-44e7de81026e9de87a6d1cf926d12ef2c6a20dc7 86 0
-unsat
+#95 := (iff #18 #92)
+#71 := (* 3::Int #11)
+#74 := (+ #71 #15)
+#77 := (= f3 #74)
+#80 := (not #77)
+#93 := (iff #80 #92)
+#90 := (iff #77 #89)
+#91 := [rewrite]: #90
+#94 := [monotonicity #91]: #93
+#81 := (iff #18 #80)
+#78 := (iff #17 #77)
+#75 := (= #16 #74)
+#72 := (= #12 #71)
+#73 := [rewrite]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#96 := [trans #82 #94]: #95
+#70 := [asserted]: #18
+#97 := [mp #70 #96]: #92
+#491 := (or #89 #490 #549)
+#480 := [th-lemma arith triangle-eq]: #491
+#469 := [unit-resolution #480 #97]: #492
+#471 := [unit-resolution #469 #496]: #490
+#494 := (<= #583 0::Int)
+#472 := (or #536 #494)
+#473 := [th-lemma arith triangle-eq]: #472
+#474 := [unit-resolution #473 #553]: #494
+#475 := [th-lemma arith farkas -1 1 3 1 #474 #471 #489 #486]: false
+#477 := [lemma #475]: #476
+#497 := [unit-resolution #477 #515 #534]: #707
+#479 := [unit-resolution #699 #497]: #433
+#481 := [unit-resolution #706 #497]: #414
+#482 := [unit-resolution #523 #481 #479 #571]: false
+#483 := [lemma #482]: #429
+#470 := [unit-resolution #510 #483]: #432
+#478 := (or #594 #704)
+#463 := [th-lemma arith triangle-eq]: #478
+#464 := [unit-resolution #463 #470]: #704
+#651 := (>= #15 0::Int)
+#465 := [unit-resolution #500 #483]: #688
+#467 := (or #630 #651)
+#466 := [th-lemma arith triangle-eq]: #467
+#468 := [unit-resolution #466 #465]: #651
+#457 := (or #575 #433)
+#458 := [th-lemma arith triangle-eq]: #457
+#459 := [unit-resolution #458 #483]: #433
+[th-lemma arith farkas -1/3 1/3 1/3 1 #459 #468 #471 #464]: false
+unsat
+c91002b99b758c3ccb28f44af2851bf6d5b6b3b9 75 0
 #2 := false
 #7 := 0::Int
 decl f3 :: Int
 #8 := f3
-#28 := -1::Int
-#29 := (* -1::Int f3)
-#70 := (>= f3 0::Int)
-#73 := (if #70 f3 #29)
-#93 := (* -1::Int #73)
-#96 := (+ #29 #93)
-#97 := (<= #96 0::Int)
-#69 := (= #29 #73)
-#88 := (not #70)
-#94 := (+ f3 #93)
-#95 := (<= #94 0::Int)
-#68 := (= f3 #73)
-#100 := [hypothesis]: #70
-#89 := (or #88 #68)
-#90 := [def-axiom]: #89
-#101 := [unit-resolution #90 #100]: #68
-#102 := (not #68)
-#103 := (or #102 #95)
-#104 := [th-lemma arith triangle-eq]: #103
-#105 := [unit-resolution #104 #101]: #95
-#80 := (>= #73 0::Int)
-#84 := (not #80)
-#19 := (<= 0::Int f3)
-#35 := (if #19 f3 #29)
-#40 := (<= 0::Int #35)
-#46 := (not #40)
-#85 := (iff #46 #84)
-#82 := (iff #40 #80)
-#76 := (<= 0::Int #73)
-#79 := (iff #76 #80)
-#81 := [rewrite]: #79
-#77 := (iff #40 #76)
-#74 := (= #35 #73)
-#71 := (iff #19 #70)
-#72 := [rewrite]: #71
-#75 := [monotonicity #72]: #74
-#78 := [monotonicity #75]: #77
-#83 := [trans #78 #81]: #82
-#86 := [monotonicity #83]: #85
+#34 := -1::Int
+#35 := (* -1::Int f3)
+#47 := (>= f3 0::Int)
+#54 := (if #47 f3 #35)
+#74 := (* -1::Int #54)
+#83 := (+ #35 #74)
+#92 := (<= #83 0::Int)
+#79 := (= #35 #54)
+#48 := (not #47)
+#75 := (+ f3 #74)
+#82 := (<= #75 0::Int)
+#78 := (= f3 #54)
+#84 := [hypothesis]: #47
+#80 := (or #48 #78)
+#81 := [def-axiom]: #80
+#85 := [unit-resolution #81 #84]: #78
+#86 := (not #78)
+#87 := (or #86 #82)
+#88 := [th-lemma arith triangle-eq]: #87
+#89 := [unit-resolution #88 #85]: #82
+#63 := (>= #54 0::Int)
+#67 := (not #63)
 #10 := (- f3)
 #9 := (< f3 0::Int)
 #11 := (if #9 #10 f3)
 #12 := (<= 0::Int #11)
 #13 := (not #12)
-#47 := (iff #13 #46)
-#41 := (iff #12 #40)
-#43 := (iff #40 #40)
-#44 := [rewrite]: #43
-#38 := (= #11 #35)
-#20 := (not #19)
-#32 := (if #20 #29 f3)
-#36 := (= #32 #35)
+#70 := (iff #13 #67)
+#38 := (if #9 #35 f3)
+#41 := (<= 0::Int #38)
+#44 := (not #41)
+#68 := (iff #44 #67)
+#65 := (iff #41 #63)
+#59 := (<= 0::Int #54)
+#62 := (iff #59 #63)
+#64 := [rewrite]: #62
+#60 := (iff #41 #59)
+#57 := (= #38 #54)
+#51 := (if #48 #35 f3)
+#55 := (= #51 #54)
+#56 := [rewrite]: #55
+#52 := (= #38 #51)
+#49 := (iff #9 #48)
+#50 := [rewrite]: #49
+#53 := [monotonicity #50]: #52
+#58 := [trans #53 #56]: #57
+#61 := [monotonicity #58]: #60
+#66 := [trans #61 #64]: #65
+#69 := [monotonicity #66]: #68
+#45 := (iff #13 #44)
+#42 := (iff #12 #41)
+#39 := (= #11 #38)
+#36 := (= #10 #35)
 #37 := [rewrite]: #36
-#33 := (= #11 #32)
-#30 := (= #10 #29)
-#31 := [rewrite]: #30
-#21 := (iff #9 #20)
-#25 := (iff #20 #20)
-#23 := (iff #19 #19)
-#24 := [rewrite]: #23
-#26 := [monotonicity #24]: #25
-#22 := [rewrite]: #21
-#27 := [trans #22 #26]: #21
-#34 := [monotonicity #27 #31]: #33
-#39 := [trans #34 #37]: #38
-#42 := [monotonicity #39]: #41
-#45 := [trans #42 #44]: #41
-#48 := [monotonicity #45]: #47
-#15 := [asserted]: #13
-#49 := [mp #15 #48]: #46
-#87 := [mp #49 #86]: #84
-#106 := [th-lemma arith farkas -1 1 1 #100 #87 #105]: false
-#107 := [lemma #106]: #88
-#91 := (or #70 #69)
-#92 := [def-axiom]: #91
-#99 := [unit-resolution #92 #107]: #69
-#108 := (not #69)
-#109 := (or #108 #97)
-#110 := [th-lemma arith triangle-eq]: #109
-#111 := [unit-resolution #110 #99]: #97
-[th-lemma arith farkas 1 1 1 #87 #107 #111]: false
-6eee9e55ae7eb673a1282f59fcbd03d15f5bb9fe 165 0
-unsat
+#40 := [monotonicity #37]: #39
+#43 := [monotonicity #40]: #42
+#46 := [monotonicity #43]: #45
+#71 := [trans #46 #69]: #70
+#33 := [asserted]: #13
+#72 := [mp #33 #71]: #67
+#90 := [th-lemma arith farkas -1 1 1 #84 #72 #89]: false
+#91 := [lemma #90]: #48
+#76 := (or #47 #79)
+#77 := [def-axiom]: #76
+#94 := [unit-resolution #77 #91]: #79
+#95 := (not #79)
+#96 := (or #95 #92)
+#97 := [th-lemma arith triangle-eq]: #96
+#98 := [unit-resolution #97 #94]: #92
+[th-lemma arith farkas 1 1 1 #72 #91 #98]: false
+unsat
+f7d5d4604fbbb605eaa83e4616aa639b578e2c1f 103 0
 #2 := false
 #8 := 0::Int
 decl f3 :: Int
 #7 := f3
-#30 := -1::Int
-#31 := (* -1::Int f3)
-#78 := (>= f3 0::Int)
-#81 := (if #78 f3 #31)
-#77 := (>= #81 0::Int)
-#95 := (not #77)
-#76 := (<= #81 0::Int)
-#94 := (not #76)
-#96 := (or #94 #95)
-#145 := (* -1::Int #81)
-#148 := (+ #31 #145)
-#162 := (<= #148 0::Int)
-#119 := (= #31 #81)
-#109 := (not #78)
-#107 := (<= f3 0::Int)
-#108 := (not #107)
-#110 := (or #108 #109)
-#97 := (not #96)
-#164 := [hypothesis]: #97
-#139 := (or #96 #110)
-#111 := (not #110)
-#114 := (iff #96 #111)
+#36 := -1::Int
+#37 := (* -1::Int f3)
+#58 := (>= f3 0::Int)
+#65 := (if #58 f3 #37)
+#70 := (= #65 0::Int)
 #13 := (= f3 0::Int)
-#84 := (= #81 0::Int)
-#87 := (not #84)
-#90 := (iff #87 #13)
-#115 := (iff #90 #114)
-#112 := (iff #13 #111)
-#113 := [rewrite]: #112
-#105 := (iff #87 #96)
-#100 := (not #97)
-#103 := (iff #100 #96)
-#104 := [rewrite]: #103
-#101 := (iff #87 #100)
-#98 := (iff #84 #97)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#106 := [trans #102 #104]: #105
-#116 := [monotonicity #106 #113]: #115
-#21 := (<= 0::Int f3)
-#37 := (if #21 f3 #31)
-#42 := (= #37 0::Int)
-#51 := (not #42)
-#52 := (iff #51 #13)
-#91 := (iff #52 #90)
-#88 := (iff #51 #87)
-#85 := (iff #42 #84)
-#82 := (= #37 #81)
-#79 := (iff #21 #78)
-#80 := [rewrite]: #79
-#83 := [monotonicity #80]: #82
-#86 := [monotonicity #83]: #85
-#89 := [monotonicity #86]: #88
-#92 := [monotonicity #89]: #91
+#118 := (iff #13 #70)
+#87 := (= f3 #65)
+#101 := (<= #37 0::Int)
+#100 := (= #37 0::Int)
+#84 := (not #13)
+#59 := (not #58)
+#103 := [hypothesis]: #59
+#104 := (or #84 #58)
+#105 := [th-lemma arith triangle-eq]: #104
+#106 := [unit-resolution #105 #103]: #84
+#98 := (or #70 #13)
+#73 := (not #70)
+#76 := (iff #73 #13)
 #10 := (- f3)
 #9 := (< f3 0::Int)
 #11 := (if #9 #10 f3)
 #12 := (= #11 0::Int)
 #14 := (iff #12 #13)
 #15 := (not #14)
-#55 := (iff #15 #52)
-#45 := (iff #42 #13)
-#48 := (not #45)
-#53 := (iff #48 #52)
-#54 := [rewrite]: #53
-#49 := (iff #15 #48)
-#46 := (iff #14 #45)
-#43 := (iff #12 #42)
-#40 := (= #11 #37)
-#22 := (not #21)
-#34 := (if #22 #31 f3)
-#38 := (= #34 #37)
+#79 := (iff #15 #76)
+#40 := (if #9 #37 f3)
+#43 := (= #40 0::Int)
+#52 := (not #43)
+#53 := (iff #52 #13)
+#77 := (iff #53 #76)
+#74 := (iff #52 #73)
+#71 := (iff #43 #70)
+#68 := (= #40 #65)
+#62 := (if #59 #37 f3)
+#66 := (= #62 #65)
+#67 := [rewrite]: #66
+#63 := (= #40 #62)
+#60 := (iff #9 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#69 := [trans #64 #67]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#78 := [monotonicity #75]: #77
+#56 := (iff #15 #53)
+#46 := (iff #43 #13)
+#49 := (not #46)
+#54 := (iff #49 #53)
+#55 := [rewrite]: #54
+#50 := (iff #15 #49)
+#47 := (iff #14 #46)
+#44 := (iff #12 #43)
+#41 := (= #11 #40)
+#38 := (= #10 #37)
 #39 := [rewrite]: #38
-#35 := (= #11 #34)
-#32 := (= #10 #31)
-#33 := [rewrite]: #32
-#23 := (iff #9 #22)
-#27 := (iff #22 #22)
-#25 := (iff #21 #21)
-#26 := [rewrite]: #25
-#28 := [monotonicity #26]: #27
-#24 := [rewrite]: #23
-#29 := [trans #24 #28]: #23
-#36 := [monotonicity #29 #33]: #35
-#41 := [trans #36 #39]: #40
-#44 := [monotonicity #41]: #43
-#47 := [monotonicity #44]: #46
-#50 := [monotonicity #47]: #49
-#56 := [trans #50 #54]: #55
-#17 := [asserted]: #15
-#57 := [mp #17 #56]: #52
-#93 := [mp #57 #92]: #90
-#117 := [mp #93 #116]: #114
-#136 := (not #114)
-#137 := (or #96 #110 #136)
-#138 := [def-axiom]: #137
-#140 := [unit-resolution #138 #117]: #139
-#165 := [unit-resolution #140 #164]: #110
-#124 := (or #96 #76)
-#125 := [def-axiom]: #124
-#166 := [unit-resolution #125 #164]: #76
-#160 := (or #107 #94)
-#146 := (+ f3 #145)
-#147 := (<= #146 0::Int)
-#118 := (= f3 #81)
-#149 := [hypothesis]: #108
-#150 := (or #107 #78)
-#151 := [th-lemma arith farkas 1 1]: #150
-#152 := [unit-resolution #151 #149]: #78
-#120 := (or #109 #118)
-#121 := [def-axiom]: #120
-#153 := [unit-resolution #121 #152]: #118
-#154 := (not #118)
-#155 := (or #154 #147)
-#156 := [th-lemma arith triangle-eq]: #155
-#157 := [unit-resolution #156 #153]: #147
-#158 := [hypothesis]: #76
-#159 := [th-lemma arith farkas -1 1 1 #149 #158 #157]: false
-#161 := [lemma #159]: #160
-#167 := [unit-resolution #161 #166]: #107
-#134 := (or #111 #108 #109)
-#135 := [def-axiom]: #134
-#168 := [unit-resolution #135 #167 #165]: #109
-#122 := (or #78 #119)
-#123 := [def-axiom]: #122
-#169 := [unit-resolution #123 #168]: #119
-#170 := (not #119)
-#171 := (or #170 #162)
-#172 := [th-lemma arith triangle-eq]: #171
-#173 := [unit-resolution #172 #169]: #162
-#174 := [th-lemma arith farkas 1 1 1 #166 #168 #173]: false
-#175 := [lemma #174]: #96
-#143 := (or #97 #111)
-#141 := (or #97 #111 #136)
-#142 := [def-axiom]: #141
-#144 := [unit-resolution #142 #117]: #143
-#176 := [unit-resolution #144 #175]: #111
-#132 := (or #110 #78)
-#133 := [def-axiom]: #132
-#177 := [unit-resolution #133 #176]: #78
-#178 := [unit-resolution #121 #177]: #118
-#179 := [unit-resolution #156 #178]: #147
-#180 := (not #147)
-#181 := (or #77 #109 #180)
-#182 := [th-lemma arith assign-bounds -1 1]: #181
-#183 := [unit-resolution #182 #177 #179]: #77
-#163 := (>= #146 0::Int)
-#184 := (or #154 #163)
-#185 := [th-lemma arith triangle-eq]: #184
-#186 := [unit-resolution #185 #178]: #163
-#130 := (or #110 #107)
-#131 := [def-axiom]: #130
-#187 := [unit-resolution #131 #176]: #107
-#188 := (not #163)
-#189 := (or #76 #108 #188)
-#190 := [th-lemma arith assign-bounds -1 1]: #189
-#191 := [unit-resolution #190 #187 #186]: #76
-#128 := (or #97 #94 #95)
-#129 := [def-axiom]: #128
-[unit-resolution #129 #191 #183 #175]: false
-1f4bd6ea16be20cad268dc7281facb65139024ab 130 0
-unsat
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#48 := [monotonicity #45]: #47
+#51 := [monotonicity #48]: #50
+#57 := [trans #51 #55]: #56
+#80 := [trans #57 #78]: #79
+#35 := [asserted]: #15
+#81 := [mp #35 #80]: #76
+#91 := (not #76)
+#96 := (or #70 #13 #91)
+#97 := [def-axiom]: #96
+#99 := [unit-resolution #97 #81]: #98
+#107 := [unit-resolution #99 #106]: #70
+#88 := (= #37 #65)
+#85 := (or #58 #88)
+#86 := [def-axiom]: #85
+#108 := [unit-resolution #86 #103]: #88
+#109 := [trans #108 #107]: #100
+#110 := (not #100)
+#111 := (or #110 #101)
+#112 := [th-lemma arith triangle-eq]: #111
+#113 := [unit-resolution #112 #109]: #101
+#114 := [th-lemma arith farkas 1 1 #103 #113]: false
+#115 := [lemma #114]: #58
+#89 := (or #59 #87)
+#90 := [def-axiom]: #89
+#117 := [unit-resolution #90 #115]: #87
+#119 := [monotonicity #117]: #118
+#120 := (iff #84 #73)
+#121 := [monotonicity #119]: #120
+#102 := [hypothesis]: #84
+#122 := [mp #102 #121]: #73
+#116 := [unit-resolution #99 #102]: #70
+#123 := [unit-resolution #116 #122]: false
+#124 := [lemma #123]: #13
+#126 := [mp #124 #119]: #70
+#94 := (or #73 #84)
+#92 := (or #73 #84 #91)
+#93 := [def-axiom]: #92
+#95 := [unit-resolution #93 #81]: #94
+#125 := [unit-resolution #95 #124]: #73
+[unit-resolution #125 #126]: false
+unsat
+a86d5276873d6d3bf936c62241af1fdd8cbbc24a 102 0
 #2 := false
 #7 := 0::Int
 decl f3 :: Int
 #8 := f3
-#29 := -1::Int
-#30 := (* -1::Int f3)
-#76 := (>= f3 0::Int)
-#82 := (if #76 f3 #30)
-#75 := (* -1::Int #82)
-#130 := (+ #30 #75)
-#131 := (<= #130 0::Int)
-#110 := (= #30 #82)
-#79 := (not #76)
-#92 := (+ f3 #75)
-#93 := (<= #92 0::Int)
-#95 := (not #93)
-#74 := (>= #92 0::Int)
-#94 := (not #74)
-#96 := (or #94 #95)
-#97 := (not #96)
-#109 := (= f3 #82)
-#133 := (not #109)
-#134 := [hypothesis]: #133
-#111 := (or #79 #109)
-#112 := [def-axiom]: #111
-#135 := [unit-resolution #112 #134]: #79
-#124 := (or #76 #97)
-#103 := (iff #76 #96)
-#85 := (= #82 f3)
-#88 := (iff #79 #85)
-#106 := (iff #88 #103)
-#100 := (iff #79 #97)
-#104 := (iff #100 #103)
-#105 := [rewrite]: #104
-#101 := (iff #88 #100)
-#98 := (iff #85 #97)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#107 := [trans #102 #105]: #106
-#9 := (<= 0::Int f3)
-#36 := (if #9 f3 #30)
-#41 := (= #36 f3)
-#23 := (not #9)
-#50 := (iff #23 #41)
-#89 := (iff #50 #88)
-#86 := (iff #41 #85)
-#83 := (= #36 #82)
-#77 := (iff #9 #76)
-#78 := [rewrite]: #77
-#84 := [monotonicity #78]: #83
-#87 := [monotonicity #84]: #86
-#80 := (iff #23 #79)
-#81 := [monotonicity #78]: #80
-#90 := [monotonicity #81 #87]: #89
+#36 := -1::Int
+#37 := (* -1::Int f3)
+#112 := (* -1::Int #37)
+#113 := (+ f3 #112)
+#115 := (>= #113 0::Int)
+#111 := (= f3 #37)
+#58 := (>= f3 0::Int)
+#69 := (if #58 f3 #37)
+#119 := (= #69 #37)
+#89 := (= #37 #69)
+#61 := (not #58)
+#74 := (= #69 f3)
+#88 := (= f3 #69)
+#105 := (not #88)
+#84 := (not #74)
+#106 := (iff #84 #105)
+#103 := (iff #74 #88)
+#104 := [commutativity]: #103
+#107 := [monotonicity #104]: #106
+#100 := [hypothesis]: #84
+#108 := [mp #100 #107]: #105
+#98 := (or #58 #74)
+#77 := (iff #61 #74)
 #11 := (- f3)
 #10 := (< f3 0::Int)
 #12 := (if #10 #11 f3)
 #13 := (= #12 f3)
+#9 := (<= 0::Int f3)
 #14 := (iff #9 #13)
 #15 := (not #14)
-#53 := (iff #15 #50)
-#44 := (iff #9 #41)
-#47 := (not #44)
-#51 := (iff #47 #50)
-#52 := [rewrite]: #51
-#48 := (iff #15 #47)
-#45 := (iff #14 #44)
-#42 := (iff #13 #41)
-#39 := (= #12 #36)
-#33 := (if #23 #30 f3)
-#37 := (= #33 #36)
-#38 := [rewrite]: #37
-#34 := (= #12 #33)
-#31 := (= #11 #30)
-#32 := [rewrite]: #31
-#24 := (iff #10 #23)
-#26 := (iff #23 #23)
-#21 := (iff #9 #9)
-#22 := [rewrite]: #21
-#27 := [monotonicity #22]: #26
-#25 := [rewrite]: #24
-#28 := [trans #25 #27]: #24
-#35 := [monotonicity #28 #32]: #34
-#40 := [trans #35 #38]: #39
-#43 := [monotonicity #40]: #42
-#46 := [monotonicity #22 #43]: #45
-#49 := [monotonicity #46]: #48
-#54 := [trans #49 #52]: #53
-#17 := [asserted]: #15
-#55 := [mp #17 #54]: #50
-#91 := [mp #55 #90]: #88
-#108 := [mp #91 #107]: #103
-#121 := (not #103)
-#122 := (or #76 #97 #121)
-#123 := [def-axiom]: #122
-#125 := [unit-resolution #123 #108]: #124
-#136 := [unit-resolution #125 #135]: #97
-#117 := (or #96 #93)
-#118 := [def-axiom]: #117
-#137 := [unit-resolution #118 #136]: #93
-#115 := (or #96 #74)
-#116 := [def-axiom]: #115
-#138 := [unit-resolution #116 #136]: #74
-#139 := (or #109 #95 #94)
-#140 := [th-lemma arith triangle-eq]: #139
-#141 := [unit-resolution #140 #134 #138 #137]: false
-#142 := [lemma #141]: #109
-#143 := (or #133 #74)
-#144 := [th-lemma arith triangle-eq]: #143
-#145 := [unit-resolution #144 #142]: #74
-#146 := (or #133 #93)
-#147 := [th-lemma arith triangle-eq]: #146
-#148 := [unit-resolution #147 #142]: #93
-#119 := (or #97 #94 #95)
-#120 := [def-axiom]: #119
-#149 := [unit-resolution #120 #148 #145]: #97
-#128 := (or #79 #96)
-#126 := (or #79 #96 #121)
-#127 := [def-axiom]: #126
-#129 := [unit-resolution #127 #108]: #128
-#150 := [unit-resolution #129 #149]: #79
-#113 := (or #76 #110)
-#114 := [def-axiom]: #113
-#151 := [unit-resolution #114 #150]: #110
-#152 := (not #110)
-#153 := (or #152 #131)
-#154 := [th-lemma arith triangle-eq]: #153
-#155 := [unit-resolution #154 #151]: #131
-[th-lemma arith farkas 2 1 1 #150 #145 #155]: false
-d4189e2ade5b8393242e31d994e5b087c3842ddf 143 0
+#80 := (iff #15 #77)
+#40 := (if #10 #37 f3)
+#43 := (= #40 f3)
+#52 := (not #9)
+#53 := (iff #52 #43)
+#78 := (iff #53 #77)
+#75 := (iff #43 #74)
+#72 := (= #40 #69)
+#66 := (if #61 #37 f3)
+#70 := (= #66 #69)
+#71 := [rewrite]: #70
+#67 := (= #40 #66)
+#64 := (iff #10 #61)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#73 := [trans #68 #71]: #72
+#76 := [monotonicity #73]: #75
+#62 := (iff #52 #61)
+#59 := (iff #9 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#79 := [monotonicity #63 #76]: #78
+#56 := (iff #15 #53)
+#46 := (iff #9 #43)
+#49 := (not #46)
+#54 := (iff #49 #53)
+#55 := [rewrite]: #54
+#50 := (iff #15 #49)
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#41 := (= #12 #40)
+#38 := (= #11 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#48 := [monotonicity #45]: #47
+#51 := [monotonicity #48]: #50
+#57 := [trans #51 #55]: #56
+#81 := [trans #57 #79]: #80
+#35 := [asserted]: #15
+#82 := [mp #35 #81]: #77
+#85 := (not #77)
+#96 := (or #58 #74 #85)
+#97 := [def-axiom]: #96
+#99 := [unit-resolution #97 #82]: #98
+#101 := [unit-resolution #99 #100]: #58
+#90 := (or #61 #88)
+#91 := [def-axiom]: #90
+#102 := [unit-resolution #91 #101]: #88
+#109 := [unit-resolution #102 #108]: false
+#110 := [lemma #109]: #74
+#94 := (or #61 #84)
+#92 := (or #61 #84 #85)
+#93 := [def-axiom]: #92
+#95 := [unit-resolution #93 #82]: #94
+#116 := [unit-resolution #95 #110]: #61
+#86 := (or #58 #89)
+#87 := [def-axiom]: #86
+#117 := [unit-resolution #87 #116]: #89
+#120 := [symm #117]: #119
+#118 := [symm #110]: #88
+#121 := [trans #118 #120]: #111
+#122 := (not #111)
+#123 := (or #122 #115)
+#124 := [th-lemma arith triangle-eq]: #123
+#125 := [unit-resolution #124 #121]: #115
+[th-lemma arith farkas 2 1 #116 #125]: false
+unsat
+1d4370f4d13676652ec1fdf0e92ac69e5f27e6bc 143 0
 #2 := false
 #8 := 0::Int
 decl f3 :: Int
@@ -43592,7 +40814,7 @@
 #166 := [unit-resolution #99 #162]: #52
 [th-lemma arith farkas 2 1 1 #166 #165 #161]: false
 unsat
-6e505bbe74d8a0cc7b4aa4675a487119e8023d46 116 0
+2b84e732fcc2714735cd598d8c722a6eb6af2d0d 116 0
 #2 := false
 #8 := 0::Int
 decl f3 :: Int
@@ -43709,7 +40931,7 @@
 #147 := [unit-resolution #146 #143]: #141
 [th-lemma arith farkas 1 1 1 #140 #138 #147]: false
 unsat
-b84cd4b4d4f113193dc5e0fed03847844f8dc058 57 0
+9936c013aaffef1779de3d0aed544f8c88008f68 57 0
 #2 := false
 #14 := 0::Int
 decl f4 :: Int
@@ -43767,7 +40989,7 @@
 #79 := [unit-resolution #78 #75]: #73
 [th-lemma arith farkas 1 1 1 #58 #74 #79]: false
 unsat
-57cb3c449627b0e103d175fe91d160e37eb458b9 57 0
+92b8d5040546ba1e7f64484d25bbbd4c81b10ebb 57 0
 #2 := false
 #14 := 0::Int
 decl f4 :: Int
@@ -43825,7 +41047,7 @@
 #79 := [th-lemma arith triangle-eq]: #78
 [unit-resolution #79 #76 #58]: false
 unsat
-ead5d10b3d302f37ae6691af9bffd34bbe254dbf 103 0
+4790a8f58d0e5e129b7570eac05a8802b41105cc 103 0
 #2 := false
 #19 := 0::Int
 decl f5 :: Int
@@ -43929,7 +41151,7 @@
 #124 := [unit-resolution #123 #120]: #117
 [th-lemma arith farkas -1 -1 1 #124 #94 #95]: false
 unsat
-0b3e4057c520e862b76979ea431eac352d39a39b 94 0
+3023c6408a65f8e0a7c485f4d2c4804457e87603 94 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -44024,7 +41246,7 @@
 #117 := [trans #116 #112]: #53
 [unit-resolution #59 #117]: false
 unsat
-c34966074811c5f7bd6d1d6b1a5efd6aba6c7ebc 53 0
+578d0e90251e6cdccfeca9dee8a741fa13906118 53 0
 #2 := false
 #7 := 0::Int
 decl f3 :: Int
@@ -44078,7 +41300,7 @@
 #75 := [trans #74 #71]: #12
 [unit-resolution #59 #75]: false
 unsat
-27e0298cf8da33cbbea5b9b24d6cd2a5d79bcdcc 124 0
+269e3d24017640dc0306b86823b964d47dcf1328 124 0
 #2 := false
 #12 := 0::Int
 decl f4 :: Int
@@ -44203,7 +41425,7 @@
 #147 := [unit-resolution #114 #146]: #108
 [th-lemma arith farkas 1/2 3/2 1 1 1 #145 #133 #87 #143 #147]: false
 unsat
-6172e7a5fce8d6d8bfd1cb6db3a242b38caaaf52 57 0
+1d8c0a442e62239de5b308a0ab90a7e051e0c053 57 0
 #2 := false
 #14 := 0::Int
 decl f3 :: Int
@@ -44261,7 +41483,7 @@
 #79 := [th-lemma arith triangle-eq]: #78
 [unit-resolution #79 #76 #58]: false
 unsat
-eb721fdcb56947acb47cbd291d0d784fc39e4176 57 0
+33356681256058514a33561c44762f0ba6ed5330 57 0
 #2 := false
 #14 := 0::Int
 decl f4 :: Int
@@ -44319,7 +41541,7 @@
 #79 := [unit-resolution #78 #75]: #72
 [th-lemma arith farkas 1 1 1 #58 #74 #79]: false
 unsat
-34a316044a78671ecbd5861430fe1013fee421ec 103 0
+f450c8992954aa7e8354d82bf2535ed9619b8684 103 0
 #2 := false
 #19 := 0::Int
 decl f3 :: Int
@@ -44423,7 +41645,7 @@
 #124 := [unit-resolution #123 #120]: #118
 [th-lemma arith farkas -1 1 1 #124 #93 #95]: false
 unsat
-3fa37a402d59529838df2e5f73f6f77682f7982d 96 0
+dc09c2944521a51fac5d926e6bf8729bfa0f3e92 96 0
 #2 := false
 decl f4 :: Int
 #8 := f4
@@ -44520,7 +41742,7 @@
 #119 := [trans #118 #114]: #53
 [unit-resolution #59 #119]: false
 unsat
-f995c21ac02db2a6cac2e38b26761e729e79b379 60 0
+3742caaf5383415a6af8d6cc983e20de965a2c95 60 0
 #2 := false
 decl f3 :: Int
 #8 := f3
@@ -44581,7 +41803,7 @@
 #82 := [trans #79 #81]: #68
 [unit-resolution #74 #82]: false
 unsat
-05cfbef4515b026ca06ebf58a35758847fe6425e 214 0
+2fb3cafc864ef15c2b5fc68d255cca5586a02215 214 0
 #2 := false
 #8 := 0::Int
 decl f4 :: Int
@@ -44796,7 +42018,7 @@
 #238 := [unit-resolution #174 #237]: #162
 [th-lemma arith farkas 1 1 1 1 1 1 #212 #227 #133 #229 #238 #236]: false
 unsat
-a4bea54c174a812dc90d41994d00a1b62e09324a 53 0
+6d267e11bf9368fb47a07436e29a6e62106843a6 53 0
 #2 := false
 #10 := 1::Int
 decl f3 :: Int
@@ -44850,7 +42072,7 @@
 #63 := [and-elim #62]: #44
 [th-lemma arith farkas 1 1 #63 #73]: false
 unsat
-6b1fd4164c9a3bc3b6f6a1779970e5f9a212ac94 18 0
+fa8bb7c26f623612658531ec8179e791dc02e2b0 18 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -44869,7 +42091,7 @@
 #30 := [asserted]: #9
 [mp #30 #41]: false
 unsat
-d32e1c3a9584812c7d4ef0093047f73880b01a2e 51 0
+c500db7a265d55897d1b4a11d5a17d5998ebe9ba 51 0
 #2 := false
 decl f4 :: Int
 #8 := f4
@@ -44921,7 +42143,7 @@
 #36 := [asserted]: #15
 [mp #36 #70]: false
 unsat
-3ad7098d25ffe898fa92bcf6a3b1bf60731ed829 56 0
+9ac1771d791a430d0a7637ac3d9b4ab1780df97b 56 0
 #2 := false
 decl f4 :: Int
 #8 := f4
@@ -44978,7 +42200,7 @@
 #36 := [asserted]: #15
 [mp #36 #75]: false
 unsat
-021a2ccfe2f169916c13de90c0a65b798955c7c4 52 0
+0d0dc16c86e745f503bac8f1609551cac0dec35b 52 0
 #2 := false
 #14 := 0::Int
 decl f4 :: Int
@@ -45031,7 +42253,7 @@
 #79 := [unit-resolution #78 #67]: #55
 [unit-resolution #79 #69]: false
 unsat
-cd494a327086bb14c2815a5bf50e8d8ef62f947f 73 0
+e17223976134e90d22d663b546f65c41ad005eb7 73 0
 #2 := false
 #54 := -1::Int
 decl f4 :: Int
@@ -45105,7 +42327,7 @@
 #81 := [unit-resolution #85 #76]: #80
 [unit-resolution #81 #94 #91]: false
 unsat
-945ffcf16061a167fde6a7075ed9332c98f7d17c 15 0
+c2029d4b6a4d4114a4b031b834e2a253b97e4371 15 0
 #2 := false
 decl f3 :: Int
 #7 := f3
@@ -45121,7 +42343,7 @@
 #31 := [asserted]: #10
 [mp #31 #37]: false
 unsat
-85f19ade787969483a16e4ebd4b917f9f0234f87 75 0
+28e1620c910a232c81f0832f349f8c958506720d 75 0
 #2 := false
 #17 := 0::Int
 decl f5 :: Int
@@ -45197,7 +42419,7 @@
 #91 := [not-or-elim #90]: #68
 [th-lemma arith farkas 1 -1 1 #91 #94 #92]: false
 unsat
-931acbba508535ba7d1335a982cf7a172a535d9c 80 0
+dac056ed6e93880024b69dbec647c1c9343924fe 80 0
 #2 := false
 #17 := 0::Int
 decl f5 :: Int
@@ -45278,7 +42500,7 @@
 #99 := [not-or-elim #95]: #98
 [th-lemma arith farkas 1 1 1 #99 #96 #97]: false
 unsat
-816d4005adca7e29ab45b1020b26b4dce5e836b4 80 0
+a8974893df200f396c634d964eb984c48eec55db 80 0
 #2 := false
 #17 := 0::Int
 decl f5 :: Int
@@ -45359,7 +42581,7 @@
 #96 := [not-or-elim #95]: #73
 [th-lemma arith farkas 1 1 1 #96 #97 #99]: false
 unsat
-2e4e306dde5e00fefa942379810b423549afc80a 85 0
+b7e0a4eabb9a618e1df287bffee02d5551032ee6 85 0
 #2 := false
 #17 := 0::Int
 decl f5 :: Int
@@ -45445,7 +42667,7 @@
 #102 := [not-or-elim #101]: #72
 [th-lemma arith farkas 1 1 1 #102 #103 #104]: false
 unsat
-6ff3c7abc0fee4a9e14344b48daedbcf5f5fa00f 69 0
+0d64561170d5f7666bfabd32ae1c1b5265d931e6 69 0
 #2 := false
 #18 := 0::Int
 decl f5 :: Int
@@ -45515,7 +42737,7 @@
 #86 := [and-elim #85]: #46
 [th-lemma arith farkas 1 1 1 #86 #87 #88]: false
 unsat
-350ef141a75c095cba28d720b8371e2490c8bb19 17 0
+af0350f575bb011825d92c6b725b23ef78ce1fa1 17 0
 #2 := false
 #7 := 0::Real
 #8 := (= 0::Real 0::Real)
@@ -45533,7 +42755,7 @@
 #29 := [asserted]: #9
 [mp #29 #38]: false
 unsat
-21acd48b54433e537e09b8f6f2ffb24eacd32980 25 0
+1ef636a83dafea60626dc36221ab0791106b1afd 25 0
 #2 := false
 #7 := 0::Real
 #8 := (- 0::Real)
@@ -45559,7 +42781,7 @@
 #30 := [asserted]: #10
 [mp #30 #46]: false
 unsat
-481d09c848302673296d6da57e855bb3bb5428f4 17 0
+40be88f85c9e0db481ad8ec82bd95178d7fea9fc 17 0
 #2 := false
 #7 := 1::Real
 #8 := (= 1::Real 1::Real)
@@ -45577,7 +42799,7 @@
 #30 := [asserted]: #9
 [mp #30 #39]: false
 unsat
-7526daf188c418735315464dcb1bae49e4d1c6a4 34 0
+158b50cd7a5340c24e2fc62138c985348713654b 34 0
 #2 := false
 #7 := 1::Real
 #8 := (- 1::Real)
@@ -45612,7 +42834,7 @@
 #32 := [asserted]: #11
 [mp #32 #56]: false
 unsat
-f989bf5d645754958077a25b45a102186a2c8468 18 0
+6f5d484ec7cfad7af7977254dc019939ebd214cc 18 0
 #2 := false
 #8 := 1::Real
 #7 := 0::Real
@@ -45631,7 +42853,7 @@
 #30 := [asserted]: #10
 [mp #30 #41]: false
 unsat
-71711cc01c8c80c87657e4ad599846d287b28e35 18 0
+e4647906bb792263dfef92dd4a04fd86cf8efa48 18 0
 #2 := false
 #8 := 1::Real
 #7 := 0::Real
@@ -45650,7 +42872,7 @@
 #30 := [asserted]: #10
 [mp #30 #41]: false
 unsat
-ea4d13d40e3f40148fe15c5ac2bbd56a3256548a 40 0
+6c6a35c4c4c8290ce89a1005e8de2a68e38ab9f1 40 0
 #2 := false
 #11 := 567::Real
 #9 := 345::Real
@@ -45691,7 +42913,7 @@
 #34 := [asserted]: #13
 [mp #34 #62]: false
 unsat
-f37864df8bd3862357cec2b2b3e0079ce8f89a8d 18 0
+6cd7f01d0158fe1b48c671f1634290b4c3d0362e 18 0
 #2 := false
 #8 := 2345678901::Real
 #7 := 123456789::Real
@@ -45710,7 +42932,7 @@
 #31 := [asserted]: #10
 [mp #31 #42]: false
 unsat
-848068d33a75fce3ca7ec5b7cc3564150c9afd1d 30 0
+bd73a6ae0433b55288108717d8c4076884cd2760 30 0
 #2 := false
 #9 := 2345678901::Real
 #7 := 123456789::Real
@@ -45741,7 +42963,7 @@
 #32 := [asserted]: #11
 [mp #32 #52]: false
 unsat
-31521991dfd970c057cb8150c9652aec59e07704 26 0
+cb2f1c021f02a4a0896a377a14007ceda9f3dfef 26 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -45768,7 +42990,7 @@
 #31 := [asserted]: #11
 [mp #31 #46]: false
 unsat
-6757cdf387098ea19b45fbcbcb515eeb487bf8f8 26 0
+df95853dfdf63ff909e7c1d6374a552556297148 26 0
 #2 := false
 decl f3 :: Real
 #8 := f3
@@ -45795,7 +43017,7 @@
 #31 := [asserted]: #11
 [mp #31 #46]: false
 unsat
-3f2d195dd68cf890f1ca7d83a830eeccc0d57255 29 0
+38e4ae2664df97269d895a97d6a0913820867eda 29 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -45825,7 +43047,7 @@
 #33 := [asserted]: #12
 [mp #33 #49]: false
 unsat
-e8a6e64d56abb2bc442b2a42c9dd8c760a528cdb 33 0
+fdc6d9651e9ea1edb706f73f48fa04bf1897ffad 33 0
 #2 := false
 decl f5 :: Real
 #9 := f5
@@ -45859,7 +43081,7 @@
 #36 := [asserted]: #15
 [mp #36 #52]: false
 unsat
-da67a8554477e4765556fd0a3f279034168c96a4 45 0
+b90b5c8c12f8e63f42b7158cdc22e7616d773fed 45 0
 #2 := false
 decl f4 :: Real
 #8 := f4
@@ -45905,7 +43127,7 @@
 #35 := [asserted]: #15
 [mp #35 #65]: false
 unsat
-6811cc1a4bfad536ab1a6a586c61daecfd29788f 26 0
+44508c3b99ed3ca47c812dcb3cd063b1955bb40d 26 0
 #2 := false
 #7 := 1::Real
 #8 := (- 1::Real)
@@ -45932,7 +43154,7 @@
 #31 := [asserted]: #10
 [mp #31 #48]: false
 unsat
-aa2cb1d7717b9c49c4e48402428e4ddb7de5523b 26 0
+fce41356fa222cd0ad9967bcbb1e367080f22540 26 0
 #2 := false
 #7 := 3::Real
 #8 := (- 3::Real)
@@ -45959,7 +43181,7 @@
 #31 := [asserted]: #10
 [mp #31 #48]: false
 unsat
-b82f2c57c3991807ae36eb3352dd673d6ee809c4 53 0
+f92b0a53b26261788a99f1f102e26adc2affa71b 53 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46013,7 +43235,7 @@
 #33 := [asserted]: #13
 [mp #33 #74]: false
 unsat
-49601c2ee192c05037ae2ddde04a749818f5a75e 61 0
+947dbc99dc836af0697bbc290f76c877a29a0775 61 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -46075,7 +43297,7 @@
 #33 := [asserted]: #13
 [mp #33 #81]: false
 unsat
-51f38431acaaabbe473cf949af6afab6ca1aafcf 61 0
+f85f7c93404a45994b3d3e795113b1a47ef37a6c 61 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46137,7 +43359,7 @@
 #33 := [asserted]: #13
 [mp #33 #81]: false
 unsat
-0b167657d89597cff4ad497a1e580da4d6c11e72 26 0
+d1707afef5a1121f793c4ae15ea4d8dd324a2ebb 26 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46164,7 +43386,7 @@
 #31 := [asserted]: #11
 [mp #31 #46]: false
 unsat
-ccfbfd13a5b76b3c59e23f1d5b1857adca54db23 32 0
+4d2d9e6632b13b50703c8241c824ac4bc60fa851 32 0
 #2 := false
 decl f3 :: Real
 #8 := f3
@@ -46197,7 +43419,7 @@
 #32 := [asserted]: #12
 [mp #32 #52]: false
 unsat
-a5fc90b4c796e1c2116bff64e4df36775c337a04 64 0
+f26054cf9e6e46ab9f14eb8b4fa90c23c83e1e20 64 0
 #2 := false
 #11 := 0::Real
 decl f4 :: Real
@@ -46262,7 +43484,7 @@
 #34 := [asserted]: #14
 [mp #34 #83]: false
 unsat
-7ed72828350129130a88941dee3cc368dd21cb65 44 0
+34a1de7290f4c8a36751d89b547f21ddb0c0cada 44 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46307,7 +43529,7 @@
 #34 := [asserted]: #13
 [mp #34 #64]: false
 unsat
-c431a50fe81f19bdf1df51651ad04729ae603478 42 0
+431807e85783cee305c53c73752025f626bba5f5 42 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46350,7 +43572,7 @@
 #34 := [asserted]: #13
 [mp #34 #62]: false
 unsat
-65271dc3ab073ac04b3246ac44e6c8414e091882 48 0
+8531d27b75ee018ed4f78df6ab158a7dfda20b74 48 0
 #2 := false
 decl f5 :: Real
 #10 := f5
@@ -46399,7 +43621,7 @@
 #36 := [asserted]: #15
 [mp #36 #67]: false
 unsat
-53812613c50ce7830d84e557641bcca3c4812dd5 26 0
+091bb9dd524578370d5c755a79bf57f30adc2896 26 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -46426,7 +43648,7 @@
 #31 := [asserted]: #11
 [mp #31 #46]: false
 unsat
-856e04187cdbc2035a45396cc77f893736b91735 26 0
+11ee5f34d2e69fbb83f75a1ce8b20231b0b9ee4e 26 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -46453,7 +43675,7 @@
 #31 := [asserted]: #11
 [mp #31 #46]: false
 unsat
-851b09d524dddf4dc26796a2641c88c095c084d1 26 0
+c3a72c0601b8cbc5a12b6de3f04815e4023a22d9 26 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46480,7 +43702,7 @@
 #32 := [asserted]: #11
 [mp #32 #47]: false
 unsat
-e644fd725742c5947a76808fa8508e0afd656cd8 26 0
+d67f22dcf49dbce534730cc3548cbd6548413fe9 26 0
 #2 := false
 decl f3 :: Real
 #8 := f3
@@ -46507,7 +43729,7 @@
 #32 := [asserted]: #11
 [mp #32 #47]: false
 unsat
-0ddad1522f46ecc70264e9eb7e7c8e72b14a1fe7 40 0
+da0267c834e2691ae6adb35657dd447f07a5ddb0 40 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46548,7 +43770,7 @@
 #34 := [asserted]: #13
 [mp #34 #61]: false
 unsat
-f5c5be999a961dbeb7007aacb486ddf3fbcad948 35 0
+64b057a096fc36168819ce708a4a964a21d4a714 35 0
 #2 := false
 decl f3 :: Real
 #9 := f3
@@ -46584,7 +43806,7 @@
 #34 := [asserted]: #13
 [mp #34 #56]: false
 unsat
-fa62ab1f8f4c43363df0c20a0e78ae4b3d0bf5f6 28 0
+c3e2eae4d4e8a5d34e7872b606228eba3fbea719 28 0
 #2 := false
 #7 := 3::Real
 decl f3 :: Real
@@ -46613,7 +43835,7 @@
 #33 := [asserted]: #12
 [mp #33 #49]: false
 unsat
-ca0e54020823cad060f3d1ba1d831227210c5d87 30 0
+5e33e92f4c8750528f60b2e66569586bf0f0bb45 30 0
 #2 := false
 #7 := 1::Real
 #8 := 2::Real
@@ -46644,7 +43866,7 @@
 #32 := [asserted]: #11
 [mp #32 #52]: false
 unsat
-ad7a6067815e419f4adff50cf7e013cfa4e44591 27 0
+e08ba17aff2428243af5cf67f75ce9241dfd2567 27 0
 #2 := false
 #8 := 3::Real
 #7 := 1::Real
@@ -46672,7 +43894,7 @@
 #32 := [asserted]: #11
 [mp #32 #49]: false
 unsat
-a99a6f9f59161e07ca4bb424da1dda7f3599b9d0 48 0
+c23e6b58a553359eacf5eb208af7f8150bf293f2 48 0
 #2 := false
 #8 := 3::Real
 #7 := 1::Real
@@ -46721,7 +43943,7 @@
 #35 := [asserted]: #14
 [mp #35 #70]: false
 unsat
-73a0b3a2d069b59c661aa11bdb9686097aacba84 36 0
+a1da7a34684e1a5bd561f100c0fa893afb3b7a5d 36 0
 #2 := false
 #9 := 3::Real
 #7 := 1::Real
@@ -46758,7 +43980,7 @@
 #33 := [asserted]: #12
 [mp #33 #58]: false
 unsat
-e455683e14454659c86babd4206469f19c262efb 43 0
+a0d33d56932085d413a998104b0ae2bb7b556dd3 43 0
 #2 := false
 #9 := 3::Real
 #7 := 1::Real
@@ -46802,7 +44024,7 @@
 #35 := [asserted]: #14
 [mp #35 #65]: false
 unsat
-4e89ec99c186f4d0cc4950beb34277bc35815fff 26 0
+960788d4730f7f2adca59dd014a913eb2be28d68 26 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -46829,7 +44051,7 @@
 #32 := [asserted]: #11
 [mp #32 #47]: false
 unsat
-ba8acb319606519055ab94494c9ac613c5c038a0 60 0
+20774a51f9bccf7108652ad949f64111f5847f42 60 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -46890,7 +44112,7 @@
 #80 := [not-or-elim #79]: #55
 [th-lemma arith farkas -2/3 1 #80 #81]: false
 unsat
-c254f7743432efb3168908069776d39b954adceb 60 0
+59ae2373184f370c17621f32898c84257dcf4466 60 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -46951,7 +44173,7 @@
 #80 := [not-or-elim #79]: #54
 [th-lemma arith farkas -2/3 1 #80 #81]: false
 unsat
-52f1e86ce55eba5021ed07ab92d87cf35261926b 36 0
+588ad60f0eef06c7d10b05e810713f52bae9fbac 36 0
 #2 := false
 decl f3 :: Real
 #8 := f3
@@ -46988,7 +44210,7 @@
 #33 := [asserted]: #12
 [mp #33 #57]: false
 unsat
-d1e89f661ec44eae20b1e53978b42ef04f82af17 35 0
+87491d527606c77b68ab29c99a67d25340955342 35 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -47024,7 +44246,7 @@
 #33 := [asserted]: #12
 [mp #33 #56]: false
 unsat
-0fdc33b7cc1348a0833bcf7f4b4149307e635b6c 62 0
+fb3e7bcac57bdcb4f4b6e119fa415b4a8bf5c9e7 62 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -47087,7 +44309,7 @@
 #82 := [not-or-elim #81]: #57
 [th-lemma arith farkas -1/3 1 #82 #83]: false
 unsat
-f09f517e7e4cbc63db43c6d99d036f9d3a4315bf 62 0
+953412704db979090a4ca7b4441938d5b81412e0 62 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -47150,7 +44372,7 @@
 #82 := [not-or-elim #81]: #56
 [th-lemma arith farkas -1/3 1 #82 #83]: false
 unsat
-89b345e26e51ed464cc683659a5ae8f2c05647b0 75 0
+1de1767601decde5f6a984aff8700035d237f520 75 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -47226,7 +44448,7 @@
 #98 := [unit-resolution #97 #94]: #92
 [th-lemma arith farkas 1 1 1 #72 #91 #98]: false
 unsat
-985bcf7e8f8c4a491bb0e856a8f7804095f5404a 103 0
+97a92254fa3e068ea924e98693ea55400493d4bb 103 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -47330,7 +44552,7 @@
 #125 := [unit-resolution #95 #124]: #73
 [unit-resolution #125 #126]: false
 unsat
-54d70864c8e13c2ab5f71e5ded8863232101a991 102 0
+5eef55215a56f315e0597001f70244e2d6cbad2b 102 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -47433,7 +44655,7 @@
 #125 := [unit-resolution #124 #121]: #115
 [th-lemma arith farkas 2 1 #116 #125]: false
 unsat
-75f83357dfd0e95b567e5e16d1b564f2aacd5f8b 143 0
+45b14df2d2322e566d02d0db8c4a9bcfe19ad7c5 143 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -47577,7 +44799,7 @@
 #166 := [unit-resolution #99 #162]: #52
 [th-lemma arith farkas 2 1 1 #166 #165 #161]: false
 unsat
-170a46884b0c93a265ba9103f7b32d3822f6590a 116 0
+5eef8e7d84fcda85aa27c59747fcf3f71dac1fdf 116 0
 #2 := false
 #8 := 0::Real
 decl f3 :: Real
@@ -47694,7 +44916,7 @@
 #147 := [unit-resolution #146 #143]: #141
 [th-lemma arith farkas 1 1 1 #140 #138 #147]: false
 unsat
-343b8694d01ceec9aadefda1d9bec8e7b858a0bc 57 0
+55bb89c7c767723007ed5956fcfa12830981af6f 57 0
 #2 := false
 #15 := 0::Real
 decl f4 :: Real
@@ -47752,7 +44974,7 @@
 #79 := [unit-resolution #78 #75]: #73
 [th-lemma arith farkas 1 1 1 #58 #74 #79]: false
 unsat
-488e735c5af613e8d7cafc6137d916a7f9ebe0e4 57 0
+792a7271106d55b993c9a30193c5dc7ee046972f 57 0
 #2 := false
 #15 := 0::Real
 decl f4 :: Real
@@ -47810,7 +45032,7 @@
 #79 := [th-lemma arith triangle-eq]: #78
 [unit-resolution #79 #76 #58]: false
 unsat
-be2bc9d6a85f1d0753b3453c53165fb3cf75d021 103 0
+83b40ab4216a9b2572384a8e1f6d8b0f58fd50bf 103 0
 #2 := false
 #20 := 0::Real
 decl f5 :: Real
@@ -47914,7 +45136,7 @@
 #124 := [unit-resolution #123 #120]: #117
 [th-lemma arith farkas -1 -1 1 #124 #94 #95]: false
 unsat
-8a834764014f7a0fc98f83812b7df5e9e71d3228 94 0
+c0fd50acd23f3d8d8def07a171c9f6d478ae387a 94 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -48009,7 +45231,7 @@
 #117 := [trans #116 #112]: #53
 [unit-resolution #59 #117]: false
 unsat
-565ea5cad625ceae443c2aa9665a6caa8c4432ef 53 0
+fb76c2d56cf2f934220975a9ef3ad26d44e0bbfc 53 0
 #2 := false
 #7 := 0::Real
 decl f3 :: Real
@@ -48063,7 +45285,7 @@
 #75 := [trans #74 #71]: #12
 [unit-resolution #59 #75]: false
 unsat
-6b8315813f4cc23842e26ce083c1ccaeb3b9f4ea 124 0
+7237d883d9dd118244bec827b23fdc7f1b72fdce 124 0
 #2 := false
 #12 := 0::Real
 decl f4 :: Real
@@ -48188,7 +45410,7 @@
 #147 := [unit-resolution #114 #146]: #108
 [th-lemma arith farkas 1/2 3/2 1 1 1 #145 #133 #87 #143 #147]: false
 unsat
-af561b282d1827f310ac70556912361f746c755e 57 0
+20b2c8eb46b2776c1fa0854f9d43594550f591a7 57 0
 #2 := false
 #15 := 0::Real
 decl f3 :: Real
@@ -48246,7 +45468,7 @@
 #79 := [th-lemma arith triangle-eq]: #78
 [unit-resolution #79 #76 #58]: false
 unsat
-c76d8e5e48d2562cff8ec7cba9425b7fcddfd09a 57 0
+9b77594e0c04af6813ea9fe3eb19b0eebd98140f 57 0
 #2 := false
 #15 := 0::Real
 decl f4 :: Real
@@ -48304,7 +45526,7 @@
 #79 := [unit-resolution #78 #75]: #72
 [th-lemma arith farkas 1 1 1 #58 #74 #79]: false
 unsat
-309c80c26e888c63759e9988268f1cdcc26ef28b 103 0
+93b3508f44b6322ae09524c5a254ca2b1a5b26c3 103 0
 #2 := false
 #20 := 0::Real
 decl f3 :: Real
@@ -48408,7 +45630,7 @@
 #124 := [unit-resolution #123 #120]: #118
 [th-lemma arith farkas -1 1 1 #124 #93 #95]: false
 unsat
-23c443b999f944a6345020be737a4a7b628ff638 96 0
+7b686f77e111467a15fb3e7ff5fcf4bbb1a56717 96 0
 #2 := false
 decl f4 :: Real
 #8 := f4
@@ -48505,7 +45727,7 @@
 #119 := [trans #118 #114]: #53
 [unit-resolution #59 #119]: false
 unsat
-8fad80a1b745334993da3fb8733536800cca704f 60 0
+e7ef38b396887508c5c85846a0548164638b9e8d 60 0
 #2 := false
 decl f3 :: Real
 #8 := f3
@@ -48566,7 +45788,7 @@
 #82 := [trans #79 #81]: #68
 [unit-resolution #74 #82]: false
 unsat
-11277aae59b3fc835742651d4832ca0de4c045ff 214 0
+af8ce155afa78bf936e9e665a7def6acf5b7d81b 214 0
 #2 := false
 #8 := 0::Real
 decl f4 :: Real
@@ -48781,7 +46003,7 @@
 #238 := [unit-resolution #174 #237]: #162
 [th-lemma arith farkas 1 1 1 1 1 1 #212 #227 #133 #229 #238 #236]: false
 unsat
-2becd4c16c00f4a8b711aba96699b51eb714fa29 18 0
+e807c28ea702b232e7c32bfa79cb58b47a16c570 18 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -48800,7 +46022,7 @@
 #30 := [asserted]: #9
 [mp #30 #41]: false
 unsat
-ee2f03e2614b76303135a935f1f2b05f83a4efce 50 0
+4cad11a2b8747d7e662d4f469d31b851aa375cfb 50 0
 #2 := false
 #18 := 0::Real
 decl f4 :: Real
@@ -48851,7 +46073,7 @@
 #70 := [not-or-elim #67]: #69
 [th-lemma arith farkas -1/3 1 #70 #68]: false
 unsat
-3d2fe72db9db1a875a3d783608c94c040b9afc1b 55 0
+092a6f5d63ab793d33d43f7284b78642e74e2334 55 0
 #2 := false
 #18 := 0::Real
 decl f4 :: Real
@@ -48907,7 +46129,7 @@
 #74 := [not-or-elim #73]: #45
 [th-lemma arith farkas 3 1 #74 #75]: false
 unsat
-165755fec51f7e6c4b1e62511cb967090732b747 52 0
+775858e4a5147699bba8b0137f62c6a4d4ac7293 52 0
 #2 := false
 #15 := 0::Real
 decl f4 :: Real
@@ -48960,7 +46182,7 @@
 #79 := [unit-resolution #78 #67]: #55
 [unit-resolution #79 #69]: false
 unsat
-33e0b153e51916a2167061300cc75c8e67ab4fda 15 0
+49cc2e53f2afe91d793e2317f4c575f413ada734 15 0
 #2 := false
 decl f3 :: Real
 #7 := f3
@@ -48976,7 +46198,7 @@
 #31 := [asserted]: #10
 [mp #31 #37]: false
 unsat
-2340fd8d860bd4e1165d0c23c1f96e5421c798e2 75 0
+eb730fdf8b63348f25dbf613b5bd139042a0fc61 75 0
 #2 := false
 #18 := 0::Real
 decl f5 :: Real
@@ -49052,7 +46274,7 @@
 #91 := [not-or-elim #90]: #68
 [th-lemma arith farkas 1 -1 1 #91 #94 #92]: false
 unsat
-8716c7aaa7f48c44ab9ce5531737a3b55fdf1e37 80 0
+c4e1cef39d74ef1da60772d29906445a2b8051f6 80 0
 #2 := false
 #18 := 0::Real
 decl f5 :: Real
@@ -49133,7 +46355,7 @@
 #99 := [not-or-elim #95]: #98
 [th-lemma arith farkas 1 1 1 #99 #96 #97]: false
 unsat
-82e5c8e2d49baa3249133d0cc70e4f9710ed01cc 80 0
+ee1c33aaa657ed33c96d59b6dc6de0701ab6de06 80 0
 #2 := false
 #18 := 0::Real
 decl f5 :: Real
@@ -49214,7 +46436,7 @@
 #96 := [not-or-elim #95]: #73
 [th-lemma arith farkas 1 1 1 #96 #97 #99]: false
 unsat
-54f206f7168f092b568f3c4ba80a32ed01dca4e9 85 0
+f87b387d325f83aeb1ec75660e6d181565616c1a 85 0
 #2 := false
 #18 := 0::Real
 decl f5 :: Real
@@ -49300,7 +46522,7 @@
 #102 := [not-or-elim #101]: #72
 [th-lemma arith farkas 1 1 1 #102 #103 #104]: false
 unsat
-8921a5763dbd9b6bdd641b747fbac9ee9c2dd42d 69 0
+cb8792748fe4720134d96a488ba91a6116c7639a 69 0
 #2 := false
 #19 := 0::Real
 decl f5 :: Real
@@ -49370,7 +46592,7 @@
 #86 := [and-elim #85]: #46
 [th-lemma arith farkas 1 1 1 #86 #87 #88]: false
 unsat
-ba3cc9798e91eb2c981ec527a914f13a432e9973 46 0
+f50e567111580fcf350e8f08b1127378c6cf44c1 46 0
 #2 := false
 decl f3 :: (-> S3 S4 S2)
 decl f5 :: (-> S5 S2 S4)
@@ -49417,7 +46639,7 @@
 #57 := [asserted]: #33
 [unit-resolution #57 #544]: false
 unsat
-a080cdd5a7725df3669f655e4a1ddc1f94e11bc0 46 0
+e847b4eb330cb98ec19557ff4729a4ee5eac5c07 46 0
 #2 := false
 decl f3 :: (-> S3 S4 S2)
 decl f5 :: (-> S5 S2 S4)
@@ -49464,7 +46686,7 @@
 #57 := [asserted]: #33
 [unit-resolution #57 #544]: false
 unsat
-1b9aec38c55c28fabd079dac192f971ebc6b0be8 86 0
+e15e69027875c204e11039aff6e36cce009f63f3 86 0
 #2 := false
 decl f5 :: (-> S5 S2 S4)
 decl f9 :: S2
@@ -49551,7 +46773,7 @@
 #540 := [unit-resolution #232 #539]: #61
 [unit-resolution #540 #543]: false
 unsat
-ff46e648b8433631f11b66136c88e13e20652d28 147 0
+072ec5311fec3c6e1f5e2d99691fb9ed86302245 147 0
 #2 := false
 decl f12 :: S2
 #33 := f12
@@ -49699,7 +46921,7 @@
 #251 := [def-axiom]: #165
 [unit-resolution #251 #171 #563 #559]: false
 unsat
-f567b3ec65cba96a359862b5638f10a1c478c9a5 97 0
+2e4e9225ab02683d5a755c820a7cd4a4252a5720 97 0
 #2 := false
 decl f8 :: (-> S8 S9 S2)
 decl f10 :: (-> S10 S5 S9)
@@ -49797,7 +47019,7 @@
 #574 := [unit-resolution #278 #577]: #92
 [unit-resolution #574 #578]: false
 unsat
-3899473eab3901c51712a93b78ff218465cc80a5 204 0
+326c3cc9171e09e8a8be6ed6bdcf7e348fc9488e 204 0
 #2 := false
 decl f22 :: S8
 #57 := f22
@@ -50002,7 +47224,7 @@
 #295 := [def-axiom]: #209
 [unit-resolution #295 #567 #426 #584]: false
 unsat
-66f8caa017bcd510092693efddec3be735f82480 140 0
+bf4839d9633981e506c1be855f13b8a26192da1d 140 0
 #2 := false
 decl f8 :: (-> S9 S3 S2)
 decl f15 :: (-> S13 S5 S3)
@@ -50143,7 +47365,7 @@
 #410 := [unit-resolution #280 #409]: #94
 [unit-resolution #410 #411]: false
 unsat
-ff6228ca7ad84c97bcf0916e5ffe8db03d1bc6d0 140 0
+cf1f4336502ff8e78cd5bc19dd27179c762eaf09 140 0
 #2 := false
 decl f13 :: (-> S12 S3 S8)
 decl f15 :: (-> S13 S5 S3)
@@ -50284,7 +47506,7 @@
 #410 := [unit-resolution #280 #409]: #94
 [unit-resolution #410 #411]: false
 unsat
-c96488cbaa7f2ec1db1698b5028335098b71d55f 97 0
+b698de6114c960aedd429b35adfc1493851107e0 97 0
 #2 := false
 decl f3 :: (-> S3 S4 S2)
 decl f5 :: (-> S5 S2 S4)
@@ -50382,7 +47604,7 @@
 #199 := [unit-resolution #232 #198]: #61
 [unit-resolution #199 #200]: false
 unsat
-09a45677774b7c719ba58910500f00ef56ae315c 106 0
+6474d219388775f06b6327aa11f8df4ad2448f55 106 0
 #2 := false
 decl f3 :: (-> S3 S4 S2)
 decl f12 :: S4
@@ -50489,7 +47711,7 @@
 #79 := [not-or-elim #76]: #78
 [unit-resolution #79 #550]: false
 unsat
-618d08b43560c1458410e7b2d3758883c80902bb 115 0
+4ebcb713a96f25289faf5874caac5699de053d9a 115 0
 #2 := false
 decl f3 :: (-> S3 S4 S2)
 decl f9 :: S4
@@ -50605,7 +47827,7 @@
 #540 := [unit-resolution #231 #539]: #60
 [unit-resolution #540 #546]: false
 unsat
-6c74b15206a530ed139b99673954ade36be4efcc 43 0
+d463916fdbeb11527763c4fc4e327a5494ff68cb 43 0
 #2 := false
 decl f9 :: S3
 #30 := f9
@@ -50649,7 +47871,7 @@
 #233 := [quant-inst #71 #30]: #318
 [unit-resolution #233 #678 #111]: false
 unsat
-3782db2306cc866f72f70a01d2f0b8de7f1467ff 47 0
+a60f866ab8b0e8fbdd294bcb1172f7ffdcef9940 47 0
 #2 := false
 decl f9 :: S3
 #30 := f9
@@ -50697,7 +47919,7 @@
 #312 := [quant-inst #71 #75]: #311
 [unit-resolution #312 #681 #114]: false
 unsat
-f728211cb1982632db7d0508cbcfd18907e87e3f 119 0
+fd1fe80b67edb2604eeb6ac16a3ead94827c31fa 119 0
 #2 := false
 decl f22 :: S2
 #72 := f22
@@ -50817,7 +48039,7 @@
 #278 := [mp #637 #641]: #299
 [unit-resolution #278 #678 #484]: false
 unsat
-bbfd4143740fa5fa37bb46aa96df37053b73380b 43 0
+fe733bec7d455e3d40da889cac8d554d86dc35a2 43 0
 #2 := false
 decl f21 :: S2
 #71 := f21
@@ -50861,7 +48083,7 @@
 #318 := [quant-inst #71 #73]: #321
 [unit-resolution #318 #651 #107]: false
 unsat
-faf27be81c50266d2944b770ad1790cac070c271 42 0
+94935c8887f8b6d443c5b2bd496a539d3a28c865 42 0
 #2 := false
 decl f22 :: S3
 #73 := f22
@@ -50904,7 +48126,7 @@
 #295 := [quant-inst #71 #73]: #639
 [unit-resolution #295 #657 #107]: false
 unsat
-ab24eb2440f220778ada1d51b0fa5d566ee21c5f 51 0
+6669da017744eefc6b42f0dcbe1d3e77a37840bc 51 0
 #2 := false
 decl f21 :: S2
 #71 := f21
@@ -50956,7 +48178,7 @@
 #533 := [quant-inst #71 #78]: #527
 [unit-resolution #533 #656 #112]: false
 unsat
-d46d7a2ca405083ed110fa917182c9b64d529ecc 50 0
+6ba377e7ca086c9c3b645a03c4012a7ef2a8cbb4 50 0
 #2 := false
 decl f5 :: (-> S5 S3 S3)
 decl f9 :: S3
@@ -51007,7 +48229,7 @@
 #517 := [quant-inst #71 #78]: #516
 [unit-resolution #517 #662 #112]: false
 unsat
-00d45a2105c65a05afe6de3a3f44dd3d02e667e9 80 0
+657f931be01b08a5325b20b63a8ffb0654fcebb2 80 0
 #2 := false
 decl f22 :: S2
 #73 := f22
@@ -51088,7 +48310,7 @@
 #113 := [asserted]: #83
 [unit-resolution #113 #524]: false
 unsat
-4d55755ce8670444560059a4a2c5e8c60b925e12 61 0
+6920dfa78509845f35572b72b18b16e15101305a 61 0
 #2 := false
 decl f5 :: (-> S5 S3 S3)
 decl f9 :: S3
@@ -51150,7 +48372,7 @@
 #113 := [asserted]: #83
 [unit-resolution #113 #524]: false
 unsat
-1e49cb75a4b4736654a002c06e5405d5c3517634 86 0
+67bfe0df82f77831c5b5d717df54021f63993553 86 0
 #2 := false
 decl f28 :: S2
 #91 := f28
@@ -51237,7 +48459,7 @@
 #133 := [asserted]: #100
 [unit-resolution #133 #326]: false
 unsat
-4ee836bc63884d52d61c6983c35e39ed91d8e078 86 0
+bc229616226a7711a5d4d576e0d0f4d5a078be1a 86 0
 #2 := false
 decl f29 :: S3
 #93 := f29
@@ -51324,7 +48546,7 @@
 #133 := [asserted]: #100
 [unit-resolution #133 #326]: false
 unsat
-86f6f739d6e836607f1d98b07ede63d2576d444d 29 0
+d3a42b698bae47402c814f1b2f6f58cd7ebe4316 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f15 :: S4
@@ -51354,7 +48576,7 @@
 #85 := [not-or-elim #84]: #83
 [unit-resolution #85 #263]: false
 unsat
-226b5b35f9edf656c0cea4dba57d64e428e7d1be 29 0
+f8f306e974a6666087b450cae3e82e5cd03defda 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f15 :: S4
@@ -51384,7 +48606,7 @@
 #85 := [not-or-elim #84]: #83
 [unit-resolution #85 #263]: false
 unsat
-7e1ce21ff788fbffd8dbff9dda94f87b4ae232e3 29 0
+c01d80ea8f25cbcdb60031023ba4082a204411e5 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f15 :: S4
@@ -51414,7 +48636,7 @@
 #83 := [not-or-elim #85]: #45
 [unit-resolution #83 #263]: false
 unsat
-ef77170e76e2077f1a99823990059fedc25a5572 29 0
+290727ed1ecffbc64e78f5a8cac18f251acb752f 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f15 :: S4
@@ -51444,7 +48666,7 @@
 #83 := [not-or-elim #85]: #45
 [unit-resolution #83 #263]: false
 unsat
-05fabc68a1647a6c0b540f035499c1b64021300b 39 0
+d178969acccf74676532ed1f0d7dc4526faab060 39 0
 #2 := false
 #40 := 3::Int
 decl f3 :: (-> S3 S4 Int)
@@ -51484,7 +48706,7 @@
 #217 := [quant-inst #40 #41 #42]: #216
 [unit-resolution #217 #171 #73]: false
 unsat
-8c97cf80a4fd3efed9db6fad38cd7df3e7f9b9e4 39 0
+3eb6c851edd6fd9da06cca67794a3b348ac3058b 39 0
 #2 := false
 #41 := 4::Int
 decl f3 :: (-> S3 S4 Int)
@@ -51524,7 +48746,7 @@
 #222 := [quant-inst #40 #41 #42]: #221
 [unit-resolution #222 #177 #73]: false
 unsat
-5637fa1d095ac7b67e6203665a505b9e7150a9ea 78 0
+81324eb3e1a2baf8f2353f71658e6c45eca7efde 78 0
 #2 := false
 #41 := 4::Int
 #40 := 3::Int
@@ -51603,7 +48825,7 @@
 #235 := [trans #233 #220]: #234
 [mp #235 #237]: false
 unsat
-d9a22c09a63e8097c5f432c6c4b67fcedd7364dd 73 0
+778cf00b027f7cbc8557b11fe4d2c6d98c19dbcf 73 0
 #2 := false
 decl f7 :: (-> Int Int S3 S5)
 decl f15 :: S3
@@ -51677,7 +48899,7 @@
 #82 := [asserted]: #54
 [unit-resolution #82 #280]: false
 unsat
-e70e3b07d4ab1c8f521998d618c1a33076aeafc7 73 0
+55dc0c2cede66f579f8fb4205f494991679ed411 73 0
 #2 := false
 decl f7 :: (-> Int Int S3 S5)
 decl f15 :: S3
@@ -51751,7 +48973,7 @@
 #82 := [asserted]: #54
 [unit-resolution #82 #281]: false
 unsat
-3f33aa966a616642cb71cfd28f64104ffe222a76 141 0
+da8cf7e5a8bc928fda4951f71c6fd4dffe39e0c9 141 0
 #2 := false
 decl f16 :: S5
 #53 := f16
@@ -51893,7 +49115,7 @@
 #101 := [not-or-elim #100]: #99
 [unit-resolution #101 #333]: false
 unsat
-a3dcd98b917fc07cd53b4a7609efe76d08dc0731 141 0
+d0a240ecffa93b4cb78f7dba7d0cec224dce11ff 141 0
 #2 := false
 decl f16 :: S5
 #53 := f16
@@ -52035,7 +49257,7 @@
 #101 := [not-or-elim #100]: #99
 [unit-resolution #101 #333]: false
 unsat
-37255a122064839766be2ce2cd0dc79437aeda41 29 0
+4836e6abfc464cb08dddd05f1d512ded74175de4 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f26 :: S4
@@ -52065,7 +49287,7 @@
 #121 := [not-or-elim #120]: #119
 [unit-resolution #121 #318]: false
 unsat
-f90472be23afe3d7903dfeef3cf374fc3fbde35e 29 0
+f99b4650b4bda1046395cb9c27fb7acec91a2f4f 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f26 :: S4
@@ -52095,7 +49317,7 @@
 #121 := [not-or-elim #120]: #119
 [unit-resolution #121 #318]: false
 unsat
-3e714d78b380e794ca732c6150fdf6770ae1c84c 61 0
+1b3a7b1fc51d4c34ff662c61cf90322ecc09e078 61 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -52157,7 +49379,7 @@
 #648 := [unit-resolution #329 #653]: #149
 [unit-resolution #648 #654]: false
 unsat
-c1732efb8247153476fddeec24d6e45ea69ce202 29 0
+58757bb2c94bdd593c9d8b0fbe00db43524398ac 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f26 :: S4
@@ -52187,7 +49409,7 @@
 #119 := [not-or-elim #121]: #77
 [unit-resolution #119 #318]: false
 unsat
-195808c9b73d3e779441cc672e062afbf5c02bef 29 0
+ef9a1a3fd0640f615d1a4ca50416456c2aafb0a5 29 0
 #2 := false
 decl f3 :: (-> S3 S4 Int)
 decl f26 :: S4
@@ -52217,7 +49439,7 @@
 #119 := [not-or-elim #121]: #77
 [unit-resolution #119 #318]: false
 unsat
-0ed7d8750f50d1bb9c926ffbefc40143380c759c 66 0
+a0e1cfb251466df6713d328d9fc59e2beb3ff57a 66 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -52284,7 +49506,7 @@
 #653 := [unit-resolution #334 #658]: #115
 [unit-resolution #653 #659]: false
 unsat
-cedfd03a27d5c110cccc13a70c0f9d024f224ead 47 0
+3008f68b045e8512a78630fd63e36767a288b498 47 0
 #2 := false
 #72 := 3::Int
 decl f3 :: (-> S3 S4 Int)
@@ -52332,7 +49554,7 @@
 #328 := [quant-inst #72 #73 #77]: #327
 [unit-resolution #328 #230 #112]: false
 unsat
-0b6022e30e4e5ac8cb4953d3a4c8504f4a0609a0 47 0
+1c291f66407b060abd6570e3561e84cb6802694a 47 0
 #2 := false
 #73 := 4::Int
 decl f3 :: (-> S3 S4 Int)
@@ -52380,7 +49602,7 @@
 #333 := [quant-inst #72 #73 #77]: #332
 [unit-resolution #333 #236 #112]: false
 unsat
-2ca5cee26ef695e3928e07d0a44c659cea20c0b2 85 0
+5e951d88ba01a5b65915e3cf99e633951609c993 85 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -52466,7 +49688,7 @@
 #353 := [unit-resolution #319 #346]: #352
 [unit-resolution #353 #351 #350]: false
 unsat
-6499be1d029719ef95b78f1d0320c11c7fb7a571 86 0
+812476a17a9a2871c9ebf2cc9391e374a71250ed 86 0
 #2 := false
 #73 := 4::Int
 #72 := 3::Int
@@ -52553,7 +49775,7 @@
 #346 := [trans #344 #331]: #345
 [mp #346 #348]: false
 unsat
-bcff91b655305f168f8e2a483ead6b7d06750eb4 81 0
+fb3b468a9e0e9229a2ed6b6592a5795d32e0cbbf 81 0
 #2 := false
 decl f7 :: (-> Int Int S3 S5)
 decl f17 :: (-> S10 S8 S3)
@@ -52635,7 +49857,7 @@
 #121 := [asserted]: #89
 [unit-resolution #121 #429]: false
 unsat
-7462b61994002d474ce748e537732218cde820f6 81 0
+66c49b5e837d7faf6a74356e58d3b2fd5529a3d1 81 0
 #2 := false
 decl f7 :: (-> Int Int S3 S5)
 decl f17 :: (-> S10 S8 S3)
@@ -52717,7 +49939,7 @@
 #121 := [asserted]: #89
 [unit-resolution #121 #430]: false
 unsat
-ffaca458bf7a853e37afab709d490432c7fad3af 233 0
+9aa89ca1a2dffdf92e4644072316fccd998c9605 233 0
 #2 := false
 decl f28 :: S6
 #92 := f28
@@ -52951,7 +50173,7 @@
 #154 := [not-or-elim #153]: #152
 [unit-resolution #154 #589]: false
 unsat
-9055acfd16334a78cb7c2c28508fdebc2b7c7f63 233 0
+b7ee8e1470156257eed64bf3397227c8530efee0 233 0
 #2 := false
 decl f28 :: S6
 #92 := f28
@@ -53185,7 +50407,7 @@
 #154 := [not-or-elim #153]: #152
 [unit-resolution #154 #589]: false
 unsat
-67bf97bc391b1b7e654702d4edbfac8730a51707 233 0
+41083c23e36988c33cc02e1eff5234558acdcb86 233 0
 #2 := false
 decl f28 :: S6
 #92 := f28
@@ -53419,7 +50641,7 @@
 #154 := [not-or-elim #153]: #152
 [unit-resolution #154 #589]: false
 unsat
-fde09c00a7285975ac7164417c3a5481fc130775 18 0
+1dd70ea57d3666cb5aaa01a8ef0d758d0e424162 18 0
 #2 := false
 decl f3 :: S2
 #7 := f3
@@ -53438,7 +50660,7 @@
 #97 := [asserted]: #52
 [mp #97 #107]: false
 unsat
-17ef6441e1a98a1f31e9a83ffe2622bca36b5e7b 18 0
+bdeca06ba44784eaf57a202bbea41e9cc79df1f4 18 0
 #2 := false
 decl f6 :: S2
 #12 := f6
@@ -53457,7 +50679,7 @@
 #97 := [asserted]: #52
 [mp #97 #107]: false
 unsat
-463ef29b79712be72c7a08cb850a77bae02ca87d 213 0
+1d9cdf8282138ea38f1106fe994e0979fa86c7e4 213 0
 #2 := false
 #13 := 2::Int
 #9 := 1::Int
@@ -53671,7 +50893,7 @@
 #389 := [trans #388 #370]: #243
 [mp #389 #256]: false
 unsat
-abf24d28efcf933fd63a125c58e888cf5bd3bb43 229 0
+0fc3293c114d86e86e5fda166c582f7031eda038 229 0
 #2 := false
 decl f6 :: S2
 #12 := f6
@@ -53901,7 +51123,7 @@
 #99 := [asserted]: #54
 [unit-resolution #99 #441]: false
 unsat
-260eac824b1f01737479805af42f5db11c25917d 340 0
+e8662cdc68a4df85a63b9e4b41418ecf449034b2 340 0
 #2 := false
 decl f7 :: S2
 #16 := f7
@@ -54242,121 +51464,121 @@
 #99 := [asserted]: #54
 [unit-resolution #99 #528]: false
 unsat
-2864d138b390af4e3eeba533641291b4ae179658 1 0
-unsat
-218fdaddec8daf9fe821ad83145a0f41dc0cea69 1 0
-unsat
-e4291661842e19946a32d5d03adcb9efafbd09b2 1 0
-unsat
-c588e986fb0be52b47531527138c9af03115a341 1 0
-unsat
-0a10387ef30e59cf2ddae7f35bfb8acd6ada3dbd 1 0
-unsat
-23eac3c9c6bd3afca4e93ad69fc507b57e5a404f 1 0
-unsat
-11c2a4b88caf165635cfebe8973f704d44d24794 1 0
-unsat
-3a5f958e4a5b70d0ec5d8d00c8ab6d7e7ae3a517 1 0
-unsat
-c2efd82298ced7929b47cff71c32d108136ebb30 1 0
-unsat
-faea053ed25da44e251b8eb4312ac6428fd87ca2 1 0
-unsat
-9532645b849bc944ead9221c89cd2cc80a79542d 1 0
-unsat
-0bd015fc8f4761551dbd5c346f08fa03fb671fc0 1 0
-unsat
-29dffb68812c0d23d7cd53135414df29a1b03811 1 0
-unsat
-79197392649d8c81d0c1fcf765a24b7acc0b8b25 1 0
-unsat
-5ba4dc7ee86fa16cd914797b231ce5aa29948232 1 0
-unsat
-93bc8559470f6db0bac52512a36cd3315e07c85c 1 0
-unsat
-15320a8380e7a6f54e7cd0deef68d1a7d4b51f43 1 0
-unsat
-b772de55e89362c844cdba5d1c2c0fa3edb34d7f 1 0
-unsat
-1f603b5bd7f43c523a79a6bb10a493b3fa72cc85 1 0
-unsat
-d6873b3ad9377b99f2c3517770dea23f32521508 1 0
-unsat
-e2bd554f5593f9ef15136cabe0aea65dcfdb5188 1 0
-unsat
-4f72565e3d34747b9db8c734bc1f9265d086b52b 1 0
-unsat
-222d8029a2e1d50ba54c31aee7513d2d67ed472e 1 0
-unsat
-bdd3ac024678b853058c58dd381f33bda892d817 1 0
-unsat
-e533ec4f43cf59000106bf55690dc0aa11e727f2 1 0
-unsat
-4e11f3d12b4eddfd39e29aa51612229198e08d79 1 0
-unsat
-ed132dc37435ef0c545fb72697366d21ce40b8e1 1 0
-unsat
-1a1d2140097a8893b17dc25e6605282254748963 1 0
-unsat
-a29ebb3637da825c641bd6c6606b77eb08906d93 1 0
-unsat
-7353983008a7921466e21b252e0564cb1c6aa577 1 0
-unsat
-d52fff9b110f160606ec6fce8ca9bd1d06efb350 1 0
-unsat
-0ffd26abb0a8ec687078a4f337e1548a7bd61def 1 0
-unsat
-7b0e5b05b2ed758f149f0b55b9223ecaaeeb51cf 1 0
-unsat
-eafcdd2983b49d76b5488cea98e3f2f7e52876ba 1 0
-unsat
-7a0d2db24a3fd936064ebfe60cc9e64410f4a1f6 1 0
-unsat
-594d725c4e08c5276928341fb15c42e790395795 1 0
-unsat
-0bf7ce26e89090e315b7b54ba17110cc6ea079f1 1 0
-unsat
-50bcf5c7e82de8f36e24a5d09fdb4b2ff10e80e4 1 0
-unsat
-e2cab523a51c26eaaa7fe0d9e1059e52e750c834 1 0
-unsat
-b1153994e02691ad7f1b18a2cbb489a7165319df 1 0
-unsat
-d6d1c5cce24659e22cc4ed73e92b19fc8deb2c17 1 0
-unsat
-c50127acd06804ffc4d2b5381e19ed95d4784807 1 0
-unsat
-7dee0163a1aa13072509bd5a8b6706b711964644 1 0
-unsat
-171141585148df48367740bbf9c50efea328be41 1 0
-unsat
-697e36dcaec78bc74ef0344cc9bfbab4fcc473fa 1 0
-unsat
-66a334fd88037de17eb09cb3087b7d5c3b198b4b 1 0
-unsat
-2c70ce922a083eaaef42a1b1541bf29fc3cb7e54 1 0
-unsat
-c03a19c9bc6c365fbc3e7555a82ee1e533d868c7 1 0
-unsat
-3b50e4f33dd2e10584c63c303e2a234d52c44d12 1 0
-unsat
-34f76ecd2c593f21adfb82e04699df605d7dde4f 1 0
-unsat
-13021c851a0cac5f9a6fa998cc01ddbd3e82ecdd 1 0
-unsat
-97ac538214a4420392823c7a3e55c4e4ae0919d9 1 0
-unsat
-bfec2f2aa9b262d9b6b7060b5701a5e3814488b2 1 0
-unsat
-f18271423b6c758ca8234fe9ec2671a9d9855f4f 1 0
-unsat
-1d9d6a45a95fa36e2cf7fdd489e71cf9eebcc402 1 0
-unsat
-466f95c3091f0353c12c0b00d563961d31c7ea6c 1 0
-unsat
-6904c27994e4a6cfee64c86f67dbaa7a374b5aa0 1 0
-unsat
-0632b158f9a5c6bb65e1e1b6be57c2c08505527a 47 0
+114113d4c28c25e534c670f47fca087183a5f8c8 1 0
+unsat
+494b946d69182e62cf2adb59a4908bcd2cc3c25f 1 0
+unsat
+846610dc3de8c529329029964342bed155b928be 1 0
+unsat
+c78972c2be9e010d564c219e8371a1e07b95e81b 1 0
+unsat
+6ebffc1a9d53b928532f7c058a376cb3c0716d92 1 0
+unsat
+bfcbce0fd0c787695b2cb81657f53a4e946de0f7 1 0
+unsat
+87c04d689bac52cec8b0c1a08d098942fd70d466 1 0
+unsat
+c290166c6fcbece0c64059bd0622a1d9dbb1c5e8 1 0
+unsat
+a2e1430a221557099dbbfaea91575c18c640d29c 1 0
+unsat
+2a17166993a82e94f975eebec87d116c80957ca3 1 0
+unsat
+59e681af5117de8711365345306b7aa17a425e95 1 0
+unsat
+5bc354c4cba9fa390e5a5b4fff48e724cd6a4ebf 1 0
+unsat
+0b4eaebaa1c7da0e8aacfa5a2eba079ece06e131 1 0
+unsat
+048b4d112d6dd41a60f998755f2db6b8efd86231 1 0
+unsat
+44b17af9b9a91745590d6ecb19c7206d98ab139a 1 0
+unsat
+3523e8d2bd307bbba5a32002f0ec6e28e5894143 1 0
+unsat
+6e8b6413930418b08c3489ea4eb22477eb9fad98 1 0
+unsat
+2ff6320af6e3da1595c21bde8e3d60f9f793b05e 1 0
+unsat
+c903ab15e32b62af335654e8c9787041ccb90f1d 1 0
+unsat
+626bc827bc367e9c39a2fe8c6f7c8a2681e74bce 1 0
+unsat
+8ef64ff3e519412fcade8a4d9a8bec98415d6a06 1 0
+unsat
+0e110597ee5fd59c05d2cfca519aa8eb04251546 1 0
+unsat
+7fd213cb5e600482169baaba3e41c80ffd02c436 1 0
+unsat
+885bfcca057c7a00c20747d601df50ad8423656f 1 0
+unsat
+a89a8374bf2ed246a6005542713c5d935dd6dfdc 1 0
+unsat
+876ed7294bbfc54103308ef6b14723c1148733bd 1 0
+unsat
+41d31522928c508669072711001a529f38867652 1 0
+unsat
+207ccab8c5caaba7048ab574dcdb91f4c1e73815 1 0
+unsat
+863ce4ac998f8311e2b7a27eadc176786183347f 1 0
+unsat
+0c7f2686d2381d34ae33481937606b55c3351e5e 1 0
+unsat
+c8c2c45b649fbbacff8b9a61badac4db22cb46c2 1 0
+unsat
+63761ff981670944c18e6dd437cfe4578c88fb15 1 0
+unsat
+55f1f6079a3e9b28fa8aecfb53cd816993999074 1 0
+unsat
+dd27e03a481e9d6d9ad7c5b84a5137b699e90735 1 0
+unsat
+d6059b26d228981814c293de9adcac3c10e56c06 1 0
+unsat
+4f91be474d91f53d29f3f2258bb7d273880ef8e6 1 0
+unsat
+fe0f4adcbca31458a44c9fa7c3a70eef3159899a 1 0
+unsat
+8a88bb45199657d7b93fb63596b175087ccee5b6 1 0
+unsat
+e9444ef1965eaddfc7689e8ddd3c142533cf3405 1 0
+unsat
+1cb7dac6ffcfcf174de9b93048f0d7b2e6695b47 1 0
+unsat
+bbaaddd8f857f1563ff57dbef0644812cb6b7217 1 0
+unsat
+bc866ccbb68526e04dbee31bfbf06c3c0c136997 1 0
+unsat
+a8a33441caa49095c09744f40e851e338d32aab0 1 0
+unsat
+69389e184ca843a40e122fe630100028f5d0dfe2 1 0
+unsat
+59f2b64f5b2d655f8fd50a111cc1bf73a7e32876 1 0
+unsat
+561b779e14608d5bf4b63c02d41e6f6e5d7bac92 1 0
+unsat
+197371e9402d0d463d6f937ba339cf72a8abf07b 1 0
+unsat
+702df5d383bb67100b0fc3f930d58d64c9e9a02d 1 0
+unsat
+edeb3362e6db1fa2b6f5bd97e4c1a396396f2282 1 0
+unsat
+bad693fed8d87da59fb794363aef6ae36b19bcf7 1 0
+unsat
+97fc736b0a2fffdd9e35ec8d6b184e53c9636024 1 0
+unsat
+38010eaae88cc69a2c26a2defbead948aaabd4f4 1 0
+unsat
+4cbb5558bd3975388e0fb974eb0c218f0d9e4a94 1 0
+unsat
+0f4d9605278da9fff8a3d692d173824bfbaa11e8 1 0
+unsat
+581ce35318bef5f170a152cb14de30b8e6da4277 1 0
+unsat
+476ae2a77ea015b7c4b5fa427ba5703e48cebd80 1 0
+unsat
+f8308b4ecb3d87177c35dbad8eba7c049e0cfc96 1 0
+unsat
+4f6185d7afc5cdb6870999c7155dd06a4abca6db 47 0
 #2 := false
 decl f10 :: S4
 #34 := f10
@@ -54404,7 +51626,7 @@
 #146 := [quant-inst #30 #32 #34]: #231
 [unit-resolution #146 #566 #61]: false
 unsat
-f6aef6296a02dc2bb756eda92687889cb2a54145 87 0
+5bafbb97f7efbe2d659f283d3886a5959ca6e520 87 0
 #2 := false
 decl f9 :: S3
 #31 := f9
@@ -54492,7 +51714,7 @@
 #73 := [not-or-elim #75]: #33
 [unit-resolution #73 #564]: false
 unsat
-50909234a6a4924829d934c10beb30bac9d44410 119 0
+84690766f80a9a99468eed8a8759374419b173e1 119 0
 #2 := false
 decl f11 :: S4
 #37 := f11
@@ -54612,7 +51834,7 @@
 #79 := [not-or-elim #78]: #77
 [unit-resolution #79 #569]: false
 unsat
-05bfab9a0b912a45a5d23c900aa9736bbf67a50a 66 0
+d65e508e9f0986a9cadbe07239acdf7dea9f9cdd 66 0
 #2 := false
 decl f12 :: S4
 #41 := f12
@@ -54679,7 +51901,7 @@
 #253 := [quant-inst #38 #31 #41]: #252
 [unit-resolution #253 #584 #79]: false
 unsat
-4a487b439b5a71496138881872532bead0355621 73 0
+0f758203e0be215aacd00c651e831f3fd6369edd 73 0
 #2 := false
 decl f12 :: S4
 #40 := f12
@@ -54753,7 +51975,7 @@
 #79 := [not-or-elim #78]: #77
 [unit-resolution #79 #218]: false
 unsat
-2f89ec4bff68da07bcf5df08cb44abd1cf304bcc 152 0
+147fa7b416ea80f4d0db2b821e5b7f09e2dd6767 152 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
 decl f10 :: S3
@@ -54906,7 +52128,7 @@
 #563 := [def-axiom]: #562
 [unit-resolution #563 #438 #553 #569]: false
 unsat
-88a85966e07fd047108db907b5b652de257cb18b 39 0
+36b249aecd736f13331480916c503eb6e5909c98 39 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -54946,7 +52168,7 @@
 #257 := [quant-inst #40]: #171
 [unit-resolution #257 #591 #74]: false
 unsat
-e52edad337a80ce1b9f167b25fc11aa08d513ef1 34 0
+ab0a0cb55145e0e555c965d2dc39dc477d5c1fea 34 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -54981,7 +52203,7 @@
 #253 := [quant-inst #40]: #167
 [unit-resolution #253 #594 #68]: false
 unsat
-ad95b138cf36827005b5ec90f511d80185776b0d 87 0
+23c20a3f015d52f4e5090d65fc402473d21c2ff7 87 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55069,7 +52291,7 @@
 #574 := [unit-resolution #595 #229]: #573
 [unit-resolution #574 #236 #235]: false
 unsat
-a358148b5f0eff69cab7c01e442584acaffb3f96 121 0
+64da68860ea07cde955340b27fa12fa5f09a1695 121 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55191,7 +52413,7 @@
 #579 := [unit-resolution #241 #574]: #576
 [unit-resolution #579 #578 #217]: false
 unsat
-91c9ceb101c072b8bb603b688737950bad02faa7 90 0
+5d2b2bd5b82e9b686873c91fbf34494378daa8ce 90 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55282,7 +52504,7 @@
 #217 := [quant-inst #40]: #575
 [unit-resolution #217 #597 #222]: false
 unsat
-f5d17ecef2699af9d85c677d592ffbcac1a42bd5 131 0
+ede3dbc56e22f5b2950d014509e65a43a920f4de 131 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55414,7 +52636,7 @@
 #581 := [def-axiom]: #220
 [unit-resolution #581 #550 #561 #559]: false
 unsat
-7b7f932ab0a4581fa34b6f91edcffafb0fae6833 95 0
+36bb986beabfd5d2f2f59f2f22497a8981eb9126 95 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55510,7 +52732,7 @@
 #574 := [unit-resolution #245 #232]: #568
 [unit-resolution #574 #573 #572]: false
 unsat
-43b21f39caa6691199e92bb505d662d92b79c6d5 194 0
+8bc88e5edfbcc5ec1dd0cfb089d9a4802a822e0a 194 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55705,7 +52927,7 @@
 #519 := [unit-resolution #539 #518 #526]: #379
 [unit-resolution #545 #619 #519]: false
 unsat
-397d6346cfc96d3be794b9edcc58a3e463721e51 116 0
+471f8aa77fc4964daee60a13a5a92f756ac79683 116 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55822,7 +53044,7 @@
 #588 := [unit-resolution #600 #602]: #251
 [unit-resolution #588 #250 #249]: false
 unsat
-25e43ea74050b29942998055a45c2dfa635fcffe 109 0
+b2bab79e348dd40ef98e9c16bd8f27d0e66abe96 109 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -55932,7 +53154,7 @@
 #221 := [quant-inst #40]: #579
 [unit-resolution #221 #594 #226]: false
 unsat
-aea5829d512de2728ecad3b816f4fb373d3860ab 131 0
+dbeac9b623875d59b5f7c86d653da3da9cd2d29b 131 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -56064,7 +53286,7 @@
 #577 := [quant-inst #40]: #575
 [unit-resolution #577 #605 #578]: false
 unsat
-2c368a83b5623f0f697753a8fe91229b9ba6f049 144 0
+51ce95475567a2e196bafe1aa52fd86168910e25 144 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -56209,7 +53431,7 @@
 #244 := [def-axiom]: #585
 [unit-resolution #244 #550 #561 #273]: false
 unsat
-786e0baa52e956eb38ebe0e784a4d54d1b6938d2 116 0
+4830d9673cbce4109d7a294d06cddebfbef2b503 116 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -56326,7 +53548,7 @@
 #579 := [unit-resolution #231 #211]: #576
 [unit-resolution #579 #578 #217]: false
 unsat
-62139c25ee961075afc011e9d98f3a2524600355 207 0
+204f9f43d50dba080fa0264b17e4ee9000821fb0 207 0
 #2 := false
 decl f1 :: S1
 #3 := f1
@@ -56534,7 +53756,7 @@
 #519 := [unit-resolution #539 #518 #525]: #379
 [unit-resolution #546 #626 #519]: false
 unsat
-c39c54f907aa2283011df5d842bdfd51c1629e0d 22 0
+1dccf1446c06f99d08b664c523373d60beeb86a5 22 0
 #2 := false
 decl f13 :: (-> S7 S3 S4)
 decl f4 :: S3
@@ -56557,1404 +53779,3 @@
 #78 := [asserted]: #52
 [mp #78 #87]: false
 unsat
-f797db065a8c5b2969ce205bd43175da50729663 62 0
-#2 := false
-#22 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: S3
-#10 := f6
-decl f4 :: S2
-#7 := f4
-#11 := (f3 f4 f6)
-decl f5 :: S3
-#8 := f5
-#9 := (f3 f4 f5)
-#56 := -1::Int
-#57 := (* -1::Int #11)
-#58 := (+ #9 #57)
-#59 := (<= #58 0::Int)
-#62 := (if #59 #9 #11)
-#70 := (* -1::Int #62)
-#253 := (+ #11 #70)
-#602 := (>= #253 0::Int)
-#290 := (= #11 #62)
-#206 := (not #59)
-#205 := (= #9 #62)
-#598 := (not #205)
-#71 := (+ #9 #70)
-#69 := (>= #71 0::Int)
-#75 := (not #69)
-#12 := (<= #9 #11)
-#13 := (if #12 #9 #11)
-#14 := (<= #13 #9)
-#15 := (not #14)
-#76 := (iff #15 #75)
-#73 := (iff #14 #69)
-#65 := (<= #62 #9)
-#68 := (iff #65 #69)
-#72 := [rewrite]: #68
-#66 := (iff #14 #65)
-#63 := (= #13 #62)
-#60 := (iff #12 #59)
-#61 := [rewrite]: #60
-#64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#74 := [trans #67 #72]: #73
-#77 := [monotonicity #74]: #76
-#53 := [asserted]: #15
-#78 := [mp #53 #77]: #75
-#594 := [hypothesis]: #205
-#599 := (or #598 #69)
-#600 := [th-lemma arith triangle-eq]: #599
-#595 := [unit-resolution #600 #594 #78]: false
-#601 := [lemma #595]: #598
-#291 := (or #206 #205)
-#292 := [def-axiom]: #291
-#604 := [unit-resolution #292 #601]: #206
-#283 := (or #59 #290)
-#294 := [def-axiom]: #283
-#244 := [unit-resolution #294 #604]: #290
-#245 := (not #290)
-#605 := (or #245 #602)
-#603 := [th-lemma arith triangle-eq]: #605
-#606 := [unit-resolution #603 #244]: #602
-[th-lemma arith farkas 1 1 1 #78 #604 #606]: false
-unsat
-31e82c3a0418f1a5035c07306f1bcb632442caaa 62 0
-#2 := false
-#22 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: S3
-#10 := f6
-decl f4 :: S2
-#7 := f4
-#11 := (f3 f4 f6)
-decl f5 :: S3
-#8 := f5
-#9 := (f3 f4 f5)
-#56 := -1::Int
-#57 := (* -1::Int #11)
-#58 := (+ #9 #57)
-#59 := (<= #58 0::Int)
-#62 := (if #59 #9 #11)
-#69 := (* -1::Int #62)
-#70 := (+ #11 #69)
-#68 := (>= #70 0::Int)
-#75 := (not #68)
-#12 := (<= #9 #11)
-#13 := (if #12 #9 #11)
-#14 := (<= #13 #11)
-#15 := (not #14)
-#76 := (iff #15 #75)
-#73 := (iff #14 #68)
-#65 := (<= #62 #11)
-#71 := (iff #65 #68)
-#72 := [rewrite]: #71
-#66 := (iff #14 #65)
-#63 := (= #13 #62)
-#60 := (iff #12 #59)
-#61 := [rewrite]: #60
-#64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#74 := [trans #67 #72]: #73
-#77 := [monotonicity #74]: #76
-#53 := [asserted]: #15
-#78 := [mp #53 #77]: #75
-#290 := (= #11 #62)
-#206 := (not #59)
-#599 := [hypothesis]: #59
-#253 := (+ #9 #69)
-#598 := (>= #253 0::Int)
-#205 := (= #9 #62)
-#291 := (or #206 #205)
-#292 := [def-axiom]: #291
-#600 := [unit-resolution #292 #599]: #205
-#595 := (not #205)
-#601 := (or #595 #598)
-#239 := [th-lemma arith triangle-eq]: #601
-#602 := [unit-resolution #239 #600]: #598
-#604 := [th-lemma arith farkas -1 1 1 #602 #78 #599]: false
-#244 := [lemma #604]: #206
-#283 := (or #59 #290)
-#294 := [def-axiom]: #283
-#245 := [unit-resolution #294 #244]: #290
-#605 := (not #290)
-#603 := (or #605 #68)
-#606 := [th-lemma arith triangle-eq]: #603
-[unit-resolution #606 #245 #78]: false
-unsat
-255fa9c9d454506807f3975ef67899ee95170888 238 0
-#2 := false
-#23 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: S3
-#10 := f6
-decl f4 :: S2
-#7 := f4
-#11 := (f3 f4 f6)
-decl f5 :: S3
-#8 := f5
-#9 := (f3 f4 f5)
-#57 := -1::Int
-#58 := (* -1::Int #11)
-#59 := (+ #9 #58)
-#60 := (<= #59 0::Int)
-#63 := (if #60 #9 #11)
-#72 := (* -1::Int #63)
-#255 := (+ #9 #72)
-#600 := (>= #255 0::Int)
-#607 := (not #600)
-#617 := (>= #11 0::Int)
-#586 := (= #11 0::Int)
-decl f7 :: (-> S4 Int S3)
-decl f8 :: S4
-#17 := f8
-#295 := (f7 f8 #11)
-#618 := (f3 f4 #295)
-#271 := (= #618 0::Int)
-#592 := (not #617)
-#439 := [hypothesis]: #592
-#612 := (or #617 #271)
-#24 := (:var 0 Int)
-#26 := (f7 f8 #24)
-#628 := (pattern #26)
-#27 := (f3 f4 #26)
-#32 := (= #27 0::Int)
-#89 := (>= #24 0::Int)
-#120 := (or #89 #32)
-#635 := (forall (vars (?v0 Int)) (:pat #628) #120)
-#123 := (forall (vars (?v0 Int)) #120)
-#638 := (iff #123 #635)
-#636 := (iff #120 #120)
-#637 := [refl]: #636
-#639 := [quant-intro #637]: #638
-#136 := (~ #123 #123)
-#144 := (~ #120 #120)
-#145 := [refl]: #144
-#137 := [nnf-pos #145]: #136
-#31 := (< #24 0::Int)
-#33 := (implies #31 #32)
-#34 := (forall (vars (?v0 Int)) #33)
-#126 := (iff #34 #123)
-#104 := (not #31)
-#105 := (or #104 #32)
-#108 := (forall (vars (?v0 Int)) #105)
-#124 := (iff #108 #123)
-#121 := (iff #105 #120)
-#118 := (iff #104 #89)
-#91 := (not #89)
-#113 := (not #91)
-#116 := (iff #113 #89)
-#117 := [rewrite]: #116
-#114 := (iff #104 #113)
-#111 := (iff #31 #91)
-#112 := [rewrite]: #111
-#115 := [monotonicity #112]: #114
-#119 := [trans #115 #117]: #118
-#122 := [monotonicity #119]: #121
-#125 := [quant-intro #122]: #124
-#109 := (iff #34 #108)
-#106 := (iff #33 #105)
-#107 := [rewrite]: #106
-#110 := [quant-intro #107]: #109
-#127 := [trans #110 #125]: #126
-#103 := [asserted]: #34
-#128 := [mp #103 #127]: #123
-#146 := [mp~ #128 #137]: #123
-#640 := [mp #146 #639]: #635
-#619 := (not #635)
-#259 := (or #619 #617 #271)
-#260 := (or #619 #612)
-#262 := (iff #260 #259)
-#598 := [rewrite]: #262
-#261 := [quant-inst #11]: #260
-#599 := [mp #261 #598]: #259
-#304 := [unit-resolution #599 #640]: #612
-#454 := [unit-resolution #304 #439]: #271
-#300 := (= #11 #618)
-#584 := (= f6 #295)
-#299 := (= #295 f6)
-#18 := (:var 0 S3)
-#19 := (f3 f4 #18)
-#621 := (pattern #19)
-#20 := (f7 f8 #19)
-#21 := (= #20 #18)
-#622 := (forall (vars (?v0 S3)) (:pat #621) #21)
-#22 := (forall (vars (?v0 S3)) #21)
-#625 := (iff #22 #622)
-#623 := (iff #21 #21)
-#624 := [refl]: #623
-#626 := [quant-intro #624]: #625
-#142 := (~ #22 #22)
-#140 := (~ #21 #21)
-#141 := [refl]: #140
-#143 := [nnf-pos #141]: #142
-#55 := [asserted]: #22
-#132 := [mp~ #55 #143]: #22
-#627 := [mp #132 #626]: #622
-#278 := (not #622)
-#609 := (or #278 #299)
-#283 := [quant-inst #10]: #609
-#306 := [unit-resolution #283 #627]: #299
-#585 := [symm #306]: #584
-#582 := [monotonicity #585]: #300
-#456 := [trans #582 #454]: #586
-#457 := (not #586)
-#450 := (or #457 #617)
-#458 := [th-lemma arith triangle-eq]: #450
-#459 := [unit-resolution #458 #439 #456]: false
-#460 := [lemma #459]: #617
-#555 := (or #592 #607)
-#73 := (+ #11 #72)
-#74 := (+ #9 #73)
-#70 := (>= #74 0::Int)
-#77 := (not #70)
-#14 := (+ #9 #11)
-#12 := (<= #9 #11)
-#13 := (if #12 #9 #11)
-#15 := (<= #13 #14)
-#16 := (not #15)
-#78 := (iff #16 #77)
-#75 := (iff #15 #70)
-#66 := (<= #63 #14)
-#69 := (iff #66 #70)
-#71 := [rewrite]: #69
-#67 := (iff #15 #66)
-#64 := (= #13 #63)
-#61 := (iff #12 #60)
-#62 := [rewrite]: #61
-#65 := [monotonicity #62]: #64
-#68 := [monotonicity #65]: #67
-#76 := [trans #68 #71]: #75
-#79 := [monotonicity #76]: #78
-#54 := [asserted]: #16
-#80 := [mp #54 #79]: #77
-#589 := (or #592 #607 #70)
-#593 := [th-lemma arith assign-bounds 1 -1]: #589
-#552 := [unit-resolution #593 #80]: #555
-#556 := [unit-resolution #552 #460]: #607
-#207 := (= #9 #63)
-#297 := (f7 f8 #9)
-#402 := (f3 f4 #297)
-#284 := (= #402 0::Int)
-#405 := (iff #284 #207)
-#445 := (iff #207 #284)
-#562 := (= #63 0::Int)
-#424 := (>= #73 0::Int)
-#292 := (= #11 #63)
-#580 := (iff #284 #292)
-#574 := (iff #292 #284)
-#587 := (= 0::Int #402)
-#578 := (iff #587 #284)
-#573 := [commutativity]: #578
-#576 := (iff #292 #587)
-#314 := (= #63 #402)
-#591 := (= #9 #402)
-#319 := (= f5 #297)
-#298 := (= #297 f5)
-#613 := (or #278 #298)
-#615 := [quant-inst #8]: #613
-#318 := [unit-resolution #615 #627]: #298
-#320 := [symm #318]: #319
-#313 := [monotonicity #320]: #591
-#214 := (= #63 #9)
-#601 := (not #292)
-#602 := [hypothesis]: #601
-#285 := (or #60 #292)
-#296 := [def-axiom]: #285
-#597 := [unit-resolution #296 #602]: #60
-#208 := (not #60)
-#293 := (or #208 #207)
-#294 := [def-axiom]: #293
-#603 := [unit-resolution #294 #597]: #207
-#590 := [symm #603]: #214
-#588 := [trans #590 #313]: #314
-#241 := (not #207)
-#604 := (or #241 #600)
-#606 := [th-lemma arith triangle-eq]: #604
-#246 := [unit-resolution #606 #603]: #600
-#303 := [unit-resolution #593 #246 #80]: #592
-#305 := [unit-resolution #304 #303]: #271
-#583 := [trans #582 #305]: #586
-#577 := [monotonicity #583 #588]: #576
-#579 := [trans #577 #573]: #574
-#575 := [symm #579]: #580
-#272 := (>= #9 0::Int)
-#247 := (not #272)
-#605 := (or #247 #208 #607 #70)
-#608 := [th-lemma arith assign-bounds -1 1 -1]: #605
-#594 := [unit-resolution #608 #597 #80 #246]: #247
-#616 := (or #272 #284)
-#614 := (or #619 #272 #284)
-#620 := (or #619 #616)
-#270 := (iff #620 #614)
-#275 := [rewrite]: #270
-#610 := [quant-inst #9]: #620
-#611 := [mp #610 #275]: #614
-#595 := [unit-resolution #611 #640]: #616
-#317 := [unit-resolution #595 #594]: #284
-#581 := [mp #317 #575]: #292
-#422 := [unit-resolution #602 #581]: false
-#423 := [lemma #422]: #292
-#567 := (or #601 #424)
-#568 := [th-lemma arith triangle-eq]: #567
-#569 := [unit-resolution #568 #423]: #424
-#566 := [hypothesis]: #241
-#572 := [unit-resolution #294 #566]: #208
-#563 := (not #424)
-#401 := (or #592 #563 #60 #70)
-#403 := [th-lemma arith assign-bounds 1 1 1]: #401
-#404 := [unit-resolution #403 #572 #80 #569]: #592
-#557 := [unit-resolution #304 #404]: #271
-#561 := (= #63 #618)
-#558 := (= #63 #11)
-#560 := [symm #423]: #558
-#559 := [trans #560 #582]: #561
-#444 := [trans #559 #557]: #562
-#446 := [monotonicity #313 #444]: #445
-#553 := [symm #446]: #405
-#564 := (or #247 #563 #70)
-#570 := [th-lemma arith assign-bounds 1 -1]: #564
-#571 := [unit-resolution #570 #569 #80]: #247
-#565 := [unit-resolution #595 #571]: #284
-#455 := [mp #565 #553]: #207
-#550 := [unit-resolution #566 #455]: false
-#551 := [lemma #550]: #207
-[unit-resolution #606 #551 #556]: false
-unsat
-045d7d8d25dac55517e319701f444d30bf2a94d9 109 0
-#2 := false
-#28 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f7 :: S3
-#13 := f7
-decl f4 :: S2
-#7 := f4
-#14 := (f3 f4 f7)
-decl f6 :: S3
-#10 := f6
-#11 := (f3 f4 f6)
-#67 := -1::Int
-#76 := (* -1::Int #14)
-#86 := (+ #11 #76)
-#87 := (<= #86 0::Int)
-#90 := (if #87 #11 #14)
-#98 := (* -1::Int #90)
-decl f5 :: S3
-#8 := f5
-#9 := (f3 f4 f5)
-#99 := (+ #9 #98)
-#97 := (>= #99 0::Int)
-#96 := (not #97)
-#77 := (+ #9 #76)
-#75 := (>= #77 0::Int)
-#74 := (not #75)
-#70 := (* -1::Int #11)
-#71 := (+ #9 #70)
-#69 := (>= #71 0::Int)
-#68 := (not #69)
-#80 := (and #68 #74)
-#83 := (not #80)
-#104 := (or #83 #96)
-#107 := (not #104)
-#17 := (<= #11 #14)
-#18 := (if #17 #11 #14)
-#19 := (< #9 #18)
-#15 := (< #9 #14)
-#12 := (< #9 #11)
-#16 := (and #12 #15)
-#20 := (implies #16 #19)
-#21 := (not #20)
-#110 := (iff #21 #107)
-#60 := (not #16)
-#61 := (or #60 #19)
-#64 := (not #61)
-#108 := (iff #64 #107)
-#105 := (iff #61 #104)
-#102 := (iff #19 #96)
-#93 := (< #9 #90)
-#100 := (iff #93 #96)
-#101 := [rewrite]: #100
-#94 := (iff #19 #93)
-#91 := (= #18 #90)
-#88 := (iff #17 #87)
-#89 := [rewrite]: #88
-#92 := [monotonicity #89]: #91
-#95 := [monotonicity #92]: #94
-#103 := [trans #95 #101]: #102
-#84 := (iff #60 #83)
-#81 := (iff #16 #80)
-#78 := (iff #15 #74)
-#79 := [rewrite]: #78
-#72 := (iff #12 #68)
-#73 := [rewrite]: #72
-#82 := [monotonicity #73 #79]: #81
-#85 := [monotonicity #82]: #84
-#106 := [monotonicity #85 #103]: #105
-#109 := [monotonicity #106]: #108
-#65 := (iff #21 #64)
-#62 := (iff #20 #61)
-#63 := [rewrite]: #62
-#66 := [monotonicity #63]: #65
-#111 := [trans #66 #109]: #110
-#59 := [asserted]: #21
-#112 := [mp #59 #111]: #107
-#116 := [not-or-elim #112]: #97
-#113 := [not-or-elim #112]: #80
-#115 := [and-elim #113]: #74
-#633 := (+ #14 #98)
-#630 := (<= #633 0::Int)
-#330 := (= #14 #90)
-#246 := (not #87)
-#245 := (= #11 #90)
-#628 := (not #245)
-#642 := (+ #11 #98)
-#644 := (<= #642 0::Int)
-#357 := (not #644)
-#114 := [and-elim #113]: #68
-#355 := [hypothesis]: #644
-#356 := [th-lemma arith farkas -1 -1 1 #355 #114 #116]: false
-#358 := [lemma #356]: #357
-#252 := [hypothesis]: #245
-#629 := (or #628 #644)
-#351 := [th-lemma arith triangle-eq]: #629
-#352 := [unit-resolution #351 #252 #358]: false
-#626 := [lemma #352]: #628
-#331 := (or #246 #245)
-#332 := [def-axiom]: #331
-#631 := [unit-resolution #332 #626]: #246
-#323 := (or #87 #330)
-#334 := [def-axiom]: #323
-#341 := [unit-resolution #334 #631]: #330
-#342 := (not #330)
-#343 := (or #342 #630)
-#344 := [th-lemma arith triangle-eq]: #343
-#622 := [unit-resolution #344 #341]: #630
-[th-lemma arith farkas -1 -1 1 #622 #115 #116]: false
-unsat
-1962433f8497846ba06e564f4ca48d7e020eb6e0 141 0
-#2 := false
-#10 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: (-> S4 Int S3)
-decl f5 :: S3
-#8 := f5
-decl f4 :: S2
-#7 := f4
-#9 := (f3 f4 f5)
-decl f7 :: S4
-#12 := f7
-#272 := (f6 f7 #9)
-#570 := (f3 f4 #272)
-#277 := (= #570 0::Int)
-#543 := (= #9 0::Int)
-#11 := (<= #9 0::Int)
-#13 := (f6 f7 0::Int)
-#14 := (if #11 f5 #13)
-#266 := (= #13 #14)
-#567 := (not #266)
-#15 := (= #14 #13)
-#16 := (not #15)
-#564 := (iff #16 #567)
-#293 := (iff #15 #266)
-#294 := [commutativity]: #293
-#568 := [monotonicity #294]: #564
-#52 := [asserted]: #16
-#278 := [mp #52 #568]: #567
-#259 := (or #11 #266)
-#270 := [def-axiom]: #259
-#279 := [unit-resolution #270 #278]: #11
-#569 := (>= #9 0::Int)
-#541 := (not #277)
-#181 := (= f5 #14)
-#182 := (not #11)
-#267 := (or #182 #181)
-#268 := [def-axiom]: #267
-#280 := [unit-resolution #268 #279]: #181
-#556 := (= #13 f5)
-#269 := (= #272 f5)
-#17 := (:var 0 S3)
-#18 := (f3 f4 #17)
-#596 := (pattern #18)
-#19 := (f6 f7 #18)
-#20 := (= #19 #17)
-#597 := (forall (vars (?v0 S3)) (:pat #596) #20)
-#21 := (forall (vars (?v0 S3)) #20)
-#600 := (iff #21 #597)
-#598 := (iff #20 #20)
-#599 := [refl]: #598
-#601 := [quant-intro #599]: #600
-#116 := (~ #21 #21)
-#114 := (~ #20 #20)
-#115 := [refl]: #114
-#117 := [nnf-pos #115]: #116
-#53 := [asserted]: #21
-#106 := [mp~ #53 #117]: #21
-#602 := [mp #106 #601]: #597
-#588 := (not #597)
-#590 := (or #588 #269)
-#246 := [quant-inst #8]: #590
-#281 := [unit-resolution #246 #602]: #269
-#549 := (= #13 #272)
-#553 := (= 0::Int #9)
-#551 := (= #570 #9)
-#557 := (= #9 #570)
-#560 := (= f5 #272)
-#274 := [symm #281]: #560
-#561 := [monotonicity #274]: #557
-#552 := [symm #561]: #551
-#558 := (= 0::Int #570)
-#559 := [hypothesis]: #277
-#562 := [symm #559]: #558
-#548 := [trans #562 #552]: #553
-#554 := [monotonicity #548]: #549
-#397 := [trans #554 #281]: #556
-#398 := [trans #397 #280]: #266
-#399 := [unit-resolution #278 #398]: false
-#542 := [lemma #399]: #541
-#292 := (or #569 #277)
-#22 := (:var 0 Int)
-#24 := (f6 f7 #22)
-#603 := (pattern #24)
-#25 := (f3 f4 #24)
-#30 := (= #25 0::Int)
-#64 := (>= #22 0::Int)
-#94 := (or #64 #30)
-#610 := (forall (vars (?v0 Int)) (:pat #603) #94)
-#97 := (forall (vars (?v0 Int)) #94)
-#613 := (iff #97 #610)
-#611 := (iff #94 #94)
-#612 := [refl]: #611
-#614 := [quant-intro #612]: #613
-#110 := (~ #97 #97)
-#118 := (~ #94 #94)
-#119 := [refl]: #118
-#111 := [nnf-pos #119]: #110
-#29 := (< #22 0::Int)
-#31 := (implies #29 #30)
-#32 := (forall (vars (?v0 Int)) #31)
-#100 := (iff #32 #97)
-#78 := (not #29)
-#79 := (or #78 #30)
-#82 := (forall (vars (?v0 Int)) #79)
-#98 := (iff #82 #97)
-#95 := (iff #79 #94)
-#92 := (iff #78 #64)
-#65 := (not #64)
-#87 := (not #65)
-#90 := (iff #87 #64)
-#91 := [rewrite]: #90
-#88 := (iff #78 #87)
-#85 := (iff #29 #65)
-#86 := [rewrite]: #85
-#89 := [monotonicity #86]: #88
-#93 := [trans #89 #91]: #92
-#96 := [monotonicity #93]: #95
-#99 := [quant-intro #96]: #98
-#83 := (iff #32 #82)
-#80 := (iff #31 #79)
-#81 := [rewrite]: #80
-#84 := [quant-intro #81]: #83
-#101 := [trans #84 #99]: #100
-#77 := [asserted]: #32
-#102 := [mp #77 #101]: #97
-#120 := [mp~ #102 #111]: #97
-#615 := [mp #120 #614]: #610
-#295 := (not #610)
-#188 := (or #295 #569 #277)
-#565 := (or #295 #292)
-#288 := (iff #565 #188)
-#289 := [rewrite]: #288
-#566 := [quant-inst #9]: #565
-#563 := [mp #566 #289]: #188
-#555 := [unit-resolution #563 #615]: #292
-#550 := [unit-resolution #555 #542]: #569
-#544 := [th-lemma arith eq-propagate 0 0 #550 #279]: #543
-#538 := [monotonicity #281]: #551
-#539 := [trans #538 #544]: #277
-[unit-resolution #542 #539]: false
-unsat
-f80dc9916afc1b74e708843f9de068b19b70dd30 62 0
-#2 := false
-#22 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: S3
-#8 := f5
-decl f4 :: S2
-#7 := f4
-#9 := (f3 f4 f5)
-decl f6 :: S3
-#10 := f6
-#11 := (f3 f4 f6)
-#56 := -1::Int
-#57 := (* -1::Int #11)
-#58 := (+ #9 #57)
-#59 := (<= #58 0::Int)
-#62 := (if #59 #11 #9)
-#68 := (* -1::Int #62)
-#69 := (+ #9 #68)
-#70 := (<= #69 0::Int)
-#75 := (not #70)
-#12 := (<= #9 #11)
-#13 := (if #12 #11 #9)
-#14 := (<= #9 #13)
-#15 := (not #14)
-#76 := (iff #15 #75)
-#73 := (iff #14 #70)
-#65 := (<= #9 #62)
-#71 := (iff #65 #70)
-#72 := [rewrite]: #71
-#66 := (iff #14 #65)
-#63 := (= #13 #62)
-#60 := (iff #12 #59)
-#61 := [rewrite]: #60
-#64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#74 := [trans #67 #72]: #73
-#77 := [monotonicity #74]: #76
-#53 := [asserted]: #15
-#78 := [mp #53 #77]: #75
-#290 := (= #9 #62)
-#206 := (not #59)
-#599 := [hypothesis]: #59
-#253 := (+ #11 #68)
-#594 := (<= #253 0::Int)
-#205 := (= #11 #62)
-#291 := (or #206 #205)
-#292 := [def-axiom]: #291
-#600 := [unit-resolution #292 #599]: #205
-#595 := (not #205)
-#601 := (or #595 #594)
-#239 := [th-lemma arith triangle-eq]: #601
-#602 := [unit-resolution #239 #600]: #594
-#604 := [th-lemma arith farkas 1 -1 1 #602 #78 #599]: false
-#244 := [lemma #604]: #206
-#283 := (or #59 #290)
-#294 := [def-axiom]: #283
-#245 := [unit-resolution #294 #244]: #290
-#605 := (not #290)
-#603 := (or #605 #70)
-#606 := [th-lemma arith triangle-eq]: #603
-[unit-resolution #606 #245 #78]: false
-unsat
-863d026b871fd01ad877b22fe75d3d9947adc4c3 62 0
-#2 := false
-#22 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f6 :: S3
-#10 := f6
-decl f4 :: S2
-#7 := f4
-#11 := (f3 f4 f6)
-decl f5 :: S3
-#8 := f5
-#9 := (f3 f4 f5)
-#56 := -1::Int
-#59 := (* -1::Int #11)
-#60 := (+ #9 #59)
-#58 := (>= #60 0::Int)
-#62 := (if #58 #9 #11)
-#68 := (* -1::Int #62)
-#253 := (+ #11 #68)
-#239 := (<= #253 0::Int)
-#290 := (= #11 #62)
-#206 := (not #58)
-#205 := (= #9 #62)
-#598 := (not #205)
-#69 := (+ #9 #68)
-#70 := (<= #69 0::Int)
-#75 := (not #70)
-#12 := (<= #11 #9)
-#13 := (if #12 #9 #11)
-#14 := (<= #9 #13)
-#15 := (not #14)
-#76 := (iff #15 #75)
-#73 := (iff #14 #70)
-#65 := (<= #9 #62)
-#71 := (iff #65 #70)
-#72 := [rewrite]: #71
-#66 := (iff #14 #65)
-#63 := (= #13 #62)
-#57 := (iff #12 #58)
-#61 := [rewrite]: #57
-#64 := [monotonicity #61]: #63
-#67 := [monotonicity #64]: #66
-#74 := [trans #67 #72]: #73
-#77 := [monotonicity #74]: #76
-#53 := [asserted]: #15
-#78 := [mp #53 #77]: #75
-#594 := [hypothesis]: #205
-#599 := (or #598 #70)
-#600 := [th-lemma arith triangle-eq]: #599
-#595 := [unit-resolution #600 #594 #78]: false
-#601 := [lemma #595]: #598
-#291 := (or #206 #205)
-#292 := [def-axiom]: #291
-#604 := [unit-resolution #292 #601]: #206
-#283 := (or #58 #290)
-#294 := [def-axiom]: #283
-#244 := [unit-resolution #294 #604]: #290
-#245 := (not #290)
-#605 := (or #245 #239)
-#603 := [th-lemma arith triangle-eq]: #605
-#606 := [unit-resolution #603 #244]: #239
-[th-lemma arith farkas 1 1 1 #78 #604 #606]: false
-unsat
-54dc3056c3d64c5f00f83943070ff19ad35f8f48 409 0
-#2 := false
-#29 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: (-> S4 Int S3)
-decl f8 :: S3
-#11 := f8
-decl f4 :: S2
-#7 := f4
-#12 := (f3 f4 f8)
-decl f7 :: S3
-#9 := f7
-#10 := (f3 f4 f7)
-#61 := -1::Int
-#72 := (* -1::Int #10)
-#73 := (+ #72 #12)
-decl f6 :: S4
-#8 := f6
-#76 := (f5 f6 #73)
-#79 := (f3 f4 #76)
-#62 := (* -1::Int #12)
-#341 := (+ #62 #79)
-#619 := (+ #10 #341)
-#459 := (<= #619 0::Int)
-#620 := (= #619 0::Int)
-#63 := (+ #10 #62)
-#91 := (<= #63 0::Int)
-#94 := (if #91 #12 #10)
-#100 := (* -1::Int #94)
-#564 := (+ #10 #100)
-#540 := (<= #564 0::Int)
-#521 := (not #540)
-#594 := (<= #79 0::Int)
-#602 := (= #79 0::Int)
-#243 := (not #91)
-#487 := [hypothesis]: #243
-#604 := (or #91 #602)
-#30 := (:var 0 Int)
-#32 := (f5 f6 #30)
-#663 := (pattern #32)
-#33 := (f3 f4 #32)
-#38 := (= #33 0::Int)
-#124 := (>= #30 0::Int)
-#155 := (or #124 #38)
-#670 := (forall (vars (?v0 Int)) (:pat #663) #155)
-#158 := (forall (vars (?v0 Int)) #155)
-#673 := (iff #158 #670)
-#671 := (iff #155 #155)
-#672 := [refl]: #671
-#674 := [quant-intro #672]: #673
-#171 := (~ #158 #158)
-#179 := (~ #155 #155)
-#180 := [refl]: #179
-#172 := [nnf-pos #180]: #171
-#37 := (< #30 0::Int)
-#39 := (implies #37 #38)
-#40 := (forall (vars (?v0 Int)) #39)
-#161 := (iff #40 #158)
-#139 := (not #37)
-#140 := (or #139 #38)
-#143 := (forall (vars (?v0 Int)) #140)
-#159 := (iff #143 #158)
-#156 := (iff #140 #155)
-#153 := (iff #139 #124)
-#126 := (not #124)
-#148 := (not #126)
-#151 := (iff #148 #124)
-#152 := [rewrite]: #151
-#149 := (iff #139 #148)
-#146 := (iff #37 #126)
-#147 := [rewrite]: #146
-#150 := [monotonicity #147]: #149
-#154 := [trans #150 #152]: #153
-#157 := [monotonicity #154]: #156
-#160 := [quant-intro #157]: #159
-#144 := (iff #40 #143)
-#141 := (iff #39 #140)
-#142 := [rewrite]: #141
-#145 := [quant-intro #142]: #144
-#162 := [trans #145 #160]: #161
-#138 := [asserted]: #40
-#163 := [mp #138 #162]: #158
-#181 := [mp~ #163 #172]: #158
-#675 := [mp #181 #674]: #670
-#353 := (not #670)
-#605 := (or #353 #91 #602)
-#630 := (>= #73 0::Int)
-#603 := (or #630 #602)
-#606 := (or #353 #603)
-#593 := (iff #606 #605)
-#607 := (or #353 #604)
-#439 := (iff #607 #605)
-#592 := [rewrite]: #439
-#436 := (iff #606 #607)
-#598 := (iff #603 #604)
-#628 := (iff #630 #91)
-#338 := [rewrite]: #628
-#599 := [monotonicity #338]: #598
-#438 := [monotonicity #599]: #436
-#595 := [trans #438 #592]: #593
-#600 := [quant-inst #73]: #606
-#596 := [mp #600 #595]: #605
-#488 := [unit-resolution #596 #675]: #604
-#498 := [unit-resolution #488 #487]: #602
-#478 := (not #602)
-#499 := (or #478 #594)
-#454 := [th-lemma arith triangle-eq]: #499
-#455 := [unit-resolution #454 #498]: #594
-#539 := (not #594)
-#466 := (or #539 #521)
-#66 := (f5 f6 #63)
-#69 := (f3 f4 #66)
-#647 := (* -1::Int #69)
-#290 := (+ #62 #647)
-#631 := (+ #10 #290)
-#640 := (>= #631 0::Int)
-#646 := (= #631 0::Int)
-#654 := (>= #63 0::Int)
-#573 := (+ #12 #100)
-#574 := (<= #573 0::Int)
-#558 := (not #574)
-#349 := (<= #69 0::Int)
-#643 := (= #69 0::Int)
-#649 := (not #654)
-#527 := [hypothesis]: #649
-#629 := (or #654 #643)
-#354 := (or #353 #654 #643)
-#355 := (or #353 #629)
-#625 := (iff #355 #354)
-#626 := [rewrite]: #625
-#249 := [quant-inst #63]: #355
-#348 := [mp #249 #626]: #354
-#514 := [unit-resolution #348 #675]: #629
-#517 := [unit-resolution #514 #527]: #643
-#518 := (not #643)
-#519 := (or #518 #349)
-#515 := [th-lemma arith triangle-eq]: #519
-#520 := [unit-resolution #515 #517]: #349
-#479 := (>= #10 0::Int)
-#560 := (= #10 0::Int)
-#332 := (f5 f6 #10)
-#480 := (f3 f4 #332)
-#481 := (= #480 0::Int)
-#554 := (not #479)
-#541 := [hypothesis]: #554
-#440 := (or #479 #481)
-#585 := (or #353 #479 #481)
-#586 := (or #353 #440)
-#474 := (iff #586 #585)
-#489 := [rewrite]: #474
-#589 := [quant-inst #10]: #586
-#491 := [mp #589 #489]: #585
-#543 := [unit-resolution #491 #675]: #440
-#544 := [unit-resolution #543 #541]: #481
-#548 := (= #10 #480)
-#546 := (= f7 #332)
-#333 := (= #332 f7)
-#24 := (:var 0 S3)
-#25 := (f3 f4 #24)
-#656 := (pattern #25)
-#26 := (f5 f6 #25)
-#27 := (= #26 #24)
-#657 := (forall (vars (?v0 S3)) (:pat #656) #27)
-#28 := (forall (vars (?v0 S3)) #27)
-#660 := (iff #28 #657)
-#658 := (iff #27 #27)
-#659 := [refl]: #658
-#661 := [quant-intro #659]: #660
-#177 := (~ #28 #28)
-#175 := (~ #27 #27)
-#176 := [refl]: #175
-#178 := [nnf-pos #176]: #177
-#114 := [asserted]: #28
-#167 := [mp~ #114 #178]: #28
-#662 := [mp #167 #661]: #657
-#313 := (not #657)
-#648 := (or #313 #333)
-#650 := [quant-inst #9]: #648
-#545 := [unit-resolution #650 #662]: #333
-#547 := [symm #545]: #546
-#549 := [monotonicity #547]: #548
-#550 := [trans #549 #544]: #560
-#551 := (not #560)
-#552 := (or #551 #479)
-#542 := [th-lemma arith triangle-eq]: #552
-#553 := [unit-resolution #542 #541 #550]: false
-#531 := [lemma #553]: #479
-#500 := (or #654 #91)
-#446 := [th-lemma arith farkas 1 1]: #500
-#501 := [unit-resolution #446 #527]: #91
-#621 := (or #243 #620)
-#34 := (= #33 #30)
-#129 := (or #126 #34)
-#664 := (forall (vars (?v0 Int)) (:pat #663) #129)
-#132 := (forall (vars (?v0 Int)) #129)
-#667 := (iff #132 #664)
-#665 := (iff #129 #129)
-#666 := [refl]: #665
-#668 := [quant-intro #666]: #667
-#169 := (~ #132 #132)
-#168 := (~ #129 #129)
-#165 := [refl]: #168
-#170 := [nnf-pos #165]: #169
-#31 := (<= 0::Int #30)
-#35 := (implies #31 #34)
-#36 := (forall (vars (?v0 Int)) #35)
-#135 := (iff #36 #132)
-#116 := (not #31)
-#117 := (or #116 #34)
-#120 := (forall (vars (?v0 Int)) #117)
-#133 := (iff #120 #132)
-#130 := (iff #117 #129)
-#127 := (iff #116 #126)
-#123 := (iff #31 #124)
-#125 := [rewrite]: #123
-#128 := [monotonicity #125]: #127
-#131 := [monotonicity #128]: #130
-#134 := [quant-intro #131]: #133
-#121 := (iff #36 #120)
-#118 := (iff #35 #117)
-#119 := [rewrite]: #118
-#122 := [quant-intro #119]: #121
-#136 := [trans #122 #134]: #135
-#115 := [asserted]: #36
-#137 := [mp #115 #136]: #132
-#166 := [mp~ #137 #170]: #132
-#669 := [mp #166 #668]: #664
-#633 := (not #664)
-#611 := (or #633 #243 #620)
-#627 := (= #79 #73)
-#352 := (not #630)
-#624 := (or #352 #627)
-#612 := (or #633 #624)
-#616 := (iff #612 #611)
-#608 := (or #633 #621)
-#615 := (iff #608 #611)
-#610 := [rewrite]: #615
-#609 := (iff #612 #608)
-#618 := (iff #624 #621)
-#335 := (iff #627 #620)
-#617 := [rewrite]: #335
-#339 := (iff #352 #243)
-#340 := [monotonicity #338]: #339
-#622 := [monotonicity #340 #617]: #618
-#614 := [monotonicity #622]: #609
-#457 := [trans #614 #610]: #616
-#613 := [quant-inst #73]: #612
-#458 := [mp #613 #457]: #611
-#482 := [unit-resolution #458 #669]: #621
-#506 := [unit-resolution #482 #501]: #620
-#507 := (not #620)
-#502 := (or #507 #459)
-#508 := [th-lemma arith triangle-eq]: #502
-#476 := [unit-resolution #508 #506]: #459
-#557 := (not #459)
-#555 := (not #349)
-#559 := (or #554 #555 #557 #558)
-#565 := [hypothesis]: #574
-#566 := [hypothesis]: #479
-#567 := [hypothesis]: #459
-#101 := (+ #79 #100)
-#102 := (+ #69 #101)
-#103 := (<= #102 0::Int)
-#108 := (not #103)
-#20 := (<= #10 #12)
-#21 := (if #20 #12 #10)
-#16 := (- #12 #10)
-#17 := (f5 f6 #16)
-#18 := (f3 f4 #17)
-#13 := (- #10 #12)
-#14 := (f5 f6 #13)
-#15 := (f3 f4 #14)
-#19 := (+ #15 #18)
-#22 := (<= #19 #21)
-#23 := (not #22)
-#111 := (iff #23 #108)
-#82 := (+ #69 #79)
-#85 := (<= #82 #21)
-#88 := (not #85)
-#109 := (iff #88 #108)
-#106 := (iff #85 #103)
-#97 := (<= #82 #94)
-#104 := (iff #97 #103)
-#105 := [rewrite]: #104
-#98 := (iff #85 #97)
-#95 := (= #21 #94)
-#92 := (iff #20 #91)
-#93 := [rewrite]: #92
-#96 := [monotonicity #93]: #95
-#99 := [monotonicity #96]: #98
-#107 := [trans #99 #105]: #106
-#110 := [monotonicity #107]: #109
-#89 := (iff #23 #88)
-#86 := (iff #22 #85)
-#83 := (= #19 #82)
-#80 := (= #18 #79)
-#77 := (= #17 #76)
-#74 := (= #16 #73)
-#75 := [rewrite]: #74
-#78 := [monotonicity #75]: #77
-#81 := [monotonicity #78]: #80
-#70 := (= #15 #69)
-#67 := (= #14 #66)
-#64 := (= #13 #63)
-#65 := [rewrite]: #64
-#68 := [monotonicity #65]: #67
-#71 := [monotonicity #68]: #70
-#84 := [monotonicity #71 #81]: #83
-#87 := [monotonicity #84]: #86
-#90 := [monotonicity #87]: #89
-#112 := [trans #90 #110]: #111
-#60 := [asserted]: #23
-#113 := [mp #60 #112]: #108
-#563 := [hypothesis]: #349
-#568 := [th-lemma arith farkas 1 -1 1 -1 1 #563 #113 #567 #566 #565]: false
-#556 := [lemma #568]: #559
-#483 := [unit-resolution #556 #476 #531 #520]: #558
-#242 := (= #12 #94)
-#328 := (or #243 #242)
-#329 := [def-axiom]: #328
-#442 := [unit-resolution #329 #501]: #242
-#473 := (not #242)
-#475 := (or #473 #574)
-#477 := [th-lemma arith triangle-eq]: #475
-#484 := [unit-resolution #477 #442 #483]: false
-#486 := [lemma #484]: #654
-#295 := (or #649 #646)
-#634 := (or #633 #649 #646)
-#305 := (= #69 #63)
-#310 := (or #649 #305)
-#635 := (or #633 #310)
-#641 := (iff #635 #634)
-#637 := (or #633 #295)
-#276 := (iff #637 #634)
-#639 := [rewrite]: #276
-#632 := (iff #635 #637)
-#296 := (iff #310 #295)
-#306 := (iff #305 #646)
-#294 := [rewrite]: #306
-#297 := [monotonicity #294]: #296
-#638 := [monotonicity #297]: #632
-#281 := [trans #638 #639]: #641
-#636 := [quant-inst #63]: #635
-#282 := [mp #636 #281]: #634
-#460 := [unit-resolution #282 #669]: #295
-#461 := [unit-resolution #460 #486]: #646
-#462 := (not #646)
-#463 := (or #462 #640)
-#464 := [th-lemma arith triangle-eq]: #463
-#465 := [unit-resolution #464 #461]: #640
-#588 := (>= #12 0::Int)
-#526 := (= #12 0::Int)
-#330 := (f5 f6 #12)
-#490 := (f3 f4 #330)
-#492 := (= #490 0::Int)
-#533 := (not #588)
-#528 := [hypothesis]: #533
-#485 := (or #588 #492)
-#495 := (or #353 #588 #492)
-#496 := (or #353 #485)
-#590 := (iff #496 #495)
-#587 := [rewrite]: #590
-#497 := [quant-inst #12]: #496
-#591 := [mp #497 #587]: #495
-#529 := [unit-resolution #591 #675]: #485
-#524 := [unit-resolution #529 #528]: #492
-#505 := (= #12 #490)
-#503 := (= f8 #330)
-#334 := (= #330 f8)
-#644 := (or #313 #334)
-#318 := [quant-inst #11]: #644
-#530 := [unit-resolution #318 #662]: #334
-#504 := [symm #530]: #503
-#398 := [monotonicity #504]: #505
-#509 := [trans #398 #524]: #526
-#510 := (not #526)
-#511 := (or #510 #588)
-#516 := [th-lemma arith triangle-eq]: #511
-#512 := [unit-resolution #516 #528 #509]: false
-#513 := [lemma #512]: #588
-#525 := (not #640)
-#522 := (or #533 #539 #525 #521)
-#534 := [hypothesis]: #540
-#535 := [hypothesis]: #588
-#536 := [hypothesis]: #640
-#537 := [hypothesis]: #594
-#538 := [th-lemma arith farkas -1 1 -1 -1 1 #113 #537 #536 #535 #534]: false
-#523 := [lemma #538]: #522
-#467 := [unit-resolution #523 #513 #465]: #466
-#468 := [unit-resolution #467 #455]: #521
-#327 := (= #10 #94)
-#320 := (or #91 #327)
-#331 := [def-axiom]: #320
-#469 := [unit-resolution #331 #487]: #327
-#470 := (not #327)
-#471 := (or #470 #540)
-#456 := [th-lemma arith triangle-eq]: #471
-#472 := [unit-resolution #456 #469 #468]: false
-#433 := [lemma #472]: #91
-#434 := [unit-resolution #482 #433]: #620
-#441 := [unit-resolution #508 #434]: #459
-#443 := [unit-resolution #329 #433]: #242
-#444 := [unit-resolution #477 #443]: #574
-#445 := (or #349 #525 #243)
-#447 := [th-lemma arith assign-bounds 1 -1]: #445
-#448 := [unit-resolution #447 #465 #433]: #349
-#449 := (or #555 #557 #558)
-#450 := [unit-resolution #556 #531]: #449
-[unit-resolution #450 #448 #444 #441]: false
-unsat
-a792a04eb456fe8e05c404760a48764de177c4d7 109 0
-#2 := false
-#28 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: S3
-#8 := f5
-decl f4 :: S2
-#7 := f4
-#9 := (f3 f4 f5)
-decl f7 :: S3
-#13 := f7
-#14 := (f3 f4 f7)
-#67 := -1::Int
-#74 := (* -1::Int #14)
-#86 := (+ #9 #74)
-#87 := (<= #86 0::Int)
-#90 := (if #87 #14 #9)
-#96 := (* -1::Int #90)
-decl f6 :: S3
-#10 := f6
-#11 := (f3 f4 f6)
-#97 := (+ #11 #96)
-#98 := (<= #97 0::Int)
-#99 := (not #98)
-#75 := (+ #11 #74)
-#76 := (<= #75 0::Int)
-#77 := (not #76)
-#70 := (* -1::Int #11)
-#71 := (+ #9 #70)
-#69 := (>= #71 0::Int)
-#68 := (not #69)
-#80 := (and #68 #77)
-#83 := (not #80)
-#104 := (or #83 #99)
-#107 := (not #104)
-#17 := (<= #9 #14)
-#18 := (if #17 #14 #9)
-#19 := (< #18 #11)
-#15 := (< #14 #11)
-#12 := (< #9 #11)
-#16 := (and #12 #15)
-#20 := (implies #16 #19)
-#21 := (not #20)
-#110 := (iff #21 #107)
-#60 := (not #16)
-#61 := (or #60 #19)
-#64 := (not #61)
-#108 := (iff #64 #107)
-#105 := (iff #61 #104)
-#102 := (iff #19 #99)
-#93 := (< #90 #11)
-#100 := (iff #93 #99)
-#101 := [rewrite]: #100
-#94 := (iff #19 #93)
-#91 := (= #18 #90)
-#88 := (iff #17 #87)
-#89 := [rewrite]: #88
-#92 := [monotonicity #89]: #91
-#95 := [monotonicity #92]: #94
-#103 := [trans #95 #101]: #102
-#84 := (iff #60 #83)
-#81 := (iff #16 #80)
-#78 := (iff #15 #77)
-#79 := [rewrite]: #78
-#72 := (iff #12 #68)
-#73 := [rewrite]: #72
-#82 := [monotonicity #73 #79]: #81
-#85 := [monotonicity #82]: #84
-#106 := [monotonicity #85 #103]: #105
-#109 := [monotonicity #106]: #108
-#65 := (iff #21 #64)
-#62 := (iff #20 #61)
-#63 := [rewrite]: #62
-#66 := [monotonicity #63]: #65
-#111 := [trans #66 #109]: #110
-#59 := [asserted]: #21
-#112 := [mp #59 #111]: #107
-#116 := [not-or-elim #112]: #98
-#113 := [not-or-elim #112]: #80
-#114 := [and-elim #113]: #68
-#644 := (+ #9 #96)
-#627 := (>= #644 0::Int)
-#330 := (= #9 #90)
-#246 := (not #87)
-#245 := (= #14 #90)
-#628 := (not #245)
-#642 := (+ #14 #96)
-#633 := (>= #642 0::Int)
-#357 := (not #633)
-#115 := [and-elim #113]: #77
-#355 := [hypothesis]: #633
-#356 := [th-lemma arith farkas -1 -1 1 #355 #115 #116]: false
-#358 := [lemma #356]: #357
-#252 := [hypothesis]: #245
-#629 := (or #628 #633)
-#351 := [th-lemma arith triangle-eq]: #629
-#352 := [unit-resolution #351 #252 #358]: false
-#626 := [lemma #352]: #628
-#331 := (or #246 #245)
-#332 := [def-axiom]: #331
-#631 := [unit-resolution #332 #626]: #246
-#323 := (or #87 #330)
-#334 := [def-axiom]: #323
-#341 := [unit-resolution #334 #631]: #330
-#342 := (not #330)
-#343 := (or #342 #627)
-#344 := [th-lemma arith triangle-eq]: #343
-#622 := [unit-resolution #344 #341]: #627
-[th-lemma arith farkas -1 1 1 #622 #114 #116]: false
-unsat
-06ea32eecccdf6605c3b038ea8337a1d74e482b8 137 0
-#2 := false
-decl f5 :: S3
-#8 := f5
-decl f6 :: (-> S4 Int S3)
-#10 := 0::Int
-decl f7 :: S4
-#12 := f7
-#13 := (f6 f7 0::Int)
-decl f3 :: (-> S2 S3 Int)
-decl f4 :: S2
-#7 := f4
-#9 := (f3 f4 f5)
-#11 := (<= #9 0::Int)
-#14 := (if #11 #13 f5)
-#266 := (= f5 #14)
-#181 := (= #13 #14)
-#568 := (not #266)
-#15 := (= #14 f5)
-#16 := (not #15)
-#278 := (iff #16 #568)
-#567 := (iff #15 #266)
-#564 := [commutativity]: #567
-#279 := [monotonicity #564]: #278
-#52 := [asserted]: #16
-#280 := [mp #52 #279]: #568
-#259 := (or #11 #266)
-#270 := [def-axiom]: #259
-#281 := [unit-resolution #270 #280]: #11
-#182 := (not #11)
-#267 := (or #182 #181)
-#268 := [def-axiom]: #267
-#548 := [unit-resolution #268 #281]: #181
-#399 := (= f5 #13)
-#272 := (f6 f7 #9)
-#397 := (= #272 #13)
-#274 := (= #9 0::Int)
-#252 := (f3 f4 #272)
-#377 := (= #252 0::Int)
-#273 := (>= #9 0::Int)
-#289 := (not #377)
-#563 := [hypothesis]: #289
-#584 := (or #273 #377)
-#22 := (:var 0 Int)
-#24 := (f6 f7 #22)
-#603 := (pattern #24)
-#25 := (f3 f4 #24)
-#30 := (= #25 0::Int)
-#64 := (>= #22 0::Int)
-#94 := (or #64 #30)
-#610 := (forall (vars (?v0 Int)) (:pat #603) #94)
-#97 := (forall (vars (?v0 Int)) #94)
-#613 := (iff #97 #610)
-#611 := (iff #94 #94)
-#612 := [refl]: #611
-#614 := [quant-intro #612]: #613
-#110 := (~ #97 #97)
-#118 := (~ #94 #94)
-#119 := [refl]: #118
-#111 := [nnf-pos #119]: #110
-#29 := (< #22 0::Int)
-#31 := (implies #29 #30)
-#32 := (forall (vars (?v0 Int)) #31)
-#100 := (iff #32 #97)
-#78 := (not #29)
-#79 := (or #78 #30)
-#82 := (forall (vars (?v0 Int)) #79)
-#98 := (iff #82 #97)
-#95 := (iff #79 #94)
-#92 := (iff #78 #64)
-#65 := (not #64)
-#87 := (not #65)
-#90 := (iff #87 #64)
-#91 := [rewrite]: #90
-#88 := (iff #78 #87)
-#85 := (iff #29 #65)
-#86 := [rewrite]: #85
-#89 := [monotonicity #86]: #88
-#93 := [trans #89 #91]: #92
-#96 := [monotonicity #93]: #95
-#99 := [quant-intro #96]: #98
-#83 := (iff #32 #82)
-#80 := (iff #31 #79)
-#81 := [rewrite]: #80
-#84 := [quant-intro #81]: #83
-#101 := [trans #84 #99]: #100
-#77 := [asserted]: #32
-#102 := [mp #77 #101]: #97
-#120 := [mp~ #102 #111]: #97
-#615 := [mp #120 #614]: #610
-#591 := (not #610)
-#592 := (or #591 #273 #377)
-#593 := (or #591 #584)
-#589 := (iff #593 #592)
-#595 := [rewrite]: #589
-#594 := [quant-inst #9]: #593
-#585 := [mp #594 #595]: #592
-#559 := [unit-resolution #585 #615]: #584
-#560 := [unit-resolution #559 #563]: #273
-#557 := [th-lemma arith eq-propagate 0 0 #560 #281]: #274
-#558 := (= #252 #9)
-#269 := (= #272 f5)
-#17 := (:var 0 S3)
-#18 := (f3 f4 #17)
-#596 := (pattern #18)
-#19 := (f6 f7 #18)
-#20 := (= #19 #17)
-#597 := (forall (vars (?v0 S3)) (:pat #596) #20)
-#21 := (forall (vars (?v0 S3)) #20)
-#600 := (iff #21 #597)
-#598 := (iff #20 #20)
-#599 := [refl]: #598
-#601 := [quant-intro #599]: #600
-#116 := (~ #21 #21)
-#114 := (~ #20 #20)
-#115 := [refl]: #114
-#117 := [nnf-pos #115]: #116
-#53 := [asserted]: #21
-#106 := [mp~ #53 #117]: #21
-#602 := [mp #106 #601]: #597
-#588 := (not #597)
-#590 := (or #588 #269)
-#246 := [quant-inst #8]: #590
-#561 := [unit-resolution #246 #602]: #269
-#562 := [monotonicity #561]: #558
-#551 := [trans #562 #557]: #377
-#552 := [unit-resolution #563 #551]: false
-#553 := [lemma #552]: #377
-#555 := (= #9 #252)
-#549 := (= f5 #272)
-#554 := [symm #561]: #549
-#550 := [monotonicity #554]: #555
-#556 := [trans #550 #553]: #274
-#398 := [monotonicity #556]: #397
-#541 := [trans #554 #398]: #399
-#542 := [trans #541 #548]: #266
-[unit-resolution #280 #542]: false
-unsat
--- a/src/HOL/SMT_Examples/SMT_Tests.thy	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/SMT_Examples/SMT_Tests.thy	Tue Jan 01 11:36:30 2013 +0100
@@ -109,7 +109,6 @@
   "\<forall>x. P x \<longrightarrow> (\<forall>y. P x \<or> P y)"
   "(\<forall>x. P x \<and> Q x) \<longleftrightarrow> (\<forall>x. P x) \<and> (\<forall>x. Q x)"
   "(\<forall>x. P x) \<or> R \<longleftrightarrow> (\<forall>x. P x \<or> R)"
-  "(\<forall>x. P x) \<and> R \<longleftrightarrow> (\<forall>x. P x \<and> R)"
   "(\<forall>x y z. S x z) \<longleftrightarrow> (\<forall>x z. S x z)"
   "(\<forall>x y. S x y \<longrightarrow> S y x) \<longrightarrow> (\<forall>x. S x y) \<longrightarrow> S y x"
   "(\<forall>x. P x \<longrightarrow> P (f x)) \<and> P d \<longrightarrow> P (f(f(f(d))))"
@@ -118,6 +117,11 @@
   by smt+
 
 lemma
+  "(\<forall>x. P x) \<and> R \<longleftrightarrow> (\<forall>x. P x \<and> R)"
+  using [[smt_oracle]] by smt
+  (* BUG: Z3 proof parser (line 34): unknown function symbol: "S2!val!0" *)
+
+lemma
   "\<exists>x. x = x"
   "(\<exists>x. P x) \<longleftrightarrow> (\<exists>y. P y)"
   "(\<exists>x. P x \<or> Q x) \<longleftrightarrow> (\<exists>x. P x) \<or> (\<exists>x. Q x)"
@@ -133,7 +137,8 @@
   "\<exists>x. P x \<longrightarrow> P a \<and> P b"
   "\<exists>x. (\<exists>y. P y) \<longrightarrow> P x"
   "(\<exists>x. Q \<longrightarrow> P x) \<longleftrightarrow> (Q \<longrightarrow> (\<exists>x. P x))"
-by smt+
+  using [[smt_oracle]] by smt+
+  (* BUG: Z3 proof parser (line 34): unknown function symbol: "S2!val!0" *)
 
 lemma
   "(\<not>(\<exists>x. P x)) \<longleftrightarrow> (\<forall>x. \<not> P x)"
--- a/src/HOL/SMT_Examples/SMT_Word_Examples.certs	Tue Jan 01 11:35:22 2013 +0100
+++ b/src/HOL/SMT_Examples/SMT_Word_Examples.certs	Tue Jan 01 11:36:30 2013 +0100
@@ -1,56 +1,56 @@
-76e44ee5933c173533f6c97186112ffd01a35ae7 1 0
+ef8166854c461e296fe9c596b7a3fe12065b0c65 1 0
 unsat
-ab57bdb94d69bdaba64439f9bb267d64807e1b5e 1 0
+d1ec4aa8c4a5f474e8dbb8a8acbdd12fc33b0cda 1 0
 unsat
-401498352b7622bd35b4dfc98f7cffcbc6c68d8f 1 0
+03dee604b20d98218bc88a69efcbf0f1c6dc057a 1 0
 unsat
-788a14cdbdb52ecdc7af1170ffad340615282c1d 1 0
+6a68bdb5b2a92a239021f6188a807622fe7b8213 1 0
 unsat
-975e232ce6b6ffe7dec903c82ba2e55be9be4b55 1 0
+9be3195f24c1786963c05e51e63a24efa7c83141 1 0
 unsat
-6b59badfb0234682536bb0ad166188999b0c6ddc 1 0
+608ed753221bdf2f1769ea3686a0f970108a7087 1 0
 unsat
-3382bcdf1086a48fcafa193342eaa14b3d909da5 1 0
+610484e81fc38952a9a2cb0bfc83d424f7f96ca8 1 0
 unsat
-b70039502c53afd0aa36eb84a1b69ddb2aa2d889 1 0
+0a06a4c179bec3512f3dc01e338f246fca223ddb 1 0
 unsat
-1708d764034dbf13b2c2700d611d5ffa101211d9 1 0
+dd232118189a55ac7fc80599d2738be8bbaa9333 1 0
 unsat
-c477e950ae95e3b24973c8c733ec2bea8b9b2d38 1 0
+8426f9081bd693e21cd8b2e13d07cea1e69e8abd 1 0
 unsat
-1093c5f8705b619e8a7be9b8025eeb457136ec3e 1 0
+8d83ab1c5a55640d0165bbd736d2cc217bcc2efd 1 0
 unsat
-dd3396716b2da248d8c9added0ceea02fef4ba84 1 0
+542ef8141028455b42a51f60e3981a74373a60b3 1 0
 unsat
-bdcc1e71a24633edb63d0dd3ba120c65e846f3ce 1 0
+564709a03da50b938c3b1ab2a8a2f0dc8d8a4749 1 0
 unsat
-e2eacbb801fda7d852db0c81474cb853fd1c712b 1 0
+c4acaeb4324634878481e3faae3beae53a641067 1 0
 unsat
-f0d4a4b3c8c63de26b273932bfe1395e8b793560 1 0
+873ce0289bcfaf43a446c6ed55bec4289eea0ffd 1 0
 unsat
-88c2d9cc032fd024a08d4ba295900da6bce5f5d4 1 0
+8383b80b5e8011f2b51c01ea89c14ce766f5a82b 1 0
 unsat
-1bcdaf67c99875bf6db184c44d694d9acd5f4fe6 1 0
+6694dc1c5420588e5e48281a8835ac019bfb1aa7 1 0
 unsat
-c00707370876ed215f3713cd85573c4763ec2a26 1 0
+4094196f5d25f48682e6634b4326469abc38d250 1 0
 unsat
-1cb480a8b9f94702afaeb571497b186daedb1ef8 1 0
+0597f614ff89c7376d01987b4737ab991b5a321c 1 0
 unsat
-9e8b9e428288ae30c668e8f03352d15d8e286432 1 0
+44f955a3f3fab3f5203ec29edc7e00e7cb81bedc 1 0
 unsat
-196c4a9a6b5640282f300e93c54ff8eb71316ff5 1 0
+927e5f0e88fadf6d2f604b1d863a37fc682f942b 1 0
 unsat
-1826991131b49208eb8677e518d5be0f42b61b38 1 0
+818922160b53f843888d258a1ef7e5d5ddf5129f 1 0
 unsat
-55f83dbb53da0f4b9428053cd94f44601bcaa774 1 0
+afc6dff121c48475665b0ef064826ffa2cad0e85 1 0
 unsat
-ab7c984b7a66073b1abad84ef52b929976a35d86 1 0
+b9ab61d9521faeaa45ec63bff4581742c3e6c550 1 0
 unsat
-bfa3fce180488cfe4ad0ac727bb623640e0d32b2 1 0
+8e60769fce6622cdca312aa54d4a77329a99dac2 1 0
 unsat
-90e9872517e16cc673eb5c48dc5cbf7bc9c432ac 1 0
+bd55726cefc783f8e9ef4ad38596e1f24cca3663 1 0
 unsat
-72e166f5efdbfd3fe1c8bdfadba5d3492475412c 1 0
+4e48efd5c9874aedf200e06875d5597b31d98075 1 0
 unsat
-c02804bc11c152c5fb78f37c0e820d1472eb067d 1 0
+e5c27ae0a583eeafeaa4ef3c59b1b4ec53e06b0f 1 0
 unsat