use Z3's builtin support for div and mod
authorboehmes
Thu, 27 May 2010 14:55:53 +0200
changeset 37151 3e9e8dfb3c98
parent 37150 73e738371c90
child 37152 f309fd16a0bd
use Z3's builtin support for div and mod
src/HOL/SMT.thy
src/HOL/SMT_Examples/SMT_Examples.certs
src/HOL/SMT_Examples/SMT_Examples.thy
src/HOL/SMT_Examples/SMT_Tests.certs
src/HOL/SMT_Examples/SMT_Tests.thy
src/HOL/Tools/SMT/z3_interface.ML
src/HOL/Tools/SMT/z3_proof_tools.ML
--- a/src/HOL/SMT.thy	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/SMT.thy	Thu May 27 14:55:53 2010 +0200
@@ -88,6 +88,29 @@
 
 
 
+subsection {* Integer division and modulo for Z3 *}
+
+definition z3div :: "int \<Rightarrow> int \<Rightarrow> int" where
+  "z3div k l = (if 0 \<le> l then k div l else -(k div (-l)))"
+
+definition z3mod :: "int \<Rightarrow> int \<Rightarrow> int" where
+  "z3mod k l = (if 0 \<le> l then k mod l else k mod (-l))"
+
+lemma div_by_z3div: "k div l = (
+     if k = 0 \<or> l = 0 then 0
+     else if (0 < k \<and> 0 < l) \<or> (k < 0 \<and> 0 < l) then z3div k l
+     else z3div (-k) (-l))"
+  by (auto simp add: z3div_def)
+
+lemma mod_by_z3mod: "k mod l = (
+     if l = 0 then k
+     else if k = 0 then 0
+     else if (0 < k \<and> 0 < l) \<or> (k < 0 \<and> 0 < l) then z3mod k l
+     else - z3mod (-k) (-l))"
+  by (auto simp add: z3mod_def)
+
+
+
 subsection {* Setup *}
 
 use "Tools/SMT/smt_monomorph.ML"
@@ -292,6 +315,6 @@
 
 hide_type (open) pattern
 hide_const Pattern "apply" term_eq
-hide_const (open) trigger pat nopat
+hide_const (open) trigger pat nopat z3div z3mod
 
 end
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Thu May 27 14:55:53 2010 +0200
@@ -13273,3 +13273,2923 @@
 #223 := [asserted]: #31
 [unit-resolution #223 #592]: false
 unsat
+deae667b0e6d09bfcbbf377d5f8aa82b0236a988 348 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#421 := (>= f5 0::int)
+#427 := (<= f5 0::int)
+#755 := (not #427)
+#411 := (not #421)
+#756 := (or #411 #755)
+#717 := (not #756)
+#41 := 2::int
+#445 := (mod f5 2::int)
+#71 := -1::int
+#446 := (* -1::int #445)
+decl f4 :: (-> int int int)
+#42 := (f4 f5 2::int)
+#447 := (+ #42 #446)
+#444 := (= #447 0::int)
+#707 := (not #444)
+#719 := (>= #447 0::int)
+#649 := (not #719)
+#656 := [hypothesis]: #719
+#691 := (>= #445 0::int)
+#1 := true
+#62 := [true-axiom]: true
+#667 := (or false #691)
+#645 := [th-lemma]: #667
+#646 := [unit-resolution #645 #62]: #691
+#202 := (>= #42 0::int)
+#205 := (not #202)
+#39 := 1::int
+#43 := (* 2::int #42)
+#44 := (+ #43 1::int)
+#45 := (+ f5 #44)
+#40 := (+ f5 1::int)
+#46 := (<= #40 #45)
+#47 := (not #46)
+#210 := (iff #47 #205)
+#184 := (+ f5 #43)
+#185 := (+ 1::int #184)
+#175 := (+ 1::int f5)
+#190 := (<= #175 #185)
+#193 := (not #190)
+#208 := (iff #193 #205)
+#199 := (>= #43 0::int)
+#196 := (not #199)
+#206 := (iff #196 #205)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#207 := [monotonicity #204]: #206
+#200 := (iff #193 #196)
+#197 := (iff #190 #199)
+#198 := [rewrite]: #197
+#201 := [monotonicity #198]: #200
+#209 := [trans #201 #207]: #208
+#194 := (iff #47 #193)
+#191 := (iff #46 #190)
+#188 := (= #45 #185)
+#178 := (+ 1::int #43)
+#181 := (+ f5 #178)
+#186 := (= #181 #185)
+#187 := [rewrite]: #186
+#182 := (= #45 #181)
+#179 := (= #44 #178)
+#180 := [rewrite]: #179
+#183 := [monotonicity #180]: #182
+#189 := [trans #183 #187]: #188
+#176 := (= #40 #175)
+#177 := [rewrite]: #176
+#192 := [monotonicity #177 #189]: #191
+#195 := [monotonicity #192]: #194
+#211 := [trans #195 #209]: #210
+#174 := [asserted]: #47
+#212 := [mp #174 #211]: #205
+#648 := [th-lemma #212 #646 #656]: false
+#650 := [lemma #648]: #649
+#662 := (or #707 #719)
+#663 := [th-lemma]: #662
+#664 := [unit-resolution #663 #650]: #707
+#639 := (or #717 #444)
+#743 := -2::int
+#441 := (* -1::int f5)
+#467 := (mod #441 -2::int)
+#363 := (+ #42 #467)
+#462 := (= #363 0::int)
+#741 := (ite #756 #444 #462)
+#765 := (= #42 0::int)
+#766 := (= f5 0::int)
+#452 := (ite #766 #765 #741)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#777 := (pattern #29)
+#75 := (* -1::int #9)
+#72 := (* -1::int #8)
+#130 := (mod #72 #75)
+#289 := (+ #29 #130)
+#290 := (= #289 0::int)
+#30 := (mod #8 #9)
+#286 := (* -1::int #30)
+#287 := (+ #29 #286)
+#288 := (= #287 0::int)
+#97 := (<= #9 0::int)
+#93 := (<= #8 0::int)
+#228 := (or #93 #97)
+#229 := (not #228)
+#104 := (>= #8 0::int)
+#220 := (or #97 #104)
+#221 := (not #220)
+#235 := (or #221 #229)
+#291 := (ite #235 #288 #290)
+#285 := (= #29 0::int)
+#12 := (= #8 0::int)
+#292 := (ite #12 #285 #291)
+#284 := (= #8 #29)
+#13 := (= #9 0::int)
+#293 := (ite #13 #284 #292)
+#778 := (forall (vars (?v0 int) (?v1 int)) (:pat #777) #293)
+#296 := (forall (vars (?v0 int) (?v1 int)) #293)
+#781 := (iff #296 #778)
+#779 := (iff #293 #293)
+#780 := [refl]: #779
+#782 := [quant-intro #780]: #781
+#136 := (* -1::int #130)
+#253 := (ite #235 #30 #136)
+#256 := (ite #12 0::int #253)
+#259 := (ite #13 #8 #256)
+#262 := (= #29 #259)
+#265 := (forall (vars (?v0 int) (?v1 int)) #262)
+#297 := (iff #265 #296)
+#294 := (iff #262 #293)
+#295 := [rewrite]: #294
+#298 := [quant-intro #295]: #297
+#105 := (not #104)
+#98 := (not #97)
+#108 := (and #98 #105)
+#94 := (not #93)
+#101 := (and #94 #98)
+#111 := (or #101 #108)
+#156 := (ite #111 #30 #136)
+#159 := (ite #12 0::int #156)
+#162 := (ite #13 #8 #159)
+#165 := (= #29 #162)
+#168 := (forall (vars (?v0 int) (?v1 int)) #165)
+#266 := (iff #168 #265)
+#263 := (iff #165 #262)
+#260 := (= #162 #259)
+#257 := (= #159 #256)
+#254 := (= #156 #253)
+#238 := (iff #111 #235)
+#232 := (or #229 #221)
+#236 := (iff #232 #235)
+#237 := [rewrite]: #236
+#233 := (iff #111 #232)
+#230 := (iff #108 #221)
+#231 := [rewrite]: #230
+#218 := (iff #101 #229)
+#219 := [rewrite]: #218
+#234 := [monotonicity #219 #231]: #233
+#239 := [trans #234 #237]: #238
+#255 := [monotonicity #239]: #254
+#258 := [monotonicity #255]: #257
+#261 := [monotonicity #258]: #260
+#264 := [monotonicity #261]: #263
+#267 := [quant-intro #264]: #266
+#216 := (~ #168 #168)
+#213 := (~ #165 #165)
+#226 := [refl]: #213
+#217 := [nnf-pos #226]: #216
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#171 := (iff #37 #168)
+#65 := (and #16 #18)
+#68 := (or #17 #65)
+#141 := (ite #68 #30 #136)
+#144 := (ite #12 0::int #141)
+#147 := (ite #13 #8 #144)
+#150 := (= #29 #147)
+#153 := (forall (vars (?v0 int) (?v1 int)) #150)
+#169 := (iff #153 #168)
+#166 := (iff #150 #165)
+#163 := (= #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#112 := (iff #68 #111)
+#109 := (iff #65 #108)
+#106 := (iff #18 #105)
+#107 := [rewrite]: #106
+#99 := (iff #16 #98)
+#100 := [rewrite]: #99
+#110 := [monotonicity #100 #107]: #109
+#102 := (iff #17 #101)
+#95 := (iff #15 #94)
+#96 := [rewrite]: #95
+#103 := [monotonicity #96 #100]: #102
+#113 := [monotonicity #103 #110]: #112
+#158 := [monotonicity #113]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [quant-intro #167]: #169
+#154 := (iff #37 #153)
+#151 := (iff #36 #150)
+#148 := (= #35 #147)
+#145 := (= #34 #144)
+#142 := (= #33 #141)
+#139 := (= #32 #136)
+#133 := (- #130)
+#137 := (= #133 #136)
+#138 := [rewrite]: #137
+#134 := (= #32 #133)
+#131 := (= #31 #130)
+#76 := (= #23 #75)
+#77 := [rewrite]: #76
+#73 := (= #22 #72)
+#74 := [rewrite]: #73
+#132 := [monotonicity #74 #77]: #131
+#135 := [monotonicity #132]: #134
+#140 := [trans #135 #138]: #139
+#69 := (iff #20 #68)
+#66 := (iff #19 #65)
+#67 := [rewrite]: #66
+#70 := [monotonicity #67]: #69
+#143 := [monotonicity #70 #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [quant-intro #152]: #154
+#172 := [trans #155 #170]: #171
+#129 := [asserted]: #37
+#173 := [mp #129 #172]: #168
+#227 := [mp~ #173 #217]: #168
+#268 := [mp #227 #267]: #265
+#299 := [mp #268 #298]: #296
+#783 := [mp #299 #782]: #778
+#736 := (not #778)
+#725 := (or #736 #452)
+#357 := (* -1::int 2::int)
+#442 := (mod #441 #357)
+#443 := (+ #42 #442)
+#434 := (= #443 0::int)
+#448 := (<= 2::int 0::int)
+#762 := (or #427 #448)
+#764 := (not #762)
+#551 := (or #448 #421)
+#758 := (not #551)
+#432 := (or #758 #764)
+#433 := (ite #432 #444 #434)
+#767 := (ite #766 #765 #433)
+#768 := (= f5 #42)
+#763 := (= 2::int 0::int)
+#769 := (ite #763 #768 #767)
+#726 := (or #736 #769)
+#722 := (iff #726 #725)
+#728 := (iff #725 #725)
+#729 := [rewrite]: #728
+#735 := (iff #769 #452)
+#455 := (ite false #768 #452)
+#449 := (iff #455 #452)
+#731 := [rewrite]: #449
+#733 := (iff #769 #455)
+#453 := (iff #767 #452)
+#738 := (iff #433 #741)
+#463 := (iff #434 #462)
+#739 := (= #443 #363)
+#468 := (= #442 #467)
+#744 := (= #357 -2::int)
+#466 := [rewrite]: #744
+#469 := [monotonicity #466]: #468
+#740 := [monotonicity #469]: #739
+#737 := [monotonicity #740]: #463
+#754 := (iff #432 #756)
+#395 := (iff #764 #755)
+#390 := (iff #762 #427)
+#749 := (or #427 false)
+#746 := (iff #749 #427)
+#752 := [rewrite]: #746
+#750 := (iff #762 #749)
+#424 := (iff #448 false)
+#760 := [rewrite]: #424
+#751 := [monotonicity #760]: #750
+#753 := [trans #751 #752]: #390
+#396 := [monotonicity #753]: #395
+#747 := (iff #758 #411)
+#409 := (iff #551 #421)
+#420 := (or false #421)
+#745 := (iff #420 #421)
+#408 := [rewrite]: #745
+#761 := (iff #551 #420)
+#404 := [monotonicity #760]: #761
+#410 := [trans #404 #408]: #409
+#748 := [monotonicity #410]: #747
+#757 := [monotonicity #748 #396]: #754
+#742 := [monotonicity #757 #737]: #738
+#454 := [monotonicity #742]: #453
+#759 := (iff #763 false)
+#419 := [rewrite]: #759
+#734 := [monotonicity #419 #454]: #733
+#732 := [trans #734 #731]: #735
+#723 := [monotonicity #732]: #722
+#724 := [trans #723 #729]: #722
+#727 := [quant-inst]: #726
+#730 := [mp #727 #724]: #725
+#665 := [unit-resolution #730 #783]: #452
+#595 := (not #766)
+#594 := (not #452)
+#651 := (or #594 #595)
+#700 := (not #765)
+#666 := (or #700 #202)
+#690 := [th-lemma]: #666
+#684 := [unit-resolution #690 #212]: #700
+#554 := (or #594 #595 #765)
+#702 := [def-axiom]: #554
+#652 := [unit-resolution #702 #684]: #651
+#647 := [unit-resolution #652 #665]: #595
+#604 := (or #594 #766 #741)
+#699 := [def-axiom]: #604
+#653 := [unit-resolution #699 #647 #665]: #741
+#721 := (not #741)
+#550 := (or #721 #717 #444)
+#552 := [def-axiom]: #550
+#635 := [unit-resolution #552 #653]: #639
+#636 := [unit-resolution #635 #664]: #717
+#572 := (or #756 #421)
+#573 := [def-axiom]: #572
+#637 := [unit-resolution #573 #636]: #421
+#715 := (or #756 #427)
+#716 := [def-axiom]: #715
+#640 := [unit-resolution #716 #636]: #427
+#643 := (or #755 #411)
+#641 := (or #766 #755 #411)
+#642 := [th-lemma]: #641
+#638 := [unit-resolution #642 #647]: #643
+[unit-resolution #638 #640 #637]: false
+unsat
+b454cfdd6e83abb6ce89d3619b7a03d74c715ceb 354 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#444 := (<= f5 0::int)
+#760 := (>= f5 0::int)
+#406 := (not #760)
+#749 := (not #444)
+#753 := (or #749 #406)
+#716 := (not #753)
+#39 := 2::int
+#441 := (mod f5 2::int)
+#70 := -1::int
+#442 := (* -1::int #441)
+decl f4 :: (-> int int int)
+#40 := (f4 f5 2::int)
+#370 := (+ #40 #442)
+#443 := (= #370 0::int)
+#589 := (not #443)
+#546 := (<= #370 0::int)
+#649 := (not #546)
+#657 := (>= #441 2::int)
+#658 := (not #657)
+#1 := true
+#61 := [true-axiom]: true
+#645 := (or false #658)
+#646 := [th-lemma]: #645
+#647 := [unit-resolution #646 #61]: #658
+#648 := [hypothesis]: #546
+#200 := (>= #40 2::int)
+#43 := 3::int
+#44 := (+ f5 3::int)
+#41 := (+ #40 #40)
+#42 := (+ f5 #41)
+#45 := (< #42 #44)
+#46 := (not #45)
+#205 := (iff #46 #200)
+#180 := (+ 3::int f5)
+#174 := (* 2::int #40)
+#177 := (+ f5 #174)
+#183 := (< #177 #180)
+#186 := (not #183)
+#203 := (iff #186 #200)
+#192 := (>= #174 3::int)
+#201 := (iff #192 #200)
+#202 := [rewrite]: #201
+#198 := (iff #186 #192)
+#190 := (not #192)
+#193 := (not #190)
+#196 := (iff #193 #192)
+#197 := [rewrite]: #196
+#194 := (iff #186 #193)
+#191 := (iff #183 #190)
+#189 := [rewrite]: #191
+#195 := [monotonicity #189]: #194
+#199 := [trans #195 #197]: #198
+#204 := [trans #199 #202]: #203
+#187 := (iff #46 #186)
+#184 := (iff #45 #183)
+#181 := (= #44 #180)
+#182 := [rewrite]: #181
+#178 := (= #42 #177)
+#175 := (= #41 #174)
+#176 := [rewrite]: #175
+#179 := [monotonicity #176]: #178
+#185 := [monotonicity #179 #182]: #184
+#188 := [monotonicity #185]: #187
+#206 := [trans #188 #204]: #205
+#173 := [asserted]: #46
+#207 := [mp #173 #206]: #200
+#643 := [th-lemma #207 #648 #647]: false
+#635 := [lemma #643]: #649
+#652 := (or #589 #546)
+#663 := [th-lemma]: #652
+#641 := [unit-resolution #663 #635]: #589
+#613 := (or #716 #443)
+#464 := -2::int
+#437 := (* -1::int f5)
+#735 := (mod #437 -2::int)
+#459 := (+ #40 #735)
+#734 := (= #459 0::int)
+#449 := (ite #753 #443 #734)
+#429 := (= #40 0::int)
+#761 := (= f5 0::int)
+#729 := (ite #761 #429 #449)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#773 := (pattern #29)
+#74 := (* -1::int #9)
+#71 := (* -1::int #8)
+#129 := (mod #71 #74)
+#284 := (+ #29 #129)
+#285 := (= #284 0::int)
+#30 := (mod #8 #9)
+#281 := (* -1::int #30)
+#282 := (+ #29 #281)
+#283 := (= #282 0::int)
+#96 := (<= #9 0::int)
+#92 := (<= #8 0::int)
+#223 := (or #92 #96)
+#224 := (not #223)
+#103 := (>= #8 0::int)
+#215 := (or #96 #103)
+#216 := (not #215)
+#230 := (or #216 #224)
+#286 := (ite #230 #283 #285)
+#280 := (= #29 0::int)
+#12 := (= #8 0::int)
+#287 := (ite #12 #280 #286)
+#279 := (= #8 #29)
+#13 := (= #9 0::int)
+#288 := (ite #13 #279 #287)
+#774 := (forall (vars (?v0 int) (?v1 int)) (:pat #773) #288)
+#291 := (forall (vars (?v0 int) (?v1 int)) #288)
+#777 := (iff #291 #774)
+#775 := (iff #288 #288)
+#776 := [refl]: #775
+#778 := [quant-intro #776]: #777
+#135 := (* -1::int #129)
+#248 := (ite #230 #30 #135)
+#251 := (ite #12 0::int #248)
+#254 := (ite #13 #8 #251)
+#257 := (= #29 #254)
+#260 := (forall (vars (?v0 int) (?v1 int)) #257)
+#292 := (iff #260 #291)
+#289 := (iff #257 #288)
+#290 := [rewrite]: #289
+#293 := [quant-intro #290]: #292
+#104 := (not #103)
+#97 := (not #96)
+#107 := (and #97 #104)
+#93 := (not #92)
+#100 := (and #93 #97)
+#110 := (or #100 #107)
+#155 := (ite #110 #30 #135)
+#158 := (ite #12 0::int #155)
+#161 := (ite #13 #8 #158)
+#164 := (= #29 #161)
+#167 := (forall (vars (?v0 int) (?v1 int)) #164)
+#261 := (iff #167 #260)
+#258 := (iff #164 #257)
+#255 := (= #161 #254)
+#252 := (= #158 #251)
+#249 := (= #155 #248)
+#233 := (iff #110 #230)
+#227 := (or #224 #216)
+#231 := (iff #227 #230)
+#232 := [rewrite]: #231
+#228 := (iff #110 #227)
+#225 := (iff #107 #216)
+#226 := [rewrite]: #225
+#213 := (iff #100 #224)
+#214 := [rewrite]: #213
+#229 := [monotonicity #214 #226]: #228
+#234 := [trans #229 #232]: #233
+#250 := [monotonicity #234]: #249
+#253 := [monotonicity #250]: #252
+#256 := [monotonicity #253]: #255
+#259 := [monotonicity #256]: #258
+#262 := [quant-intro #259]: #261
+#211 := (~ #167 #167)
+#208 := (~ #164 #164)
+#221 := [refl]: #208
+#212 := [nnf-pos #221]: #211
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#170 := (iff #37 #167)
+#64 := (and #16 #18)
+#67 := (or #17 #64)
+#140 := (ite #67 #30 #135)
+#143 := (ite #12 0::int #140)
+#146 := (ite #13 #8 #143)
+#149 := (= #29 #146)
+#152 := (forall (vars (?v0 int) (?v1 int)) #149)
+#168 := (iff #152 #167)
+#165 := (iff #149 #164)
+#162 := (= #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#111 := (iff #67 #110)
+#108 := (iff #64 #107)
+#105 := (iff #18 #104)
+#106 := [rewrite]: #105
+#98 := (iff #16 #97)
+#99 := [rewrite]: #98
+#109 := [monotonicity #99 #106]: #108
+#101 := (iff #17 #100)
+#94 := (iff #15 #93)
+#95 := [rewrite]: #94
+#102 := [monotonicity #95 #99]: #101
+#112 := [monotonicity #102 #109]: #111
+#157 := [monotonicity #112]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#153 := (iff #37 #152)
+#150 := (iff #36 #149)
+#147 := (= #35 #146)
+#144 := (= #34 #143)
+#141 := (= #33 #140)
+#138 := (= #32 #135)
+#132 := (- #129)
+#136 := (= #132 #135)
+#137 := [rewrite]: #136
+#133 := (= #32 #132)
+#130 := (= #31 #129)
+#75 := (= #23 #74)
+#76 := [rewrite]: #75
+#72 := (= #22 #71)
+#73 := [rewrite]: #72
+#131 := [monotonicity #73 #76]: #130
+#134 := [monotonicity #131]: #133
+#139 := [trans #134 #137]: #138
+#68 := (iff #20 #67)
+#65 := (iff #19 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#142 := [monotonicity #69 #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [quant-intro #151]: #153
+#171 := [trans #154 #169]: #170
+#128 := [asserted]: #37
+#172 := [mp #128 #171]: #167
+#222 := [mp~ #172 #212]: #167
+#263 := [mp #222 #262]: #260
+#294 := [mp #263 #293]: #291
+#779 := [mp #294 #778]: #774
+#718 := (not #774)
+#719 := (or #718 #729)
+#352 := (* -1::int 2::int)
+#438 := (mod #437 #352)
+#439 := (+ #40 #438)
+#430 := (= #439 0::int)
+#440 := (<= 2::int 0::int)
+#423 := (or #444 #440)
+#758 := (not #423)
+#417 := (or #440 #760)
+#547 := (not #417)
+#754 := (or #547 #758)
+#428 := (ite #754 #443 #430)
+#762 := (ite #761 #429 #428)
+#763 := (= f5 #40)
+#764 := (= 2::int 0::int)
+#759 := (ite #764 #763 #762)
+#724 := (or #718 #759)
+#720 := (iff #724 #719)
+#567 := (iff #719 #719)
+#568 := [rewrite]: #567
+#722 := (iff #759 #729)
+#727 := (ite false #763 #729)
+#732 := (iff #727 #729)
+#721 := [rewrite]: #732
+#731 := (iff #759 #727)
+#730 := (iff #762 #729)
+#450 := (iff #428 #449)
+#738 := (iff #430 #734)
+#733 := (= #439 #459)
+#736 := (= #438 #735)
+#465 := (= #352 -2::int)
+#358 := [rewrite]: #465
+#458 := [monotonicity #358]: #736
+#737 := [monotonicity #458]: #733
+#448 := [monotonicity #737]: #738
+#462 := (iff #754 #753)
+#392 := (or #406 #749)
+#739 := (iff #392 #753)
+#740 := [rewrite]: #739
+#752 := (iff #754 #392)
+#751 := (iff #758 #749)
+#748 := (iff #423 #444)
+#744 := (or #444 false)
+#747 := (iff #744 #444)
+#742 := [rewrite]: #747
+#745 := (iff #423 #744)
+#415 := (iff #440 false)
+#420 := [rewrite]: #415
+#746 := [monotonicity #420]: #745
+#386 := [trans #746 #742]: #748
+#391 := [monotonicity #386]: #751
+#407 := (iff #547 #406)
+#404 := (iff #417 #760)
+#756 := (or false #760)
+#400 := (iff #756 #760)
+#741 := [rewrite]: #400
+#416 := (iff #417 #756)
+#757 := [monotonicity #420]: #416
+#405 := [trans #757 #741]: #404
+#743 := [monotonicity #405]: #407
+#750 := [monotonicity #743 #391]: #752
+#463 := [trans #750 #740]: #462
+#451 := [monotonicity #463 #448]: #450
+#445 := [monotonicity #451]: #730
+#765 := (iff #764 false)
+#755 := [rewrite]: #765
+#728 := [monotonicity #755 #445]: #731
+#723 := [trans #728 #721]: #722
+#726 := [monotonicity #723]: #720
+#569 := [trans #726 #568]: #720
+#725 := [quant-inst]: #724
+#711 := [mp #725 #569]: #719
+#642 := [unit-resolution #711 #779]: #729
+#696 := (not #761)
+#695 := (not #729)
+#638 := (or #695 #696)
+#602 := (not #429)
+#712 := (<= #40 0::int)
+#644 := (not #712)
+#674 := (not #200)
+#675 := (or #644 #674)
+#631 := [th-lemma]: #675
+#632 := [unit-resolution #631 #207]: #644
+#633 := (or #602 #712)
+#636 := [th-lemma]: #633
+#637 := [unit-resolution #636 #632]: #602
+#699 := (or #695 #696 #429)
+#584 := [def-axiom]: #699
+#639 := [unit-resolution #584 #637]: #638
+#634 := [unit-resolution #639 #642]: #696
+#599 := (or #695 #761 #449)
+#601 := [def-axiom]: #599
+#640 := [unit-resolution #601 #634 #642]: #449
+#703 := (not #449)
+#705 := (or #703 #716 #443)
+#706 := [def-axiom]: #705
+#614 := [unit-resolution #706 #640]: #613
+#615 := [unit-resolution #614 #641]: #716
+#714 := (or #753 #444)
+#708 := [def-axiom]: #714
+#508 := [unit-resolution #708 #615]: #444
+#709 := (or #753 #760)
+#715 := [def-axiom]: #709
+#619 := [unit-resolution #715 #615]: #760
+#620 := (or #761 #749 #406)
+#621 := [th-lemma]: #620
+#626 := [unit-resolution #621 #634]: #753
+[unit-resolution #626 #619 #508]: false
+unsat
+0e48ace6bba696247bebe6478869416df8f68a25 943 0
+#2 := false
+#49 := 1::int
+decl f4 :: (-> int int int)
+#41 := 2::int
+decl f6 :: int
+#39 := f6
+#51 := (f4 f6 2::int)
+#407 := (>= #51 1::int)
+#11 := 0::int
+#561 := (mod f6 2::int)
+#78 := -1::int
+#562 := (* -1::int #561)
+#563 := (+ #51 #562)
+#474 := (>= #563 0::int)
+#564 := (= #563 0::int)
+decl f5 :: int
+#38 := f5
+#40 := (+ f5 f6)
+#765 := (= #40 0::int)
+#605 := (not #765)
+#421 := (<= #40 0::int)
+#751 := (not #421)
+#448 := (>= #40 0::int)
+#405 := (<= #51 1::int)
+#952 := (>= #561 2::int)
+#953 := (not #952)
+#1235 := [hypothesis]: #952
+#1 := true
+#69 := [true-axiom]: true
+#1236 := (or false #953)
+#1237 := [th-lemma]: #1236
+#1238 := [unit-resolution #1237 #69 #1235]: false
+#1239 := [lemma #1238]: #953
+#473 := (<= #563 0::int)
+#757 := (not #448)
+#855 := [hypothesis]: #757
+#428 := (or #605 #448)
+#430 := [th-lemma]: #428
+#431 := [unit-resolution #430 #855]: #605
+#1181 := (or #564 #765)
+#650 := -4::int
+#469 := (* -1::int f5)
+#647 := (mod #469 -4::int)
+#44 := 4::int
+#45 := (f4 f5 4::int)
+#635 := (+ #45 #647)
+#640 := (= #635 0::int)
+#683 := (mod f5 4::int)
+#685 := (* -1::int #683)
+#695 := (+ #45 #685)
+#696 := (= #695 0::int)
+#697 := (>= f5 0::int)
+#656 := (not #697)
+#688 := (<= f5 0::int)
+#657 := (not #688)
+#646 := (or #657 #656)
+#643 := (ite #646 #696 #640)
+#676 := (= f5 0::int)
+#577 := (not #676)
+#675 := (= #45 0::int)
+#582 := (not #675)
+#46 := 3::int
+#1034 := (= 3::int 0::int)
+#1036 := (iff #1034 false)
+#1037 := [rewrite]: #1036
+#1031 := [hypothesis]: #675
+#1032 := (= 3::int #45)
+#47 := (= #45 3::int)
+#187 := [asserted]: #47
+#1033 := [symm #187]: #1032
+#1035 := [trans #1033 #1031]: #1034
+#1038 := [mp #1035 #1037]: false
+#1039 := [lemma #1038]: #582
+#1053 := (or #577 #675)
+#617 := (ite #676 #675 #643)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#777 := (pattern #29)
+#82 := (* -1::int #9)
+#79 := (* -1::int #8)
+#137 := (mod #79 #82)
+#289 := (+ #29 #137)
+#290 := (= #289 0::int)
+#30 := (mod #8 #9)
+#286 := (* -1::int #30)
+#287 := (+ #29 #286)
+#288 := (= #287 0::int)
+#111 := (>= #8 0::int)
+#104 := (<= #9 0::int)
+#219 := (or #104 #111)
+#220 := (not #219)
+#100 := (<= #8 0::int)
+#206 := (or #100 #104)
+#204 := (not #206)
+#223 := (or #204 #220)
+#291 := (ite #223 #288 #290)
+#285 := (= #29 0::int)
+#12 := (= #8 0::int)
+#292 := (ite #12 #285 #291)
+#284 := (= #8 #29)
+#13 := (= #9 0::int)
+#293 := (ite #13 #284 #292)
+#778 := (forall (vars (?v0 int) (?v1 int)) (:pat #777) #293)
+#296 := (forall (vars (?v0 int) (?v1 int)) #293)
+#781 := (iff #296 #778)
+#779 := (iff #293 #293)
+#780 := [refl]: #779
+#782 := [quant-intro #780]: #781
+#143 := (* -1::int #137)
+#239 := (ite #223 #30 #143)
+#242 := (ite #12 0::int #239)
+#245 := (ite #13 #8 #242)
+#248 := (= #29 #245)
+#251 := (forall (vars (?v0 int) (?v1 int)) #248)
+#297 := (iff #251 #296)
+#294 := (iff #248 #293)
+#295 := [rewrite]: #294
+#298 := [quant-intro #295]: #297
+#112 := (not #111)
+#105 := (not #104)
+#115 := (and #105 #112)
+#101 := (not #100)
+#108 := (and #101 #105)
+#118 := (or #108 #115)
+#163 := (ite #118 #30 #143)
+#166 := (ite #12 0::int #163)
+#169 := (ite #13 #8 #166)
+#172 := (= #29 #169)
+#175 := (forall (vars (?v0 int) (?v1 int)) #172)
+#252 := (iff #175 #251)
+#249 := (iff #172 #248)
+#246 := (= #169 #245)
+#243 := (= #166 #242)
+#240 := (= #163 #239)
+#224 := (iff #118 #223)
+#221 := (iff #115 #220)
+#222 := [rewrite]: #221
+#217 := (iff #108 #204)
+#218 := [rewrite]: #217
+#225 := [monotonicity #218 #222]: #224
+#241 := [monotonicity #225]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [quant-intro #250]: #252
+#212 := (~ #175 #175)
+#214 := (~ #172 #172)
+#211 := [refl]: #214
+#207 := [nnf-pos #211]: #212
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#178 := (iff #37 #175)
+#72 := (and #16 #18)
+#75 := (or #17 #72)
+#148 := (ite #75 #30 #143)
+#151 := (ite #12 0::int #148)
+#154 := (ite #13 #8 #151)
+#157 := (= #29 #154)
+#160 := (forall (vars (?v0 int) (?v1 int)) #157)
+#176 := (iff #160 #175)
+#173 := (iff #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#164 := (= #148 #163)
+#119 := (iff #75 #118)
+#116 := (iff #72 #115)
+#113 := (iff #18 #112)
+#114 := [rewrite]: #113
+#106 := (iff #16 #105)
+#107 := [rewrite]: #106
+#117 := [monotonicity #107 #114]: #116
+#109 := (iff #17 #108)
+#102 := (iff #15 #101)
+#103 := [rewrite]: #102
+#110 := [monotonicity #103 #107]: #109
+#120 := [monotonicity #110 #117]: #119
+#165 := [monotonicity #120]: #164
+#168 := [monotonicity #165]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [quant-intro #174]: #176
+#161 := (iff #37 #160)
+#158 := (iff #36 #157)
+#155 := (= #35 #154)
+#152 := (= #34 #151)
+#149 := (= #33 #148)
+#146 := (= #32 #143)
+#140 := (- #137)
+#144 := (= #140 #143)
+#145 := [rewrite]: #144
+#141 := (= #32 #140)
+#138 := (= #31 #137)
+#83 := (= #23 #82)
+#84 := [rewrite]: #83
+#80 := (= #22 #79)
+#81 := [rewrite]: #80
+#139 := [monotonicity #81 #84]: #138
+#142 := [monotonicity #139]: #141
+#147 := [trans #142 #145]: #146
+#76 := (iff #20 #75)
+#73 := (iff #19 #72)
+#74 := [rewrite]: #73
+#77 := [monotonicity #74]: #76
+#150 := [monotonicity #77 #147]: #149
+#153 := [monotonicity #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [quant-intro #159]: #161
+#179 := [trans #162 #177]: #178
+#136 := [asserted]: #37
+#180 := [mp #136 #179]: #175
+#208 := [mp~ #180 #207]: #175
+#254 := [mp #208 #253]: #251
+#299 := [mp #254 #298]: #296
+#783 := [mp #299 #782]: #778
+#571 := (not #778)
+#628 := (or #571 #617)
+#705 := (* -1::int 4::int)
+#692 := (mod #469 #705)
+#694 := (+ #45 #692)
+#686 := (= #694 0::int)
+#693 := (<= 4::int 0::int)
+#698 := (or #693 #697)
+#687 := (not #698)
+#689 := (or #688 #693)
+#690 := (not #689)
+#684 := (or #690 #687)
+#691 := (ite #684 #696 #686)
+#678 := (ite #676 #675 #691)
+#679 := (= f5 #45)
+#680 := (= 4::int 0::int)
+#681 := (ite #680 #679 #678)
+#631 := (or #571 #681)
+#633 := (iff #631 #628)
+#634 := (iff #628 #628)
+#614 := [rewrite]: #634
+#626 := (iff #681 #617)
+#512 := (ite false #679 #617)
+#625 := (iff #512 #617)
+#630 := [rewrite]: #625
+#623 := (iff #681 #512)
+#618 := (iff #678 #617)
+#638 := (iff #691 #643)
+#641 := (iff #686 #640)
+#636 := (= #694 #635)
+#653 := (= #692 #647)
+#651 := (= #705 -4::int)
+#652 := [rewrite]: #651
+#639 := [monotonicity #652]: #653
+#637 := [monotonicity #639]: #636
+#642 := [monotonicity #637]: #641
+#648 := (iff #684 #646)
+#667 := (iff #687 #656)
+#665 := (iff #698 #697)
+#660 := (or false #697)
+#663 := (iff #660 #697)
+#664 := [rewrite]: #663
+#661 := (iff #698 #660)
+#668 := (iff #693 false)
+#669 := [rewrite]: #668
+#662 := [monotonicity #669]: #661
+#666 := [trans #662 #664]: #665
+#645 := [monotonicity #666]: #667
+#658 := (iff #690 #657)
+#654 := (iff #689 #688)
+#671 := (or #688 false)
+#670 := (iff #671 #688)
+#674 := [rewrite]: #670
+#672 := (iff #689 #671)
+#673 := [monotonicity #669]: #672
+#655 := [trans #673 #674]: #654
+#659 := [monotonicity #655]: #658
+#649 := [monotonicity #659 #645]: #648
+#644 := [monotonicity #649 #642]: #638
+#619 := [monotonicity #644]: #618
+#677 := (iff #680 false)
+#682 := [rewrite]: #677
+#624 := [monotonicity #682 #619]: #623
+#627 := [trans #624 #630]: #626
+#629 := [monotonicity #627]: #633
+#560 := [trans #629 #614]: #633
+#632 := [quant-inst]: #631
+#615 := [mp #632 #560]: #628
+#1052 := [unit-resolution #615 #783]: #617
+#576 := (not #617)
+#578 := (or #576 #577 #675)
+#579 := [def-axiom]: #578
+#1054 := [unit-resolution #579 #1052]: #1053
+#1055 := [unit-resolution #1054 #1039]: #577
+#1056 := (or #676 #643)
+#580 := (or #576 #676 #643)
+#581 := [def-axiom]: #580
+#1057 := [unit-resolution #581 #1052]: #1056
+#1058 := [unit-resolution #1057 #1055]: #643
+#598 := (not #643)
+#943 := (or #564 #598 #765)
+#556 := (<= #695 0::int)
+#853 := [hypothesis]: #643
+#567 := (<= f6 0::int)
+#543 := (= f6 0::int)
+#460 := (not #564)
+#826 := [hypothesis]: #460
+#824 := (or #543 #564)
+#463 := -2::int
+#363 := (* -1::int f6)
+#508 := (mod #363 -2::int)
+#510 := (+ #51 #508)
+#495 := (= #510 0::int)
+#533 := (not #567)
+#565 := (>= f6 0::int)
+#513 := (not #565)
+#523 := (or #513 #533)
+#498 := (ite #523 #564 #495)
+#542 := (= #51 0::int)
+#501 := (ite #543 #542 #498)
+#487 := (or #571 #501)
+#357 := (* -1::int 2::int)
+#557 := (mod #363 #357)
+#558 := (+ #51 #557)
+#559 := (= #558 0::int)
+#427 := (<= 2::int 0::int)
+#566 := (or #427 #565)
+#549 := (not #566)
+#537 := (or #567 #427)
+#538 := (not #537)
+#539 := (or #538 #549)
+#540 := (ite #539 #564 #559)
+#544 := (ite #543 #542 #540)
+#387 := (= f6 #51)
+#768 := (= 2::int 0::int)
+#545 := (ite #768 #387 #544)
+#488 := (or #571 #545)
+#490 := (iff #488 #487)
+#491 := (iff #487 #487)
+#476 := [rewrite]: #491
+#485 := (iff #545 #501)
+#504 := (ite false #387 #501)
+#482 := (iff #504 #501)
+#484 := [rewrite]: #482
+#493 := (iff #545 #504)
+#502 := (iff #544 #501)
+#499 := (iff #540 #498)
+#496 := (iff #559 #495)
+#492 := (= #558 #510)
+#509 := (= #557 #508)
+#737 := (= #357 -2::int)
+#741 := [rewrite]: #737
+#507 := [monotonicity #741]: #509
+#494 := [monotonicity #507]: #492
+#497 := [monotonicity #494]: #496
+#520 := (iff #539 #523)
+#518 := (or #533 #513)
+#516 := (iff #518 #523)
+#519 := [rewrite]: #516
+#522 := (iff #539 #518)
+#514 := (iff #549 #513)
+#521 := (iff #566 #565)
+#527 := (or false #565)
+#526 := (iff #527 #565)
+#531 := [rewrite]: #526
+#529 := (iff #566 #527)
+#745 := (iff #427 false)
+#408 := [rewrite]: #745
+#530 := [monotonicity #408]: #529
+#511 := [trans #530 #531]: #521
+#517 := [monotonicity #511]: #514
+#536 := (iff #538 #533)
+#534 := (iff #537 #567)
+#541 := (or #567 false)
+#528 := (iff #541 #567)
+#532 := [rewrite]: #528
+#546 := (iff #537 #541)
+#525 := [monotonicity #408]: #546
+#535 := [trans #525 #532]: #534
+#524 := [monotonicity #535]: #536
+#515 := [monotonicity #524 #517]: #522
+#506 := [trans #515 #519]: #520
+#500 := [monotonicity #506 #497]: #499
+#503 := [monotonicity #500]: #502
+#769 := (iff #768 false)
+#759 := [rewrite]: #769
+#505 := [monotonicity #759 #503]: #493
+#486 := [trans #505 #484]: #485
+#483 := [monotonicity #486]: #490
+#477 := [trans #483 #476]: #490
+#489 := [quant-inst]: #488
+#478 := [mp #489 #477]: #487
+#829 := [unit-resolution #478 #783]: #501
+#435 := (not #543)
+#370 := [hypothesis]: #435
+#422 := (not #501)
+#438 := (or #422 #543 #498)
+#439 := [def-axiom]: #438
+#366 := [unit-resolution #439 #370 #829]: #498
+#835 := (or #565 #564)
+#827 := [hypothesis]: #513
+#480 := (or #523 #565)
+#479 := [def-axiom]: #480
+#828 := [unit-resolution #479 #827]: #523
+#830 := (or #435 #565)
+#831 := [th-lemma]: #830
+#832 := [unit-resolution #831 #827]: #435
+#833 := [unit-resolution #439 #832 #829]: #498
+#471 := (not #523)
+#456 := (not #498)
+#457 := (or #456 #471 #564)
+#458 := [def-axiom]: #457
+#834 := [unit-resolution #458 #833 #828 #826]: false
+#836 := [lemma #834]: #835
+#371 := [unit-resolution #836 #826]: #565
+#358 := (or #543 #533 #513)
+#360 := [th-lemma]: #358
+#821 := [unit-resolution #360 #370 #371]: #533
+#481 := (or #523 #567)
+#470 := [def-axiom]: #481
+#822 := [unit-resolution #470 #821]: #523
+#823 := [unit-resolution #458 #822 #366 #826]: false
+#825 := [lemma #823]: #824
+#852 := [unit-resolution #825 #826]: #543
+#913 := (or #435 #567)
+#914 := [th-lemma]: #913
+#915 := [unit-resolution #914 #852]: #567
+#916 := [hypothesis]: #605
+#739 := (+ #469 #363)
+#738 := (mod #739 -2::int)
+#42 := (f4 #40 2::int)
+#453 := (+ #42 #738)
+#733 := (= #453 0::int)
+#445 := (mod #40 2::int)
+#446 := (* -1::int #445)
+#447 := (+ #42 #446)
+#444 := (= #447 0::int)
+#466 := (or #751 #757)
+#731 := (ite #466 #444 #733)
+#918 := (or #765 #731)
+#43 := (= #42 0::int)
+#736 := (ite #765 #43 #731)
+#572 := (or #571 #736)
+#441 := (* -1::int #40)
+#442 := (mod #441 #357)
+#443 := (+ #42 #442)
+#434 := (= #443 0::int)
+#762 := (or #427 #448)
+#764 := (not #762)
+#551 := (or #421 #427)
+#758 := (not #551)
+#432 := (or #758 #764)
+#433 := (ite #432 #444 #434)
+#766 := (ite #765 #43 #433)
+#767 := (= #40 #42)
+#763 := (ite #768 #767 #766)
+#573 := (or #571 #763)
+#716 := (iff #573 #572)
+#718 := (iff #572 #572)
+#712 := [rewrite]: #718
+#724 := (iff #763 #736)
+#419 := (* -1::int #42)
+#424 := (+ f6 #419)
+#760 := (+ f5 #424)
+#420 := (= #760 0::int)
+#727 := (ite false #420 #736)
+#728 := (iff #727 #736)
+#729 := [rewrite]: #728
+#722 := (iff #763 #727)
+#725 := (iff #766 #736)
+#735 := (iff #433 #731)
+#734 := (iff #434 #733)
+#454 := (= #443 #453)
+#742 := (= #442 #738)
+#740 := (= #441 #739)
+#462 := [rewrite]: #740
+#452 := [monotonicity #462 #741]: #742
+#455 := [monotonicity #452]: #454
+#449 := [monotonicity #455]: #734
+#467 := (iff #432 #466)
+#743 := (iff #764 #757)
+#756 := (iff #762 #448)
+#390 := (or false #448)
+#395 := (iff #390 #448)
+#396 := [rewrite]: #395
+#753 := (iff #762 #390)
+#755 := [monotonicity #408]: #753
+#754 := [trans #755 #396]: #756
+#744 := [monotonicity #754]: #743
+#746 := (iff #758 #751)
+#749 := (iff #551 #421)
+#409 := (or #421 false)
+#747 := (iff #409 #421)
+#748 := [rewrite]: #747
+#410 := (iff #551 #409)
+#411 := [monotonicity #408]: #410
+#750 := [trans #411 #748]: #749
+#752 := [monotonicity #750]: #746
+#468 := [monotonicity #752 #744]: #467
+#732 := [monotonicity #468 #449]: #735
+#726 := [monotonicity #732]: #725
+#761 := (iff #767 #420)
+#404 := [rewrite]: #761
+#723 := [monotonicity #759 #404 #726]: #722
+#730 := [trans #723 #729]: #724
+#717 := [monotonicity #730]: #716
+#713 := [trans #717 #712]: #716
+#715 := [quant-inst]: #573
+#719 := [mp #715 #713]: #572
+#917 := [unit-resolution #719 #783]: #736
+#603 := (not #736)
+#607 := (or #603 #765 #731)
+#608 := [def-axiom]: #607
+#919 := [unit-resolution #608 #917]: #918
+#920 := [unit-resolution #919 #916]: #731
+#711 := (not #731)
+#911 := (or #448 #513 #533 #598 #711)
+#854 := [hypothesis]: #565
+#856 := (or #513 #656 #448)
+#857 := [th-lemma]: #856
+#858 := [unit-resolution #857 #855 #854]: #656
+#621 := (or #646 #697)
+#616 := [def-axiom]: #621
+#859 := [unit-resolution #616 #858]: #646
+#622 := (not #646)
+#600 := (or #598 #622 #696)
+#601 := [def-axiom]: #600
+#860 := [unit-resolution #601 #859 #853]: #696
+#592 := (not #696)
+#861 := (or #592 #556)
+#862 := [th-lemma]: #861
+#863 := [unit-resolution #862 #860]: #556
+#587 := (>= #695 0::int)
+#864 := (or #592 #587)
+#865 := [th-lemma]: #864
+#866 := [unit-resolution #865 #860]: #587
+#548 := (<= #45 3::int)
+#867 := (not #47)
+#868 := (or #867 #548)
+#869 := [th-lemma]: #868
+#870 := [unit-resolution #869 #187]: #548
+#555 := (>= #45 3::int)
+#871 := (or #867 #555)
+#872 := [th-lemma]: #871
+#873 := [unit-resolution #872 #187]: #555
+#874 := [hypothesis]: #567
+#361 := (div f5 4::int)
+#791 := (* -4::int #361)
+#792 := (+ #791 #685)
+#793 := (+ f5 #792)
+#845 := (<= #793 0::int)
+#790 := (= #793 0::int)
+#875 := (or false #790)
+#876 := [th-lemma]: #875
+#877 := [unit-resolution #876 #69]: #790
+#878 := (not #790)
+#879 := (or #878 #845)
+#880 := [th-lemma]: #879
+#881 := [unit-resolution #880 #877]: #845
+#846 := (>= #793 0::int)
+#882 := (or #878 #846)
+#883 := [th-lemma]: #882
+#884 := [unit-resolution #883 #877]: #846
+#707 := (<= #447 0::int)
+#885 := [hypothesis]: #731
+#721 := (or #466 #448)
+#550 := [def-axiom]: #721
+#886 := [unit-resolution #550 #855]: #466
+#552 := (not #466)
+#593 := (or #711 #552 #444)
+#594 := [def-axiom]: #593
+#887 := [unit-resolution #594 #886 #885]: #444
+#702 := (not #444)
+#888 := (or #702 #707)
+#889 := [th-lemma]: #888
+#890 := [unit-resolution #889 #887]: #707
+#709 := (>= #447 0::int)
+#891 := (or #702 #709)
+#892 := [th-lemma]: #891
+#893 := [unit-resolution #892 #887]: #709
+#586 := (<= #42 0::int)
+#181 := [asserted]: #43
+#609 := (not #43)
+#894 := (or #609 #586)
+#895 := [th-lemma]: #894
+#896 := [unit-resolution #895 #181]: #586
+#547 := (>= #42 0::int)
+#897 := (or #609 #547)
+#898 := [th-lemma]: #897
+#899 := [unit-resolution #898 #181]: #547
+#412 := (div #40 2::int)
+#400 := (* -2::int #412)
+#403 := (+ #400 #446)
+#391 := (+ f6 #403)
+#393 := (+ f5 #391)
+#838 := (<= #393 0::int)
+#401 := (= #393 0::int)
+#900 := (or false #401)
+#901 := [th-lemma]: #900
+#902 := [unit-resolution #901 #69]: #401
+#903 := (not #401)
+#904 := (or #903 #838)
+#905 := [th-lemma]: #904
+#906 := [unit-resolution #905 #902]: #838
+#839 := (>= #393 0::int)
+#907 := (or #903 #839)
+#908 := [th-lemma]: #907
+#909 := [unit-resolution #908 #902]: #839
+#910 := [th-lemma #909 #906 #899 #896 #893 #890 #884 #881 #854 #874 #873 #870 #866 #863]: false
+#912 := [lemma #910]: #911
+#927 := [unit-resolution #912 #371 #915 #853 #920]: #448
+#928 := (or #765 #751 #757)
+#929 := [th-lemma]: #928
+#930 := [unit-resolution #929 #927 #916]: #751
+#931 := (or #657 #533 #421)
+#932 := [th-lemma]: #931
+#933 := [unit-resolution #932 #930 #915]: #657
+#596 := (or #646 #688)
+#620 := [def-axiom]: #596
+#934 := [unit-resolution #620 #933]: #646
+#935 := [unit-resolution #601 #934 #853]: #696
+#936 := [unit-resolution #862 #935]: #556
+#937 := [unit-resolution #865 #935]: #587
+#720 := (or #466 #421)
+#714 := [def-axiom]: #720
+#938 := [unit-resolution #714 #930]: #466
+#939 := [unit-resolution #594 #938 #920]: #444
+#940 := [unit-resolution #889 #939]: #707
+#941 := [unit-resolution #892 #939]: #709
+#942 := [th-lemma #909 #906 #899 #896 #941 #940 #873 #870 #884 #881 #371 #915 #937 #936]: false
+#944 := [lemma #942]: #943
+#1182 := [unit-resolution #944 #1058]: #1181
+#1183 := [unit-resolution #1182 #431]: #564
+#1184 := (or #460 #473)
+#1185 := [th-lemma]: #1184
+#1123 := [unit-resolution #1185 #1183]: #473
+#1125 := (not #473)
+#1126 := (or #405 #952 #1125)
+#1107 := [th-lemma]: #1126
+#1234 := [unit-resolution #1107 #1123 #1239]: #405
+#429 := (or #448 #444)
+#461 := [hypothesis]: #702
+#436 := [unit-resolution #919 #431]: #731
+#437 := [unit-resolution #594 #436 #886 #461]: false
+#440 := [lemma #437]: #429
+#1240 := [unit-resolution #440 #855]: #444
+#1241 := (or #460 #474)
+#1242 := [th-lemma]: #1241
+#1243 := [unit-resolution #1242 #1183]: #474
+#1027 := (not #474)
+#1244 := (or #702 #407 #1027)
+#975 := (or #646 #676)
+#968 := [hypothesis]: #577
+#969 := [hypothesis]: #622
+#970 := [unit-resolution #620 #969]: #688
+#971 := [unit-resolution #616 #969]: #697
+#972 := (or #676 #657 #656)
+#973 := [th-lemma]: #972
+#974 := [unit-resolution #973 #971 #970 #968]: false
+#976 := [lemma #974]: #975
+#1059 := [unit-resolution #976 #1055]: #646
+#1060 := [unit-resolution #601 #1059 #1058]: #696
+#1061 := [unit-resolution #865 #1060]: #587
+#1108 := [unit-resolution #862 #1060]: #556
+#1003 := (not #556)
+#1026 := (not #587)
+#1028 := (or #702 #1026 #407 #1027 #1003)
+#840 := (div f6 2::int)
+#1006 := (* -1::int #840)
+#1007 := (+ #685 #1006)
+#1008 := (+ #562 #1007)
+#1009 := (+ #446 #1008)
+#987 := (* -1::int #412)
+#1010 := (+ #987 #1009)
+#1005 := (* -2::int #361)
+#1011 := (+ #1005 #1010)
+#1012 := (+ #45 #1011)
+#1013 := (+ #42 #1012)
+#1014 := (+ f6 #1013)
+#1015 := (+ f5 #1014)
+#1016 := (>= #1015 2::int)
+#1002 := (not #1016)
+#999 := [hypothesis]: #556
+#982 := [hypothesis]: #444
+#988 := [unit-resolution #889 #982]: #707
+#1004 := (not #707)
+#1017 := (or #1002 #1003 #1004)
+#946 := (>= #561 0::int)
+#984 := (or false #946)
+#985 := [th-lemma]: #984
+#986 := [unit-resolution #985 #69]: #946
+#991 := [hypothesis]: #707
+#797 := (* -2::int #840)
+#837 := (+ #562 #797)
+#921 := (+ f6 #837)
+#963 := (<= #921 0::int)
+#796 := (= #921 0::int)
+#992 := (or false #796)
+#993 := [th-lemma]: #992
+#994 := [unit-resolution #993 #69]: #796
+#995 := (not #796)
+#996 := (or #995 #963)
+#997 := [th-lemma]: #996
+#998 := [unit-resolution #997 #994]: #963
+#1000 := [hypothesis]: #1016
+#1001 := [th-lemma #896 #870 #1000 #881 #999 #998 #991 #906 #986]: false
+#1018 := [lemma #1001]: #1017
+#989 := [unit-resolution #1018 #988 #999]: #1002
+#990 := [unit-resolution #892 #982]: #709
+#983 := [hypothesis]: #474
+#1019 := (not #407)
+#1020 := [hypothesis]: #1019
+#964 := (>= #921 0::int)
+#1021 := (or #995 #964)
+#1022 := [th-lemma]: #1021
+#1023 := [unit-resolution #1022 #994]: #964
+#1024 := [hypothesis]: #587
+#1025 := [th-lemma #899 #873 #884 #1024 #1023 #1020 #983 #990 #909 #989]: false
+#1029 := [lemma #1025]: #1028
+#1245 := [unit-resolution #1029 #1108 #1061]: #1244
+#1246 := [unit-resolution #1245 #1243 #1240]: #407
+#1248 := (not #405)
+#1251 := (or #1248 #1019)
+#52 := (= #51 1::int)
+#256 := (not #52)
+#48 := (f4 f5 2::int)
+#50 := (= #48 1::int)
+#962 := (mod f5 2::int)
+#965 := (* -1::int #962)
+#966 := (+ #48 #965)
+#1105 := (<= #966 0::int)
+#967 := (= #966 0::int)
+#1074 := (mod #469 -2::int)
+#1077 := (+ #48 #1074)
+#1080 := (= #1077 0::int)
+#1083 := (ite #646 #967 #1080)
+#1042 := (= #48 0::int)
+#1086 := (ite #676 #1042 #1083)
+#1114 := (or #571 #1086)
+#426 := (mod #469 #357)
+#958 := (+ #48 #426)
+#961 := (= #958 0::int)
+#926 := (or #427 #697)
+#945 := (not #926)
+#465 := (or #688 #427)
+#475 := (not #465)
+#1040 := (or #475 #945)
+#1041 := (ite #1040 #967 #961)
+#1043 := (ite #676 #1042 #1041)
+#1044 := (= f5 #48)
+#1045 := (ite #768 #1044 #1043)
+#1115 := (or #571 #1045)
+#1117 := (iff #1115 #1114)
+#1119 := (iff #1114 #1114)
+#1120 := [rewrite]: #1119
+#1094 := (iff #1045 #1086)
+#1089 := (ite false #1044 #1086)
+#1092 := (iff #1089 #1086)
+#1093 := [rewrite]: #1092
+#1090 := (iff #1045 #1089)
+#1087 := (iff #1043 #1086)
+#1084 := (iff #1041 #1083)
+#1081 := (iff #961 #1080)
+#1078 := (= #958 #1077)
+#1075 := (= #426 #1074)
+#1076 := [monotonicity #741]: #1075
+#1079 := [monotonicity #1076]: #1078
+#1082 := [monotonicity #1079]: #1081
+#1072 := (iff #1040 #646)
+#1070 := (iff #945 #656)
+#1068 := (iff #926 #697)
+#960 := (iff #926 #660)
+#1067 := [monotonicity #408]: #960
+#1069 := [trans #1067 #664]: #1068
+#1071 := [monotonicity #1069]: #1070
+#423 := (iff #475 #657)
+#1048 := (iff #465 #688)
+#1046 := (iff #465 #671)
+#1047 := [monotonicity #408]: #1046
+#1049 := [trans #1047 #674]: #1048
+#959 := [monotonicity #1049]: #423
+#1073 := [monotonicity #959 #1071]: #1072
+#1085 := [monotonicity #1073 #1082]: #1084
+#1088 := [monotonicity #1085]: #1087
+#1091 := [monotonicity #759 #1088]: #1090
+#1095 := [trans #1091 #1093]: #1094
+#1118 := [monotonicity #1095]: #1117
+#1121 := [trans #1118 #1120]: #1117
+#1116 := [quant-inst]: #1115
+#1122 := [mp #1116 #1121]: #1114
+#1151 := [unit-resolution #1122 #783]: #1086
+#1104 := (not #1086)
+#1172 := (or #1104 #1083)
+#1166 := (or #1104 #676 #1083)
+#1167 := [def-axiom]: #1166
+#1174 := [unit-resolution #1167 #1055]: #1172
+#1175 := [unit-resolution #1174 #1151]: #1083
+#1127 := (not #1083)
+#1186 := (or #1127 #967)
+#1128 := (or #1127 #622 #967)
+#1129 := [def-axiom]: #1128
+#1191 := [unit-resolution #1129 #1059]: #1186
+#1192 := [unit-resolution #1191 #1175]: #967
+#1096 := (not #967)
+#1193 := (or #1096 #1105)
+#1194 := [th-lemma]: #1193
+#1195 := [unit-resolution #1194 #1192]: #1105
+#1106 := (>= #966 0::int)
+#1196 := (or #1096 #1106)
+#1197 := [th-lemma]: #1196
+#1198 := [unit-resolution #1197 #1192]: #1106
+#1170 := (>= #48 1::int)
+#1208 := (not #1170)
+#1169 := (<= #48 1::int)
+#1158 := (>= #962 2::int)
+#1159 := (not #1158)
+#1199 := (or false #1159)
+#1200 := [th-lemma]: #1199
+#1201 := [unit-resolution #1200 #69]: #1159
+#1202 := (not #1105)
+#1203 := (or #1169 #1158 #1202)
+#1204 := [th-lemma]: #1203
+#1205 := [unit-resolution #1204 #1195 #1201]: #1169
+#1207 := (not #1169)
+#1211 := (or #1207 #1208)
+#255 := (not #50)
+#1206 := [hypothesis]: #255
+#1209 := (or #50 #1207 #1208)
+#1210 := [th-lemma]: #1209
+#1212 := [unit-resolution #1210 #1206]: #1211
+#1213 := [unit-resolution #1212 #1205]: #1208
+#1124 := (>= #48 0::int)
+#1152 := (>= #962 0::int)
+#1214 := (or false #1152)
+#1215 := [th-lemma]: #1214
+#1216 := [unit-resolution #1215 #69]: #1152
+#1218 := (not #1106)
+#1217 := (not #1152)
+#1219 := (or #1124 #1217 #1218)
+#1220 := [th-lemma]: #1219
+#1221 := [unit-resolution #1220 #1198 #1216]: #1124
+#1130 := (div f5 2::int)
+#1143 := (* -2::int #1130)
+#1144 := (+ #965 #1143)
+#1145 := (+ f5 #1144)
+#1150 := (<= #1145 0::int)
+#1142 := (= #1145 0::int)
+#1222 := (or false #1142)
+#1223 := [th-lemma]: #1222
+#1224 := [unit-resolution #1223 #69]: #1142
+#1225 := (not #1142)
+#1226 := (or #1225 #1150)
+#1227 := [th-lemma]: #1226
+#1228 := [unit-resolution #1227 #1224]: #1150
+#1180 := (>= #1145 0::int)
+#1229 := (or #1225 #1180)
+#1230 := [th-lemma]: #1229
+#1231 := [unit-resolution #1230 #1224]: #1180
+#1232 := [th-lemma #1231 #1228 #1221 #1213 #1198 #1195 #884 #881 #873 #870 #1061 #1108]: false
+#1233 := [lemma #1232]: #50
+#257 := (or #255 #256)
+#53 := (and #50 #52)
+#54 := (not #53)
+#266 := (iff #54 #257)
+#258 := (not #257)
+#261 := (not #258)
+#264 := (iff #261 #257)
+#265 := [rewrite]: #264
+#262 := (iff #54 #261)
+#259 := (iff #53 #258)
+#260 := [rewrite]: #259
+#263 := [monotonicity #260]: #262
+#267 := [trans #263 #265]: #266
+#188 := [asserted]: #54
+#268 := [mp #188 #267]: #257
+#1247 := [unit-resolution #268 #1233]: #256
+#1249 := (or #52 #1248 #1019)
+#1250 := [th-lemma]: #1249
+#1252 := [unit-resolution #1250 #1247]: #1251
+#1253 := [unit-resolution #1252 #1246 #1234]: false
+#1254 := [lemma #1253]: #448
+#1274 := [hypothesis]: #421
+#1276 := (or #460 #751)
+#1264 := [hypothesis]: #564
+#1265 := [unit-resolution #1185 #1264]: #473
+#1266 := [unit-resolution #1242 #1264]: #474
+#1267 := [unit-resolution #1107 #1265 #1239]: #405
+#1268 := [unit-resolution #1252 #1267]: #1019
+#425 := (>= #51 0::int)
+#1271 := (or #425 #1027)
+#1187 := (not #946)
+#1188 := [hypothesis]: #1187
+#1189 := [unit-resolution #985 #69 #1188]: false
+#1190 := [lemma #1189]: #946
+#1269 := (or #425 #1187 #1027)
+#1270 := [th-lemma]: #1269
+#1272 := [unit-resolution #1270 #1190]: #1271
+#1273 := [unit-resolution #1272 #1266]: #425
+#1275 := [th-lemma #1254 #1274 #1061 #1108 #1273 #1268 #1266 #1265 #1023 #998 #884 #881 #873 #870]: false
+#1277 := [lemma #1275]: #1276
+#1259 := [unit-resolution #1277 #1274]: #460
+#1260 := [unit-resolution #825 #1259]: #543
+#1261 := [unit-resolution #914 #1260]: #567
+#1262 := [unit-resolution #836 #1259]: #565
+#1263 := (or #513 #751 #688)
+#1278 := [th-lemma]: #1263
+#1279 := [unit-resolution #1278 #1262 #1274]: #688
+#1280 := [unit-resolution #973 #1055]: #646
+#1281 := [unit-resolution #1280 #1279]: #656
+#1282 := (or #697 #533 #757)
+#1283 := [th-lemma]: #1282
+#1284 := [unit-resolution #1283 #1281 #1261 #1254]: false
+#1285 := [lemma #1284]: #751
+#1286 := (or #605 #421)
+#1287 := [th-lemma]: #1286
+#1288 := [unit-resolution #1287 #1285]: #605
+#1289 := [unit-resolution #1182 #1288]: #564
+#1290 := [unit-resolution #1242 #1289]: #474
+#1257 := (or #765 #444)
+#981 := (or #466 #765)
+#977 := [hypothesis]: #552
+#978 := [unit-resolution #714 #977]: #421
+#979 := [unit-resolution #550 #977]: #448
+#980 := [unit-resolution #929 #979 #978 #916]: false
+#1030 := [lemma #980]: #981
+#1255 := [unit-resolution #1030 #916]: #466
+#1256 := [unit-resolution #594 #1255 #920 #461]: false
+#1258 := [lemma #1256]: #1257
+#1291 := [unit-resolution #1258 #1288]: #444
+#1292 := [unit-resolution #1245 #1291 #1290]: #407
+#1293 := [unit-resolution #1185 #1289]: #473
+#1294 := [unit-resolution #1107 #1293 #1239]: #405
+[unit-resolution #1252 #1294 #1292]: false
+unsat
+888f975d567f96ba47f41ba95b0b2ea663cfeb5c 1271 0
+#2 := false
+decl f6 :: (-> int int int)
+#12 := 2::int
+decl f14 :: int
+#84 := f14
+#89 := (f6 f14 2::int)
+decl f10 :: (-> S4 S5 int)
+decl f11 :: (-> S3 S5 S5)
+decl f13 :: S5
+#82 := f13
+decl f4 :: S3
+#8 := f4
+#86 := (f11 f4 f13)
+decl f12 :: S4
+#81 := f12
+#87 := (f10 f12 #86)
+#88 := (f6 #87 2::int)
+#90 := (= #88 #89)
+#83 := (f10 f12 f13)
+#876 := (f6 #83 2::int)
+#616 := (= #876 #89)
+#85 := (= #83 f14)
+decl f9 :: (-> int int int)
+#124 := -1::int
+#351 := (* -1::int #87)
+#352 := (+ f14 #351)
+#355 := (f9 #352 2::int)
+decl f8 :: S3
+#17 := f8
+#91 := (f11 f8 f13)
+#92 := (f10 f12 #91)
+#358 := (= #92 #355)
+#361 := (not #358)
+#367 := (not #90)
+#368 := (or #367 #361)
+#26 := 0::int
+#1324 := (>= #355 0::int)
+#611 := (= #355 0::int)
+#337 := -2::int
+#935 := (* -1::int f14)
+#932 := (+ #935 #87)
+#922 := (div #932 -2::int)
+#929 := (* -1::int #922)
+#771 := (+ #355 #929)
+#915 := (= #771 0::int)
+#963 := (div #352 2::int)
+#969 := (* -1::int #963)
+#959 := (+ #355 #969)
+#619 := (= #959 0::int)
+#960 := (<= #352 0::int)
+#654 := (not #960)
+#604 := (>= #352 0::int)
+#939 := (not #604)
+#934 := (or #939 #654)
+#918 := (ite #934 #619 #915)
+#948 := (= #352 0::int)
+#919 := (ite #948 #611 #918)
+#24 := (:var 0 int)
+#23 := (:var 1 int)
+#25 := (f9 #23 #24)
+#985 := (pattern #25)
+#128 := (* -1::int #24)
+#125 := (* -1::int #23)
+#131 := (div #125 #128)
+#472 := (* -1::int #131)
+#473 := (+ #25 #472)
+#474 := (= #473 0::int)
+#36 := (div #23 #24)
+#469 := (* -1::int #36)
+#470 := (+ #25 #469)
+#471 := (= #470 0::int)
+#150 := (<= #24 0::int)
+#146 := (<= #23 0::int)
+#427 := (or #146 #150)
+#428 := (not #427)
+#157 := (>= #23 0::int)
+#398 := (or #150 #157)
+#399 := (not #398)
+#434 := (or #399 #428)
+#475 := (ite #434 #471 #474)
+#468 := (= #25 0::int)
+#28 := (= #24 0::int)
+#27 := (= #23 0::int)
+#29 := (or #27 #28)
+#476 := (ite #29 #468 #475)
+#986 := (forall (vars (?v0 int) (?v1 int)) (:pat #985) #476)
+#479 := (forall (vars (?v0 int) (?v1 int)) #476)
+#989 := (iff #479 #986)
+#987 := (iff #476 #476)
+#988 := [refl]: #987
+#990 := [quant-intro #988]: #989
+#439 := (ite #434 #36 #131)
+#442 := (ite #29 0::int #439)
+#445 := (= #25 #442)
+#448 := (forall (vars (?v0 int) (?v1 int)) #445)
+#480 := (iff #448 #479)
+#477 := (iff #445 #476)
+#478 := [rewrite]: #477
+#481 := [quant-intro #478]: #480
+#158 := (not #157)
+#151 := (not #150)
+#161 := (and #151 #158)
+#147 := (not #146)
+#154 := (and #147 #151)
+#164 := (or #154 #161)
+#167 := (ite #164 #36 #131)
+#170 := (ite #29 0::int #167)
+#173 := (= #25 #170)
+#176 := (forall (vars (?v0 int) (?v1 int)) #173)
+#449 := (iff #176 #448)
+#446 := (iff #173 #445)
+#443 := (= #170 #442)
+#440 := (= #167 #439)
+#437 := (iff #164 #434)
+#431 := (or #428 #399)
+#435 := (iff #431 #434)
+#436 := [rewrite]: #435
+#432 := (iff #164 #431)
+#429 := (iff #161 #399)
+#430 := [rewrite]: #429
+#396 := (iff #154 #428)
+#397 := [rewrite]: #396
+#433 := [monotonicity #397 #430]: #432
+#438 := [trans #433 #436]: #437
+#441 := [monotonicity #438]: #440
+#444 := [monotonicity #441]: #443
+#447 := [monotonicity #444]: #446
+#450 := [quant-intro #447]: #449
+#382 := (~ #176 #176)
+#406 := (~ #173 #173)
+#407 := [refl]: #406
+#383 := [nnf-pos #407]: #382
+#38 := (- #24)
+#37 := (- #23)
+#39 := (div #37 #38)
+#31 := (< 0::int #24)
+#33 := (< #23 0::int)
+#34 := (and #33 #31)
+#30 := (< 0::int #23)
+#32 := (and #30 #31)
+#35 := (or #32 #34)
+#40 := (ite #35 #36 #39)
+#41 := (ite #29 0::int #40)
+#42 := (= #25 #41)
+#43 := (forall (vars (?v0 int) (?v1 int)) #42)
+#179 := (iff #43 #176)
+#118 := (and #31 #33)
+#121 := (or #32 #118)
+#134 := (ite #121 #36 #131)
+#137 := (ite #29 0::int #134)
+#140 := (= #25 #137)
+#143 := (forall (vars (?v0 int) (?v1 int)) #140)
+#177 := (iff #143 #176)
+#174 := (iff #140 #173)
+#171 := (= #137 #170)
+#168 := (= #134 #167)
+#165 := (iff #121 #164)
+#162 := (iff #118 #161)
+#159 := (iff #33 #158)
+#160 := [rewrite]: #159
+#152 := (iff #31 #151)
+#153 := [rewrite]: #152
+#163 := [monotonicity #153 #160]: #162
+#155 := (iff #32 #154)
+#148 := (iff #30 #147)
+#149 := [rewrite]: #148
+#156 := [monotonicity #149 #153]: #155
+#166 := [monotonicity #156 #163]: #165
+#169 := [monotonicity #166]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [quant-intro #175]: #177
+#144 := (iff #43 #143)
+#141 := (iff #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #134)
+#132 := (= #39 #131)
+#129 := (= #38 #128)
+#130 := [rewrite]: #129
+#126 := (= #37 #125)
+#127 := [rewrite]: #126
+#133 := [monotonicity #127 #130]: #132
+#122 := (iff #35 #121)
+#119 := (iff #34 #118)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120]: #122
+#136 := [monotonicity #123 #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [quant-intro #142]: #144
+#180 := [trans #145 #178]: #179
+#117 := [asserted]: #43
+#181 := [mp #117 #180]: #176
+#408 := [mp~ #181 #383]: #176
+#451 := [mp #408 #450]: #448
+#482 := [mp #451 #481]: #479
+#991 := [mp #482 #990]: #986
+#921 := (not #986)
+#750 := (or #921 #919)
+#632 := (* -1::int 2::int)
+#633 := (* -1::int #352)
+#965 := (div #633 #632)
+#966 := (* -1::int #965)
+#967 := (+ #355 #966)
+#968 := (= #967 0::int)
+#624 := (<= 2::int 0::int)
+#620 := (or #960 #624)
+#961 := (not #620)
+#945 := (or #624 #604)
+#608 := (not #945)
+#609 := (or #608 #961)
+#610 := (ite #609 #619 #968)
+#947 := (= 2::int 0::int)
+#949 := (or #948 #947)
+#950 := (ite #949 #611 #610)
+#752 := (or #921 #950)
+#906 := (iff #752 #750)
+#909 := (iff #750 #750)
+#910 := [rewrite]: #909
+#920 := (iff #950 #919)
+#912 := (iff #610 #918)
+#916 := (iff #968 #915)
+#772 := (= #967 #771)
+#924 := (= #966 #929)
+#923 := (= #965 #922)
+#926 := (= #632 -2::int)
+#927 := [rewrite]: #926
+#936 := (= #633 #932)
+#925 := [rewrite]: #936
+#928 := [monotonicity #925 #927]: #923
+#930 := [monotonicity #928]: #924
+#773 := [monotonicity #930]: #772
+#917 := [monotonicity #773]: #916
+#649 := (iff #609 #934)
+#655 := (iff #961 #654)
+#652 := (iff #620 #960)
+#663 := (or #960 false)
+#938 := (iff #663 #960)
+#942 := [rewrite]: #938
+#937 := (iff #620 #663)
+#954 := (iff #624 false)
+#957 := [rewrite]: #954
+#941 := [monotonicity #957]: #937
+#653 := [trans #941 #942]: #652
+#933 := [monotonicity #653]: #655
+#940 := (iff #608 #939)
+#669 := (iff #945 #604)
+#943 := (or false #604)
+#667 := (iff #943 #604)
+#668 := [rewrite]: #667
+#944 := (iff #945 #943)
+#666 := [monotonicity #957]: #944
+#562 := [trans #666 #668]: #669
+#662 := [monotonicity #562]: #940
+#931 := [monotonicity #662 #933]: #649
+#913 := [monotonicity #931 #917]: #912
+#596 := (iff #949 #948)
+#952 := (or #948 false)
+#955 := (iff #952 #948)
+#595 := [rewrite]: #955
+#590 := (iff #949 #952)
+#951 := (iff #947 false)
+#946 := [rewrite]: #951
+#953 := [monotonicity #946]: #590
+#956 := [trans #953 #595]: #596
+#914 := [monotonicity #956 #913]: #920
+#907 := [monotonicity #914]: #906
+#908 := [trans #907 #910]: #906
+#753 := [quant-inst]: #752
+#911 := [mp #753 #908]: #750
+#1195 := [unit-resolution #911 #991]: #919
+#962 := (not #85)
+#634 := (not #368)
+#1530 := [hypothesis]: #634
+#751 := (or #962 #368)
+#373 := (iff #85 #368)
+#93 := (- f14 #87)
+#94 := (f9 #93 2::int)
+#95 := (= #92 #94)
+#96 := (not #95)
+#97 := (implies #90 #96)
+#98 := (iff #85 #97)
+#374 := (iff #98 #373)
+#371 := (iff #97 #368)
+#364 := (implies #90 #361)
+#369 := (iff #364 #368)
+#370 := [rewrite]: #369
+#365 := (iff #97 #364)
+#362 := (iff #96 #361)
+#359 := (iff #95 #358)
+#356 := (= #94 #355)
+#353 := (= #93 #352)
+#354 := [rewrite]: #353
+#357 := [monotonicity #354]: #356
+#360 := [monotonicity #357]: #359
+#363 := [monotonicity #360]: #362
+#366 := [monotonicity #363]: #365
+#372 := [trans #366 #370]: #371
+#375 := [monotonicity #372]: #374
+#350 := [asserted]: #98
+#378 := [mp #350 #375]: #373
+#574 := (not #373)
+#964 := (or #962 #368 #574)
+#621 := [def-axiom]: #964
+#958 := [unit-resolution #621 #378]: #751
+#1524 := [unit-resolution #958 #1530]: #962
+#1068 := (* -1::int #876)
+#1140 := (+ #89 #1068)
+#1141 := (<= #1140 0::int)
+#1139 := (= #89 #876)
+#868 := (= #88 #876)
+#67 := (:var 0 S5)
+#70 := (f11 f4 #67)
+#66 := (:var 1 S4)
+#71 := (f10 #66 #70)
+#1019 := (pattern #71)
+#72 := (f6 #71 2::int)
+#68 := (f10 #66 #67)
+#69 := (f6 #68 2::int)
+#73 := (= #69 #72)
+#1020 := (forall (vars (?v0 S4) (?v1 S5)) (:pat #1019) #73)
+#74 := (forall (vars (?v0 S4) (?v1 S5)) #73)
+#1023 := (iff #74 #1020)
+#1021 := (iff #73 #73)
+#1022 := [refl]: #1021
+#1024 := [quant-intro #1022]: #1023
+#392 := (~ #74 #74)
+#421 := (~ #73 #73)
+#422 := [refl]: #421
+#393 := [nnf-pos #422]: #392
+#312 := [asserted]: #74
+#423 := [mp~ #312 #393]: #74
+#1025 := [mp #423 #1024]: #1020
+#872 := (not #1020)
+#873 := (or #872 #868)
+#878 := (= #876 #88)
+#870 := (or #872 #878)
+#854 := (iff #870 #873)
+#857 := (iff #873 #873)
+#858 := [rewrite]: #857
+#869 := (iff #878 #868)
+#871 := [rewrite]: #869
+#855 := [monotonicity #871]: #854
+#859 := [trans #855 #858]: #854
+#874 := [quant-inst]: #870
+#860 := [mp #874 #859]: #873
+#1526 := [unit-resolution #860 #1025]: #868
+#1322 := (= #89 #88)
+#556 := (or #368 #90)
+#641 := [def-axiom]: #556
+#1525 := [unit-resolution #641 #1530]: #90
+#1323 := [symm #1525]: #1322
+#1703 := [trans #1323 #1526]: #1139
+#1704 := (not #1139)
+#1705 := (or #1704 #1141)
+#1706 := [th-lemma]: #1705
+#1707 := [unit-resolution #1706 #1703]: #1141
+#1142 := (>= #1140 0::int)
+#1708 := (or #1704 #1142)
+#1709 := [th-lemma]: #1708
+#1710 := [unit-resolution #1709 #1703]: #1142
+#584 := (+ #83 #935)
+#571 := (>= #584 0::int)
+#1440 := (not #571)
+#589 := (<= #584 0::int)
+#598 := (* -1::int #355)
+#572 := (+ #92 #598)
+#577 := (<= #572 0::int)
+#642 := (or #368 #358)
+#643 := [def-axiom]: #642
+#1711 := [unit-resolution #643 #1530]: #358
+#1712 := (or #361 #577)
+#1713 := [th-lemma]: #1712
+#1714 := [unit-resolution #1713 #1711]: #577
+#1292 := (not #577)
+#1312 := (or #589 #1292)
+#883 := (not #948)
+#1289 := [hypothesis]: #577
+#1276 := (not #589)
+#1277 := [hypothesis]: #1276
+#1299 := (or #883 #1292 #589)
+#1193 := (<= #355 0::int)
+#1258 := [hypothesis]: #948
+#886 := (not #919)
+#885 := (or #886 #883 #611)
+#895 := [def-axiom]: #885
+#1259 := [unit-resolution #895 #1258 #1195]: #611
+#893 := (not #611)
+#1191 := (or #893 #1193)
+#1192 := [th-lemma]: #1191
+#1245 := [unit-resolution #1192 #1259]: #1193
+#1295 := (or #883 #604)
+#1296 := [th-lemma]: #1295
+#1297 := [unit-resolution #1296 #1258]: #604
+#890 := (* -2::int #92)
+#884 := (+ #351 #890)
+#891 := (+ #83 #884)
+#877 := (<= #891 0::int)
+#875 := (= #891 0::int)
+#75 := (f11 f8 #67)
+#76 := (f10 #66 #75)
+#1026 := (pattern #76)
+#338 := (* -2::int #76)
+#336 := (* -1::int #71)
+#339 := (+ #336 #338)
+#340 := (+ #68 #339)
+#341 := (= #340 0::int)
+#1027 := (forall (vars (?v0 S4) (?v1 S5)) (:pat #1019 #1026) #341)
+#344 := (forall (vars (?v0 S4) (?v1 S5)) #341)
+#1030 := (iff #344 #1027)
+#1028 := (iff #341 #341)
+#1029 := [refl]: #1028
+#1031 := [quant-intro #1029]: #1030
+#394 := (~ #344 #344)
+#424 := (~ #341 #341)
+#425 := [refl]: #424
+#395 := [nnf-pos #425]: #394
+#77 := (* #76 2::int)
+#78 := (+ #77 #71)
+#79 := (= #78 #68)
+#80 := (forall (vars (?v0 S4) (?v1 S5)) #79)
+#347 := (iff #80 #344)
+#314 := (* 2::int #76)
+#320 := (+ #71 #314)
+#328 := (= #68 #320)
+#333 := (forall (vars (?v0 S4) (?v1 S5)) #328)
+#345 := (iff #333 #344)
+#342 := (iff #328 #341)
+#343 := [rewrite]: #342
+#346 := [quant-intro #343]: #345
+#334 := (iff #80 #333)
+#331 := (iff #79 #328)
+#325 := (= #320 #68)
+#329 := (iff #325 #328)
+#330 := [rewrite]: #329
+#326 := (iff #79 #325)
+#323 := (= #78 #320)
+#317 := (+ #314 #71)
+#321 := (= #317 #320)
+#322 := [rewrite]: #321
+#318 := (= #78 #317)
+#315 := (= #77 #314)
+#316 := [rewrite]: #315
+#319 := [monotonicity #316]: #318
+#324 := [trans #319 #322]: #323
+#327 := [monotonicity #324]: #326
+#332 := [trans #327 #330]: #331
+#335 := [quant-intro #332]: #334
+#348 := [trans #335 #346]: #347
+#313 := [asserted]: #80
+#349 := [mp #313 #348]: #344
+#426 := [mp~ #349 #395]: #344
+#1032 := [mp #426 #1031]: #1027
+#879 := (not #1027)
+#880 := (or #879 #875)
+#881 := [quant-inst]: #880
+#1271 := [unit-resolution #881 #1032]: #875
+#1272 := (not #875)
+#1273 := (or #1272 #877)
+#1274 := [th-lemma]: #1273
+#1275 := [unit-resolution #1274 #1271]: #877
+#1298 := [th-lemma #1275 #1289 #1297 #1277 #1245]: false
+#1300 := [lemma #1298]: #1299
+#1194 := [unit-resolution #1300 #1277 #1289]: #883
+#902 := (not #934)
+#811 := (not #619)
+#903 := (<= #959 0::int)
+#1291 := (not #903)
+#1293 := (or #1291 #1292 #589)
+#1201 := (+ f14 #87)
+#1202 := (mod #1201 2::int)
+#1214 := (* -1::int #1202)
+#1213 := (* -2::int #963)
+#1215 := (+ #1213 #1214)
+#1216 := (+ #351 #1215)
+#1217 := (+ f14 #1216)
+#1222 := (>= #1217 0::int)
+#1211 := (= #1217 0::int)
+#1 := true
+#113 := [true-axiom]: true
+#1278 := (or false #1211)
+#1279 := [th-lemma]: #1278
+#1280 := [unit-resolution #1279 #113]: #1211
+#1281 := (not #1211)
+#1282 := (or #1281 #1222)
+#1283 := [th-lemma]: #1282
+#1284 := [unit-resolution #1283 #1280]: #1222
+#1246 := (>= #1202 0::int)
+#1285 := (or false #1246)
+#1286 := [th-lemma]: #1285
+#1287 := [unit-resolution #1286 #113]: #1246
+#1288 := [hypothesis]: #903
+#1290 := [th-lemma #1289 #1288 #1287 #1284 #1277 #1275]: false
+#1294 := [lemma #1290]: #1293
+#1301 := [unit-resolution #1294 #1277 #1289]: #1291
+#1302 := (or #811 #903)
+#1303 := [th-lemma]: #1302
+#1304 := [unit-resolution #1303 #1301]: #811
+#896 := (or #886 #948 #918)
+#897 := [def-axiom]: #896
+#1305 := [unit-resolution #897 #1194 #1195]: #918
+#799 := (not #918)
+#807 := (or #799 #902 #619)
+#808 := [def-axiom]: #807
+#1306 := [unit-resolution #808 #1305 #1304]: #902
+#793 := (or #934 #604)
+#794 := [def-axiom]: #793
+#1307 := [unit-resolution #794 #1306]: #604
+#795 := (or #934 #960)
+#754 := [def-axiom]: #795
+#1308 := [unit-resolution #754 #1306]: #960
+#1309 := (or #948 #654 #939)
+#1310 := [th-lemma]: #1309
+#1311 := [unit-resolution #1310 #1308 #1307 #1194]: false
+#1313 := [lemma #1311]: #1312
+#1715 := [unit-resolution #1313 #1714]: #589
+#1718 := (or #1276 #1440)
+#1716 := (or #85 #1276 #1440)
+#1717 := [th-lemma]: #1716
+#1719 := [unit-resolution #1717 #1524]: #1718
+#1720 := [unit-resolution #1719 #1715]: #1440
+#578 := (>= #572 0::int)
+#1721 := (or #361 #578)
+#1722 := [th-lemma]: #1721
+#1723 := [unit-resolution #1722 #1711]: #578
+#583 := (* -1::int #89)
+#585 := (+ #88 #583)
+#586 := (<= #585 0::int)
+#1724 := (or #367 #586)
+#1725 := [th-lemma]: #1724
+#1726 := [unit-resolution #1725 #1525]: #586
+#1434 := (not #1141)
+#1489 := (not #1142)
+#1430 := (not #578)
+#1636 := (not #586)
+#1701 := (or #948 #1636 #1430 #571 #1489 #1434 #85)
+#864 := (mod f14 2::int)
+#865 := (* -1::int #864)
+#866 := (+ #89 #865)
+#856 := (= #866 0::int)
+#766 := (not #856)
+#1402 := [hypothesis]: #1141
+#581 := (mod #83 2::int)
+#1069 := (+ #581 #1068)
+#1113 := (<= #1069 0::int)
+#1070 := (= #1069 0::int)
+#1453 := [hypothesis]: #962
+#1421 := [hypothesis]: #578
+#1480 := [hypothesis]: #1142
+#1441 := [hypothesis]: #1440
+#788 := (>= #959 0::int)
+#1314 := [hypothesis]: #883
+#1679 := [unit-resolution #897 #1314 #1195]: #918
+#1319 := (or #934 #948)
+#1315 := [hypothesis]: #902
+#1316 := [unit-resolution #794 #1315]: #604
+#1317 := [unit-resolution #754 #1315]: #960
+#1318 := [unit-resolution #1310 #1317 #1316 #1314]: false
+#1320 := [lemma #1318]: #1319
+#1680 := [unit-resolution #1320 #1314]: #934
+#1681 := [unit-resolution #808 #1680 #1679]: #619
+#1682 := (or #811 #788)
+#1683 := [th-lemma]: #1682
+#1684 := [unit-resolution #1683 #1681]: #788
+#1431 := (not #788)
+#1490 := (or #1070 #1489 #571 #1431 #1430 #1434 #85)
+#1409 := 1::int
+#1352 := (div f14 2::int)
+#1405 := (* -1::int #1352)
+#1406 := (+ #865 #1405)
+#1407 := (+ #89 #1406)
+#1408 := (+ f14 #1407)
+#1410 := (>= #1408 1::int)
+#757 := (>= #866 0::int)
+#814 := (mod #935 -2::int)
+#796 := (+ #89 #814)
+#816 := (= #796 0::int)
+#867 := (<= f14 0::int)
+#828 := (not #867)
+#848 := (>= f14 0::int)
+#817 := (not #848)
+#833 := (or #817 #828)
+#797 := (ite #833 #856 #816)
+#847 := (= #89 0::int)
+#853 := (= f14 0::int)
+#789 := (ite #853 #847 #797)
+#44 := (f6 #23 #24)
+#992 := (pattern #44)
+#183 := (mod #125 #128)
+#488 := (+ #44 #183)
+#489 := (= #488 0::int)
+#45 := (mod #23 #24)
+#485 := (* -1::int #45)
+#486 := (+ #44 #485)
+#487 := (= #486 0::int)
+#490 := (ite #434 #487 #489)
+#484 := (= #44 0::int)
+#491 := (ite #27 #484 #490)
+#483 := (= #23 #44)
+#492 := (ite #28 #483 #491)
+#993 := (forall (vars (?v0 int) (?v1 int)) (:pat #992) #492)
+#495 := (forall (vars (?v0 int) (?v1 int)) #492)
+#996 := (iff #495 #993)
+#994 := (iff #492 #492)
+#995 := [refl]: #994
+#997 := [quant-intro #995]: #996
+#189 := (* -1::int #183)
+#452 := (ite #434 #45 #189)
+#455 := (ite #27 0::int #452)
+#458 := (ite #28 #23 #455)
+#461 := (= #44 #458)
+#464 := (forall (vars (?v0 int) (?v1 int)) #461)
+#496 := (iff #464 #495)
+#493 := (iff #461 #492)
+#494 := [rewrite]: #493
+#497 := [quant-intro #494]: #496
+#209 := (ite #164 #45 #189)
+#212 := (ite #27 0::int #209)
+#215 := (ite #28 #23 #212)
+#218 := (= #44 #215)
+#221 := (forall (vars (?v0 int) (?v1 int)) #218)
+#465 := (iff #221 #464)
+#462 := (iff #218 #461)
+#459 := (= #215 #458)
+#456 := (= #212 #455)
+#453 := (= #209 #452)
+#454 := [monotonicity #438]: #453
+#457 := [monotonicity #454]: #456
+#460 := [monotonicity #457]: #459
+#463 := [monotonicity #460]: #462
+#466 := [quant-intro #463]: #465
+#384 := (~ #221 #221)
+#409 := (~ #218 #218)
+#410 := [refl]: #409
+#385 := [nnf-pos #410]: #384
+#46 := (mod #37 #38)
+#47 := (- #46)
+#48 := (ite #35 #45 #47)
+#49 := (ite #27 0::int #48)
+#50 := (ite #28 #23 #49)
+#51 := (= #44 #50)
+#52 := (forall (vars (?v0 int) (?v1 int)) #51)
+#224 := (iff #52 #221)
+#194 := (ite #121 #45 #189)
+#197 := (ite #27 0::int #194)
+#200 := (ite #28 #23 #197)
+#203 := (= #44 #200)
+#206 := (forall (vars (?v0 int) (?v1 int)) #203)
+#222 := (iff #206 #221)
+#219 := (iff #203 #218)
+#216 := (= #200 #215)
+#213 := (= #197 #212)
+#210 := (= #194 #209)
+#211 := [monotonicity #166]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#223 := [quant-intro #220]: #222
+#207 := (iff #52 #206)
+#204 := (iff #51 #203)
+#201 := (= #50 #200)
+#198 := (= #49 #197)
+#195 := (= #48 #194)
+#192 := (= #47 #189)
+#186 := (- #183)
+#190 := (= #186 #189)
+#191 := [rewrite]: #190
+#187 := (= #47 #186)
+#184 := (= #46 #183)
+#185 := [monotonicity #127 #130]: #184
+#188 := [monotonicity #185]: #187
+#193 := [trans #188 #191]: #192
+#196 := [monotonicity #123 #193]: #195
+#199 := [monotonicity #196]: #198
+#202 := [monotonicity #199]: #201
+#205 := [monotonicity #202]: #204
+#208 := [quant-intro #205]: #207
+#225 := [trans #208 #223]: #224
+#182 := [asserted]: #52
+#226 := [mp #182 #225]: #221
+#411 := [mp~ #226 #385]: #221
+#467 := [mp #411 #466]: #464
+#498 := [mp #467 #497]: #495
+#998 := [mp #498 #997]: #993
+#769 := (not #993)
+#774 := (or #769 #789)
+#861 := (mod #935 #632)
+#862 := (+ #89 #861)
+#863 := (= #862 0::int)
+#845 := (or #867 #624)
+#846 := (not #845)
+#849 := (or #624 #848)
+#850 := (not #849)
+#851 := (or #850 #846)
+#852 := (ite #851 #856 #863)
+#839 := (ite #853 #847 #852)
+#835 := (= f14 #89)
+#836 := (ite #947 #835 #839)
+#775 := (or #769 #836)
+#777 := (iff #775 #774)
+#779 := (iff #774 #774)
+#780 := [rewrite]: #779
+#813 := (iff #836 #789)
+#800 := (ite false #835 #789)
+#812 := (iff #800 #789)
+#792 := [rewrite]: #812
+#801 := (iff #836 #800)
+#791 := (iff #839 #789)
+#756 := (iff #852 #797)
+#822 := (iff #863 #816)
+#820 := (= #862 #796)
+#760 := (= #861 #814)
+#815 := [monotonicity #927]: #760
+#821 := [monotonicity #815]: #820
+#790 := [monotonicity #821]: #822
+#829 := (iff #851 #833)
+#831 := (iff #846 #828)
+#826 := (iff #845 #867)
+#712 := (or #867 false)
+#825 := (iff #712 #867)
+#830 := [rewrite]: #825
+#823 := (iff #845 #712)
+#824 := [monotonicity #957]: #823
+#827 := [trans #824 #830]: #826
+#832 := [monotonicity #827]: #831
+#818 := (iff #850 #817)
+#838 := (iff #849 #848)
+#837 := (or false #848)
+#842 := (iff #837 #848)
+#843 := [rewrite]: #842
+#840 := (iff #849 #837)
+#841 := [monotonicity #957]: #840
+#844 := [trans #841 #843]: #838
+#819 := [monotonicity #844]: #818
+#834 := [monotonicity #819 #832]: #829
+#787 := [monotonicity #834 #790]: #756
+#798 := [monotonicity #787]: #791
+#802 := [monotonicity #946 #798]: #801
+#768 := [trans #802 #792]: #813
+#778 := [monotonicity #768]: #777
+#781 := [trans #778 #780]: #777
+#776 := [quant-inst]: #775
+#782 := [mp #776 #781]: #774
+#1452 := [unit-resolution #782 #998]: #789
+#742 := (not #853)
+#1461 := (iff #962 #742)
+#1459 := (iff #85 #853)
+#1454 := (= 0::int f14)
+#1457 := (iff #1454 #853)
+#1458 := [commutativity]: #1457
+#1455 := (iff #85 #1454)
+#560 := (= #83 0::int)
+#1122 := (not #1070)
+#1336 := [hypothesis]: #1122
+#1348 := (or #560 #1070)
+#575 := (* -1::int #83)
+#1075 := (mod #575 -2::int)
+#1078 := (+ #876 #1075)
+#1081 := (= #1078 0::int)
+#568 := (>= #83 0::int)
+#1041 := (not #568)
+#563 := (<= #83 0::int)
+#1051 := (not #563)
+#1057 := (or #1051 #1041)
+#1084 := (ite #1057 #1070 #1081)
+#559 := (= #876 0::int)
+#1087 := (ite #560 #559 #1084)
+#1097 := (or #769 #1087)
+#576 := (mod #575 #632)
+#579 := (+ #876 #576)
+#580 := (= #579 0::int)
+#573 := (* -1::int #581)
+#582 := (+ #876 #573)
+#566 := (= #582 0::int)
+#564 := (or #563 #624)
+#567 := (not #564)
+#569 := (or #624 #568)
+#565 := (not #569)
+#570 := (or #565 #567)
+#557 := (ite #570 #566 #580)
+#558 := (ite #560 #559 #557)
+#561 := (= #83 #876)
+#1033 := (ite #947 #561 #558)
+#1098 := (or #769 #1033)
+#1100 := (iff #1098 #1097)
+#1102 := (iff #1097 #1097)
+#1103 := [rewrite]: #1102
+#1095 := (iff #1033 #1087)
+#1090 := (ite false #561 #1087)
+#1093 := (iff #1090 #1087)
+#1094 := [rewrite]: #1093
+#1091 := (iff #1033 #1090)
+#1088 := (iff #558 #1087)
+#1085 := (iff #557 #1084)
+#1082 := (iff #580 #1081)
+#1079 := (= #579 #1078)
+#1076 := (= #576 #1075)
+#1077 := [monotonicity #927]: #1076
+#1080 := [monotonicity #1077]: #1079
+#1083 := [monotonicity #1080]: #1082
+#1073 := (iff #566 #1070)
+#1062 := (+ #573 #876)
+#1065 := (= #1062 0::int)
+#1071 := (iff #1065 #1070)
+#1072 := [rewrite]: #1071
+#1066 := (iff #566 #1065)
+#1063 := (= #582 #1062)
+#1064 := [rewrite]: #1063
+#1067 := [monotonicity #1064]: #1066
+#1074 := [trans #1067 #1072]: #1073
+#1060 := (iff #570 #1057)
+#1054 := (or #1041 #1051)
+#1058 := (iff #1054 #1057)
+#1059 := [rewrite]: #1058
+#1055 := (iff #570 #1054)
+#1052 := (iff #567 #1051)
+#1049 := (iff #564 #563)
+#1044 := (or #563 false)
+#1047 := (iff #1044 #563)
+#1048 := [rewrite]: #1047
+#1045 := (iff #564 #1044)
+#1046 := [monotonicity #957]: #1045
+#1050 := [trans #1046 #1048]: #1049
+#1053 := [monotonicity #1050]: #1052
+#1042 := (iff #565 #1041)
+#1039 := (iff #569 #568)
+#1034 := (or false #568)
+#1037 := (iff #1034 #568)
+#1038 := [rewrite]: #1037
+#1035 := (iff #569 #1034)
+#1036 := [monotonicity #957]: #1035
+#1040 := [trans #1036 #1038]: #1039
+#1043 := [monotonicity #1040]: #1042
+#1056 := [monotonicity #1043 #1053]: #1055
+#1061 := [trans #1056 #1059]: #1060
+#1086 := [monotonicity #1061 #1074 #1083]: #1085
+#1089 := [monotonicity #1086]: #1088
+#1092 := [monotonicity #946 #1089]: #1091
+#1096 := [trans #1092 #1094]: #1095
+#1101 := [monotonicity #1096]: #1100
+#1104 := [trans #1101 #1103]: #1100
+#1099 := [quant-inst]: #1098
+#1105 := [mp #1099 #1104]: #1097
+#1339 := [unit-resolution #1105 #998]: #1087
+#1129 := (not #560)
+#1331 := [hypothesis]: #1129
+#1128 := (not #1087)
+#1132 := (or #1128 #560 #1084)
+#1133 := [def-axiom]: #1132
+#1332 := [unit-resolution #1133 #1331 #1339]: #1084
+#1345 := (or #563 #1070)
+#1337 := [hypothesis]: #1051
+#1106 := (or #1057 #563)
+#1107 := [def-axiom]: #1106
+#1338 := [unit-resolution #1107 #1337]: #1057
+#1340 := (or #1129 #563)
+#1341 := [th-lemma]: #1340
+#1342 := [unit-resolution #1341 #1337]: #1129
+#1343 := [unit-resolution #1133 #1342 #1339]: #1084
+#1110 := (not #1057)
+#1117 := (not #1084)
+#1118 := (or #1117 #1110 #1070)
+#1119 := [def-axiom]: #1118
+#1344 := [unit-resolution #1119 #1343 #1338 #1336]: false
+#1346 := [lemma #1344]: #1345
+#1333 := [unit-resolution #1346 #1336]: #563
+#1334 := (or #560 #1051 #1041)
+#1335 := [th-lemma]: #1334
+#1329 := [unit-resolution #1335 #1331 #1333]: #1041
+#1108 := (or #1057 #568)
+#1109 := [def-axiom]: #1108
+#1330 := [unit-resolution #1109 #1329]: #1057
+#1347 := [unit-resolution #1119 #1330 #1332 #1336]: false
+#1349 := [lemma #1347]: #1348
+#1447 := [unit-resolution #1349 #1336]: #560
+#1456 := [monotonicity #1447]: #1455
+#1460 := [trans #1456 #1458]: #1459
+#1462 := [monotonicity #1460]: #1461
+#1463 := [mp #1453 #1462]: #742
+#740 := (not #789)
+#587 := (or #740 #853 #797)
+#745 := [def-axiom]: #587
+#1464 := [unit-resolution #745 #1463 #1452]: #797
+#1465 := (or #1129 #568)
+#1466 := [th-lemma]: #1465
+#1467 := [unit-resolution #1466 #1447]: #568
+#1468 := (or #828 #1041 #571)
+#1469 := [th-lemma]: #1468
+#1470 := [unit-resolution #1469 #1467 #1441]: #828
+#785 := (or #833 #867)
+#770 := [def-axiom]: #785
+#1471 := [unit-resolution #770 #1470]: #833
+#786 := (not #833)
+#761 := (not #797)
+#762 := (or #761 #786 #856)
+#763 := [def-axiom]: #762
+#1472 := [unit-resolution #763 #1471 #1464]: #856
+#1477 := (or #766 #757)
+#1478 := [th-lemma]: #1477
+#1479 := [unit-resolution #1478 #1472]: #757
+#1351 := (>= #876 0::int)
+#1130 := (or #1128 #1129 #559)
+#1131 := [def-axiom]: #1130
+#1448 := [unit-resolution #1131 #1447 #1339]: #559
+#1134 := (not #559)
+#1481 := (or #1134 #1351)
+#1482 := [th-lemma]: #1481
+#1483 := [unit-resolution #1482 #1448]: #1351
+#1365 := (* -2::int #1352)
+#1366 := (+ #865 #1365)
+#1367 := (+ f14 #1366)
+#1373 := (>= #1367 0::int)
+#1364 := (= #1367 0::int)
+#1404 := (or false #1364)
+#1411 := [th-lemma]: #1404
+#1412 := [unit-resolution #1411 #113]: #1364
+#1413 := (not #1364)
+#1484 := (or #1413 #1373)
+#1485 := [th-lemma]: #1484
+#1486 := [unit-resolution #1485 #1412]: #1373
+#1487 := [th-lemma #1486 #1483 #1480 #1467 #1441 #1479]: #1410
+#1429 := (not #1410)
+#1350 := (<= #876 0::int)
+#1449 := (or #1134 #1350)
+#1450 := [th-lemma]: #1449
+#1451 := [unit-resolution #1450 #1448]: #1350
+#755 := (<= #866 0::int)
+#1473 := (or #766 #755)
+#1474 := [th-lemma]: #1473
+#1475 := [unit-resolution #1474 #1472]: #755
+#1420 := [hypothesis]: #788
+#1433 := (not #1350)
+#1432 := (not #755)
+#1435 := (or #1429 #1430 #1431 #1051 #1432 #1433 #1434)
+#1252 := (>= #1202 2::int)
+#1253 := (not #1252)
+#1399 := (or false #1253)
+#1400 := [th-lemma]: #1399
+#1401 := [unit-resolution #1400 #113]: #1253
+#1403 := [hypothesis]: #1350
+#1372 := (<= #1367 0::int)
+#1414 := (or #1413 #1372)
+#1415 := [th-lemma]: #1414
+#1416 := [unit-resolution #1415 #1412]: #1372
+#1417 := [hypothesis]: #755
+#1418 := [hypothesis]: #563
+#1419 := [hypothesis]: #1410
+#882 := (>= #891 0::int)
+#1422 := (or #1272 #882)
+#1423 := [th-lemma]: #1422
+#1424 := [unit-resolution #1423 #1271]: #882
+#1321 := (<= #1217 0::int)
+#1425 := (or #1281 #1321)
+#1426 := [th-lemma]: #1425
+#1427 := [unit-resolution #1426 #1280]: #1321
+#1428 := [th-lemma #1427 #1424 #1421 #1420 #1419 #1418 #1417 #1416 #1403 #1402 #1401]: false
+#1436 := [lemma #1428]: #1435
+#1476 := [unit-resolution #1436 #1333 #1420 #1421 #1475 #1451 #1402]: #1429
+#1488 := [unit-resolution #1476 #1487]: false
+#1491 := [lemma #1488]: #1490
+#1685 := [unit-resolution #1491 #1684 #1441 #1480 #1421 #1402 #1453]: #1070
+#1686 := (or #1122 #1113)
+#1687 := [th-lemma]: #1686
+#1688 := [unit-resolution #1687 #1685]: #1113
+#1114 := (>= #1069 0::int)
+#1689 := (or #1122 #1114)
+#1690 := [th-lemma]: #1689
+#1691 := [unit-resolution #1690 #1685]: #1114
+#1552 := (not #1113)
+#1578 := (not #1114)
+#1598 := (or #766 #571 #1578 #1489 #1431 #1430 #1552 #1434)
+#1386 := (div #83 2::int)
+#1567 := (* -1::int #1386)
+#1568 := (+ #1405 #1567)
+#1569 := (+ #1068 #1568)
+#1570 := (+ #865 #1569)
+#1571 := (+ #89 #1570)
+#1572 := (+ f14 #1571)
+#1594 := (>= #1572 1::int)
+#1564 := [hypothesis]: #1114
+#1493 := (* -2::int #1386)
+#1494 := (+ #573 #1493)
+#1495 := (+ #83 #1494)
+#1501 := (>= #1495 0::int)
+#1492 := (= #1495 0::int)
+#1540 := (or false #1492)
+#1541 := [th-lemma]: #1540
+#1542 := [unit-resolution #1541 #113]: #1492
+#1543 := (not #1492)
+#1565 := (or #1543 #1501)
+#1566 := [th-lemma]: #1565
+#1575 := [unit-resolution #1566 #1542]: #1501
+#1591 := [hypothesis]: #856
+#1595 := [unit-resolution #1478 #1591]: #757
+#1596 := [th-lemma #1441 #1595 #1575 #1564 #1486 #1480]: #1594
+#1587 := (not #1594)
+#1539 := [hypothesis]: #1113
+#1592 := [unit-resolution #1474 #1591]: #755
+#1588 := (or #1587 #1430 #1431 #1432 #1552 #1434)
+#1500 := (<= #1495 0::int)
+#1544 := (or #1543 #1500)
+#1545 := [th-lemma]: #1544
+#1546 := [unit-resolution #1545 #1542]: #1500
+#1585 := [hypothesis]: #1594
+#1586 := [th-lemma #1427 #1424 #1421 #1420 #1585 #1417 #1546 #1539 #1416 #1402 #1401]: false
+#1589 := [lemma #1586]: #1588
+#1593 := [unit-resolution #1589 #1592 #1420 #1421 #1539 #1402]: #1587
+#1597 := [unit-resolution #1593 #1596]: false
+#1599 := [lemma #1597]: #1598
+#1692 := [unit-resolution #1599 #1691 #1441 #1480 #1684 #1421 #1688 #1402]: #766
+#1633 := [hypothesis]: #586
+#1522 := (or #867 #856)
+#1514 := [hypothesis]: #766
+#1515 := [hypothesis]: #828
+#1516 := [unit-resolution #770 #1515]: #833
+#1517 := (or #742 #867)
+#1518 := [th-lemma]: #1517
+#1519 := [unit-resolution #1518 #1515]: #742
+#1520 := [unit-resolution #745 #1519 #1452]: #797
+#1521 := [unit-resolution #763 #1520 #1516 #1514]: false
+#1523 := [lemma #1521]: #1522
+#1693 := [unit-resolution #1523 #1692]: #867
+#1677 := (or #742 #828 #902 #1636 #1430 #1431 #571)
+#736 := (mod #87 2::int)
+#724 := (* -1::int #736)
+#727 := (+ #88 #724)
+#729 := (= #727 0::int)
+#613 := (not #729)
+#629 := (>= #727 0::int)
+#1637 := (not #629)
+#1528 := (<= #89 0::int)
+#1617 := [hypothesis]: #853
+#743 := (or #740 #742 #847)
+#744 := [def-axiom]: #743
+#1618 := [unit-resolution #744 #1617 #1452]: #847
+#741 := (not #847)
+#1619 := (or #741 #1528)
+#1613 := [th-lemma]: #1619
+#1614 := [unit-resolution #1613 #1618]: #1528
+#1622 := (+ #736 #1214)
+#1624 := (>= #1622 0::int)
+#1621 := [hypothesis]: #867
+#1615 := (or #742 #848)
+#1616 := [th-lemma]: #1615
+#1644 := [unit-resolution #1616 #1617]: #848
+#1657 := (or #1624 #817 #828)
+#1643 := (= #736 #1202)
+#1649 := (= #1202 #736)
+#1647 := (= #1201 #87)
+#1645 := (= #87 #1201)
+#1607 := [hypothesis]: #848
+#1646 := [th-lemma #1607 #1621]: #1645
+#1648 := [symm #1646]: #1647
+#1650 := [monotonicity #1648]: #1649
+#1651 := [symm #1650]: #1643
+#1635 := (not #1624)
+#1652 := [hypothesis]: #1635
+#1653 := (not #1643)
+#1654 := (or #1653 #1624)
+#1655 := [th-lemma]: #1654
+#1656 := [unit-resolution #1655 #1652 #1651]: false
+#1658 := [lemma #1656]: #1657
+#1659 := [unit-resolution #1658 #1644 #1621]: #1624
+#1638 := (not #1528)
+#1639 := (or #1635 #1636 #1637 #1638 #1430 #1431 #571)
+#1630 := [hypothesis]: #1624
+#1631 := [hypothesis]: #1528
+#1632 := [hypothesis]: #629
+#1634 := [th-lemma #1633 #1632 #1631 #1427 #1424 #1421 #1420 #1441 #1630]: false
+#1640 := [lemma #1634]: #1639
+#1660 := [unit-resolution #1640 #1659 #1633 #1614 #1421 #1420 #1441]: #1637
+#1661 := (or #613 #629)
+#1662 := [th-lemma]: #1661
+#1663 := [unit-resolution #1662 #1660]: #613
+#730 := (<= #87 0::int)
+#703 := (not #730)
+#721 := (>= #87 0::int)
+#692 := (not #721)
+#705 := (or #692 #703)
+#1664 := [hypothesis]: #934
+#1605 := (or #730 #729)
+#1532 := [hypothesis]: #613
+#1583 := [hypothesis]: #703
+#622 := (or #705 #730)
+#635 := [def-axiom]: #622
+#1584 := [unit-resolution #635 #1583]: #705
+#685 := (mod #351 -2::int)
+#688 := (+ #88 #685)
+#683 := (= #688 0::int)
+#677 := (ite #705 #729 #683)
+#718 := (= #88 0::int)
+#722 := (= #87 0::int)
+#679 := (ite #722 #718 #677)
+#656 := (or #769 #679)
+#734 := (mod #351 #632)
+#735 := (+ #88 #734)
+#733 := (= #735 0::int)
+#726 := (or #730 #624)
+#731 := (not #726)
+#711 := (or #624 #721)
+#713 := (not #711)
+#714 := (or #713 #731)
+#717 := (ite #714 #729 #733)
+#715 := (ite #722 #718 #717)
+#723 := (= #87 #88)
+#716 := (ite #947 #723 #715)
+#657 := (or #769 #716)
+#650 := (iff #657 #656)
+#660 := (iff #656 #656)
+#651 := [rewrite]: #660
+#665 := (iff #716 #679)
+#671 := (ite false #723 #679)
+#673 := (iff #671 #679)
+#674 := [rewrite]: #673
+#672 := (iff #716 #671)
+#681 := (iff #715 #679)
+#678 := (iff #717 #677)
+#691 := (iff #733 #683)
+#689 := (= #735 #688)
+#686 := (= #734 #685)
+#687 := [monotonicity #927]: #686
+#690 := [monotonicity #687]: #689
+#676 := [monotonicity #690]: #691
+#682 := (iff #714 #705)
+#704 := (iff #731 #703)
+#701 := (iff #726 #730)
+#696 := (or #730 false)
+#699 := (iff #696 #730)
+#700 := [rewrite]: #699
+#697 := (iff #726 #696)
+#698 := [monotonicity #957]: #697
+#702 := [trans #698 #700]: #701
+#693 := [monotonicity #702]: #704
+#694 := (iff #713 #692)
+#707 := (iff #711 #721)
+#719 := (or false #721)
+#708 := (iff #719 #721)
+#709 := [rewrite]: #708
+#720 := (iff #711 #719)
+#706 := [monotonicity #957]: #720
+#710 := [trans #706 #709]: #707
+#695 := [monotonicity #710]: #694
+#684 := [monotonicity #695 #693]: #682
+#680 := [monotonicity #684 #676]: #678
+#670 := [monotonicity #680]: #681
+#664 := [monotonicity #946 #670]: #672
+#675 := [trans #664 #674]: #665
+#659 := [monotonicity #675]: #650
+#661 := [trans #659 #651]: #650
+#658 := [quant-inst]: #657
+#628 := [mp #658 #661]: #656
+#1590 := [unit-resolution #628 #998]: #679
+#599 := (not #722)
+#1600 := (or #599 #730)
+#1601 := [th-lemma]: #1600
+#1602 := [unit-resolution #1601 #1583]: #599
+#618 := (not #679)
+#600 := (or #618 #722 #677)
+#603 := [def-axiom]: #600
+#1603 := [unit-resolution #603 #1602 #1590]: #677
+#636 := (not #705)
+#625 := (not #677)
+#626 := (or #625 #636 #729)
+#605 := [def-axiom]: #626
+#1604 := [unit-resolution #605 #1603 #1584 #1532]: false
+#1606 := [lemma #1604]: #1605
+#1665 := [unit-resolution #1606 #1663]: #730
+#1611 := (or #703 #604 #817)
+#1608 := [hypothesis]: #730
+#1609 := [hypothesis]: #939
+#1610 := [th-lemma #1609 #1608 #1607]: false
+#1612 := [lemma #1610]: #1611
+#1666 := [unit-resolution #1612 #1665 #1644]: #604
+#804 := (or #902 #939 #654)
+#899 := [def-axiom]: #804
+#1667 := [unit-resolution #899 #1666 #1664]: #654
+#1668 := (or #692 #828 #960)
+#1669 := [th-lemma]: #1668
+#1670 := [unit-resolution #1669 #1667 #1621]: #692
+#630 := (or #705 #721)
+#631 := [def-axiom]: #630
+#1671 := [unit-resolution #631 #1670]: #705
+#1672 := (or #599 #721)
+#1673 := [th-lemma]: #1672
+#1674 := [unit-resolution #1673 #1670]: #599
+#1675 := [unit-resolution #603 #1674 #1590]: #677
+#1676 := [unit-resolution #605 #1675 #1671 #1663]: false
+#1678 := [lemma #1676]: #1677
+#1694 := [unit-resolution #1678 #1693 #1680 #1633 #1421 #1684 #1441]: #742
+#1695 := [unit-resolution #745 #1694 #1452]: #797
+#1696 := (or #853 #828 #817)
+#1697 := [th-lemma]: #1696
+#1698 := [unit-resolution #1697 #1694 #1693]: #817
+#783 := (or #833 #848)
+#784 := [def-axiom]: #783
+#1699 := [unit-resolution #784 #1698]: #833
+#1700 := [unit-resolution #763 #1699 #1695 #1692]: false
+#1702 := [lemma #1700]: #1701
+#1727 := [unit-resolution #1702 #1726 #1723 #1720 #1710 #1707 #1524]: #948
+#1728 := [unit-resolution #895 #1727 #1195]: #611
+#1729 := (or #893 #1324)
+#1730 := [th-lemma]: #1729
+#1731 := [unit-resolution #1730 #1728]: #1324
+#1732 := (or #883 #960)
+#1733 := [th-lemma]: #1732
+#1734 := [unit-resolution #1733 #1727]: #960
+#1735 := [th-lemma #1723 #1424 #1720 #1734 #1731]: false
+#1736 := [lemma #1735]: #368
+#648 := (or #85 #634)
+#647 := (or #85 #634 #574)
+#644 := [def-axiom]: #647
+#627 := [unit-resolution #644 #378]: #648
+#1737 := [unit-resolution #627 #1736]: #85
+#1763 := [monotonicity #1737]: #616
+#1764 := [trans #1526 #1763]: #90
+#1748 := [hypothesis]: #361
+#1754 := (or #811 #358)
+#640 := (or #962 #571)
+#623 := [th-lemma]: #640
+#588 := [unit-resolution #623 #1737]: #571
+#1115 := [hypothesis]: #619
+#1116 := [unit-resolution #1303 #1115]: #903
+#1327 := (not #1222)
+#1326 := (not #1246)
+#1325 := (not #877)
+#1328 := (or #578 #1325 #1291 #1326 #1327 #1440)
+#1527 := [th-lemma]: #1328
+#1745 := [unit-resolution #1527 #1116 #588 #1284 #1275 #1287]: #578
+#1746 := [unit-resolution #1683 #1115]: #788
+#1743 := (or #577 #1431)
+#1738 := (or #962 #589)
+#1739 := [th-lemma]: #1738
+#1740 := [unit-resolution #1739 #1737]: #589
+#1741 := [hypothesis]: #1292
+#1742 := [th-lemma #1741 #1424 #1420 #1427 #1740 #1401]: false
+#1744 := [lemma #1742]: #1743
+#1747 := [unit-resolution #1744 #1746]: #577
+#1751 := (or #1292 #1430)
+#1749 := (or #358 #1292 #1430)
+#1750 := [th-lemma]: #1749
+#1752 := [unit-resolution #1750 #1748]: #1751
+#1753 := [unit-resolution #1752 #1747 #1745]: false
+#1755 := [lemma #1753]: #1754
+#1135 := [unit-resolution #1755 #1748]: #811
+#759 := (or #948 #619)
+#1260 := [hypothesis]: #811
+#758 := [unit-resolution #808 #1679 #1680 #1260]: false
+#639 := [lemma #758]: #759
+#1136 := [unit-resolution #639 #1135]: #948
+#1137 := [unit-resolution #895 #1136 #1195]: #611
+#805 := [unit-resolution #1192 #1137]: #1193
+#806 := [unit-resolution #1296 #1136]: #604
+#1126 := (not #1193)
+#1127 := (or #578 #939 #1126 #1325 #1440)
+#1124 := [th-lemma]: #1127
+#1125 := [unit-resolution #1124 #806 #588 #805 #1275]: #578
+#1138 := [unit-resolution #1730 #1137]: #1324
+#803 := [unit-resolution #1733 #1136]: #960
+#1757 := (not #882)
+#1756 := (not #1324)
+#1758 := (or #577 #654 #1756 #1757 #1276)
+#1759 := [th-lemma]: #1758
+#1760 := [unit-resolution #1759 #803 #1740 #1424 #1138]: #577
+#1761 := [unit-resolution #1752 #1760 #1125]: false
+#1762 := [lemma #1761]: #358
+#645 := (or #634 #367 #361)
+#646 := [def-axiom]: #645
+#638 := [unit-resolution #646 #1736]: #368
+#615 := [unit-resolution #638 #1762]: #367
+[unit-resolution #615 #1764]: false
+unsat
--- a/src/HOL/SMT_Examples/SMT_Examples.thy	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.thy	Thu May 27 14:55:53 2010 +0200
@@ -335,11 +335,9 @@
 
 lemma "let P = 2 * x + 1 > x + (x::real) in P \<or> False \<or> P" by smt
 
-lemma "x + (let y = x mod 2 in 2 * y + 1) \<ge> x + (1::int)"
-  sorry (* FIXME: div/mod *)
+lemma "x + (let y = x mod 2 in 2 * y + 1) \<ge> x + (1::int)" by smt
 
-lemma "x + (let y = x mod 2 in y + y) < x + (3::int)"
-  sorry (* FIXME: div/mod *)
+lemma "x + (let y = x mod 2 in y + y) < x + (3::int)" by smt
 
 lemma
   assumes "x \<noteq> (0::real)"
@@ -349,7 +347,8 @@
 lemma                                                                         
   assumes "(n + m) mod 2 = 0" and "n mod 4 = 3"                               
   shows "n mod 2 = 1 & m mod 2 = (1::int)"      
-  using assms sorry (* FIXME: div/mod *)
+  using assms by smt
+
 
 
 subsection {* Linear arithmetic with quantifiers *}
@@ -484,10 +483,7 @@
    (eval_dioph ks (map (\<lambda>x. x mod 2) xs) mod 2 = l mod 2 \<and>
     eval_dioph ks (map (\<lambda>x. x div 2) xs) =
       (l - eval_dioph ks (map (\<lambda>x. x mod 2) xs)) div 2)"
-  sorry (* FIXME: div/mod *)
-(*
   by (smt eval_dioph_mod[where n=2] eval_dioph_div_mult[where n=2])
-*)
 
 
 section {* Monomorphization examples *}
--- a/src/HOL/SMT_Examples/SMT_Tests.certs	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Tests.certs	Thu May 27 14:55:53 2010 +0200
@@ -24641,3 +24641,26623 @@
 #545 := [unit-resolution #170 #207]: #239
 [unit-resolution #545 #551]: false
 unsat
+5fd6f0b95d28076d72c87d57b5b920aec5c6efe5 250 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#55 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := (f3 0::int 0::int)
+#54 := (f5 #53)
+#56 := (= #54 #55)
+#505 := (= #53 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#843 := (pattern #10)
+#81 := -1::int
+#85 := (* -1::int #9)
+#82 := (* -1::int #8)
+#88 := (div #82 #85)
+#345 := (* -1::int #88)
+#346 := (+ #10 #345)
+#347 := (= #346 0::int)
+#21 := (div #8 #9)
+#342 := (* -1::int #21)
+#343 := (+ #10 #342)
+#344 := (= #343 0::int)
+#107 := (<= #9 0::int)
+#103 := (<= #8 0::int)
+#300 := (or #103 #107)
+#301 := (not #300)
+#114 := (>= #8 0::int)
+#283 := (or #107 #114)
+#284 := (not #283)
+#307 := (or #284 #301)
+#348 := (ite #307 #344 #347)
+#341 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#349 := (ite #14 #341 #348)
+#844 := (forall (vars (?v0 int) (?v1 int)) (:pat #843) #349)
+#352 := (forall (vars (?v0 int) (?v1 int)) #349)
+#847 := (iff #352 #844)
+#845 := (iff #349 #349)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#312 := (ite #307 #21 #88)
+#315 := (ite #14 0::int #312)
+#318 := (= #10 #315)
+#321 := (forall (vars (?v0 int) (?v1 int)) #318)
+#353 := (iff #321 #352)
+#350 := (iff #318 #349)
+#351 := [rewrite]: #350
+#354 := [quant-intro #351]: #353
+#115 := (not #114)
+#108 := (not #107)
+#118 := (and #108 #115)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#124 := (ite #121 #21 #88)
+#127 := (ite #14 0::int #124)
+#130 := (= #10 #127)
+#133 := (forall (vars (?v0 int) (?v1 int)) #130)
+#322 := (iff #133 #321)
+#319 := (iff #130 #318)
+#316 := (= #127 #315)
+#313 := (= #124 #312)
+#310 := (iff #121 #307)
+#304 := (or #301 #284)
+#308 := (iff #304 #307)
+#309 := [rewrite]: #308
+#305 := (iff #121 #304)
+#302 := (iff #118 #284)
+#303 := [rewrite]: #302
+#281 := (iff #111 #301)
+#282 := [rewrite]: #281
+#306 := [monotonicity #282 #303]: #305
+#311 := [trans #306 #309]: #310
+#314 := [monotonicity #311]: #313
+#317 := [monotonicity #314]: #316
+#320 := [monotonicity #317]: #319
+#323 := [quant-intro #320]: #322
+#287 := (~ #133 #133)
+#285 := (~ #130 #130)
+#286 := [refl]: #285
+#288 := [nnf-pos #286]: #287
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#136 := (iff #28 #133)
+#75 := (and #16 #18)
+#78 := (or #17 #75)
+#91 := (ite #78 #21 #88)
+#94 := (ite #14 0::int #91)
+#97 := (= #10 #94)
+#100 := (forall (vars (?v0 int) (?v1 int)) #97)
+#134 := (iff #100 #133)
+#131 := (iff #97 #130)
+#128 := (= #94 #127)
+#125 := (= #91 #124)
+#122 := (iff #78 #121)
+#119 := (iff #75 #118)
+#116 := (iff #18 #115)
+#117 := [rewrite]: #116
+#109 := (iff #16 #108)
+#110 := [rewrite]: #109
+#120 := [monotonicity #110 #117]: #119
+#112 := (iff #17 #111)
+#105 := (iff #15 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#126 := [monotonicity #123]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [quant-intro #132]: #134
+#101 := (iff #28 #100)
+#98 := (iff #27 #97)
+#95 := (= #26 #94)
+#92 := (= #25 #91)
+#89 := (= #24 #88)
+#86 := (= #23 #85)
+#87 := [rewrite]: #86
+#83 := (= #22 #82)
+#84 := [rewrite]: #83
+#90 := [monotonicity #84 #87]: #89
+#79 := (iff #20 #78)
+#76 := (iff #19 #75)
+#77 := [rewrite]: #76
+#80 := [monotonicity #77]: #79
+#93 := [monotonicity #80 #90]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [quant-intro #99]: #101
+#137 := [trans #102 #135]: #136
+#74 := [asserted]: #28
+#138 := [mp #74 #137]: #133
+#272 := [mp~ #138 #288]: #133
+#324 := [mp #272 #323]: #321
+#355 := [mp #324 #354]: #352
+#849 := [mp #355 #848]: #844
+#802 := (not #844)
+#797 := (or #802 #505)
+#429 := (* -1::int 0::int)
+#514 := (div #429 #429)
+#515 := (* -1::int #514)
+#516 := (+ #53 #515)
+#507 := (= #516 0::int)
+#518 := (div 0::int 0::int)
+#519 := (* -1::int #518)
+#447 := (+ #53 #519)
+#520 := (= #447 0::int)
+#517 := (<= 0::int 0::int)
+#521 := (or #517 #517)
+#500 := (not #521)
+#835 := (>= 0::int 0::int)
+#837 := (or #517 #835)
+#494 := (not #837)
+#624 := (or #494 #500)
+#831 := (ite #624 #520 #507)
+#506 := (= 0::int 0::int)
+#838 := (or #506 #506)
+#839 := (ite #838 #505 #831)
+#803 := (or #802 #839)
+#645 := (iff #803 #797)
+#788 := (iff #797 #797)
+#789 := [rewrite]: #788
+#796 := (iff #839 #505)
+#1 := true
+#809 := (ite true #505 #520)
+#800 := (iff #809 #505)
+#795 := [rewrite]: #800
+#798 := (iff #839 #809)
+#808 := (iff #831 #520)
+#528 := (ite false #520 #520)
+#522 := (iff #528 #520)
+#804 := [rewrite]: #522
+#806 := (iff #831 #528)
+#526 := (iff #507 #520)
+#815 := (= #516 #447)
+#814 := (= #515 #519)
+#536 := (= #514 #518)
+#813 := (= #429 0::int)
+#535 := [rewrite]: #813
+#810 := [monotonicity #535 #535]: #536
+#811 := [monotonicity #810]: #814
+#525 := [monotonicity #811]: #815
+#527 := [monotonicity #525]: #526
+#435 := (iff #624 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#539 := (iff #624 #817)
+#830 := (iff #500 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#819 := [rewrite]: #824
+#829 := (iff #500 #821)
+#468 := (iff #521 true)
+#836 := (or true true)
+#492 := (iff #836 true)
+#497 := [rewrite]: #492
+#826 := (iff #521 #836)
+#834 := (iff #517 true)
+#477 := [rewrite]: #834
+#828 := [monotonicity #477 #477]: #826
+#469 := [trans #828 #497]: #468
+#827 := [monotonicity #469]: #829
+#816 := [trans #827 #819]: #830
+#825 := (iff #494 false)
+#822 := (iff #494 #821)
+#484 := (iff #837 true)
+#482 := (iff #837 #836)
+#818 := (iff #835 true)
+#481 := [rewrite]: #818
+#483 := [monotonicity #477 #481]: #482
+#820 := [trans #483 #497]: #484
+#823 := [monotonicity #820]: #822
+#463 := [trans #823 #819]: #825
+#540 := [monotonicity #463 #816]: #539
+#812 := [trans #540 #542]: #435
+#807 := [monotonicity #812 #527]: #806
+#805 := [trans #807 #804]: #808
+#833 := (iff #838 true)
+#842 := (iff #838 #836)
+#840 := (iff #506 true)
+#841 := [rewrite]: #840
+#832 := [monotonicity #841 #841]: #842
+#493 := [trans #832 #497]: #833
+#799 := [monotonicity #493 #805]: #798
+#801 := [trans #799 #795]: #796
+#646 := [monotonicity #801]: #645
+#790 := [trans #646 #789]: #645
+#644 := [quant-inst]: #803
+#791 := [mp #644 #790]: #797
+#745 := [unit-resolution #791 #849]: #505
+#746 := [monotonicity #745]: #56
+#57 := (not #56)
+#269 := [asserted]: #57
+[unit-resolution #269 #746]: false
+unsat
+577ee4fbd823426a4a6929a83c9bfd94f9748c36 265 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f3 :: (-> int int int)
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#55 := (f3 #54 0::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#840 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#845 := (pattern #10)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#846 := (forall (vars (?v0 int) (?v1 int)) (:pat #845) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#849 := (iff #354 #846)
+#847 := (iff #351 #351)
+#848 := [refl]: #847
+#850 := [quant-intro #848]: #849
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#851 := [mp #357 #850]: #846
+#788 := (not #846)
+#794 := (or #788 #840)
+#431 := (* -1::int 0::int)
+#516 := (* -1::int #54)
+#517 := (div #516 #431)
+#518 := (* -1::int #517)
+#509 := (+ #55 #518)
+#520 := (= #509 0::int)
+#521 := (div #54 0::int)
+#449 := (* -1::int #521)
+#522 := (+ #55 #449)
+#519 := (= #522 0::int)
+#523 := (<= 0::int 0::int)
+#502 := (<= #54 0::int)
+#837 := (or #502 #523)
+#839 := (not #837)
+#496 := (>= #54 0::int)
+#626 := (or #523 #496)
+#833 := (not #626)
+#507 := (or #833 #839)
+#508 := (ite #507 #519 #520)
+#841 := (= 0::int 0::int)
+#842 := (= #54 0::int)
+#843 := (or #842 #841)
+#838 := (ite #843 #840 #508)
+#795 := (or #788 #838)
+#796 := (iff #795 #794)
+#627 := (iff #794 #794)
+#628 := [rewrite]: #627
+#793 := (iff #838 #840)
+#529 := (div #516 0::int)
+#809 := (* -1::int #529)
+#810 := (+ #55 #809)
+#800 := (= #810 0::int)
+#1 := true
+#647 := (ite true #840 #800)
+#791 := (iff #647 #840)
+#792 := [rewrite]: #791
+#648 := (iff #838 #647)
+#805 := (iff #508 #800)
+#797 := (ite false #519 #800)
+#804 := (iff #797 #800)
+#799 := [rewrite]: #804
+#798 := (iff #508 #797)
+#801 := (iff #520 #800)
+#807 := (= #509 #810)
+#524 := (= #518 #809)
+#530 := (= #517 #529)
+#527 := (= #431 0::int)
+#528 := [rewrite]: #527
+#808 := [monotonicity #528]: #530
+#806 := [monotonicity #808]: #524
+#811 := [monotonicity #806]: #807
+#802 := [monotonicity #811]: #801
+#813 := (iff #507 false)
+#815 := (or false false)
+#812 := (iff #815 false)
+#816 := [rewrite]: #812
+#537 := (iff #507 #815)
+#437 := (iff #839 false)
+#821 := (not true)
+#828 := (iff #821 false)
+#830 := [rewrite]: #828
+#543 := (iff #839 #821)
+#541 := (iff #837 true)
+#831 := (or #502 true)
+#818 := (iff #831 true)
+#819 := [rewrite]: #818
+#829 := (iff #837 #831)
+#483 := (iff #523 true)
+#484 := [rewrite]: #483
+#832 := [monotonicity #484]: #829
+#542 := [trans #832 #819]: #541
+#544 := [monotonicity #542]: #543
+#814 := [trans #544 #830]: #437
+#470 := (iff #833 false)
+#827 := (iff #833 #821)
+#825 := (iff #626 true)
+#485 := (or true #496)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#486 := (iff #626 #485)
+#822 := [monotonicity #484]: #486
+#826 := [trans #822 #824]: #825
+#465 := [monotonicity #826]: #827
+#471 := [trans #465 #830]: #470
+#538 := [monotonicity #471 #814]: #537
+#817 := [trans #538 #816]: #813
+#803 := [monotonicity #817 #802]: #798
+#646 := [trans #803 #799]: #805
+#479 := (iff #843 true)
+#494 := (or #842 true)
+#495 := (iff #494 true)
+#836 := [rewrite]: #495
+#499 := (iff #843 #494)
+#844 := (iff #841 true)
+#834 := [rewrite]: #844
+#835 := [monotonicity #834]: #499
+#820 := [trans #835 #836]: #479
+#790 := [monotonicity #820 #646]: #648
+#787 := [trans #790 #792]: #793
+#625 := [monotonicity #787]: #796
+#781 := [trans #625 #628]: #796
+#789 := [quant-inst]: #795
+#782 := [mp #789 #781]: #794
+#737 := [unit-resolution #782 #851]: #840
+#738 := [monotonicity #737]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #738]: false
+unsat
+38260716feee2c5a0d6d5d90494cc5c9c5e520dc 287 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := 1::int
+#54 := (f3 0::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#839 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#843 := (pattern #10)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#844 := (forall (vars (?v0 int) (?v1 int)) (:pat #843) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#847 := (iff #353 #844)
+#845 := (iff #350 #350)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#849 := [mp #356 #848]: #844
+#679 := (not #844)
+#672 := (or #679 #839)
+#430 := (* -1::int 1::int)
+#514 := (* -1::int 0::int)
+#515 := (div #514 #430)
+#516 := (* -1::int #515)
+#507 := (+ #54 #516)
+#518 := (= #507 0::int)
+#519 := (div 0::int 1::int)
+#520 := (* -1::int #519)
+#517 := (+ #54 #520)
+#521 := (= #517 0::int)
+#500 := (<= 1::int 0::int)
+#835 := (<= 0::int 0::int)
+#837 := (or #835 #500)
+#494 := (not #837)
+#624 := (>= 0::int 0::int)
+#831 := (or #500 #624)
+#505 := (not #831)
+#506 := (or #505 #494)
+#838 := (ite #506 #521 #518)
+#840 := (= 1::int 0::int)
+#841 := (= 0::int 0::int)
+#836 := (or #841 #840)
+#842 := (ite #836 #839 #838)
+#680 := (or #679 #842)
+#682 := (iff #680 #672)
+#684 := (iff #672 #672)
+#777 := [rewrite]: #684
+#676 := (iff #842 #839)
+#1 := true
+#677 := (ite true #839 #839)
+#776 := (iff #677 #839)
+#661 := [rewrite]: #776
+#772 := (iff #842 #677)
+#627 := (iff #838 #839)
+#781 := (ite false #839 #839)
+#667 := (iff #781 #839)
+#668 := [rewrite]: #667
+#784 := (iff #838 #781)
+#782 := (iff #518 #839)
+#779 := (= #507 #54)
+#799 := (+ #54 0::int)
+#796 := (= #799 #54)
+#801 := [rewrite]: #796
+#625 := (= #507 #799)
+#794 := (= #516 0::int)
+#808 := (= #514 0::int)
+#805 := [rewrite]: #808
+#793 := (= #516 #514)
+#786 := (= #515 0::int)
+#788 := (div 0::int -1::int)
+#791 := (= #788 0::int)
+#785 := [rewrite]: #791
+#789 := (= #515 #788)
+#645 := (= #430 -1::int)
+#646 := [rewrite]: #645
+#790 := [monotonicity #805 #646]: #789
+#792 := [trans #790 #785]: #786
+#787 := [monotonicity #792]: #793
+#623 := [trans #787 #805]: #794
+#626 := [monotonicity #623]: #625
+#780 := [trans #626 #801]: #779
+#783 := [monotonicity #780]: #782
+#803 := (iff #521 #839)
+#802 := (= #517 #54)
+#800 := (= #517 #799)
+#809 := (= #520 0::int)
+#522 := (= #520 #514)
+#806 := (= #519 0::int)
+#807 := [rewrite]: #806
+#804 := [monotonicity #807]: #522
+#798 := [trans #804 #805]: #809
+#795 := [monotonicity #798]: #800
+#797 := [trans #795 #801]: #802
+#644 := [monotonicity #797]: #803
+#527 := (iff #506 false)
+#814 := (or false false)
+#525 := (iff #814 false)
+#526 := [rewrite]: #525
+#811 := (iff #506 #814)
+#536 := (iff #494 false)
+#468 := (not true)
+#827 := (iff #468 false)
+#830 := [rewrite]: #827
+#813 := (iff #494 #468)
+#436 := (iff #837 true)
+#493 := (or true false)
+#818 := (iff #493 true)
+#481 := [rewrite]: #818
+#541 := (iff #837 #493)
+#484 := (iff #500 false)
+#820 := [rewrite]: #484
+#539 := (iff #835 true)
+#540 := [rewrite]: #539
+#542 := [monotonicity #540 #820]: #541
+#812 := [trans #542 #481]: #436
+#535 := [monotonicity #812]: #813
+#810 := [trans #535 #830]: #536
+#816 := (iff #505 false)
+#469 := (iff #505 #468)
+#826 := (iff #831 true)
+#823 := (or false true)
+#825 := (iff #823 true)
+#463 := [rewrite]: #825
+#824 := (iff #831 #823)
+#821 := (iff #624 true)
+#822 := [rewrite]: #821
+#819 := [monotonicity #820 #822]: #824
+#828 := [trans #819 #463]: #826
+#829 := [monotonicity #828]: #469
+#817 := [trans #829 #830]: #816
+#815 := [monotonicity #817 #810]: #811
+#528 := [trans #815 #526]: #527
+#666 := [monotonicity #528 #644 #783]: #784
+#775 := [trans #666 #668]: #627
+#482 := (iff #836 true)
+#834 := (iff #836 #493)
+#497 := (iff #840 false)
+#833 := [rewrite]: #497
+#832 := (iff #841 true)
+#492 := [rewrite]: #832
+#477 := [monotonicity #492 #833]: #834
+#483 := [trans #477 #481]: #482
+#773 := [monotonicity #483 #775]: #772
+#678 := [trans #773 #661]: #676
+#683 := [monotonicity #678]: #682
+#774 := [trans #683 #777]: #682
+#681 := [quant-inst]: #680
+#778 := [mp #681 #774]: #672
+#690 := [unit-resolution #778 #849]: #839
+#691 := [monotonicity #690]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #691]: false
+unsat
+6b343bdfe13616e1563ddaa748d8eef633fbba98 287 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 1::int
+#56 := (f5 1::int)
+decl f3 :: (-> int int int)
+#54 := (f3 1::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#801 := (= #54 1::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#843 := (pattern #10)
+#11 := 0::int
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#844 := (forall (vars (?v0 int) (?v1 int)) (:pat #843) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#847 := (iff #353 #844)
+#845 := (iff #350 #350)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#849 := [mp #356 #848]: #844
+#679 := (not #844)
+#672 := (or #679 #801)
+#430 := (* -1::int 1::int)
+#514 := (div #430 #430)
+#515 := (* -1::int #514)
+#516 := (+ #54 #515)
+#507 := (= #516 0::int)
+#518 := (div 1::int 1::int)
+#519 := (* -1::int #518)
+#520 := (+ #54 #519)
+#517 := (= #520 0::int)
+#521 := (<= 1::int 0::int)
+#500 := (or #521 #521)
+#835 := (not #500)
+#837 := (>= 1::int 0::int)
+#494 := (or #521 #837)
+#624 := (not #494)
+#831 := (or #624 #835)
+#505 := (ite #831 #517 #507)
+#506 := (= #54 0::int)
+#838 := (= 1::int 0::int)
+#839 := (or #838 #838)
+#840 := (ite #839 #506 #505)
+#680 := (or #679 #840)
+#682 := (iff #680 #672)
+#684 := (iff #672 #672)
+#777 := [rewrite]: #684
+#676 := (iff #840 #801)
+#677 := (ite false #506 #801)
+#776 := (iff #677 #801)
+#661 := [rewrite]: #776
+#772 := (iff #840 #677)
+#627 := (iff #505 #801)
+#1 := true
+#781 := (ite true #801 #801)
+#667 := (iff #781 #801)
+#668 := [rewrite]: #667
+#784 := (iff #505 #781)
+#782 := (iff #507 #801)
+#808 := (+ -1::int #54)
+#800 := (= #808 0::int)
+#802 := (iff #800 #801)
+#797 := [rewrite]: #802
+#779 := (iff #507 #800)
+#625 := (= #516 #808)
+#807 := (+ #54 -1::int)
+#805 := (= #807 #808)
+#809 := [rewrite]: #805
+#794 := (= #516 #807)
+#793 := (= #515 -1::int)
+#526 := (= #430 -1::int)
+#527 := [rewrite]: #526
+#786 := (= #515 #430)
+#791 := (= #514 1::int)
+#645 := (div -1::int -1::int)
+#789 := (= #645 1::int)
+#790 := [rewrite]: #789
+#646 := (= #514 #645)
+#788 := [monotonicity #527 #527]: #646
+#785 := [trans #788 #790]: #791
+#792 := [monotonicity #785]: #786
+#787 := [trans #792 #527]: #793
+#623 := [monotonicity #787]: #794
+#626 := [trans #623 #809]: #625
+#780 := [monotonicity #626]: #779
+#783 := [trans #780 #797]: #782
+#803 := (iff #517 #801)
+#795 := (iff #517 #800)
+#798 := (= #520 #808)
+#522 := (= #520 #807)
+#528 := (= #519 -1::int)
+#815 := (= #519 #430)
+#814 := (= #518 1::int)
+#811 := [rewrite]: #814
+#525 := [monotonicity #811]: #815
+#806 := [trans #525 #527]: #528
+#804 := [monotonicity #806]: #522
+#799 := [trans #804 #809]: #798
+#796 := [monotonicity #799]: #795
+#644 := [trans #796 #797]: #803
+#536 := (iff #831 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#813 := (iff #831 #483)
+#436 := (iff #835 true)
+#817 := (not false)
+#541 := (iff #817 true)
+#542 := [rewrite]: #541
+#539 := (iff #835 #817)
+#830 := (iff #500 false)
+#842 := (or false false)
+#497 := (iff #842 false)
+#833 := [rewrite]: #497
+#829 := (iff #500 #842)
+#477 := (iff #521 false)
+#818 := [rewrite]: #477
+#827 := [monotonicity #818 #818]: #829
+#816 := [trans #827 #833]: #830
+#540 := [monotonicity #816]: #539
+#812 := [trans #540 #542]: #436
+#468 := (iff #624 false)
+#819 := (not true)
+#826 := (iff #819 false)
+#828 := [rewrite]: #826
+#825 := (iff #624 #819)
+#823 := (iff #494 true)
+#484 := (iff #494 #483)
+#481 := (iff #837 true)
+#482 := [rewrite]: #481
+#820 := [monotonicity #818 #482]: #484
+#824 := [trans #820 #822]: #823
+#463 := [monotonicity #824]: #825
+#469 := [trans #463 #828]: #468
+#535 := [monotonicity #469 #812]: #813
+#810 := [trans #535 #822]: #536
+#666 := [monotonicity #810 #644 #783]: #784
+#775 := [trans #666 #668]: #627
+#493 := (iff #839 false)
+#832 := (iff #839 #842)
+#841 := (iff #838 false)
+#836 := [rewrite]: #841
+#492 := [monotonicity #836 #836]: #832
+#834 := [trans #492 #833]: #493
+#773 := [monotonicity #834 #775]: #772
+#678 := [trans #773 #661]: #676
+#683 := [monotonicity #678]: #682
+#774 := [trans #683 #777]: #682
+#681 := [quant-inst]: #680
+#778 := [mp #681 #774]: #672
+#691 := [unit-resolution #778 #849]: #801
+#692 := [monotonicity #691]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #692]: false
+unsat
+5c0dd3f575123070a20e46cf419a9f04838a0c5d 298 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 3::int
+#57 := (f5 3::int)
+decl f3 :: (-> int int int)
+#54 := 1::int
+#55 := (f3 3::int 1::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#790 := (= #55 3::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#766 := (not #845)
+#768 := (or #766 #790)
+#431 := (* -1::int 1::int)
+#515 := (* -1::int 3::int)
+#516 := (div #515 #431)
+#517 := (* -1::int #516)
+#508 := (+ #55 #517)
+#519 := (= #508 0::int)
+#520 := (div 3::int 1::int)
+#521 := (* -1::int #520)
+#518 := (+ #55 #521)
+#522 := (= #518 0::int)
+#501 := (<= 1::int 0::int)
+#836 := (<= 3::int 0::int)
+#838 := (or #836 #501)
+#495 := (not #838)
+#625 := (>= 3::int 0::int)
+#832 := (or #501 #625)
+#506 := (not #832)
+#507 := (or #506 #495)
+#839 := (ite #507 #522 #519)
+#840 := (= #55 0::int)
+#841 := (= 1::int 0::int)
+#842 := (= 3::int 0::int)
+#837 := (or #842 #841)
+#843 := (ite #837 #840 #839)
+#760 := (or #766 #843)
+#759 := (iff #760 #768)
+#770 := (iff #768 #768)
+#771 := [rewrite]: #770
+#775 := (iff #843 #790)
+#682 := (ite false #840 #790)
+#685 := (iff #682 #790)
+#778 := [rewrite]: #685
+#683 := (iff #843 #682)
+#673 := (iff #839 #790)
+#1 := true
+#777 := (ite true #790 #790)
+#679 := (iff #777 #790)
+#680 := [rewrite]: #679
+#662 := (iff #839 #777)
+#773 := (iff #519 #790)
+#809 := -3::int
+#802 := (+ -3::int #55)
+#646 := (= #802 0::int)
+#791 := (iff #646 #790)
+#792 := [rewrite]: #791
+#776 := (iff #519 #646)
+#669 := (= #508 #802)
+#801 := (+ #55 -3::int)
+#803 := (= #801 #802)
+#798 := [rewrite]: #803
+#667 := (= #508 #801)
+#782 := (= #517 -3::int)
+#806 := (= #515 -3::int)
+#810 := [rewrite]: #806
+#783 := (= #517 #515)
+#780 := (= #516 3::int)
+#788 := (div -3::int -1::int)
+#626 := (= #788 3::int)
+#627 := [rewrite]: #626
+#795 := (= #516 #788)
+#793 := (= #431 -1::int)
+#794 := [rewrite]: #793
+#624 := [monotonicity #810 #794]: #795
+#781 := [trans #624 #627]: #780
+#784 := [monotonicity #781]: #783
+#785 := [trans #784 #810]: #782
+#668 := [monotonicity #785]: #667
+#628 := [trans #668 #798]: #669
+#678 := [monotonicity #628]: #776
+#774 := [trans #678 #792]: #773
+#786 := (iff #522 #790)
+#647 := (iff #522 #646)
+#804 := (= #518 #802)
+#796 := (= #518 #801)
+#799 := (= #521 -3::int)
+#523 := (= #521 #515)
+#807 := (= #520 3::int)
+#808 := [rewrite]: #807
+#805 := [monotonicity #808]: #523
+#800 := [trans #805 #810]: #799
+#797 := [monotonicity #800]: #796
+#645 := [trans #797 #798]: #804
+#789 := [monotonicity #645]: #647
+#787 := [trans #789 #792]: #786
+#528 := (iff #507 true)
+#824 := (or false true)
+#826 := (iff #824 true)
+#464 := [rewrite]: #826
+#526 := (iff #507 #824)
+#812 := (iff #495 true)
+#814 := (not false)
+#811 := (iff #814 true)
+#815 := [rewrite]: #811
+#536 := (iff #495 #814)
+#437 := (iff #838 false)
+#494 := (or false false)
+#819 := (iff #494 false)
+#482 := [rewrite]: #819
+#542 := (iff #838 #494)
+#485 := (iff #501 false)
+#821 := [rewrite]: #485
+#540 := (iff #836 false)
+#541 := [rewrite]: #540
+#543 := [monotonicity #541 #821]: #542
+#813 := [trans #543 #482]: #437
+#537 := [monotonicity #813]: #536
+#816 := [trans #537 #815]: #812
+#817 := (iff #506 false)
+#469 := (not true)
+#828 := (iff #469 false)
+#831 := [rewrite]: #828
+#470 := (iff #506 #469)
+#827 := (iff #832 true)
+#825 := (iff #832 #824)
+#822 := (iff #625 true)
+#823 := [rewrite]: #822
+#820 := [monotonicity #821 #823]: #825
+#829 := [trans #820 #464]: #827
+#830 := [monotonicity #829]: #470
+#818 := [trans #830 #831]: #817
+#527 := [monotonicity #818 #816]: #526
+#529 := [trans #527 #464]: #528
+#677 := [monotonicity #529 #787 #774]: #662
+#681 := [trans #677 #680]: #673
+#483 := (iff #837 false)
+#835 := (iff #837 #494)
+#498 := (iff #841 false)
+#834 := [rewrite]: #498
+#833 := (iff #842 false)
+#493 := [rewrite]: #833
+#478 := [monotonicity #493 #834]: #835
+#484 := [trans #478 #482]: #483
+#684 := [monotonicity #484 #681]: #683
+#779 := [trans #684 #778]: #775
+#769 := [monotonicity #779]: #759
+#767 := [trans #769 #771]: #759
+#757 := [quant-inst]: #760
+#772 := [mp #757 #767]: #768
+#705 := [unit-resolution #772 #850]: #790
+#706 := [monotonicity #705]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #706]: false
+unsat
+a115e847151bf63d3c64fc32935e390311baf0fe 360 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f3 :: (-> int int int)
+#55 := 1::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 1::int)
+#57 := (f5 #56)
+#272 := (= f7 #57)
+#689 := (f5 #54)
+#624 := (= #689 #57)
+#621 := (= #57 #689)
+#618 := (= #56 #54)
+#11 := 0::int
+#583 := (= 0::int #54)
+#849 := (= #54 0::int)
+#843 := (<= #54 0::int)
+#825 := (not #843)
+#632 := (>= #54 0::int)
+#833 := (not #632)
+#549 := (or #833 #825)
+#799 := (not #549)
+#527 := (div #54 1::int)
+#83 := -1::int
+#528 := (* -1::int #527)
+#525 := (+ #56 #528)
+#529 := (= #525 0::int)
+#789 := (not #529)
+#711 := (= #527 #54)
+#645 := (= #54 #527)
+#712 := (+ #54 #528)
+#695 := (<= #712 0::int)
+#709 := (= #712 0::int)
+#1 := true
+#74 := [true-axiom]: true
+#667 := (or false #709)
+#628 := [th-lemma]: #667
+#629 := [unit-resolution #628 #74]: #709
+#636 := (not #709)
+#638 := (or #636 #695)
+#639 := [th-lemma]: #638
+#640 := [unit-resolution #639 #629]: #695
+#641 := (>= #712 0::int)
+#642 := (or #636 #641)
+#643 := [th-lemma]: #642
+#644 := [unit-resolution #643 #629]: #641
+#646 := [th-lemma #644 #640]: #645
+#648 := [symm #646]: #711
+#666 := (= #56 #527)
+#801 := (<= #525 0::int)
+#659 := [hypothesis]: #529
+#660 := (or #789 #801)
+#661 := [th-lemma]: #660
+#662 := [unit-resolution #661 #659]: #801
+#795 := (>= #525 0::int)
+#663 := (or #789 #795)
+#664 := [th-lemma]: #663
+#665 := [unit-resolution #664 #659]: #795
+#651 := [th-lemma #665 #662]: #666
+#619 := [trans #651 #648]: #618
+#623 := [monotonicity #619]: #621
+#625 := [symm #623]: #624
+#690 := (= f7 #689)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#865 := (pattern #39)
+#40 := (f5 #39)
+#187 := (= #38 #40)
+#866 := (forall (vars (?v0 S2)) (:pat #865) #187)
+#190 := (forall (vars (?v0 S2)) #187)
+#867 := (iff #190 #866)
+#869 := (iff #866 #866)
+#870 := [rewrite]: #869
+#868 := [rewrite]: #867
+#871 := [trans #868 #870]: #867
+#284 := (~ #190 #190)
+#300 := (~ #187 #187)
+#301 := [refl]: #300
+#285 := [nnf-pos #301]: #284
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#191 := (iff #42 #190)
+#188 := (iff #41 #187)
+#189 := [rewrite]: #188
+#192 := [quant-intro #189]: #191
+#186 := [asserted]: #42
+#195 := [mp #186 #192]: #190
+#302 := [mp~ #195 #285]: #190
+#872 := [mp #302 #871]: #866
+#785 := (not #866)
+#782 := (or #785 #690)
+#786 := [quant-inst]: #782
+#620 := [unit-resolution #786 #872]: #690
+#468 := [trans #620 #625]: #272
+#275 := (not #272)
+#58 := (= #57 f7)
+#59 := (not #58)
+#276 := (iff #59 #275)
+#273 := (iff #58 #272)
+#274 := [rewrite]: #273
+#277 := [monotonicity #274]: #276
+#271 := [asserted]: #59
+#280 := [mp #271 #277]: #275
+#626 := [unit-resolution #280 #468]: false
+#622 := [lemma #626]: #789
+#522 := (* -1::int #54)
+#543 := (div #522 -1::int)
+#822 := (* -1::int #543)
+#533 := (+ #56 #822)
+#536 := (= #533 0::int)
+#530 := (ite #549 #529 #536)
+#685 := (not #849)
+#585 := [hypothesis]: #685
+#586 := (or #849 #530)
+#847 := (= #56 0::int)
+#813 := (ite #849 #847 #530)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#851 := (pattern #10)
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#354 := (* -1::int #90)
+#355 := (+ #10 #354)
+#356 := (= #355 0::int)
+#21 := (div #8 #9)
+#351 := (* -1::int #21)
+#352 := (+ #10 #351)
+#353 := (= #352 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#309 := (or #105 #109)
+#310 := (not #309)
+#116 := (>= #8 0::int)
+#292 := (or #109 #116)
+#293 := (not #292)
+#316 := (or #293 #310)
+#357 := (ite #316 #353 #356)
+#350 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#358 := (ite #14 #350 #357)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #358)
+#361 := (forall (vars (?v0 int) (?v1 int)) #358)
+#855 := (iff #361 #852)
+#853 := (iff #358 #358)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#321 := (ite #316 #21 #90)
+#324 := (ite #14 0::int #321)
+#327 := (= #10 #324)
+#330 := (forall (vars (?v0 int) (?v1 int)) #327)
+#362 := (iff #330 #361)
+#359 := (iff #327 #358)
+#360 := [rewrite]: #359
+#363 := [quant-intro #360]: #362
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#331 := (iff #135 #330)
+#328 := (iff #132 #327)
+#325 := (= #129 #324)
+#322 := (= #126 #321)
+#319 := (iff #123 #316)
+#313 := (or #310 #293)
+#317 := (iff #313 #316)
+#318 := [rewrite]: #317
+#314 := (iff #123 #313)
+#311 := (iff #120 #293)
+#312 := [rewrite]: #311
+#290 := (iff #113 #310)
+#291 := [rewrite]: #290
+#315 := [monotonicity #291 #312]: #314
+#320 := [trans #315 #318]: #319
+#323 := [monotonicity #320]: #322
+#326 := [monotonicity #323]: #325
+#329 := [monotonicity #326]: #328
+#332 := [quant-intro #329]: #331
+#296 := (~ #135 #135)
+#294 := (~ #132 #132)
+#295 := [refl]: #294
+#297 := [nnf-pos #295]: #296
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#281 := [mp~ #140 #297]: #135
+#333 := [mp #281 #332]: #330
+#364 := [mp #333 #363]: #361
+#857 := [mp #364 #856]: #852
+#807 := (not #852)
+#808 := (or #807 #813)
+#438 := (* -1::int 1::int)
+#523 := (div #522 #438)
+#524 := (* -1::int #523)
+#515 := (+ #56 #524)
+#526 := (= #515 0::int)
+#508 := (<= 1::int 0::int)
+#845 := (or #843 #508)
+#502 := (not #845)
+#839 := (or #508 #632)
+#513 := (not #839)
+#514 := (or #513 #502)
+#846 := (ite #514 #529 #526)
+#848 := (= 1::int 0::int)
+#844 := (or #849 #848)
+#850 := (ite #844 #847 #846)
+#803 := (or #807 #850)
+#809 := (iff #803 #808)
+#805 := (iff #808 #808)
+#811 := [rewrite]: #805
+#817 := (iff #850 #813)
+#812 := (iff #846 #530)
+#814 := (iff #526 #536)
+#534 := (= #515 #533)
+#819 := (= #524 #822)
+#544 := (= #523 #543)
+#820 := (= #438 -1::int)
+#821 := [rewrite]: #820
+#818 := [monotonicity #821]: #544
+#823 := [monotonicity #818]: #819
+#535 := [monotonicity #823]: #534
+#815 := [monotonicity #535]: #814
+#550 := (iff #514 #549)
+#547 := (iff #502 #825)
+#838 := (iff #845 #843)
+#836 := (or #843 false)
+#837 := (iff #836 #843)
+#835 := [rewrite]: #837
+#476 := (iff #845 #836)
+#490 := (iff #508 false)
+#491 := [rewrite]: #490
+#477 := [monotonicity #491]: #476
+#824 := [trans #477 #835]: #838
+#548 := [monotonicity #824]: #547
+#471 := (iff #513 #833)
+#832 := (iff #839 #632)
+#492 := (or false #632)
+#830 := (iff #492 #632)
+#831 := [rewrite]: #830
+#828 := (iff #839 #492)
+#829 := [monotonicity #491]: #828
+#827 := [trans #829 #831]: #832
+#834 := [monotonicity #827]: #471
+#444 := [monotonicity #834 #548]: #550
+#816 := [monotonicity #444 #815]: #812
+#826 := (iff #844 #849)
+#505 := (or #849 false)
+#842 := (iff #505 #849)
+#485 := [rewrite]: #842
+#841 := (iff #844 #505)
+#840 := (iff #848 false)
+#500 := [rewrite]: #840
+#501 := [monotonicity #500]: #841
+#489 := [trans #501 #485]: #826
+#806 := [monotonicity #489 #816]: #817
+#810 := [monotonicity #806]: #809
+#652 := [trans #810 #811]: #809
+#804 := [quant-inst]: #803
+#653 := [mp #804 #652]: #808
+#574 := [unit-resolution #653 #857]: #813
+#783 := (not #813)
+#784 := (or #783 #849 #530)
+#669 := [def-axiom]: #784
+#563 := [unit-resolution #669 #574]: #586
+#565 := [unit-resolution #563 #585]: #530
+#634 := (not #530)
+#787 := (or #634 #799 #529)
+#788 := [def-axiom]: #787
+#566 := [unit-resolution #788 #565 #622]: #799
+#797 := (or #549 #843)
+#798 := [def-axiom]: #797
+#567 := [unit-resolution #798 #566]: #843
+#654 := (or #549 #632)
+#796 := [def-axiom]: #654
+#568 := [unit-resolution #796 #566]: #632
+#569 := (or #849 #825 #833)
+#570 := [th-lemma]: #569
+#571 := [unit-resolution #570 #585 #568 #567]: false
+#564 := [lemma #571]: #849
+#584 := [symm #564]: #583
+#580 := (or #685 #847)
+#780 := (or #783 #685 #847)
+#781 := [def-axiom]: #780
+#581 := [unit-resolution #781 #574]: #580
+#582 := [unit-resolution #581 #564]: #847
+#607 := [trans #582 #584]: #618
+#612 := [monotonicity #607]: #621
+#572 := [symm #612]: #624
+#557 := [trans #620 #572]: #272
+[unit-resolution #280 #557]: false
+unsat
+7cf914dcc3a7849523fc39aa74c3dcac842a1ca1 288 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := 3::int
+#54 := (f3 0::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#839 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#848 := (iff #353 #845)
+#846 := (iff #350 #350)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#850 := [mp #356 #849]: #845
+#680 := (not #845)
+#673 := (or #680 #839)
+#430 := (* -1::int 3::int)
+#515 := (* -1::int 0::int)
+#516 := (div #515 #430)
+#517 := (* -1::int #516)
+#508 := (+ #54 #517)
+#519 := (= #508 0::int)
+#520 := (div 0::int 3::int)
+#448 := (* -1::int #520)
+#521 := (+ #54 #448)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (<= 0::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 0::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #519)
+#840 := (= 3::int 0::int)
+#841 := (= 0::int 0::int)
+#842 := (or #841 #840)
+#837 := (ite #842 #839 #507)
+#681 := (or #680 #837)
+#683 := (iff #681 #673)
+#685 := (iff #673 #673)
+#778 := [rewrite]: #685
+#677 := (iff #837 #839)
+#1 := true
+#678 := (ite true #839 #839)
+#777 := (iff #678 #839)
+#662 := [rewrite]: #777
+#773 := (iff #837 #678)
+#628 := (iff #507 #839)
+#782 := (ite false #839 #839)
+#668 := (iff #782 #839)
+#669 := [rewrite]: #668
+#785 := (iff #507 #782)
+#783 := (iff #519 #839)
+#780 := (= #508 #54)
+#799 := (+ #54 0::int)
+#796 := (= #799 #54)
+#797 := [rewrite]: #796
+#626 := (= #508 #799)
+#795 := (= #517 0::int)
+#805 := (= #515 0::int)
+#809 := [rewrite]: #805
+#794 := (= #517 #515)
+#787 := (= #516 0::int)
+#645 := -3::int
+#789 := (div 0::int -3::int)
+#792 := (= #789 0::int)
+#786 := [rewrite]: #792
+#790 := (= #516 #789)
+#646 := (= #430 -3::int)
+#647 := [rewrite]: #646
+#791 := [monotonicity #809 #647]: #790
+#793 := [trans #791 #786]: #787
+#788 := [monotonicity #793]: #794
+#624 := [trans #788 #809]: #795
+#627 := [monotonicity #624]: #626
+#781 := [trans #627 #797]: #780
+#784 := [monotonicity #781]: #783
+#798 := (iff #518 #839)
+#802 := (= #521 #54)
+#800 := (= #521 #799)
+#806 := (= #448 0::int)
+#808 := (= #448 #515)
+#529 := (= #520 0::int)
+#807 := [rewrite]: #529
+#523 := [monotonicity #807]: #808
+#810 := [trans #523 #809]: #806
+#801 := [monotonicity #810]: #800
+#803 := [trans #801 #797]: #802
+#804 := [monotonicity #803]: #798
+#527 := (iff #506 false)
+#811 := (or false false)
+#816 := (iff #811 false)
+#526 := [rewrite]: #816
+#815 := (iff #506 #811)
+#536 := (iff #838 false)
+#829 := (not true)
+#830 := (iff #829 false)
+#828 := [rewrite]: #830
+#813 := (iff #838 #829)
+#543 := (iff #836 true)
+#834 := (or true false)
+#478 := (iff #834 true)
+#819 := [rewrite]: #478
+#541 := (iff #836 #834)
+#484 := (iff #522 false)
+#485 := [rewrite]: #484
+#818 := (iff #501 true)
+#540 := [rewrite]: #818
+#542 := [monotonicity #540 #485]: #541
+#436 := [trans #542 #819]: #543
+#814 := [monotonicity #436]: #813
+#537 := [trans #814 #828]: #536
+#831 := (iff #832 false)
+#469 := (iff #832 #829)
+#464 := (iff #625 true)
+#823 := (or false true)
+#820 := (iff #823 true)
+#826 := [rewrite]: #820
+#824 := (iff #625 #823)
+#821 := (iff #495 true)
+#822 := [rewrite]: #821
+#825 := [monotonicity #485 #822]: #824
+#827 := [trans #825 #826]: #464
+#470 := [monotonicity #827]: #469
+#817 := [trans #470 #828]: #831
+#812 := [monotonicity #817 #537]: #815
+#528 := [trans #812 #526]: #527
+#667 := [monotonicity #528 #804 #784]: #785
+#776 := [trans #667 #669]: #628
+#482 := (iff #842 true)
+#494 := (iff #842 #834)
+#493 := (iff #840 false)
+#498 := [rewrite]: #493
+#843 := (iff #841 true)
+#833 := [rewrite]: #843
+#835 := [monotonicity #833 #498]: #494
+#483 := [trans #835 #819]: #482
+#774 := [monotonicity #483 #776]: #773
+#679 := [trans #774 #662]: #677
+#684 := [monotonicity #679]: #683
+#775 := [trans #684 #778]: #683
+#682 := [quant-inst]: #681
+#779 := [mp #682 #775]: #673
+#691 := [unit-resolution #779 #850]: #839
+#692 := [monotonicity #691]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #692]: false
+unsat
+ae8fd560a364691767ab3e78098d563d6a39ff78 302 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f3 :: (-> int int int)
+#54 := 3::int
+#53 := 1::int
+#55 := (f3 1::int 3::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#840 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#759 := (not #845)
+#769 := (or #759 #840)
+#431 := (* -1::int 3::int)
+#515 := (* -1::int 1::int)
+#516 := (div #515 #431)
+#517 := (* -1::int #516)
+#508 := (+ #55 #517)
+#519 := (= #508 0::int)
+#520 := (div 1::int 3::int)
+#521 := (* -1::int #520)
+#518 := (+ #55 #521)
+#522 := (= #518 0::int)
+#501 := (<= 3::int 0::int)
+#836 := (<= 1::int 0::int)
+#838 := (or #836 #501)
+#495 := (not #838)
+#625 := (>= 1::int 0::int)
+#832 := (or #501 #625)
+#506 := (not #832)
+#507 := (or #506 #495)
+#839 := (ite #507 #522 #519)
+#841 := (= 3::int 0::int)
+#842 := (= 1::int 0::int)
+#837 := (or #842 #841)
+#843 := (ite #837 #840 #839)
+#770 := (or #759 #843)
+#767 := (iff #770 #769)
+#761 := (iff #769 #769)
+#762 := [rewrite]: #761
+#760 := (iff #843 #840)
+#778 := (ite false #840 #840)
+#766 := (iff #778 #840)
+#768 := [rewrite]: #766
+#775 := (iff #843 #778)
+#684 := (iff #839 #840)
+#774 := (= #55 1::int)
+#1 := true
+#680 := (ite true #840 #774)
+#682 := (iff #680 #840)
+#683 := [rewrite]: #682
+#673 := (iff #839 #680)
+#677 := (iff #519 #774)
+#785 := (+ -1::int #55)
+#776 := (= #785 0::int)
+#777 := (iff #776 #774)
+#662 := [rewrite]: #777
+#678 := (iff #519 #776)
+#669 := (= #508 #785)
+#783 := (+ #55 -1::int)
+#667 := (= #783 #785)
+#668 := [rewrite]: #667
+#784 := (= #508 #783)
+#780 := (= #517 -1::int)
+#647 := (= #515 -1::int)
+#789 := [rewrite]: #647
+#626 := (= #517 #515)
+#795 := (= #516 1::int)
+#790 := -3::int
+#786 := (div -1::int -3::int)
+#794 := (= #786 1::int)
+#788 := [rewrite]: #794
+#787 := (= #516 #786)
+#791 := (= #431 -3::int)
+#792 := [rewrite]: #791
+#793 := [monotonicity #789 #792]: #787
+#624 := [trans #793 #788]: #795
+#627 := [monotonicity #624]: #626
+#781 := [trans #627 #789]: #780
+#782 := [monotonicity #781]: #784
+#628 := [trans #782 #668]: #669
+#773 := [monotonicity #628]: #678
+#679 := [trans #773 #662]: #677
+#645 := (iff #522 #840)
+#798 := (= #518 #55)
+#801 := (+ #55 0::int)
+#802 := (= #801 #55)
+#803 := [rewrite]: #802
+#796 := (= #518 #801)
+#799 := (= #521 0::int)
+#523 := (* -1::int 0::int)
+#806 := (= #523 0::int)
+#810 := [rewrite]: #806
+#805 := (= #521 #523)
+#807 := (= #520 0::int)
+#808 := [rewrite]: #807
+#809 := [monotonicity #808]: #805
+#800 := [trans #809 #810]: #799
+#797 := [monotonicity #800]: #796
+#804 := [trans #797 #803]: #798
+#646 := [monotonicity #804]: #645
+#528 := (iff #507 true)
+#824 := (or false true)
+#826 := (iff #824 true)
+#464 := [rewrite]: #826
+#526 := (iff #507 #824)
+#812 := (iff #495 true)
+#814 := (not false)
+#811 := (iff #814 true)
+#815 := [rewrite]: #811
+#536 := (iff #495 #814)
+#437 := (iff #838 false)
+#494 := (or false false)
+#819 := (iff #494 false)
+#482 := [rewrite]: #819
+#542 := (iff #838 #494)
+#485 := (iff #501 false)
+#821 := [rewrite]: #485
+#540 := (iff #836 false)
+#541 := [rewrite]: #540
+#543 := [monotonicity #541 #821]: #542
+#813 := [trans #543 #482]: #437
+#537 := [monotonicity #813]: #536
+#816 := [trans #537 #815]: #812
+#817 := (iff #506 false)
+#469 := (not true)
+#828 := (iff #469 false)
+#831 := [rewrite]: #828
+#470 := (iff #506 #469)
+#827 := (iff #832 true)
+#825 := (iff #832 #824)
+#822 := (iff #625 true)
+#823 := [rewrite]: #822
+#820 := [monotonicity #821 #823]: #825
+#829 := [trans #820 #464]: #827
+#830 := [monotonicity #829]: #470
+#818 := [trans #830 #831]: #817
+#527 := [monotonicity #818 #816]: #526
+#529 := [trans #527 #464]: #528
+#681 := [monotonicity #529 #646 #679]: #673
+#685 := [trans #681 #683]: #684
+#483 := (iff #837 false)
+#835 := (iff #837 #494)
+#498 := (iff #841 false)
+#834 := [rewrite]: #498
+#833 := (iff #842 false)
+#493 := [rewrite]: #833
+#478 := [monotonicity #493 #834]: #835
+#484 := [trans #478 #482]: #483
+#779 := [monotonicity #484 #685]: #775
+#757 := [trans #779 #768]: #760
+#772 := [monotonicity #757]: #767
+#763 := [trans #772 #762]: #767
+#771 := [quant-inst]: #770
+#764 := [mp #771 #763]: #769
+#701 := [unit-resolution #764 #850]: #840
+#702 := [monotonicity #701]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #702]: false
+unsat
+19dd3be357a28baca5aecbdc323516962271f134 292 0
+#2 := false
+decl f5 :: (-> int S2)
+#56 := 1::int
+#57 := (f5 1::int)
+decl f3 :: (-> int int int)
+#53 := 3::int
+#54 := (f3 3::int 3::int)
+#55 := (f5 #54)
+#58 := (= #55 #57)
+#803 := (= #54 1::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#683 := (not #845)
+#684 := (or #683 #803)
+#431 := (* -1::int 3::int)
+#515 := (div #431 #431)
+#516 := (* -1::int #515)
+#517 := (+ #54 #516)
+#508 := (= #517 0::int)
+#519 := (div 3::int 3::int)
+#520 := (* -1::int #519)
+#521 := (+ #54 #520)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (or #522 #522)
+#836 := (not #501)
+#838 := (>= 3::int 0::int)
+#495 := (or #522 #838)
+#625 := (not #495)
+#832 := (or #625 #836)
+#506 := (ite #832 #518 #508)
+#507 := (= #54 0::int)
+#839 := (= 3::int 0::int)
+#840 := (or #839 #839)
+#841 := (ite #840 #507 #506)
+#685 := (or #683 #841)
+#775 := (iff #685 #684)
+#766 := (iff #684 #684)
+#768 := [rewrite]: #766
+#681 := (iff #841 #803)
+#662 := (ite false #507 #803)
+#680 := (iff #662 #803)
+#673 := [rewrite]: #680
+#677 := (iff #841 #662)
+#774 := (iff #506 #803)
+#1 := true
+#669 := (ite true #803 #803)
+#678 := (iff #669 #803)
+#773 := [rewrite]: #678
+#628 := (iff #506 #669)
+#667 := (iff #508 #803)
+#806 := (+ -1::int #54)
+#796 := (= #806 0::int)
+#798 := (iff #796 #803)
+#804 := [rewrite]: #798
+#782 := (iff #508 #796)
+#783 := (= #517 #806)
+#523 := (+ #54 -1::int)
+#810 := (= #523 #806)
+#799 := [rewrite]: #810
+#780 := (= #517 #523)
+#626 := (= #516 -1::int)
+#816 := (* -1::int 1::int)
+#528 := (= #816 -1::int)
+#529 := [rewrite]: #528
+#795 := (= #516 #816)
+#794 := (= #515 1::int)
+#647 := -3::int
+#791 := (div -3::int -3::int)
+#787 := (= #791 1::int)
+#793 := [rewrite]: #787
+#792 := (= #515 #791)
+#789 := (= #431 -3::int)
+#790 := [rewrite]: #789
+#786 := [monotonicity #790 #790]: #792
+#788 := [trans #786 #793]: #794
+#624 := [monotonicity #788]: #795
+#627 := [trans #624 #529]: #626
+#781 := [monotonicity #627]: #780
+#784 := [trans #781 #799]: #783
+#785 := [monotonicity #784]: #782
+#668 := [trans #785 #804]: #667
+#645 := (iff #518 #803)
+#797 := (iff #518 #796)
+#800 := (= #521 #806)
+#805 := (= #521 #523)
+#807 := (= #520 -1::int)
+#526 := (= #520 #816)
+#815 := (= #519 1::int)
+#812 := [rewrite]: #815
+#527 := [monotonicity #812]: #526
+#808 := [trans #527 #529]: #807
+#809 := [monotonicity #808]: #805
+#801 := [trans #809 #799]: #800
+#802 := [monotonicity #801]: #797
+#646 := [trans #802 #804]: #645
+#537 := (iff #832 true)
+#484 := (or false true)
+#822 := (iff #484 true)
+#823 := [rewrite]: #822
+#814 := (iff #832 #484)
+#437 := (iff #836 true)
+#818 := (not false)
+#542 := (iff #818 true)
+#543 := [rewrite]: #542
+#540 := (iff #836 #818)
+#831 := (iff #501 false)
+#843 := (or false false)
+#498 := (iff #843 false)
+#834 := [rewrite]: #498
+#830 := (iff #501 #843)
+#478 := (iff #522 false)
+#819 := [rewrite]: #478
+#828 := [monotonicity #819 #819]: #830
+#817 := [trans #828 #834]: #831
+#541 := [monotonicity #817]: #540
+#813 := [trans #541 #543]: #437
+#469 := (iff #625 false)
+#820 := (not true)
+#827 := (iff #820 false)
+#829 := [rewrite]: #827
+#826 := (iff #625 #820)
+#824 := (iff #495 true)
+#485 := (iff #495 #484)
+#482 := (iff #838 true)
+#483 := [rewrite]: #482
+#821 := [monotonicity #819 #483]: #485
+#825 := [trans #821 #823]: #824
+#464 := [monotonicity #825]: #826
+#470 := [trans #464 #829]: #469
+#536 := [monotonicity #470 #813]: #814
+#811 := [trans #536 #823]: #537
+#776 := [monotonicity #811 #646 #668]: #628
+#777 := [trans #776 #773]: #774
+#494 := (iff #840 false)
+#833 := (iff #840 #843)
+#842 := (iff #839 false)
+#837 := [rewrite]: #842
+#493 := [monotonicity #837 #837]: #833
+#835 := [trans #493 #834]: #494
+#679 := [monotonicity #835 #777]: #677
+#682 := [trans #679 #673]: #681
+#779 := [monotonicity #682]: #775
+#760 := [trans #779 #768]: #775
+#778 := [quant-inst]: #685
+#757 := [mp #778 #760]: #684
+#700 := [unit-resolution #757 #850]: #803
+#701 := [monotonicity #700]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #701]: false
+unsat
+4c767e3719e1e1ac215860f12798ea2480d1a7d0 538 0
+#2 := false
+#11 := 0::int
+decl f6 :: (-> S2 int)
+decl f5 :: (-> int S2)
+decl f3 :: (-> int int int)
+#55 := 3::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 3::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#781 := (= #58 0::int)
+#850 := (= #56 0::int)
+#852 := (= #54 0::int)
+#804 := (mod #54 3::int)
+#84 := -1::int
+#715 := (* -1::int #804)
+#531 := (div #54 3::int)
+#447 := -3::int
+#710 := (* -3::int #531)
+#711 := (+ #710 #715)
+#712 := (+ #54 #711)
+#718 := (>= #712 0::int)
+#709 := (= #712 0::int)
+#1 := true
+#75 := [true-axiom]: true
+#662 := (or false #709)
+#663 := [th-lemma]: #662
+#664 := [unit-resolution #663 #75]: #709
+#665 := (not #709)
+#666 := (or #665 #718)
+#667 := [th-lemma]: #666
+#668 := [unit-resolution #667 #664]: #718
+#277 := (* -1::int #58)
+#278 := (+ #54 #277)
+#276 := (>= #278 0::int)
+#280 := (not #276)
+#59 := (<= #58 #54)
+#60 := (not #59)
+#281 := (iff #60 #280)
+#275 := (iff #59 #276)
+#279 := [rewrite]: #275
+#282 := [monotonicity #279]: #281
+#272 := [asserted]: #60
+#283 := [mp #272 #282]: #280
+#776 := (+ #56 #277)
+#761 := (>= #776 0::int)
+#770 := (= #56 #58)
+#777 := (>= #56 0::int)
+#624 := (not #781)
+#742 := (<= #58 0::int)
+#634 := (not #742)
+#506 := (>= #54 0::int)
+#693 := (f5 #54)
+#744 := (f6 #693)
+#745 := (= #744 0::int)
+#646 := (not #745)
+#689 := (not #852)
+#647 := (iff #689 #646)
+#643 := (iff #852 #745)
+#640 := (iff #745 #852)
+#632 := (= #744 #54)
+#655 := (= #693 f7)
+#694 := (= f7 #693)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#869 := (pattern #39)
+#40 := (f5 #39)
+#188 := (= #38 #40)
+#870 := (forall (vars (?v0 S2)) (:pat #869) #188)
+#191 := (forall (vars (?v0 S2)) #188)
+#871 := (iff #191 #870)
+#873 := (iff #870 #870)
+#874 := [rewrite]: #873
+#872 := [rewrite]: #871
+#875 := [trans #872 #874]: #871
+#287 := (~ #191 #191)
+#303 := (~ #188 #188)
+#304 := [refl]: #303
+#288 := [nnf-pos #304]: #287
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#192 := (iff #42 #191)
+#189 := (iff #41 #188)
+#190 := [rewrite]: #189
+#193 := [quant-intro #190]: #192
+#187 := [asserted]: #42
+#196 := [mp #187 #193]: #191
+#305 := [mp~ #196 #288]: #191
+#876 := [mp #305 #875]: #870
+#789 := (not #870)
+#786 := (or #789 #694)
+#790 := [quant-inst]: #786
+#670 := [unit-resolution #790 #876]: #694
+#671 := [symm #670]: #655
+#633 := [monotonicity #671]: #632
+#642 := [monotonicity #633]: #640
+#644 := [symm #642]: #643
+#648 := [monotonicity #644]: #647
+#669 := [hypothesis]: #689
+#649 := [mp #669 #648]: #646
+#747 := (or #506 #745)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#877 := (pattern #44)
+#211 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#261 := (or #50 #211)
+#884 := (forall (vars (?v0 int)) (:pat #877) #261)
+#266 := (forall (vars (?v0 int)) #261)
+#887 := (iff #266 #884)
+#885 := (iff #261 #261)
+#886 := [refl]: #885
+#888 := [quant-intro #886]: #887
+#291 := (~ #266 #266)
+#309 := (~ #261 #261)
+#310 := [refl]: #309
+#292 := [nnf-pos #310]: #291
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#269 := (iff #52 #266)
+#232 := (= 0::int #45)
+#238 := (not #49)
+#239 := (or #238 #232)
+#244 := (forall (vars (?v0 int)) #239)
+#267 := (iff #244 #266)
+#264 := (iff #239 #261)
+#258 := (or #211 #50)
+#262 := (iff #258 #261)
+#263 := [rewrite]: #262
+#259 := (iff #239 #258)
+#256 := (iff #232 #50)
+#257 := [rewrite]: #256
+#254 := (iff #238 #211)
+#214 := (not #211)
+#249 := (not #214)
+#252 := (iff #249 #211)
+#253 := [rewrite]: #252
+#250 := (iff #238 #249)
+#247 := (iff #49 #214)
+#248 := [rewrite]: #247
+#251 := [monotonicity #248]: #250
+#255 := [trans #251 #253]: #254
+#260 := [monotonicity #255 #257]: #259
+#265 := [trans #260 #263]: #264
+#268 := [quant-intro #265]: #267
+#245 := (iff #52 #244)
+#242 := (iff #51 #239)
+#235 := (implies #49 #232)
+#240 := (iff #235 #239)
+#241 := [rewrite]: #240
+#236 := (iff #51 #235)
+#233 := (iff #50 #232)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#243 := [trans #237 #241]: #242
+#246 := [quant-intro #243]: #245
+#270 := [trans #246 #268]: #269
+#231 := [asserted]: #52
+#271 := [mp #231 #270]: #266
+#311 := [mp~ #271 #292]: #266
+#889 := [mp #311 #888]: #884
+#766 := (not #884)
+#750 := (or #766 #506 #745)
+#746 := (or #745 #506)
+#751 := (or #766 #746)
+#735 := (iff #751 #750)
+#752 := (or #766 #747)
+#733 := (iff #752 #750)
+#734 := [rewrite]: #733
+#730 := (iff #751 #752)
+#748 := (iff #746 #747)
+#749 := [rewrite]: #748
+#731 := [monotonicity #749]: #730
+#736 := [trans #731 #734]: #735
+#741 := [quant-inst]: #751
+#737 := [mp #741 #736]: #750
+#650 := [unit-resolution #737 #889]: #747
+#651 := [unit-resolution #650 #649]: #506
+#831 := (not #506)
+#652 := (or #634 #831 #276)
+#622 := [th-lemma]: #652
+#623 := [unit-resolution #622 #651 #283]: #634
+#625 := (or #624 #742)
+#627 := [th-lemma]: #625
+#628 := [unit-resolution #627 #623]: #624
+#763 := (or #777 #781)
+#762 := (or #766 #777 #781)
+#782 := (or #781 #777)
+#767 := (or #766 #782)
+#759 := (iff #767 #762)
+#754 := (or #766 #763)
+#758 := (iff #754 #762)
+#755 := [rewrite]: #758
+#756 := (iff #767 #754)
+#764 := (iff #782 #763)
+#765 := [rewrite]: #764
+#757 := [monotonicity #765]: #756
+#739 := [trans #757 #755]: #759
+#753 := [quant-inst]: #767
+#740 := [mp #753 #739]: #762
+#629 := [unit-resolution #740 #889]: #763
+#472 := [unit-resolution #629 #628]: #777
+#779 := (not #777)
+#780 := (or #770 #779)
+#195 := (= #9 #45)
+#220 := (or #195 #214)
+#878 := (forall (vars (?v0 int)) (:pat #877) #220)
+#225 := (forall (vars (?v0 int)) #220)
+#881 := (iff #225 #878)
+#879 := (iff #220 #220)
+#880 := [refl]: #879
+#882 := [quant-intro #880]: #881
+#289 := (~ #225 #225)
+#306 := (~ #220 #220)
+#307 := [refl]: #306
+#290 := [nnf-pos #307]: #289
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#228 := (iff #48 #225)
+#202 := (not #43)
+#203 := (or #202 #195)
+#208 := (forall (vars (?v0 int)) #203)
+#226 := (iff #208 #225)
+#223 := (iff #203 #220)
+#217 := (or #214 #195)
+#221 := (iff #217 #220)
+#222 := [rewrite]: #221
+#218 := (iff #203 #217)
+#215 := (iff #202 #214)
+#212 := (iff #43 #211)
+#213 := [rewrite]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#224 := [trans #219 #222]: #223
+#227 := [quant-intro #224]: #226
+#209 := (iff #48 #208)
+#206 := (iff #47 #203)
+#199 := (implies #43 #195)
+#204 := (iff #199 #203)
+#205 := [rewrite]: #204
+#200 := (iff #47 #199)
+#197 := (iff #46 #195)
+#198 := [rewrite]: #197
+#201 := [monotonicity #198]: #200
+#207 := [trans #201 #205]: #206
+#210 := [quant-intro #207]: #209
+#229 := [trans #210 #227]: #228
+#194 := [asserted]: #48
+#230 := [mp #194 #229]: #225
+#308 := [mp~ #230 #290]: #225
+#883 := [mp #308 #882]: #878
+#778 := (not #878)
+#783 := (or #778 #770 #779)
+#772 := (or #778 #780)
+#774 := (iff #772 #783)
+#775 := [rewrite]: #774
+#773 := [quant-inst]: #772
+#769 := [mp #773 #775]: #783
+#630 := [unit-resolution #769 #883]: #780
+#626 := [unit-resolution #630 #472]: #770
+#631 := (not #770)
+#610 := (or #631 #761)
+#613 := [th-lemma]: #610
+#617 := [unit-resolution #613 #626]: #761
+#459 := (* -1::int #531)
+#532 := (+ #56 #459)
+#805 := (<= #532 0::int)
+#529 := (= #532 0::int)
+#526 := (* -1::int #54)
+#547 := (div #526 -3::int)
+#826 := (* -1::int #547)
+#537 := (+ #56 #826)
+#540 := (= #537 0::int)
+#512 := (<= #54 0::int)
+#828 := (not #512)
+#552 := (or #831 #828)
+#534 := (ite #552 #529 #540)
+#620 := (or #852 #534)
+#817 := (ite #852 #850 #534)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#855 := (pattern #10)
+#88 := (* -1::int #9)
+#85 := (* -1::int #8)
+#91 := (div #85 #88)
+#357 := (* -1::int #91)
+#358 := (+ #10 #357)
+#359 := (= #358 0::int)
+#21 := (div #8 #9)
+#354 := (* -1::int #21)
+#355 := (+ #10 #354)
+#356 := (= #355 0::int)
+#110 := (<= #9 0::int)
+#106 := (<= #8 0::int)
+#312 := (or #106 #110)
+#313 := (not #312)
+#117 := (>= #8 0::int)
+#295 := (or #110 #117)
+#296 := (not #295)
+#319 := (or #296 #313)
+#360 := (ite #319 #356 #359)
+#353 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#361 := (ite #14 #353 #360)
+#856 := (forall (vars (?v0 int) (?v1 int)) (:pat #855) #361)
+#364 := (forall (vars (?v0 int) (?v1 int)) #361)
+#859 := (iff #364 #856)
+#857 := (iff #361 #361)
+#858 := [refl]: #857
+#860 := [quant-intro #858]: #859
+#324 := (ite #319 #21 #91)
+#327 := (ite #14 0::int #324)
+#330 := (= #10 #327)
+#333 := (forall (vars (?v0 int) (?v1 int)) #330)
+#365 := (iff #333 #364)
+#362 := (iff #330 #361)
+#363 := [rewrite]: #362
+#366 := [quant-intro #363]: #365
+#118 := (not #117)
+#111 := (not #110)
+#121 := (and #111 #118)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#127 := (ite #124 #21 #91)
+#130 := (ite #14 0::int #127)
+#133 := (= #10 #130)
+#136 := (forall (vars (?v0 int) (?v1 int)) #133)
+#334 := (iff #136 #333)
+#331 := (iff #133 #330)
+#328 := (= #130 #327)
+#325 := (= #127 #324)
+#322 := (iff #124 #319)
+#316 := (or #313 #296)
+#320 := (iff #316 #319)
+#321 := [rewrite]: #320
+#317 := (iff #124 #316)
+#314 := (iff #121 #296)
+#315 := [rewrite]: #314
+#293 := (iff #114 #313)
+#294 := [rewrite]: #293
+#318 := [monotonicity #294 #315]: #317
+#323 := [trans #318 #321]: #322
+#326 := [monotonicity #323]: #325
+#329 := [monotonicity #326]: #328
+#332 := [monotonicity #329]: #331
+#335 := [quant-intro #332]: #334
+#299 := (~ #136 #136)
+#297 := (~ #133 #133)
+#298 := [refl]: #297
+#300 := [nnf-pos #298]: #299
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#139 := (iff #28 #136)
+#78 := (and #16 #18)
+#81 := (or #17 #78)
+#94 := (ite #81 #21 #91)
+#97 := (ite #14 0::int #94)
+#100 := (= #10 #97)
+#103 := (forall (vars (?v0 int) (?v1 int)) #100)
+#137 := (iff #103 #136)
+#134 := (iff #100 #133)
+#131 := (= #97 #130)
+#128 := (= #94 #127)
+#125 := (iff #81 #124)
+#122 := (iff #78 #121)
+#119 := (iff #18 #118)
+#120 := [rewrite]: #119
+#112 := (iff #16 #111)
+#113 := [rewrite]: #112
+#123 := [monotonicity #113 #120]: #122
+#115 := (iff #17 #114)
+#108 := (iff #15 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [quant-intro #135]: #137
+#104 := (iff #28 #103)
+#101 := (iff #27 #100)
+#98 := (= #26 #97)
+#95 := (= #25 #94)
+#92 := (= #24 #91)
+#89 := (= #23 #88)
+#90 := [rewrite]: #89
+#86 := (= #22 #85)
+#87 := [rewrite]: #86
+#93 := [monotonicity #87 #90]: #92
+#82 := (iff #20 #81)
+#79 := (iff #19 #78)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#96 := [monotonicity #83 #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [monotonicity #99]: #101
+#105 := [quant-intro #102]: #104
+#140 := [trans #105 #138]: #139
+#77 := [asserted]: #28
+#141 := [mp #77 #140]: #136
+#284 := [mp~ #141 #300]: #136
+#336 := [mp #284 #335]: #333
+#367 := [mp #336 #366]: #364
+#861 := [mp #367 #860]: #856
+#811 := (not #856)
+#812 := (or #811 #817)
+#441 := (* -1::int 3::int)
+#527 := (div #526 #441)
+#528 := (* -1::int #527)
+#519 := (+ #56 #528)
+#530 := (= #519 0::int)
+#533 := (<= 3::int 0::int)
+#847 := (or #512 #533)
+#849 := (not #847)
+#636 := (or #533 #506)
+#843 := (not #636)
+#517 := (or #843 #849)
+#518 := (ite #517 #529 #530)
+#851 := (= 3::int 0::int)
+#853 := (or #852 #851)
+#848 := (ite #853 #850 #518)
+#807 := (or #811 #848)
+#813 := (iff #807 #812)
+#809 := (iff #812 #812)
+#815 := [rewrite]: #809
+#821 := (iff #848 #817)
+#816 := (iff #518 #534)
+#818 := (iff #530 #540)
+#538 := (= #519 #537)
+#823 := (= #528 #826)
+#548 := (= #527 #547)
+#824 := (= #441 -3::int)
+#825 := [rewrite]: #824
+#822 := [monotonicity #825]: #548
+#827 := [monotonicity #822]: #823
+#539 := [monotonicity #827]: #538
+#819 := [monotonicity #539]: #818
+#553 := (iff #517 #552)
+#829 := (iff #849 #828)
+#839 := (iff #847 #512)
+#838 := (or #512 false)
+#481 := (iff #838 #512)
+#841 := [rewrite]: #481
+#840 := (iff #847 #838)
+#493 := (iff #533 false)
+#494 := [rewrite]: #493
+#480 := [monotonicity #494]: #840
+#842 := [trans #480 #841]: #839
+#551 := [monotonicity #842]: #829
+#837 := (iff #843 #831)
+#835 := (iff #636 #506)
+#495 := (or false #506)
+#833 := (iff #495 #506)
+#834 := [rewrite]: #833
+#496 := (iff #636 #495)
+#832 := [monotonicity #494]: #496
+#836 := [trans #832 #834]: #835
+#475 := [monotonicity #836]: #837
+#554 := [monotonicity #475 #551]: #553
+#820 := [monotonicity #554 #819]: #816
+#489 := (iff #853 #852)
+#504 := (or #852 false)
+#505 := (iff #504 #852)
+#846 := [rewrite]: #505
+#509 := (iff #853 #504)
+#854 := (iff #851 false)
+#844 := [rewrite]: #854
+#845 := [monotonicity #844]: #509
+#830 := [trans #845 #846]: #489
+#810 := [monotonicity #830 #820]: #821
+#814 := [monotonicity #810]: #813
+#656 := [trans #814 #815]: #813
+#808 := [quant-inst]: #807
+#657 := [mp #808 #656]: #812
+#619 := [unit-resolution #657 #861]: #817
+#787 := (not #817)
+#788 := (or #787 #852 #534)
+#673 := [def-axiom]: #788
+#618 := [unit-resolution #673 #619]: #620
+#621 := [unit-resolution #618 #669]: #534
+#609 := (or #852 #828 #831)
+#612 := [th-lemma]: #609
+#614 := [unit-resolution #612 #651 #669]: #828
+#801 := (or #552 #512)
+#802 := [def-axiom]: #801
+#615 := [unit-resolution #802 #614]: #552
+#803 := (not #552)
+#638 := (not #534)
+#791 := (or #638 #803 #529)
+#792 := [def-axiom]: #791
+#611 := [unit-resolution #792 #615 #621]: #529
+#793 := (not #529)
+#616 := (or #793 #805)
+#606 := [th-lemma]: #616
+#596 := [unit-resolution #606 #611]: #805
+#714 := (>= #804 0::int)
+#598 := (or false #714)
+#599 := [th-lemma]: #598
+#602 := [unit-resolution #599 #75]: #714
+#603 := [th-lemma #651 #602 #596 #617 #283 #668]: false
+#607 := [lemma #603]: #852
+#717 := (or #689 #850)
+#784 := (or #787 #689 #850)
+#785 := [def-axiom]: #784
+#600 := [unit-resolution #785 #619]: #717
+#608 := [unit-resolution #600 #607]: #850
+#605 := (= #58 #56)
+#653 := (or #689 #506)
+#654 := [th-lemma]: #653
+#659 := [unit-resolution #654 #607]: #506
+#660 := [unit-resolution #622 #659 #283]: #634
+#661 := [unit-resolution #627 #660]: #624
+#601 := [unit-resolution #629 #661]: #777
+#604 := [unit-resolution #630 #601]: #770
+#591 := [symm #604]: #605
+#593 := [trans #591 #608]: #781
+[unit-resolution #661 #593]: false
+unsat
+0741f8b49ae3c9e588dd48232e1ca5de80697aff 605 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#59 := (f5 0::int)
+decl f7 :: S2
+#53 := f7
+#60 := (= f7 #59)
+decl f6 :: (-> S2 int)
+#54 := (f6 f7)
+#783 := (f5 #54)
+#628 := (= #783 #59)
+#608 := (= #59 #783)
+#604 := (= 0::int #54)
+#494 := (= #54 0::int)
+#55 := 3::int
+#685 := (mod #54 3::int)
+#630 := (>= #685 0::int)
+#1 := true
+#77 := [true-axiom]: true
+#598 := (or false #630)
+#599 := [th-lemma]: #598
+#597 := [unit-resolution #599 #77]: #630
+decl f3 :: (-> int int int)
+#56 := (f3 #54 3::int)
+#86 := -1::int
+#613 := (* -1::int #56)
+#606 := (+ #54 #613)
+#609 := (<= #606 0::int)
+#605 := (= #54 #56)
+#57 := (f5 #56)
+#727 := (f6 #57)
+#576 := (= #727 #56)
+#730 := (= #56 #727)
+#725 := (>= #56 0::int)
+#718 := (= #727 0::int)
+#590 := (not #718)
+#791 := (not #494)
+#591 := (iff #791 #590)
+#588 := (iff #494 #718)
+#586 := (iff #718 #494)
+#584 := (= #727 #54)
+#58 := (= #57 f7)
+#275 := (= f7 #57)
+#667 := (= #59 #57)
+#665 := (= #57 #59)
+#510 := (= #56 0::int)
+#781 := (f6 #59)
+#769 := (= #781 0::int)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#882 := (pattern #44)
+#213 := (>= #9 0::int)
+#216 := (not #213)
+#45 := (f6 #44)
+#197 := (= #9 #45)
+#222 := (or #197 #216)
+#883 := (forall (vars (?v0 int)) (:pat #882) #222)
+#227 := (forall (vars (?v0 int)) #222)
+#886 := (iff #227 #883)
+#884 := (iff #222 #222)
+#885 := [refl]: #884
+#887 := [quant-intro #885]: #886
+#294 := (~ #227 #227)
+#311 := (~ #222 #222)
+#312 := [refl]: #311
+#295 := [nnf-pos #312]: #294
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#230 := (iff #48 #227)
+#204 := (not #43)
+#205 := (or #204 #197)
+#210 := (forall (vars (?v0 int)) #205)
+#228 := (iff #210 #227)
+#225 := (iff #205 #222)
+#219 := (or #216 #197)
+#223 := (iff #219 #222)
+#224 := [rewrite]: #223
+#220 := (iff #205 #219)
+#217 := (iff #204 #216)
+#214 := (iff #43 #213)
+#215 := [rewrite]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#226 := [trans #221 #224]: #225
+#229 := [quant-intro #226]: #228
+#211 := (iff #48 #210)
+#208 := (iff #47 #205)
+#201 := (implies #43 #197)
+#206 := (iff #201 #205)
+#207 := [rewrite]: #206
+#202 := (iff #47 #201)
+#199 := (iff #46 #197)
+#200 := [rewrite]: #199
+#203 := [monotonicity #200]: #202
+#209 := [trans #203 #207]: #208
+#212 := [quant-intro #209]: #211
+#231 := [trans #212 #229]: #230
+#196 := [asserted]: #48
+#232 := [mp #196 #231]: #227
+#313 := [mp~ #232 #295]: #227
+#888 := [mp #313 #887]: #883
+#751 := (not #883)
+#752 := (or #751 #769)
+#777 := (>= 0::int 0::int)
+#778 := (not #777)
+#765 := (= 0::int #781)
+#766 := (or #765 #778)
+#753 := (or #751 #766)
+#755 := (iff #753 #752)
+#746 := (iff #752 #752)
+#757 := [rewrite]: #746
+#749 := (iff #766 #769)
+#764 := (or #769 false)
+#747 := (iff #764 #769)
+#748 := [rewrite]: #747
+#744 := (iff #766 #764)
+#763 := (iff #778 false)
+#772 := (not true)
+#761 := (iff #772 false)
+#762 := [rewrite]: #761
+#758 := (iff #778 #772)
+#771 := (iff #777 true)
+#767 := [rewrite]: #771
+#759 := [monotonicity #767]: #758
+#760 := [trans #759 #762]: #763
+#768 := (iff #765 #769)
+#770 := [rewrite]: #768
+#745 := [monotonicity #770 #760]: #744
+#750 := [trans #745 #748]: #749
+#756 := [monotonicity #750]: #755
+#735 := [trans #756 #757]: #755
+#754 := [quant-inst]: #753
+#736 := [mp #754 #735]: #752
+#688 := [unit-resolution #736 #888]: #769
+#692 := (= #54 #781)
+#446 := (not #275)
+#706 := [hypothesis]: #446
+#537 := (or #60 #275)
+#61 := (not #60)
+#281 := (iff #61 #275)
+#62 := (iff #58 #61)
+#284 := (iff #62 #281)
+#278 := (iff #275 #61)
+#282 := (iff #278 #281)
+#283 := [rewrite]: #282
+#279 := (iff #62 #278)
+#276 := (iff #58 #275)
+#277 := [rewrite]: #276
+#280 := [monotonicity #277]: #279
+#285 := [trans #280 #283]: #284
+#274 := [asserted]: #62
+#288 := [mp #274 #285]: #281
+#531 := (not #281)
+#536 := (or #60 #275 #531)
+#464 := [def-axiom]: #536
+#534 := [unit-resolution #464 #288]: #537
+#712 := [unit-resolution #534 #706]: #60
+#702 := [monotonicity #712]: #692
+#682 := [trans #702 #688]: #494
+#658 := (or #791 #510)
+#539 := -3::int
+#517 := (* -1::int #54)
+#822 := (div #517 -3::int)
+#816 := (* -1::int #822)
+#813 := (+ #56 #816)
+#814 := (= #813 0::int)
+#848 := (div #54 3::int)
+#522 := (* -1::int #848)
+#523 := (+ #56 #522)
+#855 := (= #523 0::int)
+#859 := (>= #54 0::int)
+#833 := (not #859)
+#857 := (<= #54 0::int)
+#553 := (not #857)
+#543 := (or #553 #833)
+#662 := (ite #543 #855 #814)
+#806 := (ite #494 #510 #662)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#860 := (pattern #10)
+#90 := (* -1::int #9)
+#87 := (* -1::int #8)
+#93 := (div #87 #90)
+#362 := (* -1::int #93)
+#363 := (+ #10 #362)
+#364 := (= #363 0::int)
+#21 := (div #8 #9)
+#359 := (* -1::int #21)
+#360 := (+ #10 #359)
+#361 := (= #360 0::int)
+#112 := (<= #9 0::int)
+#108 := (<= #8 0::int)
+#317 := (or #108 #112)
+#318 := (not #317)
+#119 := (>= #8 0::int)
+#300 := (or #112 #119)
+#301 := (not #300)
+#324 := (or #301 #318)
+#365 := (ite #324 #361 #364)
+#358 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#366 := (ite #14 #358 #365)
+#861 := (forall (vars (?v0 int) (?v1 int)) (:pat #860) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#864 := (iff #369 #861)
+#862 := (iff #366 #366)
+#863 := [refl]: #862
+#865 := [quant-intro #863]: #864
+#329 := (ite #324 #21 #93)
+#332 := (ite #14 0::int #329)
+#335 := (= #10 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#120 := (not #119)
+#113 := (not #112)
+#123 := (and #113 #120)
+#109 := (not #108)
+#116 := (and #109 #113)
+#126 := (or #116 #123)
+#129 := (ite #126 #21 #93)
+#132 := (ite #14 0::int #129)
+#135 := (= #10 #132)
+#138 := (forall (vars (?v0 int) (?v1 int)) #135)
+#339 := (iff #138 #338)
+#336 := (iff #135 #335)
+#333 := (= #132 #332)
+#330 := (= #129 #329)
+#327 := (iff #126 #324)
+#321 := (or #318 #301)
+#325 := (iff #321 #324)
+#326 := [rewrite]: #325
+#322 := (iff #126 #321)
+#319 := (iff #123 #301)
+#320 := [rewrite]: #319
+#298 := (iff #116 #318)
+#299 := [rewrite]: #298
+#323 := [monotonicity #299 #320]: #322
+#328 := [trans #323 #326]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#304 := (~ #138 #138)
+#302 := (~ #135 #135)
+#303 := [refl]: #302
+#305 := [nnf-pos #303]: #304
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#141 := (iff #28 #138)
+#80 := (and #16 #18)
+#83 := (or #17 #80)
+#96 := (ite #83 #21 #93)
+#99 := (ite #14 0::int #96)
+#102 := (= #10 #99)
+#105 := (forall (vars (?v0 int) (?v1 int)) #102)
+#139 := (iff #105 #138)
+#136 := (iff #102 #135)
+#133 := (= #99 #132)
+#130 := (= #96 #129)
+#127 := (iff #83 #126)
+#124 := (iff #80 #123)
+#121 := (iff #18 #120)
+#122 := [rewrite]: #121
+#114 := (iff #16 #113)
+#115 := [rewrite]: #114
+#125 := [monotonicity #115 #122]: #124
+#117 := (iff #17 #116)
+#110 := (iff #15 #109)
+#111 := [rewrite]: #110
+#118 := [monotonicity #111 #115]: #117
+#128 := [monotonicity #118 #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [monotonicity #134]: #136
+#140 := [quant-intro #137]: #139
+#106 := (iff #28 #105)
+#103 := (iff #27 #102)
+#100 := (= #26 #99)
+#97 := (= #25 #96)
+#94 := (= #24 #93)
+#91 := (= #23 #90)
+#92 := [rewrite]: #91
+#88 := (= #22 #87)
+#89 := [rewrite]: #88
+#95 := [monotonicity #89 #92]: #94
+#84 := (iff #20 #83)
+#81 := (iff #19 #80)
+#82 := [rewrite]: #81
+#85 := [monotonicity #82]: #84
+#98 := [monotonicity #85 #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [monotonicity #101]: #103
+#107 := [quant-intro #104]: #106
+#142 := [trans #107 #140]: #141
+#79 := [asserted]: #28
+#143 := [mp #79 #142]: #138
+#289 := [mp~ #143 #305]: #138
+#341 := [mp #289 #340]: #338
+#372 := [mp #341 #371]: #369
+#866 := [mp #372 #865]: #861
+#802 := (not #861)
+#803 := (or #802 #806)
+#538 := (* -1::int 3::int)
+#852 := (div #517 #538)
+#854 := (* -1::int #852)
+#511 := (+ #56 #854)
+#641 := (= #511 0::int)
+#856 := (<= 3::int 0::int)
+#858 := (or #857 #856)
+#853 := (not #858)
+#849 := (or #856 #859)
+#509 := (not #849)
+#514 := (or #509 #853)
+#850 := (ite #514 #855 #641)
+#851 := (= 3::int 0::int)
+#835 := (or #494 #851)
+#498 := (ite #835 #510 #850)
+#809 := (or #802 #498)
+#804 := (iff #809 #803)
+#640 := (iff #803 #803)
+#642 := [rewrite]: #640
+#807 := (iff #498 #806)
+#663 := (iff #850 #662)
+#820 := (iff #641 #814)
+#818 := (= #511 #813)
+#817 := (= #854 #816)
+#826 := (= #852 #822)
+#821 := (= #538 -3::int)
+#825 := [rewrite]: #821
+#815 := [monotonicity #825]: #826
+#812 := [monotonicity #815]: #817
+#819 := [monotonicity #812]: #818
+#661 := [monotonicity #819]: #820
+#823 := (iff #514 #543)
+#828 := (or #833 #553)
+#544 := (iff #828 #543)
+#545 := [rewrite]: #544
+#832 := (iff #514 #828)
+#827 := (iff #853 #553)
+#830 := (iff #858 #857)
+#557 := (or #857 false)
+#452 := (iff #557 #857)
+#829 := [rewrite]: #452
+#558 := (iff #858 #557)
+#842 := (iff #856 false)
+#480 := [rewrite]: #842
+#559 := [monotonicity #480]: #558
+#552 := [trans #559 #829]: #830
+#831 := [monotonicity #552]: #827
+#834 := (iff #509 #833)
+#844 := (iff #849 #859)
+#843 := (or false #859)
+#486 := (iff #843 #859)
+#846 := [rewrite]: #486
+#845 := (iff #849 #843)
+#485 := [monotonicity #480]: #845
+#847 := [trans #485 #846]: #844
+#556 := [monotonicity #847]: #834
+#542 := [monotonicity #556 #831]: #832
+#824 := [trans #542 #545]: #823
+#805 := [monotonicity #824 #661]: #663
+#841 := (iff #835 #494)
+#501 := (or #494 false)
+#839 := (iff #501 #494)
+#840 := [rewrite]: #839
+#837 := (iff #835 #501)
+#499 := (iff #851 false)
+#500 := [rewrite]: #499
+#838 := [monotonicity #500]: #837
+#836 := [trans #838 #840]: #841
+#808 := [monotonicity #836 #805]: #807
+#811 := [monotonicity #808]: #804
+#643 := [trans #811 #642]: #804
+#810 := [quant-inst]: #809
+#796 := [mp #810 #643]: #803
+#703 := [unit-resolution #796 #866]: #806
+#794 := (not #806)
+#795 := (or #794 #791 #510)
+#782 := [def-axiom]: #795
+#659 := [unit-resolution #782 #703]: #658
+#664 := [unit-resolution #659 #682]: #510
+#666 := [monotonicity #664]: #665
+#668 := [symm #666]: #667
+#669 := [trans #712 #668]: #275
+#670 := [unit-resolution #706 #669]: false
+#671 := [lemma #670]: #275
+#600 := [symm #671]: #58
+#585 := [monotonicity #600]: #584
+#587 := [monotonicity #585]: #586
+#589 := [symm #587]: #588
+#592 := [monotonicity #589]: #591
+#582 := [hypothesis]: #791
+#593 := [mp #582 #592]: #590
+#721 := (or #718 #725)
+#50 := (= #45 0::int)
+#263 := (or #50 #213)
+#889 := (forall (vars (?v0 int)) (:pat #882) #263)
+#268 := (forall (vars (?v0 int)) #263)
+#892 := (iff #268 #889)
+#890 := (iff #263 #263)
+#891 := [refl]: #890
+#893 := [quant-intro #891]: #892
+#296 := (~ #268 #268)
+#314 := (~ #263 #263)
+#315 := [refl]: #314
+#297 := [nnf-pos #315]: #296
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#271 := (iff #52 #268)
+#234 := (= 0::int #45)
+#240 := (not #49)
+#241 := (or #240 #234)
+#246 := (forall (vars (?v0 int)) #241)
+#269 := (iff #246 #268)
+#266 := (iff #241 #263)
+#260 := (or #213 #50)
+#264 := (iff #260 #263)
+#265 := [rewrite]: #264
+#261 := (iff #241 #260)
+#258 := (iff #234 #50)
+#259 := [rewrite]: #258
+#256 := (iff #240 #213)
+#251 := (not #216)
+#254 := (iff #251 #213)
+#255 := [rewrite]: #254
+#252 := (iff #240 #251)
+#249 := (iff #49 #216)
+#250 := [rewrite]: #249
+#253 := [monotonicity #250]: #252
+#257 := [trans #253 #255]: #256
+#262 := [monotonicity #257 #259]: #261
+#267 := [trans #262 #265]: #266
+#270 := [quant-intro #267]: #269
+#247 := (iff #52 #246)
+#244 := (iff #51 #241)
+#237 := (implies #49 #234)
+#242 := (iff #237 #241)
+#243 := [rewrite]: #242
+#238 := (iff #51 #237)
+#235 := (iff #50 #234)
+#236 := [rewrite]: #235
+#239 := [monotonicity #236]: #238
+#245 := [trans #239 #243]: #244
+#248 := [quant-intro #245]: #247
+#272 := [trans #248 #270]: #271
+#233 := [asserted]: #52
+#273 := [mp #233 #272]: #268
+#316 := [mp~ #273 #297]: #268
+#894 := [mp #316 #893]: #889
+#719 := (not #889)
+#724 := (or #719 #718 #725)
+#704 := (or #719 #721)
+#705 := (iff #704 #724)
+#686 := [rewrite]: #705
+#650 := [quant-inst]: #704
+#710 := [mp #650 #686]: #724
+#594 := [unit-resolution #710 #894]: #721
+#583 := [unit-resolution #594 #593]: #725
+#726 := (not #725)
+#732 := (or #726 #730)
+#734 := (or #751 #726 #730)
+#731 := (or #730 #726)
+#707 := (or #751 #731)
+#720 := (iff #707 #734)
+#709 := (or #751 #732)
+#714 := (iff #709 #734)
+#715 := [rewrite]: #714
+#602 := (iff #707 #709)
+#733 := (iff #731 #732)
+#728 := [rewrite]: #733
+#713 := [monotonicity #728]: #602
+#716 := [trans #713 #715]: #720
+#708 := [quant-inst]: #707
+#717 := [mp #708 #716]: #734
+#595 := [unit-resolution #717 #888]: #732
+#572 := [unit-resolution #595 #583]: #730
+#577 := [symm #572]: #576
+#574 := (= #54 #727)
+#575 := [symm #585]: #574
+#578 := [trans #575 #577]: #605
+#579 := (not #605)
+#580 := (or #579 #609)
+#573 := [th-lemma]: #580
+#581 := [unit-resolution #573 #578]: #609
+#644 := (<= #523 0::int)
+#566 := (or #494 #662)
+#784 := (or #794 #494 #662)
+#776 := [def-axiom]: #784
+#567 := [unit-resolution #776 #703]: #566
+#568 := [unit-resolution #567 #582]: #662
+#722 := (f6 #783)
+#723 := (= #722 0::int)
+#555 := (not #723)
+#565 := (iff #791 #555)
+#563 := (iff #494 #723)
+#562 := (iff #723 #494)
+#560 := (= #722 #54)
+#569 := (= #783 f7)
+#788 := (= f7 #783)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#874 := (pattern #39)
+#40 := (f5 #39)
+#190 := (= #38 #40)
+#875 := (forall (vars (?v0 S2)) (:pat #874) #190)
+#193 := (forall (vars (?v0 S2)) #190)
+#876 := (iff #193 #875)
+#878 := (iff #875 #875)
+#879 := [rewrite]: #878
+#877 := [rewrite]: #876
+#880 := [trans #877 #879]: #876
+#292 := (~ #193 #193)
+#308 := (~ #190 #190)
+#309 := [refl]: #308
+#293 := [nnf-pos #309]: #292
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#194 := (iff #42 #193)
+#191 := (iff #41 #190)
+#192 := [rewrite]: #191
+#195 := [quant-intro #192]: #194
+#189 := [asserted]: #42
+#198 := [mp #189 #195]: #193
+#310 := [mp~ #198 #293]: #193
+#881 := [mp #310 #880]: #875
+#779 := (not #875)
+#780 := (or #779 #788)
+#774 := [quant-inst]: #780
+#570 := [unit-resolution #774 #881]: #788
+#571 := [symm #570]: #569
+#561 := [monotonicity #571]: #560
+#554 := [monotonicity #561]: #562
+#564 := [symm #554]: #563
+#546 := [monotonicity #564]: #565
+#547 := [mp #582 #546]: #555
+#711 := (or #723 #859)
+#680 := (or #719 #723 #859)
+#687 := (or #719 #711)
+#677 := (iff #687 #680)
+#679 := [rewrite]: #677
+#646 := [quant-inst]: #687
+#681 := [mp #646 #679]: #680
+#548 := [unit-resolution #681 #894]: #711
+#540 := [unit-resolution #548 #547]: #859
+#549 := (or #494 #553 #833)
+#550 := [th-lemma]: #549
+#541 := [unit-resolution #550 #582]: #543
+#551 := [unit-resolution #541 #540]: #553
+#797 := (or #543 #857)
+#799 := [def-axiom]: #797
+#518 := [unit-resolution #799 #551]: #543
+#801 := (not #543)
+#793 := (not #662)
+#678 := (or #793 #801 #855)
+#693 := [def-axiom]: #678
+#520 := [unit-resolution #693 #518 #568]: #855
+#689 := (not #855)
+#521 := (or #689 #644)
+#512 := [th-lemma]: #521
+#525 := [unit-resolution #512 #520]: #644
+#653 := (* -3::int #848)
+#652 := (* -1::int #685)
+#654 := (+ #652 #653)
+#655 := (+ #54 #654)
+#629 := (>= #655 0::int)
+#651 := (= #655 0::int)
+#526 := (or false #651)
+#527 := [th-lemma]: #526
+#528 := [unit-resolution #527 #77]: #651
+#529 := (not #651)
+#519 := (or #529 #629)
+#530 := [th-lemma]: #519
+#513 := [unit-resolution #530 #528]: #629
+#515 := [th-lemma #551 #513 #525 #581 #597]: false
+#516 := [lemma #515]: #494
+#607 := [symm #516]: #604
+#612 := [monotonicity #607]: #608
+#610 := [symm #612]: #628
+#596 := [trans #570 #610]: #60
+#524 := (or #61 #446)
+#532 := (or #61 #446 #531)
+#533 := [def-axiom]: #532
+#535 := [unit-resolution #533 #288]: #524
+#603 := [unit-resolution #535 #671]: #61
+[unit-resolution #603 #596]: false
+unsat
+0dfa1960b9d87fc7e3f972c64e026321f27c2c2b 274 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#55 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := (f4 0::int 0::int)
+#54 := (f5 #53)
+#56 := (= #54 #55)
+#831 := (= #53 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#81 := -1::int
+#85 := (* -1::int #9)
+#82 := (* -1::int #8)
+#140 := (mod #82 #85)
+#361 := (+ #29 #140)
+#362 := (= #361 0::int)
+#30 := (mod #8 #9)
+#358 := (* -1::int #30)
+#359 := (+ #29 #358)
+#360 := (= #359 0::int)
+#107 := (<= #9 0::int)
+#103 := (<= #8 0::int)
+#300 := (or #103 #107)
+#301 := (not #300)
+#114 := (>= #8 0::int)
+#283 := (or #107 #114)
+#284 := (not #283)
+#307 := (or #284 #301)
+#363 := (ite #307 #360 #362)
+#357 := (= #29 0::int)
+#12 := (= #8 0::int)
+#364 := (ite #12 #357 #363)
+#356 := (= #8 #29)
+#13 := (= #9 0::int)
+#365 := (ite #13 #356 #364)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #365)
+#368 := (forall (vars (?v0 int) (?v1 int)) #365)
+#854 := (iff #368 #851)
+#852 := (iff #365 #365)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#146 := (* -1::int #140)
+#325 := (ite #307 #30 #146)
+#328 := (ite #12 0::int #325)
+#331 := (ite #13 #8 #328)
+#334 := (= #29 #331)
+#337 := (forall (vars (?v0 int) (?v1 int)) #334)
+#369 := (iff #337 #368)
+#366 := (iff #334 #365)
+#367 := [rewrite]: #366
+#370 := [quant-intro #367]: #369
+#115 := (not #114)
+#108 := (not #107)
+#118 := (and #108 #115)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#166 := (ite #121 #30 #146)
+#169 := (ite #12 0::int #166)
+#172 := (ite #13 #8 #169)
+#175 := (= #29 #172)
+#178 := (forall (vars (?v0 int) (?v1 int)) #175)
+#338 := (iff #178 #337)
+#335 := (iff #175 #334)
+#332 := (= #172 #331)
+#329 := (= #169 #328)
+#326 := (= #166 #325)
+#310 := (iff #121 #307)
+#304 := (or #301 #284)
+#308 := (iff #304 #307)
+#309 := [rewrite]: #308
+#305 := (iff #121 #304)
+#302 := (iff #118 #284)
+#303 := [rewrite]: #302
+#281 := (iff #111 #301)
+#282 := [rewrite]: #281
+#306 := [monotonicity #282 #303]: #305
+#311 := [trans #306 #309]: #310
+#327 := [monotonicity #311]: #326
+#330 := [monotonicity #327]: #329
+#333 := [monotonicity #330]: #332
+#336 := [monotonicity #333]: #335
+#339 := [quant-intro #336]: #338
+#273 := (~ #178 #178)
+#270 := (~ #175 #175)
+#289 := [refl]: #270
+#274 := [nnf-pos #289]: #273
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#181 := (iff #37 #178)
+#75 := (and #16 #18)
+#78 := (or #17 #75)
+#151 := (ite #78 #30 #146)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#179 := (iff #163 #178)
+#176 := (iff #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#122 := (iff #78 #121)
+#119 := (iff #75 #118)
+#116 := (iff #18 #115)
+#117 := [rewrite]: #116
+#109 := (iff #16 #108)
+#110 := [rewrite]: #109
+#120 := [monotonicity #110 #117]: #119
+#112 := (iff #17 #111)
+#105 := (iff #15 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#168 := [monotonicity #123]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#164 := (iff #37 #163)
+#161 := (iff #36 #160)
+#158 := (= #35 #157)
+#155 := (= #34 #154)
+#152 := (= #33 #151)
+#149 := (= #32 #146)
+#143 := (- #140)
+#147 := (= #143 #146)
+#148 := [rewrite]: #147
+#144 := (= #32 #143)
+#141 := (= #31 #140)
+#86 := (= #23 #85)
+#87 := [rewrite]: #86
+#83 := (= #22 #82)
+#84 := [rewrite]: #83
+#142 := [monotonicity #84 #87]: #141
+#145 := [monotonicity #142]: #144
+#150 := [trans #145 #148]: #149
+#79 := (iff #20 #78)
+#76 := (iff #19 #75)
+#77 := [rewrite]: #76
+#80 := [monotonicity #77]: #79
+#153 := [monotonicity #80 #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#182 := [trans #165 #180]: #181
+#139 := [asserted]: #37
+#183 := [mp #139 #182]: #178
+#290 := [mp~ #183 #274]: #178
+#340 := [mp #290 #339]: #337
+#371 := [mp #340 #370]: #368
+#856 := [mp #371 #855]: #851
+#646 := (not #851)
+#788 := (or #646 #831)
+#429 := (* -1::int 0::int)
+#514 := (mod #429 #429)
+#515 := (+ #53 #514)
+#516 := (= #515 0::int)
+#507 := (mod 0::int 0::int)
+#518 := (* -1::int #507)
+#519 := (+ #53 #518)
+#447 := (= #519 0::int)
+#520 := (<= 0::int 0::int)
+#517 := (or #520 #520)
+#521 := (not #517)
+#500 := (>= 0::int 0::int)
+#835 := (or #520 #500)
+#837 := (not #835)
+#494 := (or #837 #521)
+#624 := (ite #494 #447 #516)
+#505 := (= 0::int 0::int)
+#506 := (ite #505 #831 #624)
+#838 := (= 0::int #53)
+#839 := (ite #505 #838 #506)
+#789 := (or #646 #839)
+#791 := (iff #789 #788)
+#786 := (iff #788 #788)
+#792 := [rewrite]: #786
+#644 := (iff #839 #831)
+#1 := true
+#796 := (ite true #831 #831)
+#797 := (iff #796 #831)
+#803 := [rewrite]: #797
+#801 := (iff #839 #796)
+#800 := (iff #506 #831)
+#536 := (+ #53 #507)
+#811 := (= #536 0::int)
+#808 := (ite true #831 #811)
+#798 := (iff #808 #831)
+#799 := [rewrite]: #798
+#805 := (iff #506 #808)
+#522 := (iff #624 #811)
+#526 := (ite false #447 #811)
+#806 := (iff #526 #811)
+#807 := [rewrite]: #806
+#527 := (iff #624 #526)
+#815 := (iff #516 #811)
+#810 := (= #515 #536)
+#813 := (= #514 #507)
+#435 := (= #429 0::int)
+#812 := [rewrite]: #435
+#535 := [monotonicity #812 #812]: #813
+#814 := [monotonicity #535]: #810
+#525 := [monotonicity #814]: #815
+#541 := (iff #494 false)
+#830 := (or false false)
+#539 := (iff #830 false)
+#540 := [rewrite]: #539
+#816 := (iff #494 #830)
+#829 := (iff #521 false)
+#484 := (not true)
+#822 := (iff #484 false)
+#823 := [rewrite]: #822
+#468 := (iff #521 #484)
+#826 := (iff #517 true)
+#493 := (or true true)
+#818 := (iff #493 true)
+#481 := [rewrite]: #818
+#825 := (iff #517 #493)
+#832 := (iff #520 true)
+#492 := [rewrite]: #832
+#463 := [monotonicity #492 #492]: #825
+#828 := [trans #463 #481]: #826
+#469 := [monotonicity #828]: #468
+#827 := [trans #469 #823]: #829
+#824 := (iff #837 false)
+#820 := (iff #837 #484)
+#482 := (iff #835 true)
+#834 := (iff #835 #493)
+#497 := (iff #500 true)
+#833 := [rewrite]: #497
+#477 := [monotonicity #492 #833]: #834
+#483 := [trans #477 #481]: #482
+#821 := [monotonicity #483]: #820
+#819 := [trans #821 #823]: #824
+#817 := [monotonicity #819 #827]: #816
+#542 := [trans #817 #540]: #541
+#528 := [monotonicity #542 #525]: #527
+#804 := [trans #528 #807]: #522
+#840 := (iff #505 true)
+#841 := [rewrite]: #840
+#809 := [monotonicity #841 #804]: #805
+#795 := [trans #809 #799]: #800
+#836 := (iff #838 #831)
+#842 := [rewrite]: #836
+#802 := [monotonicity #841 #842 #795]: #801
+#645 := [trans #802 #803]: #644
+#785 := [monotonicity #645]: #791
+#793 := [trans #785 #792]: #791
+#790 := [quant-inst]: #789
+#787 := [mp #790 #793]: #788
+#741 := [unit-resolution #787 #856]: #831
+#742 := [monotonicity #741]: #56
+#57 := (not #56)
+#269 := [asserted]: #57
+[unit-resolution #269 #742]: false
+unsat
+d1d747d0faebd6e388f19866072f0756127c8e26 321 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f4 :: (-> int int int)
+#11 := 0::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#55 := (f4 #54 0::int)
+#56 := (f5 #55)
+#271 := (= f7 #56)
+#795 := (f5 #54)
+#772 := (= #795 #56)
+#771 := (= #56 #795)
+#768 := (= #55 #54)
+#848 := (= #54 #55)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#858 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#369 := (+ #29 #141)
+#370 := (= #369 0::int)
+#30 := (mod #8 #9)
+#366 := (* -1::int #30)
+#367 := (+ #29 #366)
+#368 := (= #367 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#308 := (or #104 #108)
+#309 := (not #308)
+#115 := (>= #8 0::int)
+#291 := (or #108 #115)
+#292 := (not #291)
+#315 := (or #292 #309)
+#371 := (ite #315 #368 #370)
+#365 := (= #29 0::int)
+#12 := (= #8 0::int)
+#372 := (ite #12 #365 #371)
+#364 := (= #8 #29)
+#13 := (= #9 0::int)
+#373 := (ite #13 #364 #372)
+#859 := (forall (vars (?v0 int) (?v1 int)) (:pat #858) #373)
+#376 := (forall (vars (?v0 int) (?v1 int)) #373)
+#862 := (iff #376 #859)
+#860 := (iff #373 #373)
+#861 := [refl]: #860
+#863 := [quant-intro #861]: #862
+#147 := (* -1::int #141)
+#333 := (ite #315 #30 #147)
+#336 := (ite #12 0::int #333)
+#339 := (ite #13 #8 #336)
+#342 := (= #29 #339)
+#345 := (forall (vars (?v0 int) (?v1 int)) #342)
+#377 := (iff #345 #376)
+#374 := (iff #342 #373)
+#375 := [rewrite]: #374
+#378 := [quant-intro #375]: #377
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#346 := (iff #179 #345)
+#343 := (iff #176 #342)
+#340 := (= #173 #339)
+#337 := (= #170 #336)
+#334 := (= #167 #333)
+#318 := (iff #122 #315)
+#312 := (or #309 #292)
+#316 := (iff #312 #315)
+#317 := [rewrite]: #316
+#313 := (iff #122 #312)
+#310 := (iff #119 #292)
+#311 := [rewrite]: #310
+#289 := (iff #112 #309)
+#290 := [rewrite]: #289
+#314 := [monotonicity #290 #311]: #313
+#319 := [trans #314 #317]: #318
+#335 := [monotonicity #319]: #334
+#338 := [monotonicity #335]: #337
+#341 := [monotonicity #338]: #340
+#344 := [monotonicity #341]: #343
+#347 := [quant-intro #344]: #346
+#281 := (~ #179 #179)
+#277 := (~ #176 #176)
+#297 := [refl]: #277
+#282 := [nnf-pos #297]: #281
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#298 := [mp~ #184 #282]: #179
+#348 := [mp #298 #347]: #345
+#379 := [mp #348 #378]: #376
+#864 := [mp #379 #863]: #859
+#653 := (not #859)
+#654 := (or #653 #848)
+#437 := (* -1::int 0::int)
+#522 := (* -1::int #54)
+#523 := (mod #522 #437)
+#524 := (+ #55 #523)
+#515 := (= #524 0::int)
+#526 := (mod #54 0::int)
+#527 := (* -1::int #526)
+#455 := (+ #55 #527)
+#528 := (= #455 0::int)
+#525 := (<= 0::int 0::int)
+#529 := (<= #54 0::int)
+#508 := (or #529 #525)
+#843 := (not #508)
+#845 := (>= #54 0::int)
+#502 := (or #525 #845)
+#632 := (not #502)
+#839 := (or #632 #843)
+#513 := (ite #839 #528 #515)
+#514 := (= #55 0::int)
+#846 := (= #54 0::int)
+#847 := (ite #846 #514 #513)
+#849 := (= 0::int 0::int)
+#844 := (ite #849 #848 #847)
+#796 := (or #653 #844)
+#798 := (iff #796 #654)
+#793 := (iff #654 #654)
+#794 := [rewrite]: #793
+#811 := (iff #844 #848)
+#544 := (mod #522 0::int)
+#819 := (+ #55 #544)
+#534 := (= #819 0::int)
+#806 := (ite #846 #514 #534)
+#1 := true
+#803 := (ite true #848 #806)
+#810 := (iff #803 #848)
+#805 := [rewrite]: #810
+#804 := (iff #844 #803)
+#807 := (iff #847 #806)
+#813 := (iff #513 #534)
+#814 := (ite false #528 #534)
+#812 := (iff #814 #534)
+#816 := [rewrite]: #812
+#815 := (iff #513 #814)
+#535 := (iff #515 #534)
+#823 := (= #524 #819)
+#818 := (= #523 #544)
+#821 := (= #437 0::int)
+#543 := [rewrite]: #821
+#822 := [monotonicity #543]: #818
+#533 := [monotonicity #822]: #823
+#536 := [monotonicity #533]: #535
+#443 := (iff #839 false)
+#825 := (or false false)
+#549 := (iff #825 false)
+#550 := [rewrite]: #549
+#547 := (iff #839 #825)
+#838 := (iff #843 false)
+#491 := (not true)
+#829 := (iff #491 false)
+#830 := [rewrite]: #829
+#837 := (iff #843 #491)
+#476 := (iff #508 true)
+#827 := (or #529 true)
+#834 := (iff #827 true)
+#836 := [rewrite]: #834
+#833 := (iff #508 #827)
+#500 := (iff #525 true)
+#505 := [rewrite]: #500
+#471 := [monotonicity #505]: #833
+#477 := [trans #471 #836]: #476
+#835 := [monotonicity #477]: #837
+#824 := [trans #835 #830]: #838
+#831 := (iff #632 false)
+#492 := (iff #632 #491)
+#489 := (iff #502 true)
+#841 := (or true #845)
+#485 := (iff #841 true)
+#826 := [rewrite]: #485
+#501 := (iff #502 #841)
+#842 := [monotonicity #505]: #501
+#490 := [trans #842 #826]: #489
+#828 := [monotonicity #490]: #492
+#832 := [trans #828 #830]: #831
+#548 := [monotonicity #832 #824]: #547
+#820 := [trans #548 #550]: #443
+#530 := [monotonicity #820 #536]: #815
+#817 := [trans #530 #816]: #813
+#808 := [monotonicity #817]: #807
+#850 := (iff #849 true)
+#840 := [rewrite]: #850
+#809 := [monotonicity #840 #808]: #804
+#652 := [trans #809 #805]: #811
+#799 := [monotonicity #652]: #798
+#800 := [trans #799 #794]: #798
+#797 := [quant-inst]: #796
+#801 := [mp #797 #800]: #654
+#779 := [unit-resolution #801 #864]: #848
+#769 := [symm #779]: #768
+#765 := [monotonicity #769]: #771
+#756 := [symm #765]: #772
+#802 := (= f7 #795)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#865 := (pattern #39)
+#40 := (f5 #39)
+#186 := (= #38 #40)
+#866 := (forall (vars (?v0 S2)) (:pat #865) #186)
+#189 := (forall (vars (?v0 S2)) #186)
+#867 := (iff #189 #866)
+#869 := (iff #866 #866)
+#870 := [rewrite]: #869
+#868 := [rewrite]: #867
+#871 := [trans #868 #870]: #867
+#283 := (~ #189 #189)
+#299 := (~ #186 #186)
+#300 := [refl]: #299
+#284 := [nnf-pos #300]: #283
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#190 := (iff #42 #189)
+#187 := (iff #41 #186)
+#188 := [rewrite]: #187
+#191 := [quant-intro #188]: #190
+#185 := [asserted]: #42
+#194 := [mp #185 #191]: #189
+#301 := [mp~ #194 #284]: #189
+#872 := [mp #301 #871]: #866
+#634 := (not #866)
+#787 := (or #634 #802)
+#788 := [quant-inst]: #787
+#770 := [unit-resolution #788 #872]: #802
+#757 := [trans #770 #756]: #271
+#274 := (not #271)
+#57 := (= #56 f7)
+#58 := (not #57)
+#275 := (iff #58 #274)
+#272 := (iff #57 #271)
+#273 := [rewrite]: #272
+#276 := [monotonicity #273]: #275
+#270 := [asserted]: #58
+#279 := [mp #270 #276]: #274
+[unit-resolution #279 #757]: false
+unsat
+a3c833f1598038a8776912ffafadef9d4adb93db 304 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 1::int
+#54 := (f4 0::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#838 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#854 := (iff #369 #851)
+#852 := (iff #366 #366)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#856 := [mp #372 #855]: #851
+#676 := (not #851)
+#678 := (or #676 #838)
+#430 := (* -1::int 1::int)
+#514 := (* -1::int 0::int)
+#515 := (mod #514 #430)
+#516 := (+ #54 #515)
+#507 := (= #516 0::int)
+#518 := (mod 0::int 1::int)
+#519 := (* -1::int #518)
+#520 := (+ #54 #519)
+#517 := (= #520 0::int)
+#521 := (<= 1::int 0::int)
+#500 := (<= 0::int 0::int)
+#835 := (or #500 #521)
+#837 := (not #835)
+#494 := (>= 0::int 0::int)
+#624 := (or #521 #494)
+#831 := (not #624)
+#505 := (or #831 #837)
+#506 := (ite #505 #517 #507)
+#839 := (= 0::int 0::int)
+#840 := (ite #839 #838 #506)
+#841 := (= 0::int #54)
+#836 := (= 1::int 0::int)
+#842 := (ite #836 #841 #840)
+#679 := (or #676 #842)
+#680 := (iff #679 #678)
+#682 := (iff #678 #678)
+#683 := [rewrite]: #682
+#776 := (iff #842 #838)
+#625 := (ite false #838 #838)
+#780 := (iff #625 #838)
+#782 := [rewrite]: #780
+#772 := (iff #842 #625)
+#775 := (iff #840 #838)
+#1 := true
+#784 := (ite true #838 #838)
+#668 := (iff #784 #838)
+#627 := [rewrite]: #668
+#666 := (iff #840 #784)
+#783 := (iff #506 #838)
+#626 := (iff #506 #625)
+#794 := (iff #507 #838)
+#793 := (= #516 #54)
+#809 := (+ #54 0::int)
+#800 := (= #809 #54)
+#795 := [rewrite]: #800
+#786 := (= #516 #809)
+#791 := (= #515 0::int)
+#645 := (mod 0::int -1::int)
+#789 := (= #645 0::int)
+#790 := [rewrite]: #789
+#646 := (= #515 #645)
+#803 := (= #430 -1::int)
+#644 := [rewrite]: #803
+#522 := (= #514 0::int)
+#804 := [rewrite]: #522
+#788 := [monotonicity #804 #644]: #646
+#785 := [trans #788 #790]: #791
+#792 := [monotonicity #785]: #786
+#787 := [trans #792 #795]: #793
+#623 := [monotonicity #787]: #794
+#802 := (iff #517 #838)
+#796 := (= #520 #54)
+#798 := (= #520 #809)
+#808 := (= #519 0::int)
+#806 := (= #519 #514)
+#527 := (= #518 0::int)
+#528 := [rewrite]: #527
+#807 := [monotonicity #528]: #806
+#805 := [trans #807 #804]: #808
+#799 := [monotonicity #805]: #798
+#801 := [trans #799 #795]: #796
+#797 := [monotonicity #801]: #802
+#525 := (iff #505 false)
+#536 := (or false false)
+#811 := (iff #536 false)
+#815 := [rewrite]: #811
+#810 := (iff #505 #536)
+#813 := (iff #837 false)
+#819 := (not true)
+#826 := (iff #819 false)
+#828 := [rewrite]: #826
+#436 := (iff #837 #819)
+#541 := (iff #835 true)
+#830 := (or true false)
+#539 := (iff #830 true)
+#540 := [rewrite]: #539
+#816 := (iff #835 #830)
+#477 := (iff #521 false)
+#818 := [rewrite]: #477
+#829 := (iff #500 true)
+#827 := [rewrite]: #829
+#817 := [monotonicity #827 #818]: #816
+#542 := [trans #817 #540]: #541
+#812 := [monotonicity #542]: #436
+#535 := [trans #812 #828]: #813
+#468 := (iff #831 false)
+#825 := (iff #831 #819)
+#823 := (iff #624 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#484 := (iff #624 #483)
+#481 := (iff #494 true)
+#482 := [rewrite]: #481
+#820 := [monotonicity #818 #482]: #484
+#824 := [trans #820 #822]: #823
+#463 := [monotonicity #824]: #825
+#469 := [trans #463 #828]: #468
+#814 := [monotonicity #469 #535]: #810
+#526 := [trans #814 #815]: #525
+#779 := [monotonicity #526 #797 #623]: #626
+#781 := [trans #779 #782]: #783
+#493 := (iff #839 true)
+#834 := [rewrite]: #493
+#667 := [monotonicity #834 #781]: #666
+#677 := [trans #667 #627]: #775
+#497 := (iff #841 #838)
+#833 := [rewrite]: #497
+#832 := (iff #836 false)
+#492 := [rewrite]: #832
+#773 := [monotonicity #492 #833 #677]: #772
+#661 := [trans #773 #782]: #776
+#681 := [monotonicity #661]: #680
+#684 := [trans #681 #683]: #680
+#672 := [quant-inst]: #679
+#777 := [mp #672 #684]: #678
+#712 := [unit-resolution #777 #856]: #838
+#708 := [monotonicity #712]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #708]: false
+unsat
+0ed8143194dfb52577bab03cbe24b15165bf7f58 302 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 1::int
+#54 := (f4 1::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#505 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#854 := (iff #369 #851)
+#852 := (iff #366 #366)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#856 := [mp #372 #855]: #851
+#776 := (not #851)
+#661 := (or #776 #505)
+#430 := (* -1::int 1::int)
+#514 := (mod #430 #430)
+#515 := (+ #54 #514)
+#516 := (= #515 0::int)
+#507 := (mod 1::int 1::int)
+#518 := (* -1::int #507)
+#519 := (+ #54 #518)
+#520 := (= #519 0::int)
+#517 := (<= 1::int 0::int)
+#521 := (or #517 #517)
+#500 := (not #521)
+#835 := (>= 1::int 0::int)
+#837 := (or #517 #835)
+#494 := (not #837)
+#624 := (or #494 #500)
+#831 := (ite #624 #520 #516)
+#506 := (= 1::int 0::int)
+#838 := (ite #506 #505 #831)
+#839 := (= 1::int #54)
+#840 := (ite #506 #839 #838)
+#676 := (or #776 #840)
+#679 := (iff #676 #661)
+#680 := (iff #661 #661)
+#681 := [rewrite]: #680
+#772 := (iff #840 #505)
+#832 := (= #54 1::int)
+#667 := (ite false #832 #505)
+#775 := (iff #667 #505)
+#677 := [rewrite]: #775
+#668 := (iff #840 #667)
+#784 := (iff #838 #505)
+#779 := (ite false #505 #505)
+#783 := (iff #779 #505)
+#781 := [rewrite]: #783
+#780 := (iff #838 #779)
+#625 := (iff #831 #505)
+#1 := true
+#792 := (ite true #505 #505)
+#794 := (iff #792 #505)
+#623 := [rewrite]: #794
+#793 := (iff #831 #792)
+#785 := (iff #516 #505)
+#790 := (= #515 #54)
+#807 := (+ #54 0::int)
+#808 := (= #807 #54)
+#805 := [rewrite]: #808
+#788 := (= #515 #807)
+#645 := (= #514 0::int)
+#801 := (mod -1::int -1::int)
+#803 := (= #801 0::int)
+#644 := [rewrite]: #803
+#802 := (= #514 #801)
+#795 := (= #430 -1::int)
+#796 := [rewrite]: #795
+#797 := [monotonicity #796 #796]: #802
+#646 := [trans #797 #644]: #645
+#789 := [monotonicity #646]: #788
+#791 := [trans #789 #805]: #790
+#786 := [monotonicity #791]: #785
+#799 := (iff #520 #505)
+#809 := (= #519 #54)
+#522 := (= #519 #807)
+#528 := (= #518 0::int)
+#811 := (* -1::int 0::int)
+#526 := (= #811 0::int)
+#527 := [rewrite]: #526
+#815 := (= #518 #811)
+#810 := (= #507 0::int)
+#814 := [rewrite]: #810
+#525 := [monotonicity #814]: #815
+#806 := [trans #525 #527]: #528
+#804 := [monotonicity #806]: #522
+#798 := [trans #804 #805]: #809
+#800 := [monotonicity #798]: #799
+#535 := (iff #624 true)
+#477 := (or false true)
+#482 := (iff #477 true)
+#483 := [rewrite]: #482
+#812 := (iff #624 #477)
+#542 := (iff #500 true)
+#816 := (not false)
+#540 := (iff #816 true)
+#541 := [rewrite]: #540
+#817 := (iff #500 #816)
+#827 := (iff #521 false)
+#826 := (or false false)
+#469 := (iff #826 false)
+#829 := [rewrite]: #469
+#828 := (iff #521 #826)
+#497 := (iff #517 false)
+#833 := [rewrite]: #497
+#468 := [monotonicity #833 #833]: #828
+#830 := [trans #468 #829]: #827
+#539 := [monotonicity #830]: #817
+#436 := [trans #539 #541]: #542
+#825 := (iff #494 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#819 := [rewrite]: #824
+#822 := (iff #494 #821)
+#484 := (iff #837 true)
+#818 := (iff #837 #477)
+#493 := (iff #835 true)
+#834 := [rewrite]: #493
+#481 := [monotonicity #833 #834]: #818
+#820 := [trans #481 #483]: #484
+#823 := [monotonicity #820]: #822
+#463 := [trans #823 #819]: #825
+#813 := [monotonicity #463 #436]: #812
+#536 := [trans #813 #483]: #535
+#787 := [monotonicity #536 #800 #786]: #793
+#626 := [trans #787 #623]: #625
+#841 := (iff #506 false)
+#836 := [rewrite]: #841
+#782 := [monotonicity #836 #626]: #780
+#666 := [trans #782 #781]: #784
+#842 := (iff #839 #832)
+#492 := [rewrite]: #842
+#627 := [monotonicity #836 #492 #666]: #668
+#773 := [trans #627 #677]: #772
+#672 := [monotonicity #773]: #679
+#682 := [trans #672 #681]: #679
+#678 := [quant-inst]: #676
+#683 := [mp #678 #682]: #661
+#703 := [unit-resolution #683 #856]: #505
+#699 := [monotonicity #703]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #699]: false
+unsat
+fcd87864693d4ad3c0baf637d840e1f36b070f98 313 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f4 :: (-> int int int)
+#54 := 1::int
+#53 := 3::int
+#55 := (f4 3::int 1::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#839 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#142 := (mod #84 #87)
+#363 := (+ #29 #142)
+#364 := (= #363 0::int)
+#30 := (mod #8 #9)
+#360 := (* -1::int #30)
+#361 := (+ #29 #360)
+#362 := (= #361 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#365 := (ite #309 #362 #364)
+#359 := (= #29 0::int)
+#12 := (= #8 0::int)
+#366 := (ite #12 #359 #365)
+#358 := (= #8 #29)
+#13 := (= #9 0::int)
+#367 := (ite #13 #358 #366)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #367)
+#370 := (forall (vars (?v0 int) (?v1 int)) #367)
+#855 := (iff #370 #852)
+#853 := (iff #367 #367)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#148 := (* -1::int #142)
+#327 := (ite #309 #30 #148)
+#330 := (ite #12 0::int #327)
+#333 := (ite #13 #8 #330)
+#336 := (= #29 #333)
+#339 := (forall (vars (?v0 int) (?v1 int)) #336)
+#371 := (iff #339 #370)
+#368 := (iff #336 #367)
+#369 := [rewrite]: #368
+#372 := [quant-intro #369]: #371
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#168 := (ite #123 #30 #148)
+#171 := (ite #12 0::int #168)
+#174 := (ite #13 #8 #171)
+#177 := (= #29 #174)
+#180 := (forall (vars (?v0 int) (?v1 int)) #177)
+#340 := (iff #180 #339)
+#337 := (iff #177 #336)
+#334 := (= #174 #333)
+#331 := (= #171 #330)
+#328 := (= #168 #327)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#329 := [monotonicity #313]: #328
+#332 := [monotonicity #329]: #331
+#335 := [monotonicity #332]: #334
+#338 := [monotonicity #335]: #337
+#341 := [quant-intro #338]: #340
+#275 := (~ #180 #180)
+#272 := (~ #177 #177)
+#291 := [refl]: #272
+#276 := [nnf-pos #291]: #275
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#183 := (iff #37 #180)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#153 := (ite #80 #30 #148)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#181 := (iff #165 #180)
+#178 := (iff #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#170 := [monotonicity #125]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [quant-intro #179]: #181
+#166 := (iff #37 #165)
+#163 := (iff #36 #162)
+#160 := (= #35 #159)
+#157 := (= #34 #156)
+#154 := (= #33 #153)
+#151 := (= #32 #148)
+#145 := (- #142)
+#149 := (= #145 #148)
+#150 := [rewrite]: #149
+#146 := (= #32 #145)
+#143 := (= #31 #142)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#144 := [monotonicity #86 #89]: #143
+#147 := [monotonicity #144]: #146
+#152 := [trans #147 #150]: #151
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#155 := [monotonicity #82 #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#184 := [trans #167 #182]: #183
+#141 := [asserted]: #37
+#185 := [mp #141 #184]: #180
+#292 := [mp~ #185 #276]: #180
+#342 := [mp #292 #341]: #339
+#373 := [mp #342 #372]: #370
+#857 := [mp #373 #856]: #852
+#685 := (not #852)
+#778 := (or #685 #839)
+#431 := (* -1::int 1::int)
+#515 := (* -1::int 3::int)
+#516 := (mod #515 #431)
+#517 := (+ #55 #516)
+#508 := (= #517 0::int)
+#519 := (mod 3::int 1::int)
+#520 := (* -1::int #519)
+#521 := (+ #55 #520)
+#518 := (= #521 0::int)
+#522 := (<= 1::int 0::int)
+#501 := (<= 3::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 3::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #508)
+#840 := (= 3::int 0::int)
+#841 := (ite #840 #839 #507)
+#842 := (= 3::int #55)
+#837 := (= 1::int 0::int)
+#843 := (ite #837 #842 #841)
+#775 := (or #685 #843)
+#766 := (iff #775 #778)
+#760 := (iff #778 #778)
+#757 := [rewrite]: #760
+#683 := (iff #843 #839)
+#834 := (= #55 3::int)
+#679 := (ite false #834 #839)
+#681 := (iff #679 #839)
+#682 := [rewrite]: #681
+#680 := (iff #843 #679)
+#662 := (iff #841 #839)
+#776 := (ite false #839 #839)
+#774 := (iff #776 #839)
+#777 := [rewrite]: #774
+#678 := (iff #841 #776)
+#669 := (iff #507 #839)
+#1 := true
+#784 := (ite true #839 #839)
+#667 := (iff #784 #839)
+#668 := [rewrite]: #667
+#782 := (iff #507 #784)
+#781 := (iff #508 #839)
+#627 := (= #517 #55)
+#800 := (+ #55 0::int)
+#797 := (= #800 #55)
+#802 := [rewrite]: #797
+#624 := (= #517 #800)
+#788 := (= #516 0::int)
+#646 := -3::int
+#792 := (mod -3::int -1::int)
+#793 := (= #792 0::int)
+#794 := [rewrite]: #793
+#786 := (= #516 #792)
+#790 := (= #431 -1::int)
+#791 := [rewrite]: #790
+#647 := (= #515 -3::int)
+#789 := [rewrite]: #647
+#787 := [monotonicity #789 #791]: #786
+#795 := [trans #787 #794]: #788
+#626 := [monotonicity #795]: #624
+#780 := [trans #626 #802]: #627
+#783 := [monotonicity #780]: #781
+#804 := (iff #518 #839)
+#803 := (= #521 #55)
+#801 := (= #521 #800)
+#810 := (= #520 0::int)
+#808 := (* -1::int 0::int)
+#809 := (= #808 0::int)
+#806 := [rewrite]: #809
+#523 := (= #520 #808)
+#529 := (= #519 0::int)
+#807 := [rewrite]: #529
+#805 := [monotonicity #807]: #523
+#799 := [trans #805 #806]: #810
+#796 := [monotonicity #799]: #801
+#798 := [trans #796 #802]: #803
+#645 := [monotonicity #798]: #804
+#527 := (iff #506 true)
+#485 := (or false true)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#816 := (iff #506 #485)
+#815 := (iff #838 true)
+#813 := (not false)
+#537 := (iff #813 true)
+#811 := [rewrite]: #537
+#814 := (iff #838 #813)
+#543 := (iff #836 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#818 := (iff #836 #817)
+#819 := (iff #522 false)
+#482 := [rewrite]: #819
+#828 := (iff #501 false)
+#831 := [rewrite]: #828
+#540 := [monotonicity #831 #482]: #818
+#437 := [trans #540 #542]: #543
+#536 := [monotonicity #437]: #814
+#812 := [trans #536 #811]: #815
+#470 := (iff #832 false)
+#826 := (not true)
+#829 := (iff #826 false)
+#469 := [rewrite]: #829
+#464 := (iff #832 #826)
+#825 := (iff #625 true)
+#821 := (iff #625 #485)
+#483 := (iff #495 true)
+#484 := [rewrite]: #483
+#822 := [monotonicity #482 #484]: #821
+#820 := [trans #822 #824]: #825
+#827 := [monotonicity #820]: #464
+#830 := [trans #827 #469]: #470
+#526 := [monotonicity #830 #812]: #816
+#528 := [trans #526 #824]: #527
+#785 := [monotonicity #528 #645 #783]: #782
+#628 := [trans #785 #668]: #669
+#835 := (iff #840 false)
+#478 := [rewrite]: #835
+#773 := [monotonicity #478 #628]: #678
+#677 := [trans #773 #777]: #662
+#498 := (iff #842 #834)
+#494 := [rewrite]: #498
+#833 := (iff #837 false)
+#493 := [rewrite]: #833
+#673 := [monotonicity #493 #494 #677]: #680
+#684 := [trans #673 #682]: #683
+#768 := [monotonicity #684]: #766
+#759 := [trans #768 #757]: #766
+#779 := [quant-inst]: #775
+#769 := [mp #779 #759]: #778
+#701 := [unit-resolution #769 #857]: #839
+#702 := [monotonicity #701]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #702]: false
+unsat
+5011f4c55d83995f3652179dc30dfbbb91f701d2 447 0
+#2 := false
+#11 := 0::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#496 := (>= #54 0::int)
+decl f5 :: (-> int S2)
+#762 := (f5 #54)
+#708 := (f6 #762)
+#704 := (= #708 0::int)
+#655 := (not #704)
+#841 := (= #54 0::int)
+#674 := (not #841)
+#656 := (iff #674 #655)
+#653 := (iff #841 #704)
+#651 := (iff #704 #841)
+#649 := (= #708 #54)
+#643 := (= #762 f7)
+#763 := (= f7 #762)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#859 := (pattern #39)
+#40 := (f5 #39)
+#188 := (= #38 #40)
+#860 := (forall (vars (?v0 S2)) (:pat #859) #188)
+#191 := (forall (vars (?v0 S2)) #188)
+#861 := (iff #191 #860)
+#863 := (iff #860 #860)
+#864 := [rewrite]: #863
+#862 := [rewrite]: #861
+#865 := [trans #862 #864]: #861
+#278 := (~ #191 #191)
+#294 := (~ #188 #188)
+#295 := [refl]: #294
+#279 := [nnf-pos #295]: #278
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#192 := (iff #42 #191)
+#189 := (iff #41 #188)
+#190 := [rewrite]: #189
+#193 := [quant-intro #190]: #192
+#187 := [asserted]: #42
+#196 := [mp #187 #193]: #191
+#296 := [mp~ #196 #279]: #191
+#866 := [mp #296 #865]: #860
+#759 := (not #860)
+#766 := (or #759 #763)
+#750 := [quant-inst]: #766
+#688 := [unit-resolution #750 #866]: #763
+#644 := [symm #688]: #643
+#650 := [monotonicity #644]: #649
+#652 := [monotonicity #650]: #651
+#654 := [symm #652]: #653
+#657 := [monotonicity #654]: #656
+#486 := (not #496)
+#673 := [hypothesis]: #486
+#677 := (or #674 #496)
+#687 := [th-lemma]: #677
+#667 := [unit-resolution #687 #673]: #674
+#658 := [mp #667 #657]: #655
+#689 := (or #496 #704)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#867 := (pattern #44)
+#211 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#261 := (or #50 #211)
+#874 := (forall (vars (?v0 int)) (:pat #867) #261)
+#266 := (forall (vars (?v0 int)) #261)
+#877 := (iff #266 #874)
+#875 := (iff #261 #261)
+#876 := [refl]: #875
+#878 := [quant-intro #876]: #877
+#282 := (~ #266 #266)
+#300 := (~ #261 #261)
+#301 := [refl]: #300
+#283 := [nnf-pos #301]: #282
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#269 := (iff #52 #266)
+#232 := (= 0::int #45)
+#238 := (not #49)
+#239 := (or #238 #232)
+#244 := (forall (vars (?v0 int)) #239)
+#267 := (iff #244 #266)
+#264 := (iff #239 #261)
+#258 := (or #211 #50)
+#262 := (iff #258 #261)
+#263 := [rewrite]: #262
+#259 := (iff #239 #258)
+#256 := (iff #232 #50)
+#257 := [rewrite]: #256
+#254 := (iff #238 #211)
+#214 := (not #211)
+#249 := (not #214)
+#252 := (iff #249 #211)
+#253 := [rewrite]: #252
+#250 := (iff #238 #249)
+#247 := (iff #49 #214)
+#248 := [rewrite]: #247
+#251 := [monotonicity #248]: #250
+#255 := [trans #251 #253]: #254
+#260 := [monotonicity #255 #257]: #259
+#265 := [trans #260 #263]: #264
+#268 := [quant-intro #265]: #267
+#245 := (iff #52 #244)
+#242 := (iff #51 #239)
+#235 := (implies #49 #232)
+#240 := (iff #235 #239)
+#241 := [rewrite]: #240
+#236 := (iff #51 #235)
+#233 := (iff #50 #232)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#243 := [trans #237 #241]: #242
+#246 := [quant-intro #243]: #245
+#270 := [trans #246 #268]: #269
+#231 := [asserted]: #52
+#271 := [mp #231 #270]: #266
+#302 := [mp~ #271 #283]: #266
+#879 := [mp #302 #878]: #874
+#729 := (not #874)
+#671 := (or #729 #496 #704)
+#709 := (or #704 #496)
+#695 := (or #729 #709)
+#662 := (iff #695 #671)
+#691 := (or #729 #689)
+#672 := (iff #691 #671)
+#631 := [rewrite]: #672
+#697 := (iff #695 #691)
+#635 := (iff #709 #689)
+#690 := [rewrite]: #635
+#665 := [monotonicity #690]: #697
+#664 := [trans #665 #631]: #662
+#696 := [quant-inst]: #695
+#666 := [mp #696 #664]: #671
+#675 := [unit-resolution #666 #879]: #689
+#676 := [unit-resolution #675 #673]: #704
+#659 := [unit-resolution #676 #658]: false
+#660 := [lemma #659]: #496
+#502 := (<= #54 0::int)
+#830 := (not #502)
+#625 := (or #486 #830 #841)
+#684 := (not #625)
+decl f4 :: (-> int int int)
+#55 := 1::int
+#56 := (f4 #54 1::int)
+#840 := (= #56 0::int)
+#760 := (not #840)
+#58 := (f5 0::int)
+#57 := (f5 #56)
+#59 := (= #57 #58)
+#645 := [hypothesis]: #840
+#661 := [monotonicity #645]: #59
+#60 := (not #59)
+#272 := [asserted]: #60
+#622 := [unit-resolution #272 #661]: false
+#623 := [lemma #622]: #760
+#632 := (or #684 #840)
+#84 := -1::int
+#516 := (* -1::int #54)
+#809 := (mod #516 -1::int)
+#810 := (+ #56 #809)
+#800 := (= #810 0::int)
+#781 := (ite #625 #840 #800)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#852 := (pattern #29)
+#88 := (* -1::int #9)
+#85 := (* -1::int #8)
+#143 := (mod #85 #88)
+#364 := (+ #29 #143)
+#365 := (= #364 0::int)
+#30 := (mod #8 #9)
+#361 := (* -1::int #30)
+#362 := (+ #29 #361)
+#363 := (= #362 0::int)
+#110 := (<= #9 0::int)
+#106 := (<= #8 0::int)
+#303 := (or #106 #110)
+#304 := (not #303)
+#117 := (>= #8 0::int)
+#286 := (or #110 #117)
+#287 := (not #286)
+#310 := (or #287 #304)
+#366 := (ite #310 #363 #365)
+#360 := (= #29 0::int)
+#12 := (= #8 0::int)
+#367 := (ite #12 #360 #366)
+#359 := (= #8 #29)
+#13 := (= #9 0::int)
+#368 := (ite #13 #359 #367)
+#853 := (forall (vars (?v0 int) (?v1 int)) (:pat #852) #368)
+#371 := (forall (vars (?v0 int) (?v1 int)) #368)
+#856 := (iff #371 #853)
+#854 := (iff #368 #368)
+#855 := [refl]: #854
+#857 := [quant-intro #855]: #856
+#149 := (* -1::int #143)
+#328 := (ite #310 #30 #149)
+#331 := (ite #12 0::int #328)
+#334 := (ite #13 #8 #331)
+#337 := (= #29 #334)
+#340 := (forall (vars (?v0 int) (?v1 int)) #337)
+#372 := (iff #340 #371)
+#369 := (iff #337 #368)
+#370 := [rewrite]: #369
+#373 := [quant-intro #370]: #372
+#118 := (not #117)
+#111 := (not #110)
+#121 := (and #111 #118)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#169 := (ite #124 #30 #149)
+#172 := (ite #12 0::int #169)
+#175 := (ite #13 #8 #172)
+#178 := (= #29 #175)
+#181 := (forall (vars (?v0 int) (?v1 int)) #178)
+#341 := (iff #181 #340)
+#338 := (iff #178 #337)
+#335 := (= #175 #334)
+#332 := (= #172 #331)
+#329 := (= #169 #328)
+#313 := (iff #124 #310)
+#307 := (or #304 #287)
+#311 := (iff #307 #310)
+#312 := [rewrite]: #311
+#308 := (iff #124 #307)
+#305 := (iff #121 #287)
+#306 := [rewrite]: #305
+#284 := (iff #114 #304)
+#285 := [rewrite]: #284
+#309 := [monotonicity #285 #306]: #308
+#314 := [trans #309 #312]: #313
+#330 := [monotonicity #314]: #329
+#333 := [monotonicity #330]: #332
+#336 := [monotonicity #333]: #335
+#339 := [monotonicity #336]: #338
+#342 := [quant-intro #339]: #341
+#276 := (~ #181 #181)
+#273 := (~ #178 #178)
+#292 := [refl]: #273
+#277 := [nnf-pos #292]: #276
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#184 := (iff #37 #181)
+#78 := (and #16 #18)
+#81 := (or #17 #78)
+#154 := (ite #81 #30 #149)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#182 := (iff #166 #181)
+#179 := (iff #163 #178)
+#176 := (= #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#125 := (iff #81 #124)
+#122 := (iff #78 #121)
+#119 := (iff #18 #118)
+#120 := [rewrite]: #119
+#112 := (iff #16 #111)
+#113 := [rewrite]: #112
+#123 := [monotonicity #113 #120]: #122
+#115 := (iff #17 #114)
+#108 := (iff #15 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#171 := [monotonicity #126]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [quant-intro #180]: #182
+#167 := (iff #37 #166)
+#164 := (iff #36 #163)
+#161 := (= #35 #160)
+#158 := (= #34 #157)
+#155 := (= #33 #154)
+#152 := (= #32 #149)
+#146 := (- #143)
+#150 := (= #146 #149)
+#151 := [rewrite]: #150
+#147 := (= #32 #146)
+#144 := (= #31 #143)
+#89 := (= #23 #88)
+#90 := [rewrite]: #89
+#86 := (= #22 #85)
+#87 := [rewrite]: #86
+#145 := [monotonicity #87 #90]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#82 := (iff #20 #81)
+#79 := (iff #19 #78)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#156 := [monotonicity #83 #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#185 := [trans #168 #183]: #184
+#142 := [asserted]: #37
+#186 := [mp #142 #185]: #181
+#293 := [mp~ #186 #277]: #181
+#343 := [mp #293 #342]: #340
+#374 := [mp #343 #373]: #371
+#858 := [mp #374 #857]: #853
+#786 := (not #853)
+#668 := (or #786 #781)
+#432 := (* -1::int 1::int)
+#517 := (mod #516 #432)
+#518 := (+ #56 #517)
+#509 := (= #518 0::int)
+#520 := (mod #54 1::int)
+#521 := (* -1::int #520)
+#522 := (+ #56 #521)
+#519 := (= #522 0::int)
+#523 := (<= 1::int 0::int)
+#837 := (or #502 #523)
+#839 := (not #837)
+#626 := (or #523 #496)
+#833 := (not #626)
+#507 := (or #833 #839)
+#508 := (ite #507 #519 #509)
+#842 := (ite #841 #840 #508)
+#843 := (= #54 #56)
+#838 := (= 1::int 0::int)
+#844 := (ite #838 #843 #842)
+#669 := (or #786 #844)
+#629 := (iff #669 #668)
+#679 := (iff #668 #668)
+#774 := [rewrite]: #679
+#785 := (iff #844 #781)
+#831 := (or #486 #830)
+#646 := (or #831 #841)
+#647 := (ite #646 #840 #800)
+#782 := (iff #647 #781)
+#627 := (iff #646 #625)
+#628 := [rewrite]: #627
+#784 := [monotonicity #628]: #782
+#789 := (iff #844 #647)
+#793 := (ite false #843 #647)
+#794 := (iff #793 #647)
+#795 := [rewrite]: #794
+#787 := (iff #844 #793)
+#791 := (iff #842 #647)
+#797 := (ite #831 #840 #800)
+#804 := (ite #841 #840 #797)
+#648 := (iff #804 #647)
+#790 := [rewrite]: #648
+#799 := (iff #842 #804)
+#798 := (iff #508 #797)
+#801 := (iff #509 #800)
+#807 := (= #518 #810)
+#524 := (= #517 #809)
+#530 := (= #432 -1::int)
+#808 := [rewrite]: #530
+#806 := [monotonicity #808]: #524
+#811 := [monotonicity #806]: #807
+#802 := [monotonicity #811]: #801
+#528 := (iff #519 #840)
+#817 := (= #522 #56)
+#537 := (+ #56 0::int)
+#816 := (= #537 #56)
+#813 := [rewrite]: #816
+#538 := (= #522 #537)
+#814 := (= #521 0::int)
+#541 := (* -1::int 0::int)
+#544 := (= #541 0::int)
+#438 := [rewrite]: #544
+#542 := (= #521 #541)
+#818 := (= #520 0::int)
+#819 := [rewrite]: #818
+#543 := [monotonicity #819]: #542
+#815 := [trans #543 #438]: #814
+#812 := [monotonicity #815]: #538
+#527 := [trans #812 #813]: #817
+#529 := [monotonicity #527]: #528
+#829 := (iff #507 #831)
+#470 := (iff #839 #830)
+#465 := (iff #837 #502)
+#824 := (or #502 false)
+#821 := (iff #824 #502)
+#827 := [rewrite]: #821
+#825 := (iff #837 #824)
+#499 := (iff #523 false)
+#835 := [rewrite]: #499
+#826 := [monotonicity #835]: #825
+#828 := [trans #826 #827]: #465
+#471 := [monotonicity #828]: #470
+#822 := (iff #833 #486)
+#484 := (iff #626 #496)
+#495 := (or false #496)
+#820 := (iff #495 #496)
+#483 := [rewrite]: #820
+#836 := (iff #626 #495)
+#479 := [monotonicity #835]: #836
+#485 := [trans #479 #483]: #484
+#823 := [monotonicity #485]: #822
+#832 := [monotonicity #823 #471]: #829
+#803 := [monotonicity #832 #529 #802]: #798
+#805 := [monotonicity #803]: #799
+#792 := [trans #805 #790]: #791
+#834 := (iff #838 false)
+#494 := [rewrite]: #834
+#788 := [monotonicity #494 #792]: #787
+#796 := [trans #788 #795]: #789
+#783 := [trans #796 #784]: #785
+#777 := [monotonicity #783]: #629
+#775 := [trans #777 #774]: #629
+#670 := [quant-inst]: #669
+#778 := [mp #670 #775]: #668
+#630 := [unit-resolution #778 #858]: #781
+#780 := (not #781)
+#767 := (or #780 #684 #840)
+#769 := [def-axiom]: #767
+#633 := [unit-resolution #769 #630]: #632
+#634 := [unit-resolution #633 #623]: #684
+#680 := (or #625 #502)
+#681 := [def-axiom]: #680
+#636 := [unit-resolution #681 #634]: #502
+#682 := (or #625 #674)
+#683 := [def-axiom]: #682
+#637 := [unit-resolution #683 #634]: #674
+#638 := (or #841 #830 #486)
+#639 := [th-lemma]: #638
+[unit-resolution #639 #637 #636 #660]: false
+unsat
+5484d7e02ec48eba208dcf57cc9c9450f3e4ca10 305 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 3::int
+#54 := (f4 0::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#507 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#855 := (iff #369 #852)
+#853 := (iff #366 #366)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#857 := [mp #372 #856]: #852
+#677 := (not #852)
+#679 := (or #677 #507)
+#430 := (* -1::int 3::int)
+#515 := (* -1::int 0::int)
+#516 := (mod #515 #430)
+#517 := (+ #54 #516)
+#508 := (= #517 0::int)
+#519 := (mod 0::int 3::int)
+#520 := (* -1::int #519)
+#448 := (+ #54 #520)
+#521 := (= #448 0::int)
+#518 := (<= 3::int 0::int)
+#522 := (<= 0::int 0::int)
+#501 := (or #522 #518)
+#836 := (not #501)
+#838 := (>= 0::int 0::int)
+#495 := (or #518 #838)
+#625 := (not #495)
+#832 := (or #625 #836)
+#506 := (ite #832 #521 #508)
+#839 := (= 0::int 0::int)
+#840 := (ite #839 #507 #506)
+#841 := (= 0::int #54)
+#842 := (= 3::int 0::int)
+#837 := (ite #842 #841 #840)
+#680 := (or #677 #837)
+#681 := (iff #680 #679)
+#683 := (iff #679 #679)
+#684 := [rewrite]: #683
+#777 := (iff #837 #507)
+#626 := (ite false #507 #507)
+#781 := (iff #626 #507)
+#783 := [rewrite]: #781
+#773 := (iff #837 #626)
+#776 := (iff #840 #507)
+#1 := true
+#785 := (ite true #507 #507)
+#669 := (iff #785 #507)
+#628 := [rewrite]: #669
+#667 := (iff #840 #785)
+#784 := (iff #506 #507)
+#627 := (iff #506 #626)
+#795 := (iff #508 #507)
+#794 := (= #517 #54)
+#806 := (+ #54 0::int)
+#800 := (= #806 #54)
+#801 := [rewrite]: #800
+#787 := (= #517 #806)
+#792 := (= #516 0::int)
+#798 := -3::int
+#646 := (mod 0::int -3::int)
+#790 := (= #646 0::int)
+#791 := [rewrite]: #790
+#647 := (= #516 #646)
+#804 := (= #430 -3::int)
+#645 := [rewrite]: #804
+#808 := (= #515 0::int)
+#523 := [rewrite]: #808
+#789 := [monotonicity #523 #645]: #647
+#786 := [trans #789 #791]: #792
+#793 := [monotonicity #786]: #787
+#788 := [trans #793 #801]: #794
+#624 := [monotonicity #788]: #795
+#802 := (iff #521 #507)
+#796 := (= #448 #54)
+#810 := (= #448 #806)
+#805 := (= #520 0::int)
+#529 := (= #520 #515)
+#527 := (= #519 0::int)
+#528 := [rewrite]: #527
+#807 := [monotonicity #528]: #529
+#809 := [trans #807 #523]: #805
+#799 := [monotonicity #809]: #810
+#797 := [trans #799 #801]: #796
+#803 := [monotonicity #797]: #802
+#816 := (iff #832 false)
+#536 := (or false false)
+#815 := (iff #536 false)
+#812 := [rewrite]: #815
+#537 := (iff #832 #536)
+#813 := (iff #836 false)
+#825 := (not true)
+#464 := (iff #825 false)
+#827 := [rewrite]: #464
+#543 := (iff #836 #825)
+#541 := (iff #501 true)
+#828 := (or true false)
+#818 := (iff #828 true)
+#540 := [rewrite]: #818
+#831 := (iff #501 #828)
+#835 := (iff #518 false)
+#478 := [rewrite]: #835
+#470 := (iff #522 true)
+#830 := [rewrite]: #470
+#817 := [monotonicity #830 #478]: #831
+#542 := [trans #817 #540]: #541
+#436 := [monotonicity #542]: #543
+#814 := [trans #436 #827]: #813
+#829 := (iff #625 false)
+#820 := (iff #625 #825)
+#823 := (iff #495 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#484 := (iff #495 #483)
+#819 := (iff #838 true)
+#482 := [rewrite]: #819
+#485 := [monotonicity #478 #482]: #484
+#824 := [trans #485 #822]: #823
+#826 := [monotonicity #824]: #820
+#469 := [trans #826 #827]: #829
+#811 := [monotonicity #469 #814]: #537
+#526 := [trans #811 #812]: #816
+#780 := [monotonicity #526 #803 #624]: #627
+#782 := [trans #780 #783]: #784
+#834 := (iff #839 true)
+#494 := [rewrite]: #834
+#668 := [monotonicity #494 #782]: #667
+#678 := [trans #668 #628]: #776
+#493 := (iff #841 #507)
+#498 := [rewrite]: #493
+#843 := (iff #842 false)
+#833 := [rewrite]: #843
+#774 := [monotonicity #833 #498 #678]: #773
+#662 := [trans #774 #783]: #777
+#682 := [monotonicity #662]: #681
+#685 := [trans #682 #684]: #681
+#673 := [quant-inst]: #680
+#778 := [mp #673 #685]: #679
+#713 := [unit-resolution #778 #857]: #507
+#709 := [monotonicity #713]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #709]: false
+unsat
+5c91ccba5d496066c01fc8eafbef631420f2691e 328 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 1::int
+#57 := (f5 1::int)
+decl f4 :: (-> int int int)
+#54 := 3::int
+#55 := (f4 1::int 3::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#834 := (= #55 1::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#142 := (mod #84 #87)
+#363 := (+ #29 #142)
+#364 := (= #363 0::int)
+#30 := (mod #8 #9)
+#360 := (* -1::int #30)
+#361 := (+ #29 #360)
+#362 := (= #361 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#365 := (ite #309 #362 #364)
+#359 := (= #29 0::int)
+#12 := (= #8 0::int)
+#366 := (ite #12 #359 #365)
+#358 := (= #8 #29)
+#13 := (= #9 0::int)
+#367 := (ite #13 #358 #366)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #367)
+#370 := (forall (vars (?v0 int) (?v1 int)) #367)
+#855 := (iff #370 #852)
+#853 := (iff #367 #367)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#148 := (* -1::int #142)
+#327 := (ite #309 #30 #148)
+#330 := (ite #12 0::int #327)
+#333 := (ite #13 #8 #330)
+#336 := (= #29 #333)
+#339 := (forall (vars (?v0 int) (?v1 int)) #336)
+#371 := (iff #339 #370)
+#368 := (iff #336 #367)
+#369 := [rewrite]: #368
+#372 := [quant-intro #369]: #371
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#168 := (ite #123 #30 #148)
+#171 := (ite #12 0::int #168)
+#174 := (ite #13 #8 #171)
+#177 := (= #29 #174)
+#180 := (forall (vars (?v0 int) (?v1 int)) #177)
+#340 := (iff #180 #339)
+#337 := (iff #177 #336)
+#334 := (= #174 #333)
+#331 := (= #171 #330)
+#328 := (= #168 #327)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#329 := [monotonicity #313]: #328
+#332 := [monotonicity #329]: #331
+#335 := [monotonicity #332]: #334
+#338 := [monotonicity #335]: #337
+#341 := [quant-intro #338]: #340
+#275 := (~ #180 #180)
+#272 := (~ #177 #177)
+#291 := [refl]: #272
+#276 := [nnf-pos #291]: #275
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#183 := (iff #37 #180)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#153 := (ite #80 #30 #148)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#181 := (iff #165 #180)
+#178 := (iff #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#170 := [monotonicity #125]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [quant-intro #179]: #181
+#166 := (iff #37 #165)
+#163 := (iff #36 #162)
+#160 := (= #35 #159)
+#157 := (= #34 #156)
+#154 := (= #33 #153)
+#151 := (= #32 #148)
+#145 := (- #142)
+#149 := (= #145 #148)
+#150 := [rewrite]: #149
+#146 := (= #32 #145)
+#143 := (= #31 #142)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#144 := [monotonicity #86 #89]: #143
+#147 := [monotonicity #144]: #146
+#152 := [trans #147 #150]: #151
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#155 := [monotonicity #82 #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#184 := [trans #167 #182]: #183
+#141 := [asserted]: #37
+#185 := [mp #141 #184]: #180
+#292 := [mp~ #185 #276]: #180
+#342 := [mp #292 #341]: #339
+#373 := [mp #342 #372]: #370
+#857 := [mp #373 #856]: #852
+#762 := (not #852)
+#763 := (or #762 #834)
+#431 := (* -1::int 3::int)
+#515 := (* -1::int 1::int)
+#516 := (mod #515 #431)
+#517 := (+ #55 #516)
+#508 := (= #517 0::int)
+#519 := (mod 1::int 3::int)
+#520 := (* -1::int #519)
+#521 := (+ #55 #520)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (<= 1::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 1::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #508)
+#839 := (= #55 0::int)
+#840 := (= 1::int 0::int)
+#841 := (ite #840 #839 #507)
+#842 := (= 1::int #55)
+#837 := (= 3::int 0::int)
+#843 := (ite #837 #842 #841)
+#764 := (or #762 #843)
+#765 := (iff #764 #763)
+#750 := (iff #763 #763)
+#752 := [rewrite]: #750
+#772 := (iff #843 #834)
+#759 := (ite false #834 #834)
+#771 := (iff #759 #834)
+#767 := [rewrite]: #771
+#769 := (iff #843 #759)
+#760 := (iff #841 #834)
+#778 := (ite false #839 #834)
+#766 := (iff #778 #834)
+#768 := [rewrite]: #766
+#775 := (iff #841 #778)
+#684 := (iff #507 #834)
+#773 := -2::int
+#774 := (= #55 -2::int)
+#1 := true
+#680 := (ite true #834 #774)
+#682 := (iff #680 #834)
+#683 := [rewrite]: #682
+#673 := (iff #507 #680)
+#677 := (iff #508 #774)
+#795 := 2::int
+#782 := (+ 2::int #55)
+#628 := (= #782 0::int)
+#777 := (iff #628 #774)
+#662 := [rewrite]: #777
+#776 := (iff #508 #628)
+#668 := (= #517 #782)
+#781 := (+ #55 2::int)
+#785 := (= #781 #782)
+#667 := [rewrite]: #785
+#783 := (= #517 #781)
+#627 := (= #516 2::int)
+#792 := -3::int
+#793 := (mod -1::int -3::int)
+#624 := (= #793 2::int)
+#626 := [rewrite]: #624
+#794 := (= #516 #793)
+#786 := (= #431 -3::int)
+#787 := [rewrite]: #786
+#805 := (= #515 -1::int)
+#809 := [rewrite]: #805
+#788 := [monotonicity #809 #787]: #794
+#780 := [trans #788 #626]: #627
+#784 := [monotonicity #780]: #783
+#669 := [trans #784 #667]: #668
+#678 := [monotonicity #669]: #776
+#679 := [trans #678 #662]: #677
+#790 := (iff #518 #834)
+#796 := (+ -1::int #55)
+#804 := (= #796 0::int)
+#647 := (iff #804 #834)
+#789 := [rewrite]: #647
+#645 := (iff #518 #804)
+#803 := (= #521 #796)
+#799 := (+ #55 -1::int)
+#797 := (= #799 #796)
+#802 := [rewrite]: #797
+#800 := (= #521 #799)
+#806 := (= #520 -1::int)
+#808 := (= #520 #515)
+#529 := (= #519 1::int)
+#807 := [rewrite]: #529
+#523 := [monotonicity #807]: #808
+#810 := [trans #523 #809]: #806
+#801 := [monotonicity #810]: #800
+#798 := [trans #801 #802]: #803
+#646 := [monotonicity #798]: #645
+#791 := [trans #646 #789]: #790
+#527 := (iff #506 true)
+#485 := (or false true)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#816 := (iff #506 #485)
+#815 := (iff #838 true)
+#813 := (not false)
+#537 := (iff #813 true)
+#811 := [rewrite]: #537
+#814 := (iff #838 #813)
+#543 := (iff #836 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#818 := (iff #836 #817)
+#819 := (iff #522 false)
+#482 := [rewrite]: #819
+#828 := (iff #501 false)
+#831 := [rewrite]: #828
+#540 := [monotonicity #831 #482]: #818
+#437 := [trans #540 #542]: #543
+#536 := [monotonicity #437]: #814
+#812 := [trans #536 #811]: #815
+#470 := (iff #832 false)
+#826 := (not true)
+#829 := (iff #826 false)
+#469 := [rewrite]: #829
+#464 := (iff #832 #826)
+#825 := (iff #625 true)
+#821 := (iff #625 #485)
+#483 := (iff #495 true)
+#484 := [rewrite]: #483
+#822 := [monotonicity #482 #484]: #821
+#820 := [trans #822 #824]: #825
+#827 := [monotonicity #820]: #464
+#830 := [trans #827 #469]: #470
+#526 := [monotonicity #830 #812]: #816
+#528 := [trans #526 #824]: #527
+#681 := [monotonicity #528 #791 #679]: #673
+#685 := [trans #681 #683]: #684
+#835 := (iff #840 false)
+#478 := [rewrite]: #835
+#779 := [monotonicity #478 #685]: #775
+#757 := [trans #779 #768]: #760
+#498 := (iff #842 #834)
+#494 := [rewrite]: #498
+#833 := (iff #837 false)
+#493 := [rewrite]: #833
+#770 := [monotonicity #493 #494 #757]: #769
+#761 := [trans #770 #767]: #772
+#749 := [monotonicity #761]: #765
+#753 := [trans #749 #752]: #765
+#758 := [quant-inst]: #764
+#754 := [mp #758 #753]: #763
+#703 := [unit-resolution #754 #857]: #834
+#708 := [monotonicity #703]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #708]: false
+unsat
+dcb82456f7b7abdc838d01cd635a1c35bdef19ae 303 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 3::int
+#54 := (f4 3::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#832 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#855 := (iff #369 #852)
+#853 := (iff #366 #366)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#857 := [mp #372 #856]: #852
+#777 := (not #852)
+#662 := (or #777 #832)
+#430 := (* -1::int 3::int)
+#515 := (mod #430 #430)
+#516 := (+ #54 #515)
+#517 := (= #516 0::int)
+#508 := (mod 3::int 3::int)
+#519 := (* -1::int #508)
+#520 := (+ #54 #519)
+#448 := (= #520 0::int)
+#521 := (<= 3::int 0::int)
+#518 := (or #521 #521)
+#522 := (not #518)
+#501 := (>= 3::int 0::int)
+#836 := (or #521 #501)
+#838 := (not #836)
+#495 := (or #838 #522)
+#625 := (ite #495 #448 #517)
+#506 := (= 3::int 0::int)
+#507 := (ite #506 #832 #625)
+#839 := (= 3::int #54)
+#840 := (ite #506 #839 #507)
+#677 := (or #777 #840)
+#680 := (iff #677 #662)
+#681 := (iff #662 #662)
+#682 := [rewrite]: #681
+#773 := (iff #840 #832)
+#843 := (= #54 3::int)
+#668 := (ite false #843 #832)
+#776 := (iff #668 #832)
+#678 := [rewrite]: #776
+#669 := (iff #840 #668)
+#785 := (iff #507 #832)
+#780 := (ite false #832 #832)
+#784 := (iff #780 #832)
+#782 := [rewrite]: #784
+#781 := (iff #507 #780)
+#626 := (iff #625 #832)
+#1 := true
+#793 := (ite true #832 #832)
+#795 := (iff #793 #832)
+#624 := [rewrite]: #795
+#794 := (iff #625 #793)
+#786 := (iff #517 #832)
+#791 := (= #516 #54)
+#807 := (+ #54 0::int)
+#805 := (= #807 #54)
+#809 := [rewrite]: #805
+#789 := (= #516 #807)
+#646 := (= #515 0::int)
+#801 := -3::int
+#802 := (mod -3::int -3::int)
+#804 := (= #802 0::int)
+#645 := [rewrite]: #804
+#803 := (= #515 #802)
+#796 := (= #430 -3::int)
+#797 := [rewrite]: #796
+#798 := [monotonicity #797 #797]: #803
+#647 := [trans #798 #645]: #646
+#790 := [monotonicity #647]: #789
+#792 := [trans #790 #809]: #791
+#787 := [monotonicity #792]: #786
+#799 := (iff #448 #832)
+#806 := (= #520 #54)
+#808 := (= #520 #807)
+#528 := (= #519 0::int)
+#815 := (* -1::int 0::int)
+#526 := (= #815 0::int)
+#527 := [rewrite]: #526
+#812 := (= #519 #815)
+#537 := (= #508 0::int)
+#811 := [rewrite]: #537
+#816 := [monotonicity #811]: #812
+#529 := [trans #816 #527]: #528
+#523 := [monotonicity #529]: #808
+#810 := [trans #523 #809]: #806
+#800 := [monotonicity #810]: #799
+#814 := (iff #495 true)
+#835 := (or false true)
+#482 := (iff #835 true)
+#483 := [rewrite]: #482
+#436 := (iff #495 #835)
+#542 := (iff #522 true)
+#831 := (not false)
+#540 := (iff #831 true)
+#541 := [rewrite]: #540
+#817 := (iff #522 #831)
+#830 := (iff #518 false)
+#464 := (or false false)
+#469 := (iff #464 false)
+#470 := [rewrite]: #469
+#827 := (iff #518 #464)
+#493 := (iff #521 false)
+#498 := [rewrite]: #493
+#829 := [monotonicity #498 #498]: #827
+#828 := [trans #829 #470]: #830
+#818 := [monotonicity #828]: #817
+#543 := [trans #818 #541]: #542
+#820 := (iff #838 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#825 := [rewrite]: #824
+#822 := (iff #838 #821)
+#484 := (iff #836 true)
+#478 := (iff #836 #835)
+#834 := (iff #501 true)
+#494 := [rewrite]: #834
+#819 := [monotonicity #498 #494]: #478
+#485 := [trans #819 #483]: #484
+#823 := [monotonicity #485]: #822
+#826 := [trans #823 #825]: #820
+#813 := [monotonicity #826 #543]: #436
+#536 := [trans #813 #483]: #814
+#788 := [monotonicity #536 #800 #787]: #794
+#627 := [trans #788 #624]: #626
+#841 := (iff #506 false)
+#842 := [rewrite]: #841
+#783 := [monotonicity #842 #627]: #781
+#667 := [trans #783 #782]: #785
+#837 := (iff #839 #843)
+#833 := [rewrite]: #837
+#628 := [monotonicity #842 #833 #667]: #669
+#774 := [trans #628 #678]: #773
+#673 := [monotonicity #774]: #680
+#683 := [trans #673 #682]: #680
+#679 := [quant-inst]: #677
+#684 := [mp #679 #683]: #662
+#704 := [unit-resolution #684 #857]: #832
+#700 := [monotonicity #704]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #700]: false
+unsat
+8f127c5591aa0d828a4b81cb8abc9edab86e5a76 533 0
+#2 := false
+#55 := 3::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#533 := (mod #54 3::int)
+#664 := (>= #533 3::int)
+#665 := (not #664)
+#1 := true
+#75 := [true-axiom]: true
+#674 := (or false #665)
+#635 := [th-lemma]: #674
+#636 := [unit-resolution #635 #75]: #665
+#11 := 0::int
+decl f5 :: (-> int S2)
+decl f4 :: (-> int int int)
+#56 := (f4 #54 3::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#84 := -1::int
+#779 := (* -1::int #58)
+#763 := (+ #56 #779)
+#766 := (>= #763 0::int)
+#773 := (= #56 #58)
+#780 := (>= #56 0::int)
+#784 := (= #58 0::int)
+#649 := (not #784)
+#746 := (<= #58 0::int)
+#643 := (not #746)
+#276 := (>= #58 3::int)
+#59 := (< #58 3::int)
+#60 := (not #59)
+#284 := (iff #60 #276)
+#275 := (not #276)
+#279 := (not #275)
+#282 := (iff #279 #276)
+#283 := [rewrite]: #282
+#280 := (iff #60 #279)
+#277 := (iff #59 #275)
+#278 := [rewrite]: #277
+#281 := [monotonicity #278]: #280
+#285 := [trans #281 #283]: #284
+#272 := [asserted]: #60
+#286 := [mp #272 #285]: #276
+#645 := (or #643 #275)
+#646 := [th-lemma]: #645
+#647 := [unit-resolution #646 #286]: #643
+#650 := (or #649 #746)
+#651 := [th-lemma]: #650
+#652 := [unit-resolution #651 #647]: #649
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#880 := (pattern #44)
+#211 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#261 := (or #50 #211)
+#887 := (forall (vars (?v0 int)) (:pat #880) #261)
+#266 := (forall (vars (?v0 int)) #261)
+#890 := (iff #266 #887)
+#888 := (iff #261 #261)
+#889 := [refl]: #888
+#891 := [quant-intro #889]: #890
+#294 := (~ #266 #266)
+#312 := (~ #261 #261)
+#313 := [refl]: #312
+#295 := [nnf-pos #313]: #294
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#269 := (iff #52 #266)
+#232 := (= 0::int #45)
+#238 := (not #49)
+#239 := (or #238 #232)
+#244 := (forall (vars (?v0 int)) #239)
+#267 := (iff #244 #266)
+#264 := (iff #239 #261)
+#258 := (or #211 #50)
+#262 := (iff #258 #261)
+#263 := [rewrite]: #262
+#259 := (iff #239 #258)
+#256 := (iff #232 #50)
+#257 := [rewrite]: #256
+#254 := (iff #238 #211)
+#214 := (not #211)
+#249 := (not #214)
+#252 := (iff #249 #211)
+#253 := [rewrite]: #252
+#250 := (iff #238 #249)
+#247 := (iff #49 #214)
+#248 := [rewrite]: #247
+#251 := [monotonicity #248]: #250
+#255 := [trans #251 #253]: #254
+#260 := [monotonicity #255 #257]: #259
+#265 := [trans #260 #263]: #264
+#268 := [quant-intro #265]: #267
+#245 := (iff #52 #244)
+#242 := (iff #51 #239)
+#235 := (implies #49 #232)
+#240 := (iff #235 #239)
+#241 := [rewrite]: #240
+#236 := (iff #51 #235)
+#233 := (iff #50 #232)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#243 := [trans #237 #241]: #242
+#246 := [quant-intro #243]: #245
+#270 := [trans #246 #268]: #269
+#231 := [asserted]: #52
+#271 := [mp #231 #270]: #266
+#314 := [mp~ #271 #295]: #266
+#892 := [mp #314 #891]: #887
+#765 := (not #887)
+#770 := (or #765 #780 #784)
+#785 := (or #784 #780)
+#756 := (or #765 #785)
+#742 := (iff #756 #770)
+#767 := (or #780 #784)
+#759 := (or #765 #767)
+#758 := (iff #759 #770)
+#762 := [rewrite]: #758
+#760 := (iff #756 #759)
+#768 := (iff #785 #767)
+#769 := [rewrite]: #768
+#761 := [monotonicity #769]: #760
+#743 := [trans #761 #762]: #742
+#757 := [quant-inst]: #756
+#745 := [mp #757 #743]: #770
+#653 := [unit-resolution #745 #892 #652]: #780
+#782 := (not #780)
+#783 := (or #773 #782)
+#195 := (= #9 #45)
+#220 := (or #195 #214)
+#881 := (forall (vars (?v0 int)) (:pat #880) #220)
+#225 := (forall (vars (?v0 int)) #220)
+#884 := (iff #225 #881)
+#882 := (iff #220 #220)
+#883 := [refl]: #882
+#885 := [quant-intro #883]: #884
+#292 := (~ #225 #225)
+#309 := (~ #220 #220)
+#310 := [refl]: #309
+#293 := [nnf-pos #310]: #292
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#228 := (iff #48 #225)
+#202 := (not #43)
+#203 := (or #202 #195)
+#208 := (forall (vars (?v0 int)) #203)
+#226 := (iff #208 #225)
+#223 := (iff #203 #220)
+#217 := (or #214 #195)
+#221 := (iff #217 #220)
+#222 := [rewrite]: #221
+#218 := (iff #203 #217)
+#215 := (iff #202 #214)
+#212 := (iff #43 #211)
+#213 := [rewrite]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#224 := [trans #219 #222]: #223
+#227 := [quant-intro #224]: #226
+#209 := (iff #48 #208)
+#206 := (iff #47 #203)
+#199 := (implies #43 #195)
+#204 := (iff #199 #203)
+#205 := [rewrite]: #204
+#200 := (iff #47 #199)
+#197 := (iff #46 #195)
+#198 := [rewrite]: #197
+#201 := [monotonicity #198]: #200
+#207 := [trans #201 #205]: #206
+#210 := [quant-intro #207]: #209
+#229 := [trans #210 #227]: #228
+#194 := [asserted]: #48
+#230 := [mp #194 #229]: #225
+#311 := [mp~ #230 #293]: #225
+#886 := [mp #311 #885]: #881
+#781 := (not #881)
+#786 := (or #781 #773 #782)
+#775 := (or #781 #783)
+#777 := (iff #775 #786)
+#778 := [rewrite]: #777
+#776 := [quant-inst]: #775
+#772 := [mp #776 #778]: #786
+#654 := [unit-resolution #772 #886]: #783
+#637 := [unit-resolution #654 #653]: #773
+#655 := (not #773)
+#625 := (or #655 #766)
+#626 := [th-lemma]: #625
+#627 := [unit-resolution #626 #637]: #766
+#534 := (* -1::int #533)
+#462 := (+ #56 #534)
+#802 := (<= #462 0::int)
+#535 := (= #462 0::int)
+#556 := -3::int
+#529 := (* -1::int #54)
+#827 := (mod #529 -3::int)
+#551 := (+ #56 #827)
+#826 := (= #551 0::int)
+#852 := (>= #54 0::int)
+#498 := (not #852)
+#536 := (<= #54 0::int)
+#841 := (not #536)
+#845 := (or #841 #498)
+#541 := (ite #845 #535 #826)
+#521 := (= #56 0::int)
+#853 := (= #54 0::int)
+#821 := (ite #853 #521 #541)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#865 := (pattern #29)
+#88 := (* -1::int #9)
+#85 := (* -1::int #8)
+#143 := (mod #85 #88)
+#376 := (+ #29 #143)
+#377 := (= #376 0::int)
+#30 := (mod #8 #9)
+#373 := (* -1::int #30)
+#374 := (+ #29 #373)
+#375 := (= #374 0::int)
+#110 := (<= #9 0::int)
+#106 := (<= #8 0::int)
+#315 := (or #106 #110)
+#316 := (not #315)
+#117 := (>= #8 0::int)
+#298 := (or #110 #117)
+#299 := (not #298)
+#322 := (or #299 #316)
+#378 := (ite #322 #375 #377)
+#372 := (= #29 0::int)
+#12 := (= #8 0::int)
+#379 := (ite #12 #372 #378)
+#371 := (= #8 #29)
+#13 := (= #9 0::int)
+#380 := (ite #13 #371 #379)
+#866 := (forall (vars (?v0 int) (?v1 int)) (:pat #865) #380)
+#383 := (forall (vars (?v0 int) (?v1 int)) #380)
+#869 := (iff #383 #866)
+#867 := (iff #380 #380)
+#868 := [refl]: #867
+#870 := [quant-intro #868]: #869
+#149 := (* -1::int #143)
+#340 := (ite #322 #30 #149)
+#343 := (ite #12 0::int #340)
+#346 := (ite #13 #8 #343)
+#349 := (= #29 #346)
+#352 := (forall (vars (?v0 int) (?v1 int)) #349)
+#384 := (iff #352 #383)
+#381 := (iff #349 #380)
+#382 := [rewrite]: #381
+#385 := [quant-intro #382]: #384
+#118 := (not #117)
+#111 := (not #110)
+#121 := (and #111 #118)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#169 := (ite #124 #30 #149)
+#172 := (ite #12 0::int #169)
+#175 := (ite #13 #8 #172)
+#178 := (= #29 #175)
+#181 := (forall (vars (?v0 int) (?v1 int)) #178)
+#353 := (iff #181 #352)
+#350 := (iff #178 #349)
+#347 := (= #175 #346)
+#344 := (= #172 #343)
+#341 := (= #169 #340)
+#325 := (iff #124 #322)
+#319 := (or #316 #299)
+#323 := (iff #319 #322)
+#324 := [rewrite]: #323
+#320 := (iff #124 #319)
+#317 := (iff #121 #299)
+#318 := [rewrite]: #317
+#296 := (iff #114 #316)
+#297 := [rewrite]: #296
+#321 := [monotonicity #297 #318]: #320
+#326 := [trans #321 #324]: #325
+#342 := [monotonicity #326]: #341
+#345 := [monotonicity #342]: #344
+#348 := [monotonicity #345]: #347
+#351 := [monotonicity #348]: #350
+#354 := [quant-intro #351]: #353
+#288 := (~ #181 #181)
+#273 := (~ #178 #178)
+#304 := [refl]: #273
+#289 := [nnf-pos #304]: #288
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#184 := (iff #37 #181)
+#78 := (and #16 #18)
+#81 := (or #17 #78)
+#154 := (ite #81 #30 #149)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#182 := (iff #166 #181)
+#179 := (iff #163 #178)
+#176 := (= #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#125 := (iff #81 #124)
+#122 := (iff #78 #121)
+#119 := (iff #18 #118)
+#120 := [rewrite]: #119
+#112 := (iff #16 #111)
+#113 := [rewrite]: #112
+#123 := [monotonicity #113 #120]: #122
+#115 := (iff #17 #114)
+#108 := (iff #15 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#171 := [monotonicity #126]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [quant-intro #180]: #182
+#167 := (iff #37 #166)
+#164 := (iff #36 #163)
+#161 := (= #35 #160)
+#158 := (= #34 #157)
+#155 := (= #33 #154)
+#152 := (= #32 #149)
+#146 := (- #143)
+#150 := (= #146 #149)
+#151 := [rewrite]: #150
+#147 := (= #32 #146)
+#144 := (= #31 #143)
+#89 := (= #23 #88)
+#90 := [rewrite]: #89
+#86 := (= #22 #85)
+#87 := [rewrite]: #86
+#145 := [monotonicity #87 #90]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#82 := (iff #20 #81)
+#79 := (iff #19 #78)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#156 := [monotonicity #83 #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#185 := [trans #168 #183]: #184
+#142 := [asserted]: #37
+#186 := [mp #142 #185]: #181
+#305 := [mp~ #186 #289]: #181
+#355 := [mp #305 #354]: #352
+#386 := [mp #355 #385]: #383
+#871 := [mp #386 #870]: #866
+#810 := (not #866)
+#811 := (or #810 #821)
+#444 := (* -1::int 3::int)
+#530 := (mod #529 #444)
+#531 := (+ #56 #530)
+#522 := (= #531 0::int)
+#532 := (<= 3::int 0::int)
+#515 := (or #536 #532)
+#850 := (not #515)
+#509 := (or #532 #852)
+#639 := (not #509)
+#846 := (or #639 #850)
+#520 := (ite #846 #535 #522)
+#854 := (ite #853 #521 #520)
+#855 := (= #54 #56)
+#856 := (= 3::int 0::int)
+#851 := (ite #856 #855 #854)
+#816 := (or #810 #851)
+#812 := (iff #816 #811)
+#659 := (iff #811 #811)
+#660 := [rewrite]: #659
+#814 := (iff #851 #821)
+#819 := (ite false #855 #821)
+#824 := (iff #819 #821)
+#813 := [rewrite]: #824
+#823 := (iff #851 #819)
+#822 := (iff #854 #821)
+#542 := (iff #520 #541)
+#830 := (iff #522 #826)
+#825 := (= #531 #551)
+#828 := (= #530 #827)
+#557 := (= #444 -3::int)
+#450 := [rewrite]: #557
+#550 := [monotonicity #450]: #828
+#829 := [monotonicity #550]: #825
+#540 := [monotonicity #829]: #830
+#554 := (iff #846 #845)
+#484 := (or #498 #841)
+#831 := (iff #484 #845)
+#832 := [rewrite]: #831
+#844 := (iff #846 #484)
+#843 := (iff #850 #841)
+#840 := (iff #515 #536)
+#836 := (or #536 false)
+#839 := (iff #836 #536)
+#834 := [rewrite]: #839
+#837 := (iff #515 #836)
+#507 := (iff #532 false)
+#512 := [rewrite]: #507
+#838 := [monotonicity #512]: #837
+#478 := [trans #838 #834]: #840
+#483 := [monotonicity #478]: #843
+#499 := (iff #639 #498)
+#496 := (iff #509 #852)
+#848 := (or false #852)
+#492 := (iff #848 #852)
+#833 := [rewrite]: #492
+#508 := (iff #509 #848)
+#849 := [monotonicity #512]: #508
+#497 := [trans #849 #833]: #496
+#835 := [monotonicity #497]: #499
+#842 := [monotonicity #835 #483]: #844
+#555 := [trans #842 #832]: #554
+#543 := [monotonicity #555 #540]: #542
+#537 := [monotonicity #543]: #822
+#857 := (iff #856 false)
+#847 := [rewrite]: #857
+#820 := [monotonicity #847 #537]: #823
+#815 := [trans #820 #813]: #814
+#818 := [monotonicity #815]: #812
+#661 := [trans #818 #660]: #812
+#817 := [quant-inst]: #816
+#803 := [mp #817 #661]: #811
+#628 := [unit-resolution #803 #871]: #821
+#692 := (not #853)
+#691 := (not #521)
+#633 := (iff #649 #691)
+#632 := (iff #784 #521)
+#630 := (iff #521 #784)
+#631 := [monotonicity #637]: #630
+#475 := [symm #631]: #632
+#629 := [monotonicity #475]: #633
+#634 := [mp #652 #629]: #691
+#790 := (not #821)
+#787 := (or #790 #692 #521)
+#788 := [def-axiom]: #787
+#613 := [unit-resolution #788 #634 #628]: #692
+#791 := (or #790 #853 #541)
+#676 := [def-axiom]: #791
+#616 := [unit-resolution #676 #613 #628]: #541
+#696 := (f5 #54)
+#748 := (f6 #696)
+#749 := (= #748 0::int)
+#614 := (not #749)
+#619 := (iff #692 #614)
+#617 := (iff #853 #749)
+#612 := (iff #749 #853)
+#621 := (= #748 #54)
+#622 := (= #696 f7)
+#697 := (= f7 #696)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#872 := (pattern #39)
+#40 := (f5 #39)
+#188 := (= #38 #40)
+#873 := (forall (vars (?v0 S2)) (:pat #872) #188)
+#191 := (forall (vars (?v0 S2)) #188)
+#874 := (iff #191 #873)
+#876 := (iff #873 #873)
+#877 := [rewrite]: #876
+#875 := [rewrite]: #874
+#878 := [trans #875 #877]: #874
+#290 := (~ #191 #191)
+#306 := (~ #188 #188)
+#307 := [refl]: #306
+#291 := [nnf-pos #307]: #290
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#192 := (iff #42 #191)
+#189 := (iff #41 #188)
+#190 := [rewrite]: #189
+#193 := [quant-intro #190]: #192
+#187 := [asserted]: #42
+#196 := [mp #187 #193]: #191
+#308 := [mp~ #196 #291]: #191
+#879 := [mp #308 #878]: #873
+#792 := (not #873)
+#789 := (or #792 #697)
+#793 := [quant-inst]: #789
+#620 := [unit-resolution #793 #879]: #697
+#623 := [symm #620]: #622
+#624 := [monotonicity #623]: #621
+#615 := [monotonicity #624]: #612
+#618 := [symm #615]: #617
+#609 := [monotonicity #618]: #619
+#599 := [mp #613 #609]: #614
+#750 := (or #749 #852)
+#753 := (or #765 #749 #852)
+#754 := (or #765 #750)
+#755 := (iff #754 #753)
+#733 := [rewrite]: #755
+#744 := [quant-inst]: #754
+#734 := [mp #744 #733]: #753
+#601 := [unit-resolution #734 #892]: #750
+#602 := [unit-resolution #601 #599]: #852
+#605 := (or #853 #841 #498)
+#606 := [th-lemma]: #605
+#610 := [unit-resolution #606 #613]: #845
+#603 := [unit-resolution #610 #602]: #841
+#804 := (or #845 #536)
+#805 := [def-axiom]: #804
+#611 := [unit-resolution #805 #603]: #845
+#801 := (not #845)
+#641 := (not #541)
+#794 := (or #641 #801 #535)
+#795 := [def-axiom]: #794
+#604 := [unit-resolution #795 #611 #616]: #535
+#796 := (not #535)
+#607 := (or #796 #802)
+#608 := [th-lemma]: #607
+#594 := [unit-resolution #608 #604]: #802
+[th-lemma #594 #286 #627 #636]: false
+unsat
+19db6bc804d0259d0474ad9e6fd393c16241618f 671 0
+#2 := false
+decl f6 :: (-> S2 int)
+decl f5 :: (-> int S2)
+decl f4 :: (-> int int int)
+#55 := 3::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f4 #54 3::int)
+#57 := (f5 #56)
+#805 := (f6 #57)
+#806 := (= #56 #805)
+#476 := (not #806)
+#514 := (= #54 #56)
+#692 := (not #514)
+#473 := (iff #692 #476)
+#483 := (iff #514 #806)
+#490 := (iff #806 #514)
+#679 := (= #56 #54)
+#486 := (iff #679 #514)
+#489 := [commutativity]: #486
+#481 := (iff #806 #679)
+#494 := (= #805 #54)
+#58 := (= #57 f7)
+#274 := (= f7 #57)
+#286 := (>= #54 3::int)
+#11 := 0::int
+#870 := (= #56 0::int)
+#549 := (iff #870 #514)
+#547 := (iff #514 #870)
+#702 := (= 0::int #56)
+#545 := (iff #702 #870)
+#546 := [commutativity]: #545
+#541 := (iff #514 #702)
+#530 := (= #54 0::int)
+#285 := (not #286)
+#632 := [hypothesis]: #285
+#538 := (or #530 #286)
+#708 := 1::int
+#769 := (div #54 3::int)
+#628 := -2::int
+#618 := (* -2::int #769)
+#661 := (mod #54 3::int)
+#85 := -1::int
+#868 := (* -1::int #661)
+#619 := (+ #868 #618)
+#617 := (+ #54 #619)
+#620 := (>= #617 1::int)
+#627 := (not #620)
+#802 := (>= #56 0::int)
+#729 := (>= #661 0::int)
+#1 := true
+#76 := [true-axiom]: true
+#630 := (or false #729)
+#616 := [th-lemma]: #630
+#602 := [unit-resolution #616 #76]: #729
+#542 := (+ #56 #868)
+#817 := (>= #542 0::int)
+#543 := (= #542 0::int)
+#572 := -3::int
+#537 := (* -1::int #54)
+#851 := (mod #537 -3::int)
+#562 := (+ #56 #851)
+#565 := (= #562 0::int)
+#876 := (<= #54 0::int)
+#577 := (not #876)
+#873 := (>= #54 0::int)
+#863 := (not #873)
+#472 := (or #863 #577)
+#559 := (ite #472 #543 #565)
+#713 := (not #530)
+#604 := [hypothesis]: #713
+#606 := (or #530 #559)
+#842 := (ite #530 #870 #559)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#887 := (pattern #29)
+#89 := (* -1::int #9)
+#86 := (* -1::int #8)
+#144 := (mod #86 #89)
+#398 := (+ #29 #144)
+#399 := (= #398 0::int)
+#30 := (mod #8 #9)
+#395 := (* -1::int #30)
+#396 := (+ #29 #395)
+#397 := (= #396 0::int)
+#111 := (<= #9 0::int)
+#107 := (<= #8 0::int)
+#337 := (or #107 #111)
+#338 := (not #337)
+#118 := (>= #8 0::int)
+#320 := (or #111 #118)
+#321 := (not #320)
+#344 := (or #321 #338)
+#400 := (ite #344 #397 #399)
+#394 := (= #29 0::int)
+#12 := (= #8 0::int)
+#401 := (ite #12 #394 #400)
+#393 := (= #8 #29)
+#13 := (= #9 0::int)
+#402 := (ite #13 #393 #401)
+#888 := (forall (vars (?v0 int) (?v1 int)) (:pat #887) #402)
+#405 := (forall (vars (?v0 int) (?v1 int)) #402)
+#891 := (iff #405 #888)
+#889 := (iff #402 #402)
+#890 := [refl]: #889
+#892 := [quant-intro #890]: #891
+#150 := (* -1::int #144)
+#362 := (ite #344 #30 #150)
+#365 := (ite #12 0::int #362)
+#368 := (ite #13 #8 #365)
+#371 := (= #29 #368)
+#374 := (forall (vars (?v0 int) (?v1 int)) #371)
+#406 := (iff #374 #405)
+#403 := (iff #371 #402)
+#404 := [rewrite]: #403
+#407 := [quant-intro #404]: #406
+#119 := (not #118)
+#112 := (not #111)
+#122 := (and #112 #119)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#170 := (ite #125 #30 #150)
+#173 := (ite #12 0::int #170)
+#176 := (ite #13 #8 #173)
+#179 := (= #29 #176)
+#182 := (forall (vars (?v0 int) (?v1 int)) #179)
+#375 := (iff #182 #374)
+#372 := (iff #179 #371)
+#369 := (= #176 #368)
+#366 := (= #173 #365)
+#363 := (= #170 #362)
+#347 := (iff #125 #344)
+#341 := (or #338 #321)
+#345 := (iff #341 #344)
+#346 := [rewrite]: #345
+#342 := (iff #125 #341)
+#339 := (iff #122 #321)
+#340 := [rewrite]: #339
+#318 := (iff #115 #338)
+#319 := [rewrite]: #318
+#343 := [monotonicity #319 #340]: #342
+#348 := [trans #343 #346]: #347
+#364 := [monotonicity #348]: #363
+#367 := [monotonicity #364]: #366
+#370 := [monotonicity #367]: #369
+#373 := [monotonicity #370]: #372
+#376 := [quant-intro #373]: #375
+#310 := (~ #182 #182)
+#307 := (~ #179 #179)
+#326 := [refl]: #307
+#311 := [nnf-pos #326]: #310
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#185 := (iff #37 #182)
+#79 := (and #16 #18)
+#82 := (or #17 #79)
+#155 := (ite #82 #30 #150)
+#158 := (ite #12 0::int #155)
+#161 := (ite #13 #8 #158)
+#164 := (= #29 #161)
+#167 := (forall (vars (?v0 int) (?v1 int)) #164)
+#183 := (iff #167 #182)
+#180 := (iff #164 #179)
+#177 := (= #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#126 := (iff #82 #125)
+#123 := (iff #79 #122)
+#120 := (iff #18 #119)
+#121 := [rewrite]: #120
+#113 := (iff #16 #112)
+#114 := [rewrite]: #113
+#124 := [monotonicity #114 #121]: #123
+#116 := (iff #17 #115)
+#109 := (iff #15 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#172 := [monotonicity #127]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [quant-intro #181]: #183
+#168 := (iff #37 #167)
+#165 := (iff #36 #164)
+#162 := (= #35 #161)
+#159 := (= #34 #158)
+#156 := (= #33 #155)
+#153 := (= #32 #150)
+#147 := (- #144)
+#151 := (= #147 #150)
+#152 := [rewrite]: #151
+#148 := (= #32 #147)
+#145 := (= #31 #144)
+#90 := (= #23 #89)
+#91 := [rewrite]: #90
+#87 := (= #22 #86)
+#88 := [rewrite]: #87
+#146 := [monotonicity #88 #91]: #145
+#149 := [monotonicity #146]: #148
+#154 := [trans #149 #152]: #153
+#83 := (iff #20 #82)
+#80 := (iff #19 #79)
+#81 := [rewrite]: #80
+#84 := [monotonicity #81]: #83
+#157 := [monotonicity #84 #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#186 := [trans #169 #184]: #185
+#143 := [asserted]: #37
+#187 := [mp #143 #186]: #182
+#327 := [mp~ #187 #311]: #182
+#377 := [mp #327 #376]: #374
+#408 := [mp #377 #407]: #405
+#893 := [mp #408 #892]: #888
+#840 := (not #888)
+#681 := (or #840 #842)
+#558 := (* -1::int 3::int)
+#872 := (mod #537 #558)
+#874 := (+ #56 #872)
+#531 := (= #874 0::int)
+#875 := (<= 3::int 0::int)
+#877 := (or #876 #875)
+#878 := (not #877)
+#879 := (or #875 #873)
+#869 := (not #879)
+#529 := (or #869 #878)
+#534 := (ite #529 #543 #531)
+#871 := (ite #530 #870 #534)
+#855 := (= 3::int 0::int)
+#518 := (ite #855 #514 #871)
+#682 := (or #840 #518)
+#825 := (iff #682 #681)
+#827 := (iff #681 #681)
+#828 := [rewrite]: #827
+#839 := (iff #518 #842)
+#836 := (ite false #514 #842)
+#833 := (iff #836 #842)
+#838 := [rewrite]: #833
+#837 := (iff #518 #836)
+#846 := (iff #871 #842)
+#841 := (iff #534 #559)
+#843 := (iff #531 #565)
+#563 := (= #874 #562)
+#848 := (= #872 #851)
+#573 := (= #558 -3::int)
+#847 := [rewrite]: #573
+#852 := [monotonicity #847]: #848
+#564 := [monotonicity #852]: #563
+#844 := [monotonicity #564]: #843
+#849 := (iff #529 #472)
+#578 := (iff #878 #577)
+#854 := (iff #877 #876)
+#506 := (or #876 false)
+#867 := (iff #506 #876)
+#853 := [rewrite]: #867
+#866 := (iff #877 #506)
+#521 := (iff #875 false)
+#857 := [rewrite]: #521
+#864 := [monotonicity #857]: #866
+#576 := [trans #864 #853]: #854
+#579 := [monotonicity #576]: #578
+#865 := (iff #869 #863)
+#862 := (iff #879 #873)
+#858 := (or false #873)
+#861 := (iff #858 #873)
+#856 := [rewrite]: #861
+#859 := (iff #879 #858)
+#860 := [monotonicity #857]: #859
+#500 := [trans #860 #856]: #862
+#505 := [monotonicity #500]: #865
+#850 := [monotonicity #505 #579]: #849
+#845 := [monotonicity #850 #844]: #841
+#835 := [monotonicity #845]: #846
+#519 := (iff #855 false)
+#520 := [rewrite]: #519
+#832 := [monotonicity #520 #835]: #837
+#834 := [trans #832 #838]: #839
+#826 := [monotonicity #834]: #825
+#822 := [trans #826 #828]: #825
+#683 := [quant-inst]: #682
+#823 := [mp #683 #822]: #681
+#605 := [unit-resolution #823 #893]: #842
+#698 := (not #842)
+#709 := (or #698 #530 #559)
+#717 := [def-axiom]: #709
+#607 := [unit-resolution #717 #605]: #606
+#608 := [unit-resolution #607 #604]: #559
+#811 := (f5 #54)
+#779 := (f6 #811)
+#781 := (= #779 0::int)
+#592 := (not #781)
+#594 := (iff #713 #592)
+#603 := (iff #530 #781)
+#613 := (iff #781 #530)
+#611 := (= #779 #54)
+#609 := (= #811 f7)
+#815 := (= f7 #811)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#894 := (pattern #39)
+#40 := (f5 #39)
+#189 := (= #38 #40)
+#895 := (forall (vars (?v0 S2)) (:pat #894) #189)
+#192 := (forall (vars (?v0 S2)) #189)
+#896 := (iff #192 #895)
+#898 := (iff #895 #895)
+#899 := [rewrite]: #898
+#897 := [rewrite]: #896
+#900 := [trans #897 #899]: #896
+#312 := (~ #192 #192)
+#328 := (~ #189 #189)
+#329 := [refl]: #328
+#313 := [nnf-pos #329]: #312
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#193 := (iff #42 #192)
+#190 := (iff #41 #189)
+#191 := [rewrite]: #190
+#194 := [quant-intro #191]: #193
+#188 := [asserted]: #42
+#197 := [mp #188 #194]: #192
+#330 := [mp~ #197 #313]: #192
+#901 := [mp #330 #900]: #895
+#796 := (not #895)
+#793 := (or #796 #815)
+#795 := [quant-inst]: #793
+#685 := [unit-resolution #795 #901]: #815
+#610 := [symm #685]: #609
+#612 := [monotonicity #610]: #611
+#614 := [monotonicity #612]: #613
+#615 := [symm #614]: #603
+#595 := [monotonicity #615]: #594
+#596 := [mp #604 #595]: #592
+#768 := (or #781 #873)
+#44 := (f5 #9)
+#902 := (pattern #44)
+#212 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#262 := (or #50 #212)
+#909 := (forall (vars (?v0 int)) (:pat #902) #262)
+#267 := (forall (vars (?v0 int)) #262)
+#912 := (iff #267 #909)
+#910 := (iff #262 #262)
+#911 := [refl]: #910
+#913 := [quant-intro #911]: #912
+#316 := (~ #267 #267)
+#334 := (~ #262 #262)
+#335 := [refl]: #334
+#317 := [nnf-pos #335]: #316
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#270 := (iff #52 #267)
+#233 := (= 0::int #45)
+#239 := (not #49)
+#240 := (or #239 #233)
+#245 := (forall (vars (?v0 int)) #240)
+#268 := (iff #245 #267)
+#265 := (iff #240 #262)
+#259 := (or #212 #50)
+#263 := (iff #259 #262)
+#264 := [rewrite]: #263
+#260 := (iff #240 #259)
+#257 := (iff #233 #50)
+#258 := [rewrite]: #257
+#255 := (iff #239 #212)
+#215 := (not #212)
+#250 := (not #215)
+#253 := (iff #250 #212)
+#254 := [rewrite]: #253
+#251 := (iff #239 #250)
+#248 := (iff #49 #215)
+#249 := [rewrite]: #248
+#252 := [monotonicity #249]: #251
+#256 := [trans #252 #254]: #255
+#261 := [monotonicity #256 #258]: #260
+#266 := [trans #261 #264]: #265
+#269 := [quant-intro #266]: #268
+#246 := (iff #52 #245)
+#243 := (iff #51 #240)
+#236 := (implies #49 #233)
+#241 := (iff #236 #240)
+#242 := [rewrite]: #241
+#237 := (iff #51 #236)
+#234 := (iff #50 #233)
+#235 := [rewrite]: #234
+#238 := [monotonicity #235]: #237
+#244 := [trans #238 #242]: #243
+#247 := [quant-intro #244]: #246
+#271 := [trans #247 #269]: #270
+#232 := [asserted]: #52
+#272 := [mp #232 #271]: #267
+#336 := [mp~ #272 #317]: #267
+#914 := [mp #336 #913]: #909
+#782 := (not #909)
+#771 := (or #782 #781 #873)
+#772 := (or #782 #768)
+#774 := (iff #772 #771)
+#775 := [rewrite]: #774
+#773 := [quant-inst]: #772
+#776 := [mp #773 #775]: #771
+#597 := [unit-resolution #776 #914]: #768
+#598 := [unit-resolution #597 #596]: #873
+#599 := (or #530 #577 #863)
+#600 := [th-lemma]: #599
+#593 := [unit-resolution #600 #598 #604]: #577
+#824 := (or #472 #876)
+#831 := [def-axiom]: #824
+#601 := [unit-resolution #831 #593]: #472
+#660 := (not #472)
+#818 := (not #559)
+#821 := (or #818 #660 #543)
+#703 := [def-axiom]: #821
+#586 := [unit-resolution #703 #601 #608]: #543
+#664 := (not #543)
+#587 := (or #664 #817)
+#588 := [th-lemma]: #587
+#590 := [unit-resolution #588 #586]: #817
+#591 := (not #729)
+#589 := (not #817)
+#580 := (or #802 #589 #591)
+#581 := [th-lemma]: #580
+#582 := [unit-resolution #581 #590 #602]: #802
+#816 := (<= #542 0::int)
+#574 := (or #664 #816)
+#583 := [th-lemma]: #574
+#584 := [unit-resolution #583 #586]: #816
+#804 := (not #802)
+#649 := (not #816)
+#626 := (or #627 #286 #649 #804)
+#625 := [hypothesis]: #802
+#747 := (* -3::int #769)
+#750 := (+ #868 #747)
+#751 := (+ #54 #750)
+#727 := (<= #751 0::int)
+#746 := (= #751 0::int)
+#657 := (or false #746)
+#695 := [th-lemma]: #657
+#680 := [unit-resolution #695 #76]: #746
+#658 := (not #746)
+#665 := (or #658 #727)
+#667 := [th-lemma]: #665
+#668 := [unit-resolution #667 #680]: #727
+#677 := [hypothesis]: #816
+#633 := [hypothesis]: #620
+#624 := [th-lemma #632 #633 #677 #668 #625]: false
+#629 := [lemma #624]: #626
+#575 := [unit-resolution #629 #584 #632 #582]: #627
+#666 := (>= #751 0::int)
+#640 := (or #658 #666)
+#636 := [th-lemma]: #640
+#641 := [unit-resolution #636 #680]: #666
+#711 := (* -1::int #56)
+#712 := (+ #54 #711)
+#722 := (<= #712 0::int)
+#560 := (not #722)
+#555 := (not #274)
+#557 := (or #555 #286)
+#299 := (iff #274 #286)
+#59 := (< #54 3::int)
+#60 := (not #59)
+#61 := (iff #58 #60)
+#304 := (iff #61 #299)
+#280 := (iff #60 #274)
+#302 := (iff #280 #299)
+#296 := (iff #286 #274)
+#300 := (iff #296 #299)
+#301 := [rewrite]: #300
+#297 := (iff #280 #296)
+#294 := (iff #60 #286)
+#289 := (not #285)
+#292 := (iff #289 #286)
+#293 := [rewrite]: #292
+#290 := (iff #60 #289)
+#287 := (iff #59 #285)
+#288 := [rewrite]: #287
+#291 := [monotonicity #288]: #290
+#295 := [trans #291 #293]: #294
+#298 := [monotonicity #295]: #297
+#303 := [trans #298 #301]: #302
+#283 := (iff #61 #280)
+#277 := (iff #274 #60)
+#281 := (iff #277 #280)
+#282 := [rewrite]: #281
+#278 := (iff #61 #277)
+#275 := (iff #58 #274)
+#276 := [rewrite]: #275
+#279 := [monotonicity #276]: #278
+#284 := [trans #279 #282]: #283
+#305 := [trans #284 #303]: #304
+#273 := [asserted]: #61
+#306 := [mp #273 #305]: #299
+#466 := (not #299)
+#556 := (or #555 #286 #466)
+#484 := [def-axiom]: #556
+#554 := [unit-resolution #484 #306]: #557
+#585 := [unit-resolution #554 #632]: #555
+#693 := (or #692 #274)
+#688 := (= #811 #57)
+#686 := (= #57 #811)
+#678 := [hypothesis]: #514
+#684 := [symm #678]: #679
+#687 := [monotonicity #684]: #686
+#689 := [symm #687]: #688
+#690 := [trans #685 #689]: #274
+#723 := [hypothesis]: #555
+#691 := [unit-resolution #723 #690]: false
+#694 := [lemma #691]: #693
+#566 := [unit-resolution #694 #585]: #692
+#707 := (>= #712 0::int)
+#669 := (* -1::int #769)
+#671 := (+ #868 #669)
+#637 := (+ #54 #671)
+#639 := (>= #637 0::int)
+#621 := (or #639 #876)
+#645 := (not #639)
+#634 := [hypothesis]: #645
+#706 := (>= #661 3::int)
+#730 := (not #706)
+#675 := (or false #730)
+#676 := [th-lemma]: #675
+#659 := [unit-resolution #676 #76]: #730
+#696 := [hypothesis]: #577
+#631 := [th-lemma #696 #659 #641 #634]: false
+#623 := [lemma #631]: #621
+#567 := [unit-resolution #623 #593]: #639
+#643 := (or #645 #649 #707)
+#642 := (not #707)
+#644 := [hypothesis]: #642
+#635 := [hypothesis]: #639
+#638 := [th-lemma #677 #635 #668 #644]: false
+#646 := [lemma #638]: #643
+#568 := [unit-resolution #646 #567 #584]: #707
+#569 := (or #514 #560 #642)
+#570 := [th-lemma]: #569
+#561 := [unit-resolution #570 #568 #566]: #560
+#571 := [th-lemma #590 #561 #641 #575]: false
+#540 := [lemma #571]: #538
+#697 := [unit-resolution #540 #632]: #530
+#532 := [monotonicity #697]: #541
+#548 := [trans #532 #546]: #547
+#539 := [symm #548]: #549
+#699 := (or #713 #870)
+#715 := (or #698 #713 #870)
+#716 := [def-axiom]: #715
+#701 := [unit-resolution #716 #605]: #699
+#728 := [unit-resolution #701 #697]: #870
+#550 := [mp #728 #539]: #514
+#533 := [unit-resolution #566 #550]: false
+#535 := [lemma #533]: #286
+#553 := (or #274 #285)
+#551 := (or #274 #285 #466)
+#552 := [def-axiom]: #551
+#544 := [unit-resolution #552 #306]: #553
+#496 := [unit-resolution #544 #535]: #274
+#498 := [symm #496]: #58
+#499 := [monotonicity #498]: #494
+#485 := [monotonicity #499]: #481
+#491 := [trans #485 #489]: #490
+#492 := [symm #491]: #483
+#474 := [monotonicity #492]: #473
+#524 := (or #577 #285)
+#525 := [th-lemma]: #524
+#526 := [unit-resolution #525 #535]: #577
+#527 := (or #713 #876)
+#516 := [th-lemma]: #527
+#528 := [unit-resolution #516 #526]: #713
+#509 := [unit-resolution #607 #528]: #559
+#511 := [unit-resolution #831 #526]: #472
+#512 := [unit-resolution #703 #511 #509]: #543
+#502 := [unit-resolution #583 #512]: #816
+#508 := (or #560 #285 #706 #649)
+#482 := [th-lemma]: #508
+#487 := [unit-resolution #482 #502 #535 #659]: #560
+#488 := (or #692 #722)
+#493 := [th-lemma]: #488
+#495 := [unit-resolution #493 #487]: #692
+#477 := [mp #495 #474]: #476
+#510 := [unit-resolution #588 #512]: #817
+#513 := (or #802 #591 #589)
+#501 := [th-lemma]: #513
+#503 := [unit-resolution #501 #510 #602]: #802
+#803 := (or #804 #806)
+#196 := (= #9 #45)
+#221 := (or #196 #215)
+#903 := (forall (vars (?v0 int)) (:pat #902) #221)
+#226 := (forall (vars (?v0 int)) #221)
+#906 := (iff #226 #903)
+#904 := (iff #221 #221)
+#905 := [refl]: #904
+#907 := [quant-intro #905]: #906
+#314 := (~ #226 #226)
+#331 := (~ #221 #221)
+#332 := [refl]: #331
+#315 := [nnf-pos #332]: #314
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#229 := (iff #48 #226)
+#203 := (not #43)
+#204 := (or #203 #196)
+#209 := (forall (vars (?v0 int)) #204)
+#227 := (iff #209 #226)
+#224 := (iff #204 #221)
+#218 := (or #215 #196)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #204 #218)
+#216 := (iff #203 #215)
+#213 := (iff #43 #212)
+#214 := [rewrite]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [quant-intro #225]: #227
+#210 := (iff #48 #209)
+#207 := (iff #47 #204)
+#200 := (implies #43 #196)
+#205 := (iff #200 #204)
+#206 := [rewrite]: #205
+#201 := (iff #47 #200)
+#198 := (iff #46 #196)
+#199 := [rewrite]: #198
+#202 := [monotonicity #199]: #201
+#208 := [trans #202 #206]: #207
+#211 := [quant-intro #208]: #210
+#230 := [trans #211 #228]: #229
+#195 := [asserted]: #48
+#231 := [mp #195 #230]: #226
+#333 := [mp~ #231 #315]: #226
+#908 := [mp #333 #907]: #903
+#798 := (not #903)
+#799 := (or #798 #804 #806)
+#807 := (or #806 #804)
+#800 := (or #798 #807)
+#790 := (iff #800 #799)
+#801 := (or #798 #803)
+#788 := (iff #801 #799)
+#789 := [rewrite]: #788
+#785 := (iff #800 #801)
+#808 := (iff #807 #803)
+#797 := [rewrite]: #808
+#786 := [monotonicity #797]: #785
+#791 := [trans #786 #789]: #790
+#794 := [quant-inst]: #800
+#787 := [mp #794 #791]: #799
+#504 := [unit-resolution #787 #908]: #803
+#507 := [unit-resolution #504 #503]: #806
+[unit-resolution #507 #477]: false
+unsat
+fc3bf89881b91dbc7a63480f61119146b3cd1d4c 848 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f6 :: (-> S2 int)
+decl f3 :: (-> int int int)
+#55 := 1::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 1::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#283 := (f5 #58)
+#286 := (f6 #283)
+decl f4 :: (-> int int int)
+#62 := (f4 #54 1::int)
+#63 := (f5 #62)
+#64 := (f6 #63)
+#292 := (+ #64 #286)
+#297 := (f5 #292)
+#300 := (= f7 #297)
+#706 := (f5 #54)
+#1101 := (= #706 #297)
+#1099 := (= #297 #706)
+#1097 := (= #292 #54)
+#11 := 0::int
+#1074 := (= 0::int #54)
+#877 := (= #54 0::int)
+#711 := (f5 #286)
+#1035 := (= #711 #297)
+#1033 := (= #297 #711)
+#986 := (= #292 #286)
+#984 := (= #286 #292)
+#654 := (<= #64 0::int)
+#929 := (<= #62 0::int)
+#801 := (= #62 0::int)
+#871 := (<= #54 0::int)
+#853 := (not #871)
+#660 := (>= #54 0::int)
+#861 := (not #660)
+#759 := (or #861 #853 #877)
+#537 := (f6 #706)
+#539 := (= #537 0::int)
+#944 := (not #539)
+#713 := (not #877)
+#945 := (iff #713 #944)
+#942 := (iff #877 #539)
+#940 := (iff #539 #877)
+#938 := (= #537 #54)
+#936 := (= #706 f7)
+#665 := (= f7 #706)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#893 := (pattern #39)
+#40 := (f5 #39)
+#196 := (= #38 #40)
+#894 := (forall (vars (?v0 S2)) (:pat #893) #196)
+#199 := (forall (vars (?v0 S2)) #196)
+#895 := (iff #199 #894)
+#897 := (iff #894 #894)
+#898 := [rewrite]: #897
+#896 := [rewrite]: #895
+#899 := [trans #896 #898]: #895
+#312 := (~ #199 #199)
+#328 := (~ #196 #196)
+#329 := [refl]: #328
+#313 := [nnf-pos #329]: #312
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#200 := (iff #42 #199)
+#197 := (iff #41 #196)
+#198 := [rewrite]: #197
+#201 := [quant-intro #198]: #200
+#195 := [asserted]: #42
+#204 := [mp #195 #201]: #199
+#330 := [mp~ #204 #313]: #199
+#900 := [mp #330 #899]: #894
+#700 := (not #894)
+#707 := (or #700 #665)
+#709 := [quant-inst]: #707
+#935 := [unit-resolution #709 #900]: #665
+#937 := [symm #935]: #936
+#939 := [monotonicity #937]: #938
+#941 := [monotonicity #939]: #940
+#943 := [symm #941]: #942
+#946 := [monotonicity #943]: #945
+#934 := [hypothesis]: #713
+#947 := [mp #934 #946]: #944
+#540 := (or #539 #660)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#901 := (pattern #44)
+#219 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#269 := (or #50 #219)
+#908 := (forall (vars (?v0 int)) (:pat #901) #269)
+#274 := (forall (vars (?v0 int)) #269)
+#911 := (iff #274 #908)
+#909 := (iff #269 #269)
+#910 := [refl]: #909
+#912 := [quant-intro #910]: #911
+#316 := (~ #274 #274)
+#334 := (~ #269 #269)
+#335 := [refl]: #334
+#317 := [nnf-pos #335]: #316
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#277 := (iff #52 #274)
+#240 := (= 0::int #45)
+#246 := (not #49)
+#247 := (or #246 #240)
+#252 := (forall (vars (?v0 int)) #247)
+#275 := (iff #252 #274)
+#272 := (iff #247 #269)
+#266 := (or #219 #50)
+#270 := (iff #266 #269)
+#271 := [rewrite]: #270
+#267 := (iff #247 #266)
+#264 := (iff #240 #50)
+#265 := [rewrite]: #264
+#262 := (iff #246 #219)
+#222 := (not #219)
+#257 := (not #222)
+#260 := (iff #257 #219)
+#261 := [rewrite]: #260
+#258 := (iff #246 #257)
+#255 := (iff #49 #222)
+#256 := [rewrite]: #255
+#259 := [monotonicity #256]: #258
+#263 := [trans #259 #261]: #262
+#268 := [monotonicity #263 #265]: #267
+#273 := [trans #268 #271]: #272
+#276 := [quant-intro #273]: #275
+#253 := (iff #52 #252)
+#250 := (iff #51 #247)
+#243 := (implies #49 #240)
+#248 := (iff #243 #247)
+#249 := [rewrite]: #248
+#244 := (iff #51 #243)
+#241 := (iff #50 #240)
+#242 := [rewrite]: #241
+#245 := [monotonicity #242]: #244
+#251 := [trans #245 #249]: #250
+#254 := [quant-intro #251]: #253
+#278 := [trans #254 #276]: #277
+#239 := [asserted]: #52
+#279 := [mp #239 #278]: #274
+#336 := [mp~ #279 #317]: #274
+#913 := [mp #336 #912]: #908
+#647 := (not #908)
+#545 := (or #647 #539 #660)
+#546 := (or #647 #540)
+#548 := (iff #546 #545)
+#538 := [rewrite]: #548
+#547 := [quant-inst]: #546
+#549 := [mp #547 #538]: #545
+#948 := [unit-resolution #549 #913]: #540
+#949 := [unit-resolution #948 #947]: #660
+#952 := (or #853 #861)
+#950 := (or #877 #853 #861)
+#951 := [th-lemma]: #950
+#953 := [unit-resolution #951 #934]: #952
+#954 := [unit-resolution #953 #949]: #853
+#733 := (or #759 #871)
+#734 := [def-axiom]: #733
+#955 := [unit-resolution #734 #954]: #759
+#736 := (not #759)
+#957 := (or #736 #801)
+#92 := -1::int
+#550 := (* -1::int #54)
+#830 := (mod #550 -1::int)
+#777 := (+ #62 #830)
+#781 := (= #777 0::int)
+#756 := (ite #759 #801 #781)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#886 := (pattern #29)
+#96 := (* -1::int #9)
+#93 := (* -1::int #8)
+#151 := (mod #93 #96)
+#398 := (+ #29 #151)
+#399 := (= #398 0::int)
+#30 := (mod #8 #9)
+#395 := (* -1::int #30)
+#396 := (+ #29 #395)
+#397 := (= #396 0::int)
+#118 := (<= #9 0::int)
+#114 := (<= #8 0::int)
+#337 := (or #114 #118)
+#338 := (not #337)
+#125 := (>= #8 0::int)
+#320 := (or #118 #125)
+#321 := (not #320)
+#344 := (or #321 #338)
+#400 := (ite #344 #397 #399)
+#394 := (= #29 0::int)
+#12 := (= #8 0::int)
+#401 := (ite #12 #394 #400)
+#393 := (= #8 #29)
+#13 := (= #9 0::int)
+#402 := (ite #13 #393 #401)
+#887 := (forall (vars (?v0 int) (?v1 int)) (:pat #886) #402)
+#405 := (forall (vars (?v0 int) (?v1 int)) #402)
+#890 := (iff #405 #887)
+#888 := (iff #402 #402)
+#889 := [refl]: #888
+#891 := [quant-intro #889]: #890
+#157 := (* -1::int #151)
+#362 := (ite #344 #30 #157)
+#365 := (ite #12 0::int #362)
+#368 := (ite #13 #8 #365)
+#371 := (= #29 #368)
+#374 := (forall (vars (?v0 int) (?v1 int)) #371)
+#406 := (iff #374 #405)
+#403 := (iff #371 #402)
+#404 := [rewrite]: #403
+#407 := [quant-intro #404]: #406
+#126 := (not #125)
+#119 := (not #118)
+#129 := (and #119 #126)
+#115 := (not #114)
+#122 := (and #115 #119)
+#132 := (or #122 #129)
+#177 := (ite #132 #30 #157)
+#180 := (ite #12 0::int #177)
+#183 := (ite #13 #8 #180)
+#186 := (= #29 #183)
+#189 := (forall (vars (?v0 int) (?v1 int)) #186)
+#375 := (iff #189 #374)
+#372 := (iff #186 #371)
+#369 := (= #183 #368)
+#366 := (= #180 #365)
+#363 := (= #177 #362)
+#347 := (iff #132 #344)
+#341 := (or #338 #321)
+#345 := (iff #341 #344)
+#346 := [rewrite]: #345
+#342 := (iff #132 #341)
+#339 := (iff #129 #321)
+#340 := [rewrite]: #339
+#318 := (iff #122 #338)
+#319 := [rewrite]: #318
+#343 := [monotonicity #319 #340]: #342
+#348 := [trans #343 #346]: #347
+#364 := [monotonicity #348]: #363
+#367 := [monotonicity #364]: #366
+#370 := [monotonicity #367]: #369
+#373 := [monotonicity #370]: #372
+#376 := [quant-intro #373]: #375
+#310 := (~ #189 #189)
+#306 := (~ #186 #186)
+#326 := [refl]: #306
+#311 := [nnf-pos #326]: #310
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#192 := (iff #37 #189)
+#86 := (and #16 #18)
+#89 := (or #17 #86)
+#162 := (ite #89 #30 #157)
+#165 := (ite #12 0::int #162)
+#168 := (ite #13 #8 #165)
+#171 := (= #29 #168)
+#174 := (forall (vars (?v0 int) (?v1 int)) #171)
+#190 := (iff #174 #189)
+#187 := (iff #171 #186)
+#184 := (= #168 #183)
+#181 := (= #165 #180)
+#178 := (= #162 #177)
+#133 := (iff #89 #132)
+#130 := (iff #86 #129)
+#127 := (iff #18 #126)
+#128 := [rewrite]: #127
+#120 := (iff #16 #119)
+#121 := [rewrite]: #120
+#131 := [monotonicity #121 #128]: #130
+#123 := (iff #17 #122)
+#116 := (iff #15 #115)
+#117 := [rewrite]: #116
+#124 := [monotonicity #117 #121]: #123
+#134 := [monotonicity #124 #131]: #133
+#179 := [monotonicity #134]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#175 := (iff #37 #174)
+#172 := (iff #36 #171)
+#169 := (= #35 #168)
+#166 := (= #34 #165)
+#163 := (= #33 #162)
+#160 := (= #32 #157)
+#154 := (- #151)
+#158 := (= #154 #157)
+#159 := [rewrite]: #158
+#155 := (= #32 #154)
+#152 := (= #31 #151)
+#97 := (= #23 #96)
+#98 := [rewrite]: #97
+#94 := (= #22 #93)
+#95 := [rewrite]: #94
+#153 := [monotonicity #95 #98]: #152
+#156 := [monotonicity #153]: #155
+#161 := [trans #156 #159]: #160
+#90 := (iff #20 #89)
+#87 := (iff #19 #86)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#164 := [monotonicity #91 #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#193 := [trans #176 #191]: #192
+#150 := [asserted]: #37
+#194 := [mp #150 #193]: #189
+#327 := [mp~ #194 #311]: #189
+#377 := [mp #327 #376]: #374
+#408 := [mp #377 #407]: #405
+#892 := [mp #408 #891]: #887
+#746 := (not #887)
+#749 := (or #746 #756)
+#466 := (* -1::int 1::int)
+#717 := (mod #550 #466)
+#718 := (+ #62 #717)
+#719 := (= #718 0::int)
+#828 := (mod #54 1::int)
+#720 := (* -1::int #828)
+#813 := (+ #62 #720)
+#810 := (= #813 0::int)
+#536 := (<= 1::int 0::int)
+#873 := (or #871 #536)
+#530 := (not #873)
+#867 := (or #536 #660)
+#541 := (not #867)
+#542 := (or #541 #530)
+#814 := (ite #542 #810 #719)
+#803 := (ite #877 #801 #814)
+#795 := (= #54 #62)
+#876 := (= 1::int 0::int)
+#792 := (ite #876 #795 #803)
+#750 := (or #746 #792)
+#752 := (iff #750 #749)
+#753 := (iff #749 #749)
+#726 := [rewrite]: #753
+#744 := (iff #792 #756)
+#577 := (or #861 #853)
+#769 := (or #577 #877)
+#770 := (ite #769 #801 #781)
+#762 := (iff #770 #756)
+#760 := (iff #769 #759)
+#761 := [rewrite]: #760
+#748 := [monotonicity #761]: #762
+#757 := (iff #792 #770)
+#775 := (ite false #795 #770)
+#754 := (iff #775 #770)
+#755 := [rewrite]: #754
+#765 := (iff #792 #775)
+#773 := (iff #803 #770)
+#783 := (ite #577 #801 #781)
+#766 := (ite #877 #801 #783)
+#771 := (iff #766 #770)
+#772 := [rewrite]: #771
+#767 := (iff #803 #766)
+#763 := (iff #814 #783)
+#782 := (iff #719 #781)
+#778 := (= #718 #777)
+#786 := (= #717 #830)
+#848 := (= #466 -1::int)
+#849 := [rewrite]: #848
+#791 := [monotonicity #849]: #786
+#780 := [monotonicity #791]: #778
+#779 := [monotonicity #780]: #782
+#789 := (iff #810 #801)
+#787 := (= #813 #62)
+#799 := (+ #62 0::int)
+#784 := (= #799 #62)
+#785 := [rewrite]: #784
+#793 := (= #813 #799)
+#797 := (= #720 0::int)
+#805 := (* -1::int 0::int)
+#807 := (= #805 0::int)
+#796 := [rewrite]: #807
+#806 := (= #720 #805)
+#794 := (= #828 0::int)
+#804 := [rewrite]: #794
+#802 := [monotonicity #804]: #806
+#798 := [trans #802 #796]: #797
+#800 := [monotonicity #798]: #793
+#788 := [trans #800 #785]: #787
+#790 := [monotonicity #788]: #789
+#578 := (iff #542 #577)
+#575 := (iff #530 #853)
+#866 := (iff #873 #871)
+#864 := (or #871 false)
+#865 := (iff #864 #871)
+#863 := [rewrite]: #865
+#504 := (iff #873 #864)
+#518 := (iff #536 false)
+#519 := [rewrite]: #518
+#505 := [monotonicity #519]: #504
+#852 := [trans #505 #863]: #866
+#576 := [monotonicity #852]: #575
+#499 := (iff #541 #861)
+#860 := (iff #867 #660)
+#520 := (or false #660)
+#858 := (iff #520 #660)
+#859 := [rewrite]: #858
+#856 := (iff #867 #520)
+#857 := [monotonicity #519]: #856
+#855 := [trans #857 #859]: #860
+#862 := [monotonicity #855]: #499
+#472 := [monotonicity #862 #576]: #578
+#764 := [monotonicity #472 #790 #779]: #763
+#768 := [monotonicity #764]: #767
+#774 := [trans #768 #772]: #773
+#868 := (iff #876 false)
+#528 := [rewrite]: #868
+#776 := [monotonicity #528 #774]: #765
+#758 := [trans #776 #755]: #757
+#745 := [trans #758 #748]: #744
+#747 := [monotonicity #745]: #752
+#727 := [trans #747 #726]: #752
+#751 := [quant-inst]: #750
+#728 := [mp #751 #727]: #749
+#956 := [unit-resolution #728 #892]: #756
+#738 := (not #756)
+#743 := (or #738 #736 #801)
+#723 := [def-axiom]: #743
+#958 := [unit-resolution #723 #956]: #957
+#959 := [unit-resolution #958 #955]: #801
+#705 := (not #801)
+#960 := (or #705 #929)
+#961 := [th-lemma]: #960
+#962 := [unit-resolution #961 #959]: #929
+#671 := (* -1::int #64)
+#672 := (+ #62 #671)
+#674 := (>= #672 0::int)
+#687 := (= #62 #64)
+#683 := (>= #62 0::int)
+#963 := (or #705 #683)
+#964 := [th-lemma]: #963
+#965 := [unit-resolution #964 #959]: #683
+#684 := (not #683)
+#689 := (or #684 #687)
+#203 := (= #9 #45)
+#228 := (or #203 #222)
+#902 := (forall (vars (?v0 int)) (:pat #901) #228)
+#233 := (forall (vars (?v0 int)) #228)
+#905 := (iff #233 #902)
+#903 := (iff #228 #228)
+#904 := [refl]: #903
+#906 := [quant-intro #904]: #905
+#314 := (~ #233 #233)
+#331 := (~ #228 #228)
+#332 := [refl]: #331
+#315 := [nnf-pos #332]: #314
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#236 := (iff #48 #233)
+#210 := (not #43)
+#211 := (or #210 #203)
+#216 := (forall (vars (?v0 int)) #211)
+#234 := (iff #216 #233)
+#231 := (iff #211 #228)
+#225 := (or #222 #203)
+#229 := (iff #225 #228)
+#230 := [rewrite]: #229
+#226 := (iff #211 #225)
+#223 := (iff #210 #222)
+#220 := (iff #43 #219)
+#221 := [rewrite]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#232 := [trans #227 #230]: #231
+#235 := [quant-intro #232]: #234
+#217 := (iff #48 #216)
+#214 := (iff #47 #211)
+#207 := (implies #43 #203)
+#212 := (iff #207 #211)
+#213 := [rewrite]: #212
+#208 := (iff #47 #207)
+#205 := (iff #46 #203)
+#206 := [rewrite]: #205
+#209 := [monotonicity #206]: #208
+#215 := [trans #209 #213]: #214
+#218 := [quant-intro #215]: #217
+#237 := [trans #218 #235]: #236
+#202 := [asserted]: #48
+#238 := [mp #202 #237]: #233
+#333 := [mp~ #238 #315]: #233
+#907 := [mp #333 #906]: #902
+#692 := (not #902)
+#693 := (or #692 #684 #687)
+#688 := (or #687 #684)
+#694 := (or #692 #688)
+#667 := (iff #694 #693)
+#695 := (or #692 #689)
+#664 := (iff #695 #693)
+#666 := [rewrite]: #664
+#656 := (iff #694 #695)
+#690 := (iff #688 #689)
+#691 := [rewrite]: #690
+#657 := [monotonicity #691]: #656
+#668 := [trans #657 #666]: #667
+#679 := [quant-inst]: #694
+#670 := [mp #679 #668]: #693
+#966 := [unit-resolution #670 #907]: #689
+#967 := [unit-resolution #966 #965]: #687
+#968 := (not #687)
+#969 := (or #968 #674)
+#970 := [th-lemma]: #969
+#971 := [unit-resolution #970 #967]: #674
+#973 := (not #674)
+#972 := (not #929)
+#974 := (or #654 #972 #973)
+#975 := [th-lemma]: #974
+#976 := [unit-resolution #975 #971 #962]: #654
+#650 := (>= #64 0::int)
+#673 := (<= #672 0::int)
+#977 := (or #968 #673)
+#978 := [th-lemma]: #977
+#979 := [unit-resolution #978 #967]: #673
+#980 := (not #673)
+#981 := (or #650 #684 #980)
+#982 := [th-lemma]: #981
+#983 := [unit-resolution #982 #979 #965]: #650
+#985 := [th-lemma #983 #976]: #984
+#987 := [symm #985]: #986
+#1034 := [monotonicity #987]: #1033
+#1036 := [symm #1034]: #1035
+#1037 := (= f7 #711)
+#1031 := (= #706 #711)
+#1029 := (= #54 #286)
+#626 := (= #58 #286)
+#710 := (= #57 #283)
+#677 := (or #700 #710)
+#678 := [quant-inst]: #677
+#988 := [unit-resolution #678 #900]: #710
+#1024 := [monotonicity #988]: #626
+#1027 := (= #54 #58)
+#655 := (= #56 #58)
+#676 := (>= #56 0::int)
+#555 := (div #54 1::int)
+#556 := (* -1::int #555)
+#489 := (+ #54 #556)
+#473 := (<= #489 0::int)
+#488 := (= #489 0::int)
+#1 := true
+#83 := [true-axiom]: true
+#989 := (or false #488)
+#990 := [th-lemma]: #989
+#991 := [unit-resolution #990 #83]: #488
+#992 := (not #488)
+#993 := (or #992 #473)
+#994 := [th-lemma]: #993
+#995 := [unit-resolution #994 #991]: #473
+#553 := (+ #56 #556)
+#823 := (>= #553 0::int)
+#557 := (= #553 0::int)
+#571 := (div #550 -1::int)
+#850 := (* -1::int #571)
+#561 := (+ #56 #850)
+#564 := (= #561 0::int)
+#558 := (ite #577 #557 #564)
+#997 := (or #877 #558)
+#875 := (= #56 0::int)
+#841 := (ite #877 #875 #558)
+#10 := (f3 #8 #9)
+#879 := (pattern #10)
+#99 := (div #93 #96)
+#382 := (* -1::int #99)
+#383 := (+ #10 #382)
+#384 := (= #383 0::int)
+#21 := (div #8 #9)
+#379 := (* -1::int #21)
+#380 := (+ #10 #379)
+#381 := (= #380 0::int)
+#385 := (ite #344 #381 #384)
+#378 := (= #10 0::int)
+#14 := (or #12 #13)
+#386 := (ite #14 #378 #385)
+#880 := (forall (vars (?v0 int) (?v1 int)) (:pat #879) #386)
+#389 := (forall (vars (?v0 int) (?v1 int)) #386)
+#883 := (iff #389 #880)
+#881 := (iff #386 #386)
+#882 := [refl]: #881
+#884 := [quant-intro #882]: #883
+#349 := (ite #344 #21 #99)
+#352 := (ite #14 0::int #349)
+#355 := (= #10 #352)
+#358 := (forall (vars (?v0 int) (?v1 int)) #355)
+#390 := (iff #358 #389)
+#387 := (iff #355 #386)
+#388 := [rewrite]: #387
+#391 := [quant-intro #388]: #390
+#135 := (ite #132 #21 #99)
+#138 := (ite #14 0::int #135)
+#141 := (= #10 #138)
+#144 := (forall (vars (?v0 int) (?v1 int)) #141)
+#359 := (iff #144 #358)
+#356 := (iff #141 #355)
+#353 := (= #138 #352)
+#350 := (= #135 #349)
+#351 := [monotonicity #348]: #350
+#354 := [monotonicity #351]: #353
+#357 := [monotonicity #354]: #356
+#360 := [quant-intro #357]: #359
+#324 := (~ #144 #144)
+#322 := (~ #141 #141)
+#323 := [refl]: #322
+#325 := [nnf-pos #323]: #324
+#24 := (div #22 #23)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#147 := (iff #28 #144)
+#102 := (ite #89 #21 #99)
+#105 := (ite #14 0::int #102)
+#108 := (= #10 #105)
+#111 := (forall (vars (?v0 int) (?v1 int)) #108)
+#145 := (iff #111 #144)
+#142 := (iff #108 #141)
+#139 := (= #105 #138)
+#136 := (= #102 #135)
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [quant-intro #143]: #145
+#112 := (iff #28 #111)
+#109 := (iff #27 #108)
+#106 := (= #26 #105)
+#103 := (= #25 #102)
+#100 := (= #24 #99)
+#101 := [monotonicity #95 #98]: #100
+#104 := [monotonicity #91 #101]: #103
+#107 := [monotonicity #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [quant-intro #110]: #112
+#148 := [trans #113 #146]: #147
+#85 := [asserted]: #28
+#149 := [mp #85 #148]: #144
+#309 := [mp~ #149 #325]: #144
+#361 := [mp #309 #360]: #358
+#392 := [mp #361 #391]: #389
+#885 := [mp #392 #884]: #880
+#835 := (not #880)
+#836 := (or #835 #841)
+#551 := (div #550 #466)
+#552 := (* -1::int #551)
+#543 := (+ #56 #552)
+#554 := (= #543 0::int)
+#874 := (ite #542 #557 #554)
+#872 := (or #877 #876)
+#878 := (ite #872 #875 #874)
+#831 := (or #835 #878)
+#837 := (iff #831 #836)
+#833 := (iff #836 #836)
+#839 := [rewrite]: #833
+#845 := (iff #878 #841)
+#840 := (iff #874 #558)
+#842 := (iff #554 #564)
+#562 := (= #543 #561)
+#847 := (= #552 #850)
+#572 := (= #551 #571)
+#846 := [monotonicity #849]: #572
+#851 := [monotonicity #846]: #847
+#563 := [monotonicity #851]: #562
+#843 := [monotonicity #563]: #842
+#844 := [monotonicity #472 #843]: #840
+#854 := (iff #872 #877)
+#533 := (or #877 false)
+#870 := (iff #533 #877)
+#513 := [rewrite]: #870
+#869 := (iff #872 #533)
+#529 := [monotonicity #528]: #869
+#517 := [trans #529 #513]: #854
+#834 := [monotonicity #517 #844]: #845
+#838 := [monotonicity #834]: #837
+#680 := [trans #838 #839]: #837
+#832 := [quant-inst]: #831
+#681 := [mp #832 #680]: #836
+#996 := [unit-resolution #681 #885]: #841
+#811 := (not #841)
+#812 := (or #811 #877 #558)
+#697 := [def-axiom]: #812
+#998 := [unit-resolution #697 #996]: #997
+#999 := [unit-resolution #998 #934]: #558
+#825 := (or #577 #871)
+#826 := [def-axiom]: #825
+#1000 := [unit-resolution #826 #954]: #577
+#827 := (not #577)
+#662 := (not #558)
+#815 := (or #662 #827 #557)
+#816 := [def-axiom]: #815
+#1001 := [unit-resolution #816 #1000 #999]: #557
+#817 := (not #557)
+#1002 := (or #817 #823)
+#1003 := [th-lemma]: #1002
+#1004 := [unit-resolution #1003 #1001]: #823
+#1006 := (not #473)
+#1005 := (not #823)
+#1007 := (or #676 #1005 #861 #1006)
+#1008 := [th-lemma]: #1007
+#1009 := [unit-resolution #1008 #1004 #949 #995]: #676
+#646 := (not #676)
+#634 := (or #655 #646)
+#643 := (or #692 #655 #646)
+#644 := (or #692 #634)
+#645 := (iff #644 #643)
+#633 := [rewrite]: #645
+#642 := [quant-inst]: #644
+#636 := [mp #642 #633]: #643
+#1010 := [unit-resolution #636 #907]: #634
+#1011 := [unit-resolution #1010 #1009]: #655
+#1025 := (= #54 #56)
+#1022 := (= #555 #56)
+#1015 := (= #56 #555)
+#829 := (<= #553 0::int)
+#1012 := (or #817 #829)
+#1013 := [th-lemma]: #1012
+#1014 := [unit-resolution #1013 #1001]: #829
+#1016 := [th-lemma #1004 #1014]: #1015
+#1023 := [symm #1016]: #1022
+#1020 := (= #54 #555)
+#474 := (>= #489 0::int)
+#1017 := (or #992 #474)
+#1018 := [th-lemma]: #1017
+#1019 := [unit-resolution #1018 #991]: #474
+#1021 := [th-lemma #1019 #995]: #1020
+#1026 := [trans #1021 #1023]: #1025
+#1028 := [trans #1026 #1011]: #1027
+#1030 := [trans #1028 #1024]: #1029
+#1032 := [monotonicity #1030]: #1031
+#1038 := [trans #935 #1032]: #1037
+#1039 := [trans #1038 #1036]: #300
+#303 := (not #300)
+#59 := (* #58 1::int)
+#60 := (f5 #59)
+#61 := (f6 #60)
+#65 := (+ #61 #64)
+#66 := (f5 #65)
+#67 := (= f7 #66)
+#68 := (not #67)
+#304 := (iff #68 #303)
+#301 := (iff #67 #300)
+#298 := (= #66 #297)
+#295 := (= #65 #292)
+#289 := (+ #286 #64)
+#293 := (= #289 #292)
+#294 := [rewrite]: #293
+#290 := (= #65 #289)
+#287 := (= #61 #286)
+#284 := (= #60 #283)
+#281 := (= #59 #58)
+#282 := [rewrite]: #281
+#285 := [monotonicity #282]: #284
+#288 := [monotonicity #285]: #287
+#291 := [monotonicity #288]: #290
+#296 := [trans #291 #294]: #295
+#299 := [monotonicity #296]: #298
+#302 := [monotonicity #299]: #301
+#305 := [monotonicity #302]: #304
+#280 := [asserted]: #68
+#308 := [mp #280 #305]: #303
+#1040 := [unit-resolution #308 #1039]: false
+#1041 := [lemma #1040]: #877
+#1075 := [symm #1041]: #1074
+#1095 := (= #292 0::int)
+#607 := (<= #286 0::int)
+#631 := (= #286 0::int)
+#1062 := (= #286 #54)
+#1060 := (= #283 f7)
+#1058 := (= #283 #706)
+#1056 := (= #57 #706)
+#1052 := (= #706 #57)
+#1049 := (= 0::int #56)
+#1046 := (or #713 #875)
+#808 := (or #811 #713 #875)
+#809 := [def-axiom]: #808
+#1047 := [unit-resolution #809 #996]: #1046
+#1048 := [unit-resolution #1047 #1041]: #875
+#1050 := [symm #1048]: #1049
+#1051 := [trans #1041 #1050]: #1025
+#1053 := [monotonicity #1051]: #1052
+#1057 := [symm #1053]: #1056
+#1054 := (= #283 #57)
+#1055 := [symm #988]: #1054
+#1059 := [trans #1055 #1057]: #1058
+#1061 := [trans #1059 #937]: #1060
+#1063 := [monotonicity #1061]: #1062
+#1064 := [trans #1063 #1041]: #631
+#1065 := (not #631)
+#1066 := (or #1065 #607)
+#1067 := [th-lemma]: #1066
+#1068 := [unit-resolution #1067 #1064]: #607
+#608 := (>= #286 0::int)
+#1069 := (or #1065 #608)
+#1070 := [th-lemma]: #1069
+#1071 := [unit-resolution #1070 #1064]: #608
+#675 := (= #64 0::int)
+#1085 := (= #64 #54)
+#1042 := (= #64 #286)
+#1082 := (= #63 #283)
+#1080 := (= #63 #57)
+#1078 := (= #63 #706)
+#1076 := (= #62 #54)
+#739 := (or #759 #713)
+#735 := [def-axiom]: #739
+#1072 := [unit-resolution #735 #1041]: #759
+#1073 := [unit-resolution #958 #1072]: #801
+#1077 := [trans #1073 #1075]: #1076
+#1079 := [monotonicity #1077]: #1078
+#1081 := [trans #1079 #1053]: #1080
+#1083 := [trans #1081 #988]: #1082
+#1084 := [monotonicity #1083]: #1042
+#1086 := [trans #1084 #1063]: #1085
+#1087 := [trans #1086 #1041]: #675
+#1088 := (not #675)
+#1089 := (or #1088 #654)
+#1090 := [th-lemma]: #1089
+#1091 := [unit-resolution #1090 #1087]: #654
+#1092 := (or #1088 #650)
+#1093 := [th-lemma]: #1092
+#1094 := [unit-resolution #1093 #1087]: #650
+#1096 := [th-lemma #1094 #1091 #1071 #1068]: #1095
+#1098 := [trans #1096 #1075]: #1097
+#1100 := [monotonicity #1098]: #1099
+#1102 := [symm #1100]: #1101
+#1103 := [trans #935 #1102]: #300
+[unit-resolution #308 #1103]: false
+unsat
+1c690cd14fbea4a2ebd62dbab2398ad1145cbbed 961 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f6 :: (-> S2 int)
+decl f3 :: (-> int int int)
+#55 := 3::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 3::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#281 := (* 3::int #58)
+#284 := (f5 #281)
+#287 := (f6 #284)
+decl f4 :: (-> int int int)
+#62 := (f4 #54 3::int)
+#63 := (f5 #62)
+#64 := (f6 #63)
+#293 := (+ #64 #287)
+#298 := (f5 #293)
+#301 := (= f7 #298)
+#749 := (f5 #64)
+#1217 := (= #749 #298)
+#1209 := (= #298 #749)
+#1203 := (= #293 #64)
+#1201 := (= #64 #293)
+#11 := 0::int
+#92 := -1::int
+#644 := (* -1::int #287)
+#647 := (+ #281 #644)
+#621 := (<= #647 0::int)
+#635 := (= #647 0::int)
+#643 := (>= #58 0::int)
+#623 := (f5 #58)
+#504 := (f6 #623)
+#505 := (= #504 0::int)
+#945 := (not #505)
+#650 := (= #58 0::int)
+#977 := (not #650)
+#1002 := (iff #977 #945)
+#992 := (iff #650 #505)
+#984 := (iff #505 #650)
+#989 := (= #504 #58)
+#982 := (= #623 #57)
+#734 := (= #57 #623)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#895 := (pattern #39)
+#40 := (f5 #39)
+#196 := (= #38 #40)
+#896 := (forall (vars (?v0 S2)) (:pat #895) #196)
+#199 := (forall (vars (?v0 S2)) #196)
+#897 := (iff #199 #896)
+#899 := (iff #896 #896)
+#900 := [rewrite]: #899
+#898 := [rewrite]: #897
+#901 := [trans #898 #900]: #897
+#313 := (~ #199 #199)
+#329 := (~ #196 #196)
+#330 := [refl]: #329
+#314 := [nnf-pos #330]: #313
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#200 := (iff #42 #199)
+#197 := (iff #41 #196)
+#198 := [rewrite]: #197
+#201 := [quant-intro #198]: #200
+#195 := [asserted]: #42
+#204 := [mp #195 #201]: #199
+#331 := [mp~ #204 #314]: #199
+#902 := [mp #331 #901]: #896
+#728 := (not #896)
+#738 := (or #728 #734)
+#739 := [quant-inst]: #738
+#985 := [unit-resolution #739 #902]: #734
+#988 := [symm #985]: #982
+#990 := [monotonicity #988]: #989
+#991 := [monotonicity #990]: #984
+#944 := [symm #991]: #992
+#946 := [monotonicity #944]: #1002
+#642 := (not #643)
+#953 := [hypothesis]: #642
+#983 := (or #977 #643)
+#986 := [th-lemma]: #983
+#987 := [unit-resolution #986 #953]: #977
+#1003 := [mp #987 #946]: #945
+#494 := (or #505 #643)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#903 := (pattern #44)
+#219 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#269 := (or #50 #219)
+#910 := (forall (vars (?v0 int)) (:pat #903) #269)
+#274 := (forall (vars (?v0 int)) #269)
+#913 := (iff #274 #910)
+#911 := (iff #269 #269)
+#912 := [refl]: #911
+#914 := [quant-intro #912]: #913
+#317 := (~ #274 #274)
+#335 := (~ #269 #269)
+#336 := [refl]: #335
+#318 := [nnf-pos #336]: #317
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#277 := (iff #52 #274)
+#240 := (= 0::int #45)
+#246 := (not #49)
+#247 := (or #246 #240)
+#252 := (forall (vars (?v0 int)) #247)
+#275 := (iff #252 #274)
+#272 := (iff #247 #269)
+#266 := (or #219 #50)
+#270 := (iff #266 #269)
+#271 := [rewrite]: #270
+#267 := (iff #247 #266)
+#264 := (iff #240 #50)
+#265 := [rewrite]: #264
+#262 := (iff #246 #219)
+#222 := (not #219)
+#257 := (not #222)
+#260 := (iff #257 #219)
+#261 := [rewrite]: #260
+#258 := (iff #246 #257)
+#255 := (iff #49 #222)
+#256 := [rewrite]: #255
+#259 := [monotonicity #256]: #258
+#263 := [trans #259 #261]: #262
+#268 := [monotonicity #263 #265]: #267
+#273 := [trans #268 #271]: #272
+#276 := [quant-intro #273]: #275
+#253 := (iff #52 #252)
+#250 := (iff #51 #247)
+#243 := (implies #49 #240)
+#248 := (iff #243 #247)
+#249 := [rewrite]: #248
+#244 := (iff #51 #243)
+#241 := (iff #50 #240)
+#242 := [rewrite]: #241
+#245 := [monotonicity #242]: #244
+#251 := [trans #245 #249]: #250
+#254 := [quant-intro #251]: #253
+#278 := [trans #254 #276]: #277
+#239 := [asserted]: #52
+#279 := [mp #239 #278]: #274
+#337 := [mp~ #279 #318]: #274
+#915 := [mp #337 #914]: #910
+#686 := (not #910)
+#499 := (or #686 #505 #643)
+#495 := (or #686 #494)
+#482 := (iff #495 #499)
+#486 := [rewrite]: #482
+#500 := [quant-inst]: #495
+#487 := [mp #500 #486]: #499
+#954 := [unit-resolution #487 #915]: #494
+#976 := [unit-resolution #954 #953]: #505
+#1021 := [unit-resolution #976 #1003]: false
+#1022 := [lemma #1021]: #643
+#624 := (or #635 #642)
+#203 := (= #9 #45)
+#228 := (or #203 #222)
+#904 := (forall (vars (?v0 int)) (:pat #903) #228)
+#233 := (forall (vars (?v0 int)) #228)
+#907 := (iff #233 #904)
+#905 := (iff #228 #228)
+#906 := [refl]: #905
+#908 := [quant-intro #906]: #907
+#315 := (~ #233 #233)
+#332 := (~ #228 #228)
+#333 := [refl]: #332
+#316 := [nnf-pos #333]: #315
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#236 := (iff #48 #233)
+#210 := (not #43)
+#211 := (or #210 #203)
+#216 := (forall (vars (?v0 int)) #211)
+#234 := (iff #216 #233)
+#231 := (iff #211 #228)
+#225 := (or #222 #203)
+#229 := (iff #225 #228)
+#230 := [rewrite]: #229
+#226 := (iff #211 #225)
+#223 := (iff #210 #222)
+#220 := (iff #43 #219)
+#221 := [rewrite]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#232 := [trans #227 #230]: #231
+#235 := [quant-intro #232]: #234
+#217 := (iff #48 #216)
+#214 := (iff #47 #211)
+#207 := (implies #43 #203)
+#212 := (iff #207 #211)
+#213 := [rewrite]: #212
+#208 := (iff #47 #207)
+#205 := (iff #46 #203)
+#206 := [rewrite]: #205
+#209 := [monotonicity #206]: #208
+#215 := [trans #209 #213]: #214
+#218 := [quant-intro #215]: #217
+#237 := [trans #218 #235]: #236
+#202 := [asserted]: #48
+#238 := [mp #202 #237]: #233
+#334 := [mp~ #238 #316]: #233
+#909 := [mp #334 #908]: #904
+#731 := (not #904)
+#629 := (or #731 #635 #642)
+#653 := (>= #281 0::int)
+#654 := (not #653)
+#645 := (= #281 #287)
+#646 := (or #645 #654)
+#633 := (or #731 #646)
+#619 := (iff #633 #629)
+#634 := (or #731 #624)
+#631 := (iff #634 #629)
+#617 := [rewrite]: #631
+#627 := (iff #633 #634)
+#625 := (iff #646 #624)
+#632 := (iff #654 #642)
+#641 := (iff #653 #643)
+#637 := [rewrite]: #641
+#622 := [monotonicity #637]: #632
+#638 := (iff #645 #635)
+#640 := [rewrite]: #638
+#628 := [monotonicity #640 #622]: #625
+#630 := [monotonicity #628]: #627
+#620 := [trans #630 #617]: #619
+#626 := [quant-inst]: #633
+#618 := [mp #626 #620]: #629
+#1080 := [unit-resolution #618 #909]: #624
+#1081 := [unit-resolution #1080 #1022]: #635
+#1082 := (not #635)
+#1083 := (or #1082 #621)
+#1084 := [th-lemma]: #1083
+#1085 := [unit-resolution #1084 #1081]: #621
+#603 := (>= #647 0::int)
+#1125 := (or #1082 #603)
+#1126 := [th-lemma]: #1125
+#1127 := [unit-resolution #1126 #1081]: #603
+#639 := (<= #58 0::int)
+#1004 := (= #54 #293)
+#1019 := (not #1004)
+#753 := (f5 #54)
+#1015 := (= #753 #298)
+#1013 := (= #298 #753)
+#1010 := (= #293 #54)
+#1009 := [hypothesis]: #1004
+#1011 := [symm #1009]: #1010
+#1014 := [monotonicity #1011]: #1013
+#1016 := [symm #1014]: #1015
+#754 := (= f7 #753)
+#729 := (or #728 #754)
+#730 := [quant-inst]: #729
+#1012 := [unit-resolution #730 #902]: #754
+#1017 := [trans #1012 #1016]: #301
+#304 := (not #301)
+#59 := (* #58 3::int)
+#60 := (f5 #59)
+#61 := (f6 #60)
+#65 := (+ #61 #64)
+#66 := (f5 #65)
+#67 := (= f7 #66)
+#68 := (not #67)
+#305 := (iff #68 #304)
+#302 := (iff #67 #301)
+#299 := (= #66 #298)
+#296 := (= #65 #293)
+#290 := (+ #287 #64)
+#294 := (= #290 #293)
+#295 := [rewrite]: #294
+#291 := (= #65 #290)
+#288 := (= #61 #287)
+#285 := (= #60 #284)
+#282 := (= #59 #281)
+#283 := [rewrite]: #282
+#286 := [monotonicity #283]: #285
+#289 := [monotonicity #286]: #288
+#292 := [monotonicity #289]: #291
+#297 := [trans #292 #295]: #296
+#300 := [monotonicity #297]: #299
+#303 := [monotonicity #300]: #302
+#306 := [monotonicity #303]: #305
+#280 := [asserted]: #68
+#309 := [mp #280 #306]: #304
+#1018 := [unit-resolution #309 #1017]: false
+#1020 := [lemma #1018]: #1019
+#1005 := (* -1::int #293)
+#1006 := (+ #54 #1005)
+#1007 := (<= #1006 0::int)
+#830 := (mod #54 3::int)
+#722 := (* -1::int #830)
+#815 := (+ #62 #722)
+#771 := (>= #815 0::int)
+#812 := (= #815 0::int)
+#473 := -3::int
+#552 := (* -1::int #54)
+#832 := (mod #552 -3::int)
+#807 := (+ #62 #832)
+#809 := (= #807 0::int)
+#538 := (<= #54 0::int)
+#854 := (not #538)
+#532 := (>= #54 0::int)
+#857 := (not #532)
+#578 := (or #857 #854)
+#800 := (ite #578 #812 #809)
+#878 := (= #54 0::int)
+#715 := (not #878)
+#876 := (= #56 0::int)
+#714 := (not #876)
+#1038 := (iff #977 #714)
+#1036 := (iff #650 #876)
+#1034 := (iff #876 #650)
+#695 := (= #56 #58)
+#680 := (>= #56 0::int)
+#1029 := [hypothesis]: #977
+#651 := (or #650 #680)
+#655 := (or #686 #650 #680)
+#498 := (or #686 #651)
+#652 := (iff #498 #655)
+#657 := [rewrite]: #652
+#656 := [quant-inst]: #498
+#636 := [mp #656 #657]: #655
+#1030 := [unit-resolution #636 #915]: #651
+#1031 := [unit-resolution #1030 #1029]: #680
+#685 := (not #680)
+#681 := (or #685 #695)
+#659 := (or #731 #685 #695)
+#696 := (or #695 #685)
+#666 := (or #731 #696)
+#675 := (iff #666 #659)
+#669 := (or #731 #681)
+#673 := (iff #669 #659)
+#674 := [rewrite]: #673
+#670 := (iff #666 #669)
+#697 := (iff #696 #681)
+#658 := [rewrite]: #697
+#672 := [monotonicity #658]: #670
+#676 := [trans #672 #674]: #675
+#668 := [quant-inst]: #666
+#677 := [mp #668 #676]: #659
+#1032 := [unit-resolution #677 #909]: #681
+#1033 := [unit-resolution #1032 #1031]: #695
+#1035 := [monotonicity #1033]: #1034
+#1037 := [symm #1035]: #1036
+#1039 := [monotonicity #1037]: #1038
+#1040 := [mp #1029 #1039]: #714
+#1042 := (or #715 #876)
+#573 := (div #552 -3::int)
+#852 := (* -1::int #573)
+#563 := (+ #56 #852)
+#566 := (= #563 0::int)
+#557 := (div #54 3::int)
+#485 := (* -1::int #557)
+#558 := (+ #56 #485)
+#555 := (= #558 0::int)
+#560 := (ite #578 #555 #566)
+#843 := (ite #878 #876 #560)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#881 := (pattern #10)
+#96 := (* -1::int #9)
+#93 := (* -1::int #8)
+#99 := (div #93 #96)
+#383 := (* -1::int #99)
+#384 := (+ #10 #383)
+#385 := (= #384 0::int)
+#21 := (div #8 #9)
+#380 := (* -1::int #21)
+#381 := (+ #10 #380)
+#382 := (= #381 0::int)
+#118 := (<= #9 0::int)
+#114 := (<= #8 0::int)
+#338 := (or #114 #118)
+#339 := (not #338)
+#125 := (>= #8 0::int)
+#321 := (or #118 #125)
+#322 := (not #321)
+#345 := (or #322 #339)
+#386 := (ite #345 #382 #385)
+#379 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#387 := (ite #14 #379 #386)
+#882 := (forall (vars (?v0 int) (?v1 int)) (:pat #881) #387)
+#390 := (forall (vars (?v0 int) (?v1 int)) #387)
+#885 := (iff #390 #882)
+#883 := (iff #387 #387)
+#884 := [refl]: #883
+#886 := [quant-intro #884]: #885
+#350 := (ite #345 #21 #99)
+#353 := (ite #14 0::int #350)
+#356 := (= #10 #353)
+#359 := (forall (vars (?v0 int) (?v1 int)) #356)
+#391 := (iff #359 #390)
+#388 := (iff #356 #387)
+#389 := [rewrite]: #388
+#392 := [quant-intro #389]: #391
+#126 := (not #125)
+#119 := (not #118)
+#129 := (and #119 #126)
+#115 := (not #114)
+#122 := (and #115 #119)
+#132 := (or #122 #129)
+#135 := (ite #132 #21 #99)
+#138 := (ite #14 0::int #135)
+#141 := (= #10 #138)
+#144 := (forall (vars (?v0 int) (?v1 int)) #141)
+#360 := (iff #144 #359)
+#357 := (iff #141 #356)
+#354 := (= #138 #353)
+#351 := (= #135 #350)
+#348 := (iff #132 #345)
+#342 := (or #339 #322)
+#346 := (iff #342 #345)
+#347 := [rewrite]: #346
+#343 := (iff #132 #342)
+#340 := (iff #129 #322)
+#341 := [rewrite]: #340
+#319 := (iff #122 #339)
+#320 := [rewrite]: #319
+#344 := [monotonicity #320 #341]: #343
+#349 := [trans #344 #347]: #348
+#352 := [monotonicity #349]: #351
+#355 := [monotonicity #352]: #354
+#358 := [monotonicity #355]: #357
+#361 := [quant-intro #358]: #360
+#325 := (~ #144 #144)
+#323 := (~ #141 #141)
+#324 := [refl]: #323
+#326 := [nnf-pos #324]: #325
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#147 := (iff #28 #144)
+#86 := (and #16 #18)
+#89 := (or #17 #86)
+#102 := (ite #89 #21 #99)
+#105 := (ite #14 0::int #102)
+#108 := (= #10 #105)
+#111 := (forall (vars (?v0 int) (?v1 int)) #108)
+#145 := (iff #111 #144)
+#142 := (iff #108 #141)
+#139 := (= #105 #138)
+#136 := (= #102 #135)
+#133 := (iff #89 #132)
+#130 := (iff #86 #129)
+#127 := (iff #18 #126)
+#128 := [rewrite]: #127
+#120 := (iff #16 #119)
+#121 := [rewrite]: #120
+#131 := [monotonicity #121 #128]: #130
+#123 := (iff #17 #122)
+#116 := (iff #15 #115)
+#117 := [rewrite]: #116
+#124 := [monotonicity #117 #121]: #123
+#134 := [monotonicity #124 #131]: #133
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [quant-intro #143]: #145
+#112 := (iff #28 #111)
+#109 := (iff #27 #108)
+#106 := (= #26 #105)
+#103 := (= #25 #102)
+#100 := (= #24 #99)
+#97 := (= #23 #96)
+#98 := [rewrite]: #97
+#94 := (= #22 #93)
+#95 := [rewrite]: #94
+#101 := [monotonicity #95 #98]: #100
+#90 := (iff #20 #89)
+#87 := (iff #19 #86)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#104 := [monotonicity #91 #101]: #103
+#107 := [monotonicity #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [quant-intro #110]: #112
+#148 := [trans #113 #146]: #147
+#85 := [asserted]: #28
+#149 := [mp #85 #148]: #144
+#310 := [mp~ #149 #326]: #144
+#362 := [mp #310 #361]: #359
+#393 := [mp #362 #392]: #390
+#887 := [mp #393 #886]: #882
+#837 := (not #882)
+#838 := (or #837 #843)
+#467 := (* -1::int 3::int)
+#553 := (div #552 #467)
+#554 := (* -1::int #553)
+#545 := (+ #56 #554)
+#556 := (= #545 0::int)
+#559 := (<= 3::int 0::int)
+#873 := (or #538 #559)
+#875 := (not #873)
+#662 := (or #559 #532)
+#869 := (not #662)
+#543 := (or #869 #875)
+#544 := (ite #543 #555 #556)
+#877 := (= 3::int 0::int)
+#879 := (or #878 #877)
+#874 := (ite #879 #876 #544)
+#833 := (or #837 #874)
+#839 := (iff #833 #838)
+#835 := (iff #838 #838)
+#841 := [rewrite]: #835
+#847 := (iff #874 #843)
+#842 := (iff #544 #560)
+#844 := (iff #556 #566)
+#564 := (= #545 #563)
+#849 := (= #554 #852)
+#574 := (= #553 #573)
+#850 := (= #467 -3::int)
+#851 := [rewrite]: #850
+#848 := [monotonicity #851]: #574
+#853 := [monotonicity #848]: #849
+#565 := [monotonicity #853]: #564
+#845 := [monotonicity #565]: #844
+#579 := (iff #543 #578)
+#855 := (iff #875 #854)
+#865 := (iff #873 #538)
+#864 := (or #538 false)
+#507 := (iff #864 #538)
+#867 := [rewrite]: #507
+#866 := (iff #873 #864)
+#519 := (iff #559 false)
+#520 := [rewrite]: #519
+#506 := [monotonicity #520]: #866
+#868 := [trans #506 #867]: #865
+#577 := [monotonicity #868]: #855
+#863 := (iff #869 #857)
+#861 := (iff #662 #532)
+#521 := (or false #532)
+#859 := (iff #521 #532)
+#860 := [rewrite]: #859
+#522 := (iff #662 #521)
+#858 := [monotonicity #520]: #522
+#862 := [trans #858 #860]: #861
+#501 := [monotonicity #862]: #863
+#580 := [monotonicity #501 #577]: #579
+#846 := [monotonicity #580 #845]: #842
+#515 := (iff #879 #878)
+#530 := (or #878 false)
+#531 := (iff #530 #878)
+#872 := [rewrite]: #531
+#535 := (iff #879 #530)
+#880 := (iff #877 false)
+#870 := [rewrite]: #880
+#871 := [monotonicity #870]: #535
+#856 := [trans #871 #872]: #515
+#836 := [monotonicity #856 #846]: #847
+#840 := [monotonicity #836]: #839
+#682 := [trans #840 #841]: #839
+#834 := [quant-inst]: #833
+#683 := [mp #834 #682]: #838
+#1041 := [unit-resolution #683 #887]: #843
+#813 := (not #843)
+#810 := (or #813 #715 #876)
+#811 := [def-axiom]: #810
+#1043 := [unit-resolution #811 #1041]: #1042
+#1044 := [unit-resolution #1043 #1040]: #715
+#1046 := (or #878 #800)
+#803 := (= #62 0::int)
+#802 := (ite #878 #803 #800)
+#29 := (f4 #8 #9)
+#888 := (pattern #29)
+#151 := (mod #93 #96)
+#399 := (+ #29 #151)
+#400 := (= #399 0::int)
+#30 := (mod #8 #9)
+#396 := (* -1::int #30)
+#397 := (+ #29 #396)
+#398 := (= #397 0::int)
+#401 := (ite #345 #398 #400)
+#395 := (= #29 0::int)
+#402 := (ite #12 #395 #401)
+#394 := (= #8 #29)
+#403 := (ite #13 #394 #402)
+#889 := (forall (vars (?v0 int) (?v1 int)) (:pat #888) #403)
+#406 := (forall (vars (?v0 int) (?v1 int)) #403)
+#892 := (iff #406 #889)
+#890 := (iff #403 #403)
+#891 := [refl]: #890
+#893 := [quant-intro #891]: #892
+#157 := (* -1::int #151)
+#363 := (ite #345 #30 #157)
+#366 := (ite #12 0::int #363)
+#369 := (ite #13 #8 #366)
+#372 := (= #29 #369)
+#375 := (forall (vars (?v0 int) (?v1 int)) #372)
+#407 := (iff #375 #406)
+#404 := (iff #372 #403)
+#405 := [rewrite]: #404
+#408 := [quant-intro #405]: #407
+#177 := (ite #132 #30 #157)
+#180 := (ite #12 0::int #177)
+#183 := (ite #13 #8 #180)
+#186 := (= #29 #183)
+#189 := (forall (vars (?v0 int) (?v1 int)) #186)
+#376 := (iff #189 #375)
+#373 := (iff #186 #372)
+#370 := (= #183 #369)
+#367 := (= #180 #366)
+#364 := (= #177 #363)
+#365 := [monotonicity #349]: #364
+#368 := [monotonicity #365]: #367
+#371 := [monotonicity #368]: #370
+#374 := [monotonicity #371]: #373
+#377 := [quant-intro #374]: #376
+#311 := (~ #189 #189)
+#307 := (~ #186 #186)
+#327 := [refl]: #307
+#312 := [nnf-pos #327]: #311
+#31 := (mod #22 #23)
+#32 := (- #31)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#192 := (iff #37 #189)
+#162 := (ite #89 #30 #157)
+#165 := (ite #12 0::int #162)
+#168 := (ite #13 #8 #165)
+#171 := (= #29 #168)
+#174 := (forall (vars (?v0 int) (?v1 int)) #171)
+#190 := (iff #174 #189)
+#187 := (iff #171 #186)
+#184 := (= #168 #183)
+#181 := (= #165 #180)
+#178 := (= #162 #177)
+#179 := [monotonicity #134]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#175 := (iff #37 #174)
+#172 := (iff #36 #171)
+#169 := (= #35 #168)
+#166 := (= #34 #165)
+#163 := (= #33 #162)
+#160 := (= #32 #157)
+#154 := (- #151)
+#158 := (= #154 #157)
+#159 := [rewrite]: #158
+#155 := (= #32 #154)
+#152 := (= #31 #151)
+#153 := [monotonicity #95 #98]: #152
+#156 := [monotonicity #153]: #155
+#161 := [trans #156 #159]: #160
+#164 := [monotonicity #91 #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#193 := [trans #176 #191]: #192
+#150 := [asserted]: #37
+#194 := [mp #150 #193]: #189
+#328 := [mp~ #194 #312]: #189
+#378 := [mp #328 #377]: #375
+#409 := [mp #378 #408]: #406
+#894 := [mp #409 #893]: #889
+#780 := (not #889)
+#782 := (or #780 #802)
+#719 := (mod #552 #467)
+#720 := (+ #62 #719)
+#721 := (= #720 0::int)
+#816 := (ite #543 #812 #721)
+#805 := (ite #878 #803 #816)
+#797 := (= #54 #62)
+#794 := (ite #877 #797 #805)
+#783 := (or #780 #794)
+#781 := (iff #783 #782)
+#765 := (iff #782 #782)
+#766 := [rewrite]: #765
+#793 := (iff #794 #802)
+#789 := (ite false #797 #802)
+#792 := (iff #789 #802)
+#788 := [rewrite]: #792
+#790 := (iff #794 #789)
+#786 := (iff #805 #802)
+#801 := (iff #816 #800)
+#798 := (iff #721 #809)
+#808 := (= #720 #807)
+#796 := (= #719 #832)
+#806 := [monotonicity #851]: #796
+#804 := [monotonicity #806]: #808
+#799 := [monotonicity #804]: #798
+#795 := [monotonicity #580 #799]: #801
+#787 := [monotonicity #795]: #786
+#791 := [monotonicity #870 #787]: #790
+#779 := [trans #791 #788]: #793
+#785 := [monotonicity #779]: #781
+#768 := [trans #785 #766]: #781
+#784 := [quant-inst]: #783
+#769 := [mp #784 #768]: #782
+#1045 := [unit-resolution #769 #894]: #802
+#762 := (not #802)
+#764 := (or #762 #878 #800)
+#750 := [def-axiom]: #764
+#1047 := [unit-resolution #750 #1045]: #1046
+#1048 := [unit-resolution #1047 #1044]: #800
+#542 := (f6 #753)
+#533 := (= #542 0::int)
+#1057 := (not #533)
+#1058 := (iff #715 #1057)
+#1055 := (iff #878 #533)
+#1053 := (iff #533 #878)
+#1051 := (= #542 #54)
+#1049 := (= #753 f7)
+#1050 := [symm #1012]: #1049
+#1052 := [monotonicity #1050]: #1051
+#1054 := [monotonicity #1052]: #1053
+#1056 := [symm #1054]: #1055
+#1059 := [monotonicity #1056]: #1058
+#1060 := [mp #1044 #1059]: #1057
+#537 := (or #532 #533)
+#523 := (or #686 #532 #533)
+#536 := (or #533 #532)
+#524 := (or #686 #536)
+#510 := (iff #524 #523)
+#526 := (or #686 #537)
+#517 := (iff #526 #523)
+#529 := [rewrite]: #517
+#527 := (iff #524 #526)
+#516 := (iff #536 #537)
+#518 := [rewrite]: #516
+#528 := [monotonicity #518]: #527
+#512 := [trans #528 #529]: #510
+#525 := [quant-inst]: #524
+#513 := [mp #525 #512]: #523
+#1061 := [unit-resolution #513 #915]: #537
+#1062 := [unit-resolution #1061 #1060]: #532
+#1065 := (or #854 #857)
+#1063 := (or #878 #854 #857)
+#1064 := [th-lemma]: #1063
+#1066 := [unit-resolution #1064 #1044]: #1065
+#1067 := [unit-resolution #1066 #1062]: #854
+#827 := (or #578 #538)
+#828 := [def-axiom]: #827
+#1068 := [unit-resolution #828 #1067]: #578
+#829 := (not #578)
+#774 := (not #800)
+#775 := (or #774 #829 #812)
+#776 := [def-axiom]: #775
+#1069 := [unit-resolution #776 #1068 #1048]: #812
+#778 := (not #812)
+#1070 := (or #778 #771)
+#1071 := [th-lemma]: #1070
+#1072 := [unit-resolution #1071 #1069]: #771
+#469 := (* -3::int #557)
+#472 := (+ #469 #722)
+#916 := (+ #54 #472)
+#947 := (<= #916 0::int)
+#471 := (= #916 0::int)
+#1 := true
+#83 := [true-axiom]: true
+#1073 := (or false #471)
+#1074 := [th-lemma]: #1073
+#1075 := [unit-resolution #1074 #83]: #471
+#1076 := (not #471)
+#1077 := (or #1076 #947)
+#1078 := [th-lemma]: #1077
+#1079 := [unit-resolution #1078 #1075]: #947
+#660 := (* -1::int #58)
+#678 := (+ #56 #660)
+#648 := (<= #678 0::int)
+#1086 := (not #695)
+#1087 := (or #1086 #648)
+#1088 := [th-lemma]: #1087
+#1089 := [unit-resolution #1088 #1033]: #648
+#825 := (>= #558 0::int)
+#1090 := (or #878 #560)
+#814 := (or #813 #878 #560)
+#699 := [def-axiom]: #814
+#1091 := [unit-resolution #699 #1041]: #1090
+#1092 := [unit-resolution #1091 #1044]: #560
+#664 := (not #560)
+#817 := (or #664 #829 #555)
+#818 := [def-axiom]: #817
+#1093 := [unit-resolution #818 #1068 #1092]: #555
+#819 := (not #555)
+#1094 := (or #819 #825)
+#1095 := [th-lemma]: #1094
+#1096 := [unit-resolution #1095 #1093]: #825
+#712 := (* -1::int #64)
+#713 := (+ #62 #712)
+#723 := (<= #713 0::int)
+#745 := (= #62 #64)
+#742 := (>= #62 0::int)
+#921 := (>= #830 0::int)
+#1097 := (or false #921)
+#1098 := [th-lemma]: #1097
+#1099 := [unit-resolution #1098 #83]: #921
+#1101 := (not #771)
+#1100 := (not #921)
+#1102 := (or #742 #1100 #1101)
+#1103 := [th-lemma]: #1102
+#1104 := [unit-resolution #1103 #1099 #1072]: #742
+#743 := (not #742)
+#671 := (or #743 #745)
+#732 := (or #731 #743 #745)
+#725 := (or #745 #743)
+#727 := (or #731 #725)
+#702 := (iff #727 #732)
+#701 := (or #731 #671)
+#698 := (iff #701 #732)
+#700 := [rewrite]: #698
+#708 := (iff #727 #701)
+#726 := (iff #725 #671)
+#707 := [rewrite]: #726
+#667 := [monotonicity #707]: #708
+#709 := [trans #667 #700]: #702
+#733 := [quant-inst]: #727
+#711 := [mp #733 #709]: #732
+#1105 := [unit-resolution #711 #909]: #671
+#1106 := [unit-resolution #1105 #1104]: #745
+#1107 := (not #745)
+#1108 := (or #1107 #723)
+#1109 := [th-lemma]: #1108
+#1110 := [unit-resolution #1109 #1106]: #723
+#1115 := (not #621)
+#1114 := (not #723)
+#1113 := (not #825)
+#1112 := (not #648)
+#1111 := (not #947)
+#1116 := (or #1007 #1111 #1112 #1113 #1101 #1114 #1115)
+#1117 := [th-lemma]: #1116
+#1118 := [unit-resolution #1117 #1110 #1096 #1089 #1085 #1079 #1072]: #1007
+#1008 := (>= #1006 0::int)
+#770 := (<= #815 0::int)
+#1119 := (or #778 #770)
+#1120 := [th-lemma]: #1119
+#1121 := [unit-resolution #1120 #1069]: #770
+#948 := (>= #916 0::int)
+#1122 := (or #1076 #948)
+#1123 := [th-lemma]: #1122
+#1124 := [unit-resolution #1123 #1075]: #948
+#649 := (>= #678 0::int)
+#1128 := (or #1086 #649)
+#1129 := [th-lemma]: #1128
+#1130 := [unit-resolution #1129 #1033]: #649
+#831 := (<= #558 0::int)
+#1131 := (or #819 #831)
+#1132 := [th-lemma]: #1131
+#1133 := [unit-resolution #1132 #1093]: #831
+#703 := (>= #713 0::int)
+#1134 := (or #1107 #703)
+#1135 := [th-lemma]: #1134
+#1136 := [unit-resolution #1135 #1106]: #703
+#999 := (not #603)
+#1141 := (not #703)
+#1140 := (not #770)
+#1139 := (not #831)
+#1138 := (not #649)
+#1137 := (not #948)
+#1142 := (or #1008 #1137 #1138 #1139 #1140 #1141 #999)
+#1143 := [th-lemma]: #1142
+#1144 := [unit-resolution #1143 #1136 #1133 #1130 #1127 #1124 #1121]: #1008
+#1146 := (not #1008)
+#1145 := (not #1007)
+#1147 := (or #1004 #1145 #1146)
+#1148 := [th-lemma]: #1147
+#1149 := [unit-resolution #1148 #1144 #1118 #1020]: false
+#1150 := [lemma #1149]: #650
+#1198 := (or #977 #639)
+#1199 := [th-lemma]: #1198
+#1200 := [unit-resolution #1199 #1150]: #639
+#1202 := [th-lemma #1022 #1200 #1127 #1085]: #1201
+#1204 := [symm #1202]: #1203
+#1210 := [monotonicity #1204]: #1209
+#1218 := [symm #1210]: #1217
+#1223 := (= f7 #749)
+#755 := (= #63 #749)
+#735 := (or #728 #755)
+#736 := [quant-inst]: #735
+#1197 := [unit-resolution #736 #902]: #755
+#1221 := (= f7 #63)
+#1215 := (= #623 #63)
+#1213 := (= #63 #623)
+#1195 := (= #62 #58)
+#1152 := (= 0::int #58)
+#1153 := [symm #1150]: #1152
+#1154 := [hypothesis]: #715
+#1164 := [unit-resolution #1047 #1154]: #800
+#1165 := [mp #1154 #1059]: #1057
+#1166 := [unit-resolution #1061 #1165]: #532
+#1167 := [unit-resolution #1064 #1154]: #1065
+#1168 := [unit-resolution #1167 #1166]: #854
+#1169 := [unit-resolution #828 #1168]: #578
+#1170 := [unit-resolution #776 #1169 #1164]: #812
+#1171 := [unit-resolution #1071 #1170]: #771
+#1172 := [unit-resolution #1103 #1099 #1171]: #742
+#1173 := [unit-resolution #1105 #1172]: #745
+#1174 := [unit-resolution #1109 #1173]: #723
+#1175 := [unit-resolution #1091 #1154]: #560
+#1176 := [unit-resolution #818 #1169 #1175]: #555
+#1177 := [unit-resolution #1095 #1176]: #825
+#1162 := (or #680 #857 #1113)
+#938 := (>= #830 3::int)
+#939 := (not #938)
+#1155 := (or false #939)
+#1156 := [th-lemma]: #1155
+#1157 := [unit-resolution #1156 #83]: #939
+#1158 := [hypothesis]: #825
+#1159 := [hypothesis]: #532
+#1160 := [hypothesis]: #685
+#1161 := [th-lemma #1160 #1159 #1079 #1158 #1157]: false
+#1163 := [lemma #1161]: #1162
+#1178 := [unit-resolution #1163 #1166 #1177]: #680
+#1179 := [unit-resolution #1032 #1178]: #695
+#1180 := [unit-resolution #1088 #1179]: #648
+#1181 := (or #1007 #1111 #1112 #1113 #1101 #1114)
+#1182 := [unit-resolution #1117 #1085]: #1181
+#1183 := [unit-resolution #1182 #1180 #1177 #1174 #1079 #1171]: #1007
+#1184 := [unit-resolution #1120 #1170]: #770
+#1185 := [unit-resolution #1135 #1173]: #703
+#1186 := [unit-resolution #1132 #1176]: #831
+#1187 := [unit-resolution #1129 #1179]: #649
+#1188 := (or #1008 #1137 #1138 #1139 #1140 #1141)
+#1189 := [unit-resolution #1143 #1127]: #1188
+#1190 := [unit-resolution #1189 #1187 #1186 #1185 #1124 #1184]: #1008
+#1191 := (or #1145 #1146)
+#1192 := [unit-resolution #1148 #1020]: #1191
+#1193 := [unit-resolution #1192 #1190 #1183]: false
+#1194 := [lemma #1193]: #878
+#1028 := (or #715 #803)
+#763 := (or #762 #715 #803)
+#758 := [def-axiom]: #763
+#1023 := [unit-resolution #758 #1045]: #1028
+#1151 := [unit-resolution #1023 #1194]: #803
+#1196 := [trans #1151 #1153]: #1195
+#1214 := [monotonicity #1196]: #1213
+#1216 := [symm #1214]: #1215
+#1219 := (= f7 #623)
+#1207 := (= #753 #623)
+#1205 := (= #54 #58)
+#1206 := [trans #1194 #1153]: #1205
+#1208 := [monotonicity #1206]: #1207
+#1220 := [trans #1012 #1208]: #1219
+#1222 := [trans #1220 #1216]: #1221
+#1224 := [trans #1222 #1197]: #1223
+#1225 := [trans #1224 #1218]: #301
+[unit-resolution #309 #1225]: false
+unsat
+3ad2a2c46e63e49544fff8c46b154151bf51fb1e 244 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#38 := (f3 0::int 0::int)
+#39 := (= #38 0::int)
+#40 := (not #39)
+#167 := [asserted]: #40
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#736 := (pattern #10)
+#64 := -1::int
+#68 := (* -1::int #9)
+#65 := (* -1::int #8)
+#71 := (div #65 #68)
+#238 := (* -1::int #71)
+#239 := (+ #10 #238)
+#240 := (= #239 0::int)
+#21 := (div #8 #9)
+#235 := (* -1::int #21)
+#236 := (+ #10 #235)
+#237 := (= #236 0::int)
+#90 := (<= #9 0::int)
+#86 := (<= #8 0::int)
+#193 := (or #86 #90)
+#194 := (not #193)
+#97 := (>= #8 0::int)
+#185 := (or #90 #97)
+#186 := (not #185)
+#200 := (or #186 #194)
+#241 := (ite #200 #237 #240)
+#234 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#242 := (ite #14 #234 #241)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #242)
+#245 := (forall (vars (?v0 int) (?v1 int)) #242)
+#740 := (iff #245 #737)
+#738 := (iff #242 #242)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#205 := (ite #200 #21 #71)
+#208 := (ite #14 0::int #205)
+#211 := (= #10 #208)
+#214 := (forall (vars (?v0 int) (?v1 int)) #211)
+#246 := (iff #214 #245)
+#243 := (iff #211 #242)
+#244 := [rewrite]: #243
+#247 := [quant-intro #244]: #246
+#98 := (not #97)
+#91 := (not #90)
+#101 := (and #91 #98)
+#87 := (not #86)
+#94 := (and #87 #91)
+#104 := (or #94 #101)
+#107 := (ite #104 #21 #71)
+#110 := (ite #14 0::int #107)
+#113 := (= #10 #110)
+#116 := (forall (vars (?v0 int) (?v1 int)) #113)
+#215 := (iff #116 #214)
+#212 := (iff #113 #211)
+#209 := (= #110 #208)
+#206 := (= #107 #205)
+#203 := (iff #104 #200)
+#197 := (or #194 #186)
+#201 := (iff #197 #200)
+#202 := [rewrite]: #201
+#198 := (iff #104 #197)
+#195 := (iff #101 #186)
+#196 := [rewrite]: #195
+#183 := (iff #94 #194)
+#184 := [rewrite]: #183
+#199 := [monotonicity #184 #196]: #198
+#204 := [trans #199 #202]: #203
+#207 := [monotonicity #204]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [quant-intro #213]: #215
+#189 := (~ #116 #116)
+#187 := (~ #113 #113)
+#188 := [refl]: #187
+#190 := [nnf-pos #188]: #189
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#119 := (iff #28 #116)
+#58 := (and #16 #18)
+#61 := (or #17 #58)
+#74 := (ite #61 #21 #71)
+#77 := (ite #14 0::int #74)
+#80 := (= #10 #77)
+#83 := (forall (vars (?v0 int) (?v1 int)) #80)
+#117 := (iff #83 #116)
+#114 := (iff #80 #113)
+#111 := (= #77 #110)
+#108 := (= #74 #107)
+#105 := (iff #61 #104)
+#102 := (iff #58 #101)
+#99 := (iff #18 #98)
+#100 := [rewrite]: #99
+#92 := (iff #16 #91)
+#93 := [rewrite]: #92
+#103 := [monotonicity #93 #100]: #102
+#95 := (iff #17 #94)
+#88 := (iff #15 #87)
+#89 := [rewrite]: #88
+#96 := [monotonicity #89 #93]: #95
+#106 := [monotonicity #96 #103]: #105
+#109 := [monotonicity #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [quant-intro #115]: #117
+#84 := (iff #28 #83)
+#81 := (iff #27 #80)
+#78 := (= #26 #77)
+#75 := (= #25 #74)
+#72 := (= #24 #71)
+#69 := (= #23 #68)
+#70 := [rewrite]: #69
+#66 := (= #22 #65)
+#67 := [rewrite]: #66
+#73 := [monotonicity #67 #70]: #72
+#62 := (iff #20 #61)
+#59 := (iff #19 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#76 := [monotonicity #63 #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [quant-intro #82]: #84
+#120 := [trans #85 #118]: #119
+#57 := [asserted]: #28
+#121 := [mp #57 #120]: #116
+#180 := [mp~ #121 #190]: #116
+#217 := [mp #180 #216]: #214
+#248 := [mp #217 #247]: #245
+#742 := [mp #248 #741]: #737
+#694 := (not #737)
+#695 := (or #694 #39)
+#322 := (* -1::int 0::int)
+#407 := (div #322 #322)
+#408 := (* -1::int #407)
+#409 := (+ #38 #408)
+#400 := (= #409 0::int)
+#411 := (div 0::int 0::int)
+#412 := (* -1::int #411)
+#340 := (+ #38 #412)
+#413 := (= #340 0::int)
+#410 := (<= 0::int 0::int)
+#414 := (or #410 #410)
+#393 := (not #414)
+#728 := (>= 0::int 0::int)
+#730 := (or #410 #728)
+#387 := (not #730)
+#517 := (or #387 #393)
+#724 := (ite #517 #413 #400)
+#398 := (= 0::int 0::int)
+#399 := (or #398 #398)
+#731 := (ite #399 #39 #724)
+#690 := (or #694 #731)
+#537 := (iff #690 #695)
+#539 := (iff #695 #695)
+#681 := [rewrite]: #539
+#688 := (iff #731 #39)
+#1 := true
+#698 := (ite true #39 #413)
+#692 := (iff #698 #39)
+#693 := [rewrite]: #692
+#702 := (iff #731 #698)
+#697 := (iff #724 #413)
+#420 := (ite false #413 #413)
+#700 := (iff #420 #413)
+#415 := [rewrite]: #700
+#421 := (iff #724 #420)
+#418 := (iff #400 #413)
+#704 := (= #409 #340)
+#703 := (= #408 #412)
+#428 := (= #407 #411)
+#705 := (= #322 0::int)
+#706 := [rewrite]: #705
+#429 := [monotonicity #706 #706]: #428
+#707 := [monotonicity #429]: #703
+#708 := [monotonicity #707]: #704
+#419 := [monotonicity #708]: #418
+#435 := (iff #517 false)
+#709 := (or false false)
+#433 := (iff #709 false)
+#434 := [rewrite]: #433
+#710 := (iff #517 #709)
+#720 := (iff #393 false)
+#713 := (not true)
+#716 := (iff #713 false)
+#717 := [rewrite]: #716
+#362 := (iff #393 #713)
+#721 := (iff #414 true)
+#734 := (or true true)
+#725 := (iff #734 true)
+#385 := [rewrite]: #725
+#356 := (iff #414 #734)
+#386 := (iff #410 true)
+#727 := [rewrite]: #386
+#719 := [monotonicity #727 #727]: #356
+#361 := [trans #719 #385]: #721
+#722 := [monotonicity #361]: #362
+#723 := [trans #722 #717]: #720
+#712 := (iff #387 false)
+#714 := (iff #387 #713)
+#376 := (iff #730 true)
+#374 := (iff #730 #734)
+#370 := (iff #728 true)
+#711 := [rewrite]: #370
+#375 := [monotonicity #727 #711]: #374
+#377 := [trans #375 #385]: #376
+#715 := [monotonicity #377]: #714
+#718 := [trans #715 #717]: #712
+#432 := [monotonicity #718 #723]: #710
+#328 := [trans #432 #434]: #435
+#699 := [monotonicity #328 #419]: #421
+#701 := [trans #699 #415]: #697
+#390 := (iff #399 true)
+#729 := (iff #399 #734)
+#732 := (iff #398 true)
+#733 := [rewrite]: #732
+#735 := [monotonicity #733 #733]: #729
+#726 := [trans #735 #385]: #390
+#691 := [monotonicity #726 #701]: #702
+#689 := [trans #691 #693]: #688
+#538 := [monotonicity #689]: #537
+#682 := [trans #538 #681]: #537
+#696 := [quant-inst]: #690
+#683 := [mp #696 #682]: #695
+[unit-resolution #683 #742 #167]: false
+unsat
+b92945b5a96289e363e438a1aa52f0edf8f685f9 257 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+decl f5 :: int
+#38 := f5
+#39 := (f3 f5 0::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#741 := (iff #246 #738)
+#739 := (iff #243 #243)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#743 := [mp #249 #742]: #738
+#679 := (not #738)
+#680 := (or #679 #40)
+#323 := (* -1::int 0::int)
+#408 := (* -1::int f5)
+#409 := (div #408 #323)
+#410 := (* -1::int #409)
+#401 := (+ #39 #410)
+#412 := (= #401 0::int)
+#413 := (div f5 0::int)
+#341 := (* -1::int #413)
+#414 := (+ #39 #341)
+#411 := (= #414 0::int)
+#415 := (<= 0::int 0::int)
+#394 := (<= f5 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= f5 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #412)
+#732 := (= 0::int 0::int)
+#733 := (= f5 0::int)
+#734 := (or #733 #732)
+#735 := (ite #734 #40 #400)
+#686 := (or #679 #735)
+#681 := (iff #686 #680)
+#517 := (iff #680 #680)
+#519 := [rewrite]: #517
+#684 := (iff #735 #40)
+#420 := (div #408 0::int)
+#700 := (* -1::int #420)
+#698 := (+ #39 #700)
+#703 := (= #698 0::int)
+#1 := true
+#538 := (ite true #40 #703)
+#682 := (iff #538 #40)
+#683 := [rewrite]: #682
+#539 := (iff #735 #538)
+#691 := (iff #400 #703)
+#694 := (ite false #411 #703)
+#695 := (iff #694 #703)
+#696 := [rewrite]: #695
+#689 := (iff #400 #694)
+#692 := (iff #412 #703)
+#702 := (= #401 #698)
+#701 := (= #410 #700)
+#421 := (= #409 #420)
+#709 := (= #323 0::int)
+#419 := [rewrite]: #709
+#422 := [monotonicity #419]: #421
+#416 := [monotonicity #422]: #701
+#699 := [monotonicity #416]: #702
+#693 := [monotonicity #699]: #692
+#708 := (iff #399 false)
+#706 := (or false false)
+#430 := (iff #706 false)
+#704 := [rewrite]: #430
+#707 := (iff #399 #706)
+#436 := (iff #731 false)
+#718 := (not true)
+#357 := (iff #718 false)
+#720 := [rewrite]: #357
+#434 := (iff #731 #718)
+#711 := (iff #729 true)
+#363 := (or #394 true)
+#724 := (iff #363 true)
+#710 := [rewrite]: #724
+#723 := (iff #729 #363)
+#712 := (iff #415 true)
+#375 := [rewrite]: #712
+#721 := [monotonicity #375]: #723
+#433 := [trans #721 #710]: #711
+#435 := [monotonicity #433]: #434
+#329 := [trans #435 #720]: #436
+#722 := (iff #725 false)
+#713 := (iff #725 #718)
+#716 := (iff #518 true)
+#376 := (or true #388)
+#714 := (iff #376 true)
+#715 := [rewrite]: #714
+#377 := (iff #518 #376)
+#378 := [monotonicity #375]: #377
+#717 := [trans #378 #715]: #716
+#719 := [monotonicity #717]: #713
+#362 := [trans #719 #720]: #722
+#429 := [monotonicity #362 #329]: #707
+#705 := [trans #429 #704]: #708
+#690 := [monotonicity #705 #693]: #689
+#697 := [trans #690 #696]: #691
+#728 := (iff #734 true)
+#726 := (or #733 true)
+#727 := (iff #726 true)
+#387 := [rewrite]: #727
+#386 := (iff #734 #726)
+#730 := (iff #732 true)
+#736 := [rewrite]: #730
+#391 := [monotonicity #736]: #386
+#371 := [trans #391 #387]: #728
+#540 := [monotonicity #371 #697]: #539
+#685 := [trans #540 #683]: #684
+#688 := [monotonicity #685]: #681
+#520 := [trans #688 #519]: #681
+#687 := [quant-inst]: #686
+#673 := [mp #687 #520]: #680
+[unit-resolution #673 #743 #168]: false
+unsat
+c14c2a471945d3a69ddd6acf5b2090523ba2a922 281 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#38 := 1::int
+#39 := (f3 0::int 1::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#736 := (pattern #10)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#740 := (iff #246 #737)
+#738 := (iff #243 #243)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#742 := [mp #249 #741]: #737
+#571 := (not #737)
+#572 := (or #571 #40)
+#323 := (* -1::int 1::int)
+#407 := (* -1::int 0::int)
+#408 := (div #407 #323)
+#409 := (* -1::int #408)
+#400 := (+ #39 #409)
+#411 := (= #400 0::int)
+#412 := (div 0::int 1::int)
+#413 := (* -1::int #412)
+#410 := (+ #39 #413)
+#414 := (= #410 0::int)
+#393 := (<= 1::int 0::int)
+#728 := (<= 0::int 0::int)
+#730 := (or #728 #393)
+#387 := (not #730)
+#517 := (>= 0::int 0::int)
+#724 := (or #393 #517)
+#398 := (not #724)
+#399 := (or #398 #387)
+#731 := (ite #399 #414 #411)
+#732 := (= 1::int 0::int)
+#733 := (= 0::int 0::int)
+#734 := (or #733 #732)
+#729 := (ite #734 #40 #731)
+#565 := (or #571 #729)
+#574 := (iff #565 #572)
+#576 := (iff #572 #572)
+#577 := [rewrite]: #576
+#554 := (iff #729 #40)
+#1 := true
+#668 := (ite true #40 #40)
+#666 := (iff #668 #40)
+#669 := [rewrite]: #666
+#570 := (iff #729 #668)
+#561 := (iff #731 #40)
+#676 := (ite false #40 #40)
+#559 := (iff #676 #40)
+#560 := [rewrite]: #559
+#674 := (iff #731 #676)
+#673 := (iff #411 #40)
+#519 := (= #400 #39)
+#691 := (+ #39 0::int)
+#688 := (= #691 #39)
+#689 := [rewrite]: #688
+#516 := (= #400 #691)
+#680 := (= #409 0::int)
+#697 := (= #407 0::int)
+#701 := [rewrite]: #697
+#685 := (= #409 #407)
+#678 := (= #408 0::int)
+#539 := (div 0::int -1::int)
+#683 := (= #539 0::int)
+#684 := [rewrite]: #683
+#681 := (= #408 #539)
+#537 := (= #323 -1::int)
+#538 := [rewrite]: #537
+#682 := [monotonicity #701 #538]: #681
+#679 := [trans #682 #684]: #678
+#686 := [monotonicity #679]: #685
+#687 := [trans #686 #701]: #680
+#518 := [monotonicity #687]: #516
+#672 := [trans #518 #689]: #519
+#675 := [monotonicity #672]: #673
+#690 := (iff #414 #40)
+#694 := (= #410 #39)
+#692 := (= #410 #691)
+#698 := (= #413 0::int)
+#700 := (= #413 #407)
+#421 := (= #412 0::int)
+#699 := [rewrite]: #421
+#415 := [monotonicity #699]: #700
+#702 := [trans #415 #701]: #698
+#693 := [monotonicity #702]: #692
+#695 := [trans #693 #689]: #694
+#696 := [monotonicity #695]: #690
+#419 := (iff #399 false)
+#703 := (or false false)
+#708 := (iff #703 false)
+#418 := [rewrite]: #708
+#707 := (iff #399 #703)
+#428 := (iff #387 false)
+#721 := (not true)
+#722 := (iff #721 false)
+#720 := [rewrite]: #722
+#705 := (iff #387 #721)
+#435 := (iff #730 true)
+#726 := (or true false)
+#370 := (iff #726 true)
+#711 := [rewrite]: #370
+#433 := (iff #730 #726)
+#376 := (iff #393 false)
+#377 := [rewrite]: #376
+#710 := (iff #728 true)
+#432 := [rewrite]: #710
+#434 := [monotonicity #432 #377]: #433
+#329 := [trans #434 #711]: #435
+#706 := [monotonicity #329]: #705
+#429 := [trans #706 #720]: #428
+#723 := (iff #398 false)
+#361 := (iff #398 #721)
+#356 := (iff #724 true)
+#715 := (or false true)
+#712 := (iff #715 true)
+#718 := [rewrite]: #712
+#716 := (iff #724 #715)
+#713 := (iff #517 true)
+#714 := [rewrite]: #713
+#717 := [monotonicity #377 #714]: #716
+#719 := [trans #717 #718]: #356
+#362 := [monotonicity #719]: #361
+#709 := [trans #362 #720]: #723
+#704 := [monotonicity #709 #429]: #707
+#420 := [trans #704 #418]: #419
+#677 := [monotonicity #420 #696 #675]: #674
+#520 := [trans #677 #560]: #561
+#374 := (iff #734 true)
+#386 := (iff #734 #726)
+#385 := (iff #732 false)
+#390 := [rewrite]: #385
+#735 := (iff #733 true)
+#725 := [rewrite]: #735
+#727 := [monotonicity #725 #390]: #386
+#375 := [trans #727 #711]: #374
+#665 := [monotonicity #375 #520]: #570
+#569 := [trans #665 #669]: #554
+#575 := [monotonicity #569]: #574
+#670 := [trans #575 #577]: #574
+#573 := [quant-inst]: #565
+#667 := [mp #573 #670]: #572
+[unit-resolution #667 #742 #168]: false
+unsat
+5a5d215e16c8ee33ca0b263b3819f6b6e208eeca 281 0
+#2 := false
+#38 := 1::int
+decl f3 :: (-> int int int)
+#39 := (f3 1::int 1::int)
+#40 := (= #39 1::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#736 := (pattern #10)
+#11 := 0::int
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#740 := (iff #246 #737)
+#738 := (iff #243 #243)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#742 := [mp #249 #741]: #737
+#571 := (not #737)
+#572 := (or #571 #40)
+#323 := (* -1::int 1::int)
+#407 := (div #323 #323)
+#408 := (* -1::int #407)
+#409 := (+ #39 #408)
+#400 := (= #409 0::int)
+#411 := (div 1::int 1::int)
+#412 := (* -1::int #411)
+#413 := (+ #39 #412)
+#410 := (= #413 0::int)
+#414 := (<= 1::int 0::int)
+#393 := (or #414 #414)
+#728 := (not #393)
+#730 := (>= 1::int 0::int)
+#387 := (or #414 #730)
+#517 := (not #387)
+#724 := (or #517 #728)
+#398 := (ite #724 #410 #400)
+#399 := (= #39 0::int)
+#731 := (= 1::int 0::int)
+#732 := (or #731 #731)
+#733 := (ite #732 #399 #398)
+#565 := (or #571 #733)
+#574 := (iff #565 #572)
+#576 := (iff #572 #572)
+#577 := [rewrite]: #576
+#554 := (iff #733 #40)
+#668 := (ite false #399 #40)
+#666 := (iff #668 #40)
+#669 := [rewrite]: #666
+#570 := (iff #733 #668)
+#561 := (iff #398 #40)
+#1 := true
+#676 := (ite true #40 #40)
+#559 := (iff #676 #40)
+#560 := [rewrite]: #559
+#674 := (iff #398 #676)
+#673 := (iff #400 #40)
+#701 := (+ -1::int #39)
+#693 := (= #701 0::int)
+#694 := (iff #693 #40)
+#695 := [rewrite]: #694
+#519 := (iff #400 #693)
+#516 := (= #409 #701)
+#700 := (+ #39 -1::int)
+#698 := (= #700 #701)
+#702 := [rewrite]: #698
+#680 := (= #409 #700)
+#685 := (= #408 -1::int)
+#419 := (= #323 -1::int)
+#420 := [rewrite]: #419
+#678 := (= #408 #323)
+#683 := (= #407 1::int)
+#537 := (div -1::int -1::int)
+#681 := (= #537 1::int)
+#682 := [rewrite]: #681
+#538 := (= #407 #537)
+#539 := [monotonicity #420 #420]: #538
+#684 := [trans #539 #682]: #683
+#679 := [monotonicity #684]: #678
+#686 := [trans #679 #420]: #685
+#687 := [monotonicity #686]: #680
+#518 := [trans #687 #702]: #516
+#672 := [monotonicity #518]: #519
+#675 := [trans #672 #695]: #673
+#690 := (iff #410 #40)
+#688 := (iff #410 #693)
+#691 := (= #413 #701)
+#415 := (= #413 #700)
+#421 := (= #412 -1::int)
+#708 := (= #412 #323)
+#707 := (= #411 1::int)
+#704 := [rewrite]: #707
+#418 := [monotonicity #704]: #708
+#699 := [trans #418 #420]: #421
+#697 := [monotonicity #699]: #415
+#692 := [trans #697 #702]: #691
+#689 := [monotonicity #692]: #688
+#696 := [trans #689 #695]: #690
+#429 := (iff #724 true)
+#376 := (or false true)
+#714 := (iff #376 true)
+#715 := [rewrite]: #714
+#706 := (iff #724 #376)
+#329 := (iff #728 true)
+#710 := (not false)
+#434 := (iff #710 true)
+#435 := [rewrite]: #434
+#432 := (iff #728 #710)
+#723 := (iff #393 false)
+#735 := (or false false)
+#390 := (iff #735 false)
+#726 := [rewrite]: #390
+#722 := (iff #393 #735)
+#370 := (iff #414 false)
+#711 := [rewrite]: #370
+#720 := [monotonicity #711 #711]: #722
+#709 := [trans #720 #726]: #723
+#433 := [monotonicity #709]: #432
+#705 := [trans #433 #435]: #329
+#361 := (iff #517 false)
+#712 := (not true)
+#719 := (iff #712 false)
+#721 := [rewrite]: #719
+#718 := (iff #517 #712)
+#716 := (iff #387 true)
+#377 := (iff #387 #376)
+#374 := (iff #730 true)
+#375 := [rewrite]: #374
+#713 := [monotonicity #711 #375]: #377
+#717 := [trans #713 #715]: #716
+#356 := [monotonicity #717]: #718
+#362 := [trans #356 #721]: #361
+#428 := [monotonicity #362 #705]: #706
+#703 := [trans #428 #715]: #429
+#677 := [monotonicity #703 #696 #675]: #674
+#520 := [trans #677 #560]: #561
+#386 := (iff #732 false)
+#725 := (iff #732 #735)
+#734 := (iff #731 false)
+#729 := [rewrite]: #734
+#385 := [monotonicity #729 #729]: #725
+#727 := [trans #385 #726]: #386
+#665 := [monotonicity #727 #520]: #570
+#569 := [trans #665 #669]: #554
+#575 := [monotonicity #569]: #574
+#670 := [trans #575 #577]: #574
+#573 := [quant-inst]: #565
+#667 := [mp #573 #670]: #572
+[unit-resolution #667 #742 #168]: false
+unsat
+7b41d963472256f65451aa39807e714ac9d797cf 292 0
+#2 := false
+#38 := 3::int
+decl f3 :: (-> int int int)
+#39 := 1::int
+#40 := (f3 3::int 1::int)
+#41 := (= #40 3::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#11 := 0::int
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#240 := (* -1::int #73)
+#241 := (+ #10 #240)
+#242 := (= #241 0::int)
+#21 := (div #8 #9)
+#237 := (* -1::int #21)
+#238 := (+ #10 #237)
+#239 := (= #238 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#243 := (ite #202 #239 #242)
+#236 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#244 := (ite #14 #236 #243)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #244)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#741 := (iff #247 #738)
+#739 := (iff #244 #244)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#207 := (ite #202 #21 #73)
+#210 := (ite #14 0::int #207)
+#213 := (= #10 #210)
+#216 := (forall (vars (?v0 int) (?v1 int)) #213)
+#248 := (iff #216 #247)
+#245 := (iff #213 #244)
+#246 := [rewrite]: #245
+#249 := [quant-intro #246]: #248
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#217 := (iff #118 #216)
+#214 := (iff #115 #213)
+#211 := (= #112 #210)
+#208 := (= #109 #207)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [quant-intro #215]: #217
+#191 := (~ #118 #118)
+#189 := (~ #115 #115)
+#190 := [refl]: #189
+#192 := [nnf-pos #190]: #191
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#182 := [mp~ #123 #192]: #118
+#219 := [mp #182 #218]: #216
+#250 := [mp #219 #249]: #247
+#743 := [mp #250 #742]: #738
+#672 := (not #738)
+#659 := (or #672 #41)
+#324 := (* -1::int 1::int)
+#408 := (* -1::int 3::int)
+#409 := (div #408 #324)
+#410 := (* -1::int #409)
+#401 := (+ #40 #410)
+#412 := (= #401 0::int)
+#413 := (div 3::int 1::int)
+#414 := (* -1::int #413)
+#411 := (+ #40 #414)
+#415 := (= #411 0::int)
+#394 := (<= 1::int 0::int)
+#729 := (<= 3::int 0::int)
+#731 := (or #729 #394)
+#388 := (not #731)
+#518 := (>= 3::int 0::int)
+#725 := (or #394 #518)
+#399 := (not #725)
+#400 := (or #399 #388)
+#732 := (ite #400 #415 #412)
+#733 := (= #40 0::int)
+#734 := (= 1::int 0::int)
+#735 := (= 3::int 0::int)
+#730 := (or #735 #734)
+#736 := (ite #730 #733 #732)
+#661 := (or #672 #736)
+#650 := (iff #661 #659)
+#662 := (iff #659 #659)
+#663 := [rewrite]: #662
+#671 := (iff #736 #41)
+#574 := (ite false #733 #41)
+#577 := (iff #574 #41)
+#578 := [rewrite]: #577
+#575 := (iff #736 #574)
+#573 := (iff #732 #41)
+#1 := true
+#667 := (ite true #41 #41)
+#570 := (iff #667 #41)
+#572 := [rewrite]: #570
+#670 := (iff #732 #667)
+#571 := (iff #412 #41)
+#702 := -3::int
+#695 := (+ -3::int #40)
+#539 := (= #695 0::int)
+#683 := (iff #539 #41)
+#684 := [rewrite]: #683
+#521 := (iff #412 #539)
+#561 := (= #401 #695)
+#694 := (+ #40 -3::int)
+#696 := (= #694 #695)
+#691 := [rewrite]: #696
+#678 := (= #401 #694)
+#677 := (= #410 -3::int)
+#699 := (= #408 -3::int)
+#703 := [rewrite]: #699
+#674 := (= #410 #408)
+#520 := (= #409 3::int)
+#687 := (div -3::int -1::int)
+#517 := (= #687 3::int)
+#519 := [rewrite]: #517
+#681 := (= #409 #687)
+#680 := (= #324 -1::int)
+#686 := [rewrite]: #680
+#688 := [monotonicity #703 #686]: #681
+#673 := [trans #688 #519]: #520
+#676 := [monotonicity #673]: #674
+#675 := [trans #676 #703]: #677
+#560 := [monotonicity #675]: #678
+#562 := [trans #560 #691]: #561
+#669 := [monotonicity #562]: #521
+#666 := [trans #669 #684]: #571
+#685 := (iff #415 #41)
+#540 := (iff #415 #539)
+#697 := (= #411 #695)
+#689 := (= #411 #694)
+#692 := (= #414 -3::int)
+#416 := (= #414 #408)
+#700 := (= #413 3::int)
+#701 := [rewrite]: #700
+#698 := [monotonicity #701]: #416
+#693 := [trans #698 #703]: #692
+#690 := [monotonicity #693]: #689
+#538 := [trans #690 #691]: #697
+#682 := [monotonicity #538]: #540
+#679 := [trans #682 #684]: #685
+#421 := (iff #400 true)
+#717 := (or false true)
+#719 := (iff #717 true)
+#357 := [rewrite]: #719
+#419 := (iff #400 #717)
+#705 := (iff #388 true)
+#707 := (not false)
+#704 := (iff #707 true)
+#708 := [rewrite]: #704
+#429 := (iff #388 #707)
+#330 := (iff #731 false)
+#387 := (or false false)
+#712 := (iff #387 false)
+#375 := [rewrite]: #712
+#435 := (iff #731 #387)
+#378 := (iff #394 false)
+#714 := [rewrite]: #378
+#433 := (iff #729 false)
+#434 := [rewrite]: #433
+#436 := [monotonicity #434 #714]: #435
+#706 := [trans #436 #375]: #330
+#430 := [monotonicity #706]: #429
+#709 := [trans #430 #708]: #705
+#710 := (iff #399 false)
+#362 := (not true)
+#721 := (iff #362 false)
+#724 := [rewrite]: #721
+#363 := (iff #399 #362)
+#720 := (iff #725 true)
+#718 := (iff #725 #717)
+#715 := (iff #518 true)
+#716 := [rewrite]: #715
+#713 := [monotonicity #714 #716]: #718
+#722 := [trans #713 #357]: #720
+#723 := [monotonicity #722]: #363
+#711 := [trans #723 #724]: #710
+#420 := [monotonicity #711 #709]: #419
+#422 := [trans #420 #357]: #421
+#555 := [monotonicity #422 #679 #666]: #670
+#566 := [trans #555 #572]: #573
+#376 := (iff #730 false)
+#728 := (iff #730 #387)
+#391 := (iff #734 false)
+#727 := [rewrite]: #391
+#726 := (iff #735 false)
+#386 := [rewrite]: #726
+#371 := [monotonicity #386 #727]: #728
+#377 := [trans #371 #375]: #376
+#576 := [monotonicity #377 #566]: #575
+#668 := [trans #576 #578]: #671
+#652 := [monotonicity #668]: #650
+#664 := [trans #652 #663]: #650
+#653 := [quant-inst]: #661
+#660 := [mp #653 #664]: #659
+[unit-resolution #660 #743 #169]: false
+unsat
+f2c624b476f450b215722d224fa5a1d36deaef9a 335 0
+#2 := false
+decl f3 :: (-> int int int)
+#39 := 1::int
+decl f5 :: int
+#38 := f5
+#40 := (f3 f5 1::int)
+#170 := (= f5 #40)
+#11 := 0::int
+#730 := (= #40 0::int)
+#499 := (iff #730 #170)
+#496 := (iff #170 #730)
+#513 := (= 0::int #40)
+#533 := (iff #513 #730)
+#492 := [commutativity]: #533
+#531 := (iff #170 #513)
+#732 := (= f5 0::int)
+#726 := (<= f5 0::int)
+#708 := (not #726)
+#515 := (>= f5 0::int)
+#716 := (not #515)
+#432 := (or #716 #708)
+#682 := (not #432)
+#410 := (div f5 1::int)
+#66 := -1::int
+#411 := (* -1::int #410)
+#408 := (+ #40 #411)
+#412 := (= #408 0::int)
+#672 := (not #412)
+#572 := (* -1::int #40)
+#573 := (+ f5 #572)
+#575 := (>= #573 0::int)
+#644 := (+ f5 #411)
+#635 := (>= #644 0::int)
+#643 := (= #644 0::int)
+#1 := true
+#57 := [true-axiom]: true
+#611 := (or false #643)
+#617 := [th-lemma]: #611
+#603 := [unit-resolution #617 #57]: #643
+#599 := (not #643)
+#600 := (or #599 #635)
+#601 := [th-lemma]: #600
+#604 := [unit-resolution #601 #603]: #635
+#684 := (<= #408 0::int)
+#605 := [hypothesis]: #412
+#606 := (or #672 #684)
+#607 := [th-lemma]: #606
+#602 := [unit-resolution #607 #605]: #684
+#581 := (not #635)
+#608 := (not #684)
+#582 := (or #575 #608 #581)
+#583 := [th-lemma]: #582
+#476 := [unit-resolution #583 #602 #604]: #575
+#574 := (<= #573 0::int)
+#633 := (<= #644 0::int)
+#587 := (or #599 #633)
+#588 := [th-lemma]: #587
+#589 := [unit-resolution #588 #603]: #633
+#678 := (>= #408 0::int)
+#594 := (or #672 #678)
+#590 := [th-lemma]: #594
+#591 := [unit-resolution #590 #605]: #678
+#595 := (not #633)
+#592 := (not #678)
+#596 := (or #574 #592 #595)
+#597 := [th-lemma]: #596
+#593 := [unit-resolution #597 #591 #589]: #574
+#578 := (not #575)
+#598 := (not #574)
+#560 := (or #598 #578)
+#173 := (not #170)
+#41 := (= #40 f5)
+#42 := (not #41)
+#174 := (iff #42 #173)
+#171 := (iff #41 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#169 := [asserted]: #42
+#178 := [mp #169 #175]: #173
+#524 := (or #170 #598 #578)
+#579 := [th-lemma]: #524
+#584 := [unit-resolution #579 #178]: #560
+#585 := [unit-resolution #584 #593 #476]: false
+#580 := [lemma #585]: #672
+#405 := (* -1::int f5)
+#426 := (div #405 -1::int)
+#705 := (* -1::int #426)
+#416 := (+ #40 #705)
+#419 := (= #416 0::int)
+#413 := (ite #432 #412 #419)
+#568 := (not #732)
+#501 := [hypothesis]: #568
+#503 := (or #732 #413)
+#696 := (ite #732 #730 #413)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#734 := (pattern #10)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#237 := (* -1::int #73)
+#238 := (+ #10 #237)
+#239 := (= #238 0::int)
+#21 := (div #8 #9)
+#234 := (* -1::int #21)
+#235 := (+ #10 #234)
+#236 := (= #235 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#192 := (or #88 #92)
+#193 := (not #192)
+#99 := (>= #8 0::int)
+#184 := (or #92 #99)
+#185 := (not #184)
+#199 := (or #185 #193)
+#240 := (ite #199 #236 #239)
+#233 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#241 := (ite #14 #233 #240)
+#735 := (forall (vars (?v0 int) (?v1 int)) (:pat #734) #241)
+#244 := (forall (vars (?v0 int) (?v1 int)) #241)
+#738 := (iff #244 #735)
+#736 := (iff #241 #241)
+#737 := [refl]: #736
+#739 := [quant-intro #737]: #738
+#204 := (ite #199 #21 #73)
+#207 := (ite #14 0::int #204)
+#210 := (= #10 #207)
+#213 := (forall (vars (?v0 int) (?v1 int)) #210)
+#245 := (iff #213 #244)
+#242 := (iff #210 #241)
+#243 := [rewrite]: #242
+#246 := [quant-intro #243]: #245
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#214 := (iff #118 #213)
+#211 := (iff #115 #210)
+#208 := (= #112 #207)
+#205 := (= #109 #204)
+#202 := (iff #106 #199)
+#196 := (or #193 #185)
+#200 := (iff #196 #199)
+#201 := [rewrite]: #200
+#197 := (iff #106 #196)
+#194 := (iff #103 #185)
+#195 := [rewrite]: #194
+#182 := (iff #96 #193)
+#183 := [rewrite]: #182
+#198 := [monotonicity #183 #195]: #197
+#203 := [trans #198 #201]: #202
+#206 := [monotonicity #203]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [quant-intro #212]: #214
+#188 := (~ #118 #118)
+#186 := (~ #115 #115)
+#187 := [refl]: #186
+#189 := [nnf-pos #187]: #188
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#179 := [mp~ #123 #189]: #118
+#216 := [mp #179 #215]: #213
+#247 := [mp #216 #246]: #244
+#740 := [mp #247 #739]: #735
+#690 := (not #735)
+#691 := (or #690 #696)
+#321 := (* -1::int 1::int)
+#406 := (div #405 #321)
+#407 := (* -1::int #406)
+#398 := (+ #40 #407)
+#409 := (= #398 0::int)
+#391 := (<= 1::int 0::int)
+#728 := (or #726 #391)
+#385 := (not #728)
+#722 := (or #391 #515)
+#396 := (not #722)
+#397 := (or #396 #385)
+#729 := (ite #397 #412 #409)
+#731 := (= 1::int 0::int)
+#727 := (or #732 #731)
+#733 := (ite #727 #730 #729)
+#686 := (or #690 #733)
+#692 := (iff #686 #691)
+#688 := (iff #691 #691)
+#694 := [rewrite]: #688
+#700 := (iff #733 #696)
+#695 := (iff #729 #413)
+#697 := (iff #409 #419)
+#417 := (= #398 #416)
+#702 := (= #407 #705)
+#427 := (= #406 #426)
+#703 := (= #321 -1::int)
+#704 := [rewrite]: #703
+#701 := [monotonicity #704]: #427
+#706 := [monotonicity #701]: #702
+#418 := [monotonicity #706]: #417
+#698 := [monotonicity #418]: #697
+#433 := (iff #397 #432)
+#430 := (iff #385 #708)
+#721 := (iff #728 #726)
+#719 := (or #726 false)
+#720 := (iff #719 #726)
+#718 := [rewrite]: #720
+#359 := (iff #728 #719)
+#373 := (iff #391 false)
+#374 := [rewrite]: #373
+#360 := [monotonicity #374]: #359
+#707 := [trans #360 #718]: #721
+#431 := [monotonicity #707]: #430
+#354 := (iff #396 #716)
+#715 := (iff #722 #515)
+#375 := (or false #515)
+#713 := (iff #375 #515)
+#714 := [rewrite]: #713
+#711 := (iff #722 #375)
+#712 := [monotonicity #374]: #711
+#710 := [trans #712 #714]: #715
+#717 := [monotonicity #710]: #354
+#327 := [monotonicity #717 #431]: #433
+#699 := [monotonicity #327 #698]: #695
+#709 := (iff #727 #732)
+#388 := (or #732 false)
+#725 := (iff #388 #732)
+#368 := [rewrite]: #725
+#724 := (iff #727 #388)
+#723 := (iff #731 false)
+#383 := [rewrite]: #723
+#384 := [monotonicity #383]: #724
+#372 := [trans #384 #368]: #709
+#689 := [monotonicity #372 #699]: #700
+#693 := [monotonicity #689]: #692
+#535 := [trans #693 #694]: #692
+#687 := [quant-inst]: #686
+#536 := [mp #687 #535]: #691
+#502 := [unit-resolution #536 #740]: #696
+#666 := (not #696)
+#667 := (or #666 #732 #413)
+#552 := [def-axiom]: #667
+#504 := [unit-resolution #552 #502]: #503
+#506 := [unit-resolution #504 #501]: #413
+#517 := (not #413)
+#670 := (or #517 #682 #412)
+#671 := [def-axiom]: #670
+#507 := [unit-resolution #671 #506 #580]: #682
+#680 := (or #432 #726)
+#681 := [def-axiom]: #680
+#508 := [unit-resolution #681 #507]: #726
+#537 := (or #432 #515)
+#679 := [def-axiom]: #537
+#351 := [unit-resolution #679 #507]: #515
+#509 := (or #732 #708 #716)
+#505 := [th-lemma]: #509
+#510 := [unit-resolution #505 #501 #351 #508]: false
+#489 := [lemma #510]: #732
+#532 := [monotonicity #489]: #531
+#498 := [trans #532 #492]: #496
+#497 := [symm #498]: #499
+#528 := (or #568 #730)
+#663 := (or #666 #568 #730)
+#664 := [def-axiom]: #663
+#529 := [unit-resolution #664 #502]: #528
+#530 := [unit-resolution #529 #489]: #730
+#500 := [mp #530 #497]: #170
+[unit-resolution #178 #500]: false
+unsat
+fd6a20115c02fed95407d39af18c17fa4d5575cb 306 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#66 := -1::int
+#172 := (f3 0::int -1::int)
+#175 := (= #172 0::int)
+#188 := (not #175)
+#38 := 1::int
+#39 := (- 1::int)
+#40 := (f3 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= 0::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#173 := (= #40 #172)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#751 := (pattern #10)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#254 := (* -1::int #73)
+#255 := (+ #10 #254)
+#256 := (= #255 0::int)
+#21 := (div #8 #9)
+#251 := (* -1::int #21)
+#252 := (+ #10 #251)
+#253 := (= #252 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#257 := (ite #216 #253 #256)
+#250 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#258 := (ite #14 #250 #257)
+#752 := (forall (vars (?v0 int) (?v1 int)) (:pat #751) #258)
+#261 := (forall (vars (?v0 int) (?v1 int)) #258)
+#755 := (iff #261 #752)
+#753 := (iff #258 #258)
+#754 := [refl]: #753
+#756 := [quant-intro #754]: #755
+#221 := (ite #216 #21 #73)
+#224 := (ite #14 0::int #221)
+#227 := (= #10 #224)
+#230 := (forall (vars (?v0 int) (?v1 int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#231 := (iff #118 #230)
+#228 := (iff #115 #227)
+#225 := (= #112 #224)
+#222 := (= #109 #221)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#205 := (~ #118 #118)
+#203 := (~ #115 #115)
+#204 := [refl]: #203
+#206 := [nnf-pos #204]: #205
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#196 := [mp~ #123 #206]: #118
+#233 := [mp #196 #232]: #230
+#264 := [mp #233 #263]: #261
+#757 := [mp #264 #756]: #752
+#586 := (not #752)
+#587 := (or #586 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 0::int)
+#423 := (div #422 #338)
+#424 := (* -1::int #423)
+#415 := (+ #172 #424)
+#426 := (= #415 0::int)
+#427 := (div 0::int -1::int)
+#428 := (* -1::int #427)
+#425 := (+ #172 #428)
+#429 := (= #425 0::int)
+#408 := (<= -1::int 0::int)
+#743 := (<= 0::int 0::int)
+#745 := (or #743 #408)
+#402 := (not #745)
+#532 := (>= 0::int 0::int)
+#739 := (or #408 #532)
+#413 := (not #739)
+#414 := (or #413 #402)
+#746 := (ite #414 #429 #426)
+#747 := (= -1::int 0::int)
+#748 := (= 0::int 0::int)
+#749 := (or #748 #747)
+#744 := (ite #749 #175 #746)
+#580 := (or #586 #744)
+#589 := (iff #580 #587)
+#591 := (iff #587 #587)
+#592 := [rewrite]: #591
+#569 := (iff #744 #175)
+#1 := true
+#683 := (ite true #175 #175)
+#681 := (iff #683 #175)
+#684 := [rewrite]: #681
+#585 := (iff #744 #683)
+#576 := (iff #746 #175)
+#691 := (ite false #175 #175)
+#574 := (iff #691 #175)
+#575 := [rewrite]: #574
+#689 := (iff #746 #691)
+#688 := (iff #426 #175)
+#534 := (= #415 #172)
+#706 := (+ #172 0::int)
+#703 := (= #706 #172)
+#704 := [rewrite]: #703
+#531 := (= #415 #706)
+#695 := (= #424 0::int)
+#712 := (= #422 0::int)
+#716 := [rewrite]: #712
+#700 := (= #424 #422)
+#693 := (= #423 0::int)
+#554 := (div 0::int 1::int)
+#698 := (= #554 0::int)
+#699 := [rewrite]: #698
+#696 := (= #423 #554)
+#552 := (= #338 1::int)
+#553 := [rewrite]: #552
+#697 := [monotonicity #716 #553]: #696
+#694 := [trans #697 #699]: #693
+#701 := [monotonicity #694]: #700
+#702 := [trans #701 #716]: #695
+#533 := [monotonicity #702]: #531
+#687 := [trans #533 #704]: #534
+#690 := [monotonicity #687]: #688
+#705 := (iff #429 #175)
+#709 := (= #425 #172)
+#707 := (= #425 #706)
+#713 := (= #428 0::int)
+#715 := (= #428 #422)
+#436 := (= #427 0::int)
+#714 := [rewrite]: #436
+#430 := [monotonicity #714]: #715
+#717 := [trans #430 #716]: #713
+#708 := [monotonicity #717]: #707
+#710 := [trans #708 #704]: #709
+#711 := [monotonicity #710]: #705
+#434 := (iff #414 false)
+#718 := (or false false)
+#723 := (iff #718 false)
+#433 := [rewrite]: #723
+#722 := (iff #414 #718)
+#443 := (iff #402 false)
+#736 := (not true)
+#737 := (iff #736 false)
+#735 := [rewrite]: #737
+#720 := (iff #402 #736)
+#450 := (iff #745 true)
+#730 := (or true true)
+#727 := (iff #730 true)
+#733 := [rewrite]: #727
+#448 := (iff #745 #730)
+#391 := (iff #408 true)
+#392 := [rewrite]: #391
+#725 := (iff #743 true)
+#447 := [rewrite]: #725
+#449 := [monotonicity #447 #392]: #448
+#344 := [trans #449 #733]: #450
+#721 := [monotonicity #344]: #720
+#444 := [trans #721 #735]: #443
+#738 := (iff #413 false)
+#376 := (iff #413 #736)
+#371 := (iff #739 true)
+#731 := (iff #739 #730)
+#728 := (iff #532 true)
+#729 := [rewrite]: #728
+#732 := [monotonicity #392 #729]: #731
+#734 := [trans #732 #733]: #371
+#377 := [monotonicity #734]: #376
+#724 := [trans #377 #735]: #738
+#719 := [monotonicity #724 #444]: #722
+#435 := [trans #719 #433]: #434
+#692 := [monotonicity #435 #711 #690]: #689
+#535 := [trans #692 #575]: #576
+#389 := (iff #749 true)
+#741 := (or true false)
+#385 := (iff #741 true)
+#726 := [rewrite]: #385
+#401 := (iff #749 #741)
+#400 := (iff #747 false)
+#405 := [rewrite]: #400
+#750 := (iff #748 true)
+#740 := [rewrite]: #750
+#742 := [monotonicity #740 #405]: #401
+#390 := [trans #742 #726]: #389
+#680 := [monotonicity #390 #535]: #585
+#584 := [trans #680 #684]: #569
+#590 := [monotonicity #584]: #589
+#685 := [trans #590 #592]: #589
+#588 := [quant-inst]: #580
+#682 := [mp #588 #685]: #587
+[unit-resolution #682 #757 #193]: false
+unsat
+aa9f8811d5a1c1932d0e5c6157079198d72bdb4e 315 0
+#2 := false
+#66 := -1::int
+decl f3 :: (-> int int int)
+#38 := 1::int
+#172 := (f3 1::int -1::int)
+#175 := (= #172 -1::int)
+#188 := (not #175)
+#39 := (- 1::int)
+#40 := (f3 1::int #39)
+#41 := (= #40 #39)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= -1::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#173 := (= #40 #172)
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174 #171]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#751 := (pattern #10)
+#11 := 0::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#254 := (* -1::int #73)
+#255 := (+ #10 #254)
+#256 := (= #255 0::int)
+#21 := (div #8 #9)
+#251 := (* -1::int #21)
+#252 := (+ #10 #251)
+#253 := (= #252 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#257 := (ite #216 #253 #256)
+#250 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#258 := (ite #14 #250 #257)
+#752 := (forall (vars (?v0 int) (?v1 int)) (:pat #751) #258)
+#261 := (forall (vars (?v0 int) (?v1 int)) #258)
+#755 := (iff #261 #752)
+#753 := (iff #258 #258)
+#754 := [refl]: #753
+#756 := [quant-intro #754]: #755
+#221 := (ite #216 #21 #73)
+#224 := (ite #14 0::int #221)
+#227 := (= #10 #224)
+#230 := (forall (vars (?v0 int) (?v1 int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#231 := (iff #118 #230)
+#228 := (iff #115 #227)
+#225 := (= #112 #224)
+#222 := (= #109 #221)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#205 := (~ #118 #118)
+#203 := (~ #115 #115)
+#204 := [refl]: #203
+#206 := [nnf-pos #204]: #205
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#196 := [mp~ #123 #206]: #118
+#233 := [mp #196 #232]: #230
+#264 := [mp #233 #263]: #261
+#757 := [mp #264 #756]: #752
+#682 := (not #752)
+#686 := (or #682 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 1::int)
+#423 := (div #422 #338)
+#424 := (* -1::int #423)
+#415 := (+ #172 #424)
+#426 := (= #415 0::int)
+#427 := (div 1::int -1::int)
+#428 := (* -1::int #427)
+#425 := (+ #172 #428)
+#429 := (= #425 0::int)
+#408 := (<= -1::int 0::int)
+#743 := (<= 1::int 0::int)
+#745 := (or #743 #408)
+#402 := (not #745)
+#532 := (>= 1::int 0::int)
+#739 := (or #408 #532)
+#413 := (not #739)
+#414 := (or #413 #402)
+#746 := (ite #414 #429 #426)
+#747 := (= #172 0::int)
+#748 := (= -1::int 0::int)
+#749 := (= 1::int 0::int)
+#744 := (or #749 #748)
+#750 := (ite #744 #747 #746)
+#673 := (or #682 #750)
+#667 := (iff #673 #686)
+#666 := (iff #686 #686)
+#676 := [rewrite]: #666
+#592 := (iff #750 #175)
+#580 := (ite false #747 #175)
+#590 := (iff #580 #175)
+#591 := [rewrite]: #590
+#588 := (iff #750 #580)
+#586 := (iff #746 #175)
+#680 := (ite false #175 #175)
+#569 := (iff #680 #175)
+#584 := [rewrite]: #569
+#681 := (iff #746 #680)
+#683 := (iff #426 #175)
+#704 := (+ 1::int #172)
+#552 := (= #704 0::int)
+#696 := (iff #552 #175)
+#697 := [rewrite]: #696
+#576 := (iff #426 #552)
+#574 := (= #415 #704)
+#707 := (+ #172 1::int)
+#709 := (= #707 #704)
+#710 := [rewrite]: #709
+#689 := (= #415 #707)
+#690 := (= #424 1::int)
+#716 := (= #338 1::int)
+#713 := [rewrite]: #716
+#687 := (= #424 #338)
+#533 := (= #423 -1::int)
+#700 := (div -1::int 1::int)
+#702 := (= #700 -1::int)
+#531 := [rewrite]: #702
+#701 := (= #423 #700)
+#693 := (= #422 -1::int)
+#694 := [rewrite]: #693
+#695 := [monotonicity #694 #713]: #701
+#534 := [trans #695 #531]: #533
+#688 := [monotonicity #534]: #687
+#691 := [trans #688 #713]: #690
+#692 := [monotonicity #691]: #689
+#575 := [trans #692 #710]: #574
+#535 := [monotonicity #575]: #576
+#585 := [trans #535 #697]: #683
+#698 := (iff #429 #175)
+#553 := (iff #429 #552)
+#705 := (= #425 #704)
+#708 := (= #425 #707)
+#717 := (= #428 1::int)
+#430 := (= #428 #338)
+#714 := (= #427 -1::int)
+#715 := [rewrite]: #714
+#712 := [monotonicity #715]: #430
+#706 := [trans #712 #713]: #717
+#703 := [monotonicity #706]: #708
+#711 := [trans #703 #710]: #705
+#554 := [monotonicity #711]: #553
+#699 := [trans #554 #697]: #698
+#435 := (iff #414 false)
+#401 := (or false false)
+#726 := (iff #401 false)
+#389 := [rewrite]: #726
+#433 := (iff #414 #401)
+#719 := (iff #402 false)
+#1 := true
+#376 := (not true)
+#735 := (iff #376 false)
+#738 := [rewrite]: #735
+#718 := (iff #402 #376)
+#443 := (iff #745 true)
+#449 := (or false true)
+#720 := (iff #449 true)
+#721 := [rewrite]: #720
+#450 := (iff #745 #449)
+#392 := (iff #408 true)
+#728 := [rewrite]: #392
+#447 := (iff #743 false)
+#448 := [rewrite]: #447
+#344 := [monotonicity #448 #728]: #450
+#444 := [trans #344 #721]: #443
+#722 := [monotonicity #444]: #718
+#723 := [trans #722 #738]: #719
+#724 := (iff #413 false)
+#377 := (iff #413 #376)
+#734 := (iff #739 true)
+#731 := (or true true)
+#733 := (iff #731 true)
+#371 := [rewrite]: #733
+#732 := (iff #739 #731)
+#729 := (iff #532 true)
+#730 := [rewrite]: #729
+#727 := [monotonicity #728 #730]: #732
+#736 := [trans #727 #371]: #734
+#737 := [monotonicity #736]: #377
+#725 := [trans #737 #738]: #724
+#434 := [monotonicity #725 #723]: #433
+#436 := [trans #434 #389]: #435
+#684 := [monotonicity #436 #699 #585]: #681
+#587 := [trans #684 #584]: #586
+#390 := (iff #744 false)
+#742 := (iff #744 #401)
+#405 := (iff #748 false)
+#741 := [rewrite]: #405
+#740 := (iff #749 false)
+#400 := [rewrite]: #740
+#385 := [monotonicity #400 #741]: #742
+#391 := [trans #385 #389]: #390
+#589 := [monotonicity #391 #587]: #588
+#685 := [trans #589 #591]: #592
+#664 := [monotonicity #685]: #667
+#677 := [trans #664 #676]: #667
+#675 := [quant-inst]: #673
+#678 := [mp #675 #677]: #686
+[unit-resolution #678 #757 #193]: false
+unsat
+3761a696b0e4df1e0948bee37448a6c9980320f2 311 0
+#2 := false
+#177 := -3::int
+decl f3 :: (-> int int int)
+#68 := -1::int
+#38 := 3::int
+#174 := (f3 3::int -1::int)
+#180 := (= #174 -3::int)
+#183 := (not #180)
+#42 := (- 3::int)
+#39 := 1::int
+#40 := (- 1::int)
+#41 := (f3 3::int #40)
+#43 := (= #41 #42)
+#44 := (not #43)
+#184 := (iff #44 #183)
+#181 := (iff #43 #180)
+#178 := (= #42 -3::int)
+#179 := [rewrite]: #178
+#175 := (= #41 #174)
+#172 := (= #40 -1::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173]: #175
+#182 := [monotonicity #176 #179]: #181
+#185 := [monotonicity #182]: #184
+#171 := [asserted]: #44
+#188 := [mp #171 #185]: #183
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#744 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#247 := (* -1::int #75)
+#248 := (+ #10 #247)
+#249 := (= #248 0::int)
+#21 := (div #8 #9)
+#244 := (* -1::int #21)
+#245 := (+ #10 #244)
+#246 := (= #245 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#202 := (or #90 #94)
+#203 := (not #202)
+#101 := (>= #8 0::int)
+#194 := (or #94 #101)
+#195 := (not #194)
+#209 := (or #195 #203)
+#250 := (ite #209 #246 #249)
+#243 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#251 := (ite #14 #243 #250)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #251)
+#254 := (forall (vars (?v0 int) (?v1 int)) #251)
+#748 := (iff #254 #745)
+#746 := (iff #251 #251)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#214 := (ite #209 #21 #75)
+#217 := (ite #14 0::int #214)
+#220 := (= #10 #217)
+#223 := (forall (vars (?v0 int) (?v1 int)) #220)
+#255 := (iff #223 #254)
+#252 := (iff #220 #251)
+#253 := [rewrite]: #252
+#256 := [quant-intro #253]: #255
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#224 := (iff #120 #223)
+#221 := (iff #117 #220)
+#218 := (= #114 #217)
+#215 := (= #111 #214)
+#212 := (iff #108 #209)
+#206 := (or #203 #195)
+#210 := (iff #206 #209)
+#211 := [rewrite]: #210
+#207 := (iff #108 #206)
+#204 := (iff #105 #195)
+#205 := [rewrite]: #204
+#192 := (iff #98 #203)
+#193 := [rewrite]: #192
+#208 := [monotonicity #193 #205]: #207
+#213 := [trans #208 #211]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#222 := [monotonicity #219]: #221
+#225 := [quant-intro #222]: #224
+#198 := (~ #120 #120)
+#196 := (~ #117 #117)
+#197 := [refl]: #196
+#199 := [nnf-pos #197]: #198
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#189 := [mp~ #125 #199]: #120
+#226 := [mp #189 #225]: #223
+#257 := [mp #226 #256]: #254
+#750 := [mp #257 #749]: #745
+#668 := (not #745)
+#660 := (or #668 #180)
+#331 := (* -1::int -1::int)
+#415 := (* -1::int 3::int)
+#416 := (div #415 #331)
+#417 := (* -1::int #416)
+#408 := (+ #174 #417)
+#419 := (= #408 0::int)
+#420 := (div 3::int -1::int)
+#421 := (* -1::int #420)
+#418 := (+ #174 #421)
+#422 := (= #418 0::int)
+#401 := (<= -1::int 0::int)
+#736 := (<= 3::int 0::int)
+#738 := (or #736 #401)
+#395 := (not #738)
+#525 := (>= 3::int 0::int)
+#732 := (or #401 #525)
+#406 := (not #732)
+#407 := (or #406 #395)
+#739 := (ite #407 #422 #419)
+#740 := (= #174 0::int)
+#741 := (= -1::int 0::int)
+#742 := (= 3::int 0::int)
+#737 := (or #742 #741)
+#743 := (ite #737 #740 #739)
+#657 := (or #668 #743)
+#669 := (iff #657 #660)
+#671 := (iff #660 #660)
+#667 := [rewrite]: #671
+#679 := (iff #743 #180)
+#583 := (ite false #740 #180)
+#678 := (iff #583 #180)
+#675 := [rewrite]: #678
+#584 := (iff #743 #583)
+#581 := (iff #739 #180)
+#562 := (ite false #180 #180)
+#580 := (iff #562 #180)
+#573 := [rewrite]: #580
+#577 := (iff #739 #562)
+#674 := (iff #419 #180)
+#702 := (+ 3::int #174)
+#546 := (= #702 0::int)
+#690 := (iff #546 #180)
+#691 := [rewrite]: #690
+#578 := (iff #419 #546)
+#528 := (= #408 #702)
+#701 := (+ #174 3::int)
+#703 := (= #701 #702)
+#698 := [rewrite]: #703
+#568 := (= #408 #701)
+#685 := (= #417 3::int)
+#423 := (* -1::int -3::int)
+#706 := (= #423 3::int)
+#710 := [rewrite]: #706
+#684 := (= #417 #423)
+#681 := (= #416 -3::int)
+#695 := (div -3::int 1::int)
+#527 := (= #695 -3::int)
+#680 := [rewrite]: #527
+#524 := (= #416 #695)
+#694 := (= #331 1::int)
+#688 := [rewrite]: #694
+#687 := (= #415 -3::int)
+#693 := [rewrite]: #687
+#526 := [monotonicity #693 #688]: #524
+#683 := [trans #526 #680]: #681
+#682 := [monotonicity #683]: #684
+#567 := [trans #682 #710]: #685
+#569 := [monotonicity #567]: #568
+#676 := [trans #569 #698]: #528
+#673 := [monotonicity #676]: #578
+#677 := [trans #673 #691]: #674
+#692 := (iff #422 #180)
+#547 := (iff #422 #546)
+#704 := (= #418 #702)
+#696 := (= #418 #701)
+#699 := (= #421 3::int)
+#705 := (= #421 #423)
+#707 := (= #420 -3::int)
+#708 := [rewrite]: #707
+#709 := [monotonicity #708]: #705
+#700 := [trans #709 #710]: #699
+#697 := [monotonicity #700]: #696
+#545 := [trans #697 #698]: #704
+#689 := [monotonicity #545]: #547
+#686 := [trans #689 #691]: #692
+#428 := (iff #407 false)
+#394 := (or false false)
+#719 := (iff #394 false)
+#382 := [rewrite]: #719
+#426 := (iff #407 #394)
+#712 := (iff #395 false)
+#1 := true
+#369 := (not true)
+#728 := (iff #369 false)
+#731 := [rewrite]: #728
+#711 := (iff #395 #369)
+#436 := (iff #738 true)
+#442 := (or false true)
+#713 := (iff #442 true)
+#714 := [rewrite]: #713
+#443 := (iff #738 #442)
+#385 := (iff #401 true)
+#721 := [rewrite]: #385
+#440 := (iff #736 false)
+#441 := [rewrite]: #440
+#337 := [monotonicity #441 #721]: #443
+#437 := [trans #337 #714]: #436
+#715 := [monotonicity #437]: #711
+#716 := [trans #715 #731]: #712
+#717 := (iff #406 false)
+#370 := (iff #406 #369)
+#727 := (iff #732 true)
+#724 := (or true true)
+#726 := (iff #724 true)
+#364 := [rewrite]: #726
+#725 := (iff #732 #724)
+#722 := (iff #525 true)
+#723 := [rewrite]: #722
+#720 := [monotonicity #721 #723]: #725
+#729 := [trans #720 #364]: #727
+#730 := [monotonicity #729]: #370
+#718 := [trans #730 #731]: #717
+#427 := [monotonicity #718 #716]: #426
+#429 := [trans #427 #382]: #428
+#579 := [monotonicity #429 #686 #677]: #577
+#582 := [trans #579 #573]: #581
+#383 := (iff #737 false)
+#735 := (iff #737 #394)
+#398 := (iff #741 false)
+#734 := [rewrite]: #398
+#733 := (iff #742 false)
+#393 := [rewrite]: #733
+#378 := [monotonicity #393 #734]: #735
+#384 := [trans #378 #382]: #383
+#585 := [monotonicity #384 #582]: #584
+#666 := [trans #585 #675]: #679
+#670 := [monotonicity #666]: #669
+#672 := [trans #670 #667]: #669
+#659 := [quant-inst]: #657
+#661 := [mp #659 #672]: #660
+[unit-resolution #661 #750 #188]: false
+unsat
+36c6674c60e5a90e501a4709cff8031cd35cbd8b 362 0
+#2 := false
+#11 := 0::int
+#39 := 1::int
+decl f5 :: int
+#38 := f5
+#68 := -1::int
+#177 := (* -1::int f5)
+#716 := (div #177 1::int)
+#667 := (+ f5 #716)
+#674 := (= #667 0::int)
+#1 := true
+#59 := [true-axiom]: true
+#631 := (or false #674)
+#632 := [th-lemma]: #631
+#633 := [unit-resolution #632 #59]: #674
+#663 := (<= #667 0::int)
+#557 := (not #663)
+decl f3 :: (-> int int int)
+#174 := (f3 f5 -1::int)
+#186 := (+ f5 #174)
+#340 := (<= #186 0::int)
+#573 := (not #340)
+#424 := (>= #186 0::int)
+#690 := (>= #174 0::int)
+#750 := (= #174 0::int)
+#746 := (= f5 0::int)
+#714 := (* -1::int #716)
+#719 := (+ #174 #714)
+#710 := (= #719 0::int)
+#686 := (not #710)
+#691 := (>= #719 0::int)
+#622 := (not #691)
+#634 := (not #424)
+#635 := [hypothesis]: #634
+#621 := (or #622 #424)
+#664 := (>= #667 0::int)
+#636 := (not #664)
+#630 := [hypothesis]: #691
+#618 := (or #636 #622 #424)
+#619 := [th-lemma]: #618
+#620 := [unit-resolution #619 #630 #635]: #636
+#623 := (not #674)
+#624 := (or #623 #664)
+#625 := [th-lemma]: #624
+#626 := [unit-resolution #625 #620 #633]: false
+#627 := [lemma #626]: #621
+#600 := [unit-resolution #627 #635]: #622
+#601 := (or #686 #691)
+#602 := [th-lemma]: #601
+#495 := [unit-resolution #602 #600]: #686
+#607 := (or #746 #710)
+#698 := (ite #746 #750 #710)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#753 := (pattern #10)
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#256 := (* -1::int #75)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#21 := (div #8 #9)
+#253 := (* -1::int #21)
+#254 := (+ #10 #253)
+#255 := (= #254 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#211 := (or #90 #94)
+#212 := (not #211)
+#101 := (>= #8 0::int)
+#203 := (or #94 #101)
+#204 := (not #203)
+#218 := (or #204 #212)
+#259 := (ite #218 #255 #258)
+#252 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#260 := (ite #14 #252 #259)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#757 := (iff #263 #754)
+#755 := (iff #260 #260)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#223 := (ite #218 #21 #75)
+#226 := (ite #14 0::int #223)
+#229 := (= #10 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#233 := (iff #120 #232)
+#230 := (iff #117 #229)
+#227 := (= #114 #226)
+#224 := (= #111 #223)
+#221 := (iff #108 #218)
+#215 := (or #212 #204)
+#219 := (iff #215 #218)
+#220 := [rewrite]: #219
+#216 := (iff #108 #215)
+#213 := (iff #105 #204)
+#214 := [rewrite]: #213
+#201 := (iff #98 #212)
+#202 := [rewrite]: #201
+#217 := [monotonicity #202 #214]: #216
+#222 := [trans #217 #220]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#207 := (~ #120 #120)
+#205 := (~ #117 #117)
+#206 := [refl]: #205
+#208 := [nnf-pos #206]: #207
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#198 := [mp~ #125 #208]: #120
+#235 := [mp #198 #234]: #232
+#266 := [mp #235 #265]: #263
+#759 := [mp #266 #758]: #754
+#701 := (not #754)
+#695 := (or #701 #698)
+#425 := (* -1::int -1::int)
+#426 := (div #177 #425)
+#417 := (* -1::int #426)
+#428 := (+ #174 #417)
+#429 := (= #428 0::int)
+#430 := (div f5 -1::int)
+#427 := (* -1::int #430)
+#431 := (+ #174 #427)
+#410 := (= #431 0::int)
+#745 := (<= -1::int 0::int)
+#747 := (<= f5 0::int)
+#404 := (or #747 #745)
+#534 := (not #404)
+#741 := (>= f5 0::int)
+#415 := (or #745 #741)
+#416 := (not #415)
+#748 := (or #416 #534)
+#749 := (ite #748 #410 #429)
+#751 := (= -1::int 0::int)
+#752 := (or #746 #751)
+#742 := (ite #752 #750 #749)
+#696 := (or #701 #742)
+#703 := (iff #696 #695)
+#704 := (iff #695 #695)
+#533 := [rewrite]: #704
+#699 := (iff #742 #698)
+#555 := (iff #749 #710)
+#711 := (ite false #410 #710)
+#713 := (iff #711 #710)
+#554 := [rewrite]: #713
+#712 := (iff #749 #711)
+#705 := (iff #429 #710)
+#708 := (= #428 #719)
+#718 := (= #417 #714)
+#717 := (= #426 #716)
+#437 := (= #425 1::int)
+#438 := [rewrite]: #437
+#432 := [monotonicity #438]: #717
+#715 := [monotonicity #432]: #718
+#709 := [monotonicity #715]: #708
+#706 := [monotonicity #709]: #705
+#435 := (iff #748 false)
+#446 := (or false false)
+#721 := (iff #446 false)
+#725 := [rewrite]: #721
+#720 := (iff #748 #446)
+#723 := (iff #534 false)
+#373 := (not true)
+#378 := (iff #373 false)
+#379 := [rewrite]: #378
+#346 := (iff #534 #373)
+#451 := (iff #404 true)
+#740 := (or #747 true)
+#449 := (iff #740 true)
+#450 := [rewrite]: #449
+#726 := (iff #404 #740)
+#393 := (iff #745 true)
+#394 := [rewrite]: #393
+#727 := [monotonicity #394]: #726
+#452 := [trans #727 #450]: #451
+#722 := [monotonicity #452]: #346
+#445 := [trans #722 #379]: #723
+#739 := (iff #416 false)
+#736 := (iff #416 #373)
+#729 := (iff #415 true)
+#730 := (or true #741)
+#733 := (iff #730 true)
+#734 := [rewrite]: #733
+#731 := (iff #415 #730)
+#732 := [monotonicity #394]: #731
+#735 := [trans #732 #734]: #729
+#738 := [monotonicity #735]: #736
+#737 := [trans #738 #379]: #739
+#724 := [monotonicity #737 #445]: #720
+#436 := [trans #724 #725]: #435
+#707 := [monotonicity #436 #706]: #712
+#556 := [trans #707 #554]: #555
+#391 := (iff #752 #746)
+#743 := (or #746 false)
+#387 := (iff #743 #746)
+#728 := [rewrite]: #387
+#403 := (iff #752 #743)
+#402 := (iff #751 false)
+#407 := [rewrite]: #402
+#744 := [monotonicity #407]: #403
+#392 := [trans #744 #728]: #391
+#700 := [monotonicity #392 #556]: #699
+#697 := [monotonicity #700]: #703
+#535 := [trans #697 #533]: #703
+#702 := [quant-inst]: #696
+#536 := [mp #702 #535]: #695
+#606 := [unit-resolution #536 #759]: #698
+#694 := (not #698)
+#537 := (or #694 #746 #710)
+#685 := [def-axiom]: #537
+#608 := [unit-resolution #685 #606]: #607
+#613 := [unit-resolution #608 #495]: #746
+#576 := (not #746)
+#609 := (or #576 #750)
+#577 := (or #694 #576 #750)
+#578 := [def-axiom]: #577
+#610 := [unit-resolution #578 #606]: #609
+#611 := [unit-resolution #610 #613]: #750
+#587 := (not #750)
+#614 := (or #587 #690)
+#615 := [th-lemma]: #614
+#616 := [unit-resolution #615 #611]: #690
+#612 := (or #576 #741)
+#617 := [th-lemma]: #612
+#597 := [unit-resolution #617 #613]: #741
+#543 := [th-lemma #597 #635 #616]: false
+#598 := [lemma #543]: #424
+#570 := (or #573 #634)
+#187 := (= #186 0::int)
+#190 := (not #187)
+#42 := (- f5)
+#40 := (- 1::int)
+#41 := (f3 f5 #40)
+#43 := (= #41 #42)
+#44 := (not #43)
+#193 := (iff #44 #190)
+#180 := (= #174 #177)
+#183 := (not #180)
+#191 := (iff #183 #190)
+#188 := (iff #180 #187)
+#189 := [rewrite]: #188
+#192 := [monotonicity #189]: #191
+#184 := (iff #44 #183)
+#181 := (iff #43 #180)
+#178 := (= #42 #177)
+#179 := [rewrite]: #178
+#175 := (= #41 #174)
+#172 := (= #40 -1::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173]: #175
+#182 := [monotonicity #176 #179]: #181
+#185 := [monotonicity #182]: #184
+#194 := [trans #185 #192]: #193
+#171 := [asserted]: #44
+#195 := [mp #171 #194]: #190
+#580 := (or #187 #573 #634)
+#539 := [th-lemma]: #580
+#572 := [unit-resolution #539 #195]: #570
+#574 := [unit-resolution #572 #598]: #573
+#693 := (<= #719 0::int)
+#689 := (<= #174 0::int)
+#579 := [hypothesis]: #746
+#603 := [unit-resolution #610 #579]: #750
+#604 := (or #587 #689)
+#599 := [th-lemma]: #604
+#605 := [unit-resolution #599 #603]: #689
+#581 := (or #576 #747)
+#583 := [th-lemma]: #581
+#584 := [unit-resolution #583 #579]: #747
+#585 := [th-lemma #584 #574 #605]: false
+#595 := [lemma #585]: #576
+#575 := [unit-resolution #608 #595]: #710
+#596 := (or #686 #693)
+#551 := [th-lemma]: #596
+#552 := [unit-resolution #551 #575]: #693
+#558 := (not #693)
+#559 := (or #557 #558 #340)
+#560 := [th-lemma]: #559
+#561 := [unit-resolution #560 #552 #574]: #557
+#562 := (or #623 #663)
+#563 := [th-lemma]: #562
+[unit-resolution #563 #561 #633]: false
+unsat
+dc63212199e3bf7025e9edb37478be0c432e5e83 282 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#38 := 3::int
+#39 := (f3 0::int 3::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#741 := (iff #246 #738)
+#739 := (iff #243 #243)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#743 := [mp #249 #742]: #738
+#572 := (not #738)
+#573 := (or #572 #40)
+#323 := (* -1::int 3::int)
+#408 := (* -1::int 0::int)
+#409 := (div #408 #323)
+#410 := (* -1::int #409)
+#401 := (+ #39 #410)
+#412 := (= #401 0::int)
+#413 := (div 0::int 3::int)
+#341 := (* -1::int #413)
+#414 := (+ #39 #341)
+#411 := (= #414 0::int)
+#415 := (<= 3::int 0::int)
+#394 := (<= 0::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= 0::int 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #412)
+#732 := (= 3::int 0::int)
+#733 := (= 0::int 0::int)
+#734 := (or #733 #732)
+#735 := (ite #734 #40 #400)
+#566 := (or #572 #735)
+#575 := (iff #566 #573)
+#577 := (iff #573 #573)
+#578 := [rewrite]: #577
+#555 := (iff #735 #40)
+#1 := true
+#669 := (ite true #40 #40)
+#667 := (iff #669 #40)
+#670 := [rewrite]: #667
+#571 := (iff #735 #669)
+#562 := (iff #400 #40)
+#677 := (ite false #40 #40)
+#560 := (iff #677 #40)
+#561 := [rewrite]: #560
+#675 := (iff #400 #677)
+#674 := (iff #412 #40)
+#520 := (= #401 #39)
+#703 := (+ #39 0::int)
+#694 := (= #703 #39)
+#689 := [rewrite]: #694
+#517 := (= #401 #703)
+#681 := (= #410 0::int)
+#416 := (= #408 0::int)
+#698 := [rewrite]: #416
+#686 := (= #410 #408)
+#679 := (= #409 0::int)
+#697 := -3::int
+#540 := (div 0::int -3::int)
+#684 := (= #540 0::int)
+#685 := [rewrite]: #684
+#682 := (= #409 #540)
+#538 := (= #323 -3::int)
+#539 := [rewrite]: #538
+#683 := [monotonicity #698 #539]: #682
+#680 := [trans #683 #685]: #679
+#687 := [monotonicity #680]: #686
+#688 := [trans #687 #698]: #681
+#519 := [monotonicity #688]: #517
+#673 := [trans #519 #689]: #520
+#676 := [monotonicity #673]: #674
+#696 := (iff #411 #40)
+#690 := (= #414 #39)
+#692 := (= #414 #703)
+#702 := (= #341 0::int)
+#700 := (= #341 #408)
+#421 := (= #413 0::int)
+#422 := [rewrite]: #421
+#701 := [monotonicity #422]: #700
+#699 := [trans #701 #698]: #702
+#693 := [monotonicity #699]: #692
+#695 := [trans #693 #689]: #690
+#691 := [monotonicity #695]: #696
+#419 := (iff #399 false)
+#430 := (or false false)
+#705 := (iff #430 false)
+#709 := [rewrite]: #705
+#704 := (iff #399 #430)
+#707 := (iff #731 false)
+#720 := (not true)
+#363 := (iff #720 false)
+#723 := [rewrite]: #363
+#329 := (iff #731 #720)
+#435 := (iff #729 true)
+#391 := (or true false)
+#728 := (iff #391 true)
+#371 := [rewrite]: #728
+#433 := (iff #729 #391)
+#376 := (iff #415 false)
+#377 := [rewrite]: #376
+#710 := (iff #394 true)
+#711 := [rewrite]: #710
+#434 := [monotonicity #711 #377]: #433
+#436 := [trans #434 #371]: #435
+#706 := [monotonicity #436]: #329
+#429 := [trans #706 #723]: #707
+#721 := (iff #725 false)
+#722 := (iff #725 #720)
+#719 := (iff #518 true)
+#715 := (or false true)
+#718 := (iff #715 true)
+#713 := [rewrite]: #718
+#716 := (iff #518 #715)
+#378 := (iff #388 true)
+#714 := [rewrite]: #378
+#717 := [monotonicity #377 #714]: #716
+#357 := [trans #717 #713]: #719
+#362 := [monotonicity #357]: #722
+#724 := [trans #362 #723]: #721
+#708 := [monotonicity #724 #429]: #704
+#420 := [trans #708 #709]: #419
+#678 := [monotonicity #420 #691 #676]: #675
+#521 := [trans #678 #561]: #562
+#712 := (iff #734 true)
+#727 := (iff #734 #391)
+#726 := (iff #732 false)
+#386 := [rewrite]: #726
+#730 := (iff #733 true)
+#736 := [rewrite]: #730
+#387 := [monotonicity #736 #386]: #727
+#375 := [trans #387 #371]: #712
+#666 := [monotonicity #375 #521]: #571
+#570 := [trans #666 #670]: #555
+#576 := [monotonicity #570]: #575
+#671 := [trans #576 #578]: #575
+#574 := [quant-inst]: #566
+#668 := [mp #574 #671]: #573
+[unit-resolution #668 #743 #168]: false
+unsat
+cf0d3142916a5bbe5df941c99a7581a67d9434c7 307 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#170 := -3::int
+#173 := (f3 0::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f3 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#753 := (pattern #10)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#255 := (* -1::int #73)
+#256 := (+ #10 #255)
+#257 := (= #256 0::int)
+#21 := (div #8 #9)
+#252 := (* -1::int #21)
+#253 := (+ #10 #252)
+#254 := (= #253 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#258 := (ite #217 #254 #257)
+#251 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#259 := (ite #14 #251 #258)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#757 := (iff #262 #754)
+#755 := (iff #259 #259)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#222 := (ite #217 #21 #73)
+#225 := (ite #14 0::int #222)
+#228 := (= #10 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#232 := (iff #118 #231)
+#229 := (iff #115 #228)
+#226 := (= #112 #225)
+#223 := (= #109 #222)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#206 := (~ #118 #118)
+#204 := (~ #115 #115)
+#205 := [refl]: #204
+#207 := [nnf-pos #205]: #206
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#197 := [mp~ #123 #207]: #118
+#234 := [mp #197 #233]: #231
+#265 := [mp #234 #264]: #262
+#759 := [mp #265 #758]: #754
+#586 := (not #754)
+#588 := (or #586 #176)
+#339 := (* -1::int -3::int)
+#424 := (* -1::int 0::int)
+#425 := (div #424 #339)
+#426 := (* -1::int #425)
+#417 := (+ #173 #426)
+#428 := (= #417 0::int)
+#429 := (div 0::int -3::int)
+#357 := (* -1::int #429)
+#430 := (+ #173 #357)
+#427 := (= #430 0::int)
+#431 := (<= -3::int 0::int)
+#410 := (<= 0::int 0::int)
+#745 := (or #410 #431)
+#747 := (not #745)
+#404 := (>= 0::int 0::int)
+#534 := (or #431 #404)
+#741 := (not #534)
+#415 := (or #741 #747)
+#416 := (ite #415 #427 #428)
+#748 := (= -3::int 0::int)
+#749 := (= 0::int 0::int)
+#750 := (or #749 #748)
+#751 := (ite #750 #176 #416)
+#589 := (or #586 #751)
+#590 := (iff #589 #588)
+#592 := (iff #588 #588)
+#593 := [rewrite]: #592
+#686 := (iff #751 #176)
+#1 := true
+#537 := (ite true #176 #176)
+#682 := (iff #537 #176)
+#683 := [rewrite]: #682
+#685 := (iff #751 #537)
+#577 := (iff #416 #176)
+#692 := (ite false #176 #176)
+#694 := (iff #692 #176)
+#576 := [rewrite]: #694
+#693 := (iff #416 #692)
+#689 := (iff #428 #176)
+#535 := (= #417 #173)
+#719 := (+ #173 0::int)
+#710 := (= #719 #173)
+#705 := [rewrite]: #710
+#704 := (= #417 #719)
+#703 := (= #426 0::int)
+#432 := (= #424 0::int)
+#714 := [rewrite]: #432
+#696 := (= #426 #424)
+#701 := (= #425 0::int)
+#555 := (div 0::int 3::int)
+#699 := (= #555 0::int)
+#700 := [rewrite]: #699
+#556 := (= #425 #555)
+#713 := (= #339 3::int)
+#554 := [rewrite]: #713
+#698 := [monotonicity #714 #554]: #556
+#695 := [trans #698 #700]: #701
+#702 := [monotonicity #695]: #696
+#697 := [trans #702 #714]: #703
+#533 := [monotonicity #697]: #704
+#536 := [trans #533 #705]: #535
+#690 := [monotonicity #536]: #689
+#712 := (iff #427 #176)
+#706 := (= #430 #173)
+#708 := (= #430 #719)
+#718 := (= #357 0::int)
+#716 := (= #357 #424)
+#437 := (= #429 0::int)
+#438 := [rewrite]: #437
+#717 := [monotonicity #438]: #716
+#715 := [trans #717 #714]: #718
+#709 := [monotonicity #715]: #708
+#711 := [trans #709 #705]: #706
+#707 := [monotonicity #711]: #712
+#435 := (iff #415 false)
+#446 := (or false false)
+#721 := (iff #446 false)
+#725 := [rewrite]: #721
+#720 := (iff #415 #446)
+#723 := (iff #747 false)
+#736 := (not true)
+#379 := (iff #736 false)
+#739 := [rewrite]: #379
+#345 := (iff #747 #736)
+#451 := (iff #745 true)
+#731 := (or true true)
+#734 := (iff #731 true)
+#729 := [rewrite]: #734
+#449 := (iff #745 #731)
+#392 := (iff #431 true)
+#393 := [rewrite]: #392
+#726 := (iff #410 true)
+#727 := [rewrite]: #726
+#450 := [monotonicity #727 #393]: #449
+#452 := [trans #450 #729]: #451
+#722 := [monotonicity #452]: #345
+#445 := [trans #722 #739]: #723
+#737 := (iff #741 false)
+#738 := (iff #741 #736)
+#735 := (iff #534 true)
+#732 := (iff #534 #731)
+#394 := (iff #404 true)
+#730 := [rewrite]: #394
+#733 := [monotonicity #393 #730]: #732
+#373 := [trans #733 #729]: #735
+#378 := [monotonicity #373]: #738
+#740 := [trans #378 #739]: #737
+#724 := [monotonicity #740 #445]: #720
+#436 := [trans #724 #725]: #435
+#691 := [monotonicity #436 #707 #690]: #693
+#578 := [trans #691 #576]: #577
+#728 := (iff #750 true)
+#407 := (or true false)
+#744 := (iff #407 true)
+#387 := [rewrite]: #744
+#743 := (iff #750 #407)
+#742 := (iff #748 false)
+#402 := [rewrite]: #742
+#746 := (iff #749 true)
+#752 := [rewrite]: #746
+#403 := [monotonicity #752 #402]: #743
+#391 := [trans #403 #387]: #728
+#587 := [monotonicity #391 #578]: #685
+#571 := [trans #587 #683]: #686
+#591 := [monotonicity #571]: #590
+#594 := [trans #591 #593]: #590
+#582 := [quant-inst]: #589
+#687 := [mp #582 #594]: #588
+[unit-resolution #687 #759 #194]: false
+unsat
+91fd73ae8738814bbc00cdfb0e1d2940049d29be 296 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#39 := 3::int
+#38 := 1::int
+#40 := (f3 1::int 3::int)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#240 := (* -1::int #73)
+#241 := (+ #10 #240)
+#242 := (= #241 0::int)
+#21 := (div #8 #9)
+#237 := (* -1::int #21)
+#238 := (+ #10 #237)
+#239 := (= #238 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#243 := (ite #202 #239 #242)
+#236 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#244 := (ite #14 #236 #243)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #244)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#741 := (iff #247 #738)
+#739 := (iff #244 #244)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#207 := (ite #202 #21 #73)
+#210 := (ite #14 0::int #207)
+#213 := (= #10 #210)
+#216 := (forall (vars (?v0 int) (?v1 int)) #213)
+#248 := (iff #216 #247)
+#245 := (iff #213 #244)
+#246 := [rewrite]: #245
+#249 := [quant-intro #246]: #248
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#217 := (iff #118 #216)
+#214 := (iff #115 #213)
+#211 := (= #112 #210)
+#208 := (= #109 #207)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [quant-intro #215]: #217
+#191 := (~ #118 #118)
+#189 := (~ #115 #115)
+#190 := [refl]: #189
+#192 := [nnf-pos #190]: #191
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#182 := [mp~ #123 #192]: #118
+#219 := [mp #182 #218]: #216
+#250 := [mp #219 #249]: #247
+#743 := [mp #250 #742]: #738
+#650 := (not #738)
+#652 := (or #650 #41)
+#324 := (* -1::int 3::int)
+#408 := (* -1::int 1::int)
+#409 := (div #408 #324)
+#410 := (* -1::int #409)
+#401 := (+ #40 #410)
+#412 := (= #401 0::int)
+#413 := (div 1::int 3::int)
+#414 := (* -1::int #413)
+#411 := (+ #40 #414)
+#415 := (= #411 0::int)
+#394 := (<= 3::int 0::int)
+#729 := (<= 1::int 0::int)
+#731 := (or #729 #394)
+#388 := (not #731)
+#518 := (>= 1::int 0::int)
+#725 := (or #394 #518)
+#399 := (not #725)
+#400 := (or #399 #388)
+#732 := (ite #400 #415 #412)
+#733 := (= 3::int 0::int)
+#734 := (= 1::int 0::int)
+#735 := (or #734 #733)
+#730 := (ite #735 #41 #732)
+#662 := (or #650 #730)
+#664 := (iff #662 #652)
+#665 := (iff #652 #652)
+#654 := [rewrite]: #665
+#661 := (iff #730 #41)
+#578 := (ite false #41 #41)
+#672 := (iff #578 #41)
+#659 := [rewrite]: #672
+#671 := (iff #730 #578)
+#576 := (iff #732 #41)
+#666 := (= #40 1::int)
+#1 := true
+#572 := (ite true #41 #666)
+#574 := (iff #572 #41)
+#575 := [rewrite]: #574
+#573 := (iff #732 #572)
+#555 := (iff #412 #666)
+#675 := (+ -1::int #40)
+#521 := (= #675 0::int)
+#667 := (iff #521 #666)
+#670 := [rewrite]: #667
+#669 := (iff #412 #521)
+#561 := (= #401 #675)
+#674 := (+ #40 -1::int)
+#678 := (= #674 #675)
+#560 := [rewrite]: #678
+#676 := (= #401 #674)
+#520 := (= #410 -1::int)
+#539 := (= #408 -1::int)
+#540 := [rewrite]: #539
+#517 := (= #410 #408)
+#681 := (= #409 1::int)
+#682 := -3::int
+#685 := (div -1::int -3::int)
+#686 := (= #685 1::int)
+#687 := [rewrite]: #686
+#679 := (= #409 #685)
+#683 := (= #324 -3::int)
+#684 := [rewrite]: #683
+#680 := [monotonicity #540 #684]: #679
+#688 := [trans #680 #687]: #681
+#519 := [monotonicity #688]: #517
+#673 := [trans #519 #540]: #520
+#677 := [monotonicity #673]: #676
+#562 := [trans #677 #560]: #561
+#571 := [monotonicity #562]: #669
+#570 := [trans #571 #670]: #555
+#697 := (iff #415 #41)
+#696 := (= #411 #40)
+#693 := (+ #40 0::int)
+#690 := (= #693 #40)
+#695 := [rewrite]: #690
+#694 := (= #411 #693)
+#703 := (= #414 0::int)
+#701 := (* -1::int 0::int)
+#702 := (= #701 0::int)
+#699 := [rewrite]: #702
+#416 := (= #414 #701)
+#422 := (= #413 0::int)
+#700 := [rewrite]: #422
+#698 := [monotonicity #700]: #416
+#692 := [trans #698 #699]: #703
+#689 := [monotonicity #692]: #694
+#691 := [trans #689 #695]: #696
+#538 := [monotonicity #691]: #697
+#420 := (iff #400 true)
+#716 := (or false true)
+#713 := (iff #716 true)
+#719 := [rewrite]: #713
+#709 := (iff #400 #716)
+#708 := (iff #388 true)
+#706 := (not false)
+#430 := (iff #706 true)
+#704 := [rewrite]: #430
+#707 := (iff #388 #706)
+#436 := (iff #731 false)
+#727 := (or false false)
+#371 := (iff #727 false)
+#712 := [rewrite]: #371
+#434 := (iff #731 #727)
+#377 := (iff #394 false)
+#378 := [rewrite]: #377
+#711 := (iff #729 false)
+#433 := [rewrite]: #711
+#435 := [monotonicity #433 #378]: #434
+#330 := [trans #435 #712]: #436
+#429 := [monotonicity #330]: #707
+#705 := [trans #429 #704]: #708
+#724 := (iff #399 false)
+#722 := (not true)
+#723 := (iff #722 false)
+#721 := [rewrite]: #723
+#362 := (iff #399 #722)
+#357 := (iff #725 true)
+#717 := (iff #725 #716)
+#714 := (iff #518 true)
+#715 := [rewrite]: #714
+#718 := [monotonicity #378 #715]: #717
+#720 := [trans #718 #719]: #357
+#363 := [monotonicity #720]: #362
+#710 := [trans #363 #721]: #724
+#419 := [monotonicity #710 #705]: #709
+#421 := [trans #419 #719]: #420
+#566 := [monotonicity #421 #538 #570]: #573
+#577 := [trans #566 #575]: #576
+#375 := (iff #735 false)
+#387 := (iff #735 #727)
+#386 := (iff #733 false)
+#391 := [rewrite]: #386
+#736 := (iff #734 false)
+#726 := [rewrite]: #736
+#728 := [monotonicity #726 #391]: #387
+#376 := [trans #728 #712]: #375
+#668 := [monotonicity #376 #577]: #671
+#653 := [trans #668 #659]: #661
+#660 := [monotonicity #653]: #664
+#655 := [trans #660 #654]: #664
+#663 := [quant-inst]: #662
+#656 := [mp #663 #655]: #652
+[unit-resolution #656 #743 #169]: false
+unsat
+2e80b98ca6f4b01d1fe128d4c33920f87e240c96 286 0
+#2 := false
+#40 := 1::int
+decl f3 :: (-> int int int)
+#38 := 3::int
+#39 := (f3 3::int 3::int)
+#41 := (= #39 1::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#727 := (pattern #10)
+#11 := 0::int
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#230 := (* -1::int #73)
+#231 := (+ #10 #230)
+#232 := (= #231 0::int)
+#21 := (div #8 #9)
+#227 := (* -1::int #21)
+#228 := (+ #10 #227)
+#229 := (= #228 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#185 := (or #88 #92)
+#186 := (not #185)
+#99 := (>= #8 0::int)
+#177 := (or #92 #99)
+#178 := (not #177)
+#192 := (or #178 #186)
+#233 := (ite #192 #229 #232)
+#226 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#234 := (ite #14 #226 #233)
+#728 := (forall (vars (?v0 int) (?v1 int)) (:pat #727) #234)
+#237 := (forall (vars (?v0 int) (?v1 int)) #234)
+#731 := (iff #237 #728)
+#729 := (iff #234 #234)
+#730 := [refl]: #729
+#732 := [quant-intro #730]: #731
+#197 := (ite #192 #21 #73)
+#200 := (ite #14 0::int #197)
+#203 := (= #10 #200)
+#206 := (forall (vars (?v0 int) (?v1 int)) #203)
+#238 := (iff #206 #237)
+#235 := (iff #203 #234)
+#236 := [rewrite]: #235
+#239 := [quant-intro #236]: #238
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#207 := (iff #118 #206)
+#204 := (iff #115 #203)
+#201 := (= #112 #200)
+#198 := (= #109 #197)
+#195 := (iff #106 #192)
+#189 := (or #186 #178)
+#193 := (iff #189 #192)
+#194 := [rewrite]: #193
+#190 := (iff #106 #189)
+#187 := (iff #103 #178)
+#188 := [rewrite]: #187
+#175 := (iff #96 #186)
+#176 := [rewrite]: #175
+#191 := [monotonicity #176 #188]: #190
+#196 := [trans #191 #194]: #195
+#199 := [monotonicity #196]: #198
+#202 := [monotonicity #199]: #201
+#205 := [monotonicity #202]: #204
+#208 := [quant-intro #205]: #207
+#181 := (~ #118 #118)
+#179 := (~ #115 #115)
+#180 := [refl]: #179
+#182 := [nnf-pos #180]: #181
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#172 := [mp~ #123 #182]: #118
+#209 := [mp #172 #208]: #206
+#240 := [mp #209 #239]: #237
+#733 := [mp #240 #732]: #728
+#565 := (not #728)
+#566 := (or #565 #41)
+#314 := (* -1::int 3::int)
+#398 := (div #314 #314)
+#399 := (* -1::int #398)
+#400 := (+ #39 #399)
+#391 := (= #400 0::int)
+#402 := (div 3::int 3::int)
+#403 := (* -1::int #402)
+#404 := (+ #39 #403)
+#401 := (= #404 0::int)
+#405 := (<= 3::int 0::int)
+#384 := (or #405 #405)
+#719 := (not #384)
+#721 := (>= 3::int 0::int)
+#378 := (or #405 #721)
+#508 := (not #378)
+#715 := (or #508 #719)
+#389 := (ite #715 #401 #391)
+#390 := (= #39 0::int)
+#722 := (= 3::int 0::int)
+#723 := (or #722 #722)
+#724 := (ite #723 #390 #389)
+#567 := (or #565 #724)
+#661 := (iff #567 #566)
+#662 := (iff #566 #566)
+#649 := [rewrite]: #662
+#556 := (iff #724 #41)
+#660 := (ite false #390 #41)
+#562 := (iff #660 #41)
+#563 := [rewrite]: #562
+#545 := (iff #724 #660)
+#656 := (iff #389 #41)
+#1 := true
+#551 := (ite true #41 #41)
+#659 := (iff #551 #41)
+#561 := [rewrite]: #659
+#552 := (iff #389 #551)
+#668 := (iff #391 #41)
+#689 := (+ -1::int #39)
+#679 := (= #689 0::int)
+#686 := (iff #679 #41)
+#681 := [rewrite]: #686
+#667 := (iff #391 #679)
+#664 := (= #400 #689)
+#406 := (+ #39 -1::int)
+#693 := (= #406 #689)
+#682 := [rewrite]: #693
+#510 := (= #400 #406)
+#507 := (= #399 -1::int)
+#699 := (* -1::int 1::int)
+#411 := (= #699 -1::int)
+#412 := [rewrite]: #411
+#671 := (= #399 #699)
+#676 := (= #398 1::int)
+#529 := -3::int
+#673 := (div -3::int -3::int)
+#669 := (= #673 1::int)
+#670 := [rewrite]: #669
+#674 := (= #398 #673)
+#530 := (= #314 -3::int)
+#672 := [rewrite]: #530
+#675 := [monotonicity #672 #672]: #674
+#677 := [trans #675 #670]: #676
+#678 := [monotonicity #677]: #671
+#509 := [trans #678 #412]: #507
+#663 := [monotonicity #509]: #510
+#666 := [trans #663 #682]: #664
+#665 := [monotonicity #666]: #667
+#550 := [trans #665 #681]: #668
+#687 := (iff #401 #41)
+#680 := (iff #401 #679)
+#683 := (= #404 #689)
+#688 := (= #404 #406)
+#690 := (= #403 -1::int)
+#409 := (= #403 #699)
+#698 := (= #402 1::int)
+#695 := [rewrite]: #698
+#410 := [monotonicity #695]: #409
+#691 := [trans #410 #412]: #690
+#692 := [monotonicity #691]: #688
+#684 := [trans #692 #682]: #683
+#685 := [monotonicity #684]: #680
+#528 := [trans #685 #681]: #687
+#420 := (iff #715 true)
+#367 := (or false true)
+#705 := (iff #367 true)
+#706 := [rewrite]: #705
+#697 := (iff #715 #367)
+#320 := (iff #719 true)
+#701 := (not false)
+#425 := (iff #701 true)
+#426 := [rewrite]: #425
+#423 := (iff #719 #701)
+#714 := (iff #384 false)
+#726 := (or false false)
+#381 := (iff #726 false)
+#717 := [rewrite]: #381
+#713 := (iff #384 #726)
+#361 := (iff #405 false)
+#702 := [rewrite]: #361
+#711 := [monotonicity #702 #702]: #713
+#700 := [trans #711 #717]: #714
+#424 := [monotonicity #700]: #423
+#696 := [trans #424 #426]: #320
+#352 := (iff #508 false)
+#703 := (not true)
+#710 := (iff #703 false)
+#712 := [rewrite]: #710
+#709 := (iff #508 #703)
+#707 := (iff #378 true)
+#368 := (iff #378 #367)
+#365 := (iff #721 true)
+#366 := [rewrite]: #365
+#704 := [monotonicity #702 #366]: #368
+#708 := [trans #704 #706]: #707
+#347 := [monotonicity #708]: #709
+#353 := [trans #347 #712]: #352
+#419 := [monotonicity #353 #696]: #697
+#694 := [trans #419 #706]: #420
+#511 := [monotonicity #694 #528 #550]: #552
+#657 := [trans #511 #561]: #656
+#377 := (iff #723 false)
+#716 := (iff #723 #726)
+#725 := (iff #722 false)
+#720 := [rewrite]: #725
+#376 := [monotonicity #720 #720]: #716
+#718 := [trans #376 #717]: #377
+#560 := [monotonicity #718 #657]: #545
+#564 := [trans #560 #563]: #556
+#658 := [monotonicity #564]: #661
+#651 := [trans #658 #649]: #661
+#568 := [quant-inst]: #567
+#643 := [mp #568 #651]: #566
+[unit-resolution #643 #733 #169]: false
+unsat
+3d82cac7e2284fdad9e592676816cfc50bf9b7bb 310 0
+#2 := false
+#41 := 1::int
+decl f3 :: (-> int int int)
+#39 := 3::int
+#38 := 5::int
+#40 := (f3 5::int 3::int)
+#42 := (= #40 1::int)
+#43 := (not #42)
+#170 := [asserted]: #43
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#728 := (pattern #10)
+#11 := 0::int
+#67 := -1::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#74 := (div #68 #71)
+#231 := (* -1::int #74)
+#232 := (+ #10 #231)
+#233 := (= #232 0::int)
+#21 := (div #8 #9)
+#228 := (* -1::int #21)
+#229 := (+ #10 #228)
+#230 := (= #229 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#186 := (or #89 #93)
+#187 := (not #186)
+#100 := (>= #8 0::int)
+#178 := (or #93 #100)
+#179 := (not #178)
+#193 := (or #179 #187)
+#234 := (ite #193 #230 #233)
+#227 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#235 := (ite #14 #227 #234)
+#729 := (forall (vars (?v0 int) (?v1 int)) (:pat #728) #235)
+#238 := (forall (vars (?v0 int) (?v1 int)) #235)
+#732 := (iff #238 #729)
+#730 := (iff #235 #235)
+#731 := [refl]: #730
+#733 := [quant-intro #731]: #732
+#198 := (ite #193 #21 #74)
+#201 := (ite #14 0::int #198)
+#204 := (= #10 #201)
+#207 := (forall (vars (?v0 int) (?v1 int)) #204)
+#239 := (iff #207 #238)
+#236 := (iff #204 #235)
+#237 := [rewrite]: #236
+#240 := [quant-intro #237]: #239
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (ite #107 #21 #74)
+#113 := (ite #14 0::int #110)
+#116 := (= #10 #113)
+#119 := (forall (vars (?v0 int) (?v1 int)) #116)
+#208 := (iff #119 #207)
+#205 := (iff #116 #204)
+#202 := (= #113 #201)
+#199 := (= #110 #198)
+#196 := (iff #107 #193)
+#190 := (or #187 #179)
+#194 := (iff #190 #193)
+#195 := [rewrite]: #194
+#191 := (iff #107 #190)
+#188 := (iff #104 #179)
+#189 := [rewrite]: #188
+#176 := (iff #97 #187)
+#177 := [rewrite]: #176
+#192 := [monotonicity #177 #189]: #191
+#197 := [trans #192 #195]: #196
+#200 := [monotonicity #197]: #199
+#203 := [monotonicity #200]: #202
+#206 := [monotonicity #203]: #205
+#209 := [quant-intro #206]: #208
+#182 := (~ #119 #119)
+#180 := (~ #116 #116)
+#181 := [refl]: #180
+#183 := [nnf-pos #181]: #182
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#122 := (iff #28 #119)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#77 := (ite #64 #21 #74)
+#80 := (ite #14 0::int #77)
+#83 := (= #10 #80)
+#86 := (forall (vars (?v0 int) (?v1 int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #28 #86)
+#84 := (iff #27 #83)
+#81 := (= #26 #80)
+#78 := (= #25 #77)
+#75 := (= #24 #74)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#79 := [monotonicity #66 #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#60 := [asserted]: #28
+#124 := [mp #60 #123]: #119
+#173 := [mp~ #124 #183]: #119
+#210 := [mp #173 #209]: #207
+#241 := [mp #210 #240]: #238
+#734 := [mp #241 #733]: #729
+#633 := (not #729)
+#634 := (or #633 #42)
+#315 := (* -1::int 3::int)
+#399 := (* -1::int 5::int)
+#400 := (div #399 #315)
+#401 := (* -1::int #400)
+#392 := (+ #40 #401)
+#403 := (= #392 0::int)
+#404 := (div 5::int 3::int)
+#405 := (* -1::int #404)
+#402 := (+ #40 #405)
+#406 := (= #402 0::int)
+#385 := (<= 3::int 0::int)
+#720 := (<= 5::int 0::int)
+#722 := (or #720 #385)
+#379 := (not #722)
+#509 := (>= 5::int 0::int)
+#716 := (or #385 #509)
+#390 := (not #716)
+#391 := (or #390 #379)
+#723 := (ite #391 #406 #403)
+#724 := (= #40 0::int)
+#725 := (= 3::int 0::int)
+#726 := (= 5::int 0::int)
+#721 := (or #726 #725)
+#727 := (ite #721 #724 #723)
+#636 := (or #633 #727)
+#638 := (iff #636 #634)
+#635 := (iff #634 #634)
+#640 := [rewrite]: #635
+#642 := (iff #727 #42)
+#656 := (ite false #724 #42)
+#647 := (iff #656 #42)
+#648 := [rewrite]: #647
+#645 := (iff #727 #656)
+#655 := (iff #723 #42)
+#665 := 2::int
+#662 := (= #40 2::int)
+#1 := true
+#644 := (ite true #42 #662)
+#653 := (iff #644 #42)
+#654 := [rewrite]: #653
+#641 := (iff #723 #644)
+#650 := (iff #403 #662)
+#512 := -2::int
+#563 := (+ -2::int #40)
+#567 := (= #563 0::int)
+#659 := (iff #567 #662)
+#663 := [rewrite]: #659
+#568 := (iff #403 #567)
+#565 := (= #392 #563)
+#661 := (+ #40 -2::int)
+#564 := (= #661 #563)
+#557 := [rewrite]: #564
+#546 := (= #392 #661)
+#657 := (= #401 -2::int)
+#551 := (* -1::int 2::int)
+#660 := (= #551 -2::int)
+#562 := [rewrite]: #660
+#552 := (= #401 #551)
+#666 := (= #400 2::int)
+#672 := -3::int
+#671 := -5::int
+#510 := (div -5::int -3::int)
+#667 := (= #510 2::int)
+#668 := [rewrite]: #667
+#511 := (= #400 #510)
+#679 := (= #315 -3::int)
+#508 := [rewrite]: #679
+#677 := (= #399 -5::int)
+#678 := [rewrite]: #677
+#664 := [monotonicity #678 #508]: #511
+#669 := [trans #664 #668]: #666
+#553 := [monotonicity #669]: #552
+#658 := [trans #553 #562]: #657
+#561 := [monotonicity #658]: #546
+#566 := [trans #561 #557]: #565
+#569 := [monotonicity #566]: #568
+#652 := [trans #569 #663]: #650
+#676 := (iff #406 #42)
+#686 := (+ -1::int #40)
+#530 := (= #686 0::int)
+#674 := (iff #530 #42)
+#675 := [rewrite]: #674
+#531 := (iff #406 #530)
+#688 := (= #402 #686)
+#685 := (+ #40 -1::int)
+#687 := (= #685 #686)
+#682 := [rewrite]: #687
+#680 := (= #402 #685)
+#683 := (= #405 -1::int)
+#407 := (* -1::int 1::int)
+#690 := (= #407 -1::int)
+#694 := [rewrite]: #690
+#689 := (= #405 #407)
+#691 := (= #404 1::int)
+#692 := [rewrite]: #691
+#693 := [monotonicity #692]: #689
+#684 := [trans #693 #694]: #683
+#681 := [monotonicity #684]: #680
+#529 := [trans #681 #682]: #688
+#673 := [monotonicity #529]: #531
+#670 := [trans #673 #675]: #676
+#412 := (iff #391 true)
+#708 := (or false true)
+#710 := (iff #708 true)
+#348 := [rewrite]: #710
+#410 := (iff #391 #708)
+#696 := (iff #379 true)
+#698 := (not false)
+#695 := (iff #698 true)
+#699 := [rewrite]: #695
+#420 := (iff #379 #698)
+#321 := (iff #722 false)
+#378 := (or false false)
+#703 := (iff #378 false)
+#366 := [rewrite]: #703
+#426 := (iff #722 #378)
+#369 := (iff #385 false)
+#705 := [rewrite]: #369
+#424 := (iff #720 false)
+#425 := [rewrite]: #424
+#427 := [monotonicity #425 #705]: #426
+#697 := [trans #427 #366]: #321
+#421 := [monotonicity #697]: #420
+#700 := [trans #421 #699]: #696
+#701 := (iff #390 false)
+#353 := (not true)
+#712 := (iff #353 false)
+#715 := [rewrite]: #712
+#354 := (iff #390 #353)
+#711 := (iff #716 true)
+#709 := (iff #716 #708)
+#706 := (iff #509 true)
+#707 := [rewrite]: #706
+#704 := [monotonicity #705 #707]: #709
+#713 := [trans #704 #348]: #711
+#714 := [monotonicity #713]: #354
+#702 := [trans #714 #715]: #701
+#411 := [monotonicity #702 #700]: #410
+#413 := [trans #411 #348]: #412
+#643 := [monotonicity #413 #670 #652]: #641
+#651 := [trans #643 #654]: #655
+#367 := (iff #721 false)
+#719 := (iff #721 #378)
+#382 := (iff #725 false)
+#718 := [rewrite]: #382
+#717 := (iff #726 false)
+#377 := [rewrite]: #717
+#362 := [monotonicity #377 #718]: #719
+#368 := [trans #362 #366]: #367
+#646 := [monotonicity #368 #651]: #645
+#649 := [trans #646 #648]: #642
+#639 := [monotonicity #649]: #638
+#626 := [trans #639 #640]: #638
+#637 := [quant-inst]: #636
+#627 := [mp #637 #626]: #634
+[unit-resolution #627 #734 #170]: false
+unsat
+60541c46f7f803caac78d0140715e5d7e1d5083e 324 0
+#2 := false
+#68 := -1::int
+decl f3 :: (-> int int int)
+#172 := -3::int
+#38 := 1::int
+#175 := (f3 1::int -3::int)
+#180 := (= #175 -1::int)
+#193 := (not #180)
+#42 := (- 1::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f3 1::int #40)
+#43 := (= #41 #42)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #175)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 -1::int)
+#179 := [rewrite]: #178
+#176 := (= #41 #175)
+#173 := (= #40 -3::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#182 := [monotonicity #177 #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#672 := (not #757)
+#669 := (or #672 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int 1::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #175 #429)
+#431 := (= #420 0::int)
+#432 := (div 1::int -3::int)
+#433 := (* -1::int #432)
+#430 := (+ #175 #433)
+#434 := (= #430 0::int)
+#413 := (<= -3::int 0::int)
+#748 := (<= 1::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= 1::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= #175 0::int)
+#753 := (= -3::int 0::int)
+#754 := (= 1::int 0::int)
+#749 := (or #754 #753)
+#755 := (ite #749 #752 #751)
+#671 := (or #672 #755)
+#682 := (iff #671 #669)
+#679 := (iff #669 #669)
+#684 := [rewrite]: #679
+#678 := (iff #755 #180)
+#585 := (ite false #752 #180)
+#595 := (iff #585 #180)
+#596 := [rewrite]: #595
+#687 := (iff #755 #585)
+#597 := (iff #751 #180)
+#593 := (iff #751 #585)
+#591 := (iff #431 #180)
+#580 := (+ 1::int #175)
+#685 := (= #580 0::int)
+#574 := (iff #685 #180)
+#589 := [rewrite]: #574
+#686 := (iff #431 #685)
+#688 := (= #420 #580)
+#694 := (+ #175 1::int)
+#581 := (= #694 #580)
+#540 := [rewrite]: #581
+#697 := (= #420 #694)
+#695 := (= #429 1::int)
+#536 := (* -1::int -1::int)
+#692 := (= #536 1::int)
+#693 := [rewrite]: #692
+#538 := (= #429 #536)
+#700 := (= #428 -1::int)
+#704 := (div -1::int 3::int)
+#705 := (= #704 -1::int)
+#706 := [rewrite]: #705
+#698 := (= #428 #704)
+#702 := (= #343 3::int)
+#703 := [rewrite]: #702
+#559 := (= #427 -1::int)
+#701 := [rewrite]: #559
+#699 := [monotonicity #701 #703]: #698
+#707 := [trans #699 #706]: #700
+#539 := [monotonicity #707]: #538
+#696 := [trans #539 #693]: #695
+#579 := [monotonicity #696]: #697
+#590 := [trans #579 #540]: #688
+#689 := [monotonicity #590]: #686
+#592 := [trans #689 #589]: #591
+#557 := (iff #434 #752)
+#710 := (= #430 #175)
+#713 := (+ #175 0::int)
+#714 := (= #713 #175)
+#715 := [rewrite]: #714
+#708 := (= #430 #713)
+#711 := (= #433 0::int)
+#435 := (* -1::int 0::int)
+#718 := (= #435 0::int)
+#722 := [rewrite]: #718
+#717 := (= #433 #435)
+#719 := (= #432 0::int)
+#720 := [rewrite]: #719
+#721 := [monotonicity #720]: #717
+#712 := [trans #721 #722]: #711
+#709 := [monotonicity #712]: #708
+#716 := [trans #709 #715]: #710
+#558 := [monotonicity #716]: #557
+#440 := (iff #419 false)
+#406 := (or false false)
+#731 := (iff #406 false)
+#394 := [rewrite]: #731
+#438 := (iff #419 #406)
+#724 := (iff #407 false)
+#1 := true
+#381 := (not true)
+#740 := (iff #381 false)
+#743 := [rewrite]: #740
+#723 := (iff #407 #381)
+#448 := (iff #750 true)
+#454 := (or false true)
+#725 := (iff #454 true)
+#726 := [rewrite]: #725
+#455 := (iff #750 #454)
+#397 := (iff #413 true)
+#733 := [rewrite]: #397
+#452 := (iff #748 false)
+#453 := [rewrite]: #452
+#349 := [monotonicity #453 #733]: #455
+#449 := [trans #349 #726]: #448
+#727 := [monotonicity #449]: #723
+#728 := [trans #727 #743]: #724
+#729 := (iff #418 false)
+#382 := (iff #418 #381)
+#739 := (iff #744 true)
+#736 := (or true true)
+#738 := (iff #736 true)
+#376 := [rewrite]: #738
+#737 := (iff #744 #736)
+#734 := (iff #537 true)
+#735 := [rewrite]: #734
+#732 := [monotonicity #733 #735]: #737
+#741 := [trans #732 #376]: #739
+#742 := [monotonicity #741]: #382
+#730 := [trans #742 #743]: #729
+#439 := [monotonicity #730 #728]: #438
+#441 := [trans #439 #394]: #440
+#594 := [monotonicity #441 #558 #592]: #593
+#690 := [trans #594 #596]: #597
+#395 := (iff #749 false)
+#747 := (iff #749 #406)
+#410 := (iff #753 false)
+#746 := [rewrite]: #410
+#745 := (iff #754 false)
+#405 := [rewrite]: #745
+#390 := [monotonicity #405 #746]: #747
+#396 := [trans #390 #394]: #395
+#691 := [monotonicity #396 #690]: #687
+#680 := [trans #691 #596]: #678
+#683 := [monotonicity #680]: #682
+#673 := [trans #683 #684]: #682
+#681 := [quant-inst]: #671
+#674 := [mp #681 #673]: #669
+[unit-resolution #674 #762 #198]: false
+unsat
+6f5d9cecb388d30f1cb3d3551956ec499193ad69 323 0
+#2 := false
+#68 := -1::int
+decl f3 :: (-> int int int)
+#172 := -3::int
+#38 := 3::int
+#175 := (f3 3::int -3::int)
+#180 := (= #175 -1::int)
+#193 := (not #180)
+#41 := 1::int
+#42 := (- 1::int)
+#39 := (- 3::int)
+#40 := (f3 3::int #39)
+#43 := (= #40 #42)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #175)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 -1::int)
+#179 := [rewrite]: #178
+#176 := (= #40 #175)
+#173 := (= #39 -3::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#182 := [monotonicity #177 #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#680 := (not #757)
+#672 := (or #680 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int 3::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #175 #429)
+#431 := (= #420 0::int)
+#432 := (div 3::int -3::int)
+#433 := (* -1::int #432)
+#430 := (+ #175 #433)
+#434 := (= #430 0::int)
+#413 := (<= -3::int 0::int)
+#748 := (<= 3::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= 3::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= #175 0::int)
+#753 := (= -3::int 0::int)
+#754 := (= 3::int 0::int)
+#749 := (or #754 #753)
+#755 := (ite #749 #752 #751)
+#669 := (or #680 #755)
+#681 := (iff #669 #672)
+#683 := (iff #672 #672)
+#679 := [rewrite]: #683
+#691 := (iff #755 #180)
+#595 := (ite false #752 #180)
+#690 := (iff #595 #180)
+#687 := [rewrite]: #690
+#596 := (iff #755 #595)
+#593 := (iff #751 #180)
+#574 := (ite false #180 #180)
+#592 := (iff #574 #180)
+#585 := [rewrite]: #592
+#589 := (iff #751 #574)
+#686 := (iff #431 #180)
+#714 := (+ 1::int #175)
+#558 := (= #714 0::int)
+#702 := (iff #558 #180)
+#703 := [rewrite]: #702
+#590 := (iff #431 #558)
+#540 := (= #420 #714)
+#713 := (+ #175 1::int)
+#715 := (= #713 #714)
+#710 := [rewrite]: #715
+#580 := (= #420 #713)
+#697 := (= #429 1::int)
+#435 := (* -1::int -1::int)
+#718 := (= #435 1::int)
+#722 := [rewrite]: #718
+#696 := (= #429 #435)
+#693 := (= #428 -1::int)
+#707 := (div -3::int 3::int)
+#539 := (= #707 -1::int)
+#692 := [rewrite]: #539
+#536 := (= #428 #707)
+#706 := (= #343 3::int)
+#700 := [rewrite]: #706
+#699 := (= #427 -3::int)
+#705 := [rewrite]: #699
+#538 := [monotonicity #705 #700]: #536
+#695 := [trans #538 #692]: #693
+#694 := [monotonicity #695]: #696
+#579 := [trans #694 #722]: #697
+#581 := [monotonicity #579]: #580
+#688 := [trans #581 #710]: #540
+#685 := [monotonicity #688]: #590
+#689 := [trans #685 #703]: #686
+#704 := (iff #434 #180)
+#559 := (iff #434 #558)
+#716 := (= #430 #714)
+#708 := (= #430 #713)
+#711 := (= #433 1::int)
+#717 := (= #433 #435)
+#719 := (= #432 -1::int)
+#720 := [rewrite]: #719
+#721 := [monotonicity #720]: #717
+#712 := [trans #721 #722]: #711
+#709 := [monotonicity #712]: #708
+#557 := [trans #709 #710]: #716
+#701 := [monotonicity #557]: #559
+#698 := [trans #701 #703]: #704
+#440 := (iff #419 false)
+#406 := (or false false)
+#731 := (iff #406 false)
+#394 := [rewrite]: #731
+#438 := (iff #419 #406)
+#724 := (iff #407 false)
+#1 := true
+#381 := (not true)
+#740 := (iff #381 false)
+#743 := [rewrite]: #740
+#723 := (iff #407 #381)
+#448 := (iff #750 true)
+#454 := (or false true)
+#725 := (iff #454 true)
+#726 := [rewrite]: #725
+#455 := (iff #750 #454)
+#397 := (iff #413 true)
+#733 := [rewrite]: #397
+#452 := (iff #748 false)
+#453 := [rewrite]: #452
+#349 := [monotonicity #453 #733]: #455
+#449 := [trans #349 #726]: #448
+#727 := [monotonicity #449]: #723
+#728 := [trans #727 #743]: #724
+#729 := (iff #418 false)
+#382 := (iff #418 #381)
+#739 := (iff #744 true)
+#736 := (or true true)
+#738 := (iff #736 true)
+#376 := [rewrite]: #738
+#737 := (iff #744 #736)
+#734 := (iff #537 true)
+#735 := [rewrite]: #734
+#732 := [monotonicity #733 #735]: #737
+#741 := [trans #732 #376]: #739
+#742 := [monotonicity #741]: #382
+#730 := [trans #742 #743]: #729
+#439 := [monotonicity #730 #728]: #438
+#441 := [trans #439 #394]: #440
+#591 := [monotonicity #441 #698 #689]: #589
+#594 := [trans #591 #585]: #593
+#395 := (iff #749 false)
+#747 := (iff #749 #406)
+#410 := (iff #753 false)
+#746 := [rewrite]: #410
+#745 := (iff #754 false)
+#405 := [rewrite]: #745
+#390 := [monotonicity #405 #746]: #747
+#396 := [trans #390 #394]: #395
+#597 := [monotonicity #396 #594]: #596
+#678 := [trans #597 #687]: #691
+#682 := [monotonicity #678]: #681
+#684 := [trans #682 #679]: #681
+#671 := [quant-inst]: #669
+#673 := [mp #671 #684]: #672
+[unit-resolution #673 #762 #198]: false
+unsat
+325445c67d43814698974b45b11ef6c96c173489 326 0
+#2 := false
+#179 := -2::int
+decl f3 :: (-> int int int)
+#173 := -3::int
+#38 := 5::int
+#176 := (f3 5::int -3::int)
+#182 := (= #176 -2::int)
+#185 := (not #182)
+#42 := 2::int
+#43 := (- 2::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f3 5::int #40)
+#44 := (= #41 #43)
+#45 := (not #44)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#180 := (= #43 -2::int)
+#181 := [rewrite]: #180
+#177 := (= #41 #176)
+#174 := (= #40 -3::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#184 := [monotonicity #178 #181]: #183
+#187 := [monotonicity #184]: #186
+#172 := [asserted]: #45
+#190 := [mp #172 #187]: #185
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#747 := (pattern #10)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#249 := (* -1::int #76)
+#250 := (+ #10 #249)
+#251 := (= #250 0::int)
+#21 := (div #8 #9)
+#246 := (* -1::int #21)
+#247 := (+ #10 #246)
+#248 := (= #247 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#204 := (or #91 #95)
+#205 := (not #204)
+#102 := (>= #8 0::int)
+#196 := (or #95 #102)
+#197 := (not #196)
+#211 := (or #197 #205)
+#252 := (ite #211 #248 #251)
+#245 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#253 := (ite #14 #245 #252)
+#748 := (forall (vars (?v0 int) (?v1 int)) (:pat #747) #253)
+#256 := (forall (vars (?v0 int) (?v1 int)) #253)
+#751 := (iff #256 #748)
+#749 := (iff #253 #253)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#216 := (ite #211 #21 #76)
+#219 := (ite #14 0::int #216)
+#222 := (= #10 #219)
+#225 := (forall (vars (?v0 int) (?v1 int)) #222)
+#257 := (iff #225 #256)
+#254 := (iff #222 #253)
+#255 := [rewrite]: #254
+#258 := [quant-intro #255]: #257
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#226 := (iff #121 #225)
+#223 := (iff #118 #222)
+#220 := (= #115 #219)
+#217 := (= #112 #216)
+#214 := (iff #109 #211)
+#208 := (or #205 #197)
+#212 := (iff #208 #211)
+#213 := [rewrite]: #212
+#209 := (iff #109 #208)
+#206 := (iff #106 #197)
+#207 := [rewrite]: #206
+#194 := (iff #99 #205)
+#195 := [rewrite]: #194
+#210 := [monotonicity #195 #207]: #209
+#215 := [trans #210 #213]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [quant-intro #224]: #226
+#200 := (~ #121 #121)
+#198 := (~ #118 #118)
+#199 := [refl]: #198
+#201 := [nnf-pos #199]: #200
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#191 := [mp~ #126 #201]: #121
+#228 := [mp #191 #227]: #225
+#259 := [mp #228 #258]: #256
+#753 := [mp #259 #752]: #748
+#667 := (not #748)
+#661 := (or #667 #182)
+#333 := (* -1::int -3::int)
+#418 := (* -1::int 5::int)
+#419 := (div #418 #333)
+#420 := (* -1::int #419)
+#411 := (+ #176 #420)
+#422 := (= #411 0::int)
+#423 := (div 5::int -3::int)
+#351 := (* -1::int #423)
+#424 := (+ #176 #351)
+#421 := (= #424 0::int)
+#425 := (<= -3::int 0::int)
+#404 := (<= 5::int 0::int)
+#739 := (or #404 #425)
+#741 := (not #739)
+#398 := (>= 5::int 0::int)
+#528 := (or #425 #398)
+#735 := (not #528)
+#409 := (or #735 #741)
+#410 := (ite #409 #421 #422)
+#742 := (= #176 0::int)
+#743 := (= -3::int 0::int)
+#744 := (= 5::int 0::int)
+#745 := (or #744 #743)
+#740 := (ite #745 #742 #410)
+#668 := (or #667 #740)
+#653 := (iff #668 #661)
+#656 := (iff #661 #661)
+#657 := [rewrite]: #656
+#665 := (iff #740 #182)
+#673 := (ite false #742 #182)
+#675 := (iff #673 #182)
+#664 := [rewrite]: #675
+#674 := (iff #740 #673)
+#662 := (iff #410 #182)
+#693 := (= #176 -1::int)
+#682 := (ite false #693 #182)
+#663 := (iff #682 #182)
+#660 := [rewrite]: #663
+#669 := (iff #410 #682)
+#681 := (iff #422 #182)
+#565 := (+ 2::int #176)
+#584 := (= #565 0::int)
+#587 := (iff #584 #182)
+#588 := [rewrite]: #587
+#585 := (iff #422 #584)
+#583 := (= #411 #565)
+#676 := (+ #176 2::int)
+#580 := (= #676 #565)
+#582 := [rewrite]: #580
+#677 := (= #411 #676)
+#679 := (= #420 2::int)
+#688 := (* -1::int -2::int)
+#572 := (= #688 2::int)
+#531 := [rewrite]: #572
+#570 := (= #420 #688)
+#687 := (= #419 -2::int)
+#696 := -5::int
+#529 := (div -5::int 3::int)
+#684 := (= #529 -2::int)
+#686 := [rewrite]: #684
+#530 := (= #419 #529)
+#698 := (= #333 3::int)
+#527 := [rewrite]: #698
+#697 := (= #418 -5::int)
+#691 := [rewrite]: #697
+#683 := [monotonicity #691 #527]: #530
+#685 := [trans #683 #686]: #687
+#571 := [monotonicity #685]: #570
+#581 := [trans #571 #531]: #679
+#680 := [monotonicity #581]: #677
+#576 := [trans #680 #582]: #583
+#586 := [monotonicity #576]: #585
+#678 := [trans #586 #588]: #681
+#689 := (iff #421 #693)
+#712 := 1::int
+#705 := (+ 1::int #176)
+#549 := (= #705 0::int)
+#694 := (iff #549 #693)
+#695 := [rewrite]: #694
+#550 := (iff #421 #549)
+#707 := (= #424 #705)
+#704 := (+ #176 1::int)
+#706 := (= #704 #705)
+#701 := [rewrite]: #706
+#699 := (= #424 #704)
+#702 := (= #351 1::int)
+#711 := (* -1::int -1::int)
+#709 := (= #711 1::int)
+#713 := [rewrite]: #709
+#426 := (= #351 #711)
+#432 := (= #423 -1::int)
+#710 := [rewrite]: #432
+#708 := [monotonicity #710]: #426
+#703 := [trans #708 #713]: #702
+#700 := [monotonicity #703]: #699
+#548 := [trans #700 #701]: #707
+#692 := [monotonicity #548]: #550
+#690 := [trans #692 #695]: #689
+#430 := (iff #409 false)
+#737 := (or false false)
+#381 := (iff #737 false)
+#722 := [rewrite]: #381
+#719 := (iff #409 #737)
+#718 := (iff #741 false)
+#1 := true
+#732 := (not true)
+#733 := (iff #732 false)
+#731 := [rewrite]: #733
+#440 := (iff #741 #732)
+#717 := (iff #739 true)
+#444 := (or false true)
+#339 := (iff #444 true)
+#716 := [rewrite]: #339
+#445 := (iff #739 #444)
+#387 := (iff #425 true)
+#388 := [rewrite]: #387
+#721 := (iff #404 false)
+#443 := [rewrite]: #721
+#446 := [monotonicity #443 #388]: #445
+#439 := [trans #446 #716]: #717
+#714 := [monotonicity #439]: #440
+#715 := [trans #714 #731]: #718
+#734 := (iff #735 false)
+#372 := (iff #735 #732)
+#367 := (iff #528 true)
+#726 := (or true true)
+#723 := (iff #726 true)
+#729 := [rewrite]: #723
+#727 := (iff #528 #726)
+#724 := (iff #398 true)
+#725 := [rewrite]: #724
+#728 := [monotonicity #388 #725]: #727
+#730 := [trans #728 #729]: #367
+#373 := [monotonicity #730]: #372
+#720 := [trans #373 #731]: #734
+#429 := [monotonicity #720 #715]: #719
+#431 := [trans #429 #722]: #430
+#671 := [monotonicity #431 #690 #678]: #669
+#672 := [trans #671 #660]: #662
+#385 := (iff #745 false)
+#397 := (iff #745 #737)
+#396 := (iff #743 false)
+#401 := [rewrite]: #396
+#746 := (iff #744 false)
+#736 := [rewrite]: #746
+#738 := [monotonicity #736 #401]: #397
+#386 := [trans #738 #722]: #385
+#670 := [monotonicity #386 #672]: #674
+#666 := [trans #670 #664]: #665
+#655 := [monotonicity #666]: #653
+#658 := [trans #655 #657]: #653
+#652 := [quant-inst]: #668
+#654 := [mp #652 #658]: #661
+[unit-resolution #654 #753 #190]: false
+unsat
+0b280c7ebbe3a61b9172a796c4e897f285b90e85 321 0
+#2 := false
+#67 := -1::int
+decl f3 :: (-> int int int)
+#40 := 3::int
+#173 := (f3 -1::int 3::int)
+#176 := (= #173 -1::int)
+#189 := (not #176)
+#38 := 1::int
+#39 := (- 1::int)
+#41 := (f3 #39 3::int)
+#42 := (= #41 #39)
+#43 := (not #42)
+#192 := (iff #43 #189)
+#179 := (= -1::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #43 #184)
+#182 := (iff #42 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #42 #176)
+#171 := (= #39 -1::int)
+#172 := [rewrite]: #171
+#174 := (= #41 #173)
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175 #172]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#170 := [asserted]: #43
+#194 := [mp #170 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#752 := (pattern #10)
+#11 := 0::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#74 := (div #68 #71)
+#255 := (* -1::int #74)
+#256 := (+ #10 #255)
+#257 := (= #256 0::int)
+#21 := (div #8 #9)
+#252 := (* -1::int #21)
+#253 := (+ #10 #252)
+#254 := (= #253 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#210 := (or #89 #93)
+#211 := (not #210)
+#100 := (>= #8 0::int)
+#202 := (or #93 #100)
+#203 := (not #202)
+#217 := (or #203 #211)
+#258 := (ite #217 #254 #257)
+#251 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#259 := (ite #14 #251 #258)
+#753 := (forall (vars (?v0 int) (?v1 int)) (:pat #752) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#756 := (iff #262 #753)
+#754 := (iff #259 #259)
+#755 := [refl]: #754
+#757 := [quant-intro #755]: #756
+#222 := (ite #217 #21 #74)
+#225 := (ite #14 0::int #222)
+#228 := (= #10 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (ite #107 #21 #74)
+#113 := (ite #14 0::int #110)
+#116 := (= #10 #113)
+#119 := (forall (vars (?v0 int) (?v1 int)) #116)
+#232 := (iff #119 #231)
+#229 := (iff #116 #228)
+#226 := (= #113 #225)
+#223 := (= #110 #222)
+#220 := (iff #107 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #107 #214)
+#212 := (iff #104 #203)
+#213 := [rewrite]: #212
+#200 := (iff #97 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#206 := (~ #119 #119)
+#204 := (~ #116 #116)
+#205 := [refl]: #204
+#207 := [nnf-pos #205]: #206
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#122 := (iff #28 #119)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#77 := (ite #64 #21 #74)
+#80 := (ite #14 0::int #77)
+#83 := (= #10 #80)
+#86 := (forall (vars (?v0 int) (?v1 int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #28 #86)
+#84 := (iff #27 #83)
+#81 := (= #26 #80)
+#78 := (= #25 #77)
+#75 := (= #24 #74)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#79 := [monotonicity #66 #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#60 := [asserted]: #28
+#124 := [mp #60 #123]: #119
+#197 := [mp~ #124 #207]: #119
+#234 := [mp #197 #233]: #231
+#265 := [mp #234 #264]: #262
+#758 := [mp #265 #757]: #753
+#665 := (not #753)
+#667 := (or #665 #176)
+#339 := (* -1::int 3::int)
+#423 := (* -1::int -1::int)
+#424 := (div #423 #339)
+#425 := (* -1::int #424)
+#416 := (+ #173 #425)
+#427 := (= #416 0::int)
+#428 := (div -1::int 3::int)
+#429 := (* -1::int #428)
+#426 := (+ #173 #429)
+#430 := (= #426 0::int)
+#409 := (<= 3::int 0::int)
+#744 := (<= -1::int 0::int)
+#746 := (or #744 #409)
+#403 := (not #746)
+#533 := (>= -1::int 0::int)
+#740 := (or #409 #533)
+#414 := (not #740)
+#415 := (or #414 #403)
+#747 := (ite #415 #430 #427)
+#748 := (= #173 0::int)
+#749 := (= 3::int 0::int)
+#750 := (= -1::int 0::int)
+#745 := (or #750 #749)
+#751 := (ite #745 #748 #747)
+#677 := (or #665 #751)
+#679 := (iff #677 #667)
+#680 := (iff #667 #667)
+#669 := [rewrite]: #680
+#676 := (iff #751 #176)
+#593 := (ite false #748 #176)
+#687 := (iff #593 #176)
+#674 := [rewrite]: #687
+#686 := (iff #751 #593)
+#591 := (iff #747 #176)
+#1 := true
+#587 := (ite true #176 #748)
+#589 := (iff #587 #176)
+#590 := [rewrite]: #589
+#588 := (iff #747 #587)
+#570 := (iff #427 #748)
+#682 := (= #416 #173)
+#577 := (+ #173 0::int)
+#586 := (= #577 #173)
+#681 := [rewrite]: #586
+#536 := (= #416 #577)
+#575 := (= #425 0::int)
+#689 := (* -1::int 0::int)
+#690 := (= #689 0::int)
+#693 := [rewrite]: #690
+#691 := (= #425 #689)
+#535 := (= #424 0::int)
+#694 := -3::int
+#702 := (div 1::int -3::int)
+#532 := (= #702 0::int)
+#534 := [rewrite]: #532
+#696 := (= #424 #702)
+#695 := (= #339 -3::int)
+#701 := [rewrite]: #695
+#717 := (= #423 1::int)
+#714 := [rewrite]: #717
+#703 := [monotonicity #714 #701]: #696
+#688 := [trans #703 #534]: #535
+#692 := [monotonicity #688]: #691
+#576 := [trans #692 #693]: #575
+#684 := [monotonicity #576]: #536
+#685 := [trans #684 #681]: #682
+#585 := [monotonicity #685]: #570
+#699 := (iff #430 #176)
+#705 := (+ 1::int #173)
+#553 := (= #705 0::int)
+#697 := (iff #553 #176)
+#698 := [rewrite]: #697
+#554 := (iff #430 #553)
+#706 := (= #426 #705)
+#708 := (+ #173 1::int)
+#710 := (= #708 #705)
+#711 := [rewrite]: #710
+#709 := (= #426 #708)
+#718 := (= #429 1::int)
+#431 := (= #429 #423)
+#715 := (= #428 -1::int)
+#716 := [rewrite]: #715
+#713 := [monotonicity #716]: #431
+#707 := [trans #713 #714]: #718
+#704 := [monotonicity #707]: #709
+#712 := [trans #704 #711]: #706
+#555 := [monotonicity #712]: #554
+#700 := [trans #555 #698]: #699
+#436 := (iff #415 true)
+#726 := (or true false)
+#450 := (iff #726 true)
+#451 := [rewrite]: #450
+#434 := (iff #415 #726)
+#720 := (iff #403 false)
+#722 := (not true)
+#719 := (iff #722 false)
+#723 := [rewrite]: #719
+#444 := (iff #403 #722)
+#345 := (iff #746 true)
+#448 := (iff #746 #726)
+#393 := (iff #409 false)
+#729 := [rewrite]: #393
+#739 := (iff #744 true)
+#725 := [rewrite]: #739
+#449 := [monotonicity #725 #729]: #448
+#721 := [trans #449 #451]: #345
+#445 := [monotonicity #721]: #444
+#724 := [trans #445 #723]: #720
+#738 := (iff #414 true)
+#372 := (not false)
+#377 := (iff #372 true)
+#378 := [rewrite]: #377
+#735 := (iff #414 #372)
+#728 := (iff #740 false)
+#402 := (or false false)
+#727 := (iff #402 false)
+#390 := [rewrite]: #727
+#732 := (iff #740 #402)
+#730 := (iff #533 false)
+#731 := [rewrite]: #730
+#733 := [monotonicity #729 #731]: #732
+#734 := [trans #733 #390]: #728
+#737 := [monotonicity #734]: #735
+#736 := [trans #737 #378]: #738
+#435 := [monotonicity #736 #724]: #434
+#437 := [trans #435 #451]: #436
+#581 := [monotonicity #437 #700 #585]: #588
+#592 := [trans #581 #590]: #591
+#391 := (iff #745 false)
+#743 := (iff #745 #402)
+#406 := (iff #749 false)
+#742 := [rewrite]: #406
+#741 := (iff #750 false)
+#401 := [rewrite]: #741
+#386 := [monotonicity #401 #742]: #743
+#392 := [trans #386 #390]: #391
+#683 := [monotonicity #392 #592]: #686
+#668 := [trans #683 #674]: #676
+#675 := [monotonicity #668]: #679
+#670 := [trans #675 #669]: #679
+#678 := [quant-inst]: #677
+#671 := [mp #678 #670]: #667
+[unit-resolution #671 #758 #194]: false
+unsat
+24944be32a339e0c6809b43984dc3510080611ac 323 0
+#2 := false
+#68 := -1::int
+decl f3 :: (-> int int int)
+#38 := 3::int
+#172 := -3::int
+#175 := (f3 -3::int 3::int)
+#180 := (= #175 -1::int)
+#193 := (not #180)
+#41 := 1::int
+#42 := (- 1::int)
+#39 := (- 3::int)
+#40 := (f3 #39 3::int)
+#43 := (= #40 #42)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #175)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 -1::int)
+#179 := [rewrite]: #178
+#176 := (= #40 #175)
+#173 := (= #39 -3::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#182 := [monotonicity #177 #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#680 := (not #757)
+#672 := (or #680 #180)
+#343 := (* -1::int 3::int)
+#427 := (* -1::int -3::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #175 #429)
+#431 := (= #420 0::int)
+#432 := (div -3::int 3::int)
+#433 := (* -1::int #432)
+#430 := (+ #175 #433)
+#434 := (= #430 0::int)
+#413 := (<= 3::int 0::int)
+#748 := (<= -3::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= -3::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= #175 0::int)
+#753 := (= 3::int 0::int)
+#754 := (= -3::int 0::int)
+#749 := (or #754 #753)
+#755 := (ite #749 #752 #751)
+#669 := (or #680 #755)
+#681 := (iff #669 #672)
+#683 := (iff #672 #672)
+#679 := [rewrite]: #683
+#691 := (iff #755 #180)
+#595 := (ite false #752 #180)
+#690 := (iff #595 #180)
+#687 := [rewrite]: #690
+#596 := (iff #755 #595)
+#593 := (iff #751 #180)
+#1 := true
+#574 := (ite true #180 #180)
+#592 := (iff #574 #180)
+#585 := [rewrite]: #592
+#589 := (iff #751 #574)
+#686 := (iff #431 #180)
+#714 := (+ 1::int #175)
+#558 := (= #714 0::int)
+#702 := (iff #558 #180)
+#703 := [rewrite]: #702
+#590 := (iff #431 #558)
+#540 := (= #420 #714)
+#713 := (+ #175 1::int)
+#715 := (= #713 #714)
+#710 := [rewrite]: #715
+#580 := (= #420 #713)
+#697 := (= #429 1::int)
+#435 := (* -1::int -1::int)
+#718 := (= #435 1::int)
+#722 := [rewrite]: #718
+#696 := (= #429 #435)
+#693 := (= #428 -1::int)
+#707 := (div 3::int -3::int)
+#539 := (= #707 -1::int)
+#692 := [rewrite]: #539
+#536 := (= #428 #707)
+#706 := (= #343 -3::int)
+#700 := [rewrite]: #706
+#699 := (= #427 3::int)
+#705 := [rewrite]: #699
+#538 := [monotonicity #705 #700]: #536
+#695 := [trans #538 #692]: #693
+#694 := [monotonicity #695]: #696
+#579 := [trans #694 #722]: #697
+#581 := [monotonicity #579]: #580
+#688 := [trans #581 #710]: #540
+#685 := [monotonicity #688]: #590
+#689 := [trans #685 #703]: #686
+#704 := (iff #434 #180)
+#559 := (iff #434 #558)
+#716 := (= #430 #714)
+#708 := (= #430 #713)
+#711 := (= #433 1::int)
+#717 := (= #433 #435)
+#719 := (= #432 -1::int)
+#720 := [rewrite]: #719
+#721 := [monotonicity #720]: #717
+#712 := [trans #721 #722]: #711
+#709 := [monotonicity #712]: #708
+#557 := [trans #709 #710]: #716
+#701 := [monotonicity #557]: #559
+#698 := [trans #701 #703]: #704
+#440 := (iff #419 true)
+#730 := (or true false)
+#454 := (iff #730 true)
+#455 := [rewrite]: #454
+#438 := (iff #419 #730)
+#724 := (iff #407 false)
+#726 := (not true)
+#723 := (iff #726 false)
+#727 := [rewrite]: #723
+#448 := (iff #407 #726)
+#349 := (iff #750 true)
+#452 := (iff #750 #730)
+#397 := (iff #413 false)
+#733 := [rewrite]: #397
+#743 := (iff #748 true)
+#729 := [rewrite]: #743
+#453 := [monotonicity #729 #733]: #452
+#725 := [trans #453 #455]: #349
+#449 := [monotonicity #725]: #448
+#728 := [trans #449 #727]: #724
+#742 := (iff #418 true)
+#376 := (not false)
+#381 := (iff #376 true)
+#382 := [rewrite]: #381
+#739 := (iff #418 #376)
+#732 := (iff #744 false)
+#406 := (or false false)
+#731 := (iff #406 false)
+#394 := [rewrite]: #731
+#736 := (iff #744 #406)
+#734 := (iff #537 false)
+#735 := [rewrite]: #734
+#737 := [monotonicity #733 #735]: #736
+#738 := [trans #737 #394]: #732
+#741 := [monotonicity #738]: #739
+#740 := [trans #741 #382]: #742
+#439 := [monotonicity #740 #728]: #438
+#441 := [trans #439 #455]: #440
+#591 := [monotonicity #441 #698 #689]: #589
+#594 := [trans #591 #585]: #593
+#395 := (iff #749 false)
+#747 := (iff #749 #406)
+#410 := (iff #753 false)
+#746 := [rewrite]: #410
+#745 := (iff #754 false)
+#405 := [rewrite]: #745
+#390 := [monotonicity #405 #746]: #747
+#396 := [trans #390 #394]: #395
+#597 := [monotonicity #396 #594]: #596
+#678 := [trans #597 #687]: #691
+#682 := [monotonicity #678]: #681
+#684 := [trans #682 #679]: #681
+#671 := [quant-inst]: #669
+#673 := [mp #671 #684]: #672
+[unit-resolution #673 #762 #198]: false
+unsat
+9d17d776ba19218fbca12c7af8d38e5cee3b3970 326 0
+#2 := false
+#179 := -2::int
+decl f3 :: (-> int int int)
+#40 := 3::int
+#173 := -5::int
+#176 := (f3 -5::int 3::int)
+#182 := (= #176 -2::int)
+#185 := (not #182)
+#42 := 2::int
+#43 := (- 2::int)
+#38 := 5::int
+#39 := (- 5::int)
+#41 := (f3 #39 3::int)
+#44 := (= #41 #43)
+#45 := (not #44)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#180 := (= #43 -2::int)
+#181 := [rewrite]: #180
+#177 := (= #41 #176)
+#174 := (= #39 -5::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#184 := [monotonicity #178 #181]: #183
+#187 := [monotonicity #184]: #186
+#172 := [asserted]: #45
+#190 := [mp #172 #187]: #185
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#747 := (pattern #10)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#249 := (* -1::int #76)
+#250 := (+ #10 #249)
+#251 := (= #250 0::int)
+#21 := (div #8 #9)
+#246 := (* -1::int #21)
+#247 := (+ #10 #246)
+#248 := (= #247 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#204 := (or #91 #95)
+#205 := (not #204)
+#102 := (>= #8 0::int)
+#196 := (or #95 #102)
+#197 := (not #196)
+#211 := (or #197 #205)
+#252 := (ite #211 #248 #251)
+#245 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#253 := (ite #14 #245 #252)
+#748 := (forall (vars (?v0 int) (?v1 int)) (:pat #747) #253)
+#256 := (forall (vars (?v0 int) (?v1 int)) #253)
+#751 := (iff #256 #748)
+#749 := (iff #253 #253)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#216 := (ite #211 #21 #76)
+#219 := (ite #14 0::int #216)
+#222 := (= #10 #219)
+#225 := (forall (vars (?v0 int) (?v1 int)) #222)
+#257 := (iff #225 #256)
+#254 := (iff #222 #253)
+#255 := [rewrite]: #254
+#258 := [quant-intro #255]: #257
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#226 := (iff #121 #225)
+#223 := (iff #118 #222)
+#220 := (= #115 #219)
+#217 := (= #112 #216)
+#214 := (iff #109 #211)
+#208 := (or #205 #197)
+#212 := (iff #208 #211)
+#213 := [rewrite]: #212
+#209 := (iff #109 #208)
+#206 := (iff #106 #197)
+#207 := [rewrite]: #206
+#194 := (iff #99 #205)
+#195 := [rewrite]: #194
+#210 := [monotonicity #195 #207]: #209
+#215 := [trans #210 #213]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [quant-intro #224]: #226
+#200 := (~ #121 #121)
+#198 := (~ #118 #118)
+#199 := [refl]: #198
+#201 := [nnf-pos #199]: #200
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#191 := [mp~ #126 #201]: #121
+#228 := [mp #191 #227]: #225
+#259 := [mp #228 #258]: #256
+#753 := [mp #259 #752]: #748
+#667 := (not #748)
+#661 := (or #667 #182)
+#333 := (* -1::int 3::int)
+#418 := (* -1::int -5::int)
+#419 := (div #418 #333)
+#420 := (* -1::int #419)
+#411 := (+ #176 #420)
+#422 := (= #411 0::int)
+#423 := (div -5::int 3::int)
+#351 := (* -1::int #423)
+#424 := (+ #176 #351)
+#421 := (= #424 0::int)
+#425 := (<= 3::int 0::int)
+#404 := (<= -5::int 0::int)
+#739 := (or #404 #425)
+#741 := (not #739)
+#398 := (>= -5::int 0::int)
+#528 := (or #425 #398)
+#735 := (not #528)
+#409 := (or #735 #741)
+#410 := (ite #409 #421 #422)
+#742 := (= #176 0::int)
+#743 := (= 3::int 0::int)
+#744 := (= -5::int 0::int)
+#745 := (or #744 #743)
+#740 := (ite #745 #742 #410)
+#668 := (or #667 #740)
+#653 := (iff #668 #661)
+#656 := (iff #661 #661)
+#657 := [rewrite]: #656
+#665 := (iff #740 #182)
+#673 := (ite false #742 #182)
+#675 := (iff #673 #182)
+#664 := [rewrite]: #675
+#674 := (iff #740 #673)
+#662 := (iff #410 #182)
+#586 := (= #176 -1::int)
+#1 := true
+#682 := (ite true #182 #586)
+#663 := (iff #682 #182)
+#660 := [rewrite]: #663
+#669 := (iff #410 #682)
+#681 := (iff #422 #586)
+#570 := 1::int
+#680 := (+ 1::int #176)
+#576 := (= #680 0::int)
+#587 := (iff #576 #586)
+#588 := [rewrite]: #587
+#584 := (iff #422 #576)
+#582 := (= #411 #680)
+#581 := (+ #176 1::int)
+#565 := (= #581 #680)
+#580 := [rewrite]: #565
+#676 := (= #411 #581)
+#531 := (= #420 1::int)
+#687 := (* -1::int -1::int)
+#571 := (= #687 1::int)
+#572 := [rewrite]: #571
+#685 := (= #420 #687)
+#684 := (= #419 -1::int)
+#696 := -3::int
+#698 := (div 5::int -3::int)
+#530 := (= #698 -1::int)
+#683 := [rewrite]: #530
+#527 := (= #419 #698)
+#697 := (= #333 -3::int)
+#691 := [rewrite]: #697
+#689 := (= #418 5::int)
+#690 := [rewrite]: #689
+#529 := [monotonicity #690 #691]: #527
+#686 := [trans #529 #683]: #684
+#688 := [monotonicity #686]: #685
+#679 := [trans #688 #572]: #531
+#677 := [monotonicity #679]: #676
+#583 := [trans #677 #580]: #582
+#585 := [monotonicity #583]: #584
+#678 := [trans #585 #588]: #681
+#694 := (iff #421 #182)
+#700 := (+ 2::int #176)
+#548 := (= #700 0::int)
+#692 := (iff #548 #182)
+#693 := [rewrite]: #692
+#549 := (iff #421 #548)
+#701 := (= #424 #700)
+#703 := (+ #176 2::int)
+#705 := (= #703 #700)
+#706 := [rewrite]: #705
+#704 := (= #424 #703)
+#713 := (= #351 2::int)
+#711 := (* -1::int -2::int)
+#712 := (= #711 2::int)
+#709 := [rewrite]: #712
+#426 := (= #351 #711)
+#432 := (= #423 -2::int)
+#710 := [rewrite]: #432
+#708 := [monotonicity #710]: #426
+#702 := [trans #708 #709]: #713
+#699 := [monotonicity #702]: #704
+#707 := [trans #699 #706]: #701
+#550 := [monotonicity #707]: #549
+#695 := [trans #550 #693]: #694
+#430 := (iff #409 true)
+#720 := (or true false)
+#444 := (iff #720 true)
+#445 := [rewrite]: #444
+#719 := (iff #409 #720)
+#718 := (iff #741 false)
+#716 := (not true)
+#440 := (iff #716 false)
+#714 := [rewrite]: #440
+#717 := (iff #741 #716)
+#446 := (iff #739 true)
+#721 := (iff #739 #720)
+#387 := (iff #425 false)
+#388 := [rewrite]: #387
+#731 := (iff #404 true)
+#734 := [rewrite]: #731
+#443 := [monotonicity #734 #388]: #721
+#339 := [trans #443 #445]: #446
+#439 := [monotonicity #339]: #717
+#715 := [trans #439 #714]: #718
+#373 := (iff #735 true)
+#729 := (not false)
+#732 := (iff #729 true)
+#372 := [rewrite]: #732
+#367 := (iff #735 #729)
+#728 := (iff #528 false)
+#737 := (or false false)
+#381 := (iff #737 false)
+#722 := [rewrite]: #381
+#726 := (iff #528 #737)
+#724 := (iff #398 false)
+#725 := [rewrite]: #724
+#727 := [monotonicity #388 #725]: #726
+#723 := [trans #727 #722]: #728
+#730 := [monotonicity #723]: #367
+#733 := [trans #730 #372]: #373
+#429 := [monotonicity #733 #715]: #719
+#431 := [trans #429 #445]: #430
+#671 := [monotonicity #431 #695 #678]: #669
+#672 := [trans #671 #660]: #662
+#385 := (iff #745 false)
+#397 := (iff #745 #737)
+#396 := (iff #743 false)
+#401 := [rewrite]: #396
+#746 := (iff #744 false)
+#736 := [rewrite]: #746
+#738 := [monotonicity #736 #401]: #397
+#386 := [trans #738 #722]: #385
+#670 := [monotonicity #386 #672]: #674
+#666 := [trans #670 #664]: #665
+#655 := [monotonicity #666]: #653
+#658 := [trans #655 #657]: #653
+#652 := [quant-inst]: #668
+#654 := [mp #652 #658]: #661
+[unit-resolution #654 #753 #190]: false
+unsat
+d77c697dca2e95e35ce4b596c181c230e0e8aef4 327 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#174 := -3::int
+#68 := -1::int
+#177 := (f3 -1::int -3::int)
+#180 := (= #177 0::int)
+#193 := (not #180)
+#40 := 3::int
+#41 := (- 3::int)
+#38 := 1::int
+#39 := (- 1::int)
+#42 := (f3 #39 #41)
+#43 := (= #42 0::int)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= 0::int #177)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 #177)
+#175 := (= #41 -3::int)
+#176 := [rewrite]: #175
+#172 := (= #39 -1::int)
+#173 := [rewrite]: #172
+#179 := [monotonicity #173 #176]: #178
+#182 := [monotonicity #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#681 := (not #757)
+#682 := (or #681 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int -1::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #177 #429)
+#431 := (= #420 0::int)
+#432 := (div -1::int -3::int)
+#433 := (* -1::int #432)
+#430 := (+ #177 #433)
+#434 := (= #430 0::int)
+#413 := (<= -3::int 0::int)
+#748 := (<= -1::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= -1::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= -3::int 0::int)
+#753 := (= -1::int 0::int)
+#754 := (or #753 #752)
+#749 := (ite #754 #180 #751)
+#683 := (or #681 #749)
+#684 := (iff #683 #682)
+#674 := (iff #682 #682)
+#675 := [rewrite]: #674
+#669 := (iff #749 #180)
+#687 := (ite false #180 #180)
+#680 := (iff #687 #180)
+#672 := [rewrite]: #680
+#691 := (iff #749 #687)
+#597 := (iff #751 #180)
+#701 := (= #177 1::int)
+#585 := (ite false #701 #180)
+#595 := (iff #585 #180)
+#596 := [rewrite]: #595
+#593 := (iff #751 #585)
+#591 := (iff #431 #180)
+#574 := (= #420 #177)
+#688 := (+ #177 0::int)
+#686 := (= #688 #177)
+#689 := [rewrite]: #686
+#590 := (= #420 #688)
+#581 := (= #429 0::int)
+#696 := (* -1::int 0::int)
+#579 := (= #696 0::int)
+#580 := [rewrite]: #579
+#694 := (= #429 #696)
+#693 := (= #428 0::int)
+#707 := (div 1::int 3::int)
+#539 := (= #707 0::int)
+#692 := [rewrite]: #539
+#536 := (= #428 #707)
+#706 := (= #343 3::int)
+#700 := [rewrite]: #706
+#699 := (= #427 1::int)
+#705 := [rewrite]: #699
+#538 := [monotonicity #705 #700]: #536
+#695 := [trans #538 #692]: #693
+#697 := [monotonicity #695]: #694
+#540 := [trans #697 #580]: #581
+#685 := [monotonicity #540]: #590
+#589 := [trans #685 #689]: #574
+#592 := [monotonicity #589]: #591
+#704 := (iff #434 #701)
+#709 := (+ -1::int #177)
+#557 := (= #709 0::int)
+#702 := (iff #557 #701)
+#703 := [rewrite]: #702
+#558 := (iff #434 #557)
+#710 := (= #430 #709)
+#712 := (+ #177 -1::int)
+#714 := (= #712 #709)
+#715 := [rewrite]: #714
+#713 := (= #430 #712)
+#722 := (= #433 -1::int)
+#720 := (* -1::int 1::int)
+#721 := (= #720 -1::int)
+#718 := [rewrite]: #721
+#435 := (= #433 #720)
+#441 := (= #432 1::int)
+#719 := [rewrite]: #441
+#717 := [monotonicity #719]: #435
+#711 := [trans #717 #718]: #722
+#708 := [monotonicity #711]: #713
+#716 := [trans #708 #715]: #710
+#559 := [monotonicity #716]: #558
+#698 := [trans #559 #703]: #704
+#439 := (iff #419 false)
+#746 := (or false false)
+#390 := (iff #746 false)
+#731 := [rewrite]: #390
+#728 := (iff #419 #746)
+#727 := (iff #407 false)
+#1 := true
+#741 := (not true)
+#742 := (iff #741 false)
+#740 := [rewrite]: #742
+#449 := (iff #407 #741)
+#726 := (iff #750 true)
+#453 := (or true true)
+#349 := (iff #453 true)
+#725 := [rewrite]: #349
+#454 := (iff #750 #453)
+#396 := (iff #413 true)
+#397 := [rewrite]: #396
+#730 := (iff #748 true)
+#452 := [rewrite]: #730
+#455 := [monotonicity #452 #397]: #454
+#448 := [trans #455 #725]: #726
+#723 := [monotonicity #448]: #449
+#724 := [trans #723 #740]: #727
+#743 := (iff #418 false)
+#381 := (iff #418 #741)
+#376 := (iff #744 true)
+#735 := (or true false)
+#732 := (iff #735 true)
+#738 := [rewrite]: #732
+#736 := (iff #744 #735)
+#733 := (iff #537 false)
+#734 := [rewrite]: #733
+#737 := [monotonicity #397 #734]: #736
+#739 := [trans #737 #738]: #376
+#382 := [monotonicity #739]: #381
+#729 := [trans #382 #740]: #743
+#438 := [monotonicity #729 #724]: #728
+#440 := [trans #438 #731]: #439
+#594 := [monotonicity #440 #698 #592]: #593
+#690 := [trans #594 #596]: #597
+#394 := (iff #754 false)
+#406 := (iff #754 #746)
+#405 := (iff #752 false)
+#410 := [rewrite]: #405
+#755 := (iff #753 false)
+#745 := [rewrite]: #755
+#747 := [monotonicity #745 #410]: #406
+#395 := [trans #747 #731]: #394
+#678 := [monotonicity #395 #690]: #691
+#671 := [trans #678 #672]: #669
+#673 := [monotonicity #671]: #684
+#676 := [trans #673 #675]: #684
+#679 := [quant-inst]: #683
+#670 := [mp #679 #676]: #682
+[unit-resolution #670 #762 #198]: false
+unsat
+25d847ed669ad77b3207e843a35e9b52950a5be8 311 0
+#2 := false
+#41 := 1::int
+decl f3 :: (-> int int int)
+#171 := -3::int
+#174 := (f3 -3::int -3::int)
+#177 := (= #174 1::int)
+#190 := (not #177)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f3 #39 #39)
+#42 := (= #40 1::int)
+#43 := (not #42)
+#193 := (iff #43 #190)
+#180 := (= 1::int #174)
+#185 := (not #180)
+#191 := (iff #185 #190)
+#188 := (iff #180 #177)
+#189 := [rewrite]: #188
+#192 := [monotonicity #189]: #191
+#186 := (iff #43 #185)
+#183 := (iff #42 #180)
+#181 := (iff #177 #180)
+#182 := [rewrite]: #181
+#178 := (iff #42 #177)
+#175 := (= #40 #174)
+#172 := (= #39 -3::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #173]: #175
+#179 := [monotonicity #176]: #178
+#184 := [trans #179 #182]: #183
+#187 := [monotonicity #184]: #186
+#194 := [trans #187 #192]: #193
+#170 := [asserted]: #43
+#195 := [mp #170 #194]: #190
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#753 := (pattern #10)
+#11 := 0::int
+#67 := -1::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#74 := (div #68 #71)
+#256 := (* -1::int #74)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#21 := (div #8 #9)
+#253 := (* -1::int #21)
+#254 := (+ #10 #253)
+#255 := (= #254 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#211 := (or #89 #93)
+#212 := (not #211)
+#100 := (>= #8 0::int)
+#203 := (or #93 #100)
+#204 := (not #203)
+#218 := (or #204 #212)
+#259 := (ite #218 #255 #258)
+#252 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#260 := (ite #14 #252 #259)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#757 := (iff #263 #754)
+#755 := (iff #260 #260)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#223 := (ite #218 #21 #74)
+#226 := (ite #14 0::int #223)
+#229 := (= #10 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (ite #107 #21 #74)
+#113 := (ite #14 0::int #110)
+#116 := (= #10 #113)
+#119 := (forall (vars (?v0 int) (?v1 int)) #116)
+#233 := (iff #119 #232)
+#230 := (iff #116 #229)
+#227 := (= #113 #226)
+#224 := (= #110 #223)
+#221 := (iff #107 #218)
+#215 := (or #212 #204)
+#219 := (iff #215 #218)
+#220 := [rewrite]: #219
+#216 := (iff #107 #215)
+#213 := (iff #104 #204)
+#214 := [rewrite]: #213
+#201 := (iff #97 #212)
+#202 := [rewrite]: #201
+#217 := [monotonicity #202 #214]: #216
+#222 := [trans #217 #220]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#207 := (~ #119 #119)
+#205 := (~ #116 #116)
+#206 := [refl]: #205
+#208 := [nnf-pos #206]: #207
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#122 := (iff #28 #119)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#77 := (ite #64 #21 #74)
+#80 := (ite #14 0::int #77)
+#83 := (= #10 #80)
+#86 := (forall (vars (?v0 int) (?v1 int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #28 #86)
+#84 := (iff #27 #83)
+#81 := (= #26 #80)
+#78 := (= #25 #77)
+#75 := (= #24 #74)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#79 := [monotonicity #66 #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#60 := [asserted]: #28
+#124 := [mp #60 #123]: #119
+#198 := [mp~ #124 #208]: #119
+#235 := [mp #198 #234]: #232
+#266 := [mp #235 #265]: #263
+#759 := [mp #266 #758]: #754
+#590 := (not #754)
+#591 := (or #590 #177)
+#340 := (* -1::int -3::int)
+#424 := (div #340 #340)
+#425 := (* -1::int #424)
+#426 := (+ #174 #425)
+#417 := (= #426 0::int)
+#428 := (div -3::int -3::int)
+#429 := (* -1::int #428)
+#430 := (+ #174 #429)
+#427 := (= #430 0::int)
+#431 := (<= -3::int 0::int)
+#410 := (or #431 #431)
+#745 := (not #410)
+#747 := (>= -3::int 0::int)
+#404 := (or #431 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #427 #417)
+#416 := (= #174 0::int)
+#748 := (= -3::int 0::int)
+#749 := (or #748 #748)
+#750 := (ite #749 #416 #415)
+#592 := (or #590 #750)
+#594 := (iff #592 #591)
+#684 := (iff #591 #591)
+#688 := [rewrite]: #684
+#589 := (iff #750 #177)
+#683 := (ite false #416 #177)
+#586 := (iff #683 #177)
+#588 := [rewrite]: #586
+#686 := (iff #750 #683)
+#587 := (iff #415 #177)
+#576 := (ite false #177 #177)
+#537 := (iff #576 #177)
+#685 := [rewrite]: #537
+#577 := (iff #415 #576)
+#691 := (iff #417 #177)
+#715 := (+ -1::int #174)
+#705 := (= #715 0::int)
+#712 := (iff #705 #177)
+#707 := [rewrite]: #712
+#692 := (iff #417 #705)
+#689 := (= #426 #715)
+#432 := (+ #174 -1::int)
+#719 := (= #432 #715)
+#708 := [rewrite]: #719
+#535 := (= #426 #432)
+#704 := (= #425 -1::int)
+#725 := (* -1::int 1::int)
+#437 := (= #725 -1::int)
+#438 := [rewrite]: #437
+#703 := (= #425 #725)
+#696 := (= #424 1::int)
+#698 := (div 3::int 3::int)
+#701 := (= #698 1::int)
+#695 := [rewrite]: #701
+#699 := (= #424 #698)
+#555 := (= #340 3::int)
+#556 := [rewrite]: #555
+#700 := [monotonicity #556 #556]: #699
+#702 := [trans #700 #695]: #696
+#697 := [monotonicity #702]: #703
+#533 := [trans #697 #438]: #704
+#536 := [monotonicity #533]: #535
+#690 := [trans #536 #708]: #689
+#693 := [monotonicity #690]: #692
+#694 := [trans #693 #707]: #691
+#713 := (iff #427 #177)
+#706 := (iff #427 #705)
+#709 := (= #430 #715)
+#714 := (= #430 #432)
+#716 := (= #429 -1::int)
+#435 := (= #429 #725)
+#724 := (= #428 1::int)
+#721 := [rewrite]: #724
+#436 := [monotonicity #721]: #435
+#717 := [trans #436 #438]: #716
+#718 := [monotonicity #717]: #714
+#710 := [trans #718 #708]: #709
+#711 := [monotonicity #710]: #706
+#554 := [trans #711 #707]: #713
+#446 := (iff #741 false)
+#752 := (or false false)
+#407 := (iff #752 false)
+#743 := [rewrite]: #407
+#723 := (iff #741 #752)
+#346 := (iff #745 false)
+#1 := true
+#729 := (not true)
+#736 := (iff #729 false)
+#738 := [rewrite]: #736
+#451 := (iff #745 #729)
+#449 := (iff #410 true)
+#739 := (or true true)
+#726 := (iff #739 true)
+#727 := [rewrite]: #726
+#737 := (iff #410 #739)
+#387 := (iff #431 true)
+#728 := [rewrite]: #387
+#740 := [monotonicity #728 #728]: #737
+#450 := [trans #740 #727]: #449
+#452 := [monotonicity #450]: #451
+#722 := [trans #452 #738]: #346
+#378 := (iff #534 false)
+#735 := (iff #534 #729)
+#733 := (iff #404 true)
+#393 := (or true false)
+#731 := (iff #393 true)
+#732 := [rewrite]: #731
+#394 := (iff #404 #393)
+#391 := (iff #747 false)
+#392 := [rewrite]: #391
+#730 := [monotonicity #728 #392]: #394
+#734 := [trans #730 #732]: #733
+#373 := [monotonicity #734]: #735
+#379 := [trans #373 #738]: #378
+#445 := [monotonicity #379 #722]: #723
+#720 := [trans #445 #743]: #446
+#578 := [monotonicity #720 #554 #694]: #577
+#682 := [trans #578 #685]: #587
+#403 := (iff #749 false)
+#742 := (iff #749 #752)
+#751 := (iff #748 false)
+#746 := [rewrite]: #751
+#402 := [monotonicity #746 #746]: #742
+#744 := [trans #402 #743]: #403
+#571 := [monotonicity #744 #682]: #686
+#582 := [trans #571 #588]: #589
+#687 := [monotonicity #582]: #594
+#675 := [trans #687 #688]: #594
+#593 := [quant-inst]: #592
+#677 := [mp #593 #675]: #591
+[unit-resolution #677 #759 #195]: false
+unsat
+f23d4afb90fbb08495086420c14790308ec812f9 338 0
+#2 := false
+#43 := 1::int
+decl f3 :: (-> int int int)
+#176 := -3::int
+#173 := -5::int
+#179 := (f3 -5::int -3::int)
+#182 := (= #179 1::int)
+#195 := (not #182)
+#40 := 3::int
+#41 := (- 3::int)
+#38 := 5::int
+#39 := (- 5::int)
+#42 := (f3 #39 #41)
+#44 := (= #42 1::int)
+#45 := (not #44)
+#198 := (iff #45 #195)
+#185 := (= 1::int #179)
+#190 := (not #185)
+#196 := (iff #190 #195)
+#193 := (iff #185 #182)
+#194 := [rewrite]: #193
+#197 := [monotonicity #194]: #196
+#191 := (iff #45 #190)
+#188 := (iff #44 #185)
+#186 := (iff #182 #185)
+#187 := [rewrite]: #186
+#183 := (iff #44 #182)
+#180 := (= #42 #179)
+#177 := (= #41 -3::int)
+#178 := [rewrite]: #177
+#174 := (= #39 -5::int)
+#175 := [rewrite]: #174
+#181 := [monotonicity #175 #178]: #180
+#184 := [monotonicity #181]: #183
+#189 := [trans #184 #187]: #188
+#192 := [monotonicity #189]: #191
+#199 := [trans #192 #197]: #198
+#172 := [asserted]: #45
+#200 := [mp #172 #199]: #195
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#758 := (pattern #10)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#261 := (* -1::int #76)
+#262 := (+ #10 #261)
+#263 := (= #262 0::int)
+#21 := (div #8 #9)
+#258 := (* -1::int #21)
+#259 := (+ #10 #258)
+#260 := (= #259 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#216 := (or #91 #95)
+#217 := (not #216)
+#102 := (>= #8 0::int)
+#208 := (or #95 #102)
+#209 := (not #208)
+#223 := (or #209 #217)
+#264 := (ite #223 #260 #263)
+#257 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#265 := (ite #14 #257 #264)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #265)
+#268 := (forall (vars (?v0 int) (?v1 int)) #265)
+#762 := (iff #268 #759)
+#760 := (iff #265 #265)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#228 := (ite #223 #21 #76)
+#231 := (ite #14 0::int #228)
+#234 := (= #10 #231)
+#237 := (forall (vars (?v0 int) (?v1 int)) #234)
+#269 := (iff #237 #268)
+#266 := (iff #234 #265)
+#267 := [rewrite]: #266
+#270 := [quant-intro #267]: #269
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#238 := (iff #121 #237)
+#235 := (iff #118 #234)
+#232 := (= #115 #231)
+#229 := (= #112 #228)
+#226 := (iff #109 #223)
+#220 := (or #217 #209)
+#224 := (iff #220 #223)
+#225 := [rewrite]: #224
+#221 := (iff #109 #220)
+#218 := (iff #106 #209)
+#219 := [rewrite]: #218
+#206 := (iff #99 #217)
+#207 := [rewrite]: #206
+#222 := [monotonicity #207 #219]: #221
+#227 := [trans #222 #225]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [monotonicity #233]: #235
+#239 := [quant-intro #236]: #238
+#212 := (~ #121 #121)
+#210 := (~ #118 #118)
+#211 := [refl]: #210
+#213 := [nnf-pos #211]: #212
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#203 := [mp~ #126 #213]: #121
+#240 := [mp #203 #239]: #237
+#271 := [mp #240 #270]: #268
+#764 := [mp #271 #763]: #759
+#672 := (not #759)
+#679 := (or #672 #182)
+#345 := (* -1::int -3::int)
+#429 := (* -1::int -5::int)
+#430 := (div #429 #345)
+#431 := (* -1::int #430)
+#422 := (+ #179 #431)
+#433 := (= #422 0::int)
+#434 := (div -5::int -3::int)
+#435 := (* -1::int #434)
+#432 := (+ #179 #435)
+#436 := (= #432 0::int)
+#415 := (<= -3::int 0::int)
+#750 := (<= -5::int 0::int)
+#752 := (or #750 #415)
+#409 := (not #752)
+#539 := (>= -5::int 0::int)
+#746 := (or #415 #539)
+#420 := (not #746)
+#421 := (or #420 #409)
+#753 := (ite #421 #436 #433)
+#754 := (= #179 0::int)
+#755 := (= -3::int 0::int)
+#756 := (= -5::int 0::int)
+#751 := (or #756 #755)
+#757 := (ite #751 #754 #753)
+#663 := (or #672 #757)
+#666 := (iff #663 #679)
+#668 := (iff #679 #679)
+#669 := [rewrite]: #668
+#677 := (iff #757 #182)
+#685 := (ite false #754 #182)
+#675 := (iff #685 #182)
+#676 := [rewrite]: #675
+#681 := (iff #757 #685)
+#683 := (iff #753 #182)
+#721 := 2::int
+#706 := (= #179 2::int)
+#680 := (ite false #706 #182)
+#671 := (iff #680 #182)
+#673 := [rewrite]: #671
+#682 := (iff #753 #680)
+#689 := (iff #433 #182)
+#591 := (+ -1::int #179)
+#596 := (= #591 0::int)
+#599 := (iff #596 #182)
+#692 := [rewrite]: #599
+#597 := (iff #433 #596)
+#587 := (= #422 #591)
+#688 := (+ #179 -1::int)
+#593 := (= #688 #591)
+#594 := [rewrite]: #593
+#691 := (= #422 #688)
+#592 := (= #431 -1::int)
+#581 := (* -1::int 1::int)
+#542 := (= #581 -1::int)
+#690 := [rewrite]: #542
+#582 := (= #431 #581)
+#696 := (= #430 1::int)
+#541 := (div 5::int 3::int)
+#697 := (= #541 1::int)
+#698 := [rewrite]: #697
+#694 := (= #430 #541)
+#538 := (= #345 3::int)
+#540 := [rewrite]: #538
+#702 := (= #429 5::int)
+#709 := [rewrite]: #702
+#695 := [monotonicity #709 #540]: #694
+#699 := [trans #695 #698]: #696
+#583 := [monotonicity #699]: #582
+#687 := [trans #583 #690]: #592
+#576 := [monotonicity #687]: #691
+#595 := [trans #576 #594]: #587
+#598 := [monotonicity #595]: #597
+#693 := [trans #598 #692]: #689
+#707 := (iff #436 #706)
+#724 := -2::int
+#712 := (+ -2::int #179)
+#703 := (= #712 0::int)
+#700 := (iff #703 #706)
+#701 := [rewrite]: #700
+#704 := (iff #436 #703)
+#560 := (= #432 #712)
+#711 := (+ #179 -2::int)
+#718 := (= #711 #712)
+#559 := [rewrite]: #718
+#716 := (= #432 #711)
+#715 := (= #435 -2::int)
+#719 := (* -1::int 2::int)
+#713 := (= #719 -2::int)
+#714 := [rewrite]: #713
+#723 := (= #435 #719)
+#722 := (= #434 2::int)
+#437 := [rewrite]: #722
+#720 := [monotonicity #437]: #723
+#710 := [trans #720 #714]: #715
+#717 := [monotonicity #710]: #716
+#561 := [trans #717 #559]: #560
+#705 := [monotonicity #561]: #704
+#708 := [trans #705 #701]: #707
+#442 := (iff #421 false)
+#408 := (or false false)
+#733 := (iff #408 false)
+#396 := [rewrite]: #733
+#440 := (iff #421 #408)
+#726 := (iff #409 false)
+#1 := true
+#383 := (not true)
+#742 := (iff #383 false)
+#745 := [rewrite]: #742
+#725 := (iff #409 #383)
+#450 := (iff #752 true)
+#456 := (or true true)
+#727 := (iff #456 true)
+#728 := [rewrite]: #727
+#457 := (iff #752 #456)
+#399 := (iff #415 true)
+#735 := [rewrite]: #399
+#454 := (iff #750 true)
+#455 := [rewrite]: #454
+#351 := [monotonicity #455 #735]: #457
+#451 := [trans #351 #728]: #450
+#729 := [monotonicity #451]: #725
+#730 := [trans #729 #745]: #726
+#731 := (iff #420 false)
+#384 := (iff #420 #383)
+#741 := (iff #746 true)
+#738 := (or true false)
+#740 := (iff #738 true)
+#378 := [rewrite]: #740
+#739 := (iff #746 #738)
+#736 := (iff #539 false)
+#737 := [rewrite]: #736
+#734 := [monotonicity #735 #737]: #739
+#743 := [trans #734 #378]: #741
+#744 := [monotonicity #743]: #384
+#732 := [trans #744 #745]: #731
+#441 := [monotonicity #732 #730]: #440
+#443 := [trans #441 #396]: #442
+#674 := [monotonicity #443 #708 #693]: #682
+#684 := [trans #674 #673]: #683
+#397 := (iff #751 false)
+#749 := (iff #751 #408)
+#412 := (iff #755 false)
+#748 := [rewrite]: #412
+#747 := (iff #756 false)
+#407 := [rewrite]: #747
+#392 := [monotonicity #407 #748]: #749
+#398 := [trans #392 #396]: #397
+#686 := [monotonicity #398 #684]: #681
+#678 := [trans #686 #676]: #677
+#667 := [monotonicity #678]: #666
+#665 := [trans #667 #669]: #666
+#664 := [quant-inst]: #663
+#670 := [mp #664 #665]: #679
+[unit-resolution #670 #764 #200]: false
+unsat
+335a805f2961f36c00545e704ecf0dad301d28ac 268 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := (f4 0::int 0::int)
+#39 := (= #38 0::int)
+#40 := (not #39)
+#167 := [asserted]: #40
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#743 := (pattern #29)
+#64 := -1::int
+#68 := (* -1::int #9)
+#65 := (* -1::int #8)
+#123 := (mod #65 #68)
+#254 := (+ #29 #123)
+#255 := (= #254 0::int)
+#30 := (mod #8 #9)
+#251 := (* -1::int #30)
+#252 := (+ #29 #251)
+#253 := (= #252 0::int)
+#90 := (<= #9 0::int)
+#86 := (<= #8 0::int)
+#193 := (or #86 #90)
+#194 := (not #193)
+#97 := (>= #8 0::int)
+#185 := (or #90 #97)
+#186 := (not #185)
+#200 := (or #186 #194)
+#256 := (ite #200 #253 #255)
+#250 := (= #29 0::int)
+#12 := (= #8 0::int)
+#257 := (ite #12 #250 #256)
+#249 := (= #8 #29)
+#13 := (= #9 0::int)
+#258 := (ite #13 #249 #257)
+#744 := (forall (vars (?v0 int) (?v1 int)) (:pat #743) #258)
+#261 := (forall (vars (?v0 int) (?v1 int)) #258)
+#747 := (iff #261 #744)
+#745 := (iff #258 #258)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#129 := (* -1::int #123)
+#218 := (ite #200 #30 #129)
+#221 := (ite #12 0::int #218)
+#224 := (ite #13 #8 #221)
+#227 := (= #29 #224)
+#230 := (forall (vars (?v0 int) (?v1 int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#98 := (not #97)
+#91 := (not #90)
+#101 := (and #91 #98)
+#87 := (not #86)
+#94 := (and #87 #91)
+#104 := (or #94 #101)
+#149 := (ite #104 #30 #129)
+#152 := (ite #12 0::int #149)
+#155 := (ite #13 #8 #152)
+#158 := (= #29 #155)
+#161 := (forall (vars (?v0 int) (?v1 int)) #158)
+#231 := (iff #161 #230)
+#228 := (iff #158 #227)
+#225 := (= #155 #224)
+#222 := (= #152 #221)
+#219 := (= #149 #218)
+#203 := (iff #104 #200)
+#197 := (or #194 #186)
+#201 := (iff #197 #200)
+#202 := [rewrite]: #201
+#198 := (iff #104 #197)
+#195 := (iff #101 #186)
+#196 := [rewrite]: #195
+#183 := (iff #94 #194)
+#184 := [rewrite]: #183
+#199 := [monotonicity #184 #196]: #198
+#204 := [trans #199 #202]: #203
+#220 := [monotonicity #204]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#181 := (~ #161 #161)
+#178 := (~ #158 #158)
+#191 := [refl]: #178
+#182 := [nnf-pos #191]: #181
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#164 := (iff #37 #161)
+#58 := (and #16 #18)
+#61 := (or #17 #58)
+#134 := (ite #61 #30 #129)
+#137 := (ite #12 0::int #134)
+#140 := (ite #13 #8 #137)
+#143 := (= #29 #140)
+#146 := (forall (vars (?v0 int) (?v1 int)) #143)
+#162 := (iff #146 #161)
+#159 := (iff #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#150 := (= #134 #149)
+#105 := (iff #61 #104)
+#102 := (iff #58 #101)
+#99 := (iff #18 #98)
+#100 := [rewrite]: #99
+#92 := (iff #16 #91)
+#93 := [rewrite]: #92
+#103 := [monotonicity #93 #100]: #102
+#95 := (iff #17 #94)
+#88 := (iff #15 #87)
+#89 := [rewrite]: #88
+#96 := [monotonicity #89 #93]: #95
+#106 := [monotonicity #96 #103]: #105
+#151 := [monotonicity #106]: #150
+#154 := [monotonicity #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [quant-intro #160]: #162
+#147 := (iff #37 #146)
+#144 := (iff #36 #143)
+#141 := (= #35 #140)
+#138 := (= #34 #137)
+#135 := (= #33 #134)
+#132 := (= #32 #129)
+#126 := (- #123)
+#130 := (= #126 #129)
+#131 := [rewrite]: #130
+#127 := (= #32 #126)
+#124 := (= #31 #123)
+#69 := (= #23 #68)
+#70 := [rewrite]: #69
+#66 := (= #22 #65)
+#67 := [rewrite]: #66
+#125 := [monotonicity #67 #70]: #124
+#128 := [monotonicity #125]: #127
+#133 := [trans #128 #131]: #132
+#62 := (iff #20 #61)
+#59 := (iff #19 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#136 := [monotonicity #63 #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [quant-intro #145]: #147
+#165 := [trans #148 #163]: #164
+#122 := [asserted]: #37
+#166 := [mp #122 #165]: #161
+#192 := [mp~ #166 #182]: #161
+#233 := [mp #192 #232]: #230
+#264 := [mp #233 #263]: #261
+#749 := [mp #264 #748]: #744
+#690 := (not #744)
+#696 := (or #690 #39)
+#322 := (* -1::int 0::int)
+#407 := (mod #322 #322)
+#408 := (+ #38 #407)
+#409 := (= #408 0::int)
+#400 := (mod 0::int 0::int)
+#411 := (* -1::int #400)
+#412 := (+ #38 #411)
+#340 := (= #412 0::int)
+#413 := (<= 0::int 0::int)
+#410 := (or #413 #413)
+#414 := (not #410)
+#393 := (>= 0::int 0::int)
+#728 := (or #413 #393)
+#730 := (not #728)
+#387 := (or #730 #414)
+#517 := (ite #387 #340 #409)
+#724 := (= 0::int 0::int)
+#398 := (ite #724 #39 #517)
+#168 := (= 0::int #38)
+#399 := (ite #724 #168 #398)
+#537 := (or #690 #399)
+#539 := (iff #537 #696)
+#682 := (iff #696 #696)
+#683 := [rewrite]: #682
+#694 := (iff #399 #39)
+#1 := true
+#691 := (ite true #39 #39)
+#688 := (iff #691 #39)
+#689 := [rewrite]: #688
+#692 := (iff #399 #691)
+#698 := (iff #398 #39)
+#328 := (+ #38 #400)
+#428 := (= #328 0::int)
+#699 := (ite true #39 #428)
+#697 := (iff #699 #39)
+#701 := [rewrite]: #697
+#700 := (iff #398 #699)
+#420 := (iff #517 #428)
+#707 := (ite false #340 #428)
+#418 := (iff #707 #428)
+#419 := [rewrite]: #418
+#704 := (iff #517 #707)
+#429 := (iff #409 #428)
+#705 := (= #408 #328)
+#434 := (= #407 #400)
+#432 := (= #322 0::int)
+#433 := [rewrite]: #432
+#435 := [monotonicity #433 #433]: #434
+#706 := [monotonicity #435]: #705
+#703 := [monotonicity #706]: #429
+#709 := (iff #387 false)
+#361 := (or false false)
+#720 := (iff #361 false)
+#723 := [rewrite]: #720
+#362 := (iff #387 #361)
+#719 := (iff #414 false)
+#711 := (not true)
+#376 := (iff #711 false)
+#377 := [rewrite]: #376
+#718 := (iff #414 #711)
+#717 := (iff #410 true)
+#725 := (or true true)
+#726 := (iff #725 true)
+#386 := [rewrite]: #726
+#715 := (iff #410 #725)
+#733 := (iff #413 true)
+#734 := [rewrite]: #733
+#716 := [monotonicity #734 #734]: #715
+#712 := [trans #716 #386]: #717
+#356 := [monotonicity #712]: #718
+#721 := [trans #356 #377]: #719
+#713 := (iff #730 false)
+#374 := (iff #730 #711)
+#727 := (iff #728 true)
+#385 := (iff #728 #725)
+#729 := (iff #393 true)
+#735 := [rewrite]: #729
+#390 := [monotonicity #734 #735]: #385
+#370 := [trans #390 #386]: #727
+#375 := [monotonicity #370]: #374
+#714 := [trans #375 #377]: #713
+#722 := [monotonicity #714 #721]: #362
+#710 := [trans #722 #723]: #709
+#708 := [monotonicity #710 #703]: #704
+#421 := [trans #708 #419]: #420
+#731 := (iff #724 true)
+#732 := [rewrite]: #731
+#415 := [monotonicity #732 #421]: #700
+#702 := [trans #415 #701]: #698
+#174 := (iff #168 #39)
+#175 := [rewrite]: #174
+#693 := [monotonicity #732 #175 #702]: #692
+#695 := [trans #693 #689]: #694
+#681 := [monotonicity #695]: #539
+#684 := [trans #681 #683]: #539
+#538 := [quant-inst]: #537
+#678 := [mp #538 #684]: #696
+[unit-resolution #678 #749 #167]: false
+unsat
+25189b57ee935d82d5b33028bd5b4af17b9cfa1a 276 0
+#2 := false
+decl f4 :: (-> int int int)
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#39 := (f4 f5 0::int)
+#169 := (= f5 #39)
+#172 := (not #169)
+#40 := (= #39 f5)
+#41 := (not #40)
+#173 := (iff #41 #172)
+#170 := (iff #40 #169)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#168 := [asserted]: #41
+#177 := [mp #168 #174]: #172
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#741 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#252 := (+ #29 #124)
+#253 := (= #252 0::int)
+#30 := (mod #8 #9)
+#249 := (* -1::int #30)
+#250 := (+ #29 #249)
+#251 := (= #250 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#191 := (or #87 #91)
+#192 := (not #191)
+#98 := (>= #8 0::int)
+#183 := (or #91 #98)
+#184 := (not #183)
+#198 := (or #184 #192)
+#254 := (ite #198 #251 #253)
+#248 := (= #29 0::int)
+#12 := (= #8 0::int)
+#255 := (ite #12 #248 #254)
+#247 := (= #8 #29)
+#13 := (= #9 0::int)
+#256 := (ite #13 #247 #255)
+#742 := (forall (vars (?v0 int) (?v1 int)) (:pat #741) #256)
+#259 := (forall (vars (?v0 int) (?v1 int)) #256)
+#745 := (iff #259 #742)
+#743 := (iff #256 #256)
+#744 := [refl]: #743
+#746 := [quant-intro #744]: #745
+#130 := (* -1::int #124)
+#216 := (ite #198 #30 #130)
+#219 := (ite #12 0::int #216)
+#222 := (ite #13 #8 #219)
+#225 := (= #29 #222)
+#228 := (forall (vars (?v0 int) (?v1 int)) #225)
+#260 := (iff #228 #259)
+#257 := (iff #225 #256)
+#258 := [rewrite]: #257
+#261 := [quant-intro #258]: #260
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#229 := (iff #162 #228)
+#226 := (iff #159 #225)
+#223 := (= #156 #222)
+#220 := (= #153 #219)
+#217 := (= #150 #216)
+#201 := (iff #105 #198)
+#195 := (or #192 #184)
+#199 := (iff #195 #198)
+#200 := [rewrite]: #199
+#196 := (iff #105 #195)
+#193 := (iff #102 #184)
+#194 := [rewrite]: #193
+#181 := (iff #95 #192)
+#182 := [rewrite]: #181
+#197 := [monotonicity #182 #194]: #196
+#202 := [trans #197 #200]: #201
+#218 := [monotonicity #202]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [quant-intro #227]: #229
+#179 := (~ #162 #162)
+#175 := (~ #159 #159)
+#189 := [refl]: #175
+#180 := [nnf-pos #189]: #179
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#190 := [mp~ #167 #180]: #162
+#231 := [mp #190 #230]: #228
+#262 := [mp #231 #261]: #259
+#747 := [mp #262 #746]: #742
+#535 := (not #742)
+#536 := (or #535 #169)
+#320 := (* -1::int 0::int)
+#405 := (* -1::int f5)
+#406 := (mod #405 #320)
+#407 := (+ #39 #406)
+#398 := (= #407 0::int)
+#409 := (mod f5 0::int)
+#410 := (* -1::int #409)
+#338 := (+ #39 #410)
+#411 := (= #338 0::int)
+#408 := (<= 0::int 0::int)
+#412 := (<= f5 0::int)
+#391 := (or #412 #408)
+#726 := (not #391)
+#728 := (>= f5 0::int)
+#385 := (or #408 #728)
+#515 := (not #385)
+#722 := (or #515 #726)
+#396 := (ite #722 #411 #398)
+#397 := (= #39 0::int)
+#729 := (= f5 0::int)
+#730 := (ite #729 #397 #396)
+#731 := (= 0::int 0::int)
+#732 := (ite #731 #169 #730)
+#537 := (or #535 #732)
+#680 := (iff #537 #536)
+#682 := (iff #536 #536)
+#676 := [rewrite]: #682
+#688 := (iff #732 #169)
+#426 := (mod #405 0::int)
+#705 := (+ #39 #426)
+#416 := (= #705 0::int)
+#700 := (ite #729 #397 #416)
+#1 := true
+#691 := (ite true #169 #700)
+#692 := (iff #691 #169)
+#693 := [rewrite]: #692
+#686 := (iff #732 #691)
+#689 := (iff #730 #700)
+#699 := (iff #396 #416)
+#419 := (ite false #411 #416)
+#413 := (iff #419 #416)
+#695 := [rewrite]: #413
+#697 := (iff #396 #419)
+#417 := (iff #398 #416)
+#702 := (= #407 #705)
+#427 := (= #406 #426)
+#703 := (= #320 0::int)
+#704 := [rewrite]: #703
+#701 := [monotonicity #704]: #427
+#706 := [monotonicity #701]: #702
+#418 := [monotonicity #706]: #417
+#433 := (iff #722 false)
+#707 := (or false false)
+#431 := (iff #707 false)
+#432 := [rewrite]: #431
+#708 := (iff #722 #707)
+#718 := (iff #726 false)
+#373 := (not true)
+#711 := (iff #373 false)
+#712 := [rewrite]: #711
+#360 := (iff #726 #373)
+#719 := (iff #391 true)
+#715 := (or #412 true)
+#354 := (iff #715 true)
+#717 := [rewrite]: #354
+#710 := (iff #391 #715)
+#723 := (iff #408 true)
+#383 := [rewrite]: #723
+#716 := [monotonicity #383]: #710
+#359 := [trans #716 #717]: #719
+#720 := [monotonicity #359]: #360
+#721 := [trans #720 #712]: #718
+#713 := (iff #515 false)
+#374 := (iff #515 #373)
+#709 := (iff #385 true)
+#388 := (or true #728)
+#725 := (iff #388 true)
+#368 := [rewrite]: #725
+#724 := (iff #385 #388)
+#384 := [monotonicity #383]: #724
+#372 := [trans #384 #368]: #709
+#375 := [monotonicity #372]: #374
+#714 := [trans #375 #712]: #713
+#430 := [monotonicity #714 #721]: #708
+#326 := [trans #430 #432]: #433
+#698 := [monotonicity #326 #418]: #697
+#696 := [trans #698 #695]: #699
+#690 := [monotonicity #696]: #689
+#727 := (iff #731 true)
+#733 := [rewrite]: #727
+#687 := [monotonicity #733 #690]: #686
+#694 := [trans #687 #693]: #688
+#681 := [monotonicity #694]: #680
+#677 := [trans #681 #676]: #680
+#679 := [quant-inst]: #537
+#683 := [mp #679 #677]: #536
+[unit-resolution #683 #747 #177]: false
+unsat
+d49f7fa48ab48fdc1ad67a6046c9ec6357ceca0f 298 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 1::int
+#39 := (f4 0::int 1::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#743 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#744 := (forall (vars (?v0 int) (?v1 int)) (:pat #743) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#747 := (iff #262 #744)
+#745 := (iff #259 #259)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#749 := [mp #265 #748]: #744
+#665 := (not #744)
+#666 := (or #665 #40)
+#323 := (* -1::int 1::int)
+#407 := (* -1::int 0::int)
+#408 := (mod #407 #323)
+#409 := (+ #39 #408)
+#400 := (= #409 0::int)
+#411 := (mod 0::int 1::int)
+#412 := (* -1::int #411)
+#413 := (+ #39 #412)
+#410 := (= #413 0::int)
+#414 := (<= 1::int 0::int)
+#393 := (<= 0::int 0::int)
+#728 := (or #393 #414)
+#730 := (not #728)
+#387 := (>= 0::int 0::int)
+#517 := (or #414 #387)
+#724 := (not #517)
+#398 := (or #724 #730)
+#399 := (ite #398 #410 #400)
+#731 := (= 0::int 0::int)
+#732 := (ite #731 #40 #399)
+#169 := (= 0::int #39)
+#733 := (= 1::int 0::int)
+#734 := (ite #733 #169 #732)
+#669 := (or #665 #734)
+#569 := (iff #669 #666)
+#572 := (iff #666 #666)
+#565 := [rewrite]: #572
+#668 := (iff #734 #40)
+#686 := (ite false #40 #40)
+#516 := (iff #686 #40)
+#518 := [rewrite]: #516
+#561 := (iff #734 #686)
+#559 := (iff #732 #40)
+#1 := true
+#673 := (ite true #40 #40)
+#674 := (iff #673 #40)
+#677 := [rewrite]: #674
+#675 := (iff #732 #673)
+#519 := (iff #399 #40)
+#680 := (iff #399 #686)
+#679 := (iff #400 #40)
+#684 := (= #409 #39)
+#415 := (+ #39 0::int)
+#698 := (= #415 #39)
+#702 := [rewrite]: #698
+#682 := (= #409 #415)
+#539 := (= #408 0::int)
+#695 := (mod 0::int -1::int)
+#537 := (= #695 0::int)
+#538 := [rewrite]: #537
+#690 := (= #408 #695)
+#689 := (= #323 -1::int)
+#694 := [rewrite]: #689
+#420 := (= #407 0::int)
+#421 := [rewrite]: #420
+#696 := [monotonicity #421 #694]: #690
+#681 := [trans #696 #538]: #539
+#683 := [monotonicity #681]: #682
+#678 := [trans #683 #702]: #684
+#685 := [monotonicity #678]: #679
+#693 := (iff #410 #40)
+#691 := (= #413 #39)
+#697 := (= #413 #415)
+#699 := (= #412 0::int)
+#418 := (= #412 #407)
+#704 := (= #411 0::int)
+#708 := [rewrite]: #704
+#419 := [monotonicity #708]: #418
+#700 := [trans #419 #421]: #699
+#701 := [monotonicity #700]: #697
+#692 := [trans #701 #702]: #691
+#688 := [monotonicity #692]: #693
+#703 := (iff #398 false)
+#329 := (or false false)
+#428 := (iff #329 false)
+#429 := [rewrite]: #428
+#705 := (iff #398 #329)
+#434 := (iff #730 false)
+#714 := (not true)
+#717 := (iff #714 false)
+#712 := [rewrite]: #717
+#432 := (iff #730 #714)
+#709 := (iff #728 true)
+#361 := (or true false)
+#720 := (iff #361 true)
+#723 := [rewrite]: #720
+#362 := (iff #728 #361)
+#390 := (iff #414 false)
+#726 := [rewrite]: #390
+#719 := (iff #393 true)
+#721 := [rewrite]: #719
+#722 := [monotonicity #721 #726]: #362
+#710 := [trans #722 #723]: #709
+#433 := [monotonicity #710]: #432
+#435 := [trans #433 #712]: #434
+#718 := (iff #724 false)
+#715 := (iff #724 #714)
+#377 := (iff #517 true)
+#370 := (or false true)
+#375 := (iff #370 true)
+#376 := [rewrite]: #375
+#711 := (iff #517 #370)
+#386 := (iff #387 true)
+#727 := [rewrite]: #386
+#374 := [monotonicity #726 #727]: #711
+#713 := [trans #374 #376]: #377
+#716 := [monotonicity #713]: #715
+#356 := [trans #716 #712]: #718
+#706 := [monotonicity #356 #435]: #705
+#707 := [trans #706 #429]: #703
+#687 := [monotonicity #707 #688 #685]: #680
+#672 := [trans #687 #518]: #519
+#725 := (iff #731 true)
+#385 := [rewrite]: #725
+#676 := [monotonicity #385 #672]: #675
+#560 := [trans #676 #677]: #559
+#175 := (iff #169 #40)
+#176 := [rewrite]: #175
+#729 := (iff #733 false)
+#735 := [rewrite]: #729
+#520 := [monotonicity #735 #176 #560]: #561
+#570 := [trans #520 #518]: #668
+#571 := [monotonicity #570]: #569
+#573 := [trans #571 #565]: #569
+#554 := [quant-inst]: #669
+#574 := [mp #554 #573]: #666
+[unit-resolution #574 #749 #168]: false
+unsat
+c2c226bf204350813f9e73fccf7e6de313acacc3 296 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 1::int
+#39 := (f4 1::int 1::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#743 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#744 := (forall (vars (?v0 int) (?v1 int)) (:pat #743) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#747 := (iff #262 #744)
+#745 := (iff #259 #259)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#749 := [mp #265 #748]: #744
+#666 := (not #744)
+#669 := (or #666 #40)
+#323 := (* -1::int 1::int)
+#407 := (mod #323 #323)
+#408 := (+ #39 #407)
+#409 := (= #408 0::int)
+#400 := (mod 1::int 1::int)
+#411 := (* -1::int #400)
+#412 := (+ #39 #411)
+#413 := (= #412 0::int)
+#410 := (<= 1::int 0::int)
+#414 := (or #410 #410)
+#393 := (not #414)
+#728 := (>= 1::int 0::int)
+#730 := (or #410 #728)
+#387 := (not #730)
+#517 := (or #387 #393)
+#724 := (ite #517 #413 #409)
+#398 := (= 1::int 0::int)
+#399 := (ite #398 #40 #724)
+#731 := (= 1::int #39)
+#732 := (ite #398 #731 #399)
+#554 := (or #666 #732)
+#571 := (iff #554 #669)
+#565 := (iff #669 #669)
+#573 := [rewrite]: #565
+#570 := (iff #732 #40)
+#735 := (= #39 1::int)
+#559 := (ite false #735 #40)
+#520 := (iff #559 #40)
+#668 := [rewrite]: #520
+#560 := (iff #732 #559)
+#674 := (iff #399 #40)
+#519 := (ite false #40 #40)
+#675 := (iff #519 #40)
+#676 := [rewrite]: #675
+#672 := (iff #399 #519)
+#516 := (iff #724 #40)
+#1 := true
+#679 := (ite true #40 #40)
+#680 := (iff #679 #40)
+#687 := [rewrite]: #680
+#685 := (iff #724 #679)
+#684 := (iff #409 #40)
+#682 := (= #408 #39)
+#699 := (+ #39 0::int)
+#697 := (= #699 #39)
+#701 := [rewrite]: #697
+#539 := (= #408 #699)
+#537 := (= #407 0::int)
+#689 := (mod -1::int -1::int)
+#690 := (= #689 0::int)
+#696 := [rewrite]: #690
+#694 := (= #407 #689)
+#693 := (= #323 -1::int)
+#688 := [rewrite]: #693
+#695 := [monotonicity #688 #688]: #694
+#538 := [trans #695 #696]: #537
+#681 := [monotonicity #538]: #539
+#683 := [trans #681 #701]: #682
+#678 := [monotonicity #683]: #684
+#691 := (iff #413 #40)
+#698 := (= #412 #39)
+#700 := (= #412 #699)
+#420 := (= #411 0::int)
+#707 := (* -1::int 0::int)
+#418 := (= #707 0::int)
+#419 := [rewrite]: #418
+#704 := (= #411 #707)
+#429 := (= #400 0::int)
+#703 := [rewrite]: #429
+#708 := [monotonicity #703]: #704
+#421 := [trans #708 #419]: #420
+#415 := [monotonicity #421]: #700
+#702 := [trans #415 #701]: #698
+#692 := [monotonicity #702]: #691
+#706 := (iff #517 true)
+#727 := (or false true)
+#374 := (iff #727 true)
+#375 := [rewrite]: #374
+#329 := (iff #517 #727)
+#434 := (iff #393 true)
+#723 := (not false)
+#432 := (iff #723 true)
+#433 := [rewrite]: #432
+#709 := (iff #393 #723)
+#722 := (iff #414 false)
+#356 := (or false false)
+#361 := (iff #356 false)
+#362 := [rewrite]: #361
+#719 := (iff #414 #356)
+#385 := (iff #410 false)
+#390 := [rewrite]: #385
+#721 := [monotonicity #390 #390]: #719
+#720 := [trans #721 #362]: #722
+#710 := [monotonicity #720]: #709
+#435 := [trans #710 #433]: #434
+#712 := (iff #387 false)
+#713 := (not true)
+#716 := (iff #713 false)
+#717 := [rewrite]: #716
+#714 := (iff #387 #713)
+#376 := (iff #730 true)
+#370 := (iff #730 #727)
+#726 := (iff #728 true)
+#386 := [rewrite]: #726
+#711 := [monotonicity #390 #386]: #370
+#377 := [trans #711 #375]: #376
+#715 := [monotonicity #377]: #714
+#718 := [trans #715 #717]: #712
+#705 := [monotonicity #718 #435]: #329
+#428 := [trans #705 #375]: #706
+#686 := [monotonicity #428 #692 #678]: #685
+#518 := [trans #686 #687]: #516
+#733 := (iff #398 false)
+#734 := [rewrite]: #733
+#673 := [monotonicity #734 #518]: #672
+#677 := [trans #673 #676]: #674
+#729 := (iff #731 #735)
+#725 := [rewrite]: #729
+#561 := [monotonicity #734 #725 #677]: #560
+#665 := [trans #561 #668]: #570
+#572 := [monotonicity #665]: #571
+#574 := [trans #572 #573]: #571
+#569 := [quant-inst]: #554
+#575 := [mp #569 #574]: #669
+[unit-resolution #575 #749 #168]: false
+unsat
+00c87c04767c95378ddc3674e7b61e4b97884897 307 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#39 := 1::int
+#38 := 3::int
+#40 := (f4 3::int 1::int)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#256 := (+ #29 #125)
+#257 := (= #256 0::int)
+#30 := (mod #8 #9)
+#253 := (* -1::int #30)
+#254 := (+ #29 #253)
+#255 := (= #254 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#258 := (ite #202 #255 #257)
+#252 := (= #29 0::int)
+#12 := (= #8 0::int)
+#259 := (ite #12 #252 #258)
+#251 := (= #8 #29)
+#13 := (= #9 0::int)
+#260 := (ite #13 #251 #259)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#748 := (iff #263 #745)
+#746 := (iff #260 #260)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#131 := (* -1::int #125)
+#220 := (ite #202 #30 #131)
+#223 := (ite #12 0::int #220)
+#226 := (ite #13 #8 #223)
+#229 := (= #29 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#233 := (iff #163 #232)
+#230 := (iff #160 #229)
+#227 := (= #157 #226)
+#224 := (= #154 #223)
+#221 := (= #151 #220)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#222 := [monotonicity #206]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#183 := (~ #163 #163)
+#180 := (~ #160 #160)
+#193 := [refl]: #180
+#184 := [nnf-pos #193]: #183
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#194 := [mp~ #168 #184]: #163
+#235 := [mp #194 #234]: #232
+#266 := [mp #235 #265]: #263
+#750 := [mp #266 #749]: #745
+#577 := (not #745)
+#578 := (or #577 #41)
+#324 := (* -1::int 1::int)
+#408 := (* -1::int 3::int)
+#409 := (mod #408 #324)
+#410 := (+ #40 #409)
+#401 := (= #410 0::int)
+#412 := (mod 3::int 1::int)
+#413 := (* -1::int #412)
+#414 := (+ #40 #413)
+#411 := (= #414 0::int)
+#415 := (<= 1::int 0::int)
+#394 := (<= 3::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= 3::int 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #401)
+#732 := (= 3::int 0::int)
+#733 := (ite #732 #41 #400)
+#734 := (= 3::int #40)
+#735 := (= 1::int 0::int)
+#730 := (ite #735 #734 #733)
+#671 := (or #577 #730)
+#672 := (iff #671 #578)
+#661 := (iff #578 #578)
+#653 := [rewrite]: #661
+#575 := (iff #730 #41)
+#391 := (= #40 3::int)
+#570 := (ite false #391 #41)
+#566 := (iff #570 #41)
+#574 := [rewrite]: #566
+#572 := (iff #730 #570)
+#670 := (iff #733 #41)
+#521 := (ite false #41 #41)
+#666 := (iff #521 #41)
+#667 := [rewrite]: #666
+#669 := (iff #733 #521)
+#561 := (iff #400 #41)
+#1 := true
+#676 := (ite true #41 #41)
+#678 := (iff #676 #41)
+#560 := [rewrite]: #678
+#677 := (iff #400 #676)
+#673 := (iff #401 #41)
+#519 := (= #410 #40)
+#692 := (+ #40 0::int)
+#689 := (= #692 #40)
+#690 := [rewrite]: #689
+#688 := (= #410 #692)
+#687 := (= #409 0::int)
+#538 := -3::int
+#684 := (mod -3::int -1::int)
+#680 := (= #684 0::int)
+#686 := [rewrite]: #680
+#685 := (= #409 #684)
+#682 := (= #324 -1::int)
+#683 := [rewrite]: #682
+#539 := (= #408 -3::int)
+#540 := [rewrite]: #539
+#679 := [monotonicity #540 #683]: #685
+#681 := [trans #679 #686]: #687
+#517 := [monotonicity #681]: #688
+#520 := [trans #517 #690]: #519
+#674 := [monotonicity #520]: #673
+#691 := (iff #411 #41)
+#695 := (= #414 #40)
+#693 := (= #414 #692)
+#699 := (= #413 0::int)
+#700 := (* -1::int 0::int)
+#698 := (= #700 0::int)
+#702 := [rewrite]: #698
+#701 := (= #413 #700)
+#421 := (= #412 0::int)
+#422 := [rewrite]: #421
+#416 := [monotonicity #422]: #701
+#703 := [trans #416 #702]: #699
+#694 := [monotonicity #703]: #693
+#696 := [trans #694 #690]: #695
+#697 := [monotonicity #696]: #691
+#419 := (iff #399 true)
+#377 := (or false true)
+#715 := (iff #377 true)
+#716 := [rewrite]: #715
+#705 := (iff #399 #377)
+#704 := (iff #731 true)
+#330 := (not false)
+#429 := (iff #330 true)
+#430 := [rewrite]: #429
+#706 := (iff #731 #330)
+#435 := (iff #729 false)
+#724 := (or false false)
+#433 := (iff #724 false)
+#434 := [rewrite]: #433
+#710 := (iff #729 #724)
+#371 := (iff #415 false)
+#712 := [rewrite]: #371
+#723 := (iff #394 false)
+#721 := [rewrite]: #723
+#711 := [monotonicity #721 #712]: #710
+#436 := [trans #711 #434]: #435
+#707 := [monotonicity #436]: #706
+#708 := [trans #707 #430]: #704
+#362 := (iff #725 false)
+#713 := (not true)
+#720 := (iff #713 false)
+#722 := [rewrite]: #720
+#719 := (iff #725 #713)
+#717 := (iff #518 true)
+#378 := (iff #518 #377)
+#375 := (iff #388 true)
+#376 := [rewrite]: #375
+#714 := [monotonicity #712 #376]: #378
+#718 := [trans #714 #716]: #717
+#357 := [monotonicity #718]: #719
+#363 := [trans #357 #722]: #362
+#709 := [monotonicity #363 #708]: #705
+#420 := [trans #709 #716]: #419
+#675 := [monotonicity #420 #697 #674]: #677
+#562 := [trans #675 #560]: #561
+#387 := (iff #732 false)
+#728 := [rewrite]: #387
+#571 := [monotonicity #728 #562]: #669
+#555 := [trans #571 #667]: #670
+#386 := (iff #734 #391)
+#727 := [rewrite]: #386
+#736 := (iff #735 false)
+#726 := [rewrite]: #736
+#573 := [monotonicity #726 #727 #555]: #572
+#576 := [trans #573 #574]: #575
+#659 := [monotonicity #576]: #672
+#650 := [trans #659 #653]: #672
+#668 := [quant-inst]: #671
+#652 := [mp #668 #650]: #578
+[unit-resolution #652 #750 #169]: false
+unsat
+4aaef59b7cbd3cb18a3fae61f0593ef4ad7c2f36 308 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#732 := (= f5 0::int)
+#573 := (not #732)
+#394 := (<= f5 0::int)
+#720 := (not #394)
+#388 := (>= f5 0::int)
+#377 := (not #388)
+#688 := (or #377 #720 #732)
+#575 := (not #688)
+#66 := -1::int
+#408 := (* -1::int f5)
+#700 := (mod #408 -1::int)
+decl f4 :: (-> int int int)
+#39 := 1::int
+#40 := (f4 f5 1::int)
+#698 := (+ #40 #700)
+#703 := (= #698 0::int)
+#41 := (= #40 0::int)
+#520 := (ite #688 #41 #703)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#256 := (+ #29 #125)
+#257 := (= #256 0::int)
+#30 := (mod #8 #9)
+#253 := (* -1::int #30)
+#254 := (+ #29 #253)
+#255 := (= #254 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#258 := (ite #202 #255 #257)
+#252 := (= #29 0::int)
+#12 := (= #8 0::int)
+#259 := (ite #12 #252 #258)
+#251 := (= #8 #29)
+#13 := (= #9 0::int)
+#260 := (ite #13 #251 #259)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#748 := (iff #263 #745)
+#746 := (iff #260 #260)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#131 := (* -1::int #125)
+#220 := (ite #202 #30 #131)
+#223 := (ite #12 0::int #220)
+#226 := (ite #13 #8 #223)
+#229 := (= #29 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#233 := (iff #163 #232)
+#230 := (iff #160 #229)
+#227 := (= #157 #226)
+#224 := (= #154 #223)
+#221 := (= #151 #220)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#222 := [monotonicity #206]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#183 := (~ #163 #163)
+#180 := (~ #160 #160)
+#193 := [refl]: #180
+#184 := [nnf-pos #193]: #183
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#194 := [mp~ #168 #184]: #163
+#235 := [mp #194 #234]: #232
+#266 := [mp #235 #265]: #263
+#750 := [mp #266 #749]: #745
+#675 := (not #745)
+#678 := (or #675 #520)
+#324 := (* -1::int 1::int)
+#409 := (mod #408 #324)
+#410 := (+ #40 #409)
+#401 := (= #410 0::int)
+#412 := (mod f5 1::int)
+#413 := (* -1::int #412)
+#414 := (+ #40 #413)
+#411 := (= #414 0::int)
+#415 := (<= 1::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #401)
+#733 := (ite #732 #41 #400)
+#734 := (= f5 #40)
+#735 := (= 1::int 0::int)
+#730 := (ite #735 #734 #733)
+#560 := (or #675 #730)
+#562 := (iff #560 #678)
+#669 := (iff #678 #678)
+#571 := [rewrite]: #669
+#676 := (iff #730 #520)
+#363 := (or #377 #720)
+#697 := (or #363 #732)
+#538 := (ite #697 #41 #703)
+#673 := (iff #538 #520)
+#517 := (iff #697 #688)
+#519 := [rewrite]: #517
+#674 := [monotonicity #519]: #673
+#687 := (iff #730 #538)
+#684 := (ite false #734 #538)
+#680 := (iff #684 #538)
+#686 := [rewrite]: #680
+#685 := (iff #730 #684)
+#682 := (iff #733 #538)
+#694 := (ite #363 #41 #703)
+#695 := (ite #732 #41 #694)
+#539 := (iff #695 #538)
+#540 := [rewrite]: #539
+#696 := (iff #733 #695)
+#689 := (iff #400 #694)
+#692 := (iff #401 #703)
+#702 := (= #410 #698)
+#701 := (= #409 #700)
+#421 := (= #324 -1::int)
+#422 := [rewrite]: #421
+#416 := [monotonicity #422]: #701
+#699 := [monotonicity #416]: #702
+#693 := [monotonicity #699]: #692
+#419 := (iff #411 #41)
+#705 := (= #414 #40)
+#707 := (+ #40 0::int)
+#704 := (= #707 #40)
+#708 := [rewrite]: #704
+#429 := (= #414 #707)
+#330 := (= #413 0::int)
+#711 := (* -1::int 0::int)
+#435 := (= #711 0::int)
+#436 := [rewrite]: #435
+#433 := (= #413 #711)
+#724 := (= #412 0::int)
+#710 := [rewrite]: #724
+#434 := [monotonicity #710]: #433
+#706 := [trans #434 #436]: #330
+#430 := [monotonicity #706]: #429
+#709 := [trans #430 #708]: #705
+#420 := [monotonicity #709]: #419
+#723 := (iff #399 #363)
+#722 := (iff #731 #720)
+#719 := (iff #729 #394)
+#715 := (or #394 false)
+#718 := (iff #715 #394)
+#713 := [rewrite]: #718
+#716 := (iff #729 #715)
+#386 := (iff #415 false)
+#391 := [rewrite]: #386
+#717 := [monotonicity #391]: #716
+#357 := [trans #717 #713]: #719
+#362 := [monotonicity #357]: #722
+#378 := (iff #725 #377)
+#375 := (iff #518 #388)
+#727 := (or false #388)
+#371 := (iff #727 #388)
+#712 := [rewrite]: #371
+#387 := (iff #518 #727)
+#728 := [monotonicity #391]: #387
+#376 := [trans #728 #712]: #375
+#714 := [monotonicity #376]: #378
+#721 := [monotonicity #714 #362]: #723
+#690 := [monotonicity #721 #420 #693]: #689
+#691 := [monotonicity #690]: #696
+#683 := [trans #691 #540]: #682
+#736 := (iff #735 false)
+#726 := [rewrite]: #736
+#679 := [monotonicity #726 #683]: #685
+#681 := [trans #679 #686]: #687
+#677 := [trans #681 #674]: #676
+#521 := [monotonicity #677]: #562
+#666 := [trans #521 #571]: #562
+#561 := [quant-inst]: #560
+#667 := [mp #561 #666]: #678
+#660 := [unit-resolution #667 #750]: #520
+#668 := (not #520)
+#665 := (or #668 #575)
+#42 := (not #41)
+#169 := [asserted]: #42
+#672 := (or #668 #575 #41)
+#659 := [def-axiom]: #672
+#654 := [unit-resolution #659 #169]: #665
+#655 := [unit-resolution #654 #660]: #575
+#566 := (or #688 #573)
+#574 := [def-axiom]: #566
+#656 := [unit-resolution #574 #655]: #573
+#670 := (or #688 #388)
+#555 := [def-axiom]: #670
+#657 := [unit-resolution #555 #655]: #388
+#570 := (or #688 #394)
+#572 := [def-axiom]: #570
+#651 := [unit-resolution #572 #655]: #394
+#658 := (or #732 #720 #377)
+#642 := [th-lemma]: #658
+[unit-resolution #642 #651 #657 #656]: false
+unsat
+d70ab32dd54af5ae45046e4b993d04ba73e958c9 317 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#66 := -1::int
+#172 := (f4 0::int -1::int)
+#175 := (= #172 0::int)
+#188 := (not #175)
+#38 := 1::int
+#39 := (- 1::int)
+#40 := (f4 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= 0::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#173 := (= #40 #172)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#758 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#270 := (+ #29 #125)
+#271 := (= #270 0::int)
+#30 := (mod #8 #9)
+#267 := (* -1::int #30)
+#268 := (+ #29 #267)
+#269 := (= #268 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#272 := (ite #216 #269 #271)
+#266 := (= #29 0::int)
+#12 := (= #8 0::int)
+#273 := (ite #12 #266 #272)
+#265 := (= #8 #29)
+#13 := (= #9 0::int)
+#274 := (ite #13 #265 #273)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #274)
+#277 := (forall (vars (?v0 int) (?v1 int)) #274)
+#762 := (iff #277 #759)
+#760 := (iff #274 #274)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#131 := (* -1::int #125)
+#234 := (ite #216 #30 #131)
+#237 := (ite #12 0::int #234)
+#240 := (ite #13 #8 #237)
+#243 := (= #29 #240)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#278 := (iff #246 #277)
+#275 := (iff #243 #274)
+#276 := [rewrite]: #275
+#279 := [quant-intro #276]: #278
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#247 := (iff #163 #246)
+#244 := (iff #160 #243)
+#241 := (= #157 #240)
+#238 := (= #154 #237)
+#235 := (= #151 #234)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#236 := [monotonicity #220]: #235
+#239 := [monotonicity #236]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [quant-intro #245]: #247
+#197 := (~ #163 #163)
+#194 := (~ #160 #160)
+#207 := [refl]: #194
+#198 := [nnf-pos #207]: #197
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#208 := [mp~ #168 #198]: #163
+#249 := [mp #208 #248]: #246
+#280 := [mp #249 #279]: #277
+#764 := [mp #280 #763]: #759
+#535 := (not #759)
+#683 := (or #535 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 0::int)
+#423 := (mod #422 #338)
+#424 := (+ #172 #423)
+#415 := (= #424 0::int)
+#426 := (mod 0::int -1::int)
+#427 := (* -1::int #426)
+#428 := (+ #172 #427)
+#425 := (= #428 0::int)
+#429 := (<= -1::int 0::int)
+#408 := (<= 0::int 0::int)
+#743 := (or #408 #429)
+#745 := (not #743)
+#402 := (>= 0::int 0::int)
+#532 := (or #429 #402)
+#739 := (not #532)
+#413 := (or #739 #745)
+#414 := (ite #413 #425 #415)
+#746 := (= 0::int 0::int)
+#747 := (ite #746 #175 #414)
+#748 := (= -1::int 0::int)
+#749 := (ite #748 #178 #747)
+#585 := (or #535 #749)
+#681 := (iff #585 #683)
+#569 := (iff #683 #683)
+#584 := [rewrite]: #569
+#575 := (iff #749 #175)
+#693 := (ite false #175 #175)
+#701 := (iff #693 #175)
+#695 := [rewrite]: #701
+#692 := (iff #749 #693)
+#691 := (iff #747 #175)
+#1 := true
+#533 := (ite true #175 #175)
+#688 := (iff #533 #175)
+#690 := [rewrite]: #688
+#534 := (iff #747 #533)
+#702 := (iff #414 #175)
+#694 := (iff #414 #693)
+#698 := (iff #415 #175)
+#696 := (= #424 #172)
+#436 := (+ #172 0::int)
+#430 := (= #436 #172)
+#712 := [rewrite]: #430
+#553 := (= #424 #436)
+#711 := (= #423 0::int)
+#703 := (mod 0::int 1::int)
+#710 := (= #703 0::int)
+#705 := [rewrite]: #710
+#704 := (= #423 #703)
+#707 := (= #338 1::int)
+#708 := [rewrite]: #707
+#723 := (= #422 0::int)
+#433 := [rewrite]: #723
+#709 := [monotonicity #433 #708]: #704
+#552 := [trans #709 #705]: #711
+#554 := [monotonicity #552]: #553
+#697 := [trans #554 #712]: #696
+#699 := [monotonicity #697]: #698
+#717 := (iff #425 #175)
+#716 := (= #428 #172)
+#714 := (= #428 #436)
+#434 := (= #427 0::int)
+#722 := (= #427 #422)
+#444 := (= #426 0::int)
+#718 := [rewrite]: #444
+#719 := [monotonicity #718]: #722
+#435 := [trans #719 #433]: #434
+#715 := [monotonicity #435]: #714
+#713 := [trans #715 #712]: #716
+#706 := [monotonicity #713]: #717
+#721 := (iff #413 false)
+#448 := (or false false)
+#344 := (iff #448 false)
+#720 := [rewrite]: #344
+#449 := (iff #413 #448)
+#725 := (iff #745 false)
+#729 := (not true)
+#732 := (iff #729 false)
+#727 := [rewrite]: #732
+#738 := (iff #745 #729)
+#737 := (iff #743 true)
+#385 := (or true true)
+#390 := (iff #385 true)
+#391 := [rewrite]: #390
+#376 := (iff #743 #385)
+#405 := (iff #429 true)
+#741 := [rewrite]: #405
+#734 := (iff #408 true)
+#736 := [rewrite]: #734
+#377 := [monotonicity #736 #741]: #376
+#735 := [trans #377 #391]: #737
+#724 := [monotonicity #735]: #738
+#447 := [trans #724 #727]: #725
+#733 := (iff #739 false)
+#730 := (iff #739 #729)
+#392 := (iff #532 true)
+#726 := (iff #532 #385)
+#401 := (iff #402 true)
+#742 := [rewrite]: #401
+#389 := [monotonicity #741 #742]: #726
+#728 := [trans #389 #391]: #392
+#731 := [monotonicity #728]: #730
+#371 := [trans #731 #727]: #733
+#450 := [monotonicity #371 #447]: #449
+#443 := [trans #450 #720]: #721
+#700 := [monotonicity #443 #706 #699]: #694
+#531 := [trans #700 #695]: #702
+#740 := (iff #746 true)
+#400 := [rewrite]: #740
+#687 := [monotonicity #400 #531]: #534
+#689 := [trans #687 #690]: #691
+#744 := (iff #748 false)
+#750 := [rewrite]: #744
+#574 := [monotonicity #750 #187 #689]: #692
+#576 := [trans #574 #695]: #575
+#684 := [monotonicity #576]: #681
+#586 := [trans #684 #584]: #681
+#680 := [quant-inst]: #585
+#587 := [mp #680 #586]: #683
+[unit-resolution #587 #764 #193]: false
+unsat
+790463904bf1d4b45ad5d67500cd618360031f8a 327 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#66 := -1::int
+#38 := 1::int
+#172 := (f4 1::int -1::int)
+#175 := (= #172 0::int)
+#188 := (not #175)
+#39 := (- 1::int)
+#40 := (f4 1::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= 0::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#173 := (= #40 #172)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#758 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#270 := (+ #29 #125)
+#271 := (= #270 0::int)
+#30 := (mod #8 #9)
+#267 := (* -1::int #30)
+#268 := (+ #29 #267)
+#269 := (= #268 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#272 := (ite #216 #269 #271)
+#266 := (= #29 0::int)
+#12 := (= #8 0::int)
+#273 := (ite #12 #266 #272)
+#265 := (= #8 #29)
+#13 := (= #9 0::int)
+#274 := (ite #13 #265 #273)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #274)
+#277 := (forall (vars (?v0 int) (?v1 int)) #274)
+#762 := (iff #277 #759)
+#760 := (iff #274 #274)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#131 := (* -1::int #125)
+#234 := (ite #216 #30 #131)
+#237 := (ite #12 0::int #234)
+#240 := (ite #13 #8 #237)
+#243 := (= #29 #240)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#278 := (iff #246 #277)
+#275 := (iff #243 #274)
+#276 := [rewrite]: #275
+#279 := [quant-intro #276]: #278
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#247 := (iff #163 #246)
+#244 := (iff #160 #243)
+#241 := (= #157 #240)
+#238 := (= #154 #237)
+#235 := (= #151 #234)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#236 := [monotonicity #220]: #235
+#239 := [monotonicity #236]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [quant-intro #245]: #247
+#197 := (~ #163 #163)
+#194 := (~ #160 #160)
+#207 := [refl]: #194
+#198 := [nnf-pos #207]: #197
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#208 := [mp~ #168 #198]: #163
+#249 := [mp #208 #248]: #246
+#280 := [mp #249 #279]: #277
+#764 := [mp #280 #763]: #759
+#580 := (not #759)
+#588 := (or #580 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 1::int)
+#423 := (mod #422 #338)
+#424 := (+ #172 #423)
+#415 := (= #424 0::int)
+#426 := (mod 1::int -1::int)
+#427 := (* -1::int #426)
+#428 := (+ #172 #427)
+#425 := (= #428 0::int)
+#429 := (<= -1::int 0::int)
+#408 := (<= 1::int 0::int)
+#743 := (or #408 #429)
+#745 := (not #743)
+#402 := (>= 1::int 0::int)
+#532 := (or #429 #402)
+#739 := (not #532)
+#413 := (or #739 #745)
+#414 := (ite #413 #425 #415)
+#746 := (= 1::int 0::int)
+#747 := (ite #746 #175 #414)
+#748 := (= 1::int #172)
+#749 := (= -1::int 0::int)
+#744 := (ite #749 #748 #747)
+#589 := (or #580 #744)
+#591 := (iff #589 #588)
+#685 := (iff #588 #588)
+#682 := [rewrite]: #685
+#586 := (iff #744 #175)
+#405 := (= #172 1::int)
+#680 := (ite false #405 #175)
+#569 := (iff #680 #175)
+#584 := [rewrite]: #569
+#681 := (iff #744 #680)
+#683 := (iff #747 #175)
+#688 := (ite false #175 #175)
+#689 := (iff #688 #175)
+#692 := [rewrite]: #689
+#576 := (iff #747 #688)
+#574 := (iff #414 #175)
+#690 := (iff #414 #688)
+#534 := (iff #415 #175)
+#531 := (= #424 #172)
+#706 := (+ #172 0::int)
+#703 := (= #706 #172)
+#704 := [rewrite]: #703
+#695 := (= #424 #706)
+#700 := (= #423 0::int)
+#697 := (mod -1::int 1::int)
+#693 := (= #697 0::int)
+#694 := [rewrite]: #693
+#698 := (= #423 #697)
+#554 := (= #338 1::int)
+#696 := [rewrite]: #554
+#552 := (= #422 -1::int)
+#553 := [rewrite]: #552
+#699 := [monotonicity #553 #696]: #698
+#701 := [trans #699 #694]: #700
+#702 := [monotonicity #701]: #695
+#533 := [trans #702 #704]: #531
+#687 := [monotonicity #533]: #534
+#705 := (iff #425 #175)
+#709 := (= #428 #172)
+#707 := (= #428 #706)
+#713 := (= #427 0::int)
+#714 := (* -1::int 0::int)
+#712 := (= #714 0::int)
+#716 := [rewrite]: #712
+#715 := (= #427 #714)
+#435 := (= #426 0::int)
+#436 := [rewrite]: #435
+#430 := [monotonicity #436]: #715
+#717 := [trans #430 #716]: #713
+#708 := [monotonicity #717]: #707
+#710 := [trans #708 #704]: #709
+#711 := [monotonicity #710]: #705
+#433 := (iff #413 false)
+#444 := (or false false)
+#719 := (iff #444 false)
+#723 := [rewrite]: #719
+#718 := (iff #413 #444)
+#721 := (iff #745 false)
+#1 := true
+#727 := (not true)
+#734 := (iff #727 false)
+#736 := [rewrite]: #734
+#344 := (iff #745 #727)
+#449 := (iff #743 true)
+#738 := (or false true)
+#447 := (iff #738 true)
+#448 := [rewrite]: #447
+#724 := (iff #743 #738)
+#385 := (iff #429 true)
+#726 := [rewrite]: #385
+#737 := (iff #408 false)
+#735 := [rewrite]: #737
+#725 := [monotonicity #735 #726]: #724
+#450 := [trans #725 #448]: #449
+#720 := [monotonicity #450]: #344
+#443 := [trans #720 #736]: #721
+#376 := (iff #739 false)
+#733 := (iff #739 #727)
+#731 := (iff #532 true)
+#391 := (or true true)
+#729 := (iff #391 true)
+#730 := [rewrite]: #729
+#392 := (iff #532 #391)
+#389 := (iff #402 true)
+#390 := [rewrite]: #389
+#728 := [monotonicity #726 #390]: #392
+#732 := [trans #728 #730]: #731
+#371 := [monotonicity #732]: #733
+#377 := [trans #371 #736]: #376
+#722 := [monotonicity #377 #443]: #718
+#434 := [trans #722 #723]: #433
+#691 := [monotonicity #434 #711 #687]: #690
+#575 := [trans #691 #692]: #574
+#401 := (iff #746 false)
+#742 := [rewrite]: #401
+#535 := [monotonicity #742 #575]: #576
+#585 := [trans #535 #692]: #683
+#400 := (iff #748 #405)
+#741 := [rewrite]: #400
+#750 := (iff #749 false)
+#740 := [rewrite]: #750
+#684 := [monotonicity #740 #741 #585]: #681
+#587 := [trans #684 #584]: #586
+#592 := [monotonicity #587]: #591
+#686 := [trans #592 #682]: #591
+#590 := [quant-inst]: #589
+#673 := [mp #590 #686]: #588
+[unit-resolution #673 #764 #193]: false
+unsat
+963faf7f35673ce0364556d18fdb16ce1cccee03 329 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#67 := -1::int
+#38 := 3::int
+#173 := (f4 3::int -1::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := 1::int
+#40 := (- 1::int)
+#41 := (f4 3::int #40)
+#42 := (= #41 0::int)
+#43 := (not #42)
+#192 := (iff #43 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #43 #184)
+#182 := (iff #42 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #42 #176)
+#174 := (= #41 #173)
+#171 := (= #40 -1::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#170 := [asserted]: #43
+#194 := [mp #170 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#759 := (pattern #29)
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#126 := (mod #68 #71)
+#271 := (+ #29 #126)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#210 := (or #89 #93)
+#211 := (not #210)
+#100 := (>= #8 0::int)
+#202 := (or #93 #100)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#760 := (forall (vars (?v0 int) (?v1 int)) (:pat #759) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#763 := (iff #278 #760)
+#761 := (iff #275 #275)
+#762 := [refl]: #761
+#764 := [quant-intro #762]: #763
+#132 := (* -1::int #126)
+#235 := (ite #217 #30 #132)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (ite #107 #30 #132)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#248 := (iff #164 #247)
+#245 := (iff #161 #244)
+#242 := (= #158 #241)
+#239 := (= #155 #238)
+#236 := (= #152 #235)
+#220 := (iff #107 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #107 #214)
+#212 := (iff #104 #203)
+#213 := [rewrite]: #212
+#200 := (iff #97 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #164 #164)
+#195 := (~ #161 #161)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#167 := (iff #37 #164)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#137 := (ite #64 #30 #132)
+#140 := (ite #12 0::int #137)
+#143 := (ite #13 #8 #140)
+#146 := (= #29 #143)
+#149 := (forall (vars (?v0 int) (?v1 int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #37 #149)
+#147 := (iff #36 #146)
+#144 := (= #35 #143)
+#141 := (= #34 #140)
+#138 := (= #33 #137)
+#135 := (= #32 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #32 #129)
+#127 := (= #31 #126)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#139 := [monotonicity #66 #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #37
+#169 := [mp #125 #168]: #164
+#209 := [mp~ #169 #199]: #164
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#765 := [mp #281 #764]: #760
+#589 := (not #760)
+#590 := (or #589 #176)
+#339 := (* -1::int -1::int)
+#423 := (* -1::int 3::int)
+#424 := (mod #423 #339)
+#425 := (+ #173 #424)
+#416 := (= #425 0::int)
+#427 := (mod 3::int -1::int)
+#428 := (* -1::int #427)
+#429 := (+ #173 #428)
+#426 := (= #429 0::int)
+#430 := (<= -1::int 0::int)
+#409 := (<= 3::int 0::int)
+#744 := (or #409 #430)
+#746 := (not #744)
+#403 := (>= 3::int 0::int)
+#533 := (or #430 #403)
+#740 := (not #533)
+#414 := (or #740 #746)
+#415 := (ite #414 #426 #416)
+#747 := (= 3::int 0::int)
+#748 := (ite #747 #176 #415)
+#749 := (= 3::int #173)
+#750 := (= -1::int 0::int)
+#745 := (ite #750 #749 #748)
+#591 := (or #589 #745)
+#593 := (iff #591 #590)
+#683 := (iff #590 #590)
+#687 := [rewrite]: #683
+#588 := (iff #745 #176)
+#406 := (= #173 3::int)
+#682 := (ite false #406 #176)
+#585 := (iff #682 #176)
+#587 := [rewrite]: #585
+#685 := (iff #745 #682)
+#586 := (iff #748 #176)
+#691 := (ite false #176 #176)
+#693 := (iff #691 #176)
+#575 := [rewrite]: #693
+#536 := (iff #748 #691)
+#576 := (iff #415 #176)
+#692 := (iff #415 #691)
+#688 := (iff #416 #176)
+#534 := (= #425 #173)
+#707 := (+ #173 0::int)
+#704 := (= #707 #173)
+#705 := [rewrite]: #704
+#703 := (= #425 #707)
+#702 := (= #424 0::int)
+#553 := -3::int
+#699 := (mod -3::int 1::int)
+#695 := (= #699 0::int)
+#701 := [rewrite]: #695
+#700 := (= #424 #699)
+#697 := (= #339 1::int)
+#698 := [rewrite]: #697
+#554 := (= #423 -3::int)
+#555 := [rewrite]: #554
+#694 := [monotonicity #555 #698]: #700
+#696 := [trans #694 #701]: #702
+#532 := [monotonicity #696]: #703
+#535 := [trans #532 #705]: #534
+#689 := [monotonicity #535]: #688
+#706 := (iff #426 #176)
+#710 := (= #429 #173)
+#708 := (= #429 #707)
+#714 := (= #428 0::int)
+#715 := (* -1::int 0::int)
+#713 := (= #715 0::int)
+#717 := [rewrite]: #713
+#716 := (= #428 #715)
+#436 := (= #427 0::int)
+#437 := [rewrite]: #436
+#431 := [monotonicity #437]: #716
+#718 := [trans #431 #717]: #714
+#709 := [monotonicity #718]: #708
+#711 := [trans #709 #705]: #710
+#712 := [monotonicity #711]: #706
+#434 := (iff #414 false)
+#445 := (or false false)
+#720 := (iff #445 false)
+#724 := [rewrite]: #720
+#719 := (iff #414 #445)
+#722 := (iff #746 false)
+#1 := true
+#728 := (not true)
+#735 := (iff #728 false)
+#737 := [rewrite]: #735
+#345 := (iff #746 #728)
+#450 := (iff #744 true)
+#739 := (or false true)
+#448 := (iff #739 true)
+#449 := [rewrite]: #448
+#725 := (iff #744 #739)
+#386 := (iff #430 true)
+#727 := [rewrite]: #386
+#738 := (iff #409 false)
+#736 := [rewrite]: #738
+#726 := [monotonicity #736 #727]: #725
+#451 := [trans #726 #449]: #450
+#721 := [monotonicity #451]: #345
+#444 := [trans #721 #737]: #722
+#377 := (iff #740 false)
+#734 := (iff #740 #728)
+#732 := (iff #533 true)
+#392 := (or true true)
+#730 := (iff #392 true)
+#731 := [rewrite]: #730
+#393 := (iff #533 #392)
+#390 := (iff #403 true)
+#391 := [rewrite]: #390
+#729 := [monotonicity #727 #391]: #393
+#733 := [trans #729 #731]: #732
+#372 := [monotonicity #733]: #734
+#378 := [trans #372 #737]: #377
+#723 := [monotonicity #378 #444]: #719
+#435 := [trans #723 #724]: #434
+#690 := [monotonicity #435 #712 #689]: #692
+#577 := [trans #690 #575]: #576
+#402 := (iff #747 false)
+#743 := [rewrite]: #402
+#684 := [monotonicity #743 #577]: #536
+#681 := [trans #684 #575]: #586
+#401 := (iff #749 #406)
+#742 := [rewrite]: #401
+#751 := (iff #750 false)
+#741 := [rewrite]: #751
+#570 := [monotonicity #741 #742 #681]: #685
+#581 := [trans #570 #587]: #588
+#686 := [monotonicity #581]: #593
+#674 := [trans #686 #687]: #593
+#592 := [quant-inst]: #591
+#676 := [mp #592 #674]: #590
+[unit-resolution #676 #765 #194]: false
+unsat
+a9859e58fbbdc2fbfaeb5f7736809a677d369086 306 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#67 := -1::int
+decl f5 :: int
+#38 := f5
+#173 := (f4 f5 -1::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := 1::int
+#40 := (- 1::int)
+#41 := (f4 f5 #40)
+#42 := (= #41 0::int)
+#43 := (not #42)
+#192 := (iff #43 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #43 #184)
+#182 := (iff #42 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #42 #176)
+#174 := (= #41 #173)
+#171 := (= #40 -1::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#170 := [asserted]: #43
+#194 := [mp #170 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#759 := (pattern #29)
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#126 := (mod #68 #71)
+#271 := (+ #29 #126)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#210 := (or #89 #93)
+#211 := (not #210)
+#100 := (>= #8 0::int)
+#202 := (or #93 #100)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#760 := (forall (vars (?v0 int) (?v1 int)) (:pat #759) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#763 := (iff #278 #760)
+#761 := (iff #275 #275)
+#762 := [refl]: #761
+#764 := [quant-intro #762]: #763
+#132 := (* -1::int #126)
+#235 := (ite #217 #30 #132)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (ite #107 #30 #132)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#248 := (iff #164 #247)
+#245 := (iff #161 #244)
+#242 := (= #158 #241)
+#239 := (= #155 #238)
+#236 := (= #152 #235)
+#220 := (iff #107 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #107 #214)
+#212 := (iff #104 #203)
+#213 := [rewrite]: #212
+#200 := (iff #97 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #164 #164)
+#195 := (~ #161 #161)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#167 := (iff #37 #164)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#137 := (ite #64 #30 #132)
+#140 := (ite #12 0::int #137)
+#143 := (ite #13 #8 #140)
+#146 := (= #29 #143)
+#149 := (forall (vars (?v0 int) (?v1 int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #37 #149)
+#147 := (iff #36 #146)
+#144 := (= #35 #143)
+#141 := (= #34 #140)
+#138 := (= #33 #137)
+#135 := (= #32 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #32 #129)
+#127 := (= #31 #126)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#139 := [monotonicity #66 #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #37
+#169 := [mp #125 #168]: #164
+#209 := [mp~ #169 #199]: #164
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#765 := [mp #281 #764]: #760
+#703 := (not #760)
+#532 := (or #703 #176)
+#339 := (* -1::int -1::int)
+#423 := (* -1::int f5)
+#424 := (mod #423 #339)
+#425 := (+ #173 #424)
+#416 := (= #425 0::int)
+#427 := (mod f5 -1::int)
+#428 := (* -1::int #427)
+#429 := (+ #173 #428)
+#426 := (= #429 0::int)
+#430 := (<= -1::int 0::int)
+#409 := (<= f5 0::int)
+#744 := (or #409 #430)
+#746 := (not #744)
+#403 := (>= f5 0::int)
+#533 := (or #430 #403)
+#740 := (not #533)
+#414 := (or #740 #746)
+#415 := (ite #414 #426 #416)
+#747 := (= f5 0::int)
+#748 := (ite #747 #176 #415)
+#749 := (= f5 #173)
+#750 := (= -1::int 0::int)
+#745 := (ite #750 #749 #748)
+#534 := (or #703 #745)
+#688 := (iff #534 #532)
+#691 := (iff #532 #532)
+#692 := [rewrite]: #691
+#702 := (iff #745 #176)
+#699 := (ite false #749 #176)
+#695 := (iff #699 #176)
+#701 := [rewrite]: #695
+#700 := (iff #745 #699)
+#697 := (iff #748 #176)
+#706 := (ite #747 #176 #176)
+#554 := (iff #706 #176)
+#555 := [rewrite]: #554
+#712 := (iff #748 #706)
+#710 := (iff #415 #176)
+#707 := (ite false #426 #176)
+#704 := (iff #707 #176)
+#705 := [rewrite]: #704
+#708 := (iff #415 #707)
+#714 := (iff #416 #176)
+#713 := (= #425 #173)
+#436 := (+ #173 0::int)
+#716 := (= #436 #173)
+#431 := [rewrite]: #716
+#437 := (= #425 #436)
+#434 := (= #424 0::int)
+#445 := (mod #423 1::int)
+#720 := (= #445 0::int)
+#724 := [rewrite]: #720
+#719 := (= #424 #445)
+#722 := (= #339 1::int)
+#444 := [rewrite]: #722
+#723 := [monotonicity #444]: #719
+#435 := [trans #723 #724]: #434
+#715 := [monotonicity #435]: #437
+#717 := [trans #715 #431]: #713
+#718 := [monotonicity #717]: #714
+#345 := (iff #414 false)
+#726 := (or false false)
+#450 := (iff #726 false)
+#451 := [rewrite]: #450
+#448 := (iff #414 #726)
+#739 := (iff #746 false)
+#1 := true
+#392 := (not true)
+#730 := (iff #392 false)
+#731 := [rewrite]: #730
+#738 := (iff #746 #392)
+#377 := (iff #744 true)
+#728 := (or #409 true)
+#735 := (iff #728 true)
+#737 := [rewrite]: #735
+#734 := (iff #744 #728)
+#401 := (iff #430 true)
+#406 := [rewrite]: #401
+#372 := [monotonicity #406]: #734
+#378 := [trans #372 #737]: #377
+#736 := [monotonicity #378]: #738
+#725 := [trans #736 #731]: #739
+#732 := (iff #740 false)
+#393 := (iff #740 #392)
+#390 := (iff #533 true)
+#742 := (or true #403)
+#386 := (iff #742 true)
+#727 := [rewrite]: #386
+#402 := (iff #533 #742)
+#743 := [monotonicity #406]: #402
+#391 := [trans #743 #727]: #390
+#729 := [monotonicity #391]: #393
+#733 := [trans #729 #731]: #732
+#449 := [monotonicity #733 #725]: #448
+#721 := [trans #449 #451]: #345
+#709 := [monotonicity #721 #718]: #708
+#711 := [trans #709 #705]: #710
+#553 := [monotonicity #711]: #712
+#698 := [trans #553 #555]: #697
+#751 := (iff #750 false)
+#741 := [rewrite]: #751
+#694 := [monotonicity #741 #698]: #700
+#696 := [trans #694 #701]: #702
+#689 := [monotonicity #696]: #688
+#690 := [trans #689 #692]: #688
+#535 := [quant-inst]: #534
+#693 := [mp #535 #690]: #532
+[unit-resolution #693 #765 #194]: false
+unsat
+0fecbc9ed21e04d1304201cf805dca004be98322 299 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 3::int
+#39 := (f4 0::int 3::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#748 := (iff #262 #745)
+#746 := (iff #259 #259)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#750 := [mp #265 #749]: #745
+#666 := (not #745)
+#667 := (or #666 #40)
+#323 := (* -1::int 3::int)
+#408 := (* -1::int 0::int)
+#409 := (mod #408 #323)
+#410 := (+ #39 #409)
+#401 := (= #410 0::int)
+#412 := (mod 0::int 3::int)
+#413 := (* -1::int #412)
+#341 := (+ #39 #413)
+#414 := (= #341 0::int)
+#411 := (<= 3::int 0::int)
+#415 := (<= 0::int 0::int)
+#394 := (or #415 #411)
+#729 := (not #394)
+#731 := (>= 0::int 0::int)
+#388 := (or #411 #731)
+#518 := (not #388)
+#725 := (or #518 #729)
+#399 := (ite #725 #414 #401)
+#400 := (= 0::int 0::int)
+#732 := (ite #400 #40 #399)
+#169 := (= 0::int #39)
+#733 := (= 3::int 0::int)
+#734 := (ite #733 #169 #732)
+#670 := (or #666 #734)
+#570 := (iff #670 #667)
+#573 := (iff #667 #667)
+#566 := [rewrite]: #573
+#669 := (iff #734 #40)
+#687 := (ite false #40 #40)
+#517 := (iff #687 #40)
+#519 := [rewrite]: #517
+#562 := (iff #734 #687)
+#560 := (iff #732 #40)
+#1 := true
+#674 := (ite true #40 #40)
+#675 := (iff #674 #40)
+#678 := [rewrite]: #675
+#676 := (iff #732 #674)
+#520 := (iff #399 #40)
+#681 := (iff #399 #687)
+#680 := (iff #401 #40)
+#685 := (= #410 #39)
+#701 := (+ #39 0::int)
+#702 := (= #701 #39)
+#699 := [rewrite]: #702
+#683 := (= #410 #701)
+#540 := (= #409 0::int)
+#689 := -3::int
+#696 := (mod 0::int -3::int)
+#538 := (= #696 0::int)
+#539 := [rewrite]: #538
+#691 := (= #409 #696)
+#690 := (= #323 -3::int)
+#695 := [rewrite]: #690
+#420 := (= #408 0::int)
+#421 := [rewrite]: #420
+#697 := [monotonicity #421 #695]: #691
+#682 := [trans #697 #539]: #540
+#684 := [monotonicity #682]: #683
+#679 := [trans #684 #699]: #685
+#686 := [monotonicity #679]: #680
+#693 := (iff #414 #40)
+#703 := (= #341 #39)
+#416 := (= #341 #701)
+#422 := (= #413 0::int)
+#709 := (= #413 #408)
+#708 := (= #412 0::int)
+#705 := [rewrite]: #708
+#419 := [monotonicity #705]: #709
+#700 := [trans #419 #421]: #422
+#698 := [monotonicity #700]: #416
+#692 := [trans #698 #699]: #703
+#694 := [monotonicity #692]: #693
+#430 := (iff #725 false)
+#436 := (or false false)
+#707 := (iff #436 false)
+#429 := [rewrite]: #707
+#329 := (iff #725 #436)
+#434 := (iff #729 false)
+#714 := (not true)
+#717 := (iff #714 false)
+#718 := [rewrite]: #717
+#711 := (iff #729 #714)
+#724 := (iff #394 true)
+#722 := (or true false)
+#723 := (iff #722 true)
+#721 := [rewrite]: #723
+#362 := (iff #394 #722)
+#386 := (iff #411 false)
+#391 := [rewrite]: #386
+#357 := (iff #415 true)
+#720 := [rewrite]: #357
+#363 := [monotonicity #720 #391]: #362
+#710 := [trans #363 #721]: #724
+#433 := [monotonicity #710]: #711
+#435 := [trans #433 #718]: #434
+#713 := (iff #518 false)
+#715 := (iff #518 #714)
+#377 := (iff #388 true)
+#728 := (or false true)
+#375 := (iff #728 true)
+#376 := [rewrite]: #375
+#371 := (iff #388 #728)
+#727 := (iff #731 true)
+#387 := [rewrite]: #727
+#712 := [monotonicity #391 #387]: #371
+#378 := [trans #712 #376]: #377
+#716 := [monotonicity #378]: #715
+#719 := [trans #716 #718]: #713
+#706 := [monotonicity #719 #435]: #329
+#704 := [trans #706 #429]: #430
+#688 := [monotonicity #704 #694 #686]: #681
+#673 := [trans #688 #519]: #520
+#736 := (iff #400 true)
+#726 := [rewrite]: #736
+#677 := [monotonicity #726 #673]: #676
+#561 := [trans #677 #678]: #560
+#175 := (iff #169 #40)
+#176 := [rewrite]: #175
+#735 := (iff #733 false)
+#730 := [rewrite]: #735
+#521 := [monotonicity #730 #176 #561]: #562
+#571 := [trans #521 #519]: #669
+#572 := [monotonicity #571]: #570
+#574 := [trans #572 #566]: #570
+#555 := [quant-inst]: #670
+#575 := [mp #555 #574]: #667
+[unit-resolution #575 #750 #168]: false
+unsat
+c41f700575559b00a92a793949431465ee76daf3 318 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#170 := -3::int
+#173 := (f4 0::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f4 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#578 := (not #761)
+#537 := (or #578 #176)
+#339 := (* -1::int -3::int)
+#424 := (* -1::int 0::int)
+#425 := (mod #424 #339)
+#426 := (+ #173 #425)
+#417 := (= #426 0::int)
+#428 := (mod 0::int -3::int)
+#429 := (* -1::int #428)
+#357 := (+ #173 #429)
+#430 := (= #357 0::int)
+#427 := (<= -3::int 0::int)
+#431 := (<= 0::int 0::int)
+#410 := (or #431 #427)
+#745 := (not #410)
+#747 := (>= 0::int 0::int)
+#404 := (or #427 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #430 #417)
+#416 := (= 0::int 0::int)
+#748 := (ite #416 #176 #415)
+#749 := (= -3::int 0::int)
+#750 := (ite #749 #179 #748)
+#685 := (or #578 #750)
+#682 := (iff #685 #537)
+#686 := (iff #537 #537)
+#571 := [rewrite]: #686
+#576 := (iff #750 #176)
+#701 := (ite false #176 #176)
+#702 := (iff #701 #176)
+#703 := [rewrite]: #702
+#691 := (iff #750 #701)
+#692 := (iff #748 #176)
+#1 := true
+#533 := (ite true #176 #176)
+#689 := (iff #533 #176)
+#690 := [rewrite]: #689
+#535 := (iff #748 #533)
+#697 := (iff #415 #176)
+#695 := (iff #415 #701)
+#699 := (iff #417 #176)
+#556 := (= #426 #173)
+#437 := (+ #173 0::int)
+#717 := (= #437 #173)
+#432 := [rewrite]: #717
+#554 := (= #426 #437)
+#707 := (= #425 0::int)
+#710 := (mod 0::int 3::int)
+#711 := (= #710 0::int)
+#712 := [rewrite]: #711
+#705 := (= #425 #710)
+#708 := (= #339 3::int)
+#709 := [rewrite]: #708
+#721 := (= #424 0::int)
+#725 := [rewrite]: #721
+#706 := [monotonicity #725 #709]: #705
+#713 := [trans #706 #712]: #707
+#555 := [monotonicity #713]: #554
+#698 := [trans #555 #432]: #556
+#700 := [monotonicity #698]: #699
+#715 := (iff #430 #176)
+#714 := (= #357 #173)
+#438 := (= #357 #437)
+#435 := (= #429 0::int)
+#720 := (= #429 #424)
+#445 := (= #428 0::int)
+#446 := [rewrite]: #445
+#724 := [monotonicity #446]: #720
+#436 := [trans #724 #725]: #435
+#716 := [monotonicity #436]: #438
+#718 := [trans #716 #432]: #714
+#719 := [monotonicity #718]: #715
+#722 := (iff #741 false)
+#449 := (or false false)
+#452 := (iff #449 false)
+#345 := [rewrite]: #452
+#450 := (iff #741 #449)
+#726 := (iff #745 false)
+#730 := (not true)
+#733 := (iff #730 false)
+#734 := [rewrite]: #733
+#737 := (iff #745 #730)
+#379 := (iff #410 true)
+#744 := (or true true)
+#391 := (iff #744 true)
+#392 := [rewrite]: #391
+#738 := (iff #410 #744)
+#402 := (iff #427 true)
+#407 := [rewrite]: #402
+#373 := (iff #431 true)
+#736 := [rewrite]: #373
+#378 := [monotonicity #736 #407]: #738
+#739 := [trans #378 #392]: #379
+#740 := [monotonicity #739]: #737
+#727 := [trans #740 #734]: #726
+#729 := (iff #534 false)
+#731 := (iff #534 #730)
+#393 := (iff #404 true)
+#387 := (iff #404 #744)
+#743 := (iff #747 true)
+#403 := [rewrite]: #743
+#728 := [monotonicity #407 #403]: #387
+#394 := [trans #728 #392]: #393
+#732 := [monotonicity #394]: #731
+#735 := [trans #732 #734]: #729
+#451 := [monotonicity #735 #727]: #450
+#723 := [trans #451 #345]: #722
+#696 := [monotonicity #723 #719 #700]: #695
+#704 := [trans #696 #703]: #697
+#752 := (iff #416 true)
+#742 := [rewrite]: #752
+#536 := [monotonicity #742 #704]: #535
+#693 := [trans #536 #690]: #692
+#751 := (iff #749 false)
+#746 := [rewrite]: #751
+#694 := [monotonicity #746 #188 #693]: #691
+#577 := [trans #694 #703]: #576
+#683 := [monotonicity #577]: #682
+#586 := [trans #683 #571]: #682
+#587 := [quant-inst]: #685
+#588 := [mp #587 #586]: #537
+[unit-resolution #588 #766 #194]: false
+unsat
+df925a1ff7efbdfd4ebded68dbb98e549ed61b5c 322 0
+#2 := false
+#38 := 1::int
+decl f4 :: (-> int int int)
+#39 := 3::int
+#40 := (f4 1::int 3::int)
+#41 := (= #40 1::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#11 := 0::int
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#256 := (+ #29 #125)
+#257 := (= #256 0::int)
+#30 := (mod #8 #9)
+#253 := (* -1::int #30)
+#254 := (+ #29 #253)
+#255 := (= #254 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#258 := (ite #202 #255 #257)
+#252 := (= #29 0::int)
+#12 := (= #8 0::int)
+#259 := (ite #12 #252 #258)
+#251 := (= #8 #29)
+#13 := (= #9 0::int)
+#260 := (ite #13 #251 #259)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#748 := (iff #263 #745)
+#746 := (iff #260 #260)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#131 := (* -1::int #125)
+#220 := (ite #202 #30 #131)
+#223 := (ite #12 0::int #220)
+#226 := (ite #13 #8 #223)
+#229 := (= #29 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#233 := (iff #163 #232)
+#230 := (iff #160 #229)
+#227 := (= #157 #226)
+#224 := (= #154 #223)
+#221 := (= #151 #220)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#222 := [monotonicity #206]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#183 := (~ #163 #163)
+#180 := (~ #160 #160)
+#193 := [refl]: #180
+#184 := [nnf-pos #193]: #183
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#194 := [mp~ #168 #184]: #163
+#235 := [mp #194 #234]: #232
+#266 := [mp #235 #265]: #263
+#750 := [mp #266 #749]: #745
+#664 := (not #745)
+#660 := (or #664 #41)
+#324 := (* -1::int 3::int)
+#408 := (* -1::int 1::int)
+#409 := (mod #408 #324)
+#410 := (+ #40 #409)
+#401 := (= #410 0::int)
+#412 := (mod 1::int 3::int)
+#413 := (* -1::int #412)
+#414 := (+ #40 #413)
+#411 := (= #414 0::int)
+#415 := (<= 3::int 0::int)
+#394 := (<= 1::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= 1::int 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #401)
+#732 := (= #40 0::int)
+#733 := (= 1::int 0::int)
+#734 := (ite #733 #732 #400)
+#170 := (= 1::int #40)
+#735 := (= 3::int 0::int)
+#730 := (ite #735 #170 #734)
+#665 := (or #664 #730)
+#655 := (iff #665 #660)
+#657 := (iff #660 #660)
+#651 := [rewrite]: #657
+#662 := (iff #730 #41)
+#659 := (ite false #41 #41)
+#650 := (iff #659 #41)
+#652 := [rewrite]: #650
+#661 := (iff #730 #659)
+#668 := (iff #734 #41)
+#575 := (ite false #732 #41)
+#578 := (iff #575 #41)
+#671 := [rewrite]: #578
+#576 := (iff #734 #575)
+#566 := (iff #400 #41)
+#562 := -2::int
+#521 := (= #40 -2::int)
+#1 := true
+#670 := (ite true #41 #521)
+#572 := (iff #670 #41)
+#573 := [rewrite]: #572
+#555 := (iff #400 #670)
+#666 := (iff #401 #521)
+#680 := 2::int
+#673 := (+ 2::int #40)
+#678 := (= #673 0::int)
+#669 := (iff #678 #521)
+#571 := [rewrite]: #669
+#560 := (iff #401 #678)
+#677 := (= #410 #673)
+#517 := (+ #40 2::int)
+#674 := (= #517 #673)
+#676 := [rewrite]: #674
+#519 := (= #410 #517)
+#681 := (= #409 2::int)
+#540 := -3::int
+#684 := (mod -1::int -3::int)
+#686 := (= #684 2::int)
+#687 := [rewrite]: #686
+#685 := (= #409 #684)
+#682 := (= #324 -3::int)
+#683 := [rewrite]: #682
+#422 := (= #408 -1::int)
+#700 := [rewrite]: #422
+#679 := [monotonicity #700 #683]: #685
+#688 := [trans #679 #687]: #681
+#520 := [monotonicity #688]: #519
+#675 := [trans #520 #676]: #677
+#561 := [monotonicity #675]: #560
+#667 := [trans #561 #571]: #666
+#538 := (iff #411 #41)
+#703 := (+ -1::int #40)
+#690 := (= #703 0::int)
+#691 := (iff #690 #41)
+#697 := [rewrite]: #691
+#695 := (iff #411 #690)
+#694 := (= #414 #703)
+#698 := (+ #40 -1::int)
+#692 := (= #698 #703)
+#693 := [rewrite]: #692
+#702 := (= #414 #698)
+#701 := (= #413 -1::int)
+#420 := (= #413 #408)
+#709 := (= #412 1::int)
+#419 := [rewrite]: #709
+#421 := [monotonicity #419]: #420
+#416 := [trans #421 #700]: #701
+#699 := [monotonicity #416]: #702
+#689 := [trans #699 #693]: #694
+#696 := [monotonicity #689]: #695
+#539 := [trans #696 #697]: #538
+#708 := (iff #399 true)
+#712 := (or false true)
+#377 := (iff #712 true)
+#378 := [rewrite]: #377
+#430 := (iff #399 #712)
+#707 := (iff #731 true)
+#434 := (not false)
+#330 := (iff #434 true)
+#706 := [rewrite]: #330
+#435 := (iff #731 #434)
+#711 := (iff #729 false)
+#363 := (or false false)
+#724 := (iff #363 false)
+#710 := [rewrite]: #724
+#723 := (iff #729 #363)
+#727 := (iff #415 false)
+#387 := [rewrite]: #727
+#722 := (iff #394 false)
+#362 := [rewrite]: #722
+#721 := [monotonicity #362 #387]: #723
+#433 := [trans #721 #710]: #711
+#436 := [monotonicity #433]: #435
+#429 := [trans #436 #706]: #707
+#357 := (iff #725 false)
+#716 := (not true)
+#713 := (iff #716 false)
+#719 := [rewrite]: #713
+#717 := (iff #725 #716)
+#714 := (iff #518 true)
+#375 := (iff #518 #712)
+#728 := (iff #388 true)
+#371 := [rewrite]: #728
+#376 := [monotonicity #387 #371]: #375
+#715 := [trans #376 #378]: #714
+#718 := [monotonicity #715]: #717
+#720 := [trans #718 #719]: #357
+#704 := [monotonicity #720 #429]: #430
+#705 := [trans #704 #378]: #708
+#570 := [monotonicity #705 #539 #667]: #555
+#574 := [trans #570 #573]: #566
+#386 := (iff #733 false)
+#391 := [rewrite]: #386
+#577 := [monotonicity #391 #574]: #576
+#672 := [trans #577 #671]: #668
+#176 := (iff #170 #41)
+#177 := [rewrite]: #176
+#736 := (iff #735 false)
+#726 := [rewrite]: #736
+#653 := [monotonicity #726 #177 #672]: #661
+#663 := [trans #653 #652]: #662
+#656 := [monotonicity #663]: #655
+#658 := [trans #656 #651]: #655
+#654 := [quant-inst]: #665
+#642 := [mp #654 #658]: #660
+[unit-resolution #642 #750 #169]: false
+unsat
+81f620043f7c72573b432fea390f4ee370eaa693 297 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 3::int
+#39 := (f4 3::int 3::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#748 := (iff #262 #745)
+#746 := (iff #259 #259)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#750 := [mp #265 #749]: #745
+#667 := (not #745)
+#670 := (or #667 #40)
+#323 := (* -1::int 3::int)
+#408 := (mod #323 #323)
+#409 := (+ #39 #408)
+#410 := (= #409 0::int)
+#401 := (mod 3::int 3::int)
+#412 := (* -1::int #401)
+#413 := (+ #39 #412)
+#341 := (= #413 0::int)
+#414 := (<= 3::int 0::int)
+#411 := (or #414 #414)
+#415 := (not #411)
+#394 := (>= 3::int 0::int)
+#729 := (or #414 #394)
+#731 := (not #729)
+#388 := (or #731 #415)
+#518 := (ite #388 #341 #410)
+#725 := (= 3::int 0::int)
+#399 := (ite #725 #40 #518)
+#400 := (= 3::int #39)
+#732 := (ite #725 #400 #399)
+#555 := (or #667 #732)
+#572 := (iff #555 #670)
+#566 := (iff #670 #670)
+#574 := [rewrite]: #566
+#571 := (iff #732 #40)
+#730 := (= #39 3::int)
+#560 := (ite false #730 #40)
+#521 := (iff #560 #40)
+#669 := [rewrite]: #521
+#561 := (iff #732 #560)
+#675 := (iff #399 #40)
+#520 := (ite false #40 #40)
+#676 := (iff #520 #40)
+#677 := [rewrite]: #676
+#673 := (iff #399 #520)
+#517 := (iff #518 #40)
+#1 := true
+#680 := (ite true #40 #40)
+#681 := (iff #680 #40)
+#688 := [rewrite]: #681
+#686 := (iff #518 #680)
+#685 := (iff #410 #40)
+#683 := (= #409 #39)
+#422 := (+ #39 0::int)
+#416 := (= #422 #39)
+#698 := [rewrite]: #416
+#540 := (= #409 #422)
+#538 := (= #408 0::int)
+#693 := -3::int
+#690 := (mod -3::int -3::int)
+#691 := (= #690 0::int)
+#697 := [rewrite]: #691
+#695 := (= #408 #690)
+#694 := (= #323 -3::int)
+#689 := [rewrite]: #694
+#696 := [monotonicity #689 #689]: #695
+#539 := [trans #696 #697]: #538
+#682 := [monotonicity #539]: #540
+#684 := [trans #682 #698]: #683
+#679 := [monotonicity #684]: #685
+#703 := (iff #341 #40)
+#702 := (= #413 #39)
+#700 := (= #413 #422)
+#420 := (= #412 0::int)
+#704 := (* -1::int 0::int)
+#709 := (= #704 0::int)
+#419 := [rewrite]: #709
+#708 := (= #412 #704)
+#429 := (= #401 0::int)
+#430 := [rewrite]: #429
+#705 := [monotonicity #430]: #708
+#421 := [trans #705 #419]: #420
+#701 := [monotonicity #421]: #700
+#699 := [trans #701 #698]: #702
+#692 := [monotonicity #699]: #703
+#706 := (iff #388 true)
+#387 := (or false true)
+#712 := (iff #387 true)
+#375 := [rewrite]: #712
+#436 := (iff #388 #387)
+#434 := (iff #415 true)
+#721 := (not false)
+#711 := (iff #721 true)
+#433 := [rewrite]: #711
+#724 := (iff #415 #721)
+#363 := (iff #411 false)
+#719 := (or false false)
+#722 := (iff #719 false)
+#362 := [rewrite]: #722
+#357 := (iff #411 #719)
+#726 := (iff #414 false)
+#386 := [rewrite]: #726
+#720 := [monotonicity #386 #386]: #357
+#723 := [trans #720 #362]: #363
+#710 := [monotonicity #723]: #724
+#435 := [trans #710 #433]: #434
+#718 := (iff #731 false)
+#378 := (not true)
+#716 := (iff #378 false)
+#717 := [rewrite]: #716
+#714 := (iff #731 #378)
+#376 := (iff #729 true)
+#728 := (iff #729 #387)
+#391 := (iff #394 true)
+#727 := [rewrite]: #391
+#371 := [monotonicity #386 #727]: #728
+#377 := [trans #371 #375]: #376
+#715 := [monotonicity #377]: #714
+#713 := [trans #715 #717]: #718
+#329 := [monotonicity #713 #435]: #436
+#707 := [trans #329 #375]: #706
+#687 := [monotonicity #707 #692 #679]: #686
+#519 := [trans #687 #688]: #517
+#733 := (iff #725 false)
+#734 := [rewrite]: #733
+#674 := [monotonicity #734 #519]: #673
+#678 := [trans #674 #677]: #675
+#735 := (iff #400 #730)
+#736 := [rewrite]: #735
+#562 := [monotonicity #734 #736 #678]: #561
+#666 := [trans #562 #669]: #571
+#573 := [monotonicity #666]: #572
+#575 := [trans #573 #574]: #572
+#570 := [quant-inst]: #555
+#576 := [mp #570 #575]: #670
+[unit-resolution #576 #750 #168]: false
+unsat
+cb4e8190fece6068581aa14f03d47f730f01c576 328 0
+#2 := false
+#41 := 2::int
+decl f4 :: (-> int int int)
+#39 := 3::int
+#38 := 5::int
+#40 := (f4 5::int 3::int)
+#42 := (= #40 2::int)
+#43 := (not #42)
+#170 := [asserted]: #43
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#736 := (pattern #29)
+#11 := 0::int
+#67 := -1::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#126 := (mod #68 #71)
+#247 := (+ #29 #126)
+#248 := (= #247 0::int)
+#30 := (mod #8 #9)
+#244 := (* -1::int #30)
+#245 := (+ #29 #244)
+#246 := (= #245 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#186 := (or #89 #93)
+#187 := (not #186)
+#100 := (>= #8 0::int)
+#178 := (or #93 #100)
+#179 := (not #178)
+#193 := (or #179 #187)
+#249 := (ite #193 #246 #248)
+#243 := (= #29 0::int)
+#12 := (= #8 0::int)
+#250 := (ite #12 #243 #249)
+#242 := (= #8 #29)
+#13 := (= #9 0::int)
+#251 := (ite #13 #242 #250)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #251)
+#254 := (forall (vars (?v0 int) (?v1 int)) #251)
+#740 := (iff #254 #737)
+#738 := (iff #251 #251)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#132 := (* -1::int #126)
+#211 := (ite #193 #30 #132)
+#214 := (ite #12 0::int #211)
+#217 := (ite #13 #8 #214)
+#220 := (= #29 #217)
+#223 := (forall (vars (?v0 int) (?v1 int)) #220)
+#255 := (iff #223 #254)
+#252 := (iff #220 #251)
+#253 := [rewrite]: #252
+#256 := [quant-intro #253]: #255
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (ite #107 #30 #132)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#224 := (iff #164 #223)
+#221 := (iff #161 #220)
+#218 := (= #158 #217)
+#215 := (= #155 #214)
+#212 := (= #152 #211)
+#196 := (iff #107 #193)
+#190 := (or #187 #179)
+#194 := (iff #190 #193)
+#195 := [rewrite]: #194
+#191 := (iff #107 #190)
+#188 := (iff #104 #179)
+#189 := [rewrite]: #188
+#176 := (iff #97 #187)
+#177 := [rewrite]: #176
+#192 := [monotonicity #177 #189]: #191
+#197 := [trans #192 #195]: #196
+#213 := [monotonicity #197]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#222 := [monotonicity #219]: #221
+#225 := [quant-intro #222]: #224
+#174 := (~ #164 #164)
+#171 := (~ #161 #161)
+#184 := [refl]: #171
+#175 := [nnf-pos #184]: #174
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#167 := (iff #37 #164)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#137 := (ite #64 #30 #132)
+#140 := (ite #12 0::int #137)
+#143 := (ite #13 #8 #140)
+#146 := (= #29 #143)
+#149 := (forall (vars (?v0 int) (?v1 int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #37 #149)
+#147 := (iff #36 #146)
+#144 := (= #35 #143)
+#141 := (= #34 #140)
+#138 := (= #33 #137)
+#135 := (= #32 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #32 #129)
+#127 := (= #31 #126)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#139 := [monotonicity #66 #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #37
+#169 := [mp #125 #168]: #164
+#185 := [mp~ #169 #175]: #164
+#226 := [mp #185 #225]: #223
+#257 := [mp #226 #256]: #254
+#742 := [mp #257 #741]: #737
+#643 := (not #737)
+#650 := (or #643 #42)
+#315 := (* -1::int 3::int)
+#400 := (* -1::int 5::int)
+#401 := (mod #400 #315)
+#402 := (+ #40 #401)
+#393 := (= #402 0::int)
+#404 := (mod 5::int 3::int)
+#405 := (* -1::int #404)
+#333 := (+ #40 #405)
+#406 := (= #333 0::int)
+#403 := (<= 3::int 0::int)
+#407 := (<= 5::int 0::int)
+#386 := (or #407 #403)
+#721 := (not #386)
+#723 := (>= 5::int 0::int)
+#380 := (or #403 #723)
+#510 := (not #380)
+#717 := (or #510 #721)
+#391 := (ite #717 #406 #393)
+#392 := (= #40 0::int)
+#724 := (= 5::int 0::int)
+#725 := (ite #724 #392 #391)
+#726 := (= 5::int #40)
+#727 := (= 3::int 0::int)
+#722 := (ite #727 #726 #725)
+#634 := (or #643 #722)
+#637 := (iff #634 #650)
+#639 := (iff #650 #650)
+#640 := [rewrite]: #639
+#648 := (iff #722 #42)
+#383 := (= #40 5::int)
+#656 := (ite false #383 #42)
+#646 := (iff #656 #42)
+#647 := [rewrite]: #646
+#652 := (iff #722 #656)
+#654 := (iff #725 #42)
+#651 := (ite false #392 #42)
+#642 := (iff #651 #42)
+#644 := [rewrite]: #642
+#653 := (iff #725 #651)
+#660 := (iff #391 #42)
+#562 := (= #40 -1::int)
+#1 := true
+#567 := (ite true #42 #562)
+#570 := (iff #567 #42)
+#663 := [rewrite]: #570
+#568 := (iff #391 #567)
+#558 := (iff #393 #562)
+#665 := 1::int
+#554 := (+ 1::int #40)
+#659 := (= #554 0::int)
+#564 := (iff #659 #562)
+#565 := [rewrite]: #564
+#662 := (iff #393 #659)
+#563 := (= #402 #554)
+#670 := (+ #40 1::int)
+#513 := (= #670 #554)
+#661 := [rewrite]: #513
+#552 := (= #402 #670)
+#669 := (= #401 1::int)
+#679 := -3::int
+#671 := -5::int
+#509 := (mod -5::int -3::int)
+#666 := (= #509 1::int)
+#668 := [rewrite]: #666
+#511 := (= #401 #509)
+#673 := (= #315 -3::int)
+#680 := [rewrite]: #673
+#672 := (= #400 -5::int)
+#678 := [rewrite]: #672
+#512 := [monotonicity #678 #680]: #511
+#667 := [trans #512 #668]: #669
+#553 := [monotonicity #667]: #552
+#658 := [trans #553 #661]: #563
+#547 := [monotonicity #658]: #662
+#566 := [trans #547 #565]: #558
+#676 := (iff #406 #42)
+#690 := -2::int
+#682 := (+ -2::int #40)
+#530 := (= #682 0::int)
+#674 := (iff #530 #42)
+#675 := [rewrite]: #674
+#531 := (iff #406 #530)
+#683 := (= #333 #682)
+#685 := (+ #40 -2::int)
+#687 := (= #685 #682)
+#688 := [rewrite]: #687
+#686 := (= #333 #685)
+#695 := (= #405 -2::int)
+#692 := (* -1::int 2::int)
+#694 := (= #692 -2::int)
+#691 := [rewrite]: #694
+#693 := (= #405 #692)
+#413 := (= #404 2::int)
+#414 := [rewrite]: #413
+#408 := [monotonicity #414]: #693
+#684 := [trans #408 #691]: #695
+#681 := [monotonicity #684]: #686
+#689 := [trans #681 #688]: #683
+#532 := [monotonicity #689]: #531
+#677 := [trans #532 #675]: #676
+#411 := (iff #717 true)
+#369 := (or false true)
+#707 := (iff #369 true)
+#708 := [rewrite]: #707
+#697 := (iff #717 #369)
+#696 := (iff #721 true)
+#321 := (not false)
+#421 := (iff #321 true)
+#422 := [rewrite]: #421
+#698 := (iff #721 #321)
+#427 := (iff #386 false)
+#716 := (or false false)
+#425 := (iff #716 false)
+#426 := [rewrite]: #425
+#702 := (iff #386 #716)
+#363 := (iff #403 false)
+#704 := [rewrite]: #363
+#715 := (iff #407 false)
+#713 := [rewrite]: #715
+#703 := [monotonicity #713 #704]: #702
+#428 := [trans #703 #426]: #427
+#699 := [monotonicity #428]: #698
+#700 := [trans #699 #422]: #696
+#354 := (iff #510 false)
+#705 := (not true)
+#712 := (iff #705 false)
+#714 := [rewrite]: #712
+#711 := (iff #510 #705)
+#709 := (iff #380 true)
+#370 := (iff #380 #369)
+#367 := (iff #723 true)
+#368 := [rewrite]: #367
+#706 := [monotonicity #704 #368]: #370
+#710 := [trans #706 #708]: #709
+#349 := [monotonicity #710]: #711
+#355 := [trans #349 #714]: #354
+#701 := [monotonicity #355 #700]: #697
+#412 := [trans #701 #708]: #411
+#569 := [monotonicity #412 #677 #566]: #568
+#664 := [trans #569 #663]: #660
+#379 := (iff #724 false)
+#720 := [rewrite]: #379
+#645 := [monotonicity #720 #664]: #653
+#655 := [trans #645 #644]: #654
+#378 := (iff #726 #383)
+#719 := [rewrite]: #378
+#728 := (iff #727 false)
+#718 := [rewrite]: #728
+#657 := [monotonicity #718 #719 #655]: #652
+#649 := [trans #657 #647]: #648
+#638 := [monotonicity #649]: #637
+#636 := [trans #638 #640]: #637
+#635 := [quant-inst]: #634
+#641 := [mp #635 #636]: #650
+[unit-resolution #641 #742 #170]: false
+unsat
+bfd36ff3c9b8fbf83ea43657c3835d71df1f0d5f 335 0
+#2 := false
+#179 := -2::int
+decl f4 :: (-> int int int)
+#173 := -3::int
+#38 := 1::int
+#176 := (f4 1::int -3::int)
+#182 := (= #176 -2::int)
+#185 := (not #182)
+#42 := 2::int
+#43 := (- 2::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f4 1::int #40)
+#44 := (= #41 #43)
+#45 := (not #44)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#180 := (= #43 -2::int)
+#181 := [rewrite]: #180
+#177 := (= #41 #176)
+#174 := (= #40 -3::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#184 := [monotonicity #178 #181]: #183
+#187 := [monotonicity #184]: #186
+#172 := [asserted]: #45
+#190 := [mp #172 #187]: #185
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#753 := (pattern #29)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#128 := (mod #70 #73)
+#265 := (+ #29 #128)
+#266 := (= #265 0::int)
+#30 := (mod #8 #9)
+#262 := (* -1::int #30)
+#263 := (+ #29 #262)
+#264 := (= #263 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#204 := (or #91 #95)
+#205 := (not #204)
+#102 := (>= #8 0::int)
+#196 := (or #95 #102)
+#197 := (not #196)
+#211 := (or #197 #205)
+#267 := (ite #211 #264 #266)
+#261 := (= #29 0::int)
+#12 := (= #8 0::int)
+#268 := (ite #12 #261 #267)
+#260 := (= #8 #29)
+#13 := (= #9 0::int)
+#269 := (ite #13 #260 #268)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #269)
+#272 := (forall (vars (?v0 int) (?v1 int)) #269)
+#757 := (iff #272 #754)
+#755 := (iff #269 #269)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#134 := (* -1::int #128)
+#229 := (ite #211 #30 #134)
+#232 := (ite #12 0::int #229)
+#235 := (ite #13 #8 #232)
+#238 := (= #29 #235)
+#241 := (forall (vars (?v0 int) (?v1 int)) #238)
+#273 := (iff #241 #272)
+#270 := (iff #238 #269)
+#271 := [rewrite]: #270
+#274 := [quant-intro #271]: #273
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#242 := (iff #166 #241)
+#239 := (iff #163 #238)
+#236 := (= #160 #235)
+#233 := (= #157 #232)
+#230 := (= #154 #229)
+#214 := (iff #109 #211)
+#208 := (or #205 #197)
+#212 := (iff #208 #211)
+#213 := [rewrite]: #212
+#209 := (iff #109 #208)
+#206 := (iff #106 #197)
+#207 := [rewrite]: #206
+#194 := (iff #99 #205)
+#195 := [rewrite]: #194
+#210 := [monotonicity #195 #207]: #209
+#215 := [trans #210 #213]: #214
+#231 := [monotonicity #215]: #230
+#234 := [monotonicity #231]: #233
+#237 := [monotonicity #234]: #236
+#240 := [monotonicity #237]: #239
+#243 := [quant-intro #240]: #242
+#192 := (~ #166 #166)
+#188 := (~ #163 #163)
+#202 := [refl]: #188
+#193 := [nnf-pos #202]: #192
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#203 := [mp~ #171 #193]: #166
+#244 := [mp #203 #243]: #241
+#275 := [mp #244 #274]: #272
+#759 := [mp #275 #758]: #754
+#661 := (not #754)
+#671 := (or #661 #182)
+#333 := (* -1::int -3::int)
+#417 := (* -1::int 1::int)
+#418 := (mod #417 #333)
+#419 := (+ #176 #418)
+#410 := (= #419 0::int)
+#421 := (mod 1::int -3::int)
+#422 := (* -1::int #421)
+#423 := (+ #176 #422)
+#420 := (= #423 0::int)
+#424 := (<= -3::int 0::int)
+#403 := (<= 1::int 0::int)
+#738 := (or #403 #424)
+#740 := (not #738)
+#397 := (>= 1::int 0::int)
+#527 := (or #424 #397)
+#734 := (not #527)
+#408 := (or #734 #740)
+#409 := (ite #408 #420 #410)
+#741 := (= #176 0::int)
+#742 := (= 1::int 0::int)
+#743 := (ite #742 #741 #409)
+#744 := (= 1::int #176)
+#739 := (= -3::int 0::int)
+#745 := (ite #739 #744 #743)
+#672 := (or #661 #745)
+#669 := (iff #672 #671)
+#663 := (iff #671 #671)
+#664 := [rewrite]: #663
+#662 := (iff #745 #182)
+#736 := (= #176 1::int)
+#679 := (ite false #736 #182)
+#581 := (iff #679 #182)
+#582 := [rewrite]: #581
+#668 := (iff #745 #679)
+#677 := (iff #743 #182)
+#584 := (ite false #741 #182)
+#587 := (iff #584 #182)
+#680 := [rewrite]: #587
+#585 := (iff #743 #584)
+#575 := (iff #409 #182)
+#564 := (iff #409 #679)
+#675 := (iff #410 #182)
+#685 := (+ 2::int #176)
+#570 := (= #685 0::int)
+#678 := (iff #570 #182)
+#580 := [rewrite]: #678
+#571 := (iff #410 #570)
+#687 := (= #419 #685)
+#529 := (+ #176 2::int)
+#686 := (= #529 #685)
+#684 := [rewrite]: #686
+#682 := (= #419 #529)
+#526 := (= #418 2::int)
+#689 := (mod -1::int 3::int)
+#690 := (= #689 2::int)
+#697 := [rewrite]: #690
+#695 := (= #418 #689)
+#694 := (= #333 3::int)
+#688 := [rewrite]: #694
+#707 := (= #417 -1::int)
+#711 := [rewrite]: #707
+#696 := [monotonicity #711 #688]: #695
+#528 := [trans #696 #697]: #526
+#683 := [monotonicity #528]: #682
+#569 := [trans #683 #684]: #687
+#530 := [monotonicity #569]: #571
+#676 := [trans #530 #580]: #675
+#692 := (iff #420 #736)
+#698 := (+ -1::int #176)
+#706 := (= #698 0::int)
+#549 := (iff #706 #736)
+#691 := [rewrite]: #549
+#547 := (iff #420 #706)
+#705 := (= #423 #698)
+#701 := (+ #176 -1::int)
+#699 := (= #701 #698)
+#704 := [rewrite]: #699
+#702 := (= #423 #701)
+#708 := (= #422 -1::int)
+#710 := (= #422 #417)
+#431 := (= #421 1::int)
+#709 := [rewrite]: #431
+#425 := [monotonicity #709]: #710
+#712 := [trans #425 #711]: #708
+#703 := [monotonicity #712]: #702
+#700 := [trans #703 #704]: #705
+#548 := [monotonicity #700]: #547
+#693 := [trans #548 #691]: #692
+#429 := (iff #408 false)
+#713 := (or false false)
+#718 := (iff #713 false)
+#428 := [rewrite]: #718
+#717 := (iff #408 #713)
+#438 := (iff #740 false)
+#1 := true
+#728 := (not true)
+#731 := (iff #728 false)
+#371 := [rewrite]: #731
+#715 := (iff #740 #728)
+#445 := (iff #738 true)
+#719 := (or false true)
+#443 := (iff #719 true)
+#444 := [rewrite]: #443
+#720 := (iff #738 #719)
+#721 := (iff #424 true)
+#384 := [rewrite]: #721
+#730 := (iff #403 false)
+#733 := [rewrite]: #730
+#442 := [monotonicity #733 #384]: #720
+#339 := [trans #442 #444]: #445
+#716 := [monotonicity #339]: #715
+#439 := [trans #716 #371]: #438
+#372 := (iff #734 false)
+#366 := (iff #734 #728)
+#727 := (iff #527 true)
+#387 := (or true true)
+#725 := (iff #387 true)
+#726 := [rewrite]: #725
+#723 := (iff #527 #387)
+#385 := (iff #397 true)
+#386 := [rewrite]: #385
+#724 := [monotonicity #384 #386]: #723
+#722 := [trans #724 #726]: #727
+#729 := [monotonicity #722]: #366
+#732 := [trans #729 #371]: #372
+#714 := [monotonicity #732 #439]: #717
+#430 := [trans #714 #428]: #429
+#579 := [monotonicity #430 #693 #676]: #564
+#583 := [trans #579 #582]: #575
+#737 := (iff #742 false)
+#380 := [rewrite]: #737
+#586 := [monotonicity #380 #583]: #585
+#681 := [trans #586 #680]: #677
+#400 := (iff #744 #736)
+#396 := [rewrite]: #400
+#735 := (iff #739 false)
+#395 := [rewrite]: #735
+#670 := [monotonicity #395 #396 #681]: #668
+#659 := [trans #670 #582]: #662
+#674 := [monotonicity #659]: #669
+#665 := [trans #674 #664]: #669
+#673 := [quant-inst]: #672
+#666 := [mp #673 #665]: #671
+[unit-resolution #666 #759 #190]: false
+unsat
+4ceffbaf6f201f7a2c8f989c458a76c3af72c38e 328 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#170 := -3::int
+#38 := 3::int
+#173 := (f4 3::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := (- 3::int)
+#40 := (f4 3::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#589 := (not #761)
+#582 := (or #589 #176)
+#339 := (* -1::int -3::int)
+#424 := (* -1::int 3::int)
+#425 := (mod #424 #339)
+#426 := (+ #173 #425)
+#417 := (= #426 0::int)
+#428 := (mod 3::int -3::int)
+#429 := (* -1::int #428)
+#357 := (+ #173 #429)
+#430 := (= #357 0::int)
+#427 := (<= -3::int 0::int)
+#431 := (<= 3::int 0::int)
+#410 := (or #431 #427)
+#745 := (not #410)
+#747 := (>= 3::int 0::int)
+#404 := (or #427 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #430 #417)
+#416 := (= 3::int 0::int)
+#748 := (ite #416 #176 #415)
+#749 := (= 3::int #173)
+#750 := (= -3::int 0::int)
+#751 := (ite #750 #749 #748)
+#590 := (or #589 #751)
+#592 := (iff #590 #582)
+#594 := (iff #582 #582)
+#687 := [rewrite]: #594
+#586 := (iff #751 #176)
+#402 := (= #173 3::int)
+#587 := (ite false #402 #176)
+#686 := (iff #587 #176)
+#571 := [rewrite]: #686
+#682 := (iff #751 #587)
+#537 := (iff #748 #176)
+#689 := (ite false #176 #176)
+#693 := (iff #689 #176)
+#691 := [rewrite]: #693
+#577 := (iff #748 #689)
+#694 := (iff #415 #176)
+#690 := (iff #415 #689)
+#535 := (iff #417 #176)
+#704 := (= #426 #173)
+#719 := (+ #173 0::int)
+#710 := (= #719 #173)
+#705 := [rewrite]: #710
+#703 := (= #426 #719)
+#696 := (= #425 0::int)
+#698 := (mod -3::int 3::int)
+#701 := (= #698 0::int)
+#695 := [rewrite]: #701
+#699 := (= #425 #698)
+#555 := (= #339 3::int)
+#556 := [rewrite]: #555
+#713 := (= #424 -3::int)
+#554 := [rewrite]: #713
+#700 := [monotonicity #554 #556]: #699
+#702 := [trans #700 #695]: #696
+#697 := [monotonicity #702]: #703
+#533 := [trans #697 #705]: #704
+#536 := [monotonicity #533]: #535
+#712 := (iff #430 #176)
+#706 := (= #357 #173)
+#708 := (= #357 #719)
+#718 := (= #429 0::int)
+#438 := (* -1::int 0::int)
+#432 := (= #438 0::int)
+#714 := [rewrite]: #432
+#716 := (= #429 #438)
+#436 := (= #428 0::int)
+#437 := [rewrite]: #436
+#717 := [monotonicity #437]: #716
+#715 := [trans #717 #714]: #718
+#709 := [monotonicity #715]: #708
+#711 := [trans #709 #705]: #706
+#707 := [monotonicity #711]: #712
+#725 := (iff #741 false)
+#445 := (or false false)
+#724 := (iff #445 false)
+#721 := [rewrite]: #724
+#446 := (iff #741 #445)
+#722 := (iff #745 false)
+#1 := true
+#734 := (not true)
+#373 := (iff #734 false)
+#736 := [rewrite]: #373
+#452 := (iff #745 #734)
+#450 := (iff #410 true)
+#737 := (or false true)
+#727 := (iff #737 true)
+#449 := [rewrite]: #727
+#740 := (iff #410 #737)
+#744 := (iff #427 true)
+#387 := [rewrite]: #744
+#379 := (iff #431 false)
+#739 := [rewrite]: #379
+#726 := [monotonicity #739 #387]: #740
+#451 := [trans #726 #449]: #450
+#345 := [monotonicity #451]: #452
+#723 := [trans #345 #736]: #722
+#738 := (iff #534 false)
+#729 := (iff #534 #734)
+#732 := (iff #404 true)
+#392 := (or true true)
+#730 := (iff #392 true)
+#731 := [rewrite]: #730
+#393 := (iff #404 #392)
+#728 := (iff #747 true)
+#391 := [rewrite]: #728
+#394 := [monotonicity #387 #391]: #393
+#733 := [trans #394 #731]: #732
+#735 := [monotonicity #733]: #729
+#378 := [trans #735 #736]: #738
+#720 := [monotonicity #378 #723]: #446
+#435 := [trans #720 #721]: #725
+#692 := [monotonicity #435 #707 #536]: #690
+#576 := [trans #692 #691]: #694
+#743 := (iff #416 false)
+#403 := [rewrite]: #743
+#578 := [monotonicity #403 #576]: #577
+#685 := [trans #578 #691]: #537
+#742 := (iff #749 #402)
+#407 := [rewrite]: #742
+#746 := (iff #750 false)
+#752 := [rewrite]: #746
+#683 := [monotonicity #752 #407 #685]: #682
+#588 := [trans #683 #571]: #586
+#593 := [monotonicity #588]: #592
+#684 := [trans #593 #687]: #592
+#591 := [quant-inst]: #590
+#688 := [mp #591 #684]: #582
+[unit-resolution #688 #766 #194]: false
+unsat
+0a7e02a9f84f48b1d98469978b7d11453fa670ee 356 0
+#2 := false
+#69 := -1::int
+decl f4 :: (-> int int int)
+#173 := -3::int
+#38 := 5::int
+#176 := (f4 5::int -3::int)
+#181 := (= #176 -1::int)
+#194 := (not #181)
+#42 := 1::int
+#43 := (- 1::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f4 5::int #40)
+#44 := (= #41 #43)
+#45 := (not #44)
+#197 := (iff #45 #194)
+#184 := (= -1::int #176)
+#189 := (not #184)
+#195 := (iff #189 #194)
+#192 := (iff #184 #181)
+#193 := [rewrite]: #192
+#196 := [monotonicity #193]: #195
+#190 := (iff #45 #189)
+#187 := (iff #44 #184)
+#185 := (iff #181 #184)
+#186 := [rewrite]: #185
+#182 := (iff #44 #181)
+#179 := (= #43 -1::int)
+#180 := [rewrite]: #179
+#177 := (= #41 #176)
+#174 := (= #40 -3::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#183 := [monotonicity #178 #180]: #182
+#188 := [trans #183 #186]: #187
+#191 := [monotonicity #188]: #190
+#198 := [trans #191 #196]: #197
+#172 := [asserted]: #45
+#199 := [mp #172 #198]: #194
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#764 := (pattern #29)
+#11 := 0::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#128 := (mod #70 #73)
+#276 := (+ #29 #128)
+#277 := (= #276 0::int)
+#30 := (mod #8 #9)
+#273 := (* -1::int #30)
+#274 := (+ #29 #273)
+#275 := (= #274 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#215 := (or #91 #95)
+#216 := (not #215)
+#102 := (>= #8 0::int)
+#207 := (or #95 #102)
+#208 := (not #207)
+#222 := (or #208 #216)
+#278 := (ite #222 #275 #277)
+#272 := (= #29 0::int)
+#12 := (= #8 0::int)
+#279 := (ite #12 #272 #278)
+#271 := (= #8 #29)
+#13 := (= #9 0::int)
+#280 := (ite #13 #271 #279)
+#765 := (forall (vars (?v0 int) (?v1 int)) (:pat #764) #280)
+#283 := (forall (vars (?v0 int) (?v1 int)) #280)
+#768 := (iff #283 #765)
+#766 := (iff #280 #280)
+#767 := [refl]: #766
+#769 := [quant-intro #767]: #768
+#134 := (* -1::int #128)
+#240 := (ite #222 #30 #134)
+#243 := (ite #12 0::int #240)
+#246 := (ite #13 #8 #243)
+#249 := (= #29 #246)
+#252 := (forall (vars (?v0 int) (?v1 int)) #249)
+#284 := (iff #252 #283)
+#281 := (iff #249 #280)
+#282 := [rewrite]: #281
+#285 := [quant-intro #282]: #284
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#253 := (iff #166 #252)
+#250 := (iff #163 #249)
+#247 := (= #160 #246)
+#244 := (= #157 #243)
+#241 := (= #154 #240)
+#225 := (iff #109 #222)
+#219 := (or #216 #208)
+#223 := (iff #219 #222)
+#224 := [rewrite]: #223
+#220 := (iff #109 #219)
+#217 := (iff #106 #208)
+#218 := [rewrite]: #217
+#205 := (iff #99 #216)
+#206 := [rewrite]: #205
+#221 := [monotonicity #206 #218]: #220
+#226 := [trans #221 #224]: #225
+#242 := [monotonicity #226]: #241
+#245 := [monotonicity #242]: #244
+#248 := [monotonicity #245]: #247
+#251 := [monotonicity #248]: #250
+#254 := [quant-intro #251]: #253
+#203 := (~ #166 #166)
+#200 := (~ #163 #163)
+#213 := [refl]: #200
+#204 := [nnf-pos #213]: #203
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#214 := [mp~ #171 #204]: #166
+#255 := [mp #214 #254]: #252
+#286 := [mp #255 #285]: #283
+#770 := [mp #286 #769]: #765
+#671 := (not #765)
+#678 := (or #671 #181)
+#344 := (* -1::int -3::int)
+#428 := (* -1::int 5::int)
+#429 := (mod #428 #344)
+#430 := (+ #176 #429)
+#421 := (= #430 0::int)
+#432 := (mod 5::int -3::int)
+#433 := (* -1::int #432)
+#434 := (+ #176 #433)
+#431 := (= #434 0::int)
+#435 := (<= -3::int 0::int)
+#414 := (<= 5::int 0::int)
+#749 := (or #414 #435)
+#751 := (not #749)
+#408 := (>= 5::int 0::int)
+#538 := (or #435 #408)
+#745 := (not #538)
+#419 := (or #745 #751)
+#420 := (ite #419 #431 #421)
+#752 := (= #176 0::int)
+#753 := (= 5::int 0::int)
+#754 := (ite #753 #752 #420)
+#755 := (= 5::int #176)
+#750 := (= -3::int 0::int)
+#756 := (ite #750 #755 #754)
+#662 := (or #671 #756)
+#665 := (iff #662 #678)
+#667 := (iff #678 #678)
+#668 := [rewrite]: #667
+#676 := (iff #756 #181)
+#747 := (= #176 5::int)
+#684 := (ite false #747 #181)
+#674 := (iff #684 #181)
+#675 := [rewrite]: #674
+#680 := (iff #756 #684)
+#682 := (iff #754 #181)
+#679 := (ite false #752 #181)
+#670 := (iff #679 #181)
+#672 := [rewrite]: #670
+#681 := (iff #754 #679)
+#688 := (iff #420 #181)
+#442 := 2::int
+#704 := (= #176 2::int)
+#595 := (ite false #704 #181)
+#598 := (iff #595 #181)
+#691 := [rewrite]: #598
+#596 := (iff #420 #595)
+#586 := (iff #421 #181)
+#541 := (+ 1::int #176)
+#690 := (= #541 0::int)
+#592 := (iff #690 #181)
+#593 := [rewrite]: #592
+#575 := (iff #421 #690)
+#686 := (= #430 #541)
+#580 := (+ #176 1::int)
+#689 := (= #580 #541)
+#591 := [rewrite]: #689
+#581 := (= #430 #580)
+#695 := (= #429 1::int)
+#707 := -5::int
+#540 := (mod -5::int 3::int)
+#696 := (= #540 1::int)
+#697 := [rewrite]: #696
+#693 := (= #429 #540)
+#537 := (= #344 3::int)
+#539 := [rewrite]: #537
+#701 := (= #428 -5::int)
+#708 := [rewrite]: #701
+#694 := [monotonicity #708 #539]: #693
+#698 := [trans #694 #697]: #695
+#582 := [monotonicity #698]: #581
+#687 := [trans #582 #591]: #686
+#590 := [monotonicity #687]: #575
+#594 := [trans #590 #593]: #586
+#700 := (iff #431 #704)
+#719 := -2::int
+#716 := (+ -2::int #176)
+#560 := (= #716 0::int)
+#705 := (iff #560 #704)
+#699 := [rewrite]: #705
+#702 := (iff #431 #560)
+#558 := (= #434 #716)
+#709 := (+ #176 -2::int)
+#711 := (= #709 #716)
+#717 := [rewrite]: #711
+#710 := (= #434 #709)
+#713 := (= #433 -2::int)
+#436 := (* -1::int 2::int)
+#723 := (= #436 -2::int)
+#712 := [rewrite]: #723
+#718 := (= #433 #436)
+#720 := (= #432 2::int)
+#721 := [rewrite]: #720
+#722 := [monotonicity #721]: #718
+#714 := [trans #722 #712]: #713
+#715 := [monotonicity #714]: #710
+#559 := [trans #715 #717]: #558
+#703 := [monotonicity #559]: #702
+#706 := [trans #703 #699]: #700
+#440 := (iff #419 false)
+#724 := (or false false)
+#729 := (iff #724 false)
+#439 := [rewrite]: #729
+#728 := (iff #419 #724)
+#449 := (iff #751 false)
+#1 := true
+#739 := (not true)
+#742 := (iff #739 false)
+#382 := [rewrite]: #742
+#726 := (iff #751 #739)
+#456 := (iff #749 true)
+#730 := (or false true)
+#454 := (iff #730 true)
+#455 := [rewrite]: #454
+#731 := (iff #749 #730)
+#732 := (iff #435 true)
+#395 := [rewrite]: #732
+#741 := (iff #414 false)
+#744 := [rewrite]: #741
+#453 := [monotonicity #744 #395]: #731
+#350 := [trans #453 #455]: #456
+#727 := [monotonicity #350]: #726
+#450 := [trans #727 #382]: #449
+#383 := (iff #745 false)
+#377 := (iff #745 #739)
+#738 := (iff #538 true)
+#398 := (or true true)
+#736 := (iff #398 true)
+#737 := [rewrite]: #736
+#734 := (iff #538 #398)
+#396 := (iff #408 true)
+#397 := [rewrite]: #396
+#735 := [monotonicity #395 #397]: #734
+#733 := [trans #735 #737]: #738
+#740 := [monotonicity #733]: #377
+#743 := [trans #740 #382]: #383
+#725 := [monotonicity #743 #450]: #728
+#441 := [trans #725 #439]: #440
+#597 := [monotonicity #441 #706 #594]: #596
+#692 := [trans #597 #691]: #688
+#748 := (iff #753 false)
+#391 := [rewrite]: #748
+#673 := [monotonicity #391 #692]: #681
+#683 := [trans #673 #672]: #682
+#411 := (iff #755 #747)
+#407 := [rewrite]: #411
+#746 := (iff #750 false)
+#406 := [rewrite]: #746
+#685 := [monotonicity #406 #407 #683]: #680
+#677 := [trans #685 #675]: #676
+#666 := [monotonicity #677]: #665
+#664 := [trans #666 #668]: #665
+#663 := [quant-inst]: #662
+#669 := [mp #663 #664]: #678
+[unit-resolution #669 #770 #199]: false
+unsat
+dd7fdbe71095b88d5194e98fe47b2f6a55d29ad7 350 0
+#2 := false
+#42 := 2::int
+decl f4 :: (-> int int int)
+#40 := 3::int
+#68 := -1::int
+#174 := (f4 -1::int 3::int)
+#177 := (= #174 2::int)
+#190 := (not #177)
+#38 := 1::int
+#39 := (- 1::int)
+#41 := (f4 #39 3::int)
+#43 := (= #41 2::int)
+#44 := (not #43)
+#193 := (iff #44 #190)
+#180 := (= 2::int #174)
+#185 := (not #180)
+#191 := (iff #185 #190)
+#188 := (iff #180 #177)
+#189 := [rewrite]: #188
+#192 := [monotonicity #189]: #191
+#186 := (iff #44 #185)
+#183 := (iff #43 #180)
+#181 := (iff #177 #180)
+#182 := [rewrite]: #181
+#178 := (iff #43 #177)
+#175 := (= #41 #174)
+#172 := (= #39 -1::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#184 := [trans #179 #182]: #183
+#187 := [monotonicity #184]: #186
+#194 := [trans #187 #192]: #193
+#171 := [asserted]: #44
+#195 := [mp #171 #194]: #190
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#272 := (+ #29 #127)
+#273 := (= #272 0::int)
+#30 := (mod #8 #9)
+#269 := (* -1::int #30)
+#270 := (+ #29 #269)
+#271 := (= #270 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#211 := (or #90 #94)
+#212 := (not #211)
+#101 := (>= #8 0::int)
+#203 := (or #94 #101)
+#204 := (not #203)
+#218 := (or #204 #212)
+#274 := (ite #218 #271 #273)
+#268 := (= #29 0::int)
+#12 := (= #8 0::int)
+#275 := (ite #12 #268 #274)
+#267 := (= #8 #29)
+#13 := (= #9 0::int)
+#276 := (ite #13 #267 #275)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #276)
+#279 := (forall (vars (?v0 int) (?v1 int)) #276)
+#764 := (iff #279 #761)
+#762 := (iff #276 #276)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#133 := (* -1::int #127)
+#236 := (ite #218 #30 #133)
+#239 := (ite #12 0::int #236)
+#242 := (ite #13 #8 #239)
+#245 := (= #29 #242)
+#248 := (forall (vars (?v0 int) (?v1 int)) #245)
+#280 := (iff #248 #279)
+#277 := (iff #245 #276)
+#278 := [rewrite]: #277
+#281 := [quant-intro #278]: #280
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#249 := (iff #165 #248)
+#246 := (iff #162 #245)
+#243 := (= #159 #242)
+#240 := (= #156 #239)
+#237 := (= #153 #236)
+#221 := (iff #108 #218)
+#215 := (or #212 #204)
+#219 := (iff #215 #218)
+#220 := [rewrite]: #219
+#216 := (iff #108 #215)
+#213 := (iff #105 #204)
+#214 := [rewrite]: #213
+#201 := (iff #98 #212)
+#202 := [rewrite]: #201
+#217 := [monotonicity #202 #214]: #216
+#222 := [trans #217 #220]: #221
+#238 := [monotonicity #222]: #237
+#241 := [monotonicity #238]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [quant-intro #247]: #249
+#199 := (~ #165 #165)
+#196 := (~ #162 #162)
+#209 := [refl]: #196
+#200 := [nnf-pos #209]: #199
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#210 := [mp~ #170 #200]: #165
+#251 := [mp #210 #250]: #248
+#282 := [mp #251 #281]: #279
+#766 := [mp #282 #765]: #761
+#672 := (not #761)
+#673 := (or #672 #177)
+#340 := (* -1::int 3::int)
+#424 := (* -1::int -1::int)
+#425 := (mod #424 #340)
+#426 := (+ #174 #425)
+#417 := (= #426 0::int)
+#428 := (mod -1::int 3::int)
+#429 := (* -1::int #428)
+#430 := (+ #174 #429)
+#427 := (= #430 0::int)
+#431 := (<= 3::int 0::int)
+#410 := (<= -1::int 0::int)
+#745 := (or #410 #431)
+#747 := (not #745)
+#404 := (>= -1::int 0::int)
+#534 := (or #431 #404)
+#741 := (not #534)
+#415 := (or #741 #747)
+#416 := (ite #415 #427 #417)
+#748 := (= #174 0::int)
+#749 := (= -1::int 0::int)
+#750 := (ite #749 #748 #416)
+#751 := (= -1::int #174)
+#746 := (= 3::int 0::int)
+#752 := (ite #746 #751 #750)
+#667 := (or #672 #752)
+#658 := (iff #667 #673)
+#661 := (iff #673 #673)
+#662 := [rewrite]: #661
+#670 := (iff #752 #177)
+#743 := (= #174 -1::int)
+#678 := (ite false #743 #177)
+#676 := (iff #678 #177)
+#681 := [rewrite]: #676
+#679 := (iff #752 #678)
+#666 := (iff #750 #177)
+#684 := (ite false #748 #177)
+#677 := (iff #684 #177)
+#669 := [rewrite]: #677
+#688 := (iff #750 #684)
+#594 := (iff #416 #177)
+#1 := true
+#582 := (ite true #177 #743)
+#592 := (iff #582 #177)
+#593 := [rewrite]: #592
+#590 := (iff #416 #582)
+#588 := (iff #417 #743)
+#577 := (+ 1::int #174)
+#682 := (= #577 0::int)
+#571 := (iff #682 #743)
+#586 := [rewrite]: #571
+#683 := (iff #417 #682)
+#685 := (= #426 #577)
+#691 := (+ #174 1::int)
+#578 := (= #691 #577)
+#537 := [rewrite]: #578
+#694 := (= #426 #691)
+#692 := (= #425 1::int)
+#703 := -3::int
+#533 := (mod 1::int -3::int)
+#689 := (= #533 1::int)
+#690 := [rewrite]: #689
+#535 := (= #425 #533)
+#697 := (= #340 -3::int)
+#704 := [rewrite]: #697
+#696 := (= #424 1::int)
+#702 := [rewrite]: #696
+#536 := [monotonicity #702 #704]: #535
+#693 := [trans #536 #690]: #692
+#576 := [monotonicity #693]: #694
+#587 := [trans #576 #537]: #685
+#686 := [monotonicity #587]: #683
+#589 := [trans #686 #586]: #588
+#701 := (iff #427 #177)
+#718 := -2::int
+#711 := (+ -2::int #174)
+#555 := (= #711 0::int)
+#699 := (iff #555 #177)
+#700 := [rewrite]: #699
+#556 := (iff #427 #555)
+#713 := (= #430 #711)
+#710 := (+ #174 -2::int)
+#712 := (= #710 #711)
+#707 := [rewrite]: #712
+#705 := (= #430 #710)
+#708 := (= #429 -2::int)
+#717 := (* -1::int 2::int)
+#715 := (= #717 -2::int)
+#719 := [rewrite]: #715
+#432 := (= #429 #717)
+#438 := (= #428 2::int)
+#716 := [rewrite]: #438
+#714 := [monotonicity #716]: #432
+#709 := [trans #714 #719]: #708
+#706 := [monotonicity #709]: #705
+#554 := [trans #706 #707]: #713
+#698 := [monotonicity #554]: #556
+#695 := [trans #698 #700]: #701
+#436 := (iff #415 true)
+#726 := (or true false)
+#450 := (iff #726 true)
+#451 := [rewrite]: #450
+#725 := (iff #415 #726)
+#724 := (iff #747 false)
+#722 := (not true)
+#446 := (iff #722 false)
+#720 := [rewrite]: #446
+#723 := (iff #747 #722)
+#452 := (iff #745 true)
+#727 := (iff #745 #726)
+#728 := (iff #431 false)
+#391 := [rewrite]: #728
+#737 := (iff #410 true)
+#740 := [rewrite]: #737
+#449 := [monotonicity #740 #391]: #727
+#346 := [trans #449 #451]: #452
+#445 := [monotonicity #346]: #723
+#721 := [trans #445 #720]: #724
+#379 := (iff #741 true)
+#735 := (not false)
+#738 := (iff #735 true)
+#378 := [rewrite]: #738
+#373 := (iff #741 #735)
+#734 := (iff #534 false)
+#394 := (or false false)
+#732 := (iff #394 false)
+#733 := [rewrite]: #732
+#730 := (iff #534 #394)
+#392 := (iff #404 false)
+#393 := [rewrite]: #392
+#731 := [monotonicity #391 #393]: #730
+#729 := [trans #731 #733]: #734
+#736 := [monotonicity #729]: #373
+#739 := [trans #736 #378]: #379
+#435 := [monotonicity #739 #721]: #725
+#437 := [trans #435 #451]: #436
+#591 := [monotonicity #437 #695 #589]: #590
+#687 := [trans #591 #593]: #594
+#744 := (iff #749 false)
+#387 := [rewrite]: #744
+#675 := [monotonicity #387 #687]: #688
+#668 := [trans #675 #669]: #666
+#407 := (iff #751 #743)
+#403 := [rewrite]: #407
+#742 := (iff #746 false)
+#402 := [rewrite]: #742
+#680 := [monotonicity #402 #403 #668]: #679
+#671 := [trans #680 #681]: #670
+#659 := [monotonicity #671]: #658
+#663 := [trans #659 #662]: #658
+#674 := [quant-inst]: #667
+#664 := [mp #674 #663]: #673
+[unit-resolution #664 #766 #195]: false
+unsat
+8070c70cb12e35959ecc32a09a612a65fed30e28 331 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 3::int
+#170 := -3::int
+#173 := (f4 -3::int 3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := (- 3::int)
+#40 := (f4 #39 3::int)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#591 := (not #761)
+#592 := (or #591 #176)
+#339 := (* -1::int 3::int)
+#424 := (* -1::int -3::int)
+#425 := (mod #424 #339)
+#426 := (+ #173 #425)
+#417 := (= #426 0::int)
+#428 := (mod -3::int 3::int)
+#429 := (* -1::int #428)
+#357 := (+ #173 #429)
+#430 := (= #357 0::int)
+#427 := (<= 3::int 0::int)
+#431 := (<= -3::int 0::int)
+#410 := (or #431 #427)
+#745 := (not #410)
+#747 := (>= -3::int 0::int)
+#404 := (or #427 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #430 #417)
+#416 := (= -3::int 0::int)
+#748 := (ite #416 #176 #415)
+#749 := (= -3::int #173)
+#750 := (= 3::int 0::int)
+#751 := (ite #750 #749 #748)
+#593 := (or #591 #751)
+#687 := (iff #593 #592)
+#688 := (iff #592 #592)
+#675 := [rewrite]: #688
+#582 := (iff #751 #176)
+#402 := (= #173 -3::int)
+#686 := (ite false #402 #176)
+#588 := (iff #686 #176)
+#589 := [rewrite]: #588
+#571 := (iff #751 #686)
+#682 := (iff #748 #176)
+#577 := (ite false #176 #176)
+#685 := (iff #577 #176)
+#587 := [rewrite]: #685
+#578 := (iff #748 #577)
+#694 := (iff #415 #176)
+#1 := true
+#689 := (ite true #176 #176)
+#693 := (iff #689 #176)
+#691 := [rewrite]: #693
+#690 := (iff #415 #689)
+#535 := (iff #417 #176)
+#704 := (= #426 #173)
+#719 := (+ #173 0::int)
+#710 := (= #719 #173)
+#705 := [rewrite]: #710
+#703 := (= #426 #719)
+#696 := (= #425 0::int)
+#698 := (mod 3::int -3::int)
+#701 := (= #698 0::int)
+#695 := [rewrite]: #701
+#699 := (= #425 #698)
+#555 := (= #339 -3::int)
+#556 := [rewrite]: #555
+#713 := (= #424 3::int)
+#554 := [rewrite]: #713
+#700 := [monotonicity #554 #556]: #699
+#702 := [trans #700 #695]: #696
+#697 := [monotonicity #702]: #703
+#533 := [trans #697 #705]: #704
+#536 := [monotonicity #533]: #535
+#712 := (iff #430 #176)
+#706 := (= #357 #173)
+#708 := (= #357 #719)
+#718 := (= #429 0::int)
+#438 := (* -1::int 0::int)
+#432 := (= #438 0::int)
+#714 := [rewrite]: #432
+#716 := (= #429 #438)
+#436 := (= #428 0::int)
+#437 := [rewrite]: #436
+#717 := [monotonicity #437]: #716
+#715 := [trans #717 #714]: #718
+#709 := [monotonicity #715]: #708
+#711 := [trans #709 #705]: #706
+#707 := [monotonicity #711]: #712
+#725 := (iff #741 true)
+#737 := (or true false)
+#727 := (iff #737 true)
+#449 := [rewrite]: #727
+#724 := (iff #741 #737)
+#446 := (iff #745 false)
+#452 := (not true)
+#723 := (iff #452 false)
+#445 := [rewrite]: #723
+#345 := (iff #745 #452)
+#450 := (iff #410 true)
+#740 := (iff #410 #737)
+#744 := (iff #427 false)
+#387 := [rewrite]: #744
+#379 := (iff #431 true)
+#739 := [rewrite]: #379
+#726 := [monotonicity #739 #387]: #740
+#451 := [trans #726 #449]: #450
+#722 := [monotonicity #451]: #345
+#720 := [trans #722 #445]: #446
+#738 := (iff #534 true)
+#734 := (not false)
+#373 := (iff #734 true)
+#736 := [rewrite]: #373
+#729 := (iff #534 #734)
+#732 := (iff #404 false)
+#392 := (or false false)
+#730 := (iff #392 false)
+#731 := [rewrite]: #730
+#393 := (iff #404 #392)
+#728 := (iff #747 false)
+#391 := [rewrite]: #728
+#394 := [monotonicity #387 #391]: #393
+#733 := [trans #394 #731]: #732
+#735 := [monotonicity #733]: #729
+#378 := [trans #735 #736]: #738
+#721 := [monotonicity #378 #720]: #724
+#435 := [trans #721 #449]: #725
+#692 := [monotonicity #435 #707 #536]: #690
+#576 := [trans #692 #691]: #694
+#743 := (iff #416 false)
+#403 := [rewrite]: #743
+#537 := [monotonicity #403 #576]: #578
+#683 := [trans #537 #587]: #682
+#742 := (iff #749 #402)
+#407 := [rewrite]: #742
+#746 := (iff #750 false)
+#752 := [rewrite]: #746
+#586 := [monotonicity #752 #407 #683]: #571
+#590 := [trans #586 #589]: #582
+#684 := [monotonicity #590]: #687
+#677 := [trans #684 #675]: #687
+#594 := [quant-inst]: #593
+#669 := [mp #594 #677]: #592
+[unit-resolution #669 #766 #194]: false
+unsat
+692cfb5473ff9591ee8685729243e663cdf8643c 353 0
+#2 := false
+#42 := 1::int
+decl f4 :: (-> int int int)
+#40 := 3::int
+#172 := -5::int
+#175 := (f4 -5::int 3::int)
+#178 := (= #175 1::int)
+#191 := (not #178)
+#38 := 5::int
+#39 := (- 5::int)
+#41 := (f4 #39 3::int)
+#43 := (= #41 1::int)
+#44 := (not #43)
+#194 := (iff #44 #191)
+#181 := (= 1::int #175)
+#186 := (not #181)
+#192 := (iff #186 #191)
+#189 := (iff #181 #178)
+#190 := [rewrite]: #189
+#193 := [monotonicity #190]: #192
+#187 := (iff #44 #186)
+#184 := (iff #43 #181)
+#182 := (iff #178 #181)
+#183 := [rewrite]: #182
+#179 := (iff #43 #178)
+#176 := (= #41 #175)
+#173 := (= #39 -5::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#185 := [trans #180 #183]: #184
+#188 := [monotonicity #185]: #187
+#195 := [trans #188 #193]: #194
+#171 := [asserted]: #44
+#196 := [mp #171 #195]: #191
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#761 := (pattern #29)
+#11 := 0::int
+#68 := -1::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#273 := (+ #29 #127)
+#274 := (= #273 0::int)
+#30 := (mod #8 #9)
+#270 := (* -1::int #30)
+#271 := (+ #29 #270)
+#272 := (= #271 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#212 := (or #90 #94)
+#213 := (not #212)
+#101 := (>= #8 0::int)
+#204 := (or #94 #101)
+#205 := (not #204)
+#219 := (or #205 #213)
+#275 := (ite #219 #272 #274)
+#269 := (= #29 0::int)
+#12 := (= #8 0::int)
+#276 := (ite #12 #269 #275)
+#268 := (= #8 #29)
+#13 := (= #9 0::int)
+#277 := (ite #13 #268 #276)
+#762 := (forall (vars (?v0 int) (?v1 int)) (:pat #761) #277)
+#280 := (forall (vars (?v0 int) (?v1 int)) #277)
+#765 := (iff #280 #762)
+#763 := (iff #277 #277)
+#764 := [refl]: #763
+#766 := [quant-intro #764]: #765
+#133 := (* -1::int #127)
+#237 := (ite #219 #30 #133)
+#240 := (ite #12 0::int #237)
+#243 := (ite #13 #8 #240)
+#246 := (= #29 #243)
+#249 := (forall (vars (?v0 int) (?v1 int)) #246)
+#281 := (iff #249 #280)
+#278 := (iff #246 #277)
+#279 := [rewrite]: #278
+#282 := [quant-intro #279]: #281
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#250 := (iff #165 #249)
+#247 := (iff #162 #246)
+#244 := (= #159 #243)
+#241 := (= #156 #240)
+#238 := (= #153 #237)
+#222 := (iff #108 #219)
+#216 := (or #213 #205)
+#220 := (iff #216 #219)
+#221 := [rewrite]: #220
+#217 := (iff #108 #216)
+#214 := (iff #105 #205)
+#215 := [rewrite]: #214
+#202 := (iff #98 #213)
+#203 := [rewrite]: #202
+#218 := [monotonicity #203 #215]: #217
+#223 := [trans #218 #221]: #222
+#239 := [monotonicity #223]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [monotonicity #245]: #247
+#251 := [quant-intro #248]: #250
+#200 := (~ #165 #165)
+#197 := (~ #162 #162)
+#210 := [refl]: #197
+#201 := [nnf-pos #210]: #200
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#211 := [mp~ #170 #201]: #165
+#252 := [mp #211 #251]: #249
+#283 := [mp #252 #282]: #280
+#767 := [mp #283 #766]: #762
+#668 := (not #762)
+#675 := (or #668 #178)
+#341 := (* -1::int 3::int)
+#425 := (* -1::int -5::int)
+#426 := (mod #425 #341)
+#427 := (+ #175 #426)
+#418 := (= #427 0::int)
+#429 := (mod -5::int 3::int)
+#430 := (* -1::int #429)
+#431 := (+ #175 #430)
+#428 := (= #431 0::int)
+#432 := (<= 3::int 0::int)
+#411 := (<= -5::int 0::int)
+#746 := (or #411 #432)
+#748 := (not #746)
+#405 := (>= -5::int 0::int)
+#535 := (or #432 #405)
+#742 := (not #535)
+#416 := (or #742 #748)
+#417 := (ite #416 #428 #418)
+#749 := (= #175 0::int)
+#750 := (= -5::int 0::int)
+#751 := (ite #750 #749 #417)
+#752 := (= -5::int #175)
+#747 := (= 3::int 0::int)
+#753 := (ite #747 #752 #751)
+#659 := (or #668 #753)
+#662 := (iff #659 #675)
+#664 := (iff #675 #675)
+#665 := [rewrite]: #664
+#673 := (iff #753 #178)
+#744 := (= #175 -5::int)
+#681 := (ite false #744 #178)
+#671 := (iff #681 #178)
+#672 := [rewrite]: #671
+#677 := (iff #753 #681)
+#679 := (iff #751 #178)
+#676 := (ite false #749 #178)
+#667 := (iff #676 #178)
+#669 := [rewrite]: #667
+#678 := (iff #751 #676)
+#685 := (iff #417 #178)
+#572 := -2::int
+#587 := (= #175 -2::int)
+#1 := true
+#592 := (ite true #178 #587)
+#595 := (iff #592 #178)
+#688 := [rewrite]: #595
+#593 := (iff #417 #592)
+#583 := (iff #418 #587)
+#537 := 2::int
+#578 := (+ 2::int #175)
+#683 := (= #578 0::int)
+#589 := (iff #683 #587)
+#590 := [rewrite]: #589
+#684 := (iff #418 #683)
+#686 := (= #427 #578)
+#692 := (+ #175 2::int)
+#579 := (= #692 #578)
+#538 := [rewrite]: #579
+#695 := (= #427 #692)
+#693 := (= #426 2::int)
+#703 := -3::int
+#705 := (mod 5::int -3::int)
+#690 := (= #705 2::int)
+#691 := [rewrite]: #690
+#534 := (= #426 #705)
+#704 := (= #341 -3::int)
+#698 := [rewrite]: #704
+#696 := (= #425 5::int)
+#697 := [rewrite]: #696
+#536 := [monotonicity #697 #698]: #534
+#694 := [trans #536 #691]: #693
+#577 := [monotonicity #694]: #695
+#588 := [trans #577 #538]: #686
+#687 := [monotonicity #588]: #684
+#591 := [trans #687 #590]: #583
+#701 := (iff #428 #178)
+#707 := (+ -1::int #175)
+#555 := (= #707 0::int)
+#699 := (iff #555 #178)
+#700 := [rewrite]: #699
+#556 := (iff #428 #555)
+#708 := (= #431 #707)
+#710 := (+ #175 -1::int)
+#712 := (= #710 #707)
+#713 := [rewrite]: #712
+#711 := (= #431 #710)
+#720 := (= #430 -1::int)
+#718 := (* -1::int 1::int)
+#719 := (= #718 -1::int)
+#716 := [rewrite]: #719
+#433 := (= #430 #718)
+#439 := (= #429 1::int)
+#717 := [rewrite]: #439
+#715 := [monotonicity #717]: #433
+#709 := [trans #715 #716]: #720
+#706 := [monotonicity #709]: #711
+#714 := [trans #706 #713]: #708
+#557 := [monotonicity #714]: #556
+#702 := [trans #557 #700]: #701
+#437 := (iff #416 true)
+#727 := (or true false)
+#451 := (iff #727 true)
+#452 := [rewrite]: #451
+#726 := (iff #416 #727)
+#725 := (iff #748 false)
+#723 := (not true)
+#447 := (iff #723 false)
+#721 := [rewrite]: #447
+#724 := (iff #748 #723)
+#453 := (iff #746 true)
+#728 := (iff #746 #727)
+#729 := (iff #432 false)
+#392 := [rewrite]: #729
+#738 := (iff #411 true)
+#741 := [rewrite]: #738
+#450 := [monotonicity #741 #392]: #728
+#347 := [trans #450 #452]: #453
+#446 := [monotonicity #347]: #724
+#722 := [trans #446 #721]: #725
+#380 := (iff #742 true)
+#736 := (not false)
+#739 := (iff #736 true)
+#379 := [rewrite]: #739
+#374 := (iff #742 #736)
+#735 := (iff #535 false)
+#395 := (or false false)
+#733 := (iff #395 false)
+#734 := [rewrite]: #733
+#731 := (iff #535 #395)
+#393 := (iff #405 false)
+#394 := [rewrite]: #393
+#732 := [monotonicity #392 #394]: #731
+#730 := [trans #732 #734]: #735
+#737 := [monotonicity #730]: #374
+#740 := [trans #737 #379]: #380
+#436 := [monotonicity #740 #722]: #726
+#438 := [trans #436 #452]: #437
+#594 := [monotonicity #438 #702 #591]: #593
+#689 := [trans #594 #688]: #685
+#745 := (iff #750 false)
+#388 := [rewrite]: #745
+#670 := [monotonicity #388 #689]: #678
+#680 := [trans #670 #669]: #679
+#408 := (iff #752 #744)
+#404 := [rewrite]: #408
+#743 := (iff #747 false)
+#403 := [rewrite]: #743
+#682 := [monotonicity #403 #404 #680]: #677
+#674 := [trans #682 #672]: #673
+#663 := [monotonicity #674]: #662
+#661 := [trans #663 #665]: #662
+#660 := [quant-inst]: #659
+#666 := [mp #660 #661]: #675
+[unit-resolution #666 #767 #196]: false
+unsat
+30d0bb59b7a0dcb8cbb4ae733359aaf072ec90ae 350 0
+#2 := false
+#68 := -1::int
+decl f4 :: (-> int int int)
+#174 := -3::int
+#177 := (f4 -1::int -3::int)
+#180 := (= #177 -1::int)
+#193 := (not #180)
+#38 := 1::int
+#39 := (- 1::int)
+#40 := 3::int
+#41 := (- 3::int)
+#42 := (f4 #39 #41)
+#43 := (= #42 #39)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #177)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#172 := (= #39 -1::int)
+#173 := [rewrite]: #172
+#178 := (= #42 #177)
+#175 := (= #41 -3::int)
+#176 := [rewrite]: #175
+#179 := [monotonicity #173 #176]: #178
+#182 := [monotonicity #179 #173]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#763 := (pattern #29)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#275 := (+ #29 #127)
+#276 := (= #275 0::int)
+#30 := (mod #8 #9)
+#272 := (* -1::int #30)
+#273 := (+ #29 #272)
+#274 := (= #273 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#277 := (ite #221 #274 #276)
+#271 := (= #29 0::int)
+#12 := (= #8 0::int)
+#278 := (ite #12 #271 #277)
+#270 := (= #8 #29)
+#13 := (= #9 0::int)
+#279 := (ite #13 #270 #278)
+#764 := (forall (vars (?v0 int) (?v1 int)) (:pat #763) #279)
+#282 := (forall (vars (?v0 int) (?v1 int)) #279)
+#767 := (iff #282 #764)
+#765 := (iff #279 #279)
+#766 := [refl]: #765
+#768 := [quant-intro #766]: #767
+#133 := (* -1::int #127)
+#239 := (ite #221 #30 #133)
+#242 := (ite #12 0::int #239)
+#245 := (ite #13 #8 #242)
+#248 := (= #29 #245)
+#251 := (forall (vars (?v0 int) (?v1 int)) #248)
+#283 := (iff #251 #282)
+#280 := (iff #248 #279)
+#281 := [rewrite]: #280
+#284 := [quant-intro #281]: #283
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#252 := (iff #165 #251)
+#249 := (iff #162 #248)
+#246 := (= #159 #245)
+#243 := (= #156 #242)
+#240 := (= #153 #239)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#241 := [monotonicity #225]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [quant-intro #250]: #252
+#202 := (~ #165 #165)
+#199 := (~ #162 #162)
+#212 := [refl]: #199
+#203 := [nnf-pos #212]: #202
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#213 := [mp~ #170 #203]: #165
+#254 := [mp #213 #253]: #251
+#285 := [mp #254 #284]: #282
+#769 := [mp #285 #768]: #764
+#684 := (not #764)
+#673 := (or #684 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int -1::int)
+#428 := (mod #427 #343)
+#429 := (+ #177 #428)
+#420 := (= #429 0::int)
+#431 := (mod -1::int -3::int)
+#432 := (* -1::int #431)
+#433 := (+ #177 #432)
+#430 := (= #433 0::int)
+#434 := (<= -3::int 0::int)
+#413 := (<= -1::int 0::int)
+#748 := (or #413 #434)
+#750 := (not #748)
+#407 := (>= -1::int 0::int)
+#537 := (or #434 #407)
+#744 := (not #537)
+#418 := (or #744 #750)
+#419 := (ite #418 #430 #420)
+#751 := (= #177 0::int)
+#752 := (= -1::int 0::int)
+#753 := (ite #752 #751 #419)
+#754 := (= -3::int 0::int)
+#749 := (ite #754 #183 #753)
+#674 := (or #684 #749)
+#676 := (iff #674 #673)
+#677 := (iff #673 #673)
+#661 := [rewrite]: #677
+#683 := (iff #749 #180)
+#672 := (ite false #180 #180)
+#681 := (iff #672 #180)
+#682 := [rewrite]: #681
+#669 := (iff #749 #672)
+#678 := (iff #753 #180)
+#596 := (ite false #751 #180)
+#687 := (iff #596 #180)
+#691 := [rewrite]: #687
+#597 := (iff #753 #596)
+#594 := (iff #419 #180)
+#728 := 2::int
+#558 := (= #177 2::int)
+#589 := (ite false #558 #180)
+#585 := (iff #589 #180)
+#593 := [rewrite]: #585
+#591 := (iff #419 #589)
+#689 := (iff #420 #180)
+#694 := (+ 1::int #177)
+#540 := (= #694 0::int)
+#685 := (iff #540 #180)
+#686 := [rewrite]: #685
+#688 := (iff #420 #540)
+#580 := (= #429 #694)
+#693 := (+ #177 1::int)
+#697 := (= #693 #694)
+#579 := [rewrite]: #697
+#695 := (= #429 #693)
+#539 := (= #428 1::int)
+#706 := (mod 1::int 3::int)
+#536 := (= #706 1::int)
+#538 := [rewrite]: #536
+#700 := (= #428 #706)
+#699 := (= #343 3::int)
+#705 := [rewrite]: #699
+#704 := (= #427 1::int)
+#698 := [rewrite]: #704
+#707 := [monotonicity #698 #705]: #700
+#692 := [trans #707 #538]: #539
+#696 := [monotonicity #692]: #695
+#581 := [trans #696 #579]: #580
+#590 := [monotonicity #581]: #688
+#574 := [trans #590 #686]: #689
+#702 := (iff #430 #558)
+#720 := -2::int
+#713 := (+ -2::int #177)
+#710 := (= #713 0::int)
+#559 := (iff #710 #558)
+#701 := [rewrite]: #559
+#716 := (iff #430 #710)
+#714 := (= #433 #713)
+#722 := (+ #177 -2::int)
+#708 := (= #722 #713)
+#709 := [rewrite]: #708
+#711 := (= #433 #722)
+#721 := (= #432 -2::int)
+#440 := (* -1::int 2::int)
+#435 := (= #440 -2::int)
+#717 := [rewrite]: #435
+#441 := (= #432 #440)
+#438 := (= #431 2::int)
+#439 := [rewrite]: #438
+#719 := [monotonicity #439]: #441
+#718 := [trans #719 #717]: #721
+#712 := [monotonicity #718]: #711
+#715 := [trans #712 #709]: #714
+#557 := [monotonicity #715]: #716
+#703 := [trans #557 #701]: #702
+#727 := (iff #418 false)
+#725 := (or false false)
+#449 := (iff #725 false)
+#723 := [rewrite]: #449
+#726 := (iff #418 #725)
+#455 := (iff #750 false)
+#1 := true
+#735 := (not true)
+#732 := (iff #735 false)
+#738 := [rewrite]: #732
+#453 := (iff #750 #735)
+#730 := (iff #748 true)
+#382 := (or true true)
+#743 := (iff #382 true)
+#729 := [rewrite]: #743
+#742 := (iff #748 #382)
+#746 := (iff #434 true)
+#406 := [rewrite]: #746
+#741 := (iff #413 true)
+#381 := [rewrite]: #741
+#740 := [monotonicity #381 #406]: #742
+#452 := [trans #740 #729]: #730
+#454 := [monotonicity #452]: #453
+#349 := [trans #454 #738]: #455
+#376 := (iff #744 false)
+#736 := (iff #744 #735)
+#733 := (iff #537 true)
+#731 := (or true false)
+#396 := (iff #731 true)
+#397 := [rewrite]: #396
+#394 := (iff #537 #731)
+#747 := (iff #407 false)
+#390 := [rewrite]: #747
+#395 := [monotonicity #406 #390]: #394
+#734 := [trans #395 #397]: #733
+#737 := [monotonicity #734]: #736
+#739 := [trans #737 #738]: #376
+#448 := [monotonicity #739 #349]: #726
+#724 := [trans #448 #723]: #727
+#592 := [monotonicity #724 #703 #574]: #591
+#595 := [trans #592 #593]: #594
+#405 := (iff #752 false)
+#410 := [rewrite]: #405
+#690 := [monotonicity #410 #595]: #597
+#680 := [trans #690 #691]: #678
+#755 := (iff #754 false)
+#745 := [rewrite]: #755
+#671 := [monotonicity #745 #192 #680]: #669
+#679 := [trans #671 #682]: #683
+#670 := [monotonicity #679]: #676
+#662 := [trans #670 #661]: #676
+#675 := [quant-inst]: #674
+#664 := [mp #675 #662]: #673
+[unit-resolution #664 #769 #198]: false
+unsat
+0f72e3cc2623043652855456cd55d7bfbe055c1f 319 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#170 := -3::int
+#173 := (f4 -3::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f4 #39 #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#537 := (not #761)
+#685 := (or #537 #176)
+#339 := (* -1::int -3::int)
+#424 := (mod #339 #339)
+#425 := (+ #173 #424)
+#426 := (= #425 0::int)
+#417 := (mod -3::int -3::int)
+#428 := (* -1::int #417)
+#429 := (+ #173 #428)
+#357 := (= #429 0::int)
+#430 := (<= -3::int 0::int)
+#427 := (or #430 #430)
+#431 := (not #427)
+#410 := (>= -3::int 0::int)
+#745 := (or #430 #410)
+#747 := (not #745)
+#404 := (or #747 #431)
+#534 := (ite #404 #357 #426)
+#741 := (= -3::int 0::int)
+#415 := (ite #741 #176 #534)
+#416 := (= -3::int #173)
+#748 := (ite #741 #416 #415)
+#587 := (or #537 #748)
+#683 := (iff #587 #685)
+#571 := (iff #685 #685)
+#586 := [rewrite]: #571
+#577 := (iff #748 #176)
+#746 := (= #173 -3::int)
+#692 := (ite false #746 #176)
+#694 := (iff #692 #176)
+#576 := [rewrite]: #694
+#693 := (iff #748 #692)
+#689 := (iff #415 #176)
+#695 := (ite false #176 #176)
+#703 := (iff #695 #176)
+#697 := [rewrite]: #703
+#535 := (iff #415 #695)
+#704 := (iff #534 #176)
+#696 := (iff #534 #695)
+#700 := (iff #426 #176)
+#698 := (= #425 #173)
+#438 := (+ #173 0::int)
+#432 := (= #438 #173)
+#714 := [rewrite]: #432
+#555 := (= #425 #438)
+#713 := (= #424 0::int)
+#705 := (mod 3::int 3::int)
+#712 := (= #705 0::int)
+#707 := [rewrite]: #712
+#706 := (= #424 #705)
+#709 := (= #339 3::int)
+#710 := [rewrite]: #709
+#711 := [monotonicity #710 #710]: #706
+#554 := [trans #711 #707]: #713
+#556 := [monotonicity #554]: #555
+#699 := [trans #556 #714]: #698
+#701 := [monotonicity #699]: #700
+#719 := (iff #357 #176)
+#718 := (= #429 #173)
+#716 := (= #429 #438)
+#436 := (= #428 0::int)
+#720 := (* -1::int 0::int)
+#725 := (= #720 0::int)
+#435 := [rewrite]: #725
+#724 := (= #428 #720)
+#445 := (= #417 0::int)
+#446 := [rewrite]: #445
+#721 := [monotonicity #446]: #724
+#437 := [trans #721 #435]: #436
+#717 := [monotonicity #437]: #716
+#715 := [trans #717 #714]: #718
+#708 := [monotonicity #715]: #719
+#722 := (iff #404 false)
+#449 := (or false false)
+#452 := (iff #449 false)
+#345 := [rewrite]: #452
+#450 := (iff #404 #449)
+#726 := (iff #431 false)
+#1 := true
+#394 := (not true)
+#732 := (iff #394 false)
+#733 := [rewrite]: #732
+#737 := (iff #431 #394)
+#379 := (iff #427 true)
+#735 := (or true true)
+#738 := (iff #735 true)
+#378 := [rewrite]: #738
+#373 := (iff #427 #735)
+#742 := (iff #430 true)
+#402 := [rewrite]: #742
+#736 := [monotonicity #402 #402]: #373
+#739 := [trans #736 #378]: #379
+#740 := [monotonicity #739]: #737
+#727 := [trans #740 #733]: #726
+#734 := (iff #747 false)
+#730 := (iff #747 #394)
+#392 := (iff #745 true)
+#403 := (or true false)
+#728 := (iff #403 true)
+#391 := [rewrite]: #728
+#744 := (iff #745 #403)
+#407 := (iff #410 false)
+#743 := [rewrite]: #407
+#387 := [monotonicity #402 #743]: #744
+#393 := [trans #387 #391]: #392
+#731 := [monotonicity #393]: #730
+#729 := [trans #731 #733]: #734
+#451 := [monotonicity #729 #727]: #450
+#723 := [trans #451 #345]: #722
+#702 := [monotonicity #723 #708 #701]: #696
+#533 := [trans #702 #697]: #704
+#749 := (iff #741 false)
+#750 := [rewrite]: #749
+#536 := [monotonicity #750 #533]: #535
+#690 := [trans #536 #697]: #689
+#751 := (iff #416 #746)
+#752 := [rewrite]: #751
+#691 := [monotonicity #750 #752 #690]: #693
+#578 := [trans #691 #576]: #577
+#686 := [monotonicity #578]: #683
+#588 := [trans #686 #586]: #683
+#682 := [quant-inst]: #587
+#589 := [mp #682 #588]: #685
+[unit-resolution #589 #766 #194]: false
+unsat
+f37197b90e99a60552b7deef4be6c2f00cf2506d 347 0
+#2 := false
+#183 := -2::int
+decl f4 :: (-> int int int)
+#177 := -3::int
+#174 := -5::int
+#180 := (f4 -5::int -3::int)
+#186 := (= #180 -2::int)
+#189 := (not #186)
+#43 := 2::int
+#44 := (- 2::int)
+#40 := 3::int
+#41 := (- 3::int)
+#38 := 5::int
+#39 := (- 5::int)
+#42 := (f4 #39 #41)
+#45 := (= #42 #44)
+#46 := (not #45)
+#190 := (iff #46 #189)
+#187 := (iff #45 #186)
+#184 := (= #44 -2::int)
+#185 := [rewrite]: #184
+#181 := (= #42 #180)
+#178 := (= #41 -3::int)
+#179 := [rewrite]: #178
+#175 := (= #39 -5::int)
+#176 := [rewrite]: #175
+#182 := [monotonicity #176 #179]: #181
+#188 := [monotonicity #182 #185]: #187
+#191 := [monotonicity #188]: #190
+#173 := [asserted]: #46
+#194 := [mp #173 #191]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#758 := (pattern #29)
+#11 := 0::int
+#70 := -1::int
+#74 := (* -1::int #9)
+#71 := (* -1::int #8)
+#129 := (mod #71 #74)
+#269 := (+ #29 #129)
+#270 := (= #269 0::int)
+#30 := (mod #8 #9)
+#266 := (* -1::int #30)
+#267 := (+ #29 #266)
+#268 := (= #267 0::int)
+#96 := (<= #9 0::int)
+#92 := (<= #8 0::int)
+#208 := (or #92 #96)
+#209 := (not #208)
+#103 := (>= #8 0::int)
+#200 := (or #96 #103)
+#201 := (not #200)
+#215 := (or #201 #209)
+#271 := (ite #215 #268 #270)
+#265 := (= #29 0::int)
+#12 := (= #8 0::int)
+#272 := (ite #12 #265 #271)
+#264 := (= #8 #29)
+#13 := (= #9 0::int)
+#273 := (ite #13 #264 #272)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #273)
+#276 := (forall (vars (?v0 int) (?v1 int)) #273)
+#762 := (iff #276 #759)
+#760 := (iff #273 #273)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#135 := (* -1::int #129)
+#233 := (ite #215 #30 #135)
+#236 := (ite #12 0::int #233)
+#239 := (ite #13 #8 #236)
+#242 := (= #29 #239)
+#245 := (forall (vars (?v0 int) (?v1 int)) #242)
+#277 := (iff #245 #276)
+#274 := (iff #242 #273)
+#275 := [rewrite]: #274
+#278 := [quant-intro #275]: #277
+#104 := (not #103)
+#97 := (not #96)
+#107 := (and #97 #104)
+#93 := (not #92)
+#100 := (and #93 #97)
+#110 := (or #100 #107)
+#155 := (ite #110 #30 #135)
+#158 := (ite #12 0::int #155)
+#161 := (ite #13 #8 #158)
+#164 := (= #29 #161)
+#167 := (forall (vars (?v0 int) (?v1 int)) #164)
+#246 := (iff #167 #245)
+#243 := (iff #164 #242)
+#240 := (= #161 #239)
+#237 := (= #158 #236)
+#234 := (= #155 #233)
+#218 := (iff #110 #215)
+#212 := (or #209 #201)
+#216 := (iff #212 #215)
+#217 := [rewrite]: #216
+#213 := (iff #110 #212)
+#210 := (iff #107 #201)
+#211 := [rewrite]: #210
+#198 := (iff #100 #209)
+#199 := [rewrite]: #198
+#214 := [monotonicity #199 #211]: #213
+#219 := [trans #214 #217]: #218
+#235 := [monotonicity #219]: #234
+#238 := [monotonicity #235]: #237
+#241 := [monotonicity #238]: #240
+#244 := [monotonicity #241]: #243
+#247 := [quant-intro #244]: #246
+#196 := (~ #167 #167)
+#192 := (~ #164 #164)
+#206 := [refl]: #192
+#197 := [nnf-pos #206]: #196
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#170 := (iff #37 #167)
+#64 := (and #16 #18)
+#67 := (or #17 #64)
+#140 := (ite #67 #30 #135)
+#143 := (ite #12 0::int #140)
+#146 := (ite #13 #8 #143)
+#149 := (= #29 #146)
+#152 := (forall (vars (?v0 int) (?v1 int)) #149)
+#168 := (iff #152 #167)
+#165 := (iff #149 #164)
+#162 := (= #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#111 := (iff #67 #110)
+#108 := (iff #64 #107)
+#105 := (iff #18 #104)
+#106 := [rewrite]: #105
+#98 := (iff #16 #97)
+#99 := [rewrite]: #98
+#109 := [monotonicity #99 #106]: #108
+#101 := (iff #17 #100)
+#94 := (iff #15 #93)
+#95 := [rewrite]: #94
+#102 := [monotonicity #95 #99]: #101
+#112 := [monotonicity #102 #109]: #111
+#157 := [monotonicity #112]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#153 := (iff #37 #152)
+#150 := (iff #36 #149)
+#147 := (= #35 #146)
+#144 := (= #34 #143)
+#141 := (= #33 #140)
+#138 := (= #32 #135)
+#132 := (- #129)
+#136 := (= #132 #135)
+#137 := [rewrite]: #136
+#133 := (= #32 #132)
+#130 := (= #31 #129)
+#75 := (= #23 #74)
+#76 := [rewrite]: #75
+#72 := (= #22 #71)
+#73 := [rewrite]: #72
+#131 := [monotonicity #73 #76]: #130
+#134 := [monotonicity #131]: #133
+#139 := [trans #134 #137]: #138
+#68 := (iff #20 #67)
+#65 := (iff #19 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#142 := [monotonicity #69 #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [quant-intro #151]: #153
+#171 := [trans #154 #169]: #170
+#128 := [asserted]: #37
+#172 := [mp #128 #171]: #167
+#207 := [mp~ #172 #197]: #167
+#248 := [mp #207 #247]: #245
+#279 := [mp #248 #278]: #276
+#764 := [mp #279 #763]: #759
+#669 := (not #759)
+#670 := (or #669 #186)
+#337 := (* -1::int -3::int)
+#422 := (* -1::int -5::int)
+#423 := (mod #422 #337)
+#424 := (+ #180 #423)
+#415 := (= #424 0::int)
+#426 := (mod -5::int -3::int)
+#427 := (* -1::int #426)
+#355 := (+ #180 #427)
+#428 := (= #355 0::int)
+#425 := (<= -3::int 0::int)
+#429 := (<= -5::int 0::int)
+#408 := (or #429 #425)
+#743 := (not #408)
+#745 := (>= -5::int 0::int)
+#402 := (or #425 #745)
+#532 := (not #402)
+#739 := (or #532 #743)
+#413 := (ite #739 #428 #415)
+#414 := (= #180 0::int)
+#746 := (= -5::int 0::int)
+#747 := (ite #746 #414 #413)
+#748 := (= -5::int #180)
+#749 := (= -3::int 0::int)
+#744 := (ite #749 #748 #747)
+#671 := (or #669 #744)
+#672 := (iff #671 #670)
+#657 := (iff #670 #670)
+#659 := [rewrite]: #657
+#679 := (iff #744 #186)
+#405 := (= #180 -5::int)
+#666 := (ite false #405 #186)
+#678 := (iff #666 #186)
+#674 := [rewrite]: #678
+#676 := (iff #744 #666)
+#667 := (iff #747 #186)
+#685 := (ite false #414 #186)
+#673 := (iff #685 #186)
+#675 := [rewrite]: #673
+#682 := (iff #747 #685)
+#591 := (iff #413 #186)
+#435 := 1::int
+#696 := (= #180 1::int)
+#587 := (ite false #696 #186)
+#589 := (iff #587 #186)
+#590 := [rewrite]: #589
+#580 := (iff #413 #587)
+#584 := (iff #415 #186)
+#574 := (+ 2::int #180)
+#585 := (= #574 0::int)
+#684 := (iff #585 #186)
+#569 := [rewrite]: #684
+#680 := (iff #415 #585)
+#535 := (= #424 #574)
+#691 := (+ #180 2::int)
+#575 := (= #691 #574)
+#576 := [rewrite]: #575
+#689 := (= #424 #691)
+#688 := (= #423 2::int)
+#702 := (mod 5::int 3::int)
+#534 := (= #702 2::int)
+#687 := [rewrite]: #534
+#531 := (= #423 #702)
+#701 := (= #337 3::int)
+#695 := [rewrite]: #701
+#694 := (= #422 5::int)
+#700 := [rewrite]: #694
+#533 := [monotonicity #700 #695]: #531
+#690 := [trans #533 #687]: #688
+#692 := [monotonicity #690]: #689
+#683 := [trans #692 #576]: #535
+#681 := [monotonicity #683]: #680
+#586 := [trans #681 #569]: #584
+#699 := (iff #428 #696)
+#704 := (+ -1::int #180)
+#552 := (= #704 0::int)
+#697 := (iff #552 #696)
+#698 := [rewrite]: #697
+#553 := (iff #428 #552)
+#705 := (= #355 #704)
+#707 := (+ #180 -1::int)
+#709 := (= #707 #704)
+#710 := [rewrite]: #709
+#708 := (= #355 #707)
+#717 := (= #427 -1::int)
+#715 := (* -1::int 1::int)
+#716 := (= #715 -1::int)
+#713 := [rewrite]: #716
+#430 := (= #427 #715)
+#436 := (= #426 1::int)
+#714 := [rewrite]: #436
+#712 := [monotonicity #714]: #430
+#706 := [trans #712 #713]: #717
+#703 := [monotonicity #706]: #708
+#711 := [trans #703 #710]: #705
+#554 := [monotonicity #711]: #553
+#693 := [trans #554 #698]: #699
+#433 := (iff #739 false)
+#444 := (or false false)
+#719 := (iff #444 false)
+#723 := [rewrite]: #719
+#718 := (iff #739 #444)
+#721 := (iff #743 false)
+#1 := true
+#727 := (not true)
+#734 := (iff #727 false)
+#736 := [rewrite]: #734
+#343 := (iff #743 #727)
+#449 := (iff #408 true)
+#738 := (or true true)
+#447 := (iff #738 true)
+#448 := [rewrite]: #447
+#724 := (iff #408 #738)
+#385 := (iff #425 true)
+#726 := [rewrite]: #385
+#737 := (iff #429 true)
+#735 := [rewrite]: #737
+#725 := [monotonicity #735 #726]: #724
+#450 := [trans #725 #448]: #449
+#720 := [monotonicity #450]: #343
+#443 := [trans #720 #736]: #721
+#376 := (iff #532 false)
+#733 := (iff #532 #727)
+#731 := (iff #402 true)
+#391 := (or true false)
+#729 := (iff #391 true)
+#730 := [rewrite]: #729
+#392 := (iff #402 #391)
+#389 := (iff #745 false)
+#390 := [rewrite]: #389
+#728 := [monotonicity #726 #390]: #392
+#732 := [trans #728 #730]: #731
+#371 := [monotonicity #732]: #733
+#377 := [trans #371 #736]: #376
+#722 := [monotonicity #377 #443]: #718
+#434 := [trans #722 #723]: #433
+#588 := [monotonicity #434 #693 #586]: #580
+#592 := [trans #588 #590]: #591
+#401 := (iff #746 false)
+#742 := [rewrite]: #401
+#686 := [monotonicity #742 #592]: #682
+#664 := [trans #686 #675]: #667
+#400 := (iff #748 #405)
+#741 := [rewrite]: #400
+#750 := (iff #749 false)
+#740 := [rewrite]: #750
+#677 := [monotonicity #740 #741 #664]: #676
+#668 := [trans #677 #674]: #679
+#656 := [monotonicity #668]: #672
+#660 := [trans #656 #659]: #672
+#665 := [quant-inst]: #671
+#661 := [mp #665 #660]: #670
+[unit-resolution #661 #764 #194]: false
+unsat
+4228f6839d15057279ab346dd0c9010fa245b5ed 327 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#418 := (<= f5 0::int)
+#734 := (>= f5 0::int)
+#380 := (not #734)
+#723 := (not #418)
+#727 := (or #723 #380)
+#690 := (not #727)
+#39 := 3::int
+#415 := (mod f5 3::int)
+#66 := -1::int
+#416 := (* -1::int #415)
+decl f4 :: (-> int int int)
+#40 := (f4 f5 3::int)
+#344 := (+ #40 #416)
+#417 := (= #344 0::int)
+#563 := (not #417)
+#520 := (<= #344 0::int)
+#623 := (not #520)
+#631 := (>= #415 3::int)
+#632 := (not #631)
+#1 := true
+#57 := [true-axiom]: true
+#619 := (or false #632)
+#620 := [th-lemma]: #619
+#621 := [unit-resolution #620 #57]: #632
+#622 := [hypothesis]: #520
+#173 := (>= #40 3::int)
+#41 := (< #40 3::int)
+#42 := (not #41)
+#181 := (iff #42 #173)
+#172 := (not #173)
+#176 := (not #172)
+#179 := (iff #176 #173)
+#180 := [rewrite]: #179
+#177 := (iff #42 #176)
+#174 := (iff #41 #172)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#182 := [trans #178 #180]: #181
+#169 := [asserted]: #42
+#183 := [mp #169 #182]: #173
+#617 := [th-lemma #183 #622 #621]: false
+#609 := [lemma #617]: #623
+#626 := (or #563 #520)
+#637 := [th-lemma]: #626
+#615 := [unit-resolution #637 #609]: #563
+#614 := (or #690 #417)
+#438 := -3::int
+#411 := (* -1::int f5)
+#709 := (mod #411 -3::int)
+#433 := (+ #40 #709)
+#708 := (= #433 0::int)
+#423 := (ite #727 #417 #708)
+#403 := (= #40 0::int)
+#735 := (= f5 0::int)
+#703 := (ite #735 #403 #423)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#747 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#258 := (+ #29 #125)
+#259 := (= #258 0::int)
+#30 := (mod #8 #9)
+#255 := (* -1::int #30)
+#256 := (+ #29 #255)
+#257 := (= #256 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#197 := (or #88 #92)
+#198 := (not #197)
+#99 := (>= #8 0::int)
+#189 := (or #92 #99)
+#190 := (not #189)
+#204 := (or #190 #198)
+#260 := (ite #204 #257 #259)
+#254 := (= #29 0::int)
+#12 := (= #8 0::int)
+#261 := (ite #12 #254 #260)
+#253 := (= #8 #29)
+#13 := (= #9 0::int)
+#262 := (ite #13 #253 #261)
+#748 := (forall (vars (?v0 int) (?v1 int)) (:pat #747) #262)
+#265 := (forall (vars (?v0 int) (?v1 int)) #262)
+#751 := (iff #265 #748)
+#749 := (iff #262 #262)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#131 := (* -1::int #125)
+#222 := (ite #204 #30 #131)
+#225 := (ite #12 0::int #222)
+#228 := (ite #13 #8 #225)
+#231 := (= #29 #228)
+#234 := (forall (vars (?v0 int) (?v1 int)) #231)
+#266 := (iff #234 #265)
+#263 := (iff #231 #262)
+#264 := [rewrite]: #263
+#267 := [quant-intro #264]: #266
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#235 := (iff #163 #234)
+#232 := (iff #160 #231)
+#229 := (= #157 #228)
+#226 := (= #154 #225)
+#223 := (= #151 #222)
+#207 := (iff #106 #204)
+#201 := (or #198 #190)
+#205 := (iff #201 #204)
+#206 := [rewrite]: #205
+#202 := (iff #106 #201)
+#199 := (iff #103 #190)
+#200 := [rewrite]: #199
+#187 := (iff #96 #198)
+#188 := [rewrite]: #187
+#203 := [monotonicity #188 #200]: #202
+#208 := [trans #203 #206]: #207
+#224 := [monotonicity #208]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [quant-intro #233]: #235
+#185 := (~ #163 #163)
+#170 := (~ #160 #160)
+#195 := [refl]: #170
+#186 := [nnf-pos #195]: #185
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#196 := [mp~ #168 #186]: #163
+#237 := [mp #196 #236]: #234
+#268 := [mp #237 #267]: #265
+#753 := [mp #268 #752]: #748
+#692 := (not #748)
+#693 := (or #692 #703)
+#326 := (* -1::int 3::int)
+#412 := (mod #411 #326)
+#413 := (+ #40 #412)
+#404 := (= #413 0::int)
+#414 := (<= 3::int 0::int)
+#397 := (or #418 #414)
+#732 := (not #397)
+#391 := (or #414 #734)
+#521 := (not #391)
+#728 := (or #521 #732)
+#402 := (ite #728 #417 #404)
+#736 := (ite #735 #403 #402)
+#737 := (= f5 #40)
+#738 := (= 3::int 0::int)
+#733 := (ite #738 #737 #736)
+#698 := (or #692 #733)
+#694 := (iff #698 #693)
+#541 := (iff #693 #693)
+#542 := [rewrite]: #541
+#696 := (iff #733 #703)
+#701 := (ite false #737 #703)
+#706 := (iff #701 #703)
+#695 := [rewrite]: #706
+#705 := (iff #733 #701)
+#704 := (iff #736 #703)
+#424 := (iff #402 #423)
+#712 := (iff #404 #708)
+#707 := (= #413 #433)
+#710 := (= #412 #709)
+#439 := (= #326 -3::int)
+#332 := [rewrite]: #439
+#432 := [monotonicity #332]: #710
+#711 := [monotonicity #432]: #707
+#422 := [monotonicity #711]: #712
+#436 := (iff #728 #727)
+#366 := (or #380 #723)
+#713 := (iff #366 #727)
+#714 := [rewrite]: #713
+#726 := (iff #728 #366)
+#725 := (iff #732 #723)
+#722 := (iff #397 #418)
+#718 := (or #418 false)
+#721 := (iff #718 #418)
+#716 := [rewrite]: #721
+#719 := (iff #397 #718)
+#389 := (iff #414 false)
+#394 := [rewrite]: #389
+#720 := [monotonicity #394]: #719
+#360 := [trans #720 #716]: #722
+#365 := [monotonicity #360]: #725
+#381 := (iff #521 #380)
+#378 := (iff #391 #734)
+#730 := (or false #734)
+#374 := (iff #730 #734)
+#715 := [rewrite]: #374
+#390 := (iff #391 #730)
+#731 := [monotonicity #394]: #390
+#379 := [trans #731 #715]: #378
+#717 := [monotonicity #379]: #381
+#724 := [monotonicity #717 #365]: #726
+#437 := [trans #724 #714]: #436
+#425 := [monotonicity #437 #422]: #424
+#419 := [monotonicity #425]: #704
+#739 := (iff #738 false)
+#729 := [rewrite]: #739
+#702 := [monotonicity #729 #419]: #705
+#697 := [trans #702 #695]: #696
+#700 := [monotonicity #697]: #694
+#543 := [trans #700 #542]: #694
+#699 := [quant-inst]: #698
+#685 := [mp #699 #543]: #693
+#616 := [unit-resolution #685 #753]: #703
+#670 := (not #735)
+#669 := (not #703)
+#611 := (or #669 #670)
+#576 := (not #403)
+#686 := (<= #40 0::int)
+#618 := (not #686)
+#648 := (or #618 #172)
+#649 := [th-lemma]: #648
+#605 := [unit-resolution #649 #183]: #618
+#606 := (or #576 #686)
+#607 := [th-lemma]: #606
+#610 := [unit-resolution #607 #605]: #576
+#673 := (or #669 #670 #403)
+#558 := [def-axiom]: #673
+#612 := [unit-resolution #558 #610]: #611
+#613 := [unit-resolution #612 #616]: #670
+#573 := (or #669 #735 #423)
+#575 := [def-axiom]: #573
+#608 := [unit-resolution #575 #613 #616]: #423
+#677 := (not #423)
+#679 := (or #677 #690 #417)
+#680 := [def-axiom]: #679
+#587 := [unit-resolution #680 #608]: #614
+#588 := [unit-resolution #587 #615]: #690
+#688 := (or #727 #418)
+#682 := [def-axiom]: #688
+#589 := [unit-resolution #682 #588]: #418
+#683 := (or #727 #734)
+#689 := [def-axiom]: #683
+#482 := [unit-resolution #689 #588]: #734
+#593 := (or #735 #723 #380)
+#594 := [th-lemma]: #593
+#595 := [unit-resolution #594 #613]: #727
+[unit-resolution #595 #482 #589]: false
+unsat
+d025f91f4a88cd39cf6b10b8cd4344f9251581a8 345 0
+#2 := false
+#39 := 3::int
+decl f4 :: (-> int int int)
+decl f5 :: int
+#38 := f5
+#40 := (f4 f5 3::int)
+#441 := (mod #40 3::int)
+#657 := (>= #441 3::int)
+#658 := (not #657)
+#1 := true
+#59 := [true-axiom]: true
+#647 := (or false #658)
+#642 := [th-lemma]: #647
+#648 := [unit-resolution #642 #59]: #658
+#11 := 0::int
+#68 := -1::int
+#436 := (* -1::int #40)
+#600 := (+ f5 #436)
+#601 := (<= #600 0::int)
+#172 := (= f5 #40)
+#188 := (>= f5 3::int)
+#187 := (not #188)
+#178 := (not #172)
+#194 := (or #178 #187)
+#199 := (not #194)
+#42 := (< f5 3::int)
+#41 := (= #40 f5)
+#43 := (implies #41 #42)
+#44 := (not #43)
+#202 := (iff #44 #199)
+#179 := (or #42 #178)
+#184 := (not #179)
+#200 := (iff #184 #199)
+#197 := (iff #179 #194)
+#191 := (or #187 #178)
+#195 := (iff #191 #194)
+#196 := [rewrite]: #195
+#192 := (iff #179 #191)
+#189 := (iff #42 #187)
+#190 := [rewrite]: #189
+#193 := [monotonicity #190]: #192
+#198 := [trans #193 #196]: #197
+#201 := [monotonicity #198]: #200
+#185 := (iff #44 #184)
+#182 := (iff #43 #179)
+#175 := (implies #172 #42)
+#180 := (iff #175 #179)
+#181 := [rewrite]: #180
+#176 := (iff #43 #175)
+#173 := (iff #41 #172)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#183 := [trans #177 #181]: #182
+#186 := [monotonicity #183]: #185
+#203 := [trans #186 #201]: #202
+#171 := [asserted]: #44
+#204 := [mp #171 #203]: #199
+#205 := [not-or-elim #204]: #172
+#634 := (or #178 #601)
+#630 := [th-lemma]: #634
+#631 := [unit-resolution #630 #205]: #601
+#206 := [not-or-elim #204]: #188
+#438 := (f4 #40 3::int)
+#602 := (* -1::int #438)
+#603 := (+ #40 #602)
+#604 := (<= #603 0::int)
+#763 := (= #40 #438)
+#635 := (= #438 #40)
+#632 := [symm #205]: #41
+#636 := [monotonicity #632]: #635
+#637 := [symm #636]: #763
+#638 := (not #763)
+#633 := (or #638 #604)
+#639 := [th-lemma]: #633
+#612 := [unit-resolution #639 #637]: #604
+#369 := (* -1::int #441)
+#442 := (+ #438 #369)
+#707 := (<= #442 0::int)
+#439 := (= #442 0::int)
+#738 := -3::int
+#462 := (mod #436 -3::int)
+#357 := (+ #438 #462)
+#457 := (= #357 0::int)
+#422 := (<= #40 0::int)
+#750 := (not #422)
+#416 := (>= #40 0::int)
+#406 := (not #416)
+#751 := (or #406 #750)
+#736 := (ite #751 #439 #457)
+#760 := (= #438 0::int)
+#761 := (= #40 0::int)
+#447 := (ite #761 #760 #736)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#772 := (pattern #29)
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#283 := (+ #29 #127)
+#284 := (= #283 0::int)
+#30 := (mod #8 #9)
+#280 := (* -1::int #30)
+#281 := (+ #29 #280)
+#282 := (= #281 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#224 := (or #90 #94)
+#225 := (not #224)
+#101 := (>= #8 0::int)
+#216 := (or #94 #101)
+#217 := (not #216)
+#229 := (or #217 #225)
+#285 := (ite #229 #282 #284)
+#279 := (= #29 0::int)
+#12 := (= #8 0::int)
+#286 := (ite #12 #279 #285)
+#278 := (= #8 #29)
+#13 := (= #9 0::int)
+#287 := (ite #13 #278 #286)
+#773 := (forall (vars (?v0 int) (?v1 int)) (:pat #772) #287)
+#290 := (forall (vars (?v0 int) (?v1 int)) #287)
+#776 := (iff #290 #773)
+#774 := (iff #287 #287)
+#775 := [refl]: #774
+#777 := [quant-intro #775]: #776
+#133 := (* -1::int #127)
+#247 := (ite #229 #30 #133)
+#250 := (ite #12 0::int #247)
+#253 := (ite #13 #8 #250)
+#256 := (= #29 #253)
+#259 := (forall (vars (?v0 int) (?v1 int)) #256)
+#291 := (iff #259 #290)
+#288 := (iff #256 #287)
+#289 := [rewrite]: #288
+#292 := [quant-intro #289]: #291
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#260 := (iff #165 #259)
+#257 := (iff #162 #256)
+#254 := (= #159 #253)
+#251 := (= #156 #250)
+#248 := (= #153 #247)
+#232 := (iff #108 #229)
+#226 := (or #225 #217)
+#230 := (iff #226 #229)
+#231 := [rewrite]: #230
+#227 := (iff #108 #226)
+#214 := (iff #105 #217)
+#215 := [rewrite]: #214
+#212 := (iff #98 #225)
+#213 := [rewrite]: #212
+#228 := [monotonicity #213 #215]: #227
+#233 := [trans #228 #231]: #232
+#249 := [monotonicity #233]: #248
+#252 := [monotonicity #249]: #251
+#255 := [monotonicity #252]: #254
+#258 := [monotonicity #255]: #257
+#261 := [quant-intro #258]: #260
+#210 := (~ #165 #165)
+#207 := (~ #162 #162)
+#222 := [refl]: #207
+#211 := [nnf-pos #222]: #210
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#223 := [mp~ #170 #211]: #165
+#262 := [mp #223 #261]: #259
+#293 := [mp #262 #292]: #290
+#778 := [mp #293 #777]: #773
+#731 := (not #773)
+#720 := (or #731 #447)
+#351 := (* -1::int 3::int)
+#437 := (mod #436 #351)
+#429 := (+ #438 #437)
+#440 := (= #429 0::int)
+#443 := (<= 3::int 0::int)
+#757 := (or #422 #443)
+#759 := (not #757)
+#546 := (or #443 #416)
+#753 := (not #546)
+#427 := (or #753 #759)
+#428 := (ite #427 #439 #440)
+#762 := (ite #761 #760 #428)
+#758 := (= 3::int 0::int)
+#764 := (ite #758 #763 #762)
+#721 := (or #731 #764)
+#717 := (iff #721 #720)
+#723 := (iff #720 #720)
+#724 := [rewrite]: #723
+#730 := (iff #764 #447)
+#450 := (ite false #763 #447)
+#444 := (iff #450 #447)
+#726 := [rewrite]: #444
+#728 := (iff #764 #450)
+#448 := (iff #762 #447)
+#733 := (iff #428 #736)
+#458 := (iff #440 #457)
+#734 := (= #429 #357)
+#463 := (= #437 #462)
+#739 := (= #351 -3::int)
+#461 := [rewrite]: #739
+#464 := [monotonicity #461]: #463
+#735 := [monotonicity #464]: #734
+#732 := [monotonicity #735]: #458
+#749 := (iff #427 #751)
+#390 := (iff #759 #750)
+#385 := (iff #757 #422)
+#744 := (or #422 false)
+#741 := (iff #744 #422)
+#747 := [rewrite]: #741
+#745 := (iff #757 #744)
+#419 := (iff #443 false)
+#755 := [rewrite]: #419
+#746 := [monotonicity #755]: #745
+#748 := [trans #746 #747]: #385
+#391 := [monotonicity #748]: #390
+#742 := (iff #753 #406)
+#404 := (iff #546 #416)
+#415 := (or false #416)
+#740 := (iff #415 #416)
+#403 := [rewrite]: #740
+#756 := (iff #546 #415)
+#399 := [monotonicity #755]: #756
+#405 := [trans #399 #403]: #404
+#743 := [monotonicity #405]: #742
+#752 := [monotonicity #743 #391]: #749
+#737 := [monotonicity #752 #732]: #733
+#449 := [monotonicity #737]: #448
+#754 := (iff #758 false)
+#414 := [rewrite]: #754
+#729 := [monotonicity #414 #449]: #728
+#727 := [trans #729 #726]: #730
+#718 := [monotonicity #727]: #717
+#719 := [trans #718 #724]: #717
+#722 := [quant-inst]: #721
+#725 := [mp #722 #719]: #720
+#613 := [unit-resolution #725 #778]: #447
+#589 := (not #761)
+#614 := (not #601)
+#507 := (or #750 #187 #614)
+#618 := [th-lemma]: #507
+#619 := [unit-resolution #618 #206 #631]: #750
+#620 := (or #589 #422)
+#625 := [th-lemma]: #620
+#621 := [unit-resolution #625 #619]: #589
+#588 := (not #447)
+#697 := (or #588 #761 #736)
+#599 := [def-axiom]: #697
+#622 := [unit-resolution #599 #621 #613]: #736
+#568 := (or #751 #422)
+#710 := [def-axiom]: #568
+#623 := [unit-resolution #710 #619]: #751
+#711 := (not #751)
+#709 := (not #736)
+#716 := (or #709 #711 #439)
+#545 := [def-axiom]: #716
+#626 := [unit-resolution #545 #623 #622]: #439
+#701 := (not #439)
+#627 := (or #701 #707)
+#628 := [th-lemma]: #627
+#624 := [unit-resolution #628 #626]: #707
+[th-lemma #624 #612 #206 #631 #648]: false
+unsat
+5c6a1732486404fecb33daf0a7a046a117a36205 592 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#39 := 1::int
+decl f5 :: int
+#38 := f5
+#40 := (f3 f5 1::int)
+#704 := (>= #40 0::int)
+#752 := (= #40 0::int)
+#753 := (= f5 0::int)
+#591 := (not #753)
+#493 := [hypothesis]: #591
+#405 := (<= f5 0::int)
+#416 := (>= f5 0::int)
+#737 := (not #416)
+#451 := (not #405)
+#446 := (or #451 #737)
+#537 := (not #446)
+#69 := -1::int
+#427 := (* -1::int f5)
+#437 := (div #427 -1::int)
+#717 := (* -1::int #437)
+#715 := (+ #40 #717)
+#720 := (= #715 0::int)
+#428 := (div f5 1::int)
+#432 := (* -1::int #428)
+#411 := (+ #40 #432)
+#746 := (= #411 0::int)
+#711 := (ite #446 #746 #720)
+#483 := (or #753 #711)
+#712 := (ite #753 #752 #711)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#754 := (pattern #10)
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#257 := (* -1::int #76)
+#258 := (+ #10 #257)
+#259 := (= #258 0::int)
+#21 := (div #8 #9)
+#254 := (* -1::int #21)
+#255 := (+ #10 #254)
+#256 := (= #255 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#212 := (or #91 #95)
+#213 := (not #212)
+#102 := (>= #8 0::int)
+#204 := (or #95 #102)
+#205 := (not #204)
+#219 := (or #205 #213)
+#260 := (ite #219 #256 #259)
+#253 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#261 := (ite #14 #253 #260)
+#755 := (forall (vars (?v0 int) (?v1 int)) (:pat #754) #261)
+#264 := (forall (vars (?v0 int) (?v1 int)) #261)
+#758 := (iff #264 #755)
+#756 := (iff #261 #261)
+#757 := [refl]: #756
+#759 := [quant-intro #757]: #758
+#224 := (ite #219 #21 #76)
+#227 := (ite #14 0::int #224)
+#230 := (= #10 #227)
+#233 := (forall (vars (?v0 int) (?v1 int)) #230)
+#265 := (iff #233 #264)
+#262 := (iff #230 #261)
+#263 := [rewrite]: #262
+#266 := [quant-intro #263]: #265
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#234 := (iff #121 #233)
+#231 := (iff #118 #230)
+#228 := (= #115 #227)
+#225 := (= #112 #224)
+#222 := (iff #109 #219)
+#216 := (or #213 #205)
+#220 := (iff #216 #219)
+#221 := [rewrite]: #220
+#217 := (iff #109 #216)
+#214 := (iff #106 #205)
+#215 := [rewrite]: #214
+#202 := (iff #99 #213)
+#203 := [rewrite]: #202
+#218 := [monotonicity #203 #215]: #217
+#223 := [trans #218 #221]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#208 := (~ #121 #121)
+#206 := (~ #118 #118)
+#207 := [refl]: #206
+#209 := [nnf-pos #207]: #208
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#199 := [mp~ #126 #209]: #121
+#236 := [mp #199 #235]: #233
+#267 := [mp #236 #266]: #264
+#760 := [mp #267 #759]: #755
+#714 := (not #755)
+#555 := (or #714 #712)
+#426 := (* -1::int 1::int)
+#418 := (div #427 #426)
+#429 := (* -1::int #418)
+#430 := (+ #40 #429)
+#431 := (= #430 0::int)
+#748 := (<= 1::int 0::int)
+#535 := (or #405 #748)
+#742 := (not #535)
+#417 := (or #748 #416)
+#749 := (not #417)
+#750 := (or #749 #742)
+#751 := (ite #750 #746 #431)
+#747 := (= 1::int 0::int)
+#743 := (or #753 #747)
+#403 := (ite #743 #752 #751)
+#556 := (or #714 #403)
+#699 := (iff #556 #555)
+#701 := (iff #555 #555)
+#702 := [rewrite]: #701
+#713 := (iff #403 #712)
+#706 := (iff #751 #711)
+#709 := (iff #431 #720)
+#719 := (= #430 #715)
+#718 := (= #429 #717)
+#438 := (= #418 #437)
+#726 := (= #426 -1::int)
+#436 := [rewrite]: #726
+#439 := [monotonicity #436]: #438
+#433 := [monotonicity #439]: #718
+#716 := [monotonicity #433]: #719
+#710 := [monotonicity #716]: #709
+#725 := (iff #750 #446)
+#347 := (or #737 #451)
+#447 := (iff #347 #446)
+#721 := [rewrite]: #447
+#723 := (iff #750 #347)
+#452 := (iff #742 #451)
+#728 := (iff #535 #405)
+#380 := (or #405 false)
+#741 := (iff #380 #405)
+#727 := [rewrite]: #741
+#740 := (iff #535 #380)
+#395 := (iff #748 false)
+#731 := [rewrite]: #395
+#738 := [monotonicity #731]: #740
+#450 := [trans #738 #727]: #728
+#453 := [monotonicity #450]: #452
+#739 := (iff #749 #737)
+#736 := (iff #417 #416)
+#732 := (or false #416)
+#735 := (iff #732 #416)
+#730 := [rewrite]: #735
+#733 := (iff #417 #732)
+#734 := [monotonicity #731]: #733
+#374 := [trans #734 #730]: #736
+#379 := [monotonicity #374]: #739
+#724 := [monotonicity #379 #453]: #723
+#722 := [trans #724 #721]: #725
+#707 := [monotonicity #722 #710]: #706
+#393 := (iff #743 #753)
+#404 := (or #753 false)
+#729 := (iff #404 #753)
+#392 := [rewrite]: #729
+#745 := (iff #743 #404)
+#408 := (iff #747 false)
+#744 := [rewrite]: #408
+#388 := [monotonicity #744]: #745
+#394 := [trans #388 #392]: #393
+#708 := [monotonicity #394 #707]: #713
+#700 := [monotonicity #708]: #699
+#696 := [trans #700 #702]: #699
+#557 := [quant-inst]: #556
+#697 := [mp #557 #696]: #555
+#548 := [unit-resolution #697 #760]: #712
+#583 := (not #712)
+#594 := (or #583 #753 #711)
+#595 := [def-axiom]: #594
+#484 := [unit-resolution #595 #548]: #483
+#485 := [unit-resolution #484 #493]: #711
+#684 := (not #746)
+#692 := (>= #411 0::int)
+#422 := (not #692)
+decl f4 :: (-> int int int)
+#42 := (f4 f5 1::int)
+#600 := (>= #42 0::int)
+#682 := (= #42 0::int)
+#624 := (or #451 #737 #753)
+#481 := (or #624 #753)
+#599 := (not #624)
+#491 := [hypothesis]: #599
+#616 := (or #624 #405)
+#617 := [def-axiom]: #616
+#494 := [unit-resolution #617 #491]: #405
+#613 := (or #624 #416)
+#618 := [def-axiom]: #613
+#476 := [unit-resolution #618 #491]: #416
+#478 := (or #753 #451 #737)
+#479 := [th-lemma]: #478
+#480 := [unit-resolution #479 #476 #494 #493]: false
+#482 := [lemma #480]: #481
+#486 := [unit-resolution #482 #493]: #624
+#488 := (or #599 #682)
+#695 := (mod #427 -1::int)
+#641 := (+ #42 #695)
+#644 := (= #641 0::int)
+#627 := (ite #624 #682 #644)
+#29 := (f4 #8 #9)
+#761 := (pattern #29)
+#128 := (mod #70 #73)
+#273 := (+ #29 #128)
+#274 := (= #273 0::int)
+#30 := (mod #8 #9)
+#270 := (* -1::int #30)
+#271 := (+ #29 #270)
+#272 := (= #271 0::int)
+#275 := (ite #219 #272 #274)
+#269 := (= #29 0::int)
+#276 := (ite #12 #269 #275)
+#268 := (= #8 #29)
+#277 := (ite #13 #268 #276)
+#762 := (forall (vars (?v0 int) (?v1 int)) (:pat #761) #277)
+#280 := (forall (vars (?v0 int) (?v1 int)) #277)
+#765 := (iff #280 #762)
+#763 := (iff #277 #277)
+#764 := [refl]: #763
+#766 := [quant-intro #764]: #765
+#134 := (* -1::int #128)
+#237 := (ite #219 #30 #134)
+#240 := (ite #12 0::int #237)
+#243 := (ite #13 #8 #240)
+#246 := (= #29 #243)
+#249 := (forall (vars (?v0 int) (?v1 int)) #246)
+#281 := (iff #249 #280)
+#278 := (iff #246 #277)
+#279 := [rewrite]: #278
+#282 := [quant-intro #279]: #281
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#250 := (iff #166 #249)
+#247 := (iff #163 #246)
+#244 := (= #160 #243)
+#241 := (= #157 #240)
+#238 := (= #154 #237)
+#239 := [monotonicity #223]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [monotonicity #245]: #247
+#251 := [quant-intro #248]: #250
+#200 := (~ #166 #166)
+#197 := (~ #163 #163)
+#210 := [refl]: #197
+#201 := [nnf-pos #210]: #200
+#31 := (mod #22 #23)
+#32 := (- #31)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#211 := [mp~ #171 #201]: #166
+#252 := [mp #211 #251]: #249
+#283 := [mp #252 #282]: #280
+#767 := [mp #283 #766]: #762
+#603 := (not #762)
+#496 := (or #603 #627)
+#670 := (mod #427 #426)
+#667 := (+ #42 #670)
+#669 := (= #667 0::int)
+#693 := (mod f5 1::int)
+#679 := (* -1::int #693)
+#680 := (+ #42 #679)
+#681 := (= #680 0::int)
+#677 := (ite #750 #681 #669)
+#671 := (ite #753 #682 #677)
+#672 := (= f5 #42)
+#673 := (ite #747 #672 #671)
+#607 := (or #603 #673)
+#609 := (iff #607 #496)
+#610 := (iff #496 #496)
+#611 := [rewrite]: #610
+#601 := (iff #673 #627)
+#629 := (or #446 #753)
+#630 := (ite #629 #682 #644)
+#622 := (iff #630 #627)
+#625 := (iff #629 #624)
+#626 := [rewrite]: #625
+#628 := [monotonicity #626]: #622
+#620 := (iff #673 #630)
+#636 := (ite false #672 #630)
+#623 := (iff #636 #630)
+#619 := [rewrite]: #623
+#631 := (iff #673 #636)
+#634 := (iff #671 #630)
+#647 := (ite #446 #682 #644)
+#650 := (ite #753 #682 #647)
+#632 := (iff #650 #630)
+#633 := [rewrite]: #632
+#640 := (iff #671 #650)
+#648 := (iff #677 #647)
+#645 := (iff #669 #644)
+#642 := (= #667 #641)
+#638 := (= #670 #695)
+#639 := [monotonicity #436]: #638
+#643 := [monotonicity #639]: #642
+#646 := [monotonicity #643]: #645
+#654 := (iff #681 #682)
+#656 := (= #680 #42)
+#661 := (+ #42 0::int)
+#653 := (= #661 #42)
+#655 := [rewrite]: #653
+#666 := (= #680 #661)
+#664 := (= #679 0::int)
+#675 := (* -1::int 0::int)
+#662 := (= #675 0::int)
+#663 := [rewrite]: #662
+#659 := (= #679 #675)
+#674 := (= #693 0::int)
+#668 := [rewrite]: #674
+#660 := [monotonicity #668]: #659
+#665 := [trans #660 #663]: #664
+#652 := [monotonicity #665]: #666
+#657 := [trans #652 #655]: #656
+#658 := [monotonicity #657]: #654
+#649 := [monotonicity #722 #658 #646]: #648
+#651 := [monotonicity #649]: #640
+#635 := [trans #651 #633]: #634
+#637 := [monotonicity #744 #635]: #631
+#621 := [trans #637 #619]: #620
+#602 := [trans #621 #628]: #601
+#614 := [monotonicity #602]: #609
+#612 := [trans #614 #611]: #609
+#608 := [quant-inst]: #607
+#615 := [mp #608 #612]: #496
+#487 := [unit-resolution #615 #767]: #627
+#581 := (not #627)
+#540 := (or #581 #599 #682)
+#571 := [def-axiom]: #540
+#477 := [unit-resolution #571 #487]: #488
+#489 := [unit-resolution #477 #486]: #682
+#582 := (not #682)
+#396 := (or #582 #600)
+#397 := [th-lemma]: #396
+#398 := [unit-resolution #397 #489]: #600
+#421 := (not #600)
+#389 := (or #422 #421)
+#542 := (+ f5 #432)
+#541 := (= #542 0::int)
+#1 := true
+#60 := [true-axiom]: true
+#515 := (or false #541)
+#505 := [th-lemma]: #515
+#495 := [unit-resolution #505 #60]: #541
+#443 := (<= #542 0::int)
+#420 := (not #443)
+#185 := (* -1::int #42)
+#184 := (* -1::int #40)
+#186 := (+ #184 #185)
+#187 := (+ f5 #186)
+#341 := (<= #187 0::int)
+#444 := (not #341)
+#425 := (>= #187 0::int)
+#703 := (<= #40 0::int)
+#499 := (not #425)
+#507 := [hypothesis]: #499
+#461 := (or #753 #425)
+#694 := (<= #411 0::int)
+#504 := (not #694)
+#605 := (<= #42 0::int)
+#466 := (or #582 #605)
+#468 := [th-lemma]: #466
+#469 := [unit-resolution #468 #489]: #605
+#503 := (not #605)
+#490 := (or #503 #425 #504)
+#510 := [hypothesis]: #605
+#549 := (>= #542 0::int)
+#497 := (not #541)
+#498 := (or #497 #549)
+#501 := [th-lemma]: #498
+#502 := [unit-resolution #501 #495]: #549
+#506 := [hypothesis]: #694
+#500 := [th-lemma #507 #506 #502 #510]: false
+#492 := [lemma #500]: #490
+#470 := [unit-resolution #492 #469 #507]: #504
+#471 := (or #684 #694)
+#472 := [th-lemma]: #471
+#473 := [unit-resolution #472 #470]: #684
+#579 := (not #711)
+#538 := (or #579 #537 #746)
+#686 := [def-axiom]: #538
+#474 := [unit-resolution #686 #473 #485]: #537
+#698 := (or #446 #405)
+#705 := [def-axiom]: #698
+#467 := [unit-resolution #705 #474]: #405
+#534 := (or #446 #416)
+#536 := [def-axiom]: #534
+#475 := [unit-resolution #536 #474]: #416
+#460 := [unit-resolution #479 #475 #467 #493]: false
+#462 := [lemma #460]: #461
+#464 := [unit-resolution #462 #507]: #753
+#463 := (or #591 #752)
+#592 := (or #583 #591 #752)
+#593 := [def-axiom]: #592
+#465 := [unit-resolution #593 #548]: #463
+#454 := [unit-resolution #465 #464]: #752
+#688 := (not #752)
+#455 := (or #688 #703)
+#456 := [th-lemma]: #455
+#448 := [unit-resolution #456 #454]: #703
+#457 := (or #591 #416)
+#458 := [th-lemma]: #457
+#449 := [unit-resolution #458 #464]: #416
+#598 := (or #624 #591)
+#544 := [def-axiom]: #598
+#459 := [unit-resolution #544 #464]: #624
+#440 := [unit-resolution #477 #459]: #682
+#441 := [unit-resolution #468 #440]: #605
+#442 := [th-lemma #441 #507 #449 #448]: false
+#434 := [lemma #442]: #425
+#412 := (or #444 #499)
+#188 := (= #187 0::int)
+#191 := (not #188)
+#41 := (* #40 1::int)
+#43 := (+ #41 #42)
+#44 := (= f5 #43)
+#45 := (not #44)
+#194 := (iff #45 #191)
+#175 := (+ #40 #42)
+#178 := (= f5 #175)
+#181 := (not #178)
+#192 := (iff #181 #191)
+#189 := (iff #178 #188)
+#190 := [rewrite]: #189
+#193 := [monotonicity #190]: #192
+#182 := (iff #45 #181)
+#179 := (iff #44 #178)
+#176 := (= #43 #175)
+#173 := (= #41 #40)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [monotonicity #180]: #182
+#195 := [trans #183 #193]: #194
+#172 := [asserted]: #45
+#196 := [mp #172 #195]: #191
+#435 := (or #188 #444 #499)
+#445 := [th-lemma]: #435
+#414 := [unit-resolution #445 #196]: #412
+#415 := [unit-resolution #414 #434]: #444
+#406 := [hypothesis]: #600
+#419 := [hypothesis]: #692
+#423 := (or #420 #421 #341 #422)
+#413 := [th-lemma]: #423
+#424 := [unit-resolution #413 #419 #406 #415]: #420
+#407 := (or #497 #443)
+#409 := [th-lemma]: #407
+#410 := [unit-resolution #409 #424 #495]: false
+#391 := [lemma #410]: #389
+#399 := [unit-resolution #391 #398]: #422
+#400 := (or #684 #692)
+#401 := [th-lemma]: #400
+#390 := [unit-resolution #401 #399]: #684
+#402 := [unit-resolution #686 #390 #485]: #537
+#383 := [unit-resolution #705 #402]: #405
+#385 := [unit-resolution #536 #402]: #416
+#386 := [unit-resolution #479 #385 #383 #493]: false
+#384 := [lemma #386]: #753
+#387 := [unit-resolution #465 #384]: #752
+#375 := (or #688 #704)
+#377 := [th-lemma]: #375
+#378 := [unit-resolution #377 #387]: #704
+#381 := (or #591 #405)
+#376 := [th-lemma]: #381
+#382 := [unit-resolution #376 #384]: #405
+#357 := [unit-resolution #544 #384]: #624
+#361 := [unit-resolution #477 #357]: #682
+#362 := [unit-resolution #397 #361]: #600
+[th-lemma #362 #415 #382 #378]: false
+unsat
+4430e10faf73890f8c5bda98e96917fa68c9efff 549 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#39 := 3::int
+decl f5 :: int
+#38 := f5
+#40 := (f3 f5 3::int)
+#703 := (>= #40 0::int)
+#754 := (= #40 0::int)
+#750 := (= f5 0::int)
+#690 := (not #750)
+#562 := [hypothesis]: #690
+#745 := (>= f5 0::int)
+#751 := (<= f5 0::int)
+#453 := (not #751)
+#377 := (not #745)
+#456 := (or #377 #453)
+#706 := (not #456)
+#185 := -3::int
+#69 := -1::int
+#430 := (* -1::int f5)
+#450 := (div #430 -3::int)
+#725 := (* -1::int #450)
+#440 := (+ #40 #725)
+#720 := (= #440 0::int)
+#434 := (div f5 3::int)
+#431 := (* -1::int #434)
+#435 := (+ #40 #431)
+#414 := (= #435 0::int)
+#718 := (ite #456 #414 #720)
+#564 := (or #750 #718)
+#723 := (ite #750 #754 #718)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#757 := (pattern #10)
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#259 := (* -1::int #76)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#214 := (or #91 #95)
+#215 := (not #214)
+#102 := (>= #8 0::int)
+#206 := (or #95 #102)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#758 := (forall (vars (?v0 int) (?v1 int)) (:pat #757) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#761 := (iff #266 #758)
+#759 := (iff #263 #263)
+#760 := [refl]: #759
+#762 := [quant-intro #760]: #761
+#226 := (ite #221 #21 #76)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#236 := (iff #121 #235)
+#233 := (iff #118 #232)
+#230 := (= #115 #229)
+#227 := (= #112 #226)
+#224 := (iff #109 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #109 #218)
+#216 := (iff #106 #207)
+#217 := [rewrite]: #216
+#204 := (iff #99 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #121 #121)
+#208 := (~ #118 #118)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#201 := [mp~ #126 #211]: #121
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#763 := [mp #269 #762]: #758
+#714 := (not #758)
+#709 := (or #714 #723)
+#429 := (* -1::int 3::int)
+#421 := (div #430 #429)
+#432 := (* -1::int #421)
+#433 := (+ #40 #432)
+#361 := (= #433 0::int)
+#749 := (<= 3::int 0::int)
+#408 := (or #751 #749)
+#538 := (not #408)
+#419 := (or #749 #745)
+#420 := (not #419)
+#752 := (or #420 #538)
+#753 := (ite #752 #414 #361)
+#755 := (= 3::int 0::int)
+#756 := (or #750 #755)
+#746 := (ite #756 #754 #753)
+#710 := (or #714 #746)
+#716 := (iff #710 #709)
+#717 := (iff #709 #709)
+#558 := [rewrite]: #717
+#712 := (iff #746 #723)
+#722 := (iff #753 #718)
+#721 := (iff #361 #720)
+#441 := (= #433 #440)
+#729 := (= #432 #725)
+#724 := (= #421 #450)
+#727 := (= #429 -3::int)
+#449 := [rewrite]: #727
+#728 := [monotonicity #449]: #724
+#439 := [monotonicity #728]: #729
+#442 := [monotonicity #439]: #441
+#436 := [monotonicity #442]: #721
+#349 := (iff #752 #456)
+#454 := (iff #538 #453)
+#730 := (iff #408 #751)
+#382 := (or #751 false)
+#741 := (iff #382 #751)
+#744 := [rewrite]: #741
+#383 := (iff #408 #382)
+#397 := (iff #749 false)
+#398 := [rewrite]: #397
+#743 := [monotonicity #398]: #383
+#731 := [trans #743 #744]: #730
+#455 := [monotonicity #731]: #454
+#740 := (iff #420 #377)
+#733 := (iff #419 #745)
+#734 := (or false #745)
+#737 := (iff #734 #745)
+#738 := [rewrite]: #737
+#735 := (iff #419 #734)
+#736 := [monotonicity #398]: #735
+#739 := [trans #736 #738]: #733
+#742 := [monotonicity #739]: #740
+#726 := [monotonicity #742 #455]: #349
+#719 := [monotonicity #726 #436]: #722
+#395 := (iff #756 #750)
+#747 := (or #750 false)
+#391 := (iff #747 #750)
+#732 := [rewrite]: #391
+#407 := (iff #756 #747)
+#406 := (iff #755 false)
+#411 := [rewrite]: #406
+#748 := [monotonicity #411]: #407
+#396 := [trans #748 #732]: #395
+#713 := [monotonicity #396 #719]: #712
+#711 := [monotonicity #713]: #716
+#559 := [trans #711 #558]: #716
+#715 := [quant-inst]: #710
+#560 := [mp #715 #559]: #709
+#563 := [unit-resolution #560 #763]: #723
+#687 := (not #723)
+#592 := (or #687 #750 #718)
+#593 := [def-axiom]: #592
+#565 := [unit-resolution #593 #563]: #564
+#566 := [unit-resolution #565 #562]: #718
+#540 := (mod #430 -3::int)
+decl f4 :: (-> int int int)
+#42 := (f4 f5 3::int)
+#685 := (+ #42 #540)
+#676 := (= #685 0::int)
+#708 := (mod f5 3::int)
+#692 := (* -1::int #708)
+#679 := (+ #42 #692)
+#681 := (= #679 0::int)
+#678 := (ite #456 #681 #676)
+#525 := (or #750 #678)
+#670 := (= #42 0::int)
+#665 := (ite #750 #670 #678)
+#29 := (f4 #8 #9)
+#764 := (pattern #29)
+#128 := (mod #70 #73)
+#275 := (+ #29 #128)
+#276 := (= #275 0::int)
+#30 := (mod #8 #9)
+#272 := (* -1::int #30)
+#273 := (+ #29 #272)
+#274 := (= #273 0::int)
+#277 := (ite #221 #274 #276)
+#271 := (= #29 0::int)
+#278 := (ite #12 #271 #277)
+#270 := (= #8 #29)
+#279 := (ite #13 #270 #278)
+#765 := (forall (vars (?v0 int) (?v1 int)) (:pat #764) #279)
+#282 := (forall (vars (?v0 int) (?v1 int)) #279)
+#768 := (iff #282 #765)
+#766 := (iff #279 #279)
+#767 := [refl]: #766
+#769 := [quant-intro #767]: #768
+#134 := (* -1::int #128)
+#239 := (ite #221 #30 #134)
+#242 := (ite #12 0::int #239)
+#245 := (ite #13 #8 #242)
+#248 := (= #29 #245)
+#251 := (forall (vars (?v0 int) (?v1 int)) #248)
+#283 := (iff #251 #282)
+#280 := (iff #248 #279)
+#281 := [rewrite]: #280
+#284 := [quant-intro #281]: #283
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#252 := (iff #166 #251)
+#249 := (iff #163 #248)
+#246 := (= #160 #245)
+#243 := (= #157 #242)
+#240 := (= #154 #239)
+#241 := [monotonicity #225]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [quant-intro #250]: #252
+#202 := (~ #166 #166)
+#199 := (~ #163 #163)
+#212 := [refl]: #199
+#203 := [nnf-pos #212]: #202
+#31 := (mod #22 #23)
+#32 := (- #31)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#213 := [mp~ #171 #203]: #166
+#254 := [mp #213 #253]: #251
+#285 := [mp #254 #284]: #282
+#770 := [mp #285 #769]: #765
+#660 := (not #765)
+#657 := (or #660 #665)
+#598 := (mod #430 #429)
+#691 := (+ #42 #598)
+#688 := (= #691 0::int)
+#673 := (ite #752 #681 #688)
+#672 := (ite #750 #670 #673)
+#682 := (= f5 #42)
+#683 := (ite #755 #682 #672)
+#661 := (or #660 #683)
+#642 := (iff #661 #657)
+#645 := (iff #657 #657)
+#646 := [rewrite]: #645
+#658 := (iff #683 #665)
+#668 := (ite false #682 #665)
+#655 := (iff #668 #665)
+#656 := [rewrite]: #655
+#664 := (iff #683 #668)
+#666 := (iff #672 #665)
+#662 := (iff #673 #678)
+#677 := (iff #688 #676)
+#674 := (= #691 #685)
+#684 := (= #598 #540)
+#680 := [monotonicity #449]: #684
+#675 := [monotonicity #680]: #674
+#671 := [monotonicity #675]: #677
+#663 := [monotonicity #726 #671]: #662
+#667 := [monotonicity #663]: #666
+#669 := [monotonicity #411 #667]: #664
+#659 := [trans #669 #656]: #658
+#644 := [monotonicity #659]: #642
+#647 := [trans #644 #646]: #642
+#641 := [quant-inst]: #661
+#648 := [mp #641 #647]: #657
+#621 := [unit-resolution #648 #770]: #665
+#622 := (not #665)
+#627 := (or #622 #750 #678)
+#628 := [def-axiom]: #627
+#526 := [unit-resolution #628 #621]: #525
+#527 := [unit-resolution #526 #562]: #678
+#696 := (not #718)
+#654 := (not #678)
+#491 := (or #706 #654 #696)
+#652 := (>= #679 0::int)
+#567 := [hypothesis]: #678
+#568 := [hypothesis]: #456
+#632 := (or #654 #706 #681)
+#633 := [def-axiom]: #632
+#569 := [unit-resolution #633 #568 #567]: #681
+#637 := (not #681)
+#493 := (or #637 #652)
+#495 := [th-lemma]: #493
+#496 := [unit-resolution #495 #569]: #652
+#539 := (>= #435 0::int)
+#549 := [hypothesis]: #718
+#697 := (or #696 #706 #414)
+#695 := [def-axiom]: #697
+#550 := [unit-resolution #695 #568 #549]: #414
+#581 := (not #414)
+#494 := (or #581 #539)
+#497 := [th-lemma]: #494
+#479 := [unit-resolution #497 #550]: #539
+#187 := (* -1::int #42)
+#186 := (* -3::int #40)
+#188 := (+ #186 #187)
+#189 := (+ f5 #188)
+#343 := (<= #189 0::int)
+#481 := (not #343)
+#428 := (>= #189 0::int)
+#557 := (not #428)
+#573 := [hypothesis]: #557
+#533 := (or #750 #428)
+#554 := (or #706 #428 #654 #696)
+#651 := (<= #679 0::int)
+#570 := (or #637 #651)
+#571 := [th-lemma]: #570
+#572 := [unit-resolution #571 #569]: #651
+#615 := (* -3::int #434)
+#618 := (+ #615 #692)
+#619 := (+ f5 #618)
+#601 := (>= #619 0::int)
+#614 := (= #619 0::int)
+#1 := true
+#60 := [true-axiom]: true
+#534 := (or false #614)
+#535 := [th-lemma]: #534
+#542 := [unit-resolution #535 #60]: #614
+#544 := (not #614)
+#545 := (or #544 #601)
+#546 := [th-lemma]: #545
+#548 := [unit-resolution #546 #542]: #601
+#537 := (<= #435 0::int)
+#551 := (or #581 #537)
+#552 := [th-lemma]: #551
+#553 := [unit-resolution #552 #550]: #537
+#536 := [th-lemma #553 #548 #573 #572]: false
+#524 := [lemma #536]: #554
+#529 := [unit-resolution #524 #527 #573 #566]: #706
+#704 := (or #456 #745)
+#705 := [def-axiom]: #704
+#530 := [unit-resolution #705 #529]: #745
+#699 := (or #456 #751)
+#700 := [def-axiom]: #699
+#531 := [unit-resolution #700 #529]: #751
+#374 := (or #750 #453 #377)
+#532 := [th-lemma]: #374
+#528 := [unit-resolution #532 #531 #530 #562]: false
+#512 := [lemma #528]: #533
+#515 := [unit-resolution #512 #573]: #750
+#519 := (or #690 #745)
+#521 := [th-lemma]: #519
+#522 := [unit-resolution #521 #515]: #745
+#649 := (<= #42 0::int)
+#520 := (or #690 #670)
+#623 := (or #622 #690 #670)
+#624 := [def-axiom]: #623
+#523 := [unit-resolution #624 #621]: #520
+#511 := [unit-resolution #523 #515]: #670
+#629 := (not #670)
+#514 := (or #629 #649)
+#516 := [th-lemma]: #514
+#517 := [unit-resolution #516 #511]: #649
+#702 := (<= #40 0::int)
+#513 := (or #690 #754)
+#575 := (or #687 #690 #754)
+#590 := [def-axiom]: #575
+#518 := [unit-resolution #590 #563]: #513
+#508 := [unit-resolution #518 #515]: #754
+#586 := (not #754)
+#498 := (or #586 #702)
+#500 := [th-lemma]: #498
+#501 := [unit-resolution #500 #508]: #702
+#504 := [th-lemma #501 #517 #573 #522]: false
+#505 := [lemma #504]: #428
+#484 := (or #481 #557)
+#190 := (= #189 0::int)
+#193 := (not #190)
+#41 := (* #40 3::int)
+#43 := (+ #41 #42)
+#44 := (= f5 #43)
+#45 := (not #44)
+#196 := (iff #45 #193)
+#173 := (* 3::int #40)
+#176 := (+ #173 #42)
+#179 := (= f5 #176)
+#182 := (not #179)
+#194 := (iff #182 #193)
+#191 := (iff #179 #190)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#183 := (iff #45 #182)
+#180 := (iff #44 #179)
+#177 := (= #43 #176)
+#174 := (= #41 #173)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [monotonicity #181]: #183
+#197 := [trans #184 #195]: #196
+#172 := [asserted]: #45
+#198 := [mp #172 #197]: #193
+#482 := (or #190 #481 #557)
+#483 := [th-lemma]: #482
+#485 := [unit-resolution #483 #198]: #484
+#486 := [unit-resolution #485 #505]: #481
+#509 := (<= #619 0::int)
+#487 := (or #544 #509)
+#488 := [th-lemma]: #487
+#489 := [unit-resolution #488 #542]: #509
+#490 := [th-lemma #489 #486 #479 #496]: false
+#480 := [lemma #490]: #491
+#502 := [unit-resolution #480 #527 #566]: #706
+#510 := [unit-resolution #705 #502]: #745
+#503 := [unit-resolution #700 #502]: #751
+#506 := [unit-resolution #532 #503 #510 #562]: false
+#507 := [lemma #506]: #750
+#492 := [unit-resolution #518 #507]: #754
+#469 := (or #586 #703)
+#471 := [th-lemma]: #469
+#472 := [unit-resolution #471 #492]: #703
+#650 := (>= #42 0::int)
+#473 := [unit-resolution #523 #507]: #670
+#474 := (or #629 #650)
+#475 := [th-lemma]: #474
+#476 := [unit-resolution #475 #473]: #650
+#477 := (or #690 #751)
+#470 := [th-lemma]: #477
+#478 := [unit-resolution #470 #507]: #751
+[th-lemma #478 #476 #486 #472]: false
+unsat
--- a/src/HOL/SMT_Examples/SMT_Tests.thy	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Tests.thy	Thu May 27 14:55:53 2010 +0200
@@ -281,7 +281,7 @@
   "(3::nat) div 3 = 1"
   "(x::nat) div 3 \<le> x"
   "(x div 3 = x) = (x = 0)"
-  sorry (* FIXME: div/mod *)
+  by smt+
 
 lemma
   "(0::nat) mod 0 = 0"
@@ -295,12 +295,12 @@
   "(3::nat) mod 3 = 0"
   "x mod 3 < 3"
   "(x mod 3 = x) = (x < 3)"
-  sorry (* FIXME: div/mod *)
+  by smt+
 
 lemma
   "(x::nat) = x div 1 * 1 + x mod 1"
   "x = x div 3 * 3 + x mod 3"
-  sorry (* FIXME: div/mod *)
+  by smt+
 
 lemma
   "min (x::nat) y \<le> x"
@@ -388,8 +388,6 @@
   "3 * x = x * 3"
   by smt+
 
-(* FIXME: consider different cases of signs
-
 lemma
   "(0::int) div 0 = 0"
   "(x::int) div 0 = 0"
@@ -397,10 +395,24 @@
   "(1::int) div 1 = 1"
   "(3::int) div 1 = 3"
   "(x::int) div 1 = x"
+  "(0::int) div -1 = 0"
+  "(1::int) div -1 = -1"
+  "(3::int) div -1 = -3"
+  "(x::int) div -1 = -x"
   "(0::int) div 3 = 0"
+  "(0::int) div -3 = 0"
   "(1::int) div 3 = 0"
   "(3::int) div 3 = 1"
-  "(0::int) div -3 = 0"
+  "(5::int) div 3 = 1"
+  "(1::int) div -3 = -1"
+  "(3::int) div -3 = -1"
+  "(5::int) div -3 = -2"
+  "(-1::int) div 3 = -1"
+  "(-3::int) div 3 = -1"
+  "(-5::int) div 3 = -2"
+  "(-1::int) div -3 = 0"
+  "(-3::int) div -3 = 1"
+  "(-5::int) div -3 = 1"
   by smt+
 
 lemma
@@ -409,19 +421,33 @@
   "(0::int) mod 1 = 0"
   "(1::int) mod 1 = 0"
   "(3::int) mod 1 = 0"
-  "x mod 1 = 0"
+  "(x::int) mod 1 = 0"
+  "(0::int) mod -1 = 0"
+  "(1::int) mod -1 = 0"
+  "(3::int) mod -1 = 0"
+  "(x::int) mod -1 = 0"
   "(0::int) mod 3 = 0"
+  "(0::int) mod -3 = 0"
   "(1::int) mod 3 = 1"
   "(3::int) mod 3 = 0"
+  "(5::int) mod 3 = 2"
+  "(1::int) mod -3 = -2"
+  "(3::int) mod -3 = 0"
+  "(5::int) mod -3 = -1"
+  "(-1::int) mod 3 = 2"
+  "(-3::int) mod 3 = 0"
+  "(-5::int) mod 3 = 1"
+  "(-1::int) mod -3 = -1"
+  "(-3::int) mod -3 = 0"
+  "(-5::int) mod -3 = -2"
   "x mod 3 < 3"
-  "(x mod 3 = x) = (x < 3)"
+  "(x mod 3 = x) \<longrightarrow> (x < 3)"
   by smt+
 
 lemma
   "(x::int) = x div 1 * 1 + x mod 1"
   "x = x div 3 * 3 + x mod 3"
   by smt+
-*)
 
 lemma
   "abs (x::int) \<ge> 0"
--- a/src/HOL/Tools/SMT/z3_interface.ML	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/Tools/SMT/z3_interface.ML	Thu May 27 14:55:53 2010 +0200
@@ -70,7 +70,20 @@
   val {is_builtin_pred, ...}= the strict
   val {builtin_typ, builtin_num, builtin_fun} = builtins
 
-  val z3_builtin_fun' = z3_builtin_fun builtin_fun
+  fun is_int_div_mod @{term "op div :: int => _"} = true
+    | is_int_div_mod @{term "op mod :: int => _"} = true
+    | is_int_div_mod _ = false
+
+  fun add_div_mod thms =
+    if exists (Term.exists_subterm is_int_div_mod o Thm.prop_of) thms
+    then [@{thm div_by_z3div}, @{thm mod_by_z3mod}] @ thms
+    else thms
+
+  fun extra_norm' thms = extra_norm (add_div_mod thms)
+
+  fun z3_builtin_fun' _ (@{const_name z3div}, _) ts = SOME ("div", ts)
+    | z3_builtin_fun' _ (@{const_name z3mod}, _) ts = SOME ("mod", ts)
+    | z3_builtin_fun' ctxt c ts = z3_builtin_fun builtin_fun ctxt c ts
 
   val as_propT = (fn @{typ bool} => @{typ prop} | T => T)
 in
@@ -82,7 +95,7 @@
   is_builtin_pred ctxt (n, Term.strip_type T ||> as_propT |> (op --->))
 
 val interface = {
-  extra_norm = extra_norm,
+  extra_norm = extra_norm',
   translate = {
     prefixes = prefixes,
     strict = strict,
@@ -193,6 +206,8 @@
 val mk_add = Thm.mk_binop @{cterm "op + :: int => _"}
 val mk_sub = Thm.mk_binop @{cterm "op - :: int => _"}
 val mk_mul = Thm.mk_binop @{cterm "op * :: int => _"}
+val mk_div = Thm.mk_binop @{cterm "z3div :: int => _"}
+val mk_mod = Thm.mk_binop @{cterm "z3mod :: int => _"}
 val mk_lt = Thm.mk_binop @{cterm "op < :: int => _"}
 val mk_le = Thm.mk_binop @{cterm "op <= :: int => _"}
 
@@ -218,6 +233,8 @@
     | (Sym ("-", _), SOME @{typ int}, [ct]) => SOME (mk_uminus ct)
     | (Sym ("-", _), SOME @{typ int}, [ct, cu]) => SOME (mk_sub ct cu)
     | (Sym ("*", _), SOME @{typ int}, [ct, cu]) => SOME (mk_mul ct cu)
+    | (Sym ("div", _), SOME @{typ int}, [ct, cu]) => SOME (mk_div ct cu)
+    | (Sym ("mod", _), SOME @{typ int}, [ct, cu]) => SOME (mk_mod ct cu)
     | (Sym ("<", _), SOME @{typ int}, [ct, cu]) => SOME (mk_lt ct cu)
     | (Sym ("<=", _), SOME @{typ int}, [ct, cu]) => SOME (mk_le ct cu)
     | (Sym (">", _), SOME @{typ int}, [ct, cu]) => SOME (mk_lt cu ct)
--- a/src/HOL/Tools/SMT/z3_proof_tools.ML	Thu May 27 14:54:13 2010 +0200
+++ b/src/HOL/Tools/SMT/z3_proof_tools.ML	Thu May 27 14:55:53 2010 +0200
@@ -321,6 +321,7 @@
     addsimps @{thms minus_bin_simps} addsimps @{thms pred_bin_simps}
     addsimps @{thms mult_bin_simps} addsimps @{thms iszero_simps}
     addsimps @{thms array_rules}
+    addsimps @{thms z3div_def} addsimps @{thms z3mod_def}
     addsimprocs [
       Simplifier.simproc @{theory} "fast_int_arith" [
         "(m::int) < n", "(m::int) <= n", "(m::int) = n"] (K Lin_Arith.simproc),