merged
authorwenzelm
Wed, 26 May 2010 18:19:36 +0200
changeset 37128 1b6a4d9f397a
parent 37122 3ac12f743fe5 (current diff)
parent 37127 a4bf276a20b3 (diff)
child 37129 4c83696b340e
child 37133 1d048c6940c8
merged
--- a/Admin/isatest/settings/mac-poly	Wed May 26 11:34:23 2010 +0200
+++ b/Admin/isatest/settings/mac-poly	Wed May 26 18:19:36 2010 +0200
@@ -1,6 +1,6 @@
 # -*- shell-script -*- :mode=shellscript:
 
-  POLYML_HOME="/home/polyml/polyml-5.3.0"
+  POLYML_HOME="/home/polyml/polyml-5.3.0-old"
   ML_SYSTEM="polyml-5.3.0"
   ML_PLATFORM="ppc-darwin"
   ML_HOME="$POLYML_HOME/$ML_PLATFORM"
--- a/src/HOL/Boogie/Tools/boogie_loader.ML	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/Boogie/Tools/boogie_loader.ML	Wed May 26 18:19:36 2010 +0200
@@ -380,9 +380,11 @@
   fun mk_nary _ t [] = t
     | mk_nary f _ ts = uncurry (fold_rev f) (split_last ts)
 
+  fun mk_list T = HOLogic.mk_list T
+
   fun mk_distinct T ts =
-    Const (@{const_name distinct}, HOLogic.listT T --> @{typ bool}) $ 
-      HOLogic.mk_list T ts
+    Const (@{const_name distinct}, HOLogic.listT T --> @{typ bool}) $
+      mk_list T ts
 
   fun quant name f = scan_line name (num -- num -- num) >> pair f
   val quants =
@@ -391,20 +393,20 @@
     scan_fail "illegal quantifier kind"
   fun mk_quant q (n, T) t = q T $ Term.absfree (n, T, t)
 
-  val patternT = @{typ pattern}
+  val patternT = @{typ "SMT.pattern"}
   fun mk_pattern _ [] = raise TERM ("mk_pattern", [])
-    | mk_pattern n [t] = Const (n, Term.fastype_of t --> patternT) $ t
-    | mk_pattern n (t :: ts) =
-        let val T = patternT --> Term.fastype_of t --> patternT
-        in Const (@{const_name andpat}, T) $ mk_pattern n ts $ t end
+    | mk_pattern n ts =
+        let fun mk_pat t = Const (n, Term.fastype_of t --> patternT) $ t
+        in mk_list patternT (map mk_pat ts) end
   fun patt n c scan =
     scan_line n num :|-- scan_count scan >> (mk_pattern c)
   fun pattern scan =
-    patt "pat" @{const_name pat} scan ||
-    patt "nopat" @{const_name nopat} scan ||
+    patt "pat" @{const_name "SMT.pat"} scan ||
+    patt "nopat" @{const_name "SMT.nopat"} scan ||
     scan_fail "illegal pattern kind"
   fun mk_trigger [] t = t
-    | mk_trigger ps t = @{term trigger} $ HOLogic.mk_list patternT ps $ t
+    | mk_trigger ps t =
+        @{term "SMT.trigger"} $ mk_list @{typ "SMT.pattern list"} ps $ t
 
   fun make_label (line, col) = Free (label_name line col, @{typ bool})
   fun labelled_by kind pos t = kind $ make_label pos $ t
--- a/src/HOL/List.thy	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/List.thy	Wed May 26 18:19:36 2010 +0200
@@ -4647,8 +4647,8 @@
 lemmas in_set_code [code_unfold] = mem_iff [symmetric]
 
 lemma member_simps [simp, code]:
+  "member (x # xs) y \<longleftrightarrow> x = y \<or> member xs y"
   "member [] y \<longleftrightarrow> False"
-  "member (x # xs) y \<longleftrightarrow> x = y \<or> member xs y"
   by (auto simp add: mem_iff)
 
 lemma member_set:
--- a/src/HOL/SMT.thy	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/SMT.thy	Wed May 26 18:19:36 2010 +0200
@@ -31,24 +31,22 @@
 text {*
 Some SMT solvers support triggers for quantifier instantiation.
 Each trigger consists of one ore more patterns.  A pattern may either
-be a list of positive subterms (the first being tagged by "pat" and
-the consecutive subterms tagged by "andpat"), or a list of negative
-subterms (the first being tagged by "nopat" and the consecutive
-subterms tagged by "andpat").
+be a list of positive subterms (each being tagged by "pat"), or a
+list of negative subterms (each being tagged by "nopat").
+
+When an SMT solver finds a term matching a positive pattern (a
+pattern with positive subterms only), it instantiates the
+corresponding quantifier accordingly.  Negative patterns inhibit
+quantifier instantiations.  Each pattern should mention all preceding
+bound variables.
 *}
 
 datatype pattern = Pattern
 
-definition pat :: "'a \<Rightarrow> pattern"
-where "pat _ = Pattern"
+definition pat :: "'a \<Rightarrow> pattern" where "pat _ = Pattern"
+definition nopat :: "'a \<Rightarrow> pattern" where "nopat _ = Pattern"
 
-definition nopat :: "'a \<Rightarrow> pattern"
-where "nopat _ = Pattern"
-
-definition andpat :: "pattern \<Rightarrow> 'a \<Rightarrow> pattern" (infixl "andpat" 60)
-where "_ andpat _ = Pattern"
-
-definition trigger :: "pattern list \<Rightarrow> bool \<Rightarrow> bool"
+definition trigger :: "pattern list list \<Rightarrow> bool \<Rightarrow> bool"
 where "trigger _ P = P"
 
 
@@ -86,8 +84,7 @@
 following term-level equation symbol.
 *}
 
-definition term_eq :: "bool \<Rightarrow> bool \<Rightarrow> bool" (infix "term'_eq" 50)
-  where "(x term_eq y) = (x = y)"
+definition term_eq :: "bool \<Rightarrow> bool \<Rightarrow> bool" where "term_eq x y = (x = y)"
 
 
 
@@ -291,4 +288,10 @@
   "x + y = y + x"
   by auto
 
+
+
+hide_type (open) pattern
+hide_const Pattern "apply" term_eq
+hide_const (open) trigger pat nopat
+
 end
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Wed May 26 18:19:36 2010 +0200
@@ -12717,6 +12717,83 @@
 #187 := [asserted]: #44
 [unit-resolution #187 #404]: false
 unsat
+1ae66c01a019816f43584ef4a2147068b8c58d05 76 0
+#2 := false
+decl f3 :: (-> int S1)
+#12 := (:var 0 int)
+#13 := (f3 #12)
+#1016 := (pattern #13)
+decl f1 :: S1
+#4 := f1
+#157 := (= f1 #13)
+#1017 := (forall (vars (?v0 int)) (:pat #1016) #157)
+#181 := (forall (vars (?v0 int)) #157)
+#1020 := (iff #181 #1017)
+#1018 := (iff #157 #157)
+#1019 := [refl]: #1018
+#1021 := [quant-intro #1019]: #1020
+#494 := (~ #181 #181)
+#492 := (~ #157 #157)
+#493 := [refl]: #492
+#495 := [nnf-pos #493]: #494
+decl f4 :: (-> S2 S1)
+decl f5 :: (-> int S2 S2)
+decl f6 :: S2
+#15 := f6
+#16 := (f5 #12 f6)
+#17 := (f4 #16)
+#18 := (= #17 f1)
+#19 := (not #18)
+#20 := (or #18 #19)
+#14 := (= #13 f1)
+#21 := (and #14 #20)
+#22 := (forall (vars (?v0 int)) #21)
+#182 := (iff #22 #181)
+#179 := (iff #21 #157)
+#1 := true
+#174 := (and #157 true)
+#177 := (iff #174 #157)
+#178 := [rewrite]: #177
+#175 := (iff #21 #174)
+#172 := (iff #20 true)
+#161 := (= f1 #17)
+#164 := (not #161)
+#167 := (or #161 #164)
+#170 := (iff #167 true)
+#171 := [rewrite]: #170
+#168 := (iff #20 #167)
+#165 := (iff #19 #164)
+#162 := (iff #18 #161)
+#163 := [rewrite]: #162
+#166 := [monotonicity #163]: #165
+#169 := [monotonicity #163 #166]: #168
+#173 := [trans #169 #171]: #172
+#159 := (iff #14 #157)
+#160 := [rewrite]: #159
+#176 := [monotonicity #160 #173]: #175
+#180 := [trans #176 #178]: #179
+#183 := [quant-intro #180]: #182
+#156 := [asserted]: #22
+#186 := [mp #156 #183]: #181
+#468 := [mp~ #186 #495]: #181
+#1022 := [mp #468 #1021]: #1017
+#8 := 1::int
+#9 := (f3 1::int)
+#150 := (= f1 #9)
+#153 := (not #150)
+#10 := (= #9 f1)
+#11 := (not #10)
+#154 := (iff #11 #153)
+#151 := (iff #10 #150)
+#152 := [rewrite]: #151
+#155 := [monotonicity #152]: #154
+#149 := [asserted]: #11
+#158 := [mp #149 #155]: #153
+#603 := (not #1017)
+#688 := (or #603 #150)
+#689 := [quant-inst]: #688
+[unit-resolution #689 #158 #1022]: false
+unsat
 b611bff85387673a495359caee35c17082ebae1e 478 0
 #2 := false
 decl f7 :: (-> S4 S2)
@@ -13196,80 +13273,3 @@
 #223 := [asserted]: #31
 [unit-resolution #223 #592]: false
 unsat
-1ae66c01a019816f43584ef4a2147068b8c58d05 76 0
-#2 := false
-decl f3 :: (-> int S1)
-#12 := (:var 0 int)
-#13 := (f3 #12)
-#1016 := (pattern #13)
-decl f1 :: S1
-#4 := f1
-#157 := (= f1 #13)
-#1017 := (forall (vars (?v0 int)) (:pat #1016) #157)
-#181 := (forall (vars (?v0 int)) #157)
-#1020 := (iff #181 #1017)
-#1018 := (iff #157 #157)
-#1019 := [refl]: #1018
-#1021 := [quant-intro #1019]: #1020
-#494 := (~ #181 #181)
-#492 := (~ #157 #157)
-#493 := [refl]: #492
-#495 := [nnf-pos #493]: #494
-decl f4 :: (-> S2 S1)
-decl f5 :: (-> int S2 S2)
-decl f6 :: S2
-#15 := f6
-#16 := (f5 #12 f6)
-#17 := (f4 #16)
-#18 := (= #17 f1)
-#19 := (not #18)
-#20 := (or #18 #19)
-#14 := (= #13 f1)
-#21 := (and #14 #20)
-#22 := (forall (vars (?v0 int)) #21)
-#182 := (iff #22 #181)
-#179 := (iff #21 #157)
-#1 := true
-#174 := (and #157 true)
-#177 := (iff #174 #157)
-#178 := [rewrite]: #177
-#175 := (iff #21 #174)
-#172 := (iff #20 true)
-#161 := (= f1 #17)
-#164 := (not #161)
-#167 := (or #161 #164)
-#170 := (iff #167 true)
-#171 := [rewrite]: #170
-#168 := (iff #20 #167)
-#165 := (iff #19 #164)
-#162 := (iff #18 #161)
-#163 := [rewrite]: #162
-#166 := [monotonicity #163]: #165
-#169 := [monotonicity #163 #166]: #168
-#173 := [trans #169 #171]: #172
-#159 := (iff #14 #157)
-#160 := [rewrite]: #159
-#176 := [monotonicity #160 #173]: #175
-#180 := [trans #176 #178]: #179
-#183 := [quant-intro #180]: #182
-#156 := [asserted]: #22
-#186 := [mp #156 #183]: #181
-#468 := [mp~ #186 #495]: #181
-#1022 := [mp #468 #1021]: #1017
-#8 := 1::int
-#9 := (f3 1::int)
-#150 := (= f1 #9)
-#153 := (not #150)
-#10 := (= #9 f1)
-#11 := (not #10)
-#154 := (iff #11 #153)
-#151 := (iff #10 #150)
-#152 := [rewrite]: #151
-#155 := [monotonicity #152]: #154
-#149 := [asserted]: #11
-#158 := [mp #149 #155]: #153
-#603 := (not #1017)
-#688 := (or #603 #150)
-#689 := [quant-inst]: #688
-[unit-resolution #689 #158 #1022]: false
-unsat
--- a/src/HOL/SMT_Examples/SMT_Examples.thy	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Examples.thy	Wed May 26 18:19:36 2010 +0200
@@ -395,7 +395,7 @@
 
 lemma "\<exists>x::int. (\<forall>y. y \<ge> x \<longrightarrow> y > 0) \<longrightarrow> x > 0" by smt
 
-lemma "\<forall>x::int. trigger [pat x] (x < a \<longrightarrow> 2 * x < 2 * a)" by smt
+lemma "\<forall>x::int. SMT.trigger [[SMT.pat x]] (x < a \<longrightarrow> 2 * x < 2 * a)" by smt
 
 
 subsection {* Non-linear arithmetic over integers and reals *}
--- a/src/HOL/SMT_Examples/SMT_Tests.certs	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Tests.certs	Wed May 26 18:19:36 2010 +0200
@@ -1,3 +1,102 @@
+d296070a9a1ad4678f3ec56cd19a634e50fd638a 8 0
+#2 := false
+#1 := true
+#8 := (not true)
+#26 := (iff #8 false)
+#27 := [rewrite]: #26
+#25 := [asserted]: #8
+[mp #25 #27]: false
+unsat
+5a2fbe7eaa720a0d1634e4c8ad246283132e9cb9 16 0
+#2 := false
+#8 := (not false)
+#9 := (not #8)
+#34 := (iff #9 false)
+#1 := true
+#29 := (not true)
+#32 := (iff #29 false)
+#33 := [rewrite]: #32
+#30 := (iff #9 #29)
+#27 := (iff #8 true)
+#28 := [rewrite]: #27
+#31 := [monotonicity #28]: #30
+#35 := [trans #31 #33]: #34
+#26 := [asserted]: #9
+[mp #26 #35]: false
+unsat
+1818aabb2eeb93cf072a1c54b65c5fbc8da59afb 21 0
+#2 := false
+#1 := true
+#8 := (not true)
+#9 := (not #8)
+#10 := (not #9)
+#39 := (iff #10 false)
+#28 := (iff #8 false)
+#29 := [rewrite]: #28
+#37 := (iff #10 #8)
+#35 := (iff #9 true)
+#30 := (not false)
+#33 := (iff #30 true)
+#34 := [rewrite]: #33
+#31 := (iff #9 #30)
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#38 := [monotonicity #36]: #37
+#40 := [trans #38 #29]: #39
+#27 := [asserted]: #10
+[mp #27 #40]: false
+unsat
+d3b6081bc1c34a0421e641acff757eaaefbf5bdf 16 0
+#2 := false
+#1 := true
+#8 := (and true true)
+#9 := (not #8)
+#34 := (iff #9 false)
+#29 := (not true)
+#32 := (iff #29 false)
+#33 := [rewrite]: #32
+#30 := (iff #9 #29)
+#27 := (iff #8 true)
+#28 := [rewrite]: #27
+#31 := [monotonicity #28]: #30
+#35 := [trans #31 #33]: #34
+#26 := [asserted]: #9
+[mp #26 #35]: false
+unsat
+3c555028924c0617a48e7816899f81fd171e8cc6 16 0
+#2 := false
+#1 := true
+#8 := (or true false)
+#9 := (not #8)
+#34 := (iff #9 false)
+#29 := (not true)
+#32 := (iff #29 false)
+#33 := [rewrite]: #32
+#30 := (iff #9 #29)
+#27 := (iff #8 true)
+#28 := [rewrite]: #27
+#31 := [monotonicity #28]: #30
+#35 := [trans #31 #33]: #34
+#26 := [asserted]: #9
+[mp #26 #35]: false
+unsat
+acdb6c4646d2fb215f71d2ce5c6780077ae4ef74 16 0
+#2 := false
+#1 := true
+#8 := (implies false true)
+#9 := (not #8)
+#34 := (iff #9 false)
+#29 := (not true)
+#32 := (iff #29 false)
+#33 := [rewrite]: #32
+#30 := (iff #9 #29)
+#27 := (iff #8 true)
+#28 := [rewrite]: #27
+#31 := [monotonicity #28]: #30
+#35 := [trans #31 #33]: #34
+#26 := [asserted]: #9
+[mp #26 #35]: false
+unsat
 32bb24b231f8ef17d3b0def6817d84cc062a6d75 33 0
 #2 := false
 decl f1 :: S1
@@ -32,15 +131,6 @@
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-d296070a9a1ad4678f3ec56cd19a634e50fd638a 8 0
-#2 := false
-#1 := true
-#8 := (not true)
-#26 := (iff #8 false)
-#27 := [rewrite]: #26
-#25 := [asserted]: #8
-[mp #25 #27]: false
-unsat
 ae7e7a13c311c9f3e926d7f4a9307c3954711112 41 0
 #2 := false
 decl f1 :: S1
@@ -83,45 +173,6 @@
 #30 := [asserted]: #13
 [mp #30 #57]: false
 unsat
-5a2fbe7eaa720a0d1634e4c8ad246283132e9cb9 16 0
-#2 := false
-#8 := (not false)
-#9 := (not #8)
-#34 := (iff #9 false)
-#1 := true
-#29 := (not true)
-#32 := (iff #29 false)
-#33 := [rewrite]: #32
-#30 := (iff #9 #29)
-#27 := (iff #8 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#26 := [asserted]: #9
-[mp #26 #35]: false
-unsat
-1818aabb2eeb93cf072a1c54b65c5fbc8da59afb 21 0
-#2 := false
-#1 := true
-#8 := (not true)
-#9 := (not #8)
-#10 := (not #9)
-#39 := (iff #10 false)
-#28 := (iff #8 false)
-#29 := [rewrite]: #28
-#37 := (iff #10 #8)
-#35 := (iff #9 true)
-#30 := (not false)
-#33 := (iff #30 true)
-#34 := [rewrite]: #33
-#31 := (iff #9 #30)
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#38 := [monotonicity #36]: #37
-#40 := [trans #38 #29]: #39
-#27 := [asserted]: #10
-[mp #27 #40]: false
-unsat
 07720e913d13e1bf2c9278ea9348b2924d764925 65 0
 #2 := false
 decl f1 :: S1
@@ -188,23 +239,6 @@
 #33 := [asserted]: #16
 [mp #33 #81]: false
 unsat
-d3b6081bc1c34a0421e641acff757eaaefbf5bdf 16 0
-#2 := false
-#1 := true
-#8 := (and true true)
-#9 := (not #8)
-#34 := (iff #9 false)
-#29 := (not true)
-#32 := (iff #29 false)
-#33 := [rewrite]: #32
-#30 := (iff #9 #29)
-#27 := (iff #8 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#26 := [asserted]: #9
-[mp #26 #35]: false
-unsat
 4613b1a9286522197f6752544018c3ecaea8838a 29 0
 #2 := false
 decl f1 :: S1
@@ -235,23 +269,6 @@
 #28 := [asserted]: #11
 [mp #28 #45]: false
 unsat
-3c555028924c0617a48e7816899f81fd171e8cc6 16 0
-#2 := false
-#1 := true
-#8 := (or true false)
-#9 := (not #8)
-#34 := (iff #9 false)
-#29 := (not true)
-#32 := (iff #29 false)
-#33 := [rewrite]: #32
-#30 := (iff #9 #29)
-#27 := (iff #8 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#26 := [asserted]: #9
-[mp #26 #35]: false
-unsat
 280e0943c88a9613c460fbcd9ed182ff9d6c1d83 41 0
 #2 := false
 decl f1 :: S1
@@ -294,23 +311,6 @@
 #30 := [asserted]: #13
 [mp #30 #57]: false
 unsat
-acdb6c4646d2fb215f71d2ce5c6780077ae4ef74 16 0
-#2 := false
-#1 := true
-#8 := (implies false true)
-#9 := (not #8)
-#34 := (iff #9 false)
-#29 := (not true)
-#32 := (iff #29 false)
-#33 := [rewrite]: #32
-#30 := (iff #9 #29)
-#27 := (iff #8 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#26 := [asserted]: #9
-[mp #26 #35]: false
-unsat
 a6b55bc9321a8285602719107ebdeb043021388b 47 0
 #2 := false
 decl f1 :: S1
@@ -463,156 +463,6 @@
 #71 := [and-elim #70]: #33
 [mp #71 #77]: 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
 909eac5ac94649616c92660c5d2f8b06874b48dc 55 0
 #2 := false
 decl f1 :: S1
@@ -669,73 +519,6 @@
 #33 := [asserted]: #16
 [mp #33 #70]: 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
 70a5da534a7b49a4247fac1cedcc4b2d2d172e2d 55 0
 #2 := false
 decl f1 :: S1
@@ -792,74 +575,6 @@
 #33 := [asserted]: #16
 [mp #33 #70]: 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
 66bc415bc7b672ad9bd08a5cad7193639ca92341 49 0
 #2 := false
 decl f3 :: S1
@@ -965,74 +680,6 @@
 #68 := [and-elim #66]: #34
 [mp #68 #74]: 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
 36f523bdbc2a966d0da47f8c8e1a18b288089cd4 60 0
 #2 := false
 decl f4 :: S1
@@ -1094,193 +741,6 @@
 #70 := [mp #35 #67]: #64
 [mp #70 #68]: 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
 39e898ce622db033d98d0949c6c78d8d13333283 79 0
 #2 := false
 decl f1 :: S1
@@ -1361,40 +821,6 @@
 #36 := [asserted]: #19
 [mp #36 #93]: 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
 3d76513bcca35d0b89ae8be9bed98213f01644cc 94 0
 #2 := false
 decl f5 :: S1
@@ -1490,40 +916,6 @@
 #96 := [not-or-elim #89]: #70
 [mp #96 #112]: 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
 e872baf26281e471c8aad88c06ade50a163a8bf9 114 0
 #2 := false
 decl f5 :: S1
@@ -1761,55 +1153,6 @@
 #99 := [not-or-elim #92]: #98
 [mp #99 #138]: 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
 c9da60152fdcf3358171ced892606def006be235 110 0
 #2 := false
 decl f4 :: S1
@@ -1921,41 +1264,6 @@
 #84 := [and-elim #83]: #44
 [mp #84 #129]: 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
 1f8e71f0583db493868b682b87713e9591cb7a07 127 0
 #2 := false
 decl f5 :: S1
@@ -2084,34 +1392,6 @@
 #149 := [unit-resolution #131 #147]: #97
 [unit-resolution #108 #149 #148]: 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
 818dc7a805c1fc0df63db969a20606d71bab3c5a 66 0
 #2 := false
 decl f3 :: S1
@@ -2179,38 +1459,6 @@
 #74 := [not-or-elim #84]: #33
 [unit-resolution #69 #74]: 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
 46fff20b4c094da53ae081e33798e8a693ab62ec 156 0
 #2 := false
 decl f5 :: S1
@@ -2368,70 +1616,6 @@
 #114 := [def-axiom]: #113
 [unit-resolution #114 #172 #170]: 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
 2f15e9d90b4b089f8a2562ce56366a555231ff22 114 0
 #2 := false
 decl f5 :: S1
@@ -2547,202 +1731,6 @@
 #101 := [mp #36 #100]: #94
 [mp #101 #130]: 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
 00473b4aff1959d5177fa5825ae6319bbb679c00 198 0
 #2 := false
 decl f5 :: S1
@@ -3077,43 +2065,6 @@
 #121 := [not-or-elim #116]: #81
 [mp #121 #151]: 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
 d49a2aa891a4e97785d87ae0852efd8c830df7dd 162 0
 #2 := false
 decl f5 :: S1
@@ -3277,84 +2228,6 @@
 #178 := [unit-resolution #128 #177]: #70
 [unit-resolution #136 #178 #176 #168]: 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
 a32448a76e7c2238050b2242f58c388f5af4bb0b 54 0
 #2 := false
 decl f1 :: S1
@@ -3410,66 +2283,6 @@
 #31 := [asserted]: #14
 [mp #31 #69]: 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
 4beee0db11f1f0218a1c8845ad7dc8b072a3465b 144 0
 #2 := false
 decl f5 :: S1
@@ -3615,47 +2428,6 @@
 #126 := [not-or-elim #121]: #102
 [mp #126 #161]: 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
 06703092b87ad607f1fc183aeaf2318c5fc95140 121 0
 #2 := false
 decl f5 :: S1
@@ -3778,40 +2550,6 @@
 #115 := [not-or-elim #109]: #90
 [mp #115 #138]: 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
 9a5a01706e8f03de5459124543d7c655f9eae121 123 0
 #2 := false
 decl f4 :: S1
@@ -3936,98 +2674,6 @@
 #92 := [not-or-elim #91]: #72
 [mp #92 #141]: 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
 d71c48b66a95c7e63c038fd93ab853e5968a14b6 60 0
 #2 := false
 decl f1 :: S1
@@ -4211,67 +2857,6 @@
 #115 := [not-or-elim #109]: #90
 [mp #115 #138]: 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
 4125d60d3582e621620fa3548de9c8eca203e184 84 0
 #2 := false
 decl f4 :: S1
@@ -4357,6 +2942,1645 @@
 #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
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -4453,96 +4677,6 @@
 #102 := [and-elim #101]: #76
 [unit-resolution #102 #115]: 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
 f881fcb495cf85502e136be773cb13849da22fee 300 0
 #2 := false
 decl f4 :: (-> S2 S1)
@@ -4844,140 +4978,6 @@
 #609 := [quant-inst]: #615
 [unit-resolution #609 #257 #603]: 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
 15ca2c1c3840e8c9f4b2011d8b0b39ef04345936 201 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -5425,67 +5425,6 @@
 #616 := [mp #343 #237]: #621
 [unit-resolution #616 #629 #330]: 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
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S1)
-#8 := (:var 0 S2)
-#9 := (f3 #8)
-#10 := (= #9 f1)
-#11 := (exists (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 := (exists (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
 01fcfe482cd417aecd358af024dc175a0edc268e 49 0
 #2 := false
 decl f1 :: S1
@@ -5536,265 +5475,6 @@
 #35 := [asserted]: #18
 [mp #35 #65]: false
 unsat
-b43b0d1e4a922ebd6679eaa136d5464c794bec63 258 0
-#2 := false
-decl f4 :: (-> S2 S1)
-decl ?v0!2 :: S2
-#118 := ?v0!2
-#119 := (f4 ?v0!2)
-decl f1 :: S1
-#4 := f1
-#120 := (= f1 #119)
-decl f3 :: (-> S2 S1)
-decl ?v0!1 :: S2
-#111 := ?v0!1
-#112 := (f3 ?v0!1)
-#113 := (= f1 #112)
-#610 := (not #113)
-#308 := [hypothesis]: #113
-#8 := (:var 0 S2)
-#9 := (f3 #8)
-#629 := (pattern #9)
-#37 := (= f1 #9)
-#93 := (not #37)
-#636 := (forall (vars (?v0 S2)) (:pat #629) #93)
-#11 := (f4 #8)
-#630 := (pattern #11)
-#40 := (= f1 #11)
-#100 := (not #40)
-#644 := (forall (vars (?v0 S2)) (:pat #630) #100)
-#649 := (not #644)
-#641 := (not #636)
-#652 := (or #641 #649)
-#655 := (not #652)
-#43 := (or #37 #40)
-#87 := (not #43)
-#631 := (forall (vars (?v0 S2)) (:pat #629 #630) #87)
-#280 := (not #631)
-#616 := (f3 ?v0!2)
-#602 := (= f1 #616)
-#326 := (or #120 #602)
-decl ?v0!0 :: S2
-#76 := ?v0!0
-#77 := (f4 ?v0!0)
-#78 := (= f1 #77)
-#626 := (not #78)
-#79 := (f3 ?v0!0)
-#73 := (= f1 #79)
-#70 := (or #73 #78)
-#286 := (not #70)
-#625 := [hypothesis]: #631
-#263 := (or #286 #280)
-#624 := [hypothesis]: #70
-#410 := (or #280 #286)
-#617 := [quant-inst]: #410
-#620 := [unit-resolution #617 #625 #624]: false
-#604 := [lemma #620]: #263
-#584 := [unit-resolution #604 #625]: #286
-#627 := (or #70 #626)
-#622 := [def-axiom]: #627
-#585 := [unit-resolution #622 #584]: #626
-#293 := (not #73)
-#304 := [hypothesis]: #73
-#291 := (or #70 #293)
-#292 := [def-axiom]: #291
-#621 := [unit-resolution #292 #304]: #70
-#233 := (or #641 #293)
-#305 := [hypothesis]: #636
-#306 := [quant-inst]: #233
-#303 := [unit-resolution #306 #305 #304]: false
-#307 := [lemma #303]: #233
-#623 := [unit-resolution #307 #304]: #641
-#213 := (or #652 #636)
-#300 := [def-axiom]: #213
-#628 := [unit-resolution #300 #623]: #652
-#658 := (or #631 #655)
-#103 := (forall (vars (?v0 S2)) #100)
-#117 := (not #103)
-#96 := (forall (vars (?v0 S2)) #93)
-#116 := (not #96)
-#123 := (or #116 #117)
-#124 := (not #123)
-#90 := (forall (vars (?v0 S2)) #87)
-#146 := (or #90 #124)
-#659 := (iff #146 #658)
-#656 := (iff #124 #655)
-#653 := (iff #123 #652)
-#650 := (iff #117 #649)
-#647 := (iff #103 #644)
-#645 := (iff #100 #100)
-#646 := [refl]: #645
-#648 := [quant-intro #646]: #647
-#651 := [monotonicity #648]: #650
-#642 := (iff #116 #641)
-#639 := (iff #96 #636)
-#637 := (iff #93 #93)
-#638 := [refl]: #637
-#640 := [quant-intro #638]: #639
-#643 := [monotonicity #640]: #642
-#654 := [monotonicity #643 #651]: #653
-#657 := [monotonicity #654]: #656
-#634 := (iff #90 #631)
-#632 := (iff #87 #87)
-#633 := [refl]: #632
-#635 := [quant-intro #633]: #634
-#660 := [monotonicity #635 #657]: #659
-#107 := (and #96 #103)
-#136 := (or #90 #107)
-#147 := (iff #136 #146)
-#82 := (iff #107 #124)
-#83 := [rewrite]: #82
-#148 := [monotonicity #83]: #147
-#139 := (or #73 #78 #113 #120)
-#142 := (and #136 #139)
-#125 := (or #113 #120)
-#128 := (or #125 #70)
-#129 := (or #107 #90)
-#130 := (and #129 #128)
-#143 := (iff #130 #142)
-#140 := (iff #128 #139)
-#141 := [rewrite]: #140
-#137 := (iff #129 #136)
-#138 := [rewrite]: #137
-#144 := [monotonicity #138 #141]: #143
-#46 := (exists (vars (?v0 S2)) #43)
-#64 := (not #46)
-#52 := (exists (vars (?v0 S2)) #40)
-#49 := (exists (vars (?v0 S2)) #37)
-#55 := (or #49 #52)
-#65 := (iff #55 #64)
-#131 := (~ #65 #130)
-#91 := (~ #64 #90)
-#88 := (~ #87 #87)
-#89 := [refl]: #88
-#92 := [nnf-neg #89]: #91
-#84 := (not #64)
-#85 := (~ #84 #70)
-#80 := (~ #46 #70)
-#81 := [sk]: #80
-#86 := [nnf-neg #81]: #85
-#126 := (~ #55 #125)
-#121 := (~ #52 #120)
-#122 := [sk]: #121
-#114 := (~ #49 #113)
-#115 := [sk]: #114
-#127 := [monotonicity #115 #122]: #126
-#108 := (not #55)
-#109 := (~ #108 #107)
-#104 := (not #52)
-#105 := (~ #104 #103)
-#101 := (~ #100 #100)
-#102 := [refl]: #101
-#106 := [nnf-neg #102]: #105
-#97 := (not #49)
-#98 := (~ #97 #96)
-#94 := (~ #93 #93)
-#95 := [refl]: #94
-#99 := [nnf-neg #95]: #98
-#110 := [nnf-neg #99 #106]: #109
-#132 := [nnf-pos #110 #127 #86 #92]: #131
-#12 := (= #11 f1)
-#16 := (exists (vars (?v0 S2)) #12)
-#10 := (= #9 f1)
-#15 := (exists (vars (?v0 S2)) #10)
-#17 := (or #15 #16)
-#13 := (or #10 #12)
-#14 := (exists (vars (?v0 S2)) #13)
-#18 := (iff #14 #17)
-#19 := (not #18)
-#68 := (iff #19 #65)
-#58 := (iff #46 #55)
-#61 := (not #58)
-#66 := (iff #61 #65)
-#67 := [rewrite]: #66
-#62 := (iff #19 #61)
-#59 := (iff #18 #58)
-#56 := (iff #17 #55)
-#53 := (iff #16 #52)
-#41 := (iff #12 #40)
-#42 := [rewrite]: #41
-#54 := [quant-intro #42]: #53
-#50 := (iff #15 #49)
-#38 := (iff #10 #37)
-#39 := [rewrite]: #38
-#51 := [quant-intro #39]: #50
-#57 := [monotonicity #51 #54]: #56
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#45 := [monotonicity #39 #42]: #44
-#48 := [quant-intro #45]: #47
-#60 := [monotonicity #48 #57]: #59
-#63 := [monotonicity #60]: #62
-#69 := [trans #63 #67]: #68
-#36 := [asserted]: #19
-#72 := [mp #36 #69]: #65
-#133 := [mp~ #72 #132]: #130
-#134 := [mp #133 #144]: #142
-#135 := [and-elim #134]: #136
-#149 := [mp #135 #148]: #146
-#661 := [mp #149 #660]: #658
-#618 := [unit-resolution #661 #628]: #631
-#278 := [unit-resolution #617 #618 #621]: false
-#283 := [lemma #278]: #293
-#267 := (f4 ?v0!1)
-#268 := (= f1 #267)
-#269 := (or #113 #268)
-#270 := (not #269)
-#615 := (or #270 #280)
-#606 := [hypothesis]: #269
-#608 := (or #280 #270)
-#609 := [quant-inst]: #608
-#607 := [unit-resolution #609 #625 #606]: false
-#613 := [lemma #607]: #615
-#586 := [unit-resolution #613 #625]: #270
-#605 := (or #269 #610)
-#611 := [def-axiom]: #605
-#581 := [unit-resolution #611 #586]: #610
-#145 := [and-elim #134]: #139
-#582 := [unit-resolution #145 #581 #283 #585]: #120
-#314 := (not #120)
-#592 := (or #326 #314)
-#593 := [def-axiom]: #592
-#587 := [unit-resolution #593 #582]: #326
-#221 := (not #326)
-#321 := (or #280 #221)
-#603 := (or #602 #120)
-#325 := (not #603)
-#322 := (or #280 #325)
-#600 := (iff #322 #321)
-#601 := (iff #321 #321)
-#311 := [rewrite]: #601
-#598 := (iff #325 #221)
-#327 := (iff #603 #326)
-#328 := [rewrite]: #327
-#599 := [monotonicity #328]: #598
-#597 := [monotonicity #599]: #600
-#312 := [trans #597 #311]: #600
-#596 := [quant-inst]: #322
-#313 := [mp #596 #312]: #321
-#588 := [unit-resolution #313 #625 #587]: false
-#583 := [lemma #588]: #280
-#590 := [unit-resolution #661 #583]: #655
-#595 := [unit-resolution #300 #590]: #636
-#594 := (or #641 #610)
-#591 := [quant-inst]: #594
-#589 := [unit-resolution #591 #595 #308]: false
-#430 := [lemma #589]: #610
-#431 := [hypothesis]: #78
-#214 := (or #652 #644)
-#301 := [def-axiom]: #214
-#432 := [unit-resolution #301 #590]: #644
-#574 := (or #649 #626)
-#575 := [quant-inst]: #574
-#576 := [unit-resolution #575 #432 #431]: false
-#577 := [lemma #576]: #626
-#571 := (or #78 #113 #120)
-#572 := [unit-resolution #145 #283]: #571
-#573 := [unit-resolution #572 #577 #430]: #120
-#578 := (or #649 #314)
-#579 := [quant-inst]: #578
-[unit-resolution #579 #432 #573]: false
-unsat
 157e9ba0de5d7f3b7a1453e2a11927d703beea38 136 0
 #2 := false
 decl f3 :: (-> S2 S2 S1)
@@ -6057,229 +5737,6 @@
 #207 := [mp #217 #206]: #569
 [unit-resolution #207 #576 #88 #209]: false
 unsat
-efa58136de82c8b5811ff6cbc9ea6e3a0dfa88b3 222 0
-#2 := false
-decl f3 :: (-> S2 S1)
-decl ?v0!0 :: S2
-#72 := ?v0!0
-#73 := (f3 ?v0!0)
-decl f1 :: S1
-#4 := f1
-#74 := (= f1 #73)
-#156 := (not #74)
-decl f4 :: S1
-#12 := f4
-#42 := (= f1 f4)
-#92 := (not #42)
-#157 := (or #92 #156)
-#158 := (not #157)
-decl ?v0!1 :: S2
-#105 := ?v0!1
-#106 := (f3 ?v0!1)
-#107 := (= f1 #106)
-#151 := (not #107)
-#152 := (or #92 #151)
-#153 := (not #152)
-#615 := [hypothesis]: #153
-#223 := (or #152 #107)
-#310 := [def-axiom]: #223
-#276 := [unit-resolution #310 #615]: #107
-#8 := (:var 0 S2)
-#9 := (f3 #8)
-#640 := (pattern #9)
-#36 := (= f1 #9)
-#85 := (not #36)
-#111 := (or #85 #92)
-#646 := (forall (vars (?v0 S2)) (:pat #640) #111)
-#222 := (or #152 #42)
-#309 := [def-axiom]: #222
-#277 := [unit-resolution #309 #615]: #42
-#641 := (forall (vars (?v0 S2)) (:pat #640) #85)
-#632 := (not #641)
-#634 := (or #632 #151)
-#316 := [hypothesis]: #107
-#295 := [hypothesis]: #641
-#289 := [quant-inst]: #634
-#421 := [unit-resolution #289 #295 #316]: false
-#628 := [lemma #421]: #634
-#278 := [unit-resolution #628 #276]: #632
-#651 := (or #92 #641 #646)
-#144 := (forall (vars (?v0 S2)) #111)
-#88 := (forall (vars (?v0 S2)) #85)
-#147 := (or #92 #88 #144)
-#652 := (iff #147 #651)
-#649 := (iff #144 #646)
-#647 := (iff #111 #111)
-#648 := [refl]: #647
-#650 := [quant-intro #648]: #649
-#644 := (iff #88 #641)
-#642 := (iff #85 #85)
-#643 := [refl]: #642
-#645 := [quant-intro #643]: #644
-#653 := [monotonicity #645 #650]: #652
-#48 := (and #36 #42)
-#98 := (not #48)
-#101 := (forall (vars (?v0 S2)) #98)
-#121 := (or #92 #88 #101)
-#148 := (iff #121 #147)
-#145 := (iff #101 #144)
-#142 := (iff #98 #111)
-#112 := (not #111)
-#137 := (not #112)
-#140 := (iff #137 #111)
-#141 := [rewrite]: #140
-#138 := (iff #98 #137)
-#66 := (iff #48 #112)
-#76 := [rewrite]: #66
-#139 := [monotonicity #76]: #138
-#143 := [trans #139 #141]: #142
-#146 := [quant-intro #143]: #145
-#149 := [monotonicity #146]: #148
-#127 := (and #42 #74)
-#124 := (and #42 #107)
-#130 := (or #124 #127)
-#133 := (and #121 #130)
-#79 := (and #74 #42)
-#108 := (and #107 #42)
-#113 := (or #108 #79)
-#95 := (or #88 #92)
-#114 := (or #101 #95)
-#115 := (and #114 #113)
-#134 := (iff #115 #133)
-#131 := (iff #113 #130)
-#128 := (iff #79 #127)
-#129 := [rewrite]: #128
-#125 := (iff #108 #124)
-#126 := [rewrite]: #125
-#132 := [monotonicity #126 #129]: #131
-#122 := (iff #114 #121)
-#123 := [rewrite]: #122
-#135 := [monotonicity #123 #132]: #134
-#39 := (exists (vars (?v0 S2)) #36)
-#45 := (and #39 #42)
-#60 := (not #45)
-#51 := (exists (vars (?v0 S2)) #48)
-#61 := (iff #51 #60)
-#116 := (~ #61 #115)
-#96 := (~ #60 #95)
-#93 := (~ #92 #92)
-#94 := [refl]: #93
-#89 := (not #39)
-#90 := (~ #89 #88)
-#86 := (~ #85 #85)
-#87 := [refl]: #86
-#91 := [nnf-neg #87]: #90
-#97 := [nnf-neg #91 #94]: #96
-#82 := (not #60)
-#83 := (~ #82 #79)
-#80 := (~ #45 #79)
-#77 := (~ #42 #42)
-#78 := [refl]: #77
-#75 := (~ #39 #74)
-#69 := [sk]: #75
-#81 := [monotonicity #69 #78]: #80
-#84 := [nnf-neg #81]: #83
-#109 := (~ #51 #108)
-#110 := [sk]: #109
-#102 := (not #51)
-#103 := (~ #102 #101)
-#99 := (~ #98 #98)
-#100 := [refl]: #99
-#104 := [nnf-neg #100]: #103
-#117 := [nnf-pos #104 #110 #84 #97]: #116
-#13 := (= f4 f1)
-#10 := (= #9 f1)
-#15 := (and #10 #13)
-#16 := (exists (vars (?v0 S2)) #15)
-#11 := (exists (vars (?v0 S2)) #10)
-#14 := (and #11 #13)
-#17 := (iff #14 #16)
-#18 := (not #17)
-#64 := (iff #18 #61)
-#54 := (iff #45 #51)
-#57 := (not #54)
-#62 := (iff #57 #61)
-#63 := [rewrite]: #62
-#58 := (iff #18 #57)
-#55 := (iff #17 #54)
-#52 := (iff #16 #51)
-#49 := (iff #15 #48)
-#43 := (iff #13 #42)
-#44 := [rewrite]: #43
-#37 := (iff #10 #36)
-#38 := [rewrite]: #37
-#50 := [monotonicity #38 #44]: #49
-#53 := [quant-intro #50]: #52
-#46 := (iff #14 #45)
-#40 := (iff #11 #39)
-#41 := [quant-intro #38]: #40
-#47 := [monotonicity #41 #44]: #46
-#56 := [monotonicity #47 #53]: #55
-#59 := [monotonicity #56]: #58
-#65 := [trans #59 #63]: #64
-#35 := [asserted]: #18
-#68 := [mp #35 #65]: #61
-#118 := [mp~ #68 #117]: #115
-#119 := [mp #118 #135]: #133
-#120 := [and-elim #119]: #121
-#150 := [mp #120 #149]: #147
-#654 := [mp #150 #653]: #651
-#279 := [unit-resolution #654 #278 #277]: #646
-#636 := (not #646)
-#637 := (or #636 #92 #151)
-#300 := (or #151 #92)
-#638 := (or #636 #300)
-#288 := (iff #638 #637)
-#639 := (or #636 #152)
-#292 := (iff #639 #637)
-#630 := [rewrite]: #292
-#629 := (iff #638 #639)
-#301 := (iff #300 #152)
-#635 := [rewrite]: #301
-#287 := [monotonicity #635]: #629
-#631 := [trans #287 #630]: #288
-#633 := [quant-inst]: #638
-#272 := [mp #633 #631]: #637
-#617 := [unit-resolution #272 #277 #279 #276]: false
-#618 := [lemma #617]: #152
-#161 := (or #153 #158)
-#162 := (iff #130 #161)
-#159 := (iff #127 #158)
-#160 := [rewrite]: #159
-#154 := (iff #124 #153)
-#155 := [rewrite]: #154
-#163 := [monotonicity #155 #160]: #162
-#136 := [and-elim #119]: #130
-#164 := [mp #136 #163]: #161
-#614 := [unit-resolution #164 #618]: #158
-#314 := (or #157 #74)
-#242 := [def-axiom]: #314
-#320 := [unit-resolution #242 #614]: #74
-#302 := (or #157 #42)
-#313 := [def-axiom]: #302
-#337 := [unit-resolution #313 #614]: #42
-#336 := [hypothesis]: #646
-#616 := (or #636 #92 #156)
-#619 := (or #156 #92)
-#622 := (or #636 #619)
-#624 := (iff #622 #616)
-#623 := (or #636 #157)
-#264 := (iff #623 #616)
-#626 := [rewrite]: #264
-#625 := (iff #622 #623)
-#620 := (iff #619 #157)
-#621 := [rewrite]: #620
-#263 := [monotonicity #621]: #625
-#627 := [trans #263 #626]: #624
-#258 := [quant-inst]: #622
-#613 := [mp #258 #627]: #616
-#338 := [unit-resolution #613 #337 #336 #320]: false
-#324 := [lemma #338]: #636
-#339 := [unit-resolution #654 #324 #337]: #641
-#609 := (or #632 #156)
-#610 := [quant-inst]: #609
-[unit-resolution #610 #339 #320]: false
-unsat
 27f0d36fd6c0929bba5c83b80c0b177e808eb0e9 64 0
 #2 := false
 decl f3 :: (-> S2 S2 S3)
@@ -6345,56 +5802,6 @@
 #130 := [quant-inst]: #216
 [unit-resolution #130 #553 #64]: false
 unsat
-ab7c9224394921a685740971ba6d77f051f292c6 49 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S4 S1)
-#9 := (:var 0 S4)
-#13 := (:var 1 S2)
-#14 := (f3 #13 #9)
-#15 := (= #14 f1)
-#16 := (exists (vars (?v0 S2) (?v1 S4)) #15)
-#8 := (:var 2 S2)
-#10 := (f3 #8 #9)
-#11 := (= #10 f1)
-#12 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #11)
-#17 := (iff #12 #16)
-#18 := (not #17)
-#64 := (iff #18 false)
-#1 := true
-#59 := (not true)
-#62 := (iff #59 false)
-#63 := [rewrite]: #62
-#60 := (iff #18 #59)
-#57 := (iff #17 true)
-#42 := (= f1 #14)
-#43 := (exists (vars (?v0 S2) (?v2 S4)) #42)
-#52 := (iff #43 #43)
-#55 := (iff #52 true)
-#56 := [rewrite]: #55
-#53 := (iff #17 #52)
-#50 := (iff #16 #43)
-#48 := (iff #15 #42)
-#49 := [rewrite]: #48
-#51 := [quant-intro #49]: #50
-#46 := (iff #12 #43)
-#36 := (= f1 #10)
-#39 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #36)
-#44 := (iff #39 #43)
-#45 := [elim-unused]: #44
-#40 := (iff #12 #39)
-#37 := (iff #11 #36)
-#38 := [rewrite]: #37
-#41 := [quant-intro #38]: #40
-#47 := [trans #41 #45]: #46
-#54 := [monotonicity #47 #51]: #53
-#58 := [trans #54 #56]: #57
-#61 := [monotonicity #58]: #60
-#65 := [trans #61 #63]: #64
-#35 := [asserted]: #18
-[mp #35 #65]: false
-unsat
 a2a7a4fb33d8eca0ac67dbe7e0b63fde0e7908a5 250 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -6646,6 +6053,599 @@
 #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
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S1)
+#8 := (:var 0 S2)
+#9 := (f3 #8)
+#10 := (= #9 f1)
+#11 := (exists (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 := (exists (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
+b43b0d1e4a922ebd6679eaa136d5464c794bec63 258 0
+#2 := false
+decl f4 :: (-> S2 S1)
+decl ?v0!2 :: S2
+#118 := ?v0!2
+#119 := (f4 ?v0!2)
+decl f1 :: S1
+#4 := f1
+#120 := (= f1 #119)
+decl f3 :: (-> S2 S1)
+decl ?v0!1 :: S2
+#111 := ?v0!1
+#112 := (f3 ?v0!1)
+#113 := (= f1 #112)
+#610 := (not #113)
+#308 := [hypothesis]: #113
+#8 := (:var 0 S2)
+#9 := (f3 #8)
+#629 := (pattern #9)
+#37 := (= f1 #9)
+#93 := (not #37)
+#636 := (forall (vars (?v0 S2)) (:pat #629) #93)
+#11 := (f4 #8)
+#630 := (pattern #11)
+#40 := (= f1 #11)
+#100 := (not #40)
+#644 := (forall (vars (?v0 S2)) (:pat #630) #100)
+#649 := (not #644)
+#641 := (not #636)
+#652 := (or #641 #649)
+#655 := (not #652)
+#43 := (or #37 #40)
+#87 := (not #43)
+#631 := (forall (vars (?v0 S2)) (:pat #629 #630) #87)
+#280 := (not #631)
+#616 := (f3 ?v0!2)
+#602 := (= f1 #616)
+#326 := (or #120 #602)
+decl ?v0!0 :: S2
+#76 := ?v0!0
+#77 := (f4 ?v0!0)
+#78 := (= f1 #77)
+#626 := (not #78)
+#79 := (f3 ?v0!0)
+#73 := (= f1 #79)
+#70 := (or #73 #78)
+#286 := (not #70)
+#625 := [hypothesis]: #631
+#263 := (or #286 #280)
+#624 := [hypothesis]: #70
+#410 := (or #280 #286)
+#617 := [quant-inst]: #410
+#620 := [unit-resolution #617 #625 #624]: false
+#604 := [lemma #620]: #263
+#584 := [unit-resolution #604 #625]: #286
+#627 := (or #70 #626)
+#622 := [def-axiom]: #627
+#585 := [unit-resolution #622 #584]: #626
+#293 := (not #73)
+#304 := [hypothesis]: #73
+#291 := (or #70 #293)
+#292 := [def-axiom]: #291
+#621 := [unit-resolution #292 #304]: #70
+#233 := (or #641 #293)
+#305 := [hypothesis]: #636
+#306 := [quant-inst]: #233
+#303 := [unit-resolution #306 #305 #304]: false
+#307 := [lemma #303]: #233
+#623 := [unit-resolution #307 #304]: #641
+#213 := (or #652 #636)
+#300 := [def-axiom]: #213
+#628 := [unit-resolution #300 #623]: #652
+#658 := (or #631 #655)
+#103 := (forall (vars (?v0 S2)) #100)
+#117 := (not #103)
+#96 := (forall (vars (?v0 S2)) #93)
+#116 := (not #96)
+#123 := (or #116 #117)
+#124 := (not #123)
+#90 := (forall (vars (?v0 S2)) #87)
+#146 := (or #90 #124)
+#659 := (iff #146 #658)
+#656 := (iff #124 #655)
+#653 := (iff #123 #652)
+#650 := (iff #117 #649)
+#647 := (iff #103 #644)
+#645 := (iff #100 #100)
+#646 := [refl]: #645
+#648 := [quant-intro #646]: #647
+#651 := [monotonicity #648]: #650
+#642 := (iff #116 #641)
+#639 := (iff #96 #636)
+#637 := (iff #93 #93)
+#638 := [refl]: #637
+#640 := [quant-intro #638]: #639
+#643 := [monotonicity #640]: #642
+#654 := [monotonicity #643 #651]: #653
+#657 := [monotonicity #654]: #656
+#634 := (iff #90 #631)
+#632 := (iff #87 #87)
+#633 := [refl]: #632
+#635 := [quant-intro #633]: #634
+#660 := [monotonicity #635 #657]: #659
+#107 := (and #96 #103)
+#136 := (or #90 #107)
+#147 := (iff #136 #146)
+#82 := (iff #107 #124)
+#83 := [rewrite]: #82
+#148 := [monotonicity #83]: #147
+#139 := (or #73 #78 #113 #120)
+#142 := (and #136 #139)
+#125 := (or #113 #120)
+#128 := (or #125 #70)
+#129 := (or #107 #90)
+#130 := (and #129 #128)
+#143 := (iff #130 #142)
+#140 := (iff #128 #139)
+#141 := [rewrite]: #140
+#137 := (iff #129 #136)
+#138 := [rewrite]: #137
+#144 := [monotonicity #138 #141]: #143
+#46 := (exists (vars (?v0 S2)) #43)
+#64 := (not #46)
+#52 := (exists (vars (?v0 S2)) #40)
+#49 := (exists (vars (?v0 S2)) #37)
+#55 := (or #49 #52)
+#65 := (iff #55 #64)
+#131 := (~ #65 #130)
+#91 := (~ #64 #90)
+#88 := (~ #87 #87)
+#89 := [refl]: #88
+#92 := [nnf-neg #89]: #91
+#84 := (not #64)
+#85 := (~ #84 #70)
+#80 := (~ #46 #70)
+#81 := [sk]: #80
+#86 := [nnf-neg #81]: #85
+#126 := (~ #55 #125)
+#121 := (~ #52 #120)
+#122 := [sk]: #121
+#114 := (~ #49 #113)
+#115 := [sk]: #114
+#127 := [monotonicity #115 #122]: #126
+#108 := (not #55)
+#109 := (~ #108 #107)
+#104 := (not #52)
+#105 := (~ #104 #103)
+#101 := (~ #100 #100)
+#102 := [refl]: #101
+#106 := [nnf-neg #102]: #105
+#97 := (not #49)
+#98 := (~ #97 #96)
+#94 := (~ #93 #93)
+#95 := [refl]: #94
+#99 := [nnf-neg #95]: #98
+#110 := [nnf-neg #99 #106]: #109
+#132 := [nnf-pos #110 #127 #86 #92]: #131
+#12 := (= #11 f1)
+#16 := (exists (vars (?v0 S2)) #12)
+#10 := (= #9 f1)
+#15 := (exists (vars (?v0 S2)) #10)
+#17 := (or #15 #16)
+#13 := (or #10 #12)
+#14 := (exists (vars (?v0 S2)) #13)
+#18 := (iff #14 #17)
+#19 := (not #18)
+#68 := (iff #19 #65)
+#58 := (iff #46 #55)
+#61 := (not #58)
+#66 := (iff #61 #65)
+#67 := [rewrite]: #66
+#62 := (iff #19 #61)
+#59 := (iff #18 #58)
+#56 := (iff #17 #55)
+#53 := (iff #16 #52)
+#41 := (iff #12 #40)
+#42 := [rewrite]: #41
+#54 := [quant-intro #42]: #53
+#50 := (iff #15 #49)
+#38 := (iff #10 #37)
+#39 := [rewrite]: #38
+#51 := [quant-intro #39]: #50
+#57 := [monotonicity #51 #54]: #56
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#45 := [monotonicity #39 #42]: #44
+#48 := [quant-intro #45]: #47
+#60 := [monotonicity #48 #57]: #59
+#63 := [monotonicity #60]: #62
+#69 := [trans #63 #67]: #68
+#36 := [asserted]: #19
+#72 := [mp #36 #69]: #65
+#133 := [mp~ #72 #132]: #130
+#134 := [mp #133 #144]: #142
+#135 := [and-elim #134]: #136
+#149 := [mp #135 #148]: #146
+#661 := [mp #149 #660]: #658
+#618 := [unit-resolution #661 #628]: #631
+#278 := [unit-resolution #617 #618 #621]: false
+#283 := [lemma #278]: #293
+#267 := (f4 ?v0!1)
+#268 := (= f1 #267)
+#269 := (or #113 #268)
+#270 := (not #269)
+#615 := (or #270 #280)
+#606 := [hypothesis]: #269
+#608 := (or #280 #270)
+#609 := [quant-inst]: #608
+#607 := [unit-resolution #609 #625 #606]: false
+#613 := [lemma #607]: #615
+#586 := [unit-resolution #613 #625]: #270
+#605 := (or #269 #610)
+#611 := [def-axiom]: #605
+#581 := [unit-resolution #611 #586]: #610
+#145 := [and-elim #134]: #139
+#582 := [unit-resolution #145 #581 #283 #585]: #120
+#314 := (not #120)
+#592 := (or #326 #314)
+#593 := [def-axiom]: #592
+#587 := [unit-resolution #593 #582]: #326
+#221 := (not #326)
+#321 := (or #280 #221)
+#603 := (or #602 #120)
+#325 := (not #603)
+#322 := (or #280 #325)
+#600 := (iff #322 #321)
+#601 := (iff #321 #321)
+#311 := [rewrite]: #601
+#598 := (iff #325 #221)
+#327 := (iff #603 #326)
+#328 := [rewrite]: #327
+#599 := [monotonicity #328]: #598
+#597 := [monotonicity #599]: #600
+#312 := [trans #597 #311]: #600
+#596 := [quant-inst]: #322
+#313 := [mp #596 #312]: #321
+#588 := [unit-resolution #313 #625 #587]: false
+#583 := [lemma #588]: #280
+#590 := [unit-resolution #661 #583]: #655
+#595 := [unit-resolution #300 #590]: #636
+#594 := (or #641 #610)
+#591 := [quant-inst]: #594
+#589 := [unit-resolution #591 #595 #308]: false
+#430 := [lemma #589]: #610
+#431 := [hypothesis]: #78
+#214 := (or #652 #644)
+#301 := [def-axiom]: #214
+#432 := [unit-resolution #301 #590]: #644
+#574 := (or #649 #626)
+#575 := [quant-inst]: #574
+#576 := [unit-resolution #575 #432 #431]: false
+#577 := [lemma #576]: #626
+#571 := (or #78 #113 #120)
+#572 := [unit-resolution #145 #283]: #571
+#573 := [unit-resolution #572 #577 #430]: #120
+#578 := (or #649 #314)
+#579 := [quant-inst]: #578
+[unit-resolution #579 #432 #573]: false
+unsat
+efa58136de82c8b5811ff6cbc9ea6e3a0dfa88b3 222 0
+#2 := false
+decl f3 :: (-> S2 S1)
+decl ?v0!0 :: S2
+#72 := ?v0!0
+#73 := (f3 ?v0!0)
+decl f1 :: S1
+#4 := f1
+#74 := (= f1 #73)
+#156 := (not #74)
+decl f4 :: S1
+#12 := f4
+#42 := (= f1 f4)
+#92 := (not #42)
+#157 := (or #92 #156)
+#158 := (not #157)
+decl ?v0!1 :: S2
+#105 := ?v0!1
+#106 := (f3 ?v0!1)
+#107 := (= f1 #106)
+#151 := (not #107)
+#152 := (or #92 #151)
+#153 := (not #152)
+#615 := [hypothesis]: #153
+#223 := (or #152 #107)
+#310 := [def-axiom]: #223
+#276 := [unit-resolution #310 #615]: #107
+#8 := (:var 0 S2)
+#9 := (f3 #8)
+#640 := (pattern #9)
+#36 := (= f1 #9)
+#85 := (not #36)
+#111 := (or #85 #92)
+#646 := (forall (vars (?v0 S2)) (:pat #640) #111)
+#222 := (or #152 #42)
+#309 := [def-axiom]: #222
+#277 := [unit-resolution #309 #615]: #42
+#641 := (forall (vars (?v0 S2)) (:pat #640) #85)
+#632 := (not #641)
+#634 := (or #632 #151)
+#316 := [hypothesis]: #107
+#295 := [hypothesis]: #641
+#289 := [quant-inst]: #634
+#421 := [unit-resolution #289 #295 #316]: false
+#628 := [lemma #421]: #634
+#278 := [unit-resolution #628 #276]: #632
+#651 := (or #92 #641 #646)
+#144 := (forall (vars (?v0 S2)) #111)
+#88 := (forall (vars (?v0 S2)) #85)
+#147 := (or #92 #88 #144)
+#652 := (iff #147 #651)
+#649 := (iff #144 #646)
+#647 := (iff #111 #111)
+#648 := [refl]: #647
+#650 := [quant-intro #648]: #649
+#644 := (iff #88 #641)
+#642 := (iff #85 #85)
+#643 := [refl]: #642
+#645 := [quant-intro #643]: #644
+#653 := [monotonicity #645 #650]: #652
+#48 := (and #36 #42)
+#98 := (not #48)
+#101 := (forall (vars (?v0 S2)) #98)
+#121 := (or #92 #88 #101)
+#148 := (iff #121 #147)
+#145 := (iff #101 #144)
+#142 := (iff #98 #111)
+#112 := (not #111)
+#137 := (not #112)
+#140 := (iff #137 #111)
+#141 := [rewrite]: #140
+#138 := (iff #98 #137)
+#66 := (iff #48 #112)
+#76 := [rewrite]: #66
+#139 := [monotonicity #76]: #138
+#143 := [trans #139 #141]: #142
+#146 := [quant-intro #143]: #145
+#149 := [monotonicity #146]: #148
+#127 := (and #42 #74)
+#124 := (and #42 #107)
+#130 := (or #124 #127)
+#133 := (and #121 #130)
+#79 := (and #74 #42)
+#108 := (and #107 #42)
+#113 := (or #108 #79)
+#95 := (or #88 #92)
+#114 := (or #101 #95)
+#115 := (and #114 #113)
+#134 := (iff #115 #133)
+#131 := (iff #113 #130)
+#128 := (iff #79 #127)
+#129 := [rewrite]: #128
+#125 := (iff #108 #124)
+#126 := [rewrite]: #125
+#132 := [monotonicity #126 #129]: #131
+#122 := (iff #114 #121)
+#123 := [rewrite]: #122
+#135 := [monotonicity #123 #132]: #134
+#39 := (exists (vars (?v0 S2)) #36)
+#45 := (and #39 #42)
+#60 := (not #45)
+#51 := (exists (vars (?v0 S2)) #48)
+#61 := (iff #51 #60)
+#116 := (~ #61 #115)
+#96 := (~ #60 #95)
+#93 := (~ #92 #92)
+#94 := [refl]: #93
+#89 := (not #39)
+#90 := (~ #89 #88)
+#86 := (~ #85 #85)
+#87 := [refl]: #86
+#91 := [nnf-neg #87]: #90
+#97 := [nnf-neg #91 #94]: #96
+#82 := (not #60)
+#83 := (~ #82 #79)
+#80 := (~ #45 #79)
+#77 := (~ #42 #42)
+#78 := [refl]: #77
+#75 := (~ #39 #74)
+#69 := [sk]: #75
+#81 := [monotonicity #69 #78]: #80
+#84 := [nnf-neg #81]: #83
+#109 := (~ #51 #108)
+#110 := [sk]: #109
+#102 := (not #51)
+#103 := (~ #102 #101)
+#99 := (~ #98 #98)
+#100 := [refl]: #99
+#104 := [nnf-neg #100]: #103
+#117 := [nnf-pos #104 #110 #84 #97]: #116
+#13 := (= f4 f1)
+#10 := (= #9 f1)
+#15 := (and #10 #13)
+#16 := (exists (vars (?v0 S2)) #15)
+#11 := (exists (vars (?v0 S2)) #10)
+#14 := (and #11 #13)
+#17 := (iff #14 #16)
+#18 := (not #17)
+#64 := (iff #18 #61)
+#54 := (iff #45 #51)
+#57 := (not #54)
+#62 := (iff #57 #61)
+#63 := [rewrite]: #62
+#58 := (iff #18 #57)
+#55 := (iff #17 #54)
+#52 := (iff #16 #51)
+#49 := (iff #15 #48)
+#43 := (iff #13 #42)
+#44 := [rewrite]: #43
+#37 := (iff #10 #36)
+#38 := [rewrite]: #37
+#50 := [monotonicity #38 #44]: #49
+#53 := [quant-intro #50]: #52
+#46 := (iff #14 #45)
+#40 := (iff #11 #39)
+#41 := [quant-intro #38]: #40
+#47 := [monotonicity #41 #44]: #46
+#56 := [monotonicity #47 #53]: #55
+#59 := [monotonicity #56]: #58
+#65 := [trans #59 #63]: #64
+#35 := [asserted]: #18
+#68 := [mp #35 #65]: #61
+#118 := [mp~ #68 #117]: #115
+#119 := [mp #118 #135]: #133
+#120 := [and-elim #119]: #121
+#150 := [mp #120 #149]: #147
+#654 := [mp #150 #653]: #651
+#279 := [unit-resolution #654 #278 #277]: #646
+#636 := (not #646)
+#637 := (or #636 #92 #151)
+#300 := (or #151 #92)
+#638 := (or #636 #300)
+#288 := (iff #638 #637)
+#639 := (or #636 #152)
+#292 := (iff #639 #637)
+#630 := [rewrite]: #292
+#629 := (iff #638 #639)
+#301 := (iff #300 #152)
+#635 := [rewrite]: #301
+#287 := [monotonicity #635]: #629
+#631 := [trans #287 #630]: #288
+#633 := [quant-inst]: #638
+#272 := [mp #633 #631]: #637
+#617 := [unit-resolution #272 #277 #279 #276]: false
+#618 := [lemma #617]: #152
+#161 := (or #153 #158)
+#162 := (iff #130 #161)
+#159 := (iff #127 #158)
+#160 := [rewrite]: #159
+#154 := (iff #124 #153)
+#155 := [rewrite]: #154
+#163 := [monotonicity #155 #160]: #162
+#136 := [and-elim #119]: #130
+#164 := [mp #136 #163]: #161
+#614 := [unit-resolution #164 #618]: #158
+#314 := (or #157 #74)
+#242 := [def-axiom]: #314
+#320 := [unit-resolution #242 #614]: #74
+#302 := (or #157 #42)
+#313 := [def-axiom]: #302
+#337 := [unit-resolution #313 #614]: #42
+#336 := [hypothesis]: #646
+#616 := (or #636 #92 #156)
+#619 := (or #156 #92)
+#622 := (or #636 #619)
+#624 := (iff #622 #616)
+#623 := (or #636 #157)
+#264 := (iff #623 #616)
+#626 := [rewrite]: #264
+#625 := (iff #622 #623)
+#620 := (iff #619 #157)
+#621 := [rewrite]: #620
+#263 := [monotonicity #621]: #625
+#627 := [trans #263 #626]: #624
+#258 := [quant-inst]: #622
+#613 := [mp #258 #627]: #616
+#338 := [unit-resolution #613 #337 #336 #320]: false
+#324 := [lemma #338]: #636
+#339 := [unit-resolution #654 #324 #337]: #641
+#609 := (or #632 #156)
+#610 := [quant-inst]: #609
+[unit-resolution #610 #339 #320]: false
+unsat
+ab7c9224394921a685740971ba6d77f051f292c6 49 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S4 S1)
+#9 := (:var 0 S4)
+#13 := (:var 1 S2)
+#14 := (f3 #13 #9)
+#15 := (= #14 f1)
+#16 := (exists (vars (?v0 S2) (?v1 S4)) #15)
+#8 := (:var 2 S2)
+#10 := (f3 #8 #9)
+#11 := (= #10 f1)
+#12 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #11)
+#17 := (iff #12 #16)
+#18 := (not #17)
+#64 := (iff #18 false)
+#1 := true
+#59 := (not true)
+#62 := (iff #59 false)
+#63 := [rewrite]: #62
+#60 := (iff #18 #59)
+#57 := (iff #17 true)
+#42 := (= f1 #14)
+#43 := (exists (vars (?v0 S2) (?v2 S4)) #42)
+#52 := (iff #43 #43)
+#55 := (iff #52 true)
+#56 := [rewrite]: #55
+#53 := (iff #17 #52)
+#50 := (iff #16 #43)
+#48 := (iff #15 #42)
+#49 := [rewrite]: #48
+#51 := [quant-intro #49]: #50
+#46 := (iff #12 #43)
+#36 := (= f1 #10)
+#39 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #36)
+#44 := (iff #39 #43)
+#45 := [elim-unused]: #44
+#40 := (iff #12 #39)
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#41 := [quant-intro #38]: #40
+#47 := [trans #41 #45]: #46
+#54 := [monotonicity #47 #51]: #53
+#58 := [trans #54 #56]: #57
+#61 := [monotonicity #58]: #60
+#65 := [trans #61 #63]: #64
+#35 := [asserted]: #18
+[mp #35 #65]: false
+unsat
 e5bab80a17d61a903fd3b91d7b964fb77f0aeb5f 122 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -6769,6 +6769,20 @@
 #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
 #2 := false
 decl f3 :: (-> S1 S1)
@@ -6875,10 +6889,6 @@
 #261 := [quant-inst]: #188
 [unit-resolution #261 #590 #259]: false
 unsat
-3a3572162e189d1dd3faf86450c29af14c3f5775 1 2
-unsat
-WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
-
 90e400384b7659617fb2ac3414efca4ad4acb82b 230 0
 #2 := false
 decl f3 :: (-> S1 S1)
@@ -7110,8 +7120,6 @@
 #309 := [quant-inst]: #308
 [unit-resolution #309 #590 #312]: false
 unsat
-a110a216a9eb767753bdb8e6565cd9f3828f13c3 1 0
-unsat
 d3e1c4f171290bbc43cf7b8ed3f52dcaba02ad2a 156 0
 #2 := false
 decl f3 :: (-> S1 S2 S1)
@@ -7269,8 +7277,6 @@
 #269 := [quant-inst]: #264
 [unit-resolution #269 #592 #292]: false
 unsat
-021e717ac601dc07adaa2b5fdaab95b121236a15 1 0
-unsat
 c6a1ba7fcbcc63d35bcb3c6d55963f5db1b0ec4a 74 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
@@ -7346,8 +7352,6 @@
 #548 := [mp #55 #547]: #543
 [unit-resolution #548 #537]: false
 unsat
-227a4d38b650c5d656f4f2d1c6a5a4b38be4fdb6 1 0
-unsat
 0639f8bc4c0a97519f12b710ca2c55df172f2bff 108 0
 #2 := false
 decl f3 :: (-> S1 S1)
@@ -7457,8 +7461,6 @@
 #179 := [quant-inst]: #265
 [unit-resolution #179 #96 #599]: false
 unsat
-24b3734d5c956814c73081ebdb8796337ed9a903 1 0
-unsat
 44518bbe9d91ef8d978f243d28c5ab98d20e8e24 183 2
 #2 := false
 decl f3 :: (-> S1 S2 S1)
@@ -7645,10 +7647,22 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
 
-dda61842424d25cb559a3f8991ef4e1e4903a499 1 0
-unsat
 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
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -7757,12 +7771,6 @@
 #279 := [quant-inst]: #193
 [unit-resolution #279 #102 #618]: false
 unsat
-27b043a98368fb44835af50bddf282a2d59b4391 1 2
-unsat
-WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
-
-9fff5372d7dcf3c6868fd1efde54974ccaa78891 1 0
-unsat
 150dd0a5cf6fbd2bec23fe99d00ba9baec864264 75 0
 #2 := false
 decl f1 :: S1
@@ -7839,8 +7847,6 @@
 #41 := [asserted]: #24
 [mp #41 #91]: false
 unsat
-23f1460031fa3216d5ae34bab8e296aaa1bb42d0 1 0
-unsat
 060c3042ee22e19c83c26af2e895e991251857c3 207 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -8049,8 +8055,6 @@
 #622 := [mp #616 #257]: #277
 [unit-resolution #622 #645 #591 #596]: false
 unsat
-f2b2af5a9a8fe9ebf2adc96a482b15f0491a9fa9 1 0
-unsat
 7a325dc7f60f1d704b700244e345b2bb3c006973 250 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -8302,8 +8306,6 @@
 #616 := [mp #628 #615]: #622
 [unit-resolution #616 #128 #676 #607 #606]: false
 unsat
-a6ccb14f7a73c3d3f2c9c2bbc93d8537ee62f62b 1 0
-unsat
 0aa1c3973c008a0548a3cef61cdea0cbbc71f686 238 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -8543,8 +8545,6 @@
 #338 := [mp #643 #632]: #276
 [unit-resolution #338 #664 #617 #616]: false
 unsat
-a737d0c51ac36aed8a1a9cd55178cff9a96ed018 1 0
-unsat
 ad3f70e4b510752c5e78466bcf850b69675f0748 43 0
 #2 := false
 decl f1 :: S1
@@ -8589,23 +8589,6 @@
 #32 := [asserted]: #15
 [mp #32 #58]: false
 unsat
-da888d49fe89088ba7fe71a85968b4f0e39a7aba 16 0
-#2 := false
-#1 := true
-#8 := (implies true true)
-#9 := (not #8)
-#34 := (iff #9 false)
-#29 := (not true)
-#32 := (iff #29 false)
-#33 := [rewrite]: #32
-#30 := (iff #9 #29)
-#27 := (iff #8 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#26 := [asserted]: #9
-[mp #26 #35]: false
-unsat
 7f48a57f233df5237b79dd57ce30e63bdf44eb5b 27 0
 #2 := false
 #1 := true
@@ -8634,23 +8617,6 @@
 #28 := [asserted]: #11
 [mp #28 #46]: false
 unsat
-fc8df43e2cfbdb1c49bd1e2ca05690556717ae56 16 0
-#2 := false
-#8 := (implies false false)
-#9 := (not #8)
-#34 := (iff #9 false)
-#1 := true
-#29 := (not true)
-#32 := (iff #29 false)
-#33 := [rewrite]: #32
-#30 := (iff #9 #29)
-#27 := (iff #8 true)
-#28 := [rewrite]: #27
-#31 := [monotonicity #28]: #30
-#35 := [trans #31 #33]: #34
-#26 := [asserted]: #9
-[mp #26 #35]: false
-unsat
 4c412f5bcb05790d5fda803ce6123f178d77c3bc 31 0
 #2 := false
 decl f1 :: S1
@@ -8683,38 +8649,6 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-6c85c042209c5bf364cb8360ac464d560331ff7c 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 := (implies #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 := (implies #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
 7f6ad9f295b79d026cc84da045d8a49404f906c2 33 0
 #2 := false
 decl f1 :: S1
@@ -8749,6 +8683,178 @@
 #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
+#2 := false
+decl f3 :: (-> S2 S2)
+decl f4 :: S2
+#13 := f4
+#14 := (f3 f4)
+#41 := (= f4 #14)
+#45 := (not #41)
+#15 := (= #14 f4)
+#16 := (not #15)
+#46 := (iff #16 #45)
+#43 := (iff #15 #41)
+#44 := [rewrite]: #43
+#47 := [monotonicity #44]: #46
+#40 := [asserted]: #16
+#50 := [mp #40 #47]: #45
+#8 := (:var 0 S2)
+#9 := (f3 #8)
+#10 := (pattern #9)
+#34 := (= #8 #9)
+#37 := (forall (vars (?v0 S2)) (:pat #10) #34)
+#58 := (~ #37 #37)
+#56 := (~ #34 #34)
+#57 := [refl]: #56
+#59 := [nnf-pos #57]: #58
+#11 := (= #9 #8)
+#12 := (forall (vars (?v0 S2)) (:pat #10) #11)
+#38 := (iff #12 #37)
+#35 := (iff #11 #34)
+#36 := [rewrite]: #35
+#39 := [quant-intro #36]: #38
+#33 := [asserted]: #12
+#42 := [mp #33 #39]: #37
+#51 := [mp~ #42 #59]: #37
+#113 := (not #37)
+#200 := (or #113 #41)
+#114 := [quant-inst]: #200
+[unit-resolution #114 #51 #50]: false
+unsat
+be3e11e3c5cd7343a90367b32c72f0665caede63 30 0
+#2 := false
+decl f4 :: (-> S3 S4)
+decl f6 :: S3
+#17 := f6
+#18 := (f4 f6)
+decl f3 :: (-> S2 S4)
+decl f5 :: S2
+#15 := f5
+#16 := (f3 f5)
+#19 := (= #16 #18)
+#20 := (not #19)
+#38 := [asserted]: #20
+#10 := (:var 0 S3)
+#11 := (f4 #10)
+#8 := (:var 1 S2)
+#9 := (f3 #8)
+#12 := (pattern #9 #11)
+#13 := (= #9 #11)
+#14 := (forall (vars (?v0 S2) (?v1 S3)) (:pat #12) #13)
+#48 := (~ #14 #14)
+#46 := (~ #13 #13)
+#47 := [refl]: #46
+#49 := [nnf-pos #47]: #48
+#37 := [asserted]: #14
+#41 := [mp~ #37 #49]: #14
+#103 := (not #14)
+#190 := (or #103 #19)
+#104 := [quant-inst]: #190
+[unit-resolution #104 #41 #38]: false
+unsat
+da888d49fe89088ba7fe71a85968b4f0e39a7aba 16 0
+#2 := false
+#1 := true
+#8 := (implies true true)
+#9 := (not #8)
+#34 := (iff #9 false)
+#29 := (not true)
+#32 := (iff #29 false)
+#33 := [rewrite]: #32
+#30 := (iff #9 #29)
+#27 := (iff #8 true)
+#28 := [rewrite]: #27
+#31 := [monotonicity #28]: #30
+#35 := [trans #31 #33]: #34
+#26 := [asserted]: #9
+[mp #26 #35]: false
+unsat
+fc8df43e2cfbdb1c49bd1e2ca05690556717ae56 16 0
+#2 := false
+#8 := (implies false false)
+#9 := (not #8)
+#34 := (iff #9 false)
+#1 := true
+#29 := (not true)
+#32 := (iff #29 false)
+#33 := [rewrite]: #32
+#30 := (iff #9 #29)
+#27 := (iff #8 true)
+#28 := [rewrite]: #27
+#31 := [monotonicity #28]: #30
+#35 := [trans #31 #33]: #34
+#26 := [asserted]: #9
+[mp #26 #35]: false
+unsat
+6c85c042209c5bf364cb8360ac464d560331ff7c 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 := (implies #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 := (implies #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
 7aa85f1d84eee91f0a6d904666dbb90dd37fe476 48 0
 #2 := false
 decl f1 :: S1
@@ -8798,42 +8904,6 @@
 #31 := [asserted]: #14
 [mp #31 #63]: 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
 643e3befcc368aa36d51d58e2d963c26629d80a2 53 0
 #2 := false
 decl f1 :: S1
@@ -9000,10 +9070,6 @@
 #31 := [asserted]: #14
 [mp #31 #69]: false
 unsat
-5c717bc0664ca45c994a6287285cf080d3a78d66 3 0
-#2 := false
-[asserted]: false
-unsat
 7a045a1848b4b2a8d896e622d8b797488f2ae65b 89 0
 #2 := false
 decl f4 :: S1
@@ -9094,25 +9160,6 @@
 #86 := [not-or-elim #83]: #48
 [mp #86 #107]: false
 unsat
-053f09fab3ab7dadcbb50216d87e6bbc9c52b970 18 0
-#2 := false
-#9 := 1::int
-#8 := 0::int
-#10 := (< 0::int 1::int)
-#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
 0e7bbb17f9ad81b8c781d5e0b8798e9474d3fd3d 31 0
 #2 := false
 decl f1 :: S1
@@ -9145,25 +9192,6 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-4c7b1fbd03c5846dd635cd3b84120a6da09efeaf 18 0
-#2 := false
-#9 := 1::int
-#8 := 0::int
-#10 := (<= 0::int 1::int)
-#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
 5ae11eff5645b77b5c2e32c0104eec8daf365335 57 0
 #2 := false
 decl f3 :: (-> S2 S1)
@@ -9222,25 +9250,6 @@
 #59 := [not-or-elim #57]: #58
 [mp #59 #74]: false
 unsat
-0e8cf46a62144e97d595936465b386e89d7c65da 18 0
-#2 := false
-#9 := 2345678901::int
-#8 := 123456789::int
-#10 := (< 123456789::int 2345678901::int)
-#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
 3dd3fd8b3a088daf54f3fd06483c978f1b0a5c94 50 0
 #2 := false
 decl f5 :: S2
@@ -9292,6 +9301,403 @@
 #62 := [not-or-elim #58]: #61
 [unit-resolution #62 #70]: false
 unsat
+aff8e33d3cf01d5044aa16af4e5d375f7bc7128f 27 0
+#2 := false
+decl f5 :: (-> S2 S3)
+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
+38d6568bcb3518204f41c136744fc9a94ac2289f 73 0
+#2 := false
+decl f3 :: (-> S1 S1)
+decl f4 :: S1
+#12 := f4
+#13 := (f3 f4)
+decl f1 :: S1
+#4 := f1
+#42 := (= f1 #13)
+#73 := (not #42)
+#45 := (= f1 f4)
+#8 := (:var 0 S1)
+#9 := (f3 #8)
+#36 := (= f1 #9)
+#39 := (forall (vars (?v0 S1)) #36)
+#54 := (not #39)
+#63 := (or #54 #42 #45)
+#66 := (not #63)
+#15 := (= f4 f1)
+#14 := (= #13 f1)
+#16 := (or #14 #15)
+#10 := (= #9 f1)
+#11 := (forall (vars (?v0 S1)) #10)
+#17 := (implies #11 #16)
+#18 := (not #17)
+#69 := (iff #18 #66)
+#48 := (or #42 #45)
+#55 := (or #54 #48)
+#60 := (not #55)
+#67 := (iff #60 #66)
+#64 := (iff #55 #63)
+#65 := [rewrite]: #64
+#68 := [monotonicity #65]: #67
+#61 := (iff #18 #60)
+#58 := (iff #17 #55)
+#51 := (implies #39 #48)
+#56 := (iff #51 #55)
+#57 := [rewrite]: #56
+#52 := (iff #17 #51)
+#49 := (iff #16 #48)
+#46 := (iff #15 #45)
+#47 := [rewrite]: #46
+#43 := (iff #14 #42)
+#44 := [rewrite]: #43
+#50 := [monotonicity #44 #47]: #49
+#40 := (iff #11 #39)
+#37 := (iff #10 #36)
+#38 := [rewrite]: #37
+#41 := [quant-intro #38]: #40
+#53 := [monotonicity #41 #50]: #52
+#59 := [trans #53 #57]: #58
+#62 := [monotonicity #59]: #61
+#70 := [trans #62 #68]: #69
+#35 := [asserted]: #18
+#71 := [mp #35 #70]: #66
+#74 := [not-or-elim #71]: #73
+#560 := (pattern #9)
+#561 := (forall (vars (?v0 S1)) (:pat #560) #36)
+#564 := (iff #39 #561)
+#562 := (iff #36 #36)
+#563 := [refl]: #562
+#565 := [quant-intro #563]: #564
+#88 := (~ #39 #39)
+#86 := (~ #36 #36)
+#87 := [refl]: #86
+#89 := [nnf-pos #87]: #88
+#72 := [not-or-elim #71]: #39
+#79 := [mp~ #72 #89]: #39
+#566 := [mp #79 #565]: #561
+#145 := (not #561)
+#232 := (or #145 #42)
+#146 := [quant-inst]: #232
+[unit-resolution #146 #566 #74]: false
+unsat
+efee40d670c214f978e2ecbd05f202f54d2c08ae 106 0
+#2 := false
+decl f3 :: (-> S2 S2 S1)
+decl ?v0!0 :: S2
+#72 := ?v0!0
+#83 := (f3 ?v0!0 ?v0!0)
+decl f1 :: S1
+#4 := f1
+#75 := (= f1 #83)
+#76 := (not #75)
+#9 := (:var 0 S2)
+#16 := (f3 #9 #9)
+#50 := (= f1 #16)
+#53 := (forall (vars (?v0 S2)) #50)
+#69 := (not #53)
+#84 := (~ #69 #76)
+#85 := [sk]: #84
+#8 := (:var 1 S2)
+#12 := (f3 #9 #8)
+#41 := (= f1 #12)
+#10 := (f3 #8 #9)
+#38 := (= f1 #10)
+#44 := (and #38 #41)
+#47 := (forall (vars (?v0 S2) (?v1 S2)) #44)
+#59 := (not #47)
+#60 := (or #59 #53)
+#65 := (not #60)
+#17 := (= #16 f1)
+#18 := (forall (vars (?v0 S2)) #17)
+#13 := (= #12 f1)
+#11 := (= #10 f1)
+#14 := (and #11 #13)
+#15 := (forall (vars (?v0 S2) (?v1 S2)) #14)
+#19 := (implies #15 #18)
+#20 := (not #19)
+#66 := (iff #20 #65)
+#63 := (iff #19 #60)
+#56 := (implies #47 #53)
+#61 := (iff #56 #60)
+#62 := [rewrite]: #61
+#57 := (iff #19 #56)
+#54 := (iff #18 #53)
+#51 := (iff #17 #50)
+#52 := [rewrite]: #51
+#55 := [quant-intro #52]: #54
+#48 := (iff #15 #47)
+#45 := (iff #14 #44)
+#42 := (iff #13 #41)
+#43 := [rewrite]: #42
+#39 := (iff #11 #38)
+#40 := [rewrite]: #39
+#46 := [monotonicity #40 #43]: #45
+#49 := [quant-intro #46]: #48
+#58 := [monotonicity #49 #55]: #57
+#64 := [trans #58 #62]: #63
+#67 := [monotonicity #64]: #66
+#37 := [asserted]: #20
+#70 := [mp #37 #67]: #65
+#71 := [not-or-elim #70]: #69
+#88 := [mp~ #71 #85]: #76
+#577 := (pattern #12)
+#576 := (pattern #10)
+#87 := (not #41)
+#86 := (not #38)
+#89 := (or #86 #87)
+#90 := (not #89)
+#578 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #576 #577) #90)
+#93 := (forall (vars (?v0 S2) (?v1 S2)) #90)
+#581 := (iff #93 #578)
+#579 := (iff #90 #90)
+#580 := [refl]: #579
+#582 := [quant-intro #580]: #581
+#94 := (iff #47 #93)
+#91 := (iff #44 #90)
+#92 := [rewrite]: #91
+#95 := [quant-intro #92]: #94
+#81 := (~ #47 #47)
+#79 := (~ #44 #44)
+#80 := [refl]: #79
+#82 := [nnf-pos #80]: #81
+#68 := [not-or-elim #70]: #47
+#74 := [mp~ #68 #82]: #47
+#96 := [mp #74 #95]: #93
+#583 := [mp #96 #582]: #578
+#250 := (not #578)
+#254 := (or #250 #75)
+#160 := (or #76 #76)
+#247 := (not #160)
+#233 := (or #250 #247)
+#570 := (iff #233 #254)
+#357 := (iff #254 #254)
+#564 := [rewrite]: #357
+#180 := (iff #247 #75)
+#162 := (not #76)
+#251 := (iff #162 #75)
+#252 := [rewrite]: #251
+#249 := (iff #247 #162)
+#161 := (iff #160 #76)
+#248 := [rewrite]: #161
+#240 := [monotonicity #248]: #249
+#253 := [trans #240 #252]: #180
+#227 := [monotonicity #253]: #570
+#238 := [trans #227 #564]: #570
+#568 := [quant-inst]: #233
+#239 := [mp #568 #238]: #254
+[unit-resolution #239 #583 #88]: false
+unsat
+8ef67dc17184cdb997c34c282ec976aab91f0c9d 66 0
+#2 := false
+decl f4 :: S1
+#10 := f4
+decl f1 :: S1
+#4 := f1
+#37 := (= f1 f4)
+decl f3 :: S1
+#8 := f3
+#34 := (= f1 f3)
+#40 := (or #34 #37)
+#84 := (iff #40 false)
+#79 := (or false false)
+#82 := (iff #79 false)
+#83 := [rewrite]: #82
+#80 := (iff #40 #79)
+#75 := (iff #37 false)
+#66 := (not #37)
+#43 := (not #34)
+#49 := (and #43 #40)
+#57 := (not #49)
+#58 := (or #37 #57)
+#63 := (not #58)
+#11 := (= f4 f1)
+#9 := (= f3 f1)
+#13 := (not #9)
+#12 := (or #9 #11)
+#14 := (and #12 #13)
+#15 := (implies #14 #11)
+#16 := (not #15)
+#64 := (iff #16 #63)
+#61 := (iff #15 #58)
+#54 := (implies #49 #37)
+#59 := (iff #54 #58)
+#60 := [rewrite]: #59
+#55 := (iff #15 #54)
+#38 := (iff #11 #37)
+#39 := [rewrite]: #38
+#52 := (iff #14 #49)
+#46 := (and #40 #43)
+#50 := (iff #46 #49)
+#51 := [rewrite]: #50
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#35 := (iff #9 #34)
+#36 := [rewrite]: #35
+#45 := [monotonicity #36]: #44
+#41 := (iff #12 #40)
+#42 := [monotonicity #36 #39]: #41
+#48 := [monotonicity #42 #45]: #47
+#53 := [trans #48 #51]: #52
+#56 := [monotonicity #53 #39]: #55
+#62 := [trans #56 #60]: #61
+#65 := [monotonicity #62]: #64
+#33 := [asserted]: #16
+#68 := [mp #33 #65]: #63
+#67 := [not-or-elim #68]: #66
+#76 := [iff-false #67]: #75
+#77 := (iff #34 false)
+#69 := [not-or-elim #68]: #49
+#70 := [and-elim #69]: #43
+#78 := [iff-false #70]: #77
+#81 := [monotonicity #78 #76]: #80
+#85 := [trans #81 #83]: #84
+#71 := [and-elim #69]: #40
+[mp #71 #85]: false
+unsat
+850ee68a24d436c0e8f0323d0c7b40aadee077ac 59 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f6 :: S1
+#15 := f6
+#16 := (= f6 f1)
+decl f5 :: S1
+#13 := f5
+#14 := (= f5 f1)
+#17 := (and #14 #16)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#12 := (and #9 #11)
+#18 := (or #12 #17)
+#19 := (implies #18 #18)
+#20 := (not #19)
+#71 := (iff #20 false)
+#1 := true
+#66 := (not true)
+#69 := (iff #66 false)
+#70 := [rewrite]: #69
+#67 := (iff #20 #66)
+#64 := (iff #19 true)
+#50 := (= f1 f6)
+#47 := (= f1 f5)
+#53 := (and #47 #50)
+#41 := (= f1 f4)
+#38 := (= f1 f3)
+#44 := (and #38 #41)
+#56 := (or #44 #53)
+#59 := (implies #56 #56)
+#62 := (iff #59 true)
+#63 := [rewrite]: #62
+#60 := (iff #19 #59)
+#57 := (iff #18 #56)
+#54 := (iff #17 #53)
+#51 := (iff #16 #50)
+#52 := [rewrite]: #51
+#48 := (iff #14 #47)
+#49 := [rewrite]: #48
+#55 := [monotonicity #49 #52]: #54
+#45 := (iff #12 #44)
+#42 := (iff #11 #41)
+#43 := [rewrite]: #42
+#39 := (iff #9 #38)
+#40 := [rewrite]: #39
+#46 := [monotonicity #40 #43]: #45
+#58 := [monotonicity #46 #55]: #57
+#61 := [monotonicity #58 #58]: #60
+#65 := [trans #61 #63]: #64
+#68 := [monotonicity #65]: #67
+#72 := [trans #68 #70]: #71
+#37 := [asserted]: #20
+[mp #37 #72]: false
+unsat
+5c717bc0664ca45c994a6287285cf080d3a78d66 3 0
+#2 := false
+[asserted]: false
+unsat
+053f09fab3ab7dadcbb50216d87e6bbc9c52b970 18 0
+#2 := false
+#9 := 1::int
+#8 := 0::int
+#10 := (< 0::int 1::int)
+#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
+4c7b1fbd03c5846dd635cd3b84120a6da09efeaf 18 0
+#2 := false
+#9 := 1::int
+#8 := 0::int
+#10 := (<= 0::int 1::int)
+#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
+0e8cf46a62144e97d595936465b386e89d7c65da 18 0
+#2 := false
+#9 := 2345678901::int
+#8 := 123456789::int
+#10 := (< 123456789::int 2345678901::int)
+#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
 def4bedc74a497f81535120f8eb3d73a2126f39d 30 0
 #2 := false
 decl f3 :: (-> int S2)
@@ -9323,34 +9729,6 @@
 #132 := [asserted]: #30
 [mp #132 #149]: false
 unsat
-aff8e33d3cf01d5044aa16af4e5d375f7bc7128f 27 0
-#2 := false
-decl f5 :: (-> S2 S3)
-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
 a7cad8328ffe36efffb86c5a300175a81ec9473e 225 0
 #2 := false
 #13 := 0::int
@@ -9577,187 +9955,6 @@
 #616 := [unit-resolution #619 #618]: #347
 [th-lemma #617 #616 #166]: false
 unsat
-38d6568bcb3518204f41c136744fc9a94ac2289f 73 0
-#2 := false
-decl f3 :: (-> S1 S1)
-decl f4 :: S1
-#12 := f4
-#13 := (f3 f4)
-decl f1 :: S1
-#4 := f1
-#42 := (= f1 #13)
-#73 := (not #42)
-#45 := (= f1 f4)
-#8 := (:var 0 S1)
-#9 := (f3 #8)
-#36 := (= f1 #9)
-#39 := (forall (vars (?v0 S1)) #36)
-#54 := (not #39)
-#63 := (or #54 #42 #45)
-#66 := (not #63)
-#15 := (= f4 f1)
-#14 := (= #13 f1)
-#16 := (or #14 #15)
-#10 := (= #9 f1)
-#11 := (forall (vars (?v0 S1)) #10)
-#17 := (implies #11 #16)
-#18 := (not #17)
-#69 := (iff #18 #66)
-#48 := (or #42 #45)
-#55 := (or #54 #48)
-#60 := (not #55)
-#67 := (iff #60 #66)
-#64 := (iff #55 #63)
-#65 := [rewrite]: #64
-#68 := [monotonicity #65]: #67
-#61 := (iff #18 #60)
-#58 := (iff #17 #55)
-#51 := (implies #39 #48)
-#56 := (iff #51 #55)
-#57 := [rewrite]: #56
-#52 := (iff #17 #51)
-#49 := (iff #16 #48)
-#46 := (iff #15 #45)
-#47 := [rewrite]: #46
-#43 := (iff #14 #42)
-#44 := [rewrite]: #43
-#50 := [monotonicity #44 #47]: #49
-#40 := (iff #11 #39)
-#37 := (iff #10 #36)
-#38 := [rewrite]: #37
-#41 := [quant-intro #38]: #40
-#53 := [monotonicity #41 #50]: #52
-#59 := [trans #53 #57]: #58
-#62 := [monotonicity #59]: #61
-#70 := [trans #62 #68]: #69
-#35 := [asserted]: #18
-#71 := [mp #35 #70]: #66
-#74 := [not-or-elim #71]: #73
-#560 := (pattern #9)
-#561 := (forall (vars (?v0 S1)) (:pat #560) #36)
-#564 := (iff #39 #561)
-#562 := (iff #36 #36)
-#563 := [refl]: #562
-#565 := [quant-intro #563]: #564
-#88 := (~ #39 #39)
-#86 := (~ #36 #36)
-#87 := [refl]: #86
-#89 := [nnf-pos #87]: #88
-#72 := [not-or-elim #71]: #39
-#79 := [mp~ #72 #89]: #39
-#566 := [mp #79 #565]: #561
-#145 := (not #561)
-#232 := (or #145 #42)
-#146 := [quant-inst]: #232
-[unit-resolution #146 #566 #74]: false
-unsat
-efee40d670c214f978e2ecbd05f202f54d2c08ae 106 0
-#2 := false
-decl f3 :: (-> S2 S2 S1)
-decl ?v0!0 :: S2
-#72 := ?v0!0
-#83 := (f3 ?v0!0 ?v0!0)
-decl f1 :: S1
-#4 := f1
-#75 := (= f1 #83)
-#76 := (not #75)
-#9 := (:var 0 S2)
-#16 := (f3 #9 #9)
-#50 := (= f1 #16)
-#53 := (forall (vars (?v0 S2)) #50)
-#69 := (not #53)
-#84 := (~ #69 #76)
-#85 := [sk]: #84
-#8 := (:var 1 S2)
-#12 := (f3 #9 #8)
-#41 := (= f1 #12)
-#10 := (f3 #8 #9)
-#38 := (= f1 #10)
-#44 := (and #38 #41)
-#47 := (forall (vars (?v0 S2) (?v1 S2)) #44)
-#59 := (not #47)
-#60 := (or #59 #53)
-#65 := (not #60)
-#17 := (= #16 f1)
-#18 := (forall (vars (?v0 S2)) #17)
-#13 := (= #12 f1)
-#11 := (= #10 f1)
-#14 := (and #11 #13)
-#15 := (forall (vars (?v0 S2) (?v1 S2)) #14)
-#19 := (implies #15 #18)
-#20 := (not #19)
-#66 := (iff #20 #65)
-#63 := (iff #19 #60)
-#56 := (implies #47 #53)
-#61 := (iff #56 #60)
-#62 := [rewrite]: #61
-#57 := (iff #19 #56)
-#54 := (iff #18 #53)
-#51 := (iff #17 #50)
-#52 := [rewrite]: #51
-#55 := [quant-intro #52]: #54
-#48 := (iff #15 #47)
-#45 := (iff #14 #44)
-#42 := (iff #13 #41)
-#43 := [rewrite]: #42
-#39 := (iff #11 #38)
-#40 := [rewrite]: #39
-#46 := [monotonicity #40 #43]: #45
-#49 := [quant-intro #46]: #48
-#58 := [monotonicity #49 #55]: #57
-#64 := [trans #58 #62]: #63
-#67 := [monotonicity #64]: #66
-#37 := [asserted]: #20
-#70 := [mp #37 #67]: #65
-#71 := [not-or-elim #70]: #69
-#88 := [mp~ #71 #85]: #76
-#577 := (pattern #12)
-#576 := (pattern #10)
-#87 := (not #41)
-#86 := (not #38)
-#89 := (or #86 #87)
-#90 := (not #89)
-#578 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #576 #577) #90)
-#93 := (forall (vars (?v0 S2) (?v1 S2)) #90)
-#581 := (iff #93 #578)
-#579 := (iff #90 #90)
-#580 := [refl]: #579
-#582 := [quant-intro #580]: #581
-#94 := (iff #47 #93)
-#91 := (iff #44 #90)
-#92 := [rewrite]: #91
-#95 := [quant-intro #92]: #94
-#81 := (~ #47 #47)
-#79 := (~ #44 #44)
-#80 := [refl]: #79
-#82 := [nnf-pos #80]: #81
-#68 := [not-or-elim #70]: #47
-#74 := [mp~ #68 #82]: #47
-#96 := [mp #74 #95]: #93
-#583 := [mp #96 #582]: #578
-#250 := (not #578)
-#254 := (or #250 #75)
-#160 := (or #76 #76)
-#247 := (not #160)
-#233 := (or #250 #247)
-#570 := (iff #233 #254)
-#357 := (iff #254 #254)
-#564 := [rewrite]: #357
-#180 := (iff #247 #75)
-#162 := (not #76)
-#251 := (iff #162 #75)
-#252 := [rewrite]: #251
-#249 := (iff #247 #162)
-#161 := (iff #160 #76)
-#248 := [rewrite]: #161
-#240 := [monotonicity #248]: #249
-#253 := [trans #240 #252]: #180
-#227 := [monotonicity #253]: #570
-#238 := [trans #227 #564]: #570
-#568 := [quant-inst]: #233
-#239 := [mp #568 #238]: #254
-[unit-resolution #239 #583 #88]: false
-unsat
 592c5fbbffdc88780deea852b5e3007b86266cec 428 0
 #2 := false
 decl f4 :: (-> S2 int)
@@ -10187,133 +10384,6 @@
 #393 := [unit-resolution #403 #411 #414]: #443
 [unit-resolution #393 #424]: false
 unsat
-8ef67dc17184cdb997c34c282ec976aab91f0c9d 66 0
-#2 := false
-decl f4 :: S1
-#10 := f4
-decl f1 :: S1
-#4 := f1
-#37 := (= f1 f4)
-decl f3 :: S1
-#8 := f3
-#34 := (= f1 f3)
-#40 := (or #34 #37)
-#84 := (iff #40 false)
-#79 := (or false false)
-#82 := (iff #79 false)
-#83 := [rewrite]: #82
-#80 := (iff #40 #79)
-#75 := (iff #37 false)
-#66 := (not #37)
-#43 := (not #34)
-#49 := (and #43 #40)
-#57 := (not #49)
-#58 := (or #37 #57)
-#63 := (not #58)
-#11 := (= f4 f1)
-#9 := (= f3 f1)
-#13 := (not #9)
-#12 := (or #9 #11)
-#14 := (and #12 #13)
-#15 := (implies #14 #11)
-#16 := (not #15)
-#64 := (iff #16 #63)
-#61 := (iff #15 #58)
-#54 := (implies #49 #37)
-#59 := (iff #54 #58)
-#60 := [rewrite]: #59
-#55 := (iff #15 #54)
-#38 := (iff #11 #37)
-#39 := [rewrite]: #38
-#52 := (iff #14 #49)
-#46 := (and #40 #43)
-#50 := (iff #46 #49)
-#51 := [rewrite]: #50
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#35 := (iff #9 #34)
-#36 := [rewrite]: #35
-#45 := [monotonicity #36]: #44
-#41 := (iff #12 #40)
-#42 := [monotonicity #36 #39]: #41
-#48 := [monotonicity #42 #45]: #47
-#53 := [trans #48 #51]: #52
-#56 := [monotonicity #53 #39]: #55
-#62 := [trans #56 #60]: #61
-#65 := [monotonicity #62]: #64
-#33 := [asserted]: #16
-#68 := [mp #33 #65]: #63
-#67 := [not-or-elim #68]: #66
-#76 := [iff-false #67]: #75
-#77 := (iff #34 false)
-#69 := [not-or-elim #68]: #49
-#70 := [and-elim #69]: #43
-#78 := [iff-false #70]: #77
-#81 := [monotonicity #78 #76]: #80
-#85 := [trans #81 #83]: #84
-#71 := [and-elim #69]: #40
-[mp #71 #85]: false
-unsat
-850ee68a24d436c0e8f0323d0c7b40aadee077ac 59 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f6 :: S1
-#15 := f6
-#16 := (= f6 f1)
-decl f5 :: S1
-#13 := f5
-#14 := (= f5 f1)
-#17 := (and #14 #16)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#12 := (and #9 #11)
-#18 := (or #12 #17)
-#19 := (implies #18 #18)
-#20 := (not #19)
-#71 := (iff #20 false)
-#1 := true
-#66 := (not true)
-#69 := (iff #66 false)
-#70 := [rewrite]: #69
-#67 := (iff #20 #66)
-#64 := (iff #19 true)
-#50 := (= f1 f6)
-#47 := (= f1 f5)
-#53 := (and #47 #50)
-#41 := (= f1 f4)
-#38 := (= f1 f3)
-#44 := (and #38 #41)
-#56 := (or #44 #53)
-#59 := (implies #56 #56)
-#62 := (iff #59 true)
-#63 := [rewrite]: #62
-#60 := (iff #19 #59)
-#57 := (iff #18 #56)
-#54 := (iff #17 #53)
-#51 := (iff #16 #50)
-#52 := [rewrite]: #51
-#48 := (iff #14 #47)
-#49 := [rewrite]: #48
-#55 := [monotonicity #49 #52]: #54
-#45 := (iff #12 #44)
-#42 := (iff #11 #41)
-#43 := [rewrite]: #42
-#39 := (iff #9 #38)
-#40 := [rewrite]: #39
-#46 := [monotonicity #40 #43]: #45
-#58 := [monotonicity #46 #55]: #57
-#61 := [monotonicity #58 #58]: #60
-#65 := [trans #61 #63]: #64
-#68 := [monotonicity #65]: #67
-#72 := [trans #68 #70]: #71
-#37 := [asserted]: #20
-[mp #37 #72]: false
-unsat
 ed4c7cfe878e23843083428f8a6f715fbfe495d3 409 0
 #2 := false
 #181 := -1::int
@@ -11929,74 +11999,6 @@
 #181 := [and-elim #183]: #157
 [unit-resolution #181 #478]: 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
-#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 := (* 0::int #26)
-#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
 a52f3d3f145bed3b2ad2f7ee15aba0955eef027c 329 0
 #2 := false
 decl f6 :: S2
@@ -12327,67 +12329,6 @@
 #500 := [trans #499 #542]: #188
 [unit-resolution #198 #500]: false
 unsat
-71a8731b24573e8c3f19635efbc778a168d7006c 60 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#136 := (f3 #26)
-#142 := (= f5 #136)
-#147 := (not #142)
-#27 := 1::int
-#28 := (* #26 1::int)
-#29 := (f3 #28)
-#30 := (= #29 f5)
-#31 := (not #30)
-#148 := (iff #31 #147)
-#145 := (iff #30 #142)
-#139 := (= #136 f5)
-#143 := (iff #139 #142)
-#144 := [rewrite]: #143
-#140 := (iff #30 #139)
-#137 := (= #29 #136)
-#134 := (= #28 #26)
-#135 := [rewrite]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#146 := [trans #141 #144]: #145
-#149 := [monotonicity #146]: #148
-#133 := [asserted]: #31
-#152 := [mp #133 #149]: #147
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#639 := (pattern #9)
-#10 := (f3 #9)
-#49 := (= #8 #10)
-#640 := (forall (vars (?v0 S2)) (:pat #639) #49)
-#52 := (forall (vars (?v0 S2)) #49)
-#641 := (iff #52 #640)
-#643 := (iff #640 #640)
-#644 := [rewrite]: #643
-#642 := [rewrite]: #641
-#645 := [trans #642 #644]: #641
-#164 := (~ #52 #52)
-#162 := (~ #49 #49)
-#163 := [refl]: #162
-#165 := [nnf-pos #163]: #164
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#53 := (iff #12 #52)
-#50 := (iff #11 #49)
-#51 := [rewrite]: #50
-#54 := [quant-intro #51]: #53
-#48 := [asserted]: #12
-#57 := [mp #48 #54]: #52
-#153 := [mp~ #57 #165]: #52
-#646 := [mp #153 #645]: #640
-#225 := (not #640)
-#310 := (or #225 #142)
-#311 := [quant-inst]: #310
-[unit-resolution #311 #646 #152]: false
-unsat
 be5efb86f9b9b267348d77366692337b5c5df35f 517 0
 #2 := false
 #13 := 0::int
@@ -12906,6 +12847,135 @@
 #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
+#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 := (* 0::int #26)
+#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
+71a8731b24573e8c3f19635efbc778a168d7006c 60 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#136 := (f3 #26)
+#142 := (= f5 #136)
+#147 := (not #142)
+#27 := 1::int
+#28 := (* #26 1::int)
+#29 := (f3 #28)
+#30 := (= #29 f5)
+#31 := (not #30)
+#148 := (iff #31 #147)
+#145 := (iff #30 #142)
+#139 := (= #136 f5)
+#143 := (iff #139 #142)
+#144 := [rewrite]: #143
+#140 := (iff #30 #139)
+#137 := (= #29 #136)
+#134 := (= #28 #26)
+#135 := [rewrite]: #134
+#138 := [monotonicity #135]: #137
+#141 := [monotonicity #138]: #140
+#146 := [trans #141 #144]: #145
+#149 := [monotonicity #146]: #148
+#133 := [asserted]: #31
+#152 := [mp #133 #149]: #147
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#639 := (pattern #9)
+#10 := (f3 #9)
+#49 := (= #8 #10)
+#640 := (forall (vars (?v0 S2)) (:pat #639) #49)
+#52 := (forall (vars (?v0 S2)) #49)
+#641 := (iff #52 #640)
+#643 := (iff #640 #640)
+#644 := [rewrite]: #643
+#642 := [rewrite]: #641
+#645 := [trans #642 #644]: #641
+#164 := (~ #52 #52)
+#162 := (~ #49 #49)
+#163 := [refl]: #162
+#165 := [nnf-pos #163]: #164
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#53 := (iff #12 #52)
+#50 := (iff #11 #49)
+#51 := [rewrite]: #50
+#54 := [quant-intro #51]: #53
+#48 := [asserted]: #12
+#57 := [mp #48 #54]: #52
+#153 := [mp~ #57 #165]: #52
+#646 := [mp #153 #645]: #640
+#225 := (not #640)
+#310 := (or #225 #142)
+#311 := [quant-inst]: #310
+[unit-resolution #311 #646 #152]: false
+unsat
 32c022ad17c4cf631a4452767891ed2e2599b6b6 60 0
 #2 := false
 decl f3 :: (-> int S2)
@@ -16314,33 +16384,6 @@
 #29 := [asserted]: #12
 [mp #29 #53]: 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
 715dc24e87073f9f3b4eba5f97976011aef52fdb 40 0
 #2 := false
 #12 := 567::int
@@ -16382,33 +16425,6 @@
 #31 := [asserted]: #14
 [mp #31 #59]: 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
 bb65114f0b3cbddac138f9f5170c5cee40e42881 30 0
 #2 := false
 #10 := 2345678901::int
@@ -16440,6 +16456,60 @@
 #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
@@ -16504,33 +16574,6 @@
 #33 := [asserted]: #16
 [mp #33 #49]: 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
 874be756bcaf30e65c16d8e08cb52dff2d8a608c 45 0
 #2 := false
 decl f4 :: int
@@ -16577,6 +16620,33 @@
 #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
@@ -16725,33 +16795,6 @@
 #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
 668c2d2887e11c00b7ba359c2de9bccabf20f1e2 61 0
 #2 := false
 decl f3 :: int
@@ -16814,6 +16857,33 @@
 #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
@@ -16912,33 +16982,6 @@
 #32 := [asserted]: #15
 [mp #32 #81]: 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
 4040174103807c5abeeb69b9185128b009b95b5f 44 0
 #2 := false
 decl f3 :: int
@@ -16984,33 +17027,6 @@
 #31 := [asserted]: #14
 [mp #31 #61]: false
 unsat
-dece965f3c6151f83b0de59bbe4f0ba10e7e97f9 26 0
-#2 := false
-#8 := 0::int
-decl f3 :: int
-#9 := f3
-#10 := (* 0::int f3)
-#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
 054a96393770a76ee29957e3d16bb134c9dadb35 42 0
 #2 := false
 decl f3 :: int
@@ -17054,33 +17070,6 @@
 #31 := [asserted]: #14
 [mp #31 #59]: false
 unsat
-461fdb6982dad0d1b399fb5db09287115e6b6cc3 26 0
-#2 := false
-decl f3 :: int
-#8 := f3
-#9 := 1::int
-#10 := (* f3 1::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
 ad203296ea503ecdd81c71c4ae272e08de16a654 48 0
 #2 := false
 decl f5 :: int
@@ -17130,6 +17119,87 @@
 #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
+#2 := false
+#8 := 0::int
+decl f3 :: int
+#9 := f3
+#10 := (* 0::int f3)
+#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
+461fdb6982dad0d1b399fb5db09287115e6b6cc3 26 0
+#2 := false
+decl f3 :: int
+#8 := f3
+#9 := 1::int
+#10 := (* f3 1::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
 0b54863485aa10cf645d5bc7b322d1ba8118b0d8 26 0
 #2 := false
 decl f3 :: int
@@ -17198,6 +17268,71 @@
 #31 := [asserted]: #14
 [mp #31 #58]: false
 unsat
+372ec6980c70cef9ac29be50305f6f70f148ceb4 35 0
+#2 := false
+decl f3 :: int
+#10 := f3
+#12 := (- f3)
+#8 := 1::int
+#9 := (- 1::int)
+#11 := (* #9 f3)
+#13 := (= #11 #12)
+#14 := (not #13)
+#52 := (iff #14 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #14 #47)
+#45 := (iff #13 true)
+#32 := -1::int
+#35 := (* -1::int f3)
+#40 := (= #35 #35)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#41 := (iff #13 #40)
+#38 := (= #12 #35)
+#39 := [rewrite]: #38
+#36 := (= #11 #35)
+#33 := (= #9 -1::int)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#42 := [monotonicity #37 #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #46]: #48
+#53 := [trans #49 #51]: #52
+#31 := [asserted]: #14
+[mp #31 #53]: false
+unsat
+92c9831074e5b2d154f59e6c16ca64cf6c2306e5 28 0
+#2 := false
+#8 := 3::int
+decl f3 :: int
+#9 := f3
+#11 := (* f3 3::int)
+#10 := (* 3::int f3)
+#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
 98af8ac1621f25bec4b921bca3d925b1b20ce7aa 75 0
 #2 := false
 #8 := 0::int
@@ -17274,42 +17409,6 @@
 #96 := [unit-resolution #95 #92]: #90
 [th-lemma #89 #70 #96]: false
 unsat
-372ec6980c70cef9ac29be50305f6f70f148ceb4 35 0
-#2 := false
-decl f3 :: int
-#10 := f3
-#12 := (- f3)
-#8 := 1::int
-#9 := (- 1::int)
-#11 := (* #9 f3)
-#13 := (= #11 #12)
-#14 := (not #13)
-#52 := (iff #14 false)
-#1 := true
-#47 := (not true)
-#50 := (iff #47 false)
-#51 := [rewrite]: #50
-#48 := (iff #14 #47)
-#45 := (iff #13 true)
-#32 := -1::int
-#35 := (* -1::int f3)
-#40 := (= #35 #35)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#41 := (iff #13 #40)
-#38 := (= #12 #35)
-#39 := [rewrite]: #38
-#36 := (= #11 #35)
-#33 := (= #9 -1::int)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#42 := [monotonicity #37 #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#31 := [asserted]: #14
-[mp #31 #53]: false
-unsat
 85ed4b98db23623099a1ab59de709435336b46b9 132 0
 #2 := false
 #9 := 0::int
@@ -17443,35 +17542,6 @@
 #162 := [th-lemma]: #161
 [unit-resolution #162 #160 #143]: false
 unsat
-92c9831074e5b2d154f59e6c16ca64cf6c2306e5 28 0
-#2 := false
-#8 := 3::int
-decl f3 :: int
-#9 := f3
-#11 := (* f3 3::int)
-#10 := (* 3::int f3)
-#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
 63bab884626cc49af1ccdd9b8ddfe0dc08303f89 103 0
 #2 := false
 #8 := 0::int
@@ -18061,64 +18131,6 @@
 #122 := [unit-resolution #121 #118]: #115
 [th-lemma #122 #92 #93]: false
 unsat
-3d8b7b7060fb0e75fadc99b439fcfbd64f5e5bd8 57 0
-#2 := false
-#36 := 0::int
-decl f4 :: int
-#9 := f4
-#33 := -1::int
-#34 := (* -1::int f4)
-decl f3 :: int
-#8 := f3
-#35 := (+ f3 #34)
-#37 := (<= #35 0::int)
-#40 := (ite #37 f4 f3)
-#61 := (= f3 #40)
-#65 := (not #61)
-#46 := (* -1::int #40)
-#47 := (+ f3 #46)
-#48 := (<= #47 0::int)
-#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::int)
-#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
 11fa6e1b37f0031ac059637e25afb0cf1222dc3f 86 0
 #2 := false
 decl f3 :: int
@@ -18206,64 +18218,6 @@
 #105 := [trans #104 #83]: #51
 [unit-resolution #57 #105]: false
 unsat
-d9ad9cbc455d3076d4a7e86bc3367086cdbf80aa 57 0
-#2 := false
-#35 := 0::int
-decl f4 :: int
-#9 := f4
-decl f3 :: int
-#8 := f3
-#33 := -1::int
-#37 := (* -1::int f4)
-#38 := (+ f3 #37)
-#36 := (>= #38 0::int)
-#40 := (ite #36 f3 f4)
-#46 := (* -1::int #40)
-#47 := (+ f3 #46)
-#48 := (<= #47 0::int)
-#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::int)
-#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
 57fed093c0e757f5135ad67112d460f34a931a41 68 0
 #2 := false
 #8 := 0::int
@@ -18333,110 +18287,6 @@
 #88 := [trans #87 #84]: #13
 [unit-resolution #71 #88]: false
 unsat
-512e03c208778cc0f727c8eba68f23d12462f16f 103 0
-#2 := false
-#45 := 0::int
-decl f3 :: int
-#8 := f3
-decl f5 :: int
-#11 := f5
-#43 := -1::int
-#51 := (* -1::int f5)
-#63 := (+ f3 #51)
-#64 := (<= #63 0::int)
-#67 := (ite #64 f5 f3)
-#73 := (* -1::int #67)
-decl f4 :: int
-#9 := f4
-#74 := (+ f4 #73)
-#75 := (<= #74 0::int)
-#76 := (not #75)
-#52 := (+ f4 #51)
-#53 := (<= #52 0::int)
-#54 := (not #53)
-#47 := (* -1::int f4)
-#48 := (+ f3 #47)
-#46 := (>= #48 0::int)
-#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::int)
-#104 := (= f3 #67)
-#105 := (not #64)
-#103 := (= f5 #67)
-#110 := (not #103)
-#100 := (+ f5 #73)
-#98 := (>= #100 0::int)
-#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
 db9aca2dd61369561517d2cc1ec903d7f769a531 124 0
 #2 := false
 #13 := 0::int
@@ -18562,6 +18412,226 @@
 #145 := [unit-resolution #117 #144]: #106
 [th-lemma #131 #143 #141 #85 #145]: false
 unsat
+3d8b7b7060fb0e75fadc99b439fcfbd64f5e5bd8 57 0
+#2 := false
+#36 := 0::int
+decl f4 :: int
+#9 := f4
+#33 := -1::int
+#34 := (* -1::int f4)
+decl f3 :: int
+#8 := f3
+#35 := (+ f3 #34)
+#37 := (<= #35 0::int)
+#40 := (ite #37 f4 f3)
+#61 := (= f3 #40)
+#65 := (not #61)
+#46 := (* -1::int #40)
+#47 := (+ f3 #46)
+#48 := (<= #47 0::int)
+#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::int)
+#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
+d9ad9cbc455d3076d4a7e86bc3367086cdbf80aa 57 0
+#2 := false
+#35 := 0::int
+decl f4 :: int
+#9 := f4
+decl f3 :: int
+#8 := f3
+#33 := -1::int
+#37 := (* -1::int f4)
+#38 := (+ f3 #37)
+#36 := (>= #38 0::int)
+#40 := (ite #36 f3 f4)
+#46 := (* -1::int #40)
+#47 := (+ f3 #46)
+#48 := (<= #47 0::int)
+#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::int)
+#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
+512e03c208778cc0f727c8eba68f23d12462f16f 103 0
+#2 := false
+#45 := 0::int
+decl f3 :: int
+#8 := f3
+decl f5 :: int
+#11 := f5
+#43 := -1::int
+#51 := (* -1::int f5)
+#63 := (+ f3 #51)
+#64 := (<= #63 0::int)
+#67 := (ite #64 f5 f3)
+#73 := (* -1::int #67)
+decl f4 :: int
+#9 := f4
+#74 := (+ f4 #73)
+#75 := (<= #74 0::int)
+#76 := (not #75)
+#52 := (+ f4 #51)
+#53 := (<= #52 0::int)
+#54 := (not #53)
+#47 := (* -1::int f4)
+#48 := (+ f3 #47)
+#46 := (>= #48 0::int)
+#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::int)
+#104 := (= f3 #67)
+#105 := (not #64)
+#103 := (= f5 #67)
+#110 := (not #103)
+#100 := (+ f5 #73)
+#98 := (>= #100 0::int)
+#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
 aa80380d55249b8c8a3b69b0ba102b48ab444bd4 88 0
 #2 := false
 decl f4 :: int
@@ -19075,50 +19145,6 @@
 #33 := [asserted]: #16
 [mp #33 #68]: 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
 dbe1e0599b3d29d7583fb07a395943a3aea1f4e4 56 0
 #2 := false
 decl f4 :: int
@@ -19176,24 +19202,6 @@
 #33 := [asserted]: #16
 [mp #33 #73]: 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
 9e881bb7df2f7ec1f6b2377876015489227bbe22 52 0
 #2 := false
 #40 := 0::int
@@ -19247,41 +19255,6 @@
 #77 := [unit-resolution #76 #65]: #53
 [unit-resolution #77 #67]: 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
 51bf0a9abf1819d8ded3eaa12d8b05e8c0179093 73 0
 #2 := false
 #58 := 0::int
@@ -19356,44 +19329,6 @@
 #78 := [unit-resolution #82 #74]: #83
 [unit-resolution #78 #92 #89]: 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
 a680c2822602cd080d52600c3f371f228a52ab07 15 0
 #2 := false
 decl f3 :: int
@@ -19410,47 +19345,6 @@
 #28 := [asserted]: #11
 [mp #28 #34]: 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
 3ca9f6025aa0aae7c19eaaf9e7bcf7496930f051 75 0
 #2 := false
 #53 := 0::int
@@ -19527,25 +19421,6 @@
 #89 := [not-or-elim #88]: #54
 [th-lemma #89 #91 #92]: 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
 35d0ec85b1b4756984ec0a2aa12570b74d8f6576 80 0
 #2 := false
 #53 := 0::int
@@ -19627,37 +19502,6 @@
 #94 := [not-or-elim #93]: #54
 [th-lemma #94 #96 #97]: 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
 31af85823bea7952455c5b8289eec98083c10812 80 0
 #2 := false
 #52 := 0::int
@@ -19739,33 +19583,6 @@
 #96 := [not-or-elim #93]: #95
 [th-lemma #96 #94 #97]: 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
 e48677f09b08fd6733ef8c5373faf8e64833ab2c 85 0
 #2 := false
 #52 := 0::int
@@ -19852,63 +19669,6 @@
 #101 := [not-or-elim #99]: #66
 [th-lemma #101 #100 #102]: 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
 4ae7128a23bf2930a8498c167f5a28b2e14524e3 69 0
 #2 := false
 #44 := 0::int
@@ -19979,6 +19739,316 @@
 #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
 #2 := false
 decl f5 :: real
@@ -20118,33 +20188,6 @@
 #31 := [asserted]: #14
 [mp #31 #77]: 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
 e9e8aa80c40e8ef0e6e99e4aa18d0a13b21b0376 61 0
 #2 := false
 #8 := 0::real
@@ -20207,39 +20250,6 @@
 #31 := [asserted]: #14
 [mp #31 #79]: false
 unsat
-acca7aae09e2e9a49a4d632200e33dc782e588aa 32 0
-#2 := false
-decl f3 :: real
-#9 := f3
-#11 := (- f3)
-#8 := 0::real
-#10 := (- 0::real 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::real
-#32 := (* -1::real 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
 0ace06c6b03ac83c82084015bdca2809234a4101 61 0
 #2 := false
 decl f3 :: real
@@ -20302,6 +20312,66 @@
 #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
+#2 := false
+decl f3 :: real
+#9 := f3
+#11 := (- f3)
+#8 := 0::real
+#10 := (- 0::real 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::real
+#32 := (* -1::real 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
 7e2acc6f3578e9594f16685aec01d464f0afcefe 64 0
 #2 := false
 #12 := 0::real
@@ -20455,37 +20525,6 @@
 #31 := [asserted]: #14
 [mp #31 #59]: false
 unsat
-9bd93d3b0ddd945e550dcfe8a6ffb45c7f693fe1 30 0
-#2 := false
-#8 := 1::real
-#9 := 2::real
-#10 := (/ 1::real 2::real)
-#11 := (< #10 1::real)
-#12 := (not #11)
-#48 := (iff #12 false)
-#30 := 1/2::real
-#33 := (< 1/2::real 1::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 := (= #10 1/2::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
 00dd8ae97a6500a3bdd8c17f92b12c5c85a7310b 48 0
 #2 := false
 decl f5 :: real
@@ -20535,6 +20574,37 @@
 #33 := [asserted]: #16
 [mp #33 #64]: false
 unsat
+9bd93d3b0ddd945e550dcfe8a6ffb45c7f693fe1 30 0
+#2 := false
+#8 := 1::real
+#9 := 2::real
+#10 := (/ 1::real 2::real)
+#11 := (< #10 1::real)
+#12 := (not #11)
+#48 := (iff #12 false)
+#30 := 1/2::real
+#33 := (< 1/2::real 1::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 := (= #10 1/2::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
 8df4cccdaeae7b8dba6943e970d61ef9c5d5c03a 27 0
 #2 := false
 #9 := 3::real
@@ -20649,43 +20719,6 @@
 #30 := [asserted]: #13
 [mp #30 #55]: 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
 c568dbbce6e2e01b901ce930d7e767e667036eac 43 0
 #2 := false
 #10 := 3::real
@@ -20730,6 +20763,192 @@
 #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
@@ -20766,33 +20985,6 @@
 #30 := [asserted]: #13
 [mp #30 #53]: 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
 a4bc584e73aac52f28ef031b730a576d8872cda7 62 0
 #2 := false
 #8 := 0::real
@@ -20856,67 +21048,6 @@
 #80 := [not-or-elim #79]: #55
 [th-lemma #80 #81]: 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
 3264c4e64061840798cc6aff819c1a9ea6efdf83 62 0
 #2 := false
 #9 := 0::real
@@ -20980,67 +21111,6 @@
 #80 := [not-or-elim #79]: #54
 [th-lemma #80 #81]: 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
 38c4aea1d2d6bacd07395ef4b2393dfbcb439bc0 75 0
 #2 := false
 #8 := 0::real
@@ -21117,64 +21187,6 @@
 #96 := [unit-resolution #95 #92]: #90
 [th-lemma #89 #70 #96]: 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
 dfa0c0d7e307b713d1c0a6fb4345c0cb4048e97d 132 0
 #2 := false
 #9 := 0::real
@@ -21308,64 +21320,6 @@
 #162 := [th-lemma]: #161
 [unit-resolution #162 #160 #143]: 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
 9adcfa237e60c42bd298fd44b174819c2b7e48c6 103 0
 #2 := false
 #8 := 0::real
@@ -21470,110 +21424,6 @@
 #124 := [unit-resolution #123 #120]: #115
 [th-lemma #110 #124]: false
 unsat
-ee668ce9e0fa0c7fac3c07515b5e406674a29e92 103 0
-#2 := false
-#45 := 0::real
-decl f5 :: real
-#11 := f5
-decl f4 :: real
-#9 := f4
-#43 := -1::real
-#53 := (* -1::real f5)
-#63 := (+ f4 #53)
-#64 := (<= #63 0::real)
-#67 := (ite #64 f4 f5)
-#75 := (* -1::real #67)
-decl f3 :: real
-#8 := f3
-#76 := (+ f3 #75)
-#74 := (>= #76 0::real)
-#73 := (not #74)
-#54 := (+ f3 #53)
-#52 := (>= #54 0::real)
-#51 := (not #52)
-#47 := (* -1::real f4)
-#48 := (+ f3 #47)
-#46 := (>= #48 0::real)
-#44 := (not #46)
-#57 := (and #44 #51)
-#60 := (not #57)
-#81 := (or #60 #73)
-#84 := (not #81)
-#14 := (<= f4 f5)
-#15 := (ite #14 f4 f5)
-#16 := (< f3 #15)
-#12 := (< f3 f5)
-#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 #73)
-#70 := (< f3 #67)
-#77 := (iff #70 #73)
-#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 #51)
-#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]: #74
-#90 := [not-or-elim #89]: #57
-#92 := [and-elim #90]: #51
-#98 := (+ f5 #75)
-#115 := (<= #98 0::real)
-#104 := (= f5 #67)
-#105 := (not #64)
-#103 := (= f4 #67)
-#110 := (not #103)
-#100 := (+ f4 #75)
-#97 := (<= #100 0::real)
-#107 := (not #97)
-#91 := [and-elim #90]: #44
-#96 := [hypothesis]: #97
-#94 := [th-lemma #96 #91 #93]: false
-#108 := [lemma #94]: #107
-#109 := [hypothesis]: #103
-#111 := (or #110 #97)
-#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 #115)
-#121 := [th-lemma]: #120
-#122 := [unit-resolution #121 #118]: #115
-[th-lemma #122 #92 #93]: false
-unsat
 c4a9e24c8934134e79e09f07b7517e3fb630224e 149 0
 #2 := false
 #9 := 0::real
@@ -21724,6 +21574,341 @@
 #170 := [unit-resolution #169 #155]: #97
 [th-lemma #159 #170 #167]: false
 unsat
+fe8f01cf58e022d252300f3afc6a7b8ad4a81839 114 0
+#2 := false
+#9 := 0::real
+decl f3 :: real
+#8 := f3
+#35 := -1::real
+#36 := (* -1::real f3)
+#67 := (>= f3 0::real)
+#74 := (ite #67 f3 #36)
+#88 := (* -1::real #74)
+#127 := (+ #36 #88)
+#137 := (<= #127 0::real)
+#114 := (= #36 #74)
+#68 := (not #67)
+#125 := (+ f3 #88)
+#126 := (<= #125 0::real)
+#113 := (= f3 #74)
+#128 := [hypothesis]: #67
+#115 := (or #68 #113)
+#116 := [def-axiom]: #115
+#129 := [unit-resolution #116 #128]: #113
+#130 := (not #113)
+#131 := (or #130 #126)
+#132 := [th-lemma]: #131
+#133 := [unit-resolution #132 #129]: #126
+#83 := (>= #74 0::real)
+#82 := (not #83)
+#94 := (ite #83 #74 #88)
+#99 := (= #74 #94)
+#102 := (not #99)
+#11 := (- f3)
+#10 := (< f3 0::real)
+#12 := (ite #10 #11 f3)
+#14 := (- #12)
+#13 := (< #12 0::real)
+#15 := (ite #13 #14 #12)
+#16 := (= #15 #12)
+#17 := (not #16)
+#105 := (iff #17 #102)
+#39 := (ite #10 #36 f3)
+#48 := (* -1::real #39)
+#42 := (< #39 0::real)
+#53 := (ite #42 #48 #39)
+#59 := (= #39 #53)
+#64 := (not #59)
+#103 := (iff #64 #102)
+#100 := (iff #59 #99)
+#97 := (= #53 #94)
+#91 := (ite #82 #88 #74)
+#95 := (= #91 #94)
+#96 := [rewrite]: #95
+#92 := (= #53 #91)
+#77 := (= #39 #74)
+#71 := (ite #68 #36 f3)
+#75 := (= #71 #74)
+#76 := [rewrite]: #75
+#72 := (= #39 #71)
+#69 := (iff #10 #68)
+#70 := [rewrite]: #69
+#73 := [monotonicity #70]: #72
+#78 := [trans #73 #76]: #77
+#89 := (= #48 #88)
+#90 := [monotonicity #78]: #89
+#86 := (iff #42 #82)
+#79 := (< #74 0::real)
+#84 := (iff #79 #82)
+#85 := [rewrite]: #84
+#80 := (iff #42 #79)
+#81 := [monotonicity #78]: #80
+#87 := [trans #81 #85]: #86
+#93 := [monotonicity #87 #90 #78]: #92
+#98 := [trans #93 #96]: #97
+#101 := [monotonicity #78 #98]: #100
+#104 := [monotonicity #101]: #103
+#65 := (iff #17 #64)
+#62 := (iff #16 #59)
+#56 := (= #53 #39)
+#60 := (iff #56 #59)
+#61 := [rewrite]: #60
+#57 := (iff #16 #56)
+#40 := (= #12 #39)
+#37 := (= #11 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#54 := (= #15 #53)
+#51 := (= #14 #48)
+#45 := (- #39)
+#49 := (= #45 #48)
+#50 := [rewrite]: #49
+#46 := (= #14 #45)
+#47 := [monotonicity #41]: #46
+#52 := [trans #47 #50]: #51
+#43 := (iff #13 #42)
+#44 := [monotonicity #41]: #43
+#55 := [monotonicity #44 #52 #41]: #54
+#58 := [monotonicity #55 #41]: #57
+#63 := [trans #58 #61]: #62
+#66 := [monotonicity #63]: #65
+#106 := [trans #66 #104]: #105
+#34 := [asserted]: #17
+#107 := [mp #34 #106]: #102
+#108 := (or #82 #99)
+#117 := [def-axiom]: #108
+#134 := [unit-resolution #117 #107]: #82
+#135 := [th-lemma #128 #134 #133]: false
+#136 := [lemma #135]: #68
+#111 := (or #67 #114)
+#112 := [def-axiom]: #111
+#139 := [unit-resolution #112 #136]: #114
+#140 := (not #114)
+#141 := (or #140 #137)
+#142 := [th-lemma]: #141
+#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
+#2 := false
+#45 := 0::real
+decl f5 :: real
+#11 := f5
+decl f4 :: real
+#9 := f4
+#43 := -1::real
+#53 := (* -1::real f5)
+#63 := (+ f4 #53)
+#64 := (<= #63 0::real)
+#67 := (ite #64 f4 f5)
+#75 := (* -1::real #67)
+decl f3 :: real
+#8 := f3
+#76 := (+ f3 #75)
+#74 := (>= #76 0::real)
+#73 := (not #74)
+#54 := (+ f3 #53)
+#52 := (>= #54 0::real)
+#51 := (not #52)
+#47 := (* -1::real f4)
+#48 := (+ f3 #47)
+#46 := (>= #48 0::real)
+#44 := (not #46)
+#57 := (and #44 #51)
+#60 := (not #57)
+#81 := (or #60 #73)
+#84 := (not #81)
+#14 := (<= f4 f5)
+#15 := (ite #14 f4 f5)
+#16 := (< f3 #15)
+#12 := (< f3 f5)
+#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 #73)
+#70 := (< f3 #67)
+#77 := (iff #70 #73)
+#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 #51)
+#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]: #74
+#90 := [not-or-elim #89]: #57
+#92 := [and-elim #90]: #51
+#98 := (+ f5 #75)
+#115 := (<= #98 0::real)
+#104 := (= f5 #67)
+#105 := (not #64)
+#103 := (= f4 #67)
+#110 := (not #103)
+#100 := (+ f4 #75)
+#97 := (<= #100 0::real)
+#107 := (not #97)
+#91 := [and-elim #90]: #44
+#96 := [hypothesis]: #97
+#94 := [th-lemma #96 #91 #93]: false
+#108 := [lemma #94]: #107
+#109 := [hypothesis]: #103
+#111 := (or #110 #97)
+#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 #115)
+#121 := [th-lemma]: #120
+#122 := [unit-resolution #121 #118]: #115
+[th-lemma #122 #92 #93]: false
+unsat
 6621a3ffc07b1d1f7378f6c00c067bb0ce9ac306 86 0
 #2 := false
 decl f3 :: real
@@ -21880,121 +22065,6 @@
 #88 := [trans #87 #84]: #13
 [unit-resolution #71 #88]: false
 unsat
-fe8f01cf58e022d252300f3afc6a7b8ad4a81839 114 0
-#2 := false
-#9 := 0::real
-decl f3 :: real
-#8 := f3
-#35 := -1::real
-#36 := (* -1::real f3)
-#67 := (>= f3 0::real)
-#74 := (ite #67 f3 #36)
-#88 := (* -1::real #74)
-#127 := (+ #36 #88)
-#137 := (<= #127 0::real)
-#114 := (= #36 #74)
-#68 := (not #67)
-#125 := (+ f3 #88)
-#126 := (<= #125 0::real)
-#113 := (= f3 #74)
-#128 := [hypothesis]: #67
-#115 := (or #68 #113)
-#116 := [def-axiom]: #115
-#129 := [unit-resolution #116 #128]: #113
-#130 := (not #113)
-#131 := (or #130 #126)
-#132 := [th-lemma]: #131
-#133 := [unit-resolution #132 #129]: #126
-#83 := (>= #74 0::real)
-#82 := (not #83)
-#94 := (ite #83 #74 #88)
-#99 := (= #74 #94)
-#102 := (not #99)
-#11 := (- f3)
-#10 := (< f3 0::real)
-#12 := (ite #10 #11 f3)
-#14 := (- #12)
-#13 := (< #12 0::real)
-#15 := (ite #13 #14 #12)
-#16 := (= #15 #12)
-#17 := (not #16)
-#105 := (iff #17 #102)
-#39 := (ite #10 #36 f3)
-#48 := (* -1::real #39)
-#42 := (< #39 0::real)
-#53 := (ite #42 #48 #39)
-#59 := (= #39 #53)
-#64 := (not #59)
-#103 := (iff #64 #102)
-#100 := (iff #59 #99)
-#97 := (= #53 #94)
-#91 := (ite #82 #88 #74)
-#95 := (= #91 #94)
-#96 := [rewrite]: #95
-#92 := (= #53 #91)
-#77 := (= #39 #74)
-#71 := (ite #68 #36 f3)
-#75 := (= #71 #74)
-#76 := [rewrite]: #75
-#72 := (= #39 #71)
-#69 := (iff #10 #68)
-#70 := [rewrite]: #69
-#73 := [monotonicity #70]: #72
-#78 := [trans #73 #76]: #77
-#89 := (= #48 #88)
-#90 := [monotonicity #78]: #89
-#86 := (iff #42 #82)
-#79 := (< #74 0::real)
-#84 := (iff #79 #82)
-#85 := [rewrite]: #84
-#80 := (iff #42 #79)
-#81 := [monotonicity #78]: #80
-#87 := [trans #81 #85]: #86
-#93 := [monotonicity #87 #90 #78]: #92
-#98 := [trans #93 #96]: #97
-#101 := [monotonicity #78 #98]: #100
-#104 := [monotonicity #101]: #103
-#65 := (iff #17 #64)
-#62 := (iff #16 #59)
-#56 := (= #53 #39)
-#60 := (iff #56 #59)
-#61 := [rewrite]: #60
-#57 := (iff #16 #56)
-#40 := (= #12 #39)
-#37 := (= #11 #36)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#54 := (= #15 #53)
-#51 := (= #14 #48)
-#45 := (- #39)
-#49 := (= #45 #48)
-#50 := [rewrite]: #49
-#46 := (= #14 #45)
-#47 := [monotonicity #41]: #46
-#52 := [trans #47 #50]: #51
-#43 := (iff #13 #42)
-#44 := [monotonicity #41]: #43
-#55 := [monotonicity #44 #52 #41]: #54
-#58 := [monotonicity #55 #41]: #57
-#63 := [trans #58 #61]: #62
-#66 := [monotonicity #63]: #65
-#106 := [trans #66 #104]: #105
-#34 := [asserted]: #17
-#107 := [mp #34 #106]: #102
-#108 := (or #82 #99)
-#117 := [def-axiom]: #108
-#134 := [unit-resolution #117 #107]: #82
-#135 := [th-lemma #128 #134 #133]: false
-#136 := [lemma #135]: #68
-#111 := (or #67 #114)
-#112 := [def-axiom]: #111
-#139 := [unit-resolution #112 #136]: #114
-#140 := (not #114)
-#141 := (or #140 #137)
-#142 := [th-lemma]: #141
-#143 := [unit-resolution #142 #139]: #137
-[th-lemma #136 #134 #143]: false
-unsat
 0bc87aa75b23fa78f642cf1f3aa485350d8be4f2 124 0
 #2 := false
 #13 := 0::real
@@ -22236,25 +22306,6 @@
 #77 := [th-lemma]: #76
 [unit-resolution #77 #74 #56]: 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
 7294c1769d42d53cd19fbaf8cd8b1759222d3816 103 0
 #2 := false
 #45 := 0::real
@@ -22359,57 +22410,6 @@
 #122 := [unit-resolution #121 #118]: #116
 [th-lemma #122 #91 #93]: false
 unsat
-de5d01d854b7029d707ff72bb7662d8b73532863 50 0
-#2 := false
-#44 := 0::real
-decl f4 :: real
-#9 := f4
-#41 := -1::real
-#42 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#43 := (+ f3 #42)
-#45 := (<= #43 0::real)
-#51 := -3::real
-#52 := (* -3::real f4)
-#11 := 3::real
-#12 := (* 3::real f3)
-#53 := (+ #12 #52)
-#54 := (<= #53 0::real)
-#48 := (not #45)
-#57 := (or #48 #54)
-#60 := (not #57)
-#13 := (* 3::real f4)
-#14 := (<= #12 #13)
-#10 := (<= f3 f4)
-#15 := (implies #10 #14)
-#16 := (not #15)
-#63 := (iff #16 #60)
-#34 := (not #10)
-#35 := (or #34 #14)
-#38 := (not #35)
-#61 := (iff #38 #60)
-#58 := (iff #35 #57)
-#55 := (iff #14 #54)
-#56 := [rewrite]: #55
-#49 := (iff #34 #48)
-#46 := (iff #10 #45)
-#47 := [rewrite]: #46
-#50 := [monotonicity #47]: #49
-#59 := [monotonicity #50 #56]: #58
-#62 := [monotonicity #59]: #61
-#39 := (iff #16 #38)
-#36 := (iff #15 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#64 := [trans #40 #62]: #63
-#33 := [asserted]: #16
-#65 := [mp #33 #64]: #60
-#66 := [not-or-elim #65]: #45
-#67 := (not #54)
-#68 := [not-or-elim #65]: #67
-[th-lemma #68 #66]: false
-unsat
 aa7d3312f6710561997326a18f2cc9732070e79e 88 0
 #2 := false
 decl f4 :: real
@@ -22499,62 +22499,6 @@
 #109 := [trans #108 #83]: #51
 [unit-resolution #57 #109]: false
 unsat
-78432a7ec8ec5313cf1224b5d36cefc0e44a3f9a 55 0
-#2 := false
-#43 := 0::real
-decl f4 :: real
-#9 := f4
-#56 := -3::real
-#59 := (* -3::real f4)
-decl f3 :: real
-#8 := f3
-#11 := 3::real
-#12 := (* 3::real f3)
-#60 := (+ #12 #59)
-#58 := (>= #60 0::real)
-#57 := (not #58)
-#41 := -1::real
-#45 := (* -1::real f4)
-#46 := (+ f3 #45)
-#44 := (>= #46 0::real)
-#63 := (or #44 #57)
-#66 := (not #63)
-#13 := (* 3::real f4)
-#14 := (< #12 #13)
-#10 := (< f3 f4)
-#15 := (implies #10 #14)
-#16 := (not #15)
-#69 := (iff #16 #66)
-#34 := (not #10)
-#35 := (or #34 #14)
-#38 := (not #35)
-#67 := (iff #38 #66)
-#64 := (iff #35 #63)
-#61 := (iff #14 #57)
-#62 := [rewrite]: #61
-#54 := (iff #34 #44)
-#42 := (not #44)
-#49 := (not #42)
-#52 := (iff #49 #44)
-#53 := [rewrite]: #52
-#50 := (iff #34 #49)
-#47 := (iff #10 #42)
-#48 := [rewrite]: #47
-#51 := [monotonicity #48]: #50
-#55 := [trans #51 #53]: #54
-#65 := [monotonicity #55 #62]: #64
-#68 := [monotonicity #65]: #67
-#39 := (iff #16 #38)
-#36 := (iff #15 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#70 := [trans #40 #68]: #69
-#33 := [asserted]: #16
-#71 := [mp #33 #70]: #66
-#73 := [not-or-elim #71]: #58
-#72 := [not-or-elim #71]: #42
-[th-lemma #72 #73]: false
-unsat
 16abee9f0675672a15a1cf601bbd7cd463542971 66 0
 #2 := false
 decl f3 :: real
@@ -22622,59 +22566,6 @@
 #86 := [trans #83 #85]: #33
 [unit-resolution #69 #86]: false
 unsat
-6b577a8e26cad5ef5e776e0c3cf6f19a5beeec9c 52 0
-#2 := false
-#40 := 0::real
-decl f4 :: real
-#9 := f4
-#38 := -1::real
-#42 := (* -1::real f4)
-decl f3 :: real
-#8 := f3
-#43 := (+ f3 #42)
-#53 := (<= #43 0::real)
-#66 := (not #53)
-#41 := (>= #43 0::real)
-#56 := (or #41 #53)
-#59 := (not #56)
-#11 := (<= f3 f4)
-#10 := (< f3 f4)
-#12 := (implies #10 #11)
-#13 := (not #12)
-#62 := (iff #13 #59)
-#31 := (not #10)
-#32 := (or #31 #11)
-#35 := (not #32)
-#60 := (iff #35 #59)
-#57 := (iff #32 #56)
-#54 := (iff #11 #53)
-#55 := [rewrite]: #54
-#51 := (iff #31 #41)
-#39 := (not #41)
-#46 := (not #39)
-#49 := (iff #46 #41)
-#50 := [rewrite]: #49
-#47 := (iff #31 #46)
-#44 := (iff #10 #39)
-#45 := [rewrite]: #44
-#48 := [monotonicity #45]: #47
-#52 := [trans #48 #50]: #51
-#58 := [monotonicity #52 #55]: #57
-#61 := [monotonicity #58]: #60
-#36 := (iff #13 #35)
-#33 := (iff #12 #32)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#63 := [trans #37 #61]: #62
-#30 := [asserted]: #13
-#64 := [mp #30 #63]: #59
-#67 := [not-or-elim #64]: #66
-#65 := [not-or-elim #64]: #39
-#75 := (or #53 #41)
-#76 := [th-lemma]: #75
-#77 := [unit-resolution #76 #65]: #53
-[unit-resolution #77 #67]: false
-unsat
 69ba0c9fc19b8d967fe68219b563ee3645949198 228 0
 #2 := false
 #9 := 0::real
@@ -22904,6 +22795,185 @@
 #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
+#2 := false
+#44 := 0::real
+decl f4 :: real
+#9 := f4
+#41 := -1::real
+#42 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#43 := (+ f3 #42)
+#45 := (<= #43 0::real)
+#51 := -3::real
+#52 := (* -3::real f4)
+#11 := 3::real
+#12 := (* 3::real f3)
+#53 := (+ #12 #52)
+#54 := (<= #53 0::real)
+#48 := (not #45)
+#57 := (or #48 #54)
+#60 := (not #57)
+#13 := (* 3::real f4)
+#14 := (<= #12 #13)
+#10 := (<= f3 f4)
+#15 := (implies #10 #14)
+#16 := (not #15)
+#63 := (iff #16 #60)
+#34 := (not #10)
+#35 := (or #34 #14)
+#38 := (not #35)
+#61 := (iff #38 #60)
+#58 := (iff #35 #57)
+#55 := (iff #14 #54)
+#56 := [rewrite]: #55
+#49 := (iff #34 #48)
+#46 := (iff #10 #45)
+#47 := [rewrite]: #46
+#50 := [monotonicity #47]: #49
+#59 := [monotonicity #50 #56]: #58
+#62 := [monotonicity #59]: #61
+#39 := (iff #16 #38)
+#36 := (iff #15 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#64 := [trans #40 #62]: #63
+#33 := [asserted]: #16
+#65 := [mp #33 #64]: #60
+#66 := [not-or-elim #65]: #45
+#67 := (not #54)
+#68 := [not-or-elim #65]: #67
+[th-lemma #68 #66]: false
+unsat
+78432a7ec8ec5313cf1224b5d36cefc0e44a3f9a 55 0
+#2 := false
+#43 := 0::real
+decl f4 :: real
+#9 := f4
+#56 := -3::real
+#59 := (* -3::real f4)
+decl f3 :: real
+#8 := f3
+#11 := 3::real
+#12 := (* 3::real f3)
+#60 := (+ #12 #59)
+#58 := (>= #60 0::real)
+#57 := (not #58)
+#41 := -1::real
+#45 := (* -1::real f4)
+#46 := (+ f3 #45)
+#44 := (>= #46 0::real)
+#63 := (or #44 #57)
+#66 := (not #63)
+#13 := (* 3::real f4)
+#14 := (< #12 #13)
+#10 := (< f3 f4)
+#15 := (implies #10 #14)
+#16 := (not #15)
+#69 := (iff #16 #66)
+#34 := (not #10)
+#35 := (or #34 #14)
+#38 := (not #35)
+#67 := (iff #38 #66)
+#64 := (iff #35 #63)
+#61 := (iff #14 #57)
+#62 := [rewrite]: #61
+#54 := (iff #34 #44)
+#42 := (not #44)
+#49 := (not #42)
+#52 := (iff #49 #44)
+#53 := [rewrite]: #52
+#50 := (iff #34 #49)
+#47 := (iff #10 #42)
+#48 := [rewrite]: #47
+#51 := [monotonicity #48]: #50
+#55 := [trans #51 #53]: #54
+#65 := [monotonicity #55 #62]: #64
+#68 := [monotonicity #65]: #67
+#39 := (iff #16 #38)
+#36 := (iff #15 #35)
+#37 := [rewrite]: #36
+#40 := [monotonicity #37]: #39
+#70 := [trans #40 #68]: #69
+#33 := [asserted]: #16
+#71 := [mp #33 #70]: #66
+#73 := [not-or-elim #71]: #58
+#72 := [not-or-elim #71]: #42
+[th-lemma #72 #73]: false
+unsat
+6b577a8e26cad5ef5e776e0c3cf6f19a5beeec9c 52 0
+#2 := false
+#40 := 0::real
+decl f4 :: real
+#9 := f4
+#38 := -1::real
+#42 := (* -1::real f4)
+decl f3 :: real
+#8 := f3
+#43 := (+ f3 #42)
+#53 := (<= #43 0::real)
+#66 := (not #53)
+#41 := (>= #43 0::real)
+#56 := (or #41 #53)
+#59 := (not #56)
+#11 := (<= f3 f4)
+#10 := (< f3 f4)
+#12 := (implies #10 #11)
+#13 := (not #12)
+#62 := (iff #13 #59)
+#31 := (not #10)
+#32 := (or #31 #11)
+#35 := (not #32)
+#60 := (iff #35 #59)
+#57 := (iff #32 #56)
+#54 := (iff #11 #53)
+#55 := [rewrite]: #54
+#51 := (iff #31 #41)
+#39 := (not #41)
+#46 := (not #39)
+#49 := (iff #46 #41)
+#50 := [rewrite]: #49
+#47 := (iff #31 #46)
+#44 := (iff #10 #39)
+#45 := [rewrite]: #44
+#48 := [monotonicity #45]: #47
+#52 := [trans #48 #50]: #51
+#58 := [monotonicity #52 #55]: #57
+#61 := [monotonicity #58]: #60
+#36 := (iff #13 #35)
+#33 := (iff #12 #32)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#63 := [trans #37 #61]: #62
+#30 := [asserted]: #13
+#64 := [mp #30 #63]: #59
+#67 := [not-or-elim #64]: #66
+#65 := [not-or-elim #64]: #39
+#75 := (or #53 #41)
+#76 := [th-lemma]: #75
+#77 := [unit-resolution #76 #65]: #53
+[unit-resolution #77 #67]: false
+unsat
 581344987966d0feefc7d25de982e0418835e698 15 0
 #2 := false
 decl f3 :: real
@@ -23158,50 +23228,6 @@
 #96 := [not-or-elim #93]: #95
 [th-lemma #96 #94 #97]: false
 unsat
-3aeb9c9a0e29e2bb76776c94f5a20ea84ac742ba 43 0
-#2 := false
-decl f5 :: (-> S2 S2 S3)
-#15 := (:var 0 S2)
-#14 := (:var 1 S2)
-#16 := (f5 #14 #15)
-#561 := (pattern #16)
-decl f4 :: (-> S3 S2)
-#17 := (f4 #16)
-#47 := (= #14 #17)
-#562 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #561) #47)
-#50 := (forall (vars (?v0 S2) (?v1 S2)) #47)
-#565 := (iff #50 #562)
-#563 := (iff #47 #47)
-#564 := [refl]: #563
-#566 := [quant-intro #564]: #565
-#83 := (~ #50 #50)
-#81 := (~ #47 #47)
-#82 := [refl]: #81
-#84 := [nnf-pos #82]: #83
-#18 := (= #17 #14)
-#19 := (forall (vars (?v0 S2) (?v1 S2)) #18)
-#51 := (iff #19 #50)
-#48 := (iff #18 #47)
-#49 := [rewrite]: #48
-#52 := [quant-intro #49]: #51
-#46 := [asserted]: #19
-#55 := [mp #46 #52]: #50
-#73 := [mp~ #55 #84]: #50
-#567 := [mp #73 #566]: #562
-decl f6 :: S2
-#9 := f6
-decl f3 :: S2
-#8 := f3
-#10 := (f5 f3 f6)
-#11 := (f4 #10)
-#12 := (= f3 #11)
-#13 := (not #12)
-#45 := [asserted]: #13
-#144 := (not #562)
-#231 := (or #144 #12)
-#145 := [quant-inst]: #231
-[unit-resolution #145 #45 #567]: false
-unsat
 3ea988e6f95dbd7bd08d11a287c40acf0b4bd08d 85 0
 #2 := false
 #52 := 0::real
@@ -23288,50 +23314,6 @@
 #101 := [not-or-elim #99]: #66
 [th-lemma #101 #100 #102]: false
 unsat
-833f5435eb8a2a79499caa251090162736238118 43 0
-#2 := false
-decl f5 :: (-> S2 S2 S3)
-#15 := (:var 0 S2)
-#14 := (:var 1 S2)
-#16 := (f5 #14 #15)
-#561 := (pattern #16)
-decl f4 :: (-> S3 S2)
-#20 := (f4 #16)
-#54 := (= #15 #20)
-#568 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #561) #54)
-#58 := (forall (vars (?v0 S2) (?v1 S2)) #54)
-#571 := (iff #58 #568)
-#569 := (iff #54 #54)
-#570 := [refl]: #569
-#572 := [quant-intro #570]: #571
-#75 := (~ #58 #58)
-#74 := (~ #54 #54)
-#72 := [refl]: #74
-#76 := [nnf-pos #72]: #75
-#21 := (= #20 #15)
-#22 := (forall (vars (?v0 S2) (?v1 S2)) #21)
-#59 := (iff #22 #58)
-#56 := (iff #21 #54)
-#57 := [rewrite]: #56
-#60 := [quant-intro #57]: #59
-#53 := [asserted]: #22
-#63 := [mp #53 #60]: #58
-#69 := [mp~ #63 #76]: #58
-#573 := [mp #69 #572]: #568
-decl f3 :: S2
-#8 := f3
-decl f6 :: S2
-#9 := f6
-#10 := (f5 f6 f3)
-#11 := (f4 #10)
-#12 := (= f3 #11)
-#13 := (not #12)
-#45 := [asserted]: #13
-#234 := (not #568)
-#235 := (or #234 #12)
-#163 := [quant-inst]: #235
-[unit-resolution #163 #45 #573]: false
-unsat
 fa7bd11236791d7e4e69f14295f0dacac77cd667 69 0
 #2 := false
 #44 := 0::real
@@ -23402,6 +23384,94 @@
 #85 := [and-elim #83]: #53
 [th-lemma #85 #84 #86]: false
 unsat
+3aeb9c9a0e29e2bb76776c94f5a20ea84ac742ba 43 0
+#2 := false
+decl f5 :: (-> S2 S2 S3)
+#15 := (:var 0 S2)
+#14 := (:var 1 S2)
+#16 := (f5 #14 #15)
+#561 := (pattern #16)
+decl f4 :: (-> S3 S2)
+#17 := (f4 #16)
+#47 := (= #14 #17)
+#562 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #561) #47)
+#50 := (forall (vars (?v0 S2) (?v1 S2)) #47)
+#565 := (iff #50 #562)
+#563 := (iff #47 #47)
+#564 := [refl]: #563
+#566 := [quant-intro #564]: #565
+#83 := (~ #50 #50)
+#81 := (~ #47 #47)
+#82 := [refl]: #81
+#84 := [nnf-pos #82]: #83
+#18 := (= #17 #14)
+#19 := (forall (vars (?v0 S2) (?v1 S2)) #18)
+#51 := (iff #19 #50)
+#48 := (iff #18 #47)
+#49 := [rewrite]: #48
+#52 := [quant-intro #49]: #51
+#46 := [asserted]: #19
+#55 := [mp #46 #52]: #50
+#73 := [mp~ #55 #84]: #50
+#567 := [mp #73 #566]: #562
+decl f6 :: S2
+#9 := f6
+decl f3 :: S2
+#8 := f3
+#10 := (f5 f3 f6)
+#11 := (f4 #10)
+#12 := (= f3 #11)
+#13 := (not #12)
+#45 := [asserted]: #13
+#144 := (not #562)
+#231 := (or #144 #12)
+#145 := [quant-inst]: #231
+[unit-resolution #145 #45 #567]: false
+unsat
+833f5435eb8a2a79499caa251090162736238118 43 0
+#2 := false
+decl f5 :: (-> S2 S2 S3)
+#15 := (:var 0 S2)
+#14 := (:var 1 S2)
+#16 := (f5 #14 #15)
+#561 := (pattern #16)
+decl f4 :: (-> S3 S2)
+#20 := (f4 #16)
+#54 := (= #15 #20)
+#568 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #561) #54)
+#58 := (forall (vars (?v0 S2) (?v1 S2)) #54)
+#571 := (iff #58 #568)
+#569 := (iff #54 #54)
+#570 := [refl]: #569
+#572 := [quant-intro #570]: #571
+#75 := (~ #58 #58)
+#74 := (~ #54 #54)
+#72 := [refl]: #74
+#76 := [nnf-pos #72]: #75
+#21 := (= #20 #15)
+#22 := (forall (vars (?v0 S2) (?v1 S2)) #21)
+#59 := (iff #22 #58)
+#56 := (iff #21 #54)
+#57 := [rewrite]: #56
+#60 := [quant-intro #57]: #59
+#53 := [asserted]: #22
+#63 := [mp #53 #60]: #58
+#69 := [mp~ #63 #76]: #58
+#573 := [mp #69 #572]: #568
+decl f3 :: S2
+#8 := f3
+decl f6 :: S2
+#9 := f6
+#10 := (f5 f6 f3)
+#11 := (f4 #10)
+#12 := (= f3 #11)
+#13 := (not #12)
+#45 := [asserted]: #13
+#234 := (not #568)
+#235 := (or #234 #12)
+#163 := [quant-inst]: #235
+[unit-resolution #163 #45 #573]: false
+unsat
 8b890c6b59495e349b21aa4197ae112481a22f92 85 0
 #2 := false
 decl f5 :: S2
--- a/src/HOL/SMT_Examples/SMT_Tests.thy	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/SMT_Examples/SMT_Tests.thy	Wed May 26 18:19:36 2010 +0200
@@ -190,6 +190,16 @@
   "distinct [a, b, c] \<and> (\<forall>x y. f x = f y \<longrightarrow> y = x) \<longrightarrow> f a \<noteq> f b"
   sorry  (* FIXME: injective function *)
 
+lemma
+  assumes "\<forall>x. SMT.trigger [[SMT.pat (f x)]] (f x = x)"
+  shows "f 1 = 1"
+  using assms by smt
+
+lemma
+  assumes "\<forall>x y. SMT.trigger [[SMT.pat (f x), SMT.pat (g y)]] (f x = g y)"
+  shows "f 1 = g 2"
+  using assms by smt
+
 
 
 section {* Meta logical connectives *}
--- a/src/HOL/Tools/SMT/smt_translate.ML	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/Tools/SMT/smt_translate.ML	Wed May 26 18:19:36 2010 +0200
@@ -119,13 +119,19 @@
       if q = qname then group_quant qname (T :: Ts) u else (Ts, t)
   | group_quant _ Ts t = (Ts, t)
 
-fun dest_pat ts (Const (@{const_name pat}, _) $ t) = SPat (rev (t :: ts))
-  | dest_pat ts (Const (@{const_name nopat}, _) $ t) = SNoPat (rev (t :: ts))
-  | dest_pat ts (Const (@{const_name andpat}, _) $ p $ t) = dest_pat (t::ts) p
-  | dest_pat _ t = raise TERM ("dest_pat", [t])
+fun dest_pat (Const (@{const_name pat}, _) $ t) = (t, true)
+  | dest_pat (Const (@{const_name nopat}, _) $ t) = (t, false)
+  | dest_pat t = raise TERM ("dest_pat", [t])
+
+fun dest_pats [] = I
+  | dest_pats ts =
+      (case map dest_pat ts |> split_list ||> distinct (op =) of
+        (ps, [true]) => cons (SPat ps)
+      | (ps, [false]) => cons (SNoPat ps)
+      | _ => raise TERM ("dest_pats", ts))
 
 fun dest_trigger (@{term trigger} $ tl $ t) =
-      (map (dest_pat []) (HOLogic.dest_list tl), t)
+      (rev (fold (dest_pats o HOLogic.dest_list) (HOLogic.dest_list tl) []), t)
   | dest_trigger t = ([], t)
 
 fun dest_quant qn T t = quantifier qn |> Option.map (fn q =>
@@ -143,9 +149,9 @@
 
 (* enforce a strict separation between formulas and terms *)
 
-val term_eq_rewr = @{lemma "x term_eq y == x = y" by (simp add: term_eq_def)}
+val term_eq_rewr = @{lemma "term_eq x y == x = y" by (simp add: term_eq_def)}
 
-val term_bool = @{lemma "~(True term_eq False)" by (simp add: term_eq_def)}
+val term_bool = @{lemma "~(term_eq True False)" by (simp add: term_eq_def)}
 val term_bool' = Simplifier.rewrite_rule [term_eq_rewr] term_bool
 
 
@@ -210,11 +216,10 @@
 
     and in_pat ((c as Const (@{const_name pat}, _)) $ t) = c $ in_term t
       | in_pat ((c as Const (@{const_name nopat}, _)) $ t) = c $ in_term t
-      | in_pat ((c as Const (@{const_name andpat}, _)) $ p $ t) =
-          c $ in_pat p $ in_term t
       | in_pat t = raise TERM ("in_pat", [t])
 
-    and in_pats p = in_list @{typ pattern} in_pat p
+    and in_pats ps =
+      in_list @{typ "pattern list"} (in_list @{typ pattern} in_pat) ps
 
     and in_trig ((c as @{term trigger}) $ p $ t) = c $ in_pats p $ in_form t
       | in_trig t = in_form t
--- a/src/HOL/Tools/SMT/z3_proof_reconstruction.ML	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/Tools/SMT/z3_proof_reconstruction.ML	Wed May 26 18:19:36 2010 +0200
@@ -689,11 +689,19 @@
 
 fun rewrite ctxt simpset ths = Thm o with_conv ctxt ths (try_apply ctxt [] [
   named ctxt "conj/disj/distinct" prove_conj_disj_eq,
-  T.by_abstraction (true, true) ctxt [] (fn ctxt' => T.by_tac (
-    NAMED ctxt' "simp" (Simplifier.simp_tac simpset)
+  T.by_abstraction (true, false) ctxt [] (fn ctxt' => T.by_tac (
+    NAMED ctxt' "simp (logic)" (Simplifier.simp_tac simpset)
+    THEN_ALL_NEW NAMED ctxt' "fast (logic)" (Classical.fast_tac HOL_cs))),
+  T.by_abstraction (false, true) ctxt [] (fn ctxt' => T.by_tac (
+    NAMED ctxt' "simp (theory)" (Simplifier.simp_tac simpset)
     THEN_ALL_NEW (
-      NAMED ctxt' "fast" (Classical.fast_tac HOL_cs)
-      ORELSE' NAMED ctxt' "arith" (Arith_Data.arith_tac ctxt'))))])
+      NAMED ctxt' "fast (theory)" (Classical.fast_tac HOL_cs)
+      ORELSE' NAMED ctxt' "arith (theory)" (Arith_Data.arith_tac ctxt')))),
+  T.by_abstraction (true, true) ctxt [] (fn ctxt' => T.by_tac (
+    NAMED ctxt' "simp (full)" (Simplifier.simp_tac simpset)
+    THEN_ALL_NEW (
+      NAMED ctxt' "fast (full)" (Classical.fast_tac HOL_cs)
+      ORELSE' NAMED ctxt' "arith (full)" (Arith_Data.arith_tac ctxt'))))])
 
 end
 
--- a/src/HOL/ex/Meson_Test.thy	Wed May 26 11:34:23 2010 +0200
+++ b/src/HOL/ex/Meson_Test.thy	Wed May 26 18:19:36 2010 +0200
@@ -16,7 +16,7 @@
   below and constants declared in HOL!
 *}
 
-hide_const (open) subset member quotient union inter "apply"
+hide_const (open) subset member quotient union inter
 
 text {*
   Test data for the MESON proof procedure