# HG changeset patch # User blanchet # Date 1394718938 -3600 # Node ID 1ba56358eba457c3af912793aa333b9731596d4b # Parent df9add9949bb3b1bfabed5a5c1bc5d1694081040 updated SMT example certificates diff -r df9add9949bb -r 1ba56358eba4 src/HOL/SMT_Examples/SMT_Examples.certs2 --- a/src/HOL/SMT_Examples/SMT_Examples.certs2 Thu Mar 13 14:48:20 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Examples.certs2 Thu Mar 13 14:55:38 2014 +0100 @@ -4,58 +4,42 @@ (proof (mp (asserted (not true)) (rewrite (= (not true) false)) false))) -d87f11f143468ba38d9fc95b46b5b98486b253cf 9 0 +7da7317115e337fb9b3e7260dcd426df65d770ca 5 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))))))) +(|unit-resolution| (|not-or-elim| (asserted (not (or |p$| (not |p$|)))) (not |p$|)) (|not-or-elim| (asserted (not (or |p$| (not |p$|)))) |p$|) 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 +491ce0f180688f8b3ad41fb77c37c188bb719912 9 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))))))))))) +(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))))))) -7f27e7dcdafd31a50eb11bdc93e6dd1ff163e460 15 0 +bcdca2390eec1cc7907ebb4fd43ef90102359e67 13 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))))))))))))) +(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))))))))))) -98a52c3bde4a8a8511a7d117590a4d90d6c2632f 13 0 +33609f14221bd6366d7f13b136eb93ccf9841b7e 13 0 unsat ((set-logic AUFLIA) (proof -(let (($x10 (and |$c| |$d|))) -(let (($x7 (and |$a| |$b|))) +(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)))))) @@ -64,142 +48,158 @@ (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 +41601ebe27811aa51768455eec7d63637aa09b37 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))))))))))))) + +7f485e6a920dd309143a3ab1b4de9c4e47827bd1 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 (($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 ((@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 +47fc1bdb5c81d2c954d3c9c4f6781abf20cd2ad5 33 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)))))))))))) +(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))))))))))))))))))))))))))))))) -636b47d50f91d856f59f6da5f466deed9a030095 33 0 +8c24f75a894825932206d94b2ce1c08f0d064ba2 16 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))))))))))))))))))))))))))))))) +(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)))))))))))) -6f9ce267835afc5c093320d462369cdaca5709b1 37 0 +b7bd810dad2f1e427087fcd2f0121b91d06c649f 37 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!0 () Int) (declare-fun ?v1!1 () Int) (proof -(let (($x49 (|$p| ?v0!0))) +(let (($x49 (|p$| ?v0!0))) (let (($x50 (not $x49))) -(let (($x63 (not (or $x49 (|$p| ?v1!1))))) +(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))) +(let (($x19 (forall ((?v0 Int) )(let (($x10 (forall ((?v1 Int) )(let (($x6 (|p$| ?v1))) +(or (|p$| ?v0) $x6))) )) -(or (not (|$p| ?v0)) $x10))) +(or (not (|p$| ?v0)) $x10))) )) (let (($x22 (not $x19))) -(let (($x52 (forall ((?v1 Int) )(let (($x6 (|$p| ?v1))) -(let (($x49 (|$p| ?v0!0))) +(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 (($x12 (forall ((?v0 Int) )(let (($x10 (forall ((?v1 Int) )(let (($x6 (|p$| ?v1))) +(or (|p$| ?v0) $x6))) )) -(let (($x6 (|$p| ?v0))) +(let (($x6 (|p$| ?v0))) (=> $x6 $x10)))) )) (let (($x13 (not $x12))) -(let (($x10 (forall ((?v1 Int) )(let (($x6 (|$p| ?v1))) -(or (|$p| ?0) $x6))) +(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 ((@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 +6cf824ace40aded20fac37a6bbde5bb680ac2a1c 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 (($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))) +(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 ((@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))))))))))))))) +(let ((@x70 (|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 @x70 @x496 $x492) (mp (|not-or-elim| @x27 $x6) (|rewrite*| (= $x6 $x6)) $x6) false))))))))))))))) a89c726795a8d0e170934e5d099744330d95400b 7 0 unsat @@ -227,14 +227,14 @@ (let ((@x27 (trans @x23 (rewrite (= (not true) false)) (= (not (= (+ 3 1) 4)) false)))) (mp (asserted (not (= (+ 3 1) 4))) @x27 false))))))) -bde9a5a7e78533da0a75d611922e444d2935b662 10 0 +552d7f5bd067421657495756c4f47648a5eef581 10 0 unsat ((set-logic AUFLIA) (proof -(let (($x12 (= (+ |$x| (+ |$y| |$z|)) (+ |$y| (+ |$z| |$x|))))) +(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 ((@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)))))))) @@ -254,55 +254,55 @@ (let ((@x49 (trans @x45 (rewrite (= (not true) false)) (= (not $x10) false)))) (mp (asserted (not $x10)) @x49 false))))))))))))) -9ae86bca3e53d9143c71216845bc6c4cb7c0764c 85 0 +e8e28789ea05d7727096ba10500963856291639a 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 (($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 ((?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 (($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 (($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 ((@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 ((?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 ((@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)))) @@ -310,9 +310,9 @@ (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 ((?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))) @@ -340,12 +340,12 @@ (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 +d11fcb5f4744241869bf523344d4028dde874c74 15 0 unsat ((set-logic AUFLIA) (proof -(let ((?x10 (|$p| true))) -(let (($x11 (= (|$p| (ite (< 2 3) true false)) ?x10))) +(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)))) @@ -356,45 +356,45 @@ (let ((@x51 (trans (monotonicity @x44 (= $x12 (not true))) (rewrite (= (not true) false)) (= $x12 false)))) (mp (asserted $x12) @x51 false))))))))))))) -0db14feea22451768e922b971092e245316a2ab9 16 0 +118bd48c31dce91a7e08520c2c1fe2c904fc8d4f 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 (($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 ((@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))) +(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 +10f47384b1edbbe0088cb4f6641650cff9776ff0 23 0 unsat ((set-logic AUFLIA) (proof -(let ((@x93 (rewrite (= (= |$y| (+ 4 |$x|)) (= (+ |$x| (* (~ 1) |$y|)) (~ 4)))))) -(let (($x25 (= |$y| (+ 4 |$x|)))) +(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 ((@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 ((@x110 (monotonicity (mp @x64 @x93 (= (+ |x$| (* (~ 1) |y$|)) (~ 4))) (= (>= (+ |x$| (* (~ 1) |y$|)) 0) (>= (~ 4) 0))))) +(let ((@x112 (trans @x110 (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))) +(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 @@ -409,106 +409,106 @@ (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 +8f1ec6af8997aeb8e9888ff48bba8de209292f6d 22 0 unsat ((set-logic AUFLIRA) (proof -(let ((?x11 (+ (* 3.0 |$x|) (* 7.0 |$a|)))) +(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 (($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))) +(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 +123ff9b46d34a4f3a7f6c3b75522584cd621fb1d 22 0 unsat ((set-logic AUFLIA) (proof -(let (($x13 (<= 0 |$x|))) +(let (($x13 (<= 0 |x$|))) (let (($x14 (not $x13))) (let (($x15 (or $x14 $x13))) -(let (($x16 (or (<= 0 (+ |$y| (* (- 1) |$x|))) $x15))) +(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 ((@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 (($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 +3162fe55c0ec329908fcb4e022c32656696c4c11 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 (($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) |n$a|)) 0))) +(let (($x342 (>= (+ |n$| (* (~ 1) |n$a|)) 0))) +(let (($x459 (or $x342 $x348))) +(let ((@x471 (monotonicity (rewrite (= (and (not $x342) (not $x348)) (not $x459))) (= (not (and (not $x342) (not $x348))) (not (not $x459)))))) +(let ((@x491 (trans @x471 (rewrite (= (not (not $x459)) $x459)) (= (not (and (not $x342) (not $x348))) $x459)))) (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 ((@x353 (monotonicity (rewrite (= (<= |m$| |n$a|) $x348)) (= (not (<= |m$| |n$a|)) $x351)))) +(let ((@x347 (monotonicity (rewrite (= (<= |n$a| |n$|) $x342)) (= (not (<= |n$a| |n$|)) $x345)))) +(let ((@x356 (monotonicity @x347 @x353 (= (and (not (<= |n$a| |n$|)) (not (<= |m$| |n$a|))) $x354)))) +(let ((@x359 (monotonicity @x356 (= (not (and (not (<= |n$a| |n$|)) (not (<= |m$| |n$a|)))) $x357)))) +(let (($x140 (not (<= |m$| |n$a|)))) +(let (($x136 (not (<= |n$a| |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 ((@x142 (rewrite (= (< |n$a| |m$|) $x140)))) +(let ((@x145 (monotonicity (rewrite (= (< |n$| |n$a|) $x136)) @x142 (= (and (< |n$| |n$a|) (< |n$a| |m$|)) $x143)))) +(let ((@x148 (monotonicity @x145 (= (not (and (< |n$| |n$a|) (< |n$a| |m$|))) $x146)))) +(let (($x37 (or (and $x22 (< |n$| |n$a|)) (or (and (= |m$| |n$a|) (< |n$a| |n$|)) (and (= |n$a| |m$|) $x22))))) +(let (($x24 (< |n$a| |n$|))) +(let (($x9 (< |m$| |n$a|))) (let (($x32 (and $x9 $x24))) -(let (($x26 (= |$na| |$n|))) -(let (($x20 (< |$m| |$n|))) +(let (($x26 (= |n$a| |n$|))) +(let (($x20 (< |m$| |n$|))) (let (($x31 (and $x20 $x26))) -(let (($x13 (< |$n| |$na|))) +(let (($x13 (< |n$| |n$a|))) (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 (($x42 (or (and $x26 (< |n$| |m$|)) (or (and (= |n$a| |m$|) $x20) (or $x30 (or $x31 (or $x32 $x37))))))) +(let (($x7 (< |n$| |m$|))) (let (($x25 (and $x24 $x7))) -(let (($x14 (< |$na| |$m|))) +(let (($x14 (< |n$a| |m$|))) (let (($x23 (and $x14 $x22))) (let (($x21 (and $x14 $x20))) (let (($x19 (and $x18 $x9))) -(let (($x16 (= |$n| |$na|))) +(let (($x16 (= |n$| |n$a|))) (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 (($x11 (= |m$| |n$a|))) (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 ((@x674 (|unit-resolution| (mp (mp @x250 @x359 $x357) @x491 $x459) (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)))))) @@ -522,10 +522,10 @@ (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 (($x395 (<= (+ |n$| (* (~ 1) |n$a|)) 0))) (let (($x506 (not $x18))) (let (($x531 (not $x22))) -(let (($x319 (>= (+ |$m| (* (~ 1) |$na|)) 0))) +(let (($x319 (>= (+ |m$| (* (~ 1) |n$a|)) 0))) (let (($x398 (not $x395))) (let ((@x654 (hypothesis $x398))) (let (($x606 (or $x319 $x395))) @@ -534,26 +534,26 @@ (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 ((@x400 (monotonicity (rewrite (= (<= |n$| |n$a|) $x395)) (= (not (<= |n$| |n$a|)) $x398)))) +(let ((@x326 (monotonicity (rewrite (= (<= |n$a| |m$|) $x319)) (= (not (<= |n$a| |m$|)) $x324)))) +(let ((@x438 (monotonicity @x326 @x400 (= (and (not (<= |n$a| |m$|)) (not (<= |n$| |n$a|))) $x436)))) +(let ((@x441 (monotonicity @x438 (= (not (and (not (<= |n$a| |m$|)) (not (<= |n$| |n$a|)))) $x439)))) +(let (($x183 (not (<= |n$| |n$a|)))) +(let (($x118 (not (<= |n$a| |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 (($x87 (not (or (and (= |n$a| |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 (($x466 (not $x11))) +(let (($x630 (or $x466 $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))) @@ -562,10 +562,10 @@ (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 ((@x108 (|not-or-elim| (|not-or-elim| (|not-or-elim| @x96 (not (or $x32 $x37))) (not $x37)) (not (or (and $x11 $x24) (and (= |n$a| |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 ((@x660 (|unit-resolution| @x659 (|unit-resolution| (mp (mp @x286 @x455 $x453) @x640 $x630) @x654 $x466) (|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)))) @@ -583,24 +583,24 @@ (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 ((@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 (($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 ((@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)))) @@ -608,9 +608,9 @@ (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 (($x474 (or $x312 $x319))) +(let ((@x482 (monotonicity (rewrite (= (and $x316 $x324) (not $x474))) (= (not (and $x316 $x324)) (not (not $x474)))))) +(let ((@x476 (trans @x482 (rewrite (= (not (not $x474)) $x474)) (= (not (and $x316 $x324)) $x474)))) (let (($x327 (and $x316 $x324))) (let (($x330 (not $x327))) (let ((@x332 (monotonicity (monotonicity @x318 @x326 (= (and $x114 $x118) $x327)) (= (not (and $x114 $x118)) $x330)))) @@ -620,9 +620,9 @@ (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 (($x467 (or $x312 $x466))) +(let ((@x479 (monotonicity (rewrite (= (and $x316 $x11) (not $x467))) (= (not (and $x316 $x11)) (not (not $x467)))))) +(let ((@x465 (trans @x479 (rewrite (= (not (not $x467)) $x467)) (= (not (and $x316 $x11)) $x467)))) (let (($x334 (and $x316 $x11))) (let (($x337 (not $x334))) (let ((@x339 (monotonicity (monotonicity @x318 (= (and $x114 $x11) $x334)) (= (not (and $x114 $x11)) $x337)))) @@ -631,7 +631,7 @@ (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 ((@x685 (|unit-resolution| @x659 (|unit-resolution| (mp @x340 @x465 $x467) (hypothesis $x316) $x466) (|unit-resolution| (mp @x333 @x476 $x474) (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)))))) @@ -659,7 +659,7 @@ (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 (($x28 (= |n$a| |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)))) @@ -679,114 +679,114 @@ (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 +4464df6a987862165c07a2bd783815dc9c588fb6 888 0 unsat ((set-logic AUFLIA) (proof -(let (($x917 (>= (+ |$x7| (* (~ 1) (ite (>= |$x7| 0) |$x7| (* (~ 1) |$x7|)))) 0))) +(let (($x917 (>= (+ |x7$| (* (~ 1) (ite (>= |x7$| 0) |x7$| (* (~ 1) |x7$|)))) 0))) (let (($x954 (not $x917))) -(let (($x904 (<= (+ |$x2| (* (~ 1) |$x11|)) 0))) +(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 (($x71 (= |x2$| |x11$|))) +(let (($x808 (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 ((?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 (($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 (($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 ((?x655 (+ |x4$| |x6$| ?x654))) (let (($x853 (>= ?x655 0))) (let (($x656 (= ?x655 0))) -(let (($x171 (<= 0 |$x5|))) -(let ((?x186 (ite $x171 |$x5| ?x180))) +(let (($x171 (<= 0 |x5$|))) +(let ((?x186 (ite $x171 |x5$| ?x180))) (let ((?x636 (+ ?x149 ?x186))) -(let (($x639 (= |$x6| ?x636))) +(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 ((@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 (($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 (($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 (($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 (($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 (($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 (($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 (($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 (($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 (($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 (($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 (($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)))) @@ -796,69 +796,69 @@ (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 (($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 ((@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 ((@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 ((@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 ((@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 ((@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 ((@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 ((@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))))) @@ -869,44 +869,44 @@ (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 (($x726 (>= |x8$| 0))) +(let ((?x729 (ite $x726 |x8$| ?x273))) (let ((?x738 (* (~ 1) ?x729))) -(let ((?x739 (+ |$x7| |$x9| ?x738))) +(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 ((@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 (($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 ((?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 ((@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 (($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))) @@ -919,21 +919,21 @@ (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 ((?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 ((@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 (($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))) @@ -947,51 +947,51 @@ (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 (($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 (($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 (($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 (($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 ((@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 (($x911 (>= (+ |x10$| (* (~ 1) ?x785)) 0))) (let (($x981 (not $x911))) (let (($x957 (not $x905))) (let ((@x958 (hypothesis $x957))) -(let (($x586 (>= |$x3| 0))) +(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 (($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 (($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))) @@ -1007,37 +1007,37 @@ (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 ((?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 ((@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 ((?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 ((@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 ((?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 ((@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))) @@ -1054,7 +1054,7 @@ (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 (($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)))) @@ -1089,7 +1089,7 @@ (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 (($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))) @@ -1188,9 +1188,9 @@ (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 (($x820 (not $x70))) (let ((@x1514 (|unit-resolution| @x876 (|unit-resolution| @x1341 @x1359 @x1082 @x1091 @x1336 @x1100 $x726) $x872))) -(let (($x919 (>= (+ |$x3| ?x598) 0))) +(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))) @@ -1206,38 +1206,38 @@ (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 (($x809 (or $x820 $x808))) +(let ((@x816 (monotonicity (rewrite (= $x72 (not $x809))) (= (not $x72) (not (not $x809)))))) +(let ((@x806 (trans @x816 (rewrite (= (not (not $x809)) $x809)) (= (not $x72) $x809)))) (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 ((@x807 (mp (mp (|not-or-elim| @x428 $x439) (|rewrite*| (= $x439 $x439)) $x439) @x806 $x809))) +(let ((@x1528 (|unit-resolution| @x807 (|unit-resolution| @x1526 @x1524 (hypothesis $x905) $x71) $x820))) +(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 ((?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 ((@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 (($x1485 (<= (+ |x2$| ?x570) 0))) +(let (($x822 (= |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 ((@x812 (|def-axiom| (or (not $x558) $x822)))) +(let ((@x1537 (|unit-resolution| @x812 (|unit-resolution| @x1535 @x1115 @x934 @x1091 @x1380 @x967 $x558) $x822))) +(let ((@x1540 ((_ |th-lemma| arith triangle-eq) (or (not $x822) $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 (($x1486 (>= (+ |x2$| ?x570) 0))) +(let ((@x1547 ((_ |th-lemma| arith triangle-eq) (or (not $x822) $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)))) @@ -1252,13 +1252,13 @@ (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 ((@x1592 (|unit-resolution| @x807 (|unit-resolution| @x1526 @x1590 (|unit-resolution| @x1484 @x1325 $x905) $x71) $x820))) (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 ((@x1597 (|unit-resolution| @x1572 @x1335 @x1586 (|unit-resolution| @x1055 (|unit-resolution| @x858 @x1578 $x854) $x920) (|unit-resolution| @x1547 (|unit-resolution| @x812 @x1593 $x822) $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| @x812 @x1593 $x822) $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)))) @@ -1277,7 +1277,7 @@ (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 ((@x1660 (|unit-resolution| @x812 (|unit-resolution| @x1658 @x1188 @x1380 @x1091 @x1010 $x558) $x822))) (let (($x1205 (not $x862))) (let (($x1204 (not $x1183))) (let (($x1338 (not $x871))) @@ -1308,21 +1308,21 @@ (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 ((@x1683 (|unit-resolution| @x1526 @x1682 (|unit-resolution| @x807 (|unit-resolution| @x1553 @x1674 @x1666 $x70) $x808) $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 ((@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| @x812 @x1705 $x822) $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| @x812 @x1705 $x822) $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 ((@x1717 (|unit-resolution| @x1526 @x1716 (|unit-resolution| @x807 (|unit-resolution| @x1553 @x1710 @x1708 $x70) $x808) $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))) @@ -1360,8 +1360,8 @@ (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 (($x823 (= ?x86 ?x561))) +(let (($x1793 (not $x823))) (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))) @@ -1369,10 +1369,10 @@ (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 ((@x1815 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1793 $x1753)) (hypothesis $x823) (hypothesis $x1805) false))) +(let ((@x824 (|def-axiom| (or $x558 $x823)))) (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 ((@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| @x812 @x1822 $x822) $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))) @@ -1381,11 +1381,11 @@ (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 ((@x1829 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x1793 $x1752)) (hypothesis $x823) (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 ((@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| @x812 @x1834 $x822) $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 ((@x1844 (|unit-resolution| @x1526 (|unit-resolution| @x807 (|unit-resolution| @x1553 @x1841 @x1840 $x70) $x808) @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))) @@ -1394,12 +1394,12 @@ (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 (($x810 (not $x558))) +(let ((@x1790 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1 1 1 1 1 1 1) (or $x810 $x1509 $x1668 $x1719 $x1150 $x698 $x1205 $x670 $x1353)) @x1079 @x1100 @x1501 (or $x810 $x1509 $x1150 $x698 $x670 $x1353)))) +(let ((@x1792 (|unit-resolution| @x824 (|unit-resolution| @x1790 @x1274 @x1092 @x1097 @x1773 @x1772 $x810) $x823))) (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 ((@x1810 (|unit-resolution| @x807 (|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))) @@ -1445,11 +1445,11 @@ (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 ((@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| @x812 @x1965 $x822) $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 ((@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| @x812 @x1965 $x822) $x1486) @x1859 $x900))) +(let ((@x1979 (|unit-resolution| @x1553 @x1978 @x1973 (|unit-resolution| @x807 (|unit-resolution| @x1526 @x1960 @x1945 $x71) $x820) 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))) @@ -1458,9 +1458,9 @@ (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 ((@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| @x812 @x2006 $x822) $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| @x812 @x2006 $x822) $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| @x807 (|unit-resolution| @x1526 @x2001 @x1945 $x71) $x820) 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))) @@ -1474,17 +1474,17 @@ (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 ((@x1170 (|unit-resolution| @x1540 (|unit-resolution| @x812 (|unit-resolution| @x1163 @x1010 @x935 @x1009 $x558) $x822) $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 ((@x983 (|unit-resolution| @x1547 (|unit-resolution| @x812 (|unit-resolution| @x1163 @x1010 @x935 @x1009 $x558) $x822) $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 ((@x1164 (|unit-resolution| @x807 (|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))) @@ -1492,10 +1492,10 @@ (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 ((@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| @x812 @x2036 $x822) $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 ((@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| @x812 @x2036 $x822) $x1486) $x900))) +(let ((@x2046 (|unit-resolution| @x1553 @x2045 @x2041 (|unit-resolution| @x807 (|unit-resolution| @x1002 @x2031 $x71) $x820) 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))) @@ -1513,13 +1513,13 @@ (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 ((@x2090 (lemma (|unit-resolution| @x1547 (|unit-resolution| @x812 @x2086 $x822) @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| @x807 (|unit-resolution| @x1002 @x1011 $x71) $x820) $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 ((@x2104 (|unit-resolution| ((_ |th-lemma| arith assign-bounds -1 -2 -2 2 2 2 -2) (or $x1946 $x1107 $x810 $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| @x812 @x2099 $x822) $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))) @@ -1539,9 +1539,9 @@ (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 ((@x2146 (|unit-resolution| @x1553 @x2145 (|unit-resolution| @x807 (|unit-resolution| @x1002 @x2137 $x71) $x820) $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 ((@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| @x812 @x2147 $x822) $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))) @@ -1562,741 +1562,397 @@ (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 ((@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| @x807 @x2202 $x808) $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 ((@x2216 (|unit-resolution| @x2215 (|unit-resolution| @x1685 (|unit-resolution| @x894 @x2205 $x890) $x1628) @x2133 @x2169 @x2192 (|unit-resolution| @x1002 (|unit-resolution| @x807 @x2202 $x808) $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 +6a3a89e24d8df556f7ea5217b40c76ff1c882fab 13 0 unsat ((set-logic AUFLIRA) (proof -(let (($x11 (< (+ |$x| |$x|) (+ (* 2.0 |$x|) 1.0)))) +(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 (($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 ((@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 +b3a64ab4fe7d5720729351a375772727b97cece2 81 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 (($x591 (= (+ (|mod$| |x$| 2) (* (~ 1) (mod |x$| 2))) 0))) +(let (($x607 (forall ((?v0 Int) (?v1 Int) )(!(let (($x68 (<= ?v1 0))) +(let (($x178 (ite $x68 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x19 (= ?v1 0))) +(ite $x19 (= (|mod$| ?v0 ?v1) ?v0) $x178)))) :pattern ( (|mod$| ?v0 ?v1) ))) +)) +(let (($x182 (forall ((?v0 Int) (?v1 Int) )(let (($x68 (<= ?v1 0))) +(let (($x178 (ite $x68 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x19 (= ?v1 0))) +(ite $x19 (= (|mod$| ?v0 ?v1) ?v0) $x178))))) )) -(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 (($x68 (<= ?0 0))) +(let (($x178 (ite $x68 (= (+ (|mod$| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0) (= (+ (|mod$| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0)))) +(let (($x19 (= ?0 0))) +(let (($x179 (ite $x19 (= (|mod$| ?1 ?0) ?1) $x178))) +(let (($x125 (forall ((?v0 Int) (?v1 Int) )(let ((?x30 (mod ?v0 ?v1))) +(let ((?x100 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x106 (* (~ 1) ?x100))) +(let (($x68 (<= ?v1 0))) +(let ((?x114 (ite $x68 ?x106 ?x30))) +(let (($x19 (= ?v1 0))) +(let ((?x29 (|mod$| ?v0 ?v1))) +(= ?x29 (ite $x19 ?v0 ?x114)))))))))) )) -(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 ((?x30 (mod ?1 ?0))) +(let ((?x100 (mod (* (~ 1) ?1) (* (~ 1) ?0)))) +(let ((?x106 (* (~ 1) ?x100))) +(let ((?x114 (ite $x68 ?x106 ?x30))) +(let ((?x29 (|mod$| ?1 ?0))) +(let (($x122 (= ?x29 (ite $x19 ?1 ?x114)))) +(let (($x36 (forall ((?v0 Int) (?v1 Int) )(let ((?x32 (- (mod (- ?v0) (- ?v1))))) +(let ((?x30 (mod ?v0 ?v1))) +(let (($x20 (< 0 ?v1))) +(let ((?x33 (ite $x20 ?x30 ?x32))) +(let (($x19 (= ?v1 0))) +(let ((?x29 (|mod$| ?v0 ?v1))) +(= ?x29 (ite $x19 ?v0 ?x33))))))))) )) -(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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +(let ((?x32 (- (mod (- ?1) (- ?0))))) +(let (($x20 (< 0 ?0))) +(let ((?x33 (ite $x20 ?x30 ?x32))) +(let ((@x102 (monotonicity (rewrite (= (- ?1) (* (~ 1) ?1))) (rewrite (= (- ?0) (* (~ 1) ?0))) (= (mod (- ?1) (- ?0)) ?x100)))) +(let ((@x110 (trans (monotonicity @x102 (= ?x32 (- ?x100))) (rewrite (= (- ?x100) ?x106)) (= ?x32 ?x106)))) +(let ((@x113 (monotonicity (rewrite (= $x20 (not $x68))) @x110 (= ?x33 (ite (not $x68) ?x30 ?x106))))) +(let ((@x118 (trans @x113 (rewrite (= (ite (not $x68) ?x30 ?x106) ?x114)) (= ?x33 ?x114)))) +(let ((@x124 (monotonicity (monotonicity @x118 (= (ite $x19 ?1 ?x33) (ite $x19 ?1 ?x114))) (= (= ?x29 (ite $x19 ?1 ?x33)) $x122)))) +(let ((@x156 (|mp~| (mp (asserted $x36) (|quant-intro| @x124 (= $x36 $x125)) $x125) (|nnf-pos| (refl (|~| $x122 $x122)) (|~| $x125 $x125)) $x125))) +(let ((@x185 (mp @x156 (|quant-intro| (rewrite (= $x122 $x179)) (= $x125 $x182)) $x182))) +(let (($x583 (or (not $x607) $x591))) +(let (($x275 (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (* (~ 1) 2))) 0))) +(let (($x592 (ite (<= 2 0) $x275 $x591))) +(let (($x248 (ite (= 2 0) (= (|mod$| |x$| 2) |x$|) $x592))) +(let (($x233 (ite false (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (~ 2))) 0) $x591))) +(let (($x254 (= $x275 (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (~ 2))) 0)))) +(let (($x251 (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (* (~ 1) 2))) (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (~ 2)))))) +(let ((@x598 (monotonicity (rewrite (= (* (~ 1) 2) (~ 2))) (= (mod (* (~ 1) |x$|) (* (~ 1) 2)) (mod (* (~ 1) |x$|) (~ 2)))))) +(let ((@x236 (monotonicity (rewrite (= (<= 2 0) false)) (monotonicity (monotonicity @x598 $x251) $x254) (= $x592 $x233)))) +(let ((@x578 (monotonicity (rewrite (= (= 2 0) false)) (trans @x236 (rewrite (= $x233 $x591)) (= $x592 $x591)) (= $x248 (ite false (= (|mod$| |x$| 2) |x$|) $x591))))) +(let ((@x219 (trans @x578 (rewrite (= (ite false (= (|mod$| |x$| 2) |x$|) $x591) $x591)) (= $x248 $x591)))) +(let ((@x573 (trans (monotonicity @x219 (= (or (not $x607) $x248) $x583)) (rewrite (= $x583 $x583)) (= (or (not $x607) $x248) $x583)))) +(let ((@x416 (|unit-resolution| (mp ((_ |quant-inst| |x$| 2) (or (not $x607) $x248)) @x573 $x583) (mp @x185 (|quant-intro| (refl (= $x179 $x179)) (= $x182 $x607)) $x607) $x591))) +(let (($x418 (or (not $x591) (>= (+ (|mod$| |x$| 2) (* (~ 1) (mod |x$| 2))) 0)))) +(let ((@x528 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) $x418) @x416 (>= (+ (|mod$| |x$| 2) (* (~ 1) (mod |x$| 2))) 0)))) +(let ((@x530 (|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 (($x59 (>= ?x9 0))) +(let ((@x61 (rewrite (= (<= (+ 1 |x$|) (+ 1 |x$| (* 2 ?x9))) $x59)))) +(let ((?x10 (* 2 ?x9))) +(let ((?x51 (+ 1 |x$| ?x10))) +(let ((@x50 (monotonicity (rewrite (= (+ ?x10 1) (+ 1 ?x10))) (= ?x12 (+ |x$| (+ 1 ?x10)))))) +(let ((@x55 (trans @x50 (rewrite (= (+ |x$| (+ 1 ?x10)) ?x51)) (= ?x12 ?x51)))) +(let ((@x58 (monotonicity (rewrite (= (+ |x$| 1) (+ 1 |x$|))) @x55 (= $x13 (<= (+ 1 |x$|) ?x51))))) +(let ((@x66 (monotonicity (trans @x58 @x61 (= $x13 $x59)) (= $x14 (not $x59))))) +((_ |th-lemma| arith farkas -1 1 1) (mp (asserted $x14) @x66 (not $x59)) @x530 @x528 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))) -0ca5f89642157be20564bb5024c711aeef242c7b 167 0 +f204450f48b701dc1991b41c92d8f0455c6a933e 80 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 ((@x426 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= (mod |x$| 2) 2)))) (|true-axiom| true) (not (>= (mod |x$| 2) 2))))) +(let (($x599 (= (+ (|mod$| |x$| 2) (* (~ 1) (mod |x$| 2))) 0))) +(let (($x615 (forall ((?v0 Int) (?v1 Int) )(!(let (($x75 (<= ?v1 0))) +(let (($x185 (ite $x75 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x18 (= ?v1 0))) +(ite $x18 (= (|mod$| ?v0 ?v1) ?v0) $x185)))) :pattern ( (|mod$| ?v0 ?v1) ))) +)) +(let (($x189 (forall ((?v0 Int) (?v1 Int) )(let (($x75 (<= ?v1 0))) +(let (($x185 (ite $x75 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x18 (= ?v1 0))) +(ite $x18 (= (|mod$| ?v0 ?v1) ?v0) $x185))))) )) -(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 (($x75 (<= ?0 0))) +(let (($x185 (ite $x75 (= (+ (|mod$| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0) (= (+ (|mod$| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0)))) +(let (($x18 (= ?0 0))) +(let (($x186 (ite $x18 (= (|mod$| ?1 ?0) ?1) $x185))) +(let (($x132 (forall ((?v0 Int) (?v1 Int) )(let ((?x29 (mod ?v0 ?v1))) +(let ((?x107 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x113 (* (~ 1) ?x107))) +(let (($x75 (<= ?v1 0))) +(let ((?x121 (ite $x75 ?x113 ?x29))) +(let (($x18 (= ?v1 0))) +(let ((?x28 (|mod$| ?v0 ?v1))) +(= ?x28 (ite $x18 ?v0 ?x121)))))))))) )) -(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 ((?x29 (mod ?1 ?0))) +(let ((?x107 (mod (* (~ 1) ?1) (* (~ 1) ?0)))) +(let ((?x113 (* (~ 1) ?x107))) +(let ((?x121 (ite $x75 ?x113 ?x29))) +(let ((?x28 (|mod$| ?1 ?0))) +(let (($x129 (= ?x28 (ite $x18 ?1 ?x121)))) +(let (($x35 (forall ((?v0 Int) (?v1 Int) )(let ((?x31 (- (mod (- ?v0) (- ?v1))))) +(let ((?x29 (mod ?v0 ?v1))) +(let (($x19 (< 0 ?v1))) +(let ((?x32 (ite $x19 ?x29 ?x31))) +(let (($x18 (= ?v1 0))) +(let ((?x28 (|mod$| ?v0 ?v1))) +(= ?x28 (ite $x18 ?v0 ?x32))))))))) )) -(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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +(let ((?x31 (- (mod (- ?1) (- ?0))))) +(let (($x19 (< 0 ?0))) +(let ((?x32 (ite $x19 ?x29 ?x31))) +(let ((@x109 (monotonicity (rewrite (= (- ?1) (* (~ 1) ?1))) (rewrite (= (- ?0) (* (~ 1) ?0))) (= (mod (- ?1) (- ?0)) ?x107)))) +(let ((@x117 (trans (monotonicity @x109 (= ?x31 (- ?x107))) (rewrite (= (- ?x107) ?x113)) (= ?x31 ?x113)))) +(let ((@x120 (monotonicity (rewrite (= $x19 (not $x75))) @x117 (= ?x32 (ite (not $x75) ?x29 ?x113))))) +(let ((@x125 (trans @x120 (rewrite (= (ite (not $x75) ?x29 ?x113) ?x121)) (= ?x32 ?x121)))) +(let ((@x131 (monotonicity (monotonicity @x125 (= (ite $x18 ?1 ?x32) (ite $x18 ?1 ?x121))) (= (= ?x28 (ite $x18 ?1 ?x32)) $x129)))) +(let ((@x163 (|mp~| (mp (asserted $x35) (|quant-intro| @x131 (= $x35 $x132)) $x132) (|nnf-pos| (refl (|~| $x129 $x129)) (|~| $x132 $x132)) $x132))) +(let ((@x192 (mp @x163 (|quant-intro| (rewrite (= $x129 $x186)) (= $x132 $x189)) $x189))) +(let (($x591 (or (not $x615) $x599))) +(let (($x283 (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (* (~ 1) 2))) 0))) +(let (($x600 (ite (<= 2 0) $x283 $x599))) +(let (($x256 (ite (= 2 0) (= (|mod$| |x$| 2) |x$|) $x600))) +(let (($x241 (ite false (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (~ 2))) 0) $x599))) +(let (($x262 (= $x283 (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (~ 2))) 0)))) +(let (($x259 (= (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (* (~ 1) 2))) (+ (|mod$| |x$| 2) (mod (* (~ 1) |x$|) (~ 2)))))) +(let ((@x606 (monotonicity (rewrite (= (* (~ 1) 2) (~ 2))) (= (mod (* (~ 1) |x$|) (* (~ 1) 2)) (mod (* (~ 1) |x$|) (~ 2)))))) +(let ((@x244 (monotonicity (rewrite (= (<= 2 0) false)) (monotonicity (monotonicity @x606 $x259) $x262) (= $x600 $x241)))) +(let ((@x586 (monotonicity (rewrite (= (= 2 0) false)) (trans @x244 (rewrite (= $x241 $x599)) (= $x600 $x599)) (= $x256 (ite false (= (|mod$| |x$| 2) |x$|) $x599))))) +(let ((@x227 (trans @x586 (rewrite (= (ite false (= (|mod$| |x$| 2) |x$|) $x599) $x599)) (= $x256 $x599)))) +(let ((@x581 (trans (monotonicity @x227 (= (or (not $x615) $x256) $x591)) (rewrite (= $x591 $x591)) (= (or (not $x615) $x256) $x591)))) +(let ((@x390 (|unit-resolution| (mp ((_ |quant-inst| |x$| 2) (or (not $x615) $x256)) @x581 $x591) (mp @x192 (|quant-intro| (refl (= $x186 $x186)) (= $x189 $x615)) $x615) $x599))) +(let (($x440 (or (not $x599) (<= (+ (|mod$| |x$| 2) (* (~ 1) (mod |x$| 2))) 0)))) +(let ((@x538 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) $x440) @x390 (<= (+ (|mod$| |x$| 2) (* (~ 1) (mod |x$| 2))) 0)))) +(let ((?x7 (|mod$| |x$| 2))) +(let (($x59 (>= ?x7 2))) +(let (($x12 (< (+ |x$| (+ ?x7 ?x7)) (+ |x$| 3)))) +(let (($x13 (not $x12))) +(let ((@x64 (monotonicity (rewrite (= (<= (+ 3 |x$|) (+ |x$| (* 2 ?x7))) $x59)) (= (not (<= (+ 3 |x$|) (+ |x$| (* 2 ?x7)))) (not $x59))))) +(let (($x54 (not (<= (+ 3 |x$|) (+ |x$| (* 2 ?x7)))))) +(let ((@x46 (monotonicity (rewrite (= (+ ?x7 ?x7) (* 2 ?x7))) (= (+ |x$| (+ ?x7 ?x7)) (+ |x$| (* 2 ?x7)))))) +(let ((@x52 (monotonicity @x46 (rewrite (= (+ |x$| 3) (+ 3 |x$|))) (= $x12 (< (+ |x$| (* 2 ?x7)) (+ 3 |x$|)))))) +(let ((@x58 (trans @x52 (rewrite (= (< (+ |x$| (* 2 ?x7)) (+ 3 |x$|)) $x54)) (= $x12 $x54)))) +(let ((@x69 (monotonicity (trans @x58 @x64 (= $x12 (not $x59))) (= $x13 (not (not $x59)))))) +(let ((@x74 (mp (asserted $x13) (trans @x69 (rewrite (= (not (not $x59)) $x59)) (= $x13 $x59)) $x59))) +((_ |th-lemma| arith farkas -1 1 1) @x74 @x538 @x426 false))))))))))))))))))))))))))))))))))))))))))))))))))))))) -33f10f004f142d3fc3aecb6377a6bfe7e31da31c 29 0 +31f44b6ec36399ae0bf7b30f056d07862ad51205 29 0 unsat ((set-logic ) (proof -(let (($x7 (= |$x| 0.0))) -(let ((?x13 (ite (< |$x| 0.0) (- |$x|) |$x|))) +(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 (($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 ((?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 ((@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 ((@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 +0af106a1a4c411ecd84e866591819b17883ffc09 178 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 ((?x436 (* (~ 1) (mod |n$| 4)))) +(let ((?x336 (mod |n$| 2))) +(let ((?x339 (* (~ 1) ?x336))) +(let ((?x13 (|mod$| |n$| 4))) +(let ((?x193 (+ |n$| ?x13 ?x339 ?x436 (* (~ 2) (div |n$| 4)) (* (~ 1) (div |n$| 2))))) +(let ((@x129 (|true-axiom| true))) +(let ((@x662 (|unit-resolution| ((_ |th-lemma| arith) (or false (>= ?x336 0))) @x129 (>= ?x336 0)))) +(let ((?x203 (+ |n$| ?x339 (* (~ 2) (div |n$| 2))))) +(let (($x201 (= ?x203 0))) +(let ((@x525 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x201) (<= ?x203 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x201)) @x129 $x201) (<= ?x203 0)))) +(let ((?x529 (+ ?x13 ?x436))) +(let (($x530 (= ?x529 0))) +(let (($x604 (forall ((?v0 Int) (?v1 Int) )(!(let (($x51 (<= ?v1 0))) +(let (($x175 (ite $x51 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x26 (= ?v1 0))) +(ite $x26 (= (|mod$| ?v0 ?v1) ?v0) $x175)))) :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 (($x179 (forall ((?v0 Int) (?v1 Int) )(let (($x51 (<= ?v1 0))) +(let (($x175 (ite $x51 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x26 (= ?v1 0))) +(ite $x26 (= (|mod$| ?v0 ?v1) ?v0) $x175))))) )) -(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 (($x51 (<= ?0 0))) +(let (($x175 (ite $x51 (= (+ (|mod$| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0) (= (+ (|mod$| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0)))) +(let (($x26 (= ?0 0))) +(let (($x176 (ite $x26 (= (|mod$| ?1 ?0) ?1) $x175))) +(let (($x108 (forall ((?v0 Int) (?v1 Int) )(let ((?x37 (mod ?v0 ?v1))) +(let ((?x83 (mod (* (~ 1) ?v0) (* (~ 1) ?v1)))) +(let ((?x89 (* (~ 1) ?x83))) +(let (($x51 (<= ?v1 0))) +(let ((?x97 (ite $x51 ?x89 ?x37))) +(let (($x26 (= ?v1 0))) +(let ((?x36 (|mod$| ?v0 ?v1))) +(= ?x36 (ite $x26 ?v0 ?x97)))))))))) )) -(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 ((?x37 (mod ?1 ?0))) +(let ((?x83 (mod (* (~ 1) ?1) (* (~ 1) ?0)))) +(let ((?x89 (* (~ 1) ?x83))) +(let ((?x97 (ite $x51 ?x89 ?x37))) +(let ((?x36 (|mod$| ?1 ?0))) +(let (($x105 (= ?x36 (ite $x26 ?1 ?x97)))) +(let (($x43 (forall ((?v0 Int) (?v1 Int) )(let ((?x39 (- (mod (- ?v0) (- ?v1))))) +(let ((?x37 (mod ?v0 ?v1))) +(let (($x27 (< 0 ?v1))) +(let ((?x40 (ite $x27 ?x37 ?x39))) +(let (($x26 (= ?v1 0))) +(let ((?x36 (|mod$| ?v0 ?v1))) +(= ?x36 (ite $x26 ?v0 ?x40))))))))) )) -(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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +(let ((?x39 (- (mod (- ?1) (- ?0))))) +(let (($x27 (< 0 ?0))) +(let ((?x40 (ite $x27 ?x37 ?x39))) +(let ((@x85 (monotonicity (rewrite (= (- ?1) (* (~ 1) ?1))) (rewrite (= (- ?0) (* (~ 1) ?0))) (= (mod (- ?1) (- ?0)) ?x83)))) +(let ((@x93 (trans (monotonicity @x85 (= ?x39 (- ?x83))) (rewrite (= (- ?x83) ?x89)) (= ?x39 ?x89)))) +(let ((@x96 (monotonicity (rewrite (= $x27 (not $x51))) @x93 (= ?x40 (ite (not $x51) ?x37 ?x89))))) +(let ((@x101 (trans @x96 (rewrite (= (ite (not $x51) ?x37 ?x89) ?x97)) (= ?x40 ?x97)))) +(let ((@x107 (monotonicity (monotonicity @x101 (= (ite $x26 ?1 ?x40) (ite $x26 ?1 ?x97))) (= (= ?x36 (ite $x26 ?1 ?x40)) $x105)))) +(let ((@x135 (|mp~| (mp (asserted $x43) (|quant-intro| @x107 (= $x43 $x108)) $x108) (|nnf-pos| (refl (|~| $x105 $x105)) (|~| $x108 $x108)) $x108))) +(let ((@x182 (mp @x135 (|quant-intro| (rewrite (= $x105 $x176)) (= $x108 $x179)) $x179))) +(let ((@x609 (mp @x182 (|quant-intro| (refl (= $x176 $x176)) (= $x179 $x604)) $x604))) +(let (($x289 (not $x604))) +(let (($x480 (or $x289 $x530))) +(let (($x531 (ite (<= 4 0) (= (+ ?x13 (mod (* (~ 1) |n$|) (* (~ 1) 4))) 0) $x530))) +(let (($x518 (ite (= 4 0) (= ?x13 |n$|) $x531))) +(let (($x505 (= (ite false (= (+ ?x13 (mod (* (~ 1) |n$|) (~ 4))) 0) $x530) $x530))) +(let (($x503 (= $x531 (ite false (= (+ ?x13 (mod (* (~ 1) |n$|) (~ 4))) 0) $x530)))) +(let (($x517 (= (= (+ ?x13 (mod (* (~ 1) |n$|) (* (~ 1) 4))) 0) (= (+ ?x13 (mod (* (~ 1) |n$|) (~ 4))) 0)))) +(let (($x514 (= (+ ?x13 (mod (* (~ 1) |n$|) (* (~ 1) 4))) (+ ?x13 (mod (* (~ 1) |n$|) (~ 4)))))) +(let ((@x512 (monotonicity (rewrite (= (* (~ 1) 4) (~ 4))) (= (mod (* (~ 1) |n$|) (* (~ 1) 4)) (mod (* (~ 1) |n$|) (~ 4)))))) +(let ((@x504 (monotonicity (rewrite (= (<= 4 0) false)) (monotonicity (monotonicity @x512 $x514) $x517) $x503))) +(let ((@x496 (monotonicity (rewrite (= (= 4 0) false)) (trans @x504 (rewrite $x505) (= $x531 $x530)) (= $x518 (ite false (= ?x13 |n$|) $x530))))) +(let ((@x500 (trans @x496 (rewrite (= (ite false (= ?x13 |n$|) $x530) $x530)) (= $x518 $x530)))) +(let ((@x487 (trans (monotonicity @x500 (= (or $x289 $x518) $x480)) (rewrite (= $x480 $x480)) (= (or $x289 $x518) $x480)))) +(let ((@x232 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x530) (<= ?x529 0))) (|unit-resolution| (mp ((_ |quant-inst| |n$| 4) (or $x289 $x518)) @x487 $x480) @x609 $x530) (<= ?x529 0)))) +(let ((?x466 (+ |n$| ?x436 (* (~ 4) (div |n$| 4))))) +(let (($x464 (= ?x466 0))) +(let ((@x243 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x464) (<= ?x466 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x464)) @x129 $x464) (<= ?x466 0)))) +(let ((@x227 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x13 3)) (<= ?x13 3))) (asserted (= ?x13 3)) (<= ?x13 3)))) +(let ((@x626 ((_ |th-lemma| arith farkas 2 -1 -1 -1 -1 1) (hypothesis (>= ?x193 2)) @x227 @x243 @x232 @x525 @x662 false))) +(let ((@x621 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x201) (>= ?x203 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x201)) @x129 $x201) (>= ?x203 0)))) +(let ((@x353 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x530) (>= ?x529 0))) (|unit-resolution| (mp ((_ |quant-inst| |n$| 4) (or $x289 $x518)) @x487 $x480) @x609 $x530) (>= ?x529 0)))) +(let ((@x560 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x464) (>= ?x466 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x464)) @x129 $x464) (>= ?x466 0)))) +(let ((@x360 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x13 3)) (>= ?x13 3))) (asserted (= ?x13 3)) (>= ?x13 3)))) +(let ((?x16 (|mod$| |n$| 2))) +(let ((?x344 (+ ?x16 ?x339))) +(let (($x346 (= ?x344 0))) +(let (($x467 (or $x289 $x346))) +(let (($x268 (<= 2 0))) +(let (($x354 (ite $x268 (= (+ ?x16 (mod (* (~ 1) |n$|) (* (~ 1) 2))) 0) $x346))) +(let (($x183 (= 2 0))) +(let (($x355 (ite $x183 (= ?x16 |n$|) $x354))) +(let (($x315 (= (ite false (= (+ ?x16 (mod (* (~ 1) |n$|) (~ 2))) 0) $x346) $x346))) +(let (($x558 (= $x354 (ite false (= (+ ?x16 (mod (* (~ 1) |n$|) (~ 2))) 0) $x346)))) +(let (($x311 (= (= (+ ?x16 (mod (* (~ 1) |n$|) (* (~ 1) 2))) 0) (= (+ ?x16 (mod (* (~ 1) |n$|) (~ 2))) 0)))) +(let (($x330 (= (+ ?x16 (mod (* (~ 1) |n$|) (* (~ 1) 2))) (+ ?x16 (mod (* (~ 1) |n$|) (~ 2)))))) +(let ((@x230 (rewrite (= (* (~ 1) 2) (~ 2))))) +(let ((@x328 (monotonicity @x230 (= (mod (* (~ 1) |n$|) (* (~ 1) 2)) (mod (* (~ 1) |n$|) (~ 2)))))) +(let ((@x594 (rewrite (= $x268 false)))) +(let ((@x305 (trans (monotonicity @x594 (monotonicity (monotonicity @x328 $x330) $x311) $x558) (rewrite $x315) (= $x354 $x346)))) +(let ((@x584 (rewrite (= $x183 false)))) +(let ((@x463 (trans (monotonicity @x584 @x305 (= $x355 (ite false (= ?x16 |n$|) $x346))) (rewrite (= (ite false (= ?x16 |n$|) $x346) $x346)) (= $x355 $x346)))) +(let ((@x555 (trans (monotonicity @x463 (= (or $x289 $x355) $x467)) (rewrite (= $x467 $x467)) (= (or $x289 $x355) $x467)))) +(let ((@x647 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x346) (>= ?x344 0))) (|unit-resolution| (mp ((_ |quant-inst| |n$| 2) (or $x289 $x355)) @x555 $x467) @x609 $x346) (>= ?x344 0)))) +(let (($x629 (not (>= ?x16 1)))) +(let (($x617 (<= ?x16 1))) +(let (($x394 (<= ?x344 0))) +(let ((@x651 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x346) $x394)) (|unit-resolution| (mp ((_ |quant-inst| |n$| 2) (or $x289 $x355)) @x555 $x467) @x609 $x346) $x394))) +(let ((@x184 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= ?x336 2)))) @x129 (not (>= ?x336 2))))) +(let ((@x611 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x617 (>= ?x336 2) (not $x394))) @x184 @x651 $x617))) +(let ((?x19 (|mod$| |m$| 2))) +(let (($x20 (= ?x19 1))) +(let ((?x274 (* (~ 1) (mod (+ |n$| |m$|) 2)))) +(let ((?x7 (+ |n$| |m$|))) +(let ((?x9 (|mod$| ?x7 2))) +(let ((?x316 (+ |n$| |m$| ?x9 ?x13 ?x274 (* (~ 1) (div ?x7 2)) (* (~ 1) (div |m$| 2)) ?x436 (* (~ 2) (div |n$| 4))))) +(let (($x307 (not (>= ?x19 1)))) +(let (($x318 (<= ?x19 1))) +(let ((?x400 (+ ?x19 (* (~ 1) (mod |m$| 2))))) +(let (($x371 (<= ?x400 0))) +(let (($x401 (= ?x400 0))) +(let (($x363 (or $x289 $x401))) +(let (($x402 (ite $x268 (= (+ ?x19 (mod (* (~ 1) |m$|) (* (~ 1) 2))) 0) $x401))) +(let (($x403 (ite $x183 (= ?x19 |m$|) $x402))) +(let (($x382 (= (ite false (= (+ ?x19 (mod (* (~ 1) |m$|) (~ 2))) 0) $x401) $x401))) +(let (($x378 (= $x402 (ite false (= (+ ?x19 (mod (* (~ 1) |m$|) (~ 2))) 0) $x401)))) +(let (($x411 (= (= (+ ?x19 (mod (* (~ 1) |m$|) (* (~ 1) 2))) 0) (= (+ ?x19 (mod (* (~ 1) |m$|) (~ 2))) 0)))) +(let (($x408 (= (+ ?x19 (mod (* (~ 1) |m$|) (* (~ 1) 2))) (+ ?x19 (mod (* (~ 1) |m$|) (~ 2)))))) +(let ((@x406 (monotonicity @x230 (= (mod (* (~ 1) |m$|) (* (~ 1) 2)) (mod (* (~ 1) |m$|) (~ 2)))))) +(let ((@x386 (trans (monotonicity @x594 (monotonicity (monotonicity @x406 $x408) $x411) $x378) (rewrite $x382) (= $x402 $x401)))) +(let ((@x393 (trans (monotonicity @x584 @x386 (= $x403 (ite false (= ?x19 |m$|) $x401))) (rewrite (= (ite false (= ?x19 |m$|) $x401) $x401)) (= $x403 $x401)))) +(let ((@x212 (trans (monotonicity @x393 (= (or $x289 $x403) $x363)) (rewrite (= $x363 $x363)) (= (or $x289 $x403) $x363)))) +(let ((@x557 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x401) $x371)) (|unit-resolution| (mp ((_ |quant-inst| |m$| 2) (or $x289 $x403)) @x212 $x363) @x609 $x401) $x371))) +(let ((@x385 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= (mod |m$| 2) 2)))) @x129 (not (>= (mod |m$| 2) 2))))) +(let ((@x448 (|unit-resolution| ((_ |th-lemma| arith assign-bounds 1 1) (or $x318 (>= (mod |m$| 2) 2) (not $x371))) @x385 @x557 $x318))) +(let ((@x546 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x20 (not $x318) $x307)) (hypothesis (not $x20)) (or (not $x318) $x307)))) +(let ((?x351 (+ |m$| (* (~ 2) (div |m$| 2)) (* (~ 1) (mod |m$| 2))))) +(let (($x362 (= ?x351 0))) +(let ((@x449 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x362) (<= ?x351 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x362)) @x129 $x362) (<= ?x351 0)))) +(let ((?x554 (+ |n$| |m$| ?x274 (* (~ 2) (div ?x7 2))))) +(let (($x552 (= ?x554 0))) +(let ((@x261 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x552) (<= ?x554 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x552)) @x129 $x552) (<= ?x554 0)))) +(let ((?x253 (+ ?x9 ?x274))) +(let (($x588 (= ?x253 0))) +(let (($x290 (or $x289 $x588))) +(let (($x589 (ite $x268 (= (+ ?x9 (mod (* (~ 1) ?x7) (* (~ 1) 2))) 0) $x588))) +(let (($x245 (ite $x183 (= ?x9 ?x7) $x589))) +(let ((@x569 (rewrite (= (ite false (= (+ |n$| |m$| (* (~ 1) ?x9)) 0) $x588) $x588)))) +(let (($x576 (ite false (= (+ ?x9 (mod (+ (* (~ 1) |n$|) (* (~ 1) |m$|)) (~ 2))) 0) $x588))) +(let (($x574 (= (= (+ ?x9 (mod (* (~ 1) ?x7) (* (~ 1) 2))) 0) (= (+ ?x9 (mod (+ (* (~ 1) |n$|) (* (~ 1) |m$|)) (~ 2))) 0)))) +(let (($x236 (= (+ ?x9 (mod (* (~ 1) ?x7) (* (~ 1) 2))) (+ ?x9 (mod (+ (* (~ 1) |n$|) (* (~ 1) |m$|)) (~ 2)))))) +(let (($x233 (= (mod (* (~ 1) ?x7) (* (~ 1) 2)) (mod (+ (* (~ 1) |n$|) (* (~ 1) |m$|)) (~ 2))))) +(let ((@x234 (monotonicity (rewrite (= (* (~ 1) ?x7) (+ (* (~ 1) |n$|) (* (~ 1) |m$|)))) @x230 $x233))) +(let ((@x578 (monotonicity @x594 (monotonicity (monotonicity @x234 $x236) $x574) (= $x589 $x576)))) +(let ((@x257 (rewrite (= (= ?x9 ?x7) (= (+ |n$| |m$| (* (~ 1) ?x9)) 0))))) +(let ((@x582 (monotonicity @x584 @x257 (trans @x578 (rewrite (= $x576 $x588)) (= $x589 $x588)) (= $x245 (ite false (= (+ |n$| |m$| (* (~ 1) ?x9)) 0) $x588))))) +(let ((@x564 (monotonicity (trans @x582 @x569 (= $x245 $x588)) (= (or $x289 $x245) $x290)))) +(let ((@x566 (mp ((_ |quant-inst| (+ |n$| |m$|) 2) (or $x289 $x245)) (trans @x564 (rewrite (= $x290 $x290)) (= (or $x289 $x245) $x290)) $x290))) +(let ((@x266 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x588) (<= ?x253 0))) (|unit-resolution| @x566 @x609 $x588) (<= ?x253 0)))) +(let ((@x286 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x9 0)) (<= ?x9 0))) (asserted (= ?x9 0)) (<= ?x9 0)))) +(let ((@x455 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x401) (>= ?x400 0))) (|unit-resolution| (mp ((_ |quant-inst| |m$| 2) (or $x289 $x403)) @x212 $x363) @x609 $x401) (>= ?x400 0)))) +(let ((@x456 ((_ |th-lemma| arith farkas -1 1 1 -2 1 1 1 1 1 1) @x455 @x286 @x227 (hypothesis (>= ?x316 2)) @x243 @x266 @x261 @x449 @x232 (hypothesis $x307) false))) +(let ((@x373 (|unit-resolution| (lemma @x456 (or (not (>= ?x316 2)) (>= ?x19 1))) (|unit-resolution| @x546 @x448 $x307) (not (>= ?x316 2))))) +(let ((@x471 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x9 0)) (>= ?x9 0))) (asserted (= ?x9 0)) (>= ?x9 0)))) +(let ((@x276 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x552) (>= ?x554 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x552)) @x129 $x552) (>= ?x554 0)))) +(let ((@x475 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x588) (>= ?x253 0))) (|unit-resolution| @x566 @x609 $x588) (>= ?x253 0)))) +(let ((@x532 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x362) (>= ?x351 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x362)) @x129 $x362) (>= ?x351 0)))) +(let ((@x342 (|unit-resolution| ((_ |th-lemma| arith) (or false (>= (mod |m$| 2) 0))) @x129 (>= (mod |m$| 2) 0)))) +(let ((@x349 (lemma ((_ |th-lemma| arith farkas -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 1) @x360 @x560 @x353 @x342 @x532 @x475 @x276 @x471 @x373 false) $x20))) +(let (($x142 (or (not (= ?x16 1)) (not $x20)))) +(let ((@x148 (monotonicity (rewrite (= (and (= ?x16 1) $x20) (not $x142))) (= (not (and (= ?x16 1) $x20)) (not (not $x142)))))) +(let ((@x152 (trans @x148 (rewrite (= (not (not $x142)) $x142)) (= (not (and (= ?x16 1) $x20)) $x142)))) +(let ((@x627 (|unit-resolution| (mp (asserted (not (and (= ?x16 1) $x20))) @x152 $x142) @x349 (not (= ?x16 1))))) +(let ((@x636 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (= ?x16 1) (not $x617) $x629)) @x627 (or (not $x617) $x629)))) +((_ |th-lemma| arith farkas 1/2 -1/2 -1/2 -1/2 -1/2 -1/2 1) (|unit-resolution| @x636 @x611 $x629) @x647 @x360 @x560 @x353 @x621 (lemma @x626 (not (>= ?x193 2))) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6b708fee38e9bf7615ccc8723328495d7f62521e 11 0 unsat @@ -2310,6 +1966,18 @@ (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)))))))) +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)))))))) + 365761b65f00d147ff0728b709645c1e95a5cb22 22 0 unsat ((set-logic AUFLIA) @@ -2333,17 +2001,28 @@ (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 +a524cbe0a36c63dd22a617bca8ac628c3c4e0003 22 0 unsat ((set-logic AUFLIRA) (proof -(let (($x6 (exists ((?v0 Real) )false) +(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 (($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)))))))) +(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))))))))))))) 52fc23e5db1b35bf2465aff4abeba68b99d17123 40 0 unsat @@ -2386,28 +2065,26 @@ (let ((@x85 (mp @x84 (|quant-intro| (rewrite (= $x76 $x70)) (= $x79 $x89)) $x89))) (mp @x85 (rewrite (= $x89 false)) false)))))))))))))))))))))))) -a524cbe0a36c63dd22a617bca8ac628c3c4e0003 22 0 +750c85c0e2958b1508ba7c582f2bdbbb46fc0552 20 0 unsat -((set-logic AUFLIRA) +((set-logic AUFLIA) +(declare-fun ?v1!0 () Int) +(declare-fun ?v0!1 () Int) (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 (($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 ((@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 (($x25 (not $x22))) +(let (($x15 (forall ((?v0 Int) (?v1 Int) )(=> (and (= ?v0 0) (= ?v1 1)) (not (= ?v0 ?v1)))) )) -(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))))))))))))) +(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)))))))))))))) 76c68fc9857d9b1bea2540fac5de5d93a85faffa 30 0 unsat @@ -2440,27 +2117,6 @@ (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) @@ -2675,28 +2331,6 @@ (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) @@ -2745,6 +2379,28 @@ (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)))))))))))))))))))))))))))))))))))))) +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))))))))))))))) + a029fa4a7b0e95c1814546efbbdea2800c05d654 41 0 unsat ((set-logic AUFLIA) @@ -2945,31 +2601,31 @@ (let ((@x129 (mp @x115 (|quant-intro| (rewrite (= $x119 $x108)) (= $x122 $x126)) $x126))) (mp (mp @x129 @x160 $x156) @x184 false))))))))))))))))))))))))))))))))))))))))))))))))) -419cefdf46cfbd38d5875f00d00c97a5b2a4a327 28 0 +cf41882047cdb0b0d0cbb2e29bd4abf71d67b407 28 0 unsat ((set-logic AUFLIA) (proof -(let (($x32 (forall ((?v0 Int) )(let (($x21 (not (<= (* 2 |$a|) (* 2 ?v0))))) -(let (($x16 (<= |$a| ?v0))) +(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 (($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 (($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 (($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 (($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))))))))))))))))))))) @@ -3013,158 +2669,183 @@ (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 +abbcc5cc077b58e7142b658090ed462f7a37de5b 19 0 unsat ((set-logic ) (proof -(let (($x29 (<= |$b| 0))) +(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 (($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 (($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 ((@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 +4ef1d4e9c1eb07f7b6dde03db0c786dd6cdb3835 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 ((?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 ((@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 ((@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 (($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 ((@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 +d53ca0a1797e1fff3e579ce36e7f8e25e5b2afcb 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))))))))))))))))))))))) + +3d315c543a59bb7c2ba5e19237e3c8b29ad17b62 74 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 ((?x165 (* (~ 1) |e$|))) +(let ((?x163 (* (~ 1) |b$|))) +(let ((?x176 (+ ?x163 ?x165))) +(let ((?x8 (+ 1 |p$|))) +(let ((?x181 (* ?x8 ?x176))) +(let ((?x51 (+ 2 (* 2 |p$|)))) +(let ((?x11 (+ |b$| |e$|))) +(let ((?x59 (* ?x11 ?x51))) +(let ((?x187 (+ ?x59 ?x181))) +(let ((?x12 (* ?x8 ?x11))) +(let (($x194 (= ?x12 ?x187))) +(let (($x197 (not $x194))) +(let ((?x220 (* |p$| |e$|))) +(let ((?x219 (* |p$| |b$|))) +(let ((?x221 (+ |b$| |e$| ?x219 ?x220))) +(let ((?x236 (+ (+ (* 2 |b$|) (* 2 |e$|) (* 2 ?x219) (* 2 ?x220)) (+ ?x163 ?x165 (* (~ 1) ?x219) (* (~ 1) ?x220))))) +(let (($x229 (= ?x59 (+ (* 2 |b$|) (* 2 |e$|) (* 2 ?x219) (* 2 ?x220))))) +(let ((@x238 (monotonicity (rewrite $x229) (rewrite (= ?x181 (+ ?x163 ?x165 (* (~ 1) ?x219) (* (~ 1) ?x220)))) (= ?x187 ?x236)))) +(let ((@x245 (monotonicity (rewrite (= ?x12 ?x221)) (trans @x238 (rewrite (= ?x236 ?x221)) (= ?x187 ?x221)) (= $x194 (= ?x221 ?x221))))) +(let ((@x252 (monotonicity (trans @x245 (rewrite (= (= ?x221 ?x221) true)) (= $x194 true)) (= $x197 (not true))))) +(let ((?x86 (+ |b$| |d$| |e$|))) +(let ((?x89 (* ?x8 ?x86))) +(let ((?x96 (* (~ 1) ?x89))) +(let ((?x64 (* |d$| ?x8))) +(let ((?x121 (+ ?x59 ?x64 ?x96))) +(let (($x124 (= ?x12 ?x121))) +(let (($x127 (not $x124))) +(let ((?x157 (+ ?x59 (* ?x8 (+ |d$| (* (~ 1) ?x86))) 0))) +(let ((?x166 (+ ?x163 (* (~ 1) |d$|) ?x165))) +(let ((?x154 (* (~ 1) ?x86))) +(let (($x167 (= ?x154 ?x166))) +(let ((@x169 (trans (monotonicity (rewrite (= ?x86 ?x86)) (= ?x154 ?x154)) (rewrite $x167) $x167))) +(let ((@x175 (monotonicity (trans @x169 (rewrite (= ?x166 ?x166)) $x167) (= (+ |d$| ?x154) (+ |d$| ?x166))))) +(let ((@x180 (trans @x175 (rewrite (= (+ |d$| ?x166) ?x176)) (= (+ |d$| ?x154) ?x176)))) +(let ((@x135 (rewrite (= ?x8 ?x8)))) +(let ((@x143 (monotonicity (rewrite (= ?x11 ?x11)) (rewrite (= ?x51 ?x51)) (= ?x59 ?x59)))) +(let ((@x186 (monotonicity @x143 (monotonicity @x135 @x180 (= (* ?x8 (+ |d$| ?x154)) ?x181)) (= ?x157 (+ ?x59 ?x181 0))))) +(let ((@x151 (monotonicity (monotonicity @x135 (rewrite (= ?x86 ?x86)) (= ?x89 ?x89)) (= ?x96 ?x96)))) +(let ((@x153 (monotonicity @x143 (monotonicity @x135 (= ?x64 ?x64)) @x151 (= ?x121 ?x121)))) +(let ((@x193 (trans (trans @x153 (rewrite (= ?x121 ?x157)) (= ?x121 ?x157)) (trans @x186 (rewrite (= (+ ?x59 ?x181 0) ?x187)) (= ?x157 ?x187)) (= ?x121 ?x187)))) +(let ((@x196 (monotonicity (monotonicity @x135 (rewrite (= ?x11 ?x11)) (= ?x12 ?x12)) @x193 (= $x124 $x194)))) +(let ((@x126 (monotonicity (rewrite (= (+ 0 ?x59 ?x64 ?x96) ?x121)) (= (= ?x12 (+ 0 ?x59 ?x64 ?x96)) $x124)))) +(let ((@x129 (monotonicity @x126 (= (not (= ?x12 (+ 0 ?x59 ?x64 ?x96))) $x127)))) +(let (($x112 (= ?x12 (+ 0 ?x59 ?x64 ?x96)))) +(let (($x117 (not $x112))) +(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$| ?x12) (* |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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +(let ((@x114 (rewrite (= (= (+ |u$| ?x12 ?x22) (+ |u$| ?x59 ?x64 ?x22 ?x96)) $x112)))) +(let ((@x104 (rewrite (= (+ (+ |u$| ?x59 ?x64 ?x22) ?x96) (+ |u$| ?x59 ?x64 ?x22 ?x96))))) +(let ((?x81 (+ |u$| ?x59 ?x64 ?x22))) +(let ((?x97 (+ ?x81 ?x96))) +(let ((@x91 (monotonicity (rewrite (= (+ (+ |b$| |d$|) |e$|) ?x86)) (= (* ?x8 (+ (+ |b$| |d$|) |e$|)) ?x89)))) +(let ((@x53 (monotonicity (rewrite (= (* 2 1) 2)) (= (+ (* 2 1) (* 2 |p$|)) ?x51)))) +(let ((@x55 (trans (rewrite (= (* 2 ?x8) (+ (* 2 1) (* 2 |p$|)))) @x53 (= (* 2 ?x8) ?x51)))) +(let ((@x63 (trans (monotonicity @x55 (= (* (* 2 ?x8) ?x11) (* ?x51 ?x11))) (rewrite (= (* ?x51 ?x11) ?x59)) (= (* (* 2 ?x8) ?x11) ?x59)))) +(let ((@x69 (monotonicity @x63 (rewrite (= (* ?x8 |d$|) ?x64)) (= (+ (* (* 2 ?x8) ?x11) (* ?x8 |d$|)) (+ ?x59 ?x64))))) +(let ((@x77 (trans (monotonicity @x69 (= ?x23 (+ (+ ?x59 ?x64) ?x22))) (rewrite (= (+ (+ ?x59 ?x64) ?x22) (+ ?x59 ?x64 ?x22))) (= ?x23 (+ ?x59 ?x64 ?x22))))) +(let ((@x85 (trans (monotonicity @x77 (= ?x24 (+ |u$| (+ ?x59 ?x64 ?x22)))) (rewrite (= (+ |u$| (+ ?x59 ?x64 ?x22)) ?x81)) (= ?x24 ?x81)))) +(let ((@x101 (trans (monotonicity @x85 @x91 (= ?x28 (- ?x81 ?x89))) (rewrite (= (- ?x81 ?x89) ?x97)) (= ?x28 ?x97)))) +(let ((@x38 (monotonicity (rewrite (= (* |p$| |d$|) ?x22)) (= ?x16 (+ (+ |u$| ?x12) ?x22))))) +(let ((@x43 (trans @x38 (rewrite (= (+ (+ |u$| ?x12) ?x22) (+ |u$| ?x12 ?x22))) (= ?x16 (+ |u$| ?x12 ?x22))))) +(let ((@x109 (monotonicity @x43 (trans @x101 @x104 (= ?x28 (+ |u$| ?x59 ?x64 ?x22 ?x96))) (= $x29 (= (+ |u$| ?x12 ?x22) (+ |u$| ?x59 ?x64 ?x22 ?x96)))))) +(let ((@x120 (mp (asserted $x30) (monotonicity (trans @x109 @x114 (= $x29 $x112)) (= $x30 $x117)) $x117))) +(let ((@x200 (mp (mp (mp @x120 @x129 $x127) (|rewrite*| (= $x127 $x127)) $x127) (monotonicity @x196 (= $x127 $x197)) $x197))) +(mp @x200 (trans @x252 (rewrite (= (not true) false)) (= $x197 false)) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -0795b8d99cb059e79a0bd193807871920dc7cdc1 97 0 +895910b3e061efd8f207e0c25a2edc00b81271b2 97 0 unsat ((set-logic AUFLIA) (proof -(let ((?x8 (* 2 (|$of_nat| |$x|)))) -(let ((?x545 (+ ?x8 (* (~ 1) (|$of_nat| (|$nat| ?x8)))))) +(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 (($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 (($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))) +(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 (($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 (($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 (($x27 (forall ((?v0 Int) )(let (($x25 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x22 (<= 0 ?v0))) (=> $x22 $x25)))) )) @@ -3183,31 +2864,31 @@ (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 (($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 ((@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 (($x564 (forall ((?v0 Int) )(!(let (($x29 (= (|of_nat$| (|nat$| ?v0)) 0))) (let (($x102 (>= ?v0 0))) -(or $x102 $x29))) :pattern ( (|$nat| ?v0) ))) +(or $x102 $x29))) :pattern ( (|nat$| ?v0) ))) )) -(let (($x116 (forall ((?v0 Int) )(let (($x29 (= (|$of_nat| (|$nat| ?v0)) 0))) +(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 (($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 (($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))) +(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))))) @@ -3222,7 +2903,7 @@ (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 ((@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))) @@ -3230,17 +2911,17 @@ (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 ((@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 +348e0e0e2aff481fb0a9d832ecbb8299820ba5ad 23 0 unsat ((set-logic AUFLIA) (proof -(let ((?x6 (|$of_nat| |$a|))) +(let ((?x6 (|of_nat$| |a$|))) (let (($x50 (>= ?x6 4))) (let (($x12 (< (* 2 ?x6) 7))) (let (($x13 (=> (< ?x6 3) $x12))) @@ -3260,14 +2941,14 @@ (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 +754dd3a2aa33c6ad39bf93726c67d09ed642aeda 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 ((?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))) @@ -3275,24 +2956,24 @@ (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 (($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) ))) +(or $x143 $x31))) :pattern ( (|nat$| ?v0) ))) )) -(let (($x158 (forall ((?v0 Int) )(let (($x31 (= (|$of_nat| (|$nat| ?v0)) 0))) +(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 (($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 (($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))) +(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))))) @@ -3303,38 +2984,38 @@ (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 ((@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 (($x591 (forall ((?v0 |Nat$|) )(!(= (|nat$| (|of_nat$| ?v0)) ?v0) :pattern ( (|of_nat$| ?v0) ))) )) -(let (($x22 (forall ((?v0 |$Nat|) )(= (|$nat| (|$of_nat| ?v0)) ?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 ((@x166 (refl (|~| (= (|nat$| (|of_nat$| ?0)) ?0) (= (|nat$| (|of_nat$| ?0)) ?0))))) +(let ((@x163 (|mp~| (mp (asserted $x22) (|rewrite*| (= $x22 $x22)) $x22) (|nnf-pos| @x166 (|~| $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 (($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))) +(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 (($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 (($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 (($x29 (forall ((?v0 Int) )(let (($x27 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x24 (<= 0 ?v0))) (=> $x24 $x27)))) )) @@ -3363,30 +3044,30 @@ (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 ((?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 ((@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 ((@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 +0f5c33836eb7c04b103caf9bdb4756aba933ece2 112 0 unsat ((set-logic AUFLIA) (proof -(let ((?x11 (|$of_nat| (|$nat| (+ 1 (|$of_nat| |$y|)))))) +(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 ((?x82 (|nat$| ?x75))) +(let ((?x335 (|of_nat$| ?x82))) +(let ((?x8 (|of_nat$| |y$|))) (let (($x419 (>= (+ ?x8 (* (~ 1) ?x335)) 0))) -(let (($x85 (= ?x82 |$y|))) +(let (($x85 (= ?x82 |y$|))) (let (($x54 (<= ?x11 0))) (let (($x13 (ite (< 0 ?x11) true false))) (let (($x18 (not $x13))) @@ -3397,44 +3078,44 @@ (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 (($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 (($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 ((@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 ((@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 (($x651 (forall ((?v0 Int) )(!(let (($x36 (= (|of_nat$| (|nat$| ?v0)) 0))) (let (($x189 (>= ?v0 0))) -(or $x189 $x36))) :pattern ( (|$nat| ?v0) ))) +(or $x189 $x36))) :pattern ( (|nat$| ?v0) ))) )) -(let (($x204 (forall ((?v0 Int) )(let (($x36 (= (|$of_nat| (|$nat| ?v0)) 0))) +(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 (($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 (($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))) +(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))))) @@ -3454,22 +3135,22 @@ (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 (($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))) +(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 (($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 (($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 (($x34 (forall ((?v0 Int) )(let (($x32 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x29 (<= 0 ?v0))) (=> $x29 $x32)))) )) @@ -3489,32 +3170,32 @@ (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 +0c9ea539f37d7b052d3668e6cc284a6b6fb59ca4 60 0 unsat ((set-logic AUFLIA) (proof -(let ((?x44 (* (~ 1) |$x|))) -(let (($x140 (>= |$x| 0))) -(let ((?x143 (ite $x140 |$x| ?x44))) +(let ((?x44 (* (~ 1) |x$|))) +(let (($x140 (>= |x$| 0))) +(let ((?x143 (ite $x140 |x$| ?x44))) (let (($x279 (= ?x44 ?x143))) -(let (($x193 (= |$x| ?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 ((@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 (($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))) +(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 (($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))) +(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 (($x25 (forall ((?v0 Int) )(let (($x23 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x20 (<= 0 ?v0))) (=> $x20 $x23)))) )) @@ -3523,78 +3204,78 @@ (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 (($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 ((@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 ((?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 ((@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 +2f8af7e6fa968818bbe306cb947f5460272d1297 255 0 unsat ((set-logic AUFLIA) -(declare-fun ?v1!0 (|$Nat|) |$Nat|) +(declare-fun ?v1!0 (|Nat$|) |Nat$|) (proof -(let ((?x23 (|$of_nat| |$m|))) +(let ((?x23 (|of_nat$| |m$|))) (let ((?x24 (* 4 ?x23))) -(let (($x601 (= (+ ?x24 (* (~ 1) (|$of_nat| (|$nat| (+ 1 ?x24))))) (~ 1)))) +(let (($x601 (= (+ ?x24 (* (~ 1) (|of_nat$| (|nat$| (+ 1 ?x24))))) (~ 1)))) (let (($x614 (>= ?x23 0))) -(let (($x705 (forall ((?v1 |$Nat|) )(!(let ((?x12 (|$nat| 1))) +(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|))))) ))) +(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 ((?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 (($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 (($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 (($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 ((?x8 (|of_nat$| ?v0))) (let (($x51 (<= ?x8 1))) -(let (($x6 (|$prime_nat| ?v0))) +(let (($x6 (|prime_nat$| ?v0))) (let (($x251 (or $x6 $x51 $x224))) -(let (($x714 (forall ((?v1 |$Nat|) )(!(let ((?x12 (|$nat| 1))) +(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) ))) +(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) ))) +(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 (($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 ((?x8 (|of_nat$| ?v0))) (let (($x51 (<= ?x8 1))) -(let (($x6 (|$prime_nat| ?v0))) +(let (($x6 (|prime_nat$| ?v0))) (let (($x251 (or $x6 $x51 $x224))) -(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x59 (forall ((?v1 |Nat$|) )(let ((?x12 (|nat$| 1))) (let (($x13 (= ?v1 ?x12))) -(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +(or (not (|dvd$| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) )) (let (($x225 (not $x59))) (let (($x279 (not (or $x51 $x225)))) @@ -3602,20 +3283,20 @@ (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 (($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 ((?x8 (|of_nat$| ?0))) (let (($x51 (<= ?x8 1))) -(let (($x6 (|$prime_nat| ?0))) +(let (($x6 (|prime_nat$| ?0))) (let (($x251 (or $x6 $x51 $x224))) -(let (($x714 (forall ((?v1 |$Nat|) )(!(let ((?x12 (|$nat| 1))) +(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) ))) +(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 (($x59 (forall ((?v1 |Nat$|) )(let ((?x12 (|nat$| 1))) (let (($x13 (= ?v1 ?x12))) -(or (not (|$dvd| ?v1 ?0)) $x13 (= ?v1 ?0))))) +(or (not (|dvd$| ?v1 ?0)) $x13 (= ?v1 ?0))))) )) (let (($x225 (not $x59))) (let (($x279 (not (or $x51 $x225)))) @@ -3623,22 +3304,22 @@ (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 ((?x12 (|nat$| 1))) (let (($x13 (= ?0 ?x12))) -(let (($x56 (or (not (|$dvd| ?0 ?1)) $x13 (= ?0 ?1)))) +(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 (($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 ((?x8 (|of_nat$| ?v0))) (let (($x51 (<= ?x8 1))) -(let (($x6 (|$prime_nat| ?v0))) +(let (($x6 (|prime_nat$| ?v0))) (let (($x251 (or $x6 $x51 $x224))) -(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x59 (forall ((?v1 |Nat$|) )(let ((?x12 (|nat$| 1))) (let (($x13 (= ?v1 ?x12))) -(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +(or (not (|dvd$| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) )) (let (($x52 (not $x51))) (let (($x62 (and $x52 $x59))) @@ -3649,18 +3330,18 @@ (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 (($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 ((?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 (($x6 (|prime_nat$| ?v0))) (let (($x232 (or $x6 $x228))) -(let (($x59 (forall ((?v1 |$Nat|) )(let ((?x12 (|$nat| 1))) +(let (($x59 (forall ((?v1 |Nat$|) )(let ((?x12 (|nat$| 1))) (let (($x13 (= ?v1 ?x12))) -(or (not (|$dvd| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) +(or (not (|dvd$| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) )) (let (($x62 (and $x52 $x59))) (let (($x204 (not $x6))) @@ -3677,55 +3358,55 @@ (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 (($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))))) +(or (not (|dvd$| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) )) -(let ((?x8 (|$of_nat| ?v0))) +(let ((?x8 (|of_nat$| ?v0))) (let (($x51 (<= ?x8 1))) (let (($x52 (not $x51))) (let (($x62 (and $x52 $x59))) -(let (($x6 (|$prime_nat| ?v0))) +(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 (($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))))) +(or (not (|dvd$| ?v1 ?v0)) $x13 (= ?v1 ?v0))))) )) -(let ((?x8 (|$of_nat| ?v0))) +(let ((?x8 (|of_nat$| ?v0))) (let (($x51 (<= ?x8 1))) (let (($x52 (not $x51))) (let (($x62 (and $x52 $x59))) -(let (($x6 (|$prime_nat| ?v0))) +(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 (($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 (($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 (($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 ((@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 ((@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 (($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 ((@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)))) @@ -3734,23 +3415,23 @@ (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 (($x760 (forall ((?v0 Int) )(!(let (($x43 (= (|of_nat$| (|nat$| ?v0)) 0))) (let (($x178 (>= ?v0 0))) -(or $x178 $x43))) :pattern ( (|$nat| ?v0) ))) +(or $x178 $x43))) :pattern ( (|nat$| ?v0) ))) )) -(let (($x192 (forall ((?v0 Int) )(let (($x43 (= (|$of_nat| (|$nat| ?v0)) 0))) +(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 (($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 (($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))) +(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))))) @@ -3768,22 +3449,22 @@ (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 (($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))) +(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 (($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 (($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 (($x41 (forall ((?v0 Int) )(let (($x39 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x36 (<= 0 ?v0))) (=> $x36 $x39)))) )) @@ -3806,176 +3487,176 @@ (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 +382f4199d494d0df860c17de3f08dc5bef5af830 20 0 unsat ((set-logic AUFLIA) (proof -(let (($x17 (= |$x| |$a|))) -(let ((?x14 (|$fst| (|$pair| |$x| |$y|)))) -(let (($x16 (= ?x14 |$a|))) +(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 (($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 (($x10 (forall ((?v0 |A$|) (?v1 |B$|) )(= (|fst$| (|pair$| ?v0 ?v1)) ?v0)) )) -(let (($x9 (= (|$fst| (|$pair| ?1 ?0)) ?1))) +(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 ((@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 +2e6ad6073b328dff58f57dea99b605ad0bcd9bbc 32 0 unsat ((set-logic AUFLIA) (proof -(let ((?x33 (|$snda| |$p2|))) -(let ((?x32 (|$fsta| |$p1|))) +(let ((?x33 (|snd$a| |p2$|))) +(let ((?x32 (|fst$a| |p1$|))) (let (($x34 (= ?x32 ?x33))) -(let (($x30 (= |$p2| (|$pair| |$y| |$x|)))) -(let (($x27 (= |$p1| (|$paira| |$x| |$y|)))) +(let (($x30 (= |p2$| (|pair$| |y$| |x$|)))) +(let (($x27 (= |p1$| (|pair$a| |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 ((@x531 (monotonicity (mp (|and-elim| @x50 $x30) (|rewrite*| (= $x30 $x30)) $x30) (= ?x33 (|snd$a| (|pair$| |y$| |x$|)))))) +(let (($x552 (forall ((?v0 |B$|) (?v1 |A$|) )(!(= (|snd$a| (|pair$| ?v0 ?v1)) ?v1) :pattern ( (|pair$| ?v0 ?v1) ))) )) -(let (($x22 (forall ((?v0 |$B|) (?v1 |$A|) )(= (|$snda| (|$pair| ?v0 ?v1)) ?v1)) +(let (($x22 (forall ((?v0 |B$|) (?v1 |A$|) )(= (|snd$a| (|pair$| ?v0 ?v1)) ?v1)) )) -(let (($x21 (= (|$snda| (|$pair| ?1 ?0)) ?0))) +(let (($x21 (= (|snd$a| (|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 ((@x520 (|unit-resolution| ((_ |quant-inst| |y$| |x$|) (or (not $x552) (= (|snd$a| (|pair$| |y$| |x$|)) |x$|))) (mp @x114 (|quant-intro| (refl (= $x21 $x21)) (= $x22 $x552)) $x552) (= (|snd$a| (|pair$| |y$| |x$|)) |x$|)))) +(let (($x540 (forall ((?v0 |A$|) (?v1 |B$|) )(!(= (|fst$a| (|pair$a| ?v0 ?v1)) ?v0) :pattern ( (|pair$a| ?v0 ?v1) ))) )) -(let (($x16 (forall ((?v0 |$A|) (?v1 |$B|) )(= (|$fsta| (|$paira| ?v0 ?v1)) ?v0)) +(let (($x16 (forall ((?v0 |A$|) (?v1 |B$|) )(= (|fst$a| (|pair$a| ?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 (($x15 (= (|fst$a| (|pair$a| ?1 ?0)) ?1))) +(let ((@x108 (|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) (= (|fst$a| (|pair$a| |x$| |y$|)) |x$|))) (mp @x108 (|quant-intro| (refl (= $x15 $x15)) (= $x16 $x540)) $x540) (= (|fst$a| (|pair$a| |x$| |y$|)) |x$|)))) +(let ((@x529 (monotonicity (mp (|and-elim| @x50 $x27) (|rewrite*| (= $x27 $x27)) $x27) (= ?x32 (|fst$a| (|pair$a| |x$| |y$|)))))) +(let ((@x507 (trans (trans @x529 @x192 (= ?x32 |x$|)) (symm @x520 (= |x$| (|snd$a| (|pair$| |y$| |x$|)))) (= ?x32 (|snd$a| (|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)))))))))))))))))))))))))) +(|unit-resolution| (mp @x54 (|rewrite*| (= $x53 $x53)) $x53) (trans @x507 (symm @x531 (= (|snd$a| (|pair$| |y$| |x$|)) ?x33)) $x34) false)))))))))))))))))))))))))) -59c048bf2a7d60122a476dc3f13a0fb43ee841cc 42 0 +aeb8771903a6c70ea67dddc8b5f3cfb927335a01 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 ((?x41 (|fun_app$b| (|fun_upd$| (|fun_app$a| (|fun_app$b| (|fun_upd$| |f$|) |i1$|) |v1$|)) |i2$|))) +(let ((?x44 (|fun_app$| (|fun_app$a| ?x41 |v2$|) |i$|))) +(let (($x46 (= ?x44 (|fun_app$| |f$| |i$|)))) +(let ((?x39 (|fun_app$a| (|fun_app$b| (|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_app$a| (|fun_app$b| (|fun_upd$| ?v0) ?v1) ?v2) ?v3))) +(ite (= ?v3 ?v1) (= ?x21 ?v2) (= ?x21 (|fun_app$| ?v0 ?v3)))) :pattern ( (|fun_app$| (|fun_app$a| (|fun_app$b| (|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 (($x114 (forall ((?v0 |A_b_fun$|) (?v1 |A$|) (?v2 |B$|) (?v3 |A$|) )(let ((?x21 (|fun_app$| (|fun_app$a| (|fun_app$b| (|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 ((?x21 (|fun_app$| (|fun_app$a| (|fun_app$b| (|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_app$a| (|fun_app$b| (|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 ((@x113 (rewrite (= (= ?x21 (ite (= ?0 ?2) ?1 (|fun_app$| ?3 ?0))) $x111)))) +(let (($x25 (= ?x21 (ite (= ?0 ?2) ?1 (|fun_app$| ?3 ?0))))) +(let ((@x108 (|mp~| (mp (asserted $x26) (|rewrite*| (= $x26 $x26)) $x26) (|nnf-pos| (refl (|~| $x25 $x25)) (|~| $x26 $x26)) $x26))) +(let ((@x548 (mp (mp @x108 (|quant-intro| @x113 (= $x26 $x114)) $x114) (|quant-intro| (refl (= $x111 $x111)) (= $x114 $x543)) $x543))) (let (($x30 (not $x29))) -(let (($x32 (= |$i| |$i2|))) +(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 ((@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 (($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 ((@x479 (|unit-resolution| @x478 (|unit-resolution| ((_ |quant-inst| (|fun_app$a| (|fun_app$b| (|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 +c4b4af33aa30da357345c646af342edc4d415cfd 19 0 unsat ((set-logic AUFLIA) (proof -(let (($x8 (|$fun_app| |$g| |$x|))) -(let (($x7 (|$f| |$g| |$x|))) +(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 ((@x56 (|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 ((@x61 (trans (monotonicity @x52 @x56 (= $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 +fb8b7f74f922a8d00662632480052b1430519f93 12 0 unsat ((set-logic AUFLIA) (proof -(let (($x7 (exists ((?v0 |$A|) )(|$g| ?v0)) +(let (($x7 (exists ((?v0 |A$|) )(|g$| ?v0)) )) -(let (($x10 (=> (|$f| (ite $x7 true false)) true))) +(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 ((@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 +d62e2b1dea713f6de1a49810c6dcc90c07962d7b 12 0 unsat ((set-logic AUFLIA) (proof -(let (($x7 (forall ((?v0 |$A|) )(|$g| ?v0)) +(let (($x7 (forall ((?v0 |A$|) )(|g$| ?v0)) )) -(let (($x10 (=> (|$f| (ite $x7 true false)) true))) +(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 ((@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 +95d5c3c67c271c191a1aa0777fcf993d700adecd 43 0 unsat ((set-logic AUFLIA) (proof -(let (($x19 (|$fun_app| (|$fun_appa| |$le| 3) 42))) +(let (($x19 (|fun_app$| (|fun_app$a| |le$| 3) 42))) (let (($x33 (not $x19))) -(let (($x15 (= |$le| |$uu|))) +(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 ((@x487 (monotonicity (symm (mp @x32 (|rewrite*| (= $x15 $x15)) $x15) (= |uu$| |le$|)) (= (|fun_app$a| |uu$| 3) (|fun_app$a| |le$| 3))))) +(let ((@x489 (symm (monotonicity @x487 (= (|fun_app$| (|fun_app$a| |uu$| 3) 42) $x19)) (= $x19 (|fun_app$| (|fun_app$a| |uu$| 3) 42))))) +(let ((@x477 (monotonicity @x489 (= $x33 (not (|fun_app$| (|fun_app$a| |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 ((@x195 (mp (mp @x34 (|rewrite*| (= $x33 $x33)) $x33) @x477 (not (|fun_app$| (|fun_app$a| |uu$| 3) 42))))) +(let (($x174 (|fun_app$| (|fun_app$a| |uu$| 3) 42))) +(let (($x78 (forall ((?v0 Int) (?v1 Int) )(!(let (($x9 (|fun_app$| (|fun_app$a| |uu$| ?v0) ?v1))) +(= $x9 (<= (+ ?v0 (* (~ 1) ?v1)) 0))) :pattern ( (|fun_app$| (|fun_app$a| |uu$| ?v0) ?v1) ))) )) -(let (($x9 (|$fun_app| (|$fun_appa| |$uu| ?1) ?0))) +(let (($x9 (|fun_app$| (|fun_app$a| |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 (($x9 (|fun_app$| (|fun_app$a| |uu$| ?v0) ?v1))) +(= $x9 $x10))) :pattern ( (|fun_app$| (|fun_app$a| |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 (($x9 (|fun_app$| (|fun_app$a| |uu$| ?v0) ?v1))) +(= $x9 $x10))) :pattern ( (|fun_app$| (|fun_app$a| |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)))) @@ -3993,79 +3674,79 @@ (let ((@x484 (|unit-resolution| @x483 (|mp~| @x83 (|nnf-pos| (refl (|~| $x75 $x75)) (|~| $x78 $x78)) $x78) $x174))) (|unit-resolution| @x484 @x195 false))))))))))))))))))))))))))))))))) -1e6464a8407a2a74a0364e3a44847cf73870c006 143 0 +7fbbdb30adaccd1cbc0fc92d3a2f74bf98a088ab 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 ((?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 (($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 (($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 (($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 (($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 ((@x613 (refl (= (= (|map$| ?0 |nil$|) |nil$|) (= (|map$| ?0 |nil$|) |nil$|))))) +(let ((@x173 (refl (|~| (= (|map$| ?0 |nil$|) |nil$|) (= (|map$| ?0 |nil$|) |nil$|))))) +(let ((@x168 (|mp~| (mp (asserted $x19) (|rewrite*| (= $x19 $x19)) $x19) (|nnf-pos| @x173 (|~| $x19 $x19)) $x19))) +(let ((@x379 (|unit-resolution| ((_ |quant-inst| |uu$|) (or (not $x611) (= (|map$| |uu$| |nil$|) |nil$|))) (mp @x168 (|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 ((?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 ((@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 (($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 ((?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 (($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 ((@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 ((@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 (($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))) +(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 (($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))) +(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 (($x51 (forall ((?v0 Int) )(let (($x49 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x46 (<= 0 ?v0))) (=> $x46 $x49)))) )) @@ -4087,25 +3768,25 @@ (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 (($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 ((@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 ((@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 ((?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)))) @@ -4130,78 +3811,78 @@ (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 ((@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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +(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 +c2aa9b07a380b6b94c7b3a0cba48d13d4241c907 7 0 unsat ((set-logic AUFLIA) (proof -(let (($x7 (forall ((?v0 |$A|) )(|$p| ?v0)) +(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 +e807e5ca142c0da5a6842f0271c430bac373ca49 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 ((?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 ((?x21 (|nat$| ?x20))) +(let ((?x22 (|dec_10$| ?x21))) +(let ((?x496 (|dec_10$| ?x24))) (let (($x456 (= ?x496 ?x24))) -(let ((?x522 (|$of_nat| ?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 (($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) ))) +(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 (($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))))) +(ite $x160 (= (|dec_10$| ?v0) (|dec_10$| (|nat$| (+ (~ 10) ?x7)))) (= (|dec_10$| ?v0) ?v0))))) )) -(let ((?x7 (|$of_nat| ?0))) +(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 (($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))) +(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 ((?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))) +(let ((?x6 (|dec_10$| ?v0))) (= ?x6 ?x83))))))) )) -(let ((?x77 (|$dec_10| (|$nat| (+ (~ 10) ?x7))))) +(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))) +(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 (($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 ((@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))) @@ -4210,20 +3891,20 @@ (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 (($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))) +(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 (($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))) +(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 (($x37 (forall ((?v0 Int) )(let (($x35 (= (|of_nat$| (|nat$| ?v0)) ?v0))) (let (($x32 (<= 0 ?v0))) (=> $x32 $x35)))) )) @@ -4244,11 +3925,11 @@ (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 ((@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 ((?x624 (|of_nat$| ?x17))) (let (($x287 (>= ?x624 10))) -(let (($x274 (ite $x287 (= ?x18 (|$dec_10| (|$nat| (+ (~ 10) ?x624)))) $x273))) +(let (($x274 (ite $x287 (= ?x18 (|dec_10$| (|nat$| (+ (~ 10) ?x624)))) $x273))) (let (($x415 (<= ?x624 4))) (let (($x598 (= ?x624 4))) (let (($x580 (or $x579 $x598))) @@ -4261,14 +3942,14 @@ (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 ((@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 ((?x475 (+ ?x20 (* (~ 1) (|of_nat$| ?x21))))) (let (($x552 (<= ?x475 0))) (let (($x473 (= ?x475 0))) (let (($x567 (>= ?x19 0))) @@ -4276,847 +3957,341 @@ (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 (($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 ((@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 ((@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 ((@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 +b6d06ee5e346cf098143de9de1b69fb576a485c2 289 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 ((?x45 (|mod$| |l$| 2))) +(let ((?x43 (|eval_dioph$| |ks$| (|map$| |uu$| |xs$|)))) +(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 ((?x39 (|eval_dioph$| |ks$| |xs$|))) +(let (($x41 (= ?x39 |l$|))) +(let ((?x116 (* (~ 1) ?x43))) +(let ((?x117 (+ |l$| ?x116))) +(let ((?x120 (|div$| ?x117 2))) +(let ((?x48 (|eval_dioph$| |ks$| (|map$| |uua$| |xs$|)))) +(let (($x123 (= ?x48 ?x120))) +(let (($x338 (not $x123))) +(let (($x337 (not $x46))) +(let (($x339 (or $x337 $x338))) +(let ((?x686 (|mod$| ?x39 2))) +(let ((?x441 (* (~ 1) ?x686))) +(let ((?x678 (* (~ 1) (mod |l$| 2)))) +(let ((?x946 (+ |l$| ?x45 (* (~ 1) (div ?x39 2)) (* (~ 1) (div |l$| 2)) ?x678 ?x441))) +(let (($x864 (<= (+ ?x45 ?x441) 0))) +(let (($x796 (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 (($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 (($x30 (forall ((?v0 |Int_list$|) (?v1 |Nat_list$|) )(= (|mod$| (|eval_dioph$| ?v0 ?v1) 2) (|mod$| (|eval_dioph$| ?v0 (|map$| |uu$| ?v1)) 2))) )) -(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 (($x29 (= (|mod$| (|eval_dioph$| ?1 ?0) 2) (|mod$| (|eval_dioph$| ?1 (|map$| |uu$| ?0)) 2)))) +(let ((@x300 (|mp~| (asserted $x30) (|nnf-pos| (refl (|~| $x29 $x29)) (|~| $x30 $x30)) $x30))) +(let ((@x910 (|unit-resolution| ((_ |quant-inst| |ks$| |xs$|) (or (not $x796) (= ?x686 ?x44))) (mp @x300 (|quant-intro| (refl (= $x29 $x29)) (= $x30 $x796)) $x796) (= ?x686 ?x44)))) +(let (($x340 (not $x339))) +(let ((@x605 (hypothesis $x340))) +(let ((@x896 (symm (|unit-resolution| (|def-axiom| (or $x339 $x46)) @x605 $x46) (= ?x45 ?x44)))) +(let ((@x1028 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x45 ?x686)) $x864)) (trans @x896 (symm @x910 (= ?x44 ?x686)) (= ?x45 ?x686)) $x864))) +(let (($x505 (>= (+ ?x48 (* (~ 1) ?x120)) 0))) +(let ((@x1032 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x338 $x505)) (|unit-resolution| (|def-axiom| (or $x339 $x123)) @x605 $x123) $x505))) +(let ((@x249 (|true-axiom| true))) +(let ((@x998 (|unit-resolution| ((_ |th-lemma| arith) (or false (not (>= (mod (+ |l$| ?x43) 2) 2)))) @x249 (not (>= (mod (+ |l$| ?x43) 2) 2))))) +(let ((?x596 (+ |l$| (* (~ 2) (div |l$| 2)) ?x678))) +(let (($x637 (= ?x596 0))) +(let ((@x894 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x637) (<= ?x596 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x637)) @x249 $x637) (<= ?x596 0)))) +(let ((?x660 (+ ?x45 ?x678))) +(let (($x661 (= ?x660 0))) +(let (($x838 (forall ((?v0 Int) (?v1 Int) )(!(let (($x172 (<= ?v1 0))) +(let (($x373 (ite $x172 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x72 (= ?v1 0))) +(ite $x72 (= (|mod$| ?v0 ?v1) ?v0) $x373)))) :pattern ( (|mod$| ?v0 ?v1) ))) )) -(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 (($x377 (forall ((?v0 Int) (?v1 Int) )(let (($x172 (<= ?v1 0))) +(let (($x373 (ite $x172 (= (+ (|mod$| ?v0 ?v1) (mod (* (~ 1) ?v0) (* (~ 1) ?v1))) 0) (= (+ (|mod$| ?v0 ?v1) (* (~ 1) (mod ?v0 ?v1))) 0)))) +(let (($x72 (= ?v1 0))) +(ite $x72 (= (|mod$| ?v0 ?v1) ?v0) $x373))))) )) -(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 (($x172 (<= ?0 0))) +(let (($x373 (ite $x172 (= (+ (|mod$| ?1 ?0) (mod (* (~ 1) ?1) (* (~ 1) ?0))) 0) (= (+ (|mod$| ?1 ?0) (* (~ 1) (mod ?1 ?0))) 0)))) +(let (($x72 (= ?0 0))) +(let (($x374 (ite $x72 (= (|mod$| ?1 ?0) ?1) $x373))) +(let (($x228 (forall ((?v0 Int) (?v1 Int) )(let ((?x83 (mod ?v0 ?v1))) +(let ((?x179 (* (~ 1) ?v1))) +(let ((?x176 (* (~ 1) ?v0))) +(let ((?x203 (mod ?x176 ?x179))) +(let ((?x209 (* (~ 1) ?x203))) +(let (($x172 (<= ?v1 0))) +(let ((?x217 (ite $x172 ?x209 ?x83))) +(let (($x72 (= ?v1 0))) +(let ((?x82 (|mod$| ?v0 ?v1))) +(= ?x82 (ite $x72 ?v0 ?x217)))))))))))) )) -(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 ((?x83 (mod ?1 ?0))) +(let ((?x179 (* (~ 1) ?0))) +(let ((?x176 (* (~ 1) ?1))) +(let ((?x203 (mod ?x176 ?x179))) +(let ((?x209 (* (~ 1) ?x203))) +(let ((?x217 (ite $x172 ?x209 ?x83))) +(let ((?x82 (|mod$| ?1 ?0))) +(let (($x225 (= ?x82 (ite $x72 ?1 ?x217)))) +(let (($x89 (forall ((?v0 Int) (?v1 Int) )(let ((?x85 (- (mod (- ?v0) (- ?v1))))) +(let ((?x83 (mod ?v0 ?v1))) +(let (($x73 (< 0 ?v1))) +(let ((?x86 (ite $x73 ?x83 ?x85))) +(let (($x72 (= ?v1 0))) +(let ((?x82 (|mod$| ?v0 ?v1))) +(= ?x82 (ite $x72 ?v0 ?x86))))))))) )) -(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 ((?x85 (- (mod (- ?1) (- ?0))))) +(let (($x73 (< 0 ?0))) +(let ((?x86 (ite $x73 ?x83 ?x85))) +(let ((@x205 (monotonicity (rewrite (= (- ?1) ?x176)) (rewrite (= (- ?0) ?x179)) (= (mod (- ?1) (- ?0)) ?x203)))) +(let ((@x213 (trans (monotonicity @x205 (= ?x85 (- ?x203))) (rewrite (= (- ?x203) ?x209)) (= ?x85 ?x209)))) +(let ((@x216 (monotonicity (rewrite (= $x73 (not $x172))) @x213 (= ?x86 (ite (not $x172) ?x83 ?x209))))) +(let ((@x221 (trans @x216 (rewrite (= (ite (not $x172) ?x83 ?x209) ?x217)) (= ?x86 ?x217)))) +(let ((@x227 (monotonicity (monotonicity @x221 (= (ite $x72 ?1 ?x86) (ite $x72 ?1 ?x217))) (= (= ?x82 (ite $x72 ?1 ?x86)) $x225)))) +(let ((@x336 (|mp~| (mp (asserted $x89) (|quant-intro| @x227 (= $x89 $x228)) $x228) (|nnf-pos| (refl (|~| $x225 $x225)) (|~| $x228 $x228)) $x228))) +(let ((@x380 (mp @x336 (|quant-intro| (rewrite (= $x225 $x374)) (= $x228 $x377)) $x377))) +(let (($x584 (not $x838))) +(let (($x643 (or $x584 $x661))) +(let (($x448 (<= 2 0))) +(let (($x662 (ite $x448 (= (+ ?x45 (mod (* (~ 1) |l$|) (* (~ 1) 2))) 0) $x661))) +(let (($x784 (= 2 0))) +(let (($x663 (ite $x784 (= ?x45 |l$|) $x662))) +(let (($x650 (= (ite false (= (+ ?x45 (mod (* (~ 1) |l$|) (~ 2))) 0) $x661) $x661))) +(let (($x648 (= $x662 (ite false (= (+ ?x45 (mod (* (~ 1) |l$|) (~ 2))) 0) $x661)))) +(let (($x640 (= (= (+ ?x45 (mod (* (~ 1) |l$|) (* (~ 1) 2))) 0) (= (+ ?x45 (mod (* (~ 1) |l$|) (~ 2))) 0)))) +(let (($x668 (= (+ ?x45 (mod (* (~ 1) |l$|) (* (~ 1) 2))) (+ ?x45 (mod (* (~ 1) |l$|) (~ 2)))))) +(let ((@x780 (rewrite (= (* (~ 1) 2) (~ 2))))) +(let ((@x666 (monotonicity @x780 (= (mod (* (~ 1) |l$|) (* (~ 1) 2)) (mod (* (~ 1) |l$|) (~ 2)))))) +(let ((@x777 (rewrite (= $x448 false)))) +(let ((@x653 (trans (monotonicity @x777 (monotonicity (monotonicity @x666 $x668) $x640) $x648) (rewrite $x650) (= $x662 $x661)))) +(let ((@x775 (rewrite (= $x784 false)))) +(let ((@x642 (trans (monotonicity @x775 @x653 (= $x663 (ite false (= ?x45 |l$|) $x661))) (rewrite (= (ite false (= ?x45 |l$|) $x661) $x661)) (= $x663 $x661)))) +(let ((@x617 (trans (monotonicity @x642 (= (or $x584 $x663) $x643)) (rewrite (= $x643 $x643)) (= (or $x584 $x663) $x643)))) +(let ((@x968 (|unit-resolution| (mp ((_ |quant-inst| |l$| 2) (or $x584 $x663)) @x617 $x643) (mp @x380 (|quant-intro| (refl (= $x374 $x374)) (= $x377 $x838)) $x838) $x661))) +(let ((@x899 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x661) (<= ?x660 0))) @x968 (<= ?x660 0)))) +(let ((?x442 (+ (mod ?x39 2) ?x441))) +(let (($x443 (= ?x442 0))) +(let (($x413 (or $x584 $x443))) +(let (($x485 (= (+ ?x686 (* (~ 1) (mod ?x39 2))) 0))) +(let (($x486 (ite $x448 (= (+ ?x686 (mod (* (~ 1) ?x39) (* (~ 1) 2))) 0) $x485))) +(let (($x453 (ite $x784 (= ?x686 ?x39) $x486))) +(let (($x418 (= (ite false (= (+ (mod (* (~ 1) ?x39) (~ 2)) ?x686) 0) $x443) $x443))) +(let (($x416 (= $x486 (ite false (= (+ (mod (* (~ 1) ?x39) (~ 2)) ?x686) 0) $x443)))) +(let (($x436 (= (+ ?x686 (* (~ 1) (mod ?x39 2))) (+ (* (~ 1) (mod ?x39 2)) ?x686)))) +(let ((@x440 (monotonicity (rewrite $x436) (= $x485 (= (+ (* (~ 1) (mod ?x39 2)) ?x686) 0))))) +(let ((@x427 (trans @x440 (rewrite (= (= (+ (* (~ 1) (mod ?x39 2)) ?x686) 0) $x443)) (= $x485 $x443)))) +(let (($x451 (= (= (+ ?x686 (mod (* (~ 1) ?x39) (* (~ 1) 2))) 0) (= (+ (mod (* (~ 1) ?x39) (~ 2)) ?x686) 0)))) +(let ((?x454 (mod (* (~ 1) ?x39) (~ 2)))) +(let ((?x462 (+ ?x454 ?x686))) +(let ((?x479 (+ ?x686 (mod (* (~ 1) ?x39) (* (~ 1) 2))))) +(let ((@x461 (monotonicity (monotonicity @x780 (= (mod (* (~ 1) ?x39) (* (~ 1) 2)) ?x454)) (= ?x479 (+ ?x686 ?x454))))) +(let ((@x430 (monotonicity (trans @x461 (rewrite (= (+ ?x686 ?x454) ?x462)) (= ?x479 ?x462)) $x451))) +(let ((@x423 (trans (monotonicity @x777 @x430 @x427 $x416) (rewrite $x418) (= $x486 $x443)))) +(let ((@x412 (trans (monotonicity @x775 @x423 (= $x453 (ite false (= ?x686 ?x39) $x443))) (rewrite (= (ite false (= ?x686 ?x39) $x443) $x443)) (= $x453 $x443)))) +(let ((@x405 (trans (monotonicity @x412 (= (or $x584 $x453) $x413)) (rewrite (= $x413 $x413)) (= (or $x584 $x453) $x413)))) +(let ((@x927 (|unit-resolution| (mp ((_ |quant-inst| (|eval_dioph$| |ks$| |xs$|) 2) (or $x584 $x453)) @x405 $x413) (mp @x380 (|quant-intro| (refl (= $x374 $x374)) (= $x377 $x838)) $x838) $x443))) +(let ((@x1008 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x443) (<= ?x442 0))) @x927 (<= ?x442 0)))) +(let ((?x483 (* (~ 1) (mod ?x39 2)))) +(let ((?x383 (+ ?x39 (* (~ 2) (div ?x39 2)) ?x483))) +(let (($x395 (= ?x383 0))) +(let ((@x1015 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x395) (<= ?x383 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x395)) @x249 $x395) (<= ?x383 0)))) +(let ((?x684 (+ ?x39 ?x116 (* (~ 2) ?x48)))) +(let (($x685 (= ?x684 0))) +(let (($x803 (forall ((?v0 |Int_list$|) (?v1 |Nat_list$|) )(!(let ((?x24 (|eval_dioph$| ?v0 ?v1))) +(let ((?x264 (+ ?x24 (* (~ 1) (|eval_dioph$| ?v0 (|map$| |uu$| ?v1))) (* (~ 2) (|eval_dioph$| ?v0 (|map$| |uua$| ?v1)))))) +(= ?x264 0))) :pattern ( (|eval_dioph$| ?v0 (|map$| |uu$| ?v1)) ) :pattern ( (|eval_dioph$| ?v0 (|map$| |uua$| ?v1)) ))) )) -(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 (($x266 (forall ((?v0 |Int_list$|) (?v1 |Nat_list$|) )(let ((?x24 (|eval_dioph$| ?v0 ?v1))) +(let ((?x264 (+ ?x24 (* (~ 1) (|eval_dioph$| ?v0 (|map$| |uu$| ?v1))) (* (~ 2) (|eval_dioph$| ?v0 (|map$| |uua$| ?v1)))))) +(= ?x264 0)))) +)) +(let ((?x24 (|eval_dioph$| ?1 ?0))) +(let ((?x264 (+ ?x24 (* (~ 1) (|eval_dioph$| ?1 (|map$| |uu$| ?0))) (* (~ 2) (|eval_dioph$| ?1 (|map$| |uua$| ?0)))))) +(let (($x260 (= ?x264 0))) +(let (($x111 (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 ((?x102 (* 2 ?x32))) +(let ((?x105 (+ ?x102 ?x27))) +(= ?x105 ?x24))))))) +)) +(let (($x256 (forall ((?v0 |Int_list$|) (?v1 |Nat_list$|) )(let ((?x24 (|eval_dioph$| ?v0 ?v1))) +(let ((?x32 (|eval_dioph$| ?v0 (|map$| |uua$| ?v1)))) +(let ((?x102 (* 2 ?x32))) +(let ((?x27 (|eval_dioph$| ?v0 (|map$| |uu$| ?v1)))) +(= (+ ?x27 ?x102) ?x24)))))) +)) +(let ((?x32 (|eval_dioph$| ?1 (|map$| |uua$| ?0)))) +(let ((?x102 (* 2 ?x32))) +(let ((?x27 (|eval_dioph$| ?1 (|map$| |uu$| ?0)))) +(let (($x253 (= (+ ?x27 ?x102) ?x24))) +(let ((@x255 (monotonicity (rewrite (= (+ ?x102 ?x27) (+ ?x27 ?x102))) (= (= (+ ?x102 ?x27) ?x24) $x253)))) +(let ((@x270 (trans (|quant-intro| @x255 (= $x111 $x256)) (|quant-intro| (rewrite (= $x253 $x260)) (= $x256 $x266)) (= $x111 $x266)))) +(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 ((?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 ((@x107 (monotonicity (rewrite (= (* ?x32 2) ?x102)) (= (+ (* ?x32 2) ?x27) (+ ?x102 ?x27))))) +(let ((@x110 (monotonicity @x107 (= (= (+ (* ?x32 2) ?x27) ?x24) (= (+ ?x102 ?x27) ?x24))))) +(let ((@x271 (mp (mp (asserted $x36) (|quant-intro| @x110 (= $x36 $x111)) $x111) @x270 $x266))) +(let ((@x808 (mp (|mp~| @x271 (|nnf-pos| (refl (|~| $x260 $x260)) (|~| $x266 $x266)) $x266) (|quant-intro| (refl (= $x260 $x260)) (= $x266 $x803)) $x803))) +(let ((@x1019 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x685) (>= ?x684 0))) (|unit-resolution| ((_ |quant-inst| |ks$| |xs$|) (or (not $x803) $x685)) @x808 $x685) (>= ?x684 0)))) +(let ((?x435 (+ ?x120 (* (~ 1) (div ?x117 2))))) +(let (($x771 (= ?x435 0))) +(let (($x831 (forall ((?v0 Int) (?v1 Int) )(!(let (($x355 (= (+ (|div$| ?v0 ?v1) (* (~ 1) (div (* (~ 1) ?v0) (* (~ 1) ?v1)))) 0))) +(let (($x172 (<= ?v1 0))) +(let (($x359 (ite $x172 $x355 (= (+ (|div$| ?v0 ?v1) (* (~ 1) (div ?v0 ?v1))) 0)))) +(let (($x72 (= ?v1 0))) +(ite $x72 (= (|div$| ?v0 ?v1) 0) $x359))))) :pattern ( (|div$| ?v0 ?v1) ))) +)) +(let (($x363 (forall ((?v0 Int) (?v1 Int) )(let (($x355 (= (+ (|div$| ?v0 ?v1) (* (~ 1) (div (* (~ 1) ?v0) (* (~ 1) ?v1)))) 0))) +(let (($x172 (<= ?v1 0))) +(let (($x359 (ite $x172 $x355 (= (+ (|div$| ?v0 ?v1) (* (~ 1) (div ?v0 ?v1))) 0)))) +(let (($x72 (= ?v1 0))) +(ite $x72 (= (|div$| ?v0 ?v1) 0) $x359)))))) +)) +(let (($x359 (ite $x172 (= (+ (|div$| ?1 ?0) (* (~ 1) (div ?x176 ?x179))) 0) (= (+ (|div$| ?1 ?0) (* (~ 1) (div ?1 ?0))) 0)))) +(let (($x360 (ite $x72 (= (|div$| ?1 ?0) 0) $x359))) +(let (($x199 (forall ((?v0 Int) (?v1 Int) )(let ((?x74 (div ?v0 ?v1))) +(let ((?x179 (* (~ 1) ?v1))) +(let ((?x176 (* (~ 1) ?v0))) +(let ((?x182 (div ?x176 ?x179))) +(let (($x172 (<= ?v1 0))) +(let ((?x188 (ite $x172 ?x182 ?x74))) +(let (($x72 (= ?v1 0))) +(let ((?x71 (|div$| ?v0 ?v1))) +(= ?x71 (ite $x72 0 ?x188))))))))))) +)) +(let ((?x71 (|div$| ?1 ?0))) +(let (($x196 (= ?x71 (ite $x72 0 (ite $x172 (div ?x176 ?x179) (div ?1 ?0)))))) +(let (($x81 (forall ((?v0 Int) (?v1 Int) )(let ((?x74 (div ?v0 ?v1))) +(let (($x73 (< 0 ?v1))) +(let ((?x78 (ite $x73 ?x74 (div (- ?v0) (- ?v1))))) +(let (($x72 (= ?v1 0))) +(let ((?x71 (|div$| ?v0 ?v1))) +(= ?x71 (ite $x72 0 ?x78)))))))) )) -(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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +(let (($x80 (= ?x71 (ite $x72 0 (ite $x73 (div ?1 ?0) (div (- ?1) (- ?0))))))) +(let (($x194 (= (ite $x72 0 (ite $x73 (div ?1 ?0) (div (- ?1) (- ?0)))) (ite $x72 0 (ite $x172 (div ?x176 ?x179) (div ?1 ?0)))))) +(let ((?x74 (div ?1 ?0))) +(let ((?x182 (div ?x176 ?x179))) +(let ((?x188 (ite $x172 ?x182 ?x74))) +(let ((?x78 (ite $x73 ?x74 (div (- ?1) (- ?0))))) +(let ((@x184 (monotonicity (rewrite (= (- ?1) ?x176)) (rewrite (= (- ?0) ?x179)) (= (div (- ?1) (- ?0)) ?x182)))) +(let ((@x187 (monotonicity (rewrite (= $x73 (not $x172))) @x184 (= ?x78 (ite (not $x172) ?x74 ?x182))))) +(let ((@x192 (trans @x187 (rewrite (= (ite (not $x172) ?x74 ?x182) ?x188)) (= ?x78 ?x188)))) +(let ((@x201 (|quant-intro| (monotonicity (monotonicity @x192 $x194) (= $x80 $x196)) (= $x81 $x199)))) +(let ((@x331 (|mp~| (mp (asserted $x81) @x201 $x199) (|nnf-pos| (refl (|~| $x196 $x196)) (|~| $x199 $x199)) $x199))) +(let ((@x366 (mp @x331 (|quant-intro| (rewrite (= $x196 $x360)) (= $x199 $x363)) $x363))) +(let (($x761 (or (not $x831) $x771))) +(let (($x772 (ite $x448 (= (+ ?x120 (* (~ 1) (div (* (~ 1) ?x117) (* (~ 1) 2)))) 0) $x771))) +(let (($x773 (ite $x784 (= ?x120 0) $x772))) +(let (($x495 (ite false (= (+ ?x120 (* (~ 1) (div (+ (* (~ 1) |l$|) ?x43) (~ 2)))) 0) $x771))) +(let (($x763 (= (= (+ ?x120 (* (~ 1) (div (* (~ 1) ?x117) (* (~ 1) 2)))) 0) (= (+ ?x120 (* (~ 1) (div (+ (* (~ 1) |l$|) ?x43) (~ 2)))) 0)))) +(let (($x490 (= (+ ?x120 (* (~ 1) (div (* (~ 1) ?x117) (* (~ 1) 2)))) (+ ?x120 (* (~ 1) (div (+ (* (~ 1) |l$|) ?x43) (~ 2))))))) +(let (($x487 (= (* (~ 1) (div (* (~ 1) ?x117) (* (~ 1) 2))) (* (~ 1) (div (+ (* (~ 1) |l$|) ?x43) (~ 2)))))) +(let (($x782 (= (div (* (~ 1) ?x117) (* (~ 1) 2)) (div (+ (* (~ 1) |l$|) ?x43) (~ 2))))) +(let ((@x768 (monotonicity (rewrite (= (* (~ 1) ?x117) (+ (* (~ 1) |l$|) ?x43))) @x780 $x782))) +(let ((@x765 (monotonicity @x777 (monotonicity (monotonicity (monotonicity @x768 $x487) $x490) $x763) (= $x772 $x495)))) +(let ((@x756 (monotonicity @x775 (trans @x765 (rewrite (= $x495 $x771)) (= $x772 $x771)) (= $x773 (ite false (= ?x120 0) $x771))))) +(let ((@x759 (trans @x756 (rewrite (= (ite false (= ?x120 0) $x771) $x771)) (= $x773 $x771)))) +(let ((@x753 (trans (monotonicity @x759 (= (or (not $x831) $x773) $x761)) (rewrite (= $x761 $x761)) (= (or (not $x831) $x773) $x761)))) +(let ((@x881 (|unit-resolution| (mp ((_ |quant-inst| (+ |l$| ?x116) 2) (or (not $x831) $x773)) @x753 $x761) (mp @x366 (|quant-intro| (refl (= $x360 $x360)) (= $x363 $x831)) $x831) $x771))) +(let ((@x992 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x771) (>= ?x435 0))) @x881 (>= ?x435 0)))) +(let ((?x613 (+ |l$| ?x116 (* (~ 2) (div ?x117 2)) (* (~ 1) (mod (+ |l$| ?x43) 2))))) +(let (($x735 (= ?x613 0))) +(let ((@x995 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x735) (<= ?x613 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x735)) @x249 $x735) (<= ?x613 0)))) +(let ((@x1020 ((_ |th-lemma| arith farkas 1 -2 -2 -1 -2 1 1 1 1 1 1) @x995 @x992 (hypothesis $x505) @x1019 (hypothesis (>= ?x946 1)) @x1015 @x1008 (hypothesis $x864) @x899 @x894 @x998 false))) +(let ((@x1033 (|unit-resolution| (lemma @x1020 (or (not (>= ?x946 1)) (not $x505) (not $x864))) @x1032 @x1028 (not (>= ?x946 1))))) +(let ((@x972 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x661) (>= ?x660 0))) @x968 (>= ?x660 0)))) +(let ((@x987 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x637) (>= ?x596 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x637)) @x249 $x637) (>= ?x596 0)))) +(let ((@x1036 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not (= ?x45 ?x686)) (>= (+ ?x45 ?x441) 0))) (trans @x896 (symm @x910 (= ?x44 ?x686)) (= ?x45 ?x686)) (>= (+ ?x45 ?x441) 0)))) +(let ((@x1039 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x443) (>= ?x442 0))) @x927 (>= ?x442 0)))) +(let (($x498 (>= (+ ?x39 (* (~ 1) |l$|)) 0))) +(let (($x1045 (not $x498))) +(let (($x497 (<= (+ ?x39 (* (~ 1) |l$|)) 0))) +(let (($x504 (<= (+ ?x48 (* (~ 1) ?x120)) 0))) +(let ((@x1042 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x338 $x504)) (|unit-resolution| (|def-axiom| (or $x339 $x123)) @x605 $x123) $x504))) +(let (($x726 (>= ?x613 0))) +(let ((@x872 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x735) $x726)) (|unit-resolution| ((_ |th-lemma| arith) (or false $x735)) @x249 $x735) $x726))) +(let (($x691 (<= ?x684 0))) +(let ((@x879 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x685) $x691)) (|unit-resolution| ((_ |quant-inst| |ks$| |xs$|) (or (not $x803) $x685)) @x808 $x685) $x691))) +(let (($x593 (<= ?x435 0))) +(let ((?x745 (mod (+ |l$| ?x43) 2))) +(let (($x730 (>= ?x745 0))) +(let ((@x889 ((_ |th-lemma| arith farkas 1 -2 -2 -1 1 1) (|unit-resolution| ((_ |th-lemma| arith) (or false $x730)) @x249 $x730) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x771) $x593)) @x881 $x593) (hypothesis $x504) @x879 (hypothesis (not $x497)) @x872 false))) +(let (($x135 (not $x41))) +(let (($x346 (= $x41 $x339))) +(let ((@x345 (monotonicity (rewrite (= (and $x46 $x123) $x340)) (= (= $x135 (and $x46 $x123)) (= $x135 $x340))))) +(let ((@x350 (trans @x345 (rewrite (= (= $x135 $x340) $x346)) (= (= $x135 (and $x46 $x123)) $x346)))) +(let (($x126 (and $x46 $x123))) +(let (($x136 (= $x135 $x126))) +(let (($x54 (not (= $x41 (and $x46 (= ?x48 (|div$| (- |l$| ?x43) 2))))))) +(let (($x130 (= (= $x41 (and $x46 (= ?x48 (|div$| (- |l$| ?x43) 2)))) (= $x41 $x126)))) +(let ((@x122 (monotonicity (rewrite (= (- |l$| ?x43) ?x117)) (= (|div$| (- |l$| ?x43) 2) ?x120)))) +(let ((@x128 (monotonicity (monotonicity @x122 (= (= ?x48 (|div$| (- |l$| ?x43) 2)) $x123)) (= (and $x46 (= ?x48 (|div$| (- |l$| ?x43) 2))) $x126)))) +(let ((@x140 (trans (monotonicity (monotonicity @x128 $x130) (= $x54 (not (= $x41 $x126)))) (rewrite (= (not (= $x41 $x126)) $x136)) (= $x54 $x136)))) +(let ((@x794 (|unit-resolution| (|def-axiom| (or $x135 $x339 (not $x346))) (mp (mp (asserted $x54) @x140 $x136) @x350 $x346) (or $x135 $x339)))) +(let ((@x1049 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x41 (not $x497) $x1045)) (|unit-resolution| @x794 @x605 $x135) (or (not $x497) $x1045)))) +(let ((@x1050 (|unit-resolution| @x1049 (|unit-resolution| (lemma @x889 (or $x497 (not $x504))) @x1042 $x497) $x1045))) +(let ((@x1053 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x395) (>= ?x383 0))) (|unit-resolution| ((_ |th-lemma| arith) (or false $x395)) @x249 $x395) (>= ?x383 0)))) +(let ((@x790 (|unit-resolution| (|def-axiom| (or $x41 $x340 (not $x346))) (mp (mp (asserted $x54) @x140 $x136) @x350 $x346) (or $x41 $x340)))) +(let ((@x1123 (|unit-resolution| @x790 (lemma ((_ |th-lemma| arith farkas -1/2 1/2 -1/2 -1/2 -1/2 -1/2 1) @x1053 @x1050 @x1039 @x1036 @x987 @x972 @x1033 false) $x339) $x41))) +(let ((@x932 (trans (symm @x910 (= ?x44 ?x686)) (monotonicity @x1123 (= ?x686 ?x45)) $x46))) +(let (($x890 (not $x504))) +(let ((@x1135 ((_ |th-lemma| arith assign-bounds 1 -1/2 -1/2 1/2 -1/2) (or $x505 (not $x593) (not $x730) (not $x726) (not $x691) $x1045)))) +(let ((@x1136 (|unit-resolution| @x1135 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or (not $x771) $x593)) @x881 $x593) (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x135 $x498)) @x1123 $x498) @x872 (|unit-resolution| ((_ |th-lemma| arith) (or false $x730)) @x249 $x730) @x879 $x505))) +(let ((@x1141 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x123 $x890 (not $x505))) (hypothesis $x338) (or $x890 (not $x505))))) +(let ((@x1143 ((_ |th-lemma| arith farkas -2 -2 1 -1 1 1) (|unit-resolution| @x1141 @x1136 $x890) @x992 @x995 @x1019 (|unit-resolution| ((_ |th-lemma| arith triangle-eq) (or $x135 $x497)) @x1123 $x497) @x998 false))) +(let ((@x575 (|unit-resolution| (|def-axiom| (or $x340 $x337 $x338)) (lemma ((_ |th-lemma| arith farkas -1/2 1/2 -1/2 -1/2 -1/2 -1/2 1) @x1053 @x1050 @x1039 @x1036 @x987 @x972 @x1033 false) $x339) $x339))) +(|unit-resolution| (|unit-resolution| @x575 (lemma @x1143 $x123) $x337) @x932 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -079c6ffd9b87bb8c11978fa4ff410c5f1bfa967a 46 0 +4e21a28a63259a50737712606d48d7d4a769c900 46 0 unsat ((set-logic AUFLIA) (proof -(let ((?x33 (|$sup| (|$collect| |$uu|)))) -(let (($x38 (|$less_eq| ?x33 ?x33))) +(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 ((?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 (($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 (($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 (($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))) @@ -5124,62 +4299,36 @@ (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 (($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)))) +(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 +dbbd203b9296b09c05b52742aa274aa3af897311 20 0 unsat ((set-logic AUFLIA) (proof -(let (($x52 (not (|$prede| 1)))) -(let (($x630 (forall ((?v0 Int) )(!(|$prede| ?v0) :pattern ( (|$prede| ?v0) ))) +(let (($x52 (not (|pred$e| 1)))) +(let (($x630 (forall ((?v0 Int) )(!(|pred$e| ?v0) :pattern ( (|pred$e| ?v0) ))) )) -(let (($x120 (forall ((?v0 Int) )(|$prede| ?v0)) +(let (($x120 (forall ((?v0 Int) )(|pred$e| ?v0)) )) -(let (($x49 (forall ((?v0 Int) )(let (($x47 (or (|$predd| (|$consd| ?v0 |$nild|)) (not (|$predd| (|$consd| ?v0 |$nild|)))))) -(let (($x42 (|$prede| ?v0))) +(let (($x49 (forall ((?v0 Int) )(let (($x47 (or (|pred$d| (|cons$d| ?v0 |nil$d|)) (not (|pred$d| (|cons$d| ?v0 |nil$d|)))))) +(let (($x42 (|pred$e| ?v0))) (and $x42 $x47)))) )) -(let (($x42 (|$prede| ?0))) -(let (($x47 (or (|$predd| (|$consd| ?0 |$nild|)) (not (|$predd| (|$consd| ?0 |$nild|)))))) +(let (($x42 (|pred$e| ?0))) +(let (($x47 (or (|pred$d| (|cons$d| ?0 |nil$d|)) (not (|pred$d| (|cons$d| ?0 |nil$d|)))))) (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))))))))))))) +(|unit-resolution| ((_ |quant-inst| 1) (or (not $x630) (|pred$e| 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 df9add9949bb -r 1ba56358eba4 src/HOL/SMT_Examples/SMT_Examples.thy --- a/src/HOL/SMT_Examples/SMT_Examples.thy Thu Mar 13 14:48:20 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Examples.thy Thu Mar 13 14:55:38 2014 +0100 @@ -18,18 +18,11 @@ section {* Propositional and first-order logic *} lemma "True" by smt2 - lemma "p \ \p" by smt2 - lemma "(p \ True) = p" by smt2 - lemma "(p \ q) \ \p \ q" by smt2 - -lemma "(a \ b) \ (c \ d) \ (a \ b) \ (c \ d)" - by smt2 - +lemma "(a \ b) \ (c \ d) \ (a \ b) \ (c \ d)" by smt2 lemma "(p1 \ p2) \ p3 \ (p1 \ (p3 \ p2) \ (p1 \ p3)) \ p1" by smt2 - lemma "P = P = P = P = P = P = P = P = P = P" by smt2 lemma @@ -44,6 +37,7 @@ 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 (smt2 symm_f) (* @@ -263,19 +257,12 @@ subsection {* Linear arithmetic over integers and reals *} lemma "(3::int) = 3" by smt2 - lemma "(3::real) = 3" by smt2 - lemma "(3 :: int) + 1 = 4" by smt2 - lemma "x + (y + z) = y + (z + (x::int))" by smt2 - lemma "max (3::int) 8 > 5" by smt2 - lemma "abs (x :: real) + abs y \ abs (x + y)" by smt2 - lemma "P ((2::int) < 3) = P True" by smt2 - lemma "x + 3 \ 4 \ x < (1::int)" by smt2 lemma @@ -329,12 +316,10 @@ 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_new_extensions]] - by smt2 + using [[z3_new_extensions]] by smt2 lemma "x + (let y = x mod 2 in y + y) < x + (3::int)" - using [[z3_new_extensions]] - by smt2 + using [[z3_new_extensions]] by smt2 lemma assumes "x \ (0::real)" @@ -350,7 +335,6 @@ subsection {* Linear arithmetic with quantifiers *} lemma "~ (\x::int. False)" by smt2 - lemma "~ (\x::real. False)" by smt2 lemma "\x::int. 0 < x" @@ -366,31 +350,18 @@ by smt2 lemma "\x y::int. (x = 0 \ y = 1) \ x \ y" by smt2 - lemma "\x::int. \y. x < y \ y < 0 \ y >= 0" by smt2 - lemma "\x y::int. x < y \ (2 * x + 1) < (2 * y)" by smt2 - 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 smt2 - 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 smt2 - 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 smt2 - 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 smt2 - lemma "\x::int. (\y. y \ x \ y > 0) \ x > 0" by smt2 - 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 smt2 @@ -411,8 +382,7 @@ 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_new_extensions]] - by smt2 + using [[z3_new_extensions]] by smt2 lemma [z3_rule, z3_new_rule]: fixes x :: "int" @@ -449,28 +419,25 @@ section {* Pairs *} lemma "fst (x, y) = a \ x = a" - using fst_conv - by smt2 + using fst_conv by smt2 lemma "p1 = (x, y) \ p2 = (y, x) \ fst p1 = snd p2" - using fst_conv snd_conv - by smt2 + using fst_conv snd_conv 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 smt2 + using fun_upd_same fun_upd_apply by smt2 lemma "(f g (x::'a::type) = (g x \ True)) \ (f g x = True) \ (g x = True)" by smt2 -lemma "id x = x \ id True = True" by (smt id_def) (* smt2 FIXME: Option *) +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 smt2 + using fun_upd_same fun_upd_apply by smt2 lemma "f (\x. g x) \ True" @@ -478,28 +445,25 @@ by smt2+ lemma True using let_rsp by smt2 - lemma "le = op \ \ le (3::int) 42" by smt2 - lemma "map (\i::nat. i + 1) [0, 1] = [1, 2]" by (smt2 list.map) - - 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 (smt2 dec_10.simps) - axiomatization eval_dioph :: "int list \ nat list \ int" - where +where eval_dioph_mod: "eval_dioph ks xs mod int n = eval_dioph ks (map (\x. x mod n) xs) mod int n" - and +and eval_dioph_div_mult: "eval_dioph ks (map (\x. x div n) xs) * int n + eval_dioph ks (map (\x. x mod n) xs) = eval_dioph ks xs" + lemma "(eval_dioph ks xs = l) = (eval_dioph ks (map (\x. x mod 2) xs) mod 2 = l mod 2 \ @@ -527,6 +491,7 @@ 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 (smt2 poly_Pred) axiomatization g :: "'a \ nat" diff -r df9add9949bb -r 1ba56358eba4 src/HOL/SMT_Examples/SMT_Word_Examples.certs2 --- a/src/HOL/SMT_Examples/SMT_Word_Examples.certs2 Thu Mar 13 14:48:20 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Word_Examples.certs2 Thu Mar 13 14:55:38 2014 +0100 @@ -1,4 +1,4 @@ -a438ed86857e9b990f36b8fba1876d2ee3208e44 8 0 +dc8c858f052f26aef8b5074b0928c36cdb77715f 8 0 unsat ((set-logic ) (proof @@ -7,7 +7,15 @@ (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 +38ebb1a1c83886ef8d6b0b73826d86887f2423ca 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))))) + +c6d83466054928b78e6689965bb6cebee60c2936 9 0 unsat ((set-logic ) (proof @@ -17,15 +25,7 @@ (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 +14d636cdb866e9777d3117e19151ae924c03667c 9 0 unsat ((set-logic ) (proof @@ -35,7 +35,17 @@ (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 +28e98bcab265918e014391e9f9a849deb0d36844 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))))))) + +23975488836c112224f10c2b57e07b8455ec7fe0 12 0 unsat ((set-logic ) (proof @@ -48,17 +58,7 @@ (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 +1710061d8b0d577fe2eb77901fef3b9aee0a20f6 7 0 unsat ((set-logic ) (proof @@ -66,7 +66,7 @@ (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 +2454bee77813182e9d40ef80f1da33b7f6491d99 11 0 unsat ((set-logic ) (proof @@ -78,39 +78,39 @@ (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 +f91bed7c245df452ab941e5bca3d54c2d6c6e86a 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 ((?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 ((@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 +cc5bd36aa3ac0a29e9a3f76b09b06048d8aad857 14 0 unsat ((set-logic ) (proof -(let (($x10 (= (bvmul (_ bv4 4) |$x|) (_ bv4 4)))) -(let (($x7 (= |$x| (_ bv5 4)))) +(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 ((@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 +747da4972d72bf528990da27d234631eff1239e8 13 0 unsat ((set-logic ) (proof @@ -124,7 +124,7 @@ (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 +b63f92eea9e0f63b913d182a0dfd7f2c9a3f2e7a 9 0 unsat ((set-logic ) (proof @@ -134,7 +134,7 @@ (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 +f7f194a25d0cded05a77a6c86048a6ddbefb22b9 9 0 unsat ((set-logic ) (proof @@ -144,7 +144,7 @@ (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 +c5cec5c0e82b76412a52558237744e0b82447224 8 0 unsat ((set-logic ) (proof @@ -153,7 +153,7 @@ (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 +bd5c0956c6d9ce0fe1b46966d2bd414a02a41462 9 0 unsat ((set-logic ) (proof @@ -163,7 +163,7 @@ (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 +a9398b02eb8add9631e972e3353a920fa6b65882 9 0 unsat ((set-logic ) (proof @@ -173,7 +173,7 @@ (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 +21e135ee99492411c2b40b3f6c9851fc9c8751ff 8 0 unsat ((set-logic ) (proof @@ -182,7 +182,7 @@ (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 +e1415b87a5b4eb662a5657d1dfe4d551edf248b7 9 0 unsat ((set-logic ) (proof @@ -192,7 +192,7 @@ (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 +178d8d16724e49deba92985130e376a590d7472a 9 0 unsat ((set-logic ) (proof @@ -202,7 +202,7 @@ (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 +c6b1cf5c4ded8882d16be523581927de69dbb8af 9 0 unsat ((set-logic ) (proof @@ -212,7 +212,17 @@ (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 +0e385f4a6baafc61da9693d7b6b0037bf18ced69 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))))))) + +7d896522fe362abba8d2768cab253bbc8b92ad49 9 0 unsat ((set-logic ) (proof @@ -222,17 +232,19 @@ (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 +867ea9722404471d6daa5f484f08fb1134d3c3d1 11 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))))))) +(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))))))))) -329e4f3ee0408af9d367ae6246fb53276a50a32f 11 0 +c373efe2cbce6fe12a529ce0b3bfdfa0b82ccec7 11 0 unsat ((set-logic ) (proof @@ -244,35 +256,23 @@ (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 +a182f0aa79adadd545fe3d792074b3ce7a69af9a 44 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 ((?x9 (bvand |x$| (_ bv255 16)))) +(let ((?x7 (bvand |x$| (_ bv65280 16)))) (let ((?x10 (bvor ?x7 ?x9))) -(let (($x11 (= ?x10 |$x|))) +(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 ((?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 ((?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)))) @@ -284,7 +284,7 @@ (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 ((?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)))) @@ -296,12 +296,12 @@ (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 ((@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 +ca557d28761bb4642d53f86787f6caf2ff06ecdd 97 0 unsat ((set-logic ) (declare-fun k!150 () Bool) @@ -341,20 +341,20 @@ (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 ((@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 (($x11 (=> (bvult |w$| (_ bv256 16)) (= (bvand |w$| (_ bv255 16)) |w$|)))) (let (($x12 (not $x11))) -(let ((?x39 ((_ extract 7 0) |$w|))) +(let ((?x39 ((_ extract 7 0) |w$|))) (let ((?x63 (concat (_ bv0 8) ?x39))) -(let (($x70 (= ?x63 |$w|))) +(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 ((?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)))))) @@ -362,8 +362,8 @@ (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 ((@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))) @@ -399,36 +399,36 @@ (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 +934b753ba18ced93b3abefe28ac123e272856e65 18 0 unsat ((set-logic ) (proof -(let ((?x10 (|$p| true))) -(let (($x11 (= (|$p| (ite (bvule (_ bv0 4) |$a|) true false)) ?x10))) +(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 ((@x126 (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 ((@x98 (|mp~| (mp (asserted $x24) (|quant-intro| @x44 (= $x24 $x45)) $x45) (|nnf-pos| @x126 (|~| $x45 $x45)) $x45))) +(let ((@x597 (|unit-resolution| ((_ |quant-inst| (_ bv0 2)) (or (not $x600) (not (<= (|bv2int$| (_ bv0 2)) 0)))) (mp @x98 (|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)))))))))))) + +0bbf788c7118a79d51655cce7af0be1af048387d 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 (($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 df9add9949bb -r 1ba56358eba4 src/HOL/SMT_Examples/SMT_Word_Examples.thy --- a/src/HOL/SMT_Examples/SMT_Word_Examples.thy Thu Mar 13 14:48:20 2014 +0100 +++ b/src/HOL/SMT_Examples/SMT_Word_Examples.thy Thu Mar 13 14:55:38 2014 +0100 @@ -11,7 +11,7 @@ declare [[smt2_oracle = true]] declare [[z3_new_extensions = true]] declare [[smt2_certificates = "SMT_Word_Examples.certs2"]] -declare [[smt2_read_only_certificates = false]] (* FIXME *) +declare [[smt2_read_only_certificates = true]] text {* Currently, there is no proof reconstruction for words. @@ -22,58 +22,34 @@ section {* Bitvector numbers *} lemma "(27 :: 4 word) = -5" by smt2 - lemma "(27 :: 4 word) = 11" by smt2 - lemma "23 < (27::8 word)" by smt2 - lemma "27 + 11 = (6::5 word)" by smt2 - lemma "7 * 3 = (21::8 word)" by smt2 - lemma "11 - 27 = (-16::8 word)" by smt2 - lemma "- -11 = (11::5 word)" by smt2 - lemma "-40 + 1 = (-39::7 word)" by smt2 - lemma "a + 2 * b + c - b = (b + c) + (a :: 32 word)" by smt2 - lemma "x = (5 :: 4 word) \ 4 * x = 4" by smt2 section {* Bit-level logic *} lemma "0b110 AND 0b101 = (0b100 :: 32 word)" by smt2 - lemma "0b110 OR 0b011 = (0b111 :: 8 word)" by smt2 - lemma "0xF0 XOR 0xFF = (0x0F :: 8 word)" by smt2 - lemma "NOT (0xF0 :: 16 word) = 0xFF0F" by smt2 - 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 "slice 1 (0b10110 :: 4 word) = (0b11 :: 2 word)" by smt2 - lemma "ucast (0b1010 :: 4 word) = (0b1010 :: 10 word)" by smt2 - lemma "scast (0b1010 :: 4 word) = (0b111010 :: 6 word)" by smt2 - lemma "0b10011 << 2 = (0b1001100::8 word)" by smt2 - lemma "0b11001 >> 2 = (0b110::8 word)" by smt2 - lemma "0b10011 >>> 2 = (0b100::8 word)" by smt2 - lemma "word_rotr 2 0b0110 = (0b1001::4 word)" by smt2 - lemma "word_rotl 1 0b1110 = (0b1101::4 word)" by smt2 - lemma "(x AND 0xff00) OR (x AND 0x00ff) = (x::16 word)" by smt2 - lemma "w < 256 \ (w :: 16 word) AND 0x00FF = w" by smt2