# HG changeset patch # User boehmes # Date 1274964953 -7200 # Node ID 3e9e8dfb3c98024a25afc8f595efd4abe449ad5b # Parent 73e738371c9041a3bc06b77918b0f5df1922d499 use Z3's builtin support for div and mod diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/SMT.thy --- 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 \ int \ int" where + "z3div k l = (if 0 \ l then k div l else -(k div (-l)))" + +definition z3mod :: "int \ int \ int" where + "z3mod k l = (if 0 \ l then k mod l else k mod (-l))" + +lemma div_by_z3div: "k div l = ( + if k = 0 \ l = 0 then 0 + else if (0 < k \ 0 < l) \ (k < 0 \ 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 \ 0 < l) \ (k < 0 \ 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 diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/SMT_Examples/SMT_Examples.certs --- 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 diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/SMT_Examples/SMT_Examples.thy --- 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 \ False \ P" by smt -lemma "x + (let y = x mod 2 in 2 * y + 1) \ x + (1::int)" - sorry (* FIXME: div/mod *) +lemma "x + (let y = x mod 2 in 2 * y + 1) \ 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 \ (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 (\x. x mod 2) xs) mod 2 = l mod 2 \ eval_dioph ks (map (\x. x div 2) xs) = (l - eval_dioph ks (map (\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 *} diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/SMT_Examples/SMT_Tests.certs --- 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 diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/SMT_Examples/SMT_Tests.thy --- 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 \ 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 \ 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) \ (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) \ 0" diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/Tools/SMT/z3_interface.ML --- 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) diff -r 73e738371c90 -r 3e9e8dfb3c98 src/HOL/Tools/SMT/z3_proof_tools.ML --- 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),