src/HOL/SMT_Examples/SMT_Examples.certs2
changeset 57711 caadd484dec6
parent 57696 fb71c6f100f8
child 58365 b638978797fd
equal deleted inserted replaced
57710:323a57d7455c 57711:caadd484dec6
     1 3aa17d1c77bc1a92bca05df291d11d81c645a931 6 0
       
     2 unsat
       
     3 ((set-logic AUFLIA)
       
     4 (proof
       
     5 (let ((@x30 (rewrite (= (not true) false))))
       
     6 (mp (asserted (not true)) @x30 false))))
       
     7 
       
     8 572677daa32981bf8212986300f1362edf42a0c1 7 0
     1 572677daa32981bf8212986300f1362edf42a0c1 7 0
     9 unsat
     2 unsat
    10 ((set-logic AUFLIA)
     3 ((set-logic AUFLIA)
    11 (proof
     4 (proof
    12 (let ((@x36 (monotonicity (rewrite (= (or p$ (not p$)) true)) (= (not (or p$ (not p$))) (not true)))))
     5 (let ((@x36 (monotonicity (rewrite (= (or p$ (not p$)) true)) (= (not (or p$ (not p$))) (not true)))))
    13 (let ((@x40 (trans @x36 (rewrite (= (not true) false)) (= (not (or p$ (not p$))) false))))
     6 (let ((@x40 (trans @x36 (rewrite (= (not true) false)) (= (not (or p$ (not p$))) false))))
    14 (mp (asserted (not (or p$ (not p$)))) @x40 false)))))
     7 (mp (asserted (not (or p$ (not p$)))) @x40 false)))))
       
     8 
       
     9 3aa17d1c77bc1a92bca05df291d11d81c645a931 6 0
       
    10 unsat
       
    11 ((set-logic AUFLIA)
       
    12 (proof
       
    13 (let ((@x30 (rewrite (= (not true) false))))
       
    14 (mp (asserted (not true)) @x30 false))))
    15 
    15 
    16 dfd95b23f80baacb2acdc442487bd8121f072035 9 0
    16 dfd95b23f80baacb2acdc442487bd8121f072035 9 0
    17 unsat
    17 unsat
    18 ((set-logic AUFLIA)
    18 ((set-logic AUFLIA)
    19 (proof
    19 (proof
  1031 (let ((@x52 (trans @x48 (rewrite (= (< 5 8) true)) (= (< 5 (ite (<= 3 8) 8 3)) true))))
  1031 (let ((@x52 (trans @x48 (rewrite (= (< 5 8) true)) (= (< 5 (ite (<= 3 8) 8 3)) true))))
  1032 (let ((@x55 (monotonicity @x52 (= (not (< 5 (ite (<= 3 8) 8 3))) (not true)))))
  1032 (let ((@x55 (monotonicity @x52 (= (not (< 5 (ite (<= 3 8) 8 3))) (not true)))))
  1033 (let ((@x59 (trans @x55 (rewrite (= (not true) false)) (= (not (< 5 (ite (<= 3 8) 8 3))) false))))
  1033 (let ((@x59 (trans @x55 (rewrite (= (not true) false)) (= (not (< 5 (ite (<= 3 8) 8 3))) false))))
  1034 (mp (asserted (not (< 5 (ite (<= 3 8) 8 3)))) @x59 false)))))))))
  1034 (mp (asserted (not (< 5 (ite (<= 3 8) 8 3)))) @x59 false)))))))))
  1035 
  1035 
  1036 2d63144daf211d89368e355b9b23a3b5118b7ba9 88 0
  1036 6b0b089fbe179e8a27509c818f9a5e6847ac6bf2 88 0
  1037 unsat
  1037 unsat
  1038 ((set-logic AUFLIRA)
  1038 ((set-logic AUFLIRA)
  1039 (proof
  1039 (proof
  1040 (let ((?x44 (* (- 1.0) x$)))
  1040 (let ((?x44 (* (- 1.0) x$)))
  1041 (let (($x83 (>= x$ 0.0)))
  1041 (let (($x83 (>= x$ 0.0)))
  1205 (let ((@x62 (monotonicity (rewrite (= (< a$ 0.0) (not $x58))) (= (not (< a$ 0.0)) (not (not $x58))))))
  1205 (let ((@x62 (monotonicity (rewrite (= (< a$ 0.0) (not $x58))) (= (not (< a$ 0.0)) (not (not $x58))))))
  1206 (let ((@x66 (trans @x62 (rewrite (= (not (not $x58)) $x58)) (= (not (< a$ 0.0)) $x58))))
  1206 (let ((@x66 (trans @x62 (rewrite (= (not (not $x58)) $x58)) (= (not (< a$ 0.0)) $x58))))
  1207 (let ((@x67 (mp (asserted (not (< a$ 0.0))) @x66 $x58)))
  1207 (let ((@x67 (mp (asserted (not (< a$ 0.0))) @x66 $x58)))
  1208 ((_ th-lemma arith farkas 7 3/2 1) @x67 @x52 @x40 false)))))))))))))))))
  1208 ((_ th-lemma arith farkas 7 3/2 1) @x67 @x52 @x40 false)))))))))))))))))
  1209 
  1209 
  1210 b9f61649fae66ac195bf2593181f9d76c958bfe2 22 0
  1210 3a6df2b095b936aac9a1d533e306f2d31b4fb44e 22 0
  1211 unsat
  1211 unsat
  1212 ((set-logic AUFLIA)
  1212 ((set-logic AUFLIA)
  1213 (proof
  1213 (proof
  1214 (let (($x38 (not false)))
  1214 (let (($x38 (not false)))
  1215 (let (($x34 (<= 0 x$)))
  1215 (let (($x34 (<= 0 x$)))
  1388 (let ((@x428 (monotonicity (rewrite (= $x57 (not $x422))) (= (not $x57) (not (not $x422))))))
  1388 (let ((@x428 (monotonicity (rewrite (= $x57 (not $x422))) (= (not $x57) (not (not $x422))))))
  1389 (let ((@x432 (trans @x428 (rewrite (= (not (not $x422)) $x422)) (= (not $x57) $x422))))
  1389 (let ((@x432 (trans @x428 (rewrite (= (not (not $x422)) $x422)) (= (not $x57) $x422))))
  1390 (let ((@x433 (mp (not-or-elim @x205 (not $x57)) @x432 $x422)))
  1390 (let ((@x433 (mp (not-or-elim @x205 (not $x57)) @x432 $x422)))
  1391 (unit-resolution @x433 @x488 (mp @x478 @x480 $x44) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  1391 (unit-resolution @x433 @x488 (mp @x478 @x480 $x44) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  1392 
  1392 
  1393 fbc59441c65d9a844da44405d06d138b55c5d187 933 0
  1393 32286f9c5e71eb2b15c18f86f04c80931e2e307b 933 0
  1394 unsat
  1394 unsat
  1395 ((set-logic AUFLIA)
  1395 ((set-logic AUFLIA)
  1396 (proof
  1396 (proof
  1397 (let (($x91 (= x1$ x10$)))
  1397 (let (($x91 (= x1$ x10$)))
  1398 (let (($x582 (not $x91)))
  1398 (let (($x582 (not $x91)))
  2343 (let ((@x52 (trans (monotonicity @x45 (= $x34 (or false $x43))) (rewrite (= (or false $x43) $x43)) (= $x34 $x43))))
  2343 (let ((@x52 (trans (monotonicity @x45 (= $x34 (or false $x43))) (rewrite (= (or false $x43) $x43)) (= $x34 $x43))))
  2344 (let ((@x59 (trans (monotonicity @x45 @x52 (= $x35 (or $x43 $x43))) (rewrite (= (or $x43 $x43) $x43)) (= $x35 $x43))))
  2344 (let ((@x59 (trans (monotonicity @x45 @x52 (= $x35 (or $x43 $x43))) (rewrite (= (or $x43 $x43) $x43)) (= $x35 $x43))))
  2345 (let ((@x62 (monotonicity @x59 (= $x36 (not $x43)))))
  2345 (let ((@x62 (monotonicity @x59 (= $x36 (not $x43)))))
  2346 (mp (asserted $x36) (trans @x62 @x71 (= $x36 false)) false))))))))))))))))))
  2346 (mp (asserted $x36) (trans @x62 @x71 (= $x36 false)) false))))))))))))))))))
  2347 
  2347 
  2348 d2037888c28cf52f7a45f66288246169de6f14ad 113 0
  2348 faae12ee7efe4347f92e42776a0e0e57a624319c 113 0
  2349 unsat
  2349 unsat
  2350 ((set-logic <null>)
  2350 ((set-logic <null>)
  2351 (proof
  2351 (proof
  2352 (let ((?x228 (mod x$ 2)))
  2352 (let ((?x228 (mod x$ 2)))
  2353 (let ((?x262 (* (- 1) ?x228)))
  2353 (let ((?x262 (* (- 1) ?x228)))
  2457 (let ((@x54 (monotonicity (rewrite (= (+ x$ 1) (+ 1 x$))) @x51 (= (<= (+ x$ 1) (+ x$ (+ ?x32 1))) $x52))))
  2457 (let ((@x54 (monotonicity (rewrite (= (+ x$ 1) (+ 1 x$))) @x51 (= (<= (+ x$ 1) (+ x$ (+ ?x32 1))) $x52))))
  2458 (let ((@x73 (trans (monotonicity @x54 (= $x36 $x55)) (trans @x63 @x69 (= $x55 $x67)) (= $x36 $x67))))
  2458 (let ((@x73 (trans (monotonicity @x54 (= $x36 $x55)) (trans @x63 @x69 (= $x55 $x67)) (= $x36 $x67))))
  2459 (let ((@x74 (mp (asserted $x36) @x73 $x67)))
  2459 (let ((@x74 (mp (asserted $x36) @x73 $x67)))
  2460 ((_ th-lemma arith farkas -1 1 1) @x74 (unit-resolution ((_ th-lemma arith) (or false $x305)) (true-axiom true) $x305) @x337 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  2460 ((_ th-lemma arith farkas -1 1 1) @x74 (unit-resolution ((_ th-lemma arith) (or false $x305)) (true-axiom true) $x305) @x337 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  2461 
  2461 
  2462 29e336c1b1dbb5e85401e6a2954560661ff3cadc 112 0
  2462 57f344c9e787868c98d1e622f158c445c1899c96 112 0
  2463 unsat
  2463 unsat
  2464 ((set-logic <null>)
  2464 ((set-logic <null>)
  2465 (proof
  2465 (proof
  2466 (let ((?x224 (mod x$ 2)))
  2466 (let ((?x224 (mod x$ 2)))
  2467 (let (($x318 (>= ?x224 2)))
  2467 (let (($x318 (>= ?x224 2)))
  2570 (let ((@x51 (monotonicity @x48 (= (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3))) $x49))))
  2570 (let ((@x51 (monotonicity @x48 (= (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3))) $x49))))
  2571 (let ((@x69 (trans @x51 @x67 (= (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3))) $x63))))
  2571 (let ((@x69 (trans @x51 @x67 (= (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3))) $x63))))
  2572 (let ((@x70 (mp (asserted (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3)))) @x69 $x63)))
  2572 (let ((@x70 (mp (asserted (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3)))) @x69 $x63)))
  2573 ((_ th-lemma arith farkas -1 1 1) @x70 @x336 (unit-resolution ((_ th-lemma arith) (or false $x319)) (true-axiom true) $x319) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  2573 ((_ th-lemma arith farkas -1 1 1) @x70 @x336 (unit-resolution ((_ th-lemma arith) (or false $x319)) (true-axiom true) $x319) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  2574 
  2574 
  2575 5bcedd8db3cccf5f1df2ef7ad1ca5e39c817a6f4 32 0
  2575 3938db798ebafb55191dcdaf83a8615d1d59c0c3 32 0
  2576 unsat
  2576 unsat
  2577 ((set-logic <null>)
  2577 ((set-logic <null>)
  2578 (proof
  2578 (proof
  2579 (let (($x28 (= x$ 0.0)))
  2579 (let (($x28 (= x$ 0.0)))
  2580 (let (($x29 (not $x28)))
  2580 (let (($x29 (not $x28)))
  2603 (let (($x102 (>= x$ 0.0)))
  2603 (let (($x102 (>= x$ 0.0)))
  2604 (let (($x100 (>= ?x47 0.0)))
  2604 (let (($x100 (>= ?x47 0.0)))
  2605 (let ((@x117 (unit-resolution ((_ th-lemma arith assign-bounds 1) (or $x102 (not $x100))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x95) $x100)) @x98 $x100) $x102)))
  2605 (let ((@x117 (unit-resolution ((_ th-lemma arith assign-bounds 1) (or $x102 (not $x100))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x95) $x100)) @x98 $x100) $x102)))
  2606 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x28 (not $x101) (not $x102))) @x117 @x110 @x30 false))))))))))))))))))))))))))))))
  2606 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x28 (not $x101) (not $x102))) @x117 @x110 @x30 false))))))))))))))))))))))))))))))
  2607 
  2607 
  2608 97186805a3315ef9a1cc4847a2e19a6d09c77915 236 0
  2608 353c8b65ed1b98772a89ffdae52f1cfae628dd6a 236 0
  2609 unsat
  2609 unsat
  2610 ((set-logic <null>)
  2610 ((set-logic <null>)
  2611 (proof
  2611 (proof
  2612 (let ((?x410 (div n$ 2)))
  2612 (let ((?x410 (div n$ 2)))
  2613 (let ((?x704 (* (- 1) ?x410)))
  2613 (let ((?x704 (* (- 1) ?x410)))
  3222 (let ((@x40 (monotonicity (rewrite (= (ite $x31 false true) (not $x31))) (= $x33 (not (not $x31))))))
  3222 (let ((@x40 (monotonicity (rewrite (= (ite $x31 false true) (not $x31))) (= $x33 (not (not $x31))))))
  3223 (let ((@x60 (trans (trans @x40 (rewrite (= (not (not $x31)) $x31)) (= $x33 $x31)) (quant-intro @x55 (= $x31 $x56)) (= $x33 $x56))))
  3223 (let ((@x60 (trans (trans @x40 (rewrite (= (not (not $x31)) $x31)) (= $x33 $x31)) (quant-intro @x55 (= $x31 $x56)) (= $x33 $x56))))
  3224 (let ((@x66 (mp~ (mp (asserted $x33) @x60 $x56) (nnf-pos (refl (~ $x53 $x53)) (~ $x56 $x56)) $x56)))
  3224 (let ((@x66 (mp~ (mp (asserted $x33) @x60 $x56) (nnf-pos (refl (~ $x53 $x53)) (~ $x56 $x56)) $x56)))
  3225 (unit-resolution @x66 @x464 false)))))))))))))))))))))))))
  3225 (unit-resolution @x66 @x464 false)))))))))))))))))))))))))
  3226 
  3226 
  3227 a8cb4a130675f119ab8ba11cbe3a15041f18d2c6 62 0
  3227 a02ae6c9688537bbe4c3be0d3dcebbc703417864 62 0
  3228 unsat
  3228 unsat
  3229 ((set-logic AUFLIA)
  3229 ((set-logic AUFLIA)
  3230 (declare-fun ?v0!1 () Int)
  3230 (declare-fun ?v0!1 () Int)
  3231 (declare-fun z3name!0 () Bool)
  3231 (declare-fun z3name!0 () Bool)
  3232 (proof
  3232 (proof
  3285 (let ((@x126 (monotonicity @x109 @x123 (~ (and $x89 (or z3name!0 $x90)) (and $x89 $x121)))))
  3285 (let ((@x126 (monotonicity @x109 @x123 (~ (and $x89 (or z3name!0 $x90)) (and $x89 $x121)))))
  3286 (let ((@x131 (and-elim (mp~ @x93 @x126 (and $x89 $x121)) $x89)))
  3286 (let ((@x131 (and-elim (mp~ @x93 @x126 (and $x89 $x121)) $x89)))
  3287 (let ((@x515 (unit-resolution (def-axiom (or z3name!0 $x220)) (unit-resolution @x131 @x238 $x88) $x220)))
  3287 (let ((@x515 (unit-resolution (def-axiom (or z3name!0 $x220)) (unit-resolution @x131 @x238 $x88) $x220)))
  3288 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x220) (>= ?x96 3))) @x515 @x245 false))))))))))))))))))))))))))))))))))))))))))))))))))))))
  3288 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x220) (>= ?x96 3))) @x515 @x245 false))))))))))))))))))))))))))))))))))))))))))))))))))))))
  3289 
  3289 
  3290 9e0e67e5bd5078ab683d440f1a73c518a403be1b 39 0
  3290 9853592ad3514c1450e40271884a9f21f57ff85b 39 0
  3291 unsat
  3291 unsat
  3292 ((set-logic AUFLIA)
  3292 ((set-logic AUFLIA)
  3293 (proof
  3293 (proof
  3294 (let (($x38 (exists ((?v0 Int) (?v1 Int) (?v2 Int) )(let ((?x33 (- 6)))
  3294 (let (($x38 (exists ((?v0 Int) (?v1 Int) (?v2 Int) )(let ((?x33 (- 6)))
  3295 (let ((?x34 (* ?x33 ?v1)))
  3295 (let ((?x34 (* ?x33 ?v1)))
  3378 (let (($x101 (<= ?v2!0 0)))
  3378 (let (($x101 (<= ?v2!0 0)))
  3379 (let (($x102 (not $x101)))
  3379 (let (($x102 (not $x101)))
  3380 (let ((@x117 (and-elim (not-or-elim @x112 (and $x100 $x102)) $x102)))
  3380 (let ((@x117 (and-elim (not-or-elim @x112 (and $x100 $x102)) $x102)))
  3381 ((_ th-lemma arith farkas 1 1 1) @x117 @x116 @x118 false)))))))))))))))))))))))))))))))))))
  3381 ((_ th-lemma arith farkas 1 1 1) @x117 @x116 @x118 false)))))))))))))))))))))))))))))))))))
  3382 
  3382 
  3383 0d380fa4e68ab250e8351813b95695943794f02d 46 0
  3383 9201a8009730b821ad6a3a2b64598e50ab5748ca 46 0
  3384 unsat
  3384 unsat
  3385 ((set-logic AUFLIRA)
  3385 ((set-logic AUFLIRA)
  3386 (declare-fun ?v1!1 () Int)
  3386 (declare-fun ?v1!1 () Int)
  3387 (declare-fun ?v2!0 () Real)
  3387 (declare-fun ?v2!0 () Real)
  3388 (proof
  3388 (proof
  3597 (let ((@x74 (not-or-elim @x70 $x64)))
  3597 (let ((@x74 (not-or-elim @x70 $x64)))
  3598 (let (($x65 (not $x64)))
  3598 (let (($x65 (not $x64)))
  3599 (let (($x62 (<= ?v1!0 0)))
  3599 (let (($x62 (<= ?v1!0 0)))
  3600 (let ((@x73 (not-or-elim @x70 $x62)))
  3600 (let ((@x73 (not-or-elim @x70 $x62)))
  3601 (unit-resolution (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x65 (not $x62))) @x73 $x65) @x74 false))))))))))))))))))
  3601 (unit-resolution (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x65 (not $x62))) @x73 $x65) @x74 false))))))))))))))))))
       
  3602 
       
  3603 d98ad8f668dead6f610669a52351ea0176a811b0 26 0
       
  3604 unsat
       
  3605 ((set-logic <null>)
       
  3606 (proof
       
  3607 (let (($x58 (<= b$ 0)))
       
  3608 (let (($x62 (or (not (and (not (<= a$ 0)) (not (<= (* a$ b$) 0)))) (not $x58))))
       
  3609 (let (($x65 (not $x62)))
       
  3610 (let (($x35 (not (=> (and (< 0 a$) (< 0 (* a$ b$))) (< 0 b$)))))
       
  3611 (let (($x33 (< 0 b$)))
       
  3612 (let (($x38 (or (not (and (< 0 a$) (< 0 (* a$ b$)))) $x33)))
       
  3613 (let (($x56 (= (not (and (< 0 a$) (< 0 (* a$ b$)))) (not (and (not (<= a$ 0)) (not (<= (* a$ b$) 0)))))))
       
  3614 (let ((?x30 (* a$ b$)))
       
  3615 (let (($x48 (<= ?x30 0)))
       
  3616 (let (($x49 (not $x48)))
       
  3617 (let (($x44 (<= a$ 0)))
       
  3618 (let (($x45 (not $x44)))
       
  3619 (let (($x52 (and $x45 $x49)))
       
  3620 (let (($x32 (and (< 0 a$) (< 0 ?x30))))
       
  3621 (let ((@x54 (monotonicity (rewrite (= (< 0 a$) $x45)) (rewrite (= (< 0 ?x30) $x49)) (= $x32 $x52))))
       
  3622 (let ((@x64 (monotonicity (monotonicity @x54 $x56) (rewrite (= $x33 (not $x58))) (= $x38 $x62))))
       
  3623 (let ((@x43 (monotonicity (rewrite (= (=> $x32 $x33) $x38)) (= $x35 (not $x38)))))
       
  3624 (let ((@x69 (trans @x43 (monotonicity @x64 (= (not $x38) $x65)) (= $x35 $x65))))
       
  3625 (let ((@x74 (not-or-elim (mp (asserted $x35) @x69 $x65) $x58)))
       
  3626 (let ((@x72 (and-elim (not-or-elim (mp (asserted $x35) @x69 $x65) $x52) $x45)))
       
  3627 (let ((@x73 (and-elim (not-or-elim (mp (asserted $x35) @x69 $x65) $x52) $x49)))
       
  3628 ((_ th-lemma arith farkas 1 1 1) @x73 @x72 @x74 false))))))))))))))))))))))))
  3602 
  3629 
  3603 271390ea915947de195c2202e30f90bb84689d60 26 0
  3630 271390ea915947de195c2202e30f90bb84689d60 26 0
  3604 unsat
  3631 unsat
  3605 ((set-logic <null>)
  3632 ((set-logic <null>)
  3606 (proof
  3633 (proof
  3624 (let ((@x51 (trans @x46 (rewrite (= (+ (+ 1 x$) y$) (+ 1 x$ y$))) (= ?x32 (+ 1 x$ y$)))))
  3651 (let ((@x51 (trans @x46 (rewrite (= (+ (+ 1 x$) y$) (+ 1 x$ y$))) (= ?x32 (+ 1 x$ y$)))))
  3625 (let ((@x60 (trans (monotonicity @x51 (= ?x33 (* a$ (+ 1 x$ y$)))) @x58 (= ?x33 (+ a$ ?x34 (* a$ y$))))))
  3652 (let ((@x60 (trans (monotonicity @x51 (= ?x33 (* a$ (+ 1 x$ y$)))) @x58 (= ?x33 (+ a$ ?x34 (* a$ y$))))))
  3626 (let ((@x88 (monotonicity (trans (monotonicity @x60 @x78 $x80) (rewrite $x82) (= $x38 true)) (= $x39 (not true)))))
  3653 (let ((@x88 (monotonicity (trans (monotonicity @x60 @x78 $x80) (rewrite $x82) (= $x38 true)) (= $x39 (not true)))))
  3627 (let ((@x92 (trans @x88 (rewrite (= (not true) false)) (= $x39 false))))
  3654 (let ((@x92 (trans @x88 (rewrite (= (not true) false)) (= $x39 false))))
  3628 (mp (asserted $x39) @x92 false))))))))))))))))))))))))
  3655 (mp (asserted $x39) @x92 false))))))))))))))))))))))))
  3629 
       
  3630 d98ad8f668dead6f610669a52351ea0176a811b0 26 0
       
  3631 unsat
       
  3632 ((set-logic <null>)
       
  3633 (proof
       
  3634 (let (($x58 (<= b$ 0)))
       
  3635 (let (($x62 (or (not (and (not (<= a$ 0)) (not (<= (* a$ b$) 0)))) (not $x58))))
       
  3636 (let (($x65 (not $x62)))
       
  3637 (let (($x35 (not (=> (and (< 0 a$) (< 0 (* a$ b$))) (< 0 b$)))))
       
  3638 (let (($x33 (< 0 b$)))
       
  3639 (let (($x38 (or (not (and (< 0 a$) (< 0 (* a$ b$)))) $x33)))
       
  3640 (let (($x56 (= (not (and (< 0 a$) (< 0 (* a$ b$)))) (not (and (not (<= a$ 0)) (not (<= (* a$ b$) 0)))))))
       
  3641 (let ((?x30 (* a$ b$)))
       
  3642 (let (($x48 (<= ?x30 0)))
       
  3643 (let (($x49 (not $x48)))
       
  3644 (let (($x44 (<= a$ 0)))
       
  3645 (let (($x45 (not $x44)))
       
  3646 (let (($x52 (and $x45 $x49)))
       
  3647 (let (($x32 (and (< 0 a$) (< 0 ?x30))))
       
  3648 (let ((@x54 (monotonicity (rewrite (= (< 0 a$) $x45)) (rewrite (= (< 0 ?x30) $x49)) (= $x32 $x52))))
       
  3649 (let ((@x64 (monotonicity (monotonicity @x54 $x56) (rewrite (= $x33 (not $x58))) (= $x38 $x62))))
       
  3650 (let ((@x43 (monotonicity (rewrite (= (=> $x32 $x33) $x38)) (= $x35 (not $x38)))))
       
  3651 (let ((@x69 (trans @x43 (monotonicity @x64 (= (not $x38) $x65)) (= $x35 $x65))))
       
  3652 (let ((@x74 (not-or-elim (mp (asserted $x35) @x69 $x65) $x58)))
       
  3653 (let ((@x72 (and-elim (not-or-elim (mp (asserted $x35) @x69 $x65) $x52) $x45)))
       
  3654 (let ((@x73 (and-elim (not-or-elim (mp (asserted $x35) @x69 $x65) $x52) $x49)))
       
  3655 ((_ th-lemma arith farkas 1 1 1) @x73 @x72 @x74 false))))))))))))))))))))))))
       
  3656 
  3656 
  3657 b216c79478e44396acca3654b76845499fc18a04 23 0
  3657 b216c79478e44396acca3654b76845499fc18a04 23 0
  3658 unsat
  3658 unsat
  3659 ((set-logic <null>)
  3659 ((set-logic <null>)
  3660 (proof
  3660 (proof
  3942 (let ((@x42 (monotonicity (monotonicity (rewrite (= $x30 $x29)) (= $x31 (f$ $x29))) (= $x32 (=> (f$ $x29) true)))))
  3942 (let ((@x42 (monotonicity (monotonicity (rewrite (= $x30 $x29)) (= $x31 (f$ $x29))) (= $x32 (=> (f$ $x29) true)))))
  3943 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
  3943 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
  3944 (let ((@x53 (trans (monotonicity @x46 (= $x33 (not true))) (rewrite (= (not true) false)) (= $x33 false))))
  3944 (let ((@x53 (trans (monotonicity @x46 (= $x33 (not true))) (rewrite (= (not true) false)) (= $x33 false))))
  3945 (mp (asserted $x33) @x53 false)))))))))))
  3945 (mp (asserted $x33) @x53 false)))))))))))
  3946 
  3946 
       
  3947 8b09776b03122aeacc9dd9526e1f0e5d41a07f14 14 0
       
  3948 unsat
       
  3949 ((set-logic AUFLIA)
       
  3950 (proof
       
  3951 (let (($x29 (forall ((?v0 A$) )(g$ ?v0))
       
  3952 ))
       
  3953 (let (($x30 (ite $x29 true false)))
       
  3954 (let (($x31 (f$ $x30)))
       
  3955 (let (($x32 (=> $x31 true)))
       
  3956 (let (($x33 (not $x32)))
       
  3957 (let ((@x42 (monotonicity (monotonicity (rewrite (= $x30 $x29)) (= $x31 (f$ $x29))) (= $x32 (=> (f$ $x29) true)))))
       
  3958 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
       
  3959 (let ((@x53 (trans (monotonicity @x46 (= $x33 (not true))) (rewrite (= (not true) false)) (= $x33 false))))
       
  3960 (mp (asserted $x33) @x53 false)))))))))))
       
  3961 
  3947 b221de9d8dbe279344ac85e2ada07f5722636ce5 46 0
  3962 b221de9d8dbe279344ac85e2ada07f5722636ce5 46 0
  3948 unsat
  3963 unsat
  3949 ((set-logic AUFLIA)
  3964 ((set-logic AUFLIA)
  3950 (proof
  3965 (proof
  3951 (let ((?x61 (fun_app$a le$ 3)))
  3966 (let ((?x61 (fun_app$a le$ 3)))
  3988 (let ((@x158 (trans (monotonicity (rewrite (= ?x169 (- 42))) (= ?x170 (+ 3 (- 42)))) (rewrite (= (+ 3 (- 42)) (- 39))) (= ?x170 (- 39)))))
  4003 (let ((@x158 (trans (monotonicity (rewrite (= ?x169 (- 42))) (= ?x170 (+ 3 (- 42)))) (rewrite (= (+ 3 (- 42)) (- 39))) (= ?x170 (- 39)))))
  3989 (let ((@x497 (trans (monotonicity @x158 (= $x160 (<= (- 39) 0))) (rewrite (= (<= (- 39) 0) true)) (= $x160 true))))
  4004 (let ((@x497 (trans (monotonicity @x158 (= $x160 (<= (- 39) 0))) (rewrite (= (<= (- 39) 0) true)) (= $x160 true))))
  3990 (let ((@x131 (trans (monotonicity @x497 (= $x171 (= $x168 true))) (rewrite (= (= $x168 true) $x168)) (= $x171 $x168))))
  4005 (let ((@x131 (trans (monotonicity @x497 (= $x171 (= $x168 true))) (rewrite (= (= $x168 true) $x168)) (= $x171 $x168))))
  3991 (let ((@x478 (mp ((_ quant-inst 3 42) (or (not $x52) $x171)) (trans (monotonicity @x131 $x137) (rewrite (= $x134 $x134)) $x137) $x134)))
  4006 (let ((@x478 (mp ((_ quant-inst 3 42) (or (not $x52) $x171)) (trans (monotonicity @x131 $x137) (rewrite (= $x134 $x134)) $x137) $x134)))
  3992 (unit-resolution (unit-resolution @x478 @x78 $x168) (mp @x77 @x472 (not $x168)) false)))))))))))))))))))))))))))))))))))
  4007 (unit-resolution (unit-resolution @x478 @x78 $x168) (mp @x77 @x472 (not $x168)) false)))))))))))))))))))))))))))))))))))
  3993 
       
  3994 8b09776b03122aeacc9dd9526e1f0e5d41a07f14 14 0
       
  3995 unsat
       
  3996 ((set-logic AUFLIA)
       
  3997 (proof
       
  3998 (let (($x29 (forall ((?v0 A$) )(g$ ?v0))
       
  3999 ))
       
  4000 (let (($x30 (ite $x29 true false)))
       
  4001 (let (($x31 (f$ $x30)))
       
  4002 (let (($x32 (=> $x31 true)))
       
  4003 (let (($x33 (not $x32)))
       
  4004 (let ((@x42 (monotonicity (monotonicity (rewrite (= $x30 $x29)) (= $x31 (f$ $x29))) (= $x32 (=> (f$ $x29) true)))))
       
  4005 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
       
  4006 (let ((@x53 (trans (monotonicity @x46 (= $x33 (not true))) (rewrite (= (not true) false)) (= $x33 false))))
       
  4007 (mp (asserted $x33) @x53 false)))))))))))
       
  4008 
  4008 
  4009 5d3ccbcf168a634cad3952ad8f6d2798329d6a77 75 0
  4009 5d3ccbcf168a634cad3952ad8f6d2798329d6a77 75 0
  4010 unsat
  4010 unsat
  4011 ((set-logic AUFLIA)
  4011 ((set-logic AUFLIA)
  4012 (proof
  4012 (proof
  4202 (let ((@x397 (unit-resolution (def-axiom (or (not $x486) (not $x131) $x491)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x151) $x131)) @x428 $x131) (unit-resolution @x481 @x518 $x486) $x491)))
  4202 (let ((@x397 (unit-resolution (def-axiom (or (not $x486) (not $x131) $x491)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x151) $x131)) @x428 $x131) (unit-resolution @x481 @x518 $x486) $x491)))
  4203 (let (($x80 (not $x79)))
  4203 (let (($x80 (not $x79)))
  4204 (let ((@x81 (asserted $x80)))
  4204 (let ((@x81 (asserted $x80)))
  4205 (unit-resolution @x81 (trans @x397 ((_ th-lemma arith eq-propagate 1 1 -4 -4) @x410 @x422 @x428 @x438 (= ?x490 6)) $x79) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  4205 (unit-resolution @x81 (trans @x397 ((_ th-lemma arith eq-propagate 1 1 -4 -4) @x410 @x422 @x428 @x438 (= ?x490 6)) $x79) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  4206 
  4206 
  4207 fa62bf7228a50eb8c663092f87f9af7c25feaffe 336 0
  4207 640bb6103260f74026864b86c2301c00ea737ff0 336 0
  4208 unsat
  4208 unsat
  4209 ((set-logic <null>)
  4209 ((set-logic <null>)
  4210 (proof
  4210 (proof
  4211 (let ((?x99 (mod$ l$ 2)))
  4211 (let ((?x99 (mod$ l$ 2)))
  4212 (let ((?x96 (map$ uu$ xs$)))
  4212 (let ((?x96 (map$ uu$ xs$)))