src/HOL/SMT_Examples/SMT_Examples.certs
changeset 43555 93c1fc6ac527
parent 43273 4de998188c1d
child 43893 f3e75541cb78
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Sun Jun 26 19:10:02 2011 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Sun Jun 26 19:10:03 2011 +0200
@@ -609,58 +609,65 @@
 #99 := [mp #72 #98]: #94
 [mp #99 #302]: false
 unsat
-06b0c3de2b103a3370515a513898e3214632f94b 52 0
-#2 := false
-decl f3 :: (-> S2 S2 S2)
-decl f4 :: S2
-#14 := f4
-decl f5 :: S2
-#16 := f5
-#18 := (f3 f5 f4)
-#17 := (f3 f4 f5)
-#19 := (= #17 #18)
-#52 := (not #19)
-#15 := (= f4 f4)
-#20 := (and #15 #19)
-#21 := (not #20)
-#53 := (iff #21 #52)
-#50 := (iff #20 #19)
+dd0cba0a17795cc066f8c77647c6bcb52b690616 59 0
+#2 := false
+decl f3 :: (-> S3 S2 S2)
+decl f6 :: S2
+#17 := f6
+decl f4 :: (-> S4 S2 S3)
+decl f7 :: S2
+#20 := f7
+decl f5 :: S4
+#8 := f5
+#22 := (f4 f5 f7)
+#23 := (f3 #22 f6)
+#19 := (f4 f5 f6)
+#21 := (f3 #19 f7)
+#24 := (= #21 #23)
+#57 := (not #24)
+#18 := (= f6 f6)
+#25 := (and #18 #24)
+#26 := (not #25)
+#58 := (iff #26 #57)
+#55 := (iff #25 #24)
 #1 := true
-#45 := (and true #19)
-#48 := (iff #45 #19)
+#50 := (and true #24)
+#53 := (iff #50 #24)
+#54 := [rewrite]: #53
+#51 := (iff #25 #50)
+#48 := (iff #18 true)
 #49 := [rewrite]: #48
-#46 := (iff #20 #45)
-#43 := (iff #15 true)
-#44 := [rewrite]: #43
-#47 := [monotonicity #44]: #46
-#51 := [trans #47 #49]: #50
-#54 := [monotonicity #51]: #53
-#42 := [asserted]: #21
-#57 := [mp #42 #54]: #52
-#8 := (:var 1 S2)
-#9 := (:var 0 S2)
-#11 := (f3 #9 #8)
-#538 := (pattern #11)
-#10 := (f3 #8 #9)
-#537 := (pattern #10)
-#12 := (= #10 #11)
-#539 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #537 #538) #12)
-#13 := (forall (vars (?v0 S2) (?v1 S2)) #12)
-#542 := (iff #13 #539)
-#540 := (iff #12 #12)
-#541 := [refl]: #540
-#543 := [quant-intro #541]: #542
-#65 := (~ #13 #13)
-#63 := (~ #12 #12)
-#64 := [refl]: #63
-#66 := [nnf-pos #64]: #65
-#41 := [asserted]: #13
-#56 := [mp~ #41 #66]: #13
-#544 := [mp #56 #543]: #539
-#120 := (not #539)
-#207 := (or #120 #19)
-#121 := [quant-inst #14 #16]: #207
-[unit-resolution #121 #544 #57]: false
+#52 := [monotonicity #49]: #51
+#56 := [trans #52 #54]: #55
+#59 := [monotonicity #56]: #58
+#47 := [asserted]: #26
+#62 := [mp #47 #59]: #57
+#9 := (:var 1 S2)
+#11 := (:var 0 S2)
+#13 := (f4 f5 #11)
+#14 := (f3 #13 #9)
+#543 := (pattern #14)
+#10 := (f4 f5 #9)
+#12 := (f3 #10 #11)
+#542 := (pattern #12)
+#15 := (= #12 #14)
+#544 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #542 #543) #15)
+#16 := (forall (vars (?v0 S2) (?v1 S2)) #15)
+#547 := (iff #16 #544)
+#545 := (iff #15 #15)
+#546 := [refl]: #545
+#548 := [quant-intro #546]: #547
+#70 := (~ #16 #16)
+#68 := (~ #15 #15)
+#69 := [refl]: #68
+#71 := [nnf-pos #69]: #70
+#46 := [asserted]: #16
+#61 := [mp~ #46 #71]: #16
+#549 := [mp #61 #548]: #544
+#125 := (not #544)
+#212 := (or #125 #24)
+#126 := [quant-inst #17 #20]: #212
+[unit-resolution #126 #549 #62]: false
 unsat
 0863329327da9e45e4d77f7bc111e467c5d58d3c 2526 0
 #2 := false
@@ -3285,302 +3292,310 @@
 #105 := [and-elim #104]: #79
 [unit-resolution #105 #118]: false
 unsat
-8759ce5d8b43c6b425d21500283811dc999647d4 146 0
-#2 := false
-decl f3 :: (-> S1 S2 S1)
-#9 := (:var 0 S2)
-decl f4 :: S1
-#15 := f4
-#16 := (f3 f4 #9)
-#601 := (pattern #16)
+71f21c0a5d88cb94f60cf796ba4f0c3c95e6bff5 151 0
+#2 := false
+decl f3 :: (-> S3 S2 S1)
+#11 := (:var 0 S2)
+decl f4 :: (-> S4 S1 S3)
+decl f6 :: S1
+#17 := f6
+decl f5 :: S4
+#8 := f5
+#18 := (f4 f5 f6)
+#19 := (f3 #18 #11)
+#604 := (pattern #19)
 decl f1 :: S1
 #4 := f1
-#57 := (= f1 #16)
-#98 := (not #57)
-#602 := (forall (vars (?v0 S2)) (:pat #601) #98)
-decl f5 :: S2
-#19 := f5
-#20 := (f3 f4 f5)
-#64 := (= f1 #20)
-#176 := (= f1 f4)
-#177 := (iff #64 #176)
-#8 := (:var 1 S1)
-#10 := (f3 #8 #9)
-#594 := (pattern #10)
-#47 := (= f1 #8)
-#44 := (= f1 #10)
-#50 := (iff #44 #47)
-#595 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #594) #50)
-#53 := (forall (vars (?v0 S1) (?v1 S2)) #50)
-#598 := (iff #53 #595)
-#596 := (iff #50 #50)
-#597 := [refl]: #596
-#599 := [quant-intro #597]: #598
-#89 := (~ #53 #53)
-#87 := (~ #50 #50)
-#88 := [refl]: #87
-#90 := [nnf-pos #88]: #89
-#12 := (= #8 f1)
-#11 := (= #10 f1)
-#13 := (iff #11 #12)
-#14 := (forall (vars (?v0 S1) (?v1 S2)) #13)
-#54 := (iff #14 #53)
-#51 := (iff #13 #50)
-#48 := (iff #12 #47)
+#60 := (= f1 #19)
+#101 := (not #60)
+#605 := (forall (vars (?v0 S2)) (:pat #604) #101)
+decl f7 :: S2
+#22 := f7
+#23 := (f3 #18 f7)
+#67 := (= f1 #23)
+#179 := (= f1 f6)
+#180 := (iff #67 #179)
+#9 := (:var 1 S1)
+#10 := (f4 f5 #9)
+#12 := (f3 #10 #11)
+#597 := (pattern #12)
+#50 := (= f1 #9)
+#47 := (= f1 #12)
+#53 := (iff #47 #50)
+#598 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #597) #53)
+#56 := (forall (vars (?v0 S1) (?v1 S2)) #53)
+#601 := (iff #56 #598)
+#599 := (iff #53 #53)
+#600 := [refl]: #599
+#602 := [quant-intro #600]: #601
+#92 := (~ #56 #56)
+#90 := (~ #53 #53)
+#91 := [refl]: #90
+#93 := [nnf-pos #91]: #92
+#14 := (= #9 f1)
+#13 := (= #12 f1)
+#15 := (iff #13 #14)
+#16 := (forall (vars (?v0 S1) (?v1 S2)) #15)
+#57 := (iff #16 #56)
+#54 := (iff #15 #53)
+#51 := (iff #14 #50)
+#52 := [rewrite]: #51
+#48 := (iff #13 #47)
 #49 := [rewrite]: #48
-#45 := (iff #11 #44)
-#46 := [rewrite]: #45
-#52 := [monotonicity #46 #49]: #51
-#55 := [quant-intro #52]: #54
-#43 := [asserted]: #14
-#58 := [mp #43 #55]: #53
-#80 := [mp~ #58 #90]: #53
-#600 := [mp #80 #599]: #595
-#178 := (not #595)
-#254 := (or #178 #177)
-#255 := [quant-inst #15 #19]: #254
-#264 := [unit-resolution #255 #600]: #177
+#55 := [monotonicity #49 #52]: #54
+#58 := [quant-intro #55]: #57
+#46 := [asserted]: #16
+#61 := [mp #46 #58]: #56
+#83 := [mp~ #61 #93]: #56
+#603 := [mp #83 #602]: #598
+#181 := (not #598)
+#257 := (or #181 #180)
+#258 := [quant-inst #17 #22]: #257
+#267 := [unit-resolution #258 #603]: #180
 decl ?v0!0 :: S2
-#82 := ?v0!0
-#91 := (f3 f4 ?v0!0)
-#83 := (= f1 #91)
-#263 := (iff #83 #176)
-#265 := (or #178 #263)
-#256 := [quant-inst #15 #82]: #265
-#582 := [unit-resolution #256 #600]: #263
-#267 := (not #263)
-#585 := (or #267 #176)
-#104 := (not #64)
-#584 := [hypothesis]: #104
-#109 := (or #64 #83)
-#101 := (forall (vars (?v0 S2)) #98)
-#110 := (or #104 #101)
-#117 := (and #109 #110)
-#111 := (and #110 #109)
-#118 := (iff #111 #117)
-#119 := [rewrite]: #118
-#61 := (exists (vars (?v0 S2)) #57)
-#73 := (not #61)
-#74 := (iff #64 #73)
-#112 := (~ #74 #111)
-#102 := (~ #73 #101)
-#99 := (~ #98 #98)
-#100 := [refl]: #99
-#103 := [nnf-neg #100]: #102
-#95 := (not #73)
-#96 := (~ #95 #83)
-#84 := (~ #61 #83)
-#92 := [sk]: #84
-#97 := [nnf-neg #92]: #96
-#107 := (~ #64 #64)
-#108 := [refl]: #107
-#105 := (~ #104 #104)
-#106 := [refl]: #105
-#113 := [nnf-pos #106 #108 #97 #103]: #112
-#21 := (= #20 f1)
-#17 := (= #16 f1)
-#18 := (exists (vars (?v0 S2)) #17)
-#22 := (iff #18 #21)
-#23 := (not #22)
-#77 := (iff #23 #74)
-#67 := (iff #61 #64)
-#70 := (not #67)
-#75 := (iff #70 #74)
-#76 := [rewrite]: #75
-#71 := (iff #23 #70)
-#68 := (iff #22 #67)
+#85 := ?v0!0
+#94 := (f3 #18 ?v0!0)
+#86 := (= f1 #94)
+#266 := (iff #86 #179)
+#268 := (or #181 #266)
+#259 := [quant-inst #17 #85]: #268
+#585 := [unit-resolution #259 #603]: #266
+#270 := (not #266)
+#588 := (or #270 #179)
+#107 := (not #67)
+#587 := [hypothesis]: #107
+#112 := (or #67 #86)
+#104 := (forall (vars (?v0 S2)) #101)
+#113 := (or #107 #104)
+#120 := (and #112 #113)
+#114 := (and #113 #112)
+#121 := (iff #114 #120)
+#122 := [rewrite]: #121
+#64 := (exists (vars (?v0 S2)) #60)
+#76 := (not #64)
+#77 := (iff #67 #76)
+#115 := (~ #77 #114)
+#105 := (~ #76 #104)
+#102 := (~ #101 #101)
+#103 := [refl]: #102
+#106 := [nnf-neg #103]: #105
+#98 := (not #76)
+#99 := (~ #98 #86)
+#87 := (~ #64 #86)
+#95 := [sk]: #87
+#100 := [nnf-neg #95]: #99
+#110 := (~ #67 #67)
+#111 := [refl]: #110
+#108 := (~ #107 #107)
+#109 := [refl]: #108
+#116 := [nnf-pos #109 #111 #100 #106]: #115
+#24 := (= #23 f1)
+#20 := (= #19 f1)
+#21 := (exists (vars (?v0 S2)) #20)
+#25 := (iff #21 #24)
+#26 := (not #25)
+#80 := (iff #26 #77)
+#70 := (iff #64 #67)
+#73 := (not #70)
+#78 := (iff #73 #77)
+#79 := [rewrite]: #78
+#74 := (iff #26 #73)
+#71 := (iff #25 #70)
+#68 := (iff #24 #67)
+#69 := [rewrite]: #68
 #65 := (iff #21 #64)
-#66 := [rewrite]: #65
-#62 := (iff #18 #61)
-#59 := (iff #17 #57)
-#60 := [rewrite]: #59
-#63 := [quant-intro #60]: #62
-#69 := [monotonicity #63 #66]: #68
-#72 := [monotonicity #69]: #71
-#78 := [trans #72 #76]: #77
-#56 := [asserted]: #23
-#81 := [mp #56 #78]: #74
-#114 := [mp~ #81 #113]: #111
-#115 := [mp #114 #119]: #117
-#116 := [and-elim #115]: #109
-#242 := [unit-resolution #116 #584]: #83
-#266 := (not #83)
-#270 := (or #267 #266 #176)
-#249 := [def-axiom]: #270
-#226 := [unit-resolution #249 #242]: #585
-#569 := [unit-resolution #226 #582]: #176
-#268 := (not #176)
-#589 := (not #177)
-#230 := (or #589 #268)
-#590 := (or #589 #64 #268)
-#591 := [def-axiom]: #590
-#231 := [unit-resolution #591 #584]: #230
-#232 := [unit-resolution #231 #569 #264]: false
-#233 := [lemma #232]: #64
-#607 := (or #104 #602)
-#608 := (iff #110 #607)
-#605 := (iff #101 #602)
-#603 := (iff #98 #98)
-#604 := [refl]: #603
-#606 := [quant-intro #604]: #605
-#609 := [monotonicity #606]: #608
-#120 := [and-elim #115]: #110
-#610 := [mp #120 #609]: #607
-#196 := [unit-resolution #610 #233]: #602
-#593 := (not #602)
-#583 := (or #593 #104)
-#241 := [quant-inst #19]: #583
-[unit-resolution #241 #233 #196]: false
-unsat
-6adfd21e17521f9484229c9e5eabfe34f616e110 146 2
-#2 := false
-decl f3 :: (-> S1 S2 S1)
-#9 := (:var 0 S2)
-decl f5 :: S1
-#23 := f5
-#24 := (f3 f5 #9)
-#696 := (pattern #24)
+#62 := (iff #20 #60)
+#63 := [rewrite]: #62
+#66 := [quant-intro #63]: #65
+#72 := [monotonicity #66 #69]: #71
+#75 := [monotonicity #72]: #74
+#81 := [trans #75 #79]: #80
+#59 := [asserted]: #26
+#84 := [mp #59 #81]: #77
+#117 := [mp~ #84 #116]: #114
+#118 := [mp #117 #122]: #120
+#119 := [and-elim #118]: #112
+#245 := [unit-resolution #119 #587]: #86
+#269 := (not #86)
+#273 := (or #270 #269 #179)
+#252 := [def-axiom]: #273
+#229 := [unit-resolution #252 #245]: #588
+#572 := [unit-resolution #229 #585]: #179
+#271 := (not #179)
+#592 := (not #180)
+#233 := (or #592 #271)
+#593 := (or #592 #67 #271)
+#594 := [def-axiom]: #593
+#234 := [unit-resolution #594 #587]: #233
+#235 := [unit-resolution #234 #572 #267]: false
+#236 := [lemma #235]: #67
+#610 := (or #107 #605)
+#611 := (iff #113 #610)
+#608 := (iff #104 #605)
+#606 := (iff #101 #101)
+#607 := [refl]: #606
+#609 := [quant-intro #607]: #608
+#612 := [monotonicity #609]: #611
+#123 := [and-elim #118]: #113
+#613 := [mp #123 #612]: #610
+#199 := [unit-resolution #613 #236]: #605
+#596 := (not #605)
+#586 := (or #596 #107)
+#244 := [quant-inst #22]: #586
+[unit-resolution #244 #236 #199]: false
+unsat
+ae3e0f78fcdef723f102d089b42d97f098766d9e 151 0
+#2 := false
+decl f3 :: (-> S3 S2 S1)
+#11 := (:var 0 S2)
+decl f4 :: (-> S4 S1 S3)
+decl f7 :: S1
+#26 := f7
+decl f5 :: S4
+#8 := f5
+#27 := (f4 f5 f7)
+#28 := (f3 #27 #11)
+#711 := (pattern #28)
 decl f1 :: S1
 #4 := f1
-#81 := (= f1 #24)
-#177 := (not #81)
-#697 := (forall (vars (?v0 S2)) (:pat #696) #177)
-decl f4 :: S2
-#18 := f4
-#27 := (f3 f5 f4)
-#88 := (= f1 #27)
-#255 := (= f1 f5)
-#256 := (iff #88 #255)
-#8 := (:var 1 S1)
-#10 := (f3 #8 #9)
-#673 := (pattern #10)
-#54 := (= f1 #8)
-#51 := (= f1 #10)
-#57 := (iff #51 #54)
-#674 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #673) #57)
-#60 := (forall (vars (?v0 S1) (?v1 S2)) #57)
-#677 := (iff #60 #674)
-#675 := (iff #57 #57)
-#676 := [refl]: #675
-#678 := [quant-intro #676]: #677
-#115 := (~ #60 #60)
-#113 := (~ #57 #57)
-#114 := [refl]: #113
-#116 := [nnf-pos #114]: #115
-#12 := (= #8 f1)
-#11 := (= #10 f1)
-#13 := (iff #11 #12)
-#14 := (forall (vars (?v0 S1) (?v1 S2)) #13)
-#61 := (iff #14 #60)
-#58 := (iff #13 #57)
-#55 := (iff #12 #54)
-#56 := [rewrite]: #55
-#52 := (iff #11 #51)
-#53 := [rewrite]: #52
-#59 := [monotonicity #53 #56]: #58
-#62 := [quant-intro #59]: #61
-#50 := [asserted]: #14
-#65 := [mp #50 #62]: #60
-#104 := [mp~ #65 #116]: #60
-#679 := [mp #104 #678]: #674
-#257 := (not #674)
-#333 := (or #257 #256)
-#334 := [quant-inst #23 #18]: #333
-#343 := [unit-resolution #334 #679]: #256
+#85 := (= f1 #28)
+#183 := (not #85)
+#712 := (forall (vars (?v0 S2)) (:pat #711) #183)
+decl f6 :: S2
+#21 := f6
+#31 := (f3 #27 f6)
+#92 := (= f1 #31)
+#261 := (= f1 f7)
+#262 := (iff #92 #261)
+#9 := (:var 1 S1)
+#10 := (f4 f5 #9)
+#12 := (f3 #10 #11)
+#679 := (pattern #12)
+#58 := (= f1 #9)
+#55 := (= f1 #12)
+#61 := (iff #55 #58)
+#680 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #679) #61)
+#64 := (forall (vars (?v0 S1) (?v1 S2)) #61)
+#683 := (iff #64 #680)
+#681 := (iff #61 #61)
+#682 := [refl]: #681
+#684 := [quant-intro #682]: #683
+#119 := (~ #64 #64)
+#117 := (~ #61 #61)
+#118 := [refl]: #117
+#120 := [nnf-pos #118]: #119
+#14 := (= #9 f1)
+#13 := (= #12 f1)
+#15 := (iff #13 #14)
+#16 := (forall (vars (?v0 S1) (?v1 S2)) #15)
+#65 := (iff #16 #64)
+#62 := (iff #15 #61)
+#59 := (iff #14 #58)
+#60 := [rewrite]: #59
+#56 := (iff #13 #55)
+#57 := [rewrite]: #56
+#63 := [monotonicity #57 #60]: #62
+#66 := [quant-intro #63]: #65
+#54 := [asserted]: #16
+#69 := [mp #54 #66]: #64
+#108 := [mp~ #69 #120]: #64
+#685 := [mp #108 #684]: #680
+#263 := (not #680)
+#339 := (or #263 #262)
+#340 := [quant-inst #26 #21]: #339
+#349 := [unit-resolution #340 #685]: #262
 decl ?v0!3 :: S2
-#148 := ?v0!3
-#149 := (f3 f5 ?v0!3)
-#121 := (= f1 #149)
-#342 := (iff #121 #255)
-#344 := (or #257 #342)
-#335 := [quant-inst #23 #148]: #344
-#661 := [unit-resolution #335 #679]: #342
-#346 := (not #342)
-#664 := (or #346 #255)
-#183 := (not #88)
-#663 := [hypothesis]: #183
-#188 := (or #88 #121)
-#180 := (forall (vars (?v0 S2)) #177)
-#189 := (or #183 #180)
-#196 := (and #188 #189)
-#190 := (and #189 #188)
-#197 := (iff #190 #196)
-#198 := [rewrite]: #197
-#85 := (exists (vars (?v0 S2)) #81)
-#97 := (not #85)
-#98 := (iff #88 #97)
-#191 := (~ #98 #190)
-#181 := (~ #97 #180)
-#178 := (~ #177 #177)
-#179 := [refl]: #178
-#182 := [nnf-neg #179]: #181
-#174 := (not #97)
-#175 := (~ #174 #121)
-#122 := (~ #85 #121)
-#171 := [sk]: #122
-#176 := [nnf-neg #171]: #175
-#186 := (~ #88 #88)
-#187 := [refl]: #186
+#154 := ?v0!3
+#155 := (f3 #27 ?v0!3)
+#126 := (= f1 #155)
+#348 := (iff #126 #261)
+#350 := (or #263 #348)
+#341 := [quant-inst #26 #154]: #350
+#667 := [unit-resolution #341 #685]: #348
+#352 := (not #348)
+#670 := (or #352 #261)
+#189 := (not #92)
+#669 := [hypothesis]: #189
+#194 := (or #92 #126)
+#186 := (forall (vars (?v0 S2)) #183)
+#195 := (or #189 #186)
+#202 := (and #194 #195)
+#196 := (and #195 #194)
+#203 := (iff #196 #202)
+#204 := [rewrite]: #203
+#89 := (exists (vars (?v0 S2)) #85)
+#101 := (not #89)
+#102 := (iff #92 #101)
+#197 := (~ #102 #196)
+#187 := (~ #101 #186)
 #184 := (~ #183 #183)
 #185 := [refl]: #184
-#192 := [nnf-pos #185 #187 #176 #182]: #191
-#28 := (= #27 f1)
-#25 := (= #24 f1)
-#26 := (exists (vars (?v0 S2)) #25)
-#29 := (iff #26 #28)
-#30 := (not #29)
-#101 := (iff #30 #98)
-#91 := (iff #85 #88)
-#94 := (not #91)
-#99 := (iff #94 #98)
-#100 := [rewrite]: #99
-#95 := (iff #30 #94)
-#92 := (iff #29 #91)
-#89 := (iff #28 #88)
-#90 := [rewrite]: #89
-#86 := (iff #26 #85)
-#83 := (iff #25 #81)
-#84 := [rewrite]: #83
-#87 := [quant-intro #84]: #86
-#93 := [monotonicity #87 #90]: #92
-#96 := [monotonicity #93]: #95
-#102 := [trans #96 #100]: #101
-#80 := [asserted]: #30
-#105 := [mp #80 #102]: #98
-#193 := [mp~ #105 #192]: #190
-#194 := [mp #193 #198]: #196
-#195 := [and-elim #194]: #188
-#321 := [unit-resolution #195 #663]: #121
-#345 := (not #121)
-#349 := (or #346 #345 #255)
-#328 := [def-axiom]: #349
-#305 := [unit-resolution #328 #321]: #664
-#648 := [unit-resolution #305 #661]: #255
-#347 := (not #255)
-#668 := (not #256)
-#309 := (or #668 #347)
-#669 := (or #668 #88 #347)
-#670 := [def-axiom]: #669
-#310 := [unit-resolution #670 #663]: #309
-#311 := [unit-resolution #310 #648 #343]: false
-#312 := [lemma #311]: #88
-#702 := (or #183 #697)
-#703 := (iff #189 #702)
-#700 := (iff #180 #697)
-#698 := (iff #177 #177)
-#699 := [refl]: #698
-#701 := [quant-intro #699]: #700
-#704 := [monotonicity #701]: #703
-#199 := [and-elim #194]: #189
-#705 := [mp #199 #704]: #702
-#275 := [unit-resolution #705 #312]: #697
-#672 := (not #697)
-#662 := (or #672 #183)
-#320 := [quant-inst #18]: #662
-[unit-resolution #320 #312 #275]: false
-unsat
-WARNING: failed to find a pattern for quantifier (quantifier id: k!14)
-
+#188 := [nnf-neg #185]: #187
+#180 := (not #101)
+#181 := (~ #180 #126)
+#127 := (~ #89 #126)
+#177 := [sk]: #127
+#182 := [nnf-neg #177]: #181
+#192 := (~ #92 #92)
+#193 := [refl]: #192
+#190 := (~ #189 #189)
+#191 := [refl]: #190
+#198 := [nnf-pos #191 #193 #182 #188]: #197
+#32 := (= #31 f1)
+#29 := (= #28 f1)
+#30 := (exists (vars (?v0 S2)) #29)
+#33 := (iff #30 #32)
+#34 := (not #33)
+#105 := (iff #34 #102)
+#95 := (iff #89 #92)
+#98 := (not #95)
+#103 := (iff #98 #102)
+#104 := [rewrite]: #103
+#99 := (iff #34 #98)
+#96 := (iff #33 #95)
+#93 := (iff #32 #92)
+#94 := [rewrite]: #93
+#90 := (iff #30 #89)
+#87 := (iff #29 #85)
+#88 := [rewrite]: #87
+#91 := [quant-intro #88]: #90
+#97 := [monotonicity #91 #94]: #96
+#100 := [monotonicity #97]: #99
+#106 := [trans #100 #104]: #105
+#84 := [asserted]: #34
+#109 := [mp #84 #106]: #102
+#199 := [mp~ #109 #198]: #196
+#200 := [mp #199 #204]: #202
+#201 := [and-elim #200]: #194
+#327 := [unit-resolution #201 #669]: #126
+#351 := (not #126)
+#355 := (or #352 #351 #261)
+#334 := [def-axiom]: #355
+#311 := [unit-resolution #334 #327]: #670
+#654 := [unit-resolution #311 #667]: #261
+#353 := (not #261)
+#674 := (not #262)
+#315 := (or #674 #353)
+#675 := (or #674 #92 #353)
+#676 := [def-axiom]: #675
+#316 := [unit-resolution #676 #669]: #315
+#317 := [unit-resolution #316 #654 #349]: false
+#318 := [lemma #317]: #92
+#717 := (or #189 #712)
+#718 := (iff #195 #717)
+#715 := (iff #186 #712)
+#713 := (iff #183 #183)
+#714 := [refl]: #713
+#716 := [quant-intro #714]: #715
+#719 := [monotonicity #716]: #718
+#205 := [and-elim #200]: #195
+#720 := [mp #205 #719]: #717
+#281 := [unit-resolution #720 #318]: #712
+#678 := (not #712)
+#668 := (or #678 #189)
+#326 := [quant-inst #21]: #668
+[unit-resolution #326 #318 #281]: false
+unsat
 5dc6f25776aabe70ad45ce325942b3a138a1974d 91 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -7423,135 +7438,484 @@
 #37 := [asserted]: #17
 [mp #37 #73]: false
 unsat
-75da1862a2fd162477f9d85292ff8ab2e18559e4 342 0
-#2 := false
-#21 := 0::Int
+7284d3250d19a32079c86839237365aa695997b1 347 0
+#2 := false
+#25 := 0::Int
 decl f3 :: Int
 #8 := f3
-#419 := (<= f3 0::Int)
-#446 := (>= f3 0::Int)
-#753 := (not #446)
-#409 := (not #419)
-#754 := (or #409 #753)
-#715 := (not #754)
+#424 := (<= f3 0::Int)
+#451 := (>= f3 0::Int)
+#758 := (not #451)
+#414 := (not #424)
+#759 := (or #414 #758)
+#720 := (not #759)
 #11 := 2::Int
-#443 := (mod f3 2::Int)
-#113 := -1::Int
-#444 := (* -1::Int #443)
-decl f4 :: (-> Int Int Int)
-#12 := (f4 f3 2::Int)
-#445 := (+ #12 #444)
-#442 := (= #445 0::Int)
-#705 := (not #442)
-#717 := (>= #445 0::Int)
-#647 := (not #717)
-#654 := [hypothesis]: #717
-#689 := (>= #443 0::Int)
+#448 := (mod f3 2::Int)
+#118 := -1::Int
+#449 := (* -1::Int #448)
+decl f4 :: (-> S2 Int Int)
+decl f5 :: (-> S3 Int S2)
+decl f6 :: S3
+#12 := f6
+#13 := (f5 f6 f3)
+#14 := (f4 #13 2::Int)
+#450 := (+ #14 #449)
+#447 := (= #450 0::Int)
+#710 := (not #447)
+#722 := (>= #450 0::Int)
+#652 := (not #722)
+#659 := [hypothesis]: #722
+#694 := (>= #448 0::Int)
 #1 := true
-#65 := [true-axiom]: true
-#665 := (or false #689)
-#643 := [th-lemma arith]: #665
-#644 := [unit-resolution #643 #65]: #689
-#95 := (>= #12 0::Int)
-#98 := (not #95)
+#70 := [true-axiom]: true
+#670 := (or false #694)
+#648 := [th-lemma arith]: #670
+#649 := [unit-resolution #648 #70]: #694
+#100 := (>= #14 0::Int)
+#103 := (not #100)
 #9 := 1::Int
-#13 := (* 2::Int #12)
-#14 := (+ #13 1::Int)
-#15 := (+ f3 #14)
+#15 := (* 2::Int #14)
+#16 := (+ #15 1::Int)
+#17 := (+ f3 #16)
 #10 := (+ f3 1::Int)
-#16 := (<= #10 #15)
-#17 := (not #16)
-#103 := (iff #17 #98)
-#77 := (+ f3 #13)
-#78 := (+ 1::Int #77)
-#68 := (+ 1::Int f3)
-#83 := (<= #68 #78)
-#86 := (not #83)
-#101 := (iff #86 #98)
-#93 := (>= #13 0::Int)
-#89 := (not #93)
-#99 := (iff #89 #98)
-#96 := (iff #93 #95)
+#18 := (<= #10 #17)
+#19 := (not #18)
+#108 := (iff #19 #103)
+#82 := (+ f3 #15)
+#83 := (+ 1::Int #82)
+#73 := (+ 1::Int f3)
+#88 := (<= #73 #83)
+#91 := (not #88)
+#106 := (iff #91 #103)
+#98 := (>= #15 0::Int)
+#94 := (not #98)
+#104 := (iff #94 #103)
+#101 := (iff #98 #100)
+#102 := [rewrite]: #101
+#105 := [monotonicity #102]: #104
+#95 := (iff #91 #94)
+#96 := (iff #88 #98)
 #97 := [rewrite]: #96
-#100 := [monotonicity #97]: #99
-#90 := (iff #86 #89)
-#91 := (iff #83 #93)
-#92 := [rewrite]: #91
-#94 := [monotonicity #92]: #90
-#102 := [trans #94 #100]: #101
-#87 := (iff #17 #86)
-#84 := (iff #16 #83)
-#81 := (= #15 #78)
-#71 := (+ 1::Int #13)
-#74 := (+ f3 #71)
-#79 := (= #74 #78)
+#99 := [monotonicity #97]: #95
+#107 := [trans #99 #105]: #106
+#92 := (iff #19 #91)
+#89 := (iff #18 #88)
+#86 := (= #17 #83)
+#76 := (+ 1::Int #15)
+#79 := (+ f3 #76)
+#84 := (= #79 #83)
+#85 := [rewrite]: #84
+#80 := (= #17 #79)
+#77 := (= #16 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#87 := [trans #81 #85]: #86
+#74 := (= #10 #73)
+#75 := [rewrite]: #74
+#90 := [monotonicity #75 #87]: #89
+#93 := [monotonicity #90]: #92
+#109 := [trans #93 #107]: #108
+#72 := [asserted]: #19
+#110 := [mp #72 #109]: #103
+#651 := [th-lemma arith farkas -1 1 1 #110 #649 #659]: false
+#653 := [lemma #651]: #652
+#665 := (or #710 #722)
+#666 := [th-lemma arith triangle-eq]: #665
+#667 := [unit-resolution #666 #653]: #710
+#642 := (or #720 #447)
+#746 := -2::Int
+#444 := (* -1::Int f3)
+#470 := (mod #444 -2::Int)
+#366 := (+ #14 #470)
+#465 := (= #366 0::Int)
+#744 := (ite #759 #447 #465)
+#768 := (= #14 0::Int)
+#769 := (= f3 0::Int)
+#455 := (ite #769 #768 #744)
+#23 := (:var 0 Int)
+#21 := (:var 1 Int)
+#43 := (f5 f6 #21)
+#44 := (f4 #43 #23)
+#780 := (pattern #44)
+#122 := (* -1::Int #23)
+#119 := (* -1::Int #21)
+#177 := (mod #119 #122)
+#292 := (+ #44 #177)
+#293 := (= #292 0::Int)
+#45 := (mod #21 #23)
+#289 := (* -1::Int #45)
+#290 := (+ #44 #289)
+#291 := (= #290 0::Int)
+#151 := (>= #21 0::Int)
+#144 := (<= #23 0::Int)
+#236 := (or #144 #151)
+#237 := (not #236)
+#140 := (<= #21 0::Int)
+#234 := (or #140 #144)
+#235 := (not #234)
+#240 := (or #235 #237)
+#294 := (ite #240 #291 #293)
+#288 := (= #44 0::Int)
+#26 := (= #21 0::Int)
+#295 := (ite #26 #288 #294)
+#287 := (= #21 #44)
+#27 := (= #23 0::Int)
+#296 := (ite #27 #287 #295)
+#781 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #780) #296)
+#299 := (forall (vars (?v0 Int) (?v1 Int)) #296)
+#784 := (iff #299 #781)
+#782 := (iff #296 #296)
+#783 := [refl]: #782
+#785 := [quant-intro #783]: #784
+#183 := (* -1::Int #177)
+#256 := (ite #240 #45 #183)
+#259 := (ite #26 0::Int #256)
+#262 := (ite #27 #21 #259)
+#265 := (= #44 #262)
+#268 := (forall (vars (?v0 Int) (?v1 Int)) #265)
+#300 := (iff #268 #299)
+#297 := (iff #265 #296)
+#298 := [rewrite]: #297
+#301 := [quant-intro #298]: #300
+#152 := (not #151)
+#145 := (not #144)
+#155 := (and #145 #152)
+#141 := (not #140)
+#148 := (and #141 #145)
+#158 := (or #148 #155)
+#203 := (ite #158 #45 #183)
+#206 := (ite #26 0::Int #203)
+#209 := (ite #27 #21 #206)
+#212 := (= #44 #209)
+#215 := (forall (vars (?v0 Int) (?v1 Int)) #212)
+#269 := (iff #215 #268)
+#266 := (iff #212 #265)
+#263 := (= #209 #262)
+#260 := (= #206 #259)
+#257 := (= #203 #256)
+#241 := (iff #158 #240)
+#238 := (iff #155 #237)
+#239 := [rewrite]: #238
+#228 := (iff #148 #235)
+#229 := [rewrite]: #228
+#242 := [monotonicity #229 #239]: #241
+#258 := [monotonicity #242]: #257
+#261 := [monotonicity #258]: #260
+#264 := [monotonicity #261]: #263
+#267 := [monotonicity #264]: #266
+#270 := [quant-intro #267]: #269
+#226 := (~ #215 #215)
+#225 := (~ #212 #212)
+#222 := [refl]: #225
+#227 := [nnf-pos #222]: #226
+#37 := (- #23)
+#36 := (- #21)
+#46 := (mod #36 #37)
+#47 := (- #46)
+#30 := (< 0::Int #23)
+#32 := (< #21 0::Int)
+#33 := (and #32 #30)
+#29 := (< 0::Int #21)
+#31 := (and #29 #30)
+#34 := (or #31 #33)
+#48 := (ite #34 #45 #47)
+#49 := (ite #26 0::Int #48)
+#50 := (ite #27 #21 #49)
+#51 := (= #44 #50)
+#52 := (forall (vars (?v0 Int) (?v1 Int)) #51)
+#218 := (iff #52 #215)
+#112 := (and #30 #32)
+#115 := (or #31 #112)
+#188 := (ite #115 #45 #183)
+#191 := (ite #26 0::Int #188)
+#194 := (ite #27 #21 #191)
+#197 := (= #44 #194)
+#200 := (forall (vars (?v0 Int) (?v1 Int)) #197)
+#216 := (iff #200 #215)
+#213 := (iff #197 #212)
+#210 := (= #194 #209)
+#207 := (= #191 #206)
+#204 := (= #188 #203)
+#159 := (iff #115 #158)
+#156 := (iff #112 #155)
+#153 := (iff #32 #152)
+#154 := [rewrite]: #153
+#146 := (iff #30 #145)
+#147 := [rewrite]: #146
+#157 := [monotonicity #147 #154]: #156
+#149 := (iff #31 #148)
+#142 := (iff #29 #141)
+#143 := [rewrite]: #142
+#150 := [monotonicity #143 #147]: #149
+#160 := [monotonicity #150 #157]: #159
+#205 := [monotonicity #160]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#201 := (iff #52 #200)
+#198 := (iff #51 #197)
+#195 := (= #50 #194)
+#192 := (= #49 #191)
+#189 := (= #48 #188)
+#186 := (= #47 #183)
+#180 := (- #177)
+#184 := (= #180 #183)
+#185 := [rewrite]: #184
+#181 := (= #47 #180)
+#178 := (= #46 #177)
+#123 := (= #37 #122)
+#124 := [rewrite]: #123
+#120 := (= #36 #119)
+#121 := [rewrite]: #120
+#179 := [monotonicity #121 #124]: #178
+#182 := [monotonicity #179]: #181
+#187 := [trans #182 #185]: #186
+#116 := (iff #34 #115)
+#113 := (iff #33 #112)
+#114 := [rewrite]: #113
+#117 := [monotonicity #114]: #116
+#190 := [monotonicity #117 #187]: #189
+#193 := [monotonicity #190]: #192
+#196 := [monotonicity #193]: #195
+#199 := [monotonicity #196]: #198
+#202 := [quant-intro #199]: #201
+#219 := [trans #202 #217]: #218
+#176 := [asserted]: #52
+#220 := [mp #176 #219]: #215
+#223 := [mp~ #220 #227]: #215
+#271 := [mp #223 #270]: #268
+#302 := [mp #271 #301]: #299
+#786 := [mp #302 #785]: #781
+#739 := (not #781)
+#728 := (or #739 #455)
+#360 := (* -1::Int 2::Int)
+#445 := (mod #444 #360)
+#446 := (+ #14 #445)
+#437 := (= #446 0::Int)
+#430 := (<= 2::Int 0::Int)
+#765 := (or #430 #451)
+#767 := (not #765)
+#554 := (or #424 #430)
+#761 := (not #554)
+#435 := (or #761 #767)
+#436 := (ite #435 #447 #437)
+#770 := (ite #769 #768 #436)
+#771 := (= f3 #14)
+#766 := (= 2::Int 0::Int)
+#772 := (ite #766 #771 #770)
+#729 := (or #739 #772)
+#725 := (iff #729 #728)
+#731 := (iff #728 #728)
+#732 := [rewrite]: #731
+#738 := (iff #772 #455)
+#458 := (ite false #771 #455)
+#452 := (iff #458 #455)
+#734 := [rewrite]: #452
+#736 := (iff #772 #458)
+#456 := (iff #770 #455)
+#741 := (iff #436 #744)
+#466 := (iff #437 #465)
+#742 := (= #446 #366)
+#471 := (= #445 #470)
+#747 := (= #360 -2::Int)
+#469 := [rewrite]: #747
+#472 := [monotonicity #469]: #471
+#743 := [monotonicity #472]: #742
+#740 := [monotonicity #743]: #466
+#757 := (iff #435 #759)
+#398 := (iff #767 #758)
+#393 := (iff #765 #451)
+#752 := (or false #451)
+#749 := (iff #752 #451)
+#755 := [rewrite]: #749
+#753 := (iff #765 #752)
+#427 := (iff #430 false)
+#763 := [rewrite]: #427
+#754 := [monotonicity #763]: #753
+#756 := [trans #754 #755]: #393
+#399 := [monotonicity #756]: #398
+#750 := (iff #761 #414)
+#412 := (iff #554 #424)
+#423 := (or #424 false)
+#748 := (iff #423 #424)
+#411 := [rewrite]: #748
+#764 := (iff #554 #423)
+#407 := [monotonicity #763]: #764
+#413 := [trans #407 #411]: #412
+#751 := [monotonicity #413]: #750
+#760 := [monotonicity #751 #399]: #757
+#745 := [monotonicity #760 #740]: #741
+#457 := [monotonicity #745]: #456
+#762 := (iff #766 false)
+#422 := [rewrite]: #762
+#737 := [monotonicity #422 #457]: #736
+#735 := [trans #737 #734]: #738
+#726 := [monotonicity #735]: #725
+#727 := [trans #726 #732]: #725
+#730 := [quant-inst #8 #11]: #729
+#733 := [mp #730 #727]: #728
+#668 := [unit-resolution #733 #786]: #455
+#598 := (not #769)
+#597 := (not #455)
+#654 := (or #597 #598)
+#703 := (not #768)
+#669 := (or #703 #100)
+#693 := [th-lemma arith triangle-eq]: #669
+#687 := [unit-resolution #693 #110]: #703
+#557 := (or #597 #598 #768)
+#705 := [def-axiom]: #557
+#655 := [unit-resolution #705 #687]: #654
+#650 := [unit-resolution #655 #668]: #598
+#607 := (or #597 #769 #744)
+#702 := [def-axiom]: #607
+#656 := [unit-resolution #702 #650 #668]: #744
+#724 := (not #744)
+#553 := (or #724 #720 #447)
+#555 := [def-axiom]: #553
+#638 := [unit-resolution #555 #656]: #642
+#639 := [unit-resolution #638 #667]: #720
+#575 := (or #759 #424)
+#576 := [def-axiom]: #575
+#640 := [unit-resolution #576 #639]: #424
+#718 := (or #759 #451)
+#719 := [def-axiom]: #718
+#643 := [unit-resolution #719 #639]: #451
+#644 := (or #769 #414 #758)
+#645 := [th-lemma arith triangle-eq]: #644
+#646 := [unit-resolution #645 #650]: #759
+[unit-resolution #646 #643 #640]: false
+unsat
+cf5adef89e3e53946521876e9bc33cdee144fbaf 354 0
+#2 := false
+#24 := 0::Int
+decl f3 :: Int
+#8 := f3
+#443 := (>= f3 0::Int)
+#763 := (<= f3 0::Int)
+#409 := (not #763)
+#752 := (not #443)
+#756 := (or #752 #409)
+#719 := (not #756)
+#11 := 2::Int
+#444 := (mod f3 2::Int)
+#113 := -1::Int
+#445 := (* -1::Int #444)
+decl f4 :: (-> S2 Int Int)
+decl f5 :: (-> S3 Int S2)
+decl f6 :: S3
+#9 := f6
+#10 := (f5 f6 f3)
+#12 := (f4 #10 2::Int)
+#373 := (+ #12 #445)
+#446 := (= #373 0::Int)
+#592 := (not #446)
+#549 := (<= #373 0::Int)
+#652 := (not #549)
+#660 := (>= #444 2::Int)
+#661 := (not #660)
+#1 := true
+#69 := [true-axiom]: true
+#648 := (or false #661)
+#649 := [th-lemma arith]: #648
+#650 := [unit-resolution #649 #69]: #661
+#651 := [hypothesis]: #549
+#98 := (>= #12 2::Int)
+#15 := 3::Int
+#16 := (+ f3 3::Int)
+#13 := (+ #12 #12)
+#14 := (+ f3 #13)
+#17 := (< #14 #16)
+#18 := (not #17)
+#103 := (iff #18 #98)
+#78 := (+ 3::Int f3)
+#72 := (* 2::Int #12)
+#75 := (+ f3 #72)
+#81 := (< #75 #78)
+#84 := (not #81)
+#101 := (iff #84 #98)
+#91 := (>= #72 3::Int)
+#99 := (iff #91 #98)
+#100 := [rewrite]: #99
+#96 := (iff #84 #91)
+#89 := (not #91)
+#88 := (not #89)
+#94 := (iff #88 #91)
+#95 := [rewrite]: #94
+#92 := (iff #84 #88)
+#90 := (iff #81 #89)
+#87 := [rewrite]: #90
+#93 := [monotonicity #87]: #92
+#97 := [trans #93 #95]: #96
+#102 := [trans #97 #100]: #101
+#85 := (iff #18 #84)
+#82 := (iff #17 #81)
+#79 := (= #16 #78)
 #80 := [rewrite]: #79
-#75 := (= #15 #74)
-#72 := (= #14 #71)
-#73 := [rewrite]: #72
-#76 := [monotonicity #73]: #75
-#82 := [trans #76 #80]: #81
-#69 := (= #10 #68)
-#70 := [rewrite]: #69
-#85 := [monotonicity #70 #82]: #84
-#88 := [monotonicity #85]: #87
-#104 := [trans #88 #102]: #103
-#67 := [asserted]: #17
-#105 := [mp #67 #104]: #98
-#646 := [th-lemma arith farkas -1 1 1 #105 #644 #654]: false
-#648 := [lemma #646]: #647
-#660 := (or #705 #717)
-#661 := [th-lemma arith triangle-eq]: #660
-#662 := [unit-resolution #661 #648]: #705
-#637 := (or #715 #442)
-#741 := -2::Int
-#439 := (* -1::Int f3)
-#465 := (mod #439 -2::Int)
-#361 := (+ #12 #465)
-#460 := (= #361 0::Int)
-#739 := (ite #754 #442 #460)
-#763 := (= #12 0::Int)
+#76 := (= #14 #75)
+#73 := (= #13 #72)
+#74 := [rewrite]: #73
+#77 := [monotonicity #74]: #76
+#83 := [monotonicity #77 #80]: #82
+#86 := [monotonicity #83]: #85
+#104 := [trans #86 #102]: #103
+#71 := [asserted]: #18
+#105 := [mp #71 #104]: #98
+#646 := [th-lemma arith farkas -1 1 1 #105 #651 #650]: false
+#638 := [lemma #646]: #652
+#655 := (or #592 #549)
+#666 := [th-lemma arith triangle-eq]: #655
+#644 := [unit-resolution #666 #638]: #592
+#616 := (or #719 #446)
+#467 := -2::Int
+#440 := (* -1::Int f3)
+#738 := (mod #440 -2::Int)
+#462 := (+ #12 #738)
+#737 := (= #462 0::Int)
+#452 := (ite #756 #446 #737)
+#432 := (= #12 0::Int)
 #764 := (= f3 0::Int)
-#450 := (ite #764 #763 #739)
-#19 := (:var 0 Int)
-#18 := (:var 1 Int)
-#39 := (f4 #18 #19)
-#775 := (pattern #39)
-#117 := (* -1::Int #19)
-#114 := (* -1::Int #18)
+#732 := (ite #764 #432 #452)
+#22 := (:var 0 Int)
+#20 := (:var 1 Int)
+#42 := (f5 f6 #20)
+#43 := (f4 #42 #22)
+#776 := (pattern #43)
+#117 := (* -1::Int #22)
+#114 := (* -1::Int #20)
 #172 := (mod #114 #117)
-#287 := (+ #39 #172)
+#287 := (+ #43 #172)
 #288 := (= #287 0::Int)
-#40 := (mod #18 #19)
-#284 := (* -1::Int #40)
-#285 := (+ #39 #284)
+#44 := (mod #20 #22)
+#284 := (* -1::Int #44)
+#285 := (+ #43 #284)
 #286 := (= #285 0::Int)
-#146 := (>= #18 0::Int)
-#139 := (<= #19 0::Int)
+#146 := (>= #20 0::Int)
+#139 := (<= #22 0::Int)
 #231 := (or #139 #146)
 #232 := (not #231)
-#135 := (<= #18 0::Int)
+#135 := (<= #20 0::Int)
 #229 := (or #135 #139)
 #230 := (not #229)
 #235 := (or #230 #232)
 #289 := (ite #235 #286 #288)
-#283 := (= #39 0::Int)
-#22 := (= #18 0::Int)
-#290 := (ite #22 #283 #289)
-#282 := (= #18 #39)
-#23 := (= #19 0::Int)
-#291 := (ite #23 #282 #290)
-#776 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #775) #291)
+#283 := (= #43 0::Int)
+#25 := (= #20 0::Int)
+#290 := (ite #25 #283 #289)
+#282 := (= #20 #43)
+#26 := (= #22 0::Int)
+#291 := (ite #26 #282 #290)
+#777 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #776) #291)
 #294 := (forall (vars (?v0 Int) (?v1 Int)) #291)
-#779 := (iff #294 #776)
-#777 := (iff #291 #291)
-#778 := [refl]: #777
-#780 := [quant-intro #778]: #779
+#780 := (iff #294 #777)
+#778 := (iff #291 #291)
+#779 := [refl]: #778
+#781 := [quant-intro #779]: #780
 #178 := (* -1::Int #172)
-#251 := (ite #235 #40 #178)
-#254 := (ite #22 0::Int #251)
-#257 := (ite #23 #18 #254)
-#260 := (= #39 #257)
+#251 := (ite #235 #44 #178)
+#254 := (ite #25 0::Int #251)
+#257 := (ite #26 #20 #254)
+#260 := (= #43 #257)
 #263 := (forall (vars (?v0 Int) (?v1 Int)) #260)
 #295 := (iff #263 #294)
 #292 := (iff #260 #291)
@@ -7563,10 +7927,10 @@
 #136 := (not #135)
 #143 := (and #136 #140)
 #153 := (or #143 #150)
-#198 := (ite #153 #40 #178)
-#201 := (ite #22 0::Int #198)
-#204 := (ite #23 #18 #201)
-#207 := (= #39 #204)
+#198 := (ite #153 #44 #178)
+#201 := (ite #25 0::Int #198)
+#204 := (ite #26 #20 #201)
+#207 := (= #43 #204)
 #210 := (forall (vars (?v0 Int) (?v1 Int)) #207)
 #264 := (iff #210 #263)
 #261 := (iff #207 #260)
@@ -7588,28 +7952,28 @@
 #220 := (~ #207 #207)
 #217 := [refl]: #220
 #222 := [nnf-pos #217]: #221
-#33 := (- #19)
-#32 := (- #18)
-#41 := (mod #32 #33)
-#42 := (- #41)
-#26 := (< 0::Int #19)
-#28 := (< #18 0::Int)
-#29 := (and #28 #26)
-#25 := (< 0::Int #18)
-#27 := (and #25 #26)
-#30 := (or #27 #29)
-#43 := (ite #30 #40 #42)
-#44 := (ite #22 0::Int #43)
-#45 := (ite #23 #18 #44)
-#46 := (= #39 #45)
-#47 := (forall (vars (?v0 Int) (?v1 Int)) #46)
-#213 := (iff #47 #210)
-#107 := (and #26 #28)
-#110 := (or #27 #107)
-#183 := (ite #110 #40 #178)
-#186 := (ite #22 0::Int #183)
-#189 := (ite #23 #18 #186)
-#192 := (= #39 #189)
+#36 := (- #22)
+#35 := (- #20)
+#45 := (mod #35 #36)
+#46 := (- #45)
+#29 := (< 0::Int #22)
+#31 := (< #20 0::Int)
+#32 := (and #31 #29)
+#28 := (< 0::Int #20)
+#30 := (and #28 #29)
+#33 := (or #30 #32)
+#47 := (ite #33 #44 #46)
+#48 := (ite #25 0::Int #47)
+#49 := (ite #26 #20 #48)
+#50 := (= #43 #49)
+#51 := (forall (vars (?v0 Int) (?v1 Int)) #50)
+#213 := (iff #51 #210)
+#107 := (and #29 #31)
+#110 := (or #30 #107)
+#183 := (ite #110 #44 #178)
+#186 := (ite #25 0::Int #183)
+#189 := (ite #26 #20 #186)
+#192 := (= #43 #189)
 #195 := (forall (vars (?v0 Int) (?v1 Int)) #192)
 #211 := (iff #195 #210)
 #208 := (iff #192 #207)
@@ -7618,13 +7982,13 @@
 #199 := (= #183 #198)
 #154 := (iff #110 #153)
 #151 := (iff #107 #150)
-#148 := (iff #28 #147)
+#148 := (iff #31 #147)
 #149 := [rewrite]: #148
-#141 := (iff #26 #140)
+#141 := (iff #29 #140)
 #142 := [rewrite]: #141
 #152 := [monotonicity #142 #149]: #151
-#144 := (iff #27 #143)
-#137 := (iff #25 #136)
+#144 := (iff #30 #143)
+#137 := (iff #28 #136)
 #138 := [rewrite]: #137
 #145 := [monotonicity #138 #142]: #144
 #155 := [monotonicity #145 #152]: #154
@@ -7633,26 +7997,26 @@
 #206 := [monotonicity #203]: #205
 #209 := [monotonicity #206]: #208
 #212 := [quant-intro #209]: #211
-#196 := (iff #47 #195)
-#193 := (iff #46 #192)
-#190 := (= #45 #189)
-#187 := (= #44 #186)
-#184 := (= #43 #183)
-#181 := (= #42 #178)
+#196 := (iff #51 #195)
+#193 := (iff #50 #192)
+#190 := (= #49 #189)
+#187 := (= #48 #186)
+#184 := (= #47 #183)
+#181 := (= #46 #178)
 #175 := (- #172)
 #179 := (= #175 #178)
 #180 := [rewrite]: #179
-#176 := (= #42 #175)
-#173 := (= #41 #172)
-#118 := (= #33 #117)
+#176 := (= #46 #175)
+#173 := (= #45 #172)
+#118 := (= #36 #117)
 #119 := [rewrite]: #118
-#115 := (= #32 #114)
+#115 := (= #35 #114)
 #116 := [rewrite]: #115
 #174 := [monotonicity #116 #119]: #173
 #177 := [monotonicity #174]: #176
 #182 := [trans #177 #180]: #181
-#111 := (iff #30 #110)
-#108 := (iff #29 #107)
+#111 := (iff #33 #110)
+#108 := (iff #32 #107)
 #109 := [rewrite]: #108
 #112 := [monotonicity #109]: #111
 #185 := [monotonicity #112 #182]: #184
@@ -7661,460 +8025,121 @@
 #194 := [monotonicity #191]: #193
 #197 := [quant-intro #194]: #196
 #214 := [trans #197 #212]: #213
-#171 := [asserted]: #47
+#171 := [asserted]: #51
 #215 := [mp #171 #214]: #210
 #218 := [mp~ #215 #222]: #210
 #266 := [mp #218 #265]: #263
 #297 := [mp #266 #296]: #294
-#781 := [mp #297 #780]: #776
-#734 := (not #776)
-#723 := (or #734 #450)
+#782 := [mp #297 #781]: #777
+#721 := (not #777)
+#722 := (or #721 #732)
 #355 := (* -1::Int 2::Int)
-#440 := (mod #439 #355)
-#441 := (+ #12 #440)
-#432 := (= #441 0::Int)
-#425 := (<= 2::Int 0::Int)
-#760 := (or #425 #446)
-#762 := (not #760)
-#549 := (or #419 #425)
-#756 := (not #549)
-#430 := (or #756 #762)
-#431 := (ite #430 #442 #432)
-#765 := (ite #764 #763 #431)
+#441 := (mod #440 #355)
+#442 := (+ #12 #441)
+#433 := (= #442 0::Int)
+#447 := (<= 2::Int 0::Int)
+#426 := (or #447 #443)
+#761 := (not #426)
+#420 := (or #763 #447)
+#550 := (not #420)
+#757 := (or #550 #761)
+#431 := (ite #757 #446 #433)
+#765 := (ite #764 #432 #431)
 #766 := (= f3 #12)
-#761 := (= 2::Int 0::Int)
-#767 := (ite #761 #766 #765)
-#724 := (or #734 #767)
-#720 := (iff #724 #723)
-#726 := (iff #723 #723)
-#727 := [rewrite]: #726
-#733 := (iff #767 #450)
-#453 := (ite false #766 #450)
-#447 := (iff #453 #450)
-#729 := [rewrite]: #447
-#731 := (iff #767 #453)
-#451 := (iff #765 #450)
-#736 := (iff #431 #739)
-#461 := (iff #432 #460)
-#737 := (= #441 #361)
-#466 := (= #440 #465)
-#742 := (= #355 -2::Int)
-#464 := [rewrite]: #742
-#467 := [monotonicity #464]: #466
-#738 := [monotonicity #467]: #737
-#735 := [monotonicity #738]: #461
-#752 := (iff #430 #754)
-#393 := (iff #762 #753)
-#388 := (iff #760 #446)
-#747 := (or false #446)
-#744 := (iff #747 #446)
-#750 := [rewrite]: #744
-#748 := (iff #760 #747)
-#422 := (iff #425 false)
-#758 := [rewrite]: #422
-#749 := [monotonicity #758]: #748
-#751 := [trans #749 #750]: #388
-#394 := [monotonicity #751]: #393
-#745 := (iff #756 #409)
-#407 := (iff #549 #419)
-#418 := (or #419 false)
-#743 := (iff #418 #419)
-#406 := [rewrite]: #743
-#759 := (iff #549 #418)
-#402 := [monotonicity #758]: #759
-#408 := [trans #402 #406]: #407
-#746 := [monotonicity #408]: #745
-#755 := [monotonicity #746 #394]: #752
-#740 := [monotonicity #755 #735]: #736
-#452 := [monotonicity #740]: #451
-#757 := (iff #761 false)
-#417 := [rewrite]: #757
-#732 := [monotonicity #417 #452]: #731
-#730 := [trans #732 #729]: #733
-#721 := [monotonicity #730]: #720
-#722 := [trans #721 #727]: #720
-#725 := [quant-inst #8 #11]: #724
-#728 := [mp #725 #722]: #723
-#663 := [unit-resolution #728 #781]: #450
-#593 := (not #764)
-#592 := (not #450)
-#649 := (or #592 #593)
-#698 := (not #763)
-#664 := (or #698 #95)
-#688 := [th-lemma arith triangle-eq]: #664
-#682 := [unit-resolution #688 #105]: #698
-#552 := (or #592 #593 #763)
-#700 := [def-axiom]: #552
-#650 := [unit-resolution #700 #682]: #649
-#645 := [unit-resolution #650 #663]: #593
-#602 := (or #592 #764 #739)
-#697 := [def-axiom]: #602
-#651 := [unit-resolution #697 #645 #663]: #739
-#719 := (not #739)
-#548 := (or #719 #715 #442)
-#550 := [def-axiom]: #548
-#633 := [unit-resolution #550 #651]: #637
-#634 := [unit-resolution #633 #662]: #715
-#570 := (or #754 #419)
-#571 := [def-axiom]: #570
-#635 := [unit-resolution #571 #634]: #419
-#713 := (or #754 #446)
-#714 := [def-axiom]: #713
-#638 := [unit-resolution #714 #634]: #446
-#639 := (or #764 #409 #753)
-#640 := [th-lemma arith triangle-eq]: #639
-#641 := [unit-resolution #640 #645]: #754
-[unit-resolution #641 #638 #635]: false
-unsat
-3b8dfbe5d2104f714ba2e5d249bcf001c2c84dba 349 0
-#2 := false
-#20 := 0::Int
-decl f3 :: Int
-#8 := f3
-#438 := (>= f3 0::Int)
-#758 := (<= f3 0::Int)
-#404 := (not #758)
-#747 := (not #438)
-#751 := (or #747 #404)
-#714 := (not #751)
-#9 := 2::Int
-#439 := (mod f3 2::Int)
-#108 := -1::Int
-#440 := (* -1::Int #439)
-decl f4 :: (-> Int Int Int)
-#10 := (f4 f3 2::Int)
-#368 := (+ #10 #440)
-#441 := (= #368 0::Int)
-#587 := (not #441)
-#544 := (<= #368 0::Int)
-#647 := (not #544)
-#655 := (>= #439 2::Int)
-#656 := (not #655)
-#1 := true
-#64 := [true-axiom]: true
-#643 := (or false #656)
-#644 := [th-lemma arith]: #643
-#645 := [unit-resolution #644 #64]: #656
-#646 := [hypothesis]: #544
-#93 := (>= #10 2::Int)
-#13 := 3::Int
-#14 := (+ f3 3::Int)
-#11 := (+ #10 #10)
-#12 := (+ f3 #11)
-#15 := (< #12 #14)
-#16 := (not #15)
-#98 := (iff #16 #93)
-#73 := (+ 3::Int f3)
-#67 := (* 2::Int #10)
-#70 := (+ f3 #67)
-#76 := (< #70 #73)
-#79 := (not #76)
-#96 := (iff #79 #93)
-#86 := (>= #67 3::Int)
-#94 := (iff #86 #93)
-#95 := [rewrite]: #94
-#91 := (iff #79 #86)
-#84 := (not #86)
-#83 := (not #84)
-#89 := (iff #83 #86)
-#90 := [rewrite]: #89
-#87 := (iff #79 #83)
-#85 := (iff #76 #84)
-#82 := [rewrite]: #85
-#88 := [monotonicity #82]: #87
-#92 := [trans #88 #90]: #91
-#97 := [trans #92 #95]: #96
-#80 := (iff #16 #79)
-#77 := (iff #15 #76)
-#74 := (= #14 #73)
-#75 := [rewrite]: #74
-#71 := (= #12 #70)
-#68 := (= #11 #67)
-#69 := [rewrite]: #68
-#72 := [monotonicity #69]: #71
-#78 := [monotonicity #72 #75]: #77
-#81 := [monotonicity #78]: #80
-#99 := [trans #81 #97]: #98
-#66 := [asserted]: #16
-#100 := [mp #66 #99]: #93
-#641 := [th-lemma arith farkas -1 1 1 #100 #646 #645]: false
-#633 := [lemma #641]: #647
-#650 := (or #587 #544)
-#661 := [th-lemma arith triangle-eq]: #650
-#639 := [unit-resolution #661 #633]: #587
-#611 := (or #714 #441)
-#462 := -2::Int
-#435 := (* -1::Int f3)
-#733 := (mod #435 -2::Int)
-#457 := (+ #10 #733)
-#732 := (= #457 0::Int)
-#447 := (ite #751 #441 #732)
-#427 := (= #10 0::Int)
-#759 := (= f3 0::Int)
-#727 := (ite #759 #427 #447)
-#18 := (:var 0 Int)
-#17 := (:var 1 Int)
-#38 := (f4 #17 #18)
-#771 := (pattern #38)
-#112 := (* -1::Int #18)
-#109 := (* -1::Int #17)
-#167 := (mod #109 #112)
-#282 := (+ #38 #167)
-#283 := (= #282 0::Int)
-#39 := (mod #17 #18)
-#279 := (* -1::Int #39)
-#280 := (+ #38 #279)
-#281 := (= #280 0::Int)
-#141 := (>= #17 0::Int)
-#134 := (<= #18 0::Int)
-#226 := (or #134 #141)
-#227 := (not #226)
-#130 := (<= #17 0::Int)
-#224 := (or #130 #134)
-#225 := (not #224)
-#230 := (or #225 #227)
-#284 := (ite #230 #281 #283)
-#278 := (= #38 0::Int)
-#21 := (= #17 0::Int)
-#285 := (ite #21 #278 #284)
-#277 := (= #17 #38)
-#22 := (= #18 0::Int)
-#286 := (ite #22 #277 #285)
-#772 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #771) #286)
-#289 := (forall (vars (?v0 Int) (?v1 Int)) #286)
-#775 := (iff #289 #772)
-#773 := (iff #286 #286)
-#774 := [refl]: #773
-#776 := [quant-intro #774]: #775
-#173 := (* -1::Int #167)
-#246 := (ite #230 #39 #173)
-#249 := (ite #21 0::Int #246)
-#252 := (ite #22 #17 #249)
-#255 := (= #38 #252)
-#258 := (forall (vars (?v0 Int) (?v1 Int)) #255)
-#290 := (iff #258 #289)
-#287 := (iff #255 #286)
-#288 := [rewrite]: #287
-#291 := [quant-intro #288]: #290
-#142 := (not #141)
-#135 := (not #134)
-#145 := (and #135 #142)
-#131 := (not #130)
-#138 := (and #131 #135)
-#148 := (or #138 #145)
-#193 := (ite #148 #39 #173)
-#196 := (ite #21 0::Int #193)
-#199 := (ite #22 #17 #196)
-#202 := (= #38 #199)
-#205 := (forall (vars (?v0 Int) (?v1 Int)) #202)
-#259 := (iff #205 #258)
-#256 := (iff #202 #255)
-#253 := (= #199 #252)
-#250 := (= #196 #249)
-#247 := (= #193 #246)
-#231 := (iff #148 #230)
-#228 := (iff #145 #227)
-#229 := [rewrite]: #228
-#218 := (iff #138 #225)
-#219 := [rewrite]: #218
-#232 := [monotonicity #219 #229]: #231
-#248 := [monotonicity #232]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [quant-intro #257]: #259
-#216 := (~ #205 #205)
-#215 := (~ #202 #202)
-#212 := [refl]: #215
-#217 := [nnf-pos #212]: #216
-#32 := (- #18)
-#31 := (- #17)
-#40 := (mod #31 #32)
-#41 := (- #40)
-#25 := (< 0::Int #18)
-#27 := (< #17 0::Int)
-#28 := (and #27 #25)
-#24 := (< 0::Int #17)
-#26 := (and #24 #25)
-#29 := (or #26 #28)
-#42 := (ite #29 #39 #41)
-#43 := (ite #21 0::Int #42)
-#44 := (ite #22 #17 #43)
-#45 := (= #38 #44)
-#46 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#208 := (iff #46 #205)
-#102 := (and #25 #27)
-#105 := (or #26 #102)
-#178 := (ite #105 #39 #173)
-#181 := (ite #21 0::Int #178)
-#184 := (ite #22 #17 #181)
-#187 := (= #38 #184)
-#190 := (forall (vars (?v0 Int) (?v1 Int)) #187)
-#206 := (iff #190 #205)
-#203 := (iff #187 #202)
-#200 := (= #184 #199)
-#197 := (= #181 #196)
-#194 := (= #178 #193)
-#149 := (iff #105 #148)
-#146 := (iff #102 #145)
-#143 := (iff #27 #142)
-#144 := [rewrite]: #143
-#136 := (iff #25 #135)
-#137 := [rewrite]: #136
-#147 := [monotonicity #137 #144]: #146
-#139 := (iff #26 #138)
-#132 := (iff #24 #131)
-#133 := [rewrite]: #132
-#140 := [monotonicity #133 #137]: #139
-#150 := [monotonicity #140 #147]: #149
-#195 := [monotonicity #150]: #194
-#198 := [monotonicity #195]: #197
-#201 := [monotonicity #198]: #200
-#204 := [monotonicity #201]: #203
-#207 := [quant-intro #204]: #206
-#191 := (iff #46 #190)
-#188 := (iff #45 #187)
-#185 := (= #44 #184)
-#182 := (= #43 #181)
-#179 := (= #42 #178)
-#176 := (= #41 #173)
-#170 := (- #167)
-#174 := (= #170 #173)
-#175 := [rewrite]: #174
-#171 := (= #41 #170)
-#168 := (= #40 #167)
-#113 := (= #32 #112)
-#114 := [rewrite]: #113
-#110 := (= #31 #109)
-#111 := [rewrite]: #110
-#169 := [monotonicity #111 #114]: #168
-#172 := [monotonicity #169]: #171
-#177 := [trans #172 #175]: #176
-#106 := (iff #29 #105)
-#103 := (iff #28 #102)
-#104 := [rewrite]: #103
-#107 := [monotonicity #104]: #106
-#180 := [monotonicity #107 #177]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [quant-intro #189]: #191
-#209 := [trans #192 #207]: #208
-#166 := [asserted]: #46
-#210 := [mp #166 #209]: #205
-#213 := [mp~ #210 #217]: #205
-#261 := [mp #213 #260]: #258
-#292 := [mp #261 #291]: #289
-#777 := [mp #292 #776]: #772
-#716 := (not #772)
-#717 := (or #716 #727)
-#350 := (* -1::Int 2::Int)
-#436 := (mod #435 #350)
-#437 := (+ #10 #436)
-#428 := (= #437 0::Int)
-#442 := (<= 2::Int 0::Int)
-#421 := (or #442 #438)
-#756 := (not #421)
-#415 := (or #758 #442)
-#545 := (not #415)
-#752 := (or #545 #756)
-#426 := (ite #752 #441 #428)
-#760 := (ite #759 #427 #426)
-#761 := (= f3 #10)
-#762 := (= 2::Int 0::Int)
-#757 := (ite #762 #761 #760)
-#722 := (or #716 #757)
-#718 := (iff #722 #717)
-#565 := (iff #717 #717)
-#566 := [rewrite]: #565
-#720 := (iff #757 #727)
-#725 := (ite false #761 #727)
-#730 := (iff #725 #727)
-#719 := [rewrite]: #730
-#729 := (iff #757 #725)
-#728 := (iff #760 #727)
-#448 := (iff #426 #447)
-#736 := (iff #428 #732)
-#731 := (= #437 #457)
-#734 := (= #436 #733)
-#463 := (= #350 -2::Int)
-#356 := [rewrite]: #463
-#456 := [monotonicity #356]: #734
-#735 := [monotonicity #456]: #731
-#446 := [monotonicity #735]: #736
-#460 := (iff #752 #751)
-#390 := (or #404 #747)
-#737 := (iff #390 #751)
-#738 := [rewrite]: #737
-#750 := (iff #752 #390)
-#749 := (iff #756 #747)
-#746 := (iff #421 #438)
-#742 := (or false #438)
-#745 := (iff #742 #438)
-#740 := [rewrite]: #745
-#743 := (iff #421 #742)
-#413 := (iff #442 false)
-#418 := [rewrite]: #413
-#744 := [monotonicity #418]: #743
-#384 := [trans #744 #740]: #746
-#389 := [monotonicity #384]: #749
-#405 := (iff #545 #404)
-#402 := (iff #415 #758)
-#754 := (or #758 false)
-#398 := (iff #754 #758)
-#739 := [rewrite]: #398
-#414 := (iff #415 #754)
-#755 := [monotonicity #418]: #414
-#403 := [trans #755 #739]: #402
-#741 := [monotonicity #403]: #405
-#748 := [monotonicity #741 #389]: #750
-#461 := [trans #748 #738]: #460
-#449 := [monotonicity #461 #446]: #448
-#443 := [monotonicity #449]: #728
-#763 := (iff #762 false)
-#753 := [rewrite]: #763
-#726 := [monotonicity #753 #443]: #729
-#721 := [trans #726 #719]: #720
-#724 := [monotonicity #721]: #718
-#567 := [trans #724 #566]: #718
-#723 := [quant-inst #8 #9]: #722
-#709 := [mp #723 #567]: #717
-#640 := [unit-resolution #709 #777]: #727
-#694 := (not #759)
-#693 := (not #727)
-#636 := (or #693 #694)
-#600 := (not #427)
-#710 := (<= #10 0::Int)
-#642 := (not #710)
-#672 := (not #93)
-#673 := (or #642 #672)
-#629 := [th-lemma arith farkas 1 1]: #673
-#630 := [unit-resolution #629 #100]: #642
-#631 := (or #600 #710)
-#634 := [th-lemma arith triangle-eq]: #631
-#635 := [unit-resolution #634 #630]: #600
-#697 := (or #693 #694 #427)
-#582 := [def-axiom]: #697
-#637 := [unit-resolution #582 #635]: #636
-#632 := [unit-resolution #637 #640]: #694
-#597 := (or #693 #759 #447)
-#599 := [def-axiom]: #597
-#638 := [unit-resolution #599 #632 #640]: #447
-#701 := (not #447)
-#703 := (or #701 #714 #441)
-#704 := [def-axiom]: #703
-#612 := [unit-resolution #704 #638]: #611
-#613 := [unit-resolution #612 #639]: #714
-#712 := (or #751 #438)
-#706 := [def-axiom]: #712
-#506 := [unit-resolution #706 #613]: #438
-#707 := (or #751 #758)
-#713 := [def-axiom]: #707
-#617 := [unit-resolution #713 #613]: #758
-#618 := (or #759 #404 #747)
-#619 := [th-lemma arith triangle-eq]: #618
-#624 := [unit-resolution #619 #632]: #390
-[unit-resolution #624 #617 #506]: false
+#767 := (= 2::Int 0::Int)
+#762 := (ite #767 #766 #765)
+#727 := (or #721 #762)
+#723 := (iff #727 #722)
+#570 := (iff #722 #722)
+#571 := [rewrite]: #570
+#725 := (iff #762 #732)
+#730 := (ite false #766 #732)
+#735 := (iff #730 #732)
+#724 := [rewrite]: #735
+#734 := (iff #762 #730)
+#733 := (iff #765 #732)
+#453 := (iff #431 #452)
+#741 := (iff #433 #737)
+#736 := (= #442 #462)
+#739 := (= #441 #738)
+#468 := (= #355 -2::Int)
+#361 := [rewrite]: #468
+#461 := [monotonicity #361]: #739
+#740 := [monotonicity #461]: #736
+#451 := [monotonicity #740]: #741
+#465 := (iff #757 #756)
+#395 := (or #409 #752)
+#742 := (iff #395 #756)
+#743 := [rewrite]: #742
+#755 := (iff #757 #395)
+#754 := (iff #761 #752)
+#751 := (iff #426 #443)
+#747 := (or false #443)
+#750 := (iff #747 #443)
+#745 := [rewrite]: #750
+#748 := (iff #426 #747)
+#418 := (iff #447 false)
+#423 := [rewrite]: #418
+#749 := [monotonicity #423]: #748
+#389 := [trans #749 #745]: #751
+#394 := [monotonicity #389]: #754
+#410 := (iff #550 #409)
+#407 := (iff #420 #763)
+#759 := (or #763 false)
+#403 := (iff #759 #763)
+#744 := [rewrite]: #403
+#419 := (iff #420 #759)
+#760 := [monotonicity #423]: #419
+#408 := [trans #760 #744]: #407
+#746 := [monotonicity #408]: #410
+#753 := [monotonicity #746 #394]: #755
+#466 := [trans #753 #743]: #465
+#454 := [monotonicity #466 #451]: #453
+#448 := [monotonicity #454]: #733
+#768 := (iff #767 false)
+#758 := [rewrite]: #768
+#731 := [monotonicity #758 #448]: #734
+#726 := [trans #731 #724]: #725
+#729 := [monotonicity #726]: #723
+#572 := [trans #729 #571]: #723
+#728 := [quant-inst #8 #11]: #727
+#714 := [mp #728 #572]: #722
+#645 := [unit-resolution #714 #782]: #732
+#699 := (not #764)
+#698 := (not #732)
+#641 := (or #698 #699)
+#605 := (not #432)
+#715 := (<= #12 0::Int)
+#647 := (not #715)
+#677 := (not #98)
+#678 := (or #647 #677)
+#634 := [th-lemma arith farkas 1 1]: #678
+#635 := [unit-resolution #634 #105]: #647
+#636 := (or #605 #715)
+#639 := [th-lemma arith triangle-eq]: #636
+#640 := [unit-resolution #639 #635]: #605
+#702 := (or #698 #699 #432)
+#587 := [def-axiom]: #702
+#642 := [unit-resolution #587 #640]: #641
+#637 := [unit-resolution #642 #645]: #699
+#602 := (or #698 #764 #452)
+#604 := [def-axiom]: #602
+#643 := [unit-resolution #604 #637 #645]: #452
+#706 := (not #452)
+#708 := (or #706 #719 #446)
+#709 := [def-axiom]: #708
+#617 := [unit-resolution #709 #643]: #616
+#618 := [unit-resolution #617 #644]: #719
+#717 := (or #756 #443)
+#711 := [def-axiom]: #717
+#511 := [unit-resolution #711 #618]: #443
+#712 := (or #756 #763)
+#718 := [def-axiom]: #712
+#622 := [unit-resolution #718 #618]: #763
+#623 := (or #764 #409 #752)
+#624 := [th-lemma arith triangle-eq]: #623
+#629 := [unit-resolution #624 #637]: #395
+[unit-resolution #629 #622 #511]: false
 unsat
 cfa8a4e8b0964986b89eaf37e6038032e9b8b0d6 101 0
 #2 := false
@@ -8218,936 +8243,943 @@
 #123 := [th-lemma arith triangle-eq]: #122
 [unit-resolution #123 #119 #112 #46]: false
 unsat
-742e212b0179422ed718ceb7818522f48622510c 930 0
-#2 := false
-#20 := 1::Int
-decl f3 :: (-> Int Int Int)
-#11 := 2::Int
-decl f5 :: Int
-#9 := f5
-#22 := (f3 f5 2::Int)
-#1103 := (<= #22 1::Int)
-#13 := 0::Int
-#574 := (mod f5 2::Int)
-#108 := -1::Int
-#575 := (* -1::Int #574)
-#576 := (+ #22 #575)
-#954 := (<= #576 0::Int)
-#577 := (= #576 0::Int)
-decl f4 :: Int
-#8 := f4
-#10 := (+ f4 f5)
-#461 := (>= #10 0::Int)
-#778 := (= #10 0::Int)
-#458 := (mod #10 2::Int)
-#459 := (* -1::Int #458)
-#12 := (f3 #10 2::Int)
-#460 := (+ #12 #459)
-#457 := (= #460 0::Int)
-#715 := (not #457)
-#720 := (<= #460 0::Int)
-#1107 := [hypothesis]: #457
-#1108 := (or #715 #720)
-#1109 := [th-lemma arith triangle-eq]: #1108
-#1110 := [unit-resolution #1109 #1107]: #720
-#722 := (>= #460 0::Int)
-#1111 := (or #715 #722)
-#1322 := [th-lemma arith triangle-eq]: #1111
-#1323 := [unit-resolution #1322 #1107]: #722
-#1193 := (not #720)
-#1239 := (not #722)
-#1348 := (or #1239 #1193)
-#1112 := (div f5 2::Int)
-#476 := -2::Int
-#1125 := (* -2::Int #1112)
-#1126 := (+ #575 #1125)
-#1127 := (+ f5 #1126)
-#1124 := (= #1127 0::Int)
-#1161 := (not #1124)
-#1276 := [hypothesis]: #1161
+0e941ae848fda6bf9dfac1fd97560c61c65c1f6a 937 0
+#2 := false
+#23 := 1::Int
+decl f3 :: (-> S2 Int Int)
+#13 := 2::Int
+decl f4 :: (-> S3 Int S2)
+decl f7 :: Int
+#10 := f7
+decl f5 :: S3
+#8 := f5
+#25 := (f4 f5 f7)
+#26 := (f3 #25 2::Int)
+#1110 := (<= #26 1::Int)
+#15 := 0::Int
+#581 := (mod f7 2::Int)
+#115 := -1::Int
+#582 := (* -1::Int #581)
+#583 := (+ #26 #582)
+#961 := (<= #583 0::Int)
+#584 := (= #583 0::Int)
+decl f6 :: Int
+#9 := f6
+#11 := (+ f6 f7)
+#468 := (>= #11 0::Int)
+#785 := (= #11 0::Int)
+#465 := (mod #11 2::Int)
+#466 := (* -1::Int #465)
+#12 := (f4 f5 #11)
+#14 := (f3 #12 2::Int)
+#467 := (+ #14 #466)
+#464 := (= #467 0::Int)
+#722 := (not #464)
+#727 := (<= #467 0::Int)
+#1114 := [hypothesis]: #464
+#1115 := (or #722 #727)
+#1116 := [th-lemma arith triangle-eq]: #1115
+#1117 := [unit-resolution #1116 #1114]: #727
+#729 := (>= #467 0::Int)
+#1118 := (or #722 #729)
+#1329 := [th-lemma arith triangle-eq]: #1118
+#1330 := [unit-resolution #1329 #1114]: #729
+#1200 := (not #727)
+#1246 := (not #729)
+#1355 := (or #1246 #1200)
+#1119 := (div f7 2::Int)
+#483 := -2::Int
+#1132 := (* -2::Int #1119)
+#1133 := (+ #582 #1132)
+#1134 := (+ f7 #1133)
+#1131 := (= #1134 0::Int)
+#1168 := (not #1131)
+#1283 := [hypothesis]: #1168
 #1 := true
-#72 := [true-axiom]: true
-#1154 := (or false #1124)
-#1159 := [th-lemma arith]: #1154
-#1277 := [unit-resolution #1159 #72 #1276]: false
-#1278 := [lemma #1277]: #1124
-#1274 := (or #1161 #1239 #1193)
-#1134 := (>= #574 0::Int)
-#1157 := (or false #1134)
-#1158 := [th-lemma arith]: #1157
-#1151 := [unit-resolution #1158 #72]: #1134
-#1224 := (>= #1127 0::Int)
-#1246 := [hypothesis]: #1124
-#1247 := (or #1161 #1224)
-#1248 := [th-lemma arith triangle-eq]: #1247
-#1249 := [unit-resolution #1248 #1246]: #1224
-#17 := 3::Int
-#15 := 4::Int
-#16 := (f3 f4 4::Int)
-#568 := (>= #16 3::Int)
-#18 := (= #16 3::Int)
-#75 := [asserted]: #18
-#967 := (not #18)
-#993 := (or #967 #568)
-#994 := [th-lemma arith triangle-eq]: #993
-#995 := [unit-resolution #994 #75]: #568
-#865 := (div f4 4::Int)
-#663 := -4::Int
-#881 := (* -4::Int #865)
-#696 := (mod f4 4::Int)
-#698 := (* -1::Int #696)
-#882 := (+ #698 #881)
-#883 := (+ f4 #882)
-#889 := (>= #883 0::Int)
-#880 := (= #883 0::Int)
-#971 := (or false #880)
-#972 := [th-lemma arith]: #971
-#973 := [unit-resolution #972 #72]: #880
-#974 := (not #880)
-#996 := (or #974 #889)
-#997 := [th-lemma arith triangle-eq]: #996
-#998 := [unit-resolution #997 #973]: #889
-#560 := (>= #12 0::Int)
-#14 := (= #12 0::Int)
-#74 := [asserted]: #14
-#622 := (not #14)
-#1230 := (or #622 #560)
-#1231 := [th-lemma arith triangle-eq]: #1230
-#1232 := [unit-resolution #1231 #74]: #560
-#811 := (div #10 2::Int)
-#828 := (* -2::Int #811)
-#829 := (+ #459 #828)
-#830 := (+ f5 #829)
-#831 := (+ f4 #830)
-#1106 := (>= #831 0::Int)
-#826 := (= #831 0::Int)
-#1167 := (or false #826)
-#1168 := [th-lemma arith]: #1167
-#1169 := [unit-resolution #1168 #72]: #826
-#1180 := (not #826)
-#1233 := (or #1180 #1106)
-#1234 := [th-lemma arith triangle-eq]: #1233
-#1235 := [unit-resolution #1234 #1169]: #1106
-#708 := (+ #16 #698)
-#600 := (>= #708 0::Int)
-#709 := (= #708 0::Int)
-#482 := (* -1::Int f4)
-#660 := (mod #482 -4::Int)
-#648 := (+ #16 #660)
-#653 := (= #648 0::Int)
-#710 := (>= f4 0::Int)
-#669 := (not #710)
-#701 := (<= f4 0::Int)
-#670 := (not #701)
-#659 := (or #670 #669)
-#656 := (ite #659 #709 #653)
-#689 := (= f4 0::Int)
-#590 := (not #689)
-#688 := (= #16 0::Int)
-#595 := (not #688)
-#428 := (= 3::Int 0::Int)
-#430 := (iff #428 false)
-#419 := [rewrite]: #430
-#425 := [hypothesis]: #688
-#426 := (= 3::Int #16)
-#427 := [symm #75]: #426
-#429 := [trans #427 #425]: #428
-#431 := [mp #429 #419]: false
-#412 := [lemma #431]: #595
-#1027 := (or #590 #688)
-#630 := (ite #689 #688 #656)
-#27 := (:var 0 Int)
-#26 := (:var 1 Int)
-#46 := (f3 #26 #27)
-#790 := (pattern #46)
-#112 := (* -1::Int #27)
-#109 := (* -1::Int #26)
-#173 := (mod #109 #112)
-#302 := (+ #46 #173)
-#303 := (= #302 0::Int)
-#47 := (mod #26 #27)
-#299 := (* -1::Int #47)
-#300 := (+ #46 #299)
-#301 := (= #300 0::Int)
-#147 := (>= #26 0::Int)
-#140 := (<= #27 0::Int)
-#246 := (or #140 #147)
-#247 := (not #246)
-#136 := (<= #26 0::Int)
-#242 := (or #136 #140)
-#243 := (not #242)
-#250 := (or #243 #247)
-#304 := (ite #250 #301 #303)
-#298 := (= #46 0::Int)
-#29 := (= #26 0::Int)
-#305 := (ite #29 #298 #304)
-#297 := (= #26 #46)
-#30 := (= #27 0::Int)
-#306 := (ite #30 #297 #305)
-#791 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #790) #306)
-#309 := (forall (vars (?v0 Int) (?v1 Int)) #306)
-#794 := (iff #309 #791)
-#792 := (iff #306 #306)
-#793 := [refl]: #792
-#795 := [quant-intro #793]: #794
-#179 := (* -1::Int #173)
-#266 := (ite #250 #47 #179)
-#269 := (ite #29 0::Int #266)
-#272 := (ite #30 #26 #269)
-#275 := (= #46 #272)
-#278 := (forall (vars (?v0 Int) (?v1 Int)) #275)
-#310 := (iff #278 #309)
-#307 := (iff #275 #306)
-#308 := [rewrite]: #307
-#311 := [quant-intro #308]: #310
+#79 := [true-axiom]: true
+#1161 := (or false #1131)
+#1166 := [th-lemma arith]: #1161
+#1284 := [unit-resolution #1166 #79 #1283]: false
+#1285 := [lemma #1284]: #1131
+#1281 := (or #1168 #1246 #1200)
+#1141 := (>= #581 0::Int)
+#1164 := (or false #1141)
+#1165 := [th-lemma arith]: #1164
+#1158 := [unit-resolution #1165 #79]: #1141
+#1231 := (>= #1134 0::Int)
+#1253 := [hypothesis]: #1131
+#1254 := (or #1168 #1231)
+#1255 := [th-lemma arith triangle-eq]: #1254
+#1256 := [unit-resolution #1255 #1253]: #1231
+#20 := 3::Int
+#18 := 4::Int
+#17 := (f4 f5 f6)
+#19 := (f3 #17 4::Int)
+#575 := (>= #19 3::Int)
+#21 := (= #19 3::Int)
+#82 := [asserted]: #21
+#974 := (not #21)
+#1000 := (or #974 #575)
+#1001 := [th-lemma arith triangle-eq]: #1000
+#1002 := [unit-resolution #1001 #82]: #575
+#872 := (div f6 4::Int)
+#670 := -4::Int
+#888 := (* -4::Int #872)
+#703 := (mod f6 4::Int)
+#705 := (* -1::Int #703)
+#889 := (+ #705 #888)
+#890 := (+ f6 #889)
+#896 := (>= #890 0::Int)
+#887 := (= #890 0::Int)
+#978 := (or false #887)
+#979 := [th-lemma arith]: #978
+#980 := [unit-resolution #979 #79]: #887
+#981 := (not #887)
+#1003 := (or #981 #896)
+#1004 := [th-lemma arith triangle-eq]: #1003
+#1005 := [unit-resolution #1004 #980]: #896
+#567 := (>= #14 0::Int)
+#16 := (= #14 0::Int)
+#81 := [asserted]: #16
+#629 := (not #16)
+#1237 := (or #629 #567)
+#1238 := [th-lemma arith triangle-eq]: #1237
+#1239 := [unit-resolution #1238 #81]: #567
+#818 := (div #11 2::Int)
+#835 := (* -2::Int #818)
+#836 := (+ #466 #835)
+#837 := (+ f7 #836)
+#838 := (+ f6 #837)
+#1113 := (>= #838 0::Int)
+#833 := (= #838 0::Int)
+#1174 := (or false #833)
+#1175 := [th-lemma arith]: #1174
+#1176 := [unit-resolution #1175 #79]: #833
+#1187 := (not #833)
+#1240 := (or #1187 #1113)
+#1241 := [th-lemma arith triangle-eq]: #1240
+#1242 := [unit-resolution #1241 #1176]: #1113
+#715 := (+ #19 #705)
+#607 := (>= #715 0::Int)
+#716 := (= #715 0::Int)
+#489 := (* -1::Int f6)
+#667 := (mod #489 -4::Int)
+#655 := (+ #19 #667)
+#660 := (= #655 0::Int)
+#717 := (>= f6 0::Int)
+#676 := (not #717)
+#708 := (<= f6 0::Int)
+#677 := (not #708)
+#666 := (or #677 #676)
+#663 := (ite #666 #716 #660)
+#696 := (= f6 0::Int)
+#597 := (not #696)
+#695 := (= #19 0::Int)
+#602 := (not #695)
+#435 := (= 3::Int 0::Int)
+#437 := (iff #435 false)
+#426 := [rewrite]: #437
+#432 := [hypothesis]: #695
+#433 := (= 3::Int #19)
+#434 := [symm #82]: #433
+#436 := [trans #434 #432]: #435
+#438 := [mp #436 #426]: false
+#419 := [lemma #438]: #602
+#1034 := (or #597 #695)
+#637 := (ite #696 #695 #663)
+#33 := (:var 0 Int)
+#31 := (:var 1 Int)
+#52 := (f4 f5 #31)
+#53 := (f3 #52 #33)
+#797 := (pattern #53)
+#119 := (* -1::Int #33)
+#116 := (* -1::Int #31)
+#180 := (mod #116 #119)
+#309 := (+ #53 #180)
+#310 := (= #309 0::Int)
+#54 := (mod #31 #33)
+#306 := (* -1::Int #54)
+#307 := (+ #53 #306)
+#308 := (= #307 0::Int)
+#154 := (>= #31 0::Int)
+#147 := (<= #33 0::Int)
+#253 := (or #147 #154)
+#254 := (not #253)
+#143 := (<= #31 0::Int)
+#249 := (or #143 #147)
+#250 := (not #249)
+#257 := (or #250 #254)
+#311 := (ite #257 #308 #310)
+#305 := (= #53 0::Int)
+#35 := (= #31 0::Int)
+#312 := (ite #35 #305 #311)
+#304 := (= #31 #53)
+#36 := (= #33 0::Int)
+#313 := (ite #36 #304 #312)
+#798 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #797) #313)
+#316 := (forall (vars (?v0 Int) (?v1 Int)) #313)
+#801 := (iff #316 #798)
+#799 := (iff #313 #313)
+#800 := [refl]: #799
+#802 := [quant-intro #800]: #801
+#186 := (* -1::Int #180)
+#273 := (ite #257 #54 #186)
+#276 := (ite #35 0::Int #273)
+#279 := (ite #36 #31 #276)
+#282 := (= #53 #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
+#155 := (not #154)
 #148 := (not #147)
-#141 := (not #140)
-#151 := (and #141 #148)
-#137 := (not #136)
-#144 := (and #137 #141)
-#154 := (or #144 #151)
-#199 := (ite #154 #47 #179)
-#202 := (ite #29 0::Int #199)
-#205 := (ite #30 #26 #202)
-#208 := (= #46 #205)
-#211 := (forall (vars (?v0 Int) (?v1 Int)) #208)
-#279 := (iff #211 #278)
-#276 := (iff #208 #275)
-#273 := (= #205 #272)
-#270 := (= #202 #269)
-#267 := (= #199 #266)
-#251 := (iff #154 #250)
-#248 := (iff #151 #247)
-#249 := [rewrite]: #248
-#244 := (iff #144 #243)
-#245 := [rewrite]: #244
-#252 := [monotonicity #245 #249]: #251
-#268 := [monotonicity #252]: #267
-#271 := [monotonicity #268]: #270
-#274 := [monotonicity #271]: #273
-#277 := [monotonicity #274]: #276
-#280 := [quant-intro #277]: #279
-#221 := (~ #211 #211)
-#223 := (~ #208 #208)
-#220 := [refl]: #223
-#224 := [nnf-pos #220]: #221
-#40 := (- #27)
-#39 := (- #26)
-#48 := (mod #39 #40)
-#49 := (- #48)
-#33 := (< 0::Int #27)
-#35 := (< #26 0::Int)
-#36 := (and #35 #33)
-#32 := (< 0::Int #26)
-#34 := (and #32 #33)
-#37 := (or #34 #36)
-#50 := (ite #37 #47 #49)
-#51 := (ite #29 0::Int #50)
-#52 := (ite #30 #26 #51)
-#53 := (= #46 #52)
-#54 := (forall (vars (?v0 Int) (?v1 Int)) #53)
-#214 := (iff #54 #211)
-#102 := (and #33 #35)
-#105 := (or #34 #102)
-#184 := (ite #105 #47 #179)
-#93 := (= 0::Int #26)
-#187 := (ite #93 0::Int #184)
-#96 := (= 0::Int #27)
-#190 := (ite #96 #26 #187)
-#193 := (= #46 #190)
-#196 := (forall (vars (?v0 Int) (?v1 Int)) #193)
-#212 := (iff #196 #211)
-#209 := (iff #193 #208)
-#206 := (= #190 #205)
-#203 := (= #187 #202)
-#200 := (= #184 #199)
-#155 := (iff #105 #154)
-#152 := (iff #102 #151)
-#149 := (iff #35 #148)
+#158 := (and #148 #155)
+#144 := (not #143)
+#151 := (and #144 #148)
+#161 := (or #151 #158)
+#206 := (ite #161 #54 #186)
+#209 := (ite #35 0::Int #206)
+#212 := (ite #36 #31 #209)
+#215 := (= #53 #212)
+#218 := (forall (vars (?v0 Int) (?v1 Int)) #215)
+#286 := (iff #218 #285)
+#283 := (iff #215 #282)
+#280 := (= #212 #279)
+#277 := (= #209 #276)
+#274 := (= #206 #273)
+#258 := (iff #161 #257)
+#255 := (iff #158 #254)
+#256 := [rewrite]: #255
+#251 := (iff #151 #250)
+#252 := [rewrite]: #251
+#259 := [monotonicity #252 #256]: #258
+#275 := [monotonicity #259]: #274
+#278 := [monotonicity #275]: #277
+#281 := [monotonicity #278]: #280
+#284 := [monotonicity #281]: #283
+#287 := [quant-intro #284]: #286
+#228 := (~ #218 #218)
+#230 := (~ #215 #215)
+#227 := [refl]: #230
+#231 := [nnf-pos #227]: #228
+#46 := (- #33)
+#45 := (- #31)
+#55 := (mod #45 #46)
+#56 := (- #55)
+#39 := (< 0::Int #33)
+#41 := (< #31 0::Int)
+#42 := (and #41 #39)
+#38 := (< 0::Int #31)
+#40 := (and #38 #39)
+#43 := (or #40 #42)
+#57 := (ite #43 #54 #56)
+#58 := (ite #35 0::Int #57)
+#59 := (ite #36 #31 #58)
+#60 := (= #53 #59)
+#61 := (forall (vars (?v0 Int) (?v1 Int)) #60)
+#221 := (iff #61 #218)
+#109 := (and #39 #41)
+#112 := (or #40 #109)
+#191 := (ite #112 #54 #186)
+#100 := (= 0::Int #31)
+#194 := (ite #100 0::Int #191)
+#103 := (= 0::Int #33)
+#197 := (ite #103 #31 #194)
+#200 := (= #53 #197)
+#203 := (forall (vars (?v0 Int) (?v1 Int)) #200)
+#219 := (iff #203 #218)
+#216 := (iff #200 #215)
+#213 := (= #197 #212)
+#210 := (= #194 #209)
+#207 := (= #191 #206)
+#162 := (iff #112 #161)
+#159 := (iff #109 #158)
+#156 := (iff #41 #155)
+#157 := [rewrite]: #156
+#149 := (iff #39 #148)
 #150 := [rewrite]: #149
-#142 := (iff #33 #141)
-#143 := [rewrite]: #142
-#153 := [monotonicity #143 #150]: #152
-#145 := (iff #34 #144)
-#138 := (iff #32 #137)
-#139 := [rewrite]: #138
-#146 := [monotonicity #139 #143]: #145
-#156 := [monotonicity #146 #153]: #155
-#201 := [monotonicity #156]: #200
-#130 := (iff #93 #29)
-#131 := [rewrite]: #130
-#204 := [monotonicity #131 #201]: #203
-#132 := (iff #96 #30)
-#133 := [rewrite]: #132
-#207 := [monotonicity #133 #204]: #206
-#210 := [monotonicity #207]: #209
-#213 := [quant-intro #210]: #212
-#197 := (iff #54 #196)
-#194 := (iff #53 #193)
-#191 := (= #52 #190)
-#188 := (= #51 #187)
-#185 := (= #50 #184)
-#182 := (= #49 #179)
-#176 := (- #173)
-#180 := (= #176 #179)
-#181 := [rewrite]: #180
-#177 := (= #49 #176)
-#174 := (= #48 #173)
-#113 := (= #40 #112)
-#114 := [rewrite]: #113
-#110 := (= #39 #109)
+#160 := [monotonicity #150 #157]: #159
+#152 := (iff #40 #151)
+#145 := (iff #38 #144)
+#146 := [rewrite]: #145
+#153 := [monotonicity #146 #150]: #152
+#163 := [monotonicity #153 #160]: #162
+#208 := [monotonicity #163]: #207
+#137 := (iff #100 #35)
+#138 := [rewrite]: #137
+#211 := [monotonicity #138 #208]: #210
+#139 := (iff #103 #36)
+#140 := [rewrite]: #139
+#214 := [monotonicity #140 #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [quant-intro #217]: #219
+#204 := (iff #61 #203)
+#201 := (iff #60 #200)
+#198 := (= #59 #197)
+#195 := (= #58 #194)
+#192 := (= #57 #191)
+#189 := (= #56 #186)
+#183 := (- #180)
+#187 := (= #183 #186)
+#188 := [rewrite]: #187
+#184 := (= #56 #183)
+#181 := (= #55 #180)
+#120 := (= #46 #119)
+#121 := [rewrite]: #120
+#117 := (= #45 #116)
+#118 := [rewrite]: #117
+#182 := [monotonicity #118 #121]: #181
+#185 := [monotonicity #182]: #184
+#190 := [trans #185 #188]: #189
+#113 := (iff #43 #112)
+#110 := (iff #42 #109)
 #111 := [rewrite]: #110
-#175 := [monotonicity #111 #114]: #174
-#178 := [monotonicity #175]: #177
-#183 := [trans #178 #181]: #182
-#106 := (iff #37 #105)
-#103 := (iff #36 #102)
-#104 := [rewrite]: #103
-#107 := [monotonicity #104]: #106
-#186 := [monotonicity #107 #183]: #185
-#94 := (iff #29 #93)
-#95 := [rewrite]: #94
-#189 := [monotonicity #95 #186]: #188
-#97 := (iff #30 #96)
-#98 := [rewrite]: #97
-#192 := [monotonicity #98 #189]: #191
-#195 := [monotonicity #192]: #194
-#198 := [quant-intro #195]: #197
-#215 := [trans #198 #213]: #214
-#172 := [asserted]: #54
-#216 := [mp #172 #215]: #211
-#225 := [mp~ #216 #224]: #211
-#281 := [mp #225 #280]: #278
-#312 := [mp #281 #311]: #309
-#796 := [mp #312 #795]: #791
-#584 := (not #791)
-#641 := (or #584 #630)
-#718 := (* -1::Int 4::Int)
-#705 := (mod #482 #718)
-#707 := (+ #16 #705)
-#699 := (= #707 0::Int)
-#706 := (<= 4::Int 0::Int)
-#711 := (or #706 #710)
-#700 := (not #711)
-#702 := (or #701 #706)
-#703 := (not #702)
-#697 := (or #703 #700)
-#704 := (ite #697 #709 #699)
-#691 := (ite #689 #688 #704)
-#692 := (= f4 #16)
-#693 := (= 4::Int 0::Int)
-#694 := (ite #693 #692 #691)
-#644 := (or #584 #694)
-#646 := (iff #644 #641)
-#647 := (iff #641 #641)
-#627 := [rewrite]: #647
-#639 := (iff #694 #630)
-#525 := (ite false #692 #630)
-#638 := (iff #525 #630)
-#643 := [rewrite]: #638
-#636 := (iff #694 #525)
-#631 := (iff #691 #630)
-#651 := (iff #704 #656)
-#654 := (iff #699 #653)
-#649 := (= #707 #648)
-#666 := (= #705 #660)
-#664 := (= #718 -4::Int)
-#665 := [rewrite]: #664
-#652 := [monotonicity #665]: #666
-#650 := [monotonicity #652]: #649
-#655 := [monotonicity #650]: #654
-#661 := (iff #697 #659)
-#680 := (iff #700 #669)
-#678 := (iff #711 #710)
-#673 := (or false #710)
-#676 := (iff #673 #710)
-#677 := [rewrite]: #676
-#674 := (iff #711 #673)
-#681 := (iff #706 false)
-#682 := [rewrite]: #681
-#675 := [monotonicity #682]: #674
-#679 := [trans #675 #677]: #678
-#658 := [monotonicity #679]: #680
-#671 := (iff #703 #670)
-#667 := (iff #702 #701)
-#684 := (or #701 false)
-#683 := (iff #684 #701)
-#687 := [rewrite]: #683
-#685 := (iff #702 #684)
-#686 := [monotonicity #682]: #685
-#668 := [trans #686 #687]: #667
-#672 := [monotonicity #668]: #671
-#662 := [monotonicity #672 #658]: #661
-#657 := [monotonicity #662 #655]: #651
-#632 := [monotonicity #657]: #631
-#690 := (iff #693 false)
-#695 := [rewrite]: #690
-#637 := [monotonicity #695 #632]: #636
-#640 := [trans #637 #643]: #639
-#642 := [monotonicity #640]: #646
-#573 := [trans #642 #627]: #646
-#645 := [quant-inst #8 #15]: #644
-#628 := [mp #645 #573]: #641
-#1048 := [unit-resolution #628 #796]: #630
-#589 := (not #630)
-#591 := (or #589 #590 #688)
-#592 := [def-axiom]: #591
-#1047 := [unit-resolution #592 #1048]: #1027
-#1043 := [unit-resolution #1047 #412]: #590
-#957 := (or #689 #656)
-#593 := (or #589 #689 #656)
-#594 := [def-axiom]: #593
-#964 := [unit-resolution #594 #1048]: #957
-#1033 := [unit-resolution #964 #1043]: #656
-#635 := (not #659)
-#860 := [hypothesis]: #635
-#609 := (or #659 #701)
-#633 := [def-axiom]: #609
-#861 := [unit-resolution #633 #860]: #701
-#634 := (or #659 #710)
-#629 := [def-axiom]: #634
-#862 := [unit-resolution #629 #860]: #710
-#863 := (or #689 #670 #669)
-#864 := [th-lemma arith triangle-eq]: #863
-#913 := [unit-resolution #864 #862 #861 #1043]: false
-#914 := [lemma #913]: #659
-#611 := (not #656)
-#613 := (or #611 #635 #709)
+#114 := [monotonicity #111]: #113
+#193 := [monotonicity #114 #190]: #192
+#101 := (iff #35 #100)
+#102 := [rewrite]: #101
+#196 := [monotonicity #102 #193]: #195
+#104 := (iff #36 #103)
+#105 := [rewrite]: #104
+#199 := [monotonicity #105 #196]: #198
+#202 := [monotonicity #199]: #201
+#205 := [quant-intro #202]: #204
+#222 := [trans #205 #220]: #221
+#179 := [asserted]: #61
+#223 := [mp #179 #222]: #218
+#232 := [mp~ #223 #231]: #218
+#288 := [mp #232 #287]: #285
+#319 := [mp #288 #318]: #316
+#803 := [mp #319 #802]: #798
+#591 := (not #798)
+#648 := (or #591 #637)
+#725 := (* -1::Int 4::Int)
+#712 := (mod #489 #725)
+#714 := (+ #19 #712)
+#706 := (= #714 0::Int)
+#713 := (<= 4::Int 0::Int)
+#718 := (or #713 #717)
+#707 := (not #718)
+#709 := (or #708 #713)
+#710 := (not #709)
+#704 := (or #710 #707)
+#711 := (ite #704 #716 #706)
+#698 := (ite #696 #695 #711)
+#699 := (= f6 #19)
+#700 := (= 4::Int 0::Int)
+#701 := (ite #700 #699 #698)
+#651 := (or #591 #701)
+#653 := (iff #651 #648)
+#654 := (iff #648 #648)
+#634 := [rewrite]: #654
+#646 := (iff #701 #637)
+#532 := (ite false #699 #637)
+#645 := (iff #532 #637)
+#650 := [rewrite]: #645
+#643 := (iff #701 #532)
+#638 := (iff #698 #637)
+#658 := (iff #711 #663)
+#661 := (iff #706 #660)
+#656 := (= #714 #655)
+#673 := (= #712 #667)
+#671 := (= #725 -4::Int)
+#672 := [rewrite]: #671
+#659 := [monotonicity #672]: #673
+#657 := [monotonicity #659]: #656
+#662 := [monotonicity #657]: #661
+#668 := (iff #704 #666)
+#687 := (iff #707 #676)
+#685 := (iff #718 #717)
+#680 := (or false #717)
+#683 := (iff #680 #717)
+#684 := [rewrite]: #683
+#681 := (iff #718 #680)
+#688 := (iff #713 false)
+#689 := [rewrite]: #688
+#682 := [monotonicity #689]: #681
+#686 := [trans #682 #684]: #685
+#665 := [monotonicity #686]: #687
+#678 := (iff #710 #677)
+#674 := (iff #709 #708)
+#691 := (or #708 false)
+#690 := (iff #691 #708)
+#694 := [rewrite]: #690
+#692 := (iff #709 #691)
+#693 := [monotonicity #689]: #692
+#675 := [trans #693 #694]: #674
+#679 := [monotonicity #675]: #678
+#669 := [monotonicity #679 #665]: #668
+#664 := [monotonicity #669 #662]: #658
+#639 := [monotonicity #664]: #638
+#697 := (iff #700 false)
+#702 := [rewrite]: #697
+#644 := [monotonicity #702 #639]: #643
+#647 := [trans #644 #650]: #646
+#649 := [monotonicity #647]: #653
+#580 := [trans #649 #634]: #653
+#652 := [quant-inst #9 #18]: #651
+#635 := [mp #652 #580]: #648
+#1055 := [unit-resolution #635 #803]: #637
+#596 := (not #637)
+#598 := (or #596 #597 #695)
+#599 := [def-axiom]: #598
+#1054 := [unit-resolution #599 #1055]: #1034
+#1050 := [unit-resolution #1054 #419]: #597
+#964 := (or #696 #663)
+#600 := (or #596 #696 #663)
+#601 := [def-axiom]: #600
+#971 := [unit-resolution #601 #1055]: #964
+#1040 := [unit-resolution #971 #1050]: #663
+#642 := (not #666)
+#867 := [hypothesis]: #642
+#616 := (or #666 #708)
+#640 := [def-axiom]: #616
+#868 := [unit-resolution #640 #867]: #708
+#641 := (or #666 #717)
+#636 := [def-axiom]: #641
+#869 := [unit-resolution #636 #867]: #717
+#870 := (or #696 #677 #676)
+#871 := [th-lemma arith triangle-eq]: #870
+#920 := [unit-resolution #871 #869 #868 #1050]: false
+#921 := [lemma #920]: #666
+#618 := (not #663)
+#620 := (or #618 #642 #716)
+#621 := [def-axiom]: #620
+#1172 := [unit-resolution #621 #921 #1040]: #716
+#612 := (not #716)
+#1061 := (or #612 #607)
+#1062 := [th-lemma arith triangle-eq]: #1061
+#1243 := [unit-resolution #1062 #1172]: #607
+#1244 := [hypothesis]: #729
+#1177 := (* -1::Int #1119)
+#1042 := (* -2::Int #872)
+#1178 := (+ #1042 #1177)
+#1162 := (* -1::Int #818)
+#1179 := (+ #1162 #1178)
+#1180 := (+ #705 #1179)
+#1181 := (+ #466 #1180)
+#1182 := (+ #19 #1181)
+#1183 := (+ #14 #1182)
+#1184 := (+ f7 #1183)
+#1185 := (+ f6 #1184)
+#1186 := (>= #1185 2::Int)
+#1198 := (not #1186)
+#962 := (>= #583 0::Int)
+#1191 := [hypothesis]: #727
+#1247 := (or #584 #1246 #1200)
+#568 := (<= #19 3::Int)
+#975 := (or #974 #568)
+#973 := [th-lemma arith triangle-eq]: #975
+#977 := [unit-resolution #973 #82]: #568
+#895 := (<= #890 0::Int)
+#982 := (or #981 #895)
+#983 := [th-lemma arith triangle-eq]: #982
+#989 := [unit-resolution #983 #980]: #895
+#587 := (<= f7 0::Int)
+#563 := (= f7 0::Int)
+#1066 := (not #584)
+#1153 := [hypothesis]: #1066
+#1229 := (or #563 #584)
+#383 := (* -1::Int f7)
+#528 := (mod #383 -2::Int)
+#530 := (+ #26 #528)
+#515 := (= #530 0::Int)
+#553 := (not #587)
+#585 := (>= f7 0::Int)
+#533 := (not #585)
+#543 := (or #533 #553)
+#518 := (ite #543 #584 #515)
+#1073 := (not #563)
+#1214 := [hypothesis]: #1073
+#1208 := (or #563 #518)
+#562 := (= #26 0::Int)
+#521 := (ite #563 #562 #518)
+#389 := (or #591 #521)
+#377 := (* -1::Int 2::Int)
+#577 := (mod #383 #377)
+#578 := (+ #26 #577)
+#579 := (= #578 0::Int)
+#447 := (<= 2::Int 0::Int)
+#586 := (or #447 #585)
+#569 := (not #586)
+#557 := (or #587 #447)
+#558 := (not #557)
+#559 := (or #558 #569)
+#560 := (ite #559 #584 #579)
+#564 := (ite #563 #562 #560)
+#407 := (= f7 #26)
+#788 := (= 2::Int 0::Int)
+#565 := (ite #788 #407 #564)
+#390 := (or #591 #565)
+#378 := (iff #390 #389)
+#382 := (iff #389 #389)
+#804 := [rewrite]: #382
+#505 := (iff #565 #521)
+#524 := (ite false #407 #521)
+#502 := (iff #524 #521)
+#504 := [rewrite]: #502
+#513 := (iff #565 #524)
+#522 := (iff #564 #521)
+#519 := (iff #560 #518)
+#516 := (iff #579 #515)
+#512 := (= #578 #530)
+#529 := (= #577 #528)
+#757 := (= #377 -2::Int)
+#761 := [rewrite]: #757
+#527 := [monotonicity #761]: #529
+#514 := [monotonicity #527]: #512
+#517 := [monotonicity #514]: #516
+#540 := (iff #559 #543)
+#538 := (or #553 #533)
+#536 := (iff #538 #543)
+#539 := [rewrite]: #536
+#542 := (iff #559 #538)
+#534 := (iff #569 #533)
+#541 := (iff #586 #585)
+#547 := (or false #585)
+#546 := (iff #547 #585)
+#551 := [rewrite]: #546
+#549 := (iff #586 #547)
+#765 := (iff #447 false)
+#428 := [rewrite]: #765
+#550 := [monotonicity #428]: #549
+#531 := [trans #550 #551]: #541
+#537 := [monotonicity #531]: #534
+#556 := (iff #558 #553)
+#554 := (iff #557 #587)
+#561 := (or #587 false)
+#548 := (iff #561 #587)
+#552 := [rewrite]: #548
+#566 := (iff #557 #561)
+#545 := [monotonicity #428]: #566
+#555 := [trans #545 #552]: #554
+#544 := [monotonicity #555]: #556
+#535 := [monotonicity #544 #537]: #542
+#526 := [trans #535 #539]: #540
+#520 := [monotonicity #526 #517]: #519
+#523 := [monotonicity #520]: #522
+#789 := (iff #788 false)
+#779 := [rewrite]: #789
+#525 := [monotonicity #779 #523]: #513
+#506 := [trans #525 #504]: #505
+#379 := [monotonicity #506]: #378
+#805 := [trans #379 #804]: #378
+#391 := [quant-inst #10 #13]: #390
+#806 := [mp #391 #805]: #389
+#1163 := [unit-resolution #806 #803]: #521
+#1035 := (not #521)
+#1041 := (or #1035 #563 #518)
+#1077 := [def-axiom]: #1041
+#1209 := [unit-resolution #1077 #1163]: #1208
+#1215 := [unit-resolution #1209 #1214]: #518
+#1212 := (or #585 #584)
+#1154 := [hypothesis]: #533
+#395 := (or #543 #585)
+#396 := [def-axiom]: #395
+#1155 := [unit-resolution #396 #1154]: #543
+#1156 := (or #1073 #585)
+#1157 := [th-lemma arith triangle-eq]: #1156
+#1140 := [unit-resolution #1157 #1154]: #1073
+#1210 := [unit-resolution #1209 #1140]: #518
+#924 := (not #543)
+#843 := (not #518)
+#1032 := (or #843 #924 #584)
+#1033 := [def-axiom]: #1032
+#1211 := [unit-resolution #1033 #1210 #1155 #1153]: false
+#1213 := [lemma #1211]: #1212
+#1216 := [unit-resolution #1213 #1153]: #585
+#1224 := (or #563 #553 #533)
+#1225 := [th-lemma arith triangle-eq]: #1224
+#1226 := [unit-resolution #1225 #1214 #1216]: #553
+#922 := (or #543 #587)
+#923 := [def-axiom]: #922
+#1227 := [unit-resolution #923 #1226]: #543
+#1228 := [unit-resolution #1033 #1227 #1215 #1153]: false
+#1230 := [lemma #1228]: #1229
+#1233 := [unit-resolution #1230 #1153]: #563
+#1234 := (or #1073 #587)
+#1235 := [th-lemma arith triangle-eq]: #1234
+#1236 := [unit-resolution #1235 #1233]: #587
+#606 := (<= #14 0::Int)
+#1193 := (or #629 #606)
+#1194 := [th-lemma arith triangle-eq]: #1193
+#1195 := [unit-resolution #1194 #81]: #606
+#1112 := (<= #838 0::Int)
+#1188 := (or #1187 #1112)
+#1189 := [th-lemma arith triangle-eq]: #1188
+#1190 := [unit-resolution #1189 #1176]: #1112
+#576 := (<= #715 0::Int)
+#1057 := (or #612 #576)
+#1058 := [th-lemma arith triangle-eq]: #1057
+#1173 := [unit-resolution #1058 #1172]: #576
+#1245 := [th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 #1244 #1191 #1243 #1173 #1242 #1190 #1239 #1195 #1216 #1236 #1005 #989 #1002 #977]: false
+#1248 := [lemma #1245]: #1247
+#1257 := [unit-resolution #1248 #1244 #1191]: #584
+#1258 := (or #1066 #962)
+#1259 := [th-lemma arith triangle-eq]: #1258
+#1260 := [unit-resolution #1259 #1257]: #962
+#1111 := (>= #26 1::Int)
+#1159 := (not #1111)
+#1261 := (or #1066 #961)
+#1262 := [th-lemma arith triangle-eq]: #1261
+#1263 := [unit-resolution #1262 #1257]: #961
+#1147 := (>= #581 2::Int)
+#1148 := (not #1147)
+#1264 := (or false #1148)
+#1265 := [th-lemma arith]: #1264
+#1266 := [unit-resolution #1265 #79]: #1148
+#1267 := (not #961)
+#1268 := (or #1110 #1147 #1267)
+#1269 := [th-lemma arith assign-bounds 1 1]: #1268
+#1270 := [unit-resolution #1269 #1266 #1263]: #1110
+#1273 := (not #1110)
+#1276 := (or #1273 #1159)
+#27 := (= #26 1::Int)
+#226 := (not #27)
+#22 := (f3 #17 2::Int)
+#24 := (= #22 1::Int)
+#1104 := (or #642 #24)
+#925 := (div f6 2::Int)
+#1043 := (* -1::Int #925)
+#1044 := (+ #1042 #1043)
+#1045 := (+ #705 #1044)
+#490 := (mod f6 2::Int)
+#491 := (* -1::Int #490)
+#1046 := (+ #491 #1045)
+#1047 := (+ #19 #1046)
+#1048 := (+ f6 #1047)
+#1049 := (>= #1048 2::Int)
+#1037 := (not #1049)
+#1052 := [hypothesis]: #666
+#1056 := [unit-resolution #621 #1052 #1040]: #716
+#1059 := [unit-resolution #1058 #1056]: #576
+#995 := (not #576)
+#1038 := (or #1037 #995)
+#947 := (>= #490 0::Int)
+#1030 := (or false #947)
+#1031 := [th-lemma arith]: #1030
+#1028 := [unit-resolution #1031 #79]: #947
+#990 := [hypothesis]: #576
+#938 := (* -2::Int #925)
+#939 := (+ #491 #938)
+#940 := (+ f6 #939)
+#945 := (<= #940 0::Int)
+#937 := (= #940 0::Int)
+#1018 := (or false #937)
+#1017 := [th-lemma arith]: #1018
+#1016 := [unit-resolution #1017 #79]: #937
+#965 := (not #937)
+#966 := (or #965 #945)
+#972 := [th-lemma arith triangle-eq]: #966
+#970 := [unit-resolution #972 #1016]: #945
+#1029 := [hypothesis]: #1049
+#1036 := [th-lemma arith farkas -1 2 -1 -1 -1 1 #977 #1029 #989 #970 #990 #1028]: false
+#1039 := [lemma #1036]: #1038
+#1060 := [unit-resolution #1039 #1059]: #1037
+#1063 := [unit-resolution #1062 #1056]: #607
+#946 := (>= #940 0::Int)
+#1071 := (or #965 #946)
+#1072 := [th-lemma arith triangle-eq]: #1071
+#1075 := [unit-resolution #1072 #1016]: #946
+#492 := (+ #22 #491)
+#392 := (>= #492 0::Int)
+#484 := (= #492 0::Int)
+#507 := (mod #489 -2::Int)
+#511 := (+ #22 #507)
+#498 := (= #511 0::Int)
+#485 := (ite #666 #484 #498)
+#471 := (= #22 0::Int)
+#427 := (ite #696 #471 #485)
+#418 := (or #591 #427)
+#500 := (mod #489 #377)
+#499 := (+ #22 #500)
+#501 := (= #499 0::Int)
+#476 := (or #447 #717)
+#477 := (not #476)
+#478 := (or #708 #447)
+#470 := (not #478)
+#479 := (or #470 #477)
+#480 := (ite #479 #484 #501)
+#481 := (ite #696 #471 #480)
+#448 := (= f6 #22)
+#450 := (ite #788 #448 #481)
+#393 := (or #591 #450)
+#398 := (iff #393 #418)
+#405 := (iff #418 #418)
+#406 := [rewrite]: #405
+#417 := (iff #450 #427)
+#420 := (ite false #448 #427)
+#413 := (iff #420 #427)
+#414 := [rewrite]: #413
+#423 := (iff #450 #420)
+#421 := (iff #481 #427)
+#495 := (iff #480 #485)
+#493 := (iff #501 #498)
+#496 := (= #499 #511)
+#510 := (= #500 #507)
+#503 := [monotonicity #761]: #510
+#497 := [monotonicity #503]: #496
+#494 := [monotonicity #497]: #493
+#508 := (iff #479 #666)
+#445 := (iff #477 #676)
+#460 := (iff #476 #717)
+#459 := (iff #476 #680)
+#449 := [monotonicity #428]: #459
+#443 := [trans #449 #684]: #460
+#446 := [monotonicity #443]: #445
+#457 := (iff #470 #677)
+#455 := (iff #478 #708)
+#451 := (iff #478 #691)
+#442 := [monotonicity #428]: #451
+#456 := [trans #442 #694]: #455
+#458 := [monotonicity #456]: #457
+#509 := [monotonicity #458 #446]: #508
+#425 := [monotonicity #509 #494]: #495
+#422 := [monotonicity #425]: #421
+#411 := [monotonicity #779 #422]: #423
+#412 := [trans #411 #414]: #417
+#403 := [monotonicity #412]: #398
+#408 := [trans #403 #406]: #398
+#397 := [quant-inst #9 #13]: #393
+#404 := [mp #397 #408]: #418
+#1076 := [unit-resolution #404 #803]: #427
+#386 := (not #427)
+#1079 := (or #386 #485)
+#380 := (or #386 #696 #485)
+#381 := [def-axiom]: #380
+#1080 := [unit-resolution #381 #1050]: #1079
+#1081 := [unit-resolution #1080 #1076]: #485
+#399 := (not #485)
+#400 := (or #399 #642 #484)
+#401 := [def-axiom]: #400
+#1082 := [unit-resolution #401 #1052 #1081]: #484
+#387 := (not #484)
+#1083 := (or #387 #392)
+#1084 := [th-lemma arith triangle-eq]: #1083
+#1085 := [unit-resolution #1084 #1082]: #392
+#808 := (>= #22 1::Int)
+#1022 := (not #808)
+#807 := (<= #22 1::Int)
+#953 := (>= #490 2::Int)
+#954 := (not #953)
+#1086 := (or false #954)
+#1087 := [th-lemma arith]: #1086
+#1088 := [unit-resolution #1087 #79]: #954
+#409 := (<= #492 0::Int)
+#1089 := (or #387 #409)
+#1090 := [th-lemma arith triangle-eq]: #1089
+#1091 := [unit-resolution #1090 #1082]: #409
+#1092 := (not #409)
+#1093 := (or #807 #953 #1092)
+#1094 := [th-lemma arith assign-bounds 1 1]: #1093
+#1095 := [unit-resolution #1094 #1091 #1088]: #807
+#1097 := (not #807)
+#1100 := (or #1097 #1022)
+#225 := (not #24)
+#1096 := [hypothesis]: #225
+#1098 := (or #24 #1097 #1022)
+#1099 := [th-lemma arith triangle-eq]: #1098
+#1101 := [unit-resolution #1099 #1096]: #1100
+#1102 := [unit-resolution #1101 #1095]: #1022
+#1103 := [th-lemma arith farkas -1/2 -1/2 1/2 -1/2 -1/2 -1/2 1 #1002 #1005 #1102 #1085 #1075 #1063 #1060]: false
+#1105 := [lemma #1103]: #1104
+#1271 := [unit-resolution #1105 #921]: #24
+#237 := (or #225 #226)
+#28 := (and #24 #27)
+#29 := (not #28)
+#246 := (iff #29 #237)
+#238 := (not #237)
+#241 := (not #238)
+#244 := (iff #241 #237)
+#245 := [rewrite]: #244
+#242 := (iff #29 #241)
+#239 := (iff #28 #238)
+#240 := [rewrite]: #239
+#243 := [monotonicity #240]: #242
+#247 := [trans #243 #245]: #246
+#83 := [asserted]: #29
+#248 := [mp #83 #247]: #237
+#1272 := [unit-resolution #248 #1271]: #226
+#1274 := (or #27 #1273 #1159)
+#1275 := [th-lemma arith triangle-eq]: #1274
+#1277 := [unit-resolution #1275 #1272]: #1276
+#1278 := [unit-resolution #1277 #1270]: #1159
+#1199 := (not #962)
+#1201 := (or #1198 #1199 #1200 #1111)
+#1160 := [hypothesis]: #1159
+#1139 := (<= #1134 0::Int)
+#1167 := [unit-resolution #1166 #79]: #1131
+#1169 := (or #1168 #1139)
+#1170 := [th-lemma arith triangle-eq]: #1169
+#1171 := [unit-resolution #1170 #1167]: #1139
+#1192 := [hypothesis]: #1186
+#1196 := [hypothesis]: #962
+#1197 := [th-lemma arith farkas -1 1 -2 1 1 1 1 1 1 1 #1196 #1195 #1192 #1191 #1190 #1173 #1171 #989 #977 #1160]: false
+#1202 := [lemma #1197]: #1201
+#1279 := [unit-resolution #1202 #1278 #1191 #1260]: #1198
+#1280 := [th-lemma arith farkas -2 1 1 1 1 1 1 1 1 #1279 #1244 #1243 #1242 #1239 #1005 #1002 #1256 #1158]: false
+#1282 := [lemma #1280]: #1281
+#1356 := [unit-resolution #1282 #1285]: #1355
+#1357 := [unit-resolution #1356 #1330 #1117]: false
+#1358 := [lemma #1357]: #722
+#1288 := (or #785 #464)
+#1232 := [hypothesis]: #722
+#759 := (+ #489 #383)
+#758 := (mod #759 -2::Int)
+#473 := (+ #14 #758)
+#753 := (= #473 0::Int)
+#777 := (not #468)
+#441 := (<= #11 0::Int)
+#771 := (not #441)
+#486 := (or #771 #777)
+#751 := (ite #486 #464 #753)
+#625 := (not #785)
+#809 := [hypothesis]: #625
+#1250 := (or #785 #751)
+#756 := (ite #785 #16 #751)
+#592 := (or #591 #756)
+#461 := (* -1::Int #11)
+#462 := (mod #461 #377)
+#463 := (+ #14 #462)
+#454 := (= #463 0::Int)
+#782 := (or #447 #468)
+#784 := (not #782)
+#571 := (or #441 #447)
+#778 := (not #571)
+#452 := (or #778 #784)
+#453 := (ite #452 #464 #454)
+#786 := (ite #785 #16 #453)
+#787 := (= #11 #14)
+#783 := (ite #788 #787 #786)
+#593 := (or #591 #783)
+#736 := (iff #593 #592)
+#738 := (iff #592 #592)
+#732 := [rewrite]: #738
+#744 := (iff #783 #756)
+#439 := (* -1::Int #14)
+#444 := (+ f7 #439)
+#780 := (+ f6 #444)
+#440 := (= #780 0::Int)
+#747 := (ite false #440 #756)
+#748 := (iff #747 #756)
+#749 := [rewrite]: #748
+#742 := (iff #783 #747)
+#745 := (iff #786 #756)
+#755 := (iff #453 #751)
+#754 := (iff #454 #753)
+#474 := (= #463 #473)
+#762 := (= #462 #758)
+#760 := (= #461 #759)
+#482 := [rewrite]: #760
+#472 := [monotonicity #482 #761]: #762
+#475 := [monotonicity #472]: #474
+#469 := [monotonicity #475]: #754
+#487 := (iff #452 #486)
+#763 := (iff #784 #777)
+#776 := (iff #782 #468)
+#410 := (or false #468)
+#415 := (iff #410 #468)
+#416 := [rewrite]: #415
+#773 := (iff #782 #410)
+#775 := [monotonicity #428]: #773
+#774 := [trans #775 #416]: #776
+#764 := [monotonicity #774]: #763
+#766 := (iff #778 #771)
+#769 := (iff #571 #441)
+#429 := (or #441 false)
+#767 := (iff #429 #441)
+#768 := [rewrite]: #767
+#430 := (iff #571 #429)
+#431 := [monotonicity #428]: #430
+#770 := [trans #431 #768]: #769
+#772 := [monotonicity #770]: #766
+#488 := [monotonicity #772 #764]: #487
+#752 := [monotonicity #488 #469]: #755
+#746 := [monotonicity #752]: #745
+#781 := (iff #787 #440)
+#424 := [rewrite]: #781
+#743 := [monotonicity #779 #424 #746]: #742
+#750 := [trans #743 #749]: #744
+#737 := [monotonicity #750]: #736
+#733 := [trans #737 #732]: #736
+#735 := [quant-inst #11 #13]: #593
+#739 := [mp #735 #733]: #592
+#1249 := [unit-resolution #739 #803]: #756
+#623 := (not #756)
+#627 := (or #623 #785 #751)
+#628 := [def-axiom]: #627
+#1251 := [unit-resolution #628 #1249]: #1250
+#1252 := [unit-resolution #1251 #809]: #751
+#816 := (or #486 #785)
+#572 := (not #486)
+#810 := [hypothesis]: #572
+#740 := (or #486 #441)
+#734 := [def-axiom]: #740
+#811 := [unit-resolution #734 #810]: #441
+#741 := (or #486 #468)
+#570 := [def-axiom]: #741
+#812 := [unit-resolution #570 #810]: #468
+#813 := (or #785 #771 #777)
+#814 := [th-lemma arith triangle-eq]: #813
+#815 := [unit-resolution #814 #812 #811 #809]: false
+#817 := [lemma #815]: #816
+#1286 := [unit-resolution #817 #809]: #486
+#731 := (not #751)
+#613 := (or #731 #572 #464)
 #614 := [def-axiom]: #613
-#1165 := [unit-resolution #614 #914 #1033]: #709
-#605 := (not #709)
-#1054 := (or #605 #600)
-#1055 := [th-lemma arith triangle-eq]: #1054
-#1236 := [unit-resolution #1055 #1165]: #600
-#1237 := [hypothesis]: #722
-#1170 := (* -1::Int #1112)
-#1035 := (* -2::Int #865)
-#1171 := (+ #1035 #1170)
-#1155 := (* -1::Int #811)
-#1172 := (+ #1155 #1171)
-#1173 := (+ #698 #1172)
-#1174 := (+ #459 #1173)
-#1175 := (+ #16 #1174)
-#1176 := (+ #12 #1175)
-#1177 := (+ f5 #1176)
-#1178 := (+ f4 #1177)
-#1179 := (>= #1178 2::Int)
-#1191 := (not #1179)
-#955 := (>= #576 0::Int)
-#1184 := [hypothesis]: #720
-#1240 := (or #577 #1239 #1193)
-#561 := (<= #16 3::Int)
-#968 := (or #967 #561)
-#966 := [th-lemma arith triangle-eq]: #968
-#970 := [unit-resolution #966 #75]: #561
-#888 := (<= #883 0::Int)
-#975 := (or #974 #888)
-#976 := [th-lemma arith triangle-eq]: #975
-#982 := [unit-resolution #976 #973]: #888
-#580 := (<= f5 0::Int)
-#556 := (= f5 0::Int)
-#1059 := (not #577)
-#1146 := [hypothesis]: #1059
-#1222 := (or #556 #577)
-#376 := (* -1::Int f5)
-#521 := (mod #376 -2::Int)
-#523 := (+ #22 #521)
-#508 := (= #523 0::Int)
-#546 := (not #580)
-#578 := (>= f5 0::Int)
-#526 := (not #578)
-#536 := (or #526 #546)
-#511 := (ite #536 #577 #508)
-#1066 := (not #556)
-#1207 := [hypothesis]: #1066
-#1201 := (or #556 #511)
-#555 := (= #22 0::Int)
-#514 := (ite #556 #555 #511)
-#382 := (or #584 #514)
-#370 := (* -1::Int 2::Int)
-#570 := (mod #376 #370)
-#571 := (+ #22 #570)
-#572 := (= #571 0::Int)
-#440 := (<= 2::Int 0::Int)
-#579 := (or #440 #578)
-#562 := (not #579)
-#550 := (or #580 #440)
-#551 := (not #550)
-#552 := (or #551 #562)
-#553 := (ite #552 #577 #572)
-#557 := (ite #556 #555 #553)
-#400 := (= f5 #22)
-#781 := (= 2::Int 0::Int)
-#558 := (ite #781 #400 #557)
-#383 := (or #584 #558)
-#371 := (iff #383 #382)
-#375 := (iff #382 #382)
-#797 := [rewrite]: #375
-#498 := (iff #558 #514)
-#517 := (ite false #400 #514)
-#495 := (iff #517 #514)
-#497 := [rewrite]: #495
-#506 := (iff #558 #517)
-#515 := (iff #557 #514)
-#512 := (iff #553 #511)
-#509 := (iff #572 #508)
-#505 := (= #571 #523)
-#522 := (= #570 #521)
-#750 := (= #370 -2::Int)
-#754 := [rewrite]: #750
-#520 := [monotonicity #754]: #522
-#507 := [monotonicity #520]: #505
-#510 := [monotonicity #507]: #509
-#533 := (iff #552 #536)
-#531 := (or #546 #526)
-#529 := (iff #531 #536)
-#532 := [rewrite]: #529
-#535 := (iff #552 #531)
-#527 := (iff #562 #526)
-#534 := (iff #579 #578)
-#540 := (or false #578)
-#539 := (iff #540 #578)
-#544 := [rewrite]: #539
-#542 := (iff #579 #540)
-#758 := (iff #440 false)
-#421 := [rewrite]: #758
-#543 := [monotonicity #421]: #542
-#524 := [trans #543 #544]: #534
-#530 := [monotonicity #524]: #527
-#549 := (iff #551 #546)
-#547 := (iff #550 #580)
-#554 := (or #580 false)
-#541 := (iff #554 #580)
-#545 := [rewrite]: #541
-#559 := (iff #550 #554)
-#538 := [monotonicity #421]: #559
-#548 := [trans #538 #545]: #547
-#537 := [monotonicity #548]: #549
-#528 := [monotonicity #537 #530]: #535
-#519 := [trans #528 #532]: #533
-#513 := [monotonicity #519 #510]: #512
-#516 := [monotonicity #513]: #515
-#782 := (iff #781 false)
-#772 := [rewrite]: #782
-#518 := [monotonicity #772 #516]: #506
-#499 := [trans #518 #497]: #498
-#372 := [monotonicity #499]: #371
-#798 := [trans #372 #797]: #371
-#384 := [quant-inst #9 #11]: #383
-#799 := [mp #384 #798]: #382
-#1156 := [unit-resolution #799 #796]: #514
-#1028 := (not #514)
-#1034 := (or #1028 #556 #511)
-#1070 := [def-axiom]: #1034
-#1202 := [unit-resolution #1070 #1156]: #1201
-#1208 := [unit-resolution #1202 #1207]: #511
-#1205 := (or #578 #577)
-#1147 := [hypothesis]: #526
-#388 := (or #536 #578)
-#389 := [def-axiom]: #388
-#1148 := [unit-resolution #389 #1147]: #536
-#1149 := (or #1066 #578)
-#1150 := [th-lemma arith triangle-eq]: #1149
-#1133 := [unit-resolution #1150 #1147]: #1066
-#1203 := [unit-resolution #1202 #1133]: #511
-#917 := (not #536)
-#836 := (not #511)
-#1025 := (or #836 #917 #577)
-#1026 := [def-axiom]: #1025
-#1204 := [unit-resolution #1026 #1203 #1148 #1146]: false
-#1206 := [lemma #1204]: #1205
-#1209 := [unit-resolution #1206 #1146]: #578
-#1217 := (or #556 #546 #526)
-#1218 := [th-lemma arith triangle-eq]: #1217
-#1219 := [unit-resolution #1218 #1207 #1209]: #546
-#915 := (or #536 #580)
-#916 := [def-axiom]: #915
-#1220 := [unit-resolution #916 #1219]: #536
-#1221 := [unit-resolution #1026 #1220 #1208 #1146]: false
-#1223 := [lemma #1221]: #1222
-#1226 := [unit-resolution #1223 #1146]: #556
-#1227 := (or #1066 #580)
-#1228 := [th-lemma arith triangle-eq]: #1227
-#1229 := [unit-resolution #1228 #1226]: #580
-#599 := (<= #12 0::Int)
-#1186 := (or #622 #599)
-#1187 := [th-lemma arith triangle-eq]: #1186
-#1188 := [unit-resolution #1187 #74]: #599
-#1105 := (<= #831 0::Int)
-#1181 := (or #1180 #1105)
-#1182 := [th-lemma arith triangle-eq]: #1181
-#1183 := [unit-resolution #1182 #1169]: #1105
-#569 := (<= #708 0::Int)
-#1050 := (or #605 #569)
-#1051 := [th-lemma arith triangle-eq]: #1050
-#1166 := [unit-resolution #1051 #1165]: #569
-#1238 := [th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 #1237 #1184 #1236 #1166 #1235 #1183 #1232 #1188 #1209 #1229 #998 #982 #995 #970]: false
-#1241 := [lemma #1238]: #1240
-#1250 := [unit-resolution #1241 #1237 #1184]: #577
-#1251 := (or #1059 #955)
-#1252 := [th-lemma arith triangle-eq]: #1251
-#1253 := [unit-resolution #1252 #1250]: #955
-#1104 := (>= #22 1::Int)
-#1152 := (not #1104)
-#1254 := (or #1059 #954)
-#1255 := [th-lemma arith triangle-eq]: #1254
-#1256 := [unit-resolution #1255 #1250]: #954
-#1140 := (>= #574 2::Int)
-#1141 := (not #1140)
-#1257 := (or false #1141)
-#1258 := [th-lemma arith]: #1257
-#1259 := [unit-resolution #1258 #72]: #1141
-#1260 := (not #954)
-#1261 := (or #1103 #1140 #1260)
-#1262 := [th-lemma arith assign-bounds 1 1]: #1261
-#1263 := [unit-resolution #1262 #1259 #1256]: #1103
-#1266 := (not #1103)
-#1269 := (or #1266 #1152)
-#23 := (= #22 1::Int)
-#219 := (not #23)
-#19 := (f3 f4 2::Int)
-#21 := (= #19 1::Int)
-#1097 := (or #635 #21)
-#918 := (div f4 2::Int)
-#1036 := (* -1::Int #918)
-#1037 := (+ #1035 #1036)
-#1038 := (+ #698 #1037)
-#483 := (mod f4 2::Int)
-#484 := (* -1::Int #483)
-#1039 := (+ #484 #1038)
-#1040 := (+ #16 #1039)
-#1041 := (+ f4 #1040)
-#1042 := (>= #1041 2::Int)
-#1030 := (not #1042)
-#1045 := [hypothesis]: #659
-#1049 := [unit-resolution #614 #1045 #1033]: #709
-#1052 := [unit-resolution #1051 #1049]: #569
-#988 := (not #569)
-#1031 := (or #1030 #988)
-#940 := (>= #483 0::Int)
-#1023 := (or false #940)
-#1024 := [th-lemma arith]: #1023
-#1021 := [unit-resolution #1024 #72]: #940
-#983 := [hypothesis]: #569
-#931 := (* -2::Int #918)
-#932 := (+ #484 #931)
-#933 := (+ f4 #932)
-#938 := (<= #933 0::Int)
-#930 := (= #933 0::Int)
-#1011 := (or false #930)
-#1010 := [th-lemma arith]: #1011
-#1009 := [unit-resolution #1010 #72]: #930
-#958 := (not #930)
-#959 := (or #958 #938)
-#965 := [th-lemma arith triangle-eq]: #959
-#963 := [unit-resolution #965 #1009]: #938
-#1022 := [hypothesis]: #1042
-#1029 := [th-lemma arith farkas -1 2 -1 -1 -1 1 #970 #1022 #982 #963 #983 #1021]: false
-#1032 := [lemma #1029]: #1031
-#1053 := [unit-resolution #1032 #1052]: #1030
-#1056 := [unit-resolution #1055 #1049]: #600
-#939 := (>= #933 0::Int)
-#1064 := (or #958 #939)
-#1065 := [th-lemma arith triangle-eq]: #1064
-#1068 := [unit-resolution #1065 #1009]: #939
-#485 := (+ #19 #484)
-#385 := (>= #485 0::Int)
-#477 := (= #485 0::Int)
-#500 := (mod #482 -2::Int)
-#504 := (+ #19 #500)
-#491 := (= #504 0::Int)
-#478 := (ite #659 #477 #491)
-#464 := (= #19 0::Int)
-#420 := (ite #689 #464 #478)
-#411 := (or #584 #420)
-#493 := (mod #482 #370)
-#492 := (+ #19 #493)
-#494 := (= #492 0::Int)
-#469 := (or #440 #710)
-#470 := (not #469)
-#471 := (or #701 #440)
-#463 := (not #471)
-#472 := (or #463 #470)
-#473 := (ite #472 #477 #494)
-#474 := (ite #689 #464 #473)
-#441 := (= f4 #19)
-#443 := (ite #781 #441 #474)
-#386 := (or #584 #443)
-#391 := (iff #386 #411)
-#398 := (iff #411 #411)
-#399 := [rewrite]: #398
-#410 := (iff #443 #420)
-#413 := (ite false #441 #420)
-#406 := (iff #413 #420)
-#407 := [rewrite]: #406
-#416 := (iff #443 #413)
-#414 := (iff #474 #420)
-#488 := (iff #473 #478)
-#486 := (iff #494 #491)
-#489 := (= #492 #504)
-#503 := (= #493 #500)
-#496 := [monotonicity #754]: #503
-#490 := [monotonicity #496]: #489
-#487 := [monotonicity #490]: #486
-#501 := (iff #472 #659)
-#438 := (iff #470 #669)
-#453 := (iff #469 #710)
-#452 := (iff #469 #673)
-#442 := [monotonicity #421]: #452
-#436 := [trans #442 #677]: #453
-#439 := [monotonicity #436]: #438
-#450 := (iff #463 #670)
-#448 := (iff #471 #701)
-#444 := (iff #471 #684)
-#435 := [monotonicity #421]: #444
-#449 := [trans #435 #687]: #448
-#451 := [monotonicity #449]: #450
-#502 := [monotonicity #451 #439]: #501
-#418 := [monotonicity #502 #487]: #488
-#415 := [monotonicity #418]: #414
-#404 := [monotonicity #772 #415]: #416
-#405 := [trans #404 #407]: #410
-#396 := [monotonicity #405]: #391
-#401 := [trans #396 #399]: #391
-#390 := [quant-inst #8 #11]: #386
-#397 := [mp #390 #401]: #411
-#1069 := [unit-resolution #397 #796]: #420
-#379 := (not #420)
-#1072 := (or #379 #478)
-#373 := (or #379 #689 #478)
-#374 := [def-axiom]: #373
-#1073 := [unit-resolution #374 #1043]: #1072
-#1074 := [unit-resolution #1073 #1069]: #478
-#392 := (not #478)
-#393 := (or #392 #635 #477)
-#394 := [def-axiom]: #393
-#1075 := [unit-resolution #394 #1045 #1074]: #477
-#380 := (not #477)
-#1076 := (or #380 #385)
-#1077 := [th-lemma arith triangle-eq]: #1076
-#1078 := [unit-resolution #1077 #1075]: #385
-#801 := (>= #19 1::Int)
-#1015 := (not #801)
-#800 := (<= #19 1::Int)
-#946 := (>= #483 2::Int)
-#947 := (not #946)
-#1079 := (or false #947)
-#1080 := [th-lemma arith]: #1079
-#1081 := [unit-resolution #1080 #72]: #947
-#402 := (<= #485 0::Int)
-#1082 := (or #380 #402)
-#1083 := [th-lemma arith triangle-eq]: #1082
-#1084 := [unit-resolution #1083 #1075]: #402
-#1085 := (not #402)
-#1086 := (or #800 #946 #1085)
-#1087 := [th-lemma arith assign-bounds 1 1]: #1086
-#1088 := [unit-resolution #1087 #1084 #1081]: #800
-#1090 := (not #800)
-#1093 := (or #1090 #1015)
-#218 := (not #21)
-#1089 := [hypothesis]: #218
-#1091 := (or #21 #1090 #1015)
-#1092 := [th-lemma arith triangle-eq]: #1091
-#1094 := [unit-resolution #1092 #1089]: #1093
-#1095 := [unit-resolution #1094 #1088]: #1015
-#1096 := [th-lemma arith farkas -1/2 -1/2 1/2 -1/2 -1/2 -1/2 1 #995 #998 #1095 #1078 #1068 #1056 #1053]: false
-#1098 := [lemma #1096]: #1097
-#1264 := [unit-resolution #1098 #914]: #21
-#230 := (or #218 #219)
-#24 := (and #21 #23)
-#25 := (not #24)
-#239 := (iff #25 #230)
-#231 := (not #230)
-#234 := (not #231)
-#237 := (iff #234 #230)
-#238 := [rewrite]: #237
-#235 := (iff #25 #234)
-#232 := (iff #24 #231)
-#233 := [rewrite]: #232
-#236 := [monotonicity #233]: #235
-#240 := [trans #236 #238]: #239
-#76 := [asserted]: #25
-#241 := [mp #76 #240]: #230
-#1265 := [unit-resolution #241 #1264]: #219
-#1267 := (or #23 #1266 #1152)
-#1268 := [th-lemma arith triangle-eq]: #1267
-#1270 := [unit-resolution #1268 #1265]: #1269
-#1271 := [unit-resolution #1270 #1263]: #1152
-#1192 := (not #955)
-#1194 := (or #1191 #1192 #1193 #1104)
-#1153 := [hypothesis]: #1152
-#1132 := (<= #1127 0::Int)
-#1160 := [unit-resolution #1159 #72]: #1124
-#1162 := (or #1161 #1132)
-#1163 := [th-lemma arith triangle-eq]: #1162
-#1164 := [unit-resolution #1163 #1160]: #1132
-#1185 := [hypothesis]: #1179
-#1189 := [hypothesis]: #955
-#1190 := [th-lemma arith farkas -1 1 -2 1 1 1 1 1 1 1 #1189 #1188 #1185 #1184 #1183 #1166 #1164 #982 #970 #1153]: false
-#1195 := [lemma #1190]: #1194
-#1272 := [unit-resolution #1195 #1271 #1184 #1253]: #1191
-#1273 := [th-lemma arith farkas -2 1 1 1 1 1 1 1 1 #1272 #1237 #1236 #1235 #1232 #998 #995 #1249 #1151]: false
-#1275 := [lemma #1273]: #1274
-#1349 := [unit-resolution #1275 #1278]: #1348
-#1350 := [unit-resolution #1349 #1323 #1110]: false
-#1351 := [lemma #1350]: #715
-#1281 := (or #778 #457)
-#1225 := [hypothesis]: #715
-#752 := (+ #482 #376)
-#751 := (mod #752 -2::Int)
-#466 := (+ #12 #751)
-#746 := (= #466 0::Int)
-#770 := (not #461)
-#434 := (<= #10 0::Int)
-#764 := (not #434)
-#479 := (or #764 #770)
-#744 := (ite #479 #457 #746)
-#618 := (not #778)
-#802 := [hypothesis]: #618
-#1243 := (or #778 #744)
-#749 := (ite #778 #14 #744)
-#585 := (or #584 #749)
-#454 := (* -1::Int #10)
-#455 := (mod #454 #370)
-#456 := (+ #12 #455)
-#447 := (= #456 0::Int)
-#775 := (or #440 #461)
-#777 := (not #775)
-#564 := (or #434 #440)
-#771 := (not #564)
-#445 := (or #771 #777)
-#446 := (ite #445 #457 #447)
-#779 := (ite #778 #14 #446)
-#780 := (= #10 #12)
-#776 := (ite #781 #780 #779)
-#586 := (or #584 #776)
-#729 := (iff #586 #585)
-#731 := (iff #585 #585)
-#725 := [rewrite]: #731
-#737 := (iff #776 #749)
-#432 := (* -1::Int #12)
-#437 := (+ f5 #432)
-#773 := (+ f4 #437)
-#433 := (= #773 0::Int)
-#740 := (ite false #433 #749)
-#741 := (iff #740 #749)
-#742 := [rewrite]: #741
-#735 := (iff #776 #740)
-#738 := (iff #779 #749)
-#748 := (iff #446 #744)
-#747 := (iff #447 #746)
-#467 := (= #456 #466)
-#755 := (= #455 #751)
-#753 := (= #454 #752)
-#475 := [rewrite]: #753
-#465 := [monotonicity #475 #754]: #755
-#468 := [monotonicity #465]: #467
-#462 := [monotonicity #468]: #747
-#480 := (iff #445 #479)
-#756 := (iff #777 #770)
-#769 := (iff #775 #461)
-#403 := (or false #461)
-#408 := (iff #403 #461)
-#409 := [rewrite]: #408
-#766 := (iff #775 #403)
-#768 := [monotonicity #421]: #766
-#767 := [trans #768 #409]: #769
-#757 := [monotonicity #767]: #756
-#759 := (iff #771 #764)
-#762 := (iff #564 #434)
-#422 := (or #434 false)
-#760 := (iff #422 #434)
-#761 := [rewrite]: #760
-#423 := (iff #564 #422)
-#424 := [monotonicity #421]: #423
-#763 := [trans #424 #761]: #762
-#765 := [monotonicity #763]: #759
-#481 := [monotonicity #765 #757]: #480
-#745 := [monotonicity #481 #462]: #748
-#739 := [monotonicity #745]: #738
-#774 := (iff #780 #433)
-#417 := [rewrite]: #774
-#736 := [monotonicity #772 #417 #739]: #735
-#743 := [trans #736 #742]: #737
-#730 := [monotonicity #743]: #729
-#726 := [trans #730 #725]: #729
-#728 := [quant-inst #10 #11]: #586
-#732 := [mp #728 #726]: #585
-#1242 := [unit-resolution #732 #796]: #749
-#616 := (not #749)
-#620 := (or #616 #778 #744)
-#621 := [def-axiom]: #620
-#1244 := [unit-resolution #621 #1242]: #1243
-#1245 := [unit-resolution #1244 #802]: #744
-#809 := (or #479 #778)
-#565 := (not #479)
-#803 := [hypothesis]: #565
-#733 := (or #479 #434)
-#727 := [def-axiom]: #733
-#804 := [unit-resolution #727 #803]: #434
-#734 := (or #479 #461)
-#563 := [def-axiom]: #734
-#805 := [unit-resolution #563 #803]: #461
-#806 := (or #778 #764 #770)
-#807 := [th-lemma arith triangle-eq]: #806
-#808 := [unit-resolution #807 #805 #804 #802]: false
-#810 := [lemma #808]: #809
-#1279 := [unit-resolution #810 #802]: #479
-#724 := (not #744)
-#606 := (or #724 #565 #457)
-#607 := [def-axiom]: #606
-#1280 := [unit-resolution #607 #1279 #1245 #1225]: false
-#1282 := [lemma #1280]: #1281
-#1352 := [unit-resolution #1282 #1351]: #778
-#1353 := (or #618 #461)
-#1354 := [th-lemma arith triangle-eq]: #1353
-#1355 := [unit-resolution #1354 #1352]: #461
-#1356 := (or #618 #434)
-#1357 := [th-lemma arith triangle-eq]: #1356
-#1358 := [unit-resolution #1357 #1352]: #434
-#1346 := (or #577 #770 #764)
-#1295 := [hypothesis]: #434
-#1327 := (or #526 #764 #701)
-#1005 := [hypothesis]: #670
-#1289 := [hypothesis]: #578
-#1291 := [th-lemma arith farkas -1 1 1 #1295 #1289 #1005]: false
-#1328 := [lemma #1291]: #1327
-#1342 := [unit-resolution #1328 #1209 #1295]: #701
-#1343 := [unit-resolution #864 #1043]: #659
-#1344 := [unit-resolution #1343 #1342]: #669
-#1290 := [hypothesis]: #461
-#1345 := [th-lemma arith farkas -1 1 1 #1290 #1344 #1229]: false
-#1347 := [lemma #1345]: #1346
-#1359 := [unit-resolution #1347 #1358 #1355]: #577
-#1360 := [unit-resolution #1255 #1359]: #954
-#1361 := (or #1103 #1260)
-#1302 := [hypothesis]: #1140
-#1308 := [unit-resolution #1258 #72 #1302]: false
-#1321 := [lemma #1308]: #1141
-#1362 := [unit-resolution #1262 #1321]: #1361
-#1363 := [unit-resolution #1362 #1360]: #1103
-#1303 := (+ #698 #1171)
-#1326 := (+ #575 #1303)
-#1335 := (+ #16 #1326)
-#1336 := (+ f5 #1335)
-#1337 := (+ f4 #1336)
-#1338 := (>= #1337 2::Int)
-#1329 := (not #1338)
-#1330 := (or #1329 #764)
-#1294 := [unit-resolution #1163 #1278]: #1132
-#1310 := [hypothesis]: #1338
-#1309 := [th-lemma arith farkas 2 -1 -1 -1 -1 -1 1 #1310 #1295 #1166 #982 #970 #1294 #1151]: false
-#1331 := [lemma #1309]: #1330
-#1364 := [unit-resolution #1331 #1358]: #1329
-#1365 := [unit-resolution #1252 #1359]: #955
-#1340 := (or #1192 #1338 #770 #1104)
-#1332 := [unit-resolution #1248 #1278]: #1224
-#1325 := [th-lemma arith #1290 #1153 #1189 #1236 #998 #995 #1332]: #1338
-#1324 := [hypothesis]: #1329
-#1339 := [unit-resolution #1324 #1325]: false
-#1341 := [lemma #1339]: #1340
-#1366 := [unit-resolution #1341 #1365 #1355 #1364]: #1104
-[unit-resolution #1270 #1366 #1363]: false
+#1287 := [unit-resolution #614 #1286 #1252 #1232]: false
+#1289 := [lemma #1287]: #1288
+#1359 := [unit-resolution #1289 #1358]: #785
+#1360 := (or #625 #468)
+#1361 := [th-lemma arith triangle-eq]: #1360
+#1362 := [unit-resolution #1361 #1359]: #468
+#1363 := (or #625 #441)
+#1364 := [th-lemma arith triangle-eq]: #1363
+#1365 := [unit-resolution #1364 #1359]: #441
+#1353 := (or #584 #777 #771)
+#1302 := [hypothesis]: #441
+#1334 := (or #533 #771 #708)
+#1012 := [hypothesis]: #677
+#1296 := [hypothesis]: #585
+#1298 := [th-lemma arith farkas -1 1 1 #1302 #1296 #1012]: false
+#1335 := [lemma #1298]: #1334
+#1349 := [unit-resolution #1335 #1216 #1302]: #708
+#1350 := [unit-resolution #871 #1050]: #666
+#1351 := [unit-resolution #1350 #1349]: #676
+#1297 := [hypothesis]: #468
+#1352 := [th-lemma arith farkas -1 1 1 #1297 #1351 #1236]: false
+#1354 := [lemma #1352]: #1353
+#1366 := [unit-resolution #1354 #1365 #1362]: #584
+#1367 := [unit-resolution #1262 #1366]: #961
+#1368 := (or #1110 #1267)
+#1309 := [hypothesis]: #1147
+#1315 := [unit-resolution #1265 #79 #1309]: false
+#1328 := [lemma #1315]: #1148
+#1369 := [unit-resolution #1269 #1328]: #1368
+#1370 := [unit-resolution #1369 #1367]: #1110
+#1310 := (+ #705 #1178)
+#1333 := (+ #582 #1310)
+#1342 := (+ #19 #1333)
+#1343 := (+ f7 #1342)
+#1344 := (+ f6 #1343)
+#1345 := (>= #1344 2::Int)
+#1336 := (not #1345)
+#1337 := (or #1336 #771)
+#1301 := [unit-resolution #1170 #1285]: #1139
+#1317 := [hypothesis]: #1345
+#1316 := [th-lemma arith farkas 2 -1 -1 -1 -1 -1 1 #1317 #1302 #1173 #989 #977 #1301 #1158]: false
+#1338 := [lemma #1316]: #1337
+#1371 := [unit-resolution #1338 #1365]: #1336
+#1372 := [unit-resolution #1259 #1366]: #962
+#1347 := (or #1199 #1345 #777 #1111)
+#1339 := [unit-resolution #1255 #1285]: #1231
+#1332 := [th-lemma arith #1297 #1160 #1196 #1243 #1005 #1002 #1339]: #1345
+#1331 := [hypothesis]: #1336
+#1346 := [unit-resolution #1331 #1332]: false
+#1348 := [lemma #1346]: #1347
+#1373 := [unit-resolution #1348 #1372 #1362 #1371]: #1111
+[unit-resolution #1277 #1373 #1370]: false
 unsat
 c04d38458726eb1b2cafd52bd3881d6f8160666f 24 0
 #2 := false
@@ -10831,2456 +10863,2497 @@
 #53 := [asserted]: #33
 [mp #53 #158]: false
 unsat
-13d222fc57300189e3c05b2df538ad53757b2feb 257 0
-#2 := false
-#23 := 0::Int
-decl f4 :: (-> S2 Int)
-decl f3 :: (-> Int S2)
-decl f5 :: S2
-#9 := f5
-#10 := (f4 f5)
-#8 := 2::Int
-#11 := (* 2::Int #10)
-#12 := (f3 #11)
-#306 := (f4 #12)
-#308 := -1::Int
-#287 := (* -1::Int #306)
-#623 := (+ #11 #287)
-#607 := (<= #623 0::Int)
-#625 := (= #623 0::Int)
-#619 := (>= #10 0::Int)
-#250 := (= #306 0::Int)
-#562 := (not #250)
-#601 := (<= #306 0::Int)
-#470 := (not #601)
-#13 := 1::Int
-#571 := (>= #306 1::Int)
-#568 := (= #306 1::Int)
-#14 := (f3 1::Int)
-#602 := (f4 #14)
-#314 := (= #602 1::Int)
-#24 := (:var 0 Int)
-#26 := (f3 #24)
-#639 := (pattern #26)
-#84 := (>= #24 0::Int)
-#85 := (not #84)
-#27 := (f4 #26)
-#66 := (= #24 #27)
-#91 := (or #66 #85)
-#640 := (forall (vars (?v0 Int)) (:pat #639) #91)
-#96 := (forall (vars (?v0 Int)) #91)
-#643 := (iff #96 #640)
-#641 := (iff #91 #91)
-#642 := [refl]: #641
-#644 := [quant-intro #642]: #643
-#148 := (~ #96 #96)
-#147 := (~ #91 #91)
-#144 := [refl]: #147
-#149 := [nnf-pos #144]: #148
-#28 := (= #27 #24)
-#25 := (<= 0::Int #24)
-#29 := (implies #25 #28)
-#30 := (forall (vars (?v0 Int)) #29)
-#99 := (iff #30 #96)
-#73 := (not #25)
-#74 := (or #73 #66)
-#79 := (forall (vars (?v0 Int)) #74)
-#97 := (iff #79 #96)
-#94 := (iff #74 #91)
-#88 := (or #85 #66)
-#92 := (iff #88 #91)
-#93 := [rewrite]: #92
-#89 := (iff #74 #88)
-#86 := (iff #73 #85)
-#82 := (iff #25 #84)
-#83 := [rewrite]: #82
-#87 := [monotonicity #83]: #86
-#90 := [monotonicity #87]: #89
-#95 := [trans #90 #93]: #94
-#98 := [quant-intro #95]: #97
-#80 := (iff #30 #79)
-#77 := (iff #29 #74)
-#70 := (implies #25 #66)
-#75 := (iff #70 #74)
-#76 := [rewrite]: #75
-#71 := (iff #29 #70)
-#68 := (iff #28 #66)
-#69 := [rewrite]: #68
-#72 := [monotonicity #69]: #71
-#78 := [trans #72 #76]: #77
-#81 := [quant-intro #78]: #80
-#100 := [trans #81 #98]: #99
-#65 := [asserted]: #30
-#101 := [mp #65 #100]: #96
-#145 := [mp~ #101 #149]: #96
-#645 := [mp #145 #644]: #640
-#622 := (not #640)
-#591 := (or #622 #314)
-#324 := (>= 1::Int 0::Int)
-#598 := (not #324)
-#599 := (= 1::Int #602)
-#603 := (or #599 #598)
-#432 := (or #622 #603)
-#434 := (iff #432 #591)
-#577 := (iff #591 #591)
-#578 := [rewrite]: #577
-#590 := (iff #603 #314)
-#587 := (or #314 false)
-#584 := (iff #587 #314)
-#589 := [rewrite]: #584
-#588 := (iff #603 #587)
-#597 := (iff #598 false)
-#1 := true
-#595 := (not true)
-#596 := (iff #595 false)
-#593 := [rewrite]: #596
-#309 := (iff #598 #595)
-#316 := (iff #324 true)
-#594 := [rewrite]: #316
-#592 := [monotonicity #594]: #309
-#586 := [trans #592 #593]: #597
-#313 := (iff #599 #314)
-#315 := [rewrite]: #313
-#583 := [monotonicity #315 #586]: #588
-#585 := [trans #583 #589]: #590
-#576 := [monotonicity #585]: #434
-#579 := [trans #576 #578]: #434
-#433 := [quant-inst #13]: #432
-#573 := [mp #433 #579]: #591
-#455 := [unit-resolution #573 #645]: #314
-#456 := (= #306 #602)
-#15 := (= #12 #14)
-#16 := (not #15)
-#17 := (not #16)
-#55 := (iff #17 #15)
-#56 := [rewrite]: #55
-#54 := [asserted]: #17
-#59 := [mp #54 #56]: #15
-#449 := [monotonicity #59]: #456
-#464 := [trans #449 #455]: #568
-#466 := (not #568)
-#467 := (or #466 #571)
-#460 := [th-lemma arith triangle-eq]: #467
-#468 := [unit-resolution #460 #464]: #571
-#469 := (not #571)
-#471 := (or #469 #470)
-#472 := [th-lemma arith farkas 1 1]: #471
-#565 := [unit-resolution #472 #468]: #470
-#566 := (or #562 #601)
-#553 := [th-lemma arith triangle-eq]: #566
-#555 := [unit-resolution #553 #565]: #562
-#616 := (or #250 #619)
-#32 := (= #27 0::Int)
-#132 := (or #32 #84)
-#646 := (forall (vars (?v0 Int)) (:pat #639) #132)
-#137 := (forall (vars (?v0 Int)) #132)
-#649 := (iff #137 #646)
-#647 := (iff #132 #132)
-#648 := [refl]: #647
-#650 := [quant-intro #648]: #649
-#150 := (~ #137 #137)
-#158 := (~ #132 #132)
-#159 := [refl]: #158
-#151 := [nnf-pos #159]: #150
-#31 := (< #24 0::Int)
-#33 := (implies #31 #32)
-#34 := (forall (vars (?v0 Int)) #33)
-#140 := (iff #34 #137)
-#103 := (= 0::Int #27)
-#109 := (not #31)
-#110 := (or #109 #103)
-#115 := (forall (vars (?v0 Int)) #110)
-#138 := (iff #115 #137)
-#135 := (iff #110 #132)
-#129 := (or #84 #32)
-#133 := (iff #129 #132)
-#134 := [rewrite]: #133
-#130 := (iff #110 #129)
-#127 := (iff #103 #32)
-#128 := [rewrite]: #127
-#125 := (iff #109 #84)
-#120 := (not #85)
-#123 := (iff #120 #84)
-#124 := [rewrite]: #123
-#121 := (iff #109 #120)
-#118 := (iff #31 #85)
-#119 := [rewrite]: #118
-#122 := [monotonicity #119]: #121
-#126 := [trans #122 #124]: #125
-#131 := [monotonicity #126 #128]: #130
-#136 := [trans #131 #134]: #135
-#139 := [quant-intro #136]: #138
-#116 := (iff #34 #115)
-#113 := (iff #33 #110)
-#106 := (implies #31 #103)
-#111 := (iff #106 #110)
-#112 := [rewrite]: #111
-#107 := (iff #33 #106)
-#104 := (iff #32 #103)
-#105 := [rewrite]: #104
-#108 := [monotonicity #105]: #107
-#114 := [trans #108 #112]: #113
-#117 := [quant-intro #114]: #116
-#141 := [trans #117 #139]: #140
-#102 := [asserted]: #34
-#142 := [mp #102 #141]: #137
-#160 := [mp~ #142 #151]: #137
-#651 := [mp #160 #650]: #646
-#617 := (not #646)
-#615 := (or #617 #250 #619)
-#217 := (>= #11 0::Int)
-#614 := (or #250 #217)
-#618 := (or #617 #614)
-#330 := (iff #618 #615)
-#605 := (or #617 #616)
-#328 := (iff #605 #615)
-#329 := [rewrite]: #328
-#312 := (iff #618 #605)
-#255 := (iff #614 #616)
-#292 := (iff #217 #619)
-#293 := [rewrite]: #292
-#256 := [monotonicity #293]: #255
-#327 := [monotonicity #256]: #312
-#223 := [trans #327 #329]: #330
-#604 := [quant-inst #11]: #618
-#600 := [mp #604 #223]: #615
-#547 := [unit-resolution #600 #651]: #616
-#544 := [unit-resolution #547 #555]: #619
-#626 := (not #619)
-#620 := (or #626 #625)
-#264 := (or #622 #626 #625)
-#302 := (not #217)
-#307 := (= #11 #306)
-#304 := (or #307 #302)
-#606 := (or #622 #304)
-#610 := (iff #606 #264)
-#269 := (or #622 #620)
-#608 := (iff #269 #264)
-#609 := [rewrite]: #608
-#270 := (iff #606 #269)
-#621 := (iff #304 #620)
-#629 := (or #625 #626)
-#279 := (iff #629 #620)
-#284 := [rewrite]: #279
-#624 := (iff #304 #629)
-#627 := (iff #302 #626)
-#628 := [monotonicity #293]: #627
-#281 := (iff #307 #625)
-#412 := [rewrite]: #281
-#630 := [monotonicity #412 #628]: #624
-#280 := [trans #630 #284]: #621
-#271 := [monotonicity #280]: #270
-#611 := [trans #271 #609]: #610
-#268 := [quant-inst #11]: #606
-#612 := [mp #268 #611]: #264
-#546 := [unit-resolution #612 #645]: #620
-#556 := [unit-resolution #546 #544]: #625
-#557 := (not #625)
-#558 := (or #557 #607)
-#554 := [th-lemma arith triangle-eq]: #558
-#559 := [unit-resolution #554 #556]: #607
-#613 := (>= #623 0::Int)
-#548 := (or #557 #613)
-#549 := [th-lemma arith triangle-eq]: #548
-#550 := [unit-resolution #549 #556]: #613
-#570 := (<= #306 1::Int)
-#551 := (or #466 #570)
-#545 := [th-lemma arith triangle-eq]: #551
-#552 := [unit-resolution #545 #464]: #570
-[th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 #468 #552 #550 #559]: false
-unsat
-a1e6530c70707193300160df3c867064030ce9e7 53 0
-#2 := false
-#73 := 4::Int
-decl f3 :: (-> S2 Int)
+33e2bdae82fc59f778e5db15565f1c50c2c2fee4 261 0
+#2 := false
+#25 := 0::Int
+decl f5 :: (-> S4 S3 Int)
+decl f3 :: (-> S2 Int S3)
+decl f7 :: S3
+#11 := f7
+decl f6 :: S4
+#10 := f6
+#12 := (f5 f6 f7)
+#9 := 2::Int
+#13 := (* 2::Int #12)
 decl f4 :: S2
 #8 := f4
-#9 := (f3 f4)
-#74 := (>= #9 4::Int)
-#75 := (not #74)
-#10 := 3::Int
-#64 := (>= #9 3::Int)
-#78 := (or #64 #75)
-#81 := (not #78)
-#14 := 7::Int
-#12 := 2::Int
-#13 := (* 2::Int #9)
-#15 := (< #13 7::Int)
-#11 := (< #9 3::Int)
-#16 := (implies #11 #15)
-#17 := (not #16)
-#84 := (iff #17 #81)
-#55 := (not #11)
-#56 := (or #55 #15)
-#59 := (not #56)
-#82 := (iff #59 #81)
-#79 := (iff #56 #78)
-#76 := (iff #15 #75)
-#77 := [rewrite]: #76
-#71 := (iff #55 #64)
-#62 := (not #64)
-#66 := (not #62)
-#69 := (iff #66 #64)
-#70 := [rewrite]: #69
-#67 := (iff #55 #66)
-#63 := (iff #11 #62)
-#65 := [rewrite]: #63
-#68 := [monotonicity #65]: #67
-#72 := [trans #68 #70]: #71
-#80 := [monotonicity #72 #77]: #79
-#83 := [monotonicity #80]: #82
-#60 := (iff #17 #59)
-#57 := (iff #16 #56)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#85 := [trans #61 #83]: #84
-#54 := [asserted]: #17
-#86 := [mp #54 #85]: #81
-#88 := [not-or-elim #86]: #74
-#87 := [not-or-elim #86]: #62
-#247 := (or #75 #64)
-#333 := [th-lemma arith farkas 1 1]: #247
-#248 := [unit-resolution #333 #87]: #75
-[unit-resolution #248 #88]: false
-unsat
-b291832954eed5d417dbf2b7700c405589802332 313 0
-#2 := false
-#8 := 0::Int
-decl f3 :: (-> S2 Int)
-decl f4 :: (-> Int S2)
-decl f5 :: S2
-#10 := f5
-#11 := (f3 f5)
-#9 := 1::Int
-#12 := (+ 1::Int #11)
-#13 := (f4 #12)
-#14 := (f3 #13)
-#59 := -1::Int
-#60 := (* -1::Int #11)
-#61 := (+ #60 #14)
-#64 := (f4 #61)
-#67 := (f3 #64)
-#324 := (* -1::Int #14)
-#625 := (+ #324 #67)
-#626 := (+ #11 #625)
-#613 := (>= #626 0::Int)
-#346 := (= #626 0::Int)
-#325 := (+ #11 #324)
-#341 := (<= #325 0::Int)
-#644 := (<= #325 -1::Int)
-#657 := (= #325 -1::Int)
-#660 := (>= #11 -1::Int)
-#491 := (>= #11 0::Int)
-#551 := (= #11 0::Int)
-#248 := (f4 #11)
-#499 := (f3 #248)
-#500 := (= #499 0::Int)
-#553 := (not #491)
-#554 := [hypothesis]: #553
-#502 := (or #491 #500)
+#14 := (f3 f4 #13)
+#308 := (f5 f6 #14)
+#310 := -1::Int
+#289 := (* -1::Int #308)
+#625 := (+ #13 #289)
+#609 := (<= #625 0::Int)
+#627 := (= #625 0::Int)
+#621 := (>= #12 0::Int)
+#252 := (= #308 0::Int)
+#564 := (not #252)
+#603 := (<= #308 0::Int)
+#472 := (not #603)
+#15 := 1::Int
+#573 := (>= #308 1::Int)
+#570 := (= #308 1::Int)
+#16 := (f3 f4 1::Int)
+#604 := (f5 f6 #16)
+#316 := (= #604 1::Int)
 #26 := (:var 0 Int)
-#28 := (f4 #26)
-#670 := (pattern #28)
-#115 := (>= #26 0::Int)
-#29 := (f3 #28)
-#34 := (= #29 0::Int)
-#164 := (or #34 #115)
-#677 := (forall (vars (?v0 Int)) (:pat #670) #164)
-#169 := (forall (vars (?v0 Int)) #164)
-#680 := (iff #169 #677)
-#678 := (iff #164 #164)
-#679 := [refl]: #678
-#681 := [quant-intro #679]: #680
-#182 := (~ #169 #169)
-#190 := (~ #164 #164)
-#191 := [refl]: #190
-#183 := [nnf-pos #191]: #182
-#33 := (< #26 0::Int)
-#35 := (implies #33 #34)
-#36 := (forall (vars (?v0 Int)) #35)
-#172 := (iff #36 #169)
-#135 := (= 0::Int #29)
-#141 := (not #33)
-#142 := (or #141 #135)
-#147 := (forall (vars (?v0 Int)) #142)
-#170 := (iff #147 #169)
-#167 := (iff #142 #164)
-#161 := (or #115 #34)
-#165 := (iff #161 #164)
-#166 := [rewrite]: #165
-#162 := (iff #142 #161)
-#159 := (iff #135 #34)
-#160 := [rewrite]: #159
-#157 := (iff #141 #115)
-#117 := (not #115)
-#152 := (not #117)
-#155 := (iff #152 #115)
-#156 := [rewrite]: #155
-#153 := (iff #141 #152)
-#150 := (iff #33 #117)
-#151 := [rewrite]: #150
-#154 := [monotonicity #151]: #153
-#158 := [trans #154 #156]: #157
-#163 := [monotonicity #158 #160]: #162
-#168 := [trans #163 #166]: #167
-#171 := [quant-intro #168]: #170
-#148 := (iff #36 #147)
-#145 := (iff #35 #142)
-#138 := (implies #33 #135)
-#143 := (iff #138 #142)
-#144 := [rewrite]: #143
-#139 := (iff #35 #138)
-#136 := (iff #34 #135)
-#137 := [rewrite]: #136
-#140 := [monotonicity #137]: #139
-#146 := [trans #140 #144]: #145
-#149 := [quant-intro #146]: #148
-#173 := [trans #149 #171]: #172
-#134 := [asserted]: #36
-#174 := [mp #134 #173]: #169
-#192 := [mp~ #174 #183]: #169
-#682 := [mp #192 #681]: #677
-#646 := (not #677)
-#593 := (or #646 #491 #500)
-#501 := (or #500 #491)
-#597 := (or #646 #501)
-#588 := (iff #597 #593)
-#586 := (or #646 #502)
-#577 := (iff #586 #593)
-#587 := [rewrite]: #577
-#578 := (iff #597 #586)
-#503 := (iff #501 #502)
-#596 := [rewrite]: #503
-#575 := [monotonicity #596]: #578
-#589 := [trans #575 #587]: #588
-#584 := [quant-inst #11]: #597
-#585 := [mp #584 #589]: #593
-#555 := [unit-resolution #585 #682]: #502
-#556 := [unit-resolution #555 #554]: #500
-#558 := (= #11 #499)
-#333 := (= f5 #248)
-#21 := (:var 0 S2)
-#22 := (f3 #21)
-#662 := (pattern #22)
-#23 := (f4 #22)
-#91 := (= #21 #23)
-#663 := (forall (vars (?v0 S2)) (:pat #662) #91)
-#94 := (forall (vars (?v0 S2)) #91)
-#664 := (iff #94 #663)
-#666 := (iff #663 #663)
-#667 := [rewrite]: #666
-#665 := [rewrite]: #664
-#668 := [trans #665 #667]: #664
-#188 := (~ #94 #94)
-#186 := (~ #91 #91)
-#187 := [refl]: #186
-#189 := [nnf-pos #187]: #188
-#24 := (= #23 #21)
-#25 := (forall (vars (?v0 S2)) #24)
-#95 := (iff #25 #94)
-#92 := (iff #24 #91)
-#93 := [rewrite]: #92
-#96 := [quant-intro #93]: #95
-#90 := [asserted]: #25
-#99 := [mp #90 #96]: #94
-#178 := [mp~ #99 #189]: #94
-#669 := [mp #178 #668]: #663
-#335 := (not #663)
-#326 := (or #335 #333)
-#337 := [quant-inst #10]: #326
-#557 := [unit-resolution #337 #669]: #333
-#548 := [monotonicity #557]: #558
-#559 := [trans #548 #556]: #551
-#537 := (not #551)
-#538 := (or #537 #491)
-#540 := [th-lemma arith triangle-eq]: #538
-#541 := [unit-resolution #540 #554 #559]: false
-#542 := [lemma #541]: #491
-#552 := (or #553 #660)
-#543 := [th-lemma arith farkas 1 1]: #552
-#544 := [unit-resolution #543 #542]: #660
-#651 := (not #660)
-#652 := (or #657 #651)
-#98 := (= #26 #29)
-#123 := (or #98 #117)
-#671 := (forall (vars (?v0 Int)) (:pat #670) #123)
-#128 := (forall (vars (?v0 Int)) #123)
-#674 := (iff #128 #671)
-#672 := (iff #123 #123)
-#673 := [refl]: #672
-#675 := [quant-intro #673]: #674
-#180 := (~ #128 #128)
-#179 := (~ #123 #123)
-#176 := [refl]: #179
-#181 := [nnf-pos #176]: #180
+#28 := (f3 f4 #26)
+#640 := (pattern #28)
+#86 := (>= #26 0::Int)
+#87 := (not #86)
+#29 := (f5 f6 #28)
+#68 := (= #26 #29)
+#93 := (or #68 #87)
+#641 := (forall (vars (?v0 Int)) (:pat #640) #93)
+#98 := (forall (vars (?v0 Int)) #93)
+#644 := (iff #98 #641)
+#642 := (iff #93 #93)
+#643 := [refl]: #642
+#645 := [quant-intro #643]: #644
+#150 := (~ #98 #98)
+#149 := (~ #93 #93)
+#146 := [refl]: #149
+#151 := [nnf-pos #146]: #150
 #30 := (= #29 #26)
 #27 := (<= 0::Int #26)
 #31 := (implies #27 #30)
 #32 := (forall (vars (?v0 Int)) #31)
-#131 := (iff #32 #128)
-#105 := (not #27)
-#106 := (or #105 #98)
-#111 := (forall (vars (?v0 Int)) #106)
-#129 := (iff #111 #128)
-#126 := (iff #106 #123)
-#120 := (or #117 #98)
-#124 := (iff #120 #123)
-#125 := [rewrite]: #124
-#121 := (iff #106 #120)
-#118 := (iff #105 #117)
-#114 := (iff #27 #115)
-#116 := [rewrite]: #114
-#119 := [monotonicity #116]: #118
-#122 := [monotonicity #119]: #121
-#127 := [trans #122 #125]: #126
-#130 := [quant-intro #127]: #129
-#112 := (iff #32 #111)
-#109 := (iff #31 #106)
-#102 := (implies #27 #98)
-#107 := (iff #102 #106)
-#108 := [rewrite]: #107
-#103 := (iff #31 #102)
-#100 := (iff #30 #98)
-#101 := [rewrite]: #100
-#104 := [monotonicity #101]: #103
-#110 := [trans #104 #108]: #109
-#113 := [quant-intro #110]: #112
-#132 := [trans #113 #130]: #131
-#97 := [asserted]: #32
-#133 := [mp #97 #132]: #128
-#177 := [mp~ #133 #181]: #128
-#676 := [mp #177 #675]: #671
-#296 := (not #671)
-#637 := (or #296 #657 #651)
-#319 := (>= #12 0::Int)
-#654 := (not #319)
-#443 := (= #12 #14)
-#650 := (or #443 #654)
-#300 := (or #296 #650)
-#642 := (iff #300 #637)
-#302 := (or #296 #652)
-#640 := (iff #302 #637)
-#641 := [rewrite]: #640
-#303 := (iff #300 #302)
-#312 := (iff #650 #652)
-#311 := (iff #654 #651)
-#655 := (iff #319 #660)
-#661 := [rewrite]: #655
-#316 := [monotonicity #661]: #311
-#658 := (iff #443 #657)
-#659 := [rewrite]: #658
-#653 := [monotonicity #659 #316]: #312
-#639 := [monotonicity #653]: #303
-#643 := [trans #639 #641]: #642
-#301 := [quant-inst #12]: #300
-#638 := [mp #301 #643]: #637
-#539 := [unit-resolution #638 #676]: #652
-#545 := [unit-resolution #539 #544]: #657
-#531 := (not #657)
-#527 := (or #531 #644)
-#528 := [th-lemma arith triangle-eq]: #527
-#529 := [unit-resolution #528 #545]: #644
-#532 := (not #644)
-#533 := (or #532 #341)
-#534 := [th-lemma arith farkas 1 1]: #533
-#535 := [unit-resolution #534 #529]: #341
-#624 := (not #341)
-#615 := (or #624 #346)
-#463 := (or #296 #624 #346)
-#633 := (>= #61 0::Int)
-#630 := (not #633)
-#634 := (= #61 #67)
-#344 := (or #634 #630)
-#464 := (or #296 #344)
-#605 := (iff #464 #463)
-#607 := (or #296 #615)
-#610 := (iff #607 #463)
-#604 := [rewrite]: #610
-#608 := (iff #464 #607)
-#616 := (iff #344 #615)
-#618 := (or #346 #624)
-#620 := (iff #618 #615)
-#621 := [rewrite]: #620
-#619 := (iff #344 #618)
-#628 := (iff #630 #624)
-#623 := (iff #633 #341)
-#627 := [rewrite]: #623
-#617 := [monotonicity #627]: #628
-#345 := (iff #634 #346)
-#347 := [rewrite]: #345
-#614 := [monotonicity #347 #617]: #619
-#622 := [trans #614 #621]: #616
-#609 := [monotonicity #622]: #608
-#611 := [trans #609 #604]: #605
-#465 := [quant-inst #61]: #464
-#612 := [mp #465 #611]: #463
-#530 := [unit-resolution #612 #676]: #615
-#536 := [unit-resolution #530 #535]: #346
-#509 := (not #346)
-#510 := (or #509 #613)
-#511 := [th-lemma arith triangle-eq]: #510
-#404 := [unit-resolution #511 #536]: #613
-#76 := (<= #67 0::Int)
-#16 := (- #14 #11)
-#17 := (f4 #16)
-#18 := (f3 #17)
-#15 := (* 0::Int #14)
-#19 := (< #15 #18)
-#20 := (not #19)
-#87 := (iff #20 #76)
-#70 := (< 0::Int #67)
-#73 := (not #70)
-#85 := (iff #73 #76)
+#101 := (iff #32 #98)
+#75 := (not #27)
+#76 := (or #75 #68)
+#81 := (forall (vars (?v0 Int)) #76)
+#99 := (iff #81 #98)
+#96 := (iff #76 #93)
+#90 := (or #87 #68)
+#94 := (iff #90 #93)
+#95 := [rewrite]: #94
+#91 := (iff #76 #90)
+#88 := (iff #75 #87)
+#84 := (iff #27 #86)
+#85 := [rewrite]: #84
+#89 := [monotonicity #85]: #88
+#92 := [monotonicity #89]: #91
+#97 := [trans #92 #95]: #96
+#100 := [quant-intro #97]: #99
+#82 := (iff #32 #81)
+#79 := (iff #31 #76)
+#72 := (implies #27 #68)
+#77 := (iff #72 #76)
+#78 := [rewrite]: #77
+#73 := (iff #31 #72)
+#70 := (iff #30 #68)
+#71 := [rewrite]: #70
+#74 := [monotonicity #71]: #73
+#80 := [trans #74 #78]: #79
+#83 := [quant-intro #80]: #82
+#102 := [trans #83 #100]: #101
+#67 := [asserted]: #32
+#103 := [mp #67 #102]: #98
+#147 := [mp~ #103 #151]: #98
+#646 := [mp #147 #645]: #641
+#624 := (not #641)
+#593 := (or #624 #316)
+#326 := (>= 1::Int 0::Int)
+#600 := (not #326)
+#601 := (= 1::Int #604)
+#605 := (or #601 #600)
+#434 := (or #624 #605)
+#436 := (iff #434 #593)
+#579 := (iff #593 #593)
+#580 := [rewrite]: #579
+#592 := (iff #605 #316)
+#589 := (or #316 false)
+#586 := (iff #589 #316)
+#591 := [rewrite]: #586
+#590 := (iff #605 #589)
+#599 := (iff #600 false)
+#1 := true
+#597 := (not true)
+#598 := (iff #597 false)
+#595 := [rewrite]: #598
+#311 := (iff #600 #597)
+#318 := (iff #326 true)
+#596 := [rewrite]: #318
+#594 := [monotonicity #596]: #311
+#588 := [trans #594 #595]: #599
+#315 := (iff #601 #316)
+#317 := [rewrite]: #315
+#585 := [monotonicity #317 #588]: #590
+#587 := [trans #585 #591]: #592
+#578 := [monotonicity #587]: #436
+#581 := [trans #578 #580]: #436
+#435 := [quant-inst #15]: #434
+#575 := [mp #435 #581]: #593
+#457 := [unit-resolution #575 #646]: #316
+#458 := (= #308 #604)
+#17 := (= #14 #16)
+#18 := (not #17)
+#19 := (not #18)
+#57 := (iff #19 #17)
+#58 := [rewrite]: #57
+#56 := [asserted]: #19
+#61 := [mp #56 #58]: #17
+#451 := [monotonicity #61]: #458
+#466 := [trans #451 #457]: #570
+#468 := (not #570)
+#469 := (or #468 #573)
+#462 := [th-lemma arith triangle-eq]: #469
+#470 := [unit-resolution #462 #466]: #573
+#471 := (not #573)
+#473 := (or #471 #472)
+#474 := [th-lemma arith farkas 1 1]: #473
+#567 := [unit-resolution #474 #470]: #472
+#568 := (or #564 #603)
+#555 := [th-lemma arith triangle-eq]: #568
+#557 := [unit-resolution #555 #567]: #564
+#618 := (or #252 #621)
+#34 := (= #29 0::Int)
+#134 := (or #34 #86)
+#647 := (forall (vars (?v0 Int)) (:pat #640) #134)
+#139 := (forall (vars (?v0 Int)) #134)
+#650 := (iff #139 #647)
+#648 := (iff #134 #134)
+#649 := [refl]: #648
+#651 := [quant-intro #649]: #650
+#152 := (~ #139 #139)
+#160 := (~ #134 #134)
+#161 := [refl]: #160
+#153 := [nnf-pos #161]: #152
+#33 := (< #26 0::Int)
+#35 := (implies #33 #34)
+#36 := (forall (vars (?v0 Int)) #35)
+#142 := (iff #36 #139)
+#105 := (= 0::Int #29)
+#111 := (not #33)
+#112 := (or #111 #105)
+#117 := (forall (vars (?v0 Int)) #112)
+#140 := (iff #117 #139)
+#137 := (iff #112 #134)
+#131 := (or #86 #34)
+#135 := (iff #131 #134)
+#136 := [rewrite]: #135
+#132 := (iff #112 #131)
+#129 := (iff #105 #34)
+#130 := [rewrite]: #129
+#127 := (iff #111 #86)
+#122 := (not #87)
+#125 := (iff #122 #86)
+#126 := [rewrite]: #125
+#123 := (iff #111 #122)
+#120 := (iff #33 #87)
+#121 := [rewrite]: #120
+#124 := [monotonicity #121]: #123
+#128 := [trans #124 #126]: #127
+#133 := [monotonicity #128 #130]: #132
+#138 := [trans #133 #136]: #137
+#141 := [quant-intro #138]: #140
+#118 := (iff #36 #117)
+#115 := (iff #35 #112)
+#108 := (implies #33 #105)
+#113 := (iff #108 #112)
+#114 := [rewrite]: #113
+#109 := (iff #35 #108)
+#106 := (iff #34 #105)
+#107 := [rewrite]: #106
+#110 := [monotonicity #107]: #109
+#116 := [trans #110 #114]: #115
+#119 := [quant-intro #116]: #118
+#143 := [trans #119 #141]: #142
+#104 := [asserted]: #36
+#144 := [mp #104 #143]: #139
+#162 := [mp~ #144 #153]: #139
+#652 := [mp #162 #651]: #647
+#619 := (not #647)
+#617 := (or #619 #252 #621)
+#219 := (>= #13 0::Int)
+#616 := (or #252 #219)
+#620 := (or #619 #616)
+#332 := (iff #620 #617)
+#607 := (or #619 #618)
+#330 := (iff #607 #617)
+#331 := [rewrite]: #330
+#314 := (iff #620 #607)
+#257 := (iff #616 #618)
+#294 := (iff #219 #621)
+#295 := [rewrite]: #294
+#258 := [monotonicity #295]: #257
+#329 := [monotonicity #258]: #314
+#225 := [trans #329 #331]: #332
+#606 := [quant-inst #13]: #620
+#602 := [mp #606 #225]: #617
+#549 := [unit-resolution #602 #652]: #618
+#546 := [unit-resolution #549 #557]: #621
+#628 := (not #621)
+#622 := (or #628 #627)
+#266 := (or #624 #628 #627)
+#304 := (not #219)
+#309 := (= #13 #308)
+#306 := (or #309 #304)
+#608 := (or #624 #306)
+#612 := (iff #608 #266)
+#271 := (or #624 #622)
+#610 := (iff #271 #266)
+#611 := [rewrite]: #610
+#272 := (iff #608 #271)
+#623 := (iff #306 #622)
+#631 := (or #627 #628)
+#281 := (iff #631 #622)
+#286 := [rewrite]: #281
+#626 := (iff #306 #631)
+#629 := (iff #304 #628)
+#630 := [monotonicity #295]: #629
+#283 := (iff #309 #627)
+#414 := [rewrite]: #283
+#632 := [monotonicity #414 #630]: #626
+#282 := [trans #632 #286]: #623
+#273 := [monotonicity #282]: #272
+#613 := [trans #273 #611]: #612
+#270 := [quant-inst #13]: #608
+#614 := [mp #270 #613]: #266
+#548 := [unit-resolution #614 #646]: #622
+#558 := [unit-resolution #548 #546]: #627
+#559 := (not #627)
+#560 := (or #559 #609)
+#556 := [th-lemma arith triangle-eq]: #560
+#561 := [unit-resolution #556 #558]: #609
+#615 := (>= #625 0::Int)
+#550 := (or #559 #615)
+#551 := [th-lemma arith triangle-eq]: #550
+#552 := [unit-resolution #551 #558]: #615
+#572 := (<= #308 1::Int)
+#553 := (or #468 #572)
+#547 := [th-lemma arith triangle-eq]: #553
+#554 := [unit-resolution #547 #466]: #572
+[th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 #470 #554 #552 #561]: false
+unsat
+d558048bb276c46209081d2fdff3fd787837bb57 55 0
+#2 := false
+#75 := 4::Int
+decl f3 :: (-> S2 S3 Int)
+decl f5 :: S3
+#9 := f5
+decl f4 :: S2
+#8 := f4
+#10 := (f3 f4 f5)
+#76 := (>= #10 4::Int)
 #77 := (not #76)
-#80 := (not #77)
-#83 := (iff #80 #76)
-#84 := [rewrite]: #83
-#81 := (iff #73 #80)
-#78 := (iff #70 #77)
+#11 := 3::Int
+#66 := (>= #10 3::Int)
+#80 := (or #66 #77)
+#83 := (not #80)
+#15 := 7::Int
+#13 := 2::Int
+#14 := (* 2::Int #10)
+#16 := (< #14 7::Int)
+#12 := (< #10 3::Int)
+#17 := (implies #12 #16)
+#18 := (not #17)
+#86 := (iff #18 #83)
+#57 := (not #12)
+#58 := (or #57 #16)
+#61 := (not #58)
+#84 := (iff #61 #83)
+#81 := (iff #58 #80)
+#78 := (iff #16 #77)
 #79 := [rewrite]: #78
-#82 := [monotonicity #79]: #81
-#86 := [trans #82 #84]: #85
-#74 := (iff #20 #73)
-#71 := (iff #19 #70)
-#68 := (= #18 #67)
-#65 := (= #17 #64)
-#62 := (= #16 #61)
-#63 := [rewrite]: #62
-#66 := [monotonicity #63]: #65
-#69 := [monotonicity #66]: #68
-#57 := (= #15 0::Int)
-#58 := [rewrite]: #57
-#72 := [monotonicity #58 #69]: #71
-#75 := [monotonicity #72]: #74
-#88 := [trans #75 #86]: #87
-#56 := [asserted]: #20
-#89 := [mp #56 #88]: #76
-[th-lemma arith farkas -1 -1 1 #89 #529 #404]: false
-unsat
-2468012bc8708b2ac313d9120ee323168ff0a853 322 0
+#73 := (iff #57 #66)
+#64 := (not #66)
+#68 := (not #64)
+#71 := (iff #68 #66)
+#72 := [rewrite]: #71
+#69 := (iff #57 #68)
+#65 := (iff #12 #64)
+#67 := [rewrite]: #65
+#70 := [monotonicity #67]: #69
+#74 := [trans #70 #72]: #73
+#82 := [monotonicity #74 #79]: #81
+#85 := [monotonicity #82]: #84
+#62 := (iff #18 #61)
+#59 := (iff #17 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#87 := [trans #63 #85]: #86
+#56 := [asserted]: #18
+#88 := [mp #56 #87]: #83
+#90 := [not-or-elim #88]: #76
+#89 := [not-or-elim #88]: #64
+#249 := (or #77 #66)
+#335 := [th-lemma arith farkas 1 1]: #249
+#250 := [unit-resolution #335 #89]: #77
+[unit-resolution #250 #90]: false
+unsat
+8932fefe7cf3366bddd35470f58d0b1fde78bc6e 316 0
 #2 := false
 #8 := 0::Int
-decl f3 :: (-> S2 Int)
-decl f4 :: (-> Int S2)
-decl f5 :: S2
-#10 := f5
-#11 := (f3 f5)
-#9 := 1::Int
-#12 := (+ 1::Int #11)
-#13 := (f4 #12)
-#14 := (f3 #13)
-#64 := -1::Int
-#65 := (+ -1::Int #14)
-#68 := (f4 #65)
-#317 := (f3 #68)
-#702 := (* -1::Int #317)
-#566 := (+ #11 #702)
-#560 := (>= #566 0::Int)
-#564 := (= #11 #317)
-#74 := (= f5 #68)
-#110 := (<= #14 0::Int)
-#111 := (not #110)
-#117 := (iff #74 #111)
-#132 := (not #117)
-#244 := (iff #132 #74)
-#234 := (not #74)
-#239 := (not #234)
-#242 := (iff #239 #74)
-#243 := [rewrite]: #242
-#240 := (iff #132 #239)
-#237 := (iff #117 #234)
-#231 := (iff #74 false)
-#235 := (iff #231 #234)
-#236 := [rewrite]: #235
-#232 := (iff #117 #231)
-#229 := (iff #111 false)
-#1 := true
-#224 := (not true)
-#227 := (iff #224 false)
-#228 := [rewrite]: #227
-#225 := (iff #111 #224)
-#222 := (iff #110 true)
-#122 := (or #111 #117)
-#125 := (not #122)
-#15 := (< 0::Int #14)
-#16 := (ite #15 true false)
-#21 := (not #16)
-#22 := (implies #21 false)
-#17 := (- #14 1::Int)
-#18 := (f4 #17)
-#19 := (= #18 f5)
-#20 := (iff #16 #19)
-#23 := (or #20 #22)
-#24 := (or false #23)
-#25 := (not #24)
-#128 := (iff #25 #125)
-#79 := (iff #15 #74)
-#95 := (or #15 #79)
-#107 := (not #95)
-#126 := (iff #107 #125)
-#123 := (iff #95 #122)
-#120 := (iff #79 #117)
-#114 := (iff #111 #74)
-#118 := (iff #114 #117)
-#119 := [rewrite]: #118
-#115 := (iff #79 #114)
-#112 := (iff #15 #111)
-#113 := [rewrite]: #112
-#116 := [monotonicity #113]: #115
-#121 := [trans #116 #119]: #120
-#124 := [monotonicity #113 #121]: #123
-#127 := [monotonicity #124]: #126
-#108 := (iff #25 #107)
-#105 := (iff #24 #95)
-#100 := (or false #95)
-#103 := (iff #100 #95)
-#104 := [rewrite]: #103
-#101 := (iff #24 #100)
-#98 := (iff #23 #95)
-#92 := (or #79 #15)
-#96 := (iff #92 #95)
-#97 := [rewrite]: #96
-#93 := (iff #23 #92)
-#90 := (iff #22 #15)
-#82 := (not #15)
-#85 := (implies #82 false)
-#88 := (iff #85 #15)
-#89 := [rewrite]: #88
-#86 := (iff #22 #85)
-#83 := (iff #21 #82)
-#62 := (iff #16 #15)
-#63 := [rewrite]: #62
-#84 := [monotonicity #63]: #83
-#87 := [monotonicity #84]: #86
-#91 := [trans #87 #89]: #90
-#80 := (iff #20 #79)
-#77 := (iff #19 #74)
-#71 := (= #68 f5)
-#75 := (iff #71 #74)
-#76 := [rewrite]: #75
-#72 := (iff #19 #71)
-#69 := (= #18 #68)
-#66 := (= #17 #65)
-#67 := [rewrite]: #66
-#70 := [monotonicity #67]: #69
-#73 := [monotonicity #70]: #72
-#78 := [trans #73 #76]: #77
-#81 := [monotonicity #63 #78]: #80
-#94 := [monotonicity #81 #91]: #93
-#99 := [trans #94 #97]: #98
-#102 := [monotonicity #99]: #101
-#106 := [trans #102 #104]: #105
-#109 := [monotonicity #106]: #108
-#129 := [trans #109 #127]: #128
-#61 := [asserted]: #25
-#130 := [mp #61 #129]: #125
-#131 := [not-or-elim #130]: #110
-#223 := [iff-true #131]: #222
-#226 := [monotonicity #223]: #225
-#230 := [trans #226 #228]: #229
-#233 := [monotonicity #230]: #232
-#238 := [trans #233 #236]: #237
-#241 := [monotonicity #238]: #240
-#245 := [trans #241 #243]: #244
-#133 := [not-or-elim #130]: #132
-#246 := [mp #133 #245]: #74
-#571 := [monotonicity #246]: #564
-#572 := (not #564)
-#644 := (or #572 #560)
-#646 := [th-lemma arith triangle-eq]: #644
-#656 := [unit-resolution #646 #571]: #560
-#382 := (* -1::Int #14)
-#512 := (+ #11 #382)
-#711 := (<= #512 -1::Int)
-#719 := (= #512 -1::Int)
-#726 := (>= #11 -1::Int)
-#549 := (>= #317 0::Int)
-#680 := (= #317 0::Int)
-#415 := (>= #14 1::Int)
-#695 := (not #415)
-#657 := (or #695 #111)
-#658 := [th-lemma arith farkas 1 1]: #657
-#654 := [unit-resolution #658 #131]: #695
-#31 := (:var 0 Int)
-#33 := (f4 #31)
-#739 := (pattern #33)
-#159 := (>= #31 0::Int)
-#34 := (f3 #33)
-#39 := (= #34 0::Int)
-#208 := (or #39 #159)
-#746 := (forall (vars (?v0 Int)) (:pat #739) #208)
-#213 := (forall (vars (?v0 Int)) #208)
-#749 := (iff #213 #746)
-#747 := (iff #208 #208)
-#748 := [refl]: #747
-#750 := [quant-intro #748]: #749
-#257 := (~ #213 #213)
-#255 := (~ #208 #208)
-#256 := [refl]: #255
-#258 := [nnf-pos #256]: #257
-#38 := (< #31 0::Int)
-#40 := (implies #38 #39)
-#41 := (forall (vars (?v0 Int)) #40)
-#216 := (iff #41 #213)
-#179 := (= 0::Int #34)
-#185 := (not #38)
-#186 := (or #185 #179)
-#191 := (forall (vars (?v0 Int)) #186)
-#214 := (iff #191 #213)
-#211 := (iff #186 #208)
-#205 := (or #159 #39)
-#209 := (iff #205 #208)
-#210 := [rewrite]: #209
-#206 := (iff #186 #205)
-#203 := (iff #179 #39)
-#204 := [rewrite]: #203
-#201 := (iff #185 #159)
-#161 := (not #159)
-#196 := (not #161)
-#199 := (iff #196 #159)
-#200 := [rewrite]: #199
-#197 := (iff #185 #196)
-#194 := (iff #38 #161)
-#195 := [rewrite]: #194
-#198 := [monotonicity #195]: #197
-#202 := [trans #198 #200]: #201
-#207 := [monotonicity #202 #204]: #206
-#212 := [trans #207 #210]: #211
-#215 := [quant-intro #212]: #214
-#192 := (iff #41 #191)
-#189 := (iff #40 #186)
-#182 := (implies #38 #179)
-#187 := (iff #182 #186)
-#188 := [rewrite]: #187
-#183 := (iff #40 #182)
-#180 := (iff #39 #179)
-#181 := [rewrite]: #180
-#184 := [monotonicity #181]: #183
-#190 := [trans #184 #188]: #189
-#193 := [quant-intro #190]: #192
-#217 := [trans #193 #215]: #216
-#178 := [asserted]: #41
-#218 := [mp #178 #217]: #213
-#259 := [mp~ #218 #258]: #213
-#751 := [mp #259 #750]: #746
-#356 := (not #746)
-#671 := (or #356 #415 #680)
-#701 := (>= #65 0::Int)
-#681 := (or #680 #701)
-#669 := (or #356 #681)
-#565 := (iff #669 #671)
-#513 := (or #415 #680)
-#554 := (or #356 #513)
-#515 := (iff #554 #671)
-#663 := [rewrite]: #515
-#555 := (iff #669 #554)
-#668 := (iff #681 #513)
-#675 := (or #680 #415)
-#514 := (iff #675 #513)
-#667 := [rewrite]: #514
-#682 := (iff #681 #675)
-#416 := (iff #701 #415)
-#694 := [rewrite]: #416
-#511 := [monotonicity #694]: #682
-#670 := [trans #511 #667]: #668
-#556 := [monotonicity #670]: #555
-#660 := [trans #556 #663]: #565
-#672 := [quant-inst #65]: #669
-#661 := [mp #672 #660]: #671
-#659 := [unit-resolution #661 #751 #654]: #680
-#648 := (not #680)
-#649 := (or #648 #549)
-#650 := [th-lemma arith triangle-eq]: #649
-#651 := [unit-resolution #650 #659]: #549
-#652 := (not #560)
-#645 := (not #549)
-#636 := (or #726 #645 #652)
-#637 := [th-lemma arith assign-bounds 1 1]: #636
-#639 := [unit-resolution #637 #651 #656]: #726
-#729 := (not #726)
-#720 := (or #719 #729)
-#142 := (= #31 #34)
-#167 := (or #142 #161)
-#740 := (forall (vars (?v0 Int)) (:pat #739) #167)
-#172 := (forall (vars (?v0 Int)) #167)
-#743 := (iff #172 #740)
-#741 := (iff #167 #167)
-#742 := [refl]: #741
-#744 := [quant-intro #742]: #743
-#248 := (~ #172 #172)
-#250 := (~ #167 #167)
-#247 := [refl]: #250
-#220 := [nnf-pos #247]: #248
-#35 := (= #34 #31)
-#32 := (<= 0::Int #31)
-#36 := (implies #32 #35)
-#37 := (forall (vars (?v0 Int)) #36)
-#175 := (iff #37 #172)
-#149 := (not #32)
-#150 := (or #149 #142)
-#155 := (forall (vars (?v0 Int)) #150)
-#173 := (iff #155 #172)
-#170 := (iff #150 #167)
-#164 := (or #161 #142)
-#168 := (iff #164 #167)
-#169 := [rewrite]: #168
-#165 := (iff #150 #164)
-#162 := (iff #149 #161)
-#158 := (iff #32 #159)
-#160 := [rewrite]: #158
-#163 := [monotonicity #160]: #162
-#166 := [monotonicity #163]: #165
-#171 := [trans #166 #169]: #170
-#174 := [quant-intro #171]: #173
-#156 := (iff #37 #155)
-#153 := (iff #36 #150)
-#146 := (implies #32 #142)
-#151 := (iff #146 #150)
-#152 := [rewrite]: #151
-#147 := (iff #36 #146)
-#144 := (iff #35 #142)
-#145 := [rewrite]: #144
-#148 := [monotonicity #145]: #147
-#154 := [trans #148 #152]: #153
-#157 := [quant-intro #154]: #156
-#176 := [trans #157 #174]: #175
-#141 := [asserted]: #37
-#177 := [mp #141 #176]: #172
-#221 := [mp~ #177 #220]: #172
-#745 := [mp #221 #744]: #740
-#721 := (not #740)
-#381 := (or #721 #719 #729)
-#408 := (>= #12 0::Int)
-#405 := (not #408)
-#723 := (= #12 #14)
-#725 := (or #723 #405)
-#722 := (or #721 #725)
-#708 := (iff #722 #381)
-#706 := (or #721 #720)
-#371 := (iff #706 #381)
-#372 := [rewrite]: #371
-#369 := (iff #722 #706)
-#380 := (iff #725 #720)
-#724 := (iff #405 #729)
-#727 := (iff #408 #726)
-#728 := [rewrite]: #727
-#730 := [monotonicity #728]: #724
-#393 := (iff #723 #719)
-#394 := [rewrite]: #393
-#385 := [monotonicity #394 #730]: #380
-#370 := [monotonicity #385]: #369
-#709 := [trans #370 #372]: #708
-#365 := [quant-inst #12]: #722
-#710 := [mp #365 #709]: #381
-#640 := [unit-resolution #710 #745]: #720
-#641 := [unit-resolution #640 #639]: #719
-#642 := (not #719)
-#638 := (or #642 #711)
-#643 := [th-lemma arith triangle-eq]: #638
-#629 := [unit-resolution #643 #641]: #711
-[th-lemma arith farkas 1 -1 -1 1 #651 #131 #629 #656]: false
-unsat
-f69a4ae74391a6ea3d0fb4562d0b150f22df9f42 418 0
-#2 := false
-decl f4 :: (-> S2 Int)
-decl f3 :: (-> Int S2)
-decl f5 :: S2
-#8 := f5
-#9 := (f4 f5)
-#13 := 2::Int
-#65 := (* 2::Int #9)
-#15 := 3::Int
-#71 := (+ 3::Int #65)
-#76 := (f3 #71)
-#620 := (f4 #76)
-#10 := 1::Int
-#59 := (+ 1::Int #9)
-#62 := (f3 #59)
-#317 := (f4 #62)
-#421 := (= #317 #620)
-#249 := (= #62 #76)
-#27 := 0::Int
-#81 := (f3 0::Int)
-#336 := (= #76 #81)
-#327 := (not #336)
-#596 := (= #620 0::Int)
-#591 := (f4 #81)
-#582 := (= #591 0::Int)
+decl f3 :: (-> S2 S3 Int)
+decl f5 :: (-> S4 Int S3)
+decl f7 :: S3
+#12 := f7
+decl f4 :: S2
+#9 := f4
+#13 := (f3 f4 f7)
+#11 := 1::Int
+#14 := (+ 1::Int #13)
+decl f6 :: S4
+#10 := f6
+#15 := (f5 f6 #14)
+#16 := (f3 f4 #15)
+#61 := -1::Int
+#62 := (* -1::Int #13)
+#63 := (+ #62 #16)
+#66 := (f5 f6 #63)
+#69 := (f3 f4 #66)
+#326 := (* -1::Int #16)
+#627 := (+ #326 #69)
+#628 := (+ #13 #627)
+#615 := (>= #628 0::Int)
+#348 := (= #628 0::Int)
+#327 := (+ #13 #326)
+#343 := (<= #327 0::Int)
+#646 := (<= #327 -1::Int)
+#659 := (= #327 -1::Int)
+#662 := (>= #13 -1::Int)
+#493 := (>= #13 0::Int)
+#553 := (= #13 0::Int)
+#250 := (f5 f6 #13)
+#501 := (f3 f4 #250)
+#502 := (= #501 0::Int)
+#555 := (not #493)
+#556 := [hypothesis]: #555
+#504 := (or #493 #502)
 #28 := (:var 0 Int)
-#30 := (f3 #28)
-#672 := (pattern #30)
+#30 := (f5 f6 #28)
+#671 := (pattern #30)
 #117 := (>= #28 0::Int)
-#118 := (not #117)
-#31 := (f4 #30)
-#99 := (= #28 #31)
-#124 := (or #99 #118)
-#673 := (forall (vars (?v0 Int)) (:pat #672) #124)
-#129 := (forall (vars (?v0 Int)) #124)
-#676 := (iff #129 #673)
-#674 := (iff #124 #124)
-#675 := [refl]: #674
-#677 := [quant-intro #675]: #676
-#181 := (~ #129 #129)
-#180 := (~ #124 #124)
-#177 := [refl]: #180
-#182 := [nnf-pos #177]: #181
+#31 := (f3 f4 #30)
+#36 := (= #31 0::Int)
+#166 := (or #36 #117)
+#678 := (forall (vars (?v0 Int)) (:pat #671) #166)
+#171 := (forall (vars (?v0 Int)) #166)
+#681 := (iff #171 #678)
+#679 := (iff #166 #166)
+#680 := [refl]: #679
+#682 := [quant-intro #680]: #681
+#184 := (~ #171 #171)
+#192 := (~ #166 #166)
+#193 := [refl]: #192
+#185 := [nnf-pos #193]: #184
+#35 := (< #28 0::Int)
+#37 := (implies #35 #36)
+#38 := (forall (vars (?v0 Int)) #37)
+#174 := (iff #38 #171)
+#137 := (= 0::Int #31)
+#143 := (not #35)
+#144 := (or #143 #137)
+#149 := (forall (vars (?v0 Int)) #144)
+#172 := (iff #149 #171)
+#169 := (iff #144 #166)
+#163 := (or #117 #36)
+#167 := (iff #163 #166)
+#168 := [rewrite]: #167
+#164 := (iff #144 #163)
+#161 := (iff #137 #36)
+#162 := [rewrite]: #161
+#159 := (iff #143 #117)
+#119 := (not #117)
+#154 := (not #119)
+#157 := (iff #154 #117)
+#158 := [rewrite]: #157
+#155 := (iff #143 #154)
+#152 := (iff #35 #119)
+#153 := [rewrite]: #152
+#156 := [monotonicity #153]: #155
+#160 := [trans #156 #158]: #159
+#165 := [monotonicity #160 #162]: #164
+#170 := [trans #165 #168]: #169
+#173 := [quant-intro #170]: #172
+#150 := (iff #38 #149)
+#147 := (iff #37 #144)
+#140 := (implies #35 #137)
+#145 := (iff #140 #144)
+#146 := [rewrite]: #145
+#141 := (iff #37 #140)
+#138 := (iff #36 #137)
+#139 := [rewrite]: #138
+#142 := [monotonicity #139]: #141
+#148 := [trans #142 #146]: #147
+#151 := [quant-intro #148]: #150
+#175 := [trans #151 #173]: #174
+#136 := [asserted]: #38
+#176 := [mp #136 #175]: #171
+#194 := [mp~ #176 #185]: #171
+#683 := [mp #194 #682]: #678
+#648 := (not #678)
+#595 := (or #648 #493 #502)
+#503 := (or #502 #493)
+#599 := (or #648 #503)
+#590 := (iff #599 #595)
+#588 := (or #648 #504)
+#579 := (iff #588 #595)
+#589 := [rewrite]: #579
+#580 := (iff #599 #588)
+#505 := (iff #503 #504)
+#598 := [rewrite]: #505
+#577 := [monotonicity #598]: #580
+#591 := [trans #577 #589]: #590
+#586 := [quant-inst #13]: #599
+#587 := [mp #586 #591]: #595
+#557 := [unit-resolution #587 #683]: #504
+#558 := [unit-resolution #557 #556]: #502
+#560 := (= #13 #501)
+#335 := (= f7 #250)
+#23 := (:var 0 S3)
+#24 := (f3 f4 #23)
+#664 := (pattern #24)
+#25 := (f5 f6 #24)
+#93 := (= #23 #25)
+#665 := (forall (vars (?v0 S3)) (:pat #664) #93)
+#96 := (forall (vars (?v0 S3)) #93)
+#668 := (iff #96 #665)
+#666 := (iff #93 #93)
+#667 := [refl]: #666
+#669 := [quant-intro #667]: #668
+#190 := (~ #96 #96)
+#188 := (~ #93 #93)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#26 := (= #25 #23)
+#27 := (forall (vars (?v0 S3)) #26)
+#97 := (iff #27 #96)
+#94 := (iff #26 #93)
+#95 := [rewrite]: #94
+#98 := [quant-intro #95]: #97
+#92 := [asserted]: #27
+#101 := [mp #92 #98]: #96
+#180 := [mp~ #101 #191]: #96
+#670 := [mp #180 #669]: #665
+#337 := (not #665)
+#328 := (or #337 #335)
+#339 := [quant-inst #12]: #328
+#559 := [unit-resolution #339 #670]: #335
+#550 := [monotonicity #559]: #560
+#561 := [trans #550 #558]: #553
+#539 := (not #553)
+#540 := (or #539 #493)
+#542 := [th-lemma arith triangle-eq]: #540
+#543 := [unit-resolution #542 #556 #561]: false
+#544 := [lemma #543]: #493
+#554 := (or #555 #662)
+#545 := [th-lemma arith farkas 1 1]: #554
+#546 := [unit-resolution #545 #544]: #662
+#653 := (not #662)
+#654 := (or #659 #653)
+#100 := (= #28 #31)
+#125 := (or #100 #119)
+#672 := (forall (vars (?v0 Int)) (:pat #671) #125)
+#130 := (forall (vars (?v0 Int)) #125)
+#675 := (iff #130 #672)
+#673 := (iff #125 #125)
+#674 := [refl]: #673
+#676 := [quant-intro #674]: #675
+#182 := (~ #130 #130)
+#181 := (~ #125 #125)
+#178 := [refl]: #181
+#183 := [nnf-pos #178]: #182
 #32 := (= #31 #28)
 #29 := (<= 0::Int #28)
 #33 := (implies #29 #32)
 #34 := (forall (vars (?v0 Int)) #33)
-#132 := (iff #34 #129)
-#106 := (not #29)
-#107 := (or #106 #99)
-#112 := (forall (vars (?v0 Int)) #107)
-#130 := (iff #112 #129)
-#127 := (iff #107 #124)
-#121 := (or #118 #99)
-#125 := (iff #121 #124)
-#126 := [rewrite]: #125
-#122 := (iff #107 #121)
-#119 := (iff #106 #118)
-#115 := (iff #29 #117)
-#116 := [rewrite]: #115
-#120 := [monotonicity #116]: #119
-#123 := [monotonicity #120]: #122
-#128 := [trans #123 #126]: #127
-#131 := [quant-intro #128]: #130
-#113 := (iff #34 #112)
-#110 := (iff #33 #107)
-#103 := (implies #29 #99)
-#108 := (iff #103 #107)
-#109 := [rewrite]: #108
-#104 := (iff #33 #103)
-#101 := (iff #32 #99)
-#102 := [rewrite]: #101
-#105 := [monotonicity #102]: #104
-#111 := [trans #105 #109]: #110
-#114 := [quant-intro #111]: #113
-#133 := [trans #114 #131]: #132
-#98 := [asserted]: #34
-#134 := [mp #98 #133]: #129
-#178 := [mp~ #134 #182]: #129
-#678 := [mp #178 #677]: #673
-#647 := (not #673)
-#564 := (or #647 #582)
-#589 := (>= 0::Int 0::Int)
-#590 := (not #589)
-#587 := (= 0::Int #591)
-#592 := (or #587 #590)
-#568 := (or #647 #592)
-#549 := (iff #568 #564)
-#552 := (iff #564 #564)
-#553 := [rewrite]: #552
-#566 := (iff #592 #582)
-#571 := (or #582 false)
-#563 := (iff #571 #582)
-#565 := [rewrite]: #563
-#576 := (iff #592 #571)
-#574 := (iff #590 false)
+#133 := (iff #34 #130)
+#107 := (not #29)
+#108 := (or #107 #100)
+#113 := (forall (vars (?v0 Int)) #108)
+#131 := (iff #113 #130)
+#128 := (iff #108 #125)
+#122 := (or #119 #100)
+#126 := (iff #122 #125)
+#127 := [rewrite]: #126
+#123 := (iff #108 #122)
+#120 := (iff #107 #119)
+#116 := (iff #29 #117)
+#118 := [rewrite]: #116
+#121 := [monotonicity #118]: #120
+#124 := [monotonicity #121]: #123
+#129 := [trans #124 #127]: #128
+#132 := [quant-intro #129]: #131
+#114 := (iff #34 #113)
+#111 := (iff #33 #108)
+#104 := (implies #29 #100)
+#109 := (iff #104 #108)
+#110 := [rewrite]: #109
+#105 := (iff #33 #104)
+#102 := (iff #32 #100)
+#103 := [rewrite]: #102
+#106 := [monotonicity #103]: #105
+#112 := [trans #106 #110]: #111
+#115 := [quant-intro #112]: #114
+#134 := [trans #115 #132]: #133
+#99 := [asserted]: #34
+#135 := [mp #99 #134]: #130
+#179 := [mp~ #135 #183]: #130
+#677 := [mp #179 #676]: #672
+#298 := (not #672)
+#639 := (or #298 #659 #653)
+#321 := (>= #14 0::Int)
+#656 := (not #321)
+#445 := (= #14 #16)
+#652 := (or #445 #656)
+#302 := (or #298 #652)
+#644 := (iff #302 #639)
+#304 := (or #298 #654)
+#642 := (iff #304 #639)
+#643 := [rewrite]: #642
+#305 := (iff #302 #304)
+#314 := (iff #652 #654)
+#313 := (iff #656 #653)
+#657 := (iff #321 #662)
+#663 := [rewrite]: #657
+#318 := [monotonicity #663]: #313
+#660 := (iff #445 #659)
+#661 := [rewrite]: #660
+#655 := [monotonicity #661 #318]: #314
+#641 := [monotonicity #655]: #305
+#645 := [trans #641 #643]: #644
+#303 := [quant-inst #14]: #302
+#640 := [mp #303 #645]: #639
+#541 := [unit-resolution #640 #677]: #654
+#547 := [unit-resolution #541 #546]: #659
+#533 := (not #659)
+#529 := (or #533 #646)
+#530 := [th-lemma arith triangle-eq]: #529
+#531 := [unit-resolution #530 #547]: #646
+#534 := (not #646)
+#535 := (or #534 #343)
+#536 := [th-lemma arith farkas 1 1]: #535
+#537 := [unit-resolution #536 #531]: #343
+#626 := (not #343)
+#617 := (or #626 #348)
+#465 := (or #298 #626 #348)
+#635 := (>= #63 0::Int)
+#632 := (not #635)
+#636 := (= #63 #69)
+#346 := (or #636 #632)
+#466 := (or #298 #346)
+#607 := (iff #466 #465)
+#609 := (or #298 #617)
+#612 := (iff #609 #465)
+#606 := [rewrite]: #612
+#610 := (iff #466 #609)
+#618 := (iff #346 #617)
+#620 := (or #348 #626)
+#622 := (iff #620 #617)
+#623 := [rewrite]: #622
+#621 := (iff #346 #620)
+#630 := (iff #632 #626)
+#625 := (iff #635 #343)
+#629 := [rewrite]: #625
+#619 := [monotonicity #629]: #630
+#347 := (iff #636 #348)
+#349 := [rewrite]: #347
+#616 := [monotonicity #349 #619]: #621
+#624 := [trans #616 #623]: #618
+#611 := [monotonicity #624]: #610
+#613 := [trans #611 #606]: #607
+#467 := [quant-inst #63]: #466
+#614 := [mp #467 #613]: #465
+#532 := [unit-resolution #614 #677]: #617
+#538 := [unit-resolution #532 #537]: #348
+#511 := (not #348)
+#512 := (or #511 #615)
+#513 := [th-lemma arith triangle-eq]: #512
+#406 := [unit-resolution #513 #538]: #615
+#78 := (<= #69 0::Int)
+#18 := (- #16 #13)
+#19 := (f5 f6 #18)
+#20 := (f3 f4 #19)
+#17 := (* 0::Int #16)
+#21 := (< #17 #20)
+#22 := (not #21)
+#89 := (iff #22 #78)
+#72 := (< 0::Int #69)
+#75 := (not #72)
+#87 := (iff #75 #78)
+#79 := (not #78)
+#82 := (not #79)
+#85 := (iff #82 #78)
+#86 := [rewrite]: #85
+#83 := (iff #75 #82)
+#80 := (iff #72 #79)
+#81 := [rewrite]: #80
+#84 := [monotonicity #81]: #83
+#88 := [trans #84 #86]: #87
+#76 := (iff #22 #75)
+#73 := (iff #21 #72)
+#70 := (= #20 #69)
+#67 := (= #19 #66)
+#64 := (= #18 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#71 := [monotonicity #68]: #70
+#59 := (= #17 0::Int)
+#60 := [rewrite]: #59
+#74 := [monotonicity #60 #71]: #73
+#77 := [monotonicity #74]: #76
+#90 := [trans #77 #88]: #89
+#58 := [asserted]: #22
+#91 := [mp #58 #90]: #78
+[th-lemma arith farkas -1 -1 1 #91 #531 #406]: false
+unsat
+68d347fdf181bb23634330d38e10cbe4fff1953a 326 0
+#2 := false
+#8 := 0::Int
+decl f3 :: (-> S2 S3 Int)
+decl f5 :: (-> S4 Int S3)
+decl f7 :: S3
+#12 := f7
+decl f4 :: S2
+#9 := f4
+#13 := (f3 f4 f7)
+#11 := 1::Int
+#14 := (+ 1::Int #13)
+decl f6 :: S4
+#10 := f6
+#15 := (f5 f6 #14)
+#16 := (f3 f4 #15)
+#66 := -1::Int
+#67 := (+ -1::Int #16)
+#70 := (f5 f6 #67)
+#319 := (f3 f4 #70)
+#704 := (* -1::Int #319)
+#568 := (+ #13 #704)
+#562 := (>= #568 0::Int)
+#566 := (= #13 #319)
+#76 := (= f7 #70)
+#112 := (<= #16 0::Int)
+#113 := (not #112)
+#119 := (iff #76 #113)
+#134 := (not #119)
+#246 := (iff #134 #76)
+#236 := (not #76)
+#241 := (not #236)
+#244 := (iff #241 #76)
+#245 := [rewrite]: #244
+#242 := (iff #134 #241)
+#239 := (iff #119 #236)
+#233 := (iff #76 false)
+#237 := (iff #233 #236)
+#238 := [rewrite]: #237
+#234 := (iff #119 #233)
+#231 := (iff #113 false)
 #1 := true
-#585 := (not true)
-#572 := (iff #585 false)
-#573 := [rewrite]: #572
-#569 := (iff #590 #585)
-#584 := (iff #589 true)
-#578 := [rewrite]: #584
-#570 := [monotonicity #578]: #569
-#575 := [trans #570 #573]: #574
-#581 := (iff #587 #582)
-#583 := [rewrite]: #581
-#562 := [monotonicity #583 #575]: #576
-#567 := [trans #562 #565]: #566
-#551 := [monotonicity #567]: #549
-#554 := [trans #551 #553]: #549
-#548 := [quant-inst #27]: #568
-#555 := [mp #548 #554]: #564
-#443 := [unit-resolution #555 #678]: #582
-#433 := (= #620 #591)
-#461 := [hypothesis]: #336
-#434 := [monotonicity #461]: #433
-#436 := [trans #434 #443]: #596
-#457 := (not #596)
-#577 := (<= #620 0::Int)
-#451 := (not #577)
-#655 := -1::Int
-#304 := (>= #9 -1::Int)
-#540 := (>= #9 0::Int)
-#510 := (= #9 0::Int)
-#660 := (f3 #9)
-#542 := (f4 #660)
-#543 := (= #542 0::Int)
-#484 := (not #540)
-#491 := [hypothesis]: #484
-#545 := (or #540 #543)
-#36 := (= #31 0::Int)
-#165 := (or #36 #117)
-#679 := (forall (vars (?v0 Int)) (:pat #672) #165)
-#170 := (forall (vars (?v0 Int)) #165)
-#682 := (iff #170 #679)
-#680 := (iff #165 #165)
-#681 := [refl]: #680
-#683 := [quant-intro #681]: #682
-#183 := (~ #170 #170)
-#191 := (~ #165 #165)
-#192 := [refl]: #191
-#184 := [nnf-pos #192]: #183
-#35 := (< #28 0::Int)
-#37 := (implies #35 #36)
-#38 := (forall (vars (?v0 Int)) #37)
-#173 := (iff #38 #170)
-#136 := (= 0::Int #31)
-#142 := (not #35)
-#143 := (or #142 #136)
-#148 := (forall (vars (?v0 Int)) #143)
-#171 := (iff #148 #170)
-#168 := (iff #143 #165)
-#162 := (or #117 #36)
-#166 := (iff #162 #165)
-#167 := [rewrite]: #166
-#163 := (iff #143 #162)
-#160 := (iff #136 #36)
-#161 := [rewrite]: #160
-#158 := (iff #142 #117)
-#153 := (not #118)
-#156 := (iff #153 #117)
-#157 := [rewrite]: #156
-#154 := (iff #142 #153)
-#151 := (iff #35 #118)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#159 := [trans #155 #157]: #158
-#164 := [monotonicity #159 #161]: #163
-#169 := [trans #164 #167]: #168
-#172 := [quant-intro #169]: #171
+#226 := (not true)
+#229 := (iff #226 false)
+#230 := [rewrite]: #229
+#227 := (iff #113 #226)
+#224 := (iff #112 true)
+#124 := (or #113 #119)
+#127 := (not #124)
+#17 := (< 0::Int #16)
+#18 := (ite #17 true false)
+#23 := (not #18)
+#24 := (implies #23 false)
+#19 := (- #16 1::Int)
+#20 := (f5 f6 #19)
+#21 := (= #20 f7)
+#22 := (iff #18 #21)
+#25 := (or #22 #24)
+#26 := (or false #25)
+#27 := (not #26)
+#130 := (iff #27 #127)
+#81 := (iff #17 #76)
+#97 := (or #17 #81)
+#109 := (not #97)
+#128 := (iff #109 #127)
+#125 := (iff #97 #124)
+#122 := (iff #81 #119)
+#116 := (iff #113 #76)
+#120 := (iff #116 #119)
+#121 := [rewrite]: #120
+#117 := (iff #81 #116)
+#114 := (iff #17 #113)
+#115 := [rewrite]: #114
+#118 := [monotonicity #115]: #117
+#123 := [trans #118 #121]: #122
+#126 := [monotonicity #115 #123]: #125
+#129 := [monotonicity #126]: #128
+#110 := (iff #27 #109)
+#107 := (iff #26 #97)
+#102 := (or false #97)
+#105 := (iff #102 #97)
+#106 := [rewrite]: #105
+#103 := (iff #26 #102)
+#100 := (iff #25 #97)
+#94 := (or #81 #17)
+#98 := (iff #94 #97)
+#99 := [rewrite]: #98
+#95 := (iff #25 #94)
+#92 := (iff #24 #17)
+#84 := (not #17)
+#87 := (implies #84 false)
+#90 := (iff #87 #17)
+#91 := [rewrite]: #90
+#88 := (iff #24 #87)
+#85 := (iff #23 #84)
+#64 := (iff #18 #17)
+#65 := [rewrite]: #64
+#86 := [monotonicity #65]: #85
+#89 := [monotonicity #86]: #88
+#93 := [trans #89 #91]: #92
+#82 := (iff #22 #81)
+#79 := (iff #21 #76)
+#73 := (= #70 f7)
+#77 := (iff #73 #76)
+#78 := [rewrite]: #77
+#74 := (iff #21 #73)
+#71 := (= #20 #70)
+#68 := (= #19 #67)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#75 := [monotonicity #72]: #74
+#80 := [trans #75 #78]: #79
+#83 := [monotonicity #65 #80]: #82
+#96 := [monotonicity #83 #93]: #95
+#101 := [trans #96 #99]: #100
+#104 := [monotonicity #101]: #103
+#108 := [trans #104 #106]: #107
+#111 := [monotonicity #108]: #110
+#131 := [trans #111 #129]: #130
+#63 := [asserted]: #27
+#132 := [mp #63 #131]: #127
+#133 := [not-or-elim #132]: #112
+#225 := [iff-true #133]: #224
+#228 := [monotonicity #225]: #227
+#232 := [trans #228 #230]: #231
+#235 := [monotonicity #232]: #234
+#240 := [trans #235 #238]: #239
+#243 := [monotonicity #240]: #242
+#247 := [trans #243 #245]: #246
+#135 := [not-or-elim #132]: #134
+#248 := [mp #135 #247]: #76
+#573 := [monotonicity #248]: #566
+#574 := (not #566)
+#646 := (or #574 #562)
+#648 := [th-lemma arith triangle-eq]: #646
+#658 := [unit-resolution #648 #573]: #562
+#384 := (* -1::Int #16)
+#514 := (+ #13 #384)
+#713 := (<= #514 -1::Int)
+#721 := (= #514 -1::Int)
+#728 := (>= #13 -1::Int)
+#551 := (>= #319 0::Int)
+#682 := (= #319 0::Int)
+#417 := (>= #16 1::Int)
+#697 := (not #417)
+#659 := (or #697 #113)
+#660 := [th-lemma arith farkas 1 1]: #659
+#656 := [unit-resolution #660 #133]: #697
+#33 := (:var 0 Int)
+#35 := (f5 f6 #33)
+#740 := (pattern #35)
+#161 := (>= #33 0::Int)
+#36 := (f3 f4 #35)
+#41 := (= #36 0::Int)
+#210 := (or #41 #161)
+#747 := (forall (vars (?v0 Int)) (:pat #740) #210)
+#215 := (forall (vars (?v0 Int)) #210)
+#750 := (iff #215 #747)
+#748 := (iff #210 #210)
+#749 := [refl]: #748
+#751 := [quant-intro #749]: #750
+#259 := (~ #215 #215)
+#257 := (~ #210 #210)
+#258 := [refl]: #257
+#260 := [nnf-pos #258]: #259
+#40 := (< #33 0::Int)
+#42 := (implies #40 #41)
+#43 := (forall (vars (?v0 Int)) #42)
+#218 := (iff #43 #215)
+#181 := (= 0::Int #36)
+#187 := (not #40)
+#188 := (or #187 #181)
+#193 := (forall (vars (?v0 Int)) #188)
+#216 := (iff #193 #215)
+#213 := (iff #188 #210)
+#207 := (or #161 #41)
+#211 := (iff #207 #210)
+#212 := [rewrite]: #211
+#208 := (iff #188 #207)
+#205 := (iff #181 #41)
+#206 := [rewrite]: #205
+#203 := (iff #187 #161)
+#163 := (not #161)
+#198 := (not #163)
+#201 := (iff #198 #161)
+#202 := [rewrite]: #201
+#199 := (iff #187 #198)
+#196 := (iff #40 #163)
+#197 := [rewrite]: #196
+#200 := [monotonicity #197]: #199
+#204 := [trans #200 #202]: #203
+#209 := [monotonicity #204 #206]: #208
+#214 := [trans #209 #212]: #213
+#217 := [quant-intro #214]: #216
+#194 := (iff #43 #193)
+#191 := (iff #42 #188)
+#184 := (implies #40 #181)
+#189 := (iff #184 #188)
+#190 := [rewrite]: #189
+#185 := (iff #42 #184)
+#182 := (iff #41 #181)
+#183 := [rewrite]: #182
+#186 := [monotonicity #183]: #185
+#192 := [trans #186 #190]: #191
+#195 := [quant-intro #192]: #194
+#219 := [trans #195 #217]: #218
+#180 := [asserted]: #43
+#220 := [mp #180 #219]: #215
+#261 := [mp~ #220 #260]: #215
+#752 := [mp #261 #751]: #747
+#358 := (not #747)
+#673 := (or #358 #417 #682)
+#703 := (>= #67 0::Int)
+#683 := (or #682 #703)
+#671 := (or #358 #683)
+#567 := (iff #671 #673)
+#515 := (or #417 #682)
+#556 := (or #358 #515)
+#517 := (iff #556 #673)
+#665 := [rewrite]: #517
+#557 := (iff #671 #556)
+#670 := (iff #683 #515)
+#677 := (or #682 #417)
+#516 := (iff #677 #515)
+#669 := [rewrite]: #516
+#684 := (iff #683 #677)
+#418 := (iff #703 #417)
+#696 := [rewrite]: #418
+#513 := [monotonicity #696]: #684
+#672 := [trans #513 #669]: #670
+#558 := [monotonicity #672]: #557
+#662 := [trans #558 #665]: #567
+#674 := [quant-inst #67]: #671
+#663 := [mp #674 #662]: #673
+#661 := [unit-resolution #663 #752 #656]: #682
+#650 := (not #682)
+#651 := (or #650 #551)
+#652 := [th-lemma arith triangle-eq]: #651
+#653 := [unit-resolution #652 #661]: #551
+#654 := (not #562)
+#647 := (not #551)
+#638 := (or #728 #647 #654)
+#639 := [th-lemma arith assign-bounds 1 1]: #638
+#641 := [unit-resolution #639 #653 #658]: #728
+#731 := (not #728)
+#722 := (or #721 #731)
+#144 := (= #33 #36)
+#169 := (or #144 #163)
+#741 := (forall (vars (?v0 Int)) (:pat #740) #169)
+#174 := (forall (vars (?v0 Int)) #169)
+#744 := (iff #174 #741)
+#742 := (iff #169 #169)
+#743 := [refl]: #742
+#745 := [quant-intro #743]: #744
+#250 := (~ #174 #174)
+#252 := (~ #169 #169)
+#249 := [refl]: #252
+#222 := [nnf-pos #249]: #250
+#37 := (= #36 #33)
+#34 := (<= 0::Int #33)
+#38 := (implies #34 #37)
+#39 := (forall (vars (?v0 Int)) #38)
+#177 := (iff #39 #174)
+#151 := (not #34)
+#152 := (or #151 #144)
+#157 := (forall (vars (?v0 Int)) #152)
+#175 := (iff #157 #174)
+#172 := (iff #152 #169)
+#166 := (or #163 #144)
+#170 := (iff #166 #169)
+#171 := [rewrite]: #170
+#167 := (iff #152 #166)
+#164 := (iff #151 #163)
+#160 := (iff #34 #161)
+#162 := [rewrite]: #160
+#165 := [monotonicity #162]: #164
+#168 := [monotonicity #165]: #167
+#173 := [trans #168 #171]: #172
+#176 := [quant-intro #173]: #175
+#158 := (iff #39 #157)
+#155 := (iff #38 #152)
+#148 := (implies #34 #144)
+#153 := (iff #148 #152)
+#154 := [rewrite]: #153
 #149 := (iff #38 #148)
-#146 := (iff #37 #143)
-#139 := (implies #35 #136)
-#144 := (iff #139 #143)
-#145 := [rewrite]: #144
-#140 := (iff #37 #139)
-#137 := (iff #36 #136)
-#138 := [rewrite]: #137
-#141 := [monotonicity #138]: #140
-#147 := [trans #141 #145]: #146
-#150 := [quant-intro #147]: #149
-#174 := [trans #150 #172]: #173
-#135 := [asserted]: #38
-#175 := [mp #135 #174]: #170
-#193 := [mp~ #175 #184]: #170
-#684 := [mp #193 #683]: #679
-#631 := (not #679)
-#547 := (or #631 #540 #543)
-#544 := (or #543 #540)
-#533 := (or #631 #544)
-#537 := (iff #533 #547)
-#530 := (or #631 #545)
-#535 := (iff #530 #547)
-#536 := [rewrite]: #535
-#531 := (iff #533 #530)
-#546 := (iff #544 #545)
-#541 := [rewrite]: #546
-#534 := [monotonicity #541]: #531
-#532 := [trans #534 #536]: #537
-#529 := [quant-inst #9]: #533
-#538 := [mp #529 #532]: #547
-#450 := [unit-resolution #538 #684]: #545
-#481 := [unit-resolution #450 #491]: #543
-#485 := (= #9 #542)
-#661 := (= f5 #660)
-#22 := (:var 0 S2)
-#23 := (f4 #22)
-#664 := (pattern #23)
-#24 := (f3 #23)
-#91 := (= #22 #24)
-#665 := (forall (vars (?v0 S2)) (:pat #664) #91)
-#95 := (forall (vars (?v0 S2)) #91)
-#666 := (iff #95 #665)
-#668 := (iff #665 #665)
-#669 := [rewrite]: #668
-#667 := [rewrite]: #666
-#670 := [trans #667 #669]: #666
-#189 := (~ #95 #95)
-#187 := (~ #91 #91)
-#188 := [refl]: #187
-#190 := [nnf-pos #188]: #189
-#25 := (= #24 #22)
-#26 := (forall (vars (?v0 S2)) #25)
-#96 := (iff #26 #95)
-#93 := (iff #25 #91)
-#94 := [rewrite]: #93
-#97 := [quant-intro #94]: #96
-#90 := [asserted]: #26
-#100 := [mp #90 #97]: #95
-#179 := [mp~ #100 #190]: #95
-#671 := [mp #179 #670]: #665
-#663 := (not #665)
-#653 := (or #663 #661)
-#312 := [quant-inst #8]: #653
-#483 := [unit-resolution #312 #671]: #661
-#492 := [monotonicity #483]: #485
-#494 := [trans #492 #481]: #510
-#495 := (not #510)
-#496 := (or #495 #540)
-#506 := [th-lemma arith triangle-eq]: #496
-#486 := [unit-resolution #506 #491 #494]: false
-#507 := [lemma #486]: #540
-#474 := (or #484 #304)
-#475 := [th-lemma arith farkas 1 1]: #474
-#441 := [unit-resolution #475 #507]: #304
-#623 := -3::Int
-#617 := (* -1::Int #620)
-#622 := (+ #65 #617)
-#489 := (<= #622 -3::Int)
-#618 := (= #622 -3::Int)
-#643 := (not #304)
-#607 := (or #643 #618)
-#444 := (or #647 #643 #618)
-#630 := (>= #71 0::Int)
-#619 := (not #630)
-#621 := (= #71 #620)
-#616 := (or #621 #619)
-#446 := (or #647 #616)
-#605 := (iff #446 #444)
-#600 := (or #647 #607)
-#604 := (iff #600 #444)
-#602 := [rewrite]: #604
-#601 := (iff #446 #600)
-#608 := (iff #616 #607)
-#611 := (or #618 #643)
-#613 := (iff #611 #607)
-#614 := [rewrite]: #613
-#612 := (iff #616 #611)
-#609 := (iff #619 #643)
-#466 := (iff #630 #304)
-#467 := [rewrite]: #466
-#610 := [monotonicity #467]: #609
-#624 := (iff #621 #618)
-#465 := [rewrite]: #624
-#606 := [monotonicity #465 #610]: #612
-#615 := [trans #606 #614]: #608
-#603 := [monotonicity #615]: #601
-#487 := [trans #603 #602]: #605
-#447 := [quant-inst #71]: #446
-#488 := [mp #447 #487]: #444
-#518 := [unit-resolution #488 #678]: #607
-#442 := [unit-resolution #518 #441]: #618
-#524 := (not #618)
-#520 := (or #524 #489)
-#521 := [th-lemma arith triangle-eq]: #520
-#449 := [unit-resolution #521 #442]: #489
-#452 := (not #489)
-#453 := (or #451 #452 #643)
-#455 := [th-lemma arith assign-bounds 1 2]: #453
-#456 := [unit-resolution #455 #449 #441]: #451
-#458 := (or #457 #577)
-#459 := [th-lemma arith triangle-eq]: #458
-#460 := [unit-resolution #459 #456]: #457
-#437 := [unit-resolution #460 #436]: false
-#438 := [lemma #437]: #327
-#250 := (= #62 #81)
-#335 := (not #250)
-#256 := (= #317 0::Int)
-#424 := (= #317 #591)
-#418 := [hypothesis]: #250
-#420 := [monotonicity #418]: #424
-#425 := [trans #420 #443]: #256
-#428 := (not #256)
-#629 := (<= #317 0::Int)
-#435 := (not #629)
-#297 := (* -1::Int #317)
-#639 := (+ #9 #297)
-#362 := (<= #639 -1::Int)
-#301 := (= #639 -1::Int)
-#640 := (or #301 #643)
-#649 := (or #647 #301 #643)
-#662 := (>= #59 0::Int)
-#657 := (not #662)
-#654 := (= #59 #317)
-#313 := (or #654 #657)
-#288 := (or #647 #313)
-#345 := (iff #288 #649)
-#650 := (or #647 #640)
-#637 := (iff #650 #649)
-#638 := [rewrite]: #637
-#648 := (iff #288 #650)
-#646 := (iff #313 #640)
-#644 := (iff #657 #643)
-#641 := (iff #662 #304)
-#642 := [rewrite]: #641
-#645 := [monotonicity #642]: #644
-#302 := (iff #654 #301)
-#303 := [rewrite]: #302
-#283 := [monotonicity #303 #645]: #646
-#651 := [monotonicity #283]: #648
-#360 := [trans #651 #638]: #345
-#289 := [quant-inst #59]: #288
-#361 := [mp #289 #360]: #649
-#525 := [unit-resolution #361 #678]: #640
-#431 := [unit-resolution #525 #441]: #301
-#527 := (not #301)
-#432 := (or #527 #362)
-#280 := [th-lemma arith triangle-eq]: #432
-#439 := [unit-resolution #280 #431]: #362
-#440 := (not #362)
-#419 := (or #435 #440 #484)
-#422 := [th-lemma arith assign-bounds 1 -1]: #419
-#426 := [unit-resolution #422 #439 #507]: #435
-#429 := (or #428 #629)
-#427 := [th-lemma arith triangle-eq]: #429
-#430 := [unit-resolution #427 #426]: #428
-#415 := [unit-resolution #430 #425]: false
-#405 := [lemma #415]: #335
-#408 := (or #249 #250 #336)
-#334 := (not #249)
-#338 := (and #334 #335 #327)
-#339 := (not #338)
-#84 := (distinct #62 #76 #81)
-#87 := (not #84)
-#18 := (- #9 #9)
-#19 := (f3 #18)
-#14 := (* #9 2::Int)
-#16 := (+ #14 3::Int)
-#17 := (f3 #16)
-#11 := (+ #9 1::Int)
-#12 := (f3 #11)
-#20 := (distinct #12 #17 #19)
-#21 := (not #20)
-#88 := (iff #21 #87)
-#85 := (iff #20 #84)
-#82 := (= #19 #81)
-#79 := (= #18 0::Int)
-#80 := [rewrite]: #79
-#83 := [monotonicity #80]: #82
-#77 := (= #17 #76)
-#74 := (= #16 #71)
-#68 := (+ #65 3::Int)
-#72 := (= #68 #71)
+#146 := (iff #37 #144)
+#147 := [rewrite]: #146
+#150 := [monotonicity #147]: #149
+#156 := [trans #150 #154]: #155
+#159 := [quant-intro #156]: #158
+#178 := [trans #159 #176]: #177
+#143 := [asserted]: #39
+#179 := [mp #143 #178]: #174
+#223 := [mp~ #179 #222]: #174
+#746 := [mp #223 #745]: #741
+#723 := (not #741)
+#383 := (or #723 #721 #731)
+#410 := (>= #14 0::Int)
+#407 := (not #410)
+#725 := (= #14 #16)
+#727 := (or #725 #407)
+#724 := (or #723 #727)
+#710 := (iff #724 #383)
+#708 := (or #723 #722)
+#373 := (iff #708 #383)
+#374 := [rewrite]: #373
+#371 := (iff #724 #708)
+#382 := (iff #727 #722)
+#726 := (iff #407 #731)
+#729 := (iff #410 #728)
+#730 := [rewrite]: #729
+#732 := [monotonicity #730]: #726
+#395 := (iff #725 #721)
+#396 := [rewrite]: #395
+#387 := [monotonicity #396 #732]: #382
+#372 := [monotonicity #387]: #371
+#711 := [trans #372 #374]: #710
+#367 := [quant-inst #14]: #724
+#712 := [mp #367 #711]: #383
+#642 := [unit-resolution #712 #746]: #722
+#643 := [unit-resolution #642 #641]: #721
+#644 := (not #721)
+#640 := (or #644 #713)
+#645 := [th-lemma arith triangle-eq]: #640
+#631 := [unit-resolution #645 #643]: #713
+[th-lemma arith farkas 1 -1 -1 1 #653 #133 #631 #658]: false
+unsat
+9bd1c4986d286e4e0abfd70c7740b5ad11395fe6 421 0
+#2 := false
+decl f5 :: (-> S4 S3 Int)
+decl f3 :: (-> S2 Int S3)
+decl f7 :: S3
+#10 := f7
+decl f6 :: S4
+#9 := f6
+#11 := (f5 f6 f7)
+#15 := 2::Int
+#67 := (* 2::Int #11)
+#17 := 3::Int
+#73 := (+ 3::Int #67)
+decl f4 :: S2
+#8 := f4
+#78 := (f3 f4 #73)
+#622 := (f5 f6 #78)
+#12 := 1::Int
+#61 := (+ 1::Int #11)
+#64 := (f3 f4 #61)
+#319 := (f5 f6 #64)
+#423 := (= #319 #622)
+#251 := (= #64 #78)
+#29 := 0::Int
+#83 := (f3 f4 0::Int)
+#338 := (= #78 #83)
+#329 := (not #338)
+#598 := (= #622 0::Int)
+#593 := (f5 f6 #83)
+#584 := (= #593 0::Int)
+#30 := (:var 0 Int)
+#32 := (f3 f4 #30)
+#673 := (pattern #32)
+#119 := (>= #30 0::Int)
+#120 := (not #119)
+#33 := (f5 f6 #32)
+#101 := (= #30 #33)
+#126 := (or #101 #120)
+#674 := (forall (vars (?v0 Int)) (:pat #673) #126)
+#131 := (forall (vars (?v0 Int)) #126)
+#677 := (iff #131 #674)
+#675 := (iff #126 #126)
+#676 := [refl]: #675
+#678 := [quant-intro #676]: #677
+#183 := (~ #131 #131)
+#182 := (~ #126 #126)
+#179 := [refl]: #182
+#184 := [nnf-pos #179]: #183
+#34 := (= #33 #30)
+#31 := (<= 0::Int #30)
+#35 := (implies #31 #34)
+#36 := (forall (vars (?v0 Int)) #35)
+#134 := (iff #36 #131)
+#108 := (not #31)
+#109 := (or #108 #101)
+#114 := (forall (vars (?v0 Int)) #109)
+#132 := (iff #114 #131)
+#129 := (iff #109 #126)
+#123 := (or #120 #101)
+#127 := (iff #123 #126)
+#128 := [rewrite]: #127
+#124 := (iff #109 #123)
+#121 := (iff #108 #120)
+#117 := (iff #31 #119)
+#118 := [rewrite]: #117
+#122 := [monotonicity #118]: #121
+#125 := [monotonicity #122]: #124
+#130 := [trans #125 #128]: #129
+#133 := [quant-intro #130]: #132
+#115 := (iff #36 #114)
+#112 := (iff #35 #109)
+#105 := (implies #31 #101)
+#110 := (iff #105 #109)
+#111 := [rewrite]: #110
+#106 := (iff #35 #105)
+#103 := (iff #34 #101)
+#104 := [rewrite]: #103
+#107 := [monotonicity #104]: #106
+#113 := [trans #107 #111]: #112
+#116 := [quant-intro #113]: #115
+#135 := [trans #116 #133]: #134
+#100 := [asserted]: #36
+#136 := [mp #100 #135]: #131
+#180 := [mp~ #136 #184]: #131
+#679 := [mp #180 #678]: #674
+#649 := (not #674)
+#566 := (or #649 #584)
+#591 := (>= 0::Int 0::Int)
+#592 := (not #591)
+#589 := (= 0::Int #593)
+#594 := (or #589 #592)
+#570 := (or #649 #594)
+#551 := (iff #570 #566)
+#554 := (iff #566 #566)
+#555 := [rewrite]: #554
+#568 := (iff #594 #584)
+#573 := (or #584 false)
+#565 := (iff #573 #584)
+#567 := [rewrite]: #565
+#578 := (iff #594 #573)
+#576 := (iff #592 false)
+#1 := true
+#587 := (not true)
+#574 := (iff #587 false)
+#575 := [rewrite]: #574
+#571 := (iff #592 #587)
+#586 := (iff #591 true)
+#580 := [rewrite]: #586
+#572 := [monotonicity #580]: #571
+#577 := [trans #572 #575]: #576
+#583 := (iff #589 #584)
+#585 := [rewrite]: #583
+#564 := [monotonicity #585 #577]: #578
+#569 := [trans #564 #567]: #568
+#553 := [monotonicity #569]: #551
+#556 := [trans #553 #555]: #551
+#550 := [quant-inst #29]: #570
+#557 := [mp #550 #556]: #566
+#445 := [unit-resolution #557 #679]: #584
+#435 := (= #622 #593)
+#463 := [hypothesis]: #338
+#436 := [monotonicity #463]: #435
+#438 := [trans #436 #445]: #598
+#459 := (not #598)
+#579 := (<= #622 0::Int)
+#453 := (not #579)
+#657 := -1::Int
+#306 := (>= #11 -1::Int)
+#542 := (>= #11 0::Int)
+#512 := (= #11 0::Int)
+#662 := (f3 f4 #11)
+#544 := (f5 f6 #662)
+#545 := (= #544 0::Int)
+#486 := (not #542)
+#493 := [hypothesis]: #486
+#547 := (or #542 #545)
+#38 := (= #33 0::Int)
+#167 := (or #38 #119)
+#680 := (forall (vars (?v0 Int)) (:pat #673) #167)
+#172 := (forall (vars (?v0 Int)) #167)
+#683 := (iff #172 #680)
+#681 := (iff #167 #167)
+#682 := [refl]: #681
+#684 := [quant-intro #682]: #683
+#185 := (~ #172 #172)
+#193 := (~ #167 #167)
+#194 := [refl]: #193
+#186 := [nnf-pos #194]: #185
+#37 := (< #30 0::Int)
+#39 := (implies #37 #38)
+#40 := (forall (vars (?v0 Int)) #39)
+#175 := (iff #40 #172)
+#138 := (= 0::Int #33)
+#144 := (not #37)
+#145 := (or #144 #138)
+#150 := (forall (vars (?v0 Int)) #145)
+#173 := (iff #150 #172)
+#170 := (iff #145 #167)
+#164 := (or #119 #38)
+#168 := (iff #164 #167)
+#169 := [rewrite]: #168
+#165 := (iff #145 #164)
+#162 := (iff #138 #38)
+#163 := [rewrite]: #162
+#160 := (iff #144 #119)
+#155 := (not #120)
+#158 := (iff #155 #119)
+#159 := [rewrite]: #158
+#156 := (iff #144 #155)
+#153 := (iff #37 #120)
+#154 := [rewrite]: #153
+#157 := [monotonicity #154]: #156
+#161 := [trans #157 #159]: #160
+#166 := [monotonicity #161 #163]: #165
+#171 := [trans #166 #169]: #170
+#174 := [quant-intro #171]: #173
+#151 := (iff #40 #150)
+#148 := (iff #39 #145)
+#141 := (implies #37 #138)
+#146 := (iff #141 #145)
+#147 := [rewrite]: #146
+#142 := (iff #39 #141)
+#139 := (iff #38 #138)
+#140 := [rewrite]: #139
+#143 := [monotonicity #140]: #142
+#149 := [trans #143 #147]: #148
+#152 := [quant-intro #149]: #151
+#176 := [trans #152 #174]: #175
+#137 := [asserted]: #40
+#177 := [mp #137 #176]: #172
+#195 := [mp~ #177 #186]: #172
+#685 := [mp #195 #684]: #680
+#633 := (not #680)
+#549 := (or #633 #542 #545)
+#546 := (or #545 #542)
+#535 := (or #633 #546)
+#539 := (iff #535 #549)
+#532 := (or #633 #547)
+#537 := (iff #532 #549)
+#538 := [rewrite]: #537
+#533 := (iff #535 #532)
+#548 := (iff #546 #547)
+#543 := [rewrite]: #548
+#536 := [monotonicity #543]: #533
+#534 := [trans #536 #538]: #539
+#531 := [quant-inst #11]: #535
+#540 := [mp #531 #534]: #549
+#452 := [unit-resolution #540 #685]: #547
+#483 := [unit-resolution #452 #493]: #545
+#487 := (= #11 #544)
+#663 := (= f7 #662)
+#24 := (:var 0 S3)
+#25 := (f5 f6 #24)
+#666 := (pattern #25)
+#26 := (f3 f4 #25)
+#93 := (= #24 #26)
+#667 := (forall (vars (?v0 S3)) (:pat #666) #93)
+#97 := (forall (vars (?v0 S3)) #93)
+#670 := (iff #97 #667)
+#668 := (iff #93 #93)
+#669 := [refl]: #668
+#671 := [quant-intro #669]: #670
+#191 := (~ #97 #97)
+#189 := (~ #93 #93)
+#190 := [refl]: #189
+#192 := [nnf-pos #190]: #191
+#27 := (= #26 #24)
+#28 := (forall (vars (?v0 S3)) #27)
+#98 := (iff #28 #97)
+#95 := (iff #27 #93)
+#96 := [rewrite]: #95
+#99 := [quant-intro #96]: #98
+#92 := [asserted]: #28
+#102 := [mp #92 #99]: #97
+#181 := [mp~ #102 #192]: #97
+#672 := [mp #181 #671]: #667
+#665 := (not #667)
+#655 := (or #665 #663)
+#314 := [quant-inst #10]: #655
+#485 := [unit-resolution #314 #672]: #663
+#494 := [monotonicity #485]: #487
+#496 := [trans #494 #483]: #512
+#497 := (not #512)
+#498 := (or #497 #542)
+#508 := [th-lemma arith triangle-eq]: #498
+#488 := [unit-resolution #508 #493 #496]: false
+#509 := [lemma #488]: #542
+#476 := (or #486 #306)
+#477 := [th-lemma arith farkas 1 1]: #476
+#443 := [unit-resolution #477 #509]: #306
+#625 := -3::Int
+#619 := (* -1::Int #622)
+#624 := (+ #67 #619)
+#491 := (<= #624 -3::Int)
+#620 := (= #624 -3::Int)
+#645 := (not #306)
+#609 := (or #645 #620)
+#446 := (or #649 #645 #620)
+#632 := (>= #73 0::Int)
+#621 := (not #632)
+#623 := (= #73 #622)
+#618 := (or #623 #621)
+#448 := (or #649 #618)
+#607 := (iff #448 #446)
+#602 := (or #649 #609)
+#606 := (iff #602 #446)
+#604 := [rewrite]: #606
+#603 := (iff #448 #602)
+#610 := (iff #618 #609)
+#613 := (or #620 #645)
+#615 := (iff #613 #609)
+#616 := [rewrite]: #615
+#614 := (iff #618 #613)
+#611 := (iff #621 #645)
+#468 := (iff #632 #306)
+#469 := [rewrite]: #468
+#612 := [monotonicity #469]: #611
+#626 := (iff #623 #620)
+#467 := [rewrite]: #626
+#608 := [monotonicity #467 #612]: #614
+#617 := [trans #608 #616]: #610
+#605 := [monotonicity #617]: #603
+#489 := [trans #605 #604]: #607
+#449 := [quant-inst #73]: #448
+#490 := [mp #449 #489]: #446
+#520 := [unit-resolution #490 #679]: #609
+#444 := [unit-resolution #520 #443]: #620
+#526 := (not #620)
+#522 := (or #526 #491)
+#523 := [th-lemma arith triangle-eq]: #522
+#451 := [unit-resolution #523 #444]: #491
+#454 := (not #491)
+#455 := (or #453 #454 #645)
+#457 := [th-lemma arith assign-bounds 1 2]: #455
+#458 := [unit-resolution #457 #451 #443]: #453
+#460 := (or #459 #579)
+#461 := [th-lemma arith triangle-eq]: #460
+#462 := [unit-resolution #461 #458]: #459
+#439 := [unit-resolution #462 #438]: false
+#440 := [lemma #439]: #329
+#252 := (= #64 #83)
+#337 := (not #252)
+#258 := (= #319 0::Int)
+#426 := (= #319 #593)
+#420 := [hypothesis]: #252
+#422 := [monotonicity #420]: #426
+#427 := [trans #422 #445]: #258
+#430 := (not #258)
+#631 := (<= #319 0::Int)
+#437 := (not #631)
+#299 := (* -1::Int #319)
+#641 := (+ #11 #299)
+#364 := (<= #641 -1::Int)
+#303 := (= #641 -1::Int)
+#642 := (or #303 #645)
+#651 := (or #649 #303 #645)
+#664 := (>= #61 0::Int)
+#659 := (not #664)
+#656 := (= #61 #319)
+#315 := (or #656 #659)
+#290 := (or #649 #315)
+#347 := (iff #290 #651)
+#652 := (or #649 #642)
+#639 := (iff #652 #651)
+#640 := [rewrite]: #639
+#650 := (iff #290 #652)
+#648 := (iff #315 #642)
+#646 := (iff #659 #645)
+#643 := (iff #664 #306)
+#644 := [rewrite]: #643
+#647 := [monotonicity #644]: #646
+#304 := (iff #656 #303)
+#305 := [rewrite]: #304
+#285 := [monotonicity #305 #647]: #648
+#653 := [monotonicity #285]: #650
+#362 := [trans #653 #640]: #347
+#291 := [quant-inst #61]: #290
+#363 := [mp #291 #362]: #651
+#527 := [unit-resolution #363 #679]: #642
+#433 := [unit-resolution #527 #443]: #303
+#529 := (not #303)
+#434 := (or #529 #364)
+#282 := [th-lemma arith triangle-eq]: #434
+#441 := [unit-resolution #282 #433]: #364
+#442 := (not #364)
+#421 := (or #437 #442 #486)
+#424 := [th-lemma arith assign-bounds 1 -1]: #421
+#428 := [unit-resolution #424 #441 #509]: #437
+#431 := (or #430 #631)
+#429 := [th-lemma arith triangle-eq]: #431
+#432 := [unit-resolution #429 #428]: #430
+#417 := [unit-resolution #432 #427]: false
+#407 := [lemma #417]: #337
+#410 := (or #251 #252 #338)
+#336 := (not #251)
+#340 := (and #336 #337 #329)
+#341 := (not #340)
+#86 := (distinct #64 #78 #83)
+#89 := (not #86)
+#20 := (- #11 #11)
+#21 := (f3 f4 #20)
+#16 := (* #11 2::Int)
+#18 := (+ #16 3::Int)
+#19 := (f3 f4 #18)
+#13 := (+ #11 1::Int)
+#14 := (f3 f4 #13)
+#22 := (distinct #14 #19 #21)
+#23 := (not #22)
+#90 := (iff #23 #89)
+#87 := (iff #22 #86)
+#84 := (= #21 #83)
+#81 := (= #20 0::Int)
+#82 := [rewrite]: #81
+#85 := [monotonicity #82]: #84
+#79 := (= #19 #78)
+#76 := (= #18 #73)
+#70 := (+ #67 3::Int)
+#74 := (= #70 #73)
+#75 := [rewrite]: #74
+#71 := (= #18 #70)
+#68 := (= #16 #67)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#77 := [trans #72 #75]: #76
+#80 := [monotonicity #77]: #79
+#65 := (= #14 #64)
+#62 := (= #13 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#88 := [monotonicity #66 #80 #85]: #87
+#91 := [monotonicity #88]: #90
+#60 := [asserted]: #23
+#94 := [mp #60 #91]: #89
+#328 := (or #86 #341)
+#661 := [def-axiom]: #328
+#409 := [unit-resolution #661 #94]: #341
+#316 := (or #340 #251 #252 #338)
+#447 := [def-axiom]: #316
+#413 := [unit-resolution #447 #409]: #410
+#414 := [unit-resolution #413 #407 #440]: #251
+#418 := [monotonicity #414]: #423
+#514 := (+ #319 #619)
+#408 := (>= #514 0::Int)
+#492 := (not #408)
+#516 := (or #645 #492)
+#519 := [hypothesis]: #306
+#521 := [unit-resolution #520 #519]: #620
+#524 := [unit-resolution #523 #521]: #491
+#365 := (>= #641 -1::Int)
+#528 := [unit-resolution #527 #519]: #303
+#525 := (or #529 #365)
+#530 := [th-lemma arith triangle-eq]: #525
+#510 := [unit-resolution #530 #528]: #365
+#456 := [hypothesis]: #408
+#511 := [th-lemma arith farkas 1 1 -1 1 #456 #510 #524 #519]: false
+#517 := [lemma #511]: #516
+#411 := [unit-resolution #517 #443]: #492
+#419 := (not #423)
+#412 := (or #419 #408)
+#415 := [th-lemma arith triangle-eq]: #412
+[unit-resolution #415 #411 #418]: false
+unsat
+b95d641e1affb872027fbe667ba2ad4475fc0039 165 0
+#2 := false
+#11 := 0::Int
+decl f7 :: Int
+#10 := f7
+#55 := -1::Int
+#56 := (* -1::Int f7)
+#79 := (>= f7 0::Int)
+#86 := (ite #79 f7 #56)
+#658 := (* -1::Int #86)
+#655 := (+ #56 #658)
+#652 := (<= #655 0::Int)
+#350 := (= #56 #86)
+#80 := (not #79)
+#659 := (+ f7 #658)
+#660 := (<= #659 0::Int)
+#264 := (= f7 #86)
+#661 := [hypothesis]: #79
+#265 := (or #80 #264)
+#351 := [def-axiom]: #265
+#299 := [unit-resolution #351 #661]: #264
+#662 := (not #264)
+#664 := (or #662 #660)
+#304 := [th-lemma arith triangle-eq]: #664
+#305 := [unit-resolution #304 #299]: #660
+#283 := (>= #86 0::Int)
+#356 := (not #283)
+decl f5 :: (-> S4 Int S3)
+#24 := (:var 0 Int)
+decl f6 :: S4
+#9 := f6
+#26 := (f5 f6 #24)
+#686 := (pattern #26)
+#131 := (>= #24 0::Int)
+#133 := (not #131)
+decl f3 :: (-> S2 S3 Int)
+decl f4 :: S2
+#8 := f4
+#27 := (f3 f4 #26)
+#114 := (= #24 #27)
+#139 := (or #114 #133)
+#687 := (forall (vars (?v0 Int)) (:pat #686) #139)
+#144 := (forall (vars (?v0 Int)) #139)
+#690 := (iff #144 #687)
+#688 := (iff #139 #139)
+#689 := [refl]: #688
+#691 := [quant-intro #689]: #690
+#196 := (~ #144 #144)
+#195 := (~ #139 #139)
+#192 := [refl]: #195
+#197 := [nnf-pos #192]: #196
+#28 := (= #27 #24)
+#25 := (<= 0::Int #24)
+#29 := (implies #25 #28)
+#30 := (forall (vars (?v0 Int)) #29)
+#147 := (iff #30 #144)
+#121 := (not #25)
+#122 := (or #121 #114)
+#127 := (forall (vars (?v0 Int)) #122)
+#145 := (iff #127 #144)
+#142 := (iff #122 #139)
+#136 := (or #133 #114)
+#140 := (iff #136 #139)
+#141 := [rewrite]: #140
+#137 := (iff #122 #136)
+#134 := (iff #121 #133)
+#130 := (iff #25 #131)
+#132 := [rewrite]: #130
+#135 := [monotonicity #132]: #134
+#138 := [monotonicity #135]: #137
+#143 := [trans #138 #141]: #142
+#146 := [quant-intro #143]: #145
+#128 := (iff #30 #127)
+#125 := (iff #29 #122)
+#118 := (implies #25 #114)
+#123 := (iff #118 #122)
+#124 := [rewrite]: #123
+#119 := (iff #29 #118)
+#116 := (iff #28 #114)
+#117 := [rewrite]: #116
+#120 := [monotonicity #117]: #119
+#126 := [trans #120 #124]: #125
+#129 := [quant-intro #126]: #128
+#148 := [trans #129 #146]: #147
+#113 := [asserted]: #30
+#149 := [mp #113 #148]: #144
+#193 := [mp~ #149 #197]: #144
+#692 := [mp #193 #691]: #687
+#91 := (f5 f6 #86)
+#94 := (f3 f4 #91)
+#97 := (= #86 #94)
+#100 := (not #97)
+#13 := (- f7)
+#12 := (< f7 0::Int)
+#14 := (ite #12 #13 f7)
+#15 := (f5 f6 #14)
+#16 := (f3 f4 #15)
+#17 := (= #16 #14)
+#18 := (not #17)
+#103 := (iff #18 #100)
+#59 := (ite #12 #56 f7)
+#62 := (f5 f6 #59)
+#65 := (f3 f4 #62)
+#71 := (= #59 #65)
+#76 := (not #71)
+#101 := (iff #76 #100)
+#98 := (iff #71 #97)
+#95 := (= #65 #94)
+#92 := (= #62 #91)
+#89 := (= #59 #86)
+#83 := (ite #80 #56 f7)
+#87 := (= #83 #86)
+#88 := [rewrite]: #87
+#84 := (= #59 #83)
+#81 := (iff #12 #80)
+#82 := [rewrite]: #81
+#85 := [monotonicity #82]: #84
+#90 := [trans #85 #88]: #89
+#93 := [monotonicity #90]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #90 #96]: #98
+#102 := [monotonicity #99]: #101
+#77 := (iff #18 #76)
+#74 := (iff #17 #71)
+#68 := (= #65 #59)
+#72 := (iff #68 #71)
 #73 := [rewrite]: #72
-#69 := (= #16 #68)
-#66 := (= #14 #65)
-#67 := [rewrite]: #66
-#70 := [monotonicity #67]: #69
+#69 := (iff #17 #68)
+#60 := (= #14 #59)
+#57 := (= #13 #56)
+#58 := [rewrite]: #57
+#61 := [monotonicity #58]: #60
+#66 := (= #16 #65)
+#63 := (= #15 #62)
+#64 := [monotonicity #61]: #63
+#67 := [monotonicity #64]: #66
+#70 := [monotonicity #67 #61]: #69
 #75 := [trans #70 #73]: #74
 #78 := [monotonicity #75]: #77
-#63 := (= #12 #62)
-#60 := (= #11 #59)
-#61 := [rewrite]: #60
-#64 := [monotonicity #61]: #63
-#86 := [monotonicity #64 #78 #83]: #85
-#89 := [monotonicity #86]: #88
-#58 := [asserted]: #21
-#92 := [mp #58 #89]: #87
-#326 := (or #84 #339)
-#659 := [def-axiom]: #326
-#407 := [unit-resolution #659 #92]: #339
-#314 := (or #338 #249 #250 #336)
-#445 := [def-axiom]: #314
-#411 := [unit-resolution #445 #407]: #408
-#412 := [unit-resolution #411 #405 #438]: #249
-#416 := [monotonicity #412]: #421
-#512 := (+ #317 #617)
-#406 := (>= #512 0::Int)
-#490 := (not #406)
-#514 := (or #643 #490)
-#517 := [hypothesis]: #304
-#519 := [unit-resolution #518 #517]: #618
-#522 := [unit-resolution #521 #519]: #489
-#363 := (>= #639 -1::Int)
-#526 := [unit-resolution #525 #517]: #301
-#523 := (or #527 #363)
-#528 := [th-lemma arith triangle-eq]: #523
-#508 := [unit-resolution #528 #526]: #363
-#454 := [hypothesis]: #406
-#509 := [th-lemma arith farkas 1 1 -1 1 #454 #508 #522 #517]: false
-#515 := [lemma #509]: #514
-#409 := [unit-resolution #515 #441]: #490
-#417 := (not #421)
-#410 := (or #417 #406)
-#413 := [th-lemma arith triangle-eq]: #410
-[unit-resolution #413 #409 #416]: false
-unsat
-8c488c6da3be276f91a366441114266619770503 161 0
-#2 := false
-#9 := 0::Int
-decl f5 :: Int
-#8 := f5
-#53 := -1::Int
-#54 := (* -1::Int f5)
-#77 := (>= f5 0::Int)
-#84 := (ite #77 f5 #54)
-#656 := (* -1::Int #84)
-#653 := (+ #54 #656)
-#650 := (<= #653 0::Int)
-#348 := (= #54 #84)
-#78 := (not #77)
-#657 := (+ f5 #656)
-#658 := (<= #657 0::Int)
-#262 := (= f5 #84)
-#659 := [hypothesis]: #77
-#263 := (or #78 #262)
-#349 := [def-axiom]: #263
-#297 := [unit-resolution #349 #659]: #262
-#660 := (not #262)
-#662 := (or #660 #658)
-#302 := [th-lemma arith triangle-eq]: #662
-#303 := [unit-resolution #302 #297]: #658
-#281 := (>= #84 0::Int)
-#354 := (not #281)
-decl f4 :: (-> Int S2)
-#22 := (:var 0 Int)
-#24 := (f4 #22)
-#685 := (pattern #24)
-#129 := (>= #22 0::Int)
-#131 := (not #129)
-decl f3 :: (-> S2 Int)
-#25 := (f3 #24)
-#112 := (= #22 #25)
-#137 := (or #112 #131)
-#686 := (forall (vars (?v0 Int)) (:pat #685) #137)
-#142 := (forall (vars (?v0 Int)) #137)
-#689 := (iff #142 #686)
-#687 := (iff #137 #137)
-#688 := [refl]: #687
-#690 := [quant-intro #688]: #689
-#194 := (~ #142 #142)
-#193 := (~ #137 #137)
-#190 := [refl]: #193
-#195 := [nnf-pos #190]: #194
-#26 := (= #25 #22)
-#23 := (<= 0::Int #22)
-#27 := (implies #23 #26)
-#28 := (forall (vars (?v0 Int)) #27)
-#145 := (iff #28 #142)
-#119 := (not #23)
-#120 := (or #119 #112)
-#125 := (forall (vars (?v0 Int)) #120)
-#143 := (iff #125 #142)
-#140 := (iff #120 #137)
-#134 := (or #131 #112)
-#138 := (iff #134 #137)
-#139 := [rewrite]: #138
-#135 := (iff #120 #134)
-#132 := (iff #119 #131)
-#128 := (iff #23 #129)
-#130 := [rewrite]: #128
-#133 := [monotonicity #130]: #132
-#136 := [monotonicity #133]: #135
-#141 := [trans #136 #139]: #140
-#144 := [quant-intro #141]: #143
-#126 := (iff #28 #125)
-#123 := (iff #27 #120)
-#116 := (implies #23 #112)
-#121 := (iff #116 #120)
-#122 := [rewrite]: #121
-#117 := (iff #27 #116)
-#114 := (iff #26 #112)
-#115 := [rewrite]: #114
-#118 := [monotonicity #115]: #117
-#124 := [trans #118 #122]: #123
-#127 := [quant-intro #124]: #126
-#146 := [trans #127 #144]: #145
-#111 := [asserted]: #28
-#147 := [mp #111 #146]: #142
-#191 := [mp~ #147 #195]: #142
-#691 := [mp #191 #690]: #686
-#89 := (f4 #84)
-#92 := (f3 #89)
-#95 := (= #84 #92)
-#98 := (not #95)
-#11 := (- f5)
-#10 := (< f5 0::Int)
-#12 := (ite #10 #11 f5)
-#13 := (f4 #12)
-#14 := (f3 #13)
-#15 := (= #14 #12)
-#16 := (not #15)
-#101 := (iff #16 #98)
-#57 := (ite #10 #54 f5)
-#60 := (f4 #57)
-#63 := (f3 #60)
-#69 := (= #57 #63)
-#74 := (not #69)
-#99 := (iff #74 #98)
-#96 := (iff #69 #95)
-#93 := (= #63 #92)
-#90 := (= #60 #89)
-#87 := (= #57 #84)
-#81 := (ite #78 #54 f5)
-#85 := (= #81 #84)
-#86 := [rewrite]: #85
-#82 := (= #57 #81)
-#79 := (iff #10 #78)
-#80 := [rewrite]: #79
-#83 := [monotonicity #80]: #82
-#88 := [trans #83 #86]: #87
-#91 := [monotonicity #88]: #90
-#94 := [monotonicity #91]: #93
-#97 := [monotonicity #88 #94]: #96
-#100 := [monotonicity #97]: #99
-#75 := (iff #16 #74)
-#72 := (iff #15 #69)
-#66 := (= #63 #57)
-#70 := (iff #66 #69)
-#71 := [rewrite]: #70
-#67 := (iff #15 #66)
-#58 := (= #12 #57)
-#55 := (= #11 #54)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#64 := (= #14 #63)
-#61 := (= #13 #60)
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #62]: #64
-#68 := [monotonicity #65 #59]: #67
-#73 := [trans #68 #71]: #72
-#76 := [monotonicity #73]: #75
-#102 := [trans #76 #100]: #101
-#52 := [asserted]: #16
-#103 := [mp #52 #102]: #98
-#458 := (not #686)
-#665 := (or #458 #95 #354)
-#669 := (or #95 #354)
-#339 := (or #458 #669)
-#672 := (iff #339 #665)
-#673 := [rewrite]: #672
-#340 := [quant-inst #84]: #339
-#674 := [mp #340 #673]: #665
-#663 := [unit-resolution #674 #103 #691]: #354
-#661 := [th-lemma arith farkas -1 1 1 #659 #663 #303]: false
-#664 := [lemma #661]: #78
-#350 := (or #77 #348)
-#341 := [def-axiom]: #350
-#373 := [unit-resolution #341 #664]: #348
-#374 := (not #348)
-#375 := (or #374 #650)
-#376 := [th-lemma arith triangle-eq]: #375
-#269 := [unit-resolution #376 #373]: #650
-#655 := (<= #84 0::Int)
-#646 := (or #655 #281)
-#647 := [th-lemma arith farkas 1 1]: #646
-#369 := [unit-resolution #647 #663]: #655
-[th-lemma arith farkas 1 1 1 #664 #369 #269]: false
-unsat
-003d509bb4f4a85a0837c8f307cd3f490be4bcf1 548 0
-#2 := false
-#659 := -1::Int
-decl f4 :: (-> S2 Int)
-decl f6 :: (-> Int S2)
-decl f7 :: S2
-#27 := f7
-#28 := (f4 f7)
-#26 := 4::Int
-#29 := (* 4::Int #28)
+#104 := [trans #78 #102]: #103
+#54 := [asserted]: #18
+#105 := [mp #54 #104]: #100
+#460 := (not #687)
+#667 := (or #460 #97 #356)
+#671 := (or #97 #356)
+#341 := (or #460 #671)
+#674 := (iff #341 #667)
+#675 := [rewrite]: #674
+#342 := [quant-inst #86]: #341
+#676 := [mp #342 #675]: #667
+#665 := [unit-resolution #676 #105 #692]: #356
+#663 := [th-lemma arith farkas -1 1 1 #661 #665 #305]: false
+#666 := [lemma #663]: #80
+#352 := (or #79 #350)
+#343 := [def-axiom]: #352
+#375 := [unit-resolution #343 #666]: #350
+#376 := (not #350)
+#377 := (or #376 #652)
+#378 := [th-lemma arith triangle-eq]: #377
+#271 := [unit-resolution #378 #375]: #652
+#657 := (<= #86 0::Int)
+#648 := (or #657 #283)
+#649 := [th-lemma arith farkas 1 1]: #648
+#371 := [unit-resolution #649 #665]: #657
+[th-lemma arith farkas 1 1 1 #666 #371 #271]: false
+unsat
+05afc7fcdcf1433af94de36ed38785db528a50f6 552 0
+#2 := false
+#661 := -1::Int
+decl f4 :: (-> S3 S2 Int)
+decl f7 :: (-> S4 Int S2)
+decl f9 :: S2
+#29 := f9
+decl f5 :: S3
+#12 := f5
+#30 := (f4 f5 f9)
+#28 := 4::Int
+#31 := (* 4::Int #30)
 #11 := 1::Int
-#122 := (+ 1::Int #29)
-#125 := (f6 #122)
-#521 := (f4 #125)
-#660 := (* -1::Int #521)
-#645 := (+ #29 #660)
-#610 := (>= #645 -1::Int)
-#661 := (= #645 -1::Int)
-#40 := 0::Int
-#630 := (>= #28 0::Int)
-#608 := (= #521 0::Int)
-#572 := (not #608)
-#591 := (<= #521 0::Int)
-#567 := (not #591)
-#518 := (<= #521 1::Int)
-#793 := (not #518)
-decl f5 :: (-> S2 S2 S1)
+#124 := (+ 1::Int #31)
+decl f8 :: S4
+#18 := f8
+#127 := (f7 f8 #124)
+#523 := (f4 f5 #127)
+#662 := (* -1::Int #523)
+#647 := (+ #31 #662)
+#612 := (>= #647 -1::Int)
+#663 := (= #647 -1::Int)
+#42 := 0::Int
+#632 := (>= #30 0::Int)
+#610 := (= #523 0::Int)
+#574 := (not #610)
+#593 := (<= #523 0::Int)
+#569 := (not #593)
+#520 := (<= #523 1::Int)
+#795 := (not #520)
+decl f6 :: (-> S2 S2 S1)
 #8 := (:var 0 S2)
-#430 := (f5 #8 #125)
-#508 := (pattern #430)
-#516 := (= #8 #125)
+#432 := (f6 #8 #127)
+#510 := (pattern #432)
+#518 := (= #8 #127)
 decl f1 :: S1
 #4 := f1
-#515 := (= f1 #430)
-#431 := (not #515)
-#17 := (f6 1::Int)
-#18 := (= #8 #17)
-#827 := (or #18 #431 #516)
-#830 := (forall (vars (?v1 S2)) (:pat #508) #827)
-#831 := (not #830)
-#818 := (or #518 #831)
-#541 := (not #818)
+#517 := (= f1 #432)
+#433 := (not #517)
+#19 := (f7 f8 1::Int)
+#20 := (= #8 #19)
+#829 := (or #20 #433 #518)
+#832 := (forall (vars (?v1 S2)) (:pat #510) #829)
+#833 := (not #832)
+#820 := (or #520 #833)
+#543 := (not #820)
 decl f3 :: (-> S2 S1)
-#128 := (f3 #125)
-#134 := (= f1 #128)
-#142 := (not #134)
-#544 := (or #142 #541)
-#815 := (not #544)
+#130 := (f3 #127)
+#136 := (= f1 #130)
+#144 := (not #136)
+#546 := (or #144 #543)
+#817 := (not #546)
 decl ?v1!0 :: (-> S2 S2)
-#495 := (?v1!0 #125)
-#833 := (= #17 #495)
-#626 := (= #125 #495)
-#506 := (f5 #495 #125)
-#507 := (= f1 #506)
-#840 := (not #507)
-#493 := (or #840 #626 #833)
-#494 := (not #493)
-#484 := (or #134 #494 #518)
-#825 := (not #484)
-#812 := (or #825 #815)
-#817 := (not #812)
-#12 := (f4 #8)
-#873 := (pattern #12)
+#497 := (?v1!0 #127)
+#835 := (= #19 #497)
+#628 := (= #127 #497)
+#508 := (f6 #497 #127)
+#509 := (= f1 #508)
+#842 := (not #509)
+#495 := (or #842 #628 #835)
+#496 := (not #495)
+#486 := (or #136 #496 #520)
+#827 := (not #486)
+#814 := (or #827 #817)
+#819 := (not #814)
+#13 := (f4 f5 #8)
+#875 := (pattern #13)
 #9 := (f3 #8)
-#872 := (pattern #9)
-#14 := (:var 1 S2)
-#15 := (f5 #8 #14)
-#845 := (pattern #15)
-#75 := (= f1 #15)
-#81 := (not #75)
-#19 := (= #8 #14)
-#103 := (or #18 #19 #81)
-#846 := (forall (vars (?v1 S2)) (:pat #845) #103)
-#851 := (not #846)
-#99 := (<= #12 1::Int)
-#854 := (or #99 #851)
-#857 := (not #854)
-#72 := (= f1 #9)
-#297 := (not #72)
-#860 := (or #297 #857)
-#863 := (not #860)
-#274 := (?v1!0 #8)
-#318 := (= #8 #274)
-#315 := (= #17 #274)
-#257 := (f5 #274 #8)
-#258 := (= f1 #257)
-#275 := (not #258)
-#324 := (or #275 #315 #318)
-#329 := (not #324)
-#338 := (or #72 #99 #329)
-#362 := (not #338)
-#866 := (or #362 #863)
-#869 := (not #866)
-#874 := (forall (vars (?v0 S2)) (:pat #872 #873) #869)
-#106 := (forall (vars (?v1 S2)) #103)
-#280 := (not #106)
-#353 := (or #99 #280)
-#354 := (not #353)
-#355 := (or #297 #354)
-#361 := (not #355)
-#363 := (or #362 #361)
-#364 := (not #363)
-#369 := (forall (vars (?v0 S2)) #364)
-#875 := (iff #369 #874)
-#870 := (iff #364 #869)
-#867 := (iff #363 #866)
-#864 := (iff #361 #863)
-#861 := (iff #355 #860)
-#858 := (iff #354 #857)
-#855 := (iff #353 #854)
-#852 := (iff #280 #851)
-#849 := (iff #106 #846)
-#847 := (iff #103 #103)
-#848 := [refl]: #847
-#850 := [quant-intro #848]: #849
-#853 := [monotonicity #850]: #852
-#856 := [monotonicity #853]: #855
-#859 := [monotonicity #856]: #858
-#862 := [monotonicity #859]: #861
-#865 := [monotonicity #862]: #864
-#868 := [monotonicity #865]: #867
-#871 := [monotonicity #868]: #870
-#876 := [quant-intro #871]: #875
-#100 := (not #99)
-#109 := (and #100 #106)
-#303 := (or #297 #109)
-#343 := (and #303 #338)
-#346 := (forall (vars (?v0 S2)) #343)
-#370 := (iff #346 #369)
-#367 := (iff #343 #364)
-#358 := (and #355 #338)
-#365 := (iff #358 #364)
-#366 := [rewrite]: #365
-#359 := (iff #343 #358)
-#356 := (iff #303 #355)
-#269 := (iff #109 #354)
-#270 := [rewrite]: #269
-#357 := [monotonicity #270]: #356
-#360 := [monotonicity #357]: #359
-#368 := [trans #360 #366]: #367
-#371 := [quant-intro #368]: #370
-#276 := (= #274 #8)
-#277 := (= #274 #17)
-#278 := (or #277 #276 #275)
-#279 := (not #278)
-#271 := (not #100)
-#285 := (or #271 #279)
-#302 := (or #72 #285)
-#304 := (and #303 #302)
-#307 := (forall (vars (?v0 S2)) #304)
-#347 := (iff #307 #346)
-#344 := (iff #304 #343)
-#341 := (iff #302 #338)
-#332 := (or #99 #329)
-#335 := (or #72 #332)
-#339 := (iff #335 #338)
-#340 := [rewrite]: #339
-#336 := (iff #302 #335)
-#333 := (iff #285 #332)
-#330 := (iff #279 #329)
-#327 := (iff #278 #324)
-#321 := (or #315 #318 #275)
-#325 := (iff #321 #324)
-#326 := [rewrite]: #325
-#322 := (iff #278 #321)
-#319 := (iff #276 #318)
-#320 := [rewrite]: #319
-#316 := (iff #277 #315)
-#317 := [rewrite]: #316
-#323 := [monotonicity #317 #320]: #322
-#328 := [trans #323 #326]: #327
-#331 := [monotonicity #328]: #330
-#313 := (iff #271 #99)
-#314 := [rewrite]: #313
-#334 := [monotonicity #314 #331]: #333
-#337 := [monotonicity #334]: #336
-#342 := [trans #337 #340]: #341
-#345 := [monotonicity #342]: #344
-#348 := [quant-intro #345]: #347
-#112 := (iff #72 #109)
-#115 := (forall (vars (?v0 S2)) #112)
-#308 := (~ #115 #307)
-#305 := (~ #112 #304)
-#295 := (~ #109 #109)
-#293 := (~ #106 #106)
-#291 := (~ #103 #103)
+#874 := (pattern #9)
+#15 := (:var 1 S2)
+#16 := (f6 #8 #15)
+#847 := (pattern #16)
+#77 := (= f1 #16)
+#83 := (not #77)
+#21 := (= #8 #15)
+#105 := (or #20 #21 #83)
+#848 := (forall (vars (?v1 S2)) (:pat #847) #105)
+#853 := (not #848)
+#101 := (<= #13 1::Int)
+#856 := (or #101 #853)
+#859 := (not #856)
+#74 := (= f1 #9)
+#299 := (not #74)
+#862 := (or #299 #859)
+#865 := (not #862)
+#276 := (?v1!0 #8)
+#320 := (= #8 #276)
+#317 := (= #19 #276)
+#259 := (f6 #276 #8)
+#260 := (= f1 #259)
+#277 := (not #260)
+#326 := (or #277 #317 #320)
+#331 := (not #326)
+#340 := (or #74 #101 #331)
+#364 := (not #340)
+#868 := (or #364 #865)
+#871 := (not #868)
+#876 := (forall (vars (?v0 S2)) (:pat #874 #875) #871)
+#108 := (forall (vars (?v1 S2)) #105)
+#282 := (not #108)
+#355 := (or #101 #282)
+#356 := (not #355)
+#357 := (or #299 #356)
+#363 := (not #357)
+#365 := (or #364 #363)
+#366 := (not #365)
+#371 := (forall (vars (?v0 S2)) #366)
+#877 := (iff #371 #876)
+#872 := (iff #366 #871)
+#869 := (iff #365 #868)
+#866 := (iff #363 #865)
+#863 := (iff #357 #862)
+#860 := (iff #356 #859)
+#857 := (iff #355 #856)
+#854 := (iff #282 #853)
+#851 := (iff #108 #848)
+#849 := (iff #105 #105)
+#850 := [refl]: #849
+#852 := [quant-intro #850]: #851
+#855 := [monotonicity #852]: #854
+#858 := [monotonicity #855]: #857
+#861 := [monotonicity #858]: #860
+#864 := [monotonicity #861]: #863
+#867 := [monotonicity #864]: #866
+#870 := [monotonicity #867]: #869
+#873 := [monotonicity #870]: #872
+#878 := [quant-intro #873]: #877
+#102 := (not #101)
+#111 := (and #102 #108)
+#305 := (or #299 #111)
+#345 := (and #305 #340)
+#348 := (forall (vars (?v0 S2)) #345)
+#372 := (iff #348 #371)
+#369 := (iff #345 #366)
+#360 := (and #357 #340)
+#367 := (iff #360 #366)
+#368 := [rewrite]: #367
+#361 := (iff #345 #360)
+#358 := (iff #305 #357)
+#271 := (iff #111 #356)
+#272 := [rewrite]: #271
+#359 := [monotonicity #272]: #358
+#362 := [monotonicity #359]: #361
+#370 := [trans #362 #368]: #369
+#373 := [quant-intro #370]: #372
+#278 := (= #276 #8)
+#279 := (= #276 #19)
+#280 := (or #279 #278 #277)
+#281 := (not #280)
+#273 := (not #102)
+#287 := (or #273 #281)
+#304 := (or #74 #287)
+#306 := (and #305 #304)
+#309 := (forall (vars (?v0 S2)) #306)
+#349 := (iff #309 #348)
+#346 := (iff #306 #345)
+#343 := (iff #304 #340)
+#334 := (or #101 #331)
+#337 := (or #74 #334)
+#341 := (iff #337 #340)
+#342 := [rewrite]: #341
+#338 := (iff #304 #337)
+#335 := (iff #287 #334)
+#332 := (iff #281 #331)
+#329 := (iff #280 #326)
+#323 := (or #317 #320 #277)
+#327 := (iff #323 #326)
+#328 := [rewrite]: #327
+#324 := (iff #280 #323)
+#321 := (iff #278 #320)
+#322 := [rewrite]: #321
+#318 := (iff #279 #317)
+#319 := [rewrite]: #318
+#325 := [monotonicity #319 #322]: #324
+#330 := [trans #325 #328]: #329
+#333 := [monotonicity #330]: #332
+#315 := (iff #273 #101)
+#316 := [rewrite]: #315
+#336 := [monotonicity #316 #333]: #335
+#339 := [monotonicity #336]: #338
+#344 := [trans #339 #342]: #343
+#347 := [monotonicity #344]: #346
+#350 := [quant-intro #347]: #349
+#114 := (iff #74 #111)
+#117 := (forall (vars (?v0 S2)) #114)
+#310 := (~ #117 #309)
+#307 := (~ #114 #306)
+#297 := (~ #111 #111)
+#295 := (~ #108 #108)
+#293 := (~ #105 #105)
+#294 := [refl]: #293
+#296 := [nnf-pos #294]: #295
+#291 := (~ #102 #102)
 #292 := [refl]: #291
-#294 := [nnf-pos #292]: #293
-#289 := (~ #100 #100)
-#290 := [refl]: #289
-#296 := [monotonicity #290 #294]: #295
-#286 := (not #109)
-#287 := (~ #286 #285)
-#281 := (~ #280 #279)
-#282 := [sk]: #281
-#272 := (~ #271 #271)
-#273 := [refl]: #272
-#288 := [nnf-neg #273 #282]: #287
-#300 := (~ #72 #72)
+#298 := [monotonicity #292 #296]: #297
+#288 := (not #111)
+#289 := (~ #288 #287)
+#283 := (~ #282 #281)
+#284 := [sk]: #283
+#274 := (~ #273 #273)
+#275 := [refl]: #274
+#290 := [nnf-neg #275 #284]: #289
+#302 := (~ #74 #74)
+#303 := [refl]: #302
+#300 := (~ #299 #299)
 #301 := [refl]: #300
-#298 := (~ #297 #297)
-#299 := [refl]: #298
-#306 := [nnf-pos #299 #301 #288 #296]: #305
-#309 := [nnf-pos #306]: #308
-#20 := (or #18 #19)
-#16 := (= #15 f1)
-#21 := (implies #16 #20)
-#22 := (forall (vars (?v1 S2)) #21)
-#13 := (< 1::Int #12)
-#23 := (and #13 #22)
+#308 := [nnf-pos #301 #303 #290 #298]: #307
+#311 := [nnf-pos #308]: #310
+#22 := (or #20 #21)
+#17 := (= #16 f1)
+#23 := (implies #17 #22)
+#24 := (forall (vars (?v1 S2)) #23)
+#14 := (< 1::Int #13)
+#25 := (and #14 #24)
 #10 := (= #9 f1)
-#24 := (iff #10 #23)
-#25 := (forall (vars (?v0 S2)) #24)
-#118 := (iff #25 #115)
-#82 := (or #20 #81)
-#87 := (forall (vars (?v1 S2)) #82)
-#90 := (and #13 #87)
-#93 := (iff #72 #90)
-#96 := (forall (vars (?v0 S2)) #93)
-#116 := (iff #96 #115)
-#113 := (iff #93 #112)
-#110 := (iff #90 #109)
-#107 := (iff #87 #106)
-#104 := (iff #82 #103)
-#105 := [rewrite]: #104
-#108 := [quant-intro #105]: #107
-#101 := (iff #13 #100)
-#102 := [rewrite]: #101
-#111 := [monotonicity #102 #108]: #110
-#114 := [monotonicity #111]: #113
-#117 := [quant-intro #114]: #116
-#97 := (iff #25 #96)
-#94 := (iff #24 #93)
-#91 := (iff #23 #90)
-#88 := (iff #22 #87)
-#85 := (iff #21 #82)
-#78 := (implies #75 #20)
-#83 := (iff #78 #82)
-#84 := [rewrite]: #83
-#79 := (iff #21 #78)
-#76 := (iff #16 #75)
-#77 := [rewrite]: #76
-#80 := [monotonicity #77]: #79
-#86 := [trans #80 #84]: #85
-#89 := [quant-intro #86]: #88
-#92 := [monotonicity #89]: #91
-#73 := (iff #10 #72)
+#26 := (iff #10 #25)
+#27 := (forall (vars (?v0 S2)) #26)
+#120 := (iff #27 #117)
+#84 := (or #22 #83)
+#89 := (forall (vars (?v1 S2)) #84)
+#92 := (and #14 #89)
+#95 := (iff #74 #92)
+#98 := (forall (vars (?v0 S2)) #95)
+#118 := (iff #98 #117)
+#115 := (iff #95 #114)
+#112 := (iff #92 #111)
+#109 := (iff #89 #108)
+#106 := (iff #84 #105)
+#107 := [rewrite]: #106
+#110 := [quant-intro #107]: #109
+#103 := (iff #14 #102)
+#104 := [rewrite]: #103
+#113 := [monotonicity #104 #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#99 := (iff #27 #98)
+#96 := (iff #26 #95)
+#93 := (iff #25 #92)
+#90 := (iff #24 #89)
+#87 := (iff #23 #84)
+#80 := (implies #77 #22)
+#85 := (iff #80 #84)
+#86 := [rewrite]: #85
+#81 := (iff #23 #80)
+#78 := (iff #17 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#88 := [trans #82 #86]: #87
+#91 := [quant-intro #88]: #90
+#94 := [monotonicity #91]: #93
+#75 := (iff #10 #74)
+#76 := [rewrite]: #75
+#97 := [monotonicity #76 #94]: #96
+#100 := [quant-intro #97]: #99
+#121 := [trans #100 #119]: #120
+#73 := [asserted]: #27
+#122 := [mp #73 #121]: #117
+#312 := [mp~ #122 #311]: #309
+#313 := [mp #312 #350]: #348
+#374 := [mp #313 #373]: #371
+#879 := [mp #374 #878]: #876
+#531 := (not #876)
+#532 := (or #531 #819)
+#519 := (or #20 #518 #433)
+#521 := (forall (vars (?v1 S2)) (:pat #510) #519)
+#522 := (not #521)
+#524 := (or #520 #522)
+#503 := (not #524)
+#839 := (or #144 #503)
+#841 := (not #839)
+#843 := (or #842 #835 #628)
+#844 := (not #843)
+#845 := (or #136 #520 #844)
+#840 := (not #845)
+#846 := (or #840 #841)
+#836 := (not #846)
+#810 := (or #531 #836)
+#525 := (iff #810 #532)
+#812 := (iff #532 #532)
+#809 := [rewrite]: #812
+#529 := (iff #836 #819)
+#818 := (iff #846 #814)
+#539 := (iff #841 #817)
+#439 := (iff #839 #546)
+#544 := (iff #503 #543)
+#821 := (iff #524 #820)
+#831 := (iff #522 #833)
+#471 := (iff #521 #832)
+#466 := (iff #519 #829)
+#830 := [rewrite]: #466
+#472 := [quant-intro #830]: #471
+#834 := [monotonicity #472]: #831
+#528 := [monotonicity #834]: #821
+#545 := [monotonicity #528]: #544
+#816 := [monotonicity #545]: #439
+#540 := [monotonicity #816]: #539
+#828 := (iff #840 #827)
+#825 := (iff #845 #486)
+#822 := (or #136 #520 #496)
+#487 := (iff #822 #486)
+#824 := [rewrite]: #487
+#484 := (iff #845 #822)
+#838 := (iff #844 #496)
+#500 := (iff #843 #495)
+#837 := [rewrite]: #500
+#480 := [monotonicity #837]: #838
+#485 := [monotonicity #480]: #484
+#826 := [trans #485 #824]: #825
+#823 := [monotonicity #826]: #828
+#815 := [monotonicity #823 #540]: #818
+#530 := [monotonicity #815]: #529
+#808 := [monotonicity #530]: #525
+#813 := [trans #808 #809]: #525
+#811 := [quant-inst #127]: #810
+#802 := [mp #811 #813]: #532
+#597 := [unit-resolution #802 #879]: #819
+#631 := (or #814 #546)
+#779 := [def-axiom]: #631
+#583 := [unit-resolution #779 #597]: #546
+#585 := (or #817 #543)
+#155 := (>= #30 1::Int)
+#159 := (or #144 #155)
+#164 := (not #159)
+#36 := (<= 1::Int #30)
+#32 := (+ #31 1::Int)
+#33 := (f7 f8 #32)
+#34 := (f3 #33)
+#35 := (= #34 f1)
+#37 := (implies #35 #36)
+#38 := (not #37)
+#167 := (iff #38 #164)
+#145 := (or #36 #144)
+#150 := (not #145)
+#165 := (iff #150 #164)
+#162 := (iff #145 #159)
+#156 := (or #155 #144)
+#160 := (iff #156 #159)
+#161 := [rewrite]: #160
+#157 := (iff #145 #156)
+#153 := (iff #36 #155)
+#154 := [rewrite]: #153
+#158 := [monotonicity #154]: #157
+#163 := [trans #158 #161]: #162
+#166 := [monotonicity #163]: #165
+#151 := (iff #38 #150)
+#148 := (iff #37 #145)
+#141 := (implies #136 #36)
+#146 := (iff #141 #145)
+#147 := [rewrite]: #146
+#142 := (iff #37 #141)
+#139 := (iff #35 #136)
+#133 := (= #130 f1)
+#137 := (iff #133 #136)
+#138 := [rewrite]: #137
+#134 := (iff #35 #133)
+#131 := (= #34 #130)
+#128 := (= #33 #127)
+#125 := (= #32 #124)
+#126 := [rewrite]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [monotonicity #132]: #134
+#140 := [trans #135 #138]: #139
+#143 := [monotonicity #140]: #142
+#149 := [trans #143 #147]: #148
+#152 := [monotonicity #149]: #151
+#168 := [trans #152 #166]: #167
+#123 := [asserted]: #38
+#169 := [mp #123 #168]: #164
+#170 := [not-or-elim #169]: #136
+#788 := (or #817 #144 #543)
+#670 := [def-axiom]: #788
+#586 := [unit-resolution #670 #170]: #585
+#584 := [unit-resolution #586 #583]: #543
+#791 := (or #820 #795)
+#798 := [def-axiom]: #791
+#587 := [unit-resolution #798 #584]: #795
+#571 := (or #569 #520)
+#572 := [th-lemma arith farkas 1 1]: #571
+#573 := [unit-resolution #572 #587]: #569
+#575 := (or #574 #593)
+#576 := [th-lemma arith triangle-eq]: #575
+#577 := [unit-resolution #576 #573]: #574
+#601 := (or #610 #632)
+#43 := (:var 0 Int)
+#45 := (f7 f8 #43)
+#886 := (pattern #45)
+#199 := (>= #43 0::Int)
+#46 := (f4 f5 #45)
+#51 := (= #46 0::Int)
+#247 := (or #51 #199)
+#893 := (forall (vars (?v0 Int)) (:pat #886) #247)
+#252 := (forall (vars (?v0 Int)) #247)
+#896 := (iff #252 #893)
+#894 := (iff #247 #247)
+#895 := [refl]: #894
+#897 := [quant-intro #895]: #896
+#269 := (~ #252 #252)
+#352 := (~ #247 #247)
+#353 := [refl]: #352
+#270 := [nnf-pos #353]: #269
+#50 := (< #43 0::Int)
+#52 := (implies #50 #51)
+#53 := (forall (vars (?v0 Int)) #52)
+#255 := (iff #53 #252)
+#218 := (= 0::Int #46)
+#224 := (not #50)
+#225 := (or #224 #218)
+#230 := (forall (vars (?v0 Int)) #225)
+#253 := (iff #230 #252)
+#250 := (iff #225 #247)
+#244 := (or #199 #51)
+#248 := (iff #244 #247)
+#249 := [rewrite]: #248
+#245 := (iff #225 #244)
+#242 := (iff #218 #51)
+#243 := [rewrite]: #242
+#240 := (iff #224 #199)
+#200 := (not #199)
+#235 := (not #200)
+#238 := (iff #235 #199)
+#239 := [rewrite]: #238
+#236 := (iff #224 #235)
+#233 := (iff #50 #200)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#241 := [trans #237 #239]: #240
+#246 := [monotonicity #241 #243]: #245
+#251 := [trans #246 #249]: #250
+#254 := [quant-intro #251]: #253
+#231 := (iff #53 #230)
+#228 := (iff #52 #225)
+#221 := (implies #50 #218)
+#226 := (iff #221 #225)
+#227 := [rewrite]: #226
+#222 := (iff #52 #221)
+#219 := (iff #51 #218)
+#220 := [rewrite]: #219
+#223 := [monotonicity #220]: #222
+#229 := [trans #223 #227]: #228
+#232 := [quant-intro #229]: #231
+#256 := [trans #232 #254]: #255
+#217 := [asserted]: #53
+#257 := [mp #217 #256]: #252
+#354 := [mp~ #257 #270]: #252
+#898 := [mp #354 #897]: #893
+#607 := (not #893)
+#603 := (or #607 #610 #632)
+#654 := (>= #124 0::Int)
+#613 := (or #610 #654)
+#608 := (or #607 #613)
+#599 := (iff #608 #603)
+#588 := (or #607 #601)
+#594 := (iff #588 #603)
+#595 := [rewrite]: #594
+#590 := (iff #608 #588)
+#604 := (iff #613 #601)
+#634 := (iff #654 #632)
+#635 := [rewrite]: #634
+#606 := [monotonicity #635]: #604
+#591 := [monotonicity #606]: #590
+#592 := [trans #591 #595]: #599
+#598 := [quant-inst #124]: #608
+#600 := [mp #598 #592]: #603
+#578 := [unit-resolution #600 #898]: #601
+#579 := [unit-resolution #578 #577]: #632
+#636 := (not #632)
+#643 := (or #636 #663)
+#181 := (= #43 #46)
+#206 := (or #181 #200)
+#887 := (forall (vars (?v0 Int)) (:pat #886) #206)
+#211 := (forall (vars (?v0 Int)) #206)
+#890 := (iff #211 #887)
+#888 := (iff #206 #206)
+#889 := [refl]: #888
+#891 := [quant-intro #889]: #890
+#267 := (~ #211 #211)
+#266 := (~ #206 #206)
+#263 := [refl]: #266
+#268 := [nnf-pos #263]: #267
+#47 := (= #46 #43)
+#44 := (<= 0::Int #43)
+#48 := (implies #44 #47)
+#49 := (forall (vars (?v0 Int)) #48)
+#214 := (iff #49 #211)
+#188 := (not #44)
+#189 := (or #188 #181)
+#194 := (forall (vars (?v0 Int)) #189)
+#212 := (iff #194 #211)
+#209 := (iff #189 #206)
+#203 := (or #200 #181)
+#207 := (iff #203 #206)
+#208 := [rewrite]: #207
+#204 := (iff #189 #203)
+#201 := (iff #188 #200)
+#197 := (iff #44 #199)
+#198 := [rewrite]: #197
+#202 := [monotonicity #198]: #201
+#205 := [monotonicity #202]: #204
+#210 := [trans #205 #208]: #209
+#213 := [quant-intro #210]: #212
+#195 := (iff #49 #194)
+#192 := (iff #48 #189)
+#185 := (implies #44 #181)
+#190 := (iff #185 #189)
+#191 := [rewrite]: #190
+#186 := (iff #48 #185)
+#183 := (iff #47 #181)
+#184 := [rewrite]: #183
+#187 := [monotonicity #184]: #186
+#193 := [trans #187 #191]: #192
+#196 := [quant-intro #193]: #195
+#215 := [trans #196 #213]: #214
+#180 := [asserted]: #49
+#216 := [mp #180 #215]: #211
+#264 := [mp~ #216 #268]: #211
+#892 := [mp #264 #891]: #887
+#616 := (not #887)
+#617 := (or #616 #636 #663)
+#655 := (not #654)
+#659 := (= #124 #523)
+#660 := (or #659 #655)
+#619 := (or #616 #660)
+#602 := (iff #619 #617)
+#621 := (or #616 #643)
+#618 := (iff #621 #617)
+#623 := [rewrite]: #618
+#463 := (iff #619 #621)
+#614 := (iff #660 #643)
+#640 := (or #663 #636)
+#626 := (iff #640 #643)
+#644 := [rewrite]: #626
+#641 := (iff #660 #640)
+#638 := (iff #655 #636)
+#639 := [monotonicity #635]: #638
+#624 := (iff #659 #663)
+#625 := [rewrite]: #624
+#642 := [monotonicity #625 #639]: #641
+#615 := [trans #642 #644]: #614
+#622 := [monotonicity #615]: #463
+#605 := [trans #622 #623]: #602
+#620 := [quant-inst #124]: #619
+#609 := [mp #620 #605]: #617
+#580 := [unit-resolution #609 #892]: #643
+#581 := [unit-resolution #580 #579]: #663
+#570 := (not #663)
+#582 := (or #570 #612)
+#559 := [th-lemma arith triangle-eq]: #582
+#561 := [unit-resolution #559 #581]: #612
+#171 := (not #155)
+#172 := [not-or-elim #169]: #171
+[th-lemma arith farkas -4 1 1 #172 #587 #561]: false
+unsat
+8bbf55cbd9308f9edfe0203d9100aace31ed1b8b 63 0
+#2 := false
+decl f8 :: S2
+#19 := f8
+decl f6 :: S2
+#15 := f6
+#21 := (= f6 f8)
+decl f3 :: (-> S4 S5 S2)
+decl f5 :: (-> S2 S3 S5)
+decl f7 :: S3
+#16 := f7
+#17 := (f5 f6 f7)
+decl f4 :: S4
+#8 := f4
+#18 := (f3 f4 #17)
+#20 := (= #18 f8)
+#51 := (not #20)
+#53 := (or #51 #21)
+#56 := (not #53)
+#22 := (implies #20 #21)
+#23 := (not #22)
+#57 := (iff #23 #56)
+#54 := (iff #22 #53)
+#55 := [rewrite]: #54
+#58 := [monotonicity #55]: #57
+#50 := [asserted]: #23
+#61 := [mp #50 #58]: #56
+#59 := [not-or-elim #61]: #20
+#126 := (= f6 #18)
+#10 := (:var 0 S3)
+#9 := (:var 1 S2)
+#11 := (f5 #9 #10)
+#544 := (pattern #11)
+#12 := (f3 f4 #11)
+#44 := (= #9 #12)
+#545 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #544) #44)
+#47 := (forall (vars (?v0 S2) (?v1 S3)) #44)
+#548 := (iff #47 #545)
+#546 := (iff #44 #44)
+#547 := [refl]: #546
+#549 := [quant-intro #547]: #548
+#74 := (~ #47 #47)
+#72 := (~ #44 #44)
+#73 := [refl]: #72
+#75 := [nnf-pos #73]: #74
+#13 := (= #12 #9)
+#14 := (forall (vars (?v0 S2) (?v1 S3)) #13)
+#48 := (iff #14 #47)
+#45 := (iff #13 #44)
+#46 := [rewrite]: #45
+#49 := [quant-intro #46]: #48
+#43 := [asserted]: #14
+#52 := [mp #43 #49]: #47
+#64 := [mp~ #52 #75]: #47
+#550 := [mp #64 #549]: #545
+#214 := (not #545)
+#128 := (or #214 #126)
+#215 := [quant-inst #15 #16]: #128
+#213 := [unit-resolution #215 #550]: #126
+#127 := [trans #213 #59]: #21
+#60 := (not #21)
+#62 := [not-or-elim #61]: #60
+[unit-resolution #62 #127]: false
+unsat
+995e3c8bb1366c3ddfd69a100721f0bf4e72ec56 120 0
+#2 := false
+decl f11 :: (-> S9 S5 S3)
+decl f16 :: S5
+#35 := f16
+decl f12 :: S9
+#26 := f12
+#40 := (f11 f12 f16)
+decl f6 :: (-> S6 S7 S3)
+decl f13 :: S7
+#30 := f13
+decl f7 :: S6
+#15 := f7
+#39 := (f6 f7 f13)
+#41 := (= #39 #40)
+decl f5 :: (-> S2 S3 S5)
+decl f14 :: S3
+#31 := f14
+decl f15 :: S2
+#32 := f15
+#36 := (f5 f15 f14)
+#188 := (f11 f12 #36)
+#252 := (= #188 #40)
+#604 := (= #40 #188)
+#37 := (= f16 #36)
+decl f8 :: (-> S3 S2 S7)
+#33 := (f8 f14 f15)
+#34 := (= f13 #33)
+#38 := (and #34 #37)
+#95 := (not #38)
+#97 := (or #95 #41)
+#100 := (not #97)
+#42 := (implies #38 #41)
+#43 := (not #42)
+#101 := (iff #43 #100)
+#98 := (iff #42 #97)
+#99 := [rewrite]: #98
+#102 := [monotonicity #99]: #101
+#94 := [asserted]: #43
+#105 := [mp #94 #102]: #100
+#103 := [not-or-elim #105]: #38
+#106 := [and-elim #103]: #37
+#594 := [monotonicity #106]: #604
+#257 := [symm #594]: #252
+#596 := (= #39 #188)
+#275 := (= f14 #188)
+#10 := (:var 0 S3)
+#9 := (:var 1 S2)
+#11 := (f5 #9 #10)
+#605 := (pattern #11)
+#27 := (f11 f12 #11)
+#87 := (= #10 #27)
+#625 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #605) #87)
+#91 := (forall (vars (?v0 S2) (?v1 S3)) #87)
+#628 := (iff #91 #625)
+#626 := (iff #87 #87)
+#627 := [refl]: #626
+#629 := [quant-intro #627]: #628
+#116 := (~ #91 #91)
+#135 := (~ #87 #87)
+#136 := [refl]: #135
+#117 := [nnf-pos #136]: #116
+#28 := (= #27 #10)
+#29 := (forall (vars (?v0 S2) (?v1 S3)) #28)
+#92 := (iff #29 #91)
+#89 := (iff #28 #87)
+#90 := [rewrite]: #89
+#93 := [quant-intro #90]: #92
+#86 := [asserted]: #29
+#96 := [mp #86 #93]: #91
+#137 := [mp~ #96 #117]: #91
+#630 := [mp #137 #629]: #625
+#207 := (not #625)
+#280 := (or #207 #275)
+#277 := [quant-inst #32 #31]: #280
+#386 := [unit-resolution #277 #630]: #275
+#595 := (= #39 f14)
+#278 := (f6 f7 #33)
+#603 := (= #278 f14)
+#279 := (= f14 #278)
+#17 := (:var 0 S2)
+#16 := (:var 1 S3)
+#18 := (f8 #16 #17)
+#612 := (pattern #18)
+#19 := (f6 f7 #18)
+#71 := (= #16 #19)
+#613 := (forall (vars (?v0 S3) (?v1 S2)) (:pat #612) #71)
+#75 := (forall (vars (?v0 S3) (?v1 S2)) #71)
+#616 := (iff #75 #613)
+#614 := (iff #71 #71)
+#615 := [refl]: #614
+#617 := [quant-intro #615]: #616
+#112 := (~ #75 #75)
+#111 := (~ #71 #71)
+#130 := [refl]: #111
+#113 := [nnf-pos #130]: #112
+#20 := (= #19 #16)
+#21 := (forall (vars (?v0 S3) (?v1 S2)) #20)
+#76 := (iff #21 #75)
+#73 := (iff #20 #71)
 #74 := [rewrite]: #73
-#95 := [monotonicity #74 #92]: #94
-#98 := [quant-intro #95]: #97
-#119 := [trans #98 #117]: #118
-#71 := [asserted]: #25
-#120 := [mp #71 #119]: #115
-#310 := [mp~ #120 #309]: #307
-#311 := [mp #310 #348]: #346
-#372 := [mp #311 #371]: #369
-#877 := [mp #372 #876]: #874
-#529 := (not #874)
-#530 := (or #529 #817)
-#517 := (or #18 #516 #431)
-#519 := (forall (vars (?v1 S2)) (:pat #508) #517)
-#520 := (not #519)
-#522 := (or #518 #520)
-#501 := (not #522)
-#837 := (or #142 #501)
-#839 := (not #837)
-#841 := (or #840 #833 #626)
-#842 := (not #841)
-#843 := (or #134 #518 #842)
-#838 := (not #843)
-#844 := (or #838 #839)
-#834 := (not #844)
-#808 := (or #529 #834)
-#523 := (iff #808 #530)
-#810 := (iff #530 #530)
-#807 := [rewrite]: #810
-#527 := (iff #834 #817)
-#816 := (iff #844 #812)
-#537 := (iff #839 #815)
-#437 := (iff #837 #544)
-#542 := (iff #501 #541)
-#819 := (iff #522 #818)
-#829 := (iff #520 #831)
-#469 := (iff #519 #830)
-#464 := (iff #517 #827)
-#828 := [rewrite]: #464
-#470 := [quant-intro #828]: #469
-#832 := [monotonicity #470]: #829
-#526 := [monotonicity #832]: #819
-#543 := [monotonicity #526]: #542
-#814 := [monotonicity #543]: #437
-#538 := [monotonicity #814]: #537
-#826 := (iff #838 #825)
-#823 := (iff #843 #484)
-#820 := (or #134 #518 #494)
-#485 := (iff #820 #484)
-#822 := [rewrite]: #485
-#482 := (iff #843 #820)
-#836 := (iff #842 #494)
-#498 := (iff #841 #493)
-#835 := [rewrite]: #498
-#478 := [monotonicity #835]: #836
-#483 := [monotonicity #478]: #482
-#824 := [trans #483 #822]: #823
-#821 := [monotonicity #824]: #826
-#813 := [monotonicity #821 #538]: #816
-#528 := [monotonicity #813]: #527
-#806 := [monotonicity #528]: #523
-#811 := [trans #806 #807]: #523
-#809 := [quant-inst #125]: #808
-#800 := [mp #809 #811]: #530
-#595 := [unit-resolution #800 #877]: #817
-#629 := (or #812 #544)
-#777 := [def-axiom]: #629
-#581 := [unit-resolution #777 #595]: #544
-#583 := (or #815 #541)
-#153 := (>= #28 1::Int)
-#157 := (or #142 #153)
-#162 := (not #157)
-#34 := (<= 1::Int #28)
-#30 := (+ #29 1::Int)
-#31 := (f6 #30)
-#32 := (f3 #31)
-#33 := (= #32 f1)
-#35 := (implies #33 #34)
-#36 := (not #35)
-#165 := (iff #36 #162)
-#143 := (or #34 #142)
-#148 := (not #143)
-#163 := (iff #148 #162)
-#160 := (iff #143 #157)
-#154 := (or #153 #142)
-#158 := (iff #154 #157)
-#159 := [rewrite]: #158
-#155 := (iff #143 #154)
-#151 := (iff #34 #153)
-#152 := [rewrite]: #151
-#156 := [monotonicity #152]: #155
-#161 := [trans #156 #159]: #160
-#164 := [monotonicity #161]: #163
-#149 := (iff #36 #148)
-#146 := (iff #35 #143)
-#139 := (implies #134 #34)
-#144 := (iff #139 #143)
-#145 := [rewrite]: #144
-#140 := (iff #35 #139)
-#137 := (iff #33 #134)
-#131 := (= #128 f1)
-#135 := (iff #131 #134)
-#136 := [rewrite]: #135
-#132 := (iff #33 #131)
-#129 := (= #32 #128)
-#126 := (= #31 #125)
-#123 := (= #30 #122)
-#124 := [rewrite]: #123
-#127 := [monotonicity #124]: #126
-#130 := [monotonicity #127]: #129
-#133 := [monotonicity #130]: #132
-#138 := [trans #133 #136]: #137
-#141 := [monotonicity #138]: #140
-#147 := [trans #141 #145]: #146
-#150 := [monotonicity #147]: #149
-#166 := [trans #150 #164]: #165
-#121 := [asserted]: #36
-#167 := [mp #121 #166]: #162
-#168 := [not-or-elim #167]: #134
-#786 := (or #815 #142 #541)
-#668 := [def-axiom]: #786
-#584 := [unit-resolution #668 #168]: #583
-#582 := [unit-resolution #584 #581]: #541
-#789 := (or #818 #793)
-#796 := [def-axiom]: #789
-#585 := [unit-resolution #796 #582]: #793
-#569 := (or #567 #518)
-#570 := [th-lemma arith farkas 1 1]: #569
-#571 := [unit-resolution #570 #585]: #567
-#573 := (or #572 #591)
-#574 := [th-lemma arith triangle-eq]: #573
-#575 := [unit-resolution #574 #571]: #572
-#599 := (or #608 #630)
-#41 := (:var 0 Int)
-#43 := (f6 #41)
-#885 := (pattern #43)
-#197 := (>= #41 0::Int)
-#44 := (f4 #43)
-#49 := (= #44 0::Int)
-#245 := (or #49 #197)
-#892 := (forall (vars (?v0 Int)) (:pat #885) #245)
-#250 := (forall (vars (?v0 Int)) #245)
-#895 := (iff #250 #892)
-#893 := (iff #245 #245)
-#894 := [refl]: #893
-#896 := [quant-intro #894]: #895
-#267 := (~ #250 #250)
-#350 := (~ #245 #245)
-#351 := [refl]: #350
-#268 := [nnf-pos #351]: #267
-#48 := (< #41 0::Int)
-#50 := (implies #48 #49)
-#51 := (forall (vars (?v0 Int)) #50)
-#253 := (iff #51 #250)
-#216 := (= 0::Int #44)
-#222 := (not #48)
-#223 := (or #222 #216)
-#228 := (forall (vars (?v0 Int)) #223)
-#251 := (iff #228 #250)
-#248 := (iff #223 #245)
-#242 := (or #197 #49)
-#246 := (iff #242 #245)
-#247 := [rewrite]: #246
-#243 := (iff #223 #242)
-#240 := (iff #216 #49)
-#241 := [rewrite]: #240
-#238 := (iff #222 #197)
-#198 := (not #197)
-#233 := (not #198)
-#236 := (iff #233 #197)
-#237 := [rewrite]: #236
-#234 := (iff #222 #233)
-#231 := (iff #48 #198)
-#232 := [rewrite]: #231
-#235 := [monotonicity #232]: #234
-#239 := [trans #235 #237]: #238
-#244 := [monotonicity #239 #241]: #243
-#249 := [trans #244 #247]: #248
-#252 := [quant-intro #249]: #251
-#229 := (iff #51 #228)
-#226 := (iff #50 #223)
-#219 := (implies #48 #216)
-#224 := (iff #219 #223)
-#225 := [rewrite]: #224
-#220 := (iff #50 #219)
-#217 := (iff #49 #216)
-#218 := [rewrite]: #217
-#221 := [monotonicity #218]: #220
-#227 := [trans #221 #225]: #226
-#230 := [quant-intro #227]: #229
-#254 := [trans #230 #252]: #253
-#215 := [asserted]: #51
-#255 := [mp #215 #254]: #250
-#352 := [mp~ #255 #268]: #250
-#897 := [mp #352 #896]: #892
-#605 := (not #892)
-#601 := (or #605 #608 #630)
-#652 := (>= #122 0::Int)
-#611 := (or #608 #652)
-#606 := (or #605 #611)
-#597 := (iff #606 #601)
-#586 := (or #605 #599)
-#592 := (iff #586 #601)
-#593 := [rewrite]: #592
-#588 := (iff #606 #586)
-#602 := (iff #611 #599)
-#632 := (iff #652 #630)
-#633 := [rewrite]: #632
-#604 := [monotonicity #633]: #602
-#589 := [monotonicity #604]: #588
-#590 := [trans #589 #593]: #597
-#596 := [quant-inst #122]: #606
-#598 := [mp #596 #590]: #601
-#576 := [unit-resolution #598 #897]: #599
-#577 := [unit-resolution #576 #575]: #630
-#634 := (not #630)
-#641 := (or #634 #661)
-#179 := (= #41 #44)
-#204 := (or #179 #198)
-#886 := (forall (vars (?v0 Int)) (:pat #885) #204)
-#209 := (forall (vars (?v0 Int)) #204)
-#889 := (iff #209 #886)
-#887 := (iff #204 #204)
-#888 := [refl]: #887
-#890 := [quant-intro #888]: #889
-#265 := (~ #209 #209)
-#264 := (~ #204 #204)
-#261 := [refl]: #264
-#266 := [nnf-pos #261]: #265
-#45 := (= #44 #41)
-#42 := (<= 0::Int #41)
-#46 := (implies #42 #45)
-#47 := (forall (vars (?v0 Int)) #46)
-#212 := (iff #47 #209)
-#186 := (not #42)
-#187 := (or #186 #179)
-#192 := (forall (vars (?v0 Int)) #187)
-#210 := (iff #192 #209)
-#207 := (iff #187 #204)
-#201 := (or #198 #179)
-#205 := (iff #201 #204)
-#206 := [rewrite]: #205
-#202 := (iff #187 #201)
-#199 := (iff #186 #198)
-#195 := (iff #42 #197)
-#196 := [rewrite]: #195
-#200 := [monotonicity #196]: #199
-#203 := [monotonicity #200]: #202
-#208 := [trans #203 #206]: #207
-#211 := [quant-intro #208]: #210
-#193 := (iff #47 #192)
-#190 := (iff #46 #187)
-#183 := (implies #42 #179)
-#188 := (iff #183 #187)
-#189 := [rewrite]: #188
-#184 := (iff #46 #183)
-#181 := (iff #45 #179)
-#182 := [rewrite]: #181
-#185 := [monotonicity #182]: #184
-#191 := [trans #185 #189]: #190
-#194 := [quant-intro #191]: #193
-#213 := [trans #194 #211]: #212
-#178 := [asserted]: #47
-#214 := [mp #178 #213]: #209
-#262 := [mp~ #214 #266]: #209
-#891 := [mp #262 #890]: #886
-#614 := (not #886)
-#615 := (or #614 #634 #661)
-#653 := (not #652)
-#657 := (= #122 #521)
-#658 := (or #657 #653)
-#617 := (or #614 #658)
-#600 := (iff #617 #615)
-#619 := (or #614 #641)
-#616 := (iff #619 #615)
-#621 := [rewrite]: #616
-#461 := (iff #617 #619)
-#612 := (iff #658 #641)
-#638 := (or #661 #634)
-#624 := (iff #638 #641)
-#642 := [rewrite]: #624
-#639 := (iff #658 #638)
-#636 := (iff #653 #634)
-#637 := [monotonicity #633]: #636
-#622 := (iff #657 #661)
-#623 := [rewrite]: #622
-#640 := [monotonicity #623 #637]: #639
-#613 := [trans #640 #642]: #612
-#620 := [monotonicity #613]: #461
-#603 := [trans #620 #621]: #600
-#618 := [quant-inst #122]: #617
-#607 := [mp #618 #603]: #615
-#578 := [unit-resolution #607 #891]: #641
-#579 := [unit-resolution #578 #577]: #661
-#568 := (not #661)
-#580 := (or #568 #610)
-#557 := [th-lemma arith triangle-eq]: #580
-#559 := [unit-resolution #557 #579]: #610
-#169 := (not #153)
-#170 := [not-or-elim #167]: #169
-[th-lemma arith farkas -4 1 1 #170 #585 #559]: false
-unsat
-b5c183bebb02d94d1f8b42e98316e9a15ecf822c 61 0
-#2 := false
-decl f7 :: S2
-#18 := f7
-decl f5 :: S2
-#14 := f5
-#20 := (= f5 f7)
-decl f3 :: (-> S4 S2)
-decl f4 :: (-> S2 S3 S4)
-decl f6 :: S3
-#15 := f6
-#16 := (f4 f5 f6)
-#17 := (f3 #16)
-#19 := (= #17 f7)
-#50 := (not #19)
-#52 := (or #50 #20)
-#55 := (not #52)
-#21 := (implies #19 #20)
-#22 := (not #21)
-#56 := (iff #22 #55)
-#53 := (iff #21 #52)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#49 := [asserted]: #22
-#60 := [mp #49 #57]: #55
-#58 := [not-or-elim #60]: #19
-#125 := (= f5 #17)
-#9 := (:var 0 S3)
-#8 := (:var 1 S2)
-#10 := (f4 #8 #9)
-#543 := (pattern #10)
-#11 := (f3 #10)
-#43 := (= #8 #11)
-#544 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #543) #43)
-#46 := (forall (vars (?v0 S2) (?v1 S3)) #43)
-#547 := (iff #46 #544)
-#545 := (iff #43 #43)
-#546 := [refl]: #545
-#548 := [quant-intro #546]: #547
-#67 := (~ #46 #46)
-#65 := (~ #43 #43)
-#66 := [refl]: #65
-#72 := [nnf-pos #66]: #67
-#12 := (= #11 #8)
-#13 := (forall (vars (?v0 S2) (?v1 S3)) #12)
-#47 := (iff #13 #46)
-#44 := (iff #12 #43)
-#45 := [rewrite]: #44
-#48 := [quant-intro #45]: #47
-#42 := [asserted]: #13
-#51 := [mp #42 #48]: #46
-#73 := [mp~ #51 #72]: #46
-#549 := [mp #73 #548]: #544
-#213 := (not #544)
-#127 := (or #213 #125)
-#214 := [quant-inst #14 #15]: #127
-#212 := [unit-resolution #214 #549]: #125
-#126 := [trans #212 #58]: #20
-#59 := (not #20)
-#61 := [not-or-elim #60]: #59
-[unit-resolution #61 #126]: false
-unsat
-cf92237c0d499778714b4e00f3fc6a25231e47a2 116 0
-#2 := false
-decl f8 :: (-> S5 S2)
-decl f12 :: S5
-#31 := f12
-#36 := (f8 f12)
-decl f3 :: (-> S4 S2)
-decl f9 :: S4
-#26 := f9
-#35 := (f3 f9)
-#37 := (= #35 #36)
-decl f6 :: (-> S3 S2 S5)
-decl f10 :: S2
-#27 := f10
-decl f11 :: S3
-#28 := f11
-#32 := (f6 f11 f10)
-#277 := (f8 #32)
-#591 := (= #277 #36)
-#599 := (= #36 #277)
-#33 := (= f12 #32)
-decl f4 :: (-> S2 S3 S4)
-#29 := (f4 f10 f11)
-#30 := (= f9 #29)
-#34 := (and #30 #33)
-#91 := (not #34)
-#93 := (or #91 #37)
-#96 := (not #93)
-#38 := (implies #34 #37)
-#39 := (not #38)
-#97 := (iff #39 #96)
-#94 := (iff #38 #93)
-#95 := [rewrite]: #94
-#98 := [monotonicity #95]: #97
-#90 := [asserted]: #39
-#101 := [mp #90 #98]: #96
-#99 := [not-or-elim #101]: #34
-#102 := [and-elim #99]: #33
-#594 := [monotonicity #102]: #599
-#249 := [symm #594]: #591
-#576 := (= #35 #277)
-#256 := (= f10 #277)
-#15 := (:var 0 S2)
-#14 := (:var 1 S3)
-#16 := (f6 #14 #15)
-#608 := (pattern #16)
-#23 := (f8 #16)
-#83 := (= #15 #23)
-#621 := (forall (vars (?v0 S3) (?v1 S2)) (:pat #608) #83)
-#87 := (forall (vars (?v0 S3) (?v1 S2)) #83)
-#624 := (iff #87 #621)
-#622 := (iff #83 #83)
-#623 := [refl]: #622
-#625 := [quant-intro #623]: #624
-#124 := (~ #87 #87)
-#126 := (~ #83 #83)
-#127 := [refl]: #126
-#125 := [nnf-pos #127]: #124
-#24 := (= #23 #15)
-#25 := (forall (vars (?v0 S3) (?v1 S2)) #24)
-#88 := (iff #25 #87)
-#85 := (iff #24 #83)
-#86 := [rewrite]: #85
-#89 := [quant-intro #86]: #88
-#82 := [asserted]: #25
-#92 := [mp #82 #89]: #87
-#122 := [mp~ #92 #125]: #87
-#626 := [mp #122 #625]: #621
-#261 := (not #621)
-#262 := (or #261 #256)
-#596 := [quant-inst #28 #27]: #262
-#589 := [unit-resolution #596 #626]: #256
-#592 := (= #35 f10)
-#183 := (f3 #29)
-#248 := (= #183 f10)
-#270 := (= f10 #183)
-#9 := (:var 0 S3)
-#8 := (:var 1 S2)
-#10 := (f4 #8 #9)
-#601 := (pattern #10)
-#11 := (f3 #10)
-#60 := (= #8 #11)
-#602 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #601) #60)
-#63 := (forall (vars (?v0 S2) (?v1 S3)) #60)
-#605 := (iff #63 #602)
-#603 := (iff #60 #60)
-#604 := [refl]: #603
-#606 := [quant-intro #604]: #605
-#108 := (~ #63 #63)
-#117 := (~ #60 #60)
-#118 := [refl]: #117
-#109 := [nnf-pos #118]: #108
-#12 := (= #11 #8)
-#13 := (forall (vars (?v0 S2) (?v1 S3)) #12)
-#64 := (iff #13 #63)
-#61 := (iff #12 #60)
-#62 := [rewrite]: #61
-#65 := [quant-intro #62]: #64
-#59 := [asserted]: #13
-#68 := [mp #59 #65]: #63
-#112 := [mp~ #68 #109]: #63
-#607 := [mp #112 #606]: #602
-#185 := (not #602)
-#272 := (or #185 #270)
-#263 := [quant-inst #27 #28]: #272
-#382 := [unit-resolution #263 #607]: #270
-#253 := [symm #382]: #248
-#597 := (= #35 #183)
-#100 := [and-elim #99]: #30
-#598 := [monotonicity #100]: #597
-#233 := [trans #598 #253]: #592
-#237 := [trans #233 #589]: #576
-#238 := [trans #237 #249]: #37
-#103 := (not #37)
-#104 := [not-or-elim #101]: #103
-[unit-resolution #104 #238]: false
-unsat
-683ecf2fabb84eab2c1f7b22612c683b9106d640 192 0
+#77 := [quant-intro #74]: #76
+#70 := [asserted]: #21
+#80 := [mp #70 #77]: #75
+#131 := [mp~ #80 #113]: #75
+#618 := [mp #131 #617]: #613
+#597 := (not #613)
+#599 := (or #597 #279)
+#254 := [quant-inst #31 #32]: #599
+#593 := [unit-resolution #254 #618]: #279
+#598 := [symm #593]: #603
+#601 := (= #39 #278)
+#104 := [and-elim #103]: #34
+#602 := [monotonicity #104]: #601
+#253 := [trans #602 #598]: #595
+#237 := [trans #253 #386]: #596
+#580 := [trans #237 #257]: #41
+#107 := (not #41)
+#108 := [not-or-elim #105]: #107
+[unit-resolution #108 #580]: false
+unsat
+29cfa5c687980cc2eca5b8b3a0340a9f66137754 203 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
-decl f5 :: S3
-#26 := f5
-decl f8 :: S2
-#34 := f8
-#40 := (f3 f8 f5)
-decl f4 :: (-> S2 S3 S4 S2)
-decl f10 :: S4
-#37 := f10
-decl f7 :: S3
-#30 := f7
-decl f9 :: S4
-#35 := f9
-decl f6 :: S3
-#27 := f6
-#36 := (f4 f8 f6 f9)
-#38 := (f4 #36 f7 f10)
-#39 := (f3 #38 f5)
-#41 := (= #39 #40)
-#176 := (f3 #36 f6)
-#573 := (f4 f8 f6 #176)
-#541 := (f3 #573 f5)
-#542 := (= #541 #40)
-#545 := (= #40 #541)
-#536 := (= #176 #541)
-#28 := (= f5 f6)
-#377 := (ite #28 #536 #545)
-#19 := (:var 0 S3)
-#17 := (:var 1 S4)
-#16 := (:var 2 S3)
-#15 := (:var 3 S2)
-#18 := (f4 #15 #16 #17)
-#20 := (f3 #18 #19)
-#602 := (pattern #20)
-#22 := (f3 #15 #19)
-#119 := (= #20 #22)
-#118 := (= #17 #20)
-#71 := (= #16 #19)
-#104 := (ite #71 #118 #119)
-#603 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) (:pat #602) #104)
-#111 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #104)
-#606 := (iff #111 #603)
-#604 := (iff #104 #104)
-#605 := [refl]: #604
-#607 := [quant-intro #605]: #606
-#75 := (ite #71 #17 #22)
-#78 := (= #20 #75)
-#81 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #78)
-#108 := (iff #81 #111)
-#105 := (iff #78 #104)
-#110 := [rewrite]: #105
-#109 := [quant-intro #110]: #108
-#102 := (~ #81 #81)
-#101 := (~ #78 #78)
-#116 := [refl]: #101
-#103 := [nnf-pos #116]: #102
-#21 := (= #19 #16)
-#23 := (ite #21 #17 #22)
-#24 := (= #20 #23)
-#25 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #24)
-#82 := (iff #25 #81)
-#79 := (iff #24 #78)
-#76 := (= #23 #75)
-#73 := (iff #21 #71)
-#74 := [rewrite]: #73
-#77 := [monotonicity #74]: #76
-#80 := [monotonicity #77]: #79
-#83 := [quant-intro #80]: #82
-#70 := [asserted]: #25
-#86 := [mp #70 #83]: #81
-#117 := [mp~ #86 #103]: #81
-#106 := [mp #117 #109]: #111
-#608 := [mp #106 #607]: #603
-#254 := (not #603)
-#533 := (or #254 #377)
-#537 := (= f6 f5)
-#543 := (ite #537 #536 #542)
-#534 := (or #254 #543)
-#535 := (iff #534 #533)
-#418 := (iff #533 #533)
-#419 := [rewrite]: #418
-#530 := (iff #543 #377)
-#374 := (iff #542 #545)
-#376 := [rewrite]: #374
-#544 := (iff #537 #28)
-#538 := [rewrite]: #544
-#531 := [monotonicity #538 #376]: #530
-#417 := [monotonicity #531]: #535
-#378 := [trans #417 #419]: #535
-#532 := [quant-inst #34 #27 #176 #26]: #534
-#526 := [mp #532 #378]: #533
-#529 := [unit-resolution #526 #608]: #377
-#428 := (not #377)
-#516 := (or #428 #545)
-#29 := (not #28)
-#31 := (= f5 f7)
-#32 := (not #31)
-#33 := (and #29 #32)
-#85 := (not #33)
-#87 := (or #85 #41)
-#90 := (not #87)
-#42 := (implies #33 #41)
-#43 := (not #42)
-#91 := (iff #43 #90)
-#88 := (iff #42 #87)
-#89 := [rewrite]: #88
-#92 := [monotonicity #89]: #91
-#84 := [asserted]: #43
-#95 := [mp #84 #92]: #90
-#93 := [not-or-elim #95]: #33
-#94 := [and-elim #93]: #29
-#527 := (or #428 #28 #545)
-#412 := [def-axiom]: #527
-#518 := [unit-resolution #412 #94]: #516
-#510 := [unit-resolution #518 #529]: #545
-#512 := [symm #510]: #542
-#513 := (= #39 #541)
-#267 := (f3 #36 f5)
-#522 := (= #267 #541)
-#521 := (= #541 #267)
-#528 := (= #573 #36)
-#434 := (= #176 f9)
-#263 := (= f9 #176)
-#10 := (:var 0 S4)
-#9 := (:var 1 S3)
-#8 := (:var 2 S2)
-#11 := (f4 #8 #9 #10)
-#594 := (pattern #11)
-#12 := (f3 #11 #9)
-#64 := (= #10 #12)
-#596 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) (:pat #594) #64)
-#67 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) #64)
-#595 := (iff #67 #596)
-#598 := (iff #596 #596)
-#599 := [rewrite]: #598
+decl f8 :: S3
+#31 := f8
+decl f11 :: S2
+#39 := f11
+#49 := (f3 f11 f8)
+decl f4 :: (-> S5 S4 S2)
+decl f13 :: S4
+#46 := f13
+decl f5 :: (-> S6 S3 S5)
+decl f10 :: S3
+#35 := f10
+decl f6 :: (-> S7 S2 S6)
+decl f12 :: S4
+#42 := f12
+decl f9 :: S3
+#32 := f9
+decl f7 :: S7
+#8 := f7
+#40 := (f6 f7 f11)
+#41 := (f5 #40 f9)
+#43 := (f4 #41 f12)
+#44 := (f6 f7 #43)
+#45 := (f5 #44 f10)
+#47 := (f4 #45 f13)
+#48 := (f3 #47 f8)
+#50 := (= #48 #49)
+#185 := (f3 #43 f9)
+#582 := (f4 #41 #185)
+#550 := (f3 #582 f8)
+#551 := (= #550 #49)
+#554 := (= #49 #550)
+#545 := (= #185 #550)
+#33 := (= f8 f9)
+#386 := (ite #33 #545 #554)
+#24 := (:var 0 S3)
+#22 := (:var 1 S4)
+#20 := (:var 2 S3)
+#18 := (:var 3 S2)
+#19 := (f6 f7 #18)
+#21 := (f5 #19 #20)
+#23 := (f4 #21 #22)
+#25 := (f3 #23 #24)
+#610 := (pattern #25)
+#27 := (f3 #18 #24)
+#128 := (= #25 #27)
+#127 := (= #22 #25)
+#80 := (= #20 #24)
+#113 := (ite #80 #127 #128)
+#611 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) (:pat #610) #113)
+#120 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #113)
+#614 := (iff #120 #611)
+#612 := (iff #113 #113)
+#613 := [refl]: #612
+#615 := [quant-intro #613]: #614
+#84 := (ite #80 #22 #27)
+#87 := (= #25 #84)
+#90 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #87)
+#117 := (iff #90 #120)
+#114 := (iff #87 #113)
+#119 := [rewrite]: #114
+#118 := [quant-intro #119]: #117
+#111 := (~ #90 #90)
+#110 := (~ #87 #87)
+#125 := [refl]: #110
+#112 := [nnf-pos #125]: #111
+#26 := (= #24 #20)
+#28 := (ite #26 #22 #27)
+#29 := (= #25 #28)
+#30 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #29)
+#91 := (iff #30 #90)
+#88 := (iff #29 #87)
+#85 := (= #28 #84)
+#82 := (iff #26 #80)
+#83 := [rewrite]: #82
+#86 := [monotonicity #83]: #85
+#89 := [monotonicity #86]: #88
+#92 := [quant-intro #89]: #91
+#79 := [asserted]: #30
+#95 := [mp #79 #92]: #90
+#126 := [mp~ #95 #112]: #90
+#115 := [mp #126 #118]: #120
+#616 := [mp #115 #615]: #611
+#263 := (not #611)
+#542 := (or #263 #386)
+#546 := (= f9 f8)
+#552 := (ite #546 #545 #551)
+#543 := (or #263 #552)
+#544 := (iff #543 #542)
+#427 := (iff #542 #542)
+#428 := [rewrite]: #427
+#539 := (iff #552 #386)
+#383 := (iff #551 #554)
+#385 := [rewrite]: #383
+#553 := (iff #546 #33)
+#547 := [rewrite]: #553
+#540 := [monotonicity #547 #385]: #539
+#426 := [monotonicity #540]: #544
+#387 := [trans #426 #428]: #544
+#541 := [quant-inst #39 #32 #185 #31]: #543
+#535 := [mp #541 #387]: #542
+#538 := [unit-resolution #535 #616]: #386
+#437 := (not #386)
+#525 := (or #437 #554)
+#34 := (not #33)
+#36 := (= f8 f10)
+#37 := (not #36)
+#38 := (and #34 #37)
+#94 := (not #38)
+#96 := (or #94 #50)
+#99 := (not #96)
+#51 := (implies #38 #50)
+#52 := (not #51)
+#100 := (iff #52 #99)
+#97 := (iff #51 #96)
+#98 := [rewrite]: #97
+#101 := [monotonicity #98]: #100
+#93 := [asserted]: #52
+#104 := [mp #93 #101]: #99
+#102 := [not-or-elim #104]: #38
+#103 := [and-elim #102]: #34
+#536 := (or #437 #33 #554)
+#421 := [def-axiom]: #536
+#527 := [unit-resolution #421 #103]: #525
+#519 := [unit-resolution #527 #538]: #554
+#521 := [symm #519]: #551
+#522 := (= #48 #550)
+#276 := (f3 #43 f8)
+#531 := (= #276 #550)
+#530 := (= #550 #276)
+#537 := (= #582 #43)
+#443 := (= #185 f12)
+#272 := (= f12 #185)
+#13 := (:var 0 S4)
+#11 := (:var 1 S3)
+#9 := (:var 2 S2)
+#10 := (f6 f7 #9)
+#12 := (f5 #10 #11)
+#14 := (f4 #12 #13)
+#603 := (pattern #14)
+#15 := (f3 #14 #11)
+#73 := (= #13 #15)
+#604 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) (:pat #603) #73)
+#76 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) #73)
+#607 := (iff #76 #604)
+#605 := (iff #73 #73)
+#606 := [refl]: #605
+#608 := [quant-intro #606]: #607
+#123 := (~ #76 #76)
+#121 := (~ #73 #73)
+#122 := [refl]: #121
+#124 := [nnf-pos #122]: #123
+#16 := (= #15 #13)
+#17 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) #16)
+#77 := (iff #17 #76)
+#74 := (iff #16 #73)
+#75 := [rewrite]: #74
+#78 := [quant-intro #75]: #77
+#72 := [asserted]: #17
+#81 := [mp #72 #78]: #76
+#109 := [mp~ #81 #124]: #76
+#609 := [mp #109 #608]: #604
+#187 := (not #604)
+#274 := (or #187 #272)
+#265 := [quant-inst #39 #32 #42]: #274
+#442 := [unit-resolution #265 #609]: #272
+#444 := [symm #442]: #443
+#534 := [monotonicity #444]: #537
+#526 := [monotonicity #534]: #530
+#520 := [symm #526]: #531
+#277 := (= #48 #276)
+#275 := (= f13 #48)
+#252 := (ite #36 #275 #277)
+#264 := (or #263 #252)
+#279 := (= f10 f8)
+#258 := (ite #279 #275 #277)
+#598 := (or #263 #258)
+#600 := (iff #598 #264)
+#596 := (iff #264 #264)
+#602 := [rewrite]: #596
+#384 := (iff #258 #252)
+#595 := (iff #279 #36)
 #597 := [rewrite]: #595
-#600 := [trans #597 #599]: #595
-#114 := (~ #67 #67)
-#112 := (~ #64 #64)
-#113 := [refl]: #112
-#115 := [nnf-pos #113]: #114
-#13 := (= #12 #10)
-#14 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) #13)
-#68 := (iff #14 #67)
-#65 := (iff #13 #64)
-#66 := [rewrite]: #65
-#69 := [quant-intro #66]: #68
-#63 := [asserted]: #14
-#72 := [mp #63 #69]: #67
-#100 := [mp~ #72 #115]: #67
-#601 := [mp #100 #600]: #596
-#178 := (not #596)
-#265 := (or #178 #263)
-#256 := [quant-inst #34 #27 #35]: #265
-#433 := [unit-resolution #256 #601]: #263
-#435 := [symm #433]: #434
-#525 := [monotonicity #435]: #528
-#517 := [monotonicity #525]: #521
-#511 := [symm #517]: #522
-#268 := (= #39 #267)
-#266 := (= f10 #39)
-#243 := (ite #31 #266 #268)
-#255 := (or #254 #243)
-#270 := (= f7 f5)
-#249 := (ite #270 #266 #268)
-#589 := (or #254 #249)
-#591 := (iff #589 #255)
-#587 := (iff #255 #255)
-#593 := [rewrite]: #587
-#375 := (iff #249 #243)
-#586 := (iff #270 #31)
-#588 := [rewrite]: #586
-#582 := [monotonicity #588]: #375
-#592 := [monotonicity #582]: #591
-#583 := [trans #592 #593]: #591
-#590 := [quant-inst #36 #30 #37 #26]: #589
-#241 := [mp #590 #583]: #255
-#507 := [unit-resolution #241 #608]: #243
-#246 := (not #243)
-#509 := (or #246 #268)
-#96 := [and-elim #93]: #32
-#585 := (or #246 #31 #268)
-#226 := [def-axiom]: #585
-#519 := [unit-resolution #226 #96]: #509
-#520 := [unit-resolution #519 #507]: #268
-#514 := [trans #520 #511]: #513
-#508 := [trans #514 #512]: #41
-#97 := (not #41)
-#98 := [not-or-elim #95]: #97
-[unit-resolution #98 #508]: false
+#591 := [monotonicity #597]: #384
+#601 := [monotonicity #591]: #600
+#592 := [trans #601 #602]: #600
+#599 := [quant-inst #43 #35 #46 #31]: #598
+#250 := [mp #599 #592]: #264
+#516 := [unit-resolution #250 #616]: #252
+#255 := (not #252)
+#518 := (or #255 #277)
+#105 := [and-elim #102]: #37
+#594 := (or #255 #36 #277)
+#235 := [def-axiom]: #594
+#528 := [unit-resolution #235 #105]: #518
+#529 := [unit-resolution #528 #516]: #277
+#523 := [trans #529 #520]: #522
+#517 := [trans #523 #521]: #50
+#106 := (not #50)
+#107 := [not-or-elim #104]: #106
+[unit-resolution #107 #517]: false
 unsat
 10c4eb4ff6b9f0c880cfc3af0cd433a1ff110114 96 0
 #2 := false
@@ -13379,144 +13452,150 @@
 #94 := [not-or-elim #88]: #93
 [mp #94 #115]: false
 unsat
-55388cf0134b951cf42c3bbd8cd933c386d4af72 138 0
-#2 := false
-decl f4 :: (-> S2 S2)
-decl f5 :: (-> Int S2)
-decl f6 :: (-> Int Int)
-decl f7 :: Int
-#18 := f7
-#19 := (f6 f7)
-#20 := (f6 #19)
-#21 := (f5 #20)
-#22 := (f4 #21)
-#70 := (= #21 #22)
-#106 := (not #70)
-decl f3 :: (-> S1 S1)
+8821f61b34007b1fd5b5c2b393b7f6276c9650d7 144 0
+#2 := false
+decl f5 :: (-> S4 S3 S3)
+decl f7 :: (-> S5 Int S3)
+decl f9 :: (-> Int Int)
+decl f10 :: Int
+#21 := f10
+#22 := (f9 f10)
+#23 := (f9 #22)
+decl f8 :: S5
+#20 := f8
+#24 := (f7 f8 #23)
+decl f6 :: S4
+#15 := f6
+#25 := (f5 f6 #24)
+#73 := (= #24 #25)
+#109 := (not #73)
+decl f3 :: (-> S2 S1 S1)
 decl f1 :: S1
 #4 := f1
-#24 := (f3 f1)
-#74 := (= f1 #24)
-#107 := (not #74)
-#579 := [hypothesis]: #107
-#8 := (:var 0 S1)
-#9 := (f3 #8)
-#591 := (pattern #9)
-#52 := (= f1 #8)
-#49 := (= f1 #9)
-#55 := (iff #49 #52)
-#592 := (forall (vars (?v0 S1)) (:pat #591) #55)
-#58 := (forall (vars (?v0 S1)) #55)
-#595 := (iff #58 #592)
-#593 := (iff #55 #55)
-#594 := [refl]: #593
-#596 := [quant-intro #594]: #595
-#102 := (~ #58 #58)
-#100 := (~ #55 #55)
-#101 := [refl]: #100
-#103 := [nnf-pos #101]: #102
-#11 := (= #8 f1)
-#10 := (= #9 f1)
-#12 := (iff #10 #11)
-#13 := (forall (vars (?v0 S1)) #12)
+decl f4 :: S2
+#8 := f4
+#27 := (f3 f4 f1)
+#77 := (= f1 #27)
+#110 := (not #77)
+#582 := [hypothesis]: #110
+#9 := (:var 0 S1)
+#10 := (f3 f4 #9)
+#594 := (pattern #10)
+#55 := (= f1 #9)
+#52 := (= f1 #10)
+#58 := (iff #52 #55)
+#595 := (forall (vars (?v0 S1)) (:pat #594) #58)
+#61 := (forall (vars (?v0 S1)) #58)
+#598 := (iff #61 #595)
+#596 := (iff #58 #58)
+#597 := [refl]: #596
+#599 := [quant-intro #597]: #598
+#105 := (~ #61 #61)
+#103 := (~ #58 #58)
+#104 := [refl]: #103
+#106 := [nnf-pos #104]: #105
+#12 := (= #9 f1)
+#11 := (= #10 f1)
+#13 := (iff #11 #12)
+#14 := (forall (vars (?v0 S1)) #13)
+#62 := (iff #14 #61)
 #59 := (iff #13 #58)
 #56 := (iff #12 #55)
+#57 := [rewrite]: #56
 #53 := (iff #11 #52)
 #54 := [rewrite]: #53
-#50 := (iff #10 #49)
-#51 := [rewrite]: #50
-#57 := [monotonicity #51 #54]: #56
-#60 := [quant-intro #57]: #59
-#48 := [asserted]: #13
-#63 := [mp #48 #60]: #58
-#91 := [mp~ #63 #103]: #58
-#597 := [mp #91 #596]: #592
-#265 := (not #592)
-#193 := (or #265 #74)
-#173 := (= f1 f1)
-#260 := (iff #74 #173)
-#266 := (or #265 #260)
-#267 := (iff #266 #193)
-#583 := (iff #193 #193)
-#585 := [rewrite]: #583
-#253 := (iff #260 #74)
+#60 := [monotonicity #54 #57]: #59
+#63 := [quant-intro #60]: #62
+#51 := [asserted]: #14
+#66 := [mp #51 #63]: #61
+#94 := [mp~ #66 #106]: #61
+#600 := [mp #94 #599]: #595
+#268 := (not #595)
+#196 := (or #268 #77)
+#176 := (= f1 f1)
+#263 := (iff #77 #176)
+#269 := (or #268 #263)
+#270 := (iff #269 #196)
+#586 := (iff #196 #196)
+#588 := [rewrite]: #586
+#256 := (iff #263 #77)
 #1 := true
-#77 := (iff #74 true)
-#80 := (iff #77 #74)
-#81 := [rewrite]: #80
-#175 := (iff #260 #77)
-#174 := (iff #173 true)
-#261 := [rewrite]: #174
-#262 := [monotonicity #261]: #175
-#264 := [trans #262 #81]: #253
-#246 := [monotonicity #264]: #267
-#240 := [trans #246 #585]: #267
-#263 := [quant-inst #4]: #266
-#372 := [mp #263 #240]: #193
-#251 := [unit-resolution #372 #597 #579]: false
-#252 := [lemma #251]: #74
-#96 := (or #106 #107)
-#84 := (and #70 #74)
-#87 := (not #84)
-#113 := (iff #87 #96)
-#97 := (not #96)
-#108 := (not #97)
-#111 := (iff #108 #96)
-#112 := [rewrite]: #111
-#109 := (iff #87 #108)
-#98 := (iff #84 #97)
-#99 := [rewrite]: #98
-#110 := [monotonicity #99]: #109
-#114 := [trans #110 #112]: #113
-#25 := (= #24 f1)
-#26 := (iff #25 true)
-#23 := (= #22 #21)
-#27 := (and #23 #26)
-#28 := (not #27)
-#88 := (iff #28 #87)
-#85 := (iff #27 #84)
-#82 := (iff #26 #74)
-#78 := (iff #26 #77)
-#75 := (iff #25 #74)
+#80 := (iff #77 true)
+#83 := (iff #80 #77)
+#84 := [rewrite]: #83
+#178 := (iff #263 #80)
+#177 := (iff #176 true)
+#264 := [rewrite]: #177
+#265 := [monotonicity #264]: #178
+#267 := [trans #265 #84]: #256
+#249 := [monotonicity #267]: #270
+#243 := [trans #249 #588]: #270
+#266 := [quant-inst #4]: #269
+#375 := [mp #266 #243]: #196
+#254 := [unit-resolution #375 #600 #582]: false
+#255 := [lemma #254]: #77
+#99 := (or #109 #110)
+#87 := (and #73 #77)
+#90 := (not #87)
+#116 := (iff #90 #99)
+#100 := (not #99)
+#111 := (not #100)
+#114 := (iff #111 #99)
+#115 := [rewrite]: #114
+#112 := (iff #90 #111)
+#101 := (iff #87 #100)
+#102 := [rewrite]: #101
+#113 := [monotonicity #102]: #112
+#117 := [trans #113 #115]: #116
+#28 := (= #27 f1)
+#29 := (iff #28 true)
+#26 := (= #25 #24)
+#30 := (and #26 #29)
+#31 := (not #30)
+#91 := (iff #31 #90)
+#88 := (iff #30 #87)
+#85 := (iff #29 #77)
+#81 := (iff #29 #80)
+#78 := (iff #28 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#86 := [trans #82 #84]: #85
+#75 := (iff #26 #73)
 #76 := [rewrite]: #75
-#79 := [monotonicity #76]: #78
-#83 := [trans #79 #81]: #82
-#72 := (iff #23 #70)
-#73 := [rewrite]: #72
-#86 := [monotonicity #73 #83]: #85
-#89 := [monotonicity #86]: #88
-#69 := [asserted]: #28
-#92 := [mp #69 #89]: #87
-#115 := [mp #92 #114]: #96
-#586 := [unit-resolution #115 #252]: #106
-#14 := (:var 0 S2)
-#15 := (f4 #14)
-#598 := (pattern #15)
-#62 := (= #14 #15)
-#599 := (forall (vars (?v0 S2)) (:pat #598) #62)
-#66 := (forall (vars (?v0 S2)) #62)
-#602 := (iff #66 #599)
-#600 := (iff #62 #62)
-#601 := [refl]: #600
-#603 := [quant-intro #601]: #602
-#94 := (~ #66 #66)
-#93 := (~ #62 #62)
-#104 := [refl]: #93
-#95 := [nnf-pos #104]: #94
-#16 := (= #15 #14)
-#17 := (forall (vars (?v0 S2)) #16)
-#67 := (iff #17 #66)
-#64 := (iff #16 #62)
-#65 := [rewrite]: #64
-#68 := [quant-intro #65]: #67
-#61 := [asserted]: #17
-#71 := [mp #61 #68]: #66
-#105 := [mp~ #71 #95]: #66
-#604 := [mp #105 #603]: #599
-#588 := (not #599)
-#589 := (or #588 #70)
-#584 := [quant-inst #21]: #589
-[unit-resolution #584 #604 #586]: false
+#89 := [monotonicity #76 #86]: #88
+#92 := [monotonicity #89]: #91
+#72 := [asserted]: #31
+#95 := [mp #72 #92]: #90
+#118 := [mp #95 #117]: #99
+#589 := [unit-resolution #118 #255]: #109
+#16 := (:var 0 S3)
+#17 := (f5 f6 #16)
+#601 := (pattern #17)
+#65 := (= #16 #17)
+#602 := (forall (vars (?v0 S3)) (:pat #601) #65)
+#69 := (forall (vars (?v0 S3)) #65)
+#605 := (iff #69 #602)
+#603 := (iff #65 #65)
+#604 := [refl]: #603
+#606 := [quant-intro #604]: #605
+#97 := (~ #69 #69)
+#96 := (~ #65 #65)
+#107 := [refl]: #96
+#98 := [nnf-pos #107]: #97
+#18 := (= #17 #16)
+#19 := (forall (vars (?v0 S3)) #18)
+#70 := (iff #19 #69)
+#67 := (iff #18 #65)
+#68 := [rewrite]: #67
+#71 := [quant-intro #68]: #70
+#64 := [asserted]: #19
+#74 := [mp #64 #71]: #69
+#108 := [mp~ #74 #98]: #69
+#607 := [mp #108 #606]: #602
+#591 := (not #602)
+#592 := (or #591 #73)
+#587 := [quant-inst #24]: #592
+[unit-resolution #587 #607 #589]: false
 unsat
 c2e9404480cb814492148c359fbbbb3b0e606571 54 0
 #2 := false
@@ -13783,464 +13862,462 @@
 #104 := [not-or-elim #103]: #102
 [unit-resolution #104 #569]: false
 unsat
-05590bf1e80ec72a93326bf55eec9fe7b56de9d9 458 0
-#2 := false
-decl f12 :: (-> S2 S4 S4)
-decl f8 :: S4
-#19 := f8
-decl f5 :: (-> Int S2)
-#65 := 2::Int
-#66 := (f5 2::Int)
-#67 := (f12 #66 f8)
-#13 := 1::Int
-#61 := (f5 1::Int)
-#68 := (f12 #61 #67)
-decl f7 :: (-> S3 S4 S4)
-#62 := (f12 #61 f8)
-#59 := 0::Int
-#60 := (f5 0::Int)
-#63 := (f12 #60 #62)
+a5a23002374b3531b57fc274b72111cc0f0bdd3e 456 0
+#2 := false
+decl f9 :: (-> S6 S7 S7)
+decl f12 :: S7
+#23 := f12
+decl f20 :: (-> S16 S2 S6)
+decl f5 :: (-> S4 Int S2)
+#86 := 2::Int
+decl f6 :: S4
+#12 := f6
+#87 := (f5 f6 2::Int)
+decl f21 :: S16
+#42 := f21
+#88 := (f20 f21 #87)
+#89 := (f9 #88 f12)
+#15 := 1::Int
+#81 := (f5 f6 1::Int)
+#82 := (f20 f21 #81)
+#90 := (f9 #82 #89)
+#83 := (f9 #82 f12)
+#78 := 0::Int
+#79 := (f5 f6 0::Int)
+#80 := (f20 f21 #79)
+#84 := (f9 #80 #83)
+decl f10 :: (-> S8 S3 S6)
 decl f4 :: S3
 #8 := f4
-#64 := (f7 f4 #63)
-#69 := (= #64 #68)
-#339 := (f7 f4 #62)
+decl f11 :: S8
+#20 := f11
+#77 := (f10 f11 f4)
+#85 := (f9 #77 #84)
+#91 := (= #85 #90)
+#362 := (f9 #77 #83)
 decl f3 :: (-> S3 S2 S2)
-#424 := (f3 f4 #60)
-#340 := (f12 #424 #339)
-#381 := (= #340 #68)
-#380 := (= #68 #340)
-#433 := (= #67 #339)
-#594 := (f7 f4 f8)
-#595 := (f3 f4 #61)
-#688 := (f12 #595 #594)
-#441 := (= #688 #339)
-#685 := (= #339 #688)
-#34 := (:var 0 S4)
-#32 := (:var 2 S3)
-#38 := (f7 #32 #34)
-#33 := (:var 1 S2)
-#37 := (f3 #32 #33)
-#39 := (f12 #37 #38)
-#776 := (pattern #39)
-#35 := (f12 #33 #34)
-#36 := (f7 #32 #35)
-#775 := (pattern #36)
-#40 := (= #36 #39)
-#777 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) (:pat #775 #776) #40)
-#41 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #40)
-#780 := (iff #41 #777)
-#778 := (iff #40 #40)
+#447 := (f3 f4 #79)
+#451 := (f20 f21 #447)
+#452 := (f9 #451 #362)
+#372 := (= #452 #90)
+#379 := (= #90 #452)
+#428 := (= #89 #362)
+#361 := (f9 #77 f12)
+#701 := (f9 #82 #361)
+#702 := (f9 #77 #701)
+#443 := (= #702 #362)
+#441 := (= #362 #702)
+#496 := (= #83 #701)
+#494 := (= #701 #83)
+#490 := (= #361 f12)
+#446 := (= f12 #361)
+#21 := (:var 0 S3)
+#22 := (f10 f11 #21)
+#776 := (pattern #22)
+#24 := (f9 #22 f12)
+#140 := (= f12 #24)
+#777 := (forall (vars (?v0 S3)) (:pat #776) #140)
+#144 := (forall (vars (?v0 S3)) #140)
+#780 := (iff #144 #777)
+#778 := (iff #140 #140)
 #779 := [refl]: #778
 #781 := [quant-intro #779]: #780
-#240 := (~ #41 #41)
-#268 := (~ #40 #40)
-#269 := [refl]: #268
-#241 := [nnf-pos #269]: #240
-#141 := [asserted]: #41
-#270 := [mp~ #141 #241]: #41
-#782 := [mp #270 #781]: #777
-#428 := (not #777)
-#678 := (or #428 #685)
-#670 := [quant-inst #8 #61 #19]: #678
-#478 := [unit-resolution #670 #782]: #685
-#442 := [symm #478]: #441
-#459 := (= #67 #688)
-#682 := (= f8 #594)
-#18 := (:var 0 S3)
-#20 := (f7 #18 f8)
-#754 := (pattern #20)
-#118 := (= f8 #20)
-#755 := (forall (vars (?v0 S3)) (:pat #754) #118)
-#122 := (forall (vars (?v0 S3)) #118)
-#758 := (iff #122 #755)
-#756 := (iff #118 #118)
-#757 := [refl]: #756
-#759 := [quant-intro #757]: #758
-#234 := (~ #122 #122)
-#233 := (~ #118 #118)
-#260 := [refl]: #233
-#235 := [nnf-pos #260]: #234
-#21 := (= #20 f8)
-#22 := (forall (vars (?v0 S3)) #21)
-#123 := (iff #22 #122)
-#120 := (iff #21 #118)
-#121 := [rewrite]: #120
-#124 := [quant-intro #121]: #123
-#117 := [asserted]: #22
-#127 := [mp #117 #124]: #122
-#261 := [mp~ #127 #235]: #122
-#760 := [mp #261 #759]: #755
-#673 := (not #755)
-#674 := (or #673 #682)
-#668 := [quant-inst #8]: #674
-#479 := [unit-resolution #668 #760]: #682
-#458 := (= #66 #595)
-decl f6 :: (-> S2 Int)
-#741 := (f6 #61)
-#671 := (+ 1::Int #741)
-#672 := (f5 #671)
-#455 := (= #672 #595)
-#675 := (= #595 #672)
+#256 := (~ #144 #144)
+#255 := (~ #140 #140)
+#282 := [refl]: #255
+#257 := [nnf-pos #282]: #256
+#25 := (= #24 f12)
+#26 := (forall (vars (?v0 S3)) #25)
+#145 := (iff #26 #144)
+#142 := (iff #25 #140)
+#143 := [rewrite]: #142
+#146 := [quant-intro #143]: #145
+#139 := [asserted]: #26
+#149 := [mp #139 #146]: #144
+#283 := [mp~ #149 #257]: #144
+#782 := [mp #283 #781]: #777
+#448 := (not #777)
+#439 := (or #448 #446)
+#450 := [quant-inst #8]: #439
+#488 := [unit-resolution #450 #782]: #446
+#493 := [symm #488]: #490
+#495 := [monotonicity #493]: #494
+#489 := [symm #495]: #496
+#442 := [monotonicity #489]: #441
+#444 := [symm #442]: #443
+#434 := (= #89 #702)
+#700 := (f9 #77 #361)
+#692 := (f3 f4 #81)
+#689 := (f20 f21 #692)
+#691 := (f9 #689 #700)
+#699 := (= #691 #702)
+#45 := (:var 0 S7)
+#40 := (:var 2 S3)
+#41 := (f10 f11 #40)
+#50 := (f9 #41 #45)
+#43 := (:var 1 S2)
+#48 := (f3 #40 #43)
+#49 := (f20 f21 #48)
+#51 := (f9 #49 #50)
+#798 := (pattern #51)
+#44 := (f20 f21 #43)
+#46 := (f9 #44 #45)
+#47 := (f9 #41 #46)
+#797 := (pattern #47)
+#52 := (= #47 #51)
+#799 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S7)) (:pat #797 #798) #52)
+#53 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S7)) #52)
+#802 := (iff #53 #799)
+#800 := (iff #52 #52)
+#801 := [refl]: #800
+#803 := [quant-intro #801]: #802
+#262 := (~ #53 #53)
+#290 := (~ #52 #52)
+#291 := [refl]: #290
+#263 := [nnf-pos #291]: #262
+#163 := [asserted]: #53
+#292 := [mp~ #163 #263]: #53
+#804 := [mp #292 #803]: #799
+#768 := (not #799)
+#694 := (or #768 #699)
+#703 := (= #702 #691)
+#695 := (or #768 #703)
+#690 := (iff #695 #694)
+#681 := (iff #694 #694)
+#682 := [rewrite]: #681
+#704 := (iff #703 #699)
+#693 := [rewrite]: #704
+#697 := [monotonicity #693]: #690
+#684 := [trans #697 #682]: #690
+#696 := [quant-inst #8 #81 #361]: #695
+#685 := [mp #696 #684]: #694
+#497 := [unit-resolution #685 #804]: #699
+#427 := (= #89 #691)
+#485 := (= f12 #700)
+#484 := (= #361 #700)
+#482 := (= #700 #361)
+#483 := [monotonicity #493]: #482
+#486 := [symm #483]: #484
+#487 := [trans #488 #486]: #485
+#435 := (= #88 #689)
+#467 := (= #87 #692)
+decl f7 :: (-> S5 S2 Int)
+decl f8 :: S5
+#13 := f8
+#474 := (f7 f8 #81)
+#679 := (+ 1::Int #474)
+#676 := (f5 f6 #679)
+#660 := (= #676 #692)
 #9 := (:var 0 S2)
 #10 := (f3 f4 #9)
 #11 := (pattern #10)
-#12 := (f6 #9)
-#105 := (+ 1::Int #12)
-#108 := (f5 #105)
-#111 := (= #10 #108)
-#114 := (forall (vars (?v0 S2)) (:pat #11) #111)
-#258 := (~ #114 #114)
-#256 := (~ #111 #111)
-#257 := [refl]: #256
-#259 := [nnf-pos #257]: #258
-#14 := (+ #12 1::Int)
-#15 := (f5 #14)
-#16 := (= #10 #15)
-#17 := (forall (vars (?v0 S2)) (:pat #11) #16)
-#115 := (iff #17 #114)
-#112 := (iff #16 #111)
-#109 := (= #15 #108)
-#106 := (= #14 #105)
-#107 := [rewrite]: #106
-#110 := [monotonicity #107]: #109
-#113 := [monotonicity #110]: #112
-#116 := [quant-intro #113]: #115
-#104 := [asserted]: #17
-#119 := [mp #104 #116]: #114
-#232 := [mp~ #119 #259]: #114
-#680 := (not #114)
-#662 := (or #680 #675)
-#663 := [quant-inst #61]: #662
-#480 := [unit-resolution #663 #232]: #675
-#456 := [symm #480]: #455
-#448 := (= #66 #672)
-#618 := (f6 #672)
-#509 := (f5 #618)
-#516 := (= #509 #672)
-#799 := (pattern #12)
-#71 := (f5 #12)
-#147 := (= #9 #71)
-#800 := (forall (vars (?v0 S2)) (:pat #799) #147)
-#150 := (forall (vars (?v0 S2)) #147)
-#801 := (iff #150 #800)
-#803 := (iff #800 #800)
-#804 := [rewrite]: #803
-#802 := [rewrite]: #801
-#805 := [trans #802 #804]: #801
-#246 := (~ #150 #150)
-#277 := (~ #147 #147)
-#278 := [refl]: #277
-#247 := [nnf-pos #278]: #246
-#72 := (= #71 #9)
-#73 := (forall (vars (?v0 S2)) #72)
-#151 := (iff #73 #150)
-#148 := (iff #72 #147)
-#149 := [rewrite]: #148
-#152 := [quant-intro #149]: #151
-#146 := [asserted]: #73
-#155 := [mp #146 #152]: #150
-#248 := [mp~ #155 #247]: #150
-#806 := [mp #248 #805]: #800
-#522 := (not #800)
-#517 := (or #522 #516)
-#512 := (= #672 #509)
-#520 := (or #522 #512)
-#511 := (iff #520 #517)
-#514 := (iff #517 #517)
-#510 := [rewrite]: #514
-#518 := (iff #512 #516)
-#519 := [rewrite]: #518
-#513 := [monotonicity #519]: #511
-#515 := [trans #513 #510]: #511
-#508 := [quant-inst #672]: #520
-#505 := [mp #508 #515]: #517
-#481 := [unit-resolution #505 #806]: #516
-#465 := (= #66 #509)
-#464 := (= 2::Int #618)
-#461 := (= #618 2::Int)
-#666 := -1::Int
-#604 := (* -1::Int #741)
-#605 := (+ #618 #604)
-#562 := (<= #605 1::Int)
-#580 := (= #605 1::Int)
-#606 := (>= #741 -1::Int)
-#616 := (>= #741 1::Int)
-#451 := (= #741 1::Int)
-#74 := (:var 0 Int)
-#76 := (f5 #74)
-#807 := (pattern #76)
-#172 := (>= #74 0::Int)
-#173 := (not #172)
-#77 := (f6 #76)
-#154 := (= #74 #77)
-#179 := (or #154 #173)
-#808 := (forall (vars (?v0 Int)) (:pat #807) #179)
-#184 := (forall (vars (?v0 Int)) #179)
-#811 := (iff #184 #808)
-#809 := (iff #179 #179)
-#810 := [refl]: #809
-#812 := [quant-intro #810]: #811
-#250 := (~ #184 #184)
-#249 := (~ #179 #179)
-#279 := [refl]: #249
-#251 := [nnf-pos #279]: #250
-#78 := (= #77 #74)
-#75 := (<= 0::Int #74)
-#79 := (implies #75 #78)
-#80 := (forall (vars (?v0 Int)) #79)
-#187 := (iff #80 #184)
-#161 := (not #75)
-#162 := (or #161 #154)
-#167 := (forall (vars (?v0 Int)) #162)
-#185 := (iff #167 #184)
-#182 := (iff #162 #179)
-#176 := (or #173 #154)
-#180 := (iff #176 #179)
-#181 := [rewrite]: #180
-#177 := (iff #162 #176)
-#174 := (iff #161 #173)
-#170 := (iff #75 #172)
-#171 := [rewrite]: #170
-#175 := [monotonicity #171]: #174
-#178 := [monotonicity #175]: #177
-#183 := [trans #178 #181]: #182
-#186 := [quant-intro #183]: #185
-#168 := (iff #80 #167)
-#165 := (iff #79 #162)
-#158 := (implies #75 #154)
-#163 := (iff #158 #162)
-#164 := [rewrite]: #163
-#159 := (iff #79 #158)
-#156 := (iff #78 #154)
-#157 := [rewrite]: #156
-#160 := [monotonicity #157]: #159
-#166 := [trans #160 #164]: #165
-#169 := [quant-intro #166]: #168
-#188 := [trans #169 #186]: #187
-#153 := [asserted]: #80
-#189 := [mp #153 #188]: #184
-#280 := [mp~ #189 #251]: #184
-#813 := [mp #280 #812]: #808
-#387 := (not #808)
-#438 := (or #387 #451)
-#740 := (>= 1::Int 0::Int)
-#738 := (not #740)
-#727 := (= 1::Int #741)
-#728 := (or #727 #738)
-#439 := (or #387 #728)
-#718 := (iff #439 #438)
-#715 := (iff #438 #438)
-#719 := [rewrite]: #715
-#436 := (iff #728 #451)
-#447 := (or #451 false)
-#722 := (iff #447 #451)
-#726 := [rewrite]: #722
-#721 := (iff #728 #447)
-#724 := (iff #738 false)
+#14 := (f7 f8 #9)
+#127 := (+ 1::Int #14)
+#130 := (f5 f6 #127)
+#133 := (= #10 #130)
+#136 := (forall (vars (?v0 S2)) (:pat #11) #133)
+#280 := (~ #136 #136)
+#278 := (~ #133 #133)
+#279 := [refl]: #278
+#281 := [nnf-pos #279]: #280
+#16 := (+ #14 1::Int)
+#17 := (f5 f6 #16)
+#18 := (= #10 #17)
+#19 := (forall (vars (?v0 S2)) (:pat #11) #18)
+#137 := (iff #19 #136)
+#134 := (iff #18 #133)
+#131 := (= #17 #130)
+#128 := (= #16 #127)
+#129 := [rewrite]: #128
+#132 := [monotonicity #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [quant-intro #135]: #137
+#126 := [asserted]: #19
+#141 := [mp #126 #138]: #136
+#254 := [mp~ #141 #281]: #136
+#675 := (not #136)
+#664 := (or #675 #660)
+#680 := (= #692 #676)
+#665 := (or #675 #680)
+#667 := (iff #665 #664)
+#669 := (iff #664 #664)
+#670 := [rewrite]: #669
+#661 := (iff #680 #660)
+#663 := [rewrite]: #661
+#668 := [monotonicity #663]: #667
+#671 := [trans #668 #670]: #667
+#666 := [quant-inst #81]: #665
+#672 := [mp #666 #671]: #664
+#476 := [unit-resolution #672 #254]: #660
+#466 := (= #87 #676)
+#455 := (= 2::Int #679)
+#463 := (= #679 2::Int)
+#619 := (<= #474 1::Int)
+#468 := (= #474 1::Int)
+#96 := (:var 0 Int)
+#98 := (f5 f6 #96)
+#828 := (pattern #98)
+#194 := (>= #96 0::Int)
+#195 := (not #194)
+#99 := (f7 f8 #98)
+#176 := (= #96 #99)
+#201 := (or #176 #195)
+#829 := (forall (vars (?v0 Int)) (:pat #828) #201)
+#206 := (forall (vars (?v0 Int)) #201)
+#832 := (iff #206 #829)
+#830 := (iff #201 #201)
+#831 := [refl]: #830
+#833 := [quant-intro #831]: #832
+#272 := (~ #206 #206)
+#271 := (~ #201 #201)
+#301 := [refl]: #271
+#273 := [nnf-pos #301]: #272
+#100 := (= #99 #96)
+#97 := (<= 0::Int #96)
+#101 := (implies #97 #100)
+#102 := (forall (vars (?v0 Int)) #101)
+#209 := (iff #102 #206)
+#183 := (not #97)
+#184 := (or #183 #176)
+#189 := (forall (vars (?v0 Int)) #184)
+#207 := (iff #189 #206)
+#204 := (iff #184 #201)
+#198 := (or #195 #176)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #184 #198)
+#196 := (iff #183 #195)
+#192 := (iff #97 #194)
+#193 := [rewrite]: #192
+#197 := [monotonicity #193]: #196
+#200 := [monotonicity #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [quant-intro #205]: #207
+#190 := (iff #102 #189)
+#187 := (iff #101 #184)
+#180 := (implies #97 #176)
+#185 := (iff #180 #184)
+#186 := [rewrite]: #185
+#181 := (iff #101 #180)
+#178 := (iff #100 #176)
+#179 := [rewrite]: #178
+#182 := [monotonicity #179]: #181
+#188 := [trans #182 #186]: #187
+#191 := [quant-intro #188]: #190
+#210 := [trans #191 #208]: #209
+#175 := [asserted]: #102
+#211 := [mp #175 #210]: #206
+#302 := [mp~ #211 #273]: #206
+#834 := [mp #302 #833]: #829
+#753 := (not #829)
+#741 := (or #753 #468)
+#472 := (>= 1::Int 0::Int)
+#473 := (not #472)
+#475 := (= 1::Int #474)
+#368 := (or #475 #473)
+#738 := (or #753 #368)
+#731 := (iff #738 #741)
+#733 := (iff #741 #741)
+#728 := [rewrite]: #733
+#454 := (iff #368 #468)
+#459 := (or #468 false)
+#739 := (iff #459 #468)
+#740 := [rewrite]: #739
+#460 := (iff #368 #459)
+#748 := (iff #473 false)
 #1 := true
-#415 := (not true)
-#750 := (iff #415 false)
-#751 := [rewrite]: #750
-#346 := (iff #738 #415)
-#452 := (iff #740 true)
-#453 := [rewrite]: #452
-#723 := [monotonicity #453]: #346
-#446 := [trans #723 #751]: #724
-#435 := (iff #727 #451)
-#450 := [rewrite]: #435
-#725 := [monotonicity #450 #446]: #721
-#437 := [trans #725 #726]: #436
-#432 := [monotonicity #437]: #718
-#716 := [trans #432 #719]: #718
-#717 := [quant-inst #13]: #439
-#720 := [mp #717 #716]: #438
-#482 := [unit-resolution #720 #813]: #451
-#483 := (not #451)
-#484 := (or #483 #616)
-#485 := [th-lemma arith triangle-eq]: #484
-#486 := [unit-resolution #485 #482]: #616
-#487 := (not #616)
-#488 := (or #487 #606)
-#477 := [th-lemma arith farkas 1 1]: #488
-#489 := [unit-resolution #477 #486]: #606
-#540 := (not #606)
-#585 := (or #387 #580 #540)
-#617 := (>= #671 0::Int)
-#613 := (not #617)
-#598 := (= #671 #618)
-#544 := (or #598 #613)
-#586 := (or #387 #544)
-#559 := (iff #586 #585)
-#575 := (or #580 #540)
-#576 := (or #387 #575)
-#553 := (iff #576 #585)
-#558 := [rewrite]: #553
-#597 := (iff #586 #576)
-#582 := (iff #544 #575)
-#571 := (iff #613 #540)
-#574 := (iff #617 #606)
-#581 := [rewrite]: #574
-#573 := [monotonicity #581]: #571
-#599 := (iff #598 #580)
-#600 := [rewrite]: #599
-#584 := [monotonicity #600 #573]: #582
-#552 := [monotonicity #584]: #597
-#560 := [trans #552 #558]: #559
-#596 := [quant-inst #671]: #586
-#561 := [mp #596 #560]: #585
-#466 := [unit-resolution #561 #813 #489]: #580
-#468 := (not #580)
-#469 := (or #468 #562)
-#470 := [th-lemma arith triangle-eq]: #469
-#471 := [unit-resolution #470 #466]: #562
-#563 := (>= #605 1::Int)
-#472 := (or #468 #563)
-#473 := [th-lemma arith triangle-eq]: #472
-#474 := [unit-resolution #473 #466]: #563
-#615 := (<= #741 1::Int)
-#467 := (or #483 #615)
-#475 := [th-lemma arith triangle-eq]: #467
-#460 := [unit-resolution #475 #482]: #615
-#462 := [th-lemma arith eq-propagate -1 -1 -1 -1 #486 #460 #474 #471]: #461
-#463 := [symm #462]: #464
-#454 := [monotonicity #463]: #465
-#457 := [trans #454 #481]: #448
-#449 := [trans #457 #456]: #458
-#440 := [monotonicity #449 #479]: #459
-#443 := [trans #440 #442]: #433
-#374 := (= #61 #424)
-#427 := (f6 #60)
-#689 := (+ 1::Int #427)
-#676 := (f5 #689)
-#384 := (= #676 #424)
-#667 := (= #424 #676)
-#681 := (or #680 #667)
-#677 := [quant-inst #60]: #681
-#444 := [unit-resolution #677 #232]: #667
-#385 := [symm #444]: #384
-#383 := (= #61 #676)
-#664 := (f6 #676)
-#549 := (f5 #664)
-#533 := (= #549 #676)
-#523 := (or #522 #533)
-#550 := (= #676 #549)
-#524 := (or #522 #550)
-#527 := (iff #524 #523)
-#370 := (iff #523 #523)
-#529 := [rewrite]: #370
-#551 := (iff #550 #533)
-#521 := [rewrite]: #551
-#528 := [monotonicity #521]: #527
-#525 := [trans #528 #529]: #527
-#526 := [quant-inst #676]: #524
-#530 := [mp #526 #525]: #523
-#434 := [unit-resolution #530 #806]: #533
-#401 := (= #61 #549)
-#400 := (= 1::Int #664)
-#398 := (= #664 1::Int)
-#652 := (* -1::Int #664)
-#653 := (+ #427 #652)
-#623 := (<= #653 -1::Int)
-#655 := (= #653 -1::Int)
-#654 := (>= #427 -1::Int)
-#679 := (>= #427 0::Int)
-#404 := (= #427 0::Int)
-#729 := (or #387 #404)
-#426 := (>= 0::Int 0::Int)
-#417 := (not #426)
-#431 := (= 0::Int #427)
-#410 := (or #431 #417)
-#391 := (or #387 #410)
-#393 := (iff #391 #729)
-#731 := (iff #729 #729)
-#732 := [rewrite]: #731
-#403 := (iff #410 #404)
-#753 := (or #404 false)
-#407 := (iff #753 #404)
-#744 := [rewrite]: #407
-#743 := (iff #410 #753)
-#752 := (iff #417 false)
-#416 := (iff #417 #415)
-#535 := (iff #426 true)
-#742 := [rewrite]: #535
-#749 := [monotonicity #742]: #416
-#747 := [trans #749 #751]: #752
-#746 := (iff #431 #404)
-#748 := [rewrite]: #746
-#402 := [monotonicity #748 #747]: #743
-#745 := [trans #402 #744]: #403
-#394 := [monotonicity #745]: #393
-#733 := [trans #394 #732]: #393
-#392 := [quant-inst #59]: #391
-#734 := [mp #392 #733]: #729
-#445 := [unit-resolution #734 #813]: #404
-#411 := (not #404)
-#413 := (or #411 #679)
-#414 := [th-lemma arith triangle-eq]: #413
-#405 := [unit-resolution #414 #445]: #679
-#418 := (not #679)
-#419 := (or #418 #654)
-#420 := [th-lemma arith farkas 1 1]: #419
-#421 := [unit-resolution #420 #405]: #654
-#639 := (not #654)
-#640 := (or #387 #639 #655)
-#659 := (>= #689 0::Int)
-#660 := (not #659)
-#665 := (= #689 #664)
-#661 := (or #665 #660)
-#651 := (or #387 #661)
-#636 := (iff #651 #640)
-#646 := (or #639 #655)
-#630 := (or #387 #646)
-#634 := (iff #630 #640)
-#635 := [rewrite]: #634
-#632 := (iff #651 #630)
-#649 := (iff #661 #646)
-#643 := (or #655 #639)
-#647 := (iff #643 #646)
-#648 := [rewrite]: #647
-#644 := (iff #661 #643)
-#641 := (iff #660 #639)
-#658 := (iff #659 #654)
-#638 := [rewrite]: #658
-#642 := [monotonicity #638]: #641
-#656 := (iff #665 #655)
-#657 := [rewrite]: #656
-#645 := [monotonicity #657 #642]: #644
-#650 := [trans #645 #648]: #649
-#633 := [monotonicity #650]: #632
-#631 := [trans #633 #635]: #636
-#629 := [quant-inst #689]: #651
-#637 := [mp #629 #631]: #640
-#422 := [unit-resolution #637 #813 #421]: #655
-#412 := (not #655)
-#423 := (or #412 #623)
-#406 := [th-lemma arith triangle-eq]: #423
-#408 := [unit-resolution #406 #422]: #623
-#619 := (>= #653 -1::Int)
-#409 := (or #412 #619)
-#388 := [th-lemma arith triangle-eq]: #409
-#390 := [unit-resolution #388 #422]: #619
-#669 := (<= #427 0::Int)
-#395 := (or #411 #669)
-#396 := [th-lemma arith triangle-eq]: #395
-#397 := [unit-resolution #396 #445]: #669
-#399 := [th-lemma arith eq-propagate -1 -1 1 1 #405 #397 #390 #408]: #398
-#389 := [symm #399]: #400
-#382 := [monotonicity #389]: #401
-#386 := [trans #382 #434]: #383
-#376 := [trans #386 #385]: #374
-#375 := [monotonicity #376 #443]: #380
-#356 := [symm #375]: #381
-#425 := (= #64 #340)
-#429 := (or #428 #425)
-#430 := [quant-inst #8 #60 #62]: #429
-#377 := [unit-resolution #430 #782]: #425
-#360 := [trans #377 #356]: #69
-#70 := (not #69)
-#145 := [asserted]: #70
-[unit-resolution #145 #360]: false
+#769 := (not true)
+#424 := (iff #769 false)
+#429 := [rewrite]: #424
+#747 := (iff #473 #769)
+#469 := (iff #472 true)
+#743 := [rewrite]: #469
+#744 := [monotonicity #743]: #747
+#458 := [trans #744 #429]: #748
+#745 := (iff #475 #468)
+#746 := [rewrite]: #745
+#461 := [monotonicity #746 #458]: #460
+#737 := [trans #461 #740]: #454
+#732 := [monotonicity #737]: #731
+#729 := [trans #732 #728]: #731
+#742 := [quant-inst #15]: #738
+#734 := [mp #742 #729]: #741
+#477 := [unit-resolution #734 #834]: #468
+#478 := (not #468)
+#470 := (or #478 #619)
+#479 := [th-lemma arith triangle-eq]: #470
+#480 := [unit-resolution #479 #477]: #619
+#574 := (>= #474 1::Int)
+#471 := (or #478 #574)
+#481 := [th-lemma arith triangle-eq]: #471
+#462 := [unit-resolution #481 #477]: #574
+#464 := [th-lemma arith eq-propagate -1 -1 #462 #480]: #463
+#465 := [symm #464]: #455
+#456 := [monotonicity #465]: #466
+#433 := [trans #456 #476]: #467
+#436 := [monotonicity #433]: #435
+#440 := [monotonicity #436 #487]: #427
+#445 := [trans #440 #497]: #434
+#430 := [trans #445 #444]: #428
+#384 := (= #82 #451)
+#380 := (= #81 #447)
+#557 := (f7 f8 #79)
+#686 := (+ 1::Int #557)
+#687 := (f5 f6 #686)
+#393 := (= #687 #447)
+#683 := (= #447 #687)
+#677 := (or #675 #683)
+#678 := [quant-inst #79]: #677
+#431 := [unit-resolution #678 #254]: #683
+#389 := [symm #431]: #393
+#394 := (= #81 #687)
+#651 := (f7 f8 #687)
+#536 := (f5 f6 #651)
+#537 := (= #536 #687)
+#821 := (pattern #14)
+#93 := (f5 f6 #14)
+#169 := (= #9 #93)
+#822 := (forall (vars (?v0 S2)) (:pat #821) #169)
+#172 := (forall (vars (?v0 S2)) #169)
+#825 := (iff #172 #822)
+#823 := (iff #169 #169)
+#824 := [refl]: #823
+#826 := [quant-intro #824]: #825
+#268 := (~ #172 #172)
+#299 := (~ #169 #169)
+#300 := [refl]: #299
+#269 := [nnf-pos #300]: #268
+#94 := (= #93 #9)
+#95 := (forall (vars (?v0 S2)) #94)
+#173 := (iff #95 #172)
+#170 := (iff #94 #169)
+#171 := [rewrite]: #170
+#174 := [quant-intro #171]: #173
+#168 := [asserted]: #95
+#177 := [mp #168 #174]: #172
+#270 := [mp~ #177 #269]: #172
+#827 := [mp #270 #826]: #822
+#519 := (not #822)
+#520 := (or #519 #537)
+#532 := (= #687 #536)
+#523 := (or #519 #532)
+#528 := (iff #523 #520)
+#529 := (iff #520 #520)
+#522 := [rewrite]: #529
+#527 := (iff #532 #537)
+#517 := [rewrite]: #527
+#521 := [monotonicity #517]: #528
+#525 := [trans #521 #522]: #528
+#524 := [quant-inst #687]: #523
+#526 := [mp #524 #525]: #520
+#410 := [unit-resolution #526 #827]: #537
+#390 := (= #81 #536)
+#383 := (= 1::Int #651)
+#378 := (= #651 1::Int)
+#655 := -1::Int
+#656 := (* -1::Int #651)
+#657 := (+ #557 #656)
+#640 := (<= #657 -1::Int)
+#658 := (= #657 -1::Int)
+#645 := (>= #557 -1::Int)
+#674 := (>= #557 0::Int)
+#772 := (= #557 0::Int)
+#754 := (or #753 #772)
+#453 := (>= 0::Int 0::Int)
+#432 := (not #453)
+#764 := (= 0::Int #557)
+#437 := (or #764 #432)
+#755 := (or #753 #437)
+#757 := (iff #755 #754)
+#758 := (iff #754 #754)
+#395 := [rewrite]: #758
+#415 := (iff #437 #772)
+#767 := (or #772 false)
+#413 := (iff #767 #772)
+#414 := [rewrite]: #413
+#409 := (iff #437 #767)
+#766 := (iff #432 false)
+#775 := (iff #432 #769)
+#773 := (iff #453 true)
+#774 := [rewrite]: #773
+#765 := [monotonicity #774]: #775
+#425 := [trans #765 #429]: #766
+#438 := (iff #764 #772)
+#771 := [rewrite]: #438
+#751 := [monotonicity #771 #425]: #409
+#416 := [trans #751 #414]: #415
+#752 := [monotonicity #416]: #757
+#759 := [trans #752 #395]: #757
+#756 := [quant-inst #78]: #755
+#761 := [mp #756 #759]: #754
+#412 := [unit-resolution #761 #834]: #772
+#417 := (not #772)
+#418 := (or #417 #674)
+#419 := [th-lemma arith triangle-eq]: #418
+#420 := [unit-resolution #419 #412]: #674
+#421 := (not #674)
+#422 := (or #421 #645)
+#411 := [th-lemma arith farkas 1 1]: #422
+#423 := [unit-resolution #411 #420]: #645
+#643 := (not #645)
+#629 := (or #753 #643 #658)
+#662 := (>= #686 0::Int)
+#673 := (not #662)
+#652 := (= #686 #651)
+#654 := (or #652 #673)
+#630 := (or #753 #654)
+#638 := (iff #630 #629)
+#650 := (or #643 #658)
+#636 := (or #753 #650)
+#634 := (iff #636 #629)
+#637 := [rewrite]: #634
+#632 := (iff #630 #636)
+#625 := (iff #654 #650)
+#648 := (or #658 #643)
+#623 := (iff #648 #650)
+#624 := [rewrite]: #623
+#649 := (iff #654 #648)
+#646 := (iff #673 #643)
+#641 := (iff #662 #645)
+#642 := [rewrite]: #641
+#647 := [monotonicity #642]: #646
+#653 := (iff #652 #658)
+#659 := [rewrite]: #653
+#644 := [monotonicity #659 #647]: #649
+#518 := [trans #644 #624]: #625
+#633 := [monotonicity #518]: #632
+#639 := [trans #633 #637]: #638
+#631 := [quant-inst #686]: #630
+#635 := [mp #631 #639]: #629
+#404 := [unit-resolution #635 #834 #423]: #658
+#406 := (not #658)
+#407 := (or #406 #640)
+#405 := [th-lemma arith triangle-eq]: #407
+#408 := [unit-resolution #405 #404]: #640
+#620 := (>= #657 -1::Int)
+#396 := (or #406 #620)
+#398 := [th-lemma arith triangle-eq]: #396
+#399 := [unit-resolution #398 #404]: #620
+#688 := (<= #557 0::Int)
+#402 := (or #417 #688)
+#397 := [th-lemma arith triangle-eq]: #402
+#403 := [unit-resolution #397 #412]: #688
+#382 := [th-lemma arith eq-propagate -1 -1 1 1 #420 #403 #399 #408]: #378
+#388 := [symm #382]: #383
+#391 := [monotonicity #388]: #390
+#377 := [trans #391 #410]: #394
+#381 := [trans #377 #389]: #380
+#385 := [monotonicity #381]: #384
+#387 := [monotonicity #385 #430]: #379
+#369 := [symm #387]: #372
+#449 := (= #85 #452)
+#770 := (or #768 #449)
+#426 := [quant-inst #8 #79 #83]: #770
+#386 := [unit-resolution #426 #804]: #449
+#370 := [trans #386 #369]: #91
+#92 := (not #91)
+#167 := [asserted]: #92
+[unit-resolution #167 #370]: false
 unsat
 b18aa009c5b54d915c2c9feecd9762a9bb0c27b5 38 0
 #2 := false
@@ -14281,1882 +14358,907 @@
 #34 := [asserted]: #14
 [mp #34 #57]: false
 unsat
-0981584a739b689bb03bd432c8c4584b486099cf 374 0
-#2 := false
-decl f5 :: (-> Int S2)
-#26 := 6::Int
-#27 := (f5 6::Int)
-decl f3 :: (-> S2 S2)
-decl f4 :: (-> S2 Int)
-#19 := 4::Int
-#20 := (f5 4::Int)
-#21 := (f3 #20)
-#22 := (f4 #21)
-#23 := (* 4::Int #22)
-#24 := (f5 #23)
-#25 := (f3 #24)
-#28 := (= #25 #27)
-#545 := (f3 #27)
-#407 := (= #545 #27)
-#540 := (= #27 #545)
-#589 := (f4 #27)
-#65 := -10::Int
-#521 := (+ -10::Int #589)
-#480 := (f5 #521)
-#511 := (f3 #480)
-#524 := (= #511 #545)
-#11 := 10::Int
-#515 := (>= #589 10::Int)
-#536 := (ite #515 #524 #540)
-#8 := (:var 0 S2)
-#9 := (f3 #8)
-#695 := (pattern #9)
-#10 := (f4 #8)
-#694 := (pattern #10)
-#215 := (= #8 #9)
-#66 := (+ -10::Int #10)
-#69 := (f5 #66)
-#72 := (f3 #69)
-#214 := (= #9 #72)
-#86 := (>= #10 10::Int)
-#202 := (ite #86 #214 #215)
-#696 := (forall (vars (?v0 S2)) (:pat #694 #695) #202)
-#217 := (forall (vars (?v0 S2)) #202)
-#699 := (iff #217 #696)
-#697 := (iff #202 #202)
-#698 := [refl]: #697
-#700 := [quant-intro #698]: #699
-#91 := (ite #86 #72 #8)
-#96 := (= #9 #91)
-#99 := (forall (vars (?v0 S2)) #96)
-#218 := (iff #99 #217)
-#203 := (iff #96 #202)
-#216 := [rewrite]: #203
-#219 := [quant-intro #216]: #218
-#206 := (~ #99 #99)
-#204 := (~ #96 #96)
-#205 := [refl]: #204
-#207 := [nnf-pos #205]: #206
-#13 := (- #10 10::Int)
-#14 := (f5 #13)
-#15 := (f3 #14)
-#12 := (< #10 10::Int)
-#16 := (ite #12 #8 #15)
-#17 := (= #9 #16)
-#18 := (forall (vars (?v0 S2)) #17)
-#102 := (iff #18 #99)
-#75 := (ite #12 #8 #72)
-#78 := (= #9 #75)
-#81 := (forall (vars (?v0 S2)) #78)
+6484c4415dc032ed762d879b9df0ebba83c1370d 380 0
+#2 := false
+decl f7 :: (-> S5 Int S2)
+#29 := 6::Int
+decl f8 :: S5
+#15 := f8
+#30 := (f7 f8 6::Int)
+decl f3 :: (-> S3 S2 S2)
+decl f5 :: (-> S4 S2 Int)
+#22 := 4::Int
+#23 := (f7 f8 4::Int)
+decl f4 :: S3
+#8 := f4
+#24 := (f3 f4 #23)
+decl f6 :: S4
+#11 := f6
+#25 := (f5 f6 #24)
+#26 := (* 4::Int #25)
+#27 := (f7 f8 #26)
+#28 := (f3 f4 #27)
+#31 := (= #28 #30)
+#548 := (f3 f4 #30)
+#410 := (= #548 #30)
+#543 := (= #30 #548)
+#592 := (f5 f6 #30)
+#68 := -10::Int
+#524 := (+ -10::Int #592)
+#483 := (f7 f8 #524)
+#514 := (f3 f4 #483)
+#527 := (= #514 #548)
+#13 := 10::Int
+#518 := (>= #592 10::Int)
+#539 := (ite #518 #527 #543)
+#9 := (:var 0 S2)
+#10 := (f3 f4 #9)
+#698 := (pattern #10)
+#12 := (f5 f6 #9)
+#697 := (pattern #12)
+#218 := (= #9 #10)
+#69 := (+ -10::Int #12)
+#72 := (f7 f8 #69)
+#75 := (f3 f4 #72)
+#217 := (= #10 #75)
+#89 := (>= #12 10::Int)
+#205 := (ite #89 #217 #218)
+#699 := (forall (vars (?v0 S2)) (:pat #697 #698) #205)
+#220 := (forall (vars (?v0 S2)) #205)
+#702 := (iff #220 #699)
+#700 := (iff #205 #205)
+#701 := [refl]: #700
+#703 := [quant-intro #701]: #702
+#94 := (ite #89 #75 #9)
+#99 := (= #10 #94)
+#102 := (forall (vars (?v0 S2)) #99)
+#221 := (iff #102 #220)
+#206 := (iff #99 #205)
+#219 := [rewrite]: #206
+#222 := [quant-intro #219]: #221
+#209 := (~ #102 #102)
+#207 := (~ #99 #99)
+#208 := [refl]: #207
+#210 := [nnf-pos #208]: #209
+#16 := (- #12 10::Int)
+#17 := (f7 f8 #16)
+#18 := (f3 f4 #17)
+#14 := (< #12 10::Int)
+#19 := (ite #14 #9 #18)
+#20 := (= #10 #19)
+#21 := (forall (vars (?v0 S2)) #20)
+#105 := (iff #21 #102)
+#78 := (ite #14 #9 #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 S2)) #81)
+#103 := (iff #84 #102)
 #100 := (iff #81 #99)
-#97 := (iff #78 #96)
-#94 := (= #75 #91)
-#84 := (not #86)
-#88 := (ite #84 #8 #72)
-#92 := (= #88 #91)
-#93 := [rewrite]: #92
-#89 := (= #75 #88)
-#85 := (iff #12 #84)
-#87 := [rewrite]: #85
-#90 := [monotonicity #87]: #89
-#95 := [trans #90 #93]: #94
-#98 := [monotonicity #95]: #97
-#101 := [quant-intro #98]: #100
-#82 := (iff #18 #81)
-#79 := (iff #17 #78)
-#76 := (= #16 #75)
-#73 := (= #15 #72)
-#70 := (= #14 #69)
-#67 := (= #13 #66)
-#68 := [rewrite]: #67
-#71 := [monotonicity #68]: #70
+#97 := (= #78 #94)
+#87 := (not #89)
+#91 := (ite #87 #9 #75)
+#95 := (= #91 #94)
+#96 := [rewrite]: #95
+#92 := (= #78 #91)
+#88 := (iff #14 #87)
+#90 := [rewrite]: #88
+#93 := [monotonicity #90]: #92
+#98 := [trans #93 #96]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#85 := (iff #21 #84)
+#82 := (iff #20 #81)
+#79 := (= #19 #78)
+#76 := (= #18 #75)
+#73 := (= #17 #72)
+#70 := (= #16 #69)
+#71 := [rewrite]: #70
 #74 := [monotonicity #71]: #73
 #77 := [monotonicity #74]: #76
 #80 := [monotonicity #77]: #79
-#83 := [quant-intro #80]: #82
-#103 := [trans #83 #101]: #102
-#64 := [asserted]: #18
-#104 := [mp #64 #103]: #99
-#192 := [mp~ #104 #207]: #99
-#220 := [mp #192 #219]: #217
-#701 := [mp #220 #700]: #696
-#367 := (not #696)
-#492 := (or #367 #536)
-#513 := (= #545 #511)
-#522 := (ite #515 #513 #540)
-#493 := (or #367 #522)
-#499 := (iff #493 #492)
-#501 := (iff #492 #492)
-#502 := [rewrite]: #501
-#516 := (iff #522 #536)
-#525 := (iff #513 #524)
-#526 := [rewrite]: #525
-#537 := [monotonicity #526]: #516
-#500 := [monotonicity #537]: #499
-#503 := [trans #500 #502]: #499
-#498 := [quant-inst #27]: #493
-#504 := [mp #498 #503]: #492
-#489 := [unit-resolution #504 #701]: #536
-#506 := (not #515)
-#483 := (<= #589 6::Int)
-#569 := (= #589 6::Int)
-#34 := (:var 0 Int)
-#36 := (f5 #34)
-#709 := (pattern #36)
-#33 := 0::Int
-#132 := (>= #34 0::Int)
-#133 := (not #132)
-#37 := (f4 #36)
-#114 := (= #34 #37)
-#139 := (or #114 #133)
-#710 := (forall (vars (?v0 Int)) (:pat #709) #139)
-#144 := (forall (vars (?v0 Int)) #139)
-#713 := (iff #144 #710)
-#711 := (iff #139 #139)
-#712 := [refl]: #711
-#714 := [quant-intro #712]: #713
-#198 := (~ #144 #144)
-#197 := (~ #139 #139)
-#209 := [refl]: #197
-#199 := [nnf-pos #209]: #198
-#38 := (= #37 #34)
-#35 := (<= 0::Int #34)
-#39 := (implies #35 #38)
-#40 := (forall (vars (?v0 Int)) #39)
-#147 := (iff #40 #144)
-#121 := (not #35)
-#122 := (or #121 #114)
-#127 := (forall (vars (?v0 Int)) #122)
-#145 := (iff #127 #144)
-#142 := (iff #122 #139)
-#136 := (or #133 #114)
-#140 := (iff #136 #139)
-#141 := [rewrite]: #140
-#137 := (iff #122 #136)
-#134 := (iff #121 #133)
-#130 := (iff #35 #132)
-#131 := [rewrite]: #130
-#135 := [monotonicity #131]: #134
-#138 := [monotonicity #135]: #137
-#143 := [trans #138 #141]: #142
-#146 := [quant-intro #143]: #145
-#128 := (iff #40 #127)
-#125 := (iff #39 #122)
-#118 := (implies #35 #114)
-#123 := (iff #118 #122)
-#124 := [rewrite]: #123
-#119 := (iff #39 #118)
-#116 := (iff #38 #114)
-#117 := [rewrite]: #116
-#120 := [monotonicity #117]: #119
-#126 := [trans #120 #124]: #125
-#129 := [quant-intro #126]: #128
-#148 := [trans #129 #146]: #147
-#113 := [asserted]: #40
-#149 := [mp #113 #148]: #144
-#210 := [mp~ #149 #199]: #144
-#715 := [mp #210 #714]: #710
-#642 := (not #710)
-#566 := (or #642 #569)
-#587 := (>= 6::Int 0::Int)
-#588 := (not #587)
-#590 := (= 6::Int #589)
-#580 := (or #590 #588)
-#567 := (or #642 #580)
-#568 := (iff #567 #566)
-#542 := (iff #566 #566)
-#543 := [rewrite]: #542
-#564 := (iff #580 #569)
-#577 := (or #569 false)
-#560 := (iff #577 #569)
-#561 := [rewrite]: #560
-#563 := (iff #580 #577)
-#576 := (iff #588 false)
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#106 := [trans #86 #104]: #105
+#67 := [asserted]: #21
+#107 := [mp #67 #106]: #102
+#195 := [mp~ #107 #210]: #102
+#223 := [mp #195 #222]: #220
+#704 := [mp #223 #703]: #699
+#370 := (not #699)
+#495 := (or #370 #539)
+#516 := (= #548 #514)
+#525 := (ite #518 #516 #543)
+#496 := (or #370 #525)
+#502 := (iff #496 #495)
+#504 := (iff #495 #495)
+#505 := [rewrite]: #504
+#519 := (iff #525 #539)
+#528 := (iff #516 #527)
+#529 := [rewrite]: #528
+#540 := [monotonicity #529]: #519
+#503 := [monotonicity #540]: #502
+#506 := [trans #503 #505]: #502
+#501 := [quant-inst #30]: #496
+#507 := [mp #501 #506]: #495
+#492 := [unit-resolution #507 #704]: #539
+#509 := (not #518)
+#486 := (<= #592 6::Int)
+#572 := (= #592 6::Int)
+#37 := (:var 0 Int)
+#39 := (f7 f8 #37)
+#711 := (pattern #39)
+#36 := 0::Int
+#135 := (>= #37 0::Int)
+#136 := (not #135)
+#40 := (f5 f6 #39)
+#117 := (= #37 #40)
+#142 := (or #117 #136)
+#712 := (forall (vars (?v0 Int)) (:pat #711) #142)
+#147 := (forall (vars (?v0 Int)) #142)
+#715 := (iff #147 #712)
+#713 := (iff #142 #142)
+#714 := [refl]: #713
+#716 := [quant-intro #714]: #715
+#201 := (~ #147 #147)
+#200 := (~ #142 #142)
+#212 := [refl]: #200
+#202 := [nnf-pos #212]: #201
+#41 := (= #40 #37)
+#38 := (<= 0::Int #37)
+#42 := (implies #38 #41)
+#43 := (forall (vars (?v0 Int)) #42)
+#150 := (iff #43 #147)
+#124 := (not #38)
+#125 := (or #124 #117)
+#130 := (forall (vars (?v0 Int)) #125)
+#148 := (iff #130 #147)
+#145 := (iff #125 #142)
+#139 := (or #136 #117)
+#143 := (iff #139 #142)
+#144 := [rewrite]: #143
+#140 := (iff #125 #139)
+#137 := (iff #124 #136)
+#133 := (iff #38 #135)
+#134 := [rewrite]: #133
+#138 := [monotonicity #134]: #137
+#141 := [monotonicity #138]: #140
+#146 := [trans #141 #144]: #145
+#149 := [quant-intro #146]: #148
+#131 := (iff #43 #130)
+#128 := (iff #42 #125)
+#121 := (implies #38 #117)
+#126 := (iff #121 #125)
+#127 := [rewrite]: #126
+#122 := (iff #42 #121)
+#119 := (iff #41 #117)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120]: #122
+#129 := [trans #123 #127]: #128
+#132 := [quant-intro #129]: #131
+#151 := [trans #132 #149]: #150
+#116 := [asserted]: #43
+#152 := [mp #116 #151]: #147
+#213 := [mp~ #152 #202]: #147
+#717 := [mp #213 #716]: #712
+#645 := (not #712)
+#569 := (or #645 #572)
+#590 := (>= 6::Int 0::Int)
+#591 := (not #590)
+#593 := (= 6::Int #592)
+#583 := (or #593 #591)
+#570 := (or #645 #583)
+#571 := (iff #570 #569)
+#545 := (iff #569 #569)
+#546 := [rewrite]: #545
+#567 := (iff #583 #572)
+#580 := (or #572 false)
+#563 := (iff #580 #572)
+#564 := [rewrite]: #563
+#566 := (iff #583 #580)
+#579 := (iff #591 false)
 #1 := true
-#650 := (not true)
-#647 := (iff #650 false)
-#652 := [rewrite]: #647
-#574 := (iff #588 #650)
-#572 := (iff #587 true)
-#573 := [rewrite]: #572
-#575 := [monotonicity #573]: #574
-#571 := [trans #575 #652]: #576
-#591 := (iff #590 #569)
-#570 := [rewrite]: #591
-#559 := [monotonicity #570 #571]: #563
-#565 := [trans #559 #561]: #564
-#541 := [monotonicity #565]: #568
-#436 := [trans #541 #543]: #568
-#562 := [quant-inst #26]: #567
-#547 := [mp #562 #436]: #566
-#490 := [unit-resolution #547 #715]: #569
-#466 := (not #569)
-#467 := (or #466 #483)
-#468 := [th-lemma arith triangle-eq]: #467
-#310 := [unit-resolution #468 #490]: #483
-#469 := (not #483)
-#465 := (or #469 #506)
-#470 := [th-lemma arith farkas 1 1]: #465
-#449 := [unit-resolution #470 #310]: #506
-#505 := (not #536)
-#509 := (or #505 #515 #540)
-#494 := [def-axiom]: #509
-#452 := [unit-resolution #494 #449 #489]: #540
-#415 := [symm #452]: #407
-#400 := (= #25 #545)
-#334 := (f4 #24)
-#681 := (+ -10::Int #334)
-#667 := (f5 #681)
-#668 := (f3 #667)
-#413 := (= #668 #545)
-#417 := (= #667 #27)
-#427 := (= #681 6::Int)
-#683 := (f4 #20)
-#512 := -1::Int
-#558 := (* -1::Int #683)
-#538 := (+ #22 #558)
-#484 := (<= #538 0::Int)
-#553 := (= #22 #683)
-#445 := (= #21 #20)
-#693 := (= #20 #21)
-#343 := (+ -10::Int #683)
-#685 := (f5 #343)
-#327 := (f3 #685)
-#669 := (= #21 #327)
-#331 := (>= #683 10::Int)
-#332 := (ite #331 #669 #693)
-#671 := (or #367 #332)
-#672 := [quant-inst #20]: #671
-#456 := [unit-resolution #672 #701]: #332
-#674 := (not #331)
-#630 := (<= #683 4::Int)
-#656 := (= #683 4::Int)
-#636 := (or #642 #656)
-#392 := (>= 4::Int 0::Int)
-#393 := (not #392)
-#658 := (= 4::Int #683)
-#372 := (or #658 #393)
-#637 := (or #642 #372)
-#644 := (iff #637 #636)
-#645 := (iff #636 #636)
-#474 := [rewrite]: #645
-#640 := (iff #372 #656)
-#654 := (or #656 false)
-#497 := (iff #654 #656)
-#639 := [rewrite]: #497
-#495 := (iff #372 #654)
-#653 := (iff #393 false)
-#651 := (iff #393 #650)
-#660 := (iff #392 true)
-#649 := [rewrite]: #660
-#646 := [monotonicity #649]: #651
-#648 := [trans #646 #652]: #653
-#655 := (iff #658 #656)
-#659 := [rewrite]: #655
-#496 := [monotonicity #659 #648]: #495
-#641 := [trans #496 #639]: #640
-#638 := [monotonicity #641]: #644
-#476 := [trans #638 #474]: #644
-#643 := [quant-inst #19]: #637
-#477 := [mp #643 #476]: #636
-#458 := [unit-resolution #477 #715]: #656
-#459 := (not #656)
-#457 := (or #459 #630)
-#460 := [th-lemma arith triangle-eq]: #457
-#448 := [unit-resolution #460 #458]: #630
-#451 := (not #630)
-#453 := (or #451 #674)
-#454 := [th-lemma arith farkas 1 1]: #453
-#450 := [unit-resolution #454 #448]: #674
-#673 := (not #332)
-#676 := (or #673 #331 #693)
-#313 := [def-axiom]: #676
-#455 := [unit-resolution #313 #450 #456]: #693
-#435 := [symm #455]: #445
-#437 := [monotonicity #435]: #553
-#438 := (not #553)
-#441 := (or #438 #484)
-#442 := [th-lemma arith triangle-eq]: #441
-#446 := [unit-resolution #442 #437]: #484
-#539 := (>= #538 0::Int)
-#439 := (or #438 #539)
-#447 := [th-lemma arith triangle-eq]: #439
-#440 := [unit-resolution #447 #437]: #539
-#631 := (>= #683 4::Int)
-#443 := (or #459 #631)
-#444 := [th-lemma arith triangle-eq]: #443
-#430 := [unit-resolution #444 #458]: #631
-#527 := (* -1::Int #334)
-#529 := (+ #23 #527)
-#614 := (<= #529 0::Int)
-#530 := (= #529 0::Int)
-#532 := (>= #22 0::Int)
-#433 := (not #539)
-#432 := (not #631)
-#431 := (or #532 #432 #433)
-#434 := [th-lemma arith assign-bounds 1 1]: #431
-#416 := [unit-resolution #434 #430 #440]: #532
-#535 := (not #532)
-#629 := (or #530 #535)
-#610 := (or #642 #530 #535)
-#528 := (>= #23 0::Int)
-#623 := (not #528)
-#624 := (= #23 #334)
-#627 := (or #624 #623)
-#607 := (or #642 #627)
-#611 := (iff #607 #610)
-#619 := (or #642 #629)
-#617 := (iff #619 #610)
-#622 := [rewrite]: #617
-#620 := (iff #607 #619)
-#616 := (iff #627 #629)
-#628 := (iff #623 #535)
-#533 := (iff #528 #532)
-#534 := [rewrite]: #533
-#625 := [monotonicity #534]: #628
-#523 := (iff #624 #530)
-#531 := [rewrite]: #523
-#618 := [monotonicity #531 #625]: #616
-#621 := [monotonicity #618]: #620
-#612 := [trans #621 #622]: #611
-#609 := [quant-inst #23]: #607
-#613 := [mp #609 #612]: #610
-#418 := [unit-resolution #613 #715]: #629
-#419 := [unit-resolution #418 #416]: #530
-#420 := (not #530)
-#421 := (or #420 #614)
-#422 := [th-lemma arith triangle-eq]: #421
-#423 := [unit-resolution #422 #419]: #614
-#608 := (>= #529 0::Int)
-#424 := (or #420 #608)
+#653 := (not true)
+#650 := (iff #653 false)
+#655 := [rewrite]: #650
+#577 := (iff #591 #653)
+#575 := (iff #590 true)
+#576 := [rewrite]: #575
+#578 := [monotonicity #576]: #577
+#574 := [trans #578 #655]: #579
+#594 := (iff #593 #572)
+#573 := [rewrite]: #594
+#562 := [monotonicity #573 #574]: #566
+#568 := [trans #562 #564]: #567
+#544 := [monotonicity #568]: #571
+#439 := [trans #544 #546]: #571
+#565 := [quant-inst #29]: #570
+#550 := [mp #565 #439]: #569
+#493 := [unit-resolution #550 #717]: #572
+#469 := (not #572)
+#470 := (or #469 #486)
+#471 := [th-lemma arith triangle-eq]: #470
+#313 := [unit-resolution #471 #493]: #486
+#472 := (not #486)
+#468 := (or #472 #509)
+#473 := [th-lemma arith farkas 1 1]: #468
+#452 := [unit-resolution #473 #313]: #509
+#508 := (not #539)
+#512 := (or #508 #518 #543)
+#497 := [def-axiom]: #512
+#455 := [unit-resolution #497 #452 #492]: #543
+#418 := [symm #455]: #410
+#403 := (= #28 #548)
+#337 := (f5 f6 #27)
+#684 := (+ -10::Int #337)
+#670 := (f7 f8 #684)
+#671 := (f3 f4 #670)
+#416 := (= #671 #548)
+#420 := (= #670 #30)
+#430 := (= #684 6::Int)
+#686 := (f5 f6 #23)
+#515 := -1::Int
+#561 := (* -1::Int #686)
+#541 := (+ #25 #561)
+#487 := (<= #541 0::Int)
+#556 := (= #25 #686)
+#448 := (= #24 #23)
+#696 := (= #23 #24)
+#346 := (+ -10::Int #686)
+#688 := (f7 f8 #346)
+#330 := (f3 f4 #688)
+#672 := (= #24 #330)
+#334 := (>= #686 10::Int)
+#335 := (ite #334 #672 #696)
+#674 := (or #370 #335)
+#675 := [quant-inst #23]: #674
+#459 := [unit-resolution #675 #704]: #335
+#677 := (not #334)
+#633 := (<= #686 4::Int)
+#659 := (= #686 4::Int)
+#639 := (or #645 #659)
+#395 := (>= 4::Int 0::Int)
+#396 := (not #395)
+#661 := (= 4::Int #686)
+#375 := (or #661 #396)
+#640 := (or #645 #375)
+#647 := (iff #640 #639)
+#648 := (iff #639 #639)
+#477 := [rewrite]: #648
+#643 := (iff #375 #659)
+#657 := (or #659 false)
+#500 := (iff #657 #659)
+#642 := [rewrite]: #500
+#498 := (iff #375 #657)
+#656 := (iff #396 false)
+#654 := (iff #396 #653)
+#663 := (iff #395 true)
+#652 := [rewrite]: #663
+#649 := [monotonicity #652]: #654
+#651 := [trans #649 #655]: #656
+#658 := (iff #661 #659)
+#662 := [rewrite]: #658
+#499 := [monotonicity #662 #651]: #498
+#644 := [trans #499 #642]: #643
+#641 := [monotonicity #644]: #647
+#479 := [trans #641 #477]: #647
+#646 := [quant-inst #22]: #640
+#480 := [mp #646 #479]: #639
+#461 := [unit-resolution #480 #717]: #659
+#462 := (not #659)
+#460 := (or #462 #633)
+#463 := [th-lemma arith triangle-eq]: #460
+#451 := [unit-resolution #463 #461]: #633
+#454 := (not #633)
+#456 := (or #454 #677)
+#457 := [th-lemma arith farkas 1 1]: #456
+#453 := [unit-resolution #457 #451]: #677
+#676 := (not #335)
+#679 := (or #676 #334 #696)
+#316 := [def-axiom]: #679
+#458 := [unit-resolution #316 #453 #459]: #696
+#438 := [symm #458]: #448
+#440 := [monotonicity #438]: #556
+#441 := (not #556)
+#444 := (or #441 #487)
+#445 := [th-lemma arith triangle-eq]: #444
+#449 := [unit-resolution #445 #440]: #487
+#542 := (>= #541 0::Int)
+#442 := (or #441 #542)
+#450 := [th-lemma arith triangle-eq]: #442
+#443 := [unit-resolution #450 #440]: #542
+#634 := (>= #686 4::Int)
+#446 := (or #462 #634)
+#447 := [th-lemma arith triangle-eq]: #446
+#433 := [unit-resolution #447 #461]: #634
+#530 := (* -1::Int #337)
+#532 := (+ #26 #530)
+#617 := (<= #532 0::Int)
+#533 := (= #532 0::Int)
+#535 := (>= #25 0::Int)
+#436 := (not #542)
+#435 := (not #634)
+#434 := (or #535 #435 #436)
+#437 := [th-lemma arith assign-bounds 1 1]: #434
+#419 := [unit-resolution #437 #433 #443]: #535
+#538 := (not #535)
+#632 := (or #533 #538)
+#613 := (or #645 #533 #538)
+#531 := (>= #26 0::Int)
+#626 := (not #531)
+#627 := (= #26 #337)
+#630 := (or #627 #626)
+#610 := (or #645 #630)
+#614 := (iff #610 #613)
+#622 := (or #645 #632)
+#620 := (iff #622 #613)
+#625 := [rewrite]: #620
+#623 := (iff #610 #622)
+#619 := (iff #630 #632)
+#631 := (iff #626 #538)
+#536 := (iff #531 #535)
+#537 := [rewrite]: #536
+#628 := [monotonicity #537]: #631
+#526 := (iff #627 #533)
+#534 := [rewrite]: #526
+#621 := [monotonicity #534 #628]: #619
+#624 := [monotonicity #621]: #623
+#615 := [trans #624 #625]: #614
+#612 := [quant-inst #26]: #610
+#616 := [mp #612 #615]: #613
+#421 := [unit-resolution #616 #717]: #632
+#422 := [unit-resolution #421 #419]: #533
+#423 := (not #533)
+#424 := (or #423 #617)
 #425 := [th-lemma arith triangle-eq]: #424
-#426 := [unit-resolution #425 #419]: #608
-#428 := [th-lemma arith eq-propagate 1 1 -4 -4 -4 -4 #426 #423 #430 #448 #440 #446]: #427
-#429 := [monotonicity #428]: #417
-#414 := [monotonicity #429]: #413
-#375 := (= #25 #668)
-#333 := (= #24 #25)
-#390 := (>= #334 10::Int)
-#391 := (ite #390 #375 #333)
-#285 := (or #367 #391)
-#663 := [quant-inst #24]: #285
-#406 := [unit-resolution #663 #701]: #391
-#408 := (not #614)
-#409 := (or #390 #408 #432 #433)
-#410 := [th-lemma arith assign-bounds 1 4 4]: #409
-#411 := [unit-resolution #410 #430 #423 #440]: #390
-#386 := (not #390)
-#664 := (not #391)
-#387 := (or #664 #386 #375)
-#661 := [def-axiom]: #387
-#412 := [unit-resolution #661 #411 #406]: #375
-#401 := [trans #412 #414]: #400
-#402 := [trans #401 #415]: #28
-#29 := (not #28)
-#105 := [asserted]: #29
-[unit-resolution #105 #402]: false
-unsat
-cbddab0a93fe2901d1f5dd30bb313d7532a1c531 1 0
-unsat
-8dfc32ec0576a35c6d7e7c764cb46b73661ecad4 76 0
+#426 := [unit-resolution #425 #422]: #617
+#611 := (>= #532 0::Int)
+#427 := (or #423 #611)
+#428 := [th-lemma arith triangle-eq]: #427
+#429 := [unit-resolution #428 #422]: #611
+#431 := [th-lemma arith eq-propagate 1 1 -4 -4 -4 -4 #429 #426 #433 #451 #443 #449]: #430
+#432 := [monotonicity #431]: #420
+#417 := [monotonicity #432]: #416
+#378 := (= #28 #671)
+#336 := (= #27 #28)
+#393 := (>= #337 10::Int)
+#394 := (ite #393 #378 #336)
+#288 := (or #370 #394)
+#666 := [quant-inst #27]: #288
+#409 := [unit-resolution #666 #704]: #394
+#411 := (not #617)
+#412 := (or #393 #411 #435 #436)
+#413 := [th-lemma arith assign-bounds 1 4 4]: #412
+#414 := [unit-resolution #413 #433 #426 #443]: #393
+#389 := (not #393)
+#667 := (not #394)
+#390 := (or #667 #389 #378)
+#664 := [def-axiom]: #390
+#415 := [unit-resolution #664 #414 #409]: #378
+#404 := [trans #415 #417]: #403
+#405 := [trans #404 #418]: #31
+#32 := (not #31)
+#108 := [asserted]: #32
+[unit-resolution #108 #405]: false
+unsat
+f954792d8be81671314fd3cce76fa4be3cd4ee23 1 0
+unsat
+e776ea3cea49bcb73b17ecdacf5c2db068ae9e28 80 0
 #2 := false
 decl f3 :: (-> Int S1)
-#63 := 1::Int
-#64 := (f3 1::Int)
+#71 := 1::Int
+#72 := (f3 1::Int)
 decl f1 :: S1
 #4 := f1
-#226 := (= f1 #64)
-#230 := (not #226)
-#65 := (= #64 f1)
-#66 := (not #65)
-#231 := (iff #66 #230)
-#228 := (iff #65 #226)
-#229 := [rewrite]: #228
-#232 := [monotonicity #229]: #231
-#225 := [asserted]: #66
-#235 := [mp #225 #232]: #230
+#234 := (= f1 #72)
+#238 := (not #234)
+#73 := (= #72 f1)
+#74 := (not #73)
+#239 := (iff #74 #238)
+#236 := (iff #73 #234)
+#237 := [rewrite]: #236
+#240 := [monotonicity #237]: #239
+#233 := [asserted]: #74
+#243 := [mp #233 #240]: #238
 #8 := (:var 0 Int)
 #9 := (f3 #8)
-#733 := (pattern #9)
-#87 := (= f1 #9)
-#734 := (forall (vars (?v0 Int)) (:pat #733) #87)
-#110 := (forall (vars (?v0 Int)) #87)
-#737 := (iff #110 #734)
-#735 := (iff #87 #87)
-#736 := [refl]: #735
-#738 := [quant-intro #736]: #737
-#251 := (~ #110 #110)
-#249 := (~ #87 #87)
-#250 := [refl]: #249
-#252 := [nnf-pos #250]: #251
+#741 := (pattern #9)
+#95 := (= f1 #9)
+#742 := (forall (vars (?v0 Int)) (:pat #741) #95)
+#118 := (forall (vars (?v0 Int)) #95)
+#745 := (iff #118 #742)
+#743 := (iff #95 #95)
+#744 := [refl]: #743
+#746 := [quant-intro #744]: #745
+#259 := (~ #118 #118)
+#257 := (~ #95 #95)
+#258 := [refl]: #257
+#260 := [nnf-pos #258]: #259
 decl f4 :: (-> S2 S1)
-decl f5 :: (-> Int S2 S2)
-decl f6 :: S2
-#11 := f6
-#12 := (f5 #8 f6)
-#13 := (f4 #12)
-#14 := (= #13 f1)
-#15 := (not #14)
-#16 := (or #14 #15)
-#10 := (= #9 f1)
-#17 := (and #10 #16)
-#18 := (forall (vars (?v0 Int)) #17)
-#111 := (iff #18 #110)
-#108 := (iff #17 #87)
-#1 := true
-#103 := (and #87 true)
-#106 := (iff #103 #87)
-#107 := [rewrite]: #106
-#104 := (iff #17 #103)
-#101 := (iff #16 true)
-#90 := (= f1 #13)
-#93 := (not #90)
-#96 := (or #90 #93)
-#99 := (iff #96 true)
-#100 := [rewrite]: #99
-#97 := (iff #16 #96)
-#94 := (iff #15 #93)
-#91 := (iff #14 #90)
-#92 := [rewrite]: #91
-#95 := [monotonicity #92]: #94
-#98 := [monotonicity #92 #95]: #97
-#102 := [trans #98 #100]: #101
-#88 := (iff #10 #87)
-#89 := [rewrite]: #88
-#105 := [monotonicity #89 #102]: #104
-#109 := [trans #105 #107]: #108
-#112 := [quant-intro #109]: #111
-#86 := [asserted]: #18
-#115 := [mp #86 #112]: #110
-#234 := [mp~ #115 #252]: #110
-#739 := [mp #234 #738]: #734
-#318 := (not #734)
-#403 := (or #318 #226)
-#404 := [quant-inst #63]: #403
-[unit-resolution #404 #739 #235]: false
-unsat
-9dee92579ae791dc7235ea6e43e7e7da09fc5b4d 413 0
-#2 := false
-decl f3 :: (-> S2 S3)
-decl f4 :: (-> S1 S2)
-decl f1 :: S1
-#4 := f1
-#101 := (f4 f1)
-#102 := (f3 #101)
-decl f8 :: (-> S5 S3)
-decl f9 :: (-> Int S5)
-#98 := 3::Int
-#99 := (f9 3::Int)
-#100 := (f8 #99)
-#103 := (= #100 #102)
-decl f5 :: (-> S4 S3)
-decl f6 :: (-> S1 S4 S4)
+decl f5 :: (-> S3 S2 S2)
+decl f8 :: S2
+#13 := f8
+decl f6 :: (-> S4 Int S3)
 decl f7 :: S4
 #11 := f7
-#471 := (f6 f1 f7)
-#555 := (f5 #471)
-#637 := (= #555 #102)
-#556 := (= #102 #555)
-#8 := (:var 0 S1)
-#12 := (f6 #8 f7)
-#876 := (pattern #12)
-#9 := (f4 #8)
-#875 := (pattern #9)
-#13 := (f5 #12)
-#10 := (f3 #9)
-#14 := (= #10 #13)
-#877 := (forall (vars (?v0 S1)) (:pat #875 #876) #14)
-#15 := (forall (vars (?v0 S1)) #14)
-#880 := (iff #15 #877)
-#878 := (iff #14 #14)
-#879 := [refl]: #878
-#881 := [quant-intro #879]: #880
-#435 := (~ #15 #15)
-#437 := (~ #14 #14)
-#438 := [refl]: #437
-#436 := [nnf-pos #438]: #435
-#139 := [asserted]: #15
-#427 := [mp~ #139 #436]: #15
-#882 := [mp #427 #881]: #877
-#559 := (not #877)
-#560 := (or #559 #556)
-#561 := [quant-inst #4]: #560
-#718 := [unit-resolution #561 #882]: #556
-#639 := [symm #718]: #637
-#636 := (= #100 #555)
-decl f16 :: (-> S4 S3)
-#578 := (f16 #471)
-#630 := (= #578 #555)
-#842 := (= #555 #578)
-#39 := (:var 0 S4)
-#41 := (f16 #39)
-#900 := (pattern #41)
-#40 := (f5 #39)
-#899 := (pattern #40)
-#42 := (= #40 #41)
-#901 := (forall (vars (?v0 S4)) (:pat #899 #900) #42)
-#43 := (forall (vars (?v0 S4)) #42)
-#904 := (iff #43 #901)
-#902 := (iff #42 #42)
-#903 := [refl]: #902
-#905 := [quant-intro #903]: #904
-#398 := (~ #43 #43)
-#406 := (~ #42 #42)
-#397 := [refl]: #406
-#395 := [nnf-pos #397]: #398
-#153 := [asserted]: #43
-#396 := [mp~ #153 #395]: #43
-#906 := [mp #396 #905]: #901
-#871 := (not #901)
-#847 := (or #871 #842)
-#567 := [quant-inst #471]: #847
-#673 := [unit-resolution #567 #906]: #842
-#633 := [symm #673]: #630
-#635 := (= #100 #578)
-decl f18 :: (-> Int S3)
-decl f20 :: (-> S3 Int)
-#84 := (f16 f7)
-#846 := (f20 #84)
-#63 := 1::Int
-#843 := (+ 1::Int #846)
-#568 := (f18 #843)
-#570 := (= #568 #578)
-#70 := (:var 1 S1)
-#71 := (f6 #70 #39)
-#942 := (pattern #71)
-#93 := (f20 #41)
-#237 := (+ 1::Int #93)
-#242 := (f18 #237)
-#92 := (f16 #71)
-#245 := (= #92 #242)
-#943 := (forall (vars (?v0 S1) (?v1 S4)) (:pat #942) #245)
-#248 := (forall (vars (?v0 S1) (?v1 S4)) #245)
-#946 := (iff #248 #943)
-#944 := (iff #245 #245)
-#945 := [refl]: #944
-#947 := [quant-intro #945]: #946
-#364 := (~ #248 #248)
-#362 := (~ #245 #245)
-#363 := [refl]: #362
-#365 := [nnf-pos #363]: #364
-#46 := 0::Int
-#64 := (+ 0::Int 1::Int)
-#94 := (+ #93 #64)
-#95 := (f18 #94)
-#96 := (= #92 #95)
-#97 := (forall (vars (?v0 S1) (?v1 S4)) #96)
-#249 := (iff #97 #248)
-#246 := (iff #96 #245)
-#243 := (= #95 #242)
-#240 := (= #94 #237)
-#233 := (+ #93 1::Int)
-#238 := (= #233 #237)
-#239 := [rewrite]: #238
-#235 := (= #94 #233)
-#164 := (= #64 1::Int)
-#166 := [rewrite]: #164
-#236 := [monotonicity #166]: #235
-#241 := [trans #236 #239]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [quant-intro #247]: #249
-#232 := [asserted]: #97
-#253 := [mp #232 #250]: #248
-#366 := [mp~ #253 #365]: #248
-#948 := [mp #366 #947]: #943
-#563 := (not #943)
-#836 := (or #563 #570)
-#569 := (= #578 #568)
-#840 := (or #563 #569)
-#841 := (iff #840 #836)
-#831 := (iff #836 #836)
-#832 := [rewrite]: #831
-#838 := (iff #569 #570)
-#839 := [rewrite]: #838
-#830 := [monotonicity #839]: #841
-#827 := [trans #830 #832]: #841
-#837 := [quant-inst #4 #11]: #840
-#828 := [mp #837 #827]: #836
-#680 := [unit-resolution #828 #948]: #570
-#632 := (= #100 #568)
-decl f15 :: (-> S6 S3)
-decl f12 :: S6
-#19 := f12
-#82 := (f15 f12)
-#829 := (f20 #82)
-#835 := (+ 1::Int #829)
-#678 := (f18 #835)
-#646 := (= #678 #568)
-#645 := (= #835 #843)
-#643 := (= 1::Int #843)
-#652 := (= #843 1::Int)
-#814 := (<= #846 0::Int)
-#812 := (= #846 0::Int)
-#47 := (f18 0::Int)
-#868 := (f20 #47)
-#865 := (= #868 0::Int)
-#16 := (:var 0 Int)
-#111 := (f18 #16)
-#957 := (pattern #111)
-#279 := (>= #16 0::Int)
-#280 := (not #279)
-#112 := (f20 #111)
-#261 := (= #16 #112)
-#286 := (or #261 #280)
-#958 := (forall (vars (?v0 Int)) (:pat #957) #286)
-#291 := (forall (vars (?v0 Int)) #286)
-#961 := (iff #291 #958)
-#959 := (iff #286 #286)
-#960 := [refl]: #959
-#962 := [quant-intro #960]: #961
-#378 := (~ #291 #291)
-#372 := (~ #286 #286)
-#377 := [refl]: #372
-#379 := [nnf-pos #377]: #378
-#113 := (= #112 #16)
-#110 := (<= 0::Int #16)
-#114 := (implies #110 #113)
-#115 := (forall (vars (?v0 Int)) #114)
-#294 := (iff #115 #291)
-#268 := (not #110)
-#269 := (or #268 #261)
-#274 := (forall (vars (?v0 Int)) #269)
-#292 := (iff #274 #291)
-#289 := (iff #269 #286)
-#283 := (or #280 #261)
-#287 := (iff #283 #286)
-#288 := [rewrite]: #287
-#284 := (iff #269 #283)
-#281 := (iff #268 #280)
-#277 := (iff #110 #279)
-#278 := [rewrite]: #277
-#282 := [monotonicity #278]: #281
-#285 := [monotonicity #282]: #284
-#290 := [trans #285 #288]: #289
-#293 := [quant-intro #290]: #292
-#275 := (iff #115 #274)
-#272 := (iff #114 #269)
-#265 := (implies #110 #261)
-#270 := (iff #265 #269)
-#271 := [rewrite]: #270
-#266 := (iff #114 #265)
-#263 := (iff #113 #261)
-#264 := [rewrite]: #263
-#267 := [monotonicity #264]: #266
-#273 := [trans #267 #271]: #272
-#276 := [quant-intro #273]: #275
-#295 := [trans #276 #293]: #294
-#260 := [asserted]: #115
-#296 := [mp #260 #295]: #291
-#380 := [mp~ #296 #379]: #291
-#963 := [mp #380 #962]: #958
-#858 := (not #958)
-#860 := (or #858 #865)
-#656 := (>= 0::Int 0::Int)
-#870 := (not #656)
-#874 := (= 0::Int #868)
-#864 := (or #874 #870)
-#509 := (or #858 #864)
-#861 := (iff #509 #860)
-#862 := (iff #860 #860)
-#848 := [rewrite]: #862
-#857 := (iff #864 #865)
-#853 := (or #865 false)
-#856 := (iff #853 #865)
-#851 := [rewrite]: #856
-#854 := (iff #864 #853)
-#525 := (iff #870 false)
+#12 := (f6 f7 #8)
+#14 := (f5 #12 f8)
+#15 := (f4 #14)
+#16 := (= #15 f1)
+#17 := (not #16)
+#18 := (or #16 #17)
+#10 := (= #9 f1)
+#19 := (and #10 #18)
+#20 := (forall (vars (?v0 Int)) #19)
+#119 := (iff #20 #118)
+#116 := (iff #19 #95)
 #1 := true
-#518 := (not true)
-#523 := (iff #518 false)
-#524 := [rewrite]: #523
-#850 := (iff #870 #518)
-#534 := (iff #656 true)
-#866 := [rewrite]: #534
-#522 := [monotonicity #866]: #850
-#852 := [trans #522 #524]: #525
-#533 := (iff #874 #865)
-#538 := [rewrite]: #533
-#855 := [monotonicity #538 #852]: #854
-#504 := [trans #855 #851]: #857
-#859 := [monotonicity #504]: #861
-#849 := [trans #859 #848]: #861
-#510 := [quant-inst #46]: #509
-#566 := [mp #510 #849]: #860
-#681 := [unit-resolution #566 #963]: #865
-#683 := (= #846 #868)
-#85 := (= #84 #47)
-#209 := (= #47 #84)
-#211 := (iff #85 #209)
-#212 := [rewrite]: #211
-#208 := [asserted]: #85
-#215 := [mp #208 #212]: #209
-#682 := [symm #215]: #85
-#684 := [monotonicity #682]: #683
-#685 := [trans #684 #681]: #812
-#686 := (not #812)
-#687 := (or #686 #814)
-#688 := [th-lemma arith triangle-eq]: #687
-#689 := [unit-resolution #688 #685]: #814
-#815 := (>= #846 0::Int)
-#690 := (or #686 #815)
-#675 := [th-lemma arith triangle-eq]: #690
-#691 := [unit-resolution #675 #685]: #815
-#653 := [th-lemma arith eq-propagate -1 -1 #691 #689]: #652
-#644 := [symm #653]: #643
-#672 := (= #835 1::Int)
-#816 := (<= #829 0::Int)
-#813 := (= #829 0::Int)
-#662 := (= #829 #868)
-#83 := (= #82 #47)
-#204 := (= #47 #82)
-#206 := (iff #83 #204)
-#207 := [rewrite]: #206
-#203 := [asserted]: #83
-#210 := [mp #203 #207]: #204
-#660 := [symm #210]: #83
-#663 := [monotonicity #660]: #662
-#664 := [trans #663 #681]: #813
-#666 := (not #813)
-#667 := (or #666 #816)
-#668 := [th-lemma arith triangle-eq]: #667
-#669 := [unit-resolution #668 #664]: #816
-#698 := (>= #829 0::Int)
-#670 := (or #666 #698)
-#671 := [th-lemma arith triangle-eq]: #670
-#654 := [unit-resolution #671 #664]: #698
-#642 := [th-lemma arith eq-propagate -1 -1 #654 #669]: #672
-#647 := [trans #642 #644]: #645
-#651 := [monotonicity #647]: #646
-#641 := (= #100 #678)
-decl f11 :: (-> Int S6 S6)
-#557 := (f11 3::Int f12)
-#833 := (f15 #557)
-#820 := (= #833 #678)
-#821 := (= #678 #833)
-#34 := (:var 0 S6)
-#55 := (:var 1 Int)
-#56 := (f11 #55 #34)
-#935 := (pattern #56)
-#36 := (f15 #34)
-#87 := (f20 #36)
-#218 := (+ 1::Int #87)
-#223 := (f18 #218)
-#86 := (f15 #56)
-#226 := (= #86 #223)
-#936 := (forall (vars (?v0 Int) (?v1 S6)) (:pat #935) #226)
-#229 := (forall (vars (?v0 Int) (?v1 S6)) #226)
-#939 := (iff #229 #936)
-#937 := (iff #226 #226)
-#938 := [refl]: #937
-#940 := [quant-intro #938]: #939
-#359 := (~ #229 #229)
-#357 := (~ #226 #226)
-#358 := [refl]: #357
-#360 := [nnf-pos #358]: #359
-#88 := (+ #87 #64)
-#89 := (f18 #88)
-#90 := (= #86 #89)
-#91 := (forall (vars (?v0 Int) (?v1 S6)) #90)
-#230 := (iff #91 #229)
-#227 := (iff #90 #226)
-#224 := (= #89 #223)
-#221 := (= #88 #218)
-#214 := (+ #87 1::Int)
-#219 := (= #214 #218)
-#220 := [rewrite]: #219
-#216 := (= #88 #214)
-#217 := [monotonicity #166]: #216
-#222 := [trans #217 #220]: #221
-#225 := [monotonicity #222]: #224
-#228 := [monotonicity #225]: #227
-#231 := [quant-intro #228]: #230
-#213 := [asserted]: #91
-#234 := [mp #213 #231]: #229
-#361 := [mp~ #234 #360]: #229
-#941 := [mp #361 #940]: #936
-#817 := (not #936)
-#818 := (or #817 #821)
-#824 := (or #817 #820)
-#819 := (iff #824 #818)
-#655 := (iff #818 #818)
-#657 := [rewrite]: #655
-#822 := (iff #820 #821)
-#823 := [rewrite]: #822
-#826 := [monotonicity #823]: #819
-#658 := [trans #826 #657]: #819
-#825 := [quant-inst #98 #19]: #824
-#811 := [mp #825 #658]: #818
-#648 := [unit-resolution #811 #941]: #821
-#650 := [symm #648]: #820
-#640 := (= #100 #833)
-decl f10 :: (-> S6 S3)
-#548 := (f10 #557)
-#834 := (= #548 #833)
-#892 := (pattern #36)
-#35 := (f10 #34)
-#891 := (pattern #35)
-#37 := (= #35 #36)
-#893 := (forall (vars (?v0 S6)) (:pat #891 #892) #37)
-#38 := (forall (vars (?v0 S6)) #37)
-#896 := (iff #38 #893)
-#894 := (iff #37 #37)
-#895 := [refl]: #894
-#897 := [quant-intro #895]: #896
-#407 := (~ #38 #38)
-#415 := (~ #37 #37)
-#416 := [refl]: #415
-#408 := [nnf-pos #416]: #407
-#152 := [asserted]: #38
-#405 := [mp~ #152 #408]: #38
-#898 := [mp #405 #897]: #893
-#863 := (not #893)
-#676 := (or #863 #834)
-#677 := [quant-inst #557]: #676
-#649 := [unit-resolution #677 #898]: #834
-#558 := (= #100 #548)
-#20 := (f11 #16 f12)
-#884 := (pattern #20)
-#17 := (f9 #16)
-#883 := (pattern #17)
-#21 := (f10 #20)
-#18 := (f8 #17)
-#22 := (= #18 #21)
-#885 := (forall (vars (?v0 Int)) (:pat #883 #884) #22)
-#23 := (forall (vars (?v0 Int)) #22)
-#888 := (iff #23 #885)
-#886 := (iff #22 #22)
-#887 := [refl]: #886
-#889 := [quant-intro #887]: #888
-#426 := (~ #23 #23)
-#428 := (~ #22 #22)
-#425 := [refl]: #428
-#417 := [nnf-pos #425]: #426
-#140 := [asserted]: #23
-#418 := [mp~ #140 #417]: #23
-#890 := [mp #418 #889]: #885
-#867 := (not #885)
-#869 := (or #867 #558)
-#535 := [quant-inst #98]: #869
-#501 := [unit-resolution #535 #890]: #558
-#638 := [trans #501 #649]: #640
-#629 := [trans #638 #650]: #641
-#634 := [trans #629 #651]: #632
-#631 := [trans #634 #680]: #635
-#626 := [trans #631 #633]: #636
-#616 := [trans #626 #639]: #103
-#104 := (not #103)
-#251 := [asserted]: #104
-[unit-resolution #251 #616]: false
-unsat
-588c4356d8ef80d477934104409f18f2102901ef 415 0
-#2 := false
-decl f3 :: (-> S2 S3)
-decl f4 :: (-> S1 S2)
+#111 := (and #95 true)
+#114 := (iff #111 #95)
+#115 := [rewrite]: #114
+#112 := (iff #19 #111)
+#109 := (iff #18 true)
+#98 := (= f1 #15)
+#101 := (not #98)
+#104 := (or #98 #101)
+#107 := (iff #104 true)
+#108 := [rewrite]: #107
+#105 := (iff #18 #104)
+#102 := (iff #17 #101)
+#99 := (iff #16 #98)
+#100 := [rewrite]: #99
+#103 := [monotonicity #100]: #102
+#106 := [monotonicity #100 #103]: #105
+#110 := [trans #106 #108]: #109
+#96 := (iff #10 #95)
+#97 := [rewrite]: #96
+#113 := [monotonicity #97 #110]: #112
+#117 := [trans #113 #115]: #116
+#120 := [quant-intro #117]: #119
+#94 := [asserted]: #20
+#123 := [mp #94 #120]: #118
+#242 := [mp~ #123 #260]: #118
+#747 := [mp #242 #746]: #742
+#326 := (not #742)
+#411 := (or #326 #234)
+#412 := [quant-inst #71]: #411
+[unit-resolution #412 #747 #243]: false
+unsat
+2e1ce9e1ff9cb725a3a169498ce8fc405a17724f 439 0
+#2 := false
+decl f3 :: (-> S2 S3 S4)
+decl f5 :: (-> S1 S3)
 decl f1 :: S1
 #4 := f1
-#102 := (f4 f1)
-#103 := (f3 #102)
-decl f8 :: (-> S5 S3)
-decl f9 :: (-> Int S5)
-#99 := 3::Int
-#100 := (f9 3::Int)
-#101 := (f8 #100)
-#104 := (= #101 #103)
-decl f5 :: (-> S4 S3)
-decl f6 :: (-> S1 S4 S4)
-decl f7 :: S4
-#11 := f7
-#472 := (f6 f1 f7)
-#556 := (f5 #472)
-#638 := (= #556 #103)
-#557 := (= #103 #556)
-#8 := (:var 0 S1)
-#12 := (f6 #8 f7)
-#877 := (pattern #12)
-#9 := (f4 #8)
-#876 := (pattern #9)
-#13 := (f5 #12)
-#10 := (f3 #9)
-#14 := (= #10 #13)
-#878 := (forall (vars (?v0 S1)) (:pat #876 #877) #14)
-#15 := (forall (vars (?v0 S1)) #14)
-#881 := (iff #15 #878)
-#879 := (iff #14 #14)
-#880 := [refl]: #879
-#882 := [quant-intro #880]: #881
-#436 := (~ #15 #15)
-#438 := (~ #14 #14)
-#439 := [refl]: #438
-#437 := [nnf-pos #439]: #436
-#140 := [asserted]: #15
-#428 := [mp~ #140 #437]: #15
-#883 := [mp #428 #882]: #878
-#560 := (not #878)
-#561 := (or #560 #557)
-#562 := [quant-inst #4]: #561
-#719 := [unit-resolution #562 #883]: #557
-#640 := [symm #719]: #638
-#637 := (= #101 #556)
-decl f16 :: (-> S4 S3)
-#579 := (f16 #472)
-#631 := (= #579 #556)
-#843 := (= #556 #579)
-#39 := (:var 0 S4)
-#41 := (f16 #39)
-#901 := (pattern #41)
-#40 := (f5 #39)
-#900 := (pattern #40)
-#42 := (= #40 #41)
-#902 := (forall (vars (?v0 S4)) (:pat #900 #901) #42)
-#43 := (forall (vars (?v0 S4)) #42)
-#905 := (iff #43 #902)
-#903 := (iff #42 #42)
-#904 := [refl]: #903
-#906 := [quant-intro #904]: #905
-#399 := (~ #43 #43)
-#407 := (~ #42 #42)
-#398 := [refl]: #407
-#396 := [nnf-pos #398]: #399
-#154 := [asserted]: #43
-#397 := [mp~ #154 #396]: #43
-#907 := [mp #397 #906]: #902
-#872 := (not #902)
-#848 := (or #872 #843)
-#568 := [quant-inst #472]: #848
-#674 := [unit-resolution #568 #907]: #843
-#634 := [symm #674]: #631
-#636 := (= #101 #579)
-decl f18 :: (-> S7 Int S3)
-decl f21 :: (-> S3 Int)
-#85 := (f16 f7)
-#847 := (f21 #85)
-#64 := 1::Int
-#844 := (+ 1::Int #847)
-decl f19 :: S7
-#46 := f19
-#569 := (f18 f19 #844)
-#571 := (= #569 #579)
-#71 := (:var 1 S1)
-#72 := (f6 #71 #39)
-#943 := (pattern #72)
-#94 := (f21 #41)
-#238 := (+ 1::Int #94)
-#243 := (f18 f19 #238)
-#93 := (f16 #72)
-#246 := (= #93 #243)
-#944 := (forall (vars (?v0 S1) (?v1 S4)) (:pat #943) #246)
-#249 := (forall (vars (?v0 S1) (?v1 S4)) #246)
-#947 := (iff #249 #944)
-#945 := (iff #246 #246)
-#946 := [refl]: #945
-#948 := [quant-intro #946]: #947
-#365 := (~ #249 #249)
-#363 := (~ #246 #246)
-#364 := [refl]: #363
-#366 := [nnf-pos #364]: #365
-#47 := 0::Int
-#65 := (+ 0::Int 1::Int)
-#95 := (+ #94 #65)
-#96 := (f18 f19 #95)
-#97 := (= #93 #96)
-#98 := (forall (vars (?v0 S1) (?v1 S4)) #97)
-#250 := (iff #98 #249)
-#247 := (iff #97 #246)
-#244 := (= #96 #243)
-#241 := (= #95 #238)
-#234 := (+ #94 1::Int)
+#121 := (f5 f1)
+decl f4 :: S2
+#8 := f4
+#122 := (f3 f4 #121)
+decl f12 :: (-> S9 S10 S4)
+decl f14 :: (-> Int S10)
+#118 := 3::Int
+#119 := (f14 3::Int)
+decl f13 :: S9
+#20 := f13
+#120 := (f12 f13 #119)
+#123 := (= #120 #122)
+decl f6 :: (-> S5 S6 S4)
+decl f8 :: (-> S7 S6 S6)
+decl f11 :: S6
+#15 := f11
+decl f9 :: (-> S8 S1 S7)
+decl f10 :: S8
+#13 := f10
+#481 := (f9 f10 f1)
+#565 := (f8 #481 f11)
+decl f7 :: S5
+#12 := f7
+#566 := (f6 f7 #565)
+#671 := (= #566 #122)
+#567 := (= #122 #566)
+#9 := (:var 0 S1)
+#14 := (f9 f10 #9)
+#896 := (pattern #14)
+#10 := (f5 #9)
+#895 := (pattern #10)
+#16 := (f8 #14 f11)
+#17 := (f6 f7 #16)
+#11 := (f3 f4 #10)
+#18 := (= #11 #17)
+#897 := (forall (vars (?v0 S1)) (:pat #895 #896) #18)
+#19 := (forall (vars (?v0 S1)) #18)
+#900 := (iff #19 #897)
+#898 := (iff #18 #18)
+#899 := [refl]: #898
+#901 := [quant-intro #899]: #900
+#403 := (~ #19 #19)
+#401 := (~ #18 #18)
+#402 := [refl]: #401
+#404 := [nnf-pos #402]: #403
+#159 := [asserted]: #19
+#359 := [mp~ #159 #404]: #19
+#902 := [mp #359 #901]: #897
+#570 := (not #897)
+#571 := (or #570 #567)
+#568 := [quant-inst #4]: #571
+#727 := [unit-resolution #568 #902]: #567
+#650 := [symm #727]: #671
+#654 := (= #120 #566)
+decl f24 :: S5
+#50 := f24
+#866 := (f6 f24 #565)
+#670 := (= #866 #566)
+#863 := (= #566 #866)
+#48 := (:var 0 S6)
+#51 := (f6 f24 #48)
+#920 := (pattern #51)
+#49 := (f6 f7 #48)
+#919 := (pattern #49)
+#52 := (= #49 #51)
+#921 := (forall (vars (?v0 S6)) (:pat #919 #920) #52)
+#53 := (forall (vars (?v0 S6)) #52)
+#924 := (iff #53 #921)
+#922 := (iff #52 #52)
+#923 := [refl]: #922
+#925 := [quant-intro #923]: #924
+#373 := (~ #53 #53)
+#372 := (~ #52 #52)
+#369 := [refl]: #372
+#374 := [nnf-pos #369]: #373
+#173 := [asserted]: #53
+#370 := [mp~ #173 #374]: #53
+#926 := [mp #370 #925]: #921
+#893 := (not #921)
+#578 := (or #893 #863)
+#579 := [quant-inst #565]: #578
+#737 := [unit-resolution #579 #926]: #863
+#666 := [symm #737]: #670
+#649 := (= #120 #866)
+decl f27 :: (-> S15 Int S4)
+decl f31 :: (-> S19 S4 Int)
+#104 := (f6 f24 f11)
+decl f32 :: S19
+#75 := f32
+#867 := (f31 f32 #104)
+#81 := 1::Int
+#577 := (+ 1::Int #867)
+decl f28 :: S15
+#58 := f28
+#580 := (f27 f28 #577)
+#859 := (= #580 #866)
+#89 := (:var 1 S1)
+#90 := (f9 f10 #89)
+#91 := (f8 #90 #48)
+#962 := (pattern #91)
+#113 := (f31 f32 #51)
+#257 := (+ 1::Int #113)
+#262 := (f27 f28 #257)
+#112 := (f6 f24 #91)
+#265 := (= #112 #262)
+#963 := (forall (vars (?v0 S1) (?v1 S6)) (:pat #962) #265)
+#268 := (forall (vars (?v0 S1) (?v1 S6)) #265)
+#966 := (iff #268 #963)
+#964 := (iff #265 #265)
+#965 := [refl]: #964
+#967 := [quant-intro #965]: #966
+#389 := (~ #268 #268)
+#388 := (~ #265 #265)
+#385 := [refl]: #388
+#390 := [nnf-pos #385]: #389
+#59 := 0::Int
+#82 := (+ 0::Int 1::Int)
+#114 := (+ #113 #82)
+#115 := (f27 f28 #114)
+#116 := (= #112 #115)
+#117 := (forall (vars (?v0 S1) (?v1 S6)) #116)
+#269 := (iff #117 #268)
+#266 := (iff #116 #265)
+#263 := (= #115 #262)
+#260 := (= #114 #257)
+#253 := (+ #113 1::Int)
+#258 := (= #253 #257)
+#259 := [rewrite]: #258
+#255 := (= #114 #253)
+#184 := (= #82 1::Int)
+#186 := [rewrite]: #184
+#256 := [monotonicity #186]: #255
+#261 := [trans #256 #259]: #260
+#264 := [monotonicity #261]: #263
+#267 := [monotonicity #264]: #266
+#270 := [quant-intro #267]: #269
+#252 := [asserted]: #117
+#273 := [mp #252 #270]: #268
+#386 := [mp~ #273 #390]: #268
+#968 := [mp #386 #967]: #963
+#860 := (not #963)
+#857 := (or #860 #859)
+#858 := (= #866 #580)
+#861 := (or #860 #858)
+#851 := (iff #861 #857)
+#847 := (iff #857 #857)
+#848 := [rewrite]: #847
+#573 := (iff #858 #859)
+#856 := [rewrite]: #573
+#852 := [monotonicity #856]: #851
+#853 := [trans #852 #848]: #851
+#850 := [quant-inst #4 #15]: #861
+#854 := [mp #850 #853]: #857
+#693 := [unit-resolution #854 #968]: #859
+#658 := (= #120 #580)
+decl f15 :: (-> S11 S12 S4)
+decl f20 :: S12
+#27 := f20
+decl f23 :: S11
+#44 := f23
+#102 := (f15 f23 f20)
+#696 := (f31 f32 #102)
+#697 := (+ 1::Int #696)
+#841 := (f27 f28 #697)
+#669 := (= #841 #580)
+#662 := (= #697 #577)
+#674 := (= 1::Int #577)
+#710 := (= #577 1::Int)
+#833 := (<= #867 0::Int)
+#835 := (= #867 0::Int)
+#60 := (f27 f28 0::Int)
+#884 := (f31 f32 #60)
+#886 := (= #884 0::Int)
+#21 := (:var 0 Int)
+#131 := (f27 f28 #21)
+#976 := (pattern #131)
+#299 := (>= #21 0::Int)
+#300 := (not #299)
+#132 := (f31 f32 #131)
+#281 := (= #21 #132)
+#306 := (or #281 #300)
+#977 := (forall (vars (?v0 Int)) (:pat #976) #306)
+#311 := (forall (vars (?v0 Int)) #306)
+#980 := (iff #311 #977)
+#978 := (iff #306 #306)
+#979 := [refl]: #978
+#981 := [quant-intro #979]: #980
+#395 := (~ #311 #311)
+#394 := (~ #306 #306)
+#421 := [refl]: #394
+#396 := [nnf-pos #421]: #395
+#133 := (= #132 #21)
+#130 := (<= 0::Int #21)
+#134 := (implies #130 #133)
+#135 := (forall (vars (?v0 Int)) #134)
+#314 := (iff #135 #311)
+#288 := (not #130)
+#289 := (or #288 #281)
+#294 := (forall (vars (?v0 Int)) #289)
+#312 := (iff #294 #311)
+#309 := (iff #289 #306)
+#303 := (or #300 #281)
+#307 := (iff #303 #306)
+#308 := [rewrite]: #307
+#304 := (iff #289 #303)
+#301 := (iff #288 #300)
+#297 := (iff #130 #299)
+#298 := [rewrite]: #297
+#302 := [monotonicity #298]: #301
+#305 := [monotonicity #302]: #304
+#310 := [trans #305 #308]: #309
+#313 := [quant-intro #310]: #312
+#295 := (iff #135 #294)
+#292 := (iff #134 #289)
+#285 := (implies #130 #281)
+#290 := (iff #285 #289)
+#291 := [rewrite]: #290
+#286 := (iff #134 #285)
+#283 := (iff #133 #281)
+#284 := [rewrite]: #283
+#287 := [monotonicity #284]: #286
+#293 := [trans #287 #291]: #292
+#296 := [quant-intro #293]: #295
+#315 := [trans #296 #313]: #314
+#280 := [asserted]: #135
+#316 := [mp #280 #315]: #311
+#422 := [mp~ #316 #396]: #311
+#982 := [mp #422 #981]: #977
+#519 := (not #977)
+#520 := (or #519 #886)
+#556 := (>= 0::Int 0::Int)
+#892 := (not #556)
+#543 := (= 0::Int #884)
+#548 := (or #543 #892)
+#881 := (or #519 #548)
+#882 := (iff #881 #520)
+#869 := (iff #520 #520)
+#576 := [rewrite]: #869
+#878 := (iff #548 #886)
+#875 := (or #886 false)
+#877 := (iff #875 #886)
+#514 := [rewrite]: #877
+#876 := (iff #548 #875)
+#873 := (iff #892 false)
+#1 := true
+#532 := (not true)
+#535 := (iff #532 false)
+#872 := [rewrite]: #535
+#533 := (iff #892 #532)
+#528 := (iff #556 true)
+#870 := [rewrite]: #528
+#534 := [monotonicity #870]: #533
+#874 := [trans #534 #872]: #873
+#885 := (iff #543 #886)
+#544 := [rewrite]: #885
+#871 := [monotonicity #544 #874]: #876
+#880 := [trans #871 #514]: #878
+#868 := [monotonicity #880]: #882
+#591 := [trans #868 #576]: #882
+#879 := [quant-inst #59]: #881
+#592 := [mp #879 #591]: #520
+#694 := [unit-resolution #592 #982]: #886
+#700 := (= #867 #884)
+#105 := (= #104 #60)
+#229 := (= #60 #104)
+#231 := (iff #105 #229)
+#232 := [rewrite]: #231
+#228 := [asserted]: #105
+#235 := [mp #228 #232]: #229
+#699 := [symm #235]: #105
+#701 := [monotonicity #699]: #700
+#702 := [trans #701 #694]: #835
+#703 := (not #835)
+#704 := (or #703 #833)
+#705 := [th-lemma arith triangle-eq]: #704
+#706 := [unit-resolution #705 #702]: #833
+#836 := (>= #867 0::Int)
+#707 := (or #703 #836)
+#708 := [th-lemma arith triangle-eq]: #707
+#709 := [unit-resolution #708 #702]: #836
+#695 := [th-lemma arith eq-propagate -1 -1 #709 #706]: #710
+#692 := [symm #695]: #674
+#690 := (= #697 1::Int)
+#719 := (<= #696 0::Int)
+#718 := (= #696 0::Int)
+#672 := (= #696 #884)
+#103 := (= #102 #60)
+#224 := (= #60 #102)
+#226 := (iff #103 #224)
+#227 := [rewrite]: #226
+#223 := [asserted]: #103
+#230 := [mp #223 #227]: #224
+#711 := [symm #230]: #103
+#673 := [monotonicity #711]: #672
+#680 := [trans #673 #694]: #718
+#682 := (not #718)
+#683 := (or #682 #719)
+#684 := [th-lemma arith triangle-eq]: #683
+#686 := [unit-resolution #684 #680]: #719
+#720 := (>= #696 0::Int)
+#687 := (or #682 #720)
+#688 := [th-lemma arith triangle-eq]: #687
+#689 := [unit-resolution #688 #680]: #720
+#691 := [th-lemma arith eq-propagate -1 -1 #689 #686]: #690
+#663 := [trans #691 #692]: #662
+#511 := [monotonicity #663]: #669
+#659 := (= #120 #841)
+decl f17 :: (-> S13 S12 S12)
+decl f18 :: (-> S14 Int S13)
+decl f19 :: S14
+#25 := f19
+#558 := (f18 f19 3::Int)
+#569 := (f17 #558 f20)
+#849 := (f15 f23 #569)
+#842 := (= #849 #841)
+#843 := (= #841 #849)
+#42 := (:var 0 S12)
+#71 := (:var 1 Int)
+#72 := (f18 f19 #71)
+#73 := (f17 #72 #42)
+#955 := (pattern #73)
+#45 := (f15 f23 #42)
+#107 := (f31 f32 #45)
+#238 := (+ 1::Int #107)
+#243 := (f27 f28 #238)
+#106 := (f15 f23 #73)
+#246 := (= #106 #243)
+#956 := (forall (vars (?v0 Int) (?v1 S12)) (:pat #955) #246)
+#249 := (forall (vars (?v0 Int) (?v1 S12)) #246)
+#959 := (iff #249 #956)
+#957 := (iff #246 #246)
+#958 := [refl]: #957
+#960 := [quant-intro #958]: #959
+#383 := (~ #249 #249)
+#417 := (~ #246 #246)
+#418 := [refl]: #417
+#384 := [nnf-pos #418]: #383
+#108 := (+ #107 #82)
+#109 := (f27 f28 #108)
+#110 := (= #106 #109)
+#111 := (forall (vars (?v0 Int) (?v1 S12)) #110)
+#250 := (iff #111 #249)
+#247 := (iff #110 #246)
+#244 := (= #109 #243)
+#241 := (= #108 #238)
+#234 := (+ #107 1::Int)
 #239 := (= #234 #238)
 #240 := [rewrite]: #239
-#236 := (= #95 #234)
-#165 := (= #65 1::Int)
-#167 := [rewrite]: #165
-#237 := [monotonicity #167]: #236
+#236 := (= #108 #234)
+#237 := [monotonicity #186]: #236
 #242 := [trans #237 #240]: #241
 #245 := [monotonicity #242]: #244
 #248 := [monotonicity #245]: #247
 #251 := [quant-intro #248]: #250
-#233 := [asserted]: #98
+#233 := [asserted]: #111
 #254 := [mp #233 #251]: #249
-#367 := [mp~ #254 #366]: #249
-#949 := [mp #367 #948]: #944
-#564 := (not #944)
-#837 := (or #564 #571)
-#570 := (= #579 #569)
-#841 := (or #564 #570)
-#842 := (iff #841 #837)
-#832 := (iff #837 #837)
-#833 := [rewrite]: #832
-#839 := (iff #570 #571)
-#840 := [rewrite]: #839
-#831 := [monotonicity #840]: #842
-#828 := [trans #831 #833]: #842
-#838 := [quant-inst #4 #11]: #841
-#829 := [mp #838 #828]: #837
-#681 := [unit-resolution #829 #949]: #571
-#633 := (= #101 #569)
-decl f15 :: (-> S6 S3)
-decl f12 :: S6
-#19 := f12
-#83 := (f15 f12)
-#830 := (f21 #83)
-#836 := (+ 1::Int #830)
-#679 := (f18 f19 #836)
-#647 := (= #679 #569)
-#646 := (= #836 #844)
-#644 := (= 1::Int #844)
-#653 := (= #844 1::Int)
-#815 := (<= #847 0::Int)
-#813 := (= #847 0::Int)
-#48 := (f18 f19 0::Int)
-#869 := (f21 #48)
-#866 := (= #869 0::Int)
-#16 := (:var 0 Int)
-#112 := (f18 f19 #16)
-#957 := (pattern #112)
-#280 := (>= #16 0::Int)
-#281 := (not #280)
-#113 := (f21 #112)
-#262 := (= #16 #113)
-#287 := (or #262 #281)
-#958 := (forall (vars (?v0 Int)) (:pat #957) #287)
-#292 := (forall (vars (?v0 Int)) #287)
-#961 := (iff #292 #958)
-#959 := (iff #287 #287)
-#960 := [refl]: #959
-#962 := [quant-intro #960]: #961
-#379 := (~ #292 #292)
-#373 := (~ #287 #287)
-#378 := [refl]: #373
-#380 := [nnf-pos #378]: #379
-#114 := (= #113 #16)
-#111 := (<= 0::Int #16)
-#115 := (implies #111 #114)
-#116 := (forall (vars (?v0 Int)) #115)
-#295 := (iff #116 #292)
-#269 := (not #111)
-#270 := (or #269 #262)
-#275 := (forall (vars (?v0 Int)) #270)
-#293 := (iff #275 #292)
-#290 := (iff #270 #287)
-#284 := (or #281 #262)
-#288 := (iff #284 #287)
-#289 := [rewrite]: #288
-#285 := (iff #270 #284)
-#282 := (iff #269 #281)
-#278 := (iff #111 #280)
-#279 := [rewrite]: #278
-#283 := [monotonicity #279]: #282
-#286 := [monotonicity #283]: #285
-#291 := [trans #286 #289]: #290
-#294 := [quant-intro #291]: #293
-#276 := (iff #116 #275)
-#273 := (iff #115 #270)
-#266 := (implies #111 #262)
-#271 := (iff #266 #270)
-#272 := [rewrite]: #271
-#267 := (iff #115 #266)
-#264 := (iff #114 #262)
-#265 := [rewrite]: #264
-#268 := [monotonicity #265]: #267
-#274 := [trans #268 #272]: #273
-#277 := [quant-intro #274]: #276
-#296 := [trans #277 #294]: #295
-#261 := [asserted]: #116
-#297 := [mp #261 #296]: #292
-#381 := [mp~ #297 #380]: #292
-#963 := [mp #381 #962]: #958
-#859 := (not #958)
-#861 := (or #859 #866)
-#657 := (>= 0::Int 0::Int)
-#871 := (not #657)
-#875 := (= 0::Int #869)
-#865 := (or #875 #871)
-#510 := (or #859 #865)
-#862 := (iff #510 #861)
-#863 := (iff #861 #861)
-#849 := [rewrite]: #863
-#858 := (iff #865 #866)
-#854 := (or #866 false)
-#857 := (iff #854 #866)
-#852 := [rewrite]: #857
-#855 := (iff #865 #854)
-#526 := (iff #871 false)
-#1 := true
-#519 := (not true)
-#524 := (iff #519 false)
-#525 := [rewrite]: #524
-#851 := (iff #871 #519)
-#535 := (iff #657 true)
-#867 := [rewrite]: #535
-#523 := [monotonicity #867]: #851
-#853 := [trans #523 #525]: #526
-#534 := (iff #875 #866)
-#539 := [rewrite]: #534
-#856 := [monotonicity #539 #853]: #855
-#505 := [trans #856 #852]: #858
-#860 := [monotonicity #505]: #862
-#850 := [trans #860 #849]: #862
-#511 := [quant-inst #47]: #510
-#567 := [mp #511 #850]: #861
-#682 := [unit-resolution #567 #963]: #866
-#684 := (= #847 #869)
-#86 := (= #85 #48)
-#210 := (= #48 #85)
-#212 := (iff #86 #210)
-#213 := [rewrite]: #212
-#209 := [asserted]: #86
-#216 := [mp #209 #213]: #210
-#683 := [symm #216]: #86
-#685 := [monotonicity #683]: #684
-#686 := [trans #685 #682]: #813
-#687 := (not #813)
-#688 := (or #687 #815)
-#689 := [th-lemma arith triangle-eq]: #688
-#690 := [unit-resolution #689 #686]: #815
-#816 := (>= #847 0::Int)
-#691 := (or #687 #816)
-#676 := [th-lemma arith triangle-eq]: #691
-#692 := [unit-resolution #676 #686]: #816
-#654 := [th-lemma arith eq-propagate -1 -1 #692 #690]: #653
-#645 := [symm #654]: #644
-#673 := (= #836 1::Int)
-#817 := (<= #830 0::Int)
-#814 := (= #830 0::Int)
-#663 := (= #830 #869)
-#84 := (= #83 #48)
-#205 := (= #48 #83)
-#207 := (iff #84 #205)
-#208 := [rewrite]: #207
-#204 := [asserted]: #84
-#211 := [mp #204 #208]: #205
-#661 := [symm #211]: #84
-#664 := [monotonicity #661]: #663
-#665 := [trans #664 #682]: #814
-#667 := (not #814)
-#668 := (or #667 #817)
-#669 := [th-lemma arith triangle-eq]: #668
-#670 := [unit-resolution #669 #665]: #817
-#699 := (>= #830 0::Int)
-#671 := (or #667 #699)
-#672 := [th-lemma arith triangle-eq]: #671
-#655 := [unit-resolution #672 #665]: #699
-#643 := [th-lemma arith eq-propagate -1 -1 #655 #670]: #673
-#648 := [trans #643 #645]: #646
-#652 := [monotonicity #648]: #647
-#642 := (= #101 #679)
-decl f11 :: (-> Int S6 S6)
-#558 := (f11 3::Int f12)
-#834 := (f15 #558)
-#821 := (= #834 #679)
-#822 := (= #679 #834)
-#34 := (:var 0 S6)
-#56 := (:var 1 Int)
-#57 := (f11 #56 #34)
-#936 := (pattern #57)
-#36 := (f15 #34)
-#88 := (f21 #36)
-#219 := (+ 1::Int #88)
-#224 := (f18 f19 #219)
-#87 := (f15 #57)
-#227 := (= #87 #224)
-#937 := (forall (vars (?v0 Int) (?v1 S6)) (:pat #936) #227)
-#230 := (forall (vars (?v0 Int) (?v1 S6)) #227)
-#940 := (iff #230 #937)
-#938 := (iff #227 #227)
-#939 := [refl]: #938
-#941 := [quant-intro #939]: #940
-#360 := (~ #230 #230)
-#358 := (~ #227 #227)
-#359 := [refl]: #358
-#361 := [nnf-pos #359]: #360
-#89 := (+ #88 #65)
-#90 := (f18 f19 #89)
-#91 := (= #87 #90)
-#92 := (forall (vars (?v0 Int) (?v1 S6)) #91)
-#231 := (iff #92 #230)
-#228 := (iff #91 #227)
-#225 := (= #90 #224)
-#222 := (= #89 #219)
-#215 := (+ #88 1::Int)
-#220 := (= #215 #219)
-#221 := [rewrite]: #220
-#217 := (= #89 #215)
-#218 := [monotonicity #167]: #217
-#223 := [trans #218 #221]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [quant-intro #229]: #231
-#214 := [asserted]: #92
-#235 := [mp #214 #232]: #230
-#362 := [mp~ #235 #361]: #230
-#942 := [mp #362 #941]: #937
-#818 := (not #937)
-#819 := (or #818 #822)
-#825 := (or #818 #821)
-#820 := (iff #825 #819)
-#656 := (iff #819 #819)
-#658 := [rewrite]: #656
-#823 := (iff #821 #822)
-#824 := [rewrite]: #823
-#827 := [monotonicity #824]: #820
-#659 := [trans #827 #658]: #820
-#826 := [quant-inst #99 #19]: #825
-#812 := [mp #826 #659]: #819
-#649 := [unit-resolution #812 #942]: #822
-#651 := [symm #649]: #821
-#641 := (= #101 #834)
-decl f10 :: (-> S6 S3)
-#549 := (f10 #558)
-#835 := (= #549 #834)
-#893 := (pattern #36)
-#35 := (f10 #34)
-#892 := (pattern #35)
-#37 := (= #35 #36)
-#894 := (forall (vars (?v0 S6)) (:pat #892 #893) #37)
-#38 := (forall (vars (?v0 S6)) #37)
-#897 := (iff #38 #894)
-#895 := (iff #37 #37)
-#896 := [refl]: #895
-#898 := [quant-intro #896]: #897
-#408 := (~ #38 #38)
-#416 := (~ #37 #37)
-#417 := [refl]: #416
-#409 := [nnf-pos #417]: #408
-#153 := [asserted]: #38
-#406 := [mp~ #153 #409]: #38
-#899 := [mp #406 #898]: #894
-#864 := (not #894)
-#677 := (or #864 #835)
-#678 := [quant-inst #558]: #677
-#650 := [unit-resolution #678 #899]: #835
-#559 := (= #101 #549)
-#20 := (f11 #16 f12)
-#885 := (pattern #20)
-#17 := (f9 #16)
-#884 := (pattern #17)
-#21 := (f10 #20)
-#18 := (f8 #17)
-#22 := (= #18 #21)
-#886 := (forall (vars (?v0 Int)) (:pat #884 #885) #22)
-#23 := (forall (vars (?v0 Int)) #22)
-#889 := (iff #23 #886)
-#887 := (iff #22 #22)
-#888 := [refl]: #887
-#890 := [quant-intro #888]: #889
-#427 := (~ #23 #23)
-#429 := (~ #22 #22)
-#426 := [refl]: #429
-#418 := [nnf-pos #426]: #427
-#141 := [asserted]: #23
-#419 := [mp~ #141 #418]: #23
-#891 := [mp #419 #890]: #886
-#868 := (not #886)
-#870 := (or #868 #559)
-#536 := [quant-inst #99]: #870
-#502 := [unit-resolution #536 #891]: #559
-#639 := [trans #502 #650]: #641
-#630 := [trans #639 #651]: #642
-#635 := [trans #630 #652]: #633
-#632 := [trans #635 #681]: #636
-#627 := [trans #632 #634]: #637
-#617 := [trans #627 #640]: #104
-#105 := (not #104)
-#252 := [asserted]: #105
-[unit-resolution #252 #617]: false
-unsat
-5a76ac61ccccc3cf413dd2cf808cc3df750b1eab 61 0
-#2 := false
-decl f7 :: S2
-#18 := f7
-decl f5 :: S2
-#14 := f5
-#20 := (= f5 f7)
-decl f3 :: (-> S4 S2)
-decl f4 :: (-> S2 S3 S4)
-decl f6 :: S3
-#15 := f6
-#16 := (f4 f5 f6)
-#17 := (f3 #16)
-#19 := (= #17 f7)
-#50 := (not #19)
-#52 := (or #50 #20)
-#55 := (not #52)
-#21 := (implies #19 #20)
-#22 := (not #21)
-#56 := (iff #22 #55)
-#53 := (iff #21 #52)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#49 := [asserted]: #22
-#60 := [mp #49 #57]: #55
-#58 := [not-or-elim #60]: #19
-#125 := (= f5 #17)
-#9 := (:var 0 S3)
-#8 := (:var 1 S2)
-#10 := (f4 #8 #9)
-#543 := (pattern #10)
-#11 := (f3 #10)
-#43 := (= #8 #11)
-#544 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #543) #43)
-#46 := (forall (vars (?v0 S2) (?v1 S3)) #43)
-#547 := (iff #46 #544)
-#545 := (iff #43 #43)
-#546 := [refl]: #545
-#548 := [quant-intro #546]: #547
-#73 := (~ #46 #46)
-#71 := (~ #43 #43)
-#72 := [refl]: #71
-#74 := [nnf-pos #72]: #73
-#12 := (= #11 #8)
-#13 := (forall (vars (?v0 S2) (?v1 S3)) #12)
-#47 := (iff #13 #46)
-#44 := (iff #12 #43)
-#45 := [rewrite]: #44
-#48 := [quant-intro #45]: #47
-#42 := [asserted]: #13
-#51 := [mp #42 #48]: #46
-#63 := [mp~ #51 #74]: #46
-#549 := [mp #63 #548]: #544
-#213 := (not #544)
-#127 := (or #213 #125)
-#214 := [quant-inst #14 #15]: #127
-#212 := [unit-resolution #214 #549]: #125
-#126 := [trans #212 #58]: #20
-#59 := (not #20)
-#61 := [not-or-elim #60]: #59
-[unit-resolution #61 #126]: false
-unsat
-e37a715fae94dfacce2b81d39c657fd74713dfe9 116 0
-#2 := false
-decl f8 :: (-> S4 S3)
-decl f12 :: S4
-#31 := f12
-#36 := (f8 f12)
-decl f5 :: (-> S5 S3)
-decl f9 :: S5
-#26 := f9
-#35 := (f5 f9)
-#37 := (= #35 #36)
-decl f4 :: (-> S2 S3 S4)
-decl f10 :: S3
-#27 := f10
-decl f11 :: S2
-#28 := f11
-#32 := (f4 f11 f10)
-#184 := (f8 #32)
-#248 := (= #184 #36)
-#600 := (= #36 #184)
-#33 := (= f12 #32)
-decl f6 :: (-> S3 S2 S5)
-#29 := (f6 f10 f11)
-#30 := (= f9 #29)
-#34 := (and #30 #33)
-#91 := (not #34)
-#93 := (or #91 #37)
-#96 := (not #93)
-#38 := (implies #34 #37)
-#39 := (not #38)
-#97 := (iff #39 #96)
-#94 := (iff #38 #93)
-#95 := [rewrite]: #94
-#98 := [monotonicity #95]: #97
-#90 := [asserted]: #39
-#101 := [mp #90 #98]: #96
-#99 := [not-or-elim #101]: #34
-#102 := [and-elim #99]: #33
-#590 := [monotonicity #102]: #600
-#253 := [symm #590]: #248
-#592 := (= #35 #184)
-#271 := (= f10 #184)
-#9 := (:var 0 S3)
-#8 := (:var 1 S2)
-#10 := (f4 #8 #9)
-#601 := (pattern #10)
-#23 := (f8 #10)
-#83 := (= #9 #23)
-#621 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #601) #83)
-#87 := (forall (vars (?v0 S2) (?v1 S3)) #83)
-#624 := (iff #87 #621)
-#622 := (iff #83 #83)
-#623 := [refl]: #622
-#625 := [quant-intro #623]: #624
-#112 := (~ #87 #87)
-#131 := (~ #83 #83)
-#132 := [refl]: #131
-#113 := [nnf-pos #132]: #112
-#24 := (= #23 #9)
-#25 := (forall (vars (?v0 S2) (?v1 S3)) #24)
-#88 := (iff #25 #87)
-#85 := (iff #24 #83)
-#86 := [rewrite]: #85
-#89 := [quant-intro #86]: #88
-#82 := [asserted]: #25
-#92 := [mp #82 #89]: #87
-#133 := [mp~ #92 #113]: #87
-#626 := [mp #133 #625]: #621
-#203 := (not #621)
-#276 := (or #203 #271)
-#273 := [quant-inst #28 #27]: #276
-#382 := [unit-resolution #273 #626]: #271
-#591 := (= #35 f10)
-#274 := (f5 #29)
-#599 := (= #274 f10)
-#275 := (= f10 #274)
-#15 := (:var 0 S2)
-#14 := (:var 1 S3)
-#16 := (f6 #14 #15)
-#608 := (pattern #16)
-#17 := (f5 #16)
-#67 := (= #14 #17)
-#609 := (forall (vars (?v0 S3) (?v1 S2)) (:pat #608) #67)
-#71 := (forall (vars (?v0 S3) (?v1 S2)) #67)
-#612 := (iff #71 #609)
-#610 := (iff #67 #67)
-#611 := [refl]: #610
-#613 := [quant-intro #611]: #612
-#108 := (~ #71 #71)
-#107 := (~ #67 #67)
-#126 := [refl]: #107
-#109 := [nnf-pos #126]: #108
-#18 := (= #17 #14)
-#19 := (forall (vars (?v0 S3) (?v1 S2)) #18)
-#72 := (iff #19 #71)
-#69 := (iff #18 #67)
-#70 := [rewrite]: #69
-#73 := [quant-intro #70]: #72
-#66 := [asserted]: #19
-#76 := [mp #66 #73]: #71
-#127 := [mp~ #76 #109]: #71
-#614 := [mp #127 #613]: #609
-#593 := (not #609)
-#595 := (or #593 #275)
-#250 := [quant-inst #27 #28]: #595
-#589 := [unit-resolution #250 #614]: #275
-#594 := [symm #589]: #599
-#597 := (= #35 #274)
-#100 := [and-elim #99]: #30
-#598 := [monotonicity #100]: #597
-#249 := [trans #598 #594]: #591
-#233 := [trans #249 #382]: #592
-#576 := [trans #233 #253]: #37
-#103 := (not #37)
-#104 := [not-or-elim #101]: #103
-[unit-resolution #104 #576]: false
-unsat
-0a51c265dbf4d3067e92be219272e95358c500c5 415 0
-#2 := false
-decl f3 :: (-> S2 S3)
-decl f4 :: (-> S1 S2)
-decl f1 :: S1
-#4 := f1
-#102 := (f4 f1)
-#103 := (f3 #102)
-decl f8 :: (-> S5 S3)
-decl f9 :: (-> Int S5)
-#99 := 3::Int
-#100 := (f9 3::Int)
-#101 := (f8 #100)
-#104 := (= #101 #103)
-decl f5 :: (-> S4 S3)
-decl f6 :: (-> S1 S4 S4)
-decl f7 :: S4
-#11 := f7
-#462 := (f6 f1 f7)
-#546 := (f5 #462)
-#638 := (= #546 #103)
-#547 := (= #103 #546)
-#8 := (:var 0 S1)
-#12 := (f6 #8 f7)
-#877 := (pattern #12)
-#9 := (f4 #8)
-#876 := (pattern #9)
-#13 := (f5 #12)
-#10 := (f3 #9)
-#14 := (= #10 #13)
-#878 := (forall (vars (?v0 S1)) (:pat #876 #877) #14)
-#15 := (forall (vars (?v0 S1)) #14)
-#881 := (iff #15 #878)
-#879 := (iff #14 #14)
-#880 := [refl]: #879
-#882 := [quant-intro #880]: #881
-#384 := (~ #15 #15)
-#382 := (~ #14 #14)
-#383 := [refl]: #382
-#385 := [nnf-pos #383]: #384
-#140 := [asserted]: #15
-#340 := [mp~ #140 #385]: #15
-#883 := [mp #340 #882]: #878
-#550 := (not #878)
-#551 := (or #550 #547)
-#552 := [quant-inst #4]: #551
-#719 := [unit-resolution #552 #883]: #547
-#640 := [symm #719]: #638
-#637 := (= #101 #546)
-decl f16 :: (-> S4 S3)
-#569 := (f16 #462)
-#631 := (= #569 #546)
-#843 := (= #546 #569)
-#39 := (:var 0 S4)
-#41 := (f16 #39)
-#901 := (pattern #41)
-#40 := (f5 #39)
-#900 := (pattern #40)
-#42 := (= #40 #41)
-#902 := (forall (vars (?v0 S4)) (:pat #900 #901) #42)
-#43 := (forall (vars (?v0 S4)) #42)
-#905 := (iff #43 #902)
-#903 := (iff #42 #42)
-#904 := [refl]: #903
-#906 := [quant-intro #904]: #905
-#354 := (~ #43 #43)
-#353 := (~ #42 #42)
-#350 := [refl]: #353
-#355 := [nnf-pos #350]: #354
-#154 := [asserted]: #43
-#351 := [mp~ #154 #355]: #43
-#907 := [mp #351 #906]: #902
-#872 := (not #902)
-#848 := (or #872 #843)
-#558 := [quant-inst #462]: #848
-#674 := [unit-resolution #558 #907]: #843
-#634 := [symm #674]: #631
-#636 := (= #101 #569)
-decl f18 :: (-> S7 Int S3)
-decl f21 :: (-> S3 Int)
-#85 := (f16 f7)
-#847 := (f21 #85)
-#64 := 1::Int
-#844 := (+ 1::Int #847)
-decl f19 :: S7
-#46 := f19
-#559 := (f18 f19 #844)
-#561 := (= #559 #569)
-#71 := (:var 1 S1)
-#72 := (f6 #71 #39)
-#943 := (pattern #72)
-#94 := (f21 #41)
-#238 := (+ 1::Int #94)
-#243 := (f18 f19 #238)
-#93 := (f16 #72)
-#246 := (= #93 #243)
-#944 := (forall (vars (?v0 S1) (?v1 S4)) (:pat #943) #246)
-#249 := (forall (vars (?v0 S1) (?v1 S4)) #246)
-#947 := (iff #249 #944)
-#945 := (iff #246 #246)
-#946 := [refl]: #945
-#948 := [quant-intro #946]: #947
-#370 := (~ #249 #249)
-#369 := (~ #246 #246)
-#366 := [refl]: #369
-#371 := [nnf-pos #366]: #370
-#47 := 0::Int
-#65 := (+ 0::Int 1::Int)
-#95 := (+ #94 #65)
-#96 := (f18 f19 #95)
-#97 := (= #93 #96)
-#98 := (forall (vars (?v0 S1) (?v1 S4)) #97)
-#250 := (iff #98 #249)
-#247 := (iff #97 #246)
-#244 := (= #96 #243)
-#241 := (= #95 #238)
-#234 := (+ #94 1::Int)
-#239 := (= #234 #238)
-#240 := [rewrite]: #239
-#236 := (= #95 #234)
-#165 := (= #65 1::Int)
-#167 := [rewrite]: #165
-#237 := [monotonicity #167]: #236
-#242 := [trans #237 #240]: #241
-#245 := [monotonicity #242]: #244
-#248 := [monotonicity #245]: #247
-#251 := [quant-intro #248]: #250
-#233 := [asserted]: #98
-#254 := [mp #233 #251]: #249
-#367 := [mp~ #254 #371]: #249
-#949 := [mp #367 #948]: #944
-#554 := (not #944)
-#837 := (or #554 #561)
-#560 := (= #569 #559)
-#841 := (or #554 #560)
-#842 := (iff #841 #837)
-#832 := (iff #837 #837)
-#833 := [rewrite]: #832
-#839 := (iff #560 #561)
-#840 := [rewrite]: #839
-#831 := [monotonicity #840]: #842
-#828 := [trans #831 #833]: #842
-#838 := [quant-inst #4 #11]: #841
-#829 := [mp #838 #828]: #837
-#681 := [unit-resolution #829 #949]: #561
-#633 := (= #101 #559)
-decl f15 :: (-> S6 S3)
-decl f12 :: S6
-#19 := f12
-#83 := (f15 f12)
-#830 := (f21 #83)
-#836 := (+ 1::Int #830)
-#679 := (f18 f19 #836)
-#647 := (= #679 #559)
-#646 := (= #836 #844)
-#644 := (= 1::Int #844)
-#653 := (= #844 1::Int)
-#815 := (<= #847 0::Int)
-#813 := (= #847 0::Int)
-#48 := (f18 f19 0::Int)
-#869 := (f21 #48)
-#866 := (= #869 0::Int)
-#16 := (:var 0 Int)
-#112 := (f18 f19 #16)
-#957 := (pattern #112)
-#280 := (>= #16 0::Int)
-#281 := (not #280)
-#113 := (f21 #112)
-#262 := (= #16 #113)
-#287 := (or #262 #281)
-#958 := (forall (vars (?v0 Int)) (:pat #957) #287)
-#292 := (forall (vars (?v0 Int)) #287)
-#961 := (iff #292 #958)
-#959 := (iff #287 #287)
-#960 := [refl]: #959
-#962 := [quant-intro #960]: #961
-#376 := (~ #292 #292)
-#375 := (~ #287 #287)
-#402 := [refl]: #375
-#377 := [nnf-pos #402]: #376
-#114 := (= #113 #16)
-#111 := (<= 0::Int #16)
-#115 := (implies #111 #114)
-#116 := (forall (vars (?v0 Int)) #115)
-#295 := (iff #116 #292)
-#269 := (not #111)
-#270 := (or #269 #262)
-#275 := (forall (vars (?v0 Int)) #270)
-#293 := (iff #275 #292)
-#290 := (iff #270 #287)
-#284 := (or #281 #262)
-#288 := (iff #284 #287)
-#289 := [rewrite]: #288
-#285 := (iff #270 #284)
-#282 := (iff #269 #281)
-#278 := (iff #111 #280)
-#279 := [rewrite]: #278
-#283 := [monotonicity #279]: #282
-#286 := [monotonicity #283]: #285
-#291 := [trans #286 #289]: #290
-#294 := [quant-intro #291]: #293
-#276 := (iff #116 #275)
-#273 := (iff #115 #270)
-#266 := (implies #111 #262)
-#271 := (iff #266 #270)
-#272 := [rewrite]: #271
-#267 := (iff #115 #266)
-#264 := (iff #114 #262)
-#265 := [rewrite]: #264
-#268 := [monotonicity #265]: #267
-#274 := [trans #268 #272]: #273
-#277 := [quant-intro #274]: #276
-#296 := [trans #277 #294]: #295
-#261 := [asserted]: #116
-#297 := [mp #261 #296]: #292
-#403 := [mp~ #297 #377]: #292
-#963 := [mp #403 #962]: #958
-#859 := (not #958)
-#861 := (or #859 #866)
-#657 := (>= 0::Int 0::Int)
-#871 := (not #657)
-#875 := (= 0::Int #869)
-#865 := (or #875 #871)
-#500 := (or #859 #865)
-#862 := (iff #500 #861)
-#863 := (iff #861 #861)
-#849 := [rewrite]: #863
-#858 := (iff #865 #866)
-#854 := (or #866 false)
-#857 := (iff #854 #866)
-#852 := [rewrite]: #857
-#855 := (iff #865 #854)
-#516 := (iff #871 false)
-#1 := true
-#509 := (not true)
-#514 := (iff #509 false)
-#515 := [rewrite]: #514
-#851 := (iff #871 #509)
-#525 := (iff #657 true)
-#867 := [rewrite]: #525
-#513 := [monotonicity #867]: #851
-#853 := [trans #513 #515]: #516
-#524 := (iff #875 #866)
-#529 := [rewrite]: #524
-#856 := [monotonicity #529 #853]: #855
-#495 := [trans #856 #852]: #858
-#860 := [monotonicity #495]: #862
-#850 := [trans #860 #849]: #862
-#501 := [quant-inst #47]: #500
-#557 := [mp #501 #850]: #861
-#682 := [unit-resolution #557 #963]: #866
-#684 := (= #847 #869)
-#86 := (= #85 #48)
-#210 := (= #48 #85)
-#212 := (iff #86 #210)
-#213 := [rewrite]: #212
-#209 := [asserted]: #86
-#216 := [mp #209 #213]: #210
-#683 := [symm #216]: #86
-#685 := [monotonicity #683]: #684
-#686 := [trans #685 #682]: #813
-#687 := (not #813)
-#688 := (or #687 #815)
-#689 := [th-lemma arith triangle-eq]: #688
-#690 := [unit-resolution #689 #686]: #815
-#816 := (>= #847 0::Int)
-#691 := (or #687 #816)
-#676 := [th-lemma arith triangle-eq]: #691
-#692 := [unit-resolution #676 #686]: #816
-#654 := [th-lemma arith eq-propagate -1 -1 #692 #690]: #653
-#645 := [symm #654]: #644
-#673 := (= #836 1::Int)
-#817 := (<= #830 0::Int)
-#814 := (= #830 0::Int)
-#663 := (= #830 #869)
-#84 := (= #83 #48)
-#205 := (= #48 #83)
-#207 := (iff #84 #205)
-#208 := [rewrite]: #207
-#204 := [asserted]: #84
-#211 := [mp #204 #208]: #205
-#661 := [symm #211]: #84
-#664 := [monotonicity #661]: #663
-#665 := [trans #664 #682]: #814
-#667 := (not #814)
-#668 := (or #667 #817)
-#669 := [th-lemma arith triangle-eq]: #668
-#670 := [unit-resolution #669 #665]: #817
-#699 := (>= #830 0::Int)
-#671 := (or #667 #699)
-#672 := [th-lemma arith triangle-eq]: #671
-#655 := [unit-resolution #672 #665]: #699
-#643 := [th-lemma arith eq-propagate -1 -1 #655 #670]: #673
-#648 := [trans #643 #645]: #646
-#652 := [monotonicity #648]: #647
-#642 := (= #101 #679)
-decl f11 :: (-> Int S6 S6)
-#548 := (f11 3::Int f12)
-#834 := (f15 #548)
-#821 := (= #834 #679)
-#822 := (= #679 #834)
-#34 := (:var 0 S6)
-#56 := (:var 1 Int)
-#57 := (f11 #56 #34)
-#936 := (pattern #57)
-#36 := (f15 #34)
-#88 := (f21 #36)
-#219 := (+ 1::Int #88)
-#224 := (f18 f19 #219)
-#87 := (f15 #57)
-#227 := (= #87 #224)
-#937 := (forall (vars (?v0 Int) (?v1 S6)) (:pat #936) #227)
-#230 := (forall (vars (?v0 Int) (?v1 S6)) #227)
-#940 := (iff #230 #937)
-#938 := (iff #227 #227)
-#939 := [refl]: #938
-#941 := [quant-intro #939]: #940
-#364 := (~ #230 #230)
-#398 := (~ #227 #227)
-#399 := [refl]: #398
-#365 := [nnf-pos #399]: #364
-#89 := (+ #88 #65)
-#90 := (f18 f19 #89)
-#91 := (= #87 #90)
-#92 := (forall (vars (?v0 Int) (?v1 S6)) #91)
-#231 := (iff #92 #230)
-#228 := (iff #91 #227)
-#225 := (= #90 #224)
-#222 := (= #89 #219)
-#215 := (+ #88 1::Int)
-#220 := (= #215 #219)
-#221 := [rewrite]: #220
-#217 := (= #89 #215)
-#218 := [monotonicity #167]: #217
-#223 := [trans #218 #221]: #222
-#226 := [monotonicity #223]: #225
-#229 := [monotonicity #226]: #228
-#232 := [quant-intro #229]: #231
-#214 := [asserted]: #92
-#235 := [mp #214 #232]: #230
-#368 := [mp~ #235 #365]: #230
-#942 := [mp #368 #941]: #937
-#818 := (not #937)
-#819 := (or #818 #822)
-#825 := (or #818 #821)
-#820 := (iff #825 #819)
-#656 := (iff #819 #819)
-#658 := [rewrite]: #656
-#823 := (iff #821 #822)
-#824 := [rewrite]: #823
-#827 := [monotonicity #824]: #820
-#659 := [trans #827 #658]: #820
-#826 := [quant-inst #99 #19]: #825
-#812 := [mp #826 #659]: #819
-#649 := [unit-resolution #812 #942]: #822
-#651 := [symm #649]: #821
-#641 := (= #101 #834)
-decl f10 :: (-> S6 S3)
-#539 := (f10 #548)
-#835 := (= #539 #834)
-#893 := (pattern #36)
-#35 := (f10 #34)
-#892 := (pattern #35)
-#37 := (= #35 #36)
-#894 := (forall (vars (?v0 S6)) (:pat #892 #893) #37)
-#38 := (forall (vars (?v0 S6)) #37)
-#897 := (iff #38 #894)
-#895 := (iff #37 #37)
-#896 := [refl]: #895
-#898 := [quant-intro #896]: #897
-#344 := (~ #38 #38)
-#388 := (~ #37 #37)
-#389 := [refl]: #388
-#345 := [nnf-pos #389]: #344
-#153 := [asserted]: #38
-#352 := [mp~ #153 #345]: #38
-#899 := [mp #352 #898]: #894
-#864 := (not #894)
-#677 := (or #864 #835)
-#678 := [quant-inst #548]: #677
-#650 := [unit-resolution #678 #899]: #835
-#549 := (= #101 #539)
-#20 := (f11 #16 f12)
-#885 := (pattern #20)
-#17 := (f9 #16)
-#884 := (pattern #17)
-#21 := (f10 #20)
-#18 := (f8 #17)
-#22 := (= #18 #21)
-#886 := (forall (vars (?v0 Int)) (:pat #884 #885) #22)
-#23 := (forall (vars (?v0 Int)) #22)
-#889 := (iff #23 #886)
-#887 := (iff #22 #22)
-#888 := [refl]: #887
-#890 := [quant-intro #888]: #889
-#342 := (~ #23 #23)
-#341 := (~ #22 #22)
-#386 := [refl]: #341
-#343 := [nnf-pos #386]: #342
-#141 := [asserted]: #23
-#387 := [mp~ #141 #343]: #23
-#891 := [mp #387 #890]: #886
-#868 := (not #886)
-#870 := (or #868 #549)
-#526 := [quant-inst #99]: #870
-#492 := [unit-resolution #526 #891]: #549
-#639 := [trans #492 #650]: #641
-#630 := [trans #639 #651]: #642
-#635 := [trans #630 #652]: #633
-#632 := [trans #635 #681]: #636
-#627 := [trans #632 #634]: #637
-#617 := [trans #627 #640]: #104
-#105 := (not #104)
-#252 := [asserted]: #105
-[unit-resolution #252 #617]: false
-unsat
+#387 := [mp~ #254 #384]: #249
+#961 := [mp #387 #960]: #956
+#844 := (not #956)
+#845 := (or #844 #843)
+#839 := (or #844 #842)
+#675 := (iff #839 #845)
+#678 := (iff #845 #845)
+#831 := [rewrite]: #678
+#837 := (iff #842 #843)
+#838 := [rewrite]: #837
+#677 := [monotonicity #838]: #675
+#832 := [trans #677 #831]: #675
+#846 := [quant-inst #118 #27]: #839
+#834 := [mp #846 #832]: #845
+#664 := [unit-resolution #834 #961]: #843
+#668 := [symm #664]: #842
+#653 := (= #120 #849)
+decl f16 :: S11
+#24 := f16
+#572 := (f15 f16 #569)
+#855 := (= #572 #849)
+#912 := (pattern #45)
+#43 := (f15 f16 #42)
+#911 := (pattern #43)
+#46 := (= #43 #45)
+#913 := (forall (vars (?v0 S12)) (:pat #911 #912) #46)
+#47 := (forall (vars (?v0 S12)) #46)
+#916 := (iff #47 #913)
+#914 := (iff #46 #46)
+#915 := [refl]: #914
+#917 := [quant-intro #915]: #916
+#363 := (~ #47 #47)
+#407 := (~ #46 #46)
+#408 := [refl]: #407
+#364 := [nnf-pos #408]: #363
+#172 := [asserted]: #47
+#371 := [mp~ #172 #364]: #47
+#918 := [mp #371 #917]: #913
+#557 := (not #913)
+#698 := (or #557 #855)
+#840 := [quant-inst #569]: #698
+#665 := [unit-resolution #840 #918]: #855
+#551 := (= #120 #572)
+#26 := (f18 f19 #21)
+#904 := (pattern #26)
+#22 := (f14 #21)
+#903 := (pattern #22)
+#28 := (f17 #26 f20)
+#29 := (f15 f16 #28)
+#23 := (f12 f13 #22)
+#30 := (= #23 #29)
+#905 := (forall (vars (?v0 Int)) (:pat #903 #904) #30)
+#31 := (forall (vars (?v0 Int)) #30)
+#908 := (iff #31 #905)
+#906 := (iff #30 #30)
+#907 := [refl]: #906
+#909 := [quant-intro #907]: #908
+#361 := (~ #31 #31)
+#360 := (~ #30 #30)
+#405 := [refl]: #360
+#362 := [nnf-pos #405]: #361
+#160 := [asserted]: #31
+#406 := [mp~ #160 #362]: #31
+#910 := [mp #406 #909]: #905
+#545 := (not #905)
+#676 := (or #545 #551)
+#883 := [quant-inst #118]: #676
+#667 := [unit-resolution #883 #910]: #551
+#657 := [trans #667 #665]: #653
+#660 := [trans #657 #668]: #659
+#661 := [trans #660 #511]: #658
+#652 := [trans #661 #693]: #649
+#655 := [trans #652 #666]: #654
+#651 := [trans #655 #650]: #123
+#124 := (not #123)
+#271 := [asserted]: #124
+[unit-resolution #271 #651]: false
+unsat