src/HOL/SMT_Examples/SMT_Examples.certs2
changeset 57696 fb71c6f100f8
parent 57204 7c36ce8e45f6
child 57711 caadd484dec6
equal deleted inserted replaced
57695:987c9ceeaafd 57696:fb71c6f100f8
  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 
  3602 
       
  3603 271390ea915947de195c2202e30f90bb84689d60 26 0
       
  3604 unsat
       
  3605 ((set-logic <null>)
       
  3606 (proof
       
  3607 (let ((?x35 (+ y$ 1)))
       
  3608 (let ((?x36 (* a$ ?x35)))
       
  3609 (let ((?x34 (* a$ x$)))
       
  3610 (let ((?x37 (+ ?x34 ?x36)))
       
  3611 (let ((?x30 (+ x$ 1)))
       
  3612 (let ((?x32 (+ ?x30 y$)))
       
  3613 (let ((?x33 (* a$ ?x32)))
       
  3614 (let (($x38 (= ?x33 ?x37)))
       
  3615 (let (($x39 (not $x38)))
       
  3616 (let (($x82 (= (= (+ a$ ?x34 (* a$ y$)) (+ a$ ?x34 (* a$ y$))) true)))
       
  3617 (let (($x80 (= $x38 (= (+ a$ ?x34 (* a$ y$)) (+ a$ ?x34 (* a$ y$))))))
       
  3618 (let ((@x76 (rewrite (= (+ ?x34 (+ a$ (* a$ y$))) (+ a$ ?x34 (* a$ y$))))))
       
  3619 (let ((@x66 (monotonicity (rewrite (= ?x35 (+ 1 y$))) (= ?x36 (* a$ (+ 1 y$))))))
       
  3620 (let ((@x71 (trans @x66 (rewrite (= (* a$ (+ 1 y$)) (+ a$ (* a$ y$)))) (= ?x36 (+ a$ (* a$ y$))))))
       
  3621 (let ((@x78 (trans (monotonicity @x71 (= ?x37 (+ ?x34 (+ a$ (* a$ y$))))) @x76 (= ?x37 (+ a$ ?x34 (* a$ y$))))))
       
  3622 (let ((@x58 (rewrite (= (* a$ (+ 1 x$ y$)) (+ a$ ?x34 (* a$ y$))))))
       
  3623 (let ((@x46 (monotonicity (rewrite (= ?x30 (+ 1 x$))) (= ?x32 (+ (+ 1 x$) y$)))))
       
  3624 (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$))))))
       
  3626 (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))))
       
  3628 (mp (asserted $x39) @x92 false))))))))))))))))))))))))
       
  3629 
  3603 d98ad8f668dead6f610669a52351ea0176a811b0 26 0
  3630 d98ad8f668dead6f610669a52351ea0176a811b0 26 0
  3604 unsat
  3631 unsat
  3605 ((set-logic <null>)
  3632 ((set-logic <null>)
  3606 (proof
  3633 (proof
  3607 (let (($x58 (<= b$ 0)))
  3634 (let (($x58 (<= b$ 0)))
  3624 (let ((@x69 (trans @x43 (monotonicity @x64 (= (not $x38) $x65)) (= $x35 $x65))))
  3651 (let ((@x69 (trans @x43 (monotonicity @x64 (= (not $x38) $x65)) (= $x35 $x65))))
  3625 (let ((@x74 (not-or-elim (mp (asserted $x35) @x69 $x65) $x58)))
  3652 (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)))
  3653 (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)))
  3654 (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))))))))))))))))))))))))
  3655 ((_ th-lemma arith farkas 1 1 1) @x73 @x72 @x74 false))))))))))))))))))))))))
  3629 
       
  3630 271390ea915947de195c2202e30f90bb84689d60 26 0
       
  3631 unsat
       
  3632 ((set-logic <null>)
       
  3633 (proof
       
  3634 (let ((?x35 (+ y$ 1)))
       
  3635 (let ((?x36 (* a$ ?x35)))
       
  3636 (let ((?x34 (* a$ x$)))
       
  3637 (let ((?x37 (+ ?x34 ?x36)))
       
  3638 (let ((?x30 (+ x$ 1)))
       
  3639 (let ((?x32 (+ ?x30 y$)))
       
  3640 (let ((?x33 (* a$ ?x32)))
       
  3641 (let (($x38 (= ?x33 ?x37)))
       
  3642 (let (($x39 (not $x38)))
       
  3643 (let (($x82 (= (= (+ a$ ?x34 (* a$ y$)) (+ a$ ?x34 (* a$ y$))) true)))
       
  3644 (let (($x80 (= $x38 (= (+ a$ ?x34 (* a$ y$)) (+ a$ ?x34 (* a$ y$))))))
       
  3645 (let ((@x76 (rewrite (= (+ ?x34 (+ a$ (* a$ y$))) (+ a$ ?x34 (* a$ y$))))))
       
  3646 (let ((@x66 (monotonicity (rewrite (= ?x35 (+ 1 y$))) (= ?x36 (* a$ (+ 1 y$))))))
       
  3647 (let ((@x71 (trans @x66 (rewrite (= (* a$ (+ 1 y$)) (+ a$ (* a$ y$)))) (= ?x36 (+ a$ (* a$ y$))))))
       
  3648 (let ((@x78 (trans (monotonicity @x71 (= ?x37 (+ ?x34 (+ a$ (* a$ y$))))) @x76 (= ?x37 (+ a$ ?x34 (* a$ y$))))))
       
  3649 (let ((@x58 (rewrite (= (* a$ (+ 1 x$ y$)) (+ a$ ?x34 (* a$ y$))))))
       
  3650 (let ((@x46 (monotonicity (rewrite (= ?x30 (+ 1 x$))) (= ?x32 (+ (+ 1 x$) y$)))))
       
  3651 (let ((@x51 (trans @x46 (rewrite (= (+ (+ 1 x$) y$) (+ 1 x$ y$))) (= ?x32 (+ 1 x$ y$)))))
       
  3652 (let ((@x60 (trans (monotonicity @x51 (= ?x33 (* a$ (+ 1 x$ y$)))) @x58 (= ?x33 (+ a$ ?x34 (* a$ y$))))))
       
  3653 (let ((@x88 (monotonicity (trans (monotonicity @x60 @x78 $x80) (rewrite $x82) (= $x38 true)) (= $x39 (not true)))))
       
  3654 (let ((@x92 (trans @x88 (rewrite (= (not true) false)) (= $x39 false))))
       
  3655 (mp (asserted $x39) @x92 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
  3728 (let ((@x74 (trans @x69 (rewrite (= (+ (+ u$ b$ e$ ?x54 ?x55) ?x37) ?x70)) (= ?x38 ?x70))))
  3728 (let ((@x74 (trans @x69 (rewrite (= (+ (+ u$ b$ e$ ?x54 ?x55) ?x37) ?x70)) (= ?x38 ?x70))))
  3729 (let ((@x145 (trans (monotonicity @x74 @x139 (= $x51 (= ?x70 ?x70))) (rewrite (= (= ?x70 ?x70) true)) (= $x51 true))))
  3729 (let ((@x145 (trans (monotonicity @x74 @x139 (= $x51 (= ?x70 ?x70))) (rewrite (= (= ?x70 ?x70) true)) (= $x51 true))))
  3730 (let ((@x152 (trans (monotonicity @x145 (= $x52 (not true))) (rewrite (= (not true) false)) (= $x52 false))))
  3730 (let ((@x152 (trans (monotonicity @x145 (= $x52 (not true))) (rewrite (= (not true) false)) (= $x52 false))))
  3731 (mp (asserted $x52) @x152 false)))))))))))))))))))))))))))))))))))))))))))))))))
  3731 (mp (asserted $x52) @x152 false)))))))))))))))))))))))))))))))))))))))))))))))))
  3732 
  3732 
  3733 49c385b161a0c500f84c45f85272a8ec9574fef4 126 0
       
  3734 unsat
       
  3735 ((set-logic AUFLIA)
       
  3736 (proof
       
  3737 (let ((?x29 (of_nat$ x$)))
       
  3738 (let ((?x30 (* 2 ?x29)))
       
  3739 (let ((?x31 (nat$ ?x30)))
       
  3740 (let ((?x212 (of_nat$ ?x31)))
       
  3741 (let ((?x532 (* (- 1) ?x212)))
       
  3742 (let ((?x533 (+ ?x30 ?x532)))
       
  3743 (let (($x513 (<= ?x533 0)))
       
  3744 (let (($x531 (= ?x533 0)))
       
  3745 (let (($x193 (>= ?x29 0)))
       
  3746 (let (($x487 (>= ?x212 1)))
       
  3747 (let (($x485 (= ?x212 1)))
       
  3748 (let ((?x33 (nat$ 1)))
       
  3749 (let ((?x504 (of_nat$ ?x33)))
       
  3750 (let (($x505 (= ?x504 1)))
       
  3751 (let (($x546 (forall ((?v0 Int) )(!(let ((?x49 (nat$ ?v0)))
       
  3752 (let ((?x50 (of_nat$ ?x49)))
       
  3753 (let (($x51 (= ?x50 ?v0)))
       
  3754 (let (($x64 (>= ?v0 0)))
       
  3755 (let (($x65 (not $x64)))
       
  3756 (or $x65 $x51)))))) :pattern ( (nat$ ?v0) )))
       
  3757 ))
       
  3758 (let (($x71 (forall ((?v0 Int) )(let ((?x49 (nat$ ?v0)))
       
  3759 (let ((?x50 (of_nat$ ?x49)))
       
  3760 (let (($x51 (= ?x50 ?v0)))
       
  3761 (let (($x64 (>= ?v0 0)))
       
  3762 (let (($x65 (not $x64)))
       
  3763 (or $x65 $x51)))))))
       
  3764 ))
       
  3765 (let ((?x49 (nat$ ?0)))
       
  3766 (let ((?x50 (of_nat$ ?x49)))
       
  3767 (let (($x51 (= ?x50 ?0)))
       
  3768 (let (($x64 (>= ?0 0)))
       
  3769 (let (($x65 (not $x64)))
       
  3770 (let (($x68 (or $x65 $x51)))
       
  3771 (let (($x53 (forall ((?v0 Int) )(let ((?x49 (nat$ ?v0)))
       
  3772 (let ((?x50 (of_nat$ ?x49)))
       
  3773 (let (($x51 (= ?x50 ?v0)))
       
  3774 (let (($x48 (<= 0 ?v0)))
       
  3775 (=> $x48 $x51))))))
       
  3776 ))
       
  3777 (let (($x59 (forall ((?v0 Int) )(let ((?x49 (nat$ ?v0)))
       
  3778 (let ((?x50 (of_nat$ ?x49)))
       
  3779 (let (($x51 (= ?x50 ?v0)))
       
  3780 (or (not (<= 0 ?v0)) $x51)))))
       
  3781 ))
       
  3782 (let ((@x67 (monotonicity (rewrite (= (<= 0 ?0) $x64)) (= (not (<= 0 ?0)) $x65))))
       
  3783 (let ((@x73 (quant-intro (monotonicity @x67 (= (or (not (<= 0 ?0)) $x51) $x68)) (= $x59 $x71))))
       
  3784 (let ((@x58 (rewrite (= (=> (<= 0 ?0) $x51) (or (not (<= 0 ?0)) $x51)))))
       
  3785 (let ((@x76 (mp (asserted $x53) (trans (quant-intro @x58 (= $x53 $x59)) @x73 (= $x53 $x71)) $x71)))
       
  3786 (let ((@x551 (mp (mp~ @x76 (nnf-pos (refl (~ $x68 $x68)) (~ $x71 $x71)) $x71) (quant-intro (refl (= $x68 $x68)) (= $x71 $x546)) $x546)))
       
  3787 (let (($x526 (not $x546)))
       
  3788 (let (($x489 (or $x526 $x505)))
       
  3789 (let ((@x506 (rewrite (= (>= 1 0) true))))
       
  3790 (let ((@x219 (trans (monotonicity @x506 (= (not (>= 1 0)) (not true))) (rewrite (= (not true) false)) (= (not (>= 1 0)) false))))
       
  3791 (let ((@x223 (monotonicity @x219 (= (or (not (>= 1 0)) $x505) (or false $x505)))))
       
  3792 (let ((@x503 (trans @x223 (rewrite (= (or false $x505) $x505)) (= (or (not (>= 1 0)) $x505) $x505))))
       
  3793 (let ((@x493 (monotonicity @x503 (= (or $x526 (or (not (>= 1 0)) $x505)) $x489))))
       
  3794 (let ((@x496 (trans @x493 (rewrite (= $x489 $x489)) (= (or $x526 (or (not (>= 1 0)) $x505)) $x489))))
       
  3795 (let ((@x497 (mp ((_ quant-inst 1) (or $x526 (or (not (>= 1 0)) $x505))) @x496 $x489)))
       
  3796 (let (($x34 (= ?x31 ?x33)))
       
  3797 (let ((@x42 (mp (asserted (not (not $x34))) (rewrite (= (not (not $x34)) $x34)) $x34)))
       
  3798 (let ((@x356 (trans (monotonicity @x42 (= ?x212 ?x504)) (unit-resolution @x497 @x551 $x505) $x485)))
       
  3799 (let ((@x371 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x487) (not (<= ?x212 0)))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x485) $x487)) @x356 $x487) (not (<= ?x212 0)))))
       
  3800 (let ((@x374 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x212 0)) (<= ?x212 0))) @x371 (not (= ?x212 0)))))
       
  3801 (let (($x515 (= ?x212 0)))
       
  3802 (let (($x517 (or $x193 $x515)))
       
  3803 (let (($x552 (forall ((?v0 Int) )(!(let ((?x49 (nat$ ?v0)))
       
  3804 (let ((?x50 (of_nat$ ?x49)))
       
  3805 (let (($x78 (= ?x50 0)))
       
  3806 (let (($x64 (>= ?v0 0)))
       
  3807 (or $x64 $x78))))) :pattern ( (nat$ ?v0) )))
       
  3808 ))
       
  3809 (let (($x101 (forall ((?v0 Int) )(let ((?x49 (nat$ ?v0)))
       
  3810 (let ((?x50 (of_nat$ ?x49)))
       
  3811 (let (($x78 (= ?x50 0)))
       
  3812 (let (($x64 (>= ?v0 0)))
       
  3813 (or $x64 $x78))))))
       
  3814 ))
       
  3815 (let ((@x556 (quant-intro (refl (= (or $x64 (= ?x50 0)) (or $x64 (= ?x50 0)))) (= $x101 $x552))))
       
  3816 (let ((@x120 (nnf-pos (refl (~ (or $x64 (= ?x50 0)) (or $x64 (= ?x50 0)))) (~ $x101 $x101))))
       
  3817 (let (($x80 (forall ((?v0 Int) )(let ((?x49 (nat$ ?v0)))
       
  3818 (let ((?x50 (of_nat$ ?x49)))
       
  3819 (let (($x78 (= ?x50 0)))
       
  3820 (let (($x77 (< ?v0 0)))
       
  3821 (=> $x77 $x78))))))
       
  3822 ))
       
  3823 (let (($x86 (forall ((?v0 Int) )(let ((?x49 (nat$ ?v0)))
       
  3824 (let ((?x50 (of_nat$ ?x49)))
       
  3825 (let (($x78 (= ?x50 0)))
       
  3826 (let (($x77 (< ?v0 0)))
       
  3827 (let (($x82 (not $x77)))
       
  3828 (or $x82 $x78)))))))
       
  3829 ))
       
  3830 (let (($x78 (= ?x50 0)))
       
  3831 (let (($x98 (or $x64 $x78)))
       
  3832 (let (($x77 (< ?0 0)))
       
  3833 (let (($x82 (not $x77)))
       
  3834 (let (($x83 (or $x82 $x78)))
       
  3835 (let ((@x97 (trans (monotonicity (rewrite (= $x77 $x65)) (= $x82 (not $x65))) (rewrite (= (not $x65) $x64)) (= $x82 $x64))))
       
  3836 (let ((@x105 (trans (quant-intro (rewrite (= (=> $x77 $x78) $x83)) (= $x80 $x86)) (quant-intro (monotonicity @x97 (= $x83 $x98)) (= $x86 $x101)) (= $x80 $x101))))
       
  3837 (let ((@x557 (mp (mp~ (mp (asserted $x80) @x105 $x101) @x120 $x101) @x556 $x552)))
       
  3838 (let (($x156 (not $x552)))
       
  3839 (let (($x520 (or $x156 $x193 $x515)))
       
  3840 (let ((@x530 (rewrite (= (>= ?x30 0) $x193))))
       
  3841 (let ((@x523 (monotonicity (monotonicity @x530 (= (or (>= ?x30 0) $x515) $x517)) (= (or $x156 (or (>= ?x30 0) $x515)) (or $x156 $x517)))))
       
  3842 (let ((@x215 (trans @x523 (rewrite (= (or $x156 $x517) $x520)) (= (or $x156 (or (>= ?x30 0) $x515)) $x520))))
       
  3843 (let ((@x229 (mp ((_ quant-inst (* 2 ?x29)) (or $x156 (or (>= ?x30 0) $x515))) @x215 $x520)))
       
  3844 (let (($x185 (not $x193)))
       
  3845 (let (($x534 (or $x185 $x531)))
       
  3846 (let (($x188 (or $x526 $x185 $x531)))
       
  3847 (let (($x213 (= ?x212 ?x30)))
       
  3848 (let (($x208 (>= ?x30 0)))
       
  3849 (let (($x209 (not $x208)))
       
  3850 (let (($x214 (or $x209 $x213)))
       
  3851 (let (($x189 (or $x526 $x214)))
       
  3852 (let ((@x536 (monotonicity (monotonicity @x530 (= $x209 $x185)) (rewrite (= $x213 $x531)) (= $x214 $x534))))
       
  3853 (let ((@x175 (trans (monotonicity @x536 (= $x189 (or $x526 $x534))) (rewrite (= (or $x526 $x534) $x188)) (= $x189 $x188))))
       
  3854 (let ((@x176 (mp ((_ quant-inst (* 2 ?x29)) $x189) @x175 $x188)))
       
  3855 (let ((@x470 (unit-resolution (unit-resolution @x176 @x551 $x534) (unit-resolution (unit-resolution @x229 @x557 $x517) @x374 $x193) $x531)))
       
  3856 (let (($x514 (>= ?x533 0)))
       
  3857 (let (($x486 (<= ?x212 1)))
       
  3858 ((_ th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x485) $x487)) @x356 $x487) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x485) $x486)) @x356 $x486) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x531) $x514)) @x470 $x514) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x531) $x513)) @x470 $x513) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  3859 
       
  3860 1c2b6530334930f2f4f6e0d6b73f1d249b6c5fd8 22 0
       
  3861 unsat
       
  3862 ((set-logic AUFLIA)
       
  3863 (proof
       
  3864 (let ((?x28 (of_nat$ a$)))
       
  3865 (let (($x57 (>= ?x28 4)))
       
  3866 (let (($x64 (not (or (>= ?x28 3) (not $x57)))))
       
  3867 (let (($x34 (< (* 2 ?x28) 7)))
       
  3868 (let (($x30 (< ?x28 3)))
       
  3869 (let (($x38 (not $x30)))
       
  3870 (let (($x39 (or $x38 $x34)))
       
  3871 (let ((@x51 (monotonicity (rewrite (= $x30 (not (>= ?x28 3)))) (= $x38 (not (not (>= ?x28 3)))))))
       
  3872 (let ((@x55 (trans @x51 (rewrite (= (not (not (>= ?x28 3))) (>= ?x28 3))) (= $x38 (>= ?x28 3)))))
       
  3873 (let ((@x63 (monotonicity @x55 (rewrite (= $x34 (not $x57))) (= $x39 (or (>= ?x28 3) (not $x57))))))
       
  3874 (let ((@x44 (monotonicity (rewrite (= (=> $x30 $x34) $x39)) (= (not (=> $x30 $x34)) (not $x39)))))
       
  3875 (let ((@x68 (trans @x44 (monotonicity @x63 (= (not $x39) $x64)) (= (not (=> $x30 $x34)) $x64))))
       
  3876 (let ((@x71 (not-or-elim (mp (asserted (not (=> $x30 $x34))) @x68 $x64) $x57)))
       
  3877 (let (($x58 (not $x57)))
       
  3878 (let (($x47 (>= ?x28 3)))
       
  3879 (let (($x45 (not $x47)))
       
  3880 (let ((@x70 (not-or-elim (mp (asserted (not (=> $x30 $x34))) @x68 $x64) $x45)))
       
  3881 (unit-resolution (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x58 $x47)) @x70 $x58) @x71 false))))))))))))))))))))
       
  3882 
       
  3883 995f80f06d5874ea2208846fb3b3217c3a3b9bfd 147 0
       
  3884 unsat
       
  3885 ((set-logic AUFLIA)
       
  3886 (proof
       
  3887 (let ((?x29 (of_nat$ y$)))
       
  3888 (let ((?x30 (+ 1 ?x29)))
       
  3889 (let ((?x31 (nat$ ?x30)))
       
  3890 (let ((?x32 (of_nat$ ?x31)))
       
  3891 (let ((?x43 (* (- 1) ?x29)))
       
  3892 (let ((?x44 (+ ?x43 ?x32)))
       
  3893 (let ((?x47 (nat$ ?x44)))
       
  3894 (let ((?x50 (of_nat$ ?x47)))
       
  3895 (let ((?x567 (* (- 1) ?x32)))
       
  3896 (let ((?x255 (+ ?x29 ?x567 ?x50)))
       
  3897 (let (($x513 (>= ?x255 0)))
       
  3898 (let (($x532 (= ?x255 0)))
       
  3899 (let ((?x568 (+ ?x29 ?x567)))
       
  3900 (let (($x248 (<= ?x568 0)))
       
  3901 (let (($x551 (<= ?x568 (- 1))))
       
  3902 (let (($x558 (= ?x568 (- 1))))
       
  3903 (let (($x229 (>= ?x29 (- 1))))
       
  3904 (let (($x387 (>= ?x29 0)))
       
  3905 (let ((?x154 (nat$ ?x29)))
       
  3906 (let ((?x388 (of_nat$ ?x154)))
       
  3907 (let (($x352 (= ?x388 0)))
       
  3908 (let (($x498 (or $x387 $x352)))
       
  3909 (let (($x584 (forall ((?v0 Int) )(!(let ((?x81 (nat$ ?v0)))
       
  3910 (let ((?x82 (of_nat$ ?x81)))
       
  3911 (let (($x110 (= ?x82 0)))
       
  3912 (let (($x95 (>= ?v0 0)))
       
  3913 (or $x95 $x110))))) :pattern ( (nat$ ?v0) )))
       
  3914 ))
       
  3915 (let (($x133 (forall ((?v0 Int) )(let ((?x81 (nat$ ?v0)))
       
  3916 (let ((?x82 (of_nat$ ?x81)))
       
  3917 (let (($x110 (= ?x82 0)))
       
  3918 (let (($x95 (>= ?v0 0)))
       
  3919 (or $x95 $x110))))))
       
  3920 ))
       
  3921 (let ((?x81 (nat$ ?0)))
       
  3922 (let ((?x82 (of_nat$ ?x81)))
       
  3923 (let (($x110 (= ?x82 0)))
       
  3924 (let (($x95 (>= ?0 0)))
       
  3925 (let (($x130 (or $x95 $x110)))
       
  3926 (let (($x112 (forall ((?v0 Int) )(let ((?x81 (nat$ ?v0)))
       
  3927 (let ((?x82 (of_nat$ ?x81)))
       
  3928 (let (($x110 (= ?x82 0)))
       
  3929 (let (($x109 (< ?v0 0)))
       
  3930 (=> $x109 $x110))))))
       
  3931 ))
       
  3932 (let (($x118 (forall ((?v0 Int) )(let ((?x81 (nat$ ?v0)))
       
  3933 (let ((?x82 (of_nat$ ?x81)))
       
  3934 (let (($x110 (= ?x82 0)))
       
  3935 (let (($x109 (< ?v0 0)))
       
  3936 (let (($x114 (not $x109)))
       
  3937 (or $x114 $x110)))))))
       
  3938 ))
       
  3939 (let ((@x125 (monotonicity (rewrite (= (< ?0 0) (not $x95))) (= (not (< ?0 0)) (not (not $x95))))))
       
  3940 (let ((@x129 (trans @x125 (rewrite (= (not (not $x95)) $x95)) (= (not (< ?0 0)) $x95))))
       
  3941 (let ((@x135 (quant-intro (monotonicity @x129 (= (or (not (< ?0 0)) $x110) $x130)) (= $x118 $x133))))
       
  3942 (let ((@x117 (rewrite (= (=> (< ?0 0) $x110) (or (not (< ?0 0)) $x110)))))
       
  3943 (let ((@x138 (mp (asserted $x112) (trans (quant-intro @x117 (= $x112 $x118)) @x135 (= $x112 $x133)) $x133)))
       
  3944 (let ((@x589 (mp (mp~ @x138 (nnf-pos (refl (~ $x130 $x130)) (~ $x133 $x133)) $x133) (quant-intro (refl (= $x130 $x130)) (= $x133 $x584)) $x584)))
       
  3945 (let (($x555 (not $x584)))
       
  3946 (let (($x500 (or $x555 $x387 $x352)))
       
  3947 (let ((@x404 (mp ((_ quant-inst (of_nat$ y$)) (or $x555 $x498)) (rewrite (= (or $x555 $x498) $x500)) $x500)))
       
  3948 (let ((@x487 (unit-resolution (unit-resolution @x404 @x589 $x498) (hypothesis (not $x387)) $x352)))
       
  3949 (let (($x239 (= ?x154 y$)))
       
  3950 (let (($x570 (forall ((?v0 Nat$) )(!(= (nat$ (of_nat$ ?v0)) ?v0) :pattern ( (of_nat$ ?v0) )))
       
  3951 ))
       
  3952 (let (($x77 (forall ((?v0 Nat$) )(= (nat$ (of_nat$ ?v0)) ?v0))
       
  3953 ))
       
  3954 (let ((@x575 (trans (rewrite (= $x77 $x570)) (rewrite (= $x570 $x570)) (= $x77 $x570))))
       
  3955 (let ((@x144 (refl (~ (= (nat$ (of_nat$ ?0)) ?0) (= (nat$ (of_nat$ ?0)) ?0)))))
       
  3956 (let ((@x576 (mp (mp~ (asserted $x77) (nnf-pos @x144 (~ $x77 $x77)) $x77) @x575 $x570)))
       
  3957 (let (($x241 (not $x570)))
       
  3958 (let (($x231 (or $x241 $x239)))
       
  3959 (let ((@x242 ((_ quant-inst y$) $x231)))
       
  3960 (let ((@x475 (monotonicity (symm (unit-resolution @x242 @x576 $x239) (= y$ ?x154)) (= ?x29 ?x388))))
       
  3961 (let ((@x480 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x29 0)) $x387)) (hypothesis (not $x387)) (trans @x475 @x487 (= ?x29 0)) false)))
       
  3962 (let ((@x468 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x387) $x229)) (lemma @x480 $x387) $x229)))
       
  3963 (let (($x564 (not $x229)))
       
  3964 (let (($x559 (or $x564 $x558)))
       
  3965 (let (($x578 (forall ((?v0 Int) )(!(let ((?x81 (nat$ ?v0)))
       
  3966 (let ((?x82 (of_nat$ ?x81)))
       
  3967 (let (($x83 (= ?x82 ?v0)))
       
  3968 (let (($x95 (>= ?v0 0)))
       
  3969 (let (($x97 (not $x95)))
       
  3970 (or $x97 $x83)))))) :pattern ( (nat$ ?v0) )))
       
  3971 ))
       
  3972 (let (($x103 (forall ((?v0 Int) )(let ((?x81 (nat$ ?v0)))
       
  3973 (let ((?x82 (of_nat$ ?x81)))
       
  3974 (let (($x83 (= ?x82 ?v0)))
       
  3975 (let (($x95 (>= ?v0 0)))
       
  3976 (let (($x97 (not $x95)))
       
  3977 (or $x97 $x83)))))))
       
  3978 ))
       
  3979 (let ((@x580 (refl (= (or (not $x95) (= ?x82 ?0)) (or (not $x95) (= ?x82 ?0))))))
       
  3980 (let ((@x139 (refl (~ (or (not $x95) (= ?x82 ?0)) (or (not $x95) (= ?x82 ?0))))))
       
  3981 (let (($x85 (forall ((?v0 Int) )(let ((?x81 (nat$ ?v0)))
       
  3982 (let ((?x82 (of_nat$ ?x81)))
       
  3983 (let (($x83 (= ?x82 ?v0)))
       
  3984 (let (($x80 (<= 0 ?v0)))
       
  3985 (=> $x80 $x83))))))
       
  3986 ))
       
  3987 (let (($x91 (forall ((?v0 Int) )(let ((?x81 (nat$ ?v0)))
       
  3988 (let ((?x82 (of_nat$ ?x81)))
       
  3989 (let (($x83 (= ?x82 ?v0)))
       
  3990 (or (not (<= 0 ?v0)) $x83)))))
       
  3991 ))
       
  3992 (let (($x83 (= ?x82 ?0)))
       
  3993 (let (($x97 (not $x95)))
       
  3994 (let (($x100 (or $x97 $x83)))
       
  3995 (let (($x88 (or (not (<= 0 ?0)) $x83)))
       
  3996 (let ((@x99 (monotonicity (rewrite (= (<= 0 ?0) $x95)) (= (not (<= 0 ?0)) $x97))))
       
  3997 (let ((@x93 (quant-intro (rewrite (= (=> (<= 0 ?0) $x83) $x88)) (= $x85 $x91))))
       
  3998 (let ((@x107 (trans @x93 (quant-intro (monotonicity @x99 (= $x88 $x100)) (= $x91 $x103)) (= $x85 $x103))))
       
  3999 (let ((@x148 (mp~ (mp (asserted $x85) @x107 $x103) (nnf-pos @x139 (~ $x103 $x103)) $x103)))
       
  4000 (let ((@x583 (mp @x148 (quant-intro @x580 (= $x103 $x578)) $x578)))
       
  4001 (let (($x202 (not $x578)))
       
  4002 (let (($x544 (or $x202 $x564 $x558)))
       
  4003 (let (($x557 (or (not (>= ?x30 0)) (= ?x32 ?x30))))
       
  4004 (let (($x205 (or $x202 $x557)))
       
  4005 (let ((@x566 (monotonicity (rewrite (= (>= ?x30 0) $x229)) (= (not (>= ?x30 0)) $x564))))
       
  4006 (let ((@x560 (monotonicity @x566 (rewrite (= (= ?x32 ?x30) $x558)) (= $x557 $x559))))
       
  4007 (let ((@x549 (trans (monotonicity @x560 (= $x205 (or $x202 $x559))) (rewrite (= (or $x202 $x559) $x544)) (= $x205 $x544))))
       
  4008 (let ((@x550 (mp ((_ quant-inst (+ 1 ?x29)) $x205) @x549 $x544)))
       
  4009 (let ((@x453 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x558) $x551)) (unit-resolution (unit-resolution @x550 @x583 $x559) @x468 $x558) $x551)))
       
  4010 (let (($x251 (not $x248)))
       
  4011 (let (($x535 (or $x251 $x532)))
       
  4012 (let (($x523 (or $x202 $x251 $x532)))
       
  4013 (let (($x541 (or (not (>= ?x44 0)) (= ?x50 ?x44))))
       
  4014 (let (($x524 (or $x202 $x541)))
       
  4015 (let ((@x531 (monotonicity (rewrite (= (>= ?x44 0) $x248)) (= (not (>= ?x44 0)) $x251))))
       
  4016 (let ((@x522 (monotonicity @x531 (rewrite (= (= ?x50 ?x44) $x532)) (= $x541 $x535))))
       
  4017 (let ((@x369 (trans (monotonicity @x522 (= $x524 (or $x202 $x535))) (rewrite (= (or $x202 $x535) $x523)) (= $x524 $x523))))
       
  4018 (let ((@x511 (mp ((_ quant-inst (+ ?x43 ?x32)) $x524) @x369 $x523)))
       
  4019 (let ((@x459 (unit-resolution (unit-resolution @x511 @x583 $x535) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x551) $x248)) @x453 $x248) $x532)))
       
  4020 (let (($x59 (<= ?x50 0)))
       
  4021 (let ((@x65 (monotonicity (rewrite (= (< 0 ?x50) (not $x59))) (= (not (< 0 ?x50)) (not (not $x59))))))
       
  4022 (let ((@x69 (trans @x65 (rewrite (= (not (not $x59)) $x59)) (= (not (< 0 ?x50)) $x59))))
       
  4023 (let (($x53 (< 0 ?x50)))
       
  4024 (let (($x56 (not $x53)))
       
  4025 (let (($x38 (not (< (* 0 ?x32) (of_nat$ (nat$ (- ?x32 ?x29)))))))
       
  4026 (let ((@x49 (monotonicity (rewrite (= (- ?x32 ?x29) ?x44)) (= (nat$ (- ?x32 ?x29)) ?x47))))
       
  4027 (let ((@x55 (monotonicity (rewrite (= (* 0 ?x32) 0)) (monotonicity @x49 (= (of_nat$ (nat$ (- ?x32 ?x29))) ?x50)) (= (< (* 0 ?x32) (of_nat$ (nat$ (- ?x32 ?x29)))) $x53))))
       
  4028 (let ((@x72 (mp (asserted $x38) (trans (monotonicity @x55 (= $x38 $x56)) @x69 (= $x38 $x59)) $x59)))
       
  4029 ((_ th-lemma arith farkas -1 -1 1) @x72 @x453 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x532) $x513)) @x459 $x513) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  4030 
       
  4031 5d99a07ea08069a53b86d7f3330815887331e82a 145 0
       
  4032 unsat
       
  4033 ((set-logic AUFLIA)
       
  4034 (proof
       
  4035 (let ((?x29 (of_nat$ y$)))
       
  4036 (let ((?x30 (+ 1 ?x29)))
       
  4037 (let ((?x31 (nat$ ?x30)))
       
  4038 (let ((?x32 (of_nat$ ?x31)))
       
  4039 (let ((?x48 (+ (- 1) ?x32)))
       
  4040 (let ((?x51 (nat$ ?x48)))
       
  4041 (let ((?x585 (of_nat$ ?x51)))
       
  4042 (let ((?x299 (* (- 1) ?x585)))
       
  4043 (let ((?x434 (+ ?x29 ?x299)))
       
  4044 (let (($x436 (>= ?x434 0)))
       
  4045 (let (($x558 (= ?x29 ?x585)))
       
  4046 (let (($x54 (= ?x51 y$)))
       
  4047 (let (($x88 (<= ?x32 0)))
       
  4048 (let (($x98 (not (or (= (not $x88) $x54) (not $x88)))))
       
  4049 (let (($x40 (=> (not (ite (< 0 ?x32) true false)) false)))
       
  4050 (let (($x33 (< 0 ?x32)))
       
  4051 (let (($x34 (ite $x33 true false)))
       
  4052 (let (($x38 (= $x34 (= (nat$ (- ?x32 1)) y$))))
       
  4053 (let (($x42 (or false (or $x38 $x40))))
       
  4054 (let (($x43 (not $x42)))
       
  4055 (let (($x60 (= $x33 $x54)))
       
  4056 (let (($x75 (or $x60 $x33)))
       
  4057 (let ((@x94 (monotonicity (rewrite (= $x33 (not $x88))) (= $x60 (= (not $x88) $x54)))))
       
  4058 (let ((@x97 (monotonicity @x94 (rewrite (= $x33 (not $x88))) (= $x75 (or (= (not $x88) $x54) (not $x88))))))
       
  4059 (let ((@x70 (monotonicity (monotonicity (rewrite (= $x34 $x33)) (= (not $x34) (not $x33))) (= $x40 (=> (not $x33) false)))))
       
  4060 (let ((@x74 (trans @x70 (rewrite (= (=> (not $x33) false) $x33)) (= $x40 $x33))))
       
  4061 (let ((@x53 (monotonicity (rewrite (= (- ?x32 1) ?x48)) (= (nat$ (- ?x32 1)) ?x51))))
       
  4062 (let ((@x59 (monotonicity (rewrite (= $x34 $x33)) (monotonicity @x53 (= (= (nat$ (- ?x32 1)) y$) $x54)) (= $x38 (= $x33 $x54)))))
       
  4063 (let ((@x77 (monotonicity (trans @x59 (rewrite (= (= $x33 $x54) $x60)) (= $x38 $x60)) @x74 (= (or $x38 $x40) $x75))))
       
  4064 (let ((@x84 (trans (monotonicity @x77 (= $x42 (or false $x75))) (rewrite (= (or false $x75) $x75)) (= $x42 $x75))))
       
  4065 (let ((@x102 (trans (monotonicity @x84 (= $x43 (not $x75))) (monotonicity @x97 (= (not $x75) $x98)) (= $x43 $x98))))
       
  4066 (let ((@x106 (not-or-elim (mp (asserted $x43) @x102 $x98) $x88)))
       
  4067 (let ((@x187 (monotonicity (iff-true @x106 (= $x88 true)) (= (= $x88 $x54) (= true $x54)))))
       
  4068 (let ((@x191 (trans @x187 (rewrite (= (= true $x54) $x54)) (= (= $x88 $x54) $x54))))
       
  4069 (let (($x173 (= $x88 $x54)))
       
  4070 (let ((@x105 (not-or-elim (mp (asserted $x43) @x102 $x98) (not (= (not $x88) $x54)))))
       
  4071 (let ((@x192 (mp (mp @x105 (rewrite (= (not (= (not $x88) $x54)) $x173)) $x173) @x191 $x54)))
       
  4072 (let ((@x457 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x558) $x436)) (monotonicity (symm @x192 (= y$ ?x51)) $x558) $x436)))
       
  4073 (let ((?x613 (* (- 1) ?x32)))
       
  4074 (let ((?x614 (+ ?x29 ?x613)))
       
  4075 (let (($x595 (<= ?x614 (- 1))))
       
  4076 (let (($x612 (= ?x614 (- 1))))
       
  4077 (let (($x610 (>= ?x29 (- 1))))
       
  4078 (let (($x557 (>= ?x585 0)))
       
  4079 (let (($x559 (= ?x585 0)))
       
  4080 (let (($x586 (>= ?x32 1)))
       
  4081 (let (($x589 (not $x586)))
       
  4082 (let (($x632 (forall ((?v0 Int) )(!(let ((?x115 (nat$ ?v0)))
       
  4083 (let ((?x116 (of_nat$ ?x115)))
       
  4084 (let (($x144 (= ?x116 0)))
       
  4085 (let (($x129 (>= ?v0 0)))
       
  4086 (or $x129 $x144))))) :pattern ( (nat$ ?v0) )))
       
  4087 ))
       
  4088 (let (($x167 (forall ((?v0 Int) )(let ((?x115 (nat$ ?v0)))
       
  4089 (let ((?x116 (of_nat$ ?x115)))
       
  4090 (let (($x144 (= ?x116 0)))
       
  4091 (let (($x129 (>= ?v0 0)))
       
  4092 (or $x129 $x144))))))
       
  4093 ))
       
  4094 (let ((?x115 (nat$ ?0)))
       
  4095 (let ((?x116 (of_nat$ ?x115)))
       
  4096 (let (($x144 (= ?x116 0)))
       
  4097 (let (($x129 (>= ?0 0)))
       
  4098 (let (($x164 (or $x129 $x144)))
       
  4099 (let (($x146 (forall ((?v0 Int) )(let ((?x115 (nat$ ?v0)))
       
  4100 (let ((?x116 (of_nat$ ?x115)))
       
  4101 (let (($x144 (= ?x116 0)))
       
  4102 (let (($x143 (< ?v0 0)))
       
  4103 (=> $x143 $x144))))))
       
  4104 ))
       
  4105 (let (($x152 (forall ((?v0 Int) )(let ((?x115 (nat$ ?v0)))
       
  4106 (let ((?x116 (of_nat$ ?x115)))
       
  4107 (let (($x144 (= ?x116 0)))
       
  4108 (let (($x143 (< ?v0 0)))
       
  4109 (let (($x148 (not $x143)))
       
  4110 (or $x148 $x144)))))))
       
  4111 ))
       
  4112 (let ((@x159 (monotonicity (rewrite (= (< ?0 0) (not $x129))) (= (not (< ?0 0)) (not (not $x129))))))
       
  4113 (let ((@x163 (trans @x159 (rewrite (= (not (not $x129)) $x129)) (= (not (< ?0 0)) $x129))))
       
  4114 (let ((@x169 (quant-intro (monotonicity @x163 (= (or (not (< ?0 0)) $x144) $x164)) (= $x152 $x167))))
       
  4115 (let ((@x151 (rewrite (= (=> (< ?0 0) $x144) (or (not (< ?0 0)) $x144)))))
       
  4116 (let ((@x172 (mp (asserted $x146) (trans (quant-intro @x151 (= $x146 $x152)) @x169 (= $x146 $x167)) $x167)))
       
  4117 (let ((@x637 (mp (mp~ @x172 (nnf-pos (refl (~ $x164 $x164)) (~ $x167 $x167)) $x167) (quant-intro (refl (= $x164 $x164)) (= $x167 $x632)) $x632)))
       
  4118 (let (($x601 (not $x632)))
       
  4119 (let (($x564 (or $x601 $x586 $x559)))
       
  4120 (let ((@x588 (rewrite (= (>= ?x48 0) $x586))))
       
  4121 (let ((@x394 (monotonicity (monotonicity @x588 (= (or (>= ?x48 0) $x559) (or $x586 $x559))) (= (or $x601 (or (>= ?x48 0) $x559)) (or $x601 (or $x586 $x559))))))
       
  4122 (let ((@x554 (trans @x394 (rewrite (= (or $x601 (or $x586 $x559)) $x564)) (= (or $x601 (or (>= ?x48 0) $x559)) $x564))))
       
  4123 (let ((@x555 (mp ((_ quant-inst (+ (- 1) ?x32)) (or $x601 (or (>= ?x48 0) $x559))) @x554 $x564)))
       
  4124 (let ((@x539 (unit-resolution @x555 @x637 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x589 (not $x88))) @x106 $x589) $x559)))
       
  4125 (let ((@x545 (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x610 (not $x557) (not $x436))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x559) $x557)) @x539 $x557) @x457 $x610)))
       
  4126 (let (($x605 (not $x610)))
       
  4127 (let (($x616 (or $x605 $x612)))
       
  4128 (let (($x626 (forall ((?v0 Int) )(!(let ((?x115 (nat$ ?v0)))
       
  4129 (let ((?x116 (of_nat$ ?x115)))
       
  4130 (let (($x117 (= ?x116 ?v0)))
       
  4131 (let (($x129 (>= ?v0 0)))
       
  4132 (let (($x131 (not $x129)))
       
  4133 (or $x131 $x117)))))) :pattern ( (nat$ ?v0) )))
       
  4134 ))
       
  4135 (let (($x137 (forall ((?v0 Int) )(let ((?x115 (nat$ ?v0)))
       
  4136 (let ((?x116 (of_nat$ ?x115)))
       
  4137 (let (($x117 (= ?x116 ?v0)))
       
  4138 (let (($x129 (>= ?v0 0)))
       
  4139 (let (($x131 (not $x129)))
       
  4140 (or $x131 $x117)))))))
       
  4141 ))
       
  4142 (let ((@x628 (refl (= (or (not $x129) (= ?x116 ?0)) (or (not $x129) (= ?x116 ?0))))))
       
  4143 (let ((@x185 (refl (~ (or (not $x129) (= ?x116 ?0)) (or (not $x129) (= ?x116 ?0))))))
       
  4144 (let (($x119 (forall ((?v0 Int) )(let ((?x115 (nat$ ?v0)))
       
  4145 (let ((?x116 (of_nat$ ?x115)))
       
  4146 (let (($x117 (= ?x116 ?v0)))
       
  4147 (let (($x114 (<= 0 ?v0)))
       
  4148 (=> $x114 $x117))))))
       
  4149 ))
       
  4150 (let (($x125 (forall ((?v0 Int) )(let ((?x115 (nat$ ?v0)))
       
  4151 (let ((?x116 (of_nat$ ?x115)))
       
  4152 (let (($x117 (= ?x116 ?v0)))
       
  4153 (or (not (<= 0 ?v0)) $x117)))))
       
  4154 ))
       
  4155 (let (($x117 (= ?x116 ?0)))
       
  4156 (let (($x131 (not $x129)))
       
  4157 (let (($x134 (or $x131 $x117)))
       
  4158 (let (($x122 (or (not (<= 0 ?0)) $x117)))
       
  4159 (let ((@x133 (monotonicity (rewrite (= (<= 0 ?0) $x129)) (= (not (<= 0 ?0)) $x131))))
       
  4160 (let ((@x127 (quant-intro (rewrite (= (=> (<= 0 ?0) $x117) $x122)) (= $x119 $x125))))
       
  4161 (let ((@x141 (trans @x127 (quant-intro (monotonicity @x133 (= $x122 $x134)) (= $x125 $x137)) (= $x119 $x137))))
       
  4162 (let ((@x196 (mp~ (mp (asserted $x119) @x141 $x137) (nnf-pos @x185 (~ $x137 $x137)) $x137)))
       
  4163 (let ((@x631 (mp @x196 (quant-intro @x628 (= $x137 $x626)) $x626)))
       
  4164 (let (($x269 (not $x626)))
       
  4165 (let (($x607 (or $x269 $x605 $x612)))
       
  4166 (let (($x273 (= ?x32 ?x30)))
       
  4167 (let (($x291 (>= ?x30 0)))
       
  4168 (let (($x292 (not $x291)))
       
  4169 (let (($x609 (or $x292 $x273)))
       
  4170 (let (($x271 (or $x269 $x609)))
       
  4171 (let ((@x268 (monotonicity (monotonicity (rewrite (= $x291 $x610)) (= $x292 $x605)) (rewrite (= $x273 $x612)) (= $x609 $x616))))
       
  4172 (let ((@x593 (trans (monotonicity @x268 (= $x271 (or $x269 $x616))) (rewrite (= (or $x269 $x616) $x607)) (= $x271 $x607))))
       
  4173 (let ((@x594 (mp ((_ quant-inst (+ 1 ?x29)) $x271) @x593 $x607)))
       
  4174 (let ((@x538 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x612) $x595)) (unit-resolution (unit-resolution @x594 @x631 $x616) @x545 $x612) $x595)))
       
  4175 ((_ th-lemma arith farkas 1 -1 -1 1) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x559) $x557)) @x539 $x557) @x106 @x538 @x457 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  4176 
       
  4177 8704d70b06a6aa746ec0e023752eaa0b7eb0df18 78 0
       
  4178 unsat
       
  4179 ((set-logic AUFLIA)
       
  4180 (proof
       
  4181 (let ((?x37 (* (- 1) x$)))
       
  4182 (let (($x55 (>= x$ 0)))
       
  4183 (let ((?x62 (ite $x55 x$ ?x37)))
       
  4184 (let ((?x554 (* (- 1) ?x62)))
       
  4185 (let ((?x217 (+ ?x37 ?x554)))
       
  4186 (let (($x562 (<= ?x217 0)))
       
  4187 (let (($x249 (= ?x37 ?x62)))
       
  4188 (let (($x56 (not $x55)))
       
  4189 (let (($x163 (= x$ ?x62)))
       
  4190 (let ((@x559 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x163) (<= (+ x$ ?x554) 0))) (unit-resolution (def-axiom (or $x56 $x163)) (hypothesis $x55) $x163) (<= (+ x$ ?x554) 0))))
       
  4191 (let (($x254 (>= ?x62 0)))
       
  4192 (let (($x255 (not $x254)))
       
  4193 (let (($x588 (forall ((?v0 Int) )(!(let ((?x90 (nat$ ?v0)))
       
  4194 (let ((?x91 (of_nat$ ?x90)))
       
  4195 (let (($x92 (= ?x91 ?v0)))
       
  4196 (let (($x104 (>= ?v0 0)))
       
  4197 (let (($x106 (not $x104)))
       
  4198 (or $x106 $x92)))))) :pattern ( (nat$ ?v0) )))
       
  4199 ))
       
  4200 (let (($x112 (forall ((?v0 Int) )(let ((?x90 (nat$ ?v0)))
       
  4201 (let ((?x91 (of_nat$ ?x90)))
       
  4202 (let (($x92 (= ?x91 ?v0)))
       
  4203 (let (($x104 (>= ?v0 0)))
       
  4204 (let (($x106 (not $x104)))
       
  4205 (or $x106 $x92)))))))
       
  4206 ))
       
  4207 (let ((?x90 (nat$ ?0)))
       
  4208 (let ((?x91 (of_nat$ ?x90)))
       
  4209 (let (($x92 (= ?x91 ?0)))
       
  4210 (let (($x104 (>= ?0 0)))
       
  4211 (let (($x106 (not $x104)))
       
  4212 (let (($x109 (or $x106 $x92)))
       
  4213 (let (($x94 (forall ((?v0 Int) )(let ((?x90 (nat$ ?v0)))
       
  4214 (let ((?x91 (of_nat$ ?x90)))
       
  4215 (let (($x92 (= ?x91 ?v0)))
       
  4216 (let (($x89 (<= 0 ?v0)))
       
  4217 (=> $x89 $x92))))))
       
  4218 ))
       
  4219 (let (($x100 (forall ((?v0 Int) )(let ((?x90 (nat$ ?v0)))
       
  4220 (let ((?x91 (of_nat$ ?x90)))
       
  4221 (let (($x92 (= ?x91 ?v0)))
       
  4222 (or (not (<= 0 ?v0)) $x92)))))
       
  4223 ))
       
  4224 (let ((@x108 (monotonicity (rewrite (= (<= 0 ?0) $x104)) (= (not (<= 0 ?0)) $x106))))
       
  4225 (let ((@x114 (quant-intro (monotonicity @x108 (= (or (not (<= 0 ?0)) $x92) $x109)) (= $x100 $x112))))
       
  4226 (let ((@x99 (rewrite (= (=> (<= 0 ?0) $x92) (or (not (<= 0 ?0)) $x92)))))
       
  4227 (let ((@x117 (mp (asserted $x94) (trans (quant-intro @x99 (= $x94 $x100)) @x114 (= $x94 $x112)) $x112)))
       
  4228 (let ((@x593 (mp (mp~ @x117 (nnf-pos (refl (~ $x109 $x109)) (~ $x112 $x112)) $x112) (quant-intro (refl (= $x109 $x109)) (= $x112 $x588)) $x588)))
       
  4229 (let ((?x67 (nat$ ?x62)))
       
  4230 (let ((?x70 (of_nat$ ?x67)))
       
  4231 (let (($x73 (= ?x70 ?x62)))
       
  4232 (let (($x76 (not $x73)))
       
  4233 (let (($x28 (< x$ 0)))
       
  4234 (let ((?x30 (ite $x28 (- x$) x$)))
       
  4235 (let (($x34 (not (= (of_nat$ (nat$ ?x30)) ?x30))))
       
  4236 (let (($x77 (= (not (= (of_nat$ (nat$ (ite $x28 ?x37 x$))) (ite $x28 ?x37 x$))) $x76)))
       
  4237 (let ((?x40 (ite $x28 ?x37 x$)))
       
  4238 (let ((?x43 (nat$ ?x40)))
       
  4239 (let ((?x46 (of_nat$ ?x43)))
       
  4240 (let (($x49 (= ?x46 ?x40)))
       
  4241 (let ((@x66 (trans (monotonicity (rewrite (= $x28 $x56)) (= ?x40 (ite $x56 ?x37 x$))) (rewrite (= (ite $x56 ?x37 x$) ?x62)) (= ?x40 ?x62))))
       
  4242 (let ((@x75 (monotonicity (monotonicity (monotonicity @x66 (= ?x43 ?x67)) (= ?x46 ?x70)) @x66 (= $x49 $x73))))
       
  4243 (let ((@x45 (monotonicity (monotonicity (rewrite (= (- x$) ?x37)) (= ?x30 ?x40)) (= (nat$ ?x30) ?x43))))
       
  4244 (let ((@x51 (monotonicity (monotonicity @x45 (= (of_nat$ (nat$ ?x30)) ?x46)) (monotonicity (rewrite (= (- x$) ?x37)) (= ?x30 ?x40)) (= (= (of_nat$ (nat$ ?x30)) ?x30) $x49))))
       
  4245 (let ((@x80 (trans (monotonicity @x51 (= $x34 (not $x49))) (monotonicity @x75 $x77) (= $x34 $x76))))
       
  4246 (let ((@x81 (mp (asserted $x34) @x80 $x76)))
       
  4247 (let (($x239 (or (not $x588) $x255 $x73)))
       
  4248 (let ((@x576 (mp ((_ quant-inst (ite $x55 x$ ?x37)) (or (not $x588) (or $x255 $x73))) (rewrite (= (or (not $x588) (or $x255 $x73)) $x239)) $x239)))
       
  4249 (let ((@x561 ((_ th-lemma arith farkas -1 1 1) (hypothesis $x55) (unit-resolution @x576 @x81 @x593 $x255) @x559 false)))
       
  4250 (let ((@x198 (lemma @x561 $x56)))
       
  4251 (let ((@x566 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x249) $x562)) (unit-resolution (def-axiom (or $x55 $x249)) @x198 $x249) $x562)))
       
  4252 (let (($x578 (<= ?x62 0)))
       
  4253 (let ((@x257 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x578 $x254)) (unit-resolution @x576 @x81 @x593 $x255) $x578)))
       
  4254 ((_ th-lemma arith farkas 1 1 1) @x257 @x198 @x566 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  4255 
       
  4256 ce85402875b83dc2f06a381810d29a2061933b9f 312 0
       
  4257 unsat
       
  4258 ((set-logic AUFLIA)
       
  4259 (declare-fun ?v1!0 (Nat$) Nat$)
       
  4260 (proof
       
  4261 (let ((?x89 (of_nat$ m$)))
       
  4262 (let ((?x90 (* 4 ?x89)))
       
  4263 (let ((?x98 (+ 1 ?x90)))
       
  4264 (let ((?x101 (nat$ ?x98)))
       
  4265 (let ((?x295 (of_nat$ ?x101)))
       
  4266 (let ((?x598 (* (- 1) ?x295)))
       
  4267 (let ((?x599 (+ ?x90 ?x598)))
       
  4268 (let (($x574 (>= ?x599 (- 1))))
       
  4269 (let (($x597 (= ?x599 (- 1))))
       
  4270 (let (($x610 (>= ?x89 0)))
       
  4271 (let (($x380 (<= ?x295 1)))
       
  4272 (let (($x687 (not $x380)))
       
  4273 (let (($x701 (forall ((?v1 Nat$) )(!(let ((?x89 (of_nat$ m$)))
       
  4274 (let ((?x90 (* 4 ?x89)))
       
  4275 (let ((?x98 (+ 1 ?x90)))
       
  4276 (let ((?x101 (nat$ ?x98)))
       
  4277 (let (($x382 (= ?v1 ?x101)))
       
  4278 (let ((?x34 (nat$ 1)))
       
  4279 (let (($x35 (= ?v1 ?x34)))
       
  4280 (let (($x381 (dvd$ ?v1 ?x101)))
       
  4281 (let (($x371 (not $x381)))
       
  4282 (or $x371 $x35 $x382)))))))))) :pattern ( (dvd$ ?v1 (nat$ (+ 1 (* 4 (of_nat$ m$))))) )))
       
  4283 ))
       
  4284 (let (($x702 (not $x701)))
       
  4285 (let (($x357 (or $x380 $x702)))
       
  4286 (let (($x487 (not $x357)))
       
  4287 (let (($x104 (prime_nat$ ?x101)))
       
  4288 (let (($x110 (not $x104)))
       
  4289 (let (($x697 (or $x110 $x487)))
       
  4290 (let ((?x703 (?v1!0 ?x101)))
       
  4291 (let (($x707 (= ?x703 ?x101)))
       
  4292 (let ((?x34 (nat$ 1)))
       
  4293 (let (($x706 (= ?x703 ?x34)))
       
  4294 (let (($x704 (dvd$ ?x703 ?x101)))
       
  4295 (let (($x705 (not $x704)))
       
  4296 (let (($x708 (or $x705 $x706 $x707)))
       
  4297 (let (($x698 (not $x708)))
       
  4298 (let (($x360 (or $x104 $x380 $x698)))
       
  4299 (let (($x700 (not $x360)))
       
  4300 (let (($x369 (not $x697)))
       
  4301 (let (($x342 (or $x369 $x700)))
       
  4302 (let (($x684 (not $x342)))
       
  4303 (let (($x738 (forall ((?v0 Nat$) )(!(let (($x219 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (nat$ 1)) (= (?v1!0 ?v0) ?v0))))
       
  4304 (let (($x220 (not $x219)))
       
  4305 (let ((?x30 (of_nat$ ?v0)))
       
  4306 (let (($x65 (<= ?x30 1)))
       
  4307 (let (($x28 (prime_nat$ ?v0)))
       
  4308 (let (($x245 (or $x28 $x65 $x220)))
       
  4309 (let (($x710 (forall ((?v1 Nat$) )(!(let ((?x34 (nat$ 1)))
       
  4310 (let (($x35 (= ?v1 ?x34)))
       
  4311 (or (not (dvd$ ?v1 ?v0)) $x35 (= ?v1 ?v0)))) :pattern ( (dvd$ ?v1 ?v0) )))
       
  4312 ))
       
  4313 (let (($x200 (not $x28)))
       
  4314 (not (or (not (or $x200 (not (or $x65 (not $x710))))) (not $x245))))))))))) :pattern ( (prime_nat$ ?v0) ) :pattern ( (of_nat$ ?v0) )))
       
  4315 ))
       
  4316 (let (($x290 (forall ((?v0 Nat$) )(let (($x219 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (nat$ 1)) (= (?v1!0 ?v0) ?v0))))
       
  4317 (let (($x220 (not $x219)))
       
  4318 (let ((?x30 (of_nat$ ?v0)))
       
  4319 (let (($x65 (<= ?x30 1)))
       
  4320 (let (($x28 (prime_nat$ ?v0)))
       
  4321 (let (($x245 (or $x28 $x65 $x220)))
       
  4322 (let (($x72 (forall ((?v1 Nat$) )(let ((?x34 (nat$ 1)))
       
  4323 (let (($x35 (= ?v1 ?x34)))
       
  4324 (or (not (dvd$ ?v1 ?v0)) $x35 (= ?v1 ?v0)))))
       
  4325 ))
       
  4326 (let (($x221 (not $x72)))
       
  4327 (let (($x273 (not (or $x65 $x221))))
       
  4328 (let (($x200 (not $x28)))
       
  4329 (let (($x276 (or $x200 $x273)))
       
  4330 (not (or (not $x276) (not $x245)))))))))))))))
       
  4331 ))
       
  4332 (let (($x219 (or (not (dvd$ (?v1!0 ?0) ?0)) (= (?v1!0 ?0) ?x34) (= (?v1!0 ?0) ?0))))
       
  4333 (let (($x220 (not $x219)))
       
  4334 (let ((?x30 (of_nat$ ?0)))
       
  4335 (let (($x65 (<= ?x30 1)))
       
  4336 (let (($x28 (prime_nat$ ?0)))
       
  4337 (let (($x245 (or $x28 $x65 $x220)))
       
  4338 (let (($x710 (forall ((?v1 Nat$) )(!(let ((?x34 (nat$ 1)))
       
  4339 (let (($x35 (= ?v1 ?x34)))
       
  4340 (or (not (dvd$ ?v1 ?0)) $x35 (= ?v1 ?0)))) :pattern ( (dvd$ ?v1 ?0) )))
       
  4341 ))
       
  4342 (let (($x200 (not $x28)))
       
  4343 (let (($x72 (forall ((?v1 Nat$) )(let ((?x34 (nat$ 1)))
       
  4344 (let (($x35 (= ?v1 ?x34)))
       
  4345 (or (not (dvd$ ?v1 ?0)) $x35 (= ?v1 ?0)))))
       
  4346 ))
       
  4347 (let (($x221 (not $x72)))
       
  4348 (let (($x273 (not (or $x65 $x221))))
       
  4349 (let (($x276 (or $x200 $x273)))
       
  4350 (let (($x285 (not (or (not $x276) (not $x245)))))
       
  4351 (let (($x734 (= $x285 (not (or (not (or $x200 (not (or $x65 (not $x710))))) (not $x245))))))
       
  4352 (let (($x731 (= (or (not $x276) (not $x245)) (or (not (or $x200 (not (or $x65 (not $x710))))) (not $x245)))))
       
  4353 (let (($x35 (= ?0 ?x34)))
       
  4354 (let (($x69 (or (not (dvd$ ?0 ?1)) $x35 (= ?0 ?1))))
       
  4355 (let ((@x717 (monotonicity (quant-intro (refl (= $x69 $x69)) (= $x72 $x710)) (= $x221 (not $x710)))))
       
  4356 (let ((@x723 (monotonicity (monotonicity @x717 (= (or $x65 $x221) (or $x65 (not $x710)))) (= $x273 (not (or $x65 (not $x710)))))))
       
  4357 (let ((@x729 (monotonicity (monotonicity @x723 (= $x276 (or $x200 (not (or $x65 (not $x710)))))) (= (not $x276) (not (or $x200 (not (or $x65 (not $x710)))))))))
       
  4358 (let ((@x740 (quant-intro (monotonicity (monotonicity @x729 $x731) $x734) (= $x290 $x738))))
       
  4359 (let (($x253 (forall ((?v0 Nat$) )(let (($x219 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (nat$ 1)) (= (?v1!0 ?v0) ?v0))))
       
  4360 (let (($x220 (not $x219)))
       
  4361 (let ((?x30 (of_nat$ ?v0)))
       
  4362 (let (($x65 (<= ?x30 1)))
       
  4363 (let (($x28 (prime_nat$ ?v0)))
       
  4364 (let (($x245 (or $x28 $x65 $x220)))
       
  4365 (let (($x72 (forall ((?v1 Nat$) )(let ((?x34 (nat$ 1)))
       
  4366 (let (($x35 (= ?v1 ?x34)))
       
  4367 (or (not (dvd$ ?v1 ?v0)) $x35 (= ?v1 ?v0)))))
       
  4368 ))
       
  4369 (let (($x66 (not $x65)))
       
  4370 (let (($x75 (and $x66 $x72)))
       
  4371 (let (($x200 (not $x28)))
       
  4372 (let (($x229 (or $x200 $x75)))
       
  4373 (and $x229 $x245)))))))))))))
       
  4374 ))
       
  4375 (let ((@x278 (monotonicity (rewrite (= (and (not $x65) $x72) $x273)) (= (or $x200 (and (not $x65) $x72)) $x276))))
       
  4376 (let ((@x281 (monotonicity @x278 (= (and (or $x200 (and (not $x65) $x72)) $x245) (and $x276 $x245)))))
       
  4377 (let ((@x289 (trans @x281 (rewrite (= (and $x276 $x245) $x285)) (= (and (or $x200 (and (not $x65) $x72)) $x245) $x285))))
       
  4378 (let (($x233 (forall ((?v0 Nat$) )(let (($x219 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (?v1!0 ?v0) (nat$ 1)) (= (?v1!0 ?v0) ?v0))))
       
  4379 (let (($x220 (not $x219)))
       
  4380 (let ((?x30 (of_nat$ ?v0)))
       
  4381 (let (($x65 (<= ?x30 1)))
       
  4382 (let (($x66 (not $x65)))
       
  4383 (let (($x211 (not $x66)))
       
  4384 (let (($x224 (or $x211 $x220)))
       
  4385 (let (($x28 (prime_nat$ ?v0)))
       
  4386 (let (($x228 (or $x28 $x224)))
       
  4387 (let (($x72 (forall ((?v1 Nat$) )(let ((?x34 (nat$ 1)))
       
  4388 (let (($x35 (= ?v1 ?x34)))
       
  4389 (or (not (dvd$ ?v1 ?v0)) $x35 (= ?v1 ?v0)))))
       
  4390 ))
       
  4391 (let (($x75 (and $x66 $x72)))
       
  4392 (let (($x200 (not $x28)))
       
  4393 (let (($x229 (or $x200 $x75)))
       
  4394 (and $x229 $x228)))))))))))))))
       
  4395 ))
       
  4396 (let (($x66 (not $x65)))
       
  4397 (let (($x75 (and $x66 $x72)))
       
  4398 (let (($x229 (or $x200 $x75)))
       
  4399 (let (($x250 (and $x229 $x245)))
       
  4400 (let (($x211 (not $x66)))
       
  4401 (let (($x224 (or $x211 $x220)))
       
  4402 (let (($x228 (or $x28 $x224)))
       
  4403 (let (($x230 (and $x229 $x228)))
       
  4404 (let ((@x244 (monotonicity (monotonicity (rewrite (= $x211 $x65)) (= $x224 (or $x65 $x220))) (= $x228 (or $x28 (or $x65 $x220))))))
       
  4405 (let ((@x249 (trans @x244 (rewrite (= (or $x28 (or $x65 $x220)) $x245)) (= $x228 $x245))))
       
  4406 (let (($x81 (forall ((?v0 Nat$) )(let (($x72 (forall ((?v1 Nat$) )(let ((?x34 (nat$ 1)))
       
  4407 (let (($x35 (= ?v1 ?x34)))
       
  4408 (or (not (dvd$ ?v1 ?v0)) $x35 (= ?v1 ?v0)))))
       
  4409 ))
       
  4410 (let ((?x30 (of_nat$ ?v0)))
       
  4411 (let (($x65 (<= ?x30 1)))
       
  4412 (let (($x66 (not $x65)))
       
  4413 (let (($x75 (and $x66 $x72)))
       
  4414 (let (($x28 (prime_nat$ ?v0)))
       
  4415 (= $x28 $x75))))))))
       
  4416 ))
       
  4417 (let ((@x227 (nnf-neg (refl (~ $x211 $x211)) (sk (~ $x221 $x220)) (~ (not $x75) $x224))))
       
  4418 (let ((@x210 (monotonicity (refl (~ $x66 $x66)) (nnf-pos (refl (~ $x69 $x69)) (~ $x72 $x72)) (~ $x75 $x75))))
       
  4419 (let ((@x232 (nnf-pos (refl (~ $x28 $x28)) (refl (~ $x200 $x200)) @x210 @x227 (~ (= $x28 $x75) $x230))))
       
  4420 (let (($x42 (forall ((?v0 Nat$) )(let (($x39 (forall ((?v1 Nat$) )(let (($x33 (dvd$ ?v1 ?v0)))
       
  4421 (=> $x33 (or (= ?v1 (nat$ 1)) (= ?v1 ?v0)))))
       
  4422 ))
       
  4423 (let ((?x30 (of_nat$ ?v0)))
       
  4424 (let (($x31 (< 1 ?x30)))
       
  4425 (let (($x28 (prime_nat$ ?v0)))
       
  4426 (= $x28 (and $x31 $x39)))))))
       
  4427 ))
       
  4428 (let (($x62 (forall ((?v0 Nat$) )(let (($x48 (forall ((?v1 Nat$) )(or (not (dvd$ ?v1 ?v0)) (or (= ?v1 (nat$ 1)) (= ?v1 ?v0))))
       
  4429 ))
       
  4430 (let ((?x30 (of_nat$ ?v0)))
       
  4431 (let (($x31 (< 1 ?x30)))
       
  4432 (let (($x51 (and $x31 $x48)))
       
  4433 (let (($x28 (prime_nat$ ?v0)))
       
  4434 (= $x28 $x51)))))))
       
  4435 ))
       
  4436 (let (($x78 (= $x28 $x75)))
       
  4437 (let (($x48 (forall ((?v1 Nat$) )(or (not (dvd$ ?v1 ?0)) (or (= ?v1 (nat$ 1)) (= ?v1 ?0))))
       
  4438 ))
       
  4439 (let (($x31 (< 1 ?x30)))
       
  4440 (let (($x51 (and $x31 $x48)))
       
  4441 (let (($x57 (= $x28 $x51)))
       
  4442 (let ((@x71 (rewrite (= (or (not (dvd$ ?0 ?1)) (or $x35 (= ?0 ?1))) $x69))))
       
  4443 (let ((@x77 (monotonicity (rewrite (= $x31 $x66)) (quant-intro @x71 (= $x48 $x72)) (= $x51 $x75))))
       
  4444 (let (($x39 (forall ((?v1 Nat$) )(let (($x33 (dvd$ ?v1 ?0)))
       
  4445 (=> $x33 (or (= ?v1 (nat$ 1)) (= ?v1 ?0)))))
       
  4446 ))
       
  4447 (let (($x41 (= $x28 (and $x31 $x39))))
       
  4448 (let (($x45 (or (not (dvd$ ?0 ?1)) (or $x35 (= ?0 ?1)))))
       
  4449 (let ((@x50 (quant-intro (rewrite (= (=> (dvd$ ?0 ?1) (or $x35 (= ?0 ?1))) $x45)) (= $x39 $x48))))
       
  4450 (let ((@x56 (monotonicity (monotonicity @x50 (= (and $x31 $x39) $x51)) (= $x41 (= $x28 $x51)))))
       
  4451 (let ((@x64 (quant-intro (trans @x56 (rewrite (= (= $x28 $x51) $x57)) (= $x41 $x57)) (= $x42 $x62))))
       
  4452 (let ((@x85 (trans @x64 (quant-intro (monotonicity @x77 (= $x57 $x78)) (= $x62 $x81)) (= $x42 $x81))))
       
  4453 (let ((@x236 (mp~ (mp (asserted $x42) @x85 $x81) (nnf-pos @x232 (~ $x81 $x233)) $x233)))
       
  4454 (let ((@x256 (mp @x236 (quant-intro (monotonicity @x249 (= $x230 $x250)) (= $x233 $x253)) $x253)))
       
  4455 (let ((@x741 (mp (mp @x256 (quant-intro @x289 (= $x253 $x290)) $x290) @x740 $x738)))
       
  4456 (let (($x348 (or (not $x738) $x684)))
       
  4457 (let ((@x685 ((_ quant-inst (nat$ ?x98)) $x348)))
       
  4458 (let ((@x569 (unit-resolution (def-axiom (or $x342 $x697)) (unit-resolution @x685 @x741 $x684) $x697)))
       
  4459 (let (($x125 (not (or $x110 (>= ?x89 1)))))
       
  4460 (let (($x94 (<= 1 ?x89)))
       
  4461 (let (($x95 (=> (prime_nat$ (nat$ (+ ?x90 1))) $x94)))
       
  4462 (let (($x96 (not $x95)))
       
  4463 (let ((@x124 (monotonicity (rewrite (= $x94 (>= ?x89 1))) (= (or $x110 $x94) (or $x110 (>= ?x89 1))))))
       
  4464 (let ((@x103 (monotonicity (rewrite (= (+ ?x90 1) ?x98)) (= (nat$ (+ ?x90 1)) ?x101))))
       
  4465 (let ((@x109 (monotonicity (monotonicity @x103 (= (prime_nat$ (nat$ (+ ?x90 1))) $x104)) (= $x95 (=> $x104 $x94)))))
       
  4466 (let ((@x115 (trans @x109 (rewrite (= (=> $x104 $x94) (or $x110 $x94))) (= $x95 (or $x110 $x94)))))
       
  4467 (let ((@x129 (trans (monotonicity @x115 (= $x96 (not (or $x110 $x94)))) (monotonicity @x124 (= (not (or $x110 $x94)) $x125)) (= $x96 $x125))))
       
  4468 (let ((@x131 (not-or-elim (mp (asserted $x96) @x129 $x125) $x104)))
       
  4469 (let ((@x572 (unit-resolution (unit-resolution (def-axiom (or $x369 $x110 $x487)) @x131 (or $x369 $x487)) @x569 $x487)))
       
  4470 (let ((@x530 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not (<= ?x295 0)) $x380)) (unit-resolution (def-axiom (or $x357 $x687)) @x572 $x687) (not (<= ?x295 0)))))
       
  4471 (let ((@x561 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x295 0)) (<= ?x295 0))) @x530 (not (= ?x295 0)))))
       
  4472 (let (($x575 (= ?x295 0)))
       
  4473 (let (($x577 (or $x610 $x575)))
       
  4474 (let (($x756 (forall ((?v0 Int) )(!(let ((?x140 (nat$ ?v0)))
       
  4475 (let ((?x141 (of_nat$ ?x140)))
       
  4476 (let (($x169 (= ?x141 0)))
       
  4477 (let (($x155 (>= ?v0 0)))
       
  4478 (or $x155 $x169))))) :pattern ( (nat$ ?v0) )))
       
  4479 ))
       
  4480 (let (($x192 (forall ((?v0 Int) )(let ((?x140 (nat$ ?v0)))
       
  4481 (let ((?x141 (of_nat$ ?x140)))
       
  4482 (let (($x169 (= ?x141 0)))
       
  4483 (let (($x155 (>= ?v0 0)))
       
  4484 (or $x155 $x169))))))
       
  4485 ))
       
  4486 (let ((?x140 (nat$ ?0)))
       
  4487 (let ((?x141 (of_nat$ ?x140)))
       
  4488 (let (($x169 (= ?x141 0)))
       
  4489 (let (($x155 (>= ?0 0)))
       
  4490 (let (($x189 (or $x155 $x169)))
       
  4491 (let (($x171 (forall ((?v0 Int) )(let ((?x140 (nat$ ?v0)))
       
  4492 (let ((?x141 (of_nat$ ?x140)))
       
  4493 (let (($x169 (= ?x141 0)))
       
  4494 (let (($x168 (< ?v0 0)))
       
  4495 (=> $x168 $x169))))))
       
  4496 ))
       
  4497 (let (($x177 (forall ((?v0 Int) )(let ((?x140 (nat$ ?v0)))
       
  4498 (let ((?x141 (of_nat$ ?x140)))
       
  4499 (let (($x169 (= ?x141 0)))
       
  4500 (let (($x168 (< ?v0 0)))
       
  4501 (let (($x173 (not $x168)))
       
  4502 (or $x173 $x169)))))))
       
  4503 ))
       
  4504 (let ((@x184 (monotonicity (rewrite (= (< ?0 0) (not $x155))) (= (not (< ?0 0)) (not (not $x155))))))
       
  4505 (let ((@x188 (trans @x184 (rewrite (= (not (not $x155)) $x155)) (= (not (< ?0 0)) $x155))))
       
  4506 (let ((@x194 (quant-intro (monotonicity @x188 (= (or (not (< ?0 0)) $x169) $x189)) (= $x177 $x192))))
       
  4507 (let ((@x176 (rewrite (= (=> (< ?0 0) $x169) (or (not (< ?0 0)) $x169)))))
       
  4508 (let ((@x197 (mp (asserted $x171) (trans (quant-intro @x176 (= $x171 $x177)) @x194 (= $x171 $x192)) $x192)))
       
  4509 (let ((@x761 (mp (mp~ @x197 (nnf-pos (refl (~ $x189 $x189)) (~ $x192 $x192)) $x192) (quant-intro (refl (= $x189 $x189)) (= $x192 $x756)) $x756)))
       
  4510 (let (($x580 (not $x756)))
       
  4511 (let (($x581 (or $x580 $x610 $x575)))
       
  4512 (let ((@x612 (rewrite (= (>= ?x98 0) $x610))))
       
  4513 (let ((@x579 (monotonicity @x612 (= (or (>= ?x98 0) $x575) $x577))))
       
  4514 (let ((@x555 (monotonicity @x579 (= (or $x580 (or (>= ?x98 0) $x575)) (or $x580 $x577)))))
       
  4515 (let ((@x564 (trans @x555 (rewrite (= (or $x580 $x577) $x581)) (= (or $x580 (or (>= ?x98 0) $x575)) $x581))))
       
  4516 (let ((@x565 (mp ((_ quant-inst (+ 1 ?x90)) (or $x580 (or (>= ?x98 0) $x575))) @x564 $x581)))
       
  4517 (let (($x613 (not $x610)))
       
  4518 (let (($x600 (or $x613 $x597)))
       
  4519 (let (($x750 (forall ((?v0 Int) )(!(let ((?x140 (nat$ ?v0)))
       
  4520 (let ((?x141 (of_nat$ ?x140)))
       
  4521 (let (($x142 (= ?x141 ?v0)))
       
  4522 (let (($x155 (>= ?v0 0)))
       
  4523 (let (($x156 (not $x155)))
       
  4524 (or $x156 $x142)))))) :pattern ( (nat$ ?v0) )))
       
  4525 ))
       
  4526 (let (($x162 (forall ((?v0 Int) )(let ((?x140 (nat$ ?v0)))
       
  4527 (let ((?x141 (of_nat$ ?x140)))
       
  4528 (let (($x142 (= ?x141 ?v0)))
       
  4529 (let (($x155 (>= ?v0 0)))
       
  4530 (let (($x156 (not $x155)))
       
  4531 (or $x156 $x142)))))))
       
  4532 ))
       
  4533 (let ((@x752 (refl (= (or (not $x155) (= ?x141 ?0)) (or (not $x155) (= ?x141 ?0))))))
       
  4534 (let ((@x263 (refl (~ (or (not $x155) (= ?x141 ?0)) (or (not $x155) (= ?x141 ?0))))))
       
  4535 (let (($x144 (forall ((?v0 Int) )(let ((?x140 (nat$ ?v0)))
       
  4536 (let ((?x141 (of_nat$ ?x140)))
       
  4537 (let (($x142 (= ?x141 ?v0)))
       
  4538 (let (($x139 (<= 0 ?v0)))
       
  4539 (=> $x139 $x142))))))
       
  4540 ))
       
  4541 (let (($x150 (forall ((?v0 Int) )(let ((?x140 (nat$ ?v0)))
       
  4542 (let ((?x141 (of_nat$ ?x140)))
       
  4543 (let (($x142 (= ?x141 ?v0)))
       
  4544 (or (not (<= 0 ?v0)) $x142)))))
       
  4545 ))
       
  4546 (let (($x142 (= ?x141 ?0)))
       
  4547 (let (($x156 (not $x155)))
       
  4548 (let (($x159 (or $x156 $x142)))
       
  4549 (let (($x147 (or (not (<= 0 ?0)) $x142)))
       
  4550 (let ((@x158 (monotonicity (rewrite (= (<= 0 ?0) $x155)) (= (not (<= 0 ?0)) $x156))))
       
  4551 (let ((@x152 (quant-intro (rewrite (= (=> (<= 0 ?0) $x142) $x147)) (= $x144 $x150))))
       
  4552 (let ((@x166 (trans @x152 (quant-intro (monotonicity @x158 (= $x147 $x159)) (= $x150 $x162)) (= $x144 $x162))))
       
  4553 (let ((@x266 (mp~ (mp (asserted $x144) @x166 $x162) (nnf-pos @x263 (~ $x162 $x162)) $x162)))
       
  4554 (let ((@x755 (mp @x266 (quant-intro @x752 (= $x162 $x750)) $x750)))
       
  4555 (let (($x603 (not $x750)))
       
  4556 (let (($x604 (or $x603 $x613 $x597)))
       
  4557 (let (($x608 (= ?x295 ?x98)))
       
  4558 (let (($x618 (>= ?x98 0)))
       
  4559 (let (($x619 (not $x618)))
       
  4560 (let (($x609 (or $x619 $x608)))
       
  4561 (let (($x605 (or $x603 $x609)))
       
  4562 (let ((@x602 (monotonicity (monotonicity @x612 (= $x619 $x613)) (rewrite (= $x608 $x597)) (= $x609 $x600))))
       
  4563 (let ((@x590 (trans (monotonicity @x602 (= $x605 (or $x603 $x600))) (rewrite (= (or $x603 $x600) $x604)) (= $x605 $x604))))
       
  4564 (let ((@x591 (mp ((_ quant-inst (+ 1 ?x90)) $x605) @x590 $x604)))
       
  4565 (let ((@x532 (unit-resolution (unit-resolution @x591 @x755 $x600) (unit-resolution (unit-resolution @x565 @x761 $x577) @x561 $x610) $x597)))
       
  4566 (let ((@x133 (not-or-elim (mp (asserted $x96) @x129 $x125) (not (>= ?x89 1)))))
       
  4567 ((_ th-lemma arith farkas -4 1 1) @x133 (unit-resolution (def-axiom (or $x357 $x687)) @x572 $x687) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x597) $x574)) @x532 $x574) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  4568 
       
  4569 5e90e9139eb4e9a7c2678bca8dda6cda05861f4c 23 0
  3733 5e90e9139eb4e9a7c2678bca8dda6cda05861f4c 23 0
  4570 unsat
  3734 unsat
  4571 ((set-logic AUFLIA)
  3735 ((set-logic AUFLIA)
  4572 (proof
  3736 (proof
  4573 (let (($x40 (= x$ a$)))
  3737 (let (($x40 (= x$ a$)))
  4778 (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)))))
  4779 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
  3943 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
  4780 (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))))
  4781 (mp (asserted $x33) @x53 false)))))))))))
  3945 (mp (asserted $x33) @x53 false)))))))))))
  4782 
  3946 
  4783 8b09776b03122aeacc9dd9526e1f0e5d41a07f14 14 0
       
  4784 unsat
       
  4785 ((set-logic AUFLIA)
       
  4786 (proof
       
  4787 (let (($x29 (forall ((?v0 A$) )(g$ ?v0))
       
  4788 ))
       
  4789 (let (($x30 (ite $x29 true false)))
       
  4790 (let (($x31 (f$ $x30)))
       
  4791 (let (($x32 (=> $x31 true)))
       
  4792 (let (($x33 (not $x32)))
       
  4793 (let ((@x42 (monotonicity (monotonicity (rewrite (= $x30 $x29)) (= $x31 (f$ $x29))) (= $x32 (=> (f$ $x29) true)))))
       
  4794 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
       
  4795 (let ((@x53 (trans (monotonicity @x46 (= $x33 (not true))) (rewrite (= (not true) false)) (= $x33 false))))
       
  4796 (mp (asserted $x33) @x53 false)))))))))))
       
  4797 
       
  4798 b221de9d8dbe279344ac85e2ada07f5722636ce5 46 0
  3947 b221de9d8dbe279344ac85e2ada07f5722636ce5 46 0
  4799 unsat
  3948 unsat
  4800 ((set-logic AUFLIA)
  3949 ((set-logic AUFLIA)
  4801 (proof
  3950 (proof
  4802 (let ((?x61 (fun_app$a le$ 3)))
  3951 (let ((?x61 (fun_app$a le$ 3)))
  4840 (let ((@x497 (trans (monotonicity @x158 (= $x160 (<= (- 39) 0))) (rewrite (= (<= (- 39) 0) true)) (= $x160 true))))
  3989 (let ((@x497 (trans (monotonicity @x158 (= $x160 (<= (- 39) 0))) (rewrite (= (<= (- 39) 0) true)) (= $x160 true))))
  4841 (let ((@x131 (trans (monotonicity @x497 (= $x171 (= $x168 true))) (rewrite (= (= $x168 true) $x168)) (= $x171 $x168))))
  3990 (let ((@x131 (trans (monotonicity @x497 (= $x171 (= $x168 true))) (rewrite (= (= $x168 true) $x168)) (= $x171 $x168))))
  4842 (let ((@x478 (mp ((_ quant-inst 3 42) (or (not $x52) $x171)) (trans (monotonicity @x131 $x137) (rewrite (= $x134 $x134)) $x137) $x134)))
  3991 (let ((@x478 (mp ((_ quant-inst 3 42) (or (not $x52) $x171)) (trans (monotonicity @x131 $x137) (rewrite (= $x134 $x134)) $x137) $x134)))
  4843 (unit-resolution (unit-resolution @x478 @x78 $x168) (mp @x77 @x472 (not $x168)) false)))))))))))))))))))))))))))))))))))
  3992 (unit-resolution (unit-resolution @x478 @x78 $x168) (mp @x77 @x472 (not $x168)) false)))))))))))))))))))))))))))))))))))
  4844 
  3993 
  4845 c94d83d8571ae767bf6025c563cdac64250f7638 189 0
  3994 8b09776b03122aeacc9dd9526e1f0e5d41a07f14 14 0
  4846 unsat
  3995 unsat
  4847 ((set-logic AUFLIA)
  3996 ((set-logic AUFLIA)
  4848 (proof
  3997 (proof
  4849 (let ((?x74 (nat$ 2)))
  3998 (let (($x29 (forall ((?v0 A$) )(g$ ?v0))
  4850 (let ((?x75 (cons$ ?x74 nil$)))
  3999 ))
  4851 (let ((?x69 (nat$ 1)))
  4000 (let (($x30 (ite $x29 true false)))
  4852 (let ((?x76 (cons$ ?x69 ?x75)))
  4001 (let (($x31 (f$ $x30)))
  4853 (let ((?x70 (cons$ ?x69 nil$)))
  4002 (let (($x32 (=> $x31 true)))
  4854 (let ((?x68 (nat$ 0)))
  4003 (let (($x33 (not $x32)))
  4855 (let ((?x71 (cons$ ?x68 ?x70)))
  4004 (let ((@x42 (monotonicity (monotonicity (rewrite (= $x30 $x29)) (= $x31 (f$ $x29))) (= $x32 (=> (f$ $x29) true)))))
  4856 (let ((?x72 (map$ uu$ ?x71)))
  4005 (let ((@x46 (trans @x42 (rewrite (= (=> (f$ $x29) true) true)) (= $x32 true))))
  4857 (let (($x77 (= ?x72 ?x76)))
  4006 (let ((@x53 (trans (monotonicity @x46 (= $x33 (not true))) (rewrite (= (not true) false)) (= $x33 false))))
  4858 (let ((?x264 (map$ uu$ ?x70)))
  4007 (mp (asserted $x33) @x53 false)))))))))))
  4859 (let ((?x427 (map$ uu$ nil$)))
  4008 
  4860 (let ((?x426 (fun_app$ uu$ ?x69)))
  4009 5d3ccbcf168a634cad3952ad8f6d2798329d6a77 75 0
  4861 (let ((?x428 (cons$ ?x426 ?x427)))
  4010 unsat
  4862 (let (($x429 (= ?x264 ?x428)))
  4011 ((set-logic AUFLIA)
  4863 (let (($x598 (forall ((?v0 Nat_nat_fun$) (?v1 Nat$) (?v2 Nat_list$) )(!(let ((?x64 (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2))))
  4012 (proof
  4864 (let ((?x61 (map$ ?v0 (cons$ ?v1 ?v2))))
  4013 (let ((?x78 (cons$ 2 nil$)))
  4865 (= ?x61 ?x64))) :pattern ( (map$ ?v0 (cons$ ?v1 ?v2)) ) :pattern ( (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2)) )))
  4014 (let ((?x79 (cons$ 1 ?x78)))
  4866 ))
  4015 (let ((?x74 (cons$ 1 nil$)))
  4867 (let (($x66 (forall ((?v0 Nat_nat_fun$) (?v1 Nat$) (?v2 Nat_list$) )(let ((?x64 (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2))))
  4016 (let ((?x75 (cons$ 0 ?x74)))
  4868 (let ((?x61 (map$ ?v0 (cons$ ?v1 ?v2))))
  4017 (let ((?x76 (map$ uu$ ?x75)))
  4869 (= ?x61 ?x64))))
  4018 (let (($x80 (= ?x76 ?x79)))
  4870 ))
  4019 (let ((?x185 (map$ uu$ ?x74)))
  4871 (let ((?x64 (cons$ (fun_app$ ?2 ?1) (map$ ?2 ?0))))
  4020 (let ((?x189 (map$ uu$ nil$)))
  4872 (let ((?x61 (map$ ?2 (cons$ ?1 ?0))))
  4021 (let ((?x188 (fun_app$ uu$ 1)))
  4873 (let (($x65 (= ?x61 ?x64)))
  4022 (let ((?x160 (cons$ ?x188 ?x189)))
  4874 (let ((@x158 (mp~ (asserted $x66) (nnf-pos (refl (~ $x65 $x65)) (~ $x66 $x66)) $x66)))
  4023 (let (($x290 (= ?x185 ?x160)))
  4875 (let ((@x603 (mp @x158 (quant-intro (refl (= $x65 $x65)) (= $x66 $x598)) $x598)))
  4024 (let (($x521 (forall ((?v0 Int_int_fun$) (?v1 Int) (?v2 Int_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)) )))
  4876 (let (($x582 (not $x598)))
  4025 ))
  4877 (let (($x524 (or $x582 $x429)))
  4026 (let (($x72 (forall ((?v0 Int_int_fun$) (?v1 Int) (?v2 Int_list$) )(= (map$ ?v0 (cons$ ?v1 ?v2)) (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2))))
  4878 (let ((@x511 ((_ quant-inst uu$ (nat$ 1) nil$) $x524)))
  4027 ))
  4879 (let (($x515 (= ?x427 nil$)))
  4028 (let (($x71 (= (map$ ?2 (cons$ ?1 ?0)) (cons$ (fun_app$ ?2 ?1) (map$ ?2 ?0)))))
  4880 (let (($x590 (forall ((?v0 Nat_nat_fun$) )(!(= (map$ ?v0 nil$) nil$) :pattern ( (map$ ?v0 nil$) )))
  4029 (let ((@x97 (mp~ (asserted $x72) (nnf-pos (refl (~ $x71 $x71)) (~ $x72 $x72)) $x72)))
  4881 ))
  4030 (let ((@x526 (mp @x97 (quant-intro (refl (= $x71 $x71)) (= $x72 $x521)) $x521)))
  4882 (let (($x55 (forall ((?v0 Nat_nat_fun$) )(= (map$ ?v0 nil$) nil$))
  4031 (let (($x173 (or (not $x521) $x290)))
  4883 ))
  4032 (let ((@x506 ((_ quant-inst uu$ 1 nil$) $x173)))
  4884 (let ((@x592 (refl (= (= (map$ ?0 nil$) nil$) (= (map$ ?0 nil$) nil$)))))
  4033 (let (($x492 (= ?x189 nil$)))
  4885 (let ((@x152 (refl (~ (= (map$ ?0 nil$) nil$) (= (map$ ?0 nil$) nil$)))))
  4034 (let (($x513 (forall ((?v0 Int_int_fun$) )(!(= (map$ ?v0 nil$) nil$) :pattern ( (map$ ?v0 nil$) )))
  4886 (let ((@x595 (mp (mp~ (asserted $x55) (nnf-pos @x152 (~ $x55 $x55)) $x55) (quant-intro @x592 (= $x55 $x590)) $x590)))
  4035 ))
  4887 (let (($x506 (or (not $x590) $x515)))
  4036 (let (($x61 (forall ((?v0 Int_int_fun$) )(= (map$ ?v0 nil$) nil$))
  4888 (let ((@x507 ((_ quant-inst uu$) $x506)))
  4037 ))
  4889 (let ((?x281 (of_nat$ ?x69)))
  4038 (let ((@x515 (refl (= (= (map$ ?0 nil$) nil$) (= (map$ ?0 nil$) nil$)))))
  4890 (let ((?x516 (+ 1 ?x281)))
  4039 (let ((@x83 (refl (~ (= (map$ ?0 nil$) nil$) (= (map$ ?0 nil$) nil$)))))
  4891 (let ((?x517 (nat$ ?x516)))
  4040 (let ((@x518 (mp (mp~ (asserted $x61) (nnf-pos @x83 (~ $x61 $x61)) $x61) (quant-intro @x515 (= $x61 $x513)) $x513)))
  4892 (let (($x508 (= ?x426 ?x517)))
  4041 (let (($x495 (or (not $x513) $x492)))
  4893 (let (($x47 (forall ((?v0 Nat$) )(!(let ((?x29 (fun_app$ uu$ ?v0)))
  4042 (let ((@x496 ((_ quant-inst uu$) $x495)))
  4894 (= ?x29 (nat$ (+ 1 (of_nat$ ?v0))))) :pattern ( (fun_app$ uu$ ?v0) )))
  4043 (let (($x136 (= ?x188 2)))
  4895 ))
  4044 (let (($x51 (forall ((?v0 Int) )(!(= (+ ?v0 (* (- 1) (fun_app$ uu$ ?v0))) (- 1)) :pattern ( (fun_app$ uu$ ?v0) )))
       
  4045 ))
       
  4046 (let (($x47 (= (+ ?0 (* (- 1) (fun_app$ uu$ ?0))) (- 1))))
       
  4047 (let (($x34 (forall ((?v0 Int) )(!(let ((?x29 (fun_app$ uu$ ?v0)))
       
  4048 (= ?x29 (+ ?v0 1))) :pattern ( (fun_app$ uu$ ?v0) )))
       
  4049 ))
       
  4050 (let (($x42 (forall ((?v0 Int) )(!(let ((?x29 (fun_app$ uu$ ?v0)))
       
  4051 (= ?x29 (+ 1 ?v0))) :pattern ( (fun_app$ uu$ ?v0) )))
       
  4052 ))
       
  4053 (let ((@x53 (quant-intro (rewrite (= (= (fun_app$ uu$ ?0) (+ 1 ?0)) $x47)) (= $x42 $x51))))
  4896 (let ((?x29 (fun_app$ uu$ ?0)))
  4054 (let ((?x29 (fun_app$ uu$ ?0)))
  4897 (let (($x44 (= ?x29 (nat$ (+ 1 (of_nat$ ?0))))))
  4055 (let (($x39 (= ?x29 (+ 1 ?0))))
  4898 (let (($x36 (forall ((?v0 Nat$) )(!(let ((?x29 (fun_app$ uu$ ?v0)))
  4056 (let ((@x41 (monotonicity (rewrite (= (+ ?0 1) (+ 1 ?0))) (= (= ?x29 (+ ?0 1)) $x39))))
  4899 (= ?x29 (nat$ (+ (of_nat$ ?v0) 1)))) :pattern ( (fun_app$ uu$ ?v0) )))
  4057 (let ((@x56 (mp (asserted $x34) (trans (quant-intro @x41 (= $x34 $x42)) @x53 (= $x34 $x51)) $x51)))
  4900 ))
  4058 (let ((@x85 (mp~ @x56 (nnf-pos (refl (~ $x47 $x47)) (~ $x51 $x51)) $x51)))
  4901 (let ((@x43 (monotonicity (rewrite (= (+ (of_nat$ ?0) 1) (+ 1 (of_nat$ ?0)))) (= (nat$ (+ (of_nat$ ?0) 1)) (nat$ (+ 1 (of_nat$ ?0)))))))
  4059 (let (($x145 (not $x51)))
  4902 (let ((@x46 (monotonicity @x43 (= (= ?x29 (nat$ (+ (of_nat$ ?0) 1))) $x44))))
  4060 (let (($x499 (or $x145 $x136)))
  4903 (let ((@x156 (mp~ (mp (asserted $x36) (quant-intro @x46 (= $x36 $x47)) $x47) (nnf-pos (refl (~ $x44 $x44)) (~ $x47 $x47)) $x47)))
  4061 (let ((@x498 (rewrite (= (= (+ 1 (* (- 1) ?x188)) (- 1)) $x136))))
  4904 (let (($x494 (or (not $x47) $x508)))
  4062 (let ((@x204 (monotonicity @x498 (= (or $x145 (= (+ 1 (* (- 1) ?x188)) (- 1))) $x499))))
  4905 (let ((@x495 ((_ quant-inst (nat$ 1)) $x494)))
  4063 (let ((@x207 (trans @x204 (rewrite (= $x499 $x499)) (= (or $x145 (= (+ 1 (* (- 1) ?x188)) (- 1))) $x499))))
  4906 (let ((?x445 (of_nat$ ?x517)))
  4064 (let ((@x104 (mp ((_ quant-inst 1) (or $x145 (= (+ 1 (* (- 1) ?x188)) (- 1)))) @x207 $x499)))
  4907 (let ((?x376 (nat$ ?x445)))
  4065 (let ((@x191 (monotonicity (symm (unit-resolution @x104 @x85 $x136) (= 2 ?x188)) (symm (unit-resolution @x496 @x518 $x492) (= nil$ ?x189)) (= ?x78 ?x160))))
  4908 (let (($x377 (= ?x376 ?x517)))
  4066 (let ((@x473 (trans @x191 (symm (unit-resolution @x506 @x526 $x290) (= ?x160 ?x185)) (= ?x78 ?x185))))
  4909 (let (($x605 (forall ((?v0 Nat$) )(!(= (nat$ (of_nat$ ?v0)) ?v0) :pattern ( (of_nat$ ?v0) )))
  4067 (let ((?x182 (fun_app$ uu$ 0)))
  4910 ))
  4068 (let (($x163 (= ?x182 1)))
  4911 (let (($x82 (forall ((?v0 Nat$) )(= (nat$ (of_nat$ ?v0)) ?v0))
  4069 (let (($x487 (or $x145 $x163)))
  4912 ))
  4070 (let ((@x501 (monotonicity (rewrite (= (+ 0 (* (- 1) ?x182)) (* (- 1) ?x182))) (= (= (+ 0 (* (- 1) ?x182)) (- 1)) (= (* (- 1) ?x182) (- 1))))))
  4913 (let ((@x610 (trans (rewrite (= $x82 $x605)) (rewrite (= $x605 $x605)) (= $x82 $x605))))
  4071 (let ((@x503 (trans @x501 (rewrite (= (= (* (- 1) ?x182) (- 1)) $x163)) (= (= (+ 0 (* (- 1) ?x182)) (- 1)) $x163))))
  4914 (let ((@x162 (refl (~ (= (nat$ (of_nat$ ?0)) ?0) (= (nat$ (of_nat$ ?0)) ?0)))))
  4072 (let ((@x151 (monotonicity @x503 (= (or $x145 (= (+ 0 (* (- 1) ?x182)) (- 1))) $x487))))
  4915 (let ((@x611 (mp (mp~ (asserted $x82) (nnf-pos @x162 (~ $x82 $x82)) $x82) @x610 $x605)))
  4073 (let ((@x490 (trans @x151 (rewrite (= $x487 $x487)) (= (or $x145 (= (+ 0 (* (- 1) ?x182)) (- 1))) $x487))))
  4916 (let (($x384 (or (not $x605) $x377)))
  4074 (let ((@x491 (mp ((_ quant-inst 0) (or $x145 (= (+ 0 (* (- 1) ?x182)) (- 1)))) @x490 $x487)))
  4917 (let ((@x385 ((_ quant-inst (nat$ ?x516)) $x384)))
  4075 (let ((@x478 (monotonicity (symm (unit-resolution @x491 @x85 $x163) (= 1 ?x182)) @x473 (= ?x79 (cons$ ?x182 ?x185)))))
  4918 (let ((?x437 (* (- 1) ?x445)))
  4076 (let ((?x186 (cons$ ?x182 ?x185)))
  4919 (let ((?x410 (+ ?x281 ?x437)))
  4077 (let (($x187 (= ?x76 ?x186)))
  4920 (let (($x431 (<= ?x410 (- 1))))
  4078 (let (($x504 (or (not $x521) $x187)))
  4921 (let (($x378 (= ?x410 (- 1))))
  4079 (let ((@x505 ((_ quant-inst uu$ 0 (cons$ 1 nil$)) $x504)))
  4922 (let (($x448 (>= ?x281 (- 1))))
  4080 (let ((@x466 (trans (unit-resolution @x505 @x526 $x187) (symm @x478 (= ?x186 ?x79)) $x80)))
  4923 (let (($x442 (>= ?x281 1)))
  4081 (let (($x81 (not $x80)))
  4924 (let (($x282 (= ?x281 1)))
  4082 (let ((@x82 (asserted $x81)))
  4925 (let (($x613 (forall ((?v0 Int) )(!(let (($x88 (= (of_nat$ (nat$ ?v0)) ?v0)))
  4083 (unit-resolution @x82 @x466 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  4926 (let (($x101 (>= ?v0 0)))
       
  4927 (let (($x102 (not $x101)))
       
  4928 (or $x102 $x88)))) :pattern ( (nat$ ?v0) )))
       
  4929 ))
       
  4930 (let (($x108 (forall ((?v0 Int) )(let (($x88 (= (of_nat$ (nat$ ?v0)) ?v0)))
       
  4931 (let (($x101 (>= ?v0 0)))
       
  4932 (let (($x102 (not $x101)))
       
  4933 (or $x102 $x88)))))
       
  4934 ))
       
  4935 (let (($x88 (= (of_nat$ (nat$ ?0)) ?0)))
       
  4936 (let (($x101 (>= ?0 0)))
       
  4937 (let (($x102 (not $x101)))
       
  4938 (let (($x105 (or $x102 $x88)))
       
  4939 (let (($x90 (forall ((?v0 Int) )(let (($x88 (= (of_nat$ (nat$ ?v0)) ?v0)))
       
  4940 (let (($x85 (<= 0 ?v0)))
       
  4941 (=> $x85 $x88))))
       
  4942 ))
       
  4943 (let (($x96 (forall ((?v0 Int) )(let (($x88 (= (of_nat$ (nat$ ?v0)) ?v0)))
       
  4944 (or (not (<= 0 ?v0)) $x88)))
       
  4945 ))
       
  4946 (let ((@x104 (monotonicity (rewrite (= (<= 0 ?0) $x101)) (= (not (<= 0 ?0)) $x102))))
       
  4947 (let ((@x110 (quant-intro (monotonicity @x104 (= (or (not (<= 0 ?0)) $x88) $x105)) (= $x96 $x108))))
       
  4948 (let ((@x95 (rewrite (= (=> (<= 0 ?0) $x88) (or (not (<= 0 ?0)) $x88)))))
       
  4949 (let ((@x113 (mp (asserted $x90) (trans (quant-intro @x95 (= $x90 $x96)) @x110 (= $x90 $x108)) $x108)))
       
  4950 (let ((@x618 (mp (mp~ @x113 (nnf-pos (refl (~ $x105 $x105)) (~ $x108 $x108)) $x108) (quant-intro (refl (= $x105 $x105)) (= $x108 $x613)) $x613)))
       
  4951 (let (($x227 (not $x613)))
       
  4952 (let (($x271 (or $x227 $x282)))
       
  4953 (let ((@x578 (rewrite (= (not true) false))))
       
  4954 (let ((@x181 (rewrite (= (>= 1 0) true))))
       
  4955 (let ((@x289 (trans (monotonicity @x181 (= (not (>= 1 0)) (not true))) @x578 (= (not (>= 1 0)) false))))
       
  4956 (let ((@x560 (monotonicity @x289 (= (or (not (>= 1 0)) $x282) (or false $x282)))))
       
  4957 (let ((@x270 (trans @x560 (rewrite (= (or false $x282) $x282)) (= (or (not (>= 1 0)) $x282) $x282))))
       
  4958 (let ((@x552 (monotonicity @x270 (= (or $x227 (or (not (>= 1 0)) $x282)) $x271))))
       
  4959 (let ((@x555 (trans @x552 (rewrite (= $x271 $x271)) (= (or $x227 (or (not (>= 1 0)) $x282)) $x271))))
       
  4960 (let ((@x541 (mp ((_ quant-inst 1) (or $x227 (or (not (>= 1 0)) $x282))) @x555 $x271)))
       
  4961 (let ((@x351 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x282) $x442)) (unit-resolution @x541 @x618 $x282) $x442)))
       
  4962 (let (($x451 (not $x448)))
       
  4963 (let (($x409 (or $x227 $x451 $x378)))
       
  4964 (let (($x446 (= ?x445 ?x516)))
       
  4965 (let (($x443 (>= ?x516 0)))
       
  4966 (let (($x444 (not $x443)))
       
  4967 (let (($x447 (or $x444 $x446)))
       
  4968 (let (($x411 (or $x227 $x447)))
       
  4969 (let ((@x441 (monotonicity (monotonicity (rewrite (= $x443 $x448)) (= $x444 $x451)) (rewrite (= $x446 $x378)) (= $x447 (or $x451 $x378)))))
       
  4970 (let ((@x420 (trans (monotonicity @x441 (= $x411 (or $x227 (or $x451 $x378)))) (rewrite (= (or $x227 (or $x451 $x378)) $x409)) (= $x411 $x409))))
       
  4971 (let ((@x430 (mp ((_ quant-inst (+ 1 ?x281)) $x411) @x420 $x409)))
       
  4972 (let ((@x343 (unit-resolution @x430 @x618 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x442) $x448)) @x351 $x448) $x378)))
       
  4973 (let (($x432 (>= ?x410 (- 1))))
       
  4974 (let (($x331 (<= ?x281 1)))
       
  4975 (let ((@x335 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x282) $x331)) (unit-resolution @x541 @x618 $x282) $x331)))
       
  4976 (let ((@x341 ((_ th-lemma arith eq-propagate -1 -1 1 1) @x351 @x335 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x378) $x432)) @x343 $x432) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x378) $x431)) @x343 $x431) (= ?x445 2))))
       
  4977 (let ((@x327 (trans (monotonicity (symm @x341 (= 2 ?x445)) (= ?x74 ?x376)) (unit-resolution @x385 @x611 $x377) (= ?x74 ?x517))))
       
  4978 (let ((@x329 (trans @x327 (symm (unit-resolution @x495 @x156 $x508) (= ?x517 ?x426)) (= ?x74 ?x426))))
       
  4979 (let ((@x312 (monotonicity @x329 (symm (unit-resolution @x507 @x595 $x515) (= nil$ ?x427)) (= ?x75 ?x428))))
       
  4980 (let ((@x316 (trans @x312 (symm (unit-resolution @x511 @x603 $x429) (= ?x428 ?x264)) (= ?x75 ?x264))))
       
  4981 (let ((?x577 (of_nat$ ?x68)))
       
  4982 (let ((?x522 (+ 1 ?x577)))
       
  4983 (let ((?x523 (nat$ ?x522)))
       
  4984 (let ((?x263 (fun_app$ uu$ ?x68)))
       
  4985 (let (($x512 (= ?x263 ?x523)))
       
  4986 (let (($x513 (or (not $x47) $x512)))
       
  4987 (let ((@x514 ((_ quant-inst (nat$ 0)) $x513)))
       
  4988 (let ((?x496 (of_nat$ ?x523)))
       
  4989 (let ((?x373 (nat$ ?x496)))
       
  4990 (let (($x375 (= ?x373 ?x523)))
       
  4991 (let (($x380 (or (not $x605) $x375)))
       
  4992 (let ((@x381 ((_ quant-inst (nat$ ?x522)) $x380)))
       
  4993 (let ((?x490 (* (- 1) ?x577)))
       
  4994 (let ((?x491 (+ ?x496 ?x490)))
       
  4995 (let (($x465 (<= ?x491 1)))
       
  4996 (let (($x492 (= ?x491 1)))
       
  4997 (let (($x499 (>= ?x577 (- 1))))
       
  4998 (let (($x502 (>= ?x577 0)))
       
  4999 (let (($x249 (= ?x577 0)))
       
  5000 (let (($x228 (or $x227 $x249)))
       
  5001 (let ((@x584 (rewrite (= (>= 0 0) true))))
       
  5002 (let ((@x241 (trans (monotonicity @x584 (= (not (>= 0 0)) (not true))) @x578 (= (not (>= 0 0)) false))))
       
  5003 (let ((@x580 (monotonicity @x241 (= (or (not (>= 0 0)) $x249) (or false $x249)))))
       
  5004 (let ((@x226 (trans @x580 (rewrite (= (or false $x249) $x249)) (= (or (not (>= 0 0)) $x249) $x249))))
       
  5005 (let ((@x568 (monotonicity @x226 (= (or $x227 (or (not (>= 0 0)) $x249)) $x228))))
       
  5006 (let ((@x571 (trans @x568 (rewrite (= $x228 $x228)) (= (or $x227 (or (not (>= 0 0)) $x249)) $x228))))
       
  5007 (let ((@x208 (mp ((_ quant-inst 0) (or $x227 (or (not (>= 0 0)) $x249))) @x571 $x228)))
       
  5008 (let ((@x323 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x249) $x502)) (unit-resolution @x208 @x618 $x249) $x502)))
       
  5009 (let (($x487 (not $x499)))
       
  5010 (let (($x477 (or $x227 $x487 $x492)))
       
  5011 (let (($x497 (= ?x496 ?x522)))
       
  5012 (let (($x509 (>= ?x522 0)))
       
  5013 (let (($x510 (not $x509)))
       
  5014 (let (($x498 (or $x510 $x497)))
       
  5015 (let (($x478 (or $x227 $x498)))
       
  5016 (let ((@x476 (monotonicity (monotonicity (rewrite (= $x509 $x499)) (= $x510 $x487)) (rewrite (= $x497 $x492)) (= $x498 (or $x487 $x492)))))
       
  5017 (let ((@x486 (trans (monotonicity @x476 (= $x478 (or $x227 (or $x487 $x492)))) (rewrite (= (or $x227 (or $x487 $x492)) $x477)) (= $x478 $x477))))
       
  5018 (let ((@x464 (mp ((_ quant-inst (+ 1 ?x577)) $x478) @x486 $x477)))
       
  5019 (let ((@x304 (unit-resolution @x464 @x618 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x502) $x499)) @x323 $x499) $x492)))
       
  5020 (let (($x466 (>= ?x491 1)))
       
  5021 (let (($x504 (<= ?x577 0)))
       
  5022 (let ((@x298 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x249) $x504)) (unit-resolution @x208 @x618 $x249) $x504)))
       
  5023 (let ((@x300 ((_ th-lemma arith eq-propagate -1 -1 -1 -1) @x323 @x298 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x492) $x466)) @x304 $x466) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x492) $x465)) @x304 $x465) (= ?x496 1))))
       
  5024 (let ((@x294 (trans (monotonicity (symm @x300 (= 1 ?x496)) (= ?x69 ?x373)) (unit-resolution @x381 @x611 $x375) (= ?x69 ?x523))))
       
  5025 (let ((@x273 (trans @x294 (symm (unit-resolution @x514 @x156 $x512) (= ?x523 ?x263)) (= ?x69 ?x263))))
       
  5026 (let ((@x279 (symm (monotonicity @x273 @x316 (= ?x76 (cons$ ?x263 ?x264))) (= (cons$ ?x263 ?x264) ?x76))))
       
  5027 (let ((?x265 (cons$ ?x263 ?x264)))
       
  5028 (let (($x266 (= ?x72 ?x265)))
       
  5029 (let (($x237 (or $x582 $x266)))
       
  5030 (let ((@x367 ((_ quant-inst uu$ (nat$ 0) (cons$ ?x69 nil$)) $x237)))
       
  5031 (let (($x78 (not $x77)))
       
  5032 (let ((@x79 (asserted $x78)))
       
  5033 (unit-resolution @x79 (trans (unit-resolution @x367 @x603 $x266) @x279 $x77) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  5034 
  4084 
  5035 40c61a0200976d6203302a7343af5b7ad1e6ce36 11 0
  4085 40c61a0200976d6203302a7343af5b7ad1e6ce36 11 0
  5036 unsat
  4086 unsat
  5037 ((set-logic AUFLIA)
  4087 ((set-logic AUFLIA)
  5038 (proof
  4088 (proof
  5042 (let (($x31 (or $x29 $x30)))
  4092 (let (($x31 (or $x29 $x30)))
  5043 (let (($x32 (not $x31)))
  4093 (let (($x32 (not $x31)))
  5044 (let ((@x42 (trans (monotonicity (rewrite (= $x31 true)) (= $x32 (not true))) (rewrite (= (not true) false)) (= $x32 false))))
  4094 (let ((@x42 (trans (monotonicity (rewrite (= $x31 true)) (= $x32 (not true))) (rewrite (= (not true) false)) (= $x32 false))))
  5045 (mp (asserted $x32) @x42 false))))))))
  4095 (mp (asserted $x32) @x42 false))))))))
  5046 
  4096 
  5047 825fdd8f086b9606c3db6feacf7565b92faf5ae2 190 0
  4097 f17a5e4d5f1a5a93fbc847f858c7c845c29d8349 109 0
  5048 unsat
  4098 unsat
  5049 ((set-logic AUFLIA)
  4099 ((set-logic AUFLIA)
  5050 (proof
  4100 (proof
  5051 (let ((?x87 (nat$ 6)))
  4101 (let ((?x75 (dec_10$ 4)))
  5052 (let ((?x80 (nat$ 4)))
  4102 (let ((?x76 (* 4 ?x75)))
  5053 (let ((?x81 (dec_10$ ?x80)))
  4103 (let ((?x77 (dec_10$ ?x76)))
  5054 (let ((?x82 (of_nat$ ?x81)))
  4104 (let (($x79 (= ?x77 6)))
  5055 (let ((?x83 (* 4 ?x82)))
  4105 (let (($x150 (<= ?x75 4)))
  5056 (let ((?x84 (nat$ ?x83)))
  4106 (let (($x174 (= ?x75 4)))
  5057 (let ((?x85 (dec_10$ ?x84)))
  4107 (let (($x513 (forall ((?v0 Int) )(!(let (($x55 (>= ?v0 10)))
  5058 (let (($x88 (= ?x85 ?x87)))
  4108 (ite $x55 (= (dec_10$ ?v0) (dec_10$ (+ (- 10) ?v0))) (= (dec_10$ ?v0) ?v0))) :pattern ( (dec_10$ ?v0) )))
  5059 (let ((?x461 (dec_10$ ?x87)))
  4109 ))
  5060 (let (($x421 (= ?x461 ?x87)))
  4110 (let (($x92 (forall ((?v0 Int) )(let (($x55 (>= ?v0 10)))
  5061 (let ((?x487 (of_nat$ ?x87)))
  4111 (ite $x55 (= (dec_10$ ?v0) (dec_10$ (+ (- 10) ?v0))) (= (dec_10$ ?v0) ?v0))))
  5062 (let ((?x464 (+ (- 10) ?x487)))
  4112 ))
  5063 (let ((?x447 (nat$ ?x464)))
  4113 (let (($x55 (>= ?0 10)))
  5064 (let ((?x389 (dec_10$ ?x447)))
  4114 (let (($x87 (ite $x55 (= (dec_10$ ?0) (dec_10$ (+ (- 10) ?0))) (= (dec_10$ ?0) ?0))))
  5065 (let (($x448 (= ?x461 ?x389)))
  4115 (let (($x68 (forall ((?v0 Int) )(let ((?x38 (+ (- 10) ?v0)))
  5066 (let (($x460 (>= ?x487 10)))
  4116 (let ((?x41 (dec_10$ ?x38)))
  5067 (let (($x449 (ite $x460 $x448 $x421)))
  4117 (let (($x55 (>= ?v0 10)))
  5068 (let (($x602 (forall ((?v0 Nat$) )(!(let ((?x29 (of_nat$ ?v0)))
  4118 (let ((?x60 (ite $x55 ?x41 ?v0)))
  5069 (let (($x60 (>= ?x29 10)))
       
  5070 (ite $x60 (= (dec_10$ ?v0) (dec_10$ (nat$ (+ (- 10) ?x29)))) (= (dec_10$ ?v0) ?v0)))) :pattern ( (of_nat$ ?v0) ) :pattern ( (dec_10$ ?v0) )))
       
  5071 ))
       
  5072 (let (($x180 (forall ((?v0 Nat$) )(let ((?x29 (of_nat$ ?v0)))
       
  5073 (let (($x60 (>= ?x29 10)))
       
  5074 (ite $x60 (= (dec_10$ ?v0) (dec_10$ (nat$ (+ (- 10) ?x29)))) (= (dec_10$ ?v0) ?v0)))))
       
  5075 ))
       
  5076 (let ((?x29 (of_nat$ ?0)))
       
  5077 (let (($x60 (>= ?x29 10)))
       
  5078 (let (($x177 (ite $x60 (= (dec_10$ ?0) (dec_10$ (nat$ (+ (- 10) ?x29)))) (= (dec_10$ ?0) ?0))))
       
  5079 (let (($x73 (forall ((?v0 Nat$) )(let ((?x46 (dec_10$ (nat$ (+ (- 10) (of_nat$ ?v0))))))
       
  5080 (let ((?x29 (of_nat$ ?v0)))
       
  5081 (let (($x60 (>= ?x29 10)))
       
  5082 (let ((?x65 (ite $x60 ?x46 ?v0)))
       
  5083 (let ((?x28 (dec_10$ ?v0)))
  4119 (let ((?x28 (dec_10$ ?v0)))
  5084 (= ?x28 ?x65)))))))
  4120 (= ?x28 ?x60)))))))
  5085 ))
  4121 ))
  5086 (let ((?x46 (dec_10$ (nat$ (+ (- 10) ?x29)))))
  4122 (let ((?x38 (+ (- 10) ?0)))
  5087 (let ((?x65 (ite $x60 ?x46 ?0)))
  4123 (let ((?x41 (dec_10$ ?x38)))
       
  4124 (let ((?x60 (ite $x55 ?x41 ?0)))
  5088 (let ((?x28 (dec_10$ ?0)))
  4125 (let ((?x28 (dec_10$ ?0)))
  5089 (let (($x70 (= ?x28 ?x65)))
  4126 (let (($x65 (= ?x28 ?x60)))
  5090 (let (($x37 (forall ((?v0 Nat$) )(let ((?x29 (of_nat$ ?v0)))
  4127 (let (($x35 (forall ((?v0 Int) )(let ((?x28 (dec_10$ ?v0)))
  5091 (let (($x31 (< ?x29 10)))
  4128 (= ?x28 (ite (< ?v0 10) ?v0 (dec_10$ (- ?v0 10))))))
       
  4129 ))
       
  4130 (let (($x50 (forall ((?v0 Int) )(let ((?x38 (+ (- 10) ?v0)))
       
  4131 (let ((?x41 (dec_10$ ?x38)))
       
  4132 (let (($x30 (< ?v0 10)))
       
  4133 (let ((?x44 (ite $x30 ?v0 ?x41)))
  5092 (let ((?x28 (dec_10$ ?v0)))
  4134 (let ((?x28 (dec_10$ ?v0)))
  5093 (= ?x28 (ite $x31 ?v0 (dec_10$ (nat$ (- ?x29 10)))))))))
  4135 (= ?x28 ?x44)))))))
  5094 ))
  4136 ))
  5095 (let (($x55 (forall ((?v0 Nat$) )(let ((?x46 (dec_10$ (nat$ (+ (- 10) (of_nat$ ?v0))))))
  4137 (let ((@x59 (monotonicity (rewrite (= (< ?0 10) (not $x55))) (= (ite (< ?0 10) ?0 ?x41) (ite (not $x55) ?0 ?x41)))))
  5096 (let ((?x29 (of_nat$ ?v0)))
  4138 (let ((@x64 (trans @x59 (rewrite (= (ite (not $x55) ?0 ?x41) ?x60)) (= (ite (< ?0 10) ?0 ?x41) ?x60))))
  5097 (let (($x31 (< ?x29 10)))
  4139 (let ((@x67 (monotonicity @x64 (= (= ?x28 (ite (< ?0 10) ?0 ?x41)) $x65))))
  5098 (let ((?x49 (ite $x31 ?v0 ?x46)))
  4140 (let (($x30 (< ?0 10)))
  5099 (let ((?x28 (dec_10$ ?v0)))
  4141 (let ((?x44 (ite $x30 ?0 ?x41)))
  5100 (= ?x28 ?x49)))))))
  4142 (let (($x47 (= ?x28 ?x44)))
  5101 ))
  4143 (let ((@x43 (monotonicity (rewrite (= (- ?0 10) ?x38)) (= (dec_10$ (- ?0 10)) ?x41))))
  5102 (let ((@x64 (monotonicity (rewrite (= (< ?x29 10) (not $x60))) (= (ite (< ?x29 10) ?0 ?x46) (ite (not $x60) ?0 ?x46)))))
  4144 (let ((@x49 (monotonicity (monotonicity @x43 (= (ite $x30 ?0 (dec_10$ (- ?0 10))) ?x44)) (= (= ?x28 (ite $x30 ?0 (dec_10$ (- ?0 10)))) $x47))))
  5103 (let ((@x69 (trans @x64 (rewrite (= (ite (not $x60) ?0 ?x46) ?x65)) (= (ite (< ?x29 10) ?0 ?x46) ?x65))))
  4145 (let ((@x72 (trans (quant-intro @x49 (= $x35 $x50)) (quant-intro @x67 (= $x50 $x68)) (= $x35 $x68))))
  5104 (let ((@x72 (monotonicity @x69 (= (= ?x28 (ite (< ?x29 10) ?0 ?x46)) $x70))))
  4146 (let ((@x86 (mp~ (mp (asserted $x35) @x72 $x68) (nnf-pos (refl (~ $x65 $x65)) (~ $x68 $x68)) $x68)))
  5105 (let (($x31 (< ?x29 10)))
  4147 (let ((@x95 (mp @x86 (quant-intro (rewrite (= $x65 $x87)) (= $x68 $x92)) $x92)))
  5106 (let ((?x49 (ite $x31 ?0 ?x46)))
  4148 (let ((@x518 (mp @x95 (quant-intro (refl (= $x87 $x87)) (= $x92 $x513)) $x513)))
  5107 (let (($x52 (= ?x28 ?x49)))
  4149 (let (($x501 (not $x513)))
  5108 (let ((@x45 (monotonicity (rewrite (= (- ?x29 10) (+ (- 10) ?x29))) (= (nat$ (- ?x29 10)) (nat$ (+ (- 10) ?x29))))))
  4150 (let (($x163 (or $x501 $x174)))
  5109 (let ((@x51 (monotonicity (monotonicity @x45 (= (dec_10$ (nat$ (- ?x29 10))) ?x46)) (= (ite $x31 ?0 (dec_10$ (nat$ (- ?x29 10)))) ?x49))))
  4151 (let ((?x97 (+ (- 10) 4)))
  5110 (let ((@x54 (monotonicity @x51 (= (= ?x28 (ite $x31 ?0 (dec_10$ (nat$ (- ?x29 10))))) $x52))))
  4152 (let ((?x183 (dec_10$ ?x97)))
  5111 (let ((@x77 (trans (quant-intro @x54 (= $x37 $x55)) (quant-intro @x72 (= $x55 $x73)) (= $x37 $x73))))
  4153 (let (($x184 (= ?x75 ?x183)))
  5112 (let ((@x161 (mp~ (mp (asserted $x37) @x77 $x73) (nnf-pos (refl (~ $x70 $x70)) (~ $x73 $x73)) $x73)))
  4154 (let (($x96 (>= 4 10)))
  5113 (let ((@x183 (mp @x161 (quant-intro (rewrite (= $x70 $x177)) (= $x73 $x180)) $x180)))
  4155 (let (($x185 (ite $x96 $x184 $x174)))
  5114 (let ((@x607 (mp @x183 (quant-intro (refl (= $x177 $x177)) (= $x180 $x602)) $x602)))
  4156 (let ((@x172 (monotonicity (monotonicity (rewrite (= ?x97 (- 6))) (= ?x183 (dec_10$ (- 6)))) (= $x184 (= ?x75 (dec_10$ (- 6)))))))
  5115 (let (($x256 (not $x602)))
  4157 (let ((@x507 (monotonicity (rewrite (= $x96 false)) @x172 (= $x185 (ite false (= ?x75 (dec_10$ (- 6))) $x174)))))
  5116 (let (($x452 (or $x256 $x449)))
  4158 (let ((@x511 (trans @x507 (rewrite (= (ite false (= ?x75 (dec_10$ (- 6))) $x174) $x174)) (= $x185 $x174))))
  5117 (let ((@x420 ((_ quant-inst (nat$ 6)) $x452)))
  4159 (let ((@x148 (trans (monotonicity @x511 (= (or $x501 $x185) $x163)) (rewrite (= $x163 $x163)) (= (or $x501 $x185) $x163))))
  5118 (let (($x385 (not $x460)))
  4160 (let ((@x149 (mp ((_ quant-inst 4) (or $x501 $x185)) @x148 $x163)))
  5119 (let (($x450 (<= ?x487 6)))
  4161 (let ((@x438 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x174) $x150)) (unit-resolution @x149 @x518 $x174) $x150)))
  5120 (let (($x488 (= ?x487 6)))
  4162 (let (($x151 (>= ?x75 4)))
  5121 (let (($x616 (forall ((?v0 Int) )(!(let ((?x97 (nat$ ?v0)))
  4163 (let ((@x428 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x174) $x151)) (unit-resolution @x149 @x518 $x174) $x151)))
  5122 (let ((?x98 (of_nat$ ?x97)))
  4164 (let ((?x489 (+ (- 10) ?x76)))
  5123 (let (($x99 (= ?x98 ?v0)))
  4165 (let ((?x490 (dec_10$ ?x489)))
  5124 (let (($x112 (>= ?v0 0)))
  4166 (let ((?x448 (* (- 1) ?x490)))
  5125 (let (($x113 (not $x112)))
  4167 (let ((?x449 (+ ?x76 ?x448)))
  5126 (or $x113 $x99)))))) :pattern ( (nat$ ?v0) )))
  4168 (let (($x444 (<= ?x449 10)))
  5127 ))
  4169 (let (($x292 (= ?x449 10)))
  5128 (let (($x119 (forall ((?v0 Int) )(let ((?x97 (nat$ ?v0)))
  4170 (let ((?x455 (+ (- 20) ?x76)))
  5129 (let ((?x98 (of_nat$ ?x97)))
  4171 (let ((?x458 (dec_10$ ?x455)))
  5130 (let (($x99 (= ?x98 ?v0)))
  4172 (let (($x461 (= ?x490 ?x458)))
  5131 (let (($x112 (>= ?v0 0)))
  4173 (let (($x310 (>= ?x75 5)))
  5132 (let (($x113 (not $x112)))
  4174 (let (($x450 (ite $x310 $x461 $x292)))
  5133 (or $x113 $x99)))))))
  4175 (let (($x453 (or $x501 $x450)))
  5134 ))
  4176 (let (($x470 (= ?x490 ?x489)))
  5135 (let ((?x97 (nat$ ?0)))
  4177 (let ((?x467 (+ (- 10) ?x489)))
  5136 (let ((?x98 (of_nat$ ?x97)))
  4178 (let ((?x468 (dec_10$ ?x467)))
  5137 (let (($x99 (= ?x98 ?0)))
  4179 (let (($x469 (= ?x490 ?x468)))
  5138 (let (($x112 (>= ?0 0)))
  4180 (let (($x466 (>= ?x489 10)))
  5139 (let (($x113 (not $x112)))
  4181 (let (($x471 (ite $x466 $x469 $x470)))
  5140 (let (($x116 (or $x113 $x99)))
  4182 (let ((@x463 (monotonicity (monotonicity (rewrite (= ?x467 ?x455)) (= ?x468 ?x458)) (= $x469 $x461))))
  5141 (let (($x101 (forall ((?v0 Int) )(let ((?x97 (nat$ ?v0)))
  4183 (let ((@x452 (monotonicity (rewrite (= $x466 $x310)) @x463 (rewrite (= $x470 $x292)) (= $x471 $x450))))
  5142 (let ((?x98 (of_nat$ ?x97)))
  4184 (let ((@x442 (trans (monotonicity @x452 (= (or $x501 $x471) $x453)) (rewrite (= $x453 $x453)) (= (or $x501 $x471) $x453))))
  5143 (let (($x99 (= ?x98 ?v0)))
  4185 (let ((@x443 (mp ((_ quant-inst (+ (- 10) ?x76)) (or $x501 $x471)) @x442 $x453)))
  5144 (let (($x96 (<= 0 ?v0)))
  4186 (let (($x346 (not $x310)))
  5145 (=> $x96 $x99))))))
  4187 (let ((@x418 (unit-resolution (def-axiom (or (not $x450) $x310 $x292)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x346 (not $x150))) @x438 $x346) (or (not $x450) $x292))))
  5146 ))
  4188 (let ((@x422 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x292) $x444)) (unit-resolution @x418 (unit-resolution @x443 @x518 $x450) $x292) $x444)))
  5147 (let (($x107 (forall ((?v0 Int) )(let ((?x97 (nat$ ?v0)))
  4189 (let (($x336 (>= ?x449 10)))
  5148 (let ((?x98 (of_nat$ ?x97)))
  4190 (let ((@x410 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x292) $x336)) (unit-resolution @x418 (unit-resolution @x443 @x518 $x450) $x292) $x336)))
  5149 (let (($x99 (= ?x98 ?v0)))
  4191 (let (($x491 (= ?x77 ?x490)))
  5150 (or (not (<= 0 ?v0)) $x99)))))
  4192 (let ((?x499 (* (- 1) ?x77)))
  5151 ))
  4193 (let ((?x485 (+ ?x76 ?x499)))
  5152 (let ((@x115 (monotonicity (rewrite (= (<= 0 ?0) $x112)) (= (not (<= 0 ?0)) $x113))))
  4194 (let (($x497 (= ?x485 0)))
  5153 (let ((@x121 (quant-intro (monotonicity @x115 (= (or (not (<= 0 ?0)) $x99) $x116)) (= $x107 $x119))))
  4195 (let (($x131 (>= ?x75 3)))
  5154 (let ((@x106 (rewrite (= (=> (<= 0 ?0) $x99) (or (not (<= 0 ?0)) $x99)))))
  4196 (let (($x486 (ite $x131 $x491 $x497)))
  5155 (let ((@x124 (mp (asserted $x101) (trans (quant-intro @x106 (= $x101 $x107)) @x121 (= $x101 $x119)) $x119)))
  4197 (let (($x205 (or $x501 $x486)))
  5156 (let ((@x621 (mp (mp~ @x124 (nnf-pos (refl (~ $x116 $x116)) (~ $x119 $x119)) $x119) (quant-intro (refl (= $x116 $x116)) (= $x119 $x616)) $x616)))
  4198 (let ((@x204 (monotonicity (rewrite (= (>= ?x76 10) $x131)) (rewrite (= (= ?x77 ?x76) $x497)) (= (ite (>= ?x76 10) $x491 (= ?x77 ?x76)) $x486))))
  5157 (let (($x544 (not $x616)))
  4199 (let ((@x479 (monotonicity @x204 (= (or $x501 (ite (>= ?x76 10) $x491 (= ?x77 ?x76))) $x205))))
  5158 (let (($x480 (or $x544 $x488)))
  4200 (let ((@x212 (trans @x479 (rewrite (= $x205 $x205)) (= (or $x501 (ite (>= ?x76 10) $x491 (= ?x77 ?x76))) $x205))))
  5159 (let ((@x491 (rewrite (= (>= 6 0) true))))
  4201 (let ((@x481 (mp ((_ quant-inst (* 4 ?x75)) (or $x501 (ite (>= ?x76 10) $x491 (= ?x77 ?x76)))) @x212 $x205)))
  5160 (let ((@x495 (trans (monotonicity @x491 (= (not (>= 6 0)) (not true))) (rewrite (= (not true) false)) (= (not (>= 6 0)) false))))
  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)))
  5161 (let ((@x475 (monotonicity @x495 (= (or (not (>= 6 0)) $x488) (or false $x488)))))
  4203 (let (($x80 (not $x79)))
  5162 (let ((@x479 (trans @x475 (rewrite (= (or false $x488) $x488)) (= (or (not (>= 6 0)) $x488) $x488))))
  4204 (let ((@x81 (asserted $x80)))
  5163 (let ((@x465 (monotonicity @x479 (= (or $x544 (or (not (>= 6 0)) $x488)) $x480))))
  4205 (unit-resolution @x81 (trans @x397 ((_ th-lemma arith eq-propagate 1 1 -4 -4) @x410 @x422 @x428 @x438 (= ?x490 6)) $x79) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  5164 (let ((@x468 (trans @x465 (rewrite (= $x480 $x480)) (= (or $x544 (or (not (>= 6 0)) $x488)) $x480))))
  4206 
  5165 (let ((@x469 (mp ((_ quant-inst 6) (or $x544 (or (not (>= 6 0)) $x488))) @x468 $x480)))
  4207 fa62bf7228a50eb8c663092f87f9af7c25feaffe 336 0
  5166 (let ((@x415 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x488) $x450)) (unit-resolution @x469 @x621 $x488) $x450)))
       
  5167 (let ((@x386 (unit-resolution (def-axiom (or (not $x449) $x460 $x421)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x450) $x385)) @x415 $x385) (unit-resolution @x420 @x607 $x449) $x421)))
       
  5168 (let ((?x251 (of_nat$ ?x80)))
       
  5169 (let ((?x454 (* (- 1) ?x251)))
       
  5170 (let ((?x455 (+ ?x82 ?x454)))
       
  5171 (let (($x456 (<= ?x455 0)))
       
  5172 (let (($x453 (= ?x82 ?x251)))
       
  5173 (let (($x238 (= ?x81 ?x80)))
       
  5174 (let ((?x233 (+ (- 10) ?x251)))
       
  5175 (let ((?x575 (nat$ ?x233)))
       
  5176 (let ((?x236 (dec_10$ ?x575)))
       
  5177 (let (($x237 (= ?x81 ?x236)))
       
  5178 (let (($x252 (>= ?x251 10)))
       
  5179 (let (($x239 (ite $x252 $x237 $x238)))
       
  5180 (let (($x578 (or $x256 $x239)))
       
  5181 (let ((@x579 ((_ quant-inst (nat$ 4)) $x578)))
       
  5182 (let (($x581 (not $x252)))
       
  5183 (let (($x380 (<= ?x251 4)))
       
  5184 (let (($x563 (= ?x251 4)))
       
  5185 (let (($x545 (or $x544 $x563)))
       
  5186 (let ((@x566 (rewrite (= (>= 4 0) true))))
       
  5187 (let ((@x558 (trans (monotonicity @x566 (= (not (>= 4 0)) (not true))) (rewrite (= (not true) false)) (= (not (>= 4 0)) false))))
       
  5188 (let ((@x398 (monotonicity @x558 (= (or (not (>= 4 0)) $x563) (or false $x563)))))
       
  5189 (let ((@x543 (trans @x398 (rewrite (= (or false $x563) $x563)) (= (or (not (>= 4 0)) $x563) $x563))))
       
  5190 (let ((@x549 (monotonicity @x543 (= (or $x544 (or (not (>= 4 0)) $x563)) $x545))))
       
  5191 (let ((@x377 (trans @x549 (rewrite (= $x545 $x545)) (= (or $x544 (or (not (>= 4 0)) $x563)) $x545))))
       
  5192 (let ((@x379 (mp ((_ quant-inst 4) (or $x544 (or (not (>= 4 0)) $x563))) @x377 $x545)))
       
  5193 (let ((@x393 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x563) $x380)) (unit-resolution @x379 @x621 $x563) $x380)))
       
  5194 (let ((@x367 (unit-resolution (def-axiom (or (not $x239) $x252 $x238)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x380) $x581)) @x393 $x581) (unit-resolution @x579 @x607 $x239) $x238)))
       
  5195 (let ((@x215 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x453) $x456)) (monotonicity @x367 $x453) $x456)))
       
  5196 (let (($x457 (>= ?x455 0)))
       
  5197 (let ((@x376 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x453) $x457)) (monotonicity @x367 $x453) $x457)))
       
  5198 (let (($x536 (>= ?x251 4)))
       
  5199 (let ((@x362 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x563) $x536)) (unit-resolution @x379 @x621 $x563) $x536)))
       
  5200 (let ((?x576 (of_nat$ ?x84)))
       
  5201 (let ((?x439 (* (- 1) ?x576)))
       
  5202 (let ((?x440 (+ ?x83 ?x439)))
       
  5203 (let (($x517 (<= ?x440 0)))
       
  5204 (let (($x438 (= ?x440 0)))
       
  5205 (let (($x532 (>= ?x82 0)))
       
  5206 (let ((@x354 (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x532 (not $x536) (not $x457))) @x362 @x376 $x532)))
       
  5207 (let (($x434 (not $x532)))
       
  5208 (let (($x533 (or $x434 $x438)))
       
  5209 (let (($x522 (or $x544 $x434 $x438)))
       
  5210 (let (($x530 (= ?x576 ?x83)))
       
  5211 (let (($x529 (>= ?x83 0)))
       
  5212 (let (($x433 (not $x529)))
       
  5213 (let (($x531 (or $x433 $x530)))
       
  5214 (let (($x523 (or $x544 $x531)))
       
  5215 (let ((@x535 (monotonicity (monotonicity (rewrite (= $x529 $x532)) (= $x433 $x434)) (rewrite (= $x530 $x438)) (= $x531 $x533))))
       
  5216 (let ((@x528 (trans (monotonicity @x535 (= $x523 (or $x544 $x533))) (rewrite (= (or $x544 $x533) $x522)) (= $x523 $x522))))
       
  5217 (let ((@x516 (mp ((_ quant-inst (* 4 ?x82)) $x523) @x528 $x522)))
       
  5218 (let ((@x351 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x438) $x517)) (unit-resolution (unit-resolution @x516 @x621 $x533) @x354 $x438) $x517)))
       
  5219 (let (($x518 (>= ?x440 0)))
       
  5220 (let ((@x345 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x438) $x518)) (unit-resolution (unit-resolution @x516 @x621 $x533) @x354 $x438) $x518)))
       
  5221 (let ((@x349 (monotonicity ((_ th-lemma arith eq-propagate 1 1 -4 -4 -4 -4) @x345 @x351 @x362 @x393 @x376 @x215 (= (+ (- 10) ?x576) 6)) (= (nat$ (+ (- 10) ?x576)) ?x87))))
       
  5222 (let ((?x574 (+ (- 10) ?x576)))
       
  5223 (let ((?x278 (nat$ ?x574)))
       
  5224 (let ((?x292 (dec_10$ ?x278)))
       
  5225 (let (($x293 (= ?x85 ?x292)))
       
  5226 (let (($x294 (= ?x85 ?x84)))
       
  5227 (let (($x577 (>= ?x576 10)))
       
  5228 (let (($x295 (ite $x577 $x293 $x294)))
       
  5229 (let (($x568 (or $x256 $x295)))
       
  5230 (let ((@x299 ((_ quant-inst (nat$ ?x83)) $x568)))
       
  5231 (let ((@x336 (unit-resolution ((_ th-lemma arith assign-bounds 1 4 4) (or $x577 (not $x517) (not $x536) (not $x457))) @x362 @x351 @x376 $x577)))
       
  5232 (let ((@x337 (unit-resolution (def-axiom (or (not $x295) (not $x577) $x293)) @x336 (unit-resolution @x299 @x607 $x295) $x293)))
       
  5233 (let ((@x323 (trans (trans @x337 (monotonicity @x349 (= ?x292 ?x461)) (= ?x85 ?x461)) @x386 $x88)))
       
  5234 (let (($x89 (not $x88)))
       
  5235 (let ((@x90 (asserted $x89)))
       
  5236 (unit-resolution @x90 @x323 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
       
  5237 
       
  5238 f8d23ebbeac7f77a32b969922f558052d0057659 336 0
       
  5239 unsat
  4208 unsat
  5240 ((set-logic <null>)
  4209 ((set-logic <null>)
  5241 (proof
  4210 (proof
  5242 (let ((?x102 (mod$ l$ 2)))
  4211 (let ((?x99 (mod$ l$ 2)))
  5243 (let ((?x99 (map$ uu$ xs$)))
  4212 (let ((?x96 (map$ uu$ xs$)))
  5244 (let ((?x100 (eval_dioph$ ks$ ?x99)))
  4213 (let ((?x97 (eval_dioph$ ks$ ?x96)))
  5245 (let ((?x101 (mod$ ?x100 2)))
  4214 (let ((?x98 (mod$ ?x97 2)))
  5246 (let (($x103 (= ?x101 ?x102)))
  4215 (let (($x100 (= ?x98 ?x99)))
  5247 (let ((?x96 (eval_dioph$ ks$ xs$)))
  4216 (let ((?x93 (eval_dioph$ ks$ xs$)))
  5248 (let (($x98 (= ?x96 l$)))
  4217 (let (($x95 (= ?x93 l$)))
  5249 (let ((?x113 (* (- 1) ?x100)))
  4218 (let ((?x110 (* (- 1) ?x97)))
  5250 (let ((?x114 (+ l$ ?x113)))
  4219 (let ((?x111 (+ l$ ?x110)))
  5251 (let ((?x117 (div$ ?x114 2)))
  4220 (let ((?x114 (div$ ?x111 2)))
  5252 (let ((?x104 (map$ uua$ xs$)))
  4221 (let ((?x101 (map$ uua$ xs$)))
  5253 (let ((?x105 (eval_dioph$ ks$ ?x104)))
  4222 (let ((?x102 (eval_dioph$ ks$ ?x101)))
  5254 (let (($x120 (= ?x105 ?x117)))
  4223 (let (($x117 (= ?x102 ?x114)))
  5255 (let (($x364 (not $x120)))
  4224 (let (($x282 (not $x117)))
  5256 (let (($x363 (not $x103)))
  4225 (let (($x281 (not $x100)))
  5257 (let (($x365 (or $x363 $x364)))
  4226 (let (($x283 (or $x281 $x282)))
  5258 (let ((?x849 (div ?x96 2)))
  4227 (let ((?x744 (div ?x93 2)))
  5259 (let ((?x1076 (* (- 1) ?x849)))
  4228 (let ((?x970 (* (- 1) ?x744)))
  5260 (let ((?x804 (mod ?x96 2)))
  4229 (let ((?x699 (mod ?x93 2)))
  5261 (let ((?x831 (* (- 1) ?x804)))
  4230 (let ((?x726 (* (- 1) ?x699)))
  5262 (let ((?x621 (mod l$ 2)))
  4231 (let ((?x516 (mod l$ 2)))
  5263 (let ((?x648 (* (- 1) ?x621)))
  4232 (let ((?x543 (* (- 1) ?x516)))
  5264 (let (($x1078 (>= (+ l$ ?x102 ?x648 (* (- 1) (div l$ 2)) ?x831 ?x1076) 1)))
  4233 (let (($x972 (>= (+ l$ ?x99 ?x543 (* (- 1) (div l$ 2)) ?x726 ?x970) 1)))
  5265 (let ((?x475 (* (- 1) l$)))
  4234 (let ((?x369 (* (- 1) l$)))
  5266 (let ((?x798 (+ ?x96 ?x475)))
  4235 (let ((?x693 (+ ?x93 ?x369)))
  5267 (let (($x800 (>= ?x798 0)))
  4236 (let (($x695 (>= ?x693 0)))
  5268 (let (($x874 (not $x800)))
  4237 (let (($x857 (not $x695)))
  5269 (let (($x799 (<= ?x798 0)))
  4238 (let (($x694 (<= ?x693 0)))
  5270 (let ((?x791 (+ ?x105 (* (- 1) ?x117))))
  4239 (let ((?x686 (+ ?x102 (* (- 1) ?x114))))
  5271 (let (($x792 (<= ?x791 0)))
  4240 (let (($x687 (<= ?x686 0)))
  5272 (let (($x366 (not $x365)))
  4241 (let (($x284 (not $x283)))
  5273 (let ((@x583 (hypothesis $x366)))
  4242 (let ((@x837 (hypothesis $x284)))
  5274 (let ((@x577 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x364 $x792)) (unit-resolution (def-axiom (or $x365 $x120)) @x583 $x120) $x792)))
  4243 (let ((@x591 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x282 $x687)) (unit-resolution (def-axiom (or $x283 $x117)) @x837 $x117) $x687)))
  5275 (let ((?x542 (+ l$ ?x113 (* (- 2) (div ?x114 2)) (* (- 1) (mod (+ l$ ?x100) 2)))))
  4244 (let ((?x437 (+ l$ ?x110 (* (- 2) (div ?x111 2)) (* (- 1) (mod (+ l$ ?x97) 2)))))
  5276 (let (($x548 (>= ?x542 0)))
  4245 (let (($x443 (>= ?x437 0)))
  5277 (let (($x539 (= ?x542 0)))
  4246 (let (($x434 (= ?x437 0)))
  5278 (let ((@x26 (true-axiom true)))
  4247 (let ((@x26 (true-axiom true)))
  5279 (let ((@x898 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x539) $x548)) (unit-resolution ((_ th-lemma arith) (or false $x539)) @x26 $x539) $x548)))
  4248 (let ((@x793 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x434) $x443)) (unit-resolution ((_ th-lemma arith) (or false $x434)) @x26 $x434) $x443)))
  5280 (let ((?x606 (* (- 2) ?x105)))
  4249 (let ((?x501 (* (- 2) ?x102)))
  5281 (let ((?x607 (+ ?x96 ?x113 ?x606)))
  4250 (let ((?x502 (+ ?x93 ?x110 ?x501)))
  5282 (let (($x614 (<= ?x607 0)))
  4251 (let (($x509 (<= ?x502 0)))
  5283 (let (($x608 (= ?x607 0)))
       
  5284 (let (($x386 (forall ((?v0 Int_list$) (?v1 Nat_list$) )(!(let ((?x48 (eval_dioph$ ?v0 ?v1)))
       
  5285 (let ((?x86 (+ ?x48 (* (- 1) (eval_dioph$ ?v0 (map$ uu$ ?v1))) (* (- 2) (eval_dioph$ ?v0 (map$ uua$ ?v1))))))
       
  5286 (= ?x86 0))) :pattern ( (eval_dioph$ ?v0 (map$ uu$ ?v1)) ) :pattern ( (eval_dioph$ ?v0 (map$ uua$ ?v1)) )))
       
  5287 ))
       
  5288 (let (($x88 (forall ((?v0 Int_list$) (?v1 Nat_list$) )(let ((?x48 (eval_dioph$ ?v0 ?v1)))
       
  5289 (let ((?x86 (+ ?x48 (* (- 1) (eval_dioph$ ?v0 (map$ uu$ ?v1))) (* (- 2) (eval_dioph$ ?v0 (map$ uua$ ?v1))))))
       
  5290 (= ?x86 0))))
       
  5291 ))
       
  5292 (let ((?x48 (eval_dioph$ ?1 ?0)))
       
  5293 (let ((?x86 (+ ?x48 (* (- 1) (eval_dioph$ ?1 (map$ uu$ ?0))) (* (- 2) (eval_dioph$ ?1 (map$ uua$ ?0))))))
       
  5294 (let (($x82 (= ?x86 0)))
       
  5295 (let (($x61 (forall ((?v0 Int_list$) (?v1 Nat_list$) )(let ((?x48 (eval_dioph$ ?v0 ?v1)))
       
  5296 (let ((?x51 (eval_dioph$ ?v0 (map$ uu$ ?v1))))
       
  5297 (let ((?x59 (+ (* (eval_dioph$ ?v0 (map$ uua$ ?v1)) 2) ?x51)))
       
  5298 (= ?x59 ?x48)))))
       
  5299 ))
       
  5300 (let (($x77 (forall ((?v0 Int_list$) (?v1 Nat_list$) )(let ((?x48 (eval_dioph$ ?v0 ?v1)))
       
  5301 (let ((?x57 (eval_dioph$ ?v0 (map$ uua$ ?v1))))
       
  5302 (let ((?x63 (* 2 ?x57)))
       
  5303 (let ((?x51 (eval_dioph$ ?v0 (map$ uu$ ?v1))))
       
  5304 (let ((?x69 (+ ?x51 ?x63)))
       
  5305 (= ?x69 ?x48)))))))
       
  5306 ))
       
  5307 (let ((?x57 (eval_dioph$ ?1 (map$ uua$ ?0))))
       
  5308 (let ((?x63 (* 2 ?x57)))
       
  5309 (let ((?x51 (eval_dioph$ ?1 (map$ uu$ ?0))))
       
  5310 (let ((?x69 (+ ?x51 ?x63)))
       
  5311 (let (($x74 (= ?x69 ?x48)))
       
  5312 (let ((@x68 (monotonicity (rewrite (= (* ?x57 2) ?x63)) (= (+ (* ?x57 2) ?x51) (+ ?x63 ?x51)))))
       
  5313 (let ((@x73 (trans @x68 (rewrite (= (+ ?x63 ?x51) ?x69)) (= (+ (* ?x57 2) ?x51) ?x69))))
       
  5314 (let ((@x79 (quant-intro (monotonicity @x73 (= (= (+ (* ?x57 2) ?x51) ?x48) $x74)) (= $x61 $x77))))
       
  5315 (let ((@x92 (trans @x79 (quant-intro (rewrite (= $x74 $x82)) (= $x77 $x88)) (= $x61 $x88))))
       
  5316 (let ((@x337 (mp~ (mp (asserted $x61) @x92 $x88) (nnf-pos (refl (~ $x82 $x82)) (~ $x88 $x88)) $x88)))
       
  5317 (let ((@x391 (mp @x337 (quant-intro (refl (= $x82 $x82)) (= $x88 $x386)) $x386)))
       
  5318 (let (($x612 (or (not $x386) $x608)))
       
  5319 (let ((@x613 ((_ quant-inst ks$ xs$) $x612)))
       
  5320 (let ((@x905 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x608) $x614)) (unit-resolution @x613 @x391 $x608) $x614)))
       
  5321 (let ((?x502 (+ ?x117 (* (- 1) (div ?x114 2)))))
       
  5322 (let (($x519 (<= ?x502 0)))
       
  5323 (let (($x503 (= ?x502 0)))
  4252 (let (($x503 (= ?x502 0)))
  5324 (let (($x413 (forall ((?v0 Int) (?v1 Int) )(!(let ((?x212 (div ?v0 ?v1)))
  4253 (let (($x304 (forall ((?v0 Int_list$) (?v1 Int_list$) )(!(let ((?x45 (eval_dioph$ ?v0 ?v1)))
  5325 (let ((?x224 (* (- 1) ?v1)))
  4254 (let ((?x83 (+ ?x45 (* (- 1) (eval_dioph$ ?v0 (map$ uu$ ?v1))) (* (- 2) (eval_dioph$ ?v0 (map$ uua$ ?v1))))))
  5326 (let ((?x221 (* (- 1) ?v0)))
  4255 (= ?x83 0))) :pattern ( (eval_dioph$ ?v0 (map$ uu$ ?v1)) ) :pattern ( (eval_dioph$ ?v0 (map$ uua$ ?v1)) )))
  5327 (let ((?x227 (div ?x221 ?x224)))
  4256 ))
  5328 (let (($x242 (<= ?v1 0)))
  4257 (let (($x85 (forall ((?v0 Int_list$) (?v1 Int_list$) )(let ((?x45 (eval_dioph$ ?v0 ?v1)))
  5329 (let ((?x249 (ite $x242 ?x227 ?x212)))
  4258 (let ((?x83 (+ ?x45 (* (- 1) (eval_dioph$ ?v0 (map$ uu$ ?v1))) (* (- 2) (eval_dioph$ ?v0 (map$ uua$ ?v1))))))
  5330 (let (($x210 (= ?v1 0)))
  4259 (= ?x83 0))))
  5331 (let ((?x209 (div$ ?v0 ?v1)))
  4260 ))
  5332 (= ?x209 (ite $x210 0 ?x249)))))))))) :pattern ( (div$ ?v0 ?v1) )))
  4261 (let ((?x45 (eval_dioph$ ?1 ?0)))
  5333 ))
  4262 (let ((?x83 (+ ?x45 (* (- 1) (eval_dioph$ ?1 (map$ uu$ ?0))) (* (- 2) (eval_dioph$ ?1 (map$ uua$ ?0))))))
  5334 (let (($x260 (forall ((?v0 Int) (?v1 Int) )(let ((?x212 (div ?v0 ?v1)))
  4263 (let (($x79 (= ?x83 0)))
  5335 (let ((?x224 (* (- 1) ?v1)))
  4264 (let (($x58 (forall ((?v0 Int_list$) (?v1 Int_list$) )(let ((?x45 (eval_dioph$ ?v0 ?v1)))
  5336 (let ((?x221 (* (- 1) ?v0)))
  4265 (let ((?x48 (eval_dioph$ ?v0 (map$ uu$ ?v1))))
  5337 (let ((?x227 (div ?x221 ?x224)))
  4266 (let ((?x56 (+ (* (eval_dioph$ ?v0 (map$ uua$ ?v1)) 2) ?x48)))
  5338 (let (($x242 (<= ?v1 0)))
  4267 (= ?x56 ?x45)))))
  5339 (let ((?x249 (ite $x242 ?x227 ?x212)))
  4268 ))
  5340 (let (($x210 (= ?v1 0)))
  4269 (let (($x74 (forall ((?v0 Int_list$) (?v1 Int_list$) )(let ((?x45 (eval_dioph$ ?v0 ?v1)))
  5341 (let ((?x209 (div$ ?v0 ?v1)))
  4270 (let ((?x54 (eval_dioph$ ?v0 (map$ uua$ ?v1))))
  5342 (= ?x209 (ite $x210 0 ?x249)))))))))))
  4271 (let ((?x60 (* 2 ?x54)))
  5343 ))
  4272 (let ((?x48 (eval_dioph$ ?v0 (map$ uu$ ?v1))))
  5344 (let ((?x212 (div ?1 ?0)))
  4273 (let ((?x66 (+ ?x48 ?x60)))
  5345 (let ((?x224 (* (- 1) ?0)))
  4274 (= ?x66 ?x45)))))))
  5346 (let ((?x221 (* (- 1) ?1)))
  4275 ))
  5347 (let ((?x227 (div ?x221 ?x224)))
  4276 (let ((?x54 (eval_dioph$ ?1 (map$ uua$ ?0))))
  5348 (let (($x242 (<= ?0 0)))
  4277 (let ((?x60 (* 2 ?x54)))
  5349 (let ((?x249 (ite $x242 ?x227 ?x212)))
  4278 (let ((?x48 (eval_dioph$ ?1 (map$ uu$ ?0))))
  5350 (let (($x210 (= ?0 0)))
  4279 (let ((?x66 (+ ?x48 ?x60)))
  5351 (let ((?x209 (div$ ?1 ?0)))
  4280 (let (($x71 (= ?x66 ?x45)))
  5352 (let (($x257 (= ?x209 (ite $x210 0 ?x249))))
  4281 (let ((@x65 (monotonicity (rewrite (= (* ?x54 2) ?x60)) (= (+ (* ?x54 2) ?x48) (+ ?x60 ?x48)))))
  5353 (let (($x219 (forall ((?v0 Int) (?v1 Int) )(let (($x210 (= ?v1 0)))
  4282 (let ((@x70 (trans @x65 (rewrite (= (+ ?x60 ?x48) ?x66)) (= (+ (* ?x54 2) ?x48) ?x66))))
  5354 (let ((?x217 (ite $x210 0 (ite (< 0 ?v1) (div ?v0 ?v1) (div (- ?v0) (- ?v1))))))
  4283 (let ((@x76 (quant-intro (monotonicity @x70 (= (= (+ (* ?x54 2) ?x48) ?x45) $x71)) (= $x58 $x74))))
  5355 (let ((?x209 (div$ ?v0 ?v1)))
  4284 (let ((@x89 (trans @x76 (quant-intro (rewrite (= $x71 $x79)) (= $x74 $x85)) (= $x58 $x85))))
  5356 (= ?x209 ?x217)))))
  4285 (let ((@x270 (mp~ (mp (asserted $x58) @x89 $x85) (nnf-pos (refl (~ $x79 $x79)) (~ $x85 $x85)) $x85)))
  5357 ))
  4286 (let ((@x309 (mp @x270 (quant-intro (refl (= $x79 $x79)) (= $x85 $x304)) $x304)))
  5358 (let (($x239 (forall ((?v0 Int) (?v1 Int) )(let ((?x224 (* (- 1) ?v1)))
  4287 (let (($x507 (or (not $x304) $x503)))
  5359 (let ((?x221 (* (- 1) ?v0)))
  4288 (let ((@x508 ((_ quant-inst ks$ xs$) $x507)))
  5360 (let ((?x227 (div ?x221 ?x224)))
  4289 (let ((@x800 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x503) $x509)) (unit-resolution @x508 @x309 $x503) $x509)))
  5361 (let ((?x212 (div ?v0 ?v1)))
  4290 (let ((?x396 (+ ?x114 (* (- 1) (div ?x111 2)))))
  5362 (let (($x211 (< 0 ?v1)))
  4291 (let (($x413 (<= ?x396 0)))
  5363 (let ((?x230 (ite $x211 ?x212 ?x227)))
  4292 (let (($x397 (= ?x396 0)))
  5364 (let (($x210 (= ?v1 0)))
  4293 (let (($x311 (forall ((?v0 Int) (?v1 Int) )(!(let ((?x145 (div ?v0 ?v1)))
  5365 (let ((?x233 (ite $x210 0 ?x230)))
  4294 (let ((?x157 (* (- 1) ?v1)))
  5366 (let ((?x209 (div$ ?v0 ?v1)))
  4295 (let ((?x154 (* (- 1) ?v0)))
  5367 (= ?x209 ?x233)))))))))))
  4296 (let ((?x160 (div ?x154 ?x157)))
  5368 ))
  4297 (let (($x175 (<= ?v1 0)))
  5369 (let (($x211 (< 0 ?0)))
  4298 (let ((?x182 (ite $x175 ?x160 ?x145)))
  5370 (let ((?x230 (ite $x211 ?x212 ?x227)))
  4299 (let (($x143 (= ?v1 0)))
  5371 (let ((?x233 (ite $x210 0 ?x230)))
  4300 (let ((?x141 (div$ ?v0 ?v1)))
  5372 (let ((@x248 (monotonicity (rewrite (= $x211 (not $x242))) (= ?x230 (ite (not $x242) ?x212 ?x227)))))
  4301 (= ?x141 (ite $x143 0 ?x182)))))))))) :pattern ( (div$ ?v0 ?v1) )))
  5373 (let ((@x253 (trans @x248 (rewrite (= (ite (not $x242) ?x212 ?x227) ?x249)) (= ?x230 ?x249))))
  4302 ))
  5374 (let ((@x259 (monotonicity (monotonicity @x253 (= ?x233 (ite $x210 0 ?x249))) (= (= ?x209 ?x233) $x257))))
  4303 (let (($x193 (forall ((?v0 Int) (?v1 Int) )(let ((?x145 (div ?v0 ?v1)))
  5375 (let (($x236 (= ?x209 ?x233)))
  4304 (let ((?x157 (* (- 1) ?v1)))
  5376 (let (($x237 (= (= ?x209 (ite $x210 0 (ite $x211 ?x212 (div (- ?1) (- ?0))))) $x236)))
  4305 (let ((?x154 (* (- 1) ?v0)))
  5377 (let ((@x229 (monotonicity (rewrite (= (- ?1) ?x221)) (rewrite (= (- ?0) ?x224)) (= (div (- ?1) (- ?0)) ?x227))))
  4306 (let ((?x160 (div ?x154 ?x157)))
  5378 (let ((@x235 (monotonicity (monotonicity @x229 (= (ite $x211 ?x212 (div (- ?1) (- ?0))) ?x230)) (= (ite $x210 0 (ite $x211 ?x212 (div (- ?1) (- ?0)))) ?x233))))
  4307 (let (($x175 (<= ?v1 0)))
  5379 (let ((@x264 (trans (quant-intro (monotonicity @x235 $x237) (= $x219 $x239)) (quant-intro @x259 (= $x239 $x260)) (= $x219 $x260))))
  4308 (let ((?x182 (ite $x175 ?x160 ?x145)))
  5380 (let ((@x357 (mp~ (mp (asserted $x219) @x264 $x260) (nnf-pos (refl (~ $x257 $x257)) (~ $x260 $x260)) $x260)))
  4309 (let (($x143 (= ?v1 0)))
  5381 (let ((@x418 (mp @x357 (quant-intro (refl (= $x257 $x257)) (= $x260 $x413)) $x413)))
  4310 (let ((?x141 (div$ ?v0 ?v1)))
  5382 (let (($x509 (or (not $x413) $x503)))
  4311 (= ?x141 (ite $x143 0 ?x182)))))))))))
  5383 (let ((?x467 (div ?x114 2)))
  4312 ))
  5384 (let (($x463 (<= 2 0)))
  4313 (let ((?x145 (div ?1 ?0)))
  5385 (let ((?x468 (ite $x463 (div (* (- 1) ?x114) (* (- 1) 2)) ?x467)))
  4314 (let ((?x157 (* (- 1) ?0)))
  5386 (let (($x462 (= 2 0)))
  4315 (let ((?x154 (* (- 1) ?1)))
  5387 (let ((?x469 (ite $x462 0 ?x468)))
  4316 (let ((?x160 (div ?x154 ?x157)))
  5388 (let (($x470 (= ?x117 ?x469)))
  4317 (let (($x175 (<= ?0 0)))
  5389 (let ((@x480 (rewrite (= (* (- 1) 2) (- 2)))))
  4318 (let ((?x182 (ite $x175 ?x160 ?x145)))
  5390 (let ((@x483 (monotonicity (rewrite (= (* (- 1) ?x114) (+ ?x475 ?x100))) @x480 (= (div (* (- 1) ?x114) (* (- 1) 2)) (div (+ ?x475 ?x100) (- 2))))))
  4319 (let (($x143 (= ?0 0)))
  5391 (let ((@x474 (rewrite (= $x463 false))))
  4320 (let ((?x141 (div$ ?1 ?0)))
  5392 (let ((@x486 (monotonicity @x474 @x483 (= ?x468 (ite false (div (+ ?x475 ?x100) (- 2)) ?x467)))))
  4321 (let (($x190 (= ?x141 (ite $x143 0 ?x182))))
  5393 (let ((@x490 (trans @x486 (rewrite (= (ite false (div (+ ?x475 ?x100) (- 2)) ?x467) ?x467)) (= ?x468 ?x467))))
  4322 (let (($x152 (forall ((?v0 Int) (?v1 Int) )(let (($x143 (= ?v1 0)))
  5394 (let ((@x472 (rewrite (= $x462 false))))
  4323 (let ((?x150 (ite $x143 0 (ite (< 0 ?v1) (div ?v0 ?v1) (div (- ?v0) (- ?v1))))))
  5395 (let ((@x497 (trans (monotonicity @x472 @x490 (= ?x469 (ite false 0 ?x467))) (rewrite (= (ite false 0 ?x467) ?x467)) (= ?x469 ?x467))))
  4324 (let ((?x141 (div$ ?v0 ?v1)))
  5396 (let ((@x507 (trans (monotonicity @x497 (= $x470 (= ?x117 ?x467))) (rewrite (= (= ?x117 ?x467) $x503)) (= $x470 $x503))))
  4325 (= ?x141 ?x150)))))
  5397 (let ((@x516 (trans (monotonicity @x507 (= (or (not $x413) $x470) $x509)) (rewrite (= $x509 $x509)) (= (or (not $x413) $x470) $x509))))
  4326 ))
  5398 (let ((@x907 (unit-resolution (mp ((_ quant-inst (+ l$ ?x113) 2) (or (not $x413) $x470)) @x516 $x509) @x418 $x503)))
  4327 (let (($x172 (forall ((?v0 Int) (?v1 Int) )(let ((?x157 (* (- 1) ?v1)))
  5399 (let ((?x530 (mod (+ l$ ?x100) 2)))
  4328 (let ((?x154 (* (- 1) ?v0)))
  5400 (let (($x570 (>= ?x530 0)))
  4329 (let ((?x160 (div ?x154 ?x157)))
  5401 (let ((@x915 ((_ th-lemma arith farkas 1 -2 -2 -1 1 1) (unit-resolution ((_ th-lemma arith) (or false $x570)) @x26 $x570) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x503) $x519)) @x907 $x519) (hypothesis $x792) @x905 (hypothesis (not $x799)) @x898 false)))
  4330 (let ((?x145 (div ?v0 ?v1)))
  5402 (let (($x137 (not $x98)))
  4331 (let (($x144 (< 0 ?v1)))
  5403 (let (($x372 (= $x98 $x365)))
  4332 (let ((?x163 (ite $x144 ?x145 ?x160)))
  5404 (let ((@x371 (monotonicity (rewrite (= (and $x103 $x120) $x366)) (= (= $x137 (and $x103 $x120)) (= $x137 $x366)))))
  4333 (let (($x143 (= ?v1 0)))
  5405 (let ((@x376 (trans @x371 (rewrite (= (= $x137 $x366) $x372)) (= (= $x137 (and $x103 $x120)) $x372))))
  4334 (let ((?x166 (ite $x143 0 ?x163)))
  5406 (let (($x123 (and $x103 $x120)))
  4335 (let ((?x141 (div$ ?v0 ?v1)))
  5407 (let (($x138 (= $x137 $x123)))
  4336 (= ?x141 ?x166)))))))))))
  5408 (let (($x110 (= $x98 (and $x103 (= ?x105 (div$ (- l$ ?x100) 2))))))
  4337 ))
  5409 (let (($x111 (not $x110)))
  4338 (let (($x144 (< 0 ?0)))
  5410 (let ((@x119 (monotonicity (rewrite (= (- l$ ?x100) ?x114)) (= (div$ (- l$ ?x100) 2) ?x117))))
  4339 (let ((?x163 (ite $x144 ?x145 ?x160)))
  5411 (let ((@x125 (monotonicity (monotonicity @x119 (= (= ?x105 (div$ (- l$ ?x100) 2)) $x120)) (= (and $x103 (= ?x105 (div$ (- l$ ?x100) 2))) $x123))))
  4340 (let ((?x166 (ite $x143 0 ?x163)))
  5412 (let ((@x133 (trans (monotonicity @x125 (= $x110 (= $x98 $x123))) (rewrite (= (= $x98 $x123) (= $x98 $x123))) (= $x110 (= $x98 $x123)))))
  4341 (let ((@x181 (monotonicity (rewrite (= $x144 (not $x175))) (= ?x163 (ite (not $x175) ?x145 ?x160)))))
  5413 (let ((@x142 (trans (monotonicity @x133 (= $x111 (not (= $x98 $x123)))) (rewrite (= (not (= $x98 $x123)) $x138)) (= $x111 $x138))))
  4342 (let ((@x186 (trans @x181 (rewrite (= (ite (not $x175) ?x145 ?x160) ?x182)) (= ?x163 ?x182))))
  5414 (let ((@x377 (mp (mp (asserted $x111) @x142 $x138) @x376 $x372)))
  4343 (let ((@x192 (monotonicity (monotonicity @x186 (= ?x166 (ite $x143 0 ?x182))) (= (= ?x141 ?x166) $x190))))
  5415 (let ((@x449 (unit-resolution (def-axiom (or $x137 $x365 (not $x372))) @x377 (or $x137 $x365))))
  4344 (let (($x169 (= ?x141 ?x166)))
  5416 (let ((@x603 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x98 (not $x799) $x874)) (unit-resolution @x449 @x583 $x137) (or (not $x799) $x874))))
  4345 (let (($x170 (= (= ?x141 (ite $x143 0 (ite $x144 ?x145 (div (- ?1) (- ?0))))) $x169)))
  5417 (let ((@x604 (unit-resolution @x603 (unit-resolution (lemma @x915 (or $x799 (not $x792))) @x577 $x799) $x874)))
  4346 (let ((@x162 (monotonicity (rewrite (= (- ?1) ?x154)) (rewrite (= (- ?0) ?x157)) (= (div (- ?1) (- ?0)) ?x160))))
  5418 (let ((?x649 (+ ?x102 ?x648)))
  4347 (let ((@x168 (monotonicity (monotonicity @x162 (= (ite $x144 ?x145 (div (- ?1) (- ?0))) ?x163)) (= (ite $x143 0 (ite $x144 ?x145 (div (- ?1) (- ?0)))) ?x166))))
  5419 (let (($x666 (>= ?x649 0)))
  4348 (let ((@x197 (trans (quant-intro (monotonicity @x168 $x170) (= $x152 $x172)) (quant-intro @x192 (= $x172 $x193)) (= $x152 $x193))))
  5420 (let (($x650 (= ?x649 0)))
  4349 (let ((@x275 (mp~ (mp (asserted $x152) @x197 $x193) (nnf-pos (refl (~ $x190 $x190)) (~ $x193 $x193)) $x193)))
  5421 (let (($x420 (forall ((?v0 Int) (?v1 Int) )(!(let ((?x267 (mod ?v0 ?v1)))
  4350 (let ((@x316 (mp @x275 (quant-intro (refl (= $x190 $x190)) (= $x193 $x311)) $x311)))
  5422 (let ((?x224 (* (- 1) ?v1)))
  4351 (let (($x403 (or (not $x311) $x397)))
  5423 (let ((?x221 (* (- 1) ?v0)))
  4352 (let ((?x361 (div ?x111 2)))
  5424 (let ((?x275 (mod ?x221 ?x224)))
  4353 (let (($x357 (<= 2 0)))
  5425 (let ((?x281 (* (- 1) ?x275)))
  4354 (let ((?x362 (ite $x357 (div (* (- 1) ?x111) (* (- 1) 2)) ?x361)))
  5426 (let (($x242 (<= ?v1 0)))
  4355 (let (($x356 (= 2 0)))
  5427 (let ((?x301 (ite $x242 ?x281 ?x267)))
  4356 (let ((?x363 (ite $x356 0 ?x362)))
  5428 (let (($x210 (= ?v1 0)))
  4357 (let (($x364 (= ?x114 ?x363)))
  5429 (let ((?x306 (ite $x210 ?v0 ?x301)))
  4358 (let ((@x374 (rewrite (= (* (- 1) 2) (- 2)))))
  5430 (let ((?x266 (mod$ ?v0 ?v1)))
  4359 (let ((@x377 (monotonicity (rewrite (= (* (- 1) ?x111) (+ ?x369 ?x97))) @x374 (= (div (* (- 1) ?x111) (* (- 1) 2)) (div (+ ?x369 ?x97) (- 2))))))
  5431 (= ?x266 ?x306))))))))))) :pattern ( (mod$ ?v0 ?v1) )))
  4360 (let ((@x368 (rewrite (= $x357 false))))
  5432 ))
  4361 (let ((@x380 (monotonicity @x368 @x377 (= ?x362 (ite false (div (+ ?x369 ?x97) (- 2)) ?x361)))))
  5433 (let (($x312 (forall ((?v0 Int) (?v1 Int) )(let ((?x267 (mod ?v0 ?v1)))
  4362 (let ((@x384 (trans @x380 (rewrite (= (ite false (div (+ ?x369 ?x97) (- 2)) ?x361) ?x361)) (= ?x362 ?x361))))
  5434 (let ((?x224 (* (- 1) ?v1)))
  4363 (let ((@x366 (rewrite (= $x356 false))))
  5435 (let ((?x221 (* (- 1) ?v0)))
  4364 (let ((@x391 (trans (monotonicity @x366 @x384 (= ?x363 (ite false 0 ?x361))) (rewrite (= (ite false 0 ?x361) ?x361)) (= ?x363 ?x361))))
  5436 (let ((?x275 (mod ?x221 ?x224)))
  4365 (let ((@x401 (trans (monotonicity @x391 (= $x364 (= ?x114 ?x361))) (rewrite (= (= ?x114 ?x361) $x397)) (= $x364 $x397))))
  5437 (let ((?x281 (* (- 1) ?x275)))
  4366 (let ((@x410 (trans (monotonicity @x401 (= (or (not $x311) $x364) $x403)) (rewrite (= $x403 $x403)) (= (or (not $x311) $x364) $x403))))
  5438 (let (($x242 (<= ?v1 0)))
  4367 (let ((@x802 (unit-resolution (mp ((_ quant-inst (+ l$ ?x110) 2) (or (not $x311) $x364)) @x410 $x403) @x316 $x397)))
  5439 (let ((?x301 (ite $x242 ?x281 ?x267)))
  4368 (let ((?x425 (mod (+ l$ ?x97) 2)))
  5440 (let (($x210 (= ?v1 0)))
  4369 (let (($x465 (>= ?x425 0)))
  5441 (let ((?x306 (ite $x210 ?v0 ?x301)))
  4370 (let ((@x810 ((_ th-lemma arith farkas 1 -2 -2 -1 1 1) (unit-resolution ((_ th-lemma arith) (or false $x465)) @x26 $x465) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x397) $x413)) @x802 $x413) (hypothesis $x687) @x800 (hypothesis (not $x694)) @x793 false)))
  5442 (let ((?x266 (mod$ ?v0 ?v1)))
  4371 (let (($x134 (not $x95)))
  5443 (= ?x266 ?x306))))))))))))
  4372 (let (($x290 (= $x95 $x283)))
  5444 ))
  4373 (let ((@x289 (monotonicity (rewrite (= (and $x100 $x117) $x284)) (= (= $x134 (and $x100 $x117)) (= $x134 $x284)))))
  5445 (let ((?x267 (mod ?1 ?0)))
  4374 (let ((@x294 (trans @x289 (rewrite (= (= $x134 $x284) $x290)) (= (= $x134 (and $x100 $x117)) $x290))))
  5446 (let ((?x275 (mod ?x221 ?x224)))
  4375 (let (($x120 (and $x100 $x117)))
  5447 (let ((?x281 (* (- 1) ?x275)))
  4376 (let (($x135 (= $x134 $x120)))
  5448 (let ((?x301 (ite $x242 ?x281 ?x267)))
  4377 (let (($x107 (= $x95 (and $x100 (= ?x102 (div$ (- l$ ?x97) 2))))))
  5449 (let ((?x306 (ite $x210 ?1 ?x301)))
  4378 (let (($x108 (not $x107)))
  5450 (let ((?x266 (mod$ ?1 ?0)))
  4379 (let ((@x116 (monotonicity (rewrite (= (- l$ ?x97) ?x111)) (= (div$ (- l$ ?x97) 2) ?x114))))
  5451 (let (($x309 (= ?x266 ?x306)))
  4380 (let ((@x122 (monotonicity (monotonicity @x116 (= (= ?x102 (div$ (- l$ ?x97) 2)) $x117)) (= (and $x100 (= ?x102 (div$ (- l$ ?x97) 2))) $x120))))
  5452 (let (($x273 (forall ((?v0 Int) (?v1 Int) )(let (($x210 (= ?v1 0)))
  4381 (let ((@x130 (trans (monotonicity @x122 (= $x107 (= $x95 $x120))) (rewrite (= (= $x95 $x120) (= $x95 $x120))) (= $x107 (= $x95 $x120)))))
  5453 (let ((?x271 (ite $x210 ?v0 (ite (< 0 ?v1) (mod ?v0 ?v1) (- (mod (- ?v0) (- ?v1)))))))
  4382 (let ((@x139 (trans (monotonicity @x130 (= $x108 (not (= $x95 $x120)))) (rewrite (= (not (= $x95 $x120)) $x135)) (= $x108 $x135))))
  5454 (let ((?x266 (mod$ ?v0 ?v1)))
  4383 (let ((@x295 (mp (mp (asserted $x108) @x139 $x135) @x294 $x290)))
  5455 (= ?x266 ?x271)))))
  4384 (let ((@x344 (unit-resolution (def-axiom (or $x134 $x283 (not $x290))) @x295 (or $x134 $x283))))
  5456 ))
  4385 (let ((@x870 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x95 (not $x694) $x857)) (unit-resolution @x344 @x837 $x134) (or (not $x694) $x857))))
  5457 (let (($x295 (forall ((?v0 Int) (?v1 Int) )(let ((?x224 (* (- 1) ?v1)))
  4386 (let ((@x897 (unit-resolution @x870 (unit-resolution (lemma @x810 (or $x694 (not $x687))) @x591 $x694) $x857)))
  5458 (let ((?x221 (* (- 1) ?v0)))
  4387 (let ((?x544 (+ ?x99 ?x543)))
  5459 (let ((?x275 (mod ?x221 ?x224)))
  4388 (let (($x561 (>= ?x544 0)))
  5460 (let ((?x281 (* (- 1) ?x275)))
  4389 (let (($x545 (= ?x544 0)))
  5461 (let ((?x267 (mod ?v0 ?v1)))
  4390 (let (($x318 (forall ((?v0 Int) (?v1 Int) )(!(let ((?x200 (mod ?v0 ?v1)))
  5462 (let (($x211 (< 0 ?v1)))
  4391 (let ((?x157 (* (- 1) ?v1)))
  5463 (let ((?x286 (ite $x211 ?x267 ?x281)))
  4392 (let ((?x154 (* (- 1) ?v0)))
  5464 (let (($x210 (= ?v1 0)))
  4393 (let ((?x208 (mod ?x154 ?x157)))
  5465 (let ((?x289 (ite $x210 ?v0 ?x286)))
  4394 (let ((?x214 (* (- 1) ?x208)))
  5466 (let ((?x266 (mod$ ?v0 ?v1)))
  4395 (let (($x175 (<= ?v1 0)))
  5467 (= ?x266 ?x289))))))))))))
  4396 (let ((?x234 (ite $x175 ?x214 ?x200)))
  5468 ))
  4397 (let (($x143 (= ?v1 0)))
  5469 (let ((@x300 (monotonicity (rewrite (= $x211 (not $x242))) (= (ite $x211 ?x267 ?x281) (ite (not $x242) ?x267 ?x281)))))
  4398 (let ((?x239 (ite $x143 ?v0 ?x234)))
  5470 (let ((@x305 (trans @x300 (rewrite (= (ite (not $x242) ?x267 ?x281) ?x301)) (= (ite $x211 ?x267 ?x281) ?x301))))
  4399 (let ((?x199 (mod$ ?v0 ?v1)))
  5471 (let ((@x311 (monotonicity (monotonicity @x305 (= (ite $x210 ?1 (ite $x211 ?x267 ?x281)) ?x306)) (= (= ?x266 (ite $x210 ?1 (ite $x211 ?x267 ?x281))) $x309))))
  4400 (= ?x199 ?x239))))))))))) :pattern ( (mod$ ?v0 ?v1) )))
  5472 (let ((?x286 (ite $x211 ?x267 ?x281)))
  4401 ))
  5473 (let ((?x289 (ite $x210 ?1 ?x286)))
  4402 (let (($x245 (forall ((?v0 Int) (?v1 Int) )(let ((?x200 (mod ?v0 ?v1)))
  5474 (let (($x292 (= ?x266 ?x289)))
  4403 (let ((?x157 (* (- 1) ?v1)))
  5475 (let (($x293 (= (= ?x266 (ite $x210 ?1 (ite $x211 ?x267 (- (mod (- ?1) (- ?0)))))) $x292)))
  4404 (let ((?x154 (* (- 1) ?v0)))
  5476 (let ((@x277 (monotonicity (rewrite (= (- ?1) ?x221)) (rewrite (= (- ?0) ?x224)) (= (mod (- ?1) (- ?0)) ?x275))))
  4405 (let ((?x208 (mod ?x154 ?x157)))
  5477 (let ((@x285 (trans (monotonicity @x277 (= (- (mod (- ?1) (- ?0))) (- ?x275))) (rewrite (= (- ?x275) ?x281)) (= (- (mod (- ?1) (- ?0))) ?x281))))
  4406 (let ((?x214 (* (- 1) ?x208)))
  5478 (let ((@x288 (monotonicity @x285 (= (ite $x211 ?x267 (- (mod (- ?1) (- ?0)))) ?x286))))
  4407 (let (($x175 (<= ?v1 0)))
  5479 (let ((@x291 (monotonicity @x288 (= (ite $x210 ?1 (ite $x211 ?x267 (- (mod (- ?1) (- ?0))))) ?x289))))
  4408 (let ((?x234 (ite $x175 ?x214 ?x200)))
  5480 (let ((@x316 (trans (quant-intro (monotonicity @x291 $x293) (= $x273 $x295)) (quant-intro @x311 (= $x295 $x312)) (= $x273 $x312))))
  4409 (let (($x143 (= ?v1 0)))
  5481 (let ((@x362 (mp~ (mp (asserted $x273) @x316 $x312) (nnf-pos (refl (~ $x309 $x309)) (~ $x312 $x312)) $x312)))
  4410 (let ((?x239 (ite $x143 ?v0 ?x234)))
  5482 (let ((@x425 (mp @x362 (quant-intro (refl (= $x309 $x309)) (= $x312 $x420)) $x420)))
  4411 (let ((?x199 (mod$ ?v0 ?v1)))
  5483 (let (($x655 (not $x420)))
  4412 (= ?x199 ?x239))))))))))))
  5484 (let (($x656 (or $x655 $x650)))
  4413 ))
  5485 (let ((?x465 (* (- 1) 2)))
  4414 (let ((?x200 (mod ?1 ?0)))
  5486 (let ((?x616 (mod ?x475 ?x465)))
  4415 (let ((?x208 (mod ?x154 ?x157)))
  5487 (let ((?x617 (* (- 1) ?x616)))
  4416 (let ((?x214 (* (- 1) ?x208)))
  5488 (let ((?x622 (ite $x463 ?x617 ?x621)))
  4417 (let ((?x234 (ite $x175 ?x214 ?x200)))
  5489 (let ((?x623 (ite $x462 l$ ?x622)))
  4418 (let ((?x239 (ite $x143 ?1 ?x234)))
  5490 (let (($x624 (= ?x102 ?x623)))
  4419 (let ((?x199 (mod$ ?1 ?0)))
  5491 (let ((@x630 (monotonicity (monotonicity @x480 (= ?x616 (mod ?x475 (- 2)))) (= ?x617 (* (- 1) (mod ?x475 (- 2)))))))
  4420 (let (($x242 (= ?x199 ?x239)))
  5492 (let ((@x633 (monotonicity @x474 @x630 (= ?x622 (ite false (* (- 1) (mod ?x475 (- 2))) ?x621)))))
  4421 (let (($x206 (forall ((?v0 Int) (?v1 Int) )(let (($x143 (= ?v1 0)))
  5493 (let ((@x637 (trans @x633 (rewrite (= (ite false (* (- 1) (mod ?x475 (- 2))) ?x621) ?x621)) (= ?x622 ?x621))))
  4422 (let ((?x204 (ite $x143 ?v0 (ite (< 0 ?v1) (mod ?v0 ?v1) (- (mod (- ?v0) (- ?v1)))))))
  5494 (let ((@x644 (trans (monotonicity @x472 @x637 (= ?x623 (ite false l$ ?x621))) (rewrite (= (ite false l$ ?x621) ?x621)) (= ?x623 ?x621))))
  4423 (let ((?x199 (mod$ ?v0 ?v1)))
  5495 (let ((@x654 (trans (monotonicity @x644 (= $x624 (= ?x102 ?x621))) (rewrite (= (= ?x102 ?x621) $x650)) (= $x624 $x650))))
  4424 (= ?x199 ?x204)))))
  5496 (let ((@x663 (trans (monotonicity @x654 (= (or $x655 $x624) $x656)) (rewrite (= $x656 $x656)) (= (or $x655 $x624) $x656))))
  4425 ))
  5497 (let ((@x664 (mp ((_ quant-inst l$ 2) (or $x655 $x624)) @x663 $x656)))
  4426 (let (($x228 (forall ((?v0 Int) (?v1 Int) )(let ((?x157 (* (- 1) ?v1)))
  5498 (let ((@x921 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x650) $x666)) (unit-resolution @x664 @x425 $x650) $x666)))
  4427 (let ((?x154 (* (- 1) ?v0)))
  5499 (let ((?x862 (* (- 2) ?x849)))
  4428 (let ((?x208 (mod ?x154 ?x157)))
  5500 (let ((?x863 (+ ?x96 ?x831 ?x862)))
  4429 (let ((?x214 (* (- 1) ?x208)))
  5501 (let (($x869 (>= ?x863 0)))
  4430 (let ((?x200 (mod ?v0 ?v1)))
  5502 (let (($x861 (= ?x863 0)))
  4431 (let (($x144 (< 0 ?v1)))
  5503 (let ((@x924 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x861) $x869)) (unit-resolution ((_ th-lemma arith) (or false $x861)) @x26 $x861) $x869)))
  4432 (let ((?x219 (ite $x144 ?x200 ?x214)))
  5504 (let ((?x667 (div l$ 2)))
  4433 (let (($x143 (= ?v1 0)))
  5505 (let ((?x680 (* (- 2) ?x667)))
  4434 (let ((?x222 (ite $x143 ?v0 ?x219)))
  5506 (let ((?x681 (+ l$ ?x648 ?x680)))
  4435 (let ((?x199 (mod$ ?v0 ?v1)))
  5507 (let (($x687 (>= ?x681 0)))
  4436 (= ?x199 ?x222))))))))))))
  5508 (let (($x679 (= ?x681 0)))
  4437 ))
  5509 (let ((@x934 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x679) $x687)) (unit-resolution ((_ th-lemma arith) (or false $x679)) @x26 $x679) $x687)))
  4438 (let ((@x233 (monotonicity (rewrite (= $x144 (not $x175))) (= (ite $x144 ?x200 ?x214) (ite (not $x175) ?x200 ?x214)))))
  5510 (let ((?x609 (mod$ ?x96 2)))
  4439 (let ((@x238 (trans @x233 (rewrite (= (ite (not $x175) ?x200 ?x214) ?x234)) (= (ite $x144 ?x200 ?x214) ?x234))))
  5511 (let ((?x832 (+ ?x609 ?x831)))
  4440 (let ((@x244 (monotonicity (monotonicity @x238 (= (ite $x143 ?1 (ite $x144 ?x200 ?x214)) ?x239)) (= (= ?x199 (ite $x143 ?1 (ite $x144 ?x200 ?x214))) $x242))))
  5512 (let (($x833 (= ?x832 0)))
  4441 (let ((?x219 (ite $x144 ?x200 ?x214)))
  5513 (let (($x838 (or $x655 $x833)))
  4442 (let ((?x222 (ite $x143 ?1 ?x219)))
  5514 (let ((?x801 (* (- 1) ?x96)))
  4443 (let (($x225 (= ?x199 ?x222)))
  5515 (let ((?x802 (mod ?x801 ?x465)))
  4444 (let (($x226 (= (= ?x199 (ite $x143 ?1 (ite $x144 ?x200 (- (mod (- ?1) (- ?0)))))) $x225)))
  5516 (let ((?x803 (* (- 1) ?x802)))
  4445 (let ((@x210 (monotonicity (rewrite (= (- ?1) ?x154)) (rewrite (= (- ?0) ?x157)) (= (mod (- ?1) (- ?0)) ?x208))))
  5517 (let ((?x805 (ite $x463 ?x803 ?x804)))
  4446 (let ((@x218 (trans (monotonicity @x210 (= (- (mod (- ?1) (- ?0))) (- ?x208))) (rewrite (= (- ?x208) ?x214)) (= (- (mod (- ?1) (- ?0))) ?x214))))
  5518 (let ((?x806 (ite $x462 ?x96 ?x805)))
  4447 (let ((@x221 (monotonicity @x218 (= (ite $x144 ?x200 (- (mod (- ?1) (- ?0)))) ?x219))))
  5519 (let (($x807 (= ?x609 ?x806)))
  4448 (let ((@x224 (monotonicity @x221 (= (ite $x143 ?1 (ite $x144 ?x200 (- (mod (- ?1) (- ?0))))) ?x222))))
  5520 (let ((@x813 (monotonicity (monotonicity @x480 (= ?x802 (mod ?x801 (- 2)))) (= ?x803 (* (- 1) (mod ?x801 (- 2)))))))
  4449 (let ((@x249 (trans (quant-intro (monotonicity @x224 $x226) (= $x206 $x228)) (quant-intro @x244 (= $x228 $x245)) (= $x206 $x245))))
  5521 (let ((@x816 (monotonicity @x474 @x813 (= ?x805 (ite false (* (- 1) (mod ?x801 (- 2))) ?x804)))))
  4450 (let ((@x280 (mp~ (mp (asserted $x206) @x249 $x245) (nnf-pos (refl (~ $x242 $x242)) (~ $x245 $x245)) $x245)))
  5522 (let ((@x820 (trans @x816 (rewrite (= (ite false (* (- 1) (mod ?x801 (- 2))) ?x804) ?x804)) (= ?x805 ?x804))))
  4451 (let ((@x323 (mp @x280 (quant-intro (refl (= $x242 $x242)) (= $x245 $x318)) $x318)))
  5523 (let ((@x827 (trans (monotonicity @x472 @x820 (= ?x806 (ite false ?x96 ?x804))) (rewrite (= (ite false ?x96 ?x804) ?x804)) (= ?x806 ?x804))))
  4452 (let (($x550 (not $x318)))
  5524 (let ((@x837 (trans (monotonicity @x827 (= $x807 (= ?x609 ?x804))) (rewrite (= (= ?x609 ?x804) $x833)) (= $x807 $x833))))
  4453 (let (($x551 (or $x550 $x545)))
  5525 (let ((@x845 (trans (monotonicity @x837 (= (or $x655 $x807) $x838)) (rewrite (= $x838 $x838)) (= (or $x655 $x807) $x838))))
  4454 (let ((?x359 (* (- 1) 2)))
  5526 (let ((@x775 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x833) (>= ?x832 0))) (unit-resolution (mp ((_ quant-inst (eval_dioph$ ks$ xs$) 2) (or $x655 $x807)) @x845 $x838) @x425 $x833) (>= ?x832 0))))
  4455 (let ((?x511 (mod ?x369 ?x359)))
  5527 (let ((?x888 (* (- 1) ?x609)))
  4456 (let ((?x512 (* (- 1) ?x511)))
  5528 (let ((?x889 (+ ?x102 ?x888)))
  4457 (let ((?x517 (ite $x357 ?x512 ?x516)))
  5529 (let (($x891 (>= ?x889 0)))
  4458 (let ((?x518 (ite $x356 l$ ?x517)))
  5530 (let (($x887 (= ?x102 ?x609)))
  4459 (let (($x519 (= ?x99 ?x518)))
  5531 (let (($x881 (= ?x101 ?x609)))
  4460 (let ((@x525 (monotonicity (monotonicity @x374 (= ?x511 (mod ?x369 (- 2)))) (= ?x512 (* (- 1) (mod ?x369 (- 2)))))))
  5532 (let (($x610 (= ?x609 ?x101)))
  4461 (let ((@x528 (monotonicity @x368 @x525 (= ?x517 (ite false (* (- 1) (mod ?x369 (- 2))) ?x516)))))
  5533 (let (($x379 (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)) )))
  4462 (let ((@x532 (trans @x528 (rewrite (= (ite false (* (- 1) (mod ?x369 (- 2))) ?x516) ?x516)) (= ?x517 ?x516))))
  5534 ))
  4463 (let ((@x539 (trans (monotonicity @x366 @x532 (= ?x518 (ite false l$ ?x516))) (rewrite (= (ite false l$ ?x516) ?x516)) (= ?x518 ?x516))))
  5535 (let (($x54 (forall ((?v0 Int_list$) (?v1 Nat_list$) )(= (mod$ (eval_dioph$ ?v0 ?v1) 2) (mod$ (eval_dioph$ ?v0 (map$ uu$ ?v1)) 2)))
  4464 (let ((@x549 (trans (monotonicity @x539 (= $x519 (= ?x99 ?x516))) (rewrite (= (= ?x99 ?x516) $x545)) (= $x519 $x545))))
  5536 ))
  4465 (let ((@x558 (trans (monotonicity @x549 (= (or $x550 $x519) $x551)) (rewrite (= $x551 $x551)) (= (or $x550 $x519) $x551))))
  5537 (let (($x53 (= (mod$ ?x48 2) (mod$ ?x51 2))))
  4466 (let ((@x559 (mp ((_ quant-inst l$ 2) (or $x550 $x519)) @x558 $x551)))
  5538 (let ((@x332 (mp~ (asserted $x54) (nnf-pos (refl (~ $x53 $x53)) (~ $x54 $x54)) $x54)))
  4467 (let ((@x900 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x545) $x561)) (unit-resolution @x559 @x323 $x545) $x561)))
  5539 (let ((@x384 (mp @x332 (quant-intro (refl (= $x53 $x53)) (= $x54 $x379)) $x379)))
  4468 (let ((?x757 (* (- 2) ?x744)))
  5540 (let (($x619 (or (not $x379) $x610)))
  4469 (let ((?x758 (+ ?x93 ?x726 ?x757)))
  5541 (let ((@x620 ((_ quant-inst ks$ xs$) $x619)))
  4470 (let (($x764 (>= ?x758 0)))
  5542 (let ((@x965 (symm (unit-resolution (def-axiom (or $x365 $x103)) @x583 $x103) (= ?x102 ?x101))))
  4471 (let (($x756 (= ?x758 0)))
  5543 (let ((@x962 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x887) $x891)) (trans @x965 (symm (unit-resolution @x620 @x384 $x610) $x881) $x887) $x891)))
  4472 (let ((@x903 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x756) $x764)) (unit-resolution ((_ th-lemma arith) (or false $x756)) @x26 $x756) $x764)))
  5544 (let (($x890 (<= ?x889 0)))
  4473 (let ((?x562 (div l$ 2)))
  5545 (let ((@x1023 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x887) $x890)) (trans @x965 (symm (unit-resolution @x620 @x384 $x610) $x881) $x887) $x890)))
  4474 (let ((?x575 (* (- 2) ?x562)))
  5546 (let (($x793 (>= ?x791 0)))
  4475 (let ((?x576 (+ l$ ?x543 ?x575)))
  5547 (let ((@x522 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x364 $x793)) (unit-resolution (def-axiom (or $x365 $x120)) @x583 $x120) $x793)))
  4476 (let (($x582 (>= ?x576 0)))
  5548 (let ((@x1085 (unit-resolution ((_ th-lemma arith) (or false (not (>= ?x530 2)))) @x26 (not (>= ?x530 2)))))
  4477 (let (($x574 (= ?x576 0)))
  5549 (let (($x665 (<= ?x649 0)))
  4478 (let ((@x906 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x574) $x582)) (unit-resolution ((_ th-lemma arith) (or false $x574)) @x26 $x574) $x582)))
  5550 (let ((@x767 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x650) $x665)) (unit-resolution @x664 @x425 $x650) $x665)))
  4479 (let ((?x504 (mod$ ?x93 2)))
  5551 (let (($x868 (<= ?x863 0)))
  4480 (let ((?x727 (+ ?x504 ?x726)))
  5552 (let ((@x858 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x861) $x868)) (unit-resolution ((_ th-lemma arith) (or false $x861)) @x26 $x861) $x868)))
  4481 (let (($x728 (= ?x727 0)))
  5553 (let (($x686 (<= ?x681 0)))
  4482 (let (($x733 (or $x550 $x728)))
  5554 (let ((@x1092 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x679) $x686)) (unit-resolution ((_ th-lemma arith) (or false $x679)) @x26 $x679) $x686)))
  4483 (let ((?x696 (* (- 1) ?x93)))
  5555 (let ((@x1095 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x833) (<= ?x832 0))) (unit-resolution (mp ((_ quant-inst (eval_dioph$ ks$ xs$) 2) (or $x655 $x807)) @x845 $x838) @x425 $x833) (<= ?x832 0))))
  4484 (let ((?x697 (mod ?x696 ?x359)))
  5556 (let (($x615 (>= ?x607 0)))
  4485 (let ((?x698 (* (- 1) ?x697)))
  5557 (let ((@x1100 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x608) $x615)) (unit-resolution @x613 @x391 $x608) $x615)))
  4486 (let ((?x700 (ite $x357 ?x698 ?x699)))
  5558 (let ((@x1104 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x503) (>= ?x502 0))) @x907 (>= ?x502 0))))
  4487 (let ((?x701 (ite $x356 ?x93 ?x700)))
  5559 (let ((@x1107 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x539) (<= ?x542 0))) (unit-resolution ((_ th-lemma arith) (or false $x539)) @x26 $x539) (<= ?x542 0))))
  4488 (let (($x702 (= ?x504 ?x701)))
  5560 (let ((@x1108 ((_ th-lemma arith farkas 1 -2 -2 -1 -2 1 1 1 1 1 1) @x1107 @x1104 (hypothesis $x793) @x1100 (hypothesis $x1078) (hypothesis $x890) @x1095 @x1092 @x858 @x767 @x1085 false)))
  4489 (let ((@x708 (monotonicity (monotonicity @x374 (= ?x697 (mod ?x696 (- 2)))) (= ?x698 (* (- 1) (mod ?x696 (- 2)))))))
  5561 (let ((@x576 (unit-resolution (lemma @x1108 (or (not $x1078) (not $x793) (not $x890))) @x522 @x1023 (not $x1078))))
  4490 (let ((@x711 (monotonicity @x368 @x708 (= ?x700 (ite false (* (- 1) (mod ?x696 (- 2))) ?x699)))))
  5562 (let ((@x966 (unit-resolution @x576 ((_ th-lemma arith) @x962 @x775 @x934 @x924 @x921 @x604 $x1078) false)))
  4491 (let ((@x715 (trans @x711 (rewrite (= (ite false (* (- 1) (mod ?x696 (- 2))) ?x699) ?x699)) (= ?x700 ?x699))))
  5563 (let ((@x967 (lemma @x966 $x365)))
  4492 (let ((@x722 (trans (monotonicity @x366 @x715 (= ?x701 (ite false ?x93 ?x699))) (rewrite (= (ite false ?x93 ?x699) ?x699)) (= ?x701 ?x699))))
  5564 (let ((@x445 (unit-resolution (def-axiom (or $x98 $x366 (not $x372))) @x377 (or $x98 $x366))))
  4493 (let ((@x732 (trans (monotonicity @x722 (= $x702 (= ?x504 ?x699))) (rewrite (= (= ?x504 ?x699) $x728)) (= $x702 $x728))))
  5565 (let ((@x586 (unit-resolution @x445 @x967 $x98)))
  4494 (let ((@x740 (trans (monotonicity @x732 (= (or $x550 $x702) $x733)) (rewrite (= $x733 $x733)) (= (or $x550 $x702) $x733))))
  5566 (let ((@x1067 (trans (symm (unit-resolution @x620 @x384 $x610) $x881) (monotonicity @x586 (= ?x609 ?x102)) $x103)))
  4495 (let ((@x455 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x728) (>= ?x727 0))) (unit-resolution (mp ((_ quant-inst (eval_dioph$ ks$ xs$) 2) (or $x550 $x702)) @x740 $x733) @x323 $x728) (>= ?x727 0))))
  5567 (let (($x916 (not $x792)))
  4496 (let ((?x783 (* (- 1) ?x504)))
  5568 (let ((@x950 ((_ th-lemma arith assign-bounds 1 -1/2 -1/2 1/2 -1/2) (or $x793 (not $x519) (not $x570) (not $x548) (not $x614) $x874))))
  4497 (let ((?x784 (+ ?x99 ?x783)))
  5569 (let ((@x951 (unit-resolution @x950 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x503) $x519)) @x907 $x519) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x137 $x800)) @x586 $x800) @x898 (unit-resolution ((_ th-lemma arith) (or false $x570)) @x26 $x570) @x905 $x793)))
  4498 (let (($x786 (>= ?x784 0)))
  5570 (let ((@x1040 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x120 $x916 (not $x793))) (hypothesis $x364) (or $x916 (not $x793)))))
  4499 (let (($x782 (= ?x99 ?x504)))
  5571 (let ((@x1060 ((_ th-lemma arith farkas -2 -2 1 -1 1 1) (unit-resolution @x1040 @x951 $x916) @x1104 @x1107 @x1100 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x137 $x799)) @x586 $x799) @x1085 false)))
  4500 (let (($x663 (= ?x98 ?x504)))
  5572 (let ((@x569 (unit-resolution (unit-resolution (def-axiom (or $x366 $x363 $x364)) @x967 $x365) (lemma @x1060 $x120) $x363)))
  4501 (let (($x505 (= ?x504 ?x98)))
  5573 (unit-resolution @x569 @x1067 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  4502 (let (($x297 (forall ((?v0 Int_list$) (?v1 Int_list$) )(!(= (mod$ (eval_dioph$ ?v0 ?v1) 2) (mod$ (eval_dioph$ ?v0 (map$ uu$ ?v1)) 2)) :pattern ( (eval_dioph$ ?v0 (map$ uu$ ?v1)) )))
       
  4503 ))
       
  4504 (let (($x51 (forall ((?v0 Int_list$) (?v1 Int_list$) )(= (mod$ (eval_dioph$ ?v0 ?v1) 2) (mod$ (eval_dioph$ ?v0 (map$ uu$ ?v1)) 2)))
       
  4505 ))
       
  4506 (let (($x50 (= (mod$ ?x45 2) (mod$ ?x48 2))))
       
  4507 (let ((@x265 (mp~ (asserted $x51) (nnf-pos (refl (~ $x50 $x50)) (~ $x51 $x51)) $x51)))
       
  4508 (let ((@x302 (mp @x265 (quant-intro (refl (= $x50 $x50)) (= $x51 $x297)) $x297)))
       
  4509 (let (($x514 (or (not $x297) $x505)))
       
  4510 (let ((@x515 ((_ quant-inst ks$ xs$) $x514)))
       
  4511 (let ((@x658 (symm (unit-resolution (def-axiom (or $x283 $x100)) @x837 $x100) (= ?x99 ?x98))))
       
  4512 (let ((@x911 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x782) $x786)) (trans @x658 (symm (unit-resolution @x515 @x302 $x505) $x663) $x782) $x786)))
       
  4513 (let (($x785 (<= ?x784 0)))
       
  4514 (let ((@x814 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x782) $x785)) (trans @x658 (symm (unit-resolution @x515 @x302 $x505) $x663) $x782) $x785)))
       
  4515 (let (($x688 (>= ?x686 0)))
       
  4516 (let ((@x824 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x282 $x688)) (unit-resolution (def-axiom (or $x283 $x117)) @x837 $x117) $x688)))
       
  4517 (let ((@x979 (unit-resolution ((_ th-lemma arith) (or false (not (>= ?x425 2)))) @x26 (not (>= ?x425 2)))))
       
  4518 (let (($x560 (<= ?x544 0)))
       
  4519 (let ((@x427 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x545) $x560)) (unit-resolution @x559 @x323 $x545) $x560)))
       
  4520 (let (($x763 (<= ?x758 0)))
       
  4521 (let ((@x569 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x756) $x763)) (unit-resolution ((_ th-lemma arith) (or false $x756)) @x26 $x756) $x763)))
       
  4522 (let (($x581 (<= ?x576 0)))
       
  4523 (let ((@x986 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x574) $x581)) (unit-resolution ((_ th-lemma arith) (or false $x574)) @x26 $x574) $x581)))
       
  4524 (let ((@x989 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x728) (<= ?x727 0))) (unit-resolution (mp ((_ quant-inst (eval_dioph$ ks$ xs$) 2) (or $x550 $x702)) @x740 $x733) @x323 $x728) (<= ?x727 0))))
       
  4525 (let (($x510 (>= ?x502 0)))
       
  4526 (let ((@x994 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x503) $x510)) (unit-resolution @x508 @x309 $x503) $x510)))
       
  4527 (let ((@x998 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x397) (>= ?x396 0))) @x802 (>= ?x396 0))))
       
  4528 (let ((@x1001 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x434) (<= ?x437 0))) (unit-resolution ((_ th-lemma arith) (or false $x434)) @x26 $x434) (<= ?x437 0))))
       
  4529 (let ((@x1002 ((_ th-lemma arith farkas 1 -2 -2 -1 -2 1 1 1 1 1 1) @x1001 @x998 (hypothesis $x688) @x994 (hypothesis $x972) (hypothesis $x785) @x989 @x986 @x569 @x427 @x979 false)))
       
  4530 (let ((@x821 (unit-resolution (lemma @x1002 (or (not $x972) (not $x688) (not $x785))) @x824 @x814 (not $x972))))
       
  4531 (let ((@x769 (unit-resolution @x821 ((_ th-lemma arith) @x911 @x455 @x906 @x903 @x900 @x897 $x972) false)))
       
  4532 (let ((@x770 (lemma @x769 $x283)))
       
  4533 (let ((@x340 (unit-resolution (def-axiom (or $x95 $x284 (not $x290))) @x295 (or $x95 $x284))))
       
  4534 (let ((@x753 (unit-resolution @x340 @x770 $x95)))
       
  4535 (let ((@x867 (trans (symm (unit-resolution @x515 @x302 $x505) $x663) (monotonicity @x753 (= ?x504 ?x99)) $x100)))
       
  4536 (let (($x811 (not $x687)))
       
  4537 (let ((@x845 ((_ th-lemma arith assign-bounds 1 -1/2 -1/2 1/2 -1/2) (or $x688 (not $x413) (not $x465) (not $x443) (not $x509) $x857))))
       
  4538 (let ((@x892 (unit-resolution @x845 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x397) $x413)) @x802 $x413) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x134 $x695)) @x753 $x695) @x793 (unit-resolution ((_ th-lemma arith) (or false $x465)) @x26 $x465) @x800 $x688)))
       
  4539 (let ((@x935 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x117 $x811 (not $x688))) (hypothesis $x282) (or $x811 (not $x688)))))
       
  4540 (let ((@x955 ((_ th-lemma arith farkas -2 -2 1 -1 1 1) (unit-resolution @x935 @x892 $x811) @x998 @x1001 @x994 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x134 $x694)) @x753 $x694) @x979 false)))
       
  4541 (let ((@x939 (unit-resolution (unit-resolution (def-axiom (or $x284 $x281 $x282)) @x770 $x283) (lemma @x955 $x117) $x281)))
       
  4542 (unit-resolution @x939 @x867 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  5574 
  4543 
  5575 d277a40ca34ecc409672601e981711fef2d0064f 64 0
  4544 d277a40ca34ecc409672601e981711fef2d0064f 64 0
  5576 unsat
  4545 unsat
  5577 ((set-logic AUFLIA)
  4546 ((set-logic AUFLIA)
  5578 (proof
  4547 (proof
  5661 (let ((@x620 (mp @x170 (quant-intro (refl (= $x119 $x119)) (= $x138 $x615)) $x615)))
  4630 (let ((@x620 (mp @x170 (quant-intro (refl (= $x119 $x119)) (= $x138 $x615)) $x615)))
  5662 (let (($x257 (or (not $x615) $x142)))
  4631 (let (($x257 (or (not $x615) $x142)))
  5663 (let ((@x258 ((_ quant-inst 1) $x257)))
  4632 (let ((@x258 ((_ quant-inst 1) $x257)))
  5664 (unit-resolution @x258 @x620 @x145 false))))))))))))))))))
  4633 (unit-resolution @x258 @x620 @x145 false))))))))))))))))))
  5665 
  4634 
  5666 4e5cf2f6b4df716b03e440b50af106a8af8b2799 170 0
  4635 b4b100f728c8f0d6f96483e4de44e248cc4be1aa 101 0
  5667 unsat
  4636 unsat
  5668 ((set-logic AUFLIA)
  4637 ((set-logic AUFLIA)
  5669 (proof
  4638 (proof
  5670 (let ((?x209 (some$a true)))
  4639 (let ((?x124 (some$a true)))
  5671 (let ((?x210 (g$b ?x209)))
  4640 (let ((?x125 (g$b ?x124)))
  5672 (let ((?x206 (some$ 3)))
  4641 (let ((?x122 (some$ 3)))
  5673 (let ((?x208 (g$ ?x206)))
  4642 (let ((?x123 (g$ ?x122)))
  5674 (let (($x211 (= ?x208 ?x210)))
  4643 (let (($x126 (= ?x123 ?x125)))
  5675 (let ((?x434 (cons$a true nil$a)))
  4644 (let ((?x269 (cons$a true nil$a)))
  5676 (let ((?x435 (g$c ?x434)))
  4645 (let ((?x270 (g$c ?x269)))
  5677 (let (($x406 (= ?x210 ?x435)))
  4646 (let (($x587 (= ?x125 ?x270)))
  5678 (let (($x768 (forall ((?v0 Bool) )(!(= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))) :pattern ( (some$a ?v0) ) :pattern ( (cons$a ?v0 nil$a) )))
  4647 (let (($x604 (forall ((?v0 Bool) )(!(= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))) :pattern ( (some$a ?v0) ) :pattern ( (cons$a ?v0 nil$a) )))
  5679 ))
  4648 ))
  5680 (let (($x43 (forall ((?v0 Bool) )(= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))))
  4649 (let (($x43 (forall ((?v0 Bool) )(= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))))
  5681 ))
  4650 ))
  5682 (let (($x42 (= (g$b (some$a ?0)) (g$c (cons$a ?0 nil$a)))))
  4651 (let (($x42 (= (g$b (some$a ?0)) (g$c (cons$a ?0 nil$a)))))
  5683 (let ((@x280 (mp~ (asserted $x43) (nnf-pos (refl (~ $x42 $x42)) (~ $x43 $x43)) $x43)))
  4652 (let ((@x160 (mp~ (asserted $x43) (nnf-pos (refl (~ $x42 $x42)) (~ $x43 $x43)) $x43)))
  5684 (let ((@x773 (mp @x280 (quant-intro (refl (= $x42 $x42)) (= $x43 $x768)) $x768)))
  4653 (let ((@x609 (mp @x160 (quant-intro (refl (= $x42 $x42)) (= $x43 $x604)) $x604)))
  5685 (let (($x419 (or (not $x768) $x406)))
  4654 (let (($x254 (or (not $x604) $x587)))
  5686 (let ((@x752 ((_ quant-inst true) $x419)))
  4655 (let ((@x255 ((_ quant-inst true) $x254)))
  5687 (let ((?x720 (size$ ?x434)))
  4656 (let ((?x227 (size$ ?x269)))
  5688 (let (($x444 (= ?x435 ?x720)))
  4657 (let (($x569 (= ?x270 ?x227)))
  5689 (let (($x776 (forall ((?v0 Bool_list$) )(!(let ((?x61 (size$ ?v0)))
  4658 (let (($x612 (forall ((?v0 Bool_list$) )(!(let ((?x61 (size$ ?v0)))
  5690 (let ((?x60 (g$c ?v0)))
  4659 (let ((?x60 (g$c ?v0)))
  5691 (= ?x60 ?x61))) :pattern ( (g$c ?v0) ) :pattern ( (size$ ?v0) )))
  4660 (= ?x60 ?x61))) :pattern ( (g$c ?v0) ) :pattern ( (size$ ?v0) )))
  5692 ))
  4661 ))
  5693 (let (($x63 (forall ((?v0 Bool_list$) )(let ((?x61 (size$ ?v0)))
  4662 (let (($x63 (forall ((?v0 Bool_list$) )(let ((?x61 (size$ ?v0)))
  5694 (let ((?x60 (g$c ?v0)))
  4663 (let ((?x60 (g$c ?v0)))
  5695 (= ?x60 ?x61))))
  4664 (= ?x60 ?x61))))
  5696 ))
  4665 ))
  5697 (let ((@x780 (quant-intro (refl (= (= (g$c ?0) (size$ ?0)) (= (g$c ?0) (size$ ?0)))) (= $x63 $x776))))
  4666 (let ((@x616 (quant-intro (refl (= (= (g$c ?0) (size$ ?0)) (= (g$c ?0) (size$ ?0)))) (= $x63 $x612))))
  5698 (let ((@x306 (nnf-pos (refl (~ (= (g$c ?0) (size$ ?0)) (= (g$c ?0) (size$ ?0)))) (~ $x63 $x63))))
  4667 (let ((@x142 (nnf-pos (refl (~ (= (g$c ?0) (size$ ?0)) (= (g$c ?0) (size$ ?0)))) (~ $x63 $x63))))
  5699 (let ((@x781 (mp (mp~ (asserted $x63) @x306 $x63) @x780 $x776)))
  4668 (let ((@x617 (mp (mp~ (asserted $x63) @x142 $x63) @x616 $x612)))
  5700 (let (($x711 (or (not $x776) $x444)))
  4669 (let (($x571 (or (not $x612) $x569)))
  5701 (let ((@x712 ((_ quant-inst (cons$a true nil$a)) $x711)))
  4670 (let ((@x572 ((_ quant-inst (cons$a true nil$a)) $x571)))
  5702 (let ((?x149 (size$ nil$a)))
  4671 (let ((?x89 (suc$ zero$)))
  5703 (let ((?x724 (of_nat$ ?x149)))
  4672 (let ((?x105 (size$ nil$a)))
  5704 (let ((?x710 (+ 1 ?x724)))
  4673 (let ((?x233 (plus$ ?x105 ?x89)))
  5705 (let ((?x713 (nat$ ?x710)))
  4674 (let (($x570 (= ?x227 ?x233)))
  5706 (let (($x714 (= ?x720 ?x713)))
  4675 (let (($x657 (forall ((?v0 Bool) (?v1 Bool_list$) )(!(= (size$ (cons$a ?v0 ?v1)) (plus$ (size$ ?v1) (suc$ zero$))) :pattern ( (cons$a ?v0 ?v1) )))
  5707 (let (($x819 (forall ((?v0 Bool) (?v1 Bool_list$) )(!(= (size$ (cons$a ?v0 ?v1)) (nat$ (+ 1 (of_nat$ (size$ ?v1))))) :pattern ( (cons$a ?v0 ?v1) )))
  4676 ))
  5708 ))
  4677 (let (($x114 (forall ((?v0 Bool) (?v1 Bool_list$) )(= (size$ (cons$a ?v0 ?v1)) (plus$ (size$ ?v1) (suc$ zero$))))
  5709 (let (($x177 (forall ((?v0 Bool) (?v1 Bool_list$) )(= (size$ (cons$a ?v0 ?v1)) (nat$ (+ 1 (of_nat$ (size$ ?v1))))))
  4678 ))
  5710 ))
  4679 (let (($x113 (= (size$ (cons$a ?1 ?0)) (plus$ (size$ ?0) ?x89))))
  5711 (let (($x174 (= (size$ (cons$a ?1 ?0)) (nat$ (+ 1 (of_nat$ (size$ ?0)))))))
  4680 (let ((@x173 (mp~ (asserted $x114) (nnf-pos (refl (~ $x113 $x113)) (~ $x114 $x114)) $x114)))
  5712 (let (($x161 (forall ((?v0 Bool) (?v1 Bool_list$) )(= (size$ (cons$a ?v0 ?v1)) (nat$ (+ (of_nat$ (size$ ?v1)) (+ 0 1)))))
  4681 (let ((@x662 (mp @x173 (quant-intro (refl (= $x113 $x113)) (= $x114 $x657)) $x657)))
  5713 ))
  4682 (let (($x576 (or (not $x657) $x570)))
  5714 (let (($x160 (= (size$ (cons$a ?1 ?0)) (nat$ (+ (of_nat$ (size$ ?0)) (+ 0 1))))))
  4683 (let ((@x213 ((_ quant-inst true nil$a) $x576)))
  5715 (let (($x172 (= (nat$ (+ (of_nat$ (size$ ?0)) (+ 0 1))) (nat$ (+ 1 (of_nat$ (size$ ?0)))))))
  4684 (let ((?x108 (size$a nil$)))
  5716 (let ((?x61 (size$ ?0)))
  4685 (let (($x109 (= ?x108 zero$)))
  5717 (let ((?x157 (of_nat$ ?x61)))
  4686 (let ((@x110 (asserted $x109)))
  5718 (let ((?x166 (+ 1 ?x157)))
  4687 (let (($x106 (= ?x105 zero$)))
  5719 (let ((?x92 (+ 0 1)))
  4688 (let ((@x107 (asserted $x106)))
  5720 (let ((?x158 (+ ?x157 ?x92)))
  4689 (let ((@x287 (monotonicity (trans @x107 (symm @x110 (= zero$ ?x108)) (= ?x105 ?x108)) (= ?x233 (plus$ ?x108 ?x89)))))
  5721 (let ((@x170 (trans (monotonicity (rewrite (= ?x92 1)) (= ?x158 (+ ?x157 1))) (rewrite (= (+ ?x157 1) ?x166)) (= ?x158 ?x166))))
  4690 (let ((?x246 (plus$ ?x108 ?x89)))
  5722 (let ((@x179 (quant-intro (monotonicity (monotonicity @x170 $x172) (= $x160 $x174)) (= $x161 $x177))))
  4691 (let ((?x256 (cons$ 3 nil$)))
  5723 (let ((@x323 (mp~ (mp (asserted $x161) @x179 $x177) (nnf-pos (refl (~ $x174 $x174)) (~ $x177 $x177)) $x177)))
  4692 (let ((?x588 (size$a ?x256)))
  5724 (let ((@x824 (mp @x323 (quant-intro (refl (= $x174 $x174)) (= $x177 $x819)) $x819)))
  4693 (let (($x584 (= ?x588 ?x246)))
  5725 (let (($x718 (or (not $x819) $x714)))
  4694 (let (($x664 (forall ((?v0 Int) (?v1 Int_list$) )(!(= (size$a (cons$ ?v0 ?v1)) (plus$ (size$a ?v1) (suc$ zero$))) :pattern ( (cons$ ?v0 ?v1) )))
  5726 (let ((@x556 ((_ quant-inst true nil$a) $x718)))
  4695 ))
  5727 (let ((?x153 (size$a nil$)))
  4696 (let (($x119 (forall ((?v0 Int) (?v1 Int_list$) )(= (size$a (cons$ ?v0 ?v1)) (plus$ (size$a ?v1) (suc$ zero$))))
  5728 (let ((?x730 (of_nat$ ?x153)))
  4697 ))
  5729 (let (($x716 (<= ?x730 0)))
  4698 (let (($x118 (= (size$a (cons$ ?1 ?0)) (plus$ (size$a ?0) ?x89))))
  5730 (let (($x715 (= ?x730 0)))
  4699 (let ((@x178 (mp~ (asserted $x119) (nnf-pos (refl (~ $x118 $x118)) (~ $x119 $x119)) $x119)))
  5731 (let ((?x73 (nat$ 0)))
  4700 (let ((@x669 (mp @x178 (quant-intro (refl (= $x118 $x118)) (= $x119 $x664)) $x664)))
  5732 (let ((?x748 (of_nat$ ?x73)))
  4701 (let (($x231 (or (not $x664) $x584)))
  5733 (let (($x412 (= ?x748 0)))
  4702 (let ((@x232 ((_ quant-inst 3 nil$) $x231)))
  5734 (let (($x841 (forall ((?v0 Int) )(!(let (($x223 (= (of_nat$ (nat$ ?v0)) ?v0)))
  4703 (let ((?x267 (g$a ?x256)))
  5735 (let (($x236 (>= ?v0 0)))
  4704 (let (($x592 (= ?x267 ?x588)))
  5736 (let (($x237 (not $x236)))
  4705 (let (($x620 (forall ((?v0 Int_list$) )(!(let ((?x67 (size$a ?v0)))
  5737 (or $x237 $x223)))) :pattern ( (nat$ ?v0) )))
       
  5738 ))
       
  5739 (let (($x243 (forall ((?v0 Int) )(let (($x223 (= (of_nat$ (nat$ ?v0)) ?v0)))
       
  5740 (let (($x236 (>= ?v0 0)))
       
  5741 (let (($x237 (not $x236)))
       
  5742 (or $x237 $x223)))))
       
  5743 ))
       
  5744 (let (($x223 (= (of_nat$ (nat$ ?0)) ?0)))
       
  5745 (let (($x236 (>= ?0 0)))
       
  5746 (let (($x237 (not $x236)))
       
  5747 (let (($x240 (or $x237 $x223)))
       
  5748 (let (($x225 (forall ((?v0 Int) )(let (($x223 (= (of_nat$ (nat$ ?v0)) ?v0)))
       
  5749 (let (($x220 (<= 0 ?v0)))
       
  5750 (=> $x220 $x223))))
       
  5751 ))
       
  5752 (let (($x231 (forall ((?v0 Int) )(let (($x223 (= (of_nat$ (nat$ ?v0)) ?v0)))
       
  5753 (or (not (<= 0 ?v0)) $x223)))
       
  5754 ))
       
  5755 (let ((@x239 (monotonicity (rewrite (= (<= 0 ?0) $x236)) (= (not (<= 0 ?0)) $x237))))
       
  5756 (let ((@x245 (quant-intro (monotonicity @x239 (= (or (not (<= 0 ?0)) $x223) $x240)) (= $x231 $x243))))
       
  5757 (let ((@x230 (rewrite (= (=> (<= 0 ?0) $x223) (or (not (<= 0 ?0)) $x223)))))
       
  5758 (let ((@x248 (mp (asserted $x225) (trans (quant-intro @x230 (= $x225 $x231)) @x245 (= $x225 $x243)) $x243)))
       
  5759 (let ((@x846 (mp (mp~ @x248 (nnf-pos (refl (~ $x240 $x240)) (~ $x243 $x243)) $x243) (quant-intro (refl (= $x240 $x240)) (= $x243 $x841)) $x841)))
       
  5760 (let (($x381 (not $x841)))
       
  5761 (let (($x382 (or $x381 $x412)))
       
  5762 (let ((@x733 (rewrite (= (>= 0 0) true))))
       
  5763 (let ((@x736 (trans (monotonicity @x733 (= (not (>= 0 0)) (not true))) (rewrite (= (not true) false)) (= (not (>= 0 0)) false))))
       
  5764 (let ((@x739 (monotonicity @x736 (= (or (not (>= 0 0)) $x412) (or false $x412)))))
       
  5765 (let ((@x742 (trans @x739 (rewrite (= (or false $x412) $x412)) (= (or (not (>= 0 0)) $x412) $x412))))
       
  5766 (let ((@x731 (monotonicity @x742 (= (or $x381 (or (not (>= 0 0)) $x412)) $x382))))
       
  5767 (let ((@x450 (trans @x731 (rewrite (= $x382 $x382)) (= (or $x381 (or (not (>= 0 0)) $x412)) $x382))))
       
  5768 (let ((@x451 (mp ((_ quant-inst 0) (or $x381 (or (not (>= 0 0)) $x412))) @x450 $x382)))
       
  5769 (let ((@x621 (trans (monotonicity (asserted (= ?x153 ?x73)) (= ?x730 ?x748)) (unit-resolution @x451 @x846 $x412) $x715)))
       
  5770 (let (($x557 (>= ?x730 0)))
       
  5771 (let ((@x610 ((_ th-lemma arith eq-propagate -1 -1) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x715) $x557)) @x621 $x557) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x715) $x716)) @x621 $x716) (= (+ 1 ?x730) 1))))
       
  5772 (let (($x700 (<= ?x724 0)))
       
  5773 (let (($x558 (= ?x724 0)))
       
  5774 (let ((@x583 (trans (monotonicity (asserted (= ?x149 ?x73)) (= ?x724 ?x748)) (unit-resolution @x451 @x846 $x412) $x558)))
       
  5775 (let (($x701 (>= ?x724 0)))
       
  5776 (let ((@x559 ((_ th-lemma arith eq-propagate -1 -1) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x558) $x701)) @x583 $x701) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x558) $x700)) @x583 $x700) (= ?x710 1))))
       
  5777 (let ((@x563 (trans @x559 (symm @x610 (= 1 (+ 1 ?x730))) (= ?x710 (+ 1 ?x730)))))
       
  5778 (let ((@x539 (symm (monotonicity @x563 (= ?x713 (nat$ (+ 1 ?x730)))) (= (nat$ (+ 1 ?x730)) ?x713))))
       
  5779 (let ((?x437 (+ 1 ?x730)))
       
  5780 (let ((?x440 (nat$ ?x437)))
       
  5781 (let ((?x431 (cons$ 3 nil$)))
       
  5782 (let ((?x728 (size$a ?x431)))
       
  5783 (let (($x719 (= ?x728 ?x440)))
       
  5784 (let (($x826 (forall ((?v0 Int) (?v1 Int_list$) )(!(= (size$a (cons$ ?v0 ?v1)) (nat$ (+ 1 (of_nat$ (size$a ?v1))))) :pattern ( (cons$ ?v0 ?v1) )))
       
  5785 ))
       
  5786 (let (($x202 (forall ((?v0 Int) (?v1 Int_list$) )(= (size$a (cons$ ?v0 ?v1)) (nat$ (+ 1 (of_nat$ (size$a ?v1))))))
       
  5787 ))
       
  5788 (let (($x199 (= (size$a (cons$ ?1 ?0)) (nat$ (+ 1 (of_nat$ (size$a ?0)))))))
       
  5789 (let (($x186 (forall ((?v0 Int) (?v1 Int_list$) )(= (size$a (cons$ ?v0 ?v1)) (nat$ (+ (of_nat$ (size$a ?v1)) (+ 0 1)))))
       
  5790 ))
       
  5791 (let (($x185 (= (size$a (cons$ ?1 ?0)) (nat$ (+ (of_nat$ (size$a ?0)) ?x92)))))
       
  5792 (let (($x197 (= (nat$ (+ (of_nat$ (size$a ?0)) ?x92)) (nat$ (+ 1 (of_nat$ (size$a ?0)))))))
       
  5793 (let ((?x67 (size$a ?0)))
       
  5794 (let ((?x181 (of_nat$ ?x67)))
       
  5795 (let ((?x191 (+ 1 ?x181)))
       
  5796 (let ((?x183 (+ ?x181 ?x92)))
       
  5797 (let ((@x195 (trans (monotonicity (rewrite (= ?x92 1)) (= ?x183 (+ ?x181 1))) (rewrite (= (+ ?x181 1) ?x191)) (= ?x183 ?x191))))
       
  5798 (let ((@x204 (quant-intro (monotonicity (monotonicity @x195 $x197) (= $x185 $x199)) (= $x186 $x202))))
       
  5799 (let ((@x328 (mp~ (mp (asserted $x186) @x204 $x202) (nnf-pos (refl (~ $x199 $x199)) (~ $x202 $x202)) $x202)))
       
  5800 (let ((@x831 (mp @x328 (quant-intro (refl (= $x199 $x199)) (= $x202 $x826)) $x826)))
       
  5801 (let (($x722 (or (not $x826) $x719)))
       
  5802 (let ((@x723 ((_ quant-inst 3 nil$) $x722)))
       
  5803 (let ((?x432 (g$a ?x431)))
       
  5804 (let (($x729 (= ?x432 ?x728)))
       
  5805 (let (($x784 (forall ((?v0 Int_list$) )(!(let ((?x67 (size$a ?v0)))
       
  5806 (let ((?x66 (g$a ?v0)))
  4706 (let ((?x66 (g$a ?v0)))
  5807 (= ?x66 ?x67))) :pattern ( (g$a ?v0) ) :pattern ( (size$a ?v0) )))
  4707 (= ?x66 ?x67))) :pattern ( (g$a ?v0) ) :pattern ( (size$a ?v0) )))
  5808 ))
  4708 ))
  5809 (let (($x69 (forall ((?v0 Int_list$) )(let ((?x67 (size$a ?v0)))
  4709 (let (($x69 (forall ((?v0 Int_list$) )(let ((?x67 (size$a ?v0)))
  5810 (let ((?x66 (g$a ?v0)))
  4710 (let ((?x66 (g$a ?v0)))
  5811 (= ?x66 ?x67))))
  4711 (= ?x66 ?x67))))
  5812 ))
  4712 ))
  5813 (let ((@x788 (quant-intro (refl (= (= (g$a ?0) ?x67) (= (g$a ?0) ?x67))) (= $x69 $x784))))
  4713 (let ((@x622 (refl (= (= (g$a ?0) (size$a ?0)) (= (g$a ?0) (size$a ?0))))))
  5814 (let ((@x295 (nnf-pos (refl (~ (= (g$a ?0) ?x67) (= (g$a ?0) ?x67))) (~ $x69 $x69))))
  4714 (let ((@x129 (nnf-pos (refl (~ (= (g$a ?0) (size$a ?0)) (= (g$a ?0) (size$a ?0)))) (~ $x69 $x69))))
  5815 (let ((@x789 (mp (mp~ (asserted $x69) @x295 $x69) @x788 $x784)))
  4715 (let ((@x625 (mp (mp~ (asserted $x69) @x129 $x69) (quant-intro @x622 (= $x69 $x620)) $x620)))
  5816 (let (($x438 (or (not $x784) $x729)))
  4716 (let (($x248 (or (not $x620) $x592)))
  5817 (let ((@x439 ((_ quant-inst (cons$ 3 nil$)) $x438)))
  4717 (let ((@x585 ((_ quant-inst (cons$ 3 nil$)) $x248)))
  5818 (let (($x433 (= ?x208 ?x432)))
  4718 (let (($x268 (= ?x123 ?x267)))
  5819 (let (($x760 (forall ((?v0 Int) )(!(= (g$ (some$ ?v0)) (g$a (cons$ ?v0 nil$))) :pattern ( (some$ ?v0) ) :pattern ( (cons$ ?v0 nil$) )))
  4719 (let (($x596 (forall ((?v0 Int) )(!(= (g$ (some$ ?v0)) (g$a (cons$ ?v0 nil$))) :pattern ( (some$ ?v0) ) :pattern ( (cons$ ?v0 nil$) )))
  5820 ))
  4720 ))
  5821 (let (($x34 (forall ((?v0 Int) )(= (g$ (some$ ?v0)) (g$a (cons$ ?v0 nil$))))
  4721 (let (($x34 (forall ((?v0 Int) )(= (g$ (some$ ?v0)) (g$a (cons$ ?v0 nil$))))
  5822 ))
  4722 ))
  5823 (let (($x33 (= (g$ (some$ ?0)) (g$a (cons$ ?0 nil$)))))
  4723 (let (($x33 (= (g$ (some$ ?0)) (g$a (cons$ ?0 nil$)))))
  5824 (let ((@x297 (mp~ (asserted $x34) (nnf-pos (refl (~ $x33 $x33)) (~ $x34 $x34)) $x34)))
  4724 (let ((@x157 (mp~ (asserted $x34) (nnf-pos (refl (~ $x33 $x33)) (~ $x34 $x34)) $x34)))
  5825 (let ((@x765 (mp @x297 (quant-intro (refl (= $x33 $x33)) (= $x34 $x760)) $x760)))
  4725 (let ((@x601 (mp @x157 (quant-intro (refl (= $x33 $x33)) (= $x34 $x596)) $x596)))
  5826 (let (($x750 (or (not $x760) $x433)))
  4726 (let (($x250 (or (not $x596) $x268)))
  5827 (let ((@x751 ((_ quant-inst 3) $x750)))
  4727 (let ((@x586 ((_ quant-inst 3) $x250)))
  5828 (let ((@x550 (trans (unit-resolution @x751 @x765 $x433) (unit-resolution @x439 @x789 $x729) (= ?x208 ?x728))))
  4728 (let ((@x275 (trans (unit-resolution @x586 @x601 $x268) (unit-resolution @x585 @x625 $x592) (= ?x123 ?x588))))
  5829 (let ((@x554 (trans (trans @x550 (unit-resolution @x723 @x831 $x719) (= ?x208 ?x440)) @x539 (= ?x208 ?x713))))
  4729 (let ((@x280 (trans (trans @x275 (unit-resolution @x232 @x669 $x584) (= ?x123 ?x246)) (symm @x287 (= ?x246 ?x233)) (= ?x123 ?x233))))
  5830 (let ((@x525 (trans @x554 (symm (unit-resolution @x556 @x824 $x714) (= ?x713 ?x720)) (= ?x208 ?x720))))
  4730 (let ((@x558 (trans @x280 (symm (unit-resolution @x213 @x662 $x570) (= ?x233 ?x227)) (= ?x123 ?x227))))
  5831 (let ((@x527 (trans @x525 (symm (unit-resolution @x712 @x781 $x444) (= ?x720 ?x435)) (= ?x208 ?x435))))
  4731 (let ((@x560 (trans @x558 (symm (unit-resolution @x572 @x617 $x569) (= ?x227 ?x270)) (= ?x123 ?x270))))
  5832 (let ((@x528 (trans @x527 (symm (unit-resolution @x752 @x773 $x406) (= ?x435 ?x210)) $x211)))
  4732 (let ((@x546 (trans @x560 (symm (unit-resolution @x255 @x609 $x587) (= ?x270 ?x125)) $x126)))
  5833 (let (($x212 (not $x211)))
  4733 (let (($x127 (not $x126)))
  5834 (let ((@x213 (asserted $x212)))
  4734 (let ((@x128 (asserted $x127)))
  5835 (unit-resolution @x213 @x528 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  4735 (unit-resolution @x128 @x546 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  5836 
  4736