merged
authortraytel
Thu, 13 Mar 2014 16:39:08 +0100
changeset 56115 9bf84c452463
parent 56114 bc7335979247 (current diff)
parent 56112 040424c3800d (diff)
child 56116 bdc03e91684a
merged
src/HOL/SMT_Examples/SMT_Word_Examples.certs
--- a/Admin/components/components.sha1	Thu Mar 13 16:28:25 2014 +0100
+++ b/Admin/components/components.sha1	Thu Mar 13 16:39:08 2014 +0100
@@ -80,3 +80,4 @@
 3a8f77822278fe9250890e357248bc678d8fac95  z3-3.2-1.tar.gz
 12ae71acde43bd7bed1e005c43034b208c0cba4c  z3-3.2.tar.gz
 d94a716502c8503d63952bcb4d4176fac8b28704  z3-4.0.tar.gz
+86e721296c400ada440e4a9ce11b9e845eec9e25  z3-4.3.0.tar.gz
--- a/Admin/components/main	Thu Mar 13 16:28:25 2014 +0100
+++ b/Admin/components/main	Thu Mar 13 16:39:08 2014 +0100
@@ -11,5 +11,6 @@
 scala-2.10.3
 spass-3.8ds
 z3-3.2-1
+z3-4.3.0
 xz-java-1.2-1
-ProofGeneral-4.2-1
\ No newline at end of file
+ProofGeneral-4.2-1
--- a/etc/isar-keywords.el	Thu Mar 13 16:28:25 2014 +0100
+++ b/etc/isar-keywords.el	Thu Mar 13 16:39:08 2014 +0100
@@ -244,6 +244,7 @@
     "sledgehammer"
     "sledgehammer_params"
     "smt_status"
+    "smt2_status"
     "solve_direct"
     "sorry"
     "spark_end"
@@ -447,6 +448,7 @@
     "refute"
     "sledgehammer"
     "smt_status"
+    "smt2_status"
     "solve_direct"
     "spark_status"
     "term"
--- a/src/HOL/Lifting_Option.thy	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/Lifting_Option.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -17,8 +17,8 @@
     | _ \<Rightarrow> False)"
 by (auto split: prod.split option.split)
 
-abbreviation (input) option_pred :: "('a \<Rightarrow> bool) \<Rightarrow> 'a option \<Rightarrow> bool" where
-  "option_pred \<equiv> case_option True"
+abbreviation (input) pred_option :: "('a \<Rightarrow> bool) \<Rightarrow> 'a option \<Rightarrow> bool" where
+  "pred_option \<equiv> case_option True"
 
 lemma rel_option_eq [relator_eq]:
   "rel_option (op =) = (op =)"
@@ -35,7 +35,7 @@
 
 lemma Domainp_option[relator_domain]:
   assumes "Domainp A = P"
-  shows "Domainp (rel_option A) = (option_pred P)"
+  shows "Domainp (rel_option A) = (pred_option P)"
 using assms unfolding Domainp_iff[abs_def] rel_option_iff[abs_def]
 by (auto iff: fun_eq_iff split: option.split)
 
@@ -64,7 +64,7 @@
   unfolding bi_unique_def split_option_all by simp
 
 lemma option_invariant_commute [invariant_commute]:
-  "rel_option (Lifting.invariant P) = Lifting.invariant (option_pred P)"
+  "rel_option (Lifting.invariant P) = Lifting.invariant (pred_option P)"
   by (auto simp add: fun_eq_iff Lifting.invariant_def split_option_all)
 
 subsection {* Quotient theorem for the Lifting package *}
--- a/src/HOL/Lifting_Product.thy	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/Lifting_Product.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -10,12 +10,12 @@
 
 subsection {* Relator and predicator properties *}
 
-definition prod_pred :: "('a \<Rightarrow> bool) \<Rightarrow> ('b \<Rightarrow> bool) \<Rightarrow> 'a \<times> 'b \<Rightarrow> bool"
-where "prod_pred R1 R2 = (\<lambda>(a, b). R1 a \<and> R2 b)"
+definition pred_prod :: "('a \<Rightarrow> bool) \<Rightarrow> ('b \<Rightarrow> bool) \<Rightarrow> 'a \<times> 'b \<Rightarrow> bool"
+where "pred_prod R1 R2 = (\<lambda>(a, b). R1 a \<and> R2 b)"
 
-lemma prod_pred_apply [simp]:
-  "prod_pred P1 P2 (a, b) \<longleftrightarrow> P1 a \<and> P2 b"
-  by (simp add: prod_pred_def)
+lemma pred_prod_apply [simp]:
+  "pred_prod P1 P2 (a, b) \<longleftrightarrow> P1 a \<and> P2 b"
+  by (simp add: pred_prod_def)
 
 lemmas rel_prod_eq[relator_eq] = prod.rel_eq
 lemmas rel_prod_mono[relator_mono] = prod.rel_mono
@@ -27,8 +27,8 @@
 lemma Domainp_prod[relator_domain]:
   assumes "Domainp T1 = P1"
   assumes "Domainp T2 = P2"
-  shows "Domainp (rel_prod T1 T2) = (prod_pred P1 P2)"
-using assms unfolding rel_prod_def prod_pred_def by blast
+  shows "Domainp (rel_prod T1 T2) = (pred_prod P1 P2)"
+using assms unfolding rel_prod_def pred_prod_def by blast
 
 lemma left_total_rel_prod [reflexivity_rule]:
   assumes "left_total R1"
@@ -62,8 +62,8 @@
   using assms unfolding bi_unique_def rel_prod_def by auto
 
 lemma prod_invariant_commute [invariant_commute]: 
-  "rel_prod (Lifting.invariant P1) (Lifting.invariant P2) = Lifting.invariant (prod_pred P1 P2)"
-  by (simp add: fun_eq_iff rel_prod_def prod_pred_def Lifting.invariant_def) blast
+  "rel_prod (Lifting.invariant P1) (Lifting.invariant P2) = Lifting.invariant (pred_prod P1 P2)"
+  by (simp add: fun_eq_iff rel_prod_def pred_prod_def Lifting.invariant_def) blast
 
 subsection {* Quotient theorem for the Lifting package *}
 
@@ -109,4 +109,3 @@
 end
 
 end
-
--- a/src/HOL/List.thy	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/List.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -1299,7 +1299,7 @@
   case (snoc a xs)
   show ?case
   proof cases
-    assume "x = a" thus ?case using snoc by (metis set_simps(1) emptyE)
+    assume "x = a" thus ?case using snoc by (auto intro!: exI)
   next
     assume "x \<noteq> a" thus ?case using snoc by fastforce
   qed
@@ -1332,7 +1332,8 @@
   show ?case
   proof cases
     assume "P x"
-    thus ?thesis by simp (metis Un_upper1 contra_subsetD in_set_conv_decomp_first self_append_conv2 set_append)
+    hence "x # xs = [] @ x # xs \<and> P x \<and> (\<forall>y\<in>set []. \<not> P y)" by simp
+    thus ?thesis by fast
   next
     assume "\<not> P x"
     hence "\<exists>x\<in>set xs. P x" using Cons(2) by simp
@@ -1359,7 +1360,7 @@
   case (snoc x xs)
   show ?case
   proof cases
-    assume "P x" thus ?thesis by (metis emptyE set_empty)
+    assume "P x" thus ?thesis by (auto intro!: exI)
   next
     assume "\<not> P x"
     hence "\<exists>x\<in>set xs. P x" using snoc(2) by simp
@@ -1375,7 +1376,8 @@
 lemma split_list_last_prop_iff:
   "(\<exists>x \<in> set xs. P x) \<longleftrightarrow>
    (\<exists>ys x zs. xs = ys@x#zs \<and> P x \<and> (\<forall>z \<in> set zs. \<not> P z))"
-by (metis split_list_last_prop [where P=P] in_set_conv_decomp)
+  by rule (erule split_list_last_prop, auto)
+
 
 lemma finite_list: "finite A ==> EX xs. set xs = A"
   by (erule finite_induct) (auto simp add: set_simps(2) [symmetric] simp del: set_simps(2))
@@ -1773,7 +1775,7 @@
 done
 
 lemma list_update_nonempty[simp]: "xs[k:=x] = [] \<longleftrightarrow> xs=[]"
-by(metis length_0_conv length_list_update)
+by (simp only: length_0_conv[symmetric] length_list_update)
 
 lemma list_update_same_conv:
 "i < length xs ==> (xs[i := x] = xs) = (xs!i = x)"
@@ -1936,7 +1938,7 @@
 
 lemma snoc_eq_iff_butlast:
   "xs @ [x] = ys \<longleftrightarrow> (ys \<noteq> [] & butlast ys = xs & last ys = x)"
-by (metis append_butlast_last_id append_is_Nil_conv butlast_snoc last_snoc not_Cons_self)
+by fastforce
 
 
 subsubsection {* @{const take} and @{const drop} *}
@@ -2121,8 +2123,7 @@
   "m >= n \<Longrightarrow> set(drop m xs) <= set(drop n xs)"
 apply(induct xs arbitrary: m n)
 apply(auto simp:drop_Cons split:nat.split)
-apply (metis set_drop_subset subset_iff)
-done
+by (metis set_drop_subset subset_iff)
 
 lemma in_set_takeD: "x : set(take n xs) \<Longrightarrow> x : set xs"
 using set_take_subset by fast
@@ -3250,15 +3251,9 @@
  apply (case_tac j)
 apply (clarsimp simp add: set_conv_nth, simp)
 apply (rule conjI)
-(*TOO SLOW
-apply (metis Zero_neq_Suc gr0_conv_Suc in_set_conv_nth lessI less_trans_Suc nth_Cons' nth_Cons_Suc)
-*)
  apply (clarsimp simp add: set_conv_nth)
  apply (erule_tac x = 0 in allE, simp)
  apply (erule_tac x = "Suc i" in allE, simp, clarsimp)
-(*TOO SLOW
-apply (metis Suc_Suc_eq lessI less_trans_Suc nth_Cons_Suc)
-*)
 apply (erule_tac x = "Suc i" in allE, simp)
 apply (erule_tac x = "Suc j" in allE, simp)
 done
@@ -3403,8 +3398,7 @@
 
 lemma distinct_length_2_or_more:
 "distinct (a # b # xs) \<longleftrightarrow> (a \<noteq> b \<and> distinct (a # xs) \<and> distinct (b # xs))"
-by (metis distinct.simps(2) list.sel(1) hd_in_set list.simps(2) set_ConsD set_rev_mp
-      set_subset_Cons)
+by force
 
 lemma remdups_adj_Cons: "remdups_adj (x # xs) =
   (case remdups_adj xs of [] \<Rightarrow> [x] | y # xs \<Rightarrow> if x = y then y # xs else x # y # xs)"
@@ -3636,8 +3630,8 @@
   case Nil thus ?case by simp
 next
   case (Cons x xs) thus ?case
-    by(auto simp: nth_Cons' split: if_splits)
-      (metis One_nat_def diff_Suc_1 less_Suc_eq_0_disj)
+    apply(auto simp: nth_Cons' split: if_splits)
+    using diff_Suc_1[unfolded One_nat_def] less_Suc_eq_0_disj by fastforce
 qed
 
 lemma find_cong[fundef_cong]:
@@ -3683,8 +3677,8 @@
    (case List.extract P xs of
       None \<Rightarrow> None |
       Some (ys, y, zs) \<Rightarrow> Some (x#ys, y, zs)))"
-by(auto simp add: extract_def split: list.splits)
-  (metis comp_def dropWhile_eq_Nil_conv list.distinct(1))
+by(auto simp add: extract_def comp_def split: list.splits)
+  (metis dropWhile_eq_Nil_conv list.distinct(1))
 
 
 subsubsection {* @{const remove1} *}
@@ -3792,7 +3786,7 @@
 
 lemma map_removeAll_inj: "inj f \<Longrightarrow>
   map f (removeAll x xs) = removeAll (f x) (map f xs)"
-by(metis map_removeAll_inj_on subset_inj_on subset_UNIV)
+by (rule map_removeAll_inj_on, erule subset_inj_on, rule subset_UNIV)
 
 
 subsubsection {* @{const replicate} *}
@@ -3962,7 +3956,7 @@
     with * show ?thesis by blast
   qed
   then show ?case
-    using xs'_def ys'_def by metis
+    using xs'_def ys'_def by meson
 qed
 
 lemma comm_append_is_replicate:
@@ -3974,7 +3968,7 @@
 proof -
   obtain m n zs where "concat (replicate m zs) = xs"
     and "concat (replicate n zs) = ys"
-    using assms by (metis comm_append_are_replicate)
+    using comm_append_are_replicate[of xs ys, OF assms] by blast
   then have "m + n > 1" and "concat (replicate (m+n) zs) = xs @ ys"
     using `xs \<noteq> []` and `ys \<noteq> []`
     by (auto simp: replicate_add)
@@ -4511,10 +4505,11 @@
 qed
 
 lemma infinite_UNIV_listI: "~ finite(UNIV::'a list set)"
-apply(rule notI)
-apply(drule finite_maxlen)
-apply (metis UNIV_I length_replicate less_not_refl)
-done
+apply (rule notI)
+apply (drule finite_maxlen)
+apply clarsimp
+apply (erule_tac x = "replicate n undefined" in allE)
+by simp
 
 
 subsection {* Sorting *}
@@ -4726,7 +4721,7 @@
   proof(induct rule:list_induct2[OF 1])
     case 1 show ?case by simp
   next
-    case 2 thus ?case by (simp add:sorted_Cons)
+    case 2 thus ?case by (simp add: sorted_Cons)
        (metis Diff_insert_absorb antisym insertE insert_iff)
   qed
 qed
@@ -5660,10 +5655,10 @@
 by (simp add: listrel1_def Cons_eq_append_conv) (blast)
 
 lemma listrel1I1: "(x,y) \<in> r \<Longrightarrow> (x # xs, y # xs) \<in> listrel1 r"
-by (metis Cons_listrel1_Cons)
+by fast
 
 lemma listrel1I2: "(xs, ys) \<in> listrel1 r \<Longrightarrow> (x # xs, x # ys) \<in> listrel1 r"
-by (metis Cons_listrel1_Cons)
+by fast
 
 lemma append_listrel1I:
   "(xs, ys) \<in> listrel1 r \<and> us = vs \<or> xs = ys \<and> (us, vs) \<in> listrel1 r
@@ -5757,8 +5752,8 @@
 done
 
 lemma wf_listrel1_iff[simp]: "wf(listrel1 r) = wf r"
-by(metis wf_acc_iff in_lists_conv_set lists_accI lists_accD Cons_in_lists_iff)
-
+by (auto simp: wf_acc_iff
+      intro: lists_accD lists_accI[THEN Cons_in_lists_iff[THEN iffD1, THEN conjunct1]])
 
 subsubsection {* Lifting Relations to Lists: all elements *}
 
@@ -5901,7 +5896,7 @@
       case base show ?case by(auto simp add: listrel_iff_zip set_zip)
     next
       case (step ys zs)
-      thus ?case  by (metis listrel_reflcl_if_listrel1 listrel_rtrancl_trans)
+      thus ?case by (metis listrel_reflcl_if_listrel1 listrel_rtrancl_trans)
     qed
   qed
 qed
--- a/src/HOL/ROOT	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/ROOT	Thu Mar 13 16:39:08 2014 +0100
@@ -777,7 +777,8 @@
     "Boogie_Dijkstra.certs"
     "Boogie_Max.certs"
     "SMT_Examples.certs"
-    "SMT_Word_Examples.certs"
+    "SMT_Examples.certs2"
+    "SMT_Word_Examples.certs2"
     "VCC_Max.certs"
 
 session "HOL-SPARK" (main) in "SPARK" = "HOL-Word" +
--- a/src/HOL/Real.thy	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/Real.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -2197,7 +2197,20 @@
     times_real_inst.times_real uminus_real_inst.uminus_real
     zero_real_inst.zero_real
 
+
+subsection {* Setup for SMT *}
+
 ML_file "Tools/SMT/smt_real.ML"
 setup SMT_Real.setup
+ML_file "Tools/SMT2/smt2_real.ML"
+ML_file "Tools/SMT2/z3_new_real.ML"
+
+lemma [z3_new_rule]:
+  "0 + (x::real) = x"
+  "x + 0 = x"
+  "0 * x = 0"
+  "1 * x = x"
+  "x + y = y + x"
+  by auto
 
 end
--- a/src/HOL/Relation.thy	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/Relation.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -1135,7 +1135,4 @@
     (auto simp: comp_fun_commute.fold_insert comp_fun_commute_relcomp_fold insert_relcomp_fold
       cong: if_cong)
 
-
-
 end
-
--- a/src/HOL/SMT.thy	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/SMT.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -31,14 +31,13 @@
 quantifier block.
 *}
 
-datatype pattern = Pattern
+typedecl pattern
 
-definition pat :: "'a \<Rightarrow> pattern" where "pat _ = Pattern"
-definition nopat :: "'a \<Rightarrow> pattern" where "nopat _ = Pattern"
+consts
+  pat :: "'a \<Rightarrow> pattern"
+  nopat :: "'a \<Rightarrow> pattern"
 
-definition trigger :: "pattern list list \<Rightarrow> bool \<Rightarrow> bool"
-where "trigger _ P = P"
-
+definition trigger :: "pattern list list \<Rightarrow> bool \<Rightarrow> bool" where "trigger _ P = P"
 
 
 subsection {* Quantifier weights *}
@@ -67,7 +66,6 @@
 *}
 
 
-
 subsection {* Higher-order encoding *}
 
 text {*
@@ -88,7 +86,6 @@
   fun_upd_upd fun_app_def
 
 
-
 subsection {* First-order logic *}
 
 text {*
@@ -107,7 +104,6 @@
 definition term_false where "term_false = False"
 
 
-
 subsection {* Integer division and modulo for Z3 *}
 
 definition z3div :: "int \<Rightarrow> int \<Rightarrow> int" where
@@ -117,7 +113,6 @@
   "z3mod k l = (if 0 \<le> l then k mod l else k mod (-l))"
 
 
-
 subsection {* Setup *}
 
 ML_file "Tools/SMT/smt_builtin.ML"
@@ -426,7 +421,7 @@
 
 
 hide_type (open) pattern
-hide_const Pattern fun_app term_true term_false z3div z3mod
+hide_const fun_app term_true term_false z3div z3mod
 hide_const (open) trigger pat nopat weight
 
 end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/SMT2.thy	Thu Mar 13 16:39:08 2014 +0100
@@ -0,0 +1,445 @@
+(*  Title:      HOL/SMT2.thy
+    Author:     Sascha Boehme, TU Muenchen
+*)
+
+header {* Bindings to Satisfiability Modulo Theories (SMT) solvers based on SMT-LIB 2 *}
+
+theory SMT2
+imports Record
+keywords "smt2_status" :: diag
+begin
+
+ML_file "Tools/SMT2/smt2_util.ML"
+ML_file "Tools/SMT2/smt2_failure.ML"
+ML_file "Tools/SMT2/smt2_config.ML"
+
+
+subsection {* Triggers for quantifier instantiation *}
+
+text {*
+Some SMT solvers support patterns as a quantifier instantiation
+heuristics.  Patterns may either be positive terms (tagged by "pat")
+triggering quantifier instantiations -- when the solver finds a
+term matching a positive pattern, it instantiates the corresponding
+quantifier accordingly -- or negative terms (tagged by "nopat")
+inhibiting quantifier instantiations.  A list of patterns
+of the same kind is called a multipattern, and all patterns in a
+multipattern are considered conjunctively for quantifier instantiation.
+A list of multipatterns is called a trigger, and their multipatterns
+act disjunctively during quantifier instantiation.  Each multipattern
+should mention at least all quantified variables of the preceding
+quantifier block.
+*}
+
+typedecl pattern
+
+consts
+  pat :: "'a \<Rightarrow> pattern"
+  nopat :: "'a \<Rightarrow> pattern"
+
+definition trigger :: "pattern list list \<Rightarrow> bool \<Rightarrow> bool" where "trigger _ P = P"
+
+
+subsection {* Quantifier weights *}
+
+text {*
+Weight annotations to quantifiers influence the priority of quantifier
+instantiations.  They should be handled with care for solvers, which support
+them, because incorrect choices of weights might render a problem unsolvable.
+*}
+
+definition weight :: "int \<Rightarrow> bool \<Rightarrow> bool" where "weight _ P = P"
+
+text {*
+Weights must be nonnegative.  The value @{text 0} is equivalent to providing
+no weight at all.
+
+Weights should only be used at quantifiers and only inside triggers (if the
+quantifier has triggers).  Valid usages of weights are as follows:
+
+\begin{itemize}
+\item
+@{term "\<forall>x. trigger [[pat (P x)]] (weight 2 (P x))"}
+\item
+@{term "\<forall>x. weight 3 (P x)"}
+\end{itemize}
+*}
+
+
+subsection {* Higher-order encoding *}
+
+text {*
+Application is made explicit for constants occurring with varying
+numbers of arguments.  This is achieved by the introduction of the
+following constant.
+*}
+
+definition fun_app :: "'a \<Rightarrow> 'a" where "fun_app f = f"
+
+text {*
+Some solvers support a theory of arrays which can be used to encode
+higher-order functions.  The following set of lemmas specifies the
+properties of such (extensional) arrays.
+*}
+
+lemmas array_rules = ext fun_upd_apply fun_upd_same fun_upd_other  fun_upd_upd fun_app_def
+
+
+subsection {* Normalization *}
+
+lemma case_bool_if[abs_def]: "case_bool x y P = (if P then x else y)"
+  by simp
+
+lemma nat_int': "\<forall>n. nat (int n) = n" by simp
+lemma int_nat_nneg: "\<forall>i. i \<ge> 0 \<longrightarrow> int (nat i) = i" by simp
+lemma int_nat_neg: "\<forall>i. i < 0 \<longrightarrow> int (nat i) = 0" by simp
+
+lemma nat_zero_as_int: "0 = nat 0" by (rule transfer_nat_int_numerals(1))
+lemma nat_one_as_int: "1 = nat 1" by (rule transfer_nat_int_numerals(2))
+lemma nat_numeral_as_int: "numeral = (\<lambda>i. nat (numeral i))" by simp
+lemma nat_less_as_int: "op < = (\<lambda>a b. int a < int b)" by simp
+lemma nat_leq_as_int: "op \<le> = (\<lambda>a b. int a <= int b)" by simp
+lemma Suc_as_int: "Suc = (\<lambda>a. nat (int a + 1))" by (rule ext) simp
+lemma nat_plus_as_int: "op + = (\<lambda>a b. nat (int a + int b))" by (rule ext)+ simp
+lemma nat_minus_as_int: "op - = (\<lambda>a b. nat (int a - int b))" by (rule ext)+ simp
+lemma nat_times_as_int: "op * = (\<lambda>a b. nat (int a * int b))" by (simp add: nat_mult_distrib)
+lemma nat_div_as_int: "op div = (\<lambda>a b. nat (int a div int b))" by (simp add: nat_div_distrib)
+lemma nat_mod_as_int: "op mod = (\<lambda>a b. nat (int a mod int b))" by (simp add: nat_mod_distrib)
+
+lemma int_Suc: "int (Suc n) = int n + 1" by simp
+lemma int_plus: "int (n + m) = int n + int m" by (rule of_nat_add)
+lemma int_minus: "int (n - m) = int (nat (int n - int m))" by auto
+
+lemmas Ex1_def_raw = Ex1_def[abs_def]
+lemmas Ball_def_raw = Ball_def[abs_def]
+lemmas Bex_def_raw = Bex_def[abs_def]
+lemmas abs_if_raw = abs_if[abs_def]
+lemmas min_def_raw = min_def[abs_def]
+lemmas max_def_raw = max_def[abs_def]
+
+
+subsection {* Integer division and modulo for Z3 *}
+
+text {*
+The following Z3-inspired definitions are overspecified for the case where @{text "l = 0"}. This
+Schönheitsfehler is corrected in the @{text div_as_z3div} and @{text mod_as_z3mod} theorems.
+*}
+
+definition z3div :: "int \<Rightarrow> int \<Rightarrow> int" where
+  "z3div k l = (if l \<ge> 0 then k div l else - (k div - l))"
+
+definition z3mod :: "int \<Rightarrow> int \<Rightarrow> int" where
+  "z3mod k l = k mod (if l \<ge> 0 then l else - l)"
+
+lemma div_as_z3div:
+  "\<forall>k l. k div l = (if l = 0 then 0 else if l > 0 then z3div k l else z3div (- k) (- l))"
+  by (simp add: z3div_def)
+
+lemma mod_as_z3mod:
+  "\<forall>k l. k mod l = (if l = 0 then k else if l > 0 then z3mod k l else - z3mod (- k) (- l))"
+  by (simp add: z3mod_def)
+
+
+subsection {* Setup *}
+
+ML_file "Tools/SMT2/smt2_builtin.ML"
+ML_file "Tools/SMT2/smt2_datatypes.ML"
+ML_file "Tools/SMT2/smt2_normalize.ML"
+ML_file "Tools/SMT2/smt2_translate.ML"
+ML_file "Tools/SMT2/smtlib2.ML"
+ML_file "Tools/SMT2/smtlib2_interface.ML"
+ML_file "Tools/SMT2/z3_new_model.ML"
+ML_file "Tools/SMT2/z3_new_proof.ML"
+ML_file "Tools/SMT2/smt2_solver.ML"
+ML_file "Tools/SMT2/z3_new_isar.ML"
+ML_file "Tools/SMT2/z3_new_interface.ML"
+ML_file "Tools/SMT2/z3_new_replay_util.ML"
+ML_file "Tools/SMT2/z3_new_replay_literals.ML"
+ML_file "Tools/SMT2/z3_new_replay_rules.ML"
+ML_file "Tools/SMT2/z3_new_replay_methods.ML"
+ML_file "Tools/SMT2/z3_new_replay.ML"
+ML_file "Tools/SMT2/smt2_systems.ML"
+
+method_setup smt2 = {*
+  Scan.optional Attrib.thms [] >>
+    (fn thms => fn ctxt =>
+      METHOD (fn facts => HEADGOAL (SMT2_Solver.smt2_tac ctxt (thms @ facts))))
+*} "apply an SMT solver to the current goal (based on SMT-LIB 2)"
+
+
+subsection {* Configuration *}
+
+text {*
+The current configuration can be printed by the command
+@{text smt2_status}, which shows the values of most options.
+*}
+
+
+
+subsection {* General configuration options *}
+
+text {*
+The option @{text smt2_solver} can be used to change the target SMT
+solver.  The possible values can be obtained from the @{text smt2_status}
+command.
+
+Due to licensing restrictions, Yices and Z3 are not installed/enabled
+by default.  Z3 is free for non-commercial applications and can be enabled
+by setting Isabelle system option @{text z3_non_commercial} to @{text yes}.
+*}
+
+declare [[ smt2_solver = z3_new ]]
+
+text {*
+Since SMT solvers are potentially non-terminating, there is a timeout
+(given in seconds) to restrict their runtime.  A value greater than
+120 (seconds) is in most cases not advisable.
+*}
+
+declare [[ smt2_timeout = 20 ]]
+
+text {*
+SMT solvers apply randomized heuristics.  In case a problem is not
+solvable by an SMT solver, changing the following option might help.
+*}
+
+declare [[ smt2_random_seed = 1 ]]
+
+text {*
+In general, the binding to SMT solvers runs as an oracle, i.e, the SMT
+solvers are fully trusted without additional checks.  The following
+option can cause the SMT solver to run in proof-producing mode, giving
+a checkable certificate.  This is currently only implemented for Z3.
+*}
+
+declare [[ smt2_oracle = false ]]
+
+text {*
+Each SMT solver provides several commandline options to tweak its
+behaviour.  They can be passed to the solver by setting the following
+options.
+*}
+
+(* declare [[ cvc3_options = "" ]] TODO *)
+(* declare [[ yices_options = "" ]] TODO *)
+(* declare [[ z3_options = "" ]] TODO *)
+
+text {*
+The SMT method provides an inference mechanism to detect simple triggers
+in quantified formulas, which might increase the number of problems
+solvable by SMT solvers (note: triggers guide quantifier instantiations
+in the SMT solver).  To turn it on, set the following option.
+*}
+
+declare [[ smt2_infer_triggers = false ]]
+
+text {*
+Enable the following option to use built-in support for div/mod, datatypes,
+and records in Z3.  Currently, this is implemented only in oracle mode.
+*}
+
+declare [[ z3_new_extensions = false ]]
+
+text {*
+The SMT method monomorphizes the given facts, that is, it tries to
+instantiate all schematic type variables with fixed types occurring
+in the problem.  This is a (possibly nonterminating) fixed-point
+construction whose cycles are limited by the following option.
+*}
+
+declare [[ monomorph_max_rounds = 5 ]]
+
+text {*
+In addition, the number of generated monomorphic instances is limited
+by the following option.
+*}
+
+declare [[ monomorph_max_new_instances = 500 ]]
+
+
+
+subsection {* Certificates *}
+
+text {*
+By setting the option @{text smt2_certificates} to the name of a file,
+all following applications of an SMT solver a cached in that file.
+Any further application of the same SMT solver (using the very same
+configuration) re-uses the cached certificate instead of invoking the
+solver.  An empty string disables caching certificates.
+
+The filename should be given as an explicit path.  It is good
+practice to use the name of the current theory (with ending
+@{text ".certs"} instead of @{text ".thy"}) as the certificates file.
+Certificate files should be used at most once in a certain theory context,
+to avoid race conditions with other concurrent accesses.
+*}
+
+declare [[ smt2_certificates = "" ]]
+
+text {*
+The option @{text smt2_read_only_certificates} controls whether only
+stored certificates are should be used or invocation of an SMT solver
+is allowed.  When set to @{text true}, no SMT solver will ever be
+invoked and only the existing certificates found in the configured
+cache are used;  when set to @{text false} and there is no cached
+certificate for some proposition, then the configured SMT solver is
+invoked.
+*}
+
+declare [[ smt2_read_only_certificates = false ]]
+
+
+
+subsection {* Tracing *}
+
+text {*
+The SMT method, when applied, traces important information.  To
+make it entirely silent, set the following option to @{text false}.
+*}
+
+declare [[ smt2_verbose = true ]]
+
+text {*
+For tracing the generated problem file given to the SMT solver as
+well as the returned result of the solver, the option
+@{text smt2_trace} should be set to @{text true}.
+*}
+
+declare [[ smt2_trace = false ]]
+
+text {*
+From the set of assumptions given to the SMT solver, those assumptions
+used in the proof are traced when the following option is set to
+@{term true}.  This only works for Z3 when it runs in non-oracle mode
+(see options @{text smt2_solver} and @{text smt2_oracle} above).
+*}
+
+declare [[ smt2_trace_used_facts = false ]]
+
+
+subsection {* Schematic rules for Z3 proof reconstruction *}
+
+text {*
+Several prof rules of Z3 are not very well documented.  There are two
+lemma groups which can turn failing Z3 proof reconstruction attempts
+into succeeding ones: the facts in @{text z3_rule} are tried prior to
+any implemented reconstruction procedure for all uncertain Z3 proof
+rules;  the facts in @{text z3_simp} are only fed to invocations of
+the simplifier when reconstructing theory-specific proof steps.
+*}
+
+lemmas [z3_new_rule] =
+  refl eq_commute conj_commute disj_commute simp_thms nnf_simps
+  ring_distribs field_simps times_divide_eq_right times_divide_eq_left
+  if_True if_False not_not
+
+lemma [z3_new_rule]:
+  "(P \<and> Q) = (\<not>(\<not>P \<or> \<not>Q))"
+  "(P \<and> Q) = (\<not>(\<not>Q \<or> \<not>P))"
+  "(\<not>P \<and> Q) = (\<not>(P \<or> \<not>Q))"
+  "(\<not>P \<and> Q) = (\<not>(\<not>Q \<or> P))"
+  "(P \<and> \<not>Q) = (\<not>(\<not>P \<or> Q))"
+  "(P \<and> \<not>Q) = (\<not>(Q \<or> \<not>P))"
+  "(\<not>P \<and> \<not>Q) = (\<not>(P \<or> Q))"
+  "(\<not>P \<and> \<not>Q) = (\<not>(Q \<or> P))"
+  by auto
+
+lemma [z3_new_rule]:
+  "(P \<longrightarrow> Q) = (Q \<or> \<not>P)"
+  "(\<not>P \<longrightarrow> Q) = (P \<or> Q)"
+  "(\<not>P \<longrightarrow> Q) = (Q \<or> P)"
+  "(True \<longrightarrow> P) = P"
+  "(P \<longrightarrow> True) = True"
+  "(False \<longrightarrow> P) = True"
+  "(P \<longrightarrow> P) = True"
+  by auto
+
+lemma [z3_new_rule]:
+  "((P = Q) \<longrightarrow> R) = (R | (Q = (\<not>P)))"
+  by auto
+
+lemma [z3_new_rule]:
+  "(\<not>True) = False"
+  "(\<not>False) = True"
+  "(x = x) = True"
+  "(P = True) = P"
+  "(True = P) = P"
+  "(P = False) = (\<not>P)"
+  "(False = P) = (\<not>P)"
+  "((\<not>P) = P) = False"
+  "(P = (\<not>P)) = False"
+  "((\<not>P) = (\<not>Q)) = (P = Q)"
+  "\<not>(P = (\<not>Q)) = (P = Q)"
+  "\<not>((\<not>P) = Q) = (P = Q)"
+  "(P \<noteq> Q) = (Q = (\<not>P))"
+  "(P = Q) = ((\<not>P \<or> Q) \<and> (P \<or> \<not>Q))"
+  "(P \<noteq> Q) = ((\<not>P \<or> \<not>Q) \<and> (P \<or> Q))"
+  by auto
+
+lemma [z3_new_rule]:
+  "(if P then P else \<not>P) = True"
+  "(if \<not>P then \<not>P else P) = True"
+  "(if P then True else False) = P"
+  "(if P then False else True) = (\<not>P)"
+  "(if P then Q else True) = ((\<not>P) \<or> Q)"
+  "(if P then Q else True) = (Q \<or> (\<not>P))"
+  "(if P then Q else \<not>Q) = (P = Q)"
+  "(if P then Q else \<not>Q) = (Q = P)"
+  "(if P then \<not>Q else Q) = (P = (\<not>Q))"
+  "(if P then \<not>Q else Q) = ((\<not>Q) = P)"
+  "(if \<not>P then x else y) = (if P then y else x)"
+  "(if P then (if Q then x else y) else x) = (if P \<and> (\<not>Q) then y else x)"
+  "(if P then (if Q then x else y) else x) = (if (\<not>Q) \<and> P then y else x)"
+  "(if P then (if Q then x else y) else y) = (if P \<and> Q then x else y)"
+  "(if P then (if Q then x else y) else y) = (if Q \<and> P then x else y)"
+  "(if P then x else if P then y else z) = (if P then x else z)"
+  "(if P then x else if Q then x else y) = (if P \<or> Q then x else y)"
+  "(if P then x else if Q then x else y) = (if Q \<or> P then x else y)"
+  "(if P then x = y else x = z) = (x = (if P then y else z))"
+  "(if P then x = y else y = z) = (y = (if P then x else z))"
+  "(if P then x = y else z = y) = (y = (if P then x else z))"
+  by auto
+
+lemma [z3_new_rule]:
+  "0 + (x::int) = x"
+  "x + 0 = x"
+  "x + x = 2 * x"
+  "0 * x = 0"
+  "1 * x = x"
+  "x + y = y + x"
+  by auto
+
+lemma [z3_new_rule]:  (* for def-axiom *)
+  "P = Q \<or> P \<or> Q"
+  "P = Q \<or> \<not>P \<or> \<not>Q"
+  "(\<not>P) = Q \<or> \<not>P \<or> Q"
+  "(\<not>P) = Q \<or> P \<or> \<not>Q"
+  "P = (\<not>Q) \<or> \<not>P \<or> Q"
+  "P = (\<not>Q) \<or> P \<or> \<not>Q"
+  "P \<noteq> Q \<or> P \<or> \<not>Q"
+  "P \<noteq> Q \<or> \<not>P \<or> Q"
+  "P \<noteq> (\<not>Q) \<or> P \<or> Q"
+  "(\<not>P) \<noteq> Q \<or> P \<or> Q"
+  "P \<or> Q \<or> P \<noteq> (\<not>Q)"
+  "P \<or> Q \<or> (\<not>P) \<noteq> Q"
+  "P \<or> \<not>Q \<or> P \<noteq> Q"
+  "\<not>P \<or> Q \<or> P \<noteq> Q"
+  "P \<or> y = (if P then x else y)"
+  "P \<or> (if P then x else y) = y"
+  "\<not>P \<or> x = (if P then x else y)"
+  "\<not>P \<or> (if P then x else y) = x"
+  "P \<or> R \<or> \<not>(if P then Q else R)"
+  "\<not>P \<or> Q \<or> \<not>(if P then Q else R)"
+  "\<not>(if P then Q else R) \<or> \<not>P \<or> Q"
+  "\<not>(if P then Q else R) \<or> P \<or> R"
+  "(if P then Q else R) \<or> \<not>P \<or> \<not>Q"
+  "(if P then Q else R) \<or> P \<or> \<not>R"
+  "(if P then \<not>Q else R) \<or> \<not>P \<or> Q"
+  "(if P then Q else \<not>R) \<or> P \<or> R"
+  by auto
+
+hide_type (open) pattern
+hide_const fun_app z3div z3mod
+hide_const (open) trigger pat nopat weight
+
+end
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Thu Mar 13 16:28:25 2014 +0100
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Thu Mar 13 16:39:08 2014 +0100
@@ -1,669 +1,3 @@
-23d01cdabb599769b54210e40617eea3d6c91e30 8 0
-#2 := false
-#1 := true
-#7 := (not true)
-#29 := (iff #7 false)
-#30 := [rewrite]: #29
-#28 := [asserted]: #7
-[mp #28 #30]: false
-unsat
-22e23526a38d50ce23abbe4dbfb697891cbcd840 22 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#9 := (not #8)
-#10 := (or #8 #9)
-#11 := (not #10)
-#40 := (iff #11 false)
-#1 := true
-#35 := (not true)
-#38 := (iff #35 false)
-#39 := [rewrite]: #38
-#36 := (iff #11 #35)
-#33 := (iff #10 true)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#41 := [trans #37 #39]: #40
-#32 := [asserted]: #11
-[mp #32 #41]: false
-unsat
-121552dd328e0993a2c6099c592d9c3db7fff190 28 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#1 := true
-#9 := (and #8 true)
-#10 := (iff #9 #8)
-#11 := (not #10)
-#46 := (iff #11 false)
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #11 #41)
-#39 := (iff #10 true)
-#34 := (iff #8 #8)
-#37 := (iff #34 true)
-#38 := [rewrite]: #37
-#35 := (iff #10 #34)
-#33 := [rewrite]: #10
-#36 := [monotonicity #33]: #35
-#40 := [trans #36 #38]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#32 := [asserted]: #11
-[mp #32 #47]: false
-unsat
-263480c8c5909524c36f6198f60c623fbcfc953d 41 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f4 :: S1
-#9 := f4
-#10 := (= f4 f1)
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#11 := (or #8 #10)
-#64 := (iff #11 false)
-#59 := (or false false)
-#62 := (iff #59 false)
-#63 := [rewrite]: #62
-#60 := (iff #11 #59)
-#57 := (iff #10 false)
-#48 := (not #10)
-#12 := (not #8)
-#13 := (and #11 #12)
-#37 := (not #13)
-#38 := (or #37 #10)
-#41 := (not #38)
-#14 := (implies #13 #10)
-#15 := (not #14)
-#42 := (iff #15 #41)
-#39 := (iff #14 #38)
-#40 := [rewrite]: #39
-#43 := [monotonicity #40]: #42
-#36 := [asserted]: #15
-#46 := [mp #36 #43]: #41
-#49 := [not-or-elim #46]: #48
-#58 := [iff-false #49]: #57
-#55 := (iff #8 false)
-#44 := [not-or-elim #46]: #13
-#47 := [and-elim #44]: #12
-#56 := [iff-false #47]: #55
-#61 := [monotonicity #56 #58]: #60
-#65 := [trans #61 #63]: #64
-#45 := [and-elim #44]: #11
-[mp #45 #65]: false
-unsat
-79d9d246dd9d27e03e8f1ea895e790f3a4420bfd 55 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-decl f5 :: S1
-#12 := f5
-#13 := (= f5 f1)
-#16 := (and #8 #13)
-decl f4 :: S1
-#9 := f4
-#10 := (= f4 f1)
-#15 := (and #13 #10)
-#17 := (or #15 #16)
-#18 := (implies #8 #17)
-#19 := (or #18 #8)
-#11 := (and #8 #10)
-#14 := (or #11 #13)
-#20 := (implies #14 #19)
-#21 := (not #20)
-#71 := (iff #21 false)
-#43 := (not #8)
-#44 := (or #43 #17)
-#47 := (or #44 #8)
-#53 := (not #14)
-#54 := (or #53 #47)
-#59 := (not #54)
-#69 := (iff #59 false)
-#1 := true
-#64 := (not true)
-#67 := (iff #64 false)
-#68 := [rewrite]: #67
-#65 := (iff #59 #64)
-#62 := (iff #54 true)
-#63 := [rewrite]: #62
-#66 := [monotonicity #63]: #65
-#70 := [trans #66 #68]: #69
-#60 := (iff #21 #59)
-#57 := (iff #20 #54)
-#50 := (implies #14 #47)
-#55 := (iff #50 #54)
-#56 := [rewrite]: #55
-#51 := (iff #20 #50)
-#48 := (iff #19 #47)
-#45 := (iff #18 #44)
-#46 := [rewrite]: #45
-#49 := [monotonicity #46]: #48
-#52 := [monotonicity #49]: #51
-#58 := [trans #52 #56]: #57
-#61 := [monotonicity #58]: #60
-#72 := [trans #61 #70]: #71
-#42 := [asserted]: #21
-[mp #42 #72]: false
-unsat
-050883983ebe99dc3b7f24a011b1724b1b2c4dd9 33 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f6 :: S1
-#14 := f6
-#15 := (= f6 f1)
-decl f5 :: S1
-#12 := f5
-#13 := (= f5 f1)
-#16 := (and #13 #15)
-decl f4 :: S1
-#9 := f4
-#10 := (= f4 f1)
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#11 := (and #8 #10)
-#17 := (or #11 #16)
-#18 := (implies #17 #17)
-#19 := (not #18)
-#48 := (iff #19 false)
-#1 := true
-#43 := (not true)
-#46 := (iff #43 false)
-#47 := [rewrite]: #46
-#44 := (iff #19 #43)
-#41 := (iff #18 true)
-#42 := [rewrite]: #41
-#45 := [monotonicity #42]: #44
-#49 := [trans #45 #47]: #48
-#40 := [asserted]: #19
-[mp #40 #49]: false
-unsat
-8575241c64c02491d277f6598ca57e576f5a6b45 60 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#9 := (iff #8 #8)
-#10 := (iff #9 #8)
-#11 := (iff #10 #8)
-#12 := (iff #11 #8)
-#13 := (iff #12 #8)
-#14 := (iff #13 #8)
-#15 := (iff #14 #8)
-#16 := (iff #15 #8)
-#17 := (iff #16 #8)
-#18 := (not #17)
-#78 := (iff #18 false)
-#1 := true
-#73 := (not true)
-#76 := (iff #73 false)
-#77 := [rewrite]: #76
-#74 := (iff #18 #73)
-#71 := (iff #17 true)
-#40 := (iff #9 true)
-#41 := [rewrite]: #40
-#69 := (iff #17 #9)
-#42 := (iff true #8)
-#45 := (iff #42 #8)
-#46 := [rewrite]: #45
-#66 := (iff #16 #42)
-#64 := (iff #15 true)
-#62 := (iff #15 #9)
-#59 := (iff #14 #42)
-#57 := (iff #13 true)
-#55 := (iff #13 #9)
-#52 := (iff #12 #42)
-#50 := (iff #11 true)
-#48 := (iff #11 #9)
-#43 := (iff #10 #42)
-#44 := [monotonicity #41]: #43
-#47 := [trans #44 #46]: #11
-#49 := [monotonicity #47]: #48
-#51 := [trans #49 #41]: #50
-#53 := [monotonicity #51]: #52
-#54 := [trans #53 #46]: #13
-#56 := [monotonicity #54]: #55
-#58 := [trans #56 #41]: #57
-#60 := [monotonicity #58]: #59
-#61 := [trans #60 #46]: #15
-#63 := [monotonicity #61]: #62
-#65 := [trans #63 #41]: #64
-#67 := [monotonicity #65]: #66
-#68 := [trans #67 #46]: #17
-#70 := [monotonicity #68]: #69
-#72 := [trans #70 #41]: #71
-#75 := [monotonicity #72]: #74
-#79 := [trans #75 #77]: #78
-#39 := [asserted]: #18
-[mp #39 #79]: false
-unsat
-8434421285df70a7e1728b19173d86303151090b 165 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f6 :: S1
-#13 := f6
-#14 := (= f6 f1)
-decl f5 :: S1
-#11 := f5
-#12 := (= f5 f1)
-decl f4 :: S1
-#9 := f4
-#10 := (= f4 f1)
-decl f3 :: S1
-#7 := f3
-#8 := (= f3 f1)
-#75 := (or #8 #10 #12 #14)
-#215 := (iff #75 false)
-#210 := (or false false false false)
-#213 := (iff #210 false)
-#214 := [rewrite]: #213
-#211 := (iff #75 #210)
-#167 := (iff #14 false)
-#119 := (not #14)
-#122 := (or #119 #12)
-#175 := (iff #122 #119)
-#170 := (or #119 false)
-#173 := (iff #170 #119)
-#174 := [rewrite]: #173
-#171 := (iff #122 #170)
-#168 := (iff #12 false)
-#25 := (not #12)
-decl f11 :: S1
-#43 := f11
-#44 := (= f11 f1)
-#45 := (not #44)
-#46 := (and #44 #45)
-decl f10 :: S1
-#40 := f10
-#41 := (= f10 f1)
-#47 := (or #41 #46)
-#42 := (not #41)
-#48 := (and #42 #47)
-#49 := (or #12 #48)
-#50 := (not #49)
-#150 := (iff #50 #25)
-#148 := (iff #49 #12)
-#143 := (or #12 false)
-#146 := (iff #143 #12)
-#147 := [rewrite]: #146
-#144 := (iff #49 #143)
-#141 := (iff #48 false)
-#136 := (and #42 #41)
-#139 := (iff #136 false)
-#140 := [rewrite]: #139
-#137 := (iff #48 #136)
-#134 := (iff #47 #41)
-#129 := (or #41 false)
-#132 := (iff #129 #41)
-#133 := [rewrite]: #132
-#130 := (iff #47 #129)
-#126 := (iff #46 false)
-#128 := [rewrite]: #126
-#131 := [monotonicity #128]: #130
-#135 := [trans #131 #133]: #134
-#138 := [monotonicity #135]: #137
-#142 := [trans #138 #140]: #141
-#145 := [monotonicity #142]: #144
-#149 := [trans #145 #147]: #148
-#151 := [monotonicity #149]: #150
-#125 := [asserted]: #50
-#154 := [mp #125 #151]: #25
-#169 := [iff-false #154]: #168
-#172 := [monotonicity #169]: #171
-#176 := [trans #172 #174]: #175
-#37 := (or #14 false)
-#38 := (not #37)
-#39 := (or #38 #12)
-#123 := (iff #39 #122)
-#120 := (iff #38 #119)
-#116 := (iff #37 #14)
-#118 := [rewrite]: #116
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#115 := [asserted]: #39
-#127 := [mp #115 #124]: #122
-#166 := [mp #127 #176]: #119
-#177 := [iff-false #166]: #167
-#165 := (iff #10 false)
-#109 := (not #10)
-#112 := (or #109 #12)
-#183 := (iff #112 #109)
-#178 := (or #109 false)
-#181 := (iff #178 #109)
-#182 := [rewrite]: #181
-#179 := (iff #112 #178)
-#180 := [monotonicity #169]: #179
-#184 := [trans #180 #182]: #183
-decl f9 :: S1
-#30 := f9
-#31 := (= f9 f1)
-#32 := (not #31)
-#33 := (or #31 #32)
-#34 := (and #10 #33)
-#35 := (not #34)
-#36 := (or #35 #12)
-#113 := (iff #36 #112)
-#110 := (iff #35 #109)
-#107 := (iff #34 #10)
-#1 := true
-#102 := (and #10 true)
-#105 := (iff #102 #10)
-#106 := [rewrite]: #105
-#103 := (iff #34 #102)
-#99 := (iff #33 true)
-#101 := [rewrite]: #99
-#104 := [monotonicity #101]: #103
-#108 := [trans #104 #106]: #107
-#111 := [monotonicity #108]: #110
-#114 := [monotonicity #111]: #113
-#98 := [asserted]: #36
-#117 := [mp #98 #114]: #112
-#164 := [mp #117 #184]: #109
-#185 := [iff-false #164]: #165
-#163 := (iff #8 false)
-#92 := (not #8)
-#95 := (or #92 #10)
-#191 := (iff #95 #92)
-#186 := (or #92 false)
-#189 := (iff #186 #92)
-#190 := [rewrite]: #189
-#187 := (iff #95 #186)
-#188 := [monotonicity #185]: #187
-#192 := [trans #188 #190]: #191
-#26 := (and #12 #25)
-#27 := (or #8 #26)
-#28 := (not #27)
-#29 := (or #28 #10)
-#96 := (iff #29 #95)
-#93 := (iff #28 #92)
-#90 := (iff #27 #8)
-#85 := (or #8 false)
-#88 := (iff #85 #8)
-#89 := [rewrite]: #88
-#86 := (iff #27 #85)
-#79 := (iff #26 false)
-#84 := [rewrite]: #79
-#87 := [monotonicity #84]: #86
-#91 := [trans #87 #89]: #90
-#94 := [monotonicity #91]: #93
-#97 := [monotonicity #94]: #96
-#74 := [asserted]: #29
-#100 := [mp #74 #97]: #95
-#162 := [mp #100 #192]: #92
-#193 := [iff-false #162]: #163
-#212 := [monotonicity #193 #185 #169 #177]: #211
-#216 := [trans #212 #214]: #215
-#15 := (or #12 #14)
-#16 := (or #10 #15)
-#17 := (or #8 #16)
-#76 := (iff #17 #75)
-#77 := [rewrite]: #76
-#72 := [asserted]: #17
-#78 := [mp #72 #77]: #75
-[mp #78 #216]: false
-unsat
-2571c5d0e3c2bb55fd62ced2ec0c2fd2a4870074 59 0
-#2 := false
-decl f3 :: (-> S3 S2 S2)
-decl f6 :: S2
-#16 := f6
-decl f4 :: (-> S4 S2 S3)
-decl f7 :: S2
-#19 := f7
-decl f5 :: S4
-#7 := f5
-#21 := (f4 f5 f7)
-#22 := (f3 #21 f6)
-#18 := (f4 f5 f6)
-#20 := (f3 #18 f7)
-#23 := (= #20 #22)
-#57 := (not #23)
-#17 := (= f6 f6)
-#24 := (and #17 #23)
-#25 := (not #24)
-#58 := (iff #25 #57)
-#55 := (iff #24 #23)
-#1 := true
-#50 := (and true #23)
-#53 := (iff #50 #23)
-#54 := [rewrite]: #53
-#51 := (iff #24 #50)
-#48 := (iff #17 true)
-#49 := [rewrite]: #48
-#52 := [monotonicity #49]: #51
-#56 := [trans #52 #54]: #55
-#59 := [monotonicity #56]: #58
-#47 := [asserted]: #25
-#62 := [mp #47 #59]: #57
-#8 := (:var 1 S2)
-#10 := (:var 0 S2)
-#12 := (f4 f5 #10)
-#13 := (f3 #12 #8)
-#546 := (pattern #13)
-#9 := (f4 f5 #8)
-#11 := (f3 #9 #10)
-#545 := (pattern #11)
-#14 := (= #11 #13)
-#547 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #545 #546) #14)
-#15 := (forall (vars (?v0 S2) (?v1 S2)) #14)
-#550 := (iff #15 #547)
-#548 := (iff #14 #14)
-#549 := [refl]: #548
-#551 := [quant-intro #549]: #550
-#70 := (~ #15 #15)
-#68 := (~ #14 #14)
-#69 := [refl]: #68
-#71 := [nnf-pos #69]: #70
-#46 := [asserted]: #15
-#61 := [mp~ #46 #71]: #15
-#552 := [mp #61 #551]: #547
-#130 := (not #547)
-#216 := (or #130 #23)
-#131 := [quant-inst #16 #19]: #216
-[unit-resolution #131 #552 #62]: false
-unsat
-53042978396971446eabf6039172bd47071e3fd3 67 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: (-> Int S1)
-decl ?v0!0 :: Int
-#55 := ?v0!0
-#56 := (f3 ?v0!0)
-#57 := (= #56 f1)
-#58 := (not #57)
-decl ?v1!1 :: Int
-#66 := ?v1!1
-#67 := (f3 ?v1!1)
-#68 := (= #67 f1)
-#69 := (or #57 #68)
-#70 := (not #69)
-#86 := (and #57 #70)
-#63 := (not #58)
-#76 := (and #63 #70)
-#87 := (iff #76 #86)
-#84 := (iff #63 #57)
-#85 := [rewrite]: #84
-#88 := [monotonicity #85]: #87
-#7 := (:var 0 Int)
-#8 := (f3 #7)
-#9 := (= #8 f1)
-#10 := (:var 1 Int)
-#11 := (f3 #10)
-#12 := (= #11 f1)
-#13 := (or #12 #9)
-#14 := (forall (vars (?v1 Int)) #13)
-#39 := (not #9)
-#40 := (or #39 #14)
-#43 := (forall (vars (?v0 Int)) #40)
-#46 := (not #43)
-#79 := (~ #46 #76)
-#50 := (or #57 #9)
-#52 := (forall (vars (?v1 Int)) #50)
-#59 := (or #58 #52)
-#60 := (not #59)
-#77 := (~ #60 #76)
-#71 := (not #52)
-#72 := (~ #71 #70)
-#73 := [sk]: #72
-#64 := (~ #63 #63)
-#65 := [refl]: #64
-#78 := [nnf-neg #65 #73]: #77
-#61 := (~ #46 #60)
-#62 := [sk]: #61
-#80 := [trans #62 #78]: #79
-#15 := (implies #9 #14)
-#16 := (forall (vars (?v0 Int)) #15)
-#17 := (not #16)
-#47 := (iff #17 #46)
-#44 := (iff #16 #43)
-#41 := (iff #15 #40)
-#42 := [rewrite]: #41
-#45 := [quant-intro #42]: #44
-#48 := [monotonicity #45]: #47
-#38 := [asserted]: #17
-#51 := [mp #38 #48]: #46
-#81 := [mp~ #51 #80]: #76
-#82 := [mp #81 #88]: #86
-#89 := [and-elim #82]: #70
-#90 := [not-or-elim #89]: #58
-#83 := [and-elim #82]: #57
-[unit-resolution #83 #90]: false
-unsat
-a69a9e8c5e31ec6b9da4cf96f47b52cf6b9404d9 117 0
-#2 := false
-decl f3 :: (-> S3 S2 S1)
-#10 := (:var 0 S2)
-decl f4 :: (-> S4 S1 S3)
-decl f6 :: S1
-#16 := f6
-decl f5 :: S4
-#7 := f5
-#17 := (f4 f5 f6)
-#18 := (f3 #17 #10)
-#573 := (pattern #18)
-decl f1 :: S1
-#3 := f1
-#19 := (= #18 f1)
-#76 := (not #19)
-#574 := (forall (vars (?v0 S2)) (:pat #573) #76)
-decl f7 :: S2
-#21 := f7
-#22 := (f3 #17 f7)
-#23 := (= #22 f1)
-#150 := (= f6 f1)
-#151 := (iff #23 #150)
-#8 := (:var 1 S1)
-#9 := (f4 f5 #8)
-#11 := (f3 #9 #10)
-#566 := (pattern #11)
-#13 := (= #8 f1)
-#12 := (= #11 f1)
-#14 := (iff #12 #13)
-#567 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #566) #14)
-#15 := (forall (vars (?v0 S1) (?v1 S2)) #14)
-#570 := (iff #15 #567)
-#568 := (iff #14 #14)
-#569 := [refl]: #568
-#571 := [quant-intro #569]: #570
-#62 := (~ #15 #15)
-#60 := (~ #14 #14)
-#61 := [refl]: #60
-#63 := [nnf-pos #61]: #62
-#46 := [asserted]: #15
-#53 := [mp~ #46 #63]: #15
-#572 := [mp #53 #571]: #567
-#152 := (not #567)
-#228 := (or #152 #151)
-#561 := [quant-inst #16 #21]: #228
-#237 := [unit-resolution #561 #572]: #151
-decl ?v0!0 :: S2
-#66 := ?v0!0
-#67 := (f3 #17 ?v0!0)
-#68 := (= #67 f1)
-#236 := (iff #68 #150)
-#238 := (or #152 #236)
-#229 := [quant-inst #16 #66]: #238
-#227 := [unit-resolution #229 #572]: #236
-#240 := (not #236)
-#199 := (or #240 #150)
-#55 := (not #23)
-#215 := [hypothesis]: #55
-#83 := (or #68 #23)
-#79 := (forall (vars (?v0 S2)) #76)
-#82 := (or #79 #55)
-#84 := (and #83 #82)
-#20 := (exists (vars (?v0 S2)) #19)
-#48 := (not #20)
-#49 := (iff #48 #23)
-#85 := (~ #49 #84)
-#57 := (~ #23 #23)
-#65 := [refl]: #57
-#64 := (~ #55 #55)
-#56 := [refl]: #64
-#80 := (~ #48 #79)
-#77 := (~ #76 #76)
-#78 := [refl]: #77
-#81 := [nnf-neg #78]: #80
-#73 := (not #48)
-#74 := (~ #73 #68)
-#69 := (~ #20 #68)
-#70 := [sk]: #69
-#75 := [nnf-neg #70]: #74
-#86 := [nnf-pos #75 #81 #56 #65]: #85
-#24 := (iff #20 #23)
-#25 := (not #24)
-#50 := (iff #25 #49)
-#51 := [rewrite]: #50
-#47 := [asserted]: #25
-#54 := [mp #47 #51]: #49
-#87 := [mp~ #54 #86]: #84
-#90 := [and-elim #87]: #83
-#557 := [unit-resolution #90 #215]: #68
-#243 := (not #68)
-#222 := (or #240 #243 #150)
-#558 := [def-axiom]: #222
-#541 := [unit-resolution #558 #557]: #199
-#203 := [unit-resolution #541 #227]: #150
-#241 := (not #150)
-#562 := (not #151)
-#204 := (or #562 #241)
-#563 := (or #562 #23 #241)
-#564 := [def-axiom]: #563
-#205 := [unit-resolution #564 #215]: #204
-#206 := [unit-resolution #205 #203 #237]: false
-#543 := [lemma #206]: #23
-#579 := (or #574 #55)
-#580 := (iff #82 #579)
-#577 := (iff #79 #574)
-#575 := (iff #76 #76)
-#576 := [refl]: #575
-#578 := [quant-intro #576]: #577
-#581 := [monotonicity #578]: #580
-#91 := [and-elim #87]: #82
-#582 := [mp #91 #581]: #579
-#242 := [unit-resolution #582 #543]: #574
-#555 := (not #574)
-#214 := (or #555 #55)
-#219 := [quant-inst #21]: #214
-[unit-resolution #219 #543 #242]: false
-unsat
 d97439af6f5bc7794ab403d0f6cc318d103016a1 1288 0
 #2 := false
 decl f1 :: S1
@@ -1953,6 +1287,124 @@
 #1532 := [unit-resolution #769 #1531]: #20
 [unit-resolution #606 #1532 #1528]: false
 unsat
+a69a9e8c5e31ec6b9da4cf96f47b52cf6b9404d9 117 0
+#2 := false
+decl f3 :: (-> S3 S2 S1)
+#10 := (:var 0 S2)
+decl f4 :: (-> S4 S1 S3)
+decl f6 :: S1
+#16 := f6
+decl f5 :: S4
+#7 := f5
+#17 := (f4 f5 f6)
+#18 := (f3 #17 #10)
+#573 := (pattern #18)
+decl f1 :: S1
+#3 := f1
+#19 := (= #18 f1)
+#76 := (not #19)
+#574 := (forall (vars (?v0 S2)) (:pat #573) #76)
+decl f7 :: S2
+#21 := f7
+#22 := (f3 #17 f7)
+#23 := (= #22 f1)
+#150 := (= f6 f1)
+#151 := (iff #23 #150)
+#8 := (:var 1 S1)
+#9 := (f4 f5 #8)
+#11 := (f3 #9 #10)
+#566 := (pattern #11)
+#13 := (= #8 f1)
+#12 := (= #11 f1)
+#14 := (iff #12 #13)
+#567 := (forall (vars (?v0 S1) (?v1 S2)) (:pat #566) #14)
+#15 := (forall (vars (?v0 S1) (?v1 S2)) #14)
+#570 := (iff #15 #567)
+#568 := (iff #14 #14)
+#569 := [refl]: #568
+#571 := [quant-intro #569]: #570
+#62 := (~ #15 #15)
+#60 := (~ #14 #14)
+#61 := [refl]: #60
+#63 := [nnf-pos #61]: #62
+#46 := [asserted]: #15
+#53 := [mp~ #46 #63]: #15
+#572 := [mp #53 #571]: #567
+#152 := (not #567)
+#228 := (or #152 #151)
+#561 := [quant-inst #16 #21]: #228
+#237 := [unit-resolution #561 #572]: #151
+decl ?v0!0 :: S2
+#66 := ?v0!0
+#67 := (f3 #17 ?v0!0)
+#68 := (= #67 f1)
+#236 := (iff #68 #150)
+#238 := (or #152 #236)
+#229 := [quant-inst #16 #66]: #238
+#227 := [unit-resolution #229 #572]: #236
+#240 := (not #236)
+#199 := (or #240 #150)
+#55 := (not #23)
+#215 := [hypothesis]: #55
+#83 := (or #68 #23)
+#79 := (forall (vars (?v0 S2)) #76)
+#82 := (or #79 #55)
+#84 := (and #83 #82)
+#20 := (exists (vars (?v0 S2)) #19)
+#48 := (not #20)
+#49 := (iff #48 #23)
+#85 := (~ #49 #84)
+#57 := (~ #23 #23)
+#65 := [refl]: #57
+#64 := (~ #55 #55)
+#56 := [refl]: #64
+#80 := (~ #48 #79)
+#77 := (~ #76 #76)
+#78 := [refl]: #77
+#81 := [nnf-neg #78]: #80
+#73 := (not #48)
+#74 := (~ #73 #68)
+#69 := (~ #20 #68)
+#70 := [sk]: #69
+#75 := [nnf-neg #70]: #74
+#86 := [nnf-pos #75 #81 #56 #65]: #85
+#24 := (iff #20 #23)
+#25 := (not #24)
+#50 := (iff #25 #49)
+#51 := [rewrite]: #50
+#47 := [asserted]: #25
+#54 := [mp #47 #51]: #49
+#87 := [mp~ #54 #86]: #84
+#90 := [and-elim #87]: #83
+#557 := [unit-resolution #90 #215]: #68
+#243 := (not #68)
+#222 := (or #240 #243 #150)
+#558 := [def-axiom]: #222
+#541 := [unit-resolution #558 #557]: #199
+#203 := [unit-resolution #541 #227]: #150
+#241 := (not #150)
+#562 := (not #151)
+#204 := (or #562 #241)
+#563 := (or #562 #23 #241)
+#564 := [def-axiom]: #563
+#205 := [unit-resolution #564 #215]: #204
+#206 := [unit-resolution #205 #203 #237]: false
+#543 := [lemma #206]: #23
+#579 := (or #574 #55)
+#580 := (iff #82 #579)
+#577 := (iff #79 #574)
+#575 := (iff #76 #76)
+#576 := [refl]: #575
+#578 := [quant-intro #576]: #577
+#581 := [monotonicity #578]: #580
+#91 := [and-elim #87]: #82
+#582 := [mp #91 #581]: #579
+#242 := [unit-resolution #582 #543]: #574
+#555 := (not #574)
+#214 := (or #555 #55)
+#219 := [quant-inst #21]: #214
+[unit-resolution #219 #543 #242]: false
+unsat
 fdf61e060f49731790f4d6c8f9b26c21349c60b3 117 0
 #2 := false
 decl f1 :: S1
@@ -2071,6716 +1523,6 @@
 #603 := [unit-resolution #271 #618]: #602
 [unit-resolution #603 #601 #297]: false
 unsat
-5c792581e65682628e5c59ca9f3f8801e6aeba72 61 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: (-> S2 S1)
-decl f4 :: S2
-#7 := f4
-#8 := (f3 f4)
-#9 := (= #8 f1)
-decl f5 :: S2
-#18 := f5
-#19 := (f3 f5)
-#20 := (= #19 f1)
-#45 := (not #9)
-#46 := (or #45 #20)
-#49 := (not #46)
-#21 := (implies #9 #20)
-#22 := (not #21)
-#50 := (iff #22 #49)
-#47 := (iff #21 #46)
-#48 := [rewrite]: #47
-#51 := [monotonicity #48]: #50
-#44 := [asserted]: #22
-#54 := [mp #44 #51]: #49
-#52 := [not-or-elim #54]: #9
-#10 := (:var 0 S2)
-#11 := (f3 #10)
-#550 := (pattern #11)
-#12 := (= #11 f1)
-#15 := (not #12)
-#551 := (forall (vars (?v0 S2)) (:pat #550) #15)
-#16 := (forall (vars (?v0 S2)) #15)
-#554 := (iff #16 #551)
-#552 := (iff #15 #15)
-#553 := [refl]: #552
-#555 := [quant-intro #553]: #554
-#13 := (exists (vars (?v0 S2)) #12)
-#14 := (not #13)
-#60 := (~ #14 #16)
-#63 := (~ #15 #15)
-#64 := [refl]: #63
-#72 := [nnf-neg #64]: #60
-#17 := (if #9 #14 #16)
-#70 := (iff #17 #14)
-#1 := true
-#65 := (if true #14 #16)
-#68 := (iff #65 #14)
-#69 := [rewrite]: #68
-#66 := (iff #17 #65)
-#61 := (iff #9 true)
-#62 := [iff-true #52]: #61
-#67 := [monotonicity #62]: #66
-#71 := [trans #67 #69]: #70
-#43 := [asserted]: #17
-#59 := [mp #43 #71]: #14
-#57 := [mp~ #59 #72]: #16
-#556 := [mp #57 #555]: #551
-#135 := (not #551)
-#221 := (or #135 #45)
-#136 := [quant-inst #7]: #221
-[unit-resolution #136 #556 #52]: false
-unsat
-0ce3a745d60cdbf0fe26b07c5e76de09d459dd25 17 0
-#2 := false
-#7 := 3::Int
-#8 := (= 3::Int 3::Int)
-#9 := (not #8)
-#38 := (iff #9 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #9 #33)
-#31 := (iff #8 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#30 := [asserted]: #9
-[mp #30 #39]: false
-unsat
-1532b1dde71eb42ca0a012bb62d9bbadf37fa326 17 0
-#2 := false
-#7 := 3::Real
-#8 := (= 3::Real 3::Real)
-#9 := (not #8)
-#38 := (iff #9 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #9 #33)
-#31 := (iff #8 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#30 := [asserted]: #9
-[mp #30 #39]: false
-unsat
-94425abeeb45b838fcb1ab9c8323796e36a681e5 26 0
-#2 := false
-#10 := 4::Int
-#8 := 1::Int
-#7 := 3::Int
-#9 := (+ 3::Int 1::Int)
-#11 := (= #9 4::Int)
-#12 := (not #11)
-#47 := (iff #12 false)
-#1 := true
-#42 := (not true)
-#45 := (iff #42 false)
-#46 := [rewrite]: #45
-#43 := (iff #12 #42)
-#40 := (iff #11 true)
-#35 := (= 4::Int 4::Int)
-#38 := (iff #35 true)
-#39 := [rewrite]: #38
-#36 := (iff #11 #35)
-#34 := [rewrite]: #11
-#37 := [monotonicity #34]: #36
-#41 := [trans #37 #39]: #40
-#44 := [monotonicity #41]: #43
-#48 := [trans #44 #46]: #47
-#33 := [asserted]: #12
-[mp #33 #48]: false
-unsat
-673f00f23a414ea8ab1557752d859ea787c89c1b 41 0
-#2 := false
-decl f3 :: Int
-#7 := f3
-decl f5 :: Int
-#9 := f5
-#12 := (+ f5 f3)
-decl f4 :: Int
-#8 := f4
-#13 := (+ f4 #12)
-#10 := (+ f4 f5)
-#11 := (+ f3 #10)
-#14 := (= #11 #13)
-#15 := (not #14)
-#59 := (iff #15 false)
-#1 := true
-#54 := (not true)
-#57 := (iff #54 false)
-#58 := [rewrite]: #57
-#55 := (iff #15 #54)
-#52 := (iff #14 true)
-#47 := (= #11 #11)
-#50 := (iff #47 true)
-#51 := [rewrite]: #50
-#48 := (iff #14 #47)
-#45 := (= #13 #11)
-#37 := (+ f3 f5)
-#40 := (+ f4 #37)
-#43 := (= #40 #11)
-#44 := [rewrite]: #43
-#41 := (= #13 #40)
-#38 := (= #12 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#56 := [monotonicity #53]: #55
-#60 := [trans #56 #58]: #59
-#36 := [asserted]: #15
-[mp #36 #60]: false
-unsat
-1f5e59fc26e6d68939e39d2fe658ebc1a264f509 35 0
-#2 := false
-#8 := 3::Int
-#9 := 8::Int
-#10 := (<= 3::Int 8::Int)
-#11 := (if #10 8::Int 3::Int)
-#7 := 5::Int
-#12 := (< 5::Int #11)
-#13 := (not #12)
-#58 := (iff #13 false)
-#1 := true
-#53 := (not true)
-#56 := (iff #53 false)
-#57 := [rewrite]: #56
-#54 := (iff #13 #53)
-#51 := (iff #12 true)
-#46 := (< 5::Int 8::Int)
-#49 := (iff #46 true)
-#50 := [rewrite]: #49
-#47 := (iff #12 #46)
-#44 := (= #11 8::Int)
-#39 := (if true 8::Int 3::Int)
-#42 := (= #39 8::Int)
-#43 := [rewrite]: #42
-#40 := (= #11 #39)
-#37 := (iff #10 true)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#48 := [monotonicity #45]: #47
-#52 := [trans #48 #50]: #51
-#55 := [monotonicity #52]: #54
-#59 := [trans #55 #57]: #58
-#34 := [asserted]: #13
-[mp #34 #59]: false
-unsat
-e7f019160a38d08774f8a2e816f96aa54c924fba 216 0
-#2 := false
-#10 := 0::Real
-decl f4 :: Real
-#8 := f4
-#43 := -1::Real
-#45 := (* -1::Real f4)
-decl f3 :: Real
-#7 := f3
-#44 := (* -1::Real f3)
-#46 := (+ #44 #45)
-#9 := (+ f3 f4)
-#71 := (>= #9 0::Real)
-#78 := (if #71 #9 #46)
-#153 := (* -1::Real #78)
-#181 := (+ #46 #153)
-#183 := (>= #181 0::Real)
-#134 := (= #46 #78)
-#72 := (not #71)
-#95 := (>= f4 0::Real)
-#96 := (not #95)
-#154 := (+ #9 #153)
-#156 := (>= #154 0::Real)
-#133 := (= #9 #78)
-#197 := (not #134)
-#192 := (not #183)
-#163 := [hypothesis]: #95
-#193 := (or #192 #96)
-#184 := [hypothesis]: #183
-#102 := (if #95 f4 #45)
-#114 := (* -1::Real #102)
-#83 := (>= f3 0::Real)
-#90 := (if #83 f3 #44)
-#113 := (* -1::Real #90)
-#115 := (+ #113 #114)
-#116 := (+ #78 #115)
-#117 := (<= #116 0::Real)
-#122 := (not #117)
-#18 := (- f4)
-#17 := (< f4 0::Real)
-#19 := (if #17 #18 f4)
-#15 := (- f3)
-#14 := (< f3 0::Real)
-#16 := (if #14 #15 f3)
-#20 := (+ #16 #19)
-#12 := (- #9)
-#11 := (< #9 0::Real)
-#13 := (if #11 #12 #9)
-#21 := (<= #13 #20)
-#22 := (not #21)
-#125 := (iff #22 #122)
-#59 := (if #17 #45 f4)
-#54 := (if #14 #44 f3)
-#62 := (+ #54 #59)
-#49 := (if #11 #46 #9)
-#65 := (<= #49 #62)
-#68 := (not #65)
-#123 := (iff #68 #122)
-#120 := (iff #65 #117)
-#107 := (+ #90 #102)
-#110 := (<= #78 #107)
-#118 := (iff #110 #117)
-#119 := [rewrite]: #118
-#111 := (iff #65 #110)
-#108 := (= #62 #107)
-#105 := (= #59 #102)
-#99 := (if #96 #45 f4)
-#103 := (= #99 #102)
-#104 := [rewrite]: #103
-#100 := (= #59 #99)
-#97 := (iff #17 #96)
-#98 := [rewrite]: #97
-#101 := [monotonicity #98]: #100
-#106 := [trans #101 #104]: #105
-#93 := (= #54 #90)
-#84 := (not #83)
-#87 := (if #84 #44 f3)
-#91 := (= #87 #90)
-#92 := [rewrite]: #91
-#88 := (= #54 #87)
-#85 := (iff #14 #84)
-#86 := [rewrite]: #85
-#89 := [monotonicity #86]: #88
-#94 := [trans #89 #92]: #93
-#109 := [monotonicity #94 #106]: #108
-#81 := (= #49 #78)
-#75 := (if #72 #46 #9)
-#79 := (= #75 #78)
-#80 := [rewrite]: #79
-#76 := (= #49 #75)
-#73 := (iff #11 #72)
-#74 := [rewrite]: #73
-#77 := [monotonicity #74]: #76
-#82 := [trans #77 #80]: #81
-#112 := [monotonicity #82 #109]: #111
-#121 := [trans #112 #119]: #120
-#124 := [monotonicity #121]: #123
-#69 := (iff #22 #68)
-#66 := (iff #21 #65)
-#63 := (= #20 #62)
-#60 := (= #19 #59)
-#57 := (= #18 #45)
-#58 := [rewrite]: #57
-#61 := [monotonicity #58]: #60
-#55 := (= #16 #54)
-#52 := (= #15 #44)
-#53 := [rewrite]: #52
-#56 := [monotonicity #53]: #55
-#64 := [monotonicity #56 #61]: #63
-#50 := (= #13 #49)
-#47 := (= #12 #46)
-#48 := [rewrite]: #47
-#51 := [monotonicity #48]: #50
-#67 := [monotonicity #51 #64]: #66
-#70 := [monotonicity #67]: #69
-#126 := [trans #70 #124]: #125
-#42 := [asserted]: #22
-#127 := [mp #42 #126]: #122
-#147 := (+ f4 #114)
-#148 := (<= #147 0::Real)
-#141 := (= f4 #102)
-#143 := (or #96 #141)
-#144 := [def-axiom]: #143
-#172 := [unit-resolution #144 #163]: #141
-#173 := (not #141)
-#174 := (or #173 #148)
-#175 := [th-lemma arith triangle-eq]: #174
-#176 := [unit-resolution #175 #172]: #148
-#152 := (+ #44 #113)
-#155 := (<= #152 0::Real)
-#130 := (= #44 #90)
-#178 := (or #84 #96)
-#150 := (+ f3 #113)
-#151 := (<= #150 0::Real)
-#129 := (= f3 #90)
-#157 := [hypothesis]: #83
-#137 := (or #84 #129)
-#138 := [def-axiom]: #137
-#158 := [unit-resolution #138 #157]: #129
-#159 := (not #129)
-#160 := (or #159 #151)
-#161 := [th-lemma arith triangle-eq]: #160
-#162 := [unit-resolution #161 #158]: #151
-#164 := (or #71 #84 #96)
-#165 := [th-lemma arith assign-bounds -1 -1]: #164
-#166 := [unit-resolution #165 #157 #163]: #71
-#135 := (or #72 #133)
-#136 := [def-axiom]: #135
-#167 := [unit-resolution #136 #166]: #133
-#168 := (not #133)
-#169 := (or #168 #156)
-#170 := [th-lemma arith triangle-eq]: #169
-#171 := [unit-resolution #170 #167]: #156
-#177 := [th-lemma arith farkas 1 -1 -1 1 #176 #171 #127 #162]: false
-#179 := [lemma #177]: #178
-#185 := [unit-resolution #179 #163]: #84
-#139 := (or #83 #130)
-#140 := [def-axiom]: #139
-#186 := [unit-resolution #140 #185]: #130
-#187 := (not #130)
-#188 := (or #187 #155)
-#189 := [th-lemma arith triangle-eq]: #188
-#190 := [unit-resolution #189 #186]: #155
-#191 := [th-lemma arith farkas 2 -1 -1 1 1 #163 #190 #176 #127 #184]: false
-#194 := [lemma #191]: #193
-#202 := [unit-resolution #194 #163]: #192
-#198 := (or #197 #183)
-#195 := [hypothesis]: #192
-#196 := [hypothesis]: #134
-#199 := [th-lemma arith triangle-eq]: #198
-#200 := [unit-resolution #199 #196 #195]: false
-#201 := [lemma #200]: #198
-#203 := [unit-resolution #201 #202]: #197
-#131 := (or #71 #134)
-#132 := [def-axiom]: #131
-#204 := [unit-resolution #132 #203]: #71
-#205 := [unit-resolution #136 #204]: #133
-#206 := [unit-resolution #170 #205]: #156
-#207 := [th-lemma arith farkas 2 1 1 1 1 #185 #190 #176 #127 #206]: false
-#208 := [lemma #207]: #96
-#149 := (+ #45 #114)
-#180 := (<= #149 0::Real)
-#142 := (= #45 #102)
-#145 := (or #95 #142)
-#146 := [def-axiom]: #145
-#213 := [unit-resolution #146 #208]: #142
-#214 := (not #142)
-#215 := (or #214 #180)
-#216 := [th-lemma arith triangle-eq]: #215
-#217 := [unit-resolution #216 #213]: #180
-#219 := (not #156)
-#220 := (not #151)
-#221 := (or #219 #220)
-#211 := [hypothesis]: #151
-#212 := [hypothesis]: #156
-#218 := [th-lemma arith farkas 2 1 1 1 1 #208 #217 #127 #212 #211]: false
-#222 := [lemma #218]: #221
-#227 := [unit-resolution #222 #162]: #219
-#223 := [hypothesis]: #219
-#224 := [hypothesis]: #133
-#225 := [unit-resolution #170 #224 #223]: false
-#226 := [lemma #225]: #169
-#228 := [unit-resolution #226 #227]: #168
-#229 := [unit-resolution #136 #228]: #72
-#230 := [unit-resolution #132 #229]: #134
-#231 := [unit-resolution #201 #230]: #183
-#232 := [th-lemma arith farkas 1/2 -1/2 -1/2 1/2 1 #231 #162 #217 #127 #157]: false
-#233 := [lemma #232]: #84
-#234 := (or #72 #83 #95)
-#235 := [th-lemma arith assign-bounds 1 1]: #234
-#236 := [unit-resolution #235 #233 #208]: #72
-#237 := [unit-resolution #132 #236]: #134
-#238 := [unit-resolution #201 #237]: #183
-#239 := [unit-resolution #140 #233]: #130
-#240 := [unit-resolution #189 #239]: #155
-[th-lemma arith farkas -1 -1 1 1 #240 #217 #127 #238]: false
-unsat
-9e5f324cc33eb4abf1be11d977dfdec45557ae46 42 0
-#2 := false
-decl f3 :: (-> S1 S2)
-decl f1 :: S1
-#3 := f1
-#12 := (f3 f1)
-decl f2 :: S1
-#4 := f2
-#8 := 3::Int
-#7 := 2::Int
-#9 := (< 2::Int 3::Int)
-#10 := (if #9 f1 f2)
-#11 := (f3 #10)
-#13 := (= #11 #12)
-#14 := (not #13)
-#60 := (iff #14 false)
-#1 := true
-#55 := (not true)
-#58 := (iff #55 false)
-#59 := [rewrite]: #58
-#56 := (iff #14 #55)
-#53 := (iff #13 true)
-#48 := (= #12 #12)
-#51 := (iff #48 true)
-#52 := [rewrite]: #51
-#49 := (iff #13 #48)
-#45 := (= #10 f1)
-#40 := (if true f1 f2)
-#43 := (= #40 f1)
-#44 := [rewrite]: #43
-#41 := (= #10 #40)
-#38 := (iff #9 true)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#47 := [monotonicity #46]: #13
-#50 := [monotonicity #47]: #49
-#54 := [trans #50 #52]: #53
-#57 := [monotonicity #54]: #56
-#61 := [trans #57 #59]: #60
-#35 := [asserted]: #14
-[mp #35 #61]: false
-unsat
-cc322c3513bba37f77e905b379b26c79239b69a4 49 0
-#2 := false
-#12 := 1::Int
-decl f3 :: Int
-#8 := f3
-#13 := (< f3 1::Int)
-#9 := 3::Int
-#10 := (+ f3 3::Int)
-#7 := 4::Int
-#11 := (<= 4::Int #10)
-#14 := (or #11 #13)
-#15 := (not #14)
-#69 := (iff #15 false)
-#37 := (+ 3::Int f3)
-#40 := (<= 4::Int #37)
-#43 := (or #40 #13)
-#46 := (not #43)
-#67 := (iff #46 false)
-#1 := true
-#62 := (not true)
-#65 := (iff #62 false)
-#66 := [rewrite]: #65
-#63 := (iff #46 #62)
-#60 := (iff #43 true)
-#51 := (>= f3 1::Int)
-#52 := (not #51)
-#55 := (or #51 #52)
-#58 := (iff #55 true)
-#59 := [rewrite]: #58
-#56 := (iff #43 #55)
-#53 := (iff #13 #52)
-#54 := [rewrite]: #53
-#49 := (iff #40 #51)
-#50 := [rewrite]: #49
-#57 := [monotonicity #50 #54]: #56
-#61 := [trans #57 #59]: #60
-#64 := [monotonicity #61]: #63
-#68 := [trans #64 #66]: #67
-#47 := (iff #15 #46)
-#44 := (iff #14 #43)
-#41 := (iff #11 #40)
-#38 := (= #10 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#70 := [trans #48 #68]: #69
-#36 := [asserted]: #15
-[mp #36 #70]: false
-unsat
-75c4589e7d7ab0bf262babccc302883b71f9a923 63 0
-#2 := false
-#14 := 0::Int
-decl f4 :: Int
-#10 := f4
-#49 := -1::Int
-#52 := (* -1::Int f4)
-decl f3 :: Int
-#8 := f3
-#53 := (+ f3 #52)
-#70 := (>= #53 0::Int)
-#94 := (iff #70 false)
-#51 := -4::Int
-#87 := (>= -4::Int 0::Int)
-#86 := (iff #87 false)
-#93 := [rewrite]: #86
-#88 := (iff #70 #87)
-#54 := (= #53 -4::Int)
-#11 := 4::Int
-#12 := (+ f3 4::Int)
-#13 := (= f4 #12)
-#56 := (iff #13 #54)
-#39 := (+ 4::Int f3)
-#46 := (= f4 #39)
-#50 := (iff #46 #54)
-#55 := [rewrite]: #50
-#47 := (iff #13 #46)
-#44 := (= #12 #39)
-#45 := [rewrite]: #44
-#48 := [monotonicity #45]: #47
-#57 := [trans #48 #55]: #56
-#38 := [asserted]: #13
-#58 := [mp #38 #57]: #54
-#85 := [monotonicity #58]: #88
-#95 := [trans #85 #93]: #94
-#15 := (- f4 f3)
-#16 := (< 0::Int #15)
-#17 := (not #16)
-#81 := (iff #17 #70)
-#60 := (* -1::Int f3)
-#61 := (+ #60 f4)
-#64 := (< 0::Int #61)
-#67 := (not #64)
-#79 := (iff #67 #70)
-#71 := (not #70)
-#74 := (not #71)
-#77 := (iff #74 #70)
-#78 := [rewrite]: #77
-#75 := (iff #67 #74)
-#72 := (iff #64 #71)
-#73 := [rewrite]: #72
-#76 := [monotonicity #73]: #75
-#80 := [trans #76 #78]: #79
-#68 := (iff #17 #67)
-#65 := (iff #16 #64)
-#62 := (= #15 #61)
-#63 := [rewrite]: #62
-#66 := [monotonicity #63]: #65
-#69 := [monotonicity #66]: #68
-#82 := [trans #69 #80]: #81
-#59 := [asserted]: #17
-#83 := [mp #59 #82]: #70
-[mp #83 #95]: false
-unsat
-31769d5312feac1587c3f744c5c881fb2d86e85f 35 0
-#2 := false
-#9 := 5::Int
-#7 := 2::Int
-#8 := (+ 2::Int 2::Int)
-#10 := (= #8 5::Int)
-#11 := (not #10)
-#12 := (not #11)
-#56 := (iff #12 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #12 #51)
-#49 := (iff #11 true)
-#44 := (not false)
-#47 := (iff #44 true)
-#48 := [rewrite]: #47
-#45 := (iff #11 #44)
-#42 := (iff #10 false)
-#34 := 4::Int
-#37 := (= 4::Int 5::Int)
-#40 := (iff #37 false)
-#41 := [rewrite]: #40
-#38 := (iff #10 #37)
-#35 := (= #8 4::Int)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#33 := [asserted]: #12
-[mp #33 #57]: false
-unsat
-f8ba8c3ed7f7c7d5e49139b62e145fc6eee338f1 45 0
-#2 := false
-#14 := 4::Real
-decl f4 :: Real
-#11 := f4
-#10 := 7::Real
-#12 := (* 7::Real f4)
-decl f3 :: Real
-#8 := f3
-#7 := 3::Real
-#9 := (* 3::Real f3)
-#13 := (+ #9 #12)
-#48 := (>= #13 4::Real)
-#46 := (not #48)
-#15 := (< #13 4::Real)
-#47 := (iff #15 #46)
-#44 := [rewrite]: #47
-#41 := [asserted]: #15
-#45 := [mp #41 #44]: #46
-#16 := 2::Real
-#17 := (* 2::Real f3)
-#50 := (<= #17 3::Real)
-#51 := (not #50)
-#18 := (< 3::Real #17)
-#52 := (iff #18 #51)
-#53 := [rewrite]: #52
-#42 := [asserted]: #18
-#54 := [mp #42 #53]: #51
-#19 := 0::Real
-#58 := (>= f4 0::Real)
-#20 := (< f4 0::Real)
-#21 := (not #20)
-#65 := (iff #21 #58)
-#56 := (not #58)
-#60 := (not #56)
-#63 := (iff #60 #58)
-#64 := [rewrite]: #63
-#61 := (iff #21 #60)
-#57 := (iff #20 #56)
-#59 := [rewrite]: #57
-#62 := [monotonicity #59]: #61
-#66 := [trans #62 #64]: #65
-#43 := [asserted]: #21
-#67 := [mp #43 #66]: #58
-[th-lemma arith farkas 7 3/2 1 #67 #54 #45]: false
-unsat
-c61600e5a5dab4b2c2864caededa0b50f81df696 59 0
-#2 := false
-#19 := (not false)
-decl f4 :: Int
-#11 := f4
-#7 := 0::Int
-#15 := (<= 0::Int f4)
-#16 := (not #15)
-#17 := (or #16 #15)
-#9 := 1::Int
-#10 := (- 1::Int)
-#12 := (* #10 f4)
-decl f3 :: Int
-#8 := f3
-#13 := (+ f3 #12)
-#14 := (<= 0::Int #13)
-#18 := (or #14 #17)
-#20 := (iff #18 #19)
-#21 := (not #20)
-#77 := (iff #21 false)
-#1 := true
-#72 := (not true)
-#75 := (iff #72 false)
-#76 := [rewrite]: #75
-#73 := (iff #21 #72)
-#70 := (iff #20 true)
-#65 := (iff true true)
-#68 := (iff #65 true)
-#69 := [rewrite]: #68
-#66 := (iff #20 #65)
-#63 := (iff #19 true)
-#64 := [rewrite]: #63
-#61 := (iff #18 true)
-#42 := -1::Int
-#45 := (* -1::Int f4)
-#48 := (+ f3 #45)
-#51 := (<= 0::Int #48)
-#56 := (or #51 true)
-#59 := (iff #56 true)
-#60 := [rewrite]: #59
-#57 := (iff #18 #56)
-#54 := (iff #17 true)
-#55 := [rewrite]: #54
-#52 := (iff #14 #51)
-#49 := (= #13 #48)
-#46 := (= #12 #45)
-#43 := (= #10 -1::Int)
-#44 := [rewrite]: #43
-#47 := [monotonicity #44]: #46
-#50 := [monotonicity #47]: #49
-#53 := [monotonicity #50]: #52
-#58 := [monotonicity #53 #55]: #57
-#62 := [trans #58 #60]: #61
-#67 := [monotonicity #62 #64]: #66
-#71 := [trans #67 #69]: #70
-#74 := [monotonicity #71]: #73
-#78 := [trans #74 #76]: #77
-#41 := [asserted]: #21
-[mp #41 #78]: false
-unsat
-7f98d11cd70eeb0eb4aea9722e1648cd3cfdbe2c 439 0
-#2 := false
-decl f4 :: Int
-#8 := f4
-decl f3 :: Int
-#7 := f3
-#20 := (= f3 f4)
-#287 := (not #20)
-#24 := (= f4 f3)
-#312 := (not #24)
-#499 := (iff #312 #287)
-#458 := (iff #24 #20)
-#459 := [commutativity]: #458
-#500 := [monotonicity #459]: #499
-decl f5 :: Int
-#10 := f5
-#30 := (= f5 f4)
-#13 := (= f4 f5)
-#493 := (iff #13 #30)
-#491 := (iff #30 #13)
-#492 := [commutativity]: #491
-#494 := [symm #492]: #493
-#18 := (= f3 f5)
-#238 := (not #18)
-#28 := (= f5 f3)
-#337 := (not #28)
-#485 := (iff #337 #238)
-#483 := (iff #28 #18)
-#484 := [commutativity]: #483
-#486 := [monotonicity #484]: #485
-#55 := 0::Int
-#77 := -1::Int
-#102 := (* -1::Int f4)
-#103 := (+ f3 #102)
-#104 := (<= #103 0::Int)
-#105 := (not #104)
-#118 := (>= #103 0::Int)
-#78 := (* -1::Int f5)
-#96 := (+ f4 #78)
-#95 := (>= #96 0::Int)
-#94 := (not #95)
-#261 := (not #13)
-#435 := [hypothesis]: #261
-#127 := (<= #96 0::Int)
-#474 := (or #18 #13)
-#441 := [hypothesis]: #238
-#447 := (or #104 #18 #13)
-#436 := [hypothesis]: #105
-#300 := (or #127 #104)
-#128 := (not #127)
-#134 := (and #128 #105)
-#216 := (not #134)
-#309 := (iff #216 #300)
-#301 := (not #300)
-#304 := (not #301)
-#307 := (iff #304 #300)
-#308 := [rewrite]: #307
-#305 := (iff #216 #304)
-#302 := (iff #134 #301)
-#303 := [rewrite]: #302
-#306 := [monotonicity #303]: #305
-#310 := [trans #306 #308]: #309
-#37 := (and #30 #24)
-#79 := (+ f3 #78)
-#80 := (<= #79 0::Int)
-#81 := (not #80)
-#84 := (and #13 #81)
-#88 := (>= #79 0::Int)
-#87 := (not #88)
-#91 := (and #24 #87)
-#99 := (and #94 #81)
-#108 := (and #105 #28)
-#111 := (and #105 #87)
-#114 := (and #30 #105)
-#117 := (not #118)
-#121 := (and #28 #117)
-#124 := (and #81 #117)
-#131 := (and #128 #24)
-#137 := (and #20 #94)
-#140 := (and #18 #128)
-#143 := (and #87 #128)
-#146 := (and #117 #13)
-#149 := (and #117 #94)
-#197 := (or #149 #146 #143 #140 #137 #134 #131 #124 #121 #114 #111 #108 #99 #91 #84 #37)
-#202 := (not #197)
-#26 := (< f5 f3)
-#36 := (and #13 #26)
-#38 := (or #36 #37)
-#15 := (< f3 f5)
-#35 := (and #24 #15)
-#39 := (or #35 #38)
-#11 := (< f4 f5)
-#34 := (and #11 #26)
-#40 := (or #34 #39)
-#22 := (< f4 f3)
-#33 := (and #22 #28)
-#41 := (or #33 #40)
-#32 := (and #22 #15)
-#42 := (or #32 #41)
-#31 := (and #30 #22)
-#43 := (or #31 #42)
-#9 := (< f3 f4)
-#29 := (and #28 #9)
-#44 := (or #29 #43)
-#27 := (and #26 #9)
-#45 := (or #27 #44)
-#16 := (< f5 f4)
-#25 := (and #16 #24)
-#46 := (or #25 #45)
-#23 := (and #16 #22)
-#47 := (or #23 #46)
-#21 := (and #20 #11)
-#48 := (or #21 #47)
-#19 := (and #18 #16)
-#49 := (or #19 #48)
-#17 := (and #15 #16)
-#50 := (or #17 #49)
-#14 := (and #9 #13)
-#51 := (or #14 #50)
-#12 := (and #9 #11)
-#52 := (or #12 #51)
-#53 := (not #52)
-#203 := (iff #53 #202)
-#200 := (iff #52 #197)
-#152 := (or #84 #37)
-#155 := (or #91 #152)
-#158 := (or #99 #155)
-#161 := (or #108 #158)
-#164 := (or #111 #161)
-#167 := (or #114 #164)
-#170 := (or #121 #167)
-#173 := (or #124 #170)
-#176 := (or #131 #173)
-#179 := (or #134 #176)
-#182 := (or #137 #179)
-#185 := (or #140 #182)
-#188 := (or #143 #185)
-#191 := (or #146 #188)
-#194 := (or #149 #191)
-#198 := (iff #194 #197)
-#199 := [rewrite]: #198
-#195 := (iff #52 #194)
-#192 := (iff #51 #191)
-#189 := (iff #50 #188)
-#186 := (iff #49 #185)
-#183 := (iff #48 #182)
-#180 := (iff #47 #179)
-#177 := (iff #46 #176)
-#174 := (iff #45 #173)
-#171 := (iff #44 #170)
-#168 := (iff #43 #167)
-#165 := (iff #42 #164)
-#162 := (iff #41 #161)
-#159 := (iff #40 #158)
-#156 := (iff #39 #155)
-#153 := (iff #38 #152)
-#85 := (iff #36 #84)
-#82 := (iff #26 #81)
-#83 := [rewrite]: #82
-#86 := [monotonicity #83]: #85
-#154 := [monotonicity #86]: #153
-#92 := (iff #35 #91)
-#89 := (iff #15 #87)
-#90 := [rewrite]: #89
-#93 := [monotonicity #90]: #92
-#157 := [monotonicity #93 #154]: #156
-#100 := (iff #34 #99)
-#97 := (iff #11 #94)
-#98 := [rewrite]: #97
-#101 := [monotonicity #98 #83]: #100
-#160 := [monotonicity #101 #157]: #159
-#109 := (iff #33 #108)
-#106 := (iff #22 #105)
-#107 := [rewrite]: #106
-#110 := [monotonicity #107]: #109
-#163 := [monotonicity #110 #160]: #162
-#112 := (iff #32 #111)
-#113 := [monotonicity #107 #90]: #112
-#166 := [monotonicity #113 #163]: #165
-#115 := (iff #31 #114)
-#116 := [monotonicity #107]: #115
-#169 := [monotonicity #116 #166]: #168
-#122 := (iff #29 #121)
-#119 := (iff #9 #117)
-#120 := [rewrite]: #119
-#123 := [monotonicity #120]: #122
-#172 := [monotonicity #123 #169]: #171
-#125 := (iff #27 #124)
-#126 := [monotonicity #83 #120]: #125
-#175 := [monotonicity #126 #172]: #174
-#132 := (iff #25 #131)
-#129 := (iff #16 #128)
-#130 := [rewrite]: #129
-#133 := [monotonicity #130]: #132
-#178 := [monotonicity #133 #175]: #177
-#135 := (iff #23 #134)
-#136 := [monotonicity #130 #107]: #135
-#181 := [monotonicity #136 #178]: #180
-#138 := (iff #21 #137)
-#139 := [monotonicity #98]: #138
-#184 := [monotonicity #139 #181]: #183
-#141 := (iff #19 #140)
-#142 := [monotonicity #130]: #141
-#187 := [monotonicity #142 #184]: #186
-#144 := (iff #17 #143)
-#145 := [monotonicity #90 #130]: #144
-#190 := [monotonicity #145 #187]: #189
-#147 := (iff #14 #146)
-#148 := [monotonicity #120]: #147
-#193 := [monotonicity #148 #190]: #192
-#150 := (iff #12 #149)
-#151 := [monotonicity #120 #98]: #150
-#196 := [monotonicity #151 #193]: #195
-#201 := [trans #196 #199]: #200
-#204 := [monotonicity #201]: #203
-#74 := [asserted]: #53
-#205 := [mp #74 #204]: #202
-#217 := [not-or-elim #205]: #216
-#311 := [mp #217 #310]: #300
-#437 := [unit-resolution #311 #436]: #127
-#438 := (or #13 #128 #94)
-#439 := [th-lemma arith triangle-eq]: #438
-#440 := [unit-resolution #439 #437 #435]: #94
-#363 := (or #104 #88)
-#226 := (not #111)
-#372 := (iff #226 #363)
-#364 := (not #363)
-#367 := (not #364)
-#370 := (iff #367 #363)
-#371 := [rewrite]: #370
-#368 := (iff #226 #367)
-#365 := (iff #111 #364)
-#366 := [rewrite]: #365
-#369 := [monotonicity #366]: #368
-#373 := [trans #369 #371]: #372
-#227 := [not-or-elim #205]: #226
-#374 := [mp #227 #373]: #363
-#442 := [unit-resolution #374 #436]: #88
-#443 := (or #18 #81 #87)
-#444 := [th-lemma arith triangle-eq]: #443
-#445 := [unit-resolution #444 #442 #441]: #81
-#387 := (or #95 #80)
-#230 := (not #99)
-#396 := (iff #230 #387)
-#388 := (not #387)
-#391 := (not #388)
-#394 := (iff #391 #387)
-#395 := [rewrite]: #394
-#392 := (iff #230 #391)
-#389 := (iff #99 #388)
-#390 := [rewrite]: #389
-#393 := [monotonicity #390]: #392
-#397 := [trans #393 #395]: #396
-#231 := [not-or-elim #205]: #230
-#398 := [mp #231 #397]: #387
-#446 := [unit-resolution #398 #445 #440]: false
-#448 := [lemma #446]: #447
-#466 := [unit-resolution #448 #441 #435]: #104
-#464 := (or #80 #13 #105)
-#460 := (iff #20 #24)
-#461 := [symm #459]: #460
-#453 := [hypothesis]: #104
-#449 := [hypothesis]: #81
-#325 := (or #80 #118)
-#220 := (not #124)
-#334 := (iff #220 #325)
-#326 := (not #325)
-#329 := (not #326)
-#332 := (iff #329 #325)
-#333 := [rewrite]: #332
-#330 := (iff #220 #329)
-#327 := (iff #124 #326)
-#328 := [rewrite]: #327
-#331 := [monotonicity #328]: #330
-#335 := [trans #331 #333]: #334
-#221 := [not-or-elim #205]: #220
-#336 := [mp #221 #335]: #325
-#454 := [unit-resolution #336 #449]: #118
-#455 := (or #20 #105 #117)
-#456 := [th-lemma arith triangle-eq]: #455
-#457 := [unit-resolution #456 #454 #453]: #20
-#462 := [mp #457 #461]: #24
-#450 := [unit-resolution #398 #449]: #95
-#451 := [unit-resolution #439 #450 #435]: #128
-#313 := (or #127 #312)
-#218 := (not #131)
-#322 := (iff #218 #313)
-#314 := (not #313)
-#317 := (not #314)
-#320 := (iff #317 #313)
-#321 := [rewrite]: #320
-#318 := (iff #218 #317)
-#315 := (iff #131 #314)
-#316 := [rewrite]: #315
-#319 := [monotonicity #316]: #318
-#323 := [trans #319 #321]: #322
-#219 := [not-or-elim #205]: #218
-#324 := [mp #219 #323]: #313
-#452 := [unit-resolution #324 #451]: #312
-#463 := [unit-resolution #452 #462]: false
-#465 := [lemma #463]: #464
-#467 := [unit-resolution #465 #466 #435]: #80
-#468 := [unit-resolution #444 #467 #441]: #87
-#250 := (or #88 #127)
-#210 := (not #143)
-#239 := (iff #210 #250)
-#247 := (not #250)
-#246 := (not #247)
-#241 := (iff #246 #250)
-#242 := [rewrite]: #241
-#243 := (iff #210 #246)
-#248 := (iff #143 #247)
-#245 := [rewrite]: #248
-#244 := [monotonicity #245]: #243
-#240 := [trans #244 #242]: #239
-#211 := [not-or-elim #205]: #210
-#76 := [mp #211 #240]: #250
-#469 := [unit-resolution #76 #468]: #127
-#470 := [unit-resolution #439 #469 #435]: #94
-#271 := (or #118 #95)
-#206 := (not #149)
-#266 := (iff #206 #271)
-#272 := (not #271)
-#269 := (not #272)
-#268 := (iff #269 #271)
-#265 := [rewrite]: #268
-#270 := (iff #206 #269)
-#273 := (iff #149 #272)
-#274 := [rewrite]: #273
-#267 := [monotonicity #274]: #270
-#263 := [trans #267 #265]: #266
-#207 := [not-or-elim #205]: #206
-#264 := [mp #207 #263]: #271
-#471 := [unit-resolution #264 #470]: #118
-#288 := (or #287 #95)
-#214 := (not #137)
-#297 := (iff #214 #288)
-#289 := (not #288)
-#292 := (not #289)
-#295 := (iff #292 #288)
-#296 := [rewrite]: #295
-#293 := (iff #214 #292)
-#290 := (iff #137 #289)
-#291 := [rewrite]: #290
-#294 := [monotonicity #291]: #293
-#298 := [trans #294 #296]: #297
-#215 := [not-or-elim #205]: #214
-#299 := [mp #215 #298]: #288
-#472 := [unit-resolution #299 #470]: #287
-#473 := [unit-resolution #456 #472 #471 #466]: false
-#475 := [lemma #473]: #474
-#476 := [unit-resolution #475 #435]: #18
-#275 := (or #238 #127)
-#212 := (not #140)
-#284 := (iff #212 #275)
-#276 := (not #275)
-#279 := (not #276)
-#282 := (iff #279 #275)
-#283 := [rewrite]: #282
-#280 := (iff #212 #279)
-#277 := (iff #140 #276)
-#278 := [rewrite]: #277
-#281 := [monotonicity #278]: #280
-#285 := [trans #281 #283]: #284
-#213 := [not-or-elim #205]: #212
-#286 := [mp #213 #285]: #275
-#477 := [unit-resolution #286 #476]: #127
-#478 := [unit-resolution #439 #477 #435]: #94
-#479 := [unit-resolution #264 #478]: #118
-#480 := [unit-resolution #299 #478]: #287
-#481 := [unit-resolution #456 #480 #479]: #105
-#375 := (or #104 #337)
-#228 := (not #108)
-#384 := (iff #228 #375)
-#376 := (not #375)
-#379 := (not #376)
-#382 := (iff #379 #375)
-#383 := [rewrite]: #382
-#380 := (iff #228 #379)
-#377 := (iff #108 #376)
-#378 := [rewrite]: #377
-#381 := [monotonicity #378]: #380
-#385 := [trans #381 #383]: #384
-#229 := [not-or-elim #205]: #228
-#386 := [mp #229 #385]: #375
-#482 := [unit-resolution #386 #481]: #337
-#487 := [mp #482 #486]: #238
-#488 := [unit-resolution #476 #487]: false
-#489 := [lemma #488]: #13
-#495 := [mp #489 #494]: #30
-#350 := (not #30)
-#423 := (or #350 #312)
-#236 := (not #37)
-#432 := (iff #236 #423)
-#424 := (not #423)
-#427 := (not #424)
-#430 := (iff #427 #423)
-#431 := [rewrite]: #430
-#428 := (iff #236 #427)
-#425 := (iff #37 #424)
-#426 := [rewrite]: #425
-#429 := [monotonicity #426]: #428
-#433 := [trans #429 #431]: #432
-#237 := [not-or-elim #205]: #236
-#434 := [mp #237 #433]: #423
-#498 := [unit-resolution #434 #495]: #312
-#501 := [mp #498 #500]: #287
-#262 := (or #118 #261)
-#208 := (not #146)
-#251 := (iff #208 #262)
-#259 := (not #262)
-#258 := (not #259)
-#253 := (iff #258 #262)
-#254 := [rewrite]: #253
-#255 := (iff #208 #258)
-#260 := (iff #146 #259)
-#257 := [rewrite]: #260
-#256 := [monotonicity #257]: #255
-#252 := [trans #256 #254]: #251
-#209 := [not-or-elim #205]: #208
-#249 := [mp #209 #252]: #262
-#490 := [unit-resolution #249 #489]: #118
-#351 := (or #350 #104)
-#224 := (not #114)
-#360 := (iff #224 #351)
-#352 := (not #351)
-#355 := (not #352)
-#358 := (iff #355 #351)
-#359 := [rewrite]: #358
-#356 := (iff #224 #355)
-#353 := (iff #114 #352)
-#354 := [rewrite]: #353
-#357 := [monotonicity #354]: #356
-#361 := [trans #357 #359]: #360
-#225 := [not-or-elim #205]: #224
-#362 := [mp #225 #361]: #351
-#496 := [unit-resolution #362 #495]: #104
-#497 := [unit-resolution #456 #496 #490]: #20
-[unit-resolution #497 #501]: false
-unsat
-70bd6436662c1fd4b8c8a6f696914593051990e6 52 0
-#2 := false
-#11 := 1::Real
-decl f3 :: Real
-#7 := f3
-#9 := 2::Real
-#10 := (* 2::Real f3)
-#12 := (+ #10 1::Real)
-#8 := (+ f3 f3)
-#13 := (< #8 #12)
-#14 := (or false #13)
-#15 := (or #13 #14)
-#16 := (not #15)
-#72 := (iff #16 false)
-#40 := (+ 1::Real #10)
-#43 := (< #10 #40)
-#60 := (not #43)
-#70 := (iff #60 false)
-#1 := true
-#65 := (not true)
-#68 := (iff #65 false)
-#69 := [rewrite]: #68
-#66 := (iff #60 #65)
-#63 := (iff #43 true)
-#64 := [rewrite]: #63
-#67 := [monotonicity #64]: #66
-#71 := [trans #67 #69]: #70
-#61 := (iff #16 #60)
-#58 := (iff #15 #43)
-#53 := (or #43 #43)
-#56 := (iff #53 #43)
-#57 := [rewrite]: #56
-#54 := (iff #15 #53)
-#51 := (iff #14 #43)
-#46 := (or false #43)
-#49 := (iff #46 #43)
-#50 := [rewrite]: #49
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#41 := (= #12 #40)
-#42 := [rewrite]: #41
-#38 := (= #8 #10)
-#39 := [rewrite]: #38
-#45 := [monotonicity #39 #42]: #44
-#48 := [monotonicity #45]: #47
-#52 := [trans #48 #50]: #51
-#55 := [monotonicity #45 #52]: #54
-#59 := [trans #55 #57]: #58
-#62 := [monotonicity #59]: #61
-#73 := [trans #62 #71]: #72
-#37 := [asserted]: #16
-[mp #37 #73]: false
-unsat
-6e7ef563e385e00340c905e5fb44172a278ff733 2215 0
-#2 := false
-decl f12 :: Int
-#52 := f12
-decl f5 :: Int
-#13 := f5
-#64 := (= f5 f12)
-#9 := 0::Int
-#97 := -1::Int
-#235 := (* -1::Int f12)
-#733 := (+ f5 #235)
-#735 := (>= #733 0::Int)
-decl f10 :: Int
-#40 := f10
-#201 := (* -1::Int f10)
-#394 := (>= f10 0::Int)
-#401 := (if #394 f10 #201)
-#412 := (* -1::Int #401)
-#746 := (+ f10 #412)
-#748 := (>= #746 0::Int)
-#916 := (not #748)
-decl f11 :: Int
-#46 := f11
-#218 := (* -1::Int f11)
-#365 := (>= f11 0::Int)
-#372 := (if #365 f11 #218)
-#383 := (* -1::Int #372)
-#743 := (+ f11 #383)
-#745 := (>= #743 0::Int)
-#717 := (= f11 #372)
-#899 := (not #735)
-#900 := [hypothesis]: #899
-#1902 := (or #365 #735)
-decl f4 :: Int
-#8 := f4
-#98 := (* -1::Int f4)
-#568 := (>= f4 0::Int)
-#575 := (if #568 f4 #98)
-#586 := (* -1::Int #575)
-#985 := (+ f4 #586)
-#986 := (<= #985 0::Int)
-#1269 := (not #986)
-#888 := (<= #746 0::Int)
-#709 := (= f10 #401)
-#366 := (not #365)
-#1202 := [hypothesis]: #366
-#1880 := (or #394 #735 #365)
-#655 := (= f4 #575)
-decl f3 :: Int
-#7 := f3
-#116 := (* -1::Int f3)
-#539 := (>= f3 0::Int)
-#546 := (if #539 f3 #116)
-#557 := (* -1::Int #546)
-#761 := (+ f3 #557)
-#762 := (<= #761 0::Int)
-#669 := (= f3 #546)
-#1863 := (or #539 #365 #735)
-#395 := (not #394)
-decl f6 :: Int
-#16 := f6
-#510 := (>= f6 0::Int)
-#511 := (not #510)
-decl f9 :: Int
-#34 := f9
-#184 := (* -1::Int f9)
-#423 := (>= f9 0::Int)
-#430 := (if #423 f9 #184)
-#441 := (* -1::Int #430)
-#749 := (+ f9 #441)
-#751 := (>= #749 0::Int)
-#701 := (= f9 #430)
-#1430 := (>= #985 0::Int)
-#1498 := (not #1430)
-#587 := (+ f5 #586)
-#588 := (+ f3 #587)
-#649 := (<= #588 0::Int)
-#589 := (= #588 0::Int)
-decl f13 :: Int
-#58 := f13
-#65 := (= f4 f13)
-#66 := (and #64 #65)
-#336 := (>= f12 0::Int)
-#343 := (if #336 f12 #235)
-#354 := (* -1::Int #343)
-#355 := (+ f13 #354)
-#356 := (+ f11 #355)
-#357 := (= #356 0::Int)
-#362 := (not #357)
-#384 := (+ f12 #383)
-#385 := (+ f10 #384)
-#386 := (= #385 0::Int)
-#391 := (not #386)
-#413 := (+ f11 #412)
-#414 := (+ f9 #413)
-#415 := (= #414 0::Int)
-#420 := (not #415)
-#442 := (+ f10 #441)
-decl f8 :: Int
-#28 := f8
-#443 := (+ f8 #442)
-#444 := (= #443 0::Int)
-#449 := (not #444)
-#167 := (* -1::Int f8)
-#452 := (>= f8 0::Int)
-#459 := (if #452 f8 #167)
-#470 := (* -1::Int #459)
-#471 := (+ f9 #470)
-decl f7 :: Int
-#22 := f7
-#472 := (+ f7 #471)
-#473 := (= #472 0::Int)
-#478 := (not #473)
-#150 := (* -1::Int f7)
-#481 := (>= f7 0::Int)
-#488 := (if #481 f7 #150)
-#499 := (* -1::Int #488)
-#500 := (+ f8 #499)
-#501 := (+ f6 #500)
-#502 := (= #501 0::Int)
-#507 := (not #502)
-#133 := (* -1::Int f6)
-#517 := (if #510 f6 #133)
-#528 := (* -1::Int #517)
-#529 := (+ f7 #528)
-#530 := (+ f3 #529)
-#531 := (= #530 0::Int)
-#536 := (not #531)
-#558 := (+ f6 #557)
-#559 := (+ f4 #558)
-#560 := (= #559 0::Int)
-#565 := (not #560)
-#594 := (not #589)
-#624 := (or #594 #565 #536 #507 #478 #449 #420 #391 #362 #66)
-#629 := (not #624)
-#60 := (- f12)
-#59 := (< f12 0::Int)
-#61 := (if #59 #60 f12)
-#62 := (- #61 f11)
-#63 := (= f13 #62)
-#67 := (implies #63 #66)
-#54 := (- f11)
-#53 := (< f11 0::Int)
-#55 := (if #53 #54 f11)
-#56 := (- #55 f10)
-#57 := (= f12 #56)
-#68 := (implies #57 #67)
-#48 := (- f10)
-#47 := (< f10 0::Int)
-#49 := (if #47 #48 f10)
-#50 := (- #49 f9)
-#51 := (= f11 #50)
-#69 := (implies #51 #68)
-#42 := (- f9)
-#41 := (< f9 0::Int)
-#43 := (if #41 #42 f9)
-#44 := (- #43 f8)
-#45 := (= f10 #44)
-#70 := (implies #45 #69)
-#36 := (- f8)
-#35 := (< f8 0::Int)
-#37 := (if #35 #36 f8)
-#38 := (- #37 f7)
-#39 := (= f9 #38)
-#71 := (implies #39 #70)
-#30 := (- f7)
-#29 := (< f7 0::Int)
-#31 := (if #29 #30 f7)
-#32 := (- #31 f6)
-#33 := (= f8 #32)
-#72 := (implies #33 #71)
-#24 := (- f6)
-#23 := (< f6 0::Int)
-#25 := (if #23 #24 f6)
-#26 := (- #25 f3)
-#27 := (= f7 #26)
-#73 := (implies #27 #72)
-#18 := (- f3)
-#17 := (< f3 0::Int)
-#19 := (if #17 #18 f3)
-#20 := (- #19 f4)
-#21 := (= f6 #20)
-#74 := (implies #21 #73)
-#11 := (- f4)
-#10 := (< f4 0::Int)
-#12 := (if #10 #11 f4)
-#14 := (- #12 f5)
-#15 := (= f3 #14)
-#75 := (implies #15 #74)
-#76 := (not #75)
-#632 := (iff #76 #629)
-#238 := (if #59 #235 f12)
-#244 := (+ #218 #238)
-#249 := (= f13 #244)
-#255 := (not #249)
-#256 := (or #255 #66)
-#221 := (if #53 #218 f11)
-#227 := (+ #201 #221)
-#232 := (= f12 #227)
-#264 := (not #232)
-#265 := (or #264 #256)
-#204 := (if #47 #201 f10)
-#210 := (+ #184 #204)
-#215 := (= f11 #210)
-#273 := (not #215)
-#274 := (or #273 #265)
-#187 := (if #41 #184 f9)
-#193 := (+ #167 #187)
-#198 := (= f10 #193)
-#282 := (not #198)
-#283 := (or #282 #274)
-#170 := (if #35 #167 f8)
-#176 := (+ #150 #170)
-#181 := (= f9 #176)
-#291 := (not #181)
-#292 := (or #291 #283)
-#153 := (if #29 #150 f7)
-#159 := (+ #133 #153)
-#164 := (= f8 #159)
-#300 := (not #164)
-#301 := (or #300 #292)
-#136 := (if #23 #133 f6)
-#142 := (+ #116 #136)
-#147 := (= f7 #142)
-#309 := (not #147)
-#310 := (or #309 #301)
-#119 := (if #17 #116 f3)
-#125 := (+ #98 #119)
-#130 := (= f6 #125)
-#318 := (not #130)
-#319 := (or #318 #310)
-#101 := (if #10 #98 f4)
-#107 := (* -1::Int f5)
-#108 := (+ #107 #101)
-#113 := (= f3 #108)
-#327 := (not #113)
-#328 := (or #327 #319)
-#333 := (not #328)
-#630 := (iff #333 #629)
-#627 := (iff #328 #624)
-#597 := (or #362 #66)
-#600 := (or #391 #597)
-#603 := (or #420 #600)
-#606 := (or #449 #603)
-#609 := (or #478 #606)
-#612 := (or #507 #609)
-#615 := (or #536 #612)
-#618 := (or #565 #615)
-#621 := (or #594 #618)
-#625 := (iff #621 #624)
-#626 := [rewrite]: #625
-#622 := (iff #328 #621)
-#619 := (iff #319 #618)
-#616 := (iff #310 #615)
-#613 := (iff #301 #612)
-#610 := (iff #292 #609)
-#607 := (iff #283 #606)
-#604 := (iff #274 #603)
-#601 := (iff #265 #600)
-#598 := (iff #256 #597)
-#363 := (iff #255 #362)
-#360 := (iff #249 #357)
-#348 := (+ #218 #343)
-#351 := (= f13 #348)
-#358 := (iff #351 #357)
-#359 := [rewrite]: #358
-#352 := (iff #249 #351)
-#349 := (= #244 #348)
-#346 := (= #238 #343)
-#337 := (not #336)
-#340 := (if #337 #235 f12)
-#344 := (= #340 #343)
-#345 := [rewrite]: #344
-#341 := (= #238 #340)
-#338 := (iff #59 #337)
-#339 := [rewrite]: #338
-#342 := [monotonicity #339]: #341
-#347 := [trans #342 #345]: #346
-#350 := [monotonicity #347]: #349
-#353 := [monotonicity #350]: #352
-#361 := [trans #353 #359]: #360
-#364 := [monotonicity #361]: #363
-#599 := [monotonicity #364]: #598
-#392 := (iff #264 #391)
-#389 := (iff #232 #386)
-#377 := (+ #201 #372)
-#380 := (= f12 #377)
-#387 := (iff #380 #386)
-#388 := [rewrite]: #387
-#381 := (iff #232 #380)
-#378 := (= #227 #377)
-#375 := (= #221 #372)
-#369 := (if #366 #218 f11)
-#373 := (= #369 #372)
-#374 := [rewrite]: #373
-#370 := (= #221 #369)
-#367 := (iff #53 #366)
-#368 := [rewrite]: #367
-#371 := [monotonicity #368]: #370
-#376 := [trans #371 #374]: #375
-#379 := [monotonicity #376]: #378
-#382 := [monotonicity #379]: #381
-#390 := [trans #382 #388]: #389
-#393 := [monotonicity #390]: #392
-#602 := [monotonicity #393 #599]: #601
-#421 := (iff #273 #420)
-#418 := (iff #215 #415)
-#406 := (+ #184 #401)
-#409 := (= f11 #406)
-#416 := (iff #409 #415)
-#417 := [rewrite]: #416
-#410 := (iff #215 #409)
-#407 := (= #210 #406)
-#404 := (= #204 #401)
-#398 := (if #395 #201 f10)
-#402 := (= #398 #401)
-#403 := [rewrite]: #402
-#399 := (= #204 #398)
-#396 := (iff #47 #395)
-#397 := [rewrite]: #396
-#400 := [monotonicity #397]: #399
-#405 := [trans #400 #403]: #404
-#408 := [monotonicity #405]: #407
-#411 := [monotonicity #408]: #410
-#419 := [trans #411 #417]: #418
-#422 := [monotonicity #419]: #421
-#605 := [monotonicity #422 #602]: #604
-#450 := (iff #282 #449)
-#447 := (iff #198 #444)
-#435 := (+ #167 #430)
-#438 := (= f10 #435)
-#445 := (iff #438 #444)
-#446 := [rewrite]: #445
-#439 := (iff #198 #438)
-#436 := (= #193 #435)
-#433 := (= #187 #430)
-#424 := (not #423)
-#427 := (if #424 #184 f9)
-#431 := (= #427 #430)
-#432 := [rewrite]: #431
-#428 := (= #187 #427)
-#425 := (iff #41 #424)
-#426 := [rewrite]: #425
-#429 := [monotonicity #426]: #428
-#434 := [trans #429 #432]: #433
-#437 := [monotonicity #434]: #436
-#440 := [monotonicity #437]: #439
-#448 := [trans #440 #446]: #447
-#451 := [monotonicity #448]: #450
-#608 := [monotonicity #451 #605]: #607
-#479 := (iff #291 #478)
-#476 := (iff #181 #473)
-#464 := (+ #150 #459)
-#467 := (= f9 #464)
-#474 := (iff #467 #473)
-#475 := [rewrite]: #474
-#468 := (iff #181 #467)
-#465 := (= #176 #464)
-#462 := (= #170 #459)
-#453 := (not #452)
-#456 := (if #453 #167 f8)
-#460 := (= #456 #459)
-#461 := [rewrite]: #460
-#457 := (= #170 #456)
-#454 := (iff #35 #453)
-#455 := [rewrite]: #454
-#458 := [monotonicity #455]: #457
-#463 := [trans #458 #461]: #462
-#466 := [monotonicity #463]: #465
-#469 := [monotonicity #466]: #468
-#477 := [trans #469 #475]: #476
-#480 := [monotonicity #477]: #479
-#611 := [monotonicity #480 #608]: #610
-#508 := (iff #300 #507)
-#505 := (iff #164 #502)
-#493 := (+ #133 #488)
-#496 := (= f8 #493)
-#503 := (iff #496 #502)
-#504 := [rewrite]: #503
-#497 := (iff #164 #496)
-#494 := (= #159 #493)
-#491 := (= #153 #488)
-#482 := (not #481)
-#485 := (if #482 #150 f7)
-#489 := (= #485 #488)
-#490 := [rewrite]: #489
-#486 := (= #153 #485)
-#483 := (iff #29 #482)
-#484 := [rewrite]: #483
-#487 := [monotonicity #484]: #486
-#492 := [trans #487 #490]: #491
-#495 := [monotonicity #492]: #494
-#498 := [monotonicity #495]: #497
-#506 := [trans #498 #504]: #505
-#509 := [monotonicity #506]: #508
-#614 := [monotonicity #509 #611]: #613
-#537 := (iff #309 #536)
-#534 := (iff #147 #531)
-#522 := (+ #116 #517)
-#525 := (= f7 #522)
-#532 := (iff #525 #531)
-#533 := [rewrite]: #532
-#526 := (iff #147 #525)
-#523 := (= #142 #522)
-#520 := (= #136 #517)
-#514 := (if #511 #133 f6)
-#518 := (= #514 #517)
-#519 := [rewrite]: #518
-#515 := (= #136 #514)
-#512 := (iff #23 #511)
-#513 := [rewrite]: #512
-#516 := [monotonicity #513]: #515
-#521 := [trans #516 #519]: #520
-#524 := [monotonicity #521]: #523
-#527 := [monotonicity #524]: #526
-#535 := [trans #527 #533]: #534
-#538 := [monotonicity #535]: #537
-#617 := [monotonicity #538 #614]: #616
-#566 := (iff #318 #565)
-#563 := (iff #130 #560)
-#551 := (+ #98 #546)
-#554 := (= f6 #551)
-#561 := (iff #554 #560)
-#562 := [rewrite]: #561
-#555 := (iff #130 #554)
-#552 := (= #125 #551)
-#549 := (= #119 #546)
-#540 := (not #539)
-#543 := (if #540 #116 f3)
-#547 := (= #543 #546)
-#548 := [rewrite]: #547
-#544 := (= #119 #543)
-#541 := (iff #17 #540)
-#542 := [rewrite]: #541
-#545 := [monotonicity #542]: #544
-#550 := [trans #545 #548]: #549
-#553 := [monotonicity #550]: #552
-#556 := [monotonicity #553]: #555
-#564 := [trans #556 #562]: #563
-#567 := [monotonicity #564]: #566
-#620 := [monotonicity #567 #617]: #619
-#595 := (iff #327 #594)
-#592 := (iff #113 #589)
-#580 := (+ #107 #575)
-#583 := (= f3 #580)
-#590 := (iff #583 #589)
-#591 := [rewrite]: #590
-#584 := (iff #113 #583)
-#581 := (= #108 #580)
-#578 := (= #101 #575)
-#569 := (not #568)
-#572 := (if #569 #98 f4)
-#576 := (= #572 #575)
-#577 := [rewrite]: #576
-#573 := (= #101 #572)
-#570 := (iff #10 #569)
-#571 := [rewrite]: #570
-#574 := [monotonicity #571]: #573
-#579 := [trans #574 #577]: #578
-#582 := [monotonicity #579]: #581
-#585 := [monotonicity #582]: #584
-#593 := [trans #585 #591]: #592
-#596 := [monotonicity #593]: #595
-#623 := [monotonicity #596 #620]: #622
-#628 := [trans #623 #626]: #627
-#631 := [monotonicity #628]: #630
-#334 := (iff #76 #333)
-#331 := (iff #75 #328)
-#324 := (implies #113 #319)
-#329 := (iff #324 #328)
-#330 := [rewrite]: #329
-#325 := (iff #75 #324)
-#322 := (iff #74 #319)
-#315 := (implies #130 #310)
-#320 := (iff #315 #319)
-#321 := [rewrite]: #320
-#316 := (iff #74 #315)
-#313 := (iff #73 #310)
-#306 := (implies #147 #301)
-#311 := (iff #306 #310)
-#312 := [rewrite]: #311
-#307 := (iff #73 #306)
-#304 := (iff #72 #301)
-#297 := (implies #164 #292)
-#302 := (iff #297 #301)
-#303 := [rewrite]: #302
-#298 := (iff #72 #297)
-#295 := (iff #71 #292)
-#288 := (implies #181 #283)
-#293 := (iff #288 #292)
-#294 := [rewrite]: #293
-#289 := (iff #71 #288)
-#286 := (iff #70 #283)
-#279 := (implies #198 #274)
-#284 := (iff #279 #283)
-#285 := [rewrite]: #284
-#280 := (iff #70 #279)
-#277 := (iff #69 #274)
-#270 := (implies #215 #265)
-#275 := (iff #270 #274)
-#276 := [rewrite]: #275
-#271 := (iff #69 #270)
-#268 := (iff #68 #265)
-#261 := (implies #232 #256)
-#266 := (iff #261 #265)
-#267 := [rewrite]: #266
-#262 := (iff #68 #261)
-#259 := (iff #67 #256)
-#252 := (implies #249 #66)
-#257 := (iff #252 #256)
-#258 := [rewrite]: #257
-#253 := (iff #67 #252)
-#250 := (iff #63 #249)
-#247 := (= #62 #244)
-#241 := (- #238 f11)
-#245 := (= #241 #244)
-#246 := [rewrite]: #245
-#242 := (= #62 #241)
-#239 := (= #61 #238)
-#236 := (= #60 #235)
-#237 := [rewrite]: #236
-#240 := [monotonicity #237]: #239
-#243 := [monotonicity #240]: #242
-#248 := [trans #243 #246]: #247
-#251 := [monotonicity #248]: #250
-#254 := [monotonicity #251]: #253
-#260 := [trans #254 #258]: #259
-#233 := (iff #57 #232)
-#230 := (= #56 #227)
-#224 := (- #221 f10)
-#228 := (= #224 #227)
-#229 := [rewrite]: #228
-#225 := (= #56 #224)
-#222 := (= #55 #221)
-#219 := (= #54 #218)
-#220 := [rewrite]: #219
-#223 := [monotonicity #220]: #222
-#226 := [monotonicity #223]: #225
-#231 := [trans #226 #229]: #230
-#234 := [monotonicity #231]: #233
-#263 := [monotonicity #234 #260]: #262
-#269 := [trans #263 #267]: #268
-#216 := (iff #51 #215)
-#213 := (= #50 #210)
-#207 := (- #204 f9)
-#211 := (= #207 #210)
-#212 := [rewrite]: #211
-#208 := (= #50 #207)
-#205 := (= #49 #204)
-#202 := (= #48 #201)
-#203 := [rewrite]: #202
-#206 := [monotonicity #203]: #205
-#209 := [monotonicity #206]: #208
-#214 := [trans #209 #212]: #213
-#217 := [monotonicity #214]: #216
-#272 := [monotonicity #217 #269]: #271
-#278 := [trans #272 #276]: #277
-#199 := (iff #45 #198)
-#196 := (= #44 #193)
-#190 := (- #187 f8)
-#194 := (= #190 #193)
-#195 := [rewrite]: #194
-#191 := (= #44 #190)
-#188 := (= #43 #187)
-#185 := (= #42 #184)
-#186 := [rewrite]: #185
-#189 := [monotonicity #186]: #188
-#192 := [monotonicity #189]: #191
-#197 := [trans #192 #195]: #196
-#200 := [monotonicity #197]: #199
-#281 := [monotonicity #200 #278]: #280
-#287 := [trans #281 #285]: #286
-#182 := (iff #39 #181)
-#179 := (= #38 #176)
-#173 := (- #170 f7)
-#177 := (= #173 #176)
-#178 := [rewrite]: #177
-#174 := (= #38 #173)
-#171 := (= #37 #170)
-#168 := (= #36 #167)
-#169 := [rewrite]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#180 := [trans #175 #178]: #179
-#183 := [monotonicity #180]: #182
-#290 := [monotonicity #183 #287]: #289
-#296 := [trans #290 #294]: #295
-#165 := (iff #33 #164)
-#162 := (= #32 #159)
-#156 := (- #153 f6)
-#160 := (= #156 #159)
-#161 := [rewrite]: #160
-#157 := (= #32 #156)
-#154 := (= #31 #153)
-#151 := (= #30 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#158 := [monotonicity #155]: #157
-#163 := [trans #158 #161]: #162
-#166 := [monotonicity #163]: #165
-#299 := [monotonicity #166 #296]: #298
-#305 := [trans #299 #303]: #304
-#148 := (iff #27 #147)
-#145 := (= #26 #142)
-#139 := (- #136 f3)
-#143 := (= #139 #142)
-#144 := [rewrite]: #143
-#140 := (= #26 #139)
-#137 := (= #25 #136)
-#134 := (= #24 #133)
-#135 := [rewrite]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#146 := [trans #141 #144]: #145
-#149 := [monotonicity #146]: #148
-#308 := [monotonicity #149 #305]: #307
-#314 := [trans #308 #312]: #313
-#131 := (iff #21 #130)
-#128 := (= #20 #125)
-#122 := (- #119 f4)
-#126 := (= #122 #125)
-#127 := [rewrite]: #126
-#123 := (= #20 #122)
-#120 := (= #19 #119)
-#117 := (= #18 #116)
-#118 := [rewrite]: #117
-#121 := [monotonicity #118]: #120
-#124 := [monotonicity #121]: #123
-#129 := [trans #124 #127]: #128
-#132 := [monotonicity #129]: #131
-#317 := [monotonicity #132 #314]: #316
-#323 := [trans #317 #321]: #322
-#114 := (iff #15 #113)
-#111 := (= #14 #108)
-#104 := (- #101 f5)
-#109 := (= #104 #108)
-#110 := [rewrite]: #109
-#105 := (= #14 #104)
-#102 := (= #12 #101)
-#99 := (= #11 #98)
-#100 := [rewrite]: #99
-#103 := [monotonicity #100]: #102
-#106 := [monotonicity #103]: #105
-#112 := [trans #106 #110]: #111
-#115 := [monotonicity #112]: #114
-#326 := [monotonicity #115 #323]: #325
-#332 := [trans #326 #330]: #331
-#335 := [monotonicity #332]: #334
-#633 := [trans #335 #631]: #632
-#96 := [asserted]: #76
-#634 := [mp #96 #633]: #629
-#635 := [not-or-elim #634]: #589
-#1489 := (or #594 #649)
-#1490 := [th-lemma arith triangle-eq]: #1489
-#1491 := [unit-resolution #1490 #635]: #649
-#675 := (<= #559 0::Int)
-#636 := [not-or-elim #634]: #560
-#1486 := (or #565 #675)
-#1487 := [th-lemma arith triangle-eq]: #1486
-#1488 := [unit-resolution #1487 #636]: #675
-#1251 := (+ #167 #470)
-#741 := (>= #1251 0::Int)
-#1066 := [hypothesis]: #424
-#1804 := (or #539 #423)
-#818 := [hypothesis]: #540
-#1760 := (or #394 #539 #423)
-#747 := (+ #201 #412)
-#1708 := (>= #747 0::Int)
-#710 := (= #201 #401)
-#1122 := [hypothesis]: #395
-#713 := (or #394 #710)
-#714 := [def-axiom]: #713
-#1709 := [unit-resolution #714 #1122]: #710
-#1230 := (not #710)
-#1710 := (or #1230 #1708)
-#1711 := [th-lemma arith triangle-eq]: #1710
-#1712 := [unit-resolution #1711 #1709]: #1708
-#683 := (<= #530 0::Int)
-#637 := [not-or-elim #634]: #531
-#895 := (or #536 #683)
-#896 := [th-lemma arith triangle-eq]: #895
-#897 := [unit-resolution #896 #637]: #683
-#760 := (+ f6 #528)
-#756 := (>= #760 0::Int)
-#677 := (= f6 #517)
-#1197 := (or #510 #423)
-#989 := [hypothesis]: #511
-#1188 := (or #481 #510 #423)
-#752 := (+ f8 #470)
-#988 := (<= #752 0::Int)
-#1014 := (not #988)
-#1062 := (+ #150 #499)
-#1161 := (<= #1062 0::Int)
-#686 := (= #150 #488)
-#891 := [hypothesis]: #482
-#689 := (or #481 #686)
-#690 := [def-axiom]: #689
-#1169 := [unit-resolution #690 #891]: #686
-#1094 := (not #686)
-#1170 := (or #1094 #1161)
-#1171 := [th-lemma arith triangle-eq]: #1170
-#1172 := [unit-resolution #1171 #1169]: #1161
-#927 := (+ #184 #441)
-#744 := (>= #927 0::Int)
-#702 := (= #184 #430)
-#705 := (or #423 #702)
-#706 := [def-axiom]: #705
-#1071 := [unit-resolution #706 #1066]: #702
-#954 := (not #702)
-#1173 := (or #954 #744)
-#1174 := [th-lemma arith triangle-eq]: #1173
-#1175 := [unit-resolution #1174 #1071]: #744
-#1166 := (or #394 #423 #481)
-#700 := (>= #472 0::Int)
-#639 := [not-or-elim #634]: #473
-#1011 := (or #478 #700)
-#1012 := [th-lemma arith triangle-eq]: #1011
-#1013 := [unit-resolution #1012 #639]: #700
-#928 := (<= #927 0::Int)
-#955 := (or #954 #928)
-#1027 := (not #928)
-#1028 := [hypothesis]: #1027
-#1029 := [hypothesis]: #702
-#956 := [th-lemma arith triangle-eq]: #955
-#1030 := [unit-resolution #956 #1029 #1028]: false
-#1031 := [lemma #1030]: #955
-#1072 := [unit-resolution #1031 #1071]: #928
-#708 := (>= #443 0::Int)
-#640 := [not-or-elim #634]: #444
-#905 := (or #449 #708)
-#906 := [th-lemma arith triangle-eq]: #905
-#907 := [unit-resolution #906 #640]: #708
-#1015 := (not #700)
-#1048 := (not #708)
-#1130 := (or #481 #394 #1048 #1014 #1015 #423 #1027)
-#1131 := [th-lemma arith assign-bounds 1 1 1 1 2 1]: #1130
-#1162 := [unit-resolution #1131 #1122 #1066 #907 #891 #1072 #1013]: #1014
-#693 := (= f8 #459)
-#1123 := (or #452 #423 #394 #1048 #1027)
-#1124 := [th-lemma arith assign-bounds 1 1 1 1]: #1123
-#1163 := [unit-resolution #1124 #1122 #907 #1072 #1066]: #452
-#695 := (or #453 #693)
-#696 := [def-axiom]: #695
-#1164 := [unit-resolution #696 #1163]: #693
-#1007 := (not #693)
-#1008 := (or #1007 #988)
-#1067 := [hypothesis]: #1014
-#1068 := [hypothesis]: #693
-#1009 := [th-lemma arith triangle-eq]: #1008
-#1069 := [unit-resolution #1009 #1068 #1067]: false
-#1070 := [lemma #1069]: #1008
-#1165 := [unit-resolution #1070 #1164 #1162]: false
-#1167 := [lemma #1165]: #1166
-#1176 := [unit-resolution #1167 #891 #1066]: #394
-#707 := (<= #443 0::Int)
-#834 := (or #449 #707)
-#835 := [th-lemma arith triangle-eq]: #834
-#836 := [unit-resolution #835 #640]: #707
-#692 := (>= #501 0::Int)
-#638 := [not-or-elim #634]: #502
-#867 := (or #507 #692)
-#868 := [th-lemma arith triangle-eq]: #867
-#869 := [unit-resolution #868 #638]: #692
-#1002 := (not #692)
-#1179 := (not #1161)
-#1178 := (not #707)
-#1177 := (not #744)
-#1180 := (or #1014 #1015 #1177 #1178 #481 #395 #1179 #1002 #510)
-#1181 := [th-lemma arith assign-bounds 1 1 1 3 1 2 2 2]: #1180
-#1182 := [unit-resolution #1181 #891 #869 #1013 #836 #1176 #989 #1175 #1172]: #1014
-#1183 := (or #452 #1179 #1002 #510 #481)
-#1184 := [th-lemma arith assign-bounds 1 1 1 1]: #1183
-#1185 := [unit-resolution #1184 #891 #869 #989 #1172]: #452
-#1186 := [unit-resolution #696 #1185]: #693
-#1187 := [unit-resolution #1070 #1186 #1182]: false
-#1189 := [lemma #1187]: #1188
-#1168 := [unit-resolution #1189 #989 #1066]: #481
-#1159 := (or #539 #423 #510)
-#755 := (+ f7 #499)
-#812 := (<= #755 0::Int)
-#685 := (= f7 #488)
-#982 := (+ #133 #528)
-#983 := (<= #982 0::Int)
-#678 := (= #133 #517)
-#681 := (or #510 #678)
-#682 := [def-axiom]: #681
-#990 := [unit-resolution #682 #989]: #678
-#991 := (not #678)
-#992 := (or #991 #983)
-#993 := [th-lemma arith triangle-eq]: #992
-#994 := [unit-resolution #993 #990]: #983
-#684 := (>= #530 0::Int)
-#814 := (or #536 #684)
-#815 := [th-lemma arith triangle-eq]: #814
-#816 := [unit-resolution #815 #637]: #684
-#871 := (not #684)
-#995 := (not #983)
-#996 := (or #481 #995 #510 #539 #871)
-#997 := [th-lemma arith assign-bounds 1 1 1 1]: #996
-#1152 := [unit-resolution #997 #818 #816 #994 #989]: #481
-#687 := (or #482 #685)
-#688 := [def-axiom]: #687
-#1153 := [unit-resolution #688 #1152]: #685
-#876 := (not #685)
-#877 := (or #876 #812)
-#878 := [th-lemma arith triangle-eq]: #877
-#1154 := [unit-resolution #878 #1153]: #812
-#1001 := (not #812)
-#1016 := (or #423 #510 #1014 #1015 #1001 #1002)
-#1017 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1016
-#1155 := [unit-resolution #1017 #1154 #1013 #1066 #989 #869]: #1014
-#1003 := (or #452 #1001 #1002 #510 #995 #539 #871)
-#1004 := [th-lemma arith assign-bounds 1 1 2 1 1 1]: #1003
-#1156 := [unit-resolution #1004 #1154 #816 #869 #818 #994 #989]: #452
-#1157 := [unit-resolution #696 #1156]: #693
-#1158 := [unit-resolution #1070 #1157 #1155]: false
-#1160 := [lemma #1158]: #1159
-#1190 := [unit-resolution #1160 #989 #1066]: #539
-#984 := (>= #982 0::Int)
-#1021 := (or #991 #984)
-#1022 := [th-lemma arith triangle-eq]: #1021
-#1023 := [unit-resolution #1022 #990]: #984
-#1191 := [unit-resolution #688 #1168]: #685
-#1192 := [unit-resolution #878 #1191]: #812
-#1079 := (not #984)
-#1051 := (not #683)
-#1108 := (or #452 #1001 #1002 #482 #540 #1051 #1079)
-#1109 := [th-lemma arith assign-bounds -1/2 1/2 1 1/2 -1/2 1/2]: #1108
-#1193 := [unit-resolution #1109 #1192 #1023 #869 #1190 #1168 #897]: #452
-#1194 := [unit-resolution #1017 #1192 #1013 #1066 #989 #869]: #1014
-#1195 := [unit-resolution #1070 #1194]: #1007
-#1196 := [unit-resolution #696 #1195 #1193]: false
-#1198 := [lemma #1196]: #1197
-#1203 := [unit-resolution #1198 #1066]: #510
-#679 := (or #511 #677)
-#680 := [def-axiom]: #679
-#1209 := [unit-resolution #680 #1203]: #677
-#830 := (not #677)
-#958 := (or #830 #756)
-#959 := [th-lemma arith triangle-eq]: #958
-#1713 := [unit-resolution #959 #1209]: #756
-#750 := (<= #749 0::Int)
-#1268 := (not #750)
-#1550 := [unit-resolution #1031 #1028]: #954
-#1551 := [unit-resolution #706 #1550]: #423
-#1552 := (or #928 #1268 #424)
-#1553 := [th-lemma arith assign-bounds 1 -2]: #1552
-#1554 := [unit-resolution #1553 #1551 #1028]: #1268
-#703 := (or #424 #701)
-#704 := [def-axiom]: #703
-#1555 := [unit-resolution #704 #1551]: #701
-#909 := (not #701)
-#910 := (or #909 #750)
-#911 := [th-lemma arith triangle-eq]: #910
-#1556 := [unit-resolution #911 #1555 #1554]: false
-#1557 := [lemma #1556]: #928
-#758 := (+ #116 #557)
-#759 := (<= #758 0::Int)
-#670 := (= #116 #546)
-#673 := (or #539 #670)
-#674 := [def-axiom]: #673
-#819 := [unit-resolution #674 #818]: #670
-#804 := (not #670)
-#805 := (or #804 #759)
-#806 := [th-lemma arith triangle-eq]: #805
-#820 := [unit-resolution #806 #819]: #759
-#691 := (<= #501 0::Int)
-#785 := (or #507 #691)
-#786 := [th-lemma arith triangle-eq]: #785
-#787 := [unit-resolution #786 #638]: #691
-#757 := (>= #755 0::Int)
-#1705 := (or #481 #423)
-#1356 := (<= #1251 0::Int)
-#1439 := (not #1356)
-#754 := (>= #752 0::Int)
-#1434 := (or #988 #754)
-#1435 := [th-lemma arith farkas 1 1]: #1434
-#1436 := [unit-resolution #1435 #1067]: #754
-#1437 := [unit-resolution #1070 #1067]: #1007
-#1438 := [unit-resolution #696 #1437]: #453
-#797 := (not #754)
-#1440 := (or #797 #1439 #452)
-#1441 := [th-lemma arith assign-bounds 1 2]: #1440
-#1442 := [unit-resolution #1441 #1438 #1436]: #1439
-#694 := (= #167 #459)
-#697 := (or #452 #694)
-#698 := [def-axiom]: #697
-#1443 := [unit-resolution #698 #1438]: #694
-#1444 := (not #694)
-#1445 := (or #1444 #1356)
-#1446 := [th-lemma arith triangle-eq]: #1445
-#1447 := [unit-resolution #1446 #1443 #1442]: false
-#1448 := [lemma #1447]: #988
-#1362 := [hypothesis]: #453
-#1466 := [unit-resolution #698 #1362]: #694
-#1478 := (or #1444 #741)
-#1479 := [th-lemma arith triangle-eq]: #1478
-#1480 := [unit-resolution #1479 #1466]: #741
-#699 := (<= #472 0::Int)
-#789 := (or #478 #699)
-#790 := [th-lemma arith triangle-eq]: #789
-#791 := [unit-resolution #790 #639]: #699
-#1546 := (or #481 #452)
-#668 := (not #65)
-#734 := (<= #733 0::Int)
-#811 := (<= #760 0::Int)
-#1449 := (or #452 #1179 #510 #481)
-#1450 := [unit-resolution #1184 #869]: #1449
-#1451 := [unit-resolution #1450 #1172 #1362 #891]: #510
-#1452 := [unit-resolution #680 #1451]: #677
-#831 := (or #830 #811)
-#832 := [th-lemma arith triangle-eq]: #831
-#1453 := [unit-resolution #832 #1452]: #811
-#870 := (not #811)
-#1454 := (or #481 #511 #870 #539)
-#1035 := (or #481 #511 #870 #539 #871)
-#1036 := [th-lemma arith assign-bounds 1 1 1 1]: #1035
-#1455 := [unit-resolution #1036 #816]: #1454
-#1456 := [unit-resolution #1455 #1453 #891 #1451]: #539
-#671 := (or #540 #669)
-#672 := [def-axiom]: #671
-#1457 := [unit-resolution #672 #1456]: #669
-#776 := (not #669)
-#777 := (or #776 #762)
-#778 := [th-lemma arith triangle-eq]: #777
-#1458 := [unit-resolution #778 #1457]: #762
-#844 := (not #762)
-#1459 := (or #568 #844 #870 #481)
-#676 := (>= #559 0::Int)
-#771 := (or #565 #676)
-#772 := [th-lemma arith triangle-eq]: #771
-#773 := [unit-resolution #772 #636]: #676
-#823 := (not #676)
-#1387 := (or #568 #823 #844 #870 #871 #481)
-#1388 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1387
-#1460 := [unit-resolution #1388 #816 #773]: #1459
-#1461 := [unit-resolution #1460 #1458 #891 #1453]: #568
-#653 := (or #569 #655)
-#654 := [def-axiom]: #653
-#1462 := [unit-resolution #654 #1461]: #655
-#1263 := (not #655)
-#1463 := (or #1263 #1430)
-#1464 := [th-lemma arith triangle-eq]: #1463
-#1465 := [unit-resolution #1464 #1462]: #1430
-#1200 := (<= #743 0::Int)
-#1467 := [unit-resolution #1446 #1466]: #1356
-#1468 := (or #423 #1439 #481 #1015 #452)
-#1469 := [th-lemma arith assign-bounds 1 1 1 1]: #1468
-#1470 := [unit-resolution #1469 #891 #1013 #1362 #1467]: #423
-#1471 := [unit-resolution #704 #1470]: #701
-#1472 := [unit-resolution #911 #1471]: #750
-#1376 := (or #452 #365 #1268)
-#854 := (not #709)
-#1267 := (not #888)
-#1252 := [hypothesis]: #750
-#716 := (>= #414 0::Int)
-#641 := [not-or-elim #634]: #415
-#1215 := (or #420 #716)
-#1216 := [th-lemma arith triangle-eq]: #1215
-#1217 := [unit-resolution #1216 #641]: #716
-#1240 := (not #716)
-#1363 := (or #1267 #365 #1240 #1268 #1048 #452)
-#1364 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1363
-#1365 := [unit-resolution #1364 #1362 #1217 #1202 #1252 #907]: #1267
-#1219 := (or #854 #888)
-#1358 := [hypothesis]: #1267
-#1359 := [hypothesis]: #709
-#1220 := [th-lemma arith triangle-eq]: #1219
-#1360 := [unit-resolution #1220 #1359 #1358]: false
-#1361 := [lemma #1360]: #1219
-#1366 := [unit-resolution #1361 #1365]: #854
-#711 := (or #395 #709)
-#712 := [def-axiom]: #711
-#1367 := [unit-resolution #712 #1366]: #395
-#1368 := [unit-resolution #714 #1367]: #710
-#753 := (<= #747 0::Int)
-#1227 := (not #753)
-#1369 := (or #748 #365 #1240 #1268 #1048 #452)
-#1370 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1369
-#1371 := [unit-resolution #1370 #1362 #1217 #1202 #907 #1252]: #748
-#1372 := (or #916 #1227 #394)
-#1373 := [th-lemma arith assign-bounds 1 2]: #1372
-#1374 := [unit-resolution #1373 #1367 #1371]: #1227
-#1231 := (or #1230 #753)
-#1228 := [hypothesis]: #1227
-#1229 := [hypothesis]: #710
-#1232 := [th-lemma arith triangle-eq]: #1231
-#1233 := [unit-resolution #1232 #1229 #1228]: false
-#1234 := [lemma #1233]: #1231
-#1375 := [unit-resolution #1234 #1374 #1368]: false
-#1377 := [lemma #1375]: #1376
-#1473 := [unit-resolution #1377 #1472 #1362]: #365
-#719 := (or #366 #717)
-#720 := [def-axiom]: #719
-#1474 := [unit-resolution #720 #1473]: #717
-#860 := (not #717)
-#1475 := (or #860 #1200)
-#1476 := [th-lemma arith triangle-eq]: #1475
-#1477 := [unit-resolution #1476 #1474]: #1200
-#1481 := (or #394 #481 #1268)
-#1273 := (or #394 #481 #1014 #1015 #1268 #1048)
-#1274 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1273
-#1482 := [unit-resolution #1274 #907 #1448 #1013]: #1481
-#1483 := [unit-resolution #1482 #1472 #891]: #394
-#1484 := [unit-resolution #712 #1483]: #709
-#1485 := [unit-resolution #1361 #1484]: #888
-#724 := (>= #385 0::Int)
-#642 := [not-or-elim #634]: #386
-#1492 := (or #391 #724)
-#1493 := [th-lemma arith triangle-eq]: #1492
-#1494 := [unit-resolution #1493 #642]: #724
-#933 := (>= #761 0::Int)
-#1495 := (or #776 #933)
-#1496 := [th-lemma arith triangle-eq]: #1495
-#1497 := [unit-resolution #1496 #1457]: #933
-#1504 := (not #675)
-#1503 := (not #933)
-#1050 := (not #699)
-#1502 := (not #741)
-#1501 := (not #724)
-#1500 := (not #1200)
-#1499 := (not #649)
-#1505 := (or #734 #1498 #1499 #1179 #1002 #1500 #1501 #1502 #1050 #1503 #1504 #1267 #1240)
-#1506 := [th-lemma arith assign-bounds 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1]: #1505
-#1507 := [unit-resolution #1506 #1497 #869 #791 #1217 #1494 #1491 #1488 #1172 #1485 #1480 #1477 #1465]: #734
-#1064 := (>= #1062 0::Int)
-#1095 := (or #1094 #1064)
-#1090 := (not #1064)
-#1065 := [hypothesis]: #1090
-#1093 := [hypothesis]: #686
-#1096 := [th-lemma arith triangle-eq]: #1095
-#1097 := [unit-resolution #1096 #1093 #1065]: false
-#1098 := [lemma #1097]: #1095
-#1208 := [unit-resolution #1098 #1169]: #1064
-#1264 := (or #1263 #986)
-#1265 := [th-lemma arith triangle-eq]: #1264
-#1508 := [unit-resolution #1265 #1462]: #986
-#855 := (or #854 #748)
-#856 := [th-lemma arith triangle-eq]: #855
-#1509 := [unit-resolution #856 #1484]: #748
-#650 := (>= #588 0::Int)
-#901 := (or #594 #650)
-#902 := [th-lemma arith triangle-eq]: #901
-#903 := [unit-resolution #902 #635]: #650
-#723 := (<= #385 0::Int)
-#780 := (or #391 #723)
-#781 := [th-lemma arith triangle-eq]: #780
-#782 := [unit-resolution #781 #642]: #723
-#715 := (<= #414 0::Int)
-#880 := (or #420 #715)
-#881 := [th-lemma arith triangle-eq]: #880
-#882 := [unit-resolution #881 #641]: #715
-#861 := (or #860 #745)
-#795 := (not #745)
-#1204 := [hypothesis]: #795
-#1205 := [hypothesis]: #717
-#862 := [th-lemma arith triangle-eq]: #861
-#1206 := [unit-resolution #862 #1205 #1204]: false
-#1207 := [lemma #1206]: #861
-#1510 := [unit-resolution #1207 #1474]: #745
-#947 := (not #715)
-#822 := (not #723)
-#1049 := (not #691)
-#948 := (not #650)
-#1511 := (or #735 #1269 #948 #1090 #1049 #795 #822 #1439 #1015 #844 #823 #916 #947)
-#1512 := [th-lemma arith assign-bounds 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1]: #1511
-#1513 := [unit-resolution #1512 #1510 #787 #1013 #882 #782 #903 #773 #1458 #1509 #1508 #1208 #1467]: #735
-#949 := (not #734)
-#1514 := (or #64 #949 #899)
-#1515 := [th-lemma arith triangle-eq]: #1514
-#1516 := [unit-resolution #1515 #1513 #1507]: #64
-#667 := (not #64)
-#647 := (or #667 #668)
-#644 := (not #66)
-#660 := (iff #644 #647)
-#648 := (not #647)
-#663 := (not #648)
-#662 := (iff #663 #647)
-#659 := [rewrite]: #662
-#664 := (iff #644 #663)
-#665 := (iff #66 #648)
-#666 := [rewrite]: #665
-#661 := [monotonicity #666]: #664
-#657 := [trans #661 #659]: #660
-#645 := [not-or-elim #634]: #644
-#658 := [mp #645 #657]: #647
-#1517 := [unit-resolution #658 #1516]: #668
-#736 := (* -1::Int f13)
-#737 := (+ f4 #736)
-#739 := (>= #737 0::Int)
-#1431 := (+ #235 #354)
-#1433 := (>= #1431 0::Int)
-#726 := (= #235 #343)
-#1518 := (or #337 #795 #822 #452 #1439 #481 #1015 #916 #947)
-#1519 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1518
-#1520 := [unit-resolution #1519 #891 #1013 #882 #782 #1362 #1510 #1509 #1467]: #337
-#729 := (or #336 #726)
-#730 := [def-axiom]: #729
-#1521 := [unit-resolution #730 #1520]: #726
-#1522 := (not #726)
-#1523 := (or #1522 #1433)
-#1524 := [th-lemma arith triangle-eq]: #1523
-#1525 := [unit-resolution #1524 #1521]: #1433
-#731 := (<= #356 0::Int)
-#643 := [not-or-elim #634]: #357
-#767 := (or #362 #731)
-#768 := [th-lemma arith triangle-eq]: #767
-#769 := [unit-resolution #768 #643]: #731
-#824 := (not #731)
-#1526 := (not #1433)
-#1527 := (or #739 #1526 #1500 #1501 #1502 #1050 #1267 #1240 #824 #844 #823 #870 #871 #1268 #1048)
-#1528 := [th-lemma arith assign-bounds -1 1 -1 -1 1 2 -2 1 1 -1 1 -1 1 -1]: #1527
-#1529 := [unit-resolution #1528 #1458 #791 #907 #1217 #1494 #769 #773 #816 #1453 #1472 #1485 #1480 #1477 #1525]: #739
-#738 := (<= #737 0::Int)
-#1432 := (<= #1431 0::Int)
-#1530 := (or #1522 #1432)
-#1531 := [th-lemma arith triangle-eq]: #1530
-#1532 := [unit-resolution #1531 #1521]: #1432
-#1533 := [unit-resolution #959 #1452]: #756
-#1407 := (or #909 #751)
-#1408 := [th-lemma arith triangle-eq]: #1407
-#1534 := [unit-resolution #1408 #1471]: #751
-#732 := (>= #356 0::Int)
-#1535 := (or #362 #732)
-#1536 := [th-lemma arith triangle-eq]: #1535
-#1537 := [unit-resolution #1536 #643]: #732
-#838 := (not #751)
-#917 := (not #756)
-#1539 := (not #732)
-#1538 := (not #1432)
-#1540 := (or #738 #1538 #795 #822 #1439 #1015 #916 #947 #1539 #1503 #1504 #917 #1051 #838 #1178)
-#1541 := [th-lemma arith assign-bounds -1 1 -1 -1 1 2 -2 1 1 -1 1 -1 1 -1]: #1540
-#1542 := [unit-resolution #1541 #1510 #1013 #836 #882 #782 #1537 #1488 #897 #1534 #1509 #1533 #1497 #1467 #1532]: #738
-#765 := (not #739)
-#825 := (not #738)
-#1543 := (or #65 #825 #765)
-#1544 := [th-lemma arith triangle-eq]: #1543
-#1545 := [unit-resolution #1544 #1542 #1529 #1517]: false
-#1547 := [lemma #1545]: #1546
-#1572 := [unit-resolution #1547 #1362]: #481
-#1594 := (or #1027 #1502 #482 #1050 #1048 #394)
-#1595 := [th-lemma arith assign-bounds -1 -1 1 -1 1]: #1594
-#1596 := [unit-resolution #1595 #1480 #907 #1572 #1557 #791]: #394
-#1597 := [unit-resolution #712 #1596]: #709
-#1598 := [unit-resolution #1361 #1597]: #888
-#1573 := [unit-resolution #688 #1572]: #685
-#1574 := [unit-resolution #878 #1573]: #812
-#1680 := (or #1161 #482 #1001)
-#1681 := [th-lemma arith assign-bounds 2 -1]: #1680
-#1682 := [unit-resolution #1681 #1574 #1572]: #1161
-#1549 := [hypothesis]: #870
-#1558 := [hypothesis]: #677
-#1559 := [unit-resolution #832 #1558 #1549]: false
-#1560 := [lemma #1559]: #831
-#1561 := [unit-resolution #1560 #1549]: #830
-#1562 := [unit-resolution #680 #1561]: #511
-#1304 := (or #811 #510 #995)
-#1305 := [th-lemma arith assign-bounds 2 1]: #1304
-#1563 := [unit-resolution #1305 #1562 #1549]: #995
-#1564 := [unit-resolution #682 #1562]: #678
-#1565 := [unit-resolution #993 #1564 #1563]: false
-#1566 := [lemma #1565]: #811
-#1575 := (or #452 #1001 #870 #539)
-#1040 := (or #452 #1001 #1002 #870 #539 #871)
-#1041 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1040
-#1576 := [unit-resolution #1041 #869 #816]: #1575
-#1577 := [unit-resolution #1576 #1574 #1566 #1362]: #539
-#1578 := [unit-resolution #672 #1577]: #669
-#1579 := [unit-resolution #1496 #1578]: #933
-#1636 := (or #423 #452)
-#886 := (+ #98 #586)
-#1570 := (>= #886 0::Int)
-#656 := (= #98 #575)
-#1580 := (or #452 #1001 #482 #540 #1079)
-#1581 := [unit-resolution #1109 #869 #897]: #1580
-#1582 := [unit-resolution #1581 #1577 #1572 #1362 #1574]: #1079
-#1548 := [hypothesis]: #1079
-#1567 := [hypothesis]: #678
-#1568 := [unit-resolution #1022 #1567 #1548]: false
-#1569 := [lemma #1568]: #1021
-#1583 := [unit-resolution #1569 #1582]: #991
-#1584 := [unit-resolution #682 #1583]: #510
-#1585 := [unit-resolution #680 #1584]: #677
-#1586 := [unit-resolution #959 #1585]: #756
-#1587 := (or #569 #1504 #917 #1051 #1503 #1439 #1015 #423 #452)
-#1588 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1587
-#1589 := [unit-resolution #1588 #1066 #897 #1362 #1013 #1488 #1586 #1579 #1467]: #569
-#651 := (or #568 #656)
-#652 := [def-axiom]: #651
-#1590 := [unit-resolution #652 #1589]: #656
-#922 := (not #656)
-#1591 := (or #922 #1570)
-#1592 := [th-lemma arith triangle-eq]: #1591
-#1593 := [unit-resolution #1592 #1590]: #1570
-#1599 := [unit-resolution #778 #1578]: #762
-#1602 := (or #365 #1267 #1027 #423 #452)
-#1600 := (or #365 #1267 #1240 #1027 #1048 #423 #452)
-#1601 := [th-lemma arith assign-bounds 1 1 1 1 2 1]: #1600
-#1603 := [unit-resolution #1601 #907 #1217]: #1602
-#1604 := [unit-resolution #1603 #1066 #1557 #1362 #1598]: #365
-#1605 := [unit-resolution #720 #1604]: #717
-#1606 := [unit-resolution #1476 #1605]: #1200
-#1607 := (not #1570)
-#1608 := (or #734 #1499 #1500 #1501 #1502 #1050 #823 #1267 #1240 #1001 #1002 #844 #1607 #870 #871)
-#1609 := [th-lemma arith assign-bounds -1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -2 2]: #1608
-#1610 := [unit-resolution #1609 #1606 #816 #869 #791 #1217 #1494 #1491 #1599 #1566 #1574 #1598 #773 #1480 #1593]: #734
-#1611 := [unit-resolution #856 #1597]: #748
-#887 := (<= #886 0::Int)
-#923 := (or #922 #887)
-#915 := (not #887)
-#920 := [hypothesis]: #915
-#921 := [hypothesis]: #656
-#924 := [th-lemma arith triangle-eq]: #923
-#925 := [unit-resolution #924 #921 #920]: false
-#926 := [lemma #925]: #923
-#1612 := [unit-resolution #926 #1590]: #887
-#940 := (or #876 #757)
-#941 := [th-lemma arith triangle-eq]: #940
-#1613 := [unit-resolution #941 #1573]: #757
-#1614 := [unit-resolution #1207 #1605]: #745
-#794 := (not #757)
-#1615 := (or #735 #948 #795 #822 #1439 #1015 #1504 #916 #947 #794 #1049 #1503 #915 #917 #1051)
-#1616 := [th-lemma arith assign-bounds -1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -2 2]: #1615
-#1617 := [unit-resolution #1616 #1614 #897 #787 #1013 #882 #782 #903 #1488 #1613 #1612 #1611 #1586 #1579 #1467]: #735
-#1618 := [unit-resolution #1515 #1617 #1610]: #64
-#1619 := [unit-resolution #658 #1618]: #668
-#740 := (+ f12 #354)
-#1571 := (<= #740 0::Int)
-#725 := (= f12 #343)
-#1620 := (or #336 #1500 #1501 #1267 #1240 #423)
-#1621 := [th-lemma arith assign-bounds 1 1 1 1 1]: #1620
-#1622 := [unit-resolution #1621 #1066 #1494 #1217 #1598 #1606]: #336
-#727 := (or #337 #725)
-#728 := [def-axiom]: #727
-#1623 := [unit-resolution #728 #1622]: #725
-#1394 := (not #725)
-#1624 := (or #1394 #1571)
-#1625 := [th-lemma arith triangle-eq]: #1624
-#1626 := [unit-resolution #1625 #1623]: #1571
-#1627 := (not #1571)
-#1628 := (or #738 #1627 #1500 #1501 #1539 #1504 #917 #1051 #1503 #1439 #1015 #1177 #1178)
-#1629 := [th-lemma arith assign-bounds 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1]: #1628
-#1630 := [unit-resolution #1629 #1175 #1013 #836 #1494 #1537 #1488 #1586 #1579 #897 #1467 #1606 #1626]: #738
-#742 := (>= #740 0::Int)
-#1395 := (or #1394 #742)
-#1396 := [th-lemma arith triangle-eq]: #1395
-#1631 := [unit-resolution #1396 #1623]: #742
-#796 := (not #742)
-#1632 := (or #739 #796 #795 #822 #824 #823 #870 #871 #844 #1502 #1050 #1027 #1048)
-#1633 := [th-lemma arith assign-bounds 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1]: #1632
-#1634 := [unit-resolution #1633 #1614 #791 #907 #782 #769 #773 #816 #1631 #1599 #1566 #1557 #1480]: #739
-#1635 := [unit-resolution #1544 #1634 #1630 #1619]: false
-#1637 := [lemma #1635]: #1636
-#1683 := [unit-resolution #1637 #1362]: #423
-#1684 := [unit-resolution #704 #1683]: #701
-#1685 := [unit-resolution #911 #1684]: #750
-#1686 := [unit-resolution #1377 #1685 #1362]: #365
-#1687 := [unit-resolution #720 #1686]: #717
-#1688 := [unit-resolution #1476 #1687]: #1200
-#1689 := [unit-resolution #1207 #1687]: #745
-#1663 := (or #735 #844 #916 #795 #1439 #794 #917 #1503)
-#1652 := [hypothesis]: #1356
-#784 := [hypothesis]: #745
-#913 := [hypothesis]: #748
-#889 := [hypothesis]: #762
-#1653 := [hypothesis]: #933
-#898 := [hypothesis]: #756
-#788 := [hypothesis]: #757
-#1654 := [unit-resolution #1616 #900 #897 #787 #1013 #882 #782 #903 #1488 #788 #784 #913 #898 #1653 #1652]: #915
-#1655 := [unit-resolution #926 #1654]: #922
-#1656 := [unit-resolution #652 #1655]: #568
-#1657 := [unit-resolution #654 #1656]: #655
-#1658 := [unit-resolution #1265 #1657]: #986
-#1659 := (or #1064 #794 #1504 #569 #917 #1051 #1503)
-#1660 := [th-lemma arith assign-bounds -1 2 -2 -2 2 -2]: #1659
-#1661 := [unit-resolution #1660 #1656 #897 #788 #898 #1488 #1653]: #1064
-#1662 := [unit-resolution #1512 #1661 #1658 #787 #1013 #882 #782 #903 #773 #889 #913 #784 #900 #1652]: false
-#1664 := [lemma #1662]: #1663
-#1690 := [unit-resolution #1664 #1599 #1611 #1689 #1467 #1613 #1586 #1579]: #735
-#1650 := (or #739 #795 #844 #1502 #1500 #1268 #1267)
-#1642 := [hypothesis]: #741
-#766 := [hypothesis]: #765
-#1643 := [unit-resolution #1633 #766 #791 #907 #782 #769 #773 #816 #784 #889 #1566 #1557 #1642]: #796
-#1385 := [hypothesis]: #888
-#1644 := [hypothesis]: #1200
-#1645 := [unit-resolution #1528 #766 #791 #907 #1217 #1494 #769 #1644 #889 #1566 #1252 #1385 #1642 #816 #773]: #1526
-#1638 := [hypothesis]: #1526
-#1639 := [hypothesis]: #726
-#1640 := [unit-resolution #1524 #1639 #1638]: false
-#1641 := [lemma #1640]: #1523
-#1646 := [unit-resolution #1641 #1645]: #1522
-#1647 := [unit-resolution #730 #1646]: #336
-#1648 := [unit-resolution #728 #1647]: #725
-#1649 := [unit-resolution #1396 #1648 #1643]: false
-#1651 := [lemma #1649]: #1650
-#1691 := [unit-resolution #1651 #1689 #1599 #1480 #1688 #1685 #1598]: #739
-#1692 := [unit-resolution #1408 #1684]: #751
-#1675 := (or #738 #795 #916 #917 #1503 #1439 #838)
-#813 := [hypothesis]: #751
-#1668 := [hypothesis]: #825
-#1669 := [unit-resolution #1541 #1668 #1013 #836 #882 #782 #1537 #1652 #784 #813 #913 #898 #1653 #897 #1488]: #1538
-#1665 := [hypothesis]: #1538
-#1666 := [unit-resolution #1531 #1639 #1665]: false
-#1667 := [lemma #1666]: #1530
-#1670 := [unit-resolution #1667 #1669]: #1522
-#1671 := [unit-resolution #730 #1670]: #336
-#1672 := [unit-resolution #728 #1671]: #725
-#1673 := [unit-resolution #1625 #1672]: #1571
-#1674 := [th-lemma arith farkas 1/2 -1/2 1 -1 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 1/2 -1/2 1 #784 #782 #913 #882 #1488 #898 #897 #1653 #1652 #1013 #1673 #1537 #1668 #813 #836 #1671]: false
-#1676 := [lemma #1674]: #1675
-#1693 := [unit-resolution #1676 #1689 #1611 #1586 #1579 #1467 #1692]: #738
-#1694 := [unit-resolution #1544 #1693 #1691]: #65
-#1695 := [unit-resolution #658 #1694]: #667
-#1696 := [unit-resolution #1515 #1695 #1690]: #949
-#1697 := [unit-resolution #1506 #1696 #869 #791 #1217 #1494 #1688 #1579 #1682 #1598 #1480 #1488 #1491]: #1498
-#1698 := [unit-resolution #1609 #1696 #816 #869 #791 #1217 #1494 #1688 #1599 #1566 #1574 #1598 #773 #1480 #1491]: #1607
-#1677 := [hypothesis]: #1607
-#1678 := [unit-resolution #1592 #921 #1677]: false
-#1679 := [lemma #1678]: #1591
-#1699 := [unit-resolution #1679 #1698]: #922
-#1700 := [unit-resolution #652 #1699]: #568
-#1701 := [unit-resolution #654 #1700]: #655
-#1702 := [unit-resolution #1464 #1701 #1697]: false
-#1703 := [lemma #1702]: #452
-#1704 := [th-lemma arith farkas 1 1 1 1 1 #1703 #891 #1013 #1066 #1448]: false
-#1706 := [lemma #1704]: #1705
-#1714 := [unit-resolution #1706 #1066]: #481
-#1715 := [unit-resolution #688 #1714]: #685
-#1716 := [unit-resolution #941 #1715]: #757
-#1717 := [unit-resolution #696 #1703]: #693
-#1044 := (or #1007 #754)
-#1045 := [th-lemma arith triangle-eq]: #1044
-#1718 := [unit-resolution #1045 #1717]: #754
-#1076 := (or #838 #423 #1027)
-#1077 := [th-lemma arith assign-bounds 2 1]: #1076
-#1719 := [unit-resolution #1077 #1066 #1557]: #838
-#1720 := (or #750 #751)
-#1721 := [th-lemma arith farkas 1 1]: #1720
-#1722 := [unit-resolution #1721 #1719]: #750
-#1723 := [unit-resolution #1234 #1709]: #753
-#1726 := (or #1177 #1268 #394 #365 #1227)
-#1724 := (or #1177 #1268 #394 #365 #1227 #1240)
-#1725 := [th-lemma arith assign-bounds 1 2 2 2 2]: #1724
-#1727 := [unit-resolution #1725 #1217]: #1726
-#1728 := [unit-resolution #1727 #1723 #1722 #1122 #1175]: #365
-#1729 := [unit-resolution #720 #1728]: #717
-#1730 := [unit-resolution #1207 #1729]: #745
-#821 := (not #759)
-#1731 := (or #568 #823 #797 #1050 #794 #1049 #821 #394 #1048 #1027 #917 #1051)
-#1732 := [th-lemma arith assign-bounds 1 1 1 2 2 1 1 1 1 1 1]: #1731
-#1733 := [unit-resolution #1732 #1122 #897 #787 #791 #907 #773 #1716 #1718 #820 #1713 #1557]: #568
-#1734 := [unit-resolution #654 #1733]: #655
-#1735 := [unit-resolution #1265 #1734]: #986
-#1736 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 1 -1 1 -3 3 1 -2 2 -2 2 -1 #1735 #903 #773 #1730 #782 #882 #1718 #791 #1716 #787 #820 #907 #1557 #1713 #897 #1712]: #735
-#1707 := (>= #758 0::Int)
-#1737 := (or #804 #1707)
-#1738 := [th-lemma arith triangle-eq]: #1737
-#1739 := [unit-resolution #1738 #819]: #1707
-#1740 := [unit-resolution #878 #1715]: #812
-#1741 := [unit-resolution #1476 #1729]: #1200
-#1742 := [unit-resolution #1464 #1734]: #1430
-#1743 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 1 -1 1 -3 3 1 -2 2 -2 2 -1 #1742 #1491 #1488 #1741 #1494 #1217 #1448 #1013 #1740 #869 #1739 #836 #1175 #1566 #816 #1723]: #734
-#1744 := [unit-resolution #1515 #1743 #1736]: #64
-#1745 := [unit-resolution #1373 #1723 #1122]: #916
-#1746 := (or #888 #748)
-#1747 := [th-lemma arith farkas 1 1]: #1746
-#1748 := [unit-resolution #1747 #1745]: #888
-#1749 := [unit-resolution #1621 #1741 #1494 #1217 #1066 #1748]: #336
-#1750 := [unit-resolution #728 #1749]: #725
-#1751 := [unit-resolution #1396 #1750]: #742
-#1060 := (or #539 #795 #796 #739)
-#770 := [hypothesis]: #742
-#1025 := (or #510 #795 #796 #739 #539)
-#998 := [unit-resolution #997 #989 #816 #818 #994]: #481
-#999 := [unit-resolution #688 #998]: #685
-#1000 := [unit-resolution #878 #999]: #812
-#1005 := [unit-resolution #1004 #989 #816 #869 #818 #994 #1000]: #452
-#1006 := [unit-resolution #696 #1005]: #693
-#1010 := [unit-resolution #1009 #1006]: #988
-#1018 := [unit-resolution #1017 #989 #1013 #869 #1000 #1010]: #423
-#1019 := [unit-resolution #704 #1018]: #701
-#1020 := [unit-resolution #911 #1019]: #750
-#1024 := [th-lemma arith farkas -1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1 #907 #784 #782 #820 #773 #770 #769 #766 #1023 #897 #1010 #1013 #1020]: false
-#1026 := [lemma #1024]: #1025
-#987 := [unit-resolution #1026 #818 #770 #766 #784]: #510
-#1032 := [unit-resolution #680 #987]: #677
-#1033 := [unit-resolution #959 #1032]: #756
-#1034 := [unit-resolution #832 #1032]: #811
-#1037 := [unit-resolution #1036 #987 #816 #818 #1034]: #481
-#1038 := [unit-resolution #688 #1037]: #685
-#1039 := [unit-resolution #878 #1038]: #812
-#1042 := [unit-resolution #1041 #818 #869 #816 #1034 #1039]: #452
-#1043 := [unit-resolution #696 #1042]: #693
-#1046 := [unit-resolution #1045 #1043]: #754
-#1047 := [unit-resolution #941 #1038]: #757
-#1052 := (or #1027 #1048 #796 #824 #739 #794 #1049 #797 #1050 #795 #822 #821 #823 #917 #1051)
-#1053 := [th-lemma arith assign-bounds -1 -1 1 1 -2 2 -1 1 -1 1 1 -1 -1 1]: #1052
-#1054 := [unit-resolution #1053 #1047 #787 #791 #907 #782 #769 #766 #770 #784 #897 #1046 #820 #1033 #773]: #1027
-#1055 := [unit-resolution #1031 #1054]: #954
-#1056 := [unit-resolution #706 #1055]: #423
-#1057 := [unit-resolution #704 #1056]: #701
-#1058 := [unit-resolution #911 #1057]: #750
-#1059 := [th-lemma arith farkas 1/2 -1/2 1 -1 -1/2 1/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1 #1046 #791 #1047 #787 #1058 #907 #784 #782 #820 #773 #770 #769 #766 #1033 #897 #1056]: false
-#1061 := [lemma #1059]: #1060
-#1752 := [unit-resolution #1061 #1751 #818 #1730]: #739
-#1753 := [unit-resolution #1625 #1750]: #1571
-#1754 := (not #1707)
-#1755 := (or #738 #1504 #1627 #1500 #1501 #1539 #1178 #1177 #1001 #1002 #1014 #1015 #870 #871 #1754)
-#1756 := [th-lemma arith assign-bounds 1 1 1 -1 -1 1 -1 2 -2 1 -1 1 -1 -1]: #1755
-#1757 := [unit-resolution #1756 #1741 #869 #1013 #836 #1494 #1537 #1488 #1566 #1740 #1448 #1175 #816 #1753 #1739]: #738
-#1758 := [unit-resolution #1544 #1757 #1752]: #65
-#1759 := [unit-resolution #658 #1758 #1744]: false
-#1761 := [lemma #1759]: #1760
-#1774 := [unit-resolution #1761 #818 #1066]: #394
-#1775 := [unit-resolution #712 #1774]: #709
-#1776 := [unit-resolution #1361 #1775]: #888
-#1779 := (or #1177 #1268 #1267 #365 #395)
-#1777 := (or #1177 #1268 #1267 #1240 #365 #395)
-#1778 := [th-lemma arith assign-bounds 1 2 2 2 2]: #1777
-#1780 := [unit-resolution #1778 #1217]: #1779
-#1781 := [unit-resolution #1780 #1776 #1722 #1774 #1175]: #365
-#1782 := [unit-resolution #720 #1781]: #717
-#1783 := [unit-resolution #1476 #1782]: #1200
-#1784 := [unit-resolution #1207 #1782]: #745
-#1785 := [unit-resolution #1621 #1783 #1494 #1217 #1066 #1776]: #336
-#1786 := [unit-resolution #728 #1785]: #725
-#1787 := [unit-resolution #1396 #1786]: #742
-#1788 := [unit-resolution #1061 #1787 #818 #1784]: #739
-#1789 := [unit-resolution #1625 #1786]: #1571
-#1790 := [unit-resolution #1756 #1789 #869 #1013 #836 #1494 #1537 #1783 #1566 #1740 #1448 #1175 #816 #1488 #1739]: #738
-#1791 := [unit-resolution #1544 #1790 #1788]: #65
-#1792 := [unit-resolution #658 #1791]: #667
-#1793 := [unit-resolution #856 #1775]: #748
-#1772 := (or #735 #795 #1001 #1754 #916)
-#1284 := [hypothesis]: #812
-#1762 := [hypothesis]: #1707
-#1764 := (or #915 #1001 #1754 #735 #795 #916)
-#904 := [hypothesis]: #887
-#1763 := [th-lemma arith farkas 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 #1488 #1448 #1013 #1284 #869 #1762 #903 #900 #784 #782 #882 #913 #904]: false
-#1765 := [lemma #1763]: #1764
-#1766 := [unit-resolution #1765 #900 #1762 #1284 #784 #913]: #915
-#1767 := [unit-resolution #926 #1766]: #922
-#1768 := [unit-resolution #652 #1767]: #568
-#1769 := [unit-resolution #654 #1768]: #655
-#1770 := [unit-resolution #1265 #1769]: #986
-#1771 := [th-lemma arith farkas -1 1 1 -1 1 1 1 -1 1 -1 -1 -1 -2 1 #903 #900 #1488 #784 #782 #882 #1448 #1013 #1284 #869 #1762 #913 #1768 #1770]: false
-#1773 := [lemma #1771]: #1772
-#1794 := [unit-resolution #1773 #1784 #1740 #1739 #1793]: #735
-#1795 := [unit-resolution #1515 #1794 #1792]: #949
-#1796 := (or #1607 #823 #797 #1050 #794 #1049 #821 #1499 #734 #1500 #1501 #1240 #1267)
-#1797 := [th-lemma arith assign-bounds 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1]: #1796
-#1798 := [unit-resolution #1797 #1795 #787 #791 #1217 #1494 #773 #1716 #1718 #820 #1776 #1783 #1491]: #1607
-#1799 := [unit-resolution #1679 #1798]: #922
-#1800 := [unit-resolution #652 #1799]: #568
-#1801 := [unit-resolution #654 #1800]: #655
-#1802 := [unit-resolution #1464 #1801]: #1430
-#1803 := [th-lemma arith farkas -1/2 -1/2 1/2 -3/2 3/2 1/2 -1 1 -1 1 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1 #1488 #1448 #1013 #1740 #869 #1739 #836 #1175 #1566 #816 #1802 #1491 #1795 #1783 #1494 #1217 #1776 #1774]: false
-#1805 := [lemma #1803]: #1804
-#1806 := [unit-resolution #1805 #1066]: #539
-#1807 := (or #741 #797 #794 #1049 #917 #1051 #540)
-#1808 := [th-lemma arith assign-bounds -1 -2 2 -2 2 -2]: #1807
-#1809 := [unit-resolution #1808 #1716 #787 #897 #1718 #1713 #1806]: #741
-#1810 := (or #394 #794 #1049 #1048 #1027 #917 #1051 #423 #540)
-#1811 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1810
-#1812 := [unit-resolution #1811 #1066 #787 #897 #907 #1806 #1716 #1713 #1557]: #394
-#1813 := [unit-resolution #712 #1812]: #709
-#1814 := [unit-resolution #1361 #1813]: #888
-#1815 := (or #1161 #1049 #453 #482 #511)
-#1816 := [th-lemma arith assign-bounds -1 1 1 1]: #1815
-#1817 := [unit-resolution #1816 #1714 #787 #1703 #1203]: #1161
-#1818 := [unit-resolution #1780 #1814 #1722 #1812 #1175]: #365
-#1819 := [unit-resolution #720 #1818]: #717
-#1820 := [unit-resolution #1476 #1819]: #1200
-#1821 := [unit-resolution #672 #1806]: #669
-#1822 := [unit-resolution #1496 #1821]: #933
-#1823 := [unit-resolution #1207 #1819]: #745
-#1826 := (or #1356 #453)
-#1824 := (or #1356 #453 #1014)
-#1825 := [th-lemma arith assign-bounds 2 -1]: #1824
-#1827 := [unit-resolution #1825 #1448]: #1826
-#1828 := [unit-resolution #1827 #1703]: #1356
-#1829 := [unit-resolution #778 #1821]: #762
-#1830 := [unit-resolution #856 #1813]: #748
-#1831 := [unit-resolution #1664 #1830 #1829 #1822 #1828 #1716 #1713 #1823]: #735
-#1832 := [unit-resolution #1651 #1820 #1829 #1809 #1823 #1722 #1814]: #739
-#1833 := [unit-resolution #1621 #1820 #1494 #1217 #1066 #1814]: #336
-#1834 := [unit-resolution #728 #1833]: #725
-#1835 := [unit-resolution #1625 #1834]: #1571
-#1836 := [unit-resolution #1629 #1835 #1013 #836 #1494 #1537 #1822 #1713 #1820 #1175 #1828 #897 #1488]: #738
-#1837 := [unit-resolution #1544 #1836 #1832]: #65
-#1838 := [unit-resolution #658 #1837]: #667
-#1839 := [unit-resolution #1515 #1838 #1831]: #949
-#1840 := [unit-resolution #1506 #1839 #869 #791 #1217 #1494 #1822 #1820 #1817 #1814 #1809 #1488 #1491]: #1498
-#1073 := (or #759 #540 #844)
-#1074 := [th-lemma arith assign-bounds 2 -1]: #1073
-#1841 := [unit-resolution #1074 #1829 #1806]: #759
-#1842 := [unit-resolution #1797 #1839 #787 #791 #1217 #1494 #773 #1716 #1718 #1841 #1814 #1820 #1491]: #1607
-#1843 := [unit-resolution #1679 #1842]: #922
-#1844 := [unit-resolution #652 #1843]: #568
-#1845 := [unit-resolution #654 #1844]: #655
-#1846 := [unit-resolution #1464 #1845 #1840]: false
-#1847 := [lemma #1846]: #423
-#1849 := [unit-resolution #704 #1847]: #701
-#1850 := [unit-resolution #1408 #1849]: #751
-#1354 := (or #539 #511 #365 #838)
-#1335 := [hypothesis]: #510
-#1336 := [unit-resolution #680 #1335]: #677
-#1337 := [unit-resolution #832 #1336]: #811
-#1338 := [unit-resolution #1036 #818 #816 #1335 #1337]: #481
-#1339 := [unit-resolution #688 #1338]: #685
-#1340 := [unit-resolution #878 #1339]: #812
-#1341 := [unit-resolution #1041 #1340 #869 #818 #1337 #816]: #452
-#1342 := [unit-resolution #696 #1341]: #693
-#1343 := [unit-resolution #1045 #1342]: #754
-#1344 := (or #983 #511 #870)
-#1345 := [th-lemma arith assign-bounds 2 -1]: #1344
-#1346 := [unit-resolution #1345 #1337 #1335]: #983
-#1347 := [unit-resolution #941 #1339]: #757
-#1289 := (or #539 #794 #1227 #995 #838 #365 #1001 #870)
-#1282 := [hypothesis]: #983
-#1283 := [hypothesis]: #753
-#890 := [hypothesis]: #811
-#1285 := [unit-resolution #1041 #818 #869 #1284 #890 #816]: #452
-#1286 := [unit-resolution #696 #1285]: #693
-#1287 := [unit-resolution #1045 #1286]: #754
-#1288 := [th-lemma arith farkas 2 2 1 1 1 1 1 1 1 1 1 1 #1287 #791 #788 #1283 #1217 #787 #816 #818 #1282 #813 #836 #1202]: false
-#1290 := [lemma #1288]: #1289
-#1348 := [unit-resolution #1290 #1347 #818 #1346 #813 #1202 #1340 #1337]: #1227
-#1349 := [unit-resolution #1234 #1348]: #1230
-#1350 := [unit-resolution #714 #1349]: #394
-#1351 := [unit-resolution #712 #1350]: #709
-#1352 := [unit-resolution #1220 #1351]: #888
-#1353 := [th-lemma arith farkas 1 -1 -1 1 -1 -1 -1 1 1 #1352 #1347 #1217 #787 #1335 #1350 #1343 #791 #1202]: false
-#1355 := [lemma #1353]: #1354
-#1851 := [unit-resolution #1355 #818 #1850 #1202]: #511
-#1852 := [unit-resolution #911 #1849]: #750
-#1199 := (+ #218 #383)
-#1201 := (>= #1199 0::Int)
-#718 := (= #218 #372)
-#721 := (or #365 #718)
-#722 := [def-axiom]: #721
-#1226 := [unit-resolution #722 #1202]: #718
-#1235 := (not #718)
-#1236 := (or #1235 #1201)
-#1237 := [th-lemma arith triangle-eq]: #1236
-#1238 := [unit-resolution #1237 #1226]: #1201
-#1223 := (not #1201)
-#1278 := (or #481 #1268 #735 #1223 #510)
-#1214 := [hypothesis]: #1201
-#1253 := [unit-resolution #1184 #1172 #869 #989 #891]: #452
-#1254 := [unit-resolution #696 #1253]: #693
-#1255 := [unit-resolution #1070 #1254]: #988
-#1256 := [unit-resolution #997 #891 #816 #989 #994]: #539
-#1257 := [unit-resolution #672 #1256]: #669
-#1258 := [unit-resolution #778 #1257]: #762
-#1259 := (or #568 #540 #844 #823 #510)
-#1260 := [th-lemma arith assign-bounds 1 1 1 1]: #1259
-#1261 := [unit-resolution #1260 #1258 #773 #989 #1256]: #568
-#1262 := [unit-resolution #654 #1261]: #655
-#1266 := [unit-resolution #1265 #1262]: #986
-#1270 := (or #1267 #1240 #1268 #1048 #844 #1049 #823 #1090 #1014 #1015 #1223 #822 #1269 #948 #735)
-#1271 := [th-lemma arith assign-bounds -1 2 -2 1 1 -1 -1 1 -1 -1 1 1 -1 1]: #1270
-#1272 := [unit-resolution #1271 #1258 #787 #1013 #907 #1217 #782 #900 #773 #1266 #1255 #1252 #1208 #903 #1214]: #1267
-#1275 := [unit-resolution #1274 #891 #907 #1013 #1255 #1252]: #394
-#1276 := [unit-resolution #712 #1275]: #709
-#1277 := [unit-resolution #1220 #1276 #1272]: false
-#1279 := [lemma #1277]: #1278
-#1853 := [unit-resolution #1279 #1851 #900 #1238 #1852]: #481
-#1854 := [unit-resolution #688 #1853]: #685
-#1855 := [unit-resolution #878 #1854]: #812
-#1311 := (or #539 #510 #395 #838 #1001)
-#1306 := [unit-resolution #1305 #994 #989]: #811
-#1307 := [unit-resolution #1041 #818 #869 #1284 #1306 #816]: #452
-#1308 := [unit-resolution #696 #1307]: #693
-#1309 := [unit-resolution #1045 #1308]: #754
-#783 := [hypothesis]: #394
-#1310 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 #989 #783 #791 #816 #818 #994 #813 #836 #1309]: false
-#1312 := [lemma #1310]: #1311
-#1856 := [unit-resolution #1312 #1855 #1850 #818 #1851]: #395
-#1857 := [unit-resolution #941 #1854]: #757
-#1858 := [unit-resolution #682 #1851]: #678
-#1859 := [unit-resolution #993 #1858]: #983
-#1860 := [unit-resolution #1290 #1859 #1566 #1850 #818 #1202 #1855 #1857]: #1227
-#1861 := [unit-resolution #1234 #1860]: #1230
-#1862 := [unit-resolution #714 #1861 #1856]: false
-#1864 := [lemma #1862]: #1863
-#1865 := [unit-resolution #1864 #1202 #900]: #539
-#1866 := [unit-resolution #672 #1865]: #669
-#1867 := [unit-resolution #778 #1866]: #762
-#1868 := [unit-resolution #1482 #1122 #1852]: #481
-#1869 := [unit-resolution #688 #1868]: #685
-#1870 := [unit-resolution #941 #1869]: #757
-#1871 := (or #511 #797 #1050 #794 #1049 #1227 #365 #1240 #394)
-#1872 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #1871
-#1873 := [unit-resolution #1872 #1122 #791 #787 #1217 #1202 #1870 #1718 #1723]: #511
-#1874 := (or #568 #540 #844 #510)
-#1875 := [unit-resolution #1260 #773]: #1874
-#1876 := [unit-resolution #1875 #1873 #1865 #1867]: #568
-#1877 := [unit-resolution #654 #1876]: #655
-#1878 := [unit-resolution #1265 #1877]: #986
-#1879 := [th-lemma arith farkas -1 1 1 -1 1 -1 -1 1 -1 1 1 -1 1 #903 #900 #1867 #773 #782 #1238 #1718 #791 #1870 #787 #1723 #1217 #1878]: false
-#1881 := [lemma #1879]: #1880
-#1882 := [unit-resolution #1881 #1202 #900]: #394
-#1883 := [unit-resolution #712 #1882]: #709
-#1884 := [unit-resolution #1361 #1883]: #888
-#1885 := (or #481 #735 #844 #1267 #1268 #1223 #870)
-#1392 := (or #481 #735 #844 #1267 #1014 #1268 #1223 #870)
-#1378 := [hypothesis]: #988
-#1386 := [unit-resolution #1271 #1208 #787 #1013 #907 #1217 #782 #900 #889 #1385 #1378 #1252 #773 #903 #1214]: #1269
-#1389 := [unit-resolution #1388 #891 #816 #890 #889 #773]: #568
-#1390 := [unit-resolution #654 #1389]: #655
-#1391 := [unit-resolution #1265 #1390 #1386]: false
-#1393 := [lemma #1391]: #1392
-#1886 := [unit-resolution #1393 #1448]: #1885
-#1887 := [unit-resolution #1886 #1884 #900 #1566 #1852 #1238 #1867]: #481
-#1888 := [unit-resolution #688 #1887]: #685
-#1889 := [unit-resolution #941 #1888]: #757
-#1890 := (or #1064 #797 #1050 #838 #395 #1178 #794)
-#1891 := [th-lemma arith assign-bounds -2 2 -2 -2 2 -1]: #1890
-#1892 := [unit-resolution #1891 #1882 #836 #1889 #1718 #1850 #791]: #1064
-#1893 := (or #1267 #1268 #844 #1090 #1223 #1269 #735)
-#1894 := [unit-resolution #1271 #787 #1013 #907 #1217 #782 #1448 #773 #903]: #1893
-#1895 := [unit-resolution #1894 #1892 #900 #1238 #1867 #1852 #1884]: #1269
-#1896 := [unit-resolution #878 #1888]: #812
-#1897 := (or #1090 #1001 #823 #568 #870 #871 #844)
-#1898 := [th-lemma arith assign-bounds 1 2 2 2 2 2]: #1897
-#1899 := [unit-resolution #1898 #1892 #816 #1867 #1566 #1896 #773]: #568
-#1900 := [unit-resolution #654 #1899]: #655
-#1901 := [unit-resolution #1265 #1900 #1895]: false
-#1903 := [lemma #1901]: #1902
-#1924 := [unit-resolution #1903 #900]: #365
-#1925 := [unit-resolution #720 #1924]: #717
-#2127 := [unit-resolution #1207 #1925]: #745
-#1967 := (or #394 #481)
-#1968 := [unit-resolution #1482 #1852]: #1967
-#2032 := [unit-resolution #1968 #891]: #394
-#2033 := [unit-resolution #712 #2032]: #709
-#2034 := [unit-resolution #856 #2033]: #748
-#1998 := (or #394 #539)
-#1969 := [unit-resolution #1968 #1122]: #481
-#1970 := [unit-resolution #688 #1969]: #685
-#1971 := [unit-resolution #941 #1970]: #757
-#1225 := (or #365 #539 #1227 #794)
-#1218 := (or #539 #794 #1227 #995 #365)
-#1931 := [hypothesis]: #1001
-#1935 := (or #812 #757)
-#1936 := [th-lemma arith farkas 1 1]: #1935
-#1937 := [unit-resolution #1936 #1931]: #757
-#1932 := [hypothesis]: #685
-#1933 := [unit-resolution #878 #1932 #1931]: false
-#1934 := [lemma #1933]: #877
-#1938 := [unit-resolution #1934 #1931]: #876
-#1939 := [unit-resolution #688 #1938]: #482
-#1940 := (or #794 #481 #1179)
-#1941 := [th-lemma arith assign-bounds 2 1]: #1940
-#1942 := [unit-resolution #1941 #1939 #1937]: #1179
-#1943 := [unit-resolution #690 #1939]: #686
-#1944 := [unit-resolution #1171 #1943 #1942]: false
-#1945 := [lemma #1944]: #812
-#1221 := [unit-resolution #1290 #1566 #1850 #1945]: #1218
-#1210 := [unit-resolution #1221 #1202 #818 #1283 #788]: #995
-#1211 := (or #539 #511 #365)
-#1212 := [unit-resolution #1355 #1850]: #1211
-#1213 := [unit-resolution #1212 #1202 #818]: #511
-#1222 := [unit-resolution #682 #1213]: #678
-#1224 := [unit-resolution #993 #1222 #1210]: false
-#1946 := [lemma #1224]: #1225
-#1972 := [unit-resolution #1946 #1723 #818 #1971]: #365
-#1973 := [unit-resolution #720 #1972]: #717
-#1974 := [unit-resolution #1476 #1973]: #1200
-#1913 := (or #568 #394 #539)
-#1904 := [hypothesis]: #569
-#1905 := [unit-resolution #1732 #1904 #897 #787 #791 #907 #773 #1122 #1718 #820 #1870 #1557]: #917
-#1908 := (or #568 #821 #539 #510)
-#1906 := (or #568 #821 #539 #823 #510)
-#1907 := [th-lemma arith assign-bounds 1 1 1 1]: #1906
-#1909 := [unit-resolution #1907 #773]: #1908
-#1910 := [unit-resolution #1909 #1904 #818 #820]: #510
-#1911 := [unit-resolution #680 #1910]: #677
-#1912 := [unit-resolution #959 #1911 #1905]: false
-#1914 := [lemma #1912]: #1913
-#1915 := [unit-resolution #1914 #1122 #818]: #568
-#1916 := [unit-resolution #654 #1915]: #655
-#1975 := [unit-resolution #1464 #1916]: #1430
-#1929 := (or #394 #735 #539)
-#1917 := [unit-resolution #1265 #1916]: #986
-#934 := (or #735 #734)
-#964 := [th-lemma arith farkas 1 1]: #934
-#965 := [unit-resolution #964 #900]: #734
-#1918 := (or #336 #1269 #948 #949 #539 #823 #821 #797 #1050 #794 #1049 #424)
-#1919 := [th-lemma arith assign-bounds 1 1 1 2 1 1 1 1 1 1 1]: #1918
-#1920 := [unit-resolution #1919 #1870 #773 #787 #791 #1847 #903 #965 #818 #1718 #820 #1917]: #336
-#1921 := [unit-resolution #728 #1920]: #725
-#1922 := [unit-resolution #1625 #1921]: #1571
-#1923 := [unit-resolution #878 #1869]: #812
-#1926 := [unit-resolution #1476 #1925]: #1200
-#1428 := (or #337 #735 #739)
-#1239 := [hypothesis]: #336
-#1357 := [unit-resolution #728 #1239]: #725
-#1397 := [unit-resolution #1396 #1357]: #742
-#1150 := (or #795 #796 #739 #735)
-#980 := (or #395 #795 #796 #739 #735)
-#853 := [unit-resolution #712 #783]: #709
-#857 := [unit-resolution #856 #853]: #748
-#763 := (or #739 #738)
-#800 := [th-lemma arith farkas 1 1]: #763
-#801 := [unit-resolution #800 #766]: #738
-#962 := (or #539 #795 #949 #796 #739 #395)
-#826 := (or #510 #821 #539 #795 #395 #822 #823 #796 #824 #825)
-#827 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 1]: #826
-#935 := [unit-resolution #827 #820 #818 #783 #782 #769 #801 #770 #784 #773]: #510
-#936 := [unit-resolution #680 #935]: #677
-#937 := [unit-resolution #832 #936]: #811
-#872 := (or #481 #870 #539 #871 #821 #795 #395 #822 #823 #796 #824 #825)
-#873 := [th-lemma arith assign-bounds 1 2 1 1 1 1 1 1 1 1 1]: #872
-#938 := [unit-resolution #873 #937 #816 #818 #783 #782 #769 #801 #770 #784 #820 #773]: #481
-#939 := [unit-resolution #688 #938]: #685
-#942 := [unit-resolution #941 #939]: #757
-#931 := (or #569 #795 #395 #796 #739)
-#929 := [hypothesis]: #568
-#930 := [th-lemma arith farkas 1 1 -1 1 -1 -1 1 #784 #783 #782 #770 #769 #766 #929]: false
-#932 := [lemma #930]: #931
-#943 := [unit-resolution #932 #783 #784 #770 #766]: #569
-#944 := [unit-resolution #652 #943]: #656
-#945 := [unit-resolution #926 #944]: #887
-#946 := [hypothesis]: #734
-#950 := (or #424 #395 #916 #947 #539 #795 #822 #948 #949 #915 #796 #824 #825)
-#951 := [th-lemma arith assign-bounds 1 1 1 1 2 2 1 1 1 1 1 1]: #950
-#952 := [unit-resolution #951 #818 #903 #783 #882 #782 #769 #946 #801 #770 #784 #857 #945]: #424
-#953 := [unit-resolution #706 #952]: #702
-#957 := [unit-resolution #956 #953]: #928
-#960 := [unit-resolution #959 #936]: #756
-#961 := [th-lemma arith farkas 1 1 1 1 1 1 2 2 1 1 -1 1 -1 -1 1 1 #787 #960 #897 #957 #857 #882 #784 #782 #903 #946 #945 #770 #769 #766 #907 #942]: false
-#963 := [lemma #961]: #962
-#966 := [unit-resolution #963 #783 #965 #770 #766 #784]: #539
-#967 := [unit-resolution #672 #966]: #669
-#968 := [unit-resolution #778 #967]: #762
-#845 := (or #510 #540 #844 #795 #395 #822 #823 #796 #824 #825)
-#846 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 1]: #845
-#969 := [unit-resolution #846 #968 #966 #783 #782 #769 #801 #770 #784 #773]: #510
-#970 := [unit-resolution #680 #969]: #677
-#971 := [unit-resolution #959 #970]: #756
-#972 := [unit-resolution #832 #970]: #811
-#893 := (or #481 #395 #870 #795 #796 #825 #844)
-#817 := [hypothesis]: #738
-#892 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 -1 1 #891 #783 #890 #784 #782 #773 #770 #769 #817 #816 #889]: false
-#894 := [lemma #892]: #893
-#973 := [unit-resolution #894 #972 #968 #784 #770 #801 #783]: #481
-#974 := [unit-resolution #688 #973]: #685
-#975 := [unit-resolution #941 #974]: #757
-#918 := (or #915 #916 #794 #795 #796 #739 #735 #917 #424)
-#792 := [hypothesis]: #423
-#908 := [unit-resolution #704 #792]: #701
-#912 := [unit-resolution #911 #908]: #750
-#914 := [th-lemma arith farkas 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1 #913 #882 #912 #907 #788 #787 #904 #784 #782 #770 #769 #766 #903 #900 #898 #897 #792]: false
-#919 := [lemma #914]: #918
-#976 := [unit-resolution #919 #975 #945 #784 #770 #766 #900 #971 #857]: #424
-#977 := [unit-resolution #706 #976]: #702
-#978 := [unit-resolution #956 #977]: #928
-#979 := [th-lemma arith farkas 1 1 2 2 1 1 1 -1 1 1 -1 -1 1 -1 1 1 #857 #882 #784 #782 #903 #965 #945 #770 #769 #766 #907 #975 #787 #971 #897 #978]: false
-#981 := [lemma #979]: #980
-#1063 := [unit-resolution #981 #784 #770 #766 #900]: #395
-#1099 := [unit-resolution #1061 #784 #770 #766]: #539
-#1135 := (or #423 #394 #739 #796 #795)
-#1101 := [unit-resolution #672 #1099]: #669
-#1102 := [unit-resolution #778 #1101]: #762
-#1118 := [unit-resolution #1074 #1102 #1099]: #759
-#1116 := (or #510 #795 #796 #739)
-#1086 := (or #423 #510 #795 #796 #825 #540)
-#774 := [hypothesis]: #539
-#775 := [unit-resolution #672 #774]: #669
-#779 := [unit-resolution #778 #775]: #762
-#1075 := [unit-resolution #1074 #779 #774]: #759
-#1078 := [unit-resolution #1077 #1066 #1072]: #838
-#1080 := (or #751 #1048 #795 #822 #821 #823 #796 #824 #825 #1079 #1051 #1014 #1015)
-#1081 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 -1 1 1 -1]: #1080
-#1082 := [unit-resolution #1081 #1078 #1013 #907 #782 #769 #817 #770 #784 #1075 #1023 #897 #773]: #1014
-#1083 := [unit-resolution #1070 #1082]: #1007
-#1084 := [unit-resolution #696 #1083]: #453
-#1085 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 1 1 1 1 #989 #1084 #1072 #907 #1066 #773 #784 #782 #770 #769 #817 #779 #774]: false
-#1087 := [lemma #1085]: #1086
-#1100 := [unit-resolution #1087 #989 #784 #770 #801 #1099]: #423
-#1091 := (or #1090 #795 #796 #825 #844 #510 #424)
-#1088 := [hypothesis]: #1064
-#1089 := [th-lemma arith farkas 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 #1088 #907 #773 #784 #782 #770 #769 #817 #816 #994 #889 #989 #787 #912 #792]: false
-#1092 := [lemma #1089]: #1091
-#1103 := [unit-resolution #1092 #989 #770 #801 #1102 #784 #1100]: #1090
-#1104 := [unit-resolution #1098 #1103]: #1094
-#1105 := [unit-resolution #690 #1104]: #481
-#1106 := [unit-resolution #688 #1105]: #685
-#1107 := [unit-resolution #878 #1106]: #812
-#1110 := [unit-resolution #1109 #1105 #897 #869 #1099 #1107 #1023]: #452
-#1111 := [unit-resolution #696 #1110]: #693
-#1112 := [unit-resolution #1070 #1111]: #988
-#1113 := [unit-resolution #704 #1100]: #701
-#1114 := [unit-resolution #911 #1113]: #750
-#1115 := [th-lemma arith farkas -1 -1 -1 1 -1 1 1 -1 1 1 -2 1 -1 1 #907 #773 #784 #782 #770 #769 #897 #1023 #1102 #1114 #1099 #1112 #1013 #766]: false
-#1117 := [lemma #1115]: #1116
-#1119 := [unit-resolution #1117 #784 #770 #766]: #510
-#1120 := [unit-resolution #680 #1119]: #677
-#1121 := [unit-resolution #959 #1120]: #756
-#1125 := [unit-resolution #1124 #1066 #907 #1122 #1072]: #452
-#1126 := [unit-resolution #696 #1125]: #693
-#1127 := [unit-resolution #1045 #1126]: #754
-#1128 := [unit-resolution #1053 #1127 #787 #791 #907 #782 #769 #766 #770 #784 #1121 #1072 #1118 #897 #773]: #794
-#1129 := [unit-resolution #1070 #1126]: #988
-#1132 := [unit-resolution #1131 #1066 #1013 #907 #1122 #1072 #1129]: #481
-#1133 := [unit-resolution #688 #1132]: #685
-#1134 := [unit-resolution #941 #1133 #1128]: false
-#1136 := [lemma #1134]: #1135
-#1137 := [unit-resolution #1136 #1063 #766 #770 #784]: #423
-#1140 := (or #1090 #424 #795 #796 #739)
-#1138 := [unit-resolution #832 #1120]: #811
-#1139 := [th-lemma arith farkas -1 -1 1 -1 -1 -1 -1 1 -1 1 1 1 1 -1 1 #792 #1088 #787 #907 #1119 #773 #784 #782 #770 #769 #766 #1102 #1138 #816 #912]: false
-#1141 := [lemma #1139]: #1140
-#1142 := [unit-resolution #1141 #1137 #784 #770 #766]: #1090
-#1143 := [unit-resolution #1098 #1142]: #1094
-#1144 := [unit-resolution #690 #1143]: #481
-#1145 := [unit-resolution #688 #1144]: #685
-#1146 := [unit-resolution #941 #1145]: #757
-#1147 := [unit-resolution #704 #1137]: #701
-#1148 := [unit-resolution #911 #1147]: #750
-#1149 := [th-lemma arith farkas -1 1 -1 1 1 -1 -1 -1 1 #1121 #897 #1137 #1148 #787 #907 #1146 #1099 #1063]: false
-#1151 := [lemma #1149]: #1150
-#1398 := [unit-resolution #1151 #1397 #766 #900]: #795
-#1399 := [unit-resolution #1207 #1398]: #860
-#1400 := [unit-resolution #720 #1399]: #366
-#1249 := (or #423 #365 #337)
-#1241 := (or #1227 #1240 #337 #1223 #423 #822)
-#1242 := [th-lemma arith assign-bounds -1 -1 -1 1 1]: #1241
-#1243 := [unit-resolution #1242 #1066 #782 #1239 #1217 #1238]: #1227
-#1244 := [unit-resolution #1234 #1243]: #1230
-#1245 := [unit-resolution #714 #1244]: #394
-#1246 := [unit-resolution #712 #1245]: #709
-#1247 := [unit-resolution #1220 #1246]: #888
-#1248 := [th-lemma arith farkas 1 1 1 1 1 #1202 #1247 #1217 #1066 #1245]: false
-#1250 := [lemma #1248]: #1249
-#1401 := [unit-resolution #1250 #1400 #1239]: #423
-#1402 := [unit-resolution #704 #1401]: #701
-#1403 := [unit-resolution #911 #1402]: #750
-#1404 := [unit-resolution #1377 #1400 #1403]: #452
-#1405 := [unit-resolution #696 #1404]: #693
-#1406 := [unit-resolution #1070 #1405]: #988
-#1409 := [unit-resolution #1408 #1402]: #751
-#1333 := (or #510 #796 #838 #739 #735 #1268)
-#1280 := [unit-resolution #1151 #770 #766 #900]: #795
-#1313 := [unit-resolution #1207 #1280]: #860
-#1314 := [unit-resolution #720 #1313]: #366
-#1315 := [unit-resolution #722 #1314]: #718
-#1316 := [unit-resolution #1237 #1315]: #1201
-#1317 := [unit-resolution #1279 #989 #900 #1316 #1252]: #481
-#1318 := [unit-resolution #688 #1317]: #685
-#1319 := [unit-resolution #878 #1318]: #812
-#1302 := (or #1227 #796 #995 #838 #739 #1079 #482 #365 #870)
-#1281 := [hypothesis]: #481
-#1291 := [unit-resolution #688 #1281]: #685
-#1292 := [unit-resolution #878 #1291]: #812
-#1293 := [hypothesis]: #984
-#1294 := [unit-resolution #941 #1291]: #757
-#1295 := [unit-resolution #1290 #1283 #1294 #1282 #813 #1202 #1292 #890]: #539
-#1296 := [unit-resolution #1109 #1295 #1293 #869 #1281 #1292 #897]: #452
-#1297 := [unit-resolution #696 #1296]: #693
-#1298 := [unit-resolution #1045 #1297]: #754
-#1299 := [unit-resolution #672 #1295]: #669
-#1300 := [unit-resolution #778 #1299]: #762
-#1301 := [th-lemma arith farkas -1 1 -1 1 1 -1 -2 2 -2 2 -1 1 -1 1 -3 3 1 #770 #769 #1238 #782 #1300 #773 #1294 #1283 #1217 #787 #816 #1282 #813 #836 #1298 #791 #766]: false
-#1303 := [lemma #1301]: #1302
-#1320 := [unit-resolution #1303 #994 #770 #813 #766 #1023 #1317 #1314 #1306]: #1227
-#1321 := [unit-resolution #1234 #1320]: #1230
-#1322 := [unit-resolution #714 #1321]: #394
-#1323 := [unit-resolution #1312 #989 #1322 #813 #1319]: #539
-#1324 := [unit-resolution #672 #1323]: #669
-#1325 := [unit-resolution #778 #1324]: #762
-#1326 := [unit-resolution #1109 #1323 #1023 #869 #1317 #1319 #897]: #452
-#1327 := [unit-resolution #696 #1326]: #693
-#1328 := [unit-resolution #1045 #1327]: #754
-#1329 := [unit-resolution #941 #1318]: #757
-#1330 := [unit-resolution #712 #1322]: #709
-#1331 := [unit-resolution #1220 #1330]: #888
-#1332 := [th-lemma arith farkas -1 1 -1 1 -4 2 -2 -2 2 -3 3 1 -1 -1 1 -1 1 1 #770 #769 #1316 #782 #1322 #1331 #1329 #1217 #787 #1328 #791 #1325 #773 #816 #994 #813 #836 #766]: false
-#1334 := [lemma #1332]: #1333
-#1410 := [unit-resolution #1334 #1397 #1409 #766 #900 #1403]: #510
-#1411 := [unit-resolution #1355 #1410 #1400 #1409]: #539
-#1412 := [unit-resolution #680 #1410]: #677
-#1413 := [unit-resolution #959 #1412]: #756
-#1383 := (or #394 #917 #540 #424 #1014)
-#1379 := [unit-resolution #1274 #1122 #907 #1378 #1013 #912]: #481
-#1380 := [unit-resolution #688 #1379]: #685
-#1381 := [unit-resolution #941 #1380]: #757
-#1382 := [th-lemma arith farkas -1 1 -1 1 1 -1 -1 1 1 #787 #898 #897 #774 #792 #1122 #912 #907 #1381]: false
-#1384 := [lemma #1382]: #1383
-#1414 := [unit-resolution #1384 #1413 #1411 #1401 #1406]: #394
-#1415 := [unit-resolution #712 #1414]: #709
-#1416 := [unit-resolution #1361 #1415]: #888
-#1417 := (or #794 #1049 #917 #1051 #540 #1268 #1048 #1267 #1240 #365)
-#1418 := [th-lemma arith assign-bounds -1 1 -1 1 -1 1 -1 1 -1]: #1417
-#1419 := [unit-resolution #1418 #1400 #787 #907 #1217 #897 #1411 #1413 #1403 #1416]: #794
-#1420 := [unit-resolution #832 #1412]: #811
-#1421 := [unit-resolution #722 #1400]: #718
-#1422 := [unit-resolution #1237 #1421]: #1201
-#1423 := [unit-resolution #672 #1411]: #669
-#1424 := [unit-resolution #778 #1423]: #762
-#1425 := [unit-resolution #1393 #1424 #900 #1416 #1406 #1403 #1422 #1420]: #481
-#1426 := [unit-resolution #688 #1425]: #685
-#1427 := [unit-resolution #941 #1426 #1419]: false
-#1429 := [lemma #1427]: #1428
-#1927 := [unit-resolution #1429 #1920 #900]: #739
-#1928 := [th-lemma arith farkas -1 -1 1/2 -1/2 1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 -1/2 1/2 1 #1537 #1927 #1917 #903 #900 #1926 #1488 #1494 #1739 #1448 #1013 #1923 #869 #1712 #882 #1922]: false
-#1930 := [lemma #1928]: #1929
-#1976 := [unit-resolution #1930 #1122 #818]: #735
-#1965 := (or #510 #539 #899 #794 #1227 #1498)
-#1947 := [unit-resolution #1946 #1283 #818 #788]: #365
-#1948 := [unit-resolution #720 #1947]: #717
-#1949 := [unit-resolution #1476 #1948]: #1200
-#1950 := (or #336 #1240 #1500 #1501 #1227 #510 #797 #1050 #794 #1049 #995 #871 #838 #1178 #539)
-#1951 := [th-lemma arith assign-bounds 1 1 1 1 1 3 3 1 1 2 2 2 2 2]: #1950
-#1952 := [unit-resolution #1951 #989 #816 #787 #791 #836 #1217 #1494 #818 #788 #1718 #1850 #1283 #994 #1949]: #336
-#1953 := [unit-resolution #728 #1952]: #725
-#1954 := [unit-resolution #1625 #1953]: #1571
-#1955 := [hypothesis]: #735
-#1956 := [hypothesis]: #1430
-#1957 := [th-lemma arith assign-bounds 1 -1 1 -1 -1 1 1 3 -3 1 -1 -1 -2 2 2 -2 #1217 #1949 #1956 #1491 #1488 #1494 #1739 #1718 #791 #788 #787 #1283 #994 #816 #1850 #836]: #734
-#1958 := [unit-resolution #1515 #1957 #1955]: #64
-#1959 := [unit-resolution #658 #1958]: #668
-#1960 := [unit-resolution #1207 #1948]: #745
-#1961 := [unit-resolution #1396 #1953]: #742
-#1962 := [unit-resolution #1061 #1961 #818 #1960]: #739
-#1963 := [unit-resolution #1544 #1962 #1959]: #825
-#1964 := [th-lemma arith farkas -1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 1 #1537 #1963 #1949 #1488 #1494 #1739 #994 #816 #1718 #791 #1850 #836 #1954]: false
-#1966 := [lemma #1964]: #1965
-#1977 := [unit-resolution #1966 #1976 #818 #1971 #1723 #1975]: #510
-#1978 := (or #744 #838 #511 #797 #1050 #794 #1049)
-#1979 := [th-lemma arith assign-bounds -1 -2 -2 2 -2 2]: #1978
-#1980 := [unit-resolution #1979 #1971 #791 #787 #1718 #1850 #1977]: #744
-#1983 := (or #1177 #1500 #336 #1267)
-#1981 := (or #1177 #1268 #1500 #336 #1501 #1267 #1240)
-#1982 := [th-lemma arith assign-bounds 1 2 2 2 2 2]: #1981
-#1984 := [unit-resolution #1982 #1494 #1852 #1217]: #1983
-#1985 := [unit-resolution #1984 #1980 #1974 #1748]: #336
-#1986 := [unit-resolution #728 #1985]: #725
-#1987 := [unit-resolution #1396 #1986]: #742
-#1988 := [unit-resolution #1625 #1986]: #1571
-#1989 := (or #738 #1627 #1500 #1177 #1754)
-#1990 := [unit-resolution #1756 #869 #1013 #836 #1494 #1537 #1566 #1945 #1448 #816 #1488]: #1989
-#1991 := [unit-resolution #1990 #1988 #1739 #1980 #1974]: #738
-#1992 := [unit-resolution #1207 #1973]: #745
-#1993 := [unit-resolution #1061 #1987 #818 #1992]: #739
-#1994 := [unit-resolution #1544 #1993 #1991]: #65
-#1995 := [unit-resolution #658 #1994]: #667
-#1996 := [unit-resolution #1515 #1995 #1976]: #949
-#1997 := [th-lemma arith farkas -1 -1 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 1 #769 #1991 #1992 #773 #782 #820 #1718 #791 #1217 #1975 #1491 #1996 #1971 #787 #1723 #1987]: false
-#1999 := [lemma #1997]: #1998
-#2000 := [unit-resolution #1999 #818]: #394
-#2001 := (or #539 #510 #395)
-#2002 := [unit-resolution #1312 #1850 #1945]: #2001
-#2003 := [unit-resolution #2002 #2000 #818]: #510
-#2008 := (or #1090 #511 #539)
-#2006 := (or #1090 #1001 #870 #511 #539)
-#2004 := (or #1090 #1001 #870 #871 #511 #539)
-#2005 := [th-lemma arith assign-bounds 1 2 2 2 2]: #2004
-#2007 := [unit-resolution #2005 #816]: #2006
-#2009 := [unit-resolution #2007 #1566 #1945]: #2008
-#2010 := [unit-resolution #2009 #2003 #818]: #1090
-#2011 := (or #1064 #395 #794)
-#2012 := [unit-resolution #1891 #836 #1718 #1850 #791]: #2011
-#2013 := [unit-resolution #2012 #2010 #2000]: #794
-#2014 := (or #481 #511 #539)
-#2015 := [unit-resolution #1455 #1566]: #2014
-#2016 := [unit-resolution #2015 #2003 #818]: #481
-#2017 := [unit-resolution #688 #2016]: #685
-#2018 := [unit-resolution #941 #2017 #2013]: false
-#2019 := [lemma #2018]: #539
-#2023 := [unit-resolution #672 #2019]: #669
-#2024 := [unit-resolution #778 #2023]: #762
-#2035 := (or #568 #844 #481)
-#2036 := [unit-resolution #1460 #1566]: #2035
-#2037 := [unit-resolution #2036 #891 #2024]: #568
-#2038 := [unit-resolution #654 #2037]: #655
-#2039 := [unit-resolution #1265 #2038]: #986
-#2030 := (or #735 #1090 #1269 #916)
-#2025 := [hypothesis]: #986
-#2026 := (or #735 #1269 #1090 #795 #844 #916)
-#2027 := [unit-resolution #1512 #787 #1013 #882 #782 #903 #773 #1828]: #2026
-#2028 := [unit-resolution #2027 #900 #1088 #2025 #2024 #913]: #795
-#2029 := [unit-resolution #1207 #1925 #2028]: false
-#2031 := [lemma #2029]: #2030
-#2040 := [unit-resolution #2031 #1208 #2039 #2034]: #735
-#2041 := [unit-resolution #1464 #2038]: #1430
-#2068 := (or #510 #481)
-#2042 := [unit-resolution #1496 #2023]: #933
-#1848 := (<= #1199 0::Int)
-#2043 := (or #366 #947 #838 #1178 #916 #1179 #481 #510 #1002)
-#2044 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1]: #2043
-#2045 := [unit-resolution #2044 #989 #869 #836 #882 #891 #1850 #2034 #1172]: #366
-#2046 := [unit-resolution #722 #2045]: #718
-#2047 := (or #1235 #1848)
-#2048 := [th-lemma arith triangle-eq]: #2047
-#2049 := [unit-resolution #2048 #2046]: #1848
-#2050 := (not #1848)
-#2051 := (or #734 #1503 #797 #1050 #947 #1498 #1499 #1504 #1501 #916 #1179 #1002 #2050 #838 #1178)
-#2052 := [th-lemma arith assign-bounds 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 2 -2]: #2051
-#2053 := [unit-resolution #2052 #2049 #869 #791 #836 #882 #1494 #1491 #1718 #1850 #2034 #2042 #1172 #2041 #1488]: #734
-#2054 := [unit-resolution #1515 #2053 #2040]: #64
-#2055 := [unit-resolution #658 #2054]: #668
-#2056 := [unit-resolution #1569 #990]: #984
-#2057 := (or #336 #797 #1050 #947 #1501 #916 #1179 #510 #1002 #2050 #838 #1178)
-#2058 := [th-lemma arith assign-bounds 1 1 1 1 1 1 1 1 1 2 2]: #2057
-#2059 := [unit-resolution #2058 #989 #791 #836 #882 #1494 #869 #1718 #1850 #2034 #1172 #2049]: #336
-#2060 := [unit-resolution #728 #2059]: #725
-#2061 := [unit-resolution #1625 #2060]: #1571
-#2062 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 -3 3 -1 1 -1 1 1 2 -2 2 -2 #2061 #1537 #1494 #1718 #791 #1850 #836 #2042 #1488 #2056 #897 #2049 #882 #2034 #1172 #869]: #738
-#2063 := [unit-resolution #1361 #2033]: #888
-#2064 := [unit-resolution #1237 #2046]: #1201
-#2065 := [unit-resolution #1396 #2060]: #742
-#2066 := [th-lemma arith assign-bounds 1 -1 -1 -1 1 -3 3 -1 1 -1 1 1 2 -2 2 -2 #2065 #769 #782 #1448 #1013 #1852 #907 #2024 #773 #994 #816 #2064 #1217 #2063 #1208 #787]: #739
-#2067 := [unit-resolution #1544 #2066 #2062 #2055]: false
-#2069 := [lemma #2067]: #2068
-#2103 := [unit-resolution #2069 #891]: #510
-#2101 := (or #1235 #1090 #1267 #511 #899 #916 #1179 #1498)
-#2083 := [hypothesis]: #718
-#2084 := [unit-resolution #1237 #2083]: #1201
-#2085 := [unit-resolution #959 #1336]: #756
-#2086 := [hypothesis]: #1161
-#2087 := [unit-resolution #2048 #2083]: #1848
-#2088 := [unit-resolution #2052 #2087 #869 #791 #836 #882 #1494 #1491 #1718 #1850 #913 #2042 #2086 #1956 #1488]: #734
-#2089 := [unit-resolution #1515 #2088 #1955]: #64
-#2090 := [unit-resolution #658 #2089]: #668
-#2081 := (or #739 #1267 #1090 #1223 #511 #2050)
-#2071 := [hypothesis]: #1848
-#2073 := (or #1526 #739 #2050)
-#2070 := [hypothesis]: #1433
-#2072 := [th-lemma arith farkas -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 1 #769 #766 #1566 #2024 #773 #816 #1850 #836 #1718 #791 #1494 #2071 #2070]: false
-#2074 := [lemma #2072]: #2073
-#2075 := [unit-resolution #2074 #766 #2071]: #1526
-#2076 := [unit-resolution #1641 #2075]: #1522
-#2077 := [unit-resolution #730 #2076]: #336
-#2078 := [unit-resolution #728 #2077]: #725
-#2079 := [unit-resolution #1396 #2078]: #742
-#2080 := [th-lemma arith farkas -1/2 1/2 1 -1/2 -1 1 -1 1/2 -3/2 3/2 1/2 -1/2 -1/2 -1/2 -1/2 1/2 1/2 1 #1448 #1013 #1217 #782 #1385 #1088 #787 #1214 #1852 #907 #2079 #769 #766 #1566 #2024 #773 #816 #1335]: false
-#2082 := [lemma #2080]: #2081
-#2091 := [unit-resolution #2082 #2084 #1088 #1385 #1335 #2087]: #739
-#2092 := [unit-resolution #1544 #2091 #2090]: #825
-#2093 := (or #1538 #1539 #738 #917 #1503 #1504 #1051 #1268 #1048 #1014 #1015 #822 #1223)
-#2094 := [th-lemma arith assign-bounds -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1]: #2093
-#2095 := [unit-resolution #2094 #2092 #1013 #907 #782 #1537 #897 #2085 #1448 #1852 #2042 #2084 #1488]: #1538
-#2096 := [unit-resolution #1667 #2095]: #1522
-#2097 := [unit-resolution #730 #2096]: #336
-#2098 := [unit-resolution #728 #2097]: #725
-#2099 := [unit-resolution #1625 #2098]: #1571
-#2100 := [th-lemma arith farkas -1 -1 -2 -1 -1 1 1 1 -1 1 -1 1 -1 1 #1537 #2092 #2097 #2085 #2042 #1488 #897 #1852 #907 #1448 #1013 #782 #2084 #2099]: false
-#2102 := [lemma #2100]: #2101
-#2104 := [unit-resolution #2102 #1208 #2063 #2103 #2040 #2034 #1172 #2041]: #1235
-#2105 := [unit-resolution #722 #2104]: #365
-#2106 := (or #741 #797 #947 #916 #838 #1178 #366)
-#2107 := [th-lemma arith assign-bounds -1 2 -2 -2 2 -2]: #2106
-#2108 := [unit-resolution #2107 #2105 #882 #1718 #1850 #2034 #836]: #741
-#2109 := [unit-resolution #720 #2105]: #717
-#2110 := [unit-resolution #1476 #2109]: #1200
-#2111 := (or #734 #1498 #1179 #1500 #1502 #1503 #1267)
-#2112 := [unit-resolution #1506 #869 #791 #1217 #1494 #1488 #1491]: #2111
-#2113 := [unit-resolution #2112 #2110 #2042 #2041 #1172 #2063 #2108]: #734
-#2114 := [unit-resolution #1515 #2113 #2040]: #64
-#2115 := [unit-resolution #680 #2103]: #677
-#2116 := [unit-resolution #959 #2115]: #756
-#2117 := [unit-resolution #1207 #2109]: #745
-#2118 := (or #738 #795 #916 #917 #1503)
-#2119 := [unit-resolution #1676 #1850 #1828]: #2118
-#2120 := [unit-resolution #2119 #2117 #2042 #2116 #2034]: #738
-#2121 := (or #739 #795 #844 #1502 #1500 #1267)
-#2122 := [unit-resolution #1651 #1852]: #2121
-#2123 := [unit-resolution #2122 #2108 #2117 #2024 #2110 #2063]: #739
-#2124 := [unit-resolution #1544 #2123 #2120]: #65
-#2125 := [unit-resolution #658 #2124 #2114]: false
-#2126 := [lemma #2125]: #481
-#2149 := [unit-resolution #688 #2126]: #685
-#2020 := [hypothesis]: #794
-#2021 := [unit-resolution #941 #1932 #2020]: false
-#2022 := [lemma #2021]: #940
-#2150 := [unit-resolution #2022 #2149]: #757
-#2147 := (or #510 #735)
-#2136 := (or #916 #1001 #482 #947 #510 #1002 #838 #1178 #366)
-#2137 := [th-lemma arith assign-bounds -1 1 -1 -1 1 1 -1 1]: #2136
-#2138 := [unit-resolution #2137 #989 #869 #836 #882 #1924 #1850 #2126 #1945]: #916
-#2130 := (not #1708)
-#2139 := [unit-resolution #1875 #989 #2019 #2024]: #568
-#2140 := [unit-resolution #654 #2139]: #655
-#2141 := [unit-resolution #1265 #2140]: #986
-#2131 := (or #2130 #1079 #1269 #735)
-#2128 := [hypothesis]: #1708
-#2129 := [th-lemma arith farkas 1 -1 -1 1 -3/2 3/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1 #1293 #897 #1852 #907 #1448 #1013 #2128 #1945 #882 #869 #2127 #2024 #2025 #903 #900 #773 #782 #2019]: false
-#2132 := [lemma #2129]: #2131
-#2142 := [unit-resolution #2132 #2056 #2141 #900]: #2130
-#2133 := [hypothesis]: #2130
-#2134 := [unit-resolution #1711 #1229 #2133]: false
-#2135 := [lemma #2134]: #1710
-#2143 := [unit-resolution #2135 #2142]: #1230
-#2144 := [unit-resolution #714 #2143]: #394
-#2145 := [unit-resolution #712 #2144]: #709
-#2146 := [unit-resolution #856 #2145 #2138]: false
-#2148 := [lemma #2146]: #2147
-#2151 := [unit-resolution #2148 #900]: #510
-#2152 := [unit-resolution #680 #2151]: #677
-#2153 := [unit-resolution #959 #2152]: #756
-#2154 := (or #735 #844 #916 #795 #794 #917 #1503)
-#2155 := [unit-resolution #1664 #1828]: #2154
-#2156 := [unit-resolution #2155 #2153 #2042 #2024 #2150 #900 #2127]: #916
-#2159 := (or #394 #917 #540)
-#2157 := (or #394 #917 #540 #424)
-#2158 := [unit-resolution #1384 #1448]: #2157
-#2160 := [unit-resolution #2158 #1847]: #2159
-#2161 := [unit-resolution #2160 #2153 #2019]: #394
-#2162 := [unit-resolution #712 #2161]: #709
-#2163 := [unit-resolution #856 #2162 #2156]: false
-#2164 := [lemma #2163]: #735
-#2208 := (or #365 #510)
-#2187 := [unit-resolution #1464 #2140]: #1430
-#2188 := (or #1161 #482)
-#2189 := [unit-resolution #1681 #1945]: #2188
-#2190 := [unit-resolution #2189 #2126]: #1161
-#2165 := [unit-resolution #2048 #1226]: #1848
-#2185 := (or #394 #1079 #1269 #1498 #365 #995)
-#2168 := (or #336 #365 #2050 #394)
-#2166 := (or #336 #1501 #365 #2050 #394)
-#2167 := [th-lemma arith assign-bounds 1 1 1 1]: #2166
-#2169 := [unit-resolution #2167 #1494]: #2168
-#2170 := [unit-resolution #2169 #1122 #1202 #2165]: #336
-#2171 := [unit-resolution #728 #2170]: #725
-#2172 := [unit-resolution #1396 #2171]: #742
-#2173 := (or #1227 #796 #995 #739 #1079 #482 #365)
-#2174 := [unit-resolution #1303 #1566 #1850]: #2173
-#2175 := [unit-resolution #2174 #2172 #2126 #1293 #1202 #1282 #1723]: #739
-#2176 := [unit-resolution #2135 #1709]: #1708
-#2177 := (or #734 #2130 #1014 #1015 #1001 #947 #1002 #1503 #1498 #1499 #1504 #1501 #2050)
-#2178 := [th-lemma arith assign-bounds 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1]: #2177
-#2179 := [unit-resolution #2178 #2176 #869 #1013 #882 #1494 #1491 #1945 #1448 #2042 #1956 #2165 #1488]: #734
-#2180 := [unit-resolution #1515 #2179 #2164]: #64
-#2181 := [unit-resolution #658 #2180]: #668
-#2182 := [unit-resolution #1544 #2181 #2175]: #825
-#2183 := [unit-resolution #1625 #2171]: #1571
-#2184 := [th-lemma arith farkas -1 1 1 -1 -2 2 -2 -1 1 -1 1 -1 1 -1 1 1 #2183 #1537 #1293 #897 #2025 #903 #2179 #1448 #1013 #1852 #907 #2024 #773 #782 #1238 #2182]: false
-#2186 := [lemma #2184]: #2185
-#2191 := [unit-resolution #2186 #1202 #2141 #2187 #2056 #994]: #394
-#2192 := [unit-resolution #712 #2191]: #709
-#2193 := [unit-resolution #856 #2192]: #748
-#2194 := [unit-resolution #2052 #2193 #869 #791 #836 #882 #1494 #1491 #1718 #1850 #2165 #2042 #2190 #2187 #1488]: #734
-#2195 := [unit-resolution #1515 #2194 #2164]: #64
-#2196 := [unit-resolution #658 #2195]: #668
-#2197 := [unit-resolution #1361 #2192]: #888
-#2198 := (or #753 #395 #1267)
-#2199 := [th-lemma arith assign-bounds 2 -1]: #2198
-#2200 := [unit-resolution #2199 #2197 #2191]: #753
-#2201 := [unit-resolution #2058 #2193 #791 #836 #882 #1494 #869 #1718 #1850 #989 #2190 #2165]: #336
-#2202 := [unit-resolution #728 #2201]: #725
-#2203 := [unit-resolution #1396 #2202]: #742
-#2204 := [unit-resolution #2174 #2203 #2126 #2056 #1202 #994 #2200]: #739
-#2205 := [unit-resolution #1544 #2204 #2196]: #825
-#2206 := [unit-resolution #1625 #2202]: #1571
-#2207 := [th-lemma arith farkas -1 1 1 -1 -2 2 -2 -1 1 -1 1 -1 1 -1 1 1 #2206 #1537 #2056 #897 #2141 #903 #2194 #1448 #1013 #1852 #907 #2024 #773 #782 #1238 #2205]: false
-#2209 := [lemma #2207]: #2208
-#2210 := [unit-resolution #2209 #989]: #365
-#2231 := [unit-resolution #2137 #2210 #869 #836 #882 #989 #1850 #2126 #1945]: #916
-#2229 := (or #2130 #510)
-#2211 := [unit-resolution #720 #2210]: #717
-#2212 := [unit-resolution #1476 #2211]: #1200
-#2213 := (or #1848 #1500 #366)
-#2214 := [th-lemma arith assign-bounds 1 -2]: #2213
-#2215 := [unit-resolution #2214 #2212 #2210]: #1848
-#2216 := [unit-resolution #2178 #2128 #869 #1013 #882 #1494 #1491 #1945 #1448 #2042 #2187 #2215 #1488]: #734
-#2217 := [unit-resolution #1515 #2216 #2164]: #64
-#2218 := [unit-resolution #658 #2217]: #668
-#2219 := [unit-resolution #1207 #2211]: #745
-#2220 := (or #336 #844 #1269 #948 #949 #823 #510)
-#2221 := [th-lemma arith assign-bounds 1 1 1 1 1 1]: #2220
-#2222 := [unit-resolution #2221 #2216 #773 #903 #989 #2024 #2141]: #336
-#2223 := [unit-resolution #728 #2222]: #725
-#2224 := [unit-resolution #1396 #2223]: #742
-#2225 := [unit-resolution #1117 #2224 #2219 #989]: #739
-#2226 := [unit-resolution #1544 #2225 #2218]: #825
-#2227 := [unit-resolution #1625 #2223]: #1571
-#2228 := [th-lemma arith farkas -2 2 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 1 #1448 #1013 #1945 #882 #869 #2141 #903 #2216 #2227 #1537 #2226 #2056 #897 #1852 #907 #2128]: false
-#2230 := [lemma #2228]: #2229
-#2232 := [unit-resolution #2230 #989]: #2130
-#2233 := [unit-resolution #2135 #2232]: #1230
-#2234 := [unit-resolution #714 #2233]: #394
-#2235 := [unit-resolution #712 #2234]: #709
-#2236 := [unit-resolution #856 #2235 #2231]: false
-#2237 := [lemma #2236]: #510
-#2238 := [unit-resolution #680 #2237]: #677
-#2239 := [unit-resolution #959 #2238]: #756
-#2240 := [unit-resolution #2160 #2239 #2019]: #394
-#2241 := [unit-resolution #1979 #2237 #791 #787 #1718 #1850 #2150]: #744
-#2242 := [unit-resolution #712 #2240]: #709
-#2243 := [unit-resolution #1361 #2242]: #888
-#2244 := (or #1177 #1267 #365 #395)
-#2245 := [unit-resolution #1780 #1852]: #2244
-#2246 := [unit-resolution #2245 #2243 #2241 #2240]: #365
-#2247 := [unit-resolution #720 #2246]: #717
-#2248 := [unit-resolution #1476 #2247]: #1200
-#2249 := (or #741 #794 #917 #540)
-#2250 := [unit-resolution #1808 #787 #897 #1718]: #2249
-#2251 := [unit-resolution #2250 #2239 #2019 #2150]: #741
-#2252 := [unit-resolution #2012 #2240 #2150]: #1064
-#2253 := (or #1090 #568 #844)
-#2254 := [unit-resolution #1898 #816 #1945 #1566 #773]: #2253
-#2255 := [unit-resolution #2254 #2252 #2024]: #568
-#2256 := [unit-resolution #654 #2255]: #655
-#2257 := [unit-resolution #1464 #2256]: #1430
-#2258 := [unit-resolution #2112 #2257 #2042 #2251 #2190 #2243 #2248]: #734
-#2259 := [unit-resolution #1515 #2258 #2164]: #64
-#2260 := [unit-resolution #1207 #2247]: #745
-#2261 := [unit-resolution #856 #2242]: #748
-#2262 := [unit-resolution #2119 #2261 #2042 #2260 #2239]: #738
-#2263 := [unit-resolution #2122 #2248 #2251 #2024 #2260 #2243]: #739
-#2264 := [unit-resolution #1544 #2263 #2262]: #65
-[unit-resolution #658 #2264 #2259]: false
-unsat
-68356683e9cf34e34d65674fa3c8a62835e193a4 341 0
-#2 := false
-#24 := 0::Int
-decl f3 :: Int
-#7 := f3
-#433 := (<= f3 0::Int)
-#443 := (>= f3 0::Int)
-#754 := (not #443)
-#410 := (not #433)
-#755 := (or #410 #754)
-#716 := (not #755)
-#10 := 2::Int
-#763 := (mod f3 2::Int)
-#111 := -1::Int
-#420 := (* -1::Int #763)
-decl f4 :: (-> S2 Int Int)
-decl f5 :: (-> S3 Int S2)
-decl f6 :: S3
-#11 := f6
-#12 := (f5 f6 f3)
-#13 := (f4 #12 2::Int)
-#550 := (+ #13 #420)
-#757 := (= #550 0::Int)
-#706 := (not #757)
-#718 := (>= #550 0::Int)
-#663 := (not #718)
-#658 := [hypothesis]: #718
-#696 := (>= #763 0::Int)
-#1 := true
-#69 := [true-axiom]: true
-#659 := (or false #696)
-#660 := [th-lemma arith]: #659
-#661 := [unit-resolution #660 #69]: #696
-#99 := (>= #13 0::Int)
-#102 := (not #99)
-#8 := 1::Int
-#14 := (* 2::Int #13)
-#15 := (+ #14 1::Int)
-#16 := (+ f3 #15)
-#9 := (+ f3 1::Int)
-#17 := (<= #9 #16)
-#18 := (not #17)
-#107 := (iff #18 #102)
-#81 := (+ f3 #14)
-#82 := (+ 1::Int #81)
-#72 := (+ 1::Int f3)
-#87 := (<= #72 #82)
-#90 := (not #87)
-#105 := (iff #90 #102)
-#97 := (>= #14 0::Int)
-#93 := (not #97)
-#103 := (iff #93 #102)
-#100 := (iff #97 #99)
-#101 := [rewrite]: #100
-#104 := [monotonicity #101]: #103
-#94 := (iff #90 #93)
-#95 := (iff #87 #97)
-#96 := [rewrite]: #95
-#98 := [monotonicity #96]: #94
-#106 := [trans #98 #104]: #105
-#91 := (iff #18 #90)
-#88 := (iff #17 #87)
-#85 := (= #16 #82)
-#75 := (+ 1::Int #14)
-#78 := (+ f3 #75)
-#83 := (= #78 #82)
-#84 := [rewrite]: #83
-#79 := (= #16 #78)
-#76 := (= #15 #75)
-#77 := [rewrite]: #76
-#80 := [monotonicity #77]: #79
-#86 := [trans #80 #84]: #85
-#73 := (= #9 #72)
-#74 := [rewrite]: #73
-#89 := [monotonicity #74 #86]: #88
-#92 := [monotonicity #89]: #91
-#108 := [trans #92 #106]: #107
-#71 := [asserted]: #18
-#109 := [mp #71 #108]: #102
-#662 := [th-lemma arith farkas -1 1 1 #109 #661 #658]: false
-#664 := [lemma #662]: #663
-#673 := (or #706 #718)
-#653 := [th-lemma arith triangle-eq]: #673
-#654 := [unit-resolution #653 #664]: #706
-#645 := (or #716 #757)
-#742 := -2::Int
-#431 := (* -1::Int f3)
-#466 := (mod #431 -2::Int)
-#362 := (+ #13 #466)
-#461 := (= #362 0::Int)
-#740 := (if #755 #757 #461)
-#442 := (= #13 0::Int)
-#441 := (= f3 0::Int)
-#451 := (if #441 #442 #740)
-#22 := (:var 0 Int)
-#20 := (:var 1 Int)
-#42 := (f5 f6 #20)
-#43 := (f4 #42 #22)
-#776 := (pattern #43)
-#115 := (* -1::Int #22)
-#112 := (* -1::Int #20)
-#170 := (mod #112 #115)
-#285 := (+ #43 #170)
-#286 := (= #285 0::Int)
-#44 := (mod #20 #22)
-#282 := (* -1::Int #44)
-#283 := (+ #43 #282)
-#284 := (= #283 0::Int)
-#137 := (<= #22 0::Int)
-#144 := (>= #20 0::Int)
-#229 := (or #144 #137)
-#230 := (not #229)
-#133 := (<= #20 0::Int)
-#227 := (or #133 #137)
-#228 := (not #227)
-#233 := (or #228 #230)
-#287 := (if #233 #284 #286)
-#281 := (= #43 0::Int)
-#25 := (= #20 0::Int)
-#288 := (if #25 #281 #287)
-#280 := (= #43 #20)
-#26 := (= #22 0::Int)
-#289 := (if #26 #280 #288)
-#777 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #776) #289)
-#292 := (forall (vars (?v0 Int) (?v1 Int)) #289)
-#780 := (iff #292 #777)
-#778 := (iff #289 #289)
-#779 := [refl]: #778
-#781 := [quant-intro #779]: #780
-#176 := (* -1::Int #170)
-#249 := (if #233 #44 #176)
-#252 := (if #25 0::Int #249)
-#255 := (if #26 #20 #252)
-#258 := (= #43 #255)
-#261 := (forall (vars (?v0 Int) (?v1 Int)) #258)
-#293 := (iff #261 #292)
-#290 := (iff #258 #289)
-#291 := [rewrite]: #290
-#294 := [quant-intro #291]: #293
-#138 := (not #137)
-#145 := (not #144)
-#148 := (and #145 #138)
-#134 := (not #133)
-#141 := (and #134 #138)
-#151 := (or #141 #148)
-#196 := (if #151 #44 #176)
-#199 := (if #25 0::Int #196)
-#202 := (if #26 #20 #199)
-#205 := (= #43 #202)
-#208 := (forall (vars (?v0 Int) (?v1 Int)) #205)
-#262 := (iff #208 #261)
-#259 := (iff #205 #258)
-#256 := (= #202 #255)
-#253 := (= #199 #252)
-#250 := (= #196 #249)
-#234 := (iff #151 #233)
-#231 := (iff #148 #230)
-#232 := [rewrite]: #231
-#221 := (iff #141 #228)
-#222 := [rewrite]: #221
-#235 := [monotonicity #222 #232]: #234
-#251 := [monotonicity #235]: #250
-#254 := [monotonicity #251]: #253
-#257 := [monotonicity #254]: #256
-#260 := [monotonicity #257]: #259
-#263 := [quant-intro #260]: #262
-#219 := (~ #208 #208)
-#218 := (~ #205 #205)
-#215 := [refl]: #218
-#220 := [nnf-pos #215]: #219
-#36 := (- #22)
-#35 := (- #20)
-#45 := (mod #35 #36)
-#46 := (- #45)
-#29 := (< 0::Int #22)
-#31 := (< #20 0::Int)
-#32 := (and #31 #29)
-#28 := (< 0::Int #20)
-#30 := (and #28 #29)
-#33 := (or #30 #32)
-#47 := (if #33 #44 #46)
-#48 := (if #25 0::Int #47)
-#49 := (if #26 #20 #48)
-#50 := (= #43 #49)
-#51 := (forall (vars (?v0 Int) (?v1 Int)) #50)
-#211 := (iff #51 #208)
-#181 := (if #33 #44 #176)
-#184 := (if #25 0::Int #181)
-#187 := (if #26 #20 #184)
-#190 := (= #43 #187)
-#193 := (forall (vars (?v0 Int) (?v1 Int)) #190)
-#209 := (iff #193 #208)
-#206 := (iff #190 #205)
-#203 := (= #187 #202)
-#200 := (= #184 #199)
-#197 := (= #181 #196)
-#152 := (iff #33 #151)
-#149 := (iff #32 #148)
-#139 := (iff #29 #138)
-#140 := [rewrite]: #139
-#146 := (iff #31 #145)
-#147 := [rewrite]: #146
-#150 := [monotonicity #147 #140]: #149
-#142 := (iff #30 #141)
-#135 := (iff #28 #134)
-#136 := [rewrite]: #135
-#143 := [monotonicity #136 #140]: #142
-#153 := [monotonicity #143 #150]: #152
-#198 := [monotonicity #153]: #197
-#201 := [monotonicity #198]: #200
-#204 := [monotonicity #201]: #203
-#207 := [monotonicity #204]: #206
-#210 := [quant-intro #207]: #209
-#194 := (iff #51 #193)
-#191 := (iff #50 #190)
-#188 := (= #49 #187)
-#185 := (= #48 #184)
-#182 := (= #47 #181)
-#179 := (= #46 #176)
-#173 := (- #170)
-#177 := (= #173 #176)
-#178 := [rewrite]: #177
-#174 := (= #46 #173)
-#171 := (= #45 #170)
-#116 := (= #36 #115)
-#117 := [rewrite]: #116
-#113 := (= #35 #112)
-#114 := [rewrite]: #113
-#172 := [monotonicity #114 #117]: #171
-#175 := [monotonicity #172]: #174
-#180 := [trans #175 #178]: #179
-#183 := [monotonicity #180]: #182
-#186 := [monotonicity #183]: #185
-#189 := [monotonicity #186]: #188
-#192 := [monotonicity #189]: #191
-#195 := [quant-intro #192]: #194
-#212 := [trans #195 #210]: #211
-#169 := [asserted]: #51
-#213 := [mp #169 #212]: #208
-#216 := [mp~ #213 #220]: #208
-#264 := [mp #216 #263]: #261
-#295 := [mp #264 #294]: #292
-#782 := [mp #295 #781]: #777
-#735 := (not #777)
-#724 := (or #735 #451)
-#432 := (* -1::Int 2::Int)
-#764 := (mod #431 #432)
-#765 := (+ #13 #764)
-#766 := (= #765 0::Int)
-#444 := (<= 2::Int 0::Int)
-#447 := (or #443 #444)
-#426 := (not #447)
-#445 := (or #433 #444)
-#446 := (not #445)
-#761 := (or #446 #426)
-#767 := (if #761 #757 #766)
-#762 := (if #441 #442 #767)
-#440 := (= #13 f3)
-#356 := (= 2::Int 0::Int)
-#768 := (if #356 #440 #762)
-#725 := (or #735 #768)
-#721 := (iff #725 #724)
-#727 := (iff #724 #724)
-#728 := [rewrite]: #727
-#734 := (iff #768 #451)
-#454 := (if false #440 #451)
-#448 := (iff #454 #451)
-#730 := [rewrite]: #448
-#732 := (iff #768 #454)
-#452 := (iff #762 #451)
-#737 := (iff #767 #740)
-#462 := (iff #766 #461)
-#738 := (= #765 #362)
-#467 := (= #764 #466)
-#743 := (= #432 -2::Int)
-#465 := [rewrite]: #743
-#468 := [monotonicity #465]: #467
-#739 := [monotonicity #468]: #738
-#736 := [monotonicity #739]: #462
-#753 := (iff #761 #755)
-#394 := (iff #426 #754)
-#389 := (iff #447 #443)
-#748 := (or #443 false)
-#745 := (iff #748 #443)
-#751 := [rewrite]: #745
-#749 := (iff #447 #748)
-#423 := (iff #444 false)
-#759 := [rewrite]: #423
-#750 := [monotonicity #759]: #749
-#752 := [trans #750 #751]: #389
-#395 := [monotonicity #752]: #394
-#746 := (iff #446 #410)
-#408 := (iff #445 #433)
-#419 := (or #433 false)
-#744 := (iff #419 #433)
-#407 := [rewrite]: #744
-#760 := (iff #445 #419)
-#403 := [monotonicity #759]: #760
-#409 := [trans #403 #407]: #408
-#747 := [monotonicity #409]: #746
-#756 := [monotonicity #747 #395]: #753
-#741 := [monotonicity #756 #736]: #737
-#453 := [monotonicity #741]: #452
-#758 := (iff #356 false)
-#418 := [rewrite]: #758
-#733 := [monotonicity #418 #453]: #732
-#731 := [trans #733 #730]: #734
-#722 := [monotonicity #731]: #721
-#723 := [trans #722 #728]: #721
-#726 := [quant-inst #7 #10]: #725
-#729 := [mp #726 #723]: #724
-#656 := [unit-resolution #729 #782]: #451
-#594 := (not #441)
-#593 := (not #451)
-#665 := (or #593 #594)
-#699 := (not #442)
-#657 := (or #699 #99)
-#694 := [th-lemma arith triangle-eq]: #657
-#695 := [unit-resolution #694 #109]: #699
-#553 := (or #593 #594 #442)
-#701 := [def-axiom]: #553
-#655 := [unit-resolution #701 #695]: #665
-#666 := [unit-resolution #655 #656]: #594
-#603 := (or #593 #441 #740)
-#698 := [def-axiom]: #603
-#644 := [unit-resolution #698 #666 #656]: #740
-#720 := (not #740)
-#549 := (or #720 #716 #757)
-#551 := [def-axiom]: #549
-#647 := [unit-resolution #551 #644]: #645
-#648 := [unit-resolution #647 #654]: #716
-#571 := (or #755 #433)
-#572 := [def-axiom]: #571
-#649 := [unit-resolution #572 #648]: #433
-#714 := (or #755 #443)
-#715 := [def-axiom]: #714
-#650 := [unit-resolution #715 #648]: #443
-#651 := (or #441 #410 #754)
-#646 := [th-lemma arith triangle-eq]: #651
-#652 := [unit-resolution #646 #666]: #755
-[unit-resolution #652 #650 #649]: false
-unsat
-1432b33c6328a1ffc0a07c49f1ba0f71ab4e0de0 343 0
-#2 := false
-#23 := 0::Int
-decl f3 :: Int
-#7 := f3
-#428 := (<= f3 0::Int)
-#438 := (>= f3 0::Int)
-#749 := (not #438)
-#405 := (not #428)
-#750 := (or #405 #749)
-#712 := (not #750)
-#10 := 2::Int
-#758 := (mod f3 2::Int)
-#106 := -1::Int
-#415 := (* -1::Int #758)
-decl f4 :: (-> S2 Int Int)
-decl f5 :: (-> S3 Int S2)
-decl f6 :: S3
-#8 := f6
-#9 := (f5 f6 f3)
-#11 := (f4 #9 2::Int)
-#545 := (+ #11 #415)
-#752 := (= #545 0::Int)
-#703 := (not #752)
-#713 := (<= #545 0::Int)
-#659 := (not #713)
-#663 := (>= #758 2::Int)
-#665 := (not #663)
-#1 := true
-#68 := [true-axiom]: true
-#654 := (or false #665)
-#655 := [th-lemma arith]: #654
-#656 := [unit-resolution #655 #68]: #665
-#657 := [hypothesis]: #713
-#97 := (>= #11 2::Int)
-#14 := 3::Int
-#15 := (+ f3 3::Int)
-#12 := (+ #11 #11)
-#13 := (+ f3 #12)
-#16 := (< #13 #15)
-#17 := (not #16)
-#102 := (iff #17 #97)
-#77 := (+ 3::Int f3)
-#71 := (* 2::Int #11)
-#74 := (+ f3 #71)
-#80 := (< #74 #77)
-#83 := (not #80)
-#100 := (iff #83 #97)
-#90 := (>= #71 3::Int)
-#98 := (iff #90 #97)
-#99 := [rewrite]: #98
-#95 := (iff #83 #90)
-#88 := (not #90)
-#87 := (not #88)
-#93 := (iff #87 #90)
-#94 := [rewrite]: #93
-#91 := (iff #83 #87)
-#89 := (iff #80 #88)
-#86 := [rewrite]: #89
-#92 := [monotonicity #86]: #91
-#96 := [trans #92 #94]: #95
-#101 := [trans #96 #99]: #100
-#84 := (iff #17 #83)
-#81 := (iff #16 #80)
-#78 := (= #15 #77)
-#79 := [rewrite]: #78
-#75 := (= #13 #74)
-#72 := (= #12 #71)
-#73 := [rewrite]: #72
-#76 := [monotonicity #73]: #75
-#82 := [monotonicity #76 #79]: #81
-#85 := [monotonicity #82]: #84
-#103 := [trans #85 #101]: #102
-#70 := [asserted]: #17
-#104 := [mp #70 #103]: #97
-#658 := [th-lemma arith farkas -1 1 1 #104 #657 #656]: false
-#660 := [lemma #658]: #659
-#648 := (or #703 #713)
-#649 := [th-lemma arith triangle-eq]: #648
-#651 := [unit-resolution #649 #660]: #703
-#641 := (or #712 #752)
-#737 := -2::Int
-#426 := (* -1::Int f3)
-#461 := (mod #426 -2::Int)
-#357 := (+ #11 #461)
-#456 := (= #357 0::Int)
-#735 := (if #750 #752 #456)
-#437 := (= #11 0::Int)
-#436 := (= f3 0::Int)
-#446 := (if #436 #437 #735)
-#21 := (:var 0 Int)
-#19 := (:var 1 Int)
-#41 := (f5 f6 #19)
-#42 := (f4 #41 #21)
-#771 := (pattern #42)
-#110 := (* -1::Int #21)
-#107 := (* -1::Int #19)
-#165 := (mod #107 #110)
-#280 := (+ #42 #165)
-#281 := (= #280 0::Int)
-#43 := (mod #19 #21)
-#277 := (* -1::Int #43)
-#278 := (+ #42 #277)
-#279 := (= #278 0::Int)
-#132 := (<= #21 0::Int)
-#139 := (>= #19 0::Int)
-#224 := (or #139 #132)
-#225 := (not #224)
-#128 := (<= #19 0::Int)
-#222 := (or #128 #132)
-#223 := (not #222)
-#228 := (or #223 #225)
-#282 := (if #228 #279 #281)
-#276 := (= #42 0::Int)
-#24 := (= #19 0::Int)
-#283 := (if #24 #276 #282)
-#275 := (= #42 #19)
-#25 := (= #21 0::Int)
-#284 := (if #25 #275 #283)
-#772 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #771) #284)
-#287 := (forall (vars (?v0 Int) (?v1 Int)) #284)
-#775 := (iff #287 #772)
-#773 := (iff #284 #284)
-#774 := [refl]: #773
-#776 := [quant-intro #774]: #775
-#171 := (* -1::Int #165)
-#244 := (if #228 #43 #171)
-#247 := (if #24 0::Int #244)
-#250 := (if #25 #19 #247)
-#253 := (= #42 #250)
-#256 := (forall (vars (?v0 Int) (?v1 Int)) #253)
-#288 := (iff #256 #287)
-#285 := (iff #253 #284)
-#286 := [rewrite]: #285
-#289 := [quant-intro #286]: #288
-#133 := (not #132)
-#140 := (not #139)
-#143 := (and #140 #133)
-#129 := (not #128)
-#136 := (and #129 #133)
-#146 := (or #136 #143)
-#191 := (if #146 #43 #171)
-#194 := (if #24 0::Int #191)
-#197 := (if #25 #19 #194)
-#200 := (= #42 #197)
-#203 := (forall (vars (?v0 Int) (?v1 Int)) #200)
-#257 := (iff #203 #256)
-#254 := (iff #200 #253)
-#251 := (= #197 #250)
-#248 := (= #194 #247)
-#245 := (= #191 #244)
-#229 := (iff #146 #228)
-#226 := (iff #143 #225)
-#227 := [rewrite]: #226
-#216 := (iff #136 #223)
-#217 := [rewrite]: #216
-#230 := [monotonicity #217 #227]: #229
-#246 := [monotonicity #230]: #245
-#249 := [monotonicity #246]: #248
-#252 := [monotonicity #249]: #251
-#255 := [monotonicity #252]: #254
-#258 := [quant-intro #255]: #257
-#214 := (~ #203 #203)
-#213 := (~ #200 #200)
-#210 := [refl]: #213
-#215 := [nnf-pos #210]: #214
-#35 := (- #21)
-#34 := (- #19)
-#44 := (mod #34 #35)
-#45 := (- #44)
-#28 := (< 0::Int #21)
-#30 := (< #19 0::Int)
-#31 := (and #30 #28)
-#27 := (< 0::Int #19)
-#29 := (and #27 #28)
-#32 := (or #29 #31)
-#46 := (if #32 #43 #45)
-#47 := (if #24 0::Int #46)
-#48 := (if #25 #19 #47)
-#49 := (= #42 #48)
-#50 := (forall (vars (?v0 Int) (?v1 Int)) #49)
-#206 := (iff #50 #203)
-#176 := (if #32 #43 #171)
-#179 := (if #24 0::Int #176)
-#182 := (if #25 #19 #179)
-#185 := (= #42 #182)
-#188 := (forall (vars (?v0 Int) (?v1 Int)) #185)
-#204 := (iff #188 #203)
-#201 := (iff #185 #200)
-#198 := (= #182 #197)
-#195 := (= #179 #194)
-#192 := (= #176 #191)
-#147 := (iff #32 #146)
-#144 := (iff #31 #143)
-#134 := (iff #28 #133)
-#135 := [rewrite]: #134
-#141 := (iff #30 #140)
-#142 := [rewrite]: #141
-#145 := [monotonicity #142 #135]: #144
-#137 := (iff #29 #136)
-#130 := (iff #27 #129)
-#131 := [rewrite]: #130
-#138 := [monotonicity #131 #135]: #137
-#148 := [monotonicity #138 #145]: #147
-#193 := [monotonicity #148]: #192
-#196 := [monotonicity #193]: #195
-#199 := [monotonicity #196]: #198
-#202 := [monotonicity #199]: #201
-#205 := [quant-intro #202]: #204
-#189 := (iff #50 #188)
-#186 := (iff #49 #185)
-#183 := (= #48 #182)
-#180 := (= #47 #179)
-#177 := (= #46 #176)
-#174 := (= #45 #171)
-#168 := (- #165)
-#172 := (= #168 #171)
-#173 := [rewrite]: #172
-#169 := (= #45 #168)
-#166 := (= #44 #165)
-#111 := (= #35 #110)
-#112 := [rewrite]: #111
-#108 := (= #34 #107)
-#109 := [rewrite]: #108
-#167 := [monotonicity #109 #112]: #166
-#170 := [monotonicity #167]: #169
-#175 := [trans #170 #173]: #174
-#178 := [monotonicity #175]: #177
-#181 := [monotonicity #178]: #180
-#184 := [monotonicity #181]: #183
-#187 := [monotonicity #184]: #186
-#190 := [quant-intro #187]: #189
-#207 := [trans #190 #205]: #206
-#164 := [asserted]: #50
-#208 := [mp #164 #207]: #203
-#211 := [mp~ #208 #215]: #203
-#259 := [mp #211 #258]: #256
-#290 := [mp #259 #289]: #287
-#777 := [mp #290 #776]: #772
-#730 := (not #772)
-#719 := (or #730 #446)
-#427 := (* -1::Int 2::Int)
-#759 := (mod #426 #427)
-#760 := (+ #11 #759)
-#761 := (= #760 0::Int)
-#439 := (<= 2::Int 0::Int)
-#442 := (or #438 #439)
-#421 := (not #442)
-#440 := (or #428 #439)
-#441 := (not #440)
-#756 := (or #441 #421)
-#762 := (if #756 #752 #761)
-#757 := (if #436 #437 #762)
-#435 := (= #11 f3)
-#351 := (= 2::Int 0::Int)
-#763 := (if #351 #435 #757)
-#720 := (or #730 #763)
-#716 := (iff #720 #719)
-#722 := (iff #719 #719)
-#723 := [rewrite]: #722
-#729 := (iff #763 #446)
-#449 := (if false #435 #446)
-#443 := (iff #449 #446)
-#725 := [rewrite]: #443
-#727 := (iff #763 #449)
-#447 := (iff #757 #446)
-#732 := (iff #762 #735)
-#457 := (iff #761 #456)
-#733 := (= #760 #357)
-#462 := (= #759 #461)
-#738 := (= #427 -2::Int)
-#460 := [rewrite]: #738
-#463 := [monotonicity #460]: #462
-#734 := [monotonicity #463]: #733
-#731 := [monotonicity #734]: #457
-#748 := (iff #756 #750)
-#389 := (iff #421 #749)
-#384 := (iff #442 #438)
-#743 := (or #438 false)
-#740 := (iff #743 #438)
-#746 := [rewrite]: #740
-#744 := (iff #442 #743)
-#418 := (iff #439 false)
-#754 := [rewrite]: #418
-#745 := [monotonicity #754]: #744
-#747 := [trans #745 #746]: #384
-#390 := [monotonicity #747]: #389
-#741 := (iff #441 #405)
-#403 := (iff #440 #428)
-#414 := (or #428 false)
-#739 := (iff #414 #428)
-#402 := [rewrite]: #739
-#755 := (iff #440 #414)
-#398 := [monotonicity #754]: #755
-#404 := [trans #398 #402]: #403
-#742 := [monotonicity #404]: #741
-#751 := [monotonicity #742 #390]: #748
-#736 := [monotonicity #751 #731]: #732
-#448 := [monotonicity #736]: #447
-#753 := (iff #351 false)
-#413 := [rewrite]: #753
-#728 := [monotonicity #413 #448]: #727
-#726 := [trans #728 #725]: #729
-#717 := [monotonicity #726]: #716
-#718 := [trans #717 #723]: #716
-#721 := [quant-inst #7 #10]: #720
-#724 := [mp #721 #718]: #719
-#652 := [unit-resolution #724 #777]: #446
-#548 := (not #436)
-#589 := (not #446)
-#643 := (or #589 #548)
-#697 := (not #437)
-#565 := (<= #11 0::Int)
-#653 := (not #565)
-#690 := (not #97)
-#691 := (or #653 #690)
-#650 := [th-lemma arith farkas 1 1]: #691
-#661 := [unit-resolution #650 #104]: #653
-#639 := (or #697 #565)
-#640 := [th-lemma arith triangle-eq]: #639
-#642 := [unit-resolution #640 #661]: #697
-#696 := (or #589 #548 #437)
-#598 := [def-axiom]: #696
-#644 := [unit-resolution #598 #642]: #643
-#645 := [unit-resolution #644 #652]: #548
-#693 := (or #589 #436 #735)
-#694 := [def-axiom]: #693
-#646 := [unit-resolution #694 #645 #652]: #735
-#544 := (not #735)
-#546 := (or #544 #712 #752)
-#547 := [def-axiom]: #546
-#647 := [unit-resolution #547 #646]: #641
-#633 := [unit-resolution #647 #651]: #712
-#567 := (or #750 #428)
-#709 := [def-axiom]: #567
-#629 := [unit-resolution #709 #633]: #428
-#710 := (or #750 #438)
-#711 := [def-axiom]: #710
-#630 := [unit-resolution #711 #633]: #438
-#631 := (or #436 #405 #749)
-#634 := [th-lemma arith triangle-eq]: #631
-#635 := [unit-resolution #634 #645]: #750
-[unit-resolution #635 #630 #629]: false
-unsat
-6c2df05479a46eb0dc1434ea9ed59f4fae72c26e 101 0
-#2 := false
-#8 := 0::Real
-decl f3 :: Real
-#7 := f3
-#9 := (= f3 0::Real)
-#10 := (not #9)
-#45 := [asserted]: #10
-#100 := (<= f3 0::Real)
-#20 := 2::Real
-#47 := (* 2::Real f3)
-#102 := (<= #47 0::Real)
-#95 := (= #47 0::Real)
-#19 := 4::Real
-#14 := (- f3)
-#13 := (< f3 0::Real)
-#15 := (if #13 #14 f3)
-#12 := 1::Real
-#16 := (< 1::Real #15)
-#17 := (not #16)
-#18 := (or #16 #17)
-#21 := (if #18 4::Real 2::Real)
-#22 := (* #21 f3)
-#11 := (+ f3 f3)
-#23 := (= #11 #22)
-#24 := (not #23)
-#25 := (not #24)
-#96 := (iff #25 #95)
-#77 := (* 4::Real f3)
-#80 := (= #47 #77)
-#93 := (iff #80 #95)
-#94 := [rewrite]: #93
-#91 := (iff #25 #80)
-#83 := (not #80)
-#86 := (not #83)
-#89 := (iff #86 #80)
-#90 := [rewrite]: #89
-#87 := (iff #25 #86)
-#84 := (iff #24 #83)
-#81 := (iff #23 #80)
-#78 := (= #22 #77)
-#75 := (= #21 4::Real)
-#1 := true
-#70 := (if true 4::Real 2::Real)
-#73 := (= #70 4::Real)
-#74 := [rewrite]: #73
-#71 := (= #21 #70)
-#68 := (iff #18 true)
-#50 := -1::Real
-#51 := (* -1::Real f3)
-#54 := (if #13 #51 f3)
-#57 := (< 1::Real #54)
-#60 := (not #57)
-#63 := (or #57 #60)
-#66 := (iff #63 true)
-#67 := [rewrite]: #66
-#64 := (iff #18 #63)
-#61 := (iff #17 #60)
-#58 := (iff #16 #57)
-#55 := (= #15 #54)
-#52 := (= #14 #51)
-#53 := [rewrite]: #52
-#56 := [monotonicity #53]: #55
-#59 := [monotonicity #56]: #58
-#62 := [monotonicity #59]: #61
-#65 := [monotonicity #59 #62]: #64
-#69 := [trans #65 #67]: #68
-#72 := [monotonicity #69]: #71
-#76 := [trans #72 #74]: #75
-#79 := [monotonicity #76]: #78
-#48 := (= #11 #47)
-#49 := [rewrite]: #48
-#82 := [monotonicity #49 #79]: #81
-#85 := [monotonicity #82]: #84
-#88 := [monotonicity #85]: #87
-#92 := [trans #88 #90]: #91
-#97 := [trans #92 #94]: #96
-#46 := [asserted]: #25
-#98 := [mp #46 #97]: #95
-#104 := (not #95)
-#105 := (or #104 #102)
-#106 := [th-lemma arith triangle-eq]: #105
-#107 := [unit-resolution #106 #98]: #102
-#108 := (not #102)
-#109 := (or #100 #108)
-#110 := [th-lemma arith assign-bounds 1]: #109
-#111 := [unit-resolution #110 #107]: #100
-#101 := (>= f3 0::Real)
-#103 := (>= #47 0::Real)
-#112 := (or #104 #103)
-#113 := [th-lemma arith triangle-eq]: #112
-#114 := [unit-resolution #113 #98]: #103
-#115 := (not #103)
-#116 := (or #101 #115)
-#117 := [th-lemma arith assign-bounds 1]: #116
-#118 := [unit-resolution #117 #114]: #101
-#120 := (not #101)
-#119 := (not #100)
-#121 := (or #9 #119 #120)
-#122 := [th-lemma arith triangle-eq]: #121
-[unit-resolution #122 #118 #111 #45]: false
-unsat
-0eb09039097aac0255a0090f04ca5df53ea2d10a 24 0
-#2 := false
-#7 := (exists (vars (?v0 Int)) false)
-#8 := (not #7)
-#9 := (not #8)
-#45 := (iff #9 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #9 #40)
-#38 := (iff #8 true)
-#33 := (not false)
-#36 := (iff #33 true)
-#37 := [rewrite]: #36
-#34 := (iff #8 #33)
-#31 := (iff #7 false)
-#32 := [elim-unused]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#30 := [asserted]: #9
-[mp #30 #46]: false
-unsat
-9f8072a1ad3de2c920c120b81de67bceefc50c87 916 0
-#2 := false
-#22 := 1::Int
-decl f3 :: (-> S2 Int Int)
-#12 := 2::Int
-decl f4 :: (-> S3 Int S2)
-decl f7 :: Int
-#9 := f7
-decl f5 :: S3
-#7 := f5
-#24 := (f4 f5 f7)
-#25 := (f3 #24 2::Int)
-#1265 := (<= #25 1::Int)
-#14 := 0::Int
-#551 := (mod f7 2::Int)
-#84 := -1::Int
-#521 := (* -1::Int #551)
-#522 := (+ #25 #521)
-#920 := (<= #522 0::Int)
-#523 := (= #522 0::Int)
-decl f6 :: Int
-#8 := f6
-#10 := (+ f6 f7)
-#431 := (>= #10 0::Int)
-#426 := (= #10 0::Int)
-#746 := (mod #10 2::Int)
-#748 := (* -1::Int #746)
-#11 := (f4 f5 #10)
-#13 := (f3 #11 2::Int)
-#405 := (+ #13 #748)
-#535 := (= #405 0::Int)
-#686 := (not #535)
-#691 := (<= #405 0::Int)
-#1269 := [hypothesis]: #535
-#1270 := (or #686 #691)
-#1271 := [th-lemma arith triangle-eq]: #1270
-#1272 := [unit-resolution #1271 #1269]: #691
-#693 := (>= #405 0::Int)
-#1273 := (or #686 #693)
-#1626 := [th-lemma arith triangle-eq]: #1273
-#1627 := [unit-resolution #1626 #1269]: #693
-#1371 := (not #691)
-#1437 := (not #693)
-#1647 := (or #1437 #1371)
-#1274 := (div f7 2::Int)
-#447 := -2::Int
-#1287 := (* -2::Int #1274)
-#1288 := (+ #521 #1287)
-#1289 := (+ f7 #1288)
-#1286 := (= #1289 0::Int)
-#1349 := (not #1286)
-#1474 := [hypothesis]: #1349
-#1 := true
-#78 := [true-axiom]: true
-#1346 := (or false #1286)
-#1347 := [th-lemma arith]: #1346
-#1475 := [unit-resolution #1347 #78 #1474]: false
-#1476 := [lemma #1475]: #1286
-#1472 := (or #1349 #1437 #1371)
-#1296 := (>= #551 0::Int)
-#1398 := (or false #1296)
-#1399 := [th-lemma arith]: #1398
-#1400 := [unit-resolution #1399 #78]: #1296
-#1422 := (>= #1289 0::Int)
-#1444 := [hypothesis]: #1286
-#1445 := (or #1349 #1422)
-#1446 := [th-lemma arith triangle-eq]: #1445
-#1447 := [unit-resolution #1446 #1444]: #1422
-#19 := 3::Int
-#17 := 4::Int
-#16 := (f4 f5 f6)
-#18 := (f3 #16 4::Int)
-#539 := (>= #18 3::Int)
-#20 := (= #18 3::Int)
-#81 := [asserted]: #20
-#989 := (not #20)
-#1010 := (or #989 #539)
-#1011 := [th-lemma arith triangle-eq]: #1010
-#1012 := [unit-resolution #1011 #81]: #539
-#831 := (div f6 4::Int)
-#634 := -4::Int
-#847 := (* -4::Int #831)
-#672 := (mod f6 4::Int)
-#673 := (* -1::Int #672)
-#848 := (+ #673 #847)
-#849 := (+ f6 #848)
-#855 := (>= #849 0::Int)
-#846 := (= #849 0::Int)
-#993 := (or false #846)
-#994 := [th-lemma arith]: #993
-#995 := [unit-resolution #994 #78]: #846
-#996 := (not #846)
-#1013 := (or #996 #855)
-#1014 := [th-lemma arith triangle-eq]: #1013
-#1015 := [unit-resolution #1014 #995]: #855
-#531 := (>= #13 0::Int)
-#15 := (= #13 0::Int)
-#80 := [asserted]: #15
-#593 := (not #15)
-#1428 := (or #593 #531)
-#1429 := [th-lemma arith triangle-eq]: #1428
-#1430 := [unit-resolution #1429 #80]: #531
-#777 := (div #10 2::Int)
-#794 := (* -2::Int #777)
-#795 := (+ #748 #794)
-#796 := (+ f7 #795)
-#797 := (+ f6 #796)
-#1268 := (>= #797 0::Int)
-#792 := (= #797 0::Int)
-#1355 := (or false #792)
-#1356 := [th-lemma arith]: #1355
-#1357 := [unit-resolution #1356 #78]: #792
-#1358 := (not #792)
-#1431 := (or #1358 #1268)
-#1432 := [th-lemma arith triangle-eq]: #1431
-#1433 := [unit-resolution #1432 #1357]: #1268
-#1434 := [hypothesis]: #693
-#674 := (+ #18 #673)
-#571 := (>= #674 0::Int)
-#668 := (= #674 0::Int)
-#453 := (* -1::Int f6)
-#631 := (mod #453 -4::Int)
-#619 := (+ #18 #631)
-#624 := (= #619 0::Int)
-#681 := (>= f6 0::Int)
-#640 := (not #681)
-#667 := (<= f6 0::Int)
-#641 := (not #667)
-#630 := (or #641 #640)
-#627 := (if #630 #668 #624)
-#678 := (= f6 0::Int)
-#561 := (not #678)
-#670 := (= #18 0::Int)
-#566 := (not #670)
-#389 := (= 3::Int 0::Int)
-#396 := (iff #389 false)
-#397 := [rewrite]: #396
-#407 := [hypothesis]: #670
-#409 := (= 3::Int #18)
-#410 := [symm #81]: #409
-#391 := [trans #410 #407]: #389
-#398 := [mp #391 #397]: false
-#399 := [lemma #398]: #566
-#1204 := (or #561 #670)
-#601 := (if #678 #670 #627)
-#32 := (:var 0 Int)
-#30 := (:var 1 Int)
-#51 := (f4 f5 #30)
-#52 := (f3 #51 #32)
-#761 := (pattern #52)
-#88 := (* -1::Int #32)
-#85 := (* -1::Int #30)
-#143 := (mod #85 #88)
-#272 := (+ #52 #143)
-#273 := (= #272 0::Int)
-#53 := (mod #30 #32)
-#269 := (* -1::Int #53)
-#270 := (+ #52 #269)
-#271 := (= #270 0::Int)
-#110 := (<= #32 0::Int)
-#117 := (>= #30 0::Int)
-#216 := (or #117 #110)
-#217 := (not #216)
-#106 := (<= #30 0::Int)
-#212 := (or #106 #110)
-#213 := (not #212)
-#220 := (or #213 #217)
-#274 := (if #220 #271 #273)
-#268 := (= #52 0::Int)
-#34 := (= #30 0::Int)
-#275 := (if #34 #268 #274)
-#267 := (= #52 #30)
-#35 := (= #32 0::Int)
-#276 := (if #35 #267 #275)
-#762 := (forall (vars (?v0 Int) (?v1 Int)) (:pat #761) #276)
-#279 := (forall (vars (?v0 Int) (?v1 Int)) #276)
-#765 := (iff #279 #762)
-#763 := (iff #276 #276)
-#764 := [refl]: #763
-#766 := [quant-intro #764]: #765
-#149 := (* -1::Int #143)
-#236 := (if #220 #53 #149)
-#239 := (if #34 0::Int #236)
-#242 := (if #35 #30 #239)
-#245 := (= #52 #242)
-#248 := (forall (vars (?v0 Int) (?v1 Int)) #245)
-#280 := (iff #248 #279)
-#277 := (iff #245 #276)
-#278 := [rewrite]: #277
-#281 := [quant-intro #278]: #280
-#111 := (not #110)
-#118 := (not #117)
-#121 := (and #118 #111)
-#107 := (not #106)
-#114 := (and #107 #111)
-#124 := (or #114 #121)
-#169 := (if #124 #53 #149)
-#172 := (if #34 0::Int #169)
-#175 := (if #35 #30 #172)
-#178 := (= #52 #175)
-#181 := (forall (vars (?v0 Int) (?v1 Int)) #178)
-#249 := (iff #181 #248)
-#246 := (iff #178 #245)
-#243 := (= #175 #242)
-#240 := (= #172 #239)
-#237 := (= #169 #236)
-#221 := (iff #124 #220)
-#218 := (iff #121 #217)
-#219 := [rewrite]: #218
-#214 := (iff #114 #213)
-#215 := [rewrite]: #214
-#222 := [monotonicity #215 #219]: #221
-#238 := [monotonicity #222]: #237
-#241 := [monotonicity #238]: #240
-#244 := [monotonicity #241]: #243
-#247 := [monotonicity #244]: #246
-#250 := [quant-intro #247]: #249
-#191 := (~ #181 #181)
-#193 := (~ #178 #178)
-#190 := [refl]: #193
-#194 := [nnf-pos #190]: #191
-#45 := (- #32)
-#44 := (- #30)
-#54 := (mod #44 #45)
-#55 := (- #54)
-#38 := (< 0::Int #32)
-#40 := (< #30 0::Int)
-#41 := (and #40 #38)
-#37 := (< 0::Int #30)
-#39 := (and #37 #38)
-#42 := (or #39 #41)
-#56 := (if #42 #53 #55)
-#57 := (if #34 0::Int #56)
-#58 := (if #35 #30 #57)
-#59 := (= #52 #58)
-#60 := (forall (vars (?v0 Int) (?v1 Int)) #59)
-#184 := (iff #60 #181)
-#154 := (if #42 #53 #149)
-#157 := (if #34 0::Int #154)
-#160 := (if #35 #30 #157)
-#163 := (= #52 #160)
-#166 := (forall (vars (?v0 Int) (?v1 Int)) #163)
-#182 := (iff #166 #181)
-#179 := (iff #163 #178)
-#176 := (= #160 #175)
-#173 := (= #157 #172)
-#170 := (= #154 #169)
-#125 := (iff #42 #124)
-#122 := (iff #41 #121)
-#112 := (iff #38 #111)
-#113 := [rewrite]: #112
-#119 := (iff #40 #118)
-#120 := [rewrite]: #119
-#123 := [monotonicity #120 #113]: #122
-#115 := (iff #39 #114)
-#108 := (iff #37 #107)
-#109 := [rewrite]: #108
-#116 := [monotonicity #109 #113]: #115
-#126 := [monotonicity #116 #123]: #125
-#171 := [monotonicity #126]: #170
-#174 := [monotonicity #171]: #173
-#177 := [monotonicity #174]: #176
-#180 := [monotonicity #177]: #179
-#183 := [quant-intro #180]: #182
-#167 := (iff #60 #166)
-#164 := (iff #59 #163)
-#161 := (= #58 #160)
-#158 := (= #57 #157)
-#155 := (= #56 #154)
-#152 := (= #55 #149)
-#146 := (- #143)
-#150 := (= #146 #149)
-#151 := [rewrite]: #150
-#147 := (= #55 #146)
-#144 := (= #54 #143)
-#89 := (= #45 #88)
-#90 := [rewrite]: #89
-#86 := (= #44 #85)
-#87 := [rewrite]: #86
-#145 := [monotonicity #87 #90]: #144
-#148 := [monotonicity #145]: #147
-#153 := [trans #148 #151]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#162 := [monotonicity #159]: #161
-#165 := [monotonicity #162]: #164
-#168 := [quant-intro #165]: #167
-#185 := [trans #168 #183]: #184
-#142 := [asserted]: #60
-#186 := [mp #142 #185]: #181
-#195 := [mp~ #186 #194]: #181
-#251 := [mp #195 #250]: #248
-#282 := [mp #251 #281]: #279
-#767 := [mp #282 #766]: #762
-#555 := (not #762)
-#612 := (or #555 #601)
-#675 := (* -1::Int 4::Int)
-#659 := (mod #453 #675)
-#660 := (+ #18 #659)
-#662 := (= #660 0::Int)
-#669 := (<= 4::Int 0::Int)
-#677 := (or #681 #669)
-#682 := (not #677)
-#679 := (or #667 #669)
-#680 := (not #679)
-#671 := (or #680 #682)
-#663 := (if #671 #668 #662)
-#664 := (if #678 #670 #663)
-#676 := (= #18 f6)
-#689 := (= 4::Int 0::Int)
-#665 := (if #689 #676 #664)
-#615 := (or #555 #665)
-#617 := (iff #615 #612)
-#618 := (iff #612 #612)
-#598 := [rewrite]: #618
-#610 := (iff #665 #601)
-#496 := (if false #676 #601)
-#609 := (iff #496 #601)
-#614 := [rewrite]: #609
-#607 := (iff #665 #496)
-#602 := (iff #664 #601)
-#622 := (iff #663 #627)
-#625 := (iff #662 #624)
-#620 := (= #660 #619)
-#637 := (= #659 #631)
-#635 := (= #675 -4::Int)
-#636 := [rewrite]: #635
-#623 := [monotonicity #636]: #637
-#621 := [monotonicity #623]: #620
-#626 := [monotonicity #621]: #625
-#632 := (iff #671 #630)
-#651 := (iff #682 #640)
-#649 := (iff #677 #681)
-#644 := (or #681 false)
-#647 := (iff #644 #681)
-#648 := [rewrite]: #647
-#645 := (iff #677 #644)
-#652 := (iff #669 false)
-#653 := [rewrite]: #652
-#646 := [monotonicity #653]: #645
-#650 := [trans #646 #648]: #649
-#629 := [monotonicity #650]: #651
-#642 := (iff #680 #641)
-#638 := (iff #679 #667)
-#655 := (or #667 false)
-#654 := (iff #655 #667)
-#658 := [rewrite]: #654
-#656 := (iff #679 #655)
-#657 := [monotonicity #653]: #656
-#639 := [trans #657 #658]: #638
-#643 := [monotonicity #639]: #642
-#633 := [monotonicity #643 #629]: #632
-#628 := [monotonicity #633 #626]: #622
-#603 := [monotonicity #628]: #602
-#661 := (iff #689 false)
-#666 := [rewrite]: #661
-#608 := [monotonicity #666 #603]: #607
-#611 := [trans #608 #614]: #610
-#613 := [monotonicity #611]: #617
-#544 := [trans #613 #598]: #617
-#616 := [quant-inst #8 #17]: #615
-#599 := [mp #616 #544]: #612
-#1203 := [unit-resolution #599 #767]: #601
-#560 := (not #601)
-#562 := (or #560 #561 #670)
-#563 := [def-axiom]: #562
-#1205 := [unit-resolution #563 #1203]: #1204
-#1206 := [unit-resolution #1205 #399]: #561
-#1207 := (or #678 #627)
-#564 := (or #560 #678 #627)
-#565 := [def-axiom]: #564
-#1208 := [unit-resolution #565 #1203]: #1207
-#1209 := [unit-resolution #1208 #1206]: #627
-#606 := (not #630)
-#826 := [hypothesis]: #606
-#580 := (or #630 #667)
-#604 := [def-axiom]: #580
-#827 := [unit-resolution #604 #826]: #667
-#605 := (or #630 #681)
-#600 := [def-axiom]: #605
-#828 := [unit-resolution #600 #826]: #681
-#829 := (or #678 #641 #640)
-#830 := [th-lemma arith triangle-eq]: #829
-#879 := [unit-resolution #830 #828 #827 #1206]: false
-#880 := [lemma #879]: #630
-#582 := (not #627)
-#584 := (or #582 #606 #668)
-#585 := [def-axiom]: #584
-#1353 := [unit-resolution #585 #880 #1209]: #668
-#576 := (not #668)
-#1216 := (or #576 #571)
-#1217 := [th-lemma arith triangle-eq]: #1216
-#1435 := [unit-resolution #1217 #1353]: #571
-#1330 := (* -1::Int #1274)
-#1051 := (* -2::Int #831)
-#1331 := (+ #1051 #1330)
-#940 := (* -1::Int #777)
-#1332 := (+ #940 #1331)
-#1333 := (+ #748 #1332)
-#1334 := (+ #673 #1333)
-#1335 := (+ #18 #1334)
-#1336 := (+ #13 #1335)
-#1337 := (+ f7 #1336)
-#1338 := (+ f6 #1337)
-#1339 := (>= #1338 2::Int)
-#1369 := (not #1339)
-#921 := (>= #522 0::Int)
-#1362 := [hypothesis]: #691
-#1438 := (or #523 #1437 #1371)
-#532 := (<= #18 3::Int)
-#990 := (or #989 #532)
-#991 := [th-lemma arith triangle-eq]: #990
-#992 := [unit-resolution #991 #81]: #532
-#854 := (<= #849 0::Int)
-#997 := (or #996 #854)
-#998 := [th-lemma arith triangle-eq]: #997
-#999 := [unit-resolution #998 #995]: #854
-#545 := (<= f7 0::Int)
-#542 := (= f7 0::Int)
-#1190 := (not #523)
-#1308 := [hypothesis]: #1190
-#1420 := (or #542 #523)
-#347 := (* -1::Int f7)
-#507 := (mod #347 -2::Int)
-#504 := (+ #25 #507)
-#493 := (= #504 0::Int)
-#548 := (>= f7 0::Int)
-#497 := (not #548)
-#517 := (not #545)
-#502 := (or #517 #497)
-#476 := (if #502 #523 #493)
-#1255 := (not #542)
-#1412 := [hypothesis]: #1255
-#1406 := (or #542 #476)
-#543 := (= #25 0::Int)
-#480 := (if #542 #543 #476)
-#366 := (or #555 #480)
-#416 := (* -1::Int 2::Int)
-#524 := (mod #347 #416)
-#526 := (+ #25 #524)
-#527 := (= #526 0::Int)
-#418 := (<= 2::Int 0::Int)
-#549 := (or #548 #418)
-#550 := (not #549)
-#546 := (or #545 #418)
-#547 := (not #546)
-#533 := (or #547 #550)
-#528 := (if #533 #523 #527)
-#371 := (if #542 #543 #528)
-#541 := (= #25 f7)
-#341 := (= 2::Int 0::Int)
-#529 := (if #341 #541 #371)
-#351 := (or #555 #529)
-#352 := (iff #351 #366)
-#355 := (iff #366 #366)
-#342 := [rewrite]: #355
-#488 := (iff #529 #480)
-#483 := (if false #541 #480)
-#486 := (iff #483 #480)
-#487 := [rewrite]: #486
-#484 := (iff #529 #483)
-#481 := (iff #371 #480)
-#478 := (iff #528 #476)
-#491 := (iff #527 #493)
-#490 := (= #526 #504)
-#500 := (= #524 #507)
-#721 := (= #416 -2::Int)
-#725 := [rewrite]: #721
-#503 := [monotonicity #725]: #500
-#492 := [monotonicity #503]: #490
-#494 := [monotonicity #492]: #491
-#506 := (iff #533 #502)
-#498 := (iff #550 #497)
-#505 := (iff #549 #548)
-#511 := (or #548 false)
-#510 := (iff #511 #548)
-#515 := [rewrite]: #510
-#513 := (iff #549 #511)
-#404 := (iff #418 false)
-#392 := [rewrite]: #404
-#514 := [monotonicity #392]: #513
-#495 := [trans #514 #515]: #505
-#501 := [monotonicity #495]: #498
-#520 := (iff #547 #517)
-#518 := (iff #546 #545)
-#525 := (or #545 false)
-#512 := (iff #525 #545)
-#516 := [rewrite]: #512
-#530 := (iff #546 #525)
-#509 := [monotonicity #392]: #530
-#519 := [trans #509 #516]: #518
-#508 := [monotonicity #519]: #520
-#499 := [monotonicity #508 #501]: #506
-#479 := [monotonicity #499 #494]: #478
-#482 := [monotonicity #479]: #481
-#753 := (iff #341 false)
-#743 := [rewrite]: #753
-#485 := [monotonicity #743 #482]: #484
-#477 := [trans #485 #487]: #488
-#350 := [monotonicity #477]: #352
-#344 := [trans #350 #342]: #352
-#349 := [quant-inst #9 #12]: #351
-#345 := [mp #349 #344]: #366
-#1313 := [unit-resolution #345 #767]: #480
-#1254 := (not #480)
-#1258 := (or #1254 #542 #476)
-#1259 := [def-axiom]: #1258
-#1407 := [unit-resolution #1259 #1313]: #1406
-#1413 := [unit-resolution #1407 #1412]: #476
-#1410 := (or #548 #523)
-#1309 := [hypothesis]: #497
-#881 := (or #502 #548)
-#882 := [def-axiom]: #881
-#1310 := [unit-resolution #882 #1309]: #502
-#1311 := (or #1255 #548)
-#1312 := [th-lemma arith triangle-eq]: #1311
-#1295 := [unit-resolution #1312 #1309]: #1255
-#1408 := [unit-resolution #1407 #1295]: #476
-#883 := (not #502)
-#802 := (not #476)
-#1102 := (or #802 #883 #523)
-#1103 := [def-axiom]: #1102
-#1409 := [unit-resolution #1103 #1408 #1310 #1308]: false
-#1411 := [lemma #1409]: #1410
-#1414 := [unit-resolution #1411 #1308]: #548
-#1415 := (or #542 #517 #497)
-#1416 := [th-lemma arith triangle-eq]: #1415
-#1417 := [unit-resolution #1416 #1412 #1414]: #517
-#370 := (or #502 #545)
-#372 := [def-axiom]: #370
-#1418 := [unit-resolution #372 #1417]: #502
-#1419 := [unit-resolution #1103 #1418 #1413 #1308]: false
-#1421 := [lemma #1419]: #1420
-#1424 := [unit-resolution #1421 #1308]: #542
-#1425 := (or #1255 #545)
-#1426 := [th-lemma arith triangle-eq]: #1425
-#1427 := [unit-resolution #1426 #1424]: #545
-#570 := (<= #13 0::Int)
-#1364 := (or #593 #570)
-#1365 := [th-lemma arith triangle-eq]: #1364
-#1366 := [unit-resolution #1365 #80]: #570
-#1267 := (<= #797 0::Int)
-#1359 := (or #1358 #1267)
-#1360 := [th-lemma arith triangle-eq]: #1359
-#1361 := [unit-resolution #1360 #1357]: #1267
-#540 := (<= #674 0::Int)
-#1212 := (or #576 #540)
-#1213 := [th-lemma arith triangle-eq]: #1212
-#1354 := [unit-resolution #1213 #1353]: #540
-#1436 := [th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 -1/2 #1435 #1354 #1434 #1362 #1433 #1361 #1430 #1366 #1414 #1427 #1015 #999 #1012 #992]: false
-#1439 := [lemma #1436]: #1438
-#1448 := [unit-resolution #1439 #1434 #1362]: #523
-#1449 := (or #1190 #921)
-#1450 := [th-lemma arith triangle-eq]: #1449
-#1451 := [unit-resolution #1450 #1448]: #921
-#1266 := (>= #25 1::Int)
-#1344 := (not #1266)
-#1452 := (or #1190 #920)
-#1453 := [th-lemma arith triangle-eq]: #1452
-#1454 := [unit-resolution #1453 #1448]: #920
-#1302 := (>= #551 2::Int)
-#1303 := (not #1302)
-#1455 := (or false #1303)
-#1456 := [th-lemma arith]: #1455
-#1457 := [unit-resolution #1456 #78]: #1303
-#1458 := (not #920)
-#1459 := (or #1265 #1302 #1458)
-#1460 := [th-lemma arith assign-bounds 1 1]: #1459
-#1461 := [unit-resolution #1460 #1457 #1454]: #1265
-#1464 := (not #1265)
-#1467 := (or #1464 #1344)
-#26 := (= #25 1::Int)
-#189 := (not #26)
-#21 := (f3 #16 2::Int)
-#23 := (= #21 1::Int)
-#1248 := (or #606 #23)
-#884 := (div f6 2::Int)
-#1118 := (* -1::Int #884)
-#1119 := (+ #1051 #1118)
-#1120 := (+ #673 #1119)
-#448 := (mod f6 2::Int)
-#457 := (* -1::Int #448)
-#1121 := (+ #457 #1120)
-#1122 := (+ #18 #1121)
-#1123 := (+ f6 #1122)
-#1124 := (>= #1123 2::Int)
-#1134 := (not #1124)
-#1210 := [hypothesis]: #630
-#1211 := [unit-resolution #585 #1210 #1209]: #668
-#1214 := [unit-resolution #1213 #1211]: #540
-#1005 := (not #540)
-#1135 := (or #1134 #1005)
-#906 := (>= #448 0::Int)
-#1129 := (or false #906)
-#1130 := [th-lemma arith]: #1129
-#1131 := [unit-resolution #1130 #78]: #906
-#1000 := [hypothesis]: #540
-#897 := (* -2::Int #884)
-#898 := (+ #457 #897)
-#899 := (+ f6 #898)
-#904 := (<= #899 0::Int)
-#896 := (= #899 0::Int)
-#1076 := (or false #896)
-#1077 := [th-lemma arith]: #1076
-#1078 := [unit-resolution #1077 #78]: #896
-#1079 := (not #896)
-#1080 := (or #1079 #904)
-#1081 := [th-lemma arith triangle-eq]: #1080
-#1082 := [unit-resolution #1081 #1078]: #904
-#1132 := [hypothesis]: #1124
-#1133 := [th-lemma arith farkas -1 2 -1 -1 -1 1 #992 #1132 #999 #1082 #1000 #1131]: false
-#1136 := [lemma #1133]: #1135
-#1215 := [unit-resolution #1136 #1214]: #1134
-#1218 := [unit-resolution #1217 #1211]: #571
-#905 := (>= #899 0::Int)
-#1219 := (or #1079 #905)
-#1220 := [th-lemma arith triangle-eq]: #1219
-#1221 := [unit-resolution #1220 #1078]: #905
-#458 := (+ #21 #457)
-#369 := (>= #458 0::Int)
-#449 := (= #458 0::Int)
-#489 := (mod #453 -2::Int)
-#471 := (+ #21 #489)
-#474 := (= #471 0::Int)
-#455 := (if #630 #449 #474)
-#475 := (= #21 0::Int)
-#424 := (if #678 #475 #455)
-#375 := (or #555 #424)
-#459 := (mod #453 #416)
-#440 := (+ #21 #459)
-#441 := (= #440 0::Int)
-#462 := (or #681 #418)
-#464 := (not #462)
-#460 := (or #667 #418)
-#461 := (not #460)
-#463 := (or #461 #464)
-#442 := (if #463 #449 #441)
-#434 := (if #678 #475 #442)
-#467 := (= #21 f6)
-#443 := (if #341 #467 #434)
-#377 := (or #555 #443)
-#381 := (iff #377 #375)
-#382 := (iff #375 #375)
-#357 := [rewrite]: #382
-#384 := (iff #443 #424)
-#390 := (if false #467 #424)
-#385 := (iff #390 #424)
-#386 := [rewrite]: #385
-#402 := (iff #443 #390)
-#400 := (iff #434 #424)
-#456 := (iff #442 #455)
-#465 := (iff #441 #474)
-#472 := (= #440 #471)
-#469 := (= #459 #489)
-#470 := [monotonicity #725]: #469
-#473 := [monotonicity #470]: #472
-#454 := [monotonicity #473]: #465
-#466 := (iff #463 #630)
-#422 := (iff #464 #640)
-#420 := (iff #462 #681)
-#406 := (iff #462 #644)
-#419 := [monotonicity #392]: #406
-#421 := [trans #419 #648]: #420
-#423 := [monotonicity #421]: #422
-#414 := (iff #461 #641)
-#445 := (iff #460 #667)
-#444 := (iff #460 #655)
-#435 := [monotonicity #392]: #444
-#412 := [trans #435 #658]: #445
-#415 := [monotonicity #412]: #414
-#468 := [monotonicity #415 #423]: #466
-#413 := [monotonicity #468 #454]: #456
-#401 := [monotonicity #413]: #400
-#383 := [monotonicity #743 #401]: #402
-#387 := [trans #383 #386]: #384
-#376 := [monotonicity #387]: #381
-#361 := [trans #376 #357]: #381
-#378 := [quant-inst #8 #12]: #377
-#362 := [mp #378 #361]: #375
-#1222 := [unit-resolution #362 #767]: #424
-#348 := (not #424)
-#1223 := (or #348 #455)
-#353 := (or #348 #678 #455)
-#354 := [def-axiom]: #353
-#1224 := [unit-resolution #354 #1206]: #1223
-#1225 := [unit-resolution #1224 #1222]: #455
-#368 := (not #455)
-#373 := (or #368 #606 #449)
-#356 := [def-axiom]: #373
-#1226 := [unit-resolution #356 #1210 #1225]: #449
-#363 := (not #449)
-#1227 := (or #363 #369)
-#1228 := [th-lemma arith triangle-eq]: #1227
-#1229 := [unit-resolution #1228 #1226]: #369
-#346 := (>= #21 1::Int)
-#1084 := (not #346)
-#343 := (<= #21 1::Int)
-#912 := (>= #448 2::Int)
-#913 := (not #912)
-#1230 := (or false #913)
-#1231 := [th-lemma arith]: #1230
-#1232 := [unit-resolution #1231 #78]: #913
-#367 := (<= #458 0::Int)
-#1233 := (or #363 #367)
-#1234 := [th-lemma arith triangle-eq]: #1233
-#1235 := [unit-resolution #1234 #1226]: #367
-#1236 := (not #367)
-#1237 := (or #343 #912 #1236)
-#1238 := [th-lemma arith assign-bounds 1 1]: #1237
-#1239 := [unit-resolution #1238 #1235 #1232]: #343
-#1241 := (not #343)
-#1244 := (or #1241 #1084)
-#188 := (not #23)
-#1240 := [hypothesis]: #188
-#1242 := (or #23 #1241 #1084)
-#1243 := [th-lemma arith triangle-eq]: #1242
-#1245 := [unit-resolution #1243 #1240]: #1244
-#1246 := [unit-resolution #1245 #1239]: #1084
-#1247 := [th-lemma arith farkas -1/2 -1/2 1/2 -1/2 -1/2 -1/2 1 #1012 #1015 #1246 #1229 #1221 #1218 #1215]: false
-#1249 := [lemma #1247]: #1248
-#1462 := [unit-resolution #1249 #880]: #23
-#200 := (or #188 #189)
-#27 := (and #23 #26)
-#28 := (not #27)
-#209 := (iff #28 #200)
-#201 := (not #200)
-#204 := (not #201)
-#207 := (iff #204 #200)
-#208 := [rewrite]: #207
-#205 := (iff #28 #204)
-#202 := (iff #27 #201)
-#203 := [rewrite]: #202
-#206 := [monotonicity #203]: #205
-#210 := [trans #206 #208]: #209
-#82 := [asserted]: #28
-#211 := [mp #82 #210]: #200
-#1463 := [unit-resolution #211 #1462]: #189
-#1465 := (or #26 #1464 #1344)
-#1466 := [th-lemma arith triangle-eq]: #1465
-#1468 := [unit-resolution #1466 #1463]: #1467
-#1469 := [unit-resolution #1468 #1461]: #1344
-#1370 := (not #921)
-#1372 := (or #1369 #1370 #1371 #1266)
-#1345 := [hypothesis]: #1344
-#1294 := (<= #1289 0::Int)
-#1348 := [unit-resolution #1347 #78]: #1286
-#1350 := (or #1349 #1294)
-#1351 := [th-lemma arith triangle-eq]: #1350
-#1352 := [unit-resolution #1351 #1348]: #1294
-#1363 := [hypothesis]: #1339
-#1367 := [hypothesis]: #921
-#1368 := [th-lemma arith farkas -1 1 -2 1 1 1 1 1 1 1 #1367 #1366 #1363 #1362 #1361 #1354 #1352 #999 #992 #1345]: false
-#1373 := [lemma #1368]: #1372
-#1470 := [unit-resolution #1373 #1469 #1362 #1451]: #1369
-#1471 := [th-lemma arith farkas -2 1 1 1 1 1 1 1 1 #1470 #1435 #1434 #1433 #1430 #1015 #1012 #1447 #1400]: false
-#1473 := [lemma #1471]: #1472
-#1648 := [unit-resolution #1473 #1476]: #1647
-#1649 := [unit-resolution #1648 #1627 #1272]: false
-#1650 := [lemma #1649]: #686
-#1479 := (or #426 #535)
-#1423 := [hypothesis]: #686
-#723 := (+ #453 #347)
-#722 := (mod #723 -2::Int)
-#437 := (+ #13 #722)
-#717 := (= #437 0::Int)
-#741 := (not #431)
-#427 := (<= #10 0::Int)
-#735 := (not #427)
-#450 := (or #735 #741)
-#715 := (if #450 #535 #717)
-#589 := (not #426)
-#768 := [hypothesis]: #589
-#1441 := (or #426 #715)
-#720 := (if #426 #15 #715)
-#556 := (or #555 #720)
-#742 := (* -1::Int #10)
-#417 := (mod #742 #416)
-#749 := (+ #13 #417)
-#750 := (= #749 0::Int)
-#428 := (or #431 #418)
-#432 := (not #428)
-#429 := (or #427 #418)
-#430 := (not #429)
-#411 := (or #430 #432)
-#751 := (if #411 #535 #750)
-#752 := (if #426 #15 #751)
-#425 := (= #13 #10)
-#747 := (if #341 #425 #752)
-#557 := (or #555 #747)
-#700 := (iff #557 #556)
-#702 := (iff #556 #556)
-#696 := [rewrite]: #702
-#708 := (iff #747 #720)
-#745 := (* -1::Int #13)
-#388 := (+ f7 #745)
-#729 := (+ f6 #388)
-#744 := (= #729 0::Int)
-#711 := (if false #744 #720)
-#712 := (iff #711 #720)
-#713 := [rewrite]: #712
-#706 := (iff #747 #711)
-#709 := (iff #752 #720)
-#719 := (iff #751 #715)
-#718 := (iff #750 #717)
-#438 := (= #749 #437)
-#726 := (= #417 #722)
-#724 := (= #742 #723)
-#446 := [rewrite]: #724
-#436 := [monotonicity #446 #725]: #726
-#439 := [monotonicity #436]: #438
-#433 := [monotonicity #439]: #718
-#451 := (iff #411 #450)
-#727 := (iff #432 #741)
-#740 := (iff #428 #431)
-#374 := (or #431 false)
-#379 := (iff #374 #431)
-#380 := [rewrite]: #379
-#737 := (iff #428 #374)
-#739 := [monotonicity #392]: #737
-#738 := [trans #739 #380]: #740
-#728 := [monotonicity #738]: #727
-#730 := (iff #430 #735)
-#733 := (iff #429 #427)
-#393 := (or #427 false)
-#731 := (iff #393 #427)
-#732 := [rewrite]: #731
-#394 := (iff #429 #393)
-#395 := [monotonicity #392]: #394
-#734 := [trans #395 #732]: #733
-#736 := [monotonicity #734]: #730
-#452 := [monotonicity #736 #728]: #451
-#716 := [monotonicity #452 #433]: #719
-#710 := [monotonicity #716]: #709
-#408 := (iff #425 #744)
-#403 := [rewrite]: #408
-#707 := [monotonicity #743 #403 #710]: #706
-#714 := [trans #707 #713]: #708
-#701 := [monotonicity #714]: #700
-#697 := [trans #701 #696]: #700
-#699 := [quant-inst #10 #12]: #557
-#703 := [mp #699 #697]: #556
-#1440 := [unit-resolution #703 #767]: #720
-#587 := (not #720)
-#591 := (or #587 #426 #715)
-#592 := [def-axiom]: #591
-#1442 := [unit-resolution #592 #1440]: #1441
-#1443 := [unit-resolution #1442 #768]: #715
-#775 := (or #450 #426)
-#536 := (not #450)
-#769 := [hypothesis]: #536
-#704 := (or #450 #427)
-#698 := [def-axiom]: #704
-#770 := [unit-resolution #698 #769]: #427
-#705 := (or #450 #431)
-#534 := [def-axiom]: #705
-#771 := [unit-resolution #534 #769]: #431
-#772 := (or #426 #735 #741)
-#773 := [th-lemma arith triangle-eq]: #772
-#774 := [unit-resolution #773 #771 #770 #768]: false
-#776 := [lemma #774]: #775
-#1477 := [unit-resolution #776 #768]: #450
-#695 := (not #715)
-#577 := (or #695 #536 #535)
-#578 := [def-axiom]: #577
-#1478 := [unit-resolution #578 #1477 #1443 #1423]: false
-#1480 := [lemma #1478]: #1479
-#1651 := [unit-resolution #1480 #1650]: #426
-#1652 := (or #589 #431)
-#1653 := [th-lemma arith triangle-eq]: #1652
-#1654 := [unit-resolution #1653 #1651]: #431
-#1655 := (or #589 #427)
-#1656 := [th-lemma arith triangle-eq]: #1655
-#1657 := [unit-resolution #1656 #1651]: #427
-#1645 := (or #523 #741 #735)
-#1513 := [hypothesis]: #427
-#1580 := (or #497 #735 #667)
-#1022 := [hypothesis]: #641
-#1487 := [hypothesis]: #548
-#1579 := [th-lemma arith farkas -1 1 1 #1513 #1487 #1022]: false
-#1581 := [lemma #1579]: #1580
-#1641 := [unit-resolution #1581 #1414 #1513]: #667
-#1642 := [unit-resolution #830 #1206]: #630
-#1643 := [unit-resolution #1642 #1641]: #640
-#1573 := [hypothesis]: #431
-#1644 := [th-lemma arith farkas -1 1 1 #1573 #1643 #1427]: false
-#1646 := [lemma #1644]: #1645
-#1658 := [unit-resolution #1646 #1657 #1654]: #523
-#1659 := [unit-resolution #1453 #1658]: #920
-#1660 := (or #1265 #1458)
-#1623 := [hypothesis]: #1302
-#1624 := [unit-resolution #1456 #78 #1623]: false
-#1625 := [lemma #1624]: #1303
-#1661 := [unit-resolution #1460 #1625]: #1660
-#1662 := [unit-resolution #1661 #1659]: #1265
-#1503 := (+ #673 #1331)
-#1609 := (+ #521 #1503)
-#1610 := (+ #18 #1609)
-#1611 := (+ f7 #1610)
-#1612 := (+ f6 #1611)
-#1613 := (>= #1612 2::Int)
-#1620 := (not #1613)
-#1621 := (or #1620 #735)
-#1512 := [unit-resolution #1351 #1476]: #1294
-#1618 := [hypothesis]: #1613
-#1619 := [th-lemma arith farkas 2 -1 -1 -1 -1 -1 1 #1618 #1513 #1354 #999 #992 #1512 #1400]: false
-#1622 := [lemma #1619]: #1621
-#1663 := [unit-resolution #1622 #1657]: #1620
-#1664 := [unit-resolution #1450 #1658]: #921
-#1639 := (or #1370 #1613 #741 #1266)
-#1597 := [unit-resolution #1446 #1476]: #1422
-#1637 := [th-lemma arith #1573 #1345 #1367 #1435 #1015 #1012 #1597]: #1613
-#1636 := [hypothesis]: #1620
-#1638 := [unit-resolution #1636 #1637]: false
-#1640 := [lemma #1638]: #1639
-#1665 := [unit-resolution #1640 #1664 #1654 #1663]: #1266
-[unit-resolution #1468 #1665 #1662]: false
-unsat
-f966ee970dc5619d71e606afb53aade7fa8a1452 24 0
-#2 := false
-#7 := (exists (vars (?v0 Real)) false)
-#8 := (not #7)
-#9 := (not #8)
-#45 := (iff #9 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #9 #40)
-#38 := (iff #8 true)
-#33 := (not false)
-#36 := (iff #33 true)
-#37 := [rewrite]: #36
-#34 := (iff #8 #33)
-#31 := (iff #7 false)
-#32 := [elim-unused]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#30 := [asserted]: #9
-[mp #30 #46]: false
-unsat
-c4f4c8220660d1979009b33a643f0927bee816b1 1 0
-unsat
-e7ef76d73ccb9bc09d2b5368495a7a59d1bae3dc 1 0
-unsat
-db6426d59fdd57da8ca5d11de399761d1f1443de 1 0
-unsat
-a2da5fa16f268876e3dcbc1874e34212d0a36218 54 0
-#2 := false
-#11 := 1::Int
-#8 := 0::Int
-#135 := (= 0::Int 1::Int)
-#137 := (iff #135 false)
-#138 := [rewrite]: #137
-decl ?v1!0 :: Int
-#55 := ?v1!0
-#58 := (= ?v1!0 1::Int)
-decl ?v0!1 :: Int
-#56 := ?v0!1
-#57 := (= ?v0!1 0::Int)
-#50 := (and #57 #58)
-#59 := (= ?v0!1 ?v1!0)
-#60 := (not #59)
-#52 := (not #50)
-#61 := (or #52 #60)
-#62 := (not #61)
-#10 := (:var 0 Int)
-#7 := (:var 1 Int)
-#14 := (= #7 #10)
-#15 := (not #14)
-#12 := (= #10 1::Int)
-#9 := (= #7 0::Int)
-#13 := (and #9 #12)
-#39 := (not #13)
-#40 := (or #39 #15)
-#43 := (forall (vars (?v0 Int) (?v1 Int)) #40)
-#46 := (not #43)
-#63 := (~ #46 #62)
-#64 := [sk]: #63
-#16 := (implies #13 #15)
-#17 := (forall (vars (?v0 Int) (?v1 Int)) #16)
-#18 := (not #17)
-#47 := (iff #18 #46)
-#44 := (iff #17 #43)
-#41 := (iff #16 #40)
-#42 := [rewrite]: #41
-#45 := [quant-intro #42]: #44
-#48 := [monotonicity #45]: #47
-#38 := [asserted]: #18
-#51 := [mp #38 #48]: #46
-#67 := [mp~ #51 #64]: #62
-#70 := [not-or-elim #67]: #50
-#72 := [and-elim #70]: #58
-#133 := (= 0::Int ?v1!0)
-#73 := [not-or-elim #67]: #59
-#131 := (= 0::Int ?v0!1)
-#71 := [and-elim #70]: #57
-#132 := [symm #71]: #131
-#134 := [trans #132 #73]: #133
-#136 := [trans #134 #72]: #135
-[mp #136 #138]: false
-unsat
-46597b09986e0d4d045609318eeba242d6132e5c 82 0
-#2 := false
-#8 := (:var 0 Int)
-#10 := 0::Int
-#12 := (<= 0::Int #8)
-#11 := (< #8 0::Int)
-#13 := (or #11 #12)
-#7 := (:var 1 Int)
-#9 := (< #7 #8)
-#14 := (implies #9 #13)
-#15 := (forall (vars (?v1 Int)) #14)
-#16 := (exists (vars (?v0 Int)) #15)
-#17 := (not #16)
-#102 := (iff #17 false)
-#38 := (not #9)
-#39 := (or #38 #13)
-#42 := (forall (vars (?v1 Int)) #39)
-#45 := (exists (vars (?v0 Int)) #42)
-#48 := (not #45)
-#100 := (iff #48 false)
-#1 := true
-#95 := (not true)
-#98 := (iff #95 false)
-#99 := [rewrite]: #98
-#96 := (iff #48 #95)
-#93 := (iff #45 true)
-#88 := (exists (vars (?v0 Int)) true)
-#91 := (iff #88 true)
-#92 := [elim-unused]: #91
-#89 := (iff #45 #88)
-#86 := (iff #42 true)
-#81 := (forall (vars (?v1 Int)) true)
-#84 := (iff #81 true)
-#85 := [elim-unused]: #84
-#82 := (iff #42 #81)
-#79 := (iff #39 true)
-#53 := (>= #8 0::Int)
-#51 := (not #53)
-#71 := (or #51 #53)
-#57 := -1::Int
-#60 := (* -1::Int #8)
-#61 := (+ #7 #60)
-#59 := (>= #61 0::Int)
-#74 := (or #59 #71)
-#77 := (iff #74 true)
-#78 := [rewrite]: #77
-#75 := (iff #39 #74)
-#72 := (iff #13 #71)
-#55 := (iff #12 #53)
-#56 := [rewrite]: #55
-#52 := (iff #11 #51)
-#54 := [rewrite]: #52
-#73 := [monotonicity #54 #56]: #72
-#69 := (iff #38 #59)
-#58 := (not #59)
-#64 := (not #58)
-#67 := (iff #64 #59)
-#68 := [rewrite]: #67
-#65 := (iff #38 #64)
-#62 := (iff #9 #58)
-#63 := [rewrite]: #62
-#66 := [monotonicity #63]: #65
-#70 := [trans #66 #68]: #69
-#76 := [monotonicity #70 #73]: #75
-#80 := [trans #76 #78]: #79
-#83 := [quant-intro #80]: #82
-#87 := [trans #83 #85]: #86
-#90 := [quant-intro #87]: #89
-#94 := [trans #90 #92]: #93
-#97 := [monotonicity #94]: #96
-#101 := [trans #97 #99]: #100
-#49 := (iff #17 #48)
-#46 := (iff #16 #45)
-#43 := (iff #15 #42)
-#40 := (iff #14 #39)
-#41 := [rewrite]: #40
-#44 := [quant-intro #41]: #43
-#47 := [quant-intro #44]: #46
-#50 := [monotonicity #47]: #49
-#103 := [trans #50 #101]: #102
-#37 := [asserted]: #17
-[mp #37 #103]: false
-unsat
-aea13e787f95ed97feac7bd1dfc69160a5b8be70 78 0
-#2 := false
-#8 := (:var 0 Int)
-#10 := 2::Int
-#14 := (* 2::Int #8)
-#12 := 1::Int
-#7 := (:var 1 Int)
-#11 := (* 2::Int #7)
-#13 := (+ #11 1::Int)
-#15 := (< #13 #14)
-#9 := (< #7 #8)
-#16 := (implies #9 #15)
-#17 := (forall (vars (?v0 Int) (?v1 Int)) #16)
-#18 := (not #17)
-#98 := (iff #18 false)
-#40 := (+ 1::Int #11)
-#43 := (< #40 #14)
-#49 := (not #9)
-#50 := (or #49 #43)
-#55 := (forall (vars (?v0 Int) (?v1 Int)) #50)
-#58 := (not #55)
-#96 := (iff #58 false)
-#1 := true
-#91 := (not true)
-#94 := (iff #91 false)
-#95 := [rewrite]: #94
-#92 := (iff #58 #91)
-#89 := (iff #55 true)
-#84 := (forall (vars (?v0 Int) (?v1 Int)) true)
-#87 := (iff #84 true)
-#88 := [elim-unused]: #87
-#85 := (iff #55 #84)
-#82 := (iff #50 true)
-#20 := 0::Int
-#61 := -1::Int
-#64 := (* -1::Int #8)
-#65 := (+ #7 #64)
-#63 := (>= #65 0::Int)
-#62 := (not #63)
-#76 := (or #63 #62)
-#80 := (iff #76 true)
-#81 := [rewrite]: #80
-#78 := (iff #50 #76)
-#77 := (iff #43 #62)
-#75 := [rewrite]: #77
-#73 := (iff #49 #63)
-#68 := (not #62)
-#71 := (iff #68 #63)
-#72 := [rewrite]: #71
-#69 := (iff #49 #68)
-#66 := (iff #9 #62)
-#67 := [rewrite]: #66
-#70 := [monotonicity #67]: #69
-#74 := [trans #70 #72]: #73
-#79 := [monotonicity #74 #75]: #78
-#83 := [trans #79 #81]: #82
-#86 := [quant-intro #83]: #85
-#90 := [trans #86 #88]: #89
-#93 := [monotonicity #90]: #92
-#97 := [trans #93 #95]: #96
-#59 := (iff #18 #58)
-#56 := (iff #17 #55)
-#53 := (iff #16 #50)
-#46 := (implies #9 #43)
-#51 := (iff #46 #50)
-#52 := [rewrite]: #51
-#47 := (iff #16 #46)
-#44 := (iff #15 #43)
-#41 := (= #13 #40)
-#42 := [rewrite]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#54 := [trans #48 #52]: #53
-#57 := [quant-intro #54]: #56
-#60 := [monotonicity #57]: #59
-#99 := [trans #60 #97]: #98
-#39 := [asserted]: #18
-[mp #39 #99]: false
-unsat
-e6703a33319f0e5148dba82e8205956f98cd7b63 56 0
-#2 := false
-#12 := (:var 0 Int)
-#7 := 2::Int
-#13 := (* 2::Int #12)
-#10 := 1::Int
-#8 := (:var 1 Int)
-#9 := (* 2::Int #8)
-#11 := (+ #9 1::Int)
-#14 := (= #11 #13)
-#15 := (not #14)
-#16 := (forall (vars (?v0 Int) (?v1 Int)) #15)
-#17 := (not #16)
-#77 := (iff #17 false)
-#39 := (+ 1::Int #9)
-#42 := (= #39 #13)
-#45 := (not #42)
-#48 := (forall (vars (?v0 Int) (?v1 Int)) #45)
-#51 := (not #48)
-#75 := (iff #51 false)
-#1 := true
-#70 := (not true)
-#73 := (iff #70 false)
-#74 := [rewrite]: #73
-#71 := (iff #51 #70)
-#68 := (iff #48 true)
-#63 := (forall (vars (?v0 Int) (?v1 Int)) true)
-#66 := (iff #63 true)
-#67 := [elim-unused]: #66
-#64 := (iff #48 #63)
-#61 := (iff #45 true)
-#54 := (not false)
-#59 := (iff #54 true)
-#60 := [rewrite]: #59
-#55 := (iff #45 #54)
-#56 := (iff #42 false)
-#57 := [rewrite]: #56
-#58 := [monotonicity #57]: #55
-#62 := [trans #58 #60]: #61
-#65 := [quant-intro #62]: #64
-#69 := [trans #65 #67]: #68
-#72 := [monotonicity #69]: #71
-#76 := [trans #72 #74]: #75
-#52 := (iff #17 #51)
-#49 := (iff #16 #48)
-#46 := (iff #15 #45)
-#43 := (iff #14 #42)
-#40 := (= #11 #39)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#47 := [monotonicity #44]: #46
-#50 := [quant-intro #47]: #49
-#53 := [monotonicity #50]: #52
-#78 := [trans #53 #76]: #77
-#38 := [asserted]: #17
-[mp #38 #78]: false
-unsat
-8a770e2a15f5bbced47daef21d1d322e18a383fb 89 0
-#2 := false
-#7 := 2::Int
-decl ?v0!1 :: Int
-#71 := ?v0!1
-decl ?v1!0 :: Int
-#70 := ?v1!0
-#85 := (+ ?v1!0 ?v0!1)
-#94 := (= #85 2::Int)
-#109 := (not #94)
-#97 := (>= #85 2::Int)
-#100 := (not #97)
-#88 := (<= #85 2::Int)
-#91 := (not #88)
-#103 := (or #91 #94 #100)
-#106 := (not #103)
-#72 := (+ ?v0!1 ?v1!0)
-#74 := (>= #72 2::Int)
-#75 := (not #74)
-#67 := (= #72 2::Int)
-#73 := (<= #72 2::Int)
-#40 := (not #73)
-#76 := (or #40 #67 #75)
-#77 := (not #76)
-#107 := (iff #77 #106)
-#104 := (iff #76 #103)
-#101 := (iff #75 #100)
-#98 := (iff #74 #97)
-#86 := (= #72 #85)
-#87 := [rewrite]: #86
-#99 := [monotonicity #87]: #98
-#102 := [monotonicity #99]: #101
-#95 := (iff #67 #94)
-#96 := [monotonicity #87]: #95
-#92 := (iff #40 #91)
-#89 := (iff #73 #88)
-#90 := [monotonicity #87]: #89
-#93 := [monotonicity #90]: #92
-#105 := [monotonicity #93 #96 #102]: #104
-#108 := [monotonicity #105]: #107
-#9 := (:var 0 Int)
-#8 := (:var 1 Int)
-#10 := (+ #8 #9)
-#44 := (>= #10 2::Int)
-#41 := (not #44)
-#12 := (= #10 2::Int)
-#45 := (<= #10 2::Int)
-#46 := (not #45)
-#55 := (or #46 #12 #41)
-#60 := (forall (vars (?v0 Int) (?v1 Int)) #55)
-#63 := (not #60)
-#78 := (~ #63 #77)
-#79 := [sk]: #78
-#13 := (< #10 2::Int)
-#14 := (or #12 #13)
-#11 := (< 2::Int #10)
-#15 := (or #11 #14)
-#16 := (forall (vars (?v0 Int) (?v1 Int)) #15)
-#17 := (not #16)
-#64 := (iff #17 #63)
-#61 := (iff #16 #60)
-#58 := (iff #15 #55)
-#49 := (or #12 #41)
-#52 := (or #46 #49)
-#56 := (iff #52 #55)
-#57 := [rewrite]: #56
-#53 := (iff #15 #52)
-#50 := (iff #14 #49)
-#43 := (iff #13 #41)
-#42 := [rewrite]: #43
-#51 := [monotonicity #42]: #50
-#47 := (iff #11 #46)
-#48 := [rewrite]: #47
-#54 := [monotonicity #48 #51]: #53
-#59 := [trans #54 #57]: #58
-#62 := [quant-intro #59]: #61
-#65 := [monotonicity #62]: #64
-#38 := [asserted]: #17
-#66 := [mp #38 #65]: #63
-#82 := [mp~ #66 #79]: #77
-#83 := [mp #82 #108]: #106
-#110 := [not-or-elim #83]: #109
-#111 := [not-or-elim #83]: #97
-#173 := (or #94 #100)
-#84 := [not-or-elim #83]: #88
-#171 := (or #94 #91 #100)
-#172 := [th-lemma arith triangle-eq]: #171
-#174 := [unit-resolution #172 #84]: #173
-[unit-resolution #174 #111 #110]: false
-unsat
-c93368b1109e5b13c7d8bc3c33d69c60ba539127 89 0
-#2 := false
-#7 := 0::Int
-decl ?v0!0 :: Int
-#87 := ?v0!0
-#88 := (<= ?v0!0 0::Int)
-#157 := (not #88)
-#166 := [hypothesis]: #88
-#10 := 1::Int
-#89 := (>= ?v0!0 1::Int)
-#90 := (not #89)
-#167 := (or #90 #157)
-#168 := [th-lemma arith farkas 1 1]: #167
-#169 := [unit-resolution #168 #166]: #90
-#170 := (or #157 #89)
-#56 := -1::Int
-#83 := (<= ?v0!0 -1::Int)
-#84 := (not #83)
-#91 := (if #88 #90 #84)
-#92 := (not #91)
-#8 := (:var 0 Int)
-#57 := (<= #8 -1::Int)
-#58 := (not #57)
-#62 := (>= #8 1::Int)
-#61 := (not #62)
-#52 := (<= #8 0::Int)
-#68 := (if #52 #61 #58)
-#73 := (forall (vars (?v0 Int)) #68)
-#76 := (not #73)
-#93 := (~ #76 #92)
-#94 := [sk]: #93
-#13 := (< #8 1::Int)
-#11 := (+ #8 1::Int)
-#12 := (< 0::Int #11)
-#9 := (< 0::Int #8)
-#14 := (if #9 #12 #13)
-#15 := (forall (vars (?v0 Int)) #14)
-#16 := (not #15)
-#79 := (iff #16 #76)
-#37 := (+ 1::Int #8)
-#40 := (< 0::Int #37)
-#43 := (if #9 #40 #13)
-#46 := (forall (vars (?v0 Int)) #43)
-#49 := (not #46)
-#77 := (iff #49 #76)
-#74 := (iff #46 #73)
-#71 := (iff #43 #68)
-#53 := (not #52)
-#65 := (if #53 #58 #61)
-#69 := (iff #65 #68)
-#70 := [rewrite]: #69
-#66 := (iff #43 #65)
-#63 := (iff #13 #61)
-#64 := [rewrite]: #63
-#59 := (iff #40 #58)
-#60 := [rewrite]: #59
-#54 := (iff #9 #53)
-#55 := [rewrite]: #54
-#67 := [monotonicity #55 #60 #64]: #66
-#72 := [trans #67 #70]: #71
-#75 := [quant-intro #72]: #74
-#78 := [monotonicity #75]: #77
-#50 := (iff #16 #49)
-#47 := (iff #15 #46)
-#44 := (iff #14 #43)
-#41 := (iff #12 #40)
-#38 := (= #11 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#48 := [quant-intro #45]: #47
-#51 := [monotonicity #48]: #50
-#80 := [trans #51 #78]: #79
-#36 := [asserted]: #16
-#81 := [mp #36 #80]: #76
-#97 := [mp~ #81 #94]: #92
-#162 := (or #91 #157 #89)
-#163 := [def-axiom]: #162
-#171 := [unit-resolution #163 #97]: #170
-#172 := [unit-resolution #171 #169 #166]: false
-#173 := [lemma #172]: #157
-#174 := (or #84 #88)
-#175 := [th-lemma arith farkas 1 1]: #174
-#176 := [unit-resolution #175 #173]: #84
-#177 := (or #88 #83)
-#164 := (or #91 #88 #83)
-#165 := [def-axiom]: #164
-#178 := [unit-resolution #165 #97]: #177
-[unit-resolution #178 #176 #173]: false
-unsat
-8578dab7bf88c7d119f9af2e5f7eaf948f1bdb87 84 0
-WARNING: failed to find a pattern for quantifier (quantifier id: k!10)
-#2 := false
-#8 := 0::Int
-#7 := (:var 0 Int)
-#49 := (<= #7 0::Int)
-#50 := (not #49)
-#47 := (>= #7 0::Int)
-#45 := (not #47)
-#53 := (or #45 #50)
-#56 := (forall (vars (?v0 Int)) #53)
-#525 := (not #56)
-#218 := (<= 0::Int 0::Int)
-#539 := (not #218)
-#207 := (>= 0::Int 0::Int)
-#201 := (not #207)
-#537 := (or #201 #539)
-#526 := (or #525 #537)
-#170 := (iff #526 #525)
-#527 := (or #525 false)
-#530 := (iff #527 #525)
-#169 := [rewrite]: #530
-#164 := (iff #526 #527)
-#523 := (iff #537 false)
-#182 := (or false false)
-#185 := (iff #182 false)
-#522 := [rewrite]: #185
-#183 := (iff #537 #182)
-#178 := (iff #539 false)
-#1 := true
-#543 := (not true)
-#222 := (iff #543 false)
-#544 := [rewrite]: #222
-#194 := (iff #539 #543)
-#198 := (iff #218 true)
-#535 := [rewrite]: #198
-#536 := [monotonicity #535]: #194
-#520 := [trans #536 #544]: #178
-#534 := (iff #201 false)
-#538 := (iff #201 #543)
-#541 := (iff #207 true)
-#542 := [rewrite]: #541
-#326 := [monotonicity #542]: #538
-#193 := [trans #326 #544]: #534
-#184 := [monotonicity #193 #520]: #183
-#524 := [trans #184 #522]: #523
-#528 := [monotonicity #524]: #164
-#531 := [trans #528 #169]: #170
-#521 := [quant-inst #8]: #526
-#529 := [mp #521 #531]: #525
-#69 := (~ #56 #56)
-#67 := (~ #53 #53)
-#68 := [refl]: #67
-#70 := [nnf-pos #68]: #69
-#10 := (< 0::Int #7)
-#9 := (< #7 0::Int)
-#11 := (or #9 #10)
-#12 := (forall (vars (?v0 Int)) #11)
-#13 := (if #12 false true)
-#14 := (not #13)
-#59 := (iff #14 #56)
-#57 := (iff #12 #56)
-#54 := (iff #11 #53)
-#51 := (iff #10 #50)
-#52 := [rewrite]: #51
-#46 := (iff #9 #45)
-#48 := [rewrite]: #46
-#55 := [monotonicity #48 #52]: #54
-#58 := [quant-intro #55]: #57
-#43 := (iff #14 #12)
-#35 := (not #12)
-#38 := (not #35)
-#41 := (iff #38 #12)
-#42 := [rewrite]: #41
-#39 := (iff #14 #38)
-#36 := (iff #13 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#60 := [trans #44 #58]: #59
-#34 := [asserted]: #14
-#61 := [mp #34 #60]: #56
-#63 := [mp~ #61 #70]: #56
-[unit-resolution #63 #529]: false
-unsat
-f6f0c702e5caae5d1fc0a3e7862c44d261de6d47 63 0
-#2 := false
-#15 := 1::Int
-#12 := (:var 1 Int)
-#10 := 6::Int
-#11 := (- 6::Int)
-#13 := (* #11 #12)
-#8 := (:var 2 Int)
-#7 := 4::Int
-#9 := (* 4::Int #8)
-#14 := (+ #9 #13)
-#16 := (= #14 1::Int)
-#17 := (exists (vars (?v0 Int) (?v1 Int) (?v2 Int)) #16)
-#18 := (not #17)
-#19 := (not #18)
-#86 := (iff #19 false)
-#56 := (:var 0 Int)
-#41 := -6::Int
-#58 := (* -6::Int #56)
-#57 := (* 4::Int #12)
-#59 := (+ #57 #58)
-#60 := (= #59 1::Int)
-#61 := (exists (vars (?v0 Int) (?v1 Int)) #60)
-#84 := (iff #61 false)
-#77 := (exists (vars (?v0 Int) (?v1 Int)) false)
-#82 := (iff #77 false)
-#83 := [elim-unused]: #82
-#80 := (iff #61 #77)
-#78 := (iff #60 false)
-#79 := [rewrite]: #78
-#81 := [quant-intro #79]: #80
-#85 := [trans #81 #83]: #84
-#74 := (iff #19 #61)
-#66 := (not #61)
-#69 := (not #66)
-#72 := (iff #69 #61)
-#73 := [rewrite]: #72
-#70 := (iff #19 #69)
-#67 := (iff #18 #66)
-#64 := (iff #17 #61)
-#44 := (* -6::Int #12)
-#47 := (+ #9 #44)
-#50 := (= #47 1::Int)
-#53 := (exists (vars (?v0 Int) (?v1 Int) (?v2 Int)) #50)
-#62 := (iff #53 #61)
-#63 := [elim-unused]: #62
-#54 := (iff #17 #53)
-#51 := (iff #16 #50)
-#48 := (= #14 #47)
-#45 := (= #13 #44)
-#42 := (= #11 -6::Int)
-#43 := [rewrite]: #42
-#46 := [monotonicity #43]: #45
-#49 := [monotonicity #46]: #48
-#52 := [monotonicity #49]: #51
-#55 := [quant-intro #52]: #54
-#65 := [trans #55 #63]: #64
-#68 := [monotonicity #65]: #67
-#71 := [monotonicity #68]: #70
-#75 := [trans #71 #73]: #74
-#87 := [trans #75 #85]: #86
-#40 := [asserted]: #19
-[mp #40 #87]: false
-unsat
-252d255c564463d916bc68156eea8dbe7fb0be0a 165 0
-WARNING: failed to find a pattern for quantifier (quantifier id: k!10)
-#2 := false
-#7 := 0::Int
-#8 := (:var 0 Int)
-#55 := (<= #8 0::Int)
-#56 := (not #55)
-#52 := (>= #8 0::Int)
-#51 := (not #52)
-#59 := (or #51 #56)
-#62 := (forall (vars (?v0 Int)) #59)
-#95 := (not #62)
-#587 := (<= 0::Int 0::Int)
-#586 := (not #587)
-#585 := (>= 0::Int 0::Int)
-#248 := (not #585)
-#593 := (or #248 #586)
-#290 := (or #95 #593)
-#569 := (iff #290 #95)
-#292 := (or #95 false)
-#572 := (iff #292 #95)
-#287 := [rewrite]: #572
-#293 := (iff #290 #292)
-#576 := (iff #593 false)
-#578 := (or false false)
-#575 := (iff #578 false)
-#579 := [rewrite]: #575
-#300 := (iff #593 #578)
-#201 := (iff #586 false)
-#1 := true
-#594 := (not true)
-#592 := (iff #594 false)
-#595 := [rewrite]: #592
-#306 := (iff #586 #594)
-#304 := (iff #587 true)
-#305 := [rewrite]: #304
-#307 := [monotonicity #305]: #306
-#577 := [trans #307 #595]: #201
-#581 := (iff #248 false)
-#589 := (iff #248 #594)
-#233 := (iff #585 true)
-#234 := [rewrite]: #233
-#249 := [monotonicity #234]: #589
-#582 := [trans #249 #595]: #581
-#301 := [monotonicity #582 #577]: #300
-#580 := [trans #301 #579]: #576
-#571 := [monotonicity #580]: #293
-#573 := [trans #571 #287]: #569
-#291 := [quant-inst #7]: #290
-#570 := [mp #291 #573]: #95
-decl z3name!0 :: bool
-#92 := z3name!0
-#15 := 3::Int
-#39 := -1::Int
-#99 := (if z3name!0 -1::Int 3::Int)
-#284 := (= #99 3::Int)
-#604 := (not #284)
-#602 := (>= #99 3::Int)
-#259 := (not #602)
-#102 := (<= #99 0::Int)
-#65 := (if #62 -1::Int 3::Int)
-#71 := (<= #65 0::Int)
-#103 := (~ #71 #102)
-#100 := (= #65 #99)
-#97 := (~ #62 z3name!0)
-#88 := (or z3name!0 #95)
-#93 := (not z3name!0)
-#94 := (or #93 #62)
-#89 := (and #94 #88)
-#96 := [intro-def]: #89
-#98 := [apply-def #96]: #97
-#101 := [monotonicity #98]: #100
-#104 := [monotonicity #101]: #103
-#13 := 1::Int
-#14 := (- 1::Int)
-#10 := (< 0::Int #8)
-#9 := (< #8 0::Int)
-#11 := (or #9 #10)
-#12 := (forall (vars (?v0 Int)) #11)
-#16 := (if #12 #14 3::Int)
-#17 := (< 0::Int #16)
-#18 := (not #17)
-#84 := (iff #18 #71)
-#42 := (if #12 -1::Int 3::Int)
-#45 := (< 0::Int #42)
-#48 := (not #45)
-#82 := (iff #48 #71)
-#72 := (not #71)
-#77 := (not #72)
-#80 := (iff #77 #71)
-#81 := [rewrite]: #80
-#78 := (iff #48 #77)
-#75 := (iff #45 #72)
-#68 := (< 0::Int #65)
-#73 := (iff #68 #72)
-#74 := [rewrite]: #73
-#69 := (iff #45 #68)
-#66 := (= #42 #65)
-#63 := (iff #12 #62)
-#60 := (iff #11 #59)
-#57 := (iff #10 #56)
-#58 := [rewrite]: #57
-#53 := (iff #9 #51)
-#54 := [rewrite]: #53
-#61 := [monotonicity #54 #58]: #60
-#64 := [quant-intro #61]: #63
-#67 := [monotonicity #64]: #66
-#70 := [monotonicity #67]: #69
-#76 := [trans #70 #74]: #75
-#79 := [monotonicity #76]: #78
-#83 := [trans #79 #81]: #82
-#49 := (iff #18 #48)
-#46 := (iff #17 #45)
-#43 := (= #16 #42)
-#40 := (= #14 -1::Int)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#47 := [monotonicity #44]: #46
-#50 := [monotonicity #47]: #49
-#85 := [trans #50 #83]: #84
-#38 := [asserted]: #18
-#86 := [mp #38 #85]: #71
-#133 := [mp~ #86 #104]: #102
-#389 := (not #102)
-#596 := (or #259 #389)
-#270 := [th-lemma arith farkas 1 1]: #596
-#271 := [unit-resolution #270 #133]: #259
-#603 := [hypothesis]: #284
-#605 := (or #604 #602)
-#606 := [th-lemma arith triangle-eq]: #605
-#601 := [unit-resolution #606 #603 #271]: false
-#607 := [lemma #601]: #604
-#286 := (or z3name!0 #284)
-#265 := [def-axiom]: #286
-#574 := [unit-resolution #265 #607]: z3name!0
-decl ?v0!1 :: Int
-#115 := ?v0!1
-#118 := (<= ?v0!1 0::Int)
-#119 := (not #118)
-#116 := (>= ?v0!1 0::Int)
-#117 := (not #116)
-#120 := (or #117 #119)
-#121 := (not #120)
-#126 := (or z3name!0 #121)
-#129 := (and #94 #126)
-#130 := (~ #89 #129)
-#127 := (~ #88 #126)
-#122 := (~ #95 #121)
-#123 := [sk]: #122
-#113 := (~ z3name!0 z3name!0)
-#114 := [refl]: #113
-#128 := [monotonicity #114 #123]: #127
-#111 := (~ #94 #94)
-#109 := (~ #62 #62)
-#107 := (~ #59 #59)
-#108 := [refl]: #107
-#110 := [nnf-pos #108]: #109
-#105 := (~ #93 #93)
-#106 := [refl]: #105
-#112 := [monotonicity #106 #110]: #111
-#131 := [monotonicity #112 #128]: #130
-#132 := [mp~ #96 #131]: #129
-#136 := [and-elim #132]: #94
-#563 := [unit-resolution #136 #574]: #62
-[unit-resolution #563 #570]: false
-unsat
-302156fb98e1f9b5657a3c89c418d5e1813f274a 101 0
-#2 := false
-#7 := 0::Int
-decl ?v1!1 :: Int
-#92 := ?v1!1
-decl ?v2!0 :: Int
-#91 := ?v2!0
-#109 := (+ ?v2!0 ?v1!1)
-#112 := (<= #109 0::Int)
-#115 := (not #112)
-#87 := (<= ?v2!0 0::Int)
-#88 := (not #87)
-#93 := (<= ?v1!1 0::Int)
-#94 := (not #93)
-#95 := (and #94 #88)
-#96 := (not #95)
-#118 := (or #96 #115)
-#121 := (not #118)
-#97 := (+ ?v1!1 ?v2!0)
-#98 := (<= #97 0::Int)
-#99 := (not #98)
-#100 := (or #96 #99)
-#101 := (not #100)
-#122 := (iff #101 #121)
-#119 := (iff #100 #118)
-#116 := (iff #99 #115)
-#113 := (iff #98 #112)
-#110 := (= #97 #109)
-#111 := [rewrite]: #110
-#114 := [monotonicity #111]: #113
-#117 := [monotonicity #114]: #116
-#120 := [monotonicity #117]: #119
-#123 := [monotonicity #120]: #122
-#10 := (:var 0 Int)
-#8 := (:var 1 Int)
-#13 := (+ #8 #10)
-#70 := (<= #13 0::Int)
-#71 := (not #70)
-#60 := (<= #10 0::Int)
-#61 := (not #60)
-#56 := (<= #8 0::Int)
-#57 := (not #56)
-#64 := (and #57 #61)
-#67 := (not #64)
-#74 := (or #67 #71)
-#77 := (forall (vars (?v1 Int) (?v2 Int)) #74)
-#80 := (not #77)
-#102 := (~ #80 #101)
-#103 := [sk]: #102
-#14 := (< 0::Int #13)
-#11 := (< 0::Int #10)
-#9 := (< 0::Int #8)
-#12 := (and #9 #11)
-#15 := (implies #12 #14)
-#16 := (forall (vars (?v1 Int) (?v2 Int)) #15)
-#17 := (exists (vars (?v0 Int)) #16)
-#18 := (not #17)
-#83 := (iff #18 #80)
-#39 := (not #12)
-#40 := (or #39 #14)
-#43 := (forall (vars (?v1 Int) (?v2 Int)) #40)
-#53 := (not #43)
-#81 := (iff #53 #80)
-#78 := (iff #43 #77)
-#75 := (iff #40 #74)
-#72 := (iff #14 #71)
-#73 := [rewrite]: #72
-#68 := (iff #39 #67)
-#65 := (iff #12 #64)
-#62 := (iff #11 #61)
-#63 := [rewrite]: #62
-#58 := (iff #9 #57)
-#59 := [rewrite]: #58
-#66 := [monotonicity #59 #63]: #65
-#69 := [monotonicity #66]: #68
-#76 := [monotonicity #69 #73]: #75
-#79 := [quant-intro #76]: #78
-#82 := [monotonicity #79]: #81
-#54 := (iff #18 #53)
-#51 := (iff #17 #43)
-#46 := (exists (vars (?v0 Int)) #43)
-#49 := (iff #46 #43)
-#50 := [elim-unused]: #49
-#47 := (iff #17 #46)
-#44 := (iff #16 #43)
-#41 := (iff #15 #40)
-#42 := [rewrite]: #41
-#45 := [quant-intro #42]: #44
-#48 := [quant-intro #45]: #47
-#52 := [trans #48 #50]: #51
-#55 := [monotonicity #52]: #54
-#84 := [trans #55 #82]: #83
-#38 := [asserted]: #18
-#85 := [mp #38 #84]: #80
-#106 := [mp~ #85 #103]: #101
-#107 := [mp #106 #123]: #121
-#126 := [not-or-elim #107]: #112
-#108 := [not-or-elim #107]: #95
-#124 := [and-elim #108]: #94
-#125 := [and-elim #108]: #88
-[th-lemma arith farkas 1 1 1 #125 #124 #126]: false
-unsat
-bcc217c52aea6d752e93b67733058589bedd0079 99 0
-#2 := false
-#39 := -1::Int
-decl ?v1!1 :: Int
-#101 := ?v1!1
-#106 := (<= ?v1!1 -1::Int)
-#107 := (not #106)
-#10 := 0::Real
-decl ?v2!0 :: Real
-#100 := ?v2!0
-#102 := (<= ?v2!0 0::Real)
-#103 := (not #102)
-#7 := 0::Int
-#98 := (<= ?v1!1 0::Int)
-#99 := (not #98)
-#104 := (and #99 #103)
-#105 := (not #104)
-#108 := (or #105 #107)
-#109 := (not #108)
-#8 := (:var 1 Int)
-#81 := (<= #8 -1::Int)
-#82 := (not #81)
-#11 := (:var 0 Real)
-#71 := (<= #11 0::Real)
-#72 := (not #71)
-#67 := (<= #8 0::Int)
-#68 := (not #67)
-#75 := (and #68 #72)
-#78 := (not #75)
-#85 := (or #78 #82)
-#88 := (forall (vars (?v1 Int) (?v2 Real)) #85)
-#91 := (not #88)
-#110 := (~ #91 #109)
-#111 := [sk]: #110
-#14 := 1::Int
-#15 := (- 1::Int)
-#16 := (< #15 #8)
-#12 := (< 0::Real #11)
-#9 := (< 0::Int #8)
-#13 := (and #9 #12)
-#17 := (implies #13 #16)
-#18 := (forall (vars (?v1 Int) (?v2 Real)) #17)
-#19 := (exists (vars (?v0 Int)) #18)
-#20 := (not #19)
-#94 := (iff #20 #91)
-#42 := (< -1::Int #8)
-#48 := (not #13)
-#49 := (or #48 #42)
-#54 := (forall (vars (?v1 Int) (?v2 Real)) #49)
-#64 := (not #54)
-#92 := (iff #64 #91)
-#89 := (iff #54 #88)
-#86 := (iff #49 #85)
-#83 := (iff #42 #82)
-#84 := [rewrite]: #83
-#79 := (iff #48 #78)
-#76 := (iff #13 #75)
-#73 := (iff #12 #72)
-#74 := [rewrite]: #73
-#69 := (iff #9 #68)
-#70 := [rewrite]: #69
-#77 := [monotonicity #70 #74]: #76
-#80 := [monotonicity #77]: #79
-#87 := [monotonicity #80 #84]: #86
-#90 := [quant-intro #87]: #89
-#93 := [monotonicity #90]: #92
-#65 := (iff #20 #64)
-#62 := (iff #19 #54)
-#57 := (exists (vars (?v0 Int)) #54)
-#60 := (iff #57 #54)
-#61 := [elim-unused]: #60
-#58 := (iff #19 #57)
-#55 := (iff #18 #54)
-#52 := (iff #17 #49)
-#45 := (implies #13 #42)
-#50 := (iff #45 #49)
-#51 := [rewrite]: #50
-#46 := (iff #17 #45)
-#43 := (iff #16 #42)
-#40 := (= #15 -1::Int)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#47 := [monotonicity #44]: #46
-#53 := [trans #47 #51]: #52
-#56 := [quant-intro #53]: #55
-#59 := [quant-intro #56]: #58
-#63 := [trans #59 #61]: #62
-#66 := [monotonicity #63]: #65
-#95 := [trans #66 #93]: #94
-#38 := [asserted]: #20
-#96 := [mp #38 #95]: #91
-#114 := [mp~ #96 #111]: #109
-#120 := [not-or-elim #114]: #106
-#117 := [not-or-elim #114]: #104
-#118 := [and-elim #117]: #99
-#178 := (or #107 #98)
-#179 := [th-lemma arith farkas 1 1]: #178
-#180 := [unit-resolution #179 #118]: #107
-[unit-resolution #180 #120]: false
-unsat
-8a78832884e41117489fba88c88de0b5cacb832a 143 0
-#2 := false
-#10 := 0::Int
-#8 := (:var 0 Int)
-#68 := (<= #8 0::Int)
-#69 := (not #68)
-#146 := (not false)
-#149 := (or #146 #69)
-#152 := (not #149)
-#155 := (forall (vars (?v0 Int)) #152)
-#182 := (iff #155 false)
-#177 := (forall (vars (?v0 Int)) false)
-#180 := (iff #177 false)
-#181 := [elim-unused]: #180
-#178 := (iff #155 #177)
-#175 := (iff #152 false)
-#1 := true
-#170 := (not true)
-#173 := (iff #170 false)
-#174 := [rewrite]: #173
-#171 := (iff #152 #170)
-#168 := (iff #149 true)
-#163 := (or true #69)
-#166 := (iff #163 true)
-#167 := [rewrite]: #166
-#164 := (iff #149 #163)
-#161 := (iff #146 true)
-#162 := [rewrite]: #161
-#165 := [monotonicity #162]: #164
-#169 := [trans #165 #167]: #168
-#172 := [monotonicity #169]: #171
-#176 := [trans #172 #174]: #175
-#179 := [quant-intro #176]: #178
-#183 := [trans #179 #181]: #182
-#59 := -1::Int
-#60 := (* -1::Int #8)
-#7 := (:var 1 Int)
-#61 := (+ #7 #60)
-#62 := (<= #61 0::Int)
-#65 := (not #62)
-#72 := (or #65 #69)
-#75 := (forall (vars (?v1 Int)) #72)
-#78 := (not #75)
-#81 := (or #78 #69)
-#107 := (not #81)
-#125 := (forall (vars (?v0 Int)) #107)
-#158 := (iff #125 #155)
-#129 := (forall (vars (?v1 Int)) #69)
-#132 := (not #129)
-#135 := (or #132 #69)
-#138 := (not #135)
-#141 := (forall (vars (?v0 Int)) #138)
-#156 := (iff #141 #155)
-#157 := [rewrite]: #156
-#142 := (iff #125 #141)
-#143 := [rewrite]: #142
-#159 := [trans #143 #157]: #158
-#118 := (and #75 #68)
-#121 := (forall (vars (?v0 Int)) #118)
-#126 := (iff #121 #125)
-#115 := (iff #118 #107)
-#124 := [rewrite]: #115
-#127 := [quant-intro #124]: #126
-#103 := (not #69)
-#106 := (and #75 #103)
-#110 := (forall (vars (?v0 Int)) #106)
-#122 := (iff #110 #121)
-#119 := (iff #106 #118)
-#116 := (iff #103 #68)
-#117 := [rewrite]: #116
-#120 := [monotonicity #117]: #119
-#123 := [quant-intro #120]: #122
-#84 := (exists (vars (?v0 Int)) #81)
-#87 := (not #84)
-#111 := (~ #87 #110)
-#108 := (~ #107 #106)
-#104 := (~ #103 #103)
-#105 := [refl]: #104
-#94 := (not #78)
-#95 := (~ #94 #75)
-#100 := (~ #75 #75)
-#98 := (~ #72 #72)
-#99 := [refl]: #98
-#101 := [nnf-pos #99]: #100
-#102 := [nnf-neg #101]: #95
-#109 := [nnf-neg #102 #105]: #108
-#112 := [nnf-neg #109]: #111
-#11 := (< 0::Int #8)
-#9 := (<= #7 #8)
-#12 := (implies #9 #11)
-#13 := (forall (vars (?v1 Int)) #12)
-#14 := (implies #13 #11)
-#15 := (exists (vars (?v0 Int)) #14)
-#16 := (not #15)
-#90 := (iff #16 #87)
-#37 := (not #9)
-#38 := (or #37 #11)
-#41 := (forall (vars (?v1 Int)) #38)
-#47 := (not #41)
-#48 := (or #47 #11)
-#53 := (exists (vars (?v0 Int)) #48)
-#56 := (not #53)
-#88 := (iff #56 #87)
-#85 := (iff #53 #84)
-#82 := (iff #48 #81)
-#70 := (iff #11 #69)
-#71 := [rewrite]: #70
-#79 := (iff #47 #78)
-#76 := (iff #41 #75)
-#73 := (iff #38 #72)
-#66 := (iff #37 #65)
-#63 := (iff #9 #62)
-#64 := [rewrite]: #63
-#67 := [monotonicity #64]: #66
-#74 := [monotonicity #67 #71]: #73
-#77 := [quant-intro #74]: #76
-#80 := [monotonicity #77]: #79
-#83 := [monotonicity #80 #71]: #82
-#86 := [quant-intro #83]: #85
-#89 := [monotonicity #86]: #88
-#57 := (iff #16 #56)
-#54 := (iff #15 #53)
-#51 := (iff #14 #48)
-#44 := (implies #41 #11)
-#49 := (iff #44 #48)
-#50 := [rewrite]: #49
-#45 := (iff #14 #44)
-#42 := (iff #13 #41)
-#39 := (iff #12 #38)
-#40 := [rewrite]: #39
-#43 := [quant-intro #40]: #42
-#46 := [monotonicity #43]: #45
-#52 := [trans #46 #50]: #51
-#55 := [quant-intro #52]: #54
-#58 := [monotonicity #55]: #57
-#91 := [trans #58 #89]: #90
-#36 := [asserted]: #16
-#92 := [mp #36 #91]: #87
-#113 := [mp~ #92 #112]: #110
-#114 := [mp #113 #123]: #121
-#128 := [mp #114 #127]: #125
-#160 := [mp #128 #159]: #155
-[mp #160 #183]: false
-unsat
-ea961570b37add45bc63c8f0e3f6ddc653b28f42 67 0
-ERROR: line 11 column 83: invalid pattern.
-#2 := false
-decl f3 :: Int
-#8 := f3
-#10 := 2::Int
-#12 := (* 2::Int f3)
-#7 := (:var 0 Int)
-#11 := (* 2::Int #7)
-#13 := (< #11 #12)
-#9 := (< #7 f3)
-#14 := (implies #9 #13)
-#15 := (forall (vars (?v0 Int)) #14)
-#16 := (not #15)
-#85 := (iff #16 false)
-#38 := (not #9)
-#39 := (or #38 #13)
-#42 := (forall (vars (?v0 Int)) #39)
-#45 := (not #42)
-#83 := (iff #45 false)
-#1 := true
-#78 := (not true)
-#81 := (iff #78 false)
-#82 := [rewrite]: #81
-#79 := (iff #45 #78)
-#76 := (iff #42 true)
-#71 := (forall (vars (?v0 Int)) true)
-#74 := (iff #71 true)
-#75 := [elim-unused]: #74
-#72 := (iff #42 #71)
-#69 := (iff #39 true)
-#18 := 0::Int
-#48 := -1::Int
-#51 := (* -1::Int f3)
-#52 := (+ #7 #51)
-#50 := (>= #52 0::Int)
-#49 := (not #50)
-#63 := (or #50 #49)
-#67 := (iff #63 true)
-#68 := [rewrite]: #67
-#65 := (iff #39 #63)
-#64 := (iff #13 #49)
-#62 := [rewrite]: #64
-#60 := (iff #38 #50)
-#55 := (not #49)
-#58 := (iff #55 #50)
-#59 := [rewrite]: #58
-#56 := (iff #38 #55)
-#53 := (iff #9 #49)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#61 := [trans #57 #59]: #60
-#66 := [monotonicity #61 #62]: #65
-#70 := [trans #66 #68]: #69
-#73 := [quant-intro #70]: #72
-#77 := [trans #73 #75]: #76
-#80 := [monotonicity #77]: #79
-#84 := [trans #80 #82]: #83
-#46 := (iff #16 #45)
-#43 := (iff #15 #42)
-#40 := (iff #14 #39)
-#41 := [rewrite]: #40
-#44 := [quant-intro #41]: #43
-#47 := [monotonicity #44]: #46
-#86 := [trans #47 #84]: #85
-#37 := [asserted]: #16
-[mp #37 #86]: false
-unsat
-cc87973002902704adc7d85df3fb8affa4a44929 54 0
-#2 := false
-#10 := 1::Int
-decl ?v1!0 :: Int
-#66 := ?v1!0
-#69 := (>= ?v1!0 1::Int)
-#62 := (not #69)
-#7 := 0::Int
-#67 := (<= ?v1!0 0::Int)
-#68 := (not #67)
-#63 := (or #68 #62)
-#70 := (not #63)
-#8 := (:var 0 Int)
-#47 := (>= #8 1::Int)
-#45 := (not #47)
-#41 := (<= #8 0::Int)
-#42 := (not #41)
-#49 := (or #42 #45)
-#52 := (forall (vars (?v1 Int)) #49)
-#55 := (not #52)
-#71 := (~ #55 #70)
-#72 := [sk]: #71
-#11 := (< #8 1::Int)
-#9 := (< 0::Int #8)
-#12 := (or #9 #11)
-#13 := (forall (vars (?v0 Int) (?v1 Int)) #12)
-#14 := (not #13)
-#58 := (iff #14 #55)
-#35 := (forall (vars (?v1 Int)) #12)
-#38 := (not #35)
-#56 := (iff #38 #55)
-#53 := (iff #35 #52)
-#50 := (iff #12 #49)
-#46 := (iff #11 #45)
-#48 := [rewrite]: #46
-#43 := (iff #9 #42)
-#44 := [rewrite]: #43
-#51 := [monotonicity #44 #48]: #50
-#54 := [quant-intro #51]: #53
-#57 := [monotonicity #54]: #56
-#39 := (iff #14 #38)
-#36 := (iff #13 #35)
-#37 := [elim-unused]: #36
-#40 := [monotonicity #37]: #39
-#59 := [trans #40 #57]: #58
-#34 := [asserted]: #14
-#60 := [mp #34 #59]: #55
-#75 := [mp~ #60 #72]: #70
-#79 := [not-or-elim #75]: #69
-#78 := [not-or-elim #75]: #67
-#137 := (or #62 #68)
-#138 := [th-lemma arith farkas 1 1]: #137
-#139 := [unit-resolution #138 #78]: #62
-[unit-resolution #139 #79]: false
-unsat
-1d9e76ccce459de8771731a1c234c6d9e2aa3527 1 0
-unsat
-e46d82e75c1853418f786555dbc1a12ba5d54f6e 75 0
-#2 := false
-#9 := 1::Int
-decl f5 :: Int
-#11 := f5
-#15 := (+ f5 1::Int)
-decl f3 :: Int
-#7 := f3
-#16 := (* f3 #15)
-decl f4 :: Int
-#8 := f4
-#14 := (* f3 f4)
-#17 := (+ #14 #16)
-#10 := (+ f4 1::Int)
-#12 := (+ #10 f5)
-#13 := (* f3 #12)
-#18 := (= #13 #17)
-#19 := (not #18)
-#93 := (iff #19 false)
-#1 := true
-#88 := (not true)
-#91 := (iff #88 false)
-#92 := [rewrite]: #91
-#89 := (iff #19 #88)
-#86 := (iff #18 true)
-#56 := (* f3 f5)
-#57 := (+ #14 #56)
-#58 := (+ f3 #57)
-#81 := (= #58 #58)
-#84 := (iff #81 true)
-#85 := [rewrite]: #84
-#82 := (iff #18 #81)
-#79 := (= #17 #58)
-#69 := (+ f3 #56)
-#74 := (+ #14 #69)
-#77 := (= #74 #58)
-#78 := [rewrite]: #77
-#75 := (= #17 #74)
-#72 := (= #16 #69)
-#63 := (+ 1::Int f5)
-#66 := (* f3 #63)
-#70 := (= #66 #69)
-#71 := [rewrite]: #70
-#67 := (= #16 #66)
-#64 := (= #15 #63)
-#65 := [rewrite]: #64
-#68 := [monotonicity #65]: #67
-#73 := [trans #68 #71]: #72
-#76 := [monotonicity #73]: #75
-#80 := [trans #76 #78]: #79
-#61 := (= #13 #58)
-#47 := (+ f4 f5)
-#48 := (+ 1::Int #47)
-#53 := (* f3 #48)
-#59 := (= #53 #58)
-#60 := [rewrite]: #59
-#54 := (= #13 #53)
-#51 := (= #12 #48)
-#41 := (+ 1::Int f4)
-#44 := (+ #41 f5)
-#49 := (= #44 #48)
-#50 := [rewrite]: #49
-#45 := (= #12 #44)
-#42 := (= #10 #41)
-#43 := [rewrite]: #42
-#46 := [monotonicity #43]: #45
-#52 := [trans #46 #50]: #51
-#55 := [monotonicity #52]: #54
-#62 := [trans #55 #60]: #61
-#83 := [monotonicity #62 #80]: #82
-#87 := [trans #83 #85]: #86
-#90 := [monotonicity #87]: #89
-#94 := [trans #90 #92]: #93
-#40 := [asserted]: #19
-[mp #40 #94]: false
-unsat
-60242f59c15f3933ccbd1d4ed5e4e07293c9dd72 62 0
-#2 := false
-decl f4 :: Real
-#9 := f4
-decl f3 :: Real
-#7 := f3
-#15 := 2::Real
-#16 := (* 2::Real f3)
-#17 := (* #16 f4)
-#8 := 1::Real
-#12 := (- 1::Real f4)
-#13 := (* f3 #12)
-#10 := (+ 1::Real f4)
-#11 := (* f3 #10)
-#14 := (- #11 #13)
-#18 := (= #14 #17)
-#19 := (not #18)
-#81 := (iff #19 false)
-#1 := true
-#76 := (not true)
-#79 := (iff #76 false)
-#80 := [rewrite]: #79
-#77 := (iff #19 #76)
-#74 := (iff #18 true)
-#41 := (* f3 f4)
-#63 := (* 2::Real #41)
-#69 := (= #63 #63)
-#72 := (iff #69 true)
-#73 := [rewrite]: #72
-#70 := (iff #18 #69)
-#67 := (= #17 #63)
-#68 := [rewrite]: #67
-#65 := (= #14 #63)
-#45 := -1::Real
-#53 := (* -1::Real #41)
-#54 := (+ f3 #53)
-#42 := (+ f3 #41)
-#59 := (- #42 #54)
-#62 := (= #59 #63)
-#64 := [rewrite]: #62
-#60 := (= #14 #59)
-#57 := (= #13 #54)
-#46 := (* -1::Real f4)
-#47 := (+ 1::Real #46)
-#50 := (* f3 #47)
-#55 := (= #50 #54)
-#56 := [rewrite]: #55
-#51 := (= #13 #50)
-#48 := (= #12 #47)
-#49 := [rewrite]: #48
-#52 := [monotonicity #49]: #51
-#58 := [trans #52 #56]: #57
-#43 := (= #11 #42)
-#44 := [rewrite]: #43
-#61 := [monotonicity #44 #58]: #60
-#66 := [trans #61 #64]: #65
-#71 := [monotonicity #66 #68]: #70
-#75 := [trans #71 #73]: #74
-#78 := [monotonicity #75]: #77
-#82 := [trans #78 #80]: #81
-#40 := [asserted]: #19
-[mp #40 #82]: false
-unsat
-3ecab0bc7101d63e72b4fb9ac8a649c491da9533 141 0
-#2 := false
-decl f6 :: Int
-#12 := f6
-decl f7 :: Int
-#16 := f7
-decl f5 :: Int
-#11 := f5
-#27 := (+ f5 f7)
-#28 := (+ #27 f6)
-decl f4 :: Int
-#9 := f4
-#8 := 1::Int
-#10 := (+ 1::Int f4)
-#29 := (* #10 #28)
-#24 := (* f7 f4)
-#22 := (* #10 f7)
-#13 := (+ f5 f6)
-#19 := 2::Int
-#20 := (* 2::Int #10)
-#21 := (* #20 #13)
-#23 := (+ #21 #22)
-#25 := (+ #23 #24)
-decl f3 :: Int
-#7 := f3
-#26 := (+ f3 #25)
-#30 := (- #26 #29)
-#17 := (* f4 f7)
-#14 := (* #10 #13)
-#15 := (+ f3 #14)
-#18 := (+ #15 #17)
-#31 := (= #18 #30)
-#32 := (not #31)
-#157 := (iff #32 false)
-#1 := true
-#152 := (not true)
-#155 := (iff #152 false)
-#156 := [rewrite]: #155
-#153 := (iff #32 #152)
-#150 := (iff #31 true)
-#55 := (* f4 f6)
-#54 := (* f4 f5)
-#56 := (+ #54 #55)
-#67 := (+ #17 #56)
-#68 := (+ f6 #67)
-#69 := (+ f5 #68)
-#70 := (+ f3 #69)
-#144 := (= #70 #70)
-#148 := (iff #144 true)
-#149 := [rewrite]: #148
-#143 := (iff #31 #144)
-#146 := (= #30 #70)
-#131 := (+ f7 #67)
-#132 := (+ f6 #131)
-#133 := (+ f5 #132)
-#85 := (* 2::Int #55)
-#83 := (* 2::Int #54)
-#86 := (+ #83 #85)
-#112 := (* 2::Int #17)
-#113 := (+ #112 #86)
-#114 := (+ f7 #113)
-#84 := (* 2::Int f6)
-#115 := (+ #84 #114)
-#82 := (* 2::Int f5)
-#116 := (+ #82 #115)
-#121 := (+ f3 #116)
-#138 := (- #121 #133)
-#141 := (= #138 #70)
-#147 := [rewrite]: #141
-#139 := (= #30 #138)
-#136 := (= #29 #133)
-#124 := (+ f6 f7)
-#125 := (+ f5 #124)
-#128 := (* #10 #125)
-#134 := (= #128 #133)
-#135 := [rewrite]: #134
-#129 := (= #29 #128)
-#126 := (= #28 #125)
-#127 := [rewrite]: #126
-#130 := [monotonicity #127]: #129
-#137 := [trans #130 #135]: #136
-#122 := (= #26 #121)
-#119 := (= #25 #116)
-#99 := (+ #17 #86)
-#100 := (+ f7 #99)
-#101 := (+ #84 #100)
-#102 := (+ #82 #101)
-#109 := (+ #102 #17)
-#117 := (= #109 #116)
-#118 := [rewrite]: #117
-#110 := (= #25 #109)
-#107 := (= #24 #17)
-#108 := [rewrite]: #107
-#105 := (= #23 #102)
-#93 := (+ f7 #17)
-#87 := (+ #84 #86)
-#88 := (+ #82 #87)
-#96 := (+ #88 #93)
-#103 := (= #96 #102)
-#104 := [rewrite]: #103
-#97 := (= #23 #96)
-#94 := (= #22 #93)
-#95 := [rewrite]: #94
-#91 := (= #21 #88)
-#75 := (* 2::Int f4)
-#76 := (+ 2::Int #75)
-#79 := (* #76 #13)
-#89 := (= #79 #88)
-#90 := [rewrite]: #89
-#80 := (= #21 #79)
-#77 := (= #20 #76)
-#78 := [rewrite]: #77
-#81 := [monotonicity #78]: #80
-#92 := [trans #81 #90]: #91
-#98 := [monotonicity #92 #95]: #97
-#106 := [trans #98 #104]: #105
-#111 := [monotonicity #106 #108]: #110
-#120 := [trans #111 #118]: #119
-#123 := [monotonicity #120]: #122
-#140 := [monotonicity #123 #137]: #139
-#145 := [trans #140 #147]: #146
-#73 := (= #18 #70)
-#57 := (+ f6 #56)
-#58 := (+ f5 #57)
-#61 := (+ f3 #58)
-#64 := (+ #61 #17)
-#71 := (= #64 #70)
-#72 := [rewrite]: #71
-#65 := (= #18 #64)
-#62 := (= #15 #61)
-#59 := (= #14 #58)
-#60 := [rewrite]: #59
-#63 := [monotonicity #60]: #62
-#66 := [monotonicity #63]: #65
-#74 := [trans #66 #72]: #73
-#142 := [monotonicity #74 #145]: #143
-#151 := [trans #142 #149]: #150
-#154 := [monotonicity #151]: #153
-#158 := [trans #154 #156]: #157
-#53 := [asserted]: #32
-[mp #53 #158]: false
-unsat
 43550507f510d81bc4fb9ef8c1fd14424eaa9070 37 0
 #2 := false
 #10 := 0::Int
@@ -8819,1764 +1561,6 @@
 #53 := [not-or-elim #52]: #11
 [th-lemma arith farkas 1 1 1 #53 #57 #55]: false
 unsat
-f5067fa58c623377db978838e2294684a3fe7bb2 225 0
-#2 := false
-#24 := 0::Int
-decl f5 :: (-> S4 S3 Int)
-decl f3 :: (-> S2 Int S3)
-decl f7 :: S3
-#10 := f7
-decl f6 :: S4
-#9 := f6
-#11 := (f5 f6 f7)
-#8 := 2::Int
-#12 := (* 2::Int #11)
-decl f4 :: S2
-#7 := f4
-#13 := (f3 f4 #12)
-#276 := (f5 f6 #13)
-#185 := -1::Int
-#596 := (* -1::Int #276)
-#597 := (+ #12 #596)
-#577 := (<= #597 0::Int)
-#595 := (= #597 0::Int)
-#256 := (>= #11 0::Int)
-#579 := (= #276 0::Int)
-#436 := (not #579)
-#297 := (<= #276 0::Int)
-#533 := (not #297)
-#14 := 1::Int
-#544 := (>= #276 1::Int)
-#549 := (= #276 1::Int)
-#15 := (f3 f4 1::Int)
-#569 := (f5 f6 #15)
-#570 := (= #569 1::Int)
-#25 := (:var 0 Int)
-#27 := (f3 f4 #25)
-#607 := (pattern #27)
-#28 := (f5 f6 #27)
-#29 := (= #28 #25)
-#70 := (>= #25 0::Int)
-#71 := (not #70)
-#74 := (or #71 #29)
-#608 := (forall (vars (?v0 Int)) (:pat #607) #74)
-#77 := (forall (vars (?v0 Int)) #74)
-#611 := (iff #77 #608)
-#609 := (iff #74 #74)
-#610 := [refl]: #609
-#612 := [quant-intro #610]: #611
-#114 := (~ #77 #77)
-#113 := (~ #74 #74)
-#110 := [refl]: #113
-#115 := [nnf-pos #110]: #114
-#26 := (<= 0::Int #25)
-#30 := (implies #26 #29)
-#31 := (forall (vars (?v0 Int)) #30)
-#80 := (iff #31 #77)
-#61 := (not #26)
-#62 := (or #61 #29)
-#65 := (forall (vars (?v0 Int)) #62)
-#78 := (iff #65 #77)
-#75 := (iff #62 #74)
-#72 := (iff #61 #71)
-#68 := (iff #26 #70)
-#69 := [rewrite]: #68
-#73 := [monotonicity #69]: #72
-#76 := [monotonicity #73]: #75
-#79 := [quant-intro #76]: #78
-#66 := (iff #31 #65)
-#63 := (iff #30 #62)
-#64 := [rewrite]: #63
-#67 := [quant-intro #64]: #66
-#81 := [trans #67 #79]: #80
-#59 := [asserted]: #31
-#82 := [mp #59 #81]: #77
-#111 := [mp~ #82 #115]: #77
-#613 := [mp #111 #612]: #608
-#589 := (not #608)
-#555 := (or #589 #570)
-#299 := (>= 1::Int 0::Int)
-#192 := (not #299)
-#292 := (or #192 #570)
-#556 := (or #589 #292)
-#552 := (iff #556 #555)
-#558 := (iff #555 #555)
-#559 := [rewrite]: #558
-#562 := (iff #292 #570)
-#563 := (or false #570)
-#561 := (iff #563 #570)
-#565 := [rewrite]: #561
-#564 := (iff #292 #563)
-#284 := (iff #192 false)
-#1 := true
-#571 := (not true)
-#282 := (iff #571 false)
-#283 := [rewrite]: #282
-#568 := (iff #192 #571)
-#293 := (iff #299 true)
-#567 := [rewrite]: #293
-#572 := [monotonicity #567]: #568
-#285 := [trans #572 #283]: #284
-#278 := [monotonicity #285]: #564
-#566 := [trans #278 #565]: #562
-#553 := [monotonicity #566]: #552
-#554 := [trans #553 #559]: #552
-#557 := [quant-inst #14]: #556
-#560 := [mp #557 #554]: #555
-#383 := [unit-resolution #560 #613]: #570
-#536 := (= #276 #569)
-#16 := (= #13 #15)
-#17 := (not #16)
-#18 := (not #17)
-#56 := (iff #18 #16)
-#57 := [rewrite]: #56
-#55 := [asserted]: #18
-#60 := [mp #55 #57]: #16
-#424 := [monotonicity #60]: #536
-#425 := [trans #424 #383]: #549
-#384 := (not #549)
-#532 := (or #384 #544)
-#434 := [th-lemma arith triangle-eq]: #532
-#529 := [unit-resolution #434 #425]: #544
-#530 := (not #544)
-#418 := (or #530 #533)
-#433 := [th-lemma arith farkas 1 1]: #418
-#435 := [unit-resolution #433 #529]: #533
-#429 := (or #436 #297)
-#437 := [th-lemma arith triangle-eq]: #429
-#438 := [unit-resolution #437 #435]: #436
-#581 := (or #256 #579)
-#33 := (= #28 0::Int)
-#100 := (or #70 #33)
-#614 := (forall (vars (?v0 Int)) (:pat #607) #100)
-#103 := (forall (vars (?v0 Int)) #100)
-#617 := (iff #103 #614)
-#615 := (iff #100 #100)
-#616 := [refl]: #615
-#618 := [quant-intro #616]: #617
-#116 := (~ #103 #103)
-#124 := (~ #100 #100)
-#125 := [refl]: #124
-#117 := [nnf-pos #125]: #116
-#32 := (< #25 0::Int)
-#34 := (implies #32 #33)
-#35 := (forall (vars (?v0 Int)) #34)
-#106 := (iff #35 #103)
-#84 := (not #32)
-#85 := (or #84 #33)
-#88 := (forall (vars (?v0 Int)) #85)
-#104 := (iff #88 #103)
-#101 := (iff #85 #100)
-#98 := (iff #84 #70)
-#93 := (not #71)
-#96 := (iff #93 #70)
-#97 := [rewrite]: #96
-#94 := (iff #84 #93)
-#91 := (iff #32 #71)
-#92 := [rewrite]: #91
-#95 := [monotonicity #92]: #94
-#99 := [trans #95 #97]: #98
-#102 := [monotonicity #99]: #101
-#105 := [quant-intro #102]: #104
-#89 := (iff #35 #88)
-#86 := (iff #34 #85)
-#87 := [rewrite]: #86
-#90 := [quant-intro #87]: #89
-#107 := [trans #90 #105]: #106
-#83 := [asserted]: #35
-#108 := [mp #83 #107]: #103
-#126 := [mp~ #108 #117]: #103
-#619 := [mp #126 #618]: #614
-#219 := (not #614)
-#583 := (or #219 #256 #579)
-#271 := (>= #12 0::Int)
-#580 := (or #271 #579)
-#585 := (or #219 #580)
-#574 := (iff #585 #583)
-#225 := (or #219 #581)
-#587 := (iff #225 #583)
-#573 := [rewrite]: #587
-#586 := (iff #585 #225)
-#576 := (iff #580 #581)
-#592 := (iff #271 #256)
-#594 := [rewrite]: #592
-#582 := [monotonicity #594]: #576
-#584 := [monotonicity #582]: #586
-#281 := [trans #584 #573]: #574
-#224 := [quant-inst #12]: #585
-#296 := [mp #224 #281]: #583
-#439 := [unit-resolution #296 #619]: #581
-#440 := [unit-resolution #439 #438]: #256
-#250 := (not #256)
-#598 := (or #250 #595)
-#248 := (or #589 #250 #595)
-#273 := (= #276 #12)
-#272 := (not #271)
-#277 := (or #272 #273)
-#253 := (or #589 #277)
-#238 := (iff #253 #248)
-#249 := (or #589 #598)
-#575 := (iff #249 #248)
-#237 := [rewrite]: #575
-#591 := (iff #253 #249)
-#593 := (iff #277 #598)
-#261 := (iff #273 #595)
-#262 := [rewrite]: #261
-#381 := (iff #272 #250)
-#588 := [monotonicity #594]: #381
-#599 := [monotonicity #588 #262]: #593
-#233 := [monotonicity #599]: #591
-#239 := [trans #233 #237]: #238
-#590 := [quant-inst #12]: #253
-#240 := [mp #590 #239]: #248
-#441 := [unit-resolution #240 #613]: #598
-#534 := [unit-resolution #441 #440]: #595
-#531 := (not #595)
-#535 := (or #531 #577)
-#522 := [th-lemma arith triangle-eq]: #535
-#524 := [unit-resolution #522 #534]: #577
-#578 := (>= #597 0::Int)
-#516 := (or #531 #578)
-#513 := [th-lemma arith triangle-eq]: #516
-#515 := [unit-resolution #513 #534]: #578
-#550 := (<= #276 1::Int)
-#525 := (or #384 #550)
-#526 := [th-lemma arith triangle-eq]: #525
-#527 := [unit-resolution #526 #425]: #550
-[th-lemma arith gcd-test -1/2 -1/2 -1/2 -1/2 #529 #527 #515 #524]: false
-unsat
-4225ab6372dca8ebf6ba05ad5ea39526a6e2a129 55 0
-#2 := false
-#74 := 4::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: S3
-#8 := f5
-decl f4 :: S2
-#7 := f4
-#9 := (f3 f4 f5)
-#75 := (>= #9 4::Int)
-#76 := (not #75)
-#10 := 3::Int
-#65 := (>= #9 3::Int)
-#79 := (or #65 #76)
-#82 := (not #79)
-#14 := 7::Int
-#12 := 2::Int
-#13 := (* 2::Int #9)
-#15 := (< #13 7::Int)
-#11 := (< #9 3::Int)
-#16 := (implies #11 #15)
-#17 := (not #16)
-#85 := (iff #17 #82)
-#56 := (not #11)
-#57 := (or #56 #15)
-#60 := (not #57)
-#83 := (iff #60 #82)
-#80 := (iff #57 #79)
-#77 := (iff #15 #76)
-#78 := [rewrite]: #77
-#72 := (iff #56 #65)
-#63 := (not #65)
-#67 := (not #63)
-#70 := (iff #67 #65)
-#71 := [rewrite]: #70
-#68 := (iff #56 #67)
-#64 := (iff #11 #63)
-#66 := [rewrite]: #64
-#69 := [monotonicity #66]: #68
-#73 := [trans #69 #71]: #72
-#81 := [monotonicity #73 #78]: #80
-#84 := [monotonicity #81]: #83
-#61 := (iff #17 #60)
-#58 := (iff #16 #57)
-#59 := [rewrite]: #58
-#62 := [monotonicity #59]: #61
-#86 := [trans #62 #84]: #85
-#55 := [asserted]: #17
-#87 := [mp #55 #86]: #82
-#89 := [not-or-elim #87]: #75
-#88 := [not-or-elim #87]: #63
-#300 := (or #76 #65)
-#216 := [th-lemma arith farkas 1 1]: #300
-#301 := [unit-resolution #216 #88]: #76
-[unit-resolution #301 #89]: false
-unsat
-6b3381ed26844d4b649300d18bdcc49988752527 270 0
-#2 := false
-#7 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: (-> S4 Int S3)
-decl f7 :: S3
-#11 := f7
-decl f4 :: S2
-#8 := f4
-#12 := (f3 f4 f7)
-#10 := 1::Int
-#13 := (+ 1::Int #12)
-decl f6 :: S4
-#9 := f6
-#14 := (f5 f6 #13)
-#15 := (f3 f4 #14)
-#60 := -1::Int
-#61 := (* -1::Int #12)
-#62 := (+ #61 #15)
-#65 := (f5 f6 #62)
-#68 := (f3 f4 #65)
-#625 := (* -1::Int #15)
-#593 := (+ #625 #68)
-#597 := (+ #12 #593)
-#574 := (>= #597 0::Int)
-#594 := (= #597 0::Int)
-#631 := (+ #12 #625)
-#315 := (<= #631 0::Int)
-#614 := (<= #631 -1::Int)
-#621 := (= #631 -1::Int)
-#294 := (>= #12 -1::Int)
-#416 := (>= #12 0::Int)
-#545 := (= #12 0::Int)
-#218 := (f5 f6 #12)
-#564 := (f3 f4 #218)
-#466 := (= #564 0::Int)
-#550 := (not #416)
-#551 := [hypothesis]: #550
-#561 := (or #416 #466)
-#27 := (:var 0 Int)
-#29 := (f5 f6 #27)
-#639 := (pattern #29)
-#30 := (f3 f4 #29)
-#35 := (= #30 0::Int)
-#101 := (>= #27 0::Int)
-#132 := (or #101 #35)
-#646 := (forall (vars (?v0 Int)) (:pat #639) #132)
-#135 := (forall (vars (?v0 Int)) #132)
-#649 := (iff #135 #646)
-#647 := (iff #132 #132)
-#648 := [refl]: #647
-#650 := [quant-intro #648]: #649
-#148 := (~ #135 #135)
-#156 := (~ #132 #132)
-#157 := [refl]: #156
-#149 := [nnf-pos #157]: #148
-#34 := (< #27 0::Int)
-#36 := (implies #34 #35)
-#37 := (forall (vars (?v0 Int)) #36)
-#138 := (iff #37 #135)
-#116 := (not #34)
-#117 := (or #116 #35)
-#120 := (forall (vars (?v0 Int)) #117)
-#136 := (iff #120 #135)
-#133 := (iff #117 #132)
-#130 := (iff #116 #101)
-#103 := (not #101)
-#125 := (not #103)
-#128 := (iff #125 #101)
-#129 := [rewrite]: #128
-#126 := (iff #116 #125)
-#123 := (iff #34 #103)
-#124 := [rewrite]: #123
-#127 := [monotonicity #124]: #126
-#131 := [trans #127 #129]: #130
-#134 := [monotonicity #131]: #133
-#137 := [quant-intro #134]: #136
-#121 := (iff #37 #120)
-#118 := (iff #36 #117)
-#119 := [rewrite]: #118
-#122 := [quant-intro #119]: #121
-#139 := [trans #122 #137]: #138
-#115 := [asserted]: #37
-#140 := [mp #115 #139]: #135
-#158 := [mp~ #140 #149]: #135
-#651 := [mp #158 #650]: #646
-#616 := (not #646)
-#450 := (or #616 #416 #466)
-#465 := (or #616 #561)
-#468 := (iff #465 #450)
-#461 := [rewrite]: #468
-#467 := [quant-inst #12]: #465
-#469 := [mp #467 #461]: #450
-#552 := [unit-resolution #469 #651]: #561
-#546 := [unit-resolution #552 #551]: #466
-#540 := (= #12 #564)
-#537 := (= f7 #218)
-#303 := (= #218 f7)
-#22 := (:var 0 S3)
-#23 := (f3 f4 #22)
-#632 := (pattern #23)
-#24 := (f5 f6 #23)
-#25 := (= #24 #22)
-#633 := (forall (vars (?v0 S3)) (:pat #632) #25)
-#26 := (forall (vars (?v0 S3)) #25)
-#636 := (iff #26 #633)
-#634 := (iff #25 #25)
-#635 := [refl]: #634
-#637 := [quant-intro #635]: #636
-#154 := (~ #26 #26)
-#152 := (~ #25 #25)
-#153 := [refl]: #152
-#155 := [nnf-pos #153]: #154
-#91 := [asserted]: #26
-#144 := [mp~ #91 #155]: #26
-#638 := [mp #144 #637]: #633
-#305 := (not #633)
-#296 := (or #305 #303)
-#307 := [quant-inst #11]: #296
-#553 := [unit-resolution #307 #638]: #303
-#538 := [symm #553]: #537
-#541 := [monotonicity #538]: #540
-#542 := [trans #541 #546]: #545
-#543 := (not #545)
-#539 := (or #543 #416)
-#544 := [th-lemma arith triangle-eq]: #539
-#530 := [unit-resolution #544 #551 #542]: false
-#531 := [lemma #530]: #416
-#547 := (or #550 #294)
-#533 := [th-lemma arith farkas 1 1]: #547
-#534 := [unit-resolution #533 #531]: #294
-#628 := (not #294)
-#622 := (or #628 #621)
-#31 := (= #30 #27)
-#106 := (or #103 #31)
-#640 := (forall (vars (?v0 Int)) (:pat #639) #106)
-#109 := (forall (vars (?v0 Int)) #106)
-#643 := (iff #109 #640)
-#641 := (iff #106 #106)
-#642 := [refl]: #641
-#644 := [quant-intro #642]: #643
-#146 := (~ #109 #109)
-#145 := (~ #106 #106)
-#142 := [refl]: #145
-#147 := [nnf-pos #142]: #146
-#28 := (<= 0::Int #27)
-#32 := (implies #28 #31)
-#33 := (forall (vars (?v0 Int)) #32)
-#112 := (iff #33 #109)
-#93 := (not #28)
-#94 := (or #93 #31)
-#97 := (forall (vars (?v0 Int)) #94)
-#110 := (iff #97 #109)
-#107 := (iff #94 #106)
-#104 := (iff #93 #103)
-#100 := (iff #28 #101)
-#102 := [rewrite]: #100
-#105 := [monotonicity #102]: #104
-#108 := [monotonicity #105]: #107
-#111 := [quant-intro #108]: #110
-#98 := (iff #33 #97)
-#95 := (iff #32 #94)
-#96 := [rewrite]: #95
-#99 := [quant-intro #96]: #98
-#113 := [trans #99 #111]: #112
-#92 := [asserted]: #33
-#114 := [mp #92 #113]: #109
-#143 := [mp~ #114 #147]: #109
-#645 := [mp #143 #644]: #640
-#266 := (not #640)
-#607 := (or #266 #628 #621)
-#413 := (= #15 #13)
-#289 := (>= #13 0::Int)
-#624 := (not #289)
-#620 := (or #624 #413)
-#270 := (or #266 #620)
-#612 := (iff #270 #607)
-#272 := (or #266 #622)
-#610 := (iff #272 #607)
-#611 := [rewrite]: #610
-#273 := (iff #270 #272)
-#282 := (iff #620 #622)
-#281 := (iff #413 #621)
-#286 := [rewrite]: #281
-#629 := (iff #624 #628)
-#295 := (iff #289 #294)
-#627 := [rewrite]: #295
-#630 := [monotonicity #627]: #629
-#623 := [monotonicity #630 #286]: #282
-#609 := [monotonicity #623]: #273
-#613 := [trans #609 #611]: #612
-#271 := [quant-inst #13]: #270
-#608 := [mp #271 #613]: #607
-#535 := [unit-resolution #608 #645]: #622
-#532 := [unit-resolution #535 #534]: #621
-#536 := (not #621)
-#516 := (or #536 #614)
-#517 := [th-lemma arith triangle-eq]: #516
-#519 := [unit-resolution #517 #532]: #614
-#520 := (not #614)
-#521 := (or #520 #315)
-#522 := [th-lemma arith farkas 1 1]: #521
-#523 := [unit-resolution #522 #519]: #315
-#595 := (not #315)
-#588 := (or #595 #594)
-#585 := (or #266 #595 #594)
-#604 := (= #68 #62)
-#603 := (>= #62 0::Int)
-#600 := (not #603)
-#314 := (or #600 #604)
-#590 := (or #266 #314)
-#577 := (iff #590 #585)
-#586 := (or #266 #588)
-#434 := (iff #586 #585)
-#435 := [rewrite]: #434
-#592 := (iff #590 #586)
-#589 := (iff #314 #588)
-#598 := (iff #604 #594)
-#587 := [rewrite]: #598
-#596 := (iff #600 #595)
-#316 := (iff #603 #315)
-#317 := [rewrite]: #316
-#311 := [monotonicity #317]: #596
-#584 := [monotonicity #311 #587]: #589
-#433 := [monotonicity #584]: #592
-#578 := [trans #433 #435]: #577
-#591 := [quant-inst #62]: #590
-#579 := [mp #591 #578]: #585
-#524 := [unit-resolution #579 #645]: #588
-#525 := [unit-resolution #524 #523]: #594
-#526 := (not #594)
-#527 := (or #526 #574)
-#528 := [th-lemma arith triangle-eq]: #527
-#518 := [unit-resolution #528 #525]: #574
-#77 := (<= #68 0::Int)
-#17 := (- #15 #12)
-#18 := (f5 f6 #17)
-#19 := (f3 f4 #18)
-#16 := (* 0::Int #15)
-#20 := (< #16 #19)
-#21 := (not #20)
-#88 := (iff #21 #77)
-#71 := (< 0::Int #68)
-#74 := (not #71)
-#86 := (iff #74 #77)
-#78 := (not #77)
-#81 := (not #78)
-#84 := (iff #81 #77)
-#85 := [rewrite]: #84
-#82 := (iff #74 #81)
-#79 := (iff #71 #78)
-#80 := [rewrite]: #79
-#83 := [monotonicity #80]: #82
-#87 := [trans #83 #85]: #86
-#75 := (iff #21 #74)
-#72 := (iff #20 #71)
-#69 := (= #19 #68)
-#66 := (= #18 #65)
-#63 := (= #17 #62)
-#64 := [rewrite]: #63
-#67 := [monotonicity #64]: #66
-#70 := [monotonicity #67]: #69
-#58 := (= #16 0::Int)
-#59 := [rewrite]: #58
-#73 := [monotonicity #59 #70]: #72
-#76 := [monotonicity #73]: #75
-#89 := [trans #76 #87]: #88
-#57 := [asserted]: #21
-#90 := [mp #57 #89]: #77
-[th-lemma arith farkas -1 -1 1 #90 #519 #518]: false
-unsat
-b3acce989065928cb3ce15ce4113a910c6fff5aa 269 0
-#2 := false
-#7 := 0::Int
-decl f3 :: (-> S2 S3 Int)
-decl f5 :: (-> S4 Int S3)
-decl f7 :: S3
-#11 := f7
-decl f4 :: S2
-#8 := f4
-#12 := (f3 f4 f7)
-#10 := 1::Int
-#13 := (+ 1::Int #12)
-decl f6 :: S4
-#9 := f6
-#14 := (f5 f6 #13)
-#15 := (f3 f4 #14)
-#65 := -1::Int
-#66 := (+ -1::Int #15)
-#69 := (f5 f6 #66)
-#367 := (f3 f4 #69)
-#638 := (* -1::Int #367)
-#499 := (+ #12 #638)
-#459 := (>= #499 0::Int)
-#498 := (= #12 #367)
-#605 := (= f7 #69)
-#72 := (= #69 f7)
-#101 := (<= #15 0::Int)
-#173 := (iff #101 #72)
-#192 := (iff #173 #72)
-#1 := true
-#187 := (iff true #72)
-#190 := (iff #187 #72)
-#191 := [rewrite]: #190
-#188 := (iff #173 #187)
-#179 := (iff #101 true)
-#102 := (not #101)
-#105 := (iff #102 #72)
-#108 := (or #105 #102)
-#111 := (not #108)
-#16 := (< 0::Int #15)
-#17 := (if #16 true false)
-#22 := (not #17)
-#23 := (implies #22 false)
-#18 := (- #15 1::Int)
-#19 := (f5 f6 #18)
-#20 := (= #19 f7)
-#21 := (iff #17 #20)
-#24 := (or #21 #23)
-#25 := (or false #24)
-#26 := (not #25)
-#114 := (iff #26 #111)
-#75 := (iff #16 #72)
-#88 := (or #75 #16)
-#98 := (not #88)
-#112 := (iff #98 #111)
-#109 := (iff #88 #108)
-#103 := (iff #16 #102)
-#104 := [rewrite]: #103
-#106 := (iff #75 #105)
-#107 := [monotonicity #104]: #106
-#110 := [monotonicity #107 #104]: #109
-#113 := [monotonicity #110]: #112
-#99 := (iff #26 #98)
-#96 := (iff #25 #88)
-#91 := (or false #88)
-#94 := (iff #91 #88)
-#95 := [rewrite]: #94
-#92 := (iff #25 #91)
-#89 := (iff #24 #88)
-#86 := (iff #23 #16)
-#78 := (not #16)
-#81 := (implies #78 false)
-#84 := (iff #81 #16)
-#85 := [rewrite]: #84
-#82 := (iff #23 #81)
-#79 := (iff #22 #78)
-#63 := (iff #17 #16)
-#64 := [rewrite]: #63
-#80 := [monotonicity #64]: #79
-#83 := [monotonicity #80]: #82
-#87 := [trans #83 #85]: #86
-#76 := (iff #21 #75)
-#73 := (iff #20 #72)
-#70 := (= #19 #69)
-#67 := (= #18 #66)
-#68 := [rewrite]: #67
-#71 := [monotonicity #68]: #70
-#74 := [monotonicity #71]: #73
-#77 := [monotonicity #64 #74]: #76
-#90 := [monotonicity #77 #87]: #89
-#93 := [monotonicity #90]: #92
-#97 := [trans #93 #95]: #96
-#100 := [monotonicity #97]: #99
-#115 := [trans #100 #113]: #114
-#62 := [asserted]: #26
-#116 := [mp #62 #115]: #111
-#119 := [not-or-elim #116]: #101
-#180 := [iff-true #119]: #179
-#189 := [monotonicity #180]: #188
-#193 := [trans #189 #191]: #192
-#117 := (not #105)
-#174 := (iff #117 #173)
-#175 := [rewrite]: #174
-#118 := [not-or-elim #116]: #117
-#176 := [mp #118 #175]: #173
-#177 := [mp #176 #193]: #72
-#608 := [symm #177]: #605
-#513 := [monotonicity #608]: #498
-#514 := (not #498)
-#515 := (or #514 #459)
-#516 := [th-lemma arith triangle-eq]: #515
-#609 := [unit-resolution #516 #513]: #459
-#672 := (* -1::Int #15)
-#673 := (+ #12 #672)
-#654 := (<= #673 -1::Int)
-#671 := (= #673 -1::Int)
-#669 := (>= #12 -1::Int)
-#616 := (>= #367 0::Int)
-#621 := (= #367 0::Int)
-#646 := (>= #15 1::Int)
-#357 := (not #646)
-#606 := (or #357 #102)
-#610 := [th-lemma arith farkas 1 1]: #606
-#597 := [unit-resolution #610 #119]: #357
-#32 := (:var 0 Int)
-#34 := (f5 f6 #32)
-#682 := (pattern #34)
-#35 := (f3 f4 #34)
-#40 := (= #35 0::Int)
-#130 := (>= #32 0::Int)
-#161 := (or #130 #40)
-#689 := (forall (vars (?v0 Int)) (:pat #682) #161)
-#164 := (forall (vars (?v0 Int)) #161)
-#692 := (iff #164 #689)
-#690 := (iff #161 #161)
-#691 := [refl]: #690
-#693 := [quant-intro #691]: #692
-#197 := (~ #164 #164)
-#195 := (~ #161 #161)
-#196 := [refl]: #195
-#198 := [nnf-pos #196]: #197
-#39 := (< #32 0::Int)
-#41 := (implies #39 #40)
-#42 := (forall (vars (?v0 Int)) #41)
-#167 := (iff #42 #164)
-#145 := (not #39)
-#146 := (or #145 #40)
-#149 := (forall (vars (?v0 Int)) #146)
-#165 := (iff #149 #164)
-#162 := (iff #146 #161)
-#159 := (iff #145 #130)
-#132 := (not #130)
-#154 := (not #132)
-#157 := (iff #154 #130)
-#158 := [rewrite]: #157
-#155 := (iff #145 #154)
-#152 := (iff #39 #132)
-#153 := [rewrite]: #152
-#156 := [monotonicity #153]: #155
-#160 := [trans #156 #158]: #159
-#163 := [monotonicity #160]: #162
-#166 := [quant-intro #163]: #165
-#150 := (iff #42 #149)
-#147 := (iff #41 #146)
-#148 := [rewrite]: #147
-#151 := [quant-intro #148]: #150
-#168 := [trans #151 #166]: #167
-#144 := [asserted]: #42
-#169 := [mp #144 #168]: #164
-#199 := [mp~ #169 #198]: #164
-#694 := [mp #199 #693]: #689
-#660 := (not #689)
-#624 := (or #660 #646 #621)
-#644 := (>= #66 0::Int)
-#622 := (or #644 #621)
-#625 := (or #660 #622)
-#612 := (iff #625 #624)
-#623 := (or #646 #621)
-#626 := (or #660 #623)
-#458 := (iff #626 #624)
-#611 := [rewrite]: #458
-#455 := (iff #625 #626)
-#617 := (iff #622 #623)
-#643 := (iff #644 #646)
-#647 := [rewrite]: #643
-#618 := [monotonicity #647]: #617
-#457 := [monotonicity #618]: #455
-#614 := [trans #457 #611]: #612
-#619 := [quant-inst #66]: #625
-#615 := [mp #619 #614]: #624
-#599 := [unit-resolution #615 #694 #597]: #621
-#591 := (not #621)
-#588 := (or #591 #616)
-#590 := [th-lemma arith triangle-eq]: #588
-#600 := [unit-resolution #590 #599]: #616
-#602 := (not #459)
-#601 := (not #616)
-#598 := (or #669 #601 #602)
-#603 := [th-lemma arith assign-bounds 1 1]: #598
-#592 := [unit-resolution #603 #600 #609]: #669
-#663 := (not #669)
-#674 := (or #663 #671)
-#36 := (= #35 #32)
-#135 := (or #132 #36)
-#683 := (forall (vars (?v0 Int)) (:pat #682) #135)
-#138 := (forall (vars (?v0 Int)) #135)
-#686 := (iff #138 #683)
-#684 := (iff #135 #135)
-#685 := [refl]: #684
-#687 := [quant-intro #685]: #686
-#194 := (~ #138 #138)
-#182 := (~ #135 #135)
-#178 := [refl]: #182
-#171 := [nnf-pos #178]: #194
-#33 := (<= 0::Int #32)
-#37 := (implies #33 #36)
-#38 := (forall (vars (?v0 Int)) #37)
-#141 := (iff #38 #138)
-#122 := (not #33)
-#123 := (or #122 #36)
-#126 := (forall (vars (?v0 Int)) #123)
-#139 := (iff #126 #138)
-#136 := (iff #123 #135)
-#133 := (iff #122 #132)
-#129 := (iff #33 #130)
-#131 := [rewrite]: #129
-#134 := [monotonicity #131]: #133
-#137 := [monotonicity #134]: #136
-#140 := [quant-intro #137]: #139
-#127 := (iff #38 #126)
-#124 := (iff #37 #123)
-#125 := [rewrite]: #124
-#128 := [quant-intro #125]: #127
-#142 := [trans #128 #140]: #141
-#121 := [asserted]: #38
-#143 := [mp #121 #142]: #138
-#172 := [mp~ #143 #171]: #138
-#688 := [mp #172 #687]: #683
-#329 := (not #683)
-#665 := (or #329 #663 #671)
-#332 := (= #15 #13)
-#351 := (>= #13 0::Int)
-#352 := (not #351)
-#667 := (or #352 #332)
-#325 := (or #329 #667)
-#316 := (iff #325 #665)
-#309 := (or #329 #674)
-#314 := (iff #309 #665)
-#315 := [rewrite]: #314
-#650 := (iff #325 #309)
-#664 := (iff #667 #674)
-#670 := (iff #332 #671)
-#668 := [rewrite]: #670
-#337 := (iff #352 #663)
-#326 := (iff #351 #669)
-#456 := [rewrite]: #326
-#338 := [monotonicity #456]: #337
-#324 := [monotonicity #338 #668]: #664
-#313 := [monotonicity #324]: #650
-#652 := [trans #313 #315]: #316
-#666 := [quant-inst #13]: #325
-#653 := [mp #666 #652]: #665
-#593 := [unit-resolution #653 #688]: #674
-#594 := [unit-resolution #593 #592]: #671
-#595 := (not #671)
-#589 := (or #595 #654)
-#596 := [th-lemma arith triangle-eq]: #589
-#580 := [unit-resolution #596 #594]: #654
-[th-lemma arith farkas 1 -1 -1 1 #600 #119 #580 #609]: false
-unsat
-4f28f42d6f2b6fbb94a4ff1e55f0a807d8afe0f8 147 0
-#2 := false
-#10 := 0::Int
-decl f7 :: Int
-#9 := f7
-#54 := -1::Int
-#55 := (* -1::Int f7)
-#73 := (>= f7 0::Int)
-#80 := (if #73 f7 #55)
-#617 := (* -1::Int #80)
-#282 := (+ #55 #617)
-#625 := (<= #282 0::Int)
-#313 := (= #55 #80)
-#74 := (not #73)
-#280 := (+ f7 #617)
-#281 := (<= #280 0::Int)
-#228 := (= f7 #80)
-#283 := [hypothesis]: #73
-#229 := (or #74 #228)
-#314 := [def-axiom]: #229
-#619 := [unit-resolution #314 #283]: #228
-#620 := (not #228)
-#621 := (or #620 #281)
-#622 := [th-lemma arith triangle-eq]: #621
-#623 := [unit-resolution #622 #619]: #281
-#319 := (>= #80 0::Int)
-#316 := (not #319)
-decl f5 :: (-> S4 Int S3)
-#23 := (:var 0 Int)
-decl f6 :: S4
-#8 := f6
-#25 := (f5 f6 #23)
-#649 := (pattern #25)
-decl f3 :: (-> S2 S3 Int)
-decl f4 :: S2
-#7 := f4
-#26 := (f3 f4 #25)
-#27 := (= #26 #23)
-#110 := (>= #23 0::Int)
-#112 := (not #110)
-#115 := (or #112 #27)
-#650 := (forall (vars (?v0 Int)) (:pat #649) #115)
-#118 := (forall (vars (?v0 Int)) #115)
-#653 := (iff #118 #650)
-#651 := (iff #115 #115)
-#652 := [refl]: #651
-#654 := [quant-intro #652]: #653
-#155 := (~ #118 #118)
-#154 := (~ #115 #115)
-#151 := [refl]: #154
-#156 := [nnf-pos #151]: #155
-#24 := (<= 0::Int #23)
-#28 := (implies #24 #27)
-#29 := (forall (vars (?v0 Int)) #28)
-#121 := (iff #29 #118)
-#102 := (not #24)
-#103 := (or #102 #27)
-#106 := (forall (vars (?v0 Int)) #103)
-#119 := (iff #106 #118)
-#116 := (iff #103 #115)
-#113 := (iff #102 #112)
-#109 := (iff #24 #110)
-#111 := [rewrite]: #109
-#114 := [monotonicity #111]: #113
-#117 := [monotonicity #114]: #116
-#120 := [quant-intro #117]: #119
-#107 := (iff #29 #106)
-#104 := (iff #28 #103)
-#105 := [rewrite]: #104
-#108 := [quant-intro #105]: #107
-#122 := [trans #108 #120]: #121
-#101 := [asserted]: #29
-#123 := [mp #101 #122]: #118
-#152 := [mp~ #123 #156]: #118
-#655 := [mp #152 #654]: #650
-#85 := (f5 f6 #80)
-#88 := (f3 f4 #85)
-#91 := (= #88 #80)
-#94 := (not #91)
-#12 := (- f7)
-#11 := (< f7 0::Int)
-#13 := (if #11 #12 f7)
-#14 := (f5 f6 #13)
-#15 := (f3 f4 #14)
-#16 := (= #15 #13)
-#17 := (not #16)
-#97 := (iff #17 #94)
-#58 := (if #11 #55 f7)
-#61 := (f5 f6 #58)
-#64 := (f3 f4 #61)
-#67 := (= #64 #58)
-#70 := (not #67)
-#95 := (iff #70 #94)
-#92 := (iff #67 #91)
-#83 := (= #58 #80)
-#77 := (if #74 #55 f7)
-#81 := (= #77 #80)
-#82 := [rewrite]: #81
-#78 := (= #58 #77)
-#75 := (iff #11 #74)
-#76 := [rewrite]: #75
-#79 := [monotonicity #76]: #78
-#84 := [trans #79 #82]: #83
-#89 := (= #64 #88)
-#86 := (= #61 #85)
-#87 := [monotonicity #84]: #86
-#90 := [monotonicity #87]: #89
-#93 := [monotonicity #90 #84]: #92
-#96 := [monotonicity #93]: #95
-#71 := (iff #17 #70)
-#68 := (iff #16 #67)
-#59 := (= #13 #58)
-#56 := (= #12 #55)
-#57 := [rewrite]: #56
-#60 := [monotonicity #57]: #59
-#65 := (= #15 #64)
-#62 := (= #14 #61)
-#63 := [monotonicity #60]: #62
-#66 := [monotonicity #63]: #65
-#69 := [monotonicity #66 #60]: #68
-#72 := [monotonicity #69]: #71
-#98 := [trans #72 #96]: #97
-#53 := [asserted]: #17
-#99 := [mp #53 #98]: #94
-#630 := (not #650)
-#304 := (or #630 #316 #91)
-#636 := (or #316 #91)
-#305 := (or #630 #636)
-#638 := (iff #305 #304)
-#639 := [rewrite]: #638
-#637 := [quant-inst #80]: #305
-#640 := [mp #637 #639]: #304
-#618 := [unit-resolution #640 #99 #655]: #316
-#624 := [th-lemma arith farkas -1 1 1 #283 #618 #623]: false
-#262 := [lemma #624]: #74
-#315 := (or #73 #313)
-#306 := [def-axiom]: #315
-#267 := [unit-resolution #306 #262]: #313
-#268 := (not #313)
-#628 := (or #268 #625)
-#626 := [th-lemma arith triangle-eq]: #628
-#629 := [unit-resolution #626 #267]: #625
-#641 := (<= #80 0::Int)
-#615 := (or #641 #319)
-#616 := [th-lemma arith farkas 1 1]: #615
-#338 := [unit-resolution #616 #618]: #641
-[th-lemma arith farkas 1 1 1 #338 #262 #629]: false
-unsat
-7e6da58556dd56d85be0ea32c44b6f00c868dac5 431 0
-WARNING: For problems containing quantifiers, the model finding capabilities of Z3 work better when the formula does not contain nested quantifiers. You can use PULL_NESTED_QUANTIFIERS=true to eliminate nested quantifiers.
-#2 := false
-#446 := -1::Int
-decl f4 :: (-> S3 S2 Int)
-decl f7 :: (-> S4 Int S2)
-decl f9 :: S2
-#28 := f9
-decl f5 :: S3
-#11 := f5
-#29 := (f4 f5 f9)
-#27 := 4::Int
-#30 := (* 4::Int #29)
-#10 := 1::Int
-#112 := (+ 1::Int #30)
-decl f8 :: S4
-#17 := f8
-#115 := (f7 f8 #112)
-#362 := (f4 f5 #115)
-#662 := (* -1::Int #362)
-#673 := (+ #30 #662)
-#649 := (>= #673 -1::Int)
-#672 := (= #673 -1::Int)
-#41 := 0::Int
-#664 := (>= #29 0::Int)
-#644 := (= #362 0::Int)
-#593 := (not #644)
-#640 := (<= #362 0::Int)
-#628 := (not #640)
-#447 := (<= #362 1::Int)
-#752 := (not #447)
-decl f6 :: (-> S2 S2 S1)
-#7 := (:var 0 S2)
-#452 := (f6 #7 #115)
-#768 := (pattern #452)
-#451 := (= #7 #115)
-#18 := (f7 f8 1::Int)
-#19 := (= #7 #18)
-decl f1 :: S1
-#3 := f1
-#449 := (= #452 f1)
-#453 := (not #449)
-#432 := (or #453 #19 #451)
-#770 := (forall (vars (?v1 S2)) (:pat #768) #432)
-#426 := (not #770)
-#437 := (or #447 #426)
-#438 := (not #437)
-decl f3 :: (-> S2 S1)
-#118 := (f3 #115)
-#121 := (= #118 f1)
-#127 := (not #121)
-#771 := (or #127 #438)
-decl ?v1!0 :: (-> S2 S2)
-#772 := (?v1!0 #115)
-#767 := (= #772 #115)
-#425 := (= #772 #18)
-#773 := (f6 #772 #115)
-#774 := (= #773 f1)
-#769 := (not #774)
-#409 := (or #769 #425 #767)
-#766 := (not #409)
-#751 := (or #121 #447 #766)
-#413 := (not #751)
-#764 := (not #771)
-#414 := (or #764 #413)
-#415 := (not #414)
-#12 := (f4 f5 #7)
-#804 := (pattern #12)
-#8 := (f3 #7)
-#803 := (pattern #8)
-#219 := (?v1!0 #7)
-#222 := (= #219 #7)
-#221 := (= #219 #18)
-#202 := (f6 #219 #7)
-#203 := (= #202 f1)
-#220 := (not #203)
-#223 := (or #220 #221 #222)
-#224 := (not #223)
-#89 := (<= #12 1::Int)
-#9 := (= #8 f1)
-#266 := (or #9 #89 #224)
-#290 := (not #266)
-#14 := (:var 1 S2)
-#15 := (f6 #7 #14)
-#776 := (pattern #15)
-#20 := (= #7 #14)
-#16 := (= #15 f1)
-#73 := (not #16)
-#93 := (or #73 #19 #20)
-#777 := (forall (vars (?v1 S2)) (:pat #776) #93)
-#782 := (not #777)
-#785 := (or #89 #782)
-#788 := (not #785)
-#242 := (not #9)
-#791 := (or #242 #788)
-#794 := (not #791)
-#797 := (or #794 #290)
-#800 := (not #797)
-#805 := (forall (vars (?v0 S2)) (:pat #803 #804) #800)
-#96 := (forall (vars (?v1 S2)) #93)
-#225 := (not #96)
-#281 := (or #89 #225)
-#282 := (not #281)
-#283 := (or #242 #282)
-#289 := (not #283)
-#291 := (or #289 #290)
-#292 := (not #291)
-#297 := (forall (vars (?v0 S2)) #292)
-#806 := (iff #297 #805)
-#801 := (iff #292 #800)
-#798 := (iff #291 #797)
-#795 := (iff #289 #794)
-#792 := (iff #283 #791)
-#789 := (iff #282 #788)
-#786 := (iff #281 #785)
-#783 := (iff #225 #782)
-#780 := (iff #96 #777)
-#778 := (iff #93 #93)
-#779 := [refl]: #778
-#781 := [quant-intro #779]: #780
-#784 := [monotonicity #781]: #783
-#787 := [monotonicity #784]: #786
-#790 := [monotonicity #787]: #789
-#793 := [monotonicity #790]: #792
-#796 := [monotonicity #793]: #795
-#799 := [monotonicity #796]: #798
-#802 := [monotonicity #799]: #801
-#807 := [quant-intro #802]: #806
-#90 := (not #89)
-#99 := (and #90 #96)
-#248 := (or #242 #99)
-#271 := (and #248 #266)
-#274 := (forall (vars (?v0 S2)) #271)
-#298 := (iff #274 #297)
-#295 := (iff #271 #292)
-#286 := (and #283 #266)
-#293 := (iff #286 #292)
-#294 := [rewrite]: #293
-#287 := (iff #271 #286)
-#284 := (iff #248 #283)
-#214 := (iff #99 #282)
-#215 := [rewrite]: #214
-#285 := [monotonicity #215]: #284
-#288 := [monotonicity #285]: #287
-#296 := [trans #288 #294]: #295
-#299 := [quant-intro #296]: #298
-#216 := (not #90)
-#230 := (or #216 #224)
-#247 := (or #9 #230)
-#249 := (and #248 #247)
-#252 := (forall (vars (?v0 S2)) #249)
-#275 := (iff #252 #274)
-#272 := (iff #249 #271)
-#269 := (iff #247 #266)
-#260 := (or #89 #224)
-#263 := (or #9 #260)
-#267 := (iff #263 #266)
-#268 := [rewrite]: #267
-#264 := (iff #247 #263)
-#261 := (iff #230 #260)
-#258 := (iff #216 #89)
-#259 := [rewrite]: #258
-#262 := [monotonicity #259]: #261
-#265 := [monotonicity #262]: #264
-#270 := [trans #265 #268]: #269
-#273 := [monotonicity #270]: #272
-#276 := [quant-intro #273]: #275
-#102 := (iff #9 #99)
-#105 := (forall (vars (?v0 S2)) #102)
-#253 := (~ #105 #252)
-#250 := (~ #102 #249)
-#240 := (~ #99 #99)
-#238 := (~ #96 #96)
-#236 := (~ #93 #93)
-#237 := [refl]: #236
-#239 := [nnf-pos #237]: #238
-#234 := (~ #90 #90)
-#235 := [refl]: #234
-#241 := [monotonicity #235 #239]: #240
-#231 := (not #99)
-#232 := (~ #231 #230)
-#226 := (~ #225 #224)
-#227 := [sk]: #226
-#217 := (~ #216 #216)
-#218 := [refl]: #217
-#233 := [nnf-neg #218 #227]: #232
-#245 := (~ #9 #9)
-#246 := [refl]: #245
-#243 := (~ #242 #242)
-#244 := [refl]: #243
-#251 := [nnf-pos #244 #246 #233 #241]: #250
-#254 := [nnf-pos #251]: #253
-#21 := (or #19 #20)
-#22 := (implies #16 #21)
-#23 := (forall (vars (?v1 S2)) #22)
-#13 := (< 1::Int #12)
-#24 := (and #13 #23)
-#25 := (iff #9 #24)
-#26 := (forall (vars (?v0 S2)) #25)
-#108 := (iff #26 #105)
-#74 := (or #73 #21)
-#77 := (forall (vars (?v1 S2)) #74)
-#80 := (and #13 #77)
-#83 := (iff #9 #80)
-#86 := (forall (vars (?v0 S2)) #83)
-#106 := (iff #86 #105)
-#103 := (iff #83 #102)
-#100 := (iff #80 #99)
-#97 := (iff #77 #96)
-#94 := (iff #74 #93)
-#95 := [rewrite]: #94
-#98 := [quant-intro #95]: #97
-#91 := (iff #13 #90)
-#92 := [rewrite]: #91
-#101 := [monotonicity #92 #98]: #100
-#104 := [monotonicity #101]: #103
-#107 := [quant-intro #104]: #106
-#87 := (iff #26 #86)
-#84 := (iff #25 #83)
-#81 := (iff #24 #80)
-#78 := (iff #23 #77)
-#75 := (iff #22 #74)
-#76 := [rewrite]: #75
-#79 := [quant-intro #76]: #78
-#82 := [monotonicity #79]: #81
-#85 := [monotonicity #82]: #84
-#88 := [quant-intro #85]: #87
-#109 := [trans #88 #107]: #108
-#72 := [asserted]: #26
-#110 := [mp #72 #109]: #105
-#255 := [mp~ #110 #254]: #252
-#256 := [mp #255 #276]: #274
-#300 := [mp #256 #299]: #297
-#808 := [mp #300 #807]: #805
-#756 := (not #805)
-#753 := (or #756 #415)
-#757 := [quant-inst #115]: #753
-#566 := [unit-resolution #757 #808]: #415
-#730 := (or #414 #771)
-#736 := [def-axiom]: #730
-#621 := [unit-resolution #736 #566]: #771
-#602 := (or #764 #438)
-#138 := (>= #29 1::Int)
-#139 := (or #127 #138)
-#142 := (not #139)
-#35 := (<= 1::Int #29)
-#31 := (+ #30 1::Int)
-#32 := (f7 f8 #31)
-#33 := (f3 #32)
-#34 := (= #33 f1)
-#36 := (implies #34 #35)
-#37 := (not #36)
-#145 := (iff #37 #142)
-#128 := (or #127 #35)
-#133 := (not #128)
-#143 := (iff #133 #142)
-#140 := (iff #128 #139)
-#136 := (iff #35 #138)
-#137 := [rewrite]: #136
-#141 := [monotonicity #137]: #140
-#144 := [monotonicity #141]: #143
-#134 := (iff #37 #133)
-#131 := (iff #36 #128)
-#124 := (implies #121 #35)
-#129 := (iff #124 #128)
-#130 := [rewrite]: #129
-#125 := (iff #36 #124)
-#122 := (iff #34 #121)
-#119 := (= #33 #118)
-#116 := (= #32 #115)
-#113 := (= #31 #112)
-#114 := [rewrite]: #113
-#117 := [monotonicity #114]: #116
-#120 := [monotonicity #117]: #119
-#123 := [monotonicity #120]: #122
-#126 := [monotonicity #123]: #125
-#132 := [trans #126 #130]: #131
-#135 := [monotonicity #132]: #134
-#146 := [trans #135 #144]: #145
-#111 := [asserted]: #37
-#147 := [mp #111 #146]: #142
-#148 := [not-or-elim #147]: #121
-#744 := (or #764 #127 #438)
-#748 := [def-axiom]: #744
-#626 := [unit-resolution #748 #148]: #602
-#627 := [unit-resolution #626 #621]: #438
-#758 := (or #437 #752)
-#395 := [def-axiom]: #758
-#622 := [unit-resolution #395 #627]: #752
-#596 := (or #628 #447)
-#603 := [th-lemma arith farkas 1 1]: #596
-#562 := [unit-resolution #603 #622]: #628
-#595 := (or #593 #640)
-#597 := [th-lemma arith triangle-eq]: #595
-#604 := [unit-resolution #597 #562]: #593
-#623 := (or #664 #644)
-#42 := (:var 0 Int)
-#44 := (f7 f8 #42)
-#815 := (pattern #44)
-#45 := (f4 f5 #44)
-#50 := (= #45 0::Int)
-#162 := (>= #42 0::Int)
-#192 := (or #162 #50)
-#822 := (forall (vars (?v0 Int)) (:pat #815) #192)
-#195 := (forall (vars (?v0 Int)) #192)
-#825 := (iff #195 #822)
-#823 := (iff #192 #192)
-#824 := [refl]: #823
-#826 := [quant-intro #824]: #825
-#212 := (~ #195 #195)
-#278 := (~ #192 #192)
-#279 := [refl]: #278
-#213 := [nnf-pos #279]: #212
-#49 := (< #42 0::Int)
-#51 := (implies #49 #50)
-#52 := (forall (vars (?v0 Int)) #51)
-#198 := (iff #52 #195)
-#176 := (not #49)
-#177 := (or #176 #50)
-#180 := (forall (vars (?v0 Int)) #177)
-#196 := (iff #180 #195)
-#193 := (iff #177 #192)
-#190 := (iff #176 #162)
-#163 := (not #162)
-#185 := (not #163)
-#188 := (iff #185 #162)
-#189 := [rewrite]: #188
-#186 := (iff #176 #185)
-#183 := (iff #49 #163)
-#184 := [rewrite]: #183
-#187 := [monotonicity #184]: #186
-#191 := [trans #187 #189]: #190
-#194 := [monotonicity #191]: #193
-#197 := [quant-intro #194]: #196
-#181 := (iff #52 #180)
-#178 := (iff #51 #177)
-#179 := [rewrite]: #178
-#182 := [quant-intro #179]: #181
-#199 := [trans #182 #197]: #198
-#175 := [asserted]: #52
-#200 := [mp #175 #199]: #195
-#280 := [mp~ #200 #213]: #195
-#827 := [mp #280 #826]: #822
-#518 := (not #822)
-#629 := (or #518 #664 #644)
-#678 := (>= #112 0::Int)
-#650 := (or #678 #644)
-#630 := (or #518 #650)
-#638 := (iff #630 #629)
-#636 := (or #518 #623)
-#634 := (iff #636 #629)
-#637 := [rewrite]: #634
-#632 := (iff #630 #636)
-#624 := (iff #650 #623)
-#665 := (iff #678 #664)
-#666 := [rewrite]: #665
-#625 := [monotonicity #666]: #624
-#633 := [monotonicity #625]: #632
-#639 := [trans #633 #637]: #638
-#631 := [quant-inst #112]: #630
-#635 := [mp #631 #639]: #629
-#606 := [unit-resolution #635 #827]: #623
-#607 := [unit-resolution #606 #604]: #664
-#667 := (not #664)
-#651 := (or #667 #672)
-#46 := (= #45 #42)
-#166 := (or #163 #46)
-#816 := (forall (vars (?v0 Int)) (:pat #815) #166)
-#169 := (forall (vars (?v0 Int)) #166)
-#819 := (iff #169 #816)
-#817 := (iff #166 #166)
-#818 := [refl]: #817
-#820 := [quant-intro #818]: #819
-#210 := (~ #169 #169)
-#209 := (~ #166 #166)
-#206 := [refl]: #209
-#211 := [nnf-pos #206]: #210
-#43 := (<= 0::Int #42)
-#47 := (implies #43 #46)
-#48 := (forall (vars (?v0 Int)) #47)
-#172 := (iff #48 #169)
-#153 := (not #43)
-#154 := (or #153 #46)
-#157 := (forall (vars (?v0 Int)) #154)
-#170 := (iff #157 #169)
-#167 := (iff #154 #166)
-#164 := (iff #153 #163)
-#160 := (iff #43 #162)
-#161 := [rewrite]: #160
-#165 := [monotonicity #161]: #164
-#168 := [monotonicity #165]: #167
-#171 := [quant-intro #168]: #170
-#158 := (iff #48 #157)
-#155 := (iff #47 #154)
-#156 := [rewrite]: #155
-#159 := [quant-intro #156]: #158
-#173 := [trans #159 #171]: #172
-#152 := [asserted]: #48
-#174 := [mp #152 #173]: #169
-#207 := [mp~ #174 #211]: #169
-#821 := [mp #207 #820]: #816
-#655 := (not #816)
-#656 := (or #655 #667 #672)
-#661 := (= #362 #112)
-#679 := (not #678)
-#663 := (or #679 #661)
-#657 := (or #655 #663)
-#643 := (iff #657 #656)
-#653 := (or #655 #651)
-#641 := (iff #653 #656)
-#642 := [rewrite]: #641
-#659 := (iff #657 #653)
-#652 := (iff #663 #651)
-#670 := (iff #661 #672)
-#671 := [rewrite]: #670
-#668 := (iff #679 #667)
-#669 := [monotonicity #666]: #668
-#654 := [monotonicity #669 #671]: #652
-#645 := [monotonicity #654]: #659
-#646 := [trans #645 #642]: #643
-#658 := [quant-inst #112]: #657
-#647 := [mp #658 #646]: #656
-#608 := [unit-resolution #647 #821]: #651
-#618 := [unit-resolution #608 #607]: #672
-#598 := (not #672)
-#619 := (or #598 #649)
-#574 := [th-lemma arith triangle-eq]: #619
-#575 := [unit-resolution #574 #618]: #649
-#149 := (not #138)
-#150 := [not-or-elim #147]: #149
-[th-lemma arith farkas -4 1 1 #150 #622 #575]: false
-unsat
-f0add7d14def5da0b06e595882e28df041b2cf29 58 0
-#2 := false
-decl f8 :: S2
-#18 := f8
-decl f6 :: S2
-#14 := f6
-#20 := (= f6 f8)
-decl f3 :: (-> S4 S5 S2)
-decl f5 :: (-> S2 S3 S5)
-decl f7 :: S3
-#15 := f7
-#16 := (f5 f6 f7)
-decl f4 :: S4
-#7 := f4
-#17 := (f3 f4 #16)
-#19 := (= #17 f8)
-#45 := (not #19)
-#46 := (or #45 #20)
-#49 := (not #46)
-#21 := (implies #19 #20)
-#22 := (not #21)
-#50 := (iff #22 #49)
-#47 := (iff #21 #46)
-#48 := [rewrite]: #47
-#51 := [monotonicity #48]: #50
-#44 := [asserted]: #22
-#54 := [mp #44 #51]: #49
-#52 := [not-or-elim #54]: #19
-#125 := (= f6 #17)
-#124 := (= #17 f6)
-#9 := (:var 0 S3)
-#8 := (:var 1 S2)
-#10 := (f5 #8 #9)
-#540 := (pattern #10)
-#11 := (f3 f4 #10)
-#12 := (= #11 #8)
-#541 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #540) #12)
-#13 := (forall (vars (?v0 S2) (?v1 S3)) #12)
-#544 := (iff #13 #541)
-#542 := (iff #12 #12)
-#543 := [refl]: #542
-#545 := [quant-intro #543]: #544
-#67 := (~ #13 #13)
-#65 := (~ #12 #12)
-#66 := [refl]: #65
-#68 := [nnf-pos #66]: #67
-#43 := [asserted]: #13
-#57 := [mp~ #43 #68]: #13
-#546 := [mp #57 #545]: #541
-#211 := (not #541)
-#126 := (or #211 #124)
-#212 := [quant-inst #14 #15]: #126
-#210 := [unit-resolution #212 #546]: #124
-#203 := [symm #210]: #125
-#214 := [trans #203 #52]: #20
-#53 := (not #20)
-#55 := [not-or-elim #54]: #53
-[unit-resolution #55 #214]: false
-unsat
-86345bce2206ce27e174d4b1d6d3e0182564f8a1 106 0
-#2 := false
-decl f11 :: (-> S9 S5 S3)
-decl f16 :: S5
-#34 := f16
-decl f12 :: S9
-#25 := f12
-#39 := (f11 f12 f16)
-decl f6 :: (-> S6 S7 S3)
-decl f13 :: S7
-#29 := f13
-decl f7 :: S6
-#14 := f7
-#38 := (f6 f7 f13)
-#40 := (= #38 #39)
-decl f5 :: (-> S2 S3 S5)
-decl f14 :: S3
-#30 := f14
-decl f15 :: S2
-#31 := f15
-#35 := (f5 f15 f14)
-#165 := (f11 f12 #35)
-#233 := (= #165 #39)
-#573 := (= #39 #165)
-#36 := (= f16 #35)
-decl f8 :: (-> S3 S2 S7)
-#32 := (f8 f14 f15)
-#33 := (= f13 #32)
-#37 := (and #33 #36)
-#68 := (not #37)
-#69 := (or #68 #40)
-#72 := (not #69)
-#41 := (implies #37 #40)
-#42 := (not #41)
-#73 := (iff #42 #72)
-#70 := (iff #41 #69)
-#71 := [rewrite]: #70
-#74 := [monotonicity #71]: #73
-#67 := [asserted]: #42
-#77 := [mp #67 #74]: #72
-#75 := [not-or-elim #77]: #37
-#78 := [and-elim #75]: #36
-#579 := [monotonicity #78]: #573
-#570 := [symm #579]: #233
-#213 := (= #38 #165)
-#569 := (= f14 #165)
-#251 := (= #165 f14)
-#9 := (:var 0 S3)
-#8 := (:var 1 S2)
-#10 := (f5 #8 #9)
-#580 := (pattern #10)
-#26 := (f11 f12 #10)
-#27 := (= #26 #9)
-#600 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #580) #27)
-#28 := (forall (vars (?v0 S2) (?v1 S3)) #27)
-#603 := (iff #28 #600)
-#601 := (iff #27 #27)
-#602 := [refl]: #601
-#604 := [quant-intro #602]: #603
-#88 := (~ #28 #28)
-#107 := (~ #27 #27)
-#108 := [refl]: #107
-#89 := [nnf-pos #108]: #88
-#66 := [asserted]: #28
-#109 := [mp~ #66 #89]: #28
-#605 := [mp #109 #604]: #600
-#256 := (not #600)
-#253 := (or #256 #251)
-#257 := [quant-inst #31 #30]: #253
-#568 := [unit-resolution #257 #605]: #251
-#228 := [symm #568]: #569
-#229 := (= #38 f14)
-#254 := (f6 f7 #32)
-#255 := (= #254 f14)
-#16 := (:var 0 S2)
-#15 := (:var 1 S3)
-#17 := (f8 #15 #16)
-#587 := (pattern #17)
-#18 := (f6 f7 #17)
-#19 := (= #18 #15)
-#588 := (forall (vars (?v0 S3) (?v1 S2)) (:pat #587) #19)
-#20 := (forall (vars (?v0 S3) (?v1 S2)) #19)
-#591 := (iff #20 #588)
-#589 := (iff #19 #19)
-#590 := [refl]: #589
-#592 := [quant-intro #590]: #591
-#84 := (~ #20 #20)
-#83 := (~ #19 #19)
-#102 := [refl]: #83
-#85 := [nnf-pos #102]: #84
-#64 := [asserted]: #20
-#103 := [mp~ #64 #85]: #20
-#593 := [mp #103 #592]: #588
-#574 := (not #588)
-#230 := (or #574 #255)
-#361 := [quant-inst #30 #31]: #230
-#241 := [unit-resolution #361 #593]: #255
-#577 := (= #38 #254)
-#76 := [and-elim #75]: #33
-#578 := [monotonicity #76]: #577
-#571 := [trans #578 #241]: #229
-#555 := [trans #571 #228]: #213
-#217 := [trans #555 #570]: #40
-#79 := (not #40)
-#80 := [not-or-elim #77]: #79
-[unit-resolution #80 #217]: false
-unsat
-7180d528e452ef46d73483bf56a7d7018ee1b306 113 0
-#2 := false
-decl f3 :: (-> S2 S3 S4)
-decl f8 :: S3
-#30 := f8
-decl f11 :: S2
-#38 := f11
-#48 := (f3 f11 f8)
-decl f4 :: (-> S5 S4 S2)
-decl f13 :: S4
-#45 := f13
-decl f5 :: (-> S6 S3 S5)
-decl f10 :: S3
-#34 := f10
-decl f6 :: (-> S7 S2 S6)
-decl f12 :: S4
-#41 := f12
-decl f9 :: S3
-#31 := f9
-decl f7 :: S7
-#7 := f7
-#39 := (f6 f7 f11)
-#40 := (f5 #39 f9)
-#42 := (f4 #40 f12)
-#43 := (f6 f7 #42)
-#44 := (f5 #43 f10)
-#46 := (f4 #44 f13)
-#47 := (f3 #46 f8)
-#49 := (= #47 #48)
-#261 := (f3 #42 f8)
-#271 := (= #261 #48)
-#270 := (= #261 f12)
-#32 := (= f8 f9)
-#549 := (if #32 #270 #271)
-#23 := (:var 0 S3)
-#21 := (:var 1 S4)
-#19 := (:var 2 S3)
-#17 := (:var 3 S2)
-#18 := (f6 f7 #17)
-#20 := (f5 #18 #19)
-#22 := (f4 #20 #21)
-#24 := (f3 #22 #23)
-#593 := (pattern #24)
-#26 := (f3 #17 #23)
-#108 := (= #24 #26)
-#107 := (= #24 #21)
-#25 := (= #23 #19)
-#93 := (if #25 #107 #108)
-#594 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) (:pat #593) #93)
-#100 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #93)
-#597 := (iff #100 #594)
-#595 := (iff #93 #93)
-#596 := [refl]: #595
-#598 := [quant-intro #596]: #597
-#27 := (if #25 #21 #26)
-#28 := (= #24 #27)
-#29 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4) (?v3 S3)) #28)
-#97 := (iff #29 #100)
-#94 := (iff #28 #93)
-#99 := [rewrite]: #94
-#98 := [quant-intro #99]: #97
-#91 := (~ #29 #29)
-#90 := (~ #28 #28)
-#105 := [refl]: #90
-#92 := [nnf-pos #105]: #91
-#73 := [asserted]: #29
-#106 := [mp~ #73 #92]: #29
-#95 := [mp #106 #98]: #100
-#599 := [mp #95 #598]: #594
-#236 := (not #594)
-#547 := (or #236 #549)
-#551 := [quant-inst #38 #31 #41 #30]: #547
-#550 := [unit-resolution #551 #599]: #549
-#548 := (not #549)
-#264 := (or #548 #271)
-#33 := (not #32)
-#35 := (= f8 f10)
-#36 := (not #35)
-#37 := (and #33 #36)
-#75 := (not #37)
-#76 := (or #75 #49)
-#79 := (not #76)
-#50 := (implies #37 #49)
-#51 := (not #50)
-#80 := (iff #51 #79)
-#77 := (iff #50 #76)
-#78 := [rewrite]: #77
-#81 := [monotonicity #78]: #80
-#74 := [asserted]: #51
-#84 := [mp #74 #81]: #79
-#82 := [not-or-elim #84]: #37
-#83 := [and-elim #82]: #33
-#542 := (or #548 #32 #271)
-#543 := [def-axiom]: #542
-#387 := [unit-resolution #543 #83]: #264
-#388 := [unit-resolution #387 #550]: #271
-#263 := (= #47 #261)
-#260 := (= #47 f13)
-#242 := (if #35 #260 #263)
-#367 := (or #236 #242)
-#574 := [quant-inst #42 #34 #45 #30]: #367
-#389 := [unit-resolution #574 #599]: #242
-#247 := (not #242)
-#531 := (or #247 #263)
-#85 := [and-elim #82]: #36
-#582 := (or #247 #35 #263)
-#583 := [def-axiom]: #582
-#532 := [unit-resolution #583 #85]: #531
-#533 := [unit-resolution #532 #389]: #263
-#529 := [trans #533 #388]: #49
-#86 := (not #49)
-#87 := [not-or-elim #84]: #86
-[unit-resolution #87 #529]: false
-unsat
-1c419ffe565f74df1755b00362bfce413a0bbb21 74 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f6 :: (-> S2 S3 S1)
-decl f5 :: S3
-#8 := f5
-decl f4 :: S2
-#7 := f4
-#11 := (f6 f4 f5)
-#12 := (= #11 f1)
-decl f3 :: (-> S2 S3 S1)
-#9 := (f3 f4 f5)
-#10 := (= #9 f1)
-#70 := (not #10)
-#77 := (iff #70 #12)
-#81 := (iff #77 false)
-#83 := (iff #10 false)
-#43 := (iff #10 #12)
-#59 := (or #43 #10 #12)
-#62 := (not #59)
-#1 := true
-#16 := (iff #12 true)
-#15 := (iff #10 true)
-#17 := (or #15 #16)
-#13 := (and #12 true)
-#14 := (iff #10 #13)
-#18 := (or #14 #17)
-#19 := (not #18)
-#65 := (iff #19 #62)
-#50 := (or #10 #12)
-#53 := (or #43 #50)
-#56 := (not #53)
-#63 := (iff #56 #62)
-#60 := (iff #53 #59)
-#61 := [rewrite]: #60
-#64 := [monotonicity #61]: #63
-#57 := (iff #19 #56)
-#54 := (iff #18 #53)
-#51 := (iff #17 #50)
-#48 := (iff #16 #12)
-#49 := [rewrite]: #48
-#46 := (iff #15 #10)
-#47 := [rewrite]: #46
-#52 := [monotonicity #47 #49]: #51
-#44 := (iff #14 #43)
-#41 := (iff #13 #12)
-#42 := [rewrite]: #41
-#45 := [monotonicity #42]: #44
-#55 := [monotonicity #45 #52]: #54
-#58 := [monotonicity #55]: #57
-#66 := [trans #58 #64]: #65
-#40 := [asserted]: #19
-#67 := [mp #40 #66]: #62
-#71 := [not-or-elim #67]: #70
-#84 := [iff-false #71]: #83
-#92 := (iff #77 #10)
-#87 := (iff #70 false)
-#90 := (iff #87 #10)
-#91 := [rewrite]: #90
-#88 := (iff #77 #87)
-#85 := (iff #12 false)
-#72 := (not #12)
-#73 := [not-or-elim #67]: #72
-#86 := [iff-false #73]: #85
-#89 := [monotonicity #86]: #88
-#93 := [trans #89 #91]: #92
-#82 := [trans #93 #84]: #81
-#68 := (not #43)
-#78 := (iff #68 #77)
-#79 := [rewrite]: #78
-#69 := [not-or-elim #67]: #68
-#80 := [mp #69 #79]: #77
-[mp #80 #82]: false
-unsat
 76d09b53549e91e8b6b69b6b905b5e8307464c6f 106 0
 #2 := false
 decl f7 :: S2
@@ -10684,1133 +1668,6 @@
 #215 := [quant-inst #19]: #210
 [unit-resolution #215 #568 #555]: false
 unsat
-1396ebdf2db554fa58d5de90d7aa27d442610f3c 29 0
-#2 := false
-#1 := true
-decl f1 :: S1
-#3 := f1
-decl f3 :: (-> S1 S1)
-decl f2 :: S1
-#4 := f2
-decl f4 :: (-> S2 S1)
-#7 := (:var 0 S2)
-#8 := (f4 #7)
-#9 := (= #8 f1)
-#10 := (exists (vars (?v0 S2)) #9)
-#11 := (if #10 f1 f2)
-#12 := (f3 #11)
-#13 := (= #12 f1)
-#14 := (implies #13 true)
-#15 := (not #14)
-#44 := (iff #15 false)
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #15 #39)
-#37 := (iff #14 true)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#36 := [asserted]: #15
-[mp #36 #45]: false
-unsat
-352ef3cbf5b05cf656dc82749237c3b497c01e97 113 0
-#2 := false
-decl f1 :: S1
-#3 := f1
-decl f3 :: (-> S2 Int S1)
-#21 := 42::Int
-decl f4 :: (-> S3 Int S2)
-#19 := 3::Int
-decl f6 :: S3
-#17 := f6
-#20 := (f4 f6 3::Int)
-#22 := (f3 #20 42::Int)
-#23 := (= #22 f1)
-decl f5 :: S3
-#7 := f5
-#139 := (f4 f5 3::Int)
-#223 := (f3 #139 42::Int)
-#224 := (= #223 f1)
-#10 := (:var 0 Int)
-#8 := (:var 1 Int)