merged
authorblanchet
Fri, 28 May 2010 17:00:38 +0200
changeset 37172 365f2296ae5b
parent 37168 5610d9097cae (diff)
parent 37171 fc1e20373e6a (current diff)
child 37173 ece850d911a5
merged
src/HOL/Tools/Sledgehammer/sledgehammer_proof_reconstruct.ML
--- a/ANNOUNCE	Fri May 28 13:49:21 2010 +0200
+++ b/ANNOUNCE	Fri May 28 17:00:38 2010 +0200
@@ -1,48 +1,16 @@
-Subject: Announcing Isabelle2009-1
+Subject: Announcing Isabelle2009-2
 To: isabelle-users@cl.cam.ac.uk
 
-Isabelle2009-1 is now available.
+Isabelle2009-2 is now available.
 
-This release improves upon Isabelle2009 in many ways, see the NEWS
-file in the distribution for more details.  Some important changes
+This release improves upon Isabelle2009-1 in many respects, see the
+NEWS file in the distribution for more details.  Some notable changes
 are:
 
-* Isabelle tool "wwwfind" provides web interface for 'find_theorems'
-on a given logic image.
-
-* HOL-SMT: proof method "smt" for a combination of first-order logic
-with equality, linear and nonlinear (natural/integer/real) arithmetic,
-and fixed-size bitvectors.
-
-* HOL-Boogie: an interactive prover back-end for Boogie and VCC.
-
-* HOL: counterexample generator tool Nitpick based on the Kodkod
-relational model finder.
-
-* HOL: predicate compiler turning inductive into (executable)
-equational specifications.
-
-* HOL: refined number theory.
-
-* HOL: various parts of multivariate analysis.
-
-* HOL-Library: proof method "sos" (sum of squares) for nonlinear real
-arithmetic, based on external semidefinite programming solvers.
-
-* HOLCF: new definitional domain package.
-
-* Revised tutorial on locales.
-
-* ML: tacticals for subgoal focus.
-
-* ML: support for Poly/ML 5.3.0, with improved reporting of compiler
-errors and run-time exceptions, including detailed source positions.
-
-* Parallel checking of nested Isar proofs, with improved scalability
-up to 8 cores.
+* FIXME
 
 
-You may get Isabelle2009-1 from the following mirror sites:
+You may get Isabelle2009-2 from the following mirror sites:
 
   Cambridge (UK)       http://www.cl.cam.ac.uk/research/hvg/Isabelle/
   Munich (Germany)     http://isabelle.in.tum.de/
--- a/COPYRIGHT	Fri May 28 13:49:21 2010 +0200
+++ b/COPYRIGHT	Fri May 28 17:00:38 2010 +0200
@@ -1,6 +1,6 @@
 ISABELLE COPYRIGHT NOTICE, LICENCE AND DISCLAIMER.
 
-Copyright (c) 2009,
+Copyright (c) 2010,
   University of Cambridge and
   Technische Universitaet Muenchen.
 
--- a/NEWS	Fri May 28 13:49:21 2010 +0200
+++ b/NEWS	Fri May 28 17:00:38 2010 +0200
@@ -435,6 +435,8 @@
   - Removed "skolemize", "uncurry", "sym_break", "flatten_prop",
     "sharing_depth", and "show_skolems" options.  INCOMPATIBILITY.
 
+* Moved the SMT binding into the HOL image.
+
 
 *** HOLCF ***
 
@@ -502,6 +504,8 @@
   OuterParse    ~>  Parse
   OuterSyntax   ~>  Outer_Syntax
   SpecParse     ~>  Parse_Spec
+  TypeInfer     ~>  Type_Infer
+  PrintMode     ~>  Print_Mode
 
 Note that "open Legacy" simplifies porting of sources, but forgetting
 to remove it again will complicate porting again in the future.
--- a/README	Fri May 28 13:49:21 2010 +0200
+++ b/README	Fri May 28 17:00:38 2010 +0200
@@ -9,8 +9,9 @@
 
 System requirements
 
-   Isabelle requires a regular Unix platform (e.g. GNU Linux) with the
-   following additional software:
+   Isabelle requires a regular Unix-style platform (e.g. Linux,
+   Windows with Cygwin, Mac OS) and depends on the following main
+   add-on tools:
 
      * The Poly/ML compiler and runtime system (version 5.x).
      * The GNU bash shell (version 3.x or 2.x).
@@ -20,7 +21,7 @@
 
 Installation
 
-   Binary packages are available for Isabelle/HOL and ZF for several
+   Binary packages are available for Isabelle/HOL etc. for several
    platforms from the Isabelle web page. The system may be also built
    from scratch, using the tar.gz source distribution. See file
    INSTALL as distributed with Isabelle for more information.
@@ -32,9 +33,8 @@
 
    The classic Isabelle user interface is Proof General by David
    Aspinall and others. It is a generic Emacs interface for proof
-   assistants, including Isabelle. Proof General is suitable for use
-   by pacifists and Emacs militants alike. Its most prominent feature
-   is script management, providing a metaphor of live proof script
+   assistants, including Isabelle.  Its most prominent feature is
+   script management, providing a metaphor of stepwise proof script
    editing.  Proof General also provides some support for mathematical
    symbols displayed on screen.
 
--- a/src/FOL/ex/Locale_Test/Locale_Test1.thy	Fri May 28 13:49:21 2010 +0200
+++ b/src/FOL/ex/Locale_Test/Locale_Test1.thy	Fri May 28 17:00:38 2010 +0200
@@ -148,7 +148,7 @@
 ML {*
   fun check_syntax ctxt thm expected =
     let
-      val obtained = PrintMode.setmp [] (Display.string_of_thm ctxt) thm;
+      val obtained = Print_Mode.setmp [] (Display.string_of_thm ctxt) thm;
     in
       if obtained <> expected
       then error ("Theorem syntax '" ^ obtained ^ "' obtained, but '" ^ expected ^ "' expected.")
--- a/src/HOL/Boogie/Examples/Boogie_Dijkstra.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Boogie/Examples/Boogie_Dijkstra.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,4 +1,4 @@
-2d5ecda945177c32dc13189db42e7a2391a39390 6889 0
+585d6a826013e58a18631a689e131cc7e15b8538 6889 0
 #2 := false
 decl f11 :: (-> S5 S2 S1)
 decl ?v1!7 :: (-> S2 S2)
--- a/src/HOL/Boogie/Examples/Boogie_Max.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Boogie/Examples/Boogie_Max.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,4 +1,4 @@
-fa119d1e7e3988808a55c43e2ba918fefc69c8fd 2224 0
+3e8da1e086888bc525192984192051f1e39c6752 2224 0
 #2 := false
 #8 := 0::int
 decl f5 :: (-> int int)
--- a/src/HOL/Boogie/Examples/VCC_Max.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Boogie/Examples/VCC_Max.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,4 +1,4 @@
-95b4b08061ee75475bbfdf75c59af3c86af542dc 7862 0
+a2095afb5c01aff7b980eece0ecc2b89ecf5e46c 7862 0
 #2 := false
 decl f111 :: (-> S4 S5 int)
 decl f67 :: (-> S5 int S3 S5)
--- a/src/HOL/Import/proof_kernel.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Import/proof_kernel.ML	Fri May 28 17:00:38 2010 +0200
@@ -200,7 +200,7 @@
                            handle TERM _ => ct)
     in
         quote (
-        PrintMode.setmp [] (
+        Print_Mode.setmp [] (
         setmp_CRITICAL show_brackets false (
         setmp_CRITICAL show_all_types true (
         setmp_CRITICAL Syntax.ambiguity_is_error false (
@@ -229,7 +229,7 @@
                 val str =
                   setmp_CRITICAL show_brackets false (G n (Syntax.string_of_term ctxt o term_of)) ct
                 val u = Syntax.parse_term ctxt str
-                  |> TypeInfer.constrain T |> Syntax.check_term ctxt
+                  |> Type_Infer.constrain T |> Syntax.check_term ctxt
             in
                 if match u
                 then quote str
@@ -239,14 +239,14 @@
               | SMART_STRING =>
                   error ("smart_string failed for: "^ G 0 (Syntax.string_of_term ctxt o term_of) ct)
     in
-      PrintMode.setmp [] (setmp_CRITICAL Syntax.ambiguity_is_error true F) 0
+      Print_Mode.setmp [] (setmp_CRITICAL Syntax.ambiguity_is_error true F) 0
     end
     handle ERROR mesg => simple_smart_string_of_cterm ct
 
 val smart_string_of_thm = smart_string_of_cterm o cprop_of
 
-fun prth th = writeln (PrintMode.setmp [] Display.string_of_thm_without_context th);
-fun prin t = writeln (PrintMode.setmp []
+fun prth th = writeln (Print_Mode.setmp [] Display.string_of_thm_without_context th);
+fun prin t = writeln (Print_Mode.setmp []
   (fn () => Syntax.string_of_term (ML_Context.the_local_context ()) t) ());
 fun pth (HOLThm(ren,thm)) =
     let
--- a/src/HOL/Import/shuffler.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Import/shuffler.ML	Fri May 28 17:00:38 2010 +0200
@@ -56,7 +56,7 @@
 (*Prints an exception, then fails*)
 fun print_sign_exn sign e = (print_sign_exn_unit sign e; raise e)
 
-val string_of_thm = PrintMode.setmp [] Display.string_of_thm_without_context;
+val string_of_thm = Print_Mode.setmp [] Display.string_of_thm_without_context;
 
 fun mk_meta_eq th =
     (case concl_of th of
--- a/src/HOL/Modelcheck/EindhovenSyn.thy	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Modelcheck/EindhovenSyn.thy	Fri May 28 17:00:38 2010 +0200
@@ -32,7 +32,7 @@
 oracle mc_eindhoven_oracle =
 {*
 let
-  val eindhoven_term = PrintMode.setmp ["Eindhoven"] o Syntax.string_of_term_global;
+  val eindhoven_term = Print_Mode.setmp ["Eindhoven"] o Syntax.string_of_term_global;
 
   fun call_mc s =
     let
--- a/src/HOL/Modelcheck/mucke_oracle.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Modelcheck/mucke_oracle.ML	Fri May 28 17:00:38 2010 +0200
@@ -487,7 +487,7 @@
         make_string sign (trm::list) =
            Syntax.string_of_term_global sign trm ^ "\n" ^ make_string sign list
 in
-  PrintMode.setmp ["Mucke"] (make_string sign) terms
+  Print_Mode.setmp ["Mucke"] (make_string sign) terms
 end;
 
 fun callmc s =
--- a/src/HOL/Multivariate_Analysis/Integration.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Multivariate_Analysis/Integration.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,4 +1,4 @@
-148c2437fb9e64ff4110383f54f5a9a720082439 428 0
+5ee060971856d2def7cc6d40549073dace7efe45 428 0
 #2 := false
 decl f12 :: S2
 #42 := f12
@@ -427,7 +427,7 @@
 #679 := [lemma #678]: #576
 [unit-resolution #679 #695]: false
 unsat
-3563da621b35b09e69b7f5fa5fa01c2868364b3e 422 0
+6c73093b27236ef09bc4a53162dee78b6dc31895 422 0
 #2 := false
 decl f12 :: S2
 #42 := f12
@@ -850,7 +850,7 @@
 #684 := [lemma #683]: #575
 [unit-resolution #684 #700]: false
 unsat
-84444fc7be1372d94ec0514d2ec99e1693c028e3 921 0
+c220892677421b557c184d2f3de28c1bae1b8341 921 0
 #2 := false
 #58 := 0::int
 decl f5 :: (-> S4 int)
@@ -1772,7 +1772,7 @@
 #1385 := [unit-resolution #1384 #1297]: #982
 [th-lemma #1385 #1382 #1341]: false
 unsat
-85264eb8e7f8e85b6d7ee44a562fd15da499cae2 208 0
+ca942f6174c1f53254d5ef1b69b0e75f0d4027d4 208 0
 #2 := false
 #37 := 0::real
 decl f13 :: (-> S6 S7 real)
@@ -1981,7 +1981,7 @@
 #417 := [unit-resolution #400 #416]: #384
 [th-lemma #410 #218 #210 #403 #161 #417]: false
 unsat
-93a49e3235fe928f7c40274d2cb077bbf82de367 333 0
+504ce5f4f6961a0f59840c0aa303f063d46936a5 333 0
 #2 := false
 #11 := 0::real
 decl ?v2!1 :: real
@@ -2315,7 +2315,7 @@
 #408 := [lemma #407]: #230
 [th-lemma #406 #301 #408 #396 #303]: false
 unsat
-869cff425b5458015114ab900e59f8623c03a78b 165 0
+024080ea9e6de105c72225d6d55cc8b136a93933 165 0
 #2 := false
 #22 := 0::real
 decl f3 :: (-> S3 S2 real)
@@ -2481,7 +2481,7 @@
 #234 := [quant-inst]: #233
 [unit-resolution #234 #229 #163]: false
 unsat
-2d6fbb869d4e1460704d418830e5da7d2659f315 57 0
+116b1dd4c85396a326f34f6c1266b1ad85116049 57 0
 #2 := false
 decl f13 :: (-> S4 S4 S5)
 #44 := (:var 0 S4)
@@ -2539,7 +2539,7 @@
 #264 := [quant-inst]: #263
 [unit-resolution #264 #269 #258]: false
 unsat
-c9590f4753c4b6ca0ef0d09a97231631684bbcc1 91 0
+74073317ccefcdf35878e5154f8155d12c8475cf 91 0
 #2 := false
 #43 := 0::real
 decl f3 :: (-> S2 S3 real)
@@ -2631,7 +2631,7 @@
 #158 := [mp #152 #157]: #150
 [unit-resolution #158 #134 #165]: false
 unsat
-827be21ccd16905d74e993b95541879c4d3dbf92 271 0
+ada412db5ba79d588ff49226c319d0dae76f5f87 271 0
 #2 := false
 #8 := 0::real
 decl f4 :: (-> S3 S2 real)
@@ -2903,7 +2903,7 @@
 #348 := [th-lemma]: #347
 [unit-resolution #348 #345 #330]: false
 unsat
-17761be5b8c4a7d5d589dee9a6fb2f3f1c9050ee 288 0
+3f6125a99a8cb462db3a2586a1eae0021b892091 288 0
 #2 := false
 #8 := 0::real
 decl f4 :: (-> S3 S2 real)
@@ -3192,7 +3192,7 @@
 #425 := [th-lemma]: #424
 [unit-resolution #425 #422 #408]: false
 unsat
-c62e7dbb8c21f248aba4bbd031c4a7dd170e0476 149 0
+9ecd5f8eb0c8f78bd68a366175093e04632f1f73 149 0
 #2 := false
 #23 := 0::real
 decl f3 :: (-> S2 S3 real)
@@ -3342,7 +3342,7 @@
 #233 := [unit-resolution #205 #225]: #178
 [th-lemma #233 #232 #216]: false
 unsat
-f2ad7d91f9a20a669bc2985b9542b252779b00c7 870 0
+2dea73fd0603d00ddaec5e14116c465addb0b89e 870 0
 #2 := false
 #11 := 0::real
 decl f5 :: real
--- a/src/HOL/Product_Type.thy	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Product_Type.thy	Fri May 28 17:00:38 2010 +0200
@@ -34,7 +34,7 @@
   (Haskell -)
 
 
-subsection {* Unit *}
+subsection {* The @{text unit} type *}
 
 typedef unit = "{True}"
 proof
@@ -90,8 +90,6 @@
 
 end
 
-text {* code generator setup *}
-
 lemma [code]:
   "eq_class.eq (u\<Colon>unit) v \<longleftrightarrow> True" unfolding eq unit_eq [of u] unit_eq [of v] by rule+
 
@@ -101,18 +99,18 @@
   (Haskell "()")
   (Scala "Unit")
 
+code_const Unity
+  (SML "()")
+  (OCaml "()")
+  (Haskell "()")
+  (Scala "()")
+
 code_instance unit :: eq
   (Haskell -)
 
 code_const "eq_class.eq \<Colon> unit \<Rightarrow> unit \<Rightarrow> bool"
   (Haskell infixl 4 "==")
 
-code_const Unity
-  (SML "()")
-  (OCaml "()")
-  (Haskell "()")
-  (Scala "()")
-
 code_reserved SML
   unit
 
@@ -123,13 +121,11 @@
   Unit
 
 
-subsection {* Pairs *}
-
-subsubsection {* Product type, basic operations and concrete syntax *}
+subsection {* The product type *}
 
-definition
-  Pair_Rep :: "'a \<Rightarrow> 'b \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> bool"
-where
+subsubsection {* Type definition *}
+
+definition Pair_Rep :: "'a \<Rightarrow> 'b \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> bool" where
   "Pair_Rep a b = (\<lambda>x y. x = a \<and> y = b)"
 
 global
@@ -149,19 +145,34 @@
 
 consts
   Pair     :: "'a \<Rightarrow> 'b \<Rightarrow> 'a \<times> 'b"
-  fst      :: "'a \<times> 'b \<Rightarrow> 'a"
-  snd      :: "'a \<times> 'b \<Rightarrow> 'b"
-  split    :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'c"
-  curry    :: "('a \<times> 'b \<Rightarrow> 'c) \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> 'c"
 
 local
 
 defs
   Pair_def:     "Pair a b == Abs_Prod (Pair_Rep a b)"
-  fst_def:      "fst p == THE a. EX b. p = Pair a b"
-  snd_def:      "snd p == THE b. EX a. p = Pair a b"
-  split_def:    "split == (%c p. c (fst p) (snd p))"
-  curry_def:    "curry == (%c x y. c (Pair x y))"
+
+rep_datatype (prod) Pair proof -
+  fix P :: "'a \<times> 'b \<Rightarrow> bool" and p
+  assume "\<And>a b. P (Pair a b)"
+  then show "P p" by (cases p) (auto simp add: Prod_def Pair_def Pair_Rep_def)
+next
+  fix a c :: 'a and b d :: 'b
+  have "Pair_Rep a b = Pair_Rep c d \<longleftrightarrow> a = c \<and> b = d"
+    by (auto simp add: Pair_Rep_def expand_fun_eq)
+  moreover have "Pair_Rep a b \<in> Prod" and "Pair_Rep c d \<in> Prod"
+    by (auto simp add: Prod_def)
+  ultimately show "Pair a b = Pair c d \<longleftrightarrow> a = c \<and> b = d"
+    by (simp add: Pair_def Abs_Prod_inject)
+qed
+
+
+subsubsection {* Tuple syntax *}
+
+global consts
+  split    :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'c"
+
+local defs
+  split_prod_case: "split == prod_case"
 
 text {*
   Patterns -- extends pre-defined type @{typ pttrn} used in
@@ -185,8 +196,8 @@
   "%(x, y, zs). b" == "CONST split (%x (y, zs). b)"
   "%(x, y). b" == "CONST split (%x y. b)"
   "_abs (CONST Pair x y) t" => "%(x, y). t"
-  (* The last rule accommodates tuples in `case C ... (x,y) ... => ...'
-     The (x,y) is parsed as `Pair x y' because it is logic, not pttrn *)
+  -- {* The last rule accommodates tuples in `case C ... (x,y) ... => ...'
+     The (x,y) is parsed as `Pair x y' because it is logic, not pttrn *}
 
 (*reconstruct pattern from (nested) splits, avoiding eta-contraction of body;
   works best with enclosing "let", if "let" does not avoid eta-contraction*)
@@ -258,57 +269,149 @@
 *}
 
 
-text {* Towards a datatype declaration *}
+subsubsection {* Code generator setup *}
+
+lemma split_case_cert:
+  assumes "CASE \<equiv> split f"
+  shows "CASE (a, b) \<equiv> f a b"
+  using assms by (simp add: split_prod_case)
+
+setup {*
+  Code.add_case @{thm split_case_cert}
+*}
+
+code_type *
+  (SML infix 2 "*")
+  (OCaml infix 2 "*")
+  (Haskell "!((_),/ (_))")
+  (Scala "((_),/ (_))")
+
+code_const Pair
+  (SML "!((_),/ (_))")
+  (OCaml "!((_),/ (_))")
+  (Haskell "!((_),/ (_))")
+  (Scala "!((_),/ (_))")
+
+code_instance * :: eq
+  (Haskell -)
+
+code_const "eq_class.eq \<Colon> 'a\<Colon>eq \<times> 'b\<Colon>eq \<Rightarrow> 'a \<times> 'b \<Rightarrow> bool"
+  (Haskell infixl 4 "==")
+
+types_code
+  "*"     ("(_ */ _)")
+attach (term_of) {*
+fun term_of_id_42 aF aT bF bT (x, y) = HOLogic.pair_const aT bT $ aF x $ bF y;
+*}
+attach (test) {*
+fun gen_id_42 aG aT bG bT i =
+  let
+    val (x, t) = aG i;
+    val (y, u) = bG i
+  in ((x, y), fn () => HOLogic.pair_const aT bT $ t () $ u ()) end;
+*}
+
+consts_code
+  "Pair"    ("(_,/ _)")
+
+setup {*
+let
+
+fun strip_abs_split 0 t = ([], t)
+  | strip_abs_split i (Abs (s, T, t)) =
+      let
+        val s' = Codegen.new_name t s;
+        val v = Free (s', T)
+      in apfst (cons v) (strip_abs_split (i-1) (subst_bound (v, t))) end
+  | strip_abs_split i (u as Const (@{const_name split}, _) $ t) =
+      (case strip_abs_split (i+1) t of
+        (v :: v' :: vs, u) => (HOLogic.mk_prod (v, v') :: vs, u)
+      | _ => ([], u))
+  | strip_abs_split i t =
+      strip_abs_split i (Abs ("x", hd (binder_types (fastype_of t)), t $ Bound 0));
+
+fun let_codegen thy defs dep thyname brack t gr =
+  (case strip_comb t of
+    (t1 as Const (@{const_name Let}, _), t2 :: t3 :: ts) =>
+    let
+      fun dest_let (l as Const (@{const_name Let}, _) $ t $ u) =
+          (case strip_abs_split 1 u of
+             ([p], u') => apfst (cons (p, t)) (dest_let u')
+           | _ => ([], l))
+        | dest_let t = ([], t);
+      fun mk_code (l, r) gr =
+        let
+          val (pl, gr1) = Codegen.invoke_codegen thy defs dep thyname false l gr;
+          val (pr, gr2) = Codegen.invoke_codegen thy defs dep thyname false r gr1;
+        in ((pl, pr), gr2) end
+    in case dest_let (t1 $ t2 $ t3) of
+        ([], _) => NONE
+      | (ps, u) =>
+          let
+            val (qs, gr1) = fold_map mk_code ps gr;
+            val (pu, gr2) = Codegen.invoke_codegen thy defs dep thyname false u gr1;
+            val (pargs, gr3) = fold_map
+              (Codegen.invoke_codegen thy defs dep thyname true) ts gr2
+          in
+            SOME (Codegen.mk_app brack
+              (Pretty.blk (0, [Codegen.str "let ", Pretty.blk (0, flat
+                  (separate [Codegen.str ";", Pretty.brk 1] (map (fn (pl, pr) =>
+                    [Pretty.block [Codegen.str "val ", pl, Codegen.str " =",
+                       Pretty.brk 1, pr]]) qs))),
+                Pretty.brk 1, Codegen.str "in ", pu,
+                Pretty.brk 1, Codegen.str "end"])) pargs, gr3)
+          end
+    end
+  | _ => NONE);
+
+fun split_codegen thy defs dep thyname brack t gr = (case strip_comb t of
+    (t1 as Const (@{const_name split}, _), t2 :: ts) =>
+      let
+        val ([p], u) = strip_abs_split 1 (t1 $ t2);
+        val (q, gr1) = Codegen.invoke_codegen thy defs dep thyname false p gr;
+        val (pu, gr2) = Codegen.invoke_codegen thy defs dep thyname false u gr1;
+        val (pargs, gr3) = fold_map
+          (Codegen.invoke_codegen thy defs dep thyname true) ts gr2
+      in
+        SOME (Codegen.mk_app brack
+          (Pretty.block [Codegen.str "(fn ", q, Codegen.str " =>",
+            Pretty.brk 1, pu, Codegen.str ")"]) pargs, gr2)
+      end
+  | _ => NONE);
+
+in
+
+  Codegen.add_codegen "let_codegen" let_codegen
+  #> Codegen.add_codegen "split_codegen" split_codegen
+
+end
+*}
+
+
+subsubsection {* Fundamental operations and properties *}
 
 lemma surj_pair [simp]: "EX x y. p = (x, y)"
-  apply (unfold Pair_def)
-  apply (rule Rep_Prod [unfolded Prod_def, THEN CollectE])
-  apply (erule exE, erule exE, rule exI, rule exI)
-  apply (rule Rep_Prod_inverse [symmetric, THEN trans])
-  apply (erule arg_cong)
-  done
-
-lemma PairE [cases type: *]:
-  obtains x y where "p = (x, y)"
-  using surj_pair [of p] by blast
-
-lemma ProdI: "Pair_Rep a b \<in> Prod"
-  unfolding Prod_def by rule+
-
-lemma Pair_Rep_inject: "Pair_Rep a b = Pair_Rep a' b' \<Longrightarrow> a = a' \<and> b = b'"
-  unfolding Pair_Rep_def by (drule fun_cong, drule fun_cong) blast
+  by (cases p) simp
 
-lemma inj_on_Abs_Prod: "inj_on Abs_Prod Prod"
-  apply (rule inj_on_inverseI)
-  apply (erule Abs_Prod_inverse)
-  done
+global consts
+  fst      :: "'a \<times> 'b \<Rightarrow> 'a"
+  snd      :: "'a \<times> 'b \<Rightarrow> 'b"
 
-lemma Pair_inject:
-  assumes "(a, b) = (a', b')"
-    and "a = a' ==> b = b' ==> R"
-  shows R
-  apply (insert prems [unfolded Pair_def])
-  apply (rule inj_on_Abs_Prod [THEN inj_onD, THEN Pair_Rep_inject, THEN conjE])
-  apply (assumption | rule ProdI)+
-  done
-
-rep_datatype (prod) Pair
-proof -
-  fix P p
-  assume "\<And>x y. P (x, y)"
-  then show "P p" by (cases p) simp
-qed (auto elim: Pair_inject)
-
-lemmas Pair_eq = prod.inject
+local defs
+  fst_def:      "fst p == case p of (a, b) \<Rightarrow> a"
+  snd_def:      "snd p == case p of (a, b) \<Rightarrow> b"
 
 lemma fst_conv [simp, code]: "fst (a, b) = a"
-  unfolding fst_def by blast
+  unfolding fst_def by simp
 
 lemma snd_conv [simp, code]: "snd (a, b) = b"
-  unfolding snd_def by blast
+  unfolding snd_def by simp
 
+code_const fst and snd
+  (Haskell "fst" and "snd")
 
-subsubsection {* Basic rules and proof tools *}
+lemma prod_case_unfold: "prod_case = (%c p. c (fst p) (snd p))"
+  by (simp add: expand_fun_eq split: prod.split)
 
 lemma fst_eqD: "fst (x, y) = a ==> x = a"
   by simp
@@ -321,6 +424,44 @@
 
 lemmas surjective_pairing = pair_collapse [symmetric]
 
+lemma Pair_fst_snd_eq: "s = t \<longleftrightarrow> fst s = fst t \<and> snd s = snd t"
+  by (cases s, cases t) simp
+
+lemma prod_eqI [intro?]: "fst p = fst q \<Longrightarrow> snd p = snd q \<Longrightarrow> p = q"
+  by (simp add: Pair_fst_snd_eq)
+
+lemma split_conv [simp, code]: "split f (a, b) = f a b"
+  by (simp add: split_prod_case)
+
+lemma splitI: "f a b \<Longrightarrow> split f (a, b)"
+  by (rule split_conv [THEN iffD2])
+
+lemma splitD: "split f (a, b) \<Longrightarrow> f a b"
+  by (rule split_conv [THEN iffD1])
+
+lemma split_Pair [simp]: "(\<lambda>(x, y). (x, y)) = id"
+  by (simp add: split_prod_case expand_fun_eq split: prod.split)
+
+lemma split_eta: "(\<lambda>(x, y). f (x, y)) = f"
+  -- {* Subsumes the old @{text split_Pair} when @{term f} is the identity function. *}
+  by (simp add: split_prod_case expand_fun_eq split: prod.split)
+
+lemma split_comp: "split (f \<circ> g) x = f (g (fst x)) (snd x)"
+  by (cases x) simp
+
+lemma split_twice: "split f (split g p) = split (\<lambda>x y. split f (g x y)) p"
+  by (cases p) simp
+
+lemma The_split: "The (split P) = (THE xy. P (fst xy) (snd xy))"
+  by (simp add: split_prod_case prod_case_unfold)
+
+lemma split_weak_cong: "p = q \<Longrightarrow> split c p = split c q"
+  -- {* Prevents simplification of @{term c}: much faster *}
+  by (erule arg_cong)
+
+lemma cond_split_eta: "(!!x y. f x y = g (x, y)) ==> (%(x, y). f x y) = g"
+  by (simp add: split_eta)
+
 lemma split_paired_all: "(!!x. PROP P x) == (!!a b. PROP P (a, b))"
 proof
   fix a b
@@ -374,71 +515,10 @@
 lemma split_paired_Ex [simp]: "(EX x. P x) = (EX a b. P (a, b))"
   by fast
 
-lemma Pair_fst_snd_eq: "s = t \<longleftrightarrow> fst s = fst t \<and> snd s = snd t"
-  by (cases s, cases t) simp
-
-lemma prod_eqI [intro?]: "fst p = fst q \<Longrightarrow> snd p = snd q \<Longrightarrow> p = q"
-  by (simp add: Pair_fst_snd_eq)
-
-
-subsubsection {* @{text split} and @{text curry} *}
-
-lemma split_conv [simp, code]: "split f (a, b) = f a b"
-  by (simp add: split_def)
-
-lemma curry_conv [simp, code]: "curry f a b = f (a, b)"
-  by (simp add: curry_def)
-
-lemmas split = split_conv  -- {* for backwards compatibility *}
-
-lemma splitI: "f a b \<Longrightarrow> split f (a, b)"
-  by (rule split_conv [THEN iffD2])
-
-lemma splitD: "split f (a, b) \<Longrightarrow> f a b"
-  by (rule split_conv [THEN iffD1])
-
-lemma curryI [intro!]: "f (a, b) \<Longrightarrow> curry f a b"
-  by (simp add: curry_def)
-
-lemma curryD [dest!]: "curry f a b \<Longrightarrow> f (a, b)"
-  by (simp add: curry_def)
-
-lemma curryE: "curry f a b \<Longrightarrow> (f (a, b) \<Longrightarrow> Q) \<Longrightarrow> Q"
-  by (simp add: curry_def)
-
-lemma curry_split [simp]: "curry (split f) = f"
-  by (simp add: curry_def split_def)
-
-lemma split_curry [simp]: "split (curry f) = f"
-  by (simp add: curry_def split_def)
-
-lemma split_Pair [simp]: "(\<lambda>(x, y). (x, y)) = id"
-  by (simp add: split_def id_def)
-
-lemma split_eta: "(\<lambda>(x, y). f (x, y)) = f"
-  -- {* Subsumes the old @{text split_Pair} when @{term f} is the identity function. *}
-  by (rule ext) auto
-
-lemma split_comp: "split (f \<circ> g) x = f (g (fst x)) (snd x)"
-  by (cases x) simp
-
-lemma split_twice: "split f (split g p) = split (\<lambda>x y. split f (g x y)) p"
-  unfolding split_def ..
-
 lemma split_paired_The: "(THE x. P x) = (THE (a, b). P (a, b))"
   -- {* Can't be added to simpset: loops! *}
   by (simp add: split_eta)
 
-lemma The_split: "The (split P) = (THE xy. P (fst xy) (snd xy))"
-  by (simp add: split_def)
-
-lemma split_weak_cong: "p = q \<Longrightarrow> split c p = split c q"
-  -- {* Prevents simplification of @{term c}: much faster *}
-  by (erule arg_cong)
-
-lemma cond_split_eta: "(!!x y. f x y = g (x, y)) ==> (%(x, y). f x y) = g"
-  by (simp add: split_eta)
-
 text {*
   Simplification procedure for @{thm [source] cond_split_eta}.  Using
   @{thm [source] split_eta} as a rewrite rule is not general enough,
@@ -511,7 +591,6 @@
 lemma split_split_asm [no_atp]: "R (split c p) = (~(EX x y. p = (x, y) & (~R (c x y))))"
 by (subst split_split, simp)
 
-
 text {*
   \medskip @{term split} used as a logical connective or set former.
 
@@ -529,10 +608,10 @@
   done
 
 lemma splitE: "split c p ==> (!!x y. p = (x, y) ==> c x y ==> Q) ==> Q"
-  by (induct p) (auto simp add: split_def)
+  by (induct p) (auto simp add: split_prod_case)
 
 lemma splitE': "split c p z ==> (!!x y. p = (x, y) ==> c x y z ==> Q) ==> Q"
-  by (induct p) (auto simp add: split_def)
+  by (induct p) (auto simp add: split_prod_case)
 
 lemma splitE2:
   "[| Q (split P z);  !!x y. [|z = (x, y); Q (P x y)|] ==> R |] ==> R"
@@ -555,10 +634,10 @@
 by (simp only: split_tupled_all, simp)
 
 lemma mem_splitE:
-  assumes major: "z: split c p"
-    and cases: "!!x y. [| p = (x,y); z: c x y |] ==> Q"
+  assumes major: "z \<in> split c p"
+    and cases: "\<And>x y. p = (x, y) \<Longrightarrow> z \<in> c x y \<Longrightarrow> Q"
   shows Q
-  by (rule major [unfolded split_def] cases surjective_pairing)+
+  by (rule major [unfolded split_prod_case prod_case_unfold] cases surjective_pairing)+
 
 declare mem_splitI2 [intro!] mem_splitI [intro!] splitI2' [intro!] splitI2 [intro!] splitI [intro!]
 declare mem_splitE [elim!] splitE' [elim!] splitE [elim!]
@@ -626,20 +705,6 @@
   Setup of internal @{text split_rule}.
 *}
 
-definition
-  internal_split :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'c"
-where
-  "internal_split == split"
-
-lemma internal_split_conv: "internal_split c (a, b) = c a b"
-  by (simp only: internal_split_def split_conv)
-
-use "Tools/split_rule.ML"
-setup Split_Rule.setup
-
-hide_const internal_split
-
-
 lemmas prod_caseI = prod.cases [THEN iffD2, standard]
 
 lemma prod_caseI2: "!!p. [| !!a b. p = (a, b) ==> c a b |] ==> prod_case c p"
@@ -654,9 +719,6 @@
 lemma prod_caseE': "prod_case c p z ==> (!!x y. p = (x, y) ==> c x y z ==> Q) ==> Q"
   by (induct p) auto
 
-lemma prod_case_unfold: "prod_case = (%c p. c (fst p) (snd p))"
-  by (simp add: expand_fun_eq)
-
 declare prod_caseI2' [intro!] prod_caseI2 [intro!] prod_caseI [intro!]
 declare prod_caseE' [elim!] prod_caseE [elim!]
 
@@ -668,9 +730,6 @@
   "prod_case f p = f (fst p) (snd p)"
   unfolding prod_case_split split_beta ..
 
-
-subsection {* Further cases/induct rules for tuples *}
-
 lemma prod_cases3 [cases type]:
   obtains (fields) a b c where "y = (a, b, c)"
   by (cases y, case_tac b) blast
@@ -711,18 +770,55 @@
     "(!!a b c d e f g. P (a, b, c, d, e, f, g)) ==> P x"
   by (cases x) blast
 
+lemma split_def:
+  "split = (\<lambda>c p. c (fst p) (snd p))"
+  unfolding split_prod_case prod_case_unfold ..
+
+definition internal_split :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'c" where
+  "internal_split == split"
+
+lemma internal_split_conv: "internal_split c (a, b) = c a b"
+  by (simp only: internal_split_def split_conv)
+
+use "Tools/split_rule.ML"
+setup Split_Rule.setup
+
+hide_const internal_split
+
 
 subsubsection {* Derived operations *}
 
+global consts
+  curry    :: "('a \<times> 'b \<Rightarrow> 'c) \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> 'c"
+
+local defs
+  curry_def:    "curry == (%c x y. c (Pair x y))"
+
+lemma curry_conv [simp, code]: "curry f a b = f (a, b)"
+  by (simp add: curry_def)
+
+lemma curryI [intro!]: "f (a, b) \<Longrightarrow> curry f a b"
+  by (simp add: curry_def)
+
+lemma curryD [dest!]: "curry f a b \<Longrightarrow> f (a, b)"
+  by (simp add: curry_def)
+
+lemma curryE: "curry f a b \<Longrightarrow> (f (a, b) \<Longrightarrow> Q) \<Longrightarrow> Q"
+  by (simp add: curry_def)
+
+lemma curry_split [simp]: "curry (split f) = f"
+  by (simp add: curry_def split_def)
+
+lemma split_curry [simp]: "split (curry f) = f"
+  by (simp add: curry_def split_def)
+
 text {*
   The composition-uncurry combinator.
 *}
 
 notation fcomp (infixl "o>" 60)
 
-definition
-  scomp :: "('a \<Rightarrow> 'b \<times> 'c) \<Rightarrow> ('b \<Rightarrow> 'c \<Rightarrow> 'd) \<Rightarrow> 'a \<Rightarrow> 'd" (infixl "o\<rightarrow>" 60)
-where
+definition scomp :: "('a \<Rightarrow> 'b \<times> 'c) \<Rightarrow> ('b \<Rightarrow> 'c \<Rightarrow> 'd) \<Rightarrow> 'a \<Rightarrow> 'd" (infixl "o\<rightarrow>" 60) where
   "f o\<rightarrow> g = (\<lambda>x. split g (f x))"
 
 lemma scomp_apply:  "(f o\<rightarrow> g) x = split g (f x)"
@@ -749,7 +845,6 @@
 no_notation fcomp (infixl "o>" 60)
 no_notation scomp (infixl "o\<rightarrow>" 60)
 
-
 text {*
   @{term prod_fun} --- action of the product functor upon
   functions.
@@ -777,21 +872,17 @@
     and cases: "!!x y. [| c=(f(x),g(y));  (x,y):r |] ==> P"
   shows P
   apply (rule major [THEN imageE])
-  apply (rule_tac p = x in PairE)
+  apply (case_tac x)
   apply (rule cases)
    apply (blast intro: prod_fun)
   apply blast
   done
 
-definition
-  apfst :: "('a \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'c \<times> 'b"
-where
-  [code del]: "apfst f = prod_fun f id"
+definition apfst :: "('a \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'c \<times> 'b" where
+  "apfst f = prod_fun f id"
 
-definition
-  apsnd :: "('b \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'a \<times> 'c"
-where
-  [code del]: "apsnd f = prod_fun id f"
+definition apsnd :: "('b \<Rightarrow> 'c) \<Rightarrow> 'a \<times> 'b \<Rightarrow> 'a \<times> 'c" where
+  "apsnd f = prod_fun id f"
 
 lemma apfst_conv [simp, code]:
   "apfst f (x, y) = (f x, y)" 
@@ -1005,7 +1096,7 @@
 by blast
 
 lemma vimage_Times: "f -` (A \<times> B) = ((fst \<circ> f) -` A) \<inter> ((snd \<circ> f) -` B)"
-  by (auto, rule_tac p = "f x" in PairE, auto)
+  by (auto, case_tac "f x", auto)
 
 lemma swap_inj_on:
   "inj_on (\<lambda>(i, j). (j, i)) A"
@@ -1023,131 +1114,27 @@
     using * eq[symmetric] by auto
 qed simp_all
 
-subsubsection {* Code generator setup *}
 
-lemma [code]:
-  "eq_class.eq (x1\<Colon>'a\<Colon>eq, y1\<Colon>'b\<Colon>eq) (x2, y2) \<longleftrightarrow> x1 = x2 \<and> y1 = y2" by (simp add: eq)
-
-lemma split_case_cert:
-  assumes "CASE \<equiv> split f"
-  shows "CASE (a, b) \<equiv> f a b"
-  using assms by simp
-
-setup {*
-  Code.add_case @{thm split_case_cert}
-*}
-
-code_type *
-  (SML infix 2 "*")
-  (OCaml infix 2 "*")
-  (Haskell "!((_),/ (_))")
-  (Scala "((_),/ (_))")
-
-code_instance * :: eq
-  (Haskell -)
-
-code_const "eq_class.eq \<Colon> 'a\<Colon>eq \<times> 'b\<Colon>eq \<Rightarrow> 'a \<times> 'b \<Rightarrow> bool"
-  (Haskell infixl 4 "==")
-
-code_const Pair
-  (SML "!((_),/ (_))")
-  (OCaml "!((_),/ (_))")
-  (Haskell "!((_),/ (_))")
-  (Scala "!((_),/ (_))")
-
-code_const fst and snd
-  (Haskell "fst" and "snd")
-
-types_code
-  "*"     ("(_ */ _)")
-attach (term_of) {*
-fun term_of_id_42 aF aT bF bT (x, y) = HOLogic.pair_const aT bT $ aF x $ bF y;
-*}
-attach (test) {*
-fun gen_id_42 aG aT bG bT i =
-  let
-    val (x, t) = aG i;
-    val (y, u) = bG i
-  in ((x, y), fn () => HOLogic.pair_const aT bT $ t () $ u ()) end;
-*}
-
-consts_code
-  "Pair"    ("(_,/ _)")
-
-setup {*
-let
-
-fun strip_abs_split 0 t = ([], t)
-  | strip_abs_split i (Abs (s, T, t)) =
-      let
-        val s' = Codegen.new_name t s;
-        val v = Free (s', T)
-      in apfst (cons v) (strip_abs_split (i-1) (subst_bound (v, t))) end
-  | strip_abs_split i (u as Const (@{const_name split}, _) $ t) =
-      (case strip_abs_split (i+1) t of
-        (v :: v' :: vs, u) => (HOLogic.mk_prod (v, v') :: vs, u)
-      | _ => ([], u))
-  | strip_abs_split i t =
-      strip_abs_split i (Abs ("x", hd (binder_types (fastype_of t)), t $ Bound 0));
-
-fun let_codegen thy defs dep thyname brack t gr =
-  (case strip_comb t of
-    (t1 as Const (@{const_name Let}, _), t2 :: t3 :: ts) =>
-    let
-      fun dest_let (l as Const (@{const_name Let}, _) $ t $ u) =
-          (case strip_abs_split 1 u of
-             ([p], u') => apfst (cons (p, t)) (dest_let u')
-           | _ => ([], l))
-        | dest_let t = ([], t);
-      fun mk_code (l, r) gr =
-        let
-          val (pl, gr1) = Codegen.invoke_codegen thy defs dep thyname false l gr;
-          val (pr, gr2) = Codegen.invoke_codegen thy defs dep thyname false r gr1;
-        in ((pl, pr), gr2) end
-    in case dest_let (t1 $ t2 $ t3) of
-        ([], _) => NONE
-      | (ps, u) =>
-          let
-            val (qs, gr1) = fold_map mk_code ps gr;
-            val (pu, gr2) = Codegen.invoke_codegen thy defs dep thyname false u gr1;
-            val (pargs, gr3) = fold_map
-              (Codegen.invoke_codegen thy defs dep thyname true) ts gr2
-          in
-            SOME (Codegen.mk_app brack
-              (Pretty.blk (0, [Codegen.str "let ", Pretty.blk (0, flat
-                  (separate [Codegen.str ";", Pretty.brk 1] (map (fn (pl, pr) =>
-                    [Pretty.block [Codegen.str "val ", pl, Codegen.str " =",
-                       Pretty.brk 1, pr]]) qs))),
-                Pretty.brk 1, Codegen.str "in ", pu,
-                Pretty.brk 1, Codegen.str "end"])) pargs, gr3)
-          end
-    end
-  | _ => NONE);
-
-fun split_codegen thy defs dep thyname brack t gr = (case strip_comb t of
-    (t1 as Const (@{const_name split}, _), t2 :: ts) =>
-      let
-        val ([p], u) = strip_abs_split 1 (t1 $ t2);
-        val (q, gr1) = Codegen.invoke_codegen thy defs dep thyname false p gr;
-        val (pu, gr2) = Codegen.invoke_codegen thy defs dep thyname false u gr1;
-        val (pargs, gr3) = fold_map
-          (Codegen.invoke_codegen thy defs dep thyname true) ts gr2
-      in
-        SOME (Codegen.mk_app brack
-          (Pretty.block [Codegen.str "(fn ", q, Codegen.str " =>",
-            Pretty.brk 1, pu, Codegen.str ")"]) pargs, gr2)
-      end
-  | _ => NONE);
-
-in
-
-  Codegen.add_codegen "let_codegen" let_codegen
-  #> Codegen.add_codegen "split_codegen" split_codegen
-
-end
-*}
+subsection {* Inductively defined sets *}
 
 use "Tools/inductive_set.ML"
 setup Inductive_Set.setup
 
+
+subsection {* Legacy theorem bindings and duplicates *}
+
+lemma PairE:
+  obtains x y where "p = (x, y)"
+  by (fact prod.exhaust)
+
+lemma Pair_inject:
+  assumes "(a, b) = (a', b')"
+    and "a = a' ==> b = b' ==> R"
+  shows R
+  using assms by simp
+
+lemmas Pair_eq = prod.inject
+
+lemmas split = split_conv  -- {* for backwards compatibility *}
+
 end
--- a/src/HOL/SMT.thy	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/SMT.thy	Fri May 28 17:00:38 2010 +0200
@@ -59,7 +59,7 @@
 following constant.
 *}
 
-definition "apply" where "apply f x = f x"
+definition fun_app where "fun_app f x = f x"
 
 text {*
 Some solvers support a theory of arrays which can be used to encode
@@ -68,7 +68,7 @@
 *}
 
 lemmas array_rules = ext fun_upd_apply fun_upd_same fun_upd_other
-  fun_upd_upd
+  fun_upd_upd fun_app_def
 
 
 
@@ -88,6 +88,29 @@
 
 
 
+subsection {* Integer division and modulo for Z3 *}
+
+definition z3div :: "int \<Rightarrow> int \<Rightarrow> int" where
+  "z3div k l = (if 0 \<le> l then k div l else -(k div (-l)))"
+
+definition z3mod :: "int \<Rightarrow> int \<Rightarrow> int" where
+  "z3mod k l = (if 0 \<le> l then k mod l else k mod (-l))"
+
+lemma div_by_z3div: "k div l = (
+     if k = 0 \<or> l = 0 then 0
+     else if (0 < k \<and> 0 < l) \<or> (k < 0 \<and> 0 < l) then z3div k l
+     else z3div (-k) (-l))"
+  by (auto simp add: z3div_def)
+
+lemma mod_by_z3mod: "k mod l = (
+     if l = 0 then k
+     else if k = 0 then 0
+     else if (0 < k \<and> 0 < l) \<or> (k < 0 \<and> 0 < l) then z3mod k l
+     else - z3mod (-k) (-l))"
+  by (auto simp add: z3mod_def)
+
+
+
 subsection {* Setup *}
 
 use "Tools/SMT/smt_monomorph.ML"
@@ -291,7 +314,7 @@
 
 
 hide_type (open) pattern
-hide_const Pattern "apply" term_eq
-hide_const (open) trigger pat nopat
+hide_const Pattern term_eq
+hide_const (open) trigger pat nopat fun_app z3div z3mod
 
 end
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,4 +1,4 @@
-d296070a9a1ad4678f3ec56cd19a634e50fd638a 8 0
+ef3118b3c538f5cd123d726ccf13a3c2d3725bb0 8 0
 #2 := false
 #1 := true
 #8 := (not true)
@@ -7,7 +7,7 @@
 #25 := [asserted]: #8
 [mp #25 #27]: false
 unsat
-32bb24b231f8ef17d3b0def6817d84cc062a6d75 33 0
+b59b2f429ffd47c407e4ef1af006540275b1a26c 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -41,7 +41,7 @@
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-574c632d113dfa2ca17f7e2ecc357ab25fbced89 37 0
+2e7e9d422d65be29e15f02c69c60971cab2c6ff5 37 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -79,7 +79,7 @@
 #29 := [asserted]: #12
 [mp #29 #53]: false
 unsat
-8ef67dc17184cdb997c34c282ec976aab91f0c9d 66 0
+c09f42a4df50b3429cb0f5ddbf56d93bf0b06b7b 66 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -146,9 +146,9 @@
 #71 := [and-elim #69]: #40
 [mp #71 #85]: false
 unsat
-ceadbcd40be3b7ac62a2203b95e7db34fb2bec42 1 0
-unsat
-d20c57e06043d23215073c59e7d2eb20f25833ac 94 0
+a3969d96ad7c1fdd20f7d69abeb13b18bac4be8d 1 0
+unsat
+8f1394900829ee257ef5682b19118d98b3c0c820 94 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -243,7 +243,7 @@
 #39 := [asserted]: #22
 [mp #39 #108]: false
 unsat
-72c3865e0e36884211edef00a7d296b6225c2e7f 72 0
+41b693f504b47ef3e9345eeec00c566a4d93af04 72 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -316,7 +316,7 @@
 #36 := [asserted]: #19
 [mp #36 #88]: false
 unsat
-79de3dae14f97a3a364a771776e83f08947fcde3 234 0
+1bb9b155bb9b619999029c3bea6bb00c7c21cd3b 234 0
 #2 := false
 decl f6 :: S1
 #14 := f6
@@ -551,7 +551,7 @@
 #96 := [mp #69 #95]: #91
 [mp #96 #299]: false
 unsat
-7a59440c66c70049fb2ecd405f9d7f413fe22698 52 0
+c02efa254926732c7b107199403ddd23251d413c 52 0
 #2 := false
 decl f4 :: (-> S2 S2 S2)
 #16 := (:var 1 S2)
@@ -604,7 +604,7 @@
 #118 := [quant-inst]: #204
 [unit-resolution #118 #53 #541]: false
 unsat
-de6b02b2b257f22f19cf83198a5d863ff188f241 2578 0
+950f494f909b64c53d64f243647b66f8a05dd7f6 2578 0
 #2 := false
 decl f35 :: S1
 #112 := f35
@@ -3183,7 +3183,7 @@
 #3638 := [unit-resolution #705 #3637 #3636 #3635]: #683
 [unit-resolution #1968 #3638 #3634]: false
 unsat
-963adaec295f3cad11b90a8d9b0f3f328fee4eb9 95 0
+d9089f92efb7cf3cd5f913b2fd8f4e6cc7fca01b 95 0
 #2 := false
 decl f3 :: (-> int S1)
 decl ?v0!0 :: int
@@ -3279,7 +3279,7 @@
 #102 := [and-elim #101]: #76
 [unit-resolution #102 #115]: false
 unsat
-02303e47876761c1d2ed5df38d9bde0c05751a27 146 0
+c79d3e134c40dc60b6991210fa65efc043a31981 146 0
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -3426,7 +3426,7 @@
 #261 := [quant-inst]: #256
 [unit-resolution #261 #584 #284]: false
 unsat
-b2decb74065cb968996625139aa422ae59e9e137 146 2
+90a02b978126d0cf254666f4e32434ce827e91f3 146 2
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -3575,7 +3575,7 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!13)
 
-2ac0be1d14d2be0e9bbc5f93b96f7b41fb69108e 91 0
+f01333d944f2f80d82a424a44d896dcad3d2ab6b 91 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f4 :: S2
@@ -3667,7 +3667,7 @@
 #162 := [quant-inst]: #248
 [unit-resolution #162 #582 #79]: false
 unsat
-66972851653213d25438c6ae5473fad2de32b7d8 17 0
+63e9e9c72f5ef2d46bc28af44941977dc976d3b5 17 0
 #2 := false
 #8 := 3::int
 #9 := (= 3::int 3::int)
@@ -3685,7 +3685,7 @@
 #27 := [asserted]: #10
 [mp #27 #36]: false
 unsat
-b2020b3a3ba93004ca7a53417cddc32dc8d008ca 17 0
+711fabeeccec1b44c93a2cd4391df71f5fdafd74 17 0
 #2 := false
 #8 := 3::real
 #9 := (= 3::real 3::real)
@@ -3703,7 +3703,7 @@
 #27 := [asserted]: #10
 [mp #27 #36]: false
 unsat
-be5a225497850b7db6ae5b15ea7142081ca2d5a8 26 0
+eb7a82422e5eb210ae6e04c9f7170b09a67998d0 26 0
 #2 := false
 #11 := 4::int
 #9 := 1::int
@@ -3730,7 +3730,7 @@
 #30 := [asserted]: #13
 [mp #30 #45]: false
 unsat
-27da8eb82d7b78036f585d0fe4fd9359af185902 41 0
+5764777c5ab04100aa6409067059f42abecddd25 41 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -3772,7 +3772,7 @@
 #33 := [asserted]: #16
 [mp #33 #57]: false
 unsat
-91ecdcadc7bcd881c06aad90ddc50bfc34a0d967 35 0
+f10e15cb480fc7147b50d697554b03e8d45998ff 35 0
 #2 := false
 #9 := 3::int
 #10 := 8::int
@@ -3808,7 +3808,7 @@
 #31 := [asserted]: #14
 [mp #31 #56]: false
 unsat
-f7013e025d7ca304e0eee556d2e11dcb683e132a 209 0
+85e154b43f9eaa0aee17c7df60f7b297367e646f 209 0
 #2 := false
 #11 := 0::real
 decl f4 :: real
@@ -4018,7 +4018,7 @@
 #231 := [unit-resolution #159 #230]: #150
 [th-lemma #125 #220 #227 #231]: false
 unsat
-f7520b53fa3979c118a10ff2625efed570862fcf 42 0
+c7afd26a7e4c735b3f9da1bcf41b42fb4f611502 42 0
 #2 := false
 decl f3 :: (-> S1 S2)
 decl f1 :: S1
@@ -4061,7 +4061,7 @@
 #32 := [asserted]: #15
 [mp #32 #58]: false
 unsat
-12074cc6dbadf6cb8cee50c8e211c3bd46e830d4 54 0
+b1921561d90efa4396e2195f6befedbbc08c3f93 54 0
 #2 := false
 #13 := 1::int
 decl f3 :: int
@@ -4116,7 +4116,7 @@
 #33 := [asserted]: #16
 [mp #33 #72]: false
 unsat
-930a6e842e3c7e28c99fd492d2b79f72c8a8f5d4 63 0
+186b71f451f1ced8ef7a2af2f7333861c89cddbd 63 0
 #2 := false
 #15 := 0::int
 decl f4 :: int
@@ -4180,7 +4180,7 @@
 #81 := [mp #57 #80]: #68
 [mp #81 #93]: false
 unsat
-2d540daa9a5982f146f06d4f791270060139fb82 35 0
+ed9f5b4ddb34caba3e930028ab3abbea1141767c 35 0
 #2 := false
 #10 := 5::int
 #8 := 2::int
@@ -4216,7 +4216,7 @@
 #30 := [asserted]: #13
 [mp #30 #54]: false
 unsat
-1ca8ec8a16bb6be2b4bc945c32b7811d276383ea 45 0
+e6971c89ab6428863738be19afcd7e6157397835 45 0
 #2 := false
 #15 := 4::real
 decl f4 :: real
@@ -4262,7 +4262,7 @@
 #65 := [mp #41 #64]: #56
 [th-lemma #65 #52 #43]: false
 unsat
-19eb85476104d695f3fb1ddc54ee1117bc5c649b 59 0
+4bafaa4fbebd6a7c5c47a5e807b07fb360f1fe97 59 0
 #2 := false
 #20 := (not false)
 decl f4 :: int
@@ -4322,7 +4322,7 @@
 #39 := [asserted]: #22
 [mp #39 #76]: false
 unsat
-fd37cd3a37260b090398813729fb9f9e3e6ede0b 43 0
+c2be8bcf98f782ce6e39f901eead42a359d07f16 43 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -4366,7 +4366,7 @@
 #31 := [asserted]: #14
 [mp #31 #62]: false
 unsat
-d8e619656134946c37ccb9d50a3aa7bd99ca40e4 86 0
+f13f6152ed2127a9ebc1d2b9377e88e7270d2645 86 0
 #2 := false
 decl f3 :: int
 #9 := f3
@@ -4453,7 +4453,7 @@
 #104 := [unit-resolution #82 #103 #96 #87]: #65
 [unit-resolution #104 #117]: false
 unsat
-6a9b967b365ad3d87acfc367c5cffe6fea3ab37a 551 0
+faa44c5ec66ed5260e47611608af7290f07ca77d 551 0
 #2 := false
 #174 := 0::int
 decl f4 :: int
@@ -5005,7 +5005,7 @@
 #617 := [unit-resolution #411 #614]: #421
 [unit-resolution #601 #617 #593 #616]: false
 unsat
-3472db0bdce7435abc0f58525f23f29f3d75b8fe 2109 0
+4dd2cecd4113f0eaf15e733b006ad0e01202872f 2109 0
 #2 := false
 #10 := 0::int
 decl f3 :: int
@@ -7115,7 +7115,7 @@
 #2119 := [unit-resolution #2118 #2109 #2056 #2114 #2113 #2112 #2096 #2108]: #945
 [unit-resolution #1969 #2119 #2109 #2096 #2042 #2105 #2108]: false
 unsat
-a7454ef6a585851531e583bdd8d90b81666edf52 52 0
+91a72ccddaee78c8eef27b68b8a29a516e5fa812 52 0
 #2 := false
 #12 := 1::real
 decl f3 :: real
@@ -7168,7 +7168,711 @@
 #34 := [asserted]: #17
 [mp #34 #70]: false
 unsat
-5499526a7594537bc3adeae435f91fadfa11a18c 101 0
+fcbcf3a00f1d2be93e0056636348f79e12052409 348 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#421 := (>= f5 0::int)
+#427 := (<= f5 0::int)
+#755 := (not #427)
+#411 := (not #421)
+#756 := (or #411 #755)
+#717 := (not #756)
+#41 := 2::int
+#445 := (mod f5 2::int)
+#71 := -1::int
+#446 := (* -1::int #445)
+decl f4 :: (-> int int int)
+#42 := (f4 f5 2::int)
+#447 := (+ #42 #446)
+#444 := (= #447 0::int)
+#707 := (not #444)
+#719 := (>= #447 0::int)
+#649 := (not #719)
+#656 := [hypothesis]: #719
+#691 := (>= #445 0::int)
+#1 := true
+#62 := [true-axiom]: true
+#667 := (or false #691)
+#645 := [th-lemma]: #667
+#646 := [unit-resolution #645 #62]: #691
+#202 := (>= #42 0::int)
+#205 := (not #202)
+#39 := 1::int
+#43 := (* 2::int #42)
+#44 := (+ #43 1::int)
+#45 := (+ f5 #44)
+#40 := (+ f5 1::int)
+#46 := (<= #40 #45)
+#47 := (not #46)
+#210 := (iff #47 #205)
+#184 := (+ f5 #43)
+#185 := (+ 1::int #184)
+#175 := (+ 1::int f5)
+#190 := (<= #175 #185)
+#193 := (not #190)
+#208 := (iff #193 #205)
+#199 := (>= #43 0::int)
+#196 := (not #199)
+#206 := (iff #196 #205)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#207 := [monotonicity #204]: #206
+#200 := (iff #193 #196)
+#197 := (iff #190 #199)
+#198 := [rewrite]: #197
+#201 := [monotonicity #198]: #200
+#209 := [trans #201 #207]: #208
+#194 := (iff #47 #193)
+#191 := (iff #46 #190)
+#188 := (= #45 #185)
+#178 := (+ 1::int #43)
+#181 := (+ f5 #178)
+#186 := (= #181 #185)
+#187 := [rewrite]: #186
+#182 := (= #45 #181)
+#179 := (= #44 #178)
+#180 := [rewrite]: #179
+#183 := [monotonicity #180]: #182
+#189 := [trans #183 #187]: #188
+#176 := (= #40 #175)
+#177 := [rewrite]: #176
+#192 := [monotonicity #177 #189]: #191
+#195 := [monotonicity #192]: #194
+#211 := [trans #195 #209]: #210
+#174 := [asserted]: #47
+#212 := [mp #174 #211]: #205
+#648 := [th-lemma #212 #646 #656]: false
+#650 := [lemma #648]: #649
+#662 := (or #707 #719)
+#663 := [th-lemma]: #662
+#664 := [unit-resolution #663 #650]: #707
+#639 := (or #717 #444)
+#743 := -2::int
+#441 := (* -1::int f5)
+#467 := (mod #441 -2::int)
+#363 := (+ #42 #467)
+#462 := (= #363 0::int)
+#741 := (ite #756 #444 #462)
+#765 := (= #42 0::int)
+#766 := (= f5 0::int)
+#452 := (ite #766 #765 #741)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#777 := (pattern #29)
+#75 := (* -1::int #9)
+#72 := (* -1::int #8)
+#130 := (mod #72 #75)
+#289 := (+ #29 #130)
+#290 := (= #289 0::int)
+#30 := (mod #8 #9)
+#286 := (* -1::int #30)
+#287 := (+ #29 #286)
+#288 := (= #287 0::int)
+#97 := (<= #9 0::int)
+#93 := (<= #8 0::int)
+#228 := (or #93 #97)
+#229 := (not #228)
+#104 := (>= #8 0::int)
+#220 := (or #97 #104)
+#221 := (not #220)
+#235 := (or #221 #229)
+#291 := (ite #235 #288 #290)
+#285 := (= #29 0::int)
+#12 := (= #8 0::int)
+#292 := (ite #12 #285 #291)
+#284 := (= #8 #29)
+#13 := (= #9 0::int)
+#293 := (ite #13 #284 #292)
+#778 := (forall (vars (?v0 int) (?v1 int)) (:pat #777) #293)
+#296 := (forall (vars (?v0 int) (?v1 int)) #293)
+#781 := (iff #296 #778)
+#779 := (iff #293 #293)
+#780 := [refl]: #779
+#782 := [quant-intro #780]: #781
+#136 := (* -1::int #130)
+#253 := (ite #235 #30 #136)
+#256 := (ite #12 0::int #253)
+#259 := (ite #13 #8 #256)
+#262 := (= #29 #259)
+#265 := (forall (vars (?v0 int) (?v1 int)) #262)
+#297 := (iff #265 #296)
+#294 := (iff #262 #293)
+#295 := [rewrite]: #294
+#298 := [quant-intro #295]: #297
+#105 := (not #104)
+#98 := (not #97)
+#108 := (and #98 #105)
+#94 := (not #93)
+#101 := (and #94 #98)
+#111 := (or #101 #108)
+#156 := (ite #111 #30 #136)
+#159 := (ite #12 0::int #156)
+#162 := (ite #13 #8 #159)
+#165 := (= #29 #162)
+#168 := (forall (vars (?v0 int) (?v1 int)) #165)
+#266 := (iff #168 #265)
+#263 := (iff #165 #262)
+#260 := (= #162 #259)
+#257 := (= #159 #256)
+#254 := (= #156 #253)
+#238 := (iff #111 #235)
+#232 := (or #229 #221)
+#236 := (iff #232 #235)
+#237 := [rewrite]: #236
+#233 := (iff #111 #232)
+#230 := (iff #108 #221)
+#231 := [rewrite]: #230
+#218 := (iff #101 #229)
+#219 := [rewrite]: #218
+#234 := [monotonicity #219 #231]: #233
+#239 := [trans #234 #237]: #238
+#255 := [monotonicity #239]: #254
+#258 := [monotonicity #255]: #257
+#261 := [monotonicity #258]: #260
+#264 := [monotonicity #261]: #263
+#267 := [quant-intro #264]: #266
+#216 := (~ #168 #168)
+#213 := (~ #165 #165)
+#226 := [refl]: #213
+#217 := [nnf-pos #226]: #216
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#171 := (iff #37 #168)
+#65 := (and #16 #18)
+#68 := (or #17 #65)
+#141 := (ite #68 #30 #136)
+#144 := (ite #12 0::int #141)
+#147 := (ite #13 #8 #144)
+#150 := (= #29 #147)
+#153 := (forall (vars (?v0 int) (?v1 int)) #150)
+#169 := (iff #153 #168)
+#166 := (iff #150 #165)
+#163 := (= #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#112 := (iff #68 #111)
+#109 := (iff #65 #108)
+#106 := (iff #18 #105)
+#107 := [rewrite]: #106
+#99 := (iff #16 #98)
+#100 := [rewrite]: #99
+#110 := [monotonicity #100 #107]: #109
+#102 := (iff #17 #101)
+#95 := (iff #15 #94)
+#96 := [rewrite]: #95
+#103 := [monotonicity #96 #100]: #102
+#113 := [monotonicity #103 #110]: #112
+#158 := [monotonicity #113]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [quant-intro #167]: #169
+#154 := (iff #37 #153)
+#151 := (iff #36 #150)
+#148 := (= #35 #147)
+#145 := (= #34 #144)
+#142 := (= #33 #141)
+#139 := (= #32 #136)
+#133 := (- #130)
+#137 := (= #133 #136)
+#138 := [rewrite]: #137
+#134 := (= #32 #133)
+#131 := (= #31 #130)
+#76 := (= #23 #75)
+#77 := [rewrite]: #76
+#73 := (= #22 #72)
+#74 := [rewrite]: #73
+#132 := [monotonicity #74 #77]: #131
+#135 := [monotonicity #132]: #134
+#140 := [trans #135 #138]: #139
+#69 := (iff #20 #68)
+#66 := (iff #19 #65)
+#67 := [rewrite]: #66
+#70 := [monotonicity #67]: #69
+#143 := [monotonicity #70 #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#155 := [quant-intro #152]: #154
+#172 := [trans #155 #170]: #171
+#129 := [asserted]: #37
+#173 := [mp #129 #172]: #168
+#227 := [mp~ #173 #217]: #168
+#268 := [mp #227 #267]: #265
+#299 := [mp #268 #298]: #296
+#783 := [mp #299 #782]: #778
+#736 := (not #778)
+#725 := (or #736 #452)
+#357 := (* -1::int 2::int)
+#442 := (mod #441 #357)
+#443 := (+ #42 #442)
+#434 := (= #443 0::int)
+#448 := (<= 2::int 0::int)
+#762 := (or #427 #448)
+#764 := (not #762)
+#551 := (or #448 #421)
+#758 := (not #551)
+#432 := (or #758 #764)
+#433 := (ite #432 #444 #434)
+#767 := (ite #766 #765 #433)
+#768 := (= f5 #42)
+#763 := (= 2::int 0::int)
+#769 := (ite #763 #768 #767)
+#726 := (or #736 #769)
+#722 := (iff #726 #725)
+#728 := (iff #725 #725)
+#729 := [rewrite]: #728
+#735 := (iff #769 #452)
+#455 := (ite false #768 #452)
+#449 := (iff #455 #452)
+#731 := [rewrite]: #449
+#733 := (iff #769 #455)
+#453 := (iff #767 #452)
+#738 := (iff #433 #741)
+#463 := (iff #434 #462)
+#739 := (= #443 #363)
+#468 := (= #442 #467)
+#744 := (= #357 -2::int)
+#466 := [rewrite]: #744
+#469 := [monotonicity #466]: #468
+#740 := [monotonicity #469]: #739
+#737 := [monotonicity #740]: #463
+#754 := (iff #432 #756)
+#395 := (iff #764 #755)
+#390 := (iff #762 #427)
+#749 := (or #427 false)
+#746 := (iff #749 #427)
+#752 := [rewrite]: #746
+#750 := (iff #762 #749)
+#424 := (iff #448 false)
+#760 := [rewrite]: #424
+#751 := [monotonicity #760]: #750
+#753 := [trans #751 #752]: #390
+#396 := [monotonicity #753]: #395
+#747 := (iff #758 #411)
+#409 := (iff #551 #421)
+#420 := (or false #421)
+#745 := (iff #420 #421)
+#408 := [rewrite]: #745
+#761 := (iff #551 #420)
+#404 := [monotonicity #760]: #761
+#410 := [trans #404 #408]: #409
+#748 := [monotonicity #410]: #747
+#757 := [monotonicity #748 #396]: #754
+#742 := [monotonicity #757 #737]: #738
+#454 := [monotonicity #742]: #453
+#759 := (iff #763 false)
+#419 := [rewrite]: #759
+#734 := [monotonicity #419 #454]: #733
+#732 := [trans #734 #731]: #735
+#723 := [monotonicity #732]: #722
+#724 := [trans #723 #729]: #722
+#727 := [quant-inst]: #726
+#730 := [mp #727 #724]: #725
+#665 := [unit-resolution #730 #783]: #452
+#595 := (not #766)
+#594 := (not #452)
+#651 := (or #594 #595)
+#700 := (not #765)
+#666 := (or #700 #202)
+#690 := [th-lemma]: #666
+#684 := [unit-resolution #690 #212]: #700
+#554 := (or #594 #595 #765)
+#702 := [def-axiom]: #554
+#652 := [unit-resolution #702 #684]: #651
+#647 := [unit-resolution #652 #665]: #595
+#604 := (or #594 #766 #741)
+#699 := [def-axiom]: #604
+#653 := [unit-resolution #699 #647 #665]: #741
+#721 := (not #741)
+#550 := (or #721 #717 #444)
+#552 := [def-axiom]: #550
+#635 := [unit-resolution #552 #653]: #639
+#636 := [unit-resolution #635 #664]: #717
+#572 := (or #756 #421)
+#573 := [def-axiom]: #572
+#637 := [unit-resolution #573 #636]: #421
+#715 := (or #756 #427)
+#716 := [def-axiom]: #715
+#640 := [unit-resolution #716 #636]: #427
+#643 := (or #755 #411)
+#641 := (or #766 #755 #411)
+#642 := [th-lemma]: #641
+#638 := [unit-resolution #642 #647]: #643
+[unit-resolution #638 #640 #637]: false
+unsat
+3ff5c7aca258ce7606adbaf5b380622b5f987775 354 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#444 := (<= f5 0::int)
+#760 := (>= f5 0::int)
+#406 := (not #760)
+#749 := (not #444)
+#753 := (or #749 #406)
+#716 := (not #753)
+#39 := 2::int
+#441 := (mod f5 2::int)
+#70 := -1::int
+#442 := (* -1::int #441)
+decl f4 :: (-> int int int)
+#40 := (f4 f5 2::int)
+#370 := (+ #40 #442)
+#443 := (= #370 0::int)
+#589 := (not #443)
+#546 := (<= #370 0::int)
+#649 := (not #546)
+#657 := (>= #441 2::int)
+#658 := (not #657)
+#1 := true
+#61 := [true-axiom]: true
+#645 := (or false #658)
+#646 := [th-lemma]: #645
+#647 := [unit-resolution #646 #61]: #658
+#648 := [hypothesis]: #546
+#200 := (>= #40 2::int)
+#43 := 3::int
+#44 := (+ f5 3::int)
+#41 := (+ #40 #40)
+#42 := (+ f5 #41)
+#45 := (< #42 #44)
+#46 := (not #45)
+#205 := (iff #46 #200)
+#180 := (+ 3::int f5)
+#174 := (* 2::int #40)
+#177 := (+ f5 #174)
+#183 := (< #177 #180)
+#186 := (not #183)
+#203 := (iff #186 #200)
+#192 := (>= #174 3::int)
+#201 := (iff #192 #200)
+#202 := [rewrite]: #201
+#198 := (iff #186 #192)
+#190 := (not #192)
+#193 := (not #190)
+#196 := (iff #193 #192)
+#197 := [rewrite]: #196
+#194 := (iff #186 #193)
+#191 := (iff #183 #190)
+#189 := [rewrite]: #191
+#195 := [monotonicity #189]: #194
+#199 := [trans #195 #197]: #198
+#204 := [trans #199 #202]: #203
+#187 := (iff #46 #186)
+#184 := (iff #45 #183)
+#181 := (= #44 #180)
+#182 := [rewrite]: #181
+#178 := (= #42 #177)
+#175 := (= #41 #174)
+#176 := [rewrite]: #175
+#179 := [monotonicity #176]: #178
+#185 := [monotonicity #179 #182]: #184
+#188 := [monotonicity #185]: #187
+#206 := [trans #188 #204]: #205
+#173 := [asserted]: #46
+#207 := [mp #173 #206]: #200
+#643 := [th-lemma #207 #648 #647]: false
+#635 := [lemma #643]: #649
+#652 := (or #589 #546)
+#663 := [th-lemma]: #652
+#641 := [unit-resolution #663 #635]: #589
+#613 := (or #716 #443)
+#464 := -2::int
+#437 := (* -1::int f5)
+#735 := (mod #437 -2::int)
+#459 := (+ #40 #735)
+#734 := (= #459 0::int)
+#449 := (ite #753 #443 #734)
+#429 := (= #40 0::int)
+#761 := (= f5 0::int)
+#729 := (ite #761 #429 #449)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#773 := (pattern #29)
+#74 := (* -1::int #9)
+#71 := (* -1::int #8)
+#129 := (mod #71 #74)
+#284 := (+ #29 #129)
+#285 := (= #284 0::int)
+#30 := (mod #8 #9)
+#281 := (* -1::int #30)
+#282 := (+ #29 #281)
+#283 := (= #282 0::int)
+#96 := (<= #9 0::int)
+#92 := (<= #8 0::int)
+#223 := (or #92 #96)
+#224 := (not #223)
+#103 := (>= #8 0::int)
+#215 := (or #96 #103)
+#216 := (not #215)
+#230 := (or #216 #224)
+#286 := (ite #230 #283 #285)
+#280 := (= #29 0::int)
+#12 := (= #8 0::int)
+#287 := (ite #12 #280 #286)
+#279 := (= #8 #29)
+#13 := (= #9 0::int)
+#288 := (ite #13 #279 #287)
+#774 := (forall (vars (?v0 int) (?v1 int)) (:pat #773) #288)
+#291 := (forall (vars (?v0 int) (?v1 int)) #288)
+#777 := (iff #291 #774)
+#775 := (iff #288 #288)
+#776 := [refl]: #775
+#778 := [quant-intro #776]: #777
+#135 := (* -1::int #129)
+#248 := (ite #230 #30 #135)
+#251 := (ite #12 0::int #248)
+#254 := (ite #13 #8 #251)
+#257 := (= #29 #254)
+#260 := (forall (vars (?v0 int) (?v1 int)) #257)
+#292 := (iff #260 #291)
+#289 := (iff #257 #288)
+#290 := [rewrite]: #289
+#293 := [quant-intro #290]: #292
+#104 := (not #103)
+#97 := (not #96)
+#107 := (and #97 #104)
+#93 := (not #92)
+#100 := (and #93 #97)
+#110 := (or #100 #107)
+#155 := (ite #110 #30 #135)
+#158 := (ite #12 0::int #155)
+#161 := (ite #13 #8 #158)
+#164 := (= #29 #161)
+#167 := (forall (vars (?v0 int) (?v1 int)) #164)
+#261 := (iff #167 #260)
+#258 := (iff #164 #257)
+#255 := (= #161 #254)
+#252 := (= #158 #251)
+#249 := (= #155 #248)
+#233 := (iff #110 #230)
+#227 := (or #224 #216)
+#231 := (iff #227 #230)
+#232 := [rewrite]: #231
+#228 := (iff #110 #227)
+#225 := (iff #107 #216)
+#226 := [rewrite]: #225
+#213 := (iff #100 #224)
+#214 := [rewrite]: #213
+#229 := [monotonicity #214 #226]: #228
+#234 := [trans #229 #232]: #233
+#250 := [monotonicity #234]: #249
+#253 := [monotonicity #250]: #252
+#256 := [monotonicity #253]: #255
+#259 := [monotonicity #256]: #258
+#262 := [quant-intro #259]: #261
+#211 := (~ #167 #167)
+#208 := (~ #164 #164)
+#221 := [refl]: #208
+#212 := [nnf-pos #221]: #211
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#170 := (iff #37 #167)
+#64 := (and #16 #18)
+#67 := (or #17 #64)
+#140 := (ite #67 #30 #135)
+#143 := (ite #12 0::int #140)
+#146 := (ite #13 #8 #143)
+#149 := (= #29 #146)
+#152 := (forall (vars (?v0 int) (?v1 int)) #149)
+#168 := (iff #152 #167)
+#165 := (iff #149 #164)
+#162 := (= #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#111 := (iff #67 #110)
+#108 := (iff #64 #107)
+#105 := (iff #18 #104)
+#106 := [rewrite]: #105
+#98 := (iff #16 #97)
+#99 := [rewrite]: #98
+#109 := [monotonicity #99 #106]: #108
+#101 := (iff #17 #100)
+#94 := (iff #15 #93)
+#95 := [rewrite]: #94
+#102 := [monotonicity #95 #99]: #101
+#112 := [monotonicity #102 #109]: #111
+#157 := [monotonicity #112]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#153 := (iff #37 #152)
+#150 := (iff #36 #149)
+#147 := (= #35 #146)
+#144 := (= #34 #143)
+#141 := (= #33 #140)
+#138 := (= #32 #135)
+#132 := (- #129)
+#136 := (= #132 #135)
+#137 := [rewrite]: #136
+#133 := (= #32 #132)
+#130 := (= #31 #129)
+#75 := (= #23 #74)
+#76 := [rewrite]: #75
+#72 := (= #22 #71)
+#73 := [rewrite]: #72
+#131 := [monotonicity #73 #76]: #130
+#134 := [monotonicity #131]: #133
+#139 := [trans #134 #137]: #138
+#68 := (iff #20 #67)
+#65 := (iff #19 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#142 := [monotonicity #69 #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [quant-intro #151]: #153
+#171 := [trans #154 #169]: #170
+#128 := [asserted]: #37
+#172 := [mp #128 #171]: #167
+#222 := [mp~ #172 #212]: #167
+#263 := [mp #222 #262]: #260
+#294 := [mp #263 #293]: #291
+#779 := [mp #294 #778]: #774
+#718 := (not #774)
+#719 := (or #718 #729)
+#352 := (* -1::int 2::int)
+#438 := (mod #437 #352)
+#439 := (+ #40 #438)
+#430 := (= #439 0::int)
+#440 := (<= 2::int 0::int)
+#423 := (or #444 #440)
+#758 := (not #423)
+#417 := (or #440 #760)
+#547 := (not #417)
+#754 := (or #547 #758)
+#428 := (ite #754 #443 #430)
+#762 := (ite #761 #429 #428)
+#763 := (= f5 #40)
+#764 := (= 2::int 0::int)
+#759 := (ite #764 #763 #762)
+#724 := (or #718 #759)
+#720 := (iff #724 #719)
+#567 := (iff #719 #719)
+#568 := [rewrite]: #567
+#722 := (iff #759 #729)
+#727 := (ite false #763 #729)
+#732 := (iff #727 #729)
+#721 := [rewrite]: #732
+#731 := (iff #759 #727)
+#730 := (iff #762 #729)
+#450 := (iff #428 #449)
+#738 := (iff #430 #734)
+#733 := (= #439 #459)
+#736 := (= #438 #735)
+#465 := (= #352 -2::int)
+#358 := [rewrite]: #465
+#458 := [monotonicity #358]: #736
+#737 := [monotonicity #458]: #733
+#448 := [monotonicity #737]: #738
+#462 := (iff #754 #753)
+#392 := (or #406 #749)
+#739 := (iff #392 #753)
+#740 := [rewrite]: #739
+#752 := (iff #754 #392)
+#751 := (iff #758 #749)
+#748 := (iff #423 #444)
+#744 := (or #444 false)
+#747 := (iff #744 #444)
+#742 := [rewrite]: #747
+#745 := (iff #423 #744)
+#415 := (iff #440 false)
+#420 := [rewrite]: #415
+#746 := [monotonicity #420]: #745
+#386 := [trans #746 #742]: #748
+#391 := [monotonicity #386]: #751
+#407 := (iff #547 #406)
+#404 := (iff #417 #760)
+#756 := (or false #760)
+#400 := (iff #756 #760)
+#741 := [rewrite]: #400
+#416 := (iff #417 #756)
+#757 := [monotonicity #420]: #416
+#405 := [trans #757 #741]: #404
+#743 := [monotonicity #405]: #407
+#750 := [monotonicity #743 #391]: #752
+#463 := [trans #750 #740]: #462
+#451 := [monotonicity #463 #448]: #450
+#445 := [monotonicity #451]: #730
+#765 := (iff #764 false)
+#755 := [rewrite]: #765
+#728 := [monotonicity #755 #445]: #731
+#723 := [trans #728 #721]: #722
+#726 := [monotonicity #723]: #720
+#569 := [trans #726 #568]: #720
+#725 := [quant-inst]: #724
+#711 := [mp #725 #569]: #719
+#642 := [unit-resolution #711 #779]: #729
+#696 := (not #761)
+#695 := (not #729)
+#638 := (or #695 #696)
+#602 := (not #429)
+#712 := (<= #40 0::int)
+#644 := (not #712)
+#674 := (not #200)
+#675 := (or #644 #674)
+#631 := [th-lemma]: #675
+#632 := [unit-resolution #631 #207]: #644
+#633 := (or #602 #712)
+#636 := [th-lemma]: #633
+#637 := [unit-resolution #636 #632]: #602
+#699 := (or #695 #696 #429)
+#584 := [def-axiom]: #699
+#639 := [unit-resolution #584 #637]: #638
+#634 := [unit-resolution #639 #642]: #696
+#599 := (or #695 #761 #449)
+#601 := [def-axiom]: #599
+#640 := [unit-resolution #601 #634 #642]: #449
+#703 := (not #449)
+#705 := (or #703 #716 #443)
+#706 := [def-axiom]: #705
+#614 := [unit-resolution #706 #640]: #613
+#615 := [unit-resolution #614 #641]: #716
+#714 := (or #753 #444)
+#708 := [def-axiom]: #714
+#508 := [unit-resolution #708 #615]: #444
+#709 := (or #753 #760)
+#715 := [def-axiom]: #709
+#619 := [unit-resolution #715 #615]: #760
+#620 := (or #761 #749 #406)
+#621 := [th-lemma]: #620
+#626 := [unit-resolution #621 #634]: #753
+[unit-resolution #626 #619 #508]: false
+unsat
+37b2210a0af8b22facfab20f06af5ae3c558113d 101 0
 #2 := false
 #9 := 0::real
 decl f3 :: real
@@ -7270,7 +7974,951 @@
 #120 := [th-lemma]: #119
 [unit-resolution #120 #116 #109 #43]: false
 unsat
-512a24457d1008a070152357a3d1ca6519a3110c 24 0
+70f2c00c05f2849d6805e35842428b4464a986bf 943 0
+#2 := false
+#49 := 1::int
+decl f4 :: (-> int int int)
+#41 := 2::int
+decl f6 :: int
+#39 := f6
+#51 := (f4 f6 2::int)
+#407 := (>= #51 1::int)
+#11 := 0::int
+#561 := (mod f6 2::int)
+#78 := -1::int
+#562 := (* -1::int #561)
+#563 := (+ #51 #562)
+#474 := (>= #563 0::int)
+#564 := (= #563 0::int)
+decl f5 :: int
+#38 := f5
+#40 := (+ f5 f6)
+#765 := (= #40 0::int)
+#605 := (not #765)
+#421 := (<= #40 0::int)
+#751 := (not #421)
+#448 := (>= #40 0::int)
+#405 := (<= #51 1::int)
+#952 := (>= #561 2::int)
+#953 := (not #952)
+#1235 := [hypothesis]: #952
+#1 := true
+#69 := [true-axiom]: true
+#1236 := (or false #953)
+#1237 := [th-lemma]: #1236
+#1238 := [unit-resolution #1237 #69 #1235]: false
+#1239 := [lemma #1238]: #953
+#473 := (<= #563 0::int)
+#757 := (not #448)
+#855 := [hypothesis]: #757
+#428 := (or #605 #448)
+#430 := [th-lemma]: #428
+#431 := [unit-resolution #430 #855]: #605
+#1181 := (or #564 #765)
+#650 := -4::int
+#469 := (* -1::int f5)
+#647 := (mod #469 -4::int)
+#44 := 4::int
+#45 := (f4 f5 4::int)
+#635 := (+ #45 #647)
+#640 := (= #635 0::int)
+#683 := (mod f5 4::int)
+#685 := (* -1::int #683)
+#695 := (+ #45 #685)
+#696 := (= #695 0::int)
+#697 := (>= f5 0::int)
+#656 := (not #697)
+#688 := (<= f5 0::int)
+#657 := (not #688)
+#646 := (or #657 #656)
+#643 := (ite #646 #696 #640)
+#676 := (= f5 0::int)
+#577 := (not #676)
+#675 := (= #45 0::int)
+#582 := (not #675)
+#46 := 3::int
+#1034 := (= 3::int 0::int)
+#1036 := (iff #1034 false)
+#1037 := [rewrite]: #1036
+#1031 := [hypothesis]: #675
+#1032 := (= 3::int #45)
+#47 := (= #45 3::int)
+#187 := [asserted]: #47
+#1033 := [symm #187]: #1032
+#1035 := [trans #1033 #1031]: #1034
+#1038 := [mp #1035 #1037]: false
+#1039 := [lemma #1038]: #582
+#1053 := (or #577 #675)
+#617 := (ite #676 #675 #643)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#777 := (pattern #29)
+#82 := (* -1::int #9)
+#79 := (* -1::int #8)
+#137 := (mod #79 #82)
+#289 := (+ #29 #137)
+#290 := (= #289 0::int)
+#30 := (mod #8 #9)
+#286 := (* -1::int #30)
+#287 := (+ #29 #286)
+#288 := (= #287 0::int)
+#111 := (>= #8 0::int)
+#104 := (<= #9 0::int)
+#219 := (or #104 #111)
+#220 := (not #219)
+#100 := (<= #8 0::int)
+#206 := (or #100 #104)
+#204 := (not #206)
+#223 := (or #204 #220)
+#291 := (ite #223 #288 #290)
+#285 := (= #29 0::int)
+#12 := (= #8 0::int)
+#292 := (ite #12 #285 #291)
+#284 := (= #8 #29)
+#13 := (= #9 0::int)
+#293 := (ite #13 #284 #292)
+#778 := (forall (vars (?v0 int) (?v1 int)) (:pat #777) #293)
+#296 := (forall (vars (?v0 int) (?v1 int)) #293)
+#781 := (iff #296 #778)
+#779 := (iff #293 #293)
+#780 := [refl]: #779
+#782 := [quant-intro #780]: #781
+#143 := (* -1::int #137)
+#239 := (ite #223 #30 #143)
+#242 := (ite #12 0::int #239)
+#245 := (ite #13 #8 #242)
+#248 := (= #29 #245)
+#251 := (forall (vars (?v0 int) (?v1 int)) #248)
+#297 := (iff #251 #296)
+#294 := (iff #248 #293)
+#295 := [rewrite]: #294
+#298 := [quant-intro #295]: #297
+#112 := (not #111)
+#105 := (not #104)
+#115 := (and #105 #112)
+#101 := (not #100)
+#108 := (and #101 #105)
+#118 := (or #108 #115)
+#163 := (ite #118 #30 #143)
+#166 := (ite #12 0::int #163)
+#169 := (ite #13 #8 #166)
+#172 := (= #29 #169)
+#175 := (forall (vars (?v0 int) (?v1 int)) #172)
+#252 := (iff #175 #251)
+#249 := (iff #172 #248)
+#246 := (= #169 #245)
+#243 := (= #166 #242)
+#240 := (= #163 #239)
+#224 := (iff #118 #223)
+#221 := (iff #115 #220)
+#222 := [rewrite]: #221
+#217 := (iff #108 #204)
+#218 := [rewrite]: #217
+#225 := [monotonicity #218 #222]: #224
+#241 := [monotonicity #225]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [quant-intro #250]: #252
+#212 := (~ #175 #175)
+#214 := (~ #172 #172)
+#211 := [refl]: #214
+#207 := [nnf-pos #211]: #212
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#178 := (iff #37 #175)
+#72 := (and #16 #18)
+#75 := (or #17 #72)
+#148 := (ite #75 #30 #143)
+#151 := (ite #12 0::int #148)
+#154 := (ite #13 #8 #151)
+#157 := (= #29 #154)
+#160 := (forall (vars (?v0 int) (?v1 int)) #157)
+#176 := (iff #160 #175)
+#173 := (iff #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#164 := (= #148 #163)
+#119 := (iff #75 #118)
+#116 := (iff #72 #115)
+#113 := (iff #18 #112)
+#114 := [rewrite]: #113
+#106 := (iff #16 #105)
+#107 := [rewrite]: #106
+#117 := [monotonicity #107 #114]: #116
+#109 := (iff #17 #108)
+#102 := (iff #15 #101)
+#103 := [rewrite]: #102
+#110 := [monotonicity #103 #107]: #109
+#120 := [monotonicity #110 #117]: #119
+#165 := [monotonicity #120]: #164
+#168 := [monotonicity #165]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [quant-intro #174]: #176
+#161 := (iff #37 #160)
+#158 := (iff #36 #157)
+#155 := (= #35 #154)
+#152 := (= #34 #151)
+#149 := (= #33 #148)
+#146 := (= #32 #143)
+#140 := (- #137)
+#144 := (= #140 #143)
+#145 := [rewrite]: #144
+#141 := (= #32 #140)
+#138 := (= #31 #137)
+#83 := (= #23 #82)
+#84 := [rewrite]: #83
+#80 := (= #22 #79)
+#81 := [rewrite]: #80
+#139 := [monotonicity #81 #84]: #138
+#142 := [monotonicity #139]: #141
+#147 := [trans #142 #145]: #146
+#76 := (iff #20 #75)
+#73 := (iff #19 #72)
+#74 := [rewrite]: #73
+#77 := [monotonicity #74]: #76
+#150 := [monotonicity #77 #147]: #149
+#153 := [monotonicity #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [quant-intro #159]: #161
+#179 := [trans #162 #177]: #178
+#136 := [asserted]: #37
+#180 := [mp #136 #179]: #175
+#208 := [mp~ #180 #207]: #175
+#254 := [mp #208 #253]: #251
+#299 := [mp #254 #298]: #296
+#783 := [mp #299 #782]: #778
+#571 := (not #778)
+#628 := (or #571 #617)
+#705 := (* -1::int 4::int)
+#692 := (mod #469 #705)
+#694 := (+ #45 #692)
+#686 := (= #694 0::int)
+#693 := (<= 4::int 0::int)
+#698 := (or #693 #697)
+#687 := (not #698)
+#689 := (or #688 #693)
+#690 := (not #689)
+#684 := (or #690 #687)
+#691 := (ite #684 #696 #686)
+#678 := (ite #676 #675 #691)
+#679 := (= f5 #45)
+#680 := (= 4::int 0::int)
+#681 := (ite #680 #679 #678)
+#631 := (or #571 #681)
+#633 := (iff #631 #628)
+#634 := (iff #628 #628)
+#614 := [rewrite]: #634
+#626 := (iff #681 #617)
+#512 := (ite false #679 #617)
+#625 := (iff #512 #617)
+#630 := [rewrite]: #625
+#623 := (iff #681 #512)
+#618 := (iff #678 #617)
+#638 := (iff #691 #643)
+#641 := (iff #686 #640)
+#636 := (= #694 #635)
+#653 := (= #692 #647)
+#651 := (= #705 -4::int)
+#652 := [rewrite]: #651
+#639 := [monotonicity #652]: #653
+#637 := [monotonicity #639]: #636
+#642 := [monotonicity #637]: #641
+#648 := (iff #684 #646)
+#667 := (iff #687 #656)
+#665 := (iff #698 #697)
+#660 := (or false #697)
+#663 := (iff #660 #697)
+#664 := [rewrite]: #663
+#661 := (iff #698 #660)
+#668 := (iff #693 false)
+#669 := [rewrite]: #668
+#662 := [monotonicity #669]: #661
+#666 := [trans #662 #664]: #665
+#645 := [monotonicity #666]: #667
+#658 := (iff #690 #657)
+#654 := (iff #689 #688)
+#671 := (or #688 false)
+#670 := (iff #671 #688)
+#674 := [rewrite]: #670
+#672 := (iff #689 #671)
+#673 := [monotonicity #669]: #672
+#655 := [trans #673 #674]: #654
+#659 := [monotonicity #655]: #658
+#649 := [monotonicity #659 #645]: #648
+#644 := [monotonicity #649 #642]: #638
+#619 := [monotonicity #644]: #618
+#677 := (iff #680 false)
+#682 := [rewrite]: #677
+#624 := [monotonicity #682 #619]: #623
+#627 := [trans #624 #630]: #626
+#629 := [monotonicity #627]: #633
+#560 := [trans #629 #614]: #633
+#632 := [quant-inst]: #631
+#615 := [mp #632 #560]: #628
+#1052 := [unit-resolution #615 #783]: #617
+#576 := (not #617)
+#578 := (or #576 #577 #675)
+#579 := [def-axiom]: #578
+#1054 := [unit-resolution #579 #1052]: #1053
+#1055 := [unit-resolution #1054 #1039]: #577
+#1056 := (or #676 #643)
+#580 := (or #576 #676 #643)
+#581 := [def-axiom]: #580
+#1057 := [unit-resolution #581 #1052]: #1056
+#1058 := [unit-resolution #1057 #1055]: #643
+#598 := (not #643)
+#943 := (or #564 #598 #765)
+#556 := (<= #695 0::int)
+#853 := [hypothesis]: #643
+#567 := (<= f6 0::int)
+#543 := (= f6 0::int)
+#460 := (not #564)
+#826 := [hypothesis]: #460
+#824 := (or #543 #564)
+#463 := -2::int
+#363 := (* -1::int f6)
+#508 := (mod #363 -2::int)
+#510 := (+ #51 #508)
+#495 := (= #510 0::int)
+#533 := (not #567)
+#565 := (>= f6 0::int)
+#513 := (not #565)
+#523 := (or #513 #533)
+#498 := (ite #523 #564 #495)
+#542 := (= #51 0::int)
+#501 := (ite #543 #542 #498)
+#487 := (or #571 #501)
+#357 := (* -1::int 2::int)
+#557 := (mod #363 #357)
+#558 := (+ #51 #557)
+#559 := (= #558 0::int)
+#427 := (<= 2::int 0::int)
+#566 := (or #427 #565)
+#549 := (not #566)
+#537 := (or #567 #427)
+#538 := (not #537)
+#539 := (or #538 #549)
+#540 := (ite #539 #564 #559)
+#544 := (ite #543 #542 #540)
+#387 := (= f6 #51)
+#768 := (= 2::int 0::int)
+#545 := (ite #768 #387 #544)
+#488 := (or #571 #545)
+#490 := (iff #488 #487)
+#491 := (iff #487 #487)
+#476 := [rewrite]: #491
+#485 := (iff #545 #501)
+#504 := (ite false #387 #501)
+#482 := (iff #504 #501)
+#484 := [rewrite]: #482
+#493 := (iff #545 #504)
+#502 := (iff #544 #501)
+#499 := (iff #540 #498)
+#496 := (iff #559 #495)
+#492 := (= #558 #510)
+#509 := (= #557 #508)
+#737 := (= #357 -2::int)
+#741 := [rewrite]: #737
+#507 := [monotonicity #741]: #509
+#494 := [monotonicity #507]: #492
+#497 := [monotonicity #494]: #496
+#520 := (iff #539 #523)
+#518 := (or #533 #513)
+#516 := (iff #518 #523)
+#519 := [rewrite]: #516
+#522 := (iff #539 #518)
+#514 := (iff #549 #513)
+#521 := (iff #566 #565)
+#527 := (or false #565)
+#526 := (iff #527 #565)
+#531 := [rewrite]: #526
+#529 := (iff #566 #527)
+#745 := (iff #427 false)
+#408 := [rewrite]: #745
+#530 := [monotonicity #408]: #529
+#511 := [trans #530 #531]: #521
+#517 := [monotonicity #511]: #514
+#536 := (iff #538 #533)
+#534 := (iff #537 #567)
+#541 := (or #567 false)
+#528 := (iff #541 #567)
+#532 := [rewrite]: #528
+#546 := (iff #537 #541)
+#525 := [monotonicity #408]: #546
+#535 := [trans #525 #532]: #534
+#524 := [monotonicity #535]: #536
+#515 := [monotonicity #524 #517]: #522
+#506 := [trans #515 #519]: #520
+#500 := [monotonicity #506 #497]: #499
+#503 := [monotonicity #500]: #502
+#769 := (iff #768 false)
+#759 := [rewrite]: #769
+#505 := [monotonicity #759 #503]: #493
+#486 := [trans #505 #484]: #485
+#483 := [monotonicity #486]: #490
+#477 := [trans #483 #476]: #490
+#489 := [quant-inst]: #488
+#478 := [mp #489 #477]: #487
+#829 := [unit-resolution #478 #783]: #501
+#435 := (not #543)
+#370 := [hypothesis]: #435
+#422 := (not #501)
+#438 := (or #422 #543 #498)
+#439 := [def-axiom]: #438
+#366 := [unit-resolution #439 #370 #829]: #498
+#835 := (or #565 #564)
+#827 := [hypothesis]: #513
+#480 := (or #523 #565)
+#479 := [def-axiom]: #480
+#828 := [unit-resolution #479 #827]: #523
+#830 := (or #435 #565)
+#831 := [th-lemma]: #830
+#832 := [unit-resolution #831 #827]: #435
+#833 := [unit-resolution #439 #832 #829]: #498
+#471 := (not #523)
+#456 := (not #498)
+#457 := (or #456 #471 #564)
+#458 := [def-axiom]: #457
+#834 := [unit-resolution #458 #833 #828 #826]: false
+#836 := [lemma #834]: #835
+#371 := [unit-resolution #836 #826]: #565
+#358 := (or #543 #533 #513)
+#360 := [th-lemma]: #358
+#821 := [unit-resolution #360 #370 #371]: #533
+#481 := (or #523 #567)
+#470 := [def-axiom]: #481
+#822 := [unit-resolution #470 #821]: #523
+#823 := [unit-resolution #458 #822 #366 #826]: false
+#825 := [lemma #823]: #824
+#852 := [unit-resolution #825 #826]: #543
+#913 := (or #435 #567)
+#914 := [th-lemma]: #913
+#915 := [unit-resolution #914 #852]: #567
+#916 := [hypothesis]: #605
+#739 := (+ #469 #363)
+#738 := (mod #739 -2::int)
+#42 := (f4 #40 2::int)
+#453 := (+ #42 #738)
+#733 := (= #453 0::int)
+#445 := (mod #40 2::int)
+#446 := (* -1::int #445)
+#447 := (+ #42 #446)
+#444 := (= #447 0::int)
+#466 := (or #751 #757)
+#731 := (ite #466 #444 #733)
+#918 := (or #765 #731)
+#43 := (= #42 0::int)
+#736 := (ite #765 #43 #731)
+#572 := (or #571 #736)
+#441 := (* -1::int #40)
+#442 := (mod #441 #357)
+#443 := (+ #42 #442)
+#434 := (= #443 0::int)
+#762 := (or #427 #448)
+#764 := (not #762)
+#551 := (or #421 #427)
+#758 := (not #551)
+#432 := (or #758 #764)
+#433 := (ite #432 #444 #434)
+#766 := (ite #765 #43 #433)
+#767 := (= #40 #42)
+#763 := (ite #768 #767 #766)
+#573 := (or #571 #763)
+#716 := (iff #573 #572)
+#718 := (iff #572 #572)
+#712 := [rewrite]: #718
+#724 := (iff #763 #736)
+#419 := (* -1::int #42)
+#424 := (+ f6 #419)
+#760 := (+ f5 #424)
+#420 := (= #760 0::int)
+#727 := (ite false #420 #736)
+#728 := (iff #727 #736)
+#729 := [rewrite]: #728
+#722 := (iff #763 #727)
+#725 := (iff #766 #736)
+#735 := (iff #433 #731)
+#734 := (iff #434 #733)
+#454 := (= #443 #453)
+#742 := (= #442 #738)
+#740 := (= #441 #739)
+#462 := [rewrite]: #740
+#452 := [monotonicity #462 #741]: #742
+#455 := [monotonicity #452]: #454
+#449 := [monotonicity #455]: #734
+#467 := (iff #432 #466)
+#743 := (iff #764 #757)
+#756 := (iff #762 #448)
+#390 := (or false #448)
+#395 := (iff #390 #448)
+#396 := [rewrite]: #395
+#753 := (iff #762 #390)
+#755 := [monotonicity #408]: #753
+#754 := [trans #755 #396]: #756
+#744 := [monotonicity #754]: #743
+#746 := (iff #758 #751)
+#749 := (iff #551 #421)
+#409 := (or #421 false)
+#747 := (iff #409 #421)
+#748 := [rewrite]: #747
+#410 := (iff #551 #409)
+#411 := [monotonicity #408]: #410
+#750 := [trans #411 #748]: #749
+#752 := [monotonicity #750]: #746
+#468 := [monotonicity #752 #744]: #467
+#732 := [monotonicity #468 #449]: #735
+#726 := [monotonicity #732]: #725
+#761 := (iff #767 #420)
+#404 := [rewrite]: #761
+#723 := [monotonicity #759 #404 #726]: #722
+#730 := [trans #723 #729]: #724
+#717 := [monotonicity #730]: #716
+#713 := [trans #717 #712]: #716
+#715 := [quant-inst]: #573
+#719 := [mp #715 #713]: #572
+#917 := [unit-resolution #719 #783]: #736
+#603 := (not #736)
+#607 := (or #603 #765 #731)
+#608 := [def-axiom]: #607
+#919 := [unit-resolution #608 #917]: #918
+#920 := [unit-resolution #919 #916]: #731
+#711 := (not #731)
+#911 := (or #448 #513 #533 #598 #711)
+#854 := [hypothesis]: #565
+#856 := (or #513 #656 #448)
+#857 := [th-lemma]: #856
+#858 := [unit-resolution #857 #855 #854]: #656
+#621 := (or #646 #697)
+#616 := [def-axiom]: #621
+#859 := [unit-resolution #616 #858]: #646
+#622 := (not #646)
+#600 := (or #598 #622 #696)
+#601 := [def-axiom]: #600
+#860 := [unit-resolution #601 #859 #853]: #696
+#592 := (not #696)
+#861 := (or #592 #556)
+#862 := [th-lemma]: #861
+#863 := [unit-resolution #862 #860]: #556
+#587 := (>= #695 0::int)
+#864 := (or #592 #587)
+#865 := [th-lemma]: #864
+#866 := [unit-resolution #865 #860]: #587
+#548 := (<= #45 3::int)
+#867 := (not #47)
+#868 := (or #867 #548)
+#869 := [th-lemma]: #868
+#870 := [unit-resolution #869 #187]: #548
+#555 := (>= #45 3::int)
+#871 := (or #867 #555)
+#872 := [th-lemma]: #871
+#873 := [unit-resolution #872 #187]: #555
+#874 := [hypothesis]: #567
+#361 := (div f5 4::int)
+#791 := (* -4::int #361)
+#792 := (+ #791 #685)
+#793 := (+ f5 #792)
+#845 := (<= #793 0::int)
+#790 := (= #793 0::int)
+#875 := (or false #790)
+#876 := [th-lemma]: #875
+#877 := [unit-resolution #876 #69]: #790
+#878 := (not #790)
+#879 := (or #878 #845)
+#880 := [th-lemma]: #879
+#881 := [unit-resolution #880 #877]: #845
+#846 := (>= #793 0::int)
+#882 := (or #878 #846)
+#883 := [th-lemma]: #882
+#884 := [unit-resolution #883 #877]: #846
+#707 := (<= #447 0::int)
+#885 := [hypothesis]: #731
+#721 := (or #466 #448)
+#550 := [def-axiom]: #721
+#886 := [unit-resolution #550 #855]: #466
+#552 := (not #466)
+#593 := (or #711 #552 #444)
+#594 := [def-axiom]: #593
+#887 := [unit-resolution #594 #886 #885]: #444
+#702 := (not #444)
+#888 := (or #702 #707)
+#889 := [th-lemma]: #888
+#890 := [unit-resolution #889 #887]: #707
+#709 := (>= #447 0::int)
+#891 := (or #702 #709)
+#892 := [th-lemma]: #891
+#893 := [unit-resolution #892 #887]: #709
+#586 := (<= #42 0::int)
+#181 := [asserted]: #43
+#609 := (not #43)
+#894 := (or #609 #586)
+#895 := [th-lemma]: #894
+#896 := [unit-resolution #895 #181]: #586
+#547 := (>= #42 0::int)
+#897 := (or #609 #547)
+#898 := [th-lemma]: #897
+#899 := [unit-resolution #898 #181]: #547
+#412 := (div #40 2::int)
+#400 := (* -2::int #412)
+#403 := (+ #400 #446)
+#391 := (+ f6 #403)
+#393 := (+ f5 #391)
+#838 := (<= #393 0::int)
+#401 := (= #393 0::int)
+#900 := (or false #401)
+#901 := [th-lemma]: #900
+#902 := [unit-resolution #901 #69]: #401
+#903 := (not #401)
+#904 := (or #903 #838)
+#905 := [th-lemma]: #904
+#906 := [unit-resolution #905 #902]: #838
+#839 := (>= #393 0::int)
+#907 := (or #903 #839)
+#908 := [th-lemma]: #907
+#909 := [unit-resolution #908 #902]: #839
+#910 := [th-lemma #909 #906 #899 #896 #893 #890 #884 #881 #854 #874 #873 #870 #866 #863]: false
+#912 := [lemma #910]: #911
+#927 := [unit-resolution #912 #371 #915 #853 #920]: #448
+#928 := (or #765 #751 #757)
+#929 := [th-lemma]: #928
+#930 := [unit-resolution #929 #927 #916]: #751
+#931 := (or #657 #533 #421)
+#932 := [th-lemma]: #931
+#933 := [unit-resolution #932 #930 #915]: #657
+#596 := (or #646 #688)
+#620 := [def-axiom]: #596
+#934 := [unit-resolution #620 #933]: #646
+#935 := [unit-resolution #601 #934 #853]: #696
+#936 := [unit-resolution #862 #935]: #556
+#937 := [unit-resolution #865 #935]: #587
+#720 := (or #466 #421)
+#714 := [def-axiom]: #720
+#938 := [unit-resolution #714 #930]: #466
+#939 := [unit-resolution #594 #938 #920]: #444
+#940 := [unit-resolution #889 #939]: #707
+#941 := [unit-resolution #892 #939]: #709
+#942 := [th-lemma #909 #906 #899 #896 #941 #940 #873 #870 #884 #881 #371 #915 #937 #936]: false
+#944 := [lemma #942]: #943
+#1182 := [unit-resolution #944 #1058]: #1181
+#1183 := [unit-resolution #1182 #431]: #564
+#1184 := (or #460 #473)
+#1185 := [th-lemma]: #1184
+#1123 := [unit-resolution #1185 #1183]: #473
+#1125 := (not #473)
+#1126 := (or #405 #952 #1125)
+#1107 := [th-lemma]: #1126
+#1234 := [unit-resolution #1107 #1123 #1239]: #405
+#429 := (or #448 #444)
+#461 := [hypothesis]: #702
+#436 := [unit-resolution #919 #431]: #731
+#437 := [unit-resolution #594 #436 #886 #461]: false
+#440 := [lemma #437]: #429
+#1240 := [unit-resolution #440 #855]: #444
+#1241 := (or #460 #474)
+#1242 := [th-lemma]: #1241
+#1243 := [unit-resolution #1242 #1183]: #474
+#1027 := (not #474)
+#1244 := (or #702 #407 #1027)
+#975 := (or #646 #676)
+#968 := [hypothesis]: #577
+#969 := [hypothesis]: #622
+#970 := [unit-resolution #620 #969]: #688
+#971 := [unit-resolution #616 #969]: #697
+#972 := (or #676 #657 #656)
+#973 := [th-lemma]: #972
+#974 := [unit-resolution #973 #971 #970 #968]: false
+#976 := [lemma #974]: #975
+#1059 := [unit-resolution #976 #1055]: #646
+#1060 := [unit-resolution #601 #1059 #1058]: #696
+#1061 := [unit-resolution #865 #1060]: #587
+#1108 := [unit-resolution #862 #1060]: #556
+#1003 := (not #556)
+#1026 := (not #587)
+#1028 := (or #702 #1026 #407 #1027 #1003)
+#840 := (div f6 2::int)
+#1006 := (* -1::int #840)
+#1007 := (+ #685 #1006)
+#1008 := (+ #562 #1007)
+#1009 := (+ #446 #1008)
+#987 := (* -1::int #412)
+#1010 := (+ #987 #1009)
+#1005 := (* -2::int #361)
+#1011 := (+ #1005 #1010)
+#1012 := (+ #45 #1011)
+#1013 := (+ #42 #1012)
+#1014 := (+ f6 #1013)
+#1015 := (+ f5 #1014)
+#1016 := (>= #1015 2::int)
+#1002 := (not #1016)
+#999 := [hypothesis]: #556
+#982 := [hypothesis]: #444
+#988 := [unit-resolution #889 #982]: #707
+#1004 := (not #707)
+#1017 := (or #1002 #1003 #1004)
+#946 := (>= #561 0::int)
+#984 := (or false #946)
+#985 := [th-lemma]: #984
+#986 := [unit-resolution #985 #69]: #946
+#991 := [hypothesis]: #707
+#797 := (* -2::int #840)
+#837 := (+ #562 #797)
+#921 := (+ f6 #837)
+#963 := (<= #921 0::int)
+#796 := (= #921 0::int)
+#992 := (or false #796)
+#993 := [th-lemma]: #992
+#994 := [unit-resolution #993 #69]: #796
+#995 := (not #796)
+#996 := (or #995 #963)
+#997 := [th-lemma]: #996
+#998 := [unit-resolution #997 #994]: #963
+#1000 := [hypothesis]: #1016
+#1001 := [th-lemma #896 #870 #1000 #881 #999 #998 #991 #906 #986]: false
+#1018 := [lemma #1001]: #1017
+#989 := [unit-resolution #1018 #988 #999]: #1002
+#990 := [unit-resolution #892 #982]: #709
+#983 := [hypothesis]: #474
+#1019 := (not #407)
+#1020 := [hypothesis]: #1019
+#964 := (>= #921 0::int)
+#1021 := (or #995 #964)
+#1022 := [th-lemma]: #1021
+#1023 := [unit-resolution #1022 #994]: #964
+#1024 := [hypothesis]: #587
+#1025 := [th-lemma #899 #873 #884 #1024 #1023 #1020 #983 #990 #909 #989]: false
+#1029 := [lemma #1025]: #1028
+#1245 := [unit-resolution #1029 #1108 #1061]: #1244
+#1246 := [unit-resolution #1245 #1243 #1240]: #407
+#1248 := (not #405)
+#1251 := (or #1248 #1019)
+#52 := (= #51 1::int)
+#256 := (not #52)
+#48 := (f4 f5 2::int)
+#50 := (= #48 1::int)
+#962 := (mod f5 2::int)
+#965 := (* -1::int #962)
+#966 := (+ #48 #965)
+#1105 := (<= #966 0::int)
+#967 := (= #966 0::int)
+#1074 := (mod #469 -2::int)
+#1077 := (+ #48 #1074)
+#1080 := (= #1077 0::int)
+#1083 := (ite #646 #967 #1080)
+#1042 := (= #48 0::int)
+#1086 := (ite #676 #1042 #1083)
+#1114 := (or #571 #1086)
+#426 := (mod #469 #357)
+#958 := (+ #48 #426)
+#961 := (= #958 0::int)
+#926 := (or #427 #697)
+#945 := (not #926)
+#465 := (or #688 #427)
+#475 := (not #465)
+#1040 := (or #475 #945)
+#1041 := (ite #1040 #967 #961)
+#1043 := (ite #676 #1042 #1041)
+#1044 := (= f5 #48)
+#1045 := (ite #768 #1044 #1043)
+#1115 := (or #571 #1045)
+#1117 := (iff #1115 #1114)
+#1119 := (iff #1114 #1114)
+#1120 := [rewrite]: #1119
+#1094 := (iff #1045 #1086)
+#1089 := (ite false #1044 #1086)
+#1092 := (iff #1089 #1086)
+#1093 := [rewrite]: #1092
+#1090 := (iff #1045 #1089)
+#1087 := (iff #1043 #1086)
+#1084 := (iff #1041 #1083)
+#1081 := (iff #961 #1080)
+#1078 := (= #958 #1077)
+#1075 := (= #426 #1074)
+#1076 := [monotonicity #741]: #1075
+#1079 := [monotonicity #1076]: #1078
+#1082 := [monotonicity #1079]: #1081
+#1072 := (iff #1040 #646)
+#1070 := (iff #945 #656)
+#1068 := (iff #926 #697)
+#960 := (iff #926 #660)
+#1067 := [monotonicity #408]: #960
+#1069 := [trans #1067 #664]: #1068
+#1071 := [monotonicity #1069]: #1070
+#423 := (iff #475 #657)
+#1048 := (iff #465 #688)
+#1046 := (iff #465 #671)
+#1047 := [monotonicity #408]: #1046
+#1049 := [trans #1047 #674]: #1048
+#959 := [monotonicity #1049]: #423
+#1073 := [monotonicity #959 #1071]: #1072
+#1085 := [monotonicity #1073 #1082]: #1084
+#1088 := [monotonicity #1085]: #1087
+#1091 := [monotonicity #759 #1088]: #1090
+#1095 := [trans #1091 #1093]: #1094
+#1118 := [monotonicity #1095]: #1117
+#1121 := [trans #1118 #1120]: #1117
+#1116 := [quant-inst]: #1115
+#1122 := [mp #1116 #1121]: #1114
+#1151 := [unit-resolution #1122 #783]: #1086
+#1104 := (not #1086)
+#1172 := (or #1104 #1083)
+#1166 := (or #1104 #676 #1083)
+#1167 := [def-axiom]: #1166
+#1174 := [unit-resolution #1167 #1055]: #1172
+#1175 := [unit-resolution #1174 #1151]: #1083
+#1127 := (not #1083)
+#1186 := (or #1127 #967)
+#1128 := (or #1127 #622 #967)
+#1129 := [def-axiom]: #1128
+#1191 := [unit-resolution #1129 #1059]: #1186
+#1192 := [unit-resolution #1191 #1175]: #967
+#1096 := (not #967)
+#1193 := (or #1096 #1105)
+#1194 := [th-lemma]: #1193
+#1195 := [unit-resolution #1194 #1192]: #1105
+#1106 := (>= #966 0::int)
+#1196 := (or #1096 #1106)
+#1197 := [th-lemma]: #1196
+#1198 := [unit-resolution #1197 #1192]: #1106
+#1170 := (>= #48 1::int)
+#1208 := (not #1170)
+#1169 := (<= #48 1::int)
+#1158 := (>= #962 2::int)
+#1159 := (not #1158)
+#1199 := (or false #1159)
+#1200 := [th-lemma]: #1199
+#1201 := [unit-resolution #1200 #69]: #1159
+#1202 := (not #1105)
+#1203 := (or #1169 #1158 #1202)
+#1204 := [th-lemma]: #1203
+#1205 := [unit-resolution #1204 #1195 #1201]: #1169
+#1207 := (not #1169)
+#1211 := (or #1207 #1208)
+#255 := (not #50)
+#1206 := [hypothesis]: #255
+#1209 := (or #50 #1207 #1208)
+#1210 := [th-lemma]: #1209
+#1212 := [unit-resolution #1210 #1206]: #1211
+#1213 := [unit-resolution #1212 #1205]: #1208
+#1124 := (>= #48 0::int)
+#1152 := (>= #962 0::int)
+#1214 := (or false #1152)
+#1215 := [th-lemma]: #1214
+#1216 := [unit-resolution #1215 #69]: #1152
+#1218 := (not #1106)
+#1217 := (not #1152)
+#1219 := (or #1124 #1217 #1218)
+#1220 := [th-lemma]: #1219
+#1221 := [unit-resolution #1220 #1198 #1216]: #1124
+#1130 := (div f5 2::int)
+#1143 := (* -2::int #1130)
+#1144 := (+ #965 #1143)
+#1145 := (+ f5 #1144)
+#1150 := (<= #1145 0::int)
+#1142 := (= #1145 0::int)
+#1222 := (or false #1142)
+#1223 := [th-lemma]: #1222
+#1224 := [unit-resolution #1223 #69]: #1142
+#1225 := (not #1142)
+#1226 := (or #1225 #1150)
+#1227 := [th-lemma]: #1226
+#1228 := [unit-resolution #1227 #1224]: #1150
+#1180 := (>= #1145 0::int)
+#1229 := (or #1225 #1180)
+#1230 := [th-lemma]: #1229
+#1231 := [unit-resolution #1230 #1224]: #1180
+#1232 := [th-lemma #1231 #1228 #1221 #1213 #1198 #1195 #884 #881 #873 #870 #1061 #1108]: false
+#1233 := [lemma #1232]: #50
+#257 := (or #255 #256)
+#53 := (and #50 #52)
+#54 := (not #53)
+#266 := (iff #54 #257)
+#258 := (not #257)
+#261 := (not #258)
+#264 := (iff #261 #257)
+#265 := [rewrite]: #264
+#262 := (iff #54 #261)
+#259 := (iff #53 #258)
+#260 := [rewrite]: #259
+#263 := [monotonicity #260]: #262
+#267 := [trans #263 #265]: #266
+#188 := [asserted]: #54
+#268 := [mp #188 #267]: #257
+#1247 := [unit-resolution #268 #1233]: #256
+#1249 := (or #52 #1248 #1019)
+#1250 := [th-lemma]: #1249
+#1252 := [unit-resolution #1250 #1247]: #1251
+#1253 := [unit-resolution #1252 #1246 #1234]: false
+#1254 := [lemma #1253]: #448
+#1274 := [hypothesis]: #421
+#1276 := (or #460 #751)
+#1264 := [hypothesis]: #564
+#1265 := [unit-resolution #1185 #1264]: #473
+#1266 := [unit-resolution #1242 #1264]: #474
+#1267 := [unit-resolution #1107 #1265 #1239]: #405
+#1268 := [unit-resolution #1252 #1267]: #1019
+#425 := (>= #51 0::int)
+#1271 := (or #425 #1027)
+#1187 := (not #946)
+#1188 := [hypothesis]: #1187
+#1189 := [unit-resolution #985 #69 #1188]: false
+#1190 := [lemma #1189]: #946
+#1269 := (or #425 #1187 #1027)
+#1270 := [th-lemma]: #1269
+#1272 := [unit-resolution #1270 #1190]: #1271
+#1273 := [unit-resolution #1272 #1266]: #425
+#1275 := [th-lemma #1254 #1274 #1061 #1108 #1273 #1268 #1266 #1265 #1023 #998 #884 #881 #873 #870]: false
+#1277 := [lemma #1275]: #1276
+#1259 := [unit-resolution #1277 #1274]: #460
+#1260 := [unit-resolution #825 #1259]: #543
+#1261 := [unit-resolution #914 #1260]: #567
+#1262 := [unit-resolution #836 #1259]: #565
+#1263 := (or #513 #751 #688)
+#1278 := [th-lemma]: #1263
+#1279 := [unit-resolution #1278 #1262 #1274]: #688
+#1280 := [unit-resolution #973 #1055]: #646
+#1281 := [unit-resolution #1280 #1279]: #656
+#1282 := (or #697 #533 #757)
+#1283 := [th-lemma]: #1282
+#1284 := [unit-resolution #1283 #1281 #1261 #1254]: false
+#1285 := [lemma #1284]: #751
+#1286 := (or #605 #421)
+#1287 := [th-lemma]: #1286
+#1288 := [unit-resolution #1287 #1285]: #605
+#1289 := [unit-resolution #1182 #1288]: #564
+#1290 := [unit-resolution #1242 #1289]: #474
+#1257 := (or #765 #444)
+#981 := (or #466 #765)
+#977 := [hypothesis]: #552
+#978 := [unit-resolution #714 #977]: #421
+#979 := [unit-resolution #550 #977]: #448
+#980 := [unit-resolution #929 #979 #978 #916]: false
+#1030 := [lemma #980]: #981
+#1255 := [unit-resolution #1030 #916]: #466
+#1256 := [unit-resolution #594 #1255 #920 #461]: false
+#1258 := [lemma #1256]: #1257
+#1291 := [unit-resolution #1258 #1288]: #444
+#1292 := [unit-resolution #1245 #1291 #1290]: #407
+#1293 := [unit-resolution #1185 #1289]: #473
+#1294 := [unit-resolution #1107 #1293 #1239]: #405
+[unit-resolution #1252 #1294 #1292]: false
+unsat
+659511229cba86eafd88b265af83c150a34ef866 24 0
 #2 := false
 #8 := (exists (vars (?v0 int)) false)
 #9 := (not #8)
@@ -7295,7 +8943,7 @@
 #27 := [asserted]: #10
 [mp #27 #43]: false
 unsat
-2bd6ac566d6a147b46ecb8caed0a511ca55b141c 24 0
+9315f166813c097237f939d5bfec03336d48d6a9 24 0
 #2 := false
 #8 := (exists (vars (?v0 real)) false)
 #9 := (not #8)
@@ -7320,13 +8968,13 @@
 #27 := [asserted]: #10
 [mp #27 #43]: false
 unsat
-e7e0dc21cd513d4b03eef3800b25925d59d2e3f6 1 0
-unsat
-be601e3d8f8e3cc99db3c33b213c810d4f870e66 1 0
-unsat
-2b5ea80215a4775a67f2e4685d423c2766fd2643 1 0
-unsat
-4bfc5cfdb12b8b5a08a33f5540fcd9843079b67a 67 0
+c605fee711b129b0bde66fbd9b8f8cc9ce226e9a 1 0
+unsat
+e58017e3173d9778bc4b43bd6c7d6554fa96991e 1 0
+unsat
+0e0dcf19cd5b120a9f262cfa9c01b662a315ee94 1 0
+unsat
+2336c05cc0db64fbd723579d41aafc2ab55fbe93 67 0
 #2 := false
 #9 := 0::int
 #12 := 1::int
@@ -7394,7 +9042,7 @@
 #143 := [trans #141 #80]: #142
 [mp #143 #145]: false
 unsat
-c365a72d1de4853f4116b170892fc897015e6fe6 82 0
+5efd84778495b1b150aa0b9f4a0b4263b1687cbc 82 0
 #2 := false
 #9 := (:var 0 int)
 #11 := 0::int
@@ -7477,7 +9125,7 @@
 #35 := [asserted]: #18
 [mp #35 #101]: false
 unsat
-3c9d3e136c0159be65ffdd67f8135bbff5309982 78 0
+7f5cf2a606c1f6fc9684f5e78e16538004b7482b 78 0
 #2 := false
 #9 := (:var 0 int)
 #11 := 2::int
@@ -7556,7 +9204,7 @@
 #36 := [asserted]: #19
 [mp #36 #97]: false
 unsat
-96e0c09363319f1eb7b1466a9c40cafcf229e29a 61 0
+2a13654aa992c8bed90af2572886d27708a51b8d 61 0
 #2 := false
 #13 := (:var 0 int)
 #8 := 2::int
@@ -7618,7 +9266,7 @@
 #35 := [asserted]: #18
 [mp #35 #80]: false
 unsat
-3990cca690691d622e503f7585b9ff729a5d9f50 111 0
+00a64958e6476c1107006d163ef1b97bd464c3ab 111 0
 #2 := false
 #8 := 2::int
 decl ?v0!1 :: int
@@ -7730,7 +9378,7 @@
 #189 := [th-lemma]: #188
 [unit-resolution #189 #132 #130 #131]: false
 unsat
-64bba02f58cf5d8a89cc3d6fd23df0f74a6646a6 89 0
+3f82af9f48300cb861109298f1c808dfeedc27df 89 0
 #2 := false
 #8 := 0::int
 decl ?v0!0 :: int
@@ -7820,7 +9468,7 @@
 #172 := [unit-resolution #157 #95]: #171
 [unit-resolution #172 #170 #167]: false
 unsat
-d2bfc1de87fbaa5e6bd6599d098877a198138706 83 2
+acea26b9fcd9353bdce76a59fb81f2d230c19002 83 2
 #2 := false
 #9 := 0::int
 #8 := (:var 0 int)
@@ -7906,7 +9554,7 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
 
-d085c245b7da6740b8f1ddee257b026bd0bf4583 180 2
+baa910cd7ead809257c9ce1201462fe467c60aef 180 2
 #2 := false
 #16 := 3::int
 #37 := -1::int
@@ -8089,7 +9737,7 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
 
-5cfbea22b49c2358c1e253cb2085b4c25ec3e266 68 0
+7a877ca9edb4f2c73b1ef0625cc9c1f31c342b91 68 0
 #2 := false
 #16 := 1::int
 #13 := (:var 1 int)
@@ -8158,7 +9806,7 @@
 #37 := [asserted]: #20
 [mp #37 #88]: false
 unsat
-00ea1ec7da3d2196f1891a60aeb0912f7ce4a20d 107 0
+c8d9f4511ee6959de9f02b091245c0b85d6b9a13 107 0
 #2 := false
 #8 := 0::int
 decl ?v1!1 :: int
@@ -8266,7 +9914,7 @@
 #128 := [and-elim #106]: #93
 [th-lemma #128 #129 #130]: false
 unsat
-b9445a31d58a20efa0cc799b1255d3623574803a 117 0
+64c53f605d405ecd0170c0241c2194ef25f17257 117 0
 #2 := false
 #8 := 0::int
 decl ?v1!1 :: int
@@ -8384,7 +10032,7 @@
 #193 := [unit-resolution #192 #115]: #103
 [unit-resolution #193 #135]: false
 unsat
-672f871feb35cc0fe285fb265c3124eed8d40fd4 148 0
+7bc9510644b978b75cac18b8fb186f89e0d2c0fd 148 0
 #2 := false
 #149 := (not false)
 #11 := 0::int
@@ -8533,7 +10181,7 @@
 #163 := [mp #131 #162]: #158
 [mp #163 #186]: false
 unsat
-d96de71d370b65dfebac57909ac6156ec810676f 67 0
+23471f6b1ed12f9477f5b746b57d0271e3fe26ad 67 0
 #2 := false
 #8 := (:var 0 int)
 #9 := (pattern #8)
@@ -8601,9 +10249,9 @@
 #35 := [asserted]: #18
 [mp #35 #85]: false
 unsat
-5642a2762c96b47408c54a74546ed4b1daa4b2f7 1 0
-unsat
-9bc50f45e106d520fb697536efe06c19d8679cb1 75 0
+53ac944328a76df2270bb4117390a226d92d4e8d 1 0
+unsat
+5645c40190078bc259023463ba288394a1ee2d31 75 0
 #2 := false
 #10 := 1::int
 decl f5 :: int
@@ -8679,7 +10327,7 @@
 #37 := [asserted]: #20
 [mp #37 #91]: false
 unsat
-c3031c5c6adefd1941844fe7f32dc15607540504 62 0
+dfe5809b750cf5dfc5ba8d902ad5002b8123814d 62 0
 #2 := false
 decl f4 :: real
 #10 := f4
@@ -8742,7 +10390,7 @@
 #37 := [asserted]: #20
 [mp #37 #79]: false
 unsat
-c6ec90450e5ec3b39ae8e9948b0ecc6e4d27e6d7 141 0
+3845bb98c4dd099de3474412f61c35c8b79e798c 141 0
 #2 := false
 decl f6 :: int
 #13 := f6
@@ -8884,7 +10532,7 @@
 #50 := [asserted]: #33
 [mp #50 #155]: false
 unsat
-d24efc6c7849616ae702f247385db4189d44ac5a 252 0
+522e7a274d393467135232ebd14a729963459539 252 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -9137,7 +10785,7 @@
 #544 := [unit-resolution #537 #456]: #562
 [th-lemma #460 #544 #542 #551]: false
 unsat
-9d1d66e0df5765d961ed3ab158bef74157ce58cb 227 0
+4d15f891322a8916dc12e3586edb994e590a9767 227 0
 #2 := false
 #27 := 3::int
 decl f4 :: (-> S2 int)
@@ -9365,7 +11013,7 @@
 #607 := [unit-resolution #602 #605]: #632
 [th-lemma #161 #607 #160]: false
 unsat
-7443981601e55d0af271f64ecf734a7a3a67096f 367 0
+ee8d523b01e5668527c65aa2ae3489e22daf3c31 367 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -9733,7 +11381,7 @@
 #461 := [th-lemma]: #460
 [unit-resolution #461 #469 #457]: false
 unsat
-2056c3e4e6f79f7bbfaba7f2ae00b9799e9f43ff 299 0
+fe0d866a3da682e02aab50789c1002badb2ec0c9 299 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -10033,7 +11681,7 @@
 #603 := [unit-resolution #617 #615]: #685
 [th-lemma #625 #190 #603 #630]: false
 unsat
-17614b8b1cec9a80dfb452576f370f5b26f06458 458 0
+0be1401474e291c6d6933a302a6418a34a233b36 458 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -10492,7 +12140,7 @@
 #355 := [unit-resolution #374 #372]: #373
 [unit-resolution #355 #328]: false
 unsat
-c3e137bbf6e1949e43f2587b45392d78547a0ad2 161 0
+75dd8d1e40b17d4d494dfbbca0b51228568d2c11 161 0
 #2 := false
 #13 := 0::int
 decl f5 :: int
@@ -10654,7 +12302,7 @@
 #366 := [unit-resolution #644 #660]: #652
 [th-lemma #661 #366 #266]: false
 unsat
-18766f4ad7b0aacc46a36126374fd797afa1c708 604 0
+c37debf59e8d6c8b243d5aaa6c9491c65a29d492 604 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -11259,7 +12907,7 @@
 #1005 := [unit-resolution #599 #859]: #455
 [unit-resolution #1005 #1004 #994]: false
 unsat
-c1588b51b288c6a2d08a2016aa66eab50f0a6d1f 61 0
+8add4983d79a2879b8718ea3b1ded6de7ef7d64c 61 0
 #2 := false
 decl f7 :: S3
 #12 := f7
@@ -11321,7 +12969,7 @@
 #59 := [not-or-elim #58]: #57
 [unit-resolution #59 #251]: false
 unsat
-0c0dd492e144529e5589cd1be0dd8dae2a82d34c 116 0
+6a6cf93b65ddcaf1b125eb57f4a626298f29e47d 116 0
 #2 := false
 decl f10 :: (-> S5 S3)
 decl f7 :: S5
@@ -11438,7 +13086,7 @@
 #81 := [not-or-elim #78]: #80
 [unit-resolution #81 #612]: false
 unsat
-aa5b48a48a0873759303c38cf95fb27a82bae860 192 0
+c4ff195222fb458c30d04a5dbddcd6f66862822e 192 0
 #2 := false
 decl f6 :: (-> S3 S2 S4)
 decl f3 :: S2
@@ -11631,7 +13279,7 @@
 #73 := [not-or-elim #70]: #72
 [unit-resolution #73 #505]: false
 unsat
-e7c21f70fe07677643a624f34aca10d30c0027d1 80 0
+2dc4b9dba54c10e431adb8ebd743c805e8784c37 80 0
 #2 := false
 decl f6 :: (-> S2 S3 S1)
 decl f5 :: S3
@@ -11712,7 +13360,7 @@
 #75 := [not-or-elim #69]: #74
 [mp #75 #96]: false
 unsat
-a8d1804c5819a0c61a2692ceed63656a5bf68bbc 128 0
+39345d35925f930054a812342385e19283e673d4 128 0
 #2 := false
 decl f3 :: (-> S2 S2)
 #15 := (:var 0 S2)
@@ -11841,7 +13489,7 @@
 #224 := [quant-inst]: #566
 [unit-resolution #224 #575 #583]: false
 unsat
-21df96defda428acd4390bdcc6579b5e5c6d79e8 469 0
+c66a2580a73c3d496a195fadc270ed658f997968 469 0
 #2 := false
 decl f8 :: (-> S2 S4 S4)
 decl f9 :: S4
@@ -12311,7 +13959,7 @@
 #173 := [asserted]: #43
 [unit-resolution #173 #814]: false
 unsat
-aa7b4578015e2de8536adbac81c12fcdd9c70533 38 0
+4cc658eed58c39b67c9bb50c6dd977ba3d6d31a0 38 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -12350,7 +13998,7 @@
 #31 := [asserted]: #14
 [mp #31 #54]: false
 unsat
-f2e1a8ca632baec8151f065291059c53754b68ae 366 0
+8134ded6ddb01de87deb72c99e279ab6f9bebab8 366 0
 #2 := false
 decl f3 :: (-> int S2)
 #41 := 6::int
@@ -12717,7 +14365,1279 @@
 #187 := [asserted]: #44
 [unit-resolution #187 #404]: false
 unsat
-1ae66c01a019816f43584ef4a2147068b8c58d05 76 0
+2a228f77dfa0e1f9c335db511955697c625e5b3e 1271 0
+#2 := false
+decl f6 :: (-> int int int)
+#12 := 2::int
+decl f14 :: int
+#84 := f14
+#89 := (f6 f14 2::int)
+decl f10 :: (-> S4 S5 int)
+decl f11 :: (-> S3 S5 S5)
+decl f13 :: S5
+#82 := f13
+decl f4 :: S3
+#8 := f4
+#86 := (f11 f4 f13)
+decl f12 :: S4
+#81 := f12
+#87 := (f10 f12 #86)
+#88 := (f6 #87 2::int)
+#90 := (= #88 #89)
+#83 := (f10 f12 f13)
+#876 := (f6 #83 2::int)
+#616 := (= #876 #89)
+#85 := (= #83 f14)
+decl f9 :: (-> int int int)
+#124 := -1::int
+#351 := (* -1::int #87)
+#352 := (+ f14 #351)
+#355 := (f9 #352 2::int)
+decl f8 :: S3
+#17 := f8
+#91 := (f11 f8 f13)
+#92 := (f10 f12 #91)
+#358 := (= #92 #355)
+#361 := (not #358)
+#367 := (not #90)
+#368 := (or #367 #361)
+#26 := 0::int
+#1324 := (>= #355 0::int)
+#611 := (= #355 0::int)
+#337 := -2::int
+#935 := (* -1::int f14)
+#932 := (+ #935 #87)
+#922 := (div #932 -2::int)
+#929 := (* -1::int #922)
+#771 := (+ #355 #929)
+#915 := (= #771 0::int)
+#963 := (div #352 2::int)
+#969 := (* -1::int #963)
+#959 := (+ #355 #969)
+#619 := (= #959 0::int)
+#960 := (<= #352 0::int)
+#654 := (not #960)
+#604 := (>= #352 0::int)
+#939 := (not #604)
+#934 := (or #939 #654)
+#918 := (ite #934 #619 #915)
+#948 := (= #352 0::int)
+#919 := (ite #948 #611 #918)
+#24 := (:var 0 int)
+#23 := (:var 1 int)
+#25 := (f9 #23 #24)
+#985 := (pattern #25)
+#128 := (* -1::int #24)
+#125 := (* -1::int #23)
+#131 := (div #125 #128)
+#472 := (* -1::int #131)
+#473 := (+ #25 #472)
+#474 := (= #473 0::int)
+#36 := (div #23 #24)
+#469 := (* -1::int #36)
+#470 := (+ #25 #469)
+#471 := (= #470 0::int)
+#150 := (<= #24 0::int)
+#146 := (<= #23 0::int)
+#427 := (or #146 #150)
+#428 := (not #427)
+#157 := (>= #23 0::int)
+#398 := (or #150 #157)
+#399 := (not #398)
+#434 := (or #399 #428)
+#475 := (ite #434 #471 #474)
+#468 := (= #25 0::int)
+#28 := (= #24 0::int)
+#27 := (= #23 0::int)
+#29 := (or #27 #28)
+#476 := (ite #29 #468 #475)
+#986 := (forall (vars (?v0 int) (?v1 int)) (:pat #985) #476)
+#479 := (forall (vars (?v0 int) (?v1 int)) #476)
+#989 := (iff #479 #986)
+#987 := (iff #476 #476)
+#988 := [refl]: #987
+#990 := [quant-intro #988]: #989
+#439 := (ite #434 #36 #131)
+#442 := (ite #29 0::int #439)
+#445 := (= #25 #442)
+#448 := (forall (vars (?v0 int) (?v1 int)) #445)
+#480 := (iff #448 #479)
+#477 := (iff #445 #476)
+#478 := [rewrite]: #477
+#481 := [quant-intro #478]: #480
+#158 := (not #157)
+#151 := (not #150)
+#161 := (and #151 #158)
+#147 := (not #146)
+#154 := (and #147 #151)
+#164 := (or #154 #161)
+#167 := (ite #164 #36 #131)
+#170 := (ite #29 0::int #167)
+#173 := (= #25 #170)
+#176 := (forall (vars (?v0 int) (?v1 int)) #173)
+#449 := (iff #176 #448)
+#446 := (iff #173 #445)
+#443 := (= #170 #442)
+#440 := (= #167 #439)
+#437 := (iff #164 #434)
+#431 := (or #428 #399)
+#435 := (iff #431 #434)
+#436 := [rewrite]: #435
+#432 := (iff #164 #431)
+#429 := (iff #161 #399)
+#430 := [rewrite]: #429
+#396 := (iff #154 #428)
+#397 := [rewrite]: #396
+#433 := [monotonicity #397 #430]: #432
+#438 := [trans #433 #436]: #437
+#441 := [monotonicity #438]: #440
+#444 := [monotonicity #441]: #443
+#447 := [monotonicity #444]: #446
+#450 := [quant-intro #447]: #449
+#382 := (~ #176 #176)
+#406 := (~ #173 #173)
+#407 := [refl]: #406
+#383 := [nnf-pos #407]: #382
+#38 := (- #24)
+#37 := (- #23)
+#39 := (div #37 #38)
+#31 := (< 0::int #24)
+#33 := (< #23 0::int)
+#34 := (and #33 #31)
+#30 := (< 0::int #23)
+#32 := (and #30 #31)
+#35 := (or #32 #34)
+#40 := (ite #35 #36 #39)
+#41 := (ite #29 0::int #40)
+#42 := (= #25 #41)
+#43 := (forall (vars (?v0 int) (?v1 int)) #42)
+#179 := (iff #43 #176)
+#118 := (and #31 #33)
+#121 := (or #32 #118)
+#134 := (ite #121 #36 #131)
+#137 := (ite #29 0::int #134)
+#140 := (= #25 #137)
+#143 := (forall (vars (?v0 int) (?v1 int)) #140)
+#177 := (iff #143 #176)
+#174 := (iff #140 #173)
+#171 := (= #137 #170)
+#168 := (= #134 #167)
+#165 := (iff #121 #164)
+#162 := (iff #118 #161)
+#159 := (iff #33 #158)
+#160 := [rewrite]: #159
+#152 := (iff #31 #151)
+#153 := [rewrite]: #152
+#163 := [monotonicity #153 #160]: #162
+#155 := (iff #32 #154)
+#148 := (iff #30 #147)
+#149 := [rewrite]: #148
+#156 := [monotonicity #149 #153]: #155
+#166 := [monotonicity #156 #163]: #165
+#169 := [monotonicity #166]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [quant-intro #175]: #177
+#144 := (iff #43 #143)
+#141 := (iff #42 #140)
+#138 := (= #41 #137)
+#135 := (= #40 #134)
+#132 := (= #39 #131)
+#129 := (= #38 #128)
+#130 := [rewrite]: #129
+#126 := (= #37 #125)
+#127 := [rewrite]: #126
+#133 := [monotonicity #127 #130]: #132
+#122 := (iff #35 #121)
+#119 := (iff #34 #118)
+#120 := [rewrite]: #119
+#123 := [monotonicity #120]: #122
+#136 := [monotonicity #123 #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [quant-intro #142]: #144
+#180 := [trans #145 #178]: #179
+#117 := [asserted]: #43
+#181 := [mp #117 #180]: #176
+#408 := [mp~ #181 #383]: #176
+#451 := [mp #408 #450]: #448
+#482 := [mp #451 #481]: #479
+#991 := [mp #482 #990]: #986
+#921 := (not #986)
+#750 := (or #921 #919)
+#632 := (* -1::int 2::int)
+#633 := (* -1::int #352)
+#965 := (div #633 #632)
+#966 := (* -1::int #965)
+#967 := (+ #355 #966)
+#968 := (= #967 0::int)
+#624 := (<= 2::int 0::int)
+#620 := (or #960 #624)
+#961 := (not #620)
+#945 := (or #624 #604)
+#608 := (not #945)
+#609 := (or #608 #961)
+#610 := (ite #609 #619 #968)
+#947 := (= 2::int 0::int)
+#949 := (or #948 #947)
+#950 := (ite #949 #611 #610)
+#752 := (or #921 #950)
+#906 := (iff #752 #750)
+#909 := (iff #750 #750)
+#910 := [rewrite]: #909
+#920 := (iff #950 #919)
+#912 := (iff #610 #918)
+#916 := (iff #968 #915)
+#772 := (= #967 #771)
+#924 := (= #966 #929)
+#923 := (= #965 #922)
+#926 := (= #632 -2::int)
+#927 := [rewrite]: #926
+#936 := (= #633 #932)
+#925 := [rewrite]: #936
+#928 := [monotonicity #925 #927]: #923
+#930 := [monotonicity #928]: #924
+#773 := [monotonicity #930]: #772
+#917 := [monotonicity #773]: #916
+#649 := (iff #609 #934)
+#655 := (iff #961 #654)
+#652 := (iff #620 #960)
+#663 := (or #960 false)
+#938 := (iff #663 #960)
+#942 := [rewrite]: #938
+#937 := (iff #620 #663)
+#954 := (iff #624 false)
+#957 := [rewrite]: #954
+#941 := [monotonicity #957]: #937
+#653 := [trans #941 #942]: #652
+#933 := [monotonicity #653]: #655
+#940 := (iff #608 #939)
+#669 := (iff #945 #604)
+#943 := (or false #604)
+#667 := (iff #943 #604)
+#668 := [rewrite]: #667
+#944 := (iff #945 #943)
+#666 := [monotonicity #957]: #944
+#562 := [trans #666 #668]: #669
+#662 := [monotonicity #562]: #940
+#931 := [monotonicity #662 #933]: #649
+#913 := [monotonicity #931 #917]: #912
+#596 := (iff #949 #948)
+#952 := (or #948 false)
+#955 := (iff #952 #948)
+#595 := [rewrite]: #955
+#590 := (iff #949 #952)
+#951 := (iff #947 false)
+#946 := [rewrite]: #951
+#953 := [monotonicity #946]: #590
+#956 := [trans #953 #595]: #596
+#914 := [monotonicity #956 #913]: #920
+#907 := [monotonicity #914]: #906
+#908 := [trans #907 #910]: #906
+#753 := [quant-inst]: #752
+#911 := [mp #753 #908]: #750
+#1195 := [unit-resolution #911 #991]: #919
+#962 := (not #85)
+#634 := (not #368)
+#1530 := [hypothesis]: #634
+#751 := (or #962 #368)
+#373 := (iff #85 #368)
+#93 := (- f14 #87)
+#94 := (f9 #93 2::int)
+#95 := (= #92 #94)
+#96 := (not #95)
+#97 := (implies #90 #96)
+#98 := (iff #85 #97)
+#374 := (iff #98 #373)
+#371 := (iff #97 #368)
+#364 := (implies #90 #361)
+#369 := (iff #364 #368)
+#370 := [rewrite]: #369
+#365 := (iff #97 #364)
+#362 := (iff #96 #361)
+#359 := (iff #95 #358)
+#356 := (= #94 #355)
+#353 := (= #93 #352)
+#354 := [rewrite]: #353
+#357 := [monotonicity #354]: #356
+#360 := [monotonicity #357]: #359
+#363 := [monotonicity #360]: #362
+#366 := [monotonicity #363]: #365
+#372 := [trans #366 #370]: #371
+#375 := [monotonicity #372]: #374
+#350 := [asserted]: #98
+#378 := [mp #350 #375]: #373
+#574 := (not #373)
+#964 := (or #962 #368 #574)
+#621 := [def-axiom]: #964
+#958 := [unit-resolution #621 #378]: #751
+#1524 := [unit-resolution #958 #1530]: #962
+#1068 := (* -1::int #876)
+#1140 := (+ #89 #1068)
+#1141 := (<= #1140 0::int)
+#1139 := (= #89 #876)
+#868 := (= #88 #876)
+#67 := (:var 0 S5)
+#70 := (f11 f4 #67)
+#66 := (:var 1 S4)
+#71 := (f10 #66 #70)
+#1019 := (pattern #71)
+#72 := (f6 #71 2::int)
+#68 := (f10 #66 #67)
+#69 := (f6 #68 2::int)
+#73 := (= #69 #72)
+#1020 := (forall (vars (?v0 S4) (?v1 S5)) (:pat #1019) #73)
+#74 := (forall (vars (?v0 S4) (?v1 S5)) #73)
+#1023 := (iff #74 #1020)
+#1021 := (iff #73 #73)
+#1022 := [refl]: #1021
+#1024 := [quant-intro #1022]: #1023
+#392 := (~ #74 #74)
+#421 := (~ #73 #73)
+#422 := [refl]: #421
+#393 := [nnf-pos #422]: #392
+#312 := [asserted]: #74
+#423 := [mp~ #312 #393]: #74
+#1025 := [mp #423 #1024]: #1020
+#872 := (not #1020)
+#873 := (or #872 #868)
+#878 := (= #876 #88)
+#870 := (or #872 #878)
+#854 := (iff #870 #873)
+#857 := (iff #873 #873)
+#858 := [rewrite]: #857
+#869 := (iff #878 #868)
+#871 := [rewrite]: #869
+#855 := [monotonicity #871]: #854
+#859 := [trans #855 #858]: #854
+#874 := [quant-inst]: #870
+#860 := [mp #874 #859]: #873
+#1526 := [unit-resolution #860 #1025]: #868
+#1322 := (= #89 #88)
+#556 := (or #368 #90)
+#641 := [def-axiom]: #556
+#1525 := [unit-resolution #641 #1530]: #90
+#1323 := [symm #1525]: #1322
+#1703 := [trans #1323 #1526]: #1139
+#1704 := (not #1139)
+#1705 := (or #1704 #1141)
+#1706 := [th-lemma]: #1705
+#1707 := [unit-resolution #1706 #1703]: #1141
+#1142 := (>= #1140 0::int)
+#1708 := (or #1704 #1142)
+#1709 := [th-lemma]: #1708
+#1710 := [unit-resolution #1709 #1703]: #1142
+#584 := (+ #83 #935)
+#571 := (>= #584 0::int)
+#1440 := (not #571)
+#589 := (<= #584 0::int)
+#598 := (* -1::int #355)
+#572 := (+ #92 #598)
+#577 := (<= #572 0::int)
+#642 := (or #368 #358)
+#643 := [def-axiom]: #642
+#1711 := [unit-resolution #643 #1530]: #358
+#1712 := (or #361 #577)
+#1713 := [th-lemma]: #1712
+#1714 := [unit-resolution #1713 #1711]: #577
+#1292 := (not #577)
+#1312 := (or #589 #1292)
+#883 := (not #948)
+#1289 := [hypothesis]: #577
+#1276 := (not #589)
+#1277 := [hypothesis]: #1276
+#1299 := (or #883 #1292 #589)
+#1193 := (<= #355 0::int)
+#1258 := [hypothesis]: #948
+#886 := (not #919)
+#885 := (or #886 #883 #611)
+#895 := [def-axiom]: #885
+#1259 := [unit-resolution #895 #1258 #1195]: #611
+#893 := (not #611)
+#1191 := (or #893 #1193)
+#1192 := [th-lemma]: #1191
+#1245 := [unit-resolution #1192 #1259]: #1193
+#1295 := (or #883 #604)
+#1296 := [th-lemma]: #1295
+#1297 := [unit-resolution #1296 #1258]: #604
+#890 := (* -2::int #92)
+#884 := (+ #351 #890)
+#891 := (+ #83 #884)
+#877 := (<= #891 0::int)
+#875 := (= #891 0::int)
+#75 := (f11 f8 #67)
+#76 := (f10 #66 #75)
+#1026 := (pattern #76)
+#338 := (* -2::int #76)
+#336 := (* -1::int #71)
+#339 := (+ #336 #338)
+#340 := (+ #68 #339)
+#341 := (= #340 0::int)
+#1027 := (forall (vars (?v0 S4) (?v1 S5)) (:pat #1019 #1026) #341)
+#344 := (forall (vars (?v0 S4) (?v1 S5)) #341)
+#1030 := (iff #344 #1027)
+#1028 := (iff #341 #341)
+#1029 := [refl]: #1028
+#1031 := [quant-intro #1029]: #1030
+#394 := (~ #344 #344)
+#424 := (~ #341 #341)
+#425 := [refl]: #424
+#395 := [nnf-pos #425]: #394
+#77 := (* #76 2::int)
+#78 := (+ #77 #71)
+#79 := (= #78 #68)
+#80 := (forall (vars (?v0 S4) (?v1 S5)) #79)
+#347 := (iff #80 #344)
+#314 := (* 2::int #76)
+#320 := (+ #71 #314)
+#328 := (= #68 #320)
+#333 := (forall (vars (?v0 S4) (?v1 S5)) #328)
+#345 := (iff #333 #344)
+#342 := (iff #328 #341)
+#343 := [rewrite]: #342
+#346 := [quant-intro #343]: #345
+#334 := (iff #80 #333)
+#331 := (iff #79 #328)
+#325 := (= #320 #68)
+#329 := (iff #325 #328)
+#330 := [rewrite]: #329
+#326 := (iff #79 #325)
+#323 := (= #78 #320)
+#317 := (+ #314 #71)
+#321 := (= #317 #320)
+#322 := [rewrite]: #321
+#318 := (= #78 #317)
+#315 := (= #77 #314)
+#316 := [rewrite]: #315
+#319 := [monotonicity #316]: #318
+#324 := [trans #319 #322]: #323
+#327 := [monotonicity #324]: #326
+#332 := [trans #327 #330]: #331
+#335 := [quant-intro #332]: #334
+#348 := [trans #335 #346]: #347
+#313 := [asserted]: #80
+#349 := [mp #313 #348]: #344
+#426 := [mp~ #349 #395]: #344
+#1032 := [mp #426 #1031]: #1027
+#879 := (not #1027)
+#880 := (or #879 #875)
+#881 := [quant-inst]: #880
+#1271 := [unit-resolution #881 #1032]: #875
+#1272 := (not #875)
+#1273 := (or #1272 #877)
+#1274 := [th-lemma]: #1273
+#1275 := [unit-resolution #1274 #1271]: #877
+#1298 := [th-lemma #1275 #1289 #1297 #1277 #1245]: false
+#1300 := [lemma #1298]: #1299
+#1194 := [unit-resolution #1300 #1277 #1289]: #883
+#902 := (not #934)
+#811 := (not #619)
+#903 := (<= #959 0::int)
+#1291 := (not #903)
+#1293 := (or #1291 #1292 #589)
+#1201 := (+ f14 #87)
+#1202 := (mod #1201 2::int)
+#1214 := (* -1::int #1202)
+#1213 := (* -2::int #963)
+#1215 := (+ #1213 #1214)
+#1216 := (+ #351 #1215)
+#1217 := (+ f14 #1216)
+#1222 := (>= #1217 0::int)
+#1211 := (= #1217 0::int)
+#1 := true
+#113 := [true-axiom]: true
+#1278 := (or false #1211)
+#1279 := [th-lemma]: #1278
+#1280 := [unit-resolution #1279 #113]: #1211
+#1281 := (not #1211)
+#1282 := (or #1281 #1222)
+#1283 := [th-lemma]: #1282
+#1284 := [unit-resolution #1283 #1280]: #1222
+#1246 := (>= #1202 0::int)
+#1285 := (or false #1246)
+#1286 := [th-lemma]: #1285
+#1287 := [unit-resolution #1286 #113]: #1246
+#1288 := [hypothesis]: #903
+#1290 := [th-lemma #1289 #1288 #1287 #1284 #1277 #1275]: false
+#1294 := [lemma #1290]: #1293
+#1301 := [unit-resolution #1294 #1277 #1289]: #1291
+#1302 := (or #811 #903)
+#1303 := [th-lemma]: #1302
+#1304 := [unit-resolution #1303 #1301]: #811
+#896 := (or #886 #948 #918)
+#897 := [def-axiom]: #896
+#1305 := [unit-resolution #897 #1194 #1195]: #918
+#799 := (not #918)
+#807 := (or #799 #902 #619)
+#808 := [def-axiom]: #807
+#1306 := [unit-resolution #808 #1305 #1304]: #902
+#793 := (or #934 #604)
+#794 := [def-axiom]: #793
+#1307 := [unit-resolution #794 #1306]: #604
+#795 := (or #934 #960)
+#754 := [def-axiom]: #795
+#1308 := [unit-resolution #754 #1306]: #960
+#1309 := (or #948 #654 #939)
+#1310 := [th-lemma]: #1309
+#1311 := [unit-resolution #1310 #1308 #1307 #1194]: false
+#1313 := [lemma #1311]: #1312
+#1715 := [unit-resolution #1313 #1714]: #589
+#1718 := (or #1276 #1440)
+#1716 := (or #85 #1276 #1440)
+#1717 := [th-lemma]: #1716
+#1719 := [unit-resolution #1717 #1524]: #1718
+#1720 := [unit-resolution #1719 #1715]: #1440
+#578 := (>= #572 0::int)
+#1721 := (or #361 #578)
+#1722 := [th-lemma]: #1721
+#1723 := [unit-resolution #1722 #1711]: #578
+#583 := (* -1::int #89)
+#585 := (+ #88 #583)
+#586 := (<= #585 0::int)
+#1724 := (or #367 #586)
+#1725 := [th-lemma]: #1724
+#1726 := [unit-resolution #1725 #1525]: #586
+#1434 := (not #1141)
+#1489 := (not #1142)
+#1430 := (not #578)
+#1636 := (not #586)
+#1701 := (or #948 #1636 #1430 #571 #1489 #1434 #85)
+#864 := (mod f14 2::int)
+#865 := (* -1::int #864)
+#866 := (+ #89 #865)
+#856 := (= #866 0::int)
+#766 := (not #856)
+#1402 := [hypothesis]: #1141
+#581 := (mod #83 2::int)
+#1069 := (+ #581 #1068)
+#1113 := (<= #1069 0::int)
+#1070 := (= #1069 0::int)
+#1453 := [hypothesis]: #962
+#1421 := [hypothesis]: #578
+#1480 := [hypothesis]: #1142
+#1441 := [hypothesis]: #1440
+#788 := (>= #959 0::int)
+#1314 := [hypothesis]: #883
+#1679 := [unit-resolution #897 #1314 #1195]: #918
+#1319 := (or #934 #948)
+#1315 := [hypothesis]: #902
+#1316 := [unit-resolution #794 #1315]: #604
+#1317 := [unit-resolution #754 #1315]: #960
+#1318 := [unit-resolution #1310 #1317 #1316 #1314]: false
+#1320 := [lemma #1318]: #1319
+#1680 := [unit-resolution #1320 #1314]: #934
+#1681 := [unit-resolution #808 #1680 #1679]: #619
+#1682 := (or #811 #788)
+#1683 := [th-lemma]: #1682
+#1684 := [unit-resolution #1683 #1681]: #788
+#1431 := (not #788)
+#1490 := (or #1070 #1489 #571 #1431 #1430 #1434 #85)
+#1409 := 1::int
+#1352 := (div f14 2::int)
+#1405 := (* -1::int #1352)
+#1406 := (+ #865 #1405)
+#1407 := (+ #89 #1406)
+#1408 := (+ f14 #1407)
+#1410 := (>= #1408 1::int)
+#757 := (>= #866 0::int)
+#814 := (mod #935 -2::int)
+#796 := (+ #89 #814)
+#816 := (= #796 0::int)
+#867 := (<= f14 0::int)
+#828 := (not #867)
+#848 := (>= f14 0::int)
+#817 := (not #848)
+#833 := (or #817 #828)
+#797 := (ite #833 #856 #816)
+#847 := (= #89 0::int)
+#853 := (= f14 0::int)
+#789 := (ite #853 #847 #797)
+#44 := (f6 #23 #24)
+#992 := (pattern #44)
+#183 := (mod #125 #128)
+#488 := (+ #44 #183)
+#489 := (= #488 0::int)
+#45 := (mod #23 #24)
+#485 := (* -1::int #45)
+#486 := (+ #44 #485)
+#487 := (= #486 0::int)
+#490 := (ite #434 #487 #489)
+#484 := (= #44 0::int)
+#491 := (ite #27 #484 #490)
+#483 := (= #23 #44)
+#492 := (ite #28 #483 #491)
+#993 := (forall (vars (?v0 int) (?v1 int)) (:pat #992) #492)
+#495 := (forall (vars (?v0 int) (?v1 int)) #492)
+#996 := (iff #495 #993)
+#994 := (iff #492 #492)
+#995 := [refl]: #994
+#997 := [quant-intro #995]: #996
+#189 := (* -1::int #183)
+#452 := (ite #434 #45 #189)
+#455 := (ite #27 0::int #452)
+#458 := (ite #28 #23 #455)
+#461 := (= #44 #458)
+#464 := (forall (vars (?v0 int) (?v1 int)) #461)
+#496 := (iff #464 #495)
+#493 := (iff #461 #492)
+#494 := [rewrite]: #493
+#497 := [quant-intro #494]: #496
+#209 := (ite #164 #45 #189)
+#212 := (ite #27 0::int #209)
+#215 := (ite #28 #23 #212)
+#218 := (= #44 #215)
+#221 := (forall (vars (?v0 int) (?v1 int)) #218)
+#465 := (iff #221 #464)
+#462 := (iff #218 #461)
+#459 := (= #215 #458)
+#456 := (= #212 #455)
+#453 := (= #209 #452)
+#454 := [monotonicity #438]: #453
+#457 := [monotonicity #454]: #456
+#460 := [monotonicity #457]: #459
+#463 := [monotonicity #460]: #462
+#466 := [quant-intro #463]: #465
+#384 := (~ #221 #221)
+#409 := (~ #218 #218)
+#410 := [refl]: #409
+#385 := [nnf-pos #410]: #384
+#46 := (mod #37 #38)
+#47 := (- #46)
+#48 := (ite #35 #45 #47)
+#49 := (ite #27 0::int #48)
+#50 := (ite #28 #23 #49)
+#51 := (= #44 #50)
+#52 := (forall (vars (?v0 int) (?v1 int)) #51)
+#224 := (iff #52 #221)
+#194 := (ite #121 #45 #189)
+#197 := (ite #27 0::int #194)
+#200 := (ite #28 #23 #197)
+#203 := (= #44 #200)
+#206 := (forall (vars (?v0 int) (?v1 int)) #203)
+#222 := (iff #206 #221)
+#219 := (iff #203 #218)
+#216 := (= #200 #215)
+#213 := (= #197 #212)
+#210 := (= #194 #209)
+#211 := [monotonicity #166]: #210
+#214 := [monotonicity #211]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#223 := [quant-intro #220]: #222
+#207 := (iff #52 #206)
+#204 := (iff #51 #203)
+#201 := (= #50 #200)
+#198 := (= #49 #197)
+#195 := (= #48 #194)
+#192 := (= #47 #189)
+#186 := (- #183)
+#190 := (= #186 #189)
+#191 := [rewrite]: #190
+#187 := (= #47 #186)
+#184 := (= #46 #183)
+#185 := [monotonicity #127 #130]: #184
+#188 := [monotonicity #185]: #187
+#193 := [trans #188 #191]: #192
+#196 := [monotonicity #123 #193]: #195
+#199 := [monotonicity #196]: #198
+#202 := [monotonicity #199]: #201
+#205 := [monotonicity #202]: #204
+#208 := [quant-intro #205]: #207
+#225 := [trans #208 #223]: #224
+#182 := [asserted]: #52
+#226 := [mp #182 #225]: #221
+#411 := [mp~ #226 #385]: #221
+#467 := [mp #411 #466]: #464
+#498 := [mp #467 #497]: #495
+#998 := [mp #498 #997]: #993
+#769 := (not #993)
+#774 := (or #769 #789)
+#861 := (mod #935 #632)
+#862 := (+ #89 #861)
+#863 := (= #862 0::int)
+#845 := (or #867 #624)
+#846 := (not #845)
+#849 := (or #624 #848)
+#850 := (not #849)
+#851 := (or #850 #846)
+#852 := (ite #851 #856 #863)
+#839 := (ite #853 #847 #852)
+#835 := (= f14 #89)
+#836 := (ite #947 #835 #839)
+#775 := (or #769 #836)
+#777 := (iff #775 #774)
+#779 := (iff #774 #774)
+#780 := [rewrite]: #779
+#813 := (iff #836 #789)
+#800 := (ite false #835 #789)
+#812 := (iff #800 #789)
+#792 := [rewrite]: #812
+#801 := (iff #836 #800)
+#791 := (iff #839 #789)
+#756 := (iff #852 #797)
+#822 := (iff #863 #816)
+#820 := (= #862 #796)
+#760 := (= #861 #814)
+#815 := [monotonicity #927]: #760
+#821 := [monotonicity #815]: #820
+#790 := [monotonicity #821]: #822
+#829 := (iff #851 #833)
+#831 := (iff #846 #828)
+#826 := (iff #845 #867)
+#712 := (or #867 false)
+#825 := (iff #712 #867)
+#830 := [rewrite]: #825
+#823 := (iff #845 #712)
+#824 := [monotonicity #957]: #823
+#827 := [trans #824 #830]: #826
+#832 := [monotonicity #827]: #831
+#818 := (iff #850 #817)
+#838 := (iff #849 #848)
+#837 := (or false #848)
+#842 := (iff #837 #848)
+#843 := [rewrite]: #842
+#840 := (iff #849 #837)
+#841 := [monotonicity #957]: #840
+#844 := [trans #841 #843]: #838
+#819 := [monotonicity #844]: #818
+#834 := [monotonicity #819 #832]: #829
+#787 := [monotonicity #834 #790]: #756
+#798 := [monotonicity #787]: #791
+#802 := [monotonicity #946 #798]: #801
+#768 := [trans #802 #792]: #813
+#778 := [monotonicity #768]: #777
+#781 := [trans #778 #780]: #777
+#776 := [quant-inst]: #775
+#782 := [mp #776 #781]: #774
+#1452 := [unit-resolution #782 #998]: #789
+#742 := (not #853)
+#1461 := (iff #962 #742)
+#1459 := (iff #85 #853)
+#1454 := (= 0::int f14)
+#1457 := (iff #1454 #853)
+#1458 := [commutativity]: #1457
+#1455 := (iff #85 #1454)
+#560 := (= #83 0::int)
+#1122 := (not #1070)
+#1336 := [hypothesis]: #1122
+#1348 := (or #560 #1070)
+#575 := (* -1::int #83)
+#1075 := (mod #575 -2::int)
+#1078 := (+ #876 #1075)
+#1081 := (= #1078 0::int)
+#568 := (>= #83 0::int)
+#1041 := (not #568)
+#563 := (<= #83 0::int)
+#1051 := (not #563)
+#1057 := (or #1051 #1041)
+#1084 := (ite #1057 #1070 #1081)
+#559 := (= #876 0::int)
+#1087 := (ite #560 #559 #1084)
+#1097 := (or #769 #1087)
+#576 := (mod #575 #632)
+#579 := (+ #876 #576)
+#580 := (= #579 0::int)
+#573 := (* -1::int #581)
+#582 := (+ #876 #573)
+#566 := (= #582 0::int)
+#564 := (or #563 #624)
+#567 := (not #564)
+#569 := (or #624 #568)
+#565 := (not #569)
+#570 := (or #565 #567)
+#557 := (ite #570 #566 #580)
+#558 := (ite #560 #559 #557)
+#561 := (= #83 #876)
+#1033 := (ite #947 #561 #558)
+#1098 := (or #769 #1033)
+#1100 := (iff #1098 #1097)
+#1102 := (iff #1097 #1097)
+#1103 := [rewrite]: #1102
+#1095 := (iff #1033 #1087)
+#1090 := (ite false #561 #1087)
+#1093 := (iff #1090 #1087)
+#1094 := [rewrite]: #1093
+#1091 := (iff #1033 #1090)
+#1088 := (iff #558 #1087)
+#1085 := (iff #557 #1084)
+#1082 := (iff #580 #1081)
+#1079 := (= #579 #1078)
+#1076 := (= #576 #1075)
+#1077 := [monotonicity #927]: #1076
+#1080 := [monotonicity #1077]: #1079
+#1083 := [monotonicity #1080]: #1082
+#1073 := (iff #566 #1070)
+#1062 := (+ #573 #876)
+#1065 := (= #1062 0::int)
+#1071 := (iff #1065 #1070)
+#1072 := [rewrite]: #1071
+#1066 := (iff #566 #1065)
+#1063 := (= #582 #1062)
+#1064 := [rewrite]: #1063
+#1067 := [monotonicity #1064]: #1066
+#1074 := [trans #1067 #1072]: #1073
+#1060 := (iff #570 #1057)
+#1054 := (or #1041 #1051)
+#1058 := (iff #1054 #1057)
+#1059 := [rewrite]: #1058
+#1055 := (iff #570 #1054)
+#1052 := (iff #567 #1051)
+#1049 := (iff #564 #563)
+#1044 := (or #563 false)
+#1047 := (iff #1044 #563)
+#1048 := [rewrite]: #1047
+#1045 := (iff #564 #1044)
+#1046 := [monotonicity #957]: #1045
+#1050 := [trans #1046 #1048]: #1049
+#1053 := [monotonicity #1050]: #1052
+#1042 := (iff #565 #1041)
+#1039 := (iff #569 #568)
+#1034 := (or false #568)
+#1037 := (iff #1034 #568)
+#1038 := [rewrite]: #1037
+#1035 := (iff #569 #1034)
+#1036 := [monotonicity #957]: #1035
+#1040 := [trans #1036 #1038]: #1039
+#1043 := [monotonicity #1040]: #1042
+#1056 := [monotonicity #1043 #1053]: #1055
+#1061 := [trans #1056 #1059]: #1060
+#1086 := [monotonicity #1061 #1074 #1083]: #1085
+#1089 := [monotonicity #1086]: #1088
+#1092 := [monotonicity #946 #1089]: #1091
+#1096 := [trans #1092 #1094]: #1095
+#1101 := [monotonicity #1096]: #1100
+#1104 := [trans #1101 #1103]: #1100
+#1099 := [quant-inst]: #1098
+#1105 := [mp #1099 #1104]: #1097
+#1339 := [unit-resolution #1105 #998]: #1087
+#1129 := (not #560)
+#1331 := [hypothesis]: #1129
+#1128 := (not #1087)
+#1132 := (or #1128 #560 #1084)
+#1133 := [def-axiom]: #1132
+#1332 := [unit-resolution #1133 #1331 #1339]: #1084
+#1345 := (or #563 #1070)
+#1337 := [hypothesis]: #1051
+#1106 := (or #1057 #563)
+#1107 := [def-axiom]: #1106
+#1338 := [unit-resolution #1107 #1337]: #1057
+#1340 := (or #1129 #563)
+#1341 := [th-lemma]: #1340
+#1342 := [unit-resolution #1341 #1337]: #1129
+#1343 := [unit-resolution #1133 #1342 #1339]: #1084
+#1110 := (not #1057)
+#1117 := (not #1084)
+#1118 := (or #1117 #1110 #1070)
+#1119 := [def-axiom]: #1118
+#1344 := [unit-resolution #1119 #1343 #1338 #1336]: false
+#1346 := [lemma #1344]: #1345
+#1333 := [unit-resolution #1346 #1336]: #563
+#1334 := (or #560 #1051 #1041)
+#1335 := [th-lemma]: #1334
+#1329 := [unit-resolution #1335 #1331 #1333]: #1041
+#1108 := (or #1057 #568)
+#1109 := [def-axiom]: #1108
+#1330 := [unit-resolution #1109 #1329]: #1057
+#1347 := [unit-resolution #1119 #1330 #1332 #1336]: false
+#1349 := [lemma #1347]: #1348
+#1447 := [unit-resolution #1349 #1336]: #560
+#1456 := [monotonicity #1447]: #1455
+#1460 := [trans #1456 #1458]: #1459
+#1462 := [monotonicity #1460]: #1461
+#1463 := [mp #1453 #1462]: #742
+#740 := (not #789)
+#587 := (or #740 #853 #797)
+#745 := [def-axiom]: #587
+#1464 := [unit-resolution #745 #1463 #1452]: #797
+#1465 := (or #1129 #568)
+#1466 := [th-lemma]: #1465
+#1467 := [unit-resolution #1466 #1447]: #568
+#1468 := (or #828 #1041 #571)
+#1469 := [th-lemma]: #1468
+#1470 := [unit-resolution #1469 #1467 #1441]: #828
+#785 := (or #833 #867)
+#770 := [def-axiom]: #785
+#1471 := [unit-resolution #770 #1470]: #833
+#786 := (not #833)
+#761 := (not #797)
+#762 := (or #761 #786 #856)
+#763 := [def-axiom]: #762
+#1472 := [unit-resolution #763 #1471 #1464]: #856
+#1477 := (or #766 #757)
+#1478 := [th-lemma]: #1477
+#1479 := [unit-resolution #1478 #1472]: #757
+#1351 := (>= #876 0::int)
+#1130 := (or #1128 #1129 #559)
+#1131 := [def-axiom]: #1130
+#1448 := [unit-resolution #1131 #1447 #1339]: #559
+#1134 := (not #559)
+#1481 := (or #1134 #1351)
+#1482 := [th-lemma]: #1481
+#1483 := [unit-resolution #1482 #1448]: #1351
+#1365 := (* -2::int #1352)
+#1366 := (+ #865 #1365)
+#1367 := (+ f14 #1366)
+#1373 := (>= #1367 0::int)
+#1364 := (= #1367 0::int)
+#1404 := (or false #1364)
+#1411 := [th-lemma]: #1404
+#1412 := [unit-resolution #1411 #113]: #1364
+#1413 := (not #1364)
+#1484 := (or #1413 #1373)
+#1485 := [th-lemma]: #1484
+#1486 := [unit-resolution #1485 #1412]: #1373
+#1487 := [th-lemma #1486 #1483 #1480 #1467 #1441 #1479]: #1410
+#1429 := (not #1410)
+#1350 := (<= #876 0::int)
+#1449 := (or #1134 #1350)
+#1450 := [th-lemma]: #1449
+#1451 := [unit-resolution #1450 #1448]: #1350
+#755 := (<= #866 0::int)
+#1473 := (or #766 #755)
+#1474 := [th-lemma]: #1473
+#1475 := [unit-resolution #1474 #1472]: #755
+#1420 := [hypothesis]: #788
+#1433 := (not #1350)
+#1432 := (not #755)
+#1435 := (or #1429 #1430 #1431 #1051 #1432 #1433 #1434)
+#1252 := (>= #1202 2::int)
+#1253 := (not #1252)
+#1399 := (or false #1253)
+#1400 := [th-lemma]: #1399
+#1401 := [unit-resolution #1400 #113]: #1253
+#1403 := [hypothesis]: #1350
+#1372 := (<= #1367 0::int)
+#1414 := (or #1413 #1372)
+#1415 := [th-lemma]: #1414
+#1416 := [unit-resolution #1415 #1412]: #1372
+#1417 := [hypothesis]: #755
+#1418 := [hypothesis]: #563
+#1419 := [hypothesis]: #1410
+#882 := (>= #891 0::int)
+#1422 := (or #1272 #882)
+#1423 := [th-lemma]: #1422
+#1424 := [unit-resolution #1423 #1271]: #882
+#1321 := (<= #1217 0::int)
+#1425 := (or #1281 #1321)
+#1426 := [th-lemma]: #1425
+#1427 := [unit-resolution #1426 #1280]: #1321
+#1428 := [th-lemma #1427 #1424 #1421 #1420 #1419 #1418 #1417 #1416 #1403 #1402 #1401]: false
+#1436 := [lemma #1428]: #1435
+#1476 := [unit-resolution #1436 #1333 #1420 #1421 #1475 #1451 #1402]: #1429
+#1488 := [unit-resolution #1476 #1487]: false
+#1491 := [lemma #1488]: #1490
+#1685 := [unit-resolution #1491 #1684 #1441 #1480 #1421 #1402 #1453]: #1070
+#1686 := (or #1122 #1113)
+#1687 := [th-lemma]: #1686
+#1688 := [unit-resolution #1687 #1685]: #1113
+#1114 := (>= #1069 0::int)
+#1689 := (or #1122 #1114)
+#1690 := [th-lemma]: #1689
+#1691 := [unit-resolution #1690 #1685]: #1114
+#1552 := (not #1113)
+#1578 := (not #1114)
+#1598 := (or #766 #571 #1578 #1489 #1431 #1430 #1552 #1434)
+#1386 := (div #83 2::int)
+#1567 := (* -1::int #1386)
+#1568 := (+ #1405 #1567)
+#1569 := (+ #1068 #1568)
+#1570 := (+ #865 #1569)
+#1571 := (+ #89 #1570)
+#1572 := (+ f14 #1571)
+#1594 := (>= #1572 1::int)
+#1564 := [hypothesis]: #1114
+#1493 := (* -2::int #1386)
+#1494 := (+ #573 #1493)
+#1495 := (+ #83 #1494)
+#1501 := (>= #1495 0::int)
+#1492 := (= #1495 0::int)
+#1540 := (or false #1492)
+#1541 := [th-lemma]: #1540
+#1542 := [unit-resolution #1541 #113]: #1492
+#1543 := (not #1492)
+#1565 := (or #1543 #1501)
+#1566 := [th-lemma]: #1565
+#1575 := [unit-resolution #1566 #1542]: #1501
+#1591 := [hypothesis]: #856
+#1595 := [unit-resolution #1478 #1591]: #757
+#1596 := [th-lemma #1441 #1595 #1575 #1564 #1486 #1480]: #1594
+#1587 := (not #1594)
+#1539 := [hypothesis]: #1113
+#1592 := [unit-resolution #1474 #1591]: #755
+#1588 := (or #1587 #1430 #1431 #1432 #1552 #1434)
+#1500 := (<= #1495 0::int)
+#1544 := (or #1543 #1500)
+#1545 := [th-lemma]: #1544
+#1546 := [unit-resolution #1545 #1542]: #1500
+#1585 := [hypothesis]: #1594
+#1586 := [th-lemma #1427 #1424 #1421 #1420 #1585 #1417 #1546 #1539 #1416 #1402 #1401]: false
+#1589 := [lemma #1586]: #1588
+#1593 := [unit-resolution #1589 #1592 #1420 #1421 #1539 #1402]: #1587
+#1597 := [unit-resolution #1593 #1596]: false
+#1599 := [lemma #1597]: #1598
+#1692 := [unit-resolution #1599 #1691 #1441 #1480 #1684 #1421 #1688 #1402]: #766
+#1633 := [hypothesis]: #586
+#1522 := (or #867 #856)
+#1514 := [hypothesis]: #766
+#1515 := [hypothesis]: #828
+#1516 := [unit-resolution #770 #1515]: #833
+#1517 := (or #742 #867)
+#1518 := [th-lemma]: #1517
+#1519 := [unit-resolution #1518 #1515]: #742
+#1520 := [unit-resolution #745 #1519 #1452]: #797
+#1521 := [unit-resolution #763 #1520 #1516 #1514]: false
+#1523 := [lemma #1521]: #1522
+#1693 := [unit-resolution #1523 #1692]: #867
+#1677 := (or #742 #828 #902 #1636 #1430 #1431 #571)
+#736 := (mod #87 2::int)
+#724 := (* -1::int #736)
+#727 := (+ #88 #724)
+#729 := (= #727 0::int)
+#613 := (not #729)
+#629 := (>= #727 0::int)
+#1637 := (not #629)
+#1528 := (<= #89 0::int)
+#1617 := [hypothesis]: #853
+#743 := (or #740 #742 #847)
+#744 := [def-axiom]: #743
+#1618 := [unit-resolution #744 #1617 #1452]: #847
+#741 := (not #847)
+#1619 := (or #741 #1528)
+#1613 := [th-lemma]: #1619
+#1614 := [unit-resolution #1613 #1618]: #1528
+#1622 := (+ #736 #1214)
+#1624 := (>= #1622 0::int)
+#1621 := [hypothesis]: #867
+#1615 := (or #742 #848)
+#1616 := [th-lemma]: #1615
+#1644 := [unit-resolution #1616 #1617]: #848
+#1657 := (or #1624 #817 #828)
+#1643 := (= #736 #1202)
+#1649 := (= #1202 #736)
+#1647 := (= #1201 #87)
+#1645 := (= #87 #1201)
+#1607 := [hypothesis]: #848
+#1646 := [th-lemma #1607 #1621]: #1645
+#1648 := [symm #1646]: #1647
+#1650 := [monotonicity #1648]: #1649
+#1651 := [symm #1650]: #1643
+#1635 := (not #1624)
+#1652 := [hypothesis]: #1635
+#1653 := (not #1643)
+#1654 := (or #1653 #1624)
+#1655 := [th-lemma]: #1654
+#1656 := [unit-resolution #1655 #1652 #1651]: false
+#1658 := [lemma #1656]: #1657
+#1659 := [unit-resolution #1658 #1644 #1621]: #1624
+#1638 := (not #1528)
+#1639 := (or #1635 #1636 #1637 #1638 #1430 #1431 #571)
+#1630 := [hypothesis]: #1624
+#1631 := [hypothesis]: #1528
+#1632 := [hypothesis]: #629
+#1634 := [th-lemma #1633 #1632 #1631 #1427 #1424 #1421 #1420 #1441 #1630]: false
+#1640 := [lemma #1634]: #1639
+#1660 := [unit-resolution #1640 #1659 #1633 #1614 #1421 #1420 #1441]: #1637
+#1661 := (or #613 #629)
+#1662 := [th-lemma]: #1661
+#1663 := [unit-resolution #1662 #1660]: #613
+#730 := (<= #87 0::int)
+#703 := (not #730)
+#721 := (>= #87 0::int)
+#692 := (not #721)
+#705 := (or #692 #703)
+#1664 := [hypothesis]: #934
+#1605 := (or #730 #729)
+#1532 := [hypothesis]: #613
+#1583 := [hypothesis]: #703
+#622 := (or #705 #730)
+#635 := [def-axiom]: #622
+#1584 := [unit-resolution #635 #1583]: #705
+#685 := (mod #351 -2::int)
+#688 := (+ #88 #685)
+#683 := (= #688 0::int)
+#677 := (ite #705 #729 #683)
+#718 := (= #88 0::int)
+#722 := (= #87 0::int)
+#679 := (ite #722 #718 #677)
+#656 := (or #769 #679)
+#734 := (mod #351 #632)
+#735 := (+ #88 #734)
+#733 := (= #735 0::int)
+#726 := (or #730 #624)
+#731 := (not #726)
+#711 := (or #624 #721)
+#713 := (not #711)
+#714 := (or #713 #731)
+#717 := (ite #714 #729 #733)
+#715 := (ite #722 #718 #717)
+#723 := (= #87 #88)
+#716 := (ite #947 #723 #715)
+#657 := (or #769 #716)
+#650 := (iff #657 #656)
+#660 := (iff #656 #656)
+#651 := [rewrite]: #660
+#665 := (iff #716 #679)
+#671 := (ite false #723 #679)
+#673 := (iff #671 #679)
+#674 := [rewrite]: #673
+#672 := (iff #716 #671)
+#681 := (iff #715 #679)
+#678 := (iff #717 #677)
+#691 := (iff #733 #683)
+#689 := (= #735 #688)
+#686 := (= #734 #685)
+#687 := [monotonicity #927]: #686
+#690 := [monotonicity #687]: #689
+#676 := [monotonicity #690]: #691
+#682 := (iff #714 #705)
+#704 := (iff #731 #703)
+#701 := (iff #726 #730)
+#696 := (or #730 false)
+#699 := (iff #696 #730)
+#700 := [rewrite]: #699
+#697 := (iff #726 #696)
+#698 := [monotonicity #957]: #697
+#702 := [trans #698 #700]: #701
+#693 := [monotonicity #702]: #704
+#694 := (iff #713 #692)
+#707 := (iff #711 #721)
+#719 := (or false #721)
+#708 := (iff #719 #721)
+#709 := [rewrite]: #708
+#720 := (iff #711 #719)
+#706 := [monotonicity #957]: #720
+#710 := [trans #706 #709]: #707
+#695 := [monotonicity #710]: #694
+#684 := [monotonicity #695 #693]: #682
+#680 := [monotonicity #684 #676]: #678
+#670 := [monotonicity #680]: #681
+#664 := [monotonicity #946 #670]: #672
+#675 := [trans #664 #674]: #665
+#659 := [monotonicity #675]: #650
+#661 := [trans #659 #651]: #650
+#658 := [quant-inst]: #657
+#628 := [mp #658 #661]: #656
+#1590 := [unit-resolution #628 #998]: #679
+#599 := (not #722)
+#1600 := (or #599 #730)
+#1601 := [th-lemma]: #1600
+#1602 := [unit-resolution #1601 #1583]: #599
+#618 := (not #679)
+#600 := (or #618 #722 #677)
+#603 := [def-axiom]: #600
+#1603 := [unit-resolution #603 #1602 #1590]: #677
+#636 := (not #705)
+#625 := (not #677)
+#626 := (or #625 #636 #729)
+#605 := [def-axiom]: #626
+#1604 := [unit-resolution #605 #1603 #1584 #1532]: false
+#1606 := [lemma #1604]: #1605
+#1665 := [unit-resolution #1606 #1663]: #730
+#1611 := (or #703 #604 #817)
+#1608 := [hypothesis]: #730
+#1609 := [hypothesis]: #939
+#1610 := [th-lemma #1609 #1608 #1607]: false
+#1612 := [lemma #1610]: #1611
+#1666 := [unit-resolution #1612 #1665 #1644]: #604
+#804 := (or #902 #939 #654)
+#899 := [def-axiom]: #804
+#1667 := [unit-resolution #899 #1666 #1664]: #654
+#1668 := (or #692 #828 #960)
+#1669 := [th-lemma]: #1668
+#1670 := [unit-resolution #1669 #1667 #1621]: #692
+#630 := (or #705 #721)
+#631 := [def-axiom]: #630
+#1671 := [unit-resolution #631 #1670]: #705
+#1672 := (or #599 #721)
+#1673 := [th-lemma]: #1672
+#1674 := [unit-resolution #1673 #1670]: #599
+#1675 := [unit-resolution #603 #1674 #1590]: #677
+#1676 := [unit-resolution #605 #1675 #1671 #1663]: false
+#1678 := [lemma #1676]: #1677
+#1694 := [unit-resolution #1678 #1693 #1680 #1633 #1421 #1684 #1441]: #742
+#1695 := [unit-resolution #745 #1694 #1452]: #797
+#1696 := (or #853 #828 #817)
+#1697 := [th-lemma]: #1696
+#1698 := [unit-resolution #1697 #1694 #1693]: #817
+#783 := (or #833 #848)
+#784 := [def-axiom]: #783
+#1699 := [unit-resolution #784 #1698]: #833
+#1700 := [unit-resolution #763 #1699 #1695 #1692]: false
+#1702 := [lemma #1700]: #1701
+#1727 := [unit-resolution #1702 #1726 #1723 #1720 #1710 #1707 #1524]: #948
+#1728 := [unit-resolution #895 #1727 #1195]: #611
+#1729 := (or #893 #1324)
+#1730 := [th-lemma]: #1729
+#1731 := [unit-resolution #1730 #1728]: #1324
+#1732 := (or #883 #960)
+#1733 := [th-lemma]: #1732
+#1734 := [unit-resolution #1733 #1727]: #960
+#1735 := [th-lemma #1723 #1424 #1720 #1734 #1731]: false
+#1736 := [lemma #1735]: #368
+#648 := (or #85 #634)
+#647 := (or #85 #634 #574)
+#644 := [def-axiom]: #647
+#627 := [unit-resolution #644 #378]: #648
+#1737 := [unit-resolution #627 #1736]: #85
+#1763 := [monotonicity #1737]: #616
+#1764 := [trans #1526 #1763]: #90
+#1748 := [hypothesis]: #361
+#1754 := (or #811 #358)
+#640 := (or #962 #571)
+#623 := [th-lemma]: #640
+#588 := [unit-resolution #623 #1737]: #571
+#1115 := [hypothesis]: #619
+#1116 := [unit-resolution #1303 #1115]: #903
+#1327 := (not #1222)
+#1326 := (not #1246)
+#1325 := (not #877)
+#1328 := (or #578 #1325 #1291 #1326 #1327 #1440)
+#1527 := [th-lemma]: #1328
+#1745 := [unit-resolution #1527 #1116 #588 #1284 #1275 #1287]: #578
+#1746 := [unit-resolution #1683 #1115]: #788
+#1743 := (or #577 #1431)
+#1738 := (or #962 #589)
+#1739 := [th-lemma]: #1738
+#1740 := [unit-resolution #1739 #1737]: #589
+#1741 := [hypothesis]: #1292
+#1742 := [th-lemma #1741 #1424 #1420 #1427 #1740 #1401]: false
+#1744 := [lemma #1742]: #1743
+#1747 := [unit-resolution #1744 #1746]: #577
+#1751 := (or #1292 #1430)
+#1749 := (or #358 #1292 #1430)
+#1750 := [th-lemma]: #1749
+#1752 := [unit-resolution #1750 #1748]: #1751
+#1753 := [unit-resolution #1752 #1747 #1745]: false
+#1755 := [lemma #1753]: #1754
+#1135 := [unit-resolution #1755 #1748]: #811
+#759 := (or #948 #619)
+#1260 := [hypothesis]: #811
+#758 := [unit-resolution #808 #1679 #1680 #1260]: false
+#639 := [lemma #758]: #759
+#1136 := [unit-resolution #639 #1135]: #948
+#1137 := [unit-resolution #895 #1136 #1195]: #611
+#805 := [unit-resolution #1192 #1137]: #1193
+#806 := [unit-resolution #1296 #1136]: #604
+#1126 := (not #1193)
+#1127 := (or #578 #939 #1126 #1325 #1440)
+#1124 := [th-lemma]: #1127
+#1125 := [unit-resolution #1124 #806 #588 #805 #1275]: #578
+#1138 := [unit-resolution #1730 #1137]: #1324
+#803 := [unit-resolution #1733 #1136]: #960
+#1757 := (not #882)
+#1756 := (not #1324)
+#1758 := (or #577 #654 #1756 #1757 #1276)
+#1759 := [th-lemma]: #1758
+#1760 := [unit-resolution #1759 #803 #1740 #1424 #1138]: #577
+#1761 := [unit-resolution #1752 #1760 #1125]: false
+#1762 := [lemma #1761]: #358
+#645 := (or #634 #367 #361)
+#646 := [def-axiom]: #645
+#638 := [unit-resolution #646 #1736]: #368
+#615 := [unit-resolution #638 #1762]: #367
+[unit-resolution #615 #1764]: false
+unsat
+5234c113c47a34efd714baca9777f6d9bb4fe31e 76 0
 #2 := false
 decl f3 :: (-> int S1)
 #12 := (:var 0 int)
@@ -12794,7 +15714,7 @@
 #689 := [quant-inst]: #688
 [unit-resolution #689 #158 #1022]: false
 unsat
-b611bff85387673a495359caee35c17082ebae1e 478 0
+b9f47e2d664572f569f3105a25d0e77e894b5cdd 478 0
 #2 := false
 decl f7 :: (-> S4 S2)
 decl f8 :: (-> S1 S4)
--- a/src/HOL/SMT_Examples/SMT_Examples.thy	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.thy	Fri May 28 17:00:38 2010 +0200
@@ -335,11 +335,9 @@
 
 lemma "let P = 2 * x + 1 > x + (x::real) in P \<or> False \<or> P" by smt
 
-lemma "x + (let y = x mod 2 in 2 * y + 1) \<ge> x + (1::int)"
-  sorry (* FIXME: div/mod *)
+lemma "x + (let y = x mod 2 in 2 * y + 1) \<ge> x + (1::int)" by smt
 
-lemma "x + (let y = x mod 2 in y + y) < x + (3::int)"
-  sorry (* FIXME: div/mod *)
+lemma "x + (let y = x mod 2 in y + y) < x + (3::int)" by smt
 
 lemma
   assumes "x \<noteq> (0::real)"
@@ -349,7 +347,8 @@
 lemma                                                                         
   assumes "(n + m) mod 2 = 0" and "n mod 4 = 3"                               
   shows "n mod 2 = 1 & m mod 2 = (1::int)"      
-  using assms sorry (* FIXME: div/mod *)
+  using assms by smt
+
 
 
 subsection {* Linear arithmetic with quantifiers *}
@@ -484,10 +483,7 @@
    (eval_dioph ks (map (\<lambda>x. x mod 2) xs) mod 2 = l mod 2 \<and>
     eval_dioph ks (map (\<lambda>x. x div 2) xs) =
       (l - eval_dioph ks (map (\<lambda>x. x mod 2) xs)) div 2)"
-  sorry (* FIXME: div/mod *)
-(*
   by (smt eval_dioph_mod[where n=2] eval_dioph_div_mult[where n=2])
-*)
 
 
 section {* Monomorphization examples *}
--- a/src/HOL/SMT_Examples/SMT_Tests.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Tests.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,4 +1,4 @@
-d296070a9a1ad4678f3ec56cd19a634e50fd638a 8 0
+ef3118b3c538f5cd123d726ccf13a3c2d3725bb0 8 0
 #2 := false
 #1 := true
 #8 := (not true)
@@ -7,7 +7,7 @@
 #25 := [asserted]: #8
 [mp #25 #27]: false
 unsat
-5a2fbe7eaa720a0d1634e4c8ad246283132e9cb9 16 0
+300ac981df663a0c38577b3d315e53c71dd0988e 16 0
 #2 := false
 #8 := (not false)
 #9 := (not #8)
@@ -24,7 +24,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-1818aabb2eeb93cf072a1c54b65c5fbc8da59afb 21 0
+0b184a84ce871fe108c2b5dce0e6482dd3c0450a 21 0
 #2 := false
 #1 := true
 #8 := (not true)
@@ -46,7 +46,7 @@
 #27 := [asserted]: #10
 [mp #27 #40]: false
 unsat
-d3b6081bc1c34a0421e641acff757eaaefbf5bdf 16 0
+9acfa8385beeafd8546dddb4d92b4b4b9a1a0bd8 16 0
 #2 := false
 #1 := true
 #8 := (and true true)
@@ -63,7 +63,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-3c555028924c0617a48e7816899f81fd171e8cc6 16 0
+d35ed39a7bb1024906bec1f4afa8168bb568efe7 16 0
 #2 := false
 #1 := true
 #8 := (or true false)
@@ -80,7 +80,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-acdb6c4646d2fb215f71d2ce5c6780077ae4ef74 16 0
+a3266a8f006b3750ff4748b6a1a76e7bde92780d 16 0
 #2 := false
 #1 := true
 #8 := (implies false true)
@@ -97,7 +97,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-32bb24b231f8ef17d3b0def6817d84cc062a6d75 33 0
+b59b2f429ffd47c407e4ef1af006540275b1a26c 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -131,7 +131,7 @@
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-ae7e7a13c311c9f3e926d7f4a9307c3954711112 41 0
+3115e8e7b694b406a07c11043a6921a0dba8d5ea 41 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -173,7 +173,157 @@
 #30 := [asserted]: #13
 [mp #30 #57]: false
 unsat
-07720e913d13e1bf2c9278ea9348b2924d764925 65 0
+e3d163795277d672f4f54561a9fed7fa5b707b37 149 0
+#2 := false
+decl f5 :: S1
+#12 := f5
+decl f1 :: S1
+#4 := f1
+#44 := (= f1 f5)
+decl f4 :: S1
+#10 := f4
+#41 := (= f1 f4)
+decl f3 :: S1
+#8 := f3
+#38 := (= f1 f3)
+#47 := (ite #38 #41 #44)
+#53 := (not #38)
+#54 := (or #53 #41)
+#64 := (or #38 #44)
+#91 := (not #64)
+#90 := (not #54)
+#92 := (or #90 #91)
+#143 := [hypothesis]: #90
+#128 := (or #92 #54)
+#129 := [def-axiom]: #128
+#144 := [unit-resolution #129 #143]: #92
+#78 := (not #47)
+#116 := (or #54 #38)
+#117 := [def-axiom]: #116
+#145 := [unit-resolution #117 #143]: #38
+#110 := (not #41)
+#118 := (or #54 #110)
+#119 := [def-axiom]: #118
+#146 := [unit-resolution #119 #143]: #110
+#106 := (or #78 #53 #41)
+#107 := [def-axiom]: #106
+#147 := [unit-resolution #107 #146 #145]: #78
+#93 := (not #92)
+#137 := (or #47 #93)
+#100 := (iff #47 #92)
+#69 := (and #54 #64)
+#79 := (iff #69 #78)
+#103 := (iff #79 #100)
+#95 := (iff #92 #47)
+#101 := (iff #95 #100)
+#102 := [rewrite]: #101
+#98 := (iff #79 #95)
+#87 := (iff #93 #78)
+#96 := (iff #87 #95)
+#97 := [rewrite]: #96
+#84 := (iff #79 #87)
+#88 := (iff #69 #93)
+#89 := [rewrite]: #88
+#94 := [monotonicity #89]: #84
+#99 := [trans #94 #97]: #98
+#104 := [trans #99 #102]: #103
+#13 := (= f5 f1)
+#9 := (= f3 f1)
+#16 := (not #9)
+#17 := (implies #16 #13)
+#11 := (= f4 f1)
+#15 := (implies #9 #11)
+#18 := (and #15 #17)
+#14 := (ite #9 #11 #13)
+#19 := (iff #14 #18)
+#20 := (not #19)
+#82 := (iff #20 #79)
+#72 := (iff #47 #69)
+#75 := (not #72)
+#80 := (iff #75 #79)
+#81 := [rewrite]: #80
+#76 := (iff #20 #75)
+#73 := (iff #19 #72)
+#70 := (iff #18 #69)
+#67 := (iff #17 #64)
+#61 := (implies #53 #44)
+#65 := (iff #61 #64)
+#66 := [rewrite]: #65
+#62 := (iff #17 #61)
+#45 := (iff #13 #44)
+#46 := [rewrite]: #45
+#59 := (iff #16 #53)
+#39 := (iff #9 #38)
+#40 := [rewrite]: #39
+#60 := [monotonicity #40]: #59
+#63 := [monotonicity #60 #46]: #62
+#68 := [trans #63 #66]: #67
+#57 := (iff #15 #54)
+#50 := (implies #38 #41)
+#55 := (iff #50 #54)
+#56 := [rewrite]: #55
+#51 := (iff #15 #50)
+#42 := (iff #11 #41)
+#43 := [rewrite]: #42
+#52 := [monotonicity #40 #43]: #51
+#58 := [trans #52 #56]: #57
+#71 := [monotonicity #58 #68]: #70
+#48 := (iff #14 #47)
+#49 := [monotonicity #40 #43 #46]: #48
+#74 := [monotonicity #49 #71]: #73
+#77 := [monotonicity #74]: #76
+#83 := [trans #77 #81]: #82
+#37 := [asserted]: #20
+#86 := [mp #37 #83]: #79
+#105 := [mp #86 #104]: #100
+#134 := (not #100)
+#135 := (or #47 #93 #134)
+#136 := [def-axiom]: #135
+#138 := [unit-resolution #136 #105]: #137
+#148 := [unit-resolution #138 #147 #144]: false
+#149 := [lemma #148]: #54
+#150 := [hypothesis]: #78
+#156 := (or #38 #47)
+#151 := [unit-resolution #138 #150]: #93
+#130 := (or #92 #64)
+#131 := [def-axiom]: #130
+#152 := [unit-resolution #131 #151]: #64
+#153 := [hypothesis]: #53
+#113 := (not #44)
+#114 := (or #47 #38 #113)
+#115 := [def-axiom]: #114
+#154 := [unit-resolution #115 #153 #150]: #113
+#126 := (or #91 #38 #44)
+#127 := [def-axiom]: #126
+#155 := [unit-resolution #127 #154 #153 #152]: false
+#157 := [lemma #155]: #156
+#158 := [unit-resolution #157 #150]: #38
+#111 := (or #47 #53 #110)
+#112 := [def-axiom]: #111
+#159 := [unit-resolution #112 #158 #150]: #110
+#120 := (or #90 #53 #41)
+#121 := [def-axiom]: #120
+#160 := [unit-resolution #121 #159 #158 #149]: false
+#161 := [lemma #160]: #47
+#141 := (or #78 #92)
+#139 := (or #78 #92 #134)
+#140 := [def-axiom]: #139
+#142 := [unit-resolution #140 #105]: #141
+#162 := [unit-resolution #142 #161]: #92
+#132 := (or #93 #90 #91)
+#133 := [def-axiom]: #132
+#163 := [unit-resolution #133 #162 #149]: #91
+#122 := (or #64 #53)
+#123 := [def-axiom]: #122
+#164 := [unit-resolution #123 #163]: #53
+#124 := (or #64 #113)
+#125 := [def-axiom]: #124
+#165 := [unit-resolution #125 #163]: #113
+#108 := (or #78 #38 #44)
+#109 := [def-axiom]: #108
+[unit-resolution #109 #165 #164 #161]: false
+unsat
+293682654769f9a30e4727176ece5ebbfa2edbf9 65 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -239,7 +389,74 @@
 #33 := [asserted]: #16
 [mp #33 #81]: false
 unsat
-4613b1a9286522197f6752544018c3ecaea8838a 29 0
+b7f1180181cd52aa741865e3ac17b4d97cf7408a 66 0
+#2 := false
+decl f3 :: S1
+#8 := f3
+decl f1 :: S1
+#4 := f1
+#33 := (= f1 f3)
+#51 := (not #33)
+#87 := [hypothesis]: #33
+decl f4 :: S1
+#10 := f4
+#36 := (= f1 f4)
+#42 := (not #36)
+#43 := (or #33 #42)
+#69 := (or #43 #51)
+#70 := [def-axiom]: #69
+#88 := [unit-resolution #70 #87]: #43
+#67 := (not #43)
+#89 := (or #51 #67)
+#52 := (or #51 #36)
+#57 := (ite #33 #43 #52)
+#60 := (not #57)
+#11 := (= f4 f1)
+#9 := (= f3 f1)
+#13 := (implies #9 #11)
+#12 := (implies #11 #9)
+#14 := (ite #9 #12 #13)
+#15 := (not #14)
+#61 := (iff #15 #60)
+#58 := (iff #14 #57)
+#55 := (iff #13 #52)
+#48 := (implies #33 #36)
+#53 := (iff #48 #52)
+#54 := [rewrite]: #53
+#49 := (iff #13 #48)
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#34 := (iff #9 #33)
+#35 := [rewrite]: #34
+#50 := [monotonicity #35 #38]: #49
+#56 := [trans #50 #54]: #55
+#46 := (iff #12 #43)
+#39 := (implies #36 #33)
+#44 := (iff #39 #43)
+#45 := [rewrite]: #44
+#40 := (iff #12 #39)
+#41 := [monotonicity #38 #35]: #40
+#47 := [trans #41 #45]: #46
+#59 := [monotonicity #35 #47 #56]: #58
+#62 := [monotonicity #59]: #61
+#32 := [asserted]: #15
+#65 := [mp #32 #62]: #60
+#83 := (or #57 #51 #67)
+#84 := [def-axiom]: #83
+#90 := [unit-resolution #84 #65]: #89
+#91 := [unit-resolution #90 #88 #87]: false
+#92 := [lemma #91]: #51
+#63 := (or #52 #33)
+#73 := [def-axiom]: #63
+#93 := [unit-resolution #73 #92]: #52
+#76 := (not #52)
+#94 := (or #33 #76)
+#85 := (or #57 #33 #76)
+#86 := [def-axiom]: #85
+#95 := [unit-resolution #86 #65]: #94
+[unit-resolution #95 #93 #92]: false
+unsat
+001f5ceb25bbdf443b66d76c2d62a655a1155fa7 29 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -269,7 +486,7 @@
 #28 := [asserted]: #11
 [mp #28 #45]: false
 unsat
-280e0943c88a9613c460fbcd9ed182ff9d6c1d83 41 0
+140af760eaf1680b3107622d1bad9733191529ce 41 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -311,7 +528,75 @@
 #30 := [asserted]: #13
 [mp #30 #57]: false
 unsat
-a6b55bc9321a8285602719107ebdeb043021388b 47 0
+4ef549c8b4c07c939a8ccb4f819e8b3925600dc3 67 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f6 :: S1
+#15 := f6
+#16 := (= f6 f1)
+decl f5 :: S1
+#13 := f5
+#14 := (= f5 f1)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#18 := (ite #11 #14 #16)
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#19 := (ite #9 #14 #18)
+#12 := (or #9 #11)
+#17 := (ite #12 #14 #16)
+#20 := (iff #17 #19)
+#21 := (not #20)
+#79 := (iff #21 false)
+#1 := true
+#74 := (not true)
+#77 := (iff #74 false)
+#78 := [rewrite]: #77
+#75 := (iff #21 #74)
+#72 := (iff #20 true)
+#51 := (= f1 f6)
+#48 := (= f1 f5)
+#42 := (= f1 f4)
+#39 := (= f1 f3)
+#45 := (or #39 #42)
+#54 := (ite #45 #48 #51)
+#67 := (iff #54 #54)
+#70 := (iff #67 true)
+#71 := [rewrite]: #70
+#68 := (iff #20 #67)
+#65 := (iff #19 #54)
+#57 := (ite #42 #48 #51)
+#60 := (ite #39 #48 #57)
+#63 := (iff #60 #54)
+#64 := [rewrite]: #63
+#61 := (iff #19 #60)
+#58 := (iff #18 #57)
+#52 := (iff #16 #51)
+#53 := [rewrite]: #52
+#49 := (iff #14 #48)
+#50 := [rewrite]: #49
+#43 := (iff #11 #42)
+#44 := [rewrite]: #43
+#59 := [monotonicity #44 #50 #53]: #58
+#40 := (iff #9 #39)
+#41 := [rewrite]: #40
+#62 := [monotonicity #41 #50 #59]: #61
+#66 := [trans #62 #64]: #65
+#55 := (iff #17 #54)
+#46 := (iff #12 #45)
+#47 := [monotonicity #41 #44]: #46
+#56 := [monotonicity #47 #50 #53]: #55
+#69 := [monotonicity #56 #66]: #68
+#73 := [trans #69 #71]: #72
+#76 := [monotonicity #73]: #75
+#80 := [trans #76 #78]: #79
+#38 := [asserted]: #21
+[mp #38 #80]: false
+unsat
+6e4da81b8f15e2e0630be83dbec8d4ceab075fda 47 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -359,7 +644,75 @@
 #32 := [asserted]: #15
 [mp #32 #62]: false
 unsat
-09a1c146e8c9fb89362c0920e2565ce27aabf746 47 0
+00916919fe29a5b81ca835c8a92b8b60250f42f6 67 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f6 :: S1
+#15 := f6
+#16 := (= f6 f1)
+decl f5 :: S1
+#13 := f5
+#14 := (= f5 f1)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#18 := (ite #11 #14 #16)
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#19 := (ite #9 #18 #16)
+#12 := (and #9 #11)
+#17 := (ite #12 #14 #16)
+#20 := (iff #17 #19)
+#21 := (not #20)
+#79 := (iff #21 false)
+#1 := true
+#74 := (not true)
+#77 := (iff #74 false)
+#78 := [rewrite]: #77
+#75 := (iff #21 #74)
+#72 := (iff #20 true)
+#51 := (= f1 f6)
+#48 := (= f1 f5)
+#42 := (= f1 f4)
+#39 := (= f1 f3)
+#45 := (and #39 #42)
+#54 := (ite #45 #48 #51)
+#67 := (iff #54 #54)
+#70 := (iff #67 true)
+#71 := [rewrite]: #70
+#68 := (iff #20 #67)
+#65 := (iff #19 #54)
+#57 := (ite #42 #48 #51)
+#60 := (ite #39 #57 #51)
+#63 := (iff #60 #54)
+#64 := [rewrite]: #63
+#61 := (iff #19 #60)
+#52 := (iff #16 #51)
+#53 := [rewrite]: #52
+#58 := (iff #18 #57)
+#49 := (iff #14 #48)
+#50 := [rewrite]: #49
+#43 := (iff #11 #42)
+#44 := [rewrite]: #43
+#59 := [monotonicity #44 #50 #53]: #58
+#40 := (iff #9 #39)
+#41 := [rewrite]: #40
+#62 := [monotonicity #41 #59 #53]: #61
+#66 := [trans #62 #64]: #65
+#55 := (iff #17 #54)
+#46 := (iff #12 #45)
+#47 := [monotonicity #41 #44]: #46
+#56 := [monotonicity #47 #50 #53]: #55
+#69 := [monotonicity #56 #66]: #68
+#73 := [trans #69 #71]: #72
+#76 := [monotonicity #73]: #75
+#80 := [trans #76 #78]: #79
+#38 := [asserted]: #21
+[mp #38 #80]: false
+unsat
+d5bc9e39a4bb8116809502fbfd19f3ca0119f9c0 47 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -407,7 +760,194 @@
 #32 := [asserted]: #15
 [mp #32 #62]: false
 unsat
-fdcaeb48c0fe060c788599c1819f3c817e8284ea 55 0
+7d731ec0802cbb5844eb34ccffb568c08f773a66 186 0
+#2 := false
+decl f5 :: S1
+#12 := f5
+decl f1 :: S1
+#4 := f1
+#47 := (= f1 f5)
+decl f3 :: S1
+#8 := f3
+#41 := (= f1 f3)
+#59 := (not #41)
+#76 := (or #59 #47)
+#119 := (not #76)
+decl f4 :: S1
+#10 := f4
+#44 := (= f1 f4)
+#68 := (or #59 #44)
+decl f6 :: S1
+#14 := f6
+#50 := (= f1 f6)
+#84 := (or #59 #50)
+#89 := (ite #68 #76 #84)
+#130 := (not #89)
+#53 := (ite #44 #47 #50)
+#60 := (or #59 #53)
+#112 := (not #44)
+#165 := [hypothesis]: #112
+#172 := (or #60 #44)
+#98 := (not #60)
+#163 := [hypothesis]: #98
+#148 := (or #60 #41)
+#149 := [def-axiom]: #148
+#164 := [unit-resolution #149 #163]: #41
+#124 := (not #50)
+#139 := (not #53)
+#150 := (or #60 #139)
+#151 := [def-axiom]: #150
+#166 := [unit-resolution #151 #163]: #139
+#146 := (or #53 #44 #124)
+#147 := [def-axiom]: #146
+#167 := [unit-resolution #147 #166 #165]: #124
+#157 := (or #89 #60)
+#99 := (iff #89 #98)
+#15 := (= f6 f1)
+#9 := (= f3 f1)
+#20 := (implies #9 #15)
+#13 := (= f5 f1)
+#19 := (implies #9 #13)
+#11 := (= f4 f1)
+#18 := (implies #9 #11)
+#21 := (ite #18 #19 #20)
+#16 := (ite #11 #13 #15)
+#17 := (implies #9 #16)
+#22 := (iff #17 #21)
+#23 := (not #22)
+#102 := (iff #23 #99)
+#92 := (iff #60 #89)
+#95 := (not #92)
+#100 := (iff #95 #99)
+#101 := [rewrite]: #100
+#96 := (iff #23 #95)
+#93 := (iff #22 #92)
+#90 := (iff #21 #89)
+#87 := (iff #20 #84)
+#81 := (implies #41 #50)
+#85 := (iff #81 #84)
+#86 := [rewrite]: #85
+#82 := (iff #20 #81)
+#51 := (iff #15 #50)
+#52 := [rewrite]: #51
+#42 := (iff #9 #41)
+#43 := [rewrite]: #42
+#83 := [monotonicity #43 #52]: #82
+#88 := [trans #83 #86]: #87
+#79 := (iff #19 #76)
+#73 := (implies #41 #47)
+#77 := (iff #73 #76)
+#78 := [rewrite]: #77
+#74 := (iff #19 #73)
+#48 := (iff #13 #47)
+#49 := [rewrite]: #48
+#75 := [monotonicity #43 #49]: #74
+#80 := [trans #75 #78]: #79
+#71 := (iff #18 #68)
+#65 := (implies #41 #44)
+#69 := (iff #65 #68)
+#70 := [rewrite]: #69
+#66 := (iff #18 #65)
+#45 := (iff #11 #44)
+#46 := [rewrite]: #45
+#67 := [monotonicity #43 #46]: #66
+#72 := [trans #67 #70]: #71
+#91 := [monotonicity #72 #80 #88]: #90
+#63 := (iff #17 #60)
+#56 := (implies #41 #53)
+#61 := (iff #56 #60)
+#62 := [rewrite]: #61
+#57 := (iff #17 #56)
+#54 := (iff #16 #53)
+#55 := [monotonicity #46 #49 #52]: #54
+#58 := [monotonicity #43 #55]: #57
+#64 := [trans #58 #62]: #63
+#94 := [monotonicity #64 #91]: #93
+#97 := [monotonicity #94]: #96
+#103 := [trans #97 #101]: #102
+#40 := [asserted]: #23
+#106 := [mp #40 #103]: #99
+#154 := (not #99)
+#155 := (or #89 #60 #154)
+#156 := [def-axiom]: #155
+#158 := [unit-resolution #156 #106]: #157
+#168 := [unit-resolution #158 #163]: #89
+#109 := (not #68)
+#107 := (or #109 #59 #44)
+#104 := [def-axiom]: #107
+#169 := [unit-resolution #104 #164 #165]: #109
+#133 := (or #130 #68 #84)
+#134 := [def-axiom]: #133
+#170 := [unit-resolution #134 #169 #168]: #84
+#127 := (not #84)
+#128 := (or #127 #59 #50)
+#129 := [def-axiom]: #128
+#171 := [unit-resolution #129 #170 #167 #164]: false
+#173 := [lemma #171]: #172
+#176 := [unit-resolution #173 #165]: #60
+#161 := (or #130 #98)
+#159 := (or #130 #98 #154)
+#160 := [def-axiom]: #159
+#162 := [unit-resolution #160 #106]: #161
+#182 := [unit-resolution #162 #176]: #130
+#180 := (or #84 #44)
+#174 := [hypothesis]: #127
+#125 := (or #84 #124)
+#126 := [def-axiom]: #125
+#175 := [unit-resolution #126 #174]: #124
+#122 := (or #84 #41)
+#123 := [def-axiom]: #122
+#177 := [unit-resolution #123 #174]: #41
+#152 := (or #98 #59 #53)
+#153 := [def-axiom]: #152
+#178 := [unit-resolution #153 #177 #176]: #53
+#142 := (or #139 #44 #50)
+#143 := [def-axiom]: #142
+#179 := [unit-resolution #143 #178 #175 #165]: false
+#181 := [lemma #179]: #180
+#183 := [unit-resolution #181 #165]: #84
+#137 := (or #89 #68 #127)
+#138 := [def-axiom]: #137
+#184 := [unit-resolution #138 #183 #182]: #68
+#135 := (or #89 #109 #119)
+#136 := [def-axiom]: #135
+#185 := [unit-resolution #136 #184 #182]: #119
+#186 := [unit-resolution #104 #184 #165]: #59
+#114 := (or #76 #41)
+#115 := [def-axiom]: #114
+#187 := [unit-resolution #115 #186 #185]: false
+#188 := [lemma #187]: #44
+#113 := (or #68 #112)
+#108 := [def-axiom]: #113
+#191 := [unit-resolution #108 #188]: #68
+#189 := [hypothesis]: #59
+#190 := [unit-resolution #149 #189]: #60
+#192 := [unit-resolution #115 #189]: #76
+#193 := [unit-resolution #136 #192 #191]: #89
+#194 := [unit-resolution #162 #193 #190]: false
+#195 := [lemma #194]: #41
+#116 := (not #47)
+#144 := (or #53 #112 #116)
+#145 := [def-axiom]: #144
+#196 := [unit-resolution #145 #166 #188]: #116
+#131 := (or #130 #109 #76)
+#132 := [def-axiom]: #131
+#197 := [unit-resolution #132 #168 #191]: #76
+#120 := (or #119 #59 #47)
+#121 := [def-axiom]: #120
+#198 := [unit-resolution #121 #197 #196 #195]: false
+#199 := [lemma #198]: #60
+#200 := [unit-resolution #162 #199]: #130
+#201 := [unit-resolution #136 #200 #191]: #119
+#202 := [unit-resolution #153 #199 #195]: #53
+#140 := (or #139 #112 #47)
+#141 := [def-axiom]: #140
+#203 := [unit-resolution #141 #202 #188]: #47
+#117 := (or #76 #116)
+#118 := [def-axiom]: #117
+[unit-resolution #118 #203 #201]: false
+unsat
+8f2ba8a450b38e7bdf2f188b8cd61ae5399f3de8 55 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -463,7 +1003,41 @@
 #71 := [and-elim #70]: #33
 [mp #71 #77]: false
 unsat
-909eac5ac94649616c92660c5d2f8b06874b48dc 55 0
+4c5797ba6bf6e1b3bb6b8306b16e65642fb4c91c 33 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#10 := (not #9)
+#11 := (ite #9 #9 #10)
+#12 := (not #11)
+#48 := (iff #12 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (iff #11 true)
+#30 := (= f1 f3)
+#33 := (not #30)
+#36 := (ite #30 #30 #33)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #11 #36)
+#34 := (iff #10 #33)
+#31 := (iff #9 #30)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#38 := [monotonicity #32 #32 #35]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#29 := [asserted]: #12
+[mp #29 #49]: false
+unsat
+97918cca48c9094bd5b3664f47e49327114322de 55 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -519,7 +1093,41 @@
 #33 := [asserted]: #16
 [mp #33 #70]: false
 unsat
-70a5da534a7b49a4247fac1cedcc4b2d2d172e2d 55 0
+9bd9eaea49f2e1ee09a5710de988a261a59b3161 33 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#10 := (not #9)
+#11 := (ite #10 #10 #9)
+#12 := (not #11)
+#48 := (iff #12 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (iff #11 true)
+#30 := (= f1 f3)
+#33 := (not #30)
+#36 := (ite #33 #33 #30)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #11 #36)
+#31 := (iff #9 #30)
+#32 := [rewrite]: #31
+#34 := (iff #10 #33)
+#35 := [monotonicity #32]: #34
+#38 := [monotonicity #35 #35 #32]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#29 := [asserted]: #12
+[mp #29 #49]: false
+unsat
+54241528b45f8f4faa0c0db0443b55a0791bdebf 55 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -575,7 +1183,26 @@
 #33 := [asserted]: #16
 [mp #33 #70]: false
 unsat
-66bc415bc7b672ad9bd08a5cad7193639ca92341 49 0
+7e9279650e1782ee3eacd8b5ddc9abff7cf3939f 18 0
+#2 := false
+decl f3 :: S2
+#8 := f3
+#9 := (= f3 f3)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+fad369d322dc0c4cbd802fd43ac8e39269b90c24 49 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -625,7 +1252,37 @@
 #63 := [and-elim #61]: #34
 [mp #63 #69]: false
 unsat
-a89676df4461617062c6e78fd5ffdff83f5ac142 54 0
+4f15136164606c4b4de495e81f7a15d214b1a16d 29 0
+#2 := false
+decl f3 :: S2
+#8 := f3
+decl f4 :: S2
+#9 := f4
+#11 := (= f4 f3)
+#10 := (= f3 f4)
+#12 := (implies #10 #11)
+#13 := (not #12)
+#45 := (iff #13 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #13 #40)
+#38 := (iff #12 true)
+#33 := (implies #10 #10)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #12 #33)
+#31 := (iff #11 #10)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#30 := [asserted]: #13
+[mp #30 #46]: false
+unsat
+b24d83f0e79204c7c5bc93564e0299d7be355898 54 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -680,7 +1337,42 @@
 #68 := [and-elim #66]: #34
 [mp #68 #74]: false
 unsat
-36f523bdbc2a966d0da47f8c8e1a18b288089cd4 60 0
+dc9c622e9c5a73b4906108c844d17870f8f467f3 34 0
+#2 := false
+decl f5 :: S2
+#11 := f5
+decl f3 :: S2
+#8 := f3
+#14 := (= f3 f5)
+decl f4 :: S2
+#9 := f4
+#12 := (= f4 f5)
+#58 := (iff #12 #14)
+#56 := (iff #14 #12)
+#10 := (= f3 f4)
+#13 := (and #10 #12)
+#34 := (not #13)
+#35 := (or #34 #14)
+#38 := (not #35)
+#15 := (implies #13 #14)
+#16 := (not #15)
+#39 := (iff #16 #38)
+#36 := (iff #15 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#33 := [asserted]: #16
+#43 := [mp #33 #40]: #38
+#41 := [not-or-elim #43]: #13
+#42 := [and-elim #41]: #10
+#57 := [monotonicity #42]: #56
+#59 := [symm #57]: #58
+#44 := [and-elim #41]: #12
+#54 := [mp #44 #59]: #14
+#45 := (not #14)
+#46 := [not-or-elim #43]: #45
+[unit-resolution #46 #54]: false
+unsat
+0f759d4f64321dbbf3a7fb1265c4748ce0ceab54 60 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -741,7 +1433,35 @@
 #70 := [mp #35 #67]: #64
 [mp #70 #68]: false
 unsat
-39e898ce622db033d98d0949c6c78d8d13333283 79 0
+a8195f22c8d1b577a8f5ae2243196c5ebe015804 27 0
+#2 := false
+decl f5 :: (-> S2 S2)
+decl f4 :: S2
+#9 := f4
+#12 := (f5 f4)
+decl f3 :: S2
+#8 := f3
+#11 := (f5 f3)
+#13 := (= #11 #12)
+#10 := (= f3 f4)
+#33 := (not #10)
+#34 := (or #33 #13)
+#37 := (not #34)
+#14 := (implies #10 #13)
+#15 := (not #14)
+#38 := (iff #15 #37)
+#35 := (iff #14 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#32 := [asserted]: #15
+#42 := [mp #32 #39]: #37
+#40 := [not-or-elim #42]: #10
+#51 := [monotonicity #40]: #13
+#41 := (not #13)
+#43 := [not-or-elim #42]: #41
+[unit-resolution #43 #51]: false
+unsat
+56fbd97995f4b7bc4d7561f89b146084e2ece4a4 79 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -821,7 +1541,39 @@
 #36 := [asserted]: #19
 [mp #36 #93]: false
 unsat
-3d76513bcca35d0b89ae8be9bed98213f01644cc 94 0
+f0071ffac5f0293e3340ba2c318e33d4b7b540a9 31 0
+#2 := false
+decl f5 :: (-> S2 S2 S3)
+decl f3 :: S2
+#8 := f3
+decl f4 :: S2
+#9 := f4
+#12 := (f5 f4 f3)
+#11 := (f5 f3 f4)
+#13 := (= #11 #12)
+#53 := (= #12 #11)
+#10 := (= f3 f4)
+#33 := (not #10)
+#34 := (or #33 #13)
+#37 := (not #34)
+#14 := (implies #10 #13)
+#15 := (not #14)
+#38 := (iff #15 #37)
+#35 := (iff #14 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#32 := [asserted]: #15
+#42 := [mp #32 #39]: #37
+#40 := [not-or-elim #42]: #10
+#51 := (= f4 f3)
+#52 := [symm #40]: #51
+#54 := [monotonicity #52 #40]: #53
+#49 := [symm #54]: #13
+#41 := (not #13)
+#43 := [not-or-elim #42]: #41
+[unit-resolution #43 #49]: false
+unsat
+06f5c6a6bea9a2fa1b9f87412f4567c4e365964a 94 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -916,7 +1668,71 @@
 #96 := [not-or-elim #89]: #70
 [mp #96 #112]: false
 unsat
-e872baf26281e471c8aad88c06ade50a163a8bf9 114 0
+16b0a3ece5062e22059e25c49e83e51c0b937a88 63 0
+#2 := false
+decl f3 :: (-> S2 S2)
+decl f4 :: S2
+#8 := f4
+#9 := (f3 f4)
+#46 := (= f4 #9)
+#10 := (f3 #9)
+#12 := (f3 #10)
+#78 := (= #12 #9)
+#76 := (= #9 #12)
+#37 := (= f4 #10)
+#13 := (f3 #12)
+#14 := (f3 #13)
+#40 := (= f4 #14)
+#43 := (and #37 #40)
+#52 := (not #43)
+#53 := (or #52 #46)
+#58 := (not #53)
+#17 := (= #9 f4)
+#15 := (= #14 f4)
+#11 := (= #10 f4)
+#16 := (and #11 #15)
+#18 := (implies #16 #17)
+#19 := (not #18)
+#59 := (iff #19 #58)
+#56 := (iff #18 #53)
+#49 := (implies #43 #46)
+#54 := (iff #49 #53)
+#55 := [rewrite]: #54
+#50 := (iff #18 #49)
+#47 := (iff #17 #46)
+#48 := [rewrite]: #47
+#44 := (iff #16 #43)
+#41 := (iff #15 #40)
+#42 := [rewrite]: #41
+#38 := (iff #11 #37)
+#39 := [rewrite]: #38
+#45 := [monotonicity #39 #42]: #44
+#51 := [monotonicity #45 #48]: #50
+#57 := [trans #51 #55]: #56
+#60 := [monotonicity #57]: #59
+#36 := [asserted]: #19
+#63 := [mp #36 #60]: #58
+#61 := [not-or-elim #63]: #43
+#62 := [and-elim #61]: #37
+#77 := [monotonicity #62]: #76
+#79 := [symm #77]: #78
+#81 := (= f4 #12)
+#67 := (= #14 #12)
+#70 := (= #12 #14)
+#72 := (= #10 #13)
+#74 := (= #13 #10)
+#75 := [monotonicity #79]: #74
+#73 := [symm #75]: #72
+#71 := [monotonicity #73]: #70
+#80 := [symm #71]: #67
+#64 := [and-elim #61]: #40
+#82 := [trans #64 #80]: #81
+#83 := [trans #82 #79]: #46
+#65 := (not #46)
+#66 := [not-or-elim #63]: #65
+[unit-resolution #66 #83]: false
+unsat
+f45903baa95c438d411754363ad5219754af16ca 114 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1031,7 +1847,203 @@
 #136 := [unit-resolution #109 #135]: #87
 [unit-resolution #93 #136 #134]: false
 unsat
-b64bc0bcf45eb1767f3ac5eb748f88080f2b2bee 121 0
+4b1d0031a7c5da8fe83e5d22bb3a19a4727fa881 195 0
+#2 := false
+decl f6 :: S2
+#13 := f6
+decl f4 :: S2
+#10 := f4
+#15 := (= f4 f6)
+decl f5 :: S2
+#11 := f5
+decl f3 :: S1
+#8 := f3
+decl f1 :: S1
+#4 := f1
+#40 := (= f1 f3)
+#43 := (ite #40 f4 f5)
+#49 := (= f6 #43)
+#200 := (iff #49 #15)
+#198 := (iff #15 #49)
+#46 := (= #43 f6)
+#50 := (iff #46 #49)
+#197 := [commutativity]: #50
+#195 := (iff #15 #46)
+#110 := (= f4 #43)
+#111 := (= f5 #43)
+#57 := (not #40)
+#180 := [hypothesis]: #57
+#114 := (or #40 #111)
+#115 := [def-axiom]: #114
+#184 := [unit-resolution #115 #180]: #111
+#185 := (= f6 f5)
+#18 := (= f5 f6)
+#174 := (iff #110 #15)
+#172 := (iff #15 #110)
+#68 := (or #18 #40)
+#95 := (not #68)
+#58 := (or #15 #57)
+#94 := (not #58)
+#96 := (or #94 #95)
+#123 := (not #18)
+#147 := [hypothesis]: #123
+#157 := (or #96 #18)
+#97 := (not #96)
+#145 := [hypothesis]: #97
+#132 := (or #96 #68)
+#133 := [def-axiom]: #132
+#148 := [unit-resolution #133 #145]: #68
+#128 := (or #95 #18 #40)
+#129 := [def-axiom]: #128
+#149 := [unit-resolution #129 #148 #147]: #40
+#112 := (or #57 #110)
+#113 := [def-axiom]: #112
+#150 := [unit-resolution #113 #149]: #110
+#153 := (= f6 f4)
+#130 := (or #96 #58)
+#131 := [def-axiom]: #130
+#151 := [unit-resolution #131 #145]: #58
+#121 := (or #94 #15 #57)
+#122 := [def-axiom]: #121
+#152 := [unit-resolution #122 #149 #151]: #15
+#154 := [symm #152]: #153
+#155 := [trans #154 #150]: #49
+#82 := (not #49)
+#143 := (or #82 #96)
+#104 := (iff #49 #96)
+#73 := (and #58 #68)
+#83 := (iff #73 #82)
+#107 := (iff #83 #104)
+#99 := (iff #96 #49)
+#105 := (iff #99 #104)
+#106 := [rewrite]: #105
+#102 := (iff #83 #99)
+#91 := (iff #97 #82)
+#100 := (iff #91 #99)
+#101 := [rewrite]: #100
+#88 := (iff #83 #91)
+#92 := (iff #73 #97)
+#93 := [rewrite]: #92
+#98 := [monotonicity #93]: #88
+#103 := [trans #98 #101]: #102
+#108 := [trans #103 #106]: #107
+#9 := (= f3 f1)
+#17 := (not #9)
+#19 := (implies #17 #18)
+#16 := (implies #9 #15)
+#20 := (and #16 #19)
+#12 := (ite #9 f4 f5)
+#14 := (= #12 f6)
+#21 := (iff #14 #20)
+#22 := (not #21)
+#86 := (iff #22 #83)
+#76 := (iff #49 #73)
+#79 := (not #76)
+#84 := (iff #79 #83)
+#85 := [rewrite]: #84
+#80 := (iff #22 #79)
+#77 := (iff #21 #76)
+#74 := (iff #20 #73)
+#71 := (iff #19 #68)
+#65 := (implies #57 #18)
+#69 := (iff #65 #68)
+#70 := [rewrite]: #69
+#66 := (iff #19 #65)
+#63 := (iff #17 #57)
+#41 := (iff #9 #40)
+#42 := [rewrite]: #41
+#64 := [monotonicity #42]: #63
+#67 := [monotonicity #64]: #66
+#72 := [trans #67 #70]: #71
+#61 := (iff #16 #58)
+#54 := (implies #40 #15)
+#59 := (iff #54 #58)
+#60 := [rewrite]: #59
+#55 := (iff #16 #54)
+#56 := [monotonicity #42]: #55
+#62 := [trans #56 #60]: #61
+#75 := [monotonicity #62 #72]: #74
+#52 := (iff #14 #49)
+#51 := [rewrite]: #50
+#47 := (iff #14 #46)
+#44 := (= #12 #43)
+#45 := [monotonicity #42]: #44
+#48 := [monotonicity #45]: #47
+#53 := [trans #48 #51]: #52
+#78 := [monotonicity #53 #75]: #77
+#81 := [monotonicity #78]: #80
+#87 := [trans #81 #85]: #86
+#39 := [asserted]: #22
+#90 := [mp #39 #87]: #83
+#109 := [mp #90 #108]: #104
+#136 := (not #104)
+#141 := (or #82 #96 #136)
+#142 := [def-axiom]: #141
+#144 := [unit-resolution #142 #109]: #143
+#146 := [unit-resolution #144 #145]: #82
+#156 := [unit-resolution #146 #155]: false
+#158 := [lemma #156]: #157
+#159 := [unit-resolution #158 #147]: #96
+#139 := (or #49 #97)
+#137 := (or #49 #97 #136)
+#138 := [def-axiom]: #137
+#140 := [unit-resolution #138 #109]: #139
+#160 := [unit-resolution #140 #159]: #49
+#173 := [monotonicity #160]: #172
+#175 := [symm #173]: #174
+#163 := (not #111)
+#164 := (iff #123 #163)
+#161 := (iff #18 #111)
+#162 := [monotonicity #160]: #161
+#165 := [monotonicity #162]: #164
+#166 := [mp #147 #165]: #163
+#167 := [unit-resolution #115 #166]: #40
+#171 := [unit-resolution #113 #167]: #110
+#176 := [mp #171 #175]: #15
+#116 := (not #15)
+#126 := (or #68 #57)
+#127 := [def-axiom]: #126
+#168 := [unit-resolution #127 #167]: #68
+#134 := (or #97 #94 #95)
+#135 := [def-axiom]: #134
+#169 := [unit-resolution #135 #168 #159]: #94
+#117 := (or #58 #116)
+#118 := [def-axiom]: #117
+#170 := [unit-resolution #118 #169]: #116
+#177 := [unit-resolution #170 #176]: false
+#178 := [lemma #177]: #18
+#186 := [symm #178]: #185
+#187 := [trans #186 #184]: #49
+#124 := (or #68 #123)
+#125 := [def-axiom]: #124
+#179 := [unit-resolution #125 #178]: #68
+#119 := (or #58 #40)
+#120 := [def-axiom]: #119
+#181 := [unit-resolution #120 #180]: #58
+#182 := [unit-resolution #135 #181 #179]: #97
+#183 := [unit-resolution #144 #182]: #82
+#188 := [unit-resolution #183 #187]: false
+#189 := [lemma #188]: #40
+#194 := [unit-resolution #113 #189]: #110
+#196 := [monotonicity #194]: #195
+#199 := [trans #196 #197]: #198
+#201 := [symm #199]: #200
+#202 := (iff #82 #116)
+#203 := [monotonicity #201]: #202
+#190 := [hypothesis]: #82
+#204 := [mp #190 #203]: #116
+#191 := [unit-resolution #140 #190]: #97
+#192 := [unit-resolution #131 #191]: #58
+#193 := [unit-resolution #122 #192 #189]: #15
+#205 := [unit-resolution #193 #204]: false
+#206 := [lemma #205]: #49
+#210 := [mp #206 #201]: #15
+#207 := [unit-resolution #144 #206]: #96
+#208 := [unit-resolution #135 #207 #179]: #94
+#209 := [unit-resolution #118 #208]: #116
+[unit-resolution #209 #210]: false
+unsat
+d88d2fa5d625a6669d08e24799b598bc3243212b 121 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1153,7 +2165,44 @@
 #99 := [not-or-elim #92]: #98
 [mp #99 #138]: false
 unsat
-c9da60152fdcf3358171ced892606def006be235 110 0
+08da4c2954fa7e715a65caa44d6cfda212fd8151 36 0
+#2 := false
+decl f5 :: S2
+#10 := f5
+decl f3 :: S2
+#8 := f3
+#12 := (= f3 f5)
+#13 := (not #12)
+decl f4 :: S2
+#9 := f4
+#11 := (distinct f3 f4 f5)
+#33 := (not #11)
+#34 := (or #33 #13)
+#37 := (not #34)
+#14 := (implies #11 #13)
+#15 := (not #14)
+#38 := (iff #15 #37)
+#35 := (iff #14 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#32 := [asserted]: #15
+#42 := [mp #32 #39]: #37
+#41 := [not-or-elim #42]: #12
+#52 := (= f4 f5)
+#53 := (not #52)
+#50 := (= f3 f4)
+#51 := (not #50)
+#48 := (and #51 #13 #53)
+#40 := [not-or-elim #42]: #11
+#58 := (or #33 #48)
+#59 := [def-axiom]: #58
+#62 := [unit-resolution #59 #40]: #48
+#49 := (not #48)
+#45 := (or #49 #13)
+#43 := [def-axiom]: #45
+[unit-resolution #43 #62 #41]: false
+unsat
+bd50ed75e1a24fdaf488b7bfb75ceea321293722 110 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -1264,7 +2313,85 @@
 #84 := [and-elim #83]: #44
 [mp #84 #129]: false
 unsat
-1f8e71f0583db493868b682b87713e9591cb7a07 127 0
+8dc240ee402eb47862312ada03d54f1453a80352 77 0
+#2 := false
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#81 := (= f3 f4)
+decl f6 :: S2
+#12 := f6
+#36 := (= f4 f6)
+#100 := (iff #36 #81)
+#98 := (iff #81 #36)
+#13 := (= f6 f4)
+#37 := (iff #13 #36)
+#97 := [commutativity]: #37
+#95 := (iff #81 #13)
+#14 := (= f3 f6)
+#42 := (not #36)
+#15 := (not #14)
+decl f5 :: S2
+#10 := f5
+#11 := (distinct f3 f4 f5)
+#51 := (not #11)
+#60 := (or #51 #15 #42)
+#63 := (not #60)
+#16 := (implies #13 #15)
+#17 := (implies #11 #16)
+#18 := (not #17)
+#66 := (iff #18 #63)
+#43 := (or #15 #42)
+#52 := (or #51 #43)
+#57 := (not #52)
+#64 := (iff #57 #63)
+#61 := (iff #52 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#58 := (iff #18 #57)
+#55 := (iff #17 #52)
+#48 := (implies #11 #43)
+#53 := (iff #48 #52)
+#54 := [rewrite]: #53
+#49 := (iff #17 #48)
+#46 := (iff #16 #43)
+#39 := (implies #36 #15)
+#44 := (iff #39 #43)
+#45 := [rewrite]: #44
+#40 := (iff #16 #39)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#47 := [trans #41 #45]: #46
+#50 := [monotonicity #47]: #49
+#56 := [trans #50 #54]: #55
+#59 := [monotonicity #56]: #58
+#67 := [trans #59 #65]: #66
+#35 := [asserted]: #18
+#68 := [mp #35 #67]: #63
+#70 := [not-or-elim #68]: #14
+#96 := [monotonicity #70]: #95
+#99 := [trans #96 #97]: #98
+#101 := [symm #99]: #100
+#71 := [not-or-elim #68]: #36
+#102 := [mp #71 #101]: #81
+#82 := (not #81)
+#79 := (= f4 f5)
+#80 := (not #79)
+#83 := (= f3 f5)
+#84 := (not #83)
+#77 := (and #82 #84 #80)
+#69 := [not-or-elim #68]: #11
+#89 := (or #51 #77)
+#90 := [def-axiom]: #89
+#93 := [unit-resolution #90 #69]: #77
+#78 := (not #77)
+#75 := (or #78 #82)
+#76 := [def-axiom]: #75
+#94 := [unit-resolution #76 #93]: #82
+[unit-resolution #94 #102]: false
+unsat
+82e8476a2b40c7b4ddf6aad1b870323c7e2adbfc 127 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1392,7 +2519,36 @@
 #149 := [unit-resolution #131 #147]: #97
 [unit-resolution #108 #149 #148]: false
 unsat
-818dc7a805c1fc0df63db969a20606d71bab3c5a 66 0
+3ec381e2388d16595dee423cb23410b8ee65f5be 28 0
+#2 := false
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#10 := (distinct f3 f4 f3 f4)
+#11 := (not #10)
+#12 := (not #11)
+#44 := (iff #12 false)
+#1 := true
+#39 := (not true)
+#42 := (iff #39 false)
+#43 := [rewrite]: #42
+#40 := (iff #12 #39)
+#37 := (iff #11 true)
+#32 := (not false)
+#35 := (iff #32 true)
+#36 := [rewrite]: #35
+#33 := (iff #11 #32)
+#30 := (iff #10 false)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31]: #33
+#38 := [trans #34 #36]: #37
+#41 := [monotonicity #38]: #40
+#45 := [trans #41 #43]: #44
+#29 := [asserted]: #12
+[mp #29 #45]: false
+unsat
+d88d10125d202994145262227e4bbc27de00325d 66 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -1459,7 +2615,38 @@
 #74 := [not-or-elim #84]: #33
 [unit-resolution #69 #74]: false
 unsat
-46fff20b4c094da53ae081e33798e8a693ab62ec 156 0
+7978400bf5569e9c21731e843185e21f42a67667 30 0
+#2 := false
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#10 := (= f3 f4)
+#11 := (not #10)
+#12 := (not #11)
+#13 := (implies #10 #12)
+#14 := (not #13)
+#46 := (iff #14 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #14 #41)
+#39 := (iff #13 true)
+#34 := (implies #10 #10)
+#37 := (iff #34 true)
+#38 := [rewrite]: #37
+#35 := (iff #13 #34)
+#32 := (iff #12 #10)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#40 := [trans #36 #38]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#31 := [asserted]: #14
+[mp #31 #47]: false
+unsat
+123f558f9f3ffbb84aa29cf95bfa60a7fd8f9c53 156 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1616,7 +2803,48 @@
 #114 := [def-axiom]: #113
 [unit-resolution #114 #172 #170]: false
 unsat
-2f15e9d90b4b089f8a2562ce56366a555231ff22 114 0
+10f35a88989b72a52fb3f98d7f7428c1e1b3e122 40 0
+#2 := false
+decl f5 :: S2
+#11 := f5
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#14 := (distinct f3 f4 f5)
+#15 := (not #14)
+#12 := (= f3 f5)
+#10 := (= f3 f4)
+#13 := (and #10 #12)
+#35 := (not #13)
+#36 := (or #35 #15)
+#39 := (not #36)
+#16 := (implies #13 #15)
+#17 := (not #16)
+#40 := (iff #17 #39)
+#37 := (iff #16 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#34 := [asserted]: #17
+#44 := [mp #34 #41]: #39
+#46 := [not-or-elim #44]: #14
+#58 := (= f4 f5)
+#59 := (not #58)
+#57 := (not #12)
+#56 := (not #10)
+#54 := (and #56 #57 #59)
+#55 := (not #54)
+#42 := [not-or-elim #44]: #13
+#43 := [and-elim #42]: #10
+#52 := (or #55 #56)
+#53 := [def-axiom]: #52
+#66 := [unit-resolution #53 #43]: #55
+#62 := (or #15 #54)
+#63 := [def-axiom]: #62
+#67 := [unit-resolution #63 #66]: #15
+[unit-resolution #67 #46]: false
+unsat
+b3152f8558491ad9fde8dfd8e10a714b3e98cb57 114 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1731,7 +2959,41 @@
 #101 := [mp #36 #100]: #94
 [mp #101 #130]: false
 unsat
-00473b4aff1959d5177fa5825ae6319bbb679c00 198 0
+ed5b4a9da6fcf2483f2081f8e182d1c39bc7b1d0 33 0
+#2 := false
+decl f3 :: S2
+#8 := f3
+decl f5 :: S2
+#10 := f5
+decl f4 :: S2
+#9 := f4
+decl f6 :: S2
+#11 := f6
+#13 := (distinct f6 f4 f5 f3)
+#12 := (distinct f3 f4 f5 f6)
+#14 := (implies #12 #13)
+#15 := (not #14)
+#47 := (iff #15 false)
+#1 := true
+#42 := (not true)
+#45 := (iff #42 false)
+#46 := [rewrite]: #45
+#43 := (iff #15 #42)
+#40 := (iff #14 true)
+#35 := (implies #12 #12)
+#38 := (iff #35 true)
+#39 := [rewrite]: #38
+#36 := (iff #14 #35)
+#33 := (iff #13 #12)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#32 := [asserted]: #15
+[mp #32 #48]: false
+unsat
+710a09ff1423bdde95e9fb0541e56c839786cb31 198 0
 #2 := false
 decl f5 :: S1
 #14 := f5
@@ -1930,7 +3192,99 @@
 #141 := [not-or-elim #136]: #93
 [mp #141 #215]: false
 unsat
-2cfe9308ab7f394e846bed2379142398e01d0e8d 134 0
+65f8a76a6f6a38a4bead0ee4b39d32d58aff533c 91 0
+#2 := false
+decl f5 :: S2
+#10 := f5
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#13 := (distinct f3 f4 f5)
+#67 := (= f4 f5)
+#68 := (not #67)
+#63 := (= f3 f5)
+#64 := (not #63)
+#61 := (= f3 f4)
+#62 := (not #61)
+#93 := (and #62 #64 #68)
+decl f6 :: S2
+#11 := f6
+#71 := (= f5 f6)
+#72 := (not #71)
+#69 := (= f4 f6)
+#70 := (not #69)
+#65 := (= f3 f6)
+#66 := (not #65)
+#73 := (and #62 #64 #66 #68 #70 #72)
+#12 := (distinct f3 f4 f5 f6)
+#14 := (distinct f4 f5 f6)
+#15 := (and #13 #14)
+#35 := (not #12)
+#36 := (or #35 #15)
+#39 := (not #36)
+#16 := (implies #12 #15)
+#17 := (not #16)
+#40 := (iff #17 #39)
+#37 := (iff #16 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#34 := [asserted]: #17
+#44 := [mp #34 #41]: #39
+#42 := [not-or-elim #44]: #12
+#89 := (or #35 #73)
+#90 := [def-axiom]: #89
+#121 := [unit-resolution #90 #42]: #73
+#74 := (not #73)
+#75 := (or #74 #62)
+#76 := [def-axiom]: #75
+#122 := [unit-resolution #76 #121]: #62
+#81 := (or #74 #68)
+#82 := [def-axiom]: #81
+#123 := [unit-resolution #82 #121]: #68
+#77 := (or #74 #64)
+#78 := [def-axiom]: #77
+#124 := [unit-resolution #78 #121]: #64
+#101 := (or #93 #61 #63 #67)
+#102 := [def-axiom]: #101
+#125 := [unit-resolution #102 #124 #123 #122]: #93
+#94 := (not #93)
+#105 := (or #13 #94)
+#106 := [def-axiom]: #105
+#126 := [unit-resolution #106 #125]: #13
+#107 := (and #68 #70 #72)
+#85 := (or #74 #72)
+#86 := [def-axiom]: #85
+#127 := [unit-resolution #86 #121]: #72
+#83 := (or #74 #70)
+#84 := [def-axiom]: #83
+#128 := [unit-resolution #84 #121]: #70
+#115 := (or #107 #67 #69 #71)
+#116 := [def-axiom]: #115
+#129 := [unit-resolution #116 #128 #127 #123]: #107
+#108 := (not #107)
+#119 := (or #14 #108)
+#120 := [def-axiom]: #119
+#130 := [unit-resolution #120 #129]: #14
+#54 := (not #14)
+#53 := (not #13)
+#55 := (or #53 #54)
+#43 := (not #15)
+#58 := (iff #43 #55)
+#56 := (not #55)
+#49 := (not #56)
+#46 := (iff #49 #55)
+#57 := [rewrite]: #46
+#50 := (iff #43 #49)
+#51 := (iff #15 #56)
+#52 := [rewrite]: #51
+#48 := [monotonicity #52]: #50
+#59 := [trans #48 #57]: #58
+#45 := [not-or-elim #44]: #43
+#60 := [mp #45 #59]: #55
+[unit-resolution #60 #130 #126]: false
+unsat
+c2ceb7f67b73bb3bdaed86d97f31bbabffade4ad 134 0
 #2 := false
 decl f5 :: S1
 #14 := f5
@@ -2065,7 +3419,7 @@
 #121 := [not-or-elim #116]: #81
 [mp #121 #151]: false
 unsat
-d49a2aa891a4e97785d87ae0852efd8c830df7dd 162 0
+77f105a2335d8f399aa84eb3f5b2c6fc18cb5cb0 162 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -2228,7 +3582,7 @@
 #178 := [unit-resolution #128 #177]: #70
 [unit-resolution #136 #178 #176 #168]: false
 unsat
-a32448a76e7c2238050b2242f58c388f5af4bb0b 54 0
+f7a1358537b42b76857f25d2bb6dab6a65b957d3 54 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -2283,7 +3637,7 @@
 #31 := [asserted]: #14
 [mp #31 #69]: false
 unsat
-4beee0db11f1f0218a1c8845ad7dc8b072a3465b 144 0
+cb5396a335ba3f235c4f126793b6452d8c22b8a0 144 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -2428,7 +3782,33 @@
 #126 := [not-or-elim #121]: #102
 [mp #126 #161]: false
 unsat
-06703092b87ad607f1fc183aeaf2318c5fc95140 121 0
+828c6cc5274797cbab0d66f9715797229aa86661 25 0
+#2 := false
+#8 := (:var 0 S2)
+#9 := (= #8 #8)
+#10 := (forall (vars (?v0 S2)) #9)
+#11 := (not #10)
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (forall (vars (?v0 S2)) true)
+#34 := (iff #31 true)
+#35 := [elim-unused]: #34
+#32 := (iff #10 #31)
+#29 := (iff #9 true)
+#30 := [rewrite]: #29
+#33 := [quant-intro #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+614eb9a555c5a60772dafc0939c267db1405600c 121 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -2550,7 +3930,42 @@
 #115 := [not-or-elim #109]: #90
 [mp #115 #138]: false
 unsat
-9a5a01706e8f03de5459124543d7c655f9eae121 123 0
+95dd35edf8ef21f4e7cf317ce58b9a2bec541f8f 34 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S1)
+#8 := (:var 0 S2)
+#9 := (f3 #8)
+#10 := (= #9 f1)
+#11 := (forall (vars (?v0 S2)) #10)
+#12 := (iff #11 #11)
+#13 := (not #12)
+#49 := (iff #13 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #13 #44)
+#42 := (iff #12 true)
+#31 := (= f1 #9)
+#34 := (forall (vars (?v0 S2)) #31)
+#37 := (iff #34 #34)
+#40 := (iff #37 true)
+#41 := [rewrite]: #40
+#38 := (iff #12 #37)
+#35 := (iff #11 #34)
+#32 := (iff #10 #31)
+#33 := [rewrite]: #32
+#36 := [quant-intro #33]: #35
+#39 := [monotonicity #36 #36]: #38
+#43 := [trans #39 #41]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#30 := [asserted]: #13
+[mp #30 #50]: false
+unsat
+93c5fb9808d8360640a347075369425791ec133b 123 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -2674,1914 +4089,7 @@
 #92 := [not-or-elim #91]: #72
 [mp #92 #141]: false
 unsat
-d71c48b66a95c7e63c038fd93ab853e5968a14b6 60 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#14 := (not #9)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#13 := (not #11)
-#15 := (implies #13 #14)
-#12 := (implies #9 #11)
-#16 := (implies #12 #15)
-#17 := (not #16)
-#74 := (iff #17 false)
-#1 := true
-#69 := (not true)
-#72 := (iff #69 false)
-#73 := [rewrite]: #72
-#70 := (iff #17 #69)
-#67 := (iff #16 true)
-#38 := (= f1 f4)
-#35 := (= f1 f3)
-#44 := (not #35)
-#45 := (or #44 #38)
-#62 := (implies #45 #45)
-#65 := (iff #62 true)
-#66 := [rewrite]: #65
-#63 := (iff #16 #62)
-#60 := (iff #15 #45)
-#50 := (not #38)
-#55 := (implies #50 #44)
-#58 := (iff #55 #45)
-#59 := [rewrite]: #58
-#56 := (iff #15 #55)
-#53 := (iff #14 #44)
-#36 := (iff #9 #35)
-#37 := [rewrite]: #36
-#54 := [monotonicity #37]: #53
-#51 := (iff #13 #50)
-#39 := (iff #11 #38)
-#40 := [rewrite]: #39
-#52 := [monotonicity #40]: #51
-#57 := [monotonicity #52 #54]: #56
-#61 := [trans #57 #59]: #60
-#48 := (iff #12 #45)
-#41 := (implies #35 #38)
-#46 := (iff #41 #45)
-#47 := [rewrite]: #46
-#42 := (iff #12 #41)
-#43 := [monotonicity #37 #40]: #42
-#49 := [trans #43 #47]: #48
-#64 := [monotonicity #49 #61]: #63
-#68 := [trans #64 #66]: #67
-#71 := [monotonicity #68]: #70
-#75 := [trans #71 #73]: #74
-#34 := [asserted]: #17
-[mp #34 #75]: false
-unsat
-af465ab181f70f3a841319fb8648514b03dc0f84 121 0
-#2 := false
-decl f5 :: S1
-#12 := f5
-decl f1 :: S1
-#4 := f1
-#44 := (= f1 f5)
-decl f4 :: S1
-#10 := f4
-#41 := (= f1 f4)
-decl f3 :: S1
-#8 := f3
-#38 := (= f1 f3)
-#53 := (not #38)
-#90 := (or #53 #41 #44)
-#137 := (iff #90 false)
-#132 := (or false false false)
-#135 := (iff #132 false)
-#136 := [rewrite]: #135
-#133 := (iff #90 #132)
-#123 := (iff #44 false)
-#113 := (not #44)
-#93 := (not #90)
-#99 := (or #53 #41 #44 #93)
-#104 := (not #99)
-#13 := (= f5 f1)
-#9 := (= f3 f1)
-#17 := (implies #9 #13)
-#11 := (= f4 f1)
-#16 := (implies #9 #11)
-#18 := (or #16 #17)
-#14 := (or #11 #13)
-#15 := (implies #9 #14)
-#19 := (implies #15 #18)
-#20 := (not #19)
-#107 := (iff #20 #104)
-#70 := (or #53 #44)
-#62 := (or #53 #41)
-#75 := (or #62 #70)
-#47 := (or #41 #44)
-#54 := (or #53 #47)
-#81 := (not #54)
-#82 := (or #81 #75)
-#87 := (not #82)
-#105 := (iff #87 #104)
-#102 := (iff #82 #99)
-#96 := (or #93 #75)
-#100 := (iff #96 #99)
-#101 := [rewrite]: #100
-#97 := (iff #82 #96)
-#94 := (iff #81 #93)
-#91 := (iff #54 #90)
-#92 := [rewrite]: #91
-#95 := [monotonicity #92]: #94
-#98 := [monotonicity #95]: #97
-#103 := [trans #98 #101]: #102
-#106 := [monotonicity #103]: #105
-#88 := (iff #20 #87)
-#85 := (iff #19 #82)
-#78 := (implies #54 #75)
-#83 := (iff #78 #82)
-#84 := [rewrite]: #83
-#79 := (iff #19 #78)
-#76 := (iff #18 #75)
-#73 := (iff #17 #70)
-#67 := (implies #38 #44)
-#71 := (iff #67 #70)
-#72 := [rewrite]: #71
-#68 := (iff #17 #67)
-#45 := (iff #13 #44)
-#46 := [rewrite]: #45
-#39 := (iff #9 #38)
-#40 := [rewrite]: #39
-#69 := [monotonicity #40 #46]: #68
-#74 := [trans #69 #72]: #73
-#65 := (iff #16 #62)
-#59 := (implies #38 #41)
-#63 := (iff #59 #62)
-#64 := [rewrite]: #63
-#60 := (iff #16 #59)
-#42 := (iff #11 #41)
-#43 := [rewrite]: #42
-#61 := [monotonicity #40 #43]: #60
-#66 := [trans #61 #64]: #65
-#77 := [monotonicity #66 #74]: #76
-#57 := (iff #15 #54)
-#50 := (implies #38 #47)
-#55 := (iff #50 #54)
-#56 := [rewrite]: #55
-#51 := (iff #15 #50)
-#48 := (iff #14 #47)
-#49 := [monotonicity #43 #46]: #48
-#52 := [monotonicity #40 #49]: #51
-#58 := [trans #52 #56]: #57
-#80 := [monotonicity #58 #77]: #79
-#86 := [trans #80 #84]: #85
-#89 := [monotonicity #86]: #88
-#108 := [trans #89 #106]: #107
-#37 := [asserted]: #20
-#109 := [mp #37 #108]: #104
-#114 := [not-or-elim #109]: #113
-#124 := [iff-false #114]: #123
-#121 := (iff #41 false)
-#111 := (not #41)
-#112 := [not-or-elim #109]: #111
-#122 := [iff-false #112]: #121
-#130 := (iff #53 false)
-#1 := true
-#125 := (not true)
-#128 := (iff #125 false)
-#129 := [rewrite]: #128
-#126 := (iff #53 #125)
-#119 := (iff #38 true)
-#110 := [not-or-elim #109]: #38
-#120 := [iff-true #110]: #119
-#127 := [monotonicity #120]: #126
-#131 := [trans #127 #129]: #130
-#134 := [monotonicity #131 #122 #124]: #133
-#138 := [trans #134 #136]: #137
-#115 := [not-or-elim #109]: #90
-[mp #115 #138]: false
-unsat
-4125d60d3582e621620fa3548de9c8eca203e184 84 0
-#2 := false
-decl f4 :: S1
-#10 := f4
-decl f1 :: S1
-#4 := f1
-#38 := (= f1 f4)
-#53 := (not #38)
-#97 := [hypothesis]: #53
-decl f3 :: S1
-#8 := f3
-#35 := (= f1 f3)
-#44 := (not #35)
-#45 := (or #44 #38)
-#54 := (or #35 #53)
-#59 := (and #45 #54)
-#62 := (iff #35 #38)
-#68 := (not #59)
-#69 := (or #68 #62)
-#74 := (not #69)
-#11 := (= f4 f1)
-#9 := (= f3 f1)
-#15 := (iff #9 #11)
-#13 := (implies #11 #9)
-#12 := (implies #9 #11)
-#14 := (and #12 #13)
-#16 := (implies #14 #15)
-#17 := (not #16)
-#75 := (iff #17 #74)
-#72 := (iff #16 #69)
-#65 := (implies #59 #62)
-#70 := (iff #65 #69)
-#71 := [rewrite]: #70
-#66 := (iff #16 #65)
-#63 := (iff #15 #62)
-#39 := (iff #11 #38)
-#40 := [rewrite]: #39
-#36 := (iff #9 #35)
-#37 := [rewrite]: #36
-#64 := [monotonicity #37 #40]: #63
-#60 := (iff #14 #59)
-#57 := (iff #13 #54)
-#50 := (implies #38 #35)
-#55 := (iff #50 #54)
-#56 := [rewrite]: #55
-#51 := (iff #13 #50)
-#52 := [monotonicity #40 #37]: #51
-#58 := [trans #52 #56]: #57
-#48 := (iff #12 #45)
-#41 := (implies #35 #38)
-#46 := (iff #41 #45)
-#47 := [rewrite]: #46
-#42 := (iff #12 #41)
-#43 := [monotonicity #37 #40]: #42
-#49 := [trans #43 #47]: #48
-#61 := [monotonicity #49 #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#73 := [trans #67 #71]: #72
-#76 := [monotonicity #73]: #75
-#34 := [asserted]: #17
-#79 := [mp #34 #76]: #74
-#77 := [not-or-elim #79]: #59
-#78 := [and-elim #77]: #45
-#98 := [unit-resolution #78 #97]: #44
-#89 := (or #38 #35)
-#90 := (iff #38 #44)
-#81 := (not #62)
-#91 := (iff #81 #90)
-#92 := [rewrite]: #91
-#82 := [not-or-elim #79]: #81
-#93 := [mp #82 #92]: #90
-#94 := (not #90)
-#95 := (or #38 #35 #94)
-#88 := [def-axiom]: #95
-#86 := [unit-resolution #88 #93]: #89
-#99 := [unit-resolution #86 #98 #97]: false
-#100 := [lemma #99]: #38
-#80 := [and-elim #77]: #54
-#101 := [unit-resolution #80 #100]: #35
-#83 := (or #53 #44)
-#87 := (or #53 #44 #94)
-#85 := [def-axiom]: #87
-#96 := [unit-resolution #85 #93]: #83
-[unit-resolution #96 #101 #100]: false
-unsat
-a2e87bf3803d076628f087b9dbfba9370da7f50c 47 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#13 := (iff #11 #9)
-#12 := (iff #9 #11)
-#14 := (iff #12 #13)
-#15 := (not #14)
-#61 := (iff #15 false)
-#1 := true
-#56 := (not true)
-#59 := (iff #56 false)
-#60 := [rewrite]: #59
-#57 := (iff #15 #56)
-#54 := (iff #14 true)
-#36 := (= f1 f4)
-#33 := (= f1 f3)
-#39 := (iff #33 #36)
-#49 := (iff #39 #39)
-#52 := (iff #49 true)
-#53 := [rewrite]: #52
-#50 := (iff #14 #49)
-#47 := (iff #13 #39)
-#42 := (iff #36 #33)
-#45 := (iff #42 #39)
-#46 := [rewrite]: #45
-#43 := (iff #13 #42)
-#34 := (iff #9 #33)
-#35 := [rewrite]: #34
-#37 := (iff #11 #36)
-#38 := [rewrite]: #37
-#44 := [monotonicity #38 #35]: #43
-#48 := [trans #44 #46]: #47
-#40 := (iff #12 #39)
-#41 := [monotonicity #35 #38]: #40
-#51 := [monotonicity #41 #48]: #50
-#55 := [trans #51 #53]: #54
-#58 := [monotonicity #55]: #57
-#62 := [trans #58 #60]: #61
-#32 := [asserted]: #15
-[mp #32 #62]: false
-unsat
-f55eb15b91cf1e1bc8132b15462149132c31c5f3 41 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#10 := (not #9)
-#11 := (iff #9 #10)
-#12 := (not #11)
-#13 := (not #12)
-#56 := (iff #13 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #13 #51)
-#49 := (iff #12 true)
-#44 := (not false)
-#47 := (iff #44 true)
-#48 := [rewrite]: #47
-#45 := (iff #12 #44)
-#42 := (iff #11 false)
-#31 := (= f1 f3)
-#34 := (not #31)
-#37 := (iff #31 #34)
-#40 := (iff #37 false)
-#41 := [rewrite]: #40
-#38 := (iff #11 #37)
-#35 := (iff #10 #34)
-#32 := (iff #9 #31)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#39 := [monotonicity #33 #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
-#30 := [asserted]: #13
-[mp #30 #57]: false
-unsat
-9f209003251b1e93d2b18400dbce611ea9c89175 60 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#14 := (not #9)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#13 := (not #11)
-#15 := (implies #13 #14)
-#12 := (implies #9 #11)
-#16 := (iff #12 #15)
-#17 := (not #16)
-#74 := (iff #17 false)
-#1 := true
-#69 := (not true)
-#72 := (iff #69 false)
-#73 := [rewrite]: #72
-#70 := (iff #17 #69)
-#67 := (iff #16 true)
-#38 := (= f1 f4)
-#35 := (= f1 f3)
-#44 := (not #35)
-#45 := (or #44 #38)
-#62 := (iff #45 #45)
-#65 := (iff #62 true)
-#66 := [rewrite]: #65
-#63 := (iff #16 #62)
-#60 := (iff #15 #45)
-#50 := (not #38)
-#55 := (implies #50 #44)
-#58 := (iff #55 #45)
-#59 := [rewrite]: #58
-#56 := (iff #15 #55)
-#53 := (iff #14 #44)
-#36 := (iff #9 #35)
-#37 := [rewrite]: #36
-#54 := [monotonicity #37]: #53
-#51 := (iff #13 #50)
-#39 := (iff #11 #38)
-#40 := [rewrite]: #39
-#52 := [monotonicity #40]: #51
-#57 := [monotonicity #52 #54]: #56
-#61 := [trans #57 #59]: #60
-#48 := (iff #12 #45)
-#41 := (implies #35 #38)
-#46 := (iff #41 #45)
-#47 := [rewrite]: #46
-#42 := (iff #12 #41)
-#43 := [monotonicity #37 #40]: #42
-#49 := [trans #43 #47]: #48
-#64 := [monotonicity #49 #61]: #63
-#68 := [trans #64 #66]: #67
-#71 := [monotonicity #68]: #70
-#75 := [trans #71 #73]: #74
-#34 := [asserted]: #17
-[mp #34 #75]: false
-unsat
-233dd705a1a2cd04e17693dd59c653e2f289128d 72 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#10 := (iff #9 #9)
-#11 := (iff #9 #10)
-#12 := (iff #9 #11)
-#13 := (iff #9 #12)
-#14 := (iff #9 #13)
-#15 := (iff #9 #14)
-#16 := (iff #9 #15)
-#17 := (iff #9 #16)
-#18 := (iff #9 #17)
-#19 := (not #18)
-#87 := (iff #19 false)
-#1 := true
-#82 := (not true)
-#85 := (iff #82 false)
-#86 := [rewrite]: #85
-#83 := (iff #19 #82)
-#80 := (iff #18 true)
-#37 := (= f1 f3)
-#40 := (iff #37 #37)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#78 := (iff #18 #40)
-#76 := (iff #17 #37)
-#47 := (iff #37 true)
-#50 := (iff #47 #37)
-#51 := [rewrite]: #50
-#74 := (iff #17 #47)
-#72 := (iff #16 true)
-#70 := (iff #16 #40)
-#68 := (iff #15 #37)
-#66 := (iff #15 #47)
-#64 := (iff #14 true)
-#62 := (iff #14 #40)
-#60 := (iff #13 #37)
-#58 := (iff #13 #47)
-#56 := (iff #12 true)
-#54 := (iff #12 #40)
-#52 := (iff #11 #37)
-#48 := (iff #11 #47)
-#45 := (iff #10 true)
-#41 := (iff #10 #40)
-#38 := (iff #9 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39 #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #39 #46]: #48
-#53 := [trans #49 #51]: #52
-#55 := [monotonicity #39 #53]: #54
-#57 := [trans #55 #44]: #56
-#59 := [monotonicity #39 #57]: #58
-#61 := [trans #59 #51]: #60
-#63 := [monotonicity #39 #61]: #62
-#65 := [trans #63 #44]: #64
-#67 := [monotonicity #39 #65]: #66
-#69 := [trans #67 #51]: #68
-#71 := [monotonicity #39 #69]: #70
-#73 := [trans #71 #44]: #72
-#75 := [monotonicity #39 #73]: #74
-#77 := [trans #75 #51]: #76
-#79 := [monotonicity #39 #77]: #78
-#81 := [trans #79 #44]: #80
-#84 := [monotonicity #81]: #83
-#88 := [trans #84 #86]: #87
-#36 := [asserted]: #19
-[mp #36 #88]: false
-unsat
-c40695de865e974fcc0b75b4d6410d1fe4a01cbd 149 0
-#2 := false
-decl f5 :: S1
-#12 := f5
-decl f1 :: S1
-#4 := f1
-#44 := (= f1 f5)
-decl f4 :: S1
-#10 := f4
-#41 := (= f1 f4)
-decl f3 :: S1
-#8 := f3
-#38 := (= f1 f3)
-#47 := (ite #38 #41 #44)
-#53 := (not #38)
-#54 := (or #53 #41)
-#64 := (or #38 #44)
-#91 := (not #64)
-#90 := (not #54)
-#92 := (or #90 #91)
-#143 := [hypothesis]: #90
-#128 := (or #92 #54)
-#129 := [def-axiom]: #128
-#144 := [unit-resolution #129 #143]: #92
-#78 := (not #47)
-#116 := (or #54 #38)
-#117 := [def-axiom]: #116
-#145 := [unit-resolution #117 #143]: #38
-#110 := (not #41)
-#118 := (or #54 #110)
-#119 := [def-axiom]: #118
-#146 := [unit-resolution #119 #143]: #110
-#106 := (or #78 #53 #41)
-#107 := [def-axiom]: #106
-#147 := [unit-resolution #107 #146 #145]: #78
-#93 := (not #92)
-#137 := (or #47 #93)
-#100 := (iff #47 #92)
-#69 := (and #54 #64)
-#79 := (iff #69 #78)
-#103 := (iff #79 #100)
-#95 := (iff #92 #47)
-#101 := (iff #95 #100)
-#102 := [rewrite]: #101
-#98 := (iff #79 #95)
-#87 := (iff #93 #78)
-#96 := (iff #87 #95)
-#97 := [rewrite]: #96
-#84 := (iff #79 #87)
-#88 := (iff #69 #93)
-#89 := [rewrite]: #88
-#94 := [monotonicity #89]: #84
-#99 := [trans #94 #97]: #98
-#104 := [trans #99 #102]: #103
-#13 := (= f5 f1)
-#9 := (= f3 f1)
-#16 := (not #9)
-#17 := (implies #16 #13)
-#11 := (= f4 f1)
-#15 := (implies #9 #11)
-#18 := (and #15 #17)
-#14 := (ite #9 #11 #13)
-#19 := (iff #14 #18)
-#20 := (not #19)
-#82 := (iff #20 #79)
-#72 := (iff #47 #69)
-#75 := (not #72)
-#80 := (iff #75 #79)
-#81 := [rewrite]: #80
-#76 := (iff #20 #75)
-#73 := (iff #19 #72)
-#70 := (iff #18 #69)
-#67 := (iff #17 #64)
-#61 := (implies #53 #44)
-#65 := (iff #61 #64)
-#66 := [rewrite]: #65
-#62 := (iff #17 #61)
-#45 := (iff #13 #44)
-#46 := [rewrite]: #45
-#59 := (iff #16 #53)
-#39 := (iff #9 #38)
-#40 := [rewrite]: #39
-#60 := [monotonicity #40]: #59
-#63 := [monotonicity #60 #46]: #62
-#68 := [trans #63 #66]: #67
-#57 := (iff #15 #54)
-#50 := (implies #38 #41)
-#55 := (iff #50 #54)
-#56 := [rewrite]: #55
-#51 := (iff #15 #50)
-#42 := (iff #11 #41)
-#43 := [rewrite]: #42
-#52 := [monotonicity #40 #43]: #51
-#58 := [trans #52 #56]: #57
-#71 := [monotonicity #58 #68]: #70
-#48 := (iff #14 #47)
-#49 := [monotonicity #40 #43 #46]: #48
-#74 := [monotonicity #49 #71]: #73
-#77 := [monotonicity #74]: #76
-#83 := [trans #77 #81]: #82
-#37 := [asserted]: #20
-#86 := [mp #37 #83]: #79
-#105 := [mp #86 #104]: #100
-#134 := (not #100)
-#135 := (or #47 #93 #134)
-#136 := [def-axiom]: #135
-#138 := [unit-resolution #136 #105]: #137
-#148 := [unit-resolution #138 #147 #144]: false
-#149 := [lemma #148]: #54
-#150 := [hypothesis]: #78
-#156 := (or #38 #47)
-#151 := [unit-resolution #138 #150]: #93
-#130 := (or #92 #64)
-#131 := [def-axiom]: #130
-#152 := [unit-resolution #131 #151]: #64
-#153 := [hypothesis]: #53
-#113 := (not #44)
-#114 := (or #47 #38 #113)
-#115 := [def-axiom]: #114
-#154 := [unit-resolution #115 #153 #150]: #113
-#126 := (or #91 #38 #44)
-#127 := [def-axiom]: #126
-#155 := [unit-resolution #127 #154 #153 #152]: false
-#157 := [lemma #155]: #156
-#158 := [unit-resolution #157 #150]: #38
-#111 := (or #47 #53 #110)
-#112 := [def-axiom]: #111
-#159 := [unit-resolution #112 #158 #150]: #110
-#120 := (or #90 #53 #41)
-#121 := [def-axiom]: #120
-#160 := [unit-resolution #121 #159 #158 #149]: false
-#161 := [lemma #160]: #47
-#141 := (or #78 #92)
-#139 := (or #78 #92 #134)
-#140 := [def-axiom]: #139
-#142 := [unit-resolution #140 #105]: #141
-#162 := [unit-resolution #142 #161]: #92
-#132 := (or #93 #90 #91)
-#133 := [def-axiom]: #132
-#163 := [unit-resolution #133 #162 #149]: #91
-#122 := (or #64 #53)
-#123 := [def-axiom]: #122
-#164 := [unit-resolution #123 #163]: #53
-#124 := (or #64 #113)
-#125 := [def-axiom]: #124
-#165 := [unit-resolution #125 #163]: #113
-#108 := (or #78 #38 #44)
-#109 := [def-axiom]: #108
-[unit-resolution #109 #165 #164 #161]: false
-unsat
-4559f9cf103133ca42ad9e775fb6027fe7dbf044 66 0
-#2 := false
-decl f3 :: S1
-#8 := f3
-decl f1 :: S1
-#4 := f1
-#33 := (= f1 f3)
-#51 := (not #33)
-#87 := [hypothesis]: #33
-decl f4 :: S1
-#10 := f4
-#36 := (= f1 f4)
-#42 := (not #36)
-#43 := (or #33 #42)
-#69 := (or #43 #51)
-#70 := [def-axiom]: #69
-#88 := [unit-resolution #70 #87]: #43
-#67 := (not #43)
-#89 := (or #51 #67)
-#52 := (or #51 #36)
-#57 := (ite #33 #43 #52)
-#60 := (not #57)
-#11 := (= f4 f1)
-#9 := (= f3 f1)
-#13 := (implies #9 #11)
-#12 := (implies #11 #9)
-#14 := (ite #9 #12 #13)
-#15 := (not #14)
-#61 := (iff #15 #60)
-#58 := (iff #14 #57)
-#55 := (iff #13 #52)
-#48 := (implies #33 #36)
-#53 := (iff #48 #52)
-#54 := [rewrite]: #53
-#49 := (iff #13 #48)
-#37 := (iff #11 #36)
-#38 := [rewrite]: #37
-#34 := (iff #9 #33)
-#35 := [rewrite]: #34
-#50 := [monotonicity #35 #38]: #49
-#56 := [trans #50 #54]: #55
-#46 := (iff #12 #43)
-#39 := (implies #36 #33)
-#44 := (iff #39 #43)
-#45 := [rewrite]: #44
-#40 := (iff #12 #39)
-#41 := [monotonicity #38 #35]: #40
-#47 := [trans #41 #45]: #46
-#59 := [monotonicity #35 #47 #56]: #58
-#62 := [monotonicity #59]: #61
-#32 := [asserted]: #15
-#65 := [mp #32 #62]: #60
-#83 := (or #57 #51 #67)
-#84 := [def-axiom]: #83
-#90 := [unit-resolution #84 #65]: #89
-#91 := [unit-resolution #90 #88 #87]: false
-#92 := [lemma #91]: #51
-#63 := (or #52 #33)
-#73 := [def-axiom]: #63
-#93 := [unit-resolution #73 #92]: #52
-#76 := (not #52)
-#94 := (or #33 #76)
-#85 := (or #57 #33 #76)
-#86 := [def-axiom]: #85
-#95 := [unit-resolution #86 #65]: #94
-[unit-resolution #95 #93 #92]: false
-unsat
-453c8097706770edcac8e1bbb9fbf7c33a26c5af 67 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f6 :: S1
-#15 := f6
-#16 := (= f6 f1)
-decl f5 :: S1
-#13 := f5
-#14 := (= f5 f1)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#18 := (ite #11 #14 #16)
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#19 := (ite #9 #14 #18)
-#12 := (or #9 #11)
-#17 := (ite #12 #14 #16)
-#20 := (iff #17 #19)
-#21 := (not #20)
-#79 := (iff #21 false)
-#1 := true
-#74 := (not true)
-#77 := (iff #74 false)
-#78 := [rewrite]: #77
-#75 := (iff #21 #74)
-#72 := (iff #20 true)
-#51 := (= f1 f6)
-#48 := (= f1 f5)
-#42 := (= f1 f4)
-#39 := (= f1 f3)
-#45 := (or #39 #42)
-#54 := (ite #45 #48 #51)
-#67 := (iff #54 #54)
-#70 := (iff #67 true)
-#71 := [rewrite]: #70
-#68 := (iff #20 #67)
-#65 := (iff #19 #54)
-#57 := (ite #42 #48 #51)
-#60 := (ite #39 #48 #57)
-#63 := (iff #60 #54)
-#64 := [rewrite]: #63
-#61 := (iff #19 #60)
-#58 := (iff #18 #57)
-#52 := (iff #16 #51)
-#53 := [rewrite]: #52
-#49 := (iff #14 #48)
-#50 := [rewrite]: #49
-#43 := (iff #11 #42)
-#44 := [rewrite]: #43
-#59 := [monotonicity #44 #50 #53]: #58
-#40 := (iff #9 #39)
-#41 := [rewrite]: #40
-#62 := [monotonicity #41 #50 #59]: #61
-#66 := [trans #62 #64]: #65
-#55 := (iff #17 #54)
-#46 := (iff #12 #45)
-#47 := [monotonicity #41 #44]: #46
-#56 := [monotonicity #47 #50 #53]: #55
-#69 := [monotonicity #56 #66]: #68
-#73 := [trans #69 #71]: #72
-#76 := [monotonicity #73]: #75
-#80 := [trans #76 #78]: #79
-#38 := [asserted]: #21
-[mp #38 #80]: false
-unsat
-650ce0aefeedeac8455717747dd9f90168da27bb 67 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f6 :: S1
-#15 := f6
-#16 := (= f6 f1)
-decl f5 :: S1
-#13 := f5
-#14 := (= f5 f1)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#18 := (ite #11 #14 #16)
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#19 := (ite #9 #18 #16)
-#12 := (and #9 #11)
-#17 := (ite #12 #14 #16)
-#20 := (iff #17 #19)
-#21 := (not #20)
-#79 := (iff #21 false)
-#1 := true
-#74 := (not true)
-#77 := (iff #74 false)
-#78 := [rewrite]: #77
-#75 := (iff #21 #74)
-#72 := (iff #20 true)
-#51 := (= f1 f6)
-#48 := (= f1 f5)
-#42 := (= f1 f4)
-#39 := (= f1 f3)
-#45 := (and #39 #42)
-#54 := (ite #45 #48 #51)
-#67 := (iff #54 #54)
-#70 := (iff #67 true)
-#71 := [rewrite]: #70
-#68 := (iff #20 #67)
-#65 := (iff #19 #54)
-#57 := (ite #42 #48 #51)
-#60 := (ite #39 #57 #51)
-#63 := (iff #60 #54)
-#64 := [rewrite]: #63
-#61 := (iff #19 #60)
-#52 := (iff #16 #51)
-#53 := [rewrite]: #52
-#58 := (iff #18 #57)
-#49 := (iff #14 #48)
-#50 := [rewrite]: #49
-#43 := (iff #11 #42)
-#44 := [rewrite]: #43
-#59 := [monotonicity #44 #50 #53]: #58
-#40 := (iff #9 #39)
-#41 := [rewrite]: #40
-#62 := [monotonicity #41 #59 #53]: #61
-#66 := [trans #62 #64]: #65
-#55 := (iff #17 #54)
-#46 := (iff #12 #45)
-#47 := [monotonicity #41 #44]: #46
-#56 := [monotonicity #47 #50 #53]: #55
-#69 := [monotonicity #56 #66]: #68
-#73 := [trans #69 #71]: #72
-#76 := [monotonicity #73]: #75
-#80 := [trans #76 #78]: #79
-#38 := [asserted]: #21
-[mp #38 #80]: false
-unsat
-ee0014e770bb12c9a43047b17bc55a374085eace 186 0
-#2 := false
-decl f5 :: S1
-#12 := f5
-decl f1 :: S1
-#4 := f1
-#47 := (= f1 f5)
-decl f3 :: S1
-#8 := f3
-#41 := (= f1 f3)
-#59 := (not #41)
-#76 := (or #59 #47)
-#119 := (not #76)
-decl f4 :: S1
-#10 := f4
-#44 := (= f1 f4)
-#68 := (or #59 #44)
-decl f6 :: S1
-#14 := f6
-#50 := (= f1 f6)
-#84 := (or #59 #50)
-#89 := (ite #68 #76 #84)
-#130 := (not #89)
-#53 := (ite #44 #47 #50)
-#60 := (or #59 #53)
-#112 := (not #44)
-#165 := [hypothesis]: #112
-#172 := (or #60 #44)
-#98 := (not #60)
-#163 := [hypothesis]: #98
-#148 := (or #60 #41)
-#149 := [def-axiom]: #148
-#164 := [unit-resolution #149 #163]: #41
-#124 := (not #50)
-#139 := (not #53)
-#150 := (or #60 #139)
-#151 := [def-axiom]: #150
-#166 := [unit-resolution #151 #163]: #139
-#146 := (or #53 #44 #124)
-#147 := [def-axiom]: #146
-#167 := [unit-resolution #147 #166 #165]: #124
-#157 := (or #89 #60)
-#99 := (iff #89 #98)
-#15 := (= f6 f1)
-#9 := (= f3 f1)
-#20 := (implies #9 #15)
-#13 := (= f5 f1)
-#19 := (implies #9 #13)
-#11 := (= f4 f1)
-#18 := (implies #9 #11)
-#21 := (ite #18 #19 #20)
-#16 := (ite #11 #13 #15)
-#17 := (implies #9 #16)
-#22 := (iff #17 #21)
-#23 := (not #22)
-#102 := (iff #23 #99)
-#92 := (iff #60 #89)
-#95 := (not #92)
-#100 := (iff #95 #99)
-#101 := [rewrite]: #100
-#96 := (iff #23 #95)
-#93 := (iff #22 #92)
-#90 := (iff #21 #89)
-#87 := (iff #20 #84)
-#81 := (implies #41 #50)
-#85 := (iff #81 #84)
-#86 := [rewrite]: #85
-#82 := (iff #20 #81)
-#51 := (iff #15 #50)
-#52 := [rewrite]: #51
-#42 := (iff #9 #41)
-#43 := [rewrite]: #42
-#83 := [monotonicity #43 #52]: #82
-#88 := [trans #83 #86]: #87
-#79 := (iff #19 #76)
-#73 := (implies #41 #47)
-#77 := (iff #73 #76)
-#78 := [rewrite]: #77
-#74 := (iff #19 #73)
-#48 := (iff #13 #47)
-#49 := [rewrite]: #48
-#75 := [monotonicity #43 #49]: #74
-#80 := [trans #75 #78]: #79
-#71 := (iff #18 #68)
-#65 := (implies #41 #44)
-#69 := (iff #65 #68)
-#70 := [rewrite]: #69
-#66 := (iff #18 #65)
-#45 := (iff #11 #44)
-#46 := [rewrite]: #45
-#67 := [monotonicity #43 #46]: #66
-#72 := [trans #67 #70]: #71
-#91 := [monotonicity #72 #80 #88]: #90
-#63 := (iff #17 #60)
-#56 := (implies #41 #53)
-#61 := (iff #56 #60)
-#62 := [rewrite]: #61
-#57 := (iff #17 #56)
-#54 := (iff #16 #53)
-#55 := [monotonicity #46 #49 #52]: #54
-#58 := [monotonicity #43 #55]: #57
-#64 := [trans #58 #62]: #63
-#94 := [monotonicity #64 #91]: #93
-#97 := [monotonicity #94]: #96
-#103 := [trans #97 #101]: #102
-#40 := [asserted]: #23
-#106 := [mp #40 #103]: #99
-#154 := (not #99)
-#155 := (or #89 #60 #154)
-#156 := [def-axiom]: #155
-#158 := [unit-resolution #156 #106]: #157
-#168 := [unit-resolution #158 #163]: #89
-#109 := (not #68)
-#107 := (or #109 #59 #44)
-#104 := [def-axiom]: #107
-#169 := [unit-resolution #104 #164 #165]: #109
-#133 := (or #130 #68 #84)
-#134 := [def-axiom]: #133
-#170 := [unit-resolution #134 #169 #168]: #84
-#127 := (not #84)
-#128 := (or #127 #59 #50)
-#129 := [def-axiom]: #128
-#171 := [unit-resolution #129 #170 #167 #164]: false
-#173 := [lemma #171]: #172
-#176 := [unit-resolution #173 #165]: #60
-#161 := (or #130 #98)
-#159 := (or #130 #98 #154)
-#160 := [def-axiom]: #159
-#162 := [unit-resolution #160 #106]: #161
-#182 := [unit-resolution #162 #176]: #130
-#180 := (or #84 #44)
-#174 := [hypothesis]: #127
-#125 := (or #84 #124)
-#126 := [def-axiom]: #125
-#175 := [unit-resolution #126 #174]: #124
-#122 := (or #84 #41)
-#123 := [def-axiom]: #122
-#177 := [unit-resolution #123 #174]: #41
-#152 := (or #98 #59 #53)
-#153 := [def-axiom]: #152
-#178 := [unit-resolution #153 #177 #176]: #53
-#142 := (or #139 #44 #50)
-#143 := [def-axiom]: #142
-#179 := [unit-resolution #143 #178 #175 #165]: false
-#181 := [lemma #179]: #180
-#183 := [unit-resolution #181 #165]: #84
-#137 := (or #89 #68 #127)
-#138 := [def-axiom]: #137
-#184 := [unit-resolution #138 #183 #182]: #68
-#135 := (or #89 #109 #119)
-#136 := [def-axiom]: #135
-#185 := [unit-resolution #136 #184 #182]: #119
-#186 := [unit-resolution #104 #184 #165]: #59
-#114 := (or #76 #41)
-#115 := [def-axiom]: #114
-#187 := [unit-resolution #115 #186 #185]: false
-#188 := [lemma #187]: #44
-#113 := (or #68 #112)
-#108 := [def-axiom]: #113
-#191 := [unit-resolution #108 #188]: #68
-#189 := [hypothesis]: #59
-#190 := [unit-resolution #149 #189]: #60
-#192 := [unit-resolution #115 #189]: #76
-#193 := [unit-resolution #136 #192 #191]: #89
-#194 := [unit-resolution #162 #193 #190]: false
-#195 := [lemma #194]: #41
-#116 := (not #47)
-#144 := (or #53 #112 #116)
-#145 := [def-axiom]: #144
-#196 := [unit-resolution #145 #166 #188]: #116
-#131 := (or #130 #109 #76)
-#132 := [def-axiom]: #131
-#197 := [unit-resolution #132 #168 #191]: #76
-#120 := (or #119 #59 #47)
-#121 := [def-axiom]: #120
-#198 := [unit-resolution #121 #197 #196 #195]: false
-#199 := [lemma #198]: #60
-#200 := [unit-resolution #162 #199]: #130
-#201 := [unit-resolution #136 #200 #191]: #119
-#202 := [unit-resolution #153 #199 #195]: #53
-#140 := (or #139 #112 #47)
-#141 := [def-axiom]: #140
-#203 := [unit-resolution #141 #202 #188]: #47
-#117 := (or #76 #116)
-#118 := [def-axiom]: #117
-[unit-resolution #118 #203 #201]: false
-unsat
-412649a38963841ee4cc1fd44ea953cb67369cff 33 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#10 := (not #9)
-#11 := (ite #9 #9 #10)
-#12 := (not #11)
-#48 := (iff #12 false)
-#1 := true
-#43 := (not true)
-#46 := (iff #43 false)
-#47 := [rewrite]: #46
-#44 := (iff #12 #43)
-#41 := (iff #11 true)
-#30 := (= f1 f3)
-#33 := (not #30)
-#36 := (ite #30 #30 #33)
-#39 := (iff #36 true)
-#40 := [rewrite]: #39
-#37 := (iff #11 #36)
-#34 := (iff #10 #33)
-#31 := (iff #9 #30)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#38 := [monotonicity #32 #32 #35]: #37
-#42 := [trans #38 #40]: #41
-#45 := [monotonicity #42]: #44
-#49 := [trans #45 #47]: #48
-#29 := [asserted]: #12
-[mp #29 #49]: false
-unsat
-cdb5c3594738ea620a30a8c35e72deba5b933ff1 33 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#10 := (not #9)
-#11 := (ite #10 #10 #9)
-#12 := (not #11)
-#48 := (iff #12 false)
-#1 := true
-#43 := (not true)
-#46 := (iff #43 false)
-#47 := [rewrite]: #46
-#44 := (iff #12 #43)
-#41 := (iff #11 true)
-#30 := (= f1 f3)
-#33 := (not #30)
-#36 := (ite #33 #33 #30)
-#39 := (iff #36 true)
-#40 := [rewrite]: #39
-#37 := (iff #11 #36)
-#31 := (iff #9 #30)
-#32 := [rewrite]: #31
-#34 := (iff #10 #33)
-#35 := [monotonicity #32]: #34
-#38 := [monotonicity #35 #35 #32]: #37
-#42 := [trans #38 #40]: #41
-#45 := [monotonicity #42]: #44
-#49 := [trans #45 #47]: #48
-#29 := [asserted]: #12
-[mp #29 #49]: false
-unsat
-3fdfe28cd079db59b06011ec3a9e5833720e3939 18 0
-#2 := false
-decl f3 :: S2
-#8 := f3
-#9 := (= f3 f3)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-138a3ace8cb85475ff652dca20ea653b9ddc0574 29 0
-#2 := false
-decl f3 :: S2
-#8 := f3
-decl f4 :: S2
-#9 := f4
-#11 := (= f4 f3)
-#10 := (= f3 f4)
-#12 := (implies #10 #11)
-#13 := (not #12)
-#45 := (iff #13 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #13 #40)
-#38 := (iff #12 true)
-#33 := (implies #10 #10)
-#36 := (iff #33 true)
-#37 := [rewrite]: #36
-#34 := (iff #12 #33)
-#31 := (iff #11 #10)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#30 := [asserted]: #13
-[mp #30 #46]: false
-unsat
-2aab8007d3f04ab47357a32e4f86dbadd477fa43 34 0
-#2 := false
-decl f5 :: S2
-#11 := f5
-decl f3 :: S2
-#8 := f3
-#14 := (= f3 f5)
-decl f4 :: S2
-#9 := f4
-#12 := (= f4 f5)
-#58 := (iff #12 #14)
-#56 := (iff #14 #12)
-#10 := (= f3 f4)
-#13 := (and #10 #12)
-#34 := (not #13)
-#35 := (or #34 #14)
-#38 := (not #35)
-#15 := (implies #13 #14)
-#16 := (not #15)
-#39 := (iff #16 #38)
-#36 := (iff #15 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#33 := [asserted]: #16
-#43 := [mp #33 #40]: #38
-#41 := [not-or-elim #43]: #13
-#42 := [and-elim #41]: #10
-#57 := [monotonicity #42]: #56
-#59 := [symm #57]: #58
-#44 := [and-elim #41]: #12
-#54 := [mp #44 #59]: #14
-#45 := (not #14)
-#46 := [not-or-elim #43]: #45
-[unit-resolution #46 #54]: false
-unsat
-5aeacb8767661e0089f1bee00da51c74406606e7 27 0
-#2 := false
-decl f5 :: (-> S2 S2)
-decl f4 :: S2
-#9 := f4
-#12 := (f5 f4)
-decl f3 :: S2
-#8 := f3
-#11 := (f5 f3)
-#13 := (= #11 #12)
-#10 := (= f3 f4)
-#33 := (not #10)
-#34 := (or #33 #13)
-#37 := (not #34)
-#14 := (implies #10 #13)
-#15 := (not #14)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#32 := [asserted]: #15
-#42 := [mp #32 #39]: #37
-#40 := [not-or-elim #42]: #10
-#51 := [monotonicity #40]: #13
-#41 := (not #13)
-#43 := [not-or-elim #42]: #41
-[unit-resolution #43 #51]: false
-unsat
-0192b9e7527c6d595018662e41e3d823b138754c 31 0
-#2 := false
-decl f5 :: (-> S2 S2 S3)
-decl f3 :: S2
-#8 := f3
-decl f4 :: S2
-#9 := f4
-#12 := (f5 f4 f3)
-#11 := (f5 f3 f4)
-#13 := (= #11 #12)
-#53 := (= #12 #11)
-#10 := (= f3 f4)
-#33 := (not #10)
-#34 := (or #33 #13)
-#37 := (not #34)
-#14 := (implies #10 #13)
-#15 := (not #14)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#32 := [asserted]: #15
-#42 := [mp #32 #39]: #37
-#40 := [not-or-elim #42]: #10
-#51 := (= f4 f3)
-#52 := [symm #40]: #51
-#54 := [monotonicity #52 #40]: #53
-#49 := [symm #54]: #13
-#41 := (not #13)
-#43 := [not-or-elim #42]: #41
-[unit-resolution #43 #49]: false
-unsat
-a4fc389fafe13e91a7fdc713fbb6f0ce7029805d 63 0
-#2 := false
-decl f3 :: (-> S2 S2)
-decl f4 :: S2
-#8 := f4
-#9 := (f3 f4)
-#46 := (= f4 #9)
-#10 := (f3 #9)
-#12 := (f3 #10)
-#78 := (= #12 #9)
-#76 := (= #9 #12)
-#37 := (= f4 #10)
-#13 := (f3 #12)
-#14 := (f3 #13)
-#40 := (= f4 #14)
-#43 := (and #37 #40)
-#52 := (not #43)
-#53 := (or #52 #46)
-#58 := (not #53)
-#17 := (= #9 f4)
-#15 := (= #14 f4)
-#11 := (= #10 f4)
-#16 := (and #11 #15)
-#18 := (implies #16 #17)
-#19 := (not #18)
-#59 := (iff #19 #58)
-#56 := (iff #18 #53)
-#49 := (implies #43 #46)
-#54 := (iff #49 #53)
-#55 := [rewrite]: #54
-#50 := (iff #18 #49)
-#47 := (iff #17 #46)
-#48 := [rewrite]: #47
-#44 := (iff #16 #43)
-#41 := (iff #15 #40)
-#42 := [rewrite]: #41
-#38 := (iff #11 #37)
-#39 := [rewrite]: #38
-#45 := [monotonicity #39 #42]: #44
-#51 := [monotonicity #45 #48]: #50
-#57 := [trans #51 #55]: #56
-#60 := [monotonicity #57]: #59
-#36 := [asserted]: #19
-#63 := [mp #36 #60]: #58
-#61 := [not-or-elim #63]: #43
-#62 := [and-elim #61]: #37
-#77 := [monotonicity #62]: #76
-#79 := [symm #77]: #78
-#81 := (= f4 #12)
-#67 := (= #14 #12)
-#70 := (= #12 #14)
-#72 := (= #10 #13)
-#74 := (= #13 #10)
-#75 := [monotonicity #79]: #74
-#73 := [symm #75]: #72
-#71 := [monotonicity #73]: #70
-#80 := [symm #71]: #67
-#64 := [and-elim #61]: #40
-#82 := [trans #64 #80]: #81
-#83 := [trans #82 #79]: #46
-#65 := (not #46)
-#66 := [not-or-elim #63]: #65
-[unit-resolution #66 #83]: false
-unsat
-5a01b8711c838d753166b92be13bae6fe9cd2136 195 0
-#2 := false
-decl f6 :: S2
-#13 := f6
-decl f4 :: S2
-#10 := f4
-#15 := (= f4 f6)
-decl f5 :: S2
-#11 := f5
-decl f3 :: S1
-#8 := f3
-decl f1 :: S1
-#4 := f1
-#40 := (= f1 f3)
-#43 := (ite #40 f4 f5)
-#49 := (= f6 #43)
-#200 := (iff #49 #15)
-#198 := (iff #15 #49)
-#46 := (= #43 f6)
-#50 := (iff #46 #49)
-#197 := [commutativity]: #50
-#195 := (iff #15 #46)
-#110 := (= f4 #43)
-#111 := (= f5 #43)
-#57 := (not #40)
-#180 := [hypothesis]: #57
-#114 := (or #40 #111)
-#115 := [def-axiom]: #114
-#184 := [unit-resolution #115 #180]: #111
-#185 := (= f6 f5)
-#18 := (= f5 f6)
-#174 := (iff #110 #15)
-#172 := (iff #15 #110)
-#68 := (or #18 #40)
-#95 := (not #68)
-#58 := (or #15 #57)
-#94 := (not #58)
-#96 := (or #94 #95)
-#123 := (not #18)
-#147 := [hypothesis]: #123
-#157 := (or #96 #18)
-#97 := (not #96)
-#145 := [hypothesis]: #97
-#132 := (or #96 #68)
-#133 := [def-axiom]: #132
-#148 := [unit-resolution #133 #145]: #68
-#128 := (or #95 #18 #40)
-#129 := [def-axiom]: #128
-#149 := [unit-resolution #129 #148 #147]: #40
-#112 := (or #57 #110)
-#113 := [def-axiom]: #112
-#150 := [unit-resolution #113 #149]: #110
-#153 := (= f6 f4)
-#130 := (or #96 #58)
-#131 := [def-axiom]: #130
-#151 := [unit-resolution #131 #145]: #58
-#121 := (or #94 #15 #57)
-#122 := [def-axiom]: #121
-#152 := [unit-resolution #122 #149 #151]: #15
-#154 := [symm #152]: #153
-#155 := [trans #154 #150]: #49
-#82 := (not #49)
-#143 := (or #82 #96)
-#104 := (iff #49 #96)
-#73 := (and #58 #68)
-#83 := (iff #73 #82)
-#107 := (iff #83 #104)
-#99 := (iff #96 #49)
-#105 := (iff #99 #104)
-#106 := [rewrite]: #105
-#102 := (iff #83 #99)
-#91 := (iff #97 #82)
-#100 := (iff #91 #99)
-#101 := [rewrite]: #100
-#88 := (iff #83 #91)
-#92 := (iff #73 #97)
-#93 := [rewrite]: #92
-#98 := [monotonicity #93]: #88
-#103 := [trans #98 #101]: #102
-#108 := [trans #103 #106]: #107
-#9 := (= f3 f1)
-#17 := (not #9)
-#19 := (implies #17 #18)
-#16 := (implies #9 #15)
-#20 := (and #16 #19)
-#12 := (ite #9 f4 f5)
-#14 := (= #12 f6)
-#21 := (iff #14 #20)
-#22 := (not #21)
-#86 := (iff #22 #83)
-#76 := (iff #49 #73)
-#79 := (not #76)
-#84 := (iff #79 #83)
-#85 := [rewrite]: #84
-#80 := (iff #22 #79)
-#77 := (iff #21 #76)
-#74 := (iff #20 #73)
-#71 := (iff #19 #68)
-#65 := (implies #57 #18)
-#69 := (iff #65 #68)
-#70 := [rewrite]: #69
-#66 := (iff #19 #65)
-#63 := (iff #17 #57)
-#41 := (iff #9 #40)
-#42 := [rewrite]: #41
-#64 := [monotonicity #42]: #63
-#67 := [monotonicity #64]: #66
-#72 := [trans #67 #70]: #71
-#61 := (iff #16 #58)
-#54 := (implies #40 #15)
-#59 := (iff #54 #58)
-#60 := [rewrite]: #59
-#55 := (iff #16 #54)
-#56 := [monotonicity #42]: #55
-#62 := [trans #56 #60]: #61
-#75 := [monotonicity #62 #72]: #74
-#52 := (iff #14 #49)
-#51 := [rewrite]: #50
-#47 := (iff #14 #46)
-#44 := (= #12 #43)
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#53 := [trans #48 #51]: #52
-#78 := [monotonicity #53 #75]: #77
-#81 := [monotonicity #78]: #80
-#87 := [trans #81 #85]: #86
-#39 := [asserted]: #22
-#90 := [mp #39 #87]: #83
-#109 := [mp #90 #108]: #104
-#136 := (not #104)
-#141 := (or #82 #96 #136)
-#142 := [def-axiom]: #141
-#144 := [unit-resolution #142 #109]: #143
-#146 := [unit-resolution #144 #145]: #82
-#156 := [unit-resolution #146 #155]: false
-#158 := [lemma #156]: #157
-#159 := [unit-resolution #158 #147]: #96
-#139 := (or #49 #97)
-#137 := (or #49 #97 #136)
-#138 := [def-axiom]: #137
-#140 := [unit-resolution #138 #109]: #139
-#160 := [unit-resolution #140 #159]: #49
-#173 := [monotonicity #160]: #172
-#175 := [symm #173]: #174
-#163 := (not #111)
-#164 := (iff #123 #163)
-#161 := (iff #18 #111)
-#162 := [monotonicity #160]: #161
-#165 := [monotonicity #162]: #164
-#166 := [mp #147 #165]: #163
-#167 := [unit-resolution #115 #166]: #40
-#171 := [unit-resolution #113 #167]: #110
-#176 := [mp #171 #175]: #15
-#116 := (not #15)
-#126 := (or #68 #57)
-#127 := [def-axiom]: #126
-#168 := [unit-resolution #127 #167]: #68
-#134 := (or #97 #94 #95)
-#135 := [def-axiom]: #134
-#169 := [unit-resolution #135 #168 #159]: #94
-#117 := (or #58 #116)
-#118 := [def-axiom]: #117
-#170 := [unit-resolution #118 #169]: #116
-#177 := [unit-resolution #170 #176]: false
-#178 := [lemma #177]: #18
-#186 := [symm #178]: #185
-#187 := [trans #186 #184]: #49
-#124 := (or #68 #123)
-#125 := [def-axiom]: #124
-#179 := [unit-resolution #125 #178]: #68
-#119 := (or #58 #40)
-#120 := [def-axiom]: #119
-#181 := [unit-resolution #120 #180]: #58
-#182 := [unit-resolution #135 #181 #179]: #97
-#183 := [unit-resolution #144 #182]: #82
-#188 := [unit-resolution #183 #187]: false
-#189 := [lemma #188]: #40
-#194 := [unit-resolution #113 #189]: #110
-#196 := [monotonicity #194]: #195
-#199 := [trans #196 #197]: #198
-#201 := [symm #199]: #200
-#202 := (iff #82 #116)
-#203 := [monotonicity #201]: #202
-#190 := [hypothesis]: #82
-#204 := [mp #190 #203]: #116
-#191 := [unit-resolution #140 #190]: #97
-#192 := [unit-resolution #131 #191]: #58
-#193 := [unit-resolution #122 #192 #189]: #15
-#205 := [unit-resolution #193 #204]: false
-#206 := [lemma #205]: #49
-#210 := [mp #206 #201]: #15
-#207 := [unit-resolution #144 #206]: #96
-#208 := [unit-resolution #135 #207 #179]: #94
-#209 := [unit-resolution #118 #208]: #116
-[unit-resolution #209 #210]: false
-unsat
-ec4d1a12b3f23ddd6f880458ababd57fd69399e9 36 0
-#2 := false
-decl f5 :: S2
-#10 := f5
-decl f3 :: S2
-#8 := f3
-#12 := (= f3 f5)
-#13 := (not #12)
-decl f4 :: S2
-#9 := f4
-#11 := (distinct f3 f4 f5)
-#33 := (not #11)
-#34 := (or #33 #13)
-#37 := (not #34)
-#14 := (implies #11 #13)
-#15 := (not #14)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#32 := [asserted]: #15
-#42 := [mp #32 #39]: #37
-#41 := [not-or-elim #42]: #12
-#52 := (= f4 f5)
-#53 := (not #52)
-#50 := (= f3 f4)
-#51 := (not #50)
-#48 := (and #51 #13 #53)
-#40 := [not-or-elim #42]: #11
-#58 := (or #33 #48)
-#59 := [def-axiom]: #58
-#62 := [unit-resolution #59 #40]: #48
-#49 := (not #48)
-#45 := (or #49 #13)
-#43 := [def-axiom]: #45
-[unit-resolution #43 #62 #41]: false
-unsat
-bb1f7f82c156e4b85608a3fcfce6206c30c1bb93 77 0
-#2 := false
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#81 := (= f3 f4)
-decl f6 :: S2
-#12 := f6
-#36 := (= f4 f6)
-#100 := (iff #36 #81)
-#98 := (iff #81 #36)
-#13 := (= f6 f4)
-#37 := (iff #13 #36)
-#97 := [commutativity]: #37
-#95 := (iff #81 #13)
-#14 := (= f3 f6)
-#42 := (not #36)
-#15 := (not #14)
-decl f5 :: S2
-#10 := f5
-#11 := (distinct f3 f4 f5)
-#51 := (not #11)
-#60 := (or #51 #15 #42)
-#63 := (not #60)
-#16 := (implies #13 #15)
-#17 := (implies #11 #16)
-#18 := (not #17)
-#66 := (iff #18 #63)
-#43 := (or #15 #42)
-#52 := (or #51 #43)
-#57 := (not #52)
-#64 := (iff #57 #63)
-#61 := (iff #52 #60)
-#62 := [rewrite]: #61
-#65 := [monotonicity #62]: #64
-#58 := (iff #18 #57)
-#55 := (iff #17 #52)
-#48 := (implies #11 #43)
-#53 := (iff #48 #52)
-#54 := [rewrite]: #53
-#49 := (iff #17 #48)
-#46 := (iff #16 #43)
-#39 := (implies #36 #15)
-#44 := (iff #39 #43)
-#45 := [rewrite]: #44
-#40 := (iff #16 #39)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#47 := [trans #41 #45]: #46
-#50 := [monotonicity #47]: #49
-#56 := [trans #50 #54]: #55
-#59 := [monotonicity #56]: #58
-#67 := [trans #59 #65]: #66
-#35 := [asserted]: #18
-#68 := [mp #35 #67]: #63
-#70 := [not-or-elim #68]: #14
-#96 := [monotonicity #70]: #95
-#99 := [trans #96 #97]: #98
-#101 := [symm #99]: #100
-#71 := [not-or-elim #68]: #36
-#102 := [mp #71 #101]: #81
-#82 := (not #81)
-#79 := (= f4 f5)
-#80 := (not #79)
-#83 := (= f3 f5)
-#84 := (not #83)
-#77 := (and #82 #84 #80)
-#69 := [not-or-elim #68]: #11
-#89 := (or #51 #77)
-#90 := [def-axiom]: #89
-#93 := [unit-resolution #90 #69]: #77
-#78 := (not #77)
-#75 := (or #78 #82)
-#76 := [def-axiom]: #75
-#94 := [unit-resolution #76 #93]: #82
-[unit-resolution #94 #102]: false
-unsat
-f708f93eff4fe8de6618caf7ad2da4c76f2e075e 28 0
-#2 := false
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#10 := (distinct f3 f4 f3 f4)
-#11 := (not #10)
-#12 := (not #11)
-#44 := (iff #12 false)
-#1 := true
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #12 #39)
-#37 := (iff #11 true)
-#32 := (not false)
-#35 := (iff #32 true)
-#36 := [rewrite]: #35
-#33 := (iff #11 #32)
-#30 := (iff #10 false)
-#31 := [rewrite]: #30
-#34 := [monotonicity #31]: #33
-#38 := [trans #34 #36]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#29 := [asserted]: #12
-[mp #29 #45]: false
-unsat
-bdc1bdcbb661b97af9742dbe35f1e882a21fc3b1 30 0
-#2 := false
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#10 := (= f3 f4)
-#11 := (not #10)
-#12 := (not #11)
-#13 := (implies #10 #12)
-#14 := (not #13)
-#46 := (iff #14 false)
-#1 := true
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #14 #41)
-#39 := (iff #13 true)
-#34 := (implies #10 #10)
-#37 := (iff #34 true)
-#38 := [rewrite]: #37
-#35 := (iff #13 #34)
-#32 := (iff #12 #10)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#40 := [trans #36 #38]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#31 := [asserted]: #14
-[mp #31 #47]: false
-unsat
-b39d61834fdb48ccd6c976fd127ad9ad2b57765f 40 0
-#2 := false
-decl f5 :: S2
-#11 := f5
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#14 := (distinct f3 f4 f5)
-#15 := (not #14)
-#12 := (= f3 f5)
-#10 := (= f3 f4)
-#13 := (and #10 #12)
-#35 := (not #13)
-#36 := (or #35 #15)
-#39 := (not #36)
-#16 := (implies #13 #15)
-#17 := (not #16)
-#40 := (iff #17 #39)
-#37 := (iff #16 #36)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#34 := [asserted]: #17
-#44 := [mp #34 #41]: #39
-#46 := [not-or-elim #44]: #14
-#58 := (= f4 f5)
-#59 := (not #58)
-#57 := (not #12)
-#56 := (not #10)
-#54 := (and #56 #57 #59)
-#55 := (not #54)
-#42 := [not-or-elim #44]: #13
-#43 := [and-elim #42]: #10
-#52 := (or #55 #56)
-#53 := [def-axiom]: #52
-#66 := [unit-resolution #53 #43]: #55
-#62 := (or #15 #54)
-#63 := [def-axiom]: #62
-#67 := [unit-resolution #63 #66]: #15
-[unit-resolution #67 #46]: false
-unsat
-f12c3118f1895363634ae08d5e1cb8290b015c56 33 0
-#2 := false
-decl f3 :: S2
-#8 := f3
-decl f5 :: S2
-#10 := f5
-decl f4 :: S2
-#9 := f4
-decl f6 :: S2
-#11 := f6
-#13 := (distinct f6 f4 f5 f3)
-#12 := (distinct f3 f4 f5 f6)
-#14 := (implies #12 #13)
-#15 := (not #14)
-#47 := (iff #15 false)
-#1 := true
-#42 := (not true)
-#45 := (iff #42 false)
-#46 := [rewrite]: #45
-#43 := (iff #15 #42)
-#40 := (iff #14 true)
-#35 := (implies #12 #12)
-#38 := (iff #35 true)
-#39 := [rewrite]: #38
-#36 := (iff #14 #35)
-#33 := (iff #13 #12)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#41 := [trans #37 #39]: #40
-#44 := [monotonicity #41]: #43
-#48 := [trans #44 #46]: #47
-#32 := [asserted]: #15
-[mp #32 #48]: false
-unsat
-224b51e5f287ef2e8191401ac84c3c58a0aead45 91 0
-#2 := false
-decl f5 :: S2
-#10 := f5
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#13 := (distinct f3 f4 f5)
-#67 := (= f4 f5)
-#68 := (not #67)
-#63 := (= f3 f5)
-#64 := (not #63)
-#61 := (= f3 f4)
-#62 := (not #61)
-#93 := (and #62 #64 #68)
-decl f6 :: S2
-#11 := f6
-#71 := (= f5 f6)
-#72 := (not #71)
-#69 := (= f4 f6)
-#70 := (not #69)
-#65 := (= f3 f6)
-#66 := (not #65)
-#73 := (and #62 #64 #66 #68 #70 #72)
-#12 := (distinct f3 f4 f5 f6)
-#14 := (distinct f4 f5 f6)
-#15 := (and #13 #14)
-#35 := (not #12)
-#36 := (or #35 #15)
-#39 := (not #36)
-#16 := (implies #12 #15)
-#17 := (not #16)
-#40 := (iff #17 #39)
-#37 := (iff #16 #36)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#34 := [asserted]: #17
-#44 := [mp #34 #41]: #39
-#42 := [not-or-elim #44]: #12
-#89 := (or #35 #73)
-#90 := [def-axiom]: #89
-#121 := [unit-resolution #90 #42]: #73
-#74 := (not #73)
-#75 := (or #74 #62)
-#76 := [def-axiom]: #75
-#122 := [unit-resolution #76 #121]: #62
-#81 := (or #74 #68)
-#82 := [def-axiom]: #81
-#123 := [unit-resolution #82 #121]: #68
-#77 := (or #74 #64)
-#78 := [def-axiom]: #77
-#124 := [unit-resolution #78 #121]: #64
-#101 := (or #93 #61 #63 #67)
-#102 := [def-axiom]: #101
-#125 := [unit-resolution #102 #124 #123 #122]: #93
-#94 := (not #93)
-#105 := (or #13 #94)
-#106 := [def-axiom]: #105
-#126 := [unit-resolution #106 #125]: #13
-#107 := (and #68 #70 #72)
-#85 := (or #74 #72)
-#86 := [def-axiom]: #85
-#127 := [unit-resolution #86 #121]: #72
-#83 := (or #74 #70)
-#84 := [def-axiom]: #83
-#128 := [unit-resolution #84 #121]: #70
-#115 := (or #107 #67 #69 #71)
-#116 := [def-axiom]: #115
-#129 := [unit-resolution #116 #128 #127 #123]: #107
-#108 := (not #107)
-#119 := (or #14 #108)
-#120 := [def-axiom]: #119
-#130 := [unit-resolution #120 #129]: #14
-#54 := (not #14)
-#53 := (not #13)
-#55 := (or #53 #54)
-#43 := (not #15)
-#58 := (iff #43 #55)
-#56 := (not #55)
-#49 := (not #56)
-#46 := (iff #49 #55)
-#57 := [rewrite]: #46
-#50 := (iff #43 #49)
-#51 := (iff #15 #56)
-#52 := [rewrite]: #51
-#48 := [monotonicity #52]: #50
-#59 := [trans #48 #57]: #58
-#45 := [not-or-elim #44]: #43
-#60 := [mp #45 #59]: #55
-[unit-resolution #60 #130 #126]: false
-unsat
-18979f676bf3221a4e87326c6af281445b312b2a 25 0
-#2 := false
-#8 := (:var 0 S2)
-#9 := (= #8 #8)
-#10 := (forall (vars (?v0 S2)) #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (forall (vars (?v0 S2)) true)
-#34 := (iff #31 true)
-#35 := [elim-unused]: #34
-#32 := (iff #10 #31)
-#29 := (iff #9 true)
-#30 := [rewrite]: #29
-#33 := [quant-intro #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-e51be74b693abe9c8e61291306ec53588644e492 34 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S1)
-#8 := (:var 0 S2)
-#9 := (f3 #8)
-#10 := (= #9 f1)
-#11 := (forall (vars (?v0 S2)) #10)
-#12 := (iff #11 #11)
-#13 := (not #12)
-#49 := (iff #13 false)
-#1 := true
-#44 := (not true)
-#47 := (iff #44 false)
-#48 := [rewrite]: #47
-#45 := (iff #13 #44)
-#42 := (iff #12 true)
-#31 := (= f1 #9)
-#34 := (forall (vars (?v0 S2)) #31)
-#37 := (iff #34 #34)
-#40 := (iff #37 true)
-#41 := [rewrite]: #40
-#38 := (iff #12 #37)
-#35 := (iff #11 #34)
-#32 := (iff #10 #31)
-#33 := [rewrite]: #32
-#36 := [quant-intro #33]: #35
-#39 := [monotonicity #36 #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#30 := [asserted]: #13
-[mp #30 #50]: false
-unsat
-116ce428b94097a0edc4fc87aad57e0632b1fc20 95 0
+b4400db85e456f9b3856673990716e60114a7552 95 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!0 :: S2
@@ -4677,7 +4185,68 @@
 #102 := [and-elim #101]: #76
 [unit-resolution #102 #115]: false
 unsat
-f881fcb495cf85502e136be773cb13849da22fee 300 0
+f23e61ff98637733b3412f875d5b578e0e8387fe 60 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#14 := (not #9)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#13 := (not #11)
+#15 := (implies #13 #14)
+#12 := (implies #9 #11)
+#16 := (implies #12 #15)
+#17 := (not #16)
+#74 := (iff #17 false)
+#1 := true
+#69 := (not true)
+#72 := (iff #69 false)
+#73 := [rewrite]: #72
+#70 := (iff #17 #69)
+#67 := (iff #16 true)
+#38 := (= f1 f4)
+#35 := (= f1 f3)
+#44 := (not #35)
+#45 := (or #44 #38)
+#62 := (implies #45 #45)
+#65 := (iff #62 true)
+#66 := [rewrite]: #65
+#63 := (iff #16 #62)
+#60 := (iff #15 #45)
+#50 := (not #38)
+#55 := (implies #50 #44)
+#58 := (iff #55 #45)
+#59 := [rewrite]: #58
+#56 := (iff #15 #55)
+#53 := (iff #14 #44)
+#36 := (iff #9 #35)
+#37 := [rewrite]: #36
+#54 := [monotonicity #37]: #53
+#51 := (iff #13 #50)
+#39 := (iff #11 #38)
+#40 := [rewrite]: #39
+#52 := [monotonicity #40]: #51
+#57 := [monotonicity #52 #54]: #56
+#61 := [trans #57 #59]: #60
+#48 := (iff #12 #45)
+#41 := (implies #35 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #12 #41)
+#43 := [monotonicity #37 #40]: #42
+#49 := [trans #43 #47]: #48
+#64 := [monotonicity #49 #61]: #63
+#68 := [trans #64 #66]: #67
+#71 := [monotonicity #68]: #70
+#75 := [trans #71 #73]: #74
+#34 := [asserted]: #17
+[mp #34 #75]: false
+unsat
+99ac0be7380191db43f2261910b85b072853ffc6 300 0
 #2 := false
 decl f4 :: (-> S2 S1)
 decl ?v0!1 :: S2
@@ -4978,7 +4547,129 @@
 #609 := [quant-inst]: #615
 [unit-resolution #609 #257 #603]: false
 unsat
-15ca2c1c3840e8c9f4b2011d8b0b39ef04345936 201 0
+a8bd8ccd5c190cb3f1fa752363a309006c96634d 121 0
+#2 := false
+decl f5 :: S1
+#12 := f5
+decl f1 :: S1
+#4 := f1
+#44 := (= f1 f5)
+decl f4 :: S1
+#10 := f4
+#41 := (= f1 f4)
+decl f3 :: S1
+#8 := f3
+#38 := (= f1 f3)
+#53 := (not #38)
+#90 := (or #53 #41 #44)
+#137 := (iff #90 false)
+#132 := (or false false false)
+#135 := (iff #132 false)
+#136 := [rewrite]: #135
+#133 := (iff #90 #132)
+#123 := (iff #44 false)
+#113 := (not #44)
+#93 := (not #90)
+#99 := (or #53 #41 #44 #93)
+#104 := (not #99)
+#13 := (= f5 f1)
+#9 := (= f3 f1)
+#17 := (implies #9 #13)
+#11 := (= f4 f1)
+#16 := (implies #9 #11)
+#18 := (or #16 #17)
+#14 := (or #11 #13)
+#15 := (implies #9 #14)
+#19 := (implies #15 #18)
+#20 := (not #19)
+#107 := (iff #20 #104)
+#70 := (or #53 #44)
+#62 := (or #53 #41)
+#75 := (or #62 #70)
+#47 := (or #41 #44)
+#54 := (or #53 #47)
+#81 := (not #54)
+#82 := (or #81 #75)
+#87 := (not #82)
+#105 := (iff #87 #104)
+#102 := (iff #82 #99)
+#96 := (or #93 #75)
+#100 := (iff #96 #99)
+#101 := [rewrite]: #100
+#97 := (iff #82 #96)
+#94 := (iff #81 #93)
+#91 := (iff #54 #90)
+#92 := [rewrite]: #91
+#95 := [monotonicity #92]: #94
+#98 := [monotonicity #95]: #97
+#103 := [trans #98 #101]: #102
+#106 := [monotonicity #103]: #105
+#88 := (iff #20 #87)
+#85 := (iff #19 #82)
+#78 := (implies #54 #75)
+#83 := (iff #78 #82)
+#84 := [rewrite]: #83
+#79 := (iff #19 #78)
+#76 := (iff #18 #75)
+#73 := (iff #17 #70)
+#67 := (implies #38 #44)
+#71 := (iff #67 #70)
+#72 := [rewrite]: #71
+#68 := (iff #17 #67)
+#45 := (iff #13 #44)
+#46 := [rewrite]: #45
+#39 := (iff #9 #38)
+#40 := [rewrite]: #39
+#69 := [monotonicity #40 #46]: #68
+#74 := [trans #69 #72]: #73
+#65 := (iff #16 #62)
+#59 := (implies #38 #41)
+#63 := (iff #59 #62)
+#64 := [rewrite]: #63
+#60 := (iff #16 #59)
+#42 := (iff #11 #41)
+#43 := [rewrite]: #42
+#61 := [monotonicity #40 #43]: #60
+#66 := [trans #61 #64]: #65
+#77 := [monotonicity #66 #74]: #76
+#57 := (iff #15 #54)
+#50 := (implies #38 #47)
+#55 := (iff #50 #54)
+#56 := [rewrite]: #55
+#51 := (iff #15 #50)
+#48 := (iff #14 #47)
+#49 := [monotonicity #43 #46]: #48
+#52 := [monotonicity #40 #49]: #51
+#58 := [trans #52 #56]: #57
+#80 := [monotonicity #58 #77]: #79
+#86 := [trans #80 #84]: #85
+#89 := [monotonicity #86]: #88
+#108 := [trans #89 #106]: #107
+#37 := [asserted]: #20
+#109 := [mp #37 #108]: #104
+#114 := [not-or-elim #109]: #113
+#124 := [iff-false #114]: #123
+#121 := (iff #41 false)
+#111 := (not #41)
+#112 := [not-or-elim #109]: #111
+#122 := [iff-false #112]: #121
+#130 := (iff #53 false)
+#1 := true
+#125 := (not true)
+#128 := (iff #125 false)
+#129 := [rewrite]: #128
+#126 := (iff #53 #125)
+#119 := (iff #38 true)
+#110 := [not-or-elim #109]: #38
+#120 := [iff-true #110]: #119
+#127 := [monotonicity #120]: #126
+#131 := [trans #127 #129]: #130
+#134 := [monotonicity #131 #122 #124]: #133
+#138 := [trans #134 #136]: #137
+#115 := [not-or-elim #109]: #90
+[mp #115 #138]: false
+unsat
+cadcb33e2fa210fd60afd1f576e2a8b43f4a3cdf 201 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #8 := (:var 0 S2)
@@ -5180,7 +4871,92 @@
 #211 := [quant-inst]: #320
 [unit-resolution #211 #595 #319]: false
 unsat
-39e227ccd01de1131a3c129a5a992e4af88b7e62 244 0
+49f39d63404aef857c81d69ce3ed08db1cf19a62 84 0
+#2 := false
+decl f4 :: S1
+#10 := f4
+decl f1 :: S1
+#4 := f1
+#38 := (= f1 f4)
+#53 := (not #38)
+#97 := [hypothesis]: #53
+decl f3 :: S1
+#8 := f3
+#35 := (= f1 f3)
+#44 := (not #35)
+#45 := (or #44 #38)
+#54 := (or #35 #53)
+#59 := (and #45 #54)
+#62 := (iff #35 #38)
+#68 := (not #59)
+#69 := (or #68 #62)
+#74 := (not #69)
+#11 := (= f4 f1)
+#9 := (= f3 f1)
+#15 := (iff #9 #11)
+#13 := (implies #11 #9)
+#12 := (implies #9 #11)
+#14 := (and #12 #13)
+#16 := (implies #14 #15)
+#17 := (not #16)
+#75 := (iff #17 #74)
+#72 := (iff #16 #69)
+#65 := (implies #59 #62)
+#70 := (iff #65 #69)
+#71 := [rewrite]: #70
+#66 := (iff #16 #65)
+#63 := (iff #15 #62)
+#39 := (iff #11 #38)
+#40 := [rewrite]: #39
+#36 := (iff #9 #35)
+#37 := [rewrite]: #36
+#64 := [monotonicity #37 #40]: #63
+#60 := (iff #14 #59)
+#57 := (iff #13 #54)
+#50 := (implies #38 #35)
+#55 := (iff #50 #54)
+#56 := [rewrite]: #55
+#51 := (iff #13 #50)
+#52 := [monotonicity #40 #37]: #51
+#58 := [trans #52 #56]: #57
+#48 := (iff #12 #45)
+#41 := (implies #35 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #12 #41)
+#43 := [monotonicity #37 #40]: #42
+#49 := [trans #43 #47]: #48
+#61 := [monotonicity #49 #58]: #60
+#67 := [monotonicity #61 #64]: #66
+#73 := [trans #67 #71]: #72
+#76 := [monotonicity #73]: #75
+#34 := [asserted]: #17
+#79 := [mp #34 #76]: #74
+#77 := [not-or-elim #79]: #59
+#78 := [and-elim #77]: #45
+#98 := [unit-resolution #78 #97]: #44
+#89 := (or #38 #35)
+#90 := (iff #38 #44)
+#81 := (not #62)
+#91 := (iff #81 #90)
+#92 := [rewrite]: #91
+#82 := [not-or-elim #79]: #81
+#93 := [mp #82 #92]: #90
+#94 := (not #90)
+#95 := (or #38 #35 #94)
+#88 := [def-axiom]: #95
+#86 := [unit-resolution #88 #93]: #89
+#99 := [unit-resolution #86 #98 #97]: false
+#100 := [lemma #99]: #38
+#80 := [and-elim #77]: #54
+#101 := [unit-resolution #80 #100]: #35
+#83 := (or #53 #44)
+#87 := (or #53 #44 #94)
+#85 := [def-axiom]: #87
+#96 := [unit-resolution #85 #93]: #83
+[unit-resolution #96 #101 #100]: false
+unsat
+275457b2bda52ffcdd4253789835ed95d90c1f17 244 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!0 :: S2
@@ -5425,7 +5201,55 @@
 #616 := [mp #343 #237]: #621
 [unit-resolution #616 #629 #330]: false
 unsat
-01fcfe482cd417aecd358af024dc175a0edc268e 49 0
+bbcd2845c0842c2c58bd699481f0fecfa298d8a7 47 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#13 := (iff #11 #9)
+#12 := (iff #9 #11)
+#14 := (iff #12 #13)
+#15 := (not #14)
+#61 := (iff #15 false)
+#1 := true
+#56 := (not true)
+#59 := (iff #56 false)
+#60 := [rewrite]: #59
+#57 := (iff #15 #56)
+#54 := (iff #14 true)
+#36 := (= f1 f4)
+#33 := (= f1 f3)
+#39 := (iff #33 #36)
+#49 := (iff #39 #39)
+#52 := (iff #49 true)
+#53 := [rewrite]: #52
+#50 := (iff #14 #49)
+#47 := (iff #13 #39)
+#42 := (iff #36 #33)
+#45 := (iff #42 #39)
+#46 := [rewrite]: #45
+#43 := (iff #13 #42)
+#34 := (iff #9 #33)
+#35 := [rewrite]: #34
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#44 := [monotonicity #38 #35]: #43
+#48 := [trans #44 #46]: #47
+#40 := (iff #12 #39)
+#41 := [monotonicity #35 #38]: #40
+#51 := [monotonicity #41 #48]: #50
+#55 := [trans #51 #53]: #54
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#32 := [asserted]: #15
+[mp #32 #62]: false
+unsat
+b11d7db349f0b800b6d28726c33bbc51dfd5ec41 49 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -5475,7 +5299,49 @@
 #35 := [asserted]: #18
 [mp #35 #65]: false
 unsat
-157e9ba0de5d7f3b7a1453e2a11927d703beea38 136 0
+d6ad6bdc191dec543b99c99d75040cdba1ff04e8 41 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#10 := (not #9)
+#11 := (iff #9 #10)
+#12 := (not #11)
+#13 := (not #12)
+#56 := (iff #13 false)
+#1 := true
+#51 := (not true)
+#54 := (iff #51 false)
+#55 := [rewrite]: #54
+#52 := (iff #13 #51)
+#49 := (iff #12 true)
+#44 := (not false)
+#47 := (iff #44 true)
+#48 := [rewrite]: #47
+#45 := (iff #12 #44)
+#42 := (iff #11 false)
+#31 := (= f1 f3)
+#34 := (not #31)
+#37 := (iff #31 #34)
+#40 := (iff #37 false)
+#41 := [rewrite]: #40
+#38 := (iff #11 #37)
+#35 := (iff #10 #34)
+#32 := (iff #9 #31)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#39 := [monotonicity #33 #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
+#30 := [asserted]: #13
+[mp #30 #57]: false
+unsat
+b5e5edf486660b04e5c2cc8e67825f081c9c49a9 136 0
 #2 := false
 decl f3 :: (-> S2 S2 S1)
 decl f4 :: S2
@@ -5612,7 +5478,68 @@
 #593 := [quant-inst]: #592
 [unit-resolution #593 #610 #258]: false
 unsat
-b13823d6af0970648680336d47e5ac31c5900b24 124 0
+81bf38fb0456bcb900ea52fab12378a5588effa7 60 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#14 := (not #9)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#13 := (not #11)
+#15 := (implies #13 #14)
+#12 := (implies #9 #11)
+#16 := (iff #12 #15)
+#17 := (not #16)
+#74 := (iff #17 false)
+#1 := true
+#69 := (not true)
+#72 := (iff #69 false)
+#73 := [rewrite]: #72
+#70 := (iff #17 #69)
+#67 := (iff #16 true)
+#38 := (= f1 f4)
+#35 := (= f1 f3)
+#44 := (not #35)
+#45 := (or #44 #38)
+#62 := (iff #45 #45)
+#65 := (iff #62 true)
+#66 := [rewrite]: #65
+#63 := (iff #16 #62)
+#60 := (iff #15 #45)
+#50 := (not #38)
+#55 := (implies #50 #44)
+#58 := (iff #55 #45)
+#59 := [rewrite]: #58
+#56 := (iff #15 #55)
+#53 := (iff #14 #44)
+#36 := (iff #9 #35)
+#37 := [rewrite]: #36
+#54 := [monotonicity #37]: #53
+#51 := (iff #13 #50)
+#39 := (iff #11 #38)
+#40 := [rewrite]: #39
+#52 := [monotonicity #40]: #51
+#57 := [monotonicity #52 #54]: #56
+#61 := [trans #57 #59]: #60
+#48 := (iff #12 #45)
+#41 := (implies #35 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #12 #41)
+#43 := [monotonicity #37 #40]: #42
+#49 := [trans #43 #47]: #48
+#64 := [monotonicity #49 #61]: #63
+#68 := [trans #64 #66]: #67
+#71 := [monotonicity #68]: #70
+#75 := [trans #71 #73]: #74
+#34 := [asserted]: #17
+[mp #34 #75]: false
+unsat
+9d9671876c5da4fc5d4c634fb934bc459b3fb5e8 124 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f4 :: (-> S2 S2)
@@ -5737,7 +5664,80 @@
 #207 := [mp #217 #206]: #569
 [unit-resolution #207 #576 #88 #209]: false
 unsat
-27f0d36fd6c0929bba5c83b80c0b177e808eb0e9 64 0
+7d3ca4c016c80378051605a2446d32cfa542aaf2 72 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#10 := (iff #9 #9)
+#11 := (iff #9 #10)
+#12 := (iff #9 #11)
+#13 := (iff #9 #12)
+#14 := (iff #9 #13)
+#15 := (iff #9 #14)
+#16 := (iff #9 #15)
+#17 := (iff #9 #16)
+#18 := (iff #9 #17)
+#19 := (not #18)
+#87 := (iff #19 false)
+#1 := true
+#82 := (not true)
+#85 := (iff #82 false)
+#86 := [rewrite]: #85
+#83 := (iff #19 #82)
+#80 := (iff #18 true)
+#37 := (= f1 f3)
+#40 := (iff #37 #37)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#78 := (iff #18 #40)
+#76 := (iff #17 #37)
+#47 := (iff #37 true)
+#50 := (iff #47 #37)
+#51 := [rewrite]: #50
+#74 := (iff #17 #47)
+#72 := (iff #16 true)
+#70 := (iff #16 #40)
+#68 := (iff #15 #37)
+#66 := (iff #15 #47)
+#64 := (iff #14 true)
+#62 := (iff #14 #40)
+#60 := (iff #13 #37)
+#58 := (iff #13 #47)
+#56 := (iff #12 true)
+#54 := (iff #12 #40)
+#52 := (iff #11 #37)
+#48 := (iff #11 #47)
+#45 := (iff #10 true)
+#41 := (iff #10 #40)
+#38 := (iff #9 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39 #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #39 #46]: #48
+#53 := [trans #49 #51]: #52
+#55 := [monotonicity #39 #53]: #54
+#57 := [trans #55 #44]: #56
+#59 := [monotonicity #39 #57]: #58
+#61 := [trans #59 #51]: #60
+#63 := [monotonicity #39 #61]: #62
+#65 := [trans #63 #44]: #64
+#67 := [monotonicity #39 #65]: #66
+#69 := [trans #67 #51]: #68
+#71 := [monotonicity #39 #69]: #70
+#73 := [trans #71 #44]: #72
+#75 := [monotonicity #39 #73]: #74
+#77 := [trans #75 #51]: #76
+#79 := [monotonicity #39 #77]: #78
+#81 := [trans #79 #44]: #80
+#84 := [monotonicity #81]: #83
+#88 := [trans #84 #86]: #87
+#36 := [asserted]: #19
+[mp #36 #88]: false
+unsat
+6fba77c7ee170a1620030b502ad2db7a8a1aed9e 64 0
 #2 := false
 decl f3 :: (-> S2 S2 S3)
 decl f4 :: S2
@@ -5802,7 +5802,33 @@
 #130 := [quant-inst]: #216
 [unit-resolution #130 #553 #64]: false
 unsat
-a2a7a4fb33d8eca0ac67dbe7e0b63fde0e7908a5 250 0
+35917dcc4acd32693fbb42d1a381fa58c2e775dd 25 0
+#2 := false
+#8 := (:var 0 S2)
+#9 := (= #8 #8)
+#10 := (exists (vars (?v0 S2)) #9)
+#11 := (not #10)
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (exists (vars (?v0 S2)) true)
+#34 := (iff #31 true)
+#35 := [elim-unused]: #34
+#32 := (iff #10 #31)
+#29 := (iff #9 true)
+#30 := [rewrite]: #29
+#33 := [quant-intro #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+223d86a753fa4111a2efb19d2bcec167505d6a7e 250 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f7 :: S2
@@ -6053,33 +6079,7 @@
 #699 := [mp #350 #698]: #693
 [unit-resolution #699 #173 #714 #398]: false
 unsat
-293275a96c0f9a6369c5c63237687d458f6817d7 25 0
-#2 := false
-#8 := (:var 0 S2)
-#9 := (= #8 #8)
-#10 := (exists (vars (?v0 S2)) #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (exists (vars (?v0 S2)) true)
-#34 := (iff #31 true)
-#35 := [elim-unused]: #34
-#32 := (iff #10 #31)
-#29 := (iff #9 true)
-#30 := [rewrite]: #29
-#33 := [quant-intro #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-cb32f55c5bc6bd5f823005e6422725f9e998da2f 34 0
+48e86f3a23bbb7c517dedfe6660826ca25059fca 34 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -6114,7 +6114,11 @@
 #30 := [asserted]: #13
 [mp #30 #50]: false
 unsat
-b43b0d1e4a922ebd6679eaa136d5464c794bec63 258 0
+532713577ffc51767de4833038556b4e3293fda4 1 2
+unsat
+WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
+
+fc7f88181fbb95ae1b43bd1ec021651eb1a6e29c 258 0
 #2 := false
 decl f4 :: (-> S2 S1)
 decl ?v0!2 :: S2
@@ -6373,7 +6377,9 @@
 #579 := [quant-inst]: #578
 [unit-resolution #579 #432 #573]: false
 unsat
-efa58136de82c8b5811ff6cbc9ea6e3a0dfa88b3 222 0
+b9a1dbc05a0fcdc4ae2c7e03b2b8a9ad6df98756 1 0
+unsat
+9db388838cd05c32098d6cee4786c7311602e951 222 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!0 :: S2
@@ -6596,7 +6602,9 @@
 #610 := [quant-inst]: #609
 [unit-resolution #610 #339 #320]: false
 unsat
-ab7c9224394921a685740971ba6d77f051f292c6 49 0
+cbac2f7e87b549893b94e3792e09a58dadcc84e9 1 0
+unsat
+5815749abaa2e9d579422ebe3d14186ba8803728 49 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -6646,7 +6654,9 @@
 #35 := [asserted]: #18
 [mp #35 #65]: false
 unsat
-e5bab80a17d61a903fd3b91d7b964fb77f0aeb5f 122 0
+1493ff264c0f89a95d188930a1476aec2a1aa1bb 1 0
+unsat
+e053e47f320825e5b9b67b9497406e00070abe43 122 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!1 :: S2
@@ -6769,21 +6779,9 @@
 #287 := [quant-inst]: #200
 [unit-resolution #287 #620 #138]: false
 unsat
-3a3572162e189d1dd3faf86450c29af14c3f5775 1 2
-unsat
-WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
-
-a110a216a9eb767753bdb8e6565cd9f3828f13c3 1 0
-unsat
-021e717ac601dc07adaa2b5fdaab95b121236a15 1 0
-unsat
-227a4d38b650c5d656f4f2d1c6a5a4b38be4fdb6 1 0
-unsat
-24b3734d5c956814c73081ebdb8796337ed9a903 1 0
-unsat
-dda61842424d25cb559a3f8991ef4e1e4903a499 1 0
-unsat
-35a55494d50e2bb6e11852505e00f0a8eda3690b 105 0
+1860fe1f45d9df9b729809ed662950c61f79f829 1 0
+unsat
+12d1461d1fa5477cb514ef80c18c85a012607364 105 0
 #2 := false
 decl f3 :: (-> S1 S1)
 decl ?v0!1 :: S1
@@ -6889,7 +6887,9 @@
 #261 := [quant-inst]: #188
 [unit-resolution #261 #590 #259]: false
 unsat
-90e400384b7659617fb2ac3414efca4ad4acb82b 230 0
+58aeee112e6b81dcd3353f63fc46ef0b0f3eb24c 1 0
+unsat
+ed0af7544f19477dc25f65a160752e70bd0bbf21 230 0
 #2 := false
 decl f3 :: (-> S1 S1)
 decl ?v0!0 :: S1
@@ -7120,7 +7120,7 @@
 #309 := [quant-inst]: #308
 [unit-resolution #309 #590 #312]: false
 unsat
-d3e1c4f171290bbc43cf7b8ed3f52dcaba02ad2a 156 0
+446f4f1e86496dc31d9127dadba175aab73fcdf4 156 0
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -7277,7 +7277,7 @@
 #269 := [quant-inst]: #264
 [unit-resolution #269 #592 #292]: false
 unsat
-c6a1ba7fcbcc63d35bcb3c6d55963f5db1b0ec4a 74 0
+73417ccd5b8c2fb3c0c21a8c23809282ab12f8b8 74 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
 #9 := (:var 0 S3)
@@ -7352,7 +7352,7 @@
 #548 := [mp #55 #547]: #543
 [unit-resolution #548 #537]: false
 unsat
-0639f8bc4c0a97519f12b710ca2c55df172f2bff 108 0
+e3e78e7b3355a0e12a6553b06865dbb99fa1ace5 108 0
 #2 := false
 decl f3 :: (-> S1 S1)
 #11 := (:var 0 S1)
@@ -7461,7 +7461,13 @@
 #179 := [quant-inst]: #265
 [unit-resolution #179 #96 #599]: false
 unsat
-44518bbe9d91ef8d978f243d28c5ab98d20e8e24 183 2
+da85096b57c08af8febf5871c1333121a34c6d28 1 0
+unsat
+6c41d71d8ec4d73ffa088d938320c03ca09b9201 1 2
+unsat
+WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
+
+12e3d2e5e3ee6fdfd1904d6ec3b7cee27863319e 183 2
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -7647,23 +7653,17 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
 
-7f10599800da74136cc3f9154a1eba3209948357 1 0
-unsat
-27b043a98368fb44835af50bddf282a2d59b4391 1 2
-unsat
-WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
-
-9fff5372d7dcf3c6868fd1efde54974ccaa78891 1 0
-unsat
-23f1460031fa3216d5ae34bab8e296aaa1bb42d0 1 0
-unsat
-f2b2af5a9a8fe9ebf2adc96a482b15f0491a9fa9 1 0
-unsat
-a6ccb14f7a73c3d3f2c9c2bbc93d8537ee62f62b 1 0
-unsat
-a737d0c51ac36aed8a1a9cd55178cff9a96ed018 1 0
-unsat
-247ac7268dd0509d03e61fc965462ece3eca85cc 107 0
+5d15e0a34749300f4ce5f4c920d3ca259f7027cd 1 0
+unsat
+fa1639cb0c965ae73d4377750883cc09dbe87562 1 0
+unsat
+fc8d2e66c31565ae0b4756bf95cf9f0717981220 1 0
+unsat
+ce6d32e932c7cece567323ec34f7a5540258fa7f 1 0
+unsat
+22c7d1d1136fafc0a09e243a12ede1ee4fee416f 1 0
+unsat
+92de3e43df292b3d7f698eeecd3084ad63385f52 107 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #8 := (:var 0 S2)
@@ -7771,7 +7771,7 @@
 #279 := [quant-inst]: #193
 [unit-resolution #279 #102 #618]: false
 unsat
-150dd0a5cf6fbd2bec23fe99d00ba9baec864264 75 0
+ab595871a8f439823819ae39abbb09300ded5d4d 75 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -7847,7 +7847,7 @@
 #41 := [asserted]: #24
 [mp #41 #91]: false
 unsat
-060c3042ee22e19c83c26af2e895e991251857c3 207 0
+66a02ca33e858454a913431cd41d1e5a58d7ca83 207 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v1!0 :: (-> S2 S2)
@@ -8055,7 +8055,7 @@
 #622 := [mp #616 #257]: #277
 [unit-resolution #622 #645 #591 #596]: false
 unsat
-7a325dc7f60f1d704b700244e345b2bb3c006973 250 0
+070caa247cea32871c723a813303329e9c48e89d 250 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v1!1 :: (-> S2 S2)
@@ -8306,7 +8306,7 @@
 #616 := [mp #628 #615]: #622
 [unit-resolution #616 #128 #676 #607 #606]: false
 unsat
-0aa1c3973c008a0548a3cef61cdea0cbbc71f686 238 0
+ffccf343597d7c1ee1fd555056e55c0f14472255 238 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v1!1 :: (-> S2 S2)
@@ -8545,7 +8545,7 @@
 #338 := [mp #643 #632]: #276
 [unit-resolution #338 #664 #617 #616]: false
 unsat
-ad3f70e4b510752c5e78466bcf850b69675f0748 43 0
+8ce5d808d97d9f937477d79f321db3630294ec1d 43 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8589,7 +8589,7 @@
 #32 := [asserted]: #15
 [mp #32 #58]: false
 unsat
-7f48a57f233df5237b79dd57ce30e63bdf44eb5b 27 0
+ee1e5475ea11ff0f473b33b8c572488c1f039a0e 27 0
 #2 := false
 #1 := true
 #9 := (or false true)
@@ -8617,7 +8617,7 @@
 #28 := [asserted]: #11
 [mp #28 #46]: false
 unsat
-4c412f5bcb05790d5fda803ce6123f178d77c3bc 31 0
+82c66294f6bc190a20d250a4062b09707f16aa4c 31 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8649,7 +8649,7 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-7f6ad9f295b79d026cc84da045d8a49404f906c2 33 0
+f32b862e1d7121899074795ddf1c0725bc5cc874 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8683,43 +8683,7 @@
 #30 := [asserted]: #13
 [mp #30 #47]: false
 unsat
-058976b8c2e64c1e2ac12f9c692acba51ae0cd04 35 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S1)
-decl f4 :: S2
-#8 := f4
-#9 := (f3 f4)
-#10 := (= #9 f1)
-#11 := (not #10)
-#12 := (ite #10 #10 #11)
-#13 := (not #12)
-#49 := (iff #13 false)
-#1 := true
-#44 := (not true)
-#47 := (iff #44 false)
-#48 := [rewrite]: #47
-#45 := (iff #13 #44)
-#42 := (iff #12 true)
-#31 := (= f1 #9)
-#34 := (not #31)
-#37 := (ite #31 #31 #34)
-#40 := (iff #37 true)
-#41 := [rewrite]: #40
-#38 := (iff #12 #37)
-#35 := (iff #11 #34)
-#32 := (iff #10 #31)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#39 := [monotonicity #33 #33 #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#30 := [asserted]: #13
-[mp #30 #50]: false
-unsat
-4be3101e907b60afcc2f362b4ba7aaeff6e9eb58 38 0
+e070982f250a1ca780eab96adc6095281038c59d 38 0
 #2 := false
 decl f3 :: (-> S2 S2)
 decl f4 :: S2
@@ -8758,7 +8722,43 @@
 #114 := [quant-inst]: #200
 [unit-resolution #114 #51 #50]: false
 unsat
-be3e11e3c5cd7343a90367b32c72f0665caede63 30 0
+5566817723d9b0dab514cd1865ced56d8e166fe8 35 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S1)
+decl f4 :: S2
+#8 := f4
+#9 := (f3 f4)
+#10 := (= #9 f1)
+#11 := (not #10)
+#12 := (ite #10 #10 #11)
+#13 := (not #12)
+#49 := (iff #13 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #13 #44)
+#42 := (iff #12 true)
+#31 := (= f1 #9)
+#34 := (not #31)
+#37 := (ite #31 #31 #34)
+#40 := (iff #37 true)
+#41 := [rewrite]: #40
+#38 := (iff #12 #37)
+#35 := (iff #11 #34)
+#32 := (iff #10 #31)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#39 := [monotonicity #33 #33 #36]: #38
+#43 := [trans #39 #41]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#30 := [asserted]: #13
+[mp #30 #50]: false
+unsat
+bc840300be3a9e2dc587394b4317175f8f11e65e 30 0
 #2 := false
 decl f4 :: (-> S3 S4)
 decl f6 :: S3
@@ -8789,7 +8789,7 @@
 #104 := [quant-inst]: #190
 [unit-resolution #104 #41 #38]: false
 unsat
-da888d49fe89088ba7fe71a85968b4f0e39a7aba 16 0
+4e0dadc89c97a124d33549e6d90d8c6fb94ffbbc 16 0
 #2 := false
 #1 := true
 #8 := (implies true true)
@@ -8806,7 +8806,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-fc8df43e2cfbdb1c49bd1e2ca05690556717ae56 16 0
+300f22ba0865fbc4bc611b5c5320b9fb475b953c 16 0
 #2 := false
 #8 := (implies false false)
 #9 := (not #8)
@@ -8823,7 +8823,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-6c85c042209c5bf364cb8360ac464d560331ff7c 31 0
+5cdd14f812034153746401ccd7149e6a8e608edc 31 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8855,7 +8855,7 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-7aa85f1d84eee91f0a6d904666dbb90dd37fe476 48 0
+6c182dd23633c7853c1a91f152d7ab135330412d 48 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8904,7 +8904,7 @@
 #31 := [asserted]: #14
 [mp #31 #63]: false
 unsat
-643e3befcc368aa36d51d58e2d963c26629d80a2 53 0
+85c24c97e452e2742450de7a829a24bef0b7745e 53 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8958,7 +8958,7 @@
 #31 := [asserted]: #14
 [mp #31 #68]: false
 unsat
-afa454836bb1ada63b9eb89ea6c38269311b8712 56 0
+9c92a59e1b2801a69940e4a222a4ab6da3c64d26 56 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -9015,62 +9015,7 @@
 #32 := [asserted]: #15
 [mp #32 #71]: false
 unsat
-a96584af88e2b610042d1242f930cc6c51587530 54 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#12 := (implies #11 #9)
-#13 := (implies #9 #12)
-#14 := (not #13)
-#68 := (iff #14 false)
-#35 := (= f1 f4)
-#41 := (not #35)
-#32 := (= f1 f3)
-#42 := (or #32 #41)
-#50 := (not #32)
-#51 := (or #50 #42)
-#56 := (not #51)
-#66 := (iff #56 false)
-#1 := true
-#61 := (not true)
-#64 := (iff #61 false)
-#65 := [rewrite]: #64
-#62 := (iff #56 #61)
-#59 := (iff #51 true)
-#60 := [rewrite]: #59
-#63 := [monotonicity #60]: #62
-#67 := [trans #63 #65]: #66
-#57 := (iff #14 #56)
-#54 := (iff #13 #51)
-#47 := (implies #32 #42)
-#52 := (iff #47 #51)
-#53 := [rewrite]: #52
-#48 := (iff #13 #47)
-#45 := (iff #12 #42)
-#38 := (implies #35 #32)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #12 #38)
-#33 := (iff #9 #32)
-#34 := [rewrite]: #33
-#36 := (iff #11 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37 #34]: #39
-#46 := [trans #40 #44]: #45
-#49 := [monotonicity #34 #46]: #48
-#55 := [trans #49 #53]: #54
-#58 := [monotonicity #55]: #57
-#69 := [trans #58 #67]: #68
-#31 := [asserted]: #14
-[mp #31 #69]: false
-unsat
-7a045a1848b4b2a8d896e622d8b797488f2ae65b 89 0
+e45e8738077ad6b1be47d22a573712217695edc5 89 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -9160,39 +9105,7 @@
 #86 := [not-or-elim #83]: #48
 [mp #86 #107]: false
 unsat
-0e7bbb17f9ad81b8c781d5e0b8798e9474d3fd3d 31 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S1)
-decl f4 :: S2
-#8 := f4
-#9 := (f3 f4)
-#10 := (= #9 f1)
-#11 := (iff #10 #10)
-#12 := (not #11)
-#45 := (iff #12 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #12 #40)
-#38 := (iff #11 true)
-#30 := (= f1 #9)
-#33 := (iff #30 #30)
-#36 := (iff #33 true)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 #30)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32 #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#29 := [asserted]: #12
-[mp #29 #46]: false
-unsat
-5ae11eff5645b77b5c2e32c0104eec8daf365335 57 0
+54fa403d565ef2e106d2d33e4ac25062fa36ce4d 57 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f4 :: S2
@@ -9250,7 +9163,7 @@
 #59 := [not-or-elim #57]: #58
 [mp #59 #74]: false
 unsat
-3dd3fd8b3a088daf54f3fd06483c978f1b0a5c94 50 0
+65635b02b15ecbf13faf998b6e281ec4741d131a 50 0
 #2 := false
 decl f5 :: S2
 #11 := f5
@@ -9301,7 +9214,7 @@
 #62 := [not-or-elim #58]: #61
 [unit-resolution #62 #70]: false
 unsat
-aff8e33d3cf01d5044aa16af4e5d375f7bc7128f 27 0
+317fa0f363a89944322628da895574f970f0290e 27 0
 #2 := false
 decl f5 :: (-> S2 S3)
 decl f4 :: S2
@@ -9329,7 +9242,7 @@
 #43 := [not-or-elim #42]: #41
 [unit-resolution #43 #51]: false
 unsat
-38d6568bcb3518204f41c136744fc9a94ac2289f 73 0
+1d26941a5bb2830adb1f9668b97240fa88d0de2c 73 0
 #2 := false
 decl f3 :: (-> S1 S1)
 decl f4 :: S1
@@ -9403,7 +9316,7 @@
 #146 := [quant-inst]: #232
 [unit-resolution #146 #566 #74]: false
 unsat
-efee40d670c214f978e2ecbd05f202f54d2c08ae 106 0
+43323a2e96998bec6557b77d2200c04f63428dbf 106 0
 #2 := false
 decl f3 :: (-> S2 S2 S1)
 decl ?v0!0 :: S2
@@ -9510,7 +9423,7 @@
 #239 := [mp #568 #238]: #254
 [unit-resolution #239 #583 #88]: false
 unsat
-8ef67dc17184cdb997c34c282ec976aab91f0c9d 66 0
+c09f42a4df50b3429cb0f5ddbf56d93bf0b06b7b 66 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -9577,7 +9490,7 @@
 #71 := [and-elim #69]: #40
 [mp #71 #85]: false
 unsat
-850ee68a24d436c0e8f0323d0c7b40aadee077ac 59 0
+0e357e9971053d2577fa677046eba1d5718e4aa2 59 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -9637,11 +9550,11 @@
 #37 := [asserted]: #20
 [mp #37 #72]: false
 unsat
-5c717bc0664ca45c994a6287285cf080d3a78d66 3 0
+d654180cf0c8fb52012ec18288c7b9cba4237e00 3 0
 #2 := false
 [asserted]: false
 unsat
-053f09fab3ab7dadcbb50216d87e6bbc9c52b970 18 0
+499cbfe2406983d4607365f26173b22f6a49074a 18 0
 #2 := false
 #9 := 1::int
 #8 := 0::int
@@ -9660,7 +9573,7 @@
 #28 := [asserted]: #11
 [mp #28 #39]: false
 unsat
-4c7b1fbd03c5846dd635cd3b84120a6da09efeaf 18 0
+7669ecc3fd6958d7a6535d8186e984760faa6558 18 0
 #2 := false
 #9 := 1::int
 #8 := 0::int
@@ -9679,7 +9592,7 @@
 #28 := [asserted]: #11
 [mp #28 #39]: false
 unsat
-0e8cf46a62144e97d595936465b386e89d7c65da 18 0
+399d7032965ae0b6a791d2007093e9c881b1b6df 18 0
 #2 := false
 #9 := 2345678901::int
 #8 := 123456789::int
@@ -9698,7 +9611,7 @@
 #28 := [asserted]: #11
 [mp #28 #39]: false
 unsat
-def4bedc74a497f81535120f8eb3d73a2126f39d 30 0
+27d5c260fdf33e6295946c76babe053e1d5624d6 30 0
 #2 := false
 decl f3 :: (-> int S2)
 #25 := 1::int
@@ -9729,7 +9642,7 @@
 #132 := [asserted]: #30
 [mp #132 #149]: false
 unsat
-a7cad8328ffe36efffb86c5a300175a81ec9473e 225 0
+8b231c32569080edc95ccdce9f961a9b49869ef0 225 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -9955,7 +9868,7 @@
 #616 := [unit-resolution #619 #618]: #347
 [th-lemma #617 #616 #166]: false
 unsat
-592c5fbbffdc88780deea852b5e3007b86266cec 428 0
+9c6198ccc440358afe5fbefeb129ea4a00cbbb0c 428 0
 #2 := false
 decl f4 :: (-> S2 int)
 decl f6 :: S2
@@ -10384,7 +10297,7 @@
 #393 := [unit-resolution #403 #411 #414]: #443
 [unit-resolution #393 #424]: false
 unsat
-ed4c7cfe878e23843083428f8a6f715fbfe495d3 409 0
+206e819433d78c632645e8c99645a12ddf3b51c0 409 0
 #2 := false
 #181 := -1::int
 decl f4 :: (-> S2 int)
@@ -10794,7 +10707,7 @@
 #420 := [th-lemma]: #419
 [unit-resolution #420 #417 #412]: false
 unsat
-9221620b197e212b4efb9528416b5d35a8c52049 60 0
+42b37d88064ab90bea2088cc1497480fb8953990 60 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -10855,7 +10768,7 @@
 #311 := [quant-inst]: #310
 [unit-resolution #311 #646 #151]: false
 unsat
-c3f498b2ca679db6f24e3361991b9cdacf7c1adc 60 0
+9798b09402a5018871b7e69145c530bf687b5055 60 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -10916,7 +10829,7 @@
 #311 := [quant-inst]: #310
 [unit-resolution #311 #646 #151]: false
 unsat
-cbe4e74b79c5e538e779d1562e52667175af768a 37 0
+a870002129082499022465a324347d99a190812c 37 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -10954,7 +10867,7 @@
 #136 := [asserted]: #34
 [mp #136 #154]: false
 unsat
-8ed55f0689626a8564aca25cbd530e9ad72be6f4 42 0
+54e17ed584134deb7dd3985de3ff45b3769746ed 42 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -10997,7 +10910,68 @@
 #140 := [asserted]: #38
 [mp #140 #158]: false
 unsat
-e513816199779fdd08259cbaa721d9be6ce61ce8 438 0
+6d74fb5fdf45d4b9f42d13b10663aa3e27c3c330 60 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#135 := (f3 #26)
+#141 := (= f5 #135)
+#146 := (not #141)
+#13 := 0::int
+#27 := (- #26 0::int)
+#28 := (f3 #27)
+#29 := (= #28 f5)
+#30 := (not #29)
+#147 := (iff #30 #146)
+#144 := (iff #29 #141)
+#138 := (= #135 f5)
+#142 := (iff #138 #141)
+#143 := [rewrite]: #142
+#139 := (iff #29 #138)
+#136 := (= #28 #135)
+#133 := (= #27 #26)
+#134 := [rewrite]: #133
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#145 := [trans #140 #143]: #144
+#148 := [monotonicity #145]: #147
+#132 := [asserted]: #30
+#151 := [mp #132 #148]: #146
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#639 := (pattern #9)
+#10 := (f3 #9)
+#48 := (= #8 #10)
+#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
+#51 := (forall (vars (?v0 S2)) #48)
+#641 := (iff #51 #640)
+#643 := (iff #640 #640)
+#644 := [rewrite]: #643
+#642 := [rewrite]: #641
+#645 := [trans #642 #644]: #641
+#163 := (~ #51 #51)
+#161 := (~ #48 #48)
+#162 := [refl]: #161
+#164 := [nnf-pos #162]: #163
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#52 := (iff #12 #51)
+#49 := (iff #11 #48)
+#50 := [rewrite]: #49
+#53 := [quant-intro #50]: #52
+#47 := [asserted]: #12
+#56 := [mp #47 #53]: #51
+#152 := [mp~ #56 #164]: #51
+#646 := [mp #152 #645]: #640
+#224 := (not #640)
+#310 := (or #224 #141)
+#311 := [quant-inst]: #310
+[unit-resolution #311 #646 #151]: false
+unsat
+b9b9aa4c3f51dafeb0a0d1867b6ec055cde87e79 438 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -11436,68 +11410,7 @@
 #404 := [unit-resolution #379 #434]: #485
 [unit-resolution #404 #396]: false
 unsat
-247007e25d142d8e92de60bbb406994a174b3a43 60 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#135 := (f3 #26)
-#141 := (= f5 #135)
-#146 := (not #141)
-#13 := 0::int
-#27 := (- #26 0::int)
-#28 := (f3 #27)
-#29 := (= #28 f5)
-#30 := (not #29)
-#147 := (iff #30 #146)
-#144 := (iff #29 #141)
-#138 := (= #135 f5)
-#142 := (iff #138 #141)
-#143 := [rewrite]: #142
-#139 := (iff #29 #138)
-#136 := (= #28 #135)
-#133 := (= #27 #26)
-#134 := [rewrite]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#145 := [trans #140 #143]: #144
-#148 := [monotonicity #145]: #147
-#132 := [asserted]: #30
-#151 := [mp #132 #148]: #146
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#639 := (pattern #9)
-#10 := (f3 #9)
-#48 := (= #8 #10)
-#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
-#51 := (forall (vars (?v0 S2)) #48)
-#641 := (iff #51 #640)
-#643 := (iff #640 #640)
-#644 := [rewrite]: #643
-#642 := [rewrite]: #641
-#645 := [trans #642 #644]: #641
-#163 := (~ #51 #51)
-#161 := (~ #48 #48)
-#162 := [refl]: #161
-#164 := [nnf-pos #162]: #163
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#52 := (iff #12 #51)
-#49 := (iff #11 #48)
-#50 := [rewrite]: #49
-#53 := [quant-intro #50]: #52
-#47 := [asserted]: #12
-#56 := [mp #47 #53]: #51
-#152 := [mp~ #56 #164]: #51
-#646 := [mp #152 #645]: #640
-#224 := (not #640)
-#310 := (or #224 #141)
-#311 := [quant-inst]: #310
-[unit-resolution #311 #646 #151]: false
-unsat
-d93a98dfeff0cecc9d144da28466836fbdae0214 179 0
+487dc506324bbdc4f045ceae0d9a8d2729196eb1 179 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -11677,7 +11590,7 @@
 #175 := [and-elim #174]: #154
 [unit-resolution #175 #587]: false
 unsat
-eee95e43cf8f5bef80fbd286784baba8f5cb9a33 321 0
+2f9c070703deaa5a8000b1eca828e079373a654c 321 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -11999,7 +11912,7 @@
 #181 := [and-elim #183]: #157
 [unit-resolution #181 #478]: false
 unsat
-a52f3d3f145bed3b2ad2f7ee15aba0955eef027c 329 0
+d31a177ad3abcc23163a30e1d5b84f367c2764b8 329 0
 #2 := false
 decl f6 :: S2
 #27 := f6
@@ -12329,7 +12242,41 @@
 #500 := [trans #499 #542]: #188
 [unit-resolution #198 #500]: false
 unsat
-be5efb86f9b9b267348d77366692337b5c5df35f 517 0
+2d9d46280589be884838dc154131e7cc5b93a904 33 0
+#2 := false
+decl f3 :: (-> int S2)
+#13 := 0::int
+#29 := (f3 0::int)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#27 := (* #26 0::int)
+#28 := (f3 #27)
+#30 := (= #28 #29)
+#31 := (not #30)
+#149 := (iff #31 false)
+#1 := true
+#144 := (not true)
+#147 := (iff #144 false)
+#148 := [rewrite]: #147
+#145 := (iff #31 #144)
+#142 := (iff #30 true)
+#137 := (= #29 #29)
+#140 := (iff #137 true)
+#141 := [rewrite]: #140
+#138 := (iff #30 #137)
+#134 := (= #27 0::int)
+#135 := [rewrite]: #134
+#136 := [monotonicity #135]: #30
+#139 := [monotonicity #136]: #138
+#143 := [trans #139 #141]: #142
+#146 := [monotonicity #143]: #145
+#150 := [trans #146 #148]: #149
+#133 := [asserted]: #31
+[mp #133 #150]: false
+unsat
+13fdb649a31033e319de9267921fa923a1c6b965 517 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -12847,41 +12794,7 @@
 #282 := [unit-resolution #419 #286]: #319
 [unit-resolution #424 #282 #300]: false
 unsat
-206fdc571c96e857b861e47f6915cc8941eb6161 33 0
-#2 := false
-decl f3 :: (-> int S2)
-#13 := 0::int
-#29 := (f3 0::int)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#27 := (* #26 0::int)
-#28 := (f3 #27)
-#30 := (= #28 #29)
-#31 := (not #30)
-#149 := (iff #31 false)
-#1 := true
-#144 := (not true)
-#147 := (iff #144 false)
-#148 := [rewrite]: #147
-#145 := (iff #31 #144)
-#142 := (iff #30 true)
-#137 := (= #29 #29)
-#140 := (iff #137 true)
-#141 := [rewrite]: #140
-#138 := (iff #30 #137)
-#134 := (= #27 0::int)
-#135 := [rewrite]: #134
-#136 := [monotonicity #135]: #30
-#139 := [monotonicity #136]: #138
-#143 := [trans #139 #141]: #142
-#146 := [monotonicity #143]: #145
-#150 := [trans #146 #148]: #149
-#133 := [asserted]: #31
-[mp #133 #150]: false
-unsat
-ee33631d0954fd84f61d52487d899741e6b2c604 33 0
+24450ce0a41cb0a0348eb41438999f733a6e381f 33 0
 #2 := false
 decl f3 :: (-> int S2)
 #13 := 0::int
@@ -12915,7 +12828,7 @@
 #133 := [asserted]: #31
 [mp #133 #150]: false
 unsat
-71a8731b24573e8c3f19635efbc778a168d7006c 60 0
+1e8972e2630fa2285c0c67ff5ba0a1263d55a492 60 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -12976,7 +12889,7 @@
 #311 := [quant-inst]: #310
 [unit-resolution #311 #646 #152]: false
 unsat
-32c022ad17c4cf631a4452767891ed2e2599b6b6 60 0
+e21662dbc702e0a68a796cfee66c613e7c9aa24d 60 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -13037,7 +12950,7 @@
 #311 := [quant-inst]: #310
 [unit-resolution #311 #646 #152]: false
 unsat
-2ac54103a8769196595536554467f2a8a0f9df5d 35 0
+839b4d54676d59b13d32133c52ac13a6709c5d35 35 0
 #2 := false
 decl f3 :: (-> int S2)
 #25 := 3::int
@@ -13073,7 +12986,9713 @@
 #135 := [asserted]: #33
 [mp #135 #153]: false
 unsat
-9f38d775fa2d48952160d8de09d7750a63b8d751 60 0
+68ef8375d310e3f53bec3a99bed61517fecbfd6b 250 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#55 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := (f3 0::int 0::int)
+#54 := (f5 #53)
+#56 := (= #54 #55)
+#505 := (= #53 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#843 := (pattern #10)
+#81 := -1::int
+#85 := (* -1::int #9)
+#82 := (* -1::int #8)
+#88 := (div #82 #85)
+#345 := (* -1::int #88)
+#346 := (+ #10 #345)
+#347 := (= #346 0::int)
+#21 := (div #8 #9)
+#342 := (* -1::int #21)
+#343 := (+ #10 #342)
+#344 := (= #343 0::int)
+#107 := (<= #9 0::int)
+#103 := (<= #8 0::int)
+#300 := (or #103 #107)
+#301 := (not #300)
+#114 := (>= #8 0::int)
+#283 := (or #107 #114)
+#284 := (not #283)
+#307 := (or #284 #301)
+#348 := (ite #307 #344 #347)
+#341 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#349 := (ite #14 #341 #348)
+#844 := (forall (vars (?v0 int) (?v1 int)) (:pat #843) #349)
+#352 := (forall (vars (?v0 int) (?v1 int)) #349)
+#847 := (iff #352 #844)
+#845 := (iff #349 #349)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#312 := (ite #307 #21 #88)
+#315 := (ite #14 0::int #312)
+#318 := (= #10 #315)
+#321 := (forall (vars (?v0 int) (?v1 int)) #318)
+#353 := (iff #321 #352)
+#350 := (iff #318 #349)
+#351 := [rewrite]: #350
+#354 := [quant-intro #351]: #353
+#115 := (not #114)
+#108 := (not #107)
+#118 := (and #108 #115)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#124 := (ite #121 #21 #88)
+#127 := (ite #14 0::int #124)
+#130 := (= #10 #127)
+#133 := (forall (vars (?v0 int) (?v1 int)) #130)
+#322 := (iff #133 #321)
+#319 := (iff #130 #318)
+#316 := (= #127 #315)
+#313 := (= #124 #312)
+#310 := (iff #121 #307)
+#304 := (or #301 #284)
+#308 := (iff #304 #307)
+#309 := [rewrite]: #308
+#305 := (iff #121 #304)
+#302 := (iff #118 #284)
+#303 := [rewrite]: #302
+#281 := (iff #111 #301)
+#282 := [rewrite]: #281
+#306 := [monotonicity #282 #303]: #305
+#311 := [trans #306 #309]: #310
+#314 := [monotonicity #311]: #313
+#317 := [monotonicity #314]: #316
+#320 := [monotonicity #317]: #319
+#323 := [quant-intro #320]: #322
+#287 := (~ #133 #133)
+#285 := (~ #130 #130)
+#286 := [refl]: #285
+#288 := [nnf-pos #286]: #287
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#136 := (iff #28 #133)
+#75 := (and #16 #18)
+#78 := (or #17 #75)
+#91 := (ite #78 #21 #88)
+#94 := (ite #14 0::int #91)
+#97 := (= #10 #94)
+#100 := (forall (vars (?v0 int) (?v1 int)) #97)
+#134 := (iff #100 #133)
+#131 := (iff #97 #130)
+#128 := (= #94 #127)
+#125 := (= #91 #124)
+#122 := (iff #78 #121)
+#119 := (iff #75 #118)
+#116 := (iff #18 #115)
+#117 := [rewrite]: #116
+#109 := (iff #16 #108)
+#110 := [rewrite]: #109
+#120 := [monotonicity #110 #117]: #119
+#112 := (iff #17 #111)
+#105 := (iff #15 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#126 := [monotonicity #123]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [quant-intro #132]: #134
+#101 := (iff #28 #100)
+#98 := (iff #27 #97)
+#95 := (= #26 #94)
+#92 := (= #25 #91)
+#89 := (= #24 #88)
+#86 := (= #23 #85)
+#87 := [rewrite]: #86
+#83 := (= #22 #82)
+#84 := [rewrite]: #83
+#90 := [monotonicity #84 #87]: #89
+#79 := (iff #20 #78)
+#76 := (iff #19 #75)
+#77 := [rewrite]: #76
+#80 := [monotonicity #77]: #79
+#93 := [monotonicity #80 #90]: #92
+#96 := [monotonicity #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [quant-intro #99]: #101
+#137 := [trans #102 #135]: #136
+#74 := [asserted]: #28
+#138 := [mp #74 #137]: #133
+#272 := [mp~ #138 #288]: #133
+#324 := [mp #272 #323]: #321
+#355 := [mp #324 #354]: #352
+#849 := [mp #355 #848]: #844
+#802 := (not #844)
+#797 := (or #802 #505)
+#429 := (* -1::int 0::int)
+#514 := (div #429 #429)
+#515 := (* -1::int #514)
+#516 := (+ #53 #515)
+#507 := (= #516 0::int)
+#518 := (div 0::int 0::int)
+#519 := (* -1::int #518)
+#447 := (+ #53 #519)
+#520 := (= #447 0::int)
+#517 := (<= 0::int 0::int)
+#521 := (or #517 #517)
+#500 := (not #521)
+#835 := (>= 0::int 0::int)
+#837 := (or #517 #835)
+#494 := (not #837)
+#624 := (or #494 #500)
+#831 := (ite #624 #520 #507)
+#506 := (= 0::int 0::int)
+#838 := (or #506 #506)
+#839 := (ite #838 #505 #831)
+#803 := (or #802 #839)
+#645 := (iff #803 #797)
+#788 := (iff #797 #797)
+#789 := [rewrite]: #788
+#796 := (iff #839 #505)
+#1 := true
+#809 := (ite true #505 #520)
+#800 := (iff #809 #505)
+#795 := [rewrite]: #800
+#798 := (iff #839 #809)
+#808 := (iff #831 #520)
+#528 := (ite false #520 #520)
+#522 := (iff #528 #520)
+#804 := [rewrite]: #522
+#806 := (iff #831 #528)
+#526 := (iff #507 #520)
+#815 := (= #516 #447)
+#814 := (= #515 #519)
+#536 := (= #514 #518)
+#813 := (= #429 0::int)
+#535 := [rewrite]: #813
+#810 := [monotonicity #535 #535]: #536
+#811 := [monotonicity #810]: #814
+#525 := [monotonicity #811]: #815
+#527 := [monotonicity #525]: #526
+#435 := (iff #624 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#539 := (iff #624 #817)
+#830 := (iff #500 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#819 := [rewrite]: #824
+#829 := (iff #500 #821)
+#468 := (iff #521 true)
+#836 := (or true true)
+#492 := (iff #836 true)
+#497 := [rewrite]: #492
+#826 := (iff #521 #836)
+#834 := (iff #517 true)
+#477 := [rewrite]: #834
+#828 := [monotonicity #477 #477]: #826
+#469 := [trans #828 #497]: #468
+#827 := [monotonicity #469]: #829
+#816 := [trans #827 #819]: #830
+#825 := (iff #494 false)
+#822 := (iff #494 #821)
+#484 := (iff #837 true)
+#482 := (iff #837 #836)
+#818 := (iff #835 true)
+#481 := [rewrite]: #818
+#483 := [monotonicity #477 #481]: #482
+#820 := [trans #483 #497]: #484
+#823 := [monotonicity #820]: #822
+#463 := [trans #823 #819]: #825
+#540 := [monotonicity #463 #816]: #539
+#812 := [trans #540 #542]: #435
+#807 := [monotonicity #812 #527]: #806
+#805 := [trans #807 #804]: #808
+#833 := (iff #838 true)
+#842 := (iff #838 #836)
+#840 := (iff #506 true)
+#841 := [rewrite]: #840
+#832 := [monotonicity #841 #841]: #842
+#493 := [trans #832 #497]: #833
+#799 := [monotonicity #493 #805]: #798
+#801 := [trans #799 #795]: #796
+#646 := [monotonicity #801]: #645
+#790 := [trans #646 #789]: #645
+#644 := [quant-inst]: #803
+#791 := [mp #644 #790]: #797
+#745 := [unit-resolution #791 #849]: #505
+#746 := [monotonicity #745]: #56
+#57 := (not #56)
+#269 := [asserted]: #57
+[unit-resolution #269 #746]: false
+unsat
+a3c5f7082796ba5aeb6ea604bf07f9672a32dbef 265 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f3 :: (-> int int int)
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#55 := (f3 #54 0::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#840 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#845 := (pattern #10)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#846 := (forall (vars (?v0 int) (?v1 int)) (:pat #845) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#849 := (iff #354 #846)
+#847 := (iff #351 #351)
+#848 := [refl]: #847
+#850 := [quant-intro #848]: #849
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#851 := [mp #357 #850]: #846
+#788 := (not #846)
+#794 := (or #788 #840)
+#431 := (* -1::int 0::int)
+#516 := (* -1::int #54)
+#517 := (div #516 #431)
+#518 := (* -1::int #517)
+#509 := (+ #55 #518)
+#520 := (= #509 0::int)
+#521 := (div #54 0::int)
+#449 := (* -1::int #521)
+#522 := (+ #55 #449)
+#519 := (= #522 0::int)
+#523 := (<= 0::int 0::int)
+#502 := (<= #54 0::int)
+#837 := (or #502 #523)
+#839 := (not #837)
+#496 := (>= #54 0::int)
+#626 := (or #523 #496)
+#833 := (not #626)
+#507 := (or #833 #839)
+#508 := (ite #507 #519 #520)
+#841 := (= 0::int 0::int)
+#842 := (= #54 0::int)
+#843 := (or #842 #841)
+#838 := (ite #843 #840 #508)
+#795 := (or #788 #838)
+#796 := (iff #795 #794)
+#627 := (iff #794 #794)
+#628 := [rewrite]: #627
+#793 := (iff #838 #840)
+#529 := (div #516 0::int)
+#809 := (* -1::int #529)
+#810 := (+ #55 #809)
+#800 := (= #810 0::int)
+#1 := true
+#647 := (ite true #840 #800)
+#791 := (iff #647 #840)
+#792 := [rewrite]: #791
+#648 := (iff #838 #647)
+#805 := (iff #508 #800)
+#797 := (ite false #519 #800)
+#804 := (iff #797 #800)
+#799 := [rewrite]: #804
+#798 := (iff #508 #797)
+#801 := (iff #520 #800)
+#807 := (= #509 #810)
+#524 := (= #518 #809)
+#530 := (= #517 #529)
+#527 := (= #431 0::int)
+#528 := [rewrite]: #527
+#808 := [monotonicity #528]: #530
+#806 := [monotonicity #808]: #524
+#811 := [monotonicity #806]: #807
+#802 := [monotonicity #811]: #801
+#813 := (iff #507 false)
+#815 := (or false false)
+#812 := (iff #815 false)
+#816 := [rewrite]: #812
+#537 := (iff #507 #815)
+#437 := (iff #839 false)
+#821 := (not true)
+#828 := (iff #821 false)
+#830 := [rewrite]: #828
+#543 := (iff #839 #821)
+#541 := (iff #837 true)
+#831 := (or #502 true)
+#818 := (iff #831 true)
+#819 := [rewrite]: #818
+#829 := (iff #837 #831)
+#483 := (iff #523 true)
+#484 := [rewrite]: #483
+#832 := [monotonicity #484]: #829
+#542 := [trans #832 #819]: #541
+#544 := [monotonicity #542]: #543
+#814 := [trans #544 #830]: #437
+#470 := (iff #833 false)
+#827 := (iff #833 #821)
+#825 := (iff #626 true)
+#485 := (or true #496)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#486 := (iff #626 #485)
+#822 := [monotonicity #484]: #486
+#826 := [trans #822 #824]: #825
+#465 := [monotonicity #826]: #827
+#471 := [trans #465 #830]: #470
+#538 := [monotonicity #471 #814]: #537
+#817 := [trans #538 #816]: #813
+#803 := [monotonicity #817 #802]: #798
+#646 := [trans #803 #799]: #805
+#479 := (iff #843 true)
+#494 := (or #842 true)
+#495 := (iff #494 true)
+#836 := [rewrite]: #495
+#499 := (iff #843 #494)
+#844 := (iff #841 true)
+#834 := [rewrite]: #844
+#835 := [monotonicity #834]: #499
+#820 := [trans #835 #836]: #479
+#790 := [monotonicity #820 #646]: #648
+#787 := [trans #790 #792]: #793
+#625 := [monotonicity #787]: #796
+#781 := [trans #625 #628]: #796
+#789 := [quant-inst]: #795
+#782 := [mp #789 #781]: #794
+#737 := [unit-resolution #782 #851]: #840
+#738 := [monotonicity #737]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #738]: false
+unsat
+557fcb6227e5e97d879f09a9b899d2b5ad291311 274 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#55 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := (f4 0::int 0::int)
+#54 := (f5 #53)
+#56 := (= #54 #55)
+#831 := (= #53 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#81 := -1::int
+#85 := (* -1::int #9)
+#82 := (* -1::int #8)
+#140 := (mod #82 #85)
+#361 := (+ #29 #140)
+#362 := (= #361 0::int)
+#30 := (mod #8 #9)
+#358 := (* -1::int #30)
+#359 := (+ #29 #358)
+#360 := (= #359 0::int)
+#107 := (<= #9 0::int)
+#103 := (<= #8 0::int)
+#300 := (or #103 #107)
+#301 := (not #300)
+#114 := (>= #8 0::int)
+#283 := (or #107 #114)
+#284 := (not #283)
+#307 := (or #284 #301)
+#363 := (ite #307 #360 #362)
+#357 := (= #29 0::int)
+#12 := (= #8 0::int)
+#364 := (ite #12 #357 #363)
+#356 := (= #8 #29)
+#13 := (= #9 0::int)
+#365 := (ite #13 #356 #364)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #365)
+#368 := (forall (vars (?v0 int) (?v1 int)) #365)
+#854 := (iff #368 #851)
+#852 := (iff #365 #365)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#146 := (* -1::int #140)
+#325 := (ite #307 #30 #146)
+#328 := (ite #12 0::int #325)
+#331 := (ite #13 #8 #328)
+#334 := (= #29 #331)
+#337 := (forall (vars (?v0 int) (?v1 int)) #334)
+#369 := (iff #337 #368)
+#366 := (iff #334 #365)
+#367 := [rewrite]: #366
+#370 := [quant-intro #367]: #369
+#115 := (not #114)
+#108 := (not #107)
+#118 := (and #108 #115)
+#104 := (not #103)
+#111 := (and #104 #108)
+#121 := (or #111 #118)
+#166 := (ite #121 #30 #146)
+#169 := (ite #12 0::int #166)
+#172 := (ite #13 #8 #169)
+#175 := (= #29 #172)
+#178 := (forall (vars (?v0 int) (?v1 int)) #175)
+#338 := (iff #178 #337)
+#335 := (iff #175 #334)
+#332 := (= #172 #331)
+#329 := (= #169 #328)
+#326 := (= #166 #325)
+#310 := (iff #121 #307)
+#304 := (or #301 #284)
+#308 := (iff #304 #307)
+#309 := [rewrite]: #308
+#305 := (iff #121 #304)
+#302 := (iff #118 #284)
+#303 := [rewrite]: #302
+#281 := (iff #111 #301)
+#282 := [rewrite]: #281
+#306 := [monotonicity #282 #303]: #305
+#311 := [trans #306 #309]: #310
+#327 := [monotonicity #311]: #326
+#330 := [monotonicity #327]: #329
+#333 := [monotonicity #330]: #332
+#336 := [monotonicity #333]: #335
+#339 := [quant-intro #336]: #338
+#273 := (~ #178 #178)
+#270 := (~ #175 #175)
+#289 := [refl]: #270
+#274 := [nnf-pos #289]: #273
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#181 := (iff #37 #178)
+#75 := (and #16 #18)
+#78 := (or #17 #75)
+#151 := (ite #78 #30 #146)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#179 := (iff #163 #178)
+#176 := (iff #160 #175)
+#173 := (= #157 #172)
+#170 := (= #154 #169)
+#167 := (= #151 #166)
+#122 := (iff #78 #121)
+#119 := (iff #75 #118)
+#116 := (iff #18 #115)
+#117 := [rewrite]: #116
+#109 := (iff #16 #108)
+#110 := [rewrite]: #109
+#120 := [monotonicity #110 #117]: #119
+#112 := (iff #17 #111)
+#105 := (iff #15 #104)
+#106 := [rewrite]: #105
+#113 := [monotonicity #106 #110]: #112
+#123 := [monotonicity #113 #120]: #122
+#168 := [monotonicity #123]: #167
+#171 := [monotonicity #168]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#180 := [quant-intro #177]: #179
+#164 := (iff #37 #163)
+#161 := (iff #36 #160)
+#158 := (= #35 #157)
+#155 := (= #34 #154)
+#152 := (= #33 #151)
+#149 := (= #32 #146)
+#143 := (- #140)
+#147 := (= #143 #146)
+#148 := [rewrite]: #147
+#144 := (= #32 #143)
+#141 := (= #31 #140)
+#86 := (= #23 #85)
+#87 := [rewrite]: #86
+#83 := (= #22 #82)
+#84 := [rewrite]: #83
+#142 := [monotonicity #84 #87]: #141
+#145 := [monotonicity #142]: #144
+#150 := [trans #145 #148]: #149
+#79 := (iff #20 #78)
+#76 := (iff #19 #75)
+#77 := [rewrite]: #76
+#80 := [monotonicity #77]: #79
+#153 := [monotonicity #80 #150]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#182 := [trans #165 #180]: #181
+#139 := [asserted]: #37
+#183 := [mp #139 #182]: #178
+#290 := [mp~ #183 #274]: #178
+#340 := [mp #290 #339]: #337
+#371 := [mp #340 #370]: #368
+#856 := [mp #371 #855]: #851
+#646 := (not #851)
+#788 := (or #646 #831)
+#429 := (* -1::int 0::int)
+#514 := (mod #429 #429)
+#515 := (+ #53 #514)
+#516 := (= #515 0::int)
+#507 := (mod 0::int 0::int)
+#518 := (* -1::int #507)
+#519 := (+ #53 #518)
+#447 := (= #519 0::int)
+#520 := (<= 0::int 0::int)
+#517 := (or #520 #520)
+#521 := (not #517)
+#500 := (>= 0::int 0::int)
+#835 := (or #520 #500)
+#837 := (not #835)
+#494 := (or #837 #521)
+#624 := (ite #494 #447 #516)
+#505 := (= 0::int 0::int)
+#506 := (ite #505 #831 #624)
+#838 := (= 0::int #53)
+#839 := (ite #505 #838 #506)
+#789 := (or #646 #839)
+#791 := (iff #789 #788)
+#786 := (iff #788 #788)
+#792 := [rewrite]: #786
+#644 := (iff #839 #831)
+#1 := true
+#796 := (ite true #831 #831)
+#797 := (iff #796 #831)
+#803 := [rewrite]: #797
+#801 := (iff #839 #796)
+#800 := (iff #506 #831)
+#536 := (+ #53 #507)
+#811 := (= #536 0::int)
+#808 := (ite true #831 #811)
+#798 := (iff #808 #831)
+#799 := [rewrite]: #798
+#805 := (iff #506 #808)
+#522 := (iff #624 #811)
+#526 := (ite false #447 #811)
+#806 := (iff #526 #811)
+#807 := [rewrite]: #806
+#527 := (iff #624 #526)
+#815 := (iff #516 #811)
+#810 := (= #515 #536)
+#813 := (= #514 #507)
+#435 := (= #429 0::int)
+#812 := [rewrite]: #435
+#535 := [monotonicity #812 #812]: #813
+#814 := [monotonicity #535]: #810
+#525 := [monotonicity #814]: #815
+#541 := (iff #494 false)
+#830 := (or false false)
+#539 := (iff #830 false)
+#540 := [rewrite]: #539
+#816 := (iff #494 #830)
+#829 := (iff #521 false)
+#484 := (not true)
+#822 := (iff #484 false)
+#823 := [rewrite]: #822
+#468 := (iff #521 #484)
+#826 := (iff #517 true)
+#493 := (or true true)
+#818 := (iff #493 true)
+#481 := [rewrite]: #818
+#825 := (iff #517 #493)
+#832 := (iff #520 true)
+#492 := [rewrite]: #832
+#463 := [monotonicity #492 #492]: #825
+#828 := [trans #463 #481]: #826
+#469 := [monotonicity #828]: #468
+#827 := [trans #469 #823]: #829
+#824 := (iff #837 false)
+#820 := (iff #837 #484)
+#482 := (iff #835 true)
+#834 := (iff #835 #493)
+#497 := (iff #500 true)
+#833 := [rewrite]: #497
+#477 := [monotonicity #492 #833]: #834
+#483 := [trans #477 #481]: #482
+#821 := [monotonicity #483]: #820
+#819 := [trans #821 #823]: #824
+#817 := [monotonicity #819 #827]: #816
+#542 := [trans #817 #540]: #541
+#528 := [monotonicity #542 #525]: #527
+#804 := [trans #528 #807]: #522
+#840 := (iff #505 true)
+#841 := [rewrite]: #840
+#809 := [monotonicity #841 #804]: #805
+#795 := [trans #809 #799]: #800
+#836 := (iff #838 #831)
+#842 := [rewrite]: #836
+#802 := [monotonicity #841 #842 #795]: #801
+#645 := [trans #802 #803]: #644
+#785 := [monotonicity #645]: #791
+#793 := [trans #785 #792]: #791
+#790 := [quant-inst]: #789
+#787 := [mp #790 #793]: #788
+#741 := [unit-resolution #787 #856]: #831
+#742 := [monotonicity #741]: #56
+#57 := (not #56)
+#269 := [asserted]: #57
+[unit-resolution #269 #742]: false
+unsat
+32d7b5a9ad9a19e13efcf9a11e88fc7fa8b6d32d 287 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := 1::int
+#54 := (f3 0::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#839 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#843 := (pattern #10)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#844 := (forall (vars (?v0 int) (?v1 int)) (:pat #843) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#847 := (iff #353 #844)
+#845 := (iff #350 #350)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#849 := [mp #356 #848]: #844
+#679 := (not #844)
+#672 := (or #679 #839)
+#430 := (* -1::int 1::int)
+#514 := (* -1::int 0::int)
+#515 := (div #514 #430)
+#516 := (* -1::int #515)
+#507 := (+ #54 #516)
+#518 := (= #507 0::int)
+#519 := (div 0::int 1::int)
+#520 := (* -1::int #519)
+#517 := (+ #54 #520)
+#521 := (= #517 0::int)
+#500 := (<= 1::int 0::int)
+#835 := (<= 0::int 0::int)
+#837 := (or #835 #500)
+#494 := (not #837)
+#624 := (>= 0::int 0::int)
+#831 := (or #500 #624)
+#505 := (not #831)
+#506 := (or #505 #494)
+#838 := (ite #506 #521 #518)
+#840 := (= 1::int 0::int)
+#841 := (= 0::int 0::int)
+#836 := (or #841 #840)
+#842 := (ite #836 #839 #838)
+#680 := (or #679 #842)
+#682 := (iff #680 #672)
+#684 := (iff #672 #672)
+#777 := [rewrite]: #684
+#676 := (iff #842 #839)
+#1 := true
+#677 := (ite true #839 #839)
+#776 := (iff #677 #839)
+#661 := [rewrite]: #776
+#772 := (iff #842 #677)
+#627 := (iff #838 #839)
+#781 := (ite false #839 #839)
+#667 := (iff #781 #839)
+#668 := [rewrite]: #667
+#784 := (iff #838 #781)
+#782 := (iff #518 #839)
+#779 := (= #507 #54)
+#799 := (+ #54 0::int)
+#796 := (= #799 #54)
+#801 := [rewrite]: #796
+#625 := (= #507 #799)
+#794 := (= #516 0::int)
+#808 := (= #514 0::int)
+#805 := [rewrite]: #808
+#793 := (= #516 #514)
+#786 := (= #515 0::int)
+#788 := (div 0::int -1::int)
+#791 := (= #788 0::int)
+#785 := [rewrite]: #791
+#789 := (= #515 #788)
+#645 := (= #430 -1::int)
+#646 := [rewrite]: #645
+#790 := [monotonicity #805 #646]: #789
+#792 := [trans #790 #785]: #786
+#787 := [monotonicity #792]: #793
+#623 := [trans #787 #805]: #794
+#626 := [monotonicity #623]: #625
+#780 := [trans #626 #801]: #779
+#783 := [monotonicity #780]: #782
+#803 := (iff #521 #839)
+#802 := (= #517 #54)
+#800 := (= #517 #799)
+#809 := (= #520 0::int)
+#522 := (= #520 #514)
+#806 := (= #519 0::int)
+#807 := [rewrite]: #806
+#804 := [monotonicity #807]: #522
+#798 := [trans #804 #805]: #809
+#795 := [monotonicity #798]: #800
+#797 := [trans #795 #801]: #802
+#644 := [monotonicity #797]: #803
+#527 := (iff #506 false)
+#814 := (or false false)
+#525 := (iff #814 false)
+#526 := [rewrite]: #525
+#811 := (iff #506 #814)
+#536 := (iff #494 false)
+#468 := (not true)
+#827 := (iff #468 false)
+#830 := [rewrite]: #827
+#813 := (iff #494 #468)
+#436 := (iff #837 true)
+#493 := (or true false)
+#818 := (iff #493 true)
+#481 := [rewrite]: #818
+#541 := (iff #837 #493)
+#484 := (iff #500 false)
+#820 := [rewrite]: #484
+#539 := (iff #835 true)
+#540 := [rewrite]: #539
+#542 := [monotonicity #540 #820]: #541
+#812 := [trans #542 #481]: #436
+#535 := [monotonicity #812]: #813
+#810 := [trans #535 #830]: #536
+#816 := (iff #505 false)
+#469 := (iff #505 #468)
+#826 := (iff #831 true)
+#823 := (or false true)
+#825 := (iff #823 true)
+#463 := [rewrite]: #825
+#824 := (iff #831 #823)
+#821 := (iff #624 true)
+#822 := [rewrite]: #821
+#819 := [monotonicity #820 #822]: #824
+#828 := [trans #819 #463]: #826
+#829 := [monotonicity #828]: #469
+#817 := [trans #829 #830]: #816
+#815 := [monotonicity #817 #810]: #811
+#528 := [trans #815 #526]: #527
+#666 := [monotonicity #528 #644 #783]: #784
+#775 := [trans #666 #668]: #627
+#482 := (iff #836 true)
+#834 := (iff #836 #493)
+#497 := (iff #840 false)
+#833 := [rewrite]: #497
+#832 := (iff #841 true)
+#492 := [rewrite]: #832
+#477 := [monotonicity #492 #833]: #834
+#483 := [trans #477 #481]: #482
+#773 := [monotonicity #483 #775]: #772
+#678 := [trans #773 #661]: #676
+#683 := [monotonicity #678]: #682
+#774 := [trans #683 #777]: #682
+#681 := [quant-inst]: #680
+#778 := [mp #681 #774]: #672
+#690 := [unit-resolution #778 #849]: #839
+#691 := [monotonicity #690]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #691]: false
+unsat
+c5c377ca97ceb2064a54831562497528f636353d 321 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f4 :: (-> int int int)
+#11 := 0::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#55 := (f4 #54 0::int)
+#56 := (f5 #55)
+#271 := (= f7 #56)
+#795 := (f5 #54)
+#772 := (= #795 #56)
+#771 := (= #56 #795)
+#768 := (= #55 #54)
+#848 := (= #54 #55)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#858 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#369 := (+ #29 #141)
+#370 := (= #369 0::int)
+#30 := (mod #8 #9)
+#366 := (* -1::int #30)
+#367 := (+ #29 #366)
+#368 := (= #367 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#308 := (or #104 #108)
+#309 := (not #308)
+#115 := (>= #8 0::int)
+#291 := (or #108 #115)
+#292 := (not #291)
+#315 := (or #292 #309)
+#371 := (ite #315 #368 #370)
+#365 := (= #29 0::int)
+#12 := (= #8 0::int)
+#372 := (ite #12 #365 #371)
+#364 := (= #8 #29)
+#13 := (= #9 0::int)
+#373 := (ite #13 #364 #372)
+#859 := (forall (vars (?v0 int) (?v1 int)) (:pat #858) #373)
+#376 := (forall (vars (?v0 int) (?v1 int)) #373)
+#862 := (iff #376 #859)
+#860 := (iff #373 #373)
+#861 := [refl]: #860
+#863 := [quant-intro #861]: #862
+#147 := (* -1::int #141)
+#333 := (ite #315 #30 #147)
+#336 := (ite #12 0::int #333)
+#339 := (ite #13 #8 #336)
+#342 := (= #29 #339)
+#345 := (forall (vars (?v0 int) (?v1 int)) #342)
+#377 := (iff #345 #376)
+#374 := (iff #342 #373)
+#375 := [rewrite]: #374
+#378 := [quant-intro #375]: #377
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#346 := (iff #179 #345)
+#343 := (iff #176 #342)
+#340 := (= #173 #339)
+#337 := (= #170 #336)
+#334 := (= #167 #333)
+#318 := (iff #122 #315)
+#312 := (or #309 #292)
+#316 := (iff #312 #315)
+#317 := [rewrite]: #316
+#313 := (iff #122 #312)
+#310 := (iff #119 #292)
+#311 := [rewrite]: #310
+#289 := (iff #112 #309)
+#290 := [rewrite]: #289
+#314 := [monotonicity #290 #311]: #313
+#319 := [trans #314 #317]: #318
+#335 := [monotonicity #319]: #334
+#338 := [monotonicity #335]: #337
+#341 := [monotonicity #338]: #340
+#344 := [monotonicity #341]: #343
+#347 := [quant-intro #344]: #346
+#281 := (~ #179 #179)
+#277 := (~ #176 #176)
+#297 := [refl]: #277
+#282 := [nnf-pos #297]: #281
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#298 := [mp~ #184 #282]: #179
+#348 := [mp #298 #347]: #345
+#379 := [mp #348 #378]: #376
+#864 := [mp #379 #863]: #859
+#653 := (not #859)
+#654 := (or #653 #848)
+#437 := (* -1::int 0::int)
+#522 := (* -1::int #54)
+#523 := (mod #522 #437)
+#524 := (+ #55 #523)
+#515 := (= #524 0::int)
+#526 := (mod #54 0::int)
+#527 := (* -1::int #526)
+#455 := (+ #55 #527)
+#528 := (= #455 0::int)
+#525 := (<= 0::int 0::int)
+#529 := (<= #54 0::int)
+#508 := (or #529 #525)
+#843 := (not #508)
+#845 := (>= #54 0::int)
+#502 := (or #525 #845)
+#632 := (not #502)
+#839 := (or #632 #843)
+#513 := (ite #839 #528 #515)
+#514 := (= #55 0::int)
+#846 := (= #54 0::int)
+#847 := (ite #846 #514 #513)
+#849 := (= 0::int 0::int)
+#844 := (ite #849 #848 #847)
+#796 := (or #653 #844)
+#798 := (iff #796 #654)
+#793 := (iff #654 #654)
+#794 := [rewrite]: #793
+#811 := (iff #844 #848)
+#544 := (mod #522 0::int)
+#819 := (+ #55 #544)
+#534 := (= #819 0::int)
+#806 := (ite #846 #514 #534)
+#1 := true
+#803 := (ite true #848 #806)
+#810 := (iff #803 #848)
+#805 := [rewrite]: #810
+#804 := (iff #844 #803)
+#807 := (iff #847 #806)
+#813 := (iff #513 #534)
+#814 := (ite false #528 #534)
+#812 := (iff #814 #534)
+#816 := [rewrite]: #812
+#815 := (iff #513 #814)
+#535 := (iff #515 #534)
+#823 := (= #524 #819)
+#818 := (= #523 #544)
+#821 := (= #437 0::int)
+#543 := [rewrite]: #821
+#822 := [monotonicity #543]: #818
+#533 := [monotonicity #822]: #823
+#536 := [monotonicity #533]: #535
+#443 := (iff #839 false)
+#825 := (or false false)
+#549 := (iff #825 false)
+#550 := [rewrite]: #549
+#547 := (iff #839 #825)
+#838 := (iff #843 false)
+#491 := (not true)
+#829 := (iff #491 false)
+#830 := [rewrite]: #829
+#837 := (iff #843 #491)
+#476 := (iff #508 true)
+#827 := (or #529 true)
+#834 := (iff #827 true)
+#836 := [rewrite]: #834
+#833 := (iff #508 #827)
+#500 := (iff #525 true)
+#505 := [rewrite]: #500
+#471 := [monotonicity #505]: #833
+#477 := [trans #471 #836]: #476
+#835 := [monotonicity #477]: #837
+#824 := [trans #835 #830]: #838
+#831 := (iff #632 false)
+#492 := (iff #632 #491)
+#489 := (iff #502 true)
+#841 := (or true #845)
+#485 := (iff #841 true)
+#826 := [rewrite]: #485
+#501 := (iff #502 #841)
+#842 := [monotonicity #505]: #501
+#490 := [trans #842 #826]: #489
+#828 := [monotonicity #490]: #492
+#832 := [trans #828 #830]: #831
+#548 := [monotonicity #832 #824]: #547
+#820 := [trans #548 #550]: #443
+#530 := [monotonicity #820 #536]: #815
+#817 := [trans #530 #816]: #813
+#808 := [monotonicity #817]: #807
+#850 := (iff #849 true)
+#840 := [rewrite]: #850
+#809 := [monotonicity #840 #808]: #804
+#652 := [trans #809 #805]: #811
+#799 := [monotonicity #652]: #798
+#800 := [trans #799 #794]: #798
+#797 := [quant-inst]: #796
+#801 := [mp #797 #800]: #654
+#779 := [unit-resolution #801 #864]: #848
+#769 := [symm #779]: #768
+#765 := [monotonicity #769]: #771
+#756 := [symm #765]: #772
+#802 := (= f7 #795)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#865 := (pattern #39)
+#40 := (f5 #39)
+#186 := (= #38 #40)
+#866 := (forall (vars (?v0 S2)) (:pat #865) #186)
+#189 := (forall (vars (?v0 S2)) #186)
+#867 := (iff #189 #866)
+#869 := (iff #866 #866)
+#870 := [rewrite]: #869
+#868 := [rewrite]: #867
+#871 := [trans #868 #870]: #867
+#283 := (~ #189 #189)
+#299 := (~ #186 #186)
+#300 := [refl]: #299
+#284 := [nnf-pos #300]: #283
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#190 := (iff #42 #189)
+#187 := (iff #41 #186)
+#188 := [rewrite]: #187
+#191 := [quant-intro #188]: #190
+#185 := [asserted]: #42
+#194 := [mp #185 #191]: #189
+#301 := [mp~ #194 #284]: #189
+#872 := [mp #301 #871]: #866
+#634 := (not #866)
+#787 := (or #634 #802)
+#788 := [quant-inst]: #787
+#770 := [unit-resolution #788 #872]: #802
+#757 := [trans #770 #756]: #271
+#274 := (not #271)
+#57 := (= #56 f7)
+#58 := (not #57)
+#275 := (iff #58 #274)
+#272 := (iff #57 #271)
+#273 := [rewrite]: #272
+#276 := [monotonicity #273]: #275
+#270 := [asserted]: #58
+#279 := [mp #270 #276]: #274
+[unit-resolution #279 #757]: false
+unsat
+b75d0d31bfc8b1838bed57a3059c21b7ee56aaf6 287 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 1::int
+#56 := (f5 1::int)
+decl f3 :: (-> int int int)
+#54 := (f3 1::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#801 := (= #54 1::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#843 := (pattern #10)
+#11 := 0::int
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#844 := (forall (vars (?v0 int) (?v1 int)) (:pat #843) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#847 := (iff #353 #844)
+#845 := (iff #350 #350)
+#846 := [refl]: #845
+#848 := [quant-intro #846]: #847
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#849 := [mp #356 #848]: #844
+#679 := (not #844)
+#672 := (or #679 #801)
+#430 := (* -1::int 1::int)
+#514 := (div #430 #430)
+#515 := (* -1::int #514)
+#516 := (+ #54 #515)
+#507 := (= #516 0::int)
+#518 := (div 1::int 1::int)
+#519 := (* -1::int #518)
+#520 := (+ #54 #519)
+#517 := (= #520 0::int)
+#521 := (<= 1::int 0::int)
+#500 := (or #521 #521)
+#835 := (not #500)
+#837 := (>= 1::int 0::int)
+#494 := (or #521 #837)
+#624 := (not #494)
+#831 := (or #624 #835)
+#505 := (ite #831 #517 #507)
+#506 := (= #54 0::int)
+#838 := (= 1::int 0::int)
+#839 := (or #838 #838)
+#840 := (ite #839 #506 #505)
+#680 := (or #679 #840)
+#682 := (iff #680 #672)
+#684 := (iff #672 #672)
+#777 := [rewrite]: #684
+#676 := (iff #840 #801)
+#677 := (ite false #506 #801)
+#776 := (iff #677 #801)
+#661 := [rewrite]: #776
+#772 := (iff #840 #677)
+#627 := (iff #505 #801)
+#1 := true
+#781 := (ite true #801 #801)
+#667 := (iff #781 #801)
+#668 := [rewrite]: #667
+#784 := (iff #505 #781)
+#782 := (iff #507 #801)
+#808 := (+ -1::int #54)
+#800 := (= #808 0::int)
+#802 := (iff #800 #801)
+#797 := [rewrite]: #802
+#779 := (iff #507 #800)
+#625 := (= #516 #808)
+#807 := (+ #54 -1::int)
+#805 := (= #807 #808)
+#809 := [rewrite]: #805
+#794 := (= #516 #807)
+#793 := (= #515 -1::int)
+#526 := (= #430 -1::int)
+#527 := [rewrite]: #526
+#786 := (= #515 #430)
+#791 := (= #514 1::int)
+#645 := (div -1::int -1::int)
+#789 := (= #645 1::int)
+#790 := [rewrite]: #789
+#646 := (= #514 #645)
+#788 := [monotonicity #527 #527]: #646
+#785 := [trans #788 #790]: #791
+#792 := [monotonicity #785]: #786
+#787 := [trans #792 #527]: #793
+#623 := [monotonicity #787]: #794
+#626 := [trans #623 #809]: #625
+#780 := [monotonicity #626]: #779
+#783 := [trans #780 #797]: #782
+#803 := (iff #517 #801)
+#795 := (iff #517 #800)
+#798 := (= #520 #808)
+#522 := (= #520 #807)
+#528 := (= #519 -1::int)
+#815 := (= #519 #430)
+#814 := (= #518 1::int)
+#811 := [rewrite]: #814
+#525 := [monotonicity #811]: #815
+#806 := [trans #525 #527]: #528
+#804 := [monotonicity #806]: #522
+#799 := [trans #804 #809]: #798
+#796 := [monotonicity #799]: #795
+#644 := [trans #796 #797]: #803
+#536 := (iff #831 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#813 := (iff #831 #483)
+#436 := (iff #835 true)
+#817 := (not false)
+#541 := (iff #817 true)
+#542 := [rewrite]: #541
+#539 := (iff #835 #817)
+#830 := (iff #500 false)
+#842 := (or false false)
+#497 := (iff #842 false)
+#833 := [rewrite]: #497
+#829 := (iff #500 #842)
+#477 := (iff #521 false)
+#818 := [rewrite]: #477
+#827 := [monotonicity #818 #818]: #829
+#816 := [trans #827 #833]: #830
+#540 := [monotonicity #816]: #539
+#812 := [trans #540 #542]: #436
+#468 := (iff #624 false)
+#819 := (not true)
+#826 := (iff #819 false)
+#828 := [rewrite]: #826
+#825 := (iff #624 #819)
+#823 := (iff #494 true)
+#484 := (iff #494 #483)
+#481 := (iff #837 true)
+#482 := [rewrite]: #481
+#820 := [monotonicity #818 #482]: #484
+#824 := [trans #820 #822]: #823
+#463 := [monotonicity #824]: #825
+#469 := [trans #463 #828]: #468
+#535 := [monotonicity #469 #812]: #813
+#810 := [trans #535 #822]: #536
+#666 := [monotonicity #810 #644 #783]: #784
+#775 := [trans #666 #668]: #627
+#493 := (iff #839 false)
+#832 := (iff #839 #842)
+#841 := (iff #838 false)
+#836 := [rewrite]: #841
+#492 := [monotonicity #836 #836]: #832
+#834 := [trans #492 #833]: #493
+#773 := [monotonicity #834 #775]: #772
+#678 := [trans #773 #661]: #676
+#683 := [monotonicity #678]: #682
+#774 := [trans #683 #777]: #682
+#681 := [quant-inst]: #680
+#778 := [mp #681 #774]: #672
+#691 := [unit-resolution #778 #849]: #801
+#692 := [monotonicity #691]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #692]: false
+unsat
+192147dde9bbf2d1457462417b1b13f9cf65afdf 298 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 3::int
+#57 := (f5 3::int)
+decl f3 :: (-> int int int)
+#54 := 1::int
+#55 := (f3 3::int 1::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#790 := (= #55 3::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#766 := (not #845)
+#768 := (or #766 #790)
+#431 := (* -1::int 1::int)
+#515 := (* -1::int 3::int)
+#516 := (div #515 #431)
+#517 := (* -1::int #516)
+#508 := (+ #55 #517)
+#519 := (= #508 0::int)
+#520 := (div 3::int 1::int)
+#521 := (* -1::int #520)
+#518 := (+ #55 #521)
+#522 := (= #518 0::int)
+#501 := (<= 1::int 0::int)
+#836 := (<= 3::int 0::int)
+#838 := (or #836 #501)
+#495 := (not #838)
+#625 := (>= 3::int 0::int)
+#832 := (or #501 #625)
+#506 := (not #832)
+#507 := (or #506 #495)
+#839 := (ite #507 #522 #519)
+#840 := (= #55 0::int)
+#841 := (= 1::int 0::int)
+#842 := (= 3::int 0::int)
+#837 := (or #842 #841)
+#843 := (ite #837 #840 #839)
+#760 := (or #766 #843)
+#759 := (iff #760 #768)
+#770 := (iff #768 #768)
+#771 := [rewrite]: #770
+#775 := (iff #843 #790)
+#682 := (ite false #840 #790)
+#685 := (iff #682 #790)
+#778 := [rewrite]: #685
+#683 := (iff #843 #682)
+#673 := (iff #839 #790)
+#1 := true
+#777 := (ite true #790 #790)
+#679 := (iff #777 #790)
+#680 := [rewrite]: #679
+#662 := (iff #839 #777)
+#773 := (iff #519 #790)
+#809 := -3::int
+#802 := (+ -3::int #55)
+#646 := (= #802 0::int)
+#791 := (iff #646 #790)
+#792 := [rewrite]: #791
+#776 := (iff #519 #646)
+#669 := (= #508 #802)
+#801 := (+ #55 -3::int)
+#803 := (= #801 #802)
+#798 := [rewrite]: #803
+#667 := (= #508 #801)
+#782 := (= #517 -3::int)
+#806 := (= #515 -3::int)
+#810 := [rewrite]: #806
+#783 := (= #517 #515)
+#780 := (= #516 3::int)
+#788 := (div -3::int -1::int)
+#626 := (= #788 3::int)
+#627 := [rewrite]: #626
+#795 := (= #516 #788)
+#793 := (= #431 -1::int)
+#794 := [rewrite]: #793
+#624 := [monotonicity #810 #794]: #795
+#781 := [trans #624 #627]: #780
+#784 := [monotonicity #781]: #783
+#785 := [trans #784 #810]: #782
+#668 := [monotonicity #785]: #667
+#628 := [trans #668 #798]: #669
+#678 := [monotonicity #628]: #776
+#774 := [trans #678 #792]: #773
+#786 := (iff #522 #790)
+#647 := (iff #522 #646)
+#804 := (= #518 #802)
+#796 := (= #518 #801)
+#799 := (= #521 -3::int)
+#523 := (= #521 #515)
+#807 := (= #520 3::int)
+#808 := [rewrite]: #807
+#805 := [monotonicity #808]: #523
+#800 := [trans #805 #810]: #799
+#797 := [monotonicity #800]: #796
+#645 := [trans #797 #798]: #804
+#789 := [monotonicity #645]: #647
+#787 := [trans #789 #792]: #786
+#528 := (iff #507 true)
+#824 := (or false true)
+#826 := (iff #824 true)
+#464 := [rewrite]: #826
+#526 := (iff #507 #824)
+#812 := (iff #495 true)
+#814 := (not false)
+#811 := (iff #814 true)
+#815 := [rewrite]: #811
+#536 := (iff #495 #814)
+#437 := (iff #838 false)
+#494 := (or false false)
+#819 := (iff #494 false)
+#482 := [rewrite]: #819
+#542 := (iff #838 #494)
+#485 := (iff #501 false)
+#821 := [rewrite]: #485
+#540 := (iff #836 false)
+#541 := [rewrite]: #540
+#543 := [monotonicity #541 #821]: #542
+#813 := [trans #543 #482]: #437
+#537 := [monotonicity #813]: #536
+#816 := [trans #537 #815]: #812
+#817 := (iff #506 false)
+#469 := (not true)
+#828 := (iff #469 false)
+#831 := [rewrite]: #828
+#470 := (iff #506 #469)
+#827 := (iff #832 true)
+#825 := (iff #832 #824)
+#822 := (iff #625 true)
+#823 := [rewrite]: #822
+#820 := [monotonicity #821 #823]: #825
+#829 := [trans #820 #464]: #827
+#830 := [monotonicity #829]: #470
+#818 := [trans #830 #831]: #817
+#527 := [monotonicity #818 #816]: #526
+#529 := [trans #527 #464]: #528
+#677 := [monotonicity #529 #787 #774]: #662
+#681 := [trans #677 #680]: #673
+#483 := (iff #837 false)
+#835 := (iff #837 #494)
+#498 := (iff #841 false)
+#834 := [rewrite]: #498
+#833 := (iff #842 false)
+#493 := [rewrite]: #833
+#478 := [monotonicity #493 #834]: #835
+#484 := [trans #478 #482]: #483
+#684 := [monotonicity #484 #681]: #683
+#779 := [trans #684 #778]: #775
+#769 := [monotonicity #779]: #759
+#767 := [trans #769 #771]: #759
+#757 := [quant-inst]: #760
+#772 := [mp #757 #767]: #768
+#705 := [unit-resolution #772 #850]: #790
+#706 := [monotonicity #705]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #706]: false
+unsat
+64092e43f0b1d98a4db3438cb496ffa4c38dbe0d 304 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 1::int
+#54 := (f4 0::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#838 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#854 := (iff #369 #851)
+#852 := (iff #366 #366)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#856 := [mp #372 #855]: #851
+#676 := (not #851)
+#678 := (or #676 #838)
+#430 := (* -1::int 1::int)
+#514 := (* -1::int 0::int)
+#515 := (mod #514 #430)
+#516 := (+ #54 #515)
+#507 := (= #516 0::int)
+#518 := (mod 0::int 1::int)
+#519 := (* -1::int #518)
+#520 := (+ #54 #519)
+#517 := (= #520 0::int)
+#521 := (<= 1::int 0::int)
+#500 := (<= 0::int 0::int)
+#835 := (or #500 #521)
+#837 := (not #835)
+#494 := (>= 0::int 0::int)
+#624 := (or #521 #494)
+#831 := (not #624)
+#505 := (or #831 #837)
+#506 := (ite #505 #517 #507)
+#839 := (= 0::int 0::int)
+#840 := (ite #839 #838 #506)
+#841 := (= 0::int #54)
+#836 := (= 1::int 0::int)
+#842 := (ite #836 #841 #840)
+#679 := (or #676 #842)
+#680 := (iff #679 #678)
+#682 := (iff #678 #678)
+#683 := [rewrite]: #682
+#776 := (iff #842 #838)
+#625 := (ite false #838 #838)
+#780 := (iff #625 #838)
+#782 := [rewrite]: #780
+#772 := (iff #842 #625)
+#775 := (iff #840 #838)
+#1 := true
+#784 := (ite true #838 #838)
+#668 := (iff #784 #838)
+#627 := [rewrite]: #668
+#666 := (iff #840 #784)
+#783 := (iff #506 #838)
+#626 := (iff #506 #625)
+#794 := (iff #507 #838)
+#793 := (= #516 #54)
+#809 := (+ #54 0::int)
+#800 := (= #809 #54)
+#795 := [rewrite]: #800
+#786 := (= #516 #809)
+#791 := (= #515 0::int)
+#645 := (mod 0::int -1::int)
+#789 := (= #645 0::int)
+#790 := [rewrite]: #789
+#646 := (= #515 #645)
+#803 := (= #430 -1::int)
+#644 := [rewrite]: #803
+#522 := (= #514 0::int)
+#804 := [rewrite]: #522
+#788 := [monotonicity #804 #644]: #646
+#785 := [trans #788 #790]: #791
+#792 := [monotonicity #785]: #786
+#787 := [trans #792 #795]: #793
+#623 := [monotonicity #787]: #794
+#802 := (iff #517 #838)
+#796 := (= #520 #54)
+#798 := (= #520 #809)
+#808 := (= #519 0::int)
+#806 := (= #519 #514)
+#527 := (= #518 0::int)
+#528 := [rewrite]: #527
+#807 := [monotonicity #528]: #806
+#805 := [trans #807 #804]: #808
+#799 := [monotonicity #805]: #798
+#801 := [trans #799 #795]: #796
+#797 := [monotonicity #801]: #802
+#525 := (iff #505 false)
+#536 := (or false false)
+#811 := (iff #536 false)
+#815 := [rewrite]: #811
+#810 := (iff #505 #536)
+#813 := (iff #837 false)
+#819 := (not true)
+#826 := (iff #819 false)
+#828 := [rewrite]: #826
+#436 := (iff #837 #819)
+#541 := (iff #835 true)
+#830 := (or true false)
+#539 := (iff #830 true)
+#540 := [rewrite]: #539
+#816 := (iff #835 #830)
+#477 := (iff #521 false)
+#818 := [rewrite]: #477
+#829 := (iff #500 true)
+#827 := [rewrite]: #829
+#817 := [monotonicity #827 #818]: #816
+#542 := [trans #817 #540]: #541
+#812 := [monotonicity #542]: #436
+#535 := [trans #812 #828]: #813
+#468 := (iff #831 false)
+#825 := (iff #831 #819)
+#823 := (iff #624 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#484 := (iff #624 #483)
+#481 := (iff #494 true)
+#482 := [rewrite]: #481
+#820 := [monotonicity #818 #482]: #484
+#824 := [trans #820 #822]: #823
+#463 := [monotonicity #824]: #825
+#469 := [trans #463 #828]: #468
+#814 := [monotonicity #469 #535]: #810
+#526 := [trans #814 #815]: #525
+#779 := [monotonicity #526 #797 #623]: #626
+#781 := [trans #779 #782]: #783
+#493 := (iff #839 true)
+#834 := [rewrite]: #493
+#667 := [monotonicity #834 #781]: #666
+#677 := [trans #667 #627]: #775
+#497 := (iff #841 #838)
+#833 := [rewrite]: #497
+#832 := (iff #836 false)
+#492 := [rewrite]: #832
+#773 := [monotonicity #492 #833 #677]: #772
+#661 := [trans #773 #782]: #776
+#681 := [monotonicity #661]: #680
+#684 := [trans #681 #683]: #680
+#672 := [quant-inst]: #679
+#777 := [mp #672 #684]: #678
+#712 := [unit-resolution #777 #856]: #838
+#708 := [monotonicity #712]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #708]: false
+unsat
+9ffddad65860c13b15f4fc36ad26084e810a67ad 360 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f3 :: (-> int int int)
+#55 := 1::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 1::int)
+#57 := (f5 #56)
+#272 := (= f7 #57)
+#689 := (f5 #54)
+#624 := (= #689 #57)
+#621 := (= #57 #689)
+#618 := (= #56 #54)
+#11 := 0::int
+#583 := (= 0::int #54)
+#849 := (= #54 0::int)
+#843 := (<= #54 0::int)
+#825 := (not #843)
+#632 := (>= #54 0::int)
+#833 := (not #632)
+#549 := (or #833 #825)
+#799 := (not #549)
+#527 := (div #54 1::int)
+#83 := -1::int
+#528 := (* -1::int #527)
+#525 := (+ #56 #528)
+#529 := (= #525 0::int)
+#789 := (not #529)
+#711 := (= #527 #54)
+#645 := (= #54 #527)
+#712 := (+ #54 #528)
+#695 := (<= #712 0::int)
+#709 := (= #712 0::int)
+#1 := true
+#74 := [true-axiom]: true
+#667 := (or false #709)
+#628 := [th-lemma]: #667
+#629 := [unit-resolution #628 #74]: #709
+#636 := (not #709)
+#638 := (or #636 #695)
+#639 := [th-lemma]: #638
+#640 := [unit-resolution #639 #629]: #695
+#641 := (>= #712 0::int)
+#642 := (or #636 #641)
+#643 := [th-lemma]: #642
+#644 := [unit-resolution #643 #629]: #641
+#646 := [th-lemma #644 #640]: #645
+#648 := [symm #646]: #711
+#666 := (= #56 #527)
+#801 := (<= #525 0::int)
+#659 := [hypothesis]: #529
+#660 := (or #789 #801)
+#661 := [th-lemma]: #660
+#662 := [unit-resolution #661 #659]: #801
+#795 := (>= #525 0::int)
+#663 := (or #789 #795)
+#664 := [th-lemma]: #663
+#665 := [unit-resolution #664 #659]: #795
+#651 := [th-lemma #665 #662]: #666
+#619 := [trans #651 #648]: #618
+#623 := [monotonicity #619]: #621
+#625 := [symm #623]: #624
+#690 := (= f7 #689)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#865 := (pattern #39)
+#40 := (f5 #39)
+#187 := (= #38 #40)
+#866 := (forall (vars (?v0 S2)) (:pat #865) #187)
+#190 := (forall (vars (?v0 S2)) #187)
+#867 := (iff #190 #866)
+#869 := (iff #866 #866)
+#870 := [rewrite]: #869
+#868 := [rewrite]: #867
+#871 := [trans #868 #870]: #867
+#284 := (~ #190 #190)
+#300 := (~ #187 #187)
+#301 := [refl]: #300
+#285 := [nnf-pos #301]: #284
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#191 := (iff #42 #190)
+#188 := (iff #41 #187)
+#189 := [rewrite]: #188
+#192 := [quant-intro #189]: #191
+#186 := [asserted]: #42
+#195 := [mp #186 #192]: #190
+#302 := [mp~ #195 #285]: #190
+#872 := [mp #302 #871]: #866
+#785 := (not #866)
+#782 := (or #785 #690)
+#786 := [quant-inst]: #782
+#620 := [unit-resolution #786 #872]: #690
+#468 := [trans #620 #625]: #272
+#275 := (not #272)
+#58 := (= #57 f7)
+#59 := (not #58)
+#276 := (iff #59 #275)
+#273 := (iff #58 #272)
+#274 := [rewrite]: #273
+#277 := [monotonicity #274]: #276
+#271 := [asserted]: #59
+#280 := [mp #271 #277]: #275
+#626 := [unit-resolution #280 #468]: false
+#622 := [lemma #626]: #789
+#522 := (* -1::int #54)
+#543 := (div #522 -1::int)
+#822 := (* -1::int #543)
+#533 := (+ #56 #822)
+#536 := (= #533 0::int)
+#530 := (ite #549 #529 #536)
+#685 := (not #849)
+#585 := [hypothesis]: #685
+#586 := (or #849 #530)
+#847 := (= #56 0::int)
+#813 := (ite #849 #847 #530)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#851 := (pattern #10)
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#354 := (* -1::int #90)
+#355 := (+ #10 #354)
+#356 := (= #355 0::int)
+#21 := (div #8 #9)
+#351 := (* -1::int #21)
+#352 := (+ #10 #351)
+#353 := (= #352 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#309 := (or #105 #109)
+#310 := (not #309)
+#116 := (>= #8 0::int)
+#292 := (or #109 #116)
+#293 := (not #292)
+#316 := (or #293 #310)
+#357 := (ite #316 #353 #356)
+#350 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#358 := (ite #14 #350 #357)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #358)
+#361 := (forall (vars (?v0 int) (?v1 int)) #358)
+#855 := (iff #361 #852)
+#853 := (iff #358 #358)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#321 := (ite #316 #21 #90)
+#324 := (ite #14 0::int #321)
+#327 := (= #10 #324)
+#330 := (forall (vars (?v0 int) (?v1 int)) #327)
+#362 := (iff #330 #361)
+#359 := (iff #327 #358)
+#360 := [rewrite]: #359
+#363 := [quant-intro #360]: #362
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#331 := (iff #135 #330)
+#328 := (iff #132 #327)
+#325 := (= #129 #324)
+#322 := (= #126 #321)
+#319 := (iff #123 #316)
+#313 := (or #310 #293)
+#317 := (iff #313 #316)
+#318 := [rewrite]: #317
+#314 := (iff #123 #313)
+#311 := (iff #120 #293)
+#312 := [rewrite]: #311
+#290 := (iff #113 #310)
+#291 := [rewrite]: #290
+#315 := [monotonicity #291 #312]: #314
+#320 := [trans #315 #318]: #319
+#323 := [monotonicity #320]: #322
+#326 := [monotonicity #323]: #325
+#329 := [monotonicity #326]: #328
+#332 := [quant-intro #329]: #331
+#296 := (~ #135 #135)
+#294 := (~ #132 #132)
+#295 := [refl]: #294
+#297 := [nnf-pos #295]: #296
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#281 := [mp~ #140 #297]: #135
+#333 := [mp #281 #332]: #330
+#364 := [mp #333 #363]: #361
+#857 := [mp #364 #856]: #852
+#807 := (not #852)
+#808 := (or #807 #813)
+#438 := (* -1::int 1::int)
+#523 := (div #522 #438)
+#524 := (* -1::int #523)
+#515 := (+ #56 #524)
+#526 := (= #515 0::int)
+#508 := (<= 1::int 0::int)
+#845 := (or #843 #508)
+#502 := (not #845)
+#839 := (or #508 #632)
+#513 := (not #839)
+#514 := (or #513 #502)
+#846 := (ite #514 #529 #526)
+#848 := (= 1::int 0::int)
+#844 := (or #849 #848)
+#850 := (ite #844 #847 #846)
+#803 := (or #807 #850)
+#809 := (iff #803 #808)
+#805 := (iff #808 #808)
+#811 := [rewrite]: #805
+#817 := (iff #850 #813)
+#812 := (iff #846 #530)
+#814 := (iff #526 #536)
+#534 := (= #515 #533)
+#819 := (= #524 #822)
+#544 := (= #523 #543)
+#820 := (= #438 -1::int)
+#821 := [rewrite]: #820
+#818 := [monotonicity #821]: #544
+#823 := [monotonicity #818]: #819
+#535 := [monotonicity #823]: #534
+#815 := [monotonicity #535]: #814
+#550 := (iff #514 #549)
+#547 := (iff #502 #825)
+#838 := (iff #845 #843)
+#836 := (or #843 false)
+#837 := (iff #836 #843)
+#835 := [rewrite]: #837
+#476 := (iff #845 #836)
+#490 := (iff #508 false)
+#491 := [rewrite]: #490
+#477 := [monotonicity #491]: #476
+#824 := [trans #477 #835]: #838
+#548 := [monotonicity #824]: #547
+#471 := (iff #513 #833)
+#832 := (iff #839 #632)
+#492 := (or false #632)
+#830 := (iff #492 #632)
+#831 := [rewrite]: #830
+#828 := (iff #839 #492)
+#829 := [monotonicity #491]: #828
+#827 := [trans #829 #831]: #832
+#834 := [monotonicity #827]: #471
+#444 := [monotonicity #834 #548]: #550
+#816 := [monotonicity #444 #815]: #812
+#826 := (iff #844 #849)
+#505 := (or #849 false)
+#842 := (iff #505 #849)
+#485 := [rewrite]: #842
+#841 := (iff #844 #505)
+#840 := (iff #848 false)
+#500 := [rewrite]: #840
+#501 := [monotonicity #500]: #841
+#489 := [trans #501 #485]: #826
+#806 := [monotonicity #489 #816]: #817
+#810 := [monotonicity #806]: #809
+#652 := [trans #810 #811]: #809
+#804 := [quant-inst]: #803
+#653 := [mp #804 #652]: #808
+#574 := [unit-resolution #653 #857]: #813
+#783 := (not #813)
+#784 := (or #783 #849 #530)
+#669 := [def-axiom]: #784
+#563 := [unit-resolution #669 #574]: #586
+#565 := [unit-resolution #563 #585]: #530
+#634 := (not #530)
+#787 := (or #634 #799 #529)
+#788 := [def-axiom]: #787
+#566 := [unit-resolution #788 #565 #622]: #799
+#797 := (or #549 #843)
+#798 := [def-axiom]: #797
+#567 := [unit-resolution #798 #566]: #843
+#654 := (or #549 #632)
+#796 := [def-axiom]: #654
+#568 := [unit-resolution #796 #566]: #632
+#569 := (or #849 #825 #833)
+#570 := [th-lemma]: #569
+#571 := [unit-resolution #570 #585 #568 #567]: false
+#564 := [lemma #571]: #849
+#584 := [symm #564]: #583
+#580 := (or #685 #847)
+#780 := (or #783 #685 #847)
+#781 := [def-axiom]: #780
+#581 := [unit-resolution #781 #574]: #580
+#582 := [unit-resolution #581 #564]: #847
+#607 := [trans #582 #584]: #618
+#612 := [monotonicity #607]: #621
+#572 := [symm #612]: #624
+#557 := [trans #620 #572]: #272
+[unit-resolution #280 #557]: false
+unsat
+d5a593ec8919de39ee6c16ac3310bcb1eb62e0ae 302 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 1::int
+#54 := (f4 1::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#505 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#854 := (iff #369 #851)
+#852 := (iff #366 #366)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#856 := [mp #372 #855]: #851
+#776 := (not #851)
+#661 := (or #776 #505)
+#430 := (* -1::int 1::int)
+#514 := (mod #430 #430)
+#515 := (+ #54 #514)
+#516 := (= #515 0::int)
+#507 := (mod 1::int 1::int)
+#518 := (* -1::int #507)
+#519 := (+ #54 #518)
+#520 := (= #519 0::int)
+#517 := (<= 1::int 0::int)
+#521 := (or #517 #517)
+#500 := (not #521)
+#835 := (>= 1::int 0::int)
+#837 := (or #517 #835)
+#494 := (not #837)
+#624 := (or #494 #500)
+#831 := (ite #624 #520 #516)
+#506 := (= 1::int 0::int)
+#838 := (ite #506 #505 #831)
+#839 := (= 1::int #54)
+#840 := (ite #506 #839 #838)
+#676 := (or #776 #840)
+#679 := (iff #676 #661)
+#680 := (iff #661 #661)
+#681 := [rewrite]: #680
+#772 := (iff #840 #505)
+#832 := (= #54 1::int)
+#667 := (ite false #832 #505)
+#775 := (iff #667 #505)
+#677 := [rewrite]: #775
+#668 := (iff #840 #667)
+#784 := (iff #838 #505)
+#779 := (ite false #505 #505)
+#783 := (iff #779 #505)
+#781 := [rewrite]: #783
+#780 := (iff #838 #779)
+#625 := (iff #831 #505)
+#1 := true
+#792 := (ite true #505 #505)
+#794 := (iff #792 #505)
+#623 := [rewrite]: #794
+#793 := (iff #831 #792)
+#785 := (iff #516 #505)
+#790 := (= #515 #54)
+#807 := (+ #54 0::int)
+#808 := (= #807 #54)
+#805 := [rewrite]: #808
+#788 := (= #515 #807)
+#645 := (= #514 0::int)
+#801 := (mod -1::int -1::int)
+#803 := (= #801 0::int)
+#644 := [rewrite]: #803
+#802 := (= #514 #801)
+#795 := (= #430 -1::int)
+#796 := [rewrite]: #795
+#797 := [monotonicity #796 #796]: #802
+#646 := [trans #797 #644]: #645
+#789 := [monotonicity #646]: #788
+#791 := [trans #789 #805]: #790
+#786 := [monotonicity #791]: #785
+#799 := (iff #520 #505)
+#809 := (= #519 #54)
+#522 := (= #519 #807)
+#528 := (= #518 0::int)
+#811 := (* -1::int 0::int)
+#526 := (= #811 0::int)
+#527 := [rewrite]: #526
+#815 := (= #518 #811)
+#810 := (= #507 0::int)
+#814 := [rewrite]: #810
+#525 := [monotonicity #814]: #815
+#806 := [trans #525 #527]: #528
+#804 := [monotonicity #806]: #522
+#798 := [trans #804 #805]: #809
+#800 := [monotonicity #798]: #799
+#535 := (iff #624 true)
+#477 := (or false true)
+#482 := (iff #477 true)
+#483 := [rewrite]: #482
+#812 := (iff #624 #477)
+#542 := (iff #500 true)
+#816 := (not false)
+#540 := (iff #816 true)
+#541 := [rewrite]: #540
+#817 := (iff #500 #816)
+#827 := (iff #521 false)
+#826 := (or false false)
+#469 := (iff #826 false)
+#829 := [rewrite]: #469
+#828 := (iff #521 #826)
+#497 := (iff #517 false)
+#833 := [rewrite]: #497
+#468 := [monotonicity #833 #833]: #828
+#830 := [trans #468 #829]: #827
+#539 := [monotonicity #830]: #817
+#436 := [trans #539 #541]: #542
+#825 := (iff #494 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#819 := [rewrite]: #824
+#822 := (iff #494 #821)
+#484 := (iff #837 true)
+#818 := (iff #837 #477)
+#493 := (iff #835 true)
+#834 := [rewrite]: #493
+#481 := [monotonicity #833 #834]: #818
+#820 := [trans #481 #483]: #484
+#823 := [monotonicity #820]: #822
+#463 := [trans #823 #819]: #825
+#813 := [monotonicity #463 #436]: #812
+#536 := [trans #813 #483]: #535
+#787 := [monotonicity #536 #800 #786]: #793
+#626 := [trans #787 #623]: #625
+#841 := (iff #506 false)
+#836 := [rewrite]: #841
+#782 := [monotonicity #836 #626]: #780
+#666 := [trans #782 #781]: #784
+#842 := (iff #839 #832)
+#492 := [rewrite]: #842
+#627 := [monotonicity #836 #492 #666]: #668
+#773 := [trans #627 #677]: #772
+#672 := [monotonicity #773]: #679
+#682 := [trans #672 #681]: #679
+#678 := [quant-inst]: #676
+#683 := [mp #678 #682]: #661
+#703 := [unit-resolution #683 #856]: #505
+#699 := [monotonicity #703]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #699]: false
+unsat
+bc318995e409f6e5340f5c18fb5eab5001ed9343 288 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := 3::int
+#54 := (f3 0::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#839 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#848 := (iff #353 #845)
+#846 := (iff #350 #350)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#850 := [mp #356 #849]: #845
+#680 := (not #845)
+#673 := (or #680 #839)
+#430 := (* -1::int 3::int)
+#515 := (* -1::int 0::int)
+#516 := (div #515 #430)
+#517 := (* -1::int #516)
+#508 := (+ #54 #517)
+#519 := (= #508 0::int)
+#520 := (div 0::int 3::int)
+#448 := (* -1::int #520)
+#521 := (+ #54 #448)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (<= 0::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 0::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #519)
+#840 := (= 3::int 0::int)
+#841 := (= 0::int 0::int)
+#842 := (or #841 #840)
+#837 := (ite #842 #839 #507)
+#681 := (or #680 #837)
+#683 := (iff #681 #673)
+#685 := (iff #673 #673)
+#778 := [rewrite]: #685
+#677 := (iff #837 #839)
+#1 := true
+#678 := (ite true #839 #839)
+#777 := (iff #678 #839)
+#662 := [rewrite]: #777
+#773 := (iff #837 #678)
+#628 := (iff #507 #839)
+#782 := (ite false #839 #839)
+#668 := (iff #782 #839)
+#669 := [rewrite]: #668
+#785 := (iff #507 #782)
+#783 := (iff #519 #839)
+#780 := (= #508 #54)
+#799 := (+ #54 0::int)
+#796 := (= #799 #54)
+#797 := [rewrite]: #796
+#626 := (= #508 #799)
+#795 := (= #517 0::int)
+#805 := (= #515 0::int)
+#809 := [rewrite]: #805
+#794 := (= #517 #515)
+#787 := (= #516 0::int)
+#645 := -3::int
+#789 := (div 0::int -3::int)
+#792 := (= #789 0::int)
+#786 := [rewrite]: #792
+#790 := (= #516 #789)
+#646 := (= #430 -3::int)
+#647 := [rewrite]: #646
+#791 := [monotonicity #809 #647]: #790
+#793 := [trans #791 #786]: #787
+#788 := [monotonicity #793]: #794
+#624 := [trans #788 #809]: #795
+#627 := [monotonicity #624]: #626
+#781 := [trans #627 #797]: #780
+#784 := [monotonicity #781]: #783
+#798 := (iff #518 #839)
+#802 := (= #521 #54)
+#800 := (= #521 #799)
+#806 := (= #448 0::int)
+#808 := (= #448 #515)
+#529 := (= #520 0::int)
+#807 := [rewrite]: #529
+#523 := [monotonicity #807]: #808
+#810 := [trans #523 #809]: #806
+#801 := [monotonicity #810]: #800
+#803 := [trans #801 #797]: #802
+#804 := [monotonicity #803]: #798
+#527 := (iff #506 false)
+#811 := (or false false)
+#816 := (iff #811 false)
+#526 := [rewrite]: #816
+#815 := (iff #506 #811)
+#536 := (iff #838 false)
+#829 := (not true)
+#830 := (iff #829 false)
+#828 := [rewrite]: #830
+#813 := (iff #838 #829)
+#543 := (iff #836 true)
+#834 := (or true false)
+#478 := (iff #834 true)
+#819 := [rewrite]: #478
+#541 := (iff #836 #834)
+#484 := (iff #522 false)
+#485 := [rewrite]: #484
+#818 := (iff #501 true)
+#540 := [rewrite]: #818
+#542 := [monotonicity #540 #485]: #541
+#436 := [trans #542 #819]: #543
+#814 := [monotonicity #436]: #813
+#537 := [trans #814 #828]: #536
+#831 := (iff #832 false)
+#469 := (iff #832 #829)
+#464 := (iff #625 true)
+#823 := (or false true)
+#820 := (iff #823 true)
+#826 := [rewrite]: #820
+#824 := (iff #625 #823)
+#821 := (iff #495 true)
+#822 := [rewrite]: #821
+#825 := [monotonicity #485 #822]: #824
+#827 := [trans #825 #826]: #464
+#470 := [monotonicity #827]: #469
+#817 := [trans #470 #828]: #831
+#812 := [monotonicity #817 #537]: #815
+#528 := [trans #812 #526]: #527
+#667 := [monotonicity #528 #804 #784]: #785
+#776 := [trans #667 #669]: #628
+#482 := (iff #842 true)
+#494 := (iff #842 #834)
+#493 := (iff #840 false)
+#498 := [rewrite]: #493
+#843 := (iff #841 true)
+#833 := [rewrite]: #843
+#835 := [monotonicity #833 #498]: #494
+#483 := [trans #835 #819]: #482
+#774 := [monotonicity #483 #776]: #773
+#679 := [trans #774 #662]: #677
+#684 := [monotonicity #679]: #683
+#775 := [trans #684 #778]: #683
+#682 := [quant-inst]: #681
+#779 := [mp #682 #775]: #673
+#691 := [unit-resolution #779 #850]: #839
+#692 := [monotonicity #691]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #692]: false
+unsat
+6860ddff5f419fe559575a6c298a4b8f50cb8ee7 313 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f4 :: (-> int int int)
+#54 := 1::int
+#53 := 3::int
+#55 := (f4 3::int 1::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#839 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#142 := (mod #84 #87)
+#363 := (+ #29 #142)
+#364 := (= #363 0::int)
+#30 := (mod #8 #9)
+#360 := (* -1::int #30)
+#361 := (+ #29 #360)
+#362 := (= #361 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#365 := (ite #309 #362 #364)
+#359 := (= #29 0::int)
+#12 := (= #8 0::int)
+#366 := (ite #12 #359 #365)
+#358 := (= #8 #29)
+#13 := (= #9 0::int)
+#367 := (ite #13 #358 #366)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #367)
+#370 := (forall (vars (?v0 int) (?v1 int)) #367)
+#855 := (iff #370 #852)
+#853 := (iff #367 #367)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#148 := (* -1::int #142)
+#327 := (ite #309 #30 #148)
+#330 := (ite #12 0::int #327)
+#333 := (ite #13 #8 #330)
+#336 := (= #29 #333)
+#339 := (forall (vars (?v0 int) (?v1 int)) #336)
+#371 := (iff #339 #370)
+#368 := (iff #336 #367)
+#369 := [rewrite]: #368
+#372 := [quant-intro #369]: #371
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#168 := (ite #123 #30 #148)
+#171 := (ite #12 0::int #168)
+#174 := (ite #13 #8 #171)
+#177 := (= #29 #174)
+#180 := (forall (vars (?v0 int) (?v1 int)) #177)
+#340 := (iff #180 #339)
+#337 := (iff #177 #336)
+#334 := (= #174 #333)
+#331 := (= #171 #330)
+#328 := (= #168 #327)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#329 := [monotonicity #313]: #328
+#332 := [monotonicity #329]: #331
+#335 := [monotonicity #332]: #334
+#338 := [monotonicity #335]: #337
+#341 := [quant-intro #338]: #340
+#275 := (~ #180 #180)
+#272 := (~ #177 #177)
+#291 := [refl]: #272
+#276 := [nnf-pos #291]: #275
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#183 := (iff #37 #180)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#153 := (ite #80 #30 #148)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#181 := (iff #165 #180)
+#178 := (iff #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#170 := [monotonicity #125]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [quant-intro #179]: #181
+#166 := (iff #37 #165)
+#163 := (iff #36 #162)
+#160 := (= #35 #159)
+#157 := (= #34 #156)
+#154 := (= #33 #153)
+#151 := (= #32 #148)
+#145 := (- #142)
+#149 := (= #145 #148)
+#150 := [rewrite]: #149
+#146 := (= #32 #145)
+#143 := (= #31 #142)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#144 := [monotonicity #86 #89]: #143
+#147 := [monotonicity #144]: #146
+#152 := [trans #147 #150]: #151
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#155 := [monotonicity #82 #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#184 := [trans #167 #182]: #183
+#141 := [asserted]: #37
+#185 := [mp #141 #184]: #180
+#292 := [mp~ #185 #276]: #180
+#342 := [mp #292 #341]: #339
+#373 := [mp #342 #372]: #370
+#857 := [mp #373 #856]: #852
+#685 := (not #852)
+#778 := (or #685 #839)
+#431 := (* -1::int 1::int)
+#515 := (* -1::int 3::int)
+#516 := (mod #515 #431)
+#517 := (+ #55 #516)
+#508 := (= #517 0::int)
+#519 := (mod 3::int 1::int)
+#520 := (* -1::int #519)
+#521 := (+ #55 #520)
+#518 := (= #521 0::int)
+#522 := (<= 1::int 0::int)
+#501 := (<= 3::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 3::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #508)
+#840 := (= 3::int 0::int)
+#841 := (ite #840 #839 #507)
+#842 := (= 3::int #55)
+#837 := (= 1::int 0::int)
+#843 := (ite #837 #842 #841)
+#775 := (or #685 #843)
+#766 := (iff #775 #778)
+#760 := (iff #778 #778)
+#757 := [rewrite]: #760
+#683 := (iff #843 #839)
+#834 := (= #55 3::int)
+#679 := (ite false #834 #839)
+#681 := (iff #679 #839)
+#682 := [rewrite]: #681
+#680 := (iff #843 #679)
+#662 := (iff #841 #839)
+#776 := (ite false #839 #839)
+#774 := (iff #776 #839)
+#777 := [rewrite]: #774
+#678 := (iff #841 #776)
+#669 := (iff #507 #839)
+#1 := true
+#784 := (ite true #839 #839)
+#667 := (iff #784 #839)
+#668 := [rewrite]: #667
+#782 := (iff #507 #784)
+#781 := (iff #508 #839)
+#627 := (= #517 #55)
+#800 := (+ #55 0::int)
+#797 := (= #800 #55)
+#802 := [rewrite]: #797
+#624 := (= #517 #800)
+#788 := (= #516 0::int)
+#646 := -3::int
+#792 := (mod -3::int -1::int)
+#793 := (= #792 0::int)
+#794 := [rewrite]: #793
+#786 := (= #516 #792)
+#790 := (= #431 -1::int)
+#791 := [rewrite]: #790
+#647 := (= #515 -3::int)
+#789 := [rewrite]: #647
+#787 := [monotonicity #789 #791]: #786
+#795 := [trans #787 #794]: #788
+#626 := [monotonicity #795]: #624
+#780 := [trans #626 #802]: #627
+#783 := [monotonicity #780]: #781
+#804 := (iff #518 #839)
+#803 := (= #521 #55)
+#801 := (= #521 #800)
+#810 := (= #520 0::int)
+#808 := (* -1::int 0::int)
+#809 := (= #808 0::int)
+#806 := [rewrite]: #809
+#523 := (= #520 #808)
+#529 := (= #519 0::int)
+#807 := [rewrite]: #529
+#805 := [monotonicity #807]: #523
+#799 := [trans #805 #806]: #810
+#796 := [monotonicity #799]: #801
+#798 := [trans #796 #802]: #803
+#645 := [monotonicity #798]: #804
+#527 := (iff #506 true)
+#485 := (or false true)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#816 := (iff #506 #485)
+#815 := (iff #838 true)
+#813 := (not false)
+#537 := (iff #813 true)
+#811 := [rewrite]: #537
+#814 := (iff #838 #813)
+#543 := (iff #836 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#818 := (iff #836 #817)
+#819 := (iff #522 false)
+#482 := [rewrite]: #819
+#828 := (iff #501 false)
+#831 := [rewrite]: #828
+#540 := [monotonicity #831 #482]: #818
+#437 := [trans #540 #542]: #543
+#536 := [monotonicity #437]: #814
+#812 := [trans #536 #811]: #815
+#470 := (iff #832 false)
+#826 := (not true)
+#829 := (iff #826 false)
+#469 := [rewrite]: #829
+#464 := (iff #832 #826)
+#825 := (iff #625 true)
+#821 := (iff #625 #485)
+#483 := (iff #495 true)
+#484 := [rewrite]: #483
+#822 := [monotonicity #482 #484]: #821
+#820 := [trans #822 #824]: #825
+#827 := [monotonicity #820]: #464
+#830 := [trans #827 #469]: #470
+#526 := [monotonicity #830 #812]: #816
+#528 := [trans #526 #824]: #527
+#785 := [monotonicity #528 #645 #783]: #782
+#628 := [trans #785 #668]: #669
+#835 := (iff #840 false)
+#478 := [rewrite]: #835
+#773 := [monotonicity #478 #628]: #678
+#677 := [trans #773 #777]: #662
+#498 := (iff #842 #834)
+#494 := [rewrite]: #498
+#833 := (iff #837 false)
+#493 := [rewrite]: #833
+#673 := [monotonicity #493 #494 #677]: #680
+#684 := [trans #673 #682]: #683
+#768 := [monotonicity #684]: #766
+#759 := [trans #768 #757]: #766
+#779 := [quant-inst]: #775
+#769 := [mp #779 #759]: #778
+#701 := [unit-resolution #769 #857]: #839
+#702 := [monotonicity #701]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #702]: false
+unsat
+55de26cad67b2fd694b0a728f5c662e01cc56f2a 302 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f3 :: (-> int int int)
+#54 := 3::int
+#53 := 1::int
+#55 := (f3 1::int 3::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#840 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#759 := (not #845)
+#769 := (or #759 #840)
+#431 := (* -1::int 3::int)
+#515 := (* -1::int 1::int)
+#516 := (div #515 #431)
+#517 := (* -1::int #516)
+#508 := (+ #55 #517)
+#519 := (= #508 0::int)
+#520 := (div 1::int 3::int)
+#521 := (* -1::int #520)
+#518 := (+ #55 #521)
+#522 := (= #518 0::int)
+#501 := (<= 3::int 0::int)
+#836 := (<= 1::int 0::int)
+#838 := (or #836 #501)
+#495 := (not #838)
+#625 := (>= 1::int 0::int)
+#832 := (or #501 #625)
+#506 := (not #832)
+#507 := (or #506 #495)
+#839 := (ite #507 #522 #519)
+#841 := (= 3::int 0::int)
+#842 := (= 1::int 0::int)
+#837 := (or #842 #841)
+#843 := (ite #837 #840 #839)
+#770 := (or #759 #843)
+#767 := (iff #770 #769)
+#761 := (iff #769 #769)
+#762 := [rewrite]: #761
+#760 := (iff #843 #840)
+#778 := (ite false #840 #840)
+#766 := (iff #778 #840)
+#768 := [rewrite]: #766
+#775 := (iff #843 #778)
+#684 := (iff #839 #840)
+#774 := (= #55 1::int)
+#1 := true
+#680 := (ite true #840 #774)
+#682 := (iff #680 #840)
+#683 := [rewrite]: #682
+#673 := (iff #839 #680)
+#677 := (iff #519 #774)
+#785 := (+ -1::int #55)
+#776 := (= #785 0::int)
+#777 := (iff #776 #774)
+#662 := [rewrite]: #777
+#678 := (iff #519 #776)
+#669 := (= #508 #785)
+#783 := (+ #55 -1::int)
+#667 := (= #783 #785)
+#668 := [rewrite]: #667
+#784 := (= #508 #783)
+#780 := (= #517 -1::int)
+#647 := (= #515 -1::int)
+#789 := [rewrite]: #647
+#626 := (= #517 #515)
+#795 := (= #516 1::int)
+#790 := -3::int
+#786 := (div -1::int -3::int)
+#794 := (= #786 1::int)
+#788 := [rewrite]: #794
+#787 := (= #516 #786)
+#791 := (= #431 -3::int)
+#792 := [rewrite]: #791
+#793 := [monotonicity #789 #792]: #787
+#624 := [trans #793 #788]: #795
+#627 := [monotonicity #624]: #626
+#781 := [trans #627 #789]: #780
+#782 := [monotonicity #781]: #784
+#628 := [trans #782 #668]: #669
+#773 := [monotonicity #628]: #678
+#679 := [trans #773 #662]: #677
+#645 := (iff #522 #840)
+#798 := (= #518 #55)
+#801 := (+ #55 0::int)
+#802 := (= #801 #55)
+#803 := [rewrite]: #802
+#796 := (= #518 #801)
+#799 := (= #521 0::int)
+#523 := (* -1::int 0::int)
+#806 := (= #523 0::int)
+#810 := [rewrite]: #806
+#805 := (= #521 #523)
+#807 := (= #520 0::int)
+#808 := [rewrite]: #807
+#809 := [monotonicity #808]: #805
+#800 := [trans #809 #810]: #799
+#797 := [monotonicity #800]: #796
+#804 := [trans #797 #803]: #798
+#646 := [monotonicity #804]: #645
+#528 := (iff #507 true)
+#824 := (or false true)
+#826 := (iff #824 true)
+#464 := [rewrite]: #826
+#526 := (iff #507 #824)
+#812 := (iff #495 true)
+#814 := (not false)
+#811 := (iff #814 true)
+#815 := [rewrite]: #811
+#536 := (iff #495 #814)
+#437 := (iff #838 false)
+#494 := (or false false)
+#819 := (iff #494 false)
+#482 := [rewrite]: #819
+#542 := (iff #838 #494)
+#485 := (iff #501 false)
+#821 := [rewrite]: #485
+#540 := (iff #836 false)
+#541 := [rewrite]: #540
+#543 := [monotonicity #541 #821]: #542
+#813 := [trans #543 #482]: #437
+#537 := [monotonicity #813]: #536
+#816 := [trans #537 #815]: #812
+#817 := (iff #506 false)
+#469 := (not true)
+#828 := (iff #469 false)
+#831 := [rewrite]: #828
+#470 := (iff #506 #469)
+#827 := (iff #832 true)
+#825 := (iff #832 #824)
+#822 := (iff #625 true)
+#823 := [rewrite]: #822
+#820 := [monotonicity #821 #823]: #825
+#829 := [trans #820 #464]: #827
+#830 := [monotonicity #829]: #470
+#818 := [trans #830 #831]: #817
+#527 := [monotonicity #818 #816]: #526
+#529 := [trans #527 #464]: #528
+#681 := [monotonicity #529 #646 #679]: #673
+#685 := [trans #681 #683]: #684
+#483 := (iff #837 false)
+#835 := (iff #837 #494)
+#498 := (iff #841 false)
+#834 := [rewrite]: #498
+#833 := (iff #842 false)
+#493 := [rewrite]: #833
+#478 := [monotonicity #493 #834]: #835
+#484 := [trans #478 #482]: #483
+#779 := [monotonicity #484 #685]: #775
+#757 := [trans #779 #768]: #760
+#772 := [monotonicity #757]: #767
+#763 := [trans #772 #762]: #767
+#771 := [quant-inst]: #770
+#764 := [mp #771 #763]: #769
+#701 := [unit-resolution #764 #850]: #840
+#702 := [monotonicity #701]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #702]: false
+unsat
+921cbc00d40a6ed7847a6fd4ceb1178d690d0926 447 0
+#2 := false
+#11 := 0::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#496 := (>= #54 0::int)
+decl f5 :: (-> int S2)
+#762 := (f5 #54)
+#708 := (f6 #762)
+#704 := (= #708 0::int)
+#655 := (not #704)
+#841 := (= #54 0::int)
+#674 := (not #841)
+#656 := (iff #674 #655)
+#653 := (iff #841 #704)
+#651 := (iff #704 #841)
+#649 := (= #708 #54)
+#643 := (= #762 f7)
+#763 := (= f7 #762)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#859 := (pattern #39)
+#40 := (f5 #39)
+#188 := (= #38 #40)
+#860 := (forall (vars (?v0 S2)) (:pat #859) #188)
+#191 := (forall (vars (?v0 S2)) #188)
+#861 := (iff #191 #860)
+#863 := (iff #860 #860)
+#864 := [rewrite]: #863
+#862 := [rewrite]: #861
+#865 := [trans #862 #864]: #861
+#278 := (~ #191 #191)
+#294 := (~ #188 #188)
+#295 := [refl]: #294
+#279 := [nnf-pos #295]: #278
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#192 := (iff #42 #191)
+#189 := (iff #41 #188)
+#190 := [rewrite]: #189
+#193 := [quant-intro #190]: #192
+#187 := [asserted]: #42
+#196 := [mp #187 #193]: #191
+#296 := [mp~ #196 #279]: #191
+#866 := [mp #296 #865]: #860
+#759 := (not #860)
+#766 := (or #759 #763)
+#750 := [quant-inst]: #766
+#688 := [unit-resolution #750 #866]: #763
+#644 := [symm #688]: #643
+#650 := [monotonicity #644]: #649
+#652 := [monotonicity #650]: #651
+#654 := [symm #652]: #653
+#657 := [monotonicity #654]: #656
+#486 := (not #496)
+#673 := [hypothesis]: #486
+#677 := (or #674 #496)
+#687 := [th-lemma]: #677
+#667 := [unit-resolution #687 #673]: #674
+#658 := [mp #667 #657]: #655
+#689 := (or #496 #704)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#867 := (pattern #44)
+#211 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#261 := (or #50 #211)
+#874 := (forall (vars (?v0 int)) (:pat #867) #261)
+#266 := (forall (vars (?v0 int)) #261)
+#877 := (iff #266 #874)
+#875 := (iff #261 #261)
+#876 := [refl]: #875
+#878 := [quant-intro #876]: #877
+#282 := (~ #266 #266)
+#300 := (~ #261 #261)
+#301 := [refl]: #300
+#283 := [nnf-pos #301]: #282
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#269 := (iff #52 #266)
+#232 := (= 0::int #45)
+#238 := (not #49)
+#239 := (or #238 #232)
+#244 := (forall (vars (?v0 int)) #239)
+#267 := (iff #244 #266)
+#264 := (iff #239 #261)
+#258 := (or #211 #50)
+#262 := (iff #258 #261)
+#263 := [rewrite]: #262
+#259 := (iff #239 #258)
+#256 := (iff #232 #50)
+#257 := [rewrite]: #256
+#254 := (iff #238 #211)
+#214 := (not #211)
+#249 := (not #214)
+#252 := (iff #249 #211)
+#253 := [rewrite]: #252
+#250 := (iff #238 #249)
+#247 := (iff #49 #214)
+#248 := [rewrite]: #247
+#251 := [monotonicity #248]: #250
+#255 := [trans #251 #253]: #254
+#260 := [monotonicity #255 #257]: #259
+#265 := [trans #260 #263]: #264
+#268 := [quant-intro #265]: #267
+#245 := (iff #52 #244)
+#242 := (iff #51 #239)
+#235 := (implies #49 #232)
+#240 := (iff #235 #239)
+#241 := [rewrite]: #240
+#236 := (iff #51 #235)
+#233 := (iff #50 #232)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#243 := [trans #237 #241]: #242
+#246 := [quant-intro #243]: #245
+#270 := [trans #246 #268]: #269
+#231 := [asserted]: #52
+#271 := [mp #231 #270]: #266
+#302 := [mp~ #271 #283]: #266
+#879 := [mp #302 #878]: #874
+#729 := (not #874)
+#671 := (or #729 #496 #704)
+#709 := (or #704 #496)
+#695 := (or #729 #709)
+#662 := (iff #695 #671)
+#691 := (or #729 #689)
+#672 := (iff #691 #671)
+#631 := [rewrite]: #672
+#697 := (iff #695 #691)
+#635 := (iff #709 #689)
+#690 := [rewrite]: #635
+#665 := [monotonicity #690]: #697
+#664 := [trans #665 #631]: #662
+#696 := [quant-inst]: #695
+#666 := [mp #696 #664]: #671
+#675 := [unit-resolution #666 #879]: #689
+#676 := [unit-resolution #675 #673]: #704
+#659 := [unit-resolution #676 #658]: false
+#660 := [lemma #659]: #496
+#502 := (<= #54 0::int)
+#830 := (not #502)
+#625 := (or #486 #830 #841)
+#684 := (not #625)
+decl f4 :: (-> int int int)
+#55 := 1::int
+#56 := (f4 #54 1::int)
+#840 := (= #56 0::int)
+#760 := (not #840)
+#58 := (f5 0::int)
+#57 := (f5 #56)
+#59 := (= #57 #58)
+#645 := [hypothesis]: #840
+#661 := [monotonicity #645]: #59
+#60 := (not #59)
+#272 := [asserted]: #60
+#622 := [unit-resolution #272 #661]: false
+#623 := [lemma #622]: #760
+#632 := (or #684 #840)
+#84 := -1::int
+#516 := (* -1::int #54)
+#809 := (mod #516 -1::int)
+#810 := (+ #56 #809)
+#800 := (= #810 0::int)
+#781 := (ite #625 #840 #800)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#852 := (pattern #29)
+#88 := (* -1::int #9)
+#85 := (* -1::int #8)
+#143 := (mod #85 #88)
+#364 := (+ #29 #143)
+#365 := (= #364 0::int)
+#30 := (mod #8 #9)
+#361 := (* -1::int #30)
+#362 := (+ #29 #361)
+#363 := (= #362 0::int)
+#110 := (<= #9 0::int)
+#106 := (<= #8 0::int)
+#303 := (or #106 #110)
+#304 := (not #303)
+#117 := (>= #8 0::int)
+#286 := (or #110 #117)
+#287 := (not #286)
+#310 := (or #287 #304)
+#366 := (ite #310 #363 #365)
+#360 := (= #29 0::int)
+#12 := (= #8 0::int)
+#367 := (ite #12 #360 #366)
+#359 := (= #8 #29)
+#13 := (= #9 0::int)
+#368 := (ite #13 #359 #367)
+#853 := (forall (vars (?v0 int) (?v1 int)) (:pat #852) #368)
+#371 := (forall (vars (?v0 int) (?v1 int)) #368)
+#856 := (iff #371 #853)
+#854 := (iff #368 #368)
+#855 := [refl]: #854
+#857 := [quant-intro #855]: #856
+#149 := (* -1::int #143)
+#328 := (ite #310 #30 #149)
+#331 := (ite #12 0::int #328)
+#334 := (ite #13 #8 #331)
+#337 := (= #29 #334)
+#340 := (forall (vars (?v0 int) (?v1 int)) #337)
+#372 := (iff #340 #371)
+#369 := (iff #337 #368)
+#370 := [rewrite]: #369
+#373 := [quant-intro #370]: #372
+#118 := (not #117)
+#111 := (not #110)
+#121 := (and #111 #118)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#169 := (ite #124 #30 #149)
+#172 := (ite #12 0::int #169)
+#175 := (ite #13 #8 #172)
+#178 := (= #29 #175)
+#181 := (forall (vars (?v0 int) (?v1 int)) #178)
+#341 := (iff #181 #340)
+#338 := (iff #178 #337)
+#335 := (= #175 #334)
+#332 := (= #172 #331)
+#329 := (= #169 #328)
+#313 := (iff #124 #310)
+#307 := (or #304 #287)
+#311 := (iff #307 #310)
+#312 := [rewrite]: #311
+#308 := (iff #124 #307)
+#305 := (iff #121 #287)
+#306 := [rewrite]: #305
+#284 := (iff #114 #304)
+#285 := [rewrite]: #284
+#309 := [monotonicity #285 #306]: #308
+#314 := [trans #309 #312]: #313
+#330 := [monotonicity #314]: #329
+#333 := [monotonicity #330]: #332
+#336 := [monotonicity #333]: #335
+#339 := [monotonicity #336]: #338
+#342 := [quant-intro #339]: #341
+#276 := (~ #181 #181)
+#273 := (~ #178 #178)
+#292 := [refl]: #273
+#277 := [nnf-pos #292]: #276
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#184 := (iff #37 #181)
+#78 := (and #16 #18)
+#81 := (or #17 #78)
+#154 := (ite #81 #30 #149)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #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 #81 #124)
+#122 := (iff #78 #121)
+#119 := (iff #18 #118)
+#120 := [rewrite]: #119
+#112 := (iff #16 #111)
+#113 := [rewrite]: #112
+#123 := [monotonicity #113 #120]: #122
+#115 := (iff #17 #114)
+#108 := (iff #15 #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 #37 #166)
+#164 := (iff #36 #163)
+#161 := (= #35 #160)
+#158 := (= #34 #157)
+#155 := (= #33 #154)
+#152 := (= #32 #149)
+#146 := (- #143)
+#150 := (= #146 #149)
+#151 := [rewrite]: #150
+#147 := (= #32 #146)
+#144 := (= #31 #143)
+#89 := (= #23 #88)
+#90 := [rewrite]: #89
+#86 := (= #22 #85)
+#87 := [rewrite]: #86
+#145 := [monotonicity #87 #90]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#82 := (iff #20 #81)
+#79 := (iff #19 #78)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#156 := [monotonicity #83 #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]: #37
+#186 := [mp #142 #185]: #181
+#293 := [mp~ #186 #277]: #181
+#343 := [mp #293 #342]: #340
+#374 := [mp #343 #373]: #371
+#858 := [mp #374 #857]: #853
+#786 := (not #853)
+#668 := (or #786 #781)
+#432 := (* -1::int 1::int)
+#517 := (mod #516 #432)
+#518 := (+ #56 #517)
+#509 := (= #518 0::int)
+#520 := (mod #54 1::int)
+#521 := (* -1::int #520)
+#522 := (+ #56 #521)
+#519 := (= #522 0::int)
+#523 := (<= 1::int 0::int)
+#837 := (or #502 #523)
+#839 := (not #837)
+#626 := (or #523 #496)
+#833 := (not #626)
+#507 := (or #833 #839)
+#508 := (ite #507 #519 #509)
+#842 := (ite #841 #840 #508)
+#843 := (= #54 #56)
+#838 := (= 1::int 0::int)
+#844 := (ite #838 #843 #842)
+#669 := (or #786 #844)
+#629 := (iff #669 #668)
+#679 := (iff #668 #668)
+#774 := [rewrite]: #679
+#785 := (iff #844 #781)
+#831 := (or #486 #830)
+#646 := (or #831 #841)
+#647 := (ite #646 #840 #800)
+#782 := (iff #647 #781)
+#627 := (iff #646 #625)
+#628 := [rewrite]: #627
+#784 := [monotonicity #628]: #782
+#789 := (iff #844 #647)
+#793 := (ite false #843 #647)
+#794 := (iff #793 #647)
+#795 := [rewrite]: #794
+#787 := (iff #844 #793)
+#791 := (iff #842 #647)
+#797 := (ite #831 #840 #800)
+#804 := (ite #841 #840 #797)
+#648 := (iff #804 #647)
+#790 := [rewrite]: #648
+#799 := (iff #842 #804)
+#798 := (iff #508 #797)
+#801 := (iff #509 #800)
+#807 := (= #518 #810)
+#524 := (= #517 #809)
+#530 := (= #432 -1::int)
+#808 := [rewrite]: #530
+#806 := [monotonicity #808]: #524
+#811 := [monotonicity #806]: #807
+#802 := [monotonicity #811]: #801
+#528 := (iff #519 #840)
+#817 := (= #522 #56)
+#537 := (+ #56 0::int)
+#816 := (= #537 #56)
+#813 := [rewrite]: #816
+#538 := (= #522 #537)
+#814 := (= #521 0::int)
+#541 := (* -1::int 0::int)
+#544 := (= #541 0::int)
+#438 := [rewrite]: #544
+#542 := (= #521 #541)
+#818 := (= #520 0::int)
+#819 := [rewrite]: #818
+#543 := [monotonicity #819]: #542
+#815 := [trans #543 #438]: #814
+#812 := [monotonicity #815]: #538
+#527 := [trans #812 #813]: #817
+#529 := [monotonicity #527]: #528
+#829 := (iff #507 #831)
+#470 := (iff #839 #830)
+#465 := (iff #837 #502)
+#824 := (or #502 false)
+#821 := (iff #824 #502)
+#827 := [rewrite]: #821
+#825 := (iff #837 #824)
+#499 := (iff #523 false)
+#835 := [rewrite]: #499
+#826 := [monotonicity #835]: #825
+#828 := [trans #826 #827]: #465
+#471 := [monotonicity #828]: #470
+#822 := (iff #833 #486)
+#484 := (iff #626 #496)
+#495 := (or false #496)
+#820 := (iff #495 #496)
+#483 := [rewrite]: #820
+#836 := (iff #626 #495)
+#479 := [monotonicity #835]: #836
+#485 := [trans #479 #483]: #484
+#823 := [monotonicity #485]: #822
+#832 := [monotonicity #823 #471]: #829
+#803 := [monotonicity #832 #529 #802]: #798
+#805 := [monotonicity #803]: #799
+#792 := [trans #805 #790]: #791
+#834 := (iff #838 false)
+#494 := [rewrite]: #834
+#788 := [monotonicity #494 #792]: #787
+#796 := [trans #788 #795]: #789
+#783 := [trans #796 #784]: #785
+#777 := [monotonicity #783]: #629
+#775 := [trans #777 #774]: #629
+#670 := [quant-inst]: #669
+#778 := [mp #670 #775]: #668
+#630 := [unit-resolution #778 #858]: #781
+#780 := (not #781)
+#767 := (or #780 #684 #840)
+#769 := [def-axiom]: #767
+#633 := [unit-resolution #769 #630]: #632
+#634 := [unit-resolution #633 #623]: #684
+#680 := (or #625 #502)
+#681 := [def-axiom]: #680
+#636 := [unit-resolution #681 #634]: #502
+#682 := (or #625 #674)
+#683 := [def-axiom]: #682
+#637 := [unit-resolution #683 #634]: #674
+#638 := (or #841 #830 #486)
+#639 := [th-lemma]: #638
+[unit-resolution #639 #637 #636 #660]: false
+unsat
+b39f51f6b3dc27b329777d3e0b54f2354e076c4d 292 0
+#2 := false
+decl f5 :: (-> int S2)
+#56 := 1::int
+#57 := (f5 1::int)
+decl f3 :: (-> int int int)
+#53 := 3::int
+#54 := (f3 3::int 3::int)
+#55 := (f5 #54)
+#58 := (= #55 #57)
+#803 := (= #54 1::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#683 := (not #845)
+#684 := (or #683 #803)
+#431 := (* -1::int 3::int)
+#515 := (div #431 #431)
+#516 := (* -1::int #515)
+#517 := (+ #54 #516)
+#508 := (= #517 0::int)
+#519 := (div 3::int 3::int)
+#520 := (* -1::int #519)
+#521 := (+ #54 #520)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (or #522 #522)
+#836 := (not #501)
+#838 := (>= 3::int 0::int)
+#495 := (or #522 #838)
+#625 := (not #495)
+#832 := (or #625 #836)
+#506 := (ite #832 #518 #508)
+#507 := (= #54 0::int)
+#839 := (= 3::int 0::int)
+#840 := (or #839 #839)
+#841 := (ite #840 #507 #506)
+#685 := (or #683 #841)
+#775 := (iff #685 #684)
+#766 := (iff #684 #684)
+#768 := [rewrite]: #766
+#681 := (iff #841 #803)
+#662 := (ite false #507 #803)
+#680 := (iff #662 #803)
+#673 := [rewrite]: #680
+#677 := (iff #841 #662)
+#774 := (iff #506 #803)
+#1 := true
+#669 := (ite true #803 #803)
+#678 := (iff #669 #803)
+#773 := [rewrite]: #678
+#628 := (iff #506 #669)
+#667 := (iff #508 #803)
+#806 := (+ -1::int #54)
+#796 := (= #806 0::int)
+#798 := (iff #796 #803)
+#804 := [rewrite]: #798
+#782 := (iff #508 #796)
+#783 := (= #517 #806)
+#523 := (+ #54 -1::int)
+#810 := (= #523 #806)
+#799 := [rewrite]: #810
+#780 := (= #517 #523)
+#626 := (= #516 -1::int)
+#816 := (* -1::int 1::int)
+#528 := (= #816 -1::int)
+#529 := [rewrite]: #528
+#795 := (= #516 #816)
+#794 := (= #515 1::int)
+#647 := -3::int
+#791 := (div -3::int -3::int)
+#787 := (= #791 1::int)
+#793 := [rewrite]: #787
+#792 := (= #515 #791)
+#789 := (= #431 -3::int)
+#790 := [rewrite]: #789
+#786 := [monotonicity #790 #790]: #792
+#788 := [trans #786 #793]: #794
+#624 := [monotonicity #788]: #795
+#627 := [trans #624 #529]: #626
+#781 := [monotonicity #627]: #780
+#784 := [trans #781 #799]: #783
+#785 := [monotonicity #784]: #782
+#668 := [trans #785 #804]: #667
+#645 := (iff #518 #803)
+#797 := (iff #518 #796)
+#800 := (= #521 #806)
+#805 := (= #521 #523)
+#807 := (= #520 -1::int)
+#526 := (= #520 #816)
+#815 := (= #519 1::int)
+#812 := [rewrite]: #815
+#527 := [monotonicity #812]: #526
+#808 := [trans #527 #529]: #807
+#809 := [monotonicity #808]: #805
+#801 := [trans #809 #799]: #800
+#802 := [monotonicity #801]: #797
+#646 := [trans #802 #804]: #645
+#537 := (iff #832 true)
+#484 := (or false true)
+#822 := (iff #484 true)
+#823 := [rewrite]: #822
+#814 := (iff #832 #484)
+#437 := (iff #836 true)
+#818 := (not false)
+#542 := (iff #818 true)
+#543 := [rewrite]: #542
+#540 := (iff #836 #818)
+#831 := (iff #501 false)
+#843 := (or false false)
+#498 := (iff #843 false)
+#834 := [rewrite]: #498
+#830 := (iff #501 #843)
+#478 := (iff #522 false)
+#819 := [rewrite]: #478
+#828 := [monotonicity #819 #819]: #830
+#817 := [trans #828 #834]: #831
+#541 := [monotonicity #817]: #540
+#813 := [trans #541 #543]: #437
+#469 := (iff #625 false)
+#820 := (not true)
+#827 := (iff #820 false)
+#829 := [rewrite]: #827
+#826 := (iff #625 #820)
+#824 := (iff #495 true)
+#485 := (iff #495 #484)
+#482 := (iff #838 true)
+#483 := [rewrite]: #482
+#821 := [monotonicity #819 #483]: #485
+#825 := [trans #821 #823]: #824
+#464 := [monotonicity #825]: #826
+#470 := [trans #464 #829]: #469
+#536 := [monotonicity #470 #813]: #814
+#811 := [trans #536 #823]: #537
+#776 := [monotonicity #811 #646 #668]: #628
+#777 := [trans #776 #773]: #774
+#494 := (iff #840 false)
+#833 := (iff #840 #843)
+#842 := (iff #839 false)
+#837 := [rewrite]: #842
+#493 := [monotonicity #837 #837]: #833
+#835 := [trans #493 #834]: #494
+#679 := [monotonicity #835 #777]: #677
+#682 := [trans #679 #673]: #681
+#779 := [monotonicity #682]: #775
+#760 := [trans #779 #768]: #775
+#778 := [quant-inst]: #685
+#757 := [mp #778 #760]: #684
+#700 := [unit-resolution #757 #850]: #803
+#701 := [monotonicity #700]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #701]: false
+unsat
+8abb85a64c00016f8d51c89dca4f66482ca1b3ed 538 0
+#2 := false
+#11 := 0::int
+decl f6 :: (-> S2 int)
+decl f5 :: (-> int S2)
+decl f3 :: (-> int int int)
+#55 := 3::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 3::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#781 := (= #58 0::int)
+#850 := (= #56 0::int)
+#852 := (= #54 0::int)
+#804 := (mod #54 3::int)
+#84 := -1::int
+#715 := (* -1::int #804)
+#531 := (div #54 3::int)
+#447 := -3::int
+#710 := (* -3::int #531)
+#711 := (+ #710 #715)
+#712 := (+ #54 #711)
+#718 := (>= #712 0::int)
+#709 := (= #712 0::int)
+#1 := true
+#75 := [true-axiom]: true
+#662 := (or false #709)
+#663 := [th-lemma]: #662
+#664 := [unit-resolution #663 #75]: #709
+#665 := (not #709)
+#666 := (or #665 #718)
+#667 := [th-lemma]: #666
+#668 := [unit-resolution #667 #664]: #718
+#277 := (* -1::int #58)
+#278 := (+ #54 #277)
+#276 := (>= #278 0::int)
+#280 := (not #276)
+#59 := (<= #58 #54)
+#60 := (not #59)
+#281 := (iff #60 #280)
+#275 := (iff #59 #276)
+#279 := [rewrite]: #275
+#282 := [monotonicity #279]: #281
+#272 := [asserted]: #60
+#283 := [mp #272 #282]: #280
+#776 := (+ #56 #277)
+#761 := (>= #776 0::int)
+#770 := (= #56 #58)
+#777 := (>= #56 0::int)
+#624 := (not #781)
+#742 := (<= #58 0::int)
+#634 := (not #742)
+#506 := (>= #54 0::int)
+#693 := (f5 #54)
+#744 := (f6 #693)
+#745 := (= #744 0::int)
+#646 := (not #745)
+#689 := (not #852)
+#647 := (iff #689 #646)
+#643 := (iff #852 #745)
+#640 := (iff #745 #852)
+#632 := (= #744 #54)
+#655 := (= #693 f7)
+#694 := (= f7 #693)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#869 := (pattern #39)
+#40 := (f5 #39)
+#188 := (= #38 #40)
+#870 := (forall (vars (?v0 S2)) (:pat #869) #188)
+#191 := (forall (vars (?v0 S2)) #188)
+#871 := (iff #191 #870)
+#873 := (iff #870 #870)
+#874 := [rewrite]: #873
+#872 := [rewrite]: #871
+#875 := [trans #872 #874]: #871
+#287 := (~ #191 #191)
+#303 := (~ #188 #188)
+#304 := [refl]: #303
+#288 := [nnf-pos #304]: #287
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#192 := (iff #42 #191)
+#189 := (iff #41 #188)
+#190 := [rewrite]: #189
+#193 := [quant-intro #190]: #192
+#187 := [asserted]: #42
+#196 := [mp #187 #193]: #191
+#305 := [mp~ #196 #288]: #191
+#876 := [mp #305 #875]: #870
+#789 := (not #870)
+#786 := (or #789 #694)
+#790 := [quant-inst]: #786
+#670 := [unit-resolution #790 #876]: #694
+#671 := [symm #670]: #655
+#633 := [monotonicity #671]: #632
+#642 := [monotonicity #633]: #640
+#644 := [symm #642]: #643
+#648 := [monotonicity #644]: #647
+#669 := [hypothesis]: #689
+#649 := [mp #669 #648]: #646
+#747 := (or #506 #745)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#877 := (pattern #44)
+#211 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#261 := (or #50 #211)
+#884 := (forall (vars (?v0 int)) (:pat #877) #261)
+#266 := (forall (vars (?v0 int)) #261)
+#887 := (iff #266 #884)
+#885 := (iff #261 #261)
+#886 := [refl]: #885
+#888 := [quant-intro #886]: #887
+#291 := (~ #266 #266)
+#309 := (~ #261 #261)
+#310 := [refl]: #309
+#292 := [nnf-pos #310]: #291
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#269 := (iff #52 #266)
+#232 := (= 0::int #45)
+#238 := (not #49)
+#239 := (or #238 #232)
+#244 := (forall (vars (?v0 int)) #239)
+#267 := (iff #244 #266)
+#264 := (iff #239 #261)
+#258 := (or #211 #50)
+#262 := (iff #258 #261)
+#263 := [rewrite]: #262
+#259 := (iff #239 #258)
+#256 := (iff #232 #50)
+#257 := [rewrite]: #256
+#254 := (iff #238 #211)
+#214 := (not #211)
+#249 := (not #214)
+#252 := (iff #249 #211)
+#253 := [rewrite]: #252
+#250 := (iff #238 #249)
+#247 := (iff #49 #214)
+#248 := [rewrite]: #247
+#251 := [monotonicity #248]: #250
+#255 := [trans #251 #253]: #254
+#260 := [monotonicity #255 #257]: #259
+#265 := [trans #260 #263]: #264
+#268 := [quant-intro #265]: #267
+#245 := (iff #52 #244)
+#242 := (iff #51 #239)
+#235 := (implies #49 #232)
+#240 := (iff #235 #239)
+#241 := [rewrite]: #240
+#236 := (iff #51 #235)
+#233 := (iff #50 #232)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#243 := [trans #237 #241]: #242
+#246 := [quant-intro #243]: #245
+#270 := [trans #246 #268]: #269
+#231 := [asserted]: #52
+#271 := [mp #231 #270]: #266
+#311 := [mp~ #271 #292]: #266
+#889 := [mp #311 #888]: #884
+#766 := (not #884)
+#750 := (or #766 #506 #745)
+#746 := (or #745 #506)
+#751 := (or #766 #746)
+#735 := (iff #751 #750)
+#752 := (or #766 #747)
+#733 := (iff #752 #750)
+#734 := [rewrite]: #733
+#730 := (iff #751 #752)
+#748 := (iff #746 #747)
+#749 := [rewrite]: #748
+#731 := [monotonicity #749]: #730
+#736 := [trans #731 #734]: #735
+#741 := [quant-inst]: #751
+#737 := [mp #741 #736]: #750
+#650 := [unit-resolution #737 #889]: #747
+#651 := [unit-resolution #650 #649]: #506
+#831 := (not #506)
+#652 := (or #634 #831 #276)
+#622 := [th-lemma]: #652
+#623 := [unit-resolution #622 #651 #283]: #634
+#625 := (or #624 #742)
+#627 := [th-lemma]: #625
+#628 := [unit-resolution #627 #623]: #624
+#763 := (or #777 #781)
+#762 := (or #766 #777 #781)
+#782 := (or #781 #777)
+#767 := (or #766 #782)
+#759 := (iff #767 #762)
+#754 := (or #766 #763)
+#758 := (iff #754 #762)
+#755 := [rewrite]: #758
+#756 := (iff #767 #754)
+#764 := (iff #782 #763)
+#765 := [rewrite]: #764
+#757 := [monotonicity #765]: #756
+#739 := [trans #757 #755]: #759
+#753 := [quant-inst]: #767
+#740 := [mp #753 #739]: #762
+#629 := [unit-resolution #740 #889]: #763
+#472 := [unit-resolution #629 #628]: #777
+#779 := (not #777)
+#780 := (or #770 #779)
+#195 := (= #9 #45)
+#220 := (or #195 #214)
+#878 := (forall (vars (?v0 int)) (:pat #877) #220)
+#225 := (forall (vars (?v0 int)) #220)
+#881 := (iff #225 #878)
+#879 := (iff #220 #220)
+#880 := [refl]: #879
+#882 := [quant-intro #880]: #881
+#289 := (~ #225 #225)
+#306 := (~ #220 #220)
+#307 := [refl]: #306
+#290 := [nnf-pos #307]: #289
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#228 := (iff #48 #225)
+#202 := (not #43)
+#203 := (or #202 #195)
+#208 := (forall (vars (?v0 int)) #203)
+#226 := (iff #208 #225)
+#223 := (iff #203 #220)
+#217 := (or #214 #195)
+#221 := (iff #217 #220)
+#222 := [rewrite]: #221
+#218 := (iff #203 #217)
+#215 := (iff #202 #214)
+#212 := (iff #43 #211)
+#213 := [rewrite]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#224 := [trans #219 #222]: #223
+#227 := [quant-intro #224]: #226
+#209 := (iff #48 #208)
+#206 := (iff #47 #203)
+#199 := (implies #43 #195)
+#204 := (iff #199 #203)
+#205 := [rewrite]: #204
+#200 := (iff #47 #199)
+#197 := (iff #46 #195)
+#198 := [rewrite]: #197
+#201 := [monotonicity #198]: #200
+#207 := [trans #201 #205]: #206
+#210 := [quant-intro #207]: #209
+#229 := [trans #210 #227]: #228
+#194 := [asserted]: #48
+#230 := [mp #194 #229]: #225
+#308 := [mp~ #230 #290]: #225
+#883 := [mp #308 #882]: #878
+#778 := (not #878)
+#783 := (or #778 #770 #779)
+#772 := (or #778 #780)
+#774 := (iff #772 #783)
+#775 := [rewrite]: #774
+#773 := [quant-inst]: #772
+#769 := [mp #773 #775]: #783
+#630 := [unit-resolution #769 #883]: #780
+#626 := [unit-resolution #630 #472]: #770
+#631 := (not #770)
+#610 := (or #631 #761)
+#613 := [th-lemma]: #610
+#617 := [unit-resolution #613 #626]: #761
+#459 := (* -1::int #531)
+#532 := (+ #56 #459)
+#805 := (<= #532 0::int)
+#529 := (= #532 0::int)
+#526 := (* -1::int #54)
+#547 := (div #526 -3::int)
+#826 := (* -1::int #547)
+#537 := (+ #56 #826)
+#540 := (= #537 0::int)
+#512 := (<= #54 0::int)
+#828 := (not #512)
+#552 := (or #831 #828)
+#534 := (ite #552 #529 #540)
+#620 := (or #852 #534)
+#817 := (ite #852 #850 #534)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#855 := (pattern #10)
+#88 := (* -1::int #9)
+#85 := (* -1::int #8)
+#91 := (div #85 #88)
+#357 := (* -1::int #91)
+#358 := (+ #10 #357)
+#359 := (= #358 0::int)
+#21 := (div #8 #9)
+#354 := (* -1::int #21)
+#355 := (+ #10 #354)
+#356 := (= #355 0::int)
+#110 := (<= #9 0::int)
+#106 := (<= #8 0::int)
+#312 := (or #106 #110)
+#313 := (not #312)
+#117 := (>= #8 0::int)
+#295 := (or #110 #117)
+#296 := (not #295)
+#319 := (or #296 #313)
+#360 := (ite #319 #356 #359)
+#353 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#361 := (ite #14 #353 #360)
+#856 := (forall (vars (?v0 int) (?v1 int)) (:pat #855) #361)
+#364 := (forall (vars (?v0 int) (?v1 int)) #361)
+#859 := (iff #364 #856)
+#857 := (iff #361 #361)
+#858 := [refl]: #857
+#860 := [quant-intro #858]: #859
+#324 := (ite #319 #21 #91)
+#327 := (ite #14 0::int #324)
+#330 := (= #10 #327)
+#333 := (forall (vars (?v0 int) (?v1 int)) #330)
+#365 := (iff #333 #364)
+#362 := (iff #330 #361)
+#363 := [rewrite]: #362
+#366 := [quant-intro #363]: #365
+#118 := (not #117)
+#111 := (not #110)
+#121 := (and #111 #118)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#127 := (ite #124 #21 #91)
+#130 := (ite #14 0::int #127)
+#133 := (= #10 #130)
+#136 := (forall (vars (?v0 int) (?v1 int)) #133)
+#334 := (iff #136 #333)
+#331 := (iff #133 #330)
+#328 := (= #130 #327)
+#325 := (= #127 #324)
+#322 := (iff #124 #319)
+#316 := (or #313 #296)
+#320 := (iff #316 #319)
+#321 := [rewrite]: #320
+#317 := (iff #124 #316)
+#314 := (iff #121 #296)
+#315 := [rewrite]: #314
+#293 := (iff #114 #313)
+#294 := [rewrite]: #293
+#318 := [monotonicity #294 #315]: #317
+#323 := [trans #318 #321]: #322
+#326 := [monotonicity #323]: #325
+#329 := [monotonicity #326]: #328
+#332 := [monotonicity #329]: #331
+#335 := [quant-intro #332]: #334
+#299 := (~ #136 #136)
+#297 := (~ #133 #133)
+#298 := [refl]: #297
+#300 := [nnf-pos #298]: #299
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#139 := (iff #28 #136)
+#78 := (and #16 #18)
+#81 := (or #17 #78)
+#94 := (ite #81 #21 #91)
+#97 := (ite #14 0::int #94)
+#100 := (= #10 #97)
+#103 := (forall (vars (?v0 int) (?v1 int)) #100)
+#137 := (iff #103 #136)
+#134 := (iff #100 #133)
+#131 := (= #97 #130)
+#128 := (= #94 #127)
+#125 := (iff #81 #124)
+#122 := (iff #78 #121)
+#119 := (iff #18 #118)
+#120 := [rewrite]: #119
+#112 := (iff #16 #111)
+#113 := [rewrite]: #112
+#123 := [monotonicity #113 #120]: #122
+#115 := (iff #17 #114)
+#108 := (iff #15 #107)
+#109 := [rewrite]: #108
+#116 := [monotonicity #109 #113]: #115
+#126 := [monotonicity #116 #123]: #125
+#129 := [monotonicity #126]: #128
+#132 := [monotonicity #129]: #131
+#135 := [monotonicity #132]: #134
+#138 := [quant-intro #135]: #137
+#104 := (iff #28 #103)
+#101 := (iff #27 #100)
+#98 := (= #26 #97)
+#95 := (= #25 #94)
+#92 := (= #24 #91)
+#89 := (= #23 #88)
+#90 := [rewrite]: #89
+#86 := (= #22 #85)
+#87 := [rewrite]: #86
+#93 := [monotonicity #87 #90]: #92
+#82 := (iff #20 #81)
+#79 := (iff #19 #78)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#96 := [monotonicity #83 #93]: #95
+#99 := [monotonicity #96]: #98
+#102 := [monotonicity #99]: #101
+#105 := [quant-intro #102]: #104
+#140 := [trans #105 #138]: #139
+#77 := [asserted]: #28
+#141 := [mp #77 #140]: #136
+#284 := [mp~ #141 #300]: #136
+#336 := [mp #284 #335]: #333
+#367 := [mp #336 #366]: #364
+#861 := [mp #367 #860]: #856
+#811 := (not #856)
+#812 := (or #811 #817)
+#441 := (* -1::int 3::int)
+#527 := (div #526 #441)
+#528 := (* -1::int #527)
+#519 := (+ #56 #528)
+#530 := (= #519 0::int)
+#533 := (<= 3::int 0::int)
+#847 := (or #512 #533)
+#849 := (not #847)
+#636 := (or #533 #506)
+#843 := (not #636)
+#517 := (or #843 #849)
+#518 := (ite #517 #529 #530)
+#851 := (= 3::int 0::int)
+#853 := (or #852 #851)
+#848 := (ite #853 #850 #518)
+#807 := (or #811 #848)
+#813 := (iff #807 #812)
+#809 := (iff #812 #812)
+#815 := [rewrite]: #809
+#821 := (iff #848 #817)
+#816 := (iff #518 #534)
+#818 := (iff #530 #540)
+#538 := (= #519 #537)
+#823 := (= #528 #826)
+#548 := (= #527 #547)
+#824 := (= #441 -3::int)
+#825 := [rewrite]: #824
+#822 := [monotonicity #825]: #548
+#827 := [monotonicity #822]: #823
+#539 := [monotonicity #827]: #538
+#819 := [monotonicity #539]: #818
+#553 := (iff #517 #552)
+#829 := (iff #849 #828)
+#839 := (iff #847 #512)
+#838 := (or #512 false)
+#481 := (iff #838 #512)
+#841 := [rewrite]: #481
+#840 := (iff #847 #838)
+#493 := (iff #533 false)
+#494 := [rewrite]: #493
+#480 := [monotonicity #494]: #840
+#842 := [trans #480 #841]: #839
+#551 := [monotonicity #842]: #829
+#837 := (iff #843 #831)
+#835 := (iff #636 #506)
+#495 := (or false #506)
+#833 := (iff #495 #506)
+#834 := [rewrite]: #833
+#496 := (iff #636 #495)
+#832 := [monotonicity #494]: #496
+#836 := [trans #832 #834]: #835
+#475 := [monotonicity #836]: #837
+#554 := [monotonicity #475 #551]: #553
+#820 := [monotonicity #554 #819]: #816
+#489 := (iff #853 #852)
+#504 := (or #852 false)
+#505 := (iff #504 #852)
+#846 := [rewrite]: #505
+#509 := (iff #853 #504)
+#854 := (iff #851 false)
+#844 := [rewrite]: #854
+#845 := [monotonicity #844]: #509
+#830 := [trans #845 #846]: #489
+#810 := [monotonicity #830 #820]: #821
+#814 := [monotonicity #810]: #813
+#656 := [trans #814 #815]: #813
+#808 := [quant-inst]: #807
+#657 := [mp #808 #656]: #812
+#619 := [unit-resolution #657 #861]: #817
+#787 := (not #817)
+#788 := (or #787 #852 #534)
+#673 := [def-axiom]: #788
+#618 := [unit-resolution #673 #619]: #620
+#621 := [unit-resolution #618 #669]: #534
+#609 := (or #852 #828 #831)
+#612 := [th-lemma]: #609
+#614 := [unit-resolution #612 #651 #669]: #828
+#801 := (or #552 #512)
+#802 := [def-axiom]: #801
+#615 := [unit-resolution #802 #614]: #552
+#803 := (not #552)
+#638 := (not #534)
+#791 := (or #638 #803 #529)
+#792 := [def-axiom]: #791
+#611 := [unit-resolution #792 #615 #621]: #529
+#793 := (not #529)
+#616 := (or #793 #805)
+#606 := [th-lemma]: #616
+#596 := [unit-resolution #606 #611]: #805
+#714 := (>= #804 0::int)
+#598 := (or false #714)
+#599 := [th-lemma]: #598
+#602 := [unit-resolution #599 #75]: #714
+#603 := [th-lemma #651 #602 #596 #617 #283 #668]: false
+#607 := [lemma #603]: #852
+#717 := (or #689 #850)
+#784 := (or #787 #689 #850)
+#785 := [def-axiom]: #784
+#600 := [unit-resolution #785 #619]: #717
+#608 := [unit-resolution #600 #607]: #850
+#605 := (= #58 #56)
+#653 := (or #689 #506)
+#654 := [th-lemma]: #653
+#659 := [unit-resolution #654 #607]: #506
+#660 := [unit-resolution #622 #659 #283]: #634
+#661 := [unit-resolution #627 #660]: #624
+#601 := [unit-resolution #629 #661]: #777
+#604 := [unit-resolution #630 #601]: #770
+#591 := [symm #604]: #605
+#593 := [trans #591 #608]: #781
+[unit-resolution #661 #593]: false
+unsat
+ab86a54cb616e2b66ccbd5c4b16ac320b8b6bebe 305 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 3::int
+#54 := (f4 0::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#507 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#855 := (iff #369 #852)
+#853 := (iff #366 #366)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#857 := [mp #372 #856]: #852
+#677 := (not #852)
+#679 := (or #677 #507)
+#430 := (* -1::int 3::int)
+#515 := (* -1::int 0::int)
+#516 := (mod #515 #430)
+#517 := (+ #54 #516)
+#508 := (= #517 0::int)
+#519 := (mod 0::int 3::int)
+#520 := (* -1::int #519)
+#448 := (+ #54 #520)
+#521 := (= #448 0::int)
+#518 := (<= 3::int 0::int)
+#522 := (<= 0::int 0::int)
+#501 := (or #522 #518)
+#836 := (not #501)
+#838 := (>= 0::int 0::int)
+#495 := (or #518 #838)
+#625 := (not #495)
+#832 := (or #625 #836)
+#506 := (ite #832 #521 #508)
+#839 := (= 0::int 0::int)
+#840 := (ite #839 #507 #506)
+#841 := (= 0::int #54)
+#842 := (= 3::int 0::int)
+#837 := (ite #842 #841 #840)
+#680 := (or #677 #837)
+#681 := (iff #680 #679)
+#683 := (iff #679 #679)
+#684 := [rewrite]: #683
+#777 := (iff #837 #507)
+#626 := (ite false #507 #507)
+#781 := (iff #626 #507)
+#783 := [rewrite]: #781
+#773 := (iff #837 #626)
+#776 := (iff #840 #507)
+#1 := true
+#785 := (ite true #507 #507)
+#669 := (iff #785 #507)
+#628 := [rewrite]: #669
+#667 := (iff #840 #785)
+#784 := (iff #506 #507)
+#627 := (iff #506 #626)
+#795 := (iff #508 #507)
+#794 := (= #517 #54)
+#806 := (+ #54 0::int)
+#800 := (= #806 #54)
+#801 := [rewrite]: #800
+#787 := (= #517 #806)
+#792 := (= #516 0::int)
+#798 := -3::int
+#646 := (mod 0::int -3::int)
+#790 := (= #646 0::int)
+#791 := [rewrite]: #790
+#647 := (= #516 #646)
+#804 := (= #430 -3::int)
+#645 := [rewrite]: #804
+#808 := (= #515 0::int)
+#523 := [rewrite]: #808
+#789 := [monotonicity #523 #645]: #647
+#786 := [trans #789 #791]: #792
+#793 := [monotonicity #786]: #787
+#788 := [trans #793 #801]: #794
+#624 := [monotonicity #788]: #795
+#802 := (iff #521 #507)
+#796 := (= #448 #54)
+#810 := (= #448 #806)
+#805 := (= #520 0::int)
+#529 := (= #520 #515)
+#527 := (= #519 0::int)
+#528 := [rewrite]: #527
+#807 := [monotonicity #528]: #529
+#809 := [trans #807 #523]: #805
+#799 := [monotonicity #809]: #810
+#797 := [trans #799 #801]: #796
+#803 := [monotonicity #797]: #802
+#816 := (iff #832 false)
+#536 := (or false false)
+#815 := (iff #536 false)
+#812 := [rewrite]: #815
+#537 := (iff #832 #536)
+#813 := (iff #836 false)
+#825 := (not true)
+#464 := (iff #825 false)
+#827 := [rewrite]: #464
+#543 := (iff #836 #825)
+#541 := (iff #501 true)
+#828 := (or true false)
+#818 := (iff #828 true)
+#540 := [rewrite]: #818
+#831 := (iff #501 #828)
+#835 := (iff #518 false)
+#478 := [rewrite]: #835
+#470 := (iff #522 true)
+#830 := [rewrite]: #470
+#817 := [monotonicity #830 #478]: #831
+#542 := [trans #817 #540]: #541
+#436 := [monotonicity #542]: #543
+#814 := [trans #436 #827]: #813
+#829 := (iff #625 false)
+#820 := (iff #625 #825)
+#823 := (iff #495 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#484 := (iff #495 #483)
+#819 := (iff #838 true)
+#482 := [rewrite]: #819
+#485 := [monotonicity #478 #482]: #484
+#824 := [trans #485 #822]: #823
+#826 := [monotonicity #824]: #820
+#469 := [trans #826 #827]: #829
+#811 := [monotonicity #469 #814]: #537
+#526 := [trans #811 #812]: #816
+#780 := [monotonicity #526 #803 #624]: #627
+#782 := [trans #780 #783]: #784
+#834 := (iff #839 true)
+#494 := [rewrite]: #834
+#668 := [monotonicity #494 #782]: #667
+#678 := [trans #668 #628]: #776
+#493 := (iff #841 #507)
+#498 := [rewrite]: #493
+#843 := (iff #842 false)
+#833 := [rewrite]: #843
+#774 := [monotonicity #833 #498 #678]: #773
+#662 := [trans #774 #783]: #777
+#682 := [monotonicity #662]: #681
+#685 := [trans #682 #684]: #681
+#673 := [quant-inst]: #680
+#778 := [mp #673 #685]: #679
+#713 := [unit-resolution #778 #857]: #507
+#709 := [monotonicity #713]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #709]: false
+unsat
+b9b522deb0a9246b7d18bd07eb8550de7aa969f7 605 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#59 := (f5 0::int)
+decl f7 :: S2
+#53 := f7
+#60 := (= f7 #59)
+decl f6 :: (-> S2 int)
+#54 := (f6 f7)
+#783 := (f5 #54)
+#628 := (= #783 #59)
+#608 := (= #59 #783)
+#604 := (= 0::int #54)
+#494 := (= #54 0::int)
+#55 := 3::int
+#685 := (mod #54 3::int)
+#630 := (>= #685 0::int)
+#1 := true
+#77 := [true-axiom]: true
+#598 := (or false #630)
+#599 := [th-lemma]: #598
+#597 := [unit-resolution #599 #77]: #630
+decl f3 :: (-> int int int)
+#56 := (f3 #54 3::int)
+#86 := -1::int
+#613 := (* -1::int #56)
+#606 := (+ #54 #613)
+#609 := (<= #606 0::int)
+#605 := (= #54 #56)
+#57 := (f5 #56)
+#727 := (f6 #57)
+#576 := (= #727 #56)
+#730 := (= #56 #727)
+#725 := (>= #56 0::int)
+#718 := (= #727 0::int)
+#590 := (not #718)
+#791 := (not #494)
+#591 := (iff #791 #590)
+#588 := (iff #494 #718)
+#586 := (iff #718 #494)
+#584 := (= #727 #54)
+#58 := (= #57 f7)
+#275 := (= f7 #57)
+#667 := (= #59 #57)
+#665 := (= #57 #59)
+#510 := (= #56 0::int)
+#781 := (f6 #59)
+#769 := (= #781 0::int)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#882 := (pattern #44)
+#213 := (>= #9 0::int)
+#216 := (not #213)
+#45 := (f6 #44)
+#197 := (= #9 #45)
+#222 := (or #197 #216)
+#883 := (forall (vars (?v0 int)) (:pat #882) #222)
+#227 := (forall (vars (?v0 int)) #222)
+#886 := (iff #227 #883)
+#884 := (iff #222 #222)
+#885 := [refl]: #884
+#887 := [quant-intro #885]: #886
+#294 := (~ #227 #227)
+#311 := (~ #222 #222)
+#312 := [refl]: #311
+#295 := [nnf-pos #312]: #294
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#230 := (iff #48 #227)
+#204 := (not #43)
+#205 := (or #204 #197)
+#210 := (forall (vars (?v0 int)) #205)
+#228 := (iff #210 #227)
+#225 := (iff #205 #222)
+#219 := (or #216 #197)
+#223 := (iff #219 #222)
+#224 := [rewrite]: #223
+#220 := (iff #205 #219)
+#217 := (iff #204 #216)
+#214 := (iff #43 #213)
+#215 := [rewrite]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#226 := [trans #221 #224]: #225
+#229 := [quant-intro #226]: #228
+#211 := (iff #48 #210)
+#208 := (iff #47 #205)
+#201 := (implies #43 #197)
+#206 := (iff #201 #205)
+#207 := [rewrite]: #206
+#202 := (iff #47 #201)
+#199 := (iff #46 #197)
+#200 := [rewrite]: #199
+#203 := [monotonicity #200]: #202
+#209 := [trans #203 #207]: #208
+#212 := [quant-intro #209]: #211
+#231 := [trans #212 #229]: #230
+#196 := [asserted]: #48
+#232 := [mp #196 #231]: #227
+#313 := [mp~ #232 #295]: #227
+#888 := [mp #313 #887]: #883
+#751 := (not #883)
+#752 := (or #751 #769)
+#777 := (>= 0::int 0::int)
+#778 := (not #777)
+#765 := (= 0::int #781)
+#766 := (or #765 #778)
+#753 := (or #751 #766)
+#755 := (iff #753 #752)
+#746 := (iff #752 #752)
+#757 := [rewrite]: #746
+#749 := (iff #766 #769)
+#764 := (or #769 false)
+#747 := (iff #764 #769)
+#748 := [rewrite]: #747
+#744 := (iff #766 #764)
+#763 := (iff #778 false)
+#772 := (not true)
+#761 := (iff #772 false)
+#762 := [rewrite]: #761
+#758 := (iff #778 #772)
+#771 := (iff #777 true)
+#767 := [rewrite]: #771
+#759 := [monotonicity #767]: #758
+#760 := [trans #759 #762]: #763
+#768 := (iff #765 #769)
+#770 := [rewrite]: #768
+#745 := [monotonicity #770 #760]: #744
+#750 := [trans #745 #748]: #749
+#756 := [monotonicity #750]: #755
+#735 := [trans #756 #757]: #755
+#754 := [quant-inst]: #753
+#736 := [mp #754 #735]: #752
+#688 := [unit-resolution #736 #888]: #769
+#692 := (= #54 #781)
+#446 := (not #275)
+#706 := [hypothesis]: #446
+#537 := (or #60 #275)
+#61 := (not #60)
+#281 := (iff #61 #275)
+#62 := (iff #58 #61)
+#284 := (iff #62 #281)
+#278 := (iff #275 #61)
+#282 := (iff #278 #281)
+#283 := [rewrite]: #282
+#279 := (iff #62 #278)
+#276 := (iff #58 #275)
+#277 := [rewrite]: #276
+#280 := [monotonicity #277]: #279
+#285 := [trans #280 #283]: #284
+#274 := [asserted]: #62
+#288 := [mp #274 #285]: #281
+#531 := (not #281)
+#536 := (or #60 #275 #531)
+#464 := [def-axiom]: #536
+#534 := [unit-resolution #464 #288]: #537
+#712 := [unit-resolution #534 #706]: #60
+#702 := [monotonicity #712]: #692
+#682 := [trans #702 #688]: #494
+#658 := (or #791 #510)
+#539 := -3::int
+#517 := (* -1::int #54)
+#822 := (div #517 -3::int)
+#816 := (* -1::int #822)
+#813 := (+ #56 #816)
+#814 := (= #813 0::int)
+#848 := (div #54 3::int)
+#522 := (* -1::int #848)
+#523 := (+ #56 #522)
+#855 := (= #523 0::int)
+#859 := (>= #54 0::int)
+#833 := (not #859)
+#857 := (<= #54 0::int)
+#553 := (not #857)
+#543 := (or #553 #833)
+#662 := (ite #543 #855 #814)
+#806 := (ite #494 #510 #662)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#860 := (pattern #10)
+#90 := (* -1::int #9)
+#87 := (* -1::int #8)
+#93 := (div #87 #90)
+#362 := (* -1::int #93)
+#363 := (+ #10 #362)
+#364 := (= #363 0::int)
+#21 := (div #8 #9)
+#359 := (* -1::int #21)
+#360 := (+ #10 #359)
+#361 := (= #360 0::int)
+#112 := (<= #9 0::int)
+#108 := (<= #8 0::int)
+#317 := (or #108 #112)
+#318 := (not #317)
+#119 := (>= #8 0::int)
+#300 := (or #112 #119)
+#301 := (not #300)
+#324 := (or #301 #318)
+#365 := (ite #324 #361 #364)
+#358 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#366 := (ite #14 #358 #365)
+#861 := (forall (vars (?v0 int) (?v1 int)) (:pat #860) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#864 := (iff #369 #861)
+#862 := (iff #366 #366)
+#863 := [refl]: #862
+#865 := [quant-intro #863]: #864
+#329 := (ite #324 #21 #93)
+#332 := (ite #14 0::int #329)
+#335 := (= #10 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#120 := (not #119)
+#113 := (not #112)
+#123 := (and #113 #120)
+#109 := (not #108)
+#116 := (and #109 #113)
+#126 := (or #116 #123)
+#129 := (ite #126 #21 #93)
+#132 := (ite #14 0::int #129)
+#135 := (= #10 #132)
+#138 := (forall (vars (?v0 int) (?v1 int)) #135)
+#339 := (iff #138 #338)
+#336 := (iff #135 #335)
+#333 := (= #132 #332)
+#330 := (= #129 #329)
+#327 := (iff #126 #324)
+#321 := (or #318 #301)
+#325 := (iff #321 #324)
+#326 := [rewrite]: #325
+#322 := (iff #126 #321)
+#319 := (iff #123 #301)
+#320 := [rewrite]: #319
+#298 := (iff #116 #318)
+#299 := [rewrite]: #298
+#323 := [monotonicity #299 #320]: #322
+#328 := [trans #323 #326]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#304 := (~ #138 #138)
+#302 := (~ #135 #135)
+#303 := [refl]: #302
+#305 := [nnf-pos #303]: #304
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#141 := (iff #28 #138)
+#80 := (and #16 #18)
+#83 := (or #17 #80)
+#96 := (ite #83 #21 #93)
+#99 := (ite #14 0::int #96)
+#102 := (= #10 #99)
+#105 := (forall (vars (?v0 int) (?v1 int)) #102)
+#139 := (iff #105 #138)
+#136 := (iff #102 #135)
+#133 := (= #99 #132)
+#130 := (= #96 #129)
+#127 := (iff #83 #126)
+#124 := (iff #80 #123)
+#121 := (iff #18 #120)
+#122 := [rewrite]: #121
+#114 := (iff #16 #113)
+#115 := [rewrite]: #114
+#125 := [monotonicity #115 #122]: #124
+#117 := (iff #17 #116)
+#110 := (iff #15 #109)
+#111 := [rewrite]: #110
+#118 := [monotonicity #111 #115]: #117
+#128 := [monotonicity #118 #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [monotonicity #134]: #136
+#140 := [quant-intro #137]: #139
+#106 := (iff #28 #105)
+#103 := (iff #27 #102)
+#100 := (= #26 #99)
+#97 := (= #25 #96)
+#94 := (= #24 #93)
+#91 := (= #23 #90)
+#92 := [rewrite]: #91
+#88 := (= #22 #87)
+#89 := [rewrite]: #88
+#95 := [monotonicity #89 #92]: #94
+#84 := (iff #20 #83)
+#81 := (iff #19 #80)
+#82 := [rewrite]: #81
+#85 := [monotonicity #82]: #84
+#98 := [monotonicity #85 #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [monotonicity #101]: #103
+#107 := [quant-intro #104]: #106
+#142 := [trans #107 #140]: #141
+#79 := [asserted]: #28
+#143 := [mp #79 #142]: #138
+#289 := [mp~ #143 #305]: #138
+#341 := [mp #289 #340]: #338
+#372 := [mp #341 #371]: #369
+#866 := [mp #372 #865]: #861
+#802 := (not #861)
+#803 := (or #802 #806)
+#538 := (* -1::int 3::int)
+#852 := (div #517 #538)
+#854 := (* -1::int #852)
+#511 := (+ #56 #854)
+#641 := (= #511 0::int)
+#856 := (<= 3::int 0::int)
+#858 := (or #857 #856)
+#853 := (not #858)
+#849 := (or #856 #859)
+#509 := (not #849)
+#514 := (or #509 #853)
+#850 := (ite #514 #855 #641)
+#851 := (= 3::int 0::int)
+#835 := (or #494 #851)
+#498 := (ite #835 #510 #850)
+#809 := (or #802 #498)
+#804 := (iff #809 #803)
+#640 := (iff #803 #803)
+#642 := [rewrite]: #640
+#807 := (iff #498 #806)
+#663 := (iff #850 #662)
+#820 := (iff #641 #814)
+#818 := (= #511 #813)
+#817 := (= #854 #816)
+#826 := (= #852 #822)
+#821 := (= #538 -3::int)
+#825 := [rewrite]: #821
+#815 := [monotonicity #825]: #826
+#812 := [monotonicity #815]: #817
+#819 := [monotonicity #812]: #818
+#661 := [monotonicity #819]: #820
+#823 := (iff #514 #543)
+#828 := (or #833 #553)
+#544 := (iff #828 #543)
+#545 := [rewrite]: #544
+#832 := (iff #514 #828)
+#827 := (iff #853 #553)
+#830 := (iff #858 #857)
+#557 := (or #857 false)
+#452 := (iff #557 #857)
+#829 := [rewrite]: #452
+#558 := (iff #858 #557)
+#842 := (iff #856 false)
+#480 := [rewrite]: #842
+#559 := [monotonicity #480]: #558
+#552 := [trans #559 #829]: #830
+#831 := [monotonicity #552]: #827
+#834 := (iff #509 #833)
+#844 := (iff #849 #859)
+#843 := (or false #859)
+#486 := (iff #843 #859)
+#846 := [rewrite]: #486
+#845 := (iff #849 #843)
+#485 := [monotonicity #480]: #845
+#847 := [trans #485 #846]: #844
+#556 := [monotonicity #847]: #834
+#542 := [monotonicity #556 #831]: #832
+#824 := [trans #542 #545]: #823
+#805 := [monotonicity #824 #661]: #663
+#841 := (iff #835 #494)
+#501 := (or #494 false)
+#839 := (iff #501 #494)
+#840 := [rewrite]: #839
+#837 := (iff #835 #501)
+#499 := (iff #851 false)
+#500 := [rewrite]: #499
+#838 := [monotonicity #500]: #837
+#836 := [trans #838 #840]: #841
+#808 := [monotonicity #836 #805]: #807
+#811 := [monotonicity #808]: #804
+#643 := [trans #811 #642]: #804
+#810 := [quant-inst]: #809
+#796 := [mp #810 #643]: #803
+#703 := [unit-resolution #796 #866]: #806
+#794 := (not #806)
+#795 := (or #794 #791 #510)
+#782 := [def-axiom]: #795
+#659 := [unit-resolution #782 #703]: #658
+#664 := [unit-resolution #659 #682]: #510
+#666 := [monotonicity #664]: #665
+#668 := [symm #666]: #667
+#669 := [trans #712 #668]: #275
+#670 := [unit-resolution #706 #669]: false
+#671 := [lemma #670]: #275
+#600 := [symm #671]: #58
+#585 := [monotonicity #600]: #584
+#587 := [monotonicity #585]: #586
+#589 := [symm #587]: #588
+#592 := [monotonicity #589]: #591
+#582 := [hypothesis]: #791
+#593 := [mp #582 #592]: #590
+#721 := (or #718 #725)
+#50 := (= #45 0::int)
+#263 := (or #50 #213)
+#889 := (forall (vars (?v0 int)) (:pat #882) #263)
+#268 := (forall (vars (?v0 int)) #263)
+#892 := (iff #268 #889)
+#890 := (iff #263 #263)
+#891 := [refl]: #890
+#893 := [quant-intro #891]: #892
+#296 := (~ #268 #268)
+#314 := (~ #263 #263)
+#315 := [refl]: #314
+#297 := [nnf-pos #315]: #296
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#271 := (iff #52 #268)
+#234 := (= 0::int #45)
+#240 := (not #49)
+#241 := (or #240 #234)
+#246 := (forall (vars (?v0 int)) #241)
+#269 := (iff #246 #268)
+#266 := (iff #241 #263)
+#260 := (or #213 #50)
+#264 := (iff #260 #263)
+#265 := [rewrite]: #264
+#261 := (iff #241 #260)
+#258 := (iff #234 #50)
+#259 := [rewrite]: #258
+#256 := (iff #240 #213)
+#251 := (not #216)
+#254 := (iff #251 #213)
+#255 := [rewrite]: #254
+#252 := (iff #240 #251)
+#249 := (iff #49 #216)
+#250 := [rewrite]: #249
+#253 := [monotonicity #250]: #252
+#257 := [trans #253 #255]: #256
+#262 := [monotonicity #257 #259]: #261
+#267 := [trans #262 #265]: #266
+#270 := [quant-intro #267]: #269
+#247 := (iff #52 #246)
+#244 := (iff #51 #241)
+#237 := (implies #49 #234)
+#242 := (iff #237 #241)
+#243 := [rewrite]: #242
+#238 := (iff #51 #237)
+#235 := (iff #50 #234)
+#236 := [rewrite]: #235
+#239 := [monotonicity #236]: #238
+#245 := [trans #239 #243]: #244
+#248 := [quant-intro #245]: #247
+#272 := [trans #248 #270]: #271
+#233 := [asserted]: #52
+#273 := [mp #233 #272]: #268
+#316 := [mp~ #273 #297]: #268
+#894 := [mp #316 #893]: #889
+#719 := (not #889)
+#724 := (or #719 #718 #725)
+#704 := (or #719 #721)
+#705 := (iff #704 #724)
+#686 := [rewrite]: #705
+#650 := [quant-inst]: #704
+#710 := [mp #650 #686]: #724
+#594 := [unit-resolution #710 #894]: #721
+#583 := [unit-resolution #594 #593]: #725
+#726 := (not #725)
+#732 := (or #726 #730)
+#734 := (or #751 #726 #730)
+#731 := (or #730 #726)
+#707 := (or #751 #731)
+#720 := (iff #707 #734)
+#709 := (or #751 #732)
+#714 := (iff #709 #734)
+#715 := [rewrite]: #714
+#602 := (iff #707 #709)
+#733 := (iff #731 #732)
+#728 := [rewrite]: #733
+#713 := [monotonicity #728]: #602
+#716 := [trans #713 #715]: #720
+#708 := [quant-inst]: #707
+#717 := [mp #708 #716]: #734
+#595 := [unit-resolution #717 #888]: #732
+#572 := [unit-resolution #595 #583]: #730
+#577 := [symm #572]: #576
+#574 := (= #54 #727)
+#575 := [symm #585]: #574
+#578 := [trans #575 #577]: #605
+#579 := (not #605)
+#580 := (or #579 #609)
+#573 := [th-lemma]: #580
+#581 := [unit-resolution #573 #578]: #609
+#644 := (<= #523 0::int)
+#566 := (or #494 #662)
+#784 := (or #794 #494 #662)
+#776 := [def-axiom]: #784
+#567 := [unit-resolution #776 #703]: #566
+#568 := [unit-resolution #567 #582]: #662
+#722 := (f6 #783)
+#723 := (= #722 0::int)
+#555 := (not #723)
+#565 := (iff #791 #555)
+#563 := (iff #494 #723)
+#562 := (iff #723 #494)
+#560 := (= #722 #54)
+#569 := (= #783 f7)
+#788 := (= f7 #783)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#874 := (pattern #39)
+#40 := (f5 #39)
+#190 := (= #38 #40)
+#875 := (forall (vars (?v0 S2)) (:pat #874) #190)
+#193 := (forall (vars (?v0 S2)) #190)
+#876 := (iff #193 #875)
+#878 := (iff #875 #875)
+#879 := [rewrite]: #878
+#877 := [rewrite]: #876
+#880 := [trans #877 #879]: #876
+#292 := (~ #193 #193)
+#308 := (~ #190 #190)
+#309 := [refl]: #308
+#293 := [nnf-pos #309]: #292
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#194 := (iff #42 #193)
+#191 := (iff #41 #190)
+#192 := [rewrite]: #191
+#195 := [quant-intro #192]: #194
+#189 := [asserted]: #42
+#198 := [mp #189 #195]: #193
+#310 := [mp~ #198 #293]: #193
+#881 := [mp #310 #880]: #875
+#779 := (not #875)
+#780 := (or #779 #788)
+#774 := [quant-inst]: #780
+#570 := [unit-resolution #774 #881]: #788
+#571 := [symm #570]: #569
+#561 := [monotonicity #571]: #560
+#554 := [monotonicity #561]: #562
+#564 := [symm #554]: #563
+#546 := [monotonicity #564]: #565
+#547 := [mp #582 #546]: #555
+#711 := (or #723 #859)
+#680 := (or #719 #723 #859)
+#687 := (or #719 #711)
+#677 := (iff #687 #680)
+#679 := [rewrite]: #677
+#646 := [quant-inst]: #687
+#681 := [mp #646 #679]: #680
+#548 := [unit-resolution #681 #894]: #711
+#540 := [unit-resolution #548 #547]: #859
+#549 := (or #494 #553 #833)
+#550 := [th-lemma]: #549
+#541 := [unit-resolution #550 #582]: #543
+#551 := [unit-resolution #541 #540]: #553
+#797 := (or #543 #857)
+#799 := [def-axiom]: #797
+#518 := [unit-resolution #799 #551]: #543
+#801 := (not #543)
+#793 := (not #662)
+#678 := (or #793 #801 #855)
+#693 := [def-axiom]: #678
+#520 := [unit-resolution #693 #518 #568]: #855
+#689 := (not #855)
+#521 := (or #689 #644)
+#512 := [th-lemma]: #521
+#525 := [unit-resolution #512 #520]: #644
+#653 := (* -3::int #848)
+#652 := (* -1::int #685)
+#654 := (+ #652 #653)
+#655 := (+ #54 #654)
+#629 := (>= #655 0::int)
+#651 := (= #655 0::int)
+#526 := (or false #651)
+#527 := [th-lemma]: #526
+#528 := [unit-resolution #527 #77]: #651
+#529 := (not #651)
+#519 := (or #529 #629)
+#530 := [th-lemma]: #519
+#513 := [unit-resolution #530 #528]: #629
+#515 := [th-lemma #551 #513 #525 #581 #597]: false
+#516 := [lemma #515]: #494
+#607 := [symm #516]: #604
+#612 := [monotonicity #607]: #608
+#610 := [symm #612]: #628
+#596 := [trans #570 #610]: #60
+#524 := (or #61 #446)
+#532 := (or #61 #446 #531)
+#533 := [def-axiom]: #532
+#535 := [unit-resolution #533 #288]: #524
+#603 := [unit-resolution #535 #671]: #61
+[unit-resolution #603 #596]: false
+unsat
+a249032926dbefc0badb62f9f4f23768776070bc 328 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 1::int
+#57 := (f5 1::int)
+decl f4 :: (-> int int int)
+#54 := 3::int
+#55 := (f4 1::int 3::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#834 := (= #55 1::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#142 := (mod #84 #87)
+#363 := (+ #29 #142)
+#364 := (= #363 0::int)
+#30 := (mod #8 #9)
+#360 := (* -1::int #30)
+#361 := (+ #29 #360)
+#362 := (= #361 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#365 := (ite #309 #362 #364)
+#359 := (= #29 0::int)
+#12 := (= #8 0::int)
+#366 := (ite #12 #359 #365)
+#358 := (= #8 #29)
+#13 := (= #9 0::int)
+#367 := (ite #13 #358 #366)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #367)
+#370 := (forall (vars (?v0 int) (?v1 int)) #367)
+#855 := (iff #370 #852)
+#853 := (iff #367 #367)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#148 := (* -1::int #142)
+#327 := (ite #309 #30 #148)
+#330 := (ite #12 0::int #327)
+#333 := (ite #13 #8 #330)
+#336 := (= #29 #333)
+#339 := (forall (vars (?v0 int) (?v1 int)) #336)
+#371 := (iff #339 #370)
+#368 := (iff #336 #367)
+#369 := [rewrite]: #368
+#372 := [quant-intro #369]: #371
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#168 := (ite #123 #30 #148)
+#171 := (ite #12 0::int #168)
+#174 := (ite #13 #8 #171)
+#177 := (= #29 #174)
+#180 := (forall (vars (?v0 int) (?v1 int)) #177)
+#340 := (iff #180 #339)
+#337 := (iff #177 #336)
+#334 := (= #174 #333)
+#331 := (= #171 #330)
+#328 := (= #168 #327)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#329 := [monotonicity #313]: #328
+#332 := [monotonicity #329]: #331
+#335 := [monotonicity #332]: #334
+#338 := [monotonicity #335]: #337
+#341 := [quant-intro #338]: #340
+#275 := (~ #180 #180)
+#272 := (~ #177 #177)
+#291 := [refl]: #272
+#276 := [nnf-pos #291]: #275
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#183 := (iff #37 #180)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#153 := (ite #80 #30 #148)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#181 := (iff #165 #180)
+#178 := (iff #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#170 := [monotonicity #125]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [quant-intro #179]: #181
+#166 := (iff #37 #165)
+#163 := (iff #36 #162)
+#160 := (= #35 #159)
+#157 := (= #34 #156)
+#154 := (= #33 #153)
+#151 := (= #32 #148)
+#145 := (- #142)
+#149 := (= #145 #148)
+#150 := [rewrite]: #149
+#146 := (= #32 #145)
+#143 := (= #31 #142)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#144 := [monotonicity #86 #89]: #143
+#147 := [monotonicity #144]: #146
+#152 := [trans #147 #150]: #151
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#155 := [monotonicity #82 #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#184 := [trans #167 #182]: #183
+#141 := [asserted]: #37
+#185 := [mp #141 #184]: #180
+#292 := [mp~ #185 #276]: #180
+#342 := [mp #292 #341]: #339
+#373 := [mp #342 #372]: #370
+#857 := [mp #373 #856]: #852
+#762 := (not #852)
+#763 := (or #762 #834)
+#431 := (* -1::int 3::int)
+#515 := (* -1::int 1::int)
+#516 := (mod #515 #431)
+#517 := (+ #55 #516)
+#508 := (= #517 0::int)
+#519 := (mod 1::int 3::int)
+#520 := (* -1::int #519)
+#521 := (+ #55 #520)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (<= 1::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 1::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #508)
+#839 := (= #55 0::int)
+#840 := (= 1::int 0::int)
+#841 := (ite #840 #839 #507)
+#842 := (= 1::int #55)
+#837 := (= 3::int 0::int)
+#843 := (ite #837 #842 #841)
+#764 := (or #762 #843)
+#765 := (iff #764 #763)
+#750 := (iff #763 #763)
+#752 := [rewrite]: #750
+#772 := (iff #843 #834)
+#759 := (ite false #834 #834)
+#771 := (iff #759 #834)
+#767 := [rewrite]: #771
+#769 := (iff #843 #759)
+#760 := (iff #841 #834)
+#778 := (ite false #839 #834)
+#766 := (iff #778 #834)
+#768 := [rewrite]: #766
+#775 := (iff #841 #778)
+#684 := (iff #507 #834)
+#773 := -2::int
+#774 := (= #55 -2::int)
+#1 := true
+#680 := (ite true #834 #774)
+#682 := (iff #680 #834)
+#683 := [rewrite]: #682
+#673 := (iff #507 #680)
+#677 := (iff #508 #774)
+#795 := 2::int
+#782 := (+ 2::int #55)
+#628 := (= #782 0::int)
+#777 := (iff #628 #774)
+#662 := [rewrite]: #777
+#776 := (iff #508 #628)
+#668 := (= #517 #782)
+#781 := (+ #55 2::int)
+#785 := (= #781 #782)
+#667 := [rewrite]: #785
+#783 := (= #517 #781)
+#627 := (= #516 2::int)
+#792 := -3::int
+#793 := (mod -1::int -3::int)
+#624 := (= #793 2::int)
+#626 := [rewrite]: #624
+#794 := (= #516 #793)
+#786 := (= #431 -3::int)
+#787 := [rewrite]: #786
+#805 := (= #515 -1::int)
+#809 := [rewrite]: #805
+#788 := [monotonicity #809 #787]: #794
+#780 := [trans #788 #626]: #627
+#784 := [monotonicity #780]: #783
+#669 := [trans #784 #667]: #668
+#678 := [monotonicity #669]: #776
+#679 := [trans #678 #662]: #677
+#790 := (iff #518 #834)
+#796 := (+ -1::int #55)
+#804 := (= #796 0::int)
+#647 := (iff #804 #834)
+#789 := [rewrite]: #647
+#645 := (iff #518 #804)
+#803 := (= #521 #796)
+#799 := (+ #55 -1::int)
+#797 := (= #799 #796)
+#802 := [rewrite]: #797
+#800 := (= #521 #799)
+#806 := (= #520 -1::int)
+#808 := (= #520 #515)
+#529 := (= #519 1::int)
+#807 := [rewrite]: #529
+#523 := [monotonicity #807]: #808
+#810 := [trans #523 #809]: #806
+#801 := [monotonicity #810]: #800
+#798 := [trans #801 #802]: #803
+#646 := [monotonicity #798]: #645
+#791 := [trans #646 #789]: #790
+#527 := (iff #506 true)
+#485 := (or false true)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#816 := (iff #506 #485)
+#815 := (iff #838 true)
+#813 := (not false)
+#537 := (iff #813 true)
+#811 := [rewrite]: #537
+#814 := (iff #838 #813)
+#543 := (iff #836 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#818 := (iff #836 #817)
+#819 := (iff #522 false)
+#482 := [rewrite]: #819
+#828 := (iff #501 false)
+#831 := [rewrite]: #828
+#540 := [monotonicity #831 #482]: #818
+#437 := [trans #540 #542]: #543
+#536 := [monotonicity #437]: #814
+#812 := [trans #536 #811]: #815
+#470 := (iff #832 false)
+#826 := (not true)
+#829 := (iff #826 false)
+#469 := [rewrite]: #829
+#464 := (iff #832 #826)
+#825 := (iff #625 true)
+#821 := (iff #625 #485)
+#483 := (iff #495 true)
+#484 := [rewrite]: #483
+#822 := [monotonicity #482 #484]: #821
+#820 := [trans #822 #824]: #825
+#827 := [monotonicity #820]: #464
+#830 := [trans #827 #469]: #470
+#526 := [monotonicity #830 #812]: #816
+#528 := [trans #526 #824]: #527
+#681 := [monotonicity #528 #791 #679]: #673
+#685 := [trans #681 #683]: #684
+#835 := (iff #840 false)
+#478 := [rewrite]: #835
+#779 := [monotonicity #478 #685]: #775
+#757 := [trans #779 #768]: #760
+#498 := (iff #842 #834)
+#494 := [rewrite]: #498
+#833 := (iff #837 false)
+#493 := [rewrite]: #833
+#770 := [monotonicity #493 #494 #757]: #769
+#761 := [trans #770 #767]: #772
+#749 := [monotonicity #761]: #765
+#753 := [trans #749 #752]: #765
+#758 := [quant-inst]: #764
+#754 := [mp #758 #753]: #763
+#703 := [unit-resolution #754 #857]: #834
+#708 := [monotonicity #703]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #708]: false
+unsat
+165a0539a08e682081735200b8ab8b693d5da15d 303 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 3::int
+#54 := (f4 3::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#832 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#855 := (iff #369 #852)
+#853 := (iff #366 #366)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#857 := [mp #372 #856]: #852
+#777 := (not #852)
+#662 := (or #777 #832)
+#430 := (* -1::int 3::int)
+#515 := (mod #430 #430)
+#516 := (+ #54 #515)
+#517 := (= #516 0::int)
+#508 := (mod 3::int 3::int)
+#519 := (* -1::int #508)
+#520 := (+ #54 #519)
+#448 := (= #520 0::int)
+#521 := (<= 3::int 0::int)
+#518 := (or #521 #521)
+#522 := (not #518)
+#501 := (>= 3::int 0::int)
+#836 := (or #521 #501)
+#838 := (not #836)
+#495 := (or #838 #522)
+#625 := (ite #495 #448 #517)
+#506 := (= 3::int 0::int)
+#507 := (ite #506 #832 #625)
+#839 := (= 3::int #54)
+#840 := (ite #506 #839 #507)
+#677 := (or #777 #840)
+#680 := (iff #677 #662)
+#681 := (iff #662 #662)
+#682 := [rewrite]: #681
+#773 := (iff #840 #832)
+#843 := (= #54 3::int)
+#668 := (ite false #843 #832)
+#776 := (iff #668 #832)
+#678 := [rewrite]: #776
+#669 := (iff #840 #668)
+#785 := (iff #507 #832)
+#780 := (ite false #832 #832)
+#784 := (iff #780 #832)
+#782 := [rewrite]: #784
+#781 := (iff #507 #780)
+#626 := (iff #625 #832)
+#1 := true
+#793 := (ite true #832 #832)
+#795 := (iff #793 #832)
+#624 := [rewrite]: #795
+#794 := (iff #625 #793)
+#786 := (iff #517 #832)
+#791 := (= #516 #54)
+#807 := (+ #54 0::int)
+#805 := (= #807 #54)
+#809 := [rewrite]: #805
+#789 := (= #516 #807)
+#646 := (= #515 0::int)
+#801 := -3::int
+#802 := (mod -3::int -3::int)
+#804 := (= #802 0::int)
+#645 := [rewrite]: #804
+#803 := (= #515 #802)
+#796 := (= #430 -3::int)
+#797 := [rewrite]: #796
+#798 := [monotonicity #797 #797]: #803
+#647 := [trans #798 #645]: #646
+#790 := [monotonicity #647]: #789
+#792 := [trans #790 #809]: #791
+#787 := [monotonicity #792]: #786
+#799 := (iff #448 #832)
+#806 := (= #520 #54)
+#808 := (= #520 #807)
+#528 := (= #519 0::int)
+#815 := (* -1::int 0::int)
+#526 := (= #815 0::int)
+#527 := [rewrite]: #526
+#812 := (= #519 #815)
+#537 := (= #508 0::int)
+#811 := [rewrite]: #537
+#816 := [monotonicity #811]: #812
+#529 := [trans #816 #527]: #528
+#523 := [monotonicity #529]: #808
+#810 := [trans #523 #809]: #806
+#800 := [monotonicity #810]: #799
+#814 := (iff #495 true)
+#835 := (or false true)
+#482 := (iff #835 true)
+#483 := [rewrite]: #482
+#436 := (iff #495 #835)
+#542 := (iff #522 true)
+#831 := (not false)
+#540 := (iff #831 true)
+#541 := [rewrite]: #540
+#817 := (iff #522 #831)
+#830 := (iff #518 false)
+#464 := (or false false)
+#469 := (iff #464 false)
+#470 := [rewrite]: #469
+#827 := (iff #518 #464)
+#493 := (iff #521 false)
+#498 := [rewrite]: #493
+#829 := [monotonicity #498 #498]: #827
+#828 := [trans #829 #470]: #830
+#818 := [monotonicity #828]: #817
+#543 := [trans #818 #541]: #542
+#820 := (iff #838 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#825 := [rewrite]: #824
+#822 := (iff #838 #821)
+#484 := (iff #836 true)
+#478 := (iff #836 #835)
+#834 := (iff #501 true)
+#494 := [rewrite]: #834
+#819 := [monotonicity #498 #494]: #478
+#485 := [trans #819 #483]: #484
+#823 := [monotonicity #485]: #822
+#826 := [trans #823 #825]: #820
+#813 := [monotonicity #826 #543]: #436
+#536 := [trans #813 #483]: #814
+#788 := [monotonicity #536 #800 #787]: #794
+#627 := [trans #788 #624]: #626
+#841 := (iff #506 false)
+#842 := [rewrite]: #841
+#783 := [monotonicity #842 #627]: #781
+#667 := [trans #783 #782]: #785
+#837 := (iff #839 #843)
+#833 := [rewrite]: #837
+#628 := [monotonicity #842 #833 #667]: #669
+#774 := [trans #628 #678]: #773
+#673 := [monotonicity #774]: #680
+#683 := [trans #673 #682]: #680
+#679 := [quant-inst]: #677
+#684 := [mp #679 #683]: #662
+#704 := [unit-resolution #684 #857]: #832
+#700 := [monotonicity #704]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #700]: false
+unsat
+1ea3fbc0fb4cdf962c25032ebbea931c454f09b7 848 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f6 :: (-> S2 int)
+decl f3 :: (-> int int int)
+#55 := 1::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 1::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#283 := (f5 #58)
+#286 := (f6 #283)
+decl f4 :: (-> int int int)
+#62 := (f4 #54 1::int)
+#63 := (f5 #62)
+#64 := (f6 #63)
+#292 := (+ #64 #286)
+#297 := (f5 #292)
+#300 := (= f7 #297)
+#706 := (f5 #54)
+#1101 := (= #706 #297)
+#1099 := (= #297 #706)
+#1097 := (= #292 #54)
+#11 := 0::int
+#1074 := (= 0::int #54)
+#877 := (= #54 0::int)
+#711 := (f5 #286)
+#1035 := (= #711 #297)
+#1033 := (= #297 #711)
+#986 := (= #292 #286)
+#984 := (= #286 #292)
+#654 := (<= #64 0::int)
+#929 := (<= #62 0::int)
+#801 := (= #62 0::int)
+#871 := (<= #54 0::int)
+#853 := (not #871)
+#660 := (>= #54 0::int)
+#861 := (not #660)
+#759 := (or #861 #853 #877)
+#537 := (f6 #706)
+#539 := (= #537 0::int)
+#944 := (not #539)
+#713 := (not #877)
+#945 := (iff #713 #944)
+#942 := (iff #877 #539)
+#940 := (iff #539 #877)
+#938 := (= #537 #54)
+#936 := (= #706 f7)
+#665 := (= f7 #706)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#893 := (pattern #39)
+#40 := (f5 #39)
+#196 := (= #38 #40)
+#894 := (forall (vars (?v0 S2)) (:pat #893) #196)
+#199 := (forall (vars (?v0 S2)) #196)
+#895 := (iff #199 #894)
+#897 := (iff #894 #894)
+#898 := [rewrite]: #897
+#896 := [rewrite]: #895
+#899 := [trans #896 #898]: #895
+#312 := (~ #199 #199)
+#328 := (~ #196 #196)
+#329 := [refl]: #328
+#313 := [nnf-pos #329]: #312
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#200 := (iff #42 #199)
+#197 := (iff #41 #196)
+#198 := [rewrite]: #197
+#201 := [quant-intro #198]: #200
+#195 := [asserted]: #42
+#204 := [mp #195 #201]: #199
+#330 := [mp~ #204 #313]: #199
+#900 := [mp #330 #899]: #894
+#700 := (not #894)
+#707 := (or #700 #665)
+#709 := [quant-inst]: #707
+#935 := [unit-resolution #709 #900]: #665
+#937 := [symm #935]: #936
+#939 := [monotonicity #937]: #938
+#941 := [monotonicity #939]: #940
+#943 := [symm #941]: #942
+#946 := [monotonicity #943]: #945
+#934 := [hypothesis]: #713
+#947 := [mp #934 #946]: #944
+#540 := (or #539 #660)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#901 := (pattern #44)
+#219 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#269 := (or #50 #219)
+#908 := (forall (vars (?v0 int)) (:pat #901) #269)
+#274 := (forall (vars (?v0 int)) #269)
+#911 := (iff #274 #908)
+#909 := (iff #269 #269)
+#910 := [refl]: #909
+#912 := [quant-intro #910]: #911
+#316 := (~ #274 #274)
+#334 := (~ #269 #269)
+#335 := [refl]: #334
+#317 := [nnf-pos #335]: #316
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#277 := (iff #52 #274)
+#240 := (= 0::int #45)
+#246 := (not #49)
+#247 := (or #246 #240)
+#252 := (forall (vars (?v0 int)) #247)
+#275 := (iff #252 #274)
+#272 := (iff #247 #269)
+#266 := (or #219 #50)
+#270 := (iff #266 #269)
+#271 := [rewrite]: #270
+#267 := (iff #247 #266)
+#264 := (iff #240 #50)
+#265 := [rewrite]: #264
+#262 := (iff #246 #219)
+#222 := (not #219)
+#257 := (not #222)
+#260 := (iff #257 #219)
+#261 := [rewrite]: #260
+#258 := (iff #246 #257)
+#255 := (iff #49 #222)
+#256 := [rewrite]: #255
+#259 := [monotonicity #256]: #258
+#263 := [trans #259 #261]: #262
+#268 := [monotonicity #263 #265]: #267
+#273 := [trans #268 #271]: #272
+#276 := [quant-intro #273]: #275
+#253 := (iff #52 #252)
+#250 := (iff #51 #247)
+#243 := (implies #49 #240)
+#248 := (iff #243 #247)
+#249 := [rewrite]: #248
+#244 := (iff #51 #243)
+#241 := (iff #50 #240)
+#242 := [rewrite]: #241
+#245 := [monotonicity #242]: #244
+#251 := [trans #245 #249]: #250
+#254 := [quant-intro #251]: #253
+#278 := [trans #254 #276]: #277
+#239 := [asserted]: #52
+#279 := [mp #239 #278]: #274
+#336 := [mp~ #279 #317]: #274
+#913 := [mp #336 #912]: #908
+#647 := (not #908)
+#545 := (or #647 #539 #660)
+#546 := (or #647 #540)
+#548 := (iff #546 #545)
+#538 := [rewrite]: #548
+#547 := [quant-inst]: #546
+#549 := [mp #547 #538]: #545
+#948 := [unit-resolution #549 #913]: #540
+#949 := [unit-resolution #948 #947]: #660
+#952 := (or #853 #861)
+#950 := (or #877 #853 #861)
+#951 := [th-lemma]: #950
+#953 := [unit-resolution #951 #934]: #952
+#954 := [unit-resolution #953 #949]: #853
+#733 := (or #759 #871)
+#734 := [def-axiom]: #733
+#955 := [unit-resolution #734 #954]: #759
+#736 := (not #759)
+#957 := (or #736 #801)
+#92 := -1::int
+#550 := (* -1::int #54)
+#830 := (mod #550 -1::int)
+#777 := (+ #62 #830)
+#781 := (= #777 0::int)
+#756 := (ite #759 #801 #781)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#886 := (pattern #29)
+#96 := (* -1::int #9)
+#93 := (* -1::int #8)
+#151 := (mod #93 #96)
+#398 := (+ #29 #151)
+#399 := (= #398 0::int)
+#30 := (mod #8 #9)
+#395 := (* -1::int #30)
+#396 := (+ #29 #395)
+#397 := (= #396 0::int)
+#118 := (<= #9 0::int)
+#114 := (<= #8 0::int)
+#337 := (or #114 #118)
+#338 := (not #337)
+#125 := (>= #8 0::int)
+#320 := (or #118 #125)
+#321 := (not #320)
+#344 := (or #321 #338)
+#400 := (ite #344 #397 #399)
+#394 := (= #29 0::int)
+#12 := (= #8 0::int)
+#401 := (ite #12 #394 #400)
+#393 := (= #8 #29)
+#13 := (= #9 0::int)
+#402 := (ite #13 #393 #401)
+#887 := (forall (vars (?v0 int) (?v1 int)) (:pat #886) #402)
+#405 := (forall (vars (?v0 int) (?v1 int)) #402)
+#890 := (iff #405 #887)
+#888 := (iff #402 #402)
+#889 := [refl]: #888
+#891 := [quant-intro #889]: #890
+#157 := (* -1::int #151)
+#362 := (ite #344 #30 #157)
+#365 := (ite #12 0::int #362)
+#368 := (ite #13 #8 #365)
+#371 := (= #29 #368)
+#374 := (forall (vars (?v0 int) (?v1 int)) #371)
+#406 := (iff #374 #405)
+#403 := (iff #371 #402)
+#404 := [rewrite]: #403
+#407 := [quant-intro #404]: #406
+#126 := (not #125)
+#119 := (not #118)
+#129 := (and #119 #126)
+#115 := (not #114)
+#122 := (and #115 #119)
+#132 := (or #122 #129)
+#177 := (ite #132 #30 #157)
+#180 := (ite #12 0::int #177)
+#183 := (ite #13 #8 #180)
+#186 := (= #29 #183)
+#189 := (forall (vars (?v0 int) (?v1 int)) #186)
+#375 := (iff #189 #374)
+#372 := (iff #186 #371)
+#369 := (= #183 #368)
+#366 := (= #180 #365)
+#363 := (= #177 #362)
+#347 := (iff #132 #344)
+#341 := (or #338 #321)
+#345 := (iff #341 #344)
+#346 := [rewrite]: #345
+#342 := (iff #132 #341)
+#339 := (iff #129 #321)
+#340 := [rewrite]: #339
+#318 := (iff #122 #338)
+#319 := [rewrite]: #318
+#343 := [monotonicity #319 #340]: #342
+#348 := [trans #343 #346]: #347
+#364 := [monotonicity #348]: #363
+#367 := [monotonicity #364]: #366
+#370 := [monotonicity #367]: #369
+#373 := [monotonicity #370]: #372
+#376 := [quant-intro #373]: #375
+#310 := (~ #189 #189)
+#306 := (~ #186 #186)
+#326 := [refl]: #306
+#311 := [nnf-pos #326]: #310
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#192 := (iff #37 #189)
+#86 := (and #16 #18)
+#89 := (or #17 #86)
+#162 := (ite #89 #30 #157)
+#165 := (ite #12 0::int #162)
+#168 := (ite #13 #8 #165)
+#171 := (= #29 #168)
+#174 := (forall (vars (?v0 int) (?v1 int)) #171)
+#190 := (iff #174 #189)
+#187 := (iff #171 #186)
+#184 := (= #168 #183)
+#181 := (= #165 #180)
+#178 := (= #162 #177)
+#133 := (iff #89 #132)
+#130 := (iff #86 #129)
+#127 := (iff #18 #126)
+#128 := [rewrite]: #127
+#120 := (iff #16 #119)
+#121 := [rewrite]: #120
+#131 := [monotonicity #121 #128]: #130
+#123 := (iff #17 #122)
+#116 := (iff #15 #115)
+#117 := [rewrite]: #116
+#124 := [monotonicity #117 #121]: #123
+#134 := [monotonicity #124 #131]: #133
+#179 := [monotonicity #134]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#175 := (iff #37 #174)
+#172 := (iff #36 #171)
+#169 := (= #35 #168)
+#166 := (= #34 #165)
+#163 := (= #33 #162)
+#160 := (= #32 #157)
+#154 := (- #151)
+#158 := (= #154 #157)
+#159 := [rewrite]: #158
+#155 := (= #32 #154)
+#152 := (= #31 #151)
+#97 := (= #23 #96)
+#98 := [rewrite]: #97
+#94 := (= #22 #93)
+#95 := [rewrite]: #94
+#153 := [monotonicity #95 #98]: #152
+#156 := [monotonicity #153]: #155
+#161 := [trans #156 #159]: #160
+#90 := (iff #20 #89)
+#87 := (iff #19 #86)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#164 := [monotonicity #91 #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#193 := [trans #176 #191]: #192
+#150 := [asserted]: #37
+#194 := [mp #150 #193]: #189
+#327 := [mp~ #194 #311]: #189
+#377 := [mp #327 #376]: #374
+#408 := [mp #377 #407]: #405
+#892 := [mp #408 #891]: #887
+#746 := (not #887)
+#749 := (or #746 #756)
+#466 := (* -1::int 1::int)
+#717 := (mod #550 #466)
+#718 := (+ #62 #717)
+#719 := (= #718 0::int)
+#828 := (mod #54 1::int)
+#720 := (* -1::int #828)
+#813 := (+ #62 #720)
+#810 := (= #813 0::int)
+#536 := (<= 1::int 0::int)
+#873 := (or #871 #536)
+#530 := (not #873)
+#867 := (or #536 #660)
+#541 := (not #867)
+#542 := (or #541 #530)
+#814 := (ite #542 #810 #719)
+#803 := (ite #877 #801 #814)
+#795 := (= #54 #62)
+#876 := (= 1::int 0::int)
+#792 := (ite #876 #795 #803)
+#750 := (or #746 #792)
+#752 := (iff #750 #749)
+#753 := (iff #749 #749)
+#726 := [rewrite]: #753
+#744 := (iff #792 #756)
+#577 := (or #861 #853)
+#769 := (or #577 #877)
+#770 := (ite #769 #801 #781)
+#762 := (iff #770 #756)
+#760 := (iff #769 #759)
+#761 := [rewrite]: #760
+#748 := [monotonicity #761]: #762
+#757 := (iff #792 #770)
+#775 := (ite false #795 #770)
+#754 := (iff #775 #770)
+#755 := [rewrite]: #754
+#765 := (iff #792 #775)
+#773 := (iff #803 #770)
+#783 := (ite #577 #801 #781)
+#766 := (ite #877 #801 #783)
+#771 := (iff #766 #770)
+#772 := [rewrite]: #771
+#767 := (iff #803 #766)
+#763 := (iff #814 #783)
+#782 := (iff #719 #781)
+#778 := (= #718 #777)
+#786 := (= #717 #830)
+#848 := (= #466 -1::int)
+#849 := [rewrite]: #848
+#791 := [monotonicity #849]: #786
+#780 := [monotonicity #791]: #778
+#779 := [monotonicity #780]: #782
+#789 := (iff #810 #801)
+#787 := (= #813 #62)
+#799 := (+ #62 0::int)
+#784 := (= #799 #62)
+#785 := [rewrite]: #784
+#793 := (= #813 #799)
+#797 := (= #720 0::int)
+#805 := (* -1::int 0::int)
+#807 := (= #805 0::int)
+#796 := [rewrite]: #807
+#806 := (= #720 #805)
+#794 := (= #828 0::int)
+#804 := [rewrite]: #794
+#802 := [monotonicity #804]: #806
+#798 := [trans #802 #796]: #797
+#800 := [monotonicity #798]: #793
+#788 := [trans #800 #785]: #787
+#790 := [monotonicity #788]: #789
+#578 := (iff #542 #577)
+#575 := (iff #530 #853)
+#866 := (iff #873 #871)
+#864 := (or #871 false)
+#865 := (iff #864 #871)
+#863 := [rewrite]: #865
+#504 := (iff #873 #864)
+#518 := (iff #536 false)
+#519 := [rewrite]: #518
+#505 := [monotonicity #519]: #504
+#852 := [trans #505 #863]: #866
+#576 := [monotonicity #852]: #575
+#499 := (iff #541 #861)
+#860 := (iff #867 #660)
+#520 := (or false #660)
+#858 := (iff #520 #660)
+#859 := [rewrite]: #858
+#856 := (iff #867 #520)
+#857 := [monotonicity #519]: #856
+#855 := [trans #857 #859]: #860
+#862 := [monotonicity #855]: #499
+#472 := [monotonicity #862 #576]: #578
+#764 := [monotonicity #472 #790 #779]: #763
+#768 := [monotonicity #764]: #767
+#774 := [trans #768 #772]: #773
+#868 := (iff #876 false)
+#528 := [rewrite]: #868
+#776 := [monotonicity #528 #774]: #765
+#758 := [trans #776 #755]: #757
+#745 := [trans #758 #748]: #744
+#747 := [monotonicity #745]: #752
+#727 := [trans #747 #726]: #752
+#751 := [quant-inst]: #750
+#728 := [mp #751 #727]: #749
+#956 := [unit-resolution #728 #892]: #756
+#738 := (not #756)
+#743 := (or #738 #736 #801)
+#723 := [def-axiom]: #743
+#958 := [unit-resolution #723 #956]: #957
+#959 := [unit-resolution #958 #955]: #801
+#705 := (not #801)
+#960 := (or #705 #929)
+#961 := [th-lemma]: #960
+#962 := [unit-resolution #961 #959]: #929
+#671 := (* -1::int #64)
+#672 := (+ #62 #671)
+#674 := (>= #672 0::int)
+#687 := (= #62 #64)
+#683 := (>= #62 0::int)
+#963 := (or #705 #683)
+#964 := [th-lemma]: #963
+#965 := [unit-resolution #964 #959]: #683
+#684 := (not #683)
+#689 := (or #684 #687)
+#203 := (= #9 #45)
+#228 := (or #203 #222)
+#902 := (forall (vars (?v0 int)) (:pat #901) #228)
+#233 := (forall (vars (?v0 int)) #228)
+#905 := (iff #233 #902)
+#903 := (iff #228 #228)
+#904 := [refl]: #903
+#906 := [quant-intro #904]: #905
+#314 := (~ #233 #233)
+#331 := (~ #228 #228)
+#332 := [refl]: #331
+#315 := [nnf-pos #332]: #314
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#236 := (iff #48 #233)
+#210 := (not #43)
+#211 := (or #210 #203)
+#216 := (forall (vars (?v0 int)) #211)
+#234 := (iff #216 #233)
+#231 := (iff #211 #228)
+#225 := (or #222 #203)
+#229 := (iff #225 #228)
+#230 := [rewrite]: #229
+#226 := (iff #211 #225)
+#223 := (iff #210 #222)
+#220 := (iff #43 #219)
+#221 := [rewrite]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#232 := [trans #227 #230]: #231
+#235 := [quant-intro #232]: #234
+#217 := (iff #48 #216)
+#214 := (iff #47 #211)
+#207 := (implies #43 #203)
+#212 := (iff #207 #211)
+#213 := [rewrite]: #212
+#208 := (iff #47 #207)
+#205 := (iff #46 #203)
+#206 := [rewrite]: #205
+#209 := [monotonicity #206]: #208
+#215 := [trans #209 #213]: #214
+#218 := [quant-intro #215]: #217
+#237 := [trans #218 #235]: #236
+#202 := [asserted]: #48
+#238 := [mp #202 #237]: #233
+#333 := [mp~ #238 #315]: #233
+#907 := [mp #333 #906]: #902
+#692 := (not #902)
+#693 := (or #692 #684 #687)
+#688 := (or #687 #684)
+#694 := (or #692 #688)
+#667 := (iff #694 #693)
+#695 := (or #692 #689)
+#664 := (iff #695 #693)
+#666 := [rewrite]: #664
+#656 := (iff #694 #695)
+#690 := (iff #688 #689)
+#691 := [rewrite]: #690
+#657 := [monotonicity #691]: #656
+#668 := [trans #657 #666]: #667
+#679 := [quant-inst]: #694
+#670 := [mp #679 #668]: #693
+#966 := [unit-resolution #670 #907]: #689
+#967 := [unit-resolution #966 #965]: #687
+#968 := (not #687)
+#969 := (or #968 #674)
+#970 := [th-lemma]: #969
+#971 := [unit-resolution #970 #967]: #674
+#973 := (not #674)
+#972 := (not #929)
+#974 := (or #654 #972 #973)
+#975 := [th-lemma]: #974
+#976 := [unit-resolution #975 #971 #962]: #654
+#650 := (>= #64 0::int)
+#673 := (<= #672 0::int)
+#977 := (or #968 #673)
+#978 := [th-lemma]: #977
+#979 := [unit-resolution #978 #967]: #673
+#980 := (not #673)
+#981 := (or #650 #684 #980)
+#982 := [th-lemma]: #981
+#983 := [unit-resolution #982 #979 #965]: #650
+#985 := [th-lemma #983 #976]: #984
+#987 := [symm #985]: #986
+#1034 := [monotonicity #987]: #1033
+#1036 := [symm #1034]: #1035
+#1037 := (= f7 #711)
+#1031 := (= #706 #711)
+#1029 := (= #54 #286)
+#626 := (= #58 #286)
+#710 := (= #57 #283)
+#677 := (or #700 #710)
+#678 := [quant-inst]: #677
+#988 := [unit-resolution #678 #900]: #710
+#1024 := [monotonicity #988]: #626
+#1027 := (= #54 #58)
+#655 := (= #56 #58)
+#676 := (>= #56 0::int)
+#555 := (div #54 1::int)
+#556 := (* -1::int #555)
+#489 := (+ #54 #556)
+#473 := (<= #489 0::int)
+#488 := (= #489 0::int)
+#1 := true
+#83 := [true-axiom]: true
+#989 := (or false #488)
+#990 := [th-lemma]: #989
+#991 := [unit-resolution #990 #83]: #488
+#992 := (not #488)
+#993 := (or #992 #473)
+#994 := [th-lemma]: #993
+#995 := [unit-resolution #994 #991]: #473
+#553 := (+ #56 #556)
+#823 := (>= #553 0::int)
+#557 := (= #553 0::int)
+#571 := (div #550 -1::int)
+#850 := (* -1::int #571)
+#561 := (+ #56 #850)
+#564 := (= #561 0::int)
+#558 := (ite #577 #557 #564)
+#997 := (or #877 #558)
+#875 := (= #56 0::int)
+#841 := (ite #877 #875 #558)
+#10 := (f3 #8 #9)
+#879 := (pattern #10)
+#99 := (div #93 #96)
+#382 := (* -1::int #99)
+#383 := (+ #10 #382)
+#384 := (= #383 0::int)
+#21 := (div #8 #9)
+#379 := (* -1::int #21)
+#380 := (+ #10 #379)
+#381 := (= #380 0::int)
+#385 := (ite #344 #381 #384)
+#378 := (= #10 0::int)
+#14 := (or #12 #13)
+#386 := (ite #14 #378 #385)
+#880 := (forall (vars (?v0 int) (?v1 int)) (:pat #879) #386)
+#389 := (forall (vars (?v0 int) (?v1 int)) #386)
+#883 := (iff #389 #880)
+#881 := (iff #386 #386)
+#882 := [refl]: #881
+#884 := [quant-intro #882]: #883
+#349 := (ite #344 #21 #99)
+#352 := (ite #14 0::int #349)
+#355 := (= #10 #352)
+#358 := (forall (vars (?v0 int) (?v1 int)) #355)
+#390 := (iff #358 #389)
+#387 := (iff #355 #386)
+#388 := [rewrite]: #387
+#391 := [quant-intro #388]: #390
+#135 := (ite #132 #21 #99)
+#138 := (ite #14 0::int #135)
+#141 := (= #10 #138)
+#144 := (forall (vars (?v0 int) (?v1 int)) #141)
+#359 := (iff #144 #358)
+#356 := (iff #141 #355)
+#353 := (= #138 #352)
+#350 := (= #135 #349)
+#351 := [monotonicity #348]: #350
+#354 := [monotonicity #351]: #353
+#357 := [monotonicity #354]: #356
+#360 := [quant-intro #357]: #359
+#324 := (~ #144 #144)
+#322 := (~ #141 #141)
+#323 := [refl]: #322
+#325 := [nnf-pos #323]: #324
+#24 := (div #22 #23)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#147 := (iff #28 #144)
+#102 := (ite #89 #21 #99)
+#105 := (ite #14 0::int #102)
+#108 := (= #10 #105)
+#111 := (forall (vars (?v0 int) (?v1 int)) #108)
+#145 := (iff #111 #144)
+#142 := (iff #108 #141)
+#139 := (= #105 #138)
+#136 := (= #102 #135)
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [quant-intro #143]: #145
+#112 := (iff #28 #111)
+#109 := (iff #27 #108)
+#106 := (= #26 #105)
+#103 := (= #25 #102)
+#100 := (= #24 #99)
+#101 := [monotonicity #95 #98]: #100
+#104 := [monotonicity #91 #101]: #103
+#107 := [monotonicity #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [quant-intro #110]: #112
+#148 := [trans #113 #146]: #147
+#85 := [asserted]: #28
+#149 := [mp #85 #148]: #144
+#309 := [mp~ #149 #325]: #144
+#361 := [mp #309 #360]: #358
+#392 := [mp #361 #391]: #389
+#885 := [mp #392 #884]: #880
+#835 := (not #880)
+#836 := (or #835 #841)
+#551 := (div #550 #466)
+#552 := (* -1::int #551)
+#543 := (+ #56 #552)
+#554 := (= #543 0::int)
+#874 := (ite #542 #557 #554)
+#872 := (or #877 #876)
+#878 := (ite #872 #875 #874)
+#831 := (or #835 #878)
+#837 := (iff #831 #836)
+#833 := (iff #836 #836)
+#839 := [rewrite]: #833
+#845 := (iff #878 #841)
+#840 := (iff #874 #558)
+#842 := (iff #554 #564)
+#562 := (= #543 #561)
+#847 := (= #552 #850)
+#572 := (= #551 #571)
+#846 := [monotonicity #849]: #572
+#851 := [monotonicity #846]: #847
+#563 := [monotonicity #851]: #562
+#843 := [monotonicity #563]: #842
+#844 := [monotonicity #472 #843]: #840
+#854 := (iff #872 #877)
+#533 := (or #877 false)
+#870 := (iff #533 #877)
+#513 := [rewrite]: #870
+#869 := (iff #872 #533)
+#529 := [monotonicity #528]: #869
+#517 := [trans #529 #513]: #854
+#834 := [monotonicity #517 #844]: #845
+#838 := [monotonicity #834]: #837
+#680 := [trans #838 #839]: #837
+#832 := [quant-inst]: #831
+#681 := [mp #832 #680]: #836
+#996 := [unit-resolution #681 #885]: #841
+#811 := (not #841)
+#812 := (or #811 #877 #558)
+#697 := [def-axiom]: #812
+#998 := [unit-resolution #697 #996]: #997
+#999 := [unit-resolution #998 #934]: #558
+#825 := (or #577 #871)
+#826 := [def-axiom]: #825
+#1000 := [unit-resolution #826 #954]: #577
+#827 := (not #577)
+#662 := (not #558)
+#815 := (or #662 #827 #557)
+#816 := [def-axiom]: #815
+#1001 := [unit-resolution #816 #1000 #999]: #557
+#817 := (not #557)
+#1002 := (or #817 #823)
+#1003 := [th-lemma]: #1002
+#1004 := [unit-resolution #1003 #1001]: #823
+#1006 := (not #473)
+#1005 := (not #823)
+#1007 := (or #676 #1005 #861 #1006)
+#1008 := [th-lemma]: #1007
+#1009 := [unit-resolution #1008 #1004 #949 #995]: #676
+#646 := (not #676)
+#634 := (or #655 #646)
+#643 := (or #692 #655 #646)
+#644 := (or #692 #634)
+#645 := (iff #644 #643)
+#633 := [rewrite]: #645
+#642 := [quant-inst]: #644
+#636 := [mp #642 #633]: #643
+#1010 := [unit-resolution #636 #907]: #634
+#1011 := [unit-resolution #1010 #1009]: #655
+#1025 := (= #54 #56)
+#1022 := (= #555 #56)
+#1015 := (= #56 #555)
+#829 := (<= #553 0::int)
+#1012 := (or #817 #829)
+#1013 := [th-lemma]: #1012
+#1014 := [unit-resolution #1013 #1001]: #829
+#1016 := [th-lemma #1004 #1014]: #1015
+#1023 := [symm #1016]: #1022
+#1020 := (= #54 #555)
+#474 := (>= #489 0::int)
+#1017 := (or #992 #474)
+#1018 := [th-lemma]: #1017
+#1019 := [unit-resolution #1018 #991]: #474
+#1021 := [th-lemma #1019 #995]: #1020
+#1026 := [trans #1021 #1023]: #1025
+#1028 := [trans #1026 #1011]: #1027
+#1030 := [trans #1028 #1024]: #1029
+#1032 := [monotonicity #1030]: #1031
+#1038 := [trans #935 #1032]: #1037
+#1039 := [trans #1038 #1036]: #300
+#303 := (not #300)
+#59 := (* #58 1::int)
+#60 := (f5 #59)
+#61 := (f6 #60)
+#65 := (+ #61 #64)
+#66 := (f5 #65)
+#67 := (= f7 #66)
+#68 := (not #67)
+#304 := (iff #68 #303)
+#301 := (iff #67 #300)
+#298 := (= #66 #297)
+#295 := (= #65 #292)
+#289 := (+ #286 #64)
+#293 := (= #289 #292)
+#294 := [rewrite]: #293
+#290 := (= #65 #289)
+#287 := (= #61 #286)
+#284 := (= #60 #283)
+#281 := (= #59 #58)
+#282 := [rewrite]: #281
+#285 := [monotonicity #282]: #284
+#288 := [monotonicity #285]: #287
+#291 := [monotonicity #288]: #290
+#296 := [trans #291 #294]: #295
+#299 := [monotonicity #296]: #298
+#302 := [monotonicity #299]: #301
+#305 := [monotonicity #302]: #304
+#280 := [asserted]: #68
+#308 := [mp #280 #305]: #303
+#1040 := [unit-resolution #308 #1039]: false
+#1041 := [lemma #1040]: #877
+#1075 := [symm #1041]: #1074
+#1095 := (= #292 0::int)
+#607 := (<= #286 0::int)
+#631 := (= #286 0::int)
+#1062 := (= #286 #54)
+#1060 := (= #283 f7)
+#1058 := (= #283 #706)
+#1056 := (= #57 #706)
+#1052 := (= #706 #57)
+#1049 := (= 0::int #56)
+#1046 := (or #713 #875)
+#808 := (or #811 #713 #875)
+#809 := [def-axiom]: #808
+#1047 := [unit-resolution #809 #996]: #1046
+#1048 := [unit-resolution #1047 #1041]: #875
+#1050 := [symm #1048]: #1049
+#1051 := [trans #1041 #1050]: #1025
+#1053 := [monotonicity #1051]: #1052
+#1057 := [symm #1053]: #1056
+#1054 := (= #283 #57)
+#1055 := [symm #988]: #1054
+#1059 := [trans #1055 #1057]: #1058
+#1061 := [trans #1059 #937]: #1060
+#1063 := [monotonicity #1061]: #1062
+#1064 := [trans #1063 #1041]: #631
+#1065 := (not #631)
+#1066 := (or #1065 #607)
+#1067 := [th-lemma]: #1066
+#1068 := [unit-resolution #1067 #1064]: #607
+#608 := (>= #286 0::int)
+#1069 := (or #1065 #608)
+#1070 := [th-lemma]: #1069
+#1071 := [unit-resolution #1070 #1064]: #608
+#675 := (= #64 0::int)
+#1085 := (= #64 #54)
+#1042 := (= #64 #286)
+#1082 := (= #63 #283)
+#1080 := (= #63 #57)
+#1078 := (= #63 #706)
+#1076 := (= #62 #54)
+#739 := (or #759 #713)
+#735 := [def-axiom]: #739
+#1072 := [unit-resolution #735 #1041]: #759
+#1073 := [unit-resolution #958 #1072]: #801
+#1077 := [trans #1073 #1075]: #1076
+#1079 := [monotonicity #1077]: #1078
+#1081 := [trans #1079 #1053]: #1080
+#1083 := [trans #1081 #988]: #1082
+#1084 := [monotonicity #1083]: #1042
+#1086 := [trans #1084 #1063]: #1085
+#1087 := [trans #1086 #1041]: #675
+#1088 := (not #675)
+#1089 := (or #1088 #654)
+#1090 := [th-lemma]: #1089
+#1091 := [unit-resolution #1090 #1087]: #654
+#1092 := (or #1088 #650)
+#1093 := [th-lemma]: #1092
+#1094 := [unit-resolution #1093 #1087]: #650
+#1096 := [th-lemma #1094 #1091 #1071 #1068]: #1095
+#1098 := [trans #1096 #1075]: #1097
+#1100 := [monotonicity #1098]: #1099
+#1102 := [symm #1100]: #1101
+#1103 := [trans #935 #1102]: #300
+[unit-resolution #308 #1103]: false
+unsat
+c6db48e3ca2ab6d6ca0cc08571bd32ed207dc08a 533 0
+#2 := false
+#55 := 3::int
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#533 := (mod #54 3::int)
+#664 := (>= #533 3::int)
+#665 := (not #664)
+#1 := true
+#75 := [true-axiom]: true
+#674 := (or false #665)
+#635 := [th-lemma]: #674
+#636 := [unit-resolution #635 #75]: #665
+#11 := 0::int
+decl f5 :: (-> int S2)
+decl f4 :: (-> int int int)
+#56 := (f4 #54 3::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#84 := -1::int
+#779 := (* -1::int #58)
+#763 := (+ #56 #779)
+#766 := (>= #763 0::int)
+#773 := (= #56 #58)
+#780 := (>= #56 0::int)
+#784 := (= #58 0::int)
+#649 := (not #784)
+#746 := (<= #58 0::int)
+#643 := (not #746)
+#276 := (>= #58 3::int)
+#59 := (< #58 3::int)
+#60 := (not #59)
+#284 := (iff #60 #276)
+#275 := (not #276)
+#279 := (not #275)
+#282 := (iff #279 #276)
+#283 := [rewrite]: #282
+#280 := (iff #60 #279)
+#277 := (iff #59 #275)
+#278 := [rewrite]: #277
+#281 := [monotonicity #278]: #280
+#285 := [trans #281 #283]: #284
+#272 := [asserted]: #60
+#286 := [mp #272 #285]: #276
+#645 := (or #643 #275)
+#646 := [th-lemma]: #645
+#647 := [unit-resolution #646 #286]: #643
+#650 := (or #649 #746)
+#651 := [th-lemma]: #650
+#652 := [unit-resolution #651 #647]: #649
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#880 := (pattern #44)
+#211 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#261 := (or #50 #211)
+#887 := (forall (vars (?v0 int)) (:pat #880) #261)
+#266 := (forall (vars (?v0 int)) #261)
+#890 := (iff #266 #887)
+#888 := (iff #261 #261)
+#889 := [refl]: #888
+#891 := [quant-intro #889]: #890
+#294 := (~ #266 #266)
+#312 := (~ #261 #261)
+#313 := [refl]: #312
+#295 := [nnf-pos #313]: #294
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#269 := (iff #52 #266)
+#232 := (= 0::int #45)
+#238 := (not #49)
+#239 := (or #238 #232)
+#244 := (forall (vars (?v0 int)) #239)
+#267 := (iff #244 #266)
+#264 := (iff #239 #261)
+#258 := (or #211 #50)
+#262 := (iff #258 #261)
+#263 := [rewrite]: #262
+#259 := (iff #239 #258)
+#256 := (iff #232 #50)
+#257 := [rewrite]: #256
+#254 := (iff #238 #211)
+#214 := (not #211)
+#249 := (not #214)
+#252 := (iff #249 #211)
+#253 := [rewrite]: #252
+#250 := (iff #238 #249)
+#247 := (iff #49 #214)
+#248 := [rewrite]: #247
+#251 := [monotonicity #248]: #250
+#255 := [trans #251 #253]: #254
+#260 := [monotonicity #255 #257]: #259
+#265 := [trans #260 #263]: #264
+#268 := [quant-intro #265]: #267
+#245 := (iff #52 #244)
+#242 := (iff #51 #239)
+#235 := (implies #49 #232)
+#240 := (iff #235 #239)
+#241 := [rewrite]: #240
+#236 := (iff #51 #235)
+#233 := (iff #50 #232)
+#234 := [rewrite]: #233
+#237 := [monotonicity #234]: #236
+#243 := [trans #237 #241]: #242
+#246 := [quant-intro #243]: #245
+#270 := [trans #246 #268]: #269
+#231 := [asserted]: #52
+#271 := [mp #231 #270]: #266
+#314 := [mp~ #271 #295]: #266
+#892 := [mp #314 #891]: #887
+#765 := (not #887)
+#770 := (or #765 #780 #784)
+#785 := (or #784 #780)
+#756 := (or #765 #785)
+#742 := (iff #756 #770)
+#767 := (or #780 #784)
+#759 := (or #765 #767)
+#758 := (iff #759 #770)
+#762 := [rewrite]: #758
+#760 := (iff #756 #759)
+#768 := (iff #785 #767)
+#769 := [rewrite]: #768
+#761 := [monotonicity #769]: #760
+#743 := [trans #761 #762]: #742
+#757 := [quant-inst]: #756
+#745 := [mp #757 #743]: #770
+#653 := [unit-resolution #745 #892 #652]: #780
+#782 := (not #780)
+#783 := (or #773 #782)
+#195 := (= #9 #45)
+#220 := (or #195 #214)
+#881 := (forall (vars (?v0 int)) (:pat #880) #220)
+#225 := (forall (vars (?v0 int)) #220)
+#884 := (iff #225 #881)
+#882 := (iff #220 #220)
+#883 := [refl]: #882
+#885 := [quant-intro #883]: #884
+#292 := (~ #225 #225)
+#309 := (~ #220 #220)
+#310 := [refl]: #309
+#293 := [nnf-pos #310]: #292
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#228 := (iff #48 #225)
+#202 := (not #43)
+#203 := (or #202 #195)
+#208 := (forall (vars (?v0 int)) #203)
+#226 := (iff #208 #225)
+#223 := (iff #203 #220)
+#217 := (or #214 #195)
+#221 := (iff #217 #220)
+#222 := [rewrite]: #221
+#218 := (iff #203 #217)
+#215 := (iff #202 #214)
+#212 := (iff #43 #211)
+#213 := [rewrite]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#224 := [trans #219 #222]: #223
+#227 := [quant-intro #224]: #226
+#209 := (iff #48 #208)
+#206 := (iff #47 #203)
+#199 := (implies #43 #195)
+#204 := (iff #199 #203)
+#205 := [rewrite]: #204
+#200 := (iff #47 #199)
+#197 := (iff #46 #195)
+#198 := [rewrite]: #197
+#201 := [monotonicity #198]: #200
+#207 := [trans #201 #205]: #206
+#210 := [quant-intro #207]: #209
+#229 := [trans #210 #227]: #228
+#194 := [asserted]: #48
+#230 := [mp #194 #229]: #225
+#311 := [mp~ #230 #293]: #225
+#886 := [mp #311 #885]: #881
+#781 := (not #881)
+#786 := (or #781 #773 #782)
+#775 := (or #781 #783)
+#777 := (iff #775 #786)
+#778 := [rewrite]: #777
+#776 := [quant-inst]: #775
+#772 := [mp #776 #778]: #786
+#654 := [unit-resolution #772 #886]: #783
+#637 := [unit-resolution #654 #653]: #773
+#655 := (not #773)
+#625 := (or #655 #766)
+#626 := [th-lemma]: #625
+#627 := [unit-resolution #626 #637]: #766
+#534 := (* -1::int #533)
+#462 := (+ #56 #534)
+#802 := (<= #462 0::int)
+#535 := (= #462 0::int)
+#556 := -3::int
+#529 := (* -1::int #54)
+#827 := (mod #529 -3::int)
+#551 := (+ #56 #827)
+#826 := (= #551 0::int)
+#852 := (>= #54 0::int)
+#498 := (not #852)
+#536 := (<= #54 0::int)
+#841 := (not #536)
+#845 := (or #841 #498)
+#541 := (ite #845 #535 #826)
+#521 := (= #56 0::int)
+#853 := (= #54 0::int)
+#821 := (ite #853 #521 #541)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#865 := (pattern #29)
+#88 := (* -1::int #9)
+#85 := (* -1::int #8)
+#143 := (mod #85 #88)
+#376 := (+ #29 #143)
+#377 := (= #376 0::int)
+#30 := (mod #8 #9)
+#373 := (* -1::int #30)
+#374 := (+ #29 #373)
+#375 := (= #374 0::int)
+#110 := (<= #9 0::int)
+#106 := (<= #8 0::int)
+#315 := (or #106 #110)
+#316 := (not #315)
+#117 := (>= #8 0::int)
+#298 := (or #110 #117)
+#299 := (not #298)
+#322 := (or #299 #316)
+#378 := (ite #322 #375 #377)
+#372 := (= #29 0::int)
+#12 := (= #8 0::int)
+#379 := (ite #12 #372 #378)
+#371 := (= #8 #29)
+#13 := (= #9 0::int)
+#380 := (ite #13 #371 #379)
+#866 := (forall (vars (?v0 int) (?v1 int)) (:pat #865) #380)
+#383 := (forall (vars (?v0 int) (?v1 int)) #380)
+#869 := (iff #383 #866)
+#867 := (iff #380 #380)
+#868 := [refl]: #867
+#870 := [quant-intro #868]: #869
+#149 := (* -1::int #143)
+#340 := (ite #322 #30 #149)
+#343 := (ite #12 0::int #340)
+#346 := (ite #13 #8 #343)
+#349 := (= #29 #346)
+#352 := (forall (vars (?v0 int) (?v1 int)) #349)
+#384 := (iff #352 #383)
+#381 := (iff #349 #380)
+#382 := [rewrite]: #381
+#385 := [quant-intro #382]: #384
+#118 := (not #117)
+#111 := (not #110)
+#121 := (and #111 #118)
+#107 := (not #106)
+#114 := (and #107 #111)
+#124 := (or #114 #121)
+#169 := (ite #124 #30 #149)
+#172 := (ite #12 0::int #169)
+#175 := (ite #13 #8 #172)
+#178 := (= #29 #175)
+#181 := (forall (vars (?v0 int) (?v1 int)) #178)
+#353 := (iff #181 #352)
+#350 := (iff #178 #349)
+#347 := (= #175 #346)
+#344 := (= #172 #343)
+#341 := (= #169 #340)
+#325 := (iff #124 #322)
+#319 := (or #316 #299)
+#323 := (iff #319 #322)
+#324 := [rewrite]: #323
+#320 := (iff #124 #319)
+#317 := (iff #121 #299)
+#318 := [rewrite]: #317
+#296 := (iff #114 #316)
+#297 := [rewrite]: #296
+#321 := [monotonicity #297 #318]: #320
+#326 := [trans #321 #324]: #325
+#342 := [monotonicity #326]: #341
+#345 := [monotonicity #342]: #344
+#348 := [monotonicity #345]: #347
+#351 := [monotonicity #348]: #350
+#354 := [quant-intro #351]: #353
+#288 := (~ #181 #181)
+#273 := (~ #178 #178)
+#304 := [refl]: #273
+#289 := [nnf-pos #304]: #288
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#184 := (iff #37 #181)
+#78 := (and #16 #18)
+#81 := (or #17 #78)
+#154 := (ite #81 #30 #149)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #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 #81 #124)
+#122 := (iff #78 #121)
+#119 := (iff #18 #118)
+#120 := [rewrite]: #119
+#112 := (iff #16 #111)
+#113 := [rewrite]: #112
+#123 := [monotonicity #113 #120]: #122
+#115 := (iff #17 #114)
+#108 := (iff #15 #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 #37 #166)
+#164 := (iff #36 #163)
+#161 := (= #35 #160)
+#158 := (= #34 #157)
+#155 := (= #33 #154)
+#152 := (= #32 #149)
+#146 := (- #143)
+#150 := (= #146 #149)
+#151 := [rewrite]: #150
+#147 := (= #32 #146)
+#144 := (= #31 #143)
+#89 := (= #23 #88)
+#90 := [rewrite]: #89
+#86 := (= #22 #85)
+#87 := [rewrite]: #86
+#145 := [monotonicity #87 #90]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#82 := (iff #20 #81)
+#79 := (iff #19 #78)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#156 := [monotonicity #83 #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]: #37
+#186 := [mp #142 #185]: #181
+#305 := [mp~ #186 #289]: #181
+#355 := [mp #305 #354]: #352
+#386 := [mp #355 #385]: #383
+#871 := [mp #386 #870]: #866
+#810 := (not #866)
+#811 := (or #810 #821)
+#444 := (* -1::int 3::int)
+#530 := (mod #529 #444)
+#531 := (+ #56 #530)
+#522 := (= #531 0::int)
+#532 := (<= 3::int 0::int)
+#515 := (or #536 #532)
+#850 := (not #515)
+#509 := (or #532 #852)
+#639 := (not #509)
+#846 := (or #639 #850)
+#520 := (ite #846 #535 #522)
+#854 := (ite #853 #521 #520)
+#855 := (= #54 #56)
+#856 := (= 3::int 0::int)
+#851 := (ite #856 #855 #854)
+#816 := (or #810 #851)
+#812 := (iff #816 #811)
+#659 := (iff #811 #811)
+#660 := [rewrite]: #659
+#814 := (iff #851 #821)
+#819 := (ite false #855 #821)
+#824 := (iff #819 #821)
+#813 := [rewrite]: #824
+#823 := (iff #851 #819)
+#822 := (iff #854 #821)
+#542 := (iff #520 #541)
+#830 := (iff #522 #826)
+#825 := (= #531 #551)
+#828 := (= #530 #827)
+#557 := (= #444 -3::int)
+#450 := [rewrite]: #557
+#550 := [monotonicity #450]: #828
+#829 := [monotonicity #550]: #825
+#540 := [monotonicity #829]: #830
+#554 := (iff #846 #845)
+#484 := (or #498 #841)
+#831 := (iff #484 #845)
+#832 := [rewrite]: #831
+#844 := (iff #846 #484)
+#843 := (iff #850 #841)
+#840 := (iff #515 #536)
+#836 := (or #536 false)
+#839 := (iff #836 #536)
+#834 := [rewrite]: #839
+#837 := (iff #515 #836)
+#507 := (iff #532 false)
+#512 := [rewrite]: #507
+#838 := [monotonicity #512]: #837
+#478 := [trans #838 #834]: #840
+#483 := [monotonicity #478]: #843
+#499 := (iff #639 #498)
+#496 := (iff #509 #852)
+#848 := (or false #852)
+#492 := (iff #848 #852)
+#833 := [rewrite]: #492
+#508 := (iff #509 #848)
+#849 := [monotonicity #512]: #508
+#497 := [trans #849 #833]: #496
+#835 := [monotonicity #497]: #499
+#842 := [monotonicity #835 #483]: #844
+#555 := [trans #842 #832]: #554
+#543 := [monotonicity #555 #540]: #542
+#537 := [monotonicity #543]: #822
+#857 := (iff #856 false)
+#847 := [rewrite]: #857
+#820 := [monotonicity #847 #537]: #823
+#815 := [trans #820 #813]: #814
+#818 := [monotonicity #815]: #812
+#661 := [trans #818 #660]: #812
+#817 := [quant-inst]: #816
+#803 := [mp #817 #661]: #811
+#628 := [unit-resolution #803 #871]: #821
+#692 := (not #853)
+#691 := (not #521)
+#633 := (iff #649 #691)
+#632 := (iff #784 #521)
+#630 := (iff #521 #784)
+#631 := [monotonicity #637]: #630
+#475 := [symm #631]: #632
+#629 := [monotonicity #475]: #633
+#634 := [mp #652 #629]: #691
+#790 := (not #821)
+#787 := (or #790 #692 #521)
+#788 := [def-axiom]: #787
+#613 := [unit-resolution #788 #634 #628]: #692
+#791 := (or #790 #853 #541)
+#676 := [def-axiom]: #791
+#616 := [unit-resolution #676 #613 #628]: #541
+#696 := (f5 #54)
+#748 := (f6 #696)
+#749 := (= #748 0::int)
+#614 := (not #749)
+#619 := (iff #692 #614)
+#617 := (iff #853 #749)
+#612 := (iff #749 #853)
+#621 := (= #748 #54)
+#622 := (= #696 f7)
+#697 := (= f7 #696)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#872 := (pattern #39)
+#40 := (f5 #39)
+#188 := (= #38 #40)
+#873 := (forall (vars (?v0 S2)) (:pat #872) #188)
+#191 := (forall (vars (?v0 S2)) #188)
+#874 := (iff #191 #873)
+#876 := (iff #873 #873)
+#877 := [rewrite]: #876
+#875 := [rewrite]: #874
+#878 := [trans #875 #877]: #874
+#290 := (~ #191 #191)
+#306 := (~ #188 #188)
+#307 := [refl]: #306
+#291 := [nnf-pos #307]: #290
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#192 := (iff #42 #191)
+#189 := (iff #41 #188)
+#190 := [rewrite]: #189
+#193 := [quant-intro #190]: #192
+#187 := [asserted]: #42
+#196 := [mp #187 #193]: #191
+#308 := [mp~ #196 #291]: #191
+#879 := [mp #308 #878]: #873
+#792 := (not #873)
+#789 := (or #792 #697)
+#793 := [quant-inst]: #789
+#620 := [unit-resolution #793 #879]: #697
+#623 := [symm #620]: #622
+#624 := [monotonicity #623]: #621
+#615 := [monotonicity #624]: #612
+#618 := [symm #615]: #617
+#609 := [monotonicity #618]: #619
+#599 := [mp #613 #609]: #614
+#750 := (or #749 #852)
+#753 := (or #765 #749 #852)
+#754 := (or #765 #750)
+#755 := (iff #754 #753)
+#733 := [rewrite]: #755
+#744 := [quant-inst]: #754
+#734 := [mp #744 #733]: #753
+#601 := [unit-resolution #734 #892]: #750
+#602 := [unit-resolution #601 #599]: #852
+#605 := (or #853 #841 #498)
+#606 := [th-lemma]: #605
+#610 := [unit-resolution #606 #613]: #845
+#603 := [unit-resolution #610 #602]: #841
+#804 := (or #845 #536)
+#805 := [def-axiom]: #804
+#611 := [unit-resolution #805 #603]: #845
+#801 := (not #845)
+#641 := (not #541)
+#794 := (or #641 #801 #535)
+#795 := [def-axiom]: #794
+#604 := [unit-resolution #795 #611 #616]: #535
+#796 := (not #535)
+#607 := (or #796 #802)
+#608 := [th-lemma]: #607
+#594 := [unit-resolution #608 #604]: #802
+[th-lemma #594 #286 #627 #636]: false
+unsat
+8342168df0506311d150a31ce587a3d2d101af50 961 0
+#2 := false
+decl f5 :: (-> int S2)
+decl f6 :: (-> S2 int)
+decl f3 :: (-> int int int)
+#55 := 3::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f3 #54 3::int)
+#57 := (f5 #56)
+#58 := (f6 #57)
+#281 := (* 3::int #58)
+#284 := (f5 #281)
+#287 := (f6 #284)
+decl f4 :: (-> int int int)
+#62 := (f4 #54 3::int)
+#63 := (f5 #62)
+#64 := (f6 #63)
+#293 := (+ #64 #287)
+#298 := (f5 #293)
+#301 := (= f7 #298)
+#749 := (f5 #64)
+#1217 := (= #749 #298)
+#1209 := (= #298 #749)
+#1203 := (= #293 #64)
+#1201 := (= #64 #293)
+#11 := 0::int
+#92 := -1::int
+#644 := (* -1::int #287)
+#647 := (+ #281 #644)
+#621 := (<= #647 0::int)
+#635 := (= #647 0::int)
+#643 := (>= #58 0::int)
+#623 := (f5 #58)
+#504 := (f6 #623)
+#505 := (= #504 0::int)
+#945 := (not #505)
+#650 := (= #58 0::int)
+#977 := (not #650)
+#1002 := (iff #977 #945)
+#992 := (iff #650 #505)
+#984 := (iff #505 #650)
+#989 := (= #504 #58)
+#982 := (= #623 #57)
+#734 := (= #57 #623)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#895 := (pattern #39)
+#40 := (f5 #39)
+#196 := (= #38 #40)
+#896 := (forall (vars (?v0 S2)) (:pat #895) #196)
+#199 := (forall (vars (?v0 S2)) #196)
+#897 := (iff #199 #896)
+#899 := (iff #896 #896)
+#900 := [rewrite]: #899
+#898 := [rewrite]: #897
+#901 := [trans #898 #900]: #897
+#313 := (~ #199 #199)
+#329 := (~ #196 #196)
+#330 := [refl]: #329
+#314 := [nnf-pos #330]: #313
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#200 := (iff #42 #199)
+#197 := (iff #41 #196)
+#198 := [rewrite]: #197
+#201 := [quant-intro #198]: #200
+#195 := [asserted]: #42
+#204 := [mp #195 #201]: #199
+#331 := [mp~ #204 #314]: #199
+#902 := [mp #331 #901]: #896
+#728 := (not #896)
+#738 := (or #728 #734)
+#739 := [quant-inst]: #738
+#985 := [unit-resolution #739 #902]: #734
+#988 := [symm #985]: #982
+#990 := [monotonicity #988]: #989
+#991 := [monotonicity #990]: #984
+#944 := [symm #991]: #992
+#946 := [monotonicity #944]: #1002
+#642 := (not #643)
+#953 := [hypothesis]: #642
+#983 := (or #977 #643)
+#986 := [th-lemma]: #983
+#987 := [unit-resolution #986 #953]: #977
+#1003 := [mp #987 #946]: #945
+#494 := (or #505 #643)
+#9 := (:var 0 int)
+#44 := (f5 #9)
+#903 := (pattern #44)
+#219 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#269 := (or #50 #219)
+#910 := (forall (vars (?v0 int)) (:pat #903) #269)
+#274 := (forall (vars (?v0 int)) #269)
+#913 := (iff #274 #910)
+#911 := (iff #269 #269)
+#912 := [refl]: #911
+#914 := [quant-intro #912]: #913
+#317 := (~ #274 #274)
+#335 := (~ #269 #269)
+#336 := [refl]: #335
+#318 := [nnf-pos #336]: #317
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#277 := (iff #52 #274)
+#240 := (= 0::int #45)
+#246 := (not #49)
+#247 := (or #246 #240)
+#252 := (forall (vars (?v0 int)) #247)
+#275 := (iff #252 #274)
+#272 := (iff #247 #269)
+#266 := (or #219 #50)
+#270 := (iff #266 #269)
+#271 := [rewrite]: #270
+#267 := (iff #247 #266)
+#264 := (iff #240 #50)
+#265 := [rewrite]: #264
+#262 := (iff #246 #219)
+#222 := (not #219)
+#257 := (not #222)
+#260 := (iff #257 #219)
+#261 := [rewrite]: #260
+#258 := (iff #246 #257)
+#255 := (iff #49 #222)
+#256 := [rewrite]: #255
+#259 := [monotonicity #256]: #258
+#263 := [trans #259 #261]: #262
+#268 := [monotonicity #263 #265]: #267
+#273 := [trans #268 #271]: #272
+#276 := [quant-intro #273]: #275
+#253 := (iff #52 #252)
+#250 := (iff #51 #247)
+#243 := (implies #49 #240)
+#248 := (iff #243 #247)
+#249 := [rewrite]: #248
+#244 := (iff #51 #243)
+#241 := (iff #50 #240)
+#242 := [rewrite]: #241
+#245 := [monotonicity #242]: #244
+#251 := [trans #245 #249]: #250
+#254 := [quant-intro #251]: #253
+#278 := [trans #254 #276]: #277
+#239 := [asserted]: #52
+#279 := [mp #239 #278]: #274
+#337 := [mp~ #279 #318]: #274
+#915 := [mp #337 #914]: #910
+#686 := (not #910)
+#499 := (or #686 #505 #643)
+#495 := (or #686 #494)
+#482 := (iff #495 #499)
+#486 := [rewrite]: #482
+#500 := [quant-inst]: #495
+#487 := [mp #500 #486]: #499
+#954 := [unit-resolution #487 #915]: #494
+#976 := [unit-resolution #954 #953]: #505
+#1021 := [unit-resolution #976 #1003]: false
+#1022 := [lemma #1021]: #643
+#624 := (or #635 #642)
+#203 := (= #9 #45)
+#228 := (or #203 #222)
+#904 := (forall (vars (?v0 int)) (:pat #903) #228)
+#233 := (forall (vars (?v0 int)) #228)
+#907 := (iff #233 #904)
+#905 := (iff #228 #228)
+#906 := [refl]: #905
+#908 := [quant-intro #906]: #907
+#315 := (~ #233 #233)
+#332 := (~ #228 #228)
+#333 := [refl]: #332
+#316 := [nnf-pos #333]: #315
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#236 := (iff #48 #233)
+#210 := (not #43)
+#211 := (or #210 #203)
+#216 := (forall (vars (?v0 int)) #211)
+#234 := (iff #216 #233)
+#231 := (iff #211 #228)
+#225 := (or #222 #203)
+#229 := (iff #225 #228)
+#230 := [rewrite]: #229
+#226 := (iff #211 #225)
+#223 := (iff #210 #222)
+#220 := (iff #43 #219)
+#221 := [rewrite]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#232 := [trans #227 #230]: #231
+#235 := [quant-intro #232]: #234
+#217 := (iff #48 #216)
+#214 := (iff #47 #211)
+#207 := (implies #43 #203)
+#212 := (iff #207 #211)
+#213 := [rewrite]: #212
+#208 := (iff #47 #207)
+#205 := (iff #46 #203)
+#206 := [rewrite]: #205
+#209 := [monotonicity #206]: #208
+#215 := [trans #209 #213]: #214
+#218 := [quant-intro #215]: #217
+#237 := [trans #218 #235]: #236
+#202 := [asserted]: #48
+#238 := [mp #202 #237]: #233
+#334 := [mp~ #238 #316]: #233
+#909 := [mp #334 #908]: #904
+#731 := (not #904)
+#629 := (or #731 #635 #642)
+#653 := (>= #281 0::int)
+#654 := (not #653)
+#645 := (= #281 #287)
+#646 := (or #645 #654)
+#633 := (or #731 #646)
+#619 := (iff #633 #629)
+#634 := (or #731 #624)
+#631 := (iff #634 #629)
+#617 := [rewrite]: #631
+#627 := (iff #633 #634)
+#625 := (iff #646 #624)
+#632 := (iff #654 #642)
+#641 := (iff #653 #643)
+#637 := [rewrite]: #641
+#622 := [monotonicity #637]: #632
+#638 := (iff #645 #635)
+#640 := [rewrite]: #638
+#628 := [monotonicity #640 #622]: #625
+#630 := [monotonicity #628]: #627
+#620 := [trans #630 #617]: #619
+#626 := [quant-inst]: #633
+#618 := [mp #626 #620]: #629
+#1080 := [unit-resolution #618 #909]: #624
+#1081 := [unit-resolution #1080 #1022]: #635
+#1082 := (not #635)
+#1083 := (or #1082 #621)
+#1084 := [th-lemma]: #1083
+#1085 := [unit-resolution #1084 #1081]: #621
+#603 := (>= #647 0::int)
+#1125 := (or #1082 #603)
+#1126 := [th-lemma]: #1125
+#1127 := [unit-resolution #1126 #1081]: #603
+#639 := (<= #58 0::int)
+#1004 := (= #54 #293)
+#1019 := (not #1004)
+#753 := (f5 #54)
+#1015 := (= #753 #298)
+#1013 := (= #298 #753)
+#1010 := (= #293 #54)
+#1009 := [hypothesis]: #1004
+#1011 := [symm #1009]: #1010
+#1014 := [monotonicity #1011]: #1013
+#1016 := [symm #1014]: #1015
+#754 := (= f7 #753)
+#729 := (or #728 #754)
+#730 := [quant-inst]: #729
+#1012 := [unit-resolution #730 #902]: #754
+#1017 := [trans #1012 #1016]: #301
+#304 := (not #301)
+#59 := (* #58 3::int)
+#60 := (f5 #59)
+#61 := (f6 #60)
+#65 := (+ #61 #64)
+#66 := (f5 #65)
+#67 := (= f7 #66)
+#68 := (not #67)
+#305 := (iff #68 #304)
+#302 := (iff #67 #301)
+#299 := (= #66 #298)
+#296 := (= #65 #293)
+#290 := (+ #287 #64)
+#294 := (= #290 #293)
+#295 := [rewrite]: #294
+#291 := (= #65 #290)
+#288 := (= #61 #287)
+#285 := (= #60 #284)
+#282 := (= #59 #281)
+#283 := [rewrite]: #282
+#286 := [monotonicity #283]: #285
+#289 := [monotonicity #286]: #288
+#292 := [monotonicity #289]: #291
+#297 := [trans #292 #295]: #296
+#300 := [monotonicity #297]: #299
+#303 := [monotonicity #300]: #302
+#306 := [monotonicity #303]: #305
+#280 := [asserted]: #68
+#309 := [mp #280 #306]: #304
+#1018 := [unit-resolution #309 #1017]: false
+#1020 := [lemma #1018]: #1019
+#1005 := (* -1::int #293)
+#1006 := (+ #54 #1005)
+#1007 := (<= #1006 0::int)
+#830 := (mod #54 3::int)
+#722 := (* -1::int #830)
+#815 := (+ #62 #722)
+#771 := (>= #815 0::int)
+#812 := (= #815 0::int)
+#473 := -3::int
+#552 := (* -1::int #54)
+#832 := (mod #552 -3::int)
+#807 := (+ #62 #832)
+#809 := (= #807 0::int)
+#538 := (<= #54 0::int)
+#854 := (not #538)
+#532 := (>= #54 0::int)
+#857 := (not #532)
+#578 := (or #857 #854)
+#800 := (ite #578 #812 #809)
+#878 := (= #54 0::int)
+#715 := (not #878)
+#876 := (= #56 0::int)
+#714 := (not #876)
+#1038 := (iff #977 #714)
+#1036 := (iff #650 #876)
+#1034 := (iff #876 #650)
+#695 := (= #56 #58)
+#680 := (>= #56 0::int)
+#1029 := [hypothesis]: #977
+#651 := (or #650 #680)
+#655 := (or #686 #650 #680)
+#498 := (or #686 #651)
+#652 := (iff #498 #655)
+#657 := [rewrite]: #652
+#656 := [quant-inst]: #498
+#636 := [mp #656 #657]: #655
+#1030 := [unit-resolution #636 #915]: #651
+#1031 := [unit-resolution #1030 #1029]: #680
+#685 := (not #680)
+#681 := (or #685 #695)
+#659 := (or #731 #685 #695)
+#696 := (or #695 #685)
+#666 := (or #731 #696)
+#675 := (iff #666 #659)
+#669 := (or #731 #681)
+#673 := (iff #669 #659)
+#674 := [rewrite]: #673
+#670 := (iff #666 #669)
+#697 := (iff #696 #681)
+#658 := [rewrite]: #697
+#672 := [monotonicity #658]: #670
+#676 := [trans #672 #674]: #675
+#668 := [quant-inst]: #666
+#677 := [mp #668 #676]: #659
+#1032 := [unit-resolution #677 #909]: #681
+#1033 := [unit-resolution #1032 #1031]: #695
+#1035 := [monotonicity #1033]: #1034
+#1037 := [symm #1035]: #1036
+#1039 := [monotonicity #1037]: #1038
+#1040 := [mp #1029 #1039]: #714
+#1042 := (or #715 #876)
+#573 := (div #552 -3::int)
+#852 := (* -1::int #573)
+#563 := (+ #56 #852)
+#566 := (= #563 0::int)
+#557 := (div #54 3::int)
+#485 := (* -1::int #557)
+#558 := (+ #56 #485)
+#555 := (= #558 0::int)
+#560 := (ite #578 #555 #566)
+#843 := (ite #878 #876 #560)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#881 := (pattern #10)
+#96 := (* -1::int #9)
+#93 := (* -1::int #8)
+#99 := (div #93 #96)
+#383 := (* -1::int #99)
+#384 := (+ #10 #383)
+#385 := (= #384 0::int)
+#21 := (div #8 #9)
+#380 := (* -1::int #21)
+#381 := (+ #10 #380)
+#382 := (= #381 0::int)
+#118 := (<= #9 0::int)
+#114 := (<= #8 0::int)
+#338 := (or #114 #118)
+#339 := (not #338)
+#125 := (>= #8 0::int)
+#321 := (or #118 #125)
+#322 := (not #321)
+#345 := (or #322 #339)
+#386 := (ite #345 #382 #385)
+#379 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#387 := (ite #14 #379 #386)
+#882 := (forall (vars (?v0 int) (?v1 int)) (:pat #881) #387)
+#390 := (forall (vars (?v0 int) (?v1 int)) #387)
+#885 := (iff #390 #882)
+#883 := (iff #387 #387)
+#884 := [refl]: #883
+#886 := [quant-intro #884]: #885
+#350 := (ite #345 #21 #99)
+#353 := (ite #14 0::int #350)
+#356 := (= #10 #353)
+#359 := (forall (vars (?v0 int) (?v1 int)) #356)
+#391 := (iff #359 #390)
+#388 := (iff #356 #387)
+#389 := [rewrite]: #388
+#392 := [quant-intro #389]: #391
+#126 := (not #125)
+#119 := (not #118)
+#129 := (and #119 #126)
+#115 := (not #114)
+#122 := (and #115 #119)
+#132 := (or #122 #129)
+#135 := (ite #132 #21 #99)
+#138 := (ite #14 0::int #135)
+#141 := (= #10 #138)
+#144 := (forall (vars (?v0 int) (?v1 int)) #141)
+#360 := (iff #144 #359)
+#357 := (iff #141 #356)
+#354 := (= #138 #353)
+#351 := (= #135 #350)
+#348 := (iff #132 #345)
+#342 := (or #339 #322)
+#346 := (iff #342 #345)
+#347 := [rewrite]: #346
+#343 := (iff #132 #342)
+#340 := (iff #129 #322)
+#341 := [rewrite]: #340
+#319 := (iff #122 #339)
+#320 := [rewrite]: #319
+#344 := [monotonicity #320 #341]: #343
+#349 := [trans #344 #347]: #348
+#352 := [monotonicity #349]: #351
+#355 := [monotonicity #352]: #354
+#358 := [monotonicity #355]: #357
+#361 := [quant-intro #358]: #360
+#325 := (~ #144 #144)
+#323 := (~ #141 #141)
+#324 := [refl]: #323
+#326 := [nnf-pos #324]: #325
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#147 := (iff #28 #144)
+#86 := (and #16 #18)
+#89 := (or #17 #86)
+#102 := (ite #89 #21 #99)
+#105 := (ite #14 0::int #102)
+#108 := (= #10 #105)
+#111 := (forall (vars (?v0 int) (?v1 int)) #108)
+#145 := (iff #111 #144)
+#142 := (iff #108 #141)
+#139 := (= #105 #138)
+#136 := (= #102 #135)
+#133 := (iff #89 #132)
+#130 := (iff #86 #129)
+#127 := (iff #18 #126)
+#128 := [rewrite]: #127
+#120 := (iff #16 #119)
+#121 := [rewrite]: #120
+#131 := [monotonicity #121 #128]: #130
+#123 := (iff #17 #122)
+#116 := (iff #15 #115)
+#117 := [rewrite]: #116
+#124 := [monotonicity #117 #121]: #123
+#134 := [monotonicity #124 #131]: #133
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [quant-intro #143]: #145
+#112 := (iff #28 #111)
+#109 := (iff #27 #108)
+#106 := (= #26 #105)
+#103 := (= #25 #102)
+#100 := (= #24 #99)
+#97 := (= #23 #96)
+#98 := [rewrite]: #97
+#94 := (= #22 #93)
+#95 := [rewrite]: #94
+#101 := [monotonicity #95 #98]: #100
+#90 := (iff #20 #89)
+#87 := (iff #19 #86)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#104 := [monotonicity #91 #101]: #103
+#107 := [monotonicity #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [quant-intro #110]: #112
+#148 := [trans #113 #146]: #147
+#85 := [asserted]: #28
+#149 := [mp #85 #148]: #144
+#310 := [mp~ #149 #326]: #144
+#362 := [mp #310 #361]: #359
+#393 := [mp #362 #392]: #390
+#887 := [mp #393 #886]: #882
+#837 := (not #882)
+#838 := (or #837 #843)
+#467 := (* -1::int 3::int)
+#553 := (div #552 #467)
+#554 := (* -1::int #553)
+#545 := (+ #56 #554)
+#556 := (= #545 0::int)
+#559 := (<= 3::int 0::int)
+#873 := (or #538 #559)
+#875 := (not #873)
+#662 := (or #559 #532)
+#869 := (not #662)
+#543 := (or #869 #875)
+#544 := (ite #543 #555 #556)
+#877 := (= 3::int 0::int)
+#879 := (or #878 #877)
+#874 := (ite #879 #876 #544)
+#833 := (or #837 #874)
+#839 := (iff #833 #838)
+#835 := (iff #838 #838)
+#841 := [rewrite]: #835
+#847 := (iff #874 #843)
+#842 := (iff #544 #560)
+#844 := (iff #556 #566)
+#564 := (= #545 #563)
+#849 := (= #554 #852)
+#574 := (= #553 #573)
+#850 := (= #467 -3::int)
+#851 := [rewrite]: #850
+#848 := [monotonicity #851]: #574
+#853 := [monotonicity #848]: #849
+#565 := [monotonicity #853]: #564
+#845 := [monotonicity #565]: #844
+#579 := (iff #543 #578)
+#855 := (iff #875 #854)
+#865 := (iff #873 #538)
+#864 := (or #538 false)
+#507 := (iff #864 #538)
+#867 := [rewrite]: #507
+#866 := (iff #873 #864)
+#519 := (iff #559 false)
+#520 := [rewrite]: #519
+#506 := [monotonicity #520]: #866
+#868 := [trans #506 #867]: #865
+#577 := [monotonicity #868]: #855
+#863 := (iff #869 #857)
+#861 := (iff #662 #532)
+#521 := (or false #532)
+#859 := (iff #521 #532)
+#860 := [rewrite]: #859
+#522 := (iff #662 #521)
+#858 := [monotonicity #520]: #522
+#862 := [trans #858 #860]: #861
+#501 := [monotonicity #862]: #863
+#580 := [monotonicity #501 #577]: #579
+#846 := [monotonicity #580 #845]: #842
+#515 := (iff #879 #878)
+#530 := (or #878 false)
+#531 := (iff #530 #878)
+#872 := [rewrite]: #531
+#535 := (iff #879 #530)
+#880 := (iff #877 false)
+#870 := [rewrite]: #880
+#871 := [monotonicity #870]: #535
+#856 := [trans #871 #872]: #515
+#836 := [monotonicity #856 #846]: #847
+#840 := [monotonicity #836]: #839
+#682 := [trans #840 #841]: #839
+#834 := [quant-inst]: #833
+#683 := [mp #834 #682]: #838
+#1041 := [unit-resolution #683 #887]: #843
+#813 := (not #843)
+#810 := (or #813 #715 #876)
+#811 := [def-axiom]: #810
+#1043 := [unit-resolution #811 #1041]: #1042
+#1044 := [unit-resolution #1043 #1040]: #715
+#1046 := (or #878 #800)
+#803 := (= #62 0::int)
+#802 := (ite #878 #803 #800)
+#29 := (f4 #8 #9)
+#888 := (pattern #29)
+#151 := (mod #93 #96)
+#399 := (+ #29 #151)
+#400 := (= #399 0::int)
+#30 := (mod #8 #9)
+#396 := (* -1::int #30)
+#397 := (+ #29 #396)
+#398 := (= #397 0::int)
+#401 := (ite #345 #398 #400)
+#395 := (= #29 0::int)
+#402 := (ite #12 #395 #401)
+#394 := (= #8 #29)
+#403 := (ite #13 #394 #402)
+#889 := (forall (vars (?v0 int) (?v1 int)) (:pat #888) #403)
+#406 := (forall (vars (?v0 int) (?v1 int)) #403)
+#892 := (iff #406 #889)
+#890 := (iff #403 #403)
+#891 := [refl]: #890
+#893 := [quant-intro #891]: #892
+#157 := (* -1::int #151)
+#363 := (ite #345 #30 #157)
+#366 := (ite #12 0::int #363)
+#369 := (ite #13 #8 #366)
+#372 := (= #29 #369)
+#375 := (forall (vars (?v0 int) (?v1 int)) #372)
+#407 := (iff #375 #406)
+#404 := (iff #372 #403)
+#405 := [rewrite]: #404
+#408 := [quant-intro #405]: #407
+#177 := (ite #132 #30 #157)
+#180 := (ite #12 0::int #177)
+#183 := (ite #13 #8 #180)
+#186 := (= #29 #183)
+#189 := (forall (vars (?v0 int) (?v1 int)) #186)
+#376 := (iff #189 #375)
+#373 := (iff #186 #372)
+#370 := (= #183 #369)
+#367 := (= #180 #366)
+#364 := (= #177 #363)
+#365 := [monotonicity #349]: #364
+#368 := [monotonicity #365]: #367
+#371 := [monotonicity #368]: #370
+#374 := [monotonicity #371]: #373
+#377 := [quant-intro #374]: #376
+#311 := (~ #189 #189)
+#307 := (~ #186 #186)
+#327 := [refl]: #307
+#312 := [nnf-pos #327]: #311
+#31 := (mod #22 #23)
+#32 := (- #31)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#192 := (iff #37 #189)
+#162 := (ite #89 #30 #157)
+#165 := (ite #12 0::int #162)
+#168 := (ite #13 #8 #165)
+#171 := (= #29 #168)
+#174 := (forall (vars (?v0 int) (?v1 int)) #171)
+#190 := (iff #174 #189)
+#187 := (iff #171 #186)
+#184 := (= #168 #183)
+#181 := (= #165 #180)
+#178 := (= #162 #177)
+#179 := [monotonicity #134]: #178
+#182 := [monotonicity #179]: #181
+#185 := [monotonicity #182]: #184
+#188 := [monotonicity #185]: #187
+#191 := [quant-intro #188]: #190
+#175 := (iff #37 #174)
+#172 := (iff #36 #171)
+#169 := (= #35 #168)
+#166 := (= #34 #165)
+#163 := (= #33 #162)
+#160 := (= #32 #157)
+#154 := (- #151)
+#158 := (= #154 #157)
+#159 := [rewrite]: #158
+#155 := (= #32 #154)
+#152 := (= #31 #151)
+#153 := [monotonicity #95 #98]: #152
+#156 := [monotonicity #153]: #155
+#161 := [trans #156 #159]: #160
+#164 := [monotonicity #91 #161]: #163
+#167 := [monotonicity #164]: #166
+#170 := [monotonicity #167]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#193 := [trans #176 #191]: #192
+#150 := [asserted]: #37
+#194 := [mp #150 #193]: #189
+#328 := [mp~ #194 #312]: #189
+#378 := [mp #328 #377]: #375
+#409 := [mp #378 #408]: #406
+#894 := [mp #409 #893]: #889
+#780 := (not #889)
+#782 := (or #780 #802)
+#719 := (mod #552 #467)
+#720 := (+ #62 #719)
+#721 := (= #720 0::int)
+#816 := (ite #543 #812 #721)
+#805 := (ite #878 #803 #816)
+#797 := (= #54 #62)
+#794 := (ite #877 #797 #805)
+#783 := (or #780 #794)
+#781 := (iff #783 #782)
+#765 := (iff #782 #782)
+#766 := [rewrite]: #765
+#793 := (iff #794 #802)
+#789 := (ite false #797 #802)
+#792 := (iff #789 #802)
+#788 := [rewrite]: #792
+#790 := (iff #794 #789)
+#786 := (iff #805 #802)
+#801 := (iff #816 #800)
+#798 := (iff #721 #809)
+#808 := (= #720 #807)
+#796 := (= #719 #832)
+#806 := [monotonicity #851]: #796
+#804 := [monotonicity #806]: #808
+#799 := [monotonicity #804]: #798
+#795 := [monotonicity #580 #799]: #801
+#787 := [monotonicity #795]: #786
+#791 := [monotonicity #870 #787]: #790
+#779 := [trans #791 #788]: #793
+#785 := [monotonicity #779]: #781
+#768 := [trans #785 #766]: #781
+#784 := [quant-inst]: #783
+#769 := [mp #784 #768]: #782
+#1045 := [unit-resolution #769 #894]: #802
+#762 := (not #802)
+#764 := (or #762 #878 #800)
+#750 := [def-axiom]: #764
+#1047 := [unit-resolution #750 #1045]: #1046
+#1048 := [unit-resolution #1047 #1044]: #800
+#542 := (f6 #753)
+#533 := (= #542 0::int)
+#1057 := (not #533)
+#1058 := (iff #715 #1057)
+#1055 := (iff #878 #533)
+#1053 := (iff #533 #878)
+#1051 := (= #542 #54)
+#1049 := (= #753 f7)
+#1050 := [symm #1012]: #1049
+#1052 := [monotonicity #1050]: #1051
+#1054 := [monotonicity #1052]: #1053
+#1056 := [symm #1054]: #1055
+#1059 := [monotonicity #1056]: #1058
+#1060 := [mp #1044 #1059]: #1057
+#537 := (or #532 #533)
+#523 := (or #686 #532 #533)
+#536 := (or #533 #532)
+#524 := (or #686 #536)
+#510 := (iff #524 #523)
+#526 := (or #686 #537)
+#517 := (iff #526 #523)
+#529 := [rewrite]: #517
+#527 := (iff #524 #526)
+#516 := (iff #536 #537)
+#518 := [rewrite]: #516
+#528 := [monotonicity #518]: #527
+#512 := [trans #528 #529]: #510
+#525 := [quant-inst]: #524
+#513 := [mp #525 #512]: #523
+#1061 := [unit-resolution #513 #915]: #537
+#1062 := [unit-resolution #1061 #1060]: #532
+#1065 := (or #854 #857)
+#1063 := (or #878 #854 #857)
+#1064 := [th-lemma]: #1063
+#1066 := [unit-resolution #1064 #1044]: #1065
+#1067 := [unit-resolution #1066 #1062]: #854
+#827 := (or #578 #538)
+#828 := [def-axiom]: #827
+#1068 := [unit-resolution #828 #1067]: #578
+#829 := (not #578)
+#774 := (not #800)
+#775 := (or #774 #829 #812)
+#776 := [def-axiom]: #775
+#1069 := [unit-resolution #776 #1068 #1048]: #812
+#778 := (not #812)
+#1070 := (or #778 #771)
+#1071 := [th-lemma]: #1070
+#1072 := [unit-resolution #1071 #1069]: #771
+#469 := (* -3::int #557)
+#472 := (+ #469 #722)
+#916 := (+ #54 #472)
+#947 := (<= #916 0::int)
+#471 := (= #916 0::int)
+#1 := true
+#83 := [true-axiom]: true
+#1073 := (or false #471)
+#1074 := [th-lemma]: #1073
+#1075 := [unit-resolution #1074 #83]: #471
+#1076 := (not #471)
+#1077 := (or #1076 #947)
+#1078 := [th-lemma]: #1077
+#1079 := [unit-resolution #1078 #1075]: #947
+#660 := (* -1::int #58)
+#678 := (+ #56 #660)
+#648 := (<= #678 0::int)
+#1086 := (not #695)
+#1087 := (or #1086 #648)
+#1088 := [th-lemma]: #1087
+#1089 := [unit-resolution #1088 #1033]: #648
+#825 := (>= #558 0::int)
+#1090 := (or #878 #560)
+#814 := (or #813 #878 #560)
+#699 := [def-axiom]: #814
+#1091 := [unit-resolution #699 #1041]: #1090
+#1092 := [unit-resolution #1091 #1044]: #560
+#664 := (not #560)
+#817 := (or #664 #829 #555)
+#818 := [def-axiom]: #817
+#1093 := [unit-resolution #818 #1068 #1092]: #555
+#819 := (not #555)
+#1094 := (or #819 #825)
+#1095 := [th-lemma]: #1094
+#1096 := [unit-resolution #1095 #1093]: #825
+#712 := (* -1::int #64)
+#713 := (+ #62 #712)
+#723 := (<= #713 0::int)
+#745 := (= #62 #64)
+#742 := (>= #62 0::int)
+#921 := (>= #830 0::int)
+#1097 := (or false #921)
+#1098 := [th-lemma]: #1097
+#1099 := [unit-resolution #1098 #83]: #921
+#1101 := (not #771)
+#1100 := (not #921)
+#1102 := (or #742 #1100 #1101)
+#1103 := [th-lemma]: #1102
+#1104 := [unit-resolution #1103 #1099 #1072]: #742
+#743 := (not #742)
+#671 := (or #743 #745)
+#732 := (or #731 #743 #745)
+#725 := (or #745 #743)
+#727 := (or #731 #725)
+#702 := (iff #727 #732)
+#701 := (or #731 #671)
+#698 := (iff #701 #732)
+#700 := [rewrite]: #698
+#708 := (iff #727 #701)
+#726 := (iff #725 #671)
+#707 := [rewrite]: #726
+#667 := [monotonicity #707]: #708
+#709 := [trans #667 #700]: #702
+#733 := [quant-inst]: #727
+#711 := [mp #733 #709]: #732
+#1105 := [unit-resolution #711 #909]: #671
+#1106 := [unit-resolution #1105 #1104]: #745
+#1107 := (not #745)
+#1108 := (or #1107 #723)
+#1109 := [th-lemma]: #1108
+#1110 := [unit-resolution #1109 #1106]: #723
+#1115 := (not #621)
+#1114 := (not #723)
+#1113 := (not #825)
+#1112 := (not #648)
+#1111 := (not #947)
+#1116 := (or #1007 #1111 #1112 #1113 #1101 #1114 #1115)
+#1117 := [th-lemma]: #1116
+#1118 := [unit-resolution #1117 #1110 #1096 #1089 #1085 #1079 #1072]: #1007
+#1008 := (>= #1006 0::int)
+#770 := (<= #815 0::int)
+#1119 := (or #778 #770)
+#1120 := [th-lemma]: #1119
+#1121 := [unit-resolution #1120 #1069]: #770
+#948 := (>= #916 0::int)
+#1122 := (or #1076 #948)
+#1123 := [th-lemma]: #1122
+#1124 := [unit-resolution #1123 #1075]: #948
+#649 := (>= #678 0::int)
+#1128 := (or #1086 #649)
+#1129 := [th-lemma]: #1128
+#1130 := [unit-resolution #1129 #1033]: #649
+#831 := (<= #558 0::int)
+#1131 := (or #819 #831)
+#1132 := [th-lemma]: #1131
+#1133 := [unit-resolution #1132 #1093]: #831
+#703 := (>= #713 0::int)
+#1134 := (or #1107 #703)
+#1135 := [th-lemma]: #1134
+#1136 := [unit-resolution #1135 #1106]: #703
+#999 := (not #603)
+#1141 := (not #703)
+#1140 := (not #770)
+#1139 := (not #831)
+#1138 := (not #649)
+#1137 := (not #948)
+#1142 := (or #1008 #1137 #1138 #1139 #1140 #1141 #999)
+#1143 := [th-lemma]: #1142
+#1144 := [unit-resolution #1143 #1136 #1133 #1130 #1127 #1124 #1121]: #1008
+#1146 := (not #1008)
+#1145 := (not #1007)
+#1147 := (or #1004 #1145 #1146)
+#1148 := [th-lemma]: #1147
+#1149 := [unit-resolution #1148 #1144 #1118 #1020]: false
+#1150 := [lemma #1149]: #650
+#1198 := (or #977 #639)
+#1199 := [th-lemma]: #1198
+#1200 := [unit-resolution #1199 #1150]: #639
+#1202 := [th-lemma #1022 #1200 #1127 #1085]: #1201
+#1204 := [symm #1202]: #1203
+#1210 := [monotonicity #1204]: #1209
+#1218 := [symm #1210]: #1217
+#1223 := (= f7 #749)
+#755 := (= #63 #749)
+#735 := (or #728 #755)
+#736 := [quant-inst]: #735
+#1197 := [unit-resolution #736 #902]: #755
+#1221 := (= f7 #63)
+#1215 := (= #623 #63)
+#1213 := (= #63 #623)
+#1195 := (= #62 #58)
+#1152 := (= 0::int #58)
+#1153 := [symm #1150]: #1152
+#1154 := [hypothesis]: #715
+#1164 := [unit-resolution #1047 #1154]: #800
+#1165 := [mp #1154 #1059]: #1057
+#1166 := [unit-resolution #1061 #1165]: #532
+#1167 := [unit-resolution #1064 #1154]: #1065
+#1168 := [unit-resolution #1167 #1166]: #854
+#1169 := [unit-resolution #828 #1168]: #578
+#1170 := [unit-resolution #776 #1169 #1164]: #812
+#1171 := [unit-resolution #1071 #1170]: #771
+#1172 := [unit-resolution #1103 #1099 #1171]: #742
+#1173 := [unit-resolution #1105 #1172]: #745
+#1174 := [unit-resolution #1109 #1173]: #723
+#1175 := [unit-resolution #1091 #1154]: #560
+#1176 := [unit-resolution #818 #1169 #1175]: #555
+#1177 := [unit-resolution #1095 #1176]: #825
+#1162 := (or #680 #857 #1113)
+#938 := (>= #830 3::int)
+#939 := (not #938)
+#1155 := (or false #939)
+#1156 := [th-lemma]: #1155
+#1157 := [unit-resolution #1156 #83]: #939
+#1158 := [hypothesis]: #825
+#1159 := [hypothesis]: #532
+#1160 := [hypothesis]: #685
+#1161 := [th-lemma #1160 #1159 #1079 #1158 #1157]: false
+#1163 := [lemma #1161]: #1162
+#1178 := [unit-resolution #1163 #1166 #1177]: #680
+#1179 := [unit-resolution #1032 #1178]: #695
+#1180 := [unit-resolution #1088 #1179]: #648
+#1181 := (or #1007 #1111 #1112 #1113 #1101 #1114)
+#1182 := [unit-resolution #1117 #1085]: #1181
+#1183 := [unit-resolution #1182 #1180 #1177 #1174 #1079 #1171]: #1007
+#1184 := [unit-resolution #1120 #1170]: #770
+#1185 := [unit-resolution #1135 #1173]: #703
+#1186 := [unit-resolution #1132 #1176]: #831
+#1187 := [unit-resolution #1129 #1179]: #649
+#1188 := (or #1008 #1137 #1138 #1139 #1140 #1141)
+#1189 := [unit-resolution #1143 #1127]: #1188
+#1190 := [unit-resolution #1189 #1187 #1186 #1185 #1124 #1184]: #1008
+#1191 := (or #1145 #1146)
+#1192 := [unit-resolution #1148 #1020]: #1191
+#1193 := [unit-resolution #1192 #1190 #1183]: false
+#1194 := [lemma #1193]: #878
+#1028 := (or #715 #803)
+#763 := (or #762 #715 #803)
+#758 := [def-axiom]: #763
+#1023 := [unit-resolution #758 #1045]: #1028
+#1151 := [unit-resolution #1023 #1194]: #803
+#1196 := [trans #1151 #1153]: #1195
+#1214 := [monotonicity #1196]: #1213
+#1216 := [symm #1214]: #1215
+#1219 := (= f7 #623)
+#1207 := (= #753 #623)
+#1205 := (= #54 #58)
+#1206 := [trans #1194 #1153]: #1205
+#1208 := [monotonicity #1206]: #1207
+#1220 := [trans #1012 #1208]: #1219
+#1222 := [trans #1220 #1216]: #1221
+#1224 := [trans #1222 #1197]: #1223
+#1225 := [trans #1224 #1218]: #301
+[unit-resolution #309 #1225]: false
+unsat
+c2c50da38f700cf1e41aeaaa2ecd24baa852fd7f 671 0
+#2 := false
+decl f6 :: (-> S2 int)
+decl f5 :: (-> int S2)
+decl f4 :: (-> int int int)
+#55 := 3::int
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#56 := (f4 #54 3::int)
+#57 := (f5 #56)
+#805 := (f6 #57)
+#806 := (= #56 #805)
+#476 := (not #806)
+#514 := (= #54 #56)
+#692 := (not #514)
+#473 := (iff #692 #476)
+#483 := (iff #514 #806)
+#490 := (iff #806 #514)
+#679 := (= #56 #54)
+#486 := (iff #679 #514)
+#489 := [commutativity]: #486
+#481 := (iff #806 #679)
+#494 := (= #805 #54)
+#58 := (= #57 f7)
+#274 := (= f7 #57)
+#286 := (>= #54 3::int)
+#11 := 0::int
+#870 := (= #56 0::int)
+#549 := (iff #870 #514)
+#547 := (iff #514 #870)
+#702 := (= 0::int #56)
+#545 := (iff #702 #870)
+#546 := [commutativity]: #545
+#541 := (iff #514 #702)
+#530 := (= #54 0::int)
+#285 := (not #286)
+#632 := [hypothesis]: #285
+#538 := (or #530 #286)
+#708 := 1::int
+#769 := (div #54 3::int)
+#628 := -2::int
+#618 := (* -2::int #769)
+#661 := (mod #54 3::int)
+#85 := -1::int
+#868 := (* -1::int #661)
+#619 := (+ #868 #618)
+#617 := (+ #54 #619)
+#620 := (>= #617 1::int)
+#627 := (not #620)
+#802 := (>= #56 0::int)
+#729 := (>= #661 0::int)
+#1 := true
+#76 := [true-axiom]: true
+#630 := (or false #729)
+#616 := [th-lemma]: #630
+#602 := [unit-resolution #616 #76]: #729
+#542 := (+ #56 #868)
+#817 := (>= #542 0::int)
+#543 := (= #542 0::int)
+#572 := -3::int
+#537 := (* -1::int #54)
+#851 := (mod #537 -3::int)
+#562 := (+ #56 #851)
+#565 := (= #562 0::int)
+#876 := (<= #54 0::int)
+#577 := (not #876)
+#873 := (>= #54 0::int)
+#863 := (not #873)
+#472 := (or #863 #577)
+#559 := (ite #472 #543 #565)
+#713 := (not #530)
+#604 := [hypothesis]: #713
+#606 := (or #530 #559)
+#842 := (ite #530 #870 #559)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#887 := (pattern #29)
+#89 := (* -1::int #9)
+#86 := (* -1::int #8)
+#144 := (mod #86 #89)
+#398 := (+ #29 #144)
+#399 := (= #398 0::int)
+#30 := (mod #8 #9)
+#395 := (* -1::int #30)
+#396 := (+ #29 #395)
+#397 := (= #396 0::int)
+#111 := (<= #9 0::int)
+#107 := (<= #8 0::int)
+#337 := (or #107 #111)
+#338 := (not #337)
+#118 := (>= #8 0::int)
+#320 := (or #111 #118)
+#321 := (not #320)
+#344 := (or #321 #338)
+#400 := (ite #344 #397 #399)
+#394 := (= #29 0::int)
+#12 := (= #8 0::int)
+#401 := (ite #12 #394 #400)
+#393 := (= #8 #29)
+#13 := (= #9 0::int)
+#402 := (ite #13 #393 #401)
+#888 := (forall (vars (?v0 int) (?v1 int)) (:pat #887) #402)
+#405 := (forall (vars (?v0 int) (?v1 int)) #402)
+#891 := (iff #405 #888)
+#889 := (iff #402 #402)
+#890 := [refl]: #889
+#892 := [quant-intro #890]: #891
+#150 := (* -1::int #144)
+#362 := (ite #344 #30 #150)
+#365 := (ite #12 0::int #362)
+#368 := (ite #13 #8 #365)
+#371 := (= #29 #368)
+#374 := (forall (vars (?v0 int) (?v1 int)) #371)
+#406 := (iff #374 #405)
+#403 := (iff #371 #402)
+#404 := [rewrite]: #403
+#407 := [quant-intro #404]: #406
+#119 := (not #118)
+#112 := (not #111)
+#122 := (and #112 #119)
+#108 := (not #107)
+#115 := (and #108 #112)
+#125 := (or #115 #122)
+#170 := (ite #125 #30 #150)
+#173 := (ite #12 0::int #170)
+#176 := (ite #13 #8 #173)
+#179 := (= #29 #176)
+#182 := (forall (vars (?v0 int) (?v1 int)) #179)
+#375 := (iff #182 #374)
+#372 := (iff #179 #371)
+#369 := (= #176 #368)
+#366 := (= #173 #365)
+#363 := (= #170 #362)
+#347 := (iff #125 #344)
+#341 := (or #338 #321)
+#345 := (iff #341 #344)
+#346 := [rewrite]: #345
+#342 := (iff #125 #341)
+#339 := (iff #122 #321)
+#340 := [rewrite]: #339
+#318 := (iff #115 #338)
+#319 := [rewrite]: #318
+#343 := [monotonicity #319 #340]: #342
+#348 := [trans #343 #346]: #347
+#364 := [monotonicity #348]: #363
+#367 := [monotonicity #364]: #366
+#370 := [monotonicity #367]: #369
+#373 := [monotonicity #370]: #372
+#376 := [quant-intro #373]: #375
+#310 := (~ #182 #182)
+#307 := (~ #179 #179)
+#326 := [refl]: #307
+#311 := [nnf-pos #326]: #310
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#185 := (iff #37 #182)
+#79 := (and #16 #18)
+#82 := (or #17 #79)
+#155 := (ite #82 #30 #150)
+#158 := (ite #12 0::int #155)
+#161 := (ite #13 #8 #158)
+#164 := (= #29 #161)
+#167 := (forall (vars (?v0 int) (?v1 int)) #164)
+#183 := (iff #167 #182)
+#180 := (iff #164 #179)
+#177 := (= #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#126 := (iff #82 #125)
+#123 := (iff #79 #122)
+#120 := (iff #18 #119)
+#121 := [rewrite]: #120
+#113 := (iff #16 #112)
+#114 := [rewrite]: #113
+#124 := [monotonicity #114 #121]: #123
+#116 := (iff #17 #115)
+#109 := (iff #15 #108)
+#110 := [rewrite]: #109
+#117 := [monotonicity #110 #114]: #116
+#127 := [monotonicity #117 #124]: #126
+#172 := [monotonicity #127]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [quant-intro #181]: #183
+#168 := (iff #37 #167)
+#165 := (iff #36 #164)
+#162 := (= #35 #161)
+#159 := (= #34 #158)
+#156 := (= #33 #155)
+#153 := (= #32 #150)
+#147 := (- #144)
+#151 := (= #147 #150)
+#152 := [rewrite]: #151
+#148 := (= #32 #147)
+#145 := (= #31 #144)
+#90 := (= #23 #89)
+#91 := [rewrite]: #90
+#87 := (= #22 #86)
+#88 := [rewrite]: #87
+#146 := [monotonicity #88 #91]: #145
+#149 := [monotonicity #146]: #148
+#154 := [trans #149 #152]: #153
+#83 := (iff #20 #82)
+#80 := (iff #19 #79)
+#81 := [rewrite]: #80
+#84 := [monotonicity #81]: #83
+#157 := [monotonicity #84 #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#186 := [trans #169 #184]: #185
+#143 := [asserted]: #37
+#187 := [mp #143 #186]: #182
+#327 := [mp~ #187 #311]: #182
+#377 := [mp #327 #376]: #374
+#408 := [mp #377 #407]: #405
+#893 := [mp #408 #892]: #888
+#840 := (not #888)
+#681 := (or #840 #842)
+#558 := (* -1::int 3::int)
+#872 := (mod #537 #558)
+#874 := (+ #56 #872)
+#531 := (= #874 0::int)
+#875 := (<= 3::int 0::int)
+#877 := (or #876 #875)
+#878 := (not #877)
+#879 := (or #875 #873)
+#869 := (not #879)
+#529 := (or #869 #878)
+#534 := (ite #529 #543 #531)
+#871 := (ite #530 #870 #534)
+#855 := (= 3::int 0::int)
+#518 := (ite #855 #514 #871)
+#682 := (or #840 #518)
+#825 := (iff #682 #681)
+#827 := (iff #681 #681)
+#828 := [rewrite]: #827
+#839 := (iff #518 #842)
+#836 := (ite false #514 #842)
+#833 := (iff #836 #842)
+#838 := [rewrite]: #833
+#837 := (iff #518 #836)
+#846 := (iff #871 #842)
+#841 := (iff #534 #559)
+#843 := (iff #531 #565)
+#563 := (= #874 #562)
+#848 := (= #872 #851)
+#573 := (= #558 -3::int)
+#847 := [rewrite]: #573
+#852 := [monotonicity #847]: #848
+#564 := [monotonicity #852]: #563
+#844 := [monotonicity #564]: #843
+#849 := (iff #529 #472)
+#578 := (iff #878 #577)
+#854 := (iff #877 #876)
+#506 := (or #876 false)
+#867 := (iff #506 #876)
+#853 := [rewrite]: #867
+#866 := (iff #877 #506)
+#521 := (iff #875 false)
+#857 := [rewrite]: #521
+#864 := [monotonicity #857]: #866
+#576 := [trans #864 #853]: #854
+#579 := [monotonicity #576]: #578
+#865 := (iff #869 #863)
+#862 := (iff #879 #873)
+#858 := (or false #873)
+#861 := (iff #858 #873)
+#856 := [rewrite]: #861
+#859 := (iff #879 #858)
+#860 := [monotonicity #857]: #859
+#500 := [trans #860 #856]: #862
+#505 := [monotonicity #500]: #865
+#850 := [monotonicity #505 #579]: #849
+#845 := [monotonicity #850 #844]: #841
+#835 := [monotonicity #845]: #846
+#519 := (iff #855 false)
+#520 := [rewrite]: #519
+#832 := [monotonicity #520 #835]: #837
+#834 := [trans #832 #838]: #839
+#826 := [monotonicity #834]: #825
+#822 := [trans #826 #828]: #825
+#683 := [quant-inst]: #682
+#823 := [mp #683 #822]: #681
+#605 := [unit-resolution #823 #893]: #842
+#698 := (not #842)
+#709 := (or #698 #530 #559)
+#717 := [def-axiom]: #709
+#607 := [unit-resolution #717 #605]: #606
+#608 := [unit-resolution #607 #604]: #559
+#811 := (f5 #54)
+#779 := (f6 #811)
+#781 := (= #779 0::int)
+#592 := (not #781)
+#594 := (iff #713 #592)
+#603 := (iff #530 #781)
+#613 := (iff #781 #530)
+#611 := (= #779 #54)
+#609 := (= #811 f7)
+#815 := (= f7 #811)
+#38 := (:var 0 S2)
+#39 := (f6 #38)
+#894 := (pattern #39)
+#40 := (f5 #39)
+#189 := (= #38 #40)
+#895 := (forall (vars (?v0 S2)) (:pat #894) #189)
+#192 := (forall (vars (?v0 S2)) #189)
+#896 := (iff #192 #895)
+#898 := (iff #895 #895)
+#899 := [rewrite]: #898
+#897 := [rewrite]: #896
+#900 := [trans #897 #899]: #896
+#312 := (~ #192 #192)
+#328 := (~ #189 #189)
+#329 := [refl]: #328
+#313 := [nnf-pos #329]: #312
+#41 := (= #40 #38)
+#42 := (forall (vars (?v0 S2)) #41)
+#193 := (iff #42 #192)
+#190 := (iff #41 #189)
+#191 := [rewrite]: #190
+#194 := [quant-intro #191]: #193
+#188 := [asserted]: #42
+#197 := [mp #188 #194]: #192
+#330 := [mp~ #197 #313]: #192
+#901 := [mp #330 #900]: #895
+#796 := (not #895)
+#793 := (or #796 #815)
+#795 := [quant-inst]: #793
+#685 := [unit-resolution #795 #901]: #815
+#610 := [symm #685]: #609
+#612 := [monotonicity #610]: #611
+#614 := [monotonicity #612]: #613
+#615 := [symm #614]: #603
+#595 := [monotonicity #615]: #594
+#596 := [mp #604 #595]: #592
+#768 := (or #781 #873)
+#44 := (f5 #9)
+#902 := (pattern #44)
+#212 := (>= #9 0::int)
+#45 := (f6 #44)
+#50 := (= #45 0::int)
+#262 := (or #50 #212)
+#909 := (forall (vars (?v0 int)) (:pat #902) #262)
+#267 := (forall (vars (?v0 int)) #262)
+#912 := (iff #267 #909)
+#910 := (iff #262 #262)
+#911 := [refl]: #910
+#913 := [quant-intro #911]: #912
+#316 := (~ #267 #267)
+#334 := (~ #262 #262)
+#335 := [refl]: #334
+#317 := [nnf-pos #335]: #316
+#49 := (< #9 0::int)
+#51 := (implies #49 #50)
+#52 := (forall (vars (?v0 int)) #51)
+#270 := (iff #52 #267)
+#233 := (= 0::int #45)
+#239 := (not #49)
+#240 := (or #239 #233)
+#245 := (forall (vars (?v0 int)) #240)
+#268 := (iff #245 #267)
+#265 := (iff #240 #262)
+#259 := (or #212 #50)
+#263 := (iff #259 #262)
+#264 := [rewrite]: #263
+#260 := (iff #240 #259)
+#257 := (iff #233 #50)
+#258 := [rewrite]: #257
+#255 := (iff #239 #212)
+#215 := (not #212)
+#250 := (not #215)
+#253 := (iff #250 #212)
+#254 := [rewrite]: #253
+#251 := (iff #239 #250)
+#248 := (iff #49 #215)
+#249 := [rewrite]: #248
+#252 := [monotonicity #249]: #251
+#256 := [trans #252 #254]: #255
+#261 := [monotonicity #256 #258]: #260
+#266 := [trans #261 #264]: #265
+#269 := [quant-intro #266]: #268
+#246 := (iff #52 #245)
+#243 := (iff #51 #240)
+#236 := (implies #49 #233)
+#241 := (iff #236 #240)
+#242 := [rewrite]: #241
+#237 := (iff #51 #236)
+#234 := (iff #50 #233)
+#235 := [rewrite]: #234
+#238 := [monotonicity #235]: #237
+#244 := [trans #238 #242]: #243
+#247 := [quant-intro #244]: #246
+#271 := [trans #247 #269]: #270
+#232 := [asserted]: #52
+#272 := [mp #232 #271]: #267
+#336 := [mp~ #272 #317]: #267
+#914 := [mp #336 #913]: #909
+#782 := (not #909)
+#771 := (or #782 #781 #873)
+#772 := (or #782 #768)
+#774 := (iff #772 #771)
+#775 := [rewrite]: #774
+#773 := [quant-inst]: #772
+#776 := [mp #773 #775]: #771
+#597 := [unit-resolution #776 #914]: #768
+#598 := [unit-resolution #597 #596]: #873
+#599 := (or #530 #577 #863)
+#600 := [th-lemma]: #599
+#593 := [unit-resolution #600 #598 #604]: #577
+#824 := (or #472 #876)
+#831 := [def-axiom]: #824
+#601 := [unit-resolution #831 #593]: #472
+#660 := (not #472)
+#818 := (not #559)
+#821 := (or #818 #660 #543)
+#703 := [def-axiom]: #821
+#586 := [unit-resolution #703 #601 #608]: #543
+#664 := (not #543)
+#587 := (or #664 #817)
+#588 := [th-lemma]: #587
+#590 := [unit-resolution #588 #586]: #817
+#591 := (not #729)
+#589 := (not #817)
+#580 := (or #802 #589 #591)
+#581 := [th-lemma]: #580
+#582 := [unit-resolution #581 #590 #602]: #802
+#816 := (<= #542 0::int)
+#574 := (or #664 #816)
+#583 := [th-lemma]: #574
+#584 := [unit-resolution #583 #586]: #816
+#804 := (not #802)
+#649 := (not #816)
+#626 := (or #627 #286 #649 #804)
+#625 := [hypothesis]: #802
+#747 := (* -3::int #769)
+#750 := (+ #868 #747)
+#751 := (+ #54 #750)
+#727 := (<= #751 0::int)
+#746 := (= #751 0::int)
+#657 := (or false #746)
+#695 := [th-lemma]: #657
+#680 := [unit-resolution #695 #76]: #746
+#658 := (not #746)
+#665 := (or #658 #727)
+#667 := [th-lemma]: #665
+#668 := [unit-resolution #667 #680]: #727
+#677 := [hypothesis]: #816
+#633 := [hypothesis]: #620
+#624 := [th-lemma #632 #633 #677 #668 #625]: false
+#629 := [lemma #624]: #626
+#575 := [unit-resolution #629 #584 #632 #582]: #627
+#666 := (>= #751 0::int)
+#640 := (or #658 #666)
+#636 := [th-lemma]: #640
+#641 := [unit-resolution #636 #680]: #666
+#711 := (* -1::int #56)
+#712 := (+ #54 #711)
+#722 := (<= #712 0::int)
+#560 := (not #722)
+#555 := (not #274)
+#557 := (or #555 #286)
+#299 := (iff #274 #286)
+#59 := (< #54 3::int)
+#60 := (not #59)
+#61 := (iff #58 #60)
+#304 := (iff #61 #299)
+#280 := (iff #60 #274)
+#302 := (iff #280 #299)
+#296 := (iff #286 #274)
+#300 := (iff #296 #299)
+#301 := [rewrite]: #300
+#297 := (iff #280 #296)
+#294 := (iff #60 #286)
+#289 := (not #285)
+#292 := (iff #289 #286)
+#293 := [rewrite]: #292
+#290 := (iff #60 #289)
+#287 := (iff #59 #285)
+#288 := [rewrite]: #287
+#291 := [monotonicity #288]: #290
+#295 := [trans #291 #293]: #294
+#298 := [monotonicity #295]: #297
+#303 := [trans #298 #301]: #302
+#283 := (iff #61 #280)
+#277 := (iff #274 #60)
+#281 := (iff #277 #280)
+#282 := [rewrite]: #281
+#278 := (iff #61 #277)
+#275 := (iff #58 #274)
+#276 := [rewrite]: #275
+#279 := [monotonicity #276]: #278
+#284 := [trans #279 #282]: #283
+#305 := [trans #284 #303]: #304
+#273 := [asserted]: #61
+#306 := [mp #273 #305]: #299
+#466 := (not #299)
+#556 := (or #555 #286 #466)
+#484 := [def-axiom]: #556
+#554 := [unit-resolution #484 #306]: #557
+#585 := [unit-resolution #554 #632]: #555
+#693 := (or #692 #274)
+#688 := (= #811 #57)
+#686 := (= #57 #811)
+#678 := [hypothesis]: #514
+#684 := [symm #678]: #679
+#687 := [monotonicity #684]: #686
+#689 := [symm #687]: #688
+#690 := [trans #685 #689]: #274
+#723 := [hypothesis]: #555
+#691 := [unit-resolution #723 #690]: false
+#694 := [lemma #691]: #693
+#566 := [unit-resolution #694 #585]: #692
+#707 := (>= #712 0::int)
+#669 := (* -1::int #769)
+#671 := (+ #868 #669)
+#637 := (+ #54 #671)
+#639 := (>= #637 0::int)
+#621 := (or #639 #876)
+#645 := (not #639)
+#634 := [hypothesis]: #645
+#706 := (>= #661 3::int)
+#730 := (not #706)
+#675 := (or false #730)
+#676 := [th-lemma]: #675
+#659 := [unit-resolution #676 #76]: #730
+#696 := [hypothesis]: #577
+#631 := [th-lemma #696 #659 #641 #634]: false
+#623 := [lemma #631]: #621
+#567 := [unit-resolution #623 #593]: #639
+#643 := (or #645 #649 #707)
+#642 := (not #707)
+#644 := [hypothesis]: #642
+#635 := [hypothesis]: #639
+#638 := [th-lemma #677 #635 #668 #644]: false
+#646 := [lemma #638]: #643
+#568 := [unit-resolution #646 #567 #584]: #707
+#569 := (or #514 #560 #642)
+#570 := [th-lemma]: #569
+#561 := [unit-resolution #570 #568 #566]: #560
+#571 := [th-lemma #590 #561 #641 #575]: false
+#540 := [lemma #571]: #538
+#697 := [unit-resolution #540 #632]: #530
+#532 := [monotonicity #697]: #541
+#548 := [trans #532 #546]: #547
+#539 := [symm #548]: #549
+#699 := (or #713 #870)
+#715 := (or #698 #713 #870)
+#716 := [def-axiom]: #715
+#701 := [unit-resolution #716 #605]: #699
+#728 := [unit-resolution #701 #697]: #870
+#550 := [mp #728 #539]: #514
+#533 := [unit-resolution #566 #550]: false
+#535 := [lemma #533]: #286
+#553 := (or #274 #285)
+#551 := (or #274 #285 #466)
+#552 := [def-axiom]: #551
+#544 := [unit-resolution #552 #306]: #553
+#496 := [unit-resolution #544 #535]: #274
+#498 := [symm #496]: #58
+#499 := [monotonicity #498]: #494
+#485 := [monotonicity #499]: #481
+#491 := [trans #485 #489]: #490
+#492 := [symm #491]: #483
+#474 := [monotonicity #492]: #473
+#524 := (or #577 #285)
+#525 := [th-lemma]: #524
+#526 := [unit-resolution #525 #535]: #577
+#527 := (or #713 #876)
+#516 := [th-lemma]: #527
+#528 := [unit-resolution #516 #526]: #713
+#509 := [unit-resolution #607 #528]: #559
+#511 := [unit-resolution #831 #526]: #472
+#512 := [unit-resolution #703 #511 #509]: #543
+#502 := [unit-resolution #583 #512]: #816
+#508 := (or #560 #285 #706 #649)
+#482 := [th-lemma]: #508
+#487 := [unit-resolution #482 #502 #535 #659]: #560
+#488 := (or #692 #722)
+#493 := [th-lemma]: #488
+#495 := [unit-resolution #493 #487]: #692
+#477 := [mp #495 #474]: #476
+#510 := [unit-resolution #588 #512]: #817
+#513 := (or #802 #591 #589)
+#501 := [th-lemma]: #513
+#503 := [unit-resolution #501 #510 #602]: #802
+#803 := (or #804 #806)
+#196 := (= #9 #45)
+#221 := (or #196 #215)
+#903 := (forall (vars (?v0 int)) (:pat #902) #221)
+#226 := (forall (vars (?v0 int)) #221)
+#906 := (iff #226 #903)
+#904 := (iff #221 #221)
+#905 := [refl]: #904
+#907 := [quant-intro #905]: #906
+#314 := (~ #226 #226)
+#331 := (~ #221 #221)
+#332 := [refl]: #331
+#315 := [nnf-pos #332]: #314
+#46 := (= #45 #9)
+#43 := (<= 0::int #9)
+#47 := (implies #43 #46)
+#48 := (forall (vars (?v0 int)) #47)
+#229 := (iff #48 #226)
+#203 := (not #43)
+#204 := (or #203 #196)
+#209 := (forall (vars (?v0 int)) #204)
+#227 := (iff #209 #226)
+#224 := (iff #204 #221)
+#218 := (or #215 #196)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #204 #218)
+#216 := (iff #203 #215)
+#213 := (iff #43 #212)
+#214 := [rewrite]: #213
+#217 := [monotonicity #214]: #216
+#220 := [monotonicity #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [quant-intro #225]: #227
+#210 := (iff #48 #209)
+#207 := (iff #47 #204)
+#200 := (implies #43 #196)
+#205 := (iff #200 #204)
+#206 := [rewrite]: #205
+#201 := (iff #47 #200)
+#198 := (iff #46 #196)
+#199 := [rewrite]: #198
+#202 := [monotonicity #199]: #201
+#208 := [trans #202 #206]: #207
+#211 := [quant-intro #208]: #210
+#230 := [trans #211 #228]: #229
+#195 := [asserted]: #48
+#231 := [mp #195 #230]: #226
+#333 := [mp~ #231 #315]: #226
+#908 := [mp #333 #907]: #903
+#798 := (not #903)
+#799 := (or #798 #804 #806)
+#807 := (or #806 #804)
+#800 := (or #798 #807)
+#790 := (iff #800 #799)
+#801 := (or #798 #803)
+#788 := (iff #801 #799)
+#789 := [rewrite]: #788
+#785 := (iff #800 #801)
+#808 := (iff #807 #803)
+#797 := [rewrite]: #808
+#786 := [monotonicity #797]: #785
+#791 := [trans #786 #789]: #790
+#794 := [quant-inst]: #800
+#787 := [mp #794 #791]: #799
+#504 := [unit-resolution #787 #908]: #803
+#507 := [unit-resolution #504 #503]: #806
+[unit-resolution #507 #477]: false
+unsat
+0acf022ca28d30081e73fadc3fdcfea21e99a21c 60 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -13134,7 +22753,7 @@
 #630 := [unit-resolution #632 #631]: #266
 [th-lemma #159 #629 #630]: false
 unsat
-4a98bcbed5ad69511a5cad5cf29dba7132d6fdfc 60 0
+aa7ead3dd8b4a36efac1c966a70956175fb7e15a 60 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -13195,7 +22814,7 @@
 #630 := [th-lemma]: #632
 [unit-resolution #630 #271 #159]: false
 unsat
-d8f08e2943c080c0d03c02c5a3f03bf5fa773cee 253 0
+4da37f686a90a43bb4bcf93c60d1755d615df6ac 253 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -13449,7 +23068,129 @@
 #473 := [lemma #472]: #233
 [unit-resolution #631 #473 #487]: false
 unsat
-9645c7f91c8b74fcb674b8c2a12640172b195c7f 103 0
+5536a80305cbc5c1c65da302174d985517f94ac4 60 0
+#2 := false
+#13 := 0::int
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+#137 := -1::int
+#138 := (* -1::int #28)
+#139 := (+ #26 #138)
+#140 := (<= #139 0::int)
+#143 := (ite #140 #28 #26)
+#149 := (* -1::int #143)
+#150 := (+ #26 #149)
+#151 := (<= #150 0::int)
+#156 := (not #151)
+#29 := (<= #26 #28)
+#30 := (ite #29 #28 #26)
+#31 := (<= #26 #30)
+#32 := (not #31)
+#157 := (iff #32 #156)
+#154 := (iff #31 #151)
+#146 := (<= #26 #143)
+#152 := (iff #146 #151)
+#153 := [rewrite]: #152
+#147 := (iff #31 #146)
+#144 := (= #30 #143)
+#141 := (iff #29 #140)
+#142 := [rewrite]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#155 := [trans #148 #153]: #154
+#158 := [monotonicity #155]: #157
+#134 := [asserted]: #32
+#159 := [mp #134 #158]: #156
+#317 := (= #26 #143)
+#232 := (not #140)
+#625 := [hypothesis]: #140
+#637 := (+ #28 #149)
+#280 := (<= #637 0::int)
+#231 := (= #28 #143)
+#318 := (or #232 #231)
+#319 := [def-axiom]: #318
+#626 := [unit-resolution #319 #625]: #231
+#627 := (not #231)
+#622 := (or #627 #280)
+#628 := [th-lemma]: #622
+#266 := [unit-resolution #628 #626]: #280
+#629 := [th-lemma #266 #159 #625]: false
+#631 := [lemma #629]: #232
+#310 := (or #140 #317)
+#321 := [def-axiom]: #310
+#271 := [unit-resolution #321 #631]: #317
+#272 := (not #317)
+#632 := (or #272 #151)
+#630 := [th-lemma]: #632
+[unit-resolution #630 #271 #159]: false
+unsat
+1f939e5dc55e38d665a6a7ffafbec37b57ae831f 60 0
+#2 := false
+#13 := 0::int
+decl f4 :: (-> S2 int)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#137 := -1::int
+#140 := (* -1::int #28)
+#141 := (+ #26 #140)
+#139 := (>= #141 0::int)
+#143 := (ite #139 #26 #28)
+#149 := (* -1::int #143)
+#637 := (+ #28 #149)
+#628 := (<= #637 0::int)
+#317 := (= #28 #143)
+#232 := (not #139)
+#231 := (= #26 #143)
+#624 := (not #231)
+#150 := (+ #26 #149)
+#151 := (<= #150 0::int)
+#156 := (not #151)
+#29 := (<= #28 #26)
+#30 := (ite #29 #26 #28)
+#31 := (<= #26 #30)
+#32 := (not #31)
+#157 := (iff #32 #156)
+#154 := (iff #31 #151)
+#146 := (<= #26 #143)
+#152 := (iff #146 #151)
+#153 := [rewrite]: #152
+#147 := (iff #31 #146)
+#144 := (= #30 #143)
+#138 := (iff #29 #139)
+#142 := [rewrite]: #138
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#155 := [trans #148 #153]: #154
+#158 := [monotonicity #155]: #157
+#134 := [asserted]: #32
+#159 := [mp #134 #158]: #156
+#280 := [hypothesis]: #231
+#625 := (or #624 #151)
+#626 := [th-lemma]: #625
+#627 := [unit-resolution #626 #280 #159]: false
+#622 := [lemma #627]: #624
+#318 := (or #232 #231)
+#319 := [def-axiom]: #318
+#629 := [unit-resolution #319 #622]: #232
+#310 := (or #139 #317)
+#321 := [def-axiom]: #310
+#631 := [unit-resolution #321 #629]: #317
+#271 := (not #317)
+#272 := (or #271 #628)
+#632 := [th-lemma]: #272
+#630 := [unit-resolution #632 #631]: #628
+[th-lemma #159 #629 #630]: false
+unsat
+d3e83d573ed30cf5c8453245f4134046eb5c6487 103 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -13553,404 +23294,7 @@
 #642 := [unit-resolution #636 #635]: #638
 [th-lemma #642 #193 #194]: false
 unsat
-fa8e0a2694e045a39788da23e6dc3bda6b4f57dc 117 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-#13 := 0::int
-#141 := -1::int
-#142 := (* -1::int #28)
-#143 := (+ #26 #142)
-#154 := (>= #143 0::int)
-#156 := (ite #154 #28 #26)
-#159 := (f3 #156)
-#144 := (<= #143 0::int)
-#147 := (ite #144 #26 #28)
-#150 := (f3 #147)
-#162 := (= #150 #159)
-#649 := (f3 #26)
-#558 := (= #649 #159)
-#556 := (= #159 #649)
-#564 := (= #156 #26)
-#259 := (= #26 #156)
-#436 := (f3 #28)
-#577 := (= #436 #159)
-#586 := (= #159 #436)
-#479 := (= #156 #28)
-#331 := (= #28 #156)
-#489 := (not #259)
-#584 := [hypothesis]: #489
-#312 := (or #154 #259)
-#647 := [def-axiom]: #312
-#588 := [unit-resolution #647 #584]: #154
-#332 := (not #154)
-#329 := (or #332 #331)
-#333 := [def-axiom]: #329
-#490 := [unit-resolution #333 #588]: #331
-#480 := [symm #490]: #479
-#590 := [monotonicity #480]: #586
-#579 := [symm #590]: #577
-#491 := (= #150 #436)
-#492 := (= #147 #28)
-#326 := (= #28 #147)
-#241 := (not #144)
-#496 := (or #241 #259)
-#473 := (= #26 #28)
-#585 := [hypothesis]: #144
-#488 := [th-lemma #588 #585]: #473
-#494 := [trans #488 #490]: #259
-#495 := [unit-resolution #584 #494]: false
-#589 := [lemma #495]: #496
-#439 := [unit-resolution #589 #584]: #241
-#319 := (or #144 #326)
-#330 := [def-axiom]: #319
-#587 := [unit-resolution #330 #439]: #326
-#493 := [symm #587]: #492
-#484 := [monotonicity #493]: #491
-#571 := [trans #484 #579]: #162
-#165 := (not #162)
-#32 := (<= #28 #26)
-#33 := (ite #32 #28 #26)
-#34 := (f3 #33)
-#29 := (<= #26 #28)
-#30 := (ite #29 #26 #28)
-#31 := (f3 #30)
-#35 := (= #31 #34)
-#36 := (not #35)
-#166 := (iff #36 #165)
-#163 := (iff #35 #162)
-#160 := (= #34 #159)
-#157 := (= #33 #156)
-#153 := (iff #32 #154)
-#155 := [rewrite]: #153
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#151 := (= #31 #150)
-#148 := (= #30 #147)
-#145 := (iff #29 #144)
-#146 := [rewrite]: #145
-#149 := [monotonicity #146]: #148
-#152 := [monotonicity #149]: #151
-#164 := [monotonicity #152 #161]: #163
-#167 := [monotonicity #164]: #166
-#138 := [asserted]: #36
-#168 := [mp #138 #167]: #165
-#568 := [unit-resolution #168 #571]: false
-#570 := [lemma #568]: #259
-#565 := [symm #570]: #564
-#557 := [monotonicity #565]: #556
-#555 := [symm #557]: #558
-#553 := (= #150 #649)
-#562 := (= #147 #26)
-#240 := (= #26 #147)
-#435 := [hypothesis]: #241
-#437 := (or #154 #144)
-#596 := [th-lemma]: #437
-#478 := [unit-resolution #596 #435]: #154
-#580 := [unit-resolution #333 #478]: #331
-#581 := [symm #580]: #479
-#572 := [monotonicity #581]: #586
-#573 := [symm #572]: #577
-#582 := [unit-resolution #330 #435]: #326
-#578 := [symm #582]: #492
-#583 := [monotonicity #578]: #491
-#574 := [trans #583 #573]: #162
-#575 := [unit-resolution #168 #574]: false
-#569 := [lemma #575]: #144
-#327 := (or #241 #240)
-#328 := [def-axiom]: #327
-#566 := [unit-resolution #328 #569]: #240
-#567 := [symm #566]: #562
-#554 := [monotonicity #567]: #553
-#559 := [trans #554 #555]: #162
-[unit-resolution #168 #559]: false
-unsat
-da2ff9ef6139e0a66caeccee0485bd5a70c1edcc 156 0
-#2 := false
-decl f3 :: (-> int S2)
-#13 := 0::int
-#30 := (f3 0::int)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#27 := (<= #26 0::int)
-#28 := (ite #27 #26 0::int)
-#29 := (f3 #28)
-#31 := (= #29 #30)
-#294 := (= #28 0::int)
-#299 := (f3 #26)
-#576 := (f4 #299)
-#577 := (= #576 0::int)
-#442 := (= #26 0::int)
-#567 := (not #294)
-#573 := [hypothesis]: #567
-#287 := (or #27 #294)
-#298 := [def-axiom]: #287
-#404 := [unit-resolution #298 #573]: #27
-#581 := (>= #26 0::int)
-#408 := (not #577)
-#556 := (iff #567 #408)
-#448 := (iff #294 #577)
-#565 := (= #28 #576)
-#564 := (= #26 #576)
-#561 := (= #576 #26)
-#568 := (= #299 f5)
-#227 := (= f5 #299)
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#624 := (pattern #9)
-#10 := (f3 #9)
-#50 := (= #8 #10)
-#625 := (forall (vars (?v0 S2)) (:pat #624) #50)
-#53 := (forall (vars (?v0 S2)) #50)
-#626 := (iff #53 #625)
-#628 := (iff #625 #625)
-#629 := [rewrite]: #628
-#627 := [rewrite]: #626
-#630 := [trans #627 #629]: #626
-#148 := (~ #53 #53)
-#146 := (~ #50 #50)
-#147 := [refl]: #146
-#149 := [nnf-pos #147]: #148
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#54 := (iff #12 #53)
-#51 := (iff #11 #50)
-#52 := [rewrite]: #51
-#55 := [quant-intro #52]: #54
-#49 := [asserted]: #12
-#58 := [mp #49 #55]: #53
-#137 := [mp~ #58 #149]: #53
-#631 := [mp #137 #630]: #625
-#301 := (not #625)
-#280 := (or #301 #227)
-#616 := [quant-inst]: #280
-#574 := [unit-resolution #616 #631]: #227
-#575 := [symm #574]: #568
-#563 := [monotonicity #575]: #561
-#562 := [symm #563]: #564
-#407 := (= #28 #26)
-#208 := (= #26 #28)
-#209 := (not #27)
-#295 := (or #209 #208)
-#296 := [def-axiom]: #295
-#406 := [unit-resolution #296 #404]: #208
-#560 := [symm #406]: #407
-#447 := [trans #560 #562]: #565
-#449 := [monotonicity #447]: #448
-#458 := [monotonicity #449]: #556
-#553 := [mp #573 #458]: #408
-#582 := (or #577 #581)
-#14 := (:var 0 int)
-#16 := (f3 #14)
-#632 := (pattern #16)
-#75 := (>= #14 0::int)
-#17 := (f4 #16)
-#22 := (= #17 0::int)
-#123 := (or #22 #75)
-#639 := (forall (vars (?v0 int)) (:pat #632) #123)
-#128 := (forall (vars (?v0 int)) #123)
-#642 := (iff #128 #639)
-#640 := (iff #123 #123)
-#641 := [refl]: #640
-#643 := [quant-intro #641]: #642
-#140 := (~ #128 #128)
-#152 := (~ #123 #123)
-#153 := [refl]: #152
-#141 := [nnf-pos #153]: #140
-#21 := (< #14 0::int)
-#23 := (implies #21 #22)
-#24 := (forall (vars (?v0 int)) #23)
-#131 := (iff #24 #128)
-#94 := (= 0::int #17)
-#100 := (not #21)
-#101 := (or #100 #94)
-#106 := (forall (vars (?v0 int)) #101)
-#129 := (iff #106 #128)
-#126 := (iff #101 #123)
-#120 := (or #75 #22)
-#124 := (iff #120 #123)
-#125 := [rewrite]: #124
-#121 := (iff #101 #120)
-#118 := (iff #94 #22)
-#119 := [rewrite]: #118
-#116 := (iff #100 #75)
-#76 := (not #75)
-#111 := (not #76)
-#114 := (iff #111 #75)
-#115 := [rewrite]: #114
-#112 := (iff #100 #111)
-#109 := (iff #21 #76)
-#110 := [rewrite]: #109
-#113 := [monotonicity #110]: #112
-#117 := [trans #113 #115]: #116
-#122 := [monotonicity #117 #119]: #121
-#127 := [trans #122 #125]: #126
-#130 := [quant-intro #127]: #129
-#107 := (iff #24 #106)
-#104 := (iff #23 #101)
-#97 := (implies #21 #94)
-#102 := (iff #97 #101)
-#103 := [rewrite]: #102
-#98 := (iff #23 #97)
-#95 := (iff #22 #94)
-#96 := [rewrite]: #95
-#99 := [monotonicity #96]: #98
-#105 := [trans #99 #103]: #104
-#108 := [quant-intro #105]: #107
-#132 := [trans #108 #130]: #131
-#93 := [asserted]: #24
-#133 := [mp #93 #132]: #128
-#154 := [mp~ #133 #141]: #128
-#644 := [mp #154 #643]: #639
-#614 := (not #639)
-#584 := (or #614 #577 #581)
-#425 := (or #614 #582)
-#427 := (iff #425 #584)
-#569 := [rewrite]: #427
-#426 := [quant-inst]: #425
-#570 := [mp #426 #569]: #584
-#554 := [unit-resolution #570 #644]: #582
-#557 := [unit-resolution #554 #553]: #581
-#457 := [th-lemma #557 #404]: #442
-#459 := [trans #563 #457]: #577
-#460 := [unit-resolution #553 #459]: false
-#453 := [lemma #460]: #294
-#583 := [monotonicity #453]: #31
-#32 := (not #31)
-#134 := [asserted]: #32
-[unit-resolution #134 #583]: false
-unsat
-88cc1cfdc9ecc3f2138c9180ec327ce09b9116c5 60 0
-#2 := false
-#13 := 0::int
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-#137 := -1::int
-#138 := (* -1::int #28)
-#139 := (+ #26 #138)
-#140 := (<= #139 0::int)
-#143 := (ite #140 #28 #26)
-#149 := (* -1::int #143)
-#150 := (+ #26 #149)
-#151 := (<= #150 0::int)
-#156 := (not #151)
-#29 := (<= #26 #28)
-#30 := (ite #29 #28 #26)
-#31 := (<= #26 #30)
-#32 := (not #31)
-#157 := (iff #32 #156)
-#154 := (iff #31 #151)
-#146 := (<= #26 #143)
-#152 := (iff #146 #151)
-#153 := [rewrite]: #152
-#147 := (iff #31 #146)
-#144 := (= #30 #143)
-#141 := (iff #29 #140)
-#142 := [rewrite]: #141
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#155 := [trans #148 #153]: #154
-#158 := [monotonicity #155]: #157
-#134 := [asserted]: #32
-#159 := [mp #134 #158]: #156
-#317 := (= #26 #143)
-#232 := (not #140)
-#625 := [hypothesis]: #140
-#637 := (+ #28 #149)
-#280 := (<= #637 0::int)
-#231 := (= #28 #143)
-#318 := (or #232 #231)
-#319 := [def-axiom]: #318
-#626 := [unit-resolution #319 #625]: #231
-#627 := (not #231)
-#622 := (or #627 #280)
-#628 := [th-lemma]: #622
-#266 := [unit-resolution #628 #626]: #280
-#629 := [th-lemma #266 #159 #625]: false
-#631 := [lemma #629]: #232
-#310 := (or #140 #317)
-#321 := [def-axiom]: #310
-#271 := [unit-resolution #321 #631]: #317
-#272 := (not #317)
-#632 := (or #272 #151)
-#630 := [th-lemma]: #632
-[unit-resolution #630 #271 #159]: false
-unsat
-0122efc10e38b5cd510be1952412037a9414e10c 60 0
-#2 := false
-#13 := 0::int
-decl f4 :: (-> S2 int)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#137 := -1::int
-#140 := (* -1::int #28)
-#141 := (+ #26 #140)
-#139 := (>= #141 0::int)
-#143 := (ite #139 #26 #28)
-#149 := (* -1::int #143)
-#637 := (+ #28 #149)
-#628 := (<= #637 0::int)
-#317 := (= #28 #143)
-#232 := (not #139)
-#231 := (= #26 #143)
-#624 := (not #231)
-#150 := (+ #26 #149)
-#151 := (<= #150 0::int)
-#156 := (not #151)
-#29 := (<= #28 #26)
-#30 := (ite #29 #26 #28)
-#31 := (<= #26 #30)
-#32 := (not #31)
-#157 := (iff #32 #156)
-#154 := (iff #31 #151)
-#146 := (<= #26 #143)
-#152 := (iff #146 #151)
-#153 := [rewrite]: #152
-#147 := (iff #31 #146)
-#144 := (= #30 #143)
-#138 := (iff #29 #139)
-#142 := [rewrite]: #138
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#155 := [trans #148 #153]: #154
-#158 := [monotonicity #155]: #157
-#134 := [asserted]: #32
-#159 := [mp #134 #158]: #156
-#280 := [hypothesis]: #231
-#625 := (or #624 #151)
-#626 := [th-lemma]: #625
-#627 := [unit-resolution #626 #280 #159]: false
-#622 := [lemma #627]: #624
-#318 := (or #232 #231)
-#319 := [def-axiom]: #318
-#629 := [unit-resolution #319 #622]: #232
-#310 := (or #139 #317)
-#321 := [def-axiom]: #310
-#631 := [unit-resolution #321 #629]: #317
-#271 := (not #317)
-#272 := (or #271 #628)
-#632 := [th-lemma]: #272
-#630 := [unit-resolution #632 #631]: #628
-[th-lemma #159 #629 #630]: false
-unsat
-7c9e3abcd68f2ba67093ec54bd9616e29dfd7553 437 0
+e8bb28c85cd05d1e4eb92c6e0ebb5900ad2217ca 437 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -14388,7 +23732,282 @@
 #462 := [unit-resolution #492 #479]: #669
 [th-lemma #462 #528 #194 #475 #461]: false
 unsat
-76ee9f1370ee47b53f6c11c1682ef1e7a8911478 103 0
+ddf4ee3ffc7523dd708ffeab45ca4db621550c07 117 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+#13 := 0::int
+#141 := -1::int
+#142 := (* -1::int #28)
+#143 := (+ #26 #142)
+#154 := (>= #143 0::int)
+#156 := (ite #154 #28 #26)
+#159 := (f3 #156)
+#144 := (<= #143 0::int)
+#147 := (ite #144 #26 #28)
+#150 := (f3 #147)
+#162 := (= #150 #159)
+#649 := (f3 #26)
+#558 := (= #649 #159)
+#556 := (= #159 #649)
+#564 := (= #156 #26)
+#259 := (= #26 #156)
+#436 := (f3 #28)
+#577 := (= #436 #159)
+#586 := (= #159 #436)
+#479 := (= #156 #28)
+#331 := (= #28 #156)
+#489 := (not #259)
+#584 := [hypothesis]: #489
+#312 := (or #154 #259)
+#647 := [def-axiom]: #312
+#588 := [unit-resolution #647 #584]: #154
+#332 := (not #154)
+#329 := (or #332 #331)
+#333 := [def-axiom]: #329
+#490 := [unit-resolution #333 #588]: #331
+#480 := [symm #490]: #479
+#590 := [monotonicity #480]: #586
+#579 := [symm #590]: #577
+#491 := (= #150 #436)
+#492 := (= #147 #28)
+#326 := (= #28 #147)
+#241 := (not #144)
+#496 := (or #241 #259)
+#473 := (= #26 #28)
+#585 := [hypothesis]: #144
+#488 := [th-lemma #588 #585]: #473
+#494 := [trans #488 #490]: #259
+#495 := [unit-resolution #584 #494]: false
+#589 := [lemma #495]: #496
+#439 := [unit-resolution #589 #584]: #241
+#319 := (or #144 #326)
+#330 := [def-axiom]: #319
+#587 := [unit-resolution #330 #439]: #326
+#493 := [symm #587]: #492
+#484 := [monotonicity #493]: #491
+#571 := [trans #484 #579]: #162
+#165 := (not #162)
+#32 := (<= #28 #26)
+#33 := (ite #32 #28 #26)
+#34 := (f3 #33)
+#29 := (<= #26 #28)
+#30 := (ite #29 #26 #28)
+#31 := (f3 #30)
+#35 := (= #31 #34)
+#36 := (not #35)
+#166 := (iff #36 #165)
+#163 := (iff #35 #162)
+#160 := (= #34 #159)
+#157 := (= #33 #156)
+#153 := (iff #32 #154)
+#155 := [rewrite]: #153
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#151 := (= #31 #150)
+#148 := (= #30 #147)
+#145 := (iff #29 #144)
+#146 := [rewrite]: #145
+#149 := [monotonicity #146]: #148
+#152 := [monotonicity #149]: #151
+#164 := [monotonicity #152 #161]: #163
+#167 := [monotonicity #164]: #166
+#138 := [asserted]: #36
+#168 := [mp #138 #167]: #165
+#568 := [unit-resolution #168 #571]: false
+#570 := [lemma #568]: #259
+#565 := [symm #570]: #564
+#557 := [monotonicity #565]: #556
+#555 := [symm #557]: #558
+#553 := (= #150 #649)
+#562 := (= #147 #26)
+#240 := (= #26 #147)
+#435 := [hypothesis]: #241
+#437 := (or #154 #144)
+#596 := [th-lemma]: #437
+#478 := [unit-resolution #596 #435]: #154
+#580 := [unit-resolution #333 #478]: #331
+#581 := [symm #580]: #479
+#572 := [monotonicity #581]: #586
+#573 := [symm #572]: #577
+#582 := [unit-resolution #330 #435]: #326
+#578 := [symm #582]: #492
+#583 := [monotonicity #578]: #491
+#574 := [trans #583 #573]: #162
+#575 := [unit-resolution #168 #574]: false
+#569 := [lemma #575]: #144
+#327 := (or #241 #240)
+#328 := [def-axiom]: #327
+#566 := [unit-resolution #328 #569]: #240
+#567 := [symm #566]: #562
+#554 := [monotonicity #567]: #553
+#559 := [trans #554 #555]: #162
+[unit-resolution #168 #559]: false
+unsat
+12109499f925774016387c1f6f51980ab6ede03b 156 0
+#2 := false
+decl f3 :: (-> int S2)
+#13 := 0::int
+#30 := (f3 0::int)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#27 := (<= #26 0::int)
+#28 := (ite #27 #26 0::int)
+#29 := (f3 #28)
+#31 := (= #29 #30)
+#294 := (= #28 0::int)
+#299 := (f3 #26)
+#576 := (f4 #299)
+#577 := (= #576 0::int)
+#442 := (= #26 0::int)
+#567 := (not #294)
+#573 := [hypothesis]: #567
+#287 := (or #27 #294)
+#298 := [def-axiom]: #287
+#404 := [unit-resolution #298 #573]: #27
+#581 := (>= #26 0::int)
+#408 := (not #577)
+#556 := (iff #567 #408)
+#448 := (iff #294 #577)
+#565 := (= #28 #576)
+#564 := (= #26 #576)
+#561 := (= #576 #26)
+#568 := (= #299 f5)
+#227 := (= f5 #299)
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#624 := (pattern #9)
+#10 := (f3 #9)
+#50 := (= #8 #10)
+#625 := (forall (vars (?v0 S2)) (:pat #624) #50)
+#53 := (forall (vars (?v0 S2)) #50)
+#626 := (iff #53 #625)
+#628 := (iff #625 #625)
+#629 := [rewrite]: #628
+#627 := [rewrite]: #626
+#630 := [trans #627 #629]: #626
+#148 := (~ #53 #53)
+#146 := (~ #50 #50)
+#147 := [refl]: #146
+#149 := [nnf-pos #147]: #148
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#54 := (iff #12 #53)
+#51 := (iff #11 #50)
+#52 := [rewrite]: #51
+#55 := [quant-intro #52]: #54
+#49 := [asserted]: #12
+#58 := [mp #49 #55]: #53
+#137 := [mp~ #58 #149]: #53
+#631 := [mp #137 #630]: #625
+#301 := (not #625)
+#280 := (or #301 #227)
+#616 := [quant-inst]: #280
+#574 := [unit-resolution #616 #631]: #227
+#575 := [symm #574]: #568
+#563 := [monotonicity #575]: #561
+#562 := [symm #563]: #564
+#407 := (= #28 #26)
+#208 := (= #26 #28)
+#209 := (not #27)
+#295 := (or #209 #208)
+#296 := [def-axiom]: #295
+#406 := [unit-resolution #296 #404]: #208
+#560 := [symm #406]: #407
+#447 := [trans #560 #562]: #565
+#449 := [monotonicity #447]: #448
+#458 := [monotonicity #449]: #556
+#553 := [mp #573 #458]: #408
+#582 := (or #577 #581)
+#14 := (:var 0 int)
+#16 := (f3 #14)
+#632 := (pattern #16)
+#75 := (>= #14 0::int)
+#17 := (f4 #16)
+#22 := (= #17 0::int)
+#123 := (or #22 #75)
+#639 := (forall (vars (?v0 int)) (:pat #632) #123)
+#128 := (forall (vars (?v0 int)) #123)
+#642 := (iff #128 #639)
+#640 := (iff #123 #123)
+#641 := [refl]: #640
+#643 := [quant-intro #641]: #642
+#140 := (~ #128 #128)
+#152 := (~ #123 #123)
+#153 := [refl]: #152
+#141 := [nnf-pos #153]: #140
+#21 := (< #14 0::int)
+#23 := (implies #21 #22)
+#24 := (forall (vars (?v0 int)) #23)
+#131 := (iff #24 #128)
+#94 := (= 0::int #17)
+#100 := (not #21)
+#101 := (or #100 #94)
+#106 := (forall (vars (?v0 int)) #101)
+#129 := (iff #106 #128)
+#126 := (iff #101 #123)
+#120 := (or #75 #22)
+#124 := (iff #120 #123)
+#125 := [rewrite]: #124
+#121 := (iff #101 #120)
+#118 := (iff #94 #22)
+#119 := [rewrite]: #118
+#116 := (iff #100 #75)
+#76 := (not #75)
+#111 := (not #76)
+#114 := (iff #111 #75)
+#115 := [rewrite]: #114
+#112 := (iff #100 #111)
+#109 := (iff #21 #76)
+#110 := [rewrite]: #109
+#113 := [monotonicity #110]: #112
+#117 := [trans #113 #115]: #116
+#122 := [monotonicity #117 #119]: #121
+#127 := [trans #122 #125]: #126
+#130 := [quant-intro #127]: #129
+#107 := (iff #24 #106)
+#104 := (iff #23 #101)
+#97 := (implies #21 #94)
+#102 := (iff #97 #101)
+#103 := [rewrite]: #102
+#98 := (iff #23 #97)
+#95 := (iff #22 #94)
+#96 := [rewrite]: #95
+#99 := [monotonicity #96]: #98
+#105 := [trans #99 #103]: #104
+#108 := [quant-intro #105]: #107
+#132 := [trans #108 #130]: #131
+#93 := [asserted]: #24
+#133 := [mp #93 #132]: #128
+#154 := [mp~ #133 #141]: #128
+#644 := [mp #154 #643]: #639
+#614 := (not #639)
+#584 := (or #614 #577 #581)
+#425 := (or #614 #582)
+#427 := (iff #425 #584)
+#569 := [rewrite]: #427
+#426 := [quant-inst]: #425
+#570 := [mp #426 #569]: #584
+#554 := [unit-resolution #570 #644]: #582
+#557 := [unit-resolution #554 #553]: #581
+#457 := [th-lemma #557 #404]: #442
+#459 := [trans #563 #457]: #577
+#460 := [unit-resolution #553 #459]: false
+#453 := [lemma #460]: #294
+#583 := [monotonicity #453]: #31
+#32 := (not #31)
+#134 := [asserted]: #32
+[unit-resolution #134 #583]: false
+unsat
+1a0992c511947512c28712c25329faef3db2a506 103 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -14492,7 +24111,7 @@
 #642 := [unit-resolution #636 #635]: #639
 [th-lemma #642 #195 #194]: false
 unsat
-18b47c81a9d452efdc99018694a5a7712659d793 119 0
+2cff16037fa28fd9b7fe01fda3fea3217a638862 119 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -14612,7 +24231,7 @@
 #540 := [trans #557 #539]: #162
 [unit-resolution #168 #540]: false
 unsat
-aeb27ae732eb5ade79f0b082530ea53b942db1bc 164 0
+9e66dd3e51867d9c417bdcc6c8dae7bdcbe15ce9 164 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -14777,7 +24396,7 @@
 #142 := [mp #133 #139]: #137
 [unit-resolution #142 #586]: false
 unsat
-32b7349c65f2a98027993cfc5b819fa9c76f7f70 139 0
+b26c16020695ec5cb482a06eafc452bf48579bac 139 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -14917,7 +24536,7 @@
 #260 := [th-lemma]: #618
 [unit-resolution #260 #139 #617]: false
 unsat
-cd6e6ee8cf8b75d0011d82bd241ec9736c128fa6 75 0
+cc925ce2d7fa7e6045f376fe0b86848bf9965e04 75 0
 #2 := false
 decl f3 :: (-> int S2)
 #28 := 1::int
@@ -14993,7 +24612,7 @@
 #153 := [and-elim #151]: #32
 [unit-resolution #153 #339]: false
 unsat
-000880aa19ed4a1843957e82181d2a42342f1991 20 0
+258c4ff3957e31cbdc91a889a36ababa8b18bb74 20 0
 #2 := false
 decl f4 :: (-> S2 int)
 decl f5 :: S2
@@ -15014,7 +24633,7 @@
 #130 := [asserted]: #28
 [mp #130 #141]: false
 unsat
-88eeafff0d413fa89914541cc48ed55eef3db1b1 319 0
+b707e36223641f43f77b1aee28addc35f2bcee4b 319 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -15334,7 +24953,25 @@
 #507 := [unit-resolution #506 #504]: #623
 [th-lemma #507 #516 #163 #162]: false
 unsat
-b07d26f06f2f8e3a614ec9af094d242833240836 325 0
+631bb5c1eda2ba4c09e88b58a78c4ca019a52bd5 17 0
+#2 := false
+#8 := 0::int
+#9 := (= 0::int 0::int)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+333d9adb9c916d1ff36a4481fd80329786125ad5 325 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -15660,7 +25297,51 @@
 #515 := [th-lemma]: #519
 [unit-resolution #515 #510 #517]: false
 unsat
-11038cb4c13dcad01559beed85cfa0b91db3362e 38 0
+28a49ab9e1e8afe831840a9d1d70432378c40524 25 0
+#2 := false
+#8 := 0::int
+#9 := (- 0::int)
+#10 := (= 0::int #9)
+#11 := (not #10)
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (= 0::int 0::int)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #10 #31)
+#29 := (= #9 0::int)
+#30 := [rewrite]: #29
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+faf90dd136ed7151b245f7421706b221be33e497 17 0
+#2 := false
+#8 := 1::int
+#9 := (= 1::int 1::int)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+00947a900acc4b06198fe82553f699a3348499ea 38 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -15699,7 +25380,42 @@
 #228 := [unit-resolution #313 #154]: #144
 [unit-resolution #228 #155]: false
 unsat
-837c405f2b45308cfbf3a46d2a4facdbd42feddf 292 0
+7392687761c667823aab65a1bcb19e1202861610 34 0
+#2 := false
+#8 := 1::int
+#9 := (- 1::int)
+#10 := (= #9 1::int)
+#11 := (not #10)
+#12 := (not #11)
+#52 := (iff #12 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #12 #47)
+#45 := (iff #11 true)
+#40 := (not false)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 false)
+#30 := -1::int
+#33 := (= -1::int 1::int)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#31 := (= #9 -1::int)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#29 := [asserted]: #12
+[mp #29 #53]: false
+unsat
+01e7532e7ea90063f4d8028d82907a60219f0691 292 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -15992,7 +25708,79 @@
 #583 := [unit-resolution #586 #503]: #657
 [th-lemma #583 #605 #592]: false
 unsat
-75870ee37db906045eff49499698b090187a95a8 11 0
+e368f2011d2d745eea4e08822ed13634e5b6be4e 40 0
+#2 := false
+#12 := 567::int
+#10 := 345::int
+#8 := 123::int
+#9 := (- 123::int)
+#11 := (+ #9 345::int)
+#13 := (< #11 567::int)
+#14 := (not #13)
+#58 := (iff #14 false)
+#38 := 222::int
+#43 := (< 222::int 567::int)
+#46 := (not #43)
+#56 := (iff #46 false)
+#1 := true
+#51 := (not true)
+#54 := (iff #51 false)
+#55 := [rewrite]: #54
+#52 := (iff #46 #51)
+#49 := (iff #43 true)
+#50 := [rewrite]: #49
+#53 := [monotonicity #50]: #52
+#57 := [trans #53 #55]: #56
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#41 := (= #11 222::int)
+#32 := -123::int
+#35 := (+ -123::int 345::int)
+#39 := (= #35 222::int)
+#40 := [rewrite]: #39
+#36 := (= #11 #35)
+#33 := (= #9 -123::int)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#42 := [trans #37 #40]: #41
+#45 := [monotonicity #42]: #44
+#48 := [monotonicity #45]: #47
+#59 := [trans #48 #57]: #58
+#31 := [asserted]: #14
+[mp #31 #59]: false
+unsat
+6856ce5c38958c154c5630f30070f1299de0a73a 30 0
+#2 := false
+#10 := 2345678901::int
+#8 := 123456789::int
+#9 := (- 123456789::int)
+#11 := (< #9 2345678901::int)
+#12 := (not #11)
+#48 := (iff #12 false)
+#30 := -123456789::int
+#33 := (< -123456789::int 2345678901::int)
+#36 := (not #33)
+#46 := (iff #36 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #36 #41)
+#39 := (iff #33 true)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#37 := (iff #12 #36)
+#34 := (iff #11 #33)
+#31 := (= #9 -123456789::int)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#38 := [monotonicity #35]: #37
+#49 := [trans #38 #47]: #48
+#29 := [asserted]: #12
+[mp #29 #49]: false
+unsat
+9af62203be53f0918acd3e5a19c29adeb325e821 11 0
 #2 := false
 decl f4 :: (-> S2 int)
 decl f5 :: S2
@@ -16004,7 +25792,34 @@
 #129 := [asserted]: #27
 [mp #129 #133]: false
 unsat
-65a9b991d68316f9955463b295888cc0b941d7e9 54 0
+5beff0398ac80bd4310abe8d1006f828914d1ddd 26 0
+#2 := false
+decl f3 :: int
+#8 := f3
+#9 := 0::int
+#10 := (+ f3 0::int)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+ecbbc277377c6ea59671702660167f70e18bac2b 54 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -16059,7 +25874,64 @@
 #171 := [and-elim #170]: #144
 [th-lemma #171 #172 #173]: false
 unsat
-949587f0e75e73196b0b151bf0911a3bb0f90ff6 55 0
+89946d5d67b763e42f800ede863ab8bce34f2003 26 0
+#2 := false
+decl f3 :: int
+#9 := f3
+#8 := 0::int
+#10 := (+ 0::int f3)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+bb5d039a38eba1786eb72150674dd17c7a6eed7e 29 0
+#2 := false
+decl f3 :: int
+#8 := f3
+decl f4 :: int
+#9 := f4
+#11 := (+ f4 f3)
+#10 := (+ f3 f4)
+#12 := (= #10 #11)
+#13 := (not #12)
+#45 := (iff #13 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #13 #40)
+#38 := (iff #12 true)
+#33 := (= #10 #10)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #12 #33)
+#31 := (= #11 #10)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#30 := [asserted]: #13
+[mp #30 #46]: false
+unsat
+e761c0b6a7ce21273c17c2e2c5540ab035d56e47 55 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -16115,7 +25987,41 @@
 #172 := [and-elim #171]: #144
 [th-lemma #172 #173 #174]: false
 unsat
-e0147cb04fc2e3bc1038fd5f0ee658954044a8ae 55 0
+6be423993ea88d7bfa5dfa04d4fc58ccd8bf39d4 33 0
+#2 := false
+decl f5 :: int
+#10 := f5
+decl f4 :: int
+#9 := f4
+decl f3 :: int
+#8 := f3
+#13 := (+ f3 f4)
+#14 := (+ #13 f5)
+#11 := (+ f4 f5)
+#12 := (+ f3 #11)
+#15 := (= #12 #14)
+#16 := (not #15)
+#48 := (iff #16 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #16 #43)
+#41 := (iff #15 true)
+#36 := (= #12 #12)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #15 #36)
+#34 := (= #14 #12)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#33 := [asserted]: #16
+[mp #33 #49]: false
+unsat
+8ef23587881ccafe5fb8b0c94a42df18ed62c340 55 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -16171,7 +26077,53 @@
 #173 := [and-elim #171]: #152
 [th-lemma #173 #172 #174]: false
 unsat
-7f2af445a3047b7cf9ba6ecc7dbf1305f9ebc50e 61 0
+f34f9158033293bcd8d531d1fd221cc3340dd1d4 45 0
+#2 := false
+decl f4 :: int
+#9 := f4
+#13 := (- f4)
+decl f3 :: int
+#8 := f3
+#14 := (= f3 #13)
+#11 := 0::int
+#10 := (+ f3 f4)
+#12 := (= #10 0::int)
+#15 := (iff #12 #14)
+#16 := (not #15)
+#62 := (iff #16 false)
+#47 := (not #12)
+#34 := -1::int
+#35 := (* -1::int f4)
+#38 := (= f3 #35)
+#48 := (iff #38 #47)
+#60 := (iff #48 false)
+#55 := (iff #12 #47)
+#58 := (iff #55 false)
+#59 := [rewrite]: #58
+#56 := (iff #48 #55)
+#53 := (iff #38 #12)
+#54 := [rewrite]: #53
+#57 := [monotonicity #54]: #56
+#61 := [trans #57 #59]: #60
+#51 := (iff #16 #48)
+#41 := (iff #12 #38)
+#44 := (not #41)
+#49 := (iff #44 #48)
+#50 := [rewrite]: #49
+#45 := (iff #16 #44)
+#42 := (iff #15 #41)
+#39 := (iff #14 #38)
+#36 := (= #13 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#43 := [monotonicity #40]: #42
+#46 := [monotonicity #43]: #45
+#52 := [trans #46 #50]: #51
+#63 := [trans #52 #61]: #62
+#33 := [asserted]: #16
+[mp #33 #63]: false
+unsat
+3c933bbec35e3b1947f865f102b1cc06b618d6d5 61 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -16233,7 +26185,61 @@
 #179 := [and-elim #177]: #149
 [th-lemma #179 #178 #180]: false
 unsat
-482ecd4de600d63ba37499412aa93699dc969167 53 0
+581098ef0bfed59ccd21b34aa98652ee0c38c97c 26 0
+#2 := false
+#8 := 1::int
+#9 := (- 1::int)
+#10 := (= #9 #9)
+#11 := (not #10)
+#44 := (iff #11 false)
+#1 := true
+#39 := (not true)
+#42 := (iff #39 false)
+#43 := [rewrite]: #42
+#40 := (iff #11 #39)
+#37 := (iff #10 true)
+#29 := -1::int
+#32 := (= -1::int -1::int)
+#35 := (iff #32 true)
+#36 := [rewrite]: #35
+#33 := (iff #10 #32)
+#30 := (= #9 -1::int)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31 #31]: #33
+#38 := [trans #34 #36]: #37
+#41 := [monotonicity #38]: #40
+#45 := [trans #41 #43]: #44
+#28 := [asserted]: #11
+[mp #28 #45]: false
+unsat
+627b9649fe4139aa10844958a49f92fc2ed56e6b 26 0
+#2 := false
+#8 := 3::int
+#9 := (- 3::int)
+#10 := (= #9 #9)
+#11 := (not #10)
+#44 := (iff #11 false)
+#1 := true
+#39 := (not true)
+#42 := (iff #39 false)
+#43 := [rewrite]: #42
+#40 := (iff #11 #39)
+#37 := (iff #10 true)
+#29 := -3::int
+#32 := (= -3::int -3::int)
+#35 := (iff #32 true)
+#36 := [rewrite]: #35
+#33 := (iff #10 #32)
+#30 := (= #9 -3::int)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31 #31]: #33
+#38 := [trans #34 #36]: #37
+#41 := [monotonicity #38]: #40
+#45 := [trans #41 #43]: #44
+#28 := [asserted]: #11
+[mp #28 #45]: false
+unsat
+6f0da92e2f84bd612985ca7ec2cf4ab63063d3d9 53 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -16287,394 +26293,7 @@
 #171 := [and-elim #169]: #149
 [th-lemma #171 #170 #172]: false
 unsat
-ed434a8d852f3ef0c4b2a01de695370158eb1708 17 0
-#2 := false
-#8 := 0::int
-#9 := (= 0::int 0::int)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-338357cf4196be773c72026276e98bed42563d5e 25 0
-#2 := false
-#8 := 0::int
-#9 := (- 0::int)
-#10 := (= 0::int #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (= 0::int 0::int)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #10 #31)
-#29 := (= #9 0::int)
-#30 := [rewrite]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-867d1fafdaadf30f7a059d5589fdb8c2bf408653 17 0
-#2 := false
-#8 := 1::int
-#9 := (= 1::int 1::int)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-5943aea69963bbcc197c3d50093a07c2985107c2 34 0
-#2 := false
-#8 := 1::int
-#9 := (- 1::int)
-#10 := (= #9 1::int)
-#11 := (not #10)
-#12 := (not #11)
-#52 := (iff #12 false)
-#1 := true
-#47 := (not true)
-#50 := (iff #47 false)
-#51 := [rewrite]: #50
-#48 := (iff #12 #47)
-#45 := (iff #11 true)
-#40 := (not false)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#41 := (iff #11 #40)
-#38 := (iff #10 false)
-#30 := -1::int
-#33 := (= -1::int 1::int)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #10 #33)
-#31 := (= #9 -1::int)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#29 := [asserted]: #12
-[mp #29 #53]: false
-unsat
-715dc24e87073f9f3b4eba5f97976011aef52fdb 40 0
-#2 := false
-#12 := 567::int
-#10 := 345::int
-#8 := 123::int
-#9 := (- 123::int)
-#11 := (+ #9 345::int)
-#13 := (< #11 567::int)
-#14 := (not #13)
-#58 := (iff #14 false)
-#38 := 222::int
-#43 := (< 222::int 567::int)
-#46 := (not #43)
-#56 := (iff #46 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #46 #51)
-#49 := (iff #43 true)
-#50 := [rewrite]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#41 := (= #11 222::int)
-#32 := -123::int
-#35 := (+ -123::int 345::int)
-#39 := (= #35 222::int)
-#40 := [rewrite]: #39
-#36 := (= #11 #35)
-#33 := (= #9 -123::int)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#42 := [trans #37 #40]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#59 := [trans #48 #57]: #58
-#31 := [asserted]: #14
-[mp #31 #59]: false
-unsat
-bb65114f0b3cbddac138f9f5170c5cee40e42881 30 0
-#2 := false
-#10 := 2345678901::int
-#8 := 123456789::int
-#9 := (- 123456789::int)
-#11 := (< #9 2345678901::int)
-#12 := (not #11)
-#48 := (iff #12 false)
-#30 := -123456789::int
-#33 := (< -123456789::int 2345678901::int)
-#36 := (not #33)
-#46 := (iff #36 false)
-#1 := true
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #36 #41)
-#39 := (iff #33 true)
-#40 := [rewrite]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#37 := (iff #12 #36)
-#34 := (iff #11 #33)
-#31 := (= #9 -123456789::int)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#38 := [monotonicity #35]: #37
-#49 := [trans #38 #47]: #48
-#29 := [asserted]: #12
-[mp #29 #49]: false
-unsat
-8e1bb3306a0749f86b5eb9ba42882d9894f78d3d 26 0
-#2 := false
-decl f3 :: int
-#8 := f3
-#9 := 0::int
-#10 := (+ f3 0::int)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-d639d04a056e1fcc050de165453e89b0bfe78d22 26 0
-#2 := false
-decl f3 :: int
-#9 := f3
-#8 := 0::int
-#10 := (+ 0::int f3)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-3b63f6086e2140e850f10e8d6167751f9a080815 29 0
-#2 := false
-decl f3 :: int
-#8 := f3
-decl f4 :: int
-#9 := f4
-#11 := (+ f4 f3)
-#10 := (+ f3 f4)
-#12 := (= #10 #11)
-#13 := (not #12)
-#45 := (iff #13 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #13 #40)
-#38 := (iff #12 true)
-#33 := (= #10 #10)
-#36 := (iff #33 true)
-#37 := [rewrite]: #36
-#34 := (iff #12 #33)
-#31 := (= #11 #10)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#30 := [asserted]: #13
-[mp #30 #46]: false
-unsat
-1ce9f759ae49f3864320a9981e66669d7d207503 33 0
-#2 := false
-decl f5 :: int
-#10 := f5
-decl f4 :: int
-#9 := f4
-decl f3 :: int
-#8 := f3
-#13 := (+ f3 f4)
-#14 := (+ #13 f5)
-#11 := (+ f4 f5)
-#12 := (+ f3 #11)
-#15 := (= #12 #14)
-#16 := (not #15)
-#48 := (iff #16 false)
-#1 := true
-#43 := (not true)
-#46 := (iff #43 false)
-#47 := [rewrite]: #46
-#44 := (iff #16 #43)
-#41 := (iff #15 true)
-#36 := (= #12 #12)
-#39 := (iff #36 true)
-#40 := [rewrite]: #39
-#37 := (iff #15 #36)
-#34 := (= #14 #12)
-#35 := [rewrite]: #34
-#38 := [monotonicity #35]: #37
-#42 := [trans #38 #40]: #41
-#45 := [monotonicity #42]: #44
-#49 := [trans #45 #47]: #48
-#33 := [asserted]: #16
-[mp #33 #49]: false
-unsat
-874be756bcaf30e65c16d8e08cb52dff2d8a608c 45 0
-#2 := false
-decl f4 :: int
-#9 := f4
-#13 := (- f4)
-decl f3 :: int
-#8 := f3
-#14 := (= f3 #13)
-#11 := 0::int
-#10 := (+ f3 f4)
-#12 := (= #10 0::int)
-#15 := (iff #12 #14)
-#16 := (not #15)
-#62 := (iff #16 false)
-#47 := (not #12)
-#34 := -1::int
-#35 := (* -1::int f4)
-#38 := (= f3 #35)
-#48 := (iff #38 #47)
-#60 := (iff #48 false)
-#55 := (iff #12 #47)
-#58 := (iff #55 false)
-#59 := [rewrite]: #58
-#56 := (iff #48 #55)
-#53 := (iff #38 #12)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#61 := [trans #57 #59]: #60
-#51 := (iff #16 #48)
-#41 := (iff #12 #38)
-#44 := (not #41)
-#49 := (iff #44 #48)
-#50 := [rewrite]: #49
-#45 := (iff #16 #44)
-#42 := (iff #15 #41)
-#39 := (iff #14 #38)
-#36 := (= #13 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#43 := [monotonicity #40]: #42
-#46 := [monotonicity #43]: #45
-#52 := [trans #46 #50]: #51
-#63 := [trans #52 #61]: #62
-#33 := [asserted]: #16
-[mp #33 #63]: false
-unsat
-64c69e25d3a0449c698081f4cb9242fb6934e70f 26 0
-#2 := false
-#8 := 1::int
-#9 := (- 1::int)
-#10 := (= #9 #9)
-#11 := (not #10)
-#44 := (iff #11 false)
-#1 := true
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #11 #39)
-#37 := (iff #10 true)
-#29 := -1::int
-#32 := (= -1::int -1::int)
-#35 := (iff #32 true)
-#36 := [rewrite]: #35
-#33 := (iff #10 #32)
-#30 := (= #9 -1::int)
-#31 := [rewrite]: #30
-#34 := [monotonicity #31 #31]: #33
-#38 := [trans #34 #36]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#28 := [asserted]: #11
-[mp #28 #45]: false
-unsat
-47f2b1fe93be442ab0a662dee31bf529fde2944c 26 0
-#2 := false
-#8 := 3::int
-#9 := (- 3::int)
-#10 := (= #9 #9)
-#11 := (not #10)
-#44 := (iff #11 false)
-#1 := true
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #11 #39)
-#37 := (iff #10 true)
-#29 := -3::int
-#32 := (= -3::int -3::int)
-#35 := (iff #32 true)
-#36 := [rewrite]: #35
-#33 := (iff #10 #32)
-#30 := (= #9 -3::int)
-#31 := [rewrite]: #30
-#34 := [monotonicity #31 #31]: #33
-#38 := [trans #34 #36]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#28 := [asserted]: #11
-[mp #28 #45]: false
-unsat
-2482501dff9d1180d8ed87b147225f74cf2613dc 58 0
+38476cf6298acd443b7e96455508697d68d94894 58 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -16733,7 +26352,7 @@
 #31 := [asserted]: #14
 [mp #31 #77]: false
 unsat
-8ec4c3ebc255a7267982d00d4ae0cabf0d20510a 61 0
+792b4b3859919262c72016c9acfe8ea3843e85d7 61 0
 #2 := false
 #8 := 0::int
 decl f3 :: int
@@ -16795,7 +26414,67 @@
 #31 := [asserted]: #14
 [mp #31 #79]: false
 unsat
-668c2d2887e11c00b7ba359c2de9bccabf20f1e2 61 0
+e55670f249d7d5f46be920cd9d904dea4e4fc39f 26 0
+#2 := false
+decl f3 :: int
+#8 := f3
+#9 := 0::int
+#10 := (- f3 0::int)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+a90b5df92ad9a6706799b2ce3864229806b976dc 32 0
+#2 := false
+decl f3 :: int
+#9 := f3
+#11 := (- f3)
+#8 := 0::int
+#10 := (- 0::int f3)
+#12 := (= #10 #11)
+#13 := (not #12)
+#49 := (iff #13 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #13 #44)
+#42 := (iff #12 true)
+#31 := -1::int
+#32 := (* -1::int f3)
+#37 := (= #32 #32)
+#40 := (iff #37 true)
+#41 := [rewrite]: #40
+#38 := (iff #12 #37)
+#35 := (= #11 #32)
+#36 := [rewrite]: #35
+#33 := (= #10 #32)
+#34 := [rewrite]: #33
+#39 := [monotonicity #34 #36]: #38
+#43 := [trans #39 #41]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#30 := [asserted]: #13
+[mp #30 #50]: false
+unsat
+ad72886d0079cf60e87d335a960f64cba8248b20 61 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -16857,67 +26536,7 @@
 #31 := [asserted]: #14
 [mp #31 #79]: false
 unsat
-91833407e2fa11bd81435e99b55b58ebfafb1e77 26 0
-#2 := false
-decl f3 :: int
-#8 := f3
-#9 := 0::int
-#10 := (- f3 0::int)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-4c9b1171e8f5ec24906ea56a788bc2e3bdd3eeca 32 0
-#2 := false
-decl f3 :: int
-#9 := f3
-#11 := (- f3)
-#8 := 0::int
-#10 := (- 0::int f3)
-#12 := (= #10 #11)
-#13 := (not #12)
-#49 := (iff #13 false)
-#1 := true
-#44 := (not true)
-#47 := (iff #44 false)
-#48 := [rewrite]: #47
-#45 := (iff #13 #44)
-#42 := (iff #12 true)
-#31 := -1::int
-#32 := (* -1::int f3)
-#37 := (= #32 #32)
-#40 := (iff #37 true)
-#41 := [rewrite]: #40
-#38 := (iff #12 #37)
-#35 := (= #11 #32)
-#36 := [rewrite]: #35
-#33 := (= #10 #32)
-#34 := [rewrite]: #33
-#39 := [monotonicity #34 #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#30 := [asserted]: #13
-[mp #30 #50]: false
-unsat
-d57becfa9f4b7e88a7dcbf91788610a6cb73b146 64 0
+d08f4e145bad8aa6777f75810df1459ec9077380 64 0
 #2 := false
 #12 := 0::int
 decl f4 :: int
@@ -16982,7 +26601,7 @@
 #32 := [asserted]: #15
 [mp #32 #81]: false
 unsat
-4040174103807c5abeeb69b9185128b009b95b5f 44 0
+b835fac148452954f8fe0754df04f54bf681e269 44 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -17027,7 +26646,7 @@
 #31 := [asserted]: #14
 [mp #31 #61]: false
 unsat
-054a96393770a76ee29957e3d16bb134c9dadb35 42 0
+988b478ff3b6a0c8396fcbd4c2a01d93e477e7a6 42 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -17070,7 +26689,34 @@
 #31 := [asserted]: #14
 [mp #31 #59]: false
 unsat
-ad203296ea503ecdd81c71c4ae272e08de16a654 48 0
+8d27e1414f3d037da5784d95941af1a199886e3b 26 0
+#2 := false
+#9 := 0::int
+decl f3 :: int
+#8 := f3
+#10 := (* f3 0::int)
+#11 := (= #10 0::int)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= 0::int 0::int)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+49a025166be07b22ecb69da498e85645cad3436d 48 0
 #2 := false
 decl f5 :: int
 #11 := f5
@@ -17119,34 +26765,7 @@
 #33 := [asserted]: #16
 [mp #33 #64]: false
 unsat
-c1b0e98ca220494689565415ab1dcebe6fa0d444 26 0
-#2 := false
-#9 := 0::int
-decl f3 :: int
-#8 := f3
-#10 := (* f3 0::int)
-#11 := (= #10 0::int)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= 0::int 0::int)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-dece965f3c6151f83b0de59bbe4f0ba10e7e97f9 26 0
+7a9044897deb1d6290b6a90dcd09885d5511c7e4 26 0
 #2 := false
 #8 := 0::int
 decl f3 :: int
@@ -17173,7 +26792,7 @@
 #29 := [asserted]: #12
 [mp #29 #44]: false
 unsat
-461fdb6982dad0d1b399fb5db09287115e6b6cc3 26 0
+5eb0c3df4e96042f330237e1b919e90ecdb74f83 26 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -17200,7 +26819,7 @@
 #29 := [asserted]: #12
 [mp #29 #44]: false
 unsat
-0b54863485aa10cf645d5bc7b322d1ba8118b0d8 26 0
+330d57794eed4517ab10b237d85c8054ec6a5ea1 26 0
 #2 := false
 decl f3 :: int
 #9 := f3
@@ -17227,7 +26846,7 @@
 #29 := [asserted]: #12
 [mp #29 #44]: false
 unsat
-00cbc9bbde1a21b4ec41867ca29cd9a793c98e95 40 0
+118cf0819162003a4a6b17d8f67a00e396d7fe91 40 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -17268,7 +26887,7 @@
 #31 := [asserted]: #14
 [mp #31 #58]: false
 unsat
-372ec6980c70cef9ac29be50305f6f70f148ceb4 35 0
+4971035b314acd7eb08bbed7d6905e357c5d571c 35 0
 #2 := false
 decl f3 :: int
 #10 := f3
@@ -17304,7 +26923,7 @@
 #31 := [asserted]: #14
 [mp #31 #53]: false
 unsat
-92c9831074e5b2d154f59e6c16ca64cf6c2306e5 28 0
+d8009fc7f359356bf7ea607592f41aaeaef5cced 28 0
 #2 := false
 #8 := 3::int
 decl f3 :: int
@@ -17333,7 +26952,15579 @@
 #30 := [asserted]: #13
 [mp #30 #46]: false
 unsat
-98af8ac1621f25bec4b921bca3d925b1b20ce7aa 75 0
+5f6da7a3c4fe819b8be2bc640a3f6427ec98f801 244 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#38 := (f3 0::int 0::int)
+#39 := (= #38 0::int)
+#40 := (not #39)
+#167 := [asserted]: #40
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#736 := (pattern #10)
+#64 := -1::int
+#68 := (* -1::int #9)
+#65 := (* -1::int #8)
+#71 := (div #65 #68)
+#238 := (* -1::int #71)
+#239 := (+ #10 #238)
+#240 := (= #239 0::int)
+#21 := (div #8 #9)
+#235 := (* -1::int #21)
+#236 := (+ #10 #235)
+#237 := (= #236 0::int)
+#90 := (<= #9 0::int)
+#86 := (<= #8 0::int)
+#193 := (or #86 #90)
+#194 := (not #193)
+#97 := (>= #8 0::int)
+#185 := (or #90 #97)
+#186 := (not #185)
+#200 := (or #186 #194)
+#241 := (ite #200 #237 #240)
+#234 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#242 := (ite #14 #234 #241)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #242)
+#245 := (forall (vars (?v0 int) (?v1 int)) #242)
+#740 := (iff #245 #737)
+#738 := (iff #242 #242)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#205 := (ite #200 #21 #71)
+#208 := (ite #14 0::int #205)
+#211 := (= #10 #208)
+#214 := (forall (vars (?v0 int) (?v1 int)) #211)
+#246 := (iff #214 #245)
+#243 := (iff #211 #242)
+#244 := [rewrite]: #243
+#247 := [quant-intro #244]: #246
+#98 := (not #97)
+#91 := (not #90)
+#101 := (and #91 #98)
+#87 := (not #86)
+#94 := (and #87 #91)
+#104 := (or #94 #101)
+#107 := (ite #104 #21 #71)
+#110 := (ite #14 0::int #107)
+#113 := (= #10 #110)
+#116 := (forall (vars (?v0 int) (?v1 int)) #113)
+#215 := (iff #116 #214)
+#212 := (iff #113 #211)
+#209 := (= #110 #208)
+#206 := (= #107 #205)
+#203 := (iff #104 #200)
+#197 := (or #194 #186)
+#201 := (iff #197 #200)
+#202 := [rewrite]: #201
+#198 := (iff #104 #197)
+#195 := (iff #101 #186)
+#196 := [rewrite]: #195
+#183 := (iff #94 #194)
+#184 := [rewrite]: #183
+#199 := [monotonicity #184 #196]: #198
+#204 := [trans #199 #202]: #203
+#207 := [monotonicity #204]: #206
+#210 := [monotonicity #207]: #209
+#213 := [monotonicity #210]: #212
+#216 := [quant-intro #213]: #215
+#189 := (~ #116 #116)
+#187 := (~ #113 #113)
+#188 := [refl]: #187
+#190 := [nnf-pos #188]: #189
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#119 := (iff #28 #116)
+#58 := (and #16 #18)
+#61 := (or #17 #58)
+#74 := (ite #61 #21 #71)
+#77 := (ite #14 0::int #74)
+#80 := (= #10 #77)
+#83 := (forall (vars (?v0 int) (?v1 int)) #80)
+#117 := (iff #83 #116)
+#114 := (iff #80 #113)
+#111 := (= #77 #110)
+#108 := (= #74 #107)
+#105 := (iff #61 #104)
+#102 := (iff #58 #101)
+#99 := (iff #18 #98)
+#100 := [rewrite]: #99
+#92 := (iff #16 #91)
+#93 := [rewrite]: #92
+#103 := [monotonicity #93 #100]: #102
+#95 := (iff #17 #94)
+#88 := (iff #15 #87)
+#89 := [rewrite]: #88
+#96 := [monotonicity #89 #93]: #95
+#106 := [monotonicity #96 #103]: #105
+#109 := [monotonicity #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [quant-intro #115]: #117
+#84 := (iff #28 #83)
+#81 := (iff #27 #80)
+#78 := (= #26 #77)
+#75 := (= #25 #74)
+#72 := (= #24 #71)
+#69 := (= #23 #68)
+#70 := [rewrite]: #69
+#66 := (= #22 #65)
+#67 := [rewrite]: #66
+#73 := [monotonicity #67 #70]: #72
+#62 := (iff #20 #61)
+#59 := (iff #19 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#76 := [monotonicity #63 #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [quant-intro #82]: #84
+#120 := [trans #85 #118]: #119
+#57 := [asserted]: #28
+#121 := [mp #57 #120]: #116
+#180 := [mp~ #121 #190]: #116
+#217 := [mp #180 #216]: #214
+#248 := [mp #217 #247]: #245
+#742 := [mp #248 #741]: #737
+#694 := (not #737)
+#695 := (or #694 #39)
+#322 := (* -1::int 0::int)
+#407 := (div #322 #322)
+#408 := (* -1::int #407)
+#409 := (+ #38 #408)
+#400 := (= #409 0::int)
+#411 := (div 0::int 0::int)
+#412 := (* -1::int #411)
+#340 := (+ #38 #412)
+#413 := (= #340 0::int)
+#410 := (<= 0::int 0::int)
+#414 := (or #410 #410)
+#393 := (not #414)
+#728 := (>= 0::int 0::int)
+#730 := (or #410 #728)
+#387 := (not #730)
+#517 := (or #387 #393)
+#724 := (ite #517 #413 #400)
+#398 := (= 0::int 0::int)
+#399 := (or #398 #398)
+#731 := (ite #399 #39 #724)
+#690 := (or #694 #731)
+#537 := (iff #690 #695)
+#539 := (iff #695 #695)
+#681 := [rewrite]: #539
+#688 := (iff #731 #39)
+#1 := true
+#698 := (ite true #39 #413)
+#692 := (iff #698 #39)
+#693 := [rewrite]: #692
+#702 := (iff #731 #698)
+#697 := (iff #724 #413)
+#420 := (ite false #413 #413)
+#700 := (iff #420 #413)
+#415 := [rewrite]: #700
+#421 := (iff #724 #420)
+#418 := (iff #400 #413)
+#704 := (= #409 #340)
+#703 := (= #408 #412)
+#428 := (= #407 #411)
+#705 := (= #322 0::int)
+#706 := [rewrite]: #705
+#429 := [monotonicity #706 #706]: #428
+#707 := [monotonicity #429]: #703
+#708 := [monotonicity #707]: #704
+#419 := [monotonicity #708]: #418
+#435 := (iff #517 false)
+#709 := (or false false)
+#433 := (iff #709 false)
+#434 := [rewrite]: #433
+#710 := (iff #517 #709)
+#720 := (iff #393 false)
+#713 := (not true)
+#716 := (iff #713 false)
+#717 := [rewrite]: #716
+#362 := (iff #393 #713)
+#721 := (iff #414 true)
+#734 := (or true true)
+#725 := (iff #734 true)
+#385 := [rewrite]: #725
+#356 := (iff #414 #734)
+#386 := (iff #410 true)
+#727 := [rewrite]: #386
+#719 := [monotonicity #727 #727]: #356
+#361 := [trans #719 #385]: #721
+#722 := [monotonicity #361]: #362
+#723 := [trans #722 #717]: #720
+#712 := (iff #387 false)
+#714 := (iff #387 #713)
+#376 := (iff #730 true)
+#374 := (iff #730 #734)
+#370 := (iff #728 true)
+#711 := [rewrite]: #370
+#375 := [monotonicity #727 #711]: #374
+#377 := [trans #375 #385]: #376
+#715 := [monotonicity #377]: #714
+#718 := [trans #715 #717]: #712
+#432 := [monotonicity #718 #723]: #710
+#328 := [trans #432 #434]: #435
+#699 := [monotonicity #328 #419]: #421
+#701 := [trans #699 #415]: #697
+#390 := (iff #399 true)
+#729 := (iff #399 #734)
+#732 := (iff #398 true)
+#733 := [rewrite]: #732
+#735 := [monotonicity #733 #733]: #729
+#726 := [trans #735 #385]: #390
+#691 := [monotonicity #726 #701]: #702
+#689 := [trans #691 #693]: #688
+#538 := [monotonicity #689]: #537
+#682 := [trans #538 #681]: #537
+#696 := [quant-inst]: #690
+#683 := [mp #696 #682]: #695
+[unit-resolution #683 #742 #167]: false
+unsat
+c874d9a87d8800bf1a614a4635e058f59b457075 268 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := (f4 0::int 0::int)
+#39 := (= #38 0::int)
+#40 := (not #39)
+#167 := [asserted]: #40
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#743 := (pattern #29)
+#64 := -1::int
+#68 := (* -1::int #9)
+#65 := (* -1::int #8)
+#123 := (mod #65 #68)
+#254 := (+ #29 #123)
+#255 := (= #254 0::int)
+#30 := (mod #8 #9)
+#251 := (* -1::int #30)
+#252 := (+ #29 #251)
+#253 := (= #252 0::int)
+#90 := (<= #9 0::int)
+#86 := (<= #8 0::int)
+#193 := (or #86 #90)
+#194 := (not #193)
+#97 := (>= #8 0::int)
+#185 := (or #90 #97)
+#186 := (not #185)
+#200 := (or #186 #194)
+#256 := (ite #200 #253 #255)
+#250 := (= #29 0::int)
+#12 := (= #8 0::int)
+#257 := (ite #12 #250 #256)
+#249 := (= #8 #29)
+#13 := (= #9 0::int)
+#258 := (ite #13 #249 #257)
+#744 := (forall (vars (?v0 int) (?v1 int)) (:pat #743) #258)
+#261 := (forall (vars (?v0 int) (?v1 int)) #258)
+#747 := (iff #261 #744)
+#745 := (iff #258 #258)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#129 := (* -1::int #123)
+#218 := (ite #200 #30 #129)
+#221 := (ite #12 0::int #218)
+#224 := (ite #13 #8 #221)
+#227 := (= #29 #224)
+#230 := (forall (vars (?v0 int) (?v1 int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#98 := (not #97)
+#91 := (not #90)
+#101 := (and #91 #98)
+#87 := (not #86)
+#94 := (and #87 #91)
+#104 := (or #94 #101)
+#149 := (ite #104 #30 #129)
+#152 := (ite #12 0::int #149)
+#155 := (ite #13 #8 #152)
+#158 := (= #29 #155)
+#161 := (forall (vars (?v0 int) (?v1 int)) #158)
+#231 := (iff #161 #230)
+#228 := (iff #158 #227)
+#225 := (= #155 #224)
+#222 := (= #152 #221)
+#219 := (= #149 #218)
+#203 := (iff #104 #200)
+#197 := (or #194 #186)
+#201 := (iff #197 #200)
+#202 := [rewrite]: #201
+#198 := (iff #104 #197)
+#195 := (iff #101 #186)
+#196 := [rewrite]: #195
+#183 := (iff #94 #194)
+#184 := [rewrite]: #183
+#199 := [monotonicity #184 #196]: #198
+#204 := [trans #199 #202]: #203
+#220 := [monotonicity #204]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#181 := (~ #161 #161)
+#178 := (~ #158 #158)
+#191 := [refl]: #178
+#182 := [nnf-pos #191]: #181
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#164 := (iff #37 #161)
+#58 := (and #16 #18)
+#61 := (or #17 #58)
+#134 := (ite #61 #30 #129)
+#137 := (ite #12 0::int #134)
+#140 := (ite #13 #8 #137)
+#143 := (= #29 #140)
+#146 := (forall (vars (?v0 int) (?v1 int)) #143)
+#162 := (iff #146 #161)
+#159 := (iff #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#150 := (= #134 #149)
+#105 := (iff #61 #104)
+#102 := (iff #58 #101)
+#99 := (iff #18 #98)
+#100 := [rewrite]: #99
+#92 := (iff #16 #91)
+#93 := [rewrite]: #92
+#103 := [monotonicity #93 #100]: #102
+#95 := (iff #17 #94)
+#88 := (iff #15 #87)
+#89 := [rewrite]: #88
+#96 := [monotonicity #89 #93]: #95
+#106 := [monotonicity #96 #103]: #105
+#151 := [monotonicity #106]: #150
+#154 := [monotonicity #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [quant-intro #160]: #162
+#147 := (iff #37 #146)
+#144 := (iff #36 #143)
+#141 := (= #35 #140)
+#138 := (= #34 #137)
+#135 := (= #33 #134)
+#132 := (= #32 #129)
+#126 := (- #123)
+#130 := (= #126 #129)
+#131 := [rewrite]: #130
+#127 := (= #32 #126)
+#124 := (= #31 #123)
+#69 := (= #23 #68)
+#70 := [rewrite]: #69
+#66 := (= #22 #65)
+#67 := [rewrite]: #66
+#125 := [monotonicity #67 #70]: #124
+#128 := [monotonicity #125]: #127
+#133 := [trans #128 #131]: #132
+#62 := (iff #20 #61)
+#59 := (iff #19 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#136 := [monotonicity #63 #133]: #135
+#139 := [monotonicity #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [quant-intro #145]: #147
+#165 := [trans #148 #163]: #164
+#122 := [asserted]: #37
+#166 := [mp #122 #165]: #161
+#192 := [mp~ #166 #182]: #161
+#233 := [mp #192 #232]: #230
+#264 := [mp #233 #263]: #261
+#749 := [mp #264 #748]: #744
+#690 := (not #744)
+#696 := (or #690 #39)
+#322 := (* -1::int 0::int)
+#407 := (mod #322 #322)
+#408 := (+ #38 #407)
+#409 := (= #408 0::int)
+#400 := (mod 0::int 0::int)
+#411 := (* -1::int #400)
+#412 := (+ #38 #411)
+#340 := (= #412 0::int)
+#413 := (<= 0::int 0::int)
+#410 := (or #413 #413)
+#414 := (not #410)
+#393 := (>= 0::int 0::int)
+#728 := (or #413 #393)
+#730 := (not #728)
+#387 := (or #730 #414)
+#517 := (ite #387 #340 #409)
+#724 := (= 0::int 0::int)
+#398 := (ite #724 #39 #517)
+#168 := (= 0::int #38)
+#399 := (ite #724 #168 #398)
+#537 := (or #690 #399)
+#539 := (iff #537 #696)
+#682 := (iff #696 #696)
+#683 := [rewrite]: #682
+#694 := (iff #399 #39)
+#1 := true
+#691 := (ite true #39 #39)
+#688 := (iff #691 #39)
+#689 := [rewrite]: #688
+#692 := (iff #399 #691)
+#698 := (iff #398 #39)
+#328 := (+ #38 #400)
+#428 := (= #328 0::int)
+#699 := (ite true #39 #428)
+#697 := (iff #699 #39)
+#701 := [rewrite]: #697
+#700 := (iff #398 #699)
+#420 := (iff #517 #428)
+#707 := (ite false #340 #428)
+#418 := (iff #707 #428)
+#419 := [rewrite]: #418
+#704 := (iff #517 #707)
+#429 := (iff #409 #428)
+#705 := (= #408 #328)
+#434 := (= #407 #400)
+#432 := (= #322 0::int)
+#433 := [rewrite]: #432
+#435 := [monotonicity #433 #433]: #434
+#706 := [monotonicity #435]: #705
+#703 := [monotonicity #706]: #429
+#709 := (iff #387 false)
+#361 := (or false false)
+#720 := (iff #361 false)
+#723 := [rewrite]: #720
+#362 := (iff #387 #361)
+#719 := (iff #414 false)
+#711 := (not true)
+#376 := (iff #711 false)
+#377 := [rewrite]: #376
+#718 := (iff #414 #711)
+#717 := (iff #410 true)
+#725 := (or true true)
+#726 := (iff #725 true)
+#386 := [rewrite]: #726
+#715 := (iff #410 #725)
+#733 := (iff #413 true)
+#734 := [rewrite]: #733
+#716 := [monotonicity #734 #734]: #715
+#712 := [trans #716 #386]: #717
+#356 := [monotonicity #712]: #718
+#721 := [trans #356 #377]: #719
+#713 := (iff #730 false)
+#374 := (iff #730 #711)
+#727 := (iff #728 true)
+#385 := (iff #728 #725)
+#729 := (iff #393 true)
+#735 := [rewrite]: #729
+#390 := [monotonicity #734 #735]: #385
+#370 := [trans #390 #386]: #727
+#375 := [monotonicity #370]: #374
+#714 := [trans #375 #377]: #713
+#722 := [monotonicity #714 #721]: #362
+#710 := [trans #722 #723]: #709
+#708 := [monotonicity #710 #703]: #704
+#421 := [trans #708 #419]: #420
+#731 := (iff #724 true)
+#732 := [rewrite]: #731
+#415 := [monotonicity #732 #421]: #700
+#702 := [trans #415 #701]: #698
+#174 := (iff #168 #39)
+#175 := [rewrite]: #174
+#693 := [monotonicity #732 #175 #702]: #692
+#695 := [trans #693 #689]: #694
+#681 := [monotonicity #695]: #539
+#684 := [trans #681 #683]: #539
+#538 := [quant-inst]: #537
+#678 := [mp #538 #684]: #696
+[unit-resolution #678 #749 #167]: false
+unsat
+3f2a64334c06cd9085e37e04663f0058aaac8b80 257 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+decl f5 :: int
+#38 := f5
+#39 := (f3 f5 0::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#741 := (iff #246 #738)
+#739 := (iff #243 #243)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#743 := [mp #249 #742]: #738
+#679 := (not #738)
+#680 := (or #679 #40)
+#323 := (* -1::int 0::int)
+#408 := (* -1::int f5)
+#409 := (div #408 #323)
+#410 := (* -1::int #409)
+#401 := (+ #39 #410)
+#412 := (= #401 0::int)
+#413 := (div f5 0::int)
+#341 := (* -1::int #413)
+#414 := (+ #39 #341)
+#411 := (= #414 0::int)
+#415 := (<= 0::int 0::int)
+#394 := (<= f5 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= f5 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #412)
+#732 := (= 0::int 0::int)
+#733 := (= f5 0::int)
+#734 := (or #733 #732)
+#735 := (ite #734 #40 #400)
+#686 := (or #679 #735)
+#681 := (iff #686 #680)
+#517 := (iff #680 #680)
+#519 := [rewrite]: #517
+#684 := (iff #735 #40)
+#420 := (div #408 0::int)
+#700 := (* -1::int #420)
+#698 := (+ #39 #700)
+#703 := (= #698 0::int)
+#1 := true
+#538 := (ite true #40 #703)
+#682 := (iff #538 #40)
+#683 := [rewrite]: #682
+#539 := (iff #735 #538)
+#691 := (iff #400 #703)
+#694 := (ite false #411 #703)
+#695 := (iff #694 #703)
+#696 := [rewrite]: #695
+#689 := (iff #400 #694)
+#692 := (iff #412 #703)
+#702 := (= #401 #698)
+#701 := (= #410 #700)
+#421 := (= #409 #420)
+#709 := (= #323 0::int)
+#419 := [rewrite]: #709
+#422 := [monotonicity #419]: #421
+#416 := [monotonicity #422]: #701
+#699 := [monotonicity #416]: #702
+#693 := [monotonicity #699]: #692
+#708 := (iff #399 false)
+#706 := (or false false)
+#430 := (iff #706 false)
+#704 := [rewrite]: #430
+#707 := (iff #399 #706)
+#436 := (iff #731 false)
+#718 := (not true)
+#357 := (iff #718 false)
+#720 := [rewrite]: #357
+#434 := (iff #731 #718)
+#711 := (iff #729 true)
+#363 := (or #394 true)
+#724 := (iff #363 true)
+#710 := [rewrite]: #724
+#723 := (iff #729 #363)
+#712 := (iff #415 true)
+#375 := [rewrite]: #712
+#721 := [monotonicity #375]: #723
+#433 := [trans #721 #710]: #711
+#435 := [monotonicity #433]: #434
+#329 := [trans #435 #720]: #436
+#722 := (iff #725 false)
+#713 := (iff #725 #718)
+#716 := (iff #518 true)
+#376 := (or true #388)
+#714 := (iff #376 true)
+#715 := [rewrite]: #714
+#377 := (iff #518 #376)
+#378 := [monotonicity #375]: #377
+#717 := [trans #378 #715]: #716
+#719 := [monotonicity #717]: #713
+#362 := [trans #719 #720]: #722
+#429 := [monotonicity #362 #329]: #707
+#705 := [trans #429 #704]: #708
+#690 := [monotonicity #705 #693]: #689
+#697 := [trans #690 #696]: #691
+#728 := (iff #734 true)
+#726 := (or #733 true)
+#727 := (iff #726 true)
+#387 := [rewrite]: #727
+#386 := (iff #734 #726)
+#730 := (iff #732 true)
+#736 := [rewrite]: #730
+#391 := [monotonicity #736]: #386
+#371 := [trans #391 #387]: #728
+#540 := [monotonicity #371 #697]: #539
+#685 := [trans #540 #683]: #684
+#688 := [monotonicity #685]: #681
+#520 := [trans #688 #519]: #681
+#687 := [quant-inst]: #686
+#673 := [mp #687 #520]: #680
+[unit-resolution #673 #743 #168]: false
+unsat
+2feb38075fe02eeb2836b76bf8c76e21fff33262 281 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#38 := 1::int
+#39 := (f3 0::int 1::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#736 := (pattern #10)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#740 := (iff #246 #737)
+#738 := (iff #243 #243)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#742 := [mp #249 #741]: #737
+#571 := (not #737)
+#572 := (or #571 #40)
+#323 := (* -1::int 1::int)
+#407 := (* -1::int 0::int)
+#408 := (div #407 #323)
+#409 := (* -1::int #408)
+#400 := (+ #39 #409)
+#411 := (= #400 0::int)
+#412 := (div 0::int 1::int)
+#413 := (* -1::int #412)
+#410 := (+ #39 #413)
+#414 := (= #410 0::int)
+#393 := (<= 1::int 0::int)
+#728 := (<= 0::int 0::int)
+#730 := (or #728 #393)
+#387 := (not #730)
+#517 := (>= 0::int 0::int)
+#724 := (or #393 #517)
+#398 := (not #724)
+#399 := (or #398 #387)
+#731 := (ite #399 #414 #411)
+#732 := (= 1::int 0::int)
+#733 := (= 0::int 0::int)
+#734 := (or #733 #732)
+#729 := (ite #734 #40 #731)
+#565 := (or #571 #729)
+#574 := (iff #565 #572)
+#576 := (iff #572 #572)
+#577 := [rewrite]: #576
+#554 := (iff #729 #40)
+#1 := true
+#668 := (ite true #40 #40)
+#666 := (iff #668 #40)
+#669 := [rewrite]: #666
+#570 := (iff #729 #668)
+#561 := (iff #731 #40)
+#676 := (ite false #40 #40)
+#559 := (iff #676 #40)
+#560 := [rewrite]: #559
+#674 := (iff #731 #676)
+#673 := (iff #411 #40)
+#519 := (= #400 #39)
+#691 := (+ #39 0::int)
+#688 := (= #691 #39)
+#689 := [rewrite]: #688
+#516 := (= #400 #691)
+#680 := (= #409 0::int)
+#697 := (= #407 0::int)
+#701 := [rewrite]: #697
+#685 := (= #409 #407)
+#678 := (= #408 0::int)
+#539 := (div 0::int -1::int)
+#683 := (= #539 0::int)
+#684 := [rewrite]: #683
+#681 := (= #408 #539)
+#537 := (= #323 -1::int)
+#538 := [rewrite]: #537
+#682 := [monotonicity #701 #538]: #681
+#679 := [trans #682 #684]: #678
+#686 := [monotonicity #679]: #685
+#687 := [trans #686 #701]: #680
+#518 := [monotonicity #687]: #516
+#672 := [trans #518 #689]: #519
+#675 := [monotonicity #672]: #673
+#690 := (iff #414 #40)
+#694 := (= #410 #39)
+#692 := (= #410 #691)
+#698 := (= #413 0::int)
+#700 := (= #413 #407)
+#421 := (= #412 0::int)
+#699 := [rewrite]: #421
+#415 := [monotonicity #699]: #700
+#702 := [trans #415 #701]: #698
+#693 := [monotonicity #702]: #692
+#695 := [trans #693 #689]: #694
+#696 := [monotonicity #695]: #690
+#419 := (iff #399 false)
+#703 := (or false false)
+#708 := (iff #703 false)
+#418 := [rewrite]: #708
+#707 := (iff #399 #703)
+#428 := (iff #387 false)
+#721 := (not true)
+#722 := (iff #721 false)
+#720 := [rewrite]: #722
+#705 := (iff #387 #721)
+#435 := (iff #730 true)
+#726 := (or true false)
+#370 := (iff #726 true)
+#711 := [rewrite]: #370
+#433 := (iff #730 #726)
+#376 := (iff #393 false)
+#377 := [rewrite]: #376
+#710 := (iff #728 true)
+#432 := [rewrite]: #710
+#434 := [monotonicity #432 #377]: #433
+#329 := [trans #434 #711]: #435
+#706 := [monotonicity #329]: #705
+#429 := [trans #706 #720]: #428
+#723 := (iff #398 false)
+#361 := (iff #398 #721)
+#356 := (iff #724 true)
+#715 := (or false true)
+#712 := (iff #715 true)
+#718 := [rewrite]: #712
+#716 := (iff #724 #715)
+#713 := (iff #517 true)
+#714 := [rewrite]: #713
+#717 := [monotonicity #377 #714]: #716
+#719 := [trans #717 #718]: #356
+#362 := [monotonicity #719]: #361
+#709 := [trans #362 #720]: #723
+#704 := [monotonicity #709 #429]: #707
+#420 := [trans #704 #418]: #419
+#677 := [monotonicity #420 #696 #675]: #674
+#520 := [trans #677 #560]: #561
+#374 := (iff #734 true)
+#386 := (iff #734 #726)
+#385 := (iff #732 false)
+#390 := [rewrite]: #385
+#735 := (iff #733 true)
+#725 := [rewrite]: #735
+#727 := [monotonicity #725 #390]: #386
+#375 := [trans #727 #711]: #374
+#665 := [monotonicity #375 #520]: #570
+#569 := [trans #665 #669]: #554
+#575 := [monotonicity #569]: #574
+#670 := [trans #575 #577]: #574
+#573 := [quant-inst]: #565
+#667 := [mp #573 #670]: #572
+[unit-resolution #667 #742 #168]: false
+unsat
+6b83c7688301a86c79fbfd8522bd1686332a1eaf 276 0
+#2 := false
+decl f4 :: (-> int int int)
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#39 := (f4 f5 0::int)
+#169 := (= f5 #39)
+#172 := (not #169)
+#40 := (= #39 f5)
+#41 := (not #40)
+#173 := (iff #41 #172)
+#170 := (iff #40 #169)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#168 := [asserted]: #41
+#177 := [mp #168 #174]: #172
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#741 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#252 := (+ #29 #124)
+#253 := (= #252 0::int)
+#30 := (mod #8 #9)
+#249 := (* -1::int #30)
+#250 := (+ #29 #249)
+#251 := (= #250 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#191 := (or #87 #91)
+#192 := (not #191)
+#98 := (>= #8 0::int)
+#183 := (or #91 #98)
+#184 := (not #183)
+#198 := (or #184 #192)
+#254 := (ite #198 #251 #253)
+#248 := (= #29 0::int)
+#12 := (= #8 0::int)
+#255 := (ite #12 #248 #254)
+#247 := (= #8 #29)
+#13 := (= #9 0::int)
+#256 := (ite #13 #247 #255)
+#742 := (forall (vars (?v0 int) (?v1 int)) (:pat #741) #256)
+#259 := (forall (vars (?v0 int) (?v1 int)) #256)
+#745 := (iff #259 #742)
+#743 := (iff #256 #256)
+#744 := [refl]: #743
+#746 := [quant-intro #744]: #745
+#130 := (* -1::int #124)
+#216 := (ite #198 #30 #130)
+#219 := (ite #12 0::int #216)
+#222 := (ite #13 #8 #219)
+#225 := (= #29 #222)
+#228 := (forall (vars (?v0 int) (?v1 int)) #225)
+#260 := (iff #228 #259)
+#257 := (iff #225 #256)
+#258 := [rewrite]: #257
+#261 := [quant-intro #258]: #260
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#229 := (iff #162 #228)
+#226 := (iff #159 #225)
+#223 := (= #156 #222)
+#220 := (= #153 #219)
+#217 := (= #150 #216)
+#201 := (iff #105 #198)
+#195 := (or #192 #184)
+#199 := (iff #195 #198)
+#200 := [rewrite]: #199
+#196 := (iff #105 #195)
+#193 := (iff #102 #184)
+#194 := [rewrite]: #193
+#181 := (iff #95 #192)
+#182 := [rewrite]: #181
+#197 := [monotonicity #182 #194]: #196
+#202 := [trans #197 #200]: #201
+#218 := [monotonicity #202]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [quant-intro #227]: #229
+#179 := (~ #162 #162)
+#175 := (~ #159 #159)
+#189 := [refl]: #175
+#180 := [nnf-pos #189]: #179
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#190 := [mp~ #167 #180]: #162
+#231 := [mp #190 #230]: #228
+#262 := [mp #231 #261]: #259
+#747 := [mp #262 #746]: #742
+#535 := (not #742)
+#536 := (or #535 #169)
+#320 := (* -1::int 0::int)
+#405 := (* -1::int f5)
+#406 := (mod #405 #320)
+#407 := (+ #39 #406)
+#398 := (= #407 0::int)
+#409 := (mod f5 0::int)
+#410 := (* -1::int #409)
+#338 := (+ #39 #410)
+#411 := (= #338 0::int)
+#408 := (<= 0::int 0::int)
+#412 := (<= f5 0::int)
+#391 := (or #412 #408)
+#726 := (not #391)
+#728 := (>= f5 0::int)
+#385 := (or #408 #728)
+#515 := (not #385)
+#722 := (or #515 #726)
+#396 := (ite #722 #411 #398)
+#397 := (= #39 0::int)
+#729 := (= f5 0::int)
+#730 := (ite #729 #397 #396)
+#731 := (= 0::int 0::int)
+#732 := (ite #731 #169 #730)
+#537 := (or #535 #732)
+#680 := (iff #537 #536)
+#682 := (iff #536 #536)
+#676 := [rewrite]: #682
+#688 := (iff #732 #169)
+#426 := (mod #405 0::int)
+#705 := (+ #39 #426)
+#416 := (= #705 0::int)
+#700 := (ite #729 #397 #416)
+#1 := true
+#691 := (ite true #169 #700)
+#692 := (iff #691 #169)
+#693 := [rewrite]: #692
+#686 := (iff #732 #691)
+#689 := (iff #730 #700)
+#699 := (iff #396 #416)
+#419 := (ite false #411 #416)
+#413 := (iff #419 #416)
+#695 := [rewrite]: #413
+#697 := (iff #396 #419)
+#417 := (iff #398 #416)
+#702 := (= #407 #705)
+#427 := (= #406 #426)
+#703 := (= #320 0::int)
+#704 := [rewrite]: #703
+#701 := [monotonicity #704]: #427
+#706 := [monotonicity #701]: #702
+#418 := [monotonicity #706]: #417
+#433 := (iff #722 false)
+#707 := (or false false)
+#431 := (iff #707 false)
+#432 := [rewrite]: #431
+#708 := (iff #722 #707)
+#718 := (iff #726 false)
+#373 := (not true)
+#711 := (iff #373 false)
+#712 := [rewrite]: #711
+#360 := (iff #726 #373)
+#719 := (iff #391 true)
+#715 := (or #412 true)
+#354 := (iff #715 true)
+#717 := [rewrite]: #354
+#710 := (iff #391 #715)
+#723 := (iff #408 true)
+#383 := [rewrite]: #723
+#716 := [monotonicity #383]: #710
+#359 := [trans #716 #717]: #719
+#720 := [monotonicity #359]: #360
+#721 := [trans #720 #712]: #718
+#713 := (iff #515 false)
+#374 := (iff #515 #373)
+#709 := (iff #385 true)
+#388 := (or true #728)
+#725 := (iff #388 true)
+#368 := [rewrite]: #725
+#724 := (iff #385 #388)
+#384 := [monotonicity #383]: #724
+#372 := [trans #384 #368]: #709
+#375 := [monotonicity #372]: #374
+#714 := [trans #375 #712]: #713
+#430 := [monotonicity #714 #721]: #708
+#326 := [trans #430 #432]: #433
+#698 := [monotonicity #326 #418]: #697
+#696 := [trans #698 #695]: #699
+#690 := [monotonicity #696]: #689
+#727 := (iff #731 true)
+#733 := [rewrite]: #727
+#687 := [monotonicity #733 #690]: #686
+#694 := [trans #687 #693]: #688
+#681 := [monotonicity #694]: #680
+#677 := [trans #681 #676]: #680
+#679 := [quant-inst]: #537
+#683 := [mp #679 #677]: #536
+[unit-resolution #683 #747 #177]: false
+unsat
+a0dd84d240eccf81ab65033fdd888802845765bd 281 0
+#2 := false
+#38 := 1::int
+decl f3 :: (-> int int int)
+#39 := (f3 1::int 1::int)
+#40 := (= #39 1::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#736 := (pattern #10)
+#11 := 0::int
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#740 := (iff #246 #737)
+#738 := (iff #243 #243)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#742 := [mp #249 #741]: #737
+#571 := (not #737)
+#572 := (or #571 #40)
+#323 := (* -1::int 1::int)
+#407 := (div #323 #323)
+#408 := (* -1::int #407)
+#409 := (+ #39 #408)
+#400 := (= #409 0::int)
+#411 := (div 1::int 1::int)
+#412 := (* -1::int #411)
+#413 := (+ #39 #412)
+#410 := (= #413 0::int)
+#414 := (<= 1::int 0::int)
+#393 := (or #414 #414)
+#728 := (not #393)
+#730 := (>= 1::int 0::int)
+#387 := (or #414 #730)
+#517 := (not #387)
+#724 := (or #517 #728)
+#398 := (ite #724 #410 #400)
+#399 := (= #39 0::int)
+#731 := (= 1::int 0::int)
+#732 := (or #731 #731)
+#733 := (ite #732 #399 #398)
+#565 := (or #571 #733)
+#574 := (iff #565 #572)
+#576 := (iff #572 #572)
+#577 := [rewrite]: #576
+#554 := (iff #733 #40)
+#668 := (ite false #399 #40)
+#666 := (iff #668 #40)
+#669 := [rewrite]: #666
+#570 := (iff #733 #668)
+#561 := (iff #398 #40)
+#1 := true
+#676 := (ite true #40 #40)
+#559 := (iff #676 #40)
+#560 := [rewrite]: #559
+#674 := (iff #398 #676)
+#673 := (iff #400 #40)
+#701 := (+ -1::int #39)
+#693 := (= #701 0::int)
+#694 := (iff #693 #40)
+#695 := [rewrite]: #694
+#519 := (iff #400 #693)
+#516 := (= #409 #701)
+#700 := (+ #39 -1::int)
+#698 := (= #700 #701)
+#702 := [rewrite]: #698
+#680 := (= #409 #700)
+#685 := (= #408 -1::int)
+#419 := (= #323 -1::int)
+#420 := [rewrite]: #419
+#678 := (= #408 #323)
+#683 := (= #407 1::int)
+#537 := (div -1::int -1::int)
+#681 := (= #537 1::int)
+#682 := [rewrite]: #681
+#538 := (= #407 #537)
+#539 := [monotonicity #420 #420]: #538
+#684 := [trans #539 #682]: #683
+#679 := [monotonicity #684]: #678
+#686 := [trans #679 #420]: #685
+#687 := [monotonicity #686]: #680
+#518 := [trans #687 #702]: #516
+#672 := [monotonicity #518]: #519
+#675 := [trans #672 #695]: #673
+#690 := (iff #410 #40)
+#688 := (iff #410 #693)
+#691 := (= #413 #701)
+#415 := (= #413 #700)
+#421 := (= #412 -1::int)
+#708 := (= #412 #323)
+#707 := (= #411 1::int)
+#704 := [rewrite]: #707
+#418 := [monotonicity #704]: #708
+#699 := [trans #418 #420]: #421
+#697 := [monotonicity #699]: #415
+#692 := [trans #697 #702]: #691
+#689 := [monotonicity #692]: #688
+#696 := [trans #689 #695]: #690
+#429 := (iff #724 true)
+#376 := (or false true)
+#714 := (iff #376 true)
+#715 := [rewrite]: #714
+#706 := (iff #724 #376)
+#329 := (iff #728 true)
+#710 := (not false)
+#434 := (iff #710 true)
+#435 := [rewrite]: #434
+#432 := (iff #728 #710)
+#723 := (iff #393 false)
+#735 := (or false false)
+#390 := (iff #735 false)
+#726 := [rewrite]: #390
+#722 := (iff #393 #735)
+#370 := (iff #414 false)
+#711 := [rewrite]: #370
+#720 := [monotonicity #711 #711]: #722
+#709 := [trans #720 #726]: #723
+#433 := [monotonicity #709]: #432
+#705 := [trans #433 #435]: #329
+#361 := (iff #517 false)
+#712 := (not true)
+#719 := (iff #712 false)
+#721 := [rewrite]: #719
+#718 := (iff #517 #712)
+#716 := (iff #387 true)
+#377 := (iff #387 #376)
+#374 := (iff #730 true)
+#375 := [rewrite]: #374
+#713 := [monotonicity #711 #375]: #377
+#717 := [trans #713 #715]: #716
+#356 := [monotonicity #717]: #718
+#362 := [trans #356 #721]: #361
+#428 := [monotonicity #362 #705]: #706
+#703 := [trans #428 #715]: #429
+#677 := [monotonicity #703 #696 #675]: #674
+#520 := [trans #677 #560]: #561
+#386 := (iff #732 false)
+#725 := (iff #732 #735)
+#734 := (iff #731 false)
+#729 := [rewrite]: #734
+#385 := [monotonicity #729 #729]: #725
+#727 := [trans #385 #726]: #386
+#665 := [monotonicity #727 #520]: #570
+#569 := [trans #665 #669]: #554
+#575 := [monotonicity #569]: #574
+#670 := [trans #575 #577]: #574
+#573 := [quant-inst]: #565
+#667 := [mp #573 #670]: #572
+[unit-resolution #667 #742 #168]: false
+unsat
+1028cda2400990738320cbc2fe031f4833efde19 298 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 1::int
+#39 := (f4 0::int 1::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#743 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#744 := (forall (vars (?v0 int) (?v1 int)) (:pat #743) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#747 := (iff #262 #744)
+#745 := (iff #259 #259)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#749 := [mp #265 #748]: #744
+#665 := (not #744)
+#666 := (or #665 #40)
+#323 := (* -1::int 1::int)
+#407 := (* -1::int 0::int)
+#408 := (mod #407 #323)
+#409 := (+ #39 #408)
+#400 := (= #409 0::int)
+#411 := (mod 0::int 1::int)
+#412 := (* -1::int #411)
+#413 := (+ #39 #412)
+#410 := (= #413 0::int)
+#414 := (<= 1::int 0::int)
+#393 := (<= 0::int 0::int)
+#728 := (or #393 #414)
+#730 := (not #728)
+#387 := (>= 0::int 0::int)
+#517 := (or #414 #387)
+#724 := (not #517)
+#398 := (or #724 #730)
+#399 := (ite #398 #410 #400)
+#731 := (= 0::int 0::int)
+#732 := (ite #731 #40 #399)
+#169 := (= 0::int #39)
+#733 := (= 1::int 0::int)
+#734 := (ite #733 #169 #732)
+#669 := (or #665 #734)
+#569 := (iff #669 #666)
+#572 := (iff #666 #666)
+#565 := [rewrite]: #572
+#668 := (iff #734 #40)
+#686 := (ite false #40 #40)
+#516 := (iff #686 #40)
+#518 := [rewrite]: #516
+#561 := (iff #734 #686)
+#559 := (iff #732 #40)
+#1 := true
+#673 := (ite true #40 #40)
+#674 := (iff #673 #40)
+#677 := [rewrite]: #674
+#675 := (iff #732 #673)
+#519 := (iff #399 #40)
+#680 := (iff #399 #686)
+#679 := (iff #400 #40)
+#684 := (= #409 #39)
+#415 := (+ #39 0::int)
+#698 := (= #415 #39)
+#702 := [rewrite]: #698
+#682 := (= #409 #415)
+#539 := (= #408 0::int)
+#695 := (mod 0::int -1::int)
+#537 := (= #695 0::int)
+#538 := [rewrite]: #537
+#690 := (= #408 #695)
+#689 := (= #323 -1::int)
+#694 := [rewrite]: #689
+#420 := (= #407 0::int)
+#421 := [rewrite]: #420
+#696 := [monotonicity #421 #694]: #690
+#681 := [trans #696 #538]: #539
+#683 := [monotonicity #681]: #682
+#678 := [trans #683 #702]: #684
+#685 := [monotonicity #678]: #679
+#693 := (iff #410 #40)
+#691 := (= #413 #39)
+#697 := (= #413 #415)
+#699 := (= #412 0::int)
+#418 := (= #412 #407)
+#704 := (= #411 0::int)
+#708 := [rewrite]: #704
+#419 := [monotonicity #708]: #418
+#700 := [trans #419 #421]: #699
+#701 := [monotonicity #700]: #697
+#692 := [trans #701 #702]: #691
+#688 := [monotonicity #692]: #693
+#703 := (iff #398 false)
+#329 := (or false false)
+#428 := (iff #329 false)
+#429 := [rewrite]: #428
+#705 := (iff #398 #329)
+#434 := (iff #730 false)
+#714 := (not true)
+#717 := (iff #714 false)
+#712 := [rewrite]: #717
+#432 := (iff #730 #714)
+#709 := (iff #728 true)
+#361 := (or true false)
+#720 := (iff #361 true)
+#723 := [rewrite]: #720
+#362 := (iff #728 #361)
+#390 := (iff #414 false)
+#726 := [rewrite]: #390
+#719 := (iff #393 true)
+#721 := [rewrite]: #719
+#722 := [monotonicity #721 #726]: #362
+#710 := [trans #722 #723]: #709
+#433 := [monotonicity #710]: #432
+#435 := [trans #433 #712]: #434
+#718 := (iff #724 false)
+#715 := (iff #724 #714)
+#377 := (iff #517 true)
+#370 := (or false true)
+#375 := (iff #370 true)
+#376 := [rewrite]: #375
+#711 := (iff #517 #370)
+#386 := (iff #387 true)
+#727 := [rewrite]: #386
+#374 := [monotonicity #726 #727]: #711
+#713 := [trans #374 #376]: #377
+#716 := [monotonicity #713]: #715
+#356 := [trans #716 #712]: #718
+#706 := [monotonicity #356 #435]: #705
+#707 := [trans #706 #429]: #703
+#687 := [monotonicity #707 #688 #685]: #680
+#672 := [trans #687 #518]: #519
+#725 := (iff #731 true)
+#385 := [rewrite]: #725
+#676 := [monotonicity #385 #672]: #675
+#560 := [trans #676 #677]: #559
+#175 := (iff #169 #40)
+#176 := [rewrite]: #175
+#729 := (iff #733 false)
+#735 := [rewrite]: #729
+#520 := [monotonicity #735 #176 #560]: #561
+#570 := [trans #520 #518]: #668
+#571 := [monotonicity #570]: #569
+#573 := [trans #571 #565]: #569
+#554 := [quant-inst]: #669
+#574 := [mp #554 #573]: #666
+[unit-resolution #574 #749 #168]: false
+unsat
+517d94dcf477960e98fa3a6ad1a7d3b1e41941d9 292 0
+#2 := false
+#38 := 3::int
+decl f3 :: (-> int int int)
+#39 := 1::int
+#40 := (f3 3::int 1::int)
+#41 := (= #40 3::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#11 := 0::int
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#240 := (* -1::int #73)
+#241 := (+ #10 #240)
+#242 := (= #241 0::int)
+#21 := (div #8 #9)
+#237 := (* -1::int #21)
+#238 := (+ #10 #237)
+#239 := (= #238 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#243 := (ite #202 #239 #242)
+#236 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#244 := (ite #14 #236 #243)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #244)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#741 := (iff #247 #738)
+#739 := (iff #244 #244)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#207 := (ite #202 #21 #73)
+#210 := (ite #14 0::int #207)
+#213 := (= #10 #210)
+#216 := (forall (vars (?v0 int) (?v1 int)) #213)
+#248 := (iff #216 #247)
+#245 := (iff #213 #244)
+#246 := [rewrite]: #245
+#249 := [quant-intro #246]: #248
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#217 := (iff #118 #216)
+#214 := (iff #115 #213)
+#211 := (= #112 #210)
+#208 := (= #109 #207)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [quant-intro #215]: #217
+#191 := (~ #118 #118)
+#189 := (~ #115 #115)
+#190 := [refl]: #189
+#192 := [nnf-pos #190]: #191
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#182 := [mp~ #123 #192]: #118
+#219 := [mp #182 #218]: #216
+#250 := [mp #219 #249]: #247
+#743 := [mp #250 #742]: #738
+#672 := (not #738)
+#659 := (or #672 #41)
+#324 := (* -1::int 1::int)
+#408 := (* -1::int 3::int)
+#409 := (div #408 #324)
+#410 := (* -1::int #409)
+#401 := (+ #40 #410)
+#412 := (= #401 0::int)
+#413 := (div 3::int 1::int)
+#414 := (* -1::int #413)
+#411 := (+ #40 #414)
+#415 := (= #411 0::int)
+#394 := (<= 1::int 0::int)
+#729 := (<= 3::int 0::int)
+#731 := (or #729 #394)
+#388 := (not #731)
+#518 := (>= 3::int 0::int)
+#725 := (or #394 #518)
+#399 := (not #725)
+#400 := (or #399 #388)
+#732 := (ite #400 #415 #412)
+#733 := (= #40 0::int)
+#734 := (= 1::int 0::int)
+#735 := (= 3::int 0::int)
+#730 := (or #735 #734)
+#736 := (ite #730 #733 #732)
+#661 := (or #672 #736)
+#650 := (iff #661 #659)
+#662 := (iff #659 #659)
+#663 := [rewrite]: #662
+#671 := (iff #736 #41)
+#574 := (ite false #733 #41)
+#577 := (iff #574 #41)
+#578 := [rewrite]: #577
+#575 := (iff #736 #574)
+#573 := (iff #732 #41)
+#1 := true
+#667 := (ite true #41 #41)
+#570 := (iff #667 #41)
+#572 := [rewrite]: #570
+#670 := (iff #732 #667)
+#571 := (iff #412 #41)
+#702 := -3::int
+#695 := (+ -3::int #40)
+#539 := (= #695 0::int)
+#683 := (iff #539 #41)
+#684 := [rewrite]: #683
+#521 := (iff #412 #539)
+#561 := (= #401 #695)
+#694 := (+ #40 -3::int)
+#696 := (= #694 #695)
+#691 := [rewrite]: #696
+#678 := (= #401 #694)
+#677 := (= #410 -3::int)
+#699 := (= #408 -3::int)
+#703 := [rewrite]: #699
+#674 := (= #410 #408)
+#520 := (= #409 3::int)
+#687 := (div -3::int -1::int)
+#517 := (= #687 3::int)
+#519 := [rewrite]: #517
+#681 := (= #409 #687)
+#680 := (= #324 -1::int)
+#686 := [rewrite]: #680
+#688 := [monotonicity #703 #686]: #681
+#673 := [trans #688 #519]: #520
+#676 := [monotonicity #673]: #674
+#675 := [trans #676 #703]: #677
+#560 := [monotonicity #675]: #678
+#562 := [trans #560 #691]: #561
+#669 := [monotonicity #562]: #521
+#666 := [trans #669 #684]: #571
+#685 := (iff #415 #41)
+#540 := (iff #415 #539)
+#697 := (= #411 #695)
+#689 := (= #411 #694)
+#692 := (= #414 -3::int)
+#416 := (= #414 #408)
+#700 := (= #413 3::int)
+#701 := [rewrite]: #700
+#698 := [monotonicity #701]: #416
+#693 := [trans #698 #703]: #692
+#690 := [monotonicity #693]: #689
+#538 := [trans #690 #691]: #697
+#682 := [monotonicity #538]: #540
+#679 := [trans #682 #684]: #685
+#421 := (iff #400 true)
+#717 := (or false true)
+#719 := (iff #717 true)
+#357 := [rewrite]: #719
+#419 := (iff #400 #717)
+#705 := (iff #388 true)
+#707 := (not false)
+#704 := (iff #707 true)
+#708 := [rewrite]: #704
+#429 := (iff #388 #707)
+#330 := (iff #731 false)
+#387 := (or false false)
+#712 := (iff #387 false)
+#375 := [rewrite]: #712
+#435 := (iff #731 #387)
+#378 := (iff #394 false)
+#714 := [rewrite]: #378
+#433 := (iff #729 false)
+#434 := [rewrite]: #433
+#436 := [monotonicity #434 #714]: #435
+#706 := [trans #436 #375]: #330
+#430 := [monotonicity #706]: #429
+#709 := [trans #430 #708]: #705
+#710 := (iff #399 false)
+#362 := (not true)
+#721 := (iff #362 false)
+#724 := [rewrite]: #721
+#363 := (iff #399 #362)
+#720 := (iff #725 true)
+#718 := (iff #725 #717)
+#715 := (iff #518 true)
+#716 := [rewrite]: #715
+#713 := [monotonicity #714 #716]: #718
+#722 := [trans #713 #357]: #720
+#723 := [monotonicity #722]: #363
+#711 := [trans #723 #724]: #710
+#420 := [monotonicity #711 #709]: #419
+#422 := [trans #420 #357]: #421
+#555 := [monotonicity #422 #679 #666]: #670
+#566 := [trans #555 #572]: #573
+#376 := (iff #730 false)
+#728 := (iff #730 #387)
+#391 := (iff #734 false)
+#727 := [rewrite]: #391
+#726 := (iff #735 false)
+#386 := [rewrite]: #726
+#371 := [monotonicity #386 #727]: #728
+#377 := [trans #371 #375]: #376
+#576 := [monotonicity #377 #566]: #575
+#668 := [trans #576 #578]: #671
+#652 := [monotonicity #668]: #650
+#664 := [trans #652 #663]: #650
+#653 := [quant-inst]: #661
+#660 := [mp #653 #664]: #659
+[unit-resolution #660 #743 #169]: false
+unsat
+4c32c3169bc41583f37f35faf2502f1708b05bd0 296 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 1::int
+#39 := (f4 1::int 1::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#743 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#744 := (forall (vars (?v0 int) (?v1 int)) (:pat #743) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#747 := (iff #262 #744)
+#745 := (iff #259 #259)
+#746 := [refl]: #745
+#748 := [quant-intro #746]: #747
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#749 := [mp #265 #748]: #744
+#666 := (not #744)
+#669 := (or #666 #40)
+#323 := (* -1::int 1::int)
+#407 := (mod #323 #323)
+#408 := (+ #39 #407)
+#409 := (= #408 0::int)
+#400 := (mod 1::int 1::int)
+#411 := (* -1::int #400)
+#412 := (+ #39 #411)
+#413 := (= #412 0::int)
+#410 := (<= 1::int 0::int)
+#414 := (or #410 #410)
+#393 := (not #414)
+#728 := (>= 1::int 0::int)
+#730 := (or #410 #728)
+#387 := (not #730)
+#517 := (or #387 #393)
+#724 := (ite #517 #413 #409)
+#398 := (= 1::int 0::int)
+#399 := (ite #398 #40 #724)
+#731 := (= 1::int #39)
+#732 := (ite #398 #731 #399)
+#554 := (or #666 #732)
+#571 := (iff #554 #669)
+#565 := (iff #669 #669)
+#573 := [rewrite]: #565
+#570 := (iff #732 #40)
+#735 := (= #39 1::int)
+#559 := (ite false #735 #40)
+#520 := (iff #559 #40)
+#668 := [rewrite]: #520
+#560 := (iff #732 #559)
+#674 := (iff #399 #40)
+#519 := (ite false #40 #40)
+#675 := (iff #519 #40)
+#676 := [rewrite]: #675
+#672 := (iff #399 #519)
+#516 := (iff #724 #40)
+#1 := true
+#679 := (ite true #40 #40)
+#680 := (iff #679 #40)
+#687 := [rewrite]: #680
+#685 := (iff #724 #679)
+#684 := (iff #409 #40)
+#682 := (= #408 #39)
+#699 := (+ #39 0::int)
+#697 := (= #699 #39)
+#701 := [rewrite]: #697
+#539 := (= #408 #699)
+#537 := (= #407 0::int)
+#689 := (mod -1::int -1::int)
+#690 := (= #689 0::int)
+#696 := [rewrite]: #690
+#694 := (= #407 #689)
+#693 := (= #323 -1::int)
+#688 := [rewrite]: #693
+#695 := [monotonicity #688 #688]: #694
+#538 := [trans #695 #696]: #537
+#681 := [monotonicity #538]: #539
+#683 := [trans #681 #701]: #682
+#678 := [monotonicity #683]: #684
+#691 := (iff #413 #40)
+#698 := (= #412 #39)
+#700 := (= #412 #699)
+#420 := (= #411 0::int)
+#707 := (* -1::int 0::int)
+#418 := (= #707 0::int)
+#419 := [rewrite]: #418
+#704 := (= #411 #707)
+#429 := (= #400 0::int)
+#703 := [rewrite]: #429
+#708 := [monotonicity #703]: #704
+#421 := [trans #708 #419]: #420
+#415 := [monotonicity #421]: #700
+#702 := [trans #415 #701]: #698
+#692 := [monotonicity #702]: #691
+#706 := (iff #517 true)
+#727 := (or false true)
+#374 := (iff #727 true)
+#375 := [rewrite]: #374
+#329 := (iff #517 #727)
+#434 := (iff #393 true)
+#723 := (not false)
+#432 := (iff #723 true)
+#433 := [rewrite]: #432
+#709 := (iff #393 #723)
+#722 := (iff #414 false)
+#356 := (or false false)
+#361 := (iff #356 false)
+#362 := [rewrite]: #361
+#719 := (iff #414 #356)
+#385 := (iff #410 false)
+#390 := [rewrite]: #385
+#721 := [monotonicity #390 #390]: #719
+#720 := [trans #721 #362]: #722
+#710 := [monotonicity #720]: #709
+#435 := [trans #710 #433]: #434
+#712 := (iff #387 false)
+#713 := (not true)
+#716 := (iff #713 false)
+#717 := [rewrite]: #716
+#714 := (iff #387 #713)
+#376 := (iff #730 true)
+#370 := (iff #730 #727)
+#726 := (iff #728 true)
+#386 := [rewrite]: #726
+#711 := [monotonicity #390 #386]: #370
+#377 := [trans #711 #375]: #376
+#715 := [monotonicity #377]: #714
+#718 := [trans #715 #717]: #712
+#705 := [monotonicity #718 #435]: #329
+#428 := [trans #705 #375]: #706
+#686 := [monotonicity #428 #692 #678]: #685
+#518 := [trans #686 #687]: #516
+#733 := (iff #398 false)
+#734 := [rewrite]: #733
+#673 := [monotonicity #734 #518]: #672
+#677 := [trans #673 #676]: #674
+#729 := (iff #731 #735)
+#725 := [rewrite]: #729
+#561 := [monotonicity #734 #725 #677]: #560
+#665 := [trans #561 #668]: #570
+#572 := [monotonicity #665]: #571
+#574 := [trans #572 #573]: #571
+#569 := [quant-inst]: #554
+#575 := [mp #569 #574]: #669
+[unit-resolution #575 #749 #168]: false
+unsat
+7f4e87626d8d9f850815ab9f11ca7ece76ac9405 335 0
+#2 := false
+decl f3 :: (-> int int int)
+#39 := 1::int
+decl f5 :: int
+#38 := f5
+#40 := (f3 f5 1::int)
+#170 := (= f5 #40)
+#11 := 0::int
+#730 := (= #40 0::int)
+#499 := (iff #730 #170)
+#496 := (iff #170 #730)
+#513 := (= 0::int #40)
+#533 := (iff #513 #730)
+#492 := [commutativity]: #533
+#531 := (iff #170 #513)
+#732 := (= f5 0::int)
+#726 := (<= f5 0::int)
+#708 := (not #726)
+#515 := (>= f5 0::int)
+#716 := (not #515)
+#432 := (or #716 #708)
+#682 := (not #432)
+#410 := (div f5 1::int)
+#66 := -1::int
+#411 := (* -1::int #410)
+#408 := (+ #40 #411)
+#412 := (= #408 0::int)
+#672 := (not #412)
+#572 := (* -1::int #40)
+#573 := (+ f5 #572)
+#575 := (>= #573 0::int)
+#644 := (+ f5 #411)
+#635 := (>= #644 0::int)
+#643 := (= #644 0::int)
+#1 := true
+#57 := [true-axiom]: true
+#611 := (or false #643)
+#617 := [th-lemma]: #611
+#603 := [unit-resolution #617 #57]: #643
+#599 := (not #643)
+#600 := (or #599 #635)
+#601 := [th-lemma]: #600
+#604 := [unit-resolution #601 #603]: #635
+#684 := (<= #408 0::int)
+#605 := [hypothesis]: #412
+#606 := (or #672 #684)
+#607 := [th-lemma]: #606
+#602 := [unit-resolution #607 #605]: #684
+#581 := (not #635)
+#608 := (not #684)
+#582 := (or #575 #608 #581)
+#583 := [th-lemma]: #582
+#476 := [unit-resolution #583 #602 #604]: #575
+#574 := (<= #573 0::int)
+#633 := (<= #644 0::int)
+#587 := (or #599 #633)
+#588 := [th-lemma]: #587
+#589 := [unit-resolution #588 #603]: #633
+#678 := (>= #408 0::int)
+#594 := (or #672 #678)
+#590 := [th-lemma]: #594
+#591 := [unit-resolution #590 #605]: #678
+#595 := (not #633)
+#592 := (not #678)
+#596 := (or #574 #592 #595)
+#597 := [th-lemma]: #596
+#593 := [unit-resolution #597 #591 #589]: #574
+#578 := (not #575)
+#598 := (not #574)
+#560 := (or #598 #578)
+#173 := (not #170)
+#41 := (= #40 f5)
+#42 := (not #41)
+#174 := (iff #42 #173)
+#171 := (iff #41 #170)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#169 := [asserted]: #42
+#178 := [mp #169 #175]: #173
+#524 := (or #170 #598 #578)
+#579 := [th-lemma]: #524
+#584 := [unit-resolution #579 #178]: #560
+#585 := [unit-resolution #584 #593 #476]: false
+#580 := [lemma #585]: #672
+#405 := (* -1::int f5)
+#426 := (div #405 -1::int)
+#705 := (* -1::int #426)
+#416 := (+ #40 #705)
+#419 := (= #416 0::int)
+#413 := (ite #432 #412 #419)
+#568 := (not #732)
+#501 := [hypothesis]: #568
+#503 := (or #732 #413)
+#696 := (ite #732 #730 #413)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#734 := (pattern #10)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#237 := (* -1::int #73)
+#238 := (+ #10 #237)
+#239 := (= #238 0::int)
+#21 := (div #8 #9)
+#234 := (* -1::int #21)
+#235 := (+ #10 #234)
+#236 := (= #235 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#192 := (or #88 #92)
+#193 := (not #192)
+#99 := (>= #8 0::int)
+#184 := (or #92 #99)
+#185 := (not #184)
+#199 := (or #185 #193)
+#240 := (ite #199 #236 #239)
+#233 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#241 := (ite #14 #233 #240)
+#735 := (forall (vars (?v0 int) (?v1 int)) (:pat #734) #241)
+#244 := (forall (vars (?v0 int) (?v1 int)) #241)
+#738 := (iff #244 #735)
+#736 := (iff #241 #241)
+#737 := [refl]: #736
+#739 := [quant-intro #737]: #738
+#204 := (ite #199 #21 #73)
+#207 := (ite #14 0::int #204)
+#210 := (= #10 #207)
+#213 := (forall (vars (?v0 int) (?v1 int)) #210)
+#245 := (iff #213 #244)
+#242 := (iff #210 #241)
+#243 := [rewrite]: #242
+#246 := [quant-intro #243]: #245
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#214 := (iff #118 #213)
+#211 := (iff #115 #210)
+#208 := (= #112 #207)
+#205 := (= #109 #204)
+#202 := (iff #106 #199)
+#196 := (or #193 #185)
+#200 := (iff #196 #199)
+#201 := [rewrite]: #200
+#197 := (iff #106 #196)
+#194 := (iff #103 #185)
+#195 := [rewrite]: #194
+#182 := (iff #96 #193)
+#183 := [rewrite]: #182
+#198 := [monotonicity #183 #195]: #197
+#203 := [trans #198 #201]: #202
+#206 := [monotonicity #203]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [quant-intro #212]: #214
+#188 := (~ #118 #118)
+#186 := (~ #115 #115)
+#187 := [refl]: #186
+#189 := [nnf-pos #187]: #188
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#179 := [mp~ #123 #189]: #118
+#216 := [mp #179 #215]: #213
+#247 := [mp #216 #246]: #244
+#740 := [mp #247 #739]: #735
+#690 := (not #735)
+#691 := (or #690 #696)
+#321 := (* -1::int 1::int)
+#406 := (div #405 #321)
+#407 := (* -1::int #406)
+#398 := (+ #40 #407)
+#409 := (= #398 0::int)
+#391 := (<= 1::int 0::int)
+#728 := (or #726 #391)
+#385 := (not #728)
+#722 := (or #391 #515)
+#396 := (not #722)
+#397 := (or #396 #385)
+#729 := (ite #397 #412 #409)
+#731 := (= 1::int 0::int)
+#727 := (or #732 #731)
+#733 := (ite #727 #730 #729)
+#686 := (or #690 #733)
+#692 := (iff #686 #691)
+#688 := (iff #691 #691)
+#694 := [rewrite]: #688
+#700 := (iff #733 #696)
+#695 := (iff #729 #413)
+#697 := (iff #409 #419)
+#417 := (= #398 #416)
+#702 := (= #407 #705)
+#427 := (= #406 #426)
+#703 := (= #321 -1::int)
+#704 := [rewrite]: #703
+#701 := [monotonicity #704]: #427
+#706 := [monotonicity #701]: #702
+#418 := [monotonicity #706]: #417
+#698 := [monotonicity #418]: #697
+#433 := (iff #397 #432)
+#430 := (iff #385 #708)
+#721 := (iff #728 #726)
+#719 := (or #726 false)
+#720 := (iff #719 #726)
+#718 := [rewrite]: #720
+#359 := (iff #728 #719)
+#373 := (iff #391 false)
+#374 := [rewrite]: #373
+#360 := [monotonicity #374]: #359
+#707 := [trans #360 #718]: #721
+#431 := [monotonicity #707]: #430
+#354 := (iff #396 #716)
+#715 := (iff #722 #515)
+#375 := (or false #515)
+#713 := (iff #375 #515)
+#714 := [rewrite]: #713
+#711 := (iff #722 #375)
+#712 := [monotonicity #374]: #711
+#710 := [trans #712 #714]: #715
+#717 := [monotonicity #710]: #354
+#327 := [monotonicity #717 #431]: #433
+#699 := [monotonicity #327 #698]: #695
+#709 := (iff #727 #732)
+#388 := (or #732 false)
+#725 := (iff #388 #732)
+#368 := [rewrite]: #725
+#724 := (iff #727 #388)
+#723 := (iff #731 false)
+#383 := [rewrite]: #723
+#384 := [monotonicity #383]: #724
+#372 := [trans #384 #368]: #709
+#689 := [monotonicity #372 #699]: #700
+#693 := [monotonicity #689]: #692
+#535 := [trans #693 #694]: #692
+#687 := [quant-inst]: #686
+#536 := [mp #687 #535]: #691
+#502 := [unit-resolution #536 #740]: #696
+#666 := (not #696)
+#667 := (or #666 #732 #413)
+#552 := [def-axiom]: #667
+#504 := [unit-resolution #552 #502]: #503
+#506 := [unit-resolution #504 #501]: #413
+#517 := (not #413)
+#670 := (or #517 #682 #412)
+#671 := [def-axiom]: #670
+#507 := [unit-resolution #671 #506 #580]: #682
+#680 := (or #432 #726)
+#681 := [def-axiom]: #680
+#508 := [unit-resolution #681 #507]: #726
+#537 := (or #432 #515)
+#679 := [def-axiom]: #537
+#351 := [unit-resolution #679 #507]: #515
+#509 := (or #732 #708 #716)
+#505 := [th-lemma]: #509
+#510 := [unit-resolution #505 #501 #351 #508]: false
+#489 := [lemma #510]: #732
+#532 := [monotonicity #489]: #531
+#498 := [trans #532 #492]: #496
+#497 := [symm #498]: #499
+#528 := (or #568 #730)
+#663 := (or #666 #568 #730)
+#664 := [def-axiom]: #663
+#529 := [unit-resolution #664 #502]: #528
+#530 := [unit-resolution #529 #489]: #730
+#500 := [mp #530 #497]: #170
+[unit-resolution #178 #500]: false
+unsat
+3dd3e5e067f99d1c90bd9e0ee3fa61701d0112dd 306 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#66 := -1::int
+#172 := (f3 0::int -1::int)
+#175 := (= #172 0::int)
+#188 := (not #175)
+#38 := 1::int
+#39 := (- 1::int)
+#40 := (f3 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= 0::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#173 := (= #40 #172)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#751 := (pattern #10)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#254 := (* -1::int #73)
+#255 := (+ #10 #254)
+#256 := (= #255 0::int)
+#21 := (div #8 #9)
+#251 := (* -1::int #21)
+#252 := (+ #10 #251)
+#253 := (= #252 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#257 := (ite #216 #253 #256)
+#250 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#258 := (ite #14 #250 #257)
+#752 := (forall (vars (?v0 int) (?v1 int)) (:pat #751) #258)
+#261 := (forall (vars (?v0 int) (?v1 int)) #258)
+#755 := (iff #261 #752)
+#753 := (iff #258 #258)
+#754 := [refl]: #753
+#756 := [quant-intro #754]: #755
+#221 := (ite #216 #21 #73)
+#224 := (ite #14 0::int #221)
+#227 := (= #10 #224)
+#230 := (forall (vars (?v0 int) (?v1 int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#231 := (iff #118 #230)
+#228 := (iff #115 #227)
+#225 := (= #112 #224)
+#222 := (= #109 #221)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#205 := (~ #118 #118)
+#203 := (~ #115 #115)
+#204 := [refl]: #203
+#206 := [nnf-pos #204]: #205
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#196 := [mp~ #123 #206]: #118
+#233 := [mp #196 #232]: #230
+#264 := [mp #233 #263]: #261
+#757 := [mp #264 #756]: #752
+#586 := (not #752)
+#587 := (or #586 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 0::int)
+#423 := (div #422 #338)
+#424 := (* -1::int #423)
+#415 := (+ #172 #424)
+#426 := (= #415 0::int)
+#427 := (div 0::int -1::int)
+#428 := (* -1::int #427)
+#425 := (+ #172 #428)
+#429 := (= #425 0::int)
+#408 := (<= -1::int 0::int)
+#743 := (<= 0::int 0::int)
+#745 := (or #743 #408)
+#402 := (not #745)
+#532 := (>= 0::int 0::int)
+#739 := (or #408 #532)
+#413 := (not #739)
+#414 := (or #413 #402)
+#746 := (ite #414 #429 #426)
+#747 := (= -1::int 0::int)
+#748 := (= 0::int 0::int)
+#749 := (or #748 #747)
+#744 := (ite #749 #175 #746)
+#580 := (or #586 #744)
+#589 := (iff #580 #587)
+#591 := (iff #587 #587)
+#592 := [rewrite]: #591
+#569 := (iff #744 #175)
+#1 := true
+#683 := (ite true #175 #175)
+#681 := (iff #683 #175)
+#684 := [rewrite]: #681
+#585 := (iff #744 #683)
+#576 := (iff #746 #175)
+#691 := (ite false #175 #175)
+#574 := (iff #691 #175)
+#575 := [rewrite]: #574
+#689 := (iff #746 #691)
+#688 := (iff #426 #175)
+#534 := (= #415 #172)
+#706 := (+ #172 0::int)
+#703 := (= #706 #172)
+#704 := [rewrite]: #703
+#531 := (= #415 #706)
+#695 := (= #424 0::int)
+#712 := (= #422 0::int)
+#716 := [rewrite]: #712
+#700 := (= #424 #422)
+#693 := (= #423 0::int)
+#554 := (div 0::int 1::int)
+#698 := (= #554 0::int)
+#699 := [rewrite]: #698
+#696 := (= #423 #554)
+#552 := (= #338 1::int)
+#553 := [rewrite]: #552
+#697 := [monotonicity #716 #553]: #696
+#694 := [trans #697 #699]: #693
+#701 := [monotonicity #694]: #700
+#702 := [trans #701 #716]: #695
+#533 := [monotonicity #702]: #531
+#687 := [trans #533 #704]: #534
+#690 := [monotonicity #687]: #688
+#705 := (iff #429 #175)
+#709 := (= #425 #172)
+#707 := (= #425 #706)
+#713 := (= #428 0::int)
+#715 := (= #428 #422)
+#436 := (= #427 0::int)
+#714 := [rewrite]: #436
+#430 := [monotonicity #714]: #715
+#717 := [trans #430 #716]: #713
+#708 := [monotonicity #717]: #707
+#710 := [trans #708 #704]: #709
+#711 := [monotonicity #710]: #705
+#434 := (iff #414 false)
+#718 := (or false false)
+#723 := (iff #718 false)
+#433 := [rewrite]: #723
+#722 := (iff #414 #718)
+#443 := (iff #402 false)
+#736 := (not true)
+#737 := (iff #736 false)
+#735 := [rewrite]: #737
+#720 := (iff #402 #736)
+#450 := (iff #745 true)
+#730 := (or true true)
+#727 := (iff #730 true)
+#733 := [rewrite]: #727
+#448 := (iff #745 #730)
+#391 := (iff #408 true)
+#392 := [rewrite]: #391
+#725 := (iff #743 true)
+#447 := [rewrite]: #725
+#449 := [monotonicity #447 #392]: #448
+#344 := [trans #449 #733]: #450
+#721 := [monotonicity #344]: #720
+#444 := [trans #721 #735]: #443
+#738 := (iff #413 false)
+#376 := (iff #413 #736)
+#371 := (iff #739 true)
+#731 := (iff #739 #730)
+#728 := (iff #532 true)
+#729 := [rewrite]: #728
+#732 := [monotonicity #392 #729]: #731
+#734 := [trans #732 #733]: #371
+#377 := [monotonicity #734]: #376
+#724 := [trans #377 #735]: #738
+#719 := [monotonicity #724 #444]: #722
+#435 := [trans #719 #433]: #434
+#692 := [monotonicity #435 #711 #690]: #689
+#535 := [trans #692 #575]: #576
+#389 := (iff #749 true)
+#741 := (or true false)
+#385 := (iff #741 true)
+#726 := [rewrite]: #385
+#401 := (iff #749 #741)
+#400 := (iff #747 false)
+#405 := [rewrite]: #400
+#750 := (iff #748 true)
+#740 := [rewrite]: #750
+#742 := [monotonicity #740 #405]: #401
+#390 := [trans #742 #726]: #389
+#680 := [monotonicity #390 #535]: #585
+#584 := [trans #680 #684]: #569
+#590 := [monotonicity #584]: #589
+#685 := [trans #590 #592]: #589
+#588 := [quant-inst]: #580
+#682 := [mp #588 #685]: #587
+[unit-resolution #682 #757 #193]: false
+unsat
+8c6b824970f94cadce3aa1f861ee0fe83c8cdcae 307 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#39 := 1::int
+#38 := 3::int
+#40 := (f4 3::int 1::int)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#256 := (+ #29 #125)
+#257 := (= #256 0::int)
+#30 := (mod #8 #9)
+#253 := (* -1::int #30)
+#254 := (+ #29 #253)
+#255 := (= #254 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#258 := (ite #202 #255 #257)
+#252 := (= #29 0::int)
+#12 := (= #8 0::int)
+#259 := (ite #12 #252 #258)
+#251 := (= #8 #29)
+#13 := (= #9 0::int)
+#260 := (ite #13 #251 #259)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#748 := (iff #263 #745)
+#746 := (iff #260 #260)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#131 := (* -1::int #125)
+#220 := (ite #202 #30 #131)
+#223 := (ite #12 0::int #220)
+#226 := (ite #13 #8 #223)
+#229 := (= #29 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#233 := (iff #163 #232)
+#230 := (iff #160 #229)
+#227 := (= #157 #226)
+#224 := (= #154 #223)
+#221 := (= #151 #220)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#222 := [monotonicity #206]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#183 := (~ #163 #163)
+#180 := (~ #160 #160)
+#193 := [refl]: #180
+#184 := [nnf-pos #193]: #183
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#194 := [mp~ #168 #184]: #163
+#235 := [mp #194 #234]: #232
+#266 := [mp #235 #265]: #263
+#750 := [mp #266 #749]: #745
+#577 := (not #745)
+#578 := (or #577 #41)
+#324 := (* -1::int 1::int)
+#408 := (* -1::int 3::int)
+#409 := (mod #408 #324)
+#410 := (+ #40 #409)
+#401 := (= #410 0::int)
+#412 := (mod 3::int 1::int)
+#413 := (* -1::int #412)
+#414 := (+ #40 #413)
+#411 := (= #414 0::int)
+#415 := (<= 1::int 0::int)
+#394 := (<= 3::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= 3::int 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #401)
+#732 := (= 3::int 0::int)
+#733 := (ite #732 #41 #400)
+#734 := (= 3::int #40)
+#735 := (= 1::int 0::int)
+#730 := (ite #735 #734 #733)
+#671 := (or #577 #730)
+#672 := (iff #671 #578)
+#661 := (iff #578 #578)
+#653 := [rewrite]: #661
+#575 := (iff #730 #41)
+#391 := (= #40 3::int)
+#570 := (ite false #391 #41)
+#566 := (iff #570 #41)
+#574 := [rewrite]: #566
+#572 := (iff #730 #570)
+#670 := (iff #733 #41)
+#521 := (ite false #41 #41)
+#666 := (iff #521 #41)
+#667 := [rewrite]: #666
+#669 := (iff #733 #521)
+#561 := (iff #400 #41)
+#1 := true
+#676 := (ite true #41 #41)
+#678 := (iff #676 #41)
+#560 := [rewrite]: #678
+#677 := (iff #400 #676)
+#673 := (iff #401 #41)
+#519 := (= #410 #40)
+#692 := (+ #40 0::int)
+#689 := (= #692 #40)
+#690 := [rewrite]: #689
+#688 := (= #410 #692)
+#687 := (= #409 0::int)
+#538 := -3::int
+#684 := (mod -3::int -1::int)
+#680 := (= #684 0::int)
+#686 := [rewrite]: #680
+#685 := (= #409 #684)
+#682 := (= #324 -1::int)
+#683 := [rewrite]: #682
+#539 := (= #408 -3::int)
+#540 := [rewrite]: #539
+#679 := [monotonicity #540 #683]: #685
+#681 := [trans #679 #686]: #687
+#517 := [monotonicity #681]: #688
+#520 := [trans #517 #690]: #519
+#674 := [monotonicity #520]: #673
+#691 := (iff #411 #41)
+#695 := (= #414 #40)
+#693 := (= #414 #692)
+#699 := (= #413 0::int)
+#700 := (* -1::int 0::int)
+#698 := (= #700 0::int)
+#702 := [rewrite]: #698
+#701 := (= #413 #700)
+#421 := (= #412 0::int)
+#422 := [rewrite]: #421
+#416 := [monotonicity #422]: #701
+#703 := [trans #416 #702]: #699
+#694 := [monotonicity #703]: #693
+#696 := [trans #694 #690]: #695
+#697 := [monotonicity #696]: #691
+#419 := (iff #399 true)
+#377 := (or false true)
+#715 := (iff #377 true)
+#716 := [rewrite]: #715
+#705 := (iff #399 #377)
+#704 := (iff #731 true)
+#330 := (not false)
+#429 := (iff #330 true)
+#430 := [rewrite]: #429
+#706 := (iff #731 #330)
+#435 := (iff #729 false)
+#724 := (or false false)
+#433 := (iff #724 false)
+#434 := [rewrite]: #433
+#710 := (iff #729 #724)
+#371 := (iff #415 false)
+#712 := [rewrite]: #371
+#723 := (iff #394 false)
+#721 := [rewrite]: #723
+#711 := [monotonicity #721 #712]: #710
+#436 := [trans #711 #434]: #435
+#707 := [monotonicity #436]: #706
+#708 := [trans #707 #430]: #704
+#362 := (iff #725 false)
+#713 := (not true)
+#720 := (iff #713 false)
+#722 := [rewrite]: #720
+#719 := (iff #725 #713)
+#717 := (iff #518 true)
+#378 := (iff #518 #377)
+#375 := (iff #388 true)
+#376 := [rewrite]: #375
+#714 := [monotonicity #712 #376]: #378
+#718 := [trans #714 #716]: #717
+#357 := [monotonicity #718]: #719
+#363 := [trans #357 #722]: #362
+#709 := [monotonicity #363 #708]: #705
+#420 := [trans #709 #716]: #419
+#675 := [monotonicity #420 #697 #674]: #677
+#562 := [trans #675 #560]: #561
+#387 := (iff #732 false)
+#728 := [rewrite]: #387
+#571 := [monotonicity #728 #562]: #669
+#555 := [trans #571 #667]: #670
+#386 := (iff #734 #391)
+#727 := [rewrite]: #386
+#736 := (iff #735 false)
+#726 := [rewrite]: #736
+#573 := [monotonicity #726 #727 #555]: #572
+#576 := [trans #573 #574]: #575
+#659 := [monotonicity #576]: #672
+#650 := [trans #659 #653]: #672
+#668 := [quant-inst]: #671
+#652 := [mp #668 #650]: #578
+[unit-resolution #652 #750 #169]: false
+unsat
+7415b61df67d0382c7c8726284760c97b73cdf04 315 0
+#2 := false
+#66 := -1::int
+decl f3 :: (-> int int int)
+#38 := 1::int
+#172 := (f3 1::int -1::int)
+#175 := (= #172 -1::int)
+#188 := (not #175)
+#39 := (- 1::int)
+#40 := (f3 1::int #39)
+#41 := (= #40 #39)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= -1::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#173 := (= #40 #172)
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174 #171]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#751 := (pattern #10)
+#11 := 0::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#254 := (* -1::int #73)
+#255 := (+ #10 #254)
+#256 := (= #255 0::int)
+#21 := (div #8 #9)
+#251 := (* -1::int #21)
+#252 := (+ #10 #251)
+#253 := (= #252 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#257 := (ite #216 #253 #256)
+#250 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#258 := (ite #14 #250 #257)
+#752 := (forall (vars (?v0 int) (?v1 int)) (:pat #751) #258)
+#261 := (forall (vars (?v0 int) (?v1 int)) #258)
+#755 := (iff #261 #752)
+#753 := (iff #258 #258)
+#754 := [refl]: #753
+#756 := [quant-intro #754]: #755
+#221 := (ite #216 #21 #73)
+#224 := (ite #14 0::int #221)
+#227 := (= #10 #224)
+#230 := (forall (vars (?v0 int) (?v1 int)) #227)
+#262 := (iff #230 #261)
+#259 := (iff #227 #258)
+#260 := [rewrite]: #259
+#263 := [quant-intro #260]: #262
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#231 := (iff #118 #230)
+#228 := (iff #115 #227)
+#225 := (= #112 #224)
+#222 := (= #109 #221)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#223 := [monotonicity #220]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [quant-intro #229]: #231
+#205 := (~ #118 #118)
+#203 := (~ #115 #115)
+#204 := [refl]: #203
+#206 := [nnf-pos #204]: #205
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#196 := [mp~ #123 #206]: #118
+#233 := [mp #196 #232]: #230
+#264 := [mp #233 #263]: #261
+#757 := [mp #264 #756]: #752
+#682 := (not #752)
+#686 := (or #682 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 1::int)
+#423 := (div #422 #338)
+#424 := (* -1::int #423)
+#415 := (+ #172 #424)
+#426 := (= #415 0::int)
+#427 := (div 1::int -1::int)
+#428 := (* -1::int #427)
+#425 := (+ #172 #428)
+#429 := (= #425 0::int)
+#408 := (<= -1::int 0::int)
+#743 := (<= 1::int 0::int)
+#745 := (or #743 #408)
+#402 := (not #745)
+#532 := (>= 1::int 0::int)
+#739 := (or #408 #532)
+#413 := (not #739)
+#414 := (or #413 #402)
+#746 := (ite #414 #429 #426)
+#747 := (= #172 0::int)
+#748 := (= -1::int 0::int)
+#749 := (= 1::int 0::int)
+#744 := (or #749 #748)
+#750 := (ite #744 #747 #746)
+#673 := (or #682 #750)
+#667 := (iff #673 #686)
+#666 := (iff #686 #686)
+#676 := [rewrite]: #666
+#592 := (iff #750 #175)
+#580 := (ite false #747 #175)
+#590 := (iff #580 #175)
+#591 := [rewrite]: #590
+#588 := (iff #750 #580)
+#586 := (iff #746 #175)
+#680 := (ite false #175 #175)
+#569 := (iff #680 #175)
+#584 := [rewrite]: #569
+#681 := (iff #746 #680)
+#683 := (iff #426 #175)
+#704 := (+ 1::int #172)
+#552 := (= #704 0::int)
+#696 := (iff #552 #175)
+#697 := [rewrite]: #696
+#576 := (iff #426 #552)
+#574 := (= #415 #704)
+#707 := (+ #172 1::int)
+#709 := (= #707 #704)
+#710 := [rewrite]: #709
+#689 := (= #415 #707)
+#690 := (= #424 1::int)
+#716 := (= #338 1::int)
+#713 := [rewrite]: #716
+#687 := (= #424 #338)
+#533 := (= #423 -1::int)
+#700 := (div -1::int 1::int)
+#702 := (= #700 -1::int)
+#531 := [rewrite]: #702
+#701 := (= #423 #700)
+#693 := (= #422 -1::int)
+#694 := [rewrite]: #693
+#695 := [monotonicity #694 #713]: #701
+#534 := [trans #695 #531]: #533
+#688 := [monotonicity #534]: #687
+#691 := [trans #688 #713]: #690
+#692 := [monotonicity #691]: #689
+#575 := [trans #692 #710]: #574
+#535 := [monotonicity #575]: #576
+#585 := [trans #535 #697]: #683
+#698 := (iff #429 #175)
+#553 := (iff #429 #552)
+#705 := (= #425 #704)
+#708 := (= #425 #707)
+#717 := (= #428 1::int)
+#430 := (= #428 #338)
+#714 := (= #427 -1::int)
+#715 := [rewrite]: #714
+#712 := [monotonicity #715]: #430
+#706 := [trans #712 #713]: #717
+#703 := [monotonicity #706]: #708
+#711 := [trans #703 #710]: #705
+#554 := [monotonicity #711]: #553
+#699 := [trans #554 #697]: #698
+#435 := (iff #414 false)
+#401 := (or false false)
+#726 := (iff #401 false)
+#389 := [rewrite]: #726
+#433 := (iff #414 #401)
+#719 := (iff #402 false)
+#1 := true
+#376 := (not true)
+#735 := (iff #376 false)
+#738 := [rewrite]: #735
+#718 := (iff #402 #376)
+#443 := (iff #745 true)
+#449 := (or false true)
+#720 := (iff #449 true)
+#721 := [rewrite]: #720
+#450 := (iff #745 #449)
+#392 := (iff #408 true)
+#728 := [rewrite]: #392
+#447 := (iff #743 false)
+#448 := [rewrite]: #447
+#344 := [monotonicity #448 #728]: #450
+#444 := [trans #344 #721]: #443
+#722 := [monotonicity #444]: #718
+#723 := [trans #722 #738]: #719
+#724 := (iff #413 false)
+#377 := (iff #413 #376)
+#734 := (iff #739 true)
+#731 := (or true true)
+#733 := (iff #731 true)
+#371 := [rewrite]: #733
+#732 := (iff #739 #731)
+#729 := (iff #532 true)
+#730 := [rewrite]: #729
+#727 := [monotonicity #728 #730]: #732
+#736 := [trans #727 #371]: #734
+#737 := [monotonicity #736]: #377
+#725 := [trans #737 #738]: #724
+#434 := [monotonicity #725 #723]: #433
+#436 := [trans #434 #389]: #435
+#684 := [monotonicity #436 #699 #585]: #681
+#587 := [trans #684 #584]: #586
+#390 := (iff #744 false)
+#742 := (iff #744 #401)
+#405 := (iff #748 false)
+#741 := [rewrite]: #405
+#740 := (iff #749 false)
+#400 := [rewrite]: #740
+#385 := [monotonicity #400 #741]: #742
+#391 := [trans #385 #389]: #390
+#589 := [monotonicity #391 #587]: #588
+#685 := [trans #589 #591]: #592
+#664 := [monotonicity #685]: #667
+#677 := [trans #664 #676]: #667
+#675 := [quant-inst]: #673
+#678 := [mp #675 #677]: #686
+[unit-resolution #678 #757 #193]: false
+unsat
+b8e3350e9ffae8bc4261f75ecb8e0cef6e684921 308 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#732 := (= f5 0::int)
+#573 := (not #732)
+#394 := (<= f5 0::int)
+#720 := (not #394)
+#388 := (>= f5 0::int)
+#377 := (not #388)
+#688 := (or #377 #720 #732)
+#575 := (not #688)
+#66 := -1::int
+#408 := (* -1::int f5)
+#700 := (mod #408 -1::int)
+decl f4 :: (-> int int int)
+#39 := 1::int
+#40 := (f4 f5 1::int)
+#698 := (+ #40 #700)
+#703 := (= #698 0::int)
+#41 := (= #40 0::int)
+#520 := (ite #688 #41 #703)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#256 := (+ #29 #125)
+#257 := (= #256 0::int)
+#30 := (mod #8 #9)
+#253 := (* -1::int #30)
+#254 := (+ #29 #253)
+#255 := (= #254 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#258 := (ite #202 #255 #257)
+#252 := (= #29 0::int)
+#12 := (= #8 0::int)
+#259 := (ite #12 #252 #258)
+#251 := (= #8 #29)
+#13 := (= #9 0::int)
+#260 := (ite #13 #251 #259)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#748 := (iff #263 #745)
+#746 := (iff #260 #260)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#131 := (* -1::int #125)
+#220 := (ite #202 #30 #131)
+#223 := (ite #12 0::int #220)
+#226 := (ite #13 #8 #223)
+#229 := (= #29 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#233 := (iff #163 #232)
+#230 := (iff #160 #229)
+#227 := (= #157 #226)
+#224 := (= #154 #223)
+#221 := (= #151 #220)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#222 := [monotonicity #206]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#183 := (~ #163 #163)
+#180 := (~ #160 #160)
+#193 := [refl]: #180
+#184 := [nnf-pos #193]: #183
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#194 := [mp~ #168 #184]: #163
+#235 := [mp #194 #234]: #232
+#266 := [mp #235 #265]: #263
+#750 := [mp #266 #749]: #745
+#675 := (not #745)
+#678 := (or #675 #520)
+#324 := (* -1::int 1::int)
+#409 := (mod #408 #324)
+#410 := (+ #40 #409)
+#401 := (= #410 0::int)
+#412 := (mod f5 1::int)
+#413 := (* -1::int #412)
+#414 := (+ #40 #413)
+#411 := (= #414 0::int)
+#415 := (<= 1::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #401)
+#733 := (ite #732 #41 #400)
+#734 := (= f5 #40)
+#735 := (= 1::int 0::int)
+#730 := (ite #735 #734 #733)
+#560 := (or #675 #730)
+#562 := (iff #560 #678)
+#669 := (iff #678 #678)
+#571 := [rewrite]: #669
+#676 := (iff #730 #520)
+#363 := (or #377 #720)
+#697 := (or #363 #732)
+#538 := (ite #697 #41 #703)
+#673 := (iff #538 #520)
+#517 := (iff #697 #688)
+#519 := [rewrite]: #517
+#674 := [monotonicity #519]: #673
+#687 := (iff #730 #538)
+#684 := (ite false #734 #538)
+#680 := (iff #684 #538)
+#686 := [rewrite]: #680
+#685 := (iff #730 #684)
+#682 := (iff #733 #538)
+#694 := (ite #363 #41 #703)
+#695 := (ite #732 #41 #694)
+#539 := (iff #695 #538)
+#540 := [rewrite]: #539
+#696 := (iff #733 #695)
+#689 := (iff #400 #694)
+#692 := (iff #401 #703)
+#702 := (= #410 #698)
+#701 := (= #409 #700)
+#421 := (= #324 -1::int)
+#422 := [rewrite]: #421
+#416 := [monotonicity #422]: #701
+#699 := [monotonicity #416]: #702
+#693 := [monotonicity #699]: #692
+#419 := (iff #411 #41)
+#705 := (= #414 #40)
+#707 := (+ #40 0::int)
+#704 := (= #707 #40)
+#708 := [rewrite]: #704
+#429 := (= #414 #707)
+#330 := (= #413 0::int)
+#711 := (* -1::int 0::int)
+#435 := (= #711 0::int)
+#436 := [rewrite]: #435
+#433 := (= #413 #711)
+#724 := (= #412 0::int)
+#710 := [rewrite]: #724
+#434 := [monotonicity #710]: #433
+#706 := [trans #434 #436]: #330
+#430 := [monotonicity #706]: #429
+#709 := [trans #430 #708]: #705
+#420 := [monotonicity #709]: #419
+#723 := (iff #399 #363)
+#722 := (iff #731 #720)
+#719 := (iff #729 #394)
+#715 := (or #394 false)
+#718 := (iff #715 #394)
+#713 := [rewrite]: #718
+#716 := (iff #729 #715)
+#386 := (iff #415 false)
+#391 := [rewrite]: #386
+#717 := [monotonicity #391]: #716
+#357 := [trans #717 #713]: #719
+#362 := [monotonicity #357]: #722
+#378 := (iff #725 #377)
+#375 := (iff #518 #388)
+#727 := (or false #388)
+#371 := (iff #727 #388)
+#712 := [rewrite]: #371
+#387 := (iff #518 #727)
+#728 := [monotonicity #391]: #387
+#376 := [trans #728 #712]: #375
+#714 := [monotonicity #376]: #378
+#721 := [monotonicity #714 #362]: #723
+#690 := [monotonicity #721 #420 #693]: #689
+#691 := [monotonicity #690]: #696
+#683 := [trans #691 #540]: #682
+#736 := (iff #735 false)
+#726 := [rewrite]: #736
+#679 := [monotonicity #726 #683]: #685
+#681 := [trans #679 #686]: #687
+#677 := [trans #681 #674]: #676
+#521 := [monotonicity #677]: #562
+#666 := [trans #521 #571]: #562
+#561 := [quant-inst]: #560
+#667 := [mp #561 #666]: #678
+#660 := [unit-resolution #667 #750]: #520
+#668 := (not #520)
+#665 := (or #668 #575)
+#42 := (not #41)
+#169 := [asserted]: #42
+#672 := (or #668 #575 #41)
+#659 := [def-axiom]: #672
+#654 := [unit-resolution #659 #169]: #665
+#655 := [unit-resolution #654 #660]: #575
+#566 := (or #688 #573)
+#574 := [def-axiom]: #566
+#656 := [unit-resolution #574 #655]: #573
+#670 := (or #688 #388)
+#555 := [def-axiom]: #670
+#657 := [unit-resolution #555 #655]: #388
+#570 := (or #688 #394)
+#572 := [def-axiom]: #570
+#651 := [unit-resolution #572 #655]: #394
+#658 := (or #732 #720 #377)
+#642 := [th-lemma]: #658
+[unit-resolution #642 #651 #657 #656]: false
+unsat
+8385e60ed3af381853b64133bc38d95658f35f76 311 0
+#2 := false
+#177 := -3::int
+decl f3 :: (-> int int int)
+#68 := -1::int
+#38 := 3::int
+#174 := (f3 3::int -1::int)
+#180 := (= #174 -3::int)
+#183 := (not #180)
+#42 := (- 3::int)
+#39 := 1::int
+#40 := (- 1::int)
+#41 := (f3 3::int #40)
+#43 := (= #41 #42)
+#44 := (not #43)
+#184 := (iff #44 #183)
+#181 := (iff #43 #180)
+#178 := (= #42 -3::int)
+#179 := [rewrite]: #178
+#175 := (= #41 #174)
+#172 := (= #40 -1::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173]: #175
+#182 := [monotonicity #176 #179]: #181
+#185 := [monotonicity #182]: #184
+#171 := [asserted]: #44
+#188 := [mp #171 #185]: #183
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#744 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#247 := (* -1::int #75)
+#248 := (+ #10 #247)
+#249 := (= #248 0::int)
+#21 := (div #8 #9)
+#244 := (* -1::int #21)
+#245 := (+ #10 #244)
+#246 := (= #245 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#202 := (or #90 #94)
+#203 := (not #202)
+#101 := (>= #8 0::int)
+#194 := (or #94 #101)
+#195 := (not #194)
+#209 := (or #195 #203)
+#250 := (ite #209 #246 #249)
+#243 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#251 := (ite #14 #243 #250)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #251)
+#254 := (forall (vars (?v0 int) (?v1 int)) #251)
+#748 := (iff #254 #745)
+#746 := (iff #251 #251)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#214 := (ite #209 #21 #75)
+#217 := (ite #14 0::int #214)
+#220 := (= #10 #217)
+#223 := (forall (vars (?v0 int) (?v1 int)) #220)
+#255 := (iff #223 #254)
+#252 := (iff #220 #251)
+#253 := [rewrite]: #252
+#256 := [quant-intro #253]: #255
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#224 := (iff #120 #223)
+#221 := (iff #117 #220)
+#218 := (= #114 #217)
+#215 := (= #111 #214)
+#212 := (iff #108 #209)
+#206 := (or #203 #195)
+#210 := (iff #206 #209)
+#211 := [rewrite]: #210
+#207 := (iff #108 #206)
+#204 := (iff #105 #195)
+#205 := [rewrite]: #204
+#192 := (iff #98 #203)
+#193 := [rewrite]: #192
+#208 := [monotonicity #193 #205]: #207
+#213 := [trans #208 #211]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#222 := [monotonicity #219]: #221
+#225 := [quant-intro #222]: #224
+#198 := (~ #120 #120)
+#196 := (~ #117 #117)
+#197 := [refl]: #196
+#199 := [nnf-pos #197]: #198
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#189 := [mp~ #125 #199]: #120
+#226 := [mp #189 #225]: #223
+#257 := [mp #226 #256]: #254
+#750 := [mp #257 #749]: #745
+#668 := (not #745)
+#660 := (or #668 #180)
+#331 := (* -1::int -1::int)
+#415 := (* -1::int 3::int)
+#416 := (div #415 #331)
+#417 := (* -1::int #416)
+#408 := (+ #174 #417)
+#419 := (= #408 0::int)
+#420 := (div 3::int -1::int)
+#421 := (* -1::int #420)
+#418 := (+ #174 #421)
+#422 := (= #418 0::int)
+#401 := (<= -1::int 0::int)
+#736 := (<= 3::int 0::int)
+#738 := (or #736 #401)
+#395 := (not #738)
+#525 := (>= 3::int 0::int)
+#732 := (or #401 #525)
+#406 := (not #732)
+#407 := (or #406 #395)
+#739 := (ite #407 #422 #419)
+#740 := (= #174 0::int)
+#741 := (= -1::int 0::int)
+#742 := (= 3::int 0::int)
+#737 := (or #742 #741)
+#743 := (ite #737 #740 #739)
+#657 := (or #668 #743)
+#669 := (iff #657 #660)
+#671 := (iff #660 #660)
+#667 := [rewrite]: #671
+#679 := (iff #743 #180)
+#583 := (ite false #740 #180)
+#678 := (iff #583 #180)
+#675 := [rewrite]: #678
+#584 := (iff #743 #583)
+#581 := (iff #739 #180)
+#562 := (ite false #180 #180)
+#580 := (iff #562 #180)
+#573 := [rewrite]: #580
+#577 := (iff #739 #562)
+#674 := (iff #419 #180)
+#702 := (+ 3::int #174)
+#546 := (= #702 0::int)
+#690 := (iff #546 #180)
+#691 := [rewrite]: #690
+#578 := (iff #419 #546)
+#528 := (= #408 #702)
+#701 := (+ #174 3::int)
+#703 := (= #701 #702)
+#698 := [rewrite]: #703
+#568 := (= #408 #701)
+#685 := (= #417 3::int)
+#423 := (* -1::int -3::int)
+#706 := (= #423 3::int)
+#710 := [rewrite]: #706
+#684 := (= #417 #423)
+#681 := (= #416 -3::int)
+#695 := (div -3::int 1::int)
+#527 := (= #695 -3::int)
+#680 := [rewrite]: #527
+#524 := (= #416 #695)
+#694 := (= #331 1::int)
+#688 := [rewrite]: #694
+#687 := (= #415 -3::int)
+#693 := [rewrite]: #687
+#526 := [monotonicity #693 #688]: #524
+#683 := [trans #526 #680]: #681
+#682 := [monotonicity #683]: #684
+#567 := [trans #682 #710]: #685
+#569 := [monotonicity #567]: #568
+#676 := [trans #569 #698]: #528
+#673 := [monotonicity #676]: #578
+#677 := [trans #673 #691]: #674
+#692 := (iff #422 #180)
+#547 := (iff #422 #546)
+#704 := (= #418 #702)
+#696 := (= #418 #701)
+#699 := (= #421 3::int)
+#705 := (= #421 #423)
+#707 := (= #420 -3::int)
+#708 := [rewrite]: #707
+#709 := [monotonicity #708]: #705
+#700 := [trans #709 #710]: #699
+#697 := [monotonicity #700]: #696
+#545 := [trans #697 #698]: #704
+#689 := [monotonicity #545]: #547
+#686 := [trans #689 #691]: #692
+#428 := (iff #407 false)
+#394 := (or false false)
+#719 := (iff #394 false)
+#382 := [rewrite]: #719
+#426 := (iff #407 #394)
+#712 := (iff #395 false)
+#1 := true
+#369 := (not true)
+#728 := (iff #369 false)
+#731 := [rewrite]: #728
+#711 := (iff #395 #369)
+#436 := (iff #738 true)
+#442 := (or false true)
+#713 := (iff #442 true)
+#714 := [rewrite]: #713
+#443 := (iff #738 #442)
+#385 := (iff #401 true)
+#721 := [rewrite]: #385
+#440 := (iff #736 false)
+#441 := [rewrite]: #440
+#337 := [monotonicity #441 #721]: #443
+#437 := [trans #337 #714]: #436
+#715 := [monotonicity #437]: #711
+#716 := [trans #715 #731]: #712
+#717 := (iff #406 false)
+#370 := (iff #406 #369)
+#727 := (iff #732 true)
+#724 := (or true true)
+#726 := (iff #724 true)
+#364 := [rewrite]: #726
+#725 := (iff #732 #724)
+#722 := (iff #525 true)
+#723 := [rewrite]: #722
+#720 := [monotonicity #721 #723]: #725
+#729 := [trans #720 #364]: #727
+#730 := [monotonicity #729]: #370
+#718 := [trans #730 #731]: #717
+#427 := [monotonicity #718 #716]: #426
+#429 := [trans #427 #382]: #428
+#579 := [monotonicity #429 #686 #677]: #577
+#582 := [trans #579 #573]: #581
+#383 := (iff #737 false)
+#735 := (iff #737 #394)
+#398 := (iff #741 false)
+#734 := [rewrite]: #398
+#733 := (iff #742 false)
+#393 := [rewrite]: #733
+#378 := [monotonicity #393 #734]: #735
+#384 := [trans #378 #382]: #383
+#585 := [monotonicity #384 #582]: #584
+#666 := [trans #585 #675]: #679
+#670 := [monotonicity #666]: #669
+#672 := [trans #670 #667]: #669
+#659 := [quant-inst]: #657
+#661 := [mp #659 #672]: #660
+[unit-resolution #661 #750 #188]: false
+unsat
+62cbad5f8230a32f1b29d792652e1e27f6a3a147 317 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#66 := -1::int
+#172 := (f4 0::int -1::int)
+#175 := (= #172 0::int)
+#188 := (not #175)
+#38 := 1::int
+#39 := (- 1::int)
+#40 := (f4 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= 0::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#173 := (= #40 #172)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#758 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#270 := (+ #29 #125)
+#271 := (= #270 0::int)
+#30 := (mod #8 #9)
+#267 := (* -1::int #30)
+#268 := (+ #29 #267)
+#269 := (= #268 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#272 := (ite #216 #269 #271)
+#266 := (= #29 0::int)
+#12 := (= #8 0::int)
+#273 := (ite #12 #266 #272)
+#265 := (= #8 #29)
+#13 := (= #9 0::int)
+#274 := (ite #13 #265 #273)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #274)
+#277 := (forall (vars (?v0 int) (?v1 int)) #274)
+#762 := (iff #277 #759)
+#760 := (iff #274 #274)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#131 := (* -1::int #125)
+#234 := (ite #216 #30 #131)
+#237 := (ite #12 0::int #234)
+#240 := (ite #13 #8 #237)
+#243 := (= #29 #240)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#278 := (iff #246 #277)
+#275 := (iff #243 #274)
+#276 := [rewrite]: #275
+#279 := [quant-intro #276]: #278
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#247 := (iff #163 #246)
+#244 := (iff #160 #243)
+#241 := (= #157 #240)
+#238 := (= #154 #237)
+#235 := (= #151 #234)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#236 := [monotonicity #220]: #235
+#239 := [monotonicity #236]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [quant-intro #245]: #247
+#197 := (~ #163 #163)
+#194 := (~ #160 #160)
+#207 := [refl]: #194
+#198 := [nnf-pos #207]: #197
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#208 := [mp~ #168 #198]: #163
+#249 := [mp #208 #248]: #246
+#280 := [mp #249 #279]: #277
+#764 := [mp #280 #763]: #759
+#535 := (not #759)
+#683 := (or #535 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 0::int)
+#423 := (mod #422 #338)
+#424 := (+ #172 #423)
+#415 := (= #424 0::int)
+#426 := (mod 0::int -1::int)
+#427 := (* -1::int #426)
+#428 := (+ #172 #427)
+#425 := (= #428 0::int)
+#429 := (<= -1::int 0::int)
+#408 := (<= 0::int 0::int)
+#743 := (or #408 #429)
+#745 := (not #743)
+#402 := (>= 0::int 0::int)
+#532 := (or #429 #402)
+#739 := (not #532)
+#413 := (or #739 #745)
+#414 := (ite #413 #425 #415)
+#746 := (= 0::int 0::int)
+#747 := (ite #746 #175 #414)
+#748 := (= -1::int 0::int)
+#749 := (ite #748 #178 #747)
+#585 := (or #535 #749)
+#681 := (iff #585 #683)
+#569 := (iff #683 #683)
+#584 := [rewrite]: #569
+#575 := (iff #749 #175)
+#693 := (ite false #175 #175)
+#701 := (iff #693 #175)
+#695 := [rewrite]: #701
+#692 := (iff #749 #693)
+#691 := (iff #747 #175)
+#1 := true
+#533 := (ite true #175 #175)
+#688 := (iff #533 #175)
+#690 := [rewrite]: #688
+#534 := (iff #747 #533)
+#702 := (iff #414 #175)
+#694 := (iff #414 #693)
+#698 := (iff #415 #175)
+#696 := (= #424 #172)
+#436 := (+ #172 0::int)
+#430 := (= #436 #172)
+#712 := [rewrite]: #430
+#553 := (= #424 #436)
+#711 := (= #423 0::int)
+#703 := (mod 0::int 1::int)
+#710 := (= #703 0::int)
+#705 := [rewrite]: #710
+#704 := (= #423 #703)
+#707 := (= #338 1::int)
+#708 := [rewrite]: #707
+#723 := (= #422 0::int)
+#433 := [rewrite]: #723
+#709 := [monotonicity #433 #708]: #704
+#552 := [trans #709 #705]: #711
+#554 := [monotonicity #552]: #553
+#697 := [trans #554 #712]: #696
+#699 := [monotonicity #697]: #698
+#717 := (iff #425 #175)
+#716 := (= #428 #172)
+#714 := (= #428 #436)
+#434 := (= #427 0::int)
+#722 := (= #427 #422)
+#444 := (= #426 0::int)
+#718 := [rewrite]: #444
+#719 := [monotonicity #718]: #722
+#435 := [trans #719 #433]: #434
+#715 := [monotonicity #435]: #714
+#713 := [trans #715 #712]: #716
+#706 := [monotonicity #713]: #717
+#721 := (iff #413 false)
+#448 := (or false false)
+#344 := (iff #448 false)
+#720 := [rewrite]: #344
+#449 := (iff #413 #448)
+#725 := (iff #745 false)
+#729 := (not true)
+#732 := (iff #729 false)
+#727 := [rewrite]: #732
+#738 := (iff #745 #729)
+#737 := (iff #743 true)
+#385 := (or true true)
+#390 := (iff #385 true)
+#391 := [rewrite]: #390
+#376 := (iff #743 #385)
+#405 := (iff #429 true)
+#741 := [rewrite]: #405
+#734 := (iff #408 true)
+#736 := [rewrite]: #734
+#377 := [monotonicity #736 #741]: #376
+#735 := [trans #377 #391]: #737
+#724 := [monotonicity #735]: #738
+#447 := [trans #724 #727]: #725
+#733 := (iff #739 false)
+#730 := (iff #739 #729)
+#392 := (iff #532 true)
+#726 := (iff #532 #385)
+#401 := (iff #402 true)
+#742 := [rewrite]: #401
+#389 := [monotonicity #741 #742]: #726
+#728 := [trans #389 #391]: #392
+#731 := [monotonicity #728]: #730
+#371 := [trans #731 #727]: #733
+#450 := [monotonicity #371 #447]: #449
+#443 := [trans #450 #720]: #721
+#700 := [monotonicity #443 #706 #699]: #694
+#531 := [trans #700 #695]: #702
+#740 := (iff #746 true)
+#400 := [rewrite]: #740
+#687 := [monotonicity #400 #531]: #534
+#689 := [trans #687 #690]: #691
+#744 := (iff #748 false)
+#750 := [rewrite]: #744
+#574 := [monotonicity #750 #187 #689]: #692
+#576 := [trans #574 #695]: #575
+#684 := [monotonicity #576]: #681
+#586 := [trans #684 #584]: #681
+#680 := [quant-inst]: #585
+#587 := [mp #680 #586]: #683
+[unit-resolution #587 #764 #193]: false
+unsat
+9598c0d2e42a8240df571681abaece65536e1221 362 0
+#2 := false
+#11 := 0::int
+#39 := 1::int
+decl f5 :: int
+#38 := f5
+#68 := -1::int
+#177 := (* -1::int f5)
+#716 := (div #177 1::int)
+#667 := (+ f5 #716)
+#674 := (= #667 0::int)
+#1 := true
+#59 := [true-axiom]: true
+#631 := (or false #674)
+#632 := [th-lemma]: #631
+#633 := [unit-resolution #632 #59]: #674
+#663 := (<= #667 0::int)
+#557 := (not #663)
+decl f3 :: (-> int int int)
+#174 := (f3 f5 -1::int)
+#186 := (+ f5 #174)
+#340 := (<= #186 0::int)
+#573 := (not #340)
+#424 := (>= #186 0::int)
+#690 := (>= #174 0::int)
+#750 := (= #174 0::int)
+#746 := (= f5 0::int)
+#714 := (* -1::int #716)
+#719 := (+ #174 #714)
+#710 := (= #719 0::int)
+#686 := (not #710)
+#691 := (>= #719 0::int)
+#622 := (not #691)
+#634 := (not #424)
+#635 := [hypothesis]: #634
+#621 := (or #622 #424)
+#664 := (>= #667 0::int)
+#636 := (not #664)
+#630 := [hypothesis]: #691
+#618 := (or #636 #622 #424)
+#619 := [th-lemma]: #618
+#620 := [unit-resolution #619 #630 #635]: #636
+#623 := (not #674)
+#624 := (or #623 #664)
+#625 := [th-lemma]: #624
+#626 := [unit-resolution #625 #620 #633]: false
+#627 := [lemma #626]: #621
+#600 := [unit-resolution #627 #635]: #622
+#601 := (or #686 #691)
+#602 := [th-lemma]: #601
+#495 := [unit-resolution #602 #600]: #686
+#607 := (or #746 #710)
+#698 := (ite #746 #750 #710)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#753 := (pattern #10)
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#256 := (* -1::int #75)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#21 := (div #8 #9)
+#253 := (* -1::int #21)
+#254 := (+ #10 #253)
+#255 := (= #254 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#211 := (or #90 #94)
+#212 := (not #211)
+#101 := (>= #8 0::int)
+#203 := (or #94 #101)
+#204 := (not #203)
+#218 := (or #204 #212)
+#259 := (ite #218 #255 #258)
+#252 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#260 := (ite #14 #252 #259)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#757 := (iff #263 #754)
+#755 := (iff #260 #260)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#223 := (ite #218 #21 #75)
+#226 := (ite #14 0::int #223)
+#229 := (= #10 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#233 := (iff #120 #232)
+#230 := (iff #117 #229)
+#227 := (= #114 #226)
+#224 := (= #111 #223)
+#221 := (iff #108 #218)
+#215 := (or #212 #204)
+#219 := (iff #215 #218)
+#220 := [rewrite]: #219
+#216 := (iff #108 #215)
+#213 := (iff #105 #204)
+#214 := [rewrite]: #213
+#201 := (iff #98 #212)
+#202 := [rewrite]: #201
+#217 := [monotonicity #202 #214]: #216
+#222 := [trans #217 #220]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#207 := (~ #120 #120)
+#205 := (~ #117 #117)
+#206 := [refl]: #205
+#208 := [nnf-pos #206]: #207
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#198 := [mp~ #125 #208]: #120
+#235 := [mp #198 #234]: #232
+#266 := [mp #235 #265]: #263
+#759 := [mp #266 #758]: #754
+#701 := (not #754)
+#695 := (or #701 #698)
+#425 := (* -1::int -1::int)
+#426 := (div #177 #425)
+#417 := (* -1::int #426)
+#428 := (+ #174 #417)
+#429 := (= #428 0::int)
+#430 := (div f5 -1::int)
+#427 := (* -1::int #430)
+#431 := (+ #174 #427)
+#410 := (= #431 0::int)
+#745 := (<= -1::int 0::int)
+#747 := (<= f5 0::int)
+#404 := (or #747 #745)
+#534 := (not #404)
+#741 := (>= f5 0::int)
+#415 := (or #745 #741)
+#416 := (not #415)
+#748 := (or #416 #534)
+#749 := (ite #748 #410 #429)
+#751 := (= -1::int 0::int)
+#752 := (or #746 #751)
+#742 := (ite #752 #750 #749)
+#696 := (or #701 #742)
+#703 := (iff #696 #695)
+#704 := (iff #695 #695)
+#533 := [rewrite]: #704
+#699 := (iff #742 #698)
+#555 := (iff #749 #710)
+#711 := (ite false #410 #710)
+#713 := (iff #711 #710)
+#554 := [rewrite]: #713
+#712 := (iff #749 #711)
+#705 := (iff #429 #710)
+#708 := (= #428 #719)
+#718 := (= #417 #714)
+#717 := (= #426 #716)
+#437 := (= #425 1::int)
+#438 := [rewrite]: #437
+#432 := [monotonicity #438]: #717
+#715 := [monotonicity #432]: #718
+#709 := [monotonicity #715]: #708
+#706 := [monotonicity #709]: #705
+#435 := (iff #748 false)
+#446 := (or false false)
+#721 := (iff #446 false)
+#725 := [rewrite]: #721
+#720 := (iff #748 #446)
+#723 := (iff #534 false)
+#373 := (not true)
+#378 := (iff #373 false)
+#379 := [rewrite]: #378
+#346 := (iff #534 #373)
+#451 := (iff #404 true)
+#740 := (or #747 true)
+#449 := (iff #740 true)
+#450 := [rewrite]: #449
+#726 := (iff #404 #740)
+#393 := (iff #745 true)
+#394 := [rewrite]: #393
+#727 := [monotonicity #394]: #726
+#452 := [trans #727 #450]: #451
+#722 := [monotonicity #452]: #346
+#445 := [trans #722 #379]: #723
+#739 := (iff #416 false)
+#736 := (iff #416 #373)
+#729 := (iff #415 true)
+#730 := (or true #741)
+#733 := (iff #730 true)
+#734 := [rewrite]: #733
+#731 := (iff #415 #730)
+#732 := [monotonicity #394]: #731
+#735 := [trans #732 #734]: #729
+#738 := [monotonicity #735]: #736
+#737 := [trans #738 #379]: #739
+#724 := [monotonicity #737 #445]: #720
+#436 := [trans #724 #725]: #435
+#707 := [monotonicity #436 #706]: #712
+#556 := [trans #707 #554]: #555
+#391 := (iff #752 #746)
+#743 := (or #746 false)
+#387 := (iff #743 #746)
+#728 := [rewrite]: #387
+#403 := (iff #752 #743)
+#402 := (iff #751 false)
+#407 := [rewrite]: #402
+#744 := [monotonicity #407]: #403
+#392 := [trans #744 #728]: #391
+#700 := [monotonicity #392 #556]: #699
+#697 := [monotonicity #700]: #703
+#535 := [trans #697 #533]: #703
+#702 := [quant-inst]: #696
+#536 := [mp #702 #535]: #695
+#606 := [unit-resolution #536 #759]: #698
+#694 := (not #698)
+#537 := (or #694 #746 #710)
+#685 := [def-axiom]: #537
+#608 := [unit-resolution #685 #606]: #607
+#613 := [unit-resolution #608 #495]: #746
+#576 := (not #746)
+#609 := (or #576 #750)
+#577 := (or #694 #576 #750)
+#578 := [def-axiom]: #577
+#610 := [unit-resolution #578 #606]: #609
+#611 := [unit-resolution #610 #613]: #750
+#587 := (not #750)
+#614 := (or #587 #690)
+#615 := [th-lemma]: #614
+#616 := [unit-resolution #615 #611]: #690
+#612 := (or #576 #741)
+#617 := [th-lemma]: #612
+#597 := [unit-resolution #617 #613]: #741
+#543 := [th-lemma #597 #635 #616]: false
+#598 := [lemma #543]: #424
+#570 := (or #573 #634)
+#187 := (= #186 0::int)
+#190 := (not #187)
+#42 := (- f5)
+#40 := (- 1::int)
+#41 := (f3 f5 #40)
+#43 := (= #41 #42)
+#44 := (not #43)
+#193 := (iff #44 #190)
+#180 := (= #174 #177)
+#183 := (not #180)
+#191 := (iff #183 #190)
+#188 := (iff #180 #187)
+#189 := [rewrite]: #188
+#192 := [monotonicity #189]: #191
+#184 := (iff #44 #183)
+#181 := (iff #43 #180)
+#178 := (= #42 #177)
+#179 := [rewrite]: #178
+#175 := (= #41 #174)
+#172 := (= #40 -1::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173]: #175
+#182 := [monotonicity #176 #179]: #181
+#185 := [monotonicity #182]: #184
+#194 := [trans #185 #192]: #193
+#171 := [asserted]: #44
+#195 := [mp #171 #194]: #190
+#580 := (or #187 #573 #634)
+#539 := [th-lemma]: #580
+#572 := [unit-resolution #539 #195]: #570
+#574 := [unit-resolution #572 #598]: #573
+#693 := (<= #719 0::int)
+#689 := (<= #174 0::int)
+#579 := [hypothesis]: #746
+#603 := [unit-resolution #610 #579]: #750
+#604 := (or #587 #689)
+#599 := [th-lemma]: #604
+#605 := [unit-resolution #599 #603]: #689
+#581 := (or #576 #747)
+#583 := [th-lemma]: #581
+#584 := [unit-resolution #583 #579]: #747
+#585 := [th-lemma #584 #574 #605]: false
+#595 := [lemma #585]: #576
+#575 := [unit-resolution #608 #595]: #710
+#596 := (or #686 #693)
+#551 := [th-lemma]: #596
+#552 := [unit-resolution #551 #575]: #693
+#558 := (not #693)
+#559 := (or #557 #558 #340)
+#560 := [th-lemma]: #559
+#561 := [unit-resolution #560 #552 #574]: #557
+#562 := (or #623 #663)
+#563 := [th-lemma]: #562
+[unit-resolution #563 #561 #633]: false
+unsat
+79ab94d82443340b024a2e044bfbebeb9d8e374b 327 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#66 := -1::int
+#38 := 1::int
+#172 := (f4 1::int -1::int)
+#175 := (= #172 0::int)
+#188 := (not #175)
+#39 := (- 1::int)
+#40 := (f4 1::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#191 := (iff #42 #188)
+#178 := (= 0::int #172)
+#183 := (not #178)
+#189 := (iff #183 #188)
+#186 := (iff #178 #175)
+#187 := [rewrite]: #186
+#190 := [monotonicity #187]: #189
+#184 := (iff #42 #183)
+#181 := (iff #41 #178)
+#179 := (iff #175 #178)
+#180 := [rewrite]: #179
+#176 := (iff #41 #175)
+#173 := (= #40 #172)
+#170 := (= #39 -1::int)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [monotonicity #174]: #176
+#182 := [trans #177 #180]: #181
+#185 := [monotonicity #182]: #184
+#192 := [trans #185 #190]: #191
+#169 := [asserted]: #42
+#193 := [mp #169 #192]: #188
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#758 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#270 := (+ #29 #125)
+#271 := (= #270 0::int)
+#30 := (mod #8 #9)
+#267 := (* -1::int #30)
+#268 := (+ #29 #267)
+#269 := (= #268 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#209 := (or #88 #92)
+#210 := (not #209)
+#99 := (>= #8 0::int)
+#201 := (or #92 #99)
+#202 := (not #201)
+#216 := (or #202 #210)
+#272 := (ite #216 #269 #271)
+#266 := (= #29 0::int)
+#12 := (= #8 0::int)
+#273 := (ite #12 #266 #272)
+#265 := (= #8 #29)
+#13 := (= #9 0::int)
+#274 := (ite #13 #265 #273)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #274)
+#277 := (forall (vars (?v0 int) (?v1 int)) #274)
+#762 := (iff #277 #759)
+#760 := (iff #274 #274)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#131 := (* -1::int #125)
+#234 := (ite #216 #30 #131)
+#237 := (ite #12 0::int #234)
+#240 := (ite #13 #8 #237)
+#243 := (= #29 #240)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#278 := (iff #246 #277)
+#275 := (iff #243 #274)
+#276 := [rewrite]: #275
+#279 := [quant-intro #276]: #278
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#247 := (iff #163 #246)
+#244 := (iff #160 #243)
+#241 := (= #157 #240)
+#238 := (= #154 #237)
+#235 := (= #151 #234)
+#219 := (iff #106 #216)
+#213 := (or #210 #202)
+#217 := (iff #213 #216)
+#218 := [rewrite]: #217
+#214 := (iff #106 #213)
+#211 := (iff #103 #202)
+#212 := [rewrite]: #211
+#199 := (iff #96 #210)
+#200 := [rewrite]: #199
+#215 := [monotonicity #200 #212]: #214
+#220 := [trans #215 #218]: #219
+#236 := [monotonicity #220]: #235
+#239 := [monotonicity #236]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [quant-intro #245]: #247
+#197 := (~ #163 #163)
+#194 := (~ #160 #160)
+#207 := [refl]: #194
+#198 := [nnf-pos #207]: #197
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#208 := [mp~ #168 #198]: #163
+#249 := [mp #208 #248]: #246
+#280 := [mp #249 #279]: #277
+#764 := [mp #280 #763]: #759
+#580 := (not #759)
+#588 := (or #580 #175)
+#338 := (* -1::int -1::int)
+#422 := (* -1::int 1::int)
+#423 := (mod #422 #338)
+#424 := (+ #172 #423)
+#415 := (= #424 0::int)
+#426 := (mod 1::int -1::int)
+#427 := (* -1::int #426)
+#428 := (+ #172 #427)
+#425 := (= #428 0::int)
+#429 := (<= -1::int 0::int)
+#408 := (<= 1::int 0::int)
+#743 := (or #408 #429)
+#745 := (not #743)
+#402 := (>= 1::int 0::int)
+#532 := (or #429 #402)
+#739 := (not #532)
+#413 := (or #739 #745)
+#414 := (ite #413 #425 #415)
+#746 := (= 1::int 0::int)
+#747 := (ite #746 #175 #414)
+#748 := (= 1::int #172)
+#749 := (= -1::int 0::int)
+#744 := (ite #749 #748 #747)
+#589 := (or #580 #744)
+#591 := (iff #589 #588)
+#685 := (iff #588 #588)
+#682 := [rewrite]: #685
+#586 := (iff #744 #175)
+#405 := (= #172 1::int)
+#680 := (ite false #405 #175)
+#569 := (iff #680 #175)
+#584 := [rewrite]: #569
+#681 := (iff #744 #680)
+#683 := (iff #747 #175)
+#688 := (ite false #175 #175)
+#689 := (iff #688 #175)
+#692 := [rewrite]: #689
+#576 := (iff #747 #688)
+#574 := (iff #414 #175)
+#690 := (iff #414 #688)
+#534 := (iff #415 #175)
+#531 := (= #424 #172)
+#706 := (+ #172 0::int)
+#703 := (= #706 #172)
+#704 := [rewrite]: #703
+#695 := (= #424 #706)
+#700 := (= #423 0::int)
+#697 := (mod -1::int 1::int)
+#693 := (= #697 0::int)
+#694 := [rewrite]: #693
+#698 := (= #423 #697)
+#554 := (= #338 1::int)
+#696 := [rewrite]: #554
+#552 := (= #422 -1::int)
+#553 := [rewrite]: #552
+#699 := [monotonicity #553 #696]: #698
+#701 := [trans #699 #694]: #700
+#702 := [monotonicity #701]: #695
+#533 := [trans #702 #704]: #531
+#687 := [monotonicity #533]: #534
+#705 := (iff #425 #175)
+#709 := (= #428 #172)
+#707 := (= #428 #706)
+#713 := (= #427 0::int)
+#714 := (* -1::int 0::int)
+#712 := (= #714 0::int)
+#716 := [rewrite]: #712
+#715 := (= #427 #714)
+#435 := (= #426 0::int)
+#436 := [rewrite]: #435
+#430 := [monotonicity #436]: #715
+#717 := [trans #430 #716]: #713
+#708 := [monotonicity #717]: #707
+#710 := [trans #708 #704]: #709
+#711 := [monotonicity #710]: #705
+#433 := (iff #413 false)
+#444 := (or false false)
+#719 := (iff #444 false)
+#723 := [rewrite]: #719
+#718 := (iff #413 #444)
+#721 := (iff #745 false)
+#1 := true
+#727 := (not true)
+#734 := (iff #727 false)
+#736 := [rewrite]: #734
+#344 := (iff #745 #727)
+#449 := (iff #743 true)
+#738 := (or false true)
+#447 := (iff #738 true)
+#448 := [rewrite]: #447
+#724 := (iff #743 #738)
+#385 := (iff #429 true)
+#726 := [rewrite]: #385
+#737 := (iff #408 false)
+#735 := [rewrite]: #737
+#725 := [monotonicity #735 #726]: #724
+#450 := [trans #725 #448]: #449
+#720 := [monotonicity #450]: #344
+#443 := [trans #720 #736]: #721
+#376 := (iff #739 false)
+#733 := (iff #739 #727)
+#731 := (iff #532 true)
+#391 := (or true true)
+#729 := (iff #391 true)
+#730 := [rewrite]: #729
+#392 := (iff #532 #391)
+#389 := (iff #402 true)
+#390 := [rewrite]: #389
+#728 := [monotonicity #726 #390]: #392
+#732 := [trans #728 #730]: #731
+#371 := [monotonicity #732]: #733
+#377 := [trans #371 #736]: #376
+#722 := [monotonicity #377 #443]: #718
+#434 := [trans #722 #723]: #433
+#691 := [monotonicity #434 #711 #687]: #690
+#575 := [trans #691 #692]: #574
+#401 := (iff #746 false)
+#742 := [rewrite]: #401
+#535 := [monotonicity #742 #575]: #576
+#585 := [trans #535 #692]: #683
+#400 := (iff #748 #405)
+#741 := [rewrite]: #400
+#750 := (iff #749 false)
+#740 := [rewrite]: #750
+#684 := [monotonicity #740 #741 #585]: #681
+#587 := [trans #684 #584]: #586
+#592 := [monotonicity #587]: #591
+#686 := [trans #592 #682]: #591
+#590 := [quant-inst]: #589
+#673 := [mp #590 #686]: #588
+[unit-resolution #673 #764 #193]: false
+unsat
+b94918a15776ebd094f6867ac20bcae7605bc260 282 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#38 := 3::int
+#39 := (f3 0::int 3::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#72 := (div #66 #69)
+#239 := (* -1::int #72)
+#240 := (+ #10 #239)
+#241 := (= #240 0::int)
+#21 := (div #8 #9)
+#236 := (* -1::int #21)
+#237 := (+ #10 #236)
+#238 := (= #237 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#242 := (ite #201 #238 #241)
+#235 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#243 := (ite #14 #235 #242)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #243)
+#246 := (forall (vars (?v0 int) (?v1 int)) #243)
+#741 := (iff #246 #738)
+#739 := (iff #243 #243)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#206 := (ite #201 #21 #72)
+#209 := (ite #14 0::int #206)
+#212 := (= #10 #209)
+#215 := (forall (vars (?v0 int) (?v1 int)) #212)
+#247 := (iff #215 #246)
+#244 := (iff #212 #243)
+#245 := [rewrite]: #244
+#248 := [quant-intro #245]: #247
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#108 := (ite #105 #21 #72)
+#111 := (ite #14 0::int #108)
+#114 := (= #10 #111)
+#117 := (forall (vars (?v0 int) (?v1 int)) #114)
+#216 := (iff #117 #215)
+#213 := (iff #114 #212)
+#210 := (= #111 #209)
+#207 := (= #108 #206)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#208 := [monotonicity #205]: #207
+#211 := [monotonicity #208]: #210
+#214 := [monotonicity #211]: #213
+#217 := [quant-intro #214]: #216
+#190 := (~ #117 #117)
+#188 := (~ #114 #114)
+#189 := [refl]: #188
+#191 := [nnf-pos #189]: #190
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#120 := (iff #28 #117)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#75 := (ite #62 #21 #72)
+#78 := (ite #14 0::int #75)
+#81 := (= #10 #78)
+#84 := (forall (vars (?v0 int) (?v1 int)) #81)
+#118 := (iff #84 #117)
+#115 := (iff #81 #114)
+#112 := (= #78 #111)
+#109 := (= #75 #108)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#110 := [monotonicity #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [quant-intro #116]: #118
+#85 := (iff #28 #84)
+#82 := (iff #27 #81)
+#79 := (= #26 #78)
+#76 := (= #25 #75)
+#73 := (= #24 #72)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#77 := [monotonicity #64 #74]: #76
+#80 := [monotonicity #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#121 := [trans #86 #119]: #120
+#58 := [asserted]: #28
+#122 := [mp #58 #121]: #117
+#181 := [mp~ #122 #191]: #117
+#218 := [mp #181 #217]: #215
+#249 := [mp #218 #248]: #246
+#743 := [mp #249 #742]: #738
+#572 := (not #738)
+#573 := (or #572 #40)
+#323 := (* -1::int 3::int)
+#408 := (* -1::int 0::int)
+#409 := (div #408 #323)
+#410 := (* -1::int #409)
+#401 := (+ #39 #410)
+#412 := (= #401 0::int)
+#413 := (div 0::int 3::int)
+#341 := (* -1::int #413)
+#414 := (+ #39 #341)
+#411 := (= #414 0::int)
+#415 := (<= 3::int 0::int)
+#394 := (<= 0::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= 0::int 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #412)
+#732 := (= 3::int 0::int)
+#733 := (= 0::int 0::int)
+#734 := (or #733 #732)
+#735 := (ite #734 #40 #400)
+#566 := (or #572 #735)
+#575 := (iff #566 #573)
+#577 := (iff #573 #573)
+#578 := [rewrite]: #577
+#555 := (iff #735 #40)
+#1 := true
+#669 := (ite true #40 #40)
+#667 := (iff #669 #40)
+#670 := [rewrite]: #667
+#571 := (iff #735 #669)
+#562 := (iff #400 #40)
+#677 := (ite false #40 #40)
+#560 := (iff #677 #40)
+#561 := [rewrite]: #560
+#675 := (iff #400 #677)
+#674 := (iff #412 #40)
+#520 := (= #401 #39)
+#703 := (+ #39 0::int)
+#694 := (= #703 #39)
+#689 := [rewrite]: #694
+#517 := (= #401 #703)
+#681 := (= #410 0::int)
+#416 := (= #408 0::int)
+#698 := [rewrite]: #416
+#686 := (= #410 #408)
+#679 := (= #409 0::int)
+#697 := -3::int
+#540 := (div 0::int -3::int)
+#684 := (= #540 0::int)
+#685 := [rewrite]: #684
+#682 := (= #409 #540)
+#538 := (= #323 -3::int)
+#539 := [rewrite]: #538
+#683 := [monotonicity #698 #539]: #682
+#680 := [trans #683 #685]: #679
+#687 := [monotonicity #680]: #686
+#688 := [trans #687 #698]: #681
+#519 := [monotonicity #688]: #517
+#673 := [trans #519 #689]: #520
+#676 := [monotonicity #673]: #674
+#696 := (iff #411 #40)
+#690 := (= #414 #39)
+#692 := (= #414 #703)
+#702 := (= #341 0::int)
+#700 := (= #341 #408)
+#421 := (= #413 0::int)
+#422 := [rewrite]: #421
+#701 := [monotonicity #422]: #700
+#699 := [trans #701 #698]: #702
+#693 := [monotonicity #699]: #692
+#695 := [trans #693 #689]: #690
+#691 := [monotonicity #695]: #696
+#419 := (iff #399 false)
+#430 := (or false false)
+#705 := (iff #430 false)
+#709 := [rewrite]: #705
+#704 := (iff #399 #430)
+#707 := (iff #731 false)
+#720 := (not true)
+#363 := (iff #720 false)
+#723 := [rewrite]: #363
+#329 := (iff #731 #720)
+#435 := (iff #729 true)
+#391 := (or true false)
+#728 := (iff #391 true)
+#371 := [rewrite]: #728
+#433 := (iff #729 #391)
+#376 := (iff #415 false)
+#377 := [rewrite]: #376
+#710 := (iff #394 true)
+#711 := [rewrite]: #710
+#434 := [monotonicity #711 #377]: #433
+#436 := [trans #434 #371]: #435
+#706 := [monotonicity #436]: #329
+#429 := [trans #706 #723]: #707
+#721 := (iff #725 false)
+#722 := (iff #725 #720)
+#719 := (iff #518 true)
+#715 := (or false true)
+#718 := (iff #715 true)
+#713 := [rewrite]: #718
+#716 := (iff #518 #715)
+#378 := (iff #388 true)
+#714 := [rewrite]: #378
+#717 := [monotonicity #377 #714]: #716
+#357 := [trans #717 #713]: #719
+#362 := [monotonicity #357]: #722
+#724 := [trans #362 #723]: #721
+#708 := [monotonicity #724 #429]: #704
+#420 := [trans #708 #709]: #419
+#678 := [monotonicity #420 #691 #676]: #675
+#521 := [trans #678 #561]: #562
+#712 := (iff #734 true)
+#727 := (iff #734 #391)
+#726 := (iff #732 false)
+#386 := [rewrite]: #726
+#730 := (iff #733 true)
+#736 := [rewrite]: #730
+#387 := [monotonicity #736 #386]: #727
+#375 := [trans #387 #371]: #712
+#666 := [monotonicity #375 #521]: #571
+#570 := [trans #666 #670]: #555
+#576 := [monotonicity #570]: #575
+#671 := [trans #576 #578]: #575
+#574 := [quant-inst]: #566
+#668 := [mp #574 #671]: #573
+[unit-resolution #668 #743 #168]: false
+unsat
+f28e01ed5231dd8c14a90a1eb336549610812dce 307 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#170 := -3::int
+#173 := (f3 0::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f3 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#753 := (pattern #10)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#255 := (* -1::int #73)
+#256 := (+ #10 #255)
+#257 := (= #256 0::int)
+#21 := (div #8 #9)
+#252 := (* -1::int #21)
+#253 := (+ #10 #252)
+#254 := (= #253 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#258 := (ite #217 #254 #257)
+#251 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#259 := (ite #14 #251 #258)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#757 := (iff #262 #754)
+#755 := (iff #259 #259)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#222 := (ite #217 #21 #73)
+#225 := (ite #14 0::int #222)
+#228 := (= #10 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#232 := (iff #118 #231)
+#229 := (iff #115 #228)
+#226 := (= #112 #225)
+#223 := (= #109 #222)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#206 := (~ #118 #118)
+#204 := (~ #115 #115)
+#205 := [refl]: #204
+#207 := [nnf-pos #205]: #206
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#197 := [mp~ #123 #207]: #118
+#234 := [mp #197 #233]: #231
+#265 := [mp #234 #264]: #262
+#759 := [mp #265 #758]: #754
+#586 := (not #754)
+#588 := (or #586 #176)
+#339 := (* -1::int -3::int)
+#424 := (* -1::int 0::int)
+#425 := (div #424 #339)
+#426 := (* -1::int #425)
+#417 := (+ #173 #426)
+#428 := (= #417 0::int)
+#429 := (div 0::int -3::int)
+#357 := (* -1::int #429)
+#430 := (+ #173 #357)
+#427 := (= #430 0::int)
+#431 := (<= -3::int 0::int)
+#410 := (<= 0::int 0::int)
+#745 := (or #410 #431)
+#747 := (not #745)
+#404 := (>= 0::int 0::int)
+#534 := (or #431 #404)
+#741 := (not #534)
+#415 := (or #741 #747)
+#416 := (ite #415 #427 #428)
+#748 := (= -3::int 0::int)
+#749 := (= 0::int 0::int)
+#750 := (or #749 #748)
+#751 := (ite #750 #176 #416)
+#589 := (or #586 #751)
+#590 := (iff #589 #588)
+#592 := (iff #588 #588)
+#593 := [rewrite]: #592
+#686 := (iff #751 #176)
+#1 := true
+#537 := (ite true #176 #176)
+#682 := (iff #537 #176)
+#683 := [rewrite]: #682
+#685 := (iff #751 #537)
+#577 := (iff #416 #176)
+#692 := (ite false #176 #176)
+#694 := (iff #692 #176)
+#576 := [rewrite]: #694
+#693 := (iff #416 #692)
+#689 := (iff #428 #176)
+#535 := (= #417 #173)
+#719 := (+ #173 0::int)
+#710 := (= #719 #173)
+#705 := [rewrite]: #710
+#704 := (= #417 #719)
+#703 := (= #426 0::int)
+#432 := (= #424 0::int)
+#714 := [rewrite]: #432
+#696 := (= #426 #424)
+#701 := (= #425 0::int)
+#555 := (div 0::int 3::int)
+#699 := (= #555 0::int)
+#700 := [rewrite]: #699
+#556 := (= #425 #555)
+#713 := (= #339 3::int)
+#554 := [rewrite]: #713
+#698 := [monotonicity #714 #554]: #556
+#695 := [trans #698 #700]: #701
+#702 := [monotonicity #695]: #696
+#697 := [trans #702 #714]: #703
+#533 := [monotonicity #697]: #704
+#536 := [trans #533 #705]: #535
+#690 := [monotonicity #536]: #689
+#712 := (iff #427 #176)
+#706 := (= #430 #173)
+#708 := (= #430 #719)
+#718 := (= #357 0::int)
+#716 := (= #357 #424)
+#437 := (= #429 0::int)
+#438 := [rewrite]: #437
+#717 := [monotonicity #438]: #716
+#715 := [trans #717 #714]: #718
+#709 := [monotonicity #715]: #708
+#711 := [trans #709 #705]: #706
+#707 := [monotonicity #711]: #712
+#435 := (iff #415 false)
+#446 := (or false false)
+#721 := (iff #446 false)
+#725 := [rewrite]: #721
+#720 := (iff #415 #446)
+#723 := (iff #747 false)
+#736 := (not true)
+#379 := (iff #736 false)
+#739 := [rewrite]: #379
+#345 := (iff #747 #736)
+#451 := (iff #745 true)
+#731 := (or true true)
+#734 := (iff #731 true)
+#729 := [rewrite]: #734
+#449 := (iff #745 #731)
+#392 := (iff #431 true)
+#393 := [rewrite]: #392
+#726 := (iff #410 true)
+#727 := [rewrite]: #726
+#450 := [monotonicity #727 #393]: #449
+#452 := [trans #450 #729]: #451
+#722 := [monotonicity #452]: #345
+#445 := [trans #722 #739]: #723
+#737 := (iff #741 false)
+#738 := (iff #741 #736)
+#735 := (iff #534 true)
+#732 := (iff #534 #731)
+#394 := (iff #404 true)
+#730 := [rewrite]: #394
+#733 := [monotonicity #393 #730]: #732
+#373 := [trans #733 #729]: #735
+#378 := [monotonicity #373]: #738
+#740 := [trans #378 #739]: #737
+#724 := [monotonicity #740 #445]: #720
+#436 := [trans #724 #725]: #435
+#691 := [monotonicity #436 #707 #690]: #693
+#578 := [trans #691 #576]: #577
+#728 := (iff #750 true)
+#407 := (or true false)
+#744 := (iff #407 true)
+#387 := [rewrite]: #744
+#743 := (iff #750 #407)
+#742 := (iff #748 false)
+#402 := [rewrite]: #742
+#746 := (iff #749 true)
+#752 := [rewrite]: #746
+#403 := [monotonicity #752 #402]: #743
+#391 := [trans #403 #387]: #728
+#587 := [monotonicity #391 #578]: #685
+#571 := [trans #587 #683]: #686
+#591 := [monotonicity #571]: #590
+#594 := [trans #591 #593]: #590
+#582 := [quant-inst]: #589
+#687 := [mp #582 #594]: #588
+[unit-resolution #687 #759 #194]: false
+unsat
+e3ca3cfa3906cd959718a475a745a6d7221ec25b 329 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#67 := -1::int
+#38 := 3::int
+#173 := (f4 3::int -1::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := 1::int
+#40 := (- 1::int)
+#41 := (f4 3::int #40)
+#42 := (= #41 0::int)
+#43 := (not #42)
+#192 := (iff #43 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #43 #184)
+#182 := (iff #42 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #42 #176)
+#174 := (= #41 #173)
+#171 := (= #40 -1::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#170 := [asserted]: #43
+#194 := [mp #170 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#759 := (pattern #29)
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#126 := (mod #68 #71)
+#271 := (+ #29 #126)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#210 := (or #89 #93)
+#211 := (not #210)
+#100 := (>= #8 0::int)
+#202 := (or #93 #100)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#760 := (forall (vars (?v0 int) (?v1 int)) (:pat #759) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#763 := (iff #278 #760)
+#761 := (iff #275 #275)
+#762 := [refl]: #761
+#764 := [quant-intro #762]: #763
+#132 := (* -1::int #126)
+#235 := (ite #217 #30 #132)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (ite #107 #30 #132)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#248 := (iff #164 #247)
+#245 := (iff #161 #244)
+#242 := (= #158 #241)
+#239 := (= #155 #238)
+#236 := (= #152 #235)
+#220 := (iff #107 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #107 #214)
+#212 := (iff #104 #203)
+#213 := [rewrite]: #212
+#200 := (iff #97 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #164 #164)
+#195 := (~ #161 #161)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#167 := (iff #37 #164)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#137 := (ite #64 #30 #132)
+#140 := (ite #12 0::int #137)
+#143 := (ite #13 #8 #140)
+#146 := (= #29 #143)
+#149 := (forall (vars (?v0 int) (?v1 int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #37 #149)
+#147 := (iff #36 #146)
+#144 := (= #35 #143)
+#141 := (= #34 #140)
+#138 := (= #33 #137)
+#135 := (= #32 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #32 #129)
+#127 := (= #31 #126)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#139 := [monotonicity #66 #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #37
+#169 := [mp #125 #168]: #164
+#209 := [mp~ #169 #199]: #164
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#765 := [mp #281 #764]: #760
+#589 := (not #760)
+#590 := (or #589 #176)
+#339 := (* -1::int -1::int)
+#423 := (* -1::int 3::int)
+#424 := (mod #423 #339)
+#425 := (+ #173 #424)
+#416 := (= #425 0::int)
+#427 := (mod 3::int -1::int)
+#428 := (* -1::int #427)
+#429 := (+ #173 #428)
+#426 := (= #429 0::int)
+#430 := (<= -1::int 0::int)
+#409 := (<= 3::int 0::int)
+#744 := (or #409 #430)
+#746 := (not #744)
+#403 := (>= 3::int 0::int)
+#533 := (or #430 #403)
+#740 := (not #533)
+#414 := (or #740 #746)
+#415 := (ite #414 #426 #416)
+#747 := (= 3::int 0::int)
+#748 := (ite #747 #176 #415)
+#749 := (= 3::int #173)
+#750 := (= -1::int 0::int)
+#745 := (ite #750 #749 #748)
+#591 := (or #589 #745)
+#593 := (iff #591 #590)
+#683 := (iff #590 #590)
+#687 := [rewrite]: #683
+#588 := (iff #745 #176)
+#406 := (= #173 3::int)
+#682 := (ite false #406 #176)
+#585 := (iff #682 #176)
+#587 := [rewrite]: #585
+#685 := (iff #745 #682)
+#586 := (iff #748 #176)
+#691 := (ite false #176 #176)
+#693 := (iff #691 #176)
+#575 := [rewrite]: #693
+#536 := (iff #748 #691)
+#576 := (iff #415 #176)
+#692 := (iff #415 #691)
+#688 := (iff #416 #176)
+#534 := (= #425 #173)
+#707 := (+ #173 0::int)
+#704 := (= #707 #173)
+#705 := [rewrite]: #704
+#703 := (= #425 #707)
+#702 := (= #424 0::int)
+#553 := -3::int
+#699 := (mod -3::int 1::int)
+#695 := (= #699 0::int)
+#701 := [rewrite]: #695
+#700 := (= #424 #699)
+#697 := (= #339 1::int)
+#698 := [rewrite]: #697
+#554 := (= #423 -3::int)
+#555 := [rewrite]: #554
+#694 := [monotonicity #555 #698]: #700
+#696 := [trans #694 #701]: #702
+#532 := [monotonicity #696]: #703
+#535 := [trans #532 #705]: #534
+#689 := [monotonicity #535]: #688
+#706 := (iff #426 #176)
+#710 := (= #429 #173)
+#708 := (= #429 #707)
+#714 := (= #428 0::int)
+#715 := (* -1::int 0::int)
+#713 := (= #715 0::int)
+#717 := [rewrite]: #713
+#716 := (= #428 #715)
+#436 := (= #427 0::int)
+#437 := [rewrite]: #436
+#431 := [monotonicity #437]: #716
+#718 := [trans #431 #717]: #714
+#709 := [monotonicity #718]: #708
+#711 := [trans #709 #705]: #710
+#712 := [monotonicity #711]: #706
+#434 := (iff #414 false)
+#445 := (or false false)
+#720 := (iff #445 false)
+#724 := [rewrite]: #720
+#719 := (iff #414 #445)
+#722 := (iff #746 false)
+#1 := true
+#728 := (not true)
+#735 := (iff #728 false)
+#737 := [rewrite]: #735
+#345 := (iff #746 #728)
+#450 := (iff #744 true)
+#739 := (or false true)
+#448 := (iff #739 true)
+#449 := [rewrite]: #448
+#725 := (iff #744 #739)
+#386 := (iff #430 true)
+#727 := [rewrite]: #386
+#738 := (iff #409 false)
+#736 := [rewrite]: #738
+#726 := [monotonicity #736 #727]: #725
+#451 := [trans #726 #449]: #450
+#721 := [monotonicity #451]: #345
+#444 := [trans #721 #737]: #722
+#377 := (iff #740 false)
+#734 := (iff #740 #728)
+#732 := (iff #533 true)
+#392 := (or true true)
+#730 := (iff #392 true)
+#731 := [rewrite]: #730
+#393 := (iff #533 #392)
+#390 := (iff #403 true)
+#391 := [rewrite]: #390
+#729 := [monotonicity #727 #391]: #393
+#733 := [trans #729 #731]: #732
+#372 := [monotonicity #733]: #734
+#378 := [trans #372 #737]: #377
+#723 := [monotonicity #378 #444]: #719
+#435 := [trans #723 #724]: #434
+#690 := [monotonicity #435 #712 #689]: #692
+#577 := [trans #690 #575]: #576
+#402 := (iff #747 false)
+#743 := [rewrite]: #402
+#684 := [monotonicity #743 #577]: #536
+#681 := [trans #684 #575]: #586
+#401 := (iff #749 #406)
+#742 := [rewrite]: #401
+#751 := (iff #750 false)
+#741 := [rewrite]: #751
+#570 := [monotonicity #741 #742 #681]: #685
+#581 := [trans #570 #587]: #588
+#686 := [monotonicity #581]: #593
+#674 := [trans #686 #687]: #593
+#592 := [quant-inst]: #591
+#676 := [mp #592 #674]: #590
+[unit-resolution #676 #765 #194]: false
+unsat
+9c08922893cb633ba38530e84ba0b136e5cd1a81 296 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#39 := 3::int
+#38 := 1::int
+#40 := (f3 1::int 3::int)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#737 := (pattern #10)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#240 := (* -1::int #73)
+#241 := (+ #10 #240)
+#242 := (= #241 0::int)
+#21 := (div #8 #9)
+#237 := (* -1::int #21)
+#238 := (+ #10 #237)
+#239 := (= #238 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#243 := (ite #202 #239 #242)
+#236 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#244 := (ite #14 #236 #243)
+#738 := (forall (vars (?v0 int) (?v1 int)) (:pat #737) #244)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#741 := (iff #247 #738)
+#739 := (iff #244 #244)
+#740 := [refl]: #739
+#742 := [quant-intro #740]: #741
+#207 := (ite #202 #21 #73)
+#210 := (ite #14 0::int #207)
+#213 := (= #10 #210)
+#216 := (forall (vars (?v0 int) (?v1 int)) #213)
+#248 := (iff #216 #247)
+#245 := (iff #213 #244)
+#246 := [rewrite]: #245
+#249 := [quant-intro #246]: #248
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#217 := (iff #118 #216)
+#214 := (iff #115 #213)
+#211 := (= #112 #210)
+#208 := (= #109 #207)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#209 := [monotonicity #206]: #208
+#212 := [monotonicity #209]: #211
+#215 := [monotonicity #212]: #214
+#218 := [quant-intro #215]: #217
+#191 := (~ #118 #118)
+#189 := (~ #115 #115)
+#190 := [refl]: #189
+#192 := [nnf-pos #190]: #191
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#182 := [mp~ #123 #192]: #118
+#219 := [mp #182 #218]: #216
+#250 := [mp #219 #249]: #247
+#743 := [mp #250 #742]: #738
+#650 := (not #738)
+#652 := (or #650 #41)
+#324 := (* -1::int 3::int)
+#408 := (* -1::int 1::int)
+#409 := (div #408 #324)
+#410 := (* -1::int #409)
+#401 := (+ #40 #410)
+#412 := (= #401 0::int)
+#413 := (div 1::int 3::int)
+#414 := (* -1::int #413)
+#411 := (+ #40 #414)
+#415 := (= #411 0::int)
+#394 := (<= 3::int 0::int)
+#729 := (<= 1::int 0::int)
+#731 := (or #729 #394)
+#388 := (not #731)
+#518 := (>= 1::int 0::int)
+#725 := (or #394 #518)
+#399 := (not #725)
+#400 := (or #399 #388)
+#732 := (ite #400 #415 #412)
+#733 := (= 3::int 0::int)
+#734 := (= 1::int 0::int)
+#735 := (or #734 #733)
+#730 := (ite #735 #41 #732)
+#662 := (or #650 #730)
+#664 := (iff #662 #652)
+#665 := (iff #652 #652)
+#654 := [rewrite]: #665
+#661 := (iff #730 #41)
+#578 := (ite false #41 #41)
+#672 := (iff #578 #41)
+#659 := [rewrite]: #672
+#671 := (iff #730 #578)
+#576 := (iff #732 #41)
+#666 := (= #40 1::int)
+#1 := true
+#572 := (ite true #41 #666)
+#574 := (iff #572 #41)
+#575 := [rewrite]: #574
+#573 := (iff #732 #572)
+#555 := (iff #412 #666)
+#675 := (+ -1::int #40)
+#521 := (= #675 0::int)
+#667 := (iff #521 #666)
+#670 := [rewrite]: #667
+#669 := (iff #412 #521)
+#561 := (= #401 #675)
+#674 := (+ #40 -1::int)
+#678 := (= #674 #675)
+#560 := [rewrite]: #678
+#676 := (= #401 #674)
+#520 := (= #410 -1::int)
+#539 := (= #408 -1::int)
+#540 := [rewrite]: #539
+#517 := (= #410 #408)
+#681 := (= #409 1::int)
+#682 := -3::int
+#685 := (div -1::int -3::int)
+#686 := (= #685 1::int)
+#687 := [rewrite]: #686
+#679 := (= #409 #685)
+#683 := (= #324 -3::int)
+#684 := [rewrite]: #683
+#680 := [monotonicity #540 #684]: #679
+#688 := [trans #680 #687]: #681
+#519 := [monotonicity #688]: #517
+#673 := [trans #519 #540]: #520
+#677 := [monotonicity #673]: #676
+#562 := [trans #677 #560]: #561
+#571 := [monotonicity #562]: #669
+#570 := [trans #571 #670]: #555
+#697 := (iff #415 #41)
+#696 := (= #411 #40)
+#693 := (+ #40 0::int)
+#690 := (= #693 #40)
+#695 := [rewrite]: #690
+#694 := (= #411 #693)
+#703 := (= #414 0::int)
+#701 := (* -1::int 0::int)
+#702 := (= #701 0::int)
+#699 := [rewrite]: #702
+#416 := (= #414 #701)
+#422 := (= #413 0::int)
+#700 := [rewrite]: #422
+#698 := [monotonicity #700]: #416
+#692 := [trans #698 #699]: #703
+#689 := [monotonicity #692]: #694
+#691 := [trans #689 #695]: #696
+#538 := [monotonicity #691]: #697
+#420 := (iff #400 true)
+#716 := (or false true)
+#713 := (iff #716 true)
+#719 := [rewrite]: #713
+#709 := (iff #400 #716)
+#708 := (iff #388 true)
+#706 := (not false)
+#430 := (iff #706 true)
+#704 := [rewrite]: #430
+#707 := (iff #388 #706)
+#436 := (iff #731 false)
+#727 := (or false false)
+#371 := (iff #727 false)
+#712 := [rewrite]: #371
+#434 := (iff #731 #727)
+#377 := (iff #394 false)
+#378 := [rewrite]: #377
+#711 := (iff #729 false)
+#433 := [rewrite]: #711
+#435 := [monotonicity #433 #378]: #434
+#330 := [trans #435 #712]: #436
+#429 := [monotonicity #330]: #707
+#705 := [trans #429 #704]: #708
+#724 := (iff #399 false)
+#722 := (not true)
+#723 := (iff #722 false)
+#721 := [rewrite]: #723
+#362 := (iff #399 #722)
+#357 := (iff #725 true)
+#717 := (iff #725 #716)
+#714 := (iff #518 true)
+#715 := [rewrite]: #714
+#718 := [monotonicity #378 #715]: #717
+#720 := [trans #718 #719]: #357
+#363 := [monotonicity #720]: #362
+#710 := [trans #363 #721]: #724
+#419 := [monotonicity #710 #705]: #709
+#421 := [trans #419 #719]: #420
+#566 := [monotonicity #421 #538 #570]: #573
+#577 := [trans #566 #575]: #576
+#375 := (iff #735 false)
+#387 := (iff #735 #727)
+#386 := (iff #733 false)
+#391 := [rewrite]: #386
+#736 := (iff #734 false)
+#726 := [rewrite]: #736
+#728 := [monotonicity #726 #391]: #387
+#376 := [trans #728 #712]: #375
+#668 := [monotonicity #376 #577]: #671
+#653 := [trans #668 #659]: #661
+#660 := [monotonicity #653]: #664
+#655 := [trans #660 #654]: #664
+#663 := [quant-inst]: #662
+#656 := [mp #663 #655]: #652
+[unit-resolution #656 #743 #169]: false
+unsat
+296b085c95c2238dbf4db3cb90fb09e839ecea3d 306 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#67 := -1::int
+decl f5 :: int
+#38 := f5
+#173 := (f4 f5 -1::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := 1::int
+#40 := (- 1::int)
+#41 := (f4 f5 #40)
+#42 := (= #41 0::int)
+#43 := (not #42)
+#192 := (iff #43 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #43 #184)
+#182 := (iff #42 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #42 #176)
+#174 := (= #41 #173)
+#171 := (= #40 -1::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#170 := [asserted]: #43
+#194 := [mp #170 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#759 := (pattern #29)
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#126 := (mod #68 #71)
+#271 := (+ #29 #126)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#210 := (or #89 #93)
+#211 := (not #210)
+#100 := (>= #8 0::int)
+#202 := (or #93 #100)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#760 := (forall (vars (?v0 int) (?v1 int)) (:pat #759) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#763 := (iff #278 #760)
+#761 := (iff #275 #275)
+#762 := [refl]: #761
+#764 := [quant-intro #762]: #763
+#132 := (* -1::int #126)
+#235 := (ite #217 #30 #132)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (ite #107 #30 #132)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#248 := (iff #164 #247)
+#245 := (iff #161 #244)
+#242 := (= #158 #241)
+#239 := (= #155 #238)
+#236 := (= #152 #235)
+#220 := (iff #107 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #107 #214)
+#212 := (iff #104 #203)
+#213 := [rewrite]: #212
+#200 := (iff #97 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #164 #164)
+#195 := (~ #161 #161)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#167 := (iff #37 #164)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#137 := (ite #64 #30 #132)
+#140 := (ite #12 0::int #137)
+#143 := (ite #13 #8 #140)
+#146 := (= #29 #143)
+#149 := (forall (vars (?v0 int) (?v1 int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #37 #149)
+#147 := (iff #36 #146)
+#144 := (= #35 #143)
+#141 := (= #34 #140)
+#138 := (= #33 #137)
+#135 := (= #32 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #32 #129)
+#127 := (= #31 #126)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#139 := [monotonicity #66 #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #37
+#169 := [mp #125 #168]: #164
+#209 := [mp~ #169 #199]: #164
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#765 := [mp #281 #764]: #760
+#703 := (not #760)
+#532 := (or #703 #176)
+#339 := (* -1::int -1::int)
+#423 := (* -1::int f5)
+#424 := (mod #423 #339)
+#425 := (+ #173 #424)
+#416 := (= #425 0::int)
+#427 := (mod f5 -1::int)
+#428 := (* -1::int #427)
+#429 := (+ #173 #428)
+#426 := (= #429 0::int)
+#430 := (<= -1::int 0::int)
+#409 := (<= f5 0::int)
+#744 := (or #409 #430)
+#746 := (not #744)
+#403 := (>= f5 0::int)
+#533 := (or #430 #403)
+#740 := (not #533)
+#414 := (or #740 #746)
+#415 := (ite #414 #426 #416)
+#747 := (= f5 0::int)
+#748 := (ite #747 #176 #415)
+#749 := (= f5 #173)
+#750 := (= -1::int 0::int)
+#745 := (ite #750 #749 #748)
+#534 := (or #703 #745)
+#688 := (iff #534 #532)
+#691 := (iff #532 #532)
+#692 := [rewrite]: #691
+#702 := (iff #745 #176)
+#699 := (ite false #749 #176)
+#695 := (iff #699 #176)
+#701 := [rewrite]: #695
+#700 := (iff #745 #699)
+#697 := (iff #748 #176)
+#706 := (ite #747 #176 #176)
+#554 := (iff #706 #176)
+#555 := [rewrite]: #554
+#712 := (iff #748 #706)
+#710 := (iff #415 #176)
+#707 := (ite false #426 #176)
+#704 := (iff #707 #176)
+#705 := [rewrite]: #704
+#708 := (iff #415 #707)
+#714 := (iff #416 #176)
+#713 := (= #425 #173)
+#436 := (+ #173 0::int)
+#716 := (= #436 #173)
+#431 := [rewrite]: #716
+#437 := (= #425 #436)
+#434 := (= #424 0::int)
+#445 := (mod #423 1::int)
+#720 := (= #445 0::int)
+#724 := [rewrite]: #720
+#719 := (= #424 #445)
+#722 := (= #339 1::int)
+#444 := [rewrite]: #722
+#723 := [monotonicity #444]: #719
+#435 := [trans #723 #724]: #434
+#715 := [monotonicity #435]: #437
+#717 := [trans #715 #431]: #713
+#718 := [monotonicity #717]: #714
+#345 := (iff #414 false)
+#726 := (or false false)
+#450 := (iff #726 false)
+#451 := [rewrite]: #450
+#448 := (iff #414 #726)
+#739 := (iff #746 false)
+#1 := true
+#392 := (not true)
+#730 := (iff #392 false)
+#731 := [rewrite]: #730
+#738 := (iff #746 #392)
+#377 := (iff #744 true)
+#728 := (or #409 true)
+#735 := (iff #728 true)
+#737 := [rewrite]: #735
+#734 := (iff #744 #728)
+#401 := (iff #430 true)
+#406 := [rewrite]: #401
+#372 := [monotonicity #406]: #734
+#378 := [trans #372 #737]: #377
+#736 := [monotonicity #378]: #738
+#725 := [trans #736 #731]: #739
+#732 := (iff #740 false)
+#393 := (iff #740 #392)
+#390 := (iff #533 true)
+#742 := (or true #403)
+#386 := (iff #742 true)
+#727 := [rewrite]: #386
+#402 := (iff #533 #742)
+#743 := [monotonicity #406]: #402
+#391 := [trans #743 #727]: #390
+#729 := [monotonicity #391]: #393
+#733 := [trans #729 #731]: #732
+#449 := [monotonicity #733 #725]: #448
+#721 := [trans #449 #451]: #345
+#709 := [monotonicity #721 #718]: #708
+#711 := [trans #709 #705]: #710
+#553 := [monotonicity #711]: #712
+#698 := [trans #553 #555]: #697
+#751 := (iff #750 false)
+#741 := [rewrite]: #751
+#694 := [monotonicity #741 #698]: #700
+#696 := [trans #694 #701]: #702
+#689 := [monotonicity #696]: #688
+#690 := [trans #689 #692]: #688
+#535 := [quant-inst]: #534
+#693 := [mp #535 #690]: #532
+[unit-resolution #693 #765 #194]: false
+unsat
+4b6a61d48a9a0af02d6fd3725ddd2c3187d77b9e 286 0
+#2 := false
+#40 := 1::int
+decl f3 :: (-> int int int)
+#38 := 3::int
+#39 := (f3 3::int 3::int)
+#41 := (= #39 1::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#727 := (pattern #10)
+#11 := 0::int
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#73 := (div #67 #70)
+#230 := (* -1::int #73)
+#231 := (+ #10 #230)
+#232 := (= #231 0::int)
+#21 := (div #8 #9)
+#227 := (* -1::int #21)
+#228 := (+ #10 #227)
+#229 := (= #228 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#185 := (or #88 #92)
+#186 := (not #185)
+#99 := (>= #8 0::int)
+#177 := (or #92 #99)
+#178 := (not #177)
+#192 := (or #178 #186)
+#233 := (ite #192 #229 #232)
+#226 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#234 := (ite #14 #226 #233)
+#728 := (forall (vars (?v0 int) (?v1 int)) (:pat #727) #234)
+#237 := (forall (vars (?v0 int) (?v1 int)) #234)
+#731 := (iff #237 #728)
+#729 := (iff #234 #234)
+#730 := [refl]: #729
+#732 := [quant-intro #730]: #731
+#197 := (ite #192 #21 #73)
+#200 := (ite #14 0::int #197)
+#203 := (= #10 #200)
+#206 := (forall (vars (?v0 int) (?v1 int)) #203)
+#238 := (iff #206 #237)
+#235 := (iff #203 #234)
+#236 := [rewrite]: #235
+#239 := [quant-intro #236]: #238
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#109 := (ite #106 #21 #73)
+#112 := (ite #14 0::int #109)
+#115 := (= #10 #112)
+#118 := (forall (vars (?v0 int) (?v1 int)) #115)
+#207 := (iff #118 #206)
+#204 := (iff #115 #203)
+#201 := (= #112 #200)
+#198 := (= #109 #197)
+#195 := (iff #106 #192)
+#189 := (or #186 #178)
+#193 := (iff #189 #192)
+#194 := [rewrite]: #193
+#190 := (iff #106 #189)
+#187 := (iff #103 #178)
+#188 := [rewrite]: #187
+#175 := (iff #96 #186)
+#176 := [rewrite]: #175
+#191 := [monotonicity #176 #188]: #190
+#196 := [trans #191 #194]: #195
+#199 := [monotonicity #196]: #198
+#202 := [monotonicity #199]: #201
+#205 := [monotonicity #202]: #204
+#208 := [quant-intro #205]: #207
+#181 := (~ #118 #118)
+#179 := (~ #115 #115)
+#180 := [refl]: #179
+#182 := [nnf-pos #180]: #181
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#121 := (iff #28 #118)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#76 := (ite #63 #21 #73)
+#79 := (ite #14 0::int #76)
+#82 := (= #10 #79)
+#85 := (forall (vars (?v0 int) (?v1 int)) #82)
+#119 := (iff #85 #118)
+#116 := (iff #82 #115)
+#113 := (= #79 #112)
+#110 := (= #76 #109)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#111 := [monotonicity #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [quant-intro #117]: #119
+#86 := (iff #28 #85)
+#83 := (iff #27 #82)
+#80 := (= #26 #79)
+#77 := (= #25 #76)
+#74 := (= #24 #73)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#78 := [monotonicity #65 #75]: #77
+#81 := [monotonicity #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#122 := [trans #87 #120]: #121
+#59 := [asserted]: #28
+#123 := [mp #59 #122]: #118
+#172 := [mp~ #123 #182]: #118
+#209 := [mp #172 #208]: #206
+#240 := [mp #209 #239]: #237
+#733 := [mp #240 #732]: #728
+#565 := (not #728)
+#566 := (or #565 #41)
+#314 := (* -1::int 3::int)
+#398 := (div #314 #314)
+#399 := (* -1::int #398)
+#400 := (+ #39 #399)
+#391 := (= #400 0::int)
+#402 := (div 3::int 3::int)
+#403 := (* -1::int #402)
+#404 := (+ #39 #403)
+#401 := (= #404 0::int)
+#405 := (<= 3::int 0::int)
+#384 := (or #405 #405)
+#719 := (not #384)
+#721 := (>= 3::int 0::int)
+#378 := (or #405 #721)
+#508 := (not #378)
+#715 := (or #508 #719)
+#389 := (ite #715 #401 #391)
+#390 := (= #39 0::int)
+#722 := (= 3::int 0::int)
+#723 := (or #722 #722)
+#724 := (ite #723 #390 #389)
+#567 := (or #565 #724)
+#661 := (iff #567 #566)
+#662 := (iff #566 #566)
+#649 := [rewrite]: #662
+#556 := (iff #724 #41)
+#660 := (ite false #390 #41)
+#562 := (iff #660 #41)
+#563 := [rewrite]: #562
+#545 := (iff #724 #660)
+#656 := (iff #389 #41)
+#1 := true
+#551 := (ite true #41 #41)
+#659 := (iff #551 #41)
+#561 := [rewrite]: #659
+#552 := (iff #389 #551)
+#668 := (iff #391 #41)
+#689 := (+ -1::int #39)
+#679 := (= #689 0::int)
+#686 := (iff #679 #41)
+#681 := [rewrite]: #686
+#667 := (iff #391 #679)
+#664 := (= #400 #689)
+#406 := (+ #39 -1::int)
+#693 := (= #406 #689)
+#682 := [rewrite]: #693
+#510 := (= #400 #406)
+#507 := (= #399 -1::int)
+#699 := (* -1::int 1::int)
+#411 := (= #699 -1::int)
+#412 := [rewrite]: #411
+#671 := (= #399 #699)
+#676 := (= #398 1::int)
+#529 := -3::int
+#673 := (div -3::int -3::int)
+#669 := (= #673 1::int)
+#670 := [rewrite]: #669
+#674 := (= #398 #673)
+#530 := (= #314 -3::int)
+#672 := [rewrite]: #530
+#675 := [monotonicity #672 #672]: #674
+#677 := [trans #675 #670]: #676
+#678 := [monotonicity #677]: #671
+#509 := [trans #678 #412]: #507
+#663 := [monotonicity #509]: #510
+#666 := [trans #663 #682]: #664
+#665 := [monotonicity #666]: #667
+#550 := [trans #665 #681]: #668
+#687 := (iff #401 #41)
+#680 := (iff #401 #679)
+#683 := (= #404 #689)
+#688 := (= #404 #406)
+#690 := (= #403 -1::int)
+#409 := (= #403 #699)
+#698 := (= #402 1::int)
+#695 := [rewrite]: #698
+#410 := [monotonicity #695]: #409
+#691 := [trans #410 #412]: #690
+#692 := [monotonicity #691]: #688
+#684 := [trans #692 #682]: #683
+#685 := [monotonicity #684]: #680
+#528 := [trans #685 #681]: #687
+#420 := (iff #715 true)
+#367 := (or false true)
+#705 := (iff #367 true)
+#706 := [rewrite]: #705
+#697 := (iff #715 #367)
+#320 := (iff #719 true)
+#701 := (not false)
+#425 := (iff #701 true)
+#426 := [rewrite]: #425
+#423 := (iff #719 #701)
+#714 := (iff #384 false)
+#726 := (or false false)
+#381 := (iff #726 false)
+#717 := [rewrite]: #381
+#713 := (iff #384 #726)
+#361 := (iff #405 false)
+#702 := [rewrite]: #361
+#711 := [monotonicity #702 #702]: #713
+#700 := [trans #711 #717]: #714
+#424 := [monotonicity #700]: #423
+#696 := [trans #424 #426]: #320
+#352 := (iff #508 false)
+#703 := (not true)
+#710 := (iff #703 false)
+#712 := [rewrite]: #710
+#709 := (iff #508 #703)
+#707 := (iff #378 true)
+#368 := (iff #378 #367)
+#365 := (iff #721 true)
+#366 := [rewrite]: #365
+#704 := [monotonicity #702 #366]: #368
+#708 := [trans #704 #706]: #707
+#347 := [monotonicity #708]: #709
+#353 := [trans #347 #712]: #352
+#419 := [monotonicity #353 #696]: #697
+#694 := [trans #419 #706]: #420
+#511 := [monotonicity #694 #528 #550]: #552
+#657 := [trans #511 #561]: #656
+#377 := (iff #723 false)
+#716 := (iff #723 #726)
+#725 := (iff #722 false)
+#720 := [rewrite]: #725
+#376 := [monotonicity #720 #720]: #716
+#718 := [trans #376 #717]: #377
+#560 := [monotonicity #718 #657]: #545
+#564 := [trans #560 #563]: #556
+#658 := [monotonicity #564]: #661
+#651 := [trans #658 #649]: #661
+#568 := [quant-inst]: #567
+#643 := [mp #568 #651]: #566
+[unit-resolution #643 #733 #169]: false
+unsat
+62ada4366d569f6c75cf58cfc0c1710258d4c728 299 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 3::int
+#39 := (f4 0::int 3::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#748 := (iff #262 #745)
+#746 := (iff #259 #259)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#750 := [mp #265 #749]: #745
+#666 := (not #745)
+#667 := (or #666 #40)
+#323 := (* -1::int 3::int)
+#408 := (* -1::int 0::int)
+#409 := (mod #408 #323)
+#410 := (+ #39 #409)
+#401 := (= #410 0::int)
+#412 := (mod 0::int 3::int)
+#413 := (* -1::int #412)
+#341 := (+ #39 #413)
+#414 := (= #341 0::int)
+#411 := (<= 3::int 0::int)
+#415 := (<= 0::int 0::int)
+#394 := (or #415 #411)
+#729 := (not #394)
+#731 := (>= 0::int 0::int)
+#388 := (or #411 #731)
+#518 := (not #388)
+#725 := (or #518 #729)
+#399 := (ite #725 #414 #401)
+#400 := (= 0::int 0::int)
+#732 := (ite #400 #40 #399)
+#169 := (= 0::int #39)
+#733 := (= 3::int 0::int)
+#734 := (ite #733 #169 #732)
+#670 := (or #666 #734)
+#570 := (iff #670 #667)
+#573 := (iff #667 #667)
+#566 := [rewrite]: #573
+#669 := (iff #734 #40)
+#687 := (ite false #40 #40)
+#517 := (iff #687 #40)
+#519 := [rewrite]: #517
+#562 := (iff #734 #687)
+#560 := (iff #732 #40)
+#1 := true
+#674 := (ite true #40 #40)
+#675 := (iff #674 #40)
+#678 := [rewrite]: #675
+#676 := (iff #732 #674)
+#520 := (iff #399 #40)
+#681 := (iff #399 #687)
+#680 := (iff #401 #40)
+#685 := (= #410 #39)
+#701 := (+ #39 0::int)
+#702 := (= #701 #39)
+#699 := [rewrite]: #702
+#683 := (= #410 #701)
+#540 := (= #409 0::int)
+#689 := -3::int
+#696 := (mod 0::int -3::int)
+#538 := (= #696 0::int)
+#539 := [rewrite]: #538
+#691 := (= #409 #696)
+#690 := (= #323 -3::int)
+#695 := [rewrite]: #690
+#420 := (= #408 0::int)
+#421 := [rewrite]: #420
+#697 := [monotonicity #421 #695]: #691
+#682 := [trans #697 #539]: #540
+#684 := [monotonicity #682]: #683
+#679 := [trans #684 #699]: #685
+#686 := [monotonicity #679]: #680
+#693 := (iff #414 #40)
+#703 := (= #341 #39)
+#416 := (= #341 #701)
+#422 := (= #413 0::int)
+#709 := (= #413 #408)
+#708 := (= #412 0::int)
+#705 := [rewrite]: #708
+#419 := [monotonicity #705]: #709
+#700 := [trans #419 #421]: #422
+#698 := [monotonicity #700]: #416
+#692 := [trans #698 #699]: #703
+#694 := [monotonicity #692]: #693
+#430 := (iff #725 false)
+#436 := (or false false)
+#707 := (iff #436 false)
+#429 := [rewrite]: #707
+#329 := (iff #725 #436)
+#434 := (iff #729 false)
+#714 := (not true)
+#717 := (iff #714 false)
+#718 := [rewrite]: #717
+#711 := (iff #729 #714)
+#724 := (iff #394 true)
+#722 := (or true false)
+#723 := (iff #722 true)
+#721 := [rewrite]: #723
+#362 := (iff #394 #722)
+#386 := (iff #411 false)
+#391 := [rewrite]: #386
+#357 := (iff #415 true)
+#720 := [rewrite]: #357
+#363 := [monotonicity #720 #391]: #362
+#710 := [trans #363 #721]: #724
+#433 := [monotonicity #710]: #711
+#435 := [trans #433 #718]: #434
+#713 := (iff #518 false)
+#715 := (iff #518 #714)
+#377 := (iff #388 true)
+#728 := (or false true)
+#375 := (iff #728 true)
+#376 := [rewrite]: #375
+#371 := (iff #388 #728)
+#727 := (iff #731 true)
+#387 := [rewrite]: #727
+#712 := [monotonicity #391 #387]: #371
+#378 := [trans #712 #376]: #377
+#716 := [monotonicity #378]: #715
+#719 := [trans #716 #718]: #713
+#706 := [monotonicity #719 #435]: #329
+#704 := [trans #706 #429]: #430
+#688 := [monotonicity #704 #694 #686]: #681
+#673 := [trans #688 #519]: #520
+#736 := (iff #400 true)
+#726 := [rewrite]: #736
+#677 := [monotonicity #726 #673]: #676
+#561 := [trans #677 #678]: #560
+#175 := (iff #169 #40)
+#176 := [rewrite]: #175
+#735 := (iff #733 false)
+#730 := [rewrite]: #735
+#521 := [monotonicity #730 #176 #561]: #562
+#571 := [trans #521 #519]: #669
+#572 := [monotonicity #571]: #570
+#574 := [trans #572 #566]: #570
+#555 := [quant-inst]: #670
+#575 := [mp #555 #574]: #667
+[unit-resolution #575 #750 #168]: false
+unsat
+a30bbe93d2d8e059cff59983b5c369152f8b4c56 310 0
+#2 := false
+#41 := 1::int
+decl f3 :: (-> int int int)
+#39 := 3::int
+#38 := 5::int
+#40 := (f3 5::int 3::int)
+#42 := (= #40 1::int)
+#43 := (not #42)
+#170 := [asserted]: #43
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#728 := (pattern #10)
+#11 := 0::int
+#67 := -1::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#74 := (div #68 #71)
+#231 := (* -1::int #74)
+#232 := (+ #10 #231)
+#233 := (= #232 0::int)
+#21 := (div #8 #9)
+#228 := (* -1::int #21)
+#229 := (+ #10 #228)
+#230 := (= #229 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#186 := (or #89 #93)
+#187 := (not #186)
+#100 := (>= #8 0::int)
+#178 := (or #93 #100)
+#179 := (not #178)
+#193 := (or #179 #187)
+#234 := (ite #193 #230 #233)
+#227 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#235 := (ite #14 #227 #234)
+#729 := (forall (vars (?v0 int) (?v1 int)) (:pat #728) #235)
+#238 := (forall (vars (?v0 int) (?v1 int)) #235)
+#732 := (iff #238 #729)
+#730 := (iff #235 #235)
+#731 := [refl]: #730
+#733 := [quant-intro #731]: #732
+#198 := (ite #193 #21 #74)
+#201 := (ite #14 0::int #198)
+#204 := (= #10 #201)
+#207 := (forall (vars (?v0 int) (?v1 int)) #204)
+#239 := (iff #207 #238)
+#236 := (iff #204 #235)
+#237 := [rewrite]: #236
+#240 := [quant-intro #237]: #239
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (ite #107 #21 #74)
+#113 := (ite #14 0::int #110)
+#116 := (= #10 #113)
+#119 := (forall (vars (?v0 int) (?v1 int)) #116)
+#208 := (iff #119 #207)
+#205 := (iff #116 #204)
+#202 := (= #113 #201)
+#199 := (= #110 #198)
+#196 := (iff #107 #193)
+#190 := (or #187 #179)
+#194 := (iff #190 #193)
+#195 := [rewrite]: #194
+#191 := (iff #107 #190)
+#188 := (iff #104 #179)
+#189 := [rewrite]: #188
+#176 := (iff #97 #187)
+#177 := [rewrite]: #176
+#192 := [monotonicity #177 #189]: #191
+#197 := [trans #192 #195]: #196
+#200 := [monotonicity #197]: #199
+#203 := [monotonicity #200]: #202
+#206 := [monotonicity #203]: #205
+#209 := [quant-intro #206]: #208
+#182 := (~ #119 #119)
+#180 := (~ #116 #116)
+#181 := [refl]: #180
+#183 := [nnf-pos #181]: #182
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#122 := (iff #28 #119)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#77 := (ite #64 #21 #74)
+#80 := (ite #14 0::int #77)
+#83 := (= #10 #80)
+#86 := (forall (vars (?v0 int) (?v1 int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #28 #86)
+#84 := (iff #27 #83)
+#81 := (= #26 #80)
+#78 := (= #25 #77)
+#75 := (= #24 #74)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#79 := [monotonicity #66 #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#60 := [asserted]: #28
+#124 := [mp #60 #123]: #119
+#173 := [mp~ #124 #183]: #119
+#210 := [mp #173 #209]: #207
+#241 := [mp #210 #240]: #238
+#734 := [mp #241 #733]: #729
+#633 := (not #729)
+#634 := (or #633 #42)
+#315 := (* -1::int 3::int)
+#399 := (* -1::int 5::int)
+#400 := (div #399 #315)
+#401 := (* -1::int #400)
+#392 := (+ #40 #401)
+#403 := (= #392 0::int)
+#404 := (div 5::int 3::int)
+#405 := (* -1::int #404)
+#402 := (+ #40 #405)
+#406 := (= #402 0::int)
+#385 := (<= 3::int 0::int)
+#720 := (<= 5::int 0::int)
+#722 := (or #720 #385)
+#379 := (not #722)
+#509 := (>= 5::int 0::int)
+#716 := (or #385 #509)
+#390 := (not #716)
+#391 := (or #390 #379)
+#723 := (ite #391 #406 #403)
+#724 := (= #40 0::int)
+#725 := (= 3::int 0::int)
+#726 := (= 5::int 0::int)
+#721 := (or #726 #725)
+#727 := (ite #721 #724 #723)
+#636 := (or #633 #727)
+#638 := (iff #636 #634)
+#635 := (iff #634 #634)
+#640 := [rewrite]: #635
+#642 := (iff #727 #42)
+#656 := (ite false #724 #42)
+#647 := (iff #656 #42)
+#648 := [rewrite]: #647
+#645 := (iff #727 #656)
+#655 := (iff #723 #42)
+#665 := 2::int
+#662 := (= #40 2::int)
+#1 := true
+#644 := (ite true #42 #662)
+#653 := (iff #644 #42)
+#654 := [rewrite]: #653
+#641 := (iff #723 #644)
+#650 := (iff #403 #662)
+#512 := -2::int
+#563 := (+ -2::int #40)
+#567 := (= #563 0::int)
+#659 := (iff #567 #662)
+#663 := [rewrite]: #659
+#568 := (iff #403 #567)
+#565 := (= #392 #563)
+#661 := (+ #40 -2::int)
+#564 := (= #661 #563)
+#557 := [rewrite]: #564
+#546 := (= #392 #661)
+#657 := (= #401 -2::int)
+#551 := (* -1::int 2::int)
+#660 := (= #551 -2::int)
+#562 := [rewrite]: #660
+#552 := (= #401 #551)
+#666 := (= #400 2::int)
+#672 := -3::int
+#671 := -5::int
+#510 := (div -5::int -3::int)
+#667 := (= #510 2::int)
+#668 := [rewrite]: #667
+#511 := (= #400 #510)
+#679 := (= #315 -3::int)
+#508 := [rewrite]: #679
+#677 := (= #399 -5::int)
+#678 := [rewrite]: #677
+#664 := [monotonicity #678 #508]: #511
+#669 := [trans #664 #668]: #666
+#553 := [monotonicity #669]: #552
+#658 := [trans #553 #562]: #657
+#561 := [monotonicity #658]: #546
+#566 := [trans #561 #557]: #565
+#569 := [monotonicity #566]: #568
+#652 := [trans #569 #663]: #650
+#676 := (iff #406 #42)
+#686 := (+ -1::int #40)
+#530 := (= #686 0::int)
+#674 := (iff #530 #42)
+#675 := [rewrite]: #674
+#531 := (iff #406 #530)
+#688 := (= #402 #686)
+#685 := (+ #40 -1::int)
+#687 := (= #685 #686)
+#682 := [rewrite]: #687
+#680 := (= #402 #685)
+#683 := (= #405 -1::int)
+#407 := (* -1::int 1::int)
+#690 := (= #407 -1::int)
+#694 := [rewrite]: #690
+#689 := (= #405 #407)
+#691 := (= #404 1::int)
+#692 := [rewrite]: #691
+#693 := [monotonicity #692]: #689
+#684 := [trans #693 #694]: #683
+#681 := [monotonicity #684]: #680
+#529 := [trans #681 #682]: #688
+#673 := [monotonicity #529]: #531
+#670 := [trans #673 #675]: #676
+#412 := (iff #391 true)
+#708 := (or false true)
+#710 := (iff #708 true)
+#348 := [rewrite]: #710
+#410 := (iff #391 #708)
+#696 := (iff #379 true)
+#698 := (not false)
+#695 := (iff #698 true)
+#699 := [rewrite]: #695
+#420 := (iff #379 #698)
+#321 := (iff #722 false)
+#378 := (or false false)
+#703 := (iff #378 false)
+#366 := [rewrite]: #703
+#426 := (iff #722 #378)
+#369 := (iff #385 false)
+#705 := [rewrite]: #369
+#424 := (iff #720 false)
+#425 := [rewrite]: #424
+#427 := [monotonicity #425 #705]: #426
+#697 := [trans #427 #366]: #321
+#421 := [monotonicity #697]: #420
+#700 := [trans #421 #699]: #696
+#701 := (iff #390 false)
+#353 := (not true)
+#712 := (iff #353 false)
+#715 := [rewrite]: #712
+#354 := (iff #390 #353)
+#711 := (iff #716 true)
+#709 := (iff #716 #708)
+#706 := (iff #509 true)
+#707 := [rewrite]: #706
+#704 := [monotonicity #705 #707]: #709
+#713 := [trans #704 #348]: #711
+#714 := [monotonicity #713]: #354
+#702 := [trans #714 #715]: #701
+#411 := [monotonicity #702 #700]: #410
+#413 := [trans #411 #348]: #412
+#643 := [monotonicity #413 #670 #652]: #641
+#651 := [trans #643 #654]: #655
+#367 := (iff #721 false)
+#719 := (iff #721 #378)
+#382 := (iff #725 false)
+#718 := [rewrite]: #382
+#717 := (iff #726 false)
+#377 := [rewrite]: #717
+#362 := [monotonicity #377 #718]: #719
+#368 := [trans #362 #366]: #367
+#646 := [monotonicity #368 #651]: #645
+#649 := [trans #646 #648]: #642
+#639 := [monotonicity #649]: #638
+#626 := [trans #639 #640]: #638
+#637 := [quant-inst]: #636
+#627 := [mp #637 #626]: #634
+[unit-resolution #627 #734 #170]: false
+unsat
+ce00a9a2ac98ee74eda5a6ff3af7cf5e8e01ed5f 318 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#170 := -3::int
+#173 := (f4 0::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f4 0::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#578 := (not #761)
+#537 := (or #578 #176)
+#339 := (* -1::int -3::int)
+#424 := (* -1::int 0::int)
+#425 := (mod #424 #339)
+#426 := (+ #173 #425)
+#417 := (= #426 0::int)
+#428 := (mod 0::int -3::int)
+#429 := (* -1::int #428)
+#357 := (+ #173 #429)
+#430 := (= #357 0::int)
+#427 := (<= -3::int 0::int)
+#431 := (<= 0::int 0::int)
+#410 := (or #431 #427)
+#745 := (not #410)
+#747 := (>= 0::int 0::int)
+#404 := (or #427 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #430 #417)
+#416 := (= 0::int 0::int)
+#748 := (ite #416 #176 #415)
+#749 := (= -3::int 0::int)
+#750 := (ite #749 #179 #748)
+#685 := (or #578 #750)
+#682 := (iff #685 #537)
+#686 := (iff #537 #537)
+#571 := [rewrite]: #686
+#576 := (iff #750 #176)
+#701 := (ite false #176 #176)
+#702 := (iff #701 #176)
+#703 := [rewrite]: #702
+#691 := (iff #750 #701)
+#692 := (iff #748 #176)
+#1 := true
+#533 := (ite true #176 #176)
+#689 := (iff #533 #176)
+#690 := [rewrite]: #689
+#535 := (iff #748 #533)
+#697 := (iff #415 #176)
+#695 := (iff #415 #701)
+#699 := (iff #417 #176)
+#556 := (= #426 #173)
+#437 := (+ #173 0::int)
+#717 := (= #437 #173)
+#432 := [rewrite]: #717
+#554 := (= #426 #437)
+#707 := (= #425 0::int)
+#710 := (mod 0::int 3::int)
+#711 := (= #710 0::int)
+#712 := [rewrite]: #711
+#705 := (= #425 #710)
+#708 := (= #339 3::int)
+#709 := [rewrite]: #708
+#721 := (= #424 0::int)
+#725 := [rewrite]: #721
+#706 := [monotonicity #725 #709]: #705
+#713 := [trans #706 #712]: #707
+#555 := [monotonicity #713]: #554
+#698 := [trans #555 #432]: #556
+#700 := [monotonicity #698]: #699
+#715 := (iff #430 #176)
+#714 := (= #357 #173)
+#438 := (= #357 #437)
+#435 := (= #429 0::int)
+#720 := (= #429 #424)
+#445 := (= #428 0::int)
+#446 := [rewrite]: #445
+#724 := [monotonicity #446]: #720
+#436 := [trans #724 #725]: #435
+#716 := [monotonicity #436]: #438
+#718 := [trans #716 #432]: #714
+#719 := [monotonicity #718]: #715
+#722 := (iff #741 false)
+#449 := (or false false)
+#452 := (iff #449 false)
+#345 := [rewrite]: #452
+#450 := (iff #741 #449)
+#726 := (iff #745 false)
+#730 := (not true)
+#733 := (iff #730 false)
+#734 := [rewrite]: #733
+#737 := (iff #745 #730)
+#379 := (iff #410 true)
+#744 := (or true true)
+#391 := (iff #744 true)
+#392 := [rewrite]: #391
+#738 := (iff #410 #744)
+#402 := (iff #427 true)
+#407 := [rewrite]: #402
+#373 := (iff #431 true)
+#736 := [rewrite]: #373
+#378 := [monotonicity #736 #407]: #738
+#739 := [trans #378 #392]: #379
+#740 := [monotonicity #739]: #737
+#727 := [trans #740 #734]: #726
+#729 := (iff #534 false)
+#731 := (iff #534 #730)
+#393 := (iff #404 true)
+#387 := (iff #404 #744)
+#743 := (iff #747 true)
+#403 := [rewrite]: #743
+#728 := [monotonicity #407 #403]: #387
+#394 := [trans #728 #392]: #393
+#732 := [monotonicity #394]: #731
+#735 := [trans #732 #734]: #729
+#451 := [monotonicity #735 #727]: #450
+#723 := [trans #451 #345]: #722
+#696 := [monotonicity #723 #719 #700]: #695
+#704 := [trans #696 #703]: #697
+#752 := (iff #416 true)
+#742 := [rewrite]: #752
+#536 := [monotonicity #742 #704]: #535
+#693 := [trans #536 #690]: #692
+#751 := (iff #749 false)
+#746 := [rewrite]: #751
+#694 := [monotonicity #746 #188 #693]: #691
+#577 := [trans #694 #703]: #576
+#683 := [monotonicity #577]: #682
+#586 := [trans #683 #571]: #682
+#587 := [quant-inst]: #685
+#588 := [mp #587 #586]: #537
+[unit-resolution #588 #766 #194]: false
+unsat
+67d1507c84bf5b55736763e84724925e9337b87e 324 0
+#2 := false
+#68 := -1::int
+decl f3 :: (-> int int int)
+#172 := -3::int
+#38 := 1::int
+#175 := (f3 1::int -3::int)
+#180 := (= #175 -1::int)
+#193 := (not #180)
+#42 := (- 1::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f3 1::int #40)
+#43 := (= #41 #42)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #175)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 -1::int)
+#179 := [rewrite]: #178
+#176 := (= #41 #175)
+#173 := (= #40 -3::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#182 := [monotonicity #177 #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#672 := (not #757)
+#669 := (or #672 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int 1::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #175 #429)
+#431 := (= #420 0::int)
+#432 := (div 1::int -3::int)
+#433 := (* -1::int #432)
+#430 := (+ #175 #433)
+#434 := (= #430 0::int)
+#413 := (<= -3::int 0::int)
+#748 := (<= 1::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= 1::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= #175 0::int)
+#753 := (= -3::int 0::int)
+#754 := (= 1::int 0::int)
+#749 := (or #754 #753)
+#755 := (ite #749 #752 #751)
+#671 := (or #672 #755)
+#682 := (iff #671 #669)
+#679 := (iff #669 #669)
+#684 := [rewrite]: #679
+#678 := (iff #755 #180)
+#585 := (ite false #752 #180)
+#595 := (iff #585 #180)
+#596 := [rewrite]: #595
+#687 := (iff #755 #585)
+#597 := (iff #751 #180)
+#593 := (iff #751 #585)
+#591 := (iff #431 #180)
+#580 := (+ 1::int #175)
+#685 := (= #580 0::int)
+#574 := (iff #685 #180)
+#589 := [rewrite]: #574
+#686 := (iff #431 #685)
+#688 := (= #420 #580)
+#694 := (+ #175 1::int)
+#581 := (= #694 #580)
+#540 := [rewrite]: #581
+#697 := (= #420 #694)
+#695 := (= #429 1::int)
+#536 := (* -1::int -1::int)
+#692 := (= #536 1::int)
+#693 := [rewrite]: #692
+#538 := (= #429 #536)
+#700 := (= #428 -1::int)
+#704 := (div -1::int 3::int)
+#705 := (= #704 -1::int)
+#706 := [rewrite]: #705
+#698 := (= #428 #704)
+#702 := (= #343 3::int)
+#703 := [rewrite]: #702
+#559 := (= #427 -1::int)
+#701 := [rewrite]: #559
+#699 := [monotonicity #701 #703]: #698
+#707 := [trans #699 #706]: #700
+#539 := [monotonicity #707]: #538
+#696 := [trans #539 #693]: #695
+#579 := [monotonicity #696]: #697
+#590 := [trans #579 #540]: #688
+#689 := [monotonicity #590]: #686
+#592 := [trans #689 #589]: #591
+#557 := (iff #434 #752)
+#710 := (= #430 #175)
+#713 := (+ #175 0::int)
+#714 := (= #713 #175)
+#715 := [rewrite]: #714
+#708 := (= #430 #713)
+#711 := (= #433 0::int)
+#435 := (* -1::int 0::int)
+#718 := (= #435 0::int)
+#722 := [rewrite]: #718
+#717 := (= #433 #435)
+#719 := (= #432 0::int)
+#720 := [rewrite]: #719
+#721 := [monotonicity #720]: #717
+#712 := [trans #721 #722]: #711
+#709 := [monotonicity #712]: #708
+#716 := [trans #709 #715]: #710
+#558 := [monotonicity #716]: #557
+#440 := (iff #419 false)
+#406 := (or false false)
+#731 := (iff #406 false)
+#394 := [rewrite]: #731
+#438 := (iff #419 #406)
+#724 := (iff #407 false)
+#1 := true
+#381 := (not true)
+#740 := (iff #381 false)
+#743 := [rewrite]: #740
+#723 := (iff #407 #381)
+#448 := (iff #750 true)
+#454 := (or false true)
+#725 := (iff #454 true)
+#726 := [rewrite]: #725
+#455 := (iff #750 #454)
+#397 := (iff #413 true)
+#733 := [rewrite]: #397
+#452 := (iff #748 false)
+#453 := [rewrite]: #452
+#349 := [monotonicity #453 #733]: #455
+#449 := [trans #349 #726]: #448
+#727 := [monotonicity #449]: #723
+#728 := [trans #727 #743]: #724
+#729 := (iff #418 false)
+#382 := (iff #418 #381)
+#739 := (iff #744 true)
+#736 := (or true true)
+#738 := (iff #736 true)
+#376 := [rewrite]: #738
+#737 := (iff #744 #736)
+#734 := (iff #537 true)
+#735 := [rewrite]: #734
+#732 := [monotonicity #733 #735]: #737
+#741 := [trans #732 #376]: #739
+#742 := [monotonicity #741]: #382
+#730 := [trans #742 #743]: #729
+#439 := [monotonicity #730 #728]: #438
+#441 := [trans #439 #394]: #440
+#594 := [monotonicity #441 #558 #592]: #593
+#690 := [trans #594 #596]: #597
+#395 := (iff #749 false)
+#747 := (iff #749 #406)
+#410 := (iff #753 false)
+#746 := [rewrite]: #410
+#745 := (iff #754 false)
+#405 := [rewrite]: #745
+#390 := [monotonicity #405 #746]: #747
+#396 := [trans #390 #394]: #395
+#691 := [monotonicity #396 #690]: #687
+#680 := [trans #691 #596]: #678
+#683 := [monotonicity #680]: #682
+#673 := [trans #683 #684]: #682
+#681 := [quant-inst]: #671
+#674 := [mp #681 #673]: #669
+[unit-resolution #674 #762 #198]: false
+unsat
+3ca836a50902cedb9598c64c13667ab84779478c 323 0
+#2 := false
+#68 := -1::int
+decl f3 :: (-> int int int)
+#172 := -3::int
+#38 := 3::int
+#175 := (f3 3::int -3::int)
+#180 := (= #175 -1::int)
+#193 := (not #180)
+#41 := 1::int
+#42 := (- 1::int)
+#39 := (- 3::int)
+#40 := (f3 3::int #39)
+#43 := (= #40 #42)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #175)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 -1::int)
+#179 := [rewrite]: #178
+#176 := (= #40 #175)
+#173 := (= #39 -3::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#182 := [monotonicity #177 #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#680 := (not #757)
+#672 := (or #680 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int 3::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #175 #429)
+#431 := (= #420 0::int)
+#432 := (div 3::int -3::int)
+#433 := (* -1::int #432)
+#430 := (+ #175 #433)
+#434 := (= #430 0::int)
+#413 := (<= -3::int 0::int)
+#748 := (<= 3::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= 3::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= #175 0::int)
+#753 := (= -3::int 0::int)
+#754 := (= 3::int 0::int)
+#749 := (or #754 #753)
+#755 := (ite #749 #752 #751)
+#669 := (or #680 #755)
+#681 := (iff #669 #672)
+#683 := (iff #672 #672)
+#679 := [rewrite]: #683
+#691 := (iff #755 #180)
+#595 := (ite false #752 #180)
+#690 := (iff #595 #180)
+#687 := [rewrite]: #690
+#596 := (iff #755 #595)
+#593 := (iff #751 #180)
+#574 := (ite false #180 #180)
+#592 := (iff #574 #180)
+#585 := [rewrite]: #592
+#589 := (iff #751 #574)
+#686 := (iff #431 #180)
+#714 := (+ 1::int #175)
+#558 := (= #714 0::int)
+#702 := (iff #558 #180)
+#703 := [rewrite]: #702
+#590 := (iff #431 #558)
+#540 := (= #420 #714)
+#713 := (+ #175 1::int)
+#715 := (= #713 #714)
+#710 := [rewrite]: #715
+#580 := (= #420 #713)
+#697 := (= #429 1::int)
+#435 := (* -1::int -1::int)
+#718 := (= #435 1::int)
+#722 := [rewrite]: #718
+#696 := (= #429 #435)
+#693 := (= #428 -1::int)
+#707 := (div -3::int 3::int)
+#539 := (= #707 -1::int)
+#692 := [rewrite]: #539
+#536 := (= #428 #707)
+#706 := (= #343 3::int)
+#700 := [rewrite]: #706
+#699 := (= #427 -3::int)
+#705 := [rewrite]: #699
+#538 := [monotonicity #705 #700]: #536
+#695 := [trans #538 #692]: #693
+#694 := [monotonicity #695]: #696
+#579 := [trans #694 #722]: #697
+#581 := [monotonicity #579]: #580
+#688 := [trans #581 #710]: #540
+#685 := [monotonicity #688]: #590
+#689 := [trans #685 #703]: #686
+#704 := (iff #434 #180)
+#559 := (iff #434 #558)
+#716 := (= #430 #714)
+#708 := (= #430 #713)
+#711 := (= #433 1::int)
+#717 := (= #433 #435)
+#719 := (= #432 -1::int)
+#720 := [rewrite]: #719
+#721 := [monotonicity #720]: #717
+#712 := [trans #721 #722]: #711
+#709 := [monotonicity #712]: #708
+#557 := [trans #709 #710]: #716
+#701 := [monotonicity #557]: #559
+#698 := [trans #701 #703]: #704
+#440 := (iff #419 false)
+#406 := (or false false)
+#731 := (iff #406 false)
+#394 := [rewrite]: #731
+#438 := (iff #419 #406)
+#724 := (iff #407 false)
+#1 := true
+#381 := (not true)
+#740 := (iff #381 false)
+#743 := [rewrite]: #740
+#723 := (iff #407 #381)
+#448 := (iff #750 true)
+#454 := (or false true)
+#725 := (iff #454 true)
+#726 := [rewrite]: #725
+#455 := (iff #750 #454)
+#397 := (iff #413 true)
+#733 := [rewrite]: #397
+#452 := (iff #748 false)
+#453 := [rewrite]: #452
+#349 := [monotonicity #453 #733]: #455
+#449 := [trans #349 #726]: #448
+#727 := [monotonicity #449]: #723
+#728 := [trans #727 #743]: #724
+#729 := (iff #418 false)
+#382 := (iff #418 #381)
+#739 := (iff #744 true)
+#736 := (or true true)
+#738 := (iff #736 true)
+#376 := [rewrite]: #738
+#737 := (iff #744 #736)
+#734 := (iff #537 true)
+#735 := [rewrite]: #734
+#732 := [monotonicity #733 #735]: #737
+#741 := [trans #732 #376]: #739
+#742 := [monotonicity #741]: #382
+#730 := [trans #742 #743]: #729
+#439 := [monotonicity #730 #728]: #438
+#441 := [trans #439 #394]: #440
+#591 := [monotonicity #441 #698 #689]: #589
+#594 := [trans #591 #585]: #593
+#395 := (iff #749 false)
+#747 := (iff #749 #406)
+#410 := (iff #753 false)
+#746 := [rewrite]: #410
+#745 := (iff #754 false)
+#405 := [rewrite]: #745
+#390 := [monotonicity #405 #746]: #747
+#396 := [trans #390 #394]: #395
+#597 := [monotonicity #396 #594]: #596
+#678 := [trans #597 #687]: #691
+#682 := [monotonicity #678]: #681
+#684 := [trans #682 #679]: #681
+#671 := [quant-inst]: #669
+#673 := [mp #671 #684]: #672
+[unit-resolution #673 #762 #198]: false
+unsat
+7e60c8e870227efa11986e096bca8fb9f1d5067a 322 0
+#2 := false
+#38 := 1::int
+decl f4 :: (-> int int int)
+#39 := 3::int
+#40 := (f4 1::int 3::int)
+#41 := (= #40 1::int)
+#42 := (not #41)
+#169 := [asserted]: #42
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#11 := 0::int
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#256 := (+ #29 #125)
+#257 := (= #256 0::int)
+#30 := (mod #8 #9)
+#253 := (* -1::int #30)
+#254 := (+ #29 #253)
+#255 := (= #254 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#195 := (or #88 #92)
+#196 := (not #195)
+#99 := (>= #8 0::int)
+#187 := (or #92 #99)
+#188 := (not #187)
+#202 := (or #188 #196)
+#258 := (ite #202 #255 #257)
+#252 := (= #29 0::int)
+#12 := (= #8 0::int)
+#259 := (ite #12 #252 #258)
+#251 := (= #8 #29)
+#13 := (= #9 0::int)
+#260 := (ite #13 #251 #259)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#748 := (iff #263 #745)
+#746 := (iff #260 #260)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#131 := (* -1::int #125)
+#220 := (ite #202 #30 #131)
+#223 := (ite #12 0::int #220)
+#226 := (ite #13 #8 #223)
+#229 := (= #29 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#233 := (iff #163 #232)
+#230 := (iff #160 #229)
+#227 := (= #157 #226)
+#224 := (= #154 #223)
+#221 := (= #151 #220)
+#205 := (iff #106 #202)
+#199 := (or #196 #188)
+#203 := (iff #199 #202)
+#204 := [rewrite]: #203
+#200 := (iff #106 #199)
+#197 := (iff #103 #188)
+#198 := [rewrite]: #197
+#185 := (iff #96 #196)
+#186 := [rewrite]: #185
+#201 := [monotonicity #186 #198]: #200
+#206 := [trans #201 #204]: #205
+#222 := [monotonicity #206]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#183 := (~ #163 #163)
+#180 := (~ #160 #160)
+#193 := [refl]: #180
+#184 := [nnf-pos #193]: #183
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#194 := [mp~ #168 #184]: #163
+#235 := [mp #194 #234]: #232
+#266 := [mp #235 #265]: #263
+#750 := [mp #266 #749]: #745
+#664 := (not #745)
+#660 := (or #664 #41)
+#324 := (* -1::int 3::int)
+#408 := (* -1::int 1::int)
+#409 := (mod #408 #324)
+#410 := (+ #40 #409)
+#401 := (= #410 0::int)
+#412 := (mod 1::int 3::int)
+#413 := (* -1::int #412)
+#414 := (+ #40 #413)
+#411 := (= #414 0::int)
+#415 := (<= 3::int 0::int)
+#394 := (<= 1::int 0::int)
+#729 := (or #394 #415)
+#731 := (not #729)
+#388 := (>= 1::int 0::int)
+#518 := (or #415 #388)
+#725 := (not #518)
+#399 := (or #725 #731)
+#400 := (ite #399 #411 #401)
+#732 := (= #40 0::int)
+#733 := (= 1::int 0::int)
+#734 := (ite #733 #732 #400)
+#170 := (= 1::int #40)
+#735 := (= 3::int 0::int)
+#730 := (ite #735 #170 #734)
+#665 := (or #664 #730)
+#655 := (iff #665 #660)
+#657 := (iff #660 #660)
+#651 := [rewrite]: #657
+#662 := (iff #730 #41)
+#659 := (ite false #41 #41)
+#650 := (iff #659 #41)
+#652 := [rewrite]: #650
+#661 := (iff #730 #659)
+#668 := (iff #734 #41)
+#575 := (ite false #732 #41)
+#578 := (iff #575 #41)
+#671 := [rewrite]: #578
+#576 := (iff #734 #575)
+#566 := (iff #400 #41)
+#562 := -2::int
+#521 := (= #40 -2::int)
+#1 := true
+#670 := (ite true #41 #521)
+#572 := (iff #670 #41)
+#573 := [rewrite]: #572
+#555 := (iff #400 #670)
+#666 := (iff #401 #521)
+#680 := 2::int
+#673 := (+ 2::int #40)
+#678 := (= #673 0::int)
+#669 := (iff #678 #521)
+#571 := [rewrite]: #669
+#560 := (iff #401 #678)
+#677 := (= #410 #673)
+#517 := (+ #40 2::int)
+#674 := (= #517 #673)
+#676 := [rewrite]: #674
+#519 := (= #410 #517)
+#681 := (= #409 2::int)
+#540 := -3::int
+#684 := (mod -1::int -3::int)
+#686 := (= #684 2::int)
+#687 := [rewrite]: #686
+#685 := (= #409 #684)
+#682 := (= #324 -3::int)
+#683 := [rewrite]: #682
+#422 := (= #408 -1::int)
+#700 := [rewrite]: #422
+#679 := [monotonicity #700 #683]: #685
+#688 := [trans #679 #687]: #681
+#520 := [monotonicity #688]: #519
+#675 := [trans #520 #676]: #677
+#561 := [monotonicity #675]: #560
+#667 := [trans #561 #571]: #666
+#538 := (iff #411 #41)
+#703 := (+ -1::int #40)
+#690 := (= #703 0::int)
+#691 := (iff #690 #41)
+#697 := [rewrite]: #691
+#695 := (iff #411 #690)
+#694 := (= #414 #703)
+#698 := (+ #40 -1::int)
+#692 := (= #698 #703)
+#693 := [rewrite]: #692
+#702 := (= #414 #698)
+#701 := (= #413 -1::int)
+#420 := (= #413 #408)
+#709 := (= #412 1::int)
+#419 := [rewrite]: #709
+#421 := [monotonicity #419]: #420
+#416 := [trans #421 #700]: #701
+#699 := [monotonicity #416]: #702
+#689 := [trans #699 #693]: #694
+#696 := [monotonicity #689]: #695
+#539 := [trans #696 #697]: #538
+#708 := (iff #399 true)
+#712 := (or false true)
+#377 := (iff #712 true)
+#378 := [rewrite]: #377
+#430 := (iff #399 #712)
+#707 := (iff #731 true)
+#434 := (not false)
+#330 := (iff #434 true)
+#706 := [rewrite]: #330
+#435 := (iff #731 #434)
+#711 := (iff #729 false)
+#363 := (or false false)
+#724 := (iff #363 false)
+#710 := [rewrite]: #724
+#723 := (iff #729 #363)
+#727 := (iff #415 false)
+#387 := [rewrite]: #727
+#722 := (iff #394 false)
+#362 := [rewrite]: #722
+#721 := [monotonicity #362 #387]: #723
+#433 := [trans #721 #710]: #711
+#436 := [monotonicity #433]: #435
+#429 := [trans #436 #706]: #707
+#357 := (iff #725 false)
+#716 := (not true)
+#713 := (iff #716 false)
+#719 := [rewrite]: #713
+#717 := (iff #725 #716)
+#714 := (iff #518 true)
+#375 := (iff #518 #712)
+#728 := (iff #388 true)
+#371 := [rewrite]: #728
+#376 := [monotonicity #387 #371]: #375
+#715 := [trans #376 #378]: #714
+#718 := [monotonicity #715]: #717
+#720 := [trans #718 #719]: #357
+#704 := [monotonicity #720 #429]: #430
+#705 := [trans #704 #378]: #708
+#570 := [monotonicity #705 #539 #667]: #555
+#574 := [trans #570 #573]: #566
+#386 := (iff #733 false)
+#391 := [rewrite]: #386
+#577 := [monotonicity #391 #574]: #576
+#672 := [trans #577 #671]: #668
+#176 := (iff #170 #41)
+#177 := [rewrite]: #176
+#736 := (iff #735 false)
+#726 := [rewrite]: #736
+#653 := [monotonicity #726 #177 #672]: #661
+#663 := [trans #653 #652]: #662
+#656 := [monotonicity #663]: #655
+#658 := [trans #656 #651]: #655
+#654 := [quant-inst]: #665
+#642 := [mp #654 #658]: #660
+[unit-resolution #642 #750 #169]: false
+unsat
+4e54628370c67b364f92814a1e587bd252e7851a 326 0
+#2 := false
+#179 := -2::int
+decl f3 :: (-> int int int)
+#173 := -3::int
+#38 := 5::int
+#176 := (f3 5::int -3::int)
+#182 := (= #176 -2::int)
+#185 := (not #182)
+#42 := 2::int
+#43 := (- 2::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f3 5::int #40)
+#44 := (= #41 #43)
+#45 := (not #44)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#180 := (= #43 -2::int)
+#181 := [rewrite]: #180
+#177 := (= #41 #176)
+#174 := (= #40 -3::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#184 := [monotonicity #178 #181]: #183
+#187 := [monotonicity #184]: #186
+#172 := [asserted]: #45
+#190 := [mp #172 #187]: #185
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#747 := (pattern #10)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#249 := (* -1::int #76)
+#250 := (+ #10 #249)
+#251 := (= #250 0::int)
+#21 := (div #8 #9)
+#246 := (* -1::int #21)
+#247 := (+ #10 #246)
+#248 := (= #247 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#204 := (or #91 #95)
+#205 := (not #204)
+#102 := (>= #8 0::int)
+#196 := (or #95 #102)
+#197 := (not #196)
+#211 := (or #197 #205)
+#252 := (ite #211 #248 #251)
+#245 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#253 := (ite #14 #245 #252)
+#748 := (forall (vars (?v0 int) (?v1 int)) (:pat #747) #253)
+#256 := (forall (vars (?v0 int) (?v1 int)) #253)
+#751 := (iff #256 #748)
+#749 := (iff #253 #253)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#216 := (ite #211 #21 #76)
+#219 := (ite #14 0::int #216)
+#222 := (= #10 #219)
+#225 := (forall (vars (?v0 int) (?v1 int)) #222)
+#257 := (iff #225 #256)
+#254 := (iff #222 #253)
+#255 := [rewrite]: #254
+#258 := [quant-intro #255]: #257
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#226 := (iff #121 #225)
+#223 := (iff #118 #222)
+#220 := (= #115 #219)
+#217 := (= #112 #216)
+#214 := (iff #109 #211)
+#208 := (or #205 #197)
+#212 := (iff #208 #211)
+#213 := [rewrite]: #212
+#209 := (iff #109 #208)
+#206 := (iff #106 #197)
+#207 := [rewrite]: #206
+#194 := (iff #99 #205)
+#195 := [rewrite]: #194
+#210 := [monotonicity #195 #207]: #209
+#215 := [trans #210 #213]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [quant-intro #224]: #226
+#200 := (~ #121 #121)
+#198 := (~ #118 #118)
+#199 := [refl]: #198
+#201 := [nnf-pos #199]: #200
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#191 := [mp~ #126 #201]: #121
+#228 := [mp #191 #227]: #225
+#259 := [mp #228 #258]: #256
+#753 := [mp #259 #752]: #748
+#667 := (not #748)
+#661 := (or #667 #182)
+#333 := (* -1::int -3::int)
+#418 := (* -1::int 5::int)
+#419 := (div #418 #333)
+#420 := (* -1::int #419)
+#411 := (+ #176 #420)
+#422 := (= #411 0::int)
+#423 := (div 5::int -3::int)
+#351 := (* -1::int #423)
+#424 := (+ #176 #351)
+#421 := (= #424 0::int)
+#425 := (<= -3::int 0::int)
+#404 := (<= 5::int 0::int)
+#739 := (or #404 #425)
+#741 := (not #739)
+#398 := (>= 5::int 0::int)
+#528 := (or #425 #398)
+#735 := (not #528)
+#409 := (or #735 #741)
+#410 := (ite #409 #421 #422)
+#742 := (= #176 0::int)
+#743 := (= -3::int 0::int)
+#744 := (= 5::int 0::int)
+#745 := (or #744 #743)
+#740 := (ite #745 #742 #410)
+#668 := (or #667 #740)
+#653 := (iff #668 #661)
+#656 := (iff #661 #661)
+#657 := [rewrite]: #656
+#665 := (iff #740 #182)
+#673 := (ite false #742 #182)
+#675 := (iff #673 #182)
+#664 := [rewrite]: #675
+#674 := (iff #740 #673)
+#662 := (iff #410 #182)
+#693 := (= #176 -1::int)
+#682 := (ite false #693 #182)
+#663 := (iff #682 #182)
+#660 := [rewrite]: #663
+#669 := (iff #410 #682)
+#681 := (iff #422 #182)
+#565 := (+ 2::int #176)
+#584 := (= #565 0::int)
+#587 := (iff #584 #182)
+#588 := [rewrite]: #587
+#585 := (iff #422 #584)
+#583 := (= #411 #565)
+#676 := (+ #176 2::int)
+#580 := (= #676 #565)
+#582 := [rewrite]: #580
+#677 := (= #411 #676)
+#679 := (= #420 2::int)
+#688 := (* -1::int -2::int)
+#572 := (= #688 2::int)
+#531 := [rewrite]: #572
+#570 := (= #420 #688)
+#687 := (= #419 -2::int)
+#696 := -5::int
+#529 := (div -5::int 3::int)
+#684 := (= #529 -2::int)
+#686 := [rewrite]: #684
+#530 := (= #419 #529)
+#698 := (= #333 3::int)
+#527 := [rewrite]: #698
+#697 := (= #418 -5::int)
+#691 := [rewrite]: #697
+#683 := [monotonicity #691 #527]: #530
+#685 := [trans #683 #686]: #687
+#571 := [monotonicity #685]: #570
+#581 := [trans #571 #531]: #679
+#680 := [monotonicity #581]: #677
+#576 := [trans #680 #582]: #583
+#586 := [monotonicity #576]: #585
+#678 := [trans #586 #588]: #681
+#689 := (iff #421 #693)
+#712 := 1::int
+#705 := (+ 1::int #176)
+#549 := (= #705 0::int)
+#694 := (iff #549 #693)
+#695 := [rewrite]: #694
+#550 := (iff #421 #549)
+#707 := (= #424 #705)
+#704 := (+ #176 1::int)
+#706 := (= #704 #705)
+#701 := [rewrite]: #706
+#699 := (= #424 #704)
+#702 := (= #351 1::int)
+#711 := (* -1::int -1::int)
+#709 := (= #711 1::int)
+#713 := [rewrite]: #709
+#426 := (= #351 #711)
+#432 := (= #423 -1::int)
+#710 := [rewrite]: #432
+#708 := [monotonicity #710]: #426
+#703 := [trans #708 #713]: #702
+#700 := [monotonicity #703]: #699
+#548 := [trans #700 #701]: #707
+#692 := [monotonicity #548]: #550
+#690 := [trans #692 #695]: #689
+#430 := (iff #409 false)
+#737 := (or false false)
+#381 := (iff #737 false)
+#722 := [rewrite]: #381
+#719 := (iff #409 #737)
+#718 := (iff #741 false)
+#1 := true
+#732 := (not true)
+#733 := (iff #732 false)
+#731 := [rewrite]: #733
+#440 := (iff #741 #732)
+#717 := (iff #739 true)
+#444 := (or false true)
+#339 := (iff #444 true)
+#716 := [rewrite]: #339
+#445 := (iff #739 #444)
+#387 := (iff #425 true)
+#388 := [rewrite]: #387
+#721 := (iff #404 false)
+#443 := [rewrite]: #721
+#446 := [monotonicity #443 #388]: #445
+#439 := [trans #446 #716]: #717
+#714 := [monotonicity #439]: #440
+#715 := [trans #714 #731]: #718
+#734 := (iff #735 false)
+#372 := (iff #735 #732)
+#367 := (iff #528 true)
+#726 := (or true true)
+#723 := (iff #726 true)
+#729 := [rewrite]: #723
+#727 := (iff #528 #726)
+#724 := (iff #398 true)
+#725 := [rewrite]: #724
+#728 := [monotonicity #388 #725]: #727
+#730 := [trans #728 #729]: #367
+#373 := [monotonicity #730]: #372
+#720 := [trans #373 #731]: #734
+#429 := [monotonicity #720 #715]: #719
+#431 := [trans #429 #722]: #430
+#671 := [monotonicity #431 #690 #678]: #669
+#672 := [trans #671 #660]: #662
+#385 := (iff #745 false)
+#397 := (iff #745 #737)
+#396 := (iff #743 false)
+#401 := [rewrite]: #396
+#746 := (iff #744 false)
+#736 := [rewrite]: #746
+#738 := [monotonicity #736 #401]: #397
+#386 := [trans #738 #722]: #385
+#670 := [monotonicity #386 #672]: #674
+#666 := [trans #670 #664]: #665
+#655 := [monotonicity #666]: #653
+#658 := [trans #655 #657]: #653
+#652 := [quant-inst]: #668
+#654 := [mp #652 #658]: #661
+[unit-resolution #654 #753 #190]: false
+unsat
+6560bfd674a12139ed8cf76157a9702921110fe8 297 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 3::int
+#39 := (f4 3::int 3::int)
+#40 := (= #39 0::int)
+#41 := (not #40)
+#168 := [asserted]: #41
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#744 := (pattern #29)
+#65 := -1::int
+#69 := (* -1::int #9)
+#66 := (* -1::int #8)
+#124 := (mod #66 #69)
+#255 := (+ #29 #124)
+#256 := (= #255 0::int)
+#30 := (mod #8 #9)
+#252 := (* -1::int #30)
+#253 := (+ #29 #252)
+#254 := (= #253 0::int)
+#91 := (<= #9 0::int)
+#87 := (<= #8 0::int)
+#194 := (or #87 #91)
+#195 := (not #194)
+#98 := (>= #8 0::int)
+#186 := (or #91 #98)
+#187 := (not #186)
+#201 := (or #187 #195)
+#257 := (ite #201 #254 #256)
+#251 := (= #29 0::int)
+#12 := (= #8 0::int)
+#258 := (ite #12 #251 #257)
+#250 := (= #8 #29)
+#13 := (= #9 0::int)
+#259 := (ite #13 #250 #258)
+#745 := (forall (vars (?v0 int) (?v1 int)) (:pat #744) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#748 := (iff #262 #745)
+#746 := (iff #259 #259)
+#747 := [refl]: #746
+#749 := [quant-intro #747]: #748
+#130 := (* -1::int #124)
+#219 := (ite #201 #30 #130)
+#222 := (ite #12 0::int #219)
+#225 := (ite #13 #8 #222)
+#228 := (= #29 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#99 := (not #98)
+#92 := (not #91)
+#102 := (and #92 #99)
+#88 := (not #87)
+#95 := (and #88 #92)
+#105 := (or #95 #102)
+#150 := (ite #105 #30 #130)
+#153 := (ite #12 0::int #150)
+#156 := (ite #13 #8 #153)
+#159 := (= #29 #156)
+#162 := (forall (vars (?v0 int) (?v1 int)) #159)
+#232 := (iff #162 #231)
+#229 := (iff #159 #228)
+#226 := (= #156 #225)
+#223 := (= #153 #222)
+#220 := (= #150 #219)
+#204 := (iff #105 #201)
+#198 := (or #195 #187)
+#202 := (iff #198 #201)
+#203 := [rewrite]: #202
+#199 := (iff #105 #198)
+#196 := (iff #102 #187)
+#197 := [rewrite]: #196
+#184 := (iff #95 #195)
+#185 := [rewrite]: #184
+#200 := [monotonicity #185 #197]: #199
+#205 := [trans #200 #203]: #204
+#221 := [monotonicity #205]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#182 := (~ #162 #162)
+#179 := (~ #159 #159)
+#192 := [refl]: #179
+#183 := [nnf-pos #192]: #182
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#165 := (iff #37 #162)
+#59 := (and #16 #18)
+#62 := (or #17 #59)
+#135 := (ite #62 #30 #130)
+#138 := (ite #12 0::int #135)
+#141 := (ite #13 #8 #138)
+#144 := (= #29 #141)
+#147 := (forall (vars (?v0 int) (?v1 int)) #144)
+#163 := (iff #147 #162)
+#160 := (iff #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#151 := (= #135 #150)
+#106 := (iff #62 #105)
+#103 := (iff #59 #102)
+#100 := (iff #18 #99)
+#101 := [rewrite]: #100
+#93 := (iff #16 #92)
+#94 := [rewrite]: #93
+#104 := [monotonicity #94 #101]: #103
+#96 := (iff #17 #95)
+#89 := (iff #15 #88)
+#90 := [rewrite]: #89
+#97 := [monotonicity #90 #94]: #96
+#107 := [monotonicity #97 #104]: #106
+#152 := [monotonicity #107]: #151
+#155 := [monotonicity #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [quant-intro #161]: #163
+#148 := (iff #37 #147)
+#145 := (iff #36 #144)
+#142 := (= #35 #141)
+#139 := (= #34 #138)
+#136 := (= #33 #135)
+#133 := (= #32 #130)
+#127 := (- #124)
+#131 := (= #127 #130)
+#132 := [rewrite]: #131
+#128 := (= #32 #127)
+#125 := (= #31 #124)
+#70 := (= #23 #69)
+#71 := [rewrite]: #70
+#67 := (= #22 #66)
+#68 := [rewrite]: #67
+#126 := [monotonicity #68 #71]: #125
+#129 := [monotonicity #126]: #128
+#134 := [trans #129 #132]: #133
+#63 := (iff #20 #62)
+#60 := (iff #19 #59)
+#61 := [rewrite]: #60
+#64 := [monotonicity #61]: #63
+#137 := [monotonicity #64 #134]: #136
+#140 := [monotonicity #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [quant-intro #146]: #148
+#166 := [trans #149 #164]: #165
+#123 := [asserted]: #37
+#167 := [mp #123 #166]: #162
+#193 := [mp~ #167 #183]: #162
+#234 := [mp #193 #233]: #231
+#265 := [mp #234 #264]: #262
+#750 := [mp #265 #749]: #745
+#667 := (not #745)
+#670 := (or #667 #40)
+#323 := (* -1::int 3::int)
+#408 := (mod #323 #323)
+#409 := (+ #39 #408)
+#410 := (= #409 0::int)
+#401 := (mod 3::int 3::int)
+#412 := (* -1::int #401)
+#413 := (+ #39 #412)
+#341 := (= #413 0::int)
+#414 := (<= 3::int 0::int)
+#411 := (or #414 #414)
+#415 := (not #411)
+#394 := (>= 3::int 0::int)
+#729 := (or #414 #394)
+#731 := (not #729)
+#388 := (or #731 #415)
+#518 := (ite #388 #341 #410)
+#725 := (= 3::int 0::int)
+#399 := (ite #725 #40 #518)
+#400 := (= 3::int #39)
+#732 := (ite #725 #400 #399)
+#555 := (or #667 #732)
+#572 := (iff #555 #670)
+#566 := (iff #670 #670)
+#574 := [rewrite]: #566
+#571 := (iff #732 #40)
+#730 := (= #39 3::int)
+#560 := (ite false #730 #40)
+#521 := (iff #560 #40)
+#669 := [rewrite]: #521
+#561 := (iff #732 #560)
+#675 := (iff #399 #40)
+#520 := (ite false #40 #40)
+#676 := (iff #520 #40)
+#677 := [rewrite]: #676
+#673 := (iff #399 #520)
+#517 := (iff #518 #40)
+#1 := true
+#680 := (ite true #40 #40)
+#681 := (iff #680 #40)
+#688 := [rewrite]: #681
+#686 := (iff #518 #680)
+#685 := (iff #410 #40)
+#683 := (= #409 #39)
+#422 := (+ #39 0::int)
+#416 := (= #422 #39)
+#698 := [rewrite]: #416
+#540 := (= #409 #422)
+#538 := (= #408 0::int)
+#693 := -3::int
+#690 := (mod -3::int -3::int)
+#691 := (= #690 0::int)
+#697 := [rewrite]: #691
+#695 := (= #408 #690)
+#694 := (= #323 -3::int)
+#689 := [rewrite]: #694
+#696 := [monotonicity #689 #689]: #695
+#539 := [trans #696 #697]: #538
+#682 := [monotonicity #539]: #540
+#684 := [trans #682 #698]: #683
+#679 := [monotonicity #684]: #685
+#703 := (iff #341 #40)
+#702 := (= #413 #39)
+#700 := (= #413 #422)
+#420 := (= #412 0::int)
+#704 := (* -1::int 0::int)
+#709 := (= #704 0::int)
+#419 := [rewrite]: #709
+#708 := (= #412 #704)
+#429 := (= #401 0::int)
+#430 := [rewrite]: #429
+#705 := [monotonicity #430]: #708
+#421 := [trans #705 #419]: #420
+#701 := [monotonicity #421]: #700
+#699 := [trans #701 #698]: #702
+#692 := [monotonicity #699]: #703
+#706 := (iff #388 true)
+#387 := (or false true)
+#712 := (iff #387 true)
+#375 := [rewrite]: #712
+#436 := (iff #388 #387)
+#434 := (iff #415 true)
+#721 := (not false)
+#711 := (iff #721 true)
+#433 := [rewrite]: #711
+#724 := (iff #415 #721)
+#363 := (iff #411 false)
+#719 := (or false false)
+#722 := (iff #719 false)
+#362 := [rewrite]: #722
+#357 := (iff #411 #719)
+#726 := (iff #414 false)
+#386 := [rewrite]: #726
+#720 := [monotonicity #386 #386]: #357
+#723 := [trans #720 #362]: #363
+#710 := [monotonicity #723]: #724
+#435 := [trans #710 #433]: #434
+#718 := (iff #731 false)
+#378 := (not true)
+#716 := (iff #378 false)
+#717 := [rewrite]: #716
+#714 := (iff #731 #378)
+#376 := (iff #729 true)
+#728 := (iff #729 #387)
+#391 := (iff #394 true)
+#727 := [rewrite]: #391
+#371 := [monotonicity #386 #727]: #728
+#377 := [trans #371 #375]: #376
+#715 := [monotonicity #377]: #714
+#713 := [trans #715 #717]: #718
+#329 := [monotonicity #713 #435]: #436
+#707 := [trans #329 #375]: #706
+#687 := [monotonicity #707 #692 #679]: #686
+#519 := [trans #687 #688]: #517
+#733 := (iff #725 false)
+#734 := [rewrite]: #733
+#674 := [monotonicity #734 #519]: #673
+#678 := [trans #674 #677]: #675
+#735 := (iff #400 #730)
+#736 := [rewrite]: #735
+#562 := [monotonicity #734 #736 #678]: #561
+#666 := [trans #562 #669]: #571
+#573 := [monotonicity #666]: #572
+#575 := [trans #573 #574]: #572
+#570 := [quant-inst]: #555
+#576 := [mp #570 #575]: #670
+[unit-resolution #576 #750 #168]: false
+unsat
+d0a25a18442fdd27e302706e9c8d8ea55968f062 321 0
+#2 := false
+#67 := -1::int
+decl f3 :: (-> int int int)
+#40 := 3::int
+#173 := (f3 -1::int 3::int)
+#176 := (= #173 -1::int)
+#189 := (not #176)
+#38 := 1::int
+#39 := (- 1::int)
+#41 := (f3 #39 3::int)
+#42 := (= #41 #39)
+#43 := (not #42)
+#192 := (iff #43 #189)
+#179 := (= -1::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #43 #184)
+#182 := (iff #42 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #42 #176)
+#171 := (= #39 -1::int)
+#172 := [rewrite]: #171
+#174 := (= #41 #173)
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175 #172]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#170 := [asserted]: #43
+#194 := [mp #170 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#752 := (pattern #10)
+#11 := 0::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#74 := (div #68 #71)
+#255 := (* -1::int #74)
+#256 := (+ #10 #255)
+#257 := (= #256 0::int)
+#21 := (div #8 #9)
+#252 := (* -1::int #21)
+#253 := (+ #10 #252)
+#254 := (= #253 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#210 := (or #89 #93)
+#211 := (not #210)
+#100 := (>= #8 0::int)
+#202 := (or #93 #100)
+#203 := (not #202)
+#217 := (or #203 #211)
+#258 := (ite #217 #254 #257)
+#251 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#259 := (ite #14 #251 #258)
+#753 := (forall (vars (?v0 int) (?v1 int)) (:pat #752) #259)
+#262 := (forall (vars (?v0 int) (?v1 int)) #259)
+#756 := (iff #262 #753)
+#754 := (iff #259 #259)
+#755 := [refl]: #754
+#757 := [quant-intro #755]: #756
+#222 := (ite #217 #21 #74)
+#225 := (ite #14 0::int #222)
+#228 := (= #10 #225)
+#231 := (forall (vars (?v0 int) (?v1 int)) #228)
+#263 := (iff #231 #262)
+#260 := (iff #228 #259)
+#261 := [rewrite]: #260
+#264 := [quant-intro #261]: #263
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (ite #107 #21 #74)
+#113 := (ite #14 0::int #110)
+#116 := (= #10 #113)
+#119 := (forall (vars (?v0 int) (?v1 int)) #116)
+#232 := (iff #119 #231)
+#229 := (iff #116 #228)
+#226 := (= #113 #225)
+#223 := (= #110 #222)
+#220 := (iff #107 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #107 #214)
+#212 := (iff #104 #203)
+#213 := [rewrite]: #212
+#200 := (iff #97 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#224 := [monotonicity #221]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [quant-intro #230]: #232
+#206 := (~ #119 #119)
+#204 := (~ #116 #116)
+#205 := [refl]: #204
+#207 := [nnf-pos #205]: #206
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#122 := (iff #28 #119)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#77 := (ite #64 #21 #74)
+#80 := (ite #14 0::int #77)
+#83 := (= #10 #80)
+#86 := (forall (vars (?v0 int) (?v1 int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #28 #86)
+#84 := (iff #27 #83)
+#81 := (= #26 #80)
+#78 := (= #25 #77)
+#75 := (= #24 #74)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#79 := [monotonicity #66 #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#60 := [asserted]: #28
+#124 := [mp #60 #123]: #119
+#197 := [mp~ #124 #207]: #119
+#234 := [mp #197 #233]: #231
+#265 := [mp #234 #264]: #262
+#758 := [mp #265 #757]: #753
+#665 := (not #753)
+#667 := (or #665 #176)
+#339 := (* -1::int 3::int)
+#423 := (* -1::int -1::int)
+#424 := (div #423 #339)
+#425 := (* -1::int #424)
+#416 := (+ #173 #425)
+#427 := (= #416 0::int)
+#428 := (div -1::int 3::int)
+#429 := (* -1::int #428)
+#426 := (+ #173 #429)
+#430 := (= #426 0::int)
+#409 := (<= 3::int 0::int)
+#744 := (<= -1::int 0::int)
+#746 := (or #744 #409)
+#403 := (not #746)
+#533 := (>= -1::int 0::int)
+#740 := (or #409 #533)
+#414 := (not #740)
+#415 := (or #414 #403)
+#747 := (ite #415 #430 #427)
+#748 := (= #173 0::int)
+#749 := (= 3::int 0::int)
+#750 := (= -1::int 0::int)
+#745 := (or #750 #749)
+#751 := (ite #745 #748 #747)
+#677 := (or #665 #751)
+#679 := (iff #677 #667)
+#680 := (iff #667 #667)
+#669 := [rewrite]: #680
+#676 := (iff #751 #176)
+#593 := (ite false #748 #176)
+#687 := (iff #593 #176)
+#674 := [rewrite]: #687
+#686 := (iff #751 #593)
+#591 := (iff #747 #176)
+#1 := true
+#587 := (ite true #176 #748)
+#589 := (iff #587 #176)
+#590 := [rewrite]: #589
+#588 := (iff #747 #587)
+#570 := (iff #427 #748)
+#682 := (= #416 #173)
+#577 := (+ #173 0::int)
+#586 := (= #577 #173)
+#681 := [rewrite]: #586
+#536 := (= #416 #577)
+#575 := (= #425 0::int)
+#689 := (* -1::int 0::int)
+#690 := (= #689 0::int)
+#693 := [rewrite]: #690
+#691 := (= #425 #689)
+#535 := (= #424 0::int)
+#694 := -3::int
+#702 := (div 1::int -3::int)
+#532 := (= #702 0::int)
+#534 := [rewrite]: #532
+#696 := (= #424 #702)
+#695 := (= #339 -3::int)
+#701 := [rewrite]: #695
+#717 := (= #423 1::int)
+#714 := [rewrite]: #717
+#703 := [monotonicity #714 #701]: #696
+#688 := [trans #703 #534]: #535
+#692 := [monotonicity #688]: #691
+#576 := [trans #692 #693]: #575
+#684 := [monotonicity #576]: #536
+#685 := [trans #684 #681]: #682
+#585 := [monotonicity #685]: #570
+#699 := (iff #430 #176)
+#705 := (+ 1::int #173)
+#553 := (= #705 0::int)
+#697 := (iff #553 #176)
+#698 := [rewrite]: #697
+#554 := (iff #430 #553)
+#706 := (= #426 #705)
+#708 := (+ #173 1::int)
+#710 := (= #708 #705)
+#711 := [rewrite]: #710
+#709 := (= #426 #708)
+#718 := (= #429 1::int)
+#431 := (= #429 #423)
+#715 := (= #428 -1::int)
+#716 := [rewrite]: #715
+#713 := [monotonicity #716]: #431
+#707 := [trans #713 #714]: #718
+#704 := [monotonicity #707]: #709
+#712 := [trans #704 #711]: #706
+#555 := [monotonicity #712]: #554
+#700 := [trans #555 #698]: #699
+#436 := (iff #415 true)
+#726 := (or true false)
+#450 := (iff #726 true)
+#451 := [rewrite]: #450
+#434 := (iff #415 #726)
+#720 := (iff #403 false)
+#722 := (not true)
+#719 := (iff #722 false)
+#723 := [rewrite]: #719
+#444 := (iff #403 #722)
+#345 := (iff #746 true)
+#448 := (iff #746 #726)
+#393 := (iff #409 false)
+#729 := [rewrite]: #393
+#739 := (iff #744 true)
+#725 := [rewrite]: #739
+#449 := [monotonicity #725 #729]: #448
+#721 := [trans #449 #451]: #345
+#445 := [monotonicity #721]: #444
+#724 := [trans #445 #723]: #720
+#738 := (iff #414 true)
+#372 := (not false)
+#377 := (iff #372 true)
+#378 := [rewrite]: #377
+#735 := (iff #414 #372)
+#728 := (iff #740 false)
+#402 := (or false false)
+#727 := (iff #402 false)
+#390 := [rewrite]: #727
+#732 := (iff #740 #402)
+#730 := (iff #533 false)
+#731 := [rewrite]: #730
+#733 := [monotonicity #729 #731]: #732
+#734 := [trans #733 #390]: #728
+#737 := [monotonicity #734]: #735
+#736 := [trans #737 #378]: #738
+#435 := [monotonicity #736 #724]: #434
+#437 := [trans #435 #451]: #436
+#581 := [monotonicity #437 #700 #585]: #588
+#592 := [trans #581 #590]: #591
+#391 := (iff #745 false)
+#743 := (iff #745 #402)
+#406 := (iff #749 false)
+#742 := [rewrite]: #406
+#741 := (iff #750 false)
+#401 := [rewrite]: #741
+#386 := [monotonicity #401 #742]: #743
+#392 := [trans #386 #390]: #391
+#683 := [monotonicity #392 #592]: #686
+#668 := [trans #683 #674]: #676
+#675 := [monotonicity #668]: #679
+#670 := [trans #675 #669]: #679
+#678 := [quant-inst]: #677
+#671 := [mp #678 #670]: #667
+[unit-resolution #671 #758 #194]: false
+unsat
+9f593513c6223913ee1444c7c2d179bd416f9b73 328 0
+#2 := false
+#41 := 2::int
+decl f4 :: (-> int int int)
+#39 := 3::int
+#38 := 5::int
+#40 := (f4 5::int 3::int)
+#42 := (= #40 2::int)
+#43 := (not #42)
+#170 := [asserted]: #43
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#736 := (pattern #29)
+#11 := 0::int
+#67 := -1::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#126 := (mod #68 #71)
+#247 := (+ #29 #126)
+#248 := (= #247 0::int)
+#30 := (mod #8 #9)
+#244 := (* -1::int #30)
+#245 := (+ #29 #244)
+#246 := (= #245 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#186 := (or #89 #93)
+#187 := (not #186)
+#100 := (>= #8 0::int)
+#178 := (or #93 #100)
+#179 := (not #178)
+#193 := (or #179 #187)
+#249 := (ite #193 #246 #248)
+#243 := (= #29 0::int)
+#12 := (= #8 0::int)
+#250 := (ite #12 #243 #249)
+#242 := (= #8 #29)
+#13 := (= #9 0::int)
+#251 := (ite #13 #242 #250)
+#737 := (forall (vars (?v0 int) (?v1 int)) (:pat #736) #251)
+#254 := (forall (vars (?v0 int) (?v1 int)) #251)
+#740 := (iff #254 #737)
+#738 := (iff #251 #251)
+#739 := [refl]: #738
+#741 := [quant-intro #739]: #740
+#132 := (* -1::int #126)
+#211 := (ite #193 #30 #132)
+#214 := (ite #12 0::int #211)
+#217 := (ite #13 #8 #214)
+#220 := (= #29 #217)
+#223 := (forall (vars (?v0 int) (?v1 int)) #220)
+#255 := (iff #223 #254)
+#252 := (iff #220 #251)
+#253 := [rewrite]: #252
+#256 := [quant-intro #253]: #255
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#152 := (ite #107 #30 #132)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#224 := (iff #164 #223)
+#221 := (iff #161 #220)
+#218 := (= #158 #217)
+#215 := (= #155 #214)
+#212 := (= #152 #211)
+#196 := (iff #107 #193)
+#190 := (or #187 #179)
+#194 := (iff #190 #193)
+#195 := [rewrite]: #194
+#191 := (iff #107 #190)
+#188 := (iff #104 #179)
+#189 := [rewrite]: #188
+#176 := (iff #97 #187)
+#177 := [rewrite]: #176
+#192 := [monotonicity #177 #189]: #191
+#197 := [trans #192 #195]: #196
+#213 := [monotonicity #197]: #212
+#216 := [monotonicity #213]: #215
+#219 := [monotonicity #216]: #218
+#222 := [monotonicity #219]: #221
+#225 := [quant-intro #222]: #224
+#174 := (~ #164 #164)
+#171 := (~ #161 #161)
+#184 := [refl]: #171
+#175 := [nnf-pos #184]: #174
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#167 := (iff #37 #164)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#137 := (ite #64 #30 #132)
+#140 := (ite #12 0::int #137)
+#143 := (ite #13 #8 #140)
+#146 := (= #29 #143)
+#149 := (forall (vars (?v0 int) (?v1 int)) #146)
+#165 := (iff #149 #164)
+#162 := (iff #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#153 := (= #137 #152)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#154 := [monotonicity #109]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#150 := (iff #37 #149)
+#147 := (iff #36 #146)
+#144 := (= #35 #143)
+#141 := (= #34 #140)
+#138 := (= #33 #137)
+#135 := (= #32 #132)
+#129 := (- #126)
+#133 := (= #129 #132)
+#134 := [rewrite]: #133
+#130 := (= #32 #129)
+#127 := (= #31 #126)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#128 := [monotonicity #70 #73]: #127
+#131 := [monotonicity #128]: #130
+#136 := [trans #131 #134]: #135
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#139 := [monotonicity #66 #136]: #138
+#142 := [monotonicity #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [quant-intro #148]: #150
+#168 := [trans #151 #166]: #167
+#125 := [asserted]: #37
+#169 := [mp #125 #168]: #164
+#185 := [mp~ #169 #175]: #164
+#226 := [mp #185 #225]: #223
+#257 := [mp #226 #256]: #254
+#742 := [mp #257 #741]: #737
+#643 := (not #737)
+#650 := (or #643 #42)
+#315 := (* -1::int 3::int)
+#400 := (* -1::int 5::int)
+#401 := (mod #400 #315)
+#402 := (+ #40 #401)
+#393 := (= #402 0::int)
+#404 := (mod 5::int 3::int)
+#405 := (* -1::int #404)
+#333 := (+ #40 #405)
+#406 := (= #333 0::int)
+#403 := (<= 3::int 0::int)
+#407 := (<= 5::int 0::int)
+#386 := (or #407 #403)
+#721 := (not #386)
+#723 := (>= 5::int 0::int)
+#380 := (or #403 #723)
+#510 := (not #380)
+#717 := (or #510 #721)
+#391 := (ite #717 #406 #393)
+#392 := (= #40 0::int)
+#724 := (= 5::int 0::int)
+#725 := (ite #724 #392 #391)
+#726 := (= 5::int #40)
+#727 := (= 3::int 0::int)
+#722 := (ite #727 #726 #725)
+#634 := (or #643 #722)
+#637 := (iff #634 #650)
+#639 := (iff #650 #650)
+#640 := [rewrite]: #639
+#648 := (iff #722 #42)
+#383 := (= #40 5::int)
+#656 := (ite false #383 #42)
+#646 := (iff #656 #42)
+#647 := [rewrite]: #646
+#652 := (iff #722 #656)
+#654 := (iff #725 #42)
+#651 := (ite false #392 #42)
+#642 := (iff #651 #42)
+#644 := [rewrite]: #642
+#653 := (iff #725 #651)
+#660 := (iff #391 #42)
+#562 := (= #40 -1::int)
+#1 := true
+#567 := (ite true #42 #562)
+#570 := (iff #567 #42)
+#663 := [rewrite]: #570
+#568 := (iff #391 #567)
+#558 := (iff #393 #562)
+#665 := 1::int
+#554 := (+ 1::int #40)
+#659 := (= #554 0::int)
+#564 := (iff #659 #562)
+#565 := [rewrite]: #564
+#662 := (iff #393 #659)
+#563 := (= #402 #554)
+#670 := (+ #40 1::int)
+#513 := (= #670 #554)
+#661 := [rewrite]: #513
+#552 := (= #402 #670)
+#669 := (= #401 1::int)
+#679 := -3::int
+#671 := -5::int
+#509 := (mod -5::int -3::int)
+#666 := (= #509 1::int)
+#668 := [rewrite]: #666
+#511 := (= #401 #509)
+#673 := (= #315 -3::int)
+#680 := [rewrite]: #673
+#672 := (= #400 -5::int)
+#678 := [rewrite]: #672
+#512 := [monotonicity #678 #680]: #511
+#667 := [trans #512 #668]: #669
+#553 := [monotonicity #667]: #552
+#658 := [trans #553 #661]: #563
+#547 := [monotonicity #658]: #662
+#566 := [trans #547 #565]: #558
+#676 := (iff #406 #42)
+#690 := -2::int
+#682 := (+ -2::int #40)
+#530 := (= #682 0::int)
+#674 := (iff #530 #42)
+#675 := [rewrite]: #674
+#531 := (iff #406 #530)
+#683 := (= #333 #682)
+#685 := (+ #40 -2::int)
+#687 := (= #685 #682)
+#688 := [rewrite]: #687
+#686 := (= #333 #685)
+#695 := (= #405 -2::int)
+#692 := (* -1::int 2::int)
+#694 := (= #692 -2::int)
+#691 := [rewrite]: #694
+#693 := (= #405 #692)
+#413 := (= #404 2::int)
+#414 := [rewrite]: #413
+#408 := [monotonicity #414]: #693
+#684 := [trans #408 #691]: #695
+#681 := [monotonicity #684]: #686
+#689 := [trans #681 #688]: #683
+#532 := [monotonicity #689]: #531
+#677 := [trans #532 #675]: #676
+#411 := (iff #717 true)
+#369 := (or false true)
+#707 := (iff #369 true)
+#708 := [rewrite]: #707
+#697 := (iff #717 #369)
+#696 := (iff #721 true)
+#321 := (not false)
+#421 := (iff #321 true)
+#422 := [rewrite]: #421
+#698 := (iff #721 #321)
+#427 := (iff #386 false)
+#716 := (or false false)
+#425 := (iff #716 false)
+#426 := [rewrite]: #425
+#702 := (iff #386 #716)
+#363 := (iff #403 false)
+#704 := [rewrite]: #363
+#715 := (iff #407 false)
+#713 := [rewrite]: #715
+#703 := [monotonicity #713 #704]: #702
+#428 := [trans #703 #426]: #427
+#699 := [monotonicity #428]: #698
+#700 := [trans #699 #422]: #696
+#354 := (iff #510 false)
+#705 := (not true)
+#712 := (iff #705 false)
+#714 := [rewrite]: #712
+#711 := (iff #510 #705)
+#709 := (iff #380 true)
+#370 := (iff #380 #369)
+#367 := (iff #723 true)
+#368 := [rewrite]: #367
+#706 := [monotonicity #704 #368]: #370
+#710 := [trans #706 #708]: #709
+#349 := [monotonicity #710]: #711
+#355 := [trans #349 #714]: #354
+#701 := [monotonicity #355 #700]: #697
+#412 := [trans #701 #708]: #411
+#569 := [monotonicity #412 #677 #566]: #568
+#664 := [trans #569 #663]: #660
+#379 := (iff #724 false)
+#720 := [rewrite]: #379
+#645 := [monotonicity #720 #664]: #653
+#655 := [trans #645 #644]: #654
+#378 := (iff #726 #383)
+#719 := [rewrite]: #378
+#728 := (iff #727 false)
+#718 := [rewrite]: #728
+#657 := [monotonicity #718 #719 #655]: #652
+#649 := [trans #657 #647]: #648
+#638 := [monotonicity #649]: #637
+#636 := [trans #638 #640]: #637
+#635 := [quant-inst]: #634
+#641 := [mp #635 #636]: #650
+[unit-resolution #641 #742 #170]: false
+unsat
+502812e8687a6ca679f5bc63f75291a9fdb3db70 323 0
+#2 := false
+#68 := -1::int
+decl f3 :: (-> int int int)
+#38 := 3::int
+#172 := -3::int
+#175 := (f3 -3::int 3::int)
+#180 := (= #175 -1::int)
+#193 := (not #180)
+#41 := 1::int
+#42 := (- 1::int)
+#39 := (- 3::int)
+#40 := (f3 #39 3::int)
+#43 := (= #40 #42)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #175)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 -1::int)
+#179 := [rewrite]: #178
+#176 := (= #40 #175)
+#173 := (= #39 -3::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#182 := [monotonicity #177 #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#680 := (not #757)
+#672 := (or #680 #180)
+#343 := (* -1::int 3::int)
+#427 := (* -1::int -3::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #175 #429)
+#431 := (= #420 0::int)
+#432 := (div -3::int 3::int)
+#433 := (* -1::int #432)
+#430 := (+ #175 #433)
+#434 := (= #430 0::int)
+#413 := (<= 3::int 0::int)
+#748 := (<= -3::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= -3::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= #175 0::int)
+#753 := (= 3::int 0::int)
+#754 := (= -3::int 0::int)
+#749 := (or #754 #753)
+#755 := (ite #749 #752 #751)
+#669 := (or #680 #755)
+#681 := (iff #669 #672)
+#683 := (iff #672 #672)
+#679 := [rewrite]: #683
+#691 := (iff #755 #180)
+#595 := (ite false #752 #180)
+#690 := (iff #595 #180)
+#687 := [rewrite]: #690
+#596 := (iff #755 #595)
+#593 := (iff #751 #180)
+#1 := true
+#574 := (ite true #180 #180)
+#592 := (iff #574 #180)
+#585 := [rewrite]: #592
+#589 := (iff #751 #574)
+#686 := (iff #431 #180)
+#714 := (+ 1::int #175)
+#558 := (= #714 0::int)
+#702 := (iff #558 #180)
+#703 := [rewrite]: #702
+#590 := (iff #431 #558)
+#540 := (= #420 #714)
+#713 := (+ #175 1::int)
+#715 := (= #713 #714)
+#710 := [rewrite]: #715
+#580 := (= #420 #713)
+#697 := (= #429 1::int)
+#435 := (* -1::int -1::int)
+#718 := (= #435 1::int)
+#722 := [rewrite]: #718
+#696 := (= #429 #435)
+#693 := (= #428 -1::int)
+#707 := (div 3::int -3::int)
+#539 := (= #707 -1::int)
+#692 := [rewrite]: #539
+#536 := (= #428 #707)
+#706 := (= #343 -3::int)
+#700 := [rewrite]: #706
+#699 := (= #427 3::int)
+#705 := [rewrite]: #699
+#538 := [monotonicity #705 #700]: #536
+#695 := [trans #538 #692]: #693
+#694 := [monotonicity #695]: #696
+#579 := [trans #694 #722]: #697
+#581 := [monotonicity #579]: #580
+#688 := [trans #581 #710]: #540
+#685 := [monotonicity #688]: #590
+#689 := [trans #685 #703]: #686
+#704 := (iff #434 #180)
+#559 := (iff #434 #558)
+#716 := (= #430 #714)
+#708 := (= #430 #713)
+#711 := (= #433 1::int)
+#717 := (= #433 #435)
+#719 := (= #432 -1::int)
+#720 := [rewrite]: #719
+#721 := [monotonicity #720]: #717
+#712 := [trans #721 #722]: #711
+#709 := [monotonicity #712]: #708
+#557 := [trans #709 #710]: #716
+#701 := [monotonicity #557]: #559
+#698 := [trans #701 #703]: #704
+#440 := (iff #419 true)
+#730 := (or true false)
+#454 := (iff #730 true)
+#455 := [rewrite]: #454
+#438 := (iff #419 #730)
+#724 := (iff #407 false)
+#726 := (not true)
+#723 := (iff #726 false)
+#727 := [rewrite]: #723
+#448 := (iff #407 #726)
+#349 := (iff #750 true)
+#452 := (iff #750 #730)
+#397 := (iff #413 false)
+#733 := [rewrite]: #397
+#743 := (iff #748 true)
+#729 := [rewrite]: #743
+#453 := [monotonicity #729 #733]: #452
+#725 := [trans #453 #455]: #349
+#449 := [monotonicity #725]: #448
+#728 := [trans #449 #727]: #724
+#742 := (iff #418 true)
+#376 := (not false)
+#381 := (iff #376 true)
+#382 := [rewrite]: #381
+#739 := (iff #418 #376)
+#732 := (iff #744 false)
+#406 := (or false false)
+#731 := (iff #406 false)
+#394 := [rewrite]: #731
+#736 := (iff #744 #406)
+#734 := (iff #537 false)
+#735 := [rewrite]: #734
+#737 := [monotonicity #733 #735]: #736
+#738 := [trans #737 #394]: #732
+#741 := [monotonicity #738]: #739
+#740 := [trans #741 #382]: #742
+#439 := [monotonicity #740 #728]: #438
+#441 := [trans #439 #455]: #440
+#591 := [monotonicity #441 #698 #689]: #589
+#594 := [trans #591 #585]: #593
+#395 := (iff #749 false)
+#747 := (iff #749 #406)
+#410 := (iff #753 false)
+#746 := [rewrite]: #410
+#745 := (iff #754 false)
+#405 := [rewrite]: #745
+#390 := [monotonicity #405 #746]: #747
+#396 := [trans #390 #394]: #395
+#597 := [monotonicity #396 #594]: #596
+#678 := [trans #597 #687]: #691
+#682 := [monotonicity #678]: #681
+#684 := [trans #682 #679]: #681
+#671 := [quant-inst]: #669
+#673 := [mp #671 #684]: #672
+[unit-resolution #673 #762 #198]: false
+unsat
+9617f71299996e3e5076f71a16d3a6ef69c7fc1f 335 0
+#2 := false
+#179 := -2::int
+decl f4 :: (-> int int int)
+#173 := -3::int
+#38 := 1::int
+#176 := (f4 1::int -3::int)
+#182 := (= #176 -2::int)
+#185 := (not #182)
+#42 := 2::int
+#43 := (- 2::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f4 1::int #40)
+#44 := (= #41 #43)
+#45 := (not #44)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#180 := (= #43 -2::int)
+#181 := [rewrite]: #180
+#177 := (= #41 #176)
+#174 := (= #40 -3::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#184 := [monotonicity #178 #181]: #183
+#187 := [monotonicity #184]: #186
+#172 := [asserted]: #45
+#190 := [mp #172 #187]: #185
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#753 := (pattern #29)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#128 := (mod #70 #73)
+#265 := (+ #29 #128)
+#266 := (= #265 0::int)
+#30 := (mod #8 #9)
+#262 := (* -1::int #30)
+#263 := (+ #29 #262)
+#264 := (= #263 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#204 := (or #91 #95)
+#205 := (not #204)
+#102 := (>= #8 0::int)
+#196 := (or #95 #102)
+#197 := (not #196)
+#211 := (or #197 #205)
+#267 := (ite #211 #264 #266)
+#261 := (= #29 0::int)
+#12 := (= #8 0::int)
+#268 := (ite #12 #261 #267)
+#260 := (= #8 #29)
+#13 := (= #9 0::int)
+#269 := (ite #13 #260 #268)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #269)
+#272 := (forall (vars (?v0 int) (?v1 int)) #269)
+#757 := (iff #272 #754)
+#755 := (iff #269 #269)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#134 := (* -1::int #128)
+#229 := (ite #211 #30 #134)
+#232 := (ite #12 0::int #229)
+#235 := (ite #13 #8 #232)
+#238 := (= #29 #235)
+#241 := (forall (vars (?v0 int) (?v1 int)) #238)
+#273 := (iff #241 #272)
+#270 := (iff #238 #269)
+#271 := [rewrite]: #270
+#274 := [quant-intro #271]: #273
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#242 := (iff #166 #241)
+#239 := (iff #163 #238)
+#236 := (= #160 #235)
+#233 := (= #157 #232)
+#230 := (= #154 #229)
+#214 := (iff #109 #211)
+#208 := (or #205 #197)
+#212 := (iff #208 #211)
+#213 := [rewrite]: #212
+#209 := (iff #109 #208)
+#206 := (iff #106 #197)
+#207 := [rewrite]: #206
+#194 := (iff #99 #205)
+#195 := [rewrite]: #194
+#210 := [monotonicity #195 #207]: #209
+#215 := [trans #210 #213]: #214
+#231 := [monotonicity #215]: #230
+#234 := [monotonicity #231]: #233
+#237 := [monotonicity #234]: #236
+#240 := [monotonicity #237]: #239
+#243 := [quant-intro #240]: #242
+#192 := (~ #166 #166)
+#188 := (~ #163 #163)
+#202 := [refl]: #188
+#193 := [nnf-pos #202]: #192
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#203 := [mp~ #171 #193]: #166
+#244 := [mp #203 #243]: #241
+#275 := [mp #244 #274]: #272
+#759 := [mp #275 #758]: #754
+#661 := (not #754)
+#671 := (or #661 #182)
+#333 := (* -1::int -3::int)
+#417 := (* -1::int 1::int)
+#418 := (mod #417 #333)
+#419 := (+ #176 #418)
+#410 := (= #419 0::int)
+#421 := (mod 1::int -3::int)
+#422 := (* -1::int #421)
+#423 := (+ #176 #422)
+#420 := (= #423 0::int)
+#424 := (<= -3::int 0::int)
+#403 := (<= 1::int 0::int)
+#738 := (or #403 #424)
+#740 := (not #738)
+#397 := (>= 1::int 0::int)
+#527 := (or #424 #397)
+#734 := (not #527)
+#408 := (or #734 #740)
+#409 := (ite #408 #420 #410)
+#741 := (= #176 0::int)
+#742 := (= 1::int 0::int)
+#743 := (ite #742 #741 #409)
+#744 := (= 1::int #176)
+#739 := (= -3::int 0::int)
+#745 := (ite #739 #744 #743)
+#672 := (or #661 #745)
+#669 := (iff #672 #671)
+#663 := (iff #671 #671)
+#664 := [rewrite]: #663
+#662 := (iff #745 #182)
+#736 := (= #176 1::int)
+#679 := (ite false #736 #182)
+#581 := (iff #679 #182)
+#582 := [rewrite]: #581
+#668 := (iff #745 #679)
+#677 := (iff #743 #182)
+#584 := (ite false #741 #182)
+#587 := (iff #584 #182)
+#680 := [rewrite]: #587
+#585 := (iff #743 #584)
+#575 := (iff #409 #182)
+#564 := (iff #409 #679)
+#675 := (iff #410 #182)
+#685 := (+ 2::int #176)
+#570 := (= #685 0::int)
+#678 := (iff #570 #182)
+#580 := [rewrite]: #678
+#571 := (iff #410 #570)
+#687 := (= #419 #685)
+#529 := (+ #176 2::int)
+#686 := (= #529 #685)
+#684 := [rewrite]: #686
+#682 := (= #419 #529)
+#526 := (= #418 2::int)
+#689 := (mod -1::int 3::int)
+#690 := (= #689 2::int)
+#697 := [rewrite]: #690
+#695 := (= #418 #689)
+#694 := (= #333 3::int)
+#688 := [rewrite]: #694
+#707 := (= #417 -1::int)
+#711 := [rewrite]: #707
+#696 := [monotonicity #711 #688]: #695
+#528 := [trans #696 #697]: #526
+#683 := [monotonicity #528]: #682
+#569 := [trans #683 #684]: #687
+#530 := [monotonicity #569]: #571
+#676 := [trans #530 #580]: #675
+#692 := (iff #420 #736)
+#698 := (+ -1::int #176)
+#706 := (= #698 0::int)
+#549 := (iff #706 #736)
+#691 := [rewrite]: #549
+#547 := (iff #420 #706)
+#705 := (= #423 #698)
+#701 := (+ #176 -1::int)
+#699 := (= #701 #698)
+#704 := [rewrite]: #699
+#702 := (= #423 #701)
+#708 := (= #422 -1::int)
+#710 := (= #422 #417)
+#431 := (= #421 1::int)
+#709 := [rewrite]: #431
+#425 := [monotonicity #709]: #710
+#712 := [trans #425 #711]: #708
+#703 := [monotonicity #712]: #702
+#700 := [trans #703 #704]: #705
+#548 := [monotonicity #700]: #547
+#693 := [trans #548 #691]: #692
+#429 := (iff #408 false)
+#713 := (or false false)
+#718 := (iff #713 false)
+#428 := [rewrite]: #718
+#717 := (iff #408 #713)
+#438 := (iff #740 false)
+#1 := true
+#728 := (not true)
+#731 := (iff #728 false)
+#371 := [rewrite]: #731
+#715 := (iff #740 #728)
+#445 := (iff #738 true)
+#719 := (or false true)
+#443 := (iff #719 true)
+#444 := [rewrite]: #443
+#720 := (iff #738 #719)
+#721 := (iff #424 true)
+#384 := [rewrite]: #721
+#730 := (iff #403 false)
+#733 := [rewrite]: #730
+#442 := [monotonicity #733 #384]: #720
+#339 := [trans #442 #444]: #445
+#716 := [monotonicity #339]: #715
+#439 := [trans #716 #371]: #438
+#372 := (iff #734 false)
+#366 := (iff #734 #728)
+#727 := (iff #527 true)
+#387 := (or true true)
+#725 := (iff #387 true)
+#726 := [rewrite]: #725
+#723 := (iff #527 #387)
+#385 := (iff #397 true)
+#386 := [rewrite]: #385
+#724 := [monotonicity #384 #386]: #723
+#722 := [trans #724 #726]: #727
+#729 := [monotonicity #722]: #366
+#732 := [trans #729 #371]: #372
+#714 := [monotonicity #732 #439]: #717
+#430 := [trans #714 #428]: #429
+#579 := [monotonicity #430 #693 #676]: #564
+#583 := [trans #579 #582]: #575
+#737 := (iff #742 false)
+#380 := [rewrite]: #737
+#586 := [monotonicity #380 #583]: #585
+#681 := [trans #586 #680]: #677
+#400 := (iff #744 #736)
+#396 := [rewrite]: #400
+#735 := (iff #739 false)
+#395 := [rewrite]: #735
+#670 := [monotonicity #395 #396 #681]: #668
+#659 := [trans #670 #582]: #662
+#674 := [monotonicity #659]: #669
+#665 := [trans #674 #664]: #669
+#673 := [quant-inst]: #672
+#666 := [mp #673 #665]: #671
+[unit-resolution #666 #759 #190]: false
+unsat
+ca3dae13e761e693f76c918c923ae5c553f3cdb1 326 0
+#2 := false
+#179 := -2::int
+decl f3 :: (-> int int int)
+#40 := 3::int
+#173 := -5::int
+#176 := (f3 -5::int 3::int)
+#182 := (= #176 -2::int)
+#185 := (not #182)
+#42 := 2::int
+#43 := (- 2::int)
+#38 := 5::int
+#39 := (- 5::int)
+#41 := (f3 #39 3::int)
+#44 := (= #41 #43)
+#45 := (not #44)
+#186 := (iff #45 #185)
+#183 := (iff #44 #182)
+#180 := (= #43 -2::int)
+#181 := [rewrite]: #180
+#177 := (= #41 #176)
+#174 := (= #39 -5::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#184 := [monotonicity #178 #181]: #183
+#187 := [monotonicity #184]: #186
+#172 := [asserted]: #45
+#190 := [mp #172 #187]: #185
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#747 := (pattern #10)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#249 := (* -1::int #76)
+#250 := (+ #10 #249)
+#251 := (= #250 0::int)
+#21 := (div #8 #9)
+#246 := (* -1::int #21)
+#247 := (+ #10 #246)
+#248 := (= #247 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#204 := (or #91 #95)
+#205 := (not #204)
+#102 := (>= #8 0::int)
+#196 := (or #95 #102)
+#197 := (not #196)
+#211 := (or #197 #205)
+#252 := (ite #211 #248 #251)
+#245 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#253 := (ite #14 #245 #252)
+#748 := (forall (vars (?v0 int) (?v1 int)) (:pat #747) #253)
+#256 := (forall (vars (?v0 int) (?v1 int)) #253)
+#751 := (iff #256 #748)
+#749 := (iff #253 #253)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#216 := (ite #211 #21 #76)
+#219 := (ite #14 0::int #216)
+#222 := (= #10 #219)
+#225 := (forall (vars (?v0 int) (?v1 int)) #222)
+#257 := (iff #225 #256)
+#254 := (iff #222 #253)
+#255 := [rewrite]: #254
+#258 := [quant-intro #255]: #257
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#226 := (iff #121 #225)
+#223 := (iff #118 #222)
+#220 := (= #115 #219)
+#217 := (= #112 #216)
+#214 := (iff #109 #211)
+#208 := (or #205 #197)
+#212 := (iff #208 #211)
+#213 := [rewrite]: #212
+#209 := (iff #109 #208)
+#206 := (iff #106 #197)
+#207 := [rewrite]: #206
+#194 := (iff #99 #205)
+#195 := [rewrite]: #194
+#210 := [monotonicity #195 #207]: #209
+#215 := [trans #210 #213]: #214
+#218 := [monotonicity #215]: #217
+#221 := [monotonicity #218]: #220
+#224 := [monotonicity #221]: #223
+#227 := [quant-intro #224]: #226
+#200 := (~ #121 #121)
+#198 := (~ #118 #118)
+#199 := [refl]: #198
+#201 := [nnf-pos #199]: #200
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#191 := [mp~ #126 #201]: #121
+#228 := [mp #191 #227]: #225
+#259 := [mp #228 #258]: #256
+#753 := [mp #259 #752]: #748
+#667 := (not #748)
+#661 := (or #667 #182)
+#333 := (* -1::int 3::int)
+#418 := (* -1::int -5::int)
+#419 := (div #418 #333)
+#420 := (* -1::int #419)
+#411 := (+ #176 #420)
+#422 := (= #411 0::int)
+#423 := (div -5::int 3::int)
+#351 := (* -1::int #423)
+#424 := (+ #176 #351)
+#421 := (= #424 0::int)
+#425 := (<= 3::int 0::int)
+#404 := (<= -5::int 0::int)
+#739 := (or #404 #425)
+#741 := (not #739)
+#398 := (>= -5::int 0::int)
+#528 := (or #425 #398)
+#735 := (not #528)
+#409 := (or #735 #741)
+#410 := (ite #409 #421 #422)
+#742 := (= #176 0::int)
+#743 := (= 3::int 0::int)
+#744 := (= -5::int 0::int)
+#745 := (or #744 #743)
+#740 := (ite #745 #742 #410)
+#668 := (or #667 #740)
+#653 := (iff #668 #661)
+#656 := (iff #661 #661)
+#657 := [rewrite]: #656
+#665 := (iff #740 #182)
+#673 := (ite false #742 #182)
+#675 := (iff #673 #182)
+#664 := [rewrite]: #675
+#674 := (iff #740 #673)
+#662 := (iff #410 #182)
+#586 := (= #176 -1::int)
+#1 := true
+#682 := (ite true #182 #586)
+#663 := (iff #682 #182)
+#660 := [rewrite]: #663
+#669 := (iff #410 #682)
+#681 := (iff #422 #586)
+#570 := 1::int
+#680 := (+ 1::int #176)
+#576 := (= #680 0::int)
+#587 := (iff #576 #586)
+#588 := [rewrite]: #587
+#584 := (iff #422 #576)
+#582 := (= #411 #680)
+#581 := (+ #176 1::int)
+#565 := (= #581 #680)
+#580 := [rewrite]: #565
+#676 := (= #411 #581)
+#531 := (= #420 1::int)
+#687 := (* -1::int -1::int)
+#571 := (= #687 1::int)
+#572 := [rewrite]: #571
+#685 := (= #420 #687)
+#684 := (= #419 -1::int)
+#696 := -3::int
+#698 := (div 5::int -3::int)
+#530 := (= #698 -1::int)
+#683 := [rewrite]: #530
+#527 := (= #419 #698)
+#697 := (= #333 -3::int)
+#691 := [rewrite]: #697
+#689 := (= #418 5::int)
+#690 := [rewrite]: #689
+#529 := [monotonicity #690 #691]: #527
+#686 := [trans #529 #683]: #684
+#688 := [monotonicity #686]: #685
+#679 := [trans #688 #572]: #531
+#677 := [monotonicity #679]: #676
+#583 := [trans #677 #580]: #582
+#585 := [monotonicity #583]: #584
+#678 := [trans #585 #588]: #681
+#694 := (iff #421 #182)
+#700 := (+ 2::int #176)
+#548 := (= #700 0::int)
+#692 := (iff #548 #182)
+#693 := [rewrite]: #692
+#549 := (iff #421 #548)
+#701 := (= #424 #700)
+#703 := (+ #176 2::int)
+#705 := (= #703 #700)
+#706 := [rewrite]: #705
+#704 := (= #424 #703)
+#713 := (= #351 2::int)
+#711 := (* -1::int -2::int)
+#712 := (= #711 2::int)
+#709 := [rewrite]: #712
+#426 := (= #351 #711)
+#432 := (= #423 -2::int)
+#710 := [rewrite]: #432
+#708 := [monotonicity #710]: #426
+#702 := [trans #708 #709]: #713
+#699 := [monotonicity #702]: #704
+#707 := [trans #699 #706]: #701
+#550 := [monotonicity #707]: #549
+#695 := [trans #550 #693]: #694
+#430 := (iff #409 true)
+#720 := (or true false)
+#444 := (iff #720 true)
+#445 := [rewrite]: #444
+#719 := (iff #409 #720)
+#718 := (iff #741 false)
+#716 := (not true)
+#440 := (iff #716 false)
+#714 := [rewrite]: #440
+#717 := (iff #741 #716)
+#446 := (iff #739 true)
+#721 := (iff #739 #720)
+#387 := (iff #425 false)
+#388 := [rewrite]: #387
+#731 := (iff #404 true)
+#734 := [rewrite]: #731
+#443 := [monotonicity #734 #388]: #721
+#339 := [trans #443 #445]: #446
+#439 := [monotonicity #339]: #717
+#715 := [trans #439 #714]: #718
+#373 := (iff #735 true)
+#729 := (not false)
+#732 := (iff #729 true)
+#372 := [rewrite]: #732
+#367 := (iff #735 #729)
+#728 := (iff #528 false)
+#737 := (or false false)
+#381 := (iff #737 false)
+#722 := [rewrite]: #381
+#726 := (iff #528 #737)
+#724 := (iff #398 false)
+#725 := [rewrite]: #724
+#727 := [monotonicity #388 #725]: #726
+#723 := [trans #727 #722]: #728
+#730 := [monotonicity #723]: #367
+#733 := [trans #730 #372]: #373
+#429 := [monotonicity #733 #715]: #719
+#431 := [trans #429 #445]: #430
+#671 := [monotonicity #431 #695 #678]: #669
+#672 := [trans #671 #660]: #662
+#385 := (iff #745 false)
+#397 := (iff #745 #737)
+#396 := (iff #743 false)
+#401 := [rewrite]: #396
+#746 := (iff #744 false)
+#736 := [rewrite]: #746
+#738 := [monotonicity #736 #401]: #397
+#386 := [trans #738 #722]: #385
+#670 := [monotonicity #386 #672]: #674
+#666 := [trans #670 #664]: #665
+#655 := [monotonicity #666]: #653
+#658 := [trans #655 #657]: #653
+#652 := [quant-inst]: #668
+#654 := [mp #652 #658]: #661
+[unit-resolution #654 #753 #190]: false
+unsat
+3370d946d5a916a6204a00a35f20bfddd3071fdf 327 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#174 := -3::int
+#68 := -1::int
+#177 := (f3 -1::int -3::int)
+#180 := (= #177 0::int)
+#193 := (not #180)
+#40 := 3::int
+#41 := (- 3::int)
+#38 := 1::int
+#39 := (- 1::int)
+#42 := (f3 #39 #41)
+#43 := (= #42 0::int)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= 0::int #177)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#178 := (= #42 #177)
+#175 := (= #41 -3::int)
+#176 := [rewrite]: #175
+#172 := (= #39 -1::int)
+#173 := [rewrite]: #172
+#179 := [monotonicity #173 #176]: #178
+#182 := [monotonicity #179]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#756 := (pattern #10)
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#75 := (div #69 #72)
+#259 := (* -1::int #75)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#757 := (forall (vars (?v0 int) (?v1 int)) (:pat #756) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#760 := (iff #266 #757)
+#758 := (iff #263 #263)
+#759 := [refl]: #758
+#761 := [quant-intro #759]: #760
+#226 := (ite #221 #21 #75)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#111 := (ite #108 #21 #75)
+#114 := (ite #14 0::int #111)
+#117 := (= #10 #114)
+#120 := (forall (vars (?v0 int) (?v1 int)) #117)
+#236 := (iff #120 #235)
+#233 := (iff #117 #232)
+#230 := (= #114 #229)
+#227 := (= #111 #226)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #120 #120)
+#208 := (~ #117 #117)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#123 := (iff #28 #120)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#78 := (ite #65 #21 #75)
+#81 := (ite #14 0::int #78)
+#84 := (= #10 #81)
+#87 := (forall (vars (?v0 int) (?v1 int)) #84)
+#121 := (iff #87 #120)
+#118 := (iff #84 #117)
+#115 := (= #81 #114)
+#112 := (= #78 #111)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#113 := [monotonicity #110]: #112
+#116 := [monotonicity #113]: #115
+#119 := [monotonicity #116]: #118
+#122 := [quant-intro #119]: #121
+#88 := (iff #28 #87)
+#85 := (iff #27 #84)
+#82 := (= #26 #81)
+#79 := (= #25 #78)
+#76 := (= #24 #75)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#77 := [monotonicity #71 #74]: #76
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#80 := [monotonicity #67 #77]: #79
+#83 := [monotonicity #80]: #82
+#86 := [monotonicity #83]: #85
+#89 := [quant-intro #86]: #88
+#124 := [trans #89 #122]: #123
+#61 := [asserted]: #28
+#125 := [mp #61 #124]: #120
+#201 := [mp~ #125 #211]: #120
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#762 := [mp #269 #761]: #757
+#681 := (not #757)
+#682 := (or #681 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int -1::int)
+#428 := (div #427 #343)
+#429 := (* -1::int #428)
+#420 := (+ #177 #429)
+#431 := (= #420 0::int)
+#432 := (div -1::int -3::int)
+#433 := (* -1::int #432)
+#430 := (+ #177 #433)
+#434 := (= #430 0::int)
+#413 := (<= -3::int 0::int)
+#748 := (<= -1::int 0::int)
+#750 := (or #748 #413)
+#407 := (not #750)
+#537 := (>= -1::int 0::int)
+#744 := (or #413 #537)
+#418 := (not #744)
+#419 := (or #418 #407)
+#751 := (ite #419 #434 #431)
+#752 := (= -3::int 0::int)
+#753 := (= -1::int 0::int)
+#754 := (or #753 #752)
+#749 := (ite #754 #180 #751)
+#683 := (or #681 #749)
+#684 := (iff #683 #682)
+#674 := (iff #682 #682)
+#675 := [rewrite]: #674
+#669 := (iff #749 #180)
+#687 := (ite false #180 #180)
+#680 := (iff #687 #180)
+#672 := [rewrite]: #680
+#691 := (iff #749 #687)
+#597 := (iff #751 #180)
+#701 := (= #177 1::int)
+#585 := (ite false #701 #180)
+#595 := (iff #585 #180)
+#596 := [rewrite]: #595
+#593 := (iff #751 #585)
+#591 := (iff #431 #180)
+#574 := (= #420 #177)
+#688 := (+ #177 0::int)
+#686 := (= #688 #177)
+#689 := [rewrite]: #686
+#590 := (= #420 #688)
+#581 := (= #429 0::int)
+#696 := (* -1::int 0::int)
+#579 := (= #696 0::int)
+#580 := [rewrite]: #579
+#694 := (= #429 #696)
+#693 := (= #428 0::int)
+#707 := (div 1::int 3::int)
+#539 := (= #707 0::int)
+#692 := [rewrite]: #539
+#536 := (= #428 #707)
+#706 := (= #343 3::int)
+#700 := [rewrite]: #706
+#699 := (= #427 1::int)
+#705 := [rewrite]: #699
+#538 := [monotonicity #705 #700]: #536
+#695 := [trans #538 #692]: #693
+#697 := [monotonicity #695]: #694
+#540 := [trans #697 #580]: #581
+#685 := [monotonicity #540]: #590
+#589 := [trans #685 #689]: #574
+#592 := [monotonicity #589]: #591
+#704 := (iff #434 #701)
+#709 := (+ -1::int #177)
+#557 := (= #709 0::int)
+#702 := (iff #557 #701)
+#703 := [rewrite]: #702
+#558 := (iff #434 #557)
+#710 := (= #430 #709)
+#712 := (+ #177 -1::int)
+#714 := (= #712 #709)
+#715 := [rewrite]: #714
+#713 := (= #430 #712)
+#722 := (= #433 -1::int)
+#720 := (* -1::int 1::int)
+#721 := (= #720 -1::int)
+#718 := [rewrite]: #721
+#435 := (= #433 #720)
+#441 := (= #432 1::int)
+#719 := [rewrite]: #441
+#717 := [monotonicity #719]: #435
+#711 := [trans #717 #718]: #722
+#708 := [monotonicity #711]: #713
+#716 := [trans #708 #715]: #710
+#559 := [monotonicity #716]: #558
+#698 := [trans #559 #703]: #704
+#439 := (iff #419 false)
+#746 := (or false false)
+#390 := (iff #746 false)
+#731 := [rewrite]: #390
+#728 := (iff #419 #746)
+#727 := (iff #407 false)
+#1 := true
+#741 := (not true)
+#742 := (iff #741 false)
+#740 := [rewrite]: #742
+#449 := (iff #407 #741)
+#726 := (iff #750 true)
+#453 := (or true true)
+#349 := (iff #453 true)
+#725 := [rewrite]: #349
+#454 := (iff #750 #453)
+#396 := (iff #413 true)
+#397 := [rewrite]: #396
+#730 := (iff #748 true)
+#452 := [rewrite]: #730
+#455 := [monotonicity #452 #397]: #454
+#448 := [trans #455 #725]: #726
+#723 := [monotonicity #448]: #449
+#724 := [trans #723 #740]: #727
+#743 := (iff #418 false)
+#381 := (iff #418 #741)
+#376 := (iff #744 true)
+#735 := (or true false)
+#732 := (iff #735 true)
+#738 := [rewrite]: #732
+#736 := (iff #744 #735)
+#733 := (iff #537 false)
+#734 := [rewrite]: #733
+#737 := [monotonicity #397 #734]: #736
+#739 := [trans #737 #738]: #376
+#382 := [monotonicity #739]: #381
+#729 := [trans #382 #740]: #743
+#438 := [monotonicity #729 #724]: #728
+#440 := [trans #438 #731]: #439
+#594 := [monotonicity #440 #698 #592]: #593
+#690 := [trans #594 #596]: #597
+#394 := (iff #754 false)
+#406 := (iff #754 #746)
+#405 := (iff #752 false)
+#410 := [rewrite]: #405
+#755 := (iff #753 false)
+#745 := [rewrite]: #755
+#747 := [monotonicity #745 #410]: #406
+#395 := [trans #747 #731]: #394
+#678 := [monotonicity #395 #690]: #691
+#671 := [trans #678 #672]: #669
+#673 := [monotonicity #671]: #684
+#676 := [trans #673 #675]: #684
+#679 := [quant-inst]: #683
+#670 := [mp #679 #676]: #682
+[unit-resolution #670 #762 #198]: false
+unsat
+e0123afab77616719c99ab38af30fadddb3d3514 328 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#170 := -3::int
+#38 := 3::int
+#173 := (f4 3::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := (- 3::int)
+#40 := (f4 3::int #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#589 := (not #761)
+#582 := (or #589 #176)
+#339 := (* -1::int -3::int)
+#424 := (* -1::int 3::int)
+#425 := (mod #424 #339)
+#426 := (+ #173 #425)
+#417 := (= #426 0::int)
+#428 := (mod 3::int -3::int)
+#429 := (* -1::int #428)
+#357 := (+ #173 #429)
+#430 := (= #357 0::int)
+#427 := (<= -3::int 0::int)
+#431 := (<= 3::int 0::int)
+#410 := (or #431 #427)
+#745 := (not #410)
+#747 := (>= 3::int 0::int)
+#404 := (or #427 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #430 #417)
+#416 := (= 3::int 0::int)
+#748 := (ite #416 #176 #415)
+#749 := (= 3::int #173)
+#750 := (= -3::int 0::int)
+#751 := (ite #750 #749 #748)
+#590 := (or #589 #751)
+#592 := (iff #590 #582)
+#594 := (iff #582 #582)
+#687 := [rewrite]: #594
+#586 := (iff #751 #176)
+#402 := (= #173 3::int)
+#587 := (ite false #402 #176)
+#686 := (iff #587 #176)
+#571 := [rewrite]: #686
+#682 := (iff #751 #587)
+#537 := (iff #748 #176)
+#689 := (ite false #176 #176)
+#693 := (iff #689 #176)
+#691 := [rewrite]: #693
+#577 := (iff #748 #689)
+#694 := (iff #415 #176)
+#690 := (iff #415 #689)
+#535 := (iff #417 #176)
+#704 := (= #426 #173)
+#719 := (+ #173 0::int)
+#710 := (= #719 #173)
+#705 := [rewrite]: #710
+#703 := (= #426 #719)
+#696 := (= #425 0::int)
+#698 := (mod -3::int 3::int)
+#701 := (= #698 0::int)
+#695 := [rewrite]: #701
+#699 := (= #425 #698)
+#555 := (= #339 3::int)
+#556 := [rewrite]: #555
+#713 := (= #424 -3::int)
+#554 := [rewrite]: #713
+#700 := [monotonicity #554 #556]: #699
+#702 := [trans #700 #695]: #696
+#697 := [monotonicity #702]: #703
+#533 := [trans #697 #705]: #704
+#536 := [monotonicity #533]: #535
+#712 := (iff #430 #176)
+#706 := (= #357 #173)
+#708 := (= #357 #719)
+#718 := (= #429 0::int)
+#438 := (* -1::int 0::int)
+#432 := (= #438 0::int)
+#714 := [rewrite]: #432
+#716 := (= #429 #438)
+#436 := (= #428 0::int)
+#437 := [rewrite]: #436
+#717 := [monotonicity #437]: #716
+#715 := [trans #717 #714]: #718
+#709 := [monotonicity #715]: #708
+#711 := [trans #709 #705]: #706
+#707 := [monotonicity #711]: #712
+#725 := (iff #741 false)
+#445 := (or false false)
+#724 := (iff #445 false)
+#721 := [rewrite]: #724
+#446 := (iff #741 #445)
+#722 := (iff #745 false)
+#1 := true
+#734 := (not true)
+#373 := (iff #734 false)
+#736 := [rewrite]: #373
+#452 := (iff #745 #734)
+#450 := (iff #410 true)
+#737 := (or false true)
+#727 := (iff #737 true)
+#449 := [rewrite]: #727
+#740 := (iff #410 #737)
+#744 := (iff #427 true)
+#387 := [rewrite]: #744
+#379 := (iff #431 false)
+#739 := [rewrite]: #379
+#726 := [monotonicity #739 #387]: #740
+#451 := [trans #726 #449]: #450
+#345 := [monotonicity #451]: #452
+#723 := [trans #345 #736]: #722
+#738 := (iff #534 false)
+#729 := (iff #534 #734)
+#732 := (iff #404 true)
+#392 := (or true true)
+#730 := (iff #392 true)
+#731 := [rewrite]: #730
+#393 := (iff #404 #392)
+#728 := (iff #747 true)
+#391 := [rewrite]: #728
+#394 := [monotonicity #387 #391]: #393
+#733 := [trans #394 #731]: #732
+#735 := [monotonicity #733]: #729
+#378 := [trans #735 #736]: #738
+#720 := [monotonicity #378 #723]: #446
+#435 := [trans #720 #721]: #725
+#692 := [monotonicity #435 #707 #536]: #690
+#576 := [trans #692 #691]: #694
+#743 := (iff #416 false)
+#403 := [rewrite]: #743
+#578 := [monotonicity #403 #576]: #577
+#685 := [trans #578 #691]: #537
+#742 := (iff #749 #402)
+#407 := [rewrite]: #742
+#746 := (iff #750 false)
+#752 := [rewrite]: #746
+#683 := [monotonicity #752 #407 #685]: #682
+#588 := [trans #683 #571]: #586
+#593 := [monotonicity #588]: #592
+#684 := [trans #593 #687]: #592
+#591 := [quant-inst]: #590
+#688 := [mp #591 #684]: #582
+[unit-resolution #688 #766 #194]: false
+unsat
+c88cce63d6e0a186daa8cd66ece19fb97c1244ca 311 0
+#2 := false
+#41 := 1::int
+decl f3 :: (-> int int int)
+#171 := -3::int
+#174 := (f3 -3::int -3::int)
+#177 := (= #174 1::int)
+#190 := (not #177)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f3 #39 #39)
+#42 := (= #40 1::int)
+#43 := (not #42)
+#193 := (iff #43 #190)
+#180 := (= 1::int #174)
+#185 := (not #180)
+#191 := (iff #185 #190)
+#188 := (iff #180 #177)
+#189 := [rewrite]: #188
+#192 := [monotonicity #189]: #191
+#186 := (iff #43 #185)
+#183 := (iff #42 #180)
+#181 := (iff #177 #180)
+#182 := [rewrite]: #181
+#178 := (iff #42 #177)
+#175 := (= #40 #174)
+#172 := (= #39 -3::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173 #173]: #175
+#179 := [monotonicity #176]: #178
+#184 := [trans #179 #182]: #183
+#187 := [monotonicity #184]: #186
+#194 := [trans #187 #192]: #193
+#170 := [asserted]: #43
+#195 := [mp #170 #194]: #190
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#753 := (pattern #10)
+#11 := 0::int
+#67 := -1::int
+#71 := (* -1::int #9)
+#68 := (* -1::int #8)
+#74 := (div #68 #71)
+#256 := (* -1::int #74)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#21 := (div #8 #9)
+#253 := (* -1::int #21)
+#254 := (+ #10 #253)
+#255 := (= #254 0::int)
+#93 := (<= #9 0::int)
+#89 := (<= #8 0::int)
+#211 := (or #89 #93)
+#212 := (not #211)
+#100 := (>= #8 0::int)
+#203 := (or #93 #100)
+#204 := (not #203)
+#218 := (or #204 #212)
+#259 := (ite #218 #255 #258)
+#252 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#260 := (ite #14 #252 #259)
+#754 := (forall (vars (?v0 int) (?v1 int)) (:pat #753) #260)
+#263 := (forall (vars (?v0 int) (?v1 int)) #260)
+#757 := (iff #263 #754)
+#755 := (iff #260 #260)
+#756 := [refl]: #755
+#758 := [quant-intro #756]: #757
+#223 := (ite #218 #21 #74)
+#226 := (ite #14 0::int #223)
+#229 := (= #10 #226)
+#232 := (forall (vars (?v0 int) (?v1 int)) #229)
+#264 := (iff #232 #263)
+#261 := (iff #229 #260)
+#262 := [rewrite]: #261
+#265 := [quant-intro #262]: #264
+#101 := (not #100)
+#94 := (not #93)
+#104 := (and #94 #101)
+#90 := (not #89)
+#97 := (and #90 #94)
+#107 := (or #97 #104)
+#110 := (ite #107 #21 #74)
+#113 := (ite #14 0::int #110)
+#116 := (= #10 #113)
+#119 := (forall (vars (?v0 int) (?v1 int)) #116)
+#233 := (iff #119 #232)
+#230 := (iff #116 #229)
+#227 := (= #113 #226)
+#224 := (= #110 #223)
+#221 := (iff #107 #218)
+#215 := (or #212 #204)
+#219 := (iff #215 #218)
+#220 := [rewrite]: #219
+#216 := (iff #107 #215)
+#213 := (iff #104 #204)
+#214 := [rewrite]: #213
+#201 := (iff #97 #212)
+#202 := [rewrite]: #201
+#217 := [monotonicity #202 #214]: #216
+#222 := [trans #217 #220]: #221
+#225 := [monotonicity #222]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [quant-intro #231]: #233
+#207 := (~ #119 #119)
+#205 := (~ #116 #116)
+#206 := [refl]: #205
+#208 := [nnf-pos #206]: #207
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#122 := (iff #28 #119)
+#61 := (and #16 #18)
+#64 := (or #17 #61)
+#77 := (ite #64 #21 #74)
+#80 := (ite #14 0::int #77)
+#83 := (= #10 #80)
+#86 := (forall (vars (?v0 int) (?v1 int)) #83)
+#120 := (iff #86 #119)
+#117 := (iff #83 #116)
+#114 := (= #80 #113)
+#111 := (= #77 #110)
+#108 := (iff #64 #107)
+#105 := (iff #61 #104)
+#102 := (iff #18 #101)
+#103 := [rewrite]: #102
+#95 := (iff #16 #94)
+#96 := [rewrite]: #95
+#106 := [monotonicity #96 #103]: #105
+#98 := (iff #17 #97)
+#91 := (iff #15 #90)
+#92 := [rewrite]: #91
+#99 := [monotonicity #92 #96]: #98
+#109 := [monotonicity #99 #106]: #108
+#112 := [monotonicity #109]: #111
+#115 := [monotonicity #112]: #114
+#118 := [monotonicity #115]: #117
+#121 := [quant-intro #118]: #120
+#87 := (iff #28 #86)
+#84 := (iff #27 #83)
+#81 := (= #26 #80)
+#78 := (= #25 #77)
+#75 := (= #24 #74)
+#72 := (= #23 #71)
+#73 := [rewrite]: #72
+#69 := (= #22 #68)
+#70 := [rewrite]: #69
+#76 := [monotonicity #70 #73]: #75
+#65 := (iff #20 #64)
+#62 := (iff #19 #61)
+#63 := [rewrite]: #62
+#66 := [monotonicity #63]: #65
+#79 := [monotonicity #66 #76]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#123 := [trans #88 #121]: #122
+#60 := [asserted]: #28
+#124 := [mp #60 #123]: #119
+#198 := [mp~ #124 #208]: #119
+#235 := [mp #198 #234]: #232
+#266 := [mp #235 #265]: #263
+#759 := [mp #266 #758]: #754
+#590 := (not #754)
+#591 := (or #590 #177)
+#340 := (* -1::int -3::int)
+#424 := (div #340 #340)
+#425 := (* -1::int #424)
+#426 := (+ #174 #425)
+#417 := (= #426 0::int)
+#428 := (div -3::int -3::int)
+#429 := (* -1::int #428)
+#430 := (+ #174 #429)
+#427 := (= #430 0::int)
+#431 := (<= -3::int 0::int)
+#410 := (or #431 #431)
+#745 := (not #410)
+#747 := (>= -3::int 0::int)
+#404 := (or #431 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #427 #417)
+#416 := (= #174 0::int)
+#748 := (= -3::int 0::int)
+#749 := (or #748 #748)
+#750 := (ite #749 #416 #415)
+#592 := (or #590 #750)
+#594 := (iff #592 #591)
+#684 := (iff #591 #591)
+#688 := [rewrite]: #684
+#589 := (iff #750 #177)
+#683 := (ite false #416 #177)
+#586 := (iff #683 #177)
+#588 := [rewrite]: #586
+#686 := (iff #750 #683)
+#587 := (iff #415 #177)
+#576 := (ite false #177 #177)
+#537 := (iff #576 #177)
+#685 := [rewrite]: #537
+#577 := (iff #415 #576)
+#691 := (iff #417 #177)
+#715 := (+ -1::int #174)
+#705 := (= #715 0::int)
+#712 := (iff #705 #177)
+#707 := [rewrite]: #712
+#692 := (iff #417 #705)
+#689 := (= #426 #715)
+#432 := (+ #174 -1::int)
+#719 := (= #432 #715)
+#708 := [rewrite]: #719
+#535 := (= #426 #432)
+#704 := (= #425 -1::int)
+#725 := (* -1::int 1::int)
+#437 := (= #725 -1::int)
+#438 := [rewrite]: #437
+#703 := (= #425 #725)
+#696 := (= #424 1::int)
+#698 := (div 3::int 3::int)
+#701 := (= #698 1::int)
+#695 := [rewrite]: #701
+#699 := (= #424 #698)
+#555 := (= #340 3::int)
+#556 := [rewrite]: #555
+#700 := [monotonicity #556 #556]: #699
+#702 := [trans #700 #695]: #696
+#697 := [monotonicity #702]: #703
+#533 := [trans #697 #438]: #704
+#536 := [monotonicity #533]: #535
+#690 := [trans #536 #708]: #689
+#693 := [monotonicity #690]: #692
+#694 := [trans #693 #707]: #691
+#713 := (iff #427 #177)
+#706 := (iff #427 #705)
+#709 := (= #430 #715)
+#714 := (= #430 #432)
+#716 := (= #429 -1::int)
+#435 := (= #429 #725)
+#724 := (= #428 1::int)
+#721 := [rewrite]: #724
+#436 := [monotonicity #721]: #435
+#717 := [trans #436 #438]: #716
+#718 := [monotonicity #717]: #714
+#710 := [trans #718 #708]: #709
+#711 := [monotonicity #710]: #706
+#554 := [trans #711 #707]: #713
+#446 := (iff #741 false)
+#752 := (or false false)
+#407 := (iff #752 false)
+#743 := [rewrite]: #407
+#723 := (iff #741 #752)
+#346 := (iff #745 false)
+#1 := true
+#729 := (not true)
+#736 := (iff #729 false)
+#738 := [rewrite]: #736
+#451 := (iff #745 #729)
+#449 := (iff #410 true)
+#739 := (or true true)
+#726 := (iff #739 true)
+#727 := [rewrite]: #726
+#737 := (iff #410 #739)
+#387 := (iff #431 true)
+#728 := [rewrite]: #387
+#740 := [monotonicity #728 #728]: #737
+#450 := [trans #740 #727]: #449
+#452 := [monotonicity #450]: #451
+#722 := [trans #452 #738]: #346
+#378 := (iff #534 false)
+#735 := (iff #534 #729)
+#733 := (iff #404 true)
+#393 := (or true false)
+#731 := (iff #393 true)
+#732 := [rewrite]: #731
+#394 := (iff #404 #393)
+#391 := (iff #747 false)
+#392 := [rewrite]: #391
+#730 := [monotonicity #728 #392]: #394
+#734 := [trans #730 #732]: #733
+#373 := [monotonicity #734]: #735
+#379 := [trans #373 #738]: #378
+#445 := [monotonicity #379 #722]: #723
+#720 := [trans #445 #743]: #446
+#578 := [monotonicity #720 #554 #694]: #577
+#682 := [trans #578 #685]: #587
+#403 := (iff #749 false)
+#742 := (iff #749 #752)
+#751 := (iff #748 false)
+#746 := [rewrite]: #751
+#402 := [monotonicity #746 #746]: #742
+#744 := [trans #402 #743]: #403
+#571 := [monotonicity #744 #682]: #686
+#582 := [trans #571 #588]: #589
+#687 := [monotonicity #582]: #594
+#675 := [trans #687 #688]: #594
+#593 := [quant-inst]: #592
+#677 := [mp #593 #675]: #591
+[unit-resolution #677 #759 #195]: false
+unsat
+9635e0bc08ee97ed1256a38a5dbd874adffbbe2e 356 0
+#2 := false
+#69 := -1::int
+decl f4 :: (-> int int int)
+#173 := -3::int
+#38 := 5::int
+#176 := (f4 5::int -3::int)
+#181 := (= #176 -1::int)
+#194 := (not #181)
+#42 := 1::int
+#43 := (- 1::int)
+#39 := 3::int
+#40 := (- 3::int)
+#41 := (f4 5::int #40)
+#44 := (= #41 #43)
+#45 := (not #44)
+#197 := (iff #45 #194)
+#184 := (= -1::int #176)
+#189 := (not #184)
+#195 := (iff #189 #194)
+#192 := (iff #184 #181)
+#193 := [rewrite]: #192
+#196 := [monotonicity #193]: #195
+#190 := (iff #45 #189)
+#187 := (iff #44 #184)
+#185 := (iff #181 #184)
+#186 := [rewrite]: #185
+#182 := (iff #44 #181)
+#179 := (= #43 -1::int)
+#180 := [rewrite]: #179
+#177 := (= #41 #176)
+#174 := (= #40 -3::int)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#183 := [monotonicity #178 #180]: #182
+#188 := [trans #183 #186]: #187
+#191 := [monotonicity #188]: #190
+#198 := [trans #191 #196]: #197
+#172 := [asserted]: #45
+#199 := [mp #172 #198]: #194
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#764 := (pattern #29)
+#11 := 0::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#128 := (mod #70 #73)
+#276 := (+ #29 #128)
+#277 := (= #276 0::int)
+#30 := (mod #8 #9)
+#273 := (* -1::int #30)
+#274 := (+ #29 #273)
+#275 := (= #274 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#215 := (or #91 #95)
+#216 := (not #215)
+#102 := (>= #8 0::int)
+#207 := (or #95 #102)
+#208 := (not #207)
+#222 := (or #208 #216)
+#278 := (ite #222 #275 #277)
+#272 := (= #29 0::int)
+#12 := (= #8 0::int)
+#279 := (ite #12 #272 #278)
+#271 := (= #8 #29)
+#13 := (= #9 0::int)
+#280 := (ite #13 #271 #279)
+#765 := (forall (vars (?v0 int) (?v1 int)) (:pat #764) #280)
+#283 := (forall (vars (?v0 int) (?v1 int)) #280)
+#768 := (iff #283 #765)
+#766 := (iff #280 #280)
+#767 := [refl]: #766
+#769 := [quant-intro #767]: #768
+#134 := (* -1::int #128)
+#240 := (ite #222 #30 #134)
+#243 := (ite #12 0::int #240)
+#246 := (ite #13 #8 #243)
+#249 := (= #29 #246)
+#252 := (forall (vars (?v0 int) (?v1 int)) #249)
+#284 := (iff #252 #283)
+#281 := (iff #249 #280)
+#282 := [rewrite]: #281
+#285 := [quant-intro #282]: #284
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#253 := (iff #166 #252)
+#250 := (iff #163 #249)
+#247 := (= #160 #246)
+#244 := (= #157 #243)
+#241 := (= #154 #240)
+#225 := (iff #109 #222)
+#219 := (or #216 #208)
+#223 := (iff #219 #222)
+#224 := [rewrite]: #223
+#220 := (iff #109 #219)
+#217 := (iff #106 #208)
+#218 := [rewrite]: #217
+#205 := (iff #99 #216)
+#206 := [rewrite]: #205
+#221 := [monotonicity #206 #218]: #220
+#226 := [trans #221 #224]: #225
+#242 := [monotonicity #226]: #241
+#245 := [monotonicity #242]: #244
+#248 := [monotonicity #245]: #247
+#251 := [monotonicity #248]: #250
+#254 := [quant-intro #251]: #253
+#203 := (~ #166 #166)
+#200 := (~ #163 #163)
+#213 := [refl]: #200
+#204 := [nnf-pos #213]: #203
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#214 := [mp~ #171 #204]: #166
+#255 := [mp #214 #254]: #252
+#286 := [mp #255 #285]: #283
+#770 := [mp #286 #769]: #765
+#671 := (not #765)
+#678 := (or #671 #181)
+#344 := (* -1::int -3::int)
+#428 := (* -1::int 5::int)
+#429 := (mod #428 #344)
+#430 := (+ #176 #429)
+#421 := (= #430 0::int)
+#432 := (mod 5::int -3::int)
+#433 := (* -1::int #432)
+#434 := (+ #176 #433)
+#431 := (= #434 0::int)
+#435 := (<= -3::int 0::int)
+#414 := (<= 5::int 0::int)
+#749 := (or #414 #435)
+#751 := (not #749)
+#408 := (>= 5::int 0::int)
+#538 := (or #435 #408)
+#745 := (not #538)
+#419 := (or #745 #751)
+#420 := (ite #419 #431 #421)
+#752 := (= #176 0::int)
+#753 := (= 5::int 0::int)
+#754 := (ite #753 #752 #420)
+#755 := (= 5::int #176)
+#750 := (= -3::int 0::int)
+#756 := (ite #750 #755 #754)
+#662 := (or #671 #756)
+#665 := (iff #662 #678)
+#667 := (iff #678 #678)
+#668 := [rewrite]: #667
+#676 := (iff #756 #181)
+#747 := (= #176 5::int)
+#684 := (ite false #747 #181)
+#674 := (iff #684 #181)
+#675 := [rewrite]: #674
+#680 := (iff #756 #684)
+#682 := (iff #754 #181)
+#679 := (ite false #752 #181)
+#670 := (iff #679 #181)
+#672 := [rewrite]: #670
+#681 := (iff #754 #679)
+#688 := (iff #420 #181)
+#442 := 2::int
+#704 := (= #176 2::int)
+#595 := (ite false #704 #181)
+#598 := (iff #595 #181)
+#691 := [rewrite]: #598
+#596 := (iff #420 #595)
+#586 := (iff #421 #181)
+#541 := (+ 1::int #176)
+#690 := (= #541 0::int)
+#592 := (iff #690 #181)
+#593 := [rewrite]: #592
+#575 := (iff #421 #690)
+#686 := (= #430 #541)
+#580 := (+ #176 1::int)
+#689 := (= #580 #541)
+#591 := [rewrite]: #689
+#581 := (= #430 #580)
+#695 := (= #429 1::int)
+#707 := -5::int
+#540 := (mod -5::int 3::int)
+#696 := (= #540 1::int)
+#697 := [rewrite]: #696
+#693 := (= #429 #540)
+#537 := (= #344 3::int)
+#539 := [rewrite]: #537
+#701 := (= #428 -5::int)
+#708 := [rewrite]: #701
+#694 := [monotonicity #708 #539]: #693
+#698 := [trans #694 #697]: #695
+#582 := [monotonicity #698]: #581
+#687 := [trans #582 #591]: #686
+#590 := [monotonicity #687]: #575
+#594 := [trans #590 #593]: #586
+#700 := (iff #431 #704)
+#719 := -2::int
+#716 := (+ -2::int #176)
+#560 := (= #716 0::int)
+#705 := (iff #560 #704)
+#699 := [rewrite]: #705
+#702 := (iff #431 #560)
+#558 := (= #434 #716)
+#709 := (+ #176 -2::int)
+#711 := (= #709 #716)
+#717 := [rewrite]: #711
+#710 := (= #434 #709)
+#713 := (= #433 -2::int)
+#436 := (* -1::int 2::int)
+#723 := (= #436 -2::int)
+#712 := [rewrite]: #723
+#718 := (= #433 #436)
+#720 := (= #432 2::int)
+#721 := [rewrite]: #720
+#722 := [monotonicity #721]: #718
+#714 := [trans #722 #712]: #713
+#715 := [monotonicity #714]: #710
+#559 := [trans #715 #717]: #558
+#703 := [monotonicity #559]: #702
+#706 := [trans #703 #699]: #700
+#440 := (iff #419 false)
+#724 := (or false false)
+#729 := (iff #724 false)
+#439 := [rewrite]: #729
+#728 := (iff #419 #724)
+#449 := (iff #751 false)
+#1 := true
+#739 := (not true)
+#742 := (iff #739 false)
+#382 := [rewrite]: #742
+#726 := (iff #751 #739)
+#456 := (iff #749 true)
+#730 := (or false true)
+#454 := (iff #730 true)
+#455 := [rewrite]: #454
+#731 := (iff #749 #730)
+#732 := (iff #435 true)
+#395 := [rewrite]: #732
+#741 := (iff #414 false)
+#744 := [rewrite]: #741
+#453 := [monotonicity #744 #395]: #731
+#350 := [trans #453 #455]: #456
+#727 := [monotonicity #350]: #726
+#450 := [trans #727 #382]: #449
+#383 := (iff #745 false)
+#377 := (iff #745 #739)
+#738 := (iff #538 true)
+#398 := (or true true)
+#736 := (iff #398 true)
+#737 := [rewrite]: #736
+#734 := (iff #538 #398)
+#396 := (iff #408 true)
+#397 := [rewrite]: #396
+#735 := [monotonicity #395 #397]: #734
+#733 := [trans #735 #737]: #738
+#740 := [monotonicity #733]: #377
+#743 := [trans #740 #382]: #383
+#725 := [monotonicity #743 #450]: #728
+#441 := [trans #725 #439]: #440
+#597 := [monotonicity #441 #706 #594]: #596
+#692 := [trans #597 #691]: #688
+#748 := (iff #753 false)
+#391 := [rewrite]: #748
+#673 := [monotonicity #391 #692]: #681
+#683 := [trans #673 #672]: #682
+#411 := (iff #755 #747)
+#407 := [rewrite]: #411
+#746 := (iff #750 false)
+#406 := [rewrite]: #746
+#685 := [monotonicity #406 #407 #683]: #680
+#677 := [trans #685 #675]: #676
+#666 := [monotonicity #677]: #665
+#664 := [trans #666 #668]: #665
+#663 := [quant-inst]: #662
+#669 := [mp #663 #664]: #678
+[unit-resolution #669 #770 #199]: false
+unsat
+d7d527dac30acb7be44977e66eb01c6ffc6a5300 338 0
+#2 := false
+#43 := 1::int
+decl f3 :: (-> int int int)
+#176 := -3::int
+#173 := -5::int
+#179 := (f3 -5::int -3::int)
+#182 := (= #179 1::int)
+#195 := (not #182)
+#40 := 3::int
+#41 := (- 3::int)
+#38 := 5::int
+#39 := (- 5::int)
+#42 := (f3 #39 #41)
+#44 := (= #42 1::int)
+#45 := (not #44)
+#198 := (iff #45 #195)
+#185 := (= 1::int #179)
+#190 := (not #185)
+#196 := (iff #190 #195)
+#193 := (iff #185 #182)
+#194 := [rewrite]: #193
+#197 := [monotonicity #194]: #196
+#191 := (iff #45 #190)
+#188 := (iff #44 #185)
+#186 := (iff #182 #185)
+#187 := [rewrite]: #186
+#183 := (iff #44 #182)
+#180 := (= #42 #179)
+#177 := (= #41 -3::int)
+#178 := [rewrite]: #177
+#174 := (= #39 -5::int)
+#175 := [rewrite]: #174
+#181 := [monotonicity #175 #178]: #180
+#184 := [monotonicity #181]: #183
+#189 := [trans #184 #187]: #188
+#192 := [monotonicity #189]: #191
+#199 := [trans #192 #197]: #198
+#172 := [asserted]: #45
+#200 := [mp #172 #199]: #195
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#758 := (pattern #10)
+#11 := 0::int
+#69 := -1::int
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#261 := (* -1::int #76)
+#262 := (+ #10 #261)
+#263 := (= #262 0::int)
+#21 := (div #8 #9)
+#258 := (* -1::int #21)
+#259 := (+ #10 #258)
+#260 := (= #259 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#216 := (or #91 #95)
+#217 := (not #216)
+#102 := (>= #8 0::int)
+#208 := (or #95 #102)
+#209 := (not #208)
+#223 := (or #209 #217)
+#264 := (ite #223 #260 #263)
+#257 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#265 := (ite #14 #257 #264)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #265)
+#268 := (forall (vars (?v0 int) (?v1 int)) #265)
+#762 := (iff #268 #759)
+#760 := (iff #265 #265)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#228 := (ite #223 #21 #76)
+#231 := (ite #14 0::int #228)
+#234 := (= #10 #231)
+#237 := (forall (vars (?v0 int) (?v1 int)) #234)
+#269 := (iff #237 #268)
+#266 := (iff #234 #265)
+#267 := [rewrite]: #266
+#270 := [quant-intro #267]: #269
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#238 := (iff #121 #237)
+#235 := (iff #118 #234)
+#232 := (= #115 #231)
+#229 := (= #112 #228)
+#226 := (iff #109 #223)
+#220 := (or #217 #209)
+#224 := (iff #220 #223)
+#225 := [rewrite]: #224
+#221 := (iff #109 #220)
+#218 := (iff #106 #209)
+#219 := [rewrite]: #218
+#206 := (iff #99 #217)
+#207 := [rewrite]: #206
+#222 := [monotonicity #207 #219]: #221
+#227 := [trans #222 #225]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [monotonicity #233]: #235
+#239 := [quant-intro #236]: #238
+#212 := (~ #121 #121)
+#210 := (~ #118 #118)
+#211 := [refl]: #210
+#213 := [nnf-pos #211]: #212
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#203 := [mp~ #126 #213]: #121
+#240 := [mp #203 #239]: #237
+#271 := [mp #240 #270]: #268
+#764 := [mp #271 #763]: #759
+#672 := (not #759)
+#679 := (or #672 #182)
+#345 := (* -1::int -3::int)
+#429 := (* -1::int -5::int)
+#430 := (div #429 #345)
+#431 := (* -1::int #430)
+#422 := (+ #179 #431)
+#433 := (= #422 0::int)
+#434 := (div -5::int -3::int)
+#435 := (* -1::int #434)
+#432 := (+ #179 #435)
+#436 := (= #432 0::int)
+#415 := (<= -3::int 0::int)
+#750 := (<= -5::int 0::int)
+#752 := (or #750 #415)
+#409 := (not #752)
+#539 := (>= -5::int 0::int)
+#746 := (or #415 #539)
+#420 := (not #746)
+#421 := (or #420 #409)
+#753 := (ite #421 #436 #433)
+#754 := (= #179 0::int)
+#755 := (= -3::int 0::int)
+#756 := (= -5::int 0::int)
+#751 := (or #756 #755)
+#757 := (ite #751 #754 #753)
+#663 := (or #672 #757)
+#666 := (iff #663 #679)
+#668 := (iff #679 #679)
+#669 := [rewrite]: #668
+#677 := (iff #757 #182)
+#685 := (ite false #754 #182)
+#675 := (iff #685 #182)
+#676 := [rewrite]: #675
+#681 := (iff #757 #685)
+#683 := (iff #753 #182)
+#721 := 2::int
+#706 := (= #179 2::int)
+#680 := (ite false #706 #182)
+#671 := (iff #680 #182)
+#673 := [rewrite]: #671
+#682 := (iff #753 #680)
+#689 := (iff #433 #182)
+#591 := (+ -1::int #179)
+#596 := (= #591 0::int)
+#599 := (iff #596 #182)
+#692 := [rewrite]: #599
+#597 := (iff #433 #596)
+#587 := (= #422 #591)
+#688 := (+ #179 -1::int)
+#593 := (= #688 #591)
+#594 := [rewrite]: #593
+#691 := (= #422 #688)
+#592 := (= #431 -1::int)
+#581 := (* -1::int 1::int)
+#542 := (= #581 -1::int)
+#690 := [rewrite]: #542
+#582 := (= #431 #581)
+#696 := (= #430 1::int)
+#541 := (div 5::int 3::int)
+#697 := (= #541 1::int)
+#698 := [rewrite]: #697
+#694 := (= #430 #541)
+#538 := (= #345 3::int)
+#540 := [rewrite]: #538
+#702 := (= #429 5::int)
+#709 := [rewrite]: #702
+#695 := [monotonicity #709 #540]: #694
+#699 := [trans #695 #698]: #696
+#583 := [monotonicity #699]: #582
+#687 := [trans #583 #690]: #592
+#576 := [monotonicity #687]: #691
+#595 := [trans #576 #594]: #587
+#598 := [monotonicity #595]: #597
+#693 := [trans #598 #692]: #689
+#707 := (iff #436 #706)
+#724 := -2::int
+#712 := (+ -2::int #179)
+#703 := (= #712 0::int)
+#700 := (iff #703 #706)
+#701 := [rewrite]: #700
+#704 := (iff #436 #703)
+#560 := (= #432 #712)
+#711 := (+ #179 -2::int)
+#718 := (= #711 #712)
+#559 := [rewrite]: #718
+#716 := (= #432 #711)
+#715 := (= #435 -2::int)
+#719 := (* -1::int 2::int)
+#713 := (= #719 -2::int)
+#714 := [rewrite]: #713
+#723 := (= #435 #719)
+#722 := (= #434 2::int)
+#437 := [rewrite]: #722
+#720 := [monotonicity #437]: #723
+#710 := [trans #720 #714]: #715
+#717 := [monotonicity #710]: #716
+#561 := [trans #717 #559]: #560
+#705 := [monotonicity #561]: #704
+#708 := [trans #705 #701]: #707
+#442 := (iff #421 false)
+#408 := (or false false)
+#733 := (iff #408 false)
+#396 := [rewrite]: #733
+#440 := (iff #421 #408)
+#726 := (iff #409 false)
+#1 := true
+#383 := (not true)
+#742 := (iff #383 false)
+#745 := [rewrite]: #742
+#725 := (iff #409 #383)
+#450 := (iff #752 true)
+#456 := (or true true)
+#727 := (iff #456 true)
+#728 := [rewrite]: #727
+#457 := (iff #752 #456)
+#399 := (iff #415 true)
+#735 := [rewrite]: #399
+#454 := (iff #750 true)
+#455 := [rewrite]: #454
+#351 := [monotonicity #455 #735]: #457
+#451 := [trans #351 #728]: #450
+#729 := [monotonicity #451]: #725
+#730 := [trans #729 #745]: #726
+#731 := (iff #420 false)
+#384 := (iff #420 #383)
+#741 := (iff #746 true)
+#738 := (or true false)
+#740 := (iff #738 true)
+#378 := [rewrite]: #740
+#739 := (iff #746 #738)
+#736 := (iff #539 false)
+#737 := [rewrite]: #736
+#734 := [monotonicity #735 #737]: #739
+#743 := [trans #734 #378]: #741
+#744 := [monotonicity #743]: #384
+#732 := [trans #744 #745]: #731
+#441 := [monotonicity #732 #730]: #440
+#443 := [trans #441 #396]: #442
+#674 := [monotonicity #443 #708 #693]: #682
+#684 := [trans #674 #673]: #683
+#397 := (iff #751 false)
+#749 := (iff #751 #408)
+#412 := (iff #755 false)
+#748 := [rewrite]: #412
+#747 := (iff #756 false)
+#407 := [rewrite]: #747
+#392 := [monotonicity #407 #748]: #749
+#398 := [trans #392 #396]: #397
+#686 := [monotonicity #398 #684]: #681
+#678 := [trans #686 #676]: #677
+#667 := [monotonicity #678]: #666
+#665 := [trans #667 #669]: #666
+#664 := [quant-inst]: #663
+#670 := [mp #664 #665]: #679
+[unit-resolution #670 #764 #200]: false
+unsat
+23ee07330031fda7a649c24c72b346abba5a15ed 350 0
+#2 := false
+#42 := 2::int
+decl f4 :: (-> int int int)
+#40 := 3::int
+#68 := -1::int
+#174 := (f4 -1::int 3::int)
+#177 := (= #174 2::int)
+#190 := (not #177)
+#38 := 1::int
+#39 := (- 1::int)
+#41 := (f4 #39 3::int)
+#43 := (= #41 2::int)
+#44 := (not #43)
+#193 := (iff #44 #190)
+#180 := (= 2::int #174)
+#185 := (not #180)
+#191 := (iff #185 #190)
+#188 := (iff #180 #177)
+#189 := [rewrite]: #188
+#192 := [monotonicity #189]: #191
+#186 := (iff #44 #185)
+#183 := (iff #43 #180)
+#181 := (iff #177 #180)
+#182 := [rewrite]: #181
+#178 := (iff #43 #177)
+#175 := (= #41 #174)
+#172 := (= #39 -1::int)
+#173 := [rewrite]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#184 := [trans #179 #182]: #183
+#187 := [monotonicity #184]: #186
+#194 := [trans #187 #192]: #193
+#171 := [asserted]: #44
+#195 := [mp #171 #194]: #190
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#272 := (+ #29 #127)
+#273 := (= #272 0::int)
+#30 := (mod #8 #9)
+#269 := (* -1::int #30)
+#270 := (+ #29 #269)
+#271 := (= #270 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#211 := (or #90 #94)
+#212 := (not #211)
+#101 := (>= #8 0::int)
+#203 := (or #94 #101)
+#204 := (not #203)
+#218 := (or #204 #212)
+#274 := (ite #218 #271 #273)
+#268 := (= #29 0::int)
+#12 := (= #8 0::int)
+#275 := (ite #12 #268 #274)
+#267 := (= #8 #29)
+#13 := (= #9 0::int)
+#276 := (ite #13 #267 #275)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #276)
+#279 := (forall (vars (?v0 int) (?v1 int)) #276)
+#764 := (iff #279 #761)
+#762 := (iff #276 #276)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#133 := (* -1::int #127)
+#236 := (ite #218 #30 #133)
+#239 := (ite #12 0::int #236)
+#242 := (ite #13 #8 #239)
+#245 := (= #29 #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
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#249 := (iff #165 #248)
+#246 := (iff #162 #245)
+#243 := (= #159 #242)
+#240 := (= #156 #239)
+#237 := (= #153 #236)
+#221 := (iff #108 #218)
+#215 := (or #212 #204)
+#219 := (iff #215 #218)
+#220 := [rewrite]: #219
+#216 := (iff #108 #215)
+#213 := (iff #105 #204)
+#214 := [rewrite]: #213
+#201 := (iff #98 #212)
+#202 := [rewrite]: #201
+#217 := [monotonicity #202 #214]: #216
+#222 := [trans #217 #220]: #221
+#238 := [monotonicity #222]: #237
+#241 := [monotonicity #238]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [quant-intro #247]: #249
+#199 := (~ #165 #165)
+#196 := (~ #162 #162)
+#209 := [refl]: #196
+#200 := [nnf-pos #209]: #199
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#210 := [mp~ #170 #200]: #165
+#251 := [mp #210 #250]: #248
+#282 := [mp #251 #281]: #279
+#766 := [mp #282 #765]: #761
+#672 := (not #761)
+#673 := (or #672 #177)
+#340 := (* -1::int 3::int)
+#424 := (* -1::int -1::int)
+#425 := (mod #424 #340)
+#426 := (+ #174 #425)
+#417 := (= #426 0::int)
+#428 := (mod -1::int 3::int)
+#429 := (* -1::int #428)
+#430 := (+ #174 #429)
+#427 := (= #430 0::int)
+#431 := (<= 3::int 0::int)
+#410 := (<= -1::int 0::int)
+#745 := (or #410 #431)
+#747 := (not #745)
+#404 := (>= -1::int 0::int)
+#534 := (or #431 #404)
+#741 := (not #534)
+#415 := (or #741 #747)
+#416 := (ite #415 #427 #417)
+#748 := (= #174 0::int)
+#749 := (= -1::int 0::int)
+#750 := (ite #749 #748 #416)
+#751 := (= -1::int #174)
+#746 := (= 3::int 0::int)
+#752 := (ite #746 #751 #750)
+#667 := (or #672 #752)
+#658 := (iff #667 #673)
+#661 := (iff #673 #673)
+#662 := [rewrite]: #661
+#670 := (iff #752 #177)
+#743 := (= #174 -1::int)
+#678 := (ite false #743 #177)
+#676 := (iff #678 #177)
+#681 := [rewrite]: #676
+#679 := (iff #752 #678)
+#666 := (iff #750 #177)
+#684 := (ite false #748 #177)
+#677 := (iff #684 #177)
+#669 := [rewrite]: #677
+#688 := (iff #750 #684)
+#594 := (iff #416 #177)
+#1 := true
+#582 := (ite true #177 #743)
+#592 := (iff #582 #177)
+#593 := [rewrite]: #592
+#590 := (iff #416 #582)
+#588 := (iff #417 #743)
+#577 := (+ 1::int #174)
+#682 := (= #577 0::int)
+#571 := (iff #682 #743)
+#586 := [rewrite]: #571
+#683 := (iff #417 #682)
+#685 := (= #426 #577)
+#691 := (+ #174 1::int)
+#578 := (= #691 #577)
+#537 := [rewrite]: #578
+#694 := (= #426 #691)
+#692 := (= #425 1::int)
+#703 := -3::int
+#533 := (mod 1::int -3::int)
+#689 := (= #533 1::int)
+#690 := [rewrite]: #689
+#535 := (= #425 #533)
+#697 := (= #340 -3::int)
+#704 := [rewrite]: #697
+#696 := (= #424 1::int)
+#702 := [rewrite]: #696
+#536 := [monotonicity #702 #704]: #535
+#693 := [trans #536 #690]: #692
+#576 := [monotonicity #693]: #694
+#587 := [trans #576 #537]: #685
+#686 := [monotonicity #587]: #683
+#589 := [trans #686 #586]: #588
+#701 := (iff #427 #177)
+#718 := -2::int
+#711 := (+ -2::int #174)
+#555 := (= #711 0::int)
+#699 := (iff #555 #177)
+#700 := [rewrite]: #699
+#556 := (iff #427 #555)
+#713 := (= #430 #711)
+#710 := (+ #174 -2::int)
+#712 := (= #710 #711)
+#707 := [rewrite]: #712
+#705 := (= #430 #710)
+#708 := (= #429 -2::int)
+#717 := (* -1::int 2::int)
+#715 := (= #717 -2::int)
+#719 := [rewrite]: #715
+#432 := (= #429 #717)
+#438 := (= #428 2::int)
+#716 := [rewrite]: #438
+#714 := [monotonicity #716]: #432
+#709 := [trans #714 #719]: #708
+#706 := [monotonicity #709]: #705
+#554 := [trans #706 #707]: #713
+#698 := [monotonicity #554]: #556
+#695 := [trans #698 #700]: #701
+#436 := (iff #415 true)
+#726 := (or true false)
+#450 := (iff #726 true)
+#451 := [rewrite]: #450
+#725 := (iff #415 #726)
+#724 := (iff #747 false)
+#722 := (not true)
+#446 := (iff #722 false)
+#720 := [rewrite]: #446
+#723 := (iff #747 #722)
+#452 := (iff #745 true)
+#727 := (iff #745 #726)
+#728 := (iff #431 false)
+#391 := [rewrite]: #728
+#737 := (iff #410 true)
+#740 := [rewrite]: #737
+#449 := [monotonicity #740 #391]: #727
+#346 := [trans #449 #451]: #452
+#445 := [monotonicity #346]: #723
+#721 := [trans #445 #720]: #724
+#379 := (iff #741 true)
+#735 := (not false)
+#738 := (iff #735 true)
+#378 := [rewrite]: #738
+#373 := (iff #741 #735)
+#734 := (iff #534 false)
+#394 := (or false false)
+#732 := (iff #394 false)
+#733 := [rewrite]: #732
+#730 := (iff #534 #394)
+#392 := (iff #404 false)
+#393 := [rewrite]: #392
+#731 := [monotonicity #391 #393]: #730
+#729 := [trans #731 #733]: #734
+#736 := [monotonicity #729]: #373
+#739 := [trans #736 #378]: #379
+#435 := [monotonicity #739 #721]: #725
+#437 := [trans #435 #451]: #436
+#591 := [monotonicity #437 #695 #589]: #590
+#687 := [trans #591 #593]: #594
+#744 := (iff #749 false)
+#387 := [rewrite]: #744
+#675 := [monotonicity #387 #687]: #688
+#668 := [trans #675 #669]: #666
+#407 := (iff #751 #743)
+#403 := [rewrite]: #407
+#742 := (iff #746 false)
+#402 := [rewrite]: #742
+#680 := [monotonicity #402 #403 #668]: #679
+#671 := [trans #680 #681]: #670
+#659 := [monotonicity #671]: #658
+#663 := [trans #659 #662]: #658
+#674 := [quant-inst]: #667
+#664 := [mp #674 #663]: #673
+[unit-resolution #664 #766 #195]: false
+unsat
+5a36ea40ec6f132383fe7e0f161b9c3e56510423 592 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#39 := 1::int
+decl f5 :: int
+#38 := f5
+#40 := (f3 f5 1::int)
+#704 := (>= #40 0::int)
+#752 := (= #40 0::int)
+#753 := (= f5 0::int)
+#591 := (not #753)
+#493 := [hypothesis]: #591
+#405 := (<= f5 0::int)
+#416 := (>= f5 0::int)
+#737 := (not #416)
+#451 := (not #405)
+#446 := (or #451 #737)
+#537 := (not #446)
+#69 := -1::int
+#427 := (* -1::int f5)
+#437 := (div #427 -1::int)
+#717 := (* -1::int #437)
+#715 := (+ #40 #717)
+#720 := (= #715 0::int)
+#428 := (div f5 1::int)
+#432 := (* -1::int #428)
+#411 := (+ #40 #432)
+#746 := (= #411 0::int)
+#711 := (ite #446 #746 #720)
+#483 := (or #753 #711)
+#712 := (ite #753 #752 #711)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#754 := (pattern #10)
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#257 := (* -1::int #76)
+#258 := (+ #10 #257)
+#259 := (= #258 0::int)
+#21 := (div #8 #9)
+#254 := (* -1::int #21)
+#255 := (+ #10 #254)
+#256 := (= #255 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#212 := (or #91 #95)
+#213 := (not #212)
+#102 := (>= #8 0::int)
+#204 := (or #95 #102)
+#205 := (not #204)
+#219 := (or #205 #213)
+#260 := (ite #219 #256 #259)
+#253 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#261 := (ite #14 #253 #260)
+#755 := (forall (vars (?v0 int) (?v1 int)) (:pat #754) #261)
+#264 := (forall (vars (?v0 int) (?v1 int)) #261)
+#758 := (iff #264 #755)
+#756 := (iff #261 #261)
+#757 := [refl]: #756
+#759 := [quant-intro #757]: #758
+#224 := (ite #219 #21 #76)
+#227 := (ite #14 0::int #224)
+#230 := (= #10 #227)
+#233 := (forall (vars (?v0 int) (?v1 int)) #230)
+#265 := (iff #233 #264)
+#262 := (iff #230 #261)
+#263 := [rewrite]: #262
+#266 := [quant-intro #263]: #265
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#234 := (iff #121 #233)
+#231 := (iff #118 #230)
+#228 := (= #115 #227)
+#225 := (= #112 #224)
+#222 := (iff #109 #219)
+#216 := (or #213 #205)
+#220 := (iff #216 #219)
+#221 := [rewrite]: #220
+#217 := (iff #109 #216)
+#214 := (iff #106 #205)
+#215 := [rewrite]: #214
+#202 := (iff #99 #213)
+#203 := [rewrite]: #202
+#218 := [monotonicity #203 #215]: #217
+#223 := [trans #218 #221]: #222
+#226 := [monotonicity #223]: #225
+#229 := [monotonicity #226]: #228
+#232 := [monotonicity #229]: #231
+#235 := [quant-intro #232]: #234
+#208 := (~ #121 #121)
+#206 := (~ #118 #118)
+#207 := [refl]: #206
+#209 := [nnf-pos #207]: #208
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#199 := [mp~ #126 #209]: #121
+#236 := [mp #199 #235]: #233
+#267 := [mp #236 #266]: #264
+#760 := [mp #267 #759]: #755
+#714 := (not #755)
+#555 := (or #714 #712)
+#426 := (* -1::int 1::int)
+#418 := (div #427 #426)
+#429 := (* -1::int #418)
+#430 := (+ #40 #429)
+#431 := (= #430 0::int)
+#748 := (<= 1::int 0::int)
+#535 := (or #405 #748)
+#742 := (not #535)
+#417 := (or #748 #416)
+#749 := (not #417)
+#750 := (or #749 #742)
+#751 := (ite #750 #746 #431)
+#747 := (= 1::int 0::int)
+#743 := (or #753 #747)
+#403 := (ite #743 #752 #751)
+#556 := (or #714 #403)
+#699 := (iff #556 #555)
+#701 := (iff #555 #555)
+#702 := [rewrite]: #701
+#713 := (iff #403 #712)
+#706 := (iff #751 #711)
+#709 := (iff #431 #720)
+#719 := (= #430 #715)
+#718 := (= #429 #717)
+#438 := (= #418 #437)
+#726 := (= #426 -1::int)
+#436 := [rewrite]: #726
+#439 := [monotonicity #436]: #438
+#433 := [monotonicity #439]: #718
+#716 := [monotonicity #433]: #719
+#710 := [monotonicity #716]: #709
+#725 := (iff #750 #446)
+#347 := (or #737 #451)
+#447 := (iff #347 #446)
+#721 := [rewrite]: #447
+#723 := (iff #750 #347)
+#452 := (iff #742 #451)
+#728 := (iff #535 #405)
+#380 := (or #405 false)
+#741 := (iff #380 #405)
+#727 := [rewrite]: #741
+#740 := (iff #535 #380)
+#395 := (iff #748 false)
+#731 := [rewrite]: #395
+#738 := [monotonicity #731]: #740
+#450 := [trans #738 #727]: #728
+#453 := [monotonicity #450]: #452
+#739 := (iff #749 #737)
+#736 := (iff #417 #416)
+#732 := (or false #416)
+#735 := (iff #732 #416)
+#730 := [rewrite]: #735
+#733 := (iff #417 #732)
+#734 := [monotonicity #731]: #733
+#374 := [trans #734 #730]: #736
+#379 := [monotonicity #374]: #739
+#724 := [monotonicity #379 #453]: #723
+#722 := [trans #724 #721]: #725
+#707 := [monotonicity #722 #710]: #706
+#393 := (iff #743 #753)
+#404 := (or #753 false)
+#729 := (iff #404 #753)
+#392 := [rewrite]: #729
+#745 := (iff #743 #404)
+#408 := (iff #747 false)
+#744 := [rewrite]: #408
+#388 := [monotonicity #744]: #745
+#394 := [trans #388 #392]: #393
+#708 := [monotonicity #394 #707]: #713
+#700 := [monotonicity #708]: #699
+#696 := [trans #700 #702]: #699
+#557 := [quant-inst]: #556
+#697 := [mp #557 #696]: #555
+#548 := [unit-resolution #697 #760]: #712
+#583 := (not #712)
+#594 := (or #583 #753 #711)
+#595 := [def-axiom]: #594
+#484 := [unit-resolution #595 #548]: #483
+#485 := [unit-resolution #484 #493]: #711
+#684 := (not #746)
+#692 := (>= #411 0::int)
+#422 := (not #692)
+decl f4 :: (-> int int int)
+#42 := (f4 f5 1::int)
+#600 := (>= #42 0::int)
+#682 := (= #42 0::int)
+#624 := (or #451 #737 #753)
+#481 := (or #624 #753)
+#599 := (not #624)
+#491 := [hypothesis]: #599
+#616 := (or #624 #405)
+#617 := [def-axiom]: #616
+#494 := [unit-resolution #617 #491]: #405
+#613 := (or #624 #416)
+#618 := [def-axiom]: #613
+#476 := [unit-resolution #618 #491]: #416
+#478 := (or #753 #451 #737)
+#479 := [th-lemma]: #478
+#480 := [unit-resolution #479 #476 #494 #493]: false
+#482 := [lemma #480]: #481
+#486 := [unit-resolution #482 #493]: #624
+#488 := (or #599 #682)
+#695 := (mod #427 -1::int)
+#641 := (+ #42 #695)
+#644 := (= #641 0::int)
+#627 := (ite #624 #682 #644)
+#29 := (f4 #8 #9)
+#761 := (pattern #29)
+#128 := (mod #70 #73)
+#273 := (+ #29 #128)
+#274 := (= #273 0::int)
+#30 := (mod #8 #9)
+#270 := (* -1::int #30)
+#271 := (+ #29 #270)
+#272 := (= #271 0::int)
+#275 := (ite #219 #272 #274)
+#269 := (= #29 0::int)
+#276 := (ite #12 #269 #275)
+#268 := (= #8 #29)
+#277 := (ite #13 #268 #276)
+#762 := (forall (vars (?v0 int) (?v1 int)) (:pat #761) #277)
+#280 := (forall (vars (?v0 int) (?v1 int)) #277)
+#765 := (iff #280 #762)
+#763 := (iff #277 #277)
+#764 := [refl]: #763
+#766 := [quant-intro #764]: #765
+#134 := (* -1::int #128)
+#237 := (ite #219 #30 #134)
+#240 := (ite #12 0::int #237)
+#243 := (ite #13 #8 #240)
+#246 := (= #29 #243)
+#249 := (forall (vars (?v0 int) (?v1 int)) #246)
+#281 := (iff #249 #280)
+#278 := (iff #246 #277)
+#279 := [rewrite]: #278
+#282 := [quant-intro #279]: #281
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#250 := (iff #166 #249)
+#247 := (iff #163 #246)
+#244 := (= #160 #243)
+#241 := (= #157 #240)
+#238 := (= #154 #237)
+#239 := [monotonicity #223]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [monotonicity #245]: #247
+#251 := [quant-intro #248]: #250
+#200 := (~ #166 #166)
+#197 := (~ #163 #163)
+#210 := [refl]: #197
+#201 := [nnf-pos #210]: #200
+#31 := (mod #22 #23)
+#32 := (- #31)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#211 := [mp~ #171 #201]: #166
+#252 := [mp #211 #251]: #249
+#283 := [mp #252 #282]: #280
+#767 := [mp #283 #766]: #762
+#603 := (not #762)
+#496 := (or #603 #627)
+#670 := (mod #427 #426)
+#667 := (+ #42 #670)
+#669 := (= #667 0::int)
+#693 := (mod f5 1::int)
+#679 := (* -1::int #693)
+#680 := (+ #42 #679)
+#681 := (= #680 0::int)
+#677 := (ite #750 #681 #669)
+#671 := (ite #753 #682 #677)
+#672 := (= f5 #42)
+#673 := (ite #747 #672 #671)
+#607 := (or #603 #673)
+#609 := (iff #607 #496)
+#610 := (iff #496 #496)
+#611 := [rewrite]: #610
+#601 := (iff #673 #627)
+#629 := (or #446 #753)
+#630 := (ite #629 #682 #644)
+#622 := (iff #630 #627)
+#625 := (iff #629 #624)
+#626 := [rewrite]: #625
+#628 := [monotonicity #626]: #622
+#620 := (iff #673 #630)
+#636 := (ite false #672 #630)
+#623 := (iff #636 #630)
+#619 := [rewrite]: #623
+#631 := (iff #673 #636)
+#634 := (iff #671 #630)
+#647 := (ite #446 #682 #644)
+#650 := (ite #753 #682 #647)
+#632 := (iff #650 #630)
+#633 := [rewrite]: #632
+#640 := (iff #671 #650)
+#648 := (iff #677 #647)
+#645 := (iff #669 #644)
+#642 := (= #667 #641)
+#638 := (= #670 #695)
+#639 := [monotonicity #436]: #638
+#643 := [monotonicity #639]: #642
+#646 := [monotonicity #643]: #645
+#654 := (iff #681 #682)
+#656 := (= #680 #42)
+#661 := (+ #42 0::int)
+#653 := (= #661 #42)
+#655 := [rewrite]: #653
+#666 := (= #680 #661)
+#664 := (= #679 0::int)
+#675 := (* -1::int 0::int)
+#662 := (= #675 0::int)
+#663 := [rewrite]: #662
+#659 := (= #679 #675)
+#674 := (= #693 0::int)
+#668 := [rewrite]: #674
+#660 := [monotonicity #668]: #659
+#665 := [trans #660 #663]: #664
+#652 := [monotonicity #665]: #666
+#657 := [trans #652 #655]: #656
+#658 := [monotonicity #657]: #654
+#649 := [monotonicity #722 #658 #646]: #648
+#651 := [monotonicity #649]: #640
+#635 := [trans #651 #633]: #634
+#637 := [monotonicity #744 #635]: #631
+#621 := [trans #637 #619]: #620
+#602 := [trans #621 #628]: #601
+#614 := [monotonicity #602]: #609
+#612 := [trans #614 #611]: #609
+#608 := [quant-inst]: #607
+#615 := [mp #608 #612]: #496
+#487 := [unit-resolution #615 #767]: #627
+#581 := (not #627)
+#540 := (or #581 #599 #682)
+#571 := [def-axiom]: #540
+#477 := [unit-resolution #571 #487]: #488
+#489 := [unit-resolution #477 #486]: #682
+#582 := (not #682)
+#396 := (or #582 #600)
+#397 := [th-lemma]: #396
+#398 := [unit-resolution #397 #489]: #600
+#421 := (not #600)
+#389 := (or #422 #421)
+#542 := (+ f5 #432)
+#541 := (= #542 0::int)
+#1 := true
+#60 := [true-axiom]: true
+#515 := (or false #541)
+#505 := [th-lemma]: #515
+#495 := [unit-resolution #505 #60]: #541
+#443 := (<= #542 0::int)
+#420 := (not #443)
+#185 := (* -1::int #42)
+#184 := (* -1::int #40)
+#186 := (+ #184 #185)
+#187 := (+ f5 #186)
+#341 := (<= #187 0::int)
+#444 := (not #341)
+#425 := (>= #187 0::int)
+#703 := (<= #40 0::int)
+#499 := (not #425)
+#507 := [hypothesis]: #499
+#461 := (or #753 #425)
+#694 := (<= #411 0::int)
+#504 := (not #694)
+#605 := (<= #42 0::int)
+#466 := (or #582 #605)
+#468 := [th-lemma]: #466
+#469 := [unit-resolution #468 #489]: #605
+#503 := (not #605)
+#490 := (or #503 #425 #504)
+#510 := [hypothesis]: #605
+#549 := (>= #542 0::int)
+#497 := (not #541)
+#498 := (or #497 #549)
+#501 := [th-lemma]: #498
+#502 := [unit-resolution #501 #495]: #549
+#506 := [hypothesis]: #694
+#500 := [th-lemma #507 #506 #502 #510]: false
+#492 := [lemma #500]: #490
+#470 := [unit-resolution #492 #469 #507]: #504
+#471 := (or #684 #694)
+#472 := [th-lemma]: #471
+#473 := [unit-resolution #472 #470]: #684
+#579 := (not #711)
+#538 := (or #579 #537 #746)
+#686 := [def-axiom]: #538
+#474 := [unit-resolution #686 #473 #485]: #537
+#698 := (or #446 #405)
+#705 := [def-axiom]: #698
+#467 := [unit-resolution #705 #474]: #405
+#534 := (or #446 #416)
+#536 := [def-axiom]: #534
+#475 := [unit-resolution #536 #474]: #416
+#460 := [unit-resolution #479 #475 #467 #493]: false
+#462 := [lemma #460]: #461
+#464 := [unit-resolution #462 #507]: #753
+#463 := (or #591 #752)
+#592 := (or #583 #591 #752)
+#593 := [def-axiom]: #592
+#465 := [unit-resolution #593 #548]: #463
+#454 := [unit-resolution #465 #464]: #752
+#688 := (not #752)
+#455 := (or #688 #703)
+#456 := [th-lemma]: #455
+#448 := [unit-resolution #456 #454]: #703
+#457 := (or #591 #416)
+#458 := [th-lemma]: #457
+#449 := [unit-resolution #458 #464]: #416
+#598 := (or #624 #591)
+#544 := [def-axiom]: #598
+#459 := [unit-resolution #544 #464]: #624
+#440 := [unit-resolution #477 #459]: #682
+#441 := [unit-resolution #468 #440]: #605
+#442 := [th-lemma #441 #507 #449 #448]: false
+#434 := [lemma #442]: #425
+#412 := (or #444 #499)
+#188 := (= #187 0::int)
+#191 := (not #188)
+#41 := (* #40 1::int)
+#43 := (+ #41 #42)
+#44 := (= f5 #43)
+#45 := (not #44)
+#194 := (iff #45 #191)
+#175 := (+ #40 #42)
+#178 := (= f5 #175)
+#181 := (not #178)
+#192 := (iff #181 #191)
+#189 := (iff #178 #188)
+#190 := [rewrite]: #189
+#193 := [monotonicity #190]: #192
+#182 := (iff #45 #181)
+#179 := (iff #44 #178)
+#176 := (= #43 #175)
+#173 := (= #41 #40)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#183 := [monotonicity #180]: #182
+#195 := [trans #183 #193]: #194
+#172 := [asserted]: #45
+#196 := [mp #172 #195]: #191
+#435 := (or #188 #444 #499)
+#445 := [th-lemma]: #435
+#414 := [unit-resolution #445 #196]: #412
+#415 := [unit-resolution #414 #434]: #444
+#406 := [hypothesis]: #600
+#419 := [hypothesis]: #692
+#423 := (or #420 #421 #341 #422)
+#413 := [th-lemma]: #423
+#424 := [unit-resolution #413 #419 #406 #415]: #420
+#407 := (or #497 #443)
+#409 := [th-lemma]: #407
+#410 := [unit-resolution #409 #424 #495]: false
+#391 := [lemma #410]: #389
+#399 := [unit-resolution #391 #398]: #422
+#400 := (or #684 #692)
+#401 := [th-lemma]: #400
+#390 := [unit-resolution #401 #399]: #684
+#402 := [unit-resolution #686 #390 #485]: #537
+#383 := [unit-resolution #705 #402]: #405
+#385 := [unit-resolution #536 #402]: #416
+#386 := [unit-resolution #479 #385 #383 #493]: false
+#384 := [lemma #386]: #753
+#387 := [unit-resolution #465 #384]: #752
+#375 := (or #688 #704)
+#377 := [th-lemma]: #375
+#378 := [unit-resolution #377 #387]: #704
+#381 := (or #591 #405)
+#376 := [th-lemma]: #381
+#382 := [unit-resolution #376 #384]: #405
+#357 := [unit-resolution #544 #384]: #624
+#361 := [unit-resolution #477 #357]: #682
+#362 := [unit-resolution #397 #361]: #600
+[th-lemma #362 #415 #382 #378]: false
+unsat
+faecfb2bed668dee6da551d02f1c23504bfe42c5 331 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#38 := 3::int
+#170 := -3::int
+#173 := (f4 -3::int 3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#39 := (- 3::int)
+#40 := (f4 #39 3::int)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#591 := (not #761)
+#592 := (or #591 #176)
+#339 := (* -1::int 3::int)
+#424 := (* -1::int -3::int)
+#425 := (mod #424 #339)
+#426 := (+ #173 #425)
+#417 := (= #426 0::int)
+#428 := (mod -3::int 3::int)
+#429 := (* -1::int #428)
+#357 := (+ #173 #429)
+#430 := (= #357 0::int)
+#427 := (<= 3::int 0::int)
+#431 := (<= -3::int 0::int)
+#410 := (or #431 #427)
+#745 := (not #410)
+#747 := (>= -3::int 0::int)
+#404 := (or #427 #747)
+#534 := (not #404)
+#741 := (or #534 #745)
+#415 := (ite #741 #430 #417)
+#416 := (= -3::int 0::int)
+#748 := (ite #416 #176 #415)
+#749 := (= -3::int #173)
+#750 := (= 3::int 0::int)
+#751 := (ite #750 #749 #748)
+#593 := (or #591 #751)
+#687 := (iff #593 #592)
+#688 := (iff #592 #592)
+#675 := [rewrite]: #688
+#582 := (iff #751 #176)
+#402 := (= #173 -3::int)
+#686 := (ite false #402 #176)
+#588 := (iff #686 #176)
+#589 := [rewrite]: #588
+#571 := (iff #751 #686)
+#682 := (iff #748 #176)
+#577 := (ite false #176 #176)
+#685 := (iff #577 #176)
+#587 := [rewrite]: #685
+#578 := (iff #748 #577)
+#694 := (iff #415 #176)
+#1 := true
+#689 := (ite true #176 #176)
+#693 := (iff #689 #176)
+#691 := [rewrite]: #693
+#690 := (iff #415 #689)
+#535 := (iff #417 #176)
+#704 := (= #426 #173)
+#719 := (+ #173 0::int)
+#710 := (= #719 #173)
+#705 := [rewrite]: #710
+#703 := (= #426 #719)
+#696 := (= #425 0::int)
+#698 := (mod 3::int -3::int)
+#701 := (= #698 0::int)
+#695 := [rewrite]: #701
+#699 := (= #425 #698)
+#555 := (= #339 -3::int)
+#556 := [rewrite]: #555
+#713 := (= #424 3::int)
+#554 := [rewrite]: #713
+#700 := [monotonicity #554 #556]: #699
+#702 := [trans #700 #695]: #696
+#697 := [monotonicity #702]: #703
+#533 := [trans #697 #705]: #704
+#536 := [monotonicity #533]: #535
+#712 := (iff #430 #176)
+#706 := (= #357 #173)
+#708 := (= #357 #719)
+#718 := (= #429 0::int)
+#438 := (* -1::int 0::int)
+#432 := (= #438 0::int)
+#714 := [rewrite]: #432
+#716 := (= #429 #438)
+#436 := (= #428 0::int)
+#437 := [rewrite]: #436
+#717 := [monotonicity #437]: #716
+#715 := [trans #717 #714]: #718
+#709 := [monotonicity #715]: #708
+#711 := [trans #709 #705]: #706
+#707 := [monotonicity #711]: #712
+#725 := (iff #741 true)
+#737 := (or true false)
+#727 := (iff #737 true)
+#449 := [rewrite]: #727
+#724 := (iff #741 #737)
+#446 := (iff #745 false)
+#452 := (not true)
+#723 := (iff #452 false)
+#445 := [rewrite]: #723
+#345 := (iff #745 #452)
+#450 := (iff #410 true)
+#740 := (iff #410 #737)
+#744 := (iff #427 false)
+#387 := [rewrite]: #744
+#379 := (iff #431 true)
+#739 := [rewrite]: #379
+#726 := [monotonicity #739 #387]: #740
+#451 := [trans #726 #449]: #450
+#722 := [monotonicity #451]: #345
+#720 := [trans #722 #445]: #446
+#738 := (iff #534 true)
+#734 := (not false)
+#373 := (iff #734 true)
+#736 := [rewrite]: #373
+#729 := (iff #534 #734)
+#732 := (iff #404 false)
+#392 := (or false false)
+#730 := (iff #392 false)
+#731 := [rewrite]: #730
+#393 := (iff #404 #392)
+#728 := (iff #747 false)
+#391 := [rewrite]: #728
+#394 := [monotonicity #387 #391]: #393
+#733 := [trans #394 #731]: #732
+#735 := [monotonicity #733]: #729
+#378 := [trans #735 #736]: #738
+#721 := [monotonicity #378 #720]: #724
+#435 := [trans #721 #449]: #725
+#692 := [monotonicity #435 #707 #536]: #690
+#576 := [trans #692 #691]: #694
+#743 := (iff #416 false)
+#403 := [rewrite]: #743
+#537 := [monotonicity #403 #576]: #578
+#683 := [trans #537 #587]: #682
+#742 := (iff #749 #402)
+#407 := [rewrite]: #742
+#746 := (iff #750 false)
+#752 := [rewrite]: #746
+#586 := [monotonicity #752 #407 #683]: #571
+#590 := [trans #586 #589]: #582
+#684 := [monotonicity #590]: #687
+#677 := [trans #684 #675]: #687
+#594 := [quant-inst]: #593
+#669 := [mp #594 #677]: #592
+[unit-resolution #669 #766 #194]: false
+unsat
+1cc348013db3bd37921bfa60ffc6651c1d4acce9 353 0
+#2 := false
+#42 := 1::int
+decl f4 :: (-> int int int)
+#40 := 3::int
+#172 := -5::int
+#175 := (f4 -5::int 3::int)
+#178 := (= #175 1::int)
+#191 := (not #178)
+#38 := 5::int
+#39 := (- 5::int)
+#41 := (f4 #39 3::int)
+#43 := (= #41 1::int)
+#44 := (not #43)
+#194 := (iff #44 #191)
+#181 := (= 1::int #175)
+#186 := (not #181)
+#192 := (iff #186 #191)
+#189 := (iff #181 #178)
+#190 := [rewrite]: #189
+#193 := [monotonicity #190]: #192
+#187 := (iff #44 #186)
+#184 := (iff #43 #181)
+#182 := (iff #178 #181)
+#183 := [rewrite]: #182
+#179 := (iff #43 #178)
+#176 := (= #41 #175)
+#173 := (= #39 -5::int)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#180 := [monotonicity #177]: #179
+#185 := [trans #180 #183]: #184
+#188 := [monotonicity #185]: #187
+#195 := [trans #188 #193]: #194
+#171 := [asserted]: #44
+#196 := [mp #171 #195]: #191
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#761 := (pattern #29)
+#11 := 0::int
+#68 := -1::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#273 := (+ #29 #127)
+#274 := (= #273 0::int)
+#30 := (mod #8 #9)
+#270 := (* -1::int #30)
+#271 := (+ #29 #270)
+#272 := (= #271 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#212 := (or #90 #94)
+#213 := (not #212)
+#101 := (>= #8 0::int)
+#204 := (or #94 #101)
+#205 := (not #204)
+#219 := (or #205 #213)
+#275 := (ite #219 #272 #274)
+#269 := (= #29 0::int)
+#12 := (= #8 0::int)
+#276 := (ite #12 #269 #275)
+#268 := (= #8 #29)
+#13 := (= #9 0::int)
+#277 := (ite #13 #268 #276)
+#762 := (forall (vars (?v0 int) (?v1 int)) (:pat #761) #277)
+#280 := (forall (vars (?v0 int) (?v1 int)) #277)
+#765 := (iff #280 #762)
+#763 := (iff #277 #277)
+#764 := [refl]: #763
+#766 := [quant-intro #764]: #765
+#133 := (* -1::int #127)
+#237 := (ite #219 #30 #133)
+#240 := (ite #12 0::int #237)
+#243 := (ite #13 #8 #240)
+#246 := (= #29 #243)
+#249 := (forall (vars (?v0 int) (?v1 int)) #246)
+#281 := (iff #249 #280)
+#278 := (iff #246 #277)
+#279 := [rewrite]: #278
+#282 := [quant-intro #279]: #281
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#250 := (iff #165 #249)
+#247 := (iff #162 #246)
+#244 := (= #159 #243)
+#241 := (= #156 #240)
+#238 := (= #153 #237)
+#222 := (iff #108 #219)
+#216 := (or #213 #205)
+#220 := (iff #216 #219)
+#221 := [rewrite]: #220
+#217 := (iff #108 #216)
+#214 := (iff #105 #205)
+#215 := [rewrite]: #214
+#202 := (iff #98 #213)
+#203 := [rewrite]: #202
+#218 := [monotonicity #203 #215]: #217
+#223 := [trans #218 #221]: #222
+#239 := [monotonicity #223]: #238
+#242 := [monotonicity #239]: #241
+#245 := [monotonicity #242]: #244
+#248 := [monotonicity #245]: #247
+#251 := [quant-intro #248]: #250
+#200 := (~ #165 #165)
+#197 := (~ #162 #162)
+#210 := [refl]: #197
+#201 := [nnf-pos #210]: #200
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#211 := [mp~ #170 #201]: #165
+#252 := [mp #211 #251]: #249
+#283 := [mp #252 #282]: #280
+#767 := [mp #283 #766]: #762
+#668 := (not #762)
+#675 := (or #668 #178)
+#341 := (* -1::int 3::int)
+#425 := (* -1::int -5::int)
+#426 := (mod #425 #341)
+#427 := (+ #175 #426)
+#418 := (= #427 0::int)
+#429 := (mod -5::int 3::int)
+#430 := (* -1::int #429)
+#431 := (+ #175 #430)
+#428 := (= #431 0::int)
+#432 := (<= 3::int 0::int)
+#411 := (<= -5::int 0::int)
+#746 := (or #411 #432)
+#748 := (not #746)
+#405 := (>= -5::int 0::int)
+#535 := (or #432 #405)
+#742 := (not #535)
+#416 := (or #742 #748)
+#417 := (ite #416 #428 #418)
+#749 := (= #175 0::int)
+#750 := (= -5::int 0::int)
+#751 := (ite #750 #749 #417)
+#752 := (= -5::int #175)
+#747 := (= 3::int 0::int)
+#753 := (ite #747 #752 #751)
+#659 := (or #668 #753)
+#662 := (iff #659 #675)
+#664 := (iff #675 #675)
+#665 := [rewrite]: #664
+#673 := (iff #753 #178)
+#744 := (= #175 -5::int)
+#681 := (ite false #744 #178)
+#671 := (iff #681 #178)
+#672 := [rewrite]: #671
+#677 := (iff #753 #681)
+#679 := (iff #751 #178)
+#676 := (ite false #749 #178)
+#667 := (iff #676 #178)
+#669 := [rewrite]: #667
+#678 := (iff #751 #676)
+#685 := (iff #417 #178)
+#572 := -2::int
+#587 := (= #175 -2::int)
+#1 := true
+#592 := (ite true #178 #587)
+#595 := (iff #592 #178)
+#688 := [rewrite]: #595
+#593 := (iff #417 #592)
+#583 := (iff #418 #587)
+#537 := 2::int
+#578 := (+ 2::int #175)
+#683 := (= #578 0::int)
+#589 := (iff #683 #587)
+#590 := [rewrite]: #589
+#684 := (iff #418 #683)
+#686 := (= #427 #578)
+#692 := (+ #175 2::int)
+#579 := (= #692 #578)
+#538 := [rewrite]: #579
+#695 := (= #427 #692)
+#693 := (= #426 2::int)
+#703 := -3::int
+#705 := (mod 5::int -3::int)
+#690 := (= #705 2::int)
+#691 := [rewrite]: #690
+#534 := (= #426 #705)
+#704 := (= #341 -3::int)
+#698 := [rewrite]: #704
+#696 := (= #425 5::int)
+#697 := [rewrite]: #696
+#536 := [monotonicity #697 #698]: #534
+#694 := [trans #536 #691]: #693
+#577 := [monotonicity #694]: #695
+#588 := [trans #577 #538]: #686
+#687 := [monotonicity #588]: #684
+#591 := [trans #687 #590]: #583
+#701 := (iff #428 #178)
+#707 := (+ -1::int #175)
+#555 := (= #707 0::int)
+#699 := (iff #555 #178)
+#700 := [rewrite]: #699
+#556 := (iff #428 #555)
+#708 := (= #431 #707)
+#710 := (+ #175 -1::int)
+#712 := (= #710 #707)
+#713 := [rewrite]: #712
+#711 := (= #431 #710)
+#720 := (= #430 -1::int)
+#718 := (* -1::int 1::int)
+#719 := (= #718 -1::int)
+#716 := [rewrite]: #719
+#433 := (= #430 #718)
+#439 := (= #429 1::int)
+#717 := [rewrite]: #439
+#715 := [monotonicity #717]: #433
+#709 := [trans #715 #716]: #720
+#706 := [monotonicity #709]: #711
+#714 := [trans #706 #713]: #708
+#557 := [monotonicity #714]: #556
+#702 := [trans #557 #700]: #701
+#437 := (iff #416 true)
+#727 := (or true false)
+#451 := (iff #727 true)
+#452 := [rewrite]: #451
+#726 := (iff #416 #727)
+#725 := (iff #748 false)
+#723 := (not true)
+#447 := (iff #723 false)
+#721 := [rewrite]: #447
+#724 := (iff #748 #723)
+#453 := (iff #746 true)
+#728 := (iff #746 #727)
+#729 := (iff #432 false)
+#392 := [rewrite]: #729
+#738 := (iff #411 true)
+#741 := [rewrite]: #738
+#450 := [monotonicity #741 #392]: #728
+#347 := [trans #450 #452]: #453
+#446 := [monotonicity #347]: #724
+#722 := [trans #446 #721]: #725
+#380 := (iff #742 true)
+#736 := (not false)
+#739 := (iff #736 true)
+#379 := [rewrite]: #739
+#374 := (iff #742 #736)
+#735 := (iff #535 false)
+#395 := (or false false)
+#733 := (iff #395 false)
+#734 := [rewrite]: #733
+#731 := (iff #535 #395)
+#393 := (iff #405 false)
+#394 := [rewrite]: #393
+#732 := [monotonicity #392 #394]: #731
+#730 := [trans #732 #734]: #735
+#737 := [monotonicity #730]: #374
+#740 := [trans #737 #379]: #380
+#436 := [monotonicity #740 #722]: #726
+#438 := [trans #436 #452]: #437
+#594 := [monotonicity #438 #702 #591]: #593
+#689 := [trans #594 #688]: #685
+#745 := (iff #750 false)
+#388 := [rewrite]: #745
+#670 := [monotonicity #388 #689]: #678
+#680 := [trans #670 #669]: #679
+#408 := (iff #752 #744)
+#404 := [rewrite]: #408
+#743 := (iff #747 false)
+#403 := [rewrite]: #743
+#682 := [monotonicity #403 #404 #680]: #677
+#674 := [trans #682 #672]: #673
+#663 := [monotonicity #674]: #662
+#661 := [trans #663 #665]: #662
+#660 := [quant-inst]: #659
+#666 := [mp #660 #661]: #675
+[unit-resolution #666 #767 #196]: false
+unsat
+0cfeb0d355451ec30e86083321e953491e3cc226 549 0
+#2 := false
+#11 := 0::int
+decl f3 :: (-> int int int)
+#39 := 3::int
+decl f5 :: int
+#38 := f5
+#40 := (f3 f5 3::int)
+#703 := (>= #40 0::int)
+#754 := (= #40 0::int)
+#750 := (= f5 0::int)
+#690 := (not #750)
+#562 := [hypothesis]: #690
+#745 := (>= f5 0::int)
+#751 := (<= f5 0::int)
+#453 := (not #751)
+#377 := (not #745)
+#456 := (or #377 #453)
+#706 := (not #456)
+#185 := -3::int
+#69 := -1::int
+#430 := (* -1::int f5)
+#450 := (div #430 -3::int)
+#725 := (* -1::int #450)
+#440 := (+ #40 #725)
+#720 := (= #440 0::int)
+#434 := (div f5 3::int)
+#431 := (* -1::int #434)
+#435 := (+ #40 #431)
+#414 := (= #435 0::int)
+#718 := (ite #456 #414 #720)
+#564 := (or #750 #718)
+#723 := (ite #750 #754 #718)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#757 := (pattern #10)
+#73 := (* -1::int #9)
+#70 := (* -1::int #8)
+#76 := (div #70 #73)
+#259 := (* -1::int #76)
+#260 := (+ #10 #259)
+#261 := (= #260 0::int)
+#21 := (div #8 #9)
+#256 := (* -1::int #21)
+#257 := (+ #10 #256)
+#258 := (= #257 0::int)
+#95 := (<= #9 0::int)
+#91 := (<= #8 0::int)
+#214 := (or #91 #95)
+#215 := (not #214)
+#102 := (>= #8 0::int)
+#206 := (or #95 #102)
+#207 := (not #206)
+#221 := (or #207 #215)
+#262 := (ite #221 #258 #261)
+#255 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#263 := (ite #14 #255 #262)
+#758 := (forall (vars (?v0 int) (?v1 int)) (:pat #757) #263)
+#266 := (forall (vars (?v0 int) (?v1 int)) #263)
+#761 := (iff #266 #758)
+#759 := (iff #263 #263)
+#760 := [refl]: #759
+#762 := [quant-intro #760]: #761
+#226 := (ite #221 #21 #76)
+#229 := (ite #14 0::int #226)
+#232 := (= #10 #229)
+#235 := (forall (vars (?v0 int) (?v1 int)) #232)
+#267 := (iff #235 #266)
+#264 := (iff #232 #263)
+#265 := [rewrite]: #264
+#268 := [quant-intro #265]: #267
+#103 := (not #102)
+#96 := (not #95)
+#106 := (and #96 #103)
+#92 := (not #91)
+#99 := (and #92 #96)
+#109 := (or #99 #106)
+#112 := (ite #109 #21 #76)
+#115 := (ite #14 0::int #112)
+#118 := (= #10 #115)
+#121 := (forall (vars (?v0 int) (?v1 int)) #118)
+#236 := (iff #121 #235)
+#233 := (iff #118 #232)
+#230 := (= #115 #229)
+#227 := (= #112 #226)
+#224 := (iff #109 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #109 #218)
+#216 := (iff #106 #207)
+#217 := [rewrite]: #216
+#204 := (iff #99 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#228 := [monotonicity #225]: #227
+#231 := [monotonicity #228]: #230
+#234 := [monotonicity #231]: #233
+#237 := [quant-intro #234]: #236
+#210 := (~ #121 #121)
+#208 := (~ #118 #118)
+#209 := [refl]: #208
+#211 := [nnf-pos #209]: #210
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#124 := (iff #28 #121)
+#63 := (and #16 #18)
+#66 := (or #17 #63)
+#79 := (ite #66 #21 #76)
+#82 := (ite #14 0::int #79)
+#85 := (= #10 #82)
+#88 := (forall (vars (?v0 int) (?v1 int)) #85)
+#122 := (iff #88 #121)
+#119 := (iff #85 #118)
+#116 := (= #82 #115)
+#113 := (= #79 #112)
+#110 := (iff #66 #109)
+#107 := (iff #63 #106)
+#104 := (iff #18 #103)
+#105 := [rewrite]: #104
+#97 := (iff #16 #96)
+#98 := [rewrite]: #97
+#108 := [monotonicity #98 #105]: #107
+#100 := (iff #17 #99)
+#93 := (iff #15 #92)
+#94 := [rewrite]: #93
+#101 := [monotonicity #94 #98]: #100
+#111 := [monotonicity #101 #108]: #110
+#114 := [monotonicity #111]: #113
+#117 := [monotonicity #114]: #116
+#120 := [monotonicity #117]: #119
+#123 := [quant-intro #120]: #122
+#89 := (iff #28 #88)
+#86 := (iff #27 #85)
+#83 := (= #26 #82)
+#80 := (= #25 #79)
+#77 := (= #24 #76)
+#74 := (= #23 #73)
+#75 := [rewrite]: #74
+#71 := (= #22 #70)
+#72 := [rewrite]: #71
+#78 := [monotonicity #72 #75]: #77
+#67 := (iff #20 #66)
+#64 := (iff #19 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#81 := [monotonicity #68 #78]: #80
+#84 := [monotonicity #81]: #83
+#87 := [monotonicity #84]: #86
+#90 := [quant-intro #87]: #89
+#125 := [trans #90 #123]: #124
+#62 := [asserted]: #28
+#126 := [mp #62 #125]: #121
+#201 := [mp~ #126 #211]: #121
+#238 := [mp #201 #237]: #235
+#269 := [mp #238 #268]: #266
+#763 := [mp #269 #762]: #758
+#714 := (not #758)
+#709 := (or #714 #723)
+#429 := (* -1::int 3::int)
+#421 := (div #430 #429)
+#432 := (* -1::int #421)
+#433 := (+ #40 #432)
+#361 := (= #433 0::int)
+#749 := (<= 3::int 0::int)
+#408 := (or #751 #749)
+#538 := (not #408)
+#419 := (or #749 #745)
+#420 := (not #419)
+#752 := (or #420 #538)
+#753 := (ite #752 #414 #361)
+#755 := (= 3::int 0::int)
+#756 := (or #750 #755)
+#746 := (ite #756 #754 #753)
+#710 := (or #714 #746)
+#716 := (iff #710 #709)
+#717 := (iff #709 #709)
+#558 := [rewrite]: #717
+#712 := (iff #746 #723)
+#722 := (iff #753 #718)
+#721 := (iff #361 #720)
+#441 := (= #433 #440)
+#729 := (= #432 #725)
+#724 := (= #421 #450)
+#727 := (= #429 -3::int)
+#449 := [rewrite]: #727
+#728 := [monotonicity #449]: #724
+#439 := [monotonicity #728]: #729
+#442 := [monotonicity #439]: #441
+#436 := [monotonicity #442]: #721
+#349 := (iff #752 #456)
+#454 := (iff #538 #453)
+#730 := (iff #408 #751)
+#382 := (or #751 false)
+#741 := (iff #382 #751)
+#744 := [rewrite]: #741
+#383 := (iff #408 #382)
+#397 := (iff #749 false)
+#398 := [rewrite]: #397
+#743 := [monotonicity #398]: #383
+#731 := [trans #743 #744]: #730
+#455 := [monotonicity #731]: #454
+#740 := (iff #420 #377)
+#733 := (iff #419 #745)
+#734 := (or false #745)
+#737 := (iff #734 #745)
+#738 := [rewrite]: #737
+#735 := (iff #419 #734)
+#736 := [monotonicity #398]: #735
+#739 := [trans #736 #738]: #733
+#742 := [monotonicity #739]: #740
+#726 := [monotonicity #742 #455]: #349
+#719 := [monotonicity #726 #436]: #722
+#395 := (iff #756 #750)
+#747 := (or #750 false)
+#391 := (iff #747 #750)
+#732 := [rewrite]: #391
+#407 := (iff #756 #747)
+#406 := (iff #755 false)
+#411 := [rewrite]: #406
+#748 := [monotonicity #411]: #407
+#396 := [trans #748 #732]: #395
+#713 := [monotonicity #396 #719]: #712
+#711 := [monotonicity #713]: #716
+#559 := [trans #711 #558]: #716
+#715 := [quant-inst]: #710
+#560 := [mp #715 #559]: #709
+#563 := [unit-resolution #560 #763]: #723
+#687 := (not #723)
+#592 := (or #687 #750 #718)
+#593 := [def-axiom]: #592
+#565 := [unit-resolution #593 #563]: #564
+#566 := [unit-resolution #565 #562]: #718
+#540 := (mod #430 -3::int)
+decl f4 :: (-> int int int)
+#42 := (f4 f5 3::int)
+#685 := (+ #42 #540)
+#676 := (= #685 0::int)
+#708 := (mod f5 3::int)
+#692 := (* -1::int #708)
+#679 := (+ #42 #692)
+#681 := (= #679 0::int)
+#678 := (ite #456 #681 #676)
+#525 := (or #750 #678)
+#670 := (= #42 0::int)
+#665 := (ite #750 #670 #678)
+#29 := (f4 #8 #9)
+#764 := (pattern #29)
+#128 := (mod #70 #73)
+#275 := (+ #29 #128)
+#276 := (= #275 0::int)
+#30 := (mod #8 #9)
+#272 := (* -1::int #30)
+#273 := (+ #29 #272)
+#274 := (= #273 0::int)
+#277 := (ite #221 #274 #276)
+#271 := (= #29 0::int)
+#278 := (ite #12 #271 #277)
+#270 := (= #8 #29)
+#279 := (ite #13 #270 #278)
+#765 := (forall (vars (?v0 int) (?v1 int)) (:pat #764) #279)
+#282 := (forall (vars (?v0 int) (?v1 int)) #279)
+#768 := (iff #282 #765)
+#766 := (iff #279 #279)
+#767 := [refl]: #766
+#769 := [quant-intro #767]: #768
+#134 := (* -1::int #128)
+#239 := (ite #221 #30 #134)
+#242 := (ite #12 0::int #239)
+#245 := (ite #13 #8 #242)
+#248 := (= #29 #245)
+#251 := (forall (vars (?v0 int) (?v1 int)) #248)
+#283 := (iff #251 #282)
+#280 := (iff #248 #279)
+#281 := [rewrite]: #280
+#284 := [quant-intro #281]: #283
+#154 := (ite #109 #30 #134)
+#157 := (ite #12 0::int #154)
+#160 := (ite #13 #8 #157)
+#163 := (= #29 #160)
+#166 := (forall (vars (?v0 int) (?v1 int)) #163)
+#252 := (iff #166 #251)
+#249 := (iff #163 #248)
+#246 := (= #160 #245)
+#243 := (= #157 #242)
+#240 := (= #154 #239)
+#241 := [monotonicity #225]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [quant-intro #250]: #252
+#202 := (~ #166 #166)
+#199 := (~ #163 #163)
+#212 := [refl]: #199
+#203 := [nnf-pos #212]: #202
+#31 := (mod #22 #23)
+#32 := (- #31)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#169 := (iff #37 #166)
+#139 := (ite #66 #30 #134)
+#142 := (ite #12 0::int #139)
+#145 := (ite #13 #8 #142)
+#148 := (= #29 #145)
+#151 := (forall (vars (?v0 int) (?v1 int)) #148)
+#167 := (iff #151 #166)
+#164 := (iff #148 #163)
+#161 := (= #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#156 := [monotonicity #111]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [monotonicity #162]: #164
+#168 := [quant-intro #165]: #167
+#152 := (iff #37 #151)
+#149 := (iff #36 #148)
+#146 := (= #35 #145)
+#143 := (= #34 #142)
+#140 := (= #33 #139)
+#137 := (= #32 #134)
+#131 := (- #128)
+#135 := (= #131 #134)
+#136 := [rewrite]: #135
+#132 := (= #32 #131)
+#129 := (= #31 #128)
+#130 := [monotonicity #72 #75]: #129
+#133 := [monotonicity #130]: #132
+#138 := [trans #133 #136]: #137
+#141 := [monotonicity #68 #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [monotonicity #147]: #149
+#153 := [quant-intro #150]: #152
+#170 := [trans #153 #168]: #169
+#127 := [asserted]: #37
+#171 := [mp #127 #170]: #166
+#213 := [mp~ #171 #203]: #166
+#254 := [mp #213 #253]: #251
+#285 := [mp #254 #284]: #282
+#770 := [mp #285 #769]: #765
+#660 := (not #765)
+#657 := (or #660 #665)
+#598 := (mod #430 #429)
+#691 := (+ #42 #598)
+#688 := (= #691 0::int)
+#673 := (ite #752 #681 #688)
+#672 := (ite #750 #670 #673)
+#682 := (= f5 #42)
+#683 := (ite #755 #682 #672)
+#661 := (or #660 #683)
+#642 := (iff #661 #657)
+#645 := (iff #657 #657)
+#646 := [rewrite]: #645
+#658 := (iff #683 #665)
+#668 := (ite false #682 #665)
+#655 := (iff #668 #665)
+#656 := [rewrite]: #655
+#664 := (iff #683 #668)
+#666 := (iff #672 #665)
+#662 := (iff #673 #678)
+#677 := (iff #688 #676)
+#674 := (= #691 #685)
+#684 := (= #598 #540)
+#680 := [monotonicity #449]: #684
+#675 := [monotonicity #680]: #674
+#671 := [monotonicity #675]: #677
+#663 := [monotonicity #726 #671]: #662
+#667 := [monotonicity #663]: #666
+#669 := [monotonicity #411 #667]: #664
+#659 := [trans #669 #656]: #658
+#644 := [monotonicity #659]: #642
+#647 := [trans #644 #646]: #642
+#641 := [quant-inst]: #661
+#648 := [mp #641 #647]: #657
+#621 := [unit-resolution #648 #770]: #665
+#622 := (not #665)
+#627 := (or #622 #750 #678)
+#628 := [def-axiom]: #627
+#526 := [unit-resolution #628 #621]: #525
+#527 := [unit-resolution #526 #562]: #678
+#696 := (not #718)
+#654 := (not #678)
+#491 := (or #706 #654 #696)
+#652 := (>= #679 0::int)
+#567 := [hypothesis]: #678
+#568 := [hypothesis]: #456
+#632 := (or #654 #706 #681)
+#633 := [def-axiom]: #632
+#569 := [unit-resolution #633 #568 #567]: #681
+#637 := (not #681)
+#493 := (or #637 #652)
+#495 := [th-lemma]: #493
+#496 := [unit-resolution #495 #569]: #652
+#539 := (>= #435 0::int)
+#549 := [hypothesis]: #718
+#697 := (or #696 #706 #414)
+#695 := [def-axiom]: #697
+#550 := [unit-resolution #695 #568 #549]: #414
+#581 := (not #414)
+#494 := (or #581 #539)
+#497 := [th-lemma]: #494
+#479 := [unit-resolution #497 #550]: #539
+#187 := (* -1::int #42)
+#186 := (* -3::int #40)
+#188 := (+ #186 #187)
+#189 := (+ f5 #188)
+#343 := (<= #189 0::int)
+#481 := (not #343)
+#428 := (>= #189 0::int)
+#557 := (not #428)
+#573 := [hypothesis]: #557
+#533 := (or #750 #428)
+#554 := (or #706 #428 #654 #696)
+#651 := (<= #679 0::int)
+#570 := (or #637 #651)
+#571 := [th-lemma]: #570
+#572 := [unit-resolution #571 #569]: #651
+#615 := (* -3::int #434)
+#618 := (+ #615 #692)
+#619 := (+ f5 #618)
+#601 := (>= #619 0::int)
+#614 := (= #619 0::int)
+#1 := true
+#60 := [true-axiom]: true
+#534 := (or false #614)
+#535 := [th-lemma]: #534
+#542 := [unit-resolution #535 #60]: #614
+#544 := (not #614)
+#545 := (or #544 #601)
+#546 := [th-lemma]: #545
+#548 := [unit-resolution #546 #542]: #601
+#537 := (<= #435 0::int)
+#551 := (or #581 #537)
+#552 := [th-lemma]: #551
+#553 := [unit-resolution #552 #550]: #537
+#536 := [th-lemma #553 #548 #573 #572]: false
+#524 := [lemma #536]: #554
+#529 := [unit-resolution #524 #527 #573 #566]: #706
+#704 := (or #456 #745)
+#705 := [def-axiom]: #704
+#530 := [unit-resolution #705 #529]: #745
+#699 := (or #456 #751)
+#700 := [def-axiom]: #699
+#531 := [unit-resolution #700 #529]: #751
+#374 := (or #750 #453 #377)
+#532 := [th-lemma]: #374
+#528 := [unit-resolution #532 #531 #530 #562]: false
+#512 := [lemma #528]: #533
+#515 := [unit-resolution #512 #573]: #750
+#519 := (or #690 #745)
+#521 := [th-lemma]: #519
+#522 := [unit-resolution #521 #515]: #745
+#649 := (<= #42 0::int)
+#520 := (or #690 #670)
+#623 := (or #622 #690 #670)
+#624 := [def-axiom]: #623
+#523 := [unit-resolution #624 #621]: #520
+#511 := [unit-resolution #523 #515]: #670
+#629 := (not #670)
+#514 := (or #629 #649)
+#516 := [th-lemma]: #514
+#517 := [unit-resolution #516 #511]: #649
+#702 := (<= #40 0::int)
+#513 := (or #690 #754)
+#575 := (or #687 #690 #754)
+#590 := [def-axiom]: #575
+#518 := [unit-resolution #590 #563]: #513
+#508 := [unit-resolution #518 #515]: #754
+#586 := (not #754)
+#498 := (or #586 #702)
+#500 := [th-lemma]: #498
+#501 := [unit-resolution #500 #508]: #702
+#504 := [th-lemma #501 #517 #573 #522]: false
+#505 := [lemma #504]: #428
+#484 := (or #481 #557)
+#190 := (= #189 0::int)
+#193 := (not #190)
+#41 := (* #40 3::int)
+#43 := (+ #41 #42)
+#44 := (= f5 #43)
+#45 := (not #44)
+#196 := (iff #45 #193)
+#173 := (* 3::int #40)
+#176 := (+ #173 #42)
+#179 := (= f5 #176)
+#182 := (not #179)
+#194 := (iff #182 #193)
+#191 := (iff #179 #190)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#183 := (iff #45 #182)
+#180 := (iff #44 #179)
+#177 := (= #43 #176)
+#174 := (= #41 #173)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#181 := [monotonicity #178]: #180
+#184 := [monotonicity #181]: #183
+#197 := [trans #184 #195]: #196
+#172 := [asserted]: #45
+#198 := [mp #172 #197]: #193
+#482 := (or #190 #481 #557)
+#483 := [th-lemma]: #482
+#485 := [unit-resolution #483 #198]: #484
+#486 := [unit-resolution #485 #505]: #481
+#509 := (<= #619 0::int)
+#487 := (or #544 #509)
+#488 := [th-lemma]: #487
+#489 := [unit-resolution #488 #542]: #509
+#490 := [th-lemma #489 #486 #479 #496]: false
+#480 := [lemma #490]: #491
+#502 := [unit-resolution #480 #527 #566]: #706
+#510 := [unit-resolution #705 #502]: #745
+#503 := [unit-resolution #700 #502]: #751
+#506 := [unit-resolution #532 #503 #510 #562]: false
+#507 := [lemma #506]: #750
+#492 := [unit-resolution #518 #507]: #754
+#469 := (or #586 #703)
+#471 := [th-lemma]: #469
+#472 := [unit-resolution #471 #492]: #703
+#650 := (>= #42 0::int)
+#473 := [unit-resolution #523 #507]: #670
+#474 := (or #629 #650)
+#475 := [th-lemma]: #474
+#476 := [unit-resolution #475 #473]: #650
+#477 := (or #690 #751)
+#470 := [th-lemma]: #477
+#478 := [unit-resolution #470 #507]: #751
+[th-lemma #478 #476 #486 #472]: false
+unsat
+2a90f79ab6d055bafcbc76d83737ad593ffdc667 350 0
+#2 := false
+#68 := -1::int
+decl f4 :: (-> int int int)
+#174 := -3::int
+#177 := (f4 -1::int -3::int)
+#180 := (= #177 -1::int)
+#193 := (not #180)
+#38 := 1::int
+#39 := (- 1::int)
+#40 := 3::int
+#41 := (- 3::int)
+#42 := (f4 #39 #41)
+#43 := (= #42 #39)
+#44 := (not #43)
+#196 := (iff #44 #193)
+#183 := (= -1::int #177)
+#188 := (not #183)
+#194 := (iff #188 #193)
+#191 := (iff #183 #180)
+#192 := [rewrite]: #191
+#195 := [monotonicity #192]: #194
+#189 := (iff #44 #188)
+#186 := (iff #43 #183)
+#184 := (iff #180 #183)
+#185 := [rewrite]: #184
+#181 := (iff #43 #180)
+#172 := (= #39 -1::int)
+#173 := [rewrite]: #172
+#178 := (= #42 #177)
+#175 := (= #41 -3::int)
+#176 := [rewrite]: #175
+#179 := [monotonicity #173 #176]: #178
+#182 := [monotonicity #179 #173]: #181
+#187 := [trans #182 #185]: #186
+#190 := [monotonicity #187]: #189
+#197 := [trans #190 #195]: #196
+#171 := [asserted]: #44
+#198 := [mp #171 #197]: #193
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#763 := (pattern #29)
+#11 := 0::int
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#275 := (+ #29 #127)
+#276 := (= #275 0::int)
+#30 := (mod #8 #9)
+#272 := (* -1::int #30)
+#273 := (+ #29 #272)
+#274 := (= #273 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#214 := (or #90 #94)
+#215 := (not #214)
+#101 := (>= #8 0::int)
+#206 := (or #94 #101)
+#207 := (not #206)
+#221 := (or #207 #215)
+#277 := (ite #221 #274 #276)
+#271 := (= #29 0::int)
+#12 := (= #8 0::int)
+#278 := (ite #12 #271 #277)
+#270 := (= #8 #29)
+#13 := (= #9 0::int)
+#279 := (ite #13 #270 #278)
+#764 := (forall (vars (?v0 int) (?v1 int)) (:pat #763) #279)
+#282 := (forall (vars (?v0 int) (?v1 int)) #279)
+#767 := (iff #282 #764)
+#765 := (iff #279 #279)
+#766 := [refl]: #765
+#768 := [quant-intro #766]: #767
+#133 := (* -1::int #127)
+#239 := (ite #221 #30 #133)
+#242 := (ite #12 0::int #239)
+#245 := (ite #13 #8 #242)
+#248 := (= #29 #245)
+#251 := (forall (vars (?v0 int) (?v1 int)) #248)
+#283 := (iff #251 #282)
+#280 := (iff #248 #279)
+#281 := [rewrite]: #280
+#284 := [quant-intro #281]: #283
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#252 := (iff #165 #251)
+#249 := (iff #162 #248)
+#246 := (= #159 #245)
+#243 := (= #156 #242)
+#240 := (= #153 #239)
+#224 := (iff #108 #221)
+#218 := (or #215 #207)
+#222 := (iff #218 #221)
+#223 := [rewrite]: #222
+#219 := (iff #108 #218)
+#216 := (iff #105 #207)
+#217 := [rewrite]: #216
+#204 := (iff #98 #215)
+#205 := [rewrite]: #204
+#220 := [monotonicity #205 #217]: #219
+#225 := [trans #220 #223]: #224
+#241 := [monotonicity #225]: #240
+#244 := [monotonicity #241]: #243
+#247 := [monotonicity #244]: #246
+#250 := [monotonicity #247]: #249
+#253 := [quant-intro #250]: #252
+#202 := (~ #165 #165)
+#199 := (~ #162 #162)
+#212 := [refl]: #199
+#203 := [nnf-pos #212]: #202
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#213 := [mp~ #170 #203]: #165
+#254 := [mp #213 #253]: #251
+#285 := [mp #254 #284]: #282
+#769 := [mp #285 #768]: #764
+#684 := (not #764)
+#673 := (or #684 #180)
+#343 := (* -1::int -3::int)
+#427 := (* -1::int -1::int)
+#428 := (mod #427 #343)
+#429 := (+ #177 #428)
+#420 := (= #429 0::int)
+#431 := (mod -1::int -3::int)
+#432 := (* -1::int #431)
+#433 := (+ #177 #432)
+#430 := (= #433 0::int)
+#434 := (<= -3::int 0::int)
+#413 := (<= -1::int 0::int)
+#748 := (or #413 #434)
+#750 := (not #748)
+#407 := (>= -1::int 0::int)
+#537 := (or #434 #407)
+#744 := (not #537)
+#418 := (or #744 #750)
+#419 := (ite #418 #430 #420)
+#751 := (= #177 0::int)
+#752 := (= -1::int 0::int)
+#753 := (ite #752 #751 #419)
+#754 := (= -3::int 0::int)
+#749 := (ite #754 #183 #753)
+#674 := (or #684 #749)
+#676 := (iff #674 #673)
+#677 := (iff #673 #673)
+#661 := [rewrite]: #677
+#683 := (iff #749 #180)
+#672 := (ite false #180 #180)
+#681 := (iff #672 #180)
+#682 := [rewrite]: #681
+#669 := (iff #749 #672)
+#678 := (iff #753 #180)
+#596 := (ite false #751 #180)
+#687 := (iff #596 #180)
+#691 := [rewrite]: #687
+#597 := (iff #753 #596)
+#594 := (iff #419 #180)
+#728 := 2::int
+#558 := (= #177 2::int)
+#589 := (ite false #558 #180)
+#585 := (iff #589 #180)
+#593 := [rewrite]: #585
+#591 := (iff #419 #589)
+#689 := (iff #420 #180)
+#694 := (+ 1::int #177)
+#540 := (= #694 0::int)
+#685 := (iff #540 #180)
+#686 := [rewrite]: #685
+#688 := (iff #420 #540)
+#580 := (= #429 #694)
+#693 := (+ #177 1::int)
+#697 := (= #693 #694)
+#579 := [rewrite]: #697
+#695 := (= #429 #693)
+#539 := (= #428 1::int)
+#706 := (mod 1::int 3::int)
+#536 := (= #706 1::int)
+#538 := [rewrite]: #536
+#700 := (= #428 #706)
+#699 := (= #343 3::int)
+#705 := [rewrite]: #699
+#704 := (= #427 1::int)
+#698 := [rewrite]: #704
+#707 := [monotonicity #698 #705]: #700
+#692 := [trans #707 #538]: #539
+#696 := [monotonicity #692]: #695
+#581 := [trans #696 #579]: #580
+#590 := [monotonicity #581]: #688
+#574 := [trans #590 #686]: #689
+#702 := (iff #430 #558)
+#720 := -2::int
+#713 := (+ -2::int #177)
+#710 := (= #713 0::int)
+#559 := (iff #710 #558)
+#701 := [rewrite]: #559
+#716 := (iff #430 #710)
+#714 := (= #433 #713)
+#722 := (+ #177 -2::int)
+#708 := (= #722 #713)
+#709 := [rewrite]: #708
+#711 := (= #433 #722)
+#721 := (= #432 -2::int)
+#440 := (* -1::int 2::int)
+#435 := (= #440 -2::int)
+#717 := [rewrite]: #435
+#441 := (= #432 #440)
+#438 := (= #431 2::int)
+#439 := [rewrite]: #438
+#719 := [monotonicity #439]: #441
+#718 := [trans #719 #717]: #721
+#712 := [monotonicity #718]: #711
+#715 := [trans #712 #709]: #714
+#557 := [monotonicity #715]: #716
+#703 := [trans #557 #701]: #702
+#727 := (iff #418 false)
+#725 := (or false false)
+#449 := (iff #725 false)
+#723 := [rewrite]: #449
+#726 := (iff #418 #725)
+#455 := (iff #750 false)
+#1 := true
+#735 := (not true)
+#732 := (iff #735 false)
+#738 := [rewrite]: #732
+#453 := (iff #750 #735)
+#730 := (iff #748 true)
+#382 := (or true true)
+#743 := (iff #382 true)
+#729 := [rewrite]: #743
+#742 := (iff #748 #382)
+#746 := (iff #434 true)
+#406 := [rewrite]: #746
+#741 := (iff #413 true)
+#381 := [rewrite]: #741
+#740 := [monotonicity #381 #406]: #742
+#452 := [trans #740 #729]: #730
+#454 := [monotonicity #452]: #453
+#349 := [trans #454 #738]: #455
+#376 := (iff #744 false)
+#736 := (iff #744 #735)
+#733 := (iff #537 true)
+#731 := (or true false)
+#396 := (iff #731 true)
+#397 := [rewrite]: #396
+#394 := (iff #537 #731)
+#747 := (iff #407 false)
+#390 := [rewrite]: #747
+#395 := [monotonicity #406 #390]: #394
+#734 := [trans #395 #397]: #733
+#737 := [monotonicity #734]: #736
+#739 := [trans #737 #738]: #376
+#448 := [monotonicity #739 #349]: #726
+#724 := [trans #448 #723]: #727
+#592 := [monotonicity #724 #703 #574]: #591
+#595 := [trans #592 #593]: #594
+#405 := (iff #752 false)
+#410 := [rewrite]: #405
+#690 := [monotonicity #410 #595]: #597
+#680 := [trans #690 #691]: #678
+#755 := (iff #754 false)
+#745 := [rewrite]: #755
+#671 := [monotonicity #745 #192 #680]: #669
+#679 := [trans #671 #682]: #683
+#670 := [monotonicity #679]: #676
+#662 := [trans #670 #661]: #676
+#675 := [quant-inst]: #674
+#664 := [mp #675 #662]: #673
+[unit-resolution #664 #769 #198]: false
+unsat
+15bd1be394385145d20cb6ec18ac38668f075cbe 75 0
 #2 := false
 #8 := 0::int
 decl f3 :: int
@@ -17409,7 +42600,327 @@
 #96 := [unit-resolution #95 #92]: #90
 [th-lemma #89 #70 #96]: false
 unsat
-85ed4b98db23623099a1ab59de709435336b46b9 132 0
+7f8f90a6f1c8936c3bb2040faca497f7f7f61ec8 319 0
+#2 := false
+#11 := 0::int
+decl f4 :: (-> int int int)
+#170 := -3::int
+#173 := (f4 -3::int -3::int)
+#176 := (= #173 0::int)
+#189 := (not #176)
+#38 := 3::int
+#39 := (- 3::int)
+#40 := (f4 #39 #39)
+#41 := (= #40 0::int)
+#42 := (not #41)
+#192 := (iff #42 #189)
+#179 := (= 0::int #173)
+#184 := (not #179)
+#190 := (iff #184 #189)
+#187 := (iff #179 #176)
+#188 := [rewrite]: #187
+#191 := [monotonicity #188]: #190
+#185 := (iff #42 #184)
+#182 := (iff #41 #179)
+#180 := (iff #176 #179)
+#181 := [rewrite]: #180
+#177 := (iff #41 #176)
+#174 := (= #40 #173)
+#171 := (= #39 -3::int)
+#172 := [rewrite]: #171
+#175 := [monotonicity #172 #172]: #174
+#178 := [monotonicity #175]: #177
+#183 := [trans #178 #181]: #182
+#186 := [monotonicity #183]: #185
+#193 := [trans #186 #191]: #192
+#169 := [asserted]: #42
+#194 := [mp #169 #193]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#760 := (pattern #29)
+#66 := -1::int
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#271 := (+ #29 #125)
+#272 := (= #271 0::int)
+#30 := (mod #8 #9)
+#268 := (* -1::int #30)
+#269 := (+ #29 #268)
+#270 := (= #269 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#210 := (or #88 #92)
+#211 := (not #210)
+#99 := (>= #8 0::int)
+#202 := (or #92 #99)
+#203 := (not #202)
+#217 := (or #203 #211)
+#273 := (ite #217 #270 #272)
+#267 := (= #29 0::int)
+#12 := (= #8 0::int)
+#274 := (ite #12 #267 #273)
+#266 := (= #8 #29)
+#13 := (= #9 0::int)
+#275 := (ite #13 #266 #274)
+#761 := (forall (vars (?v0 int) (?v1 int)) (:pat #760) #275)
+#278 := (forall (vars (?v0 int) (?v1 int)) #275)
+#764 := (iff #278 #761)
+#762 := (iff #275 #275)
+#763 := [refl]: #762
+#765 := [quant-intro #763]: #764
+#131 := (* -1::int #125)
+#235 := (ite #217 #30 #131)
+#238 := (ite #12 0::int #235)
+#241 := (ite #13 #8 #238)
+#244 := (= #29 #241)
+#247 := (forall (vars (?v0 int) (?v1 int)) #244)
+#279 := (iff #247 #278)
+#276 := (iff #244 #275)
+#277 := [rewrite]: #276
+#280 := [quant-intro #277]: #279
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#248 := (iff #163 #247)
+#245 := (iff #160 #244)
+#242 := (= #157 #241)
+#239 := (= #154 #238)
+#236 := (= #151 #235)
+#220 := (iff #106 #217)
+#214 := (or #211 #203)
+#218 := (iff #214 #217)
+#219 := [rewrite]: #218
+#215 := (iff #106 #214)
+#212 := (iff #103 #203)
+#213 := [rewrite]: #212
+#200 := (iff #96 #211)
+#201 := [rewrite]: #200
+#216 := [monotonicity #201 #213]: #215
+#221 := [trans #216 #219]: #220
+#237 := [monotonicity #221]: #236
+#240 := [monotonicity #237]: #239
+#243 := [monotonicity #240]: #242
+#246 := [monotonicity #243]: #245
+#249 := [quant-intro #246]: #248
+#198 := (~ #163 #163)
+#195 := (~ #160 #160)
+#208 := [refl]: #195
+#199 := [nnf-pos #208]: #198
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#209 := [mp~ #168 #199]: #163
+#250 := [mp #209 #249]: #247
+#281 := [mp #250 #280]: #278
+#766 := [mp #281 #765]: #761
+#537 := (not #761)
+#685 := (or #537 #176)
+#339 := (* -1::int -3::int)
+#424 := (mod #339 #339)
+#425 := (+ #173 #424)
+#426 := (= #425 0::int)
+#417 := (mod -3::int -3::int)
+#428 := (* -1::int #417)
+#429 := (+ #173 #428)
+#357 := (= #429 0::int)
+#430 := (<= -3::int 0::int)
+#427 := (or #430 #430)
+#431 := (not #427)
+#410 := (>= -3::int 0::int)
+#745 := (or #430 #410)
+#747 := (not #745)
+#404 := (or #747 #431)
+#534 := (ite #404 #357 #426)
+#741 := (= -3::int 0::int)
+#415 := (ite #741 #176 #534)
+#416 := (= -3::int #173)
+#748 := (ite #741 #416 #415)
+#587 := (or #537 #748)
+#683 := (iff #587 #685)
+#571 := (iff #685 #685)
+#586 := [rewrite]: #571
+#577 := (iff #748 #176)
+#746 := (= #173 -3::int)
+#692 := (ite false #746 #176)
+#694 := (iff #692 #176)
+#576 := [rewrite]: #694
+#693 := (iff #748 #692)
+#689 := (iff #415 #176)
+#695 := (ite false #176 #176)
+#703 := (iff #695 #176)
+#697 := [rewrite]: #703
+#535 := (iff #415 #695)
+#704 := (iff #534 #176)
+#696 := (iff #534 #695)
+#700 := (iff #426 #176)
+#698 := (= #425 #173)
+#438 := (+ #173 0::int)
+#432 := (= #438 #173)
+#714 := [rewrite]: #432
+#555 := (= #425 #438)
+#713 := (= #424 0::int)
+#705 := (mod 3::int 3::int)
+#712 := (= #705 0::int)
+#707 := [rewrite]: #712
+#706 := (= #424 #705)
+#709 := (= #339 3::int)
+#710 := [rewrite]: #709
+#711 := [monotonicity #710 #710]: #706
+#554 := [trans #711 #707]: #713
+#556 := [monotonicity #554]: #555
+#699 := [trans #556 #714]: #698
+#701 := [monotonicity #699]: #700
+#719 := (iff #357 #176)
+#718 := (= #429 #173)
+#716 := (= #429 #438)
+#436 := (= #428 0::int)
+#720 := (* -1::int 0::int)
+#725 := (= #720 0::int)
+#435 := [rewrite]: #725
+#724 := (= #428 #720)
+#445 := (= #417 0::int)
+#446 := [rewrite]: #445
+#721 := [monotonicity #446]: #724
+#437 := [trans #721 #435]: #436
+#717 := [monotonicity #437]: #716
+#715 := [trans #717 #714]: #718
+#708 := [monotonicity #715]: #719
+#722 := (iff #404 false)
+#449 := (or false false)
+#452 := (iff #449 false)
+#345 := [rewrite]: #452
+#450 := (iff #404 #449)
+#726 := (iff #431 false)
+#1 := true
+#394 := (not true)
+#732 := (iff #394 false)
+#733 := [rewrite]: #732
+#737 := (iff #431 #394)
+#379 := (iff #427 true)
+#735 := (or true true)
+#738 := (iff #735 true)
+#378 := [rewrite]: #738
+#373 := (iff #427 #735)
+#742 := (iff #430 true)
+#402 := [rewrite]: #742
+#736 := [monotonicity #402 #402]: #373
+#739 := [trans #736 #378]: #379
+#740 := [monotonicity #739]: #737
+#727 := [trans #740 #733]: #726
+#734 := (iff #747 false)
+#730 := (iff #747 #394)
+#392 := (iff #745 true)
+#403 := (or true false)
+#728 := (iff #403 true)
+#391 := [rewrite]: #728
+#744 := (iff #745 #403)
+#407 := (iff #410 false)
+#743 := [rewrite]: #407
+#387 := [monotonicity #402 #743]: #744
+#393 := [trans #387 #391]: #392
+#731 := [monotonicity #393]: #730
+#729 := [trans #731 #733]: #734
+#451 := [monotonicity #729 #727]: #450
+#723 := [trans #451 #345]: #722
+#702 := [monotonicity #723 #708 #701]: #696
+#533 := [trans #702 #697]: #704
+#749 := (iff #741 false)
+#750 := [rewrite]: #749
+#536 := [monotonicity #750 #533]: #535
+#690 := [trans #536 #697]: #689
+#751 := (iff #416 #746)
+#752 := [rewrite]: #751
+#691 := [monotonicity #750 #752 #690]: #693
+#578 := [trans #691 #576]: #577
+#686 := [monotonicity #578]: #683
+#588 := [trans #686 #586]: #683
+#682 := [quant-inst]: #587
+#589 := [mp #682 #588]: #685
+[unit-resolution #589 #766 #194]: false
+unsat
+98ce2e7fe8c73154e060ef0707079589f8062204 132 0
 #2 := false
 #9 := 0::int
 decl f3 :: int
@@ -17542,7 +43053,7 @@
 #162 := [th-lemma]: #161
 [unit-resolution #162 #160 #143]: false
 unsat
-63bab884626cc49af1ccdd9b8ddfe0dc08303f89 103 0
+11cbd971427456e31403121d2898ec25b367a8f3 103 0
 #2 := false
 #8 := 0::int
 decl f3 :: int
@@ -17646,7 +43157,7 @@
 #124 := [unit-resolution #123 #120]: #115
 [th-lemma #110 #124]: false
 unsat
-1d80fb1bb6a7cd91244703f8571db834177b7724 149 0
+08b44e1a6f35749f6a110c211434791c0d3e5dd5 149 0
 #2 := false
 #9 := 0::int
 decl f3 :: int
@@ -17796,7 +43307,7 @@
 #170 := [unit-resolution #169 #155]: #97
 [th-lemma #159 #170 #167]: false
 unsat
-d757d2450917b1126e9b960ef50b94860dff541d 114 0
+603464f42ca695d3e1441697b9257ae6111df711 114 0
 #2 := false
 #9 := 0::int
 decl f3 :: int
@@ -17911,7 +43422,355 @@
 #143 := [unit-resolution #142 #139]: #137
 [th-lemma #136 #134 #143]: false
 unsat
-5c7cb1cc77a21c05a0f34b1d636fd78635d99286 57 0
+6b1006b88fea0865d9f28ce9c2aca40c518bab7b 347 0
+#2 := false
+#183 := -2::int
+decl f4 :: (-> int int int)
+#177 := -3::int
+#174 := -5::int
+#180 := (f4 -5::int -3::int)
+#186 := (= #180 -2::int)
+#189 := (not #186)
+#43 := 2::int
+#44 := (- 2::int)
+#40 := 3::int
+#41 := (- 3::int)
+#38 := 5::int
+#39 := (- 5::int)
+#42 := (f4 #39 #41)
+#45 := (= #42 #44)
+#46 := (not #45)
+#190 := (iff #46 #189)
+#187 := (iff #45 #186)
+#184 := (= #44 -2::int)
+#185 := [rewrite]: #184
+#181 := (= #42 #180)
+#178 := (= #41 -3::int)
+#179 := [rewrite]: #178
+#175 := (= #39 -5::int)
+#176 := [rewrite]: #175
+#182 := [monotonicity #176 #179]: #181
+#188 := [monotonicity #182 #185]: #187
+#191 := [monotonicity #188]: #190
+#173 := [asserted]: #46
+#194 := [mp #173 #191]: #189
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#758 := (pattern #29)
+#11 := 0::int
+#70 := -1::int
+#74 := (* -1::int #9)
+#71 := (* -1::int #8)
+#129 := (mod #71 #74)
+#269 := (+ #29 #129)
+#270 := (= #269 0::int)
+#30 := (mod #8 #9)
+#266 := (* -1::int #30)
+#267 := (+ #29 #266)
+#268 := (= #267 0::int)
+#96 := (<= #9 0::int)
+#92 := (<= #8 0::int)
+#208 := (or #92 #96)
+#209 := (not #208)
+#103 := (>= #8 0::int)
+#200 := (or #96 #103)
+#201 := (not #200)
+#215 := (or #201 #209)
+#271 := (ite #215 #268 #270)
+#265 := (= #29 0::int)
+#12 := (= #8 0::int)
+#272 := (ite #12 #265 #271)
+#264 := (= #8 #29)
+#13 := (= #9 0::int)
+#273 := (ite #13 #264 #272)
+#759 := (forall (vars (?v0 int) (?v1 int)) (:pat #758) #273)
+#276 := (forall (vars (?v0 int) (?v1 int)) #273)
+#762 := (iff #276 #759)
+#760 := (iff #273 #273)
+#761 := [refl]: #760
+#763 := [quant-intro #761]: #762
+#135 := (* -1::int #129)
+#233 := (ite #215 #30 #135)
+#236 := (ite #12 0::int #233)
+#239 := (ite #13 #8 #236)
+#242 := (= #29 #239)
+#245 := (forall (vars (?v0 int) (?v1 int)) #242)
+#277 := (iff #245 #276)
+#274 := (iff #242 #273)
+#275 := [rewrite]: #274
+#278 := [quant-intro #275]: #277
+#104 := (not #103)
+#97 := (not #96)
+#107 := (and #97 #104)
+#93 := (not #92)
+#100 := (and #93 #97)
+#110 := (or #100 #107)
+#155 := (ite #110 #30 #135)
+#158 := (ite #12 0::int #155)
+#161 := (ite #13 #8 #158)
+#164 := (= #29 #161)
+#167 := (forall (vars (?v0 int) (?v1 int)) #164)
+#246 := (iff #167 #245)
+#243 := (iff #164 #242)
+#240 := (= #161 #239)
+#237 := (= #158 #236)
+#234 := (= #155 #233)
+#218 := (iff #110 #215)
+#212 := (or #209 #201)
+#216 := (iff #212 #215)
+#217 := [rewrite]: #216
+#213 := (iff #110 #212)
+#210 := (iff #107 #201)
+#211 := [rewrite]: #210
+#198 := (iff #100 #209)
+#199 := [rewrite]: #198
+#214 := [monotonicity #199 #211]: #213
+#219 := [trans #214 #217]: #218
+#235 := [monotonicity #219]: #234
+#238 := [monotonicity #235]: #237
+#241 := [monotonicity #238]: #240
+#244 := [monotonicity #241]: #243
+#247 := [quant-intro #244]: #246
+#196 := (~ #167 #167)
+#192 := (~ #164 #164)
+#206 := [refl]: #192
+#197 := [nnf-pos #206]: #196
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#170 := (iff #37 #167)
+#64 := (and #16 #18)
+#67 := (or #17 #64)
+#140 := (ite #67 #30 #135)
+#143 := (ite #12 0::int #140)
+#146 := (ite #13 #8 #143)
+#149 := (= #29 #146)
+#152 := (forall (vars (?v0 int) (?v1 int)) #149)
+#168 := (iff #152 #167)
+#165 := (iff #149 #164)
+#162 := (= #146 #161)
+#159 := (= #143 #158)
+#156 := (= #140 #155)
+#111 := (iff #67 #110)
+#108 := (iff #64 #107)
+#105 := (iff #18 #104)
+#106 := [rewrite]: #105
+#98 := (iff #16 #97)
+#99 := [rewrite]: #98
+#109 := [monotonicity #99 #106]: #108
+#101 := (iff #17 #100)
+#94 := (iff #15 #93)
+#95 := [rewrite]: #94
+#102 := [monotonicity #95 #99]: #101
+#112 := [monotonicity #102 #109]: #111
+#157 := [monotonicity #112]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#153 := (iff #37 #152)
+#150 := (iff #36 #149)
+#147 := (= #35 #146)
+#144 := (= #34 #143)
+#141 := (= #33 #140)
+#138 := (= #32 #135)
+#132 := (- #129)
+#136 := (= #132 #135)
+#137 := [rewrite]: #136
+#133 := (= #32 #132)
+#130 := (= #31 #129)
+#75 := (= #23 #74)
+#76 := [rewrite]: #75
+#72 := (= #22 #71)
+#73 := [rewrite]: #72
+#131 := [monotonicity #73 #76]: #130
+#134 := [monotonicity #131]: #133
+#139 := [trans #134 #137]: #138
+#68 := (iff #20 #67)
+#65 := (iff #19 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#142 := [monotonicity #69 #139]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#151 := [monotonicity #148]: #150
+#154 := [quant-intro #151]: #153
+#171 := [trans #154 #169]: #170
+#128 := [asserted]: #37
+#172 := [mp #128 #171]: #167
+#207 := [mp~ #172 #197]: #167
+#248 := [mp #207 #247]: #245
+#279 := [mp #248 #278]: #276
+#764 := [mp #279 #763]: #759
+#669 := (not #759)
+#670 := (or #669 #186)
+#337 := (* -1::int -3::int)
+#422 := (* -1::int -5::int)
+#423 := (mod #422 #337)
+#424 := (+ #180 #423)
+#415 := (= #424 0::int)
+#426 := (mod -5::int -3::int)
+#427 := (* -1::int #426)
+#355 := (+ #180 #427)
+#428 := (= #355 0::int)
+#425 := (<= -3::int 0::int)
+#429 := (<= -5::int 0::int)
+#408 := (or #429 #425)
+#743 := (not #408)
+#745 := (>= -5::int 0::int)
+#402 := (or #425 #745)
+#532 := (not #402)
+#739 := (or #532 #743)
+#413 := (ite #739 #428 #415)
+#414 := (= #180 0::int)
+#746 := (= -5::int 0::int)
+#747 := (ite #746 #414 #413)
+#748 := (= -5::int #180)
+#749 := (= -3::int 0::int)
+#744 := (ite #749 #748 #747)
+#671 := (or #669 #744)
+#672 := (iff #671 #670)
+#657 := (iff #670 #670)
+#659 := [rewrite]: #657
+#679 := (iff #744 #186)
+#405 := (= #180 -5::int)
+#666 := (ite false #405 #186)
+#678 := (iff #666 #186)
+#674 := [rewrite]: #678
+#676 := (iff #744 #666)
+#667 := (iff #747 #186)
+#685 := (ite false #414 #186)
+#673 := (iff #685 #186)
+#675 := [rewrite]: #673
+#682 := (iff #747 #685)
+#591 := (iff #413 #186)
+#435 := 1::int
+#696 := (= #180 1::int)
+#587 := (ite false #696 #186)
+#589 := (iff #587 #186)
+#590 := [rewrite]: #589
+#580 := (iff #413 #587)
+#584 := (iff #415 #186)
+#574 := (+ 2::int #180)
+#585 := (= #574 0::int)
+#684 := (iff #585 #186)
+#569 := [rewrite]: #684
+#680 := (iff #415 #585)
+#535 := (= #424 #574)
+#691 := (+ #180 2::int)
+#575 := (= #691 #574)
+#576 := [rewrite]: #575
+#689 := (= #424 #691)
+#688 := (= #423 2::int)
+#702 := (mod 5::int 3::int)
+#534 := (= #702 2::int)
+#687 := [rewrite]: #534
+#531 := (= #423 #702)
+#701 := (= #337 3::int)
+#695 := [rewrite]: #701
+#694 := (= #422 5::int)
+#700 := [rewrite]: #694
+#533 := [monotonicity #700 #695]: #531
+#690 := [trans #533 #687]: #688
+#692 := [monotonicity #690]: #689
+#683 := [trans #692 #576]: #535
+#681 := [monotonicity #683]: #680
+#586 := [trans #681 #569]: #584
+#699 := (iff #428 #696)
+#704 := (+ -1::int #180)
+#552 := (= #704 0::int)
+#697 := (iff #552 #696)
+#698 := [rewrite]: #697
+#553 := (iff #428 #552)
+#705 := (= #355 #704)
+#707 := (+ #180 -1::int)
+#709 := (= #707 #704)
+#710 := [rewrite]: #709
+#708 := (= #355 #707)
+#717 := (= #427 -1::int)
+#715 := (* -1::int 1::int)
+#716 := (= #715 -1::int)
+#713 := [rewrite]: #716
+#430 := (= #427 #715)
+#436 := (= #426 1::int)
+#714 := [rewrite]: #436
+#712 := [monotonicity #714]: #430
+#706 := [trans #712 #713]: #717
+#703 := [monotonicity #706]: #708
+#711 := [trans #703 #710]: #705
+#554 := [monotonicity #711]: #553
+#693 := [trans #554 #698]: #699
+#433 := (iff #739 false)
+#444 := (or false false)
+#719 := (iff #444 false)
+#723 := [rewrite]: #719
+#718 := (iff #739 #444)
+#721 := (iff #743 false)
+#1 := true
+#727 := (not true)
+#734 := (iff #727 false)
+#736 := [rewrite]: #734
+#343 := (iff #743 #727)
+#449 := (iff #408 true)
+#738 := (or true true)
+#447 := (iff #738 true)
+#448 := [rewrite]: #447
+#724 := (iff #408 #738)
+#385 := (iff #425 true)
+#726 := [rewrite]: #385
+#737 := (iff #429 true)
+#735 := [rewrite]: #737
+#725 := [monotonicity #735 #726]: #724
+#450 := [trans #725 #448]: #449
+#720 := [monotonicity #450]: #343
+#443 := [trans #720 #736]: #721
+#376 := (iff #532 false)
+#733 := (iff #532 #727)
+#731 := (iff #402 true)
+#391 := (or true false)
+#729 := (iff #391 true)
+#730 := [rewrite]: #729
+#392 := (iff #402 #391)
+#389 := (iff #745 false)
+#390 := [rewrite]: #389
+#728 := [monotonicity #726 #390]: #392
+#732 := [trans #728 #730]: #731
+#371 := [monotonicity #732]: #733
+#377 := [trans #371 #736]: #376
+#722 := [monotonicity #377 #443]: #718
+#434 := [trans #722 #723]: #433
+#588 := [monotonicity #434 #693 #586]: #580
+#592 := [trans #588 #590]: #591
+#401 := (iff #746 false)
+#742 := [rewrite]: #401
+#686 := [monotonicity #742 #592]: #682
+#664 := [trans #686 #675]: #667
+#400 := (iff #748 #405)
+#741 := [rewrite]: #400
+#750 := (iff #749 false)
+#740 := [rewrite]: #750
+#677 := [monotonicity #740 #741 #664]: #676
+#668 := [trans #677 #674]: #679
+#656 := [monotonicity #668]: #672
+#660 := [trans #656 #659]: #672
+#665 := [quant-inst]: #671
+#661 := [mp #665 #660]: #670
+[unit-resolution #661 #764 #194]: false
+unsat
+dce856f3e21ae2f97ea031dc9fe8a9a3d8bcd965 57 0
 #2 := false
 #36 := 0::int
 decl f4 :: int
@@ -17969,7 +43828,7 @@
 #77 := [th-lemma]: #76
 [unit-resolution #77 #74 #56]: false
 unsat
-10e42ba36f16f5b77635ba4696f9e210ae8fff63 57 0
+1c2c19656480fea9eac0d64b2d7713bbaf1ce18e 57 0
 #2 := false
 #36 := 0::int
 decl f4 :: int
@@ -18027,7 +43886,7 @@
 #77 := [unit-resolution #76 #73]: #71
 [th-lemma #77 #56 #72]: false
 unsat
-91d7fdd486bebfbe440c8a2d28eb4c92f78f7bd1 103 0
+dcce7f1c4cfeb0855ad108c9c837348dc081133f 103 0
 #2 := false
 #45 := 0::int
 decl f5 :: int
@@ -18131,7 +43990,335 @@
 #122 := [unit-resolution #121 #118]: #115
 [th-lemma #122 #92 #93]: false
 unsat
-11fa6e1b37f0031ac059637e25afb0cf1222dc3f 86 0
+cc54796722d31f22331ee38cd4d2e526cb5b071c 327 0
+#2 := false
+#11 := 0::int
+decl f5 :: int
+#38 := f5
+#418 := (<= f5 0::int)
+#734 := (>= f5 0::int)
+#380 := (not #734)
+#723 := (not #418)
+#727 := (or #723 #380)
+#690 := (not #727)
+#39 := 3::int
+#415 := (mod f5 3::int)
+#66 := -1::int
+#416 := (* -1::int #415)
+decl f4 :: (-> int int int)
+#40 := (f4 f5 3::int)
+#344 := (+ #40 #416)
+#417 := (= #344 0::int)
+#563 := (not #417)
+#520 := (<= #344 0::int)
+#623 := (not #520)
+#631 := (>= #415 3::int)
+#632 := (not #631)
+#1 := true
+#57 := [true-axiom]: true
+#619 := (or false #632)
+#620 := [th-lemma]: #619
+#621 := [unit-resolution #620 #57]: #632
+#622 := [hypothesis]: #520
+#173 := (>= #40 3::int)
+#41 := (< #40 3::int)
+#42 := (not #41)
+#181 := (iff #42 #173)
+#172 := (not #173)
+#176 := (not #172)
+#179 := (iff #176 #173)
+#180 := [rewrite]: #179
+#177 := (iff #42 #176)
+#174 := (iff #41 #172)
+#175 := [rewrite]: #174
+#178 := [monotonicity #175]: #177
+#182 := [trans #178 #180]: #181
+#169 := [asserted]: #42
+#183 := [mp #169 #182]: #173
+#617 := [th-lemma #183 #622 #621]: false
+#609 := [lemma #617]: #623
+#626 := (or #563 #520)
+#637 := [th-lemma]: #626
+#615 := [unit-resolution #637 #609]: #563
+#614 := (or #690 #417)
+#438 := -3::int
+#411 := (* -1::int f5)
+#709 := (mod #411 -3::int)
+#433 := (+ #40 #709)
+#708 := (= #433 0::int)
+#423 := (ite #727 #417 #708)
+#403 := (= #40 0::int)
+#735 := (= f5 0::int)
+#703 := (ite #735 #403 #423)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#747 := (pattern #29)
+#70 := (* -1::int #9)
+#67 := (* -1::int #8)
+#125 := (mod #67 #70)
+#258 := (+ #29 #125)
+#259 := (= #258 0::int)
+#30 := (mod #8 #9)
+#255 := (* -1::int #30)
+#256 := (+ #29 #255)
+#257 := (= #256 0::int)
+#92 := (<= #9 0::int)
+#88 := (<= #8 0::int)
+#197 := (or #88 #92)
+#198 := (not #197)
+#99 := (>= #8 0::int)
+#189 := (or #92 #99)
+#190 := (not #189)
+#204 := (or #190 #198)
+#260 := (ite #204 #257 #259)
+#254 := (= #29 0::int)
+#12 := (= #8 0::int)
+#261 := (ite #12 #254 #260)
+#253 := (= #8 #29)
+#13 := (= #9 0::int)
+#262 := (ite #13 #253 #261)
+#748 := (forall (vars (?v0 int) (?v1 int)) (:pat #747) #262)
+#265 := (forall (vars (?v0 int) (?v1 int)) #262)
+#751 := (iff #265 #748)
+#749 := (iff #262 #262)
+#750 := [refl]: #749
+#752 := [quant-intro #750]: #751
+#131 := (* -1::int #125)
+#222 := (ite #204 #30 #131)
+#225 := (ite #12 0::int #222)
+#228 := (ite #13 #8 #225)
+#231 := (= #29 #228)
+#234 := (forall (vars (?v0 int) (?v1 int)) #231)
+#266 := (iff #234 #265)
+#263 := (iff #231 #262)
+#264 := [rewrite]: #263
+#267 := [quant-intro #264]: #266
+#100 := (not #99)
+#93 := (not #92)
+#103 := (and #93 #100)
+#89 := (not #88)
+#96 := (and #89 #93)
+#106 := (or #96 #103)
+#151 := (ite #106 #30 #131)
+#154 := (ite #12 0::int #151)
+#157 := (ite #13 #8 #154)
+#160 := (= #29 #157)
+#163 := (forall (vars (?v0 int) (?v1 int)) #160)
+#235 := (iff #163 #234)
+#232 := (iff #160 #231)
+#229 := (= #157 #228)
+#226 := (= #154 #225)
+#223 := (= #151 #222)
+#207 := (iff #106 #204)
+#201 := (or #198 #190)
+#205 := (iff #201 #204)
+#206 := [rewrite]: #205
+#202 := (iff #106 #201)
+#199 := (iff #103 #190)
+#200 := [rewrite]: #199
+#187 := (iff #96 #198)
+#188 := [rewrite]: #187
+#203 := [monotonicity #188 #200]: #202
+#208 := [trans #203 #206]: #207
+#224 := [monotonicity #208]: #223
+#227 := [monotonicity #224]: #226
+#230 := [monotonicity #227]: #229
+#233 := [monotonicity #230]: #232
+#236 := [quant-intro #233]: #235
+#185 := (~ #163 #163)
+#170 := (~ #160 #160)
+#195 := [refl]: #170
+#186 := [nnf-pos #195]: #185
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#166 := (iff #37 #163)
+#60 := (and #16 #18)
+#63 := (or #17 #60)
+#136 := (ite #63 #30 #131)
+#139 := (ite #12 0::int #136)
+#142 := (ite #13 #8 #139)
+#145 := (= #29 #142)
+#148 := (forall (vars (?v0 int) (?v1 int)) #145)
+#164 := (iff #148 #163)
+#161 := (iff #145 #160)
+#158 := (= #142 #157)
+#155 := (= #139 #154)
+#152 := (= #136 #151)
+#107 := (iff #63 #106)
+#104 := (iff #60 #103)
+#101 := (iff #18 #100)
+#102 := [rewrite]: #101
+#94 := (iff #16 #93)
+#95 := [rewrite]: #94
+#105 := [monotonicity #95 #102]: #104
+#97 := (iff #17 #96)
+#90 := (iff #15 #89)
+#91 := [rewrite]: #90
+#98 := [monotonicity #91 #95]: #97
+#108 := [monotonicity #98 #105]: #107
+#153 := [monotonicity #108]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#162 := [monotonicity #159]: #161
+#165 := [quant-intro #162]: #164
+#149 := (iff #37 #148)
+#146 := (iff #36 #145)
+#143 := (= #35 #142)
+#140 := (= #34 #139)
+#137 := (= #33 #136)
+#134 := (= #32 #131)
+#128 := (- #125)
+#132 := (= #128 #131)
+#133 := [rewrite]: #132
+#129 := (= #32 #128)
+#126 := (= #31 #125)
+#71 := (= #23 #70)
+#72 := [rewrite]: #71
+#68 := (= #22 #67)
+#69 := [rewrite]: #68
+#127 := [monotonicity #69 #72]: #126
+#130 := [monotonicity #127]: #129
+#135 := [trans #130 #133]: #134
+#64 := (iff #20 #63)
+#61 := (iff #19 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#138 := [monotonicity #65 #135]: #137
+#141 := [monotonicity #138]: #140
+#144 := [monotonicity #141]: #143
+#147 := [monotonicity #144]: #146
+#150 := [quant-intro #147]: #149
+#167 := [trans #150 #165]: #166
+#124 := [asserted]: #37
+#168 := [mp #124 #167]: #163
+#196 := [mp~ #168 #186]: #163
+#237 := [mp #196 #236]: #234
+#268 := [mp #237 #267]: #265
+#753 := [mp #268 #752]: #748
+#692 := (not #748)
+#693 := (or #692 #703)
+#326 := (* -1::int 3::int)
+#412 := (mod #411 #326)
+#413 := (+ #40 #412)
+#404 := (= #413 0::int)
+#414 := (<= 3::int 0::int)
+#397 := (or #418 #414)
+#732 := (not #397)
+#391 := (or #414 #734)
+#521 := (not #391)
+#728 := (or #521 #732)
+#402 := (ite #728 #417 #404)
+#736 := (ite #735 #403 #402)
+#737 := (= f5 #40)
+#738 := (= 3::int 0::int)
+#733 := (ite #738 #737 #736)
+#698 := (or #692 #733)
+#694 := (iff #698 #693)
+#541 := (iff #693 #693)
+#542 := [rewrite]: #541
+#696 := (iff #733 #703)
+#701 := (ite false #737 #703)
+#706 := (iff #701 #703)
+#695 := [rewrite]: #706
+#705 := (iff #733 #701)
+#704 := (iff #736 #703)
+#424 := (iff #402 #423)
+#712 := (iff #404 #708)
+#707 := (= #413 #433)
+#710 := (= #412 #709)
+#439 := (= #326 -3::int)
+#332 := [rewrite]: #439
+#432 := [monotonicity #332]: #710
+#711 := [monotonicity #432]: #707
+#422 := [monotonicity #711]: #712
+#436 := (iff #728 #727)
+#366 := (or #380 #723)
+#713 := (iff #366 #727)
+#714 := [rewrite]: #713
+#726 := (iff #728 #366)
+#725 := (iff #732 #723)
+#722 := (iff #397 #418)
+#718 := (or #418 false)
+#721 := (iff #718 #418)
+#716 := [rewrite]: #721
+#719 := (iff #397 #718)
+#389 := (iff #414 false)
+#394 := [rewrite]: #389
+#720 := [monotonicity #394]: #719
+#360 := [trans #720 #716]: #722
+#365 := [monotonicity #360]: #725
+#381 := (iff #521 #380)
+#378 := (iff #391 #734)
+#730 := (or false #734)
+#374 := (iff #730 #734)
+#715 := [rewrite]: #374
+#390 := (iff #391 #730)
+#731 := [monotonicity #394]: #390
+#379 := [trans #731 #715]: #378
+#717 := [monotonicity #379]: #381
+#724 := [monotonicity #717 #365]: #726
+#437 := [trans #724 #714]: #436
+#425 := [monotonicity #437 #422]: #424
+#419 := [monotonicity #425]: #704
+#739 := (iff #738 false)
+#729 := [rewrite]: #739
+#702 := [monotonicity #729 #419]: #705
+#697 := [trans #702 #695]: #696
+#700 := [monotonicity #697]: #694
+#543 := [trans #700 #542]: #694
+#699 := [quant-inst]: #698
+#685 := [mp #699 #543]: #693
+#616 := [unit-resolution #685 #753]: #703
+#670 := (not #735)
+#669 := (not #703)
+#611 := (or #669 #670)
+#576 := (not #403)
+#686 := (<= #40 0::int)
+#618 := (not #686)
+#648 := (or #618 #172)
+#649 := [th-lemma]: #648
+#605 := [unit-resolution #649 #183]: #618
+#606 := (or #576 #686)
+#607 := [th-lemma]: #606
+#610 := [unit-resolution #607 #605]: #576
+#673 := (or #669 #670 #403)
+#558 := [def-axiom]: #673
+#612 := [unit-resolution #558 #610]: #611
+#613 := [unit-resolution #612 #616]: #670
+#573 := (or #669 #735 #423)
+#575 := [def-axiom]: #573
+#608 := [unit-resolution #575 #613 #616]: #423
+#677 := (not #423)
+#679 := (or #677 #690 #417)
+#680 := [def-axiom]: #679
+#587 := [unit-resolution #680 #608]: #614
+#588 := [unit-resolution #587 #615]: #690
+#688 := (or #727 #418)
+#682 := [def-axiom]: #688
+#589 := [unit-resolution #682 #588]: #418
+#683 := (or #727 #734)
+#689 := [def-axiom]: #683
+#482 := [unit-resolution #689 #588]: #734
+#593 := (or #735 #723 #380)
+#594 := [th-lemma]: #593
+#595 := [unit-resolution #594 #613]: #727
+[unit-resolution #595 #482 #589]: false
+unsat
+ce21500c8b03b5e1a394643a4c361d6ebb12e85f 86 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -18218,7 +44405,7 @@
 #105 := [trans #104 #83]: #51
 [unit-resolution #57 #105]: false
 unsat
-57fed093c0e757f5135ad67112d460f34a931a41 68 0
+22be385fa1e47d4d76e059f3bfa8188c80f22cdd 68 0
 #2 := false
 #8 := 0::int
 decl f3 :: int
@@ -18287,7 +44474,7 @@
 #88 := [trans #87 #84]: #13
 [unit-resolution #71 #88]: false
 unsat
-db9aca2dd61369561517d2cc1ec903d7f769a531 124 0
+2253342327dba5f019f3a86fda5fc5ff24024127 124 0
 #2 := false
 #13 := 0::int
 decl f4 :: int
@@ -18412,7 +44599,7 @@
 #145 := [unit-resolution #117 #144]: #106
 [th-lemma #131 #143 #141 #85 #145]: false
 unsat
-3d8b7b7060fb0e75fadc99b439fcfbd64f5e5bd8 57 0
+8a7449660323be981d8338388af366ba304fb872 57 0
 #2 := false
 #36 := 0::int
 decl f4 :: int
@@ -18470,7 +44657,353 @@
 #77 := [unit-resolution #76 #73]: #70
 [th-lemma #77 #56 #72]: false
 unsat
-d9ad9cbc455d3076d4a7e86bc3367086cdbf80aa 57 0
+1c20abf656adf6300dff05d39209b84754f973b9 345 0
+#2 := false
+#39 := 3::int
+decl f4 :: (-> int int int)
+decl f5 :: int
+#38 := f5
+#40 := (f4 f5 3::int)
+#441 := (mod #40 3::int)
+#657 := (>= #441 3::int)
+#658 := (not #657)
+#1 := true
+#59 := [true-axiom]: true
+#647 := (or false #658)
+#642 := [th-lemma]: #647
+#648 := [unit-resolution #642 #59]: #658
+#11 := 0::int
+#68 := -1::int
+#436 := (* -1::int #40)
+#600 := (+ f5 #436)
+#601 := (<= #600 0::int)
+#172 := (= f5 #40)
+#188 := (>= f5 3::int)
+#187 := (not #188)
+#178 := (not #172)
+#194 := (or #178 #187)
+#199 := (not #194)
+#42 := (< f5 3::int)
+#41 := (= #40 f5)
+#43 := (implies #41 #42)
+#44 := (not #43)
+#202 := (iff #44 #199)
+#179 := (or #42 #178)
+#184 := (not #179)
+#200 := (iff #184 #199)
+#197 := (iff #179 #194)
+#191 := (or #187 #178)
+#195 := (iff #191 #194)
+#196 := [rewrite]: #195
+#192 := (iff #179 #191)
+#189 := (iff #42 #187)
+#190 := [rewrite]: #189
+#193 := [monotonicity #190]: #192
+#198 := [trans #193 #196]: #197
+#201 := [monotonicity #198]: #200
+#185 := (iff #44 #184)
+#182 := (iff #43 #179)
+#175 := (implies #172 #42)
+#180 := (iff #175 #179)
+#181 := [rewrite]: #180
+#176 := (iff #43 #175)
+#173 := (iff #41 #172)
+#174 := [rewrite]: #173
+#177 := [monotonicity #174]: #176
+#183 := [trans #177 #181]: #182
+#186 := [monotonicity #183]: #185
+#203 := [trans #186 #201]: #202
+#171 := [asserted]: #44
+#204 := [mp #171 #203]: #199
+#205 := [not-or-elim #204]: #172
+#634 := (or #178 #601)
+#630 := [th-lemma]: #634
+#631 := [unit-resolution #630 #205]: #601
+#206 := [not-or-elim #204]: #188
+#438 := (f4 #40 3::int)
+#602 := (* -1::int #438)
+#603 := (+ #40 #602)
+#604 := (<= #603 0::int)
+#763 := (= #40 #438)
+#635 := (= #438 #40)
+#632 := [symm #205]: #41
+#636 := [monotonicity #632]: #635
+#637 := [symm #636]: #763
+#638 := (not #763)
+#633 := (or #638 #604)
+#639 := [th-lemma]: #633
+#612 := [unit-resolution #639 #637]: #604
+#369 := (* -1::int #441)
+#442 := (+ #438 #369)
+#707 := (<= #442 0::int)
+#439 := (= #442 0::int)
+#738 := -3::int
+#462 := (mod #436 -3::int)
+#357 := (+ #438 #462)
+#457 := (= #357 0::int)
+#422 := (<= #40 0::int)
+#750 := (not #422)
+#416 := (>= #40 0::int)
+#406 := (not #416)
+#751 := (or #406 #750)
+#736 := (ite #751 #439 #457)
+#760 := (= #438 0::int)
+#761 := (= #40 0::int)
+#447 := (ite #761 #760 #736)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#772 := (pattern #29)
+#72 := (* -1::int #9)
+#69 := (* -1::int #8)
+#127 := (mod #69 #72)
+#283 := (+ #29 #127)
+#284 := (= #283 0::int)
+#30 := (mod #8 #9)
+#280 := (* -1::int #30)
+#281 := (+ #29 #280)
+#282 := (= #281 0::int)
+#94 := (<= #9 0::int)
+#90 := (<= #8 0::int)
+#224 := (or #90 #94)
+#225 := (not #224)
+#101 := (>= #8 0::int)
+#216 := (or #94 #101)
+#217 := (not #216)
+#229 := (or #217 #225)
+#285 := (ite #229 #282 #284)
+#279 := (= #29 0::int)
+#12 := (= #8 0::int)
+#286 := (ite #12 #279 #285)
+#278 := (= #8 #29)
+#13 := (= #9 0::int)
+#287 := (ite #13 #278 #286)
+#773 := (forall (vars (?v0 int) (?v1 int)) (:pat #772) #287)
+#290 := (forall (vars (?v0 int) (?v1 int)) #287)
+#776 := (iff #290 #773)
+#774 := (iff #287 #287)
+#775 := [refl]: #774
+#777 := [quant-intro #775]: #776
+#133 := (* -1::int #127)
+#247 := (ite #229 #30 #133)
+#250 := (ite #12 0::int #247)
+#253 := (ite #13 #8 #250)
+#256 := (= #29 #253)
+#259 := (forall (vars (?v0 int) (?v1 int)) #256)
+#291 := (iff #259 #290)
+#288 := (iff #256 #287)
+#289 := [rewrite]: #288
+#292 := [quant-intro #289]: #291
+#102 := (not #101)
+#95 := (not #94)
+#105 := (and #95 #102)
+#91 := (not #90)
+#98 := (and #91 #95)
+#108 := (or #98 #105)
+#153 := (ite #108 #30 #133)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#260 := (iff #165 #259)
+#257 := (iff #162 #256)
+#254 := (= #159 #253)
+#251 := (= #156 #250)
+#248 := (= #153 #247)
+#232 := (iff #108 #229)
+#226 := (or #225 #217)
+#230 := (iff #226 #229)
+#231 := [rewrite]: #230
+#227 := (iff #108 #226)
+#214 := (iff #105 #217)
+#215 := [rewrite]: #214
+#212 := (iff #98 #225)
+#213 := [rewrite]: #212
+#228 := [monotonicity #213 #215]: #227
+#233 := [trans #228 #231]: #232
+#249 := [monotonicity #233]: #248
+#252 := [monotonicity #249]: #251
+#255 := [monotonicity #252]: #254
+#258 := [monotonicity #255]: #257
+#261 := [quant-intro #258]: #260
+#210 := (~ #165 #165)
+#207 := (~ #162 #162)
+#222 := [refl]: #207
+#211 := [nnf-pos #222]: #210
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#168 := (iff #37 #165)
+#62 := (and #16 #18)
+#65 := (or #17 #62)
+#138 := (ite #65 #30 #133)
+#141 := (ite #12 0::int #138)
+#144 := (ite #13 #8 #141)
+#147 := (= #29 #144)
+#150 := (forall (vars (?v0 int) (?v1 int)) #147)
+#166 := (iff #150 #165)
+#163 := (iff #147 #162)
+#160 := (= #144 #159)
+#157 := (= #141 #156)
+#154 := (= #138 #153)
+#109 := (iff #65 #108)
+#106 := (iff #62 #105)
+#103 := (iff #18 #102)
+#104 := [rewrite]: #103
+#96 := (iff #16 #95)
+#97 := [rewrite]: #96
+#107 := [monotonicity #97 #104]: #106
+#99 := (iff #17 #98)
+#92 := (iff #15 #91)
+#93 := [rewrite]: #92
+#100 := [monotonicity #93 #97]: #99
+#110 := [monotonicity #100 #107]: #109
+#155 := [monotonicity #110]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#151 := (iff #37 #150)
+#148 := (iff #36 #147)
+#145 := (= #35 #144)
+#142 := (= #34 #141)
+#139 := (= #33 #138)
+#136 := (= #32 #133)
+#130 := (- #127)
+#134 := (= #130 #133)
+#135 := [rewrite]: #134
+#131 := (= #32 #130)
+#128 := (= #31 #127)
+#73 := (= #23 #72)
+#74 := [rewrite]: #73
+#70 := (= #22 #69)
+#71 := [rewrite]: #70
+#129 := [monotonicity #71 #74]: #128
+#132 := [monotonicity #129]: #131
+#137 := [trans #132 #135]: #136
+#66 := (iff #20 #65)
+#63 := (iff #19 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#140 := [monotonicity #67 #137]: #139
+#143 := [monotonicity #140]: #142
+#146 := [monotonicity #143]: #145
+#149 := [monotonicity #146]: #148
+#152 := [quant-intro #149]: #151
+#169 := [trans #152 #167]: #168
+#126 := [asserted]: #37
+#170 := [mp #126 #169]: #165
+#223 := [mp~ #170 #211]: #165
+#262 := [mp #223 #261]: #259
+#293 := [mp #262 #292]: #290
+#778 := [mp #293 #777]: #773
+#731 := (not #773)
+#720 := (or #731 #447)
+#351 := (* -1::int 3::int)
+#437 := (mod #436 #351)
+#429 := (+ #438 #437)
+#440 := (= #429 0::int)
+#443 := (<= 3::int 0::int)
+#757 := (or #422 #443)
+#759 := (not #757)
+#546 := (or #443 #416)
+#753 := (not #546)
+#427 := (or #753 #759)
+#428 := (ite #427 #439 #440)
+#762 := (ite #761 #760 #428)
+#758 := (= 3::int 0::int)
+#764 := (ite #758 #763 #762)
+#721 := (or #731 #764)
+#717 := (iff #721 #720)
+#723 := (iff #720 #720)
+#724 := [rewrite]: #723
+#730 := (iff #764 #447)
+#450 := (ite false #763 #447)
+#444 := (iff #450 #447)
+#726 := [rewrite]: #444
+#728 := (iff #764 #450)
+#448 := (iff #762 #447)
+#733 := (iff #428 #736)
+#458 := (iff #440 #457)
+#734 := (= #429 #357)
+#463 := (= #437 #462)
+#739 := (= #351 -3::int)
+#461 := [rewrite]: #739
+#464 := [monotonicity #461]: #463
+#735 := [monotonicity #464]: #734
+#732 := [monotonicity #735]: #458
+#749 := (iff #427 #751)
+#390 := (iff #759 #750)
+#385 := (iff #757 #422)
+#744 := (or #422 false)
+#741 := (iff #744 #422)
+#747 := [rewrite]: #741
+#745 := (iff #757 #744)
+#419 := (iff #443 false)
+#755 := [rewrite]: #419
+#746 := [monotonicity #755]: #745
+#748 := [trans #746 #747]: #385
+#391 := [monotonicity #748]: #390
+#742 := (iff #753 #406)
+#404 := (iff #546 #416)
+#415 := (or false #416)
+#740 := (iff #415 #416)
+#403 := [rewrite]: #740
+#756 := (iff #546 #415)
+#399 := [monotonicity #755]: #756
+#405 := [trans #399 #403]: #404
+#743 := [monotonicity #405]: #742
+#752 := [monotonicity #743 #391]: #749
+#737 := [monotonicity #752 #732]: #733
+#449 := [monotonicity #737]: #448
+#754 := (iff #758 false)
+#414 := [rewrite]: #754
+#729 := [monotonicity #414 #449]: #728
+#727 := [trans #729 #726]: #730
+#718 := [monotonicity #727]: #717
+#719 := [trans #718 #724]: #717
+#722 := [quant-inst]: #721
+#725 := [mp #722 #719]: #720
+#613 := [unit-resolution #725 #778]: #447
+#589 := (not #761)
+#614 := (not #601)
+#507 := (or #750 #187 #614)
+#618 := [th-lemma]: #507
+#619 := [unit-resolution #618 #206 #631]: #750
+#620 := (or #589 #422)
+#625 := [th-lemma]: #620
+#621 := [unit-resolution #625 #619]: #589
+#588 := (not #447)
+#697 := (or #588 #761 #736)
+#599 := [def-axiom]: #697
+#622 := [unit-resolution #599 #621 #613]: #736
+#568 := (or #751 #422)
+#710 := [def-axiom]: #568
+#623 := [unit-resolution #710 #619]: #751
+#711 := (not #751)
+#709 := (not #736)
+#716 := (or #709 #711 #439)
+#545 := [def-axiom]: #716
+#626 := [unit-resolution #545 #623 #622]: #439
+#701 := (not #439)
+#627 := (or #701 #707)
+#628 := [th-lemma]: #627
+#624 := [unit-resolution #628 #626]: #707
+[th-lemma #624 #612 #206 #631 #648]: false
+unsat
+4dce9532aca5ad04bb32a324214a8d6e10933595 57 0
 #2 := false
 #35 := 0::int
 decl f4 :: int
@@ -18528,7 +45061,7 @@
 #77 := [th-lemma]: #76
 [unit-resolution #77 #74 #56]: false
 unsat
-512e03c208778cc0f727c8eba68f23d12462f16f 103 0
+4c651ded3b3a1d80978c76e6d7d096efa4221c9f 103 0
 #2 := false
 #45 := 0::int
 decl f3 :: int
@@ -18632,7 +45165,7 @@
 #122 := [unit-resolution #121 #118]: #116
 [th-lemma #122 #91 #93]: false
 unsat
-aa80380d55249b8c8a3b69b0ba102b48ab444bd4 88 0
+4dcddda0c75e28e85f0009ab3200f08d892d02c4 88 0
 #2 := false
 decl f4 :: int
 #9 := f4
@@ -18721,7 +45254,7 @@
 #109 := [trans #108 #83]: #51
 [unit-resolution #57 #109]: false
 unsat
-f6b25b18b1ebd8ef0f2fc91bf2f3835c988c562e 66 0
+600697e3c100a020914718001e57a63394741230 66 0
 #2 := false
 decl f3 :: int
 #9 := f3
@@ -18788,7 +45321,7 @@
 #86 := [trans #83 #85]: #33
 [unit-resolution #69 #86]: false
 unsat
-7f59060b40cd618dd873f83da89208e01474e50b 228 0
+45b4f832b01805ab14c570832adc97242b473045 228 0
 #2 := false
 #9 := 0::int
 decl f4 :: int
@@ -19017,7 +45550,7 @@
 #250 := [unit-resolution #196 #249]: #190
 [th-lemma #236 #250 #131 #234 #248 #238]: false
 unsat
-eb26b9eee04f34772db75112e08806ee4a73deb5 56 0
+49cc983d173a58df0ca800b897e7609030c1adbd 56 0
 #2 := false
 #11 := 1::int
 decl f3 :: int
@@ -19074,7 +45607,7 @@
 #71 := [not-or-elim #69]: #70
 [unit-resolution #71 #85]: false
 unsat
-f0448e2303985e4b308e27be63206293bdf9a306 18 0
+838b399a3a6da31b0c058aef87c3e393bc9c198f 18 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -19093,7 +45626,25 @@
 #27 := [asserted]: #10
 [mp #27 #38]: false
 unsat
-7f4a9fec0a381e3d10ca9892d4357ad593dddf34 51 0
+f401bbb35719168186be7c7fdc36b726ddad542e 17 0
+#2 := false
+#8 := 0::real
+#9 := (= 0::real 0::real)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+acd9efc2e486913895049a85d947303a715afaf4 51 0
 #2 := false
 decl f4 :: int
 #9 := f4
@@ -19145,7 +45696,7 @@
 #33 := [asserted]: #16
 [mp #33 #68]: false
 unsat
-dbe1e0599b3d29d7583fb07a395943a3aea1f4e4 56 0
+876d4808395b1353460558d27a1ff7e23ea1a045 56 0
 #2 := false
 decl f4 :: int
 #9 := f4
@@ -19202,7 +45753,51 @@
 #33 := [asserted]: #16
 [mp #33 #73]: false
 unsat
-9e881bb7df2f7ec1f6b2377876015489227bbe22 52 0
+2c7d006b46aef7c76688a4b4a4964ad07b6656a1 25 0
+#2 := false
+#8 := 0::real
+#9 := (- 0::real)
+#10 := (= 0::real #9)
+#11 := (not #10)
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (= 0::real 0::real)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #10 #31)
+#29 := (= #9 0::real)
+#30 := [rewrite]: #29
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+70737154521415199c9b18902d90c0ff2d6966da 17 0
+#2 := false
+#8 := 1::real
+#9 := (= 1::real 1::real)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+e1c4625af215a329500d17ad89e6dc8f577b02b1 52 0
 #2 := false
 #40 := 0::int
 decl f4 :: int
@@ -19255,7 +45850,42 @@
 #77 := [unit-resolution #76 #65]: #53
 [unit-resolution #77 #67]: false
 unsat
-51bf0a9abf1819d8ded3eaa12d8b05e8c0179093 73 0
+079e8a190b645549c5a2d16ab104adb956315901 34 0
+#2 := false
+#8 := 1::real
+#9 := (- 1::real)
+#10 := (= #9 1::real)
+#11 := (not #10)
+#12 := (not #11)
+#52 := (iff #12 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #12 #47)
+#45 := (iff #11 true)
+#40 := (not false)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#41 := (iff #11 #40)
+#38 := (iff #10 false)
+#30 := -1::real
+#33 := (= -1::real 1::real)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #10 #33)
+#31 := (= #9 -1::real)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#29 := [asserted]: #12
+[mp #29 #53]: false
+unsat
+2eb8b7f54e63226cb1a9ab4c59e18e9b90fe4ed0 73 0
 #2 := false
 #58 := 0::int
 decl f4 :: int
@@ -19329,7 +45959,26 @@
 #78 := [unit-resolution #82 #74]: #83
 [unit-resolution #78 #92 #89]: false
 unsat
-a680c2822602cd080d52600c3f371f228a52ab07 15 0
+a2184c17e30d6d1fdfb1b99141d590277924af4f 18 0
+#2 := false
+#9 := 1::real
+#8 := 0::real
+#10 := (< 0::real 1::real)
+#11 := (not #10)
+#38 := (iff #11 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #11 #33)
+#31 := (iff #10 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#28 := [asserted]: #11
+[mp #28 #39]: false
+unsat
+56d5fed825ed136d8c662448f5f823a6b191adf2 15 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -19345,7 +45994,26 @@
 #28 := [asserted]: #11
 [mp #28 #34]: false
 unsat
-3ca9f6025aa0aae7c19eaaf9e7bcf7496930f051 75 0
+ed3ca239863adeeb7925561fb018b520b18a23a9 18 0
+#2 := false
+#9 := 1::real
+#8 := 0::real
+#10 := (<= 0::real 1::real)
+#11 := (not #10)
+#38 := (iff #11 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #11 #33)
+#31 := (iff #10 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#28 := [asserted]: #11
+[mp #28 #39]: false
+unsat
+1969eccfcb8fcfbee552d3423834a8c5c81b7a3e 75 0
 #2 := false
 #53 := 0::int
 decl f4 :: int
@@ -19421,7 +46089,67 @@
 #89 := [not-or-elim #88]: #54
 [th-lemma #89 #91 #92]: false
 unsat
-35d0ec85b1b4756984ec0a2aa12570b74d8f6576 80 0
+88a6a03ef194abfd27e9e9c71cd5d14dc85a3e0c 40 0
+#2 := false
+#12 := 567::real
+#10 := 345::real
+#8 := 123::real
+#9 := (- 123::real)
+#11 := (+ #9 345::real)
+#13 := (< #11 567::real)
+#14 := (not #13)
+#58 := (iff #14 false)
+#38 := 222::real
+#43 := (< 222::real 567::real)
+#46 := (not #43)
+#56 := (iff #46 false)
+#1 := true
+#51 := (not true)
+#54 := (iff #51 false)
+#55 := [rewrite]: #54
+#52 := (iff #46 #51)
+#49 := (iff #43 true)
+#50 := [rewrite]: #49
+#53 := [monotonicity #50]: #52
+#57 := [trans #53 #55]: #56
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#41 := (= #11 222::real)
+#32 := -123::real
+#35 := (+ -123::real 345::real)
+#39 := (= #35 222::real)
+#40 := [rewrite]: #39
+#36 := (= #11 #35)
+#33 := (= #9 -123::real)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#42 := [trans #37 #40]: #41
+#45 := [monotonicity #42]: #44
+#48 := [monotonicity #45]: #47
+#59 := [trans #48 #57]: #58
+#31 := [asserted]: #14
+[mp #31 #59]: false
+unsat
+15b2b70e02e33b3fd62ad125d3d090b78e843ef0 18 0
+#2 := false
+#9 := 2345678901::real
+#8 := 123456789::real
+#10 := (< 123456789::real 2345678901::real)
+#11 := (not #10)
+#38 := (iff #11 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #11 #33)
+#31 := (iff #10 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#28 := [asserted]: #11
+[mp #28 #39]: false
+unsat
+1f807fc1d963d1157d011baf2bc15be87a543e47 80 0
 #2 := false
 #53 := 0::int
 decl f4 :: int
@@ -19502,7 +46230,38 @@
 #94 := [not-or-elim #93]: #54
 [th-lemma #94 #96 #97]: false
 unsat
-31af85823bea7952455c5b8289eec98083c10812 80 0
+99d44ac5b1eabf28408c90ba22548007cb115846 30 0
+#2 := false
+#10 := 2345678901::real
+#8 := 123456789::real
+#9 := (- 123456789::real)
+#11 := (< #9 2345678901::real)
+#12 := (not #11)
+#48 := (iff #12 false)
+#30 := -123456789::real
+#33 := (< -123456789::real 2345678901::real)
+#36 := (not #33)
+#46 := (iff #36 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #36 #41)
+#39 := (iff #33 true)
+#40 := [rewrite]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#37 := (iff #12 #36)
+#34 := (iff #11 #33)
+#31 := (= #9 -123456789::real)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#38 := [monotonicity #35]: #37
+#49 := [trans #38 #47]: #48
+#29 := [asserted]: #12
+[mp #29 #49]: false
+unsat
+285e04b09127df030f3fb9fc56707e4ac5536d20 80 0
 #2 := false
 #52 := 0::int
 decl f4 :: int
@@ -19583,7 +46342,61 @@
 #96 := [not-or-elim #93]: #95
 [th-lemma #96 #94 #97]: false
 unsat
-e48677f09b08fd6733ef8c5373faf8e64833ab2c 85 0
+1e2efa99a6b6da8267e97fbabfbfc4ad6d75e298 26 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#9 := 0::real
+#10 := (+ f3 0::real)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+db8ff96061c803374c98cc69bff61f209e6704b2 26 0
+#2 := false
+decl f3 :: real
+#9 := f3
+#8 := 0::real
+#10 := (+ 0::real f3)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+ef932f399da076ed00e03e4da73316a7d197a3fc 85 0
 #2 := false
 #52 := 0::int
 decl f4 :: int
@@ -19669,7 +46482,37 @@
 #101 := [not-or-elim #99]: #66
 [th-lemma #101 #100 #102]: false
 unsat
-4ae7128a23bf2930a8498c167f5a28b2e14524e3 69 0
+0e8698b45bf05888a03321a1f80727dbab79ce92 29 0
+#2 := false
+decl f3 :: real
+#8 := f3
+decl f4 :: real
+#9 := f4
+#11 := (+ f4 f3)
+#10 := (+ f3 f4)
+#12 := (= #10 #11)
+#13 := (not #12)
+#45 := (iff #13 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #13 #40)
+#38 := (iff #12 true)
+#33 := (= #10 #10)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #12 #33)
+#31 := (= #11 #10)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#30 := [asserted]: #13
+[mp #30 #46]: false
+unsat
+fa0e4c03539b13ece5f7ecd99f1cc759989c1bcf 69 0
 #2 := false
 #44 := 0::int
 decl f5 :: int
@@ -19739,317 +46582,7 @@
 #85 := [and-elim #83]: #53
 [th-lemma #85 #84 #86]: false
 unsat
-3680b6c490cc91b12df65cc99434d497190dfa9a 17 0
-#2 := false
-#8 := 0::real
-#9 := (= 0::real 0::real)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-ec737777e677e7c45520e1db9e539dd2412843f6 25 0
-#2 := false
-#8 := 0::real
-#9 := (- 0::real)
-#10 := (= 0::real #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (= 0::real 0::real)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #10 #31)
-#29 := (= #9 0::real)
-#30 := [rewrite]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-200cec1612f3827738af83efa5baf8bfcd74c7e6 17 0
-#2 := false
-#8 := 1::real
-#9 := (= 1::real 1::real)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-d3fb8e790d00a83a7b4b9342eef24670066914ba 34 0
-#2 := false
-#8 := 1::real
-#9 := (- 1::real)
-#10 := (= #9 1::real)
-#11 := (not #10)
-#12 := (not #11)
-#52 := (iff #12 false)
-#1 := true
-#47 := (not true)
-#50 := (iff #47 false)
-#51 := [rewrite]: #50
-#48 := (iff #12 #47)
-#45 := (iff #11 true)
-#40 := (not false)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#41 := (iff #11 #40)
-#38 := (iff #10 false)
-#30 := -1::real
-#33 := (= -1::real 1::real)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #10 #33)
-#31 := (= #9 -1::real)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#29 := [asserted]: #12
-[mp #29 #53]: false
-unsat
-71a16b5f7cfa5ed20839063a47fff437d61d2c53 18 0
-#2 := false
-#9 := 1::real
-#8 := 0::real
-#10 := (< 0::real 1::real)
-#11 := (not #10)
-#38 := (iff #11 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#28 := [asserted]: #11
-[mp #28 #39]: false
-unsat
-2428cde9ba944e6b67ba948c2db63ec99833c830 18 0
-#2 := false
-#9 := 1::real
-#8 := 0::real
-#10 := (<= 0::real 1::real)
-#11 := (not #10)
-#38 := (iff #11 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#28 := [asserted]: #11
-[mp #28 #39]: false
-unsat
-3d517e934dda3c9e791e45743b6060cbe359a1b0 40 0
-#2 := false
-#12 := 567::real
-#10 := 345::real
-#8 := 123::real
-#9 := (- 123::real)
-#11 := (+ #9 345::real)
-#13 := (< #11 567::real)
-#14 := (not #13)
-#58 := (iff #14 false)
-#38 := 222::real
-#43 := (< 222::real 567::real)
-#46 := (not #43)
-#56 := (iff #46 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #46 #51)
-#49 := (iff #43 true)
-#50 := [rewrite]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#41 := (= #11 222::real)
-#32 := -123::real
-#35 := (+ -123::real 345::real)
-#39 := (= #35 222::real)
-#40 := [rewrite]: #39
-#36 := (= #11 #35)
-#33 := (= #9 -123::real)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#42 := [trans #37 #40]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#59 := [trans #48 #57]: #58
-#31 := [asserted]: #14
-[mp #31 #59]: false
-unsat
-7ea96733c54b74118ac502b44b56589cca23bf91 18 0
-#2 := false
-#9 := 2345678901::real
-#8 := 123456789::real
-#10 := (< 123456789::real 2345678901::real)
-#11 := (not #10)
-#38 := (iff #11 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#28 := [asserted]: #11
-[mp #28 #39]: false
-unsat
-dadd2b3f64435d0fb7af768c594e06ecb347e621 30 0
-#2 := false
-#10 := 2345678901::real
-#8 := 123456789::real
-#9 := (- 123456789::real)
-#11 := (< #9 2345678901::real)
-#12 := (not #11)
-#48 := (iff #12 false)
-#30 := -123456789::real
-#33 := (< -123456789::real 2345678901::real)
-#36 := (not #33)
-#46 := (iff #36 false)
-#1 := true
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #36 #41)
-#39 := (iff #33 true)
-#40 := [rewrite]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#37 := (iff #12 #36)
-#34 := (iff #11 #33)
-#31 := (= #9 -123456789::real)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#38 := [monotonicity #35]: #37
-#49 := [trans #38 #47]: #48
-#29 := [asserted]: #12
-[mp #29 #49]: false
-unsat
-70e88c864c6db4b847a2f7eb6c64b44c8f1c8124 26 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#9 := 0::real
-#10 := (+ f3 0::real)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-1750fe3e6afdf716eeb70c933529e67e9b6803c7 26 0
-#2 := false
-decl f3 :: real
-#9 := f3
-#8 := 0::real
-#10 := (+ 0::real f3)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-69d20d63c84007048141281611e49dadf61146c1 29 0
-#2 := false
-decl f3 :: real
-#8 := f3
-decl f4 :: real
-#9 := f4
-#11 := (+ f4 f3)
-#10 := (+ f3 f4)
-#12 := (= #10 #11)
-#13 := (not #12)
-#45 := (iff #13 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #13 #40)
-#38 := (iff #12 true)
-#33 := (= #10 #10)
-#36 := (iff #33 true)
-#37 := [rewrite]: #36
-#34 := (iff #12 #33)
-#31 := (= #11 #10)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#30 := [asserted]: #13
-[mp #30 #46]: false
-unsat
-1a0a736d3a32332defd35838ed3918f39ef91381 33 0
+38433e3faa18ccf7e7f7256e4aa4dd42dcf43860 33 0
 #2 := false
 decl f5 :: real
 #10 := f5
@@ -20083,7 +46616,7 @@
 #33 := [asserted]: #16
 [mp #33 #49]: false
 unsat
-d40ed0654760a137f6aba17a9e5eb1b632371b23 45 0
+1fdb35a1399271a8f0f610e1f353642ad440e0a5 45 0
 #2 := false
 decl f4 :: real
 #9 := f4
@@ -20129,7 +46662,7 @@
 #33 := [asserted]: #16
 [mp #33 #63]: false
 unsat
-2e5f7999cc8eb3b8360ba5eefe8486091d5b23e0 58 0
+1dd629fda226d261e70599846e7cb0aed5bce0e4 58 0
 #2 := false
 decl f3 :: real
 #8 := f3
@@ -20188,7 +46721,34 @@
 #31 := [asserted]: #14
 [mp #31 #77]: false
 unsat
-e9e8aa80c40e8ef0e6e99e4aa18d0a13b21b0376 61 0
+f05f2d2d486f345aec8eda31ab857db74ae27876 26 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#9 := 0::real
+#10 := (- f3 0::real)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+56d5d1ebf2a3e86b0eef89fb438ab0199a14cb1f 61 0
 #2 := false
 #8 := 0::real
 decl f3 :: real
@@ -20250,96 +46810,7 @@
 #31 := [asserted]: #14
 [mp #31 #79]: false
 unsat
-0ace06c6b03ac83c82084015bdca2809234a4101 61 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#11 := (- f3)
-#9 := 0::real
-#12 := (< 0::real #11)
-#10 := (< f3 0::real)
-#13 := (implies #10 #12)
-#14 := (not #13)
-#78 := (iff #14 false)
-#32 := -1::real
-#33 := (* -1::real f3)
-#36 := (< 0::real #33)
-#42 := (not #10)
-#43 := (or #42 #36)
-#48 := (not #43)
-#76 := (iff #48 false)
-#1 := true
-#71 := (not true)
-#74 := (iff #71 false)
-#75 := [rewrite]: #74
-#72 := (iff #48 #71)
-#69 := (iff #43 true)
-#51 := (>= f3 0::real)
-#52 := (not #51)
-#64 := (or #51 #52)
-#67 := (iff #64 true)
-#68 := [rewrite]: #67
-#65 := (iff #43 #64)
-#62 := (iff #36 #52)
-#63 := [rewrite]: #62
-#60 := (iff #42 #51)
-#55 := (not #52)
-#58 := (iff #55 #51)
-#59 := [rewrite]: #58
-#56 := (iff #42 #55)
-#53 := (iff #10 #52)
-#54 := [rewrite]: #53
-#57 := [monotonicity #54]: #56
-#61 := [trans #57 #59]: #60
-#66 := [monotonicity #61 #63]: #65
-#70 := [trans #66 #68]: #69
-#73 := [monotonicity #70]: #72
-#77 := [trans #73 #75]: #76
-#49 := (iff #14 #48)
-#46 := (iff #13 #43)
-#39 := (implies #10 #36)
-#44 := (iff #39 #43)
-#45 := [rewrite]: #44
-#40 := (iff #13 #39)
-#37 := (iff #12 #36)
-#34 := (= #11 #33)
-#35 := [rewrite]: #34
-#38 := [monotonicity #35]: #37
-#41 := [monotonicity #38]: #40
-#47 := [trans #41 #45]: #46
-#50 := [monotonicity #47]: #49
-#79 := [trans #50 #77]: #78
-#31 := [asserted]: #14
-[mp #31 #79]: false
-unsat
-50c9906c7d751f92217d01455225257cf462c453 26 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#9 := 0::real
-#10 := (- f3 0::real)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-acca7aae09e2e9a49a4d632200e33dc782e588aa 32 0
+790f41c10a6a91834ac605d1e5a736ba38cac6ca 32 0
 #2 := false
 decl f3 :: real
 #9 := f3
@@ -20372,7 +46843,7 @@
 #30 := [asserted]: #13
 [mp #30 #50]: false
 unsat
-7e2acc6f3578e9594f16685aec01d464f0afcefe 64 0
+45b60930fea61c4a8f7b103e68e903e1ceab7852 64 0
 #2 := false
 #12 := 0::real
 decl f4 :: real
@@ -20437,7 +46908,69 @@
 #32 := [asserted]: #15
 [mp #32 #81]: false
 unsat
-b9bc7b6c72b913aad9adac918987becb58cf13fa 44 0
+60ae5a86685e4f3dd9f231aaafe937bfd9ceb4bc 61 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#11 := (- f3)
+#9 := 0::real
+#12 := (< 0::real #11)
+#10 := (< f3 0::real)
+#13 := (implies #10 #12)
+#14 := (not #13)
+#78 := (iff #14 false)
+#32 := -1::real
+#33 := (* -1::real f3)
+#36 := (< 0::real #33)
+#42 := (not #10)
+#43 := (or #42 #36)
+#48 := (not #43)
+#76 := (iff #48 false)
+#1 := true
+#71 := (not true)
+#74 := (iff #71 false)
+#75 := [rewrite]: #74
+#72 := (iff #48 #71)
+#69 := (iff #43 true)
+#51 := (>= f3 0::real)
+#52 := (not #51)
+#64 := (or #51 #52)
+#67 := (iff #64 true)
+#68 := [rewrite]: #67
+#65 := (iff #43 #64)
+#62 := (iff #36 #52)
+#63 := [rewrite]: #62
+#60 := (iff #42 #51)
+#55 := (not #52)
+#58 := (iff #55 #51)
+#59 := [rewrite]: #58
+#56 := (iff #42 #55)
+#53 := (iff #10 #52)
+#54 := [rewrite]: #53
+#57 := [monotonicity #54]: #56
+#61 := [trans #57 #59]: #60
+#66 := [monotonicity #61 #63]: #65
+#70 := [trans #66 #68]: #69
+#73 := [monotonicity #70]: #72
+#77 := [trans #73 #75]: #76
+#49 := (iff #14 #48)
+#46 := (iff #13 #43)
+#39 := (implies #10 #36)
+#44 := (iff #39 #43)
+#45 := [rewrite]: #44
+#40 := (iff #13 #39)
+#37 := (iff #12 #36)
+#34 := (= #11 #33)
+#35 := [rewrite]: #34
+#38 := [monotonicity #35]: #37
+#41 := [monotonicity #38]: #40
+#47 := [trans #41 #45]: #46
+#50 := [monotonicity #47]: #49
+#79 := [trans #50 #77]: #78
+#31 := [asserted]: #14
+[mp #31 #79]: false
+unsat
+390f065bbd860ad0bb40feb02d88be98544fabc4 44 0
 #2 := false
 decl f3 :: real
 #8 := f3
@@ -20482,7 +47015,7 @@
 #31 := [asserted]: #14
 [mp #31 #61]: false
 unsat
-73bf4a32a24c07787655407ab8d48c7e68594bd3 42 0
+ff168f63f9897fde96bfb7de5db7da56a8ec5202 42 0
 #2 := false
 decl f3 :: real
 #8 := f3
@@ -20525,7 +47058,7 @@
 #31 := [asserted]: #14
 [mp #31 #59]: false
 unsat
-00dd8ae97a6500a3bdd8c17f92b12c5c85a7310b 48 0
+fbdc4cb05a56d63893610ccb3b08ec35be0de896 48 0
 #2 := false
 decl f5 :: real
 #11 := f5
@@ -20574,7 +47107,7 @@
 #33 := [asserted]: #16
 [mp #33 #64]: false
 unsat
-9bd93d3b0ddd945e550dcfe8a6ffb45c7f693fe1 30 0
+35cb5c6f18d527568affbd6fa3b8106b1a97d4c5 30 0
 #2 := false
 #8 := 1::real
 #9 := 2::real
@@ -20605,7 +47138,44 @@
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-8df4cccdaeae7b8dba6943e970d61ef9c5d5c03a 27 0
+a66448e31ec3061bc2656a02b5d410722684294d 36 0
+#2 := false
+decl f3 :: real
+#9 := f3
+#8 := 3::real
+#10 := (/ f3 3::real)
+#11 := (* 3::real #10)
+#12 := (= #11 f3)
+#13 := (not #12)
+#53 := (iff #13 false)
+#1 := true
+#48 := (not true)
+#51 := (iff #48 false)
+#52 := [rewrite]: #51
+#49 := (iff #13 #48)
+#46 := (iff #12 true)
+#41 := (= f3 f3)
+#44 := (iff #41 true)
+#45 := [rewrite]: #44
+#42 := (iff #12 #41)
+#31 := 1/3::real
+#32 := (* 1/3::real f3)
+#35 := (* 3::real #32)
+#38 := (= #35 f3)
+#39 := [rewrite]: #38
+#36 := (= #11 #35)
+#33 := (= #10 #32)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#40 := [trans #37 #39]: #12
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#50 := [monotonicity #47]: #49
+#54 := [trans #50 #52]: #53
+#30 := [asserted]: #13
+[mp #30 #54]: false
+unsat
+3037834a6c55cfbe96598ac3d4b462835eeaed7d 27 0
 #2 := false
 #9 := 3::real
 #8 := 1::real
@@ -20633,7 +47203,43 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-3d1c0db1afc349d77cdcd71f7e3bab1aba5dbe51 48 0
+0c0a26d5b20997d02798707aedc1fa07591ae1bf 35 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#9 := 3::real
+#10 := (* f3 3::real)
+#11 := (/ #10 3::real)
+#12 := (= #11 f3)
+#13 := (not #12)
+#52 := (iff #13 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #13 #47)
+#45 := (iff #12 true)
+#40 := (= f3 f3)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#41 := (iff #12 #40)
+#31 := (* 3::real f3)
+#34 := (/ #31 3::real)
+#37 := (= #34 f3)
+#38 := [rewrite]: #37
+#35 := (= #11 #34)
+#32 := (= #10 #31)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#39 := [trans #36 #38]: #12
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#30 := [asserted]: #13
+[mp #30 #53]: false
+unsat
+c0ca03e227f816842315b007cba7acf006e07203 48 0
 #2 := false
 #9 := 3::real
 #8 := 1::real
@@ -20682,310 +47288,7 @@
 #32 := [asserted]: #15
 [mp #32 #67]: false
 unsat
-87b5c605d55a2e66da4dfd975d21b4153bb5414e 36 0
-#2 := false
-#10 := 3::real
-#8 := 1::real
-#9 := (- 1::real)
-#11 := (/ #9 3::real)
-#12 := (= #11 #11)
-#13 := (not #12)
-#54 := (iff #13 false)
-#1 := true
-#49 := (not true)
-#52 := (iff #49 false)
-#53 := [rewrite]: #52
-#50 := (iff #13 #49)
-#47 := (iff #12 true)
-#37 := -1/3::real
-#42 := (= -1/3::real -1/3::real)
-#45 := (iff #42 true)
-#46 := [rewrite]: #45
-#43 := (iff #12 #42)
-#40 := (= #11 -1/3::real)
-#31 := -1::real
-#34 := (/ -1::real 3::real)
-#38 := (= #34 -1/3::real)
-#39 := [rewrite]: #38
-#35 := (= #11 #34)
-#32 := (= #9 -1::real)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#41 := [trans #36 #39]: #40
-#44 := [monotonicity #41 #41]: #43
-#48 := [trans #44 #46]: #47
-#51 := [monotonicity #48]: #50
-#55 := [trans #51 #53]: #54
-#30 := [asserted]: #13
-[mp #30 #55]: false
-unsat
-c568dbbce6e2e01b901ce930d7e767e667036eac 43 0
-#2 := false
-#10 := 3::real
-#8 := 1::real
-#13 := (/ 1::real 3::real)
-#11 := (- 3::real)
-#9 := (- 1::real)
-#12 := (/ #9 #11)
-#14 := (= #12 #13)
-#15 := (not #14)
-#61 := (iff #15 false)
-#1 := true
-#56 := (not true)
-#59 := (iff #56 false)
-#60 := [rewrite]: #59
-#57 := (iff #15 #56)
-#54 := (iff #14 true)
-#42 := 1/3::real
-#49 := (= 1/3::real 1/3::real)
-#52 := (iff #49 true)
-#53 := [rewrite]: #52
-#50 := (iff #14 #49)
-#47 := (= #13 1/3::real)
-#48 := [rewrite]: #47
-#45 := (= #12 1/3::real)
-#36 := -3::real
-#33 := -1::real
-#39 := (/ -1::real -3::real)
-#43 := (= #39 1/3::real)
-#44 := [rewrite]: #43
-#40 := (= #12 #39)
-#37 := (= #11 -3::real)
-#38 := [rewrite]: #37
-#34 := (= #9 -1::real)
-#35 := [rewrite]: #34
-#41 := [monotonicity #35 #38]: #40
-#46 := [trans #41 #44]: #45
-#51 := [monotonicity #46 #48]: #50
-#55 := [trans #51 #53]: #54
-#58 := [monotonicity #55]: #57
-#62 := [trans #58 #60]: #61
-#32 := [asserted]: #15
-[mp #32 #62]: false
-unsat
-b263639810279d9b6652040b63841cf9ecc49673 26 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#9 := 1::real
-#10 := (/ f3 1::real)
-#11 := (= #10 f3)
-#12 := (not #11)
-#43 := (iff #12 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #12 #38)
-#36 := (iff #11 true)
-#31 := (= f3 f3)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #11 #31)
-#30 := [rewrite]: #11
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#29 := [asserted]: #12
-[mp #29 #44]: false
-unsat
-7d08518b217d1a1becfa0af110d54307de30c5dc 60 0
-#2 := false
-#8 := 0::real
-decl f3 :: real
-#9 := f3
-#65 := 2/3::real
-#66 := (* 2/3::real f3)
-#67 := (<= #66 0::real)
-#63 := (not #67)
-#52 := (<= f3 0::real)
-#69 := (or #52 #63)
-#72 := (not #69)
-#11 := 3::real
-#12 := (/ f3 3::real)
-#13 := (< #12 f3)
-#10 := (< 0::real f3)
-#14 := (implies #10 #13)
-#15 := (not #14)
-#75 := (iff #15 #72)
-#33 := 1/3::real
-#34 := (* 1/3::real f3)
-#37 := (< #34 f3)
-#43 := (not #10)
-#44 := (or #43 #37)
-#49 := (not #44)
-#73 := (iff #49 #72)
-#70 := (iff #44 #69)
-#64 := (iff #37 #63)
-#68 := [rewrite]: #64
-#61 := (iff #43 #52)
-#53 := (not #52)
-#56 := (not #53)
-#59 := (iff #56 #52)
-#60 := [rewrite]: #59
-#57 := (iff #43 #56)
-#54 := (iff #10 #53)
-#55 := [rewrite]: #54
-#58 := [monotonicity #55]: #57
-#62 := [trans #58 #60]: #61
-#71 := [monotonicity #62 #68]: #70
-#74 := [monotonicity #71]: #73
-#50 := (iff #15 #49)
-#47 := (iff #14 #44)
-#40 := (implies #10 #37)
-#45 := (iff #40 #44)
-#46 := [rewrite]: #45
-#41 := (iff #14 #40)
-#38 := (iff #13 #37)
-#35 := (= #12 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#42 := [monotonicity #39]: #41
-#48 := [trans #42 #46]: #47
-#51 := [monotonicity #48]: #50
-#76 := [trans #51 #74]: #75
-#32 := [asserted]: #15
-#77 := [mp #32 #76]: #72
-#79 := [not-or-elim #77]: #67
-#78 := [not-or-elim #77]: #53
-[th-lemma #78 #79]: false
-unsat
-6c2103bd90ca9e5c8cf0a5b4be8090b54399dce8 60 0
-#2 := false
-#9 := 0::real
-decl f3 :: real
-#8 := f3
-#67 := 2/3::real
-#68 := (* 2/3::real f3)
-#65 := (>= #68 0::real)
-#63 := (not #65)
-#54 := (>= f3 0::real)
-#69 := (or #54 #63)
-#72 := (not #69)
-#11 := 3::real
-#12 := (/ f3 3::real)
-#13 := (< f3 #12)
-#10 := (< f3 0::real)
-#14 := (implies #10 #13)
-#15 := (not #14)
-#75 := (iff #15 #72)
-#33 := 1/3::real
-#34 := (* 1/3::real f3)
-#37 := (< f3 #34)
-#43 := (not #10)
-#44 := (or #43 #37)
-#49 := (not #44)
-#73 := (iff #49 #72)
-#70 := (iff #44 #69)
-#64 := (iff #37 #63)
-#66 := [rewrite]: #64
-#61 := (iff #43 #54)
-#52 := (not #54)
-#56 := (not #52)
-#59 := (iff #56 #54)
-#60 := [rewrite]: #59
-#57 := (iff #43 #56)
-#53 := (iff #10 #52)
-#55 := [rewrite]: #53
-#58 := [monotonicity #55]: #57
-#62 := [trans #58 #60]: #61
-#71 := [monotonicity #62 #66]: #70
-#74 := [monotonicity #71]: #73
-#50 := (iff #15 #49)
-#47 := (iff #14 #44)
-#40 := (implies #10 #37)
-#45 := (iff #40 #44)
-#46 := [rewrite]: #45
-#41 := (iff #14 #40)
-#38 := (iff #13 #37)
-#35 := (= #12 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#42 := [monotonicity #39]: #41
-#48 := [trans #42 #46]: #47
-#51 := [monotonicity #48]: #50
-#76 := [trans #51 #74]: #75
-#32 := [asserted]: #15
-#77 := [mp #32 #76]: #72
-#79 := [not-or-elim #77]: #65
-#78 := [not-or-elim #77]: #52
-[th-lemma #78 #79]: false
-unsat
-69f379b62648823dab96490b884403f1a100b051 36 0
-#2 := false
-decl f3 :: real
-#9 := f3
-#8 := 3::real
-#10 := (/ f3 3::real)
-#11 := (* 3::real #10)
-#12 := (= #11 f3)
-#13 := (not #12)
-#53 := (iff #13 false)
-#1 := true
-#48 := (not true)
-#51 := (iff #48 false)
-#52 := [rewrite]: #51
-#49 := (iff #13 #48)
-#46 := (iff #12 true)
-#41 := (= f3 f3)
-#44 := (iff #41 true)
-#45 := [rewrite]: #44
-#42 := (iff #12 #41)
-#31 := 1/3::real
-#32 := (* 1/3::real f3)
-#35 := (* 3::real #32)
-#38 := (= #35 f3)
-#39 := [rewrite]: #38
-#36 := (= #11 #35)
-#33 := (= #10 #32)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#40 := [trans #37 #39]: #12
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#50 := [monotonicity #47]: #49
-#54 := [trans #50 #52]: #53
-#30 := [asserted]: #13
-[mp #30 #54]: false
-unsat
-3361302649d5a7d77b2ca31653ed08be03e48773 35 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#9 := 3::real
-#10 := (* f3 3::real)
-#11 := (/ #10 3::real)
-#12 := (= #11 f3)
-#13 := (not #12)
-#52 := (iff #13 false)
-#1 := true
-#47 := (not true)
-#50 := (iff #47 false)
-#51 := [rewrite]: #50
-#48 := (iff #13 #47)
-#45 := (iff #12 true)
-#40 := (= f3 f3)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#41 := (iff #12 #40)
-#31 := (* 3::real f3)
-#34 := (/ #31 3::real)
-#37 := (= #34 f3)
-#38 := [rewrite]: #37
-#35 := (= #11 #34)
-#32 := (= #10 #31)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#39 := [trans #36 #38]: #12
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#30 := [asserted]: #13
-[mp #30 #53]: false
-unsat
-a4bc584e73aac52f28ef031b730a576d8872cda7 62 0
+167b73607533e079718467537de3ca170ac6b4fc 62 0
 #2 := false
 #8 := 0::real
 decl f3 :: real
@@ -21048,7 +47351,88 @@
 #80 := [not-or-elim #79]: #55
 [th-lemma #80 #81]: false
 unsat
-3264c4e64061840798cc6aff819c1a9ea6efdf83 62 0
+407d897cdd96a77ccd0a5e9af3ea8310eebe935c 36 0
+#2 := false
+#10 := 3::real
+#8 := 1::real
+#9 := (- 1::real)
+#11 := (/ #9 3::real)
+#12 := (= #11 #11)
+#13 := (not #12)
+#54 := (iff #13 false)
+#1 := true
+#49 := (not true)
+#52 := (iff #49 false)
+#53 := [rewrite]: #52
+#50 := (iff #13 #49)
+#47 := (iff #12 true)
+#37 := -1/3::real
+#42 := (= -1/3::real -1/3::real)
+#45 := (iff #42 true)
+#46 := [rewrite]: #45
+#43 := (iff #12 #42)
+#40 := (= #11 -1/3::real)
+#31 := -1::real
+#34 := (/ -1::real 3::real)
+#38 := (= #34 -1/3::real)
+#39 := [rewrite]: #38
+#35 := (= #11 #34)
+#32 := (= #9 -1::real)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#41 := [trans #36 #39]: #40
+#44 := [monotonicity #41 #41]: #43
+#48 := [trans #44 #46]: #47
+#51 := [monotonicity #48]: #50
+#55 := [trans #51 #53]: #54
+#30 := [asserted]: #13
+[mp #30 #55]: false
+unsat
+dae8653f4906be077917c7741a65becd7fc6baa9 43 0
+#2 := false
+#10 := 3::real
+#8 := 1::real
+#13 := (/ 1::real 3::real)
+#11 := (- 3::real)
+#9 := (- 1::real)
+#12 := (/ #9 #11)
+#14 := (= #12 #13)
+#15 := (not #14)
+#61 := (iff #15 false)
+#1 := true
+#56 := (not true)
+#59 := (iff #56 false)
+#60 := [rewrite]: #59
+#57 := (iff #15 #56)
+#54 := (iff #14 true)
+#42 := 1/3::real
+#49 := (= 1/3::real 1/3::real)
+#52 := (iff #49 true)
+#53 := [rewrite]: #52
+#50 := (iff #14 #49)
+#47 := (= #13 1/3::real)
+#48 := [rewrite]: #47
+#45 := (= #12 1/3::real)
+#36 := -3::real
+#33 := -1::real
+#39 := (/ -1::real -3::real)
+#43 := (= #39 1/3::real)
+#44 := [rewrite]: #43
+#40 := (= #12 #39)
+#37 := (= #11 -3::real)
+#38 := [rewrite]: #37
+#34 := (= #9 -1::real)
+#35 := [rewrite]: #34
+#41 := [monotonicity #35 #38]: #40
+#46 := [trans #41 #44]: #45
+#51 := [monotonicity #46 #48]: #50
+#55 := [trans #51 #53]: #54
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#32 := [asserted]: #15
+[mp #32 #62]: false
+unsat
+5f5bc75d0e15785a03976c15c11ed28c9527a9c1 62 0
 #2 := false
 #9 := 0::real
 decl f3 :: real
@@ -21111,7 +47495,34 @@
 #80 := [not-or-elim #79]: #54
 [th-lemma #80 #81]: false
 unsat
-38c4aea1d2d6bacd07395ef4b2393dfbcb439bc0 75 0
+760d3be0f602d4f12e9c082b34c9607286d80e81 26 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#9 := 1::real
+#10 := (/ f3 1::real)
+#11 := (= #10 f3)
+#12 := (not #11)
+#43 := (iff #12 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #12 #38)
+#36 := (iff #11 true)
+#31 := (= f3 f3)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #11 #31)
+#30 := [rewrite]: #11
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#29 := [asserted]: #12
+[mp #29 #44]: false
+unsat
+490baa52b7aa34ed9cb90263f1ecd055bf5a7ff6 75 0
 #2 := false
 #8 := 0::real
 decl f3 :: real
@@ -21187,7 +47598,68 @@
 #96 := [unit-resolution #95 #92]: #90
 [th-lemma #89 #70 #96]: false
 unsat
-dfa0c0d7e307b713d1c0a6fb4345c0cb4048e97d 132 0
+9c25469b6a76ae1f1d1ef57b133f6ba4622084dd 60 0
+#2 := false
+#8 := 0::real
+decl f3 :: real
+#9 := f3
+#65 := 2/3::real
+#66 := (* 2/3::real f3)
+#67 := (<= #66 0::real)
+#63 := (not #67)
+#52 := (<= f3 0::real)
+#69 := (or #52 #63)
+#72 := (not #69)
+#11 := 3::real
+#12 := (/ f3 3::real)
+#13 := (< #12 f3)
+#10 := (< 0::real f3)
+#14 := (implies #10 #13)
+#15 := (not #14)
+#75 := (iff #15 #72)
+#33 := 1/3::real
+#34 := (* 1/3::real f3)
+#37 := (< #34 f3)
+#43 := (not #10)
+#44 := (or #43 #37)
+#49 := (not #44)
+#73 := (iff #49 #72)
+#70 := (iff #44 #69)
+#64 := (iff #37 #63)
+#68 := [rewrite]: #64
+#61 := (iff #43 #52)
+#53 := (not #52)
+#56 := (not #53)
+#59 := (iff #56 #52)
+#60 := [rewrite]: #59
+#57 := (iff #43 #56)
+#54 := (iff #10 #53)
+#55 := [rewrite]: #54
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#71 := [monotonicity #62 #68]: #70
+#74 := [monotonicity #71]: #73
+#50 := (iff #15 #49)
+#47 := (iff #14 #44)
+#40 := (implies #10 #37)
+#45 := (iff #40 #44)
+#46 := [rewrite]: #45
+#41 := (iff #14 #40)
+#38 := (iff #13 #37)
+#35 := (= #12 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#42 := [monotonicity #39]: #41
+#48 := [trans #42 #46]: #47
+#51 := [monotonicity #48]: #50
+#76 := [trans #51 #74]: #75
+#32 := [asserted]: #15
+#77 := [mp #32 #76]: #72
+#79 := [not-or-elim #77]: #67
+#78 := [not-or-elim #77]: #53
+[th-lemma #78 #79]: false
+unsat
+2dc606b7a7bd26f5089ecfacf1617fe8ce130325 132 0
 #2 := false
 #9 := 0::real
 decl f3 :: real
@@ -21320,7 +47792,68 @@
 #162 := [th-lemma]: #161
 [unit-resolution #162 #160 #143]: false
 unsat
-9adcfa237e60c42bd298fd44b174819c2b7e48c6 103 0
+0eac487a9514449bb01231188977421b8bb134df 60 0
+#2 := false
+#9 := 0::real
+decl f3 :: real
+#8 := f3
+#67 := 2/3::real
+#68 := (* 2/3::real f3)
+#65 := (>= #68 0::real)
+#63 := (not #65)
+#54 := (>= f3 0::real)
+#69 := (or #54 #63)
+#72 := (not #69)
+#11 := 3::real
+#12 := (/ f3 3::real)
+#13 := (< f3 #12)
+#10 := (< f3 0::real)
+#14 := (implies #10 #13)
+#15 := (not #14)
+#75 := (iff #15 #72)
+#33 := 1/3::real
+#34 := (* 1/3::real f3)
+#37 := (< f3 #34)
+#43 := (not #10)
+#44 := (or #43 #37)
+#49 := (not #44)
+#73 := (iff #49 #72)
+#70 := (iff #44 #69)
+#64 := (iff #37 #63)
+#66 := [rewrite]: #64
+#61 := (iff #43 #54)
+#52 := (not #54)
+#56 := (not #52)
+#59 := (iff #56 #54)
+#60 := [rewrite]: #59
+#57 := (iff #43 #56)
+#53 := (iff #10 #52)
+#55 := [rewrite]: #53
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#71 := [monotonicity #62 #66]: #70
+#74 := [monotonicity #71]: #73
+#50 := (iff #15 #49)
+#47 := (iff #14 #44)
+#40 := (implies #10 #37)
+#45 := (iff #40 #44)
+#46 := [rewrite]: #45
+#41 := (iff #14 #40)
+#38 := (iff #13 #37)
+#35 := (= #12 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#42 := [monotonicity #39]: #41
+#48 := [trans #42 #46]: #47
+#51 := [monotonicity #48]: #50
+#76 := [trans #51 #74]: #75
+#32 := [asserted]: #15
+#77 := [mp #32 #76]: #72
+#79 := [not-or-elim #77]: #65
+#78 := [not-or-elim #77]: #52
+[th-lemma #78 #79]: false
+unsat
+9db23a49c890fc2c240ef900b9554e7cff9b9382 103 0
 #2 := false
 #8 := 0::real
 decl f3 :: real
@@ -21424,7 +47957,7 @@
 #124 := [unit-resolution #123 #120]: #115
 [th-lemma #110 #124]: false
 unsat
-c4a9e24c8934134e79e09f07b7517e3fb630224e 149 0
+949e408b2eea8c150227b26f7ecc3f591066ebd6 149 0
 #2 := false
 #9 := 0::real
 decl f3 :: real
@@ -21574,7 +48107,123 @@
 #170 := [unit-resolution #169 #155]: #97
 [th-lemma #159 #170 #167]: false
 unsat
-fe8f01cf58e022d252300f3afc6a7b8ad4a81839 114 0
+9e92ed579ec028b4688be273656268ff0a3d0850 57 0
+#2 := false
+#36 := 0::real
+decl f4 :: real
+#9 := f4
+decl f3 :: real
+#8 := f3
+#33 := -1::real
+#34 := (* -1::real f4)
+#35 := (+ f3 #34)
+#37 := (<= #35 0::real)
+#40 := (ite #37 f3 f4)
+#48 := (* -1::real #40)
+#49 := (+ f3 #48)
+#47 := (>= #49 0::real)
+#53 := (not #47)
+#10 := (<= f3 f4)
+#11 := (ite #10 f3 f4)
+#12 := (<= #11 f3)
+#13 := (not #12)
+#54 := (iff #13 #53)
+#51 := (iff #12 #47)
+#43 := (<= #40 f3)
+#46 := (iff #43 #47)
+#50 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (= #11 #40)
+#38 := (iff #10 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#52 := [trans #45 #50]: #51
+#55 := [monotonicity #52]: #54
+#30 := [asserted]: #13
+#56 := [mp #30 #55]: #53
+#60 := (= f3 #40)
+#31 := (+ f4 #48)
+#65 := (>= #31 0::real)
+#61 := (= f4 #40)
+#62 := (not #37)
+#66 := [hypothesis]: #62
+#59 := (or #37 #61)
+#57 := [def-axiom]: #59
+#67 := [unit-resolution #57 #66]: #61
+#68 := (not #61)
+#69 := (or #68 #65)
+#70 := [th-lemma]: #69
+#71 := [unit-resolution #70 #67]: #65
+#72 := [th-lemma #56 #66 #71]: false
+#73 := [lemma #72]: #37
+#63 := (or #62 #60)
+#58 := [def-axiom]: #63
+#74 := [unit-resolution #58 #73]: #60
+#75 := (not #60)
+#76 := (or #75 #47)
+#77 := [th-lemma]: #76
+[unit-resolution #77 #74 #56]: false
+unsat
+49128a64794a78bd051fb157e2f6db1aa53acbe7 57 0
+#2 := false
+#36 := 0::real
+decl f4 :: real
+#9 := f4
+#33 := -1::real
+#34 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#35 := (+ f3 #34)
+#37 := (<= #35 0::real)
+#40 := (ite #37 f3 f4)
+#61 := (= f4 #40)
+#65 := (not #61)
+#47 := (* -1::real #40)
+#48 := (+ f4 #47)
+#46 := (>= #48 0::real)
+#53 := (not #46)
+#10 := (<= f3 f4)
+#11 := (ite #10 f3 f4)
+#12 := (<= #11 f4)
+#13 := (not #12)
+#54 := (iff #13 #53)
+#51 := (iff #12 #46)
+#43 := (<= #40 f4)
+#49 := (iff #43 #46)
+#50 := [rewrite]: #49
+#44 := (iff #12 #43)
+#41 := (= #11 #40)
+#38 := (iff #10 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#52 := [trans #45 #50]: #51
+#55 := [monotonicity #52]: #54
+#30 := [asserted]: #13
+#56 := [mp #30 #55]: #53
+#64 := [hypothesis]: #61
+#66 := (or #65 #46)
+#67 := [th-lemma]: #66
+#68 := [unit-resolution #67 #64 #56]: false
+#69 := [lemma #68]: #65
+#59 := (or #37 #61)
+#57 := [def-axiom]: #59
+#72 := [unit-resolution #57 #69]: #37
+#31 := (+ f3 #47)
+#71 := (>= #31 0::real)
+#60 := (= f3 #40)
+#62 := (not #37)
+#63 := (or #62 #60)
+#58 := [def-axiom]: #63
+#73 := [unit-resolution #58 #72]: #60
+#74 := (not #60)
+#75 := (or #74 #71)
+#76 := [th-lemma]: #75
+#77 := [unit-resolution #76 #73]: #71
+[th-lemma #77 #56 #72]: false
+unsat
+ba68972e04b6d39e23213630ff5fcde9dcaca230 114 0
 #2 := false
 #9 := 0::real
 decl f3 :: real
@@ -21689,123 +48338,7 @@
 #143 := [unit-resolution #142 #139]: #137
 [th-lemma #136 #134 #143]: false
 unsat
-4d115301f8b89c507668ca5b7281bced36458867 57 0
-#2 := false
-#36 := 0::real
-decl f4 :: real
-#9 := f4
-decl f3 :: real
-#8 := f3
-#33 := -1::real
-#34 := (* -1::real f4)
-#35 := (+ f3 #34)
-#37 := (<= #35 0::real)
-#40 := (ite #37 f3 f4)
-#48 := (* -1::real #40)
-#49 := (+ f3 #48)
-#47 := (>= #49 0::real)
-#53 := (not #47)
-#10 := (<= f3 f4)
-#11 := (ite #10 f3 f4)
-#12 := (<= #11 f3)
-#13 := (not #12)
-#54 := (iff #13 #53)
-#51 := (iff #12 #47)
-#43 := (<= #40 f3)
-#46 := (iff #43 #47)
-#50 := [rewrite]: #46
-#44 := (iff #12 #43)
-#41 := (= #11 #40)
-#38 := (iff #10 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#52 := [trans #45 #50]: #51
-#55 := [monotonicity #52]: #54
-#30 := [asserted]: #13
-#56 := [mp #30 #55]: #53
-#60 := (= f3 #40)
-#31 := (+ f4 #48)
-#65 := (>= #31 0::real)
-#61 := (= f4 #40)
-#62 := (not #37)
-#66 := [hypothesis]: #62
-#59 := (or #37 #61)
-#57 := [def-axiom]: #59
-#67 := [unit-resolution #57 #66]: #61
-#68 := (not #61)
-#69 := (or #68 #65)
-#70 := [th-lemma]: #69
-#71 := [unit-resolution #70 #67]: #65
-#72 := [th-lemma #56 #66 #71]: false
-#73 := [lemma #72]: #37
-#63 := (or #62 #60)
-#58 := [def-axiom]: #63
-#74 := [unit-resolution #58 #73]: #60
-#75 := (not #60)
-#76 := (or #75 #47)
-#77 := [th-lemma]: #76
-[unit-resolution #77 #74 #56]: false
-unsat
-6655ab648d12420f565ba36d5ae332d6fbbff845 57 0
-#2 := false
-#36 := 0::real
-decl f4 :: real
-#9 := f4
-#33 := -1::real
-#34 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#35 := (+ f3 #34)
-#37 := (<= #35 0::real)
-#40 := (ite #37 f3 f4)
-#61 := (= f4 #40)
-#65 := (not #61)
-#47 := (* -1::real #40)
-#48 := (+ f4 #47)
-#46 := (>= #48 0::real)
-#53 := (not #46)
-#10 := (<= f3 f4)
-#11 := (ite #10 f3 f4)
-#12 := (<= #11 f4)
-#13 := (not #12)
-#54 := (iff #13 #53)
-#51 := (iff #12 #46)
-#43 := (<= #40 f4)
-#49 := (iff #43 #46)
-#50 := [rewrite]: #49
-#44 := (iff #12 #43)
-#41 := (= #11 #40)
-#38 := (iff #10 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#52 := [trans #45 #50]: #51
-#55 := [monotonicity #52]: #54
-#30 := [asserted]: #13
-#56 := [mp #30 #55]: #53
-#64 := [hypothesis]: #61
-#66 := (or #65 #46)
-#67 := [th-lemma]: #66
-#68 := [unit-resolution #67 #64 #56]: false
-#69 := [lemma #68]: #65
-#59 := (or #37 #61)
-#57 := [def-axiom]: #59
-#72 := [unit-resolution #57 #69]: #37
-#31 := (+ f3 #47)
-#71 := (>= #31 0::real)
-#60 := (= f3 #40)
-#62 := (not #37)
-#63 := (or #62 #60)
-#58 := [def-axiom]: #63
-#73 := [unit-resolution #58 #72]: #60
-#74 := (not #60)
-#75 := (or #74 #71)
-#76 := [th-lemma]: #75
-#77 := [unit-resolution #76 #73]: #71
-[th-lemma #77 #56 #72]: false
-unsat
-ee668ce9e0fa0c7fac3c07515b5e406674a29e92 103 0
+a19015a56beb41efa267de75df62459c522bbc0a 103 0
 #2 := false
 #45 := 0::real
 decl f5 :: real
@@ -21909,7 +48442,123 @@
 #122 := [unit-resolution #121 #118]: #115
 [th-lemma #122 #92 #93]: false
 unsat
-6621a3ffc07b1d1f7378f6c00c067bb0ce9ac306 86 0
+385a845ab61bebe2a2caff1fe491e1a60a61d0b8 57 0
+#2 := false
+#36 := 0::real
+decl f4 :: real
+#9 := f4
+#33 := -1::real
+#34 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#35 := (+ f3 #34)
+#37 := (<= #35 0::real)
+#40 := (ite #37 f4 f3)
+#61 := (= f3 #40)
+#65 := (not #61)
+#46 := (* -1::real #40)
+#47 := (+ f3 #46)
+#48 := (<= #47 0::real)
+#53 := (not #48)
+#10 := (<= f3 f4)
+#11 := (ite #10 f4 f3)
+#12 := (<= f3 #11)
+#13 := (not #12)
+#54 := (iff #13 #53)
+#51 := (iff #12 #48)
+#43 := (<= f3 #40)
+#49 := (iff #43 #48)
+#50 := [rewrite]: #49
+#44 := (iff #12 #43)
+#41 := (= #11 #40)
+#38 := (iff #10 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#52 := [trans #45 #50]: #51
+#55 := [monotonicity #52]: #54
+#30 := [asserted]: #13
+#56 := [mp #30 #55]: #53
+#64 := [hypothesis]: #61
+#66 := (or #65 #48)
+#67 := [th-lemma]: #66
+#68 := [unit-resolution #67 #64 #56]: false
+#69 := [lemma #68]: #65
+#59 := (or #37 #61)
+#57 := [def-axiom]: #59
+#72 := [unit-resolution #57 #69]: #37
+#31 := (+ f4 #46)
+#70 := (<= #31 0::real)
+#60 := (= f4 #40)
+#62 := (not #37)
+#63 := (or #62 #60)
+#58 := [def-axiom]: #63
+#73 := [unit-resolution #58 #72]: #60
+#74 := (not #60)
+#75 := (or #74 #70)
+#76 := [th-lemma]: #75
+#77 := [unit-resolution #76 #73]: #70
+[th-lemma #77 #56 #72]: false
+unsat
+3bf0824ed026ba333e5bb1b1e54ccba54d70d87f 57 0
+#2 := false
+#35 := 0::real
+decl f4 :: real
+#9 := f4
+decl f3 :: real
+#8 := f3
+#33 := -1::real
+#37 := (* -1::real f4)
+#38 := (+ f3 #37)
+#36 := (>= #38 0::real)
+#40 := (ite #36 f3 f4)
+#46 := (* -1::real #40)
+#47 := (+ f3 #46)
+#48 := (<= #47 0::real)
+#53 := (not #48)
+#10 := (<= f4 f3)
+#11 := (ite #10 f3 f4)
+#12 := (<= f3 #11)
+#13 := (not #12)
+#54 := (iff #13 #53)
+#51 := (iff #12 #48)
+#43 := (<= f3 #40)
+#49 := (iff #43 #48)
+#50 := [rewrite]: #49
+#44 := (iff #12 #43)
+#41 := (= #11 #40)
+#34 := (iff #10 #36)
+#39 := [rewrite]: #34
+#42 := [monotonicity #39]: #41
+#45 := [monotonicity #42]: #44
+#52 := [trans #45 #50]: #51
+#55 := [monotonicity #52]: #54
+#30 := [asserted]: #13
+#56 := [mp #30 #55]: #53
+#60 := (= f3 #40)
+#31 := (+ f4 #46)
+#64 := (<= #31 0::real)
+#61 := (= f4 #40)
+#62 := (not #36)
+#66 := [hypothesis]: #62
+#59 := (or #36 #61)
+#57 := [def-axiom]: #59
+#67 := [unit-resolution #57 #66]: #61
+#68 := (not #61)
+#69 := (or #68 #64)
+#70 := [th-lemma]: #69
+#71 := [unit-resolution #70 #67]: #64
+#72 := [th-lemma #56 #66 #71]: false
+#73 := [lemma #72]: #36
+#63 := (or #62 #60)
+#58 := [def-axiom]: #63
+#74 := [unit-resolution #58 #73]: #60
+#75 := (not #60)
+#76 := (or #75 #48)
+#77 := [th-lemma]: #76
+[unit-resolution #77 #74 #56]: false
+unsat
+37f421aa1e81128329d966841b0fde5f3cd8d944 86 0
 #2 := false
 decl f3 :: real
 #8 := f3
@@ -21996,7 +48645,7 @@
 #105 := [trans #104 #83]: #51
 [unit-resolution #57 #105]: false
 unsat
-46bd95326d38ccebb90178efd68b73f641b282a9 68 0
+3b84d41e468d1d259c36f6a458b1bdd65a2c38ee 68 0
 #2 := false
 #8 := 0::real
 decl f3 :: real
@@ -22065,7 +48714,111 @@
 #88 := [trans #87 #84]: #13
 [unit-resolution #71 #88]: false
 unsat
-0bc87aa75b23fa78f642cf1f3aa485350d8be4f2 124 0
+56cfe43fc596233456f5d5ed3a41821e49f560df 103 0
+#2 := false
+#45 := 0::real
+decl f3 :: real
+#8 := f3
+decl f5 :: real
+#11 := f5
+#43 := -1::real
+#51 := (* -1::real f5)
+#63 := (+ f3 #51)
+#64 := (<= #63 0::real)
+#67 := (ite #64 f5 f3)
+#73 := (* -1::real #67)
+decl f4 :: real
+#9 := f4
+#74 := (+ f4 #73)
+#75 := (<= #74 0::real)
+#76 := (not #75)
+#52 := (+ f4 #51)
+#53 := (<= #52 0::real)
+#54 := (not #53)
+#47 := (* -1::real f4)
+#48 := (+ f3 #47)
+#46 := (>= #48 0::real)
+#44 := (not #46)
+#57 := (and #44 #54)
+#60 := (not #57)
+#81 := (or #60 #76)
+#84 := (not #81)
+#14 := (<= f3 f5)
+#15 := (ite #14 f5 f3)
+#16 := (< #15 f4)
+#12 := (< f5 f4)
+#10 := (< f3 f4)
+#13 := (and #10 #12)
+#17 := (implies #13 #16)
+#18 := (not #17)
+#87 := (iff #18 #84)
+#36 := (not #13)
+#37 := (or #36 #16)
+#40 := (not #37)
+#85 := (iff #40 #84)
+#82 := (iff #37 #81)
+#79 := (iff #16 #76)
+#70 := (< #67 f4)
+#77 := (iff #70 #76)
+#78 := [rewrite]: #77
+#71 := (iff #16 #70)
+#68 := (= #15 #67)
+#65 := (iff #14 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#72 := [monotonicity #69]: #71
+#80 := [trans #72 #78]: #79
+#61 := (iff #36 #60)
+#58 := (iff #13 #57)
+#55 := (iff #12 #54)
+#56 := [rewrite]: #55
+#49 := (iff #10 #44)
+#50 := [rewrite]: #49
+#59 := [monotonicity #50 #56]: #58
+#62 := [monotonicity #59]: #61
+#83 := [monotonicity #62 #80]: #82
+#86 := [monotonicity #83]: #85
+#41 := (iff #18 #40)
+#38 := (iff #17 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39]: #41
+#88 := [trans #42 #86]: #87
+#35 := [asserted]: #18
+#89 := [mp #35 #88]: #84
+#93 := [not-or-elim #89]: #75
+#90 := [not-or-elim #89]: #57
+#91 := [and-elim #90]: #44
+#97 := (+ f3 #73)
+#116 := (>= #97 0::real)
+#104 := (= f3 #67)
+#105 := (not #64)
+#103 := (= f5 #67)
+#110 := (not #103)
+#100 := (+ f5 #73)
+#98 := (>= #100 0::real)
+#107 := (not #98)
+#92 := [and-elim #90]: #54
+#96 := [hypothesis]: #98
+#94 := [th-lemma #96 #92 #93]: false
+#108 := [lemma #94]: #107
+#109 := [hypothesis]: #103
+#111 := (or #110 #98)
+#112 := [th-lemma]: #111
+#113 := [unit-resolution #112 #109 #108]: false
+#114 := [lemma #113]: #110
+#106 := (or #105 #103)
+#101 := [def-axiom]: #106
+#117 := [unit-resolution #101 #114]: #105
+#102 := (or #64 #104)
+#99 := [def-axiom]: #102
+#118 := [unit-resolution #99 #117]: #104
+#119 := (not #104)
+#120 := (or #119 #116)
+#121 := [th-lemma]: #120
+#122 := [unit-resolution #121 #118]: #116
+[th-lemma #122 #91 #93]: false
+unsat
+7c5cf575f0888dae85c506d289c48f18d6429f5a 124 0
 #2 := false
 #13 := 0::real
 decl f4 :: real
@@ -22190,227 +48943,7 @@
 #145 := [unit-resolution #117 #144]: #106
 [th-lemma #131 #143 #141 #85 #145]: false
 unsat
-80cd3c3fe766c682a1b2d6b1e7013b88feafd6ca 57 0
-#2 := false
-#36 := 0::real
-decl f4 :: real
-#9 := f4
-#33 := -1::real
-#34 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#35 := (+ f3 #34)
-#37 := (<= #35 0::real)
-#40 := (ite #37 f4 f3)
-#61 := (= f3 #40)
-#65 := (not #61)
-#46 := (* -1::real #40)
-#47 := (+ f3 #46)
-#48 := (<= #47 0::real)
-#53 := (not #48)
-#10 := (<= f3 f4)
-#11 := (ite #10 f4 f3)
-#12 := (<= f3 #11)
-#13 := (not #12)
-#54 := (iff #13 #53)
-#51 := (iff #12 #48)
-#43 := (<= f3 #40)
-#49 := (iff #43 #48)
-#50 := [rewrite]: #49
-#44 := (iff #12 #43)
-#41 := (= #11 #40)
-#38 := (iff #10 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#52 := [trans #45 #50]: #51
-#55 := [monotonicity #52]: #54
-#30 := [asserted]: #13
-#56 := [mp #30 #55]: #53
-#64 := [hypothesis]: #61
-#66 := (or #65 #48)
-#67 := [th-lemma]: #66
-#68 := [unit-resolution #67 #64 #56]: false
-#69 := [lemma #68]: #65
-#59 := (or #37 #61)
-#57 := [def-axiom]: #59
-#72 := [unit-resolution #57 #69]: #37
-#31 := (+ f4 #46)
-#70 := (<= #31 0::real)
-#60 := (= f4 #40)
-#62 := (not #37)
-#63 := (or #62 #60)
-#58 := [def-axiom]: #63
-#73 := [unit-resolution #58 #72]: #60
-#74 := (not #60)
-#75 := (or #74 #70)
-#76 := [th-lemma]: #75
-#77 := [unit-resolution #76 #73]: #70
-[th-lemma #77 #56 #72]: false
-unsat
-6eb0fb73353335cf541aa0794ee6ca4d2c180864 57 0
-#2 := false
-#35 := 0::real
-decl f4 :: real
-#9 := f4
-decl f3 :: real
-#8 := f3
-#33 := -1::real
-#37 := (* -1::real f4)
-#38 := (+ f3 #37)
-#36 := (>= #38 0::real)
-#40 := (ite #36 f3 f4)
-#46 := (* -1::real #40)
-#47 := (+ f3 #46)
-#48 := (<= #47 0::real)
-#53 := (not #48)
-#10 := (<= f4 f3)
-#11 := (ite #10 f3 f4)
-#12 := (<= f3 #11)
-#13 := (not #12)
-#54 := (iff #13 #53)
-#51 := (iff #12 #48)
-#43 := (<= f3 #40)
-#49 := (iff #43 #48)
-#50 := [rewrite]: #49
-#44 := (iff #12 #43)
-#41 := (= #11 #40)
-#34 := (iff #10 #36)
-#39 := [rewrite]: #34
-#42 := [monotonicity #39]: #41
-#45 := [monotonicity #42]: #44
-#52 := [trans #45 #50]: #51
-#55 := [monotonicity #52]: #54
-#30 := [asserted]: #13
-#56 := [mp #30 #55]: #53
-#60 := (= f3 #40)
-#31 := (+ f4 #46)
-#64 := (<= #31 0::real)
-#61 := (= f4 #40)
-#62 := (not #36)
-#66 := [hypothesis]: #62
-#59 := (or #36 #61)
-#57 := [def-axiom]: #59
-#67 := [unit-resolution #57 #66]: #61
-#68 := (not #61)
-#69 := (or #68 #64)
-#70 := [th-lemma]: #69
-#71 := [unit-resolution #70 #67]: #64
-#72 := [th-lemma #56 #66 #71]: false
-#73 := [lemma #72]: #36
-#63 := (or #62 #60)
-#58 := [def-axiom]: #63
-#74 := [unit-resolution #58 #73]: #60
-#75 := (not #60)
-#76 := (or #75 #48)
-#77 := [th-lemma]: #76
-[unit-resolution #77 #74 #56]: false
-unsat
-7294c1769d42d53cd19fbaf8cd8b1759222d3816 103 0
-#2 := false
-#45 := 0::real
-decl f3 :: real
-#8 := f3
-decl f5 :: real
-#11 := f5
-#43 := -1::real
-#51 := (* -1::real f5)
-#63 := (+ f3 #51)
-#64 := (<= #63 0::real)
-#67 := (ite #64 f5 f3)
-#73 := (* -1::real #67)
-decl f4 :: real
-#9 := f4
-#74 := (+ f4 #73)
-#75 := (<= #74 0::real)
-#76 := (not #75)
-#52 := (+ f4 #51)
-#53 := (<= #52 0::real)
-#54 := (not #53)
-#47 := (* -1::real f4)
-#48 := (+ f3 #47)
-#46 := (>= #48 0::real)
-#44 := (not #46)
-#57 := (and #44 #54)
-#60 := (not #57)
-#81 := (or #60 #76)
-#84 := (not #81)
-#14 := (<= f3 f5)
-#15 := (ite #14 f5 f3)
-#16 := (< #15 f4)
-#12 := (< f5 f4)
-#10 := (< f3 f4)
-#13 := (and #10 #12)
-#17 := (implies #13 #16)
-#18 := (not #17)
-#87 := (iff #18 #84)
-#36 := (not #13)
-#37 := (or #36 #16)
-#40 := (not #37)
-#85 := (iff #40 #84)
-#82 := (iff #37 #81)
-#79 := (iff #16 #76)
-#70 := (< #67 f4)
-#77 := (iff #70 #76)
-#78 := [rewrite]: #77
-#71 := (iff #16 #70)
-#68 := (= #15 #67)
-#65 := (iff #14 #64)
-#66 := [rewrite]: #65
-#69 := [monotonicity #66]: #68
-#72 := [monotonicity #69]: #71
-#80 := [trans #72 #78]: #79
-#61 := (iff #36 #60)
-#58 := (iff #13 #57)
-#55 := (iff #12 #54)
-#56 := [rewrite]: #55
-#49 := (iff #10 #44)
-#50 := [rewrite]: #49
-#59 := [monotonicity #50 #56]: #58
-#62 := [monotonicity #59]: #61
-#83 := [monotonicity #62 #80]: #82
-#86 := [monotonicity #83]: #85
-#41 := (iff #18 #40)
-#38 := (iff #17 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39]: #41
-#88 := [trans #42 #86]: #87
-#35 := [asserted]: #18
-#89 := [mp #35 #88]: #84
-#93 := [not-or-elim #89]: #75
-#90 := [not-or-elim #89]: #57
-#91 := [and-elim #90]: #44
-#97 := (+ f3 #73)
-#116 := (>= #97 0::real)
-#104 := (= f3 #67)
-#105 := (not #64)
-#103 := (= f5 #67)
-#110 := (not #103)
-#100 := (+ f5 #73)
-#98 := (>= #100 0::real)
-#107 := (not #98)
-#92 := [and-elim #90]: #54
-#96 := [hypothesis]: #98
-#94 := [th-lemma #96 #92 #93]: false
-#108 := [lemma #94]: #107
-#109 := [hypothesis]: #103
-#111 := (or #110 #98)
-#112 := [th-lemma]: #111
-#113 := [unit-resolution #112 #109 #108]: false
-#114 := [lemma #113]: #110
-#106 := (or #105 #103)
-#101 := [def-axiom]: #106
-#117 := [unit-resolution #101 #114]: #105
-#102 := (or #64 #104)
-#99 := [def-axiom]: #102
-#118 := [unit-resolution #99 #117]: #104
-#119 := (not #104)
-#120 := (or #119 #116)
-#121 := [th-lemma]: #120
-#122 := [unit-resolution #121 #118]: #116
-[th-lemma #122 #91 #93]: false
-unsat
-aa7d3312f6710561997326a18f2cc9732070e79e 88 0
+d61ccd78ced6caee45a422d1f20159081681ab1d 88 0
 #2 := false
 decl f4 :: real
 #9 := f4
@@ -22499,7 +49032,7 @@
 #109 := [trans #108 #83]: #51
 [unit-resolution #57 #109]: false
 unsat
-16abee9f0675672a15a1cf601bbd7cd463542971 66 0
+ca09892ea7a85486f9b03ea9c10592c837c45810 66 0
 #2 := false
 decl f3 :: real
 #9 := f3
@@ -22566,7 +49099,26 @@
 #86 := [trans #83 #85]: #33
 [unit-resolution #69 #86]: false
 unsat
-69ba0c9fc19b8d967fe68219b563ee3645949198 228 0
+43eaef47fadbc62036dedee99a53f5627c2aea2d 18 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#9 := (<= f3 f3)
+#10 := (not #9)
+#37 := (iff #10 false)
+#1 := true
+#32 := (not true)
+#35 := (iff #32 false)
+#36 := [rewrite]: #35
+#33 := (iff #10 #32)
+#30 := (iff #9 true)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31]: #33
+#38 := [trans #34 #36]: #37
+#27 := [asserted]: #10
+[mp #27 #38]: false
+unsat
+2a53f1e9691b42c6b60d21a29f4be1df277b5c0e 228 0
 #2 := false
 #9 := 0::real
 decl f4 :: real
@@ -22795,26 +49347,7 @@
 #250 := [unit-resolution #196 #249]: #190
 [th-lemma #236 #250 #131 #234 #248 #238]: false
 unsat
-20f752e2f472eccd72355373443410a7257bcab2 18 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#9 := (<= f3 f3)
-#10 := (not #9)
-#37 := (iff #10 false)
-#1 := true
-#32 := (not true)
-#35 := (iff #32 false)
-#36 := [rewrite]: #35
-#33 := (iff #10 #32)
-#30 := (iff #9 true)
-#31 := [rewrite]: #30
-#34 := [monotonicity #31]: #33
-#38 := [trans #34 #36]: #37
-#27 := [asserted]: #10
-[mp #27 #38]: false
-unsat
-de5d01d854b7029d707ff72bb7662d8b73532863 50 0
+f4ae26a6b5fd11d6cc627389a122029146dcae87 50 0
 #2 := false
 #44 := 0::real
 decl f4 :: real
@@ -22865,7 +49398,7 @@
 #68 := [not-or-elim #65]: #67
 [th-lemma #68 #66]: false
 unsat
-78432a7ec8ec5313cf1224b5d36cefc0e44a3f9a 55 0
+3c98043342d67c384e77c1b1c5755900a361dac4 55 0
 #2 := false
 #43 := 0::real
 decl f4 :: real
@@ -22921,7 +49454,7 @@
 #72 := [not-or-elim #71]: #42
 [th-lemma #72 #73]: false
 unsat
-6b577a8e26cad5ef5e776e0c3cf6f19a5beeec9c 52 0
+fe03b23c1657b4573ded6dbd4e82c4b99ddfa3be 52 0
 #2 := false
 #40 := 0::real
 decl f4 :: real
@@ -22974,417 +49507,7 @@
 #77 := [unit-resolution #76 #65]: #53
 [unit-resolution #77 #67]: false
 unsat
-581344987966d0feefc7d25de982e0418835e698 15 0
-#2 := false
-decl f3 :: real
-#8 := f3
-#9 := (< f3 f3)
-#10 := (not #9)
-#11 := (not #10)
-#33 := (iff #11 false)
-#31 := (iff #9 false)
-#32 := [rewrite]: #31
-#29 := (iff #11 #9)
-#30 := [rewrite]: #29
-#34 := [trans #30 #32]: #33
-#28 := [asserted]: #11
-[mp #28 #34]: false
-unsat
-62951481b86f3e786793e2f93fd5e340a23eb081 75 0
-#2 := false
-#53 := 0::real
-decl f4 :: real
-#9 := f4
-#50 := -1::real
-#64 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#65 := (+ f3 #64)
-#66 := (<= #65 0::real)
-#69 := (not #66)
-decl f5 :: real
-#11 := f5
-#51 := (* -1::real f5)
-#60 := (+ f3 #51)
-#61 := (<= #60 0::real)
-#52 := (+ f4 #51)
-#54 := (<= #52 0::real)
-#57 := (not #54)
-#78 := (or #57 #61 #69)
-#83 := (not #78)
-#13 := (<= f3 f5)
-#12 := (<= f4 f5)
-#14 := (implies #12 #13)
-#10 := (<= f3 f4)
-#15 := (implies #10 #14)
-#16 := (not #15)
-#86 := (iff #16 #83)
-#34 := (not #12)
-#35 := (or #34 #13)
-#41 := (not #10)
-#42 := (or #41 #35)
-#47 := (not #42)
-#84 := (iff #47 #83)
-#81 := (iff #42 #78)
-#72 := (or #57 #61)
-#75 := (or #69 #72)
-#79 := (iff #75 #78)
-#80 := [rewrite]: #79
-#76 := (iff #42 #75)
-#73 := (iff #35 #72)
-#62 := (iff #13 #61)
-#63 := [rewrite]: #62
-#58 := (iff #34 #57)
-#55 := (iff #12 #54)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#74 := [monotonicity #59 #63]: #73
-#70 := (iff #41 #69)
-#67 := (iff #10 #66)
-#68 := [rewrite]: #67
-#71 := [monotonicity #68]: #70
-#77 := [monotonicity #71 #74]: #76
-#82 := [trans #77 #80]: #81
-#85 := [monotonicity #82]: #84
-#48 := (iff #16 #47)
-#45 := (iff #15 #42)
-#38 := (implies #10 #35)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #15 #38)
-#36 := (iff #14 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#46 := [trans #40 #44]: #45
-#49 := [monotonicity #46]: #48
-#87 := [trans #49 #85]: #86
-#33 := [asserted]: #16
-#88 := [mp #33 #87]: #83
-#92 := [not-or-elim #88]: #66
-#90 := (not #61)
-#91 := [not-or-elim #88]: #90
-#89 := [not-or-elim #88]: #54
-[th-lemma #89 #91 #92]: false
-unsat
-0af1c435b2c76daa9283b9e1b16e38657d180db7 80 0
-#2 := false
-#53 := 0::real
-decl f4 :: real
-#9 := f4
-#50 := -1::real
-#66 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#67 := (+ f3 #66)
-#65 := (>= #67 0::real)
-#64 := (not #65)
-decl f5 :: real
-#11 := f5
-#51 := (* -1::real f5)
-#60 := (+ f3 #51)
-#61 := (<= #60 0::real)
-#52 := (+ f4 #51)
-#54 := (<= #52 0::real)
-#57 := (not #54)
-#83 := (or #57 #61 #65)
-#88 := (not #83)
-#13 := (<= f3 f5)
-#12 := (<= f4 f5)
-#14 := (implies #12 #13)
-#10 := (< f3 f4)
-#15 := (implies #10 #14)
-#16 := (not #15)
-#91 := (iff #16 #88)
-#34 := (not #12)
-#35 := (or #34 #13)
-#41 := (not #10)
-#42 := (or #41 #35)
-#47 := (not #42)
-#89 := (iff #47 #88)
-#86 := (iff #42 #83)
-#77 := (or #57 #61)
-#80 := (or #65 #77)
-#84 := (iff #80 #83)
-#85 := [rewrite]: #84
-#81 := (iff #42 #80)
-#78 := (iff #35 #77)
-#62 := (iff #13 #61)
-#63 := [rewrite]: #62
-#58 := (iff #34 #57)
-#55 := (iff #12 #54)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#79 := [monotonicity #59 #63]: #78
-#75 := (iff #41 #65)
-#70 := (not #64)
-#73 := (iff #70 #65)
-#74 := [rewrite]: #73
-#71 := (iff #41 #70)
-#68 := (iff #10 #64)
-#69 := [rewrite]: #68
-#72 := [monotonicity #69]: #71
-#76 := [trans #72 #74]: #75
-#82 := [monotonicity #76 #79]: #81
-#87 := [trans #82 #85]: #86
-#90 := [monotonicity #87]: #89
-#48 := (iff #16 #47)
-#45 := (iff #15 #42)
-#38 := (implies #10 #35)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #15 #38)
-#36 := (iff #14 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#46 := [trans #40 #44]: #45
-#49 := [monotonicity #46]: #48
-#92 := [trans #49 #90]: #91
-#33 := [asserted]: #16
-#93 := [mp #33 #92]: #88
-#97 := [not-or-elim #93]: #64
-#95 := (not #61)
-#96 := [not-or-elim #93]: #95
-#94 := [not-or-elim #93]: #54
-[th-lemma #94 #96 #97]: false
-unsat
-bc24b7127bf1ebd5e05fa62d67103e609bbd595b 80 0
-#2 := false
-#52 := 0::real
-decl f4 :: real
-#9 := f4
-#50 := -1::real
-#69 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#70 := (+ f3 #69)
-#71 := (<= #70 0::real)
-#74 := (not #71)
-decl f5 :: real
-#11 := f5
-#54 := (* -1::real f5)
-#65 := (+ f3 #54)
-#66 := (<= #65 0::real)
-#55 := (+ f4 #54)
-#53 := (>= #55 0::real)
-#83 := (or #53 #66 #74)
-#88 := (not #83)
-#13 := (<= f3 f5)
-#12 := (< f4 f5)
-#14 := (implies #12 #13)
-#10 := (<= f3 f4)
-#15 := (implies #10 #14)
-#16 := (not #15)
-#91 := (iff #16 #88)
-#34 := (not #12)
-#35 := (or #34 #13)
-#41 := (not #10)
-#42 := (or #41 #35)
-#47 := (not #42)
-#89 := (iff #47 #88)
-#86 := (iff #42 #83)
-#77 := (or #53 #66)
-#80 := (or #74 #77)
-#84 := (iff #80 #83)
-#85 := [rewrite]: #84
-#81 := (iff #42 #80)
-#78 := (iff #35 #77)
-#67 := (iff #13 #66)
-#68 := [rewrite]: #67
-#63 := (iff #34 #53)
-#51 := (not #53)
-#58 := (not #51)
-#61 := (iff #58 #53)
-#62 := [rewrite]: #61
-#59 := (iff #34 #58)
-#56 := (iff #12 #51)
-#57 := [rewrite]: #56
-#60 := [monotonicity #57]: #59
-#64 := [trans #60 #62]: #63
-#79 := [monotonicity #64 #68]: #78
-#75 := (iff #41 #74)
-#72 := (iff #10 #71)
-#73 := [rewrite]: #72
-#76 := [monotonicity #73]: #75
-#82 := [monotonicity #76 #79]: #81
-#87 := [trans #82 #85]: #86
-#90 := [monotonicity #87]: #89
-#48 := (iff #16 #47)
-#45 := (iff #15 #42)
-#38 := (implies #10 #35)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #15 #38)
-#36 := (iff #14 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#46 := [trans #40 #44]: #45
-#49 := [monotonicity #46]: #48
-#92 := [trans #49 #90]: #91
-#33 := [asserted]: #16
-#93 := [mp #33 #92]: #88
-#97 := [not-or-elim #93]: #71
-#94 := [not-or-elim #93]: #51
-#95 := (not #66)
-#96 := [not-or-elim #93]: #95
-[th-lemma #96 #94 #97]: false
-unsat
-3ea988e6f95dbd7bd08d11a287c40acf0b4bd08d 85 0
-#2 := false
-#52 := 0::real
-decl f4 :: real
-#9 := f4
-#50 := -1::real
-#72 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#73 := (+ f3 #72)
-#71 := (>= #73 0::real)
-#70 := (not #71)
-decl f5 :: real
-#11 := f5
-#54 := (* -1::real f5)
-#67 := (+ f3 #54)
-#66 := (>= #67 0::real)
-#65 := (not #66)
-#55 := (+ f4 #54)
-#53 := (>= #55 0::real)
-#89 := (or #53 #65 #71)
-#94 := (not #89)
-#13 := (< f3 f5)
-#12 := (< f4 f5)
-#14 := (implies #12 #13)
-#10 := (< f3 f4)
-#15 := (implies #10 #14)
-#16 := (not #15)
-#97 := (iff #16 #94)
-#34 := (not #12)
-#35 := (or #34 #13)
-#41 := (not #10)
-#42 := (or #41 #35)
-#47 := (not #42)
-#95 := (iff #47 #94)
-#92 := (iff #42 #89)
-#83 := (or #53 #65)
-#86 := (or #71 #83)
-#90 := (iff #86 #89)
-#91 := [rewrite]: #90
-#87 := (iff #42 #86)
-#84 := (iff #35 #83)
-#68 := (iff #13 #65)
-#69 := [rewrite]: #68
-#63 := (iff #34 #53)
-#51 := (not #53)
-#58 := (not #51)
-#61 := (iff #58 #53)
-#62 := [rewrite]: #61
-#59 := (iff #34 #58)
-#56 := (iff #12 #51)
-#57 := [rewrite]: #56
-#60 := [monotonicity #57]: #59
-#64 := [trans #60 #62]: #63
-#85 := [monotonicity #64 #69]: #84
-#81 := (iff #41 #71)
-#76 := (not #70)
-#79 := (iff #76 #71)
-#80 := [rewrite]: #79
-#77 := (iff #41 #76)
-#74 := (iff #10 #70)
-#75 := [rewrite]: #74
-#78 := [monotonicity #75]: #77
-#82 := [trans #78 #80]: #81
-#88 := [monotonicity #82 #85]: #87
-#93 := [trans #88 #91]: #92
-#96 := [monotonicity #93]: #95
-#48 := (iff #16 #47)
-#45 := (iff #15 #42)
-#38 := (implies #10 #35)
-#43 := (iff #38 #42)
-#44 := [rewrite]: #43
-#39 := (iff #15 #38)
-#36 := (iff #14 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#46 := [trans #40 #44]: #45
-#49 := [monotonicity #46]: #48
-#98 := [trans #49 #96]: #97
-#33 := [asserted]: #16
-#99 := [mp #33 #98]: #94
-#102 := [not-or-elim #99]: #70
-#100 := [not-or-elim #99]: #51
-#101 := [not-or-elim #99]: #66
-[th-lemma #101 #100 #102]: false
-unsat
-fa7bd11236791d7e4e69f14295f0dacac77cd667 69 0
-#2 := false
-#44 := 0::real
-decl f5 :: real
-#11 := f5
-#42 := -1::real
-#51 := (* -1::real f5)
-decl f3 :: real
-#8 := f3
-#62 := (+ f3 #51)
-#63 := (<= #62 0::real)
-#64 := (not #63)
-decl f4 :: real
-#9 := f4
-#52 := (+ f4 #51)
-#50 := (>= #52 0::real)
-#53 := (not #50)
-#46 := (* -1::real f4)
-#47 := (+ f3 #46)
-#45 := (>= #47 0::real)
-#43 := (not #45)
-#56 := (and #43 #53)
-#59 := (not #56)
-#74 := (or #59 #63)
-#77 := (not #74)
-#14 := (< f5 f3)
-#15 := (not #14)
-#12 := (< f4 f5)
-#10 := (< f3 f4)
-#13 := (and #10 #12)
-#16 := (implies #13 #15)
-#17 := (not #16)
-#80 := (iff #17 #77)
-#35 := (not #13)
-#36 := (or #35 #15)
-#39 := (not #36)
-#78 := (iff #39 #77)
-#75 := (iff #36 #74)
-#72 := (iff #15 #63)
-#67 := (not #64)
-#70 := (iff #67 #63)
-#71 := [rewrite]: #70
-#68 := (iff #15 #67)
-#65 := (iff #14 #64)
-#66 := [rewrite]: #65
-#69 := [monotonicity #66]: #68
-#73 := [trans #69 #71]: #72
-#60 := (iff #35 #59)
-#57 := (iff #13 #56)
-#54 := (iff #12 #53)
-#55 := [rewrite]: #54
-#48 := (iff #10 #43)
-#49 := [rewrite]: #48
-#58 := [monotonicity #49 #55]: #57
-#61 := [monotonicity #58]: #60
-#76 := [monotonicity #61 #73]: #75
-#79 := [monotonicity #76]: #78
-#40 := (iff #17 #39)
-#37 := (iff #16 #36)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#81 := [trans #41 #79]: #80
-#34 := [asserted]: #17
-#82 := [mp #34 #81]: #77
-#86 := [not-or-elim #82]: #64
-#83 := [not-or-elim #82]: #56
-#84 := [and-elim #83]: #43
-#85 := [and-elim #83]: #53
-[th-lemma #85 #84 #86]: false
-unsat
-3aeb9c9a0e29e2bb76776c94f5a20ea84ac742ba 43 0
+d1bc3a4e60e3c1d280eca79821081b4e3318341f 43 0
 #2 := false
 decl f5 :: (-> S2 S2 S3)
 #15 := (:var 0 S2)
@@ -23428,7 +49551,7 @@
 #145 := [quant-inst]: #231
 [unit-resolution #145 #45 #567]: false
 unsat
-833f5435eb8a2a79499caa251090162736238118 43 0
+2fee6903df28c3fb9fdfe41b68f30e20ac97873f 43 0
 #2 := false
 decl f5 :: (-> S2 S2 S3)
 #15 := (:var 0 S2)
@@ -23472,7 +49595,23 @@
 #163 := [quant-inst]: #235
 [unit-resolution #163 #45 #573]: false
 unsat
-8b890c6b59495e349b21aa4197ae112481a22f92 85 0
+9e985a47bba5857a10e800553a31e2def569aae1 15 0
+#2 := false
+decl f3 :: real
+#8 := f3
+#9 := (< f3 f3)
+#10 := (not #9)
+#11 := (not #10)
+#33 := (iff #11 false)
+#31 := (iff #9 false)
+#32 := [rewrite]: #31
+#29 := (iff #11 #9)
+#30 := [rewrite]: #29
+#34 := [trans #30 #32]: #33
+#28 := [asserted]: #11
+[mp #28 #34]: false
+unsat
+27ecb5fef2d88b43d79e314c4934972296e27d35 85 0
 #2 := false
 decl f5 :: S2
 #9 := f5
@@ -23558,7 +49697,83 @@
 #206 := [unit-resolution #170 #205]: #239
 [unit-resolution #206 #186]: false
 unsat
-21d7570da3e83b6c75740a6708991286b46b2be1 155 0
+06bb2cc4f48d1ee0c5893ec218e691f0f9b659a2 75 0
+#2 := false
+#53 := 0::real
+decl f4 :: real
+#9 := f4
+#50 := -1::real
+#64 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#65 := (+ f3 #64)
+#66 := (<= #65 0::real)
+#69 := (not #66)
+decl f5 :: real
+#11 := f5
+#51 := (* -1::real f5)
+#60 := (+ f3 #51)
+#61 := (<= #60 0::real)
+#52 := (+ f4 #51)
+#54 := (<= #52 0::real)
+#57 := (not #54)
+#78 := (or #57 #61 #69)
+#83 := (not #78)
+#13 := (<= f3 f5)
+#12 := (<= f4 f5)
+#14 := (implies #12 #13)
+#10 := (<= f3 f4)
+#15 := (implies #10 #14)
+#16 := (not #15)
+#86 := (iff #16 #83)
+#34 := (not #12)
+#35 := (or #34 #13)
+#41 := (not #10)
+#42 := (or #41 #35)
+#47 := (not #42)
+#84 := (iff #47 #83)
+#81 := (iff #42 #78)
+#72 := (or #57 #61)
+#75 := (or #69 #72)
+#79 := (iff #75 #78)
+#80 := [rewrite]: #79
+#76 := (iff #42 #75)
+#73 := (iff #35 #72)
+#62 := (iff #13 #61)
+#63 := [rewrite]: #62
+#58 := (iff #34 #57)
+#55 := (iff #12 #54)
+#56 := [rewrite]: #55
+#59 := [monotonicity #56]: #58
+#74 := [monotonicity #59 #63]: #73
+#70 := (iff #41 #69)
+#67 := (iff #10 #66)
+#68 := [rewrite]: #67
+#71 := [monotonicity #68]: #70
+#77 := [monotonicity #71 #74]: #76
+#82 := [trans #77 #80]: #81
+#85 := [monotonicity #82]: #84
+#48 := (iff #16 #47)
+#45 := (iff #15 #42)
+#38 := (implies #10 #35)
+#43 := (iff #38 #42)
+#44 := [rewrite]: #43
+#39 := (iff #15 #38)
+#36 := (iff #14 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#46 := [trans #40 #44]: #45
+#49 := [monotonicity #46]: #48
+#87 := [trans #49 #85]: #86
+#33 := [asserted]: #16
+#88 := [mp #33 #87]: #83
+#92 := [not-or-elim #88]: #66
+#90 := (not #61)
+#91 := [not-or-elim #88]: #90
+#89 := [not-or-elim #88]: #54
+[th-lemma #89 #91 #92]: false
+unsat
+8078fea9528cc0af35f2ba128aaa4ddff79359bb 155 0
 #2 := false
 decl f7 :: S2
 #12 := f7
@@ -23714,7 +49929,88 @@
 #263 := [def-axiom]: #176
 [unit-resolution #263 #289 #215 #569]: false
 unsat
-3a10723d79463b83d231ba1fcb5ffec2e0721a2e 91 0
+783cc208ed65b94bffd8eeb1bb636056967f88c2 80 0
+#2 := false
+#53 := 0::real
+decl f4 :: real
+#9 := f4
+#50 := -1::real
+#66 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#67 := (+ f3 #66)
+#65 := (>= #67 0::real)
+#64 := (not #65)
+decl f5 :: real
+#11 := f5
+#51 := (* -1::real f5)
+#60 := (+ f3 #51)
+#61 := (<= #60 0::real)
+#52 := (+ f4 #51)
+#54 := (<= #52 0::real)
+#57 := (not #54)
+#83 := (or #57 #61 #65)
+#88 := (not #83)
+#13 := (<= f3 f5)
+#12 := (<= f4 f5)
+#14 := (implies #12 #13)
+#10 := (< f3 f4)
+#15 := (implies #10 #14)
+#16 := (not #15)
+#91 := (iff #16 #88)
+#34 := (not #12)
+#35 := (or #34 #13)
+#41 := (not #10)
+#42 := (or #41 #35)
+#47 := (not #42)
+#89 := (iff #47 #88)
+#86 := (iff #42 #83)
+#77 := (or #57 #61)
+#80 := (or #65 #77)
+#84 := (iff #80 #83)
+#85 := [rewrite]: #84
+#81 := (iff #42 #80)
+#78 := (iff #35 #77)
+#62 := (iff #13 #61)
+#63 := [rewrite]: #62
+#58 := (iff #34 #57)
+#55 := (iff #12 #54)
+#56 := [rewrite]: #55
+#59 := [monotonicity #56]: #58
+#79 := [monotonicity #59 #63]: #78
+#75 := (iff #41 #65)
+#70 := (not #64)
+#73 := (iff #70 #65)
+#74 := [rewrite]: #73
+#71 := (iff #41 #70)
+#68 := (iff #10 #64)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#76 := [trans #72 #74]: #75
+#82 := [monotonicity #76 #79]: #81
+#87 := [trans #82 #85]: #86
+#90 := [monotonicity #87]: #89
+#48 := (iff #16 #47)
+#45 := (iff #15 #42)
+#38 := (implies #10 #35)
+#43 := (iff #38 #42)
+#44 := [rewrite]: #43
+#39 := (iff #15 #38)
+#36 := (iff #14 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#46 := [trans #40 #44]: #45
+#49 := [monotonicity #46]: #48
+#92 := [trans #49 #90]: #91
+#33 := [asserted]: #16
+#93 := [mp #33 #92]: #88
+#97 := [not-or-elim #93]: #64
+#95 := (not #61)
+#96 := [not-or-elim #93]: #95
+#94 := [not-or-elim #93]: #54
+[th-lemma #94 #96 #97]: false
+unsat
+94dd01d5ce8a66038a4fafc28cc8fc9a3d392fba 91 0
 #2 := false
 decl f9 :: S3
 #14 := f9
@@ -23806,7 +50102,88 @@
 #320 := [unit-resolution #230 #598]: #299
 [unit-resolution #320 #321]: false
 unsat
-41219eaede1dcbc709d171a52e3a33f173c7cf67 210 0
+8618512b77e4b49096ff35dd0be727f2675c21ad 80 0
+#2 := false
+#52 := 0::real
+decl f4 :: real
+#9 := f4
+#50 := -1::real
+#69 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#70 := (+ f3 #69)
+#71 := (<= #70 0::real)
+#74 := (not #71)
+decl f5 :: real
+#11 := f5
+#54 := (* -1::real f5)
+#65 := (+ f3 #54)
+#66 := (<= #65 0::real)
+#55 := (+ f4 #54)
+#53 := (>= #55 0::real)
+#83 := (or #53 #66 #74)
+#88 := (not #83)
+#13 := (<= f3 f5)
+#12 := (< f4 f5)
+#14 := (implies #12 #13)
+#10 := (<= f3 f4)
+#15 := (implies #10 #14)
+#16 := (not #15)
+#91 := (iff #16 #88)
+#34 := (not #12)
+#35 := (or #34 #13)
+#41 := (not #10)
+#42 := (or #41 #35)
+#47 := (not #42)
+#89 := (iff #47 #88)
+#86 := (iff #42 #83)
+#77 := (or #53 #66)
+#80 := (or #74 #77)
+#84 := (iff #80 #83)
+#85 := [rewrite]: #84
+#81 := (iff #42 #80)
+#78 := (iff #35 #77)
+#67 := (iff #13 #66)
+#68 := [rewrite]: #67
+#63 := (iff #34 #53)
+#51 := (not #53)
+#58 := (not #51)
+#61 := (iff #58 #53)
+#62 := [rewrite]: #61
+#59 := (iff #34 #58)
+#56 := (iff #12 #51)
+#57 := [rewrite]: #56
+#60 := [monotonicity #57]: #59
+#64 := [trans #60 #62]: #63
+#79 := [monotonicity #64 #68]: #78
+#75 := (iff #41 #74)
+#72 := (iff #10 #71)
+#73 := [rewrite]: #72
+#76 := [monotonicity #73]: #75
+#82 := [monotonicity #76 #79]: #81
+#87 := [trans #82 #85]: #86
+#90 := [monotonicity #87]: #89
+#48 := (iff #16 #47)
+#45 := (iff #15 #42)
+#38 := (implies #10 #35)
+#43 := (iff #38 #42)
+#44 := [rewrite]: #43
+#39 := (iff #15 #38)
+#36 := (iff #14 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#46 := [trans #40 #44]: #45
+#49 := [monotonicity #46]: #48
+#92 := [trans #49 #90]: #91
+#33 := [asserted]: #16
+#93 := [mp #33 #92]: #88
+#97 := [not-or-elim #93]: #71
+#94 := [not-or-elim #93]: #51
+#95 := (not #66)
+#96 := [not-or-elim #93]: #95
+[th-lemma #96 #94 #97]: false
+unsat
+f1064899dd3b2b344c829f77d7843d7c713a00e1 210 0
 #2 := false
 decl f11 :: S5
 #16 := f11
@@ -24017,7 +50394,93 @@
 #321 := [def-axiom]: #234
 [unit-resolution #321 #597 #608 #332]: false
 unsat
-e7d7ee57f96345ce1235238d825e8494a21738fc 144 0
+eb502ccd121bb8afc79076bd6ce9fee84004caac 85 0
+#2 := false
+#52 := 0::real
+decl f4 :: real
+#9 := f4
+#50 := -1::real
+#72 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#73 := (+ f3 #72)
+#71 := (>= #73 0::real)
+#70 := (not #71)
+decl f5 :: real
+#11 := f5
+#54 := (* -1::real f5)
+#67 := (+ f3 #54)
+#66 := (>= #67 0::real)
+#65 := (not #66)
+#55 := (+ f4 #54)
+#53 := (>= #55 0::real)
+#89 := (or #53 #65 #71)
+#94 := (not #89)
+#13 := (< f3 f5)
+#12 := (< f4 f5)
+#14 := (implies #12 #13)
+#10 := (< f3 f4)
+#15 := (implies #10 #14)
+#16 := (not #15)
+#97 := (iff #16 #94)
+#34 := (not #12)
+#35 := (or #34 #13)
+#41 := (not #10)
+#42 := (or #41 #35)
+#47 := (not #42)
+#95 := (iff #47 #94)
+#92 := (iff #42 #89)
+#83 := (or #53 #65)
+#86 := (or #71 #83)
+#90 := (iff #86 #89)
+#91 := [rewrite]: #90
+#87 := (iff #42 #86)
+#84 := (iff #35 #83)
+#68 := (iff #13 #65)
+#69 := [rewrite]: #68
+#63 := (iff #34 #53)
+#51 := (not #53)
+#58 := (not #51)
+#61 := (iff #58 #53)
+#62 := [rewrite]: #61
+#59 := (iff #34 #58)
+#56 := (iff #12 #51)
+#57 := [rewrite]: #56
+#60 := [monotonicity #57]: #59
+#64 := [trans #60 #62]: #63
+#85 := [monotonicity #64 #69]: #84
+#81 := (iff #41 #71)
+#76 := (not #70)
+#79 := (iff #76 #71)
+#80 := [rewrite]: #79
+#77 := (iff #41 #76)
+#74 := (iff #10 #70)
+#75 := [rewrite]: #74
+#78 := [monotonicity #75]: #77
+#82 := [trans #78 #80]: #81
+#88 := [monotonicity #82 #85]: #87
+#93 := [trans #88 #91]: #92
+#96 := [monotonicity #93]: #95
+#48 := (iff #16 #47)
+#45 := (iff #15 #42)
+#38 := (implies #10 #35)
+#43 := (iff #38 #42)
+#44 := [rewrite]: #43
+#39 := (iff #15 #38)
+#36 := (iff #14 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#46 := [trans #40 #44]: #45
+#49 := [monotonicity #46]: #48
+#98 := [trans #49 #96]: #97
+#33 := [asserted]: #16
+#99 := [mp #33 #98]: #94
+#102 := [not-or-elim #99]: #70
+#100 := [not-or-elim #99]: #51
+#101 := [not-or-elim #99]: #66
+[th-lemma #101 #100 #102]: false
+unsat
+53a01e2ecfe5fcdece4d167dc97ab57afbf5b665 144 0
 #2 := false
 decl f11 :: S3
 #16 := f11
@@ -24162,7 +50625,77 @@
 #432 := [unit-resolution #232 #431]: #301
 [unit-resolution #432 #433]: false
 unsat
-05084d48ca9cf46fab3aa08abec156f92f6b3e83 144 0
+e52bb6d4fc18c5b1c7dd7b024810982ae6751f44 69 0
+#2 := false
+#44 := 0::real
+decl f5 :: real
+#11 := f5
+#42 := -1::real
+#51 := (* -1::real f5)
+decl f3 :: real
+#8 := f3
+#62 := (+ f3 #51)
+#63 := (<= #62 0::real)
+#64 := (not #63)
+decl f4 :: real
+#9 := f4
+#52 := (+ f4 #51)
+#50 := (>= #52 0::real)
+#53 := (not #50)
+#46 := (* -1::real f4)
+#47 := (+ f3 #46)
+#45 := (>= #47 0::real)
+#43 := (not #45)
+#56 := (and #43 #53)
+#59 := (not #56)
+#74 := (or #59 #63)
+#77 := (not #74)
+#14 := (< f5 f3)
+#15 := (not #14)
+#12 := (< f4 f5)
+#10 := (< f3 f4)
+#13 := (and #10 #12)
+#16 := (implies #13 #15)
+#17 := (not #16)
+#80 := (iff #17 #77)
+#35 := (not #13)
+#36 := (or #35 #15)
+#39 := (not #36)
+#78 := (iff #39 #77)
+#75 := (iff #36 #74)
+#72 := (iff #15 #63)
+#67 := (not #64)
+#70 := (iff #67 #63)
+#71 := [rewrite]: #70
+#68 := (iff #15 #67)
+#65 := (iff #14 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#73 := [trans #69 #71]: #72
+#60 := (iff #35 #59)
+#57 := (iff #13 #56)
+#54 := (iff #12 #53)
+#55 := [rewrite]: #54
+#48 := (iff #10 #43)
+#49 := [rewrite]: #48
+#58 := [monotonicity #49 #55]: #57
+#61 := [monotonicity #58]: #60
+#76 := [monotonicity #61 #73]: #75
+#79 := [monotonicity #76]: #78
+#40 := (iff #17 #39)
+#37 := (iff #16 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#81 := [trans #41 #79]: #80
+#34 := [asserted]: #17
+#82 := [mp #34 #81]: #77
+#86 := [not-or-elim #82]: #64
+#83 := [not-or-elim #82]: #56
+#84 := [and-elim #83]: #43
+#85 := [and-elim #83]: #53
+[th-lemma #85 #84 #86]: false
+unsat
+64328afb82eb17196ff1275de441cf37fad9bf4a 144 0
 #2 := false
 decl f12 :: S3
 #17 := f12
@@ -24307,7 +50840,7 @@
 #432 := [unit-resolution #232 #431]: #301
 [unit-resolution #432 #433]: false
 unsat
-b9b01af627407ae858abb87a30d0e6558ef2eead 103 0
+ca6daa73749cee4dc8b11e40a0201ba82325b005 103 0
 #2 := false
 decl f6 :: S3
 #9 := f6
@@ -24411,7 +50944,7 @@
 #205 := [unit-resolution #171 #544]: #240
 [unit-resolution #205 #206]: false
 unsat
-27f36608f534be1341919c1ca51bc62461483549 111 0
+0273cec9a3b2d721f13b81a5f7cb9a26c53610a3 111 0
 #2 := false
 decl f9 :: (-> S2 S3)
 decl f7 :: S2
@@ -24523,7 +51056,7 @@
 #66 := [not-or-elim #63]: #65
 [unit-resolution #66 #563]: false
 unsat
-37ed3b448ab9c39e3b6673cc263e2847f1d1a0a1 117 0
+59ef7a0dffeb5563b747aceef193a9e3d4f5d32d 117 0
 #2 := false
 decl f6 :: (-> S3 S3 S2)
 decl f3 :: (-> S2 S3)
@@ -24641,3 +51174,2781 @@
 #545 := [unit-resolution #170 #207]: #239
 [unit-resolution #545 #551]: false
 unsat
+13c013ce9b60f948f65ac05c9f64640c23a178bb 50 0
+#2 := false
+decl f3 :: (-> S2 S3 S4 S3 S4)
+#15 := (:var 1 S3)
+#16 := (:var 0 S4)
+#14 := (:var 2 S2)
+#17 := (f3 #14 #15 #16 #15)
+#571 := (pattern #17)
+#54 := (= #16 #17)
+#572 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) (:pat #571) #54)
+#58 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) #54)
+#575 := (iff #58 #572)
+#573 := (iff #54 #54)
+#574 := [refl]: #573
+#576 := [quant-intro #574]: #575
+#87 := (~ #58 #58)
+#85 := (~ #54 #54)
+#86 := [refl]: #85
+#88 := [nnf-pos #86]: #87
+#18 := (= #17 #16)
+#19 := (forall (vars (?v0 S2) (?v1 S3) (?v2 S4)) #18)
+#59 := (iff #19 #58)
+#56 := (iff #18 #54)
+#57 := [rewrite]: #56
+#60 := [quant-intro #57]: #59
+#53 := [asserted]: #19
+#63 := [mp #53 #60]: #58
+#79 := [mp~ #63 #88]: #58
+#577 := [mp #79 #576]: #572
+decl f5 :: S3
+#9 := f5
+decl f6 :: S4
+#10 := f6
+decl f4 :: S2
+#8 := f4
+#11 := (f3 f4 f5 f6 f5)
+#47 := (= f6 #11)
+#50 := (not #47)
+#12 := (= #11 f6)
+#13 := (not #12)
+#51 := (iff #13 #50)
+#48 := (iff #12 #47)
+#49 := [rewrite]: #48
+#52 := [monotonicity #49]: #51
+#46 := [asserted]: #13
+#55 := [mp #46 #52]: #50
+#154 := (not #572)
+#241 := (or #154 #47)
+#155 := [quant-inst]: #241
+[unit-resolution #155 #55 #577]: false
+unsat
+1359b66e79f681fc73d3d69747fa44ddaf8fc00b 85 0
+#2 := false
+decl f8 :: (-> S3 S2 S4)
+decl f4 :: S2
+#9 := f4
+decl f6 :: S3
+#12 := f6
+#15 := (f8 f6 f4)
+decl f5 :: (-> S3 S2 S4 S2 S4)
+decl f7 :: S4
+#13 := f7
+decl f3 :: S2
+#8 := f3
+#14 := (f5 f6 f3 f7 f4)
+#16 := (= #14 #15)
+#161 := (= f7 #14)
+#10 := (= f3 f4)
+#248 := (ite #10 #161 #16)
+#252 := (not #248)
+#59 := (not #16)
+#52 := (or #10 #16)
+#55 := (not #52)
+#11 := (not #10)
+#17 := (implies #11 #16)
+#18 := (not #17)
+#56 := (iff #18 #55)
+#53 := (iff #17 #52)
+#54 := [rewrite]: #53
+#57 := [monotonicity #54]: #56
+#51 := [asserted]: #18
+#60 := [mp #51 #57]: #55
+#61 := [not-or-elim #60]: #59
+#58 := [not-or-elim #60]: #11
+#254 := (or #252 #10 #16)
+#251 := [def-axiom]: #254
+#162 := [unit-resolution #251 #58 #61]: #252
+#28 := (:var 0 S2)
+#27 := (:var 1 S4)
+#26 := (:var 2 S2)
+#25 := (:var 3 S3)
+#29 := (f5 #25 #26 #27 #28)
+#586 := (pattern #29)
+#31 := (f8 #25 #28)
+#83 := (= #29 #31)
+#86 := (= #27 #29)
+#70 := (= #26 #28)
+#93 := (ite #70 #86 #83)
+#587 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) (:pat #586) #93)
+#100 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #93)
+#590 := (iff #100 #587)
+#588 := (iff #93 #93)
+#589 := [refl]: #588
+#591 := [quant-intro #589]: #590
+#74 := (ite #70 #27 #31)
+#77 := (= #29 #74)
+#80 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #77)
+#101 := (iff #80 #100)
+#94 := (iff #77 #93)
+#99 := [rewrite]: #94
+#102 := [quant-intro #99]: #101
+#91 := (~ #80 #80)
+#90 := (~ #77 #77)
+#87 := [refl]: #90
+#92 := [nnf-pos #87]: #91
+#30 := (= #28 #26)
+#32 := (ite #30 #27 #31)
+#33 := (= #29 #32)
+#34 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #33)
+#81 := (iff #34 #80)
+#78 := (iff #33 #77)
+#75 := (= #32 #74)
+#72 := (iff #30 #70)
+#73 := [rewrite]: #72
+#76 := [monotonicity #73]: #75
+#79 := [monotonicity #76]: #78
+#82 := [quant-intro #79]: #81
+#69 := [asserted]: #34
+#85 := [mp #69 #82]: #80
+#88 := [mp~ #85 #92]: #80
+#103 := [mp #88 #102]: #100
+#592 := [mp #103 #591]: #587
+#163 := (not #587)
+#250 := (or #163 #248)
+#241 := [quant-inst]: #250
+[unit-resolution #241 #592 #162]: false
+unsat
+85295dd87d7cebdd794ace783556d1b1d280619a 158 0
+#2 := false
+decl f5 :: (-> S3 S2 S4)
+decl f3 :: S2
+#8 := f3
+decl f6 :: (-> S3 S2 S4 S3)
+decl f9 :: S4
+#15 := f9
+decl f4 :: S2
+#9 := f4
+decl f8 :: S4
+#13 := f8
+decl f7 :: S3
+#12 := f7
+#14 := (f6 f7 f3 f8)
+#16 := (f6 #14 f4 f9)
+#17 := (f5 #16 f3)
+#56 := (= f8 #17)
+#173 := (f5 #14 f3)
+#264 := (= #17 #173)
+#577 := (iff #264 #56)
+#214 := (iff #56 #264)
+#567 := (= #173 #17)
+#574 := (iff #567 #264)
+#576 := [commutativity]: #574
+#573 := (iff #56 #567)
+#260 := (= f8 #173)
+#23 := (:var 0 S4)
+#22 := (:var 1 S2)
+#21 := (:var 2 S3)
+#24 := (f6 #21 #22 #23)
+#591 := (pattern #24)
+#25 := (f5 #24 #22)
+#75 := (= #23 #25)
+#593 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) (:pat #591) #75)
+#78 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #75)
+#592 := (iff #78 #593)
+#595 := (iff #593 #593)
+#596 := [rewrite]: #595
+#594 := [rewrite]: #592
+#597 := [trans #594 #596]: #592
+#109 := (~ #78 #78)
+#107 := (~ #75 #75)
+#108 := [refl]: #107
+#110 := [nnf-pos #108]: #109
+#26 := (= #25 #23)
+#27 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #26)
+#79 := (iff #27 #78)
+#76 := (iff #26 #75)
+#77 := [rewrite]: #76
+#80 := [quant-intro #77]: #79
+#74 := [asserted]: #27
+#83 := [mp #74 #80]: #78
+#101 := [mp~ #83 #110]: #78
+#598 := [mp #101 #597]: #593
+#175 := (not #593)
+#262 := (or #175 #260)
+#253 := [quant-inst]: #262
+#572 := [unit-resolution #253 #598]: #260
+#209 := [monotonicity #572]: #573
+#215 := [trans #209 #576]: #214
+#575 := [symm #215]: #577
+#265 := (= f9 #17)
+#10 := (= f3 f4)
+#585 := (ite #10 #265 #264)
+#32 := (:var 0 S2)
+#30 := (:var 1 S4)
+#29 := (:var 2 S2)
+#28 := (:var 3 S3)
+#31 := (f6 #28 #29 #30)
+#33 := (f5 #31 #32)
+#599 := (pattern #33)
+#35 := (f5 #28 #32)
+#95 := (= #33 #35)
+#98 := (= #30 #33)
+#82 := (= #29 #32)
+#105 := (ite #82 #98 #95)
+#600 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) (:pat #599) #105)
+#112 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #105)
+#603 := (iff #112 #600)
+#601 := (iff #105 #105)
+#602 := [refl]: #601
+#604 := [quant-intro #602]: #603
+#86 := (ite #82 #30 #35)
+#89 := (= #33 #86)
+#92 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #89)
+#113 := (iff #92 #112)
+#106 := (iff #89 #105)
+#111 := [rewrite]: #106
+#114 := [quant-intro #111]: #113
+#103 := (~ #92 #92)
+#102 := (~ #89 #89)
+#99 := [refl]: #102
+#104 := [nnf-pos #99]: #103
+#34 := (= #32 #29)
+#36 := (ite #34 #30 #35)
+#37 := (= #33 #36)
+#38 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #37)
+#93 := (iff #38 #92)
+#90 := (iff #37 #89)
+#87 := (= #36 #86)
+#84 := (iff #34 #82)
+#85 := [rewrite]: #84
+#88 := [monotonicity #85]: #87
+#91 := [monotonicity #88]: #90
+#94 := [quant-intro #91]: #93
+#81 := [asserted]: #38
+#97 := [mp #81 #94]: #92
+#100 := [mp~ #97 #104]: #92
+#115 := [mp #100 #114]: #112
+#605 := [mp #115 #604]: #600
+#579 := (not #600)
+#251 := (or #579 #585)
+#263 := (= f4 f3)
+#267 := (ite #263 #265 #264)
+#252 := (or #579 #267)
+#587 := (iff #252 #251)
+#589 := (iff #251 #251)
+#584 := [rewrite]: #589
+#240 := (iff #267 #585)
+#246 := (iff #263 #10)
+#583 := [rewrite]: #246
+#372 := [monotonicity #583]: #240
+#588 := [monotonicity #372]: #587
+#590 := [trans #588 #584]: #587
+#586 := [quant-inst]: #252
+#580 := [mp #586 #590]: #251
+#568 := [unit-resolution #580 #605]: #585
+#238 := (not #585)
+#569 := (or #238 #264)
+#11 := (not #10)
+#62 := (or #10 #56)
+#67 := (not #62)
+#18 := (= #17 f8)
+#19 := (implies #11 #18)
+#20 := (not #19)
+#68 := (iff #20 #67)
+#65 := (iff #19 #62)
+#59 := (implies #11 #56)
+#63 := (iff #59 #62)
+#64 := [rewrite]: #63
+#60 := (iff #19 #59)
+#57 := (iff #18 #56)
+#58 := [rewrite]: #57
+#61 := [monotonicity #58]: #60
+#66 := [trans #61 #64]: #65
+#69 := [monotonicity #66]: #68
+#55 := [asserted]: #20
+#72 := [mp #55 #69]: #67
+#70 := [not-or-elim #72]: #11
+#239 := (or #238 #10 #264)
+#582 := [def-axiom]: #239
+#570 := [unit-resolution #582 #70]: #569
+#571 := [unit-resolution #570 #568]: #264
+#578 := [mp #571 #575]: #56
+#71 := (not #56)
+#73 := [not-or-elim #72]: #71
+[unit-resolution #73 #578]: false
+unsat
+c0ecafa6d8b41ce5e1c9ab26d4838fdbd8c57d3d 72 0
+#2 := false
+decl f6 :: (-> S3 S2 S4 S3)
+#23 := (:var 0 S4)
+#22 := (:var 1 S2)
+#21 := (:var 2 S3)
+#24 := (f6 #21 #22 #23)
+#591 := (pattern #24)
+decl f5 :: (-> S3 S2 S4)
+#25 := (f5 #24 #22)
+#75 := (= #23 #25)
+#593 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) (:pat #591) #75)
+#78 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #75)
+#592 := (iff #78 #593)
+#595 := (iff #593 #593)
+#596 := [rewrite]: #595
+#594 := [rewrite]: #592
+#597 := [trans #594 #596]: #592
+#109 := (~ #78 #78)
+#107 := (~ #75 #75)
+#108 := [refl]: #107
+#110 := [nnf-pos #108]: #109
+#26 := (= #25 #23)
+#27 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #26)
+#79 := (iff #27 #78)
+#76 := (iff #26 #75)
+#77 := [rewrite]: #76
+#80 := [quant-intro #77]: #79
+#74 := [asserted]: #27
+#83 := [mp #74 #80]: #78
+#101 := [mp~ #83 #110]: #78
+#598 := [mp #101 #597]: #593
+decl f4 :: S2
+#9 := f4
+decl f9 :: S4
+#15 := f9
+decl f8 :: S4
+#13 := f8
+decl f3 :: S2
+#8 := f3
+decl f7 :: S3
+#12 := f7
+#14 := (f6 f7 f3 f8)
+#16 := (f6 #14 f4 f9)
+#17 := (f5 #16 f4)
+#56 := (= f9 #17)
+#71 := (not #56)
+#10 := (= f3 f4)
+#62 := (or #10 #56)
+#67 := (not #62)
+#18 := (= #17 f9)
+#11 := (not #10)
+#19 := (implies #11 #18)
+#20 := (not #19)
+#68 := (iff #20 #67)
+#65 := (iff #19 #62)
+#59 := (implies #11 #56)
+#63 := (iff #59 #62)
+#64 := [rewrite]: #63
+#60 := (iff #19 #59)
+#57 := (iff #18 #56)
+#58 := [rewrite]: #57
+#61 := [monotonicity #58]: #60
+#66 := [trans #61 #64]: #65
+#69 := [monotonicity #66]: #68
+#55 := [asserted]: #20
+#72 := [mp #55 #69]: #67
+#73 := [not-or-elim #72]: #71
+#175 := (not #593)
+#264 := (or #175 #56)
+#265 := [quant-inst]: #264
+[unit-resolution #265 #73 #598]: false
+unsat
+dc41ee203ffc081fb445ff0000ddb4be9134fe60 81 0
+#2 := false
+decl f5 :: (-> S3 S2 S4)
+decl f3 :: S2
+#8 := f3
+decl f6 :: (-> S3 S2 S4 S3)
+decl f9 :: S4
+#14 := f9
+decl f4 :: S2
+#9 := f4
+decl f8 :: S4
+#12 := f8
+decl f7 :: S3
+#11 := f7
+#13 := (f6 f7 f3 f8)
+#15 := (f6 #13 f4 f9)
+#16 := (f5 #15 f3)
+#55 := (= f9 #16)
+#261 := (f5 #15 f4)
+#228 := (= #261 #16)
+#566 := (= #16 #261)
+#10 := (= f3 f4)
+#61 := (not #10)
+#62 := (or #61 #55)
+#67 := (not #62)
+#17 := (= #16 f9)
+#18 := (implies #10 #17)
+#19 := (not #18)
+#68 := (iff #19 #67)
+#65 := (iff #18 #62)
+#58 := (implies #10 #55)
+#63 := (iff #58 #62)
+#64 := [rewrite]: #63
+#59 := (iff #18 #58)
+#56 := (iff #17 #55)
+#57 := [rewrite]: #56
+#60 := [monotonicity #57]: #59
+#66 := [trans #60 #64]: #65
+#69 := [monotonicity #66]: #68
+#54 := [asserted]: #19
+#72 := [mp #54 #69]: #67
+#70 := [not-or-elim #72]: #10
+#227 := [monotonicity #70]: #566
+#229 := [symm #227]: #228
+#175 := (= f9 #261)
+#22 := (:var 0 S4)
+#21 := (:var 1 S2)
+#20 := (:var 2 S3)
+#23 := (f6 #20 #21 #22)
+#591 := (pattern #23)
+#24 := (f5 #23 #21)
+#75 := (= #22 #24)
+#593 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) (:pat #591) #75)
+#78 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #75)
+#592 := (iff #78 #593)
+#595 := (iff #593 #593)
+#596 := [rewrite]: #595
+#594 := [rewrite]: #592
+#597 := [trans #594 #596]: #592
+#109 := (~ #78 #78)
+#107 := (~ #75 #75)
+#108 := [refl]: #107
+#110 := [nnf-pos #108]: #109
+#25 := (= #24 #22)
+#26 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #25)
+#79 := (iff #26 #78)
+#76 := (iff #25 #75)
+#77 := [rewrite]: #76
+#80 := [quant-intro #77]: #79
+#74 := [asserted]: #26
+#83 := [mp #74 #80]: #78
+#101 := [mp~ #83 #110]: #78
+#598 := [mp #101 #597]: #593
+#262 := (not #593)
+#266 := (or #262 #175)
+#263 := [quant-inst]: #266
+#223 := [unit-resolution #263 #598]: #175
+#230 := [trans #223 #229]: #55
+#71 := (not #55)
+#73 := [not-or-elim #72]: #71
+[unit-resolution #73 #230]: false
+unsat
+ae5be72196cf39e4c9692c5e427b5fb33965ed8f 187 0
+#2 := false
+decl f6 :: (-> S3 S2 S4)
+decl f5 :: S2
+#10 := f5
+decl f8 :: S3
+#12 := f8
+#18 := (f6 f8 f5)
+decl f7 :: (-> S3 S2 S4 S3)
+decl f10 :: S4
+#15 := f10
+decl f4 :: S2
+#9 := f4
+decl f9 :: S4
+#13 := f9
+decl f3 :: S2
+#8 := f3
+#14 := (f7 f8 f3 f9)
+#16 := (f7 #14 f4 f10)
+#17 := (f6 #16 f5)
+#19 := (= #17 #18)
+#246 := (f6 #14 f3)
+#560 := (f7 f8 f3 #246)
+#536 := (f6 #560 f5)
+#365 := (= #536 #18)
+#521 := (= #18 #536)
+#367 := (= #246 #536)
+#168 := (= f3 f5)
+#525 := (ite #168 #367 #521)
+#33 := (:var 0 S2)
+#31 := (:var 1 S4)
+#30 := (:var 2 S2)
+#29 := (:var 3 S3)
+#32 := (f7 #29 #30 #31)
+#34 := (f6 #32 #33)
+#593 := (pattern #34)
+#36 := (f6 #29 #33)
+#89 := (= #34 #36)
+#92 := (= #31 #34)
+#76 := (= #30 #33)
+#99 := (ite #76 #92 #89)
+#594 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) (:pat #593) #99)
+#106 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #99)
+#597 := (iff #106 #594)
+#595 := (iff #99 #99)
+#596 := [refl]: #595
+#598 := [quant-intro #596]: #597
+#80 := (ite #76 #31 #36)
+#83 := (= #34 #80)
+#86 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #83)
+#107 := (iff #86 #106)
+#100 := (iff #83 #99)
+#105 := [rewrite]: #100
+#108 := [quant-intro #105]: #107
+#97 := (~ #86 #86)
+#96 := (~ #83 #83)
+#93 := [refl]: #96
+#98 := [nnf-pos #93]: #97
+#35 := (= #33 #30)
+#37 := (ite #35 #31 #36)
+#38 := (= #34 #37)
+#39 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4) (?v3 S2)) #38)
+#87 := (iff #39 #86)
+#84 := (iff #38 #83)
+#81 := (= #37 #80)
+#78 := (iff #35 #76)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#85 := [monotonicity #82]: #84
+#88 := [quant-intro #85]: #87
+#75 := [asserted]: #39
+#91 := [mp #75 #88]: #86
+#94 := [mp~ #91 #98]: #86
+#109 := [mp #94 #108]: #106
+#599 := [mp #109 #598]: #594
+#221 := (not #594)
+#408 := (or #221 #525)
+#368 := (ite #168 #367 #365)
+#409 := (or #221 #368)
+#369 := (iff #409 #408)
+#419 := (iff #408 #408)
+#514 := [rewrite]: #419
+#523 := (iff #368 #525)
+#522 := (iff #365 #521)
+#524 := [rewrite]: #522
+#526 := [monotonicity #524]: #523
+#517 := [monotonicity #526]: #369
+#515 := [trans #517 #514]: #369
+#410 := [quant-inst]: #409
+#518 := [mp #410 #515]: #408
+#498 := [unit-resolution #518 #599]: #525
+#403 := (not #525)
+#511 := (or #403 #521)
+#255 := (not #168)
+#169 := (= f4 f5)
+#256 := (not #169)
+#167 := (= f3 f4)
+#254 := (not #167)
+#247 := (and #254 #255 #256)
+#11 := (distinct f3 f4 f5)
+#57 := (not #11)
+#58 := (or #57 #19)
+#61 := (not #58)
+#20 := (implies #11 #19)
+#21 := (not #20)
+#62 := (iff #21 #61)
+#59 := (iff #20 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#56 := [asserted]: #21
+#66 := [mp #56 #63]: #61
+#64 := [not-or-elim #66]: #11
+#234 := (or #57 #247)
+#366 := [def-axiom]: #234
+#500 := [unit-resolution #366 #64]: #247
+#258 := (not #247)
+#260 := (or #258 #255)
+#257 := [def-axiom]: #260
+#510 := [unit-resolution #257 #500]: #255
+#421 := (or #403 #168 #521)
+#414 := [def-axiom]: #421
+#512 := [unit-resolution #414 #510]: #511
+#508 := [unit-resolution #512 #498]: #521
+#493 := [symm #508]: #365
+#494 := (= #17 #536)
+#574 := (f6 #14 f5)
+#490 := (= #574 #536)
+#499 := (= #536 #574)
+#509 := (= #560 #14)
+#520 := (= #246 f9)
+#580 := (= f9 #246)
+#24 := (:var 0 S4)
+#23 := (:var 1 S2)
+#22 := (:var 2 S3)
+#25 := (f7 #22 #23 #24)
+#585 := (pattern #25)
+#26 := (f6 #25 #23)
+#69 := (= #24 #26)
+#587 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) (:pat #585) #69)
+#72 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #69)
+#586 := (iff #72 #587)
+#589 := (iff #587 #587)
+#590 := [rewrite]: #589
+#588 := [rewrite]: #586
+#591 := [trans #588 #590]: #586
+#103 := (~ #72 #72)
+#101 := (~ #69 #69)
+#102 := [refl]: #101
+#104 := [nnf-pos #102]: #103
+#27 := (= #26 #24)
+#28 := (forall (vars (?v0 S3) (?v1 S2) (?v2 S4)) #27)
+#73 := (iff #28 #72)
+#70 := (iff #27 #69)
+#71 := [rewrite]: #70
+#74 := [quant-intro #71]: #73
+#68 := [asserted]: #28
+#77 := [mp #68 #74]: #72
+#95 := [mp~ #77 #104]: #72
+#592 := [mp #95 #591]: #587
+#583 := (not #587)
+#578 := (or #583 #580)
+#584 := [quant-inst]: #578
+#516 := [unit-resolution #584 #592]: #580
+#507 := [symm #516]: #520
+#501 := [monotonicity #507]: #509
+#506 := [monotonicity #501]: #499
+#491 := [symm #506]: #490
+#232 := (= #17 #574)
+#233 := (= f10 #17)
+#576 := (ite #169 #233 #232)
+#222 := (or #221 #576)
+#223 := [quant-inst]: #222
+#513 := [unit-resolution #223 #599]: #576
+#224 := (not #576)
+#503 := (or #224 #232)
+#261 := (or #258 #256)
+#240 := [def-axiom]: #261
+#502 := [unit-resolution #240 #500]: #256
+#564 := (or #224 #169 #232)
+#565 := [def-axiom]: #564
+#504 := [unit-resolution #565 #502]: #503
+#505 := [unit-resolution #504 #513]: #232
+#495 := [trans #505 #491]: #494
+#496 := [trans #495 #493]: #19
+#65 := (not #19)
+#67 := [not-or-elim #66]: #65
+[unit-resolution #67 #496]: false
+unsat
+2f659b6a47ef547b90b00946538367bd9efdeee0 31 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S1)
+decl f4 :: S2
+#8 := f4
+#9 := (f3 f4)
+#10 := (= #9 f1)
+#11 := (iff #10 #10)
+#12 := (not #11)
+#78 := (iff #12 false)
+#1 := true
+#73 := (not true)
+#76 := (iff #73 false)
+#77 := [rewrite]: #76
+#74 := (iff #12 #73)
+#71 := (iff #11 true)
+#63 := (= f1 #9)
+#66 := (iff #63 #63)
+#69 := (iff #66 true)
+#70 := [rewrite]: #69
+#67 := (iff #11 #66)
+#64 := (iff #10 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65 #65]: #67
+#72 := [trans #68 #70]: #71
+#75 := [monotonicity #72]: #74
+#79 := [trans #75 #77]: #78
+#62 := [asserted]: #12
+[mp #62 #79]: false
+unsat
+3329505aa680c82f608d61377279461a25778b94 58 0
+#2 := false
+decl f3 :: (-> S2 S1)
+#13 := (:var 0 S2)
+#14 := (f3 #13)
+#661 := (pattern #14)
+decl f1 :: S1
+#4 := f1
+#77 := (= f1 #14)
+#81 := (not #77)
+#662 := (forall (vars (?v0 S2)) (:pat #661) #81)
+#84 := (forall (vars (?v0 S2)) #81)
+#665 := (iff #84 #662)
+#663 := (iff #81 #81)
+#664 := [refl]: #663
+#666 := [quant-intro #664]: #665
+#151 := (~ #84 #84)
+#149 := (~ #81 #81)
+#150 := [refl]: #149
+#152 := [nnf-pos #150]: #151
+#15 := (= #14 f1)
+#16 := (not #15)
+#17 := (forall (vars (?v0 S2)) #16)
+#85 := (iff #17 #84)
+#82 := (iff #16 #81)
+#79 := (iff #15 #77)
+#80 := [rewrite]: #79
+#83 := [monotonicity #80]: #82
+#86 := [quant-intro #83]: #85
+#76 := [asserted]: #17
+#89 := [mp #76 #86]: #84
+#139 := [mp~ #89 #152]: #84
+#667 := [mp #139 #666]: #662
+decl f4 :: S2
+#8 := f4
+#9 := (f3 f4)
+#63 := (= f1 #9)
+#10 := (= #9 f1)
+#11 := (not #10)
+#12 := (not #11)
+#74 := (iff #12 #63)
+#66 := (not #63)
+#69 := (not #66)
+#72 := (iff #69 #63)
+#73 := [rewrite]: #72
+#70 := (iff #12 #69)
+#67 := (iff #11 #66)
+#64 := (iff #10 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#71 := [monotonicity #68]: #70
+#75 := [trans #71 #73]: #74
+#62 := [asserted]: #12
+#78 := [mp #62 #75]: #63
+#246 := (not #662)
+#333 := (or #246 #66)
+#247 := [quant-inst]: #333
+[unit-resolution #247 #78 #667]: false
+unsat
+f68aac6d5243061ae9a95773075ebafc014b27eb 46 0
+#2 := false
+decl f3 :: (-> S2 S1)
+#17 := (:var 0 S2)
+#18 := (f3 #17)
+#660 := (pattern #18)
+decl f1 :: S1
+#4 := f1
+#80 := (= f1 #18)
+#661 := (forall (vars (?v0 S2)) (:pat #660) #80)
+#84 := (forall (vars (?v0 S2)) #80)
+#664 := (iff #84 #661)
+#662 := (iff #80 #80)
+#663 := [refl]: #662
+#665 := [quant-intro #663]: #664
+#133 := (~ #84 #84)
+#132 := (~ #80 #80)
+#130 := [refl]: #132
+#134 := [nnf-pos #130]: #133
+#19 := (= #18 f1)
+#20 := (forall (vars (?v0 S2)) #19)
+#85 := (iff #20 #84)
+#82 := (iff #19 #80)
+#83 := [rewrite]: #82
+#86 := [quant-intro #83]: #85
+#79 := [asserted]: #20
+#89 := [mp #79 #86]: #84
+#127 := [mp~ #89 #134]: #84
+#666 := [mp #127 #665]: #661
+decl f4 :: S2
+#8 := f4
+#9 := (f3 f4)
+#62 := (= f1 #9)
+#65 := (not #62)
+#10 := (= #9 f1)
+#11 := (not #10)
+#66 := (iff #11 #65)
+#63 := (iff #10 #62)
+#64 := [rewrite]: #63
+#67 := [monotonicity #64]: #66
+#61 := [asserted]: #11
+#70 := [mp #61 #67]: #65
+#238 := (not #661)
+#325 := (or #238 #62)
+#239 := [quant-inst]: #325
+[unit-resolution #239 #70 #666]: false
+unsat
+fca05a20824fb9ae1ae5b948aca1cdacb4ec3a3d 119 0
+#2 := false
+decl f3 :: (-> S2 S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f5 :: S2
+#9 := f5
+decl f4 :: S2
+#8 := f4
+#11 := (f3 f4 f5 f6)
+decl f1 :: S1
+#4 := f1
+#70 := (= f1 #11)
+#88 := (not #70)
+#667 := [hypothesis]: #88
+decl f7 :: (-> S2 S3 S1)
+#15 := (f7 f5 f6)
+#76 := (= f1 #15)
+#13 := (f7 f4 f6)
+#73 := (= f1 #13)
+#79 := (or #73 #76)
+#357 := (or #79 #70)
+#89 := (iff #79 #88)
+#16 := (= #15 f1)
+#14 := (= #13 f1)
+#17 := (or #14 #16)
+#12 := (= #11 f1)
+#18 := (iff #12 #17)
+#19 := (not #18)
+#92 := (iff #19 #89)
+#82 := (iff #70 #79)
+#85 := (not #82)
+#90 := (iff #85 #89)
+#91 := [rewrite]: #90
+#86 := (iff #19 #85)
+#83 := (iff #18 #82)
+#80 := (iff #17 #79)
+#77 := (iff #16 #76)
+#78 := [rewrite]: #77
+#74 := (iff #14 #73)
+#75 := [rewrite]: #74
+#81 := [monotonicity #75 #78]: #80
+#71 := (iff #12 #70)
+#72 := [rewrite]: #71
+#84 := [monotonicity #72 #81]: #83
+#87 := [monotonicity #84]: #86
+#93 := [trans #87 #91]: #92
+#69 := [asserted]: #19
+#96 := [mp #69 #93]: #89
+#283 := (not #89)
+#356 := (or #79 #70 #283)
+#353 := [def-axiom]: #356
+#336 := [unit-resolution #353 #96]: #357
+#341 := [unit-resolution #336 #667]: #79
+#343 := (not #79)
+#670 := (or #70 #343)
+#31 := (:var 0 S3)
+#30 := (:var 1 S2)
+#29 := (:var 2 S2)
+#32 := (f3 #29 #30 #31)
+#693 := (pattern #32)
+#36 := (f7 #30 #31)
+#121 := (= f1 #36)
+#34 := (f7 #29 #31)
+#118 := (= f1 #34)
+#124 := (or #118 #121)
+#114 := (= f1 #32)
+#127 := (iff #114 #124)
+#694 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #693) #127)
+#130 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #127)
+#697 := (iff #130 #694)
+#695 := (iff #127 #127)
+#696 := [refl]: #695
+#698 := [quant-intro #696]: #697
+#161 := (~ #130 #130)
+#171 := (~ #127 #127)
+#172 := [refl]: #171
+#162 := [nnf-pos #172]: #161
+#37 := (= #36 f1)
+#35 := (= #34 f1)
+#38 := (or #35 #37)
+#33 := (= #32 f1)
+#39 := (iff #33 #38)
+#40 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #39)
+#131 := (iff #40 #130)
+#128 := (iff #39 #127)
+#125 := (iff #38 #124)
+#122 := (iff #37 #121)
+#123 := [rewrite]: #122
+#119 := (iff #35 #118)
+#120 := [rewrite]: #119
+#126 := [monotonicity #120 #123]: #125
+#116 := (iff #33 #114)
+#117 := [rewrite]: #116
+#129 := [monotonicity #117 #126]: #128
+#132 := [quant-intro #129]: #131
+#113 := [asserted]: #40
+#135 := [mp #113 #132]: #130
+#173 := [mp~ #135 #162]: #130
+#699 := [mp #173 #698]: #694
+#342 := (not #694)
+#674 := (or #342 #82)
+#675 := [quant-inst]: #674
+#329 := [unit-resolution #675 #699]: #82
+#676 := (or #85 #70 #343)
+#677 := [def-axiom]: #676
+#313 := [unit-resolution #677 #329]: #670
+#654 := [unit-resolution #313 #341 #667]: false
+#317 := [lemma #654]: #70
+#330 := (or #343 #88)
+#671 := (or #343 #88 #283)
+#673 := [def-axiom]: #671
+#460 := [unit-resolution #673 #96]: #330
+#318 := [unit-resolution #460 #317]: #343
+#319 := (or #88 #79)
+#672 := (or #85 #88 #79)
+#678 := [def-axiom]: #672
+#320 := [unit-resolution #678 #329]: #319
+[unit-resolution #320 #318 #317]: false
+unsat
+3c528fd543bec1b0abe827803d678f1293dd7fb0 154 0
+#2 := false
+decl f7 :: (-> S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f5 :: S2
+#9 := f5
+#346 := (f7 f5 f6)
+decl f1 :: S1
+#4 := f1
+#343 := (= f1 #346)
+decl f4 :: S2
+#8 := f4
+#13 := (f7 f4 f6)
+#69 := (= f1 #13)
+#347 := (or #69 #343)
+decl f3 :: (-> S2 S2 S3 S1)
+#11 := (f3 f4 f5 f6)
+#66 := (= f1 #11)
+#78 := (not #66)
+#661 := [hypothesis]: #78
+#341 := (or #69 #66)
+#79 := (iff #69 #78)
+#14 := (= #13 f1)
+#12 := (= #11 f1)
+#15 := (iff #12 #14)
+#16 := (not #15)
+#82 := (iff #16 #79)
+#72 := (iff #66 #69)
+#75 := (not #72)
+#80 := (iff #75 #79)
+#81 := [rewrite]: #80
+#76 := (iff #16 #75)
+#73 := (iff #15 #72)
+#70 := (iff #14 #69)
+#71 := [rewrite]: #70
+#67 := (iff #12 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#77 := [monotonicity #74]: #76
+#83 := [trans #77 #81]: #82
+#65 := [asserted]: #16
+#86 := [mp #65 #83]: #79
+#253 := (not #79)
+#340 := (or #69 #66 #253)
+#254 := [def-axiom]: #340
+#255 := [unit-resolution #254 #86]: #341
+#663 := [unit-resolution #255 #661]: #69
+#667 := (not #347)
+#309 := (or #66 #667)
+#326 := (iff #66 #347)
+#17 := (:var 0 S3)
+#27 := (:var 1 S2)
+#26 := (:var 2 S2)
+#28 := (f3 #26 #27 #17)
+#683 := (pattern #28)
+#32 := (f7 #27 #17)
+#111 := (= f1 #32)
+#30 := (f7 #26 #17)
+#108 := (= f1 #30)
+#114 := (or #108 #111)
+#104 := (= f1 #28)
+#117 := (iff #104 #114)
+#684 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #683) #117)
+#120 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #117)
+#687 := (iff #120 #684)
+#685 := (iff #117 #117)
+#686 := [refl]: #685
+#688 := [quant-intro #686]: #687
+#151 := (~ #120 #120)
+#161 := (~ #117 #117)
+#162 := [refl]: #161
+#152 := [nnf-pos #162]: #151
+#33 := (= #32 f1)
+#31 := (= #30 f1)
+#34 := (or #31 #33)
+#29 := (= #28 f1)
+#35 := (iff #29 #34)
+#36 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #35)
+#121 := (iff #36 #120)
+#118 := (iff #35 #117)
+#115 := (iff #34 #114)
+#112 := (iff #33 #111)
+#113 := [rewrite]: #112
+#109 := (iff #31 #108)
+#110 := [rewrite]: #109
+#116 := [monotonicity #110 #113]: #115
+#106 := (iff #29 #104)
+#107 := [rewrite]: #106
+#119 := [monotonicity #107 #116]: #118
+#122 := [quant-intro #119]: #121
+#103 := [asserted]: #36
+#125 := [mp #103 #122]: #120
+#163 := [mp~ #125 #152]: #120
+#689 := [mp #163 #688]: #684
+#320 := (not #684)
+#450 := (or #320 #326)
+#657 := [quant-inst]: #450
+#308 := [unit-resolution #657 #689]: #326
+#658 := (not #326)
+#318 := (or #658 #66 #667)
+#323 := [def-axiom]: #318
+#310 := [unit-resolution #323 #308]: #309
+#646 := [unit-resolution #310 #661]: #667
+#342 := (not #69)
+#331 := (or #347 #342)
+#332 := [def-axiom]: #331
+#647 := [unit-resolution #332 #646 #663]: false
+#648 := [lemma #647]: #66
+#649 := (or #78 #347)
+#659 := (or #658 #78 #347)
+#319 := [def-axiom]: #659
+#650 := [unit-resolution #319 #308]: #649
+#652 := [unit-resolution #650 #648]: #347
+#345 := (or #342 #78)
+#333 := (or #342 #78 #253)
+#344 := [def-axiom]: #333
+#273 := [unit-resolution #344 #86]: #345
+#654 := [unit-resolution #273 #648]: #342
+#662 := (or #667 #69 #343)
+#668 := [def-axiom]: #662
+#294 := [unit-resolution #668 #654 #652]: #343
+#18 := (f7 f5 #17)
+#669 := (pattern #18)
+#85 := (= f1 #18)
+#89 := (not #85)
+#670 := (forall (vars (?v0 S3)) (:pat #669) #89)
+#92 := (forall (vars (?v0 S3)) #89)
+#673 := (iff #92 #670)
+#671 := (iff #89 #89)
+#672 := [refl]: #671
+#674 := [quant-intro #672]: #673
+#159 := (~ #92 #92)
+#157 := (~ #89 #89)
+#158 := [refl]: #157
+#160 := [nnf-pos #158]: #159
+#19 := (= #18 f1)
+#20 := (not #19)
+#21 := (forall (vars (?v0 S3)) #20)
+#93 := (iff #21 #92)
+#90 := (iff #20 #89)
+#87 := (iff #19 #85)
+#88 := [rewrite]: #87
+#91 := [monotonicity #88]: #90
+#94 := [quant-intro #91]: #93
+#84 := [asserted]: #21
+#97 := [mp #84 #94]: #92
+#147 := [mp~ #97 #160]: #92
+#675 := [mp #147 #674]: #670
+#664 := (not #343)
+#645 := (not #670)
+#651 := (or #645 #664)
+#289 := [quant-inst]: #651
+[unit-resolution #289 #675 #294]: false
+unsat
+156b5bbccd88bf00c5d19d456c8d5c95867a3e79 128 0
+#2 := false
+decl f8 :: (-> S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f5 :: S2
+#9 := f5
+#238 := (f8 f5 f6)
+decl f1 :: S1
+#4 := f1
+#325 := (= f1 #238)
+#650 := (not #325)
+decl f4 :: S2
+#8 := f4
+#239 := (f8 f4 f6)
+#326 := (= f1 #239)
+#318 := (or #325 #326)
+#303 := (not #318)
+decl f3 :: (-> S2 S2 S3 S1)
+#11 := (f3 f4 f5 f6)
+#63 := (= f1 #11)
+#258 := (iff #63 #318)
+#19 := (:var 0 S3)
+#24 := (:var 1 S2)
+#23 := (:var 2 S2)
+#25 := (f3 #23 #24 #19)
+#668 := (pattern #25)
+#29 := (f8 #24 #19)
+#96 := (= f1 #29)
+#27 := (f8 #23 #19)
+#93 := (= f1 #27)
+#99 := (or #93 #96)
+#89 := (= f1 #25)
+#102 := (iff #89 #99)
+#669 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #668) #102)
+#105 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #102)
+#672 := (iff #105 #669)
+#670 := (iff #102 #102)
+#671 := [refl]: #670
+#673 := [quant-intro #671]: #672
+#136 := (~ #105 #105)
+#146 := (~ #102 #102)
+#147 := [refl]: #146
+#137 := [nnf-pos #147]: #136
+#30 := (= #29 f1)
+#28 := (= #27 f1)
+#31 := (or #28 #30)
+#26 := (= #25 f1)
+#32 := (iff #26 #31)
+#33 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #32)
+#106 := (iff #33 #105)
+#103 := (iff #32 #102)
+#100 := (iff #31 #99)
+#97 := (iff #30 #96)
+#98 := [rewrite]: #97
+#94 := (iff #28 #93)
+#95 := [rewrite]: #94
+#101 := [monotonicity #95 #98]: #100
+#91 := (iff #26 #89)
+#92 := [rewrite]: #91
+#104 := [monotonicity #92 #101]: #103
+#107 := [quant-intro #104]: #106
+#88 := [asserted]: #33
+#110 := [mp #88 #107]: #105
+#148 := [mp~ #110 #137]: #105
+#674 := [mp #148 #673]: #669
+#332 := (not #669)
+#311 := (or #332 #258)
+#240 := (or #326 #325)
+#327 := (iff #63 #240)
+#646 := (or #332 #327)
+#305 := (iff #646 #311)
+#642 := (iff #311 #311)
+#316 := [rewrite]: #642
+#331 := (iff #327 #258)
+#329 := (iff #240 #318)
+#330 := [rewrite]: #329
+#328 := [monotonicity #330]: #331
+#435 := [monotonicity #328]: #305
+#317 := [trans #435 #316]: #305
+#648 := [quant-inst]: #646
+#649 := [mp #648 #317]: #311
+#632 := [unit-resolution #649 #674]: #258
+#304 := (not #258)
+#633 := (or #304 #303)
+#66 := (not #63)
+#12 := (= #11 f1)
+#13 := (not #12)
+#67 := (iff #13 #66)
+#64 := (iff #12 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#62 := [asserted]: #13
+#71 := [mp #62 #68]: #66
+#645 := (or #304 #63 #303)
+#288 := [def-axiom]: #645
+#636 := [unit-resolution #288 #71]: #633
+#274 := [unit-resolution #636 #632]: #303
+#651 := (or #318 #650)
+#652 := [def-axiom]: #651
+#637 := [unit-resolution #652 #274]: #650
+#20 := (f8 f5 #19)
+#661 := (pattern #20)
+#81 := (= f1 #20)
+#662 := (forall (vars (?v0 S3)) (:pat #661) #81)
+#85 := (forall (vars (?v0 S3)) #81)
+#665 := (iff #85 #662)
+#663 := (iff #81 #81)
+#664 := [refl]: #663
+#666 := [quant-intro #664]: #665
+#134 := (~ #85 #85)
+#133 := (~ #81 #81)
+#131 := [refl]: #133
+#135 := [nnf-pos #131]: #134
+#21 := (= #20 f1)
+#22 := (forall (vars (?v0 S3)) #21)
+#86 := (iff #22 #85)
+#83 := (iff #21 #81)
+#84 := [rewrite]: #83
+#87 := [quant-intro #84]: #86
+#80 := [asserted]: #22
+#90 := [mp #80 #87]: #85
+#128 := [mp~ #90 #135]: #85
+#667 := [mp #128 #666]: #662
+#634 := (not #662)
+#635 := (or #634 #325)
+#630 := [quant-inst]: #635
+[unit-resolution #630 #667 #637]: false
+unsat
+e9501ad699b29b1a0c65a378dbd0d68cdbadce66 146 0
+#2 := false
+decl f3 :: (-> S2 S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f4 :: S2
+#8 := f4
+decl f5 :: S2
+#9 := f5
+#13 := (f3 f5 f4 f6)
+decl f1 :: S1
+#4 := f1
+#70 := (= f1 #13)
+#343 := (not #70)
+#11 := (f3 f4 f5 f6)
+#67 := (= f1 #11)
+#79 := (not #67)
+#640 := [hypothesis]: #79
+#342 := (or #70 #67)
+#80 := (iff #70 #79)
+#14 := (= #13 f1)
+#12 := (= #11 f1)
+#15 := (iff #12 #14)
+#16 := (not #15)
+#83 := (iff #16 #80)
+#73 := (iff #67 #70)
+#76 := (not #73)
+#81 := (iff #76 #80)
+#82 := [rewrite]: #81
+#77 := (iff #16 #76)
+#74 := (iff #15 #73)
+#71 := (iff #14 #70)
+#72 := [rewrite]: #71
+#68 := (iff #12 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#78 := [monotonicity #75]: #77
+#84 := [trans #78 #82]: #83
+#66 := [asserted]: #16
+#87 := [mp #66 #84]: #80
+#254 := (not #80)
+#341 := (or #70 #67 #254)
+#255 := [def-axiom]: #341
+#256 := [unit-resolution #255 #87]: #342
+#362 := [unit-resolution #256 #640]: #70
+decl f9 :: (-> S2 S3 S1)
+#347 := (f9 f4 f6)
+#344 := (= f1 #347)
+#348 := (f9 f5 f6)
+#327 := (= f1 #348)
+#662 := (or #327 #344)
+#659 := (not #662)
+#637 := (or #67 #659)
+#649 := (iff #67 #662)
+#28 := (:var 0 S3)
+#27 := (:var 1 S2)
+#26 := (:var 2 S2)
+#29 := (f3 #26 #27 #28)
+#684 := (pattern #29)
+#33 := (f9 #27 #28)
+#112 := (= f1 #33)
+#31 := (f9 #26 #28)
+#109 := (= f1 #31)
+#115 := (or #109 #112)
+#105 := (= f1 #29)
+#118 := (iff #105 #115)
+#685 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #684) #118)
+#121 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #118)
+#688 := (iff #121 #685)
+#686 := (iff #118 #118)
+#687 := [refl]: #686
+#689 := [quant-intro #687]: #688
+#152 := (~ #121 #121)
+#162 := (~ #118 #118)
+#163 := [refl]: #162
+#153 := [nnf-pos #163]: #152
+#34 := (= #33 f1)
+#32 := (= #31 f1)
+#35 := (or #32 #34)
+#30 := (= #29 f1)
+#36 := (iff #30 #35)
+#37 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #36)
+#122 := (iff #37 #121)
+#119 := (iff #36 #118)
+#116 := (iff #35 #115)
+#113 := (iff #34 #112)
+#114 := [rewrite]: #113
+#110 := (iff #32 #109)
+#111 := [rewrite]: #110
+#117 := [monotonicity #111 #114]: #116
+#107 := (iff #30 #105)
+#108 := [rewrite]: #107
+#120 := [monotonicity #108 #117]: #119
+#123 := [quant-intro #120]: #122
+#104 := [asserted]: #37
+#126 := [mp #104 #123]: #121
+#164 := [mp~ #126 #153]: #121
+#690 := [mp #164 #689]: #685
+#658 := (not #685)
+#646 := (or #658 #649)
+#321 := (or #344 #327)
+#451 := (iff #67 #321)
+#652 := (or #658 #451)
+#653 := (iff #652 #646)
+#295 := (iff #646 #646)
+#296 := [rewrite]: #295
+#650 := (iff #451 #649)
+#647 := (iff #321 #662)
+#648 := [rewrite]: #647
+#651 := [monotonicity #648]: #650
+#655 := [monotonicity #651]: #653
+#656 := [trans #655 #296]: #653
+#290 := [quant-inst]: #652
+#654 := [mp #290 #656]: #646
+#363 := [unit-resolution #654 #690]: #649
+#657 := (not #649)
+#643 := (or #657 #67 #659)
+#644 := [def-axiom]: #643
+#641 := [unit-resolution #644 #363]: #637
+#638 := [unit-resolution #641 #640]: #659
+#352 := (or #343 #662)
+#664 := (iff #70 #662)
+#332 := (or #658 #664)
+#333 := [quant-inst]: #332
+#642 := [unit-resolution #333 #690]: #664
+#660 := (not #664)
+#304 := (or #660 #343 #662)
+#645 := [def-axiom]: #304
+#353 := [unit-resolution #645 #642]: #352
+#354 := [unit-resolution #353 #638 #362]: false
+#355 := [lemma #354]: #67
+#346 := (or #343 #79)
+#334 := (or #343 #79 #254)
+#345 := [def-axiom]: #334
+#274 := [unit-resolution #345 #87]: #346
+#633 := [unit-resolution #274 #355]: #343
+#634 := (or #79 #662)
+#366 := (or #657 #79 #662)
+#367 := [def-axiom]: #366
+#349 := [unit-resolution #367 #363]: #634
+#631 := [unit-resolution #349 #355]: #662
+#635 := (or #70 #659)
+#320 := (or #660 #70 #659)
+#661 := [def-axiom]: #320
+#632 := [unit-resolution #661 #642]: #635
+[unit-resolution #632 #631 #633]: false
+unsat
+60cdff9edbb9caaee078a8376311922be886cc87 121 0
+#2 := false
+decl f3 :: (-> S2 S2 S3 S1)
+decl f5 :: S3
+#9 := f5
+decl f4 :: S2
+#8 := f4
+#10 := (f3 f4 f4 f5)
+decl f1 :: S1
+#4 := f1
+#66 := (= f1 #10)
+#78 := (not #66)
+#644 := [hypothesis]: #78
+decl f6 :: (-> S2 S3 S1)
+#12 := (f6 f4 f5)
+#69 := (= f1 #12)
+#341 := (or #69 #66)
+#79 := (iff #69 #78)
+#13 := (= #12 f1)
+#11 := (= #10 f1)
+#14 := (iff #11 #13)
+#15 := (not #14)
+#82 := (iff #15 #79)
+#72 := (iff #66 #69)
+#75 := (not #72)
+#80 := (iff #75 #79)
+#81 := [rewrite]: #80
+#76 := (iff #15 #75)
+#73 := (iff #14 #72)
+#70 := (iff #13 #69)
+#71 := [rewrite]: #70
+#67 := (iff #11 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#77 := [monotonicity #74]: #76
+#83 := [trans #77 #81]: #82
+#65 := [asserted]: #15
+#86 := [mp #65 #83]: #79
+#253 := (not #79)
+#340 := (or #69 #66 #253)
+#254 := [def-axiom]: #340
+#255 := [unit-resolution #254 #86]: #341
+#307 := [unit-resolution #255 #644]: #69
+#342 := (not #69)
+#309 := (or #66 #342)
+#27 := (:var 0 S3)
+#26 := (:var 1 S2)
+#25 := (:var 2 S2)
+#28 := (f3 #25 #26 #27)
+#683 := (pattern #28)
+#32 := (f6 #26 #27)
+#111 := (= f1 #32)
+#30 := (f6 #25 #27)
+#108 := (= f1 #30)
+#114 := (or #108 #111)
+#104 := (= f1 #28)
+#117 := (iff #104 #114)
+#684 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #683) #117)
+#120 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #117)
+#687 := (iff #120 #684)
+#685 := (iff #117 #117)
+#686 := [refl]: #685
+#688 := [quant-intro #686]: #687
+#151 := (~ #120 #120)
+#161 := (~ #117 #117)
+#162 := [refl]: #161
+#152 := [nnf-pos #162]: #151
+#33 := (= #32 f1)
+#31 := (= #30 f1)
+#34 := (or #31 #33)
+#29 := (= #28 f1)
+#35 := (iff #29 #34)
+#36 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #35)
+#121 := (iff #36 #120)
+#118 := (iff #35 #117)
+#115 := (iff #34 #114)
+#112 := (iff #33 #111)
+#113 := [rewrite]: #112
+#109 := (iff #31 #108)
+#110 := [rewrite]: #109
+#116 := [monotonicity #110 #113]: #115
+#106 := (iff #29 #104)
+#107 := [rewrite]: #106
+#119 := [monotonicity #107 #116]: #118
+#122 := [quant-intro #119]: #121
+#103 := [asserted]: #36
+#125 := [mp #103 #122]: #120
+#163 := [mp~ #125 #152]: #120
+#689 := [mp #163 #688]: #684
+#320 := (not #684)
+#450 := (or #320 #72)
+#346 := (or #69 #69)
+#343 := (iff #66 #346)
+#657 := (or #320 #343)
+#332 := (iff #657 #450)
+#665 := (iff #450 #450)
+#666 := [rewrite]: #665
+#661 := (iff #343 #72)
+#347 := (iff #346 #69)
+#326 := [rewrite]: #347
+#663 := [monotonicity #326]: #661
+#664 := [monotonicity #663]: #332
+#667 := [trans #664 #666]: #332
+#331 := [quant-inst]: #657
+#662 := [mp #331 #667]: #450
+#308 := [unit-resolution #662 #689]: #72
+#668 := (or #75 #66 #342)
+#658 := [def-axiom]: #668
+#310 := [unit-resolution #658 #308]: #309
+#646 := [unit-resolution #310 #307 #644]: false
+#647 := [lemma #646]: #66
+#345 := (or #342 #78)
+#333 := (or #342 #78 #253)
+#344 := [def-axiom]: #333
+#273 := [unit-resolution #344 #86]: #345
+#648 := [unit-resolution #273 #647]: #342
+#649 := (or #78 #69)
+#318 := (or #75 #78 #69)
+#323 := [def-axiom]: #318
+#650 := [unit-resolution #323 #308]: #649
+[unit-resolution #650 #648 #647]: false
+unsat
+e7ec03d0541acce6c328f68f87047aa506800ef8 258 0
+#2 := false
+decl f3 :: (-> S2 S3 S1)
+decl f8 :: S3
+#13 := f8
+decl f6 :: S2
+#9 := f6
+#624 := (f3 f6 f8)
+decl f1 :: S1
+#4 := f1
+#337 := (= f1 #624)
+decl f7 :: S2
+#10 := f7
+#335 := (f3 f7 f8)
+#332 := (= f1 #335)
+#622 := (or #332 #337)
+decl f4 :: (-> S2 S2 S2)
+#11 := (f4 f6 f7)
+#309 := (f3 #11 f8)
+#441 := (= f1 #309)
+#616 := (iff #441 #622)
+#582 := (not #616)
+#580 := [hypothesis]: #582
+#34 := (:var 0 S3)
+#32 := (:var 1 S2)
+#31 := (:var 2 S2)
+#33 := (f4 #31 #32)
+#35 := (f3 #33 #34)
+#674 := (pattern #35)
+#39 := (f3 #32 #34)
+#118 := (= f1 #39)
+#37 := (f3 #31 #34)
+#115 := (= f1 #37)
+#121 := (or #115 #118)
+#111 := (= f1 #35)
+#124 := (iff #111 #121)
+#675 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #674) #124)
+#127 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #124)
+#678 := (iff #127 #675)
+#676 := (iff #124 #124)
+#677 := [refl]: #676
+#679 := [quant-intro #677]: #678
+#158 := (~ #127 #127)
+#168 := (~ #124 #124)
+#169 := [refl]: #168
+#159 := [nnf-pos #169]: #158
+#40 := (= #39 f1)
+#38 := (= #37 f1)
+#41 := (or #38 #40)
+#36 := (= #35 f1)
+#42 := (iff #36 #41)
+#43 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #42)
+#128 := (iff #43 #127)
+#125 := (iff #42 #124)
+#122 := (iff #41 #121)
+#119 := (iff #40 #118)
+#120 := [rewrite]: #119
+#116 := (iff #38 #115)
+#117 := [rewrite]: #116
+#123 := [monotonicity #117 #120]: #122
+#113 := (iff #36 #111)
+#114 := [rewrite]: #113
+#126 := [monotonicity #114 #123]: #125
+#129 := [quant-intro #126]: #128
+#110 := [asserted]: #43
+#132 := [mp #110 #129]: #127
+#170 := [mp~ #132 #159]: #127
+#680 := [mp #170 #679]: #675
+#648 := (not #675)
+#598 := (or #648 #616)
+#621 := (or #337 #332)
+#625 := (iff #441 #621)
+#618 := (or #648 #625)
+#613 := (iff #618 #598)
+#620 := (iff #598 #598)
+#461 := [rewrite]: #620
+#617 := (iff #625 #616)
+#626 := (iff #621 #622)
+#615 := [rewrite]: #626
+#612 := [monotonicity #615]: #617
+#614 := [monotonicity #612]: #613
+#462 := [trans #614 #461]: #613
+#619 := [quant-inst]: #618
+#463 := [mp #619 #462]: #598
+#574 := [unit-resolution #463 #680 #580]: false
+#581 := [lemma #574]: #616
+#594 := (not #622)
+#658 := (not #332)
+decl f5 :: S2
+#8 := f5
+#16 := (f4 f5 f6)
+#336 := (f3 #16 f8)
+#315 := (= f1 #336)
+#652 := (or #315 #332)
+#649 := (not #652)
+#17 := (f4 #16 f7)
+#18 := (f3 #17 f8)
+#76 := (= f1 #18)
+#331 := (not #76)
+#12 := (f4 f5 #11)
+#14 := (f3 #12 f8)
+#73 := (= f1 #14)
+#637 := (f3 f5 f8)
+#638 := (= f1 #637)
+#484 := (or #337 #638)
+#592 := (iff #315 #484)
+#584 := (not #592)
+#577 := [hypothesis]: #584
+#590 := (or #648 #592)
+#601 := (or #638 #337)
+#483 := (iff #315 #601)
+#593 := (or #648 #483)
+#493 := (iff #593 #590)
+#496 := (iff #590 #590)
+#489 := [rewrite]: #496
+#494 := (iff #483 #592)
+#485 := (iff #601 #484)
+#444 := [rewrite]: #485
+#589 := [monotonicity #444]: #494
+#495 := [monotonicity #589]: #493
+#497 := [trans #495 #489]: #493
+#478 := [quant-inst]: #593
+#498 := [mp #478 #497]: #590
+#578 := [unit-resolution #498 #680 #577]: false
+#579 := [lemma #578]: #592
+#85 := (not #73)
+#565 := [hypothesis]: #85
+#330 := (or #76 #73)
+#86 := (iff #76 #85)
+#19 := (= #18 f1)
+#15 := (= #14 f1)
+#20 := (iff #15 #19)
+#21 := (not #20)
+#89 := (iff #21 #86)
+#79 := (iff #73 #76)
+#82 := (not #79)
+#87 := (iff #82 #86)
+#88 := [rewrite]: #87
+#83 := (iff #21 #82)
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#74 := (iff #15 #73)
+#75 := [rewrite]: #74
+#81 := [monotonicity #75 #78]: #80
+#84 := [monotonicity #81]: #83
+#90 := [trans #84 #88]: #89
+#72 := [asserted]: #21
+#93 := [mp #72 #90]: #86
+#242 := (not #86)
+#329 := (or #76 #73 #242)
+#243 := [def-axiom]: #329
+#244 := [unit-resolution #243 #93]: #330
+#566 := [unit-resolution #244 #565]: #76
+#569 := (or #331 #652)
+#654 := (iff #76 #652)
+#320 := (or #648 #654)
+#321 := [quant-inst]: #320
+#568 := [unit-resolution #321 #680]: #654
+#650 := (not #654)
+#292 := (or #650 #331 #652)
+#635 := [def-axiom]: #292
+#570 := [unit-resolution #635 #568]: #569
+#571 := [unit-resolution #570 #566]: #652
+#357 := (not #441)
+#641 := (or #441 #638)
+#630 := (not #641)
+#572 := (or #73 #630)
+#278 := (iff #73 #641)
+#283 := (or #648 #278)
+#639 := (or #638 #441)
+#640 := (iff #73 #639)
+#284 := (or #648 #640)
+#644 := (iff #284 #283)
+#633 := (iff #283 #283)
+#634 := [rewrite]: #633
+#643 := (iff #640 #278)
+#636 := (iff #639 #641)
+#642 := [rewrite]: #636
+#645 := [monotonicity #642]: #643
+#647 := [monotonicity #645]: #644
+#340 := [trans #647 #634]: #644
+#646 := [quant-inst]: #284
+#356 := [mp #646 #340]: #283
+#567 := [unit-resolution #356 #680]: #278
+#627 := (not #278)
+#631 := (or #627 #73 #630)
+#628 := [def-axiom]: #631
+#558 := [unit-resolution #628 #567]: #572
+#559 := [unit-resolution #558 #565]: #630
+#358 := (or #641 #357)
+#344 := [def-axiom]: #358
+#561 := [unit-resolution #344 #559]: #357
+#576 := (or #582 #441 #594)
+#573 := [def-axiom]: #576
+#562 := [unit-resolution #573 #561 #581]: #594
+#605 := (or #622 #658)
+#499 := [def-axiom]: #605
+#563 := [unit-resolution #499 #562]: #658
+#307 := (or #649 #315 #332)
+#312 := [def-axiom]: #307
+#560 := [unit-resolution #312 #563 #571]: #315
+#609 := (not #484)
+#359 := (not #638)
+#250 := (or #641 #359)
+#629 := [def-axiom]: #250
+#564 := [unit-resolution #629 #559]: #359
+#606 := (not #337)
+#500 := (or #622 #606)
+#501 := [def-axiom]: #500
+#544 := [unit-resolution #501 #562]: #606
+#610 := (or #609 #337 #638)
+#604 := [def-axiom]: #610
+#545 := [unit-resolution #604 #544 #564]: #609
+#655 := (not #315)
+#442 := (or #584 #655 #484)
+#443 := [def-axiom]: #442
+#547 := [unit-resolution #443 #545 #560 #579]: false
+#548 := [lemma #547]: #73
+#334 := (or #331 #85)
+#322 := (or #331 #85 #242)
+#333 := [def-axiom]: #322
+#262 := [unit-resolution #333 #93]: #334
+#549 := [unit-resolution #262 #548]: #331
+#550 := (or #76 #649)
+#308 := (or #650 #76 #649)
+#651 := [def-axiom]: #308
+#551 := [unit-resolution #651 #568]: #550
+#552 := [unit-resolution #551 #549]: #649
+#653 := (or #652 #658)
+#659 := [def-axiom]: #653
+#553 := [unit-resolution #659 #552]: #658
+#656 := (or #652 #655)
+#657 := [def-axiom]: #656
+#554 := [unit-resolution #657 #552]: #655
+#611 := (or #584 #315 #609)
+#440 := [def-axiom]: #611
+#555 := [unit-resolution #440 #554 #579]: #609
+#607 := (or #484 #606)
+#608 := [def-axiom]: #607
+#556 := [unit-resolution #608 #555]: #606
+#591 := (or #594 #332 #337)
+#595 := [def-axiom]: #591
+#546 := [unit-resolution #595 #556 #553]: #594
+#557 := (or #85 #641)
+#632 := (or #627 #85 #641)
+#341 := [def-axiom]: #632
+#535 := [unit-resolution #341 #567]: #557
+#536 := [unit-resolution #535 #548]: #641
+#602 := (or #484 #359)
+#603 := [def-axiom]: #602
+#538 := [unit-resolution #603 #555]: #359
+#352 := (or #630 #441 #638)
+#353 := [def-axiom]: #352
+#539 := [unit-resolution #353 #538 #536]: #441
+#575 := (or #582 #357 #622)
+#585 := [def-axiom]: #575
+[unit-resolution #585 #539 #546 #581]: false
+unsat
+0ff3bde207876a1e2bbf9f523fbb88a3af58b75b 153 0
+#2 := false
+decl f7 :: (-> S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f5 :: S2
+#9 := f5
+#15 := (f7 f5 f6)
+decl f1 :: S1
+#4 := f1
+#76 := (= f1 #15)
+#178 := (not #76)
+decl f4 :: S2
+#8 := f4
+#13 := (f7 f4 f6)
+#73 := (= f1 #13)
+#177 := (not #73)
+#165 := (or #177 #178)
+#166 := (not #165)
+#350 := [hypothesis]: #166
+decl f3 :: (-> S2 S2 S3 S1)
+#11 := (f3 f4 f5 f6)
+#70 := (= f1 #11)
+#88 := (not #70)
+#356 := (or #88 #165)
+#189 := (iff #70 #165)
+#79 := (and #73 #76)
+#89 := (iff #79 #88)
+#192 := (iff #89 #189)
+#184 := (iff #165 #70)
+#190 := (iff #184 #189)
+#191 := [rewrite]: #190
+#187 := (iff #89 #184)
+#181 := (iff #166 #88)
+#185 := (iff #181 #184)
+#186 := [rewrite]: #185
+#182 := (iff #89 #181)
+#179 := (iff #79 #166)
+#180 := [rewrite]: #179
+#183 := [monotonicity #180]: #182
+#188 := [trans #183 #186]: #187
+#193 := [trans #188 #191]: #192
+#16 := (= #15 f1)
+#14 := (= #13 f1)
+#17 := (and #14 #16)
+#12 := (= #11 f1)
+#18 := (iff #12 #17)
+#19 := (not #18)
+#92 := (iff #19 #89)
+#82 := (iff #70 #79)
+#85 := (not #82)
+#90 := (iff #85 #89)
+#91 := [rewrite]: #90
+#86 := (iff #19 #85)
+#83 := (iff #18 #82)
+#80 := (iff #17 #79)
+#77 := (iff #16 #76)
+#78 := [rewrite]: #77
+#74 := (iff #14 #73)
+#75 := [rewrite]: #74
+#81 := [monotonicity #75 #78]: #80
+#71 := (iff #12 #70)
+#72 := [rewrite]: #71
+#84 := [monotonicity #72 #81]: #83
+#87 := [monotonicity #84]: #86
+#93 := [trans #87 #91]: #92
+#69 := [asserted]: #19
+#96 := [mp #69 #93]: #89
+#194 := [mp #96 #193]: #189
+#363 := (not #189)
+#373 := (or #88 #165 #363)
+#377 := [def-axiom]: #373
+#691 := [unit-resolution #377 #194]: #356
+#480 := [unit-resolution #691 #350]: #88
+#349 := (or #70 #165)
+#693 := (iff #70 #166)
+#43 := (:var 0 S3)
+#42 := (:var 1 S2)
+#41 := (:var 2 S2)
+#44 := (f3 #41 #42 #43)
+#720 := (pattern #44)
+#48 := (f7 #42 #43)
+#141 := (= f1 #48)
+#196 := (not #141)
+#46 := (f7 #41 #43)
+#138 := (= f1 #46)
+#195 := (not #138)
+#197 := (or #195 #196)
+#198 := (not #197)
+#134 := (= f1 #44)
+#201 := (iff #134 #198)
+#721 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #720) #201)
+#204 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #201)
+#724 := (iff #204 #721)
+#722 := (iff #201 #201)
+#723 := [refl]: #722
+#725 := [quant-intro #723]: #724
+#144 := (and #138 #141)
+#147 := (iff #134 #144)
+#150 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #147)
+#205 := (iff #150 #204)
+#202 := (iff #147 #201)
+#199 := (iff #144 #198)
+#200 := [rewrite]: #199
+#203 := [monotonicity #200]: #202
+#206 := [quant-intro #203]: #205
+#163 := (~ #150 #150)
+#174 := (~ #147 #147)
+#175 := [refl]: #174
+#164 := [nnf-pos #175]: #163
+#49 := (= #48 f1)
+#47 := (= #46 f1)
+#50 := (and #47 #49)
+#45 := (= #44 f1)
+#51 := (iff #45 #50)
+#52 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #51)
+#151 := (iff #52 #150)
+#148 := (iff #51 #147)
+#145 := (iff #50 #144)
+#142 := (iff #49 #141)
+#143 := [rewrite]: #142
+#139 := (iff #47 #138)
+#140 := [rewrite]: #139
+#146 := [monotonicity #140 #143]: #145
+#136 := (iff #45 #134)
+#137 := [rewrite]: #136
+#149 := [monotonicity #137 #146]: #148
+#152 := [quant-intro #149]: #151
+#133 := [asserted]: #52
+#155 := [mp #133 #152]: #150
+#176 := [mp~ #155 #164]: #150
+#207 := [mp #176 #206]: #204
+#726 := [mp #207 #725]: #721
+#687 := (not #721)
+#361 := (or #687 #693)
+#362 := [quant-inst]: #361
+#689 := [unit-resolution #362 #726]: #693
+#694 := (not #693)
+#695 := (or #694 #70 #165)
+#696 := [def-axiom]: #695
+#690 := [unit-resolution #696 #689]: #349
+#333 := [unit-resolution #690 #480 #350]: false
+#674 := [lemma #333]: #165
+#303 := (or #70 #166)
+#374 := (or #70 #166 #363)
+#375 := [def-axiom]: #374
+#376 := [unit-resolution #375 #194]: #303
+#337 := [unit-resolution #376 #674]: #70
+#338 := (or #88 #166)
+#697 := (or #694 #88 #166)
+#692 := [def-axiom]: #697
+#339 := [unit-resolution #692 #689]: #338
+[unit-resolution #339 #337 #674]: false
+unsat
+af9d88d34e35638de5cad45a5fcb0943b421dc7f 141 0
+#2 := false
+decl f7 :: (-> S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f5 :: S2
+#9 := f5
+#246 := (f7 f5 f6)
+decl f1 :: S1
+#4 := f1
+#333 := (= f1 #246)
+#247 := (not #333)
+decl f4 :: S2
+#8 := f4
+#334 := (f7 f4 f6)
+#248 := (= f1 #334)
+#335 := (not #248)
+#326 := (or #335 #247)
+#337 := (not #326)
+decl f3 :: (-> S2 S2 S3 S1)
+#11 := (f3 f4 f5 f6)
+#64 := (= f1 #11)
+#338 := (iff #64 #337)
+#15 := (:var 0 S3)
+#37 := (:var 1 S2)
+#36 := (:var 2 S2)
+#38 := (f3 #36 #37 #15)
+#683 := (pattern #38)
+#42 := (f7 #37 #15)
+#124 := (= f1 #42)
+#161 := (not #124)
+#40 := (f7 #36 #15)
+#121 := (= f1 #40)
+#160 := (not #121)
+#148 := (or #160 #161)
+#149 := (not #148)
+#117 := (= f1 #38)
+#164 := (iff #117 #149)
+#684 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #683) #164)
+#167 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #164)
+#687 := (iff #167 #684)
+#685 := (iff #164 #164)
+#686 := [refl]: #685
+#688 := [quant-intro #686]: #687
+#127 := (and #121 #124)
+#130 := (iff #117 #127)
+#133 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #130)
+#168 := (iff #133 #167)
+#165 := (iff #130 #164)
+#162 := (iff #127 #149)
+#163 := [rewrite]: #162
+#166 := [monotonicity #163]: #165
+#169 := [quant-intro #166]: #168
+#146 := (~ #133 #133)
+#157 := (~ #130 #130)
+#158 := [refl]: #157
+#147 := [nnf-pos #158]: #146
+#43 := (= #42 f1)
+#41 := (= #40 f1)
+#44 := (and #41 #43)
+#39 := (= #38 f1)
+#45 := (iff #39 #44)
+#46 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #45)
+#134 := (iff #46 #133)
+#131 := (iff #45 #130)
+#128 := (iff #44 #127)
+#125 := (iff #43 #124)
+#126 := [rewrite]: #125
+#122 := (iff #41 #121)
+#123 := [rewrite]: #122
+#129 := [monotonicity #123 #126]: #128
+#119 := (iff #39 #117)
+#120 := [rewrite]: #119
+#132 := [monotonicity #120 #129]: #131
+#135 := [quant-intro #132]: #134
+#116 := [asserted]: #46
+#138 := [mp #116 #135]: #133
+#159 := [mp~ #138 #147]: #133
+#170 := [mp #159 #169]: #167
+#689 := [mp #170 #688]: #684
+#336 := (not #684)
+#340 := (or #336 #338)
+#319 := [quant-inst]: #340
+#266 := [unit-resolution #319 #689]: #338
+#325 := (not #338)
+#339 := (or #325 #337)
+#12 := (= #11 f1)
+#13 := (not #12)
+#14 := (not #13)
+#75 := (iff #14 #64)
+#67 := (not #64)
+#70 := (not #67)
+#73 := (iff #70 #64)
+#74 := [rewrite]: #73
+#71 := (iff #14 #70)
+#68 := (iff #13 #67)
+#65 := (iff #12 #64)
+#66 := [rewrite]: #65
+#69 := [monotonicity #66]: #68
+#72 := [monotonicity #69]: #71
+#76 := [trans #72 #74]: #75
+#63 := [asserted]: #14
+#79 := [mp #63 #76]: #64
+#659 := (or #325 #67 #337)
+#660 := [def-axiom]: #659
+#653 := [unit-resolution #660 #79]: #339
+#296 := [unit-resolution #653 #266]: #337
+#313 := (or #326 #333)
+#443 := [def-axiom]: #313
+#637 := [unit-resolution #443 #296]: #333
+#16 := (f7 f5 #15)
+#662 := (pattern #16)
+#78 := (= f1 #16)
+#82 := (not #78)
+#663 := (forall (vars (?v0 S3)) (:pat #662) #82)
+#85 := (forall (vars (?v0 S3)) #82)
+#666 := (iff #85 #663)
+#664 := (iff #82 #82)
+#665 := [refl]: #664
+#667 := [quant-intro #665]: #666
+#152 := (~ #85 #85)
+#150 := (~ #82 #82)
+#151 := [refl]: #150
+#153 := [nnf-pos #151]: #152
+#17 := (= #16 f1)
+#18 := (not #17)
+#19 := (forall (vars (?v0 S3)) #18)
+#86 := (iff #19 #85)
+#83 := (iff #18 #82)
+#80 := (iff #17 #78)
+#81 := [rewrite]: #80
+#84 := [monotonicity #81]: #83
+#87 := [quant-intro #84]: #86
+#77 := [asserted]: #19
+#90 := [mp #77 #87]: #85
+#140 := [mp~ #90 #153]: #85
+#668 := [mp #140 #667]: #663
+#316 := (not #663)
+#652 := (or #316 #247)
+#312 := [quant-inst]: #652
+[unit-resolution #312 #668 #637]: false
+unsat
+1fe992aa332936da32d8835a880128a83f76f965 165 0
+#2 := false
+decl f7 :: (-> S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f4 :: S2
+#8 := f4
+#13 := (f7 f4 f6)
+decl f1 :: S1
+#4 := f1
+#69 := (= f1 #13)
+#342 := (not #69)
+decl f3 :: (-> S2 S2 S3 S1)
+decl f5 :: S2
+#9 := f5
+#11 := (f3 f4 f5 f6)
+#66 := (= f1 #11)
+#346 := (f7 f5 f6)
+#343 := (= f1 #346)
+#347 := (not #343)
+#320 := [hypothesis]: #347
+#22 := (:var 0 S3)
+#23 := (f7 f5 #22)
+#676 := (pattern #23)
+#96 := (= f1 #23)
+#677 := (forall (vars (?v0 S3)) (:pat #676) #96)
+#100 := (forall (vars (?v0 S3)) #96)
+#680 := (iff #100 #677)
+#678 := (iff #96 #96)
+#679 := [refl]: #678
+#681 := [quant-intro #679]: #680
+#149 := (~ #100 #100)
+#148 := (~ #96 #96)
+#146 := [refl]: #148
+#150 := [nnf-pos #146]: #149
+#24 := (= #23 f1)
+#25 := (forall (vars (?v0 S3)) #24)
+#101 := (iff #25 #100)
+#98 := (iff #24 #96)
+#99 := [rewrite]: #98
+#102 := [quant-intro #99]: #101
+#95 := [asserted]: #25
+#105 := [mp #95 #102]: #100
+#143 := [mp~ #105 #150]: #100
+#682 := [mp #143 #681]: #677
+#308 := (not #677)
+#309 := (or #308 #343)
+#310 := [quant-inst]: #309
+#450 := [unit-resolution #310 #682 #320]: false
+#646 := [lemma #450]: #343
+#78 := (not #66)
+#647 := [hypothesis]: #78
+#341 := (or #69 #66)
+#79 := (iff #69 #78)
+#14 := (= #13 f1)
+#12 := (= #11 f1)
+#15 := (iff #12 #14)
+#16 := (not #15)
+#82 := (iff #16 #79)
+#72 := (iff #66 #69)
+#75 := (not #72)
+#80 := (iff #75 #79)
+#81 := [rewrite]: #80
+#76 := (iff #16 #75)
+#73 := (iff #15 #72)
+#70 := (iff #14 #69)
+#71 := [rewrite]: #70
+#67 := (iff #12 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#77 := [monotonicity #74]: #76
+#83 := [trans #77 #81]: #82
+#65 := [asserted]: #16
+#86 := [mp #65 #83]: #79
+#253 := (not #79)
+#340 := (or #69 #66 #253)
+#254 := [def-axiom]: #340
+#255 := [unit-resolution #254 #86]: #341
+#648 := [unit-resolution #255 #647]: #69
+#326 := (or #342 #347)
+#650 := (or #66 #326)
+#661 := (not #326)
+#663 := (iff #66 #661)
+#39 := (:var 1 S2)
+#38 := (:var 2 S2)
+#40 := (f3 #38 #39 #22)
+#690 := (pattern #40)
+#44 := (f7 #39 #22)
+#131 := (= f1 #44)
+#168 := (not #131)
+#42 := (f7 #38 #22)
+#128 := (= f1 #42)
+#167 := (not #128)
+#155 := (or #167 #168)
+#156 := (not #155)
+#124 := (= f1 #40)
+#171 := (iff #124 #156)
+#691 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #690) #171)
+#174 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #171)
+#694 := (iff #174 #691)
+#692 := (iff #171 #171)
+#693 := [refl]: #692
+#695 := [quant-intro #693]: #694
+#134 := (and #128 #131)
+#137 := (iff #124 #134)
+#140 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #137)
+#175 := (iff #140 #174)
+#172 := (iff #137 #171)
+#169 := (iff #134 #156)
+#170 := [rewrite]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#153 := (~ #140 #140)
+#164 := (~ #137 #137)
+#165 := [refl]: #164
+#154 := [nnf-pos #165]: #153
+#45 := (= #44 f1)
+#43 := (= #42 f1)
+#46 := (and #43 #45)
+#41 := (= #40 f1)
+#47 := (iff #41 #46)
+#48 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #47)
+#141 := (iff #48 #140)
+#138 := (iff #47 #137)
+#135 := (iff #46 #134)
+#132 := (iff #45 #131)
+#133 := [rewrite]: #132
+#129 := (iff #43 #128)
+#130 := [rewrite]: #129
+#136 := [monotonicity #130 #133]: #135
+#126 := (iff #41 #124)
+#127 := [rewrite]: #126
+#139 := [monotonicity #127 #136]: #138
+#142 := [quant-intro #139]: #141
+#123 := [asserted]: #48
+#145 := [mp #123 #142]: #140
+#166 := [mp~ #145 #154]: #140
+#177 := [mp #166 #176]: #174
+#696 := [mp #177 #695]: #691
+#657 := (not #691)
+#331 := (or #657 #663)
+#332 := [quant-inst]: #331
+#649 := [unit-resolution #332 #696]: #663
+#658 := (not #663)
+#318 := (or #658 #66 #326)
+#323 := [def-axiom]: #318
+#645 := [unit-resolution #323 #649]: #650
+#651 := [unit-resolution #645 #647]: #326
+#662 := (or #661 #342 #347)
+#668 := [def-axiom]: #662
+#289 := [unit-resolution #668 #651 #648 #646]: false
+#652 := [lemma #289]: #66
+#345 := (or #342 #78)
+#333 := (or #342 #78 #253)
+#344 := [def-axiom]: #333
+#273 := [unit-resolution #344 #86]: #345
+#654 := [unit-resolution #273 #652]: #342
+#294 := (or #78 #661)
+#659 := (or #658 #78 #661)
+#319 := [def-axiom]: #659
+#295 := [unit-resolution #319 #649]: #294
+#655 := [unit-resolution #295 #652]: #661
+#664 := (or #326 #69)
+#665 := [def-axiom]: #664
+[unit-resolution #665 #655 #654]: false
+unsat
+71f085d2a9c00dbd0a999021926a678b17395642 164 0
+#2 := false
+decl f3 :: (-> S2 S2 S3 S1)
+decl f6 :: S3
+#10 := f6
+decl f4 :: S2
+#8 := f4
+decl f5 :: S2
+#9 := f5
+#13 := (f3 f5 f4 f6)
+decl f1 :: S1
+#4 := f1
+#70 := (= f1 #13)
+#343 := (not #70)
+#11 := (f3 f4 f5 f6)
+#67 := (= f1 #11)
+#79 := (not #67)
+#643 := [hypothesis]: #79
+#342 := (or #70 #67)
+#80 := (iff #70 #79)
+#14 := (= #13 f1)
+#12 := (= #11 f1)
+#15 := (iff #12 #14)
+#16 := (not #15)
+#83 := (iff #16 #80)
+#73 := (iff #67 #70)
+#76 := (not #73)
+#81 := (iff #76 #80)
+#82 := [rewrite]: #81
+#77 := (iff #16 #76)
+#74 := (iff #15 #73)
+#71 := (iff #14 #70)
+#72 := [rewrite]: #71
+#68 := (iff #12 #67)
+#69 := [rewrite]: #68
+#75 := [monotonicity #69 #72]: #74
+#78 := [monotonicity #75]: #77
+#84 := [trans #78 #82]: #83
+#66 := [asserted]: #16
+#87 := [mp #66 #84]: #80
+#254 := (not #80)
+#341 := (or #70 #67 #254)
+#255 := [def-axiom]: #341
+#256 := [unit-resolution #255 #87]: #342
+#644 := [unit-resolution #256 #643]: #70
+decl f11 :: (-> S2 S3 S1)
+#327 := (f11 f5 f6)
+#662 := (= f1 #327)
+#664 := (not #662)
+#347 := (f11 f4 f6)
+#344 := (= f1 #347)
+#348 := (not #344)
+#332 := (or #348 #664)
+#642 := (or #67 #332)
+#666 := (not #332)
+#657 := (iff #67 #666)
+#40 := (:var 0 S3)
+#39 := (:var 1 S2)
+#38 := (:var 2 S2)
+#41 := (f3 #38 #39 #40)
+#691 := (pattern #41)
+#45 := (f11 #39 #40)
+#132 := (= f1 #45)
+#169 := (not #132)
+#43 := (f11 #38 #40)
+#129 := (= f1 #43)
+#168 := (not #129)
+#156 := (or #168 #169)
+#157 := (not #156)
+#125 := (= f1 #41)
+#172 := (iff #125 #157)
+#692 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #691) #172)
+#175 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #172)
+#695 := (iff #175 #692)
+#693 := (iff #172 #172)
+#694 := [refl]: #693
+#696 := [quant-intro #694]: #695
+#135 := (and #129 #132)
+#138 := (iff #125 #135)
+#141 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #138)
+#176 := (iff #141 #175)
+#173 := (iff #138 #172)
+#170 := (iff #135 #157)
+#171 := [rewrite]: #170
+#174 := [monotonicity #171]: #173
+#177 := [quant-intro #174]: #176
+#154 := (~ #141 #141)
+#165 := (~ #138 #138)
+#166 := [refl]: #165
+#155 := [nnf-pos #166]: #154
+#46 := (= #45 f1)
+#44 := (= #43 f1)
+#47 := (and #44 #46)
+#42 := (= #41 f1)
+#48 := (iff #42 #47)
+#49 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #48)
+#142 := (iff #49 #141)
+#139 := (iff #48 #138)
+#136 := (iff #47 #135)
+#133 := (iff #46 #132)
+#134 := [rewrite]: #133
+#130 := (iff #44 #129)
+#131 := [rewrite]: #130
+#137 := [monotonicity #131 #134]: #136
+#127 := (iff #42 #125)
+#128 := [rewrite]: #127
+#140 := [monotonicity #128 #137]: #139
+#143 := [quant-intro #140]: #142
+#124 := [asserted]: #49
+#146 := [mp #124 #143]: #141
+#167 := [mp~ #146 #155]: #141
+#178 := [mp #167 #177]: #175
+#697 := [mp #178 #696]: #692
+#319 := (not #692)
+#366 := (or #319 #657)
+#367 := [quant-inst]: #366
+#638 := [unit-resolution #367 #697]: #657
+#368 := (not #657)
+#369 := (or #368 #67 #332)
+#262 := [def-axiom]: #369
+#352 := [unit-resolution #262 #638]: #642
+#353 := [unit-resolution #352 #643]: #332
+#355 := (or #343 #666)
+#663 := (iff #70 #666)
+#324 := (or #319 #663)
+#321 := (or #664 #348)
+#451 := (not #321)
+#658 := (iff #70 #451)
+#660 := (or #319 #658)
+#661 := (iff #660 #324)
+#645 := (iff #324 #324)
+#308 := [rewrite]: #645
+#669 := (iff #658 #663)
+#667 := (iff #451 #666)
+#333 := (iff #321 #332)
+#665 := [rewrite]: #333
+#668 := [monotonicity #665]: #667
+#659 := [monotonicity #668]: #669
+#304 := [monotonicity #659]: #661
+#309 := [trans #304 #308]: #661
+#320 := [quant-inst]: #660
+#310 := [mp #320 #309]: #324
+#354 := [unit-resolution #310 #697]: #663
+#646 := (not #663)
+#653 := (or #646 #343 #666)
+#655 := [def-axiom]: #653
+#633 := [unit-resolution #655 #354]: #355
+#634 := [unit-resolution #633 #353 #644]: false
+#349 := [lemma #634]: #67
+#346 := (or #343 #79)
+#334 := (or #343 #79 #254)
+#345 := [def-axiom]: #334
+#274 := [unit-resolution #345 #87]: #346
+#631 := [unit-resolution #274 #349]: #343
+#635 := (or #79 #666)
+#639 := (or #368 #79 #666)
+#640 := [def-axiom]: #639
+#632 := [unit-resolution #640 #638]: #635
+#636 := [unit-resolution #632 #349]: #666
+#625 := (or #70 #332)
+#652 := (or #646 #70 #332)
+#290 := [def-axiom]: #652
+#626 := [unit-resolution #290 #354]: #625
+[unit-resolution #626 #636 #631]: false
+unsat
+4a2ec1009e57974d1e4c4125b313542f141f334f 142 0
+#2 := false
+decl f3 :: (-> S2 S2 S3 S1)
+decl f5 :: S3
+#9 := f5
+decl f4 :: S2
+#8 := f4
+#10 := (f3 f4 f4 f5)
+decl f1 :: S1
+#4 := f1
+#66 := (= f1 #10)
+#78 := (not #66)
+#649 := [hypothesis]: #78
+decl f6 :: (-> S2 S3 S1)
+#12 := (f6 f4 f5)
+#69 := (= f1 #12)
+#341 := (or #69 #66)
+#79 := (iff #69 #78)
+#13 := (= #12 f1)
+#11 := (= #10 f1)
+#14 := (iff #11 #13)
+#15 := (not #14)
+#82 := (iff #15 #79)
+#72 := (iff #66 #69)
+#75 := (not #72)
+#80 := (iff #75 #79)
+#81 := [rewrite]: #80
+#76 := (iff #15 #75)
+#73 := (iff #14 #72)
+#70 := (iff #13 #69)
+#71 := [rewrite]: #70
+#67 := (iff #11 #66)
+#68 := [rewrite]: #67
+#74 := [monotonicity #68 #71]: #73
+#77 := [monotonicity #74]: #76
+#83 := [trans #77 #81]: #82
+#65 := [asserted]: #15
+#86 := [mp #65 #83]: #79
+#253 := (not #79)
+#340 := (or #69 #66 #253)
+#254 := [def-axiom]: #340
+#255 := [unit-resolution #254 #86]: #341
+#650 := [unit-resolution #255 #649]: #69
+#342 := (not #69)
+#651 := (or #66 #342)
+#39 := (:var 0 S3)
+#38 := (:var 1 S2)
+#37 := (:var 2 S2)
+#40 := (f3 #37 #38 #39)
+#690 := (pattern #40)
+#44 := (f6 #38 #39)
+#131 := (= f1 #44)
+#168 := (not #131)
+#42 := (f6 #37 #39)
+#128 := (= f1 #42)
+#167 := (not #128)
+#155 := (or #167 #168)
+#156 := (not #155)
+#124 := (= f1 #40)
+#171 := (iff #124 #156)
+#691 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #690) #171)
+#174 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #171)
+#694 := (iff #174 #691)
+#692 := (iff #171 #171)
+#693 := [refl]: #692
+#695 := [quant-intro #693]: #694
+#134 := (and #128 #131)
+#137 := (iff #124 #134)
+#140 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #137)
+#175 := (iff #140 #174)
+#172 := (iff #137 #171)
+#169 := (iff #134 #156)
+#170 := [rewrite]: #169
+#173 := [monotonicity #170]: #172
+#176 := [quant-intro #173]: #175
+#153 := (~ #140 #140)
+#164 := (~ #137 #137)
+#165 := [refl]: #164
+#154 := [nnf-pos #165]: #153
+#45 := (= #44 f1)
+#43 := (= #42 f1)
+#46 := (and #43 #45)
+#41 := (= #40 f1)
+#47 := (iff #41 #46)
+#48 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #47)
+#141 := (iff #48 #140)
+#138 := (iff #47 #137)
+#135 := (iff #46 #134)
+#132 := (iff #45 #131)
+#133 := [rewrite]: #132
+#129 := (iff #43 #128)
+#130 := [rewrite]: #129
+#136 := [monotonicity #130 #133]: #135
+#126 := (iff #41 #124)
+#127 := [rewrite]: #126
+#139 := [monotonicity #127 #136]: #138
+#142 := [quant-intro #139]: #141
+#123 := [asserted]: #48
+#145 := [mp #123 #142]: #140
+#166 := [mp~ #145 #154]: #140
+#177 := [mp #166 #176]: #174
+#696 := [mp #177 #695]: #691
+#667 := (not #691)
+#662 := (or #667 #72)
+#346 := (or #342 #342)
+#343 := (not #346)
+#347 := (iff #66 #343)
+#668 := (or #667 #347)
+#318 := (iff #668 #662)
+#659 := (iff #662 #662)
+#319 := [rewrite]: #659
+#665 := (iff #347 #72)
+#332 := (iff #343 #69)
+#663 := (not #342)
+#657 := (iff #663 #69)
+#331 := [rewrite]: #657
+#320 := (iff #343 #663)
+#326 := (iff #346 #342)
+#661 := [rewrite]: #326
+#450 := [monotonicity #661]: #320
+#664 := [trans #450 #331]: #332
+#666 := [monotonicity #664]: #665
+#323 := [monotonicity #666]: #318
+#660 := [trans #323 #319]: #318
+#658 := [quant-inst]: #668
+#303 := [mp #658 #660]: #662
+#645 := [unit-resolution #303 #696]: #72
+#644 := (or #75 #66 #342)
+#307 := [def-axiom]: #644
+#289 := [unit-resolution #307 #645]: #651
+#652 := [unit-resolution #289 #650 #649]: false
+#654 := [lemma #652]: #66
+#345 := (or #342 #78)
+#333 := (or #342 #78 #253)
+#344 := [def-axiom]: #333
+#273 := [unit-resolution #344 #86]: #345
+#294 := [unit-resolution #273 #654]: #342
+#295 := (or #78 #69)
+#308 := (or #75 #78 #69)
+#309 := [def-axiom]: #308
+#655 := [unit-resolution #309 #645]: #295
+[unit-resolution #655 #294 #654]: false
+unsat
+9a719bb56314c3b4bab4bac5b0adde4b491a8497 279 0
+#2 := false
+decl f3 :: (-> S2 S3 S1)
+decl f8 :: S3
+#13 := f8
+decl f4 :: (-> S2 S2 S2)
+decl f6 :: S2
+#9 := f6
+decl f5 :: S2
+#8 := f5
+#16 := (f4 f5 f6)
+#315 := (f3 #16 f8)
+decl f1 :: S1
+#4 := f1
+#652 := (= f1 #315)
+#250 := (f3 f6 f8)
+#629 := (= f1 #250)
+#626 := (not #629)
+#340 := (f3 f5 f8)
+#356 := (= f1 #340)
+#357 := (not #356)
+#615 := (or #357 #626)
+#616 := (not #615)
+#612 := (iff #616 #652)
+#583 := (not #612)
+#571 := [hypothesis]: #583
+#46 := (:var 0 S3)
+#44 := (:var 1 S2)
+#43 := (:var 2 S2)
+#45 := (f4 #43 #44)
+#47 := (f3 #45 #46)
+#681 := (pattern #47)
+#51 := (f3 #44 #46)
+#138 := (= f1 #51)
+#175 := (not #138)
+#49 := (f3 #43 #46)
+#135 := (= f1 #49)
+#174 := (not #135)
+#162 := (or #174 #175)
+#163 := (not #162)
+#131 := (= f1 #47)
+#178 := (iff #131 #163)
+#682 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) (:pat #681) #178)
+#181 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #178)
+#685 := (iff #181 #682)
+#683 := (iff #178 #178)
+#684 := [refl]: #683
+#686 := [quant-intro #684]: #685
+#141 := (and #135 #138)
+#144 := (iff #131 #141)
+#147 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #144)
+#182 := (iff #147 #181)
+#179 := (iff #144 #178)
+#176 := (iff #141 #163)
+#177 := [rewrite]: #176
+#180 := [monotonicity #177]: #179
+#183 := [quant-intro #180]: #182
+#160 := (~ #147 #147)
+#171 := (~ #144 #144)
+#172 := [refl]: #171
+#161 := [nnf-pos #172]: #160
+#52 := (= #51 f1)
+#50 := (= #49 f1)
+#53 := (and #50 #52)
+#48 := (= #47 f1)
+#54 := (iff #48 #53)
+#55 := (forall (vars (?v0 S2) (?v1 S2) (?v2 S3)) #54)
+#148 := (iff #55 #147)
+#145 := (iff #54 #144)
+#142 := (iff #53 #141)
+#139 := (iff #52 #138)
+#140 := [rewrite]: #139
+#136 := (iff #50 #135)
+#137 := [rewrite]: #136
+#143 := [monotonicity #137 #140]: #142
+#133 := (iff #48 #131)
+#134 := [rewrite]: #133
+#146 := [monotonicity #134 #143]: #145
+#149 := [quant-intro #146]: #148
+#130 := [asserted]: #55
+#152 := [mp #130 #149]: #147
+#173 := [mp~ #152 #161]: #147
+#184 := [mp #173 #183]: #181
+#687 := [mp #184 #686]: #682
+#307 := (not #682)
+#598 := (or #307 #612)
+#617 := (iff #652 #616)
+#614 := (or #307 #617)
+#619 := (iff #614 #598)
+#462 := (iff #598 #598)
+#463 := [rewrite]: #462
+#613 := (iff #617 #612)
+#618 := [rewrite]: #613
+#461 := [monotonicity #618]: #619
+#605 := [trans #461 #463]: #619
+#620 := [quant-inst]: #614
+#606 := [mp #620 #605]: #598
+#567 := [unit-resolution #606 #687 #571]: false
+#572 := [lemma #567]: #612
+#654 := (not #652)
+decl f7 :: S2
+#10 := f7
+#335 := (f3 f7 f8)
+#332 := (= f1 #335)
+#336 := (not #332)
+#320 := (or #336 #654)
+#17 := (f4 #16 f7)
+#18 := (f3 #17 f8)
+#76 := (= f1 #18)
+#331 := (not #76)
+#11 := (f4 f6 f7)
+#12 := (f4 f5 #11)
+#14 := (f3 #12 f8)
+#73 := (= f1 #14)
+#647 := (f3 #11 f8)
+#633 := (= f1 #647)
+#485 := (or #336 #626)
+#494 := (not #485)
+#495 := (iff #494 #633)
+#588 := (not #495)
+#568 := [hypothesis]: #588
+#499 := (or #307 #495)
+#601 := (or #626 #336)
+#483 := (not #601)
+#484 := (iff #633 #483)
+#500 := (or #307 #484)
+#594 := (iff #500 #499)
+#595 := (iff #499 #499)
+#582 := [rewrite]: #595
+#497 := (iff #484 #495)
+#593 := (iff #633 #494)
+#496 := (iff #593 #495)
+#489 := [rewrite]: #496
+#478 := (iff #484 #593)
+#589 := (iff #483 #494)
+#444 := (iff #601 #485)
+#592 := [rewrite]: #444
+#590 := [monotonicity #592]: #589
+#493 := [monotonicity #590]: #478
+#498 := [trans #493 #489]: #497
+#591 := [monotonicity #498]: #594
+#584 := [trans #591 #582]: #594
+#501 := [quant-inst]: #500
+#576 := [mp #501 #584]: #499
+#569 := [unit-resolution #576 #687 #568]: false
+#570 := [lemma #569]: #495
+#634 := (not #633)
+#358 := (or #357 #634)
+#85 := (not #73)
+#558 := [hypothesis]: #85
+#561 := (or #73 #358)
+#344 := (not #358)
+#359 := (iff #73 #344)
+#630 := (or #307 #359)
+#352 := [quant-inst]: #630
+#559 := [unit-resolution #352 #687]: #359
+#342 := (not #359)
+#343 := (or #342 #73 #358)
+#345 := [def-axiom]: #343
+#562 := [unit-resolution #345 #559]: #561
+#563 := [unit-resolution #562 #558]: #358
+#656 := (not #320)
+#330 := (or #76 #73)
+#86 := (iff #76 #85)
+#19 := (= #18 f1)
+#15 := (= #14 f1)
+#20 := (iff #15 #19)
+#21 := (not #20)
+#89 := (iff #21 #86)
+#79 := (iff #73 #76)
+#82 := (not #79)
+#87 := (iff #82 #86)
+#88 := [rewrite]: #87
+#83 := (iff #21 #82)
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#74 := (iff #15 #73)
+#75 := [rewrite]: #74
+#81 := [monotonicity #75 #78]: #80
+#84 := [monotonicity #81]: #83
+#90 := [trans #84 #88]: #89
+#72 := [asserted]: #21
+#93 := [mp #72 #90]: #86
+#242 := (not #86)
+#329 := (or #76 #73 #242)
+#243 := [def-axiom]: #329
+#244 := [unit-resolution #243 #93]: #330
+#560 := [unit-resolution #244 #558]: #76
+#544 := (or #331 #656)
+#653 := (iff #76 #656)
+#312 := (or #307 #653)
+#309 := (or #654 #336)
+#441 := (not #309)
+#648 := (iff #76 #441)
+#650 := (or #307 #648)
+#651 := (iff #650 #312)
+#635 := (iff #312 #312)
+#296 := [rewrite]: #635
+#659 := (iff #648 #653)
+#657 := (iff #441 #656)
+#321 := (iff #309 #320)
+#655 := [rewrite]: #321
+#658 := [monotonicity #655]: #657
+#649 := [monotonicity #658]: #659
+#292 := [monotonicity #649]: #651
+#297 := [trans #292 #296]: #651
+#308 := [quant-inst]: #650
+#298 := [mp #308 #297]: #312
+#564 := [unit-resolution #298 #687]: #653
+#636 := (not #653)
+#643 := (or #636 #331 #656)
+#645 := [def-axiom]: #643
+#545 := [unit-resolution #645 #564]: #544
+#547 := [unit-resolution #545 #560]: #656
+#638 := (or #320 #652)
+#639 := [def-axiom]: #638
+#548 := [unit-resolution #639 #547]: #652
+#577 := (or #583 #616 #654)
+#578 := [def-axiom]: #577
+#549 := [unit-resolution #578 #548 #572]: #616
+#607 := (or #615 #356)
+#573 := [def-axiom]: #607
+#550 := [unit-resolution #573 #549]: #356
+#632 := (or #344 #357 #634)
+#341 := [def-axiom]: #632
+#551 := [unit-resolution #341 #550 #563]: #634
+#299 := (or #320 #332)
+#637 := [def-axiom]: #299
+#552 := [unit-resolution #637 #547]: #332
+#575 := (or #615 #629)
+#585 := [def-axiom]: #575
+#553 := [unit-resolution #585 #549]: #629
+#610 := (or #494 #336 #626)
+#604 := [def-axiom]: #610
+#554 := [unit-resolution #604 #553 #552]: #494
+#442 := (or #588 #485 #633)
+#443 := [def-axiom]: #442
+#555 := [unit-resolution #443 #554 #551 #570]: false
+#556 := [lemma #555]: #73
+#334 := (or #331 #85)
+#322 := (or #331 #85 #242)
+#333 := [def-axiom]: #322
+#262 := [unit-resolution #333 #93]: #334
+#546 := [unit-resolution #262 #556]: #331
+#557 := (or #76 #320)
+#642 := (or #636 #76 #320)
+#278 := [def-axiom]: #642
+#535 := [unit-resolution #278 #564]: #557
+#536 := [unit-resolution #535 #546]: #320
+#538 := (or #85 #344)
+#623 := (or #342 #85 #344)
+#624 := [def-axiom]: #623
+#539 := [unit-resolution #624 #559]: #538
+#540 := [unit-resolution #539 #556]: #344
+#631 := (or #358 #633)
+#628 := [def-axiom]: #631
+#541 := [unit-resolution #628 #540]: #633
+#611 := (or #588 #494 #634)
+#440 := [def-axiom]: #611
+#542 := [unit-resolution #440 #541 #570]: #494
+#608 := (or #485 #332)
+#602 := [def-axiom]: #608
+#537 := [unit-resolution #602 #542]: #332
+#640 := (or #656 #336 #654)
+#641 := [def-axiom]: #640
+#543 := [unit-resolution #641 #537 #536]: #654
+#353 := (or #358 #356)
+#627 := [def-axiom]: #353
+#529 := [unit-resolution #627 #540]: #356
+#603 := (or #485 #629)
+#609 := [def-axiom]: #603
+#525 := [unit-resolution #609 #542]: #629
+#586 := (or #616 #357 #626)
+#587 := [def-axiom]: #586
+#526 := [unit-resolution #587 #525 #529]: #616
+#579 := (or #583 #615 #652)
+#580 := [def-axiom]: #579
+[unit-resolution #580 #526 #543 #572]: false
+unsat
+d1f4c7d9bd1f639df15a28175017a4537fb9637f 18 0
+#2 := false
+decl f3 :: S2
+#8 := f3
+#9 := (= f3 f3)
+#10 := (not #9)
+#68 := (iff #10 false)
+#1 := true
+#63 := (not true)
+#66 := (iff #63 false)
+#67 := [rewrite]: #66
+#64 := (iff #10 #63)
+#61 := (iff #9 true)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#69 := [trans #65 #67]: #68
+#60 := [asserted]: #10
+[mp #60 #69]: false
+unsat
--- a/src/HOL/SMT_Examples/SMT_Tests.thy	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Tests.thy	Fri May 28 17:00:38 2010 +0200
@@ -281,7 +281,7 @@
   "(3::nat) div 3 = 1"
   "(x::nat) div 3 \<le> x"
   "(x div 3 = x) = (x = 0)"
-  sorry (* FIXME: div/mod *)
+  by smt+
 
 lemma
   "(0::nat) mod 0 = 0"
@@ -295,12 +295,12 @@
   "(3::nat) mod 3 = 0"
   "x mod 3 < 3"
   "(x mod 3 = x) = (x < 3)"
-  sorry (* FIXME: div/mod *)
+  by smt+
 
 lemma
   "(x::nat) = x div 1 * 1 + x mod 1"
   "x = x div 3 * 3 + x mod 3"
-  sorry (* FIXME: div/mod *)
+  by smt+
 
 lemma
   "min (x::nat) y \<le> x"
@@ -388,8 +388,6 @@
   "3 * x = x * 3"
   by smt+
 
-(* FIXME: consider different cases of signs
-
 lemma
   "(0::int) div 0 = 0"
   "(x::int) div 0 = 0"
@@ -397,10 +395,24 @@
   "(1::int) div 1 = 1"
   "(3::int) div 1 = 3"
   "(x::int) div 1 = x"
+  "(0::int) div -1 = 0"
+  "(1::int) div -1 = -1"
+  "(3::int) div -1 = -3"
+  "(x::int) div -1 = -x"
   "(0::int) div 3 = 0"
+  "(0::int) div -3 = 0"
   "(1::int) div 3 = 0"
   "(3::int) div 3 = 1"
-  "(0::int) div -3 = 0"
+  "(5::int) div 3 = 1"
+  "(1::int) div -3 = -1"
+  "(3::int) div -3 = -1"
+  "(5::int) div -3 = -2"
+  "(-1::int) div 3 = -1"
+  "(-3::int) div 3 = -1"
+  "(-5::int) div 3 = -2"
+  "(-1::int) div -3 = 0"
+  "(-3::int) div -3 = 1"
+  "(-5::int) div -3 = 1"
   by smt+
 
 lemma
@@ -409,19 +421,33 @@
   "(0::int) mod 1 = 0"
   "(1::int) mod 1 = 0"
   "(3::int) mod 1 = 0"
-  "x mod 1 = 0"
+  "(x::int) mod 1 = 0"
+  "(0::int) mod -1 = 0"
+  "(1::int) mod -1 = 0"
+  "(3::int) mod -1 = 0"
+  "(x::int) mod -1 = 0"
   "(0::int) mod 3 = 0"
+  "(0::int) mod -3 = 0"
   "(1::int) mod 3 = 1"
   "(3::int) mod 3 = 0"
+  "(5::int) mod 3 = 2"
+  "(1::int) mod -3 = -2"
+  "(3::int) mod -3 = 0"
+  "(5::int) mod -3 = -1"
+  "(-1::int) mod 3 = 2"
+  "(-3::int) mod 3 = 0"
+  "(-5::int) mod 3 = 1"
+  "(-1::int) mod -3 = -1"
+  "(-3::int) mod -3 = 0"
+  "(-5::int) mod -3 = -2"
   "x mod 3 < 3"
-  "(x mod 3 = x) = (x < 3)"
+  "(x mod 3 = x) \<longrightarrow> (x < 3)"
   by smt+
 
 lemma
   "(x::int) = x div 1 * 1 + x mod 1"
   "x = x div 3 * 3 + x mod 3"
   by smt+
-*)
 
 lemma
   "abs (x::int) \<ge> 0"
@@ -592,4 +618,50 @@
   "(fst p = snd p) = (p = (snd p, fst p))"
   by smt+
 
+
+
+section {* Function updates *}
+
+lemma
+  "(f (i := v)) i = v"
+  "i1 \<noteq> i2 \<longrightarrow> (f (i1 := v)) i2 = f i2"
+  "i1 \<noteq> i2 \<longrightarrow> (f (i1 := v1, i2 := v2)) i1 = v1"
+  "i1 \<noteq> i2 \<longrightarrow> (f (i1 := v1, i2 := v2)) i2 = v2"
+  "i1 = i2 \<longrightarrow> (f (i1 := v1, i2 := v2)) i1 = v2"
+  "i1 = i2 \<longrightarrow> (f (i1 := v1, i2 := v2)) i1 = v2"
+  "distinct [i1, i2, i3] \<longrightarrow> (f (i1 := v1, i2 := v2)) i3 = f i3"
+  by smt+
+
+
+
+section {* Sets *}
+
+lemma smt_sets:
+  "\<not>({} x)"
+  "UNIV x"
+  "(A \<union> B) x = (A x \<or> B x)"
+  "(A \<inter> B) x = (A x \<and> B x)"
+  by auto
+
+lemma
+  "x \<in> P = P x"
+  "x \<in> {x. P x} = P x"
+  "x \<notin> {}"
+  "x \<in> UNIV"
+  "x \<in> P \<union> Q = (P x \<or> Q x)"
+  "x \<in> P \<union> {} = P x"
+  "x \<in> P \<union> UNIV"
+  "(x \<in> P \<union> Q) = (x \<in> Q \<union> P)"
+  "(x \<in> P \<union> P) = (x \<in> P)"
+  "(x \<in> P \<union> (Q \<union> R)) = (x \<in> (P \<union> Q) \<union> R)"
+  "(x \<in> P \<inter> Q) = (P x \<and> Q x)"
+  "x \<notin> P \<inter> {}"
+  "(x \<in> P \<inter> UNIV) = (x \<in> P)"
+  "(x \<in> P \<inter> Q) = (x \<in> Q \<inter> P)"
+  "(x \<in> P \<inter> P) = (x \<in> P)"
+  "(x \<in> P \<inter> (Q \<inter> R)) = (x \<in> (P \<inter> Q) \<inter> R)"
+  "{x. P x} = {y. P y}"
+  unfolding mem_def Collect_def
+  by (smt smt_sets)+
+
 end
--- a/src/HOL/SMT_Examples/SMT_Word_Examples.certs	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Word_Examples.certs	Fri May 28 17:00:38 2010 +0200
@@ -1,50 +1,50 @@
-109048e9770895817dd5979a00f06da534f7d595 1 0
+46235d1f6a4388f12c18d3d18eaed2d6ab3523e2 1 0
 unsat
-1babc920ec79618df5f0b082e9d3cddd652a90ad 1 0
+2989011a3b771bf7eab17217929d76db371db55a 1 0
 unsat
-d267ab6dbaa3194e4128cfbcf6e1a93b9e48a6f1 1 0
+4d462cfbec6db35b16a67293eb04373a3a11cb44 1 0
 unsat
-d6d26ea94007e43e58225f7c46ec0a99f2402584 1 0
+32e799a4f02a8bf85378e2558d647d6e6e7e4116 1 0
 unsat
-ca760845de610e645bcfc9b1041c0181d587733c 1 0
+ea8ec671ee4ec9ca44eadb130212b55542ad3c72 1 0
 unsat
-923d502dfce46dab44c651e54c18296dbb701b66 1 0
+0b22b7d406250c007b69daac26169211cece6e5e 1 0
 unsat
-05b73dac3f593df70bca3c3e0ef8e7ccec9807f2 1 0
+6f37bd70504a10f1a5bd56b5d3031a3658eef94d 1 0
 unsat
-84a1c78fe50d413d318d0b982ef77dc6f5789b77 1 0
+12d0a7828bda723d340f377f770b153b4828c723 1 0
 unsat
-a56de9dbb2b956491f70c16b413c7873decfb6ef 1 0
+42a5347bcc64f0fc5e7773f929e8b7e6d96e73d0 1 0
 unsat
-d52770f24e6588f2357f3ca6e4d57f4097733afe 1 0
+a42bcf18394af94f8cc8ab8ce877ec1e88c84c2b 1 0
 unsat
-748b3e3e560f80cfa668db1bebe6f1b14fd9929c 1 0
+e3c0ae35ad656751b98714cf4a7bf8c152a73c5b 1 0
 unsat
-27fd56f39a2ea54c36a37f882d135ce76140c9ce 1 0
+471cc482e74eb56062a56eeeedc0a1257f6bda33 1 0
 unsat
-a34ef9de6d19e47e54a2b297aeabc15edfca45ef 1 0
+122224697bc7ce7440727f7345bc6c4718983ebf 1 0
 unsat
-e604cafe2585e4e1dece418ea345ceb333bd32d5 1 0
+ff841f21b338943202778802235f8b185af9f926 1 0
 unsat
-2f36aaa31646c160a17df3ebe0304e0032f73f4d 1 0
+d53ed3b2dea404bbf4cc3cdde4855f8f002b1ced 1 0
 unsat
-ba93d3be1c4bfd2604b43fa2ddb561b976e10758 1 0
+6f80ff315644370e76762c9594cc0408fb226af7 1 0
 unsat
-ae4d9a0ba65abb0a77e4e62bb2c12dc4ea3106ee 1 0
+9354d8e43f3fcfb65d935d9c042aa4eb28fa8c7f 1 0
 unsat
-1378f7b126db81ae9f1a82f4926ae93bcbca2a4d 1 0
+ea68ff6144ab104762c1ca59e4571d4c481712f2 1 0
 unsat
-1f5fc8f6f2a92b4ae058947d4cd7b66ce682cb8e 1 0
+7ec887bf8cbac8fcbb5ed1a9fdcd99b2e709a6ec 1 0
 unsat
-ac2f17b7693facdb228260e8305e59afdc4a47c0 1 0
+5005c7113901a2b2f31bdfbbc6192115a80e6a9f 1 0
 unsat
-f290ad959d390f93ae38adf99423d0be11135d21 1 0
+9c31a94edb0c85615a8598ba1cd1036b5072b34f 1 0
 unsat
-4d50150d6746ff126a14943bed3ec37230750d8b 1 0
+68c40f37bd410a9b4b24ab0f6e3e9dcc5159144c 1 0
 unsat
-ac1c49596e8b15a40b5c94b005dfb56c9de727ab 1 0
+833f259a7dd52b3dddfc285b647a432c0daf13c1 1 0
 unsat
-1e2e60df62f6c62c7f2b24945a09471c4c722921 1 0
+234d4999f188127d090de762711164119fba49e9 1 0
 unsat
-e6b8d081faed808ef11a99fc7e6e21a19cff5590 1 0
+6adbd17723088c30f1d1f0f07e1e4df2076a51b2 1 0
 unsat
--- a/src/HOL/Statespace/state_space.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Statespace/state_space.ML	Fri May 28 17:00:38 2010 +0200
@@ -439,7 +439,7 @@
 
    fun string_of_typ T =
       setmp_CRITICAL show_sorts true
-       (PrintMode.setmp [] (Syntax.string_of_typ (ProofContext.init_global thy))) T;
+       (Print_Mode.setmp [] (Syntax.string_of_typ (ProofContext.init_global thy))) T;
    val fixestate = (case state_type of
          NONE => []
        | SOME s =>
--- a/src/HOL/Tools/Function/function.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/Function/function.ML	Fri May 28 17:00:38 2010 +0200
@@ -149,7 +149,7 @@
   end
 
 val add_function =
-  gen_add_function false Specification.check_spec (TypeInfer.anyT HOLogic.typeS)
+  gen_add_function false Specification.check_spec (Type_Infer.anyT HOLogic.typeS)
 val add_function_cmd = gen_add_function true Specification.read_spec "_::type"
 
 fun gen_function is_external prep default_constraint fixspec eqns config lthy =
@@ -163,7 +163,7 @@
   end
 
 val function =
-  gen_function false Specification.check_spec (TypeInfer.anyT HOLogic.typeS)
+  gen_function false Specification.check_spec (Type_Infer.anyT HOLogic.typeS)
 val function_cmd = gen_function true Specification.read_spec "_::type"
 
 fun prepare_termination_proof prep_term raw_term_opt lthy =
--- a/src/HOL/Tools/Function/function_core.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/Function/function_core.ML	Fri May 28 17:00:38 2010 +0200
@@ -879,7 +879,7 @@
     val ranT = range_type fT
 
     val default = Syntax.parse_term lthy default_str
-      |> TypeInfer.constrain fT |> Syntax.check_term lthy
+      |> Type_Infer.constrain fT |> Syntax.check_term lthy
 
     val (globals, ctxt') = fix_globals domT ranT fvar lthy
 
--- a/src/HOL/Tools/Nitpick/nitpick.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/Nitpick/nitpick.ML	Fri May 28 17:00:38 2010 +0200
@@ -483,7 +483,7 @@
         val def_fs = map (kodkod_formula_from_nut ofs kk) def_us
         val formula = fold (fold s_and) [def_fs, nondef_fs] KK.True
         val comment = (if unsound then "unsound" else "sound") ^ "\n" ^
-                      PrintMode.setmp [] multiline_string_for_scope scope
+                      Print_Mode.setmp [] multiline_string_for_scope scope
         val kodkod_sat_solver =
           Kodkod_SAT.sat_solver_spec actual_sat_solver |> snd
         val bit_width = if bits = 0 then 16 else bits + 1
--- a/src/HOL/Tools/Predicate_Compile/predicate_compile_core.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/Predicate_Compile/predicate_compile_core.ML	Fri May 28 17:00:38 2010 +0200
@@ -3306,7 +3306,7 @@
              Pretty.str "total:", Pretty.brk 1, Pretty.str (string_of_int total), Pretty.fbrk]
              @ maps pretty_entry xs
           end
-    val p = PrintMode.with_modes print_modes (fn () =>
+    val p = Print_Mode.with_modes print_modes (fn () =>
       Pretty.block ([Pretty.quote (Syntax.pretty_term ctxt' t'), Pretty.fbrk,
         Pretty.str "::", Pretty.brk 1, Pretty.quote (Syntax.pretty_typ ctxt' ty')]
         @ pretty_stat)) ();
--- a/src/HOL/Tools/SMT/smt_normalize.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/SMT/smt_normalize.ML	Fri May 28 17:00:38 2010 +0200
@@ -391,7 +391,7 @@
   fun abs_conv conv tb = Conv.abs_conv (fn (cv, cx) =>
     let val n = fst (Term.dest_Free (Thm.term_of cv))
     in conv (Symtab.update (free n, 0) tb) cx end)
-  val apply_rule = @{lemma "f x == apply f x" by (simp add: apply_def)}
+  val fun_app_rule = @{lemma "f x == fun_app f x" by (simp add: fun_app_def)}
 in
 fun explicit_application ctxt thms =
   let
@@ -404,12 +404,12 @@
     and app_conv tb n i ctxt =
       (case Symtab.lookup tb n of
         NONE => nary_conv Conv.all_conv (sub_conv tb ctxt)
-      | SOME j => apply_conv tb ctxt (i - j))
-    and apply_conv tb ctxt i ct = (
+      | SOME j => fun_app_conv tb ctxt (i - j))
+    and fun_app_conv tb ctxt i ct = (
       if i = 0 then nary_conv Conv.all_conv (sub_conv tb ctxt)
       else
-        Conv.rewr_conv apply_rule then_conv
-        binop_conv (apply_conv tb ctxt (i-1)) (sub_conv tb ctxt)) ct
+        Conv.rewr_conv fun_app_rule then_conv
+        binop_conv (fun_app_conv tb ctxt (i-1)) (sub_conv tb ctxt)) ct
 
     fun needs_exp_app tab = Term.exists_subterm (fn
         Bound _ $ _ => true
--- a/src/HOL/Tools/SMT/smtlib_interface.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/SMT/smtlib_interface.ML	Fri May 28 17:00:38 2010 +0200
@@ -248,17 +248,20 @@
           | pats (T.SNoPat ts) = pat ":nopat" ts
       in par (quant q #> fold var_decl vs #> sub t #> fold pats ps) end
 
+fun ssort sorts = sort fast_string_ord sorts
+fun fsort funcs = sort (prod_ord fast_string_ord (K EQUAL)) funcs
+
 fun serialize comments {header, sorts, funcs} ts =
   Buffer.empty
   |> line (add "(benchmark Isabelle")
   |> line (add ":status unknown")
   |> fold (line o add) header
   |> length sorts > 0 ?
-       line (add ":extrasorts" #> par (fold (sep o add) sorts))
+       line (add ":extrasorts" #> par (fold (sep o add) (ssort sorts)))
   |> length funcs > 0 ? (
        line (add ":extrafuns" #> add " (") #>
        fold (fn (f, (ss, s)) =>
-         line (sep (app f (sep o add) (ss @ [s])))) funcs #>
+         line (sep (app f (sep o add) (ss @ [s])))) (fsort funcs) #>
        line (add ")"))
   |> fold (fn t => line (add ":assumption" #> sterm 0 t)) ts
   |> line (add ":formula true)")
--- a/src/HOL/Tools/SMT/z3_interface.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/SMT/z3_interface.ML	Fri May 28 17:00:38 2010 +0200
@@ -70,7 +70,20 @@
   val {is_builtin_pred, ...}= the strict
   val {builtin_typ, builtin_num, builtin_fun} = builtins
 
-  val z3_builtin_fun' = z3_builtin_fun builtin_fun
+  fun is_int_div_mod @{term "op div :: int => _"} = true
+    | is_int_div_mod @{term "op mod :: int => _"} = true
+    | is_int_div_mod _ = false
+
+  fun add_div_mod thms =
+    if exists (Term.exists_subterm is_int_div_mod o Thm.prop_of) thms
+    then [@{thm div_by_z3div}, @{thm mod_by_z3mod}] @ thms
+    else thms
+
+  fun extra_norm' thms = extra_norm (add_div_mod thms)
+
+  fun z3_builtin_fun' _ (@{const_name z3div}, _) ts = SOME ("div", ts)
+    | z3_builtin_fun' _ (@{const_name z3mod}, _) ts = SOME ("mod", ts)
+    | z3_builtin_fun' ctxt c ts = z3_builtin_fun builtin_fun ctxt c ts
 
   val as_propT = (fn @{typ bool} => @{typ prop} | T => T)
 in
@@ -82,7 +95,7 @@
   is_builtin_pred ctxt (n, Term.strip_type T ||> as_propT |> (op --->))
 
 val interface = {
-  extra_norm = extra_norm,
+  extra_norm = extra_norm',
   translate = {
     prefixes = prefixes,
     strict = strict,
@@ -179,7 +192,7 @@
   | mk_distinct (cts as (ct :: _)) =
       Thm.capply (instT' ct distinct) (mk_list (Thm.ctyp_of_term ct) cts)
 
-val access = mk_inst_pair (Thm.dest_ctyp o destT1) @{cpat apply}
+val access = mk_inst_pair (Thm.dest_ctyp o destT1) @{cpat fun_app}
 fun mk_access array index =
   let val cTs = Thm.dest_ctyp (Thm.ctyp_of_term array)
   in Thm.mk_binop (instTs cTs access) array index end
@@ -193,6 +206,8 @@
 val mk_add = Thm.mk_binop @{cterm "op + :: int => _"}
 val mk_sub = Thm.mk_binop @{cterm "op - :: int => _"}
 val mk_mul = Thm.mk_binop @{cterm "op * :: int => _"}
+val mk_div = Thm.mk_binop @{cterm "z3div :: int => _"}
+val mk_mod = Thm.mk_binop @{cterm "z3mod :: int => _"}
 val mk_lt = Thm.mk_binop @{cterm "op < :: int => _"}
 val mk_le = Thm.mk_binop @{cterm "op <= :: int => _"}
 
@@ -218,6 +233,8 @@
     | (Sym ("-", _), SOME @{typ int}, [ct]) => SOME (mk_uminus ct)
     | (Sym ("-", _), SOME @{typ int}, [ct, cu]) => SOME (mk_sub ct cu)
     | (Sym ("*", _), SOME @{typ int}, [ct, cu]) => SOME (mk_mul ct cu)
+    | (Sym ("div", _), SOME @{typ int}, [ct, cu]) => SOME (mk_div ct cu)
+    | (Sym ("mod", _), SOME @{typ int}, [ct, cu]) => SOME (mk_mod ct cu)
     | (Sym ("<", _), SOME @{typ int}, [ct, cu]) => SOME (mk_lt ct cu)
     | (Sym ("<=", _), SOME @{typ int}, [ct, cu]) => SOME (mk_le ct cu)
     | (Sym (">", _), SOME @{typ int}, [ct, cu]) => SOME (mk_lt cu ct)
--- a/src/HOL/Tools/SMT/z3_model.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/SMT/z3_model.ML	Fri May 28 17:00:38 2010 +0200
@@ -122,7 +122,7 @@
   | trans i T (p :: ps, v) = trans_pat i T (fn U => trans_expr U p) (ps, v)
 
 fun mk_eq' t us u = HOLogic.mk_eq (Term.list_comb (t, us), u)
-fun mk_eq (Const (@{const_name apply}, _)) (u' :: us', u) = mk_eq' u' us' u
+fun mk_eq (Const (@{const_name fun_app}, _)) (u' :: us', u) = mk_eq' u' us' u
   | mk_eq t (us, u) = mk_eq' t us u
 
 fun translate (t, cs) =
--- a/src/HOL/Tools/SMT/z3_proof_tools.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/SMT/z3_proof_tools.ML	Fri May 28 17:00:38 2010 +0200
@@ -321,6 +321,7 @@
     addsimps @{thms minus_bin_simps} addsimps @{thms pred_bin_simps}
     addsimps @{thms mult_bin_simps} addsimps @{thms iszero_simps}
     addsimps @{thms array_rules}
+    addsimps @{thms z3div_def} addsimps @{thms z3mod_def}
     addsimprocs [
       Simplifier.simproc @{theory} "fast_int_arith" [
         "(m::int) < n", "(m::int) <= n", "(m::int) = n"] (K Lin_Arith.simproc),
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_proof_reconstruct.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_proof_reconstruct.ML	Fri May 28 17:00:38 2010 +0200
@@ -253,7 +253,7 @@
             SOME b => TVar (("'" ^ b, 0), HOLogic.typeS)
           | NONE =>
             (* Variable from the ATP, say "X1" *)
-            TypeInfer.param 0 (a, HOLogic.typeS)
+            Type_Infer.param 0 (a, HOLogic.typeS)
     end
 
 (*Invert the table of translations between Isabelle and ATPs*)
@@ -452,7 +452,7 @@
     val (vt, t) = lits_of_nodes thy full_types tfrees (Vartab.empty, []) us
   in repair_tvar_sorts vt t end
 fun check_formula ctxt =
-  TypeInfer.constrain @{typ bool}
+  Type_Infer.constrain @{typ bool}
   #> Syntax.check_term (ProofContext.set_mode ProofContext.mode_schematic ctxt)
 
 
@@ -915,7 +915,7 @@
 fun string_for_proof ctxt i n =
   let
     fun fix_print_mode f =
-      PrintMode.setmp (filter (curry (op =) Symbol.xsymbolsN)
+      Print_Mode.setmp (filter (curry (op =) Symbol.xsymbolsN)
                       (print_mode_value ())) f
     fun do_indent ind = replicate_string (ind * indent_size) " "
     fun do_free (s, T) =
--- a/src/HOL/Tools/hologic.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/hologic.ML	Fri May 28 17:00:38 2010 +0200
@@ -138,7 +138,7 @@
 (* HOL syntax *)
 
 val typeS: sort = ["HOL.type"];
-val typeT = TypeInfer.anyT typeS;
+val typeT = Type_Infer.anyT typeS;
 
 
 (* bool and set *)
--- a/src/HOL/Tools/primrec.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/primrec.ML	Fri May 28 17:00:38 2010 +0200
@@ -197,7 +197,7 @@
     val raw_rhs = fold_rev (fn T => fn t => Abs ("", T, t)) (map snd ls @ [dummyT])
       (list_comb (Const (rec_name, dummyT), fs @ map Bound (0 :: (length ls downto 1))))
     val rhs = singleton (Syntax.check_terms ctxt)
-      (TypeInfer.constrain varT raw_rhs);
+      (Type_Infer.constrain varT raw_rhs);
   in (var, ((Binding.conceal (Binding.name def_name), []), rhs)) end;
 
 
--- a/src/HOL/Tools/split_rule.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOL/Tools/split_rule.ML	Fri May 28 17:00:38 2010 +0200
@@ -108,7 +108,7 @@
 
 
 fun pair_tac ctxt s =
-  res_inst_tac ctxt [(("p", 0), s)] @{thm PairE}
+  res_inst_tac ctxt [(("y", 0), s)] @{thm prod.exhaust}
   THEN' hyp_subst_tac
   THEN' K prune_params_tac;
 
--- a/src/HOLCF/IOA/meta_theory/automaton.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOLCF/IOA/meta_theory/automaton.ML	Fri May 28 17:00:38 2010 +0200
@@ -18,8 +18,8 @@
 structure Automaton: AUTOMATON =
 struct
 
-val string_of_typ = PrintMode.setmp [] o Syntax.string_of_typ_global;
-val string_of_term = PrintMode.setmp [] o Syntax.string_of_term_global;
+val string_of_typ = Print_Mode.setmp [] o Syntax.string_of_typ_global;
+val string_of_term = Print_Mode.setmp [] o Syntax.string_of_term_global;
 
 exception malformed;
 
--- a/src/HOLCF/Tools/Domain/domain_library.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOLCF/Tools/Domain/domain_library.ML	Fri May 28 17:00:38 2010 +0200
@@ -185,7 +185,7 @@
 fun mk_lam  (x,T) = Abs(x,dummyT,T);
 fun mk_all  (x,P) = HOLogic.mk_all (x,dummyT,P);
 fun mk_ex   (x,P) = mk_exists (x,dummyT,P);
-fun mk_constrainall (x,typ,P) = %%:"All" $ (TypeInfer.constrain (typ --> boolT) (mk_lam(x,P)));
+fun mk_constrainall (x,typ,P) = %%:"All" $ (Type_Infer.constrain (typ --> boolT) (mk_lam(x,P)));
 end
 
 fun mk_All  (x,P) = %%:"all" $ mk_lam(x,P); (* meta universal quantification *)
--- a/src/HOLCF/Tools/Domain/domain_theorems.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/HOLCF/Tools/Domain/domain_theorems.ML	Fri May 28 17:00:38 2010 +0200
@@ -463,7 +463,7 @@
 
   fun legacy_infer_term thy t =
       singleton (Syntax.check_terms (ProofContext.init_global thy)) (intern_term thy t);
-  fun legacy_infer_prop thy t = legacy_infer_term thy (TypeInfer.constrain propT t);
+  fun legacy_infer_prop thy t = legacy_infer_term thy (Type_Infer.constrain propT t);
   fun infer_props thy = map (apsnd (legacy_infer_prop thy));
   fun add_defs_i x = PureThy.add_defs false (map Thm.no_attributes x);
   fun add_defs_infer defs thy = add_defs_i (infer_props thy defs) thy;
--- a/src/Pure/General/print_mode.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/General/print_mode.ML	Fri May 28 17:00:38 2010 +0200
@@ -22,7 +22,7 @@
   val closure: ('a -> 'b) -> 'a -> 'b
 end;
 
-structure PrintMode: PRINT_MODE =
+structure Print_Mode: PRINT_MODE =
 struct
 
 val input = "input";
@@ -49,5 +49,5 @@
 
 end;
 
-structure BasicPrintMode: BASIC_PRINT_MODE = PrintMode;
-open BasicPrintMode;
+structure Basic_Print_Mode: BASIC_PRINT_MODE = Print_Mode;
+open Basic_Print_Mode;
--- a/src/Pure/Isar/class_target.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/class_target.ML	Fri May 28 17:00:38 2010 +0200
@@ -275,7 +275,7 @@
      of SOME ty' => (case try (Type.raw_match (ty', ty)) Vartab.empty
          of SOME tyenv => (case Vartab.lookup tyenv (Name.aT, 0)
              of SOME (_, ty' as TVar (vi, sort)) =>
-                  if TypeInfer.is_param vi
+                  if Type_Infer.is_param vi
                     andalso Sorts.sort_le algebra (base_sort, sort)
                       then SOME (ty', TFree (Name.aT, base_sort))
                       else NONE
@@ -355,7 +355,7 @@
     |> snd
     |> Sign.add_const_constraint (c', SOME ty')
     |> Sign.notation true prmode [(Const (c', ty'), mx)]
-    |> not (#1 prmode = PrintMode.input) ? register_operation class (c', (rhs', NONE))
+    |> not (#1 prmode = Print_Mode.input) ? register_operation class (c', (rhs', NONE))
   end;
 
 
--- a/src/Pure/Isar/expression.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/expression.ML	Fri May 28 17:00:38 2010 +0200
@@ -162,9 +162,9 @@
     val type_parm_names = fold Term.add_tfreesT parm_types [] |> map fst;
 
     (* type inference and contexts *)
-    val parm_types' = map (TypeInfer.paramify_vars o Logic.varifyT_global) parm_types;
+    val parm_types' = map (Type_Infer.paramify_vars o Logic.varifyT_global) parm_types;
     val type_parms = fold Term.add_tvarsT parm_types' [] |> map (Logic.mk_type o TVar);
-    val arg = type_parms @ map2 TypeInfer.constrain parm_types' insts';
+    val arg = type_parms @ map2 Type_Infer.constrain parm_types' insts';
     val res = Syntax.check_terms ctxt arg;
     val ctxt' = ctxt |> fold Variable.auto_fixes res;
 
@@ -345,9 +345,9 @@
       let
         val (parm_names, parm_types) = Locale.params_of thy loc |> map #1 |> split_list;
         val inst' = prep_inst ctxt parm_names inst;
-        val parm_types' = map (TypeInfer.paramify_vars o
+        val parm_types' = map (Type_Infer.paramify_vars o
           Term.map_type_tvar (fn ((x, _), S) => TVar ((x, i), S)) o Logic.varifyT_global) parm_types;
-        val inst'' = map2 TypeInfer.constrain parm_types' inst';
+        val inst'' = map2 Type_Infer.constrain parm_types' inst';
         val insts' = insts @ [(loc, (prfx, inst''))];
         val (insts'', _, _, ctxt' (* FIXME not used *) ) = check_autofix insts' [] [] ctxt;
         val inst''' = insts'' |> List.last |> snd |> snd;
--- a/src/Pure/Isar/isar_cmd.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/isar_cmd.ML	Fri May 28 17:00:38 2010 +0200
@@ -281,7 +281,7 @@
 
 fun pr (modes, (lim1, lim2)) = Toplevel.keep (fn state =>
   (set_limit goals_limit lim1; set_limit ProofContext.prems_limit lim2; Toplevel.quiet := false;
-    PrintMode.with_modes modes (Toplevel.print_state true) state));
+    Print_Mode.with_modes modes (Toplevel.print_state true) state));
 
 val disable_pr = Toplevel.imperative (fn () => Toplevel.quiet := true);
 val enable_pr = Toplevel.imperative (fn () => Toplevel.quiet := false);
@@ -488,7 +488,7 @@
   in Pretty.string_of (Pretty.quote (Syntax.pretty_typ ctxt T)) end;
 
 fun print_item string_of (modes, arg) = Toplevel.keep (fn state =>
-  PrintMode.with_modes modes (fn () =>
+  Print_Mode.with_modes modes (fn () =>
     writeln (string_of (Toplevel.enter_proof_body state) arg)) ());
 
 in
--- a/src/Pure/Isar/isar_document.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/isar_document.ML	Fri May 28 17:00:38 2010 +0200
@@ -111,20 +111,20 @@
 
 (* states *)
 
-val empty_state = Future.value (SOME Toplevel.toplevel);
+val empty_state = Lazy.value (SOME Toplevel.toplevel);
 
 local
-
-val global_states = Unsynchronized.ref (Symtab.make [(no_id, empty_state)]);
-
+  val global_states = Unsynchronized.ref (Symtab.make [(no_id, empty_state)]);
 in
 
 fun define_state (id: state_id) =
-  Unsynchronized.change global_states (Symtab.update_new (id, empty_state))
-    handle Symtab.DUP dup => err_dup "state" dup;
+  NAMED_CRITICAL "Isar" (fn () =>
+    Unsynchronized.change global_states (Symtab.update_new (id, empty_state))
+      handle Symtab.DUP dup => err_dup "state" dup);
 
 fun put_state (id: state_id) state =
-  Unsynchronized.change global_states (Symtab.update (id, state));
+  NAMED_CRITICAL "Isar" (fn () =>
+    Unsynchronized.change global_states (Symtab.update (id, state)));
 
 fun the_state (id: state_id) =
   (case Symtab.lookup (! global_states) id of
@@ -137,9 +137,7 @@
 (* commands *)
 
 local
-
-val global_commands = Unsynchronized.ref (Symtab.make [(no_id, Toplevel.empty)]);
-
+  val global_commands = Unsynchronized.ref (Symtab.make [(no_id, Toplevel.empty)]);
 in
 
 fun define_command id tr =
@@ -158,9 +156,7 @@
 (* documents *)
 
 local
-
-val global_documents = Unsynchronized.ref (Symtab.empty: document Symtab.table);
-
+  val global_documents = Unsynchronized.ref (Symtab.empty: document Symtab.table);
 in
 
 fun define_document (id: document_id) document =
@@ -176,6 +172,18 @@
 end;
 
 
+(* execution *)
+
+local
+  val execution = Unsynchronized.ref (Future.value ());
+in
+
+fun execute e =
+  NAMED_CRITICAL "Isar" (fn () => (Future.cancel (! execution); execution := Future.fork e));
+
+end;
+
+
 
 (** main operations **)
 
@@ -196,9 +204,9 @@
       val end_state =
         the_state (the (#state (#3 (the
           (first_entry (fn (_, {next, ...}) => is_none next) document)))));
-      val _ =
-        Future.fork_deps [end_state] (fn () =>
-          (case Future.join end_state of
+      val _ =  (* FIXME regular execution (??) *)
+        Future.fork (fn () =>
+          (case Lazy.force end_state of
             SOME st =>
              (Toplevel.run_command name (Toplevel.put_id id (Toplevel.commit_exit Position.none)) st;
               ThyInfo.touch_child_thys name;
@@ -225,11 +233,11 @@
       let
         val state = the_state state_id;
         val state' =
-          Future.fork_deps [state] (fn () =>
-            (case Future.join state of
+          Lazy.lazy (fn () =>
+            (case Lazy.force state of
               NONE => NONE
             | SOME st => Toplevel.run_command name tr st));
-      in put_state state_id' state' end;
+      in put_state state_id' state'; state' end;
   in (state_id', ((id, state_id'), make_state') :: updates) end;
 
 fun report_updates updates =
@@ -246,19 +254,11 @@
       val new_document as Document {entries = new_entries, ...} = old_document
         |> fold (fn (id, SOME id2) => insert_after id id2 | (id, NONE) => delete_after id) edits;
 
-      fun cancel_old id = fold_entries id
-        (fn (_, {state = SOME state_id, ...}) => K (Future.cancel (the_state state_id)) | _ => K ())
-        old_document ();
-
       val (updates, new_document') =
         (case first_entry (is_changed old_entries) new_document of
-          NONE =>
-            (case first_entry (is_changed new_entries) old_document of
-              NONE => ([], new_document)
-            | SOME (_, id, _) => (cancel_old id; ([], new_document)))
+          NONE => ([], new_document)
         | SOME (prev, id, _) =>
             let
-              val _ = cancel_old id;
               val prev_state_id = the (#state (the_entry new_entries (the prev)));
               val (_, updates) = fold_entries id (new_state name) new_document (prev_state_id, []);
               val new_document' = new_document |> map_entries (fold (set_entry_state o #1) updates);
@@ -266,7 +266,8 @@
 
       val _ = define_document new_id new_document';
       val _ = report_updates (map #1 updates);
-      val _ = List.app (fn (_, run) => run ()) updates;
+      val execs = map (fn (_, make) => make ()) updates;
+      val _ = execute (fn () => List.app (ignore o Lazy.force) execs);
     in () end);
 
 end;
--- a/src/Pure/Isar/proof_context.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/proof_context.ML	Fri May 28 17:00:38 2010 +0200
@@ -577,7 +577,7 @@
       pattern orelse schematic orelse
         T |> Term.exists_subtype
           (fn TVar (xi, _) =>
-            not (TypeInfer.is_param xi) andalso
+            not (Type_Infer.is_param xi) andalso
               error ("Illegal schematic type variable: " ^ Term.string_of_vname xi)
           | _ => false)
   in T end;
@@ -599,7 +599,7 @@
 
 fun prepare_patterns ctxt =
   let val Mode {pattern, ...} = get_mode ctxt in
-    TypeInfer.fixate_params (Variable.names_of ctxt) #>
+    Type_Infer.fixate_params (Variable.names_of ctxt) #>
     pattern ? Variable.polymorphic ctxt #>
     (map o Term.map_types) (prepare_patternT ctxt) #>
     (if pattern then prepare_dummies else map (check_dummies ctxt))
@@ -699,7 +699,7 @@
   in Variable.def_type ctxt pattern end;
 
 fun standard_infer_types ctxt ts =
-  TypeInfer.infer_types (Syntax.pp ctxt) (tsig_of ctxt) (Syntax.check_typs ctxt)
+  Type_Infer.infer_types (Syntax.pp ctxt) (tsig_of ctxt) (Syntax.check_typs ctxt)
     (try (Consts.the_constraint (consts_of ctxt))) (def_type ctxt)
     (Variable.names_of ctxt) (Variable.maxidx_of ctxt) ts
   handle TYPE (msg, _, _) => error msg;
@@ -754,11 +754,11 @@
   let
     val {get_sort, map_const, map_free} = term_context ctxt;
 
-    val (T', _) = TypeInfer.paramify_dummies T 0;
+    val (T', _) = Type_Infer.paramify_dummies T 0;
     val (markup, kind) = if T' = propT then (Markup.prop, "proposition") else (Markup.term, "term");
     val (syms, pos) = Syntax.parse_token markup text;
 
-    fun check t = (Syntax.check_term ctxt (TypeInfer.constrain T' t); NONE)
+    fun check t = (Syntax.check_term ctxt (Type_Infer.constrain T' t); NONE)
       handle ERROR msg => SOME msg;
     val t =
       Syntax.standard_parse_term (Syntax.pp ctxt) check get_sort map_const map_free
@@ -883,7 +883,7 @@
 in
 
 fun read_terms ctxt T =
-  map (Syntax.parse_term ctxt #> TypeInfer.constrain T) #> Syntax.check_terms ctxt;
+  map (Syntax.parse_term ctxt #> Type_Infer.constrain T) #> Syntax.check_terms ctxt;
 
 val match_bind = gen_bind read_terms;
 val match_bind_i = gen_bind (fn ctxt => fn _ => map (cert_term ctxt));
--- a/src/Pure/Isar/rule_insts.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/rule_insts.ML	Fri May 28 17:00:38 2010 +0200
@@ -82,7 +82,7 @@
     fun parse T = if T = propT then Syntax.parse_prop ctxt else Syntax.parse_term ctxt;
     val ts = map2 parse Ts ss;
     val ts' =
-      map2 (TypeInfer.constrain o TypeInfer.paramify_vars) Ts ts
+      map2 (Type_Infer.constrain o Type_Infer.paramify_vars) Ts ts
       |> Syntax.check_terms ((schematic ? ProofContext.set_mode ProofContext.mode_schematic) ctxt)
       |> Variable.polymorphic ctxt;
     val Ts' = map Term.fastype_of ts';
--- a/src/Pure/Isar/specification.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/specification.ML	Fri May 28 17:00:38 2010 +0200
@@ -96,13 +96,13 @@
       (case duplicates (op =) commons of [] => ()
       | dups => error ("Duplicate local variables " ^ commas_quote dups));
     val frees = rev ((fold o fold_aterms) add_free As (rev commons));
-    val types = map (TypeInfer.param i o rpair []) (Name.invents Name.context Name.aT (length frees));
+    val types = map (Type_Infer.param i o rpair []) (Name.invents Name.context Name.aT (length frees));
     val uniform_typing = the o AList.lookup (op =) (frees ~~ types);
 
     fun abs_body lev y (Abs (x, T, b)) = Abs (x, T, abs_body (lev + 1) y b)
       | abs_body lev y (t $ u) = abs_body lev y t $ abs_body lev y u
       | abs_body lev y (t as Free (x, T)) =
-          if x = y then TypeInfer.constrain (uniform_typing x) (TypeInfer.constrain T (Bound lev))
+          if x = y then Type_Infer.constrain (uniform_typing x) (Type_Infer.constrain T (Bound lev))
           else t
       | abs_body _ _ a = a;
     fun close (y, U) B =
--- a/src/Pure/Isar/theory_target.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Isar/theory_target.ML	Fri May 28 17:00:38 2010 +0200
@@ -200,8 +200,8 @@
   in
     not (is_class andalso (same_shape orelse class_global)) ?
       (Context.mapping_result
-        (Sign.add_abbrev PrintMode.internal arg)
-        (ProofContext.add_abbrev PrintMode.internal arg)
+        (Sign.add_abbrev Print_Mode.internal arg)
+        (ProofContext.add_abbrev Print_Mode.internal arg)
       #-> (fn (lhs' as Const (d, _), _) =>
           same_shape ?
             (Context.mapping (Sign.revert_abbrev mode d) (ProofContext.revert_abbrev mode d) #>
@@ -225,7 +225,7 @@
   in
     lthy |>
      (if is_locale then
-        Local_Theory.theory_result (Sign.add_abbrev PrintMode.internal (b, global_rhs))
+        Local_Theory.theory_result (Sign.add_abbrev Print_Mode.internal (b, global_rhs))
         #-> (fn (lhs, _) =>
           let val lhs' = Term.list_comb (Logic.unvarify_global lhs, xs) in
             syntax_declaration ta false (locale_const ta prmode ((b, mx2), lhs')) #>
@@ -235,7 +235,7 @@
         Local_Theory.theory
           (Sign.add_abbrev (#1 prmode) (b, global_rhs) #-> (fn (lhs, _) =>
            Sign.notation true prmode [(lhs, mx3)])))
-    |> ProofContext.add_abbrev PrintMode.internal (b, t) |> snd
+    |> ProofContext.add_abbrev Print_Mode.internal (b, t) |> snd
     |> Local_Defs.fixed_abbrev ((b, NoSyn), t)
   end;
 
--- a/src/Pure/PIDE/state.scala	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/PIDE/state.scala	Fri May 28 17:00:38 2010 +0200
@@ -99,6 +99,11 @@
                       case _ => state
                     }
                   }
+                  else if (kind == Markup.FACT_DECL || kind == Markup.LOCAL_FACT_DECL ||
+                      kind == Markup.ATTRIBUTE || kind == Markup.FIXED_DECL) {
+                    // FIXME usually displaced due to lack of full history support
+                    state
+                  }
                   else {
                     state.add_markup(
                       command.markup_node(begin - 1, end - 1, Command.HighlightInfo(kind)))
--- a/src/Pure/Proof/proof_syntax.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Proof/proof_syntax.ML	Fri May 28 17:00:38 2010 +0200
@@ -212,7 +212,7 @@
   in
     fn ty => fn s =>
       (if ty = propT then Syntax.parse_prop else Syntax.parse_term) ctxt s
-      |> TypeInfer.constrain ty |> Syntax.check_term ctxt
+      |> Type_Infer.constrain ty |> Syntax.check_term ctxt
   end;
 
 fun read_proof thy =
--- a/src/Pure/ProofGeneral/pgip_parser.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/ProofGeneral/pgip_parser.ML	Fri May 28 17:00:38 2010 +0200
@@ -93,7 +93,7 @@
   let
     val kind = ThySyntax.span_kind span;
     val toks = ThySyntax.span_content span;
-    val text = implode (map (PrintMode.setmp [] ThySyntax.present_token) toks);
+    val text = implode (map (Print_Mode.setmp [] ThySyntax.present_token) toks);
   in
     (case kind of
       ThySyntax.Command name => parse_command name text
--- a/src/Pure/ROOT.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/ROOT.ML	Fri May 28 17:00:38 2010 +0200
@@ -309,6 +309,8 @@
 structure OuterParse = Parse;
 structure OuterSyntax = Outer_Syntax;
 structure SpecParse = Parse_Spec;
+structure TypeInfer = Type_Infer;
+structure PrintMode = Print_Mode;
 
 end;
 
--- a/src/Pure/Syntax/syntax.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Syntax/syntax.ML	Fri May 28 17:00:38 2010 +0200
@@ -259,7 +259,7 @@
 
 type mode = string * bool;
 val mode_default = ("", true);
-val mode_input = (PrintMode.input, true);
+val mode_input = (Print_Mode.input, true);
 
 
 (* empty_syntax *)
--- a/src/Pure/Thy/html.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Thy/html.ML	Fri May 28 17:00:38 2010 +0200
@@ -42,7 +42,7 @@
 (* mode *)
 
 val htmlN = "HTML";
-fun html_mode f x = PrintMode.with_modes [htmlN] f x;
+fun html_mode f x = Print_Mode.with_modes [htmlN] f x;
 
 
 (* common markup *)
--- a/src/Pure/Thy/thy_output.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/Thy/thy_output.ML	Fri May 28 17:00:38 2010 +0200
@@ -153,7 +153,7 @@
       | expand (Antiquote.Antiq (ss, (pos, _))) =
           let val (opts, src) = Token.read_antiq lex antiq (ss, pos) in
             options opts (fn () => command src state) ();  (*preview errors!*)
-            PrintMode.with_modes (! modes @ Latex.modes)
+            Print_Mode.with_modes (! modes @ Latex.modes)
               (Output.no_warnings_CRITICAL (options opts (fn () => command src state))) ()
           end
       | expand (Antiquote.Open _) = ""
@@ -429,7 +429,7 @@
   ("display", setmp_CRITICAL display o boolean),
   ("break", setmp_CRITICAL break o boolean),
   ("quotes", setmp_CRITICAL quotes o boolean),
-  ("mode", fn s => fn f => PrintMode.with_modes [s] f),
+  ("mode", fn s => fn f => Print_Mode.with_modes [s] f),
   ("margin", setmp_CRITICAL Pretty.margin_default o integer),
   ("indent", setmp_CRITICAL indent o integer),
   ("source", setmp_CRITICAL source o boolean),
@@ -455,7 +455,7 @@
 
 fun pretty_term_typ ctxt (style, t) =
   let val t' = style t
-  in pretty_term ctxt (TypeInfer.constrain (Term.fastype_of t') t') end;
+  in pretty_term ctxt (Type_Infer.constrain (Term.fastype_of t') t') end;
 
 fun pretty_term_typeof ctxt (style, t) =
   Syntax.pretty_typ ctxt (Term.fastype_of (style t));
--- a/src/Pure/codegen.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/codegen.ML	Fri May 28 17:00:38 2010 +0200
@@ -109,9 +109,9 @@
 
 val margin = Unsynchronized.ref 80;
 
-fun string_of p = PrintMode.setmp [] (Pretty.string_of_margin (!margin)) p;
+fun string_of p = Print_Mode.setmp [] (Pretty.string_of_margin (!margin)) p;
 
-val str = PrintMode.setmp [] Pretty.str;
+val str = Print_Mode.setmp [] Pretty.str;
 
 (**** Mixfix syntax ****)
 
--- a/src/Pure/consts.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/consts.ML	Fri May 28 17:00:38 2010 +0200
@@ -270,7 +270,7 @@
   let
     val cert_term = certify pp tsig false consts;
     val expand_term = certify pp tsig true consts;
-    val force_expand = mode = PrintMode.internal;
+    val force_expand = mode = Print_Mode.internal;
 
     val _ = Term.exists_subterm Term.is_Var raw_rhs andalso
       error ("Illegal schematic variables on rhs of abbreviation " ^ quote (Binding.str_of b));
--- a/src/Pure/old_goals.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/old_goals.ML	Fri May 28 17:00:38 2010 +0200
@@ -223,7 +223,7 @@
       |> ProofContext.allow_dummies
       |> ProofContext.set_mode ProofContext.mode_schematic;
     val parse = if T = propT then Syntax.parse_prop else Syntax.parse_term;
-  in parse ctxt s |> TypeInfer.constrain T |> Syntax.check_term ctxt end;
+  in parse ctxt s |> Type_Infer.constrain T |> Syntax.check_term ctxt end;
 
 fun read_term thy = simple_read_term thy dummyT;
 fun read_prop thy = simple_read_term thy propT;
--- a/src/Pure/sign.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/sign.ML	Fri May 28 17:00:38 2010 +0200
@@ -271,7 +271,7 @@
         val t' = subst_bounds (xs, t);
         val u' = subst_bounds (xs, u);
         val msg = cat_lines
-          (TypeInfer.appl_error (Syntax.pp_show_brackets pp) why t' T u' U);
+          (Type_Infer.appl_error (Syntax.pp_show_brackets pp) why t' T u' U);
       in raise TYPE (msg, [T, U], [t', u']) end;
 
     fun typ_of (_, Const (_, T)) = T
--- a/src/Pure/type_infer.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/type_infer.ML	Fri May 28 17:00:38 2010 +0200
@@ -20,7 +20,7 @@
     term list -> term list
 end;
 
-structure TypeInfer: TYPE_INFER =
+structure Type_Infer: TYPE_INFER =
 struct
 
 
--- a/src/Pure/variable.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Pure/variable.ML	Fri May 28 17:00:38 2010 +0200
@@ -168,7 +168,7 @@
     (case Vartab.lookup types xi of
       NONE =>
         if pattern then NONE
-        else Vartab.lookup binds xi |> Option.map (TypeInfer.polymorphicT o #1)
+        else Vartab.lookup binds xi |> Option.map (Type_Infer.polymorphicT o #1)
     | some => some)
   end;
 
--- a/src/Tools/Code/code_printer.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Tools/Code/code_printer.ML	Fri May 28 17:00:38 2010 +0200
@@ -105,19 +105,19 @@
 infixr 5 @|;
 fun x @@ y = [x, y];
 fun xs @| y = xs @ [y];
-val str = PrintMode.setmp [] Pretty.str;
+val str = Print_Mode.setmp [] Pretty.str;
 val concat = Pretty.block o Pretty.breaks;
-fun enclose l r = PrintMode.setmp [] (Pretty.enclose l r);
+fun enclose l r = Print_Mode.setmp [] (Pretty.enclose l r);
 val brackets = enclose "(" ")" o Pretty.breaks;
-fun enum sep l r = PrintMode.setmp [] (Pretty.enum sep l r);
+fun enum sep l r = Print_Mode.setmp [] (Pretty.enum sep l r);
 fun enum_default default sep l r [] = str default
   | enum_default default sep l r xs = enum sep l r xs;
 fun semicolon ps = Pretty.block [concat ps, str ";"];
 fun doublesemicolon ps = Pretty.block [concat ps, str ";;"];
-fun indent i = PrintMode.setmp [] (Pretty.indent i);
+fun indent i = Print_Mode.setmp [] (Pretty.indent i);
 
-fun string_of_pretty width p = PrintMode.setmp [] (Pretty.string_of_margin width) p ^ "\n";
-fun writeln_pretty width p = writeln (PrintMode.setmp [] (Pretty.string_of_margin width) p);
+fun string_of_pretty width p = Print_Mode.setmp [] (Pretty.string_of_margin width) p ^ "\n";
+fun writeln_pretty width p = writeln (Print_Mode.setmp [] (Pretty.string_of_margin width) p);
 
 
 (** names and variable name contexts **)
--- a/src/Tools/WWW_Find/html_unicode.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Tools/WWW_Find/html_unicode.ML	Fri May 28 17:00:38 2010 +0200
@@ -19,7 +19,7 @@
 (* mode *)
 
 val htmlunicodeN = "HTMLUnicode";
-fun print_mode f x = PrintMode.with_modes [htmlunicodeN, Symbol.xsymbolsN] f x;
+fun print_mode f x = Print_Mode.with_modes [htmlunicodeN, Symbol.xsymbolsN] f x;
 
 (* symbol output *)
 
--- a/src/Tools/nbe.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Tools/nbe.ML	Fri May 28 17:00:38 2010 +0200
@@ -506,7 +506,7 @@
             val ts' = take_until is_dict ts;
             val c = const_of_idx idx;
             val T = map_type_tvar (fn ((v, i), _) =>
-              TypeInfer.param typidx (v ^ string_of_int i, []))
+              Type_Infer.param typidx (v ^ string_of_int i, []))
                 (Sign.the_const_type thy c);
             val typidx' = typidx + 1;
           in of_apps bounds (Term.Const (c, T), ts') typidx' end
@@ -548,9 +548,9 @@
   let
     val ty' = typ_of_itype program vs0 ty;
     fun type_infer t =
-      singleton (TypeInfer.infer_types (Syntax.pp_global thy) (Sign.tsig_of thy) I
+      singleton (Type_Infer.infer_types (Syntax.pp_global thy) (Sign.tsig_of thy) I
         (try (Type.strip_sorts o Sign.the_const_type thy)) (K NONE) Name.context 0)
-      (TypeInfer.constrain ty' t);
+      (Type_Infer.constrain ty' t);
     fun check_tvars t = if null (Term.add_tvars t []) then t else
       error ("Illegal schematic type variables in normalized term: "
         ^ setmp_CRITICAL show_types true (Syntax.string_of_term_global thy) t);
@@ -620,7 +620,7 @@
     val t' = norm thy t;
     val ty' = Term.type_of t';
     val ctxt' = Variable.auto_fixes t ctxt;
-    val p = PrintMode.with_modes modes (fn () =>
+    val p = Print_Mode.with_modes modes (fn () =>
       Pretty.block [Pretty.quote (Syntax.pretty_term ctxt' t'), Pretty.fbrk,
         Pretty.str "::", Pretty.brk 1, Pretty.quote (Syntax.pretty_typ ctxt' ty')]) ();
   in Pretty.writeln p end;
--- a/src/Tools/value.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/Tools/value.ML	Fri May 28 17:00:38 2010 +0200
@@ -47,7 +47,7 @@
       | SOME name => value_select name ctxt t;
     val ty' = Term.type_of t';
     val ctxt' = Variable.auto_fixes t' ctxt;
-    val p = PrintMode.with_modes modes (fn () =>
+    val p = Print_Mode.with_modes modes (fn () =>
       Pretty.block [Pretty.quote (Syntax.pretty_term ctxt' t'), Pretty.fbrk,
         Pretty.str "::", Pretty.brk 1, Pretty.quote (Syntax.pretty_typ ctxt' ty')]) ();
   in Pretty.writeln p end;
--- a/src/ZF/Tools/datatype_package.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/ZF/Tools/datatype_package.ML	Fri May 28 17:00:38 2010 +0200
@@ -403,7 +403,7 @@
   let
     val ctxt = ProofContext.init_global thy;
     fun read_is strs =
-      map (Syntax.parse_term ctxt #> TypeInfer.constrain @{typ i}) strs
+      map (Syntax.parse_term ctxt #> Type_Infer.constrain @{typ i}) strs
       |> Syntax.check_terms ctxt;
 
     val rec_tms = read_is srec_tms;
--- a/src/ZF/Tools/inductive_package.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/ZF/Tools/inductive_package.ML	Fri May 28 17:00:38 2010 +0200
@@ -555,7 +555,7 @@
     (raw_monos, raw_con_defs, raw_type_intrs, raw_type_elims) thy =
   let
     val ctxt = ProofContext.init_global thy;
-    val read_terms = map (Syntax.parse_term ctxt #> TypeInfer.constrain Ind_Syntax.iT)
+    val read_terms = map (Syntax.parse_term ctxt #> Type_Infer.constrain Ind_Syntax.iT)
       #> Syntax.check_terms ctxt;
 
     val intr_atts = map (map (Attrib.attribute thy) o snd) intr_srcs;
--- a/src/ZF/ind_syntax.ML	Fri May 28 13:49:21 2010 +0200
+++ b/src/ZF/ind_syntax.ML	Fri May 28 17:00:38 2010 +0200
@@ -66,7 +66,7 @@
 
 (*read a constructor specification*)
 fun read_construct ctxt (id: string, sprems, syn: mixfix) =
-    let val prems = map (Syntax.parse_term ctxt #> TypeInfer.constrain FOLogic.oT) sprems
+    let val prems = map (Syntax.parse_term ctxt #> Type_Infer.constrain FOLogic.oT) sprems
           |> Syntax.check_terms ctxt
         val args = map (#1 o dest_mem) prems
         val T = (map (#2 o dest_Free) args) ---> iT