# HG changeset patch # User blanchet # Date 1394713093 -3600 # Node ID 175ac95720d4ea8fa3444e0dc076f112f79cdd4c # Parent 624faeda77b5679ca7cd77b1287d4b317a2ac720 use 'smt2' in SMT examples as much as currently possible diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/ROOT --- a/src/HOL/ROOT Thu Mar 13 13:18:13 2014 +0100 +++ b/src/HOL/ROOT Thu Mar 13 13:18:13 2014 +0100 @@ -777,7 +777,8 @@ "Boogie_Dijkstra.certs" "Boogie_Max.certs" "SMT_Examples.certs" - "SMT_Word_Examples.certs" + "SMT_Examples.certs2" + "SMT_Word_Examples.certs2" "VCC_Max.certs" session "HOL-SPARK" (main) in "SPARK" = "HOL-Word" + diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Examples.certs --- a/src/HOL/SMT_Examples/SMT_Examples.certs Thu Mar 13 13:18:13 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Examples.certs Thu Mar 13 13:18:13 2014 +0100 @@ -1,669 +1,3 @@ -23d01cdabb599769b54210e40617eea3d6c91e30 8 0 -#2 := false -#1 := true -#7 := (not true) -#29 := (iff #7 false) -#30 := [rewrite]: #29 -#28 := [asserted]: #7 -[mp #28 #30]: false -unsat -22e23526a38d50ce23abbe4dbfb697891cbcd840 22 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -#9 := (not #8) -#10 := (or #8 #9) -#11 := (not #10) -#40 := (iff #11 false) -#1 := true -#35 := (not true) -#38 := (iff #35 false) -#39 := [rewrite]: #38 -#36 := (iff #11 #35) -#33 := (iff #10 true) -#34 := [rewrite]: #33 -#37 := [monotonicity #34]: #36 -#41 := [trans #37 #39]: #40 -#32 := [asserted]: #11 -[mp #32 #41]: false -unsat -121552dd328e0993a2c6099c592d9c3db7fff190 28 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -#1 := true -#9 := (and #8 true) -#10 := (iff #9 #8) -#11 := (not #10) -#46 := (iff #11 false) -#41 := (not true) -#44 := (iff #41 false) -#45 := [rewrite]: #44 -#42 := (iff #11 #41) -#39 := (iff #10 true) -#34 := (iff #8 #8) -#37 := (iff #34 true) -#38 := [rewrite]: #37 -#35 := (iff #10 #34) -#33 := [rewrite]: #10 -#36 := [monotonicity #33]: #35 -#40 := [trans #36 #38]: #39 -#43 := [monotonicity #40]: #42 -#47 := [trans #43 #45]: #46 -#32 := [asserted]: #11 -[mp #32 #47]: false -unsat -263480c8c5909524c36f6198f60c623fbcfc953d 41 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f4 :: S1 -#9 := f4 -#10 := (= f4 f1) -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -#11 := (or #8 #10) -#64 := (iff #11 false) -#59 := (or false false) -#62 := (iff #59 false) -#63 := [rewrite]: #62 -#60 := (iff #11 #59) -#57 := (iff #10 false) -#48 := (not #10) -#12 := (not #8) -#13 := (and #11 #12) -#37 := (not #13) -#38 := (or #37 #10) -#41 := (not #38) -#14 := (implies #13 #10) -#15 := (not #14) -#42 := (iff #15 #41) -#39 := (iff #14 #38) -#40 := [rewrite]: #39 -#43 := [monotonicity #40]: #42 -#36 := [asserted]: #15 -#46 := [mp #36 #43]: #41 -#49 := [not-or-elim #46]: #48 -#58 := [iff-false #49]: #57 -#55 := (iff #8 false) -#44 := [not-or-elim #46]: #13 -#47 := [and-elim #44]: #12 -#56 := [iff-false #47]: #55 -#61 := [monotonicity #56 #58]: #60 -#65 := [trans #61 #63]: #64 -#45 := [and-elim #44]: #11 -[mp #45 #65]: false -unsat -79d9d246dd9d27e03e8f1ea895e790f3a4420bfd 55 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -decl f5 :: S1 -#12 := f5 -#13 := (= f5 f1) -#16 := (and #8 #13) -decl f4 :: S1 -#9 := f4 -#10 := (= f4 f1) -#15 := (and #13 #10) -#17 := (or #15 #16) -#18 := (implies #8 #17) -#19 := (or #18 #8) -#11 := (and #8 #10) -#14 := (or #11 #13) -#20 := (implies #14 #19) -#21 := (not #20) -#71 := (iff #21 false) -#43 := (not #8) -#44 := (or #43 #17) -#47 := (or #44 #8) -#53 := (not #14) -#54 := (or #53 #47) -#59 := (not #54) -#69 := (iff #59 false) -#1 := true -#64 := (not true) -#67 := (iff #64 false) -#68 := [rewrite]: #67 -#65 := (iff #59 #64) -#62 := (iff #54 true) -#63 := [rewrite]: #62 -#66 := [monotonicity #63]: #65 -#70 := [trans #66 #68]: #69 -#60 := (iff #21 #59) -#57 := (iff #20 #54) -#50 := (implies #14 #47) -#55 := (iff #50 #54) -#56 := [rewrite]: #55 -#51 := (iff #20 #50) -#48 := (iff #19 #47) -#45 := (iff #18 #44) -#46 := [rewrite]: #45 -#49 := [monotonicity #46]: #48 -#52 := [monotonicity #49]: #51 -#58 := [trans #52 #56]: #57 -#61 := [monotonicity #58]: #60 -#72 := [trans #61 #70]: #71 -#42 := [asserted]: #21 -[mp #42 #72]: false -unsat -050883983ebe99dc3b7f24a011b1724b1b2c4dd9 33 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f6 :: S1 -#14 := f6 -#15 := (= f6 f1) -decl f5 :: S1 -#12 := f5 -#13 := (= f5 f1) -#16 := (and #13 #15) -decl f4 :: S1 -#9 := f4 -#10 := (= f4 f1) -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -#11 := (and #8 #10) -#17 := (or #11 #16) -#18 := (implies #17 #17) -#19 := (not #18) -#48 := (iff #19 false) -#1 := true -#43 := (not true) -#46 := (iff #43 false) -#47 := [rewrite]: #46 -#44 := (iff #19 #43) -#41 := (iff #18 true) -#42 := [rewrite]: #41 -#45 := [monotonicity #42]: #44 -#49 := [trans #45 #47]: #48 -#40 := [asserted]: #19 -[mp #40 #49]: false -unsat -8575241c64c02491d277f6598ca57e576f5a6b45 60 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -#9 := (iff #8 #8) -#10 := (iff #9 #8) -#11 := (iff #10 #8) -#12 := (iff #11 #8) -#13 := (iff #12 #8) -#14 := (iff #13 #8) -#15 := (iff #14 #8) -#16 := (iff #15 #8) -#17 := (iff #16 #8) -#18 := (not #17) -#78 := (iff #18 false) -#1 := true -#73 := (not true) -#76 := (iff #73 false) -#77 := [rewrite]: #76 -#74 := (iff #18 #73) -#71 := (iff #17 true) -#40 := (iff #9 true) -#41 := [rewrite]: #40 -#69 := (iff #17 #9) -#42 := (iff true #8) -#45 := (iff #42 #8) -#46 := [rewrite]: #45 -#66 := (iff #16 #42) -#64 := (iff #15 true) -#62 := (iff #15 #9) -#59 := (iff #14 #42) -#57 := (iff #13 true) -#55 := (iff #13 #9) -#52 := (iff #12 #42) -#50 := (iff #11 true) -#48 := (iff #11 #9) -#43 := (iff #10 #42) -#44 := [monotonicity #41]: #43 -#47 := [trans #44 #46]: #11 -#49 := [monotonicity #47]: #48 -#51 := [trans #49 #41]: #50 -#53 := [monotonicity #51]: #52 -#54 := [trans #53 #46]: #13 -#56 := [monotonicity #54]: #55 -#58 := [trans #56 #41]: #57 -#60 := [monotonicity #58]: #59 -#61 := [trans #60 #46]: #15 -#63 := [monotonicity #61]: #62 -#65 := [trans #63 #41]: #64 -#67 := [monotonicity #65]: #66 -#68 := [trans #67 #46]: #17 -#70 := [monotonicity #68]: #69 -#72 := [trans #70 #41]: #71 -#75 := [monotonicity #72]: #74 -#79 := [trans #75 #77]: #78 -#39 := [asserted]: #18 -[mp #39 #79]: false -unsat -8434421285df70a7e1728b19173d86303151090b 165 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f6 :: S1 -#13 := f6 -#14 := (= f6 f1) -decl f5 :: S1 -#11 := f5 -#12 := (= f5 f1) -decl f4 :: S1 -#9 := f4 -#10 := (= f4 f1) -decl f3 :: S1 -#7 := f3 -#8 := (= f3 f1) -#75 := (or #8 #10 #12 #14) -#215 := (iff #75 false) -#210 := (or false false false false) -#213 := (iff #210 false) -#214 := [rewrite]: #213 -#211 := (iff #75 #210) -#167 := (iff #14 false) -#119 := (not #14) -#122 := (or #119 #12) -#175 := (iff #122 #119) -#170 := (or #119 false) -#173 := (iff #170 #119) -#174 := [rewrite]: #173 -#171 := (iff #122 #170) -#168 := (iff #12 false) -#25 := (not #12) -decl f11 :: S1 -#43 := f11 -#44 := (= f11 f1) -#45 := (not #44) -#46 := (and #44 #45) -decl f10 :: S1 -#40 := f10 -#41 := (= f10 f1) -#47 := (or #41 #46) -#42 := (not #41) -#48 := (and #42 #47) -#49 := (or #12 #48) -#50 := (not #49) -#150 := (iff #50 #25) -#148 := (iff #49 #12) -#143 := (or #12 false) -#146 := (iff #143 #12) -#147 := [rewrite]: #146 -#144 := (iff #49 #143) -#141 := (iff #48 false) -#136 := (and #42 #41) -#139 := (iff #136 false) -#140 := [rewrite]: #139 -#137 := (iff #48 #136) -#134 := (iff #47 #41) -#129 := (or #41 false) -#132 := (iff #129 #41) -#133 := [rewrite]: #132 -#130 := (iff #47 #129) -#126 := (iff #46 false) -#128 := [rewrite]: #126 -#131 := [monotonicity #128]: #130 -#135 := [trans #131 #133]: #134 -#138 := [monotonicity #135]: #137 -#142 := [trans #138 #140]: #141 -#145 := [monotonicity #142]: #144 -#149 := [trans #145 #147]: #148 -#151 := [monotonicity #149]: #150 -#125 := [asserted]: #50 -#154 := [mp #125 #151]: #25 -#169 := [iff-false #154]: #168 -#172 := [monotonicity #169]: #171 -#176 := [trans #172 #174]: #175 -#37 := (or #14 false) -#38 := (not #37) -#39 := (or #38 #12) -#123 := (iff #39 #122) -#120 := (iff #38 #119) -#116 := (iff #37 #14) -#118 := [rewrite]: #116 -#121 := [monotonicity #118]: #120 -#124 := [monotonicity #121]: #123 -#115 := [asserted]: #39 -#127 := [mp #115 #124]: #122 -#166 := [mp #127 #176]: #119 -#177 := [iff-false #166]: #167 -#165 := (iff #10 false) -#109 := (not #10) -#112 := (or #109 #12) -#183 := (iff #112 #109) -#178 := (or #109 false) -#181 := (iff #178 #109) -#182 := [rewrite]: #181 -#179 := (iff #112 #178) -#180 := [monotonicity #169]: #179 -#184 := [trans #180 #182]: #183 -decl f9 :: S1 -#30 := f9 -#31 := (= f9 f1) -#32 := (not #31) -#33 := (or #31 #32) -#34 := (and #10 #33) -#35 := (not #34) -#36 := (or #35 #12) -#113 := (iff #36 #112) -#110 := (iff #35 #109) -#107 := (iff #34 #10) -#1 := true -#102 := (and #10 true) -#105 := (iff #102 #10) -#106 := [rewrite]: #105 -#103 := (iff #34 #102) -#99 := (iff #33 true) -#101 := [rewrite]: #99 -#104 := [monotonicity #101]: #103 -#108 := [trans #104 #106]: #107 -#111 := [monotonicity #108]: #110 -#114 := [monotonicity #111]: #113 -#98 := [asserted]: #36 -#117 := [mp #98 #114]: #112 -#164 := [mp #117 #184]: #109 -#185 := [iff-false #164]: #165 -#163 := (iff #8 false) -#92 := (not #8) -#95 := (or #92 #10) -#191 := (iff #95 #92) -#186 := (or #92 false) -#189 := (iff #186 #92) -#190 := [rewrite]: #189 -#187 := (iff #95 #186) -#188 := [monotonicity #185]: #187 -#192 := [trans #188 #190]: #191 -#26 := (and #12 #25) -#27 := (or #8 #26) -#28 := (not #27) -#29 := (or #28 #10) -#96 := (iff #29 #95) -#93 := (iff #28 #92) -#90 := (iff #27 #8) -#85 := (or #8 false) -#88 := (iff #85 #8) -#89 := [rewrite]: #88 -#86 := (iff #27 #85) -#79 := (iff #26 false) -#84 := [rewrite]: #79 -#87 := [monotonicity #84]: #86 -#91 := [trans #87 #89]: #90 -#94 := [monotonicity #91]: #93 -#97 := [monotonicity #94]: #96 -#74 := [asserted]: #29 -#100 := [mp #74 #97]: #95 -#162 := [mp #100 #192]: #92 -#193 := [iff-false #162]: #163 -#212 := [monotonicity #193 #185 #169 #177]: #211 -#216 := [trans #212 #214]: #215 -#15 := (or #12 #14) -#16 := (or #10 #15) -#17 := (or #8 #16) -#76 := (iff #17 #75) -#77 := [rewrite]: #76 -#72 := [asserted]: #17 -#78 := [mp #72 #77]: #75 -[mp #78 #216]: false -unsat -2571c5d0e3c2bb55fd62ced2ec0c2fd2a4870074 59 0 -#2 := false -decl f3 :: (-> S3 S2 S2) -decl f6 :: S2 -#16 := f6 -decl f4 :: (-> S4 S2 S3) -decl f7 :: S2 -#19 := f7 -decl f5 :: S4 -#7 := f5 -#21 := (f4 f5 f7) -#22 := (f3 #21 f6) -#18 := (f4 f5 f6) -#20 := (f3 #18 f7) -#23 := (= #20 #22) -#57 := (not #23) -#17 := (= f6 f6) -#24 := (and #17 #23) -#25 := (not #24) -#58 := (iff #25 #57) -#55 := (iff #24 #23) -#1 := true -#50 := (and true #23) -#53 := (iff #50 #23) -#54 := [rewrite]: #53 -#51 := (iff #24 #50) -#48 := (iff #17 true) -#49 := [rewrite]: #48 -#52 := [monotonicity #49]: #51 -#56 := [trans #52 #54]: #55 -#59 := [monotonicity #56]: #58 -#47 := [asserted]: #25 -#62 := [mp #47 #59]: #57 -#8 := (:var 1 S2) -#10 := (:var 0 S2) -#12 := (f4 f5 #10) -#13 := (f3 #12 #8) -#546 := (pattern #13) -#9 := (f4 f5 #8) -#11 := (f3 #9 #10) -#545 := (pattern #11) -#14 := (= #11 #13) -#547 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #545 #546) #14) -#15 := (forall (vars (?v0 S2) (?v1 S2)) #14) -#550 := (iff #15 #547) -#548 := (iff #14 #14) -#549 := [refl]: #548 -#551 := [quant-intro #549]: #550 -#70 := (~ #15 #15) -#68 := (~ #14 #14) -#69 := [refl]: #68 -#71 := [nnf-pos #69]: #70 -#46 := [asserted]: #15 -#61 := [mp~ #46 #71]: #15 -#552 := [mp #61 #551]: #547 -#130 := (not #547) -#216 := (or #130 #23) -#131 := [quant-inst #16 #19]: #216 -[unit-resolution #131 #552 #62]: false -unsat -53042978396971446eabf6039172bd47071e3fd3 67 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> Int S1) -decl ?v0!0 :: Int -#55 := ?v0!0 -#56 := (f3 ?v0!0) -#57 := (= #56 f1) -#58 := (not #57) -decl ?v1!1 :: Int -#66 := ?v1!1 -#67 := (f3 ?v1!1) -#68 := (= #67 f1) -#69 := (or #57 #68) -#70 := (not #69) -#86 := (and #57 #70) -#63 := (not #58) -#76 := (and #63 #70) -#87 := (iff #76 #86) -#84 := (iff #63 #57) -#85 := [rewrite]: #84 -#88 := [monotonicity #85]: #87 -#7 := (:var 0 Int) -#8 := (f3 #7) -#9 := (= #8 f1) -#10 := (:var 1 Int) -#11 := (f3 #10) -#12 := (= #11 f1) -#13 := (or #12 #9) -#14 := (forall (vars (?v1 Int)) #13) -#39 := (not #9) -#40 := (or #39 #14) -#43 := (forall (vars (?v0 Int)) #40) -#46 := (not #43) -#79 := (~ #46 #76) -#50 := (or #57 #9) -#52 := (forall (vars (?v1 Int)) #50) -#59 := (or #58 #52) -#60 := (not #59) -#77 := (~ #60 #76) -#71 := (not #52) -#72 := (~ #71 #70) -#73 := [sk]: #72 -#64 := (~ #63 #63) -#65 := [refl]: #64 -#78 := [nnf-neg #65 #73]: #77 -#61 := (~ #46 #60) -#62 := [sk]: #61 -#80 := [trans #62 #78]: #79 -#15 := (implies #9 #14) -#16 := (forall (vars (?v0 Int)) #15) -#17 := (not #16) -#47 := (iff #17 #46) -#44 := (iff #16 #43) -#41 := (iff #15 #40) -#42 := [rewrite]: #41 -#45 := [quant-intro #42]: #44 -#48 := [monotonicity #45]: #47 -#38 := [asserted]: #17 -#51 := [mp #38 #48]: #46 -#81 := [mp~ #51 #80]: #76 -#82 := [mp #81 #88]: #86 -#89 := [and-elim #82]: #70 -#90 := [not-or-elim #89]: #58 -#83 := [and-elim #82]: #57 -[unit-resolution #83 #90]: false -unsat -a69a9e8c5e31ec6b9da4cf96f47b52cf6b9404d9 117 0 -#2 := false -decl f3 :: (-> S3 S2 S1) -#10 := (:var 0 S2) -decl f4 :: (-> S4 S1 S3) -decl f6 :: S1 -#16 := f6 -decl f5 :: S4 -#7 := f5 -#17 := (f4 f5 f6) -#18 := (f3 #17 #10) -#573 := (pattern #18) -decl f1 :: S1 -#3 := f1 -#19 := (= #18 f1) -#76 := (not #19) -#574 := (forall (vars (?v0 S2)) (:pat #573) #76) -decl f7 :: S2 -#21 := f7 -#22 := (f3 #17 f7) -#23 := (= #22 f1) -#150 := (= f6 f1) -#151 := (iff #23 #150) -#8 := (:var 1 S1) -#9 := (f4 f5 #8) -#11 := (f3 #9 #10) -#566 := (pattern #11) -#13 := (= #8 f1) -#12 := (= #11 f1) -#14 := (iff #12 #13) -#567 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #566) #14) -#15 := (forall (vars (?v0 S1) (?v1 S2)) #14) -#570 := (iff #15 #567) -#568 := (iff #14 #14) -#569 := [refl]: #568 -#571 := [quant-intro #569]: #570 -#62 := (~ #15 #15) -#60 := (~ #14 #14) -#61 := [refl]: #60 -#63 := [nnf-pos #61]: #62 -#46 := [asserted]: #15 -#53 := [mp~ #46 #63]: #15 -#572 := [mp #53 #571]: #567 -#152 := (not #567) -#228 := (or #152 #151) -#561 := [quant-inst #16 #21]: #228 -#237 := [unit-resolution #561 #572]: #151 -decl ?v0!0 :: S2 -#66 := ?v0!0 -#67 := (f3 #17 ?v0!0) -#68 := (= #67 f1) -#236 := (iff #68 #150) -#238 := (or #152 #236) -#229 := [quant-inst #16 #66]: #238 -#227 := [unit-resolution #229 #572]: #236 -#240 := (not #236) -#199 := (or #240 #150) -#55 := (not #23) -#215 := [hypothesis]: #55 -#83 := (or #68 #23) -#79 := (forall (vars (?v0 S2)) #76) -#82 := (or #79 #55) -#84 := (and #83 #82) -#20 := (exists (vars (?v0 S2)) #19) -#48 := (not #20) -#49 := (iff #48 #23) -#85 := (~ #49 #84) -#57 := (~ #23 #23) -#65 := [refl]: #57 -#64 := (~ #55 #55) -#56 := [refl]: #64 -#80 := (~ #48 #79) -#77 := (~ #76 #76) -#78 := [refl]: #77 -#81 := [nnf-neg #78]: #80 -#73 := (not #48) -#74 := (~ #73 #68) -#69 := (~ #20 #68) -#70 := [sk]: #69 -#75 := [nnf-neg #70]: #74 -#86 := [nnf-pos #75 #81 #56 #65]: #85 -#24 := (iff #20 #23) -#25 := (not #24) -#50 := (iff #25 #49) -#51 := [rewrite]: #50 -#47 := [asserted]: #25 -#54 := [mp #47 #51]: #49 -#87 := [mp~ #54 #86]: #84 -#90 := [and-elim #87]: #83 -#557 := [unit-resolution #90 #215]: #68 -#243 := (not #68) -#222 := (or #240 #243 #150) -#558 := [def-axiom]: #222 -#541 := [unit-resolution #558 #557]: #199 -#203 := [unit-resolution #541 #227]: #150 -#241 := (not #150) -#562 := (not #151) -#204 := (or #562 #241) -#563 := (or #562 #23 #241) -#564 := [def-axiom]: #563 -#205 := [unit-resolution #564 #215]: #204 -#206 := [unit-resolution #205 #203 #237]: false -#543 := [lemma #206]: #23 -#579 := (or #574 #55) -#580 := (iff #82 #579) -#577 := (iff #79 #574) -#575 := (iff #76 #76) -#576 := [refl]: #575 -#578 := [quant-intro #576]: #577 -#581 := [monotonicity #578]: #580 -#91 := [and-elim #87]: #82 -#582 := [mp #91 #581]: #579 -#242 := [unit-resolution #582 #543]: #574 -#555 := (not #574) -#214 := (or #555 #55) -#219 := [quant-inst #21]: #214 -[unit-resolution #219 #543 #242]: false -unsat d97439af6f5bc7794ab403d0f6cc318d103016a1 1288 0 #2 := false decl f1 :: S1 @@ -1953,6 +1287,124 @@ #1532 := [unit-resolution #769 #1531]: #20 [unit-resolution #606 #1532 #1528]: false unsat +a69a9e8c5e31ec6b9da4cf96f47b52cf6b9404d9 117 0 +#2 := false +decl f3 :: (-> S3 S2 S1) +#10 := (:var 0 S2) +decl f4 :: (-> S4 S1 S3) +decl f6 :: S1 +#16 := f6 +decl f5 :: S4 +#7 := f5 +#17 := (f4 f5 f6) +#18 := (f3 #17 #10) +#573 := (pattern #18) +decl f1 :: S1 +#3 := f1 +#19 := (= #18 f1) +#76 := (not #19) +#574 := (forall (vars (?v0 S2)) (:pat #573) #76) +decl f7 :: S2 +#21 := f7 +#22 := (f3 #17 f7) +#23 := (= #22 f1) +#150 := (= f6 f1) +#151 := (iff #23 #150) +#8 := (:var 1 S1) +#9 := (f4 f5 #8) +#11 := (f3 #9 #10) +#566 := (pattern #11) +#13 := (= #8 f1) +#12 := (= #11 f1) +#14 := (iff #12 #13) +#567 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #566) #14) +#15 := (forall (vars (?v0 S1) (?v1 S2)) #14) +#570 := (iff #15 #567) +#568 := (iff #14 #14) +#569 := [refl]: #568 +#571 := [quant-intro #569]: #570 +#62 := (~ #15 #15) +#60 := (~ #14 #14) +#61 := [refl]: #60 +#63 := [nnf-pos #61]: #62 +#46 := [asserted]: #15 +#53 := [mp~ #46 #63]: #15 +#572 := [mp #53 #571]: #567 +#152 := (not #567) +#228 := (or #152 #151) +#561 := [quant-inst #16 #21]: #228 +#237 := [unit-resolution #561 #572]: #151 +decl ?v0!0 :: S2 +#66 := ?v0!0 +#67 := (f3 #17 ?v0!0) +#68 := (= #67 f1) +#236 := (iff #68 #150) +#238 := (or #152 #236) +#229 := [quant-inst #16 #66]: #238 +#227 := [unit-resolution #229 #572]: #236 +#240 := (not #236) +#199 := (or #240 #150) +#55 := (not #23) +#215 := [hypothesis]: #55 +#83 := (or #68 #23) +#79 := (forall (vars (?v0 S2)) #76) +#82 := (or #79 #55) +#84 := (and #83 #82) +#20 := (exists (vars (?v0 S2)) #19) +#48 := (not #20) +#49 := (iff #48 #23) +#85 := (~ #49 #84) +#57 := (~ #23 #23) +#65 := [refl]: #57 +#64 := (~ #55 #55) +#56 := [refl]: #64 +#80 := (~ #48 #79) +#77 := (~ #76 #76) +#78 := [refl]: #77 +#81 := [nnf-neg #78]: #80 +#73 := (not #48) +#74 := (~ #73 #68) +#69 := (~ #20 #68) +#70 := [sk]: #69 +#75 := [nnf-neg #70]: #74 +#86 := [nnf-pos #75 #81 #56 #65]: #85 +#24 := (iff #20 #23) +#25 := (not #24) +#50 := (iff #25 #49) +#51 := [rewrite]: #50 +#47 := [asserted]: #25 +#54 := [mp #47 #51]: #49 +#87 := [mp~ #54 #86]: #84 +#90 := [and-elim #87]: #83 +#557 := [unit-resolution #90 #215]: #68 +#243 := (not #68) +#222 := (or #240 #243 #150) +#558 := [def-axiom]: #222 +#541 := [unit-resolution #558 #557]: #199 +#203 := [unit-resolution #541 #227]: #150 +#241 := (not #150) +#562 := (not #151) +#204 := (or #562 #241) +#563 := (or #562 #23 #241) +#564 := [def-axiom]: #563 +#205 := [unit-resolution #564 #215]: #204 +#206 := [unit-resolution #205 #203 #237]: false +#543 := [lemma #206]: #23 +#579 := (or #574 #55) +#580 := (iff #82 #579) +#577 := (iff #79 #574) +#575 := (iff #76 #76) +#576 := [refl]: #575 +#578 := [quant-intro #576]: #577 +#581 := [monotonicity #578]: #580 +#91 := [and-elim #87]: #82 +#582 := [mp #91 #581]: #579 +#242 := [unit-resolution #582 #543]: #574 +#555 := (not #574) +#214 := (or #555 #55) +#219 := [quant-inst #21]: #214 +[unit-resolution #219 #543 #242]: false +unsat fdf61e060f49731790f4d6c8f9b26c21349c60b3 117 0 #2 := false decl f1 :: S1 @@ -2071,6716 +1523,6 @@ #603 := [unit-resolution #271 #618]: #602 [unit-resolution #603 #601 #297]: false unsat -5c792581e65682628e5c59ca9f3f8801e6aeba72 61 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> S2 S1) -decl f4 :: S2 -#7 := f4 -#8 := (f3 f4) -#9 := (= #8 f1) -decl f5 :: S2 -#18 := f5 -#19 := (f3 f5) -#20 := (= #19 f1) -#45 := (not #9) -#46 := (or #45 #20) -#49 := (not #46) -#21 := (implies #9 #20) -#22 := (not #21) -#50 := (iff #22 #49) -#47 := (iff #21 #46) -#48 := [rewrite]: #47 -#51 := [monotonicity #48]: #50 -#44 := [asserted]: #22 -#54 := [mp #44 #51]: #49 -#52 := [not-or-elim #54]: #9 -#10 := (:var 0 S2) -#11 := (f3 #10) -#550 := (pattern #11) -#12 := (= #11 f1) -#15 := (not #12) -#551 := (forall (vars (?v0 S2)) (:pat #550) #15) -#16 := (forall (vars (?v0 S2)) #15) -#554 := (iff #16 #551) -#552 := (iff #15 #15) -#553 := [refl]: #552 -#555 := [quant-intro #553]: #554 -#13 := (exists (vars (?v0 S2)) #12) -#14 := (not #13) -#60 := (~ #14 #16) -#63 := (~ #15 #15) -#64 := [refl]: #63 -#72 := [nnf-neg #64]: #60 -#17 := (if #9 #14 #16) -#70 := (iff #17 #14) -#1 := true -#65 := (if true #14 #16) -#68 := (iff #65 #14) -#69 := [rewrite]: #68 -#66 := (iff #17 #65) -#61 := (iff #9 true) -#62 := [iff-true #52]: #61 -#67 := [monotonicity #62]: #66 -#71 := [trans #67 #69]: #70 -#43 := [asserted]: #17 -#59 := [mp #43 #71]: #14 -#57 := [mp~ #59 #72]: #16 -#556 := [mp #57 #555]: #551 -#135 := (not #551) -#221 := (or #135 #45) -#136 := [quant-inst #7]: #221 -[unit-resolution #136 #556 #52]: false -unsat -0ce3a745d60cdbf0fe26b07c5e76de09d459dd25 17 0 -#2 := false -#7 := 3::Int -#8 := (= 3::Int 3::Int) -#9 := (not #8) -#38 := (iff #9 false) -#1 := true -#33 := (not true) -#36 := (iff #33 false) -#37 := [rewrite]: #36 -#34 := (iff #9 #33) -#31 := (iff #8 true) -#32 := [rewrite]: #31 -#35 := [monotonicity #32]: #34 -#39 := [trans #35 #37]: #38 -#30 := [asserted]: #9 -[mp #30 #39]: false -unsat -1532b1dde71eb42ca0a012bb62d9bbadf37fa326 17 0 -#2 := false -#7 := 3::Real -#8 := (= 3::Real 3::Real) -#9 := (not #8) -#38 := (iff #9 false) -#1 := true -#33 := (not true) -#36 := (iff #33 false) -#37 := [rewrite]: #36 -#34 := (iff #9 #33) -#31 := (iff #8 true) -#32 := [rewrite]: #31 -#35 := [monotonicity #32]: #34 -#39 := [trans #35 #37]: #38 -#30 := [asserted]: #9 -[mp #30 #39]: false -unsat -94425abeeb45b838fcb1ab9c8323796e36a681e5 26 0 -#2 := false -#10 := 4::Int -#8 := 1::Int -#7 := 3::Int -#9 := (+ 3::Int 1::Int) -#11 := (= #9 4::Int) -#12 := (not #11) -#47 := (iff #12 false) -#1 := true -#42 := (not true) -#45 := (iff #42 false) -#46 := [rewrite]: #45 -#43 := (iff #12 #42) -#40 := (iff #11 true) -#35 := (= 4::Int 4::Int) -#38 := (iff #35 true) -#39 := [rewrite]: #38 -#36 := (iff #11 #35) -#34 := [rewrite]: #11 -#37 := [monotonicity #34]: #36 -#41 := [trans #37 #39]: #40 -#44 := [monotonicity #41]: #43 -#48 := [trans #44 #46]: #47 -#33 := [asserted]: #12 -[mp #33 #48]: false -unsat -673f00f23a414ea8ab1557752d859ea787c89c1b 41 0 -#2 := false -decl f3 :: Int -#7 := f3 -decl f5 :: Int -#9 := f5 -#12 := (+ f5 f3) -decl f4 :: Int -#8 := f4 -#13 := (+ f4 #12) -#10 := (+ f4 f5) -#11 := (+ f3 #10) -#14 := (= #11 #13) -#15 := (not #14) -#59 := (iff #15 false) -#1 := true -#54 := (not true) -#57 := (iff #54 false) -#58 := [rewrite]: #57 -#55 := (iff #15 #54) -#52 := (iff #14 true) -#47 := (= #11 #11) -#50 := (iff #47 true) -#51 := [rewrite]: #50 -#48 := (iff #14 #47) -#45 := (= #13 #11) -#37 := (+ f3 f5) -#40 := (+ f4 #37) -#43 := (= #40 #11) -#44 := [rewrite]: #43 -#41 := (= #13 #40) -#38 := (= #12 #37) -#39 := [rewrite]: #38 -#42 := [monotonicity #39]: #41 -#46 := [trans #42 #44]: #45 -#49 := [monotonicity #46]: #48 -#53 := [trans #49 #51]: #52 -#56 := [monotonicity #53]: #55 -#60 := [trans #56 #58]: #59 -#36 := [asserted]: #15 -[mp #36 #60]: false -unsat -1f5e59fc26e6d68939e39d2fe658ebc1a264f509 35 0 -#2 := false -#8 := 3::Int -#9 := 8::Int -#10 := (<= 3::Int 8::Int) -#11 := (if #10 8::Int 3::Int) -#7 := 5::Int -#12 := (< 5::Int #11) -#13 := (not #12) -#58 := (iff #13 false) -#1 := true -#53 := (not true) -#56 := (iff #53 false) -#57 := [rewrite]: #56 -#54 := (iff #13 #53) -#51 := (iff #12 true) -#46 := (< 5::Int 8::Int) -#49 := (iff #46 true) -#50 := [rewrite]: #49 -#47 := (iff #12 #46) -#44 := (= #11 8::Int) -#39 := (if true 8::Int 3::Int) -#42 := (= #39 8::Int) -#43 := [rewrite]: #42 -#40 := (= #11 #39) -#37 := (iff #10 true) -#38 := [rewrite]: #37 -#41 := [monotonicity #38]: #40 -#45 := [trans #41 #43]: #44 -#48 := [monotonicity #45]: #47 -#52 := [trans #48 #50]: #51 -#55 := [monotonicity #52]: #54 -#59 := [trans #55 #57]: #58 -#34 := [asserted]: #13 -[mp #34 #59]: false -unsat -e7f019160a38d08774f8a2e816f96aa54c924fba 216 0 -#2 := false -#10 := 0::Real -decl f4 :: Real -#8 := f4 -#43 := -1::Real -#45 := (* -1::Real f4) -decl f3 :: Real -#7 := f3 -#44 := (* -1::Real f3) -#46 := (+ #44 #45) -#9 := (+ f3 f4) -#71 := (>= #9 0::Real) -#78 := (if #71 #9 #46) -#153 := (* -1::Real #78) -#181 := (+ #46 #153) -#183 := (>= #181 0::Real) -#134 := (= #46 #78) -#72 := (not #71) -#95 := (>= f4 0::Real) -#96 := (not #95) -#154 := (+ #9 #153) -#156 := (>= #154 0::Real) -#133 := (= #9 #78) -#197 := (not #134) -#192 := (not #183) -#163 := [hypothesis]: #95 -#193 := (or #192 #96) -#184 := [hypothesis]: #183 -#102 := (if #95 f4 #45) -#114 := (* -1::Real #102) -#83 := (>= f3 0::Real) -#90 := (if #83 f3 #44) -#113 := (* -1::Real #90) -#115 := (+ #113 #114) -#116 := (+ #78 #115) -#117 := (<= #116 0::Real) -#122 := (not #117) -#18 := (- f4) -#17 := (< f4 0::Real) -#19 := (if #17 #18 f4) -#15 := (- f3) -#14 := (< f3 0::Real) -#16 := (if #14 #15 f3) -#20 := (+ #16 #19) -#12 := (- #9) -#11 := (< #9 0::Real) -#13 := (if #11 #12 #9) -#21 := (<= #13 #20) -#22 := (not #21) -#125 := (iff #22 #122) -#59 := (if #17 #45 f4) -#54 := (if #14 #44 f3) -#62 := (+ #54 #59) -#49 := (if #11 #46 #9) -#65 := (<= #49 #62) -#68 := (not #65) -#123 := (iff #68 #122) -#120 := (iff #65 #117) -#107 := (+ #90 #102) -#110 := (<= #78 #107) -#118 := (iff #110 #117) -#119 := [rewrite]: #118 -#111 := (iff #65 #110) -#108 := (= #62 #107) -#105 := (= #59 #102) -#99 := (if #96 #45 f4) -#103 := (= #99 #102) -#104 := [rewrite]: #103 -#100 := (= #59 #99) -#97 := (iff #17 #96) -#98 := [rewrite]: #97 -#101 := [monotonicity #98]: #100 -#106 := [trans #101 #104]: #105 -#93 := (= #54 #90) -#84 := (not #83) -#87 := (if #84 #44 f3) -#91 := (= #87 #90) -#92 := [rewrite]: #91 -#88 := (= #54 #87) -#85 := (iff #14 #84) -#86 := [rewrite]: #85 -#89 := [monotonicity #86]: #88 -#94 := [trans #89 #92]: #93 -#109 := [monotonicity #94 #106]: #108 -#81 := (= #49 #78) -#75 := (if #72 #46 #9) -#79 := (= #75 #78) -#80 := [rewrite]: #79 -#76 := (= #49 #75) -#73 := (iff #11 #72) -#74 := [rewrite]: #73 -#77 := [monotonicity #74]: #76 -#82 := [trans #77 #80]: #81 -#112 := [monotonicity #82 #109]: #111 -#121 := [trans #112 #119]: #120 -#124 := [monotonicity #121]: #123 -#69 := (iff #22 #68) -#66 := (iff #21 #65) -#63 := (= #20 #62) -#60 := (= #19 #59) -#57 := (= #18 #45) -#58 := [rewrite]: #57 -#61 := [monotonicity #58]: #60 -#55 := (= #16 #54) -#52 := (= #15 #44) -#53 := [rewrite]: #52 -#56 := [monotonicity #53]: #55 -#64 := [monotonicity #56 #61]: #63 -#50 := (= #13 #49) -#47 := (= #12 #46) -#48 := [rewrite]: #47 -#51 := [monotonicity #48]: #50 -#67 := [monotonicity #51 #64]: #66 -#70 := [monotonicity #67]: #69 -#126 := [trans #70 #124]: #125 -#42 := [asserted]: #22 -#127 := [mp #42 #126]: #122 -#147 := (+ f4 #114) -#148 := (<= #147 0::Real) -#141 := (= f4 #102) -#143 := (or #96 #141) -#144 := [def-axiom]: #143 -#172 := [unit-resolution #144 #163]: #141 -#173 := (not #141) -#174 := (or #173 #148) -#175 := [th-lemma arith triangle-eq]: #174 -#176 := [unit-resolution #175 #172]: #148 -#152 := (+ #44 #113) -#155 := (<= #152 0::Real) -#130 := (= #44 #90) -#178 := (or #84 #96) -#150 := (+ f3 #113) -#151 := (<= #150 0::Real) -#129 := (= f3 #90) -#157 := [hypothesis]: #83 -#137 := (or #84 #129) -#138 := [def-axiom]: #137 -#158 := [unit-resolution #138 #157]: #129 -#159 := (not #129) -#160 := (or #159 #151) -#161 := [th-lemma arith triangle-eq]: #160 -#162 := [unit-resolution #161 #158]: #151 -#164 := (or #71 #84 #96) -#165 := [th-lemma arith assign-bounds -1 -1]: #164 -#166 := [unit-resolution #165 #157 #163]: #71 -#135 := (or #72 #133) -#136 := [def-axiom]: #135 -#167 := [unit-resolution #136 #166]: #133 -#168 := (not #133) -#169 := (or #168 #156) -#170 := [th-lemma arith triangle-eq]: #169 -#171 := [unit-resolution #170 #167]: #156 -#177 := [th-lemma arith farkas 1 -1 -1 1 #176 #171 #127 #162]: false -#179 := [lemma #177]: #178 -#185 := [unit-resolution #179 #163]: #84 -#139 := (or #83 #130) -#140 := [def-axiom]: #139 -#186 := [unit-resolution #140 #185]: #130 -#187 := (not #130) -#188 := (or #187 #155) -#189 := [th-lemma arith triangle-eq]: #188 -#190 := [unit-resolution #189 #186]: #155 -#191 := [th-lemma arith farkas 2 -1 -1 1 1 #163 #190 #176 #127 #184]: false -#194 := [lemma #191]: #193 -#202 := [unit-resolution #194 #163]: #192 -#198 := (or #197 #183) -#195 := [hypothesis]: #192 -#196 := [hypothesis]: #134 -#199 := [th-lemma arith triangle-eq]: #198 -#200 := [unit-resolution #199 #196 #195]: false -#201 := [lemma #200]: #198 -#203 := [unit-resolution #201 #202]: #197 -#131 := (or #71 #134) -#132 := [def-axiom]: #131 -#204 := [unit-resolution #132 #203]: #71 -#205 := [unit-resolution #136 #204]: #133 -#206 := [unit-resolution #170 #205]: #156 -#207 := [th-lemma arith farkas 2 1 1 1 1 #185 #190 #176 #127 #206]: false -#208 := [lemma #207]: #96 -#149 := (+ #45 #114) -#180 := (<= #149 0::Real) -#142 := (= #45 #102) -#145 := (or #95 #142) -#146 := [def-axiom]: #145 -#213 := [unit-resolution #146 #208]: #142 -#214 := (not #142) -#215 := (or #214 #180) -#216 := [th-lemma arith triangle-eq]: #215 -#217 := [unit-resolution #216 #213]: #180 -#219 := (not #156) -#220 := (not #151) -#221 := (or #219 #220) -#211 := [hypothesis]: #151 -#212 := [hypothesis]: #156 -#218 := [th-lemma arith farkas 2 1 1 1 1 #208 #217 #127 #212 #211]: false -#222 := [lemma #218]: #221 -#227 := [unit-resolution #222 #162]: #219 -#223 := [hypothesis]: #219 -#224 := [hypothesis]: #133 -#225 := [unit-resolution #170 #224 #223]: false -#226 := [lemma #225]: #169 -#228 := [unit-resolution #226 #227]: #168 -#229 := [unit-resolution #136 #228]: #72 -#230 := [unit-resolution #132 #229]: #134 -#231 := [unit-resolution #201 #230]: #183 -#232 := [th-lemma arith farkas 1/2 -1/2 -1/2 1/2 1 #231 #162 #217 #127 #157]: false -#233 := [lemma #232]: #84 -#234 := (or #72 #83 #95) -#235 := [th-lemma arith assign-bounds 1 1]: #234 -#236 := [unit-resolution #235 #233 #208]: #72 -#237 := [unit-resolution #132 #236]: #134 -#238 := [unit-resolution #201 #237]: #183 -#239 := [unit-resolution #140 #233]: #130 -#240 := [unit-resolution #189 #239]: #155 -[th-lemma arith farkas -1 -1 1 1 #240 #217 #127 #238]: false -unsat -9e5f324cc33eb4abf1be11d977dfdec45557ae46 42 0 -#2 := false -decl f3 :: (-> S1 S2) -decl f1 :: S1 -#3 := f1 -#12 := (f3 f1) -decl f2 :: S1 -#4 := f2 -#8 := 3::Int -#7 := 2::Int -#9 := (< 2::Int 3::Int) -#10 := (if #9 f1 f2) -#11 := (f3 #10) -#13 := (= #11 #12) -#14 := (not #13) -#60 := (iff #14 false) -#1 := true -#55 := (not true) -#58 := (iff #55 false) -#59 := [rewrite]: #58 -#56 := (iff #14 #55) -#53 := (iff #13 true) -#48 := (= #12 #12) -#51 := (iff #48 true) -#52 := [rewrite]: #51 -#49 := (iff #13 #48) -#45 := (= #10 f1) -#40 := (if true f1 f2) -#43 := (= #40 f1) -#44 := [rewrite]: #43 -#41 := (= #10 #40) -#38 := (iff #9 true) -#39 := [rewrite]: #38 -#42 := [monotonicity #39]: #41 -#46 := [trans #42 #44]: #45 -#47 := [monotonicity #46]: #13 -#50 := [monotonicity #47]: #49 -#54 := [trans #50 #52]: #53 -#57 := [monotonicity #54]: #56 -#61 := [trans #57 #59]: #60 -#35 := [asserted]: #14 -[mp #35 #61]: false -unsat -cc322c3513bba37f77e905b379b26c79239b69a4 49 0 -#2 := false -#12 := 1::Int -decl f3 :: Int -#8 := f3 -#13 := (< f3 1::Int) -#9 := 3::Int -#10 := (+ f3 3::Int) -#7 := 4::Int -#11 := (<= 4::Int #10) -#14 := (or #11 #13) -#15 := (not #14) -#69 := (iff #15 false) -#37 := (+ 3::Int f3) -#40 := (<= 4::Int #37) -#43 := (or #40 #13) -#46 := (not #43) -#67 := (iff #46 false) -#1 := true -#62 := (not true) -#65 := (iff #62 false) -#66 := [rewrite]: #65 -#63 := (iff #46 #62) -#60 := (iff #43 true) -#51 := (>= f3 1::Int) -#52 := (not #51) -#55 := (or #51 #52) -#58 := (iff #55 true) -#59 := [rewrite]: #58 -#56 := (iff #43 #55) -#53 := (iff #13 #52) -#54 := [rewrite]: #53 -#49 := (iff #40 #51) -#50 := [rewrite]: #49 -#57 := [monotonicity #50 #54]: #56 -#61 := [trans #57 #59]: #60 -#64 := [monotonicity #61]: #63 -#68 := [trans #64 #66]: #67 -#47 := (iff #15 #46) -#44 := (iff #14 #43) -#41 := (iff #11 #40) -#38 := (= #10 #37) -#39 := [rewrite]: #38 -#42 := [monotonicity #39]: #41 -#45 := [monotonicity #42]: #44 -#48 := [monotonicity #45]: #47 -#70 := [trans #48 #68]: #69 -#36 := [asserted]: #15 -[mp #36 #70]: false -unsat -75c4589e7d7ab0bf262babccc302883b71f9a923 63 0 -#2 := false -#14 := 0::Int -decl f4 :: Int -#10 := f4 -#49 := -1::Int -#52 := (* -1::Int f4) -decl f3 :: Int -#8 := f3 -#53 := (+ f3 #52) -#70 := (>= #53 0::Int) -#94 := (iff #70 false) -#51 := -4::Int -#87 := (>= -4::Int 0::Int) -#86 := (iff #87 false) -#93 := [rewrite]: #86 -#88 := (iff #70 #87) -#54 := (= #53 -4::Int) -#11 := 4::Int -#12 := (+ f3 4::Int) -#13 := (= f4 #12) -#56 := (iff #13 #54) -#39 := (+ 4::Int f3) -#46 := (= f4 #39) -#50 := (iff #46 #54) -#55 := [rewrite]: #50 -#47 := (iff #13 #46) -#44 := (= #12 #39) -#45 := [rewrite]: #44 -#48 := [monotonicity #45]: #47 -#57 := [trans #48 #55]: #56 -#38 := [asserted]: #13 -#58 := [mp #38 #57]: #54 -#85 := [monotonicity #58]: #88 -#95 := [trans #85 #93]: #94 -#15 := (- f4 f3) -#16 := (< 0::Int #15) -#17 := (not #16) -#81 := (iff #17 #70) -#60 := (* -1::Int f3) -#61 := (+ #60 f4) -#64 := (< 0::Int #61) -#67 := (not #64) -#79 := (iff #67 #70) -#71 := (not #70) -#74 := (not #71) -#77 := (iff #74 #70) -#78 := [rewrite]: #77 -#75 := (iff #67 #74) -#72 := (iff #64 #71) -#73 := [rewrite]: #72 -#76 := [monotonicity #73]: #75 -#80 := [trans #76 #78]: #79 -#68 := (iff #17 #67) -#65 := (iff #16 #64) -#62 := (= #15 #61) -#63 := [rewrite]: #62 -#66 := [monotonicity #63]: #65 -#69 := [monotonicity #66]: #68 -#82 := [trans #69 #80]: #81 -#59 := [asserted]: #17 -#83 := [mp #59 #82]: #70 -[mp #83 #95]: false -unsat -31769d5312feac1587c3f744c5c881fb2d86e85f 35 0 -#2 := false -#9 := 5::Int -#7 := 2::Int -#8 := (+ 2::Int 2::Int) -#10 := (= #8 5::Int) -#11 := (not #10) -#12 := (not #11) -#56 := (iff #12 false) -#1 := true -#51 := (not true) -#54 := (iff #51 false) -#55 := [rewrite]: #54 -#52 := (iff #12 #51) -#49 := (iff #11 true) -#44 := (not false) -#47 := (iff #44 true) -#48 := [rewrite]: #47 -#45 := (iff #11 #44) -#42 := (iff #10 false) -#34 := 4::Int -#37 := (= 4::Int 5::Int) -#40 := (iff #37 false) -#41 := [rewrite]: #40 -#38 := (iff #10 #37) -#35 := (= #8 4::Int) -#36 := [rewrite]: #35 -#39 := [monotonicity #36]: #38 -#43 := [trans #39 #41]: #42 -#46 := [monotonicity #43]: #45 -#50 := [trans #46 #48]: #49 -#53 := [monotonicity #50]: #52 -#57 := [trans #53 #55]: #56 -#33 := [asserted]: #12 -[mp #33 #57]: false -unsat -f8ba8c3ed7f7c7d5e49139b62e145fc6eee338f1 45 0 -#2 := false -#14 := 4::Real -decl f4 :: Real -#11 := f4 -#10 := 7::Real -#12 := (* 7::Real f4) -decl f3 :: Real -#8 := f3 -#7 := 3::Real -#9 := (* 3::Real f3) -#13 := (+ #9 #12) -#48 := (>= #13 4::Real) -#46 := (not #48) -#15 := (< #13 4::Real) -#47 := (iff #15 #46) -#44 := [rewrite]: #47 -#41 := [asserted]: #15 -#45 := [mp #41 #44]: #46 -#16 := 2::Real -#17 := (* 2::Real f3) -#50 := (<= #17 3::Real) -#51 := (not #50) -#18 := (< 3::Real #17) -#52 := (iff #18 #51) -#53 := [rewrite]: #52 -#42 := [asserted]: #18 -#54 := [mp #42 #53]: #51 -#19 := 0::Real -#58 := (>= f4 0::Real) -#20 := (< f4 0::Real) -#21 := (not #20) -#65 := (iff #21 #58) -#56 := (not #58) -#60 := (not #56) -#63 := (iff #60 #58) -#64 := [rewrite]: #63 -#61 := (iff #21 #60) -#57 := (iff #20 #56) -#59 := [rewrite]: #57 -#62 := [monotonicity #59]: #61 -#66 := [trans #62 #64]: #65 -#43 := [asserted]: #21 -#67 := [mp #43 #66]: #58 -[th-lemma arith farkas 7 3/2 1 #67 #54 #45]: false -unsat -c61600e5a5dab4b2c2864caededa0b50f81df696 59 0 -#2 := false -#19 := (not false) -decl f4 :: Int -#11 := f4 -#7 := 0::Int -#15 := (<= 0::Int f4) -#16 := (not #15) -#17 := (or #16 #15) -#9 := 1::Int -#10 := (- 1::Int) -#12 := (* #10 f4) -decl f3 :: Int -#8 := f3 -#13 := (+ f3 #12) -#14 := (<= 0::Int #13) -#18 := (or #14 #17) -#20 := (iff #18 #19) -#21 := (not #20) -#77 := (iff #21 false) -#1 := true -#72 := (not true) -#75 := (iff #72 false) -#76 := [rewrite]: #75 -#73 := (iff #21 #72) -#70 := (iff #20 true) -#65 := (iff true true) -#68 := (iff #65 true) -#69 := [rewrite]: #68 -#66 := (iff #20 #65) -#63 := (iff #19 true) -#64 := [rewrite]: #63 -#61 := (iff #18 true) -#42 := -1::Int -#45 := (* -1::Int f4) -#48 := (+ f3 #45) -#51 := (<= 0::Int #48) -#56 := (or #51 true) -#59 := (iff #56 true) -#60 := [rewrite]: #59 -#57 := (iff #18 #56) -#54 := (iff #17 true) -#55 := [rewrite]: #54 -#52 := (iff #14 #51) -#49 := (= #13 #48) -#46 := (= #12 #45) -#43 := (= #10 -1::Int) -#44 := [rewrite]: #43 -#47 := [monotonicity #44]: #46 -#50 := [monotonicity #47]: #49 -#53 := [monotonicity #50]: #52 -#58 := [monotonicity #53 #55]: #57 -#62 := [trans #58 #60]: #61 -#67 := [monotonicity #62 #64]: #66 -#71 := [trans #67 #69]: #70 -#74 := [monotonicity #71]: #73 -#78 := [trans #74 #76]: #77 -#41 := [asserted]: #21 -[mp #41 #78]: false -unsat -7f98d11cd70eeb0eb4aea9722e1648cd3cfdbe2c 439 0 -#2 := false -decl f4 :: Int -#8 := f4 -decl f3 :: Int -#7 := f3 -#20 := (= f3 f4) -#287 := (not #20) -#24 := (= f4 f3) -#312 := (not #24) -#499 := (iff #312 #287) -#458 := (iff #24 #20) -#459 := [commutativity]: #458 -#500 := [monotonicity #459]: #499 -decl f5 :: Int -#10 := f5 -#30 := (= f5 f4) -#13 := (= f4 f5) -#493 := (iff #13 #30) -#491 := (iff #30 #13) -#492 := [commutativity]: #491 -#494 := [symm #492]: #493 -#18 := (= f3 f5) -#238 := (not #18) -#28 := (= f5 f3) -#337 := (not #28) -#485 := (iff #337 #238) -#483 := (iff #28 #18) -#484 := [commutativity]: #483 -#486 := [monotonicity #484]: #485 -#55 := 0::Int -#77 := -1::Int -#102 := (* -1::Int f4) -#103 := (+ f3 #102) -#104 := (<= #103 0::Int) -#105 := (not #104) -#118 := (>= #103 0::Int) -#78 := (* -1::Int f5) -#96 := (+ f4 #78) -#95 := (>= #96 0::Int) -#94 := (not #95) -#261 := (not #13) -#435 := [hypothesis]: #261 -#127 := (<= #96 0::Int) -#474 := (or #18 #13) -#441 := [hypothesis]: #238 -#447 := (or #104 #18 #13) -#436 := [hypothesis]: #105 -#300 := (or #127 #104) -#128 := (not #127) -#134 := (and #128 #105) -#216 := (not #134) -#309 := (iff #216 #300) -#301 := (not #300) -#304 := (not #301) -#307 := (iff #304 #300) -#308 := [rewrite]: #307 -#305 := (iff #216 #304) -#302 := (iff #134 #301) -#303 := [rewrite]: #302 -#306 := [monotonicity #303]: #305 -#310 := [trans #306 #308]: #309 -#37 := (and #30 #24) -#79 := (+ f3 #78) -#80 := (<= #79 0::Int) -#81 := (not #80) -#84 := (and #13 #81) -#88 := (>= #79 0::Int) -#87 := (not #88) -#91 := (and #24 #87) -#99 := (and #94 #81) -#108 := (and #105 #28) -#111 := (and #105 #87) -#114 := (and #30 #105) -#117 := (not #118) -#121 := (and #28 #117) -#124 := (and #81 #117) -#131 := (and #128 #24) -#137 := (and #20 #94) -#140 := (and #18 #128) -#143 := (and #87 #128) -#146 := (and #117 #13) -#149 := (and #117 #94) -#197 := (or #149 #146 #143 #140 #137 #134 #131 #124 #121 #114 #111 #108 #99 #91 #84 #37) -#202 := (not #197) -#26 := (< f5 f3) -#36 := (and #13 #26) -#38 := (or #36 #37) -#15 := (< f3 f5) -#35 := (and #24 #15) -#39 := (or #35 #38) -#11 := (< f4 f5) -#34 := (and #11 #26) -#40 := (or #34 #39) -#22 := (< f4 f3) -#33 := (and #22 #28) -#41 := (or #33 #40) -#32 := (and #22 #15) -#42 := (or #32 #41) -#31 := (and #30 #22) -#43 := (or #31 #42) -#9 := (< f3 f4) -#29 := (and #28 #9) -#44 := (or #29 #43) -#27 := (and #26 #9) -#45 := (or #27 #44) -#16 := (< f5 f4) -#25 := (and #16 #24) -#46 := (or #25 #45) -#23 := (and #16 #22) -#47 := (or #23 #46) -#21 := (and #20 #11) -#48 := (or #21 #47) -#19 := (and #18 #16) -#49 := (or #19 #48) -#17 := (and #15 #16) -#50 := (or #17 #49) -#14 := (and #9 #13) -#51 := (or #14 #50) -#12 := (and #9 #11) -#52 := (or #12 #51) -#53 := (not #52) -#203 := (iff #53 #202) -#200 := (iff #52 #197) -#152 := (or #84 #37) -#155 := (or #91 #152) -#158 := (or #99 #155) -#161 := (or #108 #158) -#164 := (or #111 #161) -#167 := (or #114 #164) -#170 := (or #121 #167) -#173 := (or #124 #170) -#176 := (or #131 #173) -#179 := (or #134 #176) -#182 := (or #137 #179) -#185 := (or #140 #182) -#188 := (or #143 #185) -#191 := (or #146 #188) -#194 := (or #149 #191) -#198 := (iff #194 #197) -#199 := [rewrite]: #198 -#195 := (iff #52 #194) -#192 := (iff #51 #191) -#189 := (iff #50 #188) -#186 := (iff #49 #185) -#183 := (iff #48 #182) -#180 := (iff #47 #179) -#177 := (iff #46 #176) -#174 := (iff #45 #173) -#171 := (iff #44 #170) -#168 := (iff #43 #167) -#165 := (iff #42 #164) -#162 := (iff #41 #161) -#159 := (iff #40 #158) -#156 := (iff #39 #155) -#153 := (iff #38 #152) -#85 := (iff #36 #84) -#82 := (iff #26 #81) -#83 := [rewrite]: #82 -#86 := [monotonicity #83]: #85 -#154 := [monotonicity #86]: #153 -#92 := (iff #35 #91) -#89 := (iff #15 #87) -#90 := [rewrite]: #89 -#93 := [monotonicity #90]: #92 -#157 := [monotonicity #93 #154]: #156 -#100 := (iff #34 #99) -#97 := (iff #11 #94) -#98 := [rewrite]: #97 -#101 := [monotonicity #98 #83]: #100 -#160 := [monotonicity #101 #157]: #159 -#109 := (iff #33 #108) -#106 := (iff #22 #105) -#107 := [rewrite]: #106 -#110 := [monotonicity #107]: #109 -#163 := [monotonicity #110 #160]: #162 -#112 := (iff #32 #111) -#113 := [monotonicity #107 #90]: #112 -#166 := [monotonicity #113 #163]: #165 -#115 := (iff #31 #114) -#116 := [monotonicity #107]: #115 -#169 := [monotonicity #116 #166]: #168 -#122 := (iff #29 #121) -#119 := (iff #9 #117) -#120 := [rewrite]: #119 -#123 := [monotonicity #120]: #122 -#172 := [monotonicity #123 #169]: #171 -#125 := (iff #27 #124) -#126 := [monotonicity #83 #120]: #125 -#175 := [monotonicity #126 #172]: #174 -#132 := (iff #25 #131) -#129 := (iff #16 #128) -#130 := [rewrite]: #129 -#133 := [monotonicity #130]: #132 -#178 := [monotonicity #133 #175]: #177 -#135 := (iff #23 #134) -#136 := [monotonicity #130 #107]: #135 -#181 := [monotonicity #136 #178]: #180 -#138 := (iff #21 #137) -#139 := [monotonicity #98]: #138 -#184 := [monotonicity #139 #181]: #183 -#141 := (iff #19 #140) -#142 := [monotonicity #130]: #141 -#187 := [monotonicity #142 #184]: #186 -#144 := (iff #17 #143) -#145 := [monotonicity #90 #130]: #144 -#190 := [monotonicity #145 #187]: #189 -#147 := (iff #14 #146) -#148 := [monotonicity #120]: #147 -#193 := [monotonicity #148 #190]: #192 -#150 := (iff #12 #149) -#151 := [monotonicity #120 #98]: #150 -#196 := [monotonicity #151 #193]: #195 -#201 := [trans #196 #199]: #200 -#204 := [monotonicity #201]: #203 -#74 := [asserted]: #53 -#205 := [mp #74 #204]: #202 -#217 := [not-or-elim #205]: #216 -#311 := [mp #217 #310]: #300 -#437 := [unit-resolution #311 #436]: #127 -#438 := (or #13 #128 #94) -#439 := [th-lemma arith triangle-eq]: #438 -#440 := [unit-resolution #439 #437 #435]: #94 -#363 := (or #104 #88) -#226 := (not #111) -#372 := (iff #226 #363) -#364 := (not #363) -#367 := (not #364) -#370 := (iff #367 #363) -#371 := [rewrite]: #370 -#368 := (iff #226 #367) -#365 := (iff #111 #364) -#366 := [rewrite]: #365 -#369 := [monotonicity #366]: #368 -#373 := [trans #369 #371]: #372 -#227 := [not-or-elim #205]: #226 -#374 := [mp #227 #373]: #363 -#442 := [unit-resolution #374 #436]: #88 -#443 := (or #18 #81 #87) -#444 := [th-lemma arith triangle-eq]: #443 -#445 := [unit-resolution #444 #442 #441]: #81 -#387 := (or #95 #80) -#230 := (not #99) -#396 := (iff #230 #387) -#388 := (not #387) -#391 := (not #388) -#394 := (iff #391 #387) -#395 := [rewrite]: #394 -#392 := (iff #230 #391) -#389 := (iff #99 #388) -#390 := [rewrite]: #389 -#393 := [monotonicity #390]: #392 -#397 := [trans #393 #395]: #396 -#231 := [not-or-elim #205]: #230 -#398 := [mp #231 #397]: #387 -#446 := [unit-resolution #398 #445 #440]: false -#448 := [lemma #446]: #447 -#466 := [unit-resolution #448 #441 #435]: #104 -#464 := (or #80 #13 #105) -#460 := (iff #20 #24) -#461 := [symm #459]: #460 -#453 := [hypothesis]: #104 -#449 := [hypothesis]: #81 -#325 := (or #80 #118) -#220 := (not #124) -#334 := (iff #220 #325) -#326 := (not #325) -#329 := (not #326) -#332 := (iff #329 #325) -#333 := [rewrite]: #332 -#330 := (iff #220 #329) -#327 := (iff #124 #326) -#328 := [rewrite]: #327 -#331 := [monotonicity #328]: #330 -#335 := [trans #331 #333]: #334 -#221 := [not-or-elim #205]: #220 -#336 := [mp #221 #335]: #325 -#454 := [unit-resolution #336 #449]: #118 -#455 := (or #20 #105 #117) -#456 := [th-lemma arith triangle-eq]: #455 -#457 := [unit-resolution #456 #454 #453]: #20 -#462 := [mp #457 #461]: #24 -#450 := [unit-resolution #398 #449]: #95 -#451 := [unit-resolution #439 #450 #435]: #128 -#313 := (or #127 #312) -#218 := (not #131) -#322 := (iff #218 #313) -#314 := (not #313) -#317 := (not #314) -#320 := (iff #317 #313) -#321 := [rewrite]: #320 -#318 := (iff #218 #317) -#315 := (iff #131 #314) -#316 := [rewrite]: #315 -#319 := [monotonicity #316]: #318 -#323 := [trans #319 #321]: #322 -#219 := [not-or-elim #205]: #218 -#324 := [mp #219 #323]: #313 -#452 := [unit-resolution #324 #451]: #312 -#463 := [unit-resolution #452 #462]: false -#465 := [lemma #463]: #464 -#467 := [unit-resolution #465 #466 #435]: #80 -#468 := [unit-resolution #444 #467 #441]: #87 -#250 := (or #88 #127) -#210 := (not #143) -#239 := (iff #210 #250) -#247 := (not #250) -#246 := (not #247) -#241 := (iff #246 #250) -#242 := [rewrite]: #241 -#243 := (iff #210 #246) -#248 := (iff #143 #247) -#245 := [rewrite]: #248 -#244 := [monotonicity #245]: #243 -#240 := [trans #244 #242]: #239 -#211 := [not-or-elim #205]: #210 -#76 := [mp #211 #240]: #250 -#469 := [unit-resolution #76 #468]: #127 -#470 := [unit-resolution #439 #469 #435]: #94 -#271 := (or #118 #95) -#206 := (not #149) -#266 := (iff #206 #271) -#272 := (not #271) -#269 := (not #272) -#268 := (iff #269 #271) -#265 := [rewrite]: #268 -#270 := (iff #206 #269) -#273 := (iff #149 #272) -#274 := [rewrite]: #273 -#267 := [monotonicity #274]: #270 -#263 := [trans #267 #265]: #266 -#207 := [not-or-elim #205]: #206 -#264 := [mp #207 #263]: #271 -#471 := [unit-resolution #264 #470]: #118 -#288 := (or #287 #95) -#214 := (not #137) -#297 := (iff #214 #288) -#289 := (not #288) -#292 := (not #289) -#295 := (iff #292 #288) -#296 := [rewrite]: #295 -#293 := (iff #214 #292) -#290 := (iff #137 #289) -#291 := [rewrite]: #290 -#294 := [monotonicity #291]: #293 -#298 := [trans #294 #296]: #297 -#215 := [not-or-elim #205]: #214 -#299 := [mp #215 #298]: #288 -#472 := [unit-resolution #299 #470]: #287 -#473 := [unit-resolution #456 #472 #471 #466]: false -#475 := [lemma #473]: #474 -#476 := [unit-resolution #475 #435]: #18 -#275 := (or #238 #127) -#212 := (not #140) -#284 := (iff #212 #275) -#276 := (not #275) -#279 := (not #276) -#282 := (iff #279 #275) -#283 := [rewrite]: #282 -#280 := (iff #212 #279) -#277 := (iff #140 #276) -#278 := [rewrite]: #277 -#281 := [monotonicity #278]: #280 -#285 := [trans #281 #283]: #284 -#213 := [not-or-elim #205]: #212 -#286 := [mp #213 #285]: #275 -#477 := [unit-resolution #286 #476]: #127 -#478 := [unit-resolution #439 #477 #435]: #94 -#479 := [unit-resolution #264 #478]: #118 -#480 := [unit-resolution #299 #478]: #287 -#481 := [unit-resolution #456 #480 #479]: #105 -#375 := (or #104 #337) -#228 := (not #108) -#384 := (iff #228 #375) -#376 := (not #375) -#379 := (not #376) -#382 := (iff #379 #375) -#383 := [rewrite]: #382 -#380 := (iff #228 #379) -#377 := (iff #108 #376) -#378 := [rewrite]: #377 -#381 := [monotonicity #378]: #380 -#385 := [trans #381 #383]: #384 -#229 := [not-or-elim #205]: #228 -#386 := [mp #229 #385]: #375 -#482 := [unit-resolution #386 #481]: #337 -#487 := [mp #482 #486]: #238 -#488 := [unit-resolution #476 #487]: false -#489 := [lemma #488]: #13 -#495 := [mp #489 #494]: #30 -#350 := (not #30) -#423 := (or #350 #312) -#236 := (not #37) -#432 := (iff #236 #423) -#424 := (not #423) -#427 := (not #424) -#430 := (iff #427 #423) -#431 := [rewrite]: #430 -#428 := (iff #236 #427) -#425 := (iff #37 #424) -#426 := [rewrite]: #425 -#429 := [monotonicity #426]: #428 -#433 := [trans #429 #431]: #432 -#237 := [not-or-elim #205]: #236 -#434 := [mp #237 #433]: #423 -#498 := [unit-resolution #434 #495]: #312 -#501 := [mp #498 #500]: #287 -#262 := (or #118 #261) -#208 := (not #146) -#251 := (iff #208 #262) -#259 := (not #262) -#258 := (not #259) -#253 := (iff #258 #262) -#254 := [rewrite]: #253 -#255 := (iff #208 #258) -#260 := (iff #146 #259) -#257 := [rewrite]: #260 -#256 := [monotonicity #257]: #255 -#252 := [trans #256 #254]: #251 -#209 := [not-or-elim #205]: #208 -#249 := [mp #209 #252]: #262 -#490 := [unit-resolution #249 #489]: #118 -#351 := (or #350 #104) -#224 := (not #114) -#360 := (iff #224 #351) -#352 := (not #351) -#355 := (not #352) -#358 := (iff #355 #351) -#359 := [rewrite]: #358 -#356 := (iff #224 #355) -#353 := (iff #114 #352) -#354 := [rewrite]: #353 -#357 := [monotonicity #354]: #356 -#361 := [trans #357 #359]: #360 -#225 := [not-or-elim #205]: #224 -#362 := [mp #225 #361]: #351 -#496 := [unit-resolution #362 #495]: #104 -#497 := [unit-resolution #456 #496 #490]: #20 -[unit-resolution #497 #501]: false -unsat -70bd6436662c1fd4b8c8a6f696914593051990e6 52 0 -#2 := false -#11 := 1::Real -decl f3 :: Real -#7 := f3 -#9 := 2::Real -#10 := (* 2::Real f3) -#12 := (+ #10 1::Real) -#8 := (+ f3 f3) -#13 := (< #8 #12) -#14 := (or false #13) -#15 := (or #13 #14) -#16 := (not #15) -#72 := (iff #16 false) -#40 := (+ 1::Real #10) -#43 := (< #10 #40) -#60 := (not #43) -#70 := (iff #60 false) -#1 := true -#65 := (not true) -#68 := (iff #65 false) -#69 := [rewrite]: #68 -#66 := (iff #60 #65) -#63 := (iff #43 true) -#64 := [rewrite]: #63 -#67 := [monotonicity #64]: #66 -#71 := [trans #67 #69]: #70 -#61 := (iff #16 #60) -#58 := (iff #15 #43) -#53 := (or #43 #43) -#56 := (iff #53 #43) -#57 := [rewrite]: #56 -#54 := (iff #15 #53) -#51 := (iff #14 #43) -#46 := (or false #43) -#49 := (iff #46 #43) -#50 := [rewrite]: #49 -#47 := (iff #14 #46) -#44 := (iff #13 #43) -#41 := (= #12 #40) -#42 := [rewrite]: #41 -#38 := (= #8 #10) -#39 := [rewrite]: #38 -#45 := [monotonicity #39 #42]: #44 -#48 := [monotonicity #45]: #47 -#52 := [trans #48 #50]: #51 -#55 := [monotonicity #45 #52]: #54 -#59 := [trans #55 #57]: #58 -#62 := [monotonicity #59]: #61 -#73 := [trans #62 #71]: #72 -#37 := [asserted]: #16 -[mp #37 #73]: false -unsat -6e7ef563e385e00340c905e5fb44172a278ff733 2215 0 -#2 := false -decl f12 :: Int -#52 := f12 -decl f5 :: Int -#13 := f5 -#64 := (= f5 f12) -#9 := 0::Int -#97 := -1::Int -#235 := (* -1::Int f12) -#733 := (+ f5 #235) -#735 := (>= #733 0::Int) -decl f10 :: Int -#40 := f10 -#201 := (* -1::Int f10) -#394 := (>= f10 0::Int) -#401 := (if #394 f10 #201) -#412 := (* -1::Int #401) -#746 := (+ f10 #412) -#748 := (>= #746 0::Int) -#916 := (not #748) -decl f11 :: Int -#46 := f11 -#218 := (* -1::Int f11) -#365 := (>= f11 0::Int) -#372 := (if #365 f11 #218) -#383 := (* -1::Int #372) -#743 := (+ f11 #383) -#745 := (>= #743 0::Int) -#717 := (= f11 #372) -#899 := (not #735) -#900 := [hypothesis]: #899 -#1902 := (or #365 #735) -decl f4 :: Int -#8 := f4 -#98 := (* -1::Int f4) -#568 := (>= f4 0::Int) -#575 := (if #568 f4 #98) -#586 := (* -1::Int #575) -#985 := (+ f4 #586) -#986 := (<= #985 0::Int) -#1269 := (not #986) -#888 := (<= #746 0::Int) -#709 := (= f10 #401) -#366 := (not #365) -#1202 := [hypothesis]: #366 -#1880 := (or #394 #735 #365) -#655 := (= f4 #575) -decl f3 :: Int -#7 := f3 -#116 := (* -1::Int f3) -#539 := (>= f3 0::Int) -#546 := (if #539 f3 #116) -#557 := (* -1::Int #546) -#761 := (+ f3 #557) -#762 := (<= #761 0::Int) -#669 := (= f3 #546) -#1863 := (or #539 #365 #735) -#395 := (not #394) -decl f6 :: Int -#16 := f6 -#510 := (>= f6 0::Int) -#511 := (not #510) -decl f9 :: Int -#34 := f9 -#184 := (* -1::Int f9) -#423 := (>= f9 0::Int) -#430 := (if #423 f9 #184) -#441 := (* -1::Int #430) -#749 := (+ f9 #441) -#751 := (>= #749 0::Int) -#701 := (= f9 #430) -#1430 := (>= #985 0::Int) -#1498 := (not #1430) -#587 := (+ f5 #586) -#588 := (+ f3 #587) -#649 := (<= #588 0::Int) -#589 := (= #588 0::Int) -decl f13 :: Int -#58 := f13 -#65 := (= f4 f13) -#66 := (and #64 #65) -#336 := (>= f12 0::Int) -#343 := (if #336 f12 #235) -#354 := (* -1::Int #343) -#355 := (+ f13 #354) -#356 := (+ f11 #355) -#357 := (= #356 0::Int) -#362 := (not #357) -#384 := (+ f12 #383) -#385 := (+ f10 #384) -#386 := (= #385 0::Int) -#391 := (not #386) -#413 := (+ f11 #412) -#414 := (+ f9 #413) -#415 := (= #414 0::Int) -#420 := (not #415) -#442 := (+ f10 #441) -decl f8 :: Int -#28 := f8 -#443 := (+ f8 #442) -#444 := (= #443 0::Int) -#449 := (not #444) -#167 := (* -1::Int f8) -#452 := (>= f8 0::Int) -#459 := (if #452 f8 #167) -#470 := (* -1::Int #459) -#471 := (+ f9 #470) -decl f7 :: Int -#22 := f7 -#472 := (+ f7 #471) -#473 := (= #472 0::Int) -#478 := (not #473) -#150 := (* -1::Int f7) -#481 := (>= f7 0::Int) -#488 := (if #481 f7 #150) -#499 := (* -1::Int #488) -#500 := (+ f8 #499) -#501 := (+ f6 #500) -#502 := (= #501 0::Int) -#507 := (not #502) -#133 := (* -1::Int f6) -#517 := (if #510 f6 #133) -#528 := (* -1::Int #517) -#529 := (+ f7 #528) -#530 := (+ f3 #529) -#531 := (= #530 0::Int) -#536 := (not #531) -#558 := (+ f6 #557) -#559 := (+ f4 #558) -#560 := (= #559 0::Int) -#565 := (not #560) -#594 := (not #589) -#624 := (or #594 #565 #536 #507 #478 #449 #420 #391 #362 #66) -#629 := (not #624) -#60 := (- f12) -#59 := (< f12 0::Int) -#61 := (if #59 #60 f12) -#62 := (- #61 f11) -#63 := (= f13 #62) -#67 := (implies #63 #66) -#54 := (- f11) -#53 := (< f11 0::Int) -#55 := (if #53 #54 f11) -#56 := (- #55 f10) -#57 := (= f12 #56) -#68 := (implies #57 #67) -#48 := (- f10) -#47 := (< f10 0::Int) -#49 := (if #47 #48 f10) -#50 := (- #49 f9) -#51 := (= f11 #50) -#69 := (implies #51 #68) -#42 := (- f9) -#41 := (< f9 0::Int) -#43 := (if #41 #42 f9) -#44 := (- #43 f8) -#45 := (= f10 #44) -#70 := (implies #45 #69) -#36 := (- f8) -#35 := (< f8 0::Int) -#37 := (if #35 #36 f8) -#38 := (- #37 f7) -#39 := (= f9 #38) -#71 := (implies #39 #70) -#30 := (- f7) -#29 := (< f7 0::Int) -#31 := (if #29 #30 f7) -#32 := (- #31 f6) -#33 := (= f8 #32) -#72 := (implies #33 #71) -#24 := (- f6) -#23 := (< f6 0::Int) -#25 := (if #23 #24 f6) -#26 := (- #25 f3) -#27 := (= f7 #26) -#73 := (implies #27 #72) -#18 := (- f3) -#17 := (< f3 0::Int) -#19 := (if #17 #18 f3) -#20 := (- #19 f4) -#21 := (= f6 #20) -#74 := (implies #21 #73) -#11 := (- f4) -#10 := (< f4 0::Int) -#12 := (if #10 #11 f4) -#14 := (- #12 f5) -#15 := (= f3 #14) -#75 := (implies #15 #74) -#76 := (not #75) -#632 := (iff #76 #629) -#238 := (if #59 #235 f12) -#244 := (+ #218 #238) -#249 := (= f13 #244) -#255 := (not #249) -#256 := (or #255 #66) -#221 := (if #53 #218 f11) -#227 := (+ #201 #221) -#232 := (= f12 #227) -#264 := (not #232) -#265 := (or #264 #256) -#204 := (if #47 #201 f10) -#210 := (+ #184 #204) -#215 := (= f11 #210) -#273 := (not #215) -#274 := (or #273 #265) -#187 := (if #41 #184 f9) -#193 := (+ #167 #187) -#198 := (= f10 #193) -#282 := (not #198) -#283 := (or #282 #274) -#170 := (if #35 #167 f8) -#176 := (+ #150 #170) -#181 := (= f9 #176) -#291 := (not #181) -#292 := (or #291 #283) -#153 := (if #29 #150 f7) -#159 := (+ #133 #153) -#164 := (= f8 #159) -#300 := (not #164) -#301 := (or #300 #292) -#136 := (if #23 #133 f6) -#142 := (+ #116 #136) -#147 := (= f7 #142) -#309 := (not #147) -#310 := (or #309 #301) -#119 := (if #17 #116 f3) -#125 := (+ #98 #119) -#130 := (= f6 #125) -#318 := (not #130) -#319 := (or #318 #310) -#101 := (if #10 #98 f4) -#107 := (* -1::Int f5) -#108 := (+ #107 #101) -#113 := (= f3 #108) -#327 := (not #113) -#328 := (or #327 #319) -#333 := (not #328) -#630 := (iff #333 #629) -#627 := (iff #328 #624) -#597 := (or #362 #66) -#600 := (or #391 #597) -#603 := (or #420 #600) -#606 := (or #449 #603) -#609 := (or #478 #606) -#612 := (or #507 #609) -#615 := (or #536 #612) -#618 := (or #565 #615) -#621 := (or #594 #618) -#625 := (iff #621 #624) -#626 := [rewrite]: #625 -#622 := (iff #328 #621) -#619 := (iff #319 #618) -#616 := (iff #310 #615) -#613 := (iff #301 #612) -#610 := (iff #292 #609) -#607 := (iff #283 #606) -#604 := (iff #274 #603) -#601 := (iff #265 #600) -#598 := (iff #256 #597) -#363 := (iff #255 #362) -#360 := (iff #249 #357) -#348 := (+ #218 #343) -#351 := (= f13 #348) -#358 := (iff #351 #357) -#359 := [rewrite]: #358 -#352 := (iff #249 #351) -#349 := (= #244 #348) -#346 := (= #238 #343) -#337 := (not #336) -#340 := (if #337 #235 f12) -#344 := (= #340 #343) -#345 := [rewrite]: #344 -#341 := (= #238 #340) -#338 := (iff #59 #337) -#339 := [rewrite]: #338 -#342 := [monotonicity #339]: #341 -#347 := [trans #342 #345]: #346 -#350 := [monotonicity #347]: #349 -#353 := [monotonicity #350]: #352 -#361 := [trans #353 #359]: #360 -#364 := [monotonicity #361]: #363 -#599 := [monotonicity #364]: #598 -#392 := (iff #264 #391) -#389 := (iff #232 #386) -#377 := (+ #201 #372) -#380 := (= f12 #377) -#387 := (iff #380 #386) -#388 := [rewrite]: #387 -#381 := (iff #232 #380) -#378 := (= #227 #377) -#375 := (= #221 #372) -#369 := (if #366 #218 f11) -#373 := (= #369 #372) -#374 := [rewrite]: #373 -#370 := (= #221 #369) -#367 := (iff #53 #366) -#368 := [rewrite]: #367 -#371 := [monotonicity #368]: #370 -#376 := [trans #371 #374]: #375 -#379 := [monotonicity #376]: #378 -#382 := [monotonicity #379]: #381 -#390 := [trans #382 #388]: #389 -#393 := [monotonicity #390]: #392 -#602 := [monotonicity #393 #599]: #601 -#421 := (iff #273 #420) -#418 := (iff #215 #415) -#406 := (+ #184 #401) -#409 := (= f11 #406) -#416 := (iff #409 #415) -#417 := [rewrite]: #416 -#410 := (iff #215 #409) -#407 := (= #210 #406) -#404 := (= #204 #401) -#398 := (if #395 #201 f10) -#402 := (= #398 #401) -#403 := [rewrite]: #402 -#399 := (= #204 #398) -#396 := (iff #47 #395) -#397 := [rewrite]: #396 -#400 := [monotonicity #397]: #399 -#405 := [trans #400 #403]: #404 -#408 := [monotonicity #405]: #407 -#411 := [monotonicity #408]: #410 -#419 := [trans #411 #417]: #418 -#422 := [monotonicity #419]: #421 -#605 := [monotonicity #422 #602]: #604 -#450 := (iff #282 #449) -#447 := (iff #198 #444) -#435 := (+ #167 #430) -#438 := (= f10 #435) -#445 := (iff #438 #444) -#446 := [rewrite]: #445 -#439 := (iff #198 #438) -#436 := (= #193 #435) -#433 := (= #187 #430) -#424 := (not #423) -#427 := (if #424 #184 f9) -#431 := (= #427 #430) -#432 := [rewrite]: #431 -#428 := (= #187 #427) -#425 := (iff #41 #424) -#426 := [rewrite]: #425 -#429 := [monotonicity #426]: #428 -#434 := [trans #429 #432]: #433 -#437 := [monotonicity #434]: #436 -#440 := [monotonicity #437]: #439 -#448 := [trans #440 #446]: #447 -#451 := [monotonicity #448]: #450 -#608 := [monotonicity #451 #605]: #607 -#479 := (iff #291 #478) -#476 := (iff #181 #473) -#464 := (+ #150 #459) -#467 := (= f9 #464) -#474 := (iff #467 #473) -#475 := [rewrite]: #474 -#468 := (iff #181 #467) -#465 := (= #176 #464) -#462 := (= #170 #459) -#453 := (not #452) -#456 := (if #453 #167 f8) -#460 := (= #456 #459) -#461 := [rewrite]: #460 -#457 := (= #170 #456) -#454 := (iff #35 #453) -#455 := [rewrite]: #454 -#458 := [monotonicity #455]: #457 -#463 := [trans #458 #461]: #462 -#466 := [monotonicity #463]: #465 -#469 := [monotonicity #466]: #468 -#477 := [trans #469 #475]: #476 -#480 := [monotonicity #477]: #479 -#611 := [monotonicity #480 #608]: #610 -#508 := (iff #300 #507) -#505 := (iff #164 #502) -#493 := (+ #133 #488) -#496 := (= f8 #493) -#503 := (iff #496 #502) -#504 := [rewrite]: #503 -#497 := (iff #164 #496) -#494 := (= #159 #493) -#491 := (= #153 #488) -#482 := (not #481) -#485 := (if #482 #150 f7) -#489 := (= #485 #488) -#490 := [rewrite]: #489 -#486 := (= #153 #485) -#483 := (iff #29 #482) -#484 := [rewrite]: #483 -#487 := [monotonicity #484]: #486 -#492 := [trans #487 #490]: #491 -#495 := [monotonicity #492]: #494 -#498 := [monotonicity #495]: #497 -#506 := [trans #498 #504]: #505 -#509 := [monotonicity #506]: #508 -#614 := [monotonicity #509 #611]: #613 -#537 := (iff #309 #536) -#534 := (iff #147 #531) -#522 := (+ #116 #517) -#525 := (= f7 #522) -#532 := (iff #525 #531) -#533 := [rewrite]: #532 -#526 := (iff #147 #525) -#523 := (= #142 #522) -#520 := (= #136 #517) -#514 := (if #511 #133 f6) -#518 := (= #514 #517) -#519 := [rewrite]: #518 -#515 := (= #136 #514) -#512 := (iff #23 #511) -#513 := [rewrite]: #512 -#516 := [monotonicity #513]: #515 -#521 := [trans #516 #519]: #520 -#524 := [monotonicity #521]: #523 -#527 := [monotonicity #524]: #526 -#535 := [trans #527 #533]: #534 -#538 := [monotonicity #535]: #537 -#617 := [monotonicity #538 #614]: #616 -#566 := (iff #318 #565) -#563 := (iff #130 #560) -#551 := (+ #98 #546) -#554 := (= f6 #551) -#561 := (iff #554 #560) -#562 := [rewrite]: #561 -#555 := (iff #130 #554) -#552 := (= #125 #551) -#549 := (= #119 #546) -#540 := (not #539) -#543 := (if #540 #116 f3) -#547 := (= #543 #546) -#548 := [rewrite]: #547 -#544 := (= #119 #543) -#541 := (iff #17 #540) -#542 := [rewrite]: #541 -#545 := [monotonicity #542]: #544 -#550 := [trans #545 #548]: #549 -#553 := [monotonicity #550]: #552 -#556 := [monotonicity #553]: #555 -#564 := [trans #556 #562]: #563 -#567 := [monotonicity #564]: #566 -#620 := [monotonicity #567 #617]: #619 -#595 := (iff #327 #594) -#592 := (iff #113 #589) -#580 := (+ #107 #575) -#583 := (= f3 #580) -#590 := (iff #583 #589) -#591 := [rewrite]: #590 -#584 := (iff #113 #583) -#581 := (= #108 #580) -#578 := (= #101 #575) -#569 := (not #568) -#572 := (if #569 #98 f4) -#576 := (= #572 #575) -#577 := [rewrite]: #576 -#573 := (= #101 #572) -#570 := (iff #10 #569) -#571 := [rewrite]: #570 -#574 := [monotonicity #571]: #573 -#579 := [trans #574 #577]: #578 -#582 := [monotonicity #579]: #581 -#585 := [monotonicity #582]: #584 -#593 := [trans #585 #591]: #592 -#596 := [monotonicity #593]: #595 -#623 := [monotonicity #596 #620]: #622 -#628 := [trans #623 #626]: #627 -#631 := [monotonicity #628]: #630 -#334 := (iff #76 #333) -#331 := (iff #75 #328) -#324 := (implies #113 #319) -#329 := (iff #324 #328) -#330 := [rewrite]: #329 -#325 := (iff #75 #324) -#322 := (iff #74 #319) -#315 := (implies #130 #310) -#320 := (iff #315 #319) -#321 := [rewrite]: #320 -#316 := (iff #74 #315) -#313 := (iff #73 #310) -#306 := (implies #147 #301) -#311 := (iff #306 #310) -#312 := [rewrite]: #311 -#307 := (iff #73 #306) -#304 := (iff #72 #301) -#297 := (implies #164 #292) -#302 := (iff #297 #301) -#303 := [rewrite]: #302 -#298 := (iff #72 #297) -#295 := (iff #71 #292) -#288 := (implies #181 #283) -#293 := (iff #288 #292) -#294 := [rewrite]: #293 -#289 := (iff #71 #288) -#286 := (iff #70 #283) -#279 := (implies #198 #274) -#284 := (iff #279 #283) -#285 := [rewrite]: #284 -#280 := (iff #70 #279) -#277 := (iff #69 #274) -#270 := (implies #215 #265) -#275 := (iff #270 #274) -#276 := [rewrite]: #275 -#271 := (iff #69 #270) -#268 := (iff #68 #265) -#261 := (implies #232 #256) -#266 := (iff #261 #265) -#267 := [rewrite]: #266 -#262 := (iff #68 #261) -#259 := (iff #67 #256) -#252 := (implies #249 #66) -#257 := (iff #252 #256) -#258 := [rewrite]: #257 -#253 := (iff #67 #252) -#250 := (iff #63 #249) -#247 := (= #62 #244) -#241 := (- #238 f11) -#245 := (= #241 #244) -#246 := [rewrite]: #245 -#242 := (= #62 #241) -#239 := (= #61 #238) -#236 := (= #60 #235) -#237 := [rewrite]: #236 -#240 := [monotonicity #237]: #239 -#243 := [monotonicity #240]: #242 -#248 := [trans #243 #246]: #247 -#251 := [monotonicity #248]: #250 -#254 := [monotonicity #251]: #253 -#260 := [trans #254 #258]: #259 -#233 := (iff #57 #232) -#230 := (= #56 #227) -#224 := (- #221 f10) -#228 := (= #224 #227) -#229 := [rewrite]: #228 -#225 := (= #56 #224) -#222 := (= #55 #221) -#219 := (= #54 #218) -#220 := [rewrite]: #219 -#223 := [monotonicity #220]: #222 -#226 := [monotonicity #223]: #225 -#231 := [trans #226 #229]: #230 -#234 := [monotonicity #231]: #233 -#263 := [monotonicity #234 #260]: #262 -#269 := [trans #263 #267]: #268 -#216 := (iff #51 #215) -#213 := (= #50 #210) -#207 := (- #204 f9) -#211 := (= #207 #210) -#212 := [rewrite]: #211 -#208 := (= #50 #207) -#205 := (= #49 #204) -#202 := (= #48 #201) -#203 := [rewrite]: #202 -#206 := [monotonicity #203]: #205 -#209 := [monotonicity #206]: #208 -#214 := [trans #209 #212]: #213 -#217 := [monotonicity #214]: #216 -#272 := [monotonicity #217 #269]: #271 -#278 := [trans #272 #276]: #277 -#199 := (iff #45 #198) -#196 := (= #44 #193) -#190 := (- #187 f8) -#194 := (= #190 #193) -#195 := [rewrite]: #194 -#191 := (= #44 #190) -#188 := (= #43 #187) -#185 := (= #42 #184) -#186 := [rewrite]: #185 -#189 := [monotonicity #186]: #188 -#192 := [monotonicity #189]: #191 -#197 := [trans #192 #195]: #196 -#200 := [monotonicity #197]: #199 -#281 := [monotonicity #200 #278]: #280 -#287 := [trans #281 #285]: #286 -#182 := (iff #39 #181) -#179 := (= #38 #176) -#173 := (- #170 f7) -#177 := (= #173 #176) -#178 := [rewrite]: #177 -#174 := (= #38 #173) -#171 := (= #37 #170) -#168 := (= #36 #167) -#169 := [rewrite]: #168 -#172 := [monotonicity #169]: #171 -#175 := [monotonicity #172]: #174 -#180 := [trans #175 #178]: #179 -#183 := [monotonicity #180]: #182 -#290 := [monotonicity #183 #287]: #289 -#296 := [trans #290 #294]: #295 -#165 := (iff #33 #164) -#162 := (= #32 #159) -#156 := (- #153 f6) -#160 := (= #156 #159) -#161 := [rewrite]: #160 -#157 := (= #32 #156) -#154 := (= #31 #153) -#151 := (= #30 #150) -#152 := [rewrite]: #151 -#155 := [monotonicity #152]: #154 -#158 := [monotonicity #155]: #157 -#163 := [trans #158 #161]: #162 -#166 := [monotonicity #163]: #165 -#299 := [monotonicity #166 #296]: #298 -#305 := [trans #299 #303]: #304 -#148 := (iff #27 #147) -#145 := (= #26 #142) -#139 := (- #136 f3) -#143 := (= #139 #142) -#144 := [rewrite]: #143 -#140 := (= #26 #139) -#137 := (= #25 #136) -#134 := (= #24 #133) -#135 := [rewrite]: #134 -#138 := [monotonicity #135]: #137 -#141 := [monotonicity #138]: #140 -#146 := [trans #141 #144]: #145 -#149 := [monotonicity #146]: #148 -#308 := [monotonicity #149 #305]: #307 -#314 := [trans #308 #312]: #313 -#131 := (iff #21 #130) -#128 := (= #20 #125) -#122 := (- #119 f4) -#126 := (= #122 #125) -#127 := [rewrite]: #126 -#123 := (= #20 #122) -#120 := (= #19 #119) -#117 := (= #18 #116) -#118 := [rewrite]: #117 -#121 := [monotonicity #118]: #120 -#124 := [monotonicity #121]: #123 -#129 := [trans #124 #127]: #128 -#132 := [monotonicity #129]: #131 -#317 := [monotonicity #132 #314]: #316 -#323 := [trans #317 #321]: #322 -#114 := (iff #15 #113) -#111 := (= #14 #108) -#104 := (- #101 f5) -#109 := (= #104 #108) -#110 := [rewrite]: #109 -#105 := (= #14 #104) -#102 := (= #12 #101) -#99 := (= #11 #98) -#100 := [rewrite]: #99 -#103 := [monotonicity #100]: #102 -#106 := [monotonicity #103]: #105 -#112 := [trans #106 #110]: #111 -#115 := [monotonicity #112]: #114 -#326 := [monotonicity #115 #323]: #325 -#332 := [trans #326 #330]: #331 -#335 := [monotonicity #332]: #334 -#633 := [trans #335 #631]: #632 -#96 := [asserted]: #76 -#634 := [mp #96 #633]: #629 -#635 := [not-or-elim #634]: #589 -#1489 := (or #594 #649) -#1490 := [th-lemma arith triangle-eq]: #1489 -#1491 := [unit-resolution #1490 #635]: #649 -#675 := (<= #559 0::Int) -#636 := [not-or-elim #634]: #560 -#1486 := (or #565 #675) -#1487 := [th-lemma arith triangle-eq]: #1486 -#1488 := [unit-resolution #1487 #636]: #675 -#1251 := (+ #167 #470) -#741 := (>= #1251 0::Int) -#1066 := [hypothesis]: #424 -#1804 := (or #539 #423) -#818 := [hypothesis]: #540 -#1760 := (or #394 #539 #423) -#747 := (+ #201 #412) -#1708 := (>= #747 0::Int) -#710 := (= #201 #401) -#1122 := [hypothesis]: #395 -#713 := (or #394 #710) -#714 := [def-axiom]: #713 -#1709 := [unit-resolution #714 #1122]: #710 -#1230 := (not #710) -#1710 := (or #1230 #1708) -#1711 := [th-lemma arith triangle-eq]: #1710 -#1712 := [unit-resolution #1711 #1709]: #1708 -#683 := (<= #530 0::Int) -#637 := [not-or-elim #634]: #531 -#895 := (or #536 #683) -#896 := [th-lemma arith triangle-eq]: #895 -#897 := [unit-resolution #896 #637]: #683 -#760 := (+ f6 #528) -#756 := (>= #760 0::Int) -#677 := (= f6 #517) -#1197 := (or #510 #423) -#989 := [hypothesis]: #511 -#1188 := (or #481 #510 #423) -#752 := (+ f8 #470) -#988 := (<= #752 0::Int) -#1014 := (not #988) -#1062 := (+ #150 #499) -#1161 := (<= #1062 0::Int) -#686 := (= #150 #488) -#891 := [hypothesis]: #482 -#689 := (or #481 #686) -#690 := [def-axiom]: #689 -#1169 := [unit-resolution #690 #891]: #686 -#1094 := (not #686) -#1170 := (or #1094 #1161) -#1171 := [th-lemma arith triangle-eq]: #1170 -#1172 := [unit-resolution #1171 #1169]: #1161 -#927 := (+ #184 #441) -#744 := (>= #927 0::Int) -#702 := (= #184 #430) -#705 := (or #423 #702) -#706 := [def-axiom]: #705 -#1071 := [unit-resolution #706 #1066]: #702 -#954 := (not #702) -#1173 := (or #954 #744) -#1174 := [th-lemma arith triangle-eq]: #1173 -#1175 := [unit-resolution #1174 #1071]: #744 -#1166 := (or #394 #423 #481) -#700 := (>= #472 0::Int) -#639 := [not-or-elim #634]: #473 -#1011 := (or #478 #700) -#1012 := [th-lemma arith triangle-eq]: #1011 -#1013 := [unit-resolution #1012 #639]: #700 -#928 := (<= #927 0::Int) -#955 := (or #954 #928) -#1027 := (not #928) -#1028 := [hypothesis]: #1027 -#1029 := [hypothesis]: #702 -#956 := [th-lemma arith triangle-eq]: #955 -#1030 := [unit-resolution #956 #1029 #1028]: false -#1031 := [lemma #1030]: #955 -#1072 := [unit-resolution #1031 #1071]: #928 -#708 := (>= #443 0::Int) -#640 := [not-or-elim #634]: #444 -#905 := (or #449 #708) -#906 := [th-lemma arith triangle-eq]: #905 -#907 := [unit-resolution #906 #640]: #708 -#1015 := (not #700) -#1048 := (not #708) -#1130 := (or #481 #394 #1048 #1014 #1015 #423 #1027) -#1131 := [th-lemma arith assign-bounds 1 1 1 1 2 1]: #1130 -#1162 := [unit-resolution #1131 #1122 #1066 #907 #891 #1072 #1013]: #1014 -#693 := (= f8 #459) -#1123 := (or #452 #423 #394 #1048 #1027) -#1124 := [th-lemma arith assign-bounds 1 1 1 1]: #1123 -#1163 := [unit-resolution #1124 #1122 #907 #1072 #1066]: #452 -#695 := (or #453 #693) -#696 := [def-axiom]: #695 -#1164 := [unit-resolution #696 #1163]: #693 -#1007 := (not #693) -#1008 := (or #1007 #988) -#1067 := [hypothesis]: #1014 -#1068 := [hypothesis]: #693 -#1009 := [th-lemma arith triangle-eq]: #1008 -#1069 := [unit-resolution #1009 #1068 #1067]: false -#1070 := [lemma #1069]: #1008 -#1165 := [unit-resolution #1070 #1164 #1162]: false -#1167 := [lemma #1165]: #1166 -#1176 := [unit-resolution #1167 #891 #1066]: #394 -#707 := (<= #443 0::Int) -#834 := (or #449 #707) -#835 := [th-lemma arith triangle-eq]: #834 -#836 := [unit-resolution #835 #640]: #707 -#692 := (>= #501 0::Int) -#638 := [not-or-elim #634]: #502 -#867 := (or #507 #692) -#868 := [th-lemma arith triangle-eq]: #867 -#869 := [unit-resolution #868 #638]: #692 -#1002 := (not #692) -#1179 := (not #1161) -#1178 := (not #707) -#1177 := (not #744) -#1180 := (or #1014 #1015 #1177 #1178 #481 #395 #1179 #1002 #510) -#1181 := [th-lemma arith assign-bounds 1 1 1 3 1 2 2 2]: #1180 -#1182 := [unit-resolution #1181 #891 #869 #1013 #836 #1176 #989 #1175 #1172]: #1014 -#1183 := (or #452 #1179 #1002 #510 #481) -#1184 := [th-lemma arith assign-bounds 1 1 1 1]: #1183 -#1185 := [unit-resolution #1184 #891 #869 #989 #1172]: #452 -#1186 := [unit-resolution #696 #1185]: #693 -#1187 := [unit-resolution #1070 #1186 #1182]: false -#1189 := [lemma #1187]: #1188 -#1168 := [unit-resolution #1189 #989 #1066]: #481 -#1159 := (or #539 #423 #510) -#755 := (+ f7 #499) -#812 := (<= #755 0::Int) -#685 := (= f7 #488) -#982 := (+ #133 #528) -#983 := (<= #982 0::Int) -#678 := (= #133 #517) -#681 := (or #510 #678) -#682 := [def-axiom]: #681 -#990 := [unit-resolution #682 #989]: #678 -#991 := (not #678) -#992 := (or #991 #983) -#993 := [th-lemma arith triangle-eq]: #992 -#994 := [unit-resolution #993 #990]: #983 -#684 := (>= #530 0::Int) -#814 := (or #536 #684) -#815 := [th-lemma arith triangle-eq]: #814 -#816 := [unit-resolution #815 #637]: #684 -#871 := (not #684) -#995 := (not #983) -#996 := (or #481 #995 #510 #539 #871) -#997 := [th-lemma arith assign-bounds 1 1 1 1]: #996 -#1152 := [unit-resolution #997 #818 #816 #994 #989]: #481 -#687 := (or #482 #685) -#688 := [def-axiom]: #687 -#1153 := [unit-resolution #688 #1152]: #685 -#876 := (not #685) -#877 := (or #876 #812) -#878 := [th-lemma arith triangle-eq]: #877 -#1154 := [unit-resolution #878 #1153]: #812 -#1001 := (not #812) -#1016 := (or #423 #510 #1014 #1015 #1001 #1002) -#1017 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1016 -#1155 := [unit-resolution #1017 #1154 #1013 #1066 #989 #869]: #1014 -#1003 := (or #452 #1001 #1002 #510 #995 #539 #871) -#1004 := [th-lemma arith assign-bounds 1 1 2 1 1 1]: #1003 -#1156 := [unit-resolution #1004 #1154 #816 #869 #818 #994 #989]: #452 -#1157 := [unit-resolution #696 #1156]: #693 -#1158 := [unit-resolution #1070 #1157 #1155]: false -#1160 := [lemma #1158]: #1159 -#1190 := [unit-resolution #1160 #989 #1066]: #539 -#984 := (>= #982 0::Int) -#1021 := (or #991 #984) -#1022 := [th-lemma arith triangle-eq]: #1021 -#1023 := [unit-resolution #1022 #990]: #984 -#1191 := [unit-resolution #688 #1168]: #685 -#1192 := [unit-resolution #878 #1191]: #812 -#1079 := (not #984) -#1051 := (not #683) -#1108 := (or #452 #1001 #1002 #482 #540 #1051 #1079) -#1109 := [th-lemma arith assign-bounds -1/2 1/2 1 1/2 -1/2 1/2]: #1108 -#1193 := [unit-resolution #1109 #1192 #1023 #869 #1190 #1168 #897]: #452 -#1194 := [unit-resolution #1017 #1192 #1013 #1066 #989 #869]: #1014 -#1195 := [unit-resolution #1070 #1194]: #1007 -#1196 := [unit-resolution #696 #1195 #1193]: false -#1198 := [lemma #1196]: #1197 -#1203 := [unit-resolution #1198 #1066]: #510 -#679 := (or #511 #677) -#680 := [def-axiom]: #679 -#1209 := [unit-resolution #680 #1203]: #677 -#830 := (not #677) -#958 := (or #830 #756) -#959 := [th-lemma arith triangle-eq]: #958 -#1713 := [unit-resolution #959 #1209]: #756 -#750 := (<= #749 0::Int) -#1268 := (not #750) -#1550 := [unit-resolution #1031 #1028]: #954 -#1551 := [unit-resolution #706 #1550]: #423 -#1552 := (or #928 #1268 #424) -#1553 := [th-lemma arith assign-bounds 1 -2]: #1552 -#1554 := [unit-resolution #1553 #1551 #1028]: #1268 -#703 := (or #424 #701) -#704 := [def-axiom]: #703 -#1555 := [unit-resolution #704 #1551]: #701 -#909 := (not #701) -#910 := (or #909 #750) -#911 := [th-lemma arith triangle-eq]: #910 -#1556 := [unit-resolution #911 #1555 #1554]: false -#1557 := [lemma #1556]: #928 -#758 := (+ #116 #557) -#759 := (<= #758 0::Int) -#670 := (= #116 #546) -#673 := (or #539 #670) -#674 := [def-axiom]: #673 -#819 := [unit-resolution #674 #818]: #670 -#804 := (not #670) -#805 := (or #804 #759) -#806 := [th-lemma arith triangle-eq]: #805 -#820 := [unit-resolution #806 #819]: #759 -#691 := (<= #501 0::Int) -#785 := (or #507 #691) -#786 := [th-lemma arith triangle-eq]: #785 -#787 := [unit-resolution #786 #638]: #691 -#757 := (>= #755 0::Int) -#1705 := (or #481 #423) -#1356 := (<= #1251 0::Int) -#1439 := (not #1356) -#754 := (>= #752 0::Int) -#1434 := (or #988 #754) -#1435 := [th-lemma arith farkas 1 1]: #1434 -#1436 := [unit-resolution #1435 #1067]: #754 -#1437 := [unit-resolution #1070 #1067]: #1007 -#1438 := [unit-resolution #696 #1437]: #453 -#797 := (not #754) -#1440 := (or #797 #1439 #452) -#1441 := [th-lemma arith assign-bounds 1 2]: #1440 -#1442 := [unit-resolution #1441 #1438 #1436]: #1439 -#694 := (= #167 #459) -#697 := (or #452 #694) -#698 := [def-axiom]: #697 -#1443 := [unit-resolution #698 #1438]: #694 -#1444 := (not #694) -#1445 := (or #1444 #1356) -#1446 := [th-lemma arith triangle-eq]: #1445 -#1447 := [unit-resolution #1446 #1443 #1442]: false -#1448 := [lemma #1447]: #988 -#1362 := [hypothesis]: #453 -#1466 := [unit-resolution #698 #1362]: #694 -#1478 := (or #1444 #741) -#1479 := [th-lemma arith triangle-eq]: #1478 -#1480 := [unit-resolution #1479 #1466]: #741 -#699 := (<= #472 0::Int) -#789 := (or #478 #699) -#790 := [th-lemma arith triangle-eq]: #789 -#791 := [unit-resolution #790 #639]: #699 -#1546 := (or #481 #452) -#668 := (not #65) -#734 := (<= #733 0::Int) -#811 := (<= #760 0::Int) -#1449 := (or #452 #1179 #510 #481) -#1450 := [unit-resolution #1184 #869]: #1449 -#1451 := [unit-resolution #1450 #1172 #1362 #891]: #510 -#1452 := [unit-resolution #680 #1451]: #677 -#831 := (or #830 #811) -#832 := [th-lemma arith triangle-eq]: #831 -#1453 := [unit-resolution #832 #1452]: #811 -#870 := (not #811) -#1454 := (or #481 #511 #870 #539) -#1035 := (or #481 #511 #870 #539 #871) -#1036 := [th-lemma arith assign-bounds 1 1 1 1]: #1035 -#1455 := [unit-resolution #1036 #816]: #1454 -#1456 := [unit-resolution #1455 #1453 #891 #1451]: #539 -#671 := (or #540 #669) -#672 := [def-axiom]: #671 -#1457 := [unit-resolution #672 #1456]: #669 -#776 := (not #669) -#777 := (or #776 #762) -#778 := [th-lemma arith triangle-eq]: #777 -#1458 := [unit-resolution #778 #1457]: #762 -#844 := (not #762) -#1459 := (or #568 #844 #870 #481) -#676 := (>= #559 0::Int) -#771 := (or #565 #676) -#772 := [th-lemma arith triangle-eq]: #771 -#773 := [unit-resolution #772 #636]: #676 -#823 := (not #676) -#1387 := (or #568 #823 #844 #870 #871 #481) -#1388 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1387 -#1460 := [unit-resolution #1388 #816 #773]: #1459 -#1461 := [unit-resolution #1460 #1458 #891 #1453]: #568 -#653 := (or #569 #655) -#654 := [def-axiom]: #653 -#1462 := [unit-resolution #654 #1461]: #655 -#1263 := (not #655) -#1463 := (or #1263 #1430) -#1464 := [th-lemma arith triangle-eq]: #1463 -#1465 := [unit-resolution #1464 #1462]: #1430 -#1200 := (<= #743 0::Int) -#1467 := [unit-resolution #1446 #1466]: #1356 -#1468 := (or #423 #1439 #481 #1015 #452) -#1469 := [th-lemma arith assign-bounds 1 1 1 1]: #1468 -#1470 := [unit-resolution #1469 #891 #1013 #1362 #1467]: #423 -#1471 := [unit-resolution #704 #1470]: #701 -#1472 := [unit-resolution #911 #1471]: #750 -#1376 := (or #452 #365 #1268) -#854 := (not #709) -#1267 := (not #888) -#1252 := [hypothesis]: #750 -#716 := (>= #414 0::Int) -#641 := [not-or-elim #634]: #415 -#1215 := (or #420 #716) -#1216 := [th-lemma arith triangle-eq]: #1215 -#1217 := [unit-resolution #1216 #641]: #716 -#1240 := (not #716) -#1363 := (or #1267 #365 #1240 #1268 #1048 #452) -#1364 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1363 -#1365 := [unit-resolution #1364 #1362 #1217 #1202 #1252 #907]: #1267 -#1219 := (or #854 #888) -#1358 := [hypothesis]: #1267 -#1359 := [hypothesis]: #709 -#1220 := [th-lemma arith triangle-eq]: #1219 -#1360 := [unit-resolution #1220 #1359 #1358]: false -#1361 := [lemma #1360]: #1219 -#1366 := [unit-resolution #1361 #1365]: #854 -#711 := (or #395 #709) -#712 := [def-axiom]: #711 -#1367 := [unit-resolution #712 #1366]: #395 -#1368 := [unit-resolution #714 #1367]: #710 -#753 := (<= #747 0::Int) -#1227 := (not #753) -#1369 := (or #748 #365 #1240 #1268 #1048 #452) -#1370 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1369 -#1371 := [unit-resolution #1370 #1362 #1217 #1202 #907 #1252]: #748 -#1372 := (or #916 #1227 #394) -#1373 := [th-lemma arith assign-bounds 1 2]: #1372 -#1374 := [unit-resolution #1373 #1367 #1371]: #1227 -#1231 := (or #1230 #753) -#1228 := [hypothesis]: #1227 -#1229 := [hypothesis]: #710 -#1232 := [th-lemma arith triangle-eq]: #1231 -#1233 := [unit-resolution #1232 #1229 #1228]: false -#1234 := [lemma #1233]: #1231 -#1375 := [unit-resolution #1234 #1374 #1368]: false -#1377 := [lemma #1375]: #1376 -#1473 := [unit-resolution #1377 #1472 #1362]: #365 -#719 := (or #366 #717) -#720 := [def-axiom]: #719 -#1474 := [unit-resolution #720 #1473]: #717 -#860 := (not #717) -#1475 := (or #860 #1200) -#1476 := [th-lemma arith triangle-eq]: #1475 -#1477 := [unit-resolution #1476 #1474]: #1200 -#1481 := (or #394 #481 #1268) -#1273 := (or #394 #481 #1014 #1015 #1268 #1048) -#1274 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1273 -#1482 := [unit-resolution #1274 #907 #1448 #1013]: #1481 -#1483 := [unit-resolution #1482 #1472 #891]: #394 -#1484 := [unit-resolution #712 #1483]: #709 -#1485 := [unit-resolution #1361 #1484]: #888 -#724 := (>= #385 0::Int) -#642 := [not-or-elim #634]: #386 -#1492 := (or #391 #724) -#1493 := [th-lemma arith triangle-eq]: #1492 -#1494 := [unit-resolution #1493 #642]: #724 -#933 := (>= #761 0::Int) -#1495 := (or #776 #933) -#1496 := [th-lemma arith triangle-eq]: #1495 -#1497 := [unit-resolution #1496 #1457]: #933 -#1504 := (not #675) -#1503 := (not #933) -#1050 := (not #699) -#1502 := (not #741) -#1501 := (not #724) -#1500 := (not #1200) -#1499 := (not #649) -#1505 := (or #734 #1498 #1499 #1179 #1002 #1500 #1501 #1502 #1050 #1503 #1504 #1267 #1240) -#1506 := [th-lemma arith assign-bounds 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1]: #1505 -#1507 := [unit-resolution #1506 #1497 #869 #791 #1217 #1494 #1491 #1488 #1172 #1485 #1480 #1477 #1465]: #734 -#1064 := (>= #1062 0::Int) -#1095 := (or #1094 #1064) -#1090 := (not #1064) -#1065 := [hypothesis]: #1090 -#1093 := [hypothesis]: #686 -#1096 := [th-lemma arith triangle-eq]: #1095 -#1097 := [unit-resolution #1096 #1093 #1065]: false -#1098 := [lemma #1097]: #1095 -#1208 := [unit-resolution #1098 #1169]: #1064 -#1264 := (or #1263 #986) -#1265 := [th-lemma arith triangle-eq]: #1264 -#1508 := [unit-resolution #1265 #1462]: #986 -#855 := (or #854 #748) -#856 := [th-lemma arith triangle-eq]: #855 -#1509 := [unit-resolution #856 #1484]: #748 -#650 := (>= #588 0::Int) -#901 := (or #594 #650) -#902 := [th-lemma arith triangle-eq]: #901 -#903 := [unit-resolution #902 #635]: #650 -#723 := (<= #385 0::Int) -#780 := (or #391 #723) -#781 := [th-lemma arith triangle-eq]: #780 -#782 := [unit-resolution #781 #642]: #723 -#715 := (<= #414 0::Int) -#880 := (or #420 #715) -#881 := [th-lemma arith triangle-eq]: #880 -#882 := [unit-resolution #881 #641]: #715 -#861 := (or #860 #745) -#795 := (not #745) -#1204 := [hypothesis]: #795 -#1205 := [hypothesis]: #717 -#862 := [th-lemma arith triangle-eq]: #861 -#1206 := [unit-resolution #862 #1205 #1204]: false -#1207 := [lemma #1206]: #861 -#1510 := [unit-resolution #1207 #1474]: #745 -#947 := (not #715) -#822 := (not #723) -#1049 := (not #691) -#948 := (not #650) -#1511 := (or #735 #1269 #948 #1090 #1049 #795 #822 #1439 #1015 #844 #823 #916 #947) -#1512 := [th-lemma arith assign-bounds 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1]: #1511 -#1513 := [unit-resolution #1512 #1510 #787 #1013 #882 #782 #903 #773 #1458 #1509 #1508 #1208 #1467]: #735 -#949 := (not #734) -#1514 := (or #64 #949 #899) -#1515 := [th-lemma arith triangle-eq]: #1514 -#1516 := [unit-resolution #1515 #1513 #1507]: #64 -#667 := (not #64) -#647 := (or #667 #668) -#644 := (not #66) -#660 := (iff #644 #647) -#648 := (not #647) -#663 := (not #648) -#662 := (iff #663 #647) -#659 := [rewrite]: #662 -#664 := (iff #644 #663) -#665 := (iff #66 #648) -#666 := [rewrite]: #665 -#661 := [monotonicity #666]: #664 -#657 := [trans #661 #659]: #660 -#645 := [not-or-elim #634]: #644 -#658 := [mp #645 #657]: #647 -#1517 := [unit-resolution #658 #1516]: #668 -#736 := (* -1::Int f13) -#737 := (+ f4 #736) -#739 := (>= #737 0::Int) -#1431 := (+ #235 #354) -#1433 := (>= #1431 0::Int) -#726 := (= #235 #343) -#1518 := (or #337 #795 #822 #452 #1439 #481 #1015 #916 #947) -#1519 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1518 -#1520 := [unit-resolution #1519 #891 #1013 #882 #782 #1362 #1510 #1509 #1467]: #337 -#729 := (or #336 #726) -#730 := [def-axiom]: #729 -#1521 := [unit-resolution #730 #1520]: #726 -#1522 := (not #726) -#1523 := (or #1522 #1433) -#1524 := [th-lemma arith triangle-eq]: #1523 -#1525 := [unit-resolution #1524 #1521]: #1433 -#731 := (<= #356 0::Int) -#643 := [not-or-elim #634]: #357 -#767 := (or #362 #731) -#768 := [th-lemma arith triangle-eq]: #767 -#769 := [unit-resolution #768 #643]: #731 -#824 := (not #731) -#1526 := (not #1433) -#1527 := (or #739 #1526 #1500 #1501 #1502 #1050 #1267 #1240 #824 #844 #823 #870 #871 #1268 #1048) -#1528 := [th-lemma arith assign-bounds -1 1 -1 -1 1 2 -2 1 1 -1 1 -1 1 -1]: #1527 -#1529 := [unit-resolution #1528 #1458 #791 #907 #1217 #1494 #769 #773 #816 #1453 #1472 #1485 #1480 #1477 #1525]: #739 -#738 := (<= #737 0::Int) -#1432 := (<= #1431 0::Int) -#1530 := (or #1522 #1432) -#1531 := [th-lemma arith triangle-eq]: #1530 -#1532 := [unit-resolution #1531 #1521]: #1432 -#1533 := [unit-resolution #959 #1452]: #756 -#1407 := (or #909 #751) -#1408 := [th-lemma arith triangle-eq]: #1407 -#1534 := [unit-resolution #1408 #1471]: #751 -#732 := (>= #356 0::Int) -#1535 := (or #362 #732) -#1536 := [th-lemma arith triangle-eq]: #1535 -#1537 := [unit-resolution #1536 #643]: #732 -#838 := (not #751) -#917 := (not #756) -#1539 := (not #732) -#1538 := (not #1432) -#1540 := (or #738 #1538 #795 #822 #1439 #1015 #916 #947 #1539 #1503 #1504 #917 #1051 #838 #1178) -#1541 := [th-lemma arith assign-bounds -1 1 -1 -1 1 2 -2 1 1 -1 1 -1 1 -1]: #1540 -#1542 := [unit-resolution #1541 #1510 #1013 #836 #882 #782 #1537 #1488 #897 #1534 #1509 #1533 #1497 #1467 #1532]: #738 -#765 := (not #739) -#825 := (not #738) -#1543 := (or #65 #825 #765) -#1544 := [th-lemma arith triangle-eq]: #1543 -#1545 := [unit-resolution #1544 #1542 #1529 #1517]: false -#1547 := [lemma #1545]: #1546 -#1572 := [unit-resolution #1547 #1362]: #481 -#1594 := (or #1027 #1502 #482 #1050 #1048 #394) -#1595 := [th-lemma arith assign-bounds -1 -1 1 -1 1]: #1594 -#1596 := [unit-resolution #1595 #1480 #907 #1572 #1557 #791]: #394 -#1597 := [unit-resolution #712 #1596]: #709 -#1598 := [unit-resolution #1361 #1597]: #888 -#1573 := [unit-resolution #688 #1572]: #685 -#1574 := [unit-resolution #878 #1573]: #812 -#1680 := (or #1161 #482 #1001) -#1681 := [th-lemma arith assign-bounds 2 -1]: #1680 -#1682 := [unit-resolution #1681 #1574 #1572]: #1161 -#1549 := [hypothesis]: #870 -#1558 := [hypothesis]: #677 -#1559 := [unit-resolution #832 #1558 #1549]: false -#1560 := [lemma #1559]: #831 -#1561 := [unit-resolution #1560 #1549]: #830 -#1562 := [unit-resolution #680 #1561]: #511 -#1304 := (or #811 #510 #995) -#1305 := [th-lemma arith assign-bounds 2 1]: #1304 -#1563 := [unit-resolution #1305 #1562 #1549]: #995 -#1564 := [unit-resolution #682 #1562]: #678 -#1565 := [unit-resolution #993 #1564 #1563]: false -#1566 := [lemma #1565]: #811 -#1575 := (or #452 #1001 #870 #539) -#1040 := (or #452 #1001 #1002 #870 #539 #871) -#1041 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1040 -#1576 := [unit-resolution #1041 #869 #816]: #1575 -#1577 := [unit-resolution #1576 #1574 #1566 #1362]: #539 -#1578 := [unit-resolution #672 #1577]: #669 -#1579 := [unit-resolution #1496 #1578]: #933 -#1636 := (or #423 #452) -#886 := (+ #98 #586) -#1570 := (>= #886 0::Int) -#656 := (= #98 #575) -#1580 := (or #452 #1001 #482 #540 #1079) -#1581 := [unit-resolution #1109 #869 #897]: #1580 -#1582 := [unit-resolution #1581 #1577 #1572 #1362 #1574]: #1079 -#1548 := [hypothesis]: #1079 -#1567 := [hypothesis]: #678 -#1568 := [unit-resolution #1022 #1567 #1548]: false -#1569 := [lemma #1568]: #1021 -#1583 := [unit-resolution #1569 #1582]: #991 -#1584 := [unit-resolution #682 #1583]: #510 -#1585 := [unit-resolution #680 #1584]: #677 -#1586 := [unit-resolution #959 #1585]: #756 -#1587 := (or #569 #1504 #917 #1051 #1503 #1439 #1015 #423 #452) -#1588 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1587 -#1589 := [unit-resolution #1588 #1066 #897 #1362 #1013 #1488 #1586 #1579 #1467]: #569 -#651 := (or #568 #656) -#652 := [def-axiom]: #651 -#1590 := [unit-resolution #652 #1589]: #656 -#922 := (not #656) -#1591 := (or #922 #1570) -#1592 := [th-lemma arith triangle-eq]: #1591 -#1593 := [unit-resolution #1592 #1590]: #1570 -#1599 := [unit-resolution #778 #1578]: #762 -#1602 := (or #365 #1267 #1027 #423 #452) -#1600 := (or #365 #1267 #1240 #1027 #1048 #423 #452) -#1601 := [th-lemma arith assign-bounds 1 1 1 1 2 1]: #1600 -#1603 := [unit-resolution #1601 #907 #1217]: #1602 -#1604 := [unit-resolution #1603 #1066 #1557 #1362 #1598]: #365 -#1605 := [unit-resolution #720 #1604]: #717 -#1606 := [unit-resolution #1476 #1605]: #1200 -#1607 := (not #1570) -#1608 := (or #734 #1499 #1500 #1501 #1502 #1050 #823 #1267 #1240 #1001 #1002 #844 #1607 #870 #871) -#1609 := [th-lemma arith assign-bounds -1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -2 2]: #1608 -#1610 := [unit-resolution #1609 #1606 #816 #869 #791 #1217 #1494 #1491 #1599 #1566 #1574 #1598 #773 #1480 #1593]: #734 -#1611 := [unit-resolution #856 #1597]: #748 -#887 := (<= #886 0::Int) -#923 := (or #922 #887) -#915 := (not #887) -#920 := [hypothesis]: #915 -#921 := [hypothesis]: #656 -#924 := [th-lemma arith triangle-eq]: #923 -#925 := [unit-resolution #924 #921 #920]: false -#926 := [lemma #925]: #923 -#1612 := [unit-resolution #926 #1590]: #887 -#940 := (or #876 #757) -#941 := [th-lemma arith triangle-eq]: #940 -#1613 := [unit-resolution #941 #1573]: #757 -#1614 := [unit-resolution #1207 #1605]: #745 -#794 := (not #757) -#1615 := (or #735 #948 #795 #822 #1439 #1015 #1504 #916 #947 #794 #1049 #1503 #915 #917 #1051) -#1616 := [th-lemma arith assign-bounds -1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -2 2]: #1615 -#1617 := [unit-resolution #1616 #1614 #897 #787 #1013 #882 #782 #903 #1488 #1613 #1612 #1611 #1586 #1579 #1467]: #735 -#1618 := [unit-resolution #1515 #1617 #1610]: #64 -#1619 := [unit-resolution #658 #1618]: #668 -#740 := (+ f12 #354) -#1571 := (<= #740 0::Int) -#725 := (= f12 #343) -#1620 := (or #336 #1500 #1501 #1267 #1240 #423) -#1621 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1620 -#1622 := [unit-resolution #1621 #1066 #1494 #1217 #1598 #1606]: #336 -#727 := (or #337 #725) -#728 := [def-axiom]: #727 -#1623 := [unit-resolution #728 #1622]: #725 -#1394 := (not #725) -#1624 := (or #1394 #1571) -#1625 := [th-lemma arith triangle-eq]: #1624 -#1626 := [unit-resolution #1625 #1623]: #1571 -#1627 := (not #1571) -#1628 := (or #738 #1627 #1500 #1501 #1539 #1504 #917 #1051 #1503 #1439 #1015 #1177 #1178) -#1629 := [th-lemma arith assign-bounds 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1]: #1628 -#1630 := [unit-resolution #1629 #1175 #1013 #836 #1494 #1537 #1488 #1586 #1579 #897 #1467 #1606 #1626]: #738 -#742 := (>= #740 0::Int) -#1395 := (or #1394 #742) -#1396 := [th-lemma arith triangle-eq]: #1395 -#1631 := [unit-resolution #1396 #1623]: #742 -#796 := (not #742) -#1632 := (or #739 #796 #795 #822 #824 #823 #870 #871 #844 #1502 #1050 #1027 #1048) -#1633 := [th-lemma arith assign-bounds 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1]: #1632 -#1634 := [unit-resolution #1633 #1614 #791 #907 #782 #769 #773 #816 #1631 #1599 #1566 #1557 #1480]: #739 -#1635 := [unit-resolution #1544 #1634 #1630 #1619]: false -#1637 := [lemma #1635]: #1636 -#1683 := [unit-resolution #1637 #1362]: #423 -#1684 := [unit-resolution #704 #1683]: #701 -#1685 := [unit-resolution #911 #1684]: #750 -#1686 := [unit-resolution #1377 #1685 #1362]: #365 -#1687 := [unit-resolution #720 #1686]: #717 -#1688 := [unit-resolution #1476 #1687]: #1200 -#1689 := [unit-resolution #1207 #1687]: #745 -#1663 := (or #735 #844 #916 #795 #1439 #794 #917 #1503) -#1652 := [hypothesis]: #1356 -#784 := [hypothesis]: #745 -#913 := [hypothesis]: #748 -#889 := [hypothesis]: #762 -#1653 := [hypothesis]: #933 -#898 := [hypothesis]: #756 -#788 := [hypothesis]: #757 -#1654 := [unit-resolution #1616 #900 #897 #787 #1013 #882 #782 #903 #1488 #788 #784 #913 #898 #1653 #1652]: #915 -#1655 := [unit-resolution #926 #1654]: #922 -#1656 := [unit-resolution #652 #1655]: #568 -#1657 := [unit-resolution #654 #1656]: #655 -#1658 := [unit-resolution #1265 #1657]: #986 -#1659 := (or #1064 #794 #1504 #569 #917 #1051 #1503) -#1660 := [th-lemma arith assign-bounds -1 2 -2 -2 2 -2]: #1659 -#1661 := [unit-resolution #1660 #1656 #897 #788 #898 #1488 #1653]: #1064 -#1662 := [unit-resolution #1512 #1661 #1658 #787 #1013 #882 #782 #903 #773 #889 #913 #784 #900 #1652]: false -#1664 := [lemma #1662]: #1663 -#1690 := [unit-resolution #1664 #1599 #1611 #1689 #1467 #1613 #1586 #1579]: #735 -#1650 := (or #739 #795 #844 #1502 #1500 #1268 #1267) -#1642 := [hypothesis]: #741 -#766 := [hypothesis]: #765 -#1643 := [unit-resolution #1633 #766 #791 #907 #782 #769 #773 #816 #784 #889 #1566 #1557 #1642]: #796 -#1385 := [hypothesis]: #888 -#1644 := [hypothesis]: #1200 -#1645 := [unit-resolution #1528 #766 #791 #907 #1217 #1494 #769 #1644 #889 #1566 #1252 #1385 #1642 #816 #773]: #1526 -#1638 := [hypothesis]: #1526 -#1639 := [hypothesis]: #726 -#1640 := [unit-resolution #1524 #1639 #1638]: false -#1641 := [lemma #1640]: #1523 -#1646 := [unit-resolution #1641 #1645]: #1522 -#1647 := [unit-resolution #730 #1646]: #336 -#1648 := [unit-resolution #728 #1647]: #725 -#1649 := [unit-resolution #1396 #1648 #1643]: false -#1651 := [lemma #1649]: #1650 -#1691 := [unit-resolution #1651 #1689 #1599 #1480 #1688 #1685 #1598]: #739 -#1692 := [unit-resolution #1408 #1684]: #751 -#1675 := (or #738 #795 #916 #917 #1503 #1439 #838) -#813 := [hypothesis]: #751 -#1668 := [hypothesis]: #825 -#1669 := [unit-resolution #1541 #1668 #1013 #836 #882 #782 #1537 #1652 #784 #813 #913 #898 #1653 #897 #1488]: #1538 -#1665 := [hypothesis]: #1538 -#1666 := [unit-resolution #1531 #1639 #1665]: false -#1667 := [lemma #1666]: #1530 -#1670 := [unit-resolution #1667 #1669]: #1522 -#1671 := [unit-resolution #730 #1670]: #336 -#1672 := [unit-resolution #728 #1671]: #725 -#1673 := [unit-resolution #1625 #1672]: #1571 -#1674 := [th-lemma arith farkas 1/2 -1/2 1 -1 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 1/2 -1/2 1 #784 #782 #913 #882 #1488 #898 #897 #1653 #1652 #1013 #1673 #1537 #1668 #813 #836 #1671]: false -#1676 := [lemma #1674]: #1675 -#1693 := [unit-resolution #1676 #1689 #1611 #1586 #1579 #1467 #1692]: #738 -#1694 := [unit-resolution #1544 #1693 #1691]: #65 -#1695 := [unit-resolution #658 #1694]: #667 -#1696 := [unit-resolution #1515 #1695 #1690]: #949 -#1697 := [unit-resolution #1506 #1696 #869 #791 #1217 #1494 #1688 #1579 #1682 #1598 #1480 #1488 #1491]: #1498 -#1698 := [unit-resolution #1609 #1696 #816 #869 #791 #1217 #1494 #1688 #1599 #1566 #1574 #1598 #773 #1480 #1491]: #1607 -#1677 := [hypothesis]: #1607 -#1678 := [unit-resolution #1592 #921 #1677]: false -#1679 := [lemma #1678]: #1591 -#1699 := [unit-resolution #1679 #1698]: #922 -#1700 := [unit-resolution #652 #1699]: #568 -#1701 := [unit-resolution #654 #1700]: #655 -#1702 := [unit-resolution #1464 #1701 #1697]: false -#1703 := [lemma #1702]: #452 -#1704 := [th-lemma arith farkas 1 1 1 1 1 #1703 #891 #1013 #1066 #1448]: false -#1706 := [lemma #1704]: #1705 -#1714 := [unit-resolution #1706 #1066]: #481 -#1715 := [unit-resolution #688 #1714]: #685 -#1716 := [unit-resolution #941 #1715]: #757 -#1717 := [unit-resolution #696 #1703]: #693 -#1044 := (or #1007 #754) -#1045 := [th-lemma arith triangle-eq]: #1044 -#1718 := [unit-resolution #1045 #1717]: #754 -#1076 := (or #838 #423 #1027) -#1077 := [th-lemma arith assign-bounds 2 1]: #1076 -#1719 := [unit-resolution #1077 #1066 #1557]: #838 -#1720 := (or #750 #751) -#1721 := [th-lemma arith farkas 1 1]: #1720 -#1722 := [unit-resolution #1721 #1719]: #750 -#1723 := [unit-resolution #1234 #1709]: #753 -#1726 := (or #1177 #1268 #394 #365 #1227) -#1724 := (or #1177 #1268 #394 #365 #1227 #1240) -#1725 := [th-lemma arith assign-bounds 1 2 2 2 2]: #1724 -#1727 := [unit-resolution #1725 #1217]: #1726 -#1728 := [unit-resolution #1727 #1723 #1722 #1122 #1175]: #365 -#1729 := [unit-resolution #720 #1728]: #717 -#1730 := [unit-resolution #1207 #1729]: #745 -#821 := (not #759) -#1731 := (or #568 #823 #797 #1050 #794 #1049 #821 #394 #1048 #1027 #917 #1051) -#1732 := [th-lemma arith assign-bounds 1 1 1 2 2 1 1 1 1 1 1]: #1731 -#1733 := [unit-resolution #1732 #1122 #897 #787 #791 #907 #773 #1716 #1718 #820 #1713 #1557]: #568 -#1734 := [unit-resolution #654 #1733]: #655 -#1735 := [unit-resolution #1265 #1734]: #986 -#1736 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 1 -1 1 -3 3 1 -2 2 -2 2 -1 #1735 #903 #773 #1730 #782 #882 #1718 #791 #1716 #787 #820 #907 #1557 #1713 #897 #1712]: #735 -#1707 := (>= #758 0::Int) -#1737 := (or #804 #1707) -#1738 := [th-lemma arith triangle-eq]: #1737 -#1739 := [unit-resolution #1738 #819]: #1707 -#1740 := [unit-resolution #878 #1715]: #812 -#1741 := [unit-resolution #1476 #1729]: #1200 -#1742 := [unit-resolution #1464 #1734]: #1430 -#1743 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 1 -1 1 -3 3 1 -2 2 -2 2 -1 #1742 #1491 #1488 #1741 #1494 #1217 #1448 #1013 #1740 #869 #1739 #836 #1175 #1566 #816 #1723]: #734 -#1744 := [unit-resolution #1515 #1743 #1736]: #64 -#1745 := [unit-resolution #1373 #1723 #1122]: #916 -#1746 := (or #888 #748) -#1747 := [th-lemma arith farkas 1 1]: #1746 -#1748 := [unit-resolution #1747 #1745]: #888 -#1749 := [unit-resolution #1621 #1741 #1494 #1217 #1066 #1748]: #336 -#1750 := [unit-resolution #728 #1749]: #725 -#1751 := [unit-resolution #1396 #1750]: #742 -#1060 := (or #539 #795 #796 #739) -#770 := [hypothesis]: #742 -#1025 := (or #510 #795 #796 #739 #539) -#998 := [unit-resolution #997 #989 #816 #818 #994]: #481 -#999 := [unit-resolution #688 #998]: #685 -#1000 := [unit-resolution #878 #999]: #812 -#1005 := [unit-resolution #1004 #989 #816 #869 #818 #994 #1000]: #452 -#1006 := [unit-resolution #696 #1005]: #693 -#1010 := [unit-resolution #1009 #1006]: #988 -#1018 := [unit-resolution #1017 #989 #1013 #869 #1000 #1010]: #423 -#1019 := [unit-resolution #704 #1018]: #701 -#1020 := [unit-resolution #911 #1019]: #750 -#1024 := [th-lemma arith farkas -1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1 #907 #784 #782 #820 #773 #770 #769 #766 #1023 #897 #1010 #1013 #1020]: false -#1026 := [lemma #1024]: #1025 -#987 := [unit-resolution #1026 #818 #770 #766 #784]: #510 -#1032 := [unit-resolution #680 #987]: #677 -#1033 := [unit-resolution #959 #1032]: #756 -#1034 := [unit-resolution #832 #1032]: #811 -#1037 := [unit-resolution #1036 #987 #816 #818 #1034]: #481 -#1038 := [unit-resolution #688 #1037]: #685 -#1039 := [unit-resolution #878 #1038]: #812 -#1042 := [unit-resolution #1041 #818 #869 #816 #1034 #1039]: #452 -#1043 := [unit-resolution #696 #1042]: #693 -#1046 := [unit-resolution #1045 #1043]: #754 -#1047 := [unit-resolution #941 #1038]: #757 -#1052 := (or #1027 #1048 #796 #824 #739 #794 #1049 #797 #1050 #795 #822 #821 #823 #917 #1051) -#1053 := [th-lemma arith assign-bounds -1 -1 1 1 -2 2 -1 1 -1 1 1 -1 -1 1]: #1052 -#1054 := [unit-resolution #1053 #1047 #787 #791 #907 #782 #769 #766 #770 #784 #897 #1046 #820 #1033 #773]: #1027 -#1055 := [unit-resolution #1031 #1054]: #954 -#1056 := [unit-resolution #706 #1055]: #423 -#1057 := [unit-resolution #704 #1056]: #701 -#1058 := [unit-resolution #911 #1057]: #750 -#1059 := [th-lemma arith farkas 1/2 -1/2 1 -1 -1/2 1/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1 #1046 #791 #1047 #787 #1058 #907 #784 #782 #820 #773 #770 #769 #766 #1033 #897 #1056]: false -#1061 := [lemma #1059]: #1060 -#1752 := [unit-resolution #1061 #1751 #818 #1730]: #739 -#1753 := [unit-resolution #1625 #1750]: #1571 -#1754 := (not #1707) -#1755 := (or #738 #1504 #1627 #1500 #1501 #1539 #1178 #1177 #1001 #1002 #1014 #1015 #870 #871 #1754) -#1756 := [th-lemma arith assign-bounds 1 1 1 -1 -1 1 -1 2 -2 1 -1 1 -1 -1]: #1755 -#1757 := [unit-resolution #1756 #1741 #869 #1013 #836 #1494 #1537 #1488 #1566 #1740 #1448 #1175 #816 #1753 #1739]: #738 -#1758 := [unit-resolution #1544 #1757 #1752]: #65 -#1759 := [unit-resolution #658 #1758 #1744]: false -#1761 := [lemma #1759]: #1760 -#1774 := [unit-resolution #1761 #818 #1066]: #394 -#1775 := [unit-resolution #712 #1774]: #709 -#1776 := [unit-resolution #1361 #1775]: #888 -#1779 := (or #1177 #1268 #1267 #365 #395) -#1777 := (or #1177 #1268 #1267 #1240 #365 #395) -#1778 := [th-lemma arith assign-bounds 1 2 2 2 2]: #1777 -#1780 := [unit-resolution #1778 #1217]: #1779 -#1781 := [unit-resolution #1780 #1776 #1722 #1774 #1175]: #365 -#1782 := [unit-resolution #720 #1781]: #717 -#1783 := [unit-resolution #1476 #1782]: #1200 -#1784 := [unit-resolution #1207 #1782]: #745 -#1785 := [unit-resolution #1621 #1783 #1494 #1217 #1066 #1776]: #336 -#1786 := [unit-resolution #728 #1785]: #725 -#1787 := [unit-resolution #1396 #1786]: #742 -#1788 := [unit-resolution #1061 #1787 #818 #1784]: #739 -#1789 := [unit-resolution #1625 #1786]: #1571 -#1790 := [unit-resolution #1756 #1789 #869 #1013 #836 #1494 #1537 #1783 #1566 #1740 #1448 #1175 #816 #1488 #1739]: #738 -#1791 := [unit-resolution #1544 #1790 #1788]: #65 -#1792 := [unit-resolution #658 #1791]: #667 -#1793 := [unit-resolution #856 #1775]: #748 -#1772 := (or #735 #795 #1001 #1754 #916) -#1284 := [hypothesis]: #812 -#1762 := [hypothesis]: #1707 -#1764 := (or #915 #1001 #1754 #735 #795 #916) -#904 := [hypothesis]: #887 -#1763 := [th-lemma arith farkas 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 #1488 #1448 #1013 #1284 #869 #1762 #903 #900 #784 #782 #882 #913 #904]: false -#1765 := [lemma #1763]: #1764 -#1766 := [unit-resolution #1765 #900 #1762 #1284 #784 #913]: #915 -#1767 := [unit-resolution #926 #1766]: #922 -#1768 := [unit-resolution #652 #1767]: #568 -#1769 := [unit-resolution #654 #1768]: #655 -#1770 := [unit-resolution #1265 #1769]: #986 -#1771 := [th-lemma arith farkas -1 1 1 -1 1 1 1 -1 1 -1 -1 -1 -2 1 #903 #900 #1488 #784 #782 #882 #1448 #1013 #1284 #869 #1762 #913 #1768 #1770]: false -#1773 := [lemma #1771]: #1772 -#1794 := [unit-resolution #1773 #1784 #1740 #1739 #1793]: #735 -#1795 := [unit-resolution #1515 #1794 #1792]: #949 -#1796 := (or #1607 #823 #797 #1050 #794 #1049 #821 #1499 #734 #1500 #1501 #1240 #1267) -#1797 := [th-lemma arith assign-bounds 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1]: #1796 -#1798 := [unit-resolution #1797 #1795 #787 #791 #1217 #1494 #773 #1716 #1718 #820 #1776 #1783 #1491]: #1607 -#1799 := [unit-resolution #1679 #1798]: #922 -#1800 := [unit-resolution #652 #1799]: #568 -#1801 := [unit-resolution #654 #1800]: #655 -#1802 := [unit-resolution #1464 #1801]: #1430 -#1803 := [th-lemma arith farkas -1/2 -1/2 1/2 -3/2 3/2 1/2 -1 1 -1 1 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1 #1488 #1448 #1013 #1740 #869 #1739 #836 #1175 #1566 #816 #1802 #1491 #1795 #1783 #1494 #1217 #1776 #1774]: false -#1805 := [lemma #1803]: #1804 -#1806 := [unit-resolution #1805 #1066]: #539 -#1807 := (or #741 #797 #794 #1049 #917 #1051 #540) -#1808 := [th-lemma arith assign-bounds -1 -2 2 -2 2 -2]: #1807 -#1809 := [unit-resolution #1808 #1716 #787 #897 #1718 #1713 #1806]: #741 -#1810 := (or #394 #794 #1049 #1048 #1027 #917 #1051 #423 #540) -#1811 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1810 -#1812 := [unit-resolution #1811 #1066 #787 #897 #907 #1806 #1716 #1713 #1557]: #394 -#1813 := [unit-resolution #712 #1812]: #709 -#1814 := [unit-resolution #1361 #1813]: #888 -#1815 := (or #1161 #1049 #453 #482 #511) -#1816 := [th-lemma arith assign-bounds -1 1 1 1]: #1815 -#1817 := [unit-resolution #1816 #1714 #787 #1703 #1203]: #1161 -#1818 := [unit-resolution #1780 #1814 #1722 #1812 #1175]: #365 -#1819 := [unit-resolution #720 #1818]: #717 -#1820 := [unit-resolution #1476 #1819]: #1200 -#1821 := [unit-resolution #672 #1806]: #669 -#1822 := [unit-resolution #1496 #1821]: #933 -#1823 := [unit-resolution #1207 #1819]: #745 -#1826 := (or #1356 #453) -#1824 := (or #1356 #453 #1014) -#1825 := [th-lemma arith assign-bounds 2 -1]: #1824 -#1827 := [unit-resolution #1825 #1448]: #1826 -#1828 := [unit-resolution #1827 #1703]: #1356 -#1829 := [unit-resolution #778 #1821]: #762 -#1830 := [unit-resolution #856 #1813]: #748 -#1831 := [unit-resolution #1664 #1830 #1829 #1822 #1828 #1716 #1713 #1823]: #735 -#1832 := [unit-resolution #1651 #1820 #1829 #1809 #1823 #1722 #1814]: #739 -#1833 := [unit-resolution #1621 #1820 #1494 #1217 #1066 #1814]: #336 -#1834 := [unit-resolution #728 #1833]: #725 -#1835 := [unit-resolution #1625 #1834]: #1571 -#1836 := [unit-resolution #1629 #1835 #1013 #836 #1494 #1537 #1822 #1713 #1820 #1175 #1828 #897 #1488]: #738 -#1837 := [unit-resolution #1544 #1836 #1832]: #65 -#1838 := [unit-resolution #658 #1837]: #667 -#1839 := [unit-resolution #1515 #1838 #1831]: #949 -#1840 := [unit-resolution #1506 #1839 #869 #791 #1217 #1494 #1822 #1820 #1817 #1814 #1809 #1488 #1491]: #1498 -#1073 := (or #759 #540 #844) -#1074 := [th-lemma arith assign-bounds 2 -1]: #1073 -#1841 := [unit-resolution #1074 #1829 #1806]: #759 -#1842 := [unit-resolution #1797 #1839 #787 #791 #1217 #1494 #773 #1716 #1718 #1841 #1814 #1820 #1491]: #1607 -#1843 := [unit-resolution #1679 #1842]: #922 -#1844 := [unit-resolution #652 #1843]: #568 -#1845 := [unit-resolution #654 #1844]: #655 -#1846 := [unit-resolution #1464 #1845 #1840]: false -#1847 := [lemma #1846]: #423 -#1849 := [unit-resolution #704 #1847]: #701 -#1850 := [unit-resolution #1408 #1849]: #751 -#1354 := (or #539 #511 #365 #838) -#1335 := [hypothesis]: #510 -#1336 := [unit-resolution #680 #1335]: #677 -#1337 := [unit-resolution #832 #1336]: #811 -#1338 := [unit-resolution #1036 #818 #816 #1335 #1337]: #481 -#1339 := [unit-resolution #688 #1338]: #685 -#1340 := [unit-resolution #878 #1339]: #812 -#1341 := [unit-resolution #1041 #1340 #869 #818 #1337 #816]: #452 -#1342 := [unit-resolution #696 #1341]: #693 -#1343 := [unit-resolution #1045 #1342]: #754 -#1344 := (or #983 #511 #870) -#1345 := [th-lemma arith assign-bounds 2 -1]: #1344 -#1346 := [unit-resolution #1345 #1337 #1335]: #983 -#1347 := [unit-resolution #941 #1339]: #757 -#1289 := (or #539 #794 #1227 #995 #838 #365 #1001 #870) -#1282 := [hypothesis]: #983 -#1283 := [hypothesis]: #753 -#890 := [hypothesis]: #811 -#1285 := [unit-resolution #1041 #818 #869 #1284 #890 #816]: #452 -#1286 := [unit-resolution #696 #1285]: #693 -#1287 := [unit-resolution #1045 #1286]: #754 -#1288 := [th-lemma arith farkas 2 2 1 1 1 1 1 1 1 1 1 1 #1287 #791 #788 #1283 #1217 #787 #816 #818 #1282 #813 #836 #1202]: false -#1290 := [lemma #1288]: #1289 -#1348 := [unit-resolution #1290 #1347 #818 #1346 #813 #1202 #1340 #1337]: #1227 -#1349 := [unit-resolution #1234 #1348]: #1230 -#1350 := [unit-resolution #714 #1349]: #394 -#1351 := [unit-resolution #712 #1350]: #709 -#1352 := [unit-resolution #1220 #1351]: #888 -#1353 := [th-lemma arith farkas 1 -1 -1 1 -1 -1 -1 1 1 #1352 #1347 #1217 #787 #1335 #1350 #1343 #791 #1202]: false -#1355 := [lemma #1353]: #1354 -#1851 := [unit-resolution #1355 #818 #1850 #1202]: #511 -#1852 := [unit-resolution #911 #1849]: #750 -#1199 := (+ #218 #383) -#1201 := (>= #1199 0::Int) -#718 := (= #218 #372) -#721 := (or #365 #718) -#722 := [def-axiom]: #721 -#1226 := [unit-resolution #722 #1202]: #718 -#1235 := (not #718) -#1236 := (or #1235 #1201) -#1237 := [th-lemma arith triangle-eq]: #1236 -#1238 := [unit-resolution #1237 #1226]: #1201 -#1223 := (not #1201) -#1278 := (or #481 #1268 #735 #1223 #510) -#1214 := [hypothesis]: #1201 -#1253 := [unit-resolution #1184 #1172 #869 #989 #891]: #452 -#1254 := [unit-resolution #696 #1253]: #693 -#1255 := [unit-resolution #1070 #1254]: #988 -#1256 := [unit-resolution #997 #891 #816 #989 #994]: #539 -#1257 := [unit-resolution #672 #1256]: #669 -#1258 := [unit-resolution #778 #1257]: #762 -#1259 := (or #568 #540 #844 #823 #510) -#1260 := [th-lemma arith assign-bounds 1 1 1 1]: #1259 -#1261 := [unit-resolution #1260 #1258 #773 #989 #1256]: #568 -#1262 := [unit-resolution #654 #1261]: #655 -#1266 := [unit-resolution #1265 #1262]: #986 -#1270 := (or #1267 #1240 #1268 #1048 #844 #1049 #823 #1090 #1014 #1015 #1223 #822 #1269 #948 #735) -#1271 := [th-lemma arith assign-bounds -1 2 -2 1 1 -1 -1 1 -1 -1 1 1 -1 1]: #1270 -#1272 := [unit-resolution #1271 #1258 #787 #1013 #907 #1217 #782 #900 #773 #1266 #1255 #1252 #1208 #903 #1214]: #1267 -#1275 := [unit-resolution #1274 #891 #907 #1013 #1255 #1252]: #394 -#1276 := [unit-resolution #712 #1275]: #709 -#1277 := [unit-resolution #1220 #1276 #1272]: false -#1279 := [lemma #1277]: #1278 -#1853 := [unit-resolution #1279 #1851 #900 #1238 #1852]: #481 -#1854 := [unit-resolution #688 #1853]: #685 -#1855 := [unit-resolution #878 #1854]: #812 -#1311 := (or #539 #510 #395 #838 #1001) -#1306 := [unit-resolution #1305 #994 #989]: #811 -#1307 := [unit-resolution #1041 #818 #869 #1284 #1306 #816]: #452 -#1308 := [unit-resolution #696 #1307]: #693 -#1309 := [unit-resolution #1045 #1308]: #754 -#783 := [hypothesis]: #394 -#1310 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 #989 #783 #791 #816 #818 #994 #813 #836 #1309]: false -#1312 := [lemma #1310]: #1311 -#1856 := [unit-resolution #1312 #1855 #1850 #818 #1851]: #395 -#1857 := [unit-resolution #941 #1854]: #757 -#1858 := [unit-resolution #682 #1851]: #678 -#1859 := [unit-resolution #993 #1858]: #983 -#1860 := [unit-resolution #1290 #1859 #1566 #1850 #818 #1202 #1855 #1857]: #1227 -#1861 := [unit-resolution #1234 #1860]: #1230 -#1862 := [unit-resolution #714 #1861 #1856]: false -#1864 := [lemma #1862]: #1863 -#1865 := [unit-resolution #1864 #1202 #900]: #539 -#1866 := [unit-resolution #672 #1865]: #669 -#1867 := [unit-resolution #778 #1866]: #762 -#1868 := [unit-resolution #1482 #1122 #1852]: #481 -#1869 := [unit-resolution #688 #1868]: #685 -#1870 := [unit-resolution #941 #1869]: #757 -#1871 := (or #511 #797 #1050 #794 #1049 #1227 #365 #1240 #394) -#1872 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1871 -#1873 := [unit-resolution #1872 #1122 #791 #787 #1217 #1202 #1870 #1718 #1723]: #511 -#1874 := (or #568 #540 #844 #510) -#1875 := [unit-resolution #1260 #773]: #1874 -#1876 := [unit-resolution #1875 #1873 #1865 #1867]: #568 -#1877 := [unit-resolution #654 #1876]: #655 -#1878 := [unit-resolution #1265 #1877]: #986 -#1879 := [th-lemma arith farkas -1 1 1 -1 1 -1 -1 1 -1 1 1 -1 1 #903 #900 #1867 #773 #782 #1238 #1718 #791 #1870 #787 #1723 #1217 #1878]: false -#1881 := [lemma #1879]: #1880 -#1882 := [unit-resolution #1881 #1202 #900]: #394 -#1883 := [unit-resolution #712 #1882]: #709 -#1884 := [unit-resolution #1361 #1883]: #888 -#1885 := (or #481 #735 #844 #1267 #1268 #1223 #870) -#1392 := (or #481 #735 #844 #1267 #1014 #1268 #1223 #870) -#1378 := [hypothesis]: #988 -#1386 := [unit-resolution #1271 #1208 #787 #1013 #907 #1217 #782 #900 #889 #1385 #1378 #1252 #773 #903 #1214]: #1269 -#1389 := [unit-resolution #1388 #891 #816 #890 #889 #773]: #568 -#1390 := [unit-resolution #654 #1389]: #655 -#1391 := [unit-resolution #1265 #1390 #1386]: false -#1393 := [lemma #1391]: #1392 -#1886 := [unit-resolution #1393 #1448]: #1885 -#1887 := [unit-resolution #1886 #1884 #900 #1566 #1852 #1238 #1867]: #481 -#1888 := [unit-resolution #688 #1887]: #685 -#1889 := [unit-resolution #941 #1888]: #757 -#1890 := (or #1064 #797 #1050 #838 #395 #1178 #794) -#1891 := [th-lemma arith assign-bounds -2 2 -2 -2 2 -1]: #1890 -#1892 := [unit-resolution #1891 #1882 #836 #1889 #1718 #1850 #791]: #1064 -#1893 := (or #1267 #1268 #844 #1090 #1223 #1269 #735) -#1894 := [unit-resolution #1271 #787 #1013 #907 #1217 #782 #1448 #773 #903]: #1893 -#1895 := [unit-resolution #1894 #1892 #900 #1238 #1867 #1852 #1884]: #1269 -#1896 := [unit-resolution #878 #1888]: #812 -#1897 := (or #1090 #1001 #823 #568 #870 #871 #844) -#1898 := [th-lemma arith assign-bounds 1 2 2 2 2 2]: #1897 -#1899 := [unit-resolution #1898 #1892 #816 #1867 #1566 #1896 #773]: #568 -#1900 := [unit-resolution #654 #1899]: #655 -#1901 := [unit-resolution #1265 #1900 #1895]: false -#1903 := [lemma #1901]: #1902 -#1924 := [unit-resolution #1903 #900]: #365 -#1925 := [unit-resolution #720 #1924]: #717 -#2127 := [unit-resolution #1207 #1925]: #745 -#1967 := (or #394 #481) -#1968 := [unit-resolution #1482 #1852]: #1967 -#2032 := [unit-resolution #1968 #891]: #394 -#2033 := [unit-resolution #712 #2032]: #709 -#2034 := [unit-resolution #856 #2033]: #748 -#1998 := (or #394 #539) -#1969 := [unit-resolution #1968 #1122]: #481 -#1970 := [unit-resolution #688 #1969]: #685 -#1971 := [unit-resolution #941 #1970]: #757 -#1225 := (or #365 #539 #1227 #794) -#1218 := (or #539 #794 #1227 #995 #365) -#1931 := [hypothesis]: #1001 -#1935 := (or #812 #757) -#1936 := [th-lemma arith farkas 1 1]: #1935 -#1937 := [unit-resolution #1936 #1931]: #757 -#1932 := [hypothesis]: #685 -#1933 := [unit-resolution #878 #1932 #1931]: false -#1934 := [lemma #1933]: #877 -#1938 := [unit-resolution #1934 #1931]: #876 -#1939 := [unit-resolution #688 #1938]: #482 -#1940 := (or #794 #481 #1179) -#1941 := [th-lemma arith assign-bounds 2 1]: #1940 -#1942 := [unit-resolution #1941 #1939 #1937]: #1179 -#1943 := [unit-resolution #690 #1939]: #686 -#1944 := [unit-resolution #1171 #1943 #1942]: false -#1945 := [lemma #1944]: #812 -#1221 := [unit-resolution #1290 #1566 #1850 #1945]: #1218 -#1210 := [unit-resolution #1221 #1202 #818 #1283 #788]: #995 -#1211 := (or #539 #511 #365) -#1212 := [unit-resolution #1355 #1850]: #1211 -#1213 := [unit-resolution #1212 #1202 #818]: #511 -#1222 := [unit-resolution #682 #1213]: #678 -#1224 := [unit-resolution #993 #1222 #1210]: false -#1946 := [lemma #1224]: #1225 -#1972 := [unit-resolution #1946 #1723 #818 #1971]: #365 -#1973 := [unit-resolution #720 #1972]: #717 -#1974 := [unit-resolution #1476 #1973]: #1200 -#1913 := (or #568 #394 #539) -#1904 := [hypothesis]: #569 -#1905 := [unit-resolution #1732 #1904 #897 #787 #791 #907 #773 #1122 #1718 #820 #1870 #1557]: #917 -#1908 := (or #568 #821 #539 #510) -#1906 := (or #568 #821 #539 #823 #510) -#1907 := [th-lemma arith assign-bounds 1 1 1 1]: #1906 -#1909 := [unit-resolution #1907 #773]: #1908 -#1910 := [unit-resolution #1909 #1904 #818 #820]: #510 -#1911 := [unit-resolution #680 #1910]: #677 -#1912 := [unit-resolution #959 #1911 #1905]: false -#1914 := [lemma #1912]: #1913 -#1915 := [unit-resolution #1914 #1122 #818]: #568 -#1916 := [unit-resolution #654 #1915]: #655 -#1975 := [unit-resolution #1464 #1916]: #1430 -#1929 := (or #394 #735 #539) -#1917 := [unit-resolution #1265 #1916]: #986 -#934 := (or #735 #734) -#964 := [th-lemma arith farkas 1 1]: #934 -#965 := [unit-resolution #964 #900]: #734 -#1918 := (or #336 #1269 #948 #949 #539 #823 #821 #797 #1050 #794 #1049 #424) -#1919 := [th-lemma arith assign-bounds 1 1 1 2 1 1 1 1 1 1 1]: #1918 -#1920 := [unit-resolution #1919 #1870 #773 #787 #791 #1847 #903 #965 #818 #1718 #820 #1917]: #336 -#1921 := [unit-resolution #728 #1920]: #725 -#1922 := [unit-resolution #1625 #1921]: #1571 -#1923 := [unit-resolution #878 #1869]: #812 -#1926 := [unit-resolution #1476 #1925]: #1200 -#1428 := (or #337 #735 #739) -#1239 := [hypothesis]: #336 -#1357 := [unit-resolution #728 #1239]: #725 -#1397 := [unit-resolution #1396 #1357]: #742 -#1150 := (or #795 #796 #739 #735) -#980 := (or #395 #795 #796 #739 #735) -#853 := [unit-resolution #712 #783]: #709 -#857 := [unit-resolution #856 #853]: #748 -#763 := (or #739 #738) -#800 := [th-lemma arith farkas 1 1]: #763 -#801 := [unit-resolution #800 #766]: #738 -#962 := (or #539 #795 #949 #796 #739 #395) -#826 := (or #510 #821 #539 #795 #395 #822 #823 #796 #824 #825) -#827 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 1]: #826 -#935 := [unit-resolution #827 #820 #818 #783 #782 #769 #801 #770 #784 #773]: #510 -#936 := [unit-resolution #680 #935]: #677 -#937 := [unit-resolution #832 #936]: #811 -#872 := (or #481 #870 #539 #871 #821 #795 #395 #822 #823 #796 #824 #825) -#873 := [th-lemma arith assign-bounds 1 2 1 1 1 1 1 1 1 1 1]: #872 -#938 := [unit-resolution #873 #937 #816 #818 #783 #782 #769 #801 #770 #784 #820 #773]: #481 -#939 := [unit-resolution #688 #938]: #685 -#942 := [unit-resolution #941 #939]: #757 -#931 := (or #569 #795 #395 #796 #739) -#929 := [hypothesis]: #568 -#930 := [th-lemma arith farkas 1 1 -1 1 -1 -1 1 #784 #783 #782 #770 #769 #766 #929]: false -#932 := [lemma #930]: #931 -#943 := [unit-resolution #932 #783 #784 #770 #766]: #569 -#944 := [unit-resolution #652 #943]: #656 -#945 := [unit-resolution #926 #944]: #887 -#946 := [hypothesis]: #734 -#950 := (or #424 #395 #916 #947 #539 #795 #822 #948 #949 #915 #796 #824 #825) -#951 := [th-lemma arith assign-bounds 1 1 1 1 2 2 1 1 1 1 1 1]: #950 -#952 := [unit-resolution #951 #818 #903 #783 #882 #782 #769 #946 #801 #770 #784 #857 #945]: #424 -#953 := [unit-resolution #706 #952]: #702 -#957 := [unit-resolution #956 #953]: #928 -#960 := [unit-resolution #959 #936]: #756 -#961 := [th-lemma arith farkas 1 1 1 1 1 1 2 2 1 1 -1 1 -1 -1 1 1 #787 #960 #897 #957 #857 #882 #784 #782 #903 #946 #945 #770 #769 #766 #907 #942]: false -#963 := [lemma #961]: #962 -#966 := [unit-resolution #963 #783 #965 #770 #766 #784]: #539 -#967 := [unit-resolution #672 #966]: #669 -#968 := [unit-resolution #778 #967]: #762 -#845 := (or #510 #540 #844 #795 #395 #822 #823 #796 #824 #825) -#846 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 1]: #845 -#969 := [unit-resolution #846 #968 #966 #783 #782 #769 #801 #770 #784 #773]: #510 -#970 := [unit-resolution #680 #969]: #677 -#971 := [unit-resolution #959 #970]: #756 -#972 := [unit-resolution #832 #970]: #811 -#893 := (or #481 #395 #870 #795 #796 #825 #844) -#817 := [hypothesis]: #738 -#892 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 -1 1 #891 #783 #890 #784 #782 #773 #770 #769 #817 #816 #889]: false -#894 := [lemma #892]: #893 -#973 := [unit-resolution #894 #972 #968 #784 #770 #801 #783]: #481 -#974 := [unit-resolution #688 #973]: #685 -#975 := [unit-resolution #941 #974]: #757 -#918 := (or #915 #916 #794 #795 #796 #739 #735 #917 #424) -#792 := [hypothesis]: #423 -#908 := [unit-resolution #704 #792]: #701 -#912 := [unit-resolution #911 #908]: #750 -#914 := [th-lemma arith farkas 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1 #913 #882 #912 #907 #788 #787 #904 #784 #782 #770 #769 #766 #903 #900 #898 #897 #792]: false -#919 := [lemma #914]: #918 -#976 := [unit-resolution #919 #975 #945 #784 #770 #766 #900 #971 #857]: #424 -#977 := [unit-resolution #706 #976]: #702 -#978 := [unit-resolution #956 #977]: #928 -#979 := [th-lemma arith farkas 1 1 2 2 1 1 1 -1 1 1 -1 -1 1 -1 1 1 #857 #882 #784 #782 #903 #965 #945 #770 #769 #766 #907 #975 #787 #971 #897 #978]: false -#981 := [lemma #979]: #980 -#1063 := [unit-resolution #981 #784 #770 #766 #900]: #395 -#1099 := [unit-resolution #1061 #784 #770 #766]: #539 -#1135 := (or #423 #394 #739 #796 #795) -#1101 := [unit-resolution #672 #1099]: #669 -#1102 := [unit-resolution #778 #1101]: #762 -#1118 := [unit-resolution #1074 #1102 #1099]: #759 -#1116 := (or #510 #795 #796 #739) -#1086 := (or #423 #510 #795 #796 #825 #540) -#774 := [hypothesis]: #539 -#775 := [unit-resolution #672 #774]: #669 -#779 := [unit-resolution #778 #775]: #762 -#1075 := [unit-resolution #1074 #779 #774]: #759 -#1078 := [unit-resolution #1077 #1066 #1072]: #838 -#1080 := (or #751 #1048 #795 #822 #821 #823 #796 #824 #825 #1079 #1051 #1014 #1015) -#1081 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 -1 1 1 -1]: #1080 -#1082 := [unit-resolution #1081 #1078 #1013 #907 #782 #769 #817 #770 #784 #1075 #1023 #897 #773]: #1014 -#1083 := [unit-resolution #1070 #1082]: #1007 -#1084 := [unit-resolution #696 #1083]: #453 -#1085 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 1 1 1 1 #989 #1084 #1072 #907 #1066 #773 #784 #782 #770 #769 #817 #779 #774]: false -#1087 := [lemma #1085]: #1086 -#1100 := [unit-resolution #1087 #989 #784 #770 #801 #1099]: #423 -#1091 := (or #1090 #795 #796 #825 #844 #510 #424) -#1088 := [hypothesis]: #1064 -#1089 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 #1088 #907 #773 #784 #782 #770 #769 #817 #816 #994 #889 #989 #787 #912 #792]: false -#1092 := [lemma #1089]: #1091 -#1103 := [unit-resolution #1092 #989 #770 #801 #1102 #784 #1100]: #1090 -#1104 := [unit-resolution #1098 #1103]: #1094 -#1105 := [unit-resolution #690 #1104]: #481 -#1106 := [unit-resolution #688 #1105]: #685 -#1107 := [unit-resolution #878 #1106]: #812 -#1110 := [unit-resolution #1109 #1105 #897 #869 #1099 #1107 #1023]: #452 -#1111 := [unit-resolution #696 #1110]: #693 -#1112 := [unit-resolution #1070 #1111]: #988 -#1113 := [unit-resolution #704 #1100]: #701 -#1114 := [unit-resolution #911 #1113]: #750 -#1115 := [th-lemma arith farkas -1 -1 -1 1 -1 1 1 -1 1 1 -2 1 -1 1 #907 #773 #784 #782 #770 #769 #897 #1023 #1102 #1114 #1099 #1112 #1013 #766]: false -#1117 := [lemma #1115]: #1116 -#1119 := [unit-resolution #1117 #784 #770 #766]: #510 -#1120 := [unit-resolution #680 #1119]: #677 -#1121 := [unit-resolution #959 #1120]: #756 -#1125 := [unit-resolution #1124 #1066 #907 #1122 #1072]: #452 -#1126 := [unit-resolution #696 #1125]: #693 -#1127 := [unit-resolution #1045 #1126]: #754 -#1128 := [unit-resolution #1053 #1127 #787 #791 #907 #782 #769 #766 #770 #784 #1121 #1072 #1118 #897 #773]: #794 -#1129 := [unit-resolution #1070 #1126]: #988 -#1132 := [unit-resolution #1131 #1066 #1013 #907 #1122 #1072 #1129]: #481 -#1133 := [unit-resolution #688 #1132]: #685 -#1134 := [unit-resolution #941 #1133 #1128]: false -#1136 := [lemma #1134]: #1135 -#1137 := [unit-resolution #1136 #1063 #766 #770 #784]: #423 -#1140 := (or #1090 #424 #795 #796 #739) -#1138 := [unit-resolution #832 #1120]: #811 -#1139 := [th-lemma arith farkas -1 -1 1 -1 -1 -1 -1 1 -1 1 1 1 1 -1 1 #792 #1088 #787 #907 #1119 #773 #784 #782 #770 #769 #766 #1102 #1138 #816 #912]: false -#1141 := [lemma #1139]: #1140 -#1142 := [unit-resolution #1141 #1137 #784 #770 #766]: #1090 -#1143 := [unit-resolution #1098 #1142]: #1094 -#1144 := [unit-resolution #690 #1143]: #481 -#1145 := [unit-resolution #688 #1144]: #685 -#1146 := [unit-resolution #941 #1145]: #757 -#1147 := [unit-resolution #704 #1137]: #701 -#1148 := [unit-resolution #911 #1147]: #750 -#1149 := [th-lemma arith farkas -1 1 -1 1 1 -1 -1 -1 1 #1121 #897 #1137 #1148 #787 #907 #1146 #1099 #1063]: false -#1151 := [lemma #1149]: #1150 -#1398 := [unit-resolution #1151 #1397 #766 #900]: #795 -#1399 := [unit-resolution #1207 #1398]: #860 -#1400 := [unit-resolution #720 #1399]: #366 -#1249 := (or #423 #365 #337) -#1241 := (or #1227 #1240 #337 #1223 #423 #822) -#1242 := [th-lemma arith assign-bounds -1 -1 -1 1 1]: #1241 -#1243 := [unit-resolution #1242 #1066 #782 #1239 #1217 #1238]: #1227 -#1244 := [unit-resolution #1234 #1243]: #1230 -#1245 := [unit-resolution #714 #1244]: #394 -#1246 := [unit-resolution #712 #1245]: #709 -#1247 := [unit-resolution #1220 #1246]: #888 -#1248 := [th-lemma arith farkas 1 1 1 1 1 #1202 #1247 #1217 #1066 #1245]: false -#1250 := [lemma #1248]: #1249 -#1401 := [unit-resolution #1250 #1400 #1239]: #423 -#1402 := [unit-resolution #704 #1401]: #701 -#1403 := [unit-resolution #911 #1402]: #750 -#1404 := [unit-resolution #1377 #1400 #1403]: #452 -#1405 := [unit-resolution #696 #1404]: #693 -#1406 := [unit-resolution #1070 #1405]: #988 -#1409 := [unit-resolution #1408 #1402]: #751 -#1333 := (or #510 #796 #838 #739 #735 #1268) -#1280 := [unit-resolution #1151 #770 #766 #900]: #795 -#1313 := [unit-resolution #1207 #1280]: #860 -#1314 := [unit-resolution #720 #1313]: #366 -#1315 := [unit-resolution #722 #1314]: #718 -#1316 := [unit-resolution #1237 #1315]: #1201 -#1317 := [unit-resolution #1279 #989 #900 #1316 #1252]: #481 -#1318 := [unit-resolution #688 #1317]: #685 -#1319 := [unit-resolution #878 #1318]: #812 -#1302 := (or #1227 #796 #995 #838 #739 #1079 #482 #365 #870) -#1281 := [hypothesis]: #481 -#1291 := [unit-resolution #688 #1281]: #685 -#1292 := [unit-resolution #878 #1291]: #812 -#1293 := [hypothesis]: #984 -#1294 := [unit-resolution #941 #1291]: #757 -#1295 := [unit-resolution #1290 #1283 #1294 #1282 #813 #1202 #1292 #890]: #539 -#1296 := [unit-resolution #1109 #1295 #1293 #869 #1281 #1292 #897]: #452 -#1297 := [unit-resolution #696 #1296]: #693 -#1298 := [unit-resolution #1045 #1297]: #754 -#1299 := [unit-resolution #672 #1295]: #669 -#1300 := [unit-resolution #778 #1299]: #762 -#1301 := [th-lemma arith farkas -1 1 -1 1 1 -1 -2 2 -2 2 -1 1 -1 1 -3 3 1 #770 #769 #1238 #782 #1300 #773 #1294 #1283 #1217 #787 #816 #1282 #813 #836 #1298 #791 #766]: false -#1303 := [lemma #1301]: #1302 -#1320 := [unit-resolution #1303 #994 #770 #813 #766 #1023 #1317 #1314 #1306]: #1227 -#1321 := [unit-resolution #1234 #1320]: #1230 -#1322 := [unit-resolution #714 #1321]: #394 -#1323 := [unit-resolution #1312 #989 #1322 #813 #1319]: #539 -#1324 := [unit-resolution #672 #1323]: #669 -#1325 := [unit-resolution #778 #1324]: #762 -#1326 := [unit-resolution #1109 #1323 #1023 #869 #1317 #1319 #897]: #452 -#1327 := [unit-resolution #696 #1326]: #693 -#1328 := [unit-resolution #1045 #1327]: #754 -#1329 := [unit-resolution #941 #1318]: #757 -#1330 := [unit-resolution #712 #1322]: #709 -#1331 := [unit-resolution #1220 #1330]: #888 -#1332 := [th-lemma arith farkas -1 1 -1 1 -4 2 -2 -2 2 -3 3 1 -1 -1 1 -1 1 1 #770 #769 #1316 #782 #1322 #1331 #1329 #1217 #787 #1328 #791 #1325 #773 #816 #994 #813 #836 #766]: false -#1334 := [lemma #1332]: #1333 -#1410 := [unit-resolution #1334 #1397 #1409 #766 #900 #1403]: #510 -#1411 := [unit-resolution #1355 #1410 #1400 #1409]: #539 -#1412 := [unit-resolution #680 #1410]: #677 -#1413 := [unit-resolution #959 #1412]: #756 -#1383 := (or #394 #917 #540 #424 #1014) -#1379 := [unit-resolution #1274 #1122 #907 #1378 #1013 #912]: #481 -#1380 := [unit-resolution #688 #1379]: #685 -#1381 := [unit-resolution #941 #1380]: #757 -#1382 := [th-lemma arith farkas -1 1 -1 1 1 -1 -1 1 1 #787 #898 #897 #774 #792 #1122 #912 #907 #1381]: false -#1384 := [lemma #1382]: #1383 -#1414 := [unit-resolution #1384 #1413 #1411 #1401 #1406]: #394 -#1415 := [unit-resolution #712 #1414]: #709 -#1416 := [unit-resolution #1361 #1415]: #888 -#1417 := (or #794 #1049 #917 #1051 #540 #1268 #1048 #1267 #1240 #365) -#1418 := [th-lemma arith assign-bounds -1 1 -1 1 -1 1 -1 1 -1]: #1417 -#1419 := [unit-resolution #1418 #1400 #787 #907 #1217 #897 #1411 #1413 #1403 #1416]: #794 -#1420 := [unit-resolution #832 #1412]: #811 -#1421 := [unit-resolution #722 #1400]: #718 -#1422 := [unit-resolution #1237 #1421]: #1201 -#1423 := [unit-resolution #672 #1411]: #669 -#1424 := [unit-resolution #778 #1423]: #762 -#1425 := [unit-resolution #1393 #1424 #900 #1416 #1406 #1403 #1422 #1420]: #481 -#1426 := [unit-resolution #688 #1425]: #685 -#1427 := [unit-resolution #941 #1426 #1419]: false -#1429 := [lemma #1427]: #1428 -#1927 := [unit-resolution #1429 #1920 #900]: #739 -#1928 := [th-lemma arith farkas -1 -1 1/2 -1/2 1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 -1/2 1/2 1 #1537 #1927 #1917 #903 #900 #1926 #1488 #1494 #1739 #1448 #1013 #1923 #869 #1712 #882 #1922]: false -#1930 := [lemma #1928]: #1929 -#1976 := [unit-resolution #1930 #1122 #818]: #735 -#1965 := (or #510 #539 #899 #794 #1227 #1498) -#1947 := [unit-resolution #1946 #1283 #818 #788]: #365 -#1948 := [unit-resolution #720 #1947]: #717 -#1949 := [unit-resolution #1476 #1948]: #1200 -#1950 := (or #336 #1240 #1500 #1501 #1227 #510 #797 #1050 #794 #1049 #995 #871 #838 #1178 #539) -#1951 := [th-lemma arith assign-bounds 1 1 1 1 1 3 3 1 1 2 2 2 2 2]: #1950 -#1952 := [unit-resolution #1951 #989 #816 #787 #791 #836 #1217 #1494 #818 #788 #1718 #1850 #1283 #994 #1949]: #336 -#1953 := [unit-resolution #728 #1952]: #725 -#1954 := [unit-resolution #1625 #1953]: #1571 -#1955 := [hypothesis]: #735 -#1956 := [hypothesis]: #1430 -#1957 := [th-lemma arith assign-bounds 1 -1 1 -1 -1 1 1 3 -3 1 -1 -1 -2 2 2 -2 #1217 #1949 #1956 #1491 #1488 #1494 #1739 #1718 #791 #788 #787 #1283 #994 #816 #1850 #836]: #734 -#1958 := [unit-resolution #1515 #1957 #1955]: #64 -#1959 := [unit-resolution #658 #1958]: #668 -#1960 := [unit-resolution #1207 #1948]: #745 -#1961 := [unit-resolution #1396 #1953]: #742 -#1962 := [unit-resolution #1061 #1961 #818 #1960]: #739 -#1963 := [unit-resolution #1544 #1962 #1959]: #825 -#1964 := [th-lemma arith farkas -1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 1 #1537 #1963 #1949 #1488 #1494 #1739 #994 #816 #1718 #791 #1850 #836 #1954]: false -#1966 := [lemma #1964]: #1965 -#1977 := [unit-resolution #1966 #1976 #818 #1971 #1723 #1975]: #510 -#1978 := (or #744 #838 #511 #797 #1050 #794 #1049) -#1979 := [th-lemma arith assign-bounds -1 -2 -2 2 -2 2]: #1978 -#1980 := [unit-resolution #1979 #1971 #791 #787 #1718 #1850 #1977]: #744 -#1983 := (or #1177 #1500 #336 #1267) -#1981 := (or #1177 #1268 #1500 #336 #1501 #1267 #1240) -#1982 := [th-lemma arith assign-bounds 1 2 2 2 2 2]: #1981 -#1984 := [unit-resolution #1982 #1494 #1852 #1217]: #1983 -#1985 := [unit-resolution #1984 #1980 #1974 #1748]: #336 -#1986 := [unit-resolution #728 #1985]: #725 -#1987 := [unit-resolution #1396 #1986]: #742 -#1988 := [unit-resolution #1625 #1986]: #1571 -#1989 := (or #738 #1627 #1500 #1177 #1754) -#1990 := [unit-resolution #1756 #869 #1013 #836 #1494 #1537 #1566 #1945 #1448 #816 #1488]: #1989 -#1991 := [unit-resolution #1990 #1988 #1739 #1980 #1974]: #738 -#1992 := [unit-resolution #1207 #1973]: #745 -#1993 := [unit-resolution #1061 #1987 #818 #1992]: #739 -#1994 := [unit-resolution #1544 #1993 #1991]: #65 -#1995 := [unit-resolution #658 #1994]: #667 -#1996 := [unit-resolution #1515 #1995 #1976]: #949 -#1997 := [th-lemma arith farkas -1 -1 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 1 #769 #1991 #1992 #773 #782 #820 #1718 #791 #1217 #1975 #1491 #1996 #1971 #787 #1723 #1987]: false -#1999 := [lemma #1997]: #1998 -#2000 := [unit-resolution #1999 #818]: #394 -#2001 := (or #539 #510 #395) -#2002 := [unit-resolution #1312 #1850 #1945]: #2001 -#2003 := [unit-resolution #2002 #2000 #818]: #510 -#2008 := (or #1090 #511 #539) -#2006 := (or #1090 #1001 #870 #511 #539) -#2004 := (or #1090 #1001 #870 #871 #511 #539) -#2005 := [th-lemma arith assign-bounds 1 2 2 2 2]: #2004 -#2007 := [unit-resolution #2005 #816]: #2006 -#2009 := [unit-resolution #2007 #1566 #1945]: #2008 -#2010 := [unit-resolution #2009 #2003 #818]: #1090 -#2011 := (or #1064 #395 #794) -#2012 := [unit-resolution #1891 #836 #1718 #1850 #791]: #2011 -#2013 := [unit-resolution #2012 #2010 #2000]: #794 -#2014 := (or #481 #511 #539) -#2015 := [unit-resolution #1455 #1566]: #2014 -#2016 := [unit-resolution #2015 #2003 #818]: #481 -#2017 := [unit-resolution #688 #2016]: #685 -#2018 := [unit-resolution #941 #2017 #2013]: false -#2019 := [lemma #2018]: #539 -#2023 := [unit-resolution #672 #2019]: #669 -#2024 := [unit-resolution #778 #2023]: #762 -#2035 := (or #568 #844 #481) -#2036 := [unit-resolution #1460 #1566]: #2035 -#2037 := [unit-resolution #2036 #891 #2024]: #568 -#2038 := [unit-resolution #654 #2037]: #655 -#2039 := [unit-resolution #1265 #2038]: #986 -#2030 := (or #735 #1090 #1269 #916) -#2025 := [hypothesis]: #986 -#2026 := (or #735 #1269 #1090 #795 #844 #916) -#2027 := [unit-resolution #1512 #787 #1013 #882 #782 #903 #773 #1828]: #2026 -#2028 := [unit-resolution #2027 #900 #1088 #2025 #2024 #913]: #795 -#2029 := [unit-resolution #1207 #1925 #2028]: false -#2031 := [lemma #2029]: #2030 -#2040 := [unit-resolution #2031 #1208 #2039 #2034]: #735 -#2041 := [unit-resolution #1464 #2038]: #1430 -#2068 := (or #510 #481) -#2042 := [unit-resolution #1496 #2023]: #933 -#1848 := (<= #1199 0::Int) -#2043 := (or #366 #947 #838 #1178 #916 #1179 #481 #510 #1002) -#2044 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #2043 -#2045 := [unit-resolution #2044 #989 #869 #836 #882 #891 #1850 #2034 #1172]: #366 -#2046 := [unit-resolution #722 #2045]: #718 -#2047 := (or #1235 #1848) -#2048 := [th-lemma arith triangle-eq]: #2047 -#2049 := [unit-resolution #2048 #2046]: #1848 -#2050 := (not #1848) -#2051 := (or #734 #1503 #797 #1050 #947 #1498 #1499 #1504 #1501 #916 #1179 #1002 #2050 #838 #1178) -#2052 := [th-lemma arith assign-bounds 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 2 -2]: #2051 -#2053 := [unit-resolution #2052 #2049 #869 #791 #836 #882 #1494 #1491 #1718 #1850 #2034 #2042 #1172 #2041 #1488]: #734 -#2054 := [unit-resolution #1515 #2053 #2040]: #64 -#2055 := [unit-resolution #658 #2054]: #668 -#2056 := [unit-resolution #1569 #990]: #984 -#2057 := (or #336 #797 #1050 #947 #1501 #916 #1179 #510 #1002 #2050 #838 #1178) -#2058 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 1 2 2]: #2057 -#2059 := [unit-resolution #2058 #989 #791 #836 #882 #1494 #869 #1718 #1850 #2034 #1172 #2049]: #336 -#2060 := [unit-resolution #728 #2059]: #725 -#2061 := [unit-resolution #1625 #2060]: #1571 -#2062 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 -3 3 -1 1 -1 1 1 2 -2 2 -2 #2061 #1537 #1494 #1718 #791 #1850 #836 #2042 #1488 #2056 #897 #2049 #882 #2034 #1172 #869]: #738 -#2063 := [unit-resolution #1361 #2033]: #888 -#2064 := [unit-resolution #1237 #2046]: #1201 -#2065 := [unit-resolution #1396 #2060]: #742 -#2066 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 -3 3 -1 1 -1 1 1 2 -2 2 -2 #2065 #769 #782 #1448 #1013 #1852 #907 #2024 #773 #994 #816 #2064 #1217 #2063 #1208 #787]: #739 -#2067 := [unit-resolution #1544 #2066 #2062 #2055]: false -#2069 := [lemma #2067]: #2068 -#2103 := [unit-resolution #2069 #891]: #510 -#2101 := (or #1235 #1090 #1267 #511 #899 #916 #1179 #1498) -#2083 := [hypothesis]: #718 -#2084 := [unit-resolution #1237 #2083]: #1201 -#2085 := [unit-resolution #959 #1336]: #756 -#2086 := [hypothesis]: #1161 -#2087 := [unit-resolution #2048 #2083]: #1848 -#2088 := [unit-resolution #2052 #2087 #869 #791 #836 #882 #1494 #1491 #1718 #1850 #913 #2042 #2086 #1956 #1488]: #734 -#2089 := [unit-resolution #1515 #2088 #1955]: #64 -#2090 := [unit-resolution #658 #2089]: #668 -#2081 := (or #739 #1267 #1090 #1223 #511 #2050) -#2071 := [hypothesis]: #1848 -#2073 := (or #1526 #739 #2050) -#2070 := [hypothesis]: #1433 -#2072 := [th-lemma arith farkas -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 1 #769 #766 #1566 #2024 #773 #816 #1850 #836 #1718 #791 #1494 #2071 #2070]: false -#2074 := [lemma #2072]: #2073 -#2075 := [unit-resolution #2074 #766 #2071]: #1526 -#2076 := [unit-resolution #1641 #2075]: #1522 -#2077 := [unit-resolution #730 #2076]: #336 -#2078 := [unit-resolution #728 #2077]: #725 -#2079 := [unit-resolution #1396 #2078]: #742 -#2080 := [th-lemma arith farkas -1/2 1/2 1 -1/2 -1 1 -1 1/2 -3/2 3/2 1/2 -1/2 -1/2 -1/2 -1/2 1/2 1/2 1 #1448 #1013 #1217 #782 #1385 #1088 #787 #1214 #1852 #907 #2079 #769 #766 #1566 #2024 #773 #816 #1335]: false -#2082 := [lemma #2080]: #2081 -#2091 := [unit-resolution #2082 #2084 #1088 #1385 #1335 #2087]: #739 -#2092 := [unit-resolution #1544 #2091 #2090]: #825 -#2093 := (or #1538 #1539 #738 #917 #1503 #1504 #1051 #1268 #1048 #1014 #1015 #822 #1223) -#2094 := [th-lemma arith assign-bounds -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1]: #2093 -#2095 := [unit-resolution #2094 #2092 #1013 #907 #782 #1537 #897 #2085 #1448 #1852 #2042 #2084 #1488]: #1538 -#2096 := [unit-resolution #1667 #2095]: #1522 -#2097 := [unit-resolution #730 #2096]: #336 -#2098 := [unit-resolution #728 #2097]: #725 -#2099 := [unit-resolution #1625 #2098]: #1571 -#2100 := [th-lemma arith farkas -1 -1 -2 -1 -1 1 1 1 -1 1 -1 1 -1 1 #1537 #2092 #2097 #2085 #2042 #1488 #897 #1852 #907 #1448 #1013 #782 #2084 #2099]: false -#2102 := [lemma #2100]: #2101 -#2104 := [unit-resolution #2102 #1208 #2063 #2103 #2040 #2034 #1172 #2041]: #1235 -#2105 := [unit-resolution #722 #2104]: #365 -#2106 := (or #741 #797 #947 #916 #838 #1178 #366) -#2107 := [th-lemma arith assign-bounds -1 2 -2 -2 2 -2]: #2106 -#2108 := [unit-resolution #2107 #2105 #882 #1718 #1850 #2034 #836]: #741 -#2109 := [unit-resolution #720 #2105]: #717 -#2110 := [unit-resolution #1476 #2109]: #1200 -#2111 := (or #734 #1498 #1179 #1500 #1502 #1503 #1267) -#2112 := [unit-resolution #1506 #869 #791 #1217 #1494 #1488 #1491]: #2111 -#2113 := [unit-resolution #2112 #2110 #2042 #2041 #1172 #2063 #2108]: #734 -#2114 := [unit-resolution #1515 #2113 #2040]: #64 -#2115 := [unit-resolution #680 #2103]: #677 -#2116 := [unit-resolution #959 #2115]: #756 -#2117 := [unit-resolution #1207 #2109]: #745 -#2118 := (or #738 #795 #916 #917 #1503) -#2119 := [unit-resolution #1676 #1850 #1828]: #2118 -#2120 := [unit-resolution #2119 #2117 #2042 #2116 #2034]: #738 -#2121 := (or #739 #795 #844 #1502 #1500 #1267) -#2122 := [unit-resolution #1651 #1852]: #2121 -#2123 := [unit-resolution #2122 #2108 #2117 #2024 #2110 #2063]: #739 -#2124 := [unit-resolution #1544 #2123 #2120]: #65 -#2125 := [unit-resolution #658 #2124 #2114]: false -#2126 := [lemma #2125]: #481 -#2149 := [unit-resolution #688 #2126]: #685 -#2020 := [hypothesis]: #794 -#2021 := [unit-resolution #941 #1932 #2020]: false -#2022 := [lemma #2021]: #940 -#2150 := [unit-resolution #2022 #2149]: #757 -#2147 := (or #510 #735) -#2136 := (or #916 #1001 #482 #947 #510 #1002 #838 #1178 #366) -#2137 := [th-lemma arith assign-bounds -1 1 -1 -1 1 1 -1 1]: #2136 -#2138 := [unit-resolution #2137 #989 #869 #836 #882 #1924 #1850 #2126 #1945]: #916 -#2130 := (not #1708) -#2139 := [unit-resolution #1875 #989 #2019 #2024]: #568 -#2140 := [unit-resolution #654 #2139]: #655 -#2141 := [unit-resolution #1265 #2140]: #986 -#2131 := (or #2130 #1079 #1269 #735) -#2128 := [hypothesis]: #1708 -#2129 := [th-lemma arith farkas 1 -1 -1 1 -3/2 3/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1 #1293 #897 #1852 #907 #1448 #1013 #2128 #1945 #882 #869 #2127 #2024 #2025 #903 #900 #773 #782 #2019]: false -#2132 := [lemma #2129]: #2131 -#2142 := [unit-resolution #2132 #2056 #2141 #900]: #2130 -#2133 := [hypothesis]: #2130 -#2134 := [unit-resolution #1711 #1229 #2133]: false -#2135 := [lemma #2134]: #1710 -#2143 := [unit-resolution #2135 #2142]: #1230 -#2144 := [unit-resolution #714 #2143]: #394 -#2145 := [unit-resolution #712 #2144]: #709 -#2146 := [unit-resolution #856 #2145 #2138]: false -#2148 := [lemma #2146]: #2147 -#2151 := [unit-resolution #2148 #900]: #510 -#2152 := [unit-resolution #680 #2151]: #677 -#2153 := [unit-resolution #959 #2152]: #756 -#2154 := (or #735 #844 #916 #795 #794 #917 #1503) -#2155 := [unit-resolution #1664 #1828]: #2154 -#2156 := [unit-resolution #2155 #2153 #2042 #2024 #2150 #900 #2127]: #916 -#2159 := (or #394 #917 #540) -#2157 := (or #394 #917 #540 #424) -#2158 := [unit-resolution #1384 #1448]: #2157 -#2160 := [unit-resolution #2158 #1847]: #2159 -#2161 := [unit-resolution #2160 #2153 #2019]: #394 -#2162 := [unit-resolution #712 #2161]: #709 -#2163 := [unit-resolution #856 #2162 #2156]: false -#2164 := [lemma #2163]: #735 -#2208 := (or #365 #510) -#2187 := [unit-resolution #1464 #2140]: #1430 -#2188 := (or #1161 #482) -#2189 := [unit-resolution #1681 #1945]: #2188 -#2190 := [unit-resolution #2189 #2126]: #1161 -#2165 := [unit-resolution #2048 #1226]: #1848 -#2185 := (or #394 #1079 #1269 #1498 #365 #995) -#2168 := (or #336 #365 #2050 #394) -#2166 := (or #336 #1501 #365 #2050 #394) -#2167 := [th-lemma arith assign-bounds 1 1 1 1]: #2166 -#2169 := [unit-resolution #2167 #1494]: #2168 -#2170 := [unit-resolution #2169 #1122 #1202 #2165]: #336 -#2171 := [unit-resolution #728 #2170]: #725 -#2172 := [unit-resolution #1396 #2171]: #742 -#2173 := (or #1227 #796 #995 #739 #1079 #482 #365) -#2174 := [unit-resolution #1303 #1566 #1850]: #2173 -#2175 := [unit-resolution #2174 #2172 #2126 #1293 #1202 #1282 #1723]: #739 -#2176 := [unit-resolution #2135 #1709]: #1708 -#2177 := (or #734 #2130 #1014 #1015 #1001 #947 #1002 #1503 #1498 #1499 #1504 #1501 #2050) -#2178 := [th-lemma arith assign-bounds 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1]: #2177 -#2179 := [unit-resolution #2178 #2176 #869 #1013 #882 #1494 #1491 #1945 #1448 #2042 #1956 #2165 #1488]: #734 -#2180 := [unit-resolution #1515 #2179 #2164]: #64 -#2181 := [unit-resolution #658 #2180]: #668 -#2182 := [unit-resolution #1544 #2181 #2175]: #825 -#2183 := [unit-resolution #1625 #2171]: #1571 -#2184 := [th-lemma arith farkas -1 1 1 -1 -2 2 -2 -1 1 -1 1 -1 1 -1 1 1 #2183 #1537 #1293 #897 #2025 #903 #2179 #1448 #1013 #1852 #907 #2024 #773 #782 #1238 #2182]: false -#2186 := [lemma #2184]: #2185 -#2191 := [unit-resolution #2186 #1202 #2141 #2187 #2056 #994]: #394 -#2192 := [unit-resolution #712 #2191]: #709 -#2193 := [unit-resolution #856 #2192]: #748 -#2194 := [unit-resolution #2052 #2193 #869 #791 #836 #882 #1494 #1491 #1718 #1850 #2165 #2042 #2190 #2187 #1488]: #734 -#2195 := [unit-resolution #1515 #2194 #2164]: #64 -#2196 := [unit-resolution #658 #2195]: #668 -#2197 := [unit-resolution #1361 #2192]: #888 -#2198 := (or #753 #395 #1267) -#2199 := [th-lemma arith assign-bounds 2 -1]: #2198 -#2200 := [unit-resolution #2199 #2197 #2191]: #753 -#2201 := [unit-resolution #2058 #2193 #791 #836 #882 #1494 #869 #1718 #1850 #989 #2190 #2165]: #336 -#2202 := [unit-resolution #728 #2201]: #725 -#2203 := [unit-resolution #1396 #2202]: #742 -#2204 := [unit-resolution #2174 #2203 #2126 #2056 #1202 #994 #2200]: #739 -#2205 := [unit-resolution #1544 #2204 #2196]: #825 -#2206 := [unit-resolution #1625 #2202]: #1571 -#2207 := [th-lemma arith farkas -1 1 1 -1 -2 2 -2 -1 1 -1 1 -1 1 -1 1 1 #2206 #1537 #2056 #897 #2141 #903 #2194 #1448 #1013 #1852 #907 #2024 #773 #782 #1238 #2205]: false -#2209 := [lemma #2207]: #2208 -#2210 := [unit-resolution #2209 #989]: #365 -#2231 := [unit-resolution #2137 #2210 #869 #836 #882 #989 #1850 #2126 #1945]: #916 -#2229 := (or #2130 #510) -#2211 := [unit-resolution #720 #2210]: #717 -#2212 := [unit-resolution #1476 #2211]: #1200 -#2213 := (or #1848 #1500 #366) -#2214 := [th-lemma arith assign-bounds 1 -2]: #2213 -#2215 := [unit-resolution #2214 #2212 #2210]: #1848 -#2216 := [unit-resolution #2178 #2128 #869 #1013 #882 #1494 #1491 #1945 #1448 #2042 #2187 #2215 #1488]: #734 -#2217 := [unit-resolution #1515 #2216 #2164]: #64 -#2218 := [unit-resolution #658 #2217]: #668 -#2219 := [unit-resolution #1207 #2211]: #745 -#2220 := (or #336 #844 #1269 #948 #949 #823 #510) -#2221 := [th-lemma arith assign-bounds 1 1 1 1 1 1]: #2220 -#2222 := [unit-resolution #2221 #2216 #773 #903 #989 #2024 #2141]: #336 -#2223 := [unit-resolution #728 #2222]: #725 -#2224 := [unit-resolution #1396 #2223]: #742 -#2225 := [unit-resolution #1117 #2224 #2219 #989]: #739 -#2226 := [unit-resolution #1544 #2225 #2218]: #825 -#2227 := [unit-resolution #1625 #2223]: #1571 -#2228 := [th-lemma arith farkas -2 2 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 1 #1448 #1013 #1945 #882 #869 #2141 #903 #2216 #2227 #1537 #2226 #2056 #897 #1852 #907 #2128]: false -#2230 := [lemma #2228]: #2229 -#2232 := [unit-resolution #2230 #989]: #2130 -#2233 := [unit-resolution #2135 #2232]: #1230 -#2234 := [unit-resolution #714 #2233]: #394 -#2235 := [unit-resolution #712 #2234]: #709 -#2236 := [unit-resolution #856 #2235 #2231]: false -#2237 := [lemma #2236]: #510 -#2238 := [unit-resolution #680 #2237]: #677 -#2239 := [unit-resolution #959 #2238]: #756 -#2240 := [unit-resolution #2160 #2239 #2019]: #394 -#2241 := [unit-resolution #1979 #2237 #791 #787 #1718 #1850 #2150]: #744 -#2242 := [unit-resolution #712 #2240]: #709 -#2243 := [unit-resolution #1361 #2242]: #888 -#2244 := (or #1177 #1267 #365 #395) -#2245 := [unit-resolution #1780 #1852]: #2244 -#2246 := [unit-resolution #2245 #2243 #2241 #2240]: #365 -#2247 := [unit-resolution #720 #2246]: #717 -#2248 := [unit-resolution #1476 #2247]: #1200 -#2249 := (or #741 #794 #917 #540) -#2250 := [unit-resolution #1808 #787 #897 #1718]: #2249 -#2251 := [unit-resolution #2250 #2239 #2019 #2150]: #741 -#2252 := [unit-resolution #2012 #2240 #2150]: #1064 -#2253 := (or #1090 #568 #844) -#2254 := [unit-resolution #1898 #816 #1945 #1566 #773]: #2253 -#2255 := [unit-resolution #2254 #2252 #2024]: #568 -#2256 := [unit-resolution #654 #2255]: #655 -#2257 := [unit-resolution #1464 #2256]: #1430 -#2258 := [unit-resolution #2112 #2257 #2042 #2251 #2190 #2243 #2248]: #734 -#2259 := [unit-resolution #1515 #2258 #2164]: #64 -#2260 := [unit-resolution #1207 #2247]: #745 -#2261 := [unit-resolution #856 #2242]: #748 -#2262 := [unit-resolution #2119 #2261 #2042 #2260 #2239]: #738 -#2263 := [unit-resolution #2122 #2248 #2251 #2024 #2260 #2243]: #739 -#2264 := [unit-resolution #1544 #2263 #2262]: #65 -[unit-resolution #658 #2264 #2259]: false -unsat -68356683e9cf34e34d65674fa3c8a62835e193a4 341 0 -#2 := false -#24 := 0::Int -decl f3 :: Int -#7 := f3 -#433 := (<= f3 0::Int) -#443 := (>= f3 0::Int) -#754 := (not #443) -#410 := (not #433) -#755 := (or #410 #754) -#716 := (not #755) -#10 := 2::Int -#763 := (mod f3 2::Int) -#111 := -1::Int -#420 := (* -1::Int #763) -decl f4 :: (-> S2 Int Int) -decl f5 :: (-> S3 Int S2) -decl f6 :: S3 -#11 := f6 -#12 := (f5 f6 f3) -#13 := (f4 #12 2::Int) -#550 := (+ #13 #420) -#757 := (= #550 0::Int) -#706 := (not #757) -#718 := (>= #550 0::Int) -#663 := (not #718) -#658 := [hypothesis]: #718 -#696 := (>= #763 0::Int) -#1 := true -#69 := [true-axiom]: true -#659 := (or false #696) -#660 := [th-lemma arith]: #659 -#661 := [unit-resolution #660 #69]: #696 -#99 := (>= #13 0::Int) -#102 := (not #99) -#8 := 1::Int -#14 := (* 2::Int #13) -#15 := (+ #14 1::Int) -#16 := (+ f3 #15) -#9 := (+ f3 1::Int) -#17 := (<= #9 #16) -#18 := (not #17) -#107 := (iff #18 #102) -#81 := (+ f3 #14) -#82 := (+ 1::Int #81) -#72 := (+ 1::Int f3) -#87 := (<= #72 #82) -#90 := (not #87) -#105 := (iff #90 #102) -#97 := (>= #14 0::Int) -#93 := (not #97) -#103 := (iff #93 #102) -#100 := (iff #97 #99) -#101 := [rewrite]: #100 -#104 := [monotonicity #101]: #103 -#94 := (iff #90 #93) -#95 := (iff #87 #97) -#96 := [rewrite]: #95 -#98 := [monotonicity #96]: #94 -#106 := [trans #98 #104]: #105 -#91 := (iff #18 #90) -#88 := (iff #17 #87) -#85 := (= #16 #82) -#75 := (+ 1::Int #14) -#78 := (+ f3 #75) -#83 := (= #78 #82) -#84 := [rewrite]: #83 -#79 := (= #16 #78) -#76 := (= #15 #75) -#77 := [rewrite]: #76 -#80 := [monotonicity #77]: #79 -#86 := [trans #80 #84]: #85 -#73 := (= #9 #72) -#74 := [rewrite]: #73 -#89 := [monotonicity #74 #86]: #88 -#92 := [monotonicity #89]: #91 -#108 := [trans #92 #106]: #107 -#71 := [asserted]: #18 -#109 := [mp #71 #108]: #102 -#662 := [th-lemma arith farkas -1 1 1 #109 #661 #658]: false -#664 := [lemma #662]: #663 -#673 := (or #706 #718) -#653 := [th-lemma arith triangle-eq]: #673 -#654 := [unit-resolution #653 #664]: #706 -#645 := (or #716 #757) -#742 := -2::Int -#431 := (* -1::Int f3) -#466 := (mod #431 -2::Int) -#362 := (+ #13 #466) -#461 := (= #362 0::Int) -#740 := (if #755 #757 #461) -#442 := (= #13 0::Int) -#441 := (= f3 0::Int) -#451 := (if #441 #442 #740) -#22 := (:var 0 Int) -#20 := (:var 1 Int) -#42 := (f5 f6 #20) -#43 := (f4 #42 #22) -#776 := (pattern #43) -#115 := (* -1::Int #22) -#112 := (* -1::Int #20) -#170 := (mod #112 #115) -#285 := (+ #43 #170) -#286 := (= #285 0::Int) -#44 := (mod #20 #22) -#282 := (* -1::Int #44) -#283 := (+ #43 #282) -#284 := (= #283 0::Int) -#137 := (<= #22 0::Int) -#144 := (>= #20 0::Int) -#229 := (or #144 #137) -#230 := (not #229) -#133 := (<= #20 0::Int) -#227 := (or #133 #137) -#228 := (not #227) -#233 := (or #228 #230) -#287 := (if #233 #284 #286) -#281 := (= #43 0::Int) -#25 := (= #20 0::Int) -#288 := (if #25 #281 #287) -#280 := (= #43 #20) -#26 := (= #22 0::Int) -#289 := (if #26 #280 #288) -#777 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #776) #289) -#292 := (forall (vars (?v0 Int) (?v1 Int)) #289) -#780 := (iff #292 #777) -#778 := (iff #289 #289) -#779 := [refl]: #778 -#781 := [quant-intro #779]: #780 -#176 := (* -1::Int #170) -#249 := (if #233 #44 #176) -#252 := (if #25 0::Int #249) -#255 := (if #26 #20 #252) -#258 := (= #43 #255) -#261 := (forall (vars (?v0 Int) (?v1 Int)) #258) -#293 := (iff #261 #292) -#290 := (iff #258 #289) -#291 := [rewrite]: #290 -#294 := [quant-intro #291]: #293 -#138 := (not #137) -#145 := (not #144) -#148 := (and #145 #138) -#134 := (not #133) -#141 := (and #134 #138) -#151 := (or #141 #148) -#196 := (if #151 #44 #176) -#199 := (if #25 0::Int #196) -#202 := (if #26 #20 #199) -#205 := (= #43 #202) -#208 := (forall (vars (?v0 Int) (?v1 Int)) #205) -#262 := (iff #208 #261) -#259 := (iff #205 #258) -#256 := (= #202 #255) -#253 := (= #199 #252) -#250 := (= #196 #249) -#234 := (iff #151 #233) -#231 := (iff #148 #230) -#232 := [rewrite]: #231 -#221 := (iff #141 #228) -#222 := [rewrite]: #221 -#235 := [monotonicity #222 #232]: #234 -#251 := [monotonicity #235]: #250 -#254 := [monotonicity #251]: #253 -#257 := [monotonicity #254]: #256 -#260 := [monotonicity #257]: #259 -#263 := [quant-intro #260]: #262 -#219 := (~ #208 #208) -#218 := (~ #205 #205) -#215 := [refl]: #218 -#220 := [nnf-pos #215]: #219 -#36 := (- #22) -#35 := (- #20) -#45 := (mod #35 #36) -#46 := (- #45) -#29 := (< 0::Int #22) -#31 := (< #20 0::Int) -#32 := (and #31 #29) -#28 := (< 0::Int #20) -#30 := (and #28 #29) -#33 := (or #30 #32) -#47 := (if #33 #44 #46) -#48 := (if #25 0::Int #47) -#49 := (if #26 #20 #48) -#50 := (= #43 #49) -#51 := (forall (vars (?v0 Int) (?v1 Int)) #50) -#211 := (iff #51 #208) -#181 := (if #33 #44 #176) -#184 := (if #25 0::Int #181) -#187 := (if #26 #20 #184) -#190 := (= #43 #187) -#193 := (forall (vars (?v0 Int) (?v1 Int)) #190) -#209 := (iff #193 #208) -#206 := (iff #190 #205) -#203 := (= #187 #202) -#200 := (= #184 #199) -#197 := (= #181 #196) -#152 := (iff #33 #151) -#149 := (iff #32 #148) -#139 := (iff #29 #138) -#140 := [rewrite]: #139 -#146 := (iff #31 #145) -#147 := [rewrite]: #146 -#150 := [monotonicity #147 #140]: #149 -#142 := (iff #30 #141) -#135 := (iff #28 #134) -#136 := [rewrite]: #135 -#143 := [monotonicity #136 #140]: #142 -#153 := [monotonicity #143 #150]: #152 -#198 := [monotonicity #153]: #197 -#201 := [monotonicity #198]: #200 -#204 := [monotonicity #201]: #203 -#207 := [monotonicity #204]: #206 -#210 := [quant-intro #207]: #209 -#194 := (iff #51 #193) -#191 := (iff #50 #190) -#188 := (= #49 #187) -#185 := (= #48 #184) -#182 := (= #47 #181) -#179 := (= #46 #176) -#173 := (- #170) -#177 := (= #173 #176) -#178 := [rewrite]: #177 -#174 := (= #46 #173) -#171 := (= #45 #170) -#116 := (= #36 #115) -#117 := [rewrite]: #116 -#113 := (= #35 #112) -#114 := [rewrite]: #113 -#172 := [monotonicity #114 #117]: #171 -#175 := [monotonicity #172]: #174 -#180 := [trans #175 #178]: #179 -#183 := [monotonicity #180]: #182 -#186 := [monotonicity #183]: #185 -#189 := [monotonicity #186]: #188 -#192 := [monotonicity #189]: #191 -#195 := [quant-intro #192]: #194 -#212 := [trans #195 #210]: #211 -#169 := [asserted]: #51 -#213 := [mp #169 #212]: #208 -#216 := [mp~ #213 #220]: #208 -#264 := [mp #216 #263]: #261 -#295 := [mp #264 #294]: #292 -#782 := [mp #295 #781]: #777 -#735 := (not #777) -#724 := (or #735 #451) -#432 := (* -1::Int 2::Int) -#764 := (mod #431 #432) -#765 := (+ #13 #764) -#766 := (= #765 0::Int) -#444 := (<= 2::Int 0::Int) -#447 := (or #443 #444) -#426 := (not #447) -#445 := (or #433 #444) -#446 := (not #445) -#761 := (or #446 #426) -#767 := (if #761 #757 #766) -#762 := (if #441 #442 #767) -#440 := (= #13 f3) -#356 := (= 2::Int 0::Int) -#768 := (if #356 #440 #762) -#725 := (or #735 #768) -#721 := (iff #725 #724) -#727 := (iff #724 #724) -#728 := [rewrite]: #727 -#734 := (iff #768 #451) -#454 := (if false #440 #451) -#448 := (iff #454 #451) -#730 := [rewrite]: #448 -#732 := (iff #768 #454) -#452 := (iff #762 #451) -#737 := (iff #767 #740) -#462 := (iff #766 #461) -#738 := (= #765 #362) -#467 := (= #764 #466) -#743 := (= #432 -2::Int) -#465 := [rewrite]: #743 -#468 := [monotonicity #465]: #467 -#739 := [monotonicity #468]: #738 -#736 := [monotonicity #739]: #462 -#753 := (iff #761 #755) -#394 := (iff #426 #754) -#389 := (iff #447 #443) -#748 := (or #443 false) -#745 := (iff #748 #443) -#751 := [rewrite]: #745 -#749 := (iff #447 #748) -#423 := (iff #444 false) -#759 := [rewrite]: #423 -#750 := [monotonicity #759]: #749 -#752 := [trans #750 #751]: #389 -#395 := [monotonicity #752]: #394 -#746 := (iff #446 #410) -#408 := (iff #445 #433) -#419 := (or #433 false) -#744 := (iff #419 #433) -#407 := [rewrite]: #744 -#760 := (iff #445 #419) -#403 := [monotonicity #759]: #760 -#409 := [trans #403 #407]: #408 -#747 := [monotonicity #409]: #746 -#756 := [monotonicity #747 #395]: #753 -#741 := [monotonicity #756 #736]: #737 -#453 := [monotonicity #741]: #452 -#758 := (iff #356 false) -#418 := [rewrite]: #758 -#733 := [monotonicity #418 #453]: #732 -#731 := [trans #733 #730]: #734 -#722 := [monotonicity #731]: #721 -#723 := [trans #722 #728]: #721 -#726 := [quant-inst #7 #10]: #725 -#729 := [mp #726 #723]: #724 -#656 := [unit-resolution #729 #782]: #451 -#594 := (not #441) -#593 := (not #451) -#665 := (or #593 #594) -#699 := (not #442) -#657 := (or #699 #99) -#694 := [th-lemma arith triangle-eq]: #657 -#695 := [unit-resolution #694 #109]: #699 -#553 := (or #593 #594 #442) -#701 := [def-axiom]: #553 -#655 := [unit-resolution #701 #695]: #665 -#666 := [unit-resolution #655 #656]: #594 -#603 := (or #593 #441 #740) -#698 := [def-axiom]: #603 -#644 := [unit-resolution #698 #666 #656]: #740 -#720 := (not #740) -#549 := (or #720 #716 #757) -#551 := [def-axiom]: #549 -#647 := [unit-resolution #551 #644]: #645 -#648 := [unit-resolution #647 #654]: #716 -#571 := (or #755 #433) -#572 := [def-axiom]: #571 -#649 := [unit-resolution #572 #648]: #433 -#714 := (or #755 #443) -#715 := [def-axiom]: #714 -#650 := [unit-resolution #715 #648]: #443 -#651 := (or #441 #410 #754) -#646 := [th-lemma arith triangle-eq]: #651 -#652 := [unit-resolution #646 #666]: #755 -[unit-resolution #652 #650 #649]: false -unsat -1432b33c6328a1ffc0a07c49f1ba0f71ab4e0de0 343 0 -#2 := false -#23 := 0::Int -decl f3 :: Int -#7 := f3 -#428 := (<= f3 0::Int) -#438 := (>= f3 0::Int) -#749 := (not #438) -#405 := (not #428) -#750 := (or #405 #749) -#712 := (not #750) -#10 := 2::Int -#758 := (mod f3 2::Int) -#106 := -1::Int -#415 := (* -1::Int #758) -decl f4 :: (-> S2 Int Int) -decl f5 :: (-> S3 Int S2) -decl f6 :: S3 -#8 := f6 -#9 := (f5 f6 f3) -#11 := (f4 #9 2::Int) -#545 := (+ #11 #415) -#752 := (= #545 0::Int) -#703 := (not #752) -#713 := (<= #545 0::Int) -#659 := (not #713) -#663 := (>= #758 2::Int) -#665 := (not #663) -#1 := true -#68 := [true-axiom]: true -#654 := (or false #665) -#655 := [th-lemma arith]: #654 -#656 := [unit-resolution #655 #68]: #665 -#657 := [hypothesis]: #713 -#97 := (>= #11 2::Int) -#14 := 3::Int -#15 := (+ f3 3::Int) -#12 := (+ #11 #11) -#13 := (+ f3 #12) -#16 := (< #13 #15) -#17 := (not #16) -#102 := (iff #17 #97) -#77 := (+ 3::Int f3) -#71 := (* 2::Int #11) -#74 := (+ f3 #71) -#80 := (< #74 #77) -#83 := (not #80) -#100 := (iff #83 #97) -#90 := (>= #71 3::Int) -#98 := (iff #90 #97) -#99 := [rewrite]: #98 -#95 := (iff #83 #90) -#88 := (not #90) -#87 := (not #88) -#93 := (iff #87 #90) -#94 := [rewrite]: #93 -#91 := (iff #83 #87) -#89 := (iff #80 #88) -#86 := [rewrite]: #89 -#92 := [monotonicity #86]: #91 -#96 := [trans #92 #94]: #95 -#101 := [trans #96 #99]: #100 -#84 := (iff #17 #83) -#81 := (iff #16 #80) -#78 := (= #15 #77) -#79 := [rewrite]: #78 -#75 := (= #13 #74) -#72 := (= #12 #71) -#73 := [rewrite]: #72 -#76 := [monotonicity #73]: #75 -#82 := [monotonicity #76 #79]: #81 -#85 := [monotonicity #82]: #84 -#103 := [trans #85 #101]: #102 -#70 := [asserted]: #17 -#104 := [mp #70 #103]: #97 -#658 := [th-lemma arith farkas -1 1 1 #104 #657 #656]: false -#660 := [lemma #658]: #659 -#648 := (or #703 #713) -#649 := [th-lemma arith triangle-eq]: #648 -#651 := [unit-resolution #649 #660]: #703 -#641 := (or #712 #752) -#737 := -2::Int -#426 := (* -1::Int f3) -#461 := (mod #426 -2::Int) -#357 := (+ #11 #461) -#456 := (= #357 0::Int) -#735 := (if #750 #752 #456) -#437 := (= #11 0::Int) -#436 := (= f3 0::Int) -#446 := (if #436 #437 #735) -#21 := (:var 0 Int) -#19 := (:var 1 Int) -#41 := (f5 f6 #19) -#42 := (f4 #41 #21) -#771 := (pattern #42) -#110 := (* -1::Int #21) -#107 := (* -1::Int #19) -#165 := (mod #107 #110) -#280 := (+ #42 #165) -#281 := (= #280 0::Int) -#43 := (mod #19 #21) -#277 := (* -1::Int #43) -#278 := (+ #42 #277) -#279 := (= #278 0::Int) -#132 := (<= #21 0::Int) -#139 := (>= #19 0::Int) -#224 := (or #139 #132) -#225 := (not #224) -#128 := (<= #19 0::Int) -#222 := (or #128 #132) -#223 := (not #222) -#228 := (or #223 #225) -#282 := (if #228 #279 #281) -#276 := (= #42 0::Int) -#24 := (= #19 0::Int) -#283 := (if #24 #276 #282) -#275 := (= #42 #19) -#25 := (= #21 0::Int) -#284 := (if #25 #275 #283) -#772 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #771) #284) -#287 := (forall (vars (?v0 Int) (?v1 Int)) #284) -#775 := (iff #287 #772) -#773 := (iff #284 #284) -#774 := [refl]: #773 -#776 := [quant-intro #774]: #775 -#171 := (* -1::Int #165) -#244 := (if #228 #43 #171) -#247 := (if #24 0::Int #244) -#250 := (if #25 #19 #247) -#253 := (= #42 #250) -#256 := (forall (vars (?v0 Int) (?v1 Int)) #253) -#288 := (iff #256 #287) -#285 := (iff #253 #284) -#286 := [rewrite]: #285 -#289 := [quant-intro #286]: #288 -#133 := (not #132) -#140 := (not #139) -#143 := (and #140 #133) -#129 := (not #128) -#136 := (and #129 #133) -#146 := (or #136 #143) -#191 := (if #146 #43 #171) -#194 := (if #24 0::Int #191) -#197 := (if #25 #19 #194) -#200 := (= #42 #197) -#203 := (forall (vars (?v0 Int) (?v1 Int)) #200) -#257 := (iff #203 #256) -#254 := (iff #200 #253) -#251 := (= #197 #250) -#248 := (= #194 #247) -#245 := (= #191 #244) -#229 := (iff #146 #228) -#226 := (iff #143 #225) -#227 := [rewrite]: #226 -#216 := (iff #136 #223) -#217 := [rewrite]: #216 -#230 := [monotonicity #217 #227]: #229 -#246 := [monotonicity #230]: #245 -#249 := [monotonicity #246]: #248 -#252 := [monotonicity #249]: #251 -#255 := [monotonicity #252]: #254 -#258 := [quant-intro #255]: #257 -#214 := (~ #203 #203) -#213 := (~ #200 #200) -#210 := [refl]: #213 -#215 := [nnf-pos #210]: #214 -#35 := (- #21) -#34 := (- #19) -#44 := (mod #34 #35) -#45 := (- #44) -#28 := (< 0::Int #21) -#30 := (< #19 0::Int) -#31 := (and #30 #28) -#27 := (< 0::Int #19) -#29 := (and #27 #28) -#32 := (or #29 #31) -#46 := (if #32 #43 #45) -#47 := (if #24 0::Int #46) -#48 := (if #25 #19 #47) -#49 := (= #42 #48) -#50 := (forall (vars (?v0 Int) (?v1 Int)) #49) -#206 := (iff #50 #203) -#176 := (if #32 #43 #171) -#179 := (if #24 0::Int #176) -#182 := (if #25 #19 #179) -#185 := (= #42 #182) -#188 := (forall (vars (?v0 Int) (?v1 Int)) #185) -#204 := (iff #188 #203) -#201 := (iff #185 #200) -#198 := (= #182 #197) -#195 := (= #179 #194) -#192 := (= #176 #191) -#147 := (iff #32 #146) -#144 := (iff #31 #143) -#134 := (iff #28 #133) -#135 := [rewrite]: #134 -#141 := (iff #30 #140) -#142 := [rewrite]: #141 -#145 := [monotonicity #142 #135]: #144 -#137 := (iff #29 #136) -#130 := (iff #27 #129) -#131 := [rewrite]: #130 -#138 := [monotonicity #131 #135]: #137 -#148 := [monotonicity #138 #145]: #147 -#193 := [monotonicity #148]: #192 -#196 := [monotonicity #193]: #195 -#199 := [monotonicity #196]: #198 -#202 := [monotonicity #199]: #201 -#205 := [quant-intro #202]: #204 -#189 := (iff #50 #188) -#186 := (iff #49 #185) -#183 := (= #48 #182) -#180 := (= #47 #179) -#177 := (= #46 #176) -#174 := (= #45 #171) -#168 := (- #165) -#172 := (= #168 #171) -#173 := [rewrite]: #172 -#169 := (= #45 #168) -#166 := (= #44 #165) -#111 := (= #35 #110) -#112 := [rewrite]: #111 -#108 := (= #34 #107) -#109 := [rewrite]: #108 -#167 := [monotonicity #109 #112]: #166 -#170 := [monotonicity #167]: #169 -#175 := [trans #170 #173]: #174 -#178 := [monotonicity #175]: #177 -#181 := [monotonicity #178]: #180 -#184 := [monotonicity #181]: #183 -#187 := [monotonicity #184]: #186 -#190 := [quant-intro #187]: #189 -#207 := [trans #190 #205]: #206 -#164 := [asserted]: #50 -#208 := [mp #164 #207]: #203 -#211 := [mp~ #208 #215]: #203 -#259 := [mp #211 #258]: #256 -#290 := [mp #259 #289]: #287 -#777 := [mp #290 #776]: #772 -#730 := (not #772) -#719 := (or #730 #446) -#427 := (* -1::Int 2::Int) -#759 := (mod #426 #427) -#760 := (+ #11 #759) -#761 := (= #760 0::Int) -#439 := (<= 2::Int 0::Int) -#442 := (or #438 #439) -#421 := (not #442) -#440 := (or #428 #439) -#441 := (not #440) -#756 := (or #441 #421) -#762 := (if #756 #752 #761) -#757 := (if #436 #437 #762) -#435 := (= #11 f3) -#351 := (= 2::Int 0::Int) -#763 := (if #351 #435 #757) -#720 := (or #730 #763) -#716 := (iff #720 #719) -#722 := (iff #719 #719) -#723 := [rewrite]: #722 -#729 := (iff #763 #446) -#449 := (if false #435 #446) -#443 := (iff #449 #446) -#725 := [rewrite]: #443 -#727 := (iff #763 #449) -#447 := (iff #757 #446) -#732 := (iff #762 #735) -#457 := (iff #761 #456) -#733 := (= #760 #357) -#462 := (= #759 #461) -#738 := (= #427 -2::Int) -#460 := [rewrite]: #738 -#463 := [monotonicity #460]: #462 -#734 := [monotonicity #463]: #733 -#731 := [monotonicity #734]: #457 -#748 := (iff #756 #750) -#389 := (iff #421 #749) -#384 := (iff #442 #438) -#743 := (or #438 false) -#740 := (iff #743 #438) -#746 := [rewrite]: #740 -#744 := (iff #442 #743) -#418 := (iff #439 false) -#754 := [rewrite]: #418 -#745 := [monotonicity #754]: #744 -#747 := [trans #745 #746]: #384 -#390 := [monotonicity #747]: #389 -#741 := (iff #441 #405) -#403 := (iff #440 #428) -#414 := (or #428 false) -#739 := (iff #414 #428) -#402 := [rewrite]: #739 -#755 := (iff #440 #414) -#398 := [monotonicity #754]: #755 -#404 := [trans #398 #402]: #403 -#742 := [monotonicity #404]: #741 -#751 := [monotonicity #742 #390]: #748 -#736 := [monotonicity #751 #731]: #732 -#448 := [monotonicity #736]: #447 -#753 := (iff #351 false) -#413 := [rewrite]: #753 -#728 := [monotonicity #413 #448]: #727 -#726 := [trans #728 #725]: #729 -#717 := [monotonicity #726]: #716 -#718 := [trans #717 #723]: #716 -#721 := [quant-inst #7 #10]: #720 -#724 := [mp #721 #718]: #719 -#652 := [unit-resolution #724 #777]: #446 -#548 := (not #436) -#589 := (not #446) -#643 := (or #589 #548) -#697 := (not #437) -#565 := (<= #11 0::Int) -#653 := (not #565) -#690 := (not #97) -#691 := (or #653 #690) -#650 := [th-lemma arith farkas 1 1]: #691 -#661 := [unit-resolution #650 #104]: #653 -#639 := (or #697 #565) -#640 := [th-lemma arith triangle-eq]: #639 -#642 := [unit-resolution #640 #661]: #697 -#696 := (or #589 #548 #437) -#598 := [def-axiom]: #696 -#644 := [unit-resolution #598 #642]: #643 -#645 := [unit-resolution #644 #652]: #548 -#693 := (or #589 #436 #735) -#694 := [def-axiom]: #693 -#646 := [unit-resolution #694 #645 #652]: #735 -#544 := (not #735) -#546 := (or #544 #712 #752) -#547 := [def-axiom]: #546 -#647 := [unit-resolution #547 #646]: #641 -#633 := [unit-resolution #647 #651]: #712 -#567 := (or #750 #428) -#709 := [def-axiom]: #567 -#629 := [unit-resolution #709 #633]: #428 -#710 := (or #750 #438) -#711 := [def-axiom]: #710 -#630 := [unit-resolution #711 #633]: #438 -#631 := (or #436 #405 #749) -#634 := [th-lemma arith triangle-eq]: #631 -#635 := [unit-resolution #634 #645]: #750 -[unit-resolution #635 #630 #629]: false -unsat -6c2df05479a46eb0dc1434ea9ed59f4fae72c26e 101 0 -#2 := false -#8 := 0::Real -decl f3 :: Real -#7 := f3 -#9 := (= f3 0::Real) -#10 := (not #9) -#45 := [asserted]: #10 -#100 := (<= f3 0::Real) -#20 := 2::Real -#47 := (* 2::Real f3) -#102 := (<= #47 0::Real) -#95 := (= #47 0::Real) -#19 := 4::Real -#14 := (- f3) -#13 := (< f3 0::Real) -#15 := (if #13 #14 f3) -#12 := 1::Real -#16 := (< 1::Real #15) -#17 := (not #16) -#18 := (or #16 #17) -#21 := (if #18 4::Real 2::Real) -#22 := (* #21 f3) -#11 := (+ f3 f3) -#23 := (= #11 #22) -#24 := (not #23) -#25 := (not #24) -#96 := (iff #25 #95) -#77 := (* 4::Real f3) -#80 := (= #47 #77) -#93 := (iff #80 #95) -#94 := [rewrite]: #93 -#91 := (iff #25 #80) -#83 := (not #80) -#86 := (not #83) -#89 := (iff #86 #80) -#90 := [rewrite]: #89 -#87 := (iff #25 #86) -#84 := (iff #24 #83) -#81 := (iff #23 #80) -#78 := (= #22 #77) -#75 := (= #21 4::Real) -#1 := true -#70 := (if true 4::Real 2::Real) -#73 := (= #70 4::Real) -#74 := [rewrite]: #73 -#71 := (= #21 #70) -#68 := (iff #18 true) -#50 := -1::Real -#51 := (* -1::Real f3) -#54 := (if #13 #51 f3) -#57 := (< 1::Real #54) -#60 := (not #57) -#63 := (or #57 #60) -#66 := (iff #63 true) -#67 := [rewrite]: #66 -#64 := (iff #18 #63) -#61 := (iff #17 #60) -#58 := (iff #16 #57) -#55 := (= #15 #54) -#52 := (= #14 #51) -#53 := [rewrite]: #52 -#56 := [monotonicity #53]: #55 -#59 := [monotonicity #56]: #58 -#62 := [monotonicity #59]: #61 -#65 := [monotonicity #59 #62]: #64 -#69 := [trans #65 #67]: #68 -#72 := [monotonicity #69]: #71 -#76 := [trans #72 #74]: #75 -#79 := [monotonicity #76]: #78 -#48 := (= #11 #47) -#49 := [rewrite]: #48 -#82 := [monotonicity #49 #79]: #81 -#85 := [monotonicity #82]: #84 -#88 := [monotonicity #85]: #87 -#92 := [trans #88 #90]: #91 -#97 := [trans #92 #94]: #96 -#46 := [asserted]: #25 -#98 := [mp #46 #97]: #95 -#104 := (not #95) -#105 := (or #104 #102) -#106 := [th-lemma arith triangle-eq]: #105 -#107 := [unit-resolution #106 #98]: #102 -#108 := (not #102) -#109 := (or #100 #108) -#110 := [th-lemma arith assign-bounds 1]: #109 -#111 := [unit-resolution #110 #107]: #100 -#101 := (>= f3 0::Real) -#103 := (>= #47 0::Real) -#112 := (or #104 #103) -#113 := [th-lemma arith triangle-eq]: #112 -#114 := [unit-resolution #113 #98]: #103 -#115 := (not #103) -#116 := (or #101 #115) -#117 := [th-lemma arith assign-bounds 1]: #116 -#118 := [unit-resolution #117 #114]: #101 -#120 := (not #101) -#119 := (not #100) -#121 := (or #9 #119 #120) -#122 := [th-lemma arith triangle-eq]: #121 -[unit-resolution #122 #118 #111 #45]: false -unsat -0eb09039097aac0255a0090f04ca5df53ea2d10a 24 0 -#2 := false -#7 := (exists (vars (?v0 Int)) false) -#8 := (not #7) -#9 := (not #8) -#45 := (iff #9 false) -#1 := true -#40 := (not true) -#43 := (iff #40 false) -#44 := [rewrite]: #43 -#41 := (iff #9 #40) -#38 := (iff #8 true) -#33 := (not false) -#36 := (iff #33 true) -#37 := [rewrite]: #36 -#34 := (iff #8 #33) -#31 := (iff #7 false) -#32 := [elim-unused]: #31 -#35 := [monotonicity #32]: #34 -#39 := [trans #35 #37]: #38 -#42 := [monotonicity #39]: #41 -#46 := [trans #42 #44]: #45 -#30 := [asserted]: #9 -[mp #30 #46]: false -unsat -9f8072a1ad3de2c920c120b81de67bceefc50c87 916 0 -#2 := false -#22 := 1::Int -decl f3 :: (-> S2 Int Int) -#12 := 2::Int -decl f4 :: (-> S3 Int S2) -decl f7 :: Int -#9 := f7 -decl f5 :: S3 -#7 := f5 -#24 := (f4 f5 f7) -#25 := (f3 #24 2::Int) -#1265 := (<= #25 1::Int) -#14 := 0::Int -#551 := (mod f7 2::Int) -#84 := -1::Int -#521 := (* -1::Int #551) -#522 := (+ #25 #521) -#920 := (<= #522 0::Int) -#523 := (= #522 0::Int) -decl f6 :: Int -#8 := f6 -#10 := (+ f6 f7) -#431 := (>= #10 0::Int) -#426 := (= #10 0::Int) -#746 := (mod #10 2::Int) -#748 := (* -1::Int #746) -#11 := (f4 f5 #10) -#13 := (f3 #11 2::Int) -#405 := (+ #13 #748) -#535 := (= #405 0::Int) -#686 := (not #535) -#691 := (<= #405 0::Int) -#1269 := [hypothesis]: #535 -#1270 := (or #686 #691) -#1271 := [th-lemma arith triangle-eq]: #1270 -#1272 := [unit-resolution #1271 #1269]: #691 -#693 := (>= #405 0::Int) -#1273 := (or #686 #693) -#1626 := [th-lemma arith triangle-eq]: #1273 -#1627 := [unit-resolution #1626 #1269]: #693 -#1371 := (not #691) -#1437 := (not #693) -#1647 := (or #1437 #1371) -#1274 := (div f7 2::Int) -#447 := -2::Int -#1287 := (* -2::Int #1274) -#1288 := (+ #521 #1287) -#1289 := (+ f7 #1288) -#1286 := (= #1289 0::Int) -#1349 := (not #1286) -#1474 := [hypothesis]: #1349 -#1 := true -#78 := [true-axiom]: true -#1346 := (or false #1286) -#1347 := [th-lemma arith]: #1346 -#1475 := [unit-resolution #1347 #78 #1474]: false -#1476 := [lemma #1475]: #1286 -#1472 := (or #1349 #1437 #1371) -#1296 := (>= #551 0::Int) -#1398 := (or false #1296) -#1399 := [th-lemma arith]: #1398 -#1400 := [unit-resolution #1399 #78]: #1296 -#1422 := (>= #1289 0::Int) -#1444 := [hypothesis]: #1286 -#1445 := (or #1349 #1422) -#1446 := [th-lemma arith triangle-eq]: #1445 -#1447 := [unit-resolution #1446 #1444]: #1422 -#19 := 3::Int -#17 := 4::Int -#16 := (f4 f5 f6) -#18 := (f3 #16 4::Int) -#539 := (>= #18 3::Int) -#20 := (= #18 3::Int) -#81 := [asserted]: #20 -#989 := (not #20) -#1010 := (or #989 #539) -#1011 := [th-lemma arith triangle-eq]: #1010 -#1012 := [unit-resolution #1011 #81]: #539 -#831 := (div f6 4::Int) -#634 := -4::Int -#847 := (* -4::Int #831) -#672 := (mod f6 4::Int) -#673 := (* -1::Int #672) -#848 := (+ #673 #847) -#849 := (+ f6 #848) -#855 := (>= #849 0::Int) -#846 := (= #849 0::Int) -#993 := (or false #846) -#994 := [th-lemma arith]: #993 -#995 := [unit-resolution #994 #78]: #846 -#996 := (not #846) -#1013 := (or #996 #855) -#1014 := [th-lemma arith triangle-eq]: #1013 -#1015 := [unit-resolution #1014 #995]: #855 -#531 := (>= #13 0::Int) -#15 := (= #13 0::Int) -#80 := [asserted]: #15 -#593 := (not #15) -#1428 := (or #593 #531) -#1429 := [th-lemma arith triangle-eq]: #1428 -#1430 := [unit-resolution #1429 #80]: #531 -#777 := (div #10 2::Int) -#794 := (* -2::Int #777) -#795 := (+ #748 #794) -#796 := (+ f7 #795) -#797 := (+ f6 #796) -#1268 := (>= #797 0::Int) -#792 := (= #797 0::Int) -#1355 := (or false #792) -#1356 := [th-lemma arith]: #1355 -#1357 := [unit-resolution #1356 #78]: #792 -#1358 := (not #792) -#1431 := (or #1358 #1268) -#1432 := [th-lemma arith triangle-eq]: #1431 -#1433 := [unit-resolution #1432 #1357]: #1268 -#1434 := [hypothesis]: #693 -#674 := (+ #18 #673) -#571 := (>= #674 0::Int) -#668 := (= #674 0::Int) -#453 := (* -1::Int f6) -#631 := (mod #453 -4::Int) -#619 := (+ #18 #631) -#624 := (= #619 0::Int) -#681 := (>= f6 0::Int) -#640 := (not #681) -#667 := (<= f6 0::Int) -#641 := (not #667) -#630 := (or #641 #640) -#627 := (if #630 #668 #624) -#678 := (= f6 0::Int) -#561 := (not #678) -#670 := (= #18 0::Int) -#566 := (not #670) -#389 := (= 3::Int 0::Int) -#396 := (iff #389 false) -#397 := [rewrite]: #396 -#407 := [hypothesis]: #670 -#409 := (= 3::Int #18) -#410 := [symm #81]: #409 -#391 := [trans #410 #407]: #389 -#398 := [mp #391 #397]: false -#399 := [lemma #398]: #566 -#1204 := (or #561 #670) -#601 := (if #678 #670 #627) -#32 := (:var 0 Int) -#30 := (:var 1 Int) -#51 := (f4 f5 #30) -#52 := (f3 #51 #32) -#761 := (pattern #52) -#88 := (* -1::Int #32) -#85 := (* -1::Int #30) -#143 := (mod #85 #88) -#272 := (+ #52 #143) -#273 := (= #272 0::Int) -#53 := (mod #30 #32) -#269 := (* -1::Int #53) -#270 := (+ #52 #269) -#271 := (= #270 0::Int) -#110 := (<= #32 0::Int) -#117 := (>= #30 0::Int) -#216 := (or #117 #110) -#217 := (not #216) -#106 := (<= #30 0::Int) -#212 := (or #106 #110) -#213 := (not #212) -#220 := (or #213 #217) -#274 := (if #220 #271 #273) -#268 := (= #52 0::Int) -#34 := (= #30 0::Int) -#275 := (if #34 #268 #274) -#267 := (= #52 #30) -#35 := (= #32 0::Int) -#276 := (if #35 #267 #275) -#762 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #761) #276) -#279 := (forall (vars (?v0 Int) (?v1 Int)) #276) -#765 := (iff #279 #762) -#763 := (iff #276 #276) -#764 := [refl]: #763 -#766 := [quant-intro #764]: #765 -#149 := (* -1::Int #143) -#236 := (if #220 #53 #149) -#239 := (if #34 0::Int #236) -#242 := (if #35 #30 #239) -#245 := (= #52 #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 -#111 := (not #110) -#118 := (not #117) -#121 := (and #118 #111) -#107 := (not #106) -#114 := (and #107 #111) -#124 := (or #114 #121) -#169 := (if #124 #53 #149) -#172 := (if #34 0::Int #169) -#175 := (if #35 #30 #172) -#178 := (= #52 #175) -#181 := (forall (vars (?v0 Int) (?v1 Int)) #178) -#249 := (iff #181 #248) -#246 := (iff #178 #245) -#243 := (= #175 #242) -#240 := (= #172 #239) -#237 := (= #169 #236) -#221 := (iff #124 #220) -#218 := (iff #121 #217) -#219 := [rewrite]: #218 -#214 := (iff #114 #213) -#215 := [rewrite]: #214 -#222 := [monotonicity #215 #219]: #221 -#238 := [monotonicity #222]: #237 -#241 := [monotonicity #238]: #240 -#244 := [monotonicity #241]: #243 -#247 := [monotonicity #244]: #246 -#250 := [quant-intro #247]: #249 -#191 := (~ #181 #181) -#193 := (~ #178 #178) -#190 := [refl]: #193 -#194 := [nnf-pos #190]: #191 -#45 := (- #32) -#44 := (- #30) -#54 := (mod #44 #45) -#55 := (- #54) -#38 := (< 0::Int #32) -#40 := (< #30 0::Int) -#41 := (and #40 #38) -#37 := (< 0::Int #30) -#39 := (and #37 #38) -#42 := (or #39 #41) -#56 := (if #42 #53 #55) -#57 := (if #34 0::Int #56) -#58 := (if #35 #30 #57) -#59 := (= #52 #58) -#60 := (forall (vars (?v0 Int) (?v1 Int)) #59) -#184 := (iff #60 #181) -#154 := (if #42 #53 #149) -#157 := (if #34 0::Int #154) -#160 := (if #35 #30 #157) -#163 := (= #52 #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 #42 #124) -#122 := (iff #41 #121) -#112 := (iff #38 #111) -#113 := [rewrite]: #112 -#119 := (iff #40 #118) -#120 := [rewrite]: #119 -#123 := [monotonicity #120 #113]: #122 -#115 := (iff #39 #114) -#108 := (iff #37 #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 #60 #166) -#164 := (iff #59 #163) -#161 := (= #58 #160) -#158 := (= #57 #157) -#155 := (= #56 #154) -#152 := (= #55 #149) -#146 := (- #143) -#150 := (= #146 #149) -#151 := [rewrite]: #150 -#147 := (= #55 #146) -#144 := (= #54 #143) -#89 := (= #45 #88) -#90 := [rewrite]: #89 -#86 := (= #44 #85) -#87 := [rewrite]: #86 -#145 := [monotonicity #87 #90]: #144 -#148 := [monotonicity #145]: #147 -#153 := [trans #148 #151]: #152 -#156 := [monotonicity #153]: #155 -#159 := [monotonicity #156]: #158 -#162 := [monotonicity #159]: #161 -#165 := [monotonicity #162]: #164 -#168 := [quant-intro #165]: #167 -#185 := [trans #168 #183]: #184 -#142 := [asserted]: #60 -#186 := [mp #142 #185]: #181 -#195 := [mp~ #186 #194]: #181 -#251 := [mp #195 #250]: #248 -#282 := [mp #251 #281]: #279 -#767 := [mp #282 #766]: #762 -#555 := (not #762) -#612 := (or #555 #601) -#675 := (* -1::Int 4::Int) -#659 := (mod #453 #675) -#660 := (+ #18 #659) -#662 := (= #660 0::Int) -#669 := (<= 4::Int 0::Int) -#677 := (or #681 #669) -#682 := (not #677) -#679 := (or #667 #669) -#680 := (not #679) -#671 := (or #680 #682) -#663 := (if #671 #668 #662) -#664 := (if #678 #670 #663) -#676 := (= #18 f6) -#689 := (= 4::Int 0::Int) -#665 := (if #689 #676 #664) -#615 := (or #555 #665) -#617 := (iff #615 #612) -#618 := (iff #612 #612) -#598 := [rewrite]: #618 -#610 := (iff #665 #601) -#496 := (if false #676 #601) -#609 := (iff #496 #601) -#614 := [rewrite]: #609 -#607 := (iff #665 #496) -#602 := (iff #664 #601) -#622 := (iff #663 #627) -#625 := (iff #662 #624) -#620 := (= #660 #619) -#637 := (= #659 #631) -#635 := (= #675 -4::Int) -#636 := [rewrite]: #635 -#623 := [monotonicity #636]: #637 -#621 := [monotonicity #623]: #620 -#626 := [monotonicity #621]: #625 -#632 := (iff #671 #630) -#651 := (iff #682 #640) -#649 := (iff #677 #681) -#644 := (or #681 false) -#647 := (iff #644 #681) -#648 := [rewrite]: #647 -#645 := (iff #677 #644) -#652 := (iff #669 false) -#653 := [rewrite]: #652 -#646 := [monotonicity #653]: #645 -#650 := [trans #646 #648]: #649 -#629 := [monotonicity #650]: #651 -#642 := (iff #680 #641) -#638 := (iff #679 #667) -#655 := (or #667 false) -#654 := (iff #655 #667) -#658 := [rewrite]: #654 -#656 := (iff #679 #655) -#657 := [monotonicity #653]: #656 -#639 := [trans #657 #658]: #638 -#643 := [monotonicity #639]: #642 -#633 := [monotonicity #643 #629]: #632 -#628 := [monotonicity #633 #626]: #622 -#603 := [monotonicity #628]: #602 -#661 := (iff #689 false) -#666 := [rewrite]: #661 -#608 := [monotonicity #666 #603]: #607 -#611 := [trans #608 #614]: #610 -#613 := [monotonicity #611]: #617 -#544 := [trans #613 #598]: #617 -#616 := [quant-inst #8 #17]: #615 -#599 := [mp #616 #544]: #612 -#1203 := [unit-resolution #599 #767]: #601 -#560 := (not #601) -#562 := (or #560 #561 #670) -#563 := [def-axiom]: #562 -#1205 := [unit-resolution #563 #1203]: #1204 -#1206 := [unit-resolution #1205 #399]: #561 -#1207 := (or #678 #627) -#564 := (or #560 #678 #627) -#565 := [def-axiom]: #564 -#1208 := [unit-resolution #565 #1203]: #1207 -#1209 := [unit-resolution #1208 #1206]: #627 -#606 := (not #630) -#826 := [hypothesis]: #606 -#580 := (or #630 #667) -#604 := [def-axiom]: #580 -#827 := [unit-resolution #604 #826]: #667 -#605 := (or #630 #681) -#600 := [def-axiom]: #605 -#828 := [unit-resolution #600 #826]: #681 -#829 := (or #678 #641 #640) -#830 := [th-lemma arith triangle-eq]: #829 -#879 := [unit-resolution #830 #828 #827 #1206]: false -#880 := [lemma #879]: #630 -#582 := (not #627) -#584 := (or #582 #606 #668) -#585 := [def-axiom]: #584 -#1353 := [unit-resolution #585 #880 #1209]: #668 -#576 := (not #668) -#1216 := (or #576 #571) -#1217 := [th-lemma arith triangle-eq]: #1216 -#1435 := [unit-resolution #1217 #1353]: #571 -#1330 := (* -1::Int #1274) -#1051 := (* -2::Int #831) -#1331 := (+ #1051 #1330) -#940 := (* -1::Int #777) -#1332 := (+ #940 #1331) -#1333 := (+ #748 #1332) -#1334 := (+ #673 #1333) -#1335 := (+ #18 #1334) -#1336 := (+ #13 #1335) -#1337 := (+ f7 #1336) -#1338 := (+ f6 #1337) -#1339 := (>= #1338 2::Int) -#1369 := (not #1339) -#921 := (>= #522 0::Int) -#1362 := [hypothesis]: #691 -#1438 := (or #523 #1437 #1371) -#532 := (<= #18 3::Int) -#990 := (or #989 #532) -#991 := [th-lemma arith triangle-eq]: #990 -#992 := [unit-resolution #991 #81]: #532 -#854 := (<= #849 0::Int) -#997 := (or #996 #854) -#998 := [th-lemma arith triangle-eq]: #997 -#999 := [unit-resolution #998 #995]: #854 -#545 := (<= f7 0::Int) -#542 := (= f7 0::Int) -#1190 := (not #523) -#1308 := [hypothesis]: #1190 -#1420 := (or #542 #523) -#347 := (* -1::Int f7) -#507 := (mod #347 -2::Int) -#504 := (+ #25 #507) -#493 := (= #504 0::Int) -#548 := (>= f7 0::Int) -#497 := (not #548) -#517 := (not #545) -#502 := (or #517 #497) -#476 := (if #502 #523 #493) -#1255 := (not #542) -#1412 := [hypothesis]: #1255 -#1406 := (or #542 #476) -#543 := (= #25 0::Int) -#480 := (if #542 #543 #476) -#366 := (or #555 #480) -#416 := (* -1::Int 2::Int) -#524 := (mod #347 #416) -#526 := (+ #25 #524) -#527 := (= #526 0::Int) -#418 := (<= 2::Int 0::Int) -#549 := (or #548 #418) -#550 := (not #549) -#546 := (or #545 #418) -#547 := (not #546) -#533 := (or #547 #550) -#528 := (if #533 #523 #527) -#371 := (if #542 #543 #528) -#541 := (= #25 f7) -#341 := (= 2::Int 0::Int) -#529 := (if #341 #541 #371) -#351 := (or #555 #529) -#352 := (iff #351 #366) -#355 := (iff #366 #366) -#342 := [rewrite]: #355 -#488 := (iff #529 #480) -#483 := (if false #541 #480) -#486 := (iff #483 #480) -#487 := [rewrite]: #486 -#484 := (iff #529 #483) -#481 := (iff #371 #480) -#478 := (iff #528 #476) -#491 := (iff #527 #493) -#490 := (= #526 #504) -#500 := (= #524 #507) -#721 := (= #416 -2::Int) -#725 := [rewrite]: #721 -#503 := [monotonicity #725]: #500 -#492 := [monotonicity #503]: #490 -#494 := [monotonicity #492]: #491 -#506 := (iff #533 #502) -#498 := (iff #550 #497) -#505 := (iff #549 #548) -#511 := (or #548 false) -#510 := (iff #511 #548) -#515 := [rewrite]: #510 -#513 := (iff #549 #511) -#404 := (iff #418 false) -#392 := [rewrite]: #404 -#514 := [monotonicity #392]: #513 -#495 := [trans #514 #515]: #505 -#501 := [monotonicity #495]: #498 -#520 := (iff #547 #517) -#518 := (iff #546 #545) -#525 := (or #545 false) -#512 := (iff #525 #545) -#516 := [rewrite]: #512 -#530 := (iff #546 #525) -#509 := [monotonicity #392]: #530 -#519 := [trans #509 #516]: #518 -#508 := [monotonicity #519]: #520 -#499 := [monotonicity #508 #501]: #506 -#479 := [monotonicity #499 #494]: #478 -#482 := [monotonicity #479]: #481 -#753 := (iff #341 false) -#743 := [rewrite]: #753 -#485 := [monotonicity #743 #482]: #484 -#477 := [trans #485 #487]: #488 -#350 := [monotonicity #477]: #352 -#344 := [trans #350 #342]: #352 -#349 := [quant-inst #9 #12]: #351 -#345 := [mp #349 #344]: #366 -#1313 := [unit-resolution #345 #767]: #480 -#1254 := (not #480) -#1258 := (or #1254 #542 #476) -#1259 := [def-axiom]: #1258 -#1407 := [unit-resolution #1259 #1313]: #1406 -#1413 := [unit-resolution #1407 #1412]: #476 -#1410 := (or #548 #523) -#1309 := [hypothesis]: #497 -#881 := (or #502 #548) -#882 := [def-axiom]: #881 -#1310 := [unit-resolution #882 #1309]: #502 -#1311 := (or #1255 #548) -#1312 := [th-lemma arith triangle-eq]: #1311 -#1295 := [unit-resolution #1312 #1309]: #1255 -#1408 := [unit-resolution #1407 #1295]: #476 -#883 := (not #502) -#802 := (not #476) -#1102 := (or #802 #883 #523) -#1103 := [def-axiom]: #1102 -#1409 := [unit-resolution #1103 #1408 #1310 #1308]: false -#1411 := [lemma #1409]: #1410 -#1414 := [unit-resolution #1411 #1308]: #548 -#1415 := (or #542 #517 #497) -#1416 := [th-lemma arith triangle-eq]: #1415 -#1417 := [unit-resolution #1416 #1412 #1414]: #517 -#370 := (or #502 #545) -#372 := [def-axiom]: #370 -#1418 := [unit-resolution #372 #1417]: #502 -#1419 := [unit-resolution #1103 #1418 #1413 #1308]: false -#1421 := [lemma #1419]: #1420 -#1424 := [unit-resolution #1421 #1308]: #542 -#1425 := (or #1255 #545) -#1426 := [th-lemma arith triangle-eq]: #1425 -#1427 := [unit-resolution #1426 #1424]: #545 -#570 := (<= #13 0::Int) -#1364 := (or #593 #570) -#1365 := [th-lemma arith triangle-eq]: #1364 -#1366 := [unit-resolution #1365 #80]: #570 -#1267 := (<= #797 0::Int) -#1359 := (or #1358 #1267) -#1360 := [th-lemma arith triangle-eq]: #1359 -#1361 := [unit-resolution #1360 #1357]: #1267 -#540 := (<= #674 0::Int) -#1212 := (or #576 #540) -#1213 := [th-lemma arith triangle-eq]: #1212 -#1354 := [unit-resolution #1213 #1353]: #540 -#1436 := [th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 #1435 #1354 #1434 #1362 #1433 #1361 #1430 #1366 #1414 #1427 #1015 #999 #1012 #992]: false -#1439 := [lemma #1436]: #1438 -#1448 := [unit-resolution #1439 #1434 #1362]: #523 -#1449 := (or #1190 #921) -#1450 := [th-lemma arith triangle-eq]: #1449 -#1451 := [unit-resolution #1450 #1448]: #921 -#1266 := (>= #25 1::Int) -#1344 := (not #1266) -#1452 := (or #1190 #920) -#1453 := [th-lemma arith triangle-eq]: #1452 -#1454 := [unit-resolution #1453 #1448]: #920 -#1302 := (>= #551 2::Int) -#1303 := (not #1302) -#1455 := (or false #1303) -#1456 := [th-lemma arith]: #1455 -#1457 := [unit-resolution #1456 #78]: #1303 -#1458 := (not #920) -#1459 := (or #1265 #1302 #1458) -#1460 := [th-lemma arith assign-bounds 1 1]: #1459 -#1461 := [unit-resolution #1460 #1457 #1454]: #1265 -#1464 := (not #1265) -#1467 := (or #1464 #1344) -#26 := (= #25 1::Int) -#189 := (not #26) -#21 := (f3 #16 2::Int) -#23 := (= #21 1::Int) -#1248 := (or #606 #23) -#884 := (div f6 2::Int) -#1118 := (* -1::Int #884) -#1119 := (+ #1051 #1118) -#1120 := (+ #673 #1119) -#448 := (mod f6 2::Int) -#457 := (* -1::Int #448) -#1121 := (+ #457 #1120) -#1122 := (+ #18 #1121) -#1123 := (+ f6 #1122) -#1124 := (>= #1123 2::Int) -#1134 := (not #1124) -#1210 := [hypothesis]: #630 -#1211 := [unit-resolution #585 #1210 #1209]: #668 -#1214 := [unit-resolution #1213 #1211]: #540 -#1005 := (not #540) -#1135 := (or #1134 #1005) -#906 := (>= #448 0::Int) -#1129 := (or false #906) -#1130 := [th-lemma arith]: #1129 -#1131 := [unit-resolution #1130 #78]: #906 -#1000 := [hypothesis]: #540 -#897 := (* -2::Int #884) -#898 := (+ #457 #897) -#899 := (+ f6 #898) -#904 := (<= #899 0::Int) -#896 := (= #899 0::Int) -#1076 := (or false #896) -#1077 := [th-lemma arith]: #1076 -#1078 := [unit-resolution #1077 #78]: #896 -#1079 := (not #896) -#1080 := (or #1079 #904) -#1081 := [th-lemma arith triangle-eq]: #1080 -#1082 := [unit-resolution #1081 #1078]: #904 -#1132 := [hypothesis]: #1124 -#1133 := [th-lemma arith farkas -1 2 -1 -1 -1 1 #992 #1132 #999 #1082 #1000 #1131]: false -#1136 := [lemma #1133]: #1135 -#1215 := [unit-resolution #1136 #1214]: #1134 -#1218 := [unit-resolution #1217 #1211]: #571 -#905 := (>= #899 0::Int) -#1219 := (or #1079 #905) -#1220 := [th-lemma arith triangle-eq]: #1219 -#1221 := [unit-resolution #1220 #1078]: #905 -#458 := (+ #21 #457) -#369 := (>= #458 0::Int) -#449 := (= #458 0::Int) -#489 := (mod #453 -2::Int) -#471 := (+ #21 #489) -#474 := (= #471 0::Int) -#455 := (if #630 #449 #474) -#475 := (= #21 0::Int) -#424 := (if #678 #475 #455) -#375 := (or #555 #424) -#459 := (mod #453 #416) -#440 := (+ #21 #459) -#441 := (= #440 0::Int) -#462 := (or #681 #418) -#464 := (not #462) -#460 := (or #667 #418) -#461 := (not #460) -#463 := (or #461 #464) -#442 := (if #463 #449 #441) -#434 := (if #678 #475 #442) -#467 := (= #21 f6) -#443 := (if #341 #467 #434) -#377 := (or #555 #443) -#381 := (iff #377 #375) -#382 := (iff #375 #375) -#357 := [rewrite]: #382 -#384 := (iff #443 #424) -#390 := (if false #467 #424) -#385 := (iff #390 #424) -#386 := [rewrite]: #385 -#402 := (iff #443 #390) -#400 := (iff #434 #424) -#456 := (iff #442 #455) -#465 := (iff #441 #474) -#472 := (= #440 #471) -#469 := (= #459 #489) -#470 := [monotonicity #725]: #469 -#473 := [monotonicity #470]: #472 -#454 := [monotonicity #473]: #465 -#466 := (iff #463 #630) -#422 := (iff #464 #640) -#420 := (iff #462 #681) -#406 := (iff #462 #644) -#419 := [monotonicity #392]: #406 -#421 := [trans #419 #648]: #420 -#423 := [monotonicity #421]: #422 -#414 := (iff #461 #641) -#445 := (iff #460 #667) -#444 := (iff #460 #655) -#435 := [monotonicity #392]: #444 -#412 := [trans #435 #658]: #445 -#415 := [monotonicity #412]: #414 -#468 := [monotonicity #415 #423]: #466 -#413 := [monotonicity #468 #454]: #456 -#401 := [monotonicity #413]: #400 -#383 := [monotonicity #743 #401]: #402 -#387 := [trans #383 #386]: #384 -#376 := [monotonicity #387]: #381 -#361 := [trans #376 #357]: #381 -#378 := [quant-inst #8 #12]: #377 -#362 := [mp #378 #361]: #375 -#1222 := [unit-resolution #362 #767]: #424 -#348 := (not #424) -#1223 := (or #348 #455) -#353 := (or #348 #678 #455) -#354 := [def-axiom]: #353 -#1224 := [unit-resolution #354 #1206]: #1223 -#1225 := [unit-resolution #1224 #1222]: #455 -#368 := (not #455) -#373 := (or #368 #606 #449) -#356 := [def-axiom]: #373 -#1226 := [unit-resolution #356 #1210 #1225]: #449 -#363 := (not #449) -#1227 := (or #363 #369) -#1228 := [th-lemma arith triangle-eq]: #1227 -#1229 := [unit-resolution #1228 #1226]: #369 -#346 := (>= #21 1::Int) -#1084 := (not #346) -#343 := (<= #21 1::Int) -#912 := (>= #448 2::Int) -#913 := (not #912) -#1230 := (or false #913) -#1231 := [th-lemma arith]: #1230 -#1232 := [unit-resolution #1231 #78]: #913 -#367 := (<= #458 0::Int) -#1233 := (or #363 #367) -#1234 := [th-lemma arith triangle-eq]: #1233 -#1235 := [unit-resolution #1234 #1226]: #367 -#1236 := (not #367) -#1237 := (or #343 #912 #1236) -#1238 := [th-lemma arith assign-bounds 1 1]: #1237 -#1239 := [unit-resolution #1238 #1235 #1232]: #343 -#1241 := (not #343) -#1244 := (or #1241 #1084) -#188 := (not #23) -#1240 := [hypothesis]: #188 -#1242 := (or #23 #1241 #1084) -#1243 := [th-lemma arith triangle-eq]: #1242 -#1245 := [unit-resolution #1243 #1240]: #1244 -#1246 := [unit-resolution #1245 #1239]: #1084 -#1247 := [th-lemma arith farkas -1/2 -1/2 1/2 -1/2 -1/2 -1/2 1 #1012 #1015 #1246 #1229 #1221 #1218 #1215]: false -#1249 := [lemma #1247]: #1248 -#1462 := [unit-resolution #1249 #880]: #23 -#200 := (or #188 #189) -#27 := (and #23 #26) -#28 := (not #27) -#209 := (iff #28 #200) -#201 := (not #200) -#204 := (not #201) -#207 := (iff #204 #200) -#208 := [rewrite]: #207 -#205 := (iff #28 #204) -#202 := (iff #27 #201) -#203 := [rewrite]: #202 -#206 := [monotonicity #203]: #205 -#210 := [trans #206 #208]: #209 -#82 := [asserted]: #28 -#211 := [mp #82 #210]: #200 -#1463 := [unit-resolution #211 #1462]: #189 -#1465 := (or #26 #1464 #1344) -#1466 := [th-lemma arith triangle-eq]: #1465 -#1468 := [unit-resolution #1466 #1463]: #1467 -#1469 := [unit-resolution #1468 #1461]: #1344 -#1370 := (not #921) -#1372 := (or #1369 #1370 #1371 #1266) -#1345 := [hypothesis]: #1344 -#1294 := (<= #1289 0::Int) -#1348 := [unit-resolution #1347 #78]: #1286 -#1350 := (or #1349 #1294) -#1351 := [th-lemma arith triangle-eq]: #1350 -#1352 := [unit-resolution #1351 #1348]: #1294 -#1363 := [hypothesis]: #1339 -#1367 := [hypothesis]: #921 -#1368 := [th-lemma arith farkas -1 1 -2 1 1 1 1 1 1 1 #1367 #1366 #1363 #1362 #1361 #1354 #1352 #999 #992 #1345]: false -#1373 := [lemma #1368]: #1372 -#1470 := [unit-resolution #1373 #1469 #1362 #1451]: #1369 -#1471 := [th-lemma arith farkas -2 1 1 1 1 1 1 1 1 #1470 #1435 #1434 #1433 #1430 #1015 #1012 #1447 #1400]: false -#1473 := [lemma #1471]: #1472 -#1648 := [unit-resolution #1473 #1476]: #1647 -#1649 := [unit-resolution #1648 #1627 #1272]: false -#1650 := [lemma #1649]: #686 -#1479 := (or #426 #535) -#1423 := [hypothesis]: #686 -#723 := (+ #453 #347) -#722 := (mod #723 -2::Int) -#437 := (+ #13 #722) -#717 := (= #437 0::Int) -#741 := (not #431) -#427 := (<= #10 0::Int) -#735 := (not #427) -#450 := (or #735 #741) -#715 := (if #450 #535 #717) -#589 := (not #426) -#768 := [hypothesis]: #589 -#1441 := (or #426 #715) -#720 := (if #426 #15 #715) -#556 := (or #555 #720) -#742 := (* -1::Int #10) -#417 := (mod #742 #416) -#749 := (+ #13 #417) -#750 := (= #749 0::Int) -#428 := (or #431 #418) -#432 := (not #428) -#429 := (or #427 #418) -#430 := (not #429) -#411 := (or #430 #432) -#751 := (if #411 #535 #750) -#752 := (if #426 #15 #751) -#425 := (= #13 #10) -#747 := (if #341 #425 #752) -#557 := (or #555 #747) -#700 := (iff #557 #556) -#702 := (iff #556 #556) -#696 := [rewrite]: #702 -#708 := (iff #747 #720) -#745 := (* -1::Int #13) -#388 := (+ f7 #745) -#729 := (+ f6 #388) -#744 := (= #729 0::Int) -#711 := (if false #744 #720) -#712 := (iff #711 #720) -#713 := [rewrite]: #712 -#706 := (iff #747 #711) -#709 := (iff #752 #720) -#719 := (iff #751 #715) -#718 := (iff #750 #717) -#438 := (= #749 #437) -#726 := (= #417 #722) -#724 := (= #742 #723) -#446 := [rewrite]: #724 -#436 := [monotonicity #446 #725]: #726 -#439 := [monotonicity #436]: #438 -#433 := [monotonicity #439]: #718 -#451 := (iff #411 #450) -#727 := (iff #432 #741) -#740 := (iff #428 #431) -#374 := (or #431 false) -#379 := (iff #374 #431) -#380 := [rewrite]: #379 -#737 := (iff #428 #374) -#739 := [monotonicity #392]: #737 -#738 := [trans #739 #380]: #740 -#728 := [monotonicity #738]: #727 -#730 := (iff #430 #735) -#733 := (iff #429 #427) -#393 := (or #427 false) -#731 := (iff #393 #427) -#732 := [rewrite]: #731 -#394 := (iff #429 #393) -#395 := [monotonicity #392]: #394 -#734 := [trans #395 #732]: #733 -#736 := [monotonicity #734]: #730 -#452 := [monotonicity #736 #728]: #451 -#716 := [monotonicity #452 #433]: #719 -#710 := [monotonicity #716]: #709 -#408 := (iff #425 #744) -#403 := [rewrite]: #408 -#707 := [monotonicity #743 #403 #710]: #706 -#714 := [trans #707 #713]: #708 -#701 := [monotonicity #714]: #700 -#697 := [trans #701 #696]: #700 -#699 := [quant-inst #10 #12]: #557 -#703 := [mp #699 #697]: #556 -#1440 := [unit-resolution #703 #767]: #720 -#587 := (not #720) -#591 := (or #587 #426 #715) -#592 := [def-axiom]: #591 -#1442 := [unit-resolution #592 #1440]: #1441 -#1443 := [unit-resolution #1442 #768]: #715 -#775 := (or #450 #426) -#536 := (not #450) -#769 := [hypothesis]: #536 -#704 := (or #450 #427) -#698 := [def-axiom]: #704 -#770 := [unit-resolution #698 #769]: #427 -#705 := (or #450 #431) -#534 := [def-axiom]: #705 -#771 := [unit-resolution #534 #769]: #431 -#772 := (or #426 #735 #741) -#773 := [th-lemma arith triangle-eq]: #772 -#774 := [unit-resolution #773 #771 #770 #768]: false -#776 := [lemma #774]: #775 -#1477 := [unit-resolution #776 #768]: #450 -#695 := (not #715) -#577 := (or #695 #536 #535) -#578 := [def-axiom]: #577 -#1478 := [unit-resolution #578 #1477 #1443 #1423]: false -#1480 := [lemma #1478]: #1479 -#1651 := [unit-resolution #1480 #1650]: #426 -#1652 := (or #589 #431) -#1653 := [th-lemma arith triangle-eq]: #1652 -#1654 := [unit-resolution #1653 #1651]: #431 -#1655 := (or #589 #427) -#1656 := [th-lemma arith triangle-eq]: #1655 -#1657 := [unit-resolution #1656 #1651]: #427 -#1645 := (or #523 #741 #735) -#1513 := [hypothesis]: #427 -#1580 := (or #497 #735 #667) -#1022 := [hypothesis]: #641 -#1487 := [hypothesis]: #548 -#1579 := [th-lemma arith farkas -1 1 1 #1513 #1487 #1022]: false -#1581 := [lemma #1579]: #1580 -#1641 := [unit-resolution #1581 #1414 #1513]: #667 -#1642 := [unit-resolution #830 #1206]: #630 -#1643 := [unit-resolution #1642 #1641]: #640 -#1573 := [hypothesis]: #431 -#1644 := [th-lemma arith farkas -1 1 1 #1573 #1643 #1427]: false -#1646 := [lemma #1644]: #1645 -#1658 := [unit-resolution #1646 #1657 #1654]: #523 -#1659 := [unit-resolution #1453 #1658]: #920 -#1660 := (or #1265 #1458) -#1623 := [hypothesis]: #1302 -#1624 := [unit-resolution #1456 #78 #1623]: false -#1625 := [lemma #1624]: #1303 -#1661 := [unit-resolution #1460 #1625]: #1660 -#1662 := [unit-resolution #1661 #1659]: #1265 -#1503 := (+ #673 #1331) -#1609 := (+ #521 #1503) -#1610 := (+ #18 #1609) -#1611 := (+ f7 #1610) -#1612 := (+ f6 #1611) -#1613 := (>= #1612 2::Int) -#1620 := (not #1613) -#1621 := (or #1620 #735) -#1512 := [unit-resolution #1351 #1476]: #1294 -#1618 := [hypothesis]: #1613 -#1619 := [th-lemma arith farkas 2 -1 -1 -1 -1 -1 1 #1618 #1513 #1354 #999 #992 #1512 #1400]: false -#1622 := [lemma #1619]: #1621 -#1663 := [unit-resolution #1622 #1657]: #1620 -#1664 := [unit-resolution #1450 #1658]: #921 -#1639 := (or #1370 #1613 #741 #1266) -#1597 := [unit-resolution #1446 #1476]: #1422 -#1637 := [th-lemma arith #1573 #1345 #1367 #1435 #1015 #1012 #1597]: #1613 -#1636 := [hypothesis]: #1620 -#1638 := [unit-resolution #1636 #1637]: false -#1640 := [lemma #1638]: #1639 -#1665 := [unit-resolution #1640 #1664 #1654 #1663]: #1266 -[unit-resolution #1468 #1665 #1662]: false -unsat -f966ee970dc5619d71e606afb53aade7fa8a1452 24 0 -#2 := false -#7 := (exists (vars (?v0 Real)) false) -#8 := (not #7) -#9 := (not #8) -#45 := (iff #9 false) -#1 := true -#40 := (not true) -#43 := (iff #40 false) -#44 := [rewrite]: #43 -#41 := (iff #9 #40) -#38 := (iff #8 true) -#33 := (not false) -#36 := (iff #33 true) -#37 := [rewrite]: #36 -#34 := (iff #8 #33) -#31 := (iff #7 false) -#32 := [elim-unused]: #31 -#35 := [monotonicity #32]: #34 -#39 := [trans #35 #37]: #38 -#42 := [monotonicity #39]: #41 -#46 := [trans #42 #44]: #45 -#30 := [asserted]: #9 -[mp #30 #46]: false -unsat -c4f4c8220660d1979009b33a643f0927bee816b1 1 0 -unsat -e7ef76d73ccb9bc09d2b5368495a7a59d1bae3dc 1 0 -unsat -db6426d59fdd57da8ca5d11de399761d1f1443de 1 0 -unsat -a2da5fa16f268876e3dcbc1874e34212d0a36218 54 0 -#2 := false -#11 := 1::Int -#8 := 0::Int -#135 := (= 0::Int 1::Int) -#137 := (iff #135 false) -#138 := [rewrite]: #137 -decl ?v1!0 :: Int -#55 := ?v1!0 -#58 := (= ?v1!0 1::Int) -decl ?v0!1 :: Int -#56 := ?v0!1 -#57 := (= ?v0!1 0::Int) -#50 := (and #57 #58) -#59 := (= ?v0!1 ?v1!0) -#60 := (not #59) -#52 := (not #50) -#61 := (or #52 #60) -#62 := (not #61) -#10 := (:var 0 Int) -#7 := (:var 1 Int) -#14 := (= #7 #10) -#15 := (not #14) -#12 := (= #10 1::Int) -#9 := (= #7 0::Int) -#13 := (and #9 #12) -#39 := (not #13) -#40 := (or #39 #15) -#43 := (forall (vars (?v0 Int) (?v1 Int)) #40) -#46 := (not #43) -#63 := (~ #46 #62) -#64 := [sk]: #63 -#16 := (implies #13 #15) -#17 := (forall (vars (?v0 Int) (?v1 Int)) #16) -#18 := (not #17) -#47 := (iff #18 #46) -#44 := (iff #17 #43) -#41 := (iff #16 #40) -#42 := [rewrite]: #41 -#45 := [quant-intro #42]: #44 -#48 := [monotonicity #45]: #47 -#38 := [asserted]: #18 -#51 := [mp #38 #48]: #46 -#67 := [mp~ #51 #64]: #62 -#70 := [not-or-elim #67]: #50 -#72 := [and-elim #70]: #58 -#133 := (= 0::Int ?v1!0) -#73 := [not-or-elim #67]: #59 -#131 := (= 0::Int ?v0!1) -#71 := [and-elim #70]: #57 -#132 := [symm #71]: #131 -#134 := [trans #132 #73]: #133 -#136 := [trans #134 #72]: #135 -[mp #136 #138]: false -unsat -46597b09986e0d4d045609318eeba242d6132e5c 82 0 -#2 := false -#8 := (:var 0 Int) -#10 := 0::Int -#12 := (<= 0::Int #8) -#11 := (< #8 0::Int) -#13 := (or #11 #12) -#7 := (:var 1 Int) -#9 := (< #7 #8) -#14 := (implies #9 #13) -#15 := (forall (vars (?v1 Int)) #14) -#16 := (exists (vars (?v0 Int)) #15) -#17 := (not #16) -#102 := (iff #17 false) -#38 := (not #9) -#39 := (or #38 #13) -#42 := (forall (vars (?v1 Int)) #39) -#45 := (exists (vars (?v0 Int)) #42) -#48 := (not #45) -#100 := (iff #48 false) -#1 := true -#95 := (not true) -#98 := (iff #95 false) -#99 := [rewrite]: #98 -#96 := (iff #48 #95) -#93 := (iff #45 true) -#88 := (exists (vars (?v0 Int)) true) -#91 := (iff #88 true) -#92 := [elim-unused]: #91 -#89 := (iff #45 #88) -#86 := (iff #42 true) -#81 := (forall (vars (?v1 Int)) true) -#84 := (iff #81 true) -#85 := [elim-unused]: #84 -#82 := (iff #42 #81) -#79 := (iff #39 true) -#53 := (>= #8 0::Int) -#51 := (not #53) -#71 := (or #51 #53) -#57 := -1::Int -#60 := (* -1::Int #8) -#61 := (+ #7 #60) -#59 := (>= #61 0::Int) -#74 := (or #59 #71) -#77 := (iff #74 true) -#78 := [rewrite]: #77 -#75 := (iff #39 #74) -#72 := (iff #13 #71) -#55 := (iff #12 #53) -#56 := [rewrite]: #55 -#52 := (iff #11 #51) -#54 := [rewrite]: #52 -#73 := [monotonicity #54 #56]: #72 -#69 := (iff #38 #59) -#58 := (not #59) -#64 := (not #58) -#67 := (iff #64 #59) -#68 := [rewrite]: #67 -#65 := (iff #38 #64) -#62 := (iff #9 #58) -#63 := [rewrite]: #62 -#66 := [monotonicity #63]: #65 -#70 := [trans #66 #68]: #69 -#76 := [monotonicity #70 #73]: #75 -#80 := [trans #76 #78]: #79 -#83 := [quant-intro #80]: #82 -#87 := [trans #83 #85]: #86 -#90 := [quant-intro #87]: #89 -#94 := [trans #90 #92]: #93 -#97 := [monotonicity #94]: #96 -#101 := [trans #97 #99]: #100 -#49 := (iff #17 #48) -#46 := (iff #16 #45) -#43 := (iff #15 #42) -#40 := (iff #14 #39) -#41 := [rewrite]: #40 -#44 := [quant-intro #41]: #43 -#47 := [quant-intro #44]: #46 -#50 := [monotonicity #47]: #49 -#103 := [trans #50 #101]: #102 -#37 := [asserted]: #17 -[mp #37 #103]: false -unsat -aea13e787f95ed97feac7bd1dfc69160a5b8be70 78 0 -#2 := false -#8 := (:var 0 Int) -#10 := 2::Int -#14 := (* 2::Int #8) -#12 := 1::Int -#7 := (:var 1 Int) -#11 := (* 2::Int #7) -#13 := (+ #11 1::Int) -#15 := (< #13 #14) -#9 := (< #7 #8) -#16 := (implies #9 #15) -#17 := (forall (vars (?v0 Int) (?v1 Int)) #16) -#18 := (not #17) -#98 := (iff #18 false) -#40 := (+ 1::Int #11) -#43 := (< #40 #14) -#49 := (not #9) -#50 := (or #49 #43) -#55 := (forall (vars (?v0 Int) (?v1 Int)) #50) -#58 := (not #55) -#96 := (iff #58 false) -#1 := true -#91 := (not true) -#94 := (iff #91 false) -#95 := [rewrite]: #94 -#92 := (iff #58 #91) -#89 := (iff #55 true) -#84 := (forall (vars (?v0 Int) (?v1 Int)) true) -#87 := (iff #84 true) -#88 := [elim-unused]: #87 -#85 := (iff #55 #84) -#82 := (iff #50 true) -#20 := 0::Int -#61 := -1::Int -#64 := (* -1::Int #8) -#65 := (+ #7 #64) -#63 := (>= #65 0::Int) -#62 := (not #63) -#76 := (or #63 #62) -#80 := (iff #76 true) -#81 := [rewrite]: #80 -#78 := (iff #50 #76) -#77 := (iff #43 #62) -#75 := [rewrite]: #77 -#73 := (iff #49 #63) -#68 := (not #62) -#71 := (iff #68 #63) -#72 := [rewrite]: #71 -#69 := (iff #49 #68) -#66 := (iff #9 #62) -#67 := [rewrite]: #66 -#70 := [monotonicity #67]: #69 -#74 := [trans #70 #72]: #73 -#79 := [monotonicity #74 #75]: #78 -#83 := [trans #79 #81]: #82 -#86 := [quant-intro #83]: #85 -#90 := [trans #86 #88]: #89 -#93 := [monotonicity #90]: #92 -#97 := [trans #93 #95]: #96 -#59 := (iff #18 #58) -#56 := (iff #17 #55) -#53 := (iff #16 #50) -#46 := (implies #9 #43) -#51 := (iff #46 #50) -#52 := [rewrite]: #51 -#47 := (iff #16 #46) -#44 := (iff #15 #43) -#41 := (= #13 #40) -#42 := [rewrite]: #41 -#45 := [monotonicity #42]: #44 -#48 := [monotonicity #45]: #47 -#54 := [trans #48 #52]: #53 -#57 := [quant-intro #54]: #56 -#60 := [monotonicity #57]: #59 -#99 := [trans #60 #97]: #98 -#39 := [asserted]: #18 -[mp #39 #99]: false -unsat -e6703a33319f0e5148dba82e8205956f98cd7b63 56 0 -#2 := false -#12 := (:var 0 Int) -#7 := 2::Int -#13 := (* 2::Int #12) -#10 := 1::Int -#8 := (:var 1 Int) -#9 := (* 2::Int #8) -#11 := (+ #9 1::Int) -#14 := (= #11 #13) -#15 := (not #14) -#16 := (forall (vars (?v0 Int) (?v1 Int)) #15) -#17 := (not #16) -#77 := (iff #17 false) -#39 := (+ 1::Int #9) -#42 := (= #39 #13) -#45 := (not #42) -#48 := (forall (vars (?v0 Int) (?v1 Int)) #45) -#51 := (not #48) -#75 := (iff #51 false) -#1 := true -#70 := (not true) -#73 := (iff #70 false) -#74 := [rewrite]: #73 -#71 := (iff #51 #70) -#68 := (iff #48 true) -#63 := (forall (vars (?v0 Int) (?v1 Int)) true) -#66 := (iff #63 true) -#67 := [elim-unused]: #66 -#64 := (iff #48 #63) -#61 := (iff #45 true) -#54 := (not false) -#59 := (iff #54 true) -#60 := [rewrite]: #59 -#55 := (iff #45 #54) -#56 := (iff #42 false) -#57 := [rewrite]: #56 -#58 := [monotonicity #57]: #55 -#62 := [trans #58 #60]: #61 -#65 := [quant-intro #62]: #64 -#69 := [trans #65 #67]: #68 -#72 := [monotonicity #69]: #71 -#76 := [trans #72 #74]: #75 -#52 := (iff #17 #51) -#49 := (iff #16 #48) -#46 := (iff #15 #45) -#43 := (iff #14 #42) -#40 := (= #11 #39) -#41 := [rewrite]: #40 -#44 := [monotonicity #41]: #43 -#47 := [monotonicity #44]: #46 -#50 := [quant-intro #47]: #49 -#53 := [monotonicity #50]: #52 -#78 := [trans #53 #76]: #77 -#38 := [asserted]: #17 -[mp #38 #78]: false -unsat -8a770e2a15f5bbced47daef21d1d322e18a383fb 89 0 -#2 := false -#7 := 2::Int -decl ?v0!1 :: Int -#71 := ?v0!1 -decl ?v1!0 :: Int -#70 := ?v1!0 -#85 := (+ ?v1!0 ?v0!1) -#94 := (= #85 2::Int) -#109 := (not #94) -#97 := (>= #85 2::Int) -#100 := (not #97) -#88 := (<= #85 2::Int) -#91 := (not #88) -#103 := (or #91 #94 #100) -#106 := (not #103) -#72 := (+ ?v0!1 ?v1!0) -#74 := (>= #72 2::Int) -#75 := (not #74) -#67 := (= #72 2::Int) -#73 := (<= #72 2::Int) -#40 := (not #73) -#76 := (or #40 #67 #75) -#77 := (not #76) -#107 := (iff #77 #106) -#104 := (iff #76 #103) -#101 := (iff #75 #100) -#98 := (iff #74 #97) -#86 := (= #72 #85) -#87 := [rewrite]: #86 -#99 := [monotonicity #87]: #98 -#102 := [monotonicity #99]: #101 -#95 := (iff #67 #94) -#96 := [monotonicity #87]: #95 -#92 := (iff #40 #91) -#89 := (iff #73 #88) -#90 := [monotonicity #87]: #89 -#93 := [monotonicity #90]: #92 -#105 := [monotonicity #93 #96 #102]: #104 -#108 := [monotonicity #105]: #107 -#9 := (:var 0 Int) -#8 := (:var 1 Int) -#10 := (+ #8 #9) -#44 := (>= #10 2::Int) -#41 := (not #44) -#12 := (= #10 2::Int) -#45 := (<= #10 2::Int) -#46 := (not #45) -#55 := (or #46 #12 #41) -#60 := (forall (vars (?v0 Int) (?v1 Int)) #55) -#63 := (not #60) -#78 := (~ #63 #77) -#79 := [sk]: #78 -#13 := (< #10 2::Int) -#14 := (or #12 #13) -#11 := (< 2::Int #10) -#15 := (or #11 #14) -#16 := (forall (vars (?v0 Int) (?v1 Int)) #15) -#17 := (not #16) -#64 := (iff #17 #63) -#61 := (iff #16 #60) -#58 := (iff #15 #55) -#49 := (or #12 #41) -#52 := (or #46 #49) -#56 := (iff #52 #55) -#57 := [rewrite]: #56 -#53 := (iff #15 #52) -#50 := (iff #14 #49) -#43 := (iff #13 #41) -#42 := [rewrite]: #43 -#51 := [monotonicity #42]: #50 -#47 := (iff #11 #46) -#48 := [rewrite]: #47 -#54 := [monotonicity #48 #51]: #53 -#59 := [trans #54 #57]: #58 -#62 := [quant-intro #59]: #61 -#65 := [monotonicity #62]: #64 -#38 := [asserted]: #17 -#66 := [mp #38 #65]: #63 -#82 := [mp~ #66 #79]: #77 -#83 := [mp #82 #108]: #106 -#110 := [not-or-elim #83]: #109 -#111 := [not-or-elim #83]: #97 -#173 := (or #94 #100) -#84 := [not-or-elim #83]: #88 -#171 := (or #94 #91 #100) -#172 := [th-lemma arith triangle-eq]: #171 -#174 := [unit-resolution #172 #84]: #173 -[unit-resolution #174 #111 #110]: false -unsat -c93368b1109e5b13c7d8bc3c33d69c60ba539127 89 0 -#2 := false -#7 := 0::Int -decl ?v0!0 :: Int -#87 := ?v0!0 -#88 := (<= ?v0!0 0::Int) -#157 := (not #88) -#166 := [hypothesis]: #88 -#10 := 1::Int -#89 := (>= ?v0!0 1::Int) -#90 := (not #89) -#167 := (or #90 #157) -#168 := [th-lemma arith farkas 1 1]: #167 -#169 := [unit-resolution #168 #166]: #90 -#170 := (or #157 #89) -#56 := -1::Int -#83 := (<= ?v0!0 -1::Int) -#84 := (not #83) -#91 := (if #88 #90 #84) -#92 := (not #91) -#8 := (:var 0 Int) -#57 := (<= #8 -1::Int) -#58 := (not #57) -#62 := (>= #8 1::Int) -#61 := (not #62) -#52 := (<= #8 0::Int) -#68 := (if #52 #61 #58) -#73 := (forall (vars (?v0 Int)) #68) -#76 := (not #73) -#93 := (~ #76 #92) -#94 := [sk]: #93 -#13 := (< #8 1::Int) -#11 := (+ #8 1::Int) -#12 := (< 0::Int #11) -#9 := (< 0::Int #8) -#14 := (if #9 #12 #13) -#15 := (forall (vars (?v0 Int)) #14) -#16 := (not #15) -#79 := (iff #16 #76) -#37 := (+ 1::Int #8) -#40 := (< 0::Int #37) -#43 := (if #9 #40 #13) -#46 := (forall (vars (?v0 Int)) #43) -#49 := (not #46) -#77 := (iff #49 #76) -#74 := (iff #46 #73) -#71 := (iff #43 #68) -#53 := (not #52) -#65 := (if #53 #58 #61) -#69 := (iff #65 #68) -#70 := [rewrite]: #69 -#66 := (iff #43 #65) -#63 := (iff #13 #61) -#64 := [rewrite]: #63 -#59 := (iff #40 #58) -#60 := [rewrite]: #59 -#54 := (iff #9 #53) -#55 := [rewrite]: #54 -#67 := [monotonicity #55 #60 #64]: #66 -#72 := [trans #67 #70]: #71 -#75 := [quant-intro #72]: #74 -#78 := [monotonicity #75]: #77 -#50 := (iff #16 #49) -#47 := (iff #15 #46) -#44 := (iff #14 #43) -#41 := (iff #12 #40) -#38 := (= #11 #37) -#39 := [rewrite]: #38 -#42 := [monotonicity #39]: #41 -#45 := [monotonicity #42]: #44 -#48 := [quant-intro #45]: #47 -#51 := [monotonicity #48]: #50 -#80 := [trans #51 #78]: #79 -#36 := [asserted]: #16 -#81 := [mp #36 #80]: #76 -#97 := [mp~ #81 #94]: #92 -#162 := (or #91 #157 #89) -#163 := [def-axiom]: #162 -#171 := [unit-resolution #163 #97]: #170 -#172 := [unit-resolution #171 #169 #166]: false -#173 := [lemma #172]: #157 -#174 := (or #84 #88) -#175 := [th-lemma arith farkas 1 1]: #174 -#176 := [unit-resolution #175 #173]: #84 -#177 := (or #88 #83) -#164 := (or #91 #88 #83) -#165 := [def-axiom]: #164 -#178 := [unit-resolution #165 #97]: #177 -[unit-resolution #178 #176 #173]: false -unsat -8578dab7bf88c7d119f9af2e5f7eaf948f1bdb87 84 0 -WARNING: failed to find a pattern for quantifier (quantifier id: k!10) -#2 := false -#8 := 0::Int -#7 := (:var 0 Int) -#49 := (<= #7 0::Int) -#50 := (not #49) -#47 := (>= #7 0::Int) -#45 := (not #47) -#53 := (or #45 #50) -#56 := (forall (vars (?v0 Int)) #53) -#525 := (not #56) -#218 := (<= 0::Int 0::Int) -#539 := (not #218) -#207 := (>= 0::Int 0::Int) -#201 := (not #207) -#537 := (or #201 #539) -#526 := (or #525 #537) -#170 := (iff #526 #525) -#527 := (or #525 false) -#530 := (iff #527 #525) -#169 := [rewrite]: #530 -#164 := (iff #526 #527) -#523 := (iff #537 false) -#182 := (or false false) -#185 := (iff #182 false) -#522 := [rewrite]: #185 -#183 := (iff #537 #182) -#178 := (iff #539 false) -#1 := true -#543 := (not true) -#222 := (iff #543 false) -#544 := [rewrite]: #222 -#194 := (iff #539 #543) -#198 := (iff #218 true) -#535 := [rewrite]: #198 -#536 := [monotonicity #535]: #194 -#520 := [trans #536 #544]: #178 -#534 := (iff #201 false) -#538 := (iff #201 #543) -#541 := (iff #207 true) -#542 := [rewrite]: #541 -#326 := [monotonicity #542]: #538 -#193 := [trans #326 #544]: #534 -#184 := [monotonicity #193 #520]: #183 -#524 := [trans #184 #522]: #523 -#528 := [monotonicity #524]: #164 -#531 := [trans #528 #169]: #170 -#521 := [quant-inst #8]: #526 -#529 := [mp #521 #531]: #525 -#69 := (~ #56 #56) -#67 := (~ #53 #53) -#68 := [refl]: #67 -#70 := [nnf-pos #68]: #69 -#10 := (< 0::Int #7) -#9 := (< #7 0::Int) -#11 := (or #9 #10) -#12 := (forall (vars (?v0 Int)) #11) -#13 := (if #12 false true) -#14 := (not #13) -#59 := (iff #14 #56) -#57 := (iff #12 #56) -#54 := (iff #11 #53) -#51 := (iff #10 #50) -#52 := [rewrite]: #51 -#46 := (iff #9 #45) -#48 := [rewrite]: #46 -#55 := [monotonicity #48 #52]: #54 -#58 := [quant-intro #55]: #57 -#43 := (iff #14 #12) -#35 := (not #12) -#38 := (not #35) -#41 := (iff #38 #12) -#42 := [rewrite]: #41 -#39 := (iff #14 #38) -#36 := (iff #13 #35) -#37 := [rewrite]: #36 -#40 := [monotonicity #37]: #39 -#44 := [trans #40 #42]: #43 -#60 := [trans #44 #58]: #59 -#34 := [asserted]: #14 -#61 := [mp #34 #60]: #56 -#63 := [mp~ #61 #70]: #56 -[unit-resolution #63 #529]: false -unsat -f6f0c702e5caae5d1fc0a3e7862c44d261de6d47 63 0 -#2 := false -#15 := 1::Int -#12 := (:var 1 Int) -#10 := 6::Int -#11 := (- 6::Int) -#13 := (* #11 #12) -#8 := (:var 2 Int) -#7 := 4::Int -#9 := (* 4::Int #8) -#14 := (+ #9 #13) -#16 := (= #14 1::Int) -#17 := (exists (vars (?v0 Int) (?v1 Int) (?v2 Int)) #16) -#18 := (not #17) -#19 := (not #18) -#86 := (iff #19 false) -#56 := (:var 0 Int) -#41 := -6::Int -#58 := (* -6::Int #56) -#57 := (* 4::Int #12) -#59 := (+ #57 #58) -#60 := (= #59 1::Int) -#61 := (exists (vars (?v0 Int) (?v1 Int)) #60) -#84 := (iff #61 false) -#77 := (exists (vars (?v0 Int) (?v1 Int)) false) -#82 := (iff #77 false) -#83 := [elim-unused]: #82 -#80 := (iff #61 #77) -#78 := (iff #60 false) -#79 := [rewrite]: #78 -#81 := [quant-intro #79]: #80 -#85 := [trans #81 #83]: #84 -#74 := (iff #19 #61) -#66 := (not #61) -#69 := (not #66) -#72 := (iff #69 #61) -#73 := [rewrite]: #72 -#70 := (iff #19 #69) -#67 := (iff #18 #66) -#64 := (iff #17 #61) -#44 := (* -6::Int #12) -#47 := (+ #9 #44) -#50 := (= #47 1::Int) -#53 := (exists (vars (?v0 Int) (?v1 Int) (?v2 Int)) #50) -#62 := (iff #53 #61) -#63 := [elim-unused]: #62 -#54 := (iff #17 #53) -#51 := (iff #16 #50) -#48 := (= #14 #47) -#45 := (= #13 #44) -#42 := (= #11 -6::Int) -#43 := [rewrite]: #42 -#46 := [monotonicity #43]: #45 -#49 := [monotonicity #46]: #48 -#52 := [monotonicity #49]: #51 -#55 := [quant-intro #52]: #54 -#65 := [trans #55 #63]: #64 -#68 := [monotonicity #65]: #67 -#71 := [monotonicity #68]: #70 -#75 := [trans #71 #73]: #74 -#87 := [trans #75 #85]: #86 -#40 := [asserted]: #19 -[mp #40 #87]: false -unsat -252d255c564463d916bc68156eea8dbe7fb0be0a 165 0 -WARNING: failed to find a pattern for quantifier (quantifier id: k!10) -#2 := false -#7 := 0::Int -#8 := (:var 0 Int) -#55 := (<= #8 0::Int) -#56 := (not #55) -#52 := (>= #8 0::Int) -#51 := (not #52) -#59 := (or #51 #56) -#62 := (forall (vars (?v0 Int)) #59) -#95 := (not #62) -#587 := (<= 0::Int 0::Int) -#586 := (not #587) -#585 := (>= 0::Int 0::Int) -#248 := (not #585) -#593 := (or #248 #586) -#290 := (or #95 #593) -#569 := (iff #290 #95) -#292 := (or #95 false) -#572 := (iff #292 #95) -#287 := [rewrite]: #572 -#293 := (iff #290 #292) -#576 := (iff #593 false) -#578 := (or false false) -#575 := (iff #578 false) -#579 := [rewrite]: #575 -#300 := (iff #593 #578) -#201 := (iff #586 false) -#1 := true -#594 := (not true) -#592 := (iff #594 false) -#595 := [rewrite]: #592 -#306 := (iff #586 #594) -#304 := (iff #587 true) -#305 := [rewrite]: #304 -#307 := [monotonicity #305]: #306 -#577 := [trans #307 #595]: #201 -#581 := (iff #248 false) -#589 := (iff #248 #594) -#233 := (iff #585 true) -#234 := [rewrite]: #233 -#249 := [monotonicity #234]: #589 -#582 := [trans #249 #595]: #581 -#301 := [monotonicity #582 #577]: #300 -#580 := [trans #301 #579]: #576 -#571 := [monotonicity #580]: #293 -#573 := [trans #571 #287]: #569 -#291 := [quant-inst #7]: #290 -#570 := [mp #291 #573]: #95 -decl z3name!0 :: bool -#92 := z3name!0 -#15 := 3::Int -#39 := -1::Int -#99 := (if z3name!0 -1::Int 3::Int) -#284 := (= #99 3::Int) -#604 := (not #284) -#602 := (>= #99 3::Int) -#259 := (not #602) -#102 := (<= #99 0::Int) -#65 := (if #62 -1::Int 3::Int) -#71 := (<= #65 0::Int) -#103 := (~ #71 #102) -#100 := (= #65 #99) -#97 := (~ #62 z3name!0) -#88 := (or z3name!0 #95) -#93 := (not z3name!0) -#94 := (or #93 #62) -#89 := (and #94 #88) -#96 := [intro-def]: #89 -#98 := [apply-def #96]: #97 -#101 := [monotonicity #98]: #100 -#104 := [monotonicity #101]: #103 -#13 := 1::Int -#14 := (- 1::Int) -#10 := (< 0::Int #8) -#9 := (< #8 0::Int) -#11 := (or #9 #10) -#12 := (forall (vars (?v0 Int)) #11) -#16 := (if #12 #14 3::Int) -#17 := (< 0::Int #16) -#18 := (not #17) -#84 := (iff #18 #71) -#42 := (if #12 -1::Int 3::Int) -#45 := (< 0::Int #42) -#48 := (not #45) -#82 := (iff #48 #71) -#72 := (not #71) -#77 := (not #72) -#80 := (iff #77 #71) -#81 := [rewrite]: #80 -#78 := (iff #48 #77) -#75 := (iff #45 #72) -#68 := (< 0::Int #65) -#73 := (iff #68 #72) -#74 := [rewrite]: #73 -#69 := (iff #45 #68) -#66 := (= #42 #65) -#63 := (iff #12 #62) -#60 := (iff #11 #59) -#57 := (iff #10 #56) -#58 := [rewrite]: #57 -#53 := (iff #9 #51) -#54 := [rewrite]: #53 -#61 := [monotonicity #54 #58]: #60 -#64 := [quant-intro #61]: #63 -#67 := [monotonicity #64]: #66 -#70 := [monotonicity #67]: #69 -#76 := [trans #70 #74]: #75 -#79 := [monotonicity #76]: #78 -#83 := [trans #79 #81]: #82 -#49 := (iff #18 #48) -#46 := (iff #17 #45) -#43 := (= #16 #42) -#40 := (= #14 -1::Int) -#41 := [rewrite]: #40 -#44 := [monotonicity #41]: #43 -#47 := [monotonicity #44]: #46 -#50 := [monotonicity #47]: #49 -#85 := [trans #50 #83]: #84 -#38 := [asserted]: #18 -#86 := [mp #38 #85]: #71 -#133 := [mp~ #86 #104]: #102 -#389 := (not #102) -#596 := (or #259 #389) -#270 := [th-lemma arith farkas 1 1]: #596 -#271 := [unit-resolution #270 #133]: #259 -#603 := [hypothesis]: #284 -#605 := (or #604 #602) -#606 := [th-lemma arith triangle-eq]: #605 -#601 := [unit-resolution #606 #603 #271]: false -#607 := [lemma #601]: #604 -#286 := (or z3name!0 #284) -#265 := [def-axiom]: #286 -#574 := [unit-resolution #265 #607]: z3name!0 -decl ?v0!1 :: Int -#115 := ?v0!1 -#118 := (<= ?v0!1 0::Int) -#119 := (not #118) -#116 := (>= ?v0!1 0::Int) -#117 := (not #116) -#120 := (or #117 #119) -#121 := (not #120) -#126 := (or z3name!0 #121) -#129 := (and #94 #126) -#130 := (~ #89 #129) -#127 := (~ #88 #126) -#122 := (~ #95 #121) -#123 := [sk]: #122 -#113 := (~ z3name!0 z3name!0) -#114 := [refl]: #113 -#128 := [monotonicity #114 #123]: #127 -#111 := (~ #94 #94) -#109 := (~ #62 #62) -#107 := (~ #59 #59) -#108 := [refl]: #107 -#110 := [nnf-pos #108]: #109 -#105 := (~ #93 #93) -#106 := [refl]: #105 -#112 := [monotonicity #106 #110]: #111 -#131 := [monotonicity #112 #128]: #130 -#132 := [mp~ #96 #131]: #129 -#136 := [and-elim #132]: #94 -#563 := [unit-resolution #136 #574]: #62 -[unit-resolution #563 #570]: false -unsat -302156fb98e1f9b5657a3c89c418d5e1813f274a 101 0 -#2 := false -#7 := 0::Int -decl ?v1!1 :: Int -#92 := ?v1!1 -decl ?v2!0 :: Int -#91 := ?v2!0 -#109 := (+ ?v2!0 ?v1!1) -#112 := (<= #109 0::Int) -#115 := (not #112) -#87 := (<= ?v2!0 0::Int) -#88 := (not #87) -#93 := (<= ?v1!1 0::Int) -#94 := (not #93) -#95 := (and #94 #88) -#96 := (not #95) -#118 := (or #96 #115) -#121 := (not #118) -#97 := (+ ?v1!1 ?v2!0) -#98 := (<= #97 0::Int) -#99 := (not #98) -#100 := (or #96 #99) -#101 := (not #100) -#122 := (iff #101 #121) -#119 := (iff #100 #118) -#116 := (iff #99 #115) -#113 := (iff #98 #112) -#110 := (= #97 #109) -#111 := [rewrite]: #110 -#114 := [monotonicity #111]: #113 -#117 := [monotonicity #114]: #116 -#120 := [monotonicity #117]: #119 -#123 := [monotonicity #120]: #122 -#10 := (:var 0 Int) -#8 := (:var 1 Int) -#13 := (+ #8 #10) -#70 := (<= #13 0::Int) -#71 := (not #70) -#60 := (<= #10 0::Int) -#61 := (not #60) -#56 := (<= #8 0::Int) -#57 := (not #56) -#64 := (and #57 #61) -#67 := (not #64) -#74 := (or #67 #71) -#77 := (forall (vars (?v1 Int) (?v2 Int)) #74) -#80 := (not #77) -#102 := (~ #80 #101) -#103 := [sk]: #102 -#14 := (< 0::Int #13) -#11 := (< 0::Int #10) -#9 := (< 0::Int #8) -#12 := (and #9 #11) -#15 := (implies #12 #14) -#16 := (forall (vars (?v1 Int) (?v2 Int)) #15) -#17 := (exists (vars (?v0 Int)) #16) -#18 := (not #17) -#83 := (iff #18 #80) -#39 := (not #12) -#40 := (or #39 #14) -#43 := (forall (vars (?v1 Int) (?v2 Int)) #40) -#53 := (not #43) -#81 := (iff #53 #80) -#78 := (iff #43 #77) -#75 := (iff #40 #74) -#72 := (iff #14 #71) -#73 := [rewrite]: #72 -#68 := (iff #39 #67) -#65 := (iff #12 #64) -#62 := (iff #11 #61) -#63 := [rewrite]: #62 -#58 := (iff #9 #57) -#59 := [rewrite]: #58 -#66 := [monotonicity #59 #63]: #65 -#69 := [monotonicity #66]: #68 -#76 := [monotonicity #69 #73]: #75 -#79 := [quant-intro #76]: #78 -#82 := [monotonicity #79]: #81 -#54 := (iff #18 #53) -#51 := (iff #17 #43) -#46 := (exists (vars (?v0 Int)) #43) -#49 := (iff #46 #43) -#50 := [elim-unused]: #49 -#47 := (iff #17 #46) -#44 := (iff #16 #43) -#41 := (iff #15 #40) -#42 := [rewrite]: #41 -#45 := [quant-intro #42]: #44 -#48 := [quant-intro #45]: #47 -#52 := [trans #48 #50]: #51 -#55 := [monotonicity #52]: #54 -#84 := [trans #55 #82]: #83 -#38 := [asserted]: #18 -#85 := [mp #38 #84]: #80 -#106 := [mp~ #85 #103]: #101 -#107 := [mp #106 #123]: #121 -#126 := [not-or-elim #107]: #112 -#108 := [not-or-elim #107]: #95 -#124 := [and-elim #108]: #94 -#125 := [and-elim #108]: #88 -[th-lemma arith farkas 1 1 1 #125 #124 #126]: false -unsat -bcc217c52aea6d752e93b67733058589bedd0079 99 0 -#2 := false -#39 := -1::Int -decl ?v1!1 :: Int -#101 := ?v1!1 -#106 := (<= ?v1!1 -1::Int) -#107 := (not #106) -#10 := 0::Real -decl ?v2!0 :: Real -#100 := ?v2!0 -#102 := (<= ?v2!0 0::Real) -#103 := (not #102) -#7 := 0::Int -#98 := (<= ?v1!1 0::Int) -#99 := (not #98) -#104 := (and #99 #103) -#105 := (not #104) -#108 := (or #105 #107) -#109 := (not #108) -#8 := (:var 1 Int) -#81 := (<= #8 -1::Int) -#82 := (not #81) -#11 := (:var 0 Real) -#71 := (<= #11 0::Real) -#72 := (not #71) -#67 := (<= #8 0::Int) -#68 := (not #67) -#75 := (and #68 #72) -#78 := (not #75) -#85 := (or #78 #82) -#88 := (forall (vars (?v1 Int) (?v2 Real)) #85) -#91 := (not #88) -#110 := (~ #91 #109) -#111 := [sk]: #110 -#14 := 1::Int -#15 := (- 1::Int) -#16 := (< #15 #8) -#12 := (< 0::Real #11) -#9 := (< 0::Int #8) -#13 := (and #9 #12) -#17 := (implies #13 #16) -#18 := (forall (vars (?v1 Int) (?v2 Real)) #17) -#19 := (exists (vars (?v0 Int)) #18) -#20 := (not #19) -#94 := (iff #20 #91) -#42 := (< -1::Int #8) -#48 := (not #13) -#49 := (or #48 #42) -#54 := (forall (vars (?v1 Int) (?v2 Real)) #49) -#64 := (not #54) -#92 := (iff #64 #91) -#89 := (iff #54 #88) -#86 := (iff #49 #85) -#83 := (iff #42 #82) -#84 := [rewrite]: #83 -#79 := (iff #48 #78) -#76 := (iff #13 #75) -#73 := (iff #12 #72) -#74 := [rewrite]: #73 -#69 := (iff #9 #68) -#70 := [rewrite]: #69 -#77 := [monotonicity #70 #74]: #76 -#80 := [monotonicity #77]: #79 -#87 := [monotonicity #80 #84]: #86 -#90 := [quant-intro #87]: #89 -#93 := [monotonicity #90]: #92 -#65 := (iff #20 #64) -#62 := (iff #19 #54) -#57 := (exists (vars (?v0 Int)) #54) -#60 := (iff #57 #54) -#61 := [elim-unused]: #60 -#58 := (iff #19 #57) -#55 := (iff #18 #54) -#52 := (iff #17 #49) -#45 := (implies #13 #42) -#50 := (iff #45 #49) -#51 := [rewrite]: #50 -#46 := (iff #17 #45) -#43 := (iff #16 #42) -#40 := (= #15 -1::Int) -#41 := [rewrite]: #40 -#44 := [monotonicity #41]: #43 -#47 := [monotonicity #44]: #46 -#53 := [trans #47 #51]: #52 -#56 := [quant-intro #53]: #55 -#59 := [quant-intro #56]: #58 -#63 := [trans #59 #61]: #62 -#66 := [monotonicity #63]: #65 -#95 := [trans #66 #93]: #94 -#38 := [asserted]: #20 -#96 := [mp #38 #95]: #91 -#114 := [mp~ #96 #111]: #109 -#120 := [not-or-elim #114]: #106 -#117 := [not-or-elim #114]: #104 -#118 := [and-elim #117]: #99 -#178 := (or #107 #98) -#179 := [th-lemma arith farkas 1 1]: #178 -#180 := [unit-resolution #179 #118]: #107 -[unit-resolution #180 #120]: false -unsat -8a78832884e41117489fba88c88de0b5cacb832a 143 0 -#2 := false -#10 := 0::Int -#8 := (:var 0 Int) -#68 := (<= #8 0::Int) -#69 := (not #68) -#146 := (not false) -#149 := (or #146 #69) -#152 := (not #149) -#155 := (forall (vars (?v0 Int)) #152) -#182 := (iff #155 false) -#177 := (forall (vars (?v0 Int)) false) -#180 := (iff #177 false) -#181 := [elim-unused]: #180 -#178 := (iff #155 #177) -#175 := (iff #152 false) -#1 := true -#170 := (not true) -#173 := (iff #170 false) -#174 := [rewrite]: #173 -#171 := (iff #152 #170) -#168 := (iff #149 true) -#163 := (or true #69) -#166 := (iff #163 true) -#167 := [rewrite]: #166 -#164 := (iff #149 #163) -#161 := (iff #146 true) -#162 := [rewrite]: #161 -#165 := [monotonicity #162]: #164 -#169 := [trans #165 #167]: #168 -#172 := [monotonicity #169]: #171 -#176 := [trans #172 #174]: #175 -#179 := [quant-intro #176]: #178 -#183 := [trans #179 #181]: #182 -#59 := -1::Int -#60 := (* -1::Int #8) -#7 := (:var 1 Int) -#61 := (+ #7 #60) -#62 := (<= #61 0::Int) -#65 := (not #62) -#72 := (or #65 #69) -#75 := (forall (vars (?v1 Int)) #72) -#78 := (not #75) -#81 := (or #78 #69) -#107 := (not #81) -#125 := (forall (vars (?v0 Int)) #107) -#158 := (iff #125 #155) -#129 := (forall (vars (?v1 Int)) #69) -#132 := (not #129) -#135 := (or #132 #69) -#138 := (not #135) -#141 := (forall (vars (?v0 Int)) #138) -#156 := (iff #141 #155) -#157 := [rewrite]: #156 -#142 := (iff #125 #141) -#143 := [rewrite]: #142 -#159 := [trans #143 #157]: #158 -#118 := (and #75 #68) -#121 := (forall (vars (?v0 Int)) #118) -#126 := (iff #121 #125) -#115 := (iff #118 #107) -#124 := [rewrite]: #115 -#127 := [quant-intro #124]: #126 -#103 := (not #69) -#106 := (and #75 #103) -#110 := (forall (vars (?v0 Int)) #106) -#122 := (iff #110 #121) -#119 := (iff #106 #118) -#116 := (iff #103 #68) -#117 := [rewrite]: #116 -#120 := [monotonicity #117]: #119 -#123 := [quant-intro #120]: #122 -#84 := (exists (vars (?v0 Int)) #81) -#87 := (not #84) -#111 := (~ #87 #110) -#108 := (~ #107 #106) -#104 := (~ #103 #103) -#105 := [refl]: #104 -#94 := (not #78) -#95 := (~ #94 #75) -#100 := (~ #75 #75) -#98 := (~ #72 #72) -#99 := [refl]: #98 -#101 := [nnf-pos #99]: #100 -#102 := [nnf-neg #101]: #95 -#109 := [nnf-neg #102 #105]: #108 -#112 := [nnf-neg #109]: #111 -#11 := (< 0::Int #8) -#9 := (<= #7 #8) -#12 := (implies #9 #11) -#13 := (forall (vars (?v1 Int)) #12) -#14 := (implies #13 #11) -#15 := (exists (vars (?v0 Int)) #14) -#16 := (not #15) -#90 := (iff #16 #87) -#37 := (not #9) -#38 := (or #37 #11) -#41 := (forall (vars (?v1 Int)) #38) -#47 := (not #41) -#48 := (or #47 #11) -#53 := (exists (vars (?v0 Int)) #48) -#56 := (not #53) -#88 := (iff #56 #87) -#85 := (iff #53 #84) -#82 := (iff #48 #81) -#70 := (iff #11 #69) -#71 := [rewrite]: #70 -#79 := (iff #47 #78) -#76 := (iff #41 #75) -#73 := (iff #38 #72) -#66 := (iff #37 #65) -#63 := (iff #9 #62) -#64 := [rewrite]: #63 -#67 := [monotonicity #64]: #66 -#74 := [monotonicity #67 #71]: #73 -#77 := [quant-intro #74]: #76 -#80 := [monotonicity #77]: #79 -#83 := [monotonicity #80 #71]: #82 -#86 := [quant-intro #83]: #85 -#89 := [monotonicity #86]: #88 -#57 := (iff #16 #56) -#54 := (iff #15 #53) -#51 := (iff #14 #48) -#44 := (implies #41 #11) -#49 := (iff #44 #48) -#50 := [rewrite]: #49 -#45 := (iff #14 #44) -#42 := (iff #13 #41) -#39 := (iff #12 #38) -#40 := [rewrite]: #39 -#43 := [quant-intro #40]: #42 -#46 := [monotonicity #43]: #45 -#52 := [trans #46 #50]: #51 -#55 := [quant-intro #52]: #54 -#58 := [monotonicity #55]: #57 -#91 := [trans #58 #89]: #90 -#36 := [asserted]: #16 -#92 := [mp #36 #91]: #87 -#113 := [mp~ #92 #112]: #110 -#114 := [mp #113 #123]: #121 -#128 := [mp #114 #127]: #125 -#160 := [mp #128 #159]: #155 -[mp #160 #183]: false -unsat -ea961570b37add45bc63c8f0e3f6ddc653b28f42 67 0 -ERROR: line 11 column 83: invalid pattern. -#2 := false -decl f3 :: Int -#8 := f3 -#10 := 2::Int -#12 := (* 2::Int f3) -#7 := (:var 0 Int) -#11 := (* 2::Int #7) -#13 := (< #11 #12) -#9 := (< #7 f3) -#14 := (implies #9 #13) -#15 := (forall (vars (?v0 Int)) #14) -#16 := (not #15) -#85 := (iff #16 false) -#38 := (not #9) -#39 := (or #38 #13) -#42 := (forall (vars (?v0 Int)) #39) -#45 := (not #42) -#83 := (iff #45 false) -#1 := true -#78 := (not true) -#81 := (iff #78 false) -#82 := [rewrite]: #81 -#79 := (iff #45 #78) -#76 := (iff #42 true) -#71 := (forall (vars (?v0 Int)) true) -#74 := (iff #71 true) -#75 := [elim-unused]: #74 -#72 := (iff #42 #71) -#69 := (iff #39 true) -#18 := 0::Int -#48 := -1::Int -#51 := (* -1::Int f3) -#52 := (+ #7 #51) -#50 := (>= #52 0::Int) -#49 := (not #50) -#63 := (or #50 #49) -#67 := (iff #63 true) -#68 := [rewrite]: #67 -#65 := (iff #39 #63) -#64 := (iff #13 #49) -#62 := [rewrite]: #64 -#60 := (iff #38 #50) -#55 := (not #49) -#58 := (iff #55 #50) -#59 := [rewrite]: #58 -#56 := (iff #38 #55) -#53 := (iff #9 #49) -#54 := [rewrite]: #53 -#57 := [monotonicity #54]: #56 -#61 := [trans #57 #59]: #60 -#66 := [monotonicity #61 #62]: #65 -#70 := [trans #66 #68]: #69 -#73 := [quant-intro #70]: #72 -#77 := [trans #73 #75]: #76 -#80 := [monotonicity #77]: #79 -#84 := [trans #80 #82]: #83 -#46 := (iff #16 #45) -#43 := (iff #15 #42) -#40 := (iff #14 #39) -#41 := [rewrite]: #40 -#44 := [quant-intro #41]: #43 -#47 := [monotonicity #44]: #46 -#86 := [trans #47 #84]: #85 -#37 := [asserted]: #16 -[mp #37 #86]: false -unsat -cc87973002902704adc7d85df3fb8affa4a44929 54 0 -#2 := false -#10 := 1::Int -decl ?v1!0 :: Int -#66 := ?v1!0 -#69 := (>= ?v1!0 1::Int) -#62 := (not #69) -#7 := 0::Int -#67 := (<= ?v1!0 0::Int) -#68 := (not #67) -#63 := (or #68 #62) -#70 := (not #63) -#8 := (:var 0 Int) -#47 := (>= #8 1::Int) -#45 := (not #47) -#41 := (<= #8 0::Int) -#42 := (not #41) -#49 := (or #42 #45) -#52 := (forall (vars (?v1 Int)) #49) -#55 := (not #52) -#71 := (~ #55 #70) -#72 := [sk]: #71 -#11 := (< #8 1::Int) -#9 := (< 0::Int #8) -#12 := (or #9 #11) -#13 := (forall (vars (?v0 Int) (?v1 Int)) #12) -#14 := (not #13) -#58 := (iff #14 #55) -#35 := (forall (vars (?v1 Int)) #12) -#38 := (not #35) -#56 := (iff #38 #55) -#53 := (iff #35 #52) -#50 := (iff #12 #49) -#46 := (iff #11 #45) -#48 := [rewrite]: #46 -#43 := (iff #9 #42) -#44 := [rewrite]: #43 -#51 := [monotonicity #44 #48]: #50 -#54 := [quant-intro #51]: #53 -#57 := [monotonicity #54]: #56 -#39 := (iff #14 #38) -#36 := (iff #13 #35) -#37 := [elim-unused]: #36 -#40 := [monotonicity #37]: #39 -#59 := [trans #40 #57]: #58 -#34 := [asserted]: #14 -#60 := [mp #34 #59]: #55 -#75 := [mp~ #60 #72]: #70 -#79 := [not-or-elim #75]: #69 -#78 := [not-or-elim #75]: #67 -#137 := (or #62 #68) -#138 := [th-lemma arith farkas 1 1]: #137 -#139 := [unit-resolution #138 #78]: #62 -[unit-resolution #139 #79]: false -unsat -1d9e76ccce459de8771731a1c234c6d9e2aa3527 1 0 -unsat -e46d82e75c1853418f786555dbc1a12ba5d54f6e 75 0 -#2 := false -#9 := 1::Int -decl f5 :: Int -#11 := f5 -#15 := (+ f5 1::Int) -decl f3 :: Int -#7 := f3 -#16 := (* f3 #15) -decl f4 :: Int -#8 := f4 -#14 := (* f3 f4) -#17 := (+ #14 #16) -#10 := (+ f4 1::Int) -#12 := (+ #10 f5) -#13 := (* f3 #12) -#18 := (= #13 #17) -#19 := (not #18) -#93 := (iff #19 false) -#1 := true -#88 := (not true) -#91 := (iff #88 false) -#92 := [rewrite]: #91 -#89 := (iff #19 #88) -#86 := (iff #18 true) -#56 := (* f3 f5) -#57 := (+ #14 #56) -#58 := (+ f3 #57) -#81 := (= #58 #58) -#84 := (iff #81 true) -#85 := [rewrite]: #84 -#82 := (iff #18 #81) -#79 := (= #17 #58) -#69 := (+ f3 #56) -#74 := (+ #14 #69) -#77 := (= #74 #58) -#78 := [rewrite]: #77 -#75 := (= #17 #74) -#72 := (= #16 #69) -#63 := (+ 1::Int f5) -#66 := (* f3 #63) -#70 := (= #66 #69) -#71 := [rewrite]: #70 -#67 := (= #16 #66) -#64 := (= #15 #63) -#65 := [rewrite]: #64 -#68 := [monotonicity #65]: #67 -#73 := [trans #68 #71]: #72 -#76 := [monotonicity #73]: #75 -#80 := [trans #76 #78]: #79 -#61 := (= #13 #58) -#47 := (+ f4 f5) -#48 := (+ 1::Int #47) -#53 := (* f3 #48) -#59 := (= #53 #58) -#60 := [rewrite]: #59 -#54 := (= #13 #53) -#51 := (= #12 #48) -#41 := (+ 1::Int f4) -#44 := (+ #41 f5) -#49 := (= #44 #48) -#50 := [rewrite]: #49 -#45 := (= #12 #44) -#42 := (= #10 #41) -#43 := [rewrite]: #42 -#46 := [monotonicity #43]: #45 -#52 := [trans #46 #50]: #51 -#55 := [monotonicity #52]: #54 -#62 := [trans #55 #60]: #61 -#83 := [monotonicity #62 #80]: #82 -#87 := [trans #83 #85]: #86 -#90 := [monotonicity #87]: #89 -#94 := [trans #90 #92]: #93 -#40 := [asserted]: #19 -[mp #40 #94]: false -unsat -60242f59c15f3933ccbd1d4ed5e4e07293c9dd72 62 0 -#2 := false -decl f4 :: Real -#9 := f4 -decl f3 :: Real -#7 := f3 -#15 := 2::Real -#16 := (* 2::Real f3) -#17 := (* #16 f4) -#8 := 1::Real -#12 := (- 1::Real f4) -#13 := (* f3 #12) -#10 := (+ 1::Real f4) -#11 := (* f3 #10) -#14 := (- #11 #13) -#18 := (= #14 #17) -#19 := (not #18) -#81 := (iff #19 false) -#1 := true -#76 := (not true) -#79 := (iff #76 false) -#80 := [rewrite]: #79 -#77 := (iff #19 #76) -#74 := (iff #18 true) -#41 := (* f3 f4) -#63 := (* 2::Real #41) -#69 := (= #63 #63) -#72 := (iff #69 true) -#73 := [rewrite]: #72 -#70 := (iff #18 #69) -#67 := (= #17 #63) -#68 := [rewrite]: #67 -#65 := (= #14 #63) -#45 := -1::Real -#53 := (* -1::Real #41) -#54 := (+ f3 #53) -#42 := (+ f3 #41) -#59 := (- #42 #54) -#62 := (= #59 #63) -#64 := [rewrite]: #62 -#60 := (= #14 #59) -#57 := (= #13 #54) -#46 := (* -1::Real f4) -#47 := (+ 1::Real #46) -#50 := (* f3 #47) -#55 := (= #50 #54) -#56 := [rewrite]: #55 -#51 := (= #13 #50) -#48 := (= #12 #47) -#49 := [rewrite]: #48 -#52 := [monotonicity #49]: #51 -#58 := [trans #52 #56]: #57 -#43 := (= #11 #42) -#44 := [rewrite]: #43 -#61 := [monotonicity #44 #58]: #60 -#66 := [trans #61 #64]: #65 -#71 := [monotonicity #66 #68]: #70 -#75 := [trans #71 #73]: #74 -#78 := [monotonicity #75]: #77 -#82 := [trans #78 #80]: #81 -#40 := [asserted]: #19 -[mp #40 #82]: false -unsat -3ecab0bc7101d63e72b4fb9ac8a649c491da9533 141 0 -#2 := false -decl f6 :: Int -#12 := f6 -decl f7 :: Int -#16 := f7 -decl f5 :: Int -#11 := f5 -#27 := (+ f5 f7) -#28 := (+ #27 f6) -decl f4 :: Int -#9 := f4 -#8 := 1::Int -#10 := (+ 1::Int f4) -#29 := (* #10 #28) -#24 := (* f7 f4) -#22 := (* #10 f7) -#13 := (+ f5 f6) -#19 := 2::Int -#20 := (* 2::Int #10) -#21 := (* #20 #13) -#23 := (+ #21 #22) -#25 := (+ #23 #24) -decl f3 :: Int -#7 := f3 -#26 := (+ f3 #25) -#30 := (- #26 #29) -#17 := (* f4 f7) -#14 := (* #10 #13) -#15 := (+ f3 #14) -#18 := (+ #15 #17) -#31 := (= #18 #30) -#32 := (not #31) -#157 := (iff #32 false) -#1 := true -#152 := (not true) -#155 := (iff #152 false) -#156 := [rewrite]: #155 -#153 := (iff #32 #152) -#150 := (iff #31 true) -#55 := (* f4 f6) -#54 := (* f4 f5) -#56 := (+ #54 #55) -#67 := (+ #17 #56) -#68 := (+ f6 #67) -#69 := (+ f5 #68) -#70 := (+ f3 #69) -#144 := (= #70 #70) -#148 := (iff #144 true) -#149 := [rewrite]: #148 -#143 := (iff #31 #144) -#146 := (= #30 #70) -#131 := (+ f7 #67) -#132 := (+ f6 #131) -#133 := (+ f5 #132) -#85 := (* 2::Int #55) -#83 := (* 2::Int #54) -#86 := (+ #83 #85) -#112 := (* 2::Int #17) -#113 := (+ #112 #86) -#114 := (+ f7 #113) -#84 := (* 2::Int f6) -#115 := (+ #84 #114) -#82 := (* 2::Int f5) -#116 := (+ #82 #115) -#121 := (+ f3 #116) -#138 := (- #121 #133) -#141 := (= #138 #70) -#147 := [rewrite]: #141 -#139 := (= #30 #138) -#136 := (= #29 #133) -#124 := (+ f6 f7) -#125 := (+ f5 #124) -#128 := (* #10 #125) -#134 := (= #128 #133) -#135 := [rewrite]: #134 -#129 := (= #29 #128) -#126 := (= #28 #125) -#127 := [rewrite]: #126 -#130 := [monotonicity #127]: #129 -#137 := [trans #130 #135]: #136 -#122 := (= #26 #121) -#119 := (= #25 #116) -#99 := (+ #17 #86) -#100 := (+ f7 #99) -#101 := (+ #84 #100) -#102 := (+ #82 #101) -#109 := (+ #102 #17) -#117 := (= #109 #116) -#118 := [rewrite]: #117 -#110 := (= #25 #109) -#107 := (= #24 #17) -#108 := [rewrite]: #107 -#105 := (= #23 #102) -#93 := (+ f7 #17) -#87 := (+ #84 #86) -#88 := (+ #82 #87) -#96 := (+ #88 #93) -#103 := (= #96 #102) -#104 := [rewrite]: #103 -#97 := (= #23 #96) -#94 := (= #22 #93) -#95 := [rewrite]: #94 -#91 := (= #21 #88) -#75 := (* 2::Int f4) -#76 := (+ 2::Int #75) -#79 := (* #76 #13) -#89 := (= #79 #88) -#90 := [rewrite]: #89 -#80 := (= #21 #79) -#77 := (= #20 #76) -#78 := [rewrite]: #77 -#81 := [monotonicity #78]: #80 -#92 := [trans #81 #90]: #91 -#98 := [monotonicity #92 #95]: #97 -#106 := [trans #98 #104]: #105 -#111 := [monotonicity #106 #108]: #110 -#120 := [trans #111 #118]: #119 -#123 := [monotonicity #120]: #122 -#140 := [monotonicity #123 #137]: #139 -#145 := [trans #140 #147]: #146 -#73 := (= #18 #70) -#57 := (+ f6 #56) -#58 := (+ f5 #57) -#61 := (+ f3 #58) -#64 := (+ #61 #17) -#71 := (= #64 #70) -#72 := [rewrite]: #71 -#65 := (= #18 #64) -#62 := (= #15 #61) -#59 := (= #14 #58) -#60 := [rewrite]: #59 -#63 := [monotonicity #60]: #62 -#66 := [monotonicity #63]: #65 -#74 := [trans #66 #72]: #73 -#142 := [monotonicity #74 #145]: #143 -#151 := [trans #142 #149]: #150 -#154 := [monotonicity #151]: #153 -#158 := [trans #154 #156]: #157 -#53 := [asserted]: #32 -[mp #53 #158]: false -unsat 43550507f510d81bc4fb9ef8c1fd14424eaa9070 37 0 #2 := false #10 := 0::Int @@ -8819,1764 +1561,6 @@ #53 := [not-or-elim #52]: #11 [th-lemma arith farkas 1 1 1 #53 #57 #55]: false unsat -f5067fa58c623377db978838e2294684a3fe7bb2 225 0 -#2 := false -#24 := 0::Int -decl f5 :: (-> S4 S3 Int) -decl f3 :: (-> S2 Int S3) -decl f7 :: S3 -#10 := f7 -decl f6 :: S4 -#9 := f6 -#11 := (f5 f6 f7) -#8 := 2::Int -#12 := (* 2::Int #11) -decl f4 :: S2 -#7 := f4 -#13 := (f3 f4 #12) -#276 := (f5 f6 #13) -#185 := -1::Int -#596 := (* -1::Int #276) -#597 := (+ #12 #596) -#577 := (<= #597 0::Int) -#595 := (= #597 0::Int) -#256 := (>= #11 0::Int) -#579 := (= #276 0::Int) -#436 := (not #579) -#297 := (<= #276 0::Int) -#533 := (not #297) -#14 := 1::Int -#544 := (>= #276 1::Int) -#549 := (= #276 1::Int) -#15 := (f3 f4 1::Int) -#569 := (f5 f6 #15) -#570 := (= #569 1::Int) -#25 := (:var 0 Int) -#27 := (f3 f4 #25) -#607 := (pattern #27) -#28 := (f5 f6 #27) -#29 := (= #28 #25) -#70 := (>= #25 0::Int) -#71 := (not #70) -#74 := (or #71 #29) -#608 := (forall (vars (?v0 Int)) (:pat #607) #74) -#77 := (forall (vars (?v0 Int)) #74) -#611 := (iff #77 #608) -#609 := (iff #74 #74) -#610 := [refl]: #609 -#612 := [quant-intro #610]: #611 -#114 := (~ #77 #77) -#113 := (~ #74 #74) -#110 := [refl]: #113 -#115 := [nnf-pos #110]: #114 -#26 := (<= 0::Int #25) -#30 := (implies #26 #29) -#31 := (forall (vars (?v0 Int)) #30) -#80 := (iff #31 #77) -#61 := (not #26) -#62 := (or #61 #29) -#65 := (forall (vars (?v0 Int)) #62) -#78 := (iff #65 #77) -#75 := (iff #62 #74) -#72 := (iff #61 #71) -#68 := (iff #26 #70) -#69 := [rewrite]: #68 -#73 := [monotonicity #69]: #72 -#76 := [monotonicity #73]: #75 -#79 := [quant-intro #76]: #78 -#66 := (iff #31 #65) -#63 := (iff #30 #62) -#64 := [rewrite]: #63 -#67 := [quant-intro #64]: #66 -#81 := [trans #67 #79]: #80 -#59 := [asserted]: #31 -#82 := [mp #59 #81]: #77 -#111 := [mp~ #82 #115]: #77 -#613 := [mp #111 #612]: #608 -#589 := (not #608) -#555 := (or #589 #570) -#299 := (>= 1::Int 0::Int) -#192 := (not #299) -#292 := (or #192 #570) -#556 := (or #589 #292) -#552 := (iff #556 #555) -#558 := (iff #555 #555) -#559 := [rewrite]: #558 -#562 := (iff #292 #570) -#563 := (or false #570) -#561 := (iff #563 #570) -#565 := [rewrite]: #561 -#564 := (iff #292 #563) -#284 := (iff #192 false) -#1 := true -#571 := (not true) -#282 := (iff #571 false) -#283 := [rewrite]: #282 -#568 := (iff #192 #571) -#293 := (iff #299 true) -#567 := [rewrite]: #293 -#572 := [monotonicity #567]: #568 -#285 := [trans #572 #283]: #284 -#278 := [monotonicity #285]: #564 -#566 := [trans #278 #565]: #562 -#553 := [monotonicity #566]: #552 -#554 := [trans #553 #559]: #552 -#557 := [quant-inst #14]: #556 -#560 := [mp #557 #554]: #555 -#383 := [unit-resolution #560 #613]: #570 -#536 := (= #276 #569) -#16 := (= #13 #15) -#17 := (not #16) -#18 := (not #17) -#56 := (iff #18 #16) -#57 := [rewrite]: #56 -#55 := [asserted]: #18 -#60 := [mp #55 #57]: #16 -#424 := [monotonicity #60]: #536 -#425 := [trans #424 #383]: #549 -#384 := (not #549) -#532 := (or #384 #544) -#434 := [th-lemma arith triangle-eq]: #532 -#529 := [unit-resolution #434 #425]: #544 -#530 := (not #544) -#418 := (or #530 #533) -#433 := [th-lemma arith farkas 1 1]: #418 -#435 := [unit-resolution #433 #529]: #533 -#429 := (or #436 #297) -#437 := [th-lemma arith triangle-eq]: #429 -#438 := [unit-resolution #437 #435]: #436 -#581 := (or #256 #579) -#33 := (= #28 0::Int) -#100 := (or #70 #33) -#614 := (forall (vars (?v0 Int)) (:pat #607) #100) -#103 := (forall (vars (?v0 Int)) #100) -#617 := (iff #103 #614) -#615 := (iff #100 #100) -#616 := [refl]: #615 -#618 := [quant-intro #616]: #617 -#116 := (~ #103 #103) -#124 := (~ #100 #100) -#125 := [refl]: #124 -#117 := [nnf-pos #125]: #116 -#32 := (< #25 0::Int) -#34 := (implies #32 #33) -#35 := (forall (vars (?v0 Int)) #34) -#106 := (iff #35 #103) -#84 := (not #32) -#85 := (or #84 #33) -#88 := (forall (vars (?v0 Int)) #85) -#104 := (iff #88 #103) -#101 := (iff #85 #100) -#98 := (iff #84 #70) -#93 := (not #71) -#96 := (iff #93 #70) -#97 := [rewrite]: #96 -#94 := (iff #84 #93) -#91 := (iff #32 #71) -#92 := [rewrite]: #91 -#95 := [monotonicity #92]: #94 -#99 := [trans #95 #97]: #98 -#102 := [monotonicity #99]: #101 -#105 := [quant-intro #102]: #104 -#89 := (iff #35 #88) -#86 := (iff #34 #85) -#87 := [rewrite]: #86 -#90 := [quant-intro #87]: #89 -#107 := [trans #90 #105]: #106 -#83 := [asserted]: #35 -#108 := [mp #83 #107]: #103 -#126 := [mp~ #108 #117]: #103 -#619 := [mp #126 #618]: #614 -#219 := (not #614) -#583 := (or #219 #256 #579) -#271 := (>= #12 0::Int) -#580 := (or #271 #579) -#585 := (or #219 #580) -#574 := (iff #585 #583) -#225 := (or #219 #581) -#587 := (iff #225 #583) -#573 := [rewrite]: #587 -#586 := (iff #585 #225) -#576 := (iff #580 #581) -#592 := (iff #271 #256) -#594 := [rewrite]: #592 -#582 := [monotonicity #594]: #576 -#584 := [monotonicity #582]: #586 -#281 := [trans #584 #573]: #574 -#224 := [quant-inst #12]: #585 -#296 := [mp #224 #281]: #583 -#439 := [unit-resolution #296 #619]: #581 -#440 := [unit-resolution #439 #438]: #256 -#250 := (not #256) -#598 := (or #250 #595) -#248 := (or #589 #250 #595) -#273 := (= #276 #12) -#272 := (not #271) -#277 := (or #272 #273) -#253 := (or #589 #277) -#238 := (iff #253 #248) -#249 := (or #589 #598) -#575 := (iff #249 #248) -#237 := [rewrite]: #575 -#591 := (iff #253 #249) -#593 := (iff #277 #598) -#261 := (iff #273 #595) -#262 := [rewrite]: #261 -#381 := (iff #272 #250) -#588 := [monotonicity #594]: #381 -#599 := [monotonicity #588 #262]: #593 -#233 := [monotonicity #599]: #591 -#239 := [trans #233 #237]: #238 -#590 := [quant-inst #12]: #253 -#240 := [mp #590 #239]: #248 -#441 := [unit-resolution #240 #613]: #598 -#534 := [unit-resolution #441 #440]: #595 -#531 := (not #595) -#535 := (or #531 #577) -#522 := [th-lemma arith triangle-eq]: #535 -#524 := [unit-resolution #522 #534]: #577 -#578 := (>= #597 0::Int) -#516 := (or #531 #578) -#513 := [th-lemma arith triangle-eq]: #516 -#515 := [unit-resolution #513 #534]: #578 -#550 := (<= #276 1::Int) -#525 := (or #384 #550) -#526 := [th-lemma arith triangle-eq]: #525 -#527 := [unit-resolution #526 #425]: #550 -[th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 #529 #527 #515 #524]: false -unsat -4225ab6372dca8ebf6ba05ad5ea39526a6e2a129 55 0 -#2 := false -#74 := 4::Int -decl f3 :: (-> S2 S3 Int) -decl f5 :: S3 -#8 := f5 -decl f4 :: S2 -#7 := f4 -#9 := (f3 f4 f5) -#75 := (>= #9 4::Int) -#76 := (not #75) -#10 := 3::Int -#65 := (>= #9 3::Int) -#79 := (or #65 #76) -#82 := (not #79) -#14 := 7::Int -#12 := 2::Int -#13 := (* 2::Int #9) -#15 := (< #13 7::Int) -#11 := (< #9 3::Int) -#16 := (implies #11 #15) -#17 := (not #16) -#85 := (iff #17 #82) -#56 := (not #11) -#57 := (or #56 #15) -#60 := (not #57) -#83 := (iff #60 #82) -#80 := (iff #57 #79) -#77 := (iff #15 #76) -#78 := [rewrite]: #77 -#72 := (iff #56 #65) -#63 := (not #65) -#67 := (not #63) -#70 := (iff #67 #65) -#71 := [rewrite]: #70 -#68 := (iff #56 #67) -#64 := (iff #11 #63) -#66 := [rewrite]: #64 -#69 := [monotonicity #66]: #68 -#73 := [trans #69 #71]: #72 -#81 := [monotonicity #73 #78]: #80 -#84 := [monotonicity #81]: #83 -#61 := (iff #17 #60) -#58 := (iff #16 #57) -#59 := [rewrite]: #58 -#62 := [monotonicity #59]: #61 -#86 := [trans #62 #84]: #85 -#55 := [asserted]: #17 -#87 := [mp #55 #86]: #82 -#89 := [not-or-elim #87]: #75 -#88 := [not-or-elim #87]: #63 -#300 := (or #76 #65) -#216 := [th-lemma arith farkas 1 1]: #300 -#301 := [unit-resolution #216 #88]: #76 -[unit-resolution #301 #89]: false -unsat -6b3381ed26844d4b649300d18bdcc49988752527 270 0 -#2 := false -#7 := 0::Int -decl f3 :: (-> S2 S3 Int) -decl f5 :: (-> S4 Int S3) -decl f7 :: S3 -#11 := f7 -decl f4 :: S2 -#8 := f4 -#12 := (f3 f4 f7) -#10 := 1::Int -#13 := (+ 1::Int #12) -decl f6 :: S4 -#9 := f6 -#14 := (f5 f6 #13) -#15 := (f3 f4 #14) -#60 := -1::Int -#61 := (* -1::Int #12) -#62 := (+ #61 #15) -#65 := (f5 f6 #62) -#68 := (f3 f4 #65) -#625 := (* -1::Int #15) -#593 := (+ #625 #68) -#597 := (+ #12 #593) -#574 := (>= #597 0::Int) -#594 := (= #597 0::Int) -#631 := (+ #12 #625) -#315 := (<= #631 0::Int) -#614 := (<= #631 -1::Int) -#621 := (= #631 -1::Int) -#294 := (>= #12 -1::Int) -#416 := (>= #12 0::Int) -#545 := (= #12 0::Int) -#218 := (f5 f6 #12) -#564 := (f3 f4 #218) -#466 := (= #564 0::Int) -#550 := (not #416) -#551 := [hypothesis]: #550 -#561 := (or #416 #466) -#27 := (:var 0 Int) -#29 := (f5 f6 #27) -#639 := (pattern #29) -#30 := (f3 f4 #29) -#35 := (= #30 0::Int) -#101 := (>= #27 0::Int) -#132 := (or #101 #35) -#646 := (forall (vars (?v0 Int)) (:pat #639) #132) -#135 := (forall (vars (?v0 Int)) #132) -#649 := (iff #135 #646) -#647 := (iff #132 #132) -#648 := [refl]: #647 -#650 := [quant-intro #648]: #649 -#148 := (~ #135 #135) -#156 := (~ #132 #132) -#157 := [refl]: #156 -#149 := [nnf-pos #157]: #148 -#34 := (< #27 0::Int) -#36 := (implies #34 #35) -#37 := (forall (vars (?v0 Int)) #36) -#138 := (iff #37 #135) -#116 := (not #34) -#117 := (or #116 #35) -#120 := (forall (vars (?v0 Int)) #117) -#136 := (iff #120 #135) -#133 := (iff #117 #132) -#130 := (iff #116 #101) -#103 := (not #101) -#125 := (not #103) -#128 := (iff #125 #101) -#129 := [rewrite]: #128 -#126 := (iff #116 #125) -#123 := (iff #34 #103) -#124 := [rewrite]: #123 -#127 := [monotonicity #124]: #126 -#131 := [trans #127 #129]: #130 -#134 := [monotonicity #131]: #133 -#137 := [quant-intro #134]: #136 -#121 := (iff #37 #120) -#118 := (iff #36 #117) -#119 := [rewrite]: #118 -#122 := [quant-intro #119]: #121 -#139 := [trans #122 #137]: #138 -#115 := [asserted]: #37 -#140 := [mp #115 #139]: #135 -#158 := [mp~ #140 #149]: #135 -#651 := [mp #158 #650]: #646 -#616 := (not #646) -#450 := (or #616 #416 #466) -#465 := (or #616 #561) -#468 := (iff #465 #450) -#461 := [rewrite]: #468 -#467 := [quant-inst #12]: #465 -#469 := [mp #467 #461]: #450 -#552 := [unit-resolution #469 #651]: #561 -#546 := [unit-resolution #552 #551]: #466 -#540 := (= #12 #564) -#537 := (= f7 #218) -#303 := (= #218 f7) -#22 := (:var 0 S3) -#23 := (f3 f4 #22) -#632 := (pattern #23) -#24 := (f5 f6 #23) -#25 := (= #24 #22) -#633 := (forall (vars (?v0 S3)) (:pat #632) #25) -#26 := (forall (vars (?v0 S3)) #25) -#636 := (iff #26 #633) -#634 := (iff #25 #25) -#635 := [refl]: #634 -#637 := [quant-intro #635]: #636 -#154 := (~ #26 #26) -#152 := (~ #25 #25) -#153 := [refl]: #152 -#155 := [nnf-pos #153]: #154 -#91 := [asserted]: #26 -#144 := [mp~ #91 #155]: #26 -#638 := [mp #144 #637]: #633 -#305 := (not #633) -#296 := (or #305 #303) -#307 := [quant-inst #11]: #296 -#553 := [unit-resolution #307 #638]: #303 -#538 := [symm #553]: #537 -#541 := [monotonicity #538]: #540 -#542 := [trans #541 #546]: #545 -#543 := (not #545) -#539 := (or #543 #416) -#544 := [th-lemma arith triangle-eq]: #539 -#530 := [unit-resolution #544 #551 #542]: false -#531 := [lemma #530]: #416 -#547 := (or #550 #294) -#533 := [th-lemma arith farkas 1 1]: #547 -#534 := [unit-resolution #533 #531]: #294 -#628 := (not #294) -#622 := (or #628 #621) -#31 := (= #30 #27) -#106 := (or #103 #31) -#640 := (forall (vars (?v0 Int)) (:pat #639) #106) -#109 := (forall (vars (?v0 Int)) #106) -#643 := (iff #109 #640) -#641 := (iff #106 #106) -#642 := [refl]: #641 -#644 := [quant-intro #642]: #643 -#146 := (~ #109 #109) -#145 := (~ #106 #106) -#142 := [refl]: #145 -#147 := [nnf-pos #142]: #146 -#28 := (<= 0::Int #27) -#32 := (implies #28 #31) -#33 := (forall (vars (?v0 Int)) #32) -#112 := (iff #33 #109) -#93 := (not #28) -#94 := (or #93 #31) -#97 := (forall (vars (?v0 Int)) #94) -#110 := (iff #97 #109) -#107 := (iff #94 #106) -#104 := (iff #93 #103) -#100 := (iff #28 #101) -#102 := [rewrite]: #100 -#105 := [monotonicity #102]: #104 -#108 := [monotonicity #105]: #107 -#111 := [quant-intro #108]: #110 -#98 := (iff #33 #97) -#95 := (iff #32 #94) -#96 := [rewrite]: #95 -#99 := [quant-intro #96]: #98 -#113 := [trans #99 #111]: #112 -#92 := [asserted]: #33 -#114 := [mp #92 #113]: #109 -#143 := [mp~ #114 #147]: #109 -#645 := [mp #143 #644]: #640 -#266 := (not #640) -#607 := (or #266 #628 #621) -#413 := (= #15 #13) -#289 := (>= #13 0::Int) -#624 := (not #289) -#620 := (or #624 #413) -#270 := (or #266 #620) -#612 := (iff #270 #607) -#272 := (or #266 #622) -#610 := (iff #272 #607) -#611 := [rewrite]: #610 -#273 := (iff #270 #272) -#282 := (iff #620 #622) -#281 := (iff #413 #621) -#286 := [rewrite]: #281 -#629 := (iff #624 #628) -#295 := (iff #289 #294) -#627 := [rewrite]: #295 -#630 := [monotonicity #627]: #629 -#623 := [monotonicity #630 #286]: #282 -#609 := [monotonicity #623]: #273 -#613 := [trans #609 #611]: #612 -#271 := [quant-inst #13]: #270 -#608 := [mp #271 #613]: #607 -#535 := [unit-resolution #608 #645]: #622 -#532 := [unit-resolution #535 #534]: #621 -#536 := (not #621) -#516 := (or #536 #614) -#517 := [th-lemma arith triangle-eq]: #516 -#519 := [unit-resolution #517 #532]: #614 -#520 := (not #614) -#521 := (or #520 #315) -#522 := [th-lemma arith farkas 1 1]: #521 -#523 := [unit-resolution #522 #519]: #315 -#595 := (not #315) -#588 := (or #595 #594) -#585 := (or #266 #595 #594) -#604 := (= #68 #62) -#603 := (>= #62 0::Int) -#600 := (not #603) -#314 := (or #600 #604) -#590 := (or #266 #314) -#577 := (iff #590 #585) -#586 := (or #266 #588) -#434 := (iff #586 #585) -#435 := [rewrite]: #434 -#592 := (iff #590 #586) -#589 := (iff #314 #588) -#598 := (iff #604 #594) -#587 := [rewrite]: #598 -#596 := (iff #600 #595) -#316 := (iff #603 #315) -#317 := [rewrite]: #316 -#311 := [monotonicity #317]: #596 -#584 := [monotonicity #311 #587]: #589 -#433 := [monotonicity #584]: #592 -#578 := [trans #433 #435]: #577 -#591 := [quant-inst #62]: #590 -#579 := [mp #591 #578]: #585 -#524 := [unit-resolution #579 #645]: #588 -#525 := [unit-resolution #524 #523]: #594 -#526 := (not #594) -#527 := (or #526 #574) -#528 := [th-lemma arith triangle-eq]: #527 -#518 := [unit-resolution #528 #525]: #574 -#77 := (<= #68 0::Int) -#17 := (- #15 #12) -#18 := (f5 f6 #17) -#19 := (f3 f4 #18) -#16 := (* 0::Int #15) -#20 := (< #16 #19) -#21 := (not #20) -#88 := (iff #21 #77) -#71 := (< 0::Int #68) -#74 := (not #71) -#86 := (iff #74 #77) -#78 := (not #77) -#81 := (not #78) -#84 := (iff #81 #77) -#85 := [rewrite]: #84 -#82 := (iff #74 #81) -#79 := (iff #71 #78) -#80 := [rewrite]: #79 -#83 := [monotonicity #80]: #82 -#87 := [trans #83 #85]: #86 -#75 := (iff #21 #74) -#72 := (iff #20 #71) -#69 := (= #19 #68) -#66 := (= #18 #65) -#63 := (= #17 #62) -#64 := [rewrite]: #63 -#67 := [monotonicity #64]: #66 -#70 := [monotonicity #67]: #69 -#58 := (= #16 0::Int) -#59 := [rewrite]: #58 -#73 := [monotonicity #59 #70]: #72 -#76 := [monotonicity #73]: #75 -#89 := [trans #76 #87]: #88 -#57 := [asserted]: #21 -#90 := [mp #57 #89]: #77 -[th-lemma arith farkas -1 -1 1 #90 #519 #518]: false -unsat -b3acce989065928cb3ce15ce4113a910c6fff5aa 269 0 -#2 := false -#7 := 0::Int -decl f3 :: (-> S2 S3 Int) -decl f5 :: (-> S4 Int S3) -decl f7 :: S3 -#11 := f7 -decl f4 :: S2 -#8 := f4 -#12 := (f3 f4 f7) -#10 := 1::Int -#13 := (+ 1::Int #12) -decl f6 :: S4 -#9 := f6 -#14 := (f5 f6 #13) -#15 := (f3 f4 #14) -#65 := -1::Int -#66 := (+ -1::Int #15) -#69 := (f5 f6 #66) -#367 := (f3 f4 #69) -#638 := (* -1::Int #367) -#499 := (+ #12 #638) -#459 := (>= #499 0::Int) -#498 := (= #12 #367) -#605 := (= f7 #69) -#72 := (= #69 f7) -#101 := (<= #15 0::Int) -#173 := (iff #101 #72) -#192 := (iff #173 #72) -#1 := true -#187 := (iff true #72) -#190 := (iff #187 #72) -#191 := [rewrite]: #190 -#188 := (iff #173 #187) -#179 := (iff #101 true) -#102 := (not #101) -#105 := (iff #102 #72) -#108 := (or #105 #102) -#111 := (not #108) -#16 := (< 0::Int #15) -#17 := (if #16 true false) -#22 := (not #17) -#23 := (implies #22 false) -#18 := (- #15 1::Int) -#19 := (f5 f6 #18) -#20 := (= #19 f7) -#21 := (iff #17 #20) -#24 := (or #21 #23) -#25 := (or false #24) -#26 := (not #25) -#114 := (iff #26 #111) -#75 := (iff #16 #72) -#88 := (or #75 #16) -#98 := (not #88) -#112 := (iff #98 #111) -#109 := (iff #88 #108) -#103 := (iff #16 #102) -#104 := [rewrite]: #103 -#106 := (iff #75 #105) -#107 := [monotonicity #104]: #106 -#110 := [monotonicity #107 #104]: #109 -#113 := [monotonicity #110]: #112 -#99 := (iff #26 #98) -#96 := (iff #25 #88) -#91 := (or false #88) -#94 := (iff #91 #88) -#95 := [rewrite]: #94 -#92 := (iff #25 #91) -#89 := (iff #24 #88) -#86 := (iff #23 #16) -#78 := (not #16) -#81 := (implies #78 false) -#84 := (iff #81 #16) -#85 := [rewrite]: #84 -#82 := (iff #23 #81) -#79 := (iff #22 #78) -#63 := (iff #17 #16) -#64 := [rewrite]: #63 -#80 := [monotonicity #64]: #79 -#83 := [monotonicity #80]: #82 -#87 := [trans #83 #85]: #86 -#76 := (iff #21 #75) -#73 := (iff #20 #72) -#70 := (= #19 #69) -#67 := (= #18 #66) -#68 := [rewrite]: #67 -#71 := [monotonicity #68]: #70 -#74 := [monotonicity #71]: #73 -#77 := [monotonicity #64 #74]: #76 -#90 := [monotonicity #77 #87]: #89 -#93 := [monotonicity #90]: #92 -#97 := [trans #93 #95]: #96 -#100 := [monotonicity #97]: #99 -#115 := [trans #100 #113]: #114 -#62 := [asserted]: #26 -#116 := [mp #62 #115]: #111 -#119 := [not-or-elim #116]: #101 -#180 := [iff-true #119]: #179 -#189 := [monotonicity #180]: #188 -#193 := [trans #189 #191]: #192 -#117 := (not #105) -#174 := (iff #117 #173) -#175 := [rewrite]: #174 -#118 := [not-or-elim #116]: #117 -#176 := [mp #118 #175]: #173 -#177 := [mp #176 #193]: #72 -#608 := [symm #177]: #605 -#513 := [monotonicity #608]: #498 -#514 := (not #498) -#515 := (or #514 #459) -#516 := [th-lemma arith triangle-eq]: #515 -#609 := [unit-resolution #516 #513]: #459 -#672 := (* -1::Int #15) -#673 := (+ #12 #672) -#654 := (<= #673 -1::Int) -#671 := (= #673 -1::Int) -#669 := (>= #12 -1::Int) -#616 := (>= #367 0::Int) -#621 := (= #367 0::Int) -#646 := (>= #15 1::Int) -#357 := (not #646) -#606 := (or #357 #102) -#610 := [th-lemma arith farkas 1 1]: #606 -#597 := [unit-resolution #610 #119]: #357 -#32 := (:var 0 Int) -#34 := (f5 f6 #32) -#682 := (pattern #34) -#35 := (f3 f4 #34) -#40 := (= #35 0::Int) -#130 := (>= #32 0::Int) -#161 := (or #130 #40) -#689 := (forall (vars (?v0 Int)) (:pat #682) #161) -#164 := (forall (vars (?v0 Int)) #161) -#692 := (iff #164 #689) -#690 := (iff #161 #161) -#691 := [refl]: #690 -#693 := [quant-intro #691]: #692 -#197 := (~ #164 #164) -#195 := (~ #161 #161) -#196 := [refl]: #195 -#198 := [nnf-pos #196]: #197 -#39 := (< #32 0::Int) -#41 := (implies #39 #40) -#42 := (forall (vars (?v0 Int)) #41) -#167 := (iff #42 #164) -#145 := (not #39) -#146 := (or #145 #40) -#149 := (forall (vars (?v0 Int)) #146) -#165 := (iff #149 #164) -#162 := (iff #146 #161) -#159 := (iff #145 #130) -#132 := (not #130) -#154 := (not #132) -#157 := (iff #154 #130) -#158 := [rewrite]: #157 -#155 := (iff #145 #154) -#152 := (iff #39 #132) -#153 := [rewrite]: #152 -#156 := [monotonicity #153]: #155 -#160 := [trans #156 #158]: #159 -#163 := [monotonicity #160]: #162 -#166 := [quant-intro #163]: #165 -#150 := (iff #42 #149) -#147 := (iff #41 #146) -#148 := [rewrite]: #147 -#151 := [quant-intro #148]: #150 -#168 := [trans #151 #166]: #167 -#144 := [asserted]: #42 -#169 := [mp #144 #168]: #164 -#199 := [mp~ #169 #198]: #164 -#694 := [mp #199 #693]: #689 -#660 := (not #689) -#624 := (or #660 #646 #621) -#644 := (>= #66 0::Int) -#622 := (or #644 #621) -#625 := (or #660 #622) -#612 := (iff #625 #624) -#623 := (or #646 #621) -#626 := (or #660 #623) -#458 := (iff #626 #624) -#611 := [rewrite]: #458 -#455 := (iff #625 #626) -#617 := (iff #622 #623) -#643 := (iff #644 #646) -#647 := [rewrite]: #643 -#618 := [monotonicity #647]: #617 -#457 := [monotonicity #618]: #455 -#614 := [trans #457 #611]: #612 -#619 := [quant-inst #66]: #625 -#615 := [mp #619 #614]: #624 -#599 := [unit-resolution #615 #694 #597]: #621 -#591 := (not #621) -#588 := (or #591 #616) -#590 := [th-lemma arith triangle-eq]: #588 -#600 := [unit-resolution #590 #599]: #616 -#602 := (not #459) -#601 := (not #616) -#598 := (or #669 #601 #602) -#603 := [th-lemma arith assign-bounds 1 1]: #598 -#592 := [unit-resolution #603 #600 #609]: #669 -#663 := (not #669) -#674 := (or #663 #671) -#36 := (= #35 #32) -#135 := (or #132 #36) -#683 := (forall (vars (?v0 Int)) (:pat #682) #135) -#138 := (forall (vars (?v0 Int)) #135) -#686 := (iff #138 #683) -#684 := (iff #135 #135) -#685 := [refl]: #684 -#687 := [quant-intro #685]: #686 -#194 := (~ #138 #138) -#182 := (~ #135 #135) -#178 := [refl]: #182 -#171 := [nnf-pos #178]: #194 -#33 := (<= 0::Int #32) -#37 := (implies #33 #36) -#38 := (forall (vars (?v0 Int)) #37) -#141 := (iff #38 #138) -#122 := (not #33) -#123 := (or #122 #36) -#126 := (forall (vars (?v0 Int)) #123) -#139 := (iff #126 #138) -#136 := (iff #123 #135) -#133 := (iff #122 #132) -#129 := (iff #33 #130) -#131 := [rewrite]: #129 -#134 := [monotonicity #131]: #133 -#137 := [monotonicity #134]: #136 -#140 := [quant-intro #137]: #139 -#127 := (iff #38 #126) -#124 := (iff #37 #123) -#125 := [rewrite]: #124 -#128 := [quant-intro #125]: #127 -#142 := [trans #128 #140]: #141 -#121 := [asserted]: #38 -#143 := [mp #121 #142]: #138 -#172 := [mp~ #143 #171]: #138 -#688 := [mp #172 #687]: #683 -#329 := (not #683) -#665 := (or #329 #663 #671) -#332 := (= #15 #13) -#351 := (>= #13 0::Int) -#352 := (not #351) -#667 := (or #352 #332) -#325 := (or #329 #667) -#316 := (iff #325 #665) -#309 := (or #329 #674) -#314 := (iff #309 #665) -#315 := [rewrite]: #314 -#650 := (iff #325 #309) -#664 := (iff #667 #674) -#670 := (iff #332 #671) -#668 := [rewrite]: #670 -#337 := (iff #352 #663) -#326 := (iff #351 #669) -#456 := [rewrite]: #326 -#338 := [monotonicity #456]: #337 -#324 := [monotonicity #338 #668]: #664 -#313 := [monotonicity #324]: #650 -#652 := [trans #313 #315]: #316 -#666 := [quant-inst #13]: #325 -#653 := [mp #666 #652]: #665 -#593 := [unit-resolution #653 #688]: #674 -#594 := [unit-resolution #593 #592]: #671 -#595 := (not #671) -#589 := (or #595 #654) -#596 := [th-lemma arith triangle-eq]: #589 -#580 := [unit-resolution #596 #594]: #654 -[th-lemma arith farkas 1 -1 -1 1 #600 #119 #580 #609]: false -unsat -4f28f42d6f2b6fbb94a4ff1e55f0a807d8afe0f8 147 0 -#2 := false -#10 := 0::Int -decl f7 :: Int -#9 := f7 -#54 := -1::Int -#55 := (* -1::Int f7) -#73 := (>= f7 0::Int) -#80 := (if #73 f7 #55) -#617 := (* -1::Int #80) -#282 := (+ #55 #617) -#625 := (<= #282 0::Int) -#313 := (= #55 #80) -#74 := (not #73) -#280 := (+ f7 #617) -#281 := (<= #280 0::Int) -#228 := (= f7 #80) -#283 := [hypothesis]: #73 -#229 := (or #74 #228) -#314 := [def-axiom]: #229 -#619 := [unit-resolution #314 #283]: #228 -#620 := (not #228) -#621 := (or #620 #281) -#622 := [th-lemma arith triangle-eq]: #621 -#623 := [unit-resolution #622 #619]: #281 -#319 := (>= #80 0::Int) -#316 := (not #319) -decl f5 :: (-> S4 Int S3) -#23 := (:var 0 Int) -decl f6 :: S4 -#8 := f6 -#25 := (f5 f6 #23) -#649 := (pattern #25) -decl f3 :: (-> S2 S3 Int) -decl f4 :: S2 -#7 := f4 -#26 := (f3 f4 #25) -#27 := (= #26 #23) -#110 := (>= #23 0::Int) -#112 := (not #110) -#115 := (or #112 #27) -#650 := (forall (vars (?v0 Int)) (:pat #649) #115) -#118 := (forall (vars (?v0 Int)) #115) -#653 := (iff #118 #650) -#651 := (iff #115 #115) -#652 := [refl]: #651 -#654 := [quant-intro #652]: #653 -#155 := (~ #118 #118) -#154 := (~ #115 #115) -#151 := [refl]: #154 -#156 := [nnf-pos #151]: #155 -#24 := (<= 0::Int #23) -#28 := (implies #24 #27) -#29 := (forall (vars (?v0 Int)) #28) -#121 := (iff #29 #118) -#102 := (not #24) -#103 := (or #102 #27) -#106 := (forall (vars (?v0 Int)) #103) -#119 := (iff #106 #118) -#116 := (iff #103 #115) -#113 := (iff #102 #112) -#109 := (iff #24 #110) -#111 := [rewrite]: #109 -#114 := [monotonicity #111]: #113 -#117 := [monotonicity #114]: #116 -#120 := [quant-intro #117]: #119 -#107 := (iff #29 #106) -#104 := (iff #28 #103) -#105 := [rewrite]: #104 -#108 := [quant-intro #105]: #107 -#122 := [trans #108 #120]: #121 -#101 := [asserted]: #29 -#123 := [mp #101 #122]: #118 -#152 := [mp~ #123 #156]: #118 -#655 := [mp #152 #654]: #650 -#85 := (f5 f6 #80) -#88 := (f3 f4 #85) -#91 := (= #88 #80) -#94 := (not #91) -#12 := (- f7) -#11 := (< f7 0::Int) -#13 := (if #11 #12 f7) -#14 := (f5 f6 #13) -#15 := (f3 f4 #14) -#16 := (= #15 #13) -#17 := (not #16) -#97 := (iff #17 #94) -#58 := (if #11 #55 f7) -#61 := (f5 f6 #58) -#64 := (f3 f4 #61) -#67 := (= #64 #58) -#70 := (not #67) -#95 := (iff #70 #94) -#92 := (iff #67 #91) -#83 := (= #58 #80) -#77 := (if #74 #55 f7) -#81 := (= #77 #80) -#82 := [rewrite]: #81 -#78 := (= #58 #77) -#75 := (iff #11 #74) -#76 := [rewrite]: #75 -#79 := [monotonicity #76]: #78 -#84 := [trans #79 #82]: #83 -#89 := (= #64 #88) -#86 := (= #61 #85) -#87 := [monotonicity #84]: #86 -#90 := [monotonicity #87]: #89 -#93 := [monotonicity #90 #84]: #92 -#96 := [monotonicity #93]: #95 -#71 := (iff #17 #70) -#68 := (iff #16 #67) -#59 := (= #13 #58) -#56 := (= #12 #55) -#57 := [rewrite]: #56 -#60 := [monotonicity #57]: #59 -#65 := (= #15 #64) -#62 := (= #14 #61) -#63 := [monotonicity #60]: #62 -#66 := [monotonicity #63]: #65 -#69 := [monotonicity #66 #60]: #68 -#72 := [monotonicity #69]: #71 -#98 := [trans #72 #96]: #97 -#53 := [asserted]: #17 -#99 := [mp #53 #98]: #94 -#630 := (not #650) -#304 := (or #630 #316 #91) -#636 := (or #316 #91) -#305 := (or #630 #636) -#638 := (iff #305 #304) -#639 := [rewrite]: #638 -#637 := [quant-inst #80]: #305 -#640 := [mp #637 #639]: #304 -#618 := [unit-resolution #640 #99 #655]: #316 -#624 := [th-lemma arith farkas -1 1 1 #283 #618 #623]: false -#262 := [lemma #624]: #74 -#315 := (or #73 #313) -#306 := [def-axiom]: #315 -#267 := [unit-resolution #306 #262]: #313 -#268 := (not #313) -#628 := (or #268 #625) -#626 := [th-lemma arith triangle-eq]: #628 -#629 := [unit-resolution #626 #267]: #625 -#641 := (<= #80 0::Int) -#615 := (or #641 #319) -#616 := [th-lemma arith farkas 1 1]: #615 -#338 := [unit-resolution #616 #618]: #641 -[th-lemma arith farkas 1 1 1 #338 #262 #629]: false -unsat -7e6da58556dd56d85be0ea32c44b6f00c868dac5 431 0 -WARNING: For problems containing quantifiers, the model finding capabilities of Z3 work better when the formula does not contain nested quantifiers. You can use PULL_NESTED_QUANTIFIERS=true to eliminate nested quantifiers. -#2 := false -#446 := -1::Int -decl f4 :: (-> S3 S2 Int) -decl f7 :: (-> S4 Int S2) -decl f9 :: S2 -#28 := f9 -decl f5 :: S3 -#11 := f5 -#29 := (f4 f5 f9) -#27 := 4::Int -#30 := (* 4::Int #29) -#10 := 1::Int -#112 := (+ 1::Int #30) -decl f8 :: S4 -#17 := f8 -#115 := (f7 f8 #112) -#362 := (f4 f5 #115) -#662 := (* -1::Int #362) -#673 := (+ #30 #662) -#649 := (>= #673 -1::Int) -#672 := (= #673 -1::Int) -#41 := 0::Int -#664 := (>= #29 0::Int) -#644 := (= #362 0::Int) -#593 := (not #644) -#640 := (<= #362 0::Int) -#628 := (not #640) -#447 := (<= #362 1::Int) -#752 := (not #447) -decl f6 :: (-> S2 S2 S1) -#7 := (:var 0 S2) -#452 := (f6 #7 #115) -#768 := (pattern #452) -#451 := (= #7 #115) -#18 := (f7 f8 1::Int) -#19 := (= #7 #18) -decl f1 :: S1 -#3 := f1 -#449 := (= #452 f1) -#453 := (not #449) -#432 := (or #453 #19 #451) -#770 := (forall (vars (?v1 S2)) (:pat #768) #432) -#426 := (not #770) -#437 := (or #447 #426) -#438 := (not #437) -decl f3 :: (-> S2 S1) -#118 := (f3 #115) -#121 := (= #118 f1) -#127 := (not #121) -#771 := (or #127 #438) -decl ?v1!0 :: (-> S2 S2) -#772 := (?v1!0 #115) -#767 := (= #772 #115) -#425 := (= #772 #18) -#773 := (f6 #772 #115) -#774 := (= #773 f1) -#769 := (not #774) -#409 := (or #769 #425 #767) -#766 := (not #409) -#751 := (or #121 #447 #766) -#413 := (not #751) -#764 := (not #771) -#414 := (or #764 #413) -#415 := (not #414) -#12 := (f4 f5 #7) -#804 := (pattern #12) -#8 := (f3 #7) -#803 := (pattern #8) -#219 := (?v1!0 #7) -#222 := (= #219 #7) -#221 := (= #219 #18) -#202 := (f6 #219 #7) -#203 := (= #202 f1) -#220 := (not #203) -#223 := (or #220 #221 #222) -#224 := (not #223) -#89 := (<= #12 1::Int) -#9 := (= #8 f1) -#266 := (or #9 #89 #224) -#290 := (not #266) -#14 := (:var 1 S2) -#15 := (f6 #7 #14) -#776 := (pattern #15) -#20 := (= #7 #14) -#16 := (= #15 f1) -#73 := (not #16) -#93 := (or #73 #19 #20) -#777 := (forall (vars (?v1 S2)) (:pat #776) #93) -#782 := (not #777) -#785 := (or #89 #782) -#788 := (not #785) -#242 := (not #9) -#791 := (or #242 #788) -#794 := (not #791) -#797 := (or #794 #290) -#800 := (not #797) -#805 := (forall (vars (?v0 S2)) (:pat #803 #804) #800) -#96 := (forall (vars (?v1 S2)) #93) -#225 := (not #96) -#281 := (or #89 #225) -#282 := (not #281) -#283 := (or #242 #282) -#289 := (not #283) -#291 := (or #289 #290) -#292 := (not #291) -#297 := (forall (vars (?v0 S2)) #292) -#806 := (iff #297 #805) -#801 := (iff #292 #800) -#798 := (iff #291 #797) -#795 := (iff #289 #794) -#792 := (iff #283 #791) -#789 := (iff #282 #788) -#786 := (iff #281 #785) -#783 := (iff #225 #782) -#780 := (iff #96 #777) -#778 := (iff #93 #93) -#779 := [refl]: #778 -#781 := [quant-intro #779]: #780 -#784 := [monotonicity #781]: #783 -#787 := [monotonicity #784]: #786 -#790 := [monotonicity #787]: #789 -#793 := [monotonicity #790]: #792 -#796 := [monotonicity #793]: #795 -#799 := [monotonicity #796]: #798 -#802 := [monotonicity #799]: #801 -#807 := [quant-intro #802]: #806 -#90 := (not #89) -#99 := (and #90 #96) -#248 := (or #242 #99) -#271 := (and #248 #266) -#274 := (forall (vars (?v0 S2)) #271) -#298 := (iff #274 #297) -#295 := (iff #271 #292) -#286 := (and #283 #266) -#293 := (iff #286 #292) -#294 := [rewrite]: #293 -#287 := (iff #271 #286) -#284 := (iff #248 #283) -#214 := (iff #99 #282) -#215 := [rewrite]: #214 -#285 := [monotonicity #215]: #284 -#288 := [monotonicity #285]: #287 -#296 := [trans #288 #294]: #295 -#299 := [quant-intro #296]: #298 -#216 := (not #90) -#230 := (or #216 #224) -#247 := (or #9 #230) -#249 := (and #248 #247) -#252 := (forall (vars (?v0 S2)) #249) -#275 := (iff #252 #274) -#272 := (iff #249 #271) -#269 := (iff #247 #266) -#260 := (or #89 #224) -#263 := (or #9 #260) -#267 := (iff #263 #266) -#268 := [rewrite]: #267 -#264 := (iff #247 #263) -#261 := (iff #230 #260) -#258 := (iff #216 #89) -#259 := [rewrite]: #258 -#262 := [monotonicity #259]: #261 -#265 := [monotonicity #262]: #264 -#270 := [trans #265 #268]: #269 -#273 := [monotonicity #270]: #272 -#276 := [quant-intro #273]: #275 -#102 := (iff #9 #99) -#105 := (forall (vars (?v0 S2)) #102) -#253 := (~ #105 #252) -#250 := (~ #102 #249) -#240 := (~ #99 #99) -#238 := (~ #96 #96) -#236 := (~ #93 #93) -#237 := [refl]: #236 -#239 := [nnf-pos #237]: #238 -#234 := (~ #90 #90) -#235 := [refl]: #234 -#241 := [monotonicity #235 #239]: #240 -#231 := (not #99) -#232 := (~ #231 #230) -#226 := (~ #225 #224) -#227 := [sk]: #226 -#217 := (~ #216 #216) -#218 := [refl]: #217 -#233 := [nnf-neg #218 #227]: #232 -#245 := (~ #9 #9) -#246 := [refl]: #245 -#243 := (~ #242 #242) -#244 := [refl]: #243 -#251 := [nnf-pos #244 #246 #233 #241]: #250 -#254 := [nnf-pos #251]: #253 -#21 := (or #19 #20) -#22 := (implies #16 #21) -#23 := (forall (vars (?v1 S2)) #22) -#13 := (< 1::Int #12) -#24 := (and #13 #23) -#25 := (iff #9 #24) -#26 := (forall (vars (?v0 S2)) #25) -#108 := (iff #26 #105) -#74 := (or #73 #21) -#77 := (forall (vars (?v1 S2)) #74) -#80 := (and #13 #77) -#83 := (iff #9 #80) -#86 := (forall (vars (?v0 S2)) #83) -#106 := (iff #86 #105) -#103 := (iff #83 #102) -#100 := (iff #80 #99) -#97 := (iff #77 #96) -#94 := (iff #74 #93) -#95 := [rewrite]: #94 -#98 := [quant-intro #95]: #97 -#91 := (iff #13 #90) -#92 := [rewrite]: #91 -#101 := [monotonicity #92 #98]: #100 -#104 := [monotonicity #101]: #103 -#107 := [quant-intro #104]: #106 -#87 := (iff #26 #86) -#84 := (iff #25 #83) -#81 := (iff #24 #80) -#78 := (iff #23 #77) -#75 := (iff #22 #74) -#76 := [rewrite]: #75 -#79 := [quant-intro #76]: #78 -#82 := [monotonicity #79]: #81 -#85 := [monotonicity #82]: #84 -#88 := [quant-intro #85]: #87 -#109 := [trans #88 #107]: #108 -#72 := [asserted]: #26 -#110 := [mp #72 #109]: #105 -#255 := [mp~ #110 #254]: #252 -#256 := [mp #255 #276]: #274 -#300 := [mp #256 #299]: #297 -#808 := [mp #300 #807]: #805 -#756 := (not #805) -#753 := (or #756 #415) -#757 := [quant-inst #115]: #753 -#566 := [unit-resolution #757 #808]: #415 -#730 := (or #414 #771) -#736 := [def-axiom]: #730 -#621 := [unit-resolution #736 #566]: #771 -#602 := (or #764 #438) -#138 := (>= #29 1::Int) -#139 := (or #127 #138) -#142 := (not #139) -#35 := (<= 1::Int #29) -#31 := (+ #30 1::Int) -#32 := (f7 f8 #31) -#33 := (f3 #32) -#34 := (= #33 f1) -#36 := (implies #34 #35) -#37 := (not #36) -#145 := (iff #37 #142) -#128 := (or #127 #35) -#133 := (not #128) -#143 := (iff #133 #142) -#140 := (iff #128 #139) -#136 := (iff #35 #138) -#137 := [rewrite]: #136 -#141 := [monotonicity #137]: #140 -#144 := [monotonicity #141]: #143 -#134 := (iff #37 #133) -#131 := (iff #36 #128) -#124 := (implies #121 #35) -#129 := (iff #124 #128) -#130 := [rewrite]: #129 -#125 := (iff #36 #124) -#122 := (iff #34 #121) -#119 := (= #33 #118) -#116 := (= #32 #115) -#113 := (= #31 #112) -#114 := [rewrite]: #113 -#117 := [monotonicity #114]: #116 -#120 := [monotonicity #117]: #119 -#123 := [monotonicity #120]: #122 -#126 := [monotonicity #123]: #125 -#132 := [trans #126 #130]: #131 -#135 := [monotonicity #132]: #134 -#146 := [trans #135 #144]: #145 -#111 := [asserted]: #37 -#147 := [mp #111 #146]: #142 -#148 := [not-or-elim #147]: #121 -#744 := (or #764 #127 #438) -#748 := [def-axiom]: #744 -#626 := [unit-resolution #748 #148]: #602 -#627 := [unit-resolution #626 #621]: #438 -#758 := (or #437 #752) -#395 := [def-axiom]: #758 -#622 := [unit-resolution #395 #627]: #752 -#596 := (or #628 #447) -#603 := [th-lemma arith farkas 1 1]: #596 -#562 := [unit-resolution #603 #622]: #628 -#595 := (or #593 #640) -#597 := [th-lemma arith triangle-eq]: #595 -#604 := [unit-resolution #597 #562]: #593 -#623 := (or #664 #644) -#42 := (:var 0 Int) -#44 := (f7 f8 #42) -#815 := (pattern #44) -#45 := (f4 f5 #44) -#50 := (= #45 0::Int) -#162 := (>= #42 0::Int) -#192 := (or #162 #50) -#822 := (forall (vars (?v0 Int)) (:pat #815) #192) -#195 := (forall (vars (?v0 Int)) #192) -#825 := (iff #195 #822) -#823 := (iff #192 #192) -#824 := [refl]: #823 -#826 := [quant-intro #824]: #825 -#212 := (~ #195 #195) -#278 := (~ #192 #192) -#279 := [refl]: #278 -#213 := [nnf-pos #279]: #212 -#49 := (< #42 0::Int) -#51 := (implies #49 #50) -#52 := (forall (vars (?v0 Int)) #51) -#198 := (iff #52 #195) -#176 := (not #49) -#177 := (or #176 #50) -#180 := (forall (vars (?v0 Int)) #177) -#196 := (iff #180 #195) -#193 := (iff #177 #192) -#190 := (iff #176 #162) -#163 := (not #162) -#185 := (not #163) -#188 := (iff #185 #162) -#189 := [rewrite]: #188 -#186 := (iff #176 #185) -#183 := (iff #49 #163) -#184 := [rewrite]: #183 -#187 := [monotonicity #184]: #186 -#191 := [trans #187 #189]: #190 -#194 := [monotonicity #191]: #193 -#197 := [quant-intro #194]: #196 -#181 := (iff #52 #180) -#178 := (iff #51 #177) -#179 := [rewrite]: #178 -#182 := [quant-intro #179]: #181 -#199 := [trans #182 #197]: #198 -#175 := [asserted]: #52 -#200 := [mp #175 #199]: #195 -#280 := [mp~ #200 #213]: #195 -#827 := [mp #280 #826]: #822 -#518 := (not #822) -#629 := (or #518 #664 #644) -#678 := (>= #112 0::Int) -#650 := (or #678 #644) -#630 := (or #518 #650) -#638 := (iff #630 #629) -#636 := (or #518 #623) -#634 := (iff #636 #629) -#637 := [rewrite]: #634 -#632 := (iff #630 #636) -#624 := (iff #650 #623) -#665 := (iff #678 #664) -#666 := [rewrite]: #665 -#625 := [monotonicity #666]: #624 -#633 := [monotonicity #625]: #632 -#639 := [trans #633 #637]: #638 -#631 := [quant-inst #112]: #630 -#635 := [mp #631 #639]: #629 -#606 := [unit-resolution #635 #827]: #623 -#607 := [unit-resolution #606 #604]: #664 -#667 := (not #664) -#651 := (or #667 #672) -#46 := (= #45 #42) -#166 := (or #163 #46) -#816 := (forall (vars (?v0 Int)) (:pat #815) #166) -#169 := (forall (vars (?v0 Int)) #166) -#819 := (iff #169 #816) -#817 := (iff #166 #166) -#818 := [refl]: #817 -#820 := [quant-intro #818]: #819 -#210 := (~ #169 #169) -#209 := (~ #166 #166) -#206 := [refl]: #209 -#211 := [nnf-pos #206]: #210 -#43 := (<= 0::Int #42) -#47 := (implies #43 #46) -#48 := (forall (vars (?v0 Int)) #47) -#172 := (iff #48 #169) -#153 := (not #43) -#154 := (or #153 #46) -#157 := (forall (vars (?v0 Int)) #154) -#170 := (iff #157 #169) -#167 := (iff #154 #166) -#164 := (iff #153 #163) -#160 := (iff #43 #162) -#161 := [rewrite]: #160 -#165 := [monotonicity #161]: #164 -#168 := [monotonicity #165]: #167 -#171 := [quant-intro #168]: #170 -#158 := (iff #48 #157) -#155 := (iff #47 #154) -#156 := [rewrite]: #155 -#159 := [quant-intro #156]: #158 -#173 := [trans #159 #171]: #172 -#152 := [asserted]: #48 -#174 := [mp #152 #173]: #169 -#207 := [mp~ #174 #211]: #169 -#821 := [mp #207 #820]: #816 -#655 := (not #816) -#656 := (or #655 #667 #672) -#661 := (= #362 #112) -#679 := (not #678) -#663 := (or #679 #661) -#657 := (or #655 #663) -#643 := (iff #657 #656) -#653 := (or #655 #651) -#641 := (iff #653 #656) -#642 := [rewrite]: #641 -#659 := (iff #657 #653) -#652 := (iff #663 #651) -#670 := (iff #661 #672) -#671 := [rewrite]: #670 -#668 := (iff #679 #667) -#669 := [monotonicity #666]: #668 -#654 := [monotonicity #669 #671]: #652 -#645 := [monotonicity #654]: #659 -#646 := [trans #645 #642]: #643 -#658 := [quant-inst #112]: #657 -#647 := [mp #658 #646]: #656 -#608 := [unit-resolution #647 #821]: #651 -#618 := [unit-resolution #608 #607]: #672 -#598 := (not #672) -#619 := (or #598 #649) -#574 := [th-lemma arith triangle-eq]: #619 -#575 := [unit-resolution #574 #618]: #649 -#149 := (not #138) -#150 := [not-or-elim #147]: #149 -[th-lemma arith farkas -4 1 1 #150 #622 #575]: false -unsat -f0add7d14def5da0b06e595882e28df041b2cf29 58 0 -#2 := false -decl f8 :: S2 -#18 := f8 -decl f6 :: S2 -#14 := f6 -#20 := (= f6 f8) -decl f3 :: (-> S4 S5 S2) -decl f5 :: (-> S2 S3 S5) -decl f7 :: S3 -#15 := f7 -#16 := (f5 f6 f7) -decl f4 :: S4 -#7 := f4 -#17 := (f3 f4 #16) -#19 := (= #17 f8) -#45 := (not #19) -#46 := (or #45 #20) -#49 := (not #46) -#21 := (implies #19 #20) -#22 := (not #21) -#50 := (iff #22 #49) -#47 := (iff #21 #46) -#48 := [rewrite]: #47 -#51 := [monotonicity #48]: #50 -#44 := [asserted]: #22 -#54 := [mp #44 #51]: #49 -#52 := [not-or-elim #54]: #19 -#125 := (= f6 #17) -#124 := (= #17 f6) -#9 := (:var 0 S3) -#8 := (:var 1 S2) -#10 := (f5 #8 #9) -#540 := (pattern #10) -#11 := (f3 f4 #10) -#12 := (= #11 #8) -#541 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #540) #12) -#13 := (forall (vars (?v0 S2) (?v1 S3)) #12) -#544 := (iff #13 #541) -#542 := (iff #12 #12) -#543 := [refl]: #542 -#545 := [quant-intro #543]: #544 -#67 := (~ #13 #13) -#65 := (~ #12 #12) -#66 := [refl]: #65 -#68 := [nnf-pos #66]: #67 -#43 := [asserted]: #13 -#57 := [mp~ #43 #68]: #13 -#546 := [mp #57 #545]: #541 -#211 := (not #541) -#126 := (or #211 #124) -#212 := [quant-inst #14 #15]: #126 -#210 := [unit-resolution #212 #546]: #124 -#203 := [symm #210]: #125 -#214 := [trans #203 #52]: #20 -#53 := (not #20) -#55 := [not-or-elim #54]: #53 -[unit-resolution #55 #214]: false -unsat -86345bce2206ce27e174d4b1d6d3e0182564f8a1 106 0 -#2 := false -decl f11 :: (-> S9 S5 S3) -decl f16 :: S5 -#34 := f16 -decl f12 :: S9 -#25 := f12 -#39 := (f11 f12 f16) -decl f6 :: (-> S6 S7 S3) -decl f13 :: S7 -#29 := f13 -decl f7 :: S6 -#14 := f7 -#38 := (f6 f7 f13) -#40 := (= #38 #39) -decl f5 :: (-> S2 S3 S5) -decl f14 :: S3 -#30 := f14 -decl f15 :: S2 -#31 := f15 -#35 := (f5 f15 f14) -#165 := (f11 f12 #35) -#233 := (= #165 #39) -#573 := (= #39 #165) -#36 := (= f16 #35) -decl f8 :: (-> S3 S2 S7) -#32 := (f8 f14 f15) -#33 := (= f13 #32) -#37 := (and #33 #36) -#68 := (not #37) -#69 := (or #68 #40) -#72 := (not #69) -#41 := (implies #37 #40) -#42 := (not #41) -#73 := (iff #42 #72) -#70 := (iff #41 #69) -#71 := [rewrite]: #70 -#74 := [monotonicity #71]: #73 -#67 := [asserted]: #42 -#77 := [mp #67 #74]: #72 -#75 := [not-or-elim #77]: #37 -#78 := [and-elim #75]: #36 -#579 := [monotonicity #78]: #573 -#570 := [symm #579]: #233 -#213 := (= #38 #165) -#569 := (= f14 #165) -#251 := (= #165 f14) -#9 := (:var 0 S3) -#8 := (:var 1 S2) -#10 := (f5 #8 #9) -#580 := (pattern #10) -#26 := (f11 f12 #10) -#27 := (= #26 #9) -#600 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #580) #27) -#28 := (forall (vars (?v0 S2) (?v1 S3)) #27) -#603 := (iff #28 #600) -#601 := (iff #27 #27) -#602 := [refl]: #601 -#604 := [quant-intro #602]: #603 -#88 := (~ #28 #28) -#107 := (~ #27 #27) -#108 := [refl]: #107 -#89 := [nnf-pos #108]: #88 -#66 := [asserted]: #28 -#109 := [mp~ #66 #89]: #28 -#605 := [mp #109 #604]: #600 -#256 := (not #600) -#253 := (or #256 #251) -#257 := [quant-inst #31 #30]: #253 -#568 := [unit-resolution #257 #605]: #251 -#228 := [symm #568]: #569 -#229 := (= #38 f14) -#254 := (f6 f7 #32) -#255 := (= #254 f14) -#16 := (:var 0 S2) -#15 := (:var 1 S3) -#17 := (f8 #15 #16) -#587 := (pattern #17) -#18 := (f6 f7 #17) -#19 := (= #18 #15) -#588 := (forall (vars (?v0 S3) (?v1 S2)) (:pat #587) #19) -#20 := (forall (vars (?v0 S3) (?v1 S2)) #19) -#591 := (iff #20 #588) -#589 := (iff #19 #19) -#590 := [refl]: #589 -#592 := [quant-intro #590]: #591 -#84 := (~ #20 #20) -#83 := (~ #19 #19) -#102 := [refl]: #83 -#85 := [nnf-pos #102]: #84 -#64 := [asserted]: #20 -#103 := [mp~ #64 #85]: #20 -#593 := [mp #103 #592]: #588 -#574 := (not #588) -#230 := (or #574 #255) -#361 := [quant-inst #30 #31]: #230 -#241 := [unit-resolution #361 #593]: #255 -#577 := (= #38 #254) -#76 := [and-elim #75]: #33 -#578 := [monotonicity #76]: #577 -#571 := [trans #578 #241]: #229 -#555 := [trans #571 #228]: #213 -#217 := [trans #555 #570]: #40 -#79 := (not #40) -#80 := [not-or-elim #77]: #79 -[unit-resolution #80 #217]: false -unsat -7180d528e452ef46d73483bf56a7d7018ee1b306 113 0 -#2 := false -decl f3 :: (-> S2 S3 S4) -decl f8 :: S3 -#30 := f8 -decl f11 :: S2 -#38 := f11 -#48 := (f3 f11 f8) -decl f4 :: (-> S5 S4 S2) -decl f13 :: S4 -#45 := f13 -decl f5 :: (-> S6 S3 S5) -decl f10 :: S3 -#34 := f10 -decl f6 :: (-> S7 S2 S6) -decl f12 :: S4 -#41 := f12 -decl f9 :: S3 -#31 := f9 -decl f7 :: S7 -#7 := f7 -#39 := (f6 f7 f11) -#40 := (f5 #39 f9) -#42 := (f4 #40 f12) -#43 := (f6 f7 #42) -#44 := (f5 #43 f10) -#46 := (f4 #44 f13) -#47 := (f3 #46 f8) -#49 := (= #47 #48) -#261 := (f3 #42 f8) -#271 := (= #261 #48) -#270 := (= #261 f12) -#32 := (= f8 f9) -#549 := (if #32 #270 #271) -#23 := (:var 0 S3) -#21 := (:var 1 S4) -#19 := (:var 2 S3) -#17 := (:var 3 S2) -#18 := (f6 f7 #17) -#20 := (f5 #18 #19) -#22 := (f4 #20 #21) -#24 := (f3 #22 #23) -#593 := (pattern #24) -#26 := (f3 #17 #23) -#108 := (= #24 #26) -#107 := (= #24 #21) -#25 := (= #23 #19) -#93 := (if #25 #107 #108) -#594 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) (:pat #593) #93) -#100 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #93) -#597 := (iff #100 #594) -#595 := (iff #93 #93) -#596 := [refl]: #595 -#598 := [quant-intro #596]: #597 -#27 := (if #25 #21 #26) -#28 := (= #24 #27) -#29 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #28) -#97 := (iff #29 #100) -#94 := (iff #28 #93) -#99 := [rewrite]: #94 -#98 := [quant-intro #99]: #97 -#91 := (~ #29 #29) -#90 := (~ #28 #28) -#105 := [refl]: #90 -#92 := [nnf-pos #105]: #91 -#73 := [asserted]: #29 -#106 := [mp~ #73 #92]: #29 -#95 := [mp #106 #98]: #100 -#599 := [mp #95 #598]: #594 -#236 := (not #594) -#547 := (or #236 #549) -#551 := [quant-inst #38 #31 #41 #30]: #547 -#550 := [unit-resolution #551 #599]: #549 -#548 := (not #549) -#264 := (or #548 #271) -#33 := (not #32) -#35 := (= f8 f10) -#36 := (not #35) -#37 := (and #33 #36) -#75 := (not #37) -#76 := (or #75 #49) -#79 := (not #76) -#50 := (implies #37 #49) -#51 := (not #50) -#80 := (iff #51 #79) -#77 := (iff #50 #76) -#78 := [rewrite]: #77 -#81 := [monotonicity #78]: #80 -#74 := [asserted]: #51 -#84 := [mp #74 #81]: #79 -#82 := [not-or-elim #84]: #37 -#83 := [and-elim #82]: #33 -#542 := (or #548 #32 #271) -#543 := [def-axiom]: #542 -#387 := [unit-resolution #543 #83]: #264 -#388 := [unit-resolution #387 #550]: #271 -#263 := (= #47 #261) -#260 := (= #47 f13) -#242 := (if #35 #260 #263) -#367 := (or #236 #242) -#574 := [quant-inst #42 #34 #45 #30]: #367 -#389 := [unit-resolution #574 #599]: #242 -#247 := (not #242) -#531 := (or #247 #263) -#85 := [and-elim #82]: #36 -#582 := (or #247 #35 #263) -#583 := [def-axiom]: #582 -#532 := [unit-resolution #583 #85]: #531 -#533 := [unit-resolution #532 #389]: #263 -#529 := [trans #533 #388]: #49 -#86 := (not #49) -#87 := [not-or-elim #84]: #86 -[unit-resolution #87 #529]: false -unsat -1c419ffe565f74df1755b00362bfce413a0bbb21 74 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f6 :: (-> S2 S3 S1) -decl f5 :: S3 -#8 := f5 -decl f4 :: S2 -#7 := f4 -#11 := (f6 f4 f5) -#12 := (= #11 f1) -decl f3 :: (-> S2 S3 S1) -#9 := (f3 f4 f5) -#10 := (= #9 f1) -#70 := (not #10) -#77 := (iff #70 #12) -#81 := (iff #77 false) -#83 := (iff #10 false) -#43 := (iff #10 #12) -#59 := (or #43 #10 #12) -#62 := (not #59) -#1 := true -#16 := (iff #12 true) -#15 := (iff #10 true) -#17 := (or #15 #16) -#13 := (and #12 true) -#14 := (iff #10 #13) -#18 := (or #14 #17) -#19 := (not #18) -#65 := (iff #19 #62) -#50 := (or #10 #12) -#53 := (or #43 #50) -#56 := (not #53) -#63 := (iff #56 #62) -#60 := (iff #53 #59) -#61 := [rewrite]: #60 -#64 := [monotonicity #61]: #63 -#57 := (iff #19 #56) -#54 := (iff #18 #53) -#51 := (iff #17 #50) -#48 := (iff #16 #12) -#49 := [rewrite]: #48 -#46 := (iff #15 #10) -#47 := [rewrite]: #46 -#52 := [monotonicity #47 #49]: #51 -#44 := (iff #14 #43) -#41 := (iff #13 #12) -#42 := [rewrite]: #41 -#45 := [monotonicity #42]: #44 -#55 := [monotonicity #45 #52]: #54 -#58 := [monotonicity #55]: #57 -#66 := [trans #58 #64]: #65 -#40 := [asserted]: #19 -#67 := [mp #40 #66]: #62 -#71 := [not-or-elim #67]: #70 -#84 := [iff-false #71]: #83 -#92 := (iff #77 #10) -#87 := (iff #70 false) -#90 := (iff #87 #10) -#91 := [rewrite]: #90 -#88 := (iff #77 #87) -#85 := (iff #12 false) -#72 := (not #12) -#73 := [not-or-elim #67]: #72 -#86 := [iff-false #73]: #85 -#89 := [monotonicity #86]: #88 -#93 := [trans #89 #91]: #92 -#82 := [trans #93 #84]: #81 -#68 := (not #43) -#78 := (iff #68 #77) -#79 := [rewrite]: #78 -#69 := [not-or-elim #67]: #68 -#80 := [mp #69 #79]: #77 -[mp #80 #82]: false -unsat 76d09b53549e91e8b6b69b6b905b5e8307464c6f 106 0 #2 := false decl f7 :: S2 @@ -10684,1133 +1668,6 @@ #215 := [quant-inst #19]: #210 [unit-resolution #215 #568 #555]: false unsat -1396ebdf2db554fa58d5de90d7aa27d442610f3c 29 0 -#2 := false -#1 := true -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> S1 S1) -decl f2 :: S1 -#4 := f2 -decl f4 :: (-> S2 S1) -#7 := (:var 0 S2) -#8 := (f4 #7) -#9 := (= #8 f1) -#10 := (exists (vars (?v0 S2)) #9) -#11 := (if #10 f1 f2) -#12 := (f3 #11) -#13 := (= #12 f1) -#14 := (implies #13 true) -#15 := (not #14) -#44 := (iff #15 false) -#39 := (not true) -#42 := (iff #39 false) -#43 := [rewrite]: #42 -#40 := (iff #15 #39) -#37 := (iff #14 true) -#38 := [rewrite]: #37 -#41 := [monotonicity #38]: #40 -#45 := [trans #41 #43]: #44 -#36 := [asserted]: #15 -[mp #36 #45]: false -unsat -352ef3cbf5b05cf656dc82749237c3b497c01e97 113 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> S2 Int S1) -#21 := 42::Int -decl f4 :: (-> S3 Int S2) -#19 := 3::Int -decl f6 :: S3 -#17 := f6 -#20 := (f4 f6 3::Int) -#22 := (f3 #20 42::Int) -#23 := (= #22 f1) -decl f5 :: S3 -#7 := f5 -#139 := (f4 f5 3::Int) -#223 := (f3 #139 42::Int) -#224 := (= #223 f1) -#10 := (:var 0 Int) -#8 := (:var 1 Int) -#9 := (f4 f5 #8) -#11 := (f3 #9 #10) -#12 := (pattern #11) -#27 := 0::Int -#49 := -1::Int -#50 := (* -1::Int #10) -#51 := (+ #8 #50) -#52 := (<= #51 0::Int) -#13 := (= #11 f1) -#55 := (iff #13 #52) -#58 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #12) #55) -#83 := (~ #58 #58) -#81 := (~ #55 #55) -#82 := [refl]: #81 -#84 := [nnf-pos #82]: #83 -#14 := (<= #8 #10) -#15 := (iff #13 #14) -#16 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #12) #15) -#59 := (iff #16 #58) -#56 := (iff #15 #55) -#53 := (iff #14 #52) -#54 := [rewrite]: #53 -#57 := [monotonicity #54]: #56 -#60 := [quant-intro #57]: #59 -#46 := [asserted]: #16 -#61 := [mp #46 #60]: #58 -#73 := [mp~ #61 #84]: #58 -#190 := (not #58) -#191 := (or #190 #224) -#225 := (* -1::Int 42::Int) -#216 := (+ 3::Int #225) -#227 := (<= #216 0::Int) -#228 := (iff #224 #227) -#192 := (or #190 #228) -#529 := (iff #192 #191) -#531 := (iff #191 #191) -#532 := [rewrite]: #531 -#186 := (iff #228 #224) -#1 := true -#201 := (iff #224 true) -#202 := (iff #201 #224) -#543 := [rewrite]: #202 -#206 := (iff #228 #201) -#551 := (iff #227 true) -#203 := -39::Int -#547 := (<= -39::Int 0::Int) -#550 := (iff #547 true) -#545 := [rewrite]: #550 -#548 := (iff #227 #547) -#214 := (= #216 -39::Int) -#229 := -42::Int -#209 := (+ 3::Int -42::Int) -#333 := (= #209 -39::Int) -#540 := [rewrite]: #333 -#544 := (= #216 #209) -#226 := (= #225 -42::Int) -#230 := [rewrite]: #226 -#546 := [monotonicity #230]: #544 -#215 := [trans #546 #540]: #214 -#549 := [monotonicity #215]: #548 -#541 := [trans #549 #545]: #551 -#542 := [monotonicity #541]: #206 -#527 := [trans #542 #543]: #186 -#530 := [monotonicity #527]: #529 -#533 := [trans #530 #532]: #529 -#193 := [quant-inst #19 #21]: #192 -#528 := [mp #193 #533]: #191 -#534 := [unit-resolution #528 #73]: #224 -#536 := (= #22 #223) -#178 := (= #20 #139) -#537 := (= #139 #20) -#172 := (= f5 f6) -#18 := (= f6 f5) -#48 := (not #18) -#62 := (or #48 #23) -#65 := (not #62) -#24 := (implies #18 #23) -#25 := (not #24) -#66 := (iff #25 #65) -#63 := (iff #24 #62) -#64 := [rewrite]: #63 -#67 := [monotonicity #64]: #66 -#47 := [asserted]: #25 -#70 := [mp #47 #67]: #65 -#68 := [not-or-elim #70]: #18 -#535 := [symm #68]: #172 -#177 := [monotonicity #535]: #537 -#538 := [symm #177]: #178 -#539 := [monotonicity #538]: #536 -#525 := [trans #539 #534]: #23 -#69 := (not #23) -#71 := [not-or-elim #70]: #69 -[unit-resolution #71 #525]: false -unsat -8fa5494ea43f950aa9add5e070d1d34c34426a1b 29 0 -#2 := false -#1 := true -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> S1 S1) -decl f2 :: S1 -#4 := f2 -decl f4 :: (-> S2 S1) -#7 := (:var 0 S2) -#8 := (f4 #7) -#9 := (= #8 f1) -#10 := (forall (vars (?v0 S2)) #9) -#11 := (if #10 f1 f2) -#12 := (f3 #11) -#13 := (= #12 f1) -#14 := (implies #13 true) -#15 := (not #14) -#44 := (iff #15 false) -#39 := (not true) -#42 := (iff #39 false) -#43 := [rewrite]: #42 -#40 := (iff #15 #39) -#37 := (iff #14 true) -#38 := [rewrite]: #37 -#41 := [monotonicity #38]: #40 -#45 := [trans #41 #43]: #44 -#36 := [asserted]: #15 -[mp #36 #45]: false -unsat -2fd48adc6f5c51aec7f5f7945dc6937d8ac8fd61 424 0 -#2 := false -decl f9 :: (-> S6 S7 S7) -decl f12 :: S7 -#22 := f12 -decl f13 :: (-> S9 S2 S6) -decl f5 :: (-> S4 Int S2) -#49 := 2::Int -decl f6 :: S4 -#11 := f6 -#50 := (f5 f6 2::Int) -decl f14 :: S9 -#28 := f14 -#51 := (f13 f14 #50) -#52 := (f9 #51 f12) -#14 := 1::Int -#44 := (f5 f6 1::Int) -#45 := (f13 f14 #44) -#53 := (f9 #45 #52) -#46 := (f9 #45 f12) -#41 := 0::Int -#42 := (f5 f6 0::Int) -#43 := (f13 f14 #42) -#47 := (f9 #43 #46) -decl f10 :: (-> S8 S3 S6) -decl f4 :: S3 -#7 := f4 -decl f11 :: S8 -#19 := f11 -#40 := (f10 f11 f4) -#48 := (f9 #40 #47) -#54 := (= #48 #53) -#654 := (f9 #40 #46) -decl f3 :: (-> S3 S2 S2) -#337 := (f3 f4 #42) -#338 := (f13 f14 #337) -#656 := (f9 #338 #654) -#321 := (= #656 #53) -#353 := (= #53 #656) -#391 := (= #52 #654) -#248 := (f9 #40 f12) -#596 := (f3 f4 #44) -#593 := (f13 f14 #596) -#597 := (f9 #593 #248) -#389 := (= #597 #654) -#584 := (= #654 #597) -#31 := (:var 0 S7) -#26 := (:var 2 S3) -#27 := (f10 f11 #26) -#36 := (f9 #27 #31) -#29 := (:var 1 S2) -#34 := (f3 #26 #29) -#35 := (f13 f14 #34) -#37 := (f9 #35 #36) -#670 := (pattern #37) -#30 := (f13 f14 #29) -#32 := (f9 #30 #31) -#33 := (f9 #27 #32) -#669 := (pattern #33) -#38 := (= #33 #37) -#671 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S7)) (:pat #669 #670) #38) -#39 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S7)) #38) -#674 := (iff #39 #671) -#672 := (iff #38 #38) -#673 := [refl]: #672 -#675 := [quant-intro #673]: #674 -#161 := (~ #39 #39) -#179 := (~ #38 #38) -#180 := [refl]: #179 -#162 := [nnf-pos #180]: #161 -#103 := [asserted]: #39 -#181 := [mp~ #103 #162]: #39 -#676 := [mp #181 #675]: #671 -#323 := (not #671) -#575 := (or #323 #584) -#577 := [quant-inst #7 #44 #22]: #575 -#430 := [unit-resolution #577 #676]: #584 -#390 := [symm #430]: #389 -#387 := (= #52 #597) -#435 := (= f12 #248) -#332 := (= #248 f12) -#20 := (:var 0 S3) -#21 := (f10 f11 #20) -#662 := (pattern #21) -#23 := (f9 #21 f12) -#24 := (= #23 f12) -#663 := (forall (vars (?v0 S3)) (:pat #662) #24) -#25 := (forall (vars (?v0 S3)) #24) -#666 := (iff #25 #663) -#664 := (iff #24 #24) -#665 := [refl]: #664 -#667 := [quant-intro #665]: #666 -#159 := (~ #25 #25) -#158 := (~ #24 #24) -#177 := [refl]: #158 -#160 := [nnf-pos #177]: #159 -#102 := [asserted]: #25 -#178 := [mp~ #102 #160]: #25 -#668 := [mp #178 #667]: #663 -#335 := (not #663) -#339 := (or #335 #332) -#318 := [quant-inst #7]: #339 -#431 := [unit-resolution #318 #668]: #332 -#436 := [symm #431]: #435 -#384 := (= #51 #593) -#399 := (= #50 #596) -decl f7 :: (-> S5 S2 Int) -decl f8 :: S5 -#12 := f8 -#254 := (f7 f8 #44) -#580 := (+ 1::Int #254) -#581 := (f5 f6 #580) -#412 := (= #581 #596) -#582 := (= #596 #581) -#8 := (:var 0 S2) -#9 := (f3 f4 #8) -#10 := (pattern #9) -#13 := (f7 f8 #8) -#90 := (+ 1::Int #13) -#93 := (f5 f6 #90) -#96 := (= #9 #93) -#99 := (forall (vars (?v0 S2)) (:pat #10) #96) -#175 := (~ #99 #99) -#173 := (~ #96 #96) -#174 := [refl]: #173 -#176 := [nnf-pos #174]: #175 -#15 := (+ #13 1::Int) -#16 := (f5 f6 #15) -#17 := (= #9 #16) -#18 := (forall (vars (?v0 S2)) (:pat #10) #17) -#100 := (iff #18 #99) -#97 := (iff #17 #96) -#94 := (= #16 #93) -#91 := (= #15 #90) -#92 := [rewrite]: #91 -#95 := [monotonicity #92]: #94 -#98 := [monotonicity #95]: #97 -#101 := [quant-intro #98]: #100 -#89 := [asserted]: #18 -#104 := [mp #89 #101]: #99 -#157 := [mp~ #104 #176]: #99 -#585 := (not #99) -#567 := (or #585 #582) -#568 := [quant-inst #44]: #567 -#278 := [unit-resolution #568 #157]: #582 -#398 := [symm #278]: #412 -#400 := (= #50 #581) -#522 := (f7 f8 #581) -#450 := (f5 f6 #522) -#451 := (= #450 #581) -#677 := (pattern #13) -#56 := (f5 f6 #13) -#57 := (= #56 #8) -#678 := (forall (vars (?v0 S2)) (:pat #677) #57) -#58 := (forall (vars (?v0 S2)) #57) -#681 := (iff #58 #678) -#679 := (iff #57 #57) -#680 := [refl]: #679 -#682 := [quant-intro #680]: #681 -#163 := (~ #58 #58) -#182 := (~ #57 #57) -#183 := [refl]: #182 -#164 := [nnf-pos #183]: #163 -#106 := [asserted]: #58 -#165 := [mp~ #106 #164]: #58 -#683 := [mp #165 #682]: #678 -#453 := (not #678) -#458 := (or #453 #451) -#441 := [quant-inst #581]: #458 -#437 := [unit-resolution #441 #683]: #451 -#408 := (= #50 #450) -#407 := (= 2::Int #522) -#410 := (= #522 2::Int) -#247 := -1::Int -#507 := (* -1::Int #522) -#488 := (+ #254 #507) -#484 := (<= #488 -1::Int) -#452 := (= #488 -1::Int) -#520 := (>= #254 -1::Int) -#515 := (>= #254 1::Int) -#631 := (= #254 1::Int) -#59 := (:var 0 Int) -#61 := (f5 f6 #59) -#684 := (pattern #61) -#62 := (f7 f8 #61) -#63 := (= #62 #59) -#117 := (>= #59 0::Int) -#118 := (not #117) -#121 := (or #118 #63) -#685 := (forall (vars (?v0 Int)) (:pat #684) #121) -#124 := (forall (vars (?v0 Int)) #121) -#688 := (iff #124 #685) -#686 := (iff #121 #121) -#687 := [refl]: #686 -#689 := [quant-intro #687]: #688 -#167 := (~ #124 #124) -#166 := (~ #121 #121) -#184 := [refl]: #166 -#168 := [nnf-pos #184]: #167 -#60 := (<= 0::Int #59) -#64 := (implies #60 #63) -#65 := (forall (vars (?v0 Int)) #64) -#127 := (iff #65 #124) -#108 := (not #60) -#109 := (or #108 #63) -#112 := (forall (vars (?v0 Int)) #109) -#125 := (iff #112 #124) -#122 := (iff #109 #121) -#119 := (iff #108 #118) -#115 := (iff #60 #117) -#116 := [rewrite]: #115 -#120 := [monotonicity #116]: #119 -#123 := [monotonicity #120]: #122 -#126 := [quant-intro #123]: #125 -#113 := (iff #65 #112) -#110 := (iff #64 #109) -#111 := [rewrite]: #110 -#114 := [quant-intro #111]: #113 -#128 := [trans #114 #126]: #127 -#107 := [asserted]: #65 -#129 := [mp #107 #128]: #124 -#185 := [mp~ #129 #168]: #124 -#690 := [mp #185 #689]: #685 -#641 := (not #685) -#623 := (or #641 #631) -#360 := (>= 1::Int 0::Int) -#361 := (not #360) -#632 := (or #361 #631) -#627 := (or #641 #632) -#628 := (iff #627 #623) -#618 := (iff #623 #623) -#619 := [rewrite]: #618 -#626 := (iff #632 #631) -#344 := (or false #631) -#347 := (iff #344 #631) -#625 := [rewrite]: #347 -#345 := (iff #632 #344) -#630 := (iff #361 false) -#1 := true -#651 := (not true) -#652 := (iff #651 false) -#311 := [rewrite]: #652 -#629 := (iff #361 #651) -#354 := (iff #360 true) -#355 := [rewrite]: #354 -#633 := [monotonicity #355]: #629 -#634 := [trans #633 #311]: #630 -#346 := [monotonicity #634]: #345 -#340 := [trans #346 #625]: #626 -#617 := [monotonicity #340]: #628 -#614 := [trans #617 #619]: #628 -#624 := [quant-inst #14]: #627 -#615 := [mp #624 #614]: #623 -#433 := [unit-resolution #615 #690]: #631 -#438 := (not #631) -#417 := (or #438 #515) -#420 := [th-lemma arith triangle-eq]: #417 -#424 := [unit-resolution #420 #433]: #515 -#426 := (not #515) -#427 := (or #426 #520) -#425 := [th-lemma arith farkas 1 1]: #427 -#428 := [unit-resolution #425 #424]: #520 -#525 := (not #520) -#482 := (or #641 #525 #452) -#518 := (= #522 #580) -#516 := (>= #580 0::Int) -#517 := (not #516) -#519 := (or #517 #518) -#489 := (or #641 #519) -#493 := (iff #489 #482) -#513 := (or #525 #452) -#479 := (or #641 #513) -#490 := (iff #479 #482) -#492 := [rewrite]: #490 -#481 := (iff #489 #479) -#508 := (iff #519 #513) -#506 := (iff #518 #452) -#512 := [rewrite]: #506 -#521 := (iff #517 #525) -#523 := (iff #516 #520) -#524 := [rewrite]: #523 -#526 := [monotonicity #524]: #521 -#514 := [monotonicity #526 #512]: #508 -#483 := [monotonicity #514]: #481 -#494 := [trans #483 #492]: #493 -#448 := [quant-inst #580]: #489 -#504 := [mp #448 #494]: #482 -#416 := [unit-resolution #504 #690 #428]: #452 -#419 := (not #452) -#421 := (or #419 #484) -#422 := [th-lemma arith triangle-eq]: #421 -#418 := [unit-resolution #422 #416]: #484 -#505 := (>= #488 -1::Int) -#423 := (or #419 #505) -#413 := [th-lemma arith triangle-eq]: #423 -#403 := [unit-resolution #413 #416]: #505 -#404 := (<= #254 1::Int) -#405 := (or #438 #404) -#406 := [th-lemma arith triangle-eq]: #405 -#409 := [unit-resolution #406 #433]: #404 -#414 := [th-lemma arith eq-propagate -1 -1 1 1 #424 #409 #403 #418]: #410 -#415 := [symm #414]: #407 -#411 := [monotonicity #415]: #408 -#401 := [trans #411 #437]: #400 -#402 := [trans #401 #398]: #399 -#386 := [monotonicity #402]: #384 -#388 := [monotonicity #386 #436]: #387 -#392 := [trans #388 #390]: #391 -#351 := (= #45 #338) -#350 := (= #44 #337) -#658 := (f7 f8 #42) -#586 := (+ 1::Int #658) -#578 := (f5 f6 #586) -#357 := (= #578 #337) -#587 := (= #337 #578) -#590 := (or #585 #587) -#579 := [quant-inst #42]: #590 -#393 := [unit-resolution #579 #157]: #587 -#367 := [symm #393]: #357 -#348 := (= #44 #578) -#570 := (f7 f8 #578) -#447 := (f5 f6 #570) -#449 := (= #447 #578) -#454 := (or #453 #449) -#455 := [quant-inst #578]: #454 -#394 := [unit-resolution #455 #683]: #449 -#365 := (= #44 #447) -#364 := (= 1::Int #570) -#362 := (= #570 1::Int) -#564 := (* -1::Int #658) -#565 := (+ #570 #564) -#538 := (<= #565 1::Int) -#562 := (= #565 1::Int) -#573 := (>= #658 -1::Int) -#589 := (>= #658 0::Int) -#659 := (= #658 0::Int) -#642 := (or #641 #659) -#443 := (>= 0::Int 0::Int) -#650 := (not #443) -#660 := (or #650 #659) -#643 := (or #641 #660) -#644 := (iff #643 #642) -#645 := (iff #642 #642) -#647 := [rewrite]: #645 -#639 := (iff #660 #659) -#637 := (or false #659) -#301 := (iff #637 #659) -#302 := [rewrite]: #301 -#299 := (iff #660 #637) -#653 := (iff #650 false) -#310 := (iff #650 #651) -#655 := (iff #443 true) -#661 := [rewrite]: #655 -#315 := [monotonicity #661]: #310 -#295 := [trans #315 #311]: #653 -#300 := [monotonicity #295]: #299 -#640 := [trans #300 #302]: #639 -#281 := [monotonicity #640]: #644 -#286 := [trans #281 #647]: #644 -#638 := [quant-inst #41]: #643 -#287 := [mp #638 #286]: #642 -#395 := [unit-resolution #287 #690]: #659 -#396 := (not #659) -#385 := (or #396 #589) -#397 := [th-lemma arith triangle-eq]: #385 -#374 := [unit-resolution #397 #395]: #589 -#376 := (not #589) -#377 := (or #376 #573) -#378 := [th-lemma arith farkas 1 1]: #377 -#379 := [unit-resolution #378 #374]: #573 -#560 := (not #573) -#551 := (or #641 #560 #562) -#571 := (= #570 #586) -#576 := (>= #586 0::Int) -#583 := (not #576) -#572 := (or #583 #571) -#552 := (or #641 #572) -#548 := (iff #552 #551) -#547 := (or #560 #562) -#554 := (or #641 #547) -#557 := (iff #554 #551) -#558 := [rewrite]: #557 -#555 := (iff #552 #554) -#549 := (iff #572 #547) -#566 := (iff #571 #562) -#546 := [rewrite]: #566 -#561 := (iff #583 #560) -#569 := (iff #576 #573) -#574 := [rewrite]: #569 -#563 := [monotonicity #574]: #561 -#550 := [monotonicity #563 #546]: #549 -#556 := [monotonicity #550]: #555 -#559 := [trans #556 #558]: #548 -#553 := [quant-inst #586]: #552 -#537 := [mp #553 #559]: #551 -#380 := [unit-resolution #537 #690 #379]: #562 -#381 := (not #562) -#382 := (or #381 #538) -#375 := [th-lemma arith triangle-eq]: #382 -#383 := [unit-resolution #375 #380]: #538 -#540 := (>= #565 1::Int) -#368 := (or #381 #540) -#369 := [th-lemma arith triangle-eq]: #368 -#370 := [unit-resolution #369 #380]: #540 -#588 := (<= #658 0::Int) -#372 := (or #396 #588) -#371 := [th-lemma arith triangle-eq]: #372 -#373 := [unit-resolution #371 #395]: #588 -#363 := [th-lemma arith eq-propagate -1 -1 -1 -1 #374 #373 #370 #383]: #362 -#356 := [symm #363]: #364 -#366 := [monotonicity #356]: #365 -#349 := [trans #366 #394]: #348 -#341 := [trans #349 #367]: #350 -#352 := [monotonicity #341]: #351 -#319 := [monotonicity #352 #392]: #353 -#322 := [symm #319]: #321 -#312 := (= #48 #656) -#324 := (or #323 #312) -#657 := [quant-inst #7 #42 #46]: #324 -#342 := [unit-resolution #657 #676]: #312 -#313 := [trans #342 #322]: #54 -#55 := (not #54) -#105 := [asserted]: #55 -[unit-resolution #105 #313]: false -unsat -7a4c9001ff099c38b0602b196e3bc37f301b1551 24 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> S2 S1) -#7 := (:var 0 S2) -#8 := (f3 #7) -#9 := (= #8 f1) -#10 := (forall (vars (?v0 S2)) #9) -#11 := (not #10) -#12 := (or #10 #11) -#13 := (not #12) -#42 := (iff #13 false) -#1 := true -#37 := (not true) -#40 := (iff #37 false) -#41 := [rewrite]: #40 -#38 := (iff #13 #37) -#35 := (iff #12 true) -#36 := [rewrite]: #35 -#39 := [monotonicity #36]: #38 -#43 := [trans #39 #41]: #42 -#34 := [asserted]: #13 -[mp #34 #43]: false -unsat -5e86b4c9726ef5b2868f22c9ea608e9e3558803e 344 0 -#2 := false -decl f7 :: (-> S5 Int S2) -#28 := 6::Int -decl f8 :: S5 -#14 := f8 -#29 := (f7 f8 6::Int) -decl f3 :: (-> S3 S2 S2) -decl f5 :: (-> S4 S2 Int) -#21 := 4::Int -#22 := (f7 f8 4::Int) -decl f4 :: S3 -#7 := f4 -#23 := (f3 f4 #22) -decl f6 :: S4 -#10 := f6 -#24 := (f5 f6 #23) -#25 := (* 4::Int #24) -#26 := (f7 f8 #25) -#27 := (f3 f4 #26) -#30 := (= #27 #29) -#526 := (f3 f4 #29) -#490 := (= #526 #29) -#552 := (f5 f6 #29) -#67 := -10::Int -#528 := (+ -10::Int #552) -#508 := (f7 f8 #528) -#454 := (f3 f4 #508) -#509 := (= #526 #454) -#12 := 10::Int -#525 := (>= #552 10::Int) -#514 := (if #525 #509 #490) -#8 := (:var 0 S2) -#9 := (f3 f4 #8) -#665 := (pattern #9) -#11 := (f5 f6 #8) -#664 := (pattern #11) -#182 := (= #9 #8) -#68 := (+ -10::Int #11) -#71 := (f7 f8 #68) -#74 := (f3 f4 #71) -#181 := (= #9 #74) -#88 := (>= #11 10::Int) -#169 := (if #88 #181 #182) -#666 := (forall (vars (?v0 S2)) (:pat #664 #665) #169) -#184 := (forall (vars (?v0 S2)) #169) -#669 := (iff #184 #666) -#667 := (iff #169 #169) -#668 := [refl]: #667 -#670 := [quant-intro #668]: #669 -#93 := (if #88 #74 #8) -#98 := (= #9 #93) -#101 := (forall (vars (?v0 S2)) #98) -#185 := (iff #101 #184) -#170 := (iff #98 #169) -#183 := [rewrite]: #170 -#186 := [quant-intro #183]: #185 -#173 := (~ #101 #101) -#171 := (~ #98 #98) -#172 := [refl]: #171 -#174 := [nnf-pos #172]: #173 -#15 := (- #11 10::Int) -#16 := (f7 f8 #15) -#17 := (f3 f4 #16) -#13 := (< #11 10::Int) -#18 := (if #13 #8 #17) -#19 := (= #9 #18) -#20 := (forall (vars (?v0 S2)) #19) -#104 := (iff #20 #101) -#77 := (if #13 #8 #74) -#80 := (= #9 #77) -#83 := (forall (vars (?v0 S2)) #80) -#102 := (iff #83 #101) -#99 := (iff #80 #98) -#96 := (= #77 #93) -#86 := (not #88) -#90 := (if #86 #8 #74) -#94 := (= #90 #93) -#95 := [rewrite]: #94 -#91 := (= #77 #90) -#87 := (iff #13 #86) -#89 := [rewrite]: #87 -#92 := [monotonicity #89]: #91 -#97 := [trans #92 #95]: #96 -#100 := [monotonicity #97]: #99 -#103 := [quant-intro #100]: #102 -#84 := (iff #20 #83) -#81 := (iff #19 #80) -#78 := (= #18 #77) -#75 := (= #17 #74) -#72 := (= #16 #71) -#69 := (= #15 #68) -#70 := [rewrite]: #69 -#73 := [monotonicity #70]: #72 -#76 := [monotonicity #73]: #75 -#79 := [monotonicity #76]: #78 -#82 := [monotonicity #79]: #81 -#85 := [quant-intro #82]: #84 -#105 := [trans #85 #103]: #104 -#66 := [asserted]: #20 -#106 := [mp #66 #105]: #101 -#159 := [mp~ #106 #174]: #101 -#187 := [mp #159 #186]: #184 -#671 := [mp #187 #670]: #666 -#320 := (not #666) -#516 := (or #320 #514) -#484 := [quant-inst #29]: #516 -#469 := [unit-resolution #484 #671]: #514 -#450 := (not #525) -#515 := (<= #552 6::Int) -#553 := (= #552 6::Int) -#36 := (:var 0 Int) -#38 := (f7 f8 #36) -#678 := (pattern #38) -#39 := (f5 f6 #38) -#40 := (= #39 #36) -#35 := 0::Int -#119 := (>= #36 0::Int) -#120 := (not #119) -#123 := (or #120 #40) -#679 := (forall (vars (?v0 Int)) (:pat #678) #123) -#126 := (forall (vars (?v0 Int)) #123) -#682 := (iff #126 #679) -#680 := (iff #123 #123) -#681 := [refl]: #680 -#683 := [quant-intro #681]: #682 -#165 := (~ #126 #126) -#164 := (~ #123 #123) -#176 := [refl]: #164 -#166 := [nnf-pos #176]: #165 -#37 := (<= 0::Int #36) -#41 := (implies #37 #40) -#42 := (forall (vars (?v0 Int)) #41) -#129 := (iff #42 #126) -#110 := (not #37) -#111 := (or #110 #40) -#114 := (forall (vars (?v0 Int)) #111) -#127 := (iff #114 #126) -#124 := (iff #111 #123) -#121 := (iff #110 #120) -#117 := (iff #37 #119) -#118 := [rewrite]: #117 -#122 := [monotonicity #118]: #121 -#125 := [monotonicity #122]: #124 -#128 := [quant-intro #125]: #127 -#115 := (iff #42 #114) -#112 := (iff #41 #111) -#113 := [rewrite]: #112 -#116 := [quant-intro #113]: #115 -#130 := [trans #116 #128]: #129 -#109 := [asserted]: #42 -#131 := [mp #109 #130]: #126 -#177 := [mp~ #131 #166]: #126 -#684 := [mp #177 #683]: #679 -#611 := (not #679) -#545 := (or #611 #553) -#549 := (>= 6::Int 0::Int) -#551 := (not #549) -#554 := (or #551 #553) -#546 := (or #611 #554) -#547 := (iff #546 #545) -#529 := (iff #545 #545) -#530 := [rewrite]: #529 -#543 := (iff #554 #553) -#550 := (or false #553) -#540 := (iff #550 #553) -#542 := [rewrite]: #540 -#561 := (iff #554 #550) -#559 := (iff #551 false) -#1 := true -#619 := (not true) -#616 := (iff #619 false) -#617 := [rewrite]: #616 -#557 := (iff #551 #619) -#555 := (iff #549 true) -#556 := [rewrite]: #555 -#558 := [monotonicity #556]: #557 -#560 := [trans #558 #617]: #559 -#539 := [monotonicity #560]: #561 -#544 := [trans #539 #542]: #543 -#533 := [monotonicity #544]: #547 -#531 := [trans #533 #530]: #547 -#541 := [quant-inst #28]: #546 -#534 := [mp #541 #531]: #545 -#470 := [unit-resolution #534 #684]: #553 -#477 := (not #553) -#478 := (or #477 #515) -#479 := [th-lemma arith triangle-eq]: #478 -#464 := [unit-resolution #479 #470]: #515 -#480 := (not #515) -#441 := (or #480 #450) -#442 := [th-lemma arith farkas 1 1]: #441 -#449 := [unit-resolution #442 #464]: #450 -#491 := (not #514) -#485 := (or #491 #525 #490) -#492 := [def-axiom]: #485 -#451 := [unit-resolution #492 #449 #469]: #490 -#404 := (= #27 #526) -#641 := (f5 f6 #26) -#638 := (+ -10::Int #641) -#345 := (f7 f8 #638) -#360 := (f3 f4 #345) -#403 := (= #360 #526) -#416 := (= #345 #29) -#411 := (= #638 6::Int) -#312 := (f5 f6 #22) -#249 := -1::Int -#518 := (* -1::Int #312) -#519 := (+ #24 #518) -#524 := (<= #519 0::Int) -#517 := (= #24 #312) -#303 := (= #23 #22) -#297 := (+ -10::Int #312) -#639 := (f7 f8 #297) -#301 := (f3 f4 #639) -#302 := (= #23 #301) -#317 := (>= #312 10::Int) -#304 := (if #317 #302 #303) -#643 := (or #320 #304) -#644 := [quant-inst #22]: #643 -#452 := [unit-resolution #644 #671]: #304 -#640 := (not #317) -#447 := (<= #312 4::Int) -#625 := (= #312 4::Int) -#612 := (or #611 #625) -#256 := (>= 4::Int 0::Int) -#633 := (not #256) -#629 := (or #633 #625) -#606 := (or #611 #629) -#613 := (iff #606 #612) -#608 := (iff #612 #612) -#615 := [rewrite]: #608 -#609 := (iff #629 #625) -#618 := (or false #625) -#466 := (iff #618 #625) -#467 := [rewrite]: #466 -#624 := (iff #629 #618) -#622 := (iff #633 false) -#620 := (iff #633 #619) -#626 := (iff #256 true) -#630 := [rewrite]: #626 -#621 := [monotonicity #630]: #620 -#623 := [trans #621 #617]: #622 -#465 := [monotonicity #623]: #624 -#610 := [trans #465 #467]: #609 -#614 := [monotonicity #610]: #613 -#444 := [trans #614 #615]: #613 -#607 := [quant-inst #21]: #606 -#446 := [mp #607 #444]: #612 -#453 := [unit-resolution #446 #684]: #625 -#455 := (not #625) -#456 := (or #455 #447) -#457 := [th-lemma arith triangle-eq]: #456 -#458 := [unit-resolution #457 #453]: #447 -#459 := (not #447) -#460 := (or #459 #640) -#443 := [th-lemma arith farkas 1 1]: #460 -#461 := [unit-resolution #443 #458]: #640 -#645 := (not #304) -#647 := (or #645 #317 #303) -#649 := [def-axiom]: #647 -#431 := [unit-resolution #649 #461 #452]: #303 -#434 := [monotonicity #431]: #517 -#436 := (not #517) -#437 := (or #436 #524) -#438 := [th-lemma arith triangle-eq]: #437 -#280 := [unit-resolution #438 #434]: #524 -#520 := (>= #519 0::Int) -#439 := (or #436 #520) -#435 := [th-lemma arith triangle-eq]: #439 -#440 := [unit-resolution #435 #434]: #520 -#600 := (>= #312 4::Int) -#419 := (or #455 #600) -#422 := [th-lemma arith triangle-eq]: #419 -#426 := [unit-resolution #422 #453]: #600 -#504 := (* -1::Int #641) -#505 := (+ #25 #504) -#582 := (<= #505 0::Int) -#503 := (= #505 0::Int) -#597 := (>= #24 0::Int) -#429 := (not #520) -#428 := (not #600) -#427 := (or #597 #428 #429) -#430 := [th-lemma arith assign-bounds 1 1]: #427 -#418 := [unit-resolution #430 #426 #440]: #597 -#499 := (not #597) -#598 := (or #499 #503) -#586 := (or #611 #499 #503) -#593 := (= #641 #25) -#596 := (>= #25 0::Int) -#498 := (not #596) -#594 := (or #498 #593) -#588 := (or #611 #594) -#587 := (iff #588 #586) -#577 := (or #611 #598) -#590 := (iff #577 #586) -#591 := [rewrite]: #590 -#579 := (iff #588 #577) -#595 := (iff #594 #598) -#501 := (iff #593 #503) -#502 := [rewrite]: #501 -#500 := (iff #498 #499) -#482 := (iff #596 #597) -#497 := [rewrite]: #482 -#493 := [monotonicity #497]: #500 -#599 := [monotonicity #493 #502]: #595 -#589 := [monotonicity #599]: #579 -#592 := [trans #589 #591]: #587 -#580 := [quant-inst #25]: #588 -#581 := [mp #580 #592]: #586 -#421 := [unit-resolution #581 #684]: #598 -#423 := [unit-resolution #421 #418]: #503 -#424 := (not #503) -#420 := (or #424 #582) -#425 := [th-lemma arith triangle-eq]: #420 -#415 := [unit-resolution #425 #423]: #582 -#583 := (>= #505 0::Int) -#405 := (or #424 #583) -#407 := [th-lemma arith triangle-eq]: #405 -#408 := [unit-resolution #407 #423]: #583 -#412 := [th-lemma arith eq-propagate 1 1 -4 -4 -4 -4 #408 #415 #426 #458 #440 #280]: #411 -#409 := [monotonicity #412]: #416 -#401 := [monotonicity #409]: #403 -#361 := (= #27 #360) -#362 := (= #27 #26) -#642 := (>= #641 10::Int) -#363 := (if #642 #361 #362) -#634 := (or #320 #363) -#356 := [quant-inst #26]: #634 -#417 := [unit-resolution #356 #671]: #363 -#410 := (not #582) -#413 := (or #642 #410 #428 #429) -#414 := [th-lemma arith assign-bounds 1 4 4]: #413 -#400 := [unit-resolution #414 #426 #415 #440]: #642 -#631 := (not #642) -#357 := (not #363) -#635 := (or #357 #631 #361) -#632 := [def-axiom]: #635 -#402 := [unit-resolution #632 #400 #417]: #361 -#386 := [trans #402 #401]: #404 -#388 := [trans #386 #451]: #30 -#31 := (not #30) -#107 := [asserted]: #31 -[unit-resolution #107 #388]: false -unsat -013f2c4f5eccbaac1754336d2ce477a569c8d0cd 1 0 -unsat -8954c874576a1a34e48535e83e9151ff299d36aa 95 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f3 :: (-> S3 S2 S1) -decl f10 :: (-> S5 S6 S2) -decl f12 :: (-> S3 S6) -decl f6 :: S3 -#19 := f6 -#43 := (f12 f6) -decl f11 :: S5 -#42 := f11 -#44 := (f10 f11 #43) -decl f8 :: (-> S4 S2 S3) -decl f9 :: S4 -#29 := f9 -#45 := (f8 f9 #44) -#53 := (f3 #45 #44) -#54 := (= #53 f1) -#55 := (not #54) -#140 := [asserted]: #55 -decl f4 :: S3 -#7 := f4 -#46 := (f12 f4) -#47 := (f10 f11 #46) -#50 := (f8 f9 #47) -#51 := (f3 #50 #44) -#52 := (= #51 f1) -#139 := [asserted]: #52 -#48 := (f3 #45 #47) -#49 := (= #48 f1) -#138 := [asserted]: #49 -#8 := (:var 0 S2) -#12 := (:var 1 S2) -#34 := (f8 f9 #12) -#35 := (f3 #34 #8) -#30 := (:var 2 S2) -#31 := (f8 f9 #30) -#32 := (f3 #31 #12) -#635 := (pattern #32 #35) -#37 := (f3 #31 #8) -#38 := (= #37 f1) -#36 := (= #35 f1) -#112 := (not #36) -#33 := (= #32 f1) -#120 := (not #33) -#129 := (or #120 #112 #38) -#636 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S2)) (:pat #635) #129) -#132 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S2)) #129) -#639 := (iff #132 #636) -#637 := (iff #129 #129) -#638 := [refl]: #637 -#640 := [quant-intro #638]: #639 -#146 := (~ #132 #132) -#162 := (~ #129 #129) -#163 := [refl]: #162 -#147 := [nnf-pos #163]: #146 -#39 := (implies #36 #38) -#40 := (implies #33 #39) -#41 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S2)) #40) -#135 := (iff #41 #132) -#114 := (or #112 #38) -#121 := (or #120 #114) -#126 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S2)) #121) -#133 := (iff #126 #132) -#130 := (iff #121 #129) -#131 := [rewrite]: #130 -#134 := [quant-intro #131]: #133 -#127 := (iff #41 #126) -#124 := (iff #40 #121) -#117 := (implies #33 #114) -#122 := (iff #117 #121) -#123 := [rewrite]: #122 -#118 := (iff #40 #117) -#115 := (iff #39 #114) -#116 := [rewrite]: #115 -#119 := [monotonicity #116]: #118 -#125 := [trans #119 #123]: #124 -#128 := [quant-intro #125]: #127 -#136 := [trans #128 #134]: #135 -#111 := [asserted]: #41 -#137 := [mp #111 #136]: #132 -#164 := [mp~ #137 #147]: #132 -#641 := [mp #164 #640]: #636 -#305 := (not #52) -#219 := (not #49) -#307 := (not #636) -#298 := (or #307 #219 #305 #54) -#220 := (or #219 #305 #54) -#309 := (or #307 #220) -#311 := (iff #309 #298) -#308 := [rewrite]: #311 -#310 := [quant-inst #44 #47 #44]: #309 -#312 := [mp #310 #308]: #298 -[unit-resolution #312 #641 #138 #139 #140]: false -unsat -b66bf263776a429b47555990b2282b5f0c94c465 59 0 -#2 := false -decl f1 :: S1 -#3 := f1 -decl f22 :: (-> Int S1) -#70 := 1::Int -#71 := (f22 1::Int) -#72 := (= #71 f1) -#73 := (not #72) -#163 := [asserted]: #73 -#57 := (:var 0 Int) -#58 := (f22 #57) -#695 := (pattern #58) -#59 := (= #58 f1) -#696 := (forall (vars (?v0 Int)) (:pat #695) #59) -#160 := (forall (vars (?v0 Int)) #59) -#699 := (iff #160 #696) -#697 := (iff #59 #59) -#698 := [refl]: #697 -#700 := [quant-intro #698]: #699 -#174 := (~ #160 #160) -#192 := (~ #59 #59) -#193 := [refl]: #192 -#175 := [nnf-pos #193]: #174 -decl f17 :: (-> S10 S1) -decl f23 :: (-> S13 S10 S10) -decl f26 :: S10 -#62 := f26 -decl f24 :: (-> S14 Int S13) -decl f25 :: S14 -#60 := f25 -#61 := (f24 f25 #57) -#63 := (f23 #61 f26) -#64 := (f17 #63) -#65 := (= #64 f1) -#66 := (not #65) -#67 := (or #65 #66) -#68 := (and #59 #67) -#69 := (forall (vars (?v0 Int)) #68) -#161 := (iff #69 #160) -#158 := (iff #68 #59) -#1 := true -#153 := (and #59 true) -#156 := (iff #153 #59) -#157 := [rewrite]: #156 -#154 := (iff #68 #153) -#150 := (iff #67 true) -#152 := [rewrite]: #150 -#155 := [monotonicity #152]: #154 -#159 := [trans #155 #157]: #158 -#162 := [quant-intro #159]: #161 -#149 := [asserted]: #69 -#165 := [mp #149 #162]: #160 -#194 := [mp~ #165 #175]: #160 -#701 := [mp #194 #700]: #696 -#253 := (not #696) -#338 := (or #253 #72) -#339 := [quant-inst #70]: #338 -[unit-resolution #339 #701 #163]: false -unsat d9c8c0d6c38991be073d0ed9988535642e4f47a6 396 0 #2 := false decl f12 :: (-> S9 S10 S4) diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Examples.certs2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/HOL/SMT_Examples/SMT_Examples.certs2 Thu Mar 13 13:18:13 2014 +0100 @@ -0,0 +1,5185 @@ +bbf19253181a221ae876ff5207c4e19acd49bcc5 5 0 +unsat +((set-logic AUFLIA) +(proof +(mp (asserted (not true)) (rewrite (= (not true) false)) false))) + +d87f11f143468ba38d9fc95b46b5b98486b253cf 9 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x14 (monotonicity (rewrite (= (and |$p| true) |$p|)) (= (= (and |$p| true) |$p|) (= |$p| |$p|))))) +(let ((@x18 (trans @x14 (rewrite (= (= |$p| |$p|) true)) (= (= (and |$p| true) |$p|) true)))) +(let ((@x21 (monotonicity @x18 (= (not (= (and |$p| true) |$p|)) (not true))))) +(let ((@x25 (trans @x21 (rewrite (= (not true) false)) (= (not (= (and |$p| true) |$p|)) false)))) +(mp (asserted (not (= (and |$p| true) |$p|))) @x25 false))))))) + +99f2877c9b2926aa4e958996112303a242b952bc 5 0 +unsat +((set-logic AUFLIA) +(proof +(|unit-resolution| (|not-or-elim| (asserted (not (or |$p| (not |$p|)))) (not |$p|)) (|not-or-elim| (asserted (not (or |$p| (not |$p|)))) |$p|) false))) + +0a07d7a11138b117a4d59df4d18dbfe8aa605632 13 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x11 (not (=> (and (or |$p| |$q|) (not |$p|)) |$q|)))) +(let (($x15 (= (=> (and (or |$p| |$q|) (not |$p|)) |$q|) (or (not (and (or |$p| |$q|) (not |$p|))) |$q|)))) +(let ((@x19 (monotonicity (rewrite $x15) (= $x11 (not (or (not (and (or |$p| |$q|) (not |$p|))) |$q|)))))) +(let ((@x20 (mp (asserted $x11) @x19 (not (or (not (and (or |$p| |$q|) (not |$p|))) |$q|))))) +(let ((@x23 (|and-elim| (|not-or-elim| @x20 (and (or |$p| |$q|) (not |$p|))) (not |$p|)))) +(let ((@x32 (monotonicity (|iff-false| @x23 (= |$p| false)) (|iff-false| (|not-or-elim| @x20 (not |$q|)) (= |$q| false)) (= (or |$p| |$q|) (or false false))))) +(let ((@x36 (trans @x32 (rewrite (= (or false false) false)) (= (or |$p| |$q|) false)))) +(let (($x7 (or |$p| |$q|))) +(mp (|and-elim| (|not-or-elim| @x20 (and $x7 (not |$p|))) $x7) @x36 false))))))))))) + +7f27e7dcdafd31a50eb11bdc93e6dd1ff163e460 15 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x14 (or (=> |$p1| (or (and |$p3| |$p2|) (and |$p1| |$p3|))) |$p1|))) +(let (($x15 (=> (or (and |$p1| |$p2|) |$p3|) $x14))) +(let (($x16 (not $x15))) +(let (($x25 (= (or (or (not |$p1|) (and |$p3| |$p2|) (and |$p1| |$p3|)) |$p1|) true))) +(let (($x23 (= $x14 (or (or (not |$p1|) (and |$p3| |$p2|) (and |$p1| |$p3|)) |$p1|)))) +(let (($x20 (= (=> |$p1| (or (and |$p3| |$p2|) (and |$p1| |$p3|))) (or (not |$p1|) (and |$p3| |$p2|) (and |$p1| |$p3|))))) +(let ((@x28 (trans (monotonicity (rewrite $x20) $x23) (rewrite $x25) (= $x14 true)))) +(let ((@x31 (monotonicity @x28 (= $x15 (=> (or (and |$p1| |$p2|) |$p3|) true))))) +(let ((@x35 (trans @x31 (rewrite (= (=> (or (and |$p1| |$p2|) |$p3|) true) true)) (= $x15 true)))) +(let ((@x42 (trans (monotonicity @x35 (= $x16 (not true))) (rewrite (= (not true) false)) (= $x16 false)))) +(mp (asserted $x16) @x42 false))))))))))))) + +98a52c3bde4a8a8511a7d117590a4d90d6c2632f 13 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x10 (and |$c| |$d|))) +(let (($x7 (and |$a| |$b|))) +(let (($x13 (not (=> (or $x7 $x10) (or $x7 $x10))))) +(let (($x17 (= (=> (or $x7 $x10) (or $x7 $x10)) (or (not (or $x7 $x10)) $x7 $x10)))) +(let ((@x21 (monotonicity (rewrite $x17) (= $x13 (not (or (not (or $x7 $x10)) $x7 $x10)))))) +(let ((@x22 (mp (asserted $x13) @x21 (not (or (not (or $x7 $x10)) $x7 $x10))))) +(let ((@x34 (monotonicity (|iff-false| (|not-or-elim| @x22 (not $x7)) (= $x7 false)) (|iff-false| (|not-or-elim| @x22 (not $x10)) (= $x10 false)) (= (or $x7 $x10) (or false false))))) +(let ((@x38 (trans @x34 (rewrite (= (or false false) false)) (= (or $x7 $x10) false)))) +(mp (|not-or-elim| @x22 (or $x7 $x10)) @x38 false))))))))))) + +ef231eb2aad4a0ac2e86eb81929a952ed6ffca74 24 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x6 (= |$p| |$p|))) +(let (($x7 (= $x6 |$p|))) +(let (($x8 (= $x7 |$p|))) +(let (($x9 (= $x8 |$p|))) +(let (($x10 (= $x9 |$p|))) +(let (($x11 (= $x10 |$p|))) +(let (($x12 (= $x11 |$p|))) +(let (($x13 (= $x12 |$p|))) +(let (($x14 (= $x13 |$p|))) +(let (($x15 (not $x14))) +(let ((@x18 (rewrite (= $x6 true)))) +(let ((@x23 (rewrite (= (= true |$p|) |$p|)))) +(let ((@x25 (trans (monotonicity @x18 (= $x7 (= true |$p|))) @x23 (= $x7 |$p|)))) +(let ((@x31 (monotonicity (trans (monotonicity @x25 (= $x8 $x6)) @x18 (= $x8 true)) (= $x9 (= true |$p|))))) +(let ((@x37 (trans (monotonicity (trans @x31 @x23 (= $x9 |$p|)) (= $x10 $x6)) @x18 (= $x10 true)))) +(let ((@x41 (trans (monotonicity @x37 (= $x11 (= true |$p|))) @x23 (= $x11 |$p|)))) +(let ((@x47 (monotonicity (trans (monotonicity @x41 (= $x12 $x6)) @x18 (= $x12 true)) (= $x13 (= true |$p|))))) +(let ((@x53 (trans (monotonicity (trans @x47 @x23 (= $x13 |$p|)) (= $x14 $x6)) @x18 (= $x14 true)))) +(let ((@x60 (trans (monotonicity @x53 (= $x15 (not true))) (rewrite (= (not true) false)) (= $x15 false)))) +(mp (asserted $x15) @x60 false)))))))))))))))))))))) + +e260c13b04d4db6b9e0810f3315867f22ac5ddea 16 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x16 (= (|$symm_f| |$a| |$b|) (|$symm_f| |$b| |$a|)))) +(let (($x30 (not $x16))) +(let ((@x25 (monotonicity (rewrite (= (= |$a| |$a|) true)) (= (and (= |$a| |$a|) $x16) (and true $x16))))) +(let ((@x29 (trans @x25 (rewrite (= (and true $x16) $x16)) (= (and (= |$a| |$a|) $x16) $x16)))) +(let ((@x33 (mp (asserted (not (and (= |$a| |$a|) $x16))) (monotonicity @x29 (= (not (and (= |$a| |$a|) $x16)) $x30)) $x30))) +(let (($x483 (forall ((?v0 |$A|) (?v1 |$A|) )(!(= (|$symm_f| ?v0 ?v1) (|$symm_f| ?v1 ?v0)) :pattern ( (|$symm_f| ?v0 ?v1) ) :pattern ( (|$symm_f| ?v1 ?v0) ))) +)) +(let (($x10 (forall ((?v0 |$A|) (?v1 |$A|) )(= (|$symm_f| ?v0 ?v1) (|$symm_f| ?v1 ?v0))) +)) +(let (($x9 (= (|$symm_f| ?1 ?0) (|$symm_f| ?0 ?1)))) +(let ((@x63 (|mp~| (mp (asserted $x10) (|rewrite*| (= $x10 $x10)) $x10) (|nnf-pos| (refl (|~| $x9 $x9)) (|~| $x10 $x10)) $x10))) +(|unit-resolution| ((_ |quant-inst| |$a| |$b|) (or (not $x483) $x16)) (mp @x63 (|quant-intro| (refl (= $x9 $x9)) (= $x10 $x483)) $x483) (mp @x33 (|rewrite*| (= $x30 $x30)) $x30) false)))))))))))) + +636b47d50f91d856f59f6da5f466deed9a030095 33 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x101 (not |$d|))) +(let (($x39 (not (or |$c| (and (not |$p|) (or |$p| (and |$q| (not |$q|)))))))) +(let ((@x109 (|iff-false| (|not-or-elim| (asserted $x39) (not |$c|)) (= |$c| false)))) +(let ((@x116 (trans (monotonicity @x109 (= (or $x101 |$c|) (or $x101 false))) (rewrite (= (or $x101 false) $x101)) (= (or $x101 |$c|) $x101)))) +(let (($x104 (or $x101 |$c|))) +(let ((@x103 (monotonicity (rewrite (= (or |$d| false) |$d|)) (= (not (or |$d| false)) $x101)))) +(let ((@x107 (mp (asserted (or (not (or |$d| false)) |$c|)) (monotonicity @x103 (= (or (not (or |$d| false)) |$c|) $x104)) $x104))) +(let (($x92 (not |$b|))) +(let ((@x127 (trans (monotonicity @x109 (= (or $x92 |$c|) (or $x92 false))) (rewrite (= (or $x92 false) $x92)) (= (or $x92 |$c|) $x92)))) +(let (($x95 (or $x92 |$c|))) +(let ((@x87 (monotonicity (rewrite (= (or |$x| (not |$x|)) true)) (= (and |$b| (or |$x| (not |$x|))) (and |$b| true))))) +(let ((@x91 (trans @x87 (rewrite (= (and |$b| true) |$b|)) (= (and |$b| (or |$x| (not |$x|))) |$b|)))) +(let ((@x97 (monotonicity (monotonicity @x91 (= (not (and |$b| (or |$x| (not |$x|)))) $x92)) (= (or (not (and |$b| (or |$x| (not |$x|)))) |$c|) $x95)))) +(let ((@x98 (mp (asserted (or (not (and |$b| (or |$x| (not |$x|)))) |$c|)) @x97 $x95))) +(let (($x76 (not |$a|))) +(let ((@x128 (monotonicity (|iff-false| (mp @x98 @x127 $x92) (= |$b| false)) (= (or $x76 |$b|) (or $x76 false))))) +(let ((@x133 (trans @x128 (rewrite (= (or $x76 false) $x76)) (= (or $x76 |$b|) $x76)))) +(let (($x79 (or $x76 |$b|))) +(let ((@x71 (monotonicity (rewrite (= (and |$c| (not |$c|)) false)) (= (or |$a| (and |$c| (not |$c|))) (or |$a| false))))) +(let ((@x75 (trans @x71 (rewrite (= (or |$a| false) |$a|)) (= (or |$a| (and |$c| (not |$c|))) |$a|)))) +(let ((@x81 (monotonicity (monotonicity @x75 (= (not (or |$a| (and |$c| (not |$c|)))) $x76)) (= (or (not (or |$a| (and |$c| (not |$c|)))) |$b|) $x79)))) +(let ((@x82 (mp (asserted (or (not (or |$a| (and |$c| (not |$c|)))) |$b|)) @x81 $x79))) +(let ((@x155 (monotonicity (|iff-false| (mp @x82 @x133 $x76) (= |$a| false)) (|iff-false| (mp @x98 @x127 $x92) (= |$b| false)) @x109 (|iff-false| (mp @x107 @x116 $x101) (= |$d| false)) (= (or |$a| |$b| |$c| |$d|) (or false false false false))))) +(let ((@x159 (trans @x155 (rewrite (= (or false false false false) false)) (= (or |$a| |$b| |$c| |$d|) false)))) +(let (($x57 (or |$a| |$b| |$c| |$d|))) +(let (($x11 (or |$a| (or |$b| (or |$c| |$d|))))) +(let ((@x56 (monotonicity (rewrite (= (or |$b| (or |$c| |$d|)) (or |$b| |$c| |$d|))) (= $x11 (or |$a| (or |$b| |$c| |$d|)))))) +(let ((@x61 (trans @x56 (rewrite (= (or |$a| (or |$b| |$c| |$d|)) $x57)) (= $x11 $x57)))) +(mp (mp (asserted $x11) @x61 $x57) @x159 false))))))))))))))))))))))))))))))) + +6f9ce267835afc5c093320d462369cdaca5709b1 37 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v0!0 () Int) +(declare-fun ?v1!1 () Int) +(proof +(let (($x49 (|$p| ?v0!0))) +(let (($x50 (not $x49))) +(let (($x63 (not (or $x49 (|$p| ?v1!1))))) +(let ((@x79 (monotonicity (rewrite (= (not $x50) $x49)) (= (and (not $x50) $x63) (and $x49 $x63))))) +(let (($x57 (not $x50))) +(let (($x67 (and $x57 $x63))) +(let (($x19 (forall ((?v0 Int) )(let (($x10 (forall ((?v1 Int) )(let (($x6 (|$p| ?v1))) +(or (|$p| ?v0) $x6))) +)) +(or (not (|$p| ?v0)) $x10))) +)) +(let (($x22 (not $x19))) +(let (($x52 (forall ((?v1 Int) )(let (($x6 (|$p| ?v1))) +(let (($x49 (|$p| ?v0!0))) +(or $x49 $x6)))) +)) +(let ((@x69 (|nnf-neg| (refl (|~| $x57 $x57)) (sk (|~| (not $x52) $x63)) (|~| (not (or $x50 $x52)) $x67)))) +(let (($x12 (forall ((?v0 Int) )(let (($x10 (forall ((?v1 Int) )(let (($x6 (|$p| ?v1))) +(or (|$p| ?v0) $x6))) +)) +(let (($x6 (|$p| ?v0))) +(=> $x6 $x10)))) +)) +(let (($x13 (not $x12))) +(let (($x10 (forall ((?v1 Int) )(let (($x6 (|$p| ?v1))) +(or (|$p| ?0) $x6))) +)) +(let ((@x21 (|quant-intro| (rewrite (= (=> (|$p| ?0) $x10) (or (not (|$p| ?0)) $x10))) (= $x12 $x19)))) +(let ((@x28 (mp (mp (asserted $x13) (monotonicity @x21 (= $x13 $x22)) $x22) (|rewrite*| (= $x22 $x22)) $x22))) +(let ((@x72 (|mp~| @x28 (trans (sk (|~| $x22 (not (or $x50 $x52)))) @x69 (|~| $x22 $x67)) $x67))) +(|unit-resolution| (|and-elim| (mp @x72 @x79 (and $x49 $x63)) $x49) (|not-or-elim| (|and-elim| (mp @x72 @x79 (and $x49 $x63)) $x63) $x50) false))))))))))))))))))) + +e69ad24173d1bbc9cac87666801f4dbcf20e7cdf 22 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x6 (|$p| |$x|))) +(let ((@x26 (monotonicity (rewrite (= (=> $x6 (|$p| |$y|)) (or (not $x6) (|$p| |$y|)))) (= (not (=> $x6 (|$p| |$y|))) (not (or (not $x6) (|$p| |$y|))))))) +(let ((@x27 (mp (asserted (not (=> $x6 (|$p| |$y|)))) @x26 (not (or (not $x6) (|$p| |$y|)))))) +(let (($x492 (forall ((?v0 |$A|) )(!(let (($x8 (|$p| ?v0))) +(not $x8)) :pattern ( (|$p| ?v0) ))) +)) +(let (($x12 (forall ((?v0 |$A|) )(let (($x8 (|$p| ?v0))) +(not $x8))) +)) +(let ((@x496 (|quant-intro| (refl (= (not (|$p| ?0)) (not (|$p| ?0)))) (= $x12 $x492)))) +(let (($x9 (exists ((?v0 |$A|) )(|$p| ?v0)) +)) +(let (($x10 (not $x9))) +(let ((@x35 (monotonicity (|iff-true| (|not-or-elim| @x27 $x6) (= $x6 true)) (= (ite $x6 $x10 $x12) (ite true $x10 $x12))))) +(let ((@x39 (trans @x35 (rewrite (= (ite true $x10 $x12) $x10)) (= (ite $x6 $x10 $x12) $x10)))) +(let ((@x43 (mp (mp (asserted (ite $x6 $x10 $x12)) @x39 $x10) (|rewrite*| (= $x10 $x10)) $x10))) +(let ((@x72 (|mp~| @x43 (|nnf-neg| (refl (|~| (not (|$p| ?0)) (not (|$p| ?0)))) (|~| $x10 $x12)) $x12))) +(|unit-resolution| ((_ |quant-inst| |$x|) (or (not $x492) (not $x6))) (mp @x72 @x496 $x492) (mp (|not-or-elim| @x27 $x6) (|rewrite*| (= $x6 $x6)) $x6) false))))))))))))))) + +a89c726795a8d0e170934e5d099744330d95400b 7 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x14 (monotonicity (rewrite (= (= 3 3) true)) (= (not (= 3 3)) (not true))))) +(let ((@x18 (trans @x14 (rewrite (= (not true) false)) (= (not (= 3 3)) false)))) +(mp (asserted (not (= 3 3))) @x18 false))))) + +f7b25fbc92a3db52d764adfa193cc9c7d084b0d6 7 0 +unsat +((set-logic AUFLIRA) +(proof +(let ((@x14 (monotonicity (rewrite (= (= 3.0 3.0) true)) (= (not (= 3.0 3.0)) (not true))))) +(let ((@x18 (trans @x14 (rewrite (= (not true) false)) (= (not (= 3.0 3.0)) false)))) +(mp (asserted (not (= 3.0 3.0))) @x18 false))))) + +54ea7c923e2f51278ebed4a257f587326e98cb4d 9 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x15 (monotonicity (rewrite (= (+ 3 1) 4)) (= (= (+ 3 1) 4) (= 4 4))))) +(let ((@x20 (trans @x15 (rewrite (= (= 4 4) true)) (= (= (+ 3 1) 4) true)))) +(let ((@x23 (monotonicity @x20 (= (not (= (+ 3 1) 4)) (not true))))) +(let ((@x27 (trans @x23 (rewrite (= (not true) false)) (= (not (= (+ 3 1) 4)) false)))) +(mp (asserted (not (= (+ 3 1) 4))) @x27 false))))))) + +bde9a5a7e78533da0a75d611922e444d2935b662 10 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x12 (= (+ |$x| (+ |$y| |$z|)) (+ |$y| (+ |$z| |$x|))))) +(let (($x13 (not $x12))) +(let ((@x23 (monotonicity (rewrite (= (+ |$x| (+ |$y| |$z|)) (+ |$x| |$y| |$z|))) (rewrite (= (+ |$y| (+ |$z| |$x|)) (+ |$y| |$z| |$x|))) (= $x12 (= (+ |$x| |$y| |$z|) (+ |$y| |$z| |$x|)))))) +(let ((@x28 (trans @x23 (rewrite (= (= (+ |$x| |$y| |$z|) (+ |$y| |$z| |$x|)) true)) (= $x12 true)))) +(let ((@x35 (trans (monotonicity @x28 (= $x13 (not true))) (rewrite (= (not true) false)) (= $x13 false)))) +(mp (asserted $x13) @x35 false)))))))) + +36faa6237c000d60624d7bc78360f9dad21b1321 15 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x36 (monotonicity (rewrite (= (<= 8 5) false)) (= (not (<= 8 5)) (not false))))) +(let ((@x40 (trans @x36 (rewrite (= (not false) true)) (= (not (<= 8 5)) true)))) +(let (($x27 (not (<= 8 5)))) +(let ((?x9 (ite (<= 3 8) 8 3))) +(let (($x10 (< 5 ?x9))) +(let ((@x18 (monotonicity (rewrite (= (<= 3 8) true)) (= ?x9 (ite true 8 3))))) +(let ((@x22 (trans @x18 (rewrite (= (ite true 8 3) 8)) (= ?x9 8)))) +(let ((@x31 (trans (monotonicity @x22 (= $x10 (< 5 8))) (rewrite (= (< 5 8) $x27)) (= $x10 $x27)))) +(let ((@x45 (monotonicity (trans @x31 @x40 (= $x10 true)) (= (not $x10) (not true))))) +(let ((@x49 (trans @x45 (rewrite (= (not true) false)) (= (not $x10) false)))) +(mp (asserted (not $x10)) @x49 false))))))))))))) + +9ae86bca3e53d9143c71216845bc6c4cb7c0764c 85 0 +unsat +((set-logic AUFLIRA) +(proof +(let (($x194 (<= (+ |$x| (* (~ 1.0) (ite (>= |$x| 0.0) |$x| (* (~ 1.0) |$x|)))) 0.0))) +(let ((?x35 (* (~ 1.0) |$x|))) +(let (($x140 (>= |$x| 0.0))) +(let ((?x143 (ite $x140 |$x| ?x35))) +(let (($x176 (= |$x| ?x143))) +(let ((?x36 (* (~ 1.0) |$y|))) +(let ((?x37 (+ ?x35 ?x36))) +(let ((?x7 (+ |$x| |$y|))) +(let (($x134 (>= ?x7 0.0))) +(let ((?x137 (ite $x134 ?x7 ?x37))) +(let (($x226 (>= (+ ?x37 (* (~ 1.0) ?x137)) 0.0))) +(let (($x172 (= ?x37 ?x137))) +(let (($x133 (not $x134))) +(let (($x146 (>= |$y| 0.0))) +(let (($x185 (not $x146))) +(let (($x199 (>= (+ ?x7 (* (~ 1.0) ?x137)) 0.0))) +(let (($x171 (= ?x7 ?x137))) +(let (($x235 (not $x226))) +(let ((@x206 (hypothesis $x146))) +(let (($x161 (<= (+ ?x137 (* (~ 1.0) ?x143) (* (~ 1.0) (ite $x146 |$y| ?x36))) 0.0))) +(let (($x69 (<= 0.0 |$y|))) +(let ((?x83 (ite $x69 |$y| ?x36))) +(let (($x50 (<= 0.0 |$x|))) +(let ((?x64 (ite $x50 |$x| ?x35))) +(let ((?x88 (+ ?x64 ?x83))) +(let (($x22 (<= 0.0 ?x7))) +(let ((?x45 (ite $x22 ?x7 ?x37))) +(let (($x91 (<= ?x45 ?x88))) +(let (($x94 (not $x91))) +(let ((@x154 (monotonicity (monotonicity (rewrite (= $x50 $x140)) (= ?x64 ?x143)) (monotonicity (rewrite (= $x69 $x146)) (= ?x83 (ite $x146 |$y| ?x36))) (= ?x88 (+ ?x143 (ite $x146 |$y| ?x36)))))) +(let ((@x157 (monotonicity (monotonicity (rewrite (= $x22 $x134)) (= ?x45 ?x137)) @x154 (= $x91 (<= ?x137 (+ ?x143 (ite $x146 |$y| ?x36))))))) +(let ((@x165 (trans @x157 (rewrite (= (<= ?x137 (+ ?x143 (ite $x146 |$y| ?x36))) $x161)) (= $x91 $x161)))) +(let ((@x108 (monotonicity (monotonicity (rewrite (= $x50 $x50)) (= ?x64 ?x64)) (monotonicity (rewrite (= $x69 $x69)) (= ?x83 ?x83)) (= ?x88 ?x88)))) +(let ((@x110 (monotonicity (monotonicity (rewrite (= $x22 $x22)) (= ?x45 ?x45)) @x108 (= $x91 $x91)))) +(let ((?x17 (ite (< |$y| 0.0) (- |$y|) |$y|))) +(let ((?x14 (ite (< |$x| 0.0) (- |$x|) |$x|))) +(let ((?x10 (- ?x7))) +(let ((?x11 (ite (< ?x7 0.0) ?x10 ?x7))) +(let (($x20 (not (<= ?x11 (+ ?x14 ?x17))))) +(let ((@x77 (trans (rewrite (= (< |$y| 0.0) (not $x69))) (monotonicity (rewrite (= $x69 $x69)) (= (not $x69) (not $x69))) (= (< |$y| 0.0) (not $x69))))) +(let ((@x82 (monotonicity @x77 (rewrite (= (- |$y|) ?x36)) (= ?x17 (ite (not $x69) ?x36 |$y|))))) +(let ((@x87 (trans @x82 (rewrite (= (ite (not $x69) ?x36 |$y|) ?x83)) (= ?x17 ?x83)))) +(let ((@x58 (trans (rewrite (= (< |$x| 0.0) (not $x50))) (monotonicity (rewrite (= $x50 $x50)) (= (not $x50) (not $x50))) (= (< |$x| 0.0) (not $x50))))) +(let ((@x63 (monotonicity @x58 (rewrite (= (- |$x|) ?x35)) (= ?x14 (ite (not $x50) ?x35 |$x|))))) +(let ((@x68 (trans @x63 (rewrite (= (ite (not $x50) ?x35 |$x|) ?x64)) (= ?x14 ?x64)))) +(let ((@x41 (trans (rewrite (= ?x10 (* (~ 1.0) ?x7))) (rewrite (= (* (~ 1.0) ?x7) ?x37)) (= ?x10 ?x37)))) +(let ((@x30 (trans (rewrite (= (< ?x7 0.0) (not $x22))) (monotonicity (rewrite (= $x22 $x22)) (= (not $x22) (not $x22))) (= (< ?x7 0.0) (not $x22))))) +(let ((@x49 (trans (monotonicity @x30 @x41 (= ?x11 (ite (not $x22) ?x37 ?x7))) (rewrite (= (ite (not $x22) ?x37 ?x7) ?x45)) (= ?x11 ?x45)))) +(let ((@x93 (monotonicity @x49 (monotonicity @x68 @x87 (= (+ ?x14 ?x17) ?x88)) (= (<= ?x11 (+ ?x14 ?x17)) $x91)))) +(let ((@x100 (mp (mp (asserted $x20) (monotonicity @x93 (= $x20 $x94)) $x94) (|rewrite*| (= $x94 $x94)) $x94))) +(let ((@x113 (mp (mp @x100 (monotonicity @x110 (= $x94 $x94)) $x94) (monotonicity @x110 (= $x94 $x94)) $x94))) +(let ((@x169 (mp @x113 (monotonicity @x165 (= $x94 (not $x161))) (not $x161)))) +(let ((?x149 (ite $x146 |$y| ?x36))) +(let (($x183 (= |$y| ?x149))) +(let ((@x219 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x183) (<= (+ |$y| (* (~ 1.0) ?x149)) 0.0))) (|unit-resolution| (|def-axiom| (or $x185 $x183)) @x206 $x183) (<= (+ |$y| (* (~ 1.0) ?x149)) 0.0)))) +(let (($x198 (<= (+ ?x35 (* (~ 1.0) ?x143)) 0.0))) +(let (($x177 (= ?x35 ?x143))) +(let (($x178 (not $x140))) +(let ((@x204 ((_ |th-lemma| arith triangle-eq) (or (not $x176) $x194)))) +(let ((@x205 (|unit-resolution| @x204 (|unit-resolution| (|def-axiom| (or $x178 $x176)) (hypothesis $x140) $x176) $x194))) +(let ((@x209 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -1) (or $x134 $x178 $x185)) (hypothesis $x140) @x206 $x134))) +(let ((@x173 (|def-axiom| (or $x133 $x171)))) +(let ((@x213 ((_ |th-lemma| arith triangle-eq) (or (not $x171) $x199)))) +(let ((@x220 ((_ |th-lemma| arith farkas 1 -1 -1 1) @x219 (|unit-resolution| @x213 (|unit-resolution| @x173 @x209 $x171) $x199) @x169 @x205 false))) +(let ((@x229 (|unit-resolution| (|def-axiom| (or $x140 $x177)) (|unit-resolution| (lemma @x220 (or $x178 $x185)) @x206 $x178) $x177))) +(let ((@x234 ((_ |th-lemma| arith farkas 2 -1 -1 1 1) @x206 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x177) $x198)) @x229 $x198) @x219 @x169 (hypothesis $x226) false))) +(let ((@x243 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x172) $x226)) (hypothesis $x172) (hypothesis $x235) false))) +(let ((@x246 (|unit-resolution| (lemma @x243 (or (not $x172) $x226)) (|unit-resolution| (lemma @x234 (or $x235 $x185)) @x206 $x235) (not $x172)))) +(let ((@x248 (|unit-resolution| @x173 (|unit-resolution| (|def-axiom| (or $x134 $x172)) @x246 $x134) $x171))) +(let ((@x250 ((_ |th-lemma| arith farkas 2 1 1 1 1) (|unit-resolution| (lemma @x220 (or $x178 $x185)) @x206 $x178) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x177) $x198)) @x229 $x198) @x219 @x169 (|unit-resolution| @x213 @x248 $x199) false))) +(let ((@x251 (lemma @x250 $x185))) +(let ((@x257 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x140 $x146 $x133)) (hypothesis $x134) @x251 $x140))) +(let ((@x180 (|def-axiom| (or $x178 $x176)))) +(let ((@x261 (|unit-resolution| @x213 (|unit-resolution| @x173 (hypothesis $x134) $x171) $x199))) +(let (($x184 (= ?x36 ?x149))) +(let ((@x266 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x184) (<= (+ ?x36 (* (~ 1.0) ?x149)) 0.0))) (|unit-resolution| (|def-axiom| (or $x146 $x184)) @x251 $x184) (<= (+ ?x36 (* (~ 1.0) ?x149)) 0.0)))) +(let ((@x267 ((_ |th-lemma| arith farkas 2 1 1 1 1) @x251 @x266 @x169 @x261 (|unit-resolution| @x204 (|unit-resolution| @x180 @x257 $x176) $x194) false))) +(let ((@x271 (|unit-resolution| (lemma @x243 (or (not $x172) $x226)) (|unit-resolution| (|def-axiom| (or $x134 $x172)) (lemma @x267 $x133) $x172) $x226))) +(let ((@x276 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x177) $x198)) (hypothesis $x177) (lemma ((_ |th-lemma| arith farkas 1 -1 -1 1) @x266 @x169 @x271 (hypothesis $x198) false) (not $x198)) false))) +(let ((@x278 (|unit-resolution| (|def-axiom| (or $x140 $x177)) (lemma @x276 (not $x177)) $x140))) +((_ |th-lemma| arith farkas -2 1 -1 -1 1) @x278 @x266 @x169 @x271 (|unit-resolution| @x204 (|unit-resolution| @x180 @x278 $x176) $x194) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +bda8d33802015dc305234fb79b2dc2d3b5b989a3 15 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x10 (|$p| true))) +(let (($x11 (= (|$p| (ite (< 2 3) true false)) ?x10))) +(let (($x12 (not $x11))) +(let ((@x23 (monotonicity (rewrite (= (<= 3 2) false)) (= (not (<= 3 2)) (not false))))) +(let ((@x27 (trans @x23 (rewrite (= (not false) true)) (= (not (<= 3 2)) true)))) +(let ((@x29 (trans (rewrite (= (< 2 3) (not (<= 3 2)))) @x27 (= (< 2 3) true)))) +(let ((@x32 (monotonicity @x29 (= (ite (< 2 3) true false) (ite true true false))))) +(let ((@x36 (trans @x32 (rewrite (= (ite true true false) true)) (= (ite (< 2 3) true false) true)))) +(let ((@x44 (trans (monotonicity (monotonicity @x36 $x11) (= $x11 (= ?x10 ?x10))) (rewrite (= (= ?x10 ?x10) true)) (= $x11 true)))) +(let ((@x51 (trans (monotonicity @x44 (= $x12 (not true))) (rewrite (= (not true) false)) (= $x12 false)))) +(mp (asserted $x12) @x51 false))))))))))))) + +0db14feea22451768e922b971092e245316a2ab9 16 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x25 (<= 1 |$x|))) +(let ((@x40 (trans (rewrite (= (< |$x| 1) (not $x25))) (monotonicity (rewrite (= $x25 $x25)) (= (not $x25) (not $x25))) (= (< |$x| 1) (not $x25))))) +(let ((@x47 (trans (monotonicity @x40 (= (not (< |$x| 1)) (not (not $x25)))) (rewrite (= (not (not $x25)) $x25)) (= (not (< |$x| 1)) $x25)))) +(let (($x11 (< |$x| 1))) +(let (($x17 (not $x11))) +(let ((@x18 (|not-or-elim| (asserted (not (or (<= 4 (+ |$x| 3)) $x11))) $x17))) +(let (($x30 (not $x25))) +(let ((@x24 (monotonicity (rewrite (= (+ |$x| 3) (+ 3 |$x|))) (= (<= 4 (+ |$x| 3)) (<= 4 (+ 3 |$x|)))))) +(let ((@x29 (trans @x24 (rewrite (= (<= 4 (+ 3 |$x|)) $x25)) (= (<= 4 (+ |$x| 3)) $x25)))) +(let ((@x16 (|not-or-elim| (asserted (not (or (<= 4 (+ |$x| 3)) $x11))) (not (<= 4 (+ |$x| 3)))))) +(let ((@x33 (mp @x16 (monotonicity @x29 (= (not (<= 4 (+ |$x| 3))) $x30)) $x30))) +(|unit-resolution| @x33 (mp @x18 @x47 $x25) false)))))))))))))) + +645567e3e3327ecb3e66c4f305da47d4a968203d 23 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x93 (rewrite (= (= |$y| (+ 4 |$x|)) (= (+ |$x| (* (~ 1) |$y|)) (~ 4)))))) +(let (($x25 (= |$y| (+ 4 |$x|)))) +(let ((@x29 (rewrite (= $x25 $x25)))) +(let ((@x27 (monotonicity (rewrite (= (+ |$x| 4) (+ 4 |$x|))) (= (= |$y| (+ |$x| 4)) $x25)))) +(let ((@x31 (mp (asserted (= |$y| (+ |$x| 4))) (trans @x27 @x29 (= (= |$y| (+ |$x| 4)) $x25)) $x25))) +(let ((@x64 (mp (mp (mp @x31 (|rewrite*| (= $x25 $x25)) $x25) @x29 $x25) @x29 $x25))) +(let ((@x108 (monotonicity (mp @x64 @x93 (= (+ |$x| (* (~ 1) |$y|)) (~ 4))) (= (>= (+ |$x| (* (~ 1) |$y|)) 0) (>= (~ 4) 0))))) +(let ((@x112 (trans @x108 (rewrite (= (>= (~ 4) 0) false)) (= (>= (+ |$x| (* (~ 1) |$y|)) 0) false)))) +(let (($x100 (>= (+ |$x| (* (~ 1) |$y|)) 0))) +(let ((?x34 (+ |$y| (* (~ 1) |$x|)))) +(let (($x40 (<= ?x34 0))) +(let ((@x99 (monotonicity (rewrite (= ?x34 (+ (* (~ 1) |$x|) |$y|))) (= $x40 (<= (+ (* (~ 1) |$x|) |$y|) 0))))) +(let ((@x104 (trans @x99 (rewrite (= (<= (+ (* (~ 1) |$x|) |$y|) 0) $x100)) (= $x40 $x100)))) +(let ((@x39 (monotonicity (rewrite (= (- |$y| |$x|) ?x34)) (= (< 0 (- |$y| |$x|)) (< 0 ?x34))))) +(let ((@x45 (trans @x39 (rewrite (= (< 0 ?x34) (not $x40))) (= (< 0 (- |$y| |$x|)) (not $x40))))) +(let ((@x48 (monotonicity @x45 (= (not (< 0 (- |$y| |$x|))) (not (not $x40)))))) +(let ((@x52 (trans @x48 (rewrite (= (not (not $x40)) $x40)) (= (not (< 0 (- |$y| |$x|))) $x40)))) +(let ((@x60 (mp (mp (asserted (not (< 0 (- |$y| |$x|)))) @x52 $x40) (|rewrite*| (= $x40 $x40)) $x40))) +(mp (mp @x60 @x104 $x100) @x112 false))))))))))))))))))))) + +aa7e091783f91e1fa3f52d47f54666f367d1bb36 11 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x17 (monotonicity (rewrite (= (+ 2 2) 4)) (= (= (+ 2 2) 5) (= 4 5))))) +(let ((@x23 (trans @x17 (rewrite (= (= 4 5) false)) (= (= (+ 2 2) 5) false)))) +(let ((@x26 (monotonicity @x23 (= (not (= (+ 2 2) 5)) (not false))))) +(let ((@x30 (trans @x26 (rewrite (= (not false) true)) (= (not (= (+ 2 2) 5)) true)))) +(let ((@x33 (monotonicity @x30 (= (not (not (= (+ 2 2) 5))) (not true))))) +(let ((@x37 (trans @x33 (rewrite (= (not true) false)) (= (not (not (= (+ 2 2) 5))) false)))) +(mp (asserted (not (not (= (+ 2 2) 5)))) @x37 false))))))))) + +cd3f9abd9d67c54340b9a735f57e57dd8885d5a5 22 0 +unsat +((set-logic AUFLIRA) +(proof +(let ((?x11 (+ (* 3.0 |$x|) (* 7.0 |$a|)))) +(let (($x23 (<= 4.0 ?x11))) +(let (($x24 (not $x23))) +(let ((@x100 (monotonicity (rewrite (= $x23 (>= ?x11 4.0))) (= $x24 (not (>= ?x11 4.0)))))) +(let ((@x30 (monotonicity (rewrite (= $x23 $x23)) (= $x24 $x24)))) +(let ((@x31 (trans (rewrite (= (< ?x11 4.0) $x24)) @x30 (= (< ?x11 4.0) $x24)))) +(let ((@x65 (mp (mp (asserted (< ?x11 4.0)) @x31 $x24) (|rewrite*| (= $x24 $x24)) $x24))) +(let (($x47 (<= 0.0 |$a|))) +(let ((@x52 (rewrite (= $x47 $x47)))) +(let ((@x55 (trans (rewrite (= (< |$a| 0.0) (not $x47))) (monotonicity @x52 (= (not $x47) (not $x47))) (= (< |$a| 0.0) (not $x47))))) +(let ((@x62 (trans (monotonicity @x55 (= (not (< |$a| 0.0)) (not (not $x47)))) (rewrite (= (not (not $x47)) $x47)) (= (not (< |$a| 0.0)) $x47)))) +(let ((@x70 (mp (mp (asserted (not (< |$a| 0.0))) @x62 $x47) (|rewrite*| (= $x47 $x47)) $x47))) +(let ((@x105 (mp (mp (mp @x70 @x52 $x47) @x52 $x47) (rewrite (= $x47 (>= |$a| 0.0))) (>= |$a| 0.0)))) +(let (($x41 (not (<= |$x| (/ 3.0 2.0))))) +(let ((@x43 (monotonicity (rewrite (= (<= (* 2.0 |$x|) 3.0) (<= |$x| (/ 3.0 2.0)))) (= (not (<= (* 2.0 |$x|) 3.0)) $x41)))) +(let ((@x36 (rewrite (= (< 3.0 (* 2.0 |$x|)) (not (<= (* 2.0 |$x|) 3.0)))))) +(let ((@x46 (mp (asserted (< 3.0 (* 2.0 |$x|))) (trans @x36 @x43 (= (< 3.0 (* 2.0 |$x|)) $x41)) $x41))) +((_ |th-lemma| arith farkas 3 7 1) (mp @x46 (|rewrite*| (= $x41 $x41)) $x41) @x105 (mp (mp (mp @x65 @x30 $x24) @x30 $x24) @x100 (not (>= ?x11 4.0))) false)))))))))))))))))))) + +518f03305155ba7b2a332e2bcee979ecb50e0a2b 22 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x13 (<= 0 |$x|))) +(let (($x14 (not $x13))) +(let (($x15 (or $x14 $x13))) +(let (($x16 (or (<= 0 (+ |$y| (* (- 1) |$x|))) $x15))) +(let (($x18 (= $x16 (not false)))) +(let (($x19 (not $x18))) +(let ((@x49 (rewrite (= (or (<= 0 (+ |$y| (* (~ 1) |$x|))) true) true)))) +(let ((@x41 (monotonicity (monotonicity (rewrite (= $x13 $x13)) (= $x14 $x14)) (rewrite (= $x13 $x13)) (= $x15 $x15)))) +(let (($x30 (<= 0 (+ |$y| (* (~ 1) |$x|))))) +(let ((@x26 (monotonicity (rewrite (= (- 1) (~ 1))) (= (* (- 1) |$x|) (* (~ 1) |$x|))))) +(let ((@x29 (monotonicity @x26 (= (+ |$y| (* (- 1) |$x|)) (+ |$y| (* (~ 1) |$x|)))))) +(let ((@x32 (monotonicity @x29 (= (<= 0 (+ |$y| (* (- 1) |$x|))) $x30)))) +(let ((@x35 (trans @x32 (rewrite (= $x30 $x30)) (= (<= 0 (+ |$y| (* (- 1) |$x|))) $x30)))) +(let ((@x47 (monotonicity @x35 (trans @x41 (rewrite (= $x15 true)) (= $x15 true)) (= $x16 (or $x30 true))))) +(let ((@x56 (monotonicity (trans @x47 @x49 (= $x16 true)) (rewrite (= (not false) true)) (= $x18 (= true true))))) +(let ((@x60 (trans @x56 (rewrite (= (= true true) true)) (= $x18 true)))) +(let ((@x67 (trans (monotonicity @x60 (= $x19 (not true))) (rewrite (= (not true) false)) (= $x19 false)))) +(mp (asserted $x19) @x67 false)))))))))))))))))))) + +f6879622ab4f51a0b9503b8bdd07ca3fe36c89e3 223 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x22 (= |$m| |$n|))) +(let ((@x700 (symm (commutativity (= $x22 (= |$n| |$m|))) (= (= |$n| |$m|) $x22)))) +(let (($x18 (= |$n| |$m|))) +(let (($x312 (>= (+ |$n| (* (~ 1) |$m|)) 0))) +(let (($x348 (<= (+ |$m| (* (~ 1) |$na|)) 0))) +(let (($x342 (>= (+ |$n| (* (~ 1) |$na|)) 0))) +(let (($x471 (or $x342 $x348))) +(let ((@x467 (monotonicity (rewrite (= (and (not $x342) (not $x348)) (not $x471))) (= (not (and (not $x342) (not $x348))) (not (not $x471)))))) +(let ((@x491 (trans @x467 (rewrite (= (not (not $x471)) $x471)) (= (not (and (not $x342) (not $x348))) $x471)))) +(let (($x351 (not $x348))) +(let (($x345 (not $x342))) +(let (($x354 (and $x345 $x351))) +(let (($x357 (not $x354))) +(let ((@x353 (monotonicity (rewrite (= (<= |$m| |$na|) $x348)) (= (not (<= |$m| |$na|)) $x351)))) +(let ((@x347 (monotonicity (rewrite (= (<= |$na| |$n|) $x342)) (= (not (<= |$na| |$n|)) $x345)))) +(let ((@x356 (monotonicity @x347 @x353 (= (and (not (<= |$na| |$n|)) (not (<= |$m| |$na|))) $x354)))) +(let ((@x359 (monotonicity @x356 (= (not (and (not (<= |$na| |$n|)) (not (<= |$m| |$na|)))) $x357)))) +(let (($x140 (not (<= |$m| |$na|)))) +(let (($x136 (not (<= |$na| |$n|)))) +(let (($x143 (and $x136 $x140))) +(let (($x146 (not $x143))) +(let ((@x142 (rewrite (= (< |$na| |$m|) $x140)))) +(let ((@x145 (monotonicity (rewrite (= (< |$n| |$na|) $x136)) @x142 (= (and (< |$n| |$na|) (< |$na| |$m|)) $x143)))) +(let ((@x148 (monotonicity @x145 (= (not (and (< |$n| |$na|) (< |$na| |$m|))) $x146)))) +(let (($x37 (or (and $x22 (< |$n| |$na|)) (or (and (= |$m| |$na|) (< |$na| |$n|)) (and (= |$na| |$m|) $x22))))) +(let (($x24 (< |$na| |$n|))) +(let (($x9 (< |$m| |$na|))) +(let (($x32 (and $x9 $x24))) +(let (($x26 (= |$na| |$n|))) +(let (($x20 (< |$m| |$n|))) +(let (($x31 (and $x20 $x26))) +(let (($x13 (< |$n| |$na|))) +(let (($x30 (and $x20 $x13))) +(let (($x42 (or (and $x26 (< |$n| |$m|)) (or (and (= |$na| |$m|) $x20) (or $x30 (or $x31 (or $x32 $x37))))))) +(let (($x7 (< |$n| |$m|))) +(let (($x25 (and $x24 $x7))) +(let (($x14 (< |$na| |$m|))) +(let (($x23 (and $x14 $x22))) +(let (($x21 (and $x14 $x20))) +(let (($x19 (and $x18 $x9))) +(let (($x16 (= |$n| |$na|))) +(let (($x17 (and $x16 $x14))) +(let (($x15 (and $x13 $x14))) +(let (($x59 (not (or $x15 (or $x17 (or $x19 (or $x21 (or $x23 (or $x25 $x42))))))))) +(let (($x11 (= |$m| |$na|))) +(let (($x12 (and $x7 $x11))) +(let (($x49 (or $x12 (or $x15 (or $x17 (or $x19 (or $x21 (or $x23 (or $x25 $x42))))))))) +(let ((@x60 (|not-or-elim| (|not-or-elim| (asserted (not (or (and $x7 $x9) $x49))) (not $x49)) $x59))) +(let ((@x250 (mp (mp (|not-or-elim| @x60 (not $x15)) @x148 $x146) (|rewrite*| (= $x146 $x146)) $x146))) +(let ((@x674 (|unit-resolution| (mp (mp @x250 @x359 $x357) @x491 $x471) (hypothesis $x351) $x342))) +(let (($x493 (not $x16))) +(let (($x494 (or $x493 $x348))) +(let ((@x500 (monotonicity (rewrite (= (and $x16 $x351) (not $x494))) (= (not (and $x16 $x351)) (not (not $x494)))))) +(let ((@x504 (trans @x500 (rewrite (= (not (not $x494)) $x494)) (= (not (and $x16 $x351)) $x494)))) +(let (($x361 (and $x16 $x351))) +(let (($x364 (not $x361))) +(let ((@x366 (monotonicity (monotonicity @x353 (= (and $x16 $x140) $x361)) (= (not (and $x16 $x140)) $x364)))) +(let (($x150 (and $x16 $x140))) +(let (($x153 (not $x150))) +(let ((@x155 (monotonicity (monotonicity @x142 (= $x17 $x150)) (= (not $x17) $x153)))) +(let ((@x64 (|not-or-elim| @x60 (not (or $x17 (or $x19 (or $x21 (or $x23 (or $x25 $x42))))))))) +(let ((@x253 (mp (mp (|not-or-elim| @x64 (not $x17)) @x155 $x153) (|rewrite*| (= $x153 $x153)) $x153))) +(let ((@x675 (|unit-resolution| (mp (mp @x253 @x366 $x364) @x504 $x494) (hypothesis $x351) $x493))) +(let (($x395 (<= (+ |$n| (* (~ 1) |$na|)) 0))) +(let (($x506 (not $x18))) +(let (($x531 (not $x22))) +(let (($x319 (>= (+ |$m| (* (~ 1) |$na|)) 0))) +(let (($x398 (not $x395))) +(let ((@x654 (hypothesis $x398))) +(let (($x606 (or $x319 $x395))) +(let ((@x612 (monotonicity (rewrite (= (and (not $x319) $x398) (not $x606))) (= (not (and (not $x319) $x398)) (not (not $x606)))))) +(let ((@x616 (trans @x612 (rewrite (= (not (not $x606)) $x606)) (= (not (and (not $x319) $x398)) $x606)))) +(let (($x324 (not $x319))) +(let (($x436 (and $x324 $x398))) +(let (($x439 (not $x436))) +(let ((@x400 (monotonicity (rewrite (= (<= |$n| |$na|) $x395)) (= (not (<= |$n| |$na|)) $x398)))) +(let ((@x326 (monotonicity (rewrite (= (<= |$na| |$m|) $x319)) (= (not (<= |$na| |$m|)) $x324)))) +(let ((@x438 (monotonicity @x326 @x400 (= (and (not (<= |$na| |$m|)) (not (<= |$n| |$na|))) $x436)))) +(let ((@x441 (monotonicity @x438 (= (not (and (not (<= |$na| |$m|)) (not (<= |$n| |$na|)))) $x439)))) +(let (($x183 (not (<= |$n| |$na|)))) +(let (($x118 (not (<= |$na| |$m|)))) +(let (($x221 (and $x118 $x183))) +(let (($x224 (not $x221))) +(let ((@x185 (rewrite (= $x24 $x183)))) +(let ((@x120 (rewrite (= $x9 $x118)))) +(let ((@x226 (monotonicity (monotonicity @x120 @x185 (= $x32 $x221)) (= (not $x32) $x224)))) +(let (($x87 (not (or (and (= |$na| |$m|) $x20) (or $x30 (or $x31 (or $x32 $x37))))))) +(let ((@x68 (|not-or-elim| @x64 (not (or $x19 (or $x21 (or $x23 (or $x25 $x42)))))))) +(let ((@x76 (|not-or-elim| (|not-or-elim| @x68 (not (or $x21 (or $x23 (or $x25 $x42))))) (not (or $x23 (or $x25 $x42)))))) +(let ((@x88 (|not-or-elim| (|not-or-elim| (|not-or-elim| @x76 (not (or $x25 $x42))) (not $x42)) $x87))) +(let ((@x96 (|not-or-elim| (|not-or-elim| @x88 (not (or $x30 (or $x31 (or $x32 $x37))))) (not (or $x31 (or $x32 $x37)))))) +(let ((@x227 (mp (|not-or-elim| (|not-or-elim| @x96 (not (or $x32 $x37))) (not $x32)) @x226 $x224))) +(let ((@x617 (mp (mp (mp @x227 (|rewrite*| (= $x224 $x224)) $x224) @x441 $x439) @x616 $x606))) +(let (($x476 (not $x11))) +(let (($x630 (or $x476 $x395))) +(let ((@x636 (monotonicity (rewrite (= (and $x11 $x398) (not $x630))) (= (not (and $x11 $x398)) (not (not $x630)))))) +(let ((@x640 (trans @x636 (rewrite (= (not (not $x630)) $x630)) (= (not (and $x11 $x398)) $x630)))) +(let (($x450 (and $x11 $x398))) +(let (($x453 (not $x450))) +(let ((@x455 (monotonicity (monotonicity @x400 (= (and $x11 $x183) $x450)) (= (not (and $x11 $x183)) $x453)))) +(let (($x235 (and $x11 $x183))) +(let (($x238 (not $x235))) +(let ((@x240 (monotonicity (monotonicity @x185 (= (and $x11 $x24) $x235)) (= (not (and $x11 $x24)) $x238)))) +(let ((@x108 (|not-or-elim| (|not-or-elim| (|not-or-elim| @x96 (not (or $x32 $x37))) (not $x37)) (not (or (and $x11 $x24) (and (= |$na| |$m|) $x22)))))) +(let ((@x286 (mp (mp (|not-or-elim| @x108 (not (and $x11 $x24))) @x240 $x238) (|rewrite*| (= $x238 $x238)) $x238))) +(let ((@x659 ((_ |th-lemma| arith triangle-eq) (or $x11 $x351 $x324)))) +(let ((@x660 (|unit-resolution| @x659 (|unit-resolution| (mp (mp @x286 @x455 $x453) @x640 $x630) @x654 $x476) (|unit-resolution| @x617 @x654 $x319) $x351))) +(let (($x532 (or $x348 $x531))) +(let ((@x538 (monotonicity (rewrite (= (and $x351 $x22) (not $x532))) (= (not (and $x351 $x22)) (not (not $x532)))))) +(let ((@x542 (trans @x538 (rewrite (= (not (not $x532)) $x532)) (= (not (and $x351 $x22)) $x532)))) +(let (($x388 (and $x351 $x22))) +(let (($x391 (not $x388))) +(let ((@x393 (monotonicity (monotonicity @x353 (= (and $x140 $x22) $x388)) (= (not (and $x140 $x22)) $x391)))) +(let (($x175 (and $x140 $x22))) +(let (($x178 (not $x175))) +(let ((@x180 (monotonicity (monotonicity @x142 (= $x23 $x175)) (= (not $x23) $x178)))) +(let ((@x262 (mp (mp (|not-or-elim| @x76 (not $x23)) @x180 $x178) (|rewrite*| (= $x178 $x178)) $x178))) +(let ((@x670 (mp (|unit-resolution| (mp (mp @x262 @x393 $x391) @x542 $x532) @x660 $x531) (monotonicity (commutativity (= $x22 $x18)) (= $x531 $x506)) $x506))) +(let (($x544 (or $x395 $x312))) +(let ((@x550 (monotonicity (rewrite (= (and $x398 (not $x312)) (not $x544))) (= (not (and $x398 (not $x312))) (not (not $x544)))))) +(let ((@x554 (trans @x550 (rewrite (= (not (not $x544)) $x544)) (= (not (and $x398 (not $x312))) $x544)))) +(let (($x316 (not $x312))) +(let (($x401 (and $x398 $x316))) +(let (($x404 (not $x401))) +(let ((@x318 (monotonicity (rewrite (= (<= |$m| |$n|) $x312)) (= (not (<= |$m| |$n|)) $x316)))) +(let ((@x406 (monotonicity (monotonicity @x400 @x318 (= (and $x183 (not (<= |$m| |$n|))) $x401)) (= (not (and $x183 (not (<= |$m| |$n|)))) $x404)))) +(let (($x114 (not (<= |$m| |$n|)))) +(let (($x186 (and $x183 $x114))) +(let (($x189 (not $x186))) +(let ((@x191 (monotonicity (monotonicity @x185 (rewrite (= $x7 $x114)) (= $x25 $x186)) (= (not $x25) $x189)))) +(let ((@x192 (mp (|not-or-elim| (|not-or-elim| @x76 (not (or $x25 $x42))) (not $x25)) @x191 $x189))) +(let ((@x555 (mp (mp (mp @x192 (|rewrite*| (= $x189 $x189)) $x189) @x406 $x404) @x554 $x544))) +(let (($x375 (<= (+ |$n| (* (~ 1) |$m|)) 0))) +(let (($x519 (or $x348 $x375))) +(let ((@x525 (monotonicity (rewrite (= (and $x351 (not $x375)) (not $x519))) (= (not (and $x351 (not $x375))) (not (not $x519)))))) +(let ((@x529 (trans @x525 (rewrite (= (not (not $x519)) $x519)) (= (not (and $x351 (not $x375))) $x519)))) +(let (($x378 (not $x375))) +(let (($x381 (and $x351 $x378))) +(let (($x384 (not $x381))) +(let ((@x380 (monotonicity (rewrite (= (<= |$n| |$m|) $x375)) (= (not (<= |$n| |$m|)) $x378)))) +(let ((@x386 (monotonicity (monotonicity @x353 @x380 (= (and $x140 (not (<= |$n| |$m|))) $x381)) (= (not (and $x140 (not (<= |$n| |$m|)))) $x384)))) +(let (($x165 (not (<= |$n| |$m|)))) +(let (($x168 (and $x140 $x165))) +(let (($x171 (not $x168))) +(let ((@x173 (monotonicity (monotonicity @x142 (rewrite (= $x20 $x165)) (= $x21 $x168)) (= (not $x21) $x171)))) +(let ((@x74 (|not-or-elim| (|not-or-elim| @x68 (not (or $x21 (or $x23 (or $x25 $x42))))) (not $x21)))) +(let ((@x387 (mp (mp (mp @x74 @x173 $x171) (|rewrite*| (= $x171 $x171)) $x171) @x386 $x384))) +(let ((@x664 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x18 $x378 $x316)) (|unit-resolution| (mp @x387 @x529 $x519) @x660 $x375) (|unit-resolution| @x555 @x654 $x312) $x18))) +(let ((@x679 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x16 $x398 $x345)) (lemma (|unit-resolution| @x664 @x670 false) $x395) (or $x16 $x345)))) +(let (($x478 (or $x312 $x319))) +(let ((@x480 (monotonicity (rewrite (= (and $x316 $x324) (not $x478))) (= (not (and $x316 $x324)) (not (not $x478)))))) +(let ((@x482 (trans @x480 (rewrite (= (not (not $x478)) $x478)) (= (not (and $x316 $x324)) $x478)))) +(let (($x327 (and $x316 $x324))) +(let (($x330 (not $x327))) +(let ((@x332 (monotonicity (monotonicity @x318 @x326 (= (and $x114 $x118) $x327)) (= (not (and $x114 $x118)) $x330)))) +(let (($x121 (and $x114 $x118))) +(let (($x124 (not $x121))) +(let ((@x116 (rewrite (= $x7 $x114)))) +(let ((@x126 (monotonicity (monotonicity @x116 @x120 (= (and $x7 $x9) $x121)) (= (not (and $x7 $x9)) $x124)))) +(let ((@x54 (|not-or-elim| (asserted (not (or (and $x7 $x9) $x49))) (not (and $x7 $x9))))) +(let ((@x333 (mp (mp (mp @x54 @x126 $x124) (|rewrite*| (= $x124 $x124)) $x124) @x332 $x330))) +(let (($x477 (or $x312 $x476))) +(let ((@x465 (monotonicity (rewrite (= (and $x316 $x11) (not $x477))) (= (not (and $x316 $x11)) (not (not $x477)))))) +(let ((@x457 (trans @x465 (rewrite (= (not (not $x477)) $x477)) (= (not (and $x316 $x11)) $x477)))) +(let (($x334 (and $x316 $x11))) +(let (($x337 (not $x334))) +(let ((@x339 (monotonicity (monotonicity @x318 (= (and $x114 $x11) $x334)) (= (not (and $x114 $x11)) $x337)))) +(let (($x128 (and $x114 $x11))) +(let (($x131 (not $x128))) +(let ((@x133 (monotonicity (monotonicity @x116 (= $x12 $x128)) (= (not $x12) $x131)))) +(let ((@x58 (|not-or-elim| (|not-or-elim| (asserted (not (or (and $x7 $x9) $x49))) (not $x49)) (not $x12)))) +(let ((@x340 (mp (mp (mp @x58 @x133 $x131) (|rewrite*| (= $x131 $x131)) $x131) @x339 $x337))) +(let ((@x685 (|unit-resolution| @x659 (|unit-resolution| (mp @x340 @x457 $x477) (hypothesis $x316) $x476) (|unit-resolution| (mp @x333 @x482 $x478) (hypothesis $x316) $x319) (lemma (|unit-resolution| @x679 @x675 @x674 false) $x348) false))) +(let (($x556 (not $x26))) +(let (($x594 (or $x375 $x556))) +(let ((@x600 (monotonicity (rewrite (= (and $x378 $x26) (not $x594))) (= (not (and $x378 $x26)) (not (not $x594)))))) +(let ((@x604 (trans @x600 (rewrite (= (not (not $x594)) $x594)) (= (not (and $x378 $x26)) $x594)))) +(let (($x429 (and $x378 $x26))) +(let (($x432 (not $x429))) +(let ((@x434 (monotonicity (monotonicity @x380 (= (and $x165 $x26) $x429)) (= (not (and $x165 $x26)) $x432)))) +(let (($x214 (and $x165 $x26))) +(let (($x217 (not $x214))) +(let ((@x219 (monotonicity (monotonicity (rewrite (= $x20 $x165)) (= $x31 $x214)) (= (not $x31) $x217)))) +(let ((@x277 (mp (mp (|not-or-elim| @x96 (not $x31)) @x219 $x217) (|rewrite*| (= $x217 $x217)) $x217))) +(let ((@x690 (|unit-resolution| (mp (mp @x277 @x434 $x432) @x604 $x594) (hypothesis $x378) $x556))) +(let ((@x695 (mp @x690 (monotonicity (commutativity (= $x26 $x16)) (= $x556 $x493)) $x493))) +(let (($x582 (or $x375 $x342))) +(let ((@x588 (monotonicity (rewrite (= (and $x378 $x345) (not $x582))) (= (not (and $x378 $x345)) (not (not $x582)))))) +(let ((@x592 (trans @x588 (rewrite (= (not (not $x582)) $x582)) (= (not (and $x378 $x345)) $x582)))) +(let (($x422 (and $x378 $x345))) +(let (($x425 (not $x422))) +(let ((@x427 (monotonicity (monotonicity @x380 @x347 (= (and $x165 $x136) $x422)) (= (not (and $x165 $x136)) $x425)))) +(let (($x207 (and $x165 $x136))) +(let (($x210 (not $x207))) +(let ((@x167 (rewrite (= $x20 $x165)))) +(let ((@x212 (monotonicity (monotonicity @x167 (rewrite (= $x13 $x136)) (= $x30 $x207)) (= (not $x30) $x210)))) +(let ((@x94 (|not-or-elim| (|not-or-elim| @x88 (not (or $x30 (or $x31 (or $x32 $x37))))) (not $x30)))) +(let ((@x428 (mp (mp (mp @x94 @x212 $x210) (|rewrite*| (= $x210 $x210)) $x210) @x427 $x425))) +(let ((@x689 (|unit-resolution| @x679 (|unit-resolution| (mp @x428 @x592 $x582) (hypothesis $x378) $x342) $x16))) +(let ((@x698 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x18 $x378 $x316)) (lemma (|unit-resolution| @x689 @x695 false) $x375) (lemma @x685 $x312) $x18))) +(let (($x28 (= |$na| |$m|))) +(let (($x507 (or $x506 $x319))) +(let ((@x513 (monotonicity (rewrite (= (and $x18 $x324) (not $x507))) (= (not (and $x18 $x324)) (not (not $x507)))))) +(let ((@x517 (trans @x513 (rewrite (= (not (not $x507)) $x507)) (= (not (and $x18 $x324)) $x507)))) +(let (($x368 (and $x18 $x324))) +(let (($x371 (not $x368))) +(let ((@x373 (monotonicity (monotonicity @x326 (= (and $x18 $x118) $x368)) (= (not (and $x18 $x118)) $x371)))) +(let (($x157 (and $x18 $x118))) +(let (($x160 (not $x157))) +(let ((@x162 (monotonicity (monotonicity @x120 (= $x19 $x157)) (= (not $x19) $x160)))) +(let ((@x256 (mp (mp (|not-or-elim| @x68 (not $x19)) @x162 $x160) (|rewrite*| (= $x160 $x160)) $x160))) +(let ((@x703 (|unit-resolution| @x659 (|unit-resolution| (mp (mp @x256 @x373 $x371) @x517 $x507) @x698 $x319) (lemma (|unit-resolution| @x679 @x675 @x674 false) $x348) $x11))) +(let (($x642 (or (not $x28) $x531))) +(let ((@x648 (monotonicity (rewrite (= (and $x28 $x22) (not $x642))) (= (not (and $x28 $x22)) (not (not $x642)))))) +(let ((@x652 (trans @x648 (rewrite (= (not (not $x642)) $x642)) (= (not (and $x28 $x22)) $x642)))) +(let (($x35 (and $x28 $x22))) +(let (($x111 (not $x35))) +(let ((@x653 (mp (mp (|not-or-elim| @x108 $x111) (|rewrite*| (= $x111 $x111)) $x111) @x652 $x642))) +(|unit-resolution| @x653 (mp @x703 (symm (commutativity (= $x28 $x11)) (= $x11 $x28)) $x28) (mp @x698 @x700 $x22) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +9e63d8092c53223ccff8c08c4046aa1f12b21575 888 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x917 (>= (+ |$x7| (* (~ 1) (ite (>= |$x7| 0) |$x7| (* (~ 1) |$x7|)))) 0))) +(let (($x954 (not $x917))) +(let (($x904 (<= (+ |$x2| (* (~ 1) |$x11|)) 0))) +(let (($x1013 (not $x904))) +(let (($x71 (= |$x2| |$x11|))) +(let (($x806 (not $x71))) +(let (($x70 (= |$x1| |$x10|))) +(let (($x900 (<= (+ |$x1| (* (~ 1) |$x10|)) 0))) +(let (($x925 (<= (+ |$x4| (* (~ 1) (ite (>= |$x4| 0) |$x4| (* (~ 1) |$x4|)))) 0))) +(let (($x1023 (>= (+ |$x5| (* (~ 1) (ite (>= |$x5| 0) |$x5| (* (~ 1) |$x5|)))) 0))) +(let ((?x180 (* (~ 1) |$x5|))) +(let (($x642 (>= |$x5| 0))) +(let ((?x645 (ite $x642 |$x5| ?x180))) +(let (($x845 (= |$x5| ?x645))) +(let (($x1628 (<= (+ |$x10| (* (~ 1) (ite (>= |$x10| 0) |$x10| (* (~ 1) |$x10|)))) 0))) +(let ((?x335 (* (~ 1) |$x10|))) +(let (($x782 (>= |$x10| 0))) +(let ((?x785 (ite $x782 |$x10| ?x335))) +(let (($x890 (= |$x10| ?x785))) +(let (($x891 (= ?x335 ?x785))) +(let (($x1368 (not $x891))) +(let (($x1496 (<= (+ ?x335 (* (~ 1) ?x785)) 0))) +(let (($x1508 (not $x1496))) +(let ((?x304 (* (~ 1) |$x9|))) +(let (($x754 (>= |$x9| 0))) +(let ((?x757 (ite $x754 |$x9| ?x304))) +(let ((?x766 (* (~ 1) ?x757))) +(let (($x1616 (>= (+ ?x304 ?x766) 0))) +(let (($x882 (= ?x304 ?x757))) +(let (($x883 (not $x754))) +(let (($x847 (not $x642))) +(let ((@x1091 (hypothesis $x847))) +(let (($x670 (>= |$x6| 0))) +(let ((?x149 (* (~ 1) |$x4|))) +(let (($x614 (>= |$x4| 0))) +(let ((?x617 (ite $x614 |$x4| ?x149))) +(let (($x836 (= |$x4| ?x617))) +(let ((@x1325 (hypothesis $x754))) +(let (($x914 (>= (+ |$x8| (* (~ 1) (ite (>= |$x8| 0) |$x8| (* (~ 1) |$x8|)))) 0))) +(let (($x1107 (not $x914))) +(let (($x838 (not $x614))) +(let ((@x1010 (hypothesis $x838))) +(let ((?x654 (* (~ 1) ?x645))) +(let ((?x655 (+ |$x4| |$x6| ?x654))) +(let (($x853 (>= ?x655 0))) +(let (($x656 (= ?x655 0))) +(let (($x171 (<= 0 |$x5|))) +(let ((?x186 (ite $x171 |$x5| ?x180))) +(let ((?x636 (+ ?x149 ?x186))) +(let (($x639 (= |$x6| ?x636))) +(let ((@x650 (monotonicity (monotonicity (rewrite (= $x171 $x642)) (= ?x186 ?x645)) (= ?x636 (+ ?x149 ?x645))))) +(let ((@x660 (trans (monotonicity @x650 (= $x639 (= |$x6| (+ ?x149 ?x645)))) (rewrite (= (= |$x6| (+ ?x149 ?x645)) $x656)) (= $x639 $x656)))) +(let ((@x641 (monotonicity (rewrite (= (+ ?x186 ?x149) ?x636)) (= (= |$x6| (+ ?x186 ?x149)) $x639)))) +(let ((?x194 (+ ?x186 ?x149))) +(let (($x199 (= |$x6| ?x194))) +(let ((@x492 (monotonicity (monotonicity (rewrite (= $x171 $x171)) (= ?x186 ?x186)) (= ?x194 ?x194)))) +(let (($x326 (<= 0 |$x10|))) +(let ((?x341 (ite $x326 |$x10| ?x335))) +(let ((?x349 (+ ?x341 ?x304))) +(let (($x354 (= |$x11| ?x349))) +(let ((?x273 (* (~ 1) |$x8|))) +(let (($x295 (<= 0 |$x9|))) +(let ((?x310 (ite $x295 |$x9| ?x304))) +(let ((?x318 (+ ?x310 ?x273))) +(let (($x323 (= |$x10| ?x318))) +(let ((?x242 (* (~ 1) |$x7|))) +(let (($x264 (<= 0 |$x8|))) +(let ((?x279 (ite $x264 |$x8| ?x273))) +(let ((?x287 (+ ?x279 ?x242))) +(let (($x292 (= |$x9| ?x287))) +(let ((?x211 (* (~ 1) |$x6|))) +(let (($x233 (<= 0 |$x7|))) +(let ((?x248 (ite $x233 |$x7| ?x242))) +(let ((?x256 (+ ?x248 ?x211))) +(let (($x261 (= |$x8| ?x256))) +(let (($x202 (<= 0 |$x6|))) +(let ((?x217 (ite $x202 |$x6| ?x211))) +(let ((?x225 (+ ?x217 ?x180))) +(let (($x230 (= |$x7| ?x225))) +(let ((?x118 (* (~ 1) |$x3|))) +(let (($x140 (<= 0 |$x4|))) +(let ((?x155 (ite $x140 |$x4| ?x149))) +(let ((?x163 (+ ?x155 ?x118))) +(let (($x168 (= |$x5| ?x163))) +(let ((?x86 (* (~ 1) |$x2|))) +(let (($x109 (<= 0 |$x3|))) +(let ((?x124 (ite $x109 |$x3| ?x118))) +(let ((?x132 (+ ?x124 ?x86))) +(let (($x137 (= |$x4| ?x132))) +(let ((?x100 (* (~ 1) |$x1|))) +(let (($x76 (<= 0 |$x2|))) +(let ((?x92 (ite $x76 |$x2| ?x86))) +(let ((?x101 (+ ?x92 ?x100))) +(let (($x106 (= |$x3| ?x101))) +(let (($x411 (and $x106 $x137 $x168 $x199 $x230 $x261 $x292 $x323 $x354))) +(let (($x72 (and $x70 $x71))) +(let (($x62 (and (= |$x10| (- (ite (< |$x9| 0) (- |$x9|) |$x9|) |$x8|)) (= |$x11| (- (ite (< |$x10| 0) (- |$x10|) |$x10|) |$x9|))))) +(let (($x63 (and (= |$x9| (- (ite (< |$x8| 0) (- |$x8|) |$x8|) |$x7|)) $x62))) +(let (($x64 (and (= |$x8| (- (ite (< |$x7| 0) (- |$x7|) |$x7|) |$x6|)) $x63))) +(let (($x65 (and (= |$x7| (- (ite (< |$x6| 0) (- |$x6|) |$x6|) |$x5|)) $x64))) +(let (($x66 (and (= |$x6| (- (ite (< |$x5| 0) (- |$x5|) |$x5|) |$x4|)) $x65))) +(let (($x67 (and (= |$x5| (- (ite (< |$x4| 0) (- |$x4|) |$x4|) |$x3|)) $x66))) +(let (($x68 (and (= |$x4| (- (ite (< |$x3| 0) (- |$x3|) |$x3|) |$x2|)) $x67))) +(let (($x69 (and (= |$x3| (- (ite (< |$x2| 0) (- |$x2|) |$x2|) |$x1|)) $x68))) +(let (($x73 (=> $x69 $x72))) +(let (($x74 (not $x73))) +(let ((@x413 (rewrite (= (and $x106 (and $x137 $x168 $x199 $x230 $x261 $x292 $x323 $x354)) $x411)))) +(let (($x403 (and $x137 $x168 $x199 $x230 $x261 $x292 $x323 $x354))) +(let ((@x405 (rewrite (= (and $x137 (and $x168 $x199 $x230 $x261 $x292 $x323 $x354)) $x403)))) +(let (($x395 (and $x168 $x199 $x230 $x261 $x292 $x323 $x354))) +(let (($x387 (and $x199 $x230 $x261 $x292 $x323 $x354))) +(let (($x379 (and $x230 $x261 $x292 $x323 $x354))) +(let ((@x373 (rewrite (= (and $x261 (and $x292 $x323 $x354)) (and $x261 $x292 $x323 $x354))))) +(let (($x355 (= (= |$x11| (- (ite (< |$x10| 0) (- |$x10|) |$x10|) |$x9|)) $x354))) +(let ((?x59 (ite (< |$x10| 0) (- |$x10|) |$x10|))) +(let ((?x60 (- ?x59 |$x9|))) +(let ((@x334 (trans (rewrite (= (< |$x10| 0) (not $x326))) (monotonicity (rewrite (= $x326 $x326)) (= (not $x326) (not $x326))) (= (< |$x10| 0) (not $x326))))) +(let ((@x340 (monotonicity @x334 (rewrite (= (- |$x10|) ?x335)) (= ?x59 (ite (not $x326) ?x335 |$x10|))))) +(let ((@x345 (trans @x340 (rewrite (= (ite (not $x326) ?x335 |$x10|) ?x341)) (= ?x59 ?x341)))) +(let ((@x353 (trans (monotonicity @x345 (= ?x60 (- ?x341 |$x9|))) (rewrite (= (- ?x341 |$x9|) ?x349)) (= ?x60 ?x349)))) +(let (($x324 (= (= |$x10| (- (ite (< |$x9| 0) (- |$x9|) |$x9|) |$x8|)) $x323))) +(let ((@x303 (trans (rewrite (= (< |$x9| 0) (not $x295))) (monotonicity (rewrite (= $x295 $x295)) (= (not $x295) (not $x295))) (= (< |$x9| 0) (not $x295))))) +(let ((@x309 (monotonicity @x303 (rewrite (= (- |$x9|) ?x304)) (= (ite (< |$x9| 0) (- |$x9|) |$x9|) (ite (not $x295) ?x304 |$x9|))))) +(let ((@x314 (trans @x309 (rewrite (= (ite (not $x295) ?x304 |$x9|) ?x310)) (= (ite (< |$x9| 0) (- |$x9|) |$x9|) ?x310)))) +(let ((@x317 (monotonicity @x314 (= (- (ite (< |$x9| 0) (- |$x9|) |$x9|) |$x8|) (- ?x310 |$x8|))))) +(let ((@x322 (trans @x317 (rewrite (= (- ?x310 |$x8|) ?x318)) (= (- (ite (< |$x9| 0) (- |$x9|) |$x9|) |$x8|) ?x318)))) +(let ((@x359 (monotonicity (monotonicity @x322 $x324) (monotonicity @x353 $x355) (= $x62 (and $x323 $x354))))) +(let ((@x272 (trans (rewrite (= (< |$x8| 0) (not $x264))) (monotonicity (rewrite (= $x264 $x264)) (= (not $x264) (not $x264))) (= (< |$x8| 0) (not $x264))))) +(let ((@x278 (monotonicity @x272 (rewrite (= (- |$x8|) ?x273)) (= (ite (< |$x8| 0) (- |$x8|) |$x8|) (ite (not $x264) ?x273 |$x8|))))) +(let ((@x283 (trans @x278 (rewrite (= (ite (not $x264) ?x273 |$x8|) ?x279)) (= (ite (< |$x8| 0) (- |$x8|) |$x8|) ?x279)))) +(let ((@x286 (monotonicity @x283 (= (- (ite (< |$x8| 0) (- |$x8|) |$x8|) |$x7|) (- ?x279 |$x7|))))) +(let ((@x291 (trans @x286 (rewrite (= (- ?x279 |$x7|) ?x287)) (= (- (ite (< |$x8| 0) (- |$x8|) |$x8|) |$x7|) ?x287)))) +(let ((@x294 (monotonicity @x291 (= (= |$x9| (- (ite (< |$x8| 0) (- |$x8|) |$x8|) |$x7|)) $x292)))) +(let ((@x367 (trans (monotonicity @x294 @x359 (= $x63 (and $x292 (and $x323 $x354)))) (rewrite (= (and $x292 (and $x323 $x354)) (and $x292 $x323 $x354))) (= $x63 (and $x292 $x323 $x354))))) +(let ((@x241 (trans (rewrite (= (< |$x7| 0) (not $x233))) (monotonicity (rewrite (= $x233 $x233)) (= (not $x233) (not $x233))) (= (< |$x7| 0) (not $x233))))) +(let ((@x247 (monotonicity @x241 (rewrite (= (- |$x7|) ?x242)) (= (ite (< |$x7| 0) (- |$x7|) |$x7|) (ite (not $x233) ?x242 |$x7|))))) +(let ((@x252 (trans @x247 (rewrite (= (ite (not $x233) ?x242 |$x7|) ?x248)) (= (ite (< |$x7| 0) (- |$x7|) |$x7|) ?x248)))) +(let ((@x255 (monotonicity @x252 (= (- (ite (< |$x7| 0) (- |$x7|) |$x7|) |$x6|) (- ?x248 |$x6|))))) +(let ((@x260 (trans @x255 (rewrite (= (- ?x248 |$x6|) ?x256)) (= (- (ite (< |$x7| 0) (- |$x7|) |$x7|) |$x6|) ?x256)))) +(let ((@x263 (monotonicity @x260 (= (= |$x8| (- (ite (< |$x7| 0) (- |$x7|) |$x7|) |$x6|)) $x261)))) +(let ((@x375 (trans (monotonicity @x263 @x367 (= $x64 (and $x261 (and $x292 $x323 $x354)))) @x373 (= $x64 (and $x261 $x292 $x323 $x354))))) +(let ((@x210 (trans (rewrite (= (< |$x6| 0) (not $x202))) (monotonicity (rewrite (= $x202 $x202)) (= (not $x202) (not $x202))) (= (< |$x6| 0) (not $x202))))) +(let ((@x216 (monotonicity @x210 (rewrite (= (- |$x6|) ?x211)) (= (ite (< |$x6| 0) (- |$x6|) |$x6|) (ite (not $x202) ?x211 |$x6|))))) +(let ((@x221 (trans @x216 (rewrite (= (ite (not $x202) ?x211 |$x6|) ?x217)) (= (ite (< |$x6| 0) (- |$x6|) |$x6|) ?x217)))) +(let ((@x224 (monotonicity @x221 (= (- (ite (< |$x6| 0) (- |$x6|) |$x6|) |$x5|) (- ?x217 |$x5|))))) +(let ((@x229 (trans @x224 (rewrite (= (- ?x217 |$x5|) ?x225)) (= (- (ite (< |$x6| 0) (- |$x6|) |$x6|) |$x5|) ?x225)))) +(let ((@x232 (monotonicity @x229 (= (= |$x7| (- (ite (< |$x6| 0) (- |$x6|) |$x6|) |$x5|)) $x230)))) +(let ((@x378 (monotonicity @x232 @x375 (= $x65 (and $x230 (and $x261 $x292 $x323 $x354)))))) +(let ((@x383 (trans @x378 (rewrite (= (and $x230 (and $x261 $x292 $x323 $x354)) $x379)) (= $x65 $x379)))) +(let ((@x179 (trans (rewrite (= (< |$x5| 0) (not $x171))) (monotonicity (rewrite (= $x171 $x171)) (= (not $x171) (not $x171))) (= (< |$x5| 0) (not $x171))))) +(let ((@x185 (monotonicity @x179 (rewrite (= (- |$x5|) ?x180)) (= (ite (< |$x5| 0) (- |$x5|) |$x5|) (ite (not $x171) ?x180 |$x5|))))) +(let ((@x190 (trans @x185 (rewrite (= (ite (not $x171) ?x180 |$x5|) ?x186)) (= (ite (< |$x5| 0) (- |$x5|) |$x5|) ?x186)))) +(let ((@x193 (monotonicity @x190 (= (- (ite (< |$x5| 0) (- |$x5|) |$x5|) |$x4|) (- ?x186 |$x4|))))) +(let ((@x198 (trans @x193 (rewrite (= (- ?x186 |$x4|) ?x194)) (= (- (ite (< |$x5| 0) (- |$x5|) |$x5|) |$x4|) ?x194)))) +(let ((@x201 (monotonicity @x198 (= (= |$x6| (- (ite (< |$x5| 0) (- |$x5|) |$x5|) |$x4|)) $x199)))) +(let ((@x391 (trans (monotonicity @x201 @x383 (= $x66 (and $x199 $x379))) (rewrite (= (and $x199 $x379) $x387)) (= $x66 $x387)))) +(let ((@x148 (trans (rewrite (= (< |$x4| 0) (not $x140))) (monotonicity (rewrite (= $x140 $x140)) (= (not $x140) (not $x140))) (= (< |$x4| 0) (not $x140))))) +(let ((@x154 (monotonicity @x148 (rewrite (= (- |$x4|) ?x149)) (= (ite (< |$x4| 0) (- |$x4|) |$x4|) (ite (not $x140) ?x149 |$x4|))))) +(let ((@x159 (trans @x154 (rewrite (= (ite (not $x140) ?x149 |$x4|) ?x155)) (= (ite (< |$x4| 0) (- |$x4|) |$x4|) ?x155)))) +(let ((@x162 (monotonicity @x159 (= (- (ite (< |$x4| 0) (- |$x4|) |$x4|) |$x3|) (- ?x155 |$x3|))))) +(let ((@x167 (trans @x162 (rewrite (= (- ?x155 |$x3|) ?x163)) (= (- (ite (< |$x4| 0) (- |$x4|) |$x4|) |$x3|) ?x163)))) +(let ((@x170 (monotonicity @x167 (= (= |$x5| (- (ite (< |$x4| 0) (- |$x4|) |$x4|) |$x3|)) $x168)))) +(let ((@x399 (trans (monotonicity @x170 @x391 (= $x67 (and $x168 $x387))) (rewrite (= (and $x168 $x387) $x395)) (= $x67 $x395)))) +(let ((@x117 (trans (rewrite (= (< |$x3| 0) (not $x109))) (monotonicity (rewrite (= $x109 $x109)) (= (not $x109) (not $x109))) (= (< |$x3| 0) (not $x109))))) +(let ((@x123 (monotonicity @x117 (rewrite (= (- |$x3|) ?x118)) (= (ite (< |$x3| 0) (- |$x3|) |$x3|) (ite (not $x109) ?x118 |$x3|))))) +(let ((@x128 (trans @x123 (rewrite (= (ite (not $x109) ?x118 |$x3|) ?x124)) (= (ite (< |$x3| 0) (- |$x3|) |$x3|) ?x124)))) +(let ((@x131 (monotonicity @x128 (= (- (ite (< |$x3| 0) (- |$x3|) |$x3|) |$x2|) (- ?x124 |$x2|))))) +(let ((@x136 (trans @x131 (rewrite (= (- ?x124 |$x2|) ?x132)) (= (- (ite (< |$x3| 0) (- |$x3|) |$x3|) |$x2|) ?x132)))) +(let ((@x139 (monotonicity @x136 (= (= |$x4| (- (ite (< |$x3| 0) (- |$x3|) |$x3|) |$x2|)) $x137)))) +(let ((@x407 (trans (monotonicity @x139 @x399 (= $x68 (and $x137 $x395))) @x405 (= $x68 $x403)))) +(let ((@x84 (trans (rewrite (= (< |$x2| 0) (not $x76))) (monotonicity (rewrite (= $x76 $x76)) (= (not $x76) (not $x76))) (= (< |$x2| 0) (not $x76))))) +(let ((@x91 (monotonicity @x84 (rewrite (= (- |$x2|) ?x86)) (= (ite (< |$x2| 0) (- |$x2|) |$x2|) (ite (not $x76) ?x86 |$x2|))))) +(let ((@x96 (trans @x91 (rewrite (= (ite (not $x76) ?x86 |$x2|) ?x92)) (= (ite (< |$x2| 0) (- |$x2|) |$x2|) ?x92)))) +(let ((@x99 (monotonicity @x96 (= (- (ite (< |$x2| 0) (- |$x2|) |$x2|) |$x1|) (- ?x92 |$x1|))))) +(let ((@x105 (trans @x99 (rewrite (= (- ?x92 |$x1|) ?x101)) (= (- (ite (< |$x2| 0) (- |$x2|) |$x2|) |$x1|) ?x101)))) +(let ((@x108 (monotonicity @x105 (= (= |$x3| (- (ite (< |$x2| 0) (- |$x2|) |$x2|) |$x1|)) $x106)))) +(let ((@x415 (trans (monotonicity @x108 @x407 (= $x69 (and $x106 $x403))) @x413 (= $x69 $x411)))) +(let ((@x424 (trans (monotonicity @x415 (= $x73 (=> $x411 $x72))) (rewrite (= (=> $x411 $x72) (or (not $x411) $x72))) (= $x73 (or (not $x411) $x72))))) +(let ((@x428 (mp (asserted $x74) (monotonicity @x424 (= $x74 (not (or (not $x411) $x72)))) (not (or (not $x411) $x72))))) +(let ((@x429 (|not-or-elim| @x428 $x411))) +(let ((@x494 (mp (mp (|and-elim| @x429 $x199) (|rewrite*| (= $x199 $x199)) $x199) (monotonicity @x492 (= $x199 $x199)) $x199))) +(let ((@x663 (mp (mp @x494 (monotonicity @x492 (= $x199 $x199)) $x199) (trans @x641 @x660 (= $x199 $x656)) $x656))) +(let ((@x1046 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x656) $x853)) @x663 $x853))) +(let (($x1180 (<= (+ ?x180 ?x654) 0))) +(let (($x846 (= ?x180 ?x645))) +(let ((@x1247 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x846) $x1180)) (|unit-resolution| (|def-axiom| (or $x642 $x846)) @x1091 $x846) $x1180))) +(let (($x726 (>= |$x8| 0))) +(let ((?x729 (ite $x726 |$x8| ?x273))) +(let ((?x738 (* (~ 1) ?x729))) +(let ((?x739 (+ |$x7| |$x9| ?x738))) +(let (($x879 (<= ?x739 0))) +(let (($x740 (= ?x739 0))) +(let ((@x734 (monotonicity (monotonicity (rewrite (= $x264 $x726)) (= ?x279 ?x729)) (= (+ ?x242 ?x279) (+ ?x242 ?x729))))) +(let ((@x737 (monotonicity @x734 (= (= |$x9| (+ ?x242 ?x279)) (= |$x9| (+ ?x242 ?x729)))))) +(let ((@x744 (trans @x737 (rewrite (= (= |$x9| (+ ?x242 ?x729)) $x740)) (= (= |$x9| (+ ?x242 ?x279)) $x740)))) +(let ((@x725 (monotonicity (rewrite (= ?x287 (+ ?x242 ?x279))) (= $x292 (= |$x9| (+ ?x242 ?x279)))))) +(let ((@x510 (monotonicity (monotonicity (rewrite (= $x264 $x264)) (= ?x279 ?x279)) (= ?x287 ?x287)))) +(let ((@x512 (mp (mp (|and-elim| @x429 $x292) (|rewrite*| (= $x292 $x292)) $x292) (monotonicity @x510 (= $x292 $x292)) $x292))) +(let ((@x747 (mp (mp @x512 (monotonicity @x510 (= $x292 $x292)) $x292) (trans @x725 @x744 (= $x292 $x740)) $x740))) +(let ((@x1104 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x740) $x879)) @x747 $x879))) +(let (($x698 (>= |$x7| 0))) +(let ((?x701 (ite $x698 |$x7| ?x242))) +(let (($x863 (= |$x7| ?x701))) +(let (($x1027 (<= (+ ?x211 (* (~ 1) (ite $x670 |$x6| ?x211))) 0))) +(let ((?x673 (ite $x670 |$x6| ?x211))) +(let (($x855 (= ?x211 ?x673))) +(let (($x856 (not $x670))) +(let (($x865 (not $x698))) +(let ((@x1274 (hypothesis $x865))) +(let ((@x1273 (hypothesis $x670))) +(let ((?x682 (* (~ 1) ?x673))) +(let ((?x683 (+ |$x5| |$x7| ?x682))) +(let (($x862 (>= ?x683 0))) +(let (($x684 (= ?x683 0))) +(let ((@x678 (monotonicity (monotonicity (rewrite (= $x202 $x670)) (= ?x217 ?x673)) (= (+ ?x180 ?x217) (+ ?x180 ?x673))))) +(let ((@x681 (monotonicity @x678 (= (= |$x7| (+ ?x180 ?x217)) (= |$x7| (+ ?x180 ?x673)))))) +(let ((@x688 (trans @x681 (rewrite (= (= |$x7| (+ ?x180 ?x673)) $x684)) (= (= |$x7| (+ ?x180 ?x217)) $x684)))) +(let ((@x669 (monotonicity (rewrite (= ?x225 (+ ?x180 ?x217))) (= $x230 (= |$x7| (+ ?x180 ?x217)))))) +(let ((@x498 (monotonicity (monotonicity (rewrite (= $x202 $x202)) (= ?x217 ?x217)) (= ?x225 ?x225)))) +(let ((@x500 (mp (mp (|and-elim| @x429 $x230) (|rewrite*| (= $x230 $x230)) $x230) (monotonicity @x498 (= $x230 $x230)) $x230))) +(let ((@x691 (mp (mp @x500 (monotonicity @x498 (= $x230 $x230)) $x230) (trans @x669 @x688 (= $x230 $x684)) $x684))) +(let ((@x1100 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x684) $x862)) @x691 $x862))) +(let (($x1183 (<= (+ |$x6| ?x682) 0))) +(let (($x854 (= |$x6| ?x673))) +(let ((@x858 (|def-axiom| (or $x856 $x854)))) +(let ((@x1197 ((_ |th-lemma| arith triangle-eq) (or (not $x854) $x1183)))) +(let ((@x1276 (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1273 $x854) $x1183))) +(let ((@x1279 (lemma ((_ |th-lemma| arith farkas 1 1 1 1 1) @x1276 @x1100 @x1274 @x1091 @x1273 false) (or $x698 $x642 $x856)))) +(let ((@x860 (|def-axiom| (or $x670 $x855)))) +(let ((@x1310 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x855) $x1027)) (|unit-resolution| @x860 (|unit-resolution| @x1279 @x1274 @x1091 $x856) $x855) $x1027))) +(let ((@x1311 ((_ |th-lemma| arith farkas 1 1 1 1 1) (|unit-resolution| @x1279 @x1274 @x1091 $x856) @x1274 @x1100 @x1091 @x1310 false))) +(let ((@x867 (|def-axiom| (or $x865 $x863)))) +(let ((@x1334 (|unit-resolution| @x867 (|unit-resolution| (lemma @x1311 (or $x698 $x642)) @x1091 $x698) $x863))) +(let ((@x1173 ((_ |th-lemma| arith triangle-eq) (or (not $x863) $x917)))) +(let ((@x1335 (|unit-resolution| @x1173 @x1334 $x917))) +(let ((?x710 (* (~ 1) ?x701))) +(let ((?x711 (+ |$x6| |$x8| ?x710))) +(let (($x870 (<= ?x711 0))) +(let (($x712 (= ?x711 0))) +(let ((@x706 (monotonicity (monotonicity (rewrite (= $x233 $x698)) (= ?x248 ?x701)) (= (+ ?x211 ?x248) (+ ?x211 ?x701))))) +(let ((@x709 (monotonicity @x706 (= (= |$x8| (+ ?x211 ?x248)) (= |$x8| (+ ?x211 ?x701)))))) +(let ((@x716 (trans @x709 (rewrite (= (= |$x8| (+ ?x211 ?x701)) $x712)) (= (= |$x8| (+ ?x211 ?x248)) $x712)))) +(let ((@x697 (monotonicity (rewrite (= ?x256 (+ ?x211 ?x248))) (= $x261 (= |$x8| (+ ?x211 ?x248)))))) +(let ((@x504 (monotonicity (monotonicity (rewrite (= $x233 $x233)) (= ?x248 ?x248)) (= ?x256 ?x256)))) +(let ((@x506 (mp (mp (|and-elim| @x429 $x261) (|rewrite*| (= $x261 $x261)) $x261) (monotonicity @x504 (= $x261 $x261)) $x261))) +(let ((@x719 (mp (mp @x506 (monotonicity @x504 (= $x261 $x261)) $x261) (trans @x697 @x716 (= $x261 $x712)) $x712))) +(let ((@x950 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x712) $x870)) @x719 $x870))) +(let ((@x1105 (hypothesis $x914))) +(let ((@x1351 (lemma ((_ |th-lemma| arith farkas 1 1 1 1 1 1 1 1 1) @x1105 @x950 @x1335 @x1104 @x1010 @x1247 @x1091 @x1046 @x1325 false) (or $x614 $x1107 $x642 $x883)))) +(let (($x872 (= |$x8| ?x729))) +(let (($x1087 (<= (+ |$x7| ?x710) 0))) +(let ((@x1112 ((_ |th-lemma| arith triangle-eq) (or (not $x863) $x1087)))) +(let ((@x1336 (|unit-resolution| @x1112 @x1334 $x1087))) +(let (($x871 (>= ?x711 0))) +(let ((@x1082 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x712) $x871)) @x719 $x871))) +(let ((@x1488 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x614 (not $x1180) $x642 (not $x853) $x670)) @x1010 @x1046 @x1247 @x1091 $x670))) +(let ((@x1341 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1) (or $x726 (not $x871) (not $x1087) (not $x1183) (not $x862) $x642)))) +(let ((@x1491 (|unit-resolution| @x1341 (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1488 $x854) $x1183) @x1082 @x1091 @x1336 @x1100 $x726))) +(let ((@x876 (|def-axiom| (or (not $x726) $x872)))) +(let ((@x1364 ((_ |th-lemma| arith triangle-eq) (or (not $x872) $x914)))) +(let ((@x1493 (|unit-resolution| @x1364 (|unit-resolution| @x876 @x1491 $x872) (|unit-resolution| @x1351 @x1010 @x1091 @x1325 $x1107) false))) +(let ((@x840 (|def-axiom| (or $x838 $x836)))) +(let ((@x1574 (|unit-resolution| @x840 (|unit-resolution| (lemma @x1493 (or $x614 $x642 $x883)) @x1091 @x1325 $x614) $x836))) +(let ((@x940 ((_ |th-lemma| arith triangle-eq) (or (not $x836) $x925)))) +(let (($x908 (>= (+ |$x9| ?x766) 0))) +(let (($x881 (= |$x9| ?x757))) +(let ((@x885 (|def-axiom| (or $x883 $x881)))) +(let ((@x1393 ((_ |th-lemma| arith triangle-eq) (or (not $x881) $x908)))) +(let ((@x1394 (|unit-resolution| @x1393 (|unit-resolution| @x885 @x1325 $x881) $x908))) +(let (($x907 (<= (+ |$x9| ?x766) 0))) +(let ((@x1398 ((_ |th-lemma| arith triangle-eq) (or (not $x881) $x907)))) +(let ((@x1399 (|unit-resolution| @x1398 (|unit-resolution| @x885 @x1325 $x881) $x907))) +(let (($x905 (>= (+ |$x2| (* (~ 1) |$x11|)) 0))) +(let (($x920 (>= (+ |$x6| ?x682) 0))) +(let (($x953 (not $x920))) +(let (($x910 (<= (+ |$x8| ?x738) 0))) +(let ((?x767 (+ |$x8| |$x10| ?x766))) +(let (($x889 (>= ?x767 0))) +(let (($x768 (= ?x767 0))) +(let ((@x762 (monotonicity (monotonicity (rewrite (= $x295 $x754)) (= ?x310 ?x757)) (= (+ ?x273 ?x310) (+ ?x273 ?x757))))) +(let ((@x765 (monotonicity @x762 (= (= |$x10| (+ ?x273 ?x310)) (= |$x10| (+ ?x273 ?x757)))))) +(let ((@x772 (trans @x765 (rewrite (= (= |$x10| (+ ?x273 ?x757)) $x768)) (= (= |$x10| (+ ?x273 ?x310)) $x768)))) +(let ((@x753 (monotonicity (rewrite (= ?x318 (+ ?x273 ?x310))) (= $x323 (= |$x10| (+ ?x273 ?x310)))))) +(let ((@x516 (monotonicity (monotonicity (rewrite (= $x295 $x295)) (= ?x310 ?x310)) (= ?x318 ?x318)))) +(let ((@x518 (mp (mp (|and-elim| @x429 $x323) (|rewrite*| (= $x323 $x323)) $x323) (monotonicity @x516 (= $x323 $x323)) $x323))) +(let ((@x775 (mp (mp @x518 (monotonicity @x516 (= $x323 $x323)) $x323) (trans @x753 @x772 (= $x323 $x768)) $x768))) +(let ((@x1385 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x768) $x889)) @x775 $x889))) +(let (($x892 (not $x782))) +(let (($x1411 (not $x890))) +(let (($x911 (>= (+ |$x10| (* (~ 1) ?x785)) 0))) +(let (($x981 (not $x911))) +(let (($x957 (not $x905))) +(let ((@x958 (hypothesis $x957))) +(let (($x586 (>= |$x3| 0))) +(let ((@x978 (hypothesis $x908))) +(let ((@x963 (hypothesis $x911))) +(let (($x864 (= ?x242 ?x701))) +(let (($x1070 (not $x864))) +(let (($x1026 (<= (+ ?x242 ?x710) 0))) +(let (($x1149 (not $x1026))) +(let (($x916 (>= (+ |$x4| (* (~ 1) ?x617)) 0))) +(let (($x829 (not $x586))) +(let ((@x935 (hypothesis $x829))) +(let (($x1094 (not $x855))) +(let (($x1086 (>= (+ ?x211 ?x682) 0))) +(let (($x1119 (not $x1086))) +(let (($x928 (<= (+ |$x3| (* (~ 1) (ite $x586 |$x3| ?x118))) 0))) +(let (($x926 (<= (+ ?x118 (* (~ 1) (ite $x586 |$x3| ?x118))) 0))) +(let ((?x589 (ite $x586 |$x3| ?x118))) +(let (($x828 (= ?x118 ?x589))) +(let ((@x1005 (|unit-resolution| (|def-axiom| (or $x586 $x828)) @x935 $x828))) +(let ((@x1009 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x828) $x926)) @x1005 $x926))) +(let (($x922 (<= (+ ?x149 (* (~ 1) ?x617)) 0))) +(let (($x837 (= ?x149 ?x617))) +(let ((@x1188 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x837) $x922)) (|unit-resolution| (|def-axiom| (or $x614 $x837)) @x1010 $x837) $x922))) +(let ((@x1191 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 1) (or $x925 $x614 (not $x922))) @x1188 @x1010 $x925))) +(let ((@x1116 (hypothesis $x928))) +(let ((@x1115 (hypothesis $x925))) +(let ((@x1114 (hypothesis $x1086))) +(let ((@x1113 (|unit-resolution| @x1112 (|unit-resolution| @x867 (hypothesis $x698) $x863) $x1087))) +(let ((@x1088 (hypothesis $x698))) +(let (($x861 (<= ?x683 0))) +(let ((@x945 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x684) $x861)) @x691 $x861))) +(let ((?x626 (* (~ 1) ?x617))) +(let ((?x627 (+ |$x3| |$x5| ?x626))) +(let (($x844 (>= ?x627 0))) +(let (($x628 (= ?x627 0))) +(let ((@x622 (monotonicity (monotonicity (rewrite (= $x140 $x614)) (= ?x155 ?x617)) (= (+ ?x118 ?x155) (+ ?x118 ?x617))))) +(let ((@x625 (monotonicity @x622 (= (= |$x5| (+ ?x118 ?x155)) (= |$x5| (+ ?x118 ?x617)))))) +(let ((@x632 (trans @x625 (rewrite (= (= |$x5| (+ ?x118 ?x617)) $x628)) (= (= |$x5| (+ ?x118 ?x155)) $x628)))) +(let ((@x613 (monotonicity (rewrite (= ?x163 (+ ?x118 ?x155))) (= $x168 (= |$x5| (+ ?x118 ?x155)))))) +(let ((@x486 (monotonicity (monotonicity (rewrite (= $x140 $x140)) (= ?x155 ?x155)) (= ?x163 ?x163)))) +(let ((@x488 (mp (mp (|and-elim| @x429 $x168) (|rewrite*| (= $x168 $x168)) $x168) (monotonicity @x486 (= $x168 $x168)) $x168))) +(let ((@x635 (mp (mp @x488 (monotonicity @x486 (= $x168 $x168)) $x168) (trans @x613 @x632 (= $x168 $x628)) $x628))) +(let ((@x934 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x628) $x844)) @x635 $x844))) +(let ((?x794 (* (~ 1) ?x785))) +(let ((?x795 (+ |$x9| |$x11| ?x794))) +(let (($x897 (<= ?x795 0))) +(let (($x796 (= ?x795 0))) +(let ((@x790 (monotonicity (monotonicity (rewrite (= $x326 $x782)) (= ?x341 ?x785)) (= (+ ?x304 ?x341) (+ ?x304 ?x785))))) +(let ((@x793 (monotonicity @x790 (= (= |$x11| (+ ?x304 ?x341)) (= |$x11| (+ ?x304 ?x785)))))) +(let ((@x800 (trans @x793 (rewrite (= (= |$x11| (+ ?x304 ?x785)) $x796)) (= (= |$x11| (+ ?x304 ?x341)) $x796)))) +(let ((@x781 (monotonicity (rewrite (= ?x349 (+ ?x304 ?x341))) (= $x354 (= |$x11| (+ ?x304 ?x341)))))) +(let ((@x522 (monotonicity (monotonicity (rewrite (= $x326 $x326)) (= ?x341 ?x341)) (= ?x349 ?x349)))) +(let ((@x524 (mp (mp (|and-elim| @x429 $x354) (|rewrite*| (= $x354 $x354)) $x354) (monotonicity @x522 (= $x354 $x354)) $x354))) +(let ((@x803 (mp (mp @x524 (monotonicity @x522 (= $x354 $x354)) $x354) (trans @x781 @x800 (= $x354 $x796)) $x796))) +(let ((@x962 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x796) $x897)) @x803 $x897))) +(let ((?x598 (* (~ 1) ?x589))) +(let ((?x599 (+ |$x2| |$x4| ?x598))) +(let (($x835 (>= ?x599 0))) +(let (($x600 (= ?x599 0))) +(let ((@x594 (monotonicity (monotonicity (rewrite (= $x109 $x586)) (= ?x124 ?x589)) (= (+ ?x86 ?x124) (+ ?x86 ?x589))))) +(let ((@x597 (monotonicity @x594 (= (= |$x4| (+ ?x86 ?x124)) (= |$x4| (+ ?x86 ?x589)))))) +(let ((@x604 (trans @x597 (rewrite (= (= |$x4| (+ ?x86 ?x589)) $x600)) (= (= |$x4| (+ ?x86 ?x124)) $x600)))) +(let ((@x585 (monotonicity (rewrite (= ?x132 (+ ?x86 ?x124))) (= $x137 (= |$x4| (+ ?x86 ?x124)))))) +(let ((@x480 (monotonicity (monotonicity (rewrite (= $x109 $x109)) (= ?x124 ?x124)) (= ?x132 ?x132)))) +(let ((@x482 (mp (mp (|and-elim| @x429 $x137) (|rewrite*| (= $x137 $x137)) $x137) (monotonicity @x480 (= $x137 $x137)) $x137))) +(let ((@x607 (mp (mp @x482 (monotonicity @x480 (= $x137 $x137)) $x137) (trans @x585 @x604 (= $x137 $x600)) $x600))) +(let ((@x967 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x600) $x835)) @x607 $x835))) +(let (($x888 (<= ?x767 0))) +(let ((@x977 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x768) $x888)) @x775 $x888))) +(let ((@x1117 ((_ |th-lemma| arith farkas -1 1 -1 1 -1 -1 1 1 -1 1 1 -1 -2 1) @x1082 @x1116 @x978 @x977 @x967 @x963 @x962 @x958 @x934 @x1115 @x945 @x1114 @x1088 @x1113 false))) +(let ((@x1121 (lemma @x1117 (or $x865 (not $x928) (not $x908) $x981 $x905 (not $x925) $x1119)))) +(let ((@x869 (|def-axiom| (or $x698 $x864)))) +(let ((@x1127 (|unit-resolution| @x869 (|unit-resolution| @x1121 @x1114 @x978 @x963 @x958 @x1115 @x1116 $x865) $x864))) +(let ((@x1129 ((_ |th-lemma| arith farkas -1 1 -1 1 -1 -1 1 1 -1 1 1 -1 1) @x1082 @x1116 @x978 @x977 @x967 @x963 @x962 @x958 @x934 @x1115 @x945 @x1114 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1070 $x1026)) @x1127 $x1026) false))) +(let ((@x1131 (lemma @x1129 (or $x1119 (not $x928) (not $x908) $x981 $x905 (not $x925))))) +(let ((@x1192 (|unit-resolution| @x1131 @x1191 @x978 @x963 @x958 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 2) (or $x928 (not $x926) $x586)) @x1009 @x935 $x928) $x1119))) +(let ((@x1139 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1094 $x1086)) (hypothesis $x855) (hypothesis $x1119) false))) +(let ((@x1140 (lemma @x1139 (or $x1094 $x1086)))) +(let ((@x1195 (|unit-resolution| @x858 (|unit-resolution| @x860 (|unit-resolution| @x1140 @x1192 $x1094) $x670) $x854))) +(let (($x1022 (<= (+ |$x5| ?x654) 0))) +(let ((@x1201 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x642 (not $x922) (not $x844) $x586 $x614)) @x1010 @x934 @x935 @x1188 $x642))) +(let ((@x849 (|def-axiom| (or $x847 $x845)))) +(let ((@x1041 ((_ |th-lemma| arith triangle-eq) (or (not $x845) $x1022)))) +(let ((@x1207 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1) (or $x698 (not $x1183) (not $x862) $x614 (not $x1022) (not $x853))))) +(let ((@x1208 (|unit-resolution| @x1207 @x1010 @x1100 @x1046 (|unit-resolution| @x1041 (|unit-resolution| @x849 @x1201 $x845) $x1022) (|unit-resolution| @x1197 @x1195 $x1183) $x698))) +(let (($x843 (<= ?x627 0))) +(let ((@x1079 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x628) $x843)) @x635 $x843))) +(let (($x1179 (>= (+ ?x149 ?x626) 0))) +(let ((@x1213 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x837) $x1179)) (|unit-resolution| (|def-axiom| (or $x614 $x837)) @x1010 $x837) $x1179))) +(let ((@x1214 ((_ |th-lemma| arith farkas -1 -1 1 1 -1 -1 1 1 1 -1 -1 1 1) @x1082 @x978 @x977 @x1009 @x967 @x963 @x962 @x958 (|unit-resolution| @x1197 @x1195 $x1183) @x1100 @x1213 @x1079 (|unit-resolution| @x1112 (|unit-resolution| @x867 @x1208 $x863) $x1087) false))) +(let ((@x1221 (|unit-resolution| (lemma @x1214 (or $x614 (not $x908) $x981 $x905 $x586)) @x935 @x963 @x958 @x978 $x614))) +(let ((@x1075 ((_ |th-lemma| arith triangle-eq) (or (not $x836) $x916)))) +(let ((@x1225 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x642 (not $x844) $x586 $x838 (not $x925))) (|unit-resolution| @x940 (|unit-resolution| @x840 @x1221 $x836) $x925) @x934 @x935 @x1221 $x642))) +(let ((@x1038 ((_ |th-lemma| arith triangle-eq) (or (not $x845) $x1023)))) +(let ((@x1228 (|unit-resolution| @x1131 (|unit-resolution| @x940 (|unit-resolution| @x840 @x1221 $x836) $x925) @x978 @x963 @x958 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 2) (or $x928 (not $x926) $x586)) @x1009 @x935 $x928) $x1119))) +(let ((@x1231 (|unit-resolution| @x858 (|unit-resolution| @x860 (|unit-resolution| @x1140 @x1228 $x1094) $x670) $x854))) +(let ((@x1055 ((_ |th-lemma| arith triangle-eq) (or (not $x854) $x920)))) +(let (($x1150 (not $x916))) +(let (($x1064 (not $x1023))) +(let (($x1060 (not $x926))) +(let (($x980 (not $x908))) +(let ((@x1147 (hypothesis $x916))) +(let (($x852 (<= ?x655 0))) +(let ((@x1059 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x656) $x852)) @x663 $x852))) +(let ((@x946 (hypothesis $x920))) +(let ((@x1181 (hypothesis $x926))) +(let ((@x1182 ((_ |th-lemma| arith farkas -1 -1 1 1 -1 -1 1 1 -1 1 -2 2 -1 1 1) @x1082 @x978 @x977 @x1181 @x967 @x963 @x962 @x958 @x946 @x945 (hypothesis $x1023) @x1059 @x1147 @x1079 (hypothesis $x1026) false))) +(let ((@x1233 (|unit-resolution| (lemma @x1182 (or $x1149 $x980 $x1060 $x981 $x905 $x953 $x1064 $x1150)) @x1009 @x978 @x963 @x958 (|unit-resolution| @x1055 @x1231 $x920) (|unit-resolution| @x1038 (|unit-resolution| @x849 @x1225 $x845) $x1023) (|unit-resolution| @x1075 (|unit-resolution| @x840 @x1221 $x836) $x916) $x1149))) +(let ((@x1153 (hypothesis $x1149))) +(let ((@x1155 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1070 $x1026)) (hypothesis $x864) @x1153 false))) +(let ((@x1156 (lemma @x1155 (or $x1070 $x1026)))) +(let ((@x1236 (|unit-resolution| @x867 (|unit-resolution| @x869 (|unit-resolution| @x1156 @x1233 $x1070) $x698) $x863))) +(let ((@x1238 ((_ |th-lemma| arith farkas -1 -1 1 1 -1 -1 1 1 -1 1 -2 2 -2 -1 1 1) @x1082 @x978 @x977 @x1009 @x967 @x963 @x962 @x958 (|unit-resolution| @x1055 @x1231 $x920) @x945 (|unit-resolution| @x1038 (|unit-resolution| @x849 @x1225 $x845) $x1023) @x1059 (|unit-resolution| @x869 (|unit-resolution| @x1156 @x1233 $x1070) $x698) (|unit-resolution| @x1075 (|unit-resolution| @x840 @x1221 $x836) $x916) @x1079 (|unit-resolution| @x1112 @x1236 $x1087) false))) +(let ((@x1219 (|unit-resolution| (lemma @x1238 (or $x586 $x980 $x981 $x905)) @x963 @x978 @x958 $x586))) +(let (($x827 (= |$x3| ?x589))) +(let ((@x831 (|def-axiom| (or $x829 $x827)))) +(let ((@x972 ((_ |th-lemma| arith triangle-eq) (or (not $x827) $x928)))) +(let ((@x1241 (|unit-resolution| @x972 (|unit-resolution| @x831 @x1219 $x827) $x928))) +(let ((@x1258 (|unit-resolution| @x1140 (|unit-resolution| @x1131 @x1191 @x978 @x963 @x958 @x1241 $x1119) $x1094))) +(let ((@x1261 (|unit-resolution| @x1197 (|unit-resolution| @x858 (|unit-resolution| @x860 @x1258 $x670) $x854) $x1183))) +(let ((@x1248 (hypothesis $x1183))) +(let ((@x1251 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 2) (or $x698 (not $x1183) (not $x862) $x614 (not $x853) (not $x1180) $x642)))) +(let ((@x1253 (|unit-resolution| @x867 (|unit-resolution| @x1251 @x1091 @x1046 @x1100 @x1010 @x1248 @x1247 $x698) $x863))) +(let ((@x1011 (hypothesis $x904))) +(let ((@x1255 ((_ |th-lemma| arith farkas 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1) @x1082 @x1248 @x1100 @x1091 @x978 @x977 @x967 @x963 @x962 @x1011 @x934 @x1188 @x1116 @x1010 (|unit-resolution| @x1112 @x1253 $x1087) false))) +(let ((@x1262 (|unit-resolution| (lemma @x1255 (or $x642 (not $x1183) $x980 $x981 $x1013 (not $x928) $x614)) @x1261 @x978 @x963 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x905 $x904)) @x958 $x904) @x1241 @x1010 $x642))) +(let ((@x1265 (|unit-resolution| @x1207 (|unit-resolution| @x1041 (|unit-resolution| @x849 @x1262 $x845) $x1022) @x1100 @x1010 @x1261 @x1046 $x698))) +(let ((@x1268 ((_ |th-lemma| arith farkas -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1) @x1079 @x1213 (|unit-resolution| @x1112 (|unit-resolution| @x867 @x1265 $x863) $x1087) @x1082 @x1261 @x1100 @x978 @x977 @x967 @x963 @x962 @x958 @x1241 @x1219 false))) +(let ((@x1272 (|unit-resolution| (lemma @x1268 (or $x614 $x980 $x981 $x905)) @x963 @x978 @x958 $x614))) +(let ((@x1282 (|unit-resolution| @x1131 (|unit-resolution| @x940 (|unit-resolution| @x840 @x1272 $x836) $x925) @x978 @x963 @x958 @x1241 $x1119))) +(let ((@x1284 (|unit-resolution| @x860 (|unit-resolution| @x1140 @x1282 $x1094) $x670))) +(let (($x1271 (>= (+ ?x180 ?x654) 0))) +(let ((@x1287 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x846) $x1271)) (|unit-resolution| (|def-axiom| (or $x642 $x846)) @x1091 $x846) $x1271))) +(let ((@x1290 (|unit-resolution| @x1112 (|unit-resolution| @x867 (|unit-resolution| @x1279 @x1091 @x1284 $x698) $x863) $x1087))) +(let ((@x1293 ((_ |th-lemma| arith farkas -1 1 -1 1 1 -1 1 1 -1 -1 -1 1 -1 1 1) (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1284 $x854) $x1183) @x1100 @x1290 @x1082 @x978 @x977 @x967 @x963 @x962 @x958 @x1241 @x1287 @x1059 @x1219 @x1284 false))) +(let ((@x1298 (|unit-resolution| (lemma @x1293 (or $x642 $x980 $x981 $x905)) @x963 @x978 @x958 $x642))) +(let ((@x1144 (|unit-resolution| @x972 (|unit-resolution| @x831 (hypothesis $x586) $x827) $x928))) +(let ((@x1148 ((_ |th-lemma| arith farkas -1/2 1/2 1 -1 -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1) @x1079 @x1147 (hypothesis $x1023) @x1059 (hypothesis $x1026) @x1082 @x1144 @x978 @x977 @x967 @x963 @x962 @x958 @x945 @x946 (hypothesis $x586) false))) +(let ((@x1301 (|unit-resolution| (lemma @x1148 (or $x1149 $x1150 $x1064 $x980 $x981 $x905 $x953 $x829)) (|unit-resolution| @x1038 (|unit-resolution| @x849 @x1298 $x845) $x1023) @x1219 @x978 @x963 @x958 (|unit-resolution| @x1075 (|unit-resolution| @x840 @x1272 $x836) $x916) (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1284 $x854) $x920) $x1149))) +(let ((@x1304 (|unit-resolution| @x867 (|unit-resolution| @x869 (|unit-resolution| @x1156 @x1301 $x1070) $x698) $x863))) +(let ((@x1306 ((_ |th-lemma| arith farkas 1 -1 1/2 -1/2 1 1/2 -1/2 -1/2 1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1) (|unit-resolution| @x1038 (|unit-resolution| @x849 @x1298 $x845) $x1023) @x1059 (|unit-resolution| @x1075 (|unit-resolution| @x840 @x1272 $x836) $x916) @x1079 (|unit-resolution| @x869 (|unit-resolution| @x1156 @x1301 $x1070) $x698) (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1284 $x854) $x920) @x945 (|unit-resolution| @x1112 @x1304 $x1087) @x1082 @x978 @x977 @x967 @x963 @x962 @x958 @x1241 @x1219 false))) +(let ((@x1414 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1411 $x911)) (hypothesis $x890) (hypothesis $x981) false))) +(let ((@x1415 (lemma @x1414 (or $x1411 $x911)))) +(let ((@x1417 (|unit-resolution| @x1415 (|unit-resolution| (lemma @x1306 (or $x981 $x980 $x905)) @x958 @x1394 $x981) $x1411))) +(let ((@x894 (|def-axiom| (or $x892 $x890)))) +(let ((@x1418 (|unit-resolution| @x894 @x1417 $x892))) +(let ((@x1440 ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x726 $x782 (not $x907) (not $x889) $x883)))) +(let ((@x1465 (|unit-resolution| @x876 (|unit-resolution| @x1440 @x1418 @x1385 @x1325 @x1399 $x726) $x872))) +(let ((@x1376 ((_ |th-lemma| arith triangle-eq) (or (not $x872) $x910)))) +(let ((@x1466 (|unit-resolution| @x1376 @x1465 $x910))) +(let (($x1031 (not $x925))) +(let (($x992 (not $x922))) +(let ((@x1092 (hypothesis $x856))) +(let ((@x1050 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1) (or $x670 (not $x1022) (not $x844) $x586 $x1031 (not $x853))))) +(let ((@x1317 (|unit-resolution| @x1050 @x1092 @x1046 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 2) (or $x1022 (not $x1180) $x642)) @x1247 @x1091 $x1022) @x935 @x934 $x1031))) +(let ((@x1320 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x614 (not $x1180) $x642 (not $x853) $x670)) @x1092 @x1046 @x1091 @x1247 $x614))) +(let ((@x1324 (lemma (|unit-resolution| @x940 (|unit-resolution| @x840 @x1320 $x836) @x1317 false) (or $x670 $x586 $x642)))) +(let ((@x1330 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 1 -1 1 -1) (or $x992 (not $x844) $x586 (not $x1271) (not $x852) $x856)) (|unit-resolution| @x1324 @x935 @x1091 $x670) @x1059 @x934 @x935 @x1287 $x992))) +(let ((@x1332 (|unit-resolution| @x1055 (|unit-resolution| @x858 (|unit-resolution| @x1324 @x935 @x1091 $x670) $x854) $x920))) +(let ((@x1337 (|unit-resolution| @x1197 (|unit-resolution| @x858 (|unit-resolution| @x1324 @x935 @x1091 $x670) $x854) $x1183))) +(let ((@x930 (hypothesis $x917))) +(let ((@x941 (|unit-resolution| @x940 (|unit-resolution| @x840 (hypothesis $x614) $x836) $x925))) +(let ((@x952 ((_ |th-lemma| arith farkas 1 -1 1 -1 1 -1 -1 1 1) (hypothesis $x726) @x950 @x946 @x945 (hypothesis $x614) @x941 @x935 @x934 @x930 false))) +(let ((@x1343 (|unit-resolution| (lemma @x952 (or $x586 (not $x726) $x953 $x838 $x954)) (|unit-resolution| @x1341 @x1337 @x1082 @x1091 @x1100 @x1336 $x726) @x1335 @x935 @x1332 $x838))) +(let ((@x1345 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x837) $x922)) (|unit-resolution| (|def-axiom| (or $x614 $x837)) @x1343 $x837) @x1330 false))) +(let ((@x1379 (|unit-resolution| @x831 (|unit-resolution| (lemma @x1345 (or $x586 $x642)) @x1091 $x586) $x827))) +(let ((@x1380 (|unit-resolution| @x972 @x1379 $x928))) +(let (($x1352 (>= (+ ?x335 ?x794) 0))) +(let ((@x1407 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1368 $x1352)) (hypothesis $x891) (hypothesis (not $x1352)) false))) +(let ((@x1408 (lemma @x1407 (or $x1368 $x1352)))) +(let ((@x1420 (|unit-resolution| @x1408 (|unit-resolution| (|def-axiom| (or $x782 $x891)) @x1418 $x891) $x1352))) +(let ((@x1097 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1094 $x1027)) (|unit-resolution| @x860 @x1092 $x855) $x1027))) +(let ((@x1359 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x1183 $x920)) (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 2) (or $x953 (not $x1027) $x670)) @x1097 @x1092 $x953) $x1183))) +(let ((@x1361 (|unit-resolution| @x876 (|unit-resolution| @x1341 @x1359 @x1082 @x1100 @x1091 @x1336 $x726) $x872))) +(let ((@x1106 ((_ |th-lemma| arith farkas 1 1 1 1 1 1 1 1 1) @x1105 @x1104 @x1100 @x1092 @x978 @x977 @x1097 @x1091 (hypothesis $x782) false))) +(let ((@x1366 (|unit-resolution| (lemma @x1106 (or $x642 $x1107 $x670 $x980 $x892)) (|unit-resolution| @x1364 @x1361 $x914) @x1091 @x978 @x1092 $x892))) +(let ((@x896 (|def-axiom| (or $x782 $x891)))) +(let ((@x1371 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1368 $x1352)) (|unit-resolution| @x896 @x1366 $x891) $x1352))) +(let (($x880 (>= ?x739 0))) +(let ((@x1374 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x740) $x880)) @x747 $x880))) +(let ((@x1382 (|unit-resolution| @x1140 (|unit-resolution| @x860 @x1092 $x855) $x1086))) +(let ((@x1386 (hypothesis $x907))) +(let ((@x1387 ((_ |th-lemma| arith farkas 1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 -2 2 1) @x1082 @x1386 @x1385 @x1336 @x945 @x1382 @x962 @x958 @x967 (|unit-resolution| @x940 (|unit-resolution| @x840 @x1320 $x836) $x925) @x934 @x1380 (|unit-resolution| @x1376 @x1361 $x910) @x1374 @x1371 false))) +(let ((@x1421 (|unit-resolution| (lemma @x1387 (or $x670 (not $x907) $x905 $x642 $x980)) @x1091 @x958 @x1399 @x1394 $x670))) +(let ((@x1401 ((_ |th-lemma| arith farkas -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1) @x950 @x930 @x946 @x945 (hypothesis $x1352) @x1399 @x1385 @x962 @x958 @x967 @x1115 @x934 @x1116 @x1325 false))) +(let ((@x1424 (|unit-resolution| (lemma @x1401 (or (not $x1352) $x954 $x953 $x905 $x1031 (not $x928) $x883)) (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1421 $x854) $x920) @x1420 @x958 @x1380 @x1335 @x1325 $x1031))) +(let ((@x1426 (|unit-resolution| @x1341 @x1336 @x1082 @x1091 (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1421 $x854) $x1183) @x1100 $x726))) +(let ((@x1429 (|unit-resolution| @x1351 (|unit-resolution| @x1364 (|unit-resolution| @x876 @x1426 $x872) $x914) @x1091 @x1325 $x614))) +(let ((@x1433 (lemma (|unit-resolution| @x940 (|unit-resolution| @x840 @x1429 $x836) @x1424 false) (or $x642 $x883 $x905)))) +(let ((@x1469 (|unit-resolution| @x1038 (|unit-resolution| @x849 (|unit-resolution| @x1433 @x958 @x1325 $x642) $x845) $x1023))) +(let ((@x1436 (|unit-resolution| @x1041 (|unit-resolution| @x849 (hypothesis $x642) $x845) $x1022))) +(let ((@x1442 (|unit-resolution| @x876 (|unit-resolution| @x1440 (hypothesis $x892) @x1385 @x1325 @x1399 $x726) $x872))) +(let ((@x1448 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1) (or $x698 $x782 (not $x910) (not $x880) (not $x907) (not $x889))))) +(let ((@x1449 (|unit-resolution| @x1448 (|unit-resolution| @x1376 @x1442 $x910) @x1385 (hypothesis $x892) @x1399 @x1374 $x698))) +(let ((@x1434 (hypothesis $x642))) +(let ((@x1452 ((_ |th-lemma| arith farkas -1 1 -1 -1 -1 1 1 -1 1) @x1434 @x950 (|unit-resolution| @x1173 (|unit-resolution| @x867 @x1449 $x863) $x917) @x1325 (|unit-resolution| @x1364 @x1442 $x914) @x1104 @x1010 @x1046 @x1436 false))) +(let ((@x1470 (|unit-resolution| (lemma @x1452 (or $x614 $x847 $x883 $x782)) (|unit-resolution| @x1433 @x958 @x1325 $x642) @x1325 @x1418 $x614))) +(let (($x1065 (not $x852))) +(let (($x1446 (not $x880))) +(let (($x1445 (not $x910))) +(let (($x1438 (not $x889))) +(let (($x1388 (not $x907))) +(let (($x990 (not $x861))) +(let ((@x1473 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -1 -1 1 1 -1 1 1 -1) (or $x953 $x990 $x782 $x1388 $x1438 $x1064 $x1445 $x1446 $x838 $x1065)) @x1418 @x945 @x1374 @x1385 @x1059 @x1399 @x1470 @x1469 @x1466 $x953))) +(let ((@x1474 (|unit-resolution| @x1041 (|unit-resolution| @x849 (|unit-resolution| @x1433 @x958 @x1325 $x642) $x845) $x1022))) +(let ((@x1478 (|unit-resolution| @x867 (|unit-resolution| @x1448 @x1466 @x1385 @x1418 @x1399 @x1374 $x698) $x863))) +(let ((@x1455 (hypothesis $x1087))) +(let ((@x1458 (|unit-resolution| @x831 (|unit-resolution| @x1050 @x1092 @x1046 (hypothesis $x1022) @x1115 @x934 $x586) $x827))) +(let ((@x1460 (hypothesis $x910))) +(let ((@x1461 ((_ |th-lemma| arith farkas -1 -2 2 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1) @x945 @x1460 @x1374 @x1386 @x1385 (hypothesis $x1352) @x962 @x958 @x967 (|unit-resolution| @x972 @x1458 $x928) @x1082 @x1455 @x1115 @x934 @x1382 false))) +(let ((@x1463 (lemma @x1461 (or $x670 $x1445 $x1388 (not $x1352) $x905 (not $x1087) $x1031 (not $x1022))))) +(let ((@x1480 (|unit-resolution| @x1463 @x1466 @x1399 @x1420 @x958 (|unit-resolution| @x1112 @x1478 $x1087) (|unit-resolution| @x940 (|unit-resolution| @x840 @x1470 $x836) $x925) @x1474 $x670))) +(let ((@x1484 (lemma (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1480 $x854) @x1473 false) (or $x905 $x883)))) +(let (($x804 (not $x70))) +(let ((@x1514 (|unit-resolution| @x876 (|unit-resolution| @x1341 @x1359 @x1082 @x1091 @x1336 @x1100 $x726) $x872))) +(let (($x919 (>= (+ |$x3| ?x598) 0))) +(let ((@x1517 ((_ |th-lemma| arith triangle-eq) (or (not $x827) $x919)))) +(let ((@x1518 (|unit-resolution| @x1517 @x1379 $x919))) +(let ((@x1519 (|unit-resolution| (lemma @x1106 (or $x642 $x1107 $x670 $x980 $x892)) (|unit-resolution| @x1364 @x1514 $x914) @x1091 @x978 @x1092 $x892))) +(let ((@x1523 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1368 $x1496)) (|unit-resolution| @x896 @x1519 $x891) $x1496))) +(let ((@x1497 (hypothesis $x1027))) +(let ((@x1498 (hypothesis $x919))) +(let (($x834 (<= ?x599 0))) +(let ((@x1501 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x600) $x834)) @x607 $x834))) +(let ((@x1502 (hypothesis $x1013))) +(let (($x898 (>= ?x795 0))) +(let ((@x1505 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x796) $x898)) @x803 $x898))) +(let ((@x1507 ((_ |th-lemma| arith farkas 1/2 -1 -1/2 -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1) @x930 @x1104 @x950 (hypothesis $x1496) @x1505 @x1502 @x1501 @x1498 @x1079 @x978 @x977 @x1147 @x1497 @x1100 @x1105 false))) +(let ((@x1511 (lemma @x1507 (or $x904 $x954 $x1508 (not $x919) $x980 $x1150 (not $x1027) $x1107)))) +(let ((@x1524 (|unit-resolution| @x1511 @x1523 @x1335 @x1518 @x978 @x1147 @x1097 (|unit-resolution| @x1364 @x1514 $x914) $x904))) +(let ((@x1526 ((_ |th-lemma| arith triangle-eq) (or $x71 $x1013 $x957)))) +(let (($x807 (or $x804 $x806))) +(let ((@x816 (monotonicity (rewrite (= $x72 (not $x807))) (= (not $x72) (not (not $x807)))))) +(let ((@x814 (trans @x816 (rewrite (= (not (not $x807)) $x807)) (= (not $x72) $x807)))) +(let (($x439 (not $x72))) +(let ((@x815 (mp (mp (|not-or-elim| @x428 $x439) (|rewrite*| (= $x439 $x439)) $x439) @x814 $x807))) +(let ((@x1528 (|unit-resolution| @x815 (|unit-resolution| @x1526 @x1524 (hypothesis $x905) $x71) $x804))) +(let (($x901 (>= (+ |$x1| ?x335) 0))) +(let (($x558 (>= |$x2| 0))) +(let ((?x561 (ite $x558 |$x2| ?x86))) +(let ((?x570 (* (~ 1) ?x561))) +(let ((?x571 (+ |$x3| |$x1| ?x570))) +(let (($x826 (>= ?x571 0))) +(let (($x572 (= ?x571 0))) +(let ((@x566 (monotonicity (monotonicity (rewrite (= $x76 $x558)) (= ?x92 ?x561)) (= (+ ?x100 ?x92) (+ ?x100 ?x561))))) +(let ((@x569 (monotonicity @x566 (= (= |$x3| (+ ?x100 ?x92)) (= |$x3| (+ ?x100 ?x561)))))) +(let ((@x576 (trans @x569 (rewrite (= (= |$x3| (+ ?x100 ?x561)) $x572)) (= (= |$x3| (+ ?x100 ?x92)) $x572)))) +(let ((@x557 (monotonicity (rewrite (= ?x101 (+ ?x100 ?x92))) (= $x106 (= |$x3| (+ ?x100 ?x92)))))) +(let ((@x474 (monotonicity (monotonicity (rewrite (= $x76 $x76)) (= ?x92 ?x92)) (= ?x101 ?x101)))) +(let ((@x476 (mp (mp (|and-elim| @x429 $x106) (|rewrite*| (= $x106 $x106)) $x106) (monotonicity @x474 (= $x106 $x106)) $x106))) +(let ((@x579 (mp (mp @x476 (monotonicity @x474 (= $x106 $x106)) $x106) (trans @x557 @x576 (= $x106 $x572)) $x572))) +(let ((@x1533 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x572) $x826)) @x579 $x826))) +(let (($x1485 (<= (+ |$x2| ?x570) 0))) +(let (($x808 (= |$x2| ?x561))) +(let ((@x1535 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1) (or $x558 (not $x835) $x642 $x1031 (not $x844) (not $x928))))) +(let ((@x820 (|def-axiom| (or (not $x558) $x808)))) +(let ((@x1537 (|unit-resolution| @x820 (|unit-resolution| @x1535 @x1115 @x934 @x1091 @x1380 @x967 $x558) $x808))) +(let ((@x1540 ((_ |th-lemma| arith triangle-eq) (or (not $x808) $x1485)))) +(let ((@x1542 ((_ |th-lemma| arith assign-bounds 1 -3/2 3/2 -1 1/2 -1/2 1/2 -1/2 -1 1 1/2 -1/2 -1/2 1/2 1/2 -1/2 1/2) (|unit-resolution| @x1540 @x1537 $x1485) @x967 @x1380 @x1533 @x1336 @x978 @x977 @x1082 @x1287 @x1059 @x1097 @x1100 (|unit-resolution| @x1408 (|unit-resolution| @x896 @x1519 $x891) $x1352) @x962 @x1524 @x934 @x1115 $x901))) +(let (($x825 (<= ?x571 0))) +(let ((@x1545 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x572) $x825)) @x579 $x825))) +(let (($x1486 (>= (+ |$x2| ?x570) 0))) +(let ((@x1547 ((_ |th-lemma| arith triangle-eq) (or (not $x808) $x1486)))) +(let ((@x1549 ((_ |th-lemma| arith assign-bounds 1 -3/2 3/2 -1 1/2 -1/2 1/2 -1/2 -1 1 1/2 -1/2 -1/2 1/2 1/2 -1/2 1/2) (|unit-resolution| @x1547 @x1537 $x1486) @x1501 @x1518 @x1545 @x1335 @x1386 @x1385 @x950 @x1247 @x1046 @x1382 @x945 @x1523 @x1505 (hypothesis $x905) @x1079 @x1147 $x900))) +(let ((@x1553 ((_ |th-lemma| arith triangle-eq) (or $x70 (not $x900) (not $x901))))) +(let ((@x1556 (lemma (|unit-resolution| @x1553 @x1549 @x1542 @x1528 false) (or $x670 $x1388 $x957 $x1150 $x980 $x1031 $x642)))) +(let ((@x1578 (|unit-resolution| @x1556 (|unit-resolution| @x1075 @x1574 $x916) (|unit-resolution| @x1484 @x1325 $x905) @x1399 @x1394 (|unit-resolution| @x940 @x1574 $x925) @x1091 $x670))) +(let (($x1551 (not $x901))) +(let ((@x1580 (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1578 $x854) $x1183))) +(let ((@x1585 (|unit-resolution| @x876 (|unit-resolution| @x1341 @x1580 @x1082 @x1091 @x1336 @x1100 $x726) $x872))) +(let ((@x1586 (|unit-resolution| @x1364 @x1585 $x914))) +(let ((@x1562 (|unit-resolution| @x876 (|unit-resolution| @x1341 @x1276 @x1082 @x1091 @x1336 @x1100 $x726) $x872))) +(let ((@x1564 ((_ |th-lemma| arith farkas -1 -1 -1 1 -1 1 -1 1 1) @x1273 (hypothesis $x782) @x978 @x977 @x1100 @x1091 (|unit-resolution| @x1364 @x1562 $x914) @x1104 @x1276 false))) +(let ((@x1587 (|unit-resolution| (lemma @x1564 (or $x892 $x856 $x980 $x642)) @x1578 @x1394 @x1091 $x892))) +(let ((@x1558 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1368 $x1496)) (hypothesis $x891) (hypothesis $x1508) false))) +(let ((@x1559 (lemma @x1558 (or $x1368 $x1496)))) +(let ((@x1590 (|unit-resolution| @x1511 (|unit-resolution| @x1559 (|unit-resolution| @x896 @x1587 $x891) $x1496) @x1586 @x1518 @x1394 (|unit-resolution| @x1075 @x1574 $x916) (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x1027 $x856 (not $x1183))) @x1580 @x1578 $x1027) @x1335 $x904))) +(let ((@x1592 (|unit-resolution| @x815 (|unit-resolution| @x1526 @x1590 (|unit-resolution| @x1484 @x1325 $x905) $x71) $x804))) +(let ((@x1593 (|unit-resolution| @x1535 (|unit-resolution| @x940 @x1574 $x925) @x934 @x1091 @x1380 @x967 $x558))) +(let ((@x1567 (hypothesis (not $x900)))) +(let ((@x1569 ((_ |th-lemma| arith farkas 1 -1 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1) @x930 @x950 @x1105 @x1104 @x946 @x1399 @x1385 @x945 (hypothesis $x1486) @x1501 @x1498 @x1545 @x1567 (hypothesis $x1180) @x1046 @x1325 false))) +(let ((@x1572 (lemma @x1569 (or $x900 $x954 $x1107 $x953 (not $x1486) (not $x919) (not $x1180) $x883)))) +(let ((@x1597 (|unit-resolution| @x1572 @x1335 @x1586 (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1578 $x854) $x920) (|unit-resolution| @x1547 (|unit-resolution| @x820 @x1593 $x808) $x1486) @x1518 @x1247 @x1325 $x900))) +(let ((@x1600 ((_ |th-lemma| arith farkas -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1) @x1580 @x1394 @x977 @x1100 @x1586 @x1104 (|unit-resolution| @x1540 (|unit-resolution| @x820 @x1593 $x808) $x1485) @x967 @x1380 @x1533 (|unit-resolution| @x1553 @x1597 @x1592 $x1551) @x1287 @x1059 @x1578 false))) +(let ((@x887 (|def-axiom| (or $x754 $x882)))) +(let ((@x1646 (|unit-resolution| @x887 (|unit-resolution| (lemma @x1600 (or $x642 $x883)) @x1091 $x883) $x882))) +(let ((@x1652 ((_ |th-lemma| arith triangle-eq) (or (not $x882) $x1616)))) +(let ((@x1653 (|unit-resolution| @x1652 @x1646 $x1616))) +(let ((@x1617 (hypothesis $x883))) +(let ((@x1620 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1) (or $x1445 (not $x1087) $x1446 $x754 (not $x871) $x670)) @x1092 @x1374 @x1617 @x1113 @x1082 $x1445))) +(let ((@x1623 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x726 $x865 (not $x1087) (not $x871) $x670)) @x1092 @x1082 @x1088 @x1113 $x726))) +(let ((@x1627 (lemma (|unit-resolution| @x1376 (|unit-resolution| @x876 @x1623 $x872) @x1620 false) (or $x670 $x865 $x754)))) +(let ((@x1637 (|unit-resolution| @x1627 (|unit-resolution| (lemma @x1311 (or $x698 $x642)) @x1091 $x698) (|unit-resolution| (lemma @x1600 (or $x642 $x883)) @x1091 $x883) $x670))) +(let ((@x1639 (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1637 $x854) $x1183))) +(let ((@x1642 (|unit-resolution| (|unit-resolution| @x1341 @x1082 @x1100 (or $x726 (not $x1087) (not $x1183) $x642)) @x1639 @x1091 @x1336 $x726))) +(let ((@x1644 (|unit-resolution| @x1364 (|unit-resolution| @x876 @x1642 $x872) $x914))) +(let ((@x1645 (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1637 $x854) $x920))) +(let (($x1607 (<= (+ ?x304 ?x766) 0))) +(let ((@x1649 ((_ |th-lemma| arith triangle-eq) (or (not $x882) $x1607)))) +(let ((@x1650 (|unit-resolution| @x1649 @x1646 $x1607))) +(let ((@x1654 (|unit-resolution| @x1376 (|unit-resolution| @x876 @x1642 $x872) $x910))) +(let ((@x1658 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 2) (or $x558 (not $x835) $x642 (not $x844) $x992 (not $x928) $x614)) @x934 @x967 (or $x558 $x642 $x992 (not $x928) $x614)))) +(let ((@x1660 (|unit-resolution| @x820 (|unit-resolution| @x1658 @x1188 @x1380 @x1091 @x1010 $x558) $x808))) +(let (($x1205 (not $x862))) +(let (($x1204 (not $x1183))) +(let (($x1338 (not $x871))) +(let (($x1339 (not $x1087))) +(let (($x1061 (not $x888))) +(let (($x1633 (not $x1616))) +(let (($x1327 (not $x1271))) +(let (($x1118 (not $x928))) +(let (($x1663 (not $x826))) +(let (($x1062 (not $x835))) +(let (($x1662 (not $x1485))) +(let (($x1664 (or $x901 $x1662 $x1062 $x1663 $x1118 $x1327 $x1065 $x1633 $x1061 $x1339 $x1338 $x1204 $x1205 $x1445 $x1446))) +(let ((@x1666 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 1 -1 1 2 -2 1 -1 1 -1) $x1664) (|unit-resolution| @x1540 @x1660 $x1485) @x1059 @x1100 @x1082 @x1374 @x977 @x1533 @x1380 @x1639 @x1336 @x1287 @x1654 @x1653 @x967 $x901))) +(let (($x1671 (not $x879))) +(let (($x989 (not $x870))) +(let (($x1670 (not $x1607))) +(let (($x1048 (not $x853))) +(let (($x1249 (not $x1180))) +(let (($x1509 (not $x919))) +(let (($x1669 (not $x825))) +(let (($x1668 (not $x834))) +(let (($x1570 (not $x1486))) +(let (($x1672 (or $x900 $x1570 $x1668 $x1669 $x1509 $x1249 $x1048 $x1670 $x1438 $x954 $x989 $x953 $x990 $x1107 $x1671))) +(let ((@x1673 ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 1 -1 1 2 -2 1 -1 1 -1) $x1672))) +(let ((@x1674 (|unit-resolution| @x1673 (|unit-resolution| @x1547 @x1660 $x1486) @x1046 @x945 @x950 @x1104 @x1385 @x1545 @x1645 @x1335 @x1644 @x1518 @x1247 @x1501 @x1650 $x900))) +(let ((@x1678 ((_ |th-lemma| arith assign-bounds 1 1 2 2 1 1 1 1 1 1 1) (or $x782 $x1670 $x1438 $x954 $x989 $x953 $x990 $x1249 $x1048 $x614 $x1107 $x1671)))) +(let ((@x1679 (|unit-resolution| @x1678 @x1010 @x945 @x950 @x1104 @x1385 @x1046 @x1645 @x1335 @x1644 @x1247 @x1650 $x782))) +(let ((@x1629 (hypothesis $x922))) +(let ((@x1632 ((_ |th-lemma| arith farkas -1 1 1 -1 1 -1 -2 2 -1 1 3 -3 1 -1 2 -2 1) @x963 @x962 @x958 @x967 @x1116 @x934 (hypothesis $x1271) @x1059 (hypothesis $x1616) @x977 @x1455 @x1082 @x1248 @x1100 @x1460 @x1374 @x1629 false))) +(let ((@x1682 (|unit-resolution| (lemma @x1632 (or $x905 $x981 $x1118 $x1327 $x1633 $x1339 $x1204 $x1445 $x992)) (|unit-resolution| @x1415 (|unit-resolution| @x894 @x1679 $x890) $x911) @x1380 @x1287 @x1653 @x1336 @x1639 @x1654 @x1188 $x905))) +(let ((@x1683 (|unit-resolution| @x1526 @x1682 (|unit-resolution| @x815 (|unit-resolution| @x1553 @x1674 @x1666 $x70) $x806) $x1013))) +(let ((@x1685 ((_ |th-lemma| arith triangle-eq) (or $x1411 $x1628)))) +(let ((@x1687 ((_ |th-lemma| arith farkas -1 1 1 -1 1 -1 -2 2 -1 1 3 -3 1 -1 2 -2 1) (|unit-resolution| @x1685 (|unit-resolution| @x894 @x1679 $x890) $x1628) @x1505 @x1683 @x1501 @x1518 @x1079 @x1247 @x1046 @x1650 @x1385 @x1335 @x950 @x1645 @x945 @x1644 @x1104 @x1213 false))) +(let ((@x1700 (|unit-resolution| @x840 (|unit-resolution| (lemma @x1687 (or $x614 $x642)) @x1091 $x614) $x836))) +(let ((@x1702 (|unit-resolution| @x940 @x1700 $x925))) +(let ((@x1705 (|unit-resolution| (|unit-resolution| @x1535 @x934 @x967 (or $x558 $x642 $x1031 $x1118)) @x1702 @x1091 @x1380 $x558))) +(let ((@x1708 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 1 -1 1 2 -2 1 -1 1 -1) $x1664) (|unit-resolution| @x1540 (|unit-resolution| @x820 @x1705 $x808) $x1485) @x1059 @x1100 @x1082 @x1374 @x977 @x967 @x1380 @x1639 @x1336 @x1287 @x1654 @x1653 @x1533 $x901))) +(let ((@x1710 (|unit-resolution| @x1673 (|unit-resolution| @x1547 (|unit-resolution| @x820 @x1705 $x808) $x1486) @x1046 @x945 @x950 @x1104 @x1385 @x1501 @x1645 @x1335 @x1644 @x1518 @x1247 @x1545 @x1650 $x900))) +(let ((@x1715 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x922 $x838 $x1031)) @x1702 (|unit-resolution| (lemma @x1687 (or $x614 $x642)) @x1091 $x614) $x922))) +(let ((@x1690 (|unit-resolution| (lemma @x1632 (or $x905 $x981 $x1118 $x1327 $x1633 $x1339 $x1204 $x1445 $x992)) @x958 @x1116 (hypothesis $x1271) (hypothesis $x1616) @x1455 @x1248 @x1460 @x1629 $x981))) +(let ((@x1693 (|unit-resolution| @x896 (|unit-resolution| @x894 (|unit-resolution| @x1415 @x1690 $x1411) $x892) $x891))) +(let ((@x1696 ((_ |th-lemma| arith farkas -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1) @x962 @x958 @x1115 @x934 @x967 @x1116 @x930 @x950 (hypothesis $x1607) @x1385 @x946 @x945 (|unit-resolution| @x1408 @x1693 $x1352) false))) +(let ((@x1698 (lemma @x1696 (or $x905 $x1031 $x1118 $x954 $x1670 $x953 $x1327 $x1633 $x1339 $x1204 $x1445 $x992)))) +(let ((@x1716 (|unit-resolution| @x1698 @x1702 @x1380 @x1335 @x1650 @x1645 @x1287 @x1653 @x1336 @x1639 @x1654 @x1715 $x905))) +(let ((@x1717 (|unit-resolution| @x1526 @x1716 (|unit-resolution| @x815 (|unit-resolution| @x1553 @x1710 @x1708 $x70) $x806) $x1013))) +(let (($x1719 (not $x843))) +(let (($x1718 (not $x898))) +(let (($x1720 (or $x1508 $x1718 $x904 $x1150 $x1719 $x1668 $x1509 $x1339 $x1338 $x1633 $x1061 $x1204 $x1205))) +(let ((@x1722 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1) $x1720) @x1717 @x1100 @x1082 @x977 @x1505 @x1079 (|unit-resolution| @x1075 @x1700 $x916) @x1518 @x1639 @x1336 @x1501 @x1653 $x1508))) +(let ((@x1725 (|unit-resolution| @x894 (|unit-resolution| @x896 (|unit-resolution| @x1559 @x1722 $x1368) $x782) $x890))) +(let ((@x1727 ((_ |th-lemma| arith farkas -1 -1 -2 -1 1 1 -1 1 -1 -1 1 1 -1 1) @x1505 @x1717 (|unit-resolution| @x896 (|unit-resolution| @x1559 @x1722 $x1368) $x782) (|unit-resolution| @x1075 @x1700 $x916) @x1079 @x1501 @x1518 @x1336 @x1082 @x1653 @x977 @x1639 @x1100 (|unit-resolution| @x1685 @x1725 $x1628) false))) +(let ((@x1728 (lemma @x1727 $x642))) +(let ((@x1785 (|unit-resolution| @x1038 (|unit-resolution| @x849 @x1728 $x845) $x1023))) +(let (($x1946 (>= (+ ?x273 ?x738) 0))) +(let (($x873 (= ?x273 ?x729))) +(let (($x874 (not $x726))) +(let ((@x1948 (hypothesis $x874))) +(let ((@x878 (|def-axiom| (or $x726 $x873)))) +(let ((@x1959 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x873) $x1946)) (|unit-resolution| @x878 @x1948 $x873) $x1946))) +(let (($x1122 (<= (+ ?x273 ?x738) 0))) +(let ((@x1882 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x873) $x1122)) (hypothesis $x873) (hypothesis (not $x1122)) false))) +(let ((@x1883 (lemma @x1882 (or (not $x873) $x1122)))) +(let ((@x1950 (|unit-resolution| @x1883 (|unit-resolution| @x878 @x1948 $x873) $x1122))) +(let (($x1879 (not $x873))) +(let (($x1876 (not $x1122))) +(let ((@x1764 (|unit-resolution| @x1041 (|unit-resolution| @x849 @x1728 $x845) $x1022))) +(let ((@x1606 (lemma ((_ |th-lemma| arith farkas 1 1 1 1 1) @x1434 @x1046 @x1010 @x1092 @x1436 false) (or $x614 $x847 $x670)))) +(let ((@x1767 (|unit-resolution| @x940 (|unit-resolution| @x840 (|unit-resolution| @x1606 @x1092 @x1728 $x614) $x836) $x925))) +(let ((@x1770 (|unit-resolution| (|unit-resolution| @x1050 @x1046 @x934 (or $x670 (not $x1022) $x586 $x1031)) @x1767 @x1764 @x1092 $x586))) +(let ((@x1772 (|unit-resolution| @x1517 (|unit-resolution| @x831 @x1770 $x827) $x919))) +(let ((@x1773 (|unit-resolution| @x1075 (|unit-resolution| @x840 (|unit-resolution| @x1606 @x1092 @x1728 $x614) $x836) $x916))) +(let ((@x1612 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x1026 $x865 $x1339)) (|unit-resolution| @x869 (|unit-resolution| @x1156 @x1153 $x1070) $x698) @x1153 $x1339))) +(let ((@x1613 (|unit-resolution| @x867 (|unit-resolution| @x869 (|unit-resolution| @x1156 @x1153 $x1070) $x698) $x863))) +(let ((@x1733 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 1 -1 1 -1) (or $x1149 $x1338 $x726 $x1119 $x990 $x847)) @x1082 (lemma (|unit-resolution| @x1112 @x1613 @x1612 false) $x1026) @x945 (or $x726 $x1119 $x847)))) +(let ((@x1736 (|unit-resolution| @x1376 (|unit-resolution| @x876 (|unit-resolution| @x1733 @x1382 @x1728 $x726) $x872) $x910))) +(let ((@x1738 ((_ |th-lemma| arith assign-bounds 1 2 2 2 2 2) (or $x1119 $x1204 $x1445 $x1339 $x1446 $x754 $x1338)))) +(let ((@x1742 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x1087 $x917)) (|unit-resolution| @x1738 @x1617 @x1374 @x1082 @x1382 @x1359 @x1736 $x1339) $x917))) +(let ((@x1746 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 1) (or $x954 $x698 $x1149)) (lemma (|unit-resolution| @x1112 @x1613 @x1612 false) $x1026) (or $x954 $x698)))) +(let ((@x1747 (|unit-resolution| @x1746 @x1742 (|unit-resolution| @x1627 @x1617 @x1092 $x865) false))) +(let ((@x1756 (|unit-resolution| @x885 (|unit-resolution| (lemma @x1747 (or $x754 $x670)) @x1092 $x754) $x881))) +(let ((@x1757 (|unit-resolution| @x1398 @x1756 $x907))) +(let ((@x1755 (|unit-resolution| @x1484 (|unit-resolution| (lemma @x1747 (or $x754 $x670)) @x1092 $x754) $x905))) +(let (($x809 (= ?x86 ?x561))) +(let (($x1793 (not $x809))) +(let (($x1753 (>= (+ ?x86 ?x570) 0))) +(let (($x1805 (not $x1753))) +(let ((@x1819 (|unit-resolution| @x1376 (|unit-resolution| @x876 (|unit-resolution| @x1733 @x1114 @x1728 $x726) $x872) $x910))) +(let (($x1047 (not $x1022))) +(let (($x991 (not $x844))) +(let (($x1806 (or $x900 $x1805 $x1031 $x991 $x1062 $x1118 $x1669 $x1047 $x1048 $x1388 $x1438 $x990 $x1445 $x1446 $x1119))) +(let ((@x1820 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1806) @x1567 @x934 @x1046 @x945 @x1374 @x1385 @x967 @x1386 @x1115 @x1764 @x1116 @x1114 @x1819 @x1545 $x1805))) +(let ((@x1815 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1793 $x1753)) (hypothesis $x809) (hypothesis $x1805) false))) +(let ((@x824 (|def-axiom| (or $x558 $x809)))) +(let ((@x1822 (|unit-resolution| @x824 (|unit-resolution| (lemma @x1815 (or $x1793 $x1753)) @x1820 $x1793) $x558))) +(let ((@x1825 ((_ |th-lemma| arith farkas -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1) @x945 @x1114 @x1386 @x1385 @x1819 @x1374 (|unit-resolution| @x1547 (|unit-resolution| @x820 @x1822 $x808) $x1486) @x1545 @x1567 @x1764 @x1046 @x1501 @x1498 @x1728 false))) +(let ((@x1840 (|unit-resolution| (lemma @x1825 (or $x900 $x1119 $x1388 $x1509 $x1031 $x1118)) @x1382 @x1757 @x1772 @x1767 (|unit-resolution| @x972 (|unit-resolution| @x831 @x1770 $x827) $x928) $x900))) +(let ((@x1784 (|unit-resolution| @x1364 (|unit-resolution| @x876 (|unit-resolution| @x1733 @x1382 @x1728 $x726) $x872) $x914))) +(let ((@x1786 (|unit-resolution| @x1393 @x1756 $x908))) +(let (($x1752 (<= (+ ?x86 ?x570) 0))) +(let (($x1797 (not $x1752))) +(let (($x1353 (not $x1027))) +(let (($x1798 (or $x901 $x1797 $x1150 $x1719 $x1668 $x1509 $x1663 $x1064 $x1065 $x980 $x1061 $x1205 $x1107 $x1671 $x1353))) +(let ((@x1832 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1798) (hypothesis $x1551) @x1079 @x1059 @x1100 @x1104 @x977 @x1501 @x978 @x1785 @x1105 @x1497 @x1147 @x1498 @x1533 $x1797))) +(let ((@x1829 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1793 $x1752)) (hypothesis $x809) (hypothesis $x1797) false))) +(let ((@x1834 (|unit-resolution| @x824 (|unit-resolution| (lemma @x1829 (or $x1793 $x1752)) @x1832 $x1793) $x558))) +(let ((@x1837 ((_ |th-lemma| arith farkas 1/2 -1/2 1 -1 -1/2 1/2 1/2 -1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1) @x1100 @x1497 @x1147 @x1079 @x1501 @x1498 @x978 @x977 @x1105 @x1104 (|unit-resolution| @x1540 (|unit-resolution| @x820 @x1834 $x808) $x1485) @x1533 (hypothesis $x1551) @x1785 @x1059 @x1834 false))) +(let ((@x1841 (|unit-resolution| (lemma @x1837 (or $x901 $x1353 $x1150 $x1509 $x980 $x1107)) @x1097 @x1773 @x1772 @x1786 @x1784 $x901))) +(let ((@x1844 (|unit-resolution| @x1526 (|unit-resolution| @x815 (|unit-resolution| @x1553 @x1841 @x1840 $x70) $x806) @x1755 $x1013))) +(let ((@x1760 (|unit-resolution| (|unit-resolution| @x1448 @x1385 @x1374 (or $x698 $x782 $x1445 $x1388)) @x1274 @x1736 @x1757 $x782))) +(let (($x1750 (>= (+ ?x242 ?x710) 0))) +(let ((@x1777 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1070 $x1750)) (|unit-resolution| @x869 @x1274 $x864) $x1750))) +(let (($x1779 (not $x1628))) +(let (($x1778 (not $x1750))) +(let (($x1780 (or $x904 $x1778 $x1779 $x1718 $x989 $x1150 $x1719 $x1668 $x1509 $x1388 $x1438 $x1205 $x1353))) +(let ((@x1781 ((_ |th-lemma| arith assign-bounds 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1) $x1780))) +(let ((@x1782 (|unit-resolution| @x1781 @x1777 @x1100 @x950 @x1385 @x1505 @x1501 @x1757 @x1097 @x1773 @x1772 @x1079 (|unit-resolution| @x1685 (|unit-resolution| @x894 @x1760 $x890) $x1628) $x904))) +(let (($x822 (not $x558))) +(let ((@x1790 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 1 1 1) (or $x822 $x1509 $x1668 $x1719 $x1150 $x698 $x1205 $x670 $x1353)) @x1079 @x1100 @x1501 (or $x822 $x1509 $x1150 $x698 $x670 $x1353)))) +(let ((@x1792 (|unit-resolution| @x824 (|unit-resolution| @x1790 @x1274 @x1092 @x1097 @x1773 @x1772 $x822) $x809))) +(let ((@x1800 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1798) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1793 $x1752)) @x1792 $x1752) @x1079 @x1059 @x1100 @x1104 @x977 @x1533 @x1786 @x1785 @x1784 @x1097 @x1773 @x1772 @x1501 $x901))) +(let ((@x1808 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1806) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1793 $x1753)) @x1792 $x1753) @x934 @x1046 @x945 @x1374 @x1385 @x1545 @x1757 @x1767 @x1764 (|unit-resolution| @x972 (|unit-resolution| @x831 @x1770 $x827) $x928) @x1382 @x1736 @x967 $x900))) +(let ((@x1810 (|unit-resolution| @x815 (|unit-resolution| @x1553 @x1808 @x1800 $x70) (|unit-resolution| @x1526 @x1782 @x1755 $x71) false))) +(let ((@x1846 (|unit-resolution| @x867 (|unit-resolution| (lemma @x1810 (or $x698 $x670)) @x1092 $x698) $x863))) +(let ((@x1848 (|unit-resolution| @x1511 @x1844 @x1784 @x1772 @x1786 @x1773 @x1097 (|unit-resolution| @x1173 @x1846 $x917) $x1508))) +(let ((@x1851 (|unit-resolution| @x894 (|unit-resolution| @x896 (|unit-resolution| @x1559 @x1848 $x1368) $x782) $x890))) +(let ((@x1855 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -2 2 -2 2 -1 -2) (or $x1750 $x980 $x1061 $x1107 $x1671 $x954 $x892)) (|unit-resolution| @x896 (|unit-resolution| @x1559 @x1848 $x1368) $x782) @x977 @x1786 (|unit-resolution| @x1173 @x1846 $x917) @x1784 @x1104 $x1750))) +(let ((@x1856 (|unit-resolution| @x1781 @x1855 (|unit-resolution| @x1685 @x1851 $x1628) @x1100 @x950 @x1385 @x1505 @x1844 @x1757 @x1097 @x1773 @x1772 @x1079 @x1501 false))) +(let ((@x1857 (lemma @x1856 $x670))) +(let ((@x1884 ((_ |th-lemma| arith assign-bounds -1 -1 1 1 -1) (or $x1876 $x1446 $x1778 $x989 $x754 $x856)))) +(let ((@x1886 (|unit-resolution| @x1883 (|unit-resolution| @x1884 @x1777 @x1374 @x1617 @x1857 @x950 $x1876) $x1879))) +(let ((@x1889 (|unit-resolution| @x1376 (|unit-resolution| @x876 (|unit-resolution| @x878 @x1886 $x726) $x872) $x910))) +(let ((@x1890 ((_ |th-lemma| arith farkas 1 1 1 1 1) @x1617 @x1889 @x1374 @x1274 (|unit-resolution| @x878 @x1886 $x726) false))) +(let ((@x1135 (|unit-resolution| @x867 (|unit-resolution| (lemma @x1890 (or $x698 $x754)) @x1617 $x698) $x863))) +(let ((@x1895 (|unit-resolution| @x1484 @x958 $x883))) +(let ((@x1897 (|unit-resolution| @x867 (|unit-resolution| (lemma @x1890 (or $x698 $x754)) @x1895 $x698) $x863))) +(let ((@x1919 (|unit-resolution| @x1197 (|unit-resolution| @x858 @x1857 $x854) $x1183))) +(let ((@x1894 (hypothesis $x1122))) +(let ((@x1864 (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1857 $x854) $x920))) +(let ((@x1898 (|unit-resolution| @x1173 @x1897 $x917))) +(let ((@x1903 ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 1 1 1) (or $x782 $x1438 $x1670 $x754 $x954 $x953 $x847 $x990 $x989)))) +(let ((@x1904 (|unit-resolution| @x1903 @x1895 @x950 @x945 @x1385 @x1728 @x1864 @x1898 (|unit-resolution| @x1649 (|unit-resolution| @x887 @x1895 $x882) $x1607) $x782))) +(let ((@x1907 ((_ |th-lemma| arith assign-bounds -1 1 1 -1 -1 1 -1 -1 -3 3 1 1 2 -2 -2 2) (|unit-resolution| @x1415 (|unit-resolution| @x894 @x1904 $x890) $x911) @x962 @x958 @x934 @x967 @x977 (|unit-resolution| @x1652 (|unit-resolution| @x887 @x1895 $x882) $x1616) @x1898 @x1864 @x945 @x950 @x1629 @x1894 @x1374 @x1785 @x1059 $x1118))) +(let ((@x1909 ((_ |th-lemma| arith assign-bounds 1 1 1 2 2 1 1 1 1 1 1) (or $x586 $x991 $x992 $x954 $x953 $x990 $x989 $x1876 $x1446 $x754 $x1064 $x1065)))) +(let ((@x1910 (|unit-resolution| @x1909 @x1894 @x1059 @x945 @x950 @x1374 @x1895 @x1864 @x1898 @x1629 @x1785 @x934 $x586))) +(let ((@x1914 (lemma (|unit-resolution| @x972 (|unit-resolution| @x831 @x1910 $x827) @x1907 false) (or $x1876 $x905 $x992)))) +(let ((@x1916 (|unit-resolution| @x878 (|unit-resolution| @x1883 (|unit-resolution| @x1914 @x1188 @x958 $x1876) $x1879) $x726))) +(let ((@x1922 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 1 1 1) (or $x586 $x954 $x874 $x989 $x953 $x990 $x991 $x992 $x614)) @x934 @x945 @x950 (or $x586 $x954 $x874 $x953 $x992 $x614)))) +(let ((@x1924 (|unit-resolution| @x831 (|unit-resolution| @x1922 @x1916 @x1898 @x1188 @x1864 @x1010 $x586) $x827))) +(let ((@x1928 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -2 -2 -2 2 2) (or $x1271 $x1064 $x874 $x954 $x953 $x990 $x989)) @x1916 @x950 @x1864 @x1898 @x1785 @x945 $x1271))) +(let ((@x1929 (|unit-resolution| @x1698 @x1928 (|unit-resolution| @x972 @x1924 $x928) @x958 (|unit-resolution| @x1649 (|unit-resolution| @x887 @x1895 $x882) $x1607) @x1898 @x1864 @x1188 (|unit-resolution| @x1652 (|unit-resolution| @x887 @x1895 $x882) $x1616) (|unit-resolution| @x1112 @x1897 $x1087) @x1919 (|unit-resolution| @x1376 (|unit-resolution| @x876 @x1916 $x872) $x910) @x1191 false))) +(let ((@x1935 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -2 2 -2 -2 2) (or $x1750 $x954 $x953 $x990 $x838 $x1064 $x1065)) @x1898 @x945 @x1864 @x1059 @x1785 (|unit-resolution| (lemma @x1929 (or $x614 $x905)) @x958 $x614) $x1750))) +(let ((@x1937 (|unit-resolution| @x1883 (|unit-resolution| @x1884 @x1935 @x1374 @x1895 @x1857 @x950 $x1876) $x1879))) +(let ((@x1940 (|unit-resolution| @x1376 (|unit-resolution| @x876 (|unit-resolution| @x878 @x1937 $x726) $x872) $x910))) +(let ((@x1943 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -3 -2 -2 2 2 -2 -2 2) (or $x1086 $x953 $x874 $x954 $x989 $x990 $x838 $x1064 $x1065)) (|unit-resolution| @x878 @x1937 $x726) @x945 @x950 @x1059 @x1864 @x1898 @x1785 (|unit-resolution| (lemma @x1929 (or $x614 $x905)) @x958 $x614) $x1086))) +(let ((@x1944 (|unit-resolution| @x1738 @x1943 @x1940 @x1374 @x1082 @x1895 @x1919 (|unit-resolution| @x1112 @x1897 $x1087) false))) +(let ((@x1945 (lemma @x1944 $x905))) +(let ((@x1859 (|unit-resolution| @x1649 (|unit-resolution| @x887 @x1617 $x882) $x1607))) +(let ((@x1988 (|unit-resolution| (|unit-resolution| @x1207 @x1100 @x1046 (or $x698 $x1204 $x614 $x1047)) @x1010 @x1919 @x1764 $x698))) +(let ((@x1990 (|unit-resolution| @x1173 (|unit-resolution| @x867 @x1988 $x863) $x917))) +(let ((@x1947 (hypothesis $x1179))) +(let ((@x1951 (|unit-resolution| @x1909 @x1950 @x1059 @x945 @x950 @x1374 @x1617 @x1864 @x930 @x1629 @x1785 @x934 $x586))) +(let ((@x1955 (|unit-resolution| @x894 (|unit-resolution| @x1903 @x1859 @x950 @x945 @x1385 @x1728 @x1864 @x930 @x1617 $x782) $x890))) +(let ((@x1956 (|unit-resolution| @x1685 @x1955 $x1628))) +(let ((@x1960 ((_ |th-lemma| arith assign-bounds 1 -1 -3/2 3/2 -1 1 -1/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 1/2) @x1959 @x1104 @x1919 @x1100 @x1764 @x1046 @x1956 @x1505 @x1079 @x1501 (|unit-resolution| @x1517 (|unit-resolution| @x831 @x1951 $x827) $x919) @x1385 @x1859 @x1455 @x1082 @x1947 $x904))) +(let ((@x1965 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 1 1 1 1 1 1) (or $x558 $x754 $x1779 $x1718 $x957 $x1438 $x1670 $x726)) @x1948 @x1617 @x1385 @x1505 @x1945 @x1859 @x1956 $x558))) +(let (($x1970 (not $x1179))) +(let (($x1971 (or $x901 $x1662 $x1663 $x1779 $x1718 $x957 $x1719 $x1970 $x1339 $x1204 $x1205 $x1338 $x1062 $x1118 $x1061 $x1633))) +(let ((@x1973 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1/2 -1/2) $x1971) (|unit-resolution| @x972 (|unit-resolution| @x831 @x1951 $x827) $x928) @x1079 @x1100 @x1082 @x977 @x1505 @x1533 @x1945 @x967 @x1919 @x1947 @x1455 (|unit-resolution| @x1652 (|unit-resolution| @x887 @x1617 $x882) $x1616) (|unit-resolution| @x1540 (|unit-resolution| @x820 @x1965 $x808) $x1485) @x1956 $x901))) +(let (($x1063 (not $x897))) +(let (($x1976 (or $x900 $x1570 $x1669 $x981 $x1063 $x1013 $x991 $x992 $x954 $x953 $x990 $x989 $x1668 $x1509 $x1438 $x1670))) +(let ((@x1978 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1/2 -1/2) $x1976) @x1960 @x934 @x945 @x950 @x1385 @x962 @x1545 @x1501 (|unit-resolution| @x1415 @x1955 $x911) @x1864 @x930 @x1629 (|unit-resolution| @x1517 (|unit-resolution| @x831 @x1951 $x827) $x919) (|unit-resolution| @x1547 (|unit-resolution| @x820 @x1965 $x808) $x1486) @x1859 $x900))) +(let ((@x1979 (|unit-resolution| @x1553 @x1978 @x1973 (|unit-resolution| @x815 (|unit-resolution| @x1526 @x1960 @x1945 $x71) $x804) false))) +(let ((@x1992 (|unit-resolution| (lemma @x1979 (or $x726 $x954 $x992 $x1970 $x1339 $x754)) @x1617 @x1188 @x1213 (|unit-resolution| @x1112 (|unit-resolution| @x867 @x1988 $x863) $x1087) @x1990 $x726))) +(let ((@x1994 (|unit-resolution| @x831 (|unit-resolution| @x1922 @x1992 @x1010 @x1188 @x1864 @x1990 $x586) $x827))) +(let ((@x1997 (|unit-resolution| @x894 (|unit-resolution| @x1903 @x1859 @x950 @x945 @x1385 @x1728 @x1864 @x1990 @x1617 $x782) $x890))) +(let ((@x1998 (|unit-resolution| @x1685 @x1997 $x1628))) +(let ((@x1982 (hypothesis $x1628))) +(let ((@x1983 ((_ |th-lemma| arith farkas 3/4 1/4 -1/4 -3/4 1/2 -1/2 -1/2 1/2 -1/4 1/4 1/4 -1/4 -1/4 1/4 1/4 -1/4 1/4 1) @x930 @x1864 @x945 @x950 @x1105 @x1104 @x1764 @x1046 @x1982 @x1505 @x1502 @x1079 @x1501 @x1498 @x1385 (hypothesis $x1607) @x1947 @x1728 false))) +(let ((@x2001 (|unit-resolution| (lemma @x1983 (or $x904 $x954 $x1107 $x1779 $x1509 $x1670 $x1970)) (|unit-resolution| @x1364 (|unit-resolution| @x876 @x1992 $x872) $x914) @x1990 @x1998 (|unit-resolution| @x1517 @x1994 $x919) @x1859 @x1213 $x904))) +(let ((@x2006 ((_ |th-lemma| arith assign-bounds 2 3/4 3/4 3/4 3/4 3/4 1/2 1/2 3/4 3/4 1/2 1/2 1/4 1/4 1/4 1/4 1/4 1/4) @x1617 @x1998 @x1505 @x1945 @x1385 @x1859 (|unit-resolution| @x1376 (|unit-resolution| @x876 @x1992 $x872) $x910) @x1374 @x1864 @x945 @x1785 @x1059 @x934 @x967 (|unit-resolution| @x972 @x1994 $x928) @x1990 @x950 @x1188 $x558))) +(let ((@x2009 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1/2 -1/2) $x1971) (|unit-resolution| @x1540 (|unit-resolution| @x820 @x2006 $x808) $x1485) @x1079 @x1100 @x1082 @x977 @x1505 @x1533 @x1945 @x967 @x1919 @x1213 (|unit-resolution| @x1112 (|unit-resolution| @x867 @x1988 $x863) $x1087) (|unit-resolution| @x1652 (|unit-resolution| @x887 @x1617 $x882) $x1616) (|unit-resolution| @x972 @x1994 $x928) @x1998 $x901))) +(let ((@x2014 (|unit-resolution| @x1673 (|unit-resolution| @x1547 (|unit-resolution| @x820 @x2006 $x808) $x1486) @x1046 @x945 @x950 @x1104 @x1385 @x1864 @x1859 @x1990 (|unit-resolution| @x1364 (|unit-resolution| @x876 @x1992 $x872) $x914) (|unit-resolution| @x1517 @x1994 $x919) (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x1180 $x847 $x1047)) @x1764 @x1728 $x1180) @x1501 @x1545 $x900))) +(let ((@x2015 (|unit-resolution| @x1553 @x2014 @x2009 (|unit-resolution| @x815 (|unit-resolution| @x1526 @x2001 @x1945 $x71) $x804) false))) +(let ((@x1138 (|unit-resolution| (lemma @x2015 (or $x754 $x614)) @x1617 $x614))) +(let ((@x1030 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -2 2 -2 -2 2 -1) (or $x1179 $x1064 $x1065 $x953 $x865 $x990 $x1150)) @x945 @x1059 (or $x1179 $x1064 $x953 $x865 $x1150)))) +(let ((@x1042 (|unit-resolution| (|unit-resolution| @x1030 @x1785 @x1864 (or $x1179 $x865 $x1150)) (|unit-resolution| @x1075 (|unit-resolution| @x840 @x1138 $x836) $x916) (|unit-resolution| (lemma @x1890 (or $x698 $x754)) @x1617 $x698) $x1179))) +(let ((@x1052 (|unit-resolution| (lemma @x952 (or $x586 $x874 $x953 $x838 $x954)) @x1864 (or $x586 $x874 $x838 $x954)))) +(let ((@x1068 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x922 $x838 $x1031)) (|unit-resolution| @x940 (|unit-resolution| @x840 @x1138 $x836) $x925) @x1138 $x922))) +(let ((@x1069 (|unit-resolution| (lemma @x1979 (or $x726 $x954 $x992 $x1970 $x1339 $x754)) @x1068 (|unit-resolution| @x1052 (|unit-resolution| @x1173 @x1135 $x917) @x935 @x1138 $x874) @x1617 @x1042 (|unit-resolution| @x1112 @x1135 $x1087) (|unit-resolution| @x1173 @x1135 $x917) false))) +(let ((@x1165 (|unit-resolution| (lemma @x1069 (or $x754 $x586)) @x935 $x754))) +(let ((@x969 (|unit-resolution| @x1398 (|unit-resolution| @x885 @x1165 $x881) $x907))) +(let ((@x2054 (|unit-resolution| (|unit-resolution| @x1440 @x1385 (or $x726 $x782 $x1388 $x883)) @x1948 @x1165 @x969 $x782))) +(let ((@x1085 (|unit-resolution| (|unit-resolution| @x1207 @x1100 @x1046 (or $x698 $x1204 $x614 $x1047)) @x1919 @x1764 (or $x698 $x614)))) +(let ((@x1157 (|unit-resolution| @x867 (|unit-resolution| @x1085 @x1010 $x698) $x863))) +(let ((@x1167 (|unit-resolution| @x1393 (|unit-resolution| @x885 @x1165 $x881) $x908))) +(let ((@x1163 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1) (or $x558 $x586 $x1060 $x1062 $x614)) @x967 (or $x558 $x586 $x1060 $x614)))) +(let ((@x1170 (|unit-resolution| @x1540 (|unit-resolution| @x820 (|unit-resolution| @x1163 @x1010 @x935 @x1009 $x558) $x808) $x1485))) +(let ((@x1171 ((_ |th-lemma| arith assign-bounds 1 -1 1 -1 1 -1 1 3 -3 1 -1 -1 2 -2 2 -2) @x1170 @x1533 @x1009 @x967 @x977 (hypothesis $x1946) @x1104 @x1919 @x1100 @x1764 @x1046 @x1167 @x1079 @x1213 (|unit-resolution| @x1112 @x1157 $x1087) @x1082 $x901))) +(let (($x1133 (>= (+ ?x118 ?x598) 0))) +(let ((@x982 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x828) $x1133)) @x1005 $x1133))) +(let ((@x983 (|unit-resolution| @x1547 (|unit-resolution| @x820 (|unit-resolution| @x1163 @x1010 @x935 @x1009 $x558) $x808) $x1486))) +(let ((@x929 ((_ |th-lemma| arith assign-bounds 1 -1 1 -1 1 -1 1 3 -3 1 -1 -1 2 -2 2 -2) @x983 @x1545 @x982 @x1501 @x1385 @x1894 @x1374 @x1864 @x945 @x1785 @x1059 @x969 @x934 @x1188 (|unit-resolution| @x1173 @x1157 $x917) @x950 $x900))) +(let (($x988 (not $x1133))) +(let (($x995 (or $x904 $x988 $x1779 $x1718 $x1668 $x1438 $x953 $x990 $x991 $x992 $x954 $x989 $x1388))) +(let ((@x997 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 1 -1 1 1 -1 1 -1 1 -1 -1) $x995) (|unit-resolution| @x1173 @x1157 $x917) @x945 @x950 @x1385 @x1505 @x1501 @x969 @x1864 @x934 @x1188 @x1982 @x982 $x904))) +(let ((@x1002 (|unit-resolution| @x1526 @x1945 (or $x71 $x1013)))) +(let ((@x1164 (|unit-resolution| @x815 (|unit-resolution| @x1002 @x997 $x71) (|unit-resolution| @x1553 @x929 @x1171 $x70) false))) +(let ((@x2057 (|unit-resolution| (lemma @x1164 (or $x614 $x1779 $x1876 (not $x1946) $x586)) (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2054 $x890) $x1628) @x1950 @x1959 @x935 $x614))) +(let ((@x2027 (hypothesis $x1133))) +(let (($x2029 (or $x904 $x1778 $x988 $x1779 $x1718 $x1668 $x1438 $x1204 $x1205 $x991 $x989 $x1388 $x1031 $x1047 $x1048))) +(let ((@x2031 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -2 2) $x2029) (hypothesis $x1750) @x1046 @x1100 @x950 @x1385 @x1505 @x1501 @x1386 @x1115 @x1764 @x1919 @x934 @x1982 @x2027 $x904))) +(let ((@x2036 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 1) (or $x558 $x726 $x1779 $x1718 $x957 $x1438 $x1388)) @x1948 @x1385 @x1505 @x1945 @x1386 @x1982 $x558))) +(let (($x1174 (not $x1946))) +(let (($x2039 (or $x901 $x1662 $x1663 $x988 $x1668 $x1438 $x1174 $x1671 $x1204 $x1205 $x1047 $x1048 $x1388 $x1779 $x1718 $x957))) +(let ((@x2041 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x2039) (|unit-resolution| @x1540 (|unit-resolution| @x820 @x2036 $x808) $x1485) @x1046 @x1100 @x1104 @x1385 @x1505 @x1533 @x1945 @x1386 @x1764 @x1919 @x1501 @x1982 @x2027 @x1959 $x901))) +(let (($x2043 (or $x900 $x1570 $x1669 $x1060 $x1062 $x1061 $x1876 $x1446 $x953 $x990 $x1064 $x1065 $x980 $x981 $x1063 $x1013))) +(let ((@x2045 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x2043) @x2031 @x1059 @x945 @x1374 @x977 @x962 @x1545 @x967 @x978 @x963 @x1864 @x1181 @x1785 @x1950 (|unit-resolution| @x1547 (|unit-resolution| @x820 @x2036 $x808) $x1486) $x900))) +(let ((@x2046 (|unit-resolution| @x1553 @x2045 @x2041 (|unit-resolution| @x815 (|unit-resolution| @x1002 @x2031 $x71) $x804) false))) +(let ((@x2061 (|unit-resolution| (lemma @x2046 (or $x1778 $x980 $x981 $x1060 $x1388 $x1779 $x988 $x1031 $x726)) (|unit-resolution| @x1415 (|unit-resolution| @x894 @x2054 $x890) $x911) @x1167 @x1009 @x969 (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2054 $x890) $x1628) @x982 (|unit-resolution| @x940 (|unit-resolution| @x840 @x2057 $x836) $x925) @x1948 $x1778))) +(let ((@x2063 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -2 2 -2 -2 2) (or $x1750 $x954 $x953 $x990 $x838 $x1064 $x1065)) @x945 @x1864 @x1059 @x1785 (or $x1750 $x954 $x838)))) +(let ((@x2050 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1070 $x1750)) (hypothesis $x864) (hypothesis $x1778) false))) +(let ((@x2051 (lemma @x2050 (or $x1070 $x1750)))) +(let ((@x2067 (|unit-resolution| @x867 (|unit-resolution| @x869 (|unit-resolution| @x2051 @x2061 $x1070) $x698) $x863))) +(let ((@x2068 (|unit-resolution| @x1173 @x2067 (|unit-resolution| @x2063 @x2061 @x2057 $x954) false))) +(let ((@x2108 (|unit-resolution| (lemma @x2068 (or $x726 $x586)) @x935 $x726))) +(let ((@x2074 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 -1 -1 -1 1 1 -1) (or $x1107 $x954 $x847 $x989 $x1671 $x1047 $x1048 $x883 $x614)) @x1046 @x950 @x1104 @x1728 @x1764 (or $x1107 $x954 $x883 $x614)))) +(let ((@x2076 (|unit-resolution| @x1173 @x1157 (|unit-resolution| @x2074 @x1010 @x1325 @x1105 $x954) false))) +(let ((@x2111 (|unit-resolution| (lemma @x2076 (or $x614 $x883 $x1107)) @x1165 (|unit-resolution| @x1364 (|unit-resolution| @x876 @x2108 $x872) $x914) $x614))) +(let ((@x2115 (|unit-resolution| @x1376 (|unit-resolution| @x876 @x2108 $x872) $x910))) +(let ((@x1866 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -1 -1 1 1 -1 1 1 -1) (or $x953 $x990 $x782 $x1388 $x1438 $x1064 $x1445 $x1446 $x838 $x1065)) @x945 @x1374 @x1385 @x1059 (or $x953 $x782 $x1388 $x1064 $x1445 $x838)))) +(let ((@x2118 (|unit-resolution| (|unit-resolution| @x1866 @x1785 @x1864 (or $x782 $x1388 $x1445 $x838)) @x2111 @x969 @x2115 $x782))) +(let ((@x2083 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x2043) @x1567 @x1059 @x945 @x1374 @x977 @x962 @x1545 @x967 @x978 @x963 @x1864 @x1181 @x1785 @x1894 @x1011 $x1570))) +(let ((@x2080 ((_ |th-lemma| arith farkas 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1) @x1385 @x1386 @x1545 @x1567 @x1181 @x967 @x1374 @x1864 @x945 @x1785 @x1059 @x1460 (hypothesis $x1753) false))) +(let ((@x2084 (|unit-resolution| (lemma @x2080 (or $x1805 $x1388 $x900 $x1060 $x1445)) @x1567 @x1386 @x1181 @x1460 $x1805))) +(let ((@x2086 (|unit-resolution| @x824 (|unit-resolution| (lemma @x1815 (or $x1793 $x1753)) @x2084 $x1793) $x558))) +(let ((@x2090 (lemma (|unit-resolution| @x1547 (|unit-resolution| @x820 @x2086 $x808) @x2083 false) (or $x900 $x1388 $x1060 $x1445 $x980 $x981 $x1876 $x1013)))) +(let ((@x2094 (|unit-resolution| @x1553 (|unit-resolution| @x2090 @x1011 @x1181 @x1460 @x978 @x963 @x1894 @x1386 $x900) (|unit-resolution| @x815 (|unit-resolution| @x1002 @x1011 $x71) $x804) $x1551))) +(let (($x2095 (or $x1797 $x1061 $x980 $x1663 $x901 $x988 $x1668 $x1671 $x1204 $x1205 $x1047 $x1048 $x1107))) +(let ((@x2097 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1) $x2095) @x2094 @x1046 @x1100 @x1104 @x977 @x1501 @x978 @x1764 @x1105 @x1919 @x1533 @x2027 $x1797))) +(let ((@x2099 (|unit-resolution| @x824 (|unit-resolution| (lemma @x1829 (or $x1793 $x1752)) @x2097 $x1793) $x558))) +(let ((@x2104 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -2 -2 2 2 2 -2) (or $x1946 $x1107 $x822 $x981 $x1063 $x1013 $x1061 $x980)) @x1011 @x962 @x977 @x978 @x963 @x1105 @x2099 $x1946))) +(let ((@x2105 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x2039) @x2104 (|unit-resolution| @x1540 (|unit-resolution| @x820 @x2099 $x808) $x1485) @x1046 @x1100 @x1104 @x1385 @x1505 @x1982 @x1945 @x1386 @x1764 @x1919 @x2094 @x1501 @x2027 @x1533 false))) +(let ((@x2125 (|unit-resolution| (lemma @x2105 (or $x1013 $x1779 $x1388 $x988 $x980 $x981 $x1107 $x1060 $x1445 $x1876)) (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2118 $x890) $x1628) @x969 @x982 @x1167 (|unit-resolution| @x1415 (|unit-resolution| @x894 @x2118 $x890) $x911) (|unit-resolution| @x1364 (|unit-resolution| @x876 @x2108 $x872) $x914) @x1009 @x2115 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -2) (or $x1122 $x1445 $x874)) @x2108 @x2115 $x1122) $x1013))) +(let ((@x2126 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -2 2) $x2029) @x2125 @x1046 @x1100 @x950 @x1385 @x1505 (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2118 $x890) $x1628) @x969 (|unit-resolution| @x940 (|unit-resolution| @x840 @x2111 $x836) $x925) @x1764 @x1919 @x934 @x1501 @x982 $x1778))) +(let ((@x2129 (|unit-resolution| @x867 (|unit-resolution| @x869 (|unit-resolution| @x2051 @x2126 $x1070) $x698) $x863))) +(let ((@x2130 (|unit-resolution| @x1173 @x2129 (|unit-resolution| @x1052 @x2111 @x935 @x2108 $x954) false))) +(let ((@x2131 (lemma @x2130 $x586))) +(let ((@x2190 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -1 1 -1 1) (or $x925 $x856 $x1719 $x1064 $x1065 $x829)) @x1079 @x1059 @x1857 @x2131 @x1785 $x925))) +(let ((@x2153 (|unit-resolution| (lemma @x2015 (or $x754 $x614)) @x1010 $x754))) +(let ((@x2156 (|unit-resolution| (lemma @x1452 (or $x614 $x847 $x883 $x782)) @x1728 (or $x614 $x883 $x782)))) +(let ((@x2159 (|unit-resolution| @x1415 (|unit-resolution| @x894 (|unit-resolution| @x2156 @x1010 @x2153 $x782) $x890) $x911))) +(let ((@x2162 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x910 $x914)) (|unit-resolution| (lemma @x2076 (or $x614 $x883 $x1107)) @x2153 @x1010 $x1107) $x910))) +(let ((@x2163 (|unit-resolution| @x1685 (|unit-resolution| @x894 (|unit-resolution| @x2156 @x1010 @x2153 $x782) $x890) $x1628))) +(let ((@x2133 (|unit-resolution| @x1517 (|unit-resolution| @x831 @x2131 $x827) $x919))) +(let ((@x2134 ((_ |th-lemma| arith farkas -1 1 -1 1 -3/2 3/2 -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 1) @x1104 @x1325 @x1764 @x1046 @x1919 @x1100 @x1982 @x1505 @x1502 @x1501 @x1947 @x1079 @x2133 @x1385 @x1399 @x1455 @x1082 (hypothesis $x1946) false))) +(let ((@x2137 (|unit-resolution| (lemma @x2134 (or $x904 $x883 $x1779 $x1970 $x1339 $x1174)) @x1959 @x1982 @x1947 @x1455 @x1325 $x904))) +(let ((@x2019 (hypothesis $x1118))) +(let ((@x2021 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x828) $x926)) @x1005 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 2) (or $x928 $x1060 $x586)) @x935 @x2019 $x1060) false))) +(let ((@x2024 (|unit-resolution| @x831 (|unit-resolution| (lemma @x2021 (or $x586 $x928)) @x2019 $x586) $x827))) +(let ((@x2143 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x926 $x829 $x1118)) (lemma (|unit-resolution| @x972 @x2024 @x2019 false) $x928) (or $x926 $x829)))) +(let ((@x2145 (|unit-resolution| @x2090 @x2137 (|unit-resolution| @x2143 @x2131 $x926) @x1460 @x1394 @x963 @x1950 @x1399 $x900))) +(let ((@x2146 (|unit-resolution| @x1553 @x2145 (|unit-resolution| @x815 (|unit-resolution| @x1002 @x2137 $x71) $x804) $x1551))) +(let ((@x2147 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 1) (or $x558 $x726 $x1779 $x1718 $x957 $x1438 $x1388)) @x1948 @x1385 @x1505 @x1945 @x1399 @x1982 $x558))) +(let ((@x2150 ((_ |th-lemma| arith farkas -1 -1 1 -2 2 -1 1 1 1 -1 -1 1 -1 1 -1 1) @x1104 @x1764 @x1046 @x1919 @x1100 @x1982 @x1505 @x1945 @x1947 @x1079 @x1455 @x1082 (|unit-resolution| @x1540 (|unit-resolution| @x820 @x2147 $x808) $x1485) @x1533 @x2146 @x1959 false))) +(let ((@x2164 (|unit-resolution| (lemma @x2150 (or $x726 $x1779 $x1970 $x1339 $x1445 $x981 $x883)) @x2163 @x1213 (|unit-resolution| @x1112 @x1157 $x1087) @x2162 @x2159 @x2153 $x726))) +(let ((@x2166 (|unit-resolution| @x1364 (|unit-resolution| @x876 @x2164 $x872) (|unit-resolution| (lemma @x2076 (or $x614 $x883 $x1107)) @x2153 @x1010 $x1107) false))) +(let ((@x2167 (lemma @x2166 $x614))) +(let ((@x2169 (|unit-resolution| @x1075 (|unit-resolution| @x840 @x2167 $x836) $x916))) +(let ((@x2172 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -2 2 -2 -2 2) (or $x1086 $x953 $x1064 $x1065 $x829 $x1150 $x1719)) @x1079 @x1059 @x1864 @x1785 @x2131 @x2169 $x1086))) +(let ((@x2176 (|unit-resolution| @x876 (|unit-resolution| (|unit-resolution| @x1733 @x1728 (or $x726 $x1119)) @x2172 $x726) $x872))) +(let ((@x2177 (|unit-resolution| @x1376 @x2176 $x910))) +(let ((@x2180 (|unit-resolution| (|unit-resolution| @x1738 @x1374 @x1082 @x1919 (or $x1119 $x1445 $x1339 $x754)) @x1617 @x2172 @x2177 $x1339))) +(let ((@x2181 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 -2) (or $x1122 $x1445 $x874)) @x2177 (|unit-resolution| (|unit-resolution| @x1733 @x1728 (or $x726 $x1119)) @x2172 $x726) $x1122))) +(let ((@x2184 (|unit-resolution| (|unit-resolution| @x1884 @x1374 @x1857 @x950 (or $x1876 $x1778 $x754)) @x1617 @x2181 $x1778))) +(let ((@x2186 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x1087 $x917)) (|unit-resolution| @x2063 @x2184 @x2167 $x954) @x2180 false))) +(let ((@x2192 (|unit-resolution| @x1398 (|unit-resolution| @x885 (lemma @x2186 $x754) $x881) $x907))) +(let ((@x2194 (|unit-resolution| (lemma @x1825 (or $x900 $x1119 $x1388 $x1509 $x1031 $x1118)) (lemma (|unit-resolution| @x972 @x2024 @x2019 false) $x928) (or $x900 $x1119 $x1388 $x1509 $x1031)))) +(let ((@x2197 (|unit-resolution| @x1393 (|unit-resolution| @x885 (lemma @x2186 $x754) $x881) $x908))) +(let ((@x2198 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x1027 $x856 $x1204)) @x1919 @x1857 $x1027))) +(let ((@x2200 (|unit-resolution| (lemma @x1837 (or $x901 $x1353 $x1150 $x1509 $x980 $x1107)) @x2198 (or $x901 $x1150 $x1509 $x980 $x1107)))) +(let ((@x2201 (|unit-resolution| @x2200 @x2197 @x2133 @x2169 (|unit-resolution| @x1364 @x2176 $x914) $x901))) +(let ((@x2202 (|unit-resolution| @x1553 @x2201 (|unit-resolution| @x2194 @x2192 @x2133 @x2172 @x2190 $x900) $x70))) +(let ((@x2205 (|unit-resolution| (|unit-resolution| @x1866 @x1785 @x1864 (or $x782 $x1388 $x1445 $x838)) @x2192 @x2167 @x2177 $x782))) +(let ((@x2210 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 2 -1) (or $x1496 $x892 $x1779)) (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2205 $x890) $x1628) @x2205 $x1496))) +(let ((@x2213 (|unit-resolution| (|unit-resolution| @x1511 @x2198 (or $x904 $x954 $x1508 $x1509 $x980 $x1150 $x1107)) @x2210 @x2133 (|unit-resolution| @x1364 @x2176 $x914) @x2197 @x2169 (|unit-resolution| @x1002 (|unit-resolution| @x815 @x2202 $x806) $x1013) $x954))) +(let ((@x2215 (|unit-resolution| @x1781 @x1100 @x950 @x1385 @x1505 @x2198 @x1079 @x1501 (or $x904 $x1778 $x1779 $x1150 $x1509 $x1388)))) +(let ((@x2216 (|unit-resolution| @x2215 (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2205 $x890) $x1628) @x2133 @x2169 @x2192 (|unit-resolution| @x1002 (|unit-resolution| @x815 @x2202 $x806) $x1013) $x1778))) +(let ((@x2219 (|unit-resolution| @x867 (|unit-resolution| @x869 (|unit-resolution| @x2051 @x2216 $x1070) $x698) $x863))) +(|unit-resolution| @x1173 @x2219 @x2213 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +3b8c149be010bdd46d055bffc712c6ccb8a6525f 13 0 +unsat +((set-logic AUFLIRA) +(proof +(let (($x11 (< (+ |$x| |$x|) (+ (* 2.0 |$x|) 1.0)))) +(let (($x16 (not $x11))) +(let (($x32 (not (<= (+ 1.0 (* 2.0 |$x|)) (* 2.0 |$x|))))) +(let ((@x39 (rewrite (= (<= (+ 1.0 (* 2.0 |$x|)) (* 2.0 |$x|)) false)))) +(let ((@x45 (trans (monotonicity @x39 (= $x32 (not false))) (rewrite (= (not false) true)) (= $x32 true)))) +(let ((@x30 (monotonicity (rewrite (= (+ |$x| |$x|) (* 2.0 |$x|))) (rewrite (= (+ (* 2.0 |$x|) 1.0) (+ 1.0 (* 2.0 |$x|)))) (= $x11 (< (* 2.0 |$x|) (+ 1.0 (* 2.0 |$x|))))))) +(let ((@x36 (trans @x30 (rewrite (= (< (* 2.0 |$x|) (+ 1.0 (* 2.0 |$x|))) $x32)) (= $x11 $x32)))) +(let ((@x50 (monotonicity (trans @x36 @x45 (= $x11 true)) (= $x16 (not true))))) +(mp (|not-or-elim| (asserted (not (or $x11 (or false $x11)))) $x16) (trans @x50 (rewrite (= (not true) false)) (= $x16 false)) false))))))))))) + +71bf4c070abcae0028c546a59aeed462f0041e93 168 0 +unsat +((set-logic ) +(proof +(let (($x368 (<= |$x| 0))) +(let (($x382 (>= |$x| 0))) +(let (($x689 (not $x382))) +(let (($x345 (not $x368))) +(let (($x690 (or $x345 $x689))) +(let (($x649 (not $x690))) +(let (($x653 (>= (+ (|$mod| |$x| 2) (* (~ 1) (mod |$x| 2))) 0))) +(let ((@x595 (|unit-resolution| ((_ |th-lemma| arith) (or false (>= (mod |$x| 2) 0))) (|true-axiom| true) (>= (mod |$x| 2) 0)))) +(let ((?x12 (+ |$x| (+ (* 2 (|$mod| |$x| 2)) 1)))) +(let (($x13 (<= (+ |$x| 1) ?x12))) +(let (($x14 (not $x13))) +(let ((?x9 (|$mod| |$x| 2))) +(let (($x67 (>= ?x9 0))) +(let ((@x69 (rewrite (= (<= (+ 1 |$x|) (+ 1 |$x| (* 2 ?x9))) $x67)))) +(let ((?x10 (* 2 ?x9))) +(let ((?x59 (+ 1 |$x| ?x10))) +(let ((@x58 (monotonicity (rewrite (= (+ ?x10 1) (+ 1 ?x10))) (= ?x12 (+ |$x| (+ 1 ?x10)))))) +(let ((@x63 (trans @x58 (rewrite (= (+ |$x| (+ 1 ?x10)) ?x59)) (= ?x12 ?x59)))) +(let ((@x66 (monotonicity (rewrite (= (+ |$x| 1) (+ 1 |$x|))) @x63 (= $x13 (<= (+ 1 |$x|) ?x59))))) +(let ((@x74 (monotonicity (trans @x66 @x69 (= $x13 $x67)) (= $x14 (not $x67))))) +(let ((@x596 ((_ |th-lemma| arith farkas -1 1 1) (mp (asserted $x14) @x74 (not $x67)) @x595 (hypothesis $x653) false))) +(let ((@x627 ((_ |th-lemma| arith triangle-eq) (or (not (= (+ ?x9 (* (~ 1) (mod |$x| 2))) 0)) $x653)))) +(let ((@x628 (|unit-resolution| @x627 (lemma @x596 (not $x653)) (not (= (+ ?x9 (* (~ 1) (mod |$x| 2))) 0))))) +(let (($x693 (= (+ ?x9 (* (~ 1) (mod |$x| 2))) 0))) +(let (($x675 (ite $x690 $x693 (= (+ ?x9 (mod (* (~ 1) |$x|) (~ 2))) 0)))) +(let (($x378 (= ?x9 0))) +(let (($x377 (= |$x| 0))) +(let (($x384 (ite $x377 $x378 $x675))) +(let (($x713 (forall ((?v0 Int) (?v1 Int) )(!(let (($x229 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x283 (ite $x229 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x19 (= ?v0 0))) +(let (($x20 (= ?v1 0))) +(ite $x20 (= (|$mod| ?v0 ?v1) ?v0) (ite $x19 (= (|$mod| ?v0 ?v1) 0) $x283)))))) :pattern ( (|$mod| ?v0 ?v1) ))) +)) +(let (($x288 (forall ((?v0 Int) (?v1 Int) )(let (($x229 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x283 (ite $x229 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x19 (= ?v0 0))) +(let (($x20 (= ?v1 0))) +(ite $x20 (= (|$mod| ?v0 ?v1) ?v0) (ite $x19 (= (|$mod| ?v0 ?v1) 0) $x283))))))) +)) +(let (($x229 (or (not (or (<= ?1 0) (<= ?0 0))) (not (or (>= ?1 0) (<= ?0 0)))))) +(let (($x283 (ite $x229 (= (+ (|$mod| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0) (= (+ (|$mod| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0)))) +(let (($x19 (= ?1 0))) +(let (($x20 (= ?0 0))) +(let (($x285 (ite $x20 (= (|$mod| ?1 ?0) ?1) (ite $x19 (= (|$mod| ?1 ?0) 0) $x283)))) +(let (($x257 (forall ((?v0 Int) (?v1 Int) )(let ((?x125 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x131 (* (~ 1) ?x125))) +(let ((?x37 (mod ?v0 ?v1))) +(let (($x229 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x19 (= ?v0 0))) +(let (($x20 (= ?v1 0))) +(let ((?x36 (|$mod| ?v0 ?v1))) +(= ?x36 (ite $x20 ?v0 (ite $x19 0 (ite $x229 ?x37 ?x131)))))))))))) +)) +(let ((?x125 (mod (* (~ 1) ?1) (* (~ 1) ?0)))) +(let ((?x131 (* (~ 1) ?x125))) +(let ((?x37 (mod ?1 ?0))) +(let ((?x36 (|$mod| ?1 ?0))) +(let (($x254 (= ?x36 (ite $x20 ?1 (ite $x19 0 (ite $x229 ?x37 ?x131)))))) +(let (($x209 (forall ((?v0 Int) (?v1 Int) )(let ((?x125 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x131 (* (~ 1) ?x125))) +(let ((?x37 (mod ?v0 ?v1))) +(let (($x80 (<= ?v1 0))) +(let (($x81 (not $x80))) +(let (($x178 (and (not (>= ?v0 0)) $x81))) +(let (($x84 (and (not (<= ?v0 0)) $x81))) +(let (($x181 (or $x84 $x178))) +(let ((?x197 (ite $x181 ?x37 ?x131))) +(let (($x19 (= ?v0 0))) +(let ((?x200 (ite $x19 0 ?x197))) +(let (($x20 (= ?v1 0))) +(let ((?x203 (ite $x20 ?v0 ?x200))) +(let ((?x36 (|$mod| ?v0 ?v1))) +(= ?x36 ?x203)))))))))))))))) +)) +(let (($x80 (<= ?0 0))) +(let (($x81 (not $x80))) +(let (($x178 (and (not (>= ?1 0)) $x81))) +(let (($x84 (and (not (<= ?1 0)) $x81))) +(let (($x181 (or $x84 $x178))) +(let ((?x197 (ite $x181 ?x37 ?x131))) +(let ((?x200 (ite $x19 0 ?x197))) +(let ((?x203 (ite $x20 ?1 ?x200))) +(let (($x206 (= ?x36 ?x203))) +(let ((@x231 (monotonicity (rewrite (= $x84 (not (or (<= ?1 0) $x80)))) (rewrite (= $x178 (not (or (>= ?1 0) $x80)))) (= $x181 $x229)))) +(let ((@x250 (monotonicity (monotonicity @x231 (= ?x197 (ite $x229 ?x37 ?x131))) (= ?x200 (ite $x19 0 (ite $x229 ?x37 ?x131)))))) +(let ((@x253 (monotonicity @x250 (= ?x203 (ite $x20 ?1 (ite $x19 0 (ite $x229 ?x37 ?x131))))))) +(let (($x148 (forall ((?v0 Int) (?v1 Int) )(let ((?x125 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x131 (* (~ 1) ?x125))) +(let ((?x37 (mod ?v0 ?v1))) +(let (($x80 (<= ?v1 0))) +(let (($x81 (not $x80))) +(let (($x87 (<= 0 ?v0))) +(let (($x88 (not $x87))) +(let (($x96 (and $x88 $x81))) +(let (($x84 (and (not (<= ?v0 0)) $x81))) +(let (($x99 (or $x84 $x96))) +(let ((?x136 (ite $x99 ?x37 ?x131))) +(let (($x19 (= ?v0 0))) +(let ((?x139 (ite $x19 0 ?x136))) +(let (($x20 (= ?v1 0))) +(let ((?x142 (ite $x20 ?v0 ?x139))) +(let ((?x36 (|$mod| ?v0 ?v1))) +(= ?x36 ?x142)))))))))))))))))) +)) +(let (($x87 (<= 0 ?1))) +(let (($x88 (not $x87))) +(let (($x96 (and $x88 $x81))) +(let (($x99 (or $x84 $x96))) +(let ((?x136 (ite $x99 ?x37 ?x131))) +(let ((?x139 (ite $x19 0 ?x136))) +(let ((?x142 (ite $x20 ?1 ?x139))) +(let (($x145 (= ?x36 ?x142))) +(let ((@x177 (monotonicity (rewrite (= $x87 (>= ?1 0))) (= $x88 (not (>= ?1 0)))))) +(let ((@x199 (monotonicity (monotonicity (monotonicity @x177 (= $x96 $x178)) (= $x99 $x181)) (= ?x136 ?x197)))) +(let ((@x208 (monotonicity (monotonicity (monotonicity @x199 (= ?x139 ?x200)) (= ?x142 ?x203)) (= $x145 $x206)))) +(let (($x44 (forall ((?v0 Int) (?v1 Int) )(let ((?x39 (- (mod (- ?v0) (- ?v1))))) +(let ((?x37 (mod ?v0 ?v1))) +(let (($x27 (or (and (< 0 ?v0) (< 0 ?v1)) (and (< ?v0 0) (< 0 ?v1))))) +(let (($x19 (= ?v0 0))) +(let (($x20 (= ?v1 0))) +(let ((?x36 (|$mod| ?v0 ?v1))) +(= ?x36 (ite $x20 ?v0 (ite $x19 0 (ite $x27 ?x37 ?x39))))))))))) +)) +(let ((?x39 (- (mod (- ?1) (- ?0))))) +(let (($x27 (or (and (< 0 ?1) (< 0 ?0)) (and (< ?1 0) (< 0 ?0))))) +(let (($x146 (= (= ?x36 (ite $x20 ?1 (ite $x19 0 (ite $x27 ?x37 ?x39)))) $x145))) +(let ((@x127 (monotonicity (rewrite (= (- ?1) (* (~ 1) ?1))) (rewrite (= (- ?0) (* (~ 1) ?0))) (= (mod (- ?1) (- ?0)) ?x125)))) +(let ((@x135 (trans (monotonicity @x127 (= ?x39 (- ?x125))) (rewrite (= (- ?x125) ?x131)) (= ?x39 ?x131)))) +(let ((@x95 (trans (rewrite (= (< ?1 0) $x88)) (monotonicity (rewrite (= $x87 $x87)) (= $x88 $x88)) (= (< ?1 0) $x88)))) +(let ((@x98 (monotonicity @x95 (rewrite (= (< 0 ?0) $x81)) (= (and (< ?1 0) (< 0 ?0)) $x96)))) +(let ((@x86 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0 ?0) $x81)) (= (and (< 0 ?1) (< 0 ?0)) $x84)))) +(let ((@x138 (monotonicity (monotonicity @x86 @x98 (= $x27 $x99)) @x135 (= (ite $x27 ?x37 ?x39) ?x136)))) +(let ((@x144 (monotonicity (monotonicity @x138 (= (ite $x19 0 (ite $x27 ?x37 ?x39)) ?x139)) (= (ite $x20 ?1 (ite $x19 0 (ite $x27 ?x37 ?x39))) ?x142)))) +(let ((@x151 (mp (asserted $x44) (|quant-intro| (monotonicity @x144 $x146) (= $x44 $x148)) $x148))) +(let ((@x220 (|mp~| (mp @x151 (|quant-intro| @x208 (= $x148 $x209)) $x209) (|nnf-pos| (refl (|~| $x206 $x206)) (|~| $x209 $x209)) $x209))) +(let ((@x260 (mp @x220 (|quant-intro| (monotonicity @x253 (= $x206 $x254)) (= $x209 $x257)) $x257))) +(let ((@x291 (mp @x260 (|quant-intro| (rewrite (= $x254 $x285)) (= $x257 $x288)) $x288))) +(let (($x657 (or (not $x713) $x384))) +(let (($x697 (or (not (or $x368 (<= 2 0))) (not (or $x382 (<= 2 0)))))) +(let (($x702 (ite $x697 $x693 (= (+ ?x9 (mod (* (~ 1) |$x|) (* (~ 1) 2))) 0)))) +(let (($x704 (ite (= 2 0) (= ?x9 |$x|) (ite $x377 $x378 $x702)))) +(let (($x405 (= (= (+ ?x9 (mod (* (~ 1) |$x|) (* (~ 1) 2))) 0) (= (+ ?x9 (mod (* (~ 1) |$x|) (~ 2))) 0)))) +(let (($x672 (= (+ ?x9 (mod (* (~ 1) |$x|) (* (~ 1) 2))) (+ ?x9 (mod (* (~ 1) |$x|) (~ 2)))))) +(let ((@x400 (monotonicity (rewrite (= (* (~ 1) 2) (~ 2))) (= (mod (* (~ 1) |$x|) (* (~ 1) 2)) (mod (* (~ 1) |$x|) (~ 2)))))) +(let ((@x685 (monotonicity (rewrite (= (<= 2 0) false)) (= (or $x382 (<= 2 0)) (or $x382 false))))) +(let ((@x688 (trans @x685 (rewrite (= (or $x382 false) $x382)) (= (or $x382 (<= 2 0)) $x382)))) +(let ((@x339 (monotonicity (rewrite (= (<= 2 0) false)) (= (or $x368 (<= 2 0)) (or $x368 false))))) +(let ((@x344 (trans @x339 (rewrite (= (or $x368 false) $x368)) (= (or $x368 (<= 2 0)) $x368)))) +(let ((@x692 (monotonicity (monotonicity @x344 (= (not (or $x368 (<= 2 0))) $x345)) (monotonicity @x688 (= (not (or $x382 (<= 2 0))) $x689)) (= $x697 $x690)))) +(let ((@x677 (monotonicity @x692 (monotonicity (monotonicity @x400 $x672) $x405) (= $x702 $x675)))) +(let ((@x667 (monotonicity (rewrite (= (= 2 0) false)) (monotonicity @x677 (= (ite $x377 $x378 $x702) $x384)) (= $x704 (ite false (= ?x9 |$x|) $x384))))) +(let ((@x670 (trans @x667 (rewrite (= (ite false (= ?x9 |$x|) $x384) $x384)) (= $x704 $x384)))) +(let ((@x664 (trans (monotonicity @x670 (= (or (not $x713) $x704) $x657)) (rewrite (= $x657 $x657)) (= (or (not $x713) $x704) $x657)))) +(let ((@x640 (|unit-resolution| (mp ((_ |quant-inst| |$x| 2) (or (not $x713) $x704)) @x664 $x657) (mp @x291 (|quant-intro| (refl (= $x285 $x285)) (= $x288 $x713)) $x713) $x384))) +(let (($x524 (not $x377))) +(let ((@x545 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x378) $x67)) (mp (asserted $x14) @x74 (not $x67)) (not $x378)))) +(let ((@x620 (|unit-resolution| (|def-axiom| (or (not $x384) $x524 $x378)) @x545 (or (not $x384) $x524)))) +(let ((@x631 (|unit-resolution| (|def-axiom| (or (not $x384) $x377 $x675)) (|unit-resolution| @x620 @x640 $x524) @x640 $x675))) +(let ((@x608 (|unit-resolution| (|def-axiom| (or (not $x675) $x649 $x693)) @x631 (or $x649 $x693)))) +(let ((@x589 (|unit-resolution| (|def-axiom| (or $x690 $x368)) (|unit-resolution| @x608 @x628 $x649) $x368))) +(let ((@x590 (|unit-resolution| (|def-axiom| (or $x690 $x382)) (|unit-resolution| @x608 @x628 $x649) $x382))) +(let ((@x629 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x377 $x345 $x689)) (|unit-resolution| @x620 @x640 $x524) $x690))) +(|unit-resolution| @x629 @x590 @x589 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +0ca5f89642157be20564bb5024c711aeef242c7b 167 0 +unsat +((set-logic ) +(proof +(let (($x376 (<= |$x| 0))) +(let (($x390 (>= |$x| 0))) +(let (($x697 (not $x390))) +(let (($x353 (not $x376))) +(let (($x698 (or $x353 $x697))) +(let (($x658 (not $x698))) +(let ((@x603 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= (mod |$x| 2) 2)))) (|true-axiom| true) (not (>= (mod |$x| 2) 2))))) +(let (($x661 (<= (+ (|$mod| |$x| 2) (* (~ 1) (mod |$x| 2))) 0))) +(let ((?x7 (|$mod| |$x| 2))) +(let (($x67 (>= ?x7 2))) +(let (($x12 (< (+ |$x| (+ ?x7 ?x7)) (+ |$x| 3)))) +(let (($x13 (not $x12))) +(let ((@x72 (monotonicity (rewrite (= (<= (+ 3 |$x|) (+ |$x| (* 2 ?x7))) $x67)) (= (not (<= (+ 3 |$x|) (+ |$x| (* 2 ?x7)))) (not $x67))))) +(let (($x62 (not (<= (+ 3 |$x|) (+ |$x| (* 2 ?x7)))))) +(let ((@x54 (monotonicity (rewrite (= (+ ?x7 ?x7) (* 2 ?x7))) (= (+ |$x| (+ ?x7 ?x7)) (+ |$x| (* 2 ?x7)))))) +(let ((@x60 (monotonicity @x54 (rewrite (= (+ |$x| 3) (+ 3 |$x|))) (= $x12 (< (+ |$x| (* 2 ?x7)) (+ 3 |$x|)))))) +(let ((@x66 (trans @x60 (rewrite (= (< (+ |$x| (* 2 ?x7)) (+ 3 |$x|)) $x62)) (= $x12 $x62)))) +(let ((@x77 (monotonicity (trans @x66 @x72 (= $x12 (not $x67))) (= $x13 (not (not $x67)))))) +(let ((@x82 (mp (asserted $x13) (trans @x77 (rewrite (= (not (not $x67)) $x67)) (= $x13 $x67)) $x67))) +(let ((@x636 ((_ |th-lemma| arith triangle-eq) (or (not (= (+ ?x7 (* (~ 1) (mod |$x| 2))) 0)) $x661)))) +(let ((@x628 (|unit-resolution| @x636 (lemma ((_ |th-lemma| arith farkas -1 1 1) @x82 (hypothesis $x661) @x603 false) (not $x661)) (not (= (+ ?x7 (* (~ 1) (mod |$x| 2))) 0))))) +(let (($x701 (= (+ ?x7 (* (~ 1) (mod |$x| 2))) 0))) +(let (($x683 (ite $x698 $x701 (= (+ ?x7 (mod (* (~ 1) |$x|) (~ 2))) 0)))) +(let (($x386 (= ?x7 0))) +(let (($x385 (= |$x| 0))) +(let (($x392 (ite $x385 $x386 $x683))) +(let (($x721 (forall ((?v0 Int) (?v1 Int) )(!(let (($x236 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x290 (ite $x236 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x18 (= ?v0 0))) +(let (($x19 (= ?v1 0))) +(ite $x19 (= (|$mod| ?v0 ?v1) ?v0) (ite $x18 (= (|$mod| ?v0 ?v1) 0) $x290)))))) :pattern ( (|$mod| ?v0 ?v1) ))) +)) +(let (($x295 (forall ((?v0 Int) (?v1 Int) )(let (($x236 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x290 (ite $x236 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x18 (= ?v0 0))) +(let (($x19 (= ?v1 0))) +(ite $x19 (= (|$mod| ?v0 ?v1) ?v0) (ite $x18 (= (|$mod| ?v0 ?v1) 0) $x290))))))) +)) +(let (($x236 (or (not (or (<= ?1 0) (<= ?0 0))) (not (or (>= ?1 0) (<= ?0 0)))))) +(let (($x290 (ite $x236 (= (+ (|$mod| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0) (= (+ (|$mod| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0)))) +(let (($x18 (= ?1 0))) +(let (($x19 (= ?0 0))) +(let (($x292 (ite $x19 (= (|$mod| ?1 ?0) ?1) (ite $x18 (= (|$mod| ?1 ?0) 0) $x290)))) +(let (($x264 (forall ((?v0 Int) (?v1 Int) )(let ((?x132 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x138 (* (~ 1) ?x132))) +(let ((?x36 (mod ?v0 ?v1))) +(let (($x236 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x18 (= ?v0 0))) +(let (($x19 (= ?v1 0))) +(let ((?x35 (|$mod| ?v0 ?v1))) +(= ?x35 (ite $x19 ?v0 (ite $x18 0 (ite $x236 ?x36 ?x138)))))))))))) +)) +(let ((?x132 (mod (* (~ 1) ?1) (* (~ 1) ?0)))) +(let ((?x138 (* (~ 1) ?x132))) +(let ((?x36 (mod ?1 ?0))) +(let ((?x35 (|$mod| ?1 ?0))) +(let (($x261 (= ?x35 (ite $x19 ?1 (ite $x18 0 (ite $x236 ?x36 ?x138)))))) +(let (($x216 (forall ((?v0 Int) (?v1 Int) )(let ((?x132 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x138 (* (~ 1) ?x132))) +(let ((?x36 (mod ?v0 ?v1))) +(let (($x87 (<= ?v1 0))) +(let (($x88 (not $x87))) +(let (($x185 (and (not (>= ?v0 0)) $x88))) +(let (($x91 (and (not (<= ?v0 0)) $x88))) +(let (($x188 (or $x91 $x185))) +(let ((?x204 (ite $x188 ?x36 ?x138))) +(let (($x18 (= ?v0 0))) +(let ((?x207 (ite $x18 0 ?x204))) +(let (($x19 (= ?v1 0))) +(let ((?x210 (ite $x19 ?v0 ?x207))) +(let ((?x35 (|$mod| ?v0 ?v1))) +(= ?x35 ?x210)))))))))))))))) +)) +(let (($x87 (<= ?0 0))) +(let (($x88 (not $x87))) +(let (($x185 (and (not (>= ?1 0)) $x88))) +(let (($x91 (and (not (<= ?1 0)) $x88))) +(let (($x188 (or $x91 $x185))) +(let ((?x204 (ite $x188 ?x36 ?x138))) +(let ((?x207 (ite $x18 0 ?x204))) +(let ((?x210 (ite $x19 ?1 ?x207))) +(let (($x213 (= ?x35 ?x210))) +(let ((@x238 (monotonicity (rewrite (= $x91 (not (or (<= ?1 0) $x87)))) (rewrite (= $x185 (not (or (>= ?1 0) $x87)))) (= $x188 $x236)))) +(let ((@x257 (monotonicity (monotonicity @x238 (= ?x204 (ite $x236 ?x36 ?x138))) (= ?x207 (ite $x18 0 (ite $x236 ?x36 ?x138)))))) +(let ((@x260 (monotonicity @x257 (= ?x210 (ite $x19 ?1 (ite $x18 0 (ite $x236 ?x36 ?x138))))))) +(let (($x155 (forall ((?v0 Int) (?v1 Int) )(let ((?x132 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x138 (* (~ 1) ?x132))) +(let ((?x36 (mod ?v0 ?v1))) +(let (($x87 (<= ?v1 0))) +(let (($x88 (not $x87))) +(let (($x94 (<= 0 ?v0))) +(let (($x95 (not $x94))) +(let (($x103 (and $x95 $x88))) +(let (($x91 (and (not (<= ?v0 0)) $x88))) +(let (($x106 (or $x91 $x103))) +(let ((?x143 (ite $x106 ?x36 ?x138))) +(let (($x18 (= ?v0 0))) +(let ((?x146 (ite $x18 0 ?x143))) +(let (($x19 (= ?v1 0))) +(let ((?x149 (ite $x19 ?v0 ?x146))) +(let ((?x35 (|$mod| ?v0 ?v1))) +(= ?x35 ?x149)))))))))))))))))) +)) +(let (($x94 (<= 0 ?1))) +(let (($x95 (not $x94))) +(let (($x103 (and $x95 $x88))) +(let (($x106 (or $x91 $x103))) +(let ((?x143 (ite $x106 ?x36 ?x138))) +(let ((?x146 (ite $x18 0 ?x143))) +(let ((?x149 (ite $x19 ?1 ?x146))) +(let (($x152 (= ?x35 ?x149))) +(let ((@x184 (monotonicity (rewrite (= $x94 (>= ?1 0))) (= $x95 (not (>= ?1 0)))))) +(let ((@x206 (monotonicity (monotonicity (monotonicity @x184 (= $x103 $x185)) (= $x106 $x188)) (= ?x143 ?x204)))) +(let ((@x215 (monotonicity (monotonicity (monotonicity @x206 (= ?x146 ?x207)) (= ?x149 ?x210)) (= $x152 $x213)))) +(let (($x43 (forall ((?v0 Int) (?v1 Int) )(let ((?x38 (- (mod (- ?v0) (- ?v1))))) +(let ((?x36 (mod ?v0 ?v1))) +(let (($x26 (or (and (< 0 ?v0) (< 0 ?v1)) (and (< ?v0 0) (< 0 ?v1))))) +(let (($x18 (= ?v0 0))) +(let (($x19 (= ?v1 0))) +(let ((?x35 (|$mod| ?v0 ?v1))) +(= ?x35 (ite $x19 ?v0 (ite $x18 0 (ite $x26 ?x36 ?x38))))))))))) +)) +(let ((?x38 (- (mod (- ?1) (- ?0))))) +(let (($x26 (or (and (< 0 ?1) (< 0 ?0)) (and (< ?1 0) (< 0 ?0))))) +(let (($x153 (= (= ?x35 (ite $x19 ?1 (ite $x18 0 (ite $x26 ?x36 ?x38)))) $x152))) +(let ((@x134 (monotonicity (rewrite (= (- ?1) (* (~ 1) ?1))) (rewrite (= (- ?0) (* (~ 1) ?0))) (= (mod (- ?1) (- ?0)) ?x132)))) +(let ((@x142 (trans (monotonicity @x134 (= ?x38 (- ?x132))) (rewrite (= (- ?x132) ?x138)) (= ?x38 ?x138)))) +(let ((@x102 (trans (rewrite (= (< ?1 0) $x95)) (monotonicity (rewrite (= $x94 $x94)) (= $x95 $x95)) (= (< ?1 0) $x95)))) +(let ((@x105 (monotonicity @x102 (rewrite (= (< 0 ?0) $x88)) (= (and (< ?1 0) (< 0 ?0)) $x103)))) +(let ((@x93 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0 ?0) $x88)) (= (and (< 0 ?1) (< 0 ?0)) $x91)))) +(let ((@x145 (monotonicity (monotonicity @x93 @x105 (= $x26 $x106)) @x142 (= (ite $x26 ?x36 ?x38) ?x143)))) +(let ((@x151 (monotonicity (monotonicity @x145 (= (ite $x18 0 (ite $x26 ?x36 ?x38)) ?x146)) (= (ite $x19 ?1 (ite $x18 0 (ite $x26 ?x36 ?x38))) ?x149)))) +(let ((@x158 (mp (asserted $x43) (|quant-intro| (monotonicity @x151 $x153) (= $x43 $x155)) $x155))) +(let ((@x227 (|mp~| (mp @x158 (|quant-intro| @x215 (= $x155 $x216)) $x216) (|nnf-pos| (refl (|~| $x213 $x213)) (|~| $x216 $x216)) $x216))) +(let ((@x267 (mp @x227 (|quant-intro| (monotonicity @x260 (= $x213 $x261)) (= $x216 $x264)) $x264))) +(let ((@x298 (mp @x267 (|quant-intro| (rewrite (= $x261 $x292)) (= $x264 $x295)) $x295))) +(let (($x665 (or (not $x721) $x392))) +(let (($x705 (or (not (or $x376 (<= 2 0))) (not (or $x390 (<= 2 0)))))) +(let (($x710 (ite $x705 $x701 (= (+ ?x7 (mod (* (~ 1) |$x|) (* (~ 1) 2))) 0)))) +(let (($x712 (ite (= 2 0) (= ?x7 |$x|) (ite $x385 $x386 $x710)))) +(let (($x413 (= (= (+ ?x7 (mod (* (~ 1) |$x|) (* (~ 1) 2))) 0) (= (+ ?x7 (mod (* (~ 1) |$x|) (~ 2))) 0)))) +(let (($x680 (= (+ ?x7 (mod (* (~ 1) |$x|) (* (~ 1) 2))) (+ ?x7 (mod (* (~ 1) |$x|) (~ 2)))))) +(let ((@x408 (monotonicity (rewrite (= (* (~ 1) 2) (~ 2))) (= (mod (* (~ 1) |$x|) (* (~ 1) 2)) (mod (* (~ 1) |$x|) (~ 2)))))) +(let ((@x693 (monotonicity (rewrite (= (<= 2 0) false)) (= (or $x390 (<= 2 0)) (or $x390 false))))) +(let ((@x696 (trans @x693 (rewrite (= (or $x390 false) $x390)) (= (or $x390 (<= 2 0)) $x390)))) +(let ((@x347 (monotonicity (rewrite (= (<= 2 0) false)) (= (or $x376 (<= 2 0)) (or $x376 false))))) +(let ((@x352 (trans @x347 (rewrite (= (or $x376 false) $x376)) (= (or $x376 (<= 2 0)) $x376)))) +(let ((@x700 (monotonicity (monotonicity @x352 (= (not (or $x376 (<= 2 0))) $x353)) (monotonicity @x696 (= (not (or $x390 (<= 2 0))) $x697)) (= $x705 $x698)))) +(let ((@x685 (monotonicity @x700 (monotonicity (monotonicity @x408 $x680) $x413) (= $x710 $x683)))) +(let ((@x675 (monotonicity (rewrite (= (= 2 0) false)) (monotonicity @x685 (= (ite $x385 $x386 $x710) $x392)) (= $x712 (ite false (= ?x7 |$x|) $x392))))) +(let ((@x678 (trans @x675 (rewrite (= (ite false (= ?x7 |$x|) $x392) $x392)) (= $x712 $x392)))) +(let ((@x672 (trans (monotonicity @x678 (= (or (not $x721) $x712) $x665)) (rewrite (= $x665 $x665)) (= (or (not $x721) $x712) $x665)))) +(let ((@x639 (|unit-resolution| (mp ((_ |quant-inst| |$x| 2) (or (not $x721) $x712)) @x672 $x665) (mp @x298 (|quant-intro| (refl (= $x292 $x292)) (= $x295 $x721)) $x721) $x392))) +(let (($x496 (not $x385))) +(let ((@x646 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not (<= ?x7 0)) (not $x67))) @x82 (not (<= ?x7 0))))) +(let ((@x627 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x386) (<= ?x7 0))) @x646 (not $x386)))) +(let ((@x641 (|unit-resolution| (|def-axiom| (or (not $x392) $x496 $x386)) @x627 (or (not $x392) $x496)))) +(let ((@x597 (|unit-resolution| (|def-axiom| (or (not $x392) $x385 $x683)) (|unit-resolution| @x641 @x639 $x496) @x639 $x683))) +(let ((@x599 (|unit-resolution| (|def-axiom| (or (not $x683) $x658 $x701)) @x597 (or $x658 $x701)))) +(let ((@x637 (|unit-resolution| (|def-axiom| (or $x698 $x376)) (|unit-resolution| @x599 @x628 $x658) $x376))) +(let ((@x638 (|unit-resolution| (|def-axiom| (or $x698 $x390)) (|unit-resolution| @x599 @x628 $x658) $x390))) +(let ((@x610 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x385 $x353 $x697)) (|unit-resolution| @x641 @x639 $x496) $x698))) +(|unit-resolution| @x610 @x638 @x637 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +33f10f004f142d3fc3aecb6377a6bfe7e31da31c 29 0 +unsat +((set-logic ) +(proof +(let (($x7 (= |$x| 0.0))) +(let ((?x13 (ite (< |$x| 0.0) (- |$x|) |$x|))) +(let (($x14 (< 1.0 ?x13))) +(let (($x15 (not $x14))) +(let (($x16 (or $x14 $x15))) +(let ((?x19 (ite $x16 4.0 2.0))) +(let (($x21 (= (+ |$x| |$x|) (* ?x19 |$x|)))) +(let (($x23 (not (not $x21)))) +(let ((?x41 (* (~ 1.0) |$x|))) +(let (($x31 (<= 0.0 |$x|))) +(let ((?x47 (ite $x31 |$x| ?x41))) +(let (($x55 (<= ?x47 1.0))) +(let (($x56 (not $x55))) +(let ((@x39 (trans (rewrite (= (< |$x| 0.0) (not $x31))) (monotonicity (rewrite (= $x31 $x31)) (= (not $x31) (not $x31))) (= (< |$x| 0.0) (not $x31))))) +(let ((@x46 (monotonicity @x39 (rewrite (= (- |$x|) ?x41)) (= ?x13 (ite (not $x31) ?x41 |$x|))))) +(let ((@x51 (trans @x46 (rewrite (= (ite (not $x31) ?x41 |$x|) ?x47)) (= ?x13 ?x47)))) +(let ((@x60 (trans (monotonicity @x51 (= $x14 (< 1.0 ?x47))) (rewrite (= (< 1.0 ?x47) $x56)) (= $x14 $x56)))) +(let ((@x67 (trans (monotonicity @x60 (= $x15 (not $x56))) (rewrite (= (not $x56) $x55)) (= $x15 $x55)))) +(let ((@x74 (trans (monotonicity @x60 @x67 (= $x16 (or $x56 $x55))) (rewrite (= (or $x56 $x55) true)) (= $x16 true)))) +(let ((@x81 (trans (monotonicity @x74 (= ?x19 (ite true 4.0 2.0))) (rewrite (= (ite true 4.0 2.0) 4.0)) (= ?x19 4.0)))) +(let ((@x87 (monotonicity (rewrite (= (+ |$x| |$x|) (* 2.0 |$x|))) (monotonicity @x81 (= (* ?x19 |$x|) (* 4.0 |$x|))) (= $x21 (= (* 2.0 |$x|) (* 4.0 |$x|)))))) +(let ((@x91 (trans @x87 (rewrite (= (= (* 2.0 |$x|) (* 4.0 |$x|)) $x7)) (= $x21 $x7)))) +(let ((@x96 (monotonicity (monotonicity @x91 (= (not $x21) (not $x7))) (= $x23 (not (not $x7)))))) +(let ((@x101 (mp (asserted $x23) (trans @x96 (rewrite (= (not (not $x7)) $x7)) (= $x23 $x7)) $x7))) +(|unit-resolution| (asserted (not $x7)) @x101 false))))))))))))))))))))))))))) + +3b003906a8e68b23edbffcea6ebff73827a47a16 348 0 +unsat +((set-logic ) +(proof +(let ((?x7 (+ |$n| |$m|))) +(let ((?x694 (mod ?x7 2))) +(let ((?x695 (* (~ 1) ?x694))) +(let ((?x9 (|$mod| ?x7 2))) +(let ((?x351 (+ ?x9 ?x695))) +(let (($x638 (<= ?x351 0))) +(let ((?x852 (* (~ 2) (div |$n| 4)))) +(let ((?x619 (* (~ 1) (mod |$n| 4)))) +(let ((?x498 (mod |$m| 2))) +(let ((?x499 (* (~ 1) ?x498))) +(let ((?x13 (|$mod| |$n| 4))) +(let ((?x1079 (+ |$n| |$m| ?x9 ?x13 ?x499 ?x619 ?x695 ?x852 (* (~ 1) (div ?x7 2)) (* (~ 1) (div |$m| 2))))) +(let (($x1080 (>= ?x1079 2))) +(let ((?x951 (+ |$n| |$m| ?x695 (* (~ 2) (div ?x7 2))))) +(let (($x949 (= ?x951 0))) +(let ((@x152 (|true-axiom| true))) +(let ((@x1084 (|unit-resolution| ((_ |th-lemma| arith) (or false $x949)) @x152 (hypothesis (not $x949)) false))) +(let ((@x1174 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= ?x694 2)))) @x152 (not (>= ?x694 2))))) +(let (($x375 (<= ?x7 0))) +(let (($x374 (= ?x7 0))) +(let (($x480 (= ?x351 0))) +(let (($x485 (not $x480))) +(let (($x15 (= ?x13 3))) +(let ((@x53 (asserted $x15))) +(let ((@x876 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x15) (<= ?x13 3))) @x53 (<= ?x13 3)))) +(let ((@x724 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x15) (>= ?x13 3))) @x53 (>= ?x13 3)))) +(let ((?x761 (+ |$n| ?x619 (* (~ 4) (div |$n| 4))))) +(let (($x759 (= ?x761 0))) +(let ((@x883 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x759) (<= ?x761 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x759)) @x152 $x759) (<= ?x761 0)))) +(let ((@x752 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x759) (>= ?x761 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x759)) @x152 $x759) (>= ?x761 0)))) +(let (($x490 (<= |$m| 0))) +(let (($x488 (= |$m| 0))) +(let ((?x19 (|$mod| |$m| 2))) +(let ((?x469 (+ ?x19 ?x499))) +(let (($x470 (= ?x469 0))) +(let (($x915 (not $x470))) +(let (($x1110 (not $x1080))) +(let ((@x1087 (|unit-resolution| ((_ |th-lemma| arith) (or false (>= ?x498 0))) @x152 (>= ?x498 0)))) +(let ((@x1090 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x9 0)) (<= ?x9 0))) (asserted (= ?x9 0)) (<= ?x9 0)))) +(let ((@x1097 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x949) (<= ?x951 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x949)) @x152 $x949) (<= ?x951 0)))) +(let ((?x620 (+ ?x13 ?x619))) +(let (($x524 (<= ?x620 0))) +(let (($x621 (= ?x620 0))) +(let (($x627 (>= |$n| 0))) +(let (($x597 (not $x627))) +(let (($x617 (<= |$n| 0))) +(let (($x587 (not $x617))) +(let (($x577 (or $x587 $x597))) +(let (($x573 (ite $x577 $x621 (= (+ ?x13 (mod (* (~ 1) |$n|) (~ 4))) 0)))) +(let (($x624 (= |$n| 0))) +(let (($x507 (not $x624))) +(let ((@x337 (trans (symm @x53 (= 3 ?x13)) (hypothesis (= ?x13 0)) (= 3 0)))) +(let ((@x345 (lemma (mp @x337 (rewrite (= (= 3 0) false)) false) (not (= ?x13 0))))) +(let (($x625 (= ?x13 0))) +(let (($x576 (ite $x624 $x625 $x573))) +(let (($x710 (forall ((?v0 Int) (?v1 Int) )(!(let (($x226 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x280 (ite $x226 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x26 (= ?v0 0))) +(let (($x27 (= ?v1 0))) +(ite $x27 (= (|$mod| ?v0 ?v1) ?v0) (ite $x26 (= (|$mod| ?v0 ?v1) 0) $x280)))))) :pattern ( (|$mod| ?v0 ?v1) ))) +)) +(let (($x285 (forall ((?v0 Int) (?v1 Int) )(let (($x226 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x280 (ite $x226 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x26 (= ?v0 0))) +(let (($x27 (= ?v1 0))) +(ite $x27 (= (|$mod| ?v0 ?v1) ?v0) (ite $x26 (= (|$mod| ?v0 ?v1) 0) $x280))))))) +)) +(let (($x226 (or (not (or (<= ?1 0) (<= ?0 0))) (not (or (>= ?1 0) (<= ?0 0)))))) +(let (($x280 (ite $x226 (= (+ (|$mod| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0) (= (+ (|$mod| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0)))) +(let (($x26 (= ?1 0))) +(let (($x27 (= ?0 0))) +(let (($x282 (ite $x27 (= (|$mod| ?1 ?0) ?1) (ite $x26 (= (|$mod| ?1 ?0) 0) $x280)))) +(let (($x254 (forall ((?v0 Int) (?v1 Int) )(let ((?x108 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x114 (* (~ 1) ?x108))) +(let ((?x44 (mod ?v0 ?v1))) +(let (($x226 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x26 (= ?v0 0))) +(let (($x27 (= ?v1 0))) +(let ((?x43 (|$mod| ?v0 ?v1))) +(= ?x43 (ite $x27 ?v0 (ite $x26 0 (ite $x226 ?x44 ?x114)))))))))))) +)) +(let ((?x108 (mod (* (~ 1) ?1) (* (~ 1) ?0)))) +(let ((?x114 (* (~ 1) ?x108))) +(let ((?x44 (mod ?1 ?0))) +(let ((?x43 (|$mod| ?1 ?0))) +(let (($x251 (= ?x43 (ite $x27 ?1 (ite $x26 0 (ite $x226 ?x44 ?x114)))))) +(let (($x192 (forall ((?v0 Int) (?v1 Int) )(let ((?x108 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x114 (* (~ 1) ?x108))) +(let ((?x44 (mod ?v0 ?v1))) +(let (($x63 (<= ?v1 0))) +(let (($x64 (not $x63))) +(let (($x161 (and (not (>= ?v0 0)) $x64))) +(let (($x67 (and (not (<= ?v0 0)) $x64))) +(let (($x164 (or $x67 $x161))) +(let ((?x180 (ite $x164 ?x44 ?x114))) +(let (($x26 (= ?v0 0))) +(let ((?x183 (ite $x26 0 ?x180))) +(let (($x27 (= ?v1 0))) +(let ((?x186 (ite $x27 ?v0 ?x183))) +(let ((?x43 (|$mod| ?v0 ?v1))) +(= ?x43 ?x186)))))))))))))))) +)) +(let (($x63 (<= ?0 0))) +(let (($x64 (not $x63))) +(let (($x161 (and (not (>= ?1 0)) $x64))) +(let (($x67 (and (not (<= ?1 0)) $x64))) +(let (($x164 (or $x67 $x161))) +(let ((?x180 (ite $x164 ?x44 ?x114))) +(let ((?x183 (ite $x26 0 ?x180))) +(let ((?x186 (ite $x27 ?1 ?x183))) +(let (($x189 (= ?x43 ?x186))) +(let ((@x228 (monotonicity (rewrite (= $x67 (not (or (<= ?1 0) $x63)))) (rewrite (= $x161 (not (or (>= ?1 0) $x63)))) (= $x164 $x226)))) +(let ((@x247 (monotonicity (monotonicity @x228 (= ?x180 (ite $x226 ?x44 ?x114))) (= ?x183 (ite $x26 0 (ite $x226 ?x44 ?x114)))))) +(let ((@x250 (monotonicity @x247 (= ?x186 (ite $x27 ?1 (ite $x26 0 (ite $x226 ?x44 ?x114))))))) +(let (($x131 (forall ((?v0 Int) (?v1 Int) )(let ((?x108 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x114 (* (~ 1) ?x108))) +(let ((?x44 (mod ?v0 ?v1))) +(let (($x63 (<= ?v1 0))) +(let (($x64 (not $x63))) +(let (($x70 (<= 0 ?v0))) +(let (($x71 (not $x70))) +(let (($x79 (and $x71 $x64))) +(let (($x67 (and (not (<= ?v0 0)) $x64))) +(let (($x82 (or $x67 $x79))) +(let ((?x119 (ite $x82 ?x44 ?x114))) +(let (($x26 (= ?v0 0))) +(let ((?x122 (ite $x26 0 ?x119))) +(let (($x27 (= ?v1 0))) +(let ((?x125 (ite $x27 ?v0 ?x122))) +(let ((?x43 (|$mod| ?v0 ?v1))) +(= ?x43 ?x125)))))))))))))))))) +)) +(let (($x70 (<= 0 ?1))) +(let (($x71 (not $x70))) +(let (($x79 (and $x71 $x64))) +(let (($x82 (or $x67 $x79))) +(let ((?x119 (ite $x82 ?x44 ?x114))) +(let ((?x122 (ite $x26 0 ?x119))) +(let ((?x125 (ite $x27 ?1 ?x122))) +(let (($x128 (= ?x43 ?x125))) +(let ((@x160 (monotonicity (rewrite (= $x70 (>= ?1 0))) (= $x71 (not (>= ?1 0)))))) +(let ((@x182 (monotonicity (monotonicity (monotonicity @x160 (= $x79 $x161)) (= $x82 $x164)) (= ?x119 ?x180)))) +(let ((@x191 (monotonicity (monotonicity (monotonicity @x182 (= ?x122 ?x183)) (= ?x125 ?x186)) (= $x128 $x189)))) +(let (($x51 (forall ((?v0 Int) (?v1 Int) )(let ((?x46 (- (mod (- ?v0) (- ?v1))))) +(let ((?x44 (mod ?v0 ?v1))) +(let (($x34 (or (and (< 0 ?v0) (< 0 ?v1)) (and (< ?v0 0) (< 0 ?v1))))) +(let (($x26 (= ?v0 0))) +(let (($x27 (= ?v1 0))) +(let ((?x43 (|$mod| ?v0 ?v1))) +(= ?x43 (ite $x27 ?v0 (ite $x26 0 (ite $x34 ?x44 ?x46))))))))))) +)) +(let ((?x46 (- (mod (- ?1) (- ?0))))) +(let (($x34 (or (and (< 0 ?1) (< 0 ?0)) (and (< ?1 0) (< 0 ?0))))) +(let (($x129 (= (= ?x43 (ite $x27 ?1 (ite $x26 0 (ite $x34 ?x44 ?x46)))) $x128))) +(let ((@x110 (monotonicity (rewrite (= (- ?1) (* (~ 1) ?1))) (rewrite (= (- ?0) (* (~ 1) ?0))) (= (mod (- ?1) (- ?0)) ?x108)))) +(let ((@x118 (trans (monotonicity @x110 (= ?x46 (- ?x108))) (rewrite (= (- ?x108) ?x114)) (= ?x46 ?x114)))) +(let ((@x78 (trans (rewrite (= (< ?1 0) $x71)) (monotonicity (rewrite (= $x70 $x70)) (= $x71 $x71)) (= (< ?1 0) $x71)))) +(let ((@x81 (monotonicity @x78 (rewrite (= (< 0 ?0) $x64)) (= (and (< ?1 0) (< 0 ?0)) $x79)))) +(let ((@x69 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0 ?0) $x64)) (= (and (< 0 ?1) (< 0 ?0)) $x67)))) +(let ((@x121 (monotonicity (monotonicity @x69 @x81 (= $x34 $x82)) @x118 (= (ite $x34 ?x44 ?x46) ?x119)))) +(let ((@x127 (monotonicity (monotonicity @x121 (= (ite $x26 0 (ite $x34 ?x44 ?x46)) ?x122)) (= (ite $x27 ?1 (ite $x26 0 (ite $x34 ?x44 ?x46))) ?x125)))) +(let ((@x134 (mp (asserted $x51) (|quant-intro| (monotonicity @x127 $x129) (= $x51 $x131)) $x131))) +(let ((@x154 (|mp~| (mp @x134 (|quant-intro| @x191 (= $x131 $x192)) $x192) (|nnf-pos| (refl (|~| $x189 $x189)) (|~| $x192 $x192)) $x192))) +(let ((@x257 (mp @x154 (|quant-intro| (monotonicity @x250 (= $x189 $x251)) (= $x192 $x254)) $x254))) +(let ((@x288 (mp @x257 (|quant-intro| (rewrite (= $x251 $x282)) (= $x254 $x285)) $x285))) +(let ((@x715 (mp @x288 (|quant-intro| (refl (= $x282 $x282)) (= $x285 $x710)) $x710))) +(let (($x662 (not $x710))) +(let (($x560 (or $x662 $x576))) +(let (($x630 (or (not (or $x617 (<= 4 0))) (not (or $x627 (<= 4 0)))))) +(let (($x609 (ite $x630 $x621 (= (+ ?x13 (mod (* (~ 1) |$n|) (* (~ 1) 4))) 0)))) +(let (($x611 (ite (= 4 0) (= ?x13 |$n|) (ite $x624 $x625 $x609)))) +(let (($x571 (= (= (+ ?x13 (mod (* (~ 1) |$n|) (* (~ 1) 4))) 0) (= (+ ?x13 (mod (* (~ 1) |$n|) (~ 4))) 0)))) +(let (($x568 (= (+ ?x13 (mod (* (~ 1) |$n|) (* (~ 1) 4))) (+ ?x13 (mod (* (~ 1) |$n|) (~ 4)))))) +(let ((@x585 (monotonicity (rewrite (= (* (~ 1) 4) (~ 4))) (= (mod (* (~ 1) |$n|) (* (~ 1) 4)) (mod (* (~ 1) |$n|) (~ 4)))))) +(let ((@x592 (monotonicity (rewrite (= (<= 4 0) false)) (= (or $x627 (<= 4 0)) (or $x627 false))))) +(let ((@x596 (trans @x592 (rewrite (= (or $x627 false) $x627)) (= (or $x627 (<= 4 0)) $x627)))) +(let ((@x603 (monotonicity (rewrite (= (<= 4 0) false)) (= (or $x617 (<= 4 0)) (or $x617 false))))) +(let ((@x586 (trans @x603 (rewrite (= (or $x617 false) $x617)) (= (or $x617 (<= 4 0)) $x617)))) +(let ((@x579 (monotonicity (monotonicity @x586 (= (not (or $x617 (<= 4 0))) $x587)) (monotonicity @x596 (= (not (or $x627 (<= 4 0))) $x597)) (= $x630 $x577)))) +(let ((@x575 (monotonicity @x579 (monotonicity (monotonicity @x585 $x568) $x571) (= $x609 $x573)))) +(let ((@x555 (monotonicity (rewrite (= (= 4 0) false)) (monotonicity @x575 (= (ite $x624 $x625 $x609) $x576)) (= $x611 (ite false (= ?x13 |$n|) $x576))))) +(let ((@x559 (trans @x555 (rewrite (= (ite false (= ?x13 |$n|) $x576) $x576)) (= $x611 $x576)))) +(let ((@x549 (trans (monotonicity @x559 (= (or $x662 $x611) $x560)) (rewrite (= $x560 $x560)) (= (or $x662 $x611) $x560)))) +(let ((@x751 (|unit-resolution| (|def-axiom| (or (not $x576) $x507 $x625)) (|unit-resolution| (mp ((_ |quant-inst| |$n| 4) (or $x662 $x611)) @x549 $x560) @x715 $x576) (or $x507 $x625)))) +(let ((@x728 (|unit-resolution| @x751 @x345 $x507))) +(let ((@x790 (|unit-resolution| (|def-axiom| (or (not $x576) $x624 $x573)) (|unit-resolution| (mp ((_ |quant-inst| |$n| 4) (or $x662 $x611)) @x549 $x560) @x715 $x576) (or $x624 $x573)))) +(let ((@x292 (|unit-resolution| (|def-axiom| (or $x577 $x617)) (hypothesis (not $x577)) $x617))) +(let ((@x718 (|unit-resolution| (|def-axiom| (or $x577 $x627)) (hypothesis (not $x577)) $x627))) +(let ((@x721 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x624 $x587 $x597)) @x718 @x292 @x728 false))) +(let ((@x722 (lemma @x721 $x577))) +(let ((@x1098 (|unit-resolution| (|def-axiom| (or (not $x573) (not $x577) $x621)) @x722 (|unit-resolution| @x790 @x728 $x573) $x621))) +(let ((?x1000 (+ |$m| ?x499 (* (~ 2) (div |$m| 2))))) +(let (($x998 (= ?x1000 0))) +(let ((@x1107 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x998) (<= ?x1000 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x998)) @x152 $x998) (<= ?x1000 0)))) +(let ((@x1109 ((_ |th-lemma| arith farkas -1 2 -1 -1 -1 -1 -1 -1 1) @x876 (hypothesis $x1080) @x883 @x1107 (hypothesis $x638) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x621) $x524)) @x1098 $x524) @x1097 @x1090 @x1087 false))) +(let ((@x945 (|unit-resolution| (lemma @x1109 (or $x1110 (not $x638))) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x485 $x638)) (hypothesis $x480) $x638) $x1110))) +(let (($x639 (>= ?x351 0))) +(let ((@x943 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x998) (>= ?x1000 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x998)) @x152 $x998) (>= ?x1000 0)))) +(let ((@x1026 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x9 0)) (>= ?x9 0))) (asserted (= ?x9 0)) (>= ?x9 0)))) +(let (($x957 (>= ?x951 0))) +(let ((@x436 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x949) $x957)) (|unit-resolution| ((_ |th-lemma| arith) (or false $x949)) @x152 $x949) $x957))) +(let (($x487 (>= ?x620 0))) +(let ((@x994 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x621) $x487)) @x1098 $x487))) +(let (($x907 (>= ?x469 0))) +(let (($x962 (not (>= ?x19 1)))) +(let (($x932 (<= ?x19 1))) +(let ((@x1054 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= ?x498 2)))) @x152 (not (>= ?x498 2))))) +(let (($x906 (<= ?x469 0))) +(let ((@x830 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x932 (>= ?x498 2) (not $x906))) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x915 $x906)) (hypothesis $x470) $x906) @x1054 $x932))) +(let ((?x16 (|$mod| |$n| 2))) +(let (($x18 (= ?x16 1))) +(let (($x859 (not (>= ?x16 1)))) +(let (($x370 (<= ?x16 1))) +(let ((@x819 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= (mod |$n| 2) 2)))) @x152 (not (>= (mod |$n| 2) 2))))) +(let ((?x404 (+ ?x16 (* (~ 1) (mod |$n| 2))))) +(let (($x390 (<= ?x404 0))) +(let (($x405 (= ?x404 0))) +(let (($x451 (ite $x577 $x405 (= (+ ?x16 (mod (* (~ 1) |$n|) (~ 2))) 0)))) +(let (($x450 (ite $x624 (= ?x16 0) $x451))) +(let (($x427 (or $x662 $x450))) +(let (($x411 (or (not (or $x617 (<= 2 0))) (not (or $x627 (<= 2 0)))))) +(let (($x386 (ite $x411 $x405 (= (+ ?x16 (mod (* (~ 1) |$n|) (* (~ 1) 2))) 0)))) +(let (($x289 (= 2 0))) +(let (($x389 (ite $x289 (= ?x16 |$n|) (ite $x624 (= ?x16 0) $x386)))) +(let (($x449 (= (= (+ ?x16 (mod (* (~ 1) |$n|) (* (~ 1) 2))) 0) (= (+ ?x16 (mod (* (~ 1) |$n|) (~ 2))) 0)))) +(let (($x446 (= (+ ?x16 (mod (* (~ 1) |$n|) (* (~ 1) 2))) (+ ?x16 (mod (* (~ 1) |$n|) (~ 2)))))) +(let ((@x671 (rewrite (= (* (~ 1) 2) (~ 2))))) +(let ((@x453 (monotonicity @x671 (= (mod (* (~ 1) |$n|) (* (~ 1) 2)) (mod (* (~ 1) |$n|) (~ 2)))))) +(let ((@x677 (rewrite (= (<= 2 0) false)))) +(let ((@x466 (monotonicity @x677 (= (or $x627 (<= 2 0)) (or $x627 false))))) +(let ((@x468 (trans @x466 (rewrite (= (or $x627 false) $x627)) (= (or $x627 (<= 2 0)) $x627)))) +(let ((@x477 (monotonicity @x677 (= (or $x617 (<= 2 0)) (or $x617 false))))) +(let ((@x458 (trans @x477 (rewrite (= (or $x617 false) $x617)) (= (or $x617 (<= 2 0)) $x617)))) +(let ((@x461 (monotonicity (monotonicity @x458 (= (not (or $x617 (<= 2 0))) $x587)) (monotonicity @x468 (= (not (or $x627 (<= 2 0))) $x597)) (= $x411 $x577)))) +(let ((@x445 (monotonicity @x461 (monotonicity (monotonicity @x453 $x446) $x449) (= $x386 $x451)))) +(let ((@x691 (rewrite (= $x289 false)))) +(let ((@x441 (monotonicity @x691 (monotonicity @x445 (= (ite $x624 (= ?x16 0) $x386) $x450)) (= $x389 (ite false (= ?x16 |$n|) $x450))))) +(let ((@x426 (trans @x441 (rewrite (= (ite false (= ?x16 |$n|) $x450) $x450)) (= $x389 $x450)))) +(let ((@x434 (trans (monotonicity @x426 (= (or $x662 $x389) $x427)) (rewrite (= $x427 $x427)) (= (or $x662 $x389) $x427)))) +(let ((@x771 (|unit-resolution| (|def-axiom| (or (not $x450) $x624 $x451)) @x728 (or (not $x450) $x451)))) +(let ((@x772 (|unit-resolution| @x771 (|unit-resolution| (mp ((_ |quant-inst| |$n| 2) (or $x662 $x389)) @x434 $x427) @x715 $x450) $x451))) +(let ((@x774 (|unit-resolution| (|def-axiom| (or (not $x451) (not $x577) $x405)) (hypothesis $x577) @x772 $x405))) +(let ((@x781 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x370 (>= (mod |$n| 2) 2) (not $x390))) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x405) $x390)) @x774 $x390) @x819 $x370))) +(let ((@x787 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x18 (not $x370) $x859)) (hypothesis (not $x18)) (or (not $x370) $x859)))) +(let ((@x733 (|unit-resolution| (|def-axiom| (or (not $x573) (not $x577) $x621)) (hypothesis $x577) (|unit-resolution| @x790 @x728 $x573) $x621))) +(let (($x391 (>= ?x404 0))) +(let (($x324 (or (not (>= (+ |$n| ?x13 ?x619 (* (~ 1) (div |$n| 2)) ?x852) 2)) (not $x391) (not $x524) (>= ?x16 1)))) +(let ((?x737 (+ |$n| (* (~ 1) (mod |$n| 2)) (* (~ 2) (div |$n| 2))))) +(let (($x735 (= ?x737 0))) +(let ((@x869 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x735) (<= ?x737 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x735)) @x152 $x735) (<= ?x737 0)))) +(let ((@x870 (hypothesis (>= (+ |$n| ?x13 ?x619 (* (~ 1) (div |$n| 2)) ?x852) 2)))) +(let ((@x831 ((_ |th-lemma| arith farkas -1 1 -2 1 1 1 1) (hypothesis $x391) @x876 @x870 @x883 @x869 (hypothesis $x524) (hypothesis $x859) false))) +(let ((@x313 (|unit-resolution| (lemma @x831 $x324) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x405) $x391)) @x774 $x391) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x621) $x524)) @x733 $x524) (|unit-resolution| @x787 @x781 $x859) (not (>= (+ |$n| ?x13 ?x619 (* (~ 1) (div |$n| 2)) ?x852) 2))))) +(let ((@x757 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x735) (>= ?x737 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x735)) @x152 $x735) (>= ?x737 0)))) +(let ((@x763 (|unit-resolution| ((_ |th-lemma| arith) (or false (>= (mod |$n| 2) 0))) @x152 (>= (mod |$n| 2) 0)))) +(let ((@x764 ((_ |th-lemma| arith farkas -1/2 -1/2 -1/2 -1/2 -1/2 1) @x724 @x752 @x763 @x757 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x621) $x487)) @x733 $x487) @x313 false))) +(let (($x206 (or (not $x18) (not (= ?x19 1))))) +(let ((@x212 (monotonicity (rewrite (= (and $x18 (= ?x19 1)) (not $x206))) (= (not (and $x18 (= ?x19 1))) (not (not $x206)))))) +(let ((@x216 (trans @x212 (rewrite (= (not (not $x206)) $x206)) (= (not (and $x18 (= ?x19 1))) $x206)))) +(let ((@x841 (|unit-resolution| (mp (asserted (not (and $x18 (= ?x19 1)))) @x216 $x206) (|unit-resolution| (lemma @x764 (or (not $x577) $x18)) @x722 $x18) (not (= ?x19 1))))) +(let ((@x966 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (= ?x19 1) (not $x932) $x962)) @x841 (or (not $x932) $x962)))) +(let ((@x968 ((_ |th-lemma| arith farkas 1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 1) (|unit-resolution| @x966 @x830 $x962) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x915 $x907)) (hypothesis $x470) $x907) @x994 (hypothesis $x639) @x436 @x1026 @x943 @x752 @x724 (hypothesis $x1110) false))) +(let ((@x952 (|unit-resolution| (lemma @x968 (or $x915 (not $x639) $x1080)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x485 $x639)) (hypothesis $x480) $x639) @x945 $x915))) +(let ((@x1043 (hypothesis $x915))) +(let (($x494 (>= |$m| 0))) +(let (($x302 (not $x494))) +(let (($x319 (not $x490))) +(let (($x293 (or $x319 $x302))) +(let (($x770 (ite $x293 $x470 (= (+ ?x19 (mod (* (~ 1) |$m|) (~ 2))) 0)))) +(let (($x489 (= ?x19 0))) +(let (($x801 (ite $x488 $x489 $x770))) +(let (($x834 (or $x662 $x801))) +(let (($x497 (or (not (or $x490 (<= 2 0))) (not (or $x494 (<= 2 0)))))) +(let (($x474 (ite $x497 $x470 (= (+ ?x19 (mod (* (~ 1) |$m|) (* (~ 1) 2))) 0)))) +(let (($x318 (ite $x289 (= ?x19 |$m|) (ite $x488 $x489 $x474)))) +(let (($x825 (= (= (+ ?x19 (mod (* (~ 1) |$m|) (* (~ 1) 2))) 0) (= (+ ?x19 (mod (* (~ 1) |$m|) (~ 2))) 0)))) +(let (($x822 (= (+ ?x19 (mod (* (~ 1) |$m|) (* (~ 1) 2))) (+ ?x19 (mod (* (~ 1) |$m|) (~ 2)))))) +(let ((@x817 (monotonicity @x671 (= (mod (* (~ 1) |$m|) (* (~ 1) 2)) (mod (* (~ 1) |$m|) (~ 2)))))) +(let ((@x297 (monotonicity @x677 (= (or $x494 (<= 2 0)) (or $x494 false))))) +(let ((@x301 (trans @x297 (rewrite (= (or $x494 false) $x494)) (= (or $x494 (<= 2 0)) $x494)))) +(let ((@x321 (monotonicity @x677 (= (or $x490 (<= 2 0)) (or $x490 false))))) +(let ((@x317 (trans @x321 (rewrite (= (or $x490 false) $x490)) (= (or $x490 (<= 2 0)) $x490)))) +(let ((@x716 (monotonicity (monotonicity @x317 (= (not (or $x490 (<= 2 0))) $x319)) (monotonicity @x301 (= (not (or $x494 (<= 2 0))) $x302)) (= $x497 $x293)))) +(let ((@x800 (monotonicity @x716 (monotonicity (monotonicity @x817 $x822) $x825) (= $x474 $x770)))) +(let ((@x826 (monotonicity @x691 (monotonicity @x800 (= (ite $x488 $x489 $x474) $x801)) (= $x318 (ite false (= ?x19 |$m|) $x801))))) +(let ((@x833 (trans @x826 (rewrite (= (ite false (= ?x19 |$m|) $x801) $x801)) (= $x318 $x801)))) +(let ((@x897 (trans (monotonicity @x833 (= (or $x662 $x318) $x834)) (rewrite (= $x834 $x834)) (= (or $x662 $x318) $x834)))) +(let ((@x1029 (|unit-resolution| (|def-axiom| (or (not $x801) $x488 $x770)) (|unit-resolution| (mp ((_ |quant-inst| |$m| 2) (or $x662 $x318)) @x897 $x834) @x715 $x801) (or $x488 $x770)))) +(let (($x922 (not $x488))) +(let ((@x1071 (|unit-resolution| @x1029 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x922 $x494)) (hypothesis $x302) $x922) $x770))) +(let ((@x1048 (|unit-resolution| (|def-axiom| (or (not $x770) (not $x293) $x470)) @x1071 (|unit-resolution| (|def-axiom| (or $x293 $x494)) (hypothesis $x302) $x293) @x1043 false))) +(let ((@x352 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x488 $x319 $x302)) (hypothesis $x922) (|unit-resolution| (lemma @x1048 (or $x494 $x470)) @x1043 $x494) $x319))) +(let ((@x990 (|unit-resolution| (|def-axiom| (or (not $x770) (not $x293) $x470)) (|unit-resolution| (|def-axiom| (or $x293 $x490)) @x352 $x293) (|unit-resolution| @x1029 (hypothesis $x922) $x770) @x1043 false))) +(let ((@x1031 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x922 $x490)) (|unit-resolution| (lemma @x990 (or $x488 $x470)) @x952 $x488) $x490))) +(let ((@x858 (|unit-resolution| (|def-axiom| (or (not $x801) $x922 $x489)) (|unit-resolution| (mp ((_ |quant-inst| |$m| 2) (or $x662 $x318)) @x897 $x834) @x715 $x801) (or $x922 $x489)))) +(let ((@x417 (|unit-resolution| @x858 (|unit-resolution| (lemma @x990 (or $x488 $x470)) @x952 $x488) $x489))) +(let ((@x413 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x489) (<= ?x19 0))) @x417 (<= ?x19 0)))) +(let ((@x392 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x489) (>= ?x19 0))) @x417 (>= ?x19 0)))) +(let ((@x393 ((_ |th-lemma| arith gcd-test 1 1 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2) @x392 @x413 @x994 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x621) $x524)) @x1098 $x524) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x485 $x639)) (hypothesis $x480) $x639) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x485 $x638)) (hypothesis $x480) $x638) @x436 @x1097 @x1026 @x1090 (|unit-resolution| (lemma @x1048 (or $x494 $x470)) @x952 $x494) @x1031 @x752 @x883 @x724 @x876 false))) +(let (($x378 (>= ?x7 0))) +(let (($x688 (not $x378))) +(let (($x681 (not $x375))) +(let (($x676 (or $x681 $x688))) +(let (($x388 (ite $x676 $x480 (= (+ ?x9 (mod (+ (* (~ 1) |$n|) (* (~ 1) |$m|)) (~ 2))) 0)))) +(let (($x534 (not $x374))) +(let ((@x346 (hypothesis $x534))) +(let (($x11 (= ?x9 0))) +(let (($x667 (ite $x374 $x11 $x388))) +(let (($x500 (or $x662 $x667))) +(let (($x359 (or (not (or $x375 (<= 2 0))) (not (or $x378 (<= 2 0)))))) +(let (($x698 (ite $x359 $x480 (= (+ ?x9 (mod (* (~ 1) ?x7) (* (~ 1) 2))) 0)))) +(let (($x700 (ite $x289 (= ?x9 ?x7) (ite $x374 $x11 $x698)))) +(let ((@x659 (rewrite (= (ite false (= (+ |$n| |$m| (* (~ 1) ?x9)) 0) $x667) $x667)))) +(let (($x663 (= (= (+ ?x9 (mod (* (~ 1) ?x7) (* (~ 1) 2))) 0) (= (+ ?x9 (mod (+ (* (~ 1) |$n|) (* (~ 1) |$m|)) (~ 2))) 0)))) +(let (($x382 (= (+ ?x9 (mod (* (~ 1) ?x7) (* (~ 1) 2))) (+ ?x9 (mod (+ (* (~ 1) |$n|) (* (~ 1) |$m|)) (~ 2)))))) +(let (($x673 (= (mod (* (~ 1) ?x7) (* (~ 1) 2)) (mod (+ (* (~ 1) |$n|) (* (~ 1) |$m|)) (~ 2))))) +(let ((@x674 (monotonicity (rewrite (= (* (~ 1) ?x7) (+ (* (~ 1) |$n|) (* (~ 1) |$m|)))) @x671 $x673))) +(let ((@x685 (monotonicity @x677 (= (or $x378 (<= 2 0)) (or $x378 false))))) +(let ((@x687 (trans @x685 (rewrite (= (or $x378 false) $x378)) (= (or $x378 (<= 2 0)) $x378)))) +(let ((@x341 (monotonicity @x677 (= (or $x375 (<= 2 0)) (or $x375 false))))) +(let ((@x680 (trans @x341 (rewrite (= (or $x375 false) $x375)) (= (or $x375 (<= 2 0)) $x375)))) +(let ((@x395 (monotonicity (monotonicity @x680 (= (not (or $x375 (<= 2 0))) $x681)) (monotonicity @x687 (= (not (or $x378 (<= 2 0))) $x688)) (= $x359 $x676)))) +(let ((@x666 (monotonicity @x395 (monotonicity (monotonicity @x674 $x382) $x663) (= $x698 $x388)))) +(let ((@x354 (rewrite (= (= ?x9 ?x7) (= (+ |$n| |$m| (* (~ 1) ?x9)) 0))))) +(let ((@x657 (monotonicity @x691 @x354 (monotonicity @x666 (= (ite $x374 $x11 $x698) $x667)) (= $x700 (ite false (= (+ |$n| |$m| (* (~ 1) ?x9)) 0) $x667))))) +(let ((@x645 (monotonicity (trans @x657 @x659 (= $x700 $x667)) (= (or $x662 $x700) $x500)))) +(let ((@x649 (mp ((_ |quant-inst| (+ |$n| |$m|) 2) (or $x662 $x700)) (trans @x645 (rewrite (= $x500 $x500)) (= (or $x662 $x700) $x500)) $x500))) +(let ((@x981 (|unit-resolution| (|def-axiom| (or (not $x667) $x374 $x388)) (|unit-resolution| @x649 @x715 $x667) (or $x374 $x388)))) +(let ((@x348 (|unit-resolution| (|def-axiom| (or $x676 $x375)) (hypothesis (not $x676)) $x375))) +(let ((@x349 (|unit-resolution| (|def-axiom| (or $x676 $x378)) (hypothesis (not $x676)) $x378))) +(let ((@x332 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x374 $x681 $x688)) @x349 @x348 @x346 false))) +(let ((@x984 (|unit-resolution| (|def-axiom| (or (not $x388) (not $x676) $x480)) (|unit-resolution| (lemma @x332 (or $x676 $x374)) @x346 $x676) (|unit-resolution| @x981 @x346 $x388) (lemma @x393 $x485) false))) +(let (($x1167 (>= (+ |$n| |$m| ?x13 ?x499 ?x619 ?x852 (* (~ 1) (div |$m| 2))) 2))) +(let ((@x792 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x922 $x490)) (|unit-resolution| (lemma @x990 (or $x488 $x470)) @x1043 $x488) $x490))) +(let ((@x809 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 1) (or $x627 $x688 $x319)) @x792 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x534 $x378)) (lemma @x984 $x374) $x378) $x627))) +(let ((@x1035 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 1) (or $x617 $x681 $x302)) (|unit-resolution| (lemma @x1048 (or $x494 $x470)) @x1043 $x494) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x534 $x375)) (lemma @x984 $x374) $x375) $x617))) +(let ((@x1039 (|unit-resolution| (|unit-resolution| (|def-axiom| (or (not $x577) $x587 $x597)) @x722 $x577) @x1035 @x809 false))) +(let ((@x1177 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x932 (>= ?x498 2) (not $x906))) @x1054 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x915 $x906)) (lemma @x1039 $x470) $x906) $x932))) +(let ((@x1179 ((_ |th-lemma| arith) @x943 (|unit-resolution| @x966 @x1177 $x962) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x915 $x907)) (lemma @x1039 $x470) $x907) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x534 $x378)) (lemma @x984 $x374) $x378) @x994 @x752 @x724 $x1167))) +(let ((@x1181 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x949) $x957)) (hypothesis $x949) $x957))) +(let ((@x1182 ((_ |th-lemma| arith farkas -2 -1 2 -2 1 1) @x1026 @x1181 (hypothesis $x1110) @x1179 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x534 $x375)) (lemma @x984 $x374) $x375) @x1174 false))) +(let ((@x1213 (|unit-resolution| (lemma @x1182 (or (not $x949) $x1080)) (lemma @x1084 $x949) $x1080))) +(let ((@x1215 ((_ |th-lemma| arith farkas -1 1 1) @x1090 (|unit-resolution| (lemma @x1109 (or $x1110 (not $x638))) @x1213 (not $x638)) (hypothesis (>= ?x694 0)) false))) +(|unit-resolution| ((_ |th-lemma| arith) (or false (>= ?x694 0))) @x152 (lemma @x1215 (not (>= ?x694 0))) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +6b708fee38e9bf7615ccc8723328495d7f62521e 11 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x6 (exists ((?v0 Int) )false) +)) +(let (($x5 (not $x6))) +(let (($x7 (not $x5))) +(let ((@x13 (monotonicity (|elim-unused| (= $x6 false)) (= $x5 (not false))))) +(let ((@x20 (monotonicity (trans @x13 (rewrite (= (not false) true)) (= $x5 true)) (= $x7 (not true))))) +(mp (asserted $x7) (trans @x20 (rewrite (= (not true) false)) (= $x7 false)) false)))))))) + +365761b65f00d147ff0728b709645c1e95a5cb22 22 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x54 (forall ((?v0 Int) )(<= ?v0 0)) +)) +(let (($x46 (forall ((?v0 Int) )(let (($x11 (<= ?v0 0))) +(let (($x12 (not $x11))) +(not $x12)))) +)) +(let ((@x56 (|quant-intro| (rewrite (= (not (not (<= ?0 0))) (<= ?0 0))) (= $x46 $x54)))) +(let (($x15 (exists ((?v0 Int) )(let (($x11 (<= ?v0 0))) +(not $x11))) +)) +(let (($x18 (not $x15))) +(let ((@x48 (|nnf-neg| (refl (|~| (not (not (<= ?0 0))) (not (not (<= ?0 0))))) (|~| $x18 $x46)))) +(let (($x8 (exists ((?v0 Int) )(< 0 ?v0)) +)) +(let (($x9 (not $x8))) +(let ((@x17 (|quant-intro| (rewrite (= (< 0 ?0) (not (<= ?0 0)))) (= $x8 $x15)))) +(let ((@x24 (mp (mp (asserted $x9) (monotonicity @x17 (= $x9 $x18)) $x18) (|rewrite*| (= $x18 $x18)) $x18))) +(mp (mp (|mp~| @x24 @x48 $x46) @x56 $x54) (rewrite (= $x54 false)) false))))))))))))) + +531451869d81515a9a811b564209ab76519736be 11 0 +unsat +((set-logic AUFLIRA) +(proof +(let (($x6 (exists ((?v0 Real) )false) +)) +(let (($x5 (not $x6))) +(let (($x7 (not $x5))) +(let ((@x13 (monotonicity (|elim-unused| (= $x6 false)) (= $x5 (not false))))) +(let ((@x20 (monotonicity (trans @x13 (rewrite (= (not false) true)) (= $x5 true)) (= $x7 (not true))))) +(mp (asserted $x7) (trans @x20 (rewrite (= (not true) false)) (= $x7 false)) false)))))))) + +52fc23e5db1b35bf2465aff4abeba68b99d17123 40 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v0!0 () Int) +(proof +(let (($x89 (forall ((?v1 Int) )(<= (+ ?v1 (* (~ 1) ?v0!0)) 0)) +)) +(let (($x79 (forall ((?v1 Int) )(not (not (<= (+ ?v1 (* (~ 1) ?v0!0)) 0)))) +)) +(let (($x70 (<= (+ ?0 (* (~ 1) ?v0!0)) 0))) +(let (($x76 (not (not $x70)))) +(let (($x61 (forall ((?v0 Int) )(exists ((?v1 Int) )(not (<= (+ ?v1 (* (~ 1) ?v0)) 0))) +) +)) +(let (($x64 (not $x61))) +(let (($x72 (exists ((?v1 Int) )(let (($x70 (<= (+ ?v1 (* (~ 1) ?v0!0)) 0))) +(not $x70))) +)) +(let ((@x83 (trans (sk (|~| $x64 (not $x72))) (|nnf-neg| (refl (|~| $x76 $x76)) (|~| (not $x72) $x79)) (|~| $x64 $x79)))) +(let (($x19 (forall ((?v0 Int) )(exists ((?v1 Int) )(not (<= ?v1 ?v0))) +) +)) +(let (($x22 (not $x19))) +(let (($x58 (exists ((?v1 Int) )(not (<= (+ ?v1 (* (~ 1) ?0)) 0))) +)) +(let (($x16 (exists ((?v1 Int) )(not (<= ?v1 ?0))) +)) +(let ((@x57 (monotonicity (rewrite (= (<= ?0 ?1) (<= (+ ?0 (* (~ 1) ?1)) 0))) (= (not (<= ?0 ?1)) (not (<= (+ ?0 (* (~ 1) ?1)) 0)))))) +(let ((@x66 (monotonicity (|quant-intro| (|quant-intro| @x57 (= $x16 $x58)) (= $x19 $x61)) (= $x22 $x64)))) +(let (($x9 (forall ((?v0 Int) )(exists ((?v1 Int) )(< ?v0 ?v1)) +) +)) +(let (($x10 (not $x9))) +(let (($x8 (exists ((?v1 Int) )(< ?0 ?v1)) +)) +(let ((@x18 (|quant-intro| (rewrite (= (< ?1 ?0) (not (<= ?0 ?1)))) (= $x8 $x16)))) +(let ((@x25 (mp (asserted $x10) (monotonicity (|quant-intro| @x18 (= $x9 $x19)) (= $x10 $x22)) $x22))) +(let ((@x84 (|mp~| (mp (mp @x25 (|rewrite*| (= $x22 $x22)) $x22) @x66 $x64) @x83 $x79))) +(let ((@x85 (mp @x84 (|quant-intro| (rewrite (= $x76 $x70)) (= $x79 $x89)) $x89))) +(mp @x85 (rewrite (= $x89 false)) false)))))))))))))))))))))))) + +a524cbe0a36c63dd22a617bca8ac628c3c4e0003 22 0 +unsat +((set-logic AUFLIRA) +(proof +(let (($x54 (forall ((?v0 Real) )(<= ?v0 0.0)) +)) +(let (($x46 (forall ((?v0 Real) )(let (($x11 (<= ?v0 0.0))) +(let (($x12 (not $x11))) +(not $x12)))) +)) +(let ((@x56 (|quant-intro| (rewrite (= (not (not (<= ?0 0.0))) (<= ?0 0.0))) (= $x46 $x54)))) +(let (($x15 (exists ((?v0 Real) )(let (($x11 (<= ?v0 0.0))) +(not $x11))) +)) +(let (($x18 (not $x15))) +(let ((@x48 (|nnf-neg| (refl (|~| (not (not (<= ?0 0.0))) (not (not (<= ?0 0.0))))) (|~| $x18 $x46)))) +(let (($x8 (exists ((?v0 Real) )(< 0.0 ?v0)) +)) +(let (($x9 (not $x8))) +(let ((@x17 (|quant-intro| (rewrite (= (< 0.0 ?0) (not (<= ?0 0.0)))) (= $x8 $x15)))) +(let ((@x24 (mp (mp (asserted $x9) (monotonicity @x17 (= $x9 $x18)) $x18) (|rewrite*| (= $x18 $x18)) $x18))) +(mp (mp (|mp~| @x24 @x48 $x46) @x56 $x54) (rewrite (= $x54 false)) false))))))))))))) + +76c68fc9857d9b1bea2540fac5de5d93a85faffa 30 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x14 (exists ((?v0 Int) )(forall ((?v1 Int) )(let (($x10 (<= 0 ?v1))) +(let (($x11 (or (< ?v1 0) $x10))) +(=> (< ?v0 ?v1) $x11)))) +) +)) +(let (($x15 (not $x14))) +(let (($x50 (exists ((?v0 Int) )true) +)) +(let (($x13 (forall ((?v1 Int) )(let (($x10 (<= 0 ?v1))) +(let (($x11 (or (< ?v1 0) $x10))) +(=> (< ?0 ?v1) $x11)))) +)) +(let (($x43 (forall ((?v1 Int) )true) +)) +(let (($x10 (<= 0 ?0))) +(let (($x11 (or (< ?0 0) $x10))) +(let (($x12 (=> (< ?1 ?0) $x11))) +(let ((@x28 (trans (rewrite (= (< ?0 0) (not $x10))) (monotonicity (rewrite (= $x10 $x10)) (= (not $x10) (not $x10))) (= (< ?0 0) (not $x10))))) +(let ((@x31 (monotonicity @x28 (rewrite (= $x10 $x10)) (= $x11 (or (not $x10) $x10))))) +(let ((@x35 (trans @x31 (rewrite (= (or (not $x10) $x10) true)) (= $x11 true)))) +(let ((@x38 (monotonicity (rewrite (= (< ?1 ?0) (not (<= ?0 ?1)))) @x35 (= $x12 (=> (not (<= ?0 ?1)) true))))) +(let ((@x42 (trans @x38 (rewrite (= (=> (not (<= ?0 ?1)) true) true)) (= $x12 true)))) +(let ((@x49 (trans (|quant-intro| @x42 (= $x13 $x43)) (|elim-unused| (= $x43 true)) (= $x13 true)))) +(let ((@x56 (trans (|quant-intro| @x49 (= $x14 $x50)) (|elim-unused| (= $x50 true)) (= $x14 true)))) +(let ((@x63 (trans (monotonicity @x56 (= $x15 (not true))) (rewrite (= (not true) false)) (= $x15 false)))) +(mp (asserted $x15) @x63 false))))))))))))))))))) + +750c85c0e2958b1508ba7c582f2bdbbb46fc0552 20 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v1!0 () Int) +(declare-fun ?v0!1 () Int) +(proof +(let (($x58 (or (not (and (= ?v0!1 0) (= ?v1!0 1))) (not (= ?v0!1 ?v1!0))))) +(let (($x22 (forall ((?v0 Int) (?v1 Int) )(or (not (and (= ?v0 0) (= ?v1 1))) (not (= ?v0 ?v1)))) +)) +(let (($x25 (not $x22))) +(let (($x15 (forall ((?v0 Int) (?v1 Int) )(=> (and (= ?v0 0) (= ?v1 1)) (not (= ?v0 ?v1)))) +)) +(let (($x16 (not $x15))) +(let (($x20 (= (=> (and (= ?1 0) (= ?0 1)) (not (= ?1 ?0))) (or (not (and (= ?1 0) (= ?0 1))) (not (= ?1 ?0)))))) +(let ((@x27 (monotonicity (|quant-intro| (rewrite $x20) (= $x15 $x22)) (= $x16 $x25)))) +(let ((@x62 (|mp~| (mp (mp (asserted $x16) @x27 $x25) (|rewrite*| (= $x25 $x25)) $x25) (sk (|~| $x25 (not $x58))) (not $x58)))) +(let ((@x67 (|and-elim| (|not-or-elim| @x62 (and (= ?v0!1 0) (= ?v1!0 1))) (= ?v1!0 1)))) +(let ((@x66 (|and-elim| (|not-or-elim| @x62 (and (= ?v0!1 0) (= ?v1!0 1))) (= ?v0!1 0)))) +(let ((@x70 (trans (symm @x66 (= 0 ?v0!1)) (|not-or-elim| @x62 (= ?v0!1 ?v1!0)) (= 0 ?v1!0)))) +(mp (trans @x70 @x67 (= 0 1)) (rewrite (= (= 0 1) false)) false)))))))))))))) + +a26ec0d452d6ecde84fa66db969e7d6c80150605 38 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x47 (forall ((?v0 Int) (?v1 Int) )(let ((?x22 (+ 1 (* 2 ?v0)))) +(let ((?x12 (* 2 ?v1))) +(let (($x28 (<= ?x12 ?x22))) +(let (($x29 (not $x28))) +(let (($x18 (<= ?v1 ?v0))) +(or $x18 $x29))))))) +)) +(let (($x50 (not $x47))) +(let (($x95 (forall ((?v0 Int) (?v1 Int) )true) +)) +(let ((?x22 (+ 1 (* 2 ?1)))) +(let ((?x12 (* 2 ?0))) +(let (($x28 (<= ?x12 ?x22))) +(let (($x29 (not $x28))) +(let (($x18 (<= ?0 ?1))) +(let (($x42 (or $x18 $x29))) +(let (($x79 (>= (+ ?1 (* (~ 1) ?0)) 0))) +(let ((@x90 (monotonicity (rewrite (= $x18 $x79)) (monotonicity (rewrite (= $x28 $x79)) (= $x29 (not $x79))) (= $x42 (or $x79 (not $x79)))))) +(let ((@x94 (trans @x90 (rewrite (= (or $x79 (not $x79)) true)) (= $x42 true)))) +(let ((@x101 (trans (|quant-intro| @x94 (= $x47 $x95)) (|elim-unused| (= $x95 true)) (= $x47 true)))) +(let ((@x108 (trans (monotonicity @x101 (= $x50 (not true))) (rewrite (= (not true) false)) (= $x50 false)))) +(let (($x15 (forall ((?v0 Int) (?v1 Int) )(let ((?x12 (* 2 ?v1))) +(let (($x13 (< (+ (* 2 ?v0) 1) ?x12))) +(=> (< ?v0 ?v1) $x13)))) +)) +(let (($x16 (not $x15))) +(let (($x13 (< (+ (* 2 ?1) 1) ?x12))) +(let (($x14 (=> (< ?1 ?0) $x13))) +(let ((@x27 (monotonicity (rewrite (= (+ (* 2 ?1) 1) ?x22)) (= $x13 (< ?x22 ?x12))))) +(let ((@x38 (trans (trans @x27 (rewrite (= (< ?x22 ?x12) $x29)) (= $x13 $x29)) (monotonicity (rewrite (= $x28 $x28)) (= $x29 $x29)) (= $x13 $x29)))) +(let ((@x41 (monotonicity (rewrite (= (< ?1 ?0) (not $x18))) @x38 (= $x14 (=> (not $x18) $x29))))) +(let ((@x46 (trans @x41 (rewrite (= (=> (not $x18) $x29) $x42)) (= $x14 $x42)))) +(let ((@x53 (mp (asserted $x16) (monotonicity (|quant-intro| @x46 (= $x15 $x47)) (= $x16 $x50)) $x50))) +(mp (mp @x53 (|rewrite*| (= $x50 $x50)) $x50) @x108 false)))))))))))))))))))))))))) + +bd9c4497c082a3945939358cc22879f4906afd6a 29 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x33 (forall ((?v0 Int) (?v1 Int) )(let ((?x8 (* 2 ?v0))) +(let (($x25 (= ?x8 (+ (~ 1) (* 2 ?v1))))) +(not $x25)))) +)) +(let (($x36 (not $x33))) +(let (($x72 (forall ((?v0 Int) (?v1 Int) )true) +)) +(let ((?x8 (* 2 ?1))) +(let (($x25 (= ?x8 (+ (~ 1) (* 2 ?0))))) +(let (($x30 (not $x25))) +(let ((@x71 (trans (monotonicity (rewrite (= $x25 false)) (= $x30 (not false))) (rewrite (= (not false) true)) (= $x30 true)))) +(let ((@x78 (trans (|quant-intro| @x71 (= $x33 $x72)) (|elim-unused| (= $x72 true)) (= $x33 true)))) +(let ((@x85 (trans (monotonicity @x78 (= $x36 (not true))) (rewrite (= (not true) false)) (= $x36 false)))) +(let (($x14 (forall ((?v0 Int) (?v1 Int) )(let ((?x11 (* 2 ?v1))) +(let (($x12 (= (+ (* 2 ?v0) 1) ?x11))) +(not $x12)))) +)) +(let (($x15 (not $x14))) +(let ((?x11 (* 2 ?0))) +(let (($x12 (= (+ ?x8 1) ?x11))) +(let ((@x22 (monotonicity (rewrite (= (+ ?x8 1) (+ 1 ?x8))) (= $x12 (= (+ 1 ?x8) ?x11))))) +(let ((@x29 (trans @x22 (rewrite (= (= (+ 1 ?x8) ?x11) $x25)) (= $x12 $x25)))) +(let ((@x35 (|quant-intro| (monotonicity @x29 (= (not $x12) $x30)) (= $x14 $x33)))) +(let ((@x42 (mp (mp (asserted $x15) (monotonicity @x35 (= $x15 $x36)) $x36) (|rewrite*| (= $x36 $x36)) $x36))) +(mp @x42 @x85 false)))))))))))))))))))) + +4561e7f574918fb0fcb2d1c3600b5565bf981ede 52 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v0!1 () Int) +(declare-fun ?v1!0 () Int) +(proof +(let ((?x101 (+ ?v1!0 ?v0!1))) +(let (($x113 (>= ?x101 2))) +(let (($x116 (not $x113))) +(let (($x110 (= ?x101 2))) +(let (($x104 (<= ?x101 2))) +(let (($x107 (not $x104))) +(let (($x94 (or (not (<= (+ ?v0!1 ?v1!0) 2)) (= (+ ?v0!1 ?v1!0) 2) (not (>= (+ ?v0!1 ?v1!0) 2))))) +(let (($x95 (not $x94))) +(let ((@x103 (rewrite (= (+ ?v0!1 ?v1!0) ?x101)))) +(let ((@x118 (monotonicity (monotonicity @x103 (= (>= (+ ?v0!1 ?v1!0) 2) $x113)) (= (not (>= (+ ?v0!1 ?v1!0) 2)) $x116)))) +(let ((@x109 (monotonicity (monotonicity @x103 (= (<= (+ ?v0!1 ?v1!0) 2) $x104)) (= (not (<= (+ ?v0!1 ?v1!0) 2)) $x107)))) +(let ((@x121 (monotonicity @x109 (monotonicity @x103 (= (= (+ ?v0!1 ?v1!0) 2) $x110)) @x118 (= $x94 (or $x107 $x110 $x116))))) +(let (($x80 (forall ((?v0 Int) (?v1 Int) )(let ((?x8 (+ ?v0 ?v1))) +(let (($x10 (= ?x8 2))) +(let (($x18 (not (<= ?x8 2)))) +(or $x18 $x10 (not (>= ?x8 2))))))) +)) +(let (($x83 (not $x80))) +(let (($x41 (forall ((?v0 Int) (?v1 Int) )(let ((?x8 (+ ?v0 ?v1))) +(let (($x21 (<= 2 ?x8))) +(let (($x22 (not $x21))) +(let (($x10 (= ?x8 2))) +(let (($x18 (not (<= ?x8 2)))) +(or $x18 $x10 $x22))))))) +)) +(let (($x44 (not $x41))) +(let ((?x8 (+ ?1 ?0))) +(let (($x10 (= ?x8 2))) +(let (($x18 (not (<= ?x8 2)))) +(let (($x21 (<= 2 ?x8))) +(let (($x22 (not $x21))) +(let (($x36 (or $x18 $x10 $x22))) +(let ((@x76 (monotonicity (rewrite (= $x21 (>= ?x8 2))) (= $x22 (not (>= ?x8 2)))))) +(let ((@x82 (|quant-intro| (monotonicity @x76 (= $x36 (or $x18 $x10 (not (>= ?x8 2))))) (= $x41 $x80)))) +(let (($x14 (forall ((?v0 Int) (?v1 Int) )(or (< 2 (+ ?v0 ?v1)) (or (= (+ ?v0 ?v1) 2) (< (+ ?v0 ?v1) 2)))) +)) +(let (($x15 (not $x14))) +(let (($x13 (or (< 2 ?x8) (or $x10 (< ?x8 2))))) +(let ((@x29 (trans (rewrite (= (< ?x8 2) $x22)) (monotonicity (rewrite (= $x21 $x21)) (= $x22 $x22)) (= (< ?x8 2) $x22)))) +(let ((@x35 (monotonicity (rewrite (= (< 2 ?x8) $x18)) (monotonicity @x29 (= (or $x10 (< ?x8 2)) (or $x10 $x22))) (= $x13 (or $x18 (or $x10 $x22)))))) +(let ((@x40 (trans @x35 (rewrite (= (or $x18 (or $x10 $x22)) $x36)) (= $x13 $x36)))) +(let ((@x47 (mp (asserted $x15) (monotonicity (|quant-intro| @x40 (= $x14 $x41)) (= $x15 $x44)) $x44))) +(let ((@x86 (mp (mp @x47 (|rewrite*| (= $x44 $x44)) $x44) (monotonicity @x82 (= $x44 $x83)) $x83))) +(let ((@x99 (mp (|mp~| @x86 (sk (|~| $x83 $x95)) $x95) (monotonicity @x121 (= $x95 (not (or $x107 $x110 $x116)))) (not (or $x107 $x110 $x116))))) +(let ((@x131 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x110 $x107 $x116)) (|not-or-elim| @x99 $x104) (or $x110 $x116)))) +(|unit-resolution| @x131 (|not-or-elim| @x99 $x113) (|not-or-elim| @x99 (not $x110)) false))))))))))))))))))))))))))))))))))))) + +230760924531c91da933509839308feff344fdd2 50 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v0!0 () Int) +(proof +(let (($x103 (<= ?v0!0 0))) +(let (($x106 (<= ?v0!0 (~ 1)))) +(let (($x107 (not $x106))) +(let ((@x125 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x107 $x103)) (hypothesis (not $x103)) $x107))) +(let (($x96 (forall ((?v0 Int) )(let (($x36 (not (<= ?v0 (~ 1))))) +(let (($x16 (<= ?v0 0))) +(ite $x16 (not (>= ?v0 1)) $x36)))) +)) +(let (($x99 (not $x96))) +(let (($x58 (forall ((?v0 Int) )(let (($x36 (not (<= ?v0 (~ 1))))) +(let (($x41 (<= 1 ?v0))) +(let (($x42 (not $x41))) +(let (($x16 (<= ?v0 0))) +(ite $x16 $x42 $x36)))))) +)) +(let (($x61 (not $x58))) +(let (($x36 (not (<= ?0 (~ 1))))) +(let (($x41 (<= 1 ?0))) +(let (($x42 (not $x41))) +(let (($x16 (<= ?0 0))) +(let (($x53 (ite $x16 $x42 $x36))) +(let ((@x92 (monotonicity (rewrite (= $x41 (>= ?0 1))) (= $x42 (not (>= ?0 1)))))) +(let ((@x98 (|quant-intro| (monotonicity @x92 (= $x53 (ite $x16 (not (>= ?0 1)) $x36))) (= $x58 $x96)))) +(let (($x13 (forall ((?v0 Int) )(let (($x10 (< 0 (+ ?v0 1)))) +(ite (< 0 ?v0) $x10 (< ?v0 1)))) +)) +(let (($x14 (not $x13))) +(let (($x10 (< 0 (+ ?0 1)))) +(let (($x12 (ite (< 0 ?0) $x10 (< ?0 1)))) +(let ((@x49 (trans (rewrite (= (< ?0 1) $x42)) (monotonicity (rewrite (= $x41 $x41)) (= $x42 $x42)) (= (< ?0 1) $x42)))) +(let ((@x38 (monotonicity (rewrite (= (<= (+ 1 ?0) 0) (<= ?0 (~ 1)))) (= (not (<= (+ 1 ?0) 0)) $x36)))) +(let ((@x29 (rewrite (= (< 0 (+ 1 ?0)) (not (<= (+ 1 ?0) 0)))))) +(let ((@x25 (monotonicity (rewrite (= (+ ?0 1) (+ 1 ?0))) (= $x10 (< 0 (+ 1 ?0)))))) +(let ((@x40 (trans (trans @x25 @x29 (= $x10 (not (<= (+ 1 ?0) 0)))) @x38 (= $x10 $x36)))) +(let ((@x52 (monotonicity (rewrite (= (< 0 ?0) (not $x16))) @x40 @x49 (= $x12 (ite (not $x16) $x36 $x42))))) +(let ((@x57 (trans @x52 (rewrite (= (ite (not $x16) $x36 $x42) $x53)) (= $x12 $x53)))) +(let ((@x64 (mp (asserted $x14) (monotonicity (|quant-intro| @x57 (= $x13 $x58)) (= $x14 $x61)) $x61))) +(let ((@x102 (mp (mp @x64 (|rewrite*| (= $x61 $x61)) $x61) (monotonicity @x98 (= $x61 $x99)) $x99))) +(let ((@x112 (|mp~| @x102 (sk (|~| $x99 (not (ite $x103 (not (>= ?v0!0 1)) $x107)))) (not (ite $x103 (not (>= ?v0!0 1)) $x107))))) +(let ((@x127 (|unit-resolution| (|def-axiom| (or (ite $x103 (not (>= ?v0!0 1)) $x107) $x103 $x106)) @x112 (or $x103 $x106)))) +(let ((@x129 (lemma (|unit-resolution| @x127 @x125 (hypothesis (not $x103)) false) $x103))) +(let (($x104 (>= ?v0!0 1))) +(let (($x105 (not $x104))) +(let ((@x134 (|unit-resolution| (|def-axiom| (or (ite $x103 $x105 $x107) (not $x103) $x104)) @x112 (or (not $x103) $x104)))) +(|unit-resolution| @x134 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x105 (not $x103))) @x129 $x105) @x129 false))))))))))))))))))))))))))))))))))))) + +1e9c0d6f38cf8e68fc9ae85612e77618e349b0b4 40 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x80 (forall ((?v0 Int) )(let (($x24 (not (<= ?v0 0)))) +(or (not (>= ?v0 0)) $x24))) +)) +(let (($x479 (not $x80))) +(let (($x89 (not (<= 0 0)))) +(let (($x164 (not (>= 0 0)))) +(let (($x175 (or $x164 $x89))) +(let (($x140 (or $x479 $x175))) +(let ((@x501 (monotonicity (rewrite (= (<= 0 0) true)) (= $x89 (not true))))) +(let ((@x160 (monotonicity (rewrite (= (>= 0 0) true)) (= $x164 (not true))))) +(let ((@x156 (monotonicity (trans @x160 (rewrite (= (not true) false)) (= $x164 false)) (trans @x501 (rewrite (= (not true) false)) (= $x89 false)) (= $x175 (or false false))))) +(let ((@x137 (trans @x156 (rewrite (= (or false false) false)) (= $x175 false)))) +(let ((@x484 (trans (monotonicity @x137 (= $x140 (or $x479 false))) (rewrite (= (or $x479 false) $x479)) (= $x140 $x479)))) +(let (($x24 (not (<= ?0 0)))) +(let (($x77 (or (not (>= ?0 0)) $x24))) +(let (($x30 (forall ((?v0 Int) )(let (($x24 (not (<= ?v0 0)))) +(let (($x14 (<= 0 ?v0))) +(let (($x15 (not $x14))) +(or $x15 $x24))))) +)) +(let ((@x76 (monotonicity (rewrite (= (<= 0 ?0) (>= ?0 0))) (= (not (<= 0 ?0)) (not (>= ?0 0)))))) +(let ((@x82 (|quant-intro| (monotonicity @x76 (= (or (not (<= 0 ?0)) $x24) $x77)) (= $x30 $x80)))) +(let (($x10 (forall ((?v0 Int) )(or (< ?v0 0) (< 0 ?v0))) +)) +(let (($x11 (ite $x10 false true))) +(let (($x12 (not $x11))) +(let (($x14 (<= 0 ?0))) +(let (($x15 (not $x14))) +(let (($x27 (or $x15 $x24))) +(let ((@x22 (trans (rewrite (= (< ?0 0) $x15)) (monotonicity (rewrite (= $x14 $x14)) (= $x15 $x15)) (= (< ?0 0) $x15)))) +(let ((@x29 (monotonicity @x22 (rewrite (= (< 0 ?0) $x24)) (= (or (< ?0 0) (< 0 ?0)) $x27)))) +(let ((@x35 (monotonicity (|quant-intro| @x29 (= $x10 $x30)) (= $x11 (ite $x30 false true))))) +(let ((@x40 (trans @x35 (rewrite (= (ite $x30 false true) (not $x30))) (= $x11 (not $x30))))) +(let ((@x47 (trans (monotonicity @x40 (= $x12 (not (not $x30)))) (rewrite (= (not (not $x30)) $x30)) (= $x12 $x30)))) +(let ((@x83 (mp (mp (mp (asserted $x12) @x47 $x30) (|rewrite*| (= $x30 $x30)) $x30) @x82 $x80))) +(|unit-resolution| (|mp~| @x83 (|nnf-pos| (refl (|~| $x77 $x77)) (|~| $x80 $x80)) $x80) (mp ((_ |quant-inst| 0) $x140) @x484 $x479) false))))))))))))))))))))))))))))))) + +a8c954d45da95df62d2ec9e6e7c43aa1fee0cd56 21 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x39 (exists ((?v0 Int) (?v1 Int) )(= (+ (* 4 ?v0) (* (~ 6) ?v1)) 1)) +)) +(let (($x79 (exists ((?v0 Int) (?v1 Int) )false) +)) +(let ((@x83 (|quant-intro| (rewrite (= (= (+ (* 4 ?1) (* (~ 6) ?0)) 1) false)) (= $x39 $x79)))) +(let (($x16 (exists ((?v0 Int) (?v1 Int) (?v2 Int) )(= (+ (* 4 ?v0) (* (- 6) ?v1)) 1)) +)) +(let (($x17 (not (not $x16)))) +(let (($x31 (exists ((?v0 Int) (?v1 Int) (?v2 Int) )(= (+ (* 4 ?v0) (* (~ 6) ?v1)) 1)) +)) +(let (($x29 (= (= (+ (* 4 ?2) (* (- 6) ?1)) 1) (= (+ (* 4 ?2) (* (~ 6) ?1)) 1)))) +(let (($x26 (= (+ (* 4 ?2) (* (- 6) ?1)) (+ (* 4 ?2) (* (~ 6) ?1))))) +(let ((@x24 (monotonicity (rewrite (= (- 6) (~ 6))) (= (* (- 6) ?1) (* (~ 6) ?1))))) +(let ((@x33 (|quant-intro| (monotonicity (monotonicity @x24 $x26) $x29) (= $x16 $x31)))) +(let ((@x46 (monotonicity (trans @x33 (|elim-unused| (= $x31 $x39)) (= $x16 $x39)) (= (not $x16) (not $x39))))) +(let ((@x53 (trans (monotonicity @x46 (= $x17 (not (not $x39)))) (rewrite (= (not (not $x39)) $x39)) (= $x17 $x39)))) +(mp (mp (mp (asserted $x17) @x53 $x39) (|rewrite*| (= $x39 $x39)) $x39) (trans @x83 (|elim-unused| (= $x79 false)) (= $x39 false)) false))))))))))))))) + +ce79a1fda8f32a486e67471071f239d5db3b39f0 47 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x111 (forall ((?v0 Int) )(let (($x28 (not (<= ?v0 0)))) +(or (not (>= ?v0 0)) $x28))) +)) +(let (($x507 (not $x111))) +(let (($x119 (not (<= 0 0)))) +(let (($x193 (not (>= 0 0)))) +(let (($x204 (or $x193 $x119))) +(let (($x169 (or $x507 $x204))) +(let ((@x529 (monotonicity (rewrite (= (<= 0 0) true)) (= $x119 (not true))))) +(let ((@x189 (monotonicity (rewrite (= (>= 0 0) true)) (= $x193 (not true))))) +(let ((@x185 (monotonicity (trans @x189 (rewrite (= (not true) false)) (= $x193 false)) (trans @x529 (rewrite (= (not true) false)) (= $x119 false)) (= $x204 (or false false))))) +(let ((@x166 (trans @x185 (rewrite (= (or false false) false)) (= $x204 false)))) +(let ((@x512 (trans (monotonicity @x166 (= $x169 (or $x507 false))) (rewrite (= (or $x507 false) $x507)) (= $x169 $x507)))) +(let (($x28 (not (<= ?0 0)))) +(let (($x108 (or (not (>= ?0 0)) $x28))) +(let (($x34 (forall ((?v0 Int) )(let (($x28 (not (<= ?v0 0)))) +(let (($x18 (<= 0 ?v0))) +(let (($x19 (not $x18))) +(or $x19 $x28))))) +)) +(let ((@x107 (monotonicity (rewrite (= (<= 0 ?0) (>= ?0 0))) (= (not (<= 0 ?0)) (not (>= ?0 0)))))) +(let ((@x113 (|quant-intro| (monotonicity @x107 (= (or (not (<= 0 ?0)) $x28) $x108)) (= $x34 $x111)))) +(let (($x67 (ite $x34 (<= (~ 1) 0) (<= 3 0)))) +(let ((@x76 (monotonicity (rewrite (= (<= (~ 1) 0) true)) (rewrite (= (<= 3 0) false)) (= $x67 (ite $x34 true false))))) +(let ((@x80 (trans @x76 (rewrite (= (ite $x34 true false) $x34)) (= $x67 $x34)))) +(let ((@x82 (trans (rewrite (= (<= (ite $x34 (~ 1) 3) 0) $x67)) @x80 (= (<= (ite $x34 (~ 1) 3) 0) $x34)))) +(let ((?x40 (ite $x34 (~ 1) 3))) +(let (($x46 (<= ?x40 0))) +(let (($x10 (forall ((?v0 Int) )(or (< ?v0 0) (< 0 ?v0))) +)) +(let (($x15 (< 0 (ite $x10 (- 1) 3)))) +(let (($x16 (not $x15))) +(let (($x18 (<= 0 ?0))) +(let (($x19 (not $x18))) +(let (($x31 (or $x19 $x28))) +(let ((@x26 (trans (rewrite (= (< ?0 0) $x19)) (monotonicity (rewrite (= $x18 $x18)) (= $x19 $x19)) (= (< ?0 0) $x19)))) +(let ((@x33 (monotonicity @x26 (rewrite (= (< 0 ?0) $x28)) (= (or (< ?0 0) (< 0 ?0)) $x31)))) +(let ((@x42 (monotonicity (|quant-intro| @x33 (= $x10 $x34)) (rewrite (= (- 1) (~ 1))) (= (ite $x10 (- 1) 3) ?x40)))) +(let ((@x51 (trans (monotonicity @x42 (= $x15 (< 0 ?x40))) (rewrite (= (< 0 ?x40) (not $x46))) (= $x15 (not $x46))))) +(let ((@x58 (trans (monotonicity @x51 (= $x16 (not (not $x46)))) (rewrite (= (not (not $x46)) $x46)) (= $x16 $x46)))) +(let ((@x83 (mp (mp (mp (asserted $x16) @x58 $x46) (|rewrite*| (= $x46 $x46)) $x46) @x82 $x34))) +(let ((@x117 (|mp~| (mp @x83 @x113 $x111) (|nnf-pos| (refl (|~| $x108 $x108)) (|~| $x111 $x111)) $x111))) +(|unit-resolution| @x117 (mp ((_ |quant-inst| 0) $x169) @x512 $x507) false)))))))))))))))))))))))))))))))))))))) + +a029fa4a7b0e95c1814546efbbdea2800c05d654 41 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v1!1 () Int) +(declare-fun ?v2!0 () Int) +(proof +(let (($x107 (or (not (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0)))) (not (<= (+ ?v2!0 ?v1!1) 0))))) +(let (($x89 (forall ((?v1 Int) (?v2 Int) )(or (not (and (not (<= ?v1 0)) (not (<= ?v2 0)))) (not (<= (+ ?v2 ?v1) 0)))) +)) +(let (($x92 (not $x89))) +(let (($x42 (forall ((?v1 Int) (?v2 Int) )(let (($x30 (not (<= (+ ?v1 ?v2) 0)))) +(or (not (and (not (<= ?v1 0)) (not (<= ?v2 0)))) $x30))) +)) +(let (($x52 (not $x42))) +(let (($x86 (or (not (and (not (<= ?1 0)) (not (<= ?0 0)))) (not (<= (+ ?0 ?1) 0))))) +(let (($x30 (not (<= (+ ?1 ?0) 0)))) +(let (($x37 (or (not (and (not (<= ?1 0)) (not (<= ?0 0)))) $x30))) +(let ((@x82 (monotonicity (rewrite (= (+ ?1 ?0) (+ ?0 ?1))) (= (<= (+ ?1 ?0) 0) (<= (+ ?0 ?1) 0))))) +(let ((@x88 (monotonicity (monotonicity @x82 (= $x30 (not (<= (+ ?0 ?1) 0)))) (= $x37 $x86)))) +(let (($x15 (exists ((?v0 Int) )(forall ((?v1 Int) (?v2 Int) )(=> (and (< 0 ?v1) (< 0 ?v2)) (< 0 (+ ?v1 ?v2)))) +) +)) +(let (($x16 (not $x15))) +(let (($x45 (exists ((?v0 Int) )(forall ((?v1 Int) (?v2 Int) )(let (($x30 (not (<= (+ ?v1 ?v2) 0)))) +(or (not (and (not (<= ?v1 0)) (not (<= ?v2 0)))) $x30))) +) +)) +(let (($x14 (forall ((?v1 Int) (?v2 Int) )(=> (and (< 0 ?v1) (< 0 ?v2)) (< 0 (+ ?v1 ?v2)))) +)) +(let (($x13 (=> (and (< 0 ?1) (< 0 ?0)) (< 0 (+ ?1 ?0))))) +(let (($x38 (= (=> (and (not (<= ?1 0)) (not (<= ?0 0))) $x30) $x37))) +(let (($x34 (= $x13 (=> (and (not (<= ?1 0)) (not (<= ?0 0))) $x30)))) +(let (($x26 (and (not (<= ?1 0)) (not (<= ?0 0))))) +(let ((@x28 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0 ?0) (not (<= ?0 0)))) (= (and (< 0 ?1) (< 0 ?0)) $x26)))) +(let ((@x41 (trans (monotonicity @x28 (rewrite (= (< 0 (+ ?1 ?0)) $x30)) $x34) (rewrite $x38) (= $x13 $x37)))) +(let ((@x51 (trans (|quant-intro| (|quant-intro| @x41 (= $x14 $x42)) (= $x15 $x45)) (|elim-unused| (= $x45 $x42)) (= $x15 $x42)))) +(let ((@x58 (mp (mp (asserted $x16) (monotonicity @x51 (= $x16 $x52)) $x52) (|rewrite*| (= $x52 $x52)) $x52))) +(let ((@x97 (mp @x58 (monotonicity (|quant-intro| @x88 (= $x42 $x89)) (= $x52 $x92)) $x92))) +(let ((@x117 (|not-or-elim| (|mp~| @x97 (sk (|~| $x92 (not $x107))) (not $x107)) (<= (+ ?v2!0 ?v1!1) 0)))) +(let ((@x114 (|not-or-elim| (|mp~| @x97 (sk (|~| $x92 (not $x107))) (not $x107)) (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0)))))) +((_ |th-lemma| arith farkas 1 1 1) (|and-elim| @x114 (not (<= ?v2!0 0))) (|and-elim| @x114 (not (<= ?v1!1 0))) @x117 false)))))))))))))))))))))))))))) + +d41dfe74c924188d8570a9d71b541c5781066b63 41 0 +unsat +((set-logic AUFLIRA) +(declare-fun ?v1!1 () Int) +(declare-fun ?v2!0 () Real) +(proof +(let (($x95 (not (<= ?v1!1 (~ 1))))) +(let (($x96 (or (not (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0.0)))) $x95))) +(let (($x52 (forall ((?v1 Int) (?v2 Real) )(let (($x38 (not (<= ?v1 (~ 1))))) +(or (not (and (not (<= ?v1 0)) (not (<= ?v2 0.0)))) $x38))) +)) +(let (($x62 (not $x52))) +(let (($x18 (exists ((?v0 Int) )(forall ((?v1 Int) (?v2 Real) )(let (($x15 (< (- 1) ?v1))) +(=> (and (< 0 ?v1) (< 0.0 ?v2)) $x15))) +) +)) +(let (($x5 (not $x18))) +(let (($x55 (exists ((?v0 Int) )(forall ((?v1 Int) (?v2 Real) )(let (($x38 (not (<= ?v1 (~ 1))))) +(or (not (and (not (<= ?v1 0)) (not (<= ?v2 0.0)))) $x38))) +) +)) +(let (($x17 (forall ((?v1 Int) (?v2 Real) )(let (($x15 (< (- 1) ?v1))) +(=> (and (< 0 ?v1) (< 0.0 ?v2)) $x15))) +)) +(let (($x38 (not (<= ?1 (~ 1))))) +(let (($x47 (or (not (and (not (<= ?1 0)) (not (<= ?0 0.0)))) $x38))) +(let (($x15 (< (- 1) ?1))) +(let (($x16 (=> (and (< 0 ?1) (< 0.0 ?0)) $x15))) +(let (($x48 (= (=> (and (not (<= ?1 0)) (not (<= ?0 0.0))) $x38) $x47))) +(let (($x44 (= $x16 (=> (and (not (<= ?1 0)) (not (<= ?0 0.0))) $x38)))) +(let ((@x36 (monotonicity (rewrite (= (- 1) (~ 1))) (= $x15 (< (~ 1) ?1))))) +(let (($x28 (and (not (<= ?1 0)) (not (<= ?0 0.0))))) +(let ((@x30 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0.0 ?0) (not (<= ?0 0.0)))) (= (and (< 0 ?1) (< 0.0 ?0)) $x28)))) +(let ((@x45 (monotonicity @x30 (trans @x36 (rewrite (= (< (~ 1) ?1) $x38)) (= $x15 $x38)) $x44))) +(let ((@x54 (|quant-intro| (trans @x45 (rewrite $x48) (= $x16 $x47)) (= $x17 $x52)))) +(let ((@x61 (trans (|quant-intro| @x54 (= $x18 $x55)) (|elim-unused| (= $x55 $x52)) (= $x18 $x52)))) +(let ((@x68 (mp (mp (asserted $x5) (monotonicity @x61 (= $x5 $x62)) $x62) (|rewrite*| (= $x62 $x62)) $x62))) +(let ((@x106 (|not-or-elim| (|mp~| @x68 (sk (|~| $x62 (not $x96))) (not $x96)) (<= ?v1!1 (~ 1))))) +(let ((@x103 (|not-or-elim| (|mp~| @x68 (sk (|~| $x62 (not $x96))) (not $x96)) (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0.0)))))) +(let ((@x107 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x95 (<= ?v1!1 0))) (|and-elim| @x103 (not (<= ?v1!1 0))) $x95))) +(|unit-resolution| @x107 @x106 false))))))))))))))))))))))))))) + +9c97136863512513fe9fd8b8cb83fdb885e5f3a5 115 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x156 (forall ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x17 (not $x16))) +(let (($x150 (or (not false) $x17))) +(not $x150))))) +)) +(let (($x178 (forall ((?v0 Int) )false) +)) +(let (($x16 (<= ?0 0))) +(let (($x17 (not $x16))) +(let (($x150 (or (not false) $x17))) +(let ((@x166 (monotonicity (rewrite (= (not false) true)) (= $x150 (or true $x17))))) +(let ((@x170 (trans @x166 (rewrite (= (or true $x17) true)) (= $x150 true)))) +(let ((@x177 (trans (monotonicity @x170 (= (not $x150) (not true))) (rewrite (= (not true) false)) (= (not $x150) false)))) +(let ((@x184 (trans (|quant-intro| @x177 (= $x156 $x178)) (|elim-unused| (= $x178 false)) (= $x156 false)))) +(let (($x126 (forall ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x17 (not $x16))) +(let (($x82 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (>= (+ ?v1 (* (~ 1) ?v0)) 0)) $x17)))) +)) +(let (($x85 (not $x82))) +(let (($x88 (or $x85 $x17))) +(not $x88))))))) +)) +(let (($x142 (forall ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x17 (not $x16))) +(let (($x130 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(not $x16))) +)) +(not (or (not $x130) $x17)))))) +)) +(let ((@x160 (trans (rewrite (= $x126 $x142)) (rewrite (= $x142 $x156)) (= $x126 $x156)))) +(let (($x122 (forall ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x82 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (>= (+ ?v1 (* (~ 1) ?v0)) 0)) $x17)))) +)) +(and $x82 $x16)))) +)) +(let (($x82 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (>= (+ ?v1 (* (~ 1) ?0)) 0)) $x17)))) +)) +(let (($x85 (not $x82))) +(let (($x88 (or $x85 $x17))) +(let (($x108 (not $x88))) +(let (($x119 (and $x82 $x16))) +(let (($x111 (forall ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x17 (not $x16))) +(let (($x104 (not $x17))) +(let (($x82 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (>= (+ ?v1 (* (~ 1) ?v0)) 0)) $x17)))) +)) +(and $x82 $x104)))))) +)) +(let ((@x121 (monotonicity (rewrite (= (not $x17) $x16)) (= (and $x82 (not $x17)) $x119)))) +(let (($x91 (exists ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x17 (not $x16))) +(let (($x82 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (>= (+ ?v1 (* (~ 1) ?v0)) 0)) $x17)))) +)) +(let (($x85 (not $x82))) +(or $x85 $x17)))))) +)) +(let (($x94 (not $x91))) +(let (($x79 (or (not (>= (+ ?0 (* (~ 1) ?1)) 0)) $x17))) +(let ((@x103 (|nnf-neg| (|nnf-pos| (refl (|~| $x79 $x79)) (|~| $x82 $x82)) (|~| (not $x85) $x82)))) +(let ((@x110 (|nnf-neg| @x103 (refl (|~| (not $x17) (not $x17))) (|~| $x108 (and $x82 (not $x17)))))) +(let (($x41 (exists ((?v0 Int) )(let (($x16 (<= ?v0 0))) +(let (($x17 (not $x16))) +(let (($x29 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (<= ?v0 ?v1)) $x17)))) +)) +(or (not $x29) $x17))))) +)) +(let (($x44 (not $x41))) +(let (($x29 (forall ((?v1 Int) )(let (($x16 (<= ?v1 0))) +(let (($x17 (not $x16))) +(or (not (<= ?0 ?v1)) $x17)))) +)) +(let (($x36 (or (not $x29) $x17))) +(let ((@x78 (monotonicity (rewrite (= (<= ?1 ?0) (>= (+ ?0 (* (~ 1) ?1)) 0))) (= (not (<= ?1 ?0)) (not (>= (+ ?0 (* (~ 1) ?1)) 0)))))) +(let ((@x84 (|quant-intro| (monotonicity @x78 (= (or (not (<= ?1 ?0)) $x17) $x79)) (= $x29 $x82)))) +(let ((@x90 (monotonicity (monotonicity @x84 (= (not $x29) $x85)) (= $x36 $x88)))) +(let (($x13 (exists ((?v0 Int) )(let (($x9 (< 0 ?v0))) +(let (($x11 (forall ((?v1 Int) )(let (($x9 (< 0 ?v1))) +(let (($x7 (<= ?v0 ?v1))) +(=> $x7 $x9)))) +)) +(=> $x11 $x9)))) +)) +(let (($x14 (not $x13))) +(let (($x9 (< 0 ?0))) +(let (($x11 (forall ((?v1 Int) )(let (($x9 (< 0 ?v1))) +(let (($x7 (<= ?0 ?v1))) +(=> $x7 $x9)))) +)) +(let (($x12 (=> $x11 $x9))) +(let ((@x26 (rewrite (= (=> (<= ?1 ?0) $x17) (or (not (<= ?1 ?0)) $x17))))) +(let ((@x22 (monotonicity (rewrite (= $x9 $x17)) (= (=> (<= ?1 ?0) $x9) (=> (<= ?1 ?0) $x17))))) +(let ((@x28 (trans @x22 @x26 (= (=> (<= ?1 ?0) $x9) (or (not (<= ?1 ?0)) $x17))))) +(let ((@x34 (monotonicity (|quant-intro| @x28 (= $x11 $x29)) (rewrite (= $x9 $x17)) (= $x12 (=> $x29 $x17))))) +(let ((@x43 (|quant-intro| (trans @x34 (rewrite (= (=> $x29 $x17) $x36)) (= $x12 $x36)) (= $x13 $x41)))) +(let ((@x50 (mp (mp (asserted $x14) (monotonicity @x43 (= $x14 $x44)) $x44) (|rewrite*| (= $x44 $x44)) $x44))) +(let ((@x97 (mp @x50 (monotonicity (|quant-intro| @x90 (= $x41 $x91)) (= $x44 $x94)) $x94))) +(let ((@x115 (mp (|mp~| @x97 (|nnf-neg| @x110 (|~| $x94 $x111)) $x111) (|quant-intro| @x121 (= $x111 $x122)) $x122))) +(let ((@x129 (mp @x115 (|quant-intro| (rewrite (= $x119 $x108)) (= $x122 $x126)) $x126))) +(mp (mp @x129 @x160 $x156) @x184 false))))))))))))))))))))))))))))))))))))))))))))))))) + +419cefdf46cfbd38d5875f00d00c97a5b2a4a327 28 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x32 (forall ((?v0 Int) )(let (($x21 (not (<= (* 2 |$a|) (* 2 ?v0))))) +(let (($x16 (<= |$a| ?v0))) +(or $x16 $x21)))) +)) +(let (($x35 (not $x32))) +(let (($x80 (forall ((?v0 Int) )true) +)) +(let (($x21 (not (<= (* 2 |$a|) (* 2 ?0))))) +(let (($x16 (<= |$a| ?0))) +(let (($x27 (or $x16 $x21))) +(let (($x64 (>= (+ ?0 (* (~ 1) |$a|)) 0))) +(let ((@x72 (monotonicity (rewrite (= (<= (* 2 |$a|) (* 2 ?0)) $x64)) (= $x21 (not $x64))))) +(let ((@x75 (monotonicity (rewrite (= $x16 $x64)) @x72 (= $x27 (or $x64 (not $x64)))))) +(let ((@x79 (trans @x75 (rewrite (= (or $x64 (not $x64)) true)) (= $x27 true)))) +(let ((@x86 (trans (|quant-intro| @x79 (= $x32 $x80)) (|elim-unused| (= $x80 true)) (= $x32 true)))) +(let ((@x93 (trans (monotonicity @x86 (= $x35 (not true))) (rewrite (= (not true) false)) (= $x35 false)))) +(let (($x13 (forall ((?v0 Int) )(=> (< ?v0 |$a|) (< (* 2 ?v0) (* 2 |$a|)))) +)) +(let (($x14 (not $x13))) +(let (($x12 (=> (< ?0 |$a|) (< (* 2 ?0) (* 2 |$a|))))) +(let ((@x26 (monotonicity (rewrite (= (< ?0 |$a|) (not $x16))) (rewrite (= (< (* 2 ?0) (* 2 |$a|)) $x21)) (= $x12 (=> (not $x16) $x21))))) +(let ((@x31 (trans @x26 (rewrite (= (=> (not $x16) $x21) $x27)) (= $x12 $x27)))) +(let ((@x38 (mp (asserted $x14) (monotonicity (|quant-intro| @x31 (= $x13 $x32)) (= $x14 $x35)) $x35))) +(mp (mp @x38 (|rewrite*| (= $x35 $x35)) $x35) @x93 false))))))))))))))))))))) + +2cfb4d9213b7aff75941c49db378297fcba62a29 38 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v1!0 () Int) +(proof +(let (($x73 (forall ((?v1 Int) )(let (($x15 (not (<= ?v1 0)))) +(or $x15 (not (>= ?v1 1))))) +)) +(let (($x76 (not $x73))) +(let (($x86 (|~| $x76 (not (or (not (<= ?v1!0 0)) (not (>= ?v1!0 1))))))) +(let (($x33 (forall ((?v1 Int) )(let (($x18 (<= 1 ?v1))) +(let (($x19 (not $x18))) +(let (($x15 (not (<= ?v1 0)))) +(or $x15 $x19))))) +)) +(let (($x38 (not $x33))) +(let (($x18 (<= 1 ?0))) +(let (($x19 (not $x18))) +(let (($x15 (not (<= ?0 0)))) +(let (($x27 (or $x15 $x19))) +(let ((@x69 (monotonicity (rewrite (= $x18 (>= ?0 1))) (= $x19 (not (>= ?0 1)))))) +(let ((@x75 (|quant-intro| (monotonicity @x69 (= $x27 (or $x15 (not (>= ?0 1))))) (= $x33 $x73)))) +(let (($x12 (forall ((?v0 Int) (?v1 Int) )(or (< 0 ?v1) (< ?v1 1))) +)) +(let (($x5 (not $x12))) +(let (($x30 (forall ((?v0 Int) (?v1 Int) )(let (($x18 (<= 1 ?v1))) +(let (($x19 (not $x18))) +(let (($x15 (not (<= ?v1 0)))) +(or $x15 $x19))))) +)) +(let ((@x26 (trans (rewrite (= (< ?0 1) $x19)) (monotonicity (rewrite (= $x18 $x18)) (= $x19 $x19)) (= (< ?0 1) $x19)))) +(let ((@x29 (monotonicity (rewrite (= (< 0 ?0) $x15)) @x26 (= (or (< 0 ?0) (< ?0 1)) $x27)))) +(let ((@x37 (trans (|quant-intro| @x29 (= $x12 $x30)) (|elim-unused| (= $x30 $x33)) (= $x12 $x33)))) +(let ((@x44 (mp (mp (asserted $x5) (monotonicity @x37 (= $x5 $x38)) $x38) (|rewrite*| (= $x38 $x38)) $x38))) +(let ((@x88 (|mp~| (mp @x44 (monotonicity @x75 (= $x38 $x76)) $x76) (sk $x86) (not (or (not (<= ?v1!0 0)) (not (>= ?v1!0 1))))))) +(let (($x83 (not (>= ?v1!0 1)))) +(let ((@x93 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x83 (not (<= ?v1!0 0)))) (|not-or-elim| @x88 (<= ?v1!0 0)) $x83))) +(|unit-resolution| @x93 (|not-or-elim| @x88 (>= ?v1!0 1)) false)))))))))))))))))))))))) + +039e00529b5710a37c45e179d64fb8c15f276c50 19 0 +unsat +((set-logic ) +(proof +(let (($x29 (<= |$b| 0))) +(let (($x30 (not $x29))) +(let (($x37 (or (not (and (not (<= |$a| 0)) (not (<= (* |$a| |$b|) 0)))) $x30))) +(let (($x13 (=> (and (< 0 |$a|) (< 0 (* |$a| |$b|))) (< 0 |$b|)))) +(let (($x14 (not $x13))) +(let (($x23 (not (<= (* |$a| |$b|) 0)))) +(let (($x19 (not (<= |$a| 0)))) +(let (($x26 (and $x19 $x23))) +(let ((@x28 (monotonicity (rewrite (= (< 0 |$a|) $x19)) (rewrite (= (< 0 (* |$a| |$b|)) $x23)) (= (and (< 0 |$a|) (< 0 (* |$a| |$b|))) $x26)))) +(let ((@x35 (monotonicity @x28 (rewrite (= (< 0 |$b|) $x30)) (= $x13 (=> $x26 $x30))))) +(let ((@x44 (monotonicity (trans @x35 (rewrite (= (=> $x26 $x30) $x37)) (= $x13 $x37)) (= $x14 (not $x37))))) +(let ((@x58 (mp (|not-or-elim| (mp (asserted $x14) @x44 (not $x37)) $x29) (|rewrite*| (= $x29 $x29)) $x29))) +(let ((@x47 (|and-elim| (|not-or-elim| (mp (asserted $x14) @x44 (not $x37)) $x26) $x19))) +(let ((@x48 (|and-elim| (|not-or-elim| (mp (asserted $x14) @x44 (not $x37)) $x26) $x23))) +((_ |th-lemma| arith farkas 1 1 1) (mp @x48 (|rewrite*| (= $x23 $x23)) $x23) (mp @x47 (|rewrite*| (= $x19 $x19)) $x19) @x58 false))))))))))))))))) + +74227d4cc6e0018267b0d51f292f9c4c917cf7f4 28 0 +unsat +((set-logic ) +(proof +(let ((?x35 (+ 1 |$y|))) +(let ((?x38 (* |$a| ?x35))) +(let ((?x41 (+ (* |$a| |$x|) ?x38))) +(let ((?x27 (+ 1 |$x| |$y|))) +(let ((?x32 (* |$a| ?x27))) +(let (($x44 (= ?x32 ?x41))) +(let (($x47 (not $x44))) +(let ((@x72 (monotonicity (rewrite (= ?x35 ?x35)) (= (+ |$x| ?x35) (+ |$x| ?x35))))) +(let ((@x75 (trans @x72 (rewrite (= (+ |$x| ?x35) ?x27)) (= (+ |$x| ?x35) ?x27)))) +(let ((@x80 (monotonicity (monotonicity @x75 (= (* |$a| (+ |$x| ?x35)) ?x32)) (= (+ (* |$a| (+ |$x| ?x35)) 0) (+ ?x32 0))))) +(let ((@x84 (trans @x80 (rewrite (= (+ ?x32 0) ?x32)) (= (+ (* |$a| (+ |$x| ?x35)) 0) ?x32)))) +(let ((@x63 (monotonicity (monotonicity (rewrite (= ?x35 ?x35)) (= ?x38 ?x38)) (= ?x41 ?x41)))) +(let ((@x70 (trans @x63 (rewrite (= ?x41 (+ (* |$a| (+ |$x| ?x35)) 0))) (= ?x41 (+ (* |$a| (+ |$x| ?x35)) 0))))) +(let ((@x88 (monotonicity (monotonicity (rewrite (= ?x27 ?x27)) (= ?x32 ?x32)) (trans @x70 @x84 (= ?x41 ?x32)) (= $x44 (= ?x32 ?x32))))) +(let ((@x95 (monotonicity (trans @x88 (rewrite (= (= ?x32 ?x32) true)) (= $x44 true)) (= $x47 (not true))))) +(let (($x16 (= (* |$a| (+ (+ |$x| 1) |$y|)) (+ (* |$a| |$x|) (* |$a| (+ |$y| 1)))))) +(let (($x17 (not $x16))) +(let ((@x40 (monotonicity (rewrite (= (+ |$y| 1) ?x35)) (= (* |$a| (+ |$y| 1)) ?x38)))) +(let ((@x43 (monotonicity @x40 (= (+ (* |$a| |$x|) (* |$a| (+ |$y| 1))) ?x41)))) +(let ((@x26 (monotonicity (rewrite (= (+ |$x| 1) (+ 1 |$x|))) (= (+ (+ |$x| 1) |$y|) (+ (+ 1 |$x|) |$y|))))) +(let ((@x31 (trans @x26 (rewrite (= (+ (+ 1 |$x|) |$y|) ?x27)) (= (+ (+ |$x| 1) |$y|) ?x27)))) +(let ((@x46 (monotonicity (monotonicity @x31 (= (* |$a| (+ (+ |$x| 1) |$y|)) ?x32)) @x43 (= $x16 $x44)))) +(let ((@x53 (mp (mp (asserted $x17) (monotonicity @x46 (= $x17 $x47)) $x47) (|rewrite*| (= $x47 $x47)) $x47))) +(mp @x53 (trans @x95 (rewrite (= (not true) false)) (= $x47 false)) false)))))))))))))))))))))))))) + +7944c6a284f0d8735dd19b47d3fb37f5810defb5 75 0 +unsat +((set-logic ) +(proof +(let ((?x171 (* (~ 1) |$e|))) +(let ((?x169 (* (~ 1) |$b|))) +(let ((?x182 (+ ?x169 ?x171))) +(let ((?x8 (+ 1 |$p|))) +(let ((?x187 (* ?x8 ?x182))) +(let ((?x57 (+ 2 (* 2 |$p|)))) +(let ((?x11 (+ |$b| |$e|))) +(let ((?x65 (* ?x11 ?x57))) +(let ((?x193 (+ ?x65 ?x187))) +(let ((?x34 (* ?x11 ?x8))) +(let (($x200 (= ?x34 ?x193))) +(let (($x203 (not $x200))) +(let ((?x226 (* |$p| |$e|))) +(let ((?x225 (* |$p| |$b|))) +(let ((?x227 (+ |$b| |$e| ?x225 ?x226))) +(let ((?x242 (+ (+ (* 2 |$b|) (* 2 |$e|) (* 2 ?x225) (* 2 ?x226)) (+ ?x169 ?x171 (* (~ 1) ?x225) (* (~ 1) ?x226))))) +(let (($x235 (= ?x65 (+ (* 2 |$b|) (* 2 |$e|) (* 2 ?x225) (* 2 ?x226))))) +(let ((@x244 (monotonicity (rewrite $x235) (rewrite (= ?x187 (+ ?x169 ?x171 (* (~ 1) ?x225) (* (~ 1) ?x226)))) (= ?x193 ?x242)))) +(let ((@x251 (monotonicity (rewrite (= ?x34 ?x227)) (trans @x244 (rewrite (= ?x242 ?x227)) (= ?x193 ?x227)) (= $x200 (= ?x227 ?x227))))) +(let ((@x258 (monotonicity (trans @x251 (rewrite (= (= ?x227 ?x227) true)) (= $x200 true)) (= $x203 (not true))))) +(let ((?x92 (+ |$b| |$d| |$e|))) +(let ((?x95 (* ?x8 ?x92))) +(let ((?x102 (* (~ 1) ?x95))) +(let ((?x70 (* |$d| ?x8))) +(let ((?x127 (+ ?x65 ?x70 ?x102))) +(let (($x130 (= ?x34 ?x127))) +(let (($x133 (not $x130))) +(let ((?x163 (+ ?x65 (* ?x8 (+ |$d| (* (~ 1) ?x92))) 0))) +(let ((?x172 (+ ?x169 (* (~ 1) |$d|) ?x171))) +(let ((?x160 (* (~ 1) ?x92))) +(let (($x173 (= ?x160 ?x172))) +(let ((@x175 (trans (monotonicity (rewrite (= ?x92 ?x92)) (= ?x160 ?x160)) (rewrite $x173) $x173))) +(let ((@x181 (monotonicity (trans @x175 (rewrite (= ?x172 ?x172)) $x173) (= (+ |$d| ?x160) (+ |$d| ?x172))))) +(let ((@x186 (trans @x181 (rewrite (= (+ |$d| ?x172) ?x182)) (= (+ |$d| ?x160) ?x182)))) +(let ((@x143 (rewrite (= ?x8 ?x8)))) +(let ((@x149 (monotonicity (rewrite (= ?x11 ?x11)) (rewrite (= ?x57 ?x57)) (= ?x65 ?x65)))) +(let ((@x192 (monotonicity @x149 (monotonicity @x143 @x186 (= (* ?x8 (+ |$d| ?x160)) ?x187)) (= ?x163 (+ ?x65 ?x187 0))))) +(let ((@x157 (monotonicity (monotonicity @x143 (rewrite (= ?x92 ?x92)) (= ?x95 ?x95)) (= ?x102 ?x102)))) +(let ((@x159 (monotonicity @x149 (monotonicity @x143 (= ?x70 ?x70)) @x157 (= ?x127 ?x127)))) +(let ((@x199 (trans (trans @x159 (rewrite (= ?x127 ?x163)) (= ?x127 ?x163)) (trans @x192 (rewrite (= (+ ?x65 ?x187 0) ?x193)) (= ?x163 ?x193)) (= ?x127 ?x193)))) +(let ((@x202 (monotonicity (monotonicity (rewrite (= ?x11 ?x11)) @x143 (= ?x34 ?x34)) @x199 (= $x130 $x200)))) +(let ((@x132 (monotonicity (rewrite (= (+ 0 ?x65 ?x70 ?x102) ?x127)) (= (= ?x34 (+ 0 ?x65 ?x70 ?x102)) $x130)))) +(let ((@x135 (monotonicity @x132 (= (not (= ?x34 (+ 0 ?x65 ?x70 ?x102))) $x133)))) +(let (($x118 (= ?x34 (+ 0 ?x65 ?x70 ?x102)))) +(let (($x123 (not $x118))) +(let ((?x22 (* |$d| |$p|))) +(let ((?x23 (+ (+ (* (* 2 ?x8) ?x11) (* ?x8 |$d|)) ?x22))) +(let ((?x24 (+ |$u| ?x23))) +(let ((?x28 (- ?x24 (* ?x8 (+ (+ |$b| |$d|) |$e|))))) +(let ((?x16 (+ (+ |$u| (* ?x8 ?x11)) (* |$p| |$d|)))) +(let (($x29 (= ?x16 ?x28))) +(let (($x30 (not $x29))) +(let ((@x120 (rewrite (= (= (+ |$u| ?x34 ?x22) (+ |$u| ?x65 ?x70 ?x22 ?x102)) $x118)))) +(let ((@x110 (rewrite (= (+ (+ |$u| ?x65 ?x70 ?x22) ?x102) (+ |$u| ?x65 ?x70 ?x22 ?x102))))) +(let ((?x87 (+ |$u| ?x65 ?x70 ?x22))) +(let ((?x103 (+ ?x87 ?x102))) +(let ((@x97 (monotonicity (rewrite (= (+ (+ |$b| |$d|) |$e|) ?x92)) (= (* ?x8 (+ (+ |$b| |$d|) |$e|)) ?x95)))) +(let ((@x59 (monotonicity (rewrite (= (* 2 1) 2)) (= (+ (* 2 1) (* 2 |$p|)) ?x57)))) +(let ((@x61 (trans (rewrite (= (* 2 ?x8) (+ (* 2 1) (* 2 |$p|)))) @x59 (= (* 2 ?x8) ?x57)))) +(let ((@x69 (trans (monotonicity @x61 (= (* (* 2 ?x8) ?x11) (* ?x57 ?x11))) (rewrite (= (* ?x57 ?x11) ?x65)) (= (* (* 2 ?x8) ?x11) ?x65)))) +(let ((@x75 (monotonicity @x69 (rewrite (= (* ?x8 |$d|) ?x70)) (= (+ (* (* 2 ?x8) ?x11) (* ?x8 |$d|)) (+ ?x65 ?x70))))) +(let ((@x83 (trans (monotonicity @x75 (= ?x23 (+ (+ ?x65 ?x70) ?x22))) (rewrite (= (+ (+ ?x65 ?x70) ?x22) (+ ?x65 ?x70 ?x22))) (= ?x23 (+ ?x65 ?x70 ?x22))))) +(let ((@x91 (trans (monotonicity @x83 (= ?x24 (+ |$u| (+ ?x65 ?x70 ?x22)))) (rewrite (= (+ |$u| (+ ?x65 ?x70 ?x22)) ?x87)) (= ?x24 ?x87)))) +(let ((@x107 (trans (monotonicity @x91 @x97 (= ?x28 (- ?x87 ?x95))) (rewrite (= (- ?x87 ?x95) ?x103)) (= ?x28 ?x103)))) +(let ((@x39 (monotonicity (rewrite (= (* ?x8 ?x11) ?x34)) (= (+ |$u| (* ?x8 ?x11)) (+ |$u| ?x34))))) +(let ((@x44 (monotonicity @x39 (rewrite (= (* |$p| |$d|) ?x22)) (= ?x16 (+ (+ |$u| ?x34) ?x22))))) +(let ((@x49 (trans @x44 (rewrite (= (+ (+ |$u| ?x34) ?x22) (+ |$u| ?x34 ?x22))) (= ?x16 (+ |$u| ?x34 ?x22))))) +(let ((@x115 (monotonicity @x49 (trans @x107 @x110 (= ?x28 (+ |$u| ?x65 ?x70 ?x22 ?x102))) (= $x29 (= (+ |$u| ?x34 ?x22) (+ |$u| ?x65 ?x70 ?x22 ?x102)))))) +(let ((@x126 (mp (asserted $x30) (monotonicity (trans @x115 @x120 (= $x29 $x118)) (= $x30 $x123)) $x123))) +(let ((@x206 (mp (mp (mp @x126 @x135 $x133) (|rewrite*| (= $x133 $x133)) $x133) (monotonicity @x202 (= $x133 $x203)) $x203))) +(mp @x206 (trans @x258 (rewrite (= (not true) false)) (= $x203 false)) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +0795b8d99cb059e79a0bd193807871920dc7cdc1 97 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x8 (* 2 (|$of_nat| |$x|)))) +(let ((?x545 (+ ?x8 (* (~ 1) (|$of_nat| (|$nat| ?x8)))))) +(let (($x543 (= ?x545 0))) +(let (($x205 (>= (|$of_nat| |$x|) 0))) +(let ((?x224 (|$of_nat| (|$nat| ?x8)))) +(let (($x499 (>= ?x224 1))) +(let (($x517 (= (|$of_nat| (|$nat| 1)) 1))) +(let (($x558 (forall ((?v0 Int) )(!(let (($x25 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x25)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x109 (forall ((?v0 Int) )(let (($x25 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x25))) +)) +(let (($x25 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x106 (or (not (>= ?0 0)) $x25))) +(let (($x48 (forall ((?v0 Int) )(let (($x25 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x22 (<= 0 ?v0))) +(let (($x43 (not $x22))) +(or $x43 $x25))))) +)) +(let ((@x105 (monotonicity (rewrite (= (<= 0 ?0) (>= ?0 0))) (= (not (<= 0 ?0)) (not (>= ?0 0)))))) +(let ((@x111 (|quant-intro| (monotonicity @x105 (= (or (not (<= 0 ?0)) $x25) $x106)) (= $x48 $x109)))) +(let (($x27 (forall ((?v0 Int) )(let (($x25 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x22 (<= 0 ?v0))) +(=> $x22 $x25)))) +)) +(let ((@x46 (rewrite (= (=> (<= 0 ?0) $x25) (or (not (<= 0 ?0)) $x25))))) +(let ((@x42 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x25) (=> (<= 0 ?0) $x25))))) +(let ((@x47 (trans @x42 @x46 (= (=> (<= 0 ?0) $x25) (or (not (<= 0 ?0)) $x25))))) +(let ((@x77 (mp (mp (asserted $x27) (|quant-intro| @x47 (= $x27 $x48)) $x48) (|rewrite*| (= $x48 $x48)) $x48))) +(let ((@x128 (|mp~| (mp @x77 @x111 $x109) (|nnf-pos| (refl (|~| $x106 $x106)) (|~| $x109 $x109)) $x109))) +(let (($x538 (not $x558))) +(let (($x501 (or $x538 $x517))) +(let ((@x521 (monotonicity (rewrite (= (>= 1 0) true)) (= (not (>= 1 0)) (not true))))) +(let ((@x231 (trans @x521 (rewrite (= (not true) false)) (= (not (>= 1 0)) false)))) +(let ((@x235 (monotonicity @x231 (= (or (not (>= 1 0)) $x517) (or false $x517))))) +(let ((@x515 (trans @x235 (rewrite (= (or false $x517) $x517)) (= (or (not (>= 1 0)) $x517) $x517)))) +(let ((@x505 (monotonicity @x515 (= (or $x538 (or (not (>= 1 0)) $x517)) $x501)))) +(let ((@x508 (trans @x505 (rewrite (= $x501 $x501)) (= (or $x538 (or (not (>= 1 0)) $x517)) $x501)))) +(let ((@x509 (mp ((_ |quant-inst| 1) (or $x538 (or (not (>= 1 0)) $x517))) @x508 $x501))) +(let ((@x329 (|unit-resolution| @x509 (mp @x128 (|quant-intro| (refl (= $x106 $x106)) (= $x109 $x558)) $x558) $x517))) +(let (($x12 (= (|$nat| ?x8) (|$nat| 1)))) +(let ((@x38 (mp (asserted (not (not $x12))) (rewrite (= (not (not $x12)) $x12)) $x12))) +(let ((@x367 (monotonicity (mp @x38 (|rewrite*| (= $x12 $x12)) $x12) (= ?x224 (|$of_nat| (|$nat| 1)))))) +(let ((@x479 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x224 1)) $x499)) (trans @x367 @x329 (= ?x224 1)) $x499))) +(let ((@x383 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x499) (not (<= ?x224 0)))) @x479 (not (<= ?x224 0))))) +(let ((@x386 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x224 0)) (<= ?x224 0))) @x383 (not (= ?x224 0))))) +(let (($x527 (= ?x224 0))) +(let (($x529 (or $x205 $x527))) +(let (($x564 (forall ((?v0 Int) )(!(let (($x29 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x102 (>= ?v0 0))) +(or $x102 $x29))) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x116 (forall ((?v0 Int) )(let (($x29 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x102 (>= ?v0 0))) +(or $x102 $x29)))) +)) +(let (($x29 (= (|$of_nat| (|$nat| ?0)) 0))) +(let (($x102 (>= ?0 0))) +(let (($x113 (or $x102 $x29))) +(let (($x65 (forall ((?v0 Int) )(let (($x29 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x22 (<= 0 ?v0))) +(or $x22 $x29)))) +)) +(let ((@x115 (monotonicity (rewrite (= (<= 0 ?0) $x102)) (= (or (<= 0 ?0) $x29) $x113)))) +(let (($x31 (forall ((?v0 Int) )(let (($x29 (= (|$of_nat| (|$nat| ?v0)) 0))) +(=> (< ?v0 0) $x29))) +)) +(let ((@x62 (rewrite (= (=> (not (<= 0 ?0)) $x29) (or (<= 0 ?0) $x29))))) +(let ((@x55 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (not (<= 0 ?0)) (not (<= 0 ?0)))))) +(let ((@x56 (trans (rewrite (= (< ?0 0) (not (<= 0 ?0)))) @x55 (= (< ?0 0) (not (<= 0 ?0)))))) +(let ((@x59 (monotonicity @x56 (= (=> (< ?0 0) $x29) (=> (not (<= 0 ?0)) $x29))))) +(let ((@x64 (trans @x59 @x62 (= (=> (< ?0 0) $x29) (or (<= 0 ?0) $x29))))) +(let ((@x80 (mp (mp (asserted $x31) (|quant-intro| @x64 (= $x31 $x65)) $x65) (|rewrite*| (= $x65 $x65)) $x65))) +(let ((@x133 (|mp~| (mp @x80 (|quant-intro| @x115 (= $x65 $x116)) $x116) (|nnf-pos| (refl (|~| $x113 $x113)) (|~| $x116 $x116)) $x116))) +(let (($x168 (not $x564))) +(let (($x532 (or $x168 $x205 $x527))) +(let ((@x531 (monotonicity (rewrite (= (>= ?x8 0) $x205)) (= (or (>= ?x8 0) $x527) $x529)))) +(let ((@x535 (monotonicity @x531 (= (or $x168 (or (>= ?x8 0) $x527)) (or $x168 $x529))))) +(let ((@x227 (trans @x535 (rewrite (= (or $x168 $x529) $x532)) (= (or $x168 (or (>= ?x8 0) $x527)) $x532)))) +(let ((@x387 (|unit-resolution| (mp ((_ |quant-inst| (* 2 (|$of_nat| |$x|))) (or $x168 (or (>= ?x8 0) $x527))) @x227 $x532) (mp @x133 (|quant-intro| (refl (= $x113 $x113)) (= $x116 $x564)) $x564) $x529))) +(let (($x197 (not $x205))) +(let (($x546 (or $x197 $x543))) +(let (($x200 (or $x538 $x197 $x543))) +(let (($x201 (or $x538 (or (not (>= ?x8 0)) (= ?x224 ?x8))))) +(let ((@x537 (monotonicity (rewrite (= (>= ?x8 0) $x205)) (= (not (>= ?x8 0)) $x197)))) +(let ((@x548 (monotonicity @x537 (rewrite (= (= ?x224 ?x8) $x543)) (= (or (not (>= ?x8 0)) (= ?x224 ?x8)) $x546)))) +(let ((@x187 (trans (monotonicity @x548 (= $x201 (or $x538 $x546))) (rewrite (= (or $x538 $x546) $x200)) (= $x201 $x200)))) +(let ((@x389 (|unit-resolution| (mp ((_ |quant-inst| (* 2 (|$of_nat| |$x|))) $x201) @x187 $x200) (mp @x128 (|quant-intro| (refl (= $x106 $x106)) (= $x109 $x558)) $x558) $x546))) +(let ((@x472 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x543) (<= ?x545 0))) (|unit-resolution| @x389 (|unit-resolution| @x387 @x386 $x205) $x543) (<= ?x545 0)))) +(let ((@x463 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x543) (>= ?x545 0))) (|unit-resolution| @x389 (|unit-resolution| @x387 @x386 $x205) $x543) (>= ?x545 0)))) +(let ((@x475 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x224 1)) (<= ?x224 1))) (trans @x367 @x329 (= ?x224 1)) (<= ?x224 1)))) +((_ |th-lemma| arith gcd-test -1/2 -1/2 -1/2 -1/2) @x479 @x475 @x463 @x472 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +2df65ee611ccc99a6ae4d2a639004e2a750b3f15 23 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x6 (|$of_nat| |$a|))) +(let (($x50 (>= ?x6 4))) +(let (($x12 (< (* 2 ?x6) 7))) +(let (($x13 (=> (< ?x6 3) $x12))) +(let (($x14 (not $x13))) +(let (($x53 (not $x50))) +(let (($x36 (<= 3 ?x6))) +(let (($x61 (or $x36 $x53))) +(let ((@x55 (monotonicity (rewrite (= (<= 7 (* 2 ?x6)) $x50)) (= (not (<= 7 (* 2 ?x6))) $x53)))) +(let ((@x57 (trans (rewrite (= $x12 (not (<= 7 (* 2 ?x6))))) @x55 (= $x12 $x53)))) +(let ((@x43 (monotonicity (rewrite (= $x36 $x36)) (= (not $x36) (not $x36))))) +(let ((@x44 (trans (rewrite (= (< ?x6 3) (not $x36))) @x43 (= (< ?x6 3) (not $x36))))) +(let ((@x65 (trans (monotonicity @x44 @x57 (= $x13 (=> (not $x36) $x53))) (rewrite (= (=> (not $x36) $x53) $x61)) (= $x13 $x61)))) +(let ((@x69 (mp (asserted $x14) (monotonicity @x65 (= $x14 (not $x61))) (not $x61)))) +(let ((@x142 (monotonicity (rewrite (= $x36 (>= ?x6 3))) (= (not $x36) (not (>= ?x6 3)))))) +(let (($x37 (not $x36))) +(let ((@x116 (mp (mp (|not-or-elim| @x69 $x37) (|rewrite*| (= $x37 $x37)) $x37) @x43 $x37))) +(let ((@x265 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or $x53 (>= ?x6 3))) (mp (mp @x116 @x43 $x37) @x142 (not (>= ?x6 3))) $x53))) +(|unit-resolution| @x265 (mp (|not-or-elim| @x69 $x50) (|rewrite*| (= $x50 $x50)) $x50) false))))))))))))))))))))) + +d05374a460269b4494280b75139b4ebf7e6e6d90 115 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x11 (|$of_nat| (|$nat| (+ 1 (|$of_nat| |$y|)))))) +(let ((?x128 (+ (* (~ 1) (|$of_nat| |$y|)) ?x11))) +(let ((?x134 (|$of_nat| (|$nat| ?x128)))) +(let ((?x8 (|$of_nat| |$y|))) +(let (($x554 (= (+ ?x8 (* (~ 1) ?x11) ?x134) 0))) +(let ((?x589 (+ ?x8 (* (~ 1) ?x11)))) +(let (($x270 (<= ?x589 0))) +(let (($x572 (<= ?x589 (~ 1)))) +(let (($x579 (= ?x589 (~ 1)))) +(let (($x251 (>= ?x8 (~ 1)))) +(let (($x409 (>= ?x8 0))) +(let (($x519 (= (|$of_nat| (|$nat| ?x8)) 0))) +(let (($x605 (forall ((?v0 Int) )(!(let (($x31 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x143 (>= ?v0 0))) +(or $x143 $x31))) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x158 (forall ((?v0 Int) )(let (($x31 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x143 (>= ?v0 0))) +(or $x143 $x31)))) +)) +(let (($x31 (= (|$of_nat| (|$nat| ?0)) 0))) +(let (($x143 (>= ?0 0))) +(let (($x155 (or $x143 $x31))) +(let (($x94 (forall ((?v0 Int) )(let (($x31 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x24 (<= 0 ?v0))) +(or $x24 $x31)))) +)) +(let ((@x157 (monotonicity (rewrite (= (<= 0 ?0) $x143)) (= (or (<= 0 ?0) $x31) $x155)))) +(let (($x33 (forall ((?v0 Int) )(let (($x31 (= (|$of_nat| (|$nat| ?v0)) 0))) +(=> (< ?v0 0) $x31))) +)) +(let ((@x91 (rewrite (= (=> (not (<= 0 ?0)) $x31) (or (<= 0 ?0) $x31))))) +(let ((@x84 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (not (<= 0 ?0)) (not (<= 0 ?0)))))) +(let ((@x85 (trans (rewrite (= (< ?0 0) (not (<= 0 ?0)))) @x84 (= (< ?0 0) (not (<= 0 ?0)))))) +(let ((@x88 (monotonicity @x85 (= (=> (< ?0 0) $x31) (=> (not (<= 0 ?0)) $x31))))) +(let ((@x93 (trans @x88 @x91 (= (=> (< ?0 0) $x31) (or (<= 0 ?0) $x31))))) +(let ((@x109 (mp (mp (asserted $x33) (|quant-intro| @x93 (= $x33 $x94)) $x94) (|rewrite*| (= $x94 $x94)) $x94))) +(let ((@x175 (|mp~| (mp @x109 (|quant-intro| @x157 (= $x94 $x158)) $x158) (|nnf-pos| (refl (|~| $x155 $x155)) (|~| $x158 $x158)) $x158))) +(let ((@x425 (rewrite (= (or (not $x605) (or $x409 $x519)) (or (not $x605) $x409 $x519))))) +(let ((@x418 (mp ((_ |quant-inst| (|$of_nat| |$y|)) (or (not $x605) (or $x409 $x519))) @x425 (or (not $x605) $x409 $x519)))) +(let ((@x508 (|unit-resolution| @x418 (mp @x175 (|quant-intro| (refl (= $x155 $x155)) (= $x158 $x605)) $x605) (or $x409 $x519)))) +(let (($x591 (forall ((?v0 |$Nat|) )(!(= (|$nat| (|$of_nat| ?v0)) ?v0) :pattern ( (|$of_nat| ?v0) ))) +)) +(let (($x22 (forall ((?v0 |$Nat|) )(= (|$nat| (|$of_nat| ?v0)) ?v0)) +)) +(let ((@x596 (trans (rewrite (= $x22 $x591)) (rewrite (= $x591 $x591)) (= $x22 $x591)))) +(let ((@x168 (refl (|~| (= (|$nat| (|$of_nat| ?0)) ?0) (= (|$nat| (|$of_nat| ?0)) ?0))))) +(let ((@x163 (|mp~| (mp (asserted $x22) (|rewrite*| (= $x22 $x22)) $x22) (|nnf-pos| @x168 (|~| $x22 $x22)) $x22))) +(let ((@x510 (|unit-resolution| ((_ |quant-inst| |$y|) (or (not $x591) (= (|$nat| ?x8) |$y|))) (mp @x163 @x596 $x591) (= (|$nat| ?x8) |$y|)))) +(let ((@x497 (monotonicity (symm @x510 (= |$y| (|$nat| ?x8))) (= ?x8 (|$of_nat| (|$nat| ?x8)))))) +(let ((@x498 (trans @x497 (|unit-resolution| @x508 (hypothesis (not $x409)) $x519) (= ?x8 0)))) +(let ((@x502 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x8 0)) $x409)) (hypothesis (not $x409)) @x498 false))) +(let ((@x490 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x409) $x251)) (lemma @x502 $x409) $x251))) +(let (($x585 (not $x251))) +(let (($x580 (or $x585 $x579))) +(let (($x599 (forall ((?v0 Int) )(!(let (($x27 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x27)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x151 (forall ((?v0 Int) )(let (($x27 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x27))) +)) +(let (($x27 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x148 (or (not $x143) $x27))) +(let (($x77 (forall ((?v0 Int) )(let (($x27 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x24 (<= 0 ?v0))) +(let (($x72 (not $x24))) +(or $x72 $x27))))) +)) +(let ((@x147 (monotonicity (rewrite (= (<= 0 ?0) $x143)) (= (not (<= 0 ?0)) (not $x143))))) +(let ((@x153 (|quant-intro| (monotonicity @x147 (= (or (not (<= 0 ?0)) $x27) $x148)) (= $x77 $x151)))) +(let (($x29 (forall ((?v0 Int) )(let (($x27 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x24 (<= 0 ?v0))) +(=> $x24 $x27)))) +)) +(let ((@x75 (rewrite (= (=> (<= 0 ?0) $x27) (or (not (<= 0 ?0)) $x27))))) +(let ((@x71 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x27) (=> (<= 0 ?0) $x27))))) +(let ((@x76 (trans @x71 @x75 (= (=> (<= 0 ?0) $x27) (or (not (<= 0 ?0)) $x27))))) +(let ((@x106 (mp (mp (asserted $x29) (|quant-intro| @x76 (= $x29 $x77)) $x77) (|rewrite*| (= $x77 $x77)) $x77))) +(let ((@x170 (|mp~| (mp @x106 @x153 $x151) (|nnf-pos| (refl (|~| $x148 $x148)) (|~| $x151 $x151)) $x151))) +(let (($x224 (not $x599))) +(let (($x565 (or $x224 $x585 $x579))) +(let (($x227 (or $x224 (or (not (>= (+ 1 ?x8) 0)) (= ?x11 (+ 1 ?x8)))))) +(let (($x245 (= (or (not (>= (+ 1 ?x8) 0)) (= ?x11 (+ 1 ?x8))) $x580))) +(let ((@x587 (monotonicity (rewrite (= (>= (+ 1 ?x8) 0) $x251)) (= (not (>= (+ 1 ?x8) 0)) $x585)))) +(let ((@x566 (monotonicity (monotonicity @x587 (rewrite (= (= ?x11 (+ 1 ?x8)) $x579)) $x245) (= $x227 (or $x224 $x580))))) +(let ((@x571 (mp ((_ |quant-inst| (+ 1 ?x8)) $x227) (trans @x566 (rewrite (= (or $x224 $x580) $x565)) (= $x227 $x565)) $x565))) +(let ((@x491 (|unit-resolution| @x571 (mp @x170 (|quant-intro| (refl (= $x148 $x148)) (= $x151 $x599)) $x599) $x580))) +(let ((@x475 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x579) $x572)) (|unit-resolution| @x491 @x490 $x579) $x572))) +(let (($x551 (not $x270))) +(let (($x542 (or $x551 $x554))) +(let (($x545 (or $x224 $x551 $x554))) +(let (($x546 (or $x224 (or (not (>= ?x128 0)) (= ?x134 ?x128))))) +(let ((@x276 (monotonicity (rewrite (= (>= ?x128 0) $x270)) (= (not (>= ?x128 0)) $x551)))) +(let ((@x544 (monotonicity @x276 (rewrite (= (= ?x134 ?x128) $x554)) (= (or (not (>= ?x128 0)) (= ?x134 ?x128)) $x542)))) +(let ((@x532 (trans (monotonicity @x544 (= $x546 (or $x224 $x542))) (rewrite (= (or $x224 $x542) $x545)) (= $x546 $x545)))) +(let ((@x480 (|unit-resolution| (mp ((_ |quant-inst| (+ (* (~ 1) ?x8) ?x11)) $x546) @x532 $x545) (mp @x170 (|quant-intro| (refl (= $x148 $x148)) (= $x151 $x599)) $x599) $x542))) +(let ((@x481 (|unit-resolution| @x480 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x572) $x270)) @x475 $x270) $x554))) +(let ((@x485 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x554) (>= (+ ?x8 (* (~ 1) ?x11) ?x134) 0))) @x481 (>= (+ ?x8 (* (~ 1) ?x11) ?x134) 0)))) +(let ((?x42 (+ ?x11 (* (~ 1) ?x8)))) +(let ((?x45 (|$nat| ?x42))) +(let ((?x48 (|$of_nat| ?x45))) +(let (($x54 (<= ?x48 0))) +(let ((@x136 (monotonicity (monotonicity (rewrite (= ?x42 ?x128)) (= ?x45 (|$nat| ?x128))) (= ?x48 ?x134)))) +(let (($x16 (< (* 0 ?x11) (|$of_nat| (|$nat| (- ?x11 ?x8)))))) +(let (($x17 (not $x16))) +(let ((@x47 (monotonicity (rewrite (= (- ?x11 ?x8) ?x42)) (= (|$nat| (- ?x11 ?x8)) ?x45)))) +(let ((@x53 (monotonicity (rewrite (= (* 0 ?x11) 0)) (monotonicity @x47 (= (|$of_nat| (|$nat| (- ?x11 ?x8))) ?x48)) (= $x16 (< 0 ?x48))))) +(let ((@x59 (trans @x53 (rewrite (= (< 0 ?x48) (not $x54))) (= $x16 (not $x54))))) +(let ((@x66 (trans (monotonicity @x59 (= $x17 (not (not $x54)))) (rewrite (= (not (not $x54)) $x54)) (= $x17 $x54)))) +(let ((@x142 (mp (mp (mp (asserted $x17) @x66 $x54) (|rewrite*| (= $x54 $x54)) $x54) (monotonicity @x136 (= $x54 (<= ?x134 0))) (<= ?x134 0)))) +((_ |th-lemma| arith farkas -1 -1 1) @x142 @x475 @x485 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +049eda1e4e3a4643566f2dfb3050e8b4420d33c6 112 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x11 (|$of_nat| (|$nat| (+ 1 (|$of_nat| |$y|)))))) +(let ((?x75 (+ (~ 1) ?x11))) +(let ((?x82 (|$nat| ?x75))) +(let ((?x335 (|$of_nat| ?x82))) +(let ((?x8 (|$of_nat| |$y|))) +(let (($x419 (>= (+ ?x8 (* (~ 1) ?x335)) 0))) +(let (($x85 (= ?x82 |$y|))) +(let (($x54 (<= ?x11 0))) +(let (($x13 (ite (< 0 ?x11) true false))) +(let (($x18 (not $x13))) +(let (($x19 (=> $x18 false))) +(let (($x46 (not $x19))) +(let ((@x60 (monotonicity (rewrite (= (< 0 ?x11) (not $x54))) (= $x13 (ite (not $x54) true false))))) +(let ((@x64 (trans @x60 (rewrite (= (ite (not $x54) true false) (not $x54))) (= $x13 (not $x54))))) +(let ((@x106 (trans (monotonicity @x64 (= $x18 (not (not $x54)))) (rewrite (= (not (not $x54)) $x54)) (= $x18 $x54)))) +(let ((@x113 (trans (monotonicity @x106 (= $x19 (=> $x54 false))) (rewrite (= (=> $x54 false) (not $x54))) (= $x19 (not $x54))))) +(let ((@x117 (trans (monotonicity @x113 (= $x46 (not (not $x54)))) (rewrite (= (not (not $x54)) $x54)) (= $x46 $x54)))) +(let (($x22 (not (or false (or (= $x13 (= (|$nat| (- ?x11 1)) |$y|)) $x19))))) +(let ((@x43 (|not-or-elim| (asserted $x22) (not (or (= $x13 (= (|$nat| (- ?x11 1)) |$y|)) $x19))))) +(let ((@x51 (monotonicity (|iff-true| (mp (|not-or-elim| @x43 $x46) @x117 $x54) (= $x54 true)) (= (= $x54 $x85) (= true $x85))))) +(let ((@x152 (trans @x51 (rewrite (= (= true $x85) $x85)) (= (= $x54 $x85) $x85)))) +(let (($x94 (= $x54 $x85))) +(let (($x17 (= $x13 (= (|$nat| (- ?x11 1)) |$y|)))) +(let (($x44 (not $x17))) +(let ((@x74 (monotonicity (rewrite (= (* (~ 1) 1) (~ 1))) (= (+ ?x11 (* (~ 1) 1)) (+ ?x11 (~ 1)))))) +(let ((@x79 (trans @x74 (rewrite (= (+ ?x11 (~ 1)) ?x75)) (= (+ ?x11 (* (~ 1) 1)) ?x75)))) +(let ((@x81 (trans (rewrite (= (- ?x11 1) (+ ?x11 (* (~ 1) 1)))) @x79 (= (- ?x11 1) ?x75)))) +(let ((@x87 (monotonicity (monotonicity @x81 (= (|$nat| (- ?x11 1)) ?x82)) (= (= (|$nat| (- ?x11 1)) |$y|) $x85)))) +(let ((@x93 (monotonicity (monotonicity @x64 @x87 (= $x17 (= (not $x54) $x85))) (= $x44 (not (= (not $x54) $x85)))))) +(let ((@x98 (trans @x93 (rewrite (= (not (= (not $x54) $x85)) $x94)) (= $x44 $x94)))) +(let ((@x156 (mp (mp (mp (|not-or-elim| @x43 $x44) @x98 $x94) @x152 $x85) (|rewrite*| (= $x85 $x85)) $x85))) +(let ((@x569 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x8 ?x335)) $x419)) (monotonicity (symm @x156 (= |$y| ?x82)) (= ?x8 ?x335)) $x419))) +(let (($x631 (= (+ ?x8 (* (~ 1) ?x11)) (~ 1)))) +(let (($x629 (>= ?x8 (~ 1)))) +(let (($x577 (>= ?x335 0))) +(let (($x579 (= ?x335 0))) +(let ((@x159 (mp (mp (|not-or-elim| @x43 $x46) @x117 $x54) (|rewrite*| (= $x54 $x54)) $x54))) +(let ((@x558 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not (>= ?x11 1)) (not $x54))) @x159 (not (>= ?x11 1))))) +(let (($x651 (forall ((?v0 Int) )(!(let (($x36 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x189 (>= ?v0 0))) +(or $x189 $x36))) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x204 (forall ((?v0 Int) )(let (($x36 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x189 (>= ?v0 0))) +(or $x189 $x36)))) +)) +(let (($x36 (= (|$of_nat| (|$nat| ?0)) 0))) +(let (($x189 (>= ?0 0))) +(let (($x201 (or $x189 $x36))) +(let (($x145 (forall ((?v0 Int) )(let (($x36 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x29 (<= 0 ?v0))) +(or $x29 $x36)))) +)) +(let ((@x203 (monotonicity (rewrite (= (<= 0 ?0) $x189)) (= (or (<= 0 ?0) $x36) $x201)))) +(let (($x38 (forall ((?v0 Int) )(let (($x36 (= (|$of_nat| (|$nat| ?v0)) 0))) +(=> (< ?v0 0) $x36))) +)) +(let ((@x142 (rewrite (= (=> (not (<= 0 ?0)) $x36) (or (<= 0 ?0) $x36))))) +(let ((@x135 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (not (<= 0 ?0)) (not (<= 0 ?0)))))) +(let ((@x136 (trans (rewrite (= (< ?0 0) (not (<= 0 ?0)))) @x135 (= (< ?0 0) (not (<= 0 ?0)))))) +(let ((@x139 (monotonicity @x136 (= (=> (< ?0 0) $x36) (=> (not (<= 0 ?0)) $x36))))) +(let ((@x144 (trans @x139 @x142 (= (=> (< ?0 0) $x36) (or (<= 0 ?0) $x36))))) +(let ((@x168 (mp (mp (asserted $x38) (|quant-intro| @x144 (= $x38 $x145)) $x145) (|rewrite*| (= $x145 $x145)) $x145))) +(let ((@x221 (|mp~| (mp @x168 (|quant-intro| @x203 (= $x145 $x204)) $x204) (|nnf-pos| (refl (|~| $x201 $x201)) (|~| $x204 $x204)) $x204))) +(let (($x606 (>= ?x11 1))) +(let (($x620 (not $x651))) +(let (($x584 (or $x620 $x606 $x579))) +(let ((@x583 (monotonicity (rewrite (= (>= ?x75 0) $x606)) (= (or (>= ?x75 0) $x579) (or $x606 $x579))))) +(let ((@x415 (monotonicity @x583 (= (or $x620 (or (>= ?x75 0) $x579)) (or $x620 (or $x606 $x579)))))) +(let ((@x574 (trans @x415 (rewrite (= (or $x620 (or $x606 $x579)) $x584)) (= (or $x620 (or (>= ?x75 0) $x579)) $x584)))) +(let ((@x559 (|unit-resolution| (mp ((_ |quant-inst| (+ (~ 1) ?x11)) (or $x620 (or (>= ?x75 0) $x579))) @x574 $x584) (mp @x221 (|quant-intro| (refl (= $x201 $x201)) (= $x204 $x651)) $x651) @x558 $x579))) +(let ((@x552 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x629 (not $x577) (not $x419))) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x579) $x577)) @x559 $x577) @x569 $x629))) +(let (($x624 (not $x629))) +(let (($x635 (or $x624 $x631))) +(let (($x645 (forall ((?v0 Int) )(!(let (($x32 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x32)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x197 (forall ((?v0 Int) )(let (($x32 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x32))) +)) +(let (($x32 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x194 (or (not $x189) $x32))) +(let (($x128 (forall ((?v0 Int) )(let (($x32 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x29 (<= 0 ?v0))) +(let (($x123 (not $x29))) +(or $x123 $x32))))) +)) +(let ((@x193 (monotonicity (rewrite (= (<= 0 ?0) $x189)) (= (not (<= 0 ?0)) (not $x189))))) +(let ((@x199 (|quant-intro| (monotonicity @x193 (= (or (not (<= 0 ?0)) $x32) $x194)) (= $x128 $x197)))) +(let (($x34 (forall ((?v0 Int) )(let (($x32 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x29 (<= 0 ?v0))) +(=> $x29 $x32)))) +)) +(let ((@x126 (rewrite (= (=> (<= 0 ?0) $x32) (or (not (<= 0 ?0)) $x32))))) +(let ((@x122 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x32) (=> (<= 0 ?0) $x32))))) +(let ((@x127 (trans @x122 @x126 (= (=> (<= 0 ?0) $x32) (or (not (<= 0 ?0)) $x32))))) +(let ((@x165 (mp (mp (asserted $x34) (|quant-intro| @x127 (= $x34 $x128)) $x128) (|rewrite*| (= $x128 $x128)) $x128))) +(let ((@x216 (|mp~| (mp @x165 @x199 $x197) (|nnf-pos| (refl (|~| $x194 $x194)) (|~| $x197 $x197)) $x197))) +(let (($x289 (not $x645))) +(let (($x626 (or $x289 $x624 $x631))) +(let (($x291 (or $x289 (or (not (>= (+ 1 ?x8) 0)) (= ?x11 (+ 1 ?x8)))))) +(let (($x625 (= (or (not (>= (+ 1 ?x8) 0)) (= ?x11 (+ 1 ?x8))) $x635))) +(let ((@x298 (monotonicity (rewrite (= (>= (+ 1 ?x8) 0) $x629)) (= (not (>= (+ 1 ?x8) 0)) $x624)))) +(let ((@x273 (monotonicity (monotonicity @x298 (rewrite (= (= ?x11 (+ 1 ?x8)) $x631)) $x625) (= $x291 (or $x289 $x635))))) +(let ((@x613 (mp ((_ |quant-inst| (+ 1 ?x8)) $x291) (trans @x273 (rewrite (= (or $x289 $x635) $x626)) (= $x291 $x626)) $x626))) +(let ((@x553 (|unit-resolution| @x613 (mp @x216 (|quant-intro| (refl (= $x194 $x194)) (= $x197 $x645)) $x645) $x635))) +(let ((@x541 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x631) (<= (+ ?x8 (* (~ 1) ?x11)) (~ 1)))) (|unit-resolution| @x553 @x552 $x631) (<= (+ ?x8 (* (~ 1) ?x11)) (~ 1))))) +((_ |th-lemma| arith farkas 1 -1 -1 1) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x579) $x577)) @x559 $x577) @x159 @x541 @x569 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +cff8ff54877b840f88a871fff0fa5d6bcdc3d367 60 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x44 (* (~ 1) |$x|))) +(let (($x140 (>= |$x| 0))) +(let ((?x143 (ite $x140 |$x| ?x44))) +(let (($x279 (= ?x44 ?x143))) +(let (($x193 (= |$x| ?x143))) +(let ((@x585 (|unit-resolution| (|def-axiom| (or (not $x140) $x193)) (hypothesis $x140) $x193))) +(let ((@x589 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x193) (<= (+ |$x| (* (~ 1) ?x143)) 0))) @x585 (<= (+ |$x| (* (~ 1) ?x143)) 0)))) +(let (($x286 (not (>= ?x143 0)))) +(let (($x617 (forall ((?v0 Int) )(!(let (($x23 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x23)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x168 (forall ((?v0 Int) )(let (($x23 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x23))) +)) +(let (($x23 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x165 (or (not (>= ?0 0)) $x23))) +(let (($x77 (forall ((?v0 Int) )(let (($x23 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (<= 0 ?v0)) $x23))) +)) +(let ((@x164 (monotonicity (rewrite (= (<= 0 ?0) (>= ?0 0))) (= (not (<= 0 ?0)) (not (>= ?0 0)))))) +(let ((@x170 (|quant-intro| (monotonicity @x164 (= (or (not (<= 0 ?0)) $x23) $x165)) (= $x77 $x168)))) +(let (($x25 (forall ((?v0 Int) )(let (($x23 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x20 (<= 0 ?v0))) +(=> $x20 $x23)))) +)) +(let ((@x75 (rewrite (= (=> (<= 0 ?0) $x23) (or (not (<= 0 ?0)) $x23))))) +(let ((@x71 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x23) (=> (<= 0 ?0) $x23))))) +(let ((@x76 (trans @x71 @x75 (= (=> (<= 0 ?0) $x23) (or (not (<= 0 ?0)) $x23))))) +(let ((@x106 (mp (mp (asserted $x25) (|quant-intro| @x76 (= $x25 $x77)) $x77) (|rewrite*| (= $x77 $x77)) $x77))) +(let ((@x187 (|mp~| (mp @x106 @x170 $x168) (|nnf-pos| (refl (|~| $x165 $x165)) (|~| $x168 $x168)) $x168))) +(let (($x34 (<= 0 |$x|))) +(let ((?x50 (ite $x34 |$x| ?x44))) +(let ((?x55 (|$nat| ?x50))) +(let ((?x58 (|$of_nat| ?x55))) +(let (($x61 (= ?x58 ?x50))) +(let (($x64 (not $x61))) +(let ((@x148 (monotonicity (monotonicity (rewrite (= $x34 $x140)) (= ?x50 ?x143)) (= ?x55 (|$nat| ?x143))))) +(let ((@x154 (monotonicity (monotonicity @x148 (= ?x58 (|$of_nat| (|$nat| ?x143)))) (monotonicity (rewrite (= $x34 $x140)) (= ?x50 ?x143)) (= $x61 (= (|$of_nat| (|$nat| ?x143)) ?x143))))) +(let ((@x113 (monotonicity (monotonicity (rewrite (= $x34 $x34)) (= ?x50 ?x50)) (= ?x55 ?x55)))) +(let ((@x117 (monotonicity (monotonicity @x113 (= ?x58 ?x58)) (monotonicity (rewrite (= $x34 $x34)) (= ?x50 ?x50)) (= $x61 $x61)))) +(let ((?x9 (ite (< |$x| 0) (- |$x|) |$x|))) +(let (($x13 (not (= (|$of_nat| (|$nat| ?x9)) ?x9)))) +(let ((@x42 (trans (rewrite (= (< |$x| 0) (not $x34))) (monotonicity (rewrite (= $x34 $x34)) (= (not $x34) (not $x34))) (= (< |$x| 0) (not $x34))))) +(let ((@x49 (monotonicity @x42 (rewrite (= (- |$x|) ?x44)) (= ?x9 (ite (not $x34) ?x44 |$x|))))) +(let ((@x54 (trans @x49 (rewrite (= (ite (not $x34) ?x44 |$x|) ?x50)) (= ?x9 ?x50)))) +(let ((@x60 (monotonicity (monotonicity @x54 (= (|$nat| ?x9) ?x55)) (= (|$of_nat| (|$nat| ?x9)) ?x58)))) +(let ((@x66 (monotonicity (monotonicity @x60 @x54 (= (= (|$of_nat| (|$nat| ?x9)) ?x9) $x61)) (= $x13 $x64)))) +(let ((@x119 (mp (mp (mp (asserted $x13) @x66 $x64) (|rewrite*| (= $x64 $x64)) $x64) (monotonicity @x117 (= $x64 $x64)) $x64))) +(let ((@x158 (mp (mp @x119 (monotonicity @x117 (= $x64 $x64)) $x64) (monotonicity @x154 (= $x64 (not (= (|$of_nat| (|$nat| ?x143)) ?x143)))) (not (= (|$of_nat| (|$nat| ?x143)) ?x143))))) +(let (($x604 (= (or (not $x617) (or $x286 (= (|$of_nat| (|$nat| ?x143)) ?x143))) (or (not $x617) $x286 (= (|$of_nat| (|$nat| ?x143)) ?x143))))) +(let ((@x606 (mp ((_ |quant-inst| (ite $x140 |$x| ?x44)) (or (not $x617) (or $x286 (= (|$of_nat| (|$nat| ?x143)) ?x143)))) (rewrite $x604) (or (not $x617) $x286 (= (|$of_nat| (|$nat| ?x143)) ?x143))))) +(let ((@x590 (|unit-resolution| @x606 @x158 (mp @x187 (|quant-intro| (refl (= $x165 $x165)) (= $x168 $x617)) $x617) $x286))) +(let ((@x233 (|unit-resolution| (|def-axiom| (or $x140 $x279)) (lemma ((_ |th-lemma| arith farkas -1 1 1) (hypothesis $x140) @x590 @x589 false) (not $x140)) $x279))) +(let ((@x581 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x279) (<= (+ ?x44 (* (~ 1) ?x143)) 0))) @x233 (<= (+ ?x44 (* (~ 1) ?x143)) 0)))) +(let ((@x301 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (<= ?x143 0) (>= ?x143 0))) @x590 (<= ?x143 0)))) +((_ |th-lemma| arith farkas 1 1 1) @x301 (lemma ((_ |th-lemma| arith farkas -1 1 1) (hypothesis $x140) @x590 @x589 false) (not $x140)) @x581 false))))))))))))))))))))))))))))))))))))))))))))))))) + +23e3bfd5b682cd11b8d1551b496550b3918a4c94 255 0 +unsat +((set-logic AUFLIA) +(declare-fun ?v1!0 (|$Nat|) |$Nat|) +(proof +(let ((?x23 (|$of_nat| |$m|))) +(let ((?x24 (* 4 ?x23))) +(let (($x601 (= (+ ?x24 (* (~ 1) (|$of_nat| (|$nat| (+ 1 ?x24))))) (~ 1)))) +(let (($x614 (>= ?x23 0))) +(let (($x705 (forall ((?v1 |$Nat|) )(!(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 (|$nat| (+ 1 (* 4 (|$of_nat| |$m|)))))) $x13 (= ?v1 (|$nat| (+ 1 (* 4 (|$of_nat| |$m|)))))))) :pattern ( (|$dvd| ?v1 (|$nat| (+ 1 (* 4 (|$of_nat| |$m|))))) ))) +)) +(let ((?x72 (+ 1 ?x24))) +(let ((?x75 (|$nat| ?x72))) +(let ((?x299 (|$of_nat| ?x75))) +(let (($x384 (<= ?x299 1))) +(let (($x373 (not (or $x384 (not $x705))))) +(let (($x78 (|$prime_nat| ?x75))) +(let (($x86 (not $x78))) +(let (($x374 (or $x86 $x373))) +(let (($x703 (or (not (|$dvd| (?v1!0 ?x75) ?x75)) (= (?v1!0 ?x75) (|$nat| 1)) (= (?v1!0 ?x75) ?x75)))) +(let (($x707 (not $x374))) +(let (($x742 (forall ((?v0 |$Nat|) )(!(let (($x223 (or (not (|$dvd| (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (|$nat| 1)) (= (?v1!0 ?v0) ?v0)))) +(let (($x224 (not $x223))) +(let ((?x8 (|$of_nat| ?v0))) +(let (($x51 (<= ?x8 1))) +(let (($x6 (|$prime_nat| ?v0))) +(let (($x251 (or $x6 $x51 $x224))) +(let (($x714 (forall ((?v1 |$Nat|) )(!(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0)))) :pattern ( (|$dvd| ?v1 ?v0) ))) +)) +(let (($x204 (not $x6))) +(not (or (not (or $x204 (not (or $x51 (not $x714))))) (not $x251))))))))))) :pattern ( (|$prime_nat| ?v0) ) :pattern ( (|$of_nat| ?v0) ))) +)) +(let (($x294 (forall ((?v0 |$Nat|) )(let (($x223 (or (not (|$dvd| (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (|$nat| 1)) (= (?v1!0 ?v0) ?v0)))) +(let (($x224 (not $x223))) +(let ((?x8 (|$of_nat| ?v0))) +(let (($x51 (<= ?x8 1))) +(let (($x6 (|$prime_nat| ?v0))) +(let (($x251 (or $x6 $x51 $x224))) +(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +)) +(let (($x225 (not $x59))) +(let (($x279 (not (or $x51 $x225)))) +(let (($x204 (not $x6))) +(let (($x280 (or $x204 $x279))) +(not (or (not $x280) (not $x251))))))))))))))) +)) +(let (($x223 (or (not (|$dvd| (?v1!0 ?0) ?0)) (= (?v1!0 ?0) (|$nat| 1)) (= (?v1!0 ?0) ?0)))) +(let (($x224 (not $x223))) +(let ((?x8 (|$of_nat| ?0))) +(let (($x51 (<= ?x8 1))) +(let (($x6 (|$prime_nat| ?0))) +(let (($x251 (or $x6 $x51 $x224))) +(let (($x714 (forall ((?v1 |$Nat|) )(!(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?0)) $x13 (= ?v1 ?0)))) :pattern ( (|$dvd| ?v1 ?0) ))) +)) +(let (($x204 (not $x6))) +(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?0)) $x13 (= ?v1 ?0))))) +)) +(let (($x225 (not $x59))) +(let (($x279 (not (or $x51 $x225)))) +(let (($x280 (or $x204 $x279))) +(let (($x289 (not (or (not $x280) (not $x251))))) +(let (($x738 (= $x289 (not (or (not (or $x204 (not (or $x51 (not $x714))))) (not $x251)))))) +(let (($x735 (= (or (not $x280) (not $x251)) (or (not (or $x204 (not (or $x51 (not $x714))))) (not $x251))))) +(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?0 ?x12))) +(let (($x56 (or (not (|$dvd| ?0 ?1)) $x13 (= ?0 ?1)))) +(let ((@x721 (monotonicity (|quant-intro| (refl (= $x56 $x56)) (= $x59 $x714)) (= $x225 (not $x714))))) +(let ((@x727 (monotonicity (monotonicity @x721 (= (or $x51 $x225) (or $x51 (not $x714)))) (= $x279 (not (or $x51 (not $x714))))))) +(let ((@x733 (monotonicity (monotonicity @x727 (= $x280 (or $x204 (not (or $x51 (not $x714)))))) (= (not $x280) (not (or $x204 (not (or $x51 (not $x714))))))))) +(let ((@x744 (|quant-intro| (monotonicity (monotonicity @x733 $x735) $x738) (= $x294 $x742)))) +(let (($x259 (forall ((?v0 |$Nat|) )(let (($x223 (or (not (|$dvd| (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (|$nat| 1)) (= (?v1!0 ?v0) ?v0)))) +(let (($x224 (not $x223))) +(let ((?x8 (|$of_nat| ?v0))) +(let (($x51 (<= ?x8 1))) +(let (($x6 (|$prime_nat| ?v0))) +(let (($x251 (or $x6 $x51 $x224))) +(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +)) +(let (($x52 (not $x51))) +(let (($x62 (and $x52 $x59))) +(let (($x204 (not $x6))) +(let (($x233 (or $x204 $x62))) +(and $x233 $x251))))))))))))) +)) +(let ((@x282 (monotonicity (rewrite (= (and (not $x51) $x59) $x279)) (= (or $x204 (and (not $x51) $x59)) $x280)))) +(let ((@x285 (monotonicity @x282 (= (and (or $x204 (and (not $x51) $x59)) $x251) (and $x280 $x251))))) +(let ((@x293 (trans @x285 (rewrite (= (and $x280 $x251) $x289)) (= (and (or $x204 (and (not $x51) $x59)) $x251) $x289)))) +(let (($x237 (forall ((?v0 |$Nat|) )(let (($x223 (or (not (|$dvd| (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (|$nat| 1)) (= (?v1!0 ?v0) ?v0)))) +(let (($x224 (not $x223))) +(let ((?x8 (|$of_nat| ?v0))) +(let (($x51 (<= ?x8 1))) +(let (($x52 (not $x51))) +(let (($x215 (not $x52))) +(let (($x228 (or $x215 $x224))) +(let (($x6 (|$prime_nat| ?v0))) +(let (($x232 (or $x6 $x228))) +(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +)) +(let (($x62 (and $x52 $x59))) +(let (($x204 (not $x6))) +(let (($x233 (or $x204 $x62))) +(and $x233 $x232))))))))))))))) +)) +(let (($x52 (not $x51))) +(let (($x62 (and $x52 $x59))) +(let (($x233 (or $x204 $x62))) +(let (($x256 (and $x233 $x251))) +(let (($x215 (not $x52))) +(let (($x228 (or $x215 $x224))) +(let (($x232 (or $x6 $x228))) +(let (($x234 (and $x233 $x232))) +(let ((@x250 (monotonicity (monotonicity (rewrite (= $x215 $x51)) (= $x228 (or $x51 $x224))) (= $x232 (or $x6 (or $x51 $x224)))))) +(let ((@x255 (trans @x250 (rewrite (= (or $x6 (or $x51 $x224)) $x251)) (= $x232 $x251)))) +(let (($x171 (forall ((?v0 |$Nat|) )(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +)) +(let ((?x8 (|$of_nat| ?v0))) +(let (($x51 (<= ?x8 1))) +(let (($x52 (not $x51))) +(let (($x62 (and $x52 $x59))) +(let (($x6 (|$prime_nat| ?v0))) +(= $x6 $x62)))))))) +)) +(let ((@x231 (|nnf-neg| (refl (|~| $x215 $x215)) (sk (|~| $x225 $x224)) (|~| (not $x62) $x228)))) +(let ((@x214 (monotonicity (refl (|~| $x52 $x52)) (|nnf-pos| (refl (|~| $x56 $x56)) (|~| $x59 $x59)) (|~| $x62 $x62)))) +(let ((@x236 (|nnf-pos| (refl (|~| $x6 $x6)) (refl (|~| $x204 $x204)) @x214 @x231 (|~| (= $x6 $x62) $x234)))) +(let (($x68 (forall ((?v0 |$Nat|) )(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x13 (= ?v1 ?x12))) +(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +)) +(let ((?x8 (|$of_nat| ?v0))) +(let (($x51 (<= ?x8 1))) +(let (($x52 (not $x51))) +(let (($x62 (and $x52 $x59))) +(let (($x6 (|$prime_nat| ?v0))) +(= $x6 $x62)))))))) +)) +(let ((@x173 (|quant-intro| (rewrite (= (= $x6 $x62) (= $x6 $x62))) (= $x68 $x171)))) +(let (($x20 (forall ((?v0 |$Nat|) )(let (($x17 (forall ((?v1 |$Nat|) )(let (($x11 (|$dvd| ?v1 ?v0))) +(=> $x11 (or (= ?v1 (|$nat| 1)) (= ?v1 ?v0))))) +)) +(let (($x6 (|$prime_nat| ?v0))) +(= $x6 (and (< 1 (|$of_nat| ?v0)) $x17))))) +)) +(let (($x65 (= $x6 $x62))) +(let (($x17 (forall ((?v1 |$Nat|) )(let (($x11 (|$dvd| ?v1 ?0))) +(=> $x11 (or (= ?v1 (|$nat| 1)) (= ?v1 ?0))))) +)) +(let ((@x61 (|quant-intro| (rewrite (= (=> (|$dvd| ?0 ?1) (or $x13 (= ?0 ?1))) $x56)) (= $x17 $x59)))) +(let ((@x64 (monotonicity (rewrite (= (< 1 ?x8) $x52)) @x61 (= (and (< 1 ?x8) $x17) $x62)))) +(let ((@x70 (|quant-intro| (monotonicity @x64 (= (= $x6 (and (< 1 ?x8) $x17)) $x65)) (= $x20 $x68)))) +(let ((@x176 (mp (mp (mp (asserted $x20) @x70 $x68) (|rewrite*| (= $x68 $x68)) $x68) @x173 $x171))) +(let ((@x241 (mp (|mp~| @x176 (|nnf-pos| @x236 (|~| $x171 $x237)) $x237) (|quant-intro| (monotonicity @x255 (= $x234 $x256)) (= $x237 $x259)) $x259))) +(let ((@x691 ((_ |quant-inst| (|$nat| ?x72)) (or (not $x742) (not (or $x707 (not (or $x78 $x384 (not $x703))))))))) +(let ((@x572 (|unit-resolution| @x691 (mp (mp @x241 (|quant-intro| @x293 (= $x259 $x294)) $x294) @x744 $x742) (not (or $x707 (not (or $x78 $x384 (not $x703)))))))) +(let ((@x573 (|unit-resolution| (|def-axiom| (or (or $x707 (not (or $x78 $x384 (not $x703)))) $x374)) @x572 $x374))) +(let (($x28 (<= 1 ?x23))) +(let (($x29 (=> (|$prime_nat| (|$nat| (+ ?x24 1))) $x28))) +(let (($x30 (not $x29))) +(let ((@x77 (monotonicity (rewrite (= (+ ?x24 1) ?x72)) (= (|$nat| (+ ?x24 1)) ?x75)))) +(let ((@x85 (monotonicity (monotonicity @x77 (= (|$prime_nat| (|$nat| (+ ?x24 1))) $x78)) (rewrite (= $x28 $x28)) (= $x29 (=> $x78 $x28))))) +(let ((@x91 (trans @x85 (rewrite (= (=> $x78 $x28) (or $x86 $x28))) (= $x29 (or $x86 $x28))))) +(let ((@x95 (mp (asserted $x30) (monotonicity @x91 (= $x30 (not (or $x86 $x28)))) (not (or $x86 $x28))))) +(let ((@x575 (|unit-resolution| (|def-axiom| (or $x707 $x86 $x373)) (mp (|not-or-elim| @x95 $x78) (|rewrite*| (= $x78 $x78)) $x78) (or $x707 $x373)))) +(let ((@x577 (|unit-resolution| (|def-axiom| (or (or $x384 (not $x705)) (not $x384))) (|unit-resolution| @x575 @x573 $x373) (not $x384)))) +(let ((@x534 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not (<= ?x299 0)) $x384)) @x577 (not (<= ?x299 0))))) +(let ((@x565 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x299 0)) (<= ?x299 0))) @x534 (not (= ?x299 0))))) +(let (($x579 (= ?x299 0))) +(let (($x581 (or $x614 $x579))) +(let (($x760 (forall ((?v0 Int) )(!(let (($x43 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x178 (>= ?v0 0))) +(or $x178 $x43))) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x192 (forall ((?v0 Int) )(let (($x43 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x178 (>= ?v0 0))) +(or $x178 $x43)))) +)) +(let (($x43 (= (|$of_nat| (|$nat| ?0)) 0))) +(let (($x178 (>= ?0 0))) +(let (($x189 (or $x178 $x43))) +(let (($x125 (forall ((?v0 Int) )(let (($x43 (= (|$of_nat| (|$nat| ?v0)) 0))) +(let (($x36 (<= 0 ?v0))) +(or $x36 $x43)))) +)) +(let ((@x191 (monotonicity (rewrite (= (<= 0 ?0) $x178)) (= (or (<= 0 ?0) $x43) $x189)))) +(let (($x45 (forall ((?v0 Int) )(let (($x43 (= (|$of_nat| (|$nat| ?v0)) 0))) +(=> (< ?v0 0) $x43))) +)) +(let ((@x122 (rewrite (= (=> (not (<= 0 ?0)) $x43) (or (<= 0 ?0) $x43))))) +(let ((@x115 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (not (<= 0 ?0)) (not (<= 0 ?0)))))) +(let ((@x116 (trans (rewrite (= (< ?0 0) (not (<= 0 ?0)))) @x115 (= (< ?0 0) (not (<= 0 ?0)))))) +(let ((@x119 (monotonicity @x116 (= (=> (< ?0 0) $x43) (=> (not (<= 0 ?0)) $x43))))) +(let ((@x124 (trans @x119 @x122 (= (=> (< ?0 0) $x43) (or (<= 0 ?0) $x43))))) +(let ((@x143 (mp (mp (asserted $x45) (|quant-intro| @x124 (= $x45 $x125)) $x125) (|rewrite*| (= $x125 $x125)) $x125))) +(let ((@x275 (|mp~| (mp @x143 (|quant-intro| @x191 (= $x125 $x192)) $x192) (|nnf-pos| (refl (|~| $x189 $x189)) (|~| $x192 $x192)) $x192))) +(let (($x584 (not $x760))) +(let (($x585 (or $x584 $x614 $x579))) +(let ((@x583 (monotonicity (rewrite (= (>= ?x72 0) $x614)) (= (or (>= ?x72 0) $x579) $x581)))) +(let ((@x559 (monotonicity @x583 (= (or $x584 (or (>= ?x72 0) $x579)) (or $x584 $x581))))) +(let ((@x568 (trans @x559 (rewrite (= (or $x584 $x581) $x585)) (= (or $x584 (or (>= ?x72 0) $x579)) $x585)))) +(let ((@x533 (|unit-resolution| (mp ((_ |quant-inst| (+ 1 ?x24)) (or $x584 (or (>= ?x72 0) $x579))) @x568 $x585) (mp @x275 (|quant-intro| (refl (= $x189 $x189)) (= $x192 $x760)) $x760) $x581))) +(let (($x617 (not $x614))) +(let (($x604 (or $x617 $x601))) +(let (($x754 (forall ((?v0 Int) )(!(let (($x39 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x39)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x185 (forall ((?v0 Int) )(let (($x39 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x39))) +)) +(let (($x39 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x182 (or (not $x178) $x39))) +(let (($x108 (forall ((?v0 Int) )(let (($x39 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x36 (<= 0 ?v0))) +(let (($x103 (not $x36))) +(or $x103 $x39))))) +)) +(let ((@x181 (monotonicity (rewrite (= (<= 0 ?0) $x178)) (= (not (<= 0 ?0)) (not $x178))))) +(let ((@x187 (|quant-intro| (monotonicity @x181 (= (or (not (<= 0 ?0)) $x39) $x182)) (= $x108 $x185)))) +(let (($x41 (forall ((?v0 Int) )(let (($x39 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x36 (<= 0 ?v0))) +(=> $x36 $x39)))) +)) +(let ((@x106 (rewrite (= (=> (<= 0 ?0) $x39) (or (not (<= 0 ?0)) $x39))))) +(let ((@x102 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x39) (=> (<= 0 ?0) $x39))))) +(let ((@x107 (trans @x102 @x106 (= (=> (<= 0 ?0) $x39) (or (not (<= 0 ?0)) $x39))))) +(let ((@x140 (mp (mp (asserted $x41) (|quant-intro| @x107 (= $x41 $x108)) $x108) (|rewrite*| (= $x108 $x108)) $x108))) +(let ((@x270 (|mp~| (mp @x140 @x187 $x185) (|nnf-pos| (refl (|~| $x182 $x182)) (|~| $x185 $x185)) $x185))) +(let (($x607 (not $x754))) +(let (($x608 (or $x607 $x617 $x601))) +(let (($x609 (or $x607 (or (not (>= ?x72 0)) (= ?x299 ?x72))))) +(let ((@x598 (monotonicity (rewrite (= (>= ?x72 0) $x614)) (= (not (>= ?x72 0)) $x617)))) +(let ((@x606 (monotonicity @x598 (rewrite (= (= ?x299 ?x72) $x601)) (= (or (not (>= ?x72 0)) (= ?x299 ?x72)) $x604)))) +(let ((@x594 (trans (monotonicity @x606 (= $x609 (or $x607 $x604))) (rewrite (= (or $x607 $x604) $x608)) (= $x609 $x608)))) +(let ((@x498 (|unit-resolution| (mp ((_ |quant-inst| (+ 1 ?x24)) $x609) @x594 $x608) (mp @x270 (|quant-intro| (refl (= $x182 $x182)) (= $x185 $x754)) $x754) $x604))) +(let ((@x542 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x601) (>= (+ ?x24 (* (~ 1) ?x299)) (~ 1)))) (|unit-resolution| @x498 (|unit-resolution| @x533 @x565 $x614) $x601) (>= (+ ?x24 (* (~ 1) ?x299)) (~ 1))))) +(let ((@x201 (monotonicity (rewrite (= $x28 (>= ?x23 1))) (= (not $x28) (not (>= ?x23 1)))))) +(let (($x97 (not $x28))) +(let ((@x152 (mp (mp (|not-or-elim| @x95 $x97) (|rewrite*| (= $x97 $x97)) $x97) (monotonicity (rewrite (= $x28 $x28)) (= $x97 $x97)) $x97))) +(let ((@x153 (mp @x152 (monotonicity (rewrite (= $x28 $x28)) (= $x97 $x97)) $x97))) +((_ |th-lemma| arith farkas -4 1 1) (mp @x153 @x201 (not (>= ?x23 1))) @x577 @x542 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +0d59d2e2a5050359aa00d734af5ae9b8e43235b6 20 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x17 (= |$x| |$a|))) +(let ((?x14 (|$fst| (|$pair| |$x| |$y|)))) +(let (($x16 (= ?x14 |$a|))) +(let ((@x28 (monotonicity (rewrite (= (=> $x16 $x17) (or (not $x16) $x17))) (= (not (=> $x16 $x17)) (not (or (not $x16) $x17)))))) +(let ((@x30 (|not-or-elim| (mp (asserted (not (=> $x16 $x17))) @x28 (not (or (not $x16) $x17))) $x16))) +(let (($x484 (forall ((?v0 |$A|) (?v1 |$B|) )(!(= (|$fst| (|$pair| ?v0 ?v1)) ?v0) :pattern ( (|$pair| ?v0 ?v1) ))) +)) +(let (($x10 (forall ((?v0 |$A|) (?v1 |$B|) )(= (|$fst| (|$pair| ?v0 ?v1)) ?v0)) +)) +(let (($x9 (= (|$fst| (|$pair| ?1 ?0)) ?1))) +(let ((@x61 (|mp~| (mp (asserted $x10) (|rewrite*| (= $x10 $x10)) $x10) (|nnf-pos| (refl (|~| $x9 $x9)) (|~| $x10 $x10)) $x10))) +(let ((@x153 (|unit-resolution| ((_ |quant-inst| |$x| |$y|) (or (not $x484) (= ?x14 |$x|))) (mp @x61 (|quant-intro| (refl (= $x9 $x9)) (= $x10 $x484)) $x484) (= ?x14 |$x|)))) +(let ((@x156 (trans (symm @x153 (= |$x| ?x14)) (mp @x30 (|rewrite*| (= $x16 $x16)) $x16) $x17))) +(let (($x31 (not $x17))) +(let ((@x32 (|not-or-elim| (mp (asserted (not (=> $x16 $x17))) @x28 (not (or (not $x16) $x17))) $x31))) +(|unit-resolution| (mp @x32 (|rewrite*| (= $x31 $x31)) $x31) @x156 false)))))))))))))))) + +9499a084f782f96b329870eecf982225513179cd 32 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x33 (|$snda| |$p2|))) +(let ((?x32 (|$fsta| |$p1|))) +(let (($x34 (= ?x32 ?x33))) +(let (($x30 (= |$p2| (|$pair| |$y| |$x|)))) +(let (($x27 (= |$p1| (|$paira| |$x| |$y|)))) +(let (($x31 (and $x27 $x30))) +(let ((@x48 (monotonicity (rewrite (= (=> $x31 $x34) (or (not $x31) $x34))) (= (not (=> $x31 $x34)) (not (or (not $x31) $x34)))))) +(let ((@x50 (|not-or-elim| (mp (asserted (not (=> $x31 $x34))) @x48 (not (or (not $x31) $x34))) $x31))) +(let ((@x531 (monotonicity (mp (|and-elim| @x50 $x30) (|rewrite*| (= $x30 $x30)) $x30) (= ?x33 (|$snda| (|$pair| |$y| |$x|)))))) +(let (($x552 (forall ((?v0 |$B|) (?v1 |$A|) )(!(= (|$snda| (|$pair| ?v0 ?v1)) ?v1) :pattern ( (|$pair| ?v0 ?v1) ))) +)) +(let (($x22 (forall ((?v0 |$B|) (?v1 |$A|) )(= (|$snda| (|$pair| ?v0 ?v1)) ?v1)) +)) +(let (($x21 (= (|$snda| (|$pair| ?1 ?0)) ?0))) +(let ((@x114 (|mp~| (mp (asserted $x22) (|rewrite*| (= $x22 $x22)) $x22) (|nnf-pos| (refl (|~| $x21 $x21)) (|~| $x22 $x22)) $x22))) +(let ((@x520 (|unit-resolution| ((_ |quant-inst| |$y| |$x|) (or (not $x552) (= (|$snda| (|$pair| |$y| |$x|)) |$x|))) (mp @x114 (|quant-intro| (refl (= $x21 $x21)) (= $x22 $x552)) $x552) (= (|$snda| (|$pair| |$y| |$x|)) |$x|)))) +(let (($x540 (forall ((?v0 |$A|) (?v1 |$B|) )(!(= (|$fsta| (|$paira| ?v0 ?v1)) ?v0) :pattern ( (|$paira| ?v0 ?v1) ))) +)) +(let (($x16 (forall ((?v0 |$A|) (?v1 |$B|) )(= (|$fsta| (|$paira| ?v0 ?v1)) ?v0)) +)) +(let (($x15 (= (|$fsta| (|$paira| ?1 ?0)) ?1))) +(let ((@x106 (|mp~| (mp (asserted $x16) (|rewrite*| (= $x16 $x16)) $x16) (|nnf-pos| (refl (|~| $x15 $x15)) (|~| $x16 $x16)) $x16))) +(let ((@x192 (|unit-resolution| ((_ |quant-inst| |$x| |$y|) (or (not $x540) (= (|$fsta| (|$paira| |$x| |$y|)) |$x|))) (mp @x106 (|quant-intro| (refl (= $x15 $x15)) (= $x16 $x540)) $x540) (= (|$fsta| (|$paira| |$x| |$y|)) |$x|)))) +(let ((@x529 (monotonicity (mp (|and-elim| @x50 $x27) (|rewrite*| (= $x27 $x27)) $x27) (= ?x32 (|$fsta| (|$paira| |$x| |$y|)))))) +(let ((@x507 (trans (trans @x529 @x192 (= ?x32 |$x|)) (symm @x520 (= |$x| (|$snda| (|$pair| |$y| |$x|)))) (= ?x32 (|$snda| (|$pair| |$y| |$x|)))))) +(let (($x53 (not $x34))) +(let ((@x54 (|not-or-elim| (mp (asserted (not (=> $x31 $x34))) @x48 (not (or (not $x31) $x34))) $x53))) +(|unit-resolution| (mp @x54 (|rewrite*| (= $x53 $x53)) $x53) (trans @x507 (symm @x531 (= (|$snda| (|$pair| |$y| |$x|)) ?x33)) $x34) false)))))))))))))))))))))))))) + +59c048bf2a7d60122a476dc3f13a0fb43ee841cc 42 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x41 (|$fun_appb| (|$fun_upd| (|$fun_appa| (|$fun_appb| (|$fun_upd| |$f|) |$i1|) |$v1|)) |$i2|))) +(let ((?x44 (|$fun_app| (|$fun_appa| ?x41 |$v2|) |$i|))) +(let (($x46 (= ?x44 (|$fun_app| |$f| |$i|)))) +(let ((?x39 (|$fun_appa| (|$fun_appb| (|$fun_upd| |$f|) |$i1|) |$v1|))) +(let ((?x209 (|$fun_app| ?x39 |$i|))) +(let (($x217 (= ?x209 (|$fun_app| |$f| |$i|)))) +(let (($x29 (= |$i| |$i1|))) +(let (($x496 (ite $x29 (= ?x209 |$v1|) $x217))) +(let (($x543 (forall ((?v0 |$A_b_fun|) (?v1 |$A|) (?v2 |$B|) (?v3 |$A|) )(!(let ((?x21 (|$fun_app| (|$fun_appa| (|$fun_appb| (|$fun_upd| ?v0) ?v1) ?v2) ?v3))) +(ite (= ?v3 ?v1) (= ?x21 ?v2) (= ?x21 (|$fun_app| ?v0 ?v3)))) :pattern ( (|$fun_app| (|$fun_appa| (|$fun_appb| (|$fun_upd| ?v0) ?v1) ?v2) ?v3) ))) +)) +(let (($x114 (forall ((?v0 |$A_b_fun|) (?v1 |$A|) (?v2 |$B|) (?v3 |$A|) )(let ((?x21 (|$fun_app| (|$fun_appa| (|$fun_appb| (|$fun_upd| ?v0) ?v1) ?v2) ?v3))) +(ite (= ?v3 ?v1) (= ?x21 ?v2) (= ?x21 (|$fun_app| ?v0 ?v3))))) +)) +(let ((?x21 (|$fun_app| (|$fun_appa| (|$fun_appb| (|$fun_upd| ?3) ?2) ?1) ?0))) +(let (($x111 (ite (= ?0 ?2) (= ?x21 ?1) (= ?x21 (|$fun_app| ?3 ?0))))) +(let (($x26 (forall ((?v0 |$A_b_fun|) (?v1 |$A|) (?v2 |$B|) (?v3 |$A|) )(let ((?x21 (|$fun_app| (|$fun_appa| (|$fun_appb| (|$fun_upd| ?v0) ?v1) ?v2) ?v3))) +(= ?x21 (ite (= ?v3 ?v1) ?v2 (|$fun_app| ?v0 ?v3))))) +)) +(let ((@x113 (rewrite (= (= ?x21 (ite (= ?0 ?2) ?1 (|$fun_app| ?3 ?0))) $x111)))) +(let (($x25 (= ?x21 (ite (= ?0 ?2) ?1 (|$fun_app| ?3 ?0))))) +(let ((@x100 (|mp~| (mp (asserted $x26) (|rewrite*| (= $x26 $x26)) $x26) (|nnf-pos| (refl (|~| $x25 $x25)) (|~| $x26 $x26)) $x26))) +(let ((@x548 (mp (mp @x100 (|quant-intro| @x113 (= $x26 $x114)) $x114) (|quant-intro| (refl (= $x111 $x111)) (= $x114 $x543)) $x543))) +(let (($x30 (not $x29))) +(let (($x32 (= |$i| |$i2|))) +(let (($x33 (not $x32))) +(let (($x34 (and $x30 $x33))) +(let ((@x58 (monotonicity (rewrite (= (=> $x34 $x46) (or (not $x34) $x46))) (= (not (=> $x34 $x46)) (not (or (not $x34) $x46)))))) +(let ((@x60 (|not-or-elim| (mp (asserted (not (=> $x34 $x46))) @x58 (not (or (not $x34) $x46))) $x34))) +(let ((@x333 (|unit-resolution| (|def-axiom| (or (not $x496) $x29 $x217)) (mp (|and-elim| @x60 $x30) (|rewrite*| (= $x30 $x30)) $x30) (or (not $x496) $x217)))) +(let ((@x334 (|unit-resolution| @x333 (|unit-resolution| ((_ |quant-inst| |$f| |$i1| |$v1| |$i|) (or (not $x543) $x496)) @x548 $x496) $x217))) +(let (($x212 (= ?x44 ?x209))) +(let (($x191 (ite $x32 (= ?x44 |$v2|) $x212))) +(let ((@x478 (|unit-resolution| (|def-axiom| (or (not $x191) $x32 $x212)) (mp (|and-elim| @x60 $x33) (|rewrite*| (= $x33 $x33)) $x33) (or (not $x191) $x212)))) +(let ((@x479 (|unit-resolution| @x478 (|unit-resolution| ((_ |quant-inst| (|$fun_appa| (|$fun_appb| (|$fun_upd| |$f|) |$i1|) |$v1|) |$i2| |$v2| |$i|) (or (not $x543) $x191)) @x548 $x191) $x212))) +(let (($x63 (not $x46))) +(let ((@x64 (|not-or-elim| (mp (asserted (not (=> $x34 $x46))) @x58 (not (or (not $x34) $x46))) $x63))) +(|unit-resolution| (mp @x64 (|rewrite*| (= $x63 $x63)) $x63) (trans @x479 @x334 $x46) false)))))))))))))))))))))))))))))))))) + +cd391af480e0c3d271f0cc3c384ce7ec49007dc1 19 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x8 (|$fun_app| |$g| |$x|))) +(let (($x7 (|$f| |$g| |$x|))) +(let (($x33 (not $x7))) +(let (($x34 (= $x33 $x8))) +(let ((@x49 (monotonicity (rewrite (= (= $x8 true) $x8)) (= (not (= $x8 true)) (not $x8))))) +(let (($x10 (= $x7 (and $x8 true)))) +(let (($x15 (not (or $x10 (or (= $x7 true) (= $x8 true)))))) +(let ((@x20 (|not-or-elim| (asserted $x15) (not (or (= $x7 true) (= $x8 true)))))) +(let ((@x54 (|iff-false| (mp (|not-or-elim| @x20 (not (= $x8 true))) @x49 (not $x8)) (= $x8 false)))) +(let ((@x43 (monotonicity (rewrite (= (= $x7 true) $x7)) (= (not (= $x7 true)) $x33)))) +(let ((@x52 (|iff-true| (mp (|not-or-elim| @x20 (not (= $x7 true))) @x43 $x33) (= $x33 true)))) +(let ((@x61 (trans (monotonicity @x52 @x54 (= $x34 (= true false))) (rewrite (= (= true false) false)) (= $x34 false)))) +(let ((@x29 (monotonicity (rewrite (= (and $x8 true) $x8)) (= $x10 (= $x7 $x8))))) +(let ((@x38 (trans (monotonicity @x29 (= (not $x10) (not (= $x7 $x8)))) (rewrite (= (not (= $x7 $x8)) $x34)) (= (not $x10) $x34)))) +(mp (mp (|not-or-elim| (asserted $x15) (not $x10)) @x38 $x34) @x61 false))))))))))))))))) + +0f8c0159c699f2cb74fa9820bbc085e92721cc1f 12 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x7 (exists ((?v0 |$A|) )(|$g| ?v0)) +)) +(let (($x10 (=> (|$f| (ite $x7 true false)) true))) +(let (($x11 (not $x10))) +(let ((@x17 (monotonicity (rewrite (= (ite $x7 true false) $x7)) (= (|$f| (ite $x7 true false)) (|$f| $x7))))) +(let ((@x24 (trans (monotonicity @x17 (= $x10 (=> (|$f| $x7) true))) (rewrite (= (=> (|$f| $x7) true) true)) (= $x10 true)))) +(let ((@x31 (trans (monotonicity @x24 (= $x11 (not true))) (rewrite (= (not true) false)) (= $x11 false)))) +(mp (asserted $x11) @x31 false))))))))) + +95cc63a79c38eed3aaee760e83b303db4eacd1c3 12 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x7 (forall ((?v0 |$A|) )(|$g| ?v0)) +)) +(let (($x10 (=> (|$f| (ite $x7 true false)) true))) +(let (($x11 (not $x10))) +(let ((@x17 (monotonicity (rewrite (= (ite $x7 true false) $x7)) (= (|$f| (ite $x7 true false)) (|$f| $x7))))) +(let ((@x24 (trans (monotonicity @x17 (= $x10 (=> (|$f| $x7) true))) (rewrite (= (=> (|$f| $x7) true) true)) (= $x10 true)))) +(let ((@x31 (trans (monotonicity @x24 (= $x11 (not true))) (rewrite (= (not true) false)) (= $x11 false)))) +(mp (asserted $x11) @x31 false))))))))) + +1dea09df2cf0a146c1ac7bb23a8e5ccad1c8522d 43 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x19 (|$fun_app| (|$fun_appa| |$le| 3) 42))) +(let (($x33 (not $x19))) +(let (($x15 (= |$le| |$uu|))) +(let ((@x30 (monotonicity (rewrite (= (=> $x15 $x19) (or (not $x15) $x19))) (= (not (=> $x15 $x19)) (not (or (not $x15) $x19)))))) +(let ((@x32 (|not-or-elim| (mp (asserted (not (=> $x15 $x19))) @x30 (not (or (not $x15) $x19))) $x15))) +(let ((@x487 (monotonicity (symm (mp @x32 (|rewrite*| (= $x15 $x15)) $x15) (= |$uu| |$le|)) (= (|$fun_appa| |$uu| 3) (|$fun_appa| |$le| 3))))) +(let ((@x489 (symm (monotonicity @x487 (= (|$fun_app| (|$fun_appa| |$uu| 3) 42) $x19)) (= $x19 (|$fun_app| (|$fun_appa| |$uu| 3) 42))))) +(let ((@x477 (monotonicity @x489 (= $x33 (not (|$fun_app| (|$fun_appa| |$uu| 3) 42)))))) +(let ((@x34 (|not-or-elim| (mp (asserted (not (=> $x15 $x19))) @x30 (not (or (not $x15) $x19))) $x33))) +(let ((@x195 (mp (mp @x34 (|rewrite*| (= $x33 $x33)) $x33) @x477 (not (|$fun_app| (|$fun_appa| |$uu| 3) 42))))) +(let (($x174 (|$fun_app| (|$fun_appa| |$uu| 3) 42))) +(let (($x78 (forall ((?v0 Int) (?v1 Int) )(!(let (($x9 (|$fun_app| (|$fun_appa| |$uu| ?v0) ?v1))) +(= $x9 (<= (+ ?v0 (* (~ 1) ?v1)) 0))) :pattern ( (|$fun_app| (|$fun_appa| |$uu| ?v0) ?v1) ))) +)) +(let (($x9 (|$fun_app| (|$fun_appa| |$uu| ?1) ?0))) +(let (($x75 (= $x9 (<= (+ ?1 (* (~ 1) ?0)) 0)))) +(let (($x13 (forall ((?v0 Int) (?v1 Int) )(!(let (($x10 (<= ?v0 ?v1))) +(let (($x9 (|$fun_app| (|$fun_appa| |$uu| ?v0) ?v1))) +(= $x9 $x10))) :pattern ( (|$fun_app| (|$fun_appa| |$uu| ?v0) ?v1) ))) +)) +(let (($x66 (forall ((?v0 Int) (?v1 Int) )(!(let (($x10 (<= ?v0 ?v1))) +(let (($x9 (|$fun_app| (|$fun_appa| |$uu| ?v0) ?v1))) +(= $x9 $x10))) :pattern ( (|$fun_app| (|$fun_appa| |$uu| ?v0) ?v1) ))) +)) +(let ((@x77 (monotonicity (rewrite (= (<= ?1 ?0) (<= (+ ?1 (* (~ 1) ?0)) 0))) (= (= $x9 (<= ?1 ?0)) $x75)))) +(let ((@x68 (|quant-intro| (rewrite (= (= $x9 (<= ?1 ?0)) (= $x9 (<= ?1 ?0)))) (= $x13 $x66)))) +(let ((@x83 (mp (mp (asserted $x13) (|rewrite*| (= $x13 $x13)) $x13) (trans @x68 (|quant-intro| @x77 (= $x66 $x78)) (= $x13 $x78)) $x78))) +(let (($x140 (or (not $x78) $x174))) +(let (($x143 (= (or (not $x78) (= $x174 (<= (+ 3 (* (~ 1) 42)) 0))) $x140))) +(let ((?x176 (+ 3 (* (~ 1) 42)))) +(let (($x166 (<= ?x176 0))) +(let (($x177 (= $x174 $x166))) +(let ((@x495 (monotonicity (rewrite (= (* (~ 1) 42) (~ 42))) (= ?x176 (+ 3 (~ 42)))))) +(let ((@x498 (monotonicity (trans @x495 (rewrite (= (+ 3 (~ 42)) (~ 39))) (= ?x176 (~ 39))) (= $x166 (<= (~ 39) 0))))) +(let ((@x502 (trans @x498 (rewrite (= (<= (~ 39) 0) true)) (= $x166 true)))) +(let ((@x137 (trans (monotonicity @x502 (= $x177 (= $x174 true))) (rewrite (= (= $x174 true) $x174)) (= $x177 $x174)))) +(let ((@x483 (mp ((_ |quant-inst| 3 42) (or (not $x78) $x177)) (trans (monotonicity @x137 $x143) (rewrite (= $x140 $x140)) $x143) $x140))) +(let ((@x484 (|unit-resolution| @x483 (|mp~| @x83 (|nnf-pos| (refl (|~| $x75 $x75)) (|~| $x78 $x78)) $x78) $x174))) +(|unit-resolution| @x484 @x195 false))))))))))))))))))))))))))))))))) + +1e6464a8407a2a74a0364e3a44847cf73870c006 143 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x37 (|$nat| 2))) +(let ((?x38 (|$cons| ?x37 |$nil|))) +(let ((?x32 (|$nat| 1))) +(let ((?x39 (|$cons| ?x32 ?x38))) +(let ((?x33 (|$cons| ?x32 |$nil|))) +(let ((?x285 (|$map| |$uu| ?x33))) +(let ((?x31 (|$nat| 0))) +(let ((?x284 (|$fun_app| |$uu| ?x31))) +(let ((?x286 (|$cons| ?x284 ?x285))) +(let (($x619 (forall ((?v0 |$Nat_nat_fun|) (?v1 |$Nat|) (?v2 |$Nat_list|) )(!(= (|$map| ?v0 (|$cons| ?v1 ?v2)) (|$cons| (|$fun_app| ?v0 ?v1) (|$map| ?v0 ?v2))) :pattern ( (|$map| ?v0 (|$cons| ?v1 ?v2)) ) :pattern ( (|$cons| (|$fun_app| ?v0 ?v1) (|$map| ?v0 ?v2)) ))) +)) +(let (($x29 (forall ((?v0 |$Nat_nat_fun|) (?v1 |$Nat|) (?v2 |$Nat_list|) )(= (|$map| ?v0 (|$cons| ?v1 ?v2)) (|$cons| (|$fun_app| ?v0 ?v1) (|$map| ?v0 ?v2)))) +)) +(let (($x28 (= (|$map| ?2 (|$cons| ?1 ?0)) (|$cons| (|$fun_app| ?2 ?1) (|$map| ?2 ?0))))) +(let ((@x179 (|mp~| (mp (asserted $x29) (|rewrite*| (= $x29 $x29)) $x29) (|nnf-pos| (refl (|~| $x28 $x28)) (|~| $x29 $x29)) $x29))) +(let (($x545 (or (not $x619) (= ?x285 (|$cons| (|$fun_app| |$uu| ?x32) (|$map| |$uu| |$nil|)))))) +(let ((@x378 (|unit-resolution| ((_ |quant-inst| |$uu| (|$nat| 1) |$nil|) $x545) (mp @x179 (|quant-intro| (refl (= $x28 $x28)) (= $x29 $x619)) $x619) (= ?x285 (|$cons| (|$fun_app| |$uu| ?x32) (|$map| |$uu| |$nil|)))))) +(let ((@x335 (symm @x378 (= (|$cons| (|$fun_app| |$uu| ?x32) (|$map| |$uu| |$nil|)) ?x285)))) +(let (($x611 (forall ((?v0 |$Nat_nat_fun|) )(!(= (|$map| ?v0 |$nil|) |$nil|) :pattern ( (|$map| ?v0 |$nil|) ))) +)) +(let (($x19 (forall ((?v0 |$Nat_nat_fun|) )(= (|$map| ?v0 |$nil|) |$nil|)) +)) +(let ((@x613 (refl (= (= (|$map| ?0 |$nil|) |$nil|) (= (|$map| ?0 |$nil|) |$nil|))))) +(let ((@x171 (refl (|~| (= (|$map| ?0 |$nil|) |$nil|) (= (|$map| ?0 |$nil|) |$nil|))))) +(let ((@x170 (|mp~| (mp (asserted $x19) (|rewrite*| (= $x19 $x19)) $x19) (|nnf-pos| @x171 (|~| $x19 $x19)) $x19))) +(let ((@x379 (|unit-resolution| ((_ |quant-inst| |$uu|) (or (not $x611) (= (|$map| |$uu| |$nil|) |$nil|))) (mp @x170 (|quant-intro| @x613 (= $x19 $x611)) $x611) (= (|$map| |$uu| |$nil|) |$nil|)))) +(let (($x72 (forall ((?v0 |$Nat|) )(!(let ((?x7 (|$fun_app| |$uu| ?v0))) +(= ?x7 (|$nat| (+ 1 (|$of_nat| ?v0))))) :pattern ( (|$fun_app| |$uu| ?v0) ))) +)) +(let ((?x7 (|$fun_app| |$uu| ?0))) +(let (($x69 (= ?x7 (|$nat| (+ 1 (|$of_nat| ?0)))))) +(let (($x14 (forall ((?v0 |$Nat|) )(!(let ((?x7 (|$fun_app| |$uu| ?v0))) +(= ?x7 (|$nat| (+ (|$of_nat| ?v0) 1)))) :pattern ( (|$fun_app| |$uu| ?v0) ))) +)) +(let ((@x68 (monotonicity (rewrite (= (+ (|$of_nat| ?0) 1) (+ 1 (|$of_nat| ?0)))) (= (|$nat| (+ (|$of_nat| ?0) 1)) (|$nat| (+ 1 (|$of_nat| ?0))))))) +(let ((@x71 (monotonicity @x68 (= (= ?x7 (|$nat| (+ (|$of_nat| ?0) 1))) $x69)))) +(let ((@x108 (mp (mp (asserted $x14) (|quant-intro| @x71 (= $x14 $x72)) $x72) (|rewrite*| (= $x72 $x72)) $x72))) +(let (($x515 (or (not $x72) (= (|$fun_app| |$uu| ?x32) (|$nat| (+ 1 (|$of_nat| ?x32))))))) +(let ((@x225 (|unit-resolution| ((_ |quant-inst| (|$nat| 1)) $x515) (|mp~| @x108 (|nnf-pos| (refl (|~| $x69 $x69)) (|~| $x72 $x72)) $x72) (= (|$fun_app| |$uu| ?x32) (|$nat| (+ 1 (|$of_nat| ?x32))))))) +(let ((?x302 (|$of_nat| ?x32))) +(let ((?x537 (+ 1 ?x302))) +(let ((?x538 (|$nat| ?x537))) +(let (($x626 (forall ((?v0 |$Nat|) )(!(= (|$nat| (|$of_nat| ?v0)) ?v0) :pattern ( (|$of_nat| ?v0) ))) +)) +(let (($x44 (forall ((?v0 |$Nat|) )(= (|$nat| (|$of_nat| ?v0)) ?v0)) +)) +(let ((@x631 (trans (rewrite (= $x44 $x626)) (rewrite (= $x626 $x626)) (= $x44 $x626)))) +(let ((@x180 (refl (|~| (= (|$nat| (|$of_nat| ?0)) ?0) (= (|$nat| (|$of_nat| ?0)) ?0))))) +(let ((@x184 (|mp~| (mp (asserted $x44) (|rewrite*| (= $x44 $x44)) $x44) (|nnf-pos| @x180 (|~| $x44 $x44)) $x44))) +(let ((@x384 (|unit-resolution| ((_ |quant-inst| (|$nat| ?x537)) (or (not $x626) (= (|$nat| (|$of_nat| ?x538)) ?x538))) (mp @x184 @x631 $x626) (= (|$nat| (|$of_nat| ?x538)) ?x538)))) +(let ((?x431 (+ ?x302 (* (~ 1) (|$of_nat| ?x538))))) +(let (($x399 (= ?x431 (~ 1)))) +(let (($x469 (>= ?x302 (~ 1)))) +(let (($x463 (>= ?x302 1))) +(let (($x303 (= ?x302 1))) +(let (($x634 (forall ((?v0 Int) )(!(let (($x49 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x49)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x155 (forall ((?v0 Int) )(let (($x49 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x49))) +)) +(let (($x49 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x152 (or (not (>= ?0 0)) $x49))) +(let (($x85 (forall ((?v0 Int) )(let (($x49 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (<= 0 ?v0)) $x49))) +)) +(let ((@x151 (monotonicity (rewrite (= (<= 0 ?0) (>= ?0 0))) (= (not (<= 0 ?0)) (not (>= ?0 0)))))) +(let ((@x157 (|quant-intro| (monotonicity @x151 (= (or (not (<= 0 ?0)) $x49) $x152)) (= $x85 $x155)))) +(let (($x51 (forall ((?v0 Int) )(let (($x49 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x46 (<= 0 ?v0))) +(=> $x46 $x49)))) +)) +(let ((@x83 (rewrite (= (=> (<= 0 ?0) $x49) (or (not (<= 0 ?0)) $x49))))) +(let ((@x79 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x49) (=> (<= 0 ?0) $x49))))) +(let ((@x84 (trans @x79 @x83 (= (=> (<= 0 ?0) $x49) (or (not (<= 0 ?0)) $x49))))) +(let ((@x123 (mp (mp (asserted $x51) (|quant-intro| @x84 (= $x51 $x85)) $x85) (|rewrite*| (= $x85 $x85)) $x85))) +(let ((@x189 (|mp~| (mp @x123 @x157 $x155) (|nnf-pos| (refl (|~| $x152 $x152)) (|~| $x155 $x155)) $x155))) +(let ((@x639 (mp @x189 (|quant-intro| (refl (= $x152 $x152)) (= $x155 $x634)) $x634))) +(let (($x248 (not $x634))) +(let (($x292 (or $x248 $x303))) +(let ((@x578 (monotonicity (rewrite (= (>= 1 0) true)) (= (not (>= 1 0)) (not true))))) +(let ((@x310 (trans @x578 (rewrite (= (not true) false)) (= (not (>= 1 0)) false)))) +(let ((@x581 (monotonicity @x310 (= (or (not (>= 1 0)) $x303) (or false $x303))))) +(let ((@x291 (trans @x581 (rewrite (= (or false $x303) $x303)) (= (or (not (>= 1 0)) $x303) $x303)))) +(let ((@x573 (monotonicity @x291 (= (or $x248 (or (not (>= 1 0)) $x303)) $x292)))) +(let ((@x576 (trans @x573 (rewrite (= $x292 $x292)) (= (or $x248 (or (not (>= 1 0)) $x303)) $x292)))) +(let ((@x562 (mp ((_ |quant-inst| 1) (or $x248 (or (not (>= 1 0)) $x303))) @x576 $x292))) +(let ((@x372 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x303) $x463)) (|unit-resolution| @x562 @x639 $x303) $x463))) +(let (($x472 (not $x469))) +(let (($x430 (or $x248 $x472 $x399))) +(let (($x432 (or $x248 (or (not (>= ?x537 0)) (= (|$of_nat| ?x538) ?x537))))) +(let (($x461 (= (or (not (>= ?x537 0)) (= (|$of_nat| ?x538) ?x537)) (or $x472 $x399)))) +(let ((@x474 (monotonicity (rewrite (= (>= ?x537 0) $x469)) (= (not (>= ?x537 0)) $x472)))) +(let ((@x436 (monotonicity (monotonicity @x474 (rewrite (= (= (|$of_nat| ?x538) ?x537) $x399)) $x461) (= $x432 (or $x248 (or $x472 $x399)))))) +(let ((@x441 (trans @x436 (rewrite (= (or $x248 (or $x472 $x399)) $x430)) (= $x432 $x430)))) +(let ((@x364 (|unit-resolution| (mp ((_ |quant-inst| (+ 1 ?x302)) $x432) @x441 $x430) @x639 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x463) $x469)) @x372 $x469) $x399))) +(let ((@x370 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x399) (<= ?x431 (~ 1)))) @x364 (<= ?x431 (~ 1))))) +(let ((@x351 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x399) (>= ?x431 (~ 1)))) @x364 (>= ?x431 (~ 1))))) +(let ((@x356 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x303) (<= ?x302 1))) (|unit-resolution| @x562 @x639 $x303) (<= ?x302 1)))) +(let ((@x363 (symm ((_ |th-lemma| arith eq-propagate -1 -1 1 1) @x372 @x356 @x351 @x370 (= (|$of_nat| ?x538) 2)) (= 2 (|$of_nat| ?x538))))) +(let ((@x348 (trans (monotonicity @x363 (= ?x37 (|$nat| (|$of_nat| ?x538)))) @x384 (= ?x37 ?x538)))) +(let ((@x350 (trans @x348 (symm @x225 (= ?x538 (|$fun_app| |$uu| ?x32))) (= ?x37 (|$fun_app| |$uu| ?x32))))) +(let ((@x333 (monotonicity @x350 (symm @x379 (= |$nil| (|$map| |$uu| |$nil|))) (= ?x38 (|$cons| (|$fun_app| |$uu| ?x32) (|$map| |$uu| |$nil|)))))) +(let ((@x338 (|unit-resolution| ((_ |quant-inst| (|$nat| 0)) (or (not $x72) (= ?x284 (|$nat| (+ 1 (|$of_nat| ?x31)))))) (|mp~| @x108 (|nnf-pos| (refl (|~| $x69 $x69)) (|~| $x72 $x72)) $x72) (= ?x284 (|$nat| (+ 1 (|$of_nat| ?x31))))))) +(let ((?x598 (|$of_nat| ?x31))) +(let ((?x543 (+ 1 ?x598))) +(let ((?x544 (|$nat| ?x543))) +(let ((@x339 (|unit-resolution| ((_ |quant-inst| (|$nat| ?x543)) (or (not $x626) (= (|$nat| (|$of_nat| ?x544)) ?x544))) (mp @x184 @x631 $x626) (= (|$nat| (|$of_nat| ?x544)) ?x544)))) +(let ((?x517 (|$of_nat| ?x544))) +(let ((?x512 (+ ?x517 (* (~ 1) ?x598)))) +(let (($x513 (= ?x512 1))) +(let (($x520 (>= ?x598 (~ 1)))) +(let (($x523 (>= ?x598 0))) +(let (($x270 (= ?x598 0))) +(let (($x249 (or $x248 $x270))) +(let ((@x608 (monotonicity (rewrite (= (>= 0 0) true)) (= (not (>= 0 0)) (not true))))) +(let ((@x262 (trans @x608 (rewrite (= (not true) false)) (= (not (>= 0 0)) false)))) +(let ((@x601 (monotonicity @x262 (= (or (not (>= 0 0)) $x270) (or false $x270))))) +(let ((@x247 (trans @x601 (rewrite (= (or false $x270) $x270)) (= (or (not (>= 0 0)) $x270) $x270)))) +(let ((@x589 (monotonicity @x247 (= (or $x248 (or (not (>= 0 0)) $x270)) $x249)))) +(let ((@x592 (trans @x589 (rewrite (= $x249 $x249)) (= (or $x248 (or (not (>= 0 0)) $x270)) $x249)))) +(let ((@x229 (mp ((_ |quant-inst| 0) (or $x248 (or (not (>= 0 0)) $x270))) @x592 $x249))) +(let ((@x344 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x270) $x523)) (|unit-resolution| @x229 @x639 $x270) $x523))) +(let (($x508 (not $x520))) +(let (($x498 (or $x248 $x508 $x513))) +(let (($x499 (or $x248 (or (not (>= ?x543 0)) (= ?x517 ?x543))))) +(let ((@x510 (monotonicity (rewrite (= (>= ?x543 0) $x520)) (= (not (>= ?x543 0)) $x508)))) +(let ((@x497 (monotonicity @x510 (rewrite (= (= ?x517 ?x543) $x513)) (= (or (not (>= ?x543 0)) (= ?x517 ?x543)) (or $x508 $x513))))) +(let ((@x507 (trans (monotonicity @x497 (= $x499 (or $x248 (or $x508 $x513)))) (rewrite (= (or $x248 (or $x508 $x513)) $x498)) (= $x499 $x498)))) +(let ((@x325 (|unit-resolution| (mp ((_ |quant-inst| (+ 1 ?x598)) $x499) @x507 $x498) @x639 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x523) $x520)) @x344 $x520) $x513))) +(let ((@x329 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x513) (<= ?x512 1))) @x325 (<= ?x512 1)))) +(let ((@x316 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x513) (>= ?x512 1))) @x325 (>= ?x512 1)))) +(let ((@x319 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x270) (<= ?x598 0))) (|unit-resolution| @x229 @x639 $x270) (<= ?x598 0)))) +(let ((@x311 (monotonicity (symm ((_ |th-lemma| arith eq-propagate -1 -1 -1 -1) @x344 @x319 @x316 @x329 (= ?x517 1)) (= 1 ?x517)) (= ?x32 (|$nat| ?x517))))) +(let ((@x294 (trans (trans @x311 @x339 (= ?x32 ?x544)) (symm @x338 (= ?x544 ?x284)) (= ?x32 ?x284)))) +(let ((@x300 (symm (monotonicity @x294 (trans @x333 @x335 (= ?x38 ?x285)) (= ?x39 ?x286)) (= ?x286 ?x39)))) +(let ((@x295 (|unit-resolution| ((_ |quant-inst| |$uu| (|$nat| 0) (|$cons| ?x32 |$nil|)) (or (not $x619) (= (|$map| |$uu| (|$cons| ?x31 ?x33)) ?x286))) (mp @x179 (|quant-intro| (refl (= $x28 $x28)) (= $x29 $x619)) $x619) (= (|$map| |$uu| (|$cons| ?x31 ?x33)) ?x286)))) +(let (($x41 (not (= (|$map| |$uu| (|$cons| ?x31 ?x33)) ?x39)))) +(|unit-resolution| (mp (asserted $x41) (|rewrite*| (= $x41 $x41)) $x41) (trans @x295 @x300 (= (|$map| |$uu| (|$cons| ?x31 ?x33)) ?x39)) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +80d9ca4e8920b44a5c1bad34695b60f3988a5d38 7 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x7 (forall ((?v0 |$A|) )(|$p| ?v0)) +)) +(|unit-resolution| (|not-or-elim| (asserted (not (or $x7 (not $x7)))) (not $x7)) (|not-or-elim| (asserted (not (or $x7 (not $x7)))) $x7) false)))) + +2110aa6b6a5a6839fd1a76b987a3dec58880070c 147 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x24 (|$nat| 6))) +(let ((?x17 (|$nat| 4))) +(let ((?x18 (|$dec_10| ?x17))) +(let ((?x19 (|$of_nat| ?x18))) +(let ((?x20 (* 4 ?x19))) +(let ((?x21 (|$nat| ?x20))) +(let ((?x22 (|$dec_10| ?x21))) +(let ((?x496 (|$dec_10| ?x24))) +(let (($x456 (= ?x496 ?x24))) +(let ((?x522 (|$of_nat| ?x24))) +(let (($x495 (>= ?x522 10))) +(let (($x484 (ite $x495 (= ?x496 (|$dec_10| (|$nat| (+ (~ 10) ?x522)))) $x456))) +(let (($x637 (forall ((?v0 |$Nat|) )(!(let ((?x7 (|$of_nat| ?v0))) +(let (($x160 (>= ?x7 10))) +(ite $x160 (= (|$dec_10| ?v0) (|$dec_10| (|$nat| (+ (~ 10) ?x7)))) (= (|$dec_10| ?v0) ?v0)))) :pattern ( (|$of_nat| ?v0) ) :pattern ( (|$dec_10| ?v0) ))) +)) +(let (($x216 (forall ((?v0 |$Nat|) )(let ((?x7 (|$of_nat| ?v0))) +(let (($x160 (>= ?x7 10))) +(ite $x160 (= (|$dec_10| ?v0) (|$dec_10| (|$nat| (+ (~ 10) ?x7)))) (= (|$dec_10| ?v0) ?v0))))) +)) +(let ((?x7 (|$of_nat| ?0))) +(let (($x160 (>= ?x7 10))) +(let (($x213 (ite $x160 (= (|$dec_10| ?0) (|$dec_10| (|$nat| (+ (~ 10) ?x7)))) (= (|$dec_10| ?0) ?0)))) +(let (($x168 (forall ((?v0 |$Nat|) )(let ((?x77 (|$dec_10| (|$nat| (+ (~ 10) (|$of_nat| ?v0)))))) +(let ((?x7 (|$of_nat| ?v0))) +(let (($x160 (>= ?x7 10))) +(let ((?x6 (|$dec_10| ?v0))) +(= ?x6 (ite $x160 ?x77 ?v0))))))) +)) +(let ((?x6 (|$dec_10| ?0))) +(let (($x165 (= ?x6 (ite $x160 (|$dec_10| (|$nat| (+ (~ 10) ?x7))) ?0)))) +(let (($x91 (forall ((?v0 |$Nat|) )(let ((?x77 (|$dec_10| (|$nat| (+ (~ 10) (|$of_nat| ?v0)))))) +(let ((?x7 (|$of_nat| ?v0))) +(let (($x47 (<= 10 ?x7))) +(let ((?x83 (ite $x47 ?x77 ?v0))) +(let ((?x6 (|$dec_10| ?v0))) +(= ?x6 ?x83))))))) +)) +(let ((?x77 (|$dec_10| (|$nat| (+ (~ 10) ?x7))))) +(let (($x47 (<= 10 ?x7))) +(let ((?x83 (ite $x47 ?x77 ?0))) +(let (($x88 (= ?x6 ?x83))) +(let ((@x167 (monotonicity (monotonicity (rewrite (= $x47 $x160)) (= ?x83 (ite $x160 ?x77 ?0))) (= $x88 $x165)))) +(let (($x15 (forall ((?v0 |$Nat|) )(let ((?x13 (ite (< (|$of_nat| ?v0) 10) ?v0 (|$dec_10| (|$nat| (- (|$of_nat| ?v0) 10)))))) +(let ((?x6 (|$dec_10| ?v0))) +(= ?x6 ?x13)))) +)) +(let (($x89 (= (= ?x6 (ite (< ?x7 10) ?0 (|$dec_10| (|$nat| (- ?x7 10))))) $x88))) +(let ((?x13 (ite (< ?x7 10) ?0 (|$dec_10| (|$nat| (- ?x7 10)))))) +(let ((@x66 (monotonicity (rewrite (= (* (~ 1) 10) (~ 10))) (= (+ ?x7 (* (~ 1) 10)) (+ ?x7 (~ 10)))))) +(let ((@x71 (trans @x66 (rewrite (= (+ ?x7 (~ 10)) (+ (~ 10) ?x7))) (= (+ ?x7 (* (~ 1) 10)) (+ (~ 10) ?x7))))) +(let ((@x73 (trans (rewrite (= (- ?x7 10) (+ ?x7 (* (~ 1) 10)))) @x71 (= (- ?x7 10) (+ (~ 10) ?x7))))) +(let ((@x79 (monotonicity (monotonicity @x73 (= (|$nat| (- ?x7 10)) (|$nat| (+ (~ 10) ?x7)))) (= (|$dec_10| (|$nat| (- ?x7 10))) ?x77)))) +(let ((@x55 (trans (rewrite (= (< ?x7 10) (not $x47))) (monotonicity (rewrite (= $x47 $x47)) (= (not $x47) (not $x47))) (= (< ?x7 10) (not $x47))))) +(let ((@x87 (trans (monotonicity @x55 @x79 (= ?x13 (ite (not $x47) ?0 ?x77))) (rewrite (= (ite (not $x47) ?0 ?x77) ?x83)) (= ?x13 ?x83)))) +(let ((@x94 (mp (asserted $x15) (|quant-intro| (monotonicity @x87 $x89) (= $x15 $x91)) $x91))) +(let ((@x171 (mp (mp @x94 (|rewrite*| (= $x91 $x91)) $x91) (|quant-intro| @x167 (= $x91 $x168)) $x168))) +(let ((@x219 (mp (|mp~| @x171 (|nnf-pos| (refl (|~| $x165 $x165)) (|~| $x168 $x168)) $x168) (|quant-intro| (rewrite (= $x165 $x213)) (= $x168 $x216)) $x216))) +(let ((@x642 (mp @x219 (|quant-intro| (refl (= $x213 $x213)) (= $x216 $x637)) $x637))) +(let (($x485 (<= ?x522 6))) +(let (($x523 (= ?x522 6))) +(let (($x651 (forall ((?v0 Int) )(!(let (($x35 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x35)) :pattern ( (|$nat| ?v0) ))) +)) +(let (($x181 (forall ((?v0 Int) )(let (($x35 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (>= ?v0 0)) $x35))) +)) +(let (($x35 (= (|$of_nat| (|$nat| ?0)) ?0))) +(let (($x178 (or (not (>= ?0 0)) $x35))) +(let (($x104 (forall ((?v0 Int) )(let (($x35 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(or (not (<= 0 ?v0)) $x35))) +)) +(let ((@x177 (monotonicity (rewrite (= (<= 0 ?0) (>= ?0 0))) (= (not (<= 0 ?0)) (not (>= ?0 0)))))) +(let ((@x183 (|quant-intro| (monotonicity @x177 (= (or (not (<= 0 ?0)) $x35) $x178)) (= $x104 $x181)))) +(let (($x37 (forall ((?v0 Int) )(let (($x35 (= (|$of_nat| (|$nat| ?v0)) ?v0))) +(let (($x32 (<= 0 ?v0))) +(=> $x32 $x35)))) +)) +(let ((@x102 (rewrite (= (=> (<= 0 ?0) $x35) (or (not (<= 0 ?0)) $x35))))) +(let ((@x98 (monotonicity (rewrite (= (<= 0 ?0) (<= 0 ?0))) (= (=> (<= 0 ?0) $x35) (=> (<= 0 ?0) $x35))))) +(let ((@x103 (trans @x98 @x102 (= (=> (<= 0 ?0) $x35) (or (not (<= 0 ?0)) $x35))))) +(let ((@x136 (mp (mp (asserted $x37) (|quant-intro| @x103 (= $x37 $x104)) $x104) (|rewrite*| (= $x104 $x104)) $x104))) +(let ((@x205 (|mp~| (mp @x136 @x183 $x181) (|nnf-pos| (refl (|~| $x178 $x178)) (|~| $x181 $x181)) $x181))) +(let ((@x656 (mp @x205 (|quant-intro| (refl (= $x178 $x178)) (= $x181 $x651)) $x651))) +(let (($x579 (not $x651))) +(let (($x515 (or $x579 $x523))) +(let ((@x528 (monotonicity (rewrite (= (>= 6 0) true)) (= (not (>= 6 0)) (not true))))) +(let ((@x530 (trans @x528 (rewrite (= (not true) false)) (= (not (>= 6 0)) false)))) +(let ((@x510 (monotonicity @x530 (= (or (not (>= 6 0)) $x523) (or false $x523))))) +(let ((@x514 (trans @x510 (rewrite (= (or false $x523) $x523)) (= (or (not (>= 6 0)) $x523) $x523)))) +(let ((@x500 (monotonicity @x514 (= (or $x579 (or (not (>= 6 0)) $x523)) $x515)))) +(let ((@x503 (trans @x500 (rewrite (= $x515 $x515)) (= (or $x579 (or (not (>= 6 0)) $x523)) $x515)))) +(let ((@x504 (mp ((_ |quant-inst| 6) (or $x579 (or (not (>= 6 0)) $x523))) @x503 $x515))) +(let ((@x450 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x523) $x485)) (|unit-resolution| @x504 @x656 $x523) $x485))) +(let ((@x419 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x485) (not $x495))) @x450 (not $x495)))) +(let ((@x421 (|unit-resolution| (|def-axiom| (or (not $x484) $x495 $x456)) @x419 (|unit-resolution| ((_ |quant-inst| (|$nat| 6)) (or (not $x637) $x484)) @x642 $x484) $x456))) +(let (($x273 (= ?x18 ?x17))) +(let ((?x624 (|$of_nat| ?x17))) +(let (($x287 (>= ?x624 10))) +(let (($x274 (ite $x287 (= ?x18 (|$dec_10| (|$nat| (+ (~ 10) ?x624)))) $x273))) +(let (($x415 (<= ?x624 4))) +(let (($x598 (= ?x624 4))) +(let (($x580 (or $x579 $x598))) +(let ((@x589 (monotonicity (rewrite (= (>= 4 0) true)) (= (not (>= 4 0)) (not true))))) +(let ((@x593 (trans @x589 (rewrite (= (not true) false)) (= (not (>= 4 0)) false)))) +(let ((@x433 (monotonicity @x593 (= (or (not (>= 4 0)) $x598) (or false $x598))))) +(let ((@x578 (trans @x433 (rewrite (= (or false $x598) $x598)) (= (or (not (>= 4 0)) $x598) $x598)))) +(let ((@x584 (monotonicity @x578 (= (or $x579 (or (not (>= 4 0)) $x598)) $x580)))) +(let ((@x412 (trans @x584 (rewrite (= $x580 $x580)) (= (or $x579 (or (not (>= 4 0)) $x598)) $x580)))) +(let ((@x414 (mp ((_ |quant-inst| 4) (or $x579 (or (not (>= 4 0)) $x598))) @x412 $x580))) +(let ((@x428 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x598) $x415)) (|unit-resolution| @x414 @x656 $x598) $x415))) +(let ((@x432 (|unit-resolution| ((_ |th-lemma| arith farkas 1 1) (or (not $x415) (not $x287))) @x428 (not $x287)))) +(let ((@x402 (|unit-resolution| (|def-axiom| (or (not $x274) $x287 $x273)) @x432 (|unit-resolution| ((_ |quant-inst| (|$nat| 4)) (or (not $x637) $x274)) @x642 $x274) $x273))) +(let ((@x408 ((_ |th-lemma| arith triangle-eq) (or (not (= ?x19 ?x624)) (<= (+ ?x19 (* (~ 1) ?x624)) 0))))) +(let ((@x251 (|unit-resolution| @x408 (monotonicity @x402 (= ?x19 ?x624)) (<= (+ ?x19 (* (~ 1) ?x624)) 0)))) +(let (($x492 (>= (+ ?x19 (* (~ 1) ?x624)) 0))) +(let ((@x411 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x19 ?x624)) $x492)) (monotonicity @x402 (= ?x19 ?x624)) $x492))) +(let (($x571 (>= ?x624 4))) +(let ((@x397 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x598) $x571)) (|unit-resolution| @x414 @x656 $x598) $x571))) +(let ((?x475 (+ ?x20 (* (~ 1) (|$of_nat| ?x21))))) +(let (($x552 (<= ?x475 0))) +(let (($x473 (= ?x475 0))) +(let (($x567 (>= ?x19 0))) +(let ((@x389 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x567 (not $x571) (not $x492))) @x397 @x411 $x567))) +(let (($x469 (not $x567))) +(let (($x568 (or $x469 $x473))) +(let (($x557 (or $x579 $x469 $x473))) +(let (($x558 (or $x579 (or (not (>= ?x20 0)) (= (|$of_nat| ?x21) ?x20))))) +(let ((@x463 (monotonicity (rewrite (= (>= ?x20 0) $x567)) (= (not (>= ?x20 0)) $x469)))) +(let ((@x570 (monotonicity @x463 (rewrite (= (= (|$of_nat| ?x21) ?x20) $x473)) (= (or (not (>= ?x20 0)) (= (|$of_nat| ?x21) ?x20)) $x568)))) +(let ((@x563 (trans (monotonicity @x570 (= $x558 (or $x579 $x568))) (rewrite (= (or $x579 $x568) $x557)) (= $x558 $x557)))) +(let ((@x393 (|unit-resolution| (|unit-resolution| (mp ((_ |quant-inst| (* 4 ?x19)) $x558) @x563 $x557) @x656 $x568) @x389 $x473))) +(let ((@x380 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x473) (>= ?x475 0))) @x393 (>= ?x475 0)))) +(let ((@x382 ((_ |th-lemma| arith eq-propagate 1 1 -4 -4 -4 -4) @x380 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x473) $x552)) @x393 $x552) @x397 @x428 @x411 @x251 (= (+ (~ 10) (|$of_nat| ?x21)) 6)))) +(let ((@x374 (monotonicity (monotonicity @x382 (= (|$nat| (+ (~ 10) (|$of_nat| ?x21))) ?x24)) (= (|$dec_10| (|$nat| (+ (~ 10) (|$of_nat| ?x21)))) ?x496)))) +(let (($x328 (= ?x22 (|$dec_10| (|$nat| (+ (~ 10) (|$of_nat| ?x21))))))) +(let ((?x275 (|$of_nat| ?x21))) +(let (($x611 (>= ?x275 10))) +(let (($x330 (ite $x611 $x328 (= ?x22 ?x21)))) +(let ((@x371 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 4 4) (or $x611 (not $x552) (not $x571) (not $x492))) @x397 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x473) $x552)) @x393 $x552) @x411 $x611))) +(let ((@x372 (|unit-resolution| (|def-axiom| (or (not $x330) (not $x611) $x328)) @x371 (|unit-resolution| ((_ |quant-inst| (|$nat| ?x20)) (or (not $x637) $x330)) @x642 $x330) $x328))) +(let (($x26 (not (= ?x22 ?x24)))) +(|unit-resolution| (mp (asserted $x26) (|rewrite*| (= $x26 $x26)) $x26) (trans (trans @x372 @x374 (= ?x22 ?x496)) @x421 (= ?x22 ?x24)) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +be3717834fa67273b146b9ecf6b175dc9f573a89 795 0 +unsat +((set-logic ) +(proof +(let ((?x43 (|$eval_dioph| |$ks| (|$map| |$uu| |$xs|)))) +(let ((?x1186 (+ |$l| ?x43))) +(let ((?x1223 (mod ?x1186 2))) +(let ((@x272 (|true-axiom| true))) +(let ((@x1481 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= ?x1223 2)))) @x272 (not (>= ?x1223 2))))) +(let (($x508 (<= (+ (|$mod| ?x43 2) (* (~ 1) (|$mod| |$l| 2))) 0))) +(let ((?x45 (|$mod| |$l| 2))) +(let ((?x44 (|$mod| ?x43 2))) +(let (($x46 (= ?x44 ?x45))) +(let ((?x39 (|$eval_dioph| |$ks| |$xs|))) +(let ((?x799 (|$mod| ?x39 2))) +(let (($x1108 (= ?x799 ?x45))) +(let (($x41 (= ?x39 |$l|))) +(let ((?x124 (* (~ 1) ?x43))) +(let ((?x125 (+ |$l| ?x124))) +(let ((?x128 (|$div| ?x125 2))) +(let ((?x48 (|$eval_dioph| |$ks| (|$map| |$uua| |$xs|)))) +(let (($x131 (= ?x48 ?x128))) +(let (($x402 (not $x131))) +(let (($x401 (not $x46))) +(let (($x403 (or $x401 $x402))) +(let (($x410 (= $x41 $x403))) +(let ((@x409 (monotonicity (rewrite (= (and $x46 $x131) (not $x403))) (= (= (not $x41) (and $x46 $x131)) (= (not $x41) (not $x403)))))) +(let ((@x414 (trans @x409 (rewrite (= (= (not $x41) (not $x403)) $x410)) (= (= (not $x41) (and $x46 $x131)) $x410)))) +(let (($x134 (and $x46 $x131))) +(let (($x143 (not $x41))) +(let (($x144 (= $x143 $x134))) +(let (($x54 (not (= $x41 (and $x46 (= ?x48 (|$div| (- |$l| ?x43) 2))))))) +(let (($x138 (= (= $x41 (and $x46 (= ?x48 (|$div| (- |$l| ?x43) 2)))) (= $x41 $x134)))) +(let ((@x130 (monotonicity (rewrite (= (- |$l| ?x43) ?x125)) (= (|$div| (- |$l| ?x43) 2) ?x128)))) +(let ((@x136 (monotonicity (monotonicity @x130 (= (= ?x48 (|$div| (- |$l| ?x43) 2)) $x131)) (= (and $x46 (= ?x48 (|$div| (- |$l| ?x43) 2))) $x134)))) +(let ((@x148 (trans (monotonicity (monotonicity @x136 $x138) (= $x54 (not (= $x41 $x134)))) (rewrite (= (not (= $x41 $x134)) $x144)) (= $x54 $x144)))) +(let ((@x896 (|unit-resolution| (|def-axiom| (or $x41 (not $x403) (not $x410))) (mp (mp (asserted $x54) @x148 $x144) @x414 $x410) (or $x41 (not $x403))))) +(let ((@x2104 (|unit-resolution| @x896 (|unit-resolution| (|def-axiom| (or $x403 $x46)) (hypothesis $x401) $x403) $x41))) +(let (($x966 (= ?x44 ?x799))) +(let (($x800 (= ?x799 ?x44))) +(let (($x902 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(!(= (|$mod| (|$eval_dioph| ?v0 ?v1) 2) (|$mod| (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)) 2)) :pattern ( (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)) ))) +)) +(let (($x30 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(= (|$mod| (|$eval_dioph| ?v0 ?v1) 2) (|$mod| (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)) 2))) +)) +(let (($x29 (= (|$mod| (|$eval_dioph| ?1 ?0) 2) (|$mod| (|$eval_dioph| ?1 (|$map| |$uu| ?0)) 2)))) +(let ((@x360 (|mp~| (asserted $x30) (|nnf-pos| (refl (|~| $x29 $x29)) (|~| $x30 $x30)) $x30))) +(let ((@x1107 (|unit-resolution| ((_ |quant-inst| |$ks| |$xs|) (or (not $x902) $x800)) (mp @x360 (|quant-intro| (refl (= $x29 $x29)) (= $x30 $x902)) $x902) $x800))) +(let ((@x2108 (|unit-resolution| (hypothesis $x401) (trans (symm @x1107 $x966) (monotonicity @x2104 $x1108) $x46) false))) +(let ((@x2109 (lemma @x2108 $x46))) +(let ((@x1106 (hypothesis $x46))) +(let ((@x1031 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x401 $x508)) @x1106 (hypothesis (not $x508)) false))) +(let ((@x2368 (|unit-resolution| (lemma @x1031 (or $x508 $x401)) @x2109 $x508))) +(let (($x514 (>= (+ ?x44 (* (~ 1) ?x45)) 0))) +(let ((@x976 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x401 $x514)) @x1106 (hypothesis (not $x514)) false))) +(let ((@x2064 (|unit-resolution| (lemma @x976 (or $x514 $x401)) @x2109 $x514))) +(let ((?x776 (* (~ 1) (mod |$l| 2)))) +(let ((?x777 (+ ?x45 ?x776))) +(let (($x717 (<= ?x777 0))) +(let (($x778 (= ?x777 0))) +(let ((?x660 (mod ?x43 2))) +(let (($x1724 (= ?x660 ?x1223))) +(let (($x1728 (not $x1724))) +(let (($x1699 (>= (+ ?x660 (* (~ 1) ?x1223)) 0))) +(let (($x1713 (not $x1699))) +(let (($x529 (>= (+ ?x48 (* (~ 1) ?x128)) 0))) +(let (($x891 (= ?x128 0))) +(let ((?x1017 (|$div| 0 2))) +(let (($x1018 (= ?x1017 0))) +(let (($x937 (forall ((?v0 Int) (?v1 Int) )(!(let (($x462 (= (+ (|$div| ?v0 ?v1) (* (~ 1) (div (* (~ 1) ?v0) (* (~ 1) ?v1)))) 0))) +(let (($x424 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x463 (ite $x424 (= (+ (|$div| ?v0 ?v1) (* (~ 1) (div ?v0 ?v1))) 0) $x462))) +(let (($x73 (= ?v1 0))) +(let (($x72 (= ?v0 0))) +(let (($x74 (or $x72 $x73))) +(ite $x74 (= (|$div| ?v0 ?v1) 0) $x463))))))) :pattern ( (|$div| ?v0 ?v1) ))) +)) +(let (($x467 (forall ((?v0 Int) (?v1 Int) )(let (($x462 (= (+ (|$div| ?v0 ?v1) (* (~ 1) (div (* (~ 1) ?v0) (* (~ 1) ?v1)))) 0))) +(let (($x424 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x463 (ite $x424 (= (+ (|$div| ?v0 ?v1) (* (~ 1) (div ?v0 ?v1))) 0) $x462))) +(let (($x73 (= ?v1 0))) +(let (($x72 (= ?v0 0))) +(let (($x74 (or $x72 $x73))) +(ite $x74 (= (|$div| ?v0 ?v1) 0) $x463)))))))) +)) +(let (($x462 (= (+ (|$div| ?1 ?0) (* (~ 1) (div (* (~ 1) ?1) (* (~ 1) ?0)))) 0))) +(let (($x424 (or (not (or (<= ?1 0) (<= ?0 0))) (not (or (>= ?1 0) (<= ?0 0)))))) +(let (($x463 (ite $x424 (= (+ (|$div| ?1 ?0) (* (~ 1) (div ?1 ?0))) 0) $x462))) +(let (($x73 (= ?0 0))) +(let (($x72 (= ?1 0))) +(let (($x74 (or $x72 $x73))) +(let (($x464 (ite $x74 (= (|$div| ?1 ?0) 0) $x463))) +(let (($x436 (forall ((?v0 Int) (?v1 Int) )(let ((?x209 (* (~ 1) ?v1))) +(let ((?x206 (* (~ 1) ?v0))) +(let ((?x212 (div ?x206 ?x209))) +(let ((?x81 (div ?v0 ?v1))) +(let (($x424 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x73 (= ?v1 0))) +(let (($x72 (= ?v0 0))) +(let (($x74 (or $x72 $x73))) +(let ((?x71 (|$div| ?v0 ?v1))) +(= ?x71 (ite $x74 0 (ite $x424 ?x81 ?x212))))))))))))) +)) +(let ((?x430 (ite $x74 0 (ite $x424 (div ?1 ?0) (div (* (~ 1) ?1) (* (~ 1) ?0)))))) +(let ((?x71 (|$div| ?1 ?0))) +(let (($x433 (= ?x71 ?x430))) +(let (($x338 (forall ((?v0 Int) (?v1 Int) )(let ((?x209 (* (~ 1) ?v1))) +(let ((?x206 (* (~ 1) ?v0))) +(let ((?x212 (div ?x206 ?x209))) +(let ((?x81 (div ?v0 ?v1))) +(let (($x184 (<= ?v1 0))) +(let (($x185 (not $x184))) +(let (($x323 (and (not (>= ?v0 0)) $x185))) +(let (($x188 (and (not (<= ?v0 0)) $x185))) +(let (($x326 (or $x188 $x323))) +(let ((?x329 (ite $x326 ?x81 ?x212))) +(let (($x73 (= ?v1 0))) +(let (($x72 (= ?v0 0))) +(let (($x74 (or $x72 $x73))) +(let ((?x332 (ite $x74 0 ?x329))) +(let ((?x71 (|$div| ?v0 ?v1))) +(= ?x71 ?x332))))))))))))))))) +)) +(let ((?x209 (* (~ 1) ?0))) +(let ((?x206 (* (~ 1) ?1))) +(let ((?x212 (div ?x206 ?x209))) +(let ((?x81 (div ?1 ?0))) +(let (($x184 (<= ?0 0))) +(let (($x185 (not $x184))) +(let (($x323 (and (not (>= ?1 0)) $x185))) +(let (($x188 (and (not (<= ?1 0)) $x185))) +(let (($x326 (or $x188 $x323))) +(let ((?x329 (ite $x326 ?x81 ?x212))) +(let ((?x332 (ite $x74 0 ?x329))) +(let (($x335 (= ?x71 ?x332))) +(let ((@x426 (monotonicity (rewrite (= $x188 (not (or (<= ?1 0) $x184)))) (rewrite (= $x323 (not (or (>= ?1 0) $x184)))) (= $x326 $x424)))) +(let ((@x432 (monotonicity (monotonicity @x426 (= ?x329 (ite $x424 ?x81 ?x212))) (= ?x332 ?x430)))) +(let (($x224 (forall ((?v0 Int) (?v1 Int) )(let ((?x209 (* (~ 1) ?v1))) +(let ((?x206 (* (~ 1) ?v0))) +(let ((?x212 (div ?x206 ?x209))) +(let ((?x81 (div ?v0 ?v1))) +(let (($x184 (<= ?v1 0))) +(let (($x185 (not $x184))) +(let (($x191 (<= 0 ?v0))) +(let (($x192 (not $x191))) +(let (($x200 (and $x192 $x185))) +(let (($x188 (and (not (<= ?v0 0)) $x185))) +(let (($x203 (or $x188 $x200))) +(let ((?x215 (ite $x203 ?x81 ?x212))) +(let (($x73 (= ?v1 0))) +(let (($x72 (= ?v0 0))) +(let (($x74 (or $x72 $x73))) +(let ((?x218 (ite $x74 0 ?x215))) +(let ((?x71 (|$div| ?v0 ?v1))) +(= ?x71 ?x218))))))))))))))))))) +)) +(let (($x191 (<= 0 ?1))) +(let (($x192 (not $x191))) +(let (($x200 (and $x192 $x185))) +(let (($x203 (or $x188 $x200))) +(let ((?x215 (ite $x203 ?x81 ?x212))) +(let ((?x218 (ite $x74 0 ?x215))) +(let (($x221 (= ?x71 ?x218))) +(let ((@x322 (monotonicity (rewrite (= $x191 (>= ?1 0))) (= $x192 (not (>= ?1 0)))))) +(let ((@x331 (monotonicity (monotonicity (monotonicity @x322 (= $x200 $x323)) (= $x203 $x326)) (= ?x215 ?x329)))) +(let ((@x340 (|quant-intro| (monotonicity (monotonicity @x331 (= ?x218 ?x332)) (= $x221 $x335)) (= $x224 $x338)))) +(let (($x88 (forall ((?v0 Int) (?v1 Int) )(let ((?x81 (div ?v0 ?v1))) +(let (($x80 (or (and (< 0 ?v0) (< 0 ?v1)) (and (< ?v0 0) (< 0 ?v1))))) +(let (($x73 (= ?v1 0))) +(let (($x72 (= ?v0 0))) +(let (($x74 (or $x72 $x73))) +(let ((?x71 (|$div| ?v0 ?v1))) +(= ?x71 (ite $x74 0 (ite $x80 ?x81 (div (- ?v0) (- ?v1)))))))))))) +)) +(let (($x80 (or (and (< 0 ?1) (< 0 ?0)) (and (< ?1 0) (< 0 ?0))))) +(let (($x222 (= (= ?x71 (ite $x74 0 (ite $x80 ?x81 (div (- ?1) (- ?0))))) $x221))) +(let ((@x214 (monotonicity (rewrite (= (- ?1) ?x206)) (rewrite (= (- ?0) ?x209)) (= (div (- ?1) (- ?0)) ?x212)))) +(let ((@x199 (trans (rewrite (= (< ?1 0) $x192)) (monotonicity (rewrite (= $x191 $x191)) (= $x192 $x192)) (= (< ?1 0) $x192)))) +(let ((@x202 (monotonicity @x199 (rewrite (= (< 0 ?0) $x185)) (= (and (< ?1 0) (< 0 ?0)) $x200)))) +(let ((@x190 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0 ?0) $x185)) (= (and (< 0 ?1) (< 0 ?0)) $x188)))) +(let ((@x217 (monotonicity (monotonicity @x190 @x202 (= $x80 $x203)) @x214 (= (ite $x80 ?x81 (div (- ?1) (- ?0))) ?x215)))) +(let ((@x220 (monotonicity @x217 (= (ite $x74 0 (ite $x80 ?x81 (div (- ?1) (- ?0)))) ?x218)))) +(let ((@x227 (mp (asserted $x88) (|quant-intro| (monotonicity @x220 $x222) (= $x88 $x224)) $x224))) +(let ((@x395 (|mp~| (mp @x227 @x340 $x338) (|nnf-pos| (refl (|~| $x335 $x335)) (|~| $x338 $x338)) $x338))) +(let ((@x439 (mp @x395 (|quant-intro| (monotonicity @x432 (= $x335 $x433)) (= $x338 $x436)) $x436))) +(let ((@x470 (mp @x439 (|quant-intro| (rewrite (= $x433 $x464)) (= $x436 $x467)) $x467))) +(let (($x841 (not $x937))) +(let (($x1199 (or $x841 $x1018))) +(let (($x892 (<= 2 0))) +(let (($x1027 (or (>= 0 0) $x892))) +(let (($x1029 (not $x1027))) +(let (($x1021 (or (<= 0 0) $x892))) +(let (($x990 (not $x1021))) +(let (($x1030 (or $x990 $x1029))) +(let (($x1268 (ite $x1030 (= (+ ?x1017 (* (~ 1) (div 0 2))) 0) (= (+ ?x1017 (* (~ 1) (div (* (~ 1) 0) (* (~ 1) 2)))) 0)))) +(let (($x553 (= 2 0))) +(let (($x968 (= 0 0))) +(let (($x1016 (or $x968 $x553))) +(let (($x1239 (ite $x1016 $x1018 $x1268))) +(let (($x1708 (= (= (+ ?x1017 (* (~ 1) (div (* (~ 1) 0) (* (~ 1) 2)))) 0) $x1018))) +(let ((?x994 (+ ?x1017 0))) +(let ((?x882 (* (~ 1) 2))) +(let ((?x1036 (* (~ 1) 0))) +(let ((?x996 (div ?x1036 ?x882))) +(let ((?x1645 (* (~ 1) ?x996))) +(let ((?x1202 (+ ?x1017 ?x1645))) +(let ((@x1884 (rewrite (= ?x1036 0)))) +(let ((@x700 (rewrite (= ?x882 (~ 2))))) +(let ((@x1042 (trans (monotonicity @x1884 @x700 (= ?x996 (div 0 (~ 2)))) (rewrite (= (div 0 (~ 2)) 0)) (= ?x996 0)))) +(let ((@x1784 (monotonicity (trans (monotonicity @x1042 (= ?x1645 ?x1036)) @x1884 (= ?x1645 0)) (= ?x1202 ?x994)))) +(let ((@x1649 (monotonicity (trans @x1784 (rewrite (= ?x994 ?x1017)) (= ?x1202 ?x1017)) $x1708))) +(let ((@x1717 (monotonicity (rewrite (= (div 0 2) 0)) (= (* (~ 1) (div 0 2)) ?x1036)))) +(let ((@x1361 (monotonicity (trans @x1717 @x1884 (= (* (~ 1) (div 0 2)) 0)) (= (+ ?x1017 (* (~ 1) (div 0 2))) ?x994)))) +(let ((@x951 (trans @x1361 (rewrite (= ?x994 ?x1017)) (= (+ ?x1017 (* (~ 1) (div 0 2))) ?x1017)))) +(let ((@x954 (monotonicity @x951 (= (= (+ ?x1017 (* (~ 1) (div 0 2))) 0) $x1018)))) +(let ((@x1737 (rewrite (= (or true false) true)))) +(let ((@x868 (rewrite (= $x892 false)))) +(let ((@x1742 (monotonicity (rewrite (= (>= 0 0) true)) @x868 (= $x1027 (or true false))))) +(let ((@x1747 (monotonicity (trans @x1742 @x1737 (= $x1027 true)) (= $x1029 (not true))))) +(let ((@x1872 (monotonicity (rewrite (= (<= 0 0) true)) @x868 (= $x1021 (or true false))))) +(let ((@x1933 (monotonicity (trans @x1872 @x1737 (= $x1021 true)) (= $x990 (not true))))) +(let ((@x1757 (monotonicity (trans @x1933 (rewrite (= (not true) false)) (= $x990 false)) (trans @x1747 (rewrite (= (not true) false)) (= $x1029 false)) (= $x1030 (or false false))))) +(let ((@x1420 (trans @x1757 (rewrite (= (or false false) false)) (= $x1030 false)))) +(let ((@x1939 (trans (monotonicity @x1420 @x954 @x1649 (= $x1268 (ite false $x1018 $x1018))) (rewrite (= (ite false $x1018 $x1018) $x1018)) (= $x1268 $x1018)))) +(let ((@x887 (rewrite (= $x553 false)))) +(let ((@x1881 (monotonicity (rewrite (= $x968 true)) @x887 (= $x1016 (or true false))))) +(let ((@x1916 (monotonicity (trans @x1881 @x1737 (= $x1016 true)) @x1939 (= $x1239 (ite true $x1018 $x1018))))) +(let ((@x1846 (trans @x1916 (rewrite (= (ite true $x1018 $x1018) $x1018)) (= $x1239 $x1018)))) +(let ((@x2007 (trans (monotonicity @x1846 (= (or $x841 $x1239) $x1199)) (rewrite (= $x1199 $x1199)) (= (or $x841 $x1239) $x1199)))) +(let ((@x2018 (|unit-resolution| (mp ((_ |quant-inst| 0 2) (or $x841 $x1239)) @x2007 $x1199) (mp @x470 (|quant-intro| (refl (= $x464 $x464)) (= $x467 $x937)) $x937) $x1018))) +(let (($x2019 (= ?x128 ?x1017))) +(let (($x890 (= ?x125 0))) +(let ((?x879 (+ ?x128 (* (~ 1) (div ?x125 2))))) +(let (($x880 (= ?x879 0))) +(let (($x815 (not $x880))) +(let (($x739 (<= ?x879 0))) +(let (($x1322 (not $x739))) +(let ((?x1234 (* (~ 1) ?x1223))) +(let ((?x1235 (+ |$l| ?x124 (* (~ 2) (div ?x125 2)) ?x1234))) +(let (($x1232 (= ?x1235 0))) +(let ((@x2333 (|unit-resolution| ((_ |th-lemma| arith) (or false $x1232)) @x272 (hypothesis (not $x1232)) false))) +(let ((@x2334 (lemma @x2333 $x1232))) +(let (($x1093 (not $x529))) +(let ((@x1909 (hypothesis $x1093))) +(let (($x1241 (>= ?x1235 0))) +(let (($x1321 (not $x1241))) +(let (($x518 (>= (+ ?x39 (* (~ 1) |$l|)) 0))) +(let ((@x1861 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x402 $x529)) (hypothesis $x131) @x1909 false))) +(let ((@x894 (|def-axiom| (or $x403 $x131)))) +(let ((@x2013 (|unit-resolution| @x894 (|unit-resolution| (lemma @x1861 (or $x402 $x529)) @x1909 $x402) $x403))) +(let ((@x2016 ((_ |th-lemma| arith triangle-eq) (or $x143 $x518)))) +(let ((@x2017 (|unit-resolution| @x2016 (|unit-resolution| @x896 @x2013 $x41) $x518))) +(let ((?x812 (+ ?x39 ?x124 (* (~ 2) ?x48)))) +(let (($x804 (<= ?x812 0))) +(let (($x813 (= ?x812 0))) +(let (($x909 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(!(let ((?x24 (|$eval_dioph| ?v0 ?v1))) +(let ((?x287 (+ ?x24 (* (~ 1) (|$eval_dioph| ?v0 (|$map| |$uu| ?v1))) (* (~ 2) (|$eval_dioph| ?v0 (|$map| |$uua| ?v1)))))) +(= ?x287 0))) :pattern ( (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)) ) :pattern ( (|$eval_dioph| ?v0 (|$map| |$uua| ?v1)) ))) +)) +(let (($x289 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(let ((?x24 (|$eval_dioph| ?v0 ?v1))) +(let ((?x287 (+ ?x24 (* (~ 1) (|$eval_dioph| ?v0 (|$map| |$uu| ?v1))) (* (~ 2) (|$eval_dioph| ?v0 (|$map| |$uua| ?v1)))))) +(= ?x287 0)))) +)) +(let ((?x24 (|$eval_dioph| ?1 ?0))) +(let ((?x287 (+ ?x24 (* (~ 1) (|$eval_dioph| ?1 (|$map| |$uu| ?0))) (* (~ 2) (|$eval_dioph| ?1 (|$map| |$uua| ?0)))))) +(let (($x283 (= ?x287 0))) +(let (($x119 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(let ((?x24 (|$eval_dioph| ?v0 ?v1))) +(let ((?x27 (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)))) +(let ((?x32 (|$eval_dioph| ?v0 (|$map| |$uua| ?v1)))) +(let ((?x110 (* 2 ?x32))) +(let ((?x113 (+ ?x110 ?x27))) +(= ?x113 ?x24))))))) +)) +(let (($x279 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(let ((?x24 (|$eval_dioph| ?v0 ?v1))) +(let ((?x32 (|$eval_dioph| ?v0 (|$map| |$uua| ?v1)))) +(let ((?x110 (* 2 ?x32))) +(let ((?x27 (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)))) +(= (+ ?x27 ?x110) ?x24)))))) +)) +(let ((?x32 (|$eval_dioph| ?1 (|$map| |$uua| ?0)))) +(let ((?x110 (* 2 ?x32))) +(let ((?x27 (|$eval_dioph| ?1 (|$map| |$uu| ?0)))) +(let (($x276 (= (+ ?x27 ?x110) ?x24))) +(let ((@x278 (monotonicity (rewrite (= (+ ?x110 ?x27) (+ ?x27 ?x110))) (= (= (+ ?x110 ?x27) ?x24) $x276)))) +(let ((@x293 (trans (|quant-intro| @x278 (= $x119 $x279)) (|quant-intro| (rewrite (= $x276 $x283)) (= $x279 $x289)) (= $x119 $x289)))) +(let (($x36 (forall ((?v0 |$Int_list|) (?v1 |$Nat_list|) )(let ((?x24 (|$eval_dioph| ?v0 ?v1))) +(let ((?x27 (|$eval_dioph| ?v0 (|$map| |$uu| ?v1)))) +(= (+ (* (|$eval_dioph| ?v0 (|$map| |$uua| ?v1)) 2) ?x27) ?x24)))) +)) +(let ((@x115 (monotonicity (rewrite (= (* ?x32 2) ?x110)) (= (+ (* ?x32 2) ?x27) (+ ?x110 ?x27))))) +(let ((@x118 (monotonicity @x115 (= (= (+ (* ?x32 2) ?x27) ?x24) (= (+ ?x110 ?x27) ?x24))))) +(let ((@x294 (mp (mp (asserted $x36) (|quant-intro| @x118 (= $x36 $x119)) $x119) @x293 $x289))) +(let ((@x914 (mp (|mp~| @x294 (|nnf-pos| (refl (|~| $x283 $x283)) (|~| $x289 $x289)) $x289) (|quant-intro| (refl (= $x283 $x283)) (= $x289 $x909)) $x909))) +(let ((@x2010 (|unit-resolution| ((_ |quant-inst| |$ks| |$xs|) (or (not $x909) $x813)) @x914 (hypothesis (not $x813)) false))) +(let ((@x964 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x813) $x804)) (lemma @x2010 $x813) $x804))) +(let (($x1263 (>= ?x1223 0))) +(let ((@x1309 (|unit-resolution| ((_ |th-lemma| arith) (or false $x1263)) @x272 $x1263))) +(let ((@x2355 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 2 1 2 1) (or $x1321 (not $x1263) $x1322 (not $x518) $x529 (not $x804))) @x1309 (hypothesis $x739) @x1909 @x964 @x2017 $x1321))) +(let ((@x1315 ((_ |th-lemma| arith triangle-eq) (or (not $x1232) $x1241)))) +(let ((@x2358 (lemma (|unit-resolution| @x1315 @x2355 (hypothesis $x1232) false) (or (not $x1232) $x1322 $x529)))) +(let ((@x1318 ((_ |th-lemma| arith triangle-eq) (or $x815 $x739)))) +(let (($x818 (not $x890))) +(let ((@x1352 (hypothesis $x818))) +(let (($x556 (<= ?x125 0))) +(let (($x538 (>= ?x125 0))) +(let (($x867 (not $x538))) +(let (($x580 (not $x556))) +(let (($x855 (or $x580 $x867))) +(let (($x736 (not $x855))) +(let (($x680 (ite $x855 $x880 (= (+ ?x128 (* (~ 1) (div (+ (* (~ 1) |$l|) ?x43) (~ 2)))) 0)))) +(let (($x838 (ite $x890 $x891 $x680))) +(let (($x842 (or $x841 $x838))) +(let (($x525 (ite (or (not (or $x556 $x892)) (not (or $x538 $x892))) $x880 (= (+ ?x128 (* (~ 1) (div (* (~ 1) ?x125) ?x882))) 0)))) +(let (($x554 (or $x890 $x553))) +(let (($x852 (= (= (+ ?x128 (* (~ 1) (div (* (~ 1) ?x125) ?x882))) 0) (= (+ ?x128 (* (~ 1) (div (+ (* (~ 1) |$l|) ?x43) (~ 2)))) 0)))) +(let (($x849 (= (+ ?x128 (* (~ 1) (div (* (~ 1) ?x125) ?x882))) (+ ?x128 (* (~ 1) (div (+ (* (~ 1) |$l|) ?x43) (~ 2))))))) +(let (($x846 (= (* (~ 1) (div (* (~ 1) ?x125) ?x882)) (* (~ 1) (div (+ (* (~ 1) |$l|) ?x43) (~ 2)))))) +(let ((@x844 (monotonicity (rewrite (= (* (~ 1) ?x125) (+ (* (~ 1) |$l|) ?x43))) @x700 (= (div (* (~ 1) ?x125) ?x882) (div (+ (* (~ 1) |$l|) ?x43) (~ 2)))))) +(let ((@x866 (trans (monotonicity @x868 (= (or $x538 $x892) (or $x538 false))) (rewrite (= (or $x538 false) $x538)) (= (or $x538 $x892) $x538)))) +(let ((@x873 (trans (monotonicity @x868 (= (or $x556 $x892) (or $x556 false))) (rewrite (= (or $x556 false) $x556)) (= (or $x556 $x892) $x556)))) +(let ((@x857 (monotonicity (monotonicity @x873 (= (not (or $x556 $x892)) $x580)) (monotonicity @x866 (= (not (or $x538 $x892)) $x867)) (= (or (not (or $x556 $x892)) (not (or $x538 $x892))) $x855)))) +(let ((@x837 (monotonicity @x857 (monotonicity (monotonicity (monotonicity @x844 $x846) $x849) $x852) (= $x525 $x680)))) +(let ((@x596 (trans (monotonicity @x887 (= $x554 (or $x890 false))) (rewrite (= (or $x890 false) $x890)) (= $x554 $x890)))) +(let ((@x684 (monotonicity (monotonicity @x596 @x837 (= (ite $x554 $x891 $x525) $x838)) (= (or $x841 (ite $x554 $x891 $x525)) $x842)))) +(let ((@x831 (trans @x684 (rewrite (= $x842 $x842)) (= (or $x841 (ite $x554 $x891 $x525)) $x842)))) +(let ((@x1080 (|unit-resolution| (mp ((_ |quant-inst| (+ |$l| ?x124) 2) (or $x841 (ite $x554 $x891 $x525))) @x831 $x842) (mp @x470 (|quant-intro| (refl (= $x464 $x464)) (= $x467 $x937)) $x937) $x838))) +(let ((@x1355 (|unit-resolution| (|def-axiom| (or (not $x680) $x736 $x880)) (|unit-resolution| (|def-axiom| (or (not $x838) $x890 $x680)) @x1352 @x1080 $x680) (hypothesis $x815) $x736))) +(let ((@x1195 ((_ |th-lemma| arith triangle-eq) (or $x890 $x580 $x867)))) +(let ((@x1358 (|unit-resolution| @x1195 (|unit-resolution| (|def-axiom| (or $x855 $x538)) @x1355 $x538) (|unit-resolution| (|def-axiom| (or $x855 $x556)) @x1355 $x556) @x1352 false))) +(let ((@x1360 (lemma @x1358 (or $x890 $x880)))) +(let ((@x2309 (|unit-resolution| @x1360 (|unit-resolution| @x1318 (|unit-resolution| @x2358 @x1909 @x2334 $x1322) $x815) $x890))) +(let (($x1126 (<= ?x128 0))) +(let (($x1135 (not $x1126))) +(let ((@x2310 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1/2 -1/2 1 1/2) (or $x1135 $x867 (not $x518) $x529 (not $x804))) @x2017 @x964 @x1909 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x818 $x538)) @x2309 $x538) $x1135))) +(let ((@x1133 ((_ |th-lemma| arith triangle-eq) (or (not $x891) $x1126)))) +(let ((@x2311 (|unit-resolution| @x1133 @x2310 (trans (monotonicity @x2309 $x2019) @x2018 $x891) false))) +(let ((@x2312 (lemma @x2311 $x529))) +(let (($x740 (>= ?x879 0))) +(let (($x693 (not $x778))) +(let ((@x1425 (hypothesis $x693))) +(let (($x667 (>= ?x43 0))) +(let (($x794 (>= |$l| 0))) +(let (($x786 (= |$l| 0))) +(let (($x757 (not $x794))) +(let (($x791 (<= |$l| 0))) +(let (($x773 (not $x791))) +(let (($x760 (or $x773 $x757))) +(let (($x752 (ite $x760 $x778 (= (+ ?x45 (mod (* (~ 1) |$l|) (~ 2))) 0)))) +(let (($x790 (= ?x45 0))) +(let (($x723 (ite $x786 $x790 $x752))) +(let (($x944 (forall ((?v0 Int) (?v1 Int) )(!(let (($x424 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x478 (ite $x424 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x72 (= ?v0 0))) +(let (($x73 (= ?v1 0))) +(ite $x73 (= (|$mod| ?v0 ?v1) ?v0) (ite $x72 (= (|$mod| ?v0 ?v1) 0) $x478)))))) :pattern ( (|$mod| ?v0 ?v1) ))) +)) +(let (($x483 (forall ((?v0 Int) (?v1 Int) )(let (($x424 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x478 (ite $x424 (= (+ (|$mod| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0) (= (+ (|$mod| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0)))) +(let (($x72 (= ?v0 0))) +(let (($x73 (= ?v1 0))) +(ite $x73 (= (|$mod| ?v0 ?v1) ?v0) (ite $x72 (= (|$mod| ?v0 ?v1) 0) $x478))))))) +)) +(let (($x478 (ite $x424 (= (+ (|$mod| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0) (= (+ (|$mod| ?1 ?0) (mod ?x206 ?x209)) 0)))) +(let (($x480 (ite $x73 (= (|$mod| ?1 ?0) ?1) (ite $x72 (= (|$mod| ?1 ?0) 0) $x478)))) +(let (($x452 (forall ((?v0 Int) (?v1 Int) )(let ((?x209 (* (~ 1) ?v1))) +(let ((?x206 (* (~ 1) ?v0))) +(let ((?x228 (mod ?x206 ?x209))) +(let ((?x234 (* (~ 1) ?x228))) +(let ((?x90 (mod ?v0 ?v1))) +(let (($x424 (or (not (or (<= ?v0 0) (<= ?v1 0))) (not (or (>= ?v0 0) (<= ?v1 0)))))) +(let (($x72 (= ?v0 0))) +(let (($x73 (= ?v1 0))) +(let ((?x89 (|$mod| ?v0 ?v1))) +(= ?x89 (ite $x73 ?v0 (ite $x72 0 (ite $x424 ?x90 ?x234)))))))))))))) +)) +(let ((?x446 (ite $x73 ?1 (ite $x72 0 (ite $x424 (mod ?1 ?0) (* (~ 1) (mod ?x206 ?x209))))))) +(let ((?x89 (|$mod| ?1 ?0))) +(let (($x449 (= ?x89 ?x446))) +(let (($x354 (forall ((?v0 Int) (?v1 Int) )(let ((?x209 (* (~ 1) ?v1))) +(let ((?x206 (* (~ 1) ?v0))) +(let ((?x228 (mod ?x206 ?x209))) +(let ((?x234 (* (~ 1) ?x228))) +(let ((?x90 (mod ?v0 ?v1))) +(let (($x184 (<= ?v1 0))) +(let (($x185 (not $x184))) +(let (($x323 (and (not (>= ?v0 0)) $x185))) +(let (($x188 (and (not (<= ?v0 0)) $x185))) +(let (($x326 (or $x188 $x323))) +(let ((?x342 (ite $x326 ?x90 ?x234))) +(let (($x72 (= ?v0 0))) +(let ((?x345 (ite $x72 0 ?x342))) +(let (($x73 (= ?v1 0))) +(let ((?x348 (ite $x73 ?v0 ?x345))) +(let ((?x89 (|$mod| ?v0 ?v1))) +(= ?x89 ?x348)))))))))))))))))) +)) +(let ((?x228 (mod ?x206 ?x209))) +(let ((?x234 (* (~ 1) ?x228))) +(let ((?x90 (mod ?1 ?0))) +(let ((?x342 (ite $x326 ?x90 ?x234))) +(let ((?x345 (ite $x72 0 ?x342))) +(let ((?x348 (ite $x73 ?1 ?x345))) +(let (($x351 (= ?x89 ?x348))) +(let ((@x445 (monotonicity (monotonicity @x426 (= ?x342 (ite $x424 ?x90 ?x234))) (= ?x345 (ite $x72 0 (ite $x424 ?x90 ?x234)))))) +(let ((@x454 (|quant-intro| (monotonicity (monotonicity @x445 (= ?x348 ?x446)) (= $x351 $x449)) (= $x354 $x452)))) +(let (($x251 (forall ((?v0 Int) (?v1 Int) )(let ((?x209 (* (~ 1) ?v1))) +(let ((?x206 (* (~ 1) ?v0))) +(let ((?x228 (mod ?x206 ?x209))) +(let ((?x234 (* (~ 1) ?x228))) +(let ((?x90 (mod ?v0 ?v1))) +(let (($x184 (<= ?v1 0))) +(let (($x185 (not $x184))) +(let (($x191 (<= 0 ?v0))) +(let (($x192 (not $x191))) +(let (($x200 (and $x192 $x185))) +(let (($x188 (and (not (<= ?v0 0)) $x185))) +(let (($x203 (or $x188 $x200))) +(let ((?x239 (ite $x203 ?x90 ?x234))) +(let (($x72 (= ?v0 0))) +(let ((?x242 (ite $x72 0 ?x239))) +(let (($x73 (= ?v1 0))) +(let ((?x245 (ite $x73 ?v0 ?x242))) +(let ((?x89 (|$mod| ?v0 ?v1))) +(= ?x89 ?x245)))))))))))))))))))) +)) +(let ((?x239 (ite $x203 ?x90 ?x234))) +(let ((?x242 (ite $x72 0 ?x239))) +(let ((?x245 (ite $x73 ?1 ?x242))) +(let (($x248 (= ?x89 ?x245))) +(let ((@x344 (monotonicity (monotonicity (monotonicity @x322 (= $x200 $x323)) (= $x203 $x326)) (= ?x239 ?x342)))) +(let ((@x353 (monotonicity (monotonicity (monotonicity @x344 (= ?x242 ?x345)) (= ?x245 ?x348)) (= $x248 $x351)))) +(let (($x97 (forall ((?v0 Int) (?v1 Int) )(let ((?x92 (- (mod (- ?v0) (- ?v1))))) +(let ((?x90 (mod ?v0 ?v1))) +(let (($x80 (or (and (< 0 ?v0) (< 0 ?v1)) (and (< ?v0 0) (< 0 ?v1))))) +(let (($x72 (= ?v0 0))) +(let (($x73 (= ?v1 0))) +(let ((?x89 (|$mod| ?v0 ?v1))) +(= ?x89 (ite $x73 ?v0 (ite $x72 0 (ite $x80 ?x90 ?x92))))))))))) +)) +(let ((?x95 (ite $x73 ?1 (ite $x72 0 (ite $x80 ?x90 (- (mod (- ?1) (- ?0)))))))) +(let (($x243 (= (ite $x72 0 (ite $x80 ?x90 (- (mod (- ?1) (- ?0))))) ?x242))) +(let ((@x230 (monotonicity (rewrite (= (- ?1) ?x206)) (rewrite (= (- ?0) ?x209)) (= (mod (- ?1) (- ?0)) ?x228)))) +(let ((@x238 (trans (monotonicity @x230 (= (- (mod (- ?1) (- ?0))) (- ?x228))) (rewrite (= (- ?x228) ?x234)) (= (- (mod (- ?1) (- ?0))) ?x234)))) +(let ((@x241 (monotonicity (monotonicity @x190 @x202 (= $x80 $x203)) @x238 (= (ite $x80 ?x90 (- (mod (- ?1) (- ?0)))) ?x239)))) +(let ((@x250 (monotonicity (monotonicity (monotonicity @x241 $x243) (= ?x95 ?x245)) (= (= ?x89 ?x95) $x248)))) +(let ((@x357 (mp (mp (asserted $x97) (|quant-intro| @x250 (= $x97 $x251)) $x251) (|quant-intro| @x353 (= $x251 $x354)) $x354))) +(let ((@x455 (mp (|mp~| @x357 (|nnf-pos| (refl (|~| $x351 $x351)) (|~| $x354 $x354)) $x354) @x454 $x452))) +(let ((@x486 (mp @x455 (|quant-intro| (rewrite (= $x449 $x480)) (= $x452 $x483)) $x483))) +(let ((@x949 (mp @x486 (|quant-intro| (refl (= $x480 $x480)) (= $x483 $x944)) $x944))) +(let (($x743 (not $x944))) +(let (($x744 (or $x743 $x723))) +(let (($x782 (ite (or (not (or $x791 $x892)) (not (or $x794 $x892))) $x778 (= (+ ?x45 (mod (* (~ 1) |$l|) ?x882)) 0)))) +(let (($x784 (ite $x553 (= ?x45 |$l|) (ite $x786 $x790 $x782)))) +(let (($x750 (= (= (+ ?x45 (mod (* (~ 1) |$l|) ?x882)) 0) (= (+ ?x45 (mod (* (~ 1) |$l|) (~ 2))) 0)))) +(let (($x690 (= (+ ?x45 (mod (* (~ 1) |$l|) ?x882)) (+ ?x45 (mod (* (~ 1) |$l|) (~ 2)))))) +(let ((@x765 (monotonicity @x700 (= (mod (* (~ 1) |$l|) ?x882) (mod (* (~ 1) |$l|) (~ 2)))))) +(let ((@x756 (trans (monotonicity @x868 (= (or $x794 $x892) (or $x794 false))) (rewrite (= (or $x794 false) $x794)) (= (or $x794 $x892) $x794)))) +(let ((@x772 (trans (monotonicity @x868 (= (or $x791 $x892) (or $x791 false))) (rewrite (= (or $x791 false) $x791)) (= (or $x791 $x892) $x791)))) +(let ((@x762 (monotonicity (monotonicity @x772 (= (not (or $x791 $x892)) $x773)) (monotonicity @x756 (= (not (or $x794 $x892)) $x757)) (= (or (not (or $x791 $x892)) (not (or $x794 $x892))) $x760)))) +(let ((@x721 (monotonicity @x762 (monotonicity (monotonicity @x765 $x690) $x750) (= $x782 $x752)))) +(let ((@x728 (monotonicity @x887 (monotonicity @x721 (= (ite $x786 $x790 $x782) $x723)) (= $x784 (ite false (= ?x45 |$l|) $x723))))) +(let ((@x742 (trans @x728 (rewrite (= (ite false (= ?x45 |$l|) $x723) $x723)) (= $x784 $x723)))) +(let ((@x708 (trans (monotonicity @x742 (= (or $x743 $x784) $x744)) (rewrite (= $x744 $x744)) (= (or $x743 $x784) $x744)))) +(let ((@x1281 (|unit-resolution| (mp ((_ |quant-inst| |$l| 2) (or $x743 $x784)) @x708 $x744) @x949 $x723))) +(let (($x669 (not $x786))) +(let ((@x1056 (hypothesis $x669))) +(let ((@x673 (|def-axiom| (or (not $x723) $x786 $x752)))) +(let ((@x1057 (|unit-resolution| (|def-axiom| (or $x760 $x791)) (hypothesis (not $x760)) $x791))) +(let ((@x1059 (|unit-resolution| (|def-axiom| (or $x760 $x794)) (hypothesis (not $x760)) $x794))) +(let ((@x1063 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x786 $x773 $x757)) @x1059 @x1057 @x1056 false))) +(let ((@x689 (|def-axiom| (or (not $x752) (not $x760) $x778)))) +(let ((@x1492 (|unit-resolution| @x689 (|unit-resolution| (lemma @x1063 (or $x760 $x786)) @x1056 $x760) (|unit-resolution| @x673 @x1056 @x1281 $x752) @x1425 false))) +(let ((@x2081 (|unit-resolution| (lemma @x1492 (or $x786 $x778)) @x1425 $x786))) +(let ((@x2053 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x669 $x794)) @x2081 $x794))) +(let ((@x2143 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x667 $x757 $x580)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x818 $x556)) (hypothesis $x890) $x556) @x2053 $x667))) +(let (($x664 (<= ?x43 0))) +(let ((@x1404 (|unit-resolution| @x673 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x669 $x791)) (hypothesis $x773) $x669) @x1281 $x752))) +(let ((@x1236 (|unit-resolution| @x689 @x1404 (|unit-resolution| (|def-axiom| (or $x760 $x791)) (hypothesis $x773) $x760) @x1425 false))) +(let ((@x2091 (|unit-resolution| (lemma @x1236 (or $x791 $x778)) @x1425 $x791))) +(let ((@x2164 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x773 $x664 $x867)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x818 $x538)) (hypothesis $x890) $x538) @x2091 $x664))) +(let (($x658 (= ?x43 0))) +(let (($x547 (not $x658))) +(let ((@x1919 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x547 $x667)) (hypothesis $x658) $x667))) +(let ((@x1175 (hypothesis $x664))) +(let ((@x2094 (|unit-resolution| @x1195 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or (not $x664) $x757 $x538)) @x2053 @x1175 $x538) (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 1) (or $x556 $x773 (not $x667))) @x2091 @x1919 $x556) $x890))) +(let ((@x2089 (trans (trans (monotonicity @x2094 $x2019) @x2018 $x891) (symm (hypothesis $x658) (= 0 ?x43)) (= ?x128 ?x43)))) +(let ((@x2059 (trans (monotonicity @x2089 (= $x131 (= ?x48 ?x43))) (commutativity (= (= ?x48 ?x43) (= ?x43 ?x48))) (= $x131 (= ?x43 ?x48))))) +(let ((@x1183 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x813) $x804)) (|unit-resolution| ((_ |quant-inst| |$ks| |$xs|) (or (not $x909) $x813)) @x914 $x813) $x804))) +(let ((@x2022 (|unit-resolution| @x1133 (trans (monotonicity (hypothesis $x890) $x2019) @x2018 $x891) $x1126))) +(let ((@x2025 (lemma ((_ |th-lemma| arith farkas 1 2 2 1 1 1) (hypothesis $x794) @x2022 @x1909 @x1175 @x1183 @x2017 false) (or $x529 $x757 (not $x664) $x818)))) +(let (($x528 (<= (+ ?x48 (* (~ 1) ?x128)) 0))) +(let (($x1191 (not $x528))) +(let ((@x1155 (hypothesis $x529))) +(let ((@x1188 (hypothesis $x786))) +(let ((@x1081 (hypothesis $x667))) +(let ((@x1205 (hypothesis $x143))) +(let (($x520 (= ?x39 0))) +(let (($x1038 (not $x520))) +(let ((@x1174 (mp @x1205 (monotonicity (monotonicity @x1188 (= $x41 $x520)) (= $x143 $x1038)) $x1038))) +(let (($x504 (<= ?x39 0))) +(let ((@x1184 (hypothesis $x528))) +(let ((@x1060 (monotonicity (symm ((_ |th-lemma| arith eq-propagate 1 1) @x1081 @x1175 (= |$l| ?x125)) (= ?x125 |$l|)) (= $x890 $x786)))) +(let ((@x820 (|def-axiom| (or (not $x838) $x818 $x891)))) +(let ((@x1129 (|unit-resolution| @x820 (mp @x1188 (symm @x1060 (= $x786 $x890)) $x890) @x1080 $x891))) +(let ((@x1151 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1/2 1/2) (or $x504 $x1135 $x1191 (not $x804) (not $x664))) (|unit-resolution| @x1133 @x1129 $x1126) @x1184 @x1183 @x1175 $x504))) +(let (($x510 (>= ?x39 0))) +(let (($x805 (>= ?x812 0))) +(let ((@x1154 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x813) $x805)) (|unit-resolution| ((_ |quant-inst| |$ks| |$xs|) (or (not $x909) $x813)) @x914 $x813) $x805))) +(let (($x1145 (>= ?x128 0))) +(let ((@x1161 ((_ |th-lemma| arith triangle-eq) (or (not $x891) $x1145)))) +(let ((@x1101 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1/2 1/2) (or $x510 (not $x1145) $x1093 (not $x805) (not $x667))) (|unit-resolution| @x1161 @x1129 $x1145) @x1155 @x1154 @x1081 $x510))) +(let ((@x1136 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x520 (not $x504) (not $x510))) @x1101 @x1151 @x1174 false))) +(let ((@x2077 (|unit-resolution| (lemma @x1136 (or $x669 $x1093 (not $x667) $x1191 (not $x664) $x41)) @x1205 @x1175 @x1081 @x1188 @x1155 $x1191))) +(let ((@x2030 ((_ |th-lemma| arith triangle-eq) (or $x402 $x528)))) +(let ((@x2050 (|unit-resolution| @x2030 (|unit-resolution| @x894 (|unit-resolution| @x896 @x1205 (not $x403)) $x131) @x2077 false))) +(let ((@x2096 (|unit-resolution| (lemma @x2050 (or $x41 (not $x664) (not $x667) $x669 $x1093)) @x2081 @x1919 @x1175 (|unit-resolution| @x2025 @x2094 @x1175 @x2053 $x529) $x41))) +(let ((@x900 (|unit-resolution| (|def-axiom| (or $x143 $x403 (not $x410))) (mp (mp (asserted $x54) @x148 $x144) @x414 $x410) (or $x143 $x403)))) +(let ((@x679 (|def-axiom| (or (not $x403) $x401 $x402)))) +(let ((@x2040 (mp (|unit-resolution| @x679 (|unit-resolution| @x900 @x2096 $x403) @x2109 $x402) (monotonicity @x2059 (= $x402 (not (= ?x43 ?x48)))) (not (= ?x43 ?x48))))) +(let (($x1405 (>= (+ ?x43 (* (~ 1) ?x48)) 0))) +(let ((@x2041 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x813) $x805)) (lemma @x2010 $x813) $x805))) +(let (($x516 (<= (+ ?x39 (* (~ 1) |$l|)) 0))) +(let ((@x2043 ((_ |th-lemma| arith triangle-eq) (or $x143 $x516)))) +(let ((@x963 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -3/2 1/2 1/2 -1/2) (or $x1405 (not $x667) (not $x516) $x773 (not $x805))) (|unit-resolution| @x2043 @x2096 $x516) @x2041 @x1919 @x2091 $x1405))) +(let (($x1375 (<= (+ ?x43 (* (~ 1) ?x48)) 0))) +(let ((@x1767 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -3/2 1/2 1/2 -1/2) (or $x1375 (not $x664) (not $x518) $x757 (not $x804))) (|unit-resolution| @x2016 @x2096 $x518) @x964 @x1175 @x2053 $x1375))) +(let ((@x1893 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (= ?x43 ?x48) (not $x1375) (not $x1405))) @x1767 @x963 @x2040 false))) +(let ((@x2349 (|unit-resolution| (lemma @x1893 (or $x778 (not $x664) $x547)) @x2164 @x1425 $x547))) +(let ((@x2210 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x658 (not $x664) (not $x667))) @x2349 @x2164 @x2143 false))) +(let ((@x2533 (|unit-resolution| @x1360 (|unit-resolution| (lemma @x2210 (or $x818 $x778)) @x1425 $x818) $x880))) +(let ((@x1305 ((_ |th-lemma| arith triangle-eq) (or $x815 $x740)))) +(let (($x965 (not $x510))) +(let (($x1327 (not $x518))) +(let ((@x2375 (|unit-resolution| ((_ |th-lemma| arith) (or false $x1263)) @x272 (hypothesis (not $x1263)) false))) +(let ((@x2275 (hypothesis $x1191))) +(let ((@x2269 (lemma (|unit-resolution| @x2030 (hypothesis $x131) @x2275 false) (or $x402 $x528)))) +(let ((@x2216 (|unit-resolution| @x896 (|unit-resolution| @x894 (|unit-resolution| @x2269 @x2275 $x402) $x403) $x41))) +(let ((@x1576 (hypothesis $x740))) +(let (($x1240 (<= ?x1235 0))) +(let ((@x2406 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1232) $x1240)) @x2334 $x1240))) +(let ((@x2125 ((_ |th-lemma| arith farkas 1 -2 -2 -1 1 1) @x2406 @x1576 @x2275 @x2041 (|unit-resolution| @x2043 @x2216 $x516) @x1481 false))) +(let ((@x2290 (|unit-resolution| (lemma @x2125 (or (not $x740) $x528)) (|unit-resolution| @x1305 @x2533 $x740) $x528))) +(let ((@x2031 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 -2 -2 -1) (or $x516 (not $x1263) $x1321 $x1322 $x1191 (not $x804))) @x964 (or $x516 (not $x1263) $x1321 $x1322 $x1191)))) +(let ((@x1824 (|unit-resolution| @x2031 @x2290 (lemma @x2375 $x1263) (|unit-resolution| @x1315 @x2334 $x1241) (|unit-resolution| @x1318 @x2533 $x739) $x516))) +(let (($x404 (not $x403))) +(let ((@x2248 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x131 $x1191 $x1093)) (hypothesis $x402) @x2312 @x1184 false))) +(let ((@x2347 (|unit-resolution| (|unit-resolution| @x679 @x2109 (or $x404 $x402)) (|unit-resolution| (lemma @x2248 (or $x131 $x1191)) @x2290 $x131) $x404))) +(let ((@x1329 ((_ |th-lemma| arith triangle-eq) (or $x41 (not $x516) $x1327)))) +(let ((@x2169 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -1) (or $x965 $x773 $x518)) (|unit-resolution| @x1329 (|unit-resolution| @x900 @x2347 $x143) @x1824 $x1327) @x2091 $x965))) +(let (($x1482 (<= ?x45 0))) +(let ((?x1594 (|$mod| 0 2))) +(let (($x1478 (= ?x1594 0))) +(let (($x1979 (or $x743 $x1478))) +(let (($x544 (ite $x1030 (= (+ ?x1594 (* (~ 1) (mod 0 2))) 0) (= (+ ?x1594 (mod ?x1036 ?x882)) 0)))) +(let (($x545 (ite $x968 $x1478 $x544))) +(let (($x533 (ite $x553 $x1478 $x545))) +(let ((@x1954 (trans (monotonicity @x1884 @x700 (= (mod ?x1036 ?x882) (mod 0 (~ 2)))) (rewrite (= (mod 0 (~ 2)) 0)) (= (mod ?x1036 ?x882) 0)))) +(let ((@x1958 (trans (monotonicity @x1954 (= (+ ?x1594 (mod ?x1036 ?x882)) (+ ?x1594 0))) (rewrite (= (+ ?x1594 0) ?x1594)) (= (+ ?x1594 (mod ?x1036 ?x882)) ?x1594)))) +(let ((@x555 (monotonicity (rewrite (= (mod 0 2) 0)) (= (* (~ 1) (mod 0 2)) ?x1036)))) +(let ((@x810 (monotonicity (trans @x555 @x1884 (= (* (~ 1) (mod 0 2)) 0)) (= (+ ?x1594 (* (~ 1) (mod 0 2))) (+ ?x1594 0))))) +(let ((@x695 (trans @x810 (rewrite (= (+ ?x1594 0) ?x1594)) (= (+ ?x1594 (* (~ 1) (mod 0 2))) ?x1594)))) +(let ((@x1928 (monotonicity @x695 (= (= (+ ?x1594 (* (~ 1) (mod 0 2))) 0) $x1478)))) +(let ((@x1963 (monotonicity @x1420 @x1928 (monotonicity @x1958 (= (= (+ ?x1594 (mod ?x1036 ?x882)) 0) $x1478)) (= $x544 (ite false $x1478 $x1478))))) +(let ((@x1967 (trans @x1963 (rewrite (= (ite false $x1478 $x1478) $x1478)) (= $x544 $x1478)))) +(let ((@x1970 (monotonicity (rewrite (= $x968 true)) @x1967 (= $x545 (ite true $x1478 $x1478))))) +(let ((@x1974 (trans @x1970 (rewrite (= (ite true $x1478 $x1478) $x1478)) (= $x545 $x1478)))) +(let ((@x1978 (trans (monotonicity @x887 @x1974 (= $x533 (ite false $x1478 $x1478))) (rewrite (= (ite false $x1478 $x1478) $x1478)) (= $x533 $x1478)))) +(let ((@x1986 (trans (monotonicity @x1978 (= (or $x743 $x533) $x1979)) (rewrite (= $x1979 $x1979)) (= (or $x743 $x533) $x1979)))) +(let ((@x2589 (trans (monotonicity @x2081 (= ?x45 ?x1594)) (|unit-resolution| (mp ((_ |quant-inst| 0 2) (or $x743 $x533)) @x1986 $x1979) @x949 $x1478) $x790))) +(let ((?x662 (+ ?x44 (* (~ 1) ?x660)))) +(let (($x567 (>= ?x662 0))) +(let (($x652 (= ?x662 0))) +(let (($x2035 (<= (+ ?x45 (* (~ 1) ?x799)) 0))) +(let (($x536 (not $x652))) +(let ((@x1212 (hypothesis $x536))) +(let (($x630 (not $x667))) +(let (($x639 (not $x664))) +(let (($x633 (or $x639 $x630))) +(let (($x621 (ite $x633 $x652 (= (+ ?x44 (mod ?x124 (~ 2))) 0)))) +(let (($x663 (= ?x44 0))) +(let (($x608 (ite $x658 $x663 $x621))) +(let (($x604 (or $x743 $x608))) +(let (($x647 (ite (or (not (or $x664 $x892)) (not (or $x667 $x892))) $x652 (= (+ ?x44 (mod ?x124 ?x882)) 0)))) +(let (($x653 (ite $x553 (= ?x44 ?x43) (ite $x658 $x663 $x647)))) +(let (($x619 (= (= (+ ?x44 (mod ?x124 ?x882)) 0) (= (+ ?x44 (mod ?x124 (~ 2))) 0)))) +(let ((@x617 (monotonicity (monotonicity @x700 (= (mod ?x124 ?x882) (mod ?x124 (~ 2)))) (= (+ ?x44 (mod ?x124 ?x882)) (+ ?x44 (mod ?x124 (~ 2))))))) +(let ((@x629 (trans (monotonicity @x868 (= (or $x667 $x892) (or $x667 false))) (rewrite (= (or $x667 false) $x667)) (= (or $x667 $x892) $x667)))) +(let ((@x638 (trans (monotonicity @x868 (= (or $x664 $x892) (or $x664 false))) (rewrite (= (or $x664 false) $x664)) (= (or $x664 $x892) $x664)))) +(let ((@x635 (monotonicity (monotonicity @x638 (= (not (or $x664 $x892)) $x639)) (monotonicity @x629 (= (not (or $x667 $x892)) $x630)) (= (or (not (or $x664 $x892)) (not (or $x667 $x892))) $x633)))) +(let ((@x610 (monotonicity (monotonicity @x635 (monotonicity @x617 $x619) (= $x647 $x621)) (= (ite $x658 $x663 $x647) $x608)))) +(let ((@x603 (trans (monotonicity @x887 @x610 (= $x653 (ite false (= ?x44 ?x43) $x608))) (rewrite (= (ite false (= ?x44 ?x43) $x608) $x608)) (= $x653 $x608)))) +(let ((@x589 (trans (monotonicity @x603 (= (or $x743 $x653) $x604)) (rewrite (= $x604 $x604)) (= (or $x743 $x653) $x604)))) +(let ((@x1215 (|unit-resolution| (mp ((_ |quant-inst| (|$eval_dioph| |$ks| (|$map| |$uu| |$xs|)) 2) (or $x743 $x653)) @x589 $x604) @x949 $x608))) +(let ((@x1071 (|unit-resolution| (|def-axiom| (or (not $x608) $x658 $x621)) (hypothesis $x547) @x1215 $x621))) +(let ((@x1219 (|unit-resolution| (|def-axiom| (or (not $x608) $x658 $x621)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x547 $x664)) (hypothesis $x639) $x547) @x1215 $x621))) +(let ((@x1220 (|unit-resolution| (|def-axiom| (or (not $x621) (not $x633) $x652)) @x1219 (|unit-resolution| (|def-axiom| (or $x633 $x664)) (hypothesis $x639) $x633) @x1212 false))) +(let ((@x1064 (|unit-resolution| (lemma @x1220 (or $x664 $x652)) @x1212 $x664))) +(let ((@x1190 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x658 $x639 $x630)) (hypothesis $x547) @x1064 $x630))) +(let ((@x1147 (|unit-resolution| (|def-axiom| (or (not $x621) (not $x633) $x652)) (|unit-resolution| (|def-axiom| (or $x633 $x667)) @x1190 $x633) @x1071 @x1212 false))) +(let ((@x1098 (|unit-resolution| (lemma @x1147 (or $x658 $x652)) @x1212 $x658))) +(let ((@x1243 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x547 $x667)) @x1098 $x667))) +(let ((@x1316 (|unit-resolution| @x1315 (|unit-resolution| ((_ |th-lemma| arith) (or false $x1232)) @x272 $x1232) $x1241))) +(let ((@x2251 (mp @x1056 (monotonicity (symm @x1060 (= $x786 $x890)) (= $x669 $x818)) $x818))) +(let ((@x2254 ((_ |th-lemma| arith farkas 1 2 1 2 1 1) @x1309 (|unit-resolution| @x1318 (|unit-resolution| @x1360 @x2251 $x880) $x739) @x2017 @x1909 @x964 @x1316 false))) +(let ((@x2145 (|unit-resolution| (lemma @x2254 (or $x786 $x529 $x630 $x639)) @x1909 @x1081 @x1175 $x786))) +(let ((@x2146 (|unit-resolution| @x2025 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x669 $x794)) @x2145 $x794) @x1175 @x1909 $x818))) +(let ((@x2129 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 1) (or $x556 $x773 $x630)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x669 $x791)) @x2145 $x791) @x1081 $x556))) +(let ((@x2160 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x639 $x757 $x538)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x669 $x794)) @x2145 $x794) @x1175 $x538))) +(let ((@x2172 (lemma (|unit-resolution| @x1195 @x2160 @x2129 @x2146 false) (or $x529 $x639 $x630)))) +(let ((@x1245 (monotonicity (symm ((_ |th-lemma| arith eq-propagate 1 1) @x1243 @x1064 (= |$l| ?x125)) (= ?x125 |$l|)) (= $x890 $x786)))) +(let ((@x1248 (|unit-resolution| (lemma @x1136 (or $x669 $x1093 $x630 $x1191 $x639 $x41)) @x1243 @x1155 @x1184 @x1064 @x1205 $x669))) +(let ((@x1246 (mp @x1248 (monotonicity (symm @x1245 (= $x786 $x890)) (= $x669 $x818)) $x818))) +(let ((@x1302 (hypothesis $x514))) +(let (($x1292 (>= (+ (div ?x125 2) (* (~ 1) (div |$l| 2))) 0))) +(let ((?x1119 (div |$l| 2))) +(let ((?x877 (div ?x125 2))) +(let (($x1288 (= ?x877 ?x1119))) +(let ((@x1164 (symm (monotonicity ((_ |th-lemma| arith eq-propagate 1 1) @x1243 @x1064 (= |$l| ?x125)) (= ?x1119 ?x877)) $x1288))) +(let (($x682 (>= ?x777 0))) +(let ((@x1282 (|unit-resolution| @x689 (|unit-resolution| (lemma @x1063 (or $x760 $x786)) @x1248 $x760) (|unit-resolution| @x673 @x1248 @x1281 $x752) $x778))) +(let ((@x1249 ((_ |th-lemma| arith triangle-eq) (or $x693 $x682)))) +(let (($x1086 (<= ?x44 0))) +(let ((@x1253 ((_ |th-lemma| arith triangle-eq) (or (not $x663) $x1086)))) +(let ((@x1257 (|unit-resolution| @x1253 (|unit-resolution| (|def-axiom| (or (not $x608) $x547 $x663)) @x1098 @x1215 $x663) $x1086))) +(let (($x1347 (not $x514))) +(let (($x1346 (not $x1292))) +(let (($x1345 (not $x682))) +(let (($x1344 (not $x1086))) +(let ((@x1325 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 -2 -2 -1) (or $x516 (not $x1263) $x1321 $x1322 $x1191 (not $x804))) (|unit-resolution| @x1318 (hypothesis $x880) $x739) @x1184 @x1183 @x1316 @x1309 $x516))) +(let ((@x1332 (|unit-resolution| (|unit-resolution| @x1329 @x1205 (or (not $x516) $x1327)) @x1325 $x1327))) +(let ((?x1167 (+ |$l| ?x776 (* (~ 2) ?x1119)))) +(let (($x1179 (<= ?x1167 0))) +(let (($x1211 (= ?x1167 0))) +(let ((@x1339 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1211) $x1179)) (|unit-resolution| ((_ |th-lemma| arith) (or false $x1211)) @x272 $x1211) $x1179))) +(let ((@x1341 (hypothesis $x682))) +(let ((@x1343 ((_ |th-lemma| arith farkas -1 1 2 1 -1 -1 2 2 1 1) (hypothesis $x1086) @x1341 (hypothesis $x1292) @x1081 @x1339 @x1332 (|unit-resolution| @x1305 (hypothesis $x880) $x740) @x1155 @x1154 @x1302 false))) +(let ((@x1258 (|unit-resolution| (lemma @x1343 (or $x815 $x1344 $x1345 $x1346 $x630 $x1093 $x1347 $x41 $x1191)) @x1257 (|unit-resolution| @x1249 @x1282 $x682) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1288) $x1292)) @x1164 $x1292) @x1243 @x1155 @x1302 @x1205 @x1184 $x815))) +(let ((@x1259 (|unit-resolution| (|def-axiom| (or (not $x680) $x736 $x880)) @x1258 (|unit-resolution| (|def-axiom| (or (not $x838) $x890 $x680)) @x1246 @x1080 $x680) $x736))) +(let ((@x1196 (|unit-resolution| @x1195 (|unit-resolution| (|def-axiom| (or $x855 $x538)) @x1259 $x538) (|unit-resolution| (|def-axiom| (or $x855 $x556)) @x1259 $x556) @x1246 false))) +(let ((@x2066 (|unit-resolution| (lemma @x1196 (or $x652 $x1093 $x1347 $x41 $x1191)) @x1205 @x1212 @x2064 (|unit-resolution| @x2172 @x1064 @x1243 $x529) $x1191))) +(let ((@x2067 (|unit-resolution| @x2030 (|unit-resolution| @x894 (|unit-resolution| @x896 @x1205 $x404) $x131) @x2066 false))) +(let ((@x2231 (|unit-resolution| (lemma @x2067 (or $x41 $x652)) @x1212 $x41))) +(let ((@x2176 (monotonicity (symm @x2231 (= |$l| ?x39)) (= ?x45 ?x799)))) +(let (($x970 (>= (+ ?x44 (* (~ 1) ?x799)) 0))) +(let ((@x2079 (symm (monotonicity (symm @x2176 $x1108) (= $x966 $x46)) (= $x46 $x966)))) +(let ((@x2225 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x966) $x970)) (mp @x2109 @x2079 $x966) $x970))) +(let ((@x2065 (monotonicity (symm ((_ |th-lemma| arith eq-propagate 1 1) @x1243 @x1064 (= |$l| ?x125)) (= ?x125 |$l|)) $x1288))) +(let ((@x2114 (|unit-resolution| @x1249 (|unit-resolution| (lemma @x1893 (or $x778 $x639 $x547)) @x1064 @x1098 $x778) $x682))) +(let ((@x2260 (monotonicity (trans (symm @x1107 $x966) (symm @x2176 $x1108) $x46) (= $x663 $x790)))) +(let ((@x2238 (trans (trans @x2176 @x1107 (= ?x45 ?x44)) (monotonicity @x1098 (= ?x44 ?x1594)) (= ?x45 ?x1594)))) +(let ((@x2119 (trans @x2238 (|unit-resolution| (mp ((_ |quant-inst| 0 2) (or $x743 $x533)) @x1986 $x1979) @x949 $x1478) $x790))) +(let ((@x2261 (|unit-resolution| @x1253 (mp @x2119 (symm @x2260 (= $x790 $x663)) $x663) $x1086))) +(let ((@x2230 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x131 $x1191 $x1093)) (|unit-resolution| @x679 (|unit-resolution| @x900 @x2231 $x403) @x2109 $x402) (|unit-resolution| @x2172 @x1064 @x1243 $x529) $x1191))) +(let (($x1581 (not $x740))) +(let ((@x1668 (|unit-resolution| ((_ |th-lemma| arith) (or false $x1211)) @x272 (hypothesis (not $x1211)) false))) +(let ((@x1705 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1211) $x1179)) (lemma @x1668 $x1211) $x1179))) +(let (($x1094 (not $x805))) +(let (($x1326 (not $x516))) +(let (($x2279 (or $x1581 (not $x970) (not $x2035) $x1344 $x1346 $x1345 (not $x1179) $x1326 $x528 $x630 $x1094))) +(let ((@x2281 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1/2 -1/2 -1/2 1 1/2 -1/2 -1/2 1 1/2 1/2) $x2279) @x1081 @x2275 @x2041 (hypothesis $x516) (hypothesis $x1086) @x1341 (hypothesis $x1292) @x1705 (hypothesis $x970) (hypothesis $x2035) $x1581))) +(let ((@x2285 (lemma (|unit-resolution| @x1305 (|unit-resolution| @x1360 @x1352 $x880) @x2281 false) (or $x890 $x630 $x528 $x1326 $x1344 $x1345 $x1346 (not $x970) (not $x2035))))) +(let ((@x2206 (|unit-resolution| @x2285 @x1243 @x2230 (|unit-resolution| @x2043 @x2231 $x516) @x2261 @x2114 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1288) $x1292)) @x2065 $x1292) @x2225 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x45 ?x799)) $x2035)) @x2176 $x2035) $x890))) +(let ((@x1225 ((_ |th-lemma| arith triangle-eq) (or $x818 $x556)))) +(let ((@x2234 ((_ |th-lemma| arith farkas 1 2 2 1 1) (|unit-resolution| @x2043 @x2231 $x516) (|unit-resolution| @x1161 (|unit-resolution| @x820 @x2206 @x1080 $x891) $x1145) @x2230 @x2041 (|unit-resolution| @x1225 @x2206 $x556) false))) +(let ((@x1709 (hypothesis $x965))) +(let ((@x1498 (hypothesis $x508))) +(let ((@x1407 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1232) $x1240)) (|unit-resolution| ((_ |th-lemma| arith) (or false $x1232)) @x272 $x1232) $x1240))) +(let ((@x1712 ((_ |th-lemma| arith farkas 1 -2 -2 -1 -1 -1 1 -1 1 1) @x1407 @x1576 @x1155 (hypothesis $x794) @x1154 (hypothesis $x1699) @x1498 (hypothesis $x567) (hypothesis $x1482) @x1709 false))) +(let ((@x1716 (lemma @x1712 (or $x1713 $x1581 $x1093 $x757 (not $x508) (not $x567) (not $x1482) $x510)))) +(let ((@x2204 (|unit-resolution| @x1716 @x2368 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x536 $x567)) (lemma @x2234 $x652) $x567) (or $x1713 $x1581 $x1093 $x757 (not $x1482) $x510)))) +(let ((@x1873 (|unit-resolution| @x2204 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x790) $x1482)) @x2589 $x1482) @x2053 @x2169 (|unit-resolution| @x1305 @x2533 $x740) @x2312 $x1713))) +(let (($x1592 (= ?x43 ?x1186))) +(let (($x1694 (<= (+ ?x43 (* (~ 1) ?x1186)) 0))) +(let (($x1695 (>= (+ ?x43 (* (~ 1) ?x1186)) 0))) +(let ((@x2587 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1592 (not $x1694) (not $x1695))) (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1) (or $x1695 $x773)) @x2091 $x1695) (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1) (or $x1694 $x757)) @x2053 $x1694) $x1592))) +(let ((@x2580 (symm (monotonicity (symm (hypothesis $x1592) (= ?x1186 ?x43)) (= ?x1223 ?x660)) $x1724))) +(let ((@x2584 (lemma (|unit-resolution| (hypothesis $x1728) @x2580 false) (or (not $x1592) $x1724)))) +(let ((@x2492 (|unit-resolution| @x2584 @x2587 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1728 $x1699)) @x1873 $x1728) false))) +(let ((@x2651 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x693 $x717)) (lemma @x2492 $x778) $x717))) +(let ((@x2519 (|unit-resolution| @x1249 (lemma @x2492 $x778) $x682))) +(let ((@x986 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1211) (>= ?x1167 0))) (lemma @x1668 $x1211) (>= ?x1167 0)))) +(let ((@x2325 (|unit-resolution| @x1305 (|unit-resolution| (lemma @x2125 (or $x1581 $x528)) @x2275 $x1581) $x815))) +(let ((@x2208 (|unit-resolution| @x1360 @x2325 $x890))) +(let ((@x2395 ((_ |th-lemma| arith eq-propagate -1/2 -1/2 -1/2 -1/2 1/2 1/2) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x818 $x538)) @x2208 $x538) (|unit-resolution| @x1225 @x2208 $x556) (|unit-resolution| @x2016 @x2216 $x518) (|unit-resolution| @x2043 @x2216 $x516) @x2041 @x964 (= ?x48 0)))) +(let ((@x2193 (trans (trans @x2395 (symm @x2018 (= 0 ?x1017)) (= ?x48 ?x1017)) (symm (monotonicity @x2208 $x2019) (= ?x1017 ?x128)) $x131))) +(let ((@x1856 (lemma (|unit-resolution| (|unit-resolution| @x2269 @x2275 $x402) @x2193 false) $x528))) +(let ((@x2638 (|unit-resolution| (|unit-resolution| @x679 @x2109 (or $x404 $x402)) (|unit-resolution| (lemma @x2248 (or $x131 $x1191)) @x1856 $x131) $x404))) +(let ((@x1096 (|unit-resolution| @x1133 (|unit-resolution| @x820 (hypothesis $x890) @x1080 $x891) $x1126))) +(let ((@x1295 ((_ |th-lemma| arith farkas -2 1 -2 -1 1) (hypothesis $x1126) (hypothesis $x1326) @x1184 @x1183 (hypothesis $x538) false))) +(let ((@x1097 (|unit-resolution| (lemma @x1295 (or $x516 $x1135 $x1191 $x867)) @x1096 @x1184 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x818 $x538)) (hypothesis $x890) $x538) $x516))) +(let ((@x1085 (|unit-resolution| @x1161 (|unit-resolution| @x820 (hypothesis $x890) @x1080 $x891) $x1145))) +(let ((@x1066 ((_ |th-lemma| arith farkas -2 1 -2 -1 1) @x1085 (|unit-resolution| (|unit-resolution| @x1329 @x1205 (or $x1326 $x1327)) @x1097 $x1327) @x1155 @x1154 (|unit-resolution| @x1225 (hypothesis $x890) $x556) false))) +(let ((@x2641 (|unit-resolution| (lemma @x1066 (or $x818 $x1093 $x41 $x1191)) @x2312 (or $x818 $x41 $x1191)))) +(let ((@x2643 (|unit-resolution| @x1360 (|unit-resolution| @x2641 (|unit-resolution| @x900 @x2638 $x143) @x1856 $x818) $x880))) +(let ((@x2646 (|unit-resolution| @x2031 (lemma @x2375 $x1263) (|unit-resolution| @x1315 @x2334 $x1241) (or $x516 $x1322 $x1191)))) +(let ((@x2648 (|unit-resolution| @x1329 (|unit-resolution| @x900 @x2638 $x143) (|unit-resolution| @x2646 (|unit-resolution| @x1318 @x2643 $x739) @x1856 $x516) $x1327))) +(let ((?x977 (* (~ 1) ?x799))) +(let ((?x978 (+ (mod ?x39 2) ?x977))) +(let (($x1651 (= ?x978 0))) +(let (($x1743 (not $x1651))) +(let (($x2399 (>= (+ |$l| ?x44 ?x776 ?x977 (* (~ 1) ?x1119) (* (~ 1) (div ?x39 2))) 1))) +(let ((@x716 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x966) $x970)) (mp @x1107 (symm (commutativity (= $x966 $x800)) (= $x800 $x966)) $x966) $x970))) +(let (($x1735 (>= ?x978 0))) +(let ((@x1863 ((_ |th-lemma| arith triangle-eq) (or $x1743 $x1735)))) +(let ((?x495 (* (~ 1) (mod ?x39 2)))) +(let ((?x1457 (+ ?x39 ?x495 (* (~ 2) (div ?x39 2))))) +(let (($x1636 (>= ?x1457 0))) +(let (($x1455 (= ?x1457 0))) +(let ((@x1839 (|unit-resolution| ((_ |th-lemma| arith) (or false $x1455)) @x272 (hypothesis (not $x1455)) false))) +(let ((@x2512 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1455) $x1636)) (lemma @x1839 $x1455) $x1636))) +(let ((@x2520 ((_ |th-lemma| arith) @x2648 @x986 @x2519 @x2064 @x2512 (|unit-resolution| @x1863 (hypothesis $x1651) $x1735) @x716 $x2399))) +(let (($x2408 (not $x2399))) +(let ((@x2653 (|unit-resolution| @x1305 @x2643 $x740))) +(let (($x1022 (<= ?x978 0))) +(let ((@x1911 ((_ |th-lemma| arith triangle-eq) (or $x1743 $x1022)))) +(let ((@x1376 (hypothesis $x1022))) +(let (($x1462 (<= ?x1457 0))) +(let ((@x2404 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1455) $x1462)) (lemma @x1839 $x1455) $x1462))) +(let ((@x1795 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x966) (<= (+ ?x44 ?x977) 0))) (mp @x1107 (symm (commutativity (= $x966 $x800)) (= $x800 $x966)) $x966) (<= (+ ?x44 ?x977) 0)))) +(let ((@x1285 (hypothesis $x717))) +(let ((@x2407 ((_ |th-lemma| arith farkas 1 -2 -2 -1 -2 1 1 1 1 1 1 1) @x2406 @x1576 @x2312 @x2041 (hypothesis $x2399) @x1285 @x2368 @x1795 @x1705 @x2404 @x1376 @x1481 false))) +(let ((@x2514 (|unit-resolution| (lemma @x2407 (or $x2408 $x1581 (not $x717) (not $x1022))) @x2651 (or $x2408 $x1581 (not $x1022))))) +(let ((@x2517 (|unit-resolution| @x2514 (|unit-resolution| @x1911 (hypothesis $x1651) $x1022) @x2653 $x2408))) +(let (($x955 (not $x504))) +(let (($x1141 (or $x955 $x965))) +(let (($x1009 (ite $x1141 $x1651 (= (+ ?x799 (mod (* (~ 1) ?x39) (~ 2))) 0)))) +(let (($x502 (= ?x799 0))) +(let (($x1011 (ite $x520 $x502 $x1009))) +(let (($x1300 (or $x743 $x1011))) +(let (($x497 (= (+ ?x799 ?x495) 0))) +(let (($x488 (ite (or (not (or $x504 $x892)) (not (or $x510 $x892))) $x497 (= (+ ?x799 (mod (* (~ 1) ?x39) ?x882)) 0)))) +(let (($x490 (ite $x553 (= ?x799 ?x39) (ite $x520 $x502 $x488)))) +(let (($x1005 (= (= (+ ?x799 (mod (* (~ 1) ?x39) ?x882)) 0) (= (+ ?x799 (mod (* (~ 1) ?x39) (~ 2))) 0)))) +(let (($x1664 (= (+ ?x799 (mod (* (~ 1) ?x39) ?x882)) (+ ?x799 (mod (* (~ 1) ?x39) (~ 2)))))) +(let ((@x1658 (monotonicity @x700 (= (mod (* (~ 1) ?x39) ?x882) (mod (* (~ 1) ?x39) (~ 2)))))) +(let ((@x992 (monotonicity (rewrite (= (+ ?x799 ?x495) (+ ?x495 ?x799))) (= $x497 (= (+ ?x495 ?x799) 0))))) +(let ((@x1660 (trans @x992 (rewrite (= (= (+ ?x495 ?x799) 0) $x1651)) (= $x497 $x1651)))) +(let ((@x1363 (trans (monotonicity @x868 (= (or $x510 $x892) (or $x510 false))) (rewrite (= (or $x510 false) $x510)) (= (or $x510 $x892) $x510)))) +(let ((@x1270 (trans (monotonicity @x868 (= (or $x504 $x892) (or $x504 false))) (rewrite (= (or $x504 false) $x504)) (= (or $x504 $x892) $x504)))) +(let ((@x1595 (monotonicity (monotonicity @x1270 (= (not (or $x504 $x892)) $x955)) (monotonicity @x1363 (= (not (or $x510 $x892)) $x965)) (= (or (not (or $x504 $x892)) (not (or $x510 $x892))) $x1141)))) +(let ((@x1010 (monotonicity @x1595 @x1660 (monotonicity (monotonicity @x1658 $x1664) $x1005) (= $x488 $x1009)))) +(let ((@x1689 (monotonicity @x887 (monotonicity @x1010 (= (ite $x520 $x502 $x488) $x1011)) (= $x490 (ite false (= ?x799 ?x39) $x1011))))) +(let ((@x1386 (trans @x1689 (rewrite (= (ite false (= ?x799 ?x39) $x1011) $x1011)) (= $x490 $x1011)))) +(let ((@x1512 (trans (monotonicity @x1386 (= (or $x743 $x490) $x1300)) (rewrite (= $x1300 $x1300)) (= (or $x743 $x490) $x1300)))) +(let ((@x1470 (|unit-resolution| (mp ((_ |quant-inst| (|$eval_dioph| |$ks| |$xs|) 2) (or $x743 $x490)) @x1512 $x1300) @x949 $x1011))) +(let ((@x1753 (|def-axiom| (or (not $x1011) $x520 $x1009)))) +(let ((@x2633 (|unit-resolution| @x1753 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1038 $x510)) @x1709 $x1038) @x1470 $x1009))) +(let ((@x1740 (|def-axiom| (or (not $x1009) (not $x1141) $x1651)))) +(let ((@x2421 (|unit-resolution| @x1740 @x2633 (|unit-resolution| (|def-axiom| (or $x1141 $x510)) @x1709 $x1141) (lemma (|unit-resolution| @x2517 @x2520 false) $x1743) false))) +(let ((@x2562 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -1) (or $x965 $x773 $x518)) (lemma @x2421 $x510) @x2648 $x773))) +(let (($x834 (<= (+ ?x660 ?x1234) 0))) +(let ((@x1007 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= ?x660 2)))) @x272 (not (>= ?x660 2))))) +(let ((@x1048 ((_ |th-lemma| arith farkas -1 1 -2 -2 1 -1 1) (hypothesis (not $x834)) @x1407 @x1576 @x1155 (hypothesis $x1327) @x1154 @x1007 false))) +(let ((@x2636 (|unit-resolution| (lemma @x1048 (or $x834 $x1581 $x1093 $x518)) @x2312 (or $x834 $x1581 $x518)))) +(let ((@x1761 (hypothesis $x1344))) +(let ((@x1799 (hypothesis $x834))) +(let (($x566 (<= ?x662 0))) +(let ((@x1606 (hypothesis $x566))) +(let ((@x1113 (symm (monotonicity (trans @x1107 @x1106 $x1108) (= $x502 $x790)) (= $x790 $x502)))) +(let ((@x1875 (monotonicity (trans (monotonicity @x1106 (= $x663 $x790)) @x1113 (= $x663 $x502)) (= (not $x663) (not $x502))))) +(let ((@x1811 (|unit-resolution| (|def-axiom| (or (not $x1011) $x1038 $x502)) (mp (|unit-resolution| @x1253 @x1761 (not $x663)) @x1875 (not $x502)) @x1470 $x1038))) +(let ((@x1860 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x520 $x955 $x965)) (hypothesis $x510) (or $x520 $x955)))) +(let ((@x1813 (|unit-resolution| (|def-axiom| (or $x1141 $x504)) (|unit-resolution| @x1860 @x1811 $x955) $x1141))) +(let ((@x1862 (|unit-resolution| @x1911 (|unit-resolution| @x1740 @x1813 (|unit-resolution| @x1753 @x1811 @x1470 $x1009) $x1651) $x1022))) +(let ((@x1914 (|unit-resolution| @x1863 (|unit-resolution| @x1740 @x1813 (|unit-resolution| @x1753 @x1811 @x1470 $x1009) $x1651) $x1735))) +(let (($x1616 (not $x566))) +(let (($x1561 (not $x508))) +(let (($x1469 (not $x717))) +(let (($x1008 (not $x834))) +(let (($x1472 (not $x1022))) +(let ((?x1289 (* (~ 1) ?x1119))) +(let ((?x1937 (+ ?x39 |$l| ?x124 ?x44 (* (~ 1) ?x48) ?x776 ?x977 (* (~ 1) ?x877) ?x1289 ?x1234 (* (~ 1) (div ?x39 2))))) +(let (($x1938 (>= ?x1937 0))) +(let ((@x1764 (lemma ((_ |th-lemma| arith farkas 1 -1 1 1) (hypothesis $x1713) @x1761 @x1606 @x1481 false) (or $x1086 $x1699 $x1616)))) +(let ((@x1920 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1455) $x1636)) (|unit-resolution| ((_ |th-lemma| arith) (or false $x1455)) @x272 $x1455) $x1636))) +(let ((@x1921 ((_ |th-lemma| arith) @x1920 (hypothesis $x1735) @x1007 @x1316 (|unit-resolution| @x1764 @x1761 @x1606 $x1699) @x1341 @x1302 @x1154 @x986 @x716 $x1938))) +(let ((@x1201 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x1455) $x1462)) (|unit-resolution| ((_ |th-lemma| arith) (or false $x1455)) @x272 $x1455) $x1462))) +(let ((@x1944 ((_ |th-lemma| arith farkas -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 1) @x1606 (hypothesis $x1938) @x1407 @x1201 @x1376 @x1799 @x1285 @x1498 @x1183 @x1705 @x1795 @x1761 false))) +(let ((@x1941 (|unit-resolution| (lemma @x1944 (or (not $x1938) $x1616 $x1472 $x1008 $x1469 $x1561 $x1086)) @x1761 @x1376 @x1799 @x1285 @x1498 @x1606 (not $x1938)))) +(let ((@x995 (lemma (|unit-resolution| @x1941 @x1921 false) (or $x1086 (not $x1735) $x1345 $x1347 $x1472 $x1008 $x1469 $x1561 $x1616)))) +(let ((@x1766 (|unit-resolution| @x995 @x1914 @x1862 @x1341 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x401 $x514)) @x1106 $x514) @x1761 @x1799 @x1285 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x401 $x508)) @x1106 $x508) @x1606 false))) +(let ((@x2329 (|unit-resolution| (lemma @x1766 (or $x1086 $x1345 $x1008 $x1469 $x1616 $x965 $x401)) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x536 $x566)) (lemma @x2234 $x652) $x566) @x2109 (or $x1086 $x1345 $x1008 $x1469 $x965)))) +(let ((@x2362 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1038 $x510)) (|unit-resolution| @x2329 @x1761 @x1341 @x1285 @x1799 $x965) $x1038))) +(let ((@x2364 (|unit-resolution| (|def-axiom| (or $x1141 $x510)) (|unit-resolution| @x2329 @x1761 @x1341 @x1285 @x1799 $x965) $x1141))) +(let ((@x2366 (|unit-resolution| @x1911 (|unit-resolution| @x1740 @x2364 (|unit-resolution| @x1753 @x2362 @x1470 $x1009) $x1651) $x1022))) +(let ((@x2367 (|unit-resolution| @x1863 (|unit-resolution| @x1740 @x2364 (|unit-resolution| @x1753 @x2362 @x1470 $x1009) $x1651) $x1735))) +(let ((@x2370 (|unit-resolution| @x995 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x536 $x566)) (lemma @x2234 $x652) $x566) @x2064 @x2368 (or $x1086 (not $x1735) $x1345 $x1472 $x1008 $x1469)))) +(let ((@x2373 (lemma (|unit-resolution| @x2370 @x2367 @x2366 @x1799 @x1341 @x1285 @x1761 false) (or $x1086 $x1008 $x1345 $x1469)))) +(let ((@x2102 (|unit-resolution| (|unit-resolution| @x2373 @x2519 @x2651 (or $x1086 $x1008)) (|unit-resolution| @x2636 @x2648 @x2653 $x834) $x1086))) +(let (($x2526 (>= (mod |$l| 2) 0))) +(let ((@x2239 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1) (or (>= ?x44 0) (not $x2526) $x1345 $x1347)) @x2519 @x2064 (|unit-resolution| ((_ |th-lemma| arith) (or false $x2526)) @x272 $x2526) (>= ?x44 0)))) +(let ((@x2516 ((_ |th-lemma| arith gcd-test 1/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 -1/2) @x2239 @x2102 @x2562 (hypothesis (not (>= |$l| 2))) @x986 @x1705 @x2519 @x2651 @x2064 @x2368 false))) +(let ((@x1771 (|unit-resolution| @x1753 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1038 $x504)) (hypothesis $x955) $x1038) @x1470 $x1009))) +(let ((@x1897 (|unit-resolution| @x1740 @x1771 (|unit-resolution| (|def-axiom| (or $x1141 $x504)) (hypothesis $x955) $x1141) (hypothesis $x1743) false))) +(let ((@x2454 (|unit-resolution| (lemma @x1897 (or $x504 $x1651)) (lemma (|unit-resolution| @x2517 @x2520 false) $x1743) $x504))) +((_ |th-lemma| arith farkas 1 -2 -2 -1 1 -1 1) @x2406 @x2653 @x2312 @x2041 @x2454 (lemma @x2516 (>= |$l| 2)) @x1481 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +079c6ffd9b87bb8c11978fa4ff410c5f1bfa967a 46 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x33 (|$sup| (|$collect| |$uu|)))) +(let (($x38 (|$less_eq| ?x33 ?x33))) +(let (($x39 (not $x38))) +(let ((?x35 (|$sup| (|$collect| |$uua|)))) +(let (($x37 (|$less_eq| ?x35 ?x33))) +(let (($x36 (|$less_eq| ?x33 ?x35))) +(let (($x597 (forall ((?v0 |$A|) (?v1 |$A|) (?v2 |$A|) )(!(let (($x29 (|$less_eq| ?v0 ?v2))) +(or (not (|$less_eq| ?v0 ?v1)) (not (|$less_eq| ?v1 ?v2)) $x29)) :pattern ( (|$less_eq| ?v0 ?v1) (|$less_eq| ?v1 ?v2) ))) +)) +(let (($x175 (forall ((?v0 |$A|) (?v1 |$A|) (?v2 |$A|) )(let (($x29 (|$less_eq| ?v0 ?v2))) +(or (not (|$less_eq| ?v0 ?v1)) (not (|$less_eq| ?v1 ?v2)) $x29))) +)) +(let ((@x602 (trans (rewrite (= $x175 $x597)) (rewrite (= $x597 $x597)) (= $x175 $x597)))) +(let (($x84 (forall ((?v0 |$A|) (?v1 |$A|) (?v2 |$A|) )(let (($x29 (|$less_eq| ?v0 ?v2))) +(let (($x27 (|$less_eq| ?v1 ?v2))) +(let (($x26 (|$less_eq| ?v0 ?v1))) +(let (($x28 (and $x26 $x27))) +(let (($x80 (not $x28))) +(or $x80 $x29))))))) +)) +(let (($x29 (|$less_eq| ?2 ?0))) +(let (($x170 (or (not (|$less_eq| ?2 ?1)) (not (|$less_eq| ?1 ?0)) $x29))) +(let (($x27 (|$less_eq| ?1 ?0))) +(let (($x26 (|$less_eq| ?2 ?1))) +(let (($x28 (and $x26 $x27))) +(let (($x80 (not $x28))) +(let (($x81 (or $x80 $x29))) +(let (($x156 (or (not $x26) (not $x27)))) +(let ((@x162 (monotonicity (rewrite (= $x28 (not $x156))) (= $x80 (not (not $x156)))))) +(let ((@x169 (monotonicity (trans @x162 (rewrite (= (not (not $x156)) $x156)) (= $x80 $x156)) (= $x81 (or $x156 $x29))))) +(let ((@x177 (|quant-intro| (trans @x169 (rewrite (= (or $x156 $x29) $x170)) (= $x81 $x170)) (= $x84 $x175)))) +(let (($x31 (forall ((?v0 |$A|) (?v1 |$A|) (?v2 |$A|) )(let (($x29 (|$less_eq| ?v0 ?v2))) +(let (($x27 (|$less_eq| ?v1 ?v2))) +(let (($x26 (|$less_eq| ?v0 ?v1))) +(let (($x28 (and $x26 $x27))) +(=> $x28 $x29)))))) +)) +(let ((@x87 (mp (asserted $x31) (|quant-intro| (rewrite (= (=> $x28 $x29) $x81)) (= $x31 $x84)) $x84))) +(let ((@x153 (|mp~| (mp @x87 (|rewrite*| (= $x84 $x84)) $x84) (|nnf-pos| (refl (|~| $x81 $x81)) (|~| $x84 $x84)) $x84))) +(let (($x252 (= (or (not $x597) (or (not $x36) (not $x37) $x38)) (or (not $x597) (not $x36) (not $x37) $x38)))) +(let ((@x589 (mp ((_ |quant-inst| (|$sup| (|$collect| |$uu|)) (|$sup| (|$collect| |$uua|)) (|$sup| (|$collect| |$uu|))) (or (not $x597) (or (not $x36) (not $x37) $x38))) (rewrite $x252) (or (not $x597) (not $x36) (not $x37) $x38)))) +(|unit-resolution| @x589 (mp (mp @x153 @x177 $x175) @x602 $x597) (mp (asserted $x36) (|rewrite*| (= $x36 $x36)) $x36) (mp (asserted $x37) (|rewrite*| (= $x37 $x37)) $x37) (mp (asserted $x39) (|rewrite*| (= $x39 $x39)) $x39) false))))))))))))))))))))))))))))) + +1ad194e301a321fa5f115d9423a68c7299b04b47 20 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x52 (not (|$prede| 1)))) +(let (($x630 (forall ((?v0 Int) )(!(|$prede| ?v0) :pattern ( (|$prede| ?v0) ))) +)) +(let (($x120 (forall ((?v0 Int) )(|$prede| ?v0)) +)) +(let (($x49 (forall ((?v0 Int) )(let (($x47 (or (|$predd| (|$consd| ?v0 |$nild|)) (not (|$predd| (|$consd| ?v0 |$nild|)))))) +(let (($x42 (|$prede| ?v0))) +(and $x42 $x47)))) +)) +(let (($x42 (|$prede| ?0))) +(let (($x47 (or (|$predd| (|$consd| ?0 |$nild|)) (not (|$predd| (|$consd| ?0 |$nild|)))))) +(let (($x48 (and $x42 $x47))) +(let ((@x115 (monotonicity (rewrite (= $x47 true)) (= $x48 (and $x42 true))))) +(let ((@x122 (|quant-intro| (trans @x115 (rewrite (= (and $x42 true) $x42)) (= $x48 $x42)) (= $x49 $x120)))) +(let ((@x185 (|mp~| (mp (mp (asserted $x49) @x122 $x120) (|rewrite*| (= $x120 $x120)) $x120) (|nnf-pos| (refl (|~| $x42 $x42)) (|~| $x120 $x120)) $x120))) +(|unit-resolution| ((_ |quant-inst| 1) (or (not $x630) (|$prede| 1))) (mp @x185 (|quant-intro| (refl (= $x42 $x42)) (= $x120 $x630)) $x630) (mp (asserted $x52) (|rewrite*| (= $x52 $x52)) $x52) false))))))))))))) + +db925cac9eef895d8420ea226669aee491c91c47 25 0 +unsat +((set-logic ) +(proof +(let ((?x38 (* |$x| |$y|))) +(let ((?x39 (* 2.0 ?x38))) +(let ((?x26 (* |$x| (+ 1.0 (* (~ 1.0) |$y|))))) +(let ((?x32 (* (~ 1.0) ?x26))) +(let ((?x9 (* |$x| (+ 1.0 |$y|)))) +(let ((?x33 (+ ?x9 ?x32))) +(let (($x42 (= ?x33 ?x39))) +(let (($x45 (not $x42))) +(let ((@x81 (rewrite (= (* (~ 1.0) (+ |$x| (* (~ 1.0) ?x38))) (+ (* (~ 1.0) |$x|) ?x38))))) +(let ((@x77 (monotonicity (rewrite (= ?x26 (+ |$x| (* (~ 1.0) ?x38)))) (= ?x32 (* (~ 1.0) (+ |$x| (* (~ 1.0) ?x38))))))) +(let ((@x86 (monotonicity (rewrite (= ?x9 (+ |$x| ?x38))) (trans @x77 @x81 (= ?x32 (+ (* (~ 1.0) |$x|) ?x38))) (= ?x33 (+ (+ |$x| ?x38) (+ (* (~ 1.0) |$x|) ?x38)))))) +(let ((@x89 (trans @x86 (rewrite (= (+ (+ |$x| ?x38) (+ (* (~ 1.0) |$x|) ?x38)) ?x39)) $x42))) +(let ((@x96 (trans (monotonicity @x89 (= $x42 (= ?x39 ?x39))) (rewrite (= (= ?x39 ?x39) true)) (= $x42 true)))) +(let ((@x103 (trans (monotonicity @x96 (= $x45 (not true))) (rewrite (= (not true) false)) (= $x45 false)))) +(let (($x17 (not (= (- ?x9 (* |$x| (- 1.0 |$y|))) (* (* 2.0 |$x|) |$y|))))) +(let (($x43 (= (= (- ?x9 (* |$x| (- 1.0 |$y|))) (* (* 2.0 |$x|) |$y|)) $x42))) +(let ((@x28 (monotonicity (rewrite (= (- 1.0 |$y|) (+ 1.0 (* (~ 1.0) |$y|)))) (= (* |$x| (- 1.0 |$y|)) ?x26)))) +(let ((@x31 (monotonicity @x28 (= (- ?x9 (* |$x| (- 1.0 |$y|))) (- ?x9 ?x26))))) +(let ((@x37 (trans @x31 (rewrite (= (- ?x9 ?x26) ?x33)) (= (- ?x9 (* |$x| (- 1.0 |$y|))) ?x33)))) +(let ((@x47 (monotonicity (monotonicity @x37 (rewrite (= (* (* 2.0 |$x|) |$y|) ?x39)) $x43) (= $x17 $x45)))) +(mp (mp (asserted $x17) @x47 $x45) @x103 false))))))))))))))))))))))) + diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Examples.thy --- a/src/HOL/SMT_Examples/SMT_Examples.thy Thu Mar 13 13:18:13 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Examples.thy Thu Mar 13 13:18:13 2014 +0100 @@ -11,38 +11,40 @@ declare [[smt_certificates = "SMT_Examples.certs"]] declare [[smt_read_only_certificates = true]] +declare [[smt2_certificates = "SMT_Examples.certs2"]] +declare [[smt2_read_only_certificates = true]] section {* Propositional and first-order logic *} -lemma "True" by smt +lemma "True" by smt2 -lemma "p \ \p" by smt +lemma "p \ \p" by smt2 -lemma "(p \ True) = p" by smt +lemma "(p \ True) = p" by smt2 -lemma "(p \ q) \ \p \ q" by smt +lemma "(p \ q) \ \p \ q" by smt2 lemma "(a \ b) \ (c \ d) \ (a \ b) \ (c \ d)" - by smt + by smt2 -lemma "(p1 \ p2) \ p3 \ (p1 \ (p3 \ p2) \ (p1 \ p3)) \ p1" by smt +lemma "(p1 \ p2) \ p3 \ (p1 \ (p3 \ p2) \ (p1 \ p3)) \ p1" by smt2 -lemma "P=P=P=P=P=P=P=P=P=P" by smt +lemma "P = P = P = P = P = P = P = P = P = P" by smt2 lemma - assumes "a | b | c | d" - and "e | f | (a & d)" - and "~(a | (c & ~c)) | b" - and "~(b & (x | ~x)) | c" - and "~(d | False) | c" - and "~(c | (~p & (p | (q & ~q))))" + assumes "a \ b \ c \ d" + and "e \ f \ (a \ d)" + and "\ (a \ (c \ ~c)) \ b" + and "\ (b \ (x \ \ x)) \ c" + and "\ (d \ False) \ c" + and "\ (c \ (\ p \ (p \ (q \ \ q))))" shows False - using assms by smt + using assms by smt2 axiomatization symm_f :: "'a \ 'a \ 'a" where symm_f: "symm_f x y = symm_f y x" -lemma "a = a \ symm_f a b = symm_f b a" by (smt symm_f) +lemma "a = a \ symm_f a b = symm_f b a" by (smt2 symm_f) (* Taken from ~~/src/HOL/ex/SAT_Examples.thy. @@ -53,253 +55,253 @@ and "~x30" and "~x29" and "~x59" - and "x1 | x31 | x0" - and "x2 | x32 | x1" - and "x3 | x33 | x2" - and "x4 | x34 | x3" - and "x35 | x4" - and "x5 | x36 | x30" - and "x6 | x37 | x5 | x31" - and "x7 | x38 | x6 | x32" - and "x8 | x39 | x7 | x33" - and "x9 | x40 | x8 | x34" - and "x41 | x9 | x35" - and "x10 | x42 | x36" - and "x11 | x43 | x10 | x37" - and "x12 | x44 | x11 | x38" - and "x13 | x45 | x12 | x39" - and "x14 | x46 | x13 | x40" - and "x47 | x14 | x41" - and "x15 | x48 | x42" - and "x16 | x49 | x15 | x43" - and "x17 | x50 | x16 | x44" - and "x18 | x51 | x17 | x45" - and "x19 | x52 | x18 | x46" - and "x53 | x19 | x47" - and "x20 | x54 | x48" - and "x21 | x55 | x20 | x49" - and "x22 | x56 | x21 | x50" - and "x23 | x57 | x22 | x51" - and "x24 | x58 | x23 | x52" - and "x59 | x24 | x53" - and "x25 | x54" - and "x26 | x25 | x55" - and "x27 | x26 | x56" - and "x28 | x27 | x57" - and "x29 | x28 | x58" - and "~x1 | ~x31" - and "~x1 | ~x0" - and "~x31 | ~x0" - and "~x2 | ~x32" - and "~x2 | ~x1" - and "~x32 | ~x1" - and "~x3 | ~x33" - and "~x3 | ~x2" - and "~x33 | ~x2" - and "~x4 | ~x34" - and "~x4 | ~x3" - and "~x34 | ~x3" - and "~x35 | ~x4" - and "~x5 | ~x36" - and "~x5 | ~x30" - and "~x36 | ~x30" - and "~x6 | ~x37" - and "~x6 | ~x5" - and "~x6 | ~x31" - and "~x37 | ~x5" - and "~x37 | ~x31" - and "~x5 | ~x31" - and "~x7 | ~x38" - and "~x7 | ~x6" - and "~x7 | ~x32" - and "~x38 | ~x6" - and "~x38 | ~x32" - and "~x6 | ~x32" - and "~x8 | ~x39" - and "~x8 | ~x7" - and "~x8 | ~x33" - and "~x39 | ~x7" - and "~x39 | ~x33" - and "~x7 | ~x33" - and "~x9 | ~x40" - and "~x9 | ~x8" - and "~x9 | ~x34" - and "~x40 | ~x8" - and "~x40 | ~x34" - and "~x8 | ~x34" - and "~x41 | ~x9" - and "~x41 | ~x35" - and "~x9 | ~x35" - and "~x10 | ~x42" - and "~x10 | ~x36" - and "~x42 | ~x36" - and "~x11 | ~x43" - and "~x11 | ~x10" - and "~x11 | ~x37" - and "~x43 | ~x10" - and "~x43 | ~x37" - and "~x10 | ~x37" - and "~x12 | ~x44" - and "~x12 | ~x11" - and "~x12 | ~x38" - and "~x44 | ~x11" - and "~x44 | ~x38" - and "~x11 | ~x38" - and "~x13 | ~x45" - and "~x13 | ~x12" - and "~x13 | ~x39" - and "~x45 | ~x12" - and "~x45 | ~x39" - and "~x12 | ~x39" - and "~x14 | ~x46" - and "~x14 | ~x13" - and "~x14 | ~x40" - and "~x46 | ~x13" - and "~x46 | ~x40" - and "~x13 | ~x40" - and "~x47 | ~x14" - and "~x47 | ~x41" - and "~x14 | ~x41" - and "~x15 | ~x48" - and "~x15 | ~x42" - and "~x48 | ~x42" - and "~x16 | ~x49" - and "~x16 | ~x15" - and "~x16 | ~x43" - and "~x49 | ~x15" - and "~x49 | ~x43" - and "~x15 | ~x43" - and "~x17 | ~x50" - and "~x17 | ~x16" - and "~x17 | ~x44" - and "~x50 | ~x16" - and "~x50 | ~x44" - and "~x16 | ~x44" - and "~x18 | ~x51" - and "~x18 | ~x17" - and "~x18 | ~x45" - and "~x51 | ~x17" - and "~x51 | ~x45" - and "~x17 | ~x45" - and "~x19 | ~x52" - and "~x19 | ~x18" - and "~x19 | ~x46" - and "~x52 | ~x18" - and "~x52 | ~x46" - and "~x18 | ~x46" - and "~x53 | ~x19" - and "~x53 | ~x47" - and "~x19 | ~x47" - and "~x20 | ~x54" - and "~x20 | ~x48" - and "~x54 | ~x48" - and "~x21 | ~x55" - and "~x21 | ~x20" - and "~x21 | ~x49" - and "~x55 | ~x20" - and "~x55 | ~x49" - and "~x20 | ~x49" - and "~x22 | ~x56" - and "~x22 | ~x21" - and "~x22 | ~x50" - and "~x56 | ~x21" - and "~x56 | ~x50" - and "~x21 | ~x50" - and "~x23 | ~x57" - and "~x23 | ~x22" - and "~x23 | ~x51" - and "~x57 | ~x22" - and "~x57 | ~x51" - and "~x22 | ~x51" - and "~x24 | ~x58" - and "~x24 | ~x23" - and "~x24 | ~x52" - and "~x58 | ~x23" - and "~x58 | ~x52" - and "~x23 | ~x52" - and "~x59 | ~x24" - and "~x59 | ~x53" - and "~x24 | ~x53" - and "~x25 | ~x54" - and "~x26 | ~x25" - and "~x26 | ~x55" - and "~x25 | ~x55" - and "~x27 | ~x26" - and "~x27 | ~x56" - and "~x26 | ~x56" - and "~x28 | ~x27" - and "~x28 | ~x57" - and "~x27 | ~x57" - and "~x29 | ~x28" - and "~x29 | ~x58" - and "~x28 | ~x58" + and "x1 \ x31 \ x0" + and "x2 \ x32 \ x1" + and "x3 \ x33 \ x2" + and "x4 \ x34 \ x3" + and "x35 \ x4" + and "x5 \ x36 \ x30" + and "x6 \ x37 \ x5 \ x31" + and "x7 \ x38 \ x6 \ x32" + and "x8 \ x39 \ x7 \ x33" + and "x9 \ x40 \ x8 \ x34" + and "x41 \ x9 \ x35" + and "x10 \ x42 \ x36" + and "x11 \ x43 \ x10 \ x37" + and "x12 \ x44 \ x11 \ x38" + and "x13 \ x45 \ x12 \ x39" + and "x14 \ x46 \ x13 \ x40" + and "x47 \ x14 \ x41" + and "x15 \ x48 \ x42" + and "x16 \ x49 \ x15 \ x43" + and "x17 \ x50 \ x16 \ x44" + and "x18 \ x51 \ x17 \ x45" + and "x19 \ x52 \ x18 \ x46" + and "x53 \ x19 \ x47" + and "x20 \ x54 \ x48" + and "x21 \ x55 \ x20 \ x49" + and "x22 \ x56 \ x21 \ x50" + and "x23 \ x57 \ x22 \ x51" + and "x24 \ x58 \ x23 \ x52" + and "x59 \ x24 \ x53" + and "x25 \ x54" + and "x26 \ x25 \ x55" + and "x27 \ x26 \ x56" + and "x28 \ x27 \ x57" + and "x29 \ x28 \ x58" + and "~x1 \ ~x31" + and "~x1 \ ~x0" + and "~x31 \ ~x0" + and "~x2 \ ~x32" + and "~x2 \ ~x1" + and "~x32 \ ~x1" + and "~x3 \ ~x33" + and "~x3 \ ~x2" + and "~x33 \ ~x2" + and "~x4 \ ~x34" + and "~x4 \ ~x3" + and "~x34 \ ~x3" + and "~x35 \ ~x4" + and "~x5 \ ~x36" + and "~x5 \ ~x30" + and "~x36 \ ~x30" + and "~x6 \ ~x37" + and "~x6 \ ~x5" + and "~x6 \ ~x31" + and "~x37 \ ~x5" + and "~x37 \ ~x31" + and "~x5 \ ~x31" + and "~x7 \ ~x38" + and "~x7 \ ~x6" + and "~x7 \ ~x32" + and "~x38 \ ~x6" + and "~x38 \ ~x32" + and "~x6 \ ~x32" + and "~x8 \ ~x39" + and "~x8 \ ~x7" + and "~x8 \ ~x33" + and "~x39 \ ~x7" + and "~x39 \ ~x33" + and "~x7 \ ~x33" + and "~x9 \ ~x40" + and "~x9 \ ~x8" + and "~x9 \ ~x34" + and "~x40 \ ~x8" + and "~x40 \ ~x34" + and "~x8 \ ~x34" + and "~x41 \ ~x9" + and "~x41 \ ~x35" + and "~x9 \ ~x35" + and "~x10 \ ~x42" + and "~x10 \ ~x36" + and "~x42 \ ~x36" + and "~x11 \ ~x43" + and "~x11 \ ~x10" + and "~x11 \ ~x37" + and "~x43 \ ~x10" + and "~x43 \ ~x37" + and "~x10 \ ~x37" + and "~x12 \ ~x44" + and "~x12 \ ~x11" + and "~x12 \ ~x38" + and "~x44 \ ~x11" + and "~x44 \ ~x38" + and "~x11 \ ~x38" + and "~x13 \ ~x45" + and "~x13 \ ~x12" + and "~x13 \ ~x39" + and "~x45 \ ~x12" + and "~x45 \ ~x39" + and "~x12 \ ~x39" + and "~x14 \ ~x46" + and "~x14 \ ~x13" + and "~x14 \ ~x40" + and "~x46 \ ~x13" + and "~x46 \ ~x40" + and "~x13 \ ~x40" + and "~x47 \ ~x14" + and "~x47 \ ~x41" + and "~x14 \ ~x41" + and "~x15 \ ~x48" + and "~x15 \ ~x42" + and "~x48 \ ~x42" + and "~x16 \ ~x49" + and "~x16 \ ~x15" + and "~x16 \ ~x43" + and "~x49 \ ~x15" + and "~x49 \ ~x43" + and "~x15 \ ~x43" + and "~x17 \ ~x50" + and "~x17 \ ~x16" + and "~x17 \ ~x44" + and "~x50 \ ~x16" + and "~x50 \ ~x44" + and "~x16 \ ~x44" + and "~x18 \ ~x51" + and "~x18 \ ~x17" + and "~x18 \ ~x45" + and "~x51 \ ~x17" + and "~x51 \ ~x45" + and "~x17 \ ~x45" + and "~x19 \ ~x52" + and "~x19 \ ~x18" + and "~x19 \ ~x46" + and "~x52 \ ~x18" + and "~x52 \ ~x46" + and "~x18 \ ~x46" + and "~x53 \ ~x19" + and "~x53 \ ~x47" + and "~x19 \ ~x47" + and "~x20 \ ~x54" + and "~x20 \ ~x48" + and "~x54 \ ~x48" + and "~x21 \ ~x55" + and "~x21 \ ~x20" + and "~x21 \ ~x49" + and "~x55 \ ~x20" + and "~x55 \ ~x49" + and "~x20 \ ~x49" + and "~x22 \ ~x56" + and "~x22 \ ~x21" + and "~x22 \ ~x50" + and "~x56 \ ~x21" + and "~x56 \ ~x50" + and "~x21 \ ~x50" + and "~x23 \ ~x57" + and "~x23 \ ~x22" + and "~x23 \ ~x51" + and "~x57 \ ~x22" + and "~x57 \ ~x51" + and "~x22 \ ~x51" + and "~x24 \ ~x58" + and "~x24 \ ~x23" + and "~x24 \ ~x52" + and "~x58 \ ~x23" + and "~x58 \ ~x52" + and "~x23 \ ~x52" + and "~x59 \ ~x24" + and "~x59 \ ~x53" + and "~x24 \ ~x53" + and "~x25 \ ~x54" + and "~x26 \ ~x25" + and "~x26 \ ~x55" + and "~x25 \ ~x55" + and "~x27 \ ~x26" + and "~x27 \ ~x56" + and "~x26 \ ~x56" + and "~x28 \ ~x27" + and "~x28 \ ~x57" + and "~x27 \ ~x57" + and "~x29 \ ~x28" + and "~x29 \ ~x58" + and "~x28 \ ~x58" shows False - using assms by smt + using assms by smt (* smt2 FIXME: THM 0 *) lemma "\x::int. P x \ (\y::int. P x \ P y)" - by smt + by smt2 lemma assumes "(\x y. P x y = x)" shows "(\y. P x y) = P x c" - using assms by smt + using assms by smt (* smt2 FIXME: Option *) lemma assumes "(\x y. P x y = x)" and "(\x. \y. P x y) = (\x. P x c)" shows "(EX y. P x y) = P x c" - using assms by smt + using assms by smt (* smt2 FIXME: Option *) lemma assumes "if P x then \(\y. P y) else (\y. \P y)" shows "P x \ P y" - using assms by smt + using assms by smt2 section {* Arithmetic *} subsection {* Linear arithmetic over integers and reals *} -lemma "(3::int) = 3" by smt +lemma "(3::int) = 3" by smt2 -lemma "(3::real) = 3" by smt +lemma "(3::real) = 3" by smt2 -lemma "(3 :: int) + 1 = 4" by smt +lemma "(3 :: int) + 1 = 4" by smt2 -lemma "x + (y + z) = y + (z + (x::int))" by smt +lemma "x + (y + z) = y + (z + (x::int))" by smt2 -lemma "max (3::int) 8 > 5" by smt +lemma "max (3::int) 8 > 5" by smt2 -lemma "abs (x :: real) + abs y \ abs (x + y)" by smt +lemma "abs (x :: real) + abs y \ abs (x + y)" by smt2 -lemma "P ((2::int) < 3) = P True" by smt +lemma "P ((2::int) < 3) = P True" by smt2 -lemma "x + 3 \ 4 \ x < (1::int)" by smt +lemma "x + 3 \ 4 \ x < (1::int)" by smt2 lemma assumes "x \ (3::int)" and "y = x + 4" shows "y - x > 0" - using assms by smt + using assms by smt2 -lemma "let x = (2 :: int) in x + x \ 5" by smt +lemma "let x = (2 :: int) in x + x \ 5" by smt2 lemma fixes x :: real assumes "3 * x + 7 * a < 4" and "3 < 2 * x" shows "a < 0" - using assms by smt + using assms by smt2 -lemma "(0 \ y + -1 * x \ \ 0 \ x \ 0 \ (x::int)) = (\ False)" by smt +lemma "(0 \ y + -1 * x \ \ 0 \ x \ 0 \ (x::int)) = (\ False)" by smt2 lemma " - (n < m & m < n') | (n < m & m = n') | (n < n' & n' < m) | - (n = n' & n' < m) | (n = m & m < n') | - (n' < m & m < n) | (n' < m & m = n) | - (n' < n & n < m) | (n' = n & n < m) | (n' = m & m < n) | - (m < n & n < n') | (m < n & n' = n) | (m < n' & n' < n) | - (m = n & n < n') | (m = n' & n' < n) | - (n' = m & m = (n::int))" - by smt + (n < m \ m < n') \ (n < m \ m = n') \ (n < n' \ n' < m) \ + (n = n' \ n' < m) \ (n = m \ m < n') \ + (n' < m \ m < n) \ (n' < m \ m = n) \ + (n' < n \ n < m) \ (n' = n \ n < m) \ (n' = m \ m < n) \ + (m < n \ n < n') \ (m < n \ n' = n) \ (m < n' \ n' < n) \ + (m = n \ n < n') \ (m = n' \ n' < n) \ + (n' = m \ m = (n::int))" + by smt2 text{* The following example was taken from HOL/ex/PresburgerEx.thy, where it says: @@ -320,175 +322,173 @@ lemma "\ x3 = abs x2 - x1; x4 = abs x3 - x2; x5 = abs x4 - x3; x6 = abs x5 - x4; x7 = abs x6 - x5; x8 = abs x7 - x6; x9 = abs x8 - x7; x10 = abs x9 - x8; x11 = abs x10 - x9 \ - \ x1 = x10 & x2 = (x11::int)" - by smt + \ x1 = x10 \ x2 = (x11::int)" + by smt2 -lemma "let P = 2 * x + 1 > x + (x::real) in P \ False \ P" by smt +lemma "let P = 2 * x + 1 > x + (x::real) in P \ False \ P" by smt2 lemma "x + (let y = x mod 2 in 2 * y + 1) \ x + (1::int)" - using [[z3_with_extensions]] - by smt + using [[z3_new_extensions]] + by smt2 lemma "x + (let y = x mod 2 in y + y) < x + (3::int)" - using [[z3_with_extensions]] - by smt + using [[z3_new_extensions]] + by smt2 lemma assumes "x \ (0::real)" - shows "x + x \ (let P = (abs x > 1) in if P \ \P then 4 else 2) * x" - using assms by smt + shows "x + x \ (let P = (abs x > 1) in if P \ \ P then 4 else 2) * x" + using assms [[z3_new_extensions]] by smt2 lemma assumes "(n + m) mod 2 = 0" and "n mod 4 = 3" - shows "n mod 2 = 1 & m mod 2 = (1::int)" - using assms [[z3_with_extensions]] by smt - + shows "n mod 2 = 1 \ m mod 2 = (1::int)" + using assms [[z3_new_extensions]] by smt2 subsection {* Linear arithmetic with quantifiers *} -lemma "~ (\x::int. False)" by smt +lemma "~ (\x::int. False)" by smt2 -lemma "~ (\x::real. False)" by smt +lemma "~ (\x::real. False)" by smt2 lemma "\x::int. 0 < x" - using [[smt_oracle=true]] (* no Z3 proof *) - by smt + using [[smt2_oracle=true]] (* no Z3 proof *) + by smt2 lemma "\x::real. 0 < x" - using [[smt_oracle=true]] (* no Z3 proof *) - by smt + using [[smt2_oracle=true]] (* no Z3 proof *) + by smt2 lemma "\x::int. \y. y > x" - using [[smt_oracle=true]] (* no Z3 proof *) - by smt + using [[smt2_oracle=true]] (* no Z3 proof *) + by smt2 -lemma "\x y::int. (x = 0 \ y = 1) \ x \ y" by smt +lemma "\x y::int. (x = 0 \ y = 1) \ x \ y" by smt2 -lemma "\x::int. \y. x < y \ y < 0 \ y >= 0" by smt +lemma "\x::int. \y. x < y \ y < 0 \ y >= 0" by smt2 -lemma "\x y::int. x < y \ (2 * x + 1) < (2 * y)" by smt +lemma "\x y::int. x < y \ (2 * x + 1) < (2 * y)" by smt2 -lemma "\x y::int. (2 * x + 1) \ (2 * y)" by smt +lemma "\x y::int. (2 * x + 1) \ (2 * y)" by smt2 -lemma "\x y::int. x + y > 2 \ x + y = 2 \ x + y < 2" by smt +lemma "\x y::int. x + y > 2 \ x + y = 2 \ x + y < 2" by smt2 -lemma "\x::int. if x > 0 then x + 1 > 0 else 1 > x" by smt +lemma "\x::int. if x > 0 then x + 1 > 0 else 1 > x" by smt2 -lemma "if (ALL x::int. x < 0 \ x > 0) then False else True" by smt +lemma "if (ALL x::int. x < 0 \ x > 0) then False else True" by smt2 -lemma "(if (ALL x::int. x < 0 \ x > 0) then -1 else 3) > (0::int)" by smt +lemma "(if (ALL x::int. x < 0 \ x > 0) then -1 else 3) > (0::int)" by smt2 -lemma "~ (\x y z::int. 4 * x + -6 * y = (1::int))" by smt +lemma "~ (\x y z::int. 4 * x + -6 * y = (1::int))" by smt2 -lemma "\x::int. \x y. 0 < x \ 0 < y \ (0::int) < x + y" by smt +lemma "\x::int. \x y. 0 < x \ 0 < y \ (0::int) < x + y" by smt2 -lemma "\u::int. \(x::int) y::real. 0 < x \ 0 < y \ -1 < x" by smt +lemma "\u::int. \(x::int) y::real. 0 < x \ 0 < y \ -1 < x" by smt2 -lemma "\x::int. (\y. y \ x \ y > 0) \ x > 0" by smt +lemma "\x::int. (\y. y \ x \ y > 0) \ x > 0" by smt2 -lemma "\x::int. SMT.trigger [[SMT.pat x]] (x < a \ 2 * x < 2 * a)" by smt +lemma "\x::int. SMT2.trigger [[SMT2.pat x]] (x < a \ 2 * x < 2 * a)" by smt2 -lemma "\(a::int) b::int. 0 < b \ b < 1" by smt +lemma "\(a::int) b::int. 0 < b \ b < 1" by smt2 subsection {* Non-linear arithmetic over integers and reals *} lemma "a > (0::int) \ a*b > 0 \ b > 0" - using [[smt_oracle, z3_with_extensions]] - by smt + using [[smt2_oracle, z3_new_extensions]] + by smt2 lemma "(a::int) * (x + 1 + y) = a * x + a * (y + 1)" - using [[z3_with_extensions]] - by smt + using [[z3_new_extensions]] + by smt2 lemma "((x::real) * (1 + y) - x * (1 - y)) = (2 * x * y)" - using [[z3_with_extensions]] - by smt + using [[z3_new_extensions]] + by smt2 lemma "(U::int) + (1 + p) * (b + e) + p * d = U + (2 * (1 + p) * (b + e) + (1 + p) * d + d * p) - (1 + p) * (b + d + e)" - using [[z3_with_extensions]] - by smt + using [[z3_new_extensions]] + by smt2 -lemma [z3_rule]: +lemma [z3_rule, z3_new_rule]: fixes x :: "int" assumes "x * y \ 0" and "\ y \ 0" and "\ x \ 0" shows False using assms by (metis mult_le_0_iff) lemma "x * y \ (0 :: int) \ x \ 0 \ y \ 0" - using [[z3_with_extensions]] - by smt - + using [[z3_with_extensions]] [[z3_new_extensions]] + by smt (* smt2 FIXME: "th-lemma" tactic fails *) subsection {* Linear arithmetic for natural numbers *} -lemma "2 * (x::nat) ~= 1" by smt +lemma "2 * (x::nat) ~= 1" by smt2 -lemma "a < 3 \ (7::nat) > 2 * a" by smt +lemma "a < 3 \ (7::nat) > 2 * a" by smt2 -lemma "let x = (1::nat) + y in x - y > 0 * x" by smt +lemma "let x = (1::nat) + y in x - y > 0 * x" by smt2 lemma "let x = (1::nat) + y in let P = (if x > 0 then True else False) in False \ P = (x - 1 = y) \ (\P \ False)" - by smt + by smt2 -lemma "int (nat \x::int\) = \x\" by smt +lemma "int (nat \x::int\) = \x\" by smt2 definition prime_nat :: "nat \ bool" where "prime_nat p = (1 < p \ (\m. m dvd p --> m = 1 \ m = p))" -lemma "prime_nat (4*m + 1) \ m \ (1::nat)" by (smt prime_nat_def) +lemma "prime_nat (4*m + 1) \ m \ (1::nat)" by (smt2 prime_nat_def) section {* Pairs *} lemma "fst (x, y) = a \ x = a" using fst_conv - by smt + by smt2 lemma "p1 = (x, y) \ p2 = (y, x) \ fst p1 = snd p2" using fst_conv snd_conv - by smt + by smt2 section {* Higher-order problems and recursion *} lemma "i \ i1 \ i \ i2 \ (f (i1 := v1, i2 := v2)) i = f i" using fun_upd_same fun_upd_apply - by smt + by smt2 lemma "(f g (x::'a::type) = (g x \ True)) \ (f g x = True) \ (g x = True)" - by smt + by smt2 -lemma "id x = x \ id True = True" by (smt id_def) +lemma "id x = x \ id True = True" by (smt id_def) (* smt2 FIXME: Option *) lemma "i \ i1 \ i \ i2 \ ((f (i1 := v1)) (i2 := v2)) i = f i" using fun_upd_same fun_upd_apply - by smt + by smt2 lemma "f (\x. g x) \ True" "f (\x. g x) \ True" - by smt+ + by smt2+ -lemma True using let_rsp by smt +lemma True using let_rsp by smt2 -lemma "le = op \ \ le (3::int) 42" by smt +lemma "le = op \ \ le (3::int) 42" by smt2 -lemma "map (\i::nat. i + 1) [0, 1] = [1, 2]" by (smt list.map) +lemma "map (\i::nat. i + 1) [0, 1] = [1, 2]" by (smt2 list.map) -lemma "(ALL x. P x) | ~ All P" by smt +lemma "(ALL x. P x) \ ~ All P" by smt2 fun dec_10 :: "nat \ nat" where "dec_10 n = (if n < 10 then n else dec_10 (n - 10))" -lemma "dec_10 (4 * dec_10 4) = 6" by (smt dec_10.simps) +lemma "dec_10 (4 * dec_10 4) = 6" by (smt2 dec_10.simps) axiomatization @@ -505,35 +505,36 @@ (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)" - using [[smt_oracle=true]] (*FIXME*) - using [[z3_with_extensions]] - by (smt eval_dioph_mod[where n=2] eval_dioph_div_mult[where n=2]) + using [[smt2_oracle=true]] (*FIXME*) + using [[z3_new_extensions]] + by (smt2 eval_dioph_mod[where n=2] eval_dioph_div_mult[where n=2]) context complete_lattice begin lemma - assumes "Sup { a | i::bool . True } \ Sup { b | i::bool . True }" - and "Sup { b | i::bool . True } \ Sup { a | i::bool . True }" - shows "Sup { a | i::bool . True } \ Sup { a | i::bool . True }" - using assms by (smt order_trans) + assumes "Sup {a | i::bool. True} \ Sup {b | i::bool. True}" + and "Sup {b | i::bool. True} \ Sup {a | i::bool. True}" + shows "Sup {a | i::bool. True} \ Sup {a | i::bool. True}" + using assms by (smt2 order_trans) end - section {* Monomorphization examples *} definition Pred :: "'a \ bool" where "Pred x = True" -lemma poly_Pred: "Pred x \ (Pred [x] \ \Pred[x])" by (simp add: Pred_def) -lemma "Pred (1::int)" by (smt poly_Pred) + +lemma poly_Pred: "Pred x \ (Pred [x] \ \ Pred [x])" by (simp add: Pred_def) +lemma "Pred (1::int)" by (smt2 poly_Pred) axiomatization g :: "'a \ nat" axiomatization where g1: "g (Some x) = g [x]" and g2: "g None = g []" and g3: "g xs = length xs" -lemma "g (Some (3::int)) = g (Some True)" by (smt g1 g2 g3 list.size) + +lemma "g (Some (3::int)) = g (Some True)" by (smt g1 g2 g3 list.size) (* smt2 FIXME: Option *) end diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Tests.thy --- a/src/HOL/SMT_Examples/SMT_Tests.thy Thu Mar 13 13:18:13 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Tests.thy Thu Mar 13 13:18:13 2014 +0100 @@ -9,11 +9,11 @@ begin smt_status +smt2_status text {* Most examples are taken from various Isabelle theories and from HOL4. *} - section {* Propositional logic *} lemma @@ -24,7 +24,7 @@ "True \ False" "False \ True" "\(False \ True)" - by smt+ + by smt2+ lemma "P \ \P" @@ -63,7 +63,7 @@ "\(P \ \P)" "(P \ Q) \ (\Q \ \P)" "P \ P \ P \ P \ P \ P \ P \ P \ P \ P" - by smt+ + by smt2+ lemma "(if P then Q1 else Q2) \ ((P \ Q1) \ (\P \ Q2))" @@ -72,15 +72,14 @@ "(if P1 \ P2 then Q1 else Q2) \ (if P1 then if P2 then Q1 else Q2 else Q2)" "(P1 \ (if P2 then Q1 else Q2)) \ (if P1 \ P2 then P1 \ Q1 else P1 \ Q2)" - by smt+ + by smt2+ lemma "case P of True \ P | False \ \P" "case P of False \ \P | True \ P" "case \P of True \ \P | False \ P" "case P of True \ (Q \ P) | False \ (P \ Q)" - by smt+ - + by smt2+ section {* First-order logic with equality *} @@ -93,7 +92,7 @@ "x = y \ g x y = g y x" "f (f x) = x \ f (f (f (f (f x)))) = x \ f x = x" "((if a then b else c) = d) = ((a \ (b = d)) \ (\ a \ (c = d)))" - by smt+ + by smt2+ lemma "\x. x = x" @@ -106,12 +105,11 @@ "(\x. P x \ P (f x)) \ P d \ P (f(f(f(d))))" "(\x y. s x y = s y x) \ a = a \ s a b = s b a" "(\s. q s \ r s) \ \r s \ (\s. \r s \ \q s \ p t \ q t) \ p t \ r t" - by smt+ + by smt2+ lemma "(\x. P x) \ R \ (\x. P x \ R)" - using [[smt_oracle]] by smt - (* BUG: Z3 proof parser (line 34): unknown function symbol: "S2!val!0" *) + by smt2 lemma "\x. x = x" @@ -120,7 +118,7 @@ "(\x. P x) \ R \ (\x. P x \ R)" "(\x y z. S x z) \ (\x z. S x z)" "\((\x. \P x) \ ((\x. P x) \ (\x. P x \ Q x)) \ \(\x. P x))" - by smt+ + by smt2+ lemma "\x y. x = y" @@ -129,8 +127,7 @@ "\x. P x \ P a \ P b" "\x. (\y. P y) \ P x" "(\x. Q \ P x) \ (Q \ (\x. P x))" - using [[smt_oracle]] by smt+ - (* BUG: Z3 proof parser (line 34): unknown function symbol: "S2!val!0" *) + by smt2+ lemma "(\(\x. P x)) \ (\x. \ P x)" @@ -138,7 +135,7 @@ "(\x y. R x y = x) \ (\y. R x y) = R x c" "(if P x then \(\y. P y) else (\y. \P y)) \ P x \ P y" "(\x y. R x y = x) \ (\x. \y. R x y) = (\x. R x c) \ (\y. R x y) = R x c" - by smt+ + by smt+ (* smt2 FIXME: Option *) lemma "\x. \y. f x y = f x (g x)" @@ -149,20 +146,20 @@ "(\x. \y. P x \ P y) \ ((\x. P x) \ (\y. P y))" "\z. P z \ (\x. P x)" "(\y. \x. R x y) \ (\x. \y. R x y)" - by smt+ + by smt2+ lemma - "(\! x. P x) \ (\x. P x)" + "(\!x. P x) \ (\x. P x)" "(\!x. P x) \ (\x. P x \ (\y. y \ x \ \P y))" "P a \ (\x. P x \ x = a) \ (\!x. P x)" "(\x. P x) \ (\x y. P x \ P y \ x = y) \ (\!x. P x)" "(\!x. P x) \ (\x. P x \ (\y. P y \ y = x) \ R) \ R" - by smt+ + by smt2+ lemma "(\x\M. P x) \ c \ M \ P c" "(\x\M. P x) \ \(P c \ c \ M)" - by smt+ + by smt2+ lemma "let P = True in P" @@ -173,65 +170,64 @@ "(let x = y1; z = y2 in R x z) \ (let z = y2; x = y1 in R x z)" "(let x = y1; z = y2 in R x z) \ (let z = y1; x = y2 in R z x)" "let P = (\x. Q x) in if P then P else \P" - by smt+ + by smt2+ lemma "a \ b \ a \ c \ b \ c \ (\x y. f x = f y \ y = x) \ f a \ f b" - by smt + by smt2 lemma "(\x y z. f x y = f x z \ y = z) \ b \ c \ f a b \ f a c" "(\x y z. f x y = f z y \ x = z) \ a \ d \ f a b \ f d b" - by smt+ + by smt2+ section {* Guidance for quantifier heuristics: patterns and weights *} lemma - assumes "\x. SMT.trigger [[SMT.pat (f x)]] (f x = x)" + assumes "\x. SMT2.trigger [[SMT2.pat (f x)]] (f x = x)" shows "f 1 = 1" - using assms by smt + using assms using [[smt2_trace]] by smt2 lemma - assumes "\x y. SMT.trigger [[SMT.pat (f x), SMT.pat (g y)]] (f x = g y)" + assumes "\x y. SMT2.trigger [[SMT2.pat (f x), SMT2.pat (g y)]] (f x = g y)" shows "f a = g b" - using assms by smt + using assms by smt2 lemma - assumes "ALL x. SMT.trigger [[SMT.pat (P x)]] (P x --> Q x)" + assumes "ALL x. SMT2.trigger [[SMT2.pat (P x)]] (P x --> Q x)" and "P t" shows "Q t" - using assms by smt + using assms by smt2 lemma - assumes "ALL x. SMT.trigger [[SMT.pat (P x), SMT.pat (Q x)]] + assumes "ALL x. SMT2.trigger [[SMT2.pat (P x), SMT2.pat (Q x)]] (P x & Q x --> R x)" and "P t" and "Q t" shows "R t" - using assms by smt + using assms by smt2 lemma - assumes "ALL x. SMT.trigger [[SMT.pat (P x)], [SMT.pat (Q x)]] + assumes "ALL x. SMT2.trigger [[SMT2.pat (P x)], [SMT2.pat (Q x)]] ((P x --> R x) & (Q x --> R x))" and "P t | Q t" shows "R t" - using assms by smt - -lemma - assumes "ALL x. SMT.trigger [[SMT.pat (P x)]] (SMT.weight 2 (P x --> Q x))" - and "P t" - shows "Q t" - using assms by smt + using assms by smt2 lemma - assumes "ALL x. SMT.weight 1 (P x --> Q x)" + assumes "ALL x. SMT2.trigger [[SMT2.pat (P x)]] (SMT2.weight 2 (P x --> Q x))" and "P t" shows "Q t" - using assms by smt + using assms by smt2 + +lemma + assumes "ALL x. SMT2.weight 1 (P x --> Q x)" + and "P t" + shows "Q t" + using assms by smt2 - -section {* Meta logical connectives *} +section {* Meta-logical connectives *} lemma "True \ True" @@ -252,8 +248,7 @@ "(\x y. h x y \ h y x) \ \x. h x x" "(p \ q) \ \p \ q" "(a \ b) \ (c \ d) \ (a \ b) \ (c \ d)" - by smt+ - + by smt+ (* smt2 FIXME: Option *) section {* Natural numbers *} @@ -264,7 +259,7 @@ "(0::nat) < 1" "(0::nat) \ 1" "(123456789::nat) < 2345678901" - by smt+ + by smt2+ lemma "Suc 0 = 1" @@ -272,7 +267,7 @@ "x < Suc x" "(Suc x = Suc y) = (x = y)" "Suc (x + y) < Suc x + Suc y" - by smt+ + by smt2+ lemma "(x::nat) + 0 = x" @@ -280,15 +275,15 @@ "x + y = y + x" "x + (y + z) = (x + y) + z" "(x + y = 0) = (x = 0 \ y = 0)" - by smt+ + by smt2+ -lemma +lemma "(x::nat) - 0 = x" "x < y \ x - y = 0" "x - y = 0 \ y - x = 0" "(x - y) + y = (if x < y then y else x)" - "x - y - z = x - (y + z)" - by smt+ + "x - y - z = x - (y + z)" + by smt2+ lemma "(x::nat) * 0 = 0" @@ -296,7 +291,7 @@ "x * 1 = x" "1 * x = x" "3 * x = x * 3" - by smt+ + by smt2+ lemma "(0::nat) div 0 = 0" @@ -310,8 +305,8 @@ "(3::nat) div 3 = 1" "(x::nat) div 3 \ x" "(x div 3 = x) = (x = 0)" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "(0::nat) mod 0 = 0" @@ -325,14 +320,14 @@ "(3::nat) mod 3 = 0" "x mod 3 < 3" "(x mod 3 = x) = (x < 3)" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "(x::nat) = x div 1 * 1 + x mod 1" "x = x div 3 * 3 + x mod 3" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "min (x::nat) y \ x" @@ -341,7 +336,7 @@ "z < x \ z < y \ z < min x y" "min x y = min y x" "min x 0 = 0" - by smt+ + by smt2+ lemma "max (x::nat) y \ x" @@ -350,7 +345,7 @@ "z > x \ z > y \ z > max x y" "max x y = max y x" "max x 0 = x" - by smt+ + by smt2+ lemma "0 \ (x::nat)" @@ -366,8 +361,7 @@ "x \ y \ y < z \ x \ z" "x < y \ y < z \ x < z" "x < y \ y < z \ \(z < x)" - by smt+ - + by smt2+ section {* Integers *} @@ -382,7 +376,7 @@ "-123 + 345 < (567::int)" "(123456789::int) < 2345678901" "(-123456789::int) < 2345678901" - by smt+ + by smt2+ lemma "(x::int) + 0 = x" @@ -390,7 +384,7 @@ "x + y = y + x" "x + (y + z) = (x + y) + z" "(x + y = 0) = (x = -y)" - by smt+ + by smt2+ lemma "(-1::int) = - 1" @@ -398,16 +392,16 @@ "-(x::int) < 0 \ x > 0" "x > 0 \ -x < 0" "x < 0 \ -x > 0" - by smt+ + by smt2+ -lemma +lemma "(x::int) - 0 = x" "0 - x = -x" "x < y \ x - y < 0" "x - y = -(y - x)" "x - y = -y + x" - "x - y - z = x - (y + z)" - by smt+ + "x - y - z = x - (y + z)" + by smt2+ lemma "(x::int) * 0 = 0" @@ -417,7 +411,7 @@ "x * -1 = -x" "-1 * x = -x" "3 * x = x * 3" - by smt+ + by smt2+ lemma "(0::int) div 0 = 0" @@ -444,8 +438,8 @@ "(-1::int) div -3 = 0" "(-3::int) div -3 = 1" "(-5::int) div -3 = 1" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "(0::int) mod 0 = 0" @@ -474,14 +468,14 @@ "(-5::int) mod -3 = -2" "x mod 3 < 3" "(x mod 3 = x) \ (x < 3)" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "(x::int) = x div 1 * 1 + x mod 1" "x = x div 3 * 3 + x mod 3" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "abs (x::int) \ 0" @@ -489,7 +483,7 @@ "(x \ 0) = (abs x = x)" "(x \ 0) = (abs x = -x)" "abs (abs x) = abs x" - by smt+ + by smt2+ lemma "min (x::int) y \ x" @@ -498,7 +492,7 @@ "min x y = min y x" "x \ 0 \ min x 0 = 0" "min x y \ abs (x + y)" - by smt+ + by smt2+ lemma "max (x::int) y \ x" @@ -507,7 +501,7 @@ "max x y = max y x" "x \ 0 \ max x 0 = x" "max x y \ - abs x - abs y" - by smt+ + by smt2+ lemma "0 < (x::int) \ x \ 1 \ x = 1" @@ -522,8 +516,7 @@ "x \ y \ y < z \ x \ z" "x < y \ y < z \ x < z" "x < y \ y < z \ \(z < x)" - by smt+ - + by smt2+ section {* Reals *} @@ -539,7 +532,7 @@ "-123 + 345 < (567::real)" "(123456789::real) < 2345678901" "(-123456789::real) < 2345678901" - by smt+ + by smt2+ lemma "(x::real) + 0 = x" @@ -547,7 +540,7 @@ "x + y = y + x" "x + (y + z) = (x + y) + z" "(x + y = 0) = (x = -y)" - by smt+ + by smt2+ lemma "(-1::real) = - 1" @@ -555,7 +548,7 @@ "-(x::real) < 0 \ x > 0" "x > 0 \ -x < 0" "x < 0 \ -x > 0" - by smt+ + by smt2+ lemma "(x::real) - 0 = x" @@ -563,8 +556,8 @@ "x < y \ x - y < 0" "x - y = -(y - x)" "x - y = -y + x" - "x - y - z = x - (y + z)" - by smt+ + "x - y - z = x - (y + z)" + by smt2+ lemma "(x::real) * 0 = 0" @@ -574,7 +567,7 @@ "x * -1 = -x" "-1 * x = -x" "3 * x = x * 3" - by smt+ + by smt2+ lemma "(1/2 :: real) < 1" @@ -585,16 +578,16 @@ "(x::real) / 1 = x" "x > 0 \ x / 3 < x" "x < 0 \ x / 3 > x" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "(3::real) * (x / 3) = x" "(x * 3) / 3 = x" "x > 0 \ 2 * x / 3 < x" "x < 0 \ 2 * x / 3 > x" - using [[z3_with_extensions]] - by smt+ + using [[z3_new_extensions]] + by smt2+ lemma "abs (x::real) \ 0" @@ -602,7 +595,7 @@ "(x \ 0) = (abs x = x)" "(x \ 0) = (abs x = -x)" "abs (abs x) = abs x" - by smt+ + by smt2+ lemma "min (x::real) y \ x" @@ -611,7 +604,7 @@ "min x y = min y x" "x \ 0 \ min x 0 = 0" "min x y \ abs (x + y)" - by smt+ + by smt2+ lemma "max (x::real) y \ x" @@ -620,7 +613,7 @@ "max x y = max y x" "x \ 0 \ max x 0 = x" "max x y \ - abs x - abs y" - by smt+ + by smt2+ lemma "x \ (x::real)" @@ -633,8 +626,7 @@ "x \ y \ y < z \ x \ z" "x < y \ y < z \ x < z" "x < y \ y < z \ \(z < x)" - by smt+ - + by smt2+ section {* Datatypes, Records, and Typedefs *} @@ -657,7 +649,7 @@ "(fst (x, y) = snd (x, y)) = (x = y)" "(fst p = snd p) = (p = (snd p, fst p))" using fst_conv snd_conv pair_collapse - by smt+ + by smt2+ lemma "[x] \ Nil" @@ -670,13 +662,13 @@ "hd (tl [x, y, z]) = y" "tl (tl [x, y, z]) = [z]" using list.sel(1,3) list.simps - by smt+ + by smt2+ lemma "fst (hd [(a, b)]) = a" "snd (hd [(a, b)]) = b" using fst_conv snd_conv pair_collapse list.sel(1,3) list.simps - by smt+ + by smt2+ subsubsection {* Records *} @@ -694,7 +686,7 @@ "cx p1 \ cx p2 \ p1 \ p2" "cy p1 \ cy p2 \ p1 \ p2" using point.simps - by smt+ + by smt2+ lemma "cx \ cx = 3, cy = 4 \ = 3" @@ -705,8 +697,7 @@ "p = \ cx = 3, cy = 4 \ \ p \ cx := 3 \ \ cy := 4 \ = p" "p = \ cx = 3, cy = 4 \ \ p \ cy := 4 \ \ cx := 3 \ = p" using point.simps - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + by smt2+ lemma "cy (p \ cx := a \) = cy p" @@ -722,7 +713,7 @@ "cy p1 \ cy p2 \ p1 \ p2" "black p1 \ black p2 \ p1 \ p2" using point.simps bw_point.simps - by smt+ + by smt2+ lemma "cx \ cx = 3, cy = 4, black = b \ = 3" @@ -738,8 +729,7 @@ "p = \ cx = 3, cy = 4, black = True \ \ p \ black := True \ \ cx := 3 \ \ cy := 4 \ = p" using point.simps bw_point.simps - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + by smt+ (* smt2 FIXME: Option *) lemma "\ cx = 3, cy = 4, black = b \ \ black := w \ = \ cx = 3, cy = 4, black = w \" @@ -773,8 +763,7 @@ "nplus n1 n2 = n3" using n1_def n2_def n3_def nplus_def using three_def' Rep_three Abs_three_inverse - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + by smt2+ subsection {* With support by the SMT solver (but without proofs) *} @@ -795,8 +784,8 @@ "(fst (x, y) = snd (x, y)) = (x = y)" "(fst p = snd p) = (p = (snd p, fst p))" using fst_conv snd_conv pair_collapse - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "[x] \ Nil" @@ -809,15 +798,15 @@ "hd (tl [x, y, z]) = y" "tl (tl [x, y, z]) = [z]" using list.sel(1,3) - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "fst (hd [(a, b)]) = a" "snd (hd [(a, b)]) = b" using fst_conv snd_conv pair_collapse list.sel(1,3) - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ subsubsection {* Records *} @@ -828,9 +817,8 @@ "cx p1 \ cx p2 \ p1 \ p2" "cy p1 \ cy p2 \ p1 \ p2" using point.simps - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "cx \ cx = 3, cy = 4 \ = 3" @@ -841,18 +829,16 @@ "p = \ cx = 3, cy = 4 \ \ p \ cx := 3 \ \ cy := 4 \ = p" "p = \ cx = 3, cy = 4 \ \ p \ cy := 4 \ \ cx := 3 \ = p" using point.simps - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "cy (p \ cx := a \) = cy p" "cx (p \ cy := a \) = cx p" "p \ cx := 3 \ \ cy := 4 \ = p \ cy := 4 \ \ cx := 3 \" using point.simps - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "p1 = p2 \ cx p1 = cx p2" @@ -862,8 +848,8 @@ "cy p1 \ cy p2 \ p1 \ p2" "black p1 \ black p2 \ p1 \ p2" using point.simps bw_point.simps - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "cx \ cx = 3, cy = 4, black = b \ = 3" @@ -879,9 +865,8 @@ "p = \ cx = 3, cy = 4, black = True \ \ p \ black := True \ \ cx := 3 \ \ cy := 4 \ = p" using point.simps bw_point.simps - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ + using [[smt2_oracle, z3_new_extensions]] + by smt2+ lemma "\ cx = 3, cy = 4, black = b \ \ black := w \ = \ cx = 3, cy = 4, black = w \" @@ -893,9 +878,8 @@ "p \ cx := 3 \ \ cy := 4 \ \ black := True \ = p \ black := True \ \ cy := 4 \ \ cx := 3 \" using point.simps bw_point.simps - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - using [[z3_options="AUTO_CONFIG=false"]] - by smt + using [[smt2_oracle, z3_new_extensions]] + by smt2 subsubsection {* Type definitions *} @@ -907,10 +891,8 @@ "nplus n1 n1 = n2" "nplus n1 n2 = n3" using n1_def n2_def n3_def nplus_def - using [[smt_datatypes, smt_oracle, z3_with_extensions]] - using [[z3_options="AUTO_CONFIG=false"]] - by smt+ - + using [[smt2_oracle, z3_new_extensions]] + by smt2+ section {* Function updates *} @@ -924,7 +906,7 @@ "i1 = i2 \ (f (i1 := v1, i2 := v2)) i1 = v2" "i1 \ i2 \i1 \ i3 \ i2 \ i3 \ (f (i1 := v1, i2 := v2)) i3 = f i3" using fun_upd_same fun_upd_apply - by smt+ + by smt2+ @@ -932,7 +914,7 @@ lemma Empty: "x \ {}" by simp -lemmas smt_sets = Empty UNIV_I Un_iff Int_iff +lemmas smt2_sets = Empty UNIV_I Un_iff Int_iff lemma "x \ {}" @@ -950,6 +932,6 @@ "x \ P \ P \ x \ P" "x \ P \ (Q \ R) \ x \ (P \ Q) \ R" "{x. x \ P} = {y. y \ P}" - by (smt smt_sets)+ + by (smt2 smt2_sets)+ end diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Word_Examples.certs --- a/src/HOL/SMT_Examples/SMT_Word_Examples.certs Thu Mar 13 13:18:13 2014 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -ef8166854c461e296fe9c596b7a3fe12065b0c65 1 0 -unsat -d1ec4aa8c4a5f474e8dbb8a8acbdd12fc33b0cda 1 0 -unsat -03dee604b20d98218bc88a69efcbf0f1c6dc057a 1 0 -unsat -6a68bdb5b2a92a239021f6188a807622fe7b8213 1 0 -unsat -9be3195f24c1786963c05e51e63a24efa7c83141 1 0 -unsat -608ed753221bdf2f1769ea3686a0f970108a7087 1 0 -unsat -610484e81fc38952a9a2cb0bfc83d424f7f96ca8 1 0 -unsat -0a06a4c179bec3512f3dc01e338f246fca223ddb 1 0 -unsat -dd232118189a55ac7fc80599d2738be8bbaa9333 1 0 -unsat -8426f9081bd693e21cd8b2e13d07cea1e69e8abd 1 0 -unsat -8d83ab1c5a55640d0165bbd736d2cc217bcc2efd 1 0 -unsat -542ef8141028455b42a51f60e3981a74373a60b3 1 0 -unsat -564709a03da50b938c3b1ab2a8a2f0dc8d8a4749 1 0 -unsat -c4acaeb4324634878481e3faae3beae53a641067 1 0 -unsat -873ce0289bcfaf43a446c6ed55bec4289eea0ffd 1 0 -unsat -8383b80b5e8011f2b51c01ea89c14ce766f5a82b 1 0 -unsat -6694dc1c5420588e5e48281a8835ac019bfb1aa7 1 0 -unsat -4094196f5d25f48682e6634b4326469abc38d250 1 0 -unsat -0597f614ff89c7376d01987b4737ab991b5a321c 1 0 -unsat -44f955a3f3fab3f5203ec29edc7e00e7cb81bedc 1 0 -unsat -927e5f0e88fadf6d2f604b1d863a37fc682f942b 1 0 -unsat -818922160b53f843888d258a1ef7e5d5ddf5129f 1 0 -unsat -afc6dff121c48475665b0ef064826ffa2cad0e85 1 0 -unsat -b9ab61d9521faeaa45ec63bff4581742c3e6c550 1 0 -unsat -8e60769fce6622cdca312aa54d4a77329a99dac2 1 0 -unsat -bd55726cefc783f8e9ef4ad38596e1f24cca3663 1 0 -unsat -4e48efd5c9874aedf200e06875d5597b31d98075 1 0 -unsat -e5c27ae0a583eeafeaa4ef3c59b1b4ec53e06b0f 1 0 -unsat -7d3ef49480d3ed3a7e5f2d7a12e7108cf7fc7819 1 0 -unsat diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Word_Examples.certs2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/HOL/SMT_Examples/SMT_Word_Examples.certs2 Thu Mar 13 13:18:13 2014 +0100 @@ -0,0 +1,434 @@ +a438ed86857e9b990f36b8fba1876d2ee3208e44 8 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (bvneg (_ bv5 4)) (_ bv11 4))) (= (= (_ bv11 4) (bvneg (_ bv5 4))) (= (_ bv11 4) (_ bv11 4)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv11 4) (_ bv11 4)) true)) (= (= (_ bv11 4) (bvneg (_ bv5 4))) true)))) +(let ((@x28 (trans (monotonicity @x21 (= (not (= (_ bv11 4) (bvneg (_ bv5 4)))) (not true))) (rewrite (= (not true) false)) (= (not (= (_ bv11 4) (bvneg (_ bv5 4)))) false)))) +(mp (asserted (not (= (_ bv11 4) (bvneg (_ bv5 4))))) @x28 false)))))) + +9b71beed4cadbb1c6e2962eb013e86c8f71abf17 9 0 +unsat +((set-logic ) +(proof +(let ((@x20 (monotonicity (rewrite (= (bvule (_ bv27 8) (_ bv23 8)) false)) (= (not (bvule (_ bv27 8) (_ bv23 8))) (not false))))) +(let ((@x24 (trans @x20 (rewrite (= (not false) true)) (= (not (bvule (_ bv27 8) (_ bv23 8))) true)))) +(let ((@x26 (trans (rewrite (= (bvult (_ bv23 8) (_ bv27 8)) (not (bvule (_ bv27 8) (_ bv23 8))))) @x24 (= (bvult (_ bv23 8) (_ bv27 8)) true)))) +(let ((@x33 (trans (monotonicity @x26 (= (not (bvult (_ bv23 8) (_ bv27 8))) (not true))) (rewrite (= (not true) false)) (= (not (bvult (_ bv23 8) (_ bv27 8))) false)))) +(mp (asserted (not (bvult (_ bv23 8) (_ bv27 8)))) @x33 false))))))) + +83e5e97d82127f63e5519904051508641143369d 7 0 +unsat +((set-logic ) +(proof +(let ((@x15 (monotonicity (rewrite (= (= (_ bv11 4) (_ bv11 4)) true)) (= (not (= (_ bv11 4) (_ bv11 4))) (not true))))) +(let ((@x19 (trans @x15 (rewrite (= (not true) false)) (= (not (= (_ bv11 4) (_ bv11 4))) false)))) +(mp (asserted (not (= (_ bv11 4) (_ bv11 4)))) @x19 false))))) + +1e5c1dd05129223256f56ebbd2d47effcee4561c 9 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5))) (= (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5)) (= (_ bv6 5) (_ bv6 5)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv6 5) (_ bv6 5)) true)) (= (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5)) true)))) +(let ((@x24 (monotonicity @x21 (= (not (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5))) (not true))))) +(let ((@x28 (trans @x24 (rewrite (= (not true) false)) (= (not (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5))) false)))) +(mp (asserted (not (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5)))) @x28 false))))))) + +2999cde57fdda8b4770e92440b939692e4a6aa5f 12 0 +unsat +((set-logic ) +(proof +(let ((@x25 (monotonicity (rewrite (= (bvmul (_ bv255 8) (_ bv27 8)) (_ bv229 8))) (= (bvadd (_ bv11 8) (bvmul (_ bv255 8) (_ bv27 8))) (bvadd (_ bv11 8) (_ bv229 8)))))) +(let ((@x30 (trans @x25 (rewrite (= (bvadd (_ bv11 8) (_ bv229 8)) (_ bv240 8))) (= (bvadd (_ bv11 8) (bvmul (_ bv255 8) (_ bv27 8))) (_ bv240 8))))) +(let ((@x32 (trans (rewrite (= (bvsub (_ bv11 8) (_ bv27 8)) (bvadd (_ bv11 8) (bvmul (_ bv255 8) (_ bv27 8))))) @x30 (= (bvsub (_ bv11 8) (_ bv27 8)) (_ bv240 8))))) +(let ((@x37 (monotonicity @x32 (rewrite (= (bvneg (_ bv16 8)) (_ bv240 8))) (= (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))) (= (_ bv240 8) (_ bv240 8)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv240 8) (_ bv240 8)) true)) (= (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8)))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8)))) false)))) +(mp (asserted (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))))) @x48 false)))))))))) + +5276e53d12319b7263028b7b35a0e825901a044d 9 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8))) (= (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8)) (= (_ bv21 8) (_ bv21 8)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv21 8) (_ bv21 8)) true)) (= (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8)) true)))) +(let ((@x24 (monotonicity @x21 (= (not (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8))) (not true))))) +(let ((@x28 (trans @x24 (rewrite (= (not true) false)) (= (not (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8))) false)))) +(mp (asserted (not (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8)))) @x28 false))))))) + +234b2b4e895fc2df774f19f02134d0ca4a5a16a1 7 0 +unsat +((set-logic ) +(proof +(let ((@x15 (monotonicity (rewrite (= (= (_ bv11 5) (_ bv11 5)) true)) (= (not (= (_ bv11 5) (_ bv11 5))) (not true))))) +(let ((@x19 (trans @x15 (rewrite (= (not true) false)) (= (not (= (_ bv11 5) (_ bv11 5))) false)))) +(mp (asserted (not (= (_ bv11 5) (_ bv11 5)))) @x19 false))))) + +dc503704730fb3b59f839ff9f108d372052a8660 11 0 +unsat +((set-logic ) +(proof +(let ((@x21 (monotonicity (rewrite (= (bvneg (_ bv40 7)) (_ bv88 7))) (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvadd (_ bv88 7) (_ bv1 7)))))) +(let ((@x26 (trans @x21 (rewrite (= (bvadd (_ bv88 7) (_ bv1 7)) (_ bv89 7))) (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (_ bv89 7))))) +(let ((@x31 (monotonicity @x26 (rewrite (= (bvneg (_ bv39 7)) (_ bv89 7))) (= (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7))) (= (_ bv89 7) (_ bv89 7)))))) +(let ((@x35 (trans @x31 (rewrite (= (= (_ bv89 7) (_ bv89 7)) true)) (= (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7))) true)))) +(let ((@x38 (monotonicity @x35 (= (not (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7)))) (not true))))) +(let ((@x42 (trans @x38 (rewrite (= (not true) false)) (= (not (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7)))) false)))) +(mp (asserted (not (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7))))) @x42 false))))))))) + +a1e71f94523b4cd464028b84ee475aaff660cb0f 16 0 +unsat +((set-logic ) +(proof +(let ((?x12 (bvsub (bvadd (bvadd |$a| (bvmul (_ bv2 32) |$b|)) |$c|) |$b|))) +(let (($x15 (= ?x12 (bvadd (bvadd |$b| |$c|) |$a|)))) +(let (($x16 (not $x15))) +(let ((@x45 (rewrite (= (= (bvadd |$a| |$b| |$c|) (bvadd |$b| |$c| |$a|)) true)))) +(let ((?x33 (bvadd |$a| |$b| |$c|))) +(let ((?x20 (bvadd |$a| (bvmul (_ bv2 32) |$b|) |$c|))) +(let ((?x28 (bvadd ?x20 (bvmul (_ bv4294967295 32) |$b|)))) +(let ((@x25 (monotonicity (rewrite (= (bvadd (bvadd |$a| (bvmul (_ bv2 32) |$b|)) |$c|) ?x20)) (= ?x12 (bvsub ?x20 |$b|))))) +(let ((@x37 (trans (trans @x25 (rewrite (= (bvsub ?x20 |$b|) ?x28)) (= ?x12 ?x28)) (rewrite (= ?x28 ?x33)) (= ?x12 ?x33)))) +(let ((@x43 (monotonicity @x37 (rewrite (= (bvadd (bvadd |$b| |$c|) |$a|) (bvadd |$b| |$c| |$a|))) (= $x15 (= ?x33 (bvadd |$b| |$c| |$a|)))))) +(let ((@x50 (monotonicity (trans @x43 @x45 (= $x15 true)) (= $x16 (not true))))) +(mp (asserted $x16) (trans @x50 (rewrite (= (not true) false)) (= $x16 false)) false)))))))))))))) + +07ce4ddeaf1a897fd86c82ea0be2917368402c4b 14 0 +unsat +((set-logic ) +(proof +(let (($x10 (= (bvmul (_ bv4 4) |$x|) (_ bv4 4)))) +(let (($x7 (= |$x| (_ bv5 4)))) +(let ((@x22 (monotonicity (rewrite (= (=> $x7 $x10) (or (not $x7) $x10))) (= (not (=> $x7 $x10)) (not (or (not $x7) $x10)))))) +(let ((@x24 (|not-or-elim| (mp (asserted (not (=> $x7 $x10))) @x22 (not (or (not $x7) $x10))) $x7))) +(let ((@x32 (trans (monotonicity @x24 (= (bvmul (_ bv4 4) |$x|) (bvmul (_ bv4 4) (_ bv5 4)))) (rewrite (= (bvmul (_ bv4 4) (_ bv5 4)) (_ bv4 4))) $x10))) +(let ((@x39 (trans (monotonicity @x32 (= $x10 (= (_ bv4 4) (_ bv4 4)))) (rewrite (= (= (_ bv4 4) (_ bv4 4)) true)) (= $x10 true)))) +(let ((@x46 (trans (monotonicity @x39 (= (not $x10) (not true))) (rewrite (= (not true) false)) (= (not $x10) false)))) +(let (($x25 (not $x10))) +(let ((@x26 (|not-or-elim| (mp (asserted (not (=> $x7 $x10))) @x22 (not (or (not $x7) $x10))) $x25))) +(mp @x26 @x46 false)))))))))))) + +bf082d012c77348e9e5c8d77f54b71808a9a2b45 13 0 +unsat +((set-logic ) +(proof +(let (($x9 (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32)))) +(let ((@x28 (monotonicity (rewrite (= (bvnot (_ bv6 32)) (_ bv4294967289 32))) (rewrite (= (bvnot (_ bv5 32)) (_ bv4294967290 32))) (= (bvor (bvnot (_ bv6 32)) (bvnot (_ bv5 32))) (bvor (_ bv4294967289 32) (_ bv4294967290 32)))))) +(let ((@x33 (trans @x28 (rewrite (= (bvor (_ bv4294967289 32) (_ bv4294967290 32)) (_ bv4294967291 32))) (= (bvor (bvnot (_ bv6 32)) (bvnot (_ bv5 32))) (_ bv4294967291 32))))) +(let ((@x36 (monotonicity @x33 (= (bvnot (bvor (bvnot (_ bv6 32)) (bvnot (_ bv5 32)))) (bvnot (_ bv4294967291 32)))))) +(let ((@x40 (trans @x36 (rewrite (= (bvnot (_ bv4294967291 32)) (_ bv4 32))) (= (bvnot (bvor (bvnot (_ bv6 32)) (bvnot (_ bv5 32)))) (_ bv4 32))))) +(let ((@x19 (rewrite (= (bvand (_ bv6 32) (_ bv5 32)) (bvnot (bvor (bvnot (_ bv6 32)) (bvnot (_ bv5 32)))))))) +(let ((@x48 (trans (monotonicity (trans @x19 @x40 $x9) (= $x9 (= (_ bv4 32) (_ bv4 32)))) (rewrite (= (= (_ bv4 32) (_ bv4 32)) true)) (= $x9 true)))) +(let ((@x55 (trans (monotonicity @x48 (= (not $x9) (not true))) (rewrite (= (not true) false)) (= (not $x9) false)))) +(mp (asserted (not $x9)) @x55 false))))))))))) + +224e3adf486b015b2b86fd13b422d3432d5dd2ea 9 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8))) (= (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8)) (= (_ bv7 8) (_ bv7 8)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv7 8) (_ bv7 8)) true)) (= (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8)) true)))) +(let ((@x24 (monotonicity @x21 (= (not (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8))) (not true))))) +(let ((@x28 (trans @x24 (rewrite (= (not true) false)) (= (not (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8))) false)))) +(mp (asserted (not (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8)))) @x28 false))))))) + +6f410cdf4d96b9ee8b7b886db44e51fe495aad40 9 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8))) (= (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8)) (= (_ bv15 8) (_ bv15 8)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv15 8) (_ bv15 8)) true)) (= (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8)) true)))) +(let ((@x24 (monotonicity @x21 (= (not (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8))) (not true))))) +(let ((@x28 (trans @x24 (rewrite (= (not true) false)) (= (not (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8))) false)))) +(mp (asserted (not (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8)))) @x28 false))))))) + +75e911429d9da77b77c961a3f11bf4fae39c1289 8 0 +unsat +((set-logic ) +(proof +(let ((@x16 (monotonicity (rewrite (= (bvnot (_ bv240 16)) (_ bv65295 16))) (= (= (bvnot (_ bv240 16)) (_ bv65295 16)) (= (_ bv65295 16) (_ bv65295 16)))))) +(let ((@x20 (trans @x16 (rewrite (= (= (_ bv65295 16) (_ bv65295 16)) true)) (= (= (bvnot (_ bv240 16)) (_ bv65295 16)) true)))) +(let ((@x27 (trans (monotonicity @x20 (= (not (= (bvnot (_ bv240 16)) (_ bv65295 16))) (not true))) (rewrite (= (not true) false)) (= (not (= (bvnot (_ bv240 16)) (_ bv65295 16))) false)))) +(mp (asserted (not (= (bvnot (_ bv240 16)) (_ bv65295 16)))) @x27 false)))))) + +144996e0132e6e5e8657189d4b8fc16447f15f7f 9 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12))) (= (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12)) (= (_ bv2843 12) (_ bv2843 12)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv2843 12) (_ bv2843 12)) true)) (= (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12)) true)))) +(let ((@x24 (monotonicity @x21 (= (not (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12))) (not true))))) +(let ((@x28 (trans @x24 (rewrite (= (not true) false)) (= (not (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12))) false)))) +(mp (asserted (not (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12)))) @x28 false))))))) + +dedf960210e12ce3dfe685dabb09a7ae103a6b34 9 0 +unsat +((set-logic ) +(proof +(let ((@x17 (monotonicity (rewrite (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) (= (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)) (= (_ bv207 10) (_ bv207 10)))))) +(let ((@x21 (trans @x17 (rewrite (= (= (_ bv207 10) (_ bv207 10)) true)) (= (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)) true)))) +(let ((@x24 (monotonicity @x21 (= (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) (not true))))) +(let ((@x28 (trans @x24 (rewrite (= (not true) false)) (= (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) false)))) +(mp (asserted (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)))) @x28 false))))))) + +efa324caae835caf47cbb2d21e18358840d28baa 8 0 +unsat +((set-logic ) +(proof +(let ((@x36 (monotonicity (rewrite (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) (= (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)) (= (_ bv3 2) (_ bv3 2)))))) +(let ((@x40 (trans @x36 (rewrite (= (= (_ bv3 2) (_ bv3 2)) true)) (= (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)) true)))) +(let ((@x47 (trans (monotonicity @x40 (= (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) (not true))) (rewrite (= (not true) false)) (= (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) false)))) +(mp (asserted (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)))) @x47 false)))))) + +21eb47482df6fb5cf3198774bf96beedaec719a7 9 0 +unsat +((set-logic ) +(proof +(let (($x8 (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10)))) +(let ((@x19 (trans (rewrite (= ((_ zero_extend 6) (_ bv10 4)) (concat (_ bv0 6) (_ bv10 4)))) (rewrite (= (concat (_ bv0 6) (_ bv10 4)) (_ bv10 10))) $x8))) +(let ((@x26 (trans (monotonicity @x19 (= $x8 (= (_ bv10 10) (_ bv10 10)))) (rewrite (= (= (_ bv10 10) (_ bv10 10)) true)) (= $x8 true)))) +(let ((@x33 (trans (monotonicity @x26 (= (not $x8) (not true))) (rewrite (= (not true) false)) (= (not $x8) false)))) +(mp (asserted (not $x8)) @x33 false))))))) + +4b811cc374f3df84ff1252430c602976203f62f2 9 0 +unsat +((set-logic ) +(proof +(let ((@x16 (monotonicity (rewrite (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6))) (= (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6)) (= (_ bv58 6) (_ bv58 6)))))) +(let ((@x20 (trans @x16 (rewrite (= (= (_ bv58 6) (_ bv58 6)) true)) (= (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6)) true)))) +(let ((@x23 (monotonicity @x20 (= (not (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6))) (not true))))) +(let ((@x27 (trans @x23 (rewrite (= (not true) false)) (= (not (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6))) false)))) +(mp (asserted (not (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6)))) @x27 false))))))) + +80eccdbf8bbcc6ea1d4f3857bd01f3a1ad159ef2 9 0 +unsat +((set-logic ) +(proof +(let ((@x37 (monotonicity (rewrite (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) (= (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)) (= (_ bv76 8) (_ bv76 8)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv76 8) (_ bv76 8)) true)) (= (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) false)))) +(mp (asserted (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)))) @x48 false))))))) + +97eb054e915337f30396aae674e0c82d561ec48b 9 0 +unsat +((set-logic ) +(proof +(let ((@x37 (monotonicity (rewrite (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) (= (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)) (= (_ bv4 8) (_ bv4 8)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv4 8) (_ bv4 8)) true)) (= (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) false)))) +(mp (asserted (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)))) @x48 false))))))) + +a91b3649f65952bf743777b618e6da6b37fcc95f 9 0 +unsat +((set-logic ) +(proof +(let ((@x37 (monotonicity (rewrite (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8))) (= (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8)) (= (_ bv6 8) (_ bv6 8)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv6 8) (_ bv6 8)) true)) (= (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8)) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8))) false)))) +(mp (asserted (not (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8)))) @x48 false))))))) + +329e4f3ee0408af9d367ae6246fb53276a50a32f 11 0 +unsat +((set-logic ) +(proof +(let (($x8 (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)))) +(let ((@x45 (monotonicity (rewrite (= ((_ extract 2 0) (_ bv14 4)) (_ bv6 3))) (rewrite (= ((_ extract 3 3) (_ bv14 4)) (_ bv1 1))) (= (concat ((_ extract 2 0) (_ bv14 4)) ((_ extract 3 3) (_ bv14 4))) (concat (_ bv6 3) (_ bv1 1)))))) +(let ((@x49 (trans @x45 (rewrite (= (concat (_ bv6 3) (_ bv1 1)) (_ bv13 4))) (= (concat ((_ extract 2 0) (_ bv14 4)) ((_ extract 3 3) (_ bv14 4))) (_ bv13 4))))) +(let ((@x50 (trans (rewrite (= ((_ rotate_left 1) (_ bv14 4)) (concat ((_ extract 2 0) (_ bv14 4)) ((_ extract 3 3) (_ bv14 4))))) @x49 $x8))) +(let ((@x57 (trans (monotonicity @x50 (= $x8 (= (_ bv13 4) (_ bv13 4)))) (rewrite (= (= (_ bv13 4) (_ bv13 4)) true)) (= $x8 true)))) +(let ((@x64 (trans (monotonicity @x57 (= (not $x8) (not true))) (rewrite (= (not true) false)) (= (not $x8) false)))) +(mp (asserted (not $x8)) @x64 false))))))))) + +591572ec6e8cad807a5a51108eafba79636afecf 11 0 +unsat +((set-logic ) +(proof +(let (($x8 (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4)))) +(let ((@x46 (monotonicity (rewrite (= ((_ extract 1 0) (_ bv6 4)) (_ bv2 2))) (rewrite (= ((_ extract 3 2) (_ bv6 4)) (_ bv1 2))) (= (concat ((_ extract 1 0) (_ bv6 4)) ((_ extract 3 2) (_ bv6 4))) (concat (_ bv2 2) (_ bv1 2)))))) +(let ((@x50 (trans @x46 (rewrite (= (concat (_ bv2 2) (_ bv1 2)) (_ bv9 4))) (= (concat ((_ extract 1 0) (_ bv6 4)) ((_ extract 3 2) (_ bv6 4))) (_ bv9 4))))) +(let ((@x37 (rewrite (= ((_ rotate_right 2) (_ bv6 4)) (concat ((_ extract 1 0) (_ bv6 4)) ((_ extract 3 2) (_ bv6 4))))))) +(let ((@x58 (trans (monotonicity (trans @x37 @x50 $x8) (= $x8 (= (_ bv9 4) (_ bv9 4)))) (rewrite (= (= (_ bv9 4) (_ bv9 4)) true)) (= $x8 true)))) +(let ((@x65 (trans (monotonicity @x58 (= (not $x8) (not true))) (rewrite (= (not true) false)) (= (not $x8) false)))) +(mp (asserted (not $x8)) @x65 false))))))))) + +06e703e92f9238355e516e861c984a3eb7d984a8 44 0 +unsat +((set-logic ) +(proof +(let ((?x9 (bvand |$x| (_ bv255 16)))) +(let ((?x7 (bvand |$x| (_ bv65280 16)))) +(let ((?x10 (bvor ?x7 ?x9))) +(let (($x11 (= ?x10 |$x|))) +(let (($x12 (not $x11))) +(let ((?x113 (concat ((_ extract 15 8) (concat ((_ extract 15 8) |$x|) (_ bv0 8))) ((_ extract 7 0) (concat (_ bv0 8) ((_ extract 7 0) |$x|)))))) +(let ((@x124 (monotonicity (rewrite (= ((_ extract 15 8) (concat ((_ extract 15 8) |$x|) (_ bv0 8))) ((_ extract 15 8) |$x|))) (rewrite (= ((_ extract 7 0) (concat (_ bv0 8) ((_ extract 7 0) |$x|))) ((_ extract 7 0) |$x|))) (= ?x113 (concat ((_ extract 15 8) |$x|) ((_ extract 7 0) |$x|)))))) +(let ((@x129 (trans @x124 (rewrite (= (concat ((_ extract 15 8) |$x|) ((_ extract 7 0) |$x|)) ((_ extract 15 0) |$x|))) (= ?x113 ((_ extract 15 0) |$x|))))) +(let (($x114 (= (bvor (concat ((_ extract 15 8) |$x|) (_ bv0 8)) (concat (_ bv0 8) ((_ extract 7 0) |$x|))) ?x113))) +(let (($x109 (= ?x10 (bvor (concat ((_ extract 15 8) |$x|) (_ bv0 8)) (concat (_ bv0 8) ((_ extract 7 0) |$x|)))))) +(let ((?x81 ((_ extract 7 0) |$x|))) +(let ((?x101 (concat (_ bv0 8) ?x81))) +(let ((?x16 (bvnot |$x|))) +(let ((?x66 (bvor ?x16 (bvnot (_ bv255 16))))) +(let ((?x67 (bvnot ?x66))) +(let ((@x103 (monotonicity (rewrite (= (bvnot (_ bv255 8)) (_ bv0 8))) (rewrite (= (bvnot (bvnot ?x81)) ?x81)) (= (concat (bvnot (_ bv255 8)) (bvnot (bvnot ?x81))) ?x101)))) +(let ((?x47 (bvnot (_ bv255 8)))) +(let ((?x94 (concat ?x47 (bvnot (bvnot ?x81))))) +(let ((@x87 (monotonicity (rewrite (= ((_ extract 7 0) ?x16) (bvnot ?x81))) (= (concat (_ bv255 8) ((_ extract 7 0) ?x16)) (concat (_ bv255 8) (bvnot ?x81)))))) +(let ((@x74 (monotonicity (rewrite (= (bvnot (_ bv255 16)) (_ bv65280 16))) (= ?x66 (bvor ?x16 (_ bv65280 16)))))) +(let ((@x80 (trans @x74 (rewrite (= (bvor ?x16 (_ bv65280 16)) (concat (_ bv255 8) ((_ extract 7 0) ?x16)))) (= ?x66 (concat (_ bv255 8) ((_ extract 7 0) ?x16)))))) +(let ((@x92 (monotonicity (trans @x80 @x87 (= ?x66 (concat (_ bv255 8) (bvnot ?x81)))) (= ?x67 (bvnot (concat (_ bv255 8) (bvnot ?x81))))))) +(let ((@x98 (trans @x92 (rewrite (= (bvnot (concat (_ bv255 8) (bvnot ?x81))) ?x94)) (= ?x67 ?x94)))) +(let ((@x107 (trans (rewrite (= ?x9 ?x67)) (trans @x98 @x103 (= ?x67 ?x101)) (= ?x9 ?x101)))) +(let ((?x34 ((_ extract 15 8) |$x|))) +(let ((?x58 (concat ?x34 (_ bv0 8)))) +(let ((?x48 (concat (bvnot (bvnot ?x34)) ?x47))) +(let ((@x60 (monotonicity (rewrite (= (bvnot (bvnot ?x34)) ?x34)) (rewrite (= ?x47 (_ bv0 8))) (= ?x48 ?x58)))) +(let ((?x18 (bvor ?x16 (bvnot (_ bv65280 16))))) +(let ((?x19 (bvnot ?x18))) +(let ((@x40 (monotonicity (rewrite (= ((_ extract 15 8) ?x16) (bvnot ?x34))) (= (concat ((_ extract 15 8) ?x16) (_ bv255 8)) (concat (bvnot ?x34) (_ bv255 8)))))) +(let ((@x26 (monotonicity (rewrite (= (bvnot (_ bv65280 16)) (_ bv255 16))) (= ?x18 (bvor ?x16 (_ bv255 16)))))) +(let ((@x33 (trans @x26 (rewrite (= (bvor ?x16 (_ bv255 16)) (concat ((_ extract 15 8) ?x16) (_ bv255 8)))) (= ?x18 (concat ((_ extract 15 8) ?x16) (_ bv255 8)))))) +(let ((@x45 (monotonicity (trans @x33 @x40 (= ?x18 (concat (bvnot ?x34) (_ bv255 8)))) (= ?x19 (bvnot (concat (bvnot ?x34) (_ bv255 8))))))) +(let ((@x52 (trans @x45 (rewrite (= (bvnot (concat (bvnot ?x34) (_ bv255 8))) ?x48)) (= ?x19 ?x48)))) +(let ((@x64 (trans (rewrite (= ?x7 ?x19)) (trans @x52 @x60 (= ?x19 ?x58)) (= ?x7 ?x58)))) +(let ((@x134 (trans (trans (monotonicity @x64 @x107 $x109) (rewrite $x114) (= ?x10 ?x113)) (trans @x129 (rewrite (= ((_ extract 15 0) |$x|) |$x|)) (= ?x113 |$x|)) $x11))) +(let ((@x141 (trans (monotonicity @x134 (= $x11 (= |$x| |$x|))) (rewrite (= (= |$x| |$x|) true)) (= $x11 true)))) +(let ((@x148 (trans (monotonicity @x141 (= $x12 (not true))) (rewrite (= (not true) false)) (= $x12 false)))) +(mp (asserted $x12) @x148 false)))))))))))))))))))))))))))))))))))))))))) + +9e9d8bb4c49a1669973a1c2e9f8c033d853f6801 97 0 +unsat +((set-logic ) +(declare-fun k!150 () Bool) +(declare-fun k!140 () Bool) +(declare-fun k!130 () Bool) +(declare-fun k!120 () Bool) +(declare-fun k!110 () Bool) +(declare-fun k!100 () Bool) +(declare-fun k!90 () Bool) +(declare-fun k!80 () Bool) +(declare-fun k!70 () Bool) +(declare-fun k!60 () Bool) +(declare-fun k!50 () Bool) +(declare-fun k!40 () Bool) +(declare-fun k!30 () Bool) +(declare-fun k!20 () Bool) +(declare-fun k!10 () Bool) +(declare-fun k!00 () Bool) +(proof +(let (($x199 (or k!80 k!90 k!100 k!110 k!120 k!130 k!140 k!150))) +(let (($x364 (= (or false false false false false false false false) false))) +(let (($x362 (= $x199 (or false false false false false false false false)))) +(let (($x312 (= k!150 false))) +(let ((@x316 (symm (rewrite (= $x312 (not k!150))) (= (not k!150) $x312)))) +(let (($x143 (not k!150))) +(let (($x119 (not (or k!90 k!80 (not (or (not k!90) (not k!80))))))) +(let (($x118 (not k!100))) +(let (($x122 (or k!100 (or k!90 k!80 (not (or (not k!90) (not k!80)))) (not (or $x118 $x119))))) +(let (($x123 (not k!110))) +(let (($x128 (not k!120))) +(let (($x131 (not (or $x128 (not (or k!110 $x122 (not (or $x123 (not $x122))))))))) +(let (($x134 (not (or k!120 (or k!110 $x122 (not (or $x123 (not $x122)))) $x131)))) +(let (($x133 (not k!130))) +(let (($x137 (or k!130 (or k!120 (or k!110 $x122 (not (or $x123 (not $x122)))) $x131) (not (or $x133 $x134))))) +(let (($x138 (not k!140))) +(let (($x146 (not (or $x143 (not (or k!140 $x137 (not (or $x138 (not $x137))))))))) +(let (($x147 (or k!150 (or k!140 $x137 (not (or $x138 (not $x137)))) $x146))) +(let ((?x107 (mkbv k!00 k!10 k!20 k!30 k!40 k!50 k!60 k!70 k!80 k!90 k!100 k!110 k!120 k!130 k!140 k!150))) +(let ((?x88 (mkbv false false false false false false false false true false false false false false false false))) +(let ((@x109 (rewrite (= |$w| ?x107)))) +(let ((@x112 (monotonicity (rewrite (= (_ bv256 16) ?x88)) @x109 (= (bvule (_ bv256 16) |$w|) (bvule ?x88 ?x107))))) +(let ((@x151 (trans @x112 (rewrite (= (bvule ?x88 ?x107) $x147)) (= (bvule (_ bv256 16) |$w|) $x147)))) +(let (($x16 (bvule (_ bv256 16) |$w|))) +(let (($x17 (not $x16))) +(let (($x11 (=> (bvult |$w| (_ bv256 16)) (= (bvand |$w| (_ bv255 16)) |$w|)))) +(let (($x12 (not $x11))) +(let ((?x39 ((_ extract 7 0) |$w|))) +(let ((?x63 (concat (_ bv0 8) ?x39))) +(let (($x70 (= ?x63 |$w|))) +(let (($x76 (or $x16 $x70))) +(let ((@x65 (monotonicity (rewrite (= (bvnot (_ bv255 8)) (_ bv0 8))) (rewrite (= (bvnot (bvnot ?x39)) ?x39)) (= (concat (bvnot (_ bv255 8)) (bvnot (bvnot ?x39))) ?x63)))) +(let ((?x53 (concat (bvnot (_ bv255 8)) (bvnot (bvnot ?x39))))) +(let ((?x20 (bvnot |$w|))) +(let ((?x22 (bvor ?x20 (bvnot (_ bv255 16))))) +(let ((?x23 (bvnot ?x22))) +(let ((@x45 (monotonicity (rewrite (= ((_ extract 7 0) ?x20) (bvnot ?x39))) (= (concat (_ bv255 8) ((_ extract 7 0) ?x20)) (concat (_ bv255 8) (bvnot ?x39)))))) +(let ((@x31 (monotonicity (rewrite (= (bvnot (_ bv255 16)) (_ bv65280 16))) (= ?x22 (bvor ?x20 (_ bv65280 16)))))) +(let ((@x38 (trans @x31 (rewrite (= (bvor ?x20 (_ bv65280 16)) (concat (_ bv255 8) ((_ extract 7 0) ?x20)))) (= ?x22 (concat (_ bv255 8) ((_ extract 7 0) ?x20)))))) +(let ((@x50 (monotonicity (trans @x38 @x45 (= ?x22 (concat (_ bv255 8) (bvnot ?x39)))) (= ?x23 (bvnot (concat (_ bv255 8) (bvnot ?x39))))))) +(let ((@x57 (trans @x50 (rewrite (= (bvnot (concat (_ bv255 8) (bvnot ?x39))) ?x53)) (= ?x23 ?x53)))) +(let ((@x69 (trans (rewrite (= (bvand |$w| (_ bv255 16)) ?x23)) (trans @x57 @x65 (= ?x23 ?x63)) (= (bvand |$w| (_ bv255 16)) ?x63)))) +(let ((@x75 (monotonicity (rewrite (= (bvult |$w| (_ bv256 16)) $x17)) (monotonicity @x69 (= (= (bvand |$w| (_ bv255 16)) |$w|) $x70)) (= $x11 (=> $x17 $x70))))) +(let ((@x83 (monotonicity (trans @x75 (rewrite (= (=> $x17 $x70) $x76)) (= $x11 $x76)) (= $x12 (not $x76))))) +(let ((@x155 (mp (|not-or-elim| (mp (asserted $x12) @x83 (not $x76)) $x17) (monotonicity @x151 (= $x17 (not $x147))) (not $x147)))) +(let (($x318 (= k!140 false))) +(let ((@x157 (|not-or-elim| @x155 (not (or k!140 $x137 (not (or $x138 (not $x137)))))))) +(let ((@x323 (mp (|not-or-elim| @x157 $x138) (symm (rewrite (= $x318 $x138)) (= $x138 $x318)) $x318))) +(let (($x324 (= k!130 false))) +(let ((@x329 (mp (|not-or-elim| (|not-or-elim| @x157 (not $x137)) $x133) (symm (rewrite (= $x324 $x133)) (= $x133 $x324)) $x324))) +(let (($x330 (= k!120 false))) +(let ((@x335 (mp (|not-or-elim| (|not-or-elim| (|not-or-elim| @x157 (not $x137)) $x134) $x128) (symm (rewrite (= $x330 $x128)) (= $x128 $x330)) $x330))) +(let (($x336 (= k!110 false))) +(let ((@x163 (|not-or-elim| (|not-or-elim| (|not-or-elim| @x157 (not $x137)) $x134) (not (or k!110 $x122 (not (or $x123 (not $x122)))))))) +(let ((@x341 (mp (|not-or-elim| @x163 $x123) (symm (rewrite (= $x336 $x123)) (= $x123 $x336)) $x336))) +(let (($x342 (= k!100 false))) +(let ((@x347 (mp (|not-or-elim| (|not-or-elim| @x163 (not $x122)) $x118) (symm (rewrite (= $x342 $x118)) (= $x118 $x342)) $x342))) +(let (($x348 (= k!90 false))) +(let ((@x352 (symm (rewrite (= $x348 (not k!90))) (= (not k!90) $x348)))) +(let (($x113 (not k!90))) +(let ((@x353 (mp (|not-or-elim| (|not-or-elim| (|not-or-elim| @x163 (not $x122)) $x119) $x113) @x352 $x348))) +(let (($x354 (= k!80 false))) +(let ((@x358 (symm (rewrite (= $x354 (not k!80))) (= (not k!80) $x354)))) +(let (($x114 (not k!80))) +(let ((@x359 (mp (|not-or-elim| (|not-or-elim| (|not-or-elim| @x163 (not $x122)) $x119) $x114) @x358 $x354))) +(let ((@x363 (monotonicity @x359 @x353 @x347 @x341 @x335 @x329 @x323 (mp (|not-or-elim| @x155 $x143) @x316 $x312) $x362))) +(let (($x200 (not $x199))) +(let (($x205 (not $x200))) +(let ((?x191 (mkbv k!00 k!10 k!20 k!30 k!40 k!50 k!60 k!70 false false false false false false false false))) +(let ((?x183 (mkbv k!00 k!10 k!20 k!30 k!40 k!50 k!60 k!70))) +(let ((?x188 (concat (mkbv false false false false false false false false) ?x183))) +(let ((@x187 (trans (monotonicity @x109 (= ?x39 ((_ extract 7 0) ?x107))) (rewrite (= ((_ extract 7 0) ?x107) ?x183)) (= ?x39 ?x183)))) +(let (($x178 (= (_ bv0 8) (mkbv false false false false false false false false)))) +(let ((@x195 (trans (monotonicity (rewrite $x178) @x187 (= ?x63 ?x188)) (rewrite (= ?x188 ?x191)) (= ?x63 ?x191)))) +(let ((@x204 (trans (monotonicity @x195 @x109 (= $x70 (= ?x191 ?x107))) (rewrite (= (= ?x191 ?x107) $x200)) (= $x70 $x200)))) +(let ((@x208 (mp (|not-or-elim| (mp (asserted $x12) @x83 (not $x76)) (not $x70)) (monotonicity @x204 (= (not $x70) $x205)) $x205))) +(mp (mp @x208 (rewrite (= $x205 $x199)) $x199) (trans @x363 (rewrite $x364) (= $x199 false)) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + +f611d24907b7d60f35d0adf911b0c146313d6c07 13 0 +unsat +((set-logic ) +(proof +(let ((?x10 (|$p| true))) +(let (($x11 (= (|$p| (ite (bvule (_ bv0 4) |$a|) true false)) ?x10))) +(let (($x12 (not $x11))) +(let (($x8 (ite (bvule (_ bv0 4) |$a|) true false))) +(let ((@x20 (monotonicity (rewrite (= (bvule (_ bv0 4) |$a|) true)) (= $x8 (ite true true false))))) +(let ((@x24 (trans @x20 (rewrite (= (ite true true false) true)) (= $x8 true)))) +(let ((@x32 (trans (monotonicity (monotonicity @x24 $x11) (= $x11 (= ?x10 ?x10))) (rewrite (= (= ?x10 ?x10) true)) (= $x11 true)))) +(let ((@x39 (trans (monotonicity @x32 (= $x12 (not true))) (rewrite (= (not true) false)) (= $x12 false)))) +(mp (asserted $x12) @x39 false))))))))))) + +eb851e3355032ef6b75793abd314b6b2bc9c3459 18 0 +unsat +((set-logic ) +(proof +(let (($x600 (forall ((?v0 (_ BitVec 2)) )(!(not (<= (|$bv2int| ?v0) 0)) :pattern ( (|$bv2int| ?v0) ))) +)) +(let (($x45 (forall ((?v0 (_ BitVec 2)) )(not (<= (|$bv2int| ?v0) 0))) +)) +(let ((@x602 (refl (= (not (<= (|$bv2int| ?0) 0)) (not (<= (|$bv2int| ?0) 0)))))) +(let ((@x132 (refl (|~| (not (<= (|$bv2int| ?0) 0)) (not (<= (|$bv2int| ?0) 0)))))) +(let (($x24 (forall ((?v0 (_ BitVec 2)) )(let ((?x22 (|$bv2int| ?v0))) +(< 0 ?x22))) +)) +(let ((@x44 (rewrite (= (< 0 (|$bv2int| ?0)) (not (<= (|$bv2int| ?0) 0)))))) +(let ((@x133 (|mp~| (mp (asserted $x24) (|quant-intro| @x44 (= $x24 $x45)) $x45) (|nnf-pos| @x132 (|~| $x45 $x45)) $x45))) +(let ((@x597 (|unit-resolution| ((_ |quant-inst| (_ bv0 2)) (or (not $x600) (not (<= (|$bv2int| (_ bv0 2)) 0)))) (mp @x133 (|quant-intro| @x602 (= $x45 $x600)) $x600) (not (<= (|$bv2int| (_ bv0 2)) 0))))) +(let ((@x589 ((_ |th-lemma| arith triangle-eq) (or (not (= (|$bv2int| (_ bv0 2)) 0)) (<= (|$bv2int| (_ bv0 2)) 0))))) +(|unit-resolution| @x589 (asserted (= (|$bv2int| (_ bv0 2)) 0)) @x597 false)))))))))))) + diff -r 624faeda77b5 -r 175ac95720d4 src/HOL/SMT_Examples/SMT_Word_Examples.thy --- a/src/HOL/SMT_Examples/SMT_Word_Examples.thy Thu Mar 13 13:18:13 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Word_Examples.thy Thu Mar 13 13:18:13 2014 +0100 @@ -8,11 +8,10 @@ imports "~~/src/HOL/Word/Word" begin -declare [[smt_oracle = true]] -declare [[smt_certificates = "SMT_Word_Examples.certs"]] -declare [[smt_read_only_certificates = true]] - - +declare [[smt2_oracle = true]] +declare [[z3_new_extensions = true]] +declare [[smt2_certificates = "SMT_Word_Examples.certs2"]] +declare [[smt2_read_only_certificates = false]] (* FIXME *) text {* Currently, there is no proof reconstruction for words. @@ -20,66 +19,62 @@ *} - section {* Bitvector numbers *} -lemma "(27 :: 4 word) = -5" by smt +lemma "(27 :: 4 word) = -5" by smt2 -lemma "(27 :: 4 word) = 11" by smt +lemma "(27 :: 4 word) = 11" by smt2 -lemma "23 < (27::8 word)" by smt +lemma "23 < (27::8 word)" by smt2 -lemma "27 + 11 = (6::5 word)" by smt +lemma "27 + 11 = (6::5 word)" by smt2 -lemma "7 * 3 = (21::8 word)" by smt +lemma "7 * 3 = (21::8 word)" by smt2 -lemma "11 - 27 = (-16::8 word)" by smt +lemma "11 - 27 = (-16::8 word)" by smt2 -lemma "- -11 = (11::5 word)" by smt +lemma "- -11 = (11::5 word)" by smt2 -lemma "-40 + 1 = (-39::7 word)" by smt +lemma "-40 + 1 = (-39::7 word)" by smt2 -lemma "a + 2 * b + c - b = (b + c) + (a :: 32 word)" by smt +lemma "a + 2 * b + c - b = (b + c) + (a :: 32 word)" by smt2 -lemma "x = (5 :: 4 word) \ 4 * x = 4" by smt - +lemma "x = (5 :: 4 word) \ 4 * x = 4" by smt2 section {* Bit-level logic *} -lemma "0b110 AND 0b101 = (0b100 :: 32 word)" by smt +lemma "0b110 AND 0b101 = (0b100 :: 32 word)" by smt2 -lemma "0b110 OR 0b011 = (0b111 :: 8 word)" by smt +lemma "0b110 OR 0b011 = (0b111 :: 8 word)" by smt2 -lemma "0xF0 XOR 0xFF = (0x0F :: 8 word)" by smt +lemma "0xF0 XOR 0xFF = (0x0F :: 8 word)" by smt2 -lemma "NOT (0xF0 :: 16 word) = 0xFF0F" by smt +lemma "NOT (0xF0 :: 16 word) = 0xFF0F" by smt2 -lemma "word_cat (27::4 word) (27::8 word) = (2843::12 word)" by smt +lemma "word_cat (27::4 word) (27::8 word) = (2843::12 word)" by smt2 + +lemma "word_cat (0b0011::4 word) (0b1111::6word) = (0b0011001111 :: 10 word)" by smt2 -lemma "word_cat (0b0011::4 word) (0b1111::6word) = (0b0011001111 :: 10 word)" - by smt +lemma "slice 1 (0b10110 :: 4 word) = (0b11 :: 2 word)" by smt2 -lemma "slice 1 (0b10110 :: 4 word) = (0b11 :: 2 word)" by smt - -lemma "ucast (0b1010 :: 4 word) = (0b1010 :: 10 word)" by smt +lemma "ucast (0b1010 :: 4 word) = (0b1010 :: 10 word)" by smt2 -lemma "scast (0b1010 :: 4 word) = (0b111010 :: 6 word)" by smt +lemma "scast (0b1010 :: 4 word) = (0b111010 :: 6 word)" by smt2 -lemma "0b10011 << 2 = (0b1001100::8 word)" by smt +lemma "0b10011 << 2 = (0b1001100::8 word)" by smt2 -lemma "0b11001 >> 2 = (0b110::8 word)" by smt +lemma "0b11001 >> 2 = (0b110::8 word)" by smt2 -lemma "0b10011 >>> 2 = (0b100::8 word)" by smt +lemma "0b10011 >>> 2 = (0b100::8 word)" by smt2 -lemma "word_rotr 2 0b0110 = (0b1001::4 word)" by smt +lemma "word_rotr 2 0b0110 = (0b1001::4 word)" by smt2 -lemma "word_rotl 1 0b1110 = (0b1101::4 word)" by smt +lemma "word_rotl 1 0b1110 = (0b1101::4 word)" by smt2 -lemma "(x AND 0xff00) OR (x AND 0x00ff) = (x::16 word)" by smt +lemma "(x AND 0xff00) OR (x AND 0x00ff) = (x::16 word)" by smt2 -lemma "w < 256 \ (w :: 16 word) AND 0x00FF = w" by smt - +lemma "w < 256 \ (w :: 16 word) AND 0x00FF = w" by smt2 section {* Combined integer-bitvector properties *} @@ -91,10 +86,8 @@ and "bv2int 3 = 3" and "\x::2 word. bv2int x > 0" shows "\i::int. i < 0 \ (\x::2 word. bv2int x > i)" - using assms - using [[z3_options="AUTO_CONFIG=false"]] - by smt + using assms by smt2 -lemma "P (0 \ (a :: 4 word)) = P True" by smt +lemma "P (0 \ (a :: 4 word)) = P True" by smt2 end