merged
authorwenzelm
Mon, 07 Dec 2009 11:18:44 +0100
changeset 34016 f215f52b7ff1
parent 34015 5426ada71790 (diff)
parent 34006 bbd146caa6b2 (current diff)
child 34019 549855d22044
merged
--- a/NEWS	Mon Dec 07 00:02:54 2009 +0100
+++ b/NEWS	Mon Dec 07 11:18:44 2009 +0100
@@ -11,6 +11,25 @@
 
 * Code generation: ML and OCaml code is decorated with signatures.
 
+* Complete_Lattice.thy: lemmas top_def and bot_def have been replaced
+by the more convenient lemmas Inf_empty and Sup_empty.  Dropped lemmas
+Inf_insert_simp adn Sup_insert_simp, which are subsumed by Inf_insert and
+Sup_insert.  Lemmas Inf_UNIV and Sup_UNIV replace former Inf_Univ and Sup_Univ.
+Lemmas inf_top_right and sup_bot_right subsume inf_top and sup_bot respectively.
+INCOMPATIBILITY.
+
+* Finite_Set.thy and List.thy: some lemmas have been generalized from sets to lattices:
+  fun_left_comm_idem_inter      ~> fun_left_comm_idem_inf
+  fun_left_comm_idem_union      ~> fun_left_comm_idem_sup
+  inter_Inter_fold_inter        ~> inf_Inf_fold_inf
+  union_Union_fold_union        ~> sup_Sup_fold_sup
+  Inter_fold_inter              ~> Inf_fold_inf
+  Union_fold_union              ~> Sup_fold_sup
+  inter_INTER_fold_inter        ~> inf_INFI_fold_inf
+  union_UNION_fold_union        ~> sup_SUPR_fold_sup
+  INTER_fold_inter              ~> INFI_fold_inf
+  UNION_fold_union              ~> SUPR_fold_sup
+
 
 *** ML ***
 
--- a/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra	Mon Dec 07 11:18:44 2009 +0100
@@ -7,7 +7,6 @@
   (uf_8 T5)
   (uf_7 T4 T2 T5 T4)
   (uf_5 T3 T2 Int T3)
-  (uf_6 T4 T2 T5)
   (uf_4 T3 T2 Int)
   (uf_10 T1 Int)
   (uf_11 T2)
@@ -26,18 +25,19 @@
   (uf_16 T4)
  )
 :extrapreds (
+  (up_6 T4 T2)
   (up_13 T2)
  )
 :assumption (forall (?x1 T1) (= (uf_1 (uf_2 ?x1) (uf_3 ?x1)) ?x1))
 :assumption (forall (?x2 T2) (?x3 T2) (= (uf_3 (uf_1 ?x2 ?x3)) ?x3))
 :assumption (forall (?x4 T2) (?x5 T2) (= (uf_2 (uf_1 ?x4 ?x5)) ?x4))
 :assumption (forall (?x6 T3) (?x7 T2) (?x8 Int) (?x9 T2) (= (uf_4 (uf_5 ?x6 ?x7 ?x8) ?x9) (ite (= ?x9 ?x7) ?x8 (uf_4 ?x6 ?x9))))
-:assumption (forall (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2) (iff (= (uf_6 (uf_7 ?x10 ?x11 ?x12) ?x13) uf_8) (if_then_else (= ?x13 ?x11) (= ?x12 uf_8) (= (uf_6 ?x10 ?x13) uf_8))))
+:assumption (forall (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2) (iff (up_6 (uf_7 ?x10 ?x11 ?x12) ?x13) (if_then_else (= ?x13 ?x11) (= ?x12 uf_8) (up_6 ?x10 ?x13))))
 :assumption (forall (?x14 T3) (?x15 T2) (?x16 Int) (= (uf_4 (uf_5 ?x14 ?x15 ?x16) ?x15) ?x16))
-:assumption (forall (?x17 T4) (?x18 T2) (?x19 T5) (iff (= (uf_6 (uf_7 ?x17 ?x18 ?x19) ?x18) uf_8) (= ?x19 uf_8)))
+:assumption (forall (?x17 T4) (?x18 T2) (?x19 T5) (iff (up_6 (uf_7 ?x17 ?x18 ?x19) ?x18) (= ?x19 uf_8)))
 :assumption (< 0 uf_9)
 :assumption (forall (?x20 T2) (?x21 T2) (implies (= ?x20 ?x21) (= (uf_10 (uf_1 ?x20 ?x21)) 0)))
 :assumption (forall (?x22 T2) (?x23 T2) (implies (not (= ?x22 ?x23)) (< 0 (uf_10 (uf_1 ?x22 ?x23)))))
-:assumption (not (implies true (implies true (implies (forall (?x24 T2) (implies (= ?x24 uf_11) (= (uf_12 ?x24) 0))) (implies (forall (?x25 T2) (implies (not (= ?x25 uf_11)) (= (uf_12 ?x25) uf_9))) (implies (forall (?x26 T2) (not (up_13 ?x26))) (implies true (and (= (uf_12 uf_11) 0) (implies (= (uf_12 uf_11) 0) (and (forall (?x27 T2) (<= 0 (uf_12 ?x27))) (implies (forall (?x28 T2) (<= 0 (uf_12 ?x28))) (and (forall (?x29 T2) (?x30 T2) (implies (and (not (up_13 ?x30)) (up_13 ?x29)) (<= (uf_12 ?x29) (uf_12 ?x30)))) (implies (forall (?x31 T2) (?x32 T2) (implies (and (not (up_13 ?x32)) (up_13 ?x31)) (<= (uf_12 ?x31) (uf_12 ?x32)))) (and (forall (?x33 T2) (?x34 T2) (implies (and (up_13 ?x34) (< (uf_10 (uf_1 ?x34 ?x33)) uf_9)) (<= (uf_12 ?x33) (+ (uf_12 ?x34) (uf_10 (uf_1 ?x34 ?x33)))))) (implies (forall (?x35 T2) (?x36 T2) (implies (and (up_13 ?x36) (< (uf_10 (uf_1 ?x36 ?x35)) uf_9)) (<= (uf_12 ?x35) (+ (uf_12 ?x36) (uf_10 (uf_1 ?x36 ?x35)))))) (and (forall (?x37 T2) (implies (and (not (= ?x37 uf_11)) (< (uf_12 ?x37) uf_9)) (exists (?x38 T2) (and (< (uf_12 ?x38) (uf_12 ?x37)) (and (up_13 ?x38) (= (uf_12 ?x37) (+ (uf_12 ?x38) (uf_10 (uf_1 ?x38 ?x37))))))))) (implies (forall (?x39 T2) (implies (and (not (= ?x39 uf_11)) (< (uf_12 ?x39) uf_9)) (exists (?x40 T2) (and (< (uf_12 ?x40) (uf_12 ?x39)) (and (up_13 ?x40) (= (uf_12 ?x39) (+ (uf_12 ?x40) (uf_10 (uf_1 ?x40 ?x39))))))))) (implies true (implies true (implies (= (uf_4 uf_14 uf_11) 0) (implies (forall (?x41 T2) (<= 0 (uf_4 uf_14 ?x41))) (implies (forall (?x42 T2) (?x43 T2) (implies (and (not (= (uf_6 uf_15 ?x43) uf_8)) (= (uf_6 uf_15 ?x42) uf_8)) (<= (uf_4 uf_14 ?x42) (uf_4 uf_14 ?x43)))) (implies (forall (?x44 T2) (?x45 T2) (implies (and (= (uf_6 uf_15 ?x45) uf_8) (< (uf_10 (uf_1 ?x45 ?x44)) uf_9)) (<= (uf_4 uf_14 ?x44) (+ (uf_4 uf_14 ?x45) (uf_10 (uf_1 ?x45 ?x44)))))) (implies (forall (?x46 T2) (implies (and (not (= ?x46 uf_11)) (< (uf_4 uf_14 ?x46) uf_9)) (exists (?x47 T2) (and (< (uf_4 uf_14 ?x47) (uf_4 uf_14 ?x46)) (and (= (uf_6 uf_15 ?x47) uf_8) (= (uf_4 uf_14 ?x46) (+ (uf_4 uf_14 ?x47) (uf_10 (uf_1 ?x47 ?x46))))))))) (implies true (and (implies true (implies true (implies (not (exists (?x48 T2) (and (not (= (uf_6 uf_15 ?x48) uf_8)) (< (uf_4 uf_14 ?x48) uf_9)))) (implies true (implies true (implies (= uf_16 uf_15) (implies (= uf_17 uf_18) (implies (= uf_19 uf_14) (implies (= uf_20 uf_21) (implies true (and (forall (?x49 T2) (implies (and (not (= ?x49 uf_11)) (< (uf_4 uf_19 ?x49) uf_9)) (exists (?x50 T2) (and (< (uf_4 uf_19 ?x50) (uf_4 uf_19 ?x49)) (= (uf_4 uf_19 ?x49) (+ (uf_4 uf_19 ?x50) (uf_10 (uf_1 ?x50 ?x49)))))))) (implies (forall (?x51 T2) (implies (and (not (= ?x51 uf_11)) (< (uf_4 uf_19 ?x51) uf_9)) (exists (?x52 T2) (and (< (uf_4 uf_19 ?x52) (uf_4 uf_19 ?x51)) (= (uf_4 uf_19 ?x51) (+ (uf_4 uf_19 ?x52) (uf_10 (uf_1 ?x52 ?x51)))))))) (and (forall (?x53 T2) (?x54 T2) (implies (and (< (uf_4 uf_19 ?x54) uf_9) (< (uf_10 (uf_1 ?x54 ?x53)) uf_9)) (<= (uf_4 uf_19 ?x53) (+ (uf_4 uf_19 ?x54) (uf_10 (uf_1 ?x54 ?x53)))))) (implies (forall (?x55 T2) (?x56 T2) (implies (and (< (uf_4 uf_19 ?x56) uf_9) (< (uf_10 (uf_1 ?x56 ?x55)) uf_9)) (<= (uf_4 uf_19 ?x55) (+ (uf_4 uf_19 ?x56) (uf_10 (uf_1 ?x56 ?x55)))))) (and (= (uf_4 uf_19 uf_11) 0) (implies (= (uf_4 uf_19 uf_11) 0) true)))))))))))))))) (implies true (implies true (implies (exists (?x57 T2) (and (not (= (uf_6 uf_15 ?x57) uf_8)) (< (uf_4 uf_14 ?x57) uf_9))) (implies (not (= (uf_6 uf_15 uf_22) uf_8)) (implies (< (uf_4 uf_14 uf_22) uf_9) (implies (forall (?x58 T2) (implies (not (= (uf_6 uf_15 ?x58) uf_8)) (<= (uf_4 uf_14 uf_22) (uf_4 uf_14 ?x58)))) (implies (= uf_23 (uf_7 uf_15 uf_22 uf_8)) (implies (forall (?x59 T2) (implies (and (< (uf_10 (uf_1 uf_22 ?x59)) uf_9) (< (+ (uf_4 uf_14 uf_22) (uf_10 (uf_1 uf_22 ?x59))) (uf_4 uf_14 ?x59))) (= (uf_24 ?x59) (+ (uf_4 uf_14 uf_22) (uf_10 (uf_1 uf_22 ?x59)))))) (implies (forall (?x60 T2) (implies (not (and (< (uf_10 (uf_1 uf_22 ?x60)) uf_9) (< (+ (uf_4 uf_14 uf_22) (uf_10 (uf_1 uf_22 ?x60))) (uf_4 uf_14 ?x60)))) (= (uf_24 ?x60) (uf_4 uf_14 ?x60)))) (and (forall (?x61 T2) (<= (uf_24 ?x61) (uf_4 uf_14 ?x61))) (implies (forall (?x62 T2) (<= (uf_24 ?x62) (uf_4 uf_14 ?x62))) (and (forall (?x63 T2) (implies (= (uf_6 uf_23 ?x63) uf_8) (= (uf_24 ?x63) (uf_4 uf_14 ?x63)))) (implies (forall (?x64 T2) (implies (= (uf_6 uf_23 ?x64) uf_8) (= (uf_24 ?x64) (uf_4 uf_14 ?x64)))) (implies true (implies true (and (= (uf_24 uf_11) 0) (implies (= (uf_24 uf_11) 0) (and (forall (?x65 T2) (<= 0 (uf_24 ?x65))) (implies (forall (?x66 T2) (<= 0 (uf_24 ?x66))) (and (forall (?x67 T2) (?x68 T2) (implies (and (not (= (uf_6 uf_23 ?x68) uf_8)) (= (uf_6 uf_23 ?x67) uf_8)) (<= (uf_24 ?x67) (uf_24 ?x68)))) (implies (forall (?x69 T2) (?x70 T2) (implies (and (not (= (uf_6 uf_23 ?x70) uf_8)) (= (uf_6 uf_23 ?x69) uf_8)) (<= (uf_24 ?x69) (uf_24 ?x70)))) (and (forall (?x71 T2) (?x72 T2) (implies (and (= (uf_6 uf_23 ?x72) uf_8) (< (uf_10 (uf_1 ?x72 ?x71)) uf_9)) (<= (uf_24 ?x71) (+ (uf_24 ?x72) (uf_10 (uf_1 ?x72 ?x71)))))) (implies (forall (?x73 T2) (?x74 T2) (implies (and (= (uf_6 uf_23 ?x74) uf_8) (< (uf_10 (uf_1 ?x74 ?x73)) uf_9)) (<= (uf_24 ?x73) (+ (uf_24 ?x74) (uf_10 (uf_1 ?x74 ?x73)))))) (and (forall (?x75 T2) (implies (and (not (= ?x75 uf_11)) (< (uf_24 ?x75) uf_9)) (exists (?x76 T2) (and (< (uf_24 ?x76) (uf_24 ?x75)) (and (= (uf_6 uf_23 ?x76) uf_8) (= (uf_24 ?x75) (+ (uf_24 ?x76) (uf_10 (uf_1 ?x76 ?x75))))))))) (implies (forall (?x77 T2) (implies (and (not (= ?x77 uf_11)) (< (uf_24 ?x77) uf_9)) (exists (?x78 T2) (and (< (uf_24 ?x78) (uf_24 ?x77)) (and (= (uf_6 uf_23 ?x78) uf_8) (= (uf_24 ?x77) (+ (uf_24 ?x78) (uf_10 (uf_1 ?x78 ?x77))))))))) (implies false true))))))))))))))))))))))))))))))))))))))))))))))))))))
+:assumption (not (implies true (implies true (implies (forall (?x24 T2) (implies (= ?x24 uf_11) (= (uf_12 ?x24) 0))) (implies (forall (?x25 T2) (implies (not (= ?x25 uf_11)) (= (uf_12 ?x25) uf_9))) (implies (forall (?x26 T2) (not (up_13 ?x26))) (implies true (and (= (uf_12 uf_11) 0) (implies (= (uf_12 uf_11) 0) (and (forall (?x27 T2) (<= 0 (uf_12 ?x27))) (implies (forall (?x28 T2) (<= 0 (uf_12 ?x28))) (and (forall (?x29 T2) (?x30 T2) (implies (and (not (up_13 ?x30)) (up_13 ?x29)) (<= (uf_12 ?x29) (uf_12 ?x30)))) (implies (forall (?x31 T2) (?x32 T2) (implies (and (not (up_13 ?x32)) (up_13 ?x31)) (<= (uf_12 ?x31) (uf_12 ?x32)))) (and (forall (?x33 T2) (?x34 T2) (implies (and (up_13 ?x34) (< (uf_10 (uf_1 ?x34 ?x33)) uf_9)) (<= (uf_12 ?x33) (+ (uf_12 ?x34) (uf_10 (uf_1 ?x34 ?x33)))))) (implies (forall (?x35 T2) (?x36 T2) (implies (and (up_13 ?x36) (< (uf_10 (uf_1 ?x36 ?x35)) uf_9)) (<= (uf_12 ?x35) (+ (uf_12 ?x36) (uf_10 (uf_1 ?x36 ?x35)))))) (and (forall (?x37 T2) (implies (and (not (= ?x37 uf_11)) (< (uf_12 ?x37) uf_9)) (exists (?x38 T2) (and (< (uf_12 ?x38) (uf_12 ?x37)) (and (up_13 ?x38) (= (uf_12 ?x37) (+ (uf_12 ?x38) (uf_10 (uf_1 ?x38 ?x37))))))))) (implies (forall (?x39 T2) (implies (and (not (= ?x39 uf_11)) (< (uf_12 ?x39) uf_9)) (exists (?x40 T2) (and (< (uf_12 ?x40) (uf_12 ?x39)) (and (up_13 ?x40) (= (uf_12 ?x39) (+ (uf_12 ?x40) (uf_10 (uf_1 ?x40 ?x39))))))))) (implies true (implies true (implies (= (uf_4 uf_14 uf_11) 0) (implies (forall (?x41 T2) (<= 0 (uf_4 uf_14 ?x41))) (implies (forall (?x42 T2) (?x43 T2) (implies (and (not (up_6 uf_15 ?x43)) (up_6 uf_15 ?x42)) (<= (uf_4 uf_14 ?x42) (uf_4 uf_14 ?x43)))) (implies (forall (?x44 T2) (?x45 T2) (implies (and (up_6 uf_15 ?x45) (< (uf_10 (uf_1 ?x45 ?x44)) uf_9)) (<= (uf_4 uf_14 ?x44) (+ (uf_4 uf_14 ?x45) (uf_10 (uf_1 ?x45 ?x44)))))) (implies (forall (?x46 T2) (implies (and (not (= ?x46 uf_11)) (< (uf_4 uf_14 ?x46) uf_9)) (exists (?x47 T2) (and (< (uf_4 uf_14 ?x47) (uf_4 uf_14 ?x46)) (and (up_6 uf_15 ?x47) (= (uf_4 uf_14 ?x46) (+ (uf_4 uf_14 ?x47) (uf_10 (uf_1 ?x47 ?x46))))))))) (implies true (and (implies true (implies true (implies (not (exists (?x48 T2) (and (not (up_6 uf_15 ?x48)) (< (uf_4 uf_14 ?x48) uf_9)))) (implies true (implies true (implies (= uf_16 uf_15) (implies (= uf_17 uf_18) (implies (= uf_19 uf_14) (implies (= uf_20 uf_21) (implies true (and (forall (?x49 T2) (implies (and (not (= ?x49 uf_11)) (< (uf_4 uf_19 ?x49) uf_9)) (exists (?x50 T2) (and (< (uf_4 uf_19 ?x50) (uf_4 uf_19 ?x49)) (= (uf_4 uf_19 ?x49) (+ (uf_4 uf_19 ?x50) (uf_10 (uf_1 ?x50 ?x49)))))))) (implies (forall (?x51 T2) (implies (and (not (= ?x51 uf_11)) (< (uf_4 uf_19 ?x51) uf_9)) (exists (?x52 T2) (and (< (uf_4 uf_19 ?x52) (uf_4 uf_19 ?x51)) (= (uf_4 uf_19 ?x51) (+ (uf_4 uf_19 ?x52) (uf_10 (uf_1 ?x52 ?x51)))))))) (and (forall (?x53 T2) (?x54 T2) (implies (and (< (uf_4 uf_19 ?x54) uf_9) (< (uf_10 (uf_1 ?x54 ?x53)) uf_9)) (<= (uf_4 uf_19 ?x53) (+ (uf_4 uf_19 ?x54) (uf_10 (uf_1 ?x54 ?x53)))))) (implies (forall (?x55 T2) (?x56 T2) (implies (and (< (uf_4 uf_19 ?x56) uf_9) (< (uf_10 (uf_1 ?x56 ?x55)) uf_9)) (<= (uf_4 uf_19 ?x55) (+ (uf_4 uf_19 ?x56) (uf_10 (uf_1 ?x56 ?x55)))))) (and (= (uf_4 uf_19 uf_11) 0) (implies (= (uf_4 uf_19 uf_11) 0) true)))))))))))))))) (implies true (implies true (implies (exists (?x57 T2) (and (not (up_6 uf_15 ?x57)) (< (uf_4 uf_14 ?x57) uf_9))) (implies (not (up_6 uf_15 uf_22)) (implies (< (uf_4 uf_14 uf_22) uf_9) (implies (forall (?x58 T2) (implies (not (up_6 uf_15 ?x58)) (<= (uf_4 uf_14 uf_22) (uf_4 uf_14 ?x58)))) (implies (= uf_23 (uf_7 uf_15 uf_22 uf_8)) (implies (forall (?x59 T2) (implies (and (< (uf_10 (uf_1 uf_22 ?x59)) uf_9) (< (+ (uf_4 uf_14 uf_22) (uf_10 (uf_1 uf_22 ?x59))) (uf_4 uf_14 ?x59))) (= (uf_24 ?x59) (+ (uf_4 uf_14 uf_22) (uf_10 (uf_1 uf_22 ?x59)))))) (implies (forall (?x60 T2) (implies (not (and (< (uf_10 (uf_1 uf_22 ?x60)) uf_9) (< (+ (uf_4 uf_14 uf_22) (uf_10 (uf_1 uf_22 ?x60))) (uf_4 uf_14 ?x60)))) (= (uf_24 ?x60) (uf_4 uf_14 ?x60)))) (and (forall (?x61 T2) (<= (uf_24 ?x61) (uf_4 uf_14 ?x61))) (implies (forall (?x62 T2) (<= (uf_24 ?x62) (uf_4 uf_14 ?x62))) (and (forall (?x63 T2) (implies (up_6 uf_23 ?x63) (= (uf_24 ?x63) (uf_4 uf_14 ?x63)))) (implies (forall (?x64 T2) (implies (up_6 uf_23 ?x64) (= (uf_24 ?x64) (uf_4 uf_14 ?x64)))) (implies true (implies true (and (= (uf_24 uf_11) 0) (implies (= (uf_24 uf_11) 0) (and (forall (?x65 T2) (<= 0 (uf_24 ?x65))) (implies (forall (?x66 T2) (<= 0 (uf_24 ?x66))) (and (forall (?x67 T2) (?x68 T2) (implies (and (not (up_6 uf_23 ?x68)) (up_6 uf_23 ?x67)) (<= (uf_24 ?x67) (uf_24 ?x68)))) (implies (forall (?x69 T2) (?x70 T2) (implies (and (not (up_6 uf_23 ?x70)) (up_6 uf_23 ?x69)) (<= (uf_24 ?x69) (uf_24 ?x70)))) (and (forall (?x71 T2) (?x72 T2) (implies (and (up_6 uf_23 ?x72) (< (uf_10 (uf_1 ?x72 ?x71)) uf_9)) (<= (uf_24 ?x71) (+ (uf_24 ?x72) (uf_10 (uf_1 ?x72 ?x71)))))) (implies (forall (?x73 T2) (?x74 T2) (implies (and (up_6 uf_23 ?x74) (< (uf_10 (uf_1 ?x74 ?x73)) uf_9)) (<= (uf_24 ?x73) (+ (uf_24 ?x74) (uf_10 (uf_1 ?x74 ?x73)))))) (and (forall (?x75 T2) (implies (and (not (= ?x75 uf_11)) (< (uf_24 ?x75) uf_9)) (exists (?x76 T2) (and (< (uf_24 ?x76) (uf_24 ?x75)) (and (up_6 uf_23 ?x76) (= (uf_24 ?x75) (+ (uf_24 ?x76) (uf_10 (uf_1 ?x76 ?x75))))))))) (implies (forall (?x77 T2) (implies (and (not (= ?x77 uf_11)) (< (uf_24 ?x77) uf_9)) (exists (?x78 T2) (and (< (uf_24 ?x78) (uf_24 ?x77)) (and (up_6 uf_23 ?x78) (= (uf_24 ?x77) (+ (uf_24 ?x78) (uf_10 (uf_1 ?x78 ?x77))))))))) (implies false true))))))))))))))))))))))))))))))))))))))))))))))))))))
 :formula true
 )
--- a/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra.proof	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra.proof	Mon Dec 07 11:18:44 2009 +0100
@@ -1,7129 +1,6631 @@
 #2 := false
-#55 := 0::int
-decl uf_24 :: (-> T2 int)
-decl ?x68!16 :: T2
-#2296 := ?x68!16
-#2300 := (uf_24 ?x68!16)
-#1220 := -1::int
-#2894 := (* -1::int #2300)
-decl ?x67!17 :: T2
-#2297 := ?x67!17
-#2298 := (uf_24 ?x67!17)
-#2895 := (+ #2298 #2894)
-#2896 := (<= #2895 0::int)
-#4133 := (not #2896)
-decl uf_6 :: (-> T4 T2 T5)
+decl up_6 :: (-> T4 T2 bool)
+decl ?x47!7 :: (-> T2 T2)
+decl ?x75!20 :: T2
+#2235 := ?x75!20
+#5912 := (?x47!7 ?x75!20)
 decl uf_23 :: T4
-#193 := uf_23
-#2305 := (uf_6 uf_23 ?x68!16)
+#187 := uf_23
+#16889 := (up_6 uf_23 #5912)
+decl uf_2 :: (-> T1 T2)
+decl uf_1 :: (-> T2 T2 T1)
+decl uf_3 :: (-> T1 T2)
+decl uf_22 :: T2
+#179 := uf_22
+#4603 := (uf_1 uf_22 uf_22)
+#10571 := (uf_3 #4603)
+#15148 := (uf_1 #10571 ?x75!20)
+#15931 := (uf_3 #15148)
+#16881 := (uf_1 #5912 #15931)
+#19932 := (uf_2 #16881)
+decl uf_7 :: (-> T4 T2 T5 T4)
 decl uf_8 :: T5
 #33 := uf_8
-#2306 := (= uf_8 #2305)
-#2303 := (uf_6 uf_23 ?x67!17)
-#2304 := (= uf_8 #2303)
-#3433 := (not #2304)
-#3448 := (or #3433 #2306 #2896)
-#3453 := (not #3448)
-decl uf_1 :: (-> T2 T2 T1)
-decl ?x75!20 :: T2
-#2354 := ?x75!20
+decl uf_15 :: T4
+#110 := uf_15
+#11533 := (uf_7 uf_15 #10571 uf_8)
+#27162 := (up_6 #11533 #19932)
+#27198 := (not #27162)
+#16890 := (not #16889)
+#27320 := (iff #16890 #27198)
+#27318 := (iff #16889 #27162)
+#27316 := (iff #27162 #16889)
+#27304 := (= #19932 #5912)
+#20977 := (= #5912 #19932)
 #11 := (:var 0 T2)
-#2358 := (uf_1 #11 ?x75!20)
-#4486 := (pattern #2358)
-#202 := (uf_24 #11)
-#4426 := (pattern #202)
-#212 := (uf_6 uf_23 #11)
-#4452 := (pattern #212)
+#10 := (:var 1 T2)
+#12 := (uf_1 #10 #11)
+#4070 := (pattern #12)
+#16 := (uf_2 #12)
+#317 := (= #10 #16)
+#4077 := (forall (vars (?x4 T2) (?x5 T2)) (:pat #4070) #317)
+#321 := (forall (vars (?x4 T2) (?x5 T2)) #317)
+#4080 := (iff #321 #4077)
+#4078 := (iff #317 #317)
+#4079 := [refl]: #4078
+#4081 := [quant-intro #4079]: #4080
+#1731 := (~ #321 #321)
+#1765 := (~ #317 #317)
+#1766 := [refl]: #1765
+#1732 := [nnf-pos #1766]: #1731
+#17 := (= #16 #10)
+#18 := (forall (vars (?x4 T2) (?x5 T2)) #17)
+#322 := (iff #18 #321)
+#319 := (iff #17 #317)
+#320 := [rewrite]: #319
+#323 := [quant-intro #320]: #322
+#316 := [asserted]: #18
+#326 := [mp #316 #323]: #321
+#1767 := [mp~ #326 #1732]: #321
+#4082 := [mp #1767 #4081]: #4077
+#8504 := (not #4077)
+#20954 := (or #8504 #20977)
+#20968 := [quant-inst]: #20954
+#27303 := [unit-resolution #20968 #4082]: #20977
+#27305 := [symm #27303]: #27304
+#13612 := (= #11533 uf_23)
+#188 := (uf_7 uf_15 uf_22 uf_8)
+#7202 := (= #188 uf_23)
+#189 := (= uf_23 #188)
+#2239 := (uf_1 #11 ?x75!20)
+#4360 := (pattern #2239)
+decl uf_24 :: (-> T2 int)
+#196 := (uf_24 #11)
+#4300 := (pattern #196)
+#206 := (up_6 uf_23 #11)
+#4326 := (pattern #206)
+#52 := 0::int
 decl uf_10 :: (-> T1 int)
-#2359 := (uf_10 #2358)
-#2355 := (uf_24 ?x75!20)
-#2356 := (* -1::int #2355)
-#2958 := (+ #2356 #2359)
-#2959 := (+ #202 #2958)
-#2962 := (= #2959 0::int)
-#3524 := (not #2962)
-#2357 := (+ #202 #2356)
-#2362 := (>= #2357 0::int)
-#773 := (= uf_8 #212)
-#779 := (not #773)
-#3525 := (or #779 #2362 #3524)
-#4487 := (forall (vars (?x76 T2)) (:pat #4452 #4426 #4486) #3525)
-#4492 := (not #4487)
-#10 := (:var 1 T2)
-#90 := (uf_1 #11 #10)
-#4281 := (pattern #90)
-#224 := (uf_24 #10)
-#1505 := (* -1::int #224)
-#1506 := (+ #202 #1505)
-#91 := (uf_10 #90)
-#1536 := (+ #91 #1506)
-#1534 := (>= #1536 0::int)
-#1235 := (* -1::int #91)
+#2240 := (uf_10 #2239)
+#2236 := (uf_24 ?x75!20)
+#1127 := -1::int
+#2237 := (* -1::int #2236)
+#2834 := (+ #2237 #2240)
+#2835 := (+ #196 #2834)
+#2838 := (= #2835 0::int)
+#3400 := (not #2838)
+#2238 := (+ #196 #2237)
+#2243 := (>= #2238 0::int)
+#213 := (not #206)
+#3401 := (or #213 #2243 #3400)
+#4361 := (forall (vars (?x76 T2)) (:pat #4326 #4300 #4360) #3401)
+#4366 := (not #4361)
+#87 := (uf_1 #11 #10)
+#4155 := (pattern #87)
+#216 := (uf_24 #10)
+#1407 := (* -1::int #216)
+#1408 := (+ #196 #1407)
+#88 := (uf_10 #87)
+#1433 := (+ #88 #1408)
+#1431 := (>= #1433 0::int)
+#1142 := (* -1::int #88)
 decl uf_9 :: int
-#56 := uf_9
-#1236 := (+ uf_9 #1235)
-#1237 := (<= #1236 0::int)
-#3516 := (or #779 #1237 #1534)
-#4478 := (forall (vars (?x71 T2) (?x72 T2)) (:pat #4281) #3516)
-#4483 := (not #4478)
+#53 := uf_9
+#1143 := (+ uf_9 #1142)
+#1144 := (<= #1143 0::int)
+#3392 := (or #213 #1144 #1431)
+#4352 := (forall (vars (?x71 T2) (?x72 T2)) (:pat #4155) #3392)
+#4357 := (not #4352)
 decl uf_11 :: T2
-#67 := uf_11
-#2934 := (= uf_11 ?x75!20)
-#2366 := (+ uf_9 #2356)
-#2367 := (<= #2366 0::int)
-#4495 := (or #2367 #2934 #4483 #4492)
-#4498 := (not #4495)
+#64 := uf_11
+#2810 := (= uf_11 ?x75!20)
+#2247 := (+ uf_9 #2237)
+#2248 := (<= #2247 0::int)
+#4369 := (or #2248 #2810 #4357 #4366)
+#4372 := (not #4369)
 decl ?x71!19 :: T2
-#2324 := ?x71!19
+#2206 := ?x71!19
 decl ?x72!18 :: T2
-#2323 := ?x72!18
-#2329 := (uf_1 ?x72!18 ?x71!19)
-#2330 := (uf_10 #2329)
-#2333 := (* -1::int #2330)
-#2327 := (uf_24 ?x72!18)
-#2920 := (* -1::int #2327)
-#2921 := (+ #2920 #2333)
-#2325 := (uf_24 ?x71!19)
-#2922 := (+ #2325 #2921)
-#2923 := (<= #2922 0::int)
-#2337 := (uf_6 uf_23 ?x72!18)
-#2338 := (= uf_8 #2337)
-#3479 := (not #2338)
-#2334 := (+ uf_9 #2333)
-#2335 := (<= #2334 0::int)
-#3494 := (or #2335 #3479 #2923)
-#3499 := (not #3494)
-#4501 := (or #3499 #4498)
-#4504 := (not #4501)
-#4469 := (pattern #202 #224)
-#1504 := (>= #1506 0::int)
-#221 := (uf_6 uf_23 #10)
-#793 := (= uf_8 #221)
-#3456 := (not #793)
-#3471 := (or #773 #3456 #1504)
-#4470 := (forall (vars (?x67 T2) (?x68 T2)) (:pat #4469) #3471)
-#4475 := (not #4470)
-#4507 := (or #4475 #4504)
-#7658 := [hypothesis]: #3499
-#2336 := (not #2335)
-#4131 := (or #3494 #2336)
-#4137 := [def-axiom]: #4131
-#17052 := [unit-resolution #4137 #7658]: #2336
-#17077 := (or #3494 #2335)
+#2205 := ?x72!18
+#2211 := (uf_1 ?x72!18 ?x71!19)
+#2212 := (uf_10 #2211)
+#2215 := (* -1::int #2212)
+#2209 := (uf_24 ?x72!18)
+#2796 := (* -1::int #2209)
+#2797 := (+ #2796 #2215)
+#2207 := (uf_24 ?x71!19)
+#2798 := (+ #2207 #2797)
+#2799 := (<= #2798 0::int)
+#2219 := (up_6 uf_23 ?x72!18)
+#3355 := (not #2219)
+#2216 := (+ uf_9 #2215)
+#2217 := (<= #2216 0::int)
+#3370 := (or #2217 #3355 #2799)
+#3375 := (not #3370)
+#4375 := (or #3375 #4372)
+#4378 := (not #4375)
+#4343 := (pattern #196 #216)
+#1406 := (>= #1408 0::int)
+#214 := (up_6 uf_23 #10)
+#3332 := (not #214)
+#3347 := (or #206 #3332 #1406)
+#4344 := (forall (vars (?x67 T2) (?x68 T2)) (:pat #4343) #3347)
+#4349 := (not #4344)
+#4381 := (or #4349 #4378)
+#4384 := (not #4381)
+decl ?x68!16 :: T2
+#2180 := ?x68!16
+#2184 := (uf_24 ?x68!16)
+#2770 := (* -1::int #2184)
+decl ?x67!17 :: T2
+#2181 := ?x67!17
+#2182 := (uf_24 ?x67!17)
+#2771 := (+ #2182 #2770)
+#2772 := (<= #2771 0::int)
+#2188 := (up_6 uf_23 ?x68!16)
+#2187 := (up_6 uf_23 ?x67!17)
+#3309 := (not #2187)
+#3324 := (or #3309 #2188 #2772)
+#3329 := (not #3324)
+#4387 := (or #3329 #4384)
+#4390 := (not #4387)
+#1397 := (>= #196 0::int)
+#4335 := (forall (vars (?x65 T2)) (:pat #4300) #1397)
+#4340 := (not #4335)
+#4393 := (or #4340 #4390)
+#4396 := (not #4393)
+decl ?x65!15 :: T2
+#2165 := ?x65!15
+#2166 := (uf_24 ?x65!15)
+#2167 := (>= #2166 0::int)
+#2168 := (not #2167)
+#4399 := (or #2168 #4396)
+#4402 := (not #4399)
+#209 := (uf_24 uf_11)
+#210 := (= #209 0::int)
+#1394 := (not #210)
+#4405 := (or #1394 #4402)
+#4408 := (not #4405)
+#4411 := (or #1394 #4408)
+#4414 := (not #4411)
 decl uf_4 :: (-> T3 T2 int)
 decl uf_14 :: T3
-#107 := uf_14
-#110 := (uf_4 uf_14 #11)
-#4305 := (pattern #110)
-#759 := (= #110 #202)
-#780 := (or #759 #779)
-#4453 := (forall (vars (?x63 T2)) (:pat #4305 #4426 #4452) #780)
-#4510 := (not #4507)
-#4513 := (or #3453 #4510)
-#4516 := (not #4513)
-#1495 := (>= #202 0::int)
-#4461 := (forall (vars (?x65 T2)) (:pat #4426) #1495)
-#4466 := (not #4461)
-#4519 := (or #4466 #4516)
-#4522 := (not #4519)
-decl ?x65!15 :: T2
-#2281 := ?x65!15
-#2282 := (uf_24 ?x65!15)
-#2283 := (>= #2282 0::int)
-#2284 := (not #2283)
-#4525 := (or #2284 #4522)
-#4528 := (not #4525)
-#216 := (uf_24 uf_11)
-#217 := (= #216 0::int)
-#1492 := (not #217)
-#4531 := (or #1492 #4528)
-#4534 := (not #4531)
-#4537 := (or #1492 #4534)
-#4540 := (not #4537)
-#4458 := (not #4453)
-#4543 := (or #4458 #4540)
-#4546 := (not #4543)
+#104 := uf_14
+#107 := (uf_4 uf_14 #11)
+#4179 := (pattern #107)
+#688 := (= #107 #196)
+#705 := (or #213 #688)
+#4327 := (forall (vars (?x63 T2)) (:pat #4326 #4179 #4300) #705)
+#4332 := (not #4327)
+#4417 := (or #4332 #4414)
+#4420 := (not #4417)
 decl ?x63!14 :: T2
-#2256 := ?x63!14
-#2261 := (uf_4 uf_14 ?x63!14)
-#2260 := (uf_24 ?x63!14)
-#2866 := (= #2260 #2261)
-#2257 := (uf_6 uf_23 ?x63!14)
-#2258 := (= uf_8 #2257)
-#2259 := (not #2258)
-#2872 := (or #2259 #2866)
-#2877 := (not #2872)
-#10222 := [hypothesis]: #2877
-#4144 := (or #2872 #2258)
-#4145 := [def-axiom]: #4144
-#10559 := [unit-resolution #4145 #10222]: #2258
-#4140 := (not #2866)
-#4141 := (or #2872 #4140)
-#4146 := [def-axiom]: #4141
-#10294 := [unit-resolution #4146 #10222]: #4140
-decl uf_3 :: (-> T1 T2)
-decl uf_22 :: T2
-#184 := uf_22
-#4728 := (uf_1 uf_22 uf_22)
-#9695 := (uf_3 #4728)
-#10367 := (uf_1 #9695 ?x63!14)
-#10448 := (uf_3 #10367)
-#11132 := (uf_4 uf_14 #10448)
-#13212 := (= #11132 #2261)
-#12385 := (= #2261 #11132)
-#10449 := (= ?x63!14 #10448)
-#12 := (uf_1 #10 #11)
-#4196 := (pattern #12)
-#13 := (uf_3 #12)
-#317 := (= #11 #13)
-#4197 := (forall (vars (?x2 T2) (?x3 T2)) (:pat #4196) #317)
-#321 := (forall (vars (?x2 T2) (?x3 T2)) #317)
-#4200 := (iff #321 #4197)
-#4198 := (iff #317 #317)
+#2141 := ?x63!14
+#2143 := (uf_4 uf_14 ?x63!14)
+#2142 := (uf_24 ?x63!14)
+#2747 := (= #2142 #2143)
+#2145 := (up_6 uf_23 ?x63!14)
+#2146 := (not #2145)
+#2750 := (or #2146 #2747)
+#2753 := (not #2750)
+#4423 := (or #2753 #4420)
+#4426 := (not #4423)
+#1382 := (* -1::int #196)
+#1383 := (+ #107 #1382)
+#1381 := (>= #1383 0::int)
+#4318 := (forall (vars (?x61 T2)) (:pat #4179 #4300) #1381)
+#4323 := (not #4318)
+#4429 := (or #4323 #4426)
+#4432 := (not #4429)
+decl ?x61!13 :: T2
+#2123 := ?x61!13
+#2126 := (uf_4 uf_14 ?x61!13)
+#2737 := (* -1::int #2126)
+#2124 := (uf_24 ?x61!13)
+#2738 := (+ #2124 #2737)
+#2739 := (<= #2738 0::int)
+#2744 := (not #2739)
+#4435 := (or #2744 #4432)
+#4438 := (not #4435)
+#190 := (uf_1 uf_22 #11)
+#4301 := (pattern #190)
+#191 := (uf_10 #190)
+#1520 := (+ #191 #1382)
+#182 := (uf_4 uf_14 uf_22)
+#1521 := (+ #182 #1520)
+#1522 := (= #1521 0::int)
+#1351 := (* -1::int #191)
+#1357 := (* -1::int #182)
+#1358 := (+ #1357 #1351)
+#1359 := (+ #107 #1358)
+#1360 := (<= #1359 0::int)
+#1352 := (+ uf_9 #1351)
+#1353 := (<= #1352 0::int)
+#3301 := (or #1353 #1360 #1522)
+#4310 := (forall (vars (?x59 T2)) (:pat #4301 #4179 #4300) #3301)
+#4315 := (not #4310)
+#3281 := (or #1353 #1360)
+#3282 := (not #3281)
+#3285 := (or #688 #3282)
+#4302 := (forall (vars (?x60 T2)) (:pat #4179 #4300 #4301) #3285)
+#4307 := (not #4302)
+decl ?x48!12 :: T2
+#2100 := ?x48!12
+#2106 := (up_6 uf_15 ?x48!12)
+#2101 := (uf_4 uf_14 ?x48!12)
+#2102 := (* -1::int #2101)
+#2103 := (+ uf_9 #2102)
+#2104 := (<= #2103 0::int)
+#1547 := (+ uf_9 #1357)
+#1548 := (<= #1547 0::int)
+#111 := (up_6 uf_15 #11)
+#4221 := (pattern #111)
+#1535 := (+ #107 #1357)
+#1534 := (>= #1535 0::int)
+#1538 := (or #111 #1534)
+#4292 := (forall (vars (?x58 T2)) (:pat #4221 #4179) #1538)
+#4297 := (not #4292)
+#888 := (not #189)
+#180 := (up_6 uf_15 uf_22)
+#4441 := (or #180 #888 #4297 #1548 #2104 #2106 #4307 #4315 #4438)
+#4444 := (not #4441)
+decl ?x53!11 :: T2
+#2034 := ?x53!11
+decl ?x54!10 :: T2
+#2033 := ?x54!10
+#2039 := (uf_1 ?x54!10 ?x53!11)
+#2040 := (uf_10 #2039)
+#2047 := (* -1::int #2040)
+decl uf_19 :: T3
+#141 := uf_19
+#2037 := (uf_4 uf_19 ?x54!10)
+#2043 := (* -1::int #2037)
+#2694 := (+ #2043 #2047)
+#2035 := (uf_4 uf_19 ?x53!11)
+#2695 := (+ #2035 #2694)
+#2696 := (<= #2695 0::int)
+#2048 := (+ uf_9 #2047)
+#2049 := (<= #2048 0::int)
+#2044 := (+ uf_9 #2043)
+#2045 := (<= #2044 0::int)
+#3245 := (or #2045 #2049 #2696)
+#3250 := (not #3245)
+#149 := (uf_4 uf_19 #10)
+#1264 := (* -1::int #149)
+#146 := (uf_4 uf_19 #11)
+#1265 := (+ #146 #1264)
+#1271 := (+ #88 #1265)
+#1294 := (>= #1271 0::int)
+#1251 := (* -1::int #146)
+#1252 := (+ uf_9 #1251)
+#1253 := (<= #1252 0::int)
+#3213 := (or #1144 #1253 #1294)
+#4254 := (forall (vars (?x53 T2) (?x54 T2)) (:pat #4155) #3213)
+#4259 := (not #4254)
+#161 := (uf_4 uf_19 uf_11)
+#162 := (= #161 0::int)
+#4262 := (or #162 #4259)
+#4265 := (not #4262)
+#4268 := (or #4265 #3250)
+#4271 := (not #4268)
+#4230 := (pattern #146)
+decl ?x50!9 :: (-> T2 T2)
+#2010 := (?x50!9 #11)
+#2013 := (uf_1 #2010 #11)
+#2014 := (uf_10 #2013)
+#2664 := (* -1::int #2014)
+#2011 := (uf_4 uf_19 #2010)
+#2647 := (* -1::int #2011)
+#2665 := (+ #2647 #2664)
+#2666 := (+ #146 #2665)
+#2667 := (= #2666 0::int)
+#3183 := (not #2667)
+#2648 := (+ #146 #2647)
+#2649 := (<= #2648 0::int)
+#3184 := (or #2649 #3183)
+#3185 := (not #3184)
+#65 := (= #11 uf_11)
+#3191 := (or #65 #1253 #3185)
+#4246 := (forall (vars (?x49 T2)) (:pat #4230) #3191)
+#4251 := (not #4246)
+#4274 := (or #4251 #4271)
+#4277 := (not #4274)
+decl ?x49!8 :: T2
+#1970 := ?x49!8
+#1974 := (uf_1 #11 ?x49!8)
+#4231 := (pattern #1974)
+#1975 := (uf_10 #1974)
+#1971 := (uf_4 uf_19 ?x49!8)
+#1972 := (* -1::int #1971)
+#2617 := (+ #1972 #1975)
+#2618 := (+ #146 #2617)
+#2621 := (= #2618 0::int)
+#3147 := (not #2621)
+#1973 := (+ #146 #1972)
+#1978 := (>= #1973 0::int)
+#3148 := (or #1978 #3147)
+#4232 := (forall (vars (?x50 T2)) (:pat #4230 #4231) #3148)
+#4237 := (not #4232)
+#2593 := (= uf_11 ?x49!8)
+#1982 := (+ uf_9 #1972)
+#1983 := (<= #1982 0::int)
+#4240 := (or #1983 #2593 #4237)
+#4243 := (not #4240)
+#4280 := (or #4243 #4277)
+#4283 := (not #4280)
+#1206 := (* -1::int #107)
+#1207 := (+ uf_9 #1206)
+#1208 := (<= #1207 0::int)
+#3133 := (or #111 #1208)
+#4222 := (forall (vars (?x48 T2)) (:pat #4221 #4179) #3133)
+#4227 := (not #4222)
+#509 := (= uf_14 uf_19)
+#614 := (not #509)
+decl uf_16 :: T4
+#136 := uf_16
+#506 := (= uf_15 uf_16)
+#632 := (not #506)
+decl uf_21 :: T3
+#144 := uf_21
+decl uf_20 :: T3
+#143 := uf_20
+#145 := (= uf_20 uf_21)
+#605 := (not #145)
+decl uf_18 :: T2
+#139 := uf_18
+decl uf_17 :: T2
+#138 := uf_17
+#140 := (= uf_17 uf_18)
+#623 := (not #140)
+#4286 := (or #623 #605 #632 #614 #4227 #4283)
+#4289 := (not #4286)
+#4447 := (or #4289 #4444)
+#4450 := (not #4447)
+#1934 := (?x47!7 #11)
+#1935 := (uf_4 uf_14 #1934)
+#2552 := (* -1::int #1935)
+#2567 := (+ #107 #2552)
+#2568 := (<= #2567 0::int)
+#1939 := (uf_1 #1934 #11)
+#1940 := (uf_10 #1939)
+#2553 := (* -1::int #1940)
+#2554 := (+ #2552 #2553)
+#2555 := (+ #107 #2554)
+#2556 := (= #2555 0::int)
+#3117 := (not #2556)
+#1943 := (up_6 uf_15 #1934)
+#3116 := (not #1943)
+#3118 := (or #3116 #3117 #2568)
+#3119 := (not #3118)
+#3125 := (or #65 #1208 #3119)
+#4213 := (forall (vars (?x46 T2)) (:pat #4179) #3125)
+#4218 := (not #4213)
+decl uf_12 :: (-> T2 int)
+#66 := (uf_12 #11)
+#4131 := (pattern #66)
+decl ?x38!6 :: (-> T2 T2)
+#1907 := (?x38!6 #11)
+#1911 := (uf_12 #1907)
+#2511 := (* -1::int #1911)
+#1908 := (uf_1 #1907 #11)
+#1909 := (uf_10 #1908)
+#2528 := (* -1::int #1909)
+#2529 := (+ #2528 #2511)
+#2530 := (+ #66 #2529)
+#2531 := (= #2530 0::int)
+#3089 := (not #2531)
+#2512 := (+ #66 #2511)
+#2513 := (<= #2512 0::int)
+decl up_13 :: (-> T2 bool)
+#1917 := (up_13 #1907)
+#3088 := (not #1917)
+#3090 := (or #3088 #2513 #3089)
+#3091 := (not #3090)
+#1168 := (* -1::int #66)
+#1169 := (+ uf_9 #1168)
+#1170 := (<= #1169 0::int)
+#3097 := (or #65 #1170 #3091)
+#4205 := (forall (vars (?x37 T2)) (:pat #4131) #3097)
+#4210 := (not #4205)
+#113 := (up_6 uf_15 #10)
+#4196 := (pattern #111 #113)
+#115 := (uf_4 uf_14 #10)
+#1220 := (* -1::int #115)
+#1221 := (+ #107 #1220)
+#1224 := (>= #1221 0::int)
+#3054 := (not #113)
+#3069 := (or #111 #3054 #1224)
+#4197 := (forall (vars (?x42 T2) (?x43 T2)) (:pat #4196) #3069)
+#4202 := (not #4197)
+#1222 := (+ #88 #1221)
+#1602 := (>= #1222 0::int)
+#112 := (not #111)
+#3046 := (or #112 #1144 #1602)
+#4188 := (forall (vars (?x44 T2) (?x45 T2)) (:pat #4155) #3046)
+#4193 := (not #4188)
+#1625 := (>= #107 0::int)
+#4180 := (forall (vars (?x41 T2)) (:pat #4179) #1625)
+#4185 := (not #4180)
+#105 := (uf_4 uf_14 uf_11)
+#106 := (= #105 0::int)
+#1636 := (not #106)
+#4453 := (or #1636 #4185 #4193 #4202 #4210 #4218 #4450)
+#4456 := (not #4453)
+decl ?x37!5 :: T2
+#1863 := ?x37!5
+#1864 := (uf_1 #11 ?x37!5)
+#4164 := (pattern #1864)
+#74 := (up_13 #11)
+#4124 := (pattern #74)
+#1866 := (uf_12 ?x37!5)
+#1867 := (* -1::int #1866)
+#1865 := (uf_10 #1864)
+#2479 := (+ #1865 #1867)
+#2480 := (+ #66 #2479)
+#2483 := (= #2480 0::int)
+#3007 := (not #2483)
+#1871 := (+ #66 #1867)
+#1872 := (>= #1871 0::int)
+#75 := (not #74)
+#3008 := (or #75 #1872 #3007)
+#4165 := (forall (vars (?x38 T2)) (:pat #4124 #4131 #4164) #3008)
+#4170 := (not #4165)
+#2455 := (= uf_11 ?x37!5)
+#1876 := (+ uf_9 #1867)
+#1877 := (<= #1876 0::int)
+#4173 := (or #1877 #2455 #4170)
+#4176 := (not #4173)
+#4459 := (or #4176 #4456)
+#4462 := (not #4459)
+#83 := (uf_12 #10)
+#1130 := (* -1::int #83)
+#1157 := (+ #1130 #88)
+#1158 := (+ #66 #1157)
+#1155 := (>= #1158 0::int)
+#2999 := (or #75 #1144 #1155)
+#4156 := (forall (vars (?x33 T2) (?x34 T2)) (:pat #4155) #2999)
+#4161 := (not #4156)
+#4465 := (or #4161 #4462)
+#4468 := (not #4465)
+decl ?x34!3 :: T2
+#1833 := ?x34!3
+#1840 := (uf_12 ?x34!3)
+decl ?x33!4 :: T2
+#1834 := ?x33!4
+#1837 := (uf_12 ?x33!4)
+#1838 := (* -1::int #1837)
+#2442 := (+ #1838 #1840)
+#1835 := (uf_1 ?x34!3 ?x33!4)
+#1836 := (uf_10 #1835)
+#2443 := (+ #1836 #2442)
+#2446 := (>= #2443 0::int)
+#1847 := (up_13 ?x34!3)
+#2962 := (not #1847)
+#1843 := (* -1::int #1836)
+#1844 := (+ uf_9 #1843)
+#1845 := (<= #1844 0::int)
+#2977 := (or #1845 #2962 #2446)
+#8241 := [hypothesis]: #1847
+#4125 := (forall (vars (?x26 T2)) (:pat #4124) #75)
+#76 := (forall (vars (?x26 T2)) #75)
+#4128 := (iff #76 #4125)
+#4126 := (iff #75 #75)
+#4127 := [refl]: #4126
+#4129 := [quant-intro #4127]: #4128
+#1747 := (~ #76 #76)
+#1784 := (~ #75 #75)
+#1785 := [refl]: #1784
+#1748 := [nnf-pos #1785]: #1747
+#67 := (= #66 0::int)
+#70 := (not #65)
+#1694 := (or #70 #67)
+#1697 := (forall (vars (?x24 T2)) #1694)
+#1700 := (not #1697)
+#1628 := (forall (vars (?x41 T2)) #1625)
+#1631 := (not #1628)
+#114 := (and #112 #113)
+#454 := (not #114)
+#1616 := (or #454 #1224)
+#1619 := (forall (vars (?x42 T2) (?x43 T2)) #1616)
+#1622 := (not #1619)
+#1145 := (not #1144)
+#1594 := (and #111 #1145)
+#1599 := (not #1594)
+#1605 := (or #1599 #1602)
+#1608 := (forall (vars (?x44 T2) (?x45 T2)) #1605)
+#1611 := (not #1608)
+#1541 := (forall (vars (?x58 T2)) #1538)
+#1544 := (not #1541)
+#1361 := (not #1360)
+#1354 := (not #1353)
+#1364 := (and #1354 #1361)
+#1517 := (not #1364)
+#1525 := (or #1517 #1522)
+#1528 := (forall (vars (?x59 T2)) #1525)
+#1531 := (not #1528)
+#1455 := (= #1433 0::int)
+#1458 := (not #1406)
+#1467 := (and #206 #1458 #1455)
+#1472 := (exists (vars (?x76 T2)) #1467)
+#1444 := (+ uf_9 #1382)
+#1445 := (<= #1444 0::int)
+#1446 := (not #1445)
+#1449 := (and #70 #1446)
+#1452 := (not #1449)
+#1475 := (or #1452 #1472)
+#1478 := (forall (vars (?x75 T2)) #1475)
+#1423 := (and #206 #1145)
+#1428 := (not #1423)
+#1435 := (or #1428 #1431)
+#1438 := (forall (vars (?x71 T2) (?x72 T2)) #1435)
+#1441 := (not #1438)
+#1481 := (or #1441 #1478)
+#1484 := (and #1438 #1481)
+#215 := (and #213 #214)
+#716 := (not #215)
+#1411 := (or #716 #1406)
+#1414 := (forall (vars (?x67 T2) (?x68 T2)) #1411)
+#1417 := (not #1414)
+#1487 := (or #1417 #1484)
+#1490 := (and #1414 #1487)
+#1400 := (forall (vars (?x65 T2)) #1397)
+#1403 := (not #1400)
+#1493 := (or #1403 #1490)
+#1496 := (and #1400 #1493)
+#1499 := (or #1394 #1496)
+#1502 := (and #210 #1499)
+#710 := (forall (vars (?x63 T2)) #705)
+#846 := (not #710)
+#1505 := (or #846 #1502)
+#1508 := (and #710 #1505)
+#1386 := (forall (vars (?x61 T2)) #1381)
+#1389 := (not #1386)
+#1511 := (or #1389 #1508)
+#1514 := (and #1386 #1511)
+#1370 := (or #688 #1364)
+#1375 := (forall (vars (?x60 T2)) #1370)
+#1378 := (not #1375)
+#1209 := (not #1208)
+#1325 := (and #112 #1209)
+#1328 := (exists (vars (?x48 T2)) #1325)
+#1559 := (not #1328)
+#1583 := (or #180 #888 #1559 #1378 #1514 #1531 #1544 #1548)
+#1254 := (not #1253)
+#1288 := (and #1145 #1254)
+#1291 := (not #1288)
+#1297 := (or #1291 #1294)
+#1300 := (forall (vars (?x53 T2) (?x54 T2)) #1297)
+#1303 := (not #1300)
+#1311 := (or #162 #1303)
+#1316 := (and #1300 #1311)
+#1269 := (= #1271 0::int)
+#1263 := (>= #1265 0::int)
+#1266 := (not #1263)
+#1273 := (and #1266 #1269)
+#1276 := (exists (vars (?x50 T2)) #1273)
+#1257 := (and #70 #1254)
+#1260 := (not #1257)
+#1279 := (or #1260 #1276)
+#1282 := (forall (vars (?x49 T2)) #1279)
+#1285 := (not #1282)
+#1319 := (or #1285 #1316)
+#1322 := (and #1282 #1319)
+#1346 := (or #623 #605 #632 #614 #1322 #1328)
+#1588 := (and #1346 #1583)
+#1225 := (not #1224)
+#1218 := (= #1222 0::int)
+#1234 := (and #111 #1218 #1225)
+#1239 := (exists (vars (?x47 T2)) #1234)
+#1212 := (and #70 #1209)
+#1215 := (not #1212)
+#1242 := (or #1215 #1239)
+#1245 := (forall (vars (?x46 T2)) #1242)
+#1248 := (not #1245)
+#1180 := (= #1158 0::int)
+#1131 := (+ #66 #1130)
+#1129 := (>= #1131 0::int)
+#1183 := (not #1129)
+#1192 := (and #74 #1183 #1180)
+#1197 := (exists (vars (?x38 T2)) #1192)
+#1171 := (not #1170)
+#1174 := (and #70 #1171)
+#1177 := (not #1174)
+#1200 := (or #1177 #1197)
+#1203 := (forall (vars (?x37 T2)) #1200)
+#1639 := (not #1203)
+#1660 := (or #1636 #1639 #1248 #1588 #1611 #1622 #1631)
+#1665 := (and #1203 #1660)
+#1148 := (and #74 #1145)
+#1151 := (not #1148)
+#1159 := (or #1151 #1155)
+#1162 := (forall (vars (?x33 T2) (?x34 T2)) #1159)
+#1165 := (not #1162)
+#1668 := (or #1165 #1665)
+#1671 := (and #1162 #1668)
+#81 := (up_13 #10)
+#82 := (and #75 #81)
+#430 := (not #82)
+#1133 := (or #430 #1129)
+#1136 := (forall (vars (?x29 T2) (?x30 T2)) #1133)
+#1139 := (not #1136)
+#1674 := (or #1139 #1671)
+#1677 := (and #1136 #1674)
+#1120 := (>= #66 0::int)
+#1121 := (forall (vars (?x27 T2)) #1120)
+#1124 := (not #1121)
+#1680 := (or #1124 #1677)
+#1683 := (and #1121 #1680)
+#77 := (uf_12 uf_11)
+#78 := (= #77 0::int)
+#1115 := (not #78)
+#1686 := (or #1115 #1683)
+#1689 := (and #78 #1686)
+#413 := (= uf_9 #66)
+#419 := (or #65 #413)
+#424 := (forall (vars (?x25 T2)) #419)
+#1084 := (not #424)
+#1075 := (not #76)
+#1712 := (or #1075 #1084 #1689 #1700)
+#1717 := (not #1712)
+#1 := true
+#234 := (implies false true)
+#221 := (+ #196 #88)
+#228 := (= #216 #221)
+#229 := (and #206 #228)
+#227 := (< #196 #216)
+#230 := (and #227 #229)
+#231 := (exists (vars (?x76 T2)) #230)
+#225 := (< #196 uf_9)
+#226 := (and #70 #225)
+#232 := (implies #226 #231)
+#233 := (forall (vars (?x75 T2)) #232)
+#235 := (implies #233 #234)
+#236 := (and #233 #235)
+#222 := (<= #216 #221)
+#89 := (< #88 uf_9)
+#220 := (and #206 #89)
+#223 := (implies #220 #222)
+#224 := (forall (vars (?x71 T2) (?x72 T2)) #223)
+#237 := (implies #224 #236)
+#238 := (and #224 #237)
+#217 := (<= #216 #196)
+#218 := (implies #215 #217)
+#219 := (forall (vars (?x67 T2) (?x68 T2)) #218)
+#239 := (implies #219 #238)
+#240 := (and #219 #239)
+#211 := (<= 0::int #196)
+#212 := (forall (vars (?x65 T2)) #211)
+#241 := (implies #212 #240)
+#242 := (and #212 #241)
+#243 := (implies #210 #242)
+#244 := (and #210 #243)
+#245 := (implies true #244)
+#246 := (implies true #245)
+#201 := (= #196 #107)
+#207 := (implies #206 #201)
+#208 := (forall (vars (?x63 T2)) #207)
+#247 := (implies #208 #246)
+#248 := (and #208 #247)
+#204 := (<= #196 #107)
+#205 := (forall (vars (?x61 T2)) #204)
+#249 := (implies #205 #248)
+#250 := (and #205 #249)
+#193 := (+ #182 #191)
+#194 := (< #193 #107)
+#192 := (< #191 uf_9)
+#195 := (and #192 #194)
+#200 := (not #195)
+#202 := (implies #200 #201)
+#203 := (forall (vars (?x60 T2)) #202)
+#251 := (implies #203 #250)
+#197 := (= #196 #193)
+#198 := (implies #195 #197)
+#199 := (forall (vars (?x59 T2)) #198)
+#252 := (implies #199 #251)
+#253 := (implies #189 #252)
+#184 := (<= #182 #107)
+#185 := (implies #112 #184)
+#186 := (forall (vars (?x58 T2)) #185)
+#254 := (implies #186 #253)
+#183 := (< #182 uf_9)
+#255 := (implies #183 #254)
+#181 := (not #180)
+#256 := (implies #181 #255)
+#124 := (< #107 uf_9)
+#133 := (and #112 #124)
+#134 := (exists (vars (?x48 T2)) #133)
+#257 := (implies #134 #256)
+#258 := (implies true #257)
+#259 := (implies true #258)
+#163 := (implies #162 true)
+#164 := (and #162 #163)
+#151 := (+ #146 #88)
+#158 := (<= #149 #151)
+#147 := (< #146 uf_9)
+#157 := (and #147 #89)
+#159 := (implies #157 #158)
+#160 := (forall (vars (?x53 T2) (?x54 T2)) #159)
+#165 := (implies #160 #164)
+#166 := (and #160 #165)
+#152 := (= #149 #151)
+#150 := (< #146 #149)
+#153 := (and #150 #152)
+#154 := (exists (vars (?x50 T2)) #153)
+#148 := (and #70 #147)
+#155 := (implies #148 #154)
+#156 := (forall (vars (?x49 T2)) #155)
+#167 := (implies #156 #166)
+#168 := (and #156 #167)
+#169 := (implies true #168)
+#170 := (implies #145 #169)
+#142 := (= uf_19 uf_14)
+#171 := (implies #142 #170)
+#172 := (implies #140 #171)
+#137 := (= uf_16 uf_15)
+#173 := (implies #137 #172)
+#174 := (implies true #173)
+#175 := (implies true #174)
+#135 := (not #134)
+#176 := (implies #135 #175)
+#177 := (implies true #176)
+#178 := (implies true #177)
+#260 := (and #178 #259)
+#261 := (implies true #260)
+#120 := (+ #107 #88)
+#127 := (= #115 #120)
+#128 := (and #111 #127)
+#126 := (< #107 #115)
+#129 := (and #126 #128)
+#130 := (exists (vars (?x47 T2)) #129)
+#125 := (and #70 #124)
+#131 := (implies #125 #130)
+#132 := (forall (vars (?x46 T2)) #131)
+#262 := (implies #132 #261)
+#121 := (<= #115 #120)
+#119 := (and #111 #89)
+#122 := (implies #119 #121)
+#123 := (forall (vars (?x44 T2) (?x45 T2)) #122)
+#263 := (implies #123 #262)
+#116 := (<= #115 #107)
+#117 := (implies #114 #116)
+#118 := (forall (vars (?x42 T2) (?x43 T2)) #117)
+#264 := (implies #118 #263)
+#108 := (<= 0::int #107)
+#109 := (forall (vars (?x41 T2)) #108)
+#265 := (implies #109 #264)
+#266 := (implies #106 #265)
+#267 := (implies true #266)
+#268 := (implies true #267)
+#91 := (+ #66 #88)
+#98 := (= #83 #91)
+#99 := (and #74 #98)
+#97 := (< #66 #83)
+#100 := (and #97 #99)
+#101 := (exists (vars (?x38 T2)) #100)
+#95 := (< #66 uf_9)
+#96 := (and #70 #95)
+#102 := (implies #96 #101)
+#103 := (forall (vars (?x37 T2)) #102)
+#269 := (implies #103 #268)
+#270 := (and #103 #269)
+#92 := (<= #83 #91)
+#90 := (and #74 #89)
+#93 := (implies #90 #92)
+#94 := (forall (vars (?x33 T2) (?x34 T2)) #93)
+#271 := (implies #94 #270)
+#272 := (and #94 #271)
+#84 := (<= #83 #66)
+#85 := (implies #82 #84)
+#86 := (forall (vars (?x29 T2) (?x30 T2)) #85)
+#273 := (implies #86 #272)
+#274 := (and #86 #273)
+#79 := (<= 0::int #66)
+#80 := (forall (vars (?x27 T2)) #79)
+#275 := (implies #80 #274)
+#276 := (and #80 #275)
+#277 := (implies #78 #276)
+#278 := (and #78 #277)
+#279 := (implies true #278)
+#280 := (implies #76 #279)
+#71 := (= #66 uf_9)
+#72 := (implies #70 #71)
+#73 := (forall (vars (?x25 T2)) #72)
+#281 := (implies #73 #280)
+#68 := (implies #65 #67)
+#69 := (forall (vars (?x24 T2)) #68)
+#282 := (implies #69 #281)
+#283 := (implies true #282)
+#284 := (implies true #283)
+#285 := (not #284)
+#1720 := (iff #285 #1717)
+#726 := (+ #88 #196)
+#744 := (= #216 #726)
+#747 := (and #206 #744)
+#750 := (and #227 #747)
+#753 := (exists (vars (?x76 T2)) #750)
+#759 := (not #226)
+#760 := (or #759 #753)
+#765 := (forall (vars (?x75 T2)) #760)
+#729 := (<= #216 #726)
+#723 := (and #89 #206)
+#735 := (not #723)
+#736 := (or #735 #729)
+#741 := (forall (vars (?x71 T2) (?x72 T2)) #736)
+#787 := (not #741)
+#788 := (or #787 #765)
+#793 := (and #741 #788)
+#717 := (or #716 #217)
+#720 := (forall (vars (?x67 T2) (?x68 T2)) #717)
+#799 := (not #720)
+#800 := (or #799 #793)
+#805 := (and #720 #800)
+#811 := (not #212)
+#812 := (or #811 #805)
+#817 := (and #212 #812)
+#713 := (= 0::int #209)
+#823 := (not #713)
+#824 := (or #823 #817)
+#829 := (and #713 #824)
+#847 := (or #846 #829)
+#852 := (and #710 #847)
+#858 := (not #205)
+#859 := (or #858 #852)
+#864 := (and #205 #859)
+#694 := (or #195 #688)
+#699 := (forall (vars (?x60 T2)) #694)
+#870 := (not #699)
+#871 := (or #870 #864)
+#674 := (= #193 #196)
+#680 := (or #200 #674)
+#685 := (forall (vars (?x59 T2)) #680)
+#879 := (not #685)
+#880 := (or #879 #871)
+#889 := (or #888 #880)
+#668 := (or #111 #184)
+#671 := (forall (vars (?x58 T2)) #668)
+#897 := (not #671)
+#898 := (or #897 #889)
+#906 := (not #183)
+#907 := (or #906 #898)
+#915 := (or #180 #907)
+#923 := (or #135 #915)
+#554 := (= 0::int #161)
+#512 := (+ #88 #146)
+#539 := (<= #149 #512)
+#536 := (and #89 #147)
+#545 := (not #536)
+#546 := (or #545 #539)
+#551 := (forall (vars (?x53 T2) (?x54 T2)) #546)
+#574 := (not #551)
+#575 := (or #574 #554)
+#580 := (and #551 #575)
+#515 := (= #149 #512)
+#518 := (and #150 #515)
+#521 := (exists (vars (?x50 T2)) #518)
+#527 := (not #148)
+#528 := (or #527 #521)
+#533 := (forall (vars (?x49 T2)) #528)
+#586 := (not #533)
+#587 := (or #586 #580)
+#592 := (and #533 #587)
+#606 := (or #605 #592)
+#615 := (or #614 #606)
+#624 := (or #623 #615)
+#633 := (or #632 #624)
+#652 := (or #134 #633)
+#939 := (and #652 #923)
+#464 := (+ #88 #107)
+#482 := (= #115 #464)
+#485 := (and #111 #482)
+#488 := (and #126 #485)
+#491 := (exists (vars (?x47 T2)) #488)
+#497 := (not #125)
+#498 := (or #497 #491)
+#503 := (forall (vars (?x46 T2)) #498)
+#952 := (not #503)
+#953 := (or #952 #939)
+#467 := (<= #115 #464)
+#461 := (and #89 #111)
+#473 := (not #461)
+#474 := (or #473 #467)
+#479 := (forall (vars (?x44 T2) (?x45 T2)) #474)
+#961 := (not #479)
+#962 := (or #961 #953)
+#455 := (or #454 #116)
+#458 := (forall (vars (?x42 T2) (?x43 T2)) #455)
+#970 := (not #458)
+#971 := (or #970 #962)
+#979 := (not #109)
+#980 := (or #979 #971)
+#451 := (= 0::int #105)
+#988 := (not #451)
+#989 := (or #988 #980)
+#444 := (not #96)
+#445 := (or #444 #101)
+#448 := (forall (vars (?x37 T2)) #445)
+#1008 := (not #448)
+#1009 := (or #1008 #989)
+#1014 := (and #448 #1009)
+#437 := (not #90)
+#438 := (or #437 #92)
+#441 := (forall (vars (?x33 T2) (?x34 T2)) #438)
+#1020 := (not #441)
+#1021 := (or #1020 #1014)
+#1026 := (and #441 #1021)
+#431 := (or #430 #84)
+#434 := (forall (vars (?x29 T2) (?x30 T2)) #431)
+#1032 := (not #434)
+#1033 := (or #1032 #1026)
+#1038 := (and #434 #1033)
+#1044 := (not #80)
+#1045 := (or #1044 #1038)
+#1050 := (and #80 #1045)
+#427 := (= 0::int #77)
+#1056 := (not #427)
+#1057 := (or #1056 #1050)
+#1062 := (and #427 #1057)
+#1076 := (or #1075 #1062)
+#1085 := (or #1084 #1076)
+#399 := (= 0::int #66)
+#405 := (or #70 #399)
+#410 := (forall (vars (?x24 T2)) #405)
+#1093 := (not #410)
+#1094 := (or #1093 #1085)
+#1110 := (not #1094)
+#1718 := (iff #1110 #1717)
+#1715 := (iff #1094 #1712)
+#1703 := (or #1075 #1689)
+#1706 := (or #1084 #1703)
+#1709 := (or #1700 #1706)
+#1713 := (iff #1709 #1712)
+#1714 := [rewrite]: #1713
+#1710 := (iff #1094 #1709)
+#1707 := (iff #1085 #1706)
+#1704 := (iff #1076 #1703)
+#1690 := (iff #1062 #1689)
+#1687 := (iff #1057 #1686)
+#1684 := (iff #1050 #1683)
+#1681 := (iff #1045 #1680)
+#1678 := (iff #1038 #1677)
+#1675 := (iff #1033 #1674)
+#1672 := (iff #1026 #1671)
+#1669 := (iff #1021 #1668)
+#1666 := (iff #1014 #1665)
+#1663 := (iff #1009 #1660)
+#1642 := (or #1248 #1588)
+#1645 := (or #1611 #1642)
+#1648 := (or #1622 #1645)
+#1651 := (or #1631 #1648)
+#1654 := (or #1636 #1651)
+#1657 := (or #1639 #1654)
+#1661 := (iff #1657 #1660)
+#1662 := [rewrite]: #1661
+#1658 := (iff #1009 #1657)
+#1655 := (iff #989 #1654)
+#1652 := (iff #980 #1651)
+#1649 := (iff #971 #1648)
+#1646 := (iff #962 #1645)
+#1643 := (iff #953 #1642)
+#1589 := (iff #939 #1588)
+#1586 := (iff #923 #1583)
+#1562 := (or #1378 #1514)
+#1565 := (or #1531 #1562)
+#1568 := (or #888 #1565)
+#1571 := (or #1544 #1568)
+#1574 := (or #1548 #1571)
+#1577 := (or #180 #1574)
+#1580 := (or #1559 #1577)
+#1584 := (iff #1580 #1583)
+#1585 := [rewrite]: #1584
+#1581 := (iff #923 #1580)
+#1578 := (iff #915 #1577)
+#1575 := (iff #907 #1574)
+#1572 := (iff #898 #1571)
+#1569 := (iff #889 #1568)
+#1566 := (iff #880 #1565)
+#1563 := (iff #871 #1562)
+#1515 := (iff #864 #1514)
+#1512 := (iff #859 #1511)
+#1509 := (iff #852 #1508)
+#1506 := (iff #847 #1505)
+#1503 := (iff #829 #1502)
+#1500 := (iff #824 #1499)
+#1497 := (iff #817 #1496)
+#1494 := (iff #812 #1493)
+#1491 := (iff #805 #1490)
+#1488 := (iff #800 #1487)
+#1485 := (iff #793 #1484)
+#1482 := (iff #788 #1481)
+#1479 := (iff #765 #1478)
+#1476 := (iff #760 #1475)
+#1473 := (iff #753 #1472)
+#1470 := (iff #750 #1467)
+#1461 := (and #206 #1455)
+#1464 := (and #1458 #1461)
+#1468 := (iff #1464 #1467)
+#1469 := [rewrite]: #1468
+#1465 := (iff #750 #1464)
+#1462 := (iff #747 #1461)
+#1456 := (iff #744 #1455)
+#1457 := [rewrite]: #1456
+#1463 := [monotonicity #1457]: #1462
+#1459 := (iff #227 #1458)
+#1460 := [rewrite]: #1459
+#1466 := [monotonicity #1460 #1463]: #1465
+#1471 := [trans #1466 #1469]: #1470
+#1474 := [quant-intro #1471]: #1473
+#1453 := (iff #759 #1452)
+#1450 := (iff #226 #1449)
+#1447 := (iff #225 #1446)
+#1448 := [rewrite]: #1447
+#1451 := [monotonicity #1448]: #1450
+#1454 := [monotonicity #1451]: #1453
+#1477 := [monotonicity #1454 #1474]: #1476
+#1480 := [quant-intro #1477]: #1479
+#1442 := (iff #787 #1441)
+#1439 := (iff #741 #1438)
+#1436 := (iff #736 #1435)
+#1432 := (iff #729 #1431)
+#1434 := [rewrite]: #1432
+#1429 := (iff #735 #1428)
+#1426 := (iff #723 #1423)
+#1420 := (and #1145 #206)
+#1424 := (iff #1420 #1423)
+#1425 := [rewrite]: #1424
+#1421 := (iff #723 #1420)
+#1146 := (iff #89 #1145)
+#1147 := [rewrite]: #1146
+#1422 := [monotonicity #1147]: #1421
+#1427 := [trans #1422 #1425]: #1426
+#1430 := [monotonicity #1427]: #1429
+#1437 := [monotonicity #1430 #1434]: #1436
+#1440 := [quant-intro #1437]: #1439
+#1443 := [monotonicity #1440]: #1442
+#1483 := [monotonicity #1443 #1480]: #1482
+#1486 := [monotonicity #1440 #1483]: #1485
+#1418 := (iff #799 #1417)
+#1415 := (iff #720 #1414)
+#1412 := (iff #717 #1411)
+#1409 := (iff #217 #1406)
+#1410 := [rewrite]: #1409
+#1413 := [monotonicity #1410]: #1412
+#1416 := [quant-intro #1413]: #1415
+#1419 := [monotonicity #1416]: #1418
+#1489 := [monotonicity #1419 #1486]: #1488
+#1492 := [monotonicity #1416 #1489]: #1491
+#1404 := (iff #811 #1403)
+#1401 := (iff #212 #1400)
+#1398 := (iff #211 #1397)
+#1399 := [rewrite]: #1398
+#1402 := [quant-intro #1399]: #1401
+#1405 := [monotonicity #1402]: #1404
+#1495 := [monotonicity #1405 #1492]: #1494
+#1498 := [monotonicity #1402 #1495]: #1497
+#1395 := (iff #823 #1394)
+#1392 := (iff #713 #210)
+#1393 := [rewrite]: #1392
+#1396 := [monotonicity #1393]: #1395
+#1501 := [monotonicity #1396 #1498]: #1500
+#1504 := [monotonicity #1393 #1501]: #1503
+#1507 := [monotonicity #1504]: #1506
+#1510 := [monotonicity #1507]: #1509
+#1390 := (iff #858 #1389)
+#1387 := (iff #205 #1386)
+#1384 := (iff #204 #1381)
+#1385 := [rewrite]: #1384
+#1388 := [quant-intro #1385]: #1387
+#1391 := [monotonicity #1388]: #1390
+#1513 := [monotonicity #1391 #1510]: #1512
+#1516 := [monotonicity #1388 #1513]: #1515
+#1379 := (iff #870 #1378)
+#1376 := (iff #699 #1375)
+#1373 := (iff #694 #1370)
+#1367 := (or #1364 #688)
+#1371 := (iff #1367 #1370)
+#1372 := [rewrite]: #1371
+#1368 := (iff #694 #1367)
+#1365 := (iff #195 #1364)
+#1362 := (iff #194 #1361)
+#1363 := [rewrite]: #1362
+#1355 := (iff #192 #1354)
+#1356 := [rewrite]: #1355
+#1366 := [monotonicity #1356 #1363]: #1365
+#1369 := [monotonicity #1366]: #1368
+#1374 := [trans #1369 #1372]: #1373
+#1377 := [quant-intro #1374]: #1376
+#1380 := [monotonicity #1377]: #1379
+#1564 := [monotonicity #1380 #1516]: #1563
+#1532 := (iff #879 #1531)
+#1529 := (iff #685 #1528)
+#1526 := (iff #680 #1525)
+#1523 := (iff #674 #1522)
+#1524 := [rewrite]: #1523
+#1518 := (iff #200 #1517)
+#1519 := [monotonicity #1366]: #1518
+#1527 := [monotonicity #1519 #1524]: #1526
+#1530 := [quant-intro #1527]: #1529
+#1533 := [monotonicity #1530]: #1532
+#1567 := [monotonicity #1533 #1564]: #1566
+#1570 := [monotonicity #1567]: #1569
+#1545 := (iff #897 #1544)
+#1542 := (iff #671 #1541)
+#1539 := (iff #668 #1538)
+#1536 := (iff #184 #1534)
+#1537 := [rewrite]: #1536
+#1540 := [monotonicity #1537]: #1539
+#1543 := [quant-intro #1540]: #1542
+#1546 := [monotonicity #1543]: #1545
+#1573 := [monotonicity #1546 #1570]: #1572
+#1557 := (iff #906 #1548)
+#1549 := (not #1548)
+#1552 := (not #1549)
+#1555 := (iff #1552 #1548)
+#1556 := [rewrite]: #1555
+#1553 := (iff #906 #1552)
+#1550 := (iff #183 #1549)
+#1551 := [rewrite]: #1550
+#1554 := [monotonicity #1551]: #1553
+#1558 := [trans #1554 #1556]: #1557
+#1576 := [monotonicity #1558 #1573]: #1575
+#1579 := [monotonicity #1576]: #1578
+#1560 := (iff #135 #1559)
+#1329 := (iff #134 #1328)
+#1326 := (iff #133 #1325)
+#1210 := (iff #124 #1209)
+#1211 := [rewrite]: #1210
+#1327 := [monotonicity #1211]: #1326
+#1330 := [quant-intro #1327]: #1329
+#1561 := [monotonicity #1330]: #1560
+#1582 := [monotonicity #1561 #1579]: #1581
+#1587 := [trans #1582 #1585]: #1586
+#1349 := (iff #652 #1346)
+#1331 := (or #605 #1322)
+#1334 := (or #614 #1331)
+#1337 := (or #623 #1334)
+#1340 := (or #632 #1337)
+#1343 := (or #1328 #1340)
+#1347 := (iff #1343 #1346)
+#1348 := [rewrite]: #1347
+#1344 := (iff #652 #1343)
+#1341 := (iff #633 #1340)
+#1338 := (iff #624 #1337)
+#1335 := (iff #615 #1334)
+#1332 := (iff #606 #1331)
+#1323 := (iff #592 #1322)
+#1320 := (iff #587 #1319)
+#1317 := (iff #580 #1316)
+#1314 := (iff #575 #1311)
+#1308 := (or #1303 #162)
+#1312 := (iff #1308 #1311)
+#1313 := [rewrite]: #1312
+#1309 := (iff #575 #1308)
+#1306 := (iff #554 #162)
+#1307 := [rewrite]: #1306
+#1304 := (iff #574 #1303)
+#1301 := (iff #551 #1300)
+#1298 := (iff #546 #1297)
+#1295 := (iff #539 #1294)
+#1296 := [rewrite]: #1295
+#1292 := (iff #545 #1291)
+#1289 := (iff #536 #1288)
+#1255 := (iff #147 #1254)
+#1256 := [rewrite]: #1255
+#1290 := [monotonicity #1147 #1256]: #1289
+#1293 := [monotonicity #1290]: #1292
+#1299 := [monotonicity #1293 #1296]: #1298
+#1302 := [quant-intro #1299]: #1301
+#1305 := [monotonicity #1302]: #1304
+#1310 := [monotonicity #1305 #1307]: #1309
+#1315 := [trans #1310 #1313]: #1314
+#1318 := [monotonicity #1302 #1315]: #1317
+#1286 := (iff #586 #1285)
+#1283 := (iff #533 #1282)
+#1280 := (iff #528 #1279)
+#1277 := (iff #521 #1276)
+#1274 := (iff #518 #1273)
+#1270 := (iff #515 #1269)
+#1272 := [rewrite]: #1270
+#1267 := (iff #150 #1266)
+#1268 := [rewrite]: #1267
+#1275 := [monotonicity #1268 #1272]: #1274
+#1278 := [quant-intro #1275]: #1277
+#1261 := (iff #527 #1260)
+#1258 := (iff #148 #1257)
+#1259 := [monotonicity #1256]: #1258
+#1262 := [monotonicity #1259]: #1261
+#1281 := [monotonicity #1262 #1278]: #1280
+#1284 := [quant-intro #1281]: #1283
+#1287 := [monotonicity #1284]: #1286
+#1321 := [monotonicity #1287 #1318]: #1320
+#1324 := [monotonicity #1284 #1321]: #1323
+#1333 := [monotonicity #1324]: #1332
+#1336 := [monotonicity #1333]: #1335
+#1339 := [monotonicity #1336]: #1338
+#1342 := [monotonicity #1339]: #1341
+#1345 := [monotonicity #1330 #1342]: #1344
+#1350 := [trans #1345 #1348]: #1349
+#1590 := [monotonicity #1350 #1587]: #1589
+#1249 := (iff #952 #1248)
+#1246 := (iff #503 #1245)
+#1243 := (iff #498 #1242)
+#1240 := (iff #491 #1239)
+#1237 := (iff #488 #1234)
+#1228 := (and #111 #1218)
+#1231 := (and #1225 #1228)
+#1235 := (iff #1231 #1234)
+#1236 := [rewrite]: #1235
+#1232 := (iff #488 #1231)
+#1229 := (iff #485 #1228)
+#1219 := (iff #482 #1218)
+#1223 := [rewrite]: #1219
+#1230 := [monotonicity #1223]: #1229
+#1226 := (iff #126 #1225)
+#1227 := [rewrite]: #1226
+#1233 := [monotonicity #1227 #1230]: #1232
+#1238 := [trans #1233 #1236]: #1237
+#1241 := [quant-intro #1238]: #1240
+#1216 := (iff #497 #1215)
+#1213 := (iff #125 #1212)
+#1214 := [monotonicity #1211]: #1213
+#1217 := [monotonicity #1214]: #1216
+#1244 := [monotonicity #1217 #1241]: #1243
+#1247 := [quant-intro #1244]: #1246
+#1250 := [monotonicity #1247]: #1249
+#1644 := [monotonicity #1250 #1590]: #1643
+#1612 := (iff #961 #1611)
+#1609 := (iff #479 #1608)
+#1606 := (iff #474 #1605)
+#1603 := (iff #467 #1602)
+#1604 := [rewrite]: #1603
+#1600 := (iff #473 #1599)
+#1597 := (iff #461 #1594)
+#1591 := (and #1145 #111)
+#1595 := (iff #1591 #1594)
+#1596 := [rewrite]: #1595
+#1592 := (iff #461 #1591)
+#1593 := [monotonicity #1147]: #1592
+#1598 := [trans #1593 #1596]: #1597
+#1601 := [monotonicity #1598]: #1600
+#1607 := [monotonicity #1601 #1604]: #1606
+#1610 := [quant-intro #1607]: #1609
+#1613 := [monotonicity #1610]: #1612
+#1647 := [monotonicity #1613 #1644]: #1646
+#1623 := (iff #970 #1622)
+#1620 := (iff #458 #1619)
+#1617 := (iff #455 #1616)
+#1614 := (iff #116 #1224)
+#1615 := [rewrite]: #1614
+#1618 := [monotonicity #1615]: #1617
+#1621 := [quant-intro #1618]: #1620
+#1624 := [monotonicity #1621]: #1623
+#1650 := [monotonicity #1624 #1647]: #1649
+#1632 := (iff #979 #1631)
+#1629 := (iff #109 #1628)
+#1626 := (iff #108 #1625)
+#1627 := [rewrite]: #1626
+#1630 := [quant-intro #1627]: #1629
+#1633 := [monotonicity #1630]: #1632
+#1653 := [monotonicity #1633 #1650]: #1652
+#1637 := (iff #988 #1636)
+#1634 := (iff #451 #106)
+#1635 := [rewrite]: #1634
+#1638 := [monotonicity #1635]: #1637
+#1656 := [monotonicity #1638 #1653]: #1655
+#1640 := (iff #1008 #1639)
+#1204 := (iff #448 #1203)
+#1201 := (iff #445 #1200)
+#1198 := (iff #101 #1197)
+#1195 := (iff #100 #1192)
+#1186 := (and #74 #1180)
+#1189 := (and #1183 #1186)
+#1193 := (iff #1189 #1192)
+#1194 := [rewrite]: #1193
+#1190 := (iff #100 #1189)
+#1187 := (iff #99 #1186)
+#1181 := (iff #98 #1180)
+#1182 := [rewrite]: #1181
+#1188 := [monotonicity #1182]: #1187
+#1184 := (iff #97 #1183)
+#1185 := [rewrite]: #1184
+#1191 := [monotonicity #1185 #1188]: #1190
+#1196 := [trans #1191 #1194]: #1195
+#1199 := [quant-intro #1196]: #1198
+#1178 := (iff #444 #1177)
+#1175 := (iff #96 #1174)
+#1172 := (iff #95 #1171)
+#1173 := [rewrite]: #1172
+#1176 := [monotonicity #1173]: #1175
+#1179 := [monotonicity #1176]: #1178
+#1202 := [monotonicity #1179 #1199]: #1201
+#1205 := [quant-intro #1202]: #1204
+#1641 := [monotonicity #1205]: #1640
+#1659 := [monotonicity #1641 #1656]: #1658
+#1664 := [trans #1659 #1662]: #1663
+#1667 := [monotonicity #1205 #1664]: #1666
+#1166 := (iff #1020 #1165)
+#1163 := (iff #441 #1162)
+#1160 := (iff #438 #1159)
+#1154 := (iff #92 #1155)
+#1156 := [rewrite]: #1154
+#1152 := (iff #437 #1151)
+#1149 := (iff #90 #1148)
+#1150 := [monotonicity #1147]: #1149
+#1153 := [monotonicity #1150]: #1152
+#1161 := [monotonicity #1153 #1156]: #1160
+#1164 := [quant-intro #1161]: #1163
+#1167 := [monotonicity #1164]: #1166
+#1670 := [monotonicity #1167 #1667]: #1669
+#1673 := [monotonicity #1164 #1670]: #1672
+#1140 := (iff #1032 #1139)
+#1137 := (iff #434 #1136)
+#1134 := (iff #431 #1133)
+#1128 := (iff #84 #1129)
+#1132 := [rewrite]: #1128
+#1135 := [monotonicity #1132]: #1134
+#1138 := [quant-intro #1135]: #1137
+#1141 := [monotonicity #1138]: #1140
+#1676 := [monotonicity #1141 #1673]: #1675
+#1679 := [monotonicity #1138 #1676]: #1678
+#1125 := (iff #1044 #1124)
+#1122 := (iff #80 #1121)
+#1118 := (iff #79 #1120)
+#1119 := [rewrite]: #1118
+#1123 := [quant-intro #1119]: #1122
+#1126 := [monotonicity #1123]: #1125
+#1682 := [monotonicity #1126 #1679]: #1681
+#1685 := [monotonicity #1123 #1682]: #1684
+#1116 := (iff #1056 #1115)
+#1113 := (iff #427 #78)
+#1114 := [rewrite]: #1113
+#1117 := [monotonicity #1114]: #1116
+#1688 := [monotonicity #1117 #1685]: #1687
+#1691 := [monotonicity #1114 #1688]: #1690
+#1705 := [monotonicity #1691]: #1704
+#1708 := [monotonicity #1705]: #1707
+#1701 := (iff #1093 #1700)
+#1698 := (iff #410 #1697)
+#1695 := (iff #405 #1694)
+#1692 := (iff #399 #67)
+#1693 := [rewrite]: #1692
+#1696 := [monotonicity #1693]: #1695
+#1699 := [quant-intro #1696]: #1698
+#1702 := [monotonicity #1699]: #1701
+#1711 := [monotonicity #1702 #1708]: #1710
+#1716 := [trans #1711 #1714]: #1715
+#1719 := [monotonicity #1716]: #1718
+#1111 := (iff #285 #1110)
+#1108 := (iff #284 #1094)
+#1099 := (implies true #1094)
+#1102 := (iff #1099 #1094)
+#1103 := [rewrite]: #1102
+#1106 := (iff #284 #1099)
+#1104 := (iff #283 #1094)
+#1100 := (iff #283 #1099)
+#1097 := (iff #282 #1094)
+#1090 := (implies #410 #1085)
+#1095 := (iff #1090 #1094)
+#1096 := [rewrite]: #1095
+#1091 := (iff #282 #1090)
+#1088 := (iff #281 #1085)
+#1081 := (implies #424 #1076)
+#1086 := (iff #1081 #1085)
+#1087 := [rewrite]: #1086
+#1082 := (iff #281 #1081)
+#1079 := (iff #280 #1076)
+#1072 := (implies #76 #1062)
+#1077 := (iff #1072 #1076)
+#1078 := [rewrite]: #1077
+#1073 := (iff #280 #1072)
+#1070 := (iff #279 #1062)
+#1065 := (implies true #1062)
+#1068 := (iff #1065 #1062)
+#1069 := [rewrite]: #1068
+#1066 := (iff #279 #1065)
+#1063 := (iff #278 #1062)
+#1060 := (iff #277 #1057)
+#1053 := (implies #427 #1050)
+#1058 := (iff #1053 #1057)
+#1059 := [rewrite]: #1058
+#1054 := (iff #277 #1053)
+#1051 := (iff #276 #1050)
+#1048 := (iff #275 #1045)
+#1041 := (implies #80 #1038)
+#1046 := (iff #1041 #1045)
+#1047 := [rewrite]: #1046
+#1042 := (iff #275 #1041)
+#1039 := (iff #274 #1038)
+#1036 := (iff #273 #1033)
+#1029 := (implies #434 #1026)
+#1034 := (iff #1029 #1033)
+#1035 := [rewrite]: #1034
+#1030 := (iff #273 #1029)
+#1027 := (iff #272 #1026)
+#1024 := (iff #271 #1021)
+#1017 := (implies #441 #1014)
+#1022 := (iff #1017 #1021)
+#1023 := [rewrite]: #1022
+#1018 := (iff #271 #1017)
+#1015 := (iff #270 #1014)
+#1012 := (iff #269 #1009)
+#1005 := (implies #448 #989)
+#1010 := (iff #1005 #1009)
+#1011 := [rewrite]: #1010
+#1006 := (iff #269 #1005)
+#1003 := (iff #268 #989)
+#994 := (implies true #989)
+#997 := (iff #994 #989)
+#998 := [rewrite]: #997
+#1001 := (iff #268 #994)
+#999 := (iff #267 #989)
+#995 := (iff #267 #994)
+#992 := (iff #266 #989)
+#985 := (implies #451 #980)
+#990 := (iff #985 #989)
+#991 := [rewrite]: #990
+#986 := (iff #266 #985)
+#983 := (iff #265 #980)
+#976 := (implies #109 #971)
+#981 := (iff #976 #980)
+#982 := [rewrite]: #981
+#977 := (iff #265 #976)
+#974 := (iff #264 #971)
+#967 := (implies #458 #962)
+#972 := (iff #967 #971)
+#973 := [rewrite]: #972
+#968 := (iff #264 #967)
+#965 := (iff #263 #962)
+#958 := (implies #479 #953)
+#963 := (iff #958 #962)
+#964 := [rewrite]: #963
+#959 := (iff #263 #958)
+#956 := (iff #262 #953)
+#949 := (implies #503 #939)
+#954 := (iff #949 #953)
+#955 := [rewrite]: #954
+#950 := (iff #262 #949)
+#947 := (iff #261 #939)
+#942 := (implies true #939)
+#945 := (iff #942 #939)
+#946 := [rewrite]: #945
+#943 := (iff #261 #942)
+#940 := (iff #260 #939)
+#937 := (iff #259 #923)
+#928 := (implies true #923)
+#931 := (iff #928 #923)
+#932 := [rewrite]: #931
+#935 := (iff #259 #928)
+#933 := (iff #258 #923)
+#929 := (iff #258 #928)
+#926 := (iff #257 #923)
+#920 := (implies #134 #915)
+#924 := (iff #920 #923)
+#925 := [rewrite]: #924
+#921 := (iff #257 #920)
+#918 := (iff #256 #915)
+#912 := (implies #181 #907)
+#916 := (iff #912 #915)
+#917 := [rewrite]: #916
+#913 := (iff #256 #912)
+#910 := (iff #255 #907)
+#903 := (implies #183 #898)
+#908 := (iff #903 #907)
+#909 := [rewrite]: #908
+#904 := (iff #255 #903)
+#901 := (iff #254 #898)
+#894 := (implies #671 #889)
+#899 := (iff #894 #898)
+#900 := [rewrite]: #899
+#895 := (iff #254 #894)
+#892 := (iff #253 #889)
+#885 := (implies #189 #880)
+#890 := (iff #885 #889)
+#891 := [rewrite]: #890
+#886 := (iff #253 #885)
+#883 := (iff #252 #880)
+#876 := (implies #685 #871)
+#881 := (iff #876 #880)
+#882 := [rewrite]: #881
+#877 := (iff #252 #876)
+#874 := (iff #251 #871)
+#867 := (implies #699 #864)
+#872 := (iff #867 #871)
+#873 := [rewrite]: #872
+#868 := (iff #251 #867)
+#865 := (iff #250 #864)
+#862 := (iff #249 #859)
+#855 := (implies #205 #852)
+#860 := (iff #855 #859)
+#861 := [rewrite]: #860
+#856 := (iff #249 #855)
+#853 := (iff #248 #852)
+#850 := (iff #247 #847)
+#843 := (implies #710 #829)
+#848 := (iff #843 #847)
+#849 := [rewrite]: #848
+#844 := (iff #247 #843)
+#841 := (iff #246 #829)
+#832 := (implies true #829)
+#835 := (iff #832 #829)
+#836 := [rewrite]: #835
+#839 := (iff #246 #832)
+#837 := (iff #245 #829)
+#833 := (iff #245 #832)
+#830 := (iff #244 #829)
+#827 := (iff #243 #824)
+#820 := (implies #713 #817)
+#825 := (iff #820 #824)
+#826 := [rewrite]: #825
+#821 := (iff #243 #820)
+#818 := (iff #242 #817)
+#815 := (iff #241 #812)
+#808 := (implies #212 #805)
+#813 := (iff #808 #812)
+#814 := [rewrite]: #813
+#809 := (iff #241 #808)
+#806 := (iff #240 #805)
+#803 := (iff #239 #800)
+#796 := (implies #720 #793)
+#801 := (iff #796 #800)
+#802 := [rewrite]: #801
+#797 := (iff #239 #796)
+#794 := (iff #238 #793)
+#791 := (iff #237 #788)
+#784 := (implies #741 #765)
+#789 := (iff #784 #788)
+#790 := [rewrite]: #789
+#785 := (iff #237 #784)
+#782 := (iff #236 #765)
+#777 := (and #765 true)
+#780 := (iff #777 #765)
+#781 := [rewrite]: #780
+#778 := (iff #236 #777)
+#775 := (iff #235 true)
+#770 := (implies #765 true)
+#773 := (iff #770 true)
+#774 := [rewrite]: #773
+#771 := (iff #235 #770)
+#768 := (iff #234 true)
+#769 := [rewrite]: #768
+#766 := (iff #233 #765)
+#763 := (iff #232 #760)
+#756 := (implies #226 #753)
+#761 := (iff #756 #760)
+#762 := [rewrite]: #761
+#757 := (iff #232 #756)
+#754 := (iff #231 #753)
+#751 := (iff #230 #750)
+#748 := (iff #229 #747)
+#745 := (iff #228 #744)
+#727 := (= #221 #726)
+#728 := [rewrite]: #727
+#746 := [monotonicity #728]: #745
+#749 := [monotonicity #746]: #748
+#752 := [monotonicity #749]: #751
+#755 := [quant-intro #752]: #754
+#758 := [monotonicity #755]: #757
+#764 := [trans #758 #762]: #763
+#767 := [quant-intro #764]: #766
+#772 := [monotonicity #767 #769]: #771
+#776 := [trans #772 #774]: #775
+#779 := [monotonicity #767 #776]: #778
+#783 := [trans #779 #781]: #782
+#742 := (iff #224 #741)
+#739 := (iff #223 #736)
+#732 := (implies #723 #729)
+#737 := (iff #732 #736)
+#738 := [rewrite]: #737
+#733 := (iff #223 #732)
+#730 := (iff #222 #729)
+#731 := [monotonicity #728]: #730
+#724 := (iff #220 #723)
+#725 := [rewrite]: #724
+#734 := [monotonicity #725 #731]: #733
+#740 := [trans #734 #738]: #739
+#743 := [quant-intro #740]: #742
+#786 := [monotonicity #743 #783]: #785
+#792 := [trans #786 #790]: #791
+#795 := [monotonicity #743 #792]: #794
+#721 := (iff #219 #720)
+#718 := (iff #218 #717)
+#719 := [rewrite]: #718
+#722 := [quant-intro #719]: #721
+#798 := [monotonicity #722 #795]: #797
+#804 := [trans #798 #802]: #803
+#807 := [monotonicity #722 #804]: #806
+#810 := [monotonicity #807]: #809
+#816 := [trans #810 #814]: #815
+#819 := [monotonicity #816]: #818
+#714 := (iff #210 #713)
+#715 := [rewrite]: #714
+#822 := [monotonicity #715 #819]: #821
+#828 := [trans #822 #826]: #827
+#831 := [monotonicity #715 #828]: #830
+#834 := [monotonicity #831]: #833
+#838 := [trans #834 #836]: #837
+#840 := [monotonicity #838]: #839
+#842 := [trans #840 #836]: #841
+#711 := (iff #208 #710)
+#708 := (iff #207 #705)
+#702 := (implies #206 #688)
+#706 := (iff #702 #705)
+#707 := [rewrite]: #706
+#703 := (iff #207 #702)
+#689 := (iff #201 #688)
+#690 := [rewrite]: #689
+#704 := [monotonicity #690]: #703
+#709 := [trans #704 #707]: #708
+#712 := [quant-intro #709]: #711
+#845 := [monotonicity #712 #842]: #844
+#851 := [trans #845 #849]: #850
+#854 := [monotonicity #712 #851]: #853
+#857 := [monotonicity #854]: #856
+#863 := [trans #857 #861]: #862
+#866 := [monotonicity #863]: #865
+#700 := (iff #203 #699)
+#697 := (iff #202 #694)
+#691 := (implies #200 #688)
+#695 := (iff #691 #694)
+#696 := [rewrite]: #695
+#692 := (iff #202 #691)
+#693 := [monotonicity #690]: #692
+#698 := [trans #693 #696]: #697
+#701 := [quant-intro #698]: #700
+#869 := [monotonicity #701 #866]: #868
+#875 := [trans #869 #873]: #874
+#686 := (iff #199 #685)
+#683 := (iff #198 #680)
+#677 := (implies #195 #674)
+#681 := (iff #677 #680)
+#682 := [rewrite]: #681
+#678 := (iff #198 #677)
+#675 := (iff #197 #674)
+#676 := [rewrite]: #675
+#679 := [monotonicity #676]: #678
+#684 := [trans #679 #682]: #683
+#687 := [quant-intro #684]: #686
+#878 := [monotonicity #687 #875]: #877
+#884 := [trans #878 #882]: #883
+#887 := [monotonicity #884]: #886
+#893 := [trans #887 #891]: #892
+#672 := (iff #186 #671)
+#669 := (iff #185 #668)
+#670 := [rewrite]: #669
+#673 := [quant-intro #670]: #672
+#896 := [monotonicity #673 #893]: #895
+#902 := [trans #896 #900]: #901
+#905 := [monotonicity #902]: #904
+#911 := [trans #905 #909]: #910
+#914 := [monotonicity #911]: #913
+#919 := [trans #914 #917]: #918
+#922 := [monotonicity #919]: #921
+#927 := [trans #922 #925]: #926
+#930 := [monotonicity #927]: #929
+#934 := [trans #930 #932]: #933
+#936 := [monotonicity #934]: #935
+#938 := [trans #936 #932]: #937
+#666 := (iff #178 #652)
+#657 := (implies true #652)
+#660 := (iff #657 #652)
+#661 := [rewrite]: #660
+#664 := (iff #178 #657)
+#662 := (iff #177 #652)
+#658 := (iff #177 #657)
+#655 := (iff #176 #652)
+#649 := (implies #135 #633)
+#653 := (iff #649 #652)
+#654 := [rewrite]: #653
+#650 := (iff #176 #649)
+#647 := (iff #175 #633)
+#638 := (implies true #633)
+#641 := (iff #638 #633)
+#642 := [rewrite]: #641
+#645 := (iff #175 #638)
+#643 := (iff #174 #633)
+#639 := (iff #174 #638)
+#636 := (iff #173 #633)
+#629 := (implies #506 #624)
+#634 := (iff #629 #633)
+#635 := [rewrite]: #634
+#630 := (iff #173 #629)
+#627 := (iff #172 #624)
+#620 := (implies #140 #615)
+#625 := (iff #620 #624)
+#626 := [rewrite]: #625
+#621 := (iff #172 #620)
+#618 := (iff #171 #615)
+#611 := (implies #509 #606)
+#616 := (iff #611 #615)
+#617 := [rewrite]: #616
+#612 := (iff #171 #611)
+#609 := (iff #170 #606)
+#602 := (implies #145 #592)
+#607 := (iff #602 #606)
+#608 := [rewrite]: #607
+#603 := (iff #170 #602)
+#600 := (iff #169 #592)
+#595 := (implies true #592)
+#598 := (iff #595 #592)
+#599 := [rewrite]: #598
+#596 := (iff #169 #595)
+#593 := (iff #168 #592)
+#590 := (iff #167 #587)
+#583 := (implies #533 #580)
+#588 := (iff #583 #587)
+#589 := [rewrite]: #588
+#584 := (iff #167 #583)
+#581 := (iff #166 #580)
+#578 := (iff #165 #575)
+#571 := (implies #551 #554)
+#576 := (iff #571 #575)
+#577 := [rewrite]: #576
+#572 := (iff #165 #571)
+#569 := (iff #164 #554)
+#564 := (and #554 true)
+#567 := (iff #564 #554)
+#568 := [rewrite]: #567
+#565 := (iff #164 #564)
+#562 := (iff #163 true)
+#557 := (implies #554 true)
+#560 := (iff #557 true)
+#561 := [rewrite]: #560
+#558 := (iff #163 #557)
+#555 := (iff #162 #554)
+#556 := [rewrite]: #555
+#559 := [monotonicity #556]: #558
+#563 := [trans #559 #561]: #562
+#566 := [monotonicity #556 #563]: #565
+#570 := [trans #566 #568]: #569
+#552 := (iff #160 #551)
+#549 := (iff #159 #546)
+#542 := (implies #536 #539)
+#547 := (iff #542 #546)
+#548 := [rewrite]: #547
+#543 := (iff #159 #542)
+#540 := (iff #158 #539)
+#513 := (= #151 #512)
+#514 := [rewrite]: #513
+#541 := [monotonicity #514]: #540
+#537 := (iff #157 #536)
+#538 := [rewrite]: #537
+#544 := [monotonicity #538 #541]: #543
+#550 := [trans #544 #548]: #549
+#553 := [quant-intro #550]: #552
+#573 := [monotonicity #553 #570]: #572
+#579 := [trans #573 #577]: #578
+#582 := [monotonicity #553 #579]: #581
+#534 := (iff #156 #533)
+#531 := (iff #155 #528)
+#524 := (implies #148 #521)
+#529 := (iff #524 #528)
+#530 := [rewrite]: #529
+#525 := (iff #155 #524)
+#522 := (iff #154 #521)
+#519 := (iff #153 #518)
+#516 := (iff #152 #515)
+#517 := [monotonicity #514]: #516
+#520 := [monotonicity #517]: #519
+#523 := [quant-intro #520]: #522
+#526 := [monotonicity #523]: #525
+#532 := [trans #526 #530]: #531
+#535 := [quant-intro #532]: #534
+#585 := [monotonicity #535 #582]: #584
+#591 := [trans #585 #589]: #590
+#594 := [monotonicity #535 #591]: #593
+#597 := [monotonicity #594]: #596
+#601 := [trans #597 #599]: #600
+#604 := [monotonicity #601]: #603
+#610 := [trans #604 #608]: #609
+#510 := (iff #142 #509)
+#511 := [rewrite]: #510
+#613 := [monotonicity #511 #610]: #612
+#619 := [trans #613 #617]: #618
+#622 := [monotonicity #619]: #621
+#628 := [trans #622 #626]: #627
+#507 := (iff #137 #506)
+#508 := [rewrite]: #507
+#631 := [monotonicity #508 #628]: #630
+#637 := [trans #631 #635]: #636
+#640 := [monotonicity #637]: #639
+#644 := [trans #640 #642]: #643
+#646 := [monotonicity #644]: #645
+#648 := [trans #646 #642]: #647
+#651 := [monotonicity #648]: #650
+#656 := [trans #651 #654]: #655
+#659 := [monotonicity #656]: #658
+#663 := [trans #659 #661]: #662
+#665 := [monotonicity #663]: #664
+#667 := [trans #665 #661]: #666
+#941 := [monotonicity #667 #938]: #940
+#944 := [monotonicity #941]: #943
+#948 := [trans #944 #946]: #947
+#504 := (iff #132 #503)
+#501 := (iff #131 #498)
+#494 := (implies #125 #491)
+#499 := (iff #494 #498)
+#500 := [rewrite]: #499
+#495 := (iff #131 #494)
+#492 := (iff #130 #491)
+#489 := (iff #129 #488)
+#486 := (iff #128 #485)
+#483 := (iff #127 #482)
+#465 := (= #120 #464)
+#466 := [rewrite]: #465
+#484 := [monotonicity #466]: #483
+#487 := [monotonicity #484]: #486
+#490 := [monotonicity #487]: #489
+#493 := [quant-intro #490]: #492
+#496 := [monotonicity #493]: #495
+#502 := [trans #496 #500]: #501
+#505 := [quant-intro #502]: #504
+#951 := [monotonicity #505 #948]: #950
+#957 := [trans #951 #955]: #956
+#480 := (iff #123 #479)
+#477 := (iff #122 #474)
+#470 := (implies #461 #467)
+#475 := (iff #470 #474)
+#476 := [rewrite]: #475
+#471 := (iff #122 #470)
+#468 := (iff #121 #467)
+#469 := [monotonicity #466]: #468
+#462 := (iff #119 #461)
+#463 := [rewrite]: #462
+#472 := [monotonicity #463 #469]: #471
+#478 := [trans #472 #476]: #477
+#481 := [quant-intro #478]: #480
+#960 := [monotonicity #481 #957]: #959
+#966 := [trans #960 #964]: #965
+#459 := (iff #118 #458)
+#456 := (iff #117 #455)
+#457 := [rewrite]: #456
+#460 := [quant-intro #457]: #459
+#969 := [monotonicity #460 #966]: #968
+#975 := [trans #969 #973]: #974
+#978 := [monotonicity #975]: #977
+#984 := [trans #978 #982]: #983
+#452 := (iff #106 #451)
+#453 := [rewrite]: #452
+#987 := [monotonicity #453 #984]: #986
+#993 := [trans #987 #991]: #992
+#996 := [monotonicity #993]: #995
+#1000 := [trans #996 #998]: #999
+#1002 := [monotonicity #1000]: #1001
+#1004 := [trans #1002 #998]: #1003
+#449 := (iff #103 #448)
+#446 := (iff #102 #445)
+#447 := [rewrite]: #446
+#450 := [quant-intro #447]: #449
+#1007 := [monotonicity #450 #1004]: #1006
+#1013 := [trans #1007 #1011]: #1012
+#1016 := [monotonicity #450 #1013]: #1015
+#442 := (iff #94 #441)
+#439 := (iff #93 #438)
+#440 := [rewrite]: #439
+#443 := [quant-intro #440]: #442
+#1019 := [monotonicity #443 #1016]: #1018
+#1025 := [trans #1019 #1023]: #1024
+#1028 := [monotonicity #443 #1025]: #1027
+#435 := (iff #86 #434)
+#432 := (iff #85 #431)
+#433 := [rewrite]: #432
+#436 := [quant-intro #433]: #435
+#1031 := [monotonicity #436 #1028]: #1030
+#1037 := [trans #1031 #1035]: #1036
+#1040 := [monotonicity #436 #1037]: #1039
+#1043 := [monotonicity #1040]: #1042
+#1049 := [trans #1043 #1047]: #1048
+#1052 := [monotonicity #1049]: #1051
+#428 := (iff #78 #427)
+#429 := [rewrite]: #428
+#1055 := [monotonicity #429 #1052]: #1054
+#1061 := [trans #1055 #1059]: #1060
+#1064 := [monotonicity #429 #1061]: #1063
+#1067 := [monotonicity #1064]: #1066
+#1071 := [trans #1067 #1069]: #1070
+#1074 := [monotonicity #1071]: #1073
+#1080 := [trans #1074 #1078]: #1079
+#425 := (iff #73 #424)
+#422 := (iff #72 #419)
+#416 := (implies #70 #413)
+#420 := (iff #416 #419)
+#421 := [rewrite]: #420
+#417 := (iff #72 #416)
+#414 := (iff #71 #413)
+#415 := [rewrite]: #414
+#418 := [monotonicity #415]: #417
+#423 := [trans #418 #421]: #422
+#426 := [quant-intro #423]: #425
+#1083 := [monotonicity #426 #1080]: #1082
+#1089 := [trans #1083 #1087]: #1088
+#411 := (iff #69 #410)
+#408 := (iff #68 #405)
+#402 := (implies #65 #399)
+#406 := (iff #402 #405)
+#407 := [rewrite]: #406
+#403 := (iff #68 #402)
+#400 := (iff #67 #399)
+#401 := [rewrite]: #400
+#404 := [monotonicity #401]: #403
+#409 := [trans #404 #407]: #408
+#412 := [quant-intro #409]: #411
+#1092 := [monotonicity #412 #1089]: #1091
+#1098 := [trans #1092 #1096]: #1097
+#1101 := [monotonicity #1098]: #1100
+#1105 := [trans #1101 #1103]: #1104
+#1107 := [monotonicity #1105]: #1106
+#1109 := [trans #1107 #1103]: #1108
+#1112 := [monotonicity #1109]: #1111
+#1721 := [trans #1112 #1719]: #1720
+#398 := [asserted]: #285
+#1722 := [mp #398 #1721]: #1717
+#1723 := [not-or-elim #1722]: #76
+#1786 := [mp~ #1723 #1748]: #76
+#4130 := [mp #1786 #4129]: #4125
+#5292 := (not #4125)
+#5293 := (or #5292 #2962)
+#5294 := [quant-inst]: #5293
+#8242 := [unit-resolution #5294 #4130 #8241]: false
+#8245 := [lemma #8242]: #2962
+#3719 := (or #2977 #1847)
+#4054 := [def-axiom]: #3719
+#10109 := [unit-resolution #4054 #8245]: #2977
+#2982 := (not #2977)
+#4471 := (or #2982 #4468)
+#4474 := (not #4471)
+#4146 := (pattern #74 #81)
+#2408 := (not #81)
+#2954 := (or #74 #2408 #1129)
+#4147 := (forall (vars (?x29 T2) (?x30 T2)) (:pat #4146) #2954)
+#4152 := (not #4147)
+#4477 := (or #4152 #4474)
+#4480 := (not #4477)
+decl ?x30!1 :: T2
+#1808 := ?x30!1
+#1812 := (uf_12 ?x30!1)
+#2423 := (* -1::int #1812)
+decl ?x29!2 :: T2
+#1809 := ?x29!2
+#1810 := (uf_12 ?x29!2)
+#2424 := (+ #1810 #2423)
+#2425 := (<= #2424 0::int)
+#1816 := (up_13 ?x30!1)
+#1815 := (up_13 ?x29!2)
+#2058 := (not #1815)
+#2132 := (or #2058 #1816 #2425)
+#8816 := [hypothesis]: #1815
+#5238 := (or #5292 #2058)
+#5267 := [quant-inst]: #5238
+#8817 := [unit-resolution #5267 #4130 #8816]: false
+#8818 := [lemma #8817]: #2058
+#3648 := (or #2132 #1815)
+#3733 := [def-axiom]: #3648
+#10110 := [unit-resolution #3733 #8818]: #2132
+#1948 := (not #2132)
+#4483 := (or #1948 #4480)
+#4486 := (not #4483)
+#4138 := (forall (vars (?x27 T2)) (:pat #4131) #1120)
+#4143 := (not #4138)
+#4489 := (or #4143 #4486)
+#4492 := (not #4489)
+decl ?x27!0 :: T2
+#1793 := ?x27!0
+#1794 := (uf_12 ?x27!0)
+#1795 := (>= #1794 0::int)
+#1796 := (not #1795)
+#4495 := (or #1796 #4492)
+#4498 := (not #4495)
+#4501 := (or #1115 #4498)
+#4504 := (not #4501)
+#4511 := (forall (vars (?x24 T2)) (:pat #4131) #1694)
+#4514 := (iff #1697 #4511)
+#4512 := (iff #1694 #1694)
+#4513 := [refl]: #4512
+#4515 := [quant-intro #4513]: #4514
+#2226 := (~ #1697 #1697)
+#2022 := (~ #1694 #1694)
+#2023 := [refl]: #2022
+#2227 := [nnf-pos #2023]: #2226
+#1727 := [not-or-elim #1722]: #1697
+#2057 := [mp~ #1727 #2227]: #1697
+#4516 := [mp #2057 #4515]: #4511
+#5053 := [hypothesis]: #1115
+#3659 := (not #4511)
+#5075 := (or #3659 #78)
+#4998 := (= uf_11 uf_11)
+#4996 := (not #4998)
+#4988 := (or #4996 #78)
+#5076 := (or #3659 #4988)
+#5078 := (iff #5076 #5075)
+#5069 := (iff #5075 #5075)
+#5103 := [rewrite]: #5069
+#5070 := (iff #4988 #78)
+#5059 := (or false #78)
+#5063 := (iff #5059 #78)
+#5064 := [rewrite]: #5063
+#5062 := (iff #4988 #5059)
+#5012 := (iff #4996 false)
+#8701 := (not true)
+#8736 := (iff #8701 false)
+#8737 := [rewrite]: #8736
+#5010 := (iff #4996 #8701)
+#5008 := (iff #4998 true)
+#5009 := [rewrite]: #5008
+#5011 := [monotonicity #5009]: #5010
+#5061 := [trans #5011 #8737]: #5012
+#5052 := [monotonicity #5061]: #5062
+#5071 := [trans #5052 #5064]: #5070
+#5079 := [monotonicity #5071]: #5078
+#5104 := [trans #5079 #5103]: #5078
+#5077 := [quant-inst]: #5076
+#5105 := [mp #5077 #5104]: #5075
+#5060 := [unit-resolution #5105 #5053 #4516]: false
+#5109 := [lemma #5060]: #78
+#4507 := (or #1115 #4504)
+#3412 := (forall (vars (?x76 T2)) #3401)
+#3419 := (not #3412)
+#3397 := (forall (vars (?x71 T2) (?x72 T2)) #3392)
+#3418 := (not #3397)
+#3420 := (or #2248 #2810 #3418 #3419)
+#3421 := (not #3420)
+#3426 := (or #3375 #3421)
+#3433 := (not #3426)
+#3352 := (forall (vars (?x67 T2) (?x68 T2)) #3347)
+#3432 := (not #3352)
+#3434 := (or #3432 #3433)
+#3435 := (not #3434)
+#3440 := (or #3329 #3435)
+#3446 := (not #3440)
+#3447 := (or #1403 #3446)
+#3448 := (not #3447)
+#3453 := (or #2168 #3448)
+#3459 := (not #3453)
+#3460 := (or #1394 #3459)
+#3461 := (not #3460)
+#3466 := (or #1394 #3461)
+#3472 := (not #3466)
+#3473 := (or #846 #3472)
+#3474 := (not #3473)
+#3479 := (or #2753 #3474)
+#3485 := (not #3479)
+#3486 := (or #1389 #3485)
+#3487 := (not #3486)
+#3492 := (or #2744 #3487)
+#3500 := (not #3492)
+#3306 := (forall (vars (?x59 T2)) #3301)
+#3499 := (not #3306)
+#3288 := (forall (vars (?x60 T2)) #3285)
+#3498 := (not #3288)
+#3501 := (or #180 #888 #1544 #1548 #2104 #2106 #3498 #3499 #3500)
+#3502 := (not #3501)
+#3218 := (forall (vars (?x53 T2) (?x54 T2)) #3213)
+#3224 := (not #3218)
+#3225 := (or #162 #3224)
+#3226 := (not #3225)
+#3253 := (or #3226 #3250)
+#3260 := (not #3253)
+#3196 := (forall (vars (?x49 T2)) #3191)
+#3259 := (not #3196)
+#3261 := (or #3259 #3260)
+#3262 := (not #3261)
+#3159 := (forall (vars (?x50 T2)) #3148)
+#3165 := (not #3159)
+#3166 := (or #1983 #2593 #3165)
+#3167 := (not #3166)
+#3267 := (or #3167 #3262)
+#3274 := (not #3267)
+#3144 := (forall (vars (?x48 T2)) #3133)
+#3273 := (not #3144)
+#3275 := (or #623 #605 #632 #614 #3273 #3274)
+#3276 := (not #3275)
+#3507 := (or #3276 #3502)
+#3517 := (not #3507)
+#3130 := (forall (vars (?x46 T2)) #3125)
+#3516 := (not #3130)
+#3102 := (forall (vars (?x37 T2)) #3097)
+#3515 := (not #3102)
+#3074 := (forall (vars (?x42 T2) (?x43 T2)) #3069)
+#3514 := (not #3074)
+#3051 := (forall (vars (?x44 T2) (?x45 T2)) #3046)
+#3513 := (not #3051)
+#3518 := (or #1636 #1631 #3513 #3514 #3515 #3516 #3517)
+#3519 := (not #3518)
+#3019 := (forall (vars (?x38 T2)) #3008)
+#3025 := (not #3019)
+#3026 := (or #1877 #2455 #3025)
+#3027 := (not #3026)
+#3524 := (or #3027 #3519)
+#3531 := (not #3524)
+#3004 := (forall (vars (?x33 T2) (?x34 T2)) #2999)
+#3530 := (not #3004)
+#3532 := (or #3530 #3531)
+#3533 := (not #3532)
+#3538 := (or #2982 #3533)
+#3545 := (not #3538)
+#2959 := (forall (vars (?x29 T2) (?x30 T2)) #2954)
+#3544 := (not #2959)
+#3546 := (or #3544 #3545)
+#3547 := (not #3546)
+#3552 := (or #1948 #3547)
+#3558 := (not #3552)
+#3559 := (or #1124 #3558)
+#3560 := (not #3559)
+#3565 := (or #1796 #3560)
+#3571 := (not #3565)
+#3572 := (or #1115 #3571)
+#3573 := (not #3572)
+#3578 := (or #1115 #3573)
+#4508 := (iff #3578 #4507)
+#4505 := (iff #3573 #4504)
+#4502 := (iff #3572 #4501)
+#4499 := (iff #3571 #4498)
+#4496 := (iff #3565 #4495)
+#4493 := (iff #3560 #4492)
+#4490 := (iff #3559 #4489)
+#4487 := (iff #3558 #4486)
+#4484 := (iff #3552 #4483)
+#4481 := (iff #3547 #4480)
+#4478 := (iff #3546 #4477)
+#4475 := (iff #3545 #4474)
+#4472 := (iff #3538 #4471)
+#4469 := (iff #3533 #4468)
+#4466 := (iff #3532 #4465)
+#4463 := (iff #3531 #4462)
+#4460 := (iff #3524 #4459)
+#4457 := (iff #3519 #4456)
+#4454 := (iff #3518 #4453)
+#4451 := (iff #3517 #4450)
+#4448 := (iff #3507 #4447)
+#4445 := (iff #3502 #4444)
+#4442 := (iff #3501 #4441)
+#4439 := (iff #3500 #4438)
+#4436 := (iff #3492 #4435)
+#4433 := (iff #3487 #4432)
+#4430 := (iff #3486 #4429)
+#4427 := (iff #3485 #4426)
+#4424 := (iff #3479 #4423)
+#4421 := (iff #3474 #4420)
+#4418 := (iff #3473 #4417)
+#4415 := (iff #3472 #4414)
+#4412 := (iff #3466 #4411)
+#4409 := (iff #3461 #4408)
+#4406 := (iff #3460 #4405)
+#4403 := (iff #3459 #4402)
+#4400 := (iff #3453 #4399)
+#4397 := (iff #3448 #4396)
+#4394 := (iff #3447 #4393)
+#4391 := (iff #3446 #4390)
+#4388 := (iff #3440 #4387)
+#4385 := (iff #3435 #4384)
+#4382 := (iff #3434 #4381)
+#4379 := (iff #3433 #4378)
+#4376 := (iff #3426 #4375)
+#4373 := (iff #3421 #4372)
+#4370 := (iff #3420 #4369)
+#4367 := (iff #3419 #4366)
+#4364 := (iff #3412 #4361)
+#4362 := (iff #3401 #3401)
+#4363 := [refl]: #4362
+#4365 := [quant-intro #4363]: #4364
+#4368 := [monotonicity #4365]: #4367
+#4358 := (iff #3418 #4357)
+#4355 := (iff #3397 #4352)
+#4353 := (iff #3392 #3392)
+#4354 := [refl]: #4353
+#4356 := [quant-intro #4354]: #4355
+#4359 := [monotonicity #4356]: #4358
+#4371 := [monotonicity #4359 #4368]: #4370
+#4374 := [monotonicity #4371]: #4373
+#4377 := [monotonicity #4374]: #4376
+#4380 := [monotonicity #4377]: #4379
+#4350 := (iff #3432 #4349)
+#4347 := (iff #3352 #4344)
+#4345 := (iff #3347 #3347)
+#4346 := [refl]: #4345
+#4348 := [quant-intro #4346]: #4347
+#4351 := [monotonicity #4348]: #4350
+#4383 := [monotonicity #4351 #4380]: #4382
+#4386 := [monotonicity #4383]: #4385
+#4389 := [monotonicity #4386]: #4388
+#4392 := [monotonicity #4389]: #4391
+#4341 := (iff #1403 #4340)
+#4338 := (iff #1400 #4335)
+#4336 := (iff #1397 #1397)
+#4337 := [refl]: #4336
+#4339 := [quant-intro #4337]: #4338
+#4342 := [monotonicity #4339]: #4341
+#4395 := [monotonicity #4342 #4392]: #4394
+#4398 := [monotonicity #4395]: #4397
+#4401 := [monotonicity #4398]: #4400
+#4404 := [monotonicity #4401]: #4403
+#4407 := [monotonicity #4404]: #4406
+#4410 := [monotonicity #4407]: #4409
+#4413 := [monotonicity #4410]: #4412
+#4416 := [monotonicity #4413]: #4415
+#4333 := (iff #846 #4332)
+#4330 := (iff #710 #4327)
+#4328 := (iff #705 #705)
+#4329 := [refl]: #4328
+#4331 := [quant-intro #4329]: #4330
+#4334 := [monotonicity #4331]: #4333
+#4419 := [monotonicity #4334 #4416]: #4418
+#4422 := [monotonicity #4419]: #4421
+#4425 := [monotonicity #4422]: #4424
+#4428 := [monotonicity #4425]: #4427
+#4324 := (iff #1389 #4323)
+#4321 := (iff #1386 #4318)
+#4319 := (iff #1381 #1381)
+#4320 := [refl]: #4319
+#4322 := [quant-intro #4320]: #4321
+#4325 := [monotonicity #4322]: #4324
+#4431 := [monotonicity #4325 #4428]: #4430
+#4434 := [monotonicity #4431]: #4433
+#4437 := [monotonicity #4434]: #4436
+#4440 := [monotonicity #4437]: #4439
+#4316 := (iff #3499 #4315)
+#4313 := (iff #3306 #4310)
+#4311 := (iff #3301 #3301)
+#4312 := [refl]: #4311
+#4314 := [quant-intro #4312]: #4313
+#4317 := [monotonicity #4314]: #4316
+#4308 := (iff #3498 #4307)
+#4305 := (iff #3288 #4302)
+#4303 := (iff #3285 #3285)
+#4304 := [refl]: #4303
+#4306 := [quant-intro #4304]: #4305
+#4309 := [monotonicity #4306]: #4308
+#4298 := (iff #1544 #4297)
+#4295 := (iff #1541 #4292)
+#4293 := (iff #1538 #1538)
+#4294 := [refl]: #4293
+#4296 := [quant-intro #4294]: #4295
+#4299 := [monotonicity #4296]: #4298
+#4443 := [monotonicity #4299 #4309 #4317 #4440]: #4442
+#4446 := [monotonicity #4443]: #4445
+#4290 := (iff #3276 #4289)
+#4287 := (iff #3275 #4286)
+#4284 := (iff #3274 #4283)
+#4281 := (iff #3267 #4280)
+#4278 := (iff #3262 #4277)
+#4275 := (iff #3261 #4274)
+#4272 := (iff #3260 #4271)
+#4269 := (iff #3253 #4268)
+#4266 := (iff #3226 #4265)
+#4263 := (iff #3225 #4262)
+#4260 := (iff #3224 #4259)
+#4257 := (iff #3218 #4254)
+#4255 := (iff #3213 #3213)
+#4256 := [refl]: #4255
+#4258 := [quant-intro #4256]: #4257
+#4261 := [monotonicity #4258]: #4260
+#4264 := [monotonicity #4261]: #4263
+#4267 := [monotonicity #4264]: #4266
+#4270 := [monotonicity #4267]: #4269
+#4273 := [monotonicity #4270]: #4272
+#4252 := (iff #3259 #4251)
+#4249 := (iff #3196 #4246)
+#4247 := (iff #3191 #3191)
+#4248 := [refl]: #4247
+#4250 := [quant-intro #4248]: #4249
+#4253 := [monotonicity #4250]: #4252
+#4276 := [monotonicity #4253 #4273]: #4275
+#4279 := [monotonicity #4276]: #4278
+#4244 := (iff #3167 #4243)
+#4241 := (iff #3166 #4240)
+#4238 := (iff #3165 #4237)
+#4235 := (iff #3159 #4232)
+#4233 := (iff #3148 #3148)
+#4234 := [refl]: #4233
+#4236 := [quant-intro #4234]: #4235
+#4239 := [monotonicity #4236]: #4238
+#4242 := [monotonicity #4239]: #4241
+#4245 := [monotonicity #4242]: #4244
+#4282 := [monotonicity #4245 #4279]: #4281
+#4285 := [monotonicity #4282]: #4284
+#4228 := (iff #3273 #4227)
+#4225 := (iff #3144 #4222)
+#4223 := (iff #3133 #3133)
+#4224 := [refl]: #4223
+#4226 := [quant-intro #4224]: #4225
+#4229 := [monotonicity #4226]: #4228
+#4288 := [monotonicity #4229 #4285]: #4287
+#4291 := [monotonicity #4288]: #4290
+#4449 := [monotonicity #4291 #4446]: #4448
+#4452 := [monotonicity #4449]: #4451
+#4219 := (iff #3516 #4218)
+#4216 := (iff #3130 #4213)
+#4214 := (iff #3125 #3125)
+#4215 := [refl]: #4214
+#4217 := [quant-intro #4215]: #4216
+#4220 := [monotonicity #4217]: #4219
+#4211 := (iff #3515 #4210)
+#4208 := (iff #3102 #4205)
+#4206 := (iff #3097 #3097)
+#4207 := [refl]: #4206
+#4209 := [quant-intro #4207]: #4208
+#4212 := [monotonicity #4209]: #4211
+#4203 := (iff #3514 #4202)
+#4200 := (iff #3074 #4197)
+#4198 := (iff #3069 #3069)
 #4199 := [refl]: #4198
 #4201 := [quant-intro #4199]: #4200
-#1843 := (~ #321 #321)
-#1875 := (~ #317 #317)
-#1876 := [refl]: #1875
-#1841 := [nnf-pos #1876]: #1843
+#4204 := [monotonicity #4201]: #4203
+#4194 := (iff #3513 #4193)
+#4191 := (iff #3051 #4188)
+#4189 := (iff #3046 #3046)
+#4190 := [refl]: #4189
+#4192 := [quant-intro #4190]: #4191
+#4195 := [monotonicity #4192]: #4194
+#4186 := (iff #1631 #4185)
+#4183 := (iff #1628 #4180)
+#4181 := (iff #1625 #1625)
+#4182 := [refl]: #4181
+#4184 := [quant-intro #4182]: #4183
+#4187 := [monotonicity #4184]: #4186
+#4455 := [monotonicity #4187 #4195 #4204 #4212 #4220 #4452]: #4454
+#4458 := [monotonicity #4455]: #4457
+#4177 := (iff #3027 #4176)
+#4174 := (iff #3026 #4173)
+#4171 := (iff #3025 #4170)
+#4168 := (iff #3019 #4165)
+#4166 := (iff #3008 #3008)
+#4167 := [refl]: #4166
+#4169 := [quant-intro #4167]: #4168
+#4172 := [monotonicity #4169]: #4171
+#4175 := [monotonicity #4172]: #4174
+#4178 := [monotonicity #4175]: #4177
+#4461 := [monotonicity #4178 #4458]: #4460
+#4464 := [monotonicity #4461]: #4463
+#4162 := (iff #3530 #4161)
+#4159 := (iff #3004 #4156)
+#4157 := (iff #2999 #2999)
+#4158 := [refl]: #4157
+#4160 := [quant-intro #4158]: #4159
+#4163 := [monotonicity #4160]: #4162
+#4467 := [monotonicity #4163 #4464]: #4466
+#4470 := [monotonicity #4467]: #4469
+#4473 := [monotonicity #4470]: #4472
+#4476 := [monotonicity #4473]: #4475
+#4153 := (iff #3544 #4152)
+#4150 := (iff #2959 #4147)
+#4148 := (iff #2954 #2954)
+#4149 := [refl]: #4148
+#4151 := [quant-intro #4149]: #4150
+#4154 := [monotonicity #4151]: #4153
+#4479 := [monotonicity #4154 #4476]: #4478
+#4482 := [monotonicity #4479]: #4481
+#4485 := [monotonicity #4482]: #4484
+#4488 := [monotonicity #4485]: #4487
+#4144 := (iff #1124 #4143)
+#4141 := (iff #1121 #4138)
+#4139 := (iff #1120 #1120)
+#4140 := [refl]: #4139
+#4142 := [quant-intro #4140]: #4141
+#4145 := [monotonicity #4142]: #4144
+#4491 := [monotonicity #4145 #4488]: #4490
+#4494 := [monotonicity #4491]: #4493
+#4497 := [monotonicity #4494]: #4496
+#4500 := [monotonicity #4497]: #4499
+#4503 := [monotonicity #4500]: #4502
+#4506 := [monotonicity #4503]: #4505
+#4509 := [monotonicity #4506]: #4508
+#2244 := (not #2243)
+#2841 := (and #206 #2244 #2838)
+#2844 := (not #2841)
+#2847 := (forall (vars (?x76 T2)) #2844)
+#2813 := (not #2810)
+#2249 := (not #2248)
+#2856 := (and #1438 #2249 #2813 #2847)
+#2218 := (not #2217)
+#2783 := (and #2218 #2219)
+#2786 := (not #2783)
+#2804 := (or #2786 #2799)
+#2807 := (not #2804)
+#2861 := (or #2807 #2856)
+#2864 := (and #1414 #2861)
+#2189 := (not #2188)
+#2758 := (and #2187 #2189)
+#2761 := (not #2758)
+#2777 := (or #2761 #2772)
+#2780 := (not #2777)
+#2867 := (or #2780 #2864)
+#2870 := (and #1400 #2867)
+#2873 := (or #2168 #2870)
+#2876 := (and #210 #2873)
+#2879 := (or #1394 #2876)
+#2882 := (and #710 #2879)
+#2885 := (or #2753 #2882)
+#2888 := (and #1386 #2885)
+#2891 := (or #2744 #2888)
+#2107 := (not #2106)
+#2105 := (not #2104)
+#2897 := (and #181 #189 #1375 #1528 #1541 #1549 #2105 #2107 #2891)
+#2050 := (not #2049)
+#2046 := (not #2045)
+#2681 := (and #2046 #2050)
+#2684 := (not #2681)
+#2701 := (or #2684 #2696)
+#2704 := (not #2701)
+#2059 := (not #162)
+#2069 := (and #2059 #1300)
+#2710 := (or #2069 #2704)
+#2654 := (not #2649)
+#2672 := (and #2654 #2667)
+#2675 := (or #1260 #2672)
+#2678 := (forall (vars (?x49 T2)) #2675)
+#2715 := (and #2678 #2710)
+#1979 := (not #1978)
+#2624 := (and #1979 #2621)
+#2627 := (not #2624)
+#2630 := (forall (vars (?x50 T2)) #2627)
+#2596 := (not #2593)
+#1984 := (not #1983)
+#2636 := (and #1984 #2596 #2630)
+#2718 := (or #2636 #2715)
+#2085 := (not #1325)
+#2088 := (forall (vars (?x48 T2)) #2085)
+#2724 := (and #140 #145 #506 #509 #2088 #2718)
+#2902 := (or #2724 #2897)
+#2573 := (not #2568)
+#2576 := (and #1943 #2556 #2573)
+#2579 := (or #1215 #2576)
+#2582 := (forall (vars (?x46 T2)) #2579)
+#2518 := (not #2513)
+#2536 := (and #1917 #2518 #2531)
+#2539 := (or #1177 #2536)
+#2542 := (forall (vars (?x37 T2)) #2539)
+#2908 := (and #106 #1608 #1619 #1628 #2542 #2582 #2902)
+#1873 := (not #1872)
+#2486 := (and #74 #1873 #2483)
+#2489 := (not #2486)
+#2492 := (forall (vars (?x38 T2)) #2489)
+#2458 := (not #2455)
+#1878 := (not #1877)
+#2498 := (and #1878 #2458 #2492)
+#2913 := (or #2498 #2908)
+#2916 := (and #1162 #2913)
+#1846 := (not #1845)
+#2436 := (and #1846 #1847)
+#2439 := (not #2436)
+#2449 := (or #2439 #2446)
+#2452 := (not #2449)
+#2919 := (or #2452 #2916)
+#2922 := (and #1136 #2919)
+#1817 := (not #1816)
+#2411 := (and #1815 #1817)
+#2414 := (not #2411)
+#2430 := (or #2414 #2425)
+#2433 := (not #2430)
+#2925 := (or #2433 #2922)
+#2928 := (and #1121 #2925)
+#2931 := (or #1796 #2928)
+#2934 := (and #78 #2931)
+#2937 := (or #1115 #2934)
+#3579 := (iff #2937 #3578)
+#3576 := (iff #2934 #3573)
+#3568 := (and #78 #3565)
+#3574 := (iff #3568 #3573)
+#3575 := [rewrite]: #3574
+#3569 := (iff #2934 #3568)
+#3566 := (iff #2931 #3565)
+#3563 := (iff #2928 #3560)
+#3555 := (and #1121 #3552)
+#3561 := (iff #3555 #3560)
+#3562 := [rewrite]: #3561
+#3556 := (iff #2928 #3555)
+#3553 := (iff #2925 #3552)
+#3550 := (iff #2922 #3547)
+#3541 := (and #2959 #3538)
+#3548 := (iff #3541 #3547)
+#3549 := [rewrite]: #3548
+#3542 := (iff #2922 #3541)
+#3539 := (iff #2919 #3538)
+#3536 := (iff #2916 #3533)
+#3527 := (and #3004 #3524)
+#3534 := (iff #3527 #3533)
+#3535 := [rewrite]: #3534
+#3528 := (iff #2916 #3527)
+#3525 := (iff #2913 #3524)
+#3522 := (iff #2908 #3519)
+#3510 := (and #106 #3051 #3074 #1628 #3102 #3130 #3507)
+#3520 := (iff #3510 #3519)
+#3521 := [rewrite]: #3520
+#3511 := (iff #2908 #3510)
+#3508 := (iff #2902 #3507)
+#3505 := (iff #2897 #3502)
+#3495 := (and #181 #189 #3288 #3306 #1541 #1549 #2105 #2107 #3492)
+#3503 := (iff #3495 #3502)
+#3504 := [rewrite]: #3503
+#3496 := (iff #2897 #3495)
+#3493 := (iff #2891 #3492)
+#3490 := (iff #2888 #3487)
+#3482 := (and #1386 #3479)
+#3488 := (iff #3482 #3487)
+#3489 := [rewrite]: #3488
+#3483 := (iff #2888 #3482)
+#3480 := (iff #2885 #3479)
+#3477 := (iff #2882 #3474)
+#3469 := (and #710 #3466)
+#3475 := (iff #3469 #3474)
+#3476 := [rewrite]: #3475
+#3470 := (iff #2882 #3469)
+#3467 := (iff #2879 #3466)
+#3464 := (iff #2876 #3461)
+#3456 := (and #210 #3453)
+#3462 := (iff #3456 #3461)
+#3463 := [rewrite]: #3462
+#3457 := (iff #2876 #3456)
+#3454 := (iff #2873 #3453)
+#3451 := (iff #2870 #3448)
+#3443 := (and #1400 #3440)
+#3449 := (iff #3443 #3448)
+#3450 := [rewrite]: #3449
+#3444 := (iff #2870 #3443)
+#3441 := (iff #2867 #3440)
+#3438 := (iff #2864 #3435)
+#3429 := (and #3352 #3426)
+#3436 := (iff #3429 #3435)
+#3437 := [rewrite]: #3436
+#3430 := (iff #2864 #3429)
+#3427 := (iff #2861 #3426)
+#3424 := (iff #2856 #3421)
+#3415 := (and #3397 #2249 #2813 #3412)
+#3422 := (iff #3415 #3421)
+#3423 := [rewrite]: #3422
+#3416 := (iff #2856 #3415)
+#3413 := (iff #2847 #3412)
+#3410 := (iff #2844 #3401)
+#3402 := (not #3401)
+#3405 := (not #3402)
+#3408 := (iff #3405 #3401)
+#3409 := [rewrite]: #3408
+#3406 := (iff #2844 #3405)
+#3403 := (iff #2841 #3402)
+#3404 := [rewrite]: #3403
+#3407 := [monotonicity #3404]: #3406
+#3411 := [trans #3407 #3409]: #3410
+#3414 := [quant-intro #3411]: #3413
+#3398 := (iff #1438 #3397)
+#3395 := (iff #1435 #3392)
+#3378 := (or #213 #1144)
+#3389 := (or #3378 #1431)
+#3393 := (iff #3389 #3392)
+#3394 := [rewrite]: #3393
+#3390 := (iff #1435 #3389)
+#3387 := (iff #1428 #3378)
+#3379 := (not #3378)
+#3382 := (not #3379)
+#3385 := (iff #3382 #3378)
+#3386 := [rewrite]: #3385
+#3383 := (iff #1428 #3382)
+#3380 := (iff #1423 #3379)
+#3381 := [rewrite]: #3380
+#3384 := [monotonicity #3381]: #3383
+#3388 := [trans #3384 #3386]: #3387
+#3391 := [monotonicity #3388]: #3390
+#3396 := [trans #3391 #3394]: #3395
+#3399 := [quant-intro #3396]: #3398
+#3417 := [monotonicity #3399 #3414]: #3416
+#3425 := [trans #3417 #3423]: #3424
+#3376 := (iff #2807 #3375)
+#3373 := (iff #2804 #3370)
+#3356 := (or #2217 #3355)
+#3367 := (or #3356 #2799)
+#3371 := (iff #3367 #3370)
+#3372 := [rewrite]: #3371
+#3368 := (iff #2804 #3367)
+#3365 := (iff #2786 #3356)
+#3357 := (not #3356)
+#3360 := (not #3357)
+#3363 := (iff #3360 #3356)
+#3364 := [rewrite]: #3363
+#3361 := (iff #2786 #3360)
+#3358 := (iff #2783 #3357)
+#3359 := [rewrite]: #3358
+#3362 := [monotonicity #3359]: #3361
+#3366 := [trans #3362 #3364]: #3365
+#3369 := [monotonicity #3366]: #3368
+#3374 := [trans #3369 #3372]: #3373
+#3377 := [monotonicity #3374]: #3376
+#3428 := [monotonicity #3377 #3425]: #3427
+#3353 := (iff #1414 #3352)
+#3350 := (iff #1411 #3347)
+#3333 := (or #206 #3332)
+#3344 := (or #3333 #1406)
+#3348 := (iff #3344 #3347)
+#3349 := [rewrite]: #3348
+#3345 := (iff #1411 #3344)
+#3342 := (iff #716 #3333)
+#3334 := (not #3333)
+#3337 := (not #3334)
+#3340 := (iff #3337 #3333)
+#3341 := [rewrite]: #3340
+#3338 := (iff #716 #3337)
+#3335 := (iff #215 #3334)
+#3336 := [rewrite]: #3335
+#3339 := [monotonicity #3336]: #3338
+#3343 := [trans #3339 #3341]: #3342
+#3346 := [monotonicity #3343]: #3345
+#3351 := [trans #3346 #3349]: #3350
+#3354 := [quant-intro #3351]: #3353
+#3431 := [monotonicity #3354 #3428]: #3430
+#3439 := [trans #3431 #3437]: #3438
+#3330 := (iff #2780 #3329)
+#3327 := (iff #2777 #3324)
+#3310 := (or #3309 #2188)
+#3321 := (or #3310 #2772)
+#3325 := (iff #3321 #3324)
+#3326 := [rewrite]: #3325
+#3322 := (iff #2777 #3321)
+#3319 := (iff #2761 #3310)
+#3311 := (not #3310)
+#3314 := (not #3311)
+#3317 := (iff #3314 #3310)
+#3318 := [rewrite]: #3317
+#3315 := (iff #2761 #3314)
+#3312 := (iff #2758 #3311)
+#3313 := [rewrite]: #3312
+#3316 := [monotonicity #3313]: #3315
+#3320 := [trans #3316 #3318]: #3319
+#3323 := [monotonicity #3320]: #3322
+#3328 := [trans #3323 #3326]: #3327
+#3331 := [monotonicity #3328]: #3330
+#3442 := [monotonicity #3331 #3439]: #3441
+#3445 := [monotonicity #3442]: #3444
+#3452 := [trans #3445 #3450]: #3451
+#3455 := [monotonicity #3452]: #3454
+#3458 := [monotonicity #3455]: #3457
+#3465 := [trans #3458 #3463]: #3464
+#3468 := [monotonicity #3465]: #3467
+#3471 := [monotonicity #3468]: #3470
+#3478 := [trans #3471 #3476]: #3477
+#3481 := [monotonicity #3478]: #3480
+#3484 := [monotonicity #3481]: #3483
+#3491 := [trans #3484 #3489]: #3490
+#3494 := [monotonicity #3491]: #3493
+#3307 := (iff #1528 #3306)
+#3304 := (iff #1525 #3301)
+#3298 := (or #3281 #1522)
+#3302 := (iff #3298 #3301)
+#3303 := [rewrite]: #3302
+#3299 := (iff #1525 #3298)
+#3296 := (iff #1517 #3281)
+#3291 := (not #3282)
+#3294 := (iff #3291 #3281)
+#3295 := [rewrite]: #3294
+#3292 := (iff #1517 #3291)
+#3283 := (iff #1364 #3282)
+#3284 := [rewrite]: #3283
+#3293 := [monotonicity #3284]: #3292
+#3297 := [trans #3293 #3295]: #3296
+#3300 := [monotonicity #3297]: #3299
+#3305 := [trans #3300 #3303]: #3304
+#3308 := [quant-intro #3305]: #3307
+#3289 := (iff #1375 #3288)
+#3286 := (iff #1370 #3285)
+#3287 := [monotonicity #3284]: #3286
+#3290 := [quant-intro #3287]: #3289
+#3497 := [monotonicity #3290 #3308 #3494]: #3496
+#3506 := [trans #3497 #3504]: #3505
+#3279 := (iff #2724 #3276)
+#3270 := (and #140 #145 #506 #509 #3144 #3267)
+#3277 := (iff #3270 #3276)
+#3278 := [rewrite]: #3277
+#3271 := (iff #2724 #3270)
+#3268 := (iff #2718 #3267)
+#3265 := (iff #2715 #3262)
+#3256 := (and #3196 #3253)
+#3263 := (iff #3256 #3262)
+#3264 := [rewrite]: #3263
+#3257 := (iff #2715 #3256)
+#3254 := (iff #2710 #3253)
+#3251 := (iff #2704 #3250)
+#3248 := (iff #2701 #3245)
+#3231 := (or #2045 #2049)
+#3242 := (or #3231 #2696)
+#3246 := (iff #3242 #3245)
+#3247 := [rewrite]: #3246
+#3243 := (iff #2701 #3242)
+#3240 := (iff #2684 #3231)
+#3232 := (not #3231)
+#3235 := (not #3232)
+#3238 := (iff #3235 #3231)
+#3239 := [rewrite]: #3238
+#3236 := (iff #2684 #3235)
+#3233 := (iff #2681 #3232)
+#3234 := [rewrite]: #3233
+#3237 := [monotonicity #3234]: #3236
+#3241 := [trans #3237 #3239]: #3240
+#3244 := [monotonicity #3241]: #3243
+#3249 := [trans #3244 #3247]: #3248
+#3252 := [monotonicity #3249]: #3251
+#3229 := (iff #2069 #3226)
+#3221 := (and #2059 #3218)
+#3227 := (iff #3221 #3226)
+#3228 := [rewrite]: #3227
+#3222 := (iff #2069 #3221)
+#3219 := (iff #1300 #3218)
+#3216 := (iff #1297 #3213)
+#3199 := (or #1144 #1253)
+#3210 := (or #3199 #1294)
+#3214 := (iff #3210 #3213)
+#3215 := [rewrite]: #3214
+#3211 := (iff #1297 #3210)
+#3208 := (iff #1291 #3199)
+#3200 := (not #3199)
+#3203 := (not #3200)
+#3206 := (iff #3203 #3199)
+#3207 := [rewrite]: #3206
+#3204 := (iff #1291 #3203)
+#3201 := (iff #1288 #3200)
+#3202 := [rewrite]: #3201
+#3205 := [monotonicity #3202]: #3204
+#3209 := [trans #3205 #3207]: #3208
+#3212 := [monotonicity #3209]: #3211
+#3217 := [trans #3212 #3215]: #3216
+#3220 := [quant-intro #3217]: #3219
+#3223 := [monotonicity #3220]: #3222
+#3230 := [trans #3223 #3228]: #3229
+#3255 := [monotonicity #3230 #3252]: #3254
+#3197 := (iff #2678 #3196)
+#3194 := (iff #2675 #3191)
+#3172 := (or #65 #1253)
+#3188 := (or #3172 #3185)
+#3192 := (iff #3188 #3191)
+#3193 := [rewrite]: #3192
+#3189 := (iff #2675 #3188)
+#3186 := (iff #2672 #3185)
+#3187 := [rewrite]: #3186
+#3181 := (iff #1260 #3172)
+#3173 := (not #3172)
+#3176 := (not #3173)
+#3179 := (iff #3176 #3172)
+#3180 := [rewrite]: #3179
+#3177 := (iff #1260 #3176)
+#3174 := (iff #1257 #3173)
+#3175 := [rewrite]: #3174
+#3178 := [monotonicity #3175]: #3177
+#3182 := [trans #3178 #3180]: #3181
+#3190 := [monotonicity #3182 #3187]: #3189
+#3195 := [trans #3190 #3193]: #3194
+#3198 := [quant-intro #3195]: #3197
+#3258 := [monotonicity #3198 #3255]: #3257
+#3266 := [trans #3258 #3264]: #3265
+#3170 := (iff #2636 #3167)
+#3162 := (and #1984 #2596 #3159)
+#3168 := (iff #3162 #3167)
+#3169 := [rewrite]: #3168
+#3163 := (iff #2636 #3162)
+#3160 := (iff #2630 #3159)
+#3157 := (iff #2627 #3148)
+#3149 := (not #3148)
+#3152 := (not #3149)
+#3155 := (iff #3152 #3148)
+#3156 := [rewrite]: #3155
+#3153 := (iff #2627 #3152)
+#3150 := (iff #2624 #3149)
+#3151 := [rewrite]: #3150
+#3154 := [monotonicity #3151]: #3153
+#3158 := [trans #3154 #3156]: #3157
+#3161 := [quant-intro #3158]: #3160
+#3164 := [monotonicity #3161]: #3163
+#3171 := [trans #3164 #3169]: #3170
+#3269 := [monotonicity #3171 #3266]: #3268
+#3145 := (iff #2088 #3144)
+#3142 := (iff #2085 #3133)
+#3134 := (not #3133)
+#3137 := (not #3134)
+#3140 := (iff #3137 #3133)
+#3141 := [rewrite]: #3140
+#3138 := (iff #2085 #3137)
+#3135 := (iff #1325 #3134)
+#3136 := [rewrite]: #3135
+#3139 := [monotonicity #3136]: #3138
+#3143 := [trans #3139 #3141]: #3142
+#3146 := [quant-intro #3143]: #3145
+#3272 := [monotonicity #3146 #3269]: #3271
+#3280 := [trans #3272 #3278]: #3279
+#3509 := [monotonicity #3280 #3506]: #3508
+#3131 := (iff #2582 #3130)
+#3128 := (iff #2579 #3125)
+#3105 := (or #65 #1208)
+#3122 := (or #3105 #3119)
+#3126 := (iff #3122 #3125)
+#3127 := [rewrite]: #3126
+#3123 := (iff #2579 #3122)
+#3120 := (iff #2576 #3119)
+#3121 := [rewrite]: #3120
+#3114 := (iff #1215 #3105)
+#3106 := (not #3105)
+#3109 := (not #3106)
+#3112 := (iff #3109 #3105)
+#3113 := [rewrite]: #3112
+#3110 := (iff #1215 #3109)
+#3107 := (iff #1212 #3106)
+#3108 := [rewrite]: #3107
+#3111 := [monotonicity #3108]: #3110
+#3115 := [trans #3111 #3113]: #3114
+#3124 := [monotonicity #3115 #3121]: #3123
+#3129 := [trans #3124 #3127]: #3128
+#3132 := [quant-intro #3129]: #3131
+#3103 := (iff #2542 #3102)
+#3100 := (iff #2539 #3097)
+#3077 := (or #65 #1170)
+#3094 := (or #3077 #3091)
+#3098 := (iff #3094 #3097)
+#3099 := [rewrite]: #3098
+#3095 := (iff #2539 #3094)
+#3092 := (iff #2536 #3091)
+#3093 := [rewrite]: #3092
+#3086 := (iff #1177 #3077)
+#3078 := (not #3077)
+#3081 := (not #3078)
+#3084 := (iff #3081 #3077)
+#3085 := [rewrite]: #3084
+#3082 := (iff #1177 #3081)
+#3079 := (iff #1174 #3078)
+#3080 := [rewrite]: #3079
+#3083 := [monotonicity #3080]: #3082
+#3087 := [trans #3083 #3085]: #3086
+#3096 := [monotonicity #3087 #3093]: #3095
+#3101 := [trans #3096 #3099]: #3100
+#3104 := [quant-intro #3101]: #3103
+#3075 := (iff #1619 #3074)
+#3072 := (iff #1616 #3069)
+#3055 := (or #111 #3054)
+#3066 := (or #3055 #1224)
+#3070 := (iff #3066 #3069)
+#3071 := [rewrite]: #3070
+#3067 := (iff #1616 #3066)
+#3064 := (iff #454 #3055)
+#3056 := (not #3055)
+#3059 := (not #3056)
+#3062 := (iff #3059 #3055)
+#3063 := [rewrite]: #3062
+#3060 := (iff #454 #3059)
+#3057 := (iff #114 #3056)
+#3058 := [rewrite]: #3057
+#3061 := [monotonicity #3058]: #3060
+#3065 := [trans #3061 #3063]: #3064
+#3068 := [monotonicity #3065]: #3067
+#3073 := [trans #3068 #3071]: #3072
+#3076 := [quant-intro #3073]: #3075
+#3052 := (iff #1608 #3051)
+#3049 := (iff #1605 #3046)
+#3032 := (or #112 #1144)
+#3043 := (or #3032 #1602)
+#3047 := (iff #3043 #3046)
+#3048 := [rewrite]: #3047
+#3044 := (iff #1605 #3043)
+#3041 := (iff #1599 #3032)
+#3033 := (not #3032)
+#3036 := (not #3033)
+#3039 := (iff #3036 #3032)
+#3040 := [rewrite]: #3039
+#3037 := (iff #1599 #3036)
+#3034 := (iff #1594 #3033)
+#3035 := [rewrite]: #3034
+#3038 := [monotonicity #3035]: #3037
+#3042 := [trans #3038 #3040]: #3041
+#3045 := [monotonicity #3042]: #3044
+#3050 := [trans #3045 #3048]: #3049
+#3053 := [quant-intro #3050]: #3052
+#3512 := [monotonicity #3053 #3076 #3104 #3132 #3509]: #3511
+#3523 := [trans #3512 #3521]: #3522
+#3030 := (iff #2498 #3027)
+#3022 := (and #1878 #2458 #3019)
+#3028 := (iff #3022 #3027)
+#3029 := [rewrite]: #3028
+#3023 := (iff #2498 #3022)
+#3020 := (iff #2492 #3019)
+#3017 := (iff #2489 #3008)
+#3009 := (not #3008)
+#3012 := (not #3009)
+#3015 := (iff #3012 #3008)
+#3016 := [rewrite]: #3015
+#3013 := (iff #2489 #3012)
+#3010 := (iff #2486 #3009)
+#3011 := [rewrite]: #3010
+#3014 := [monotonicity #3011]: #3013
+#3018 := [trans #3014 #3016]: #3017
+#3021 := [quant-intro #3018]: #3020
+#3024 := [monotonicity #3021]: #3023
+#3031 := [trans #3024 #3029]: #3030
+#3526 := [monotonicity #3031 #3523]: #3525
+#3005 := (iff #1162 #3004)
+#3002 := (iff #1159 #2999)
+#2985 := (or #75 #1144)
+#2996 := (or #2985 #1155)
+#3000 := (iff #2996 #2999)
+#3001 := [rewrite]: #3000
+#2997 := (iff #1159 #2996)
+#2994 := (iff #1151 #2985)
+#2986 := (not #2985)
+#2989 := (not #2986)
+#2992 := (iff #2989 #2985)
+#2993 := [rewrite]: #2992
+#2990 := (iff #1151 #2989)
+#2987 := (iff #1148 #2986)
+#2988 := [rewrite]: #2987
+#2991 := [monotonicity #2988]: #2990
+#2995 := [trans #2991 #2993]: #2994
+#2998 := [monotonicity #2995]: #2997
+#3003 := [trans #2998 #3001]: #3002
+#3006 := [quant-intro #3003]: #3005
+#3529 := [monotonicity #3006 #3526]: #3528
+#3537 := [trans #3529 #3535]: #3536
+#2983 := (iff #2452 #2982)
+#2980 := (iff #2449 #2977)
+#2963 := (or #1845 #2962)
+#2974 := (or #2963 #2446)
+#2978 := (iff #2974 #2977)
+#2979 := [rewrite]: #2978
+#2975 := (iff #2449 #2974)
+#2972 := (iff #2439 #2963)
+#2964 := (not #2963)
+#2967 := (not #2964)
+#2970 := (iff #2967 #2963)
+#2971 := [rewrite]: #2970
+#2968 := (iff #2439 #2967)
+#2965 := (iff #2436 #2964)
+#2966 := [rewrite]: #2965
+#2969 := [monotonicity #2966]: #2968
+#2973 := [trans #2969 #2971]: #2972
+#2976 := [monotonicity #2973]: #2975
+#2981 := [trans #2976 #2979]: #2980
+#2984 := [monotonicity #2981]: #2983
+#3540 := [monotonicity #2984 #3537]: #3539
+#2960 := (iff #1136 #2959)
+#2957 := (iff #1133 #2954)
+#2940 := (or #74 #2408)
+#2951 := (or #2940 #1129)
+#2955 := (iff #2951 #2954)
+#2956 := [rewrite]: #2955
+#2952 := (iff #1133 #2951)
+#2949 := (iff #430 #2940)
+#2941 := (not #2940)
+#2944 := (not #2941)
+#2947 := (iff #2944 #2940)
+#2948 := [rewrite]: #2947
+#2945 := (iff #430 #2944)
+#2942 := (iff #82 #2941)
+#2943 := [rewrite]: #2942
+#2946 := [monotonicity #2943]: #2945
+#2950 := [trans #2946 #2948]: #2949
+#2953 := [monotonicity #2950]: #2952
+#2958 := [trans #2953 #2956]: #2957
+#2961 := [quant-intro #2958]: #2960
+#3543 := [monotonicity #2961 #3540]: #3542
+#3551 := [trans #3543 #3549]: #3550
+#2111 := (iff #2433 #1948)
+#1825 := (iff #2430 #2132)
+#1799 := (or #2058 #1816)
+#2197 := (or #1799 #2425)
+#2133 := (iff #2197 #2132)
+#1824 := [rewrite]: #2133
+#2171 := (iff #2430 #2197)
+#1855 := (iff #2414 #1799)
+#1755 := (not #1799)
+#1921 := (not #1755)
+#2152 := (iff #1921 #1799)
+#1854 := [rewrite]: #2152
+#1922 := (iff #2414 #1921)
+#1756 := (iff #2411 #1755)
+#1800 := [rewrite]: #1756
+#2151 := [monotonicity #1800]: #1922
+#2196 := [trans #2151 #1854]: #1855
+#2172 := [monotonicity #2196]: #2171
+#1947 := [trans #2172 #1824]: #1825
+#2112 := [monotonicity #1947]: #2111
+#3554 := [monotonicity #2112 #3551]: #3553
+#3557 := [monotonicity #3554]: #3556
+#3564 := [trans #3557 #3562]: #3563
+#3567 := [monotonicity #3564]: #3566
+#3570 := [monotonicity #3567]: #3569
+#3577 := [trans #3570 #3575]: #3576
+#3580 := [monotonicity #3577]: #3579
+#2241 := (+ #2240 #2238)
+#2242 := (= #2241 0::int)
+#2245 := (and #206 #2244 #2242)
+#2262 := (not #2245)
+#2265 := (forall (vars (?x76 T2)) #2262)
+#2250 := (= ?x75!20 uf_11)
+#2251 := (not #2250)
+#2252 := (and #2251 #2249)
+#2253 := (not #2252)
+#2259 := (not #2253)
+#2269 := (and #2259 #2265)
+#2274 := (and #1438 #2269)
+#2208 := (* -1::int #2207)
+#2210 := (+ #2209 #2208)
+#2213 := (+ #2212 #2210)
+#2214 := (>= #2213 0::int)
+#2220 := (and #2219 #2218)
+#2221 := (not #2220)
+#2222 := (or #2221 #2214)
+#2223 := (not #2222)
+#2278 := (or #2223 #2274)
+#2282 := (and #1414 #2278)
+#2183 := (* -1::int #2182)
+#2185 := (+ #2184 #2183)
+#2186 := (>= #2185 0::int)
+#2190 := (and #2189 #2187)
+#2191 := (not #2190)
+#2192 := (or #2191 #2186)
+#2193 := (not #2192)
+#2286 := (or #2193 #2282)
+#2290 := (and #1400 #2286)
+#2294 := (or #2168 #2290)
+#2162 := (not #1394)
+#2298 := (and #2162 #2294)
+#2302 := (or #1394 #2298)
+#2306 := (and #710 #2302)
+#2144 := (= #2143 #2142)
+#2147 := (or #2146 #2144)
+#2148 := (not #2147)
+#2310 := (or #2148 #2306)
+#2314 := (and #1386 #2310)
+#2125 := (* -1::int #2124)
+#2127 := (+ #2126 #2125)
+#2128 := (>= #2127 0::int)
+#2129 := (not #2128)
+#2318 := (or #2129 #2314)
+#2108 := (and #2107 #2105)
+#2097 := (not #888)
+#2338 := (and #181 #2097 #2108 #1375 #2318 #1528 #1541 #1549)
+#2036 := (* -1::int #2035)
+#2038 := (+ #2037 #2036)
+#2041 := (+ #2040 #2038)
+#2042 := (>= #2041 0::int)
+#2051 := (and #2050 #2046)
+#2052 := (not #2051)
+#2053 := (or #2052 #2042)
+#2054 := (not #2053)
+#2073 := (or #2054 #2069)
+#2012 := (+ #2011 #1251)
+#2015 := (+ #2014 #2012)
+#2016 := (= #2015 0::int)
+#2017 := (>= #2012 0::int)
+#2018 := (not #2017)
+#2019 := (and #2018 #2016)
+#2024 := (or #1260 #2019)
+#2027 := (forall (vars (?x49 T2)) #2024)
+#2077 := (and #2027 #2073)
+#1976 := (+ #1975 #1973)
+#1977 := (= #1976 0::int)
+#1980 := (and #1979 #1977)
+#1996 := (not #1980)
+#1999 := (forall (vars (?x50 T2)) #1996)
+#1985 := (= ?x49!8 uf_11)
+#1986 := (not #1985)
+#1987 := (and #1986 #1984)
+#1988 := (not #1987)
+#1993 := (not #1988)
+#2003 := (and #1993 #1999)
+#2081 := (or #2003 #2077)
+#1967 := (not #614)
+#1964 := (not #632)
+#1961 := (not #605)
+#1958 := (not #623)
+#2091 := (and #1958 #1961 #1964 #1967 #2081 #2088)
+#2342 := (or #2091 #2338)
+#1936 := (+ #1935 #1206)
+#1937 := (>= #1936 0::int)
+#1938 := (not #1937)
+#1941 := (+ #1940 #1936)
+#1942 := (= #1941 0::int)
+#1944 := (and #1943 #1942 #1938)
+#1949 := (or #1215 #1944)
+#1952 := (forall (vars (?x46 T2)) #1949)
+#1910 := (+ #1168 #1909)
+#1912 := (+ #1911 #1910)
+#1913 := (= #1912 0::int)
+#1914 := (+ #1911 #1168)
+#1915 := (>= #1914 0::int)
+#1916 := (not #1915)
+#1918 := (and #1917 #1916 #1913)
+#1923 := (or #1177 #1918)
+#1926 := (forall (vars (?x37 T2)) #1923)
+#1902 := (not #1636)
+#2367 := (and #1902 #1926 #1952 #2342 #1608 #1619 #1628)
+#1868 := (+ #1867 #1865)
+#1869 := (+ #66 #1868)
+#1870 := (= #1869 0::int)
+#1874 := (and #74 #1873 #1870)
+#1890 := (not #1874)
+#1893 := (forall (vars (?x38 T2)) #1890)
+#1879 := (= ?x37!5 uf_11)
+#1880 := (not #1879)
+#1881 := (and #1880 #1878)
+#1882 := (not #1881)
+#1887 := (not #1882)
+#1897 := (and #1887 #1893)
+#2371 := (or #1897 #2367)
+#2375 := (and #1162 #2371)
+#1839 := (+ #1838 #1836)
+#1841 := (+ #1840 #1839)
+#1842 := (>= #1841 0::int)
+#1848 := (and #1847 #1846)
+#1849 := (not #1848)
+#1850 := (or #1849 #1842)
+#1851 := (not #1850)
+#2379 := (or #1851 #2375)
+#2383 := (and #1136 #2379)
+#1811 := (* -1::int #1810)
+#1813 := (+ #1812 #1811)
+#1814 := (>= #1813 0::int)
+#1818 := (and #1817 #1815)
+#1819 := (not #1818)
+#1820 := (or #1819 #1814)
+#1821 := (not #1820)
+#2387 := (or #1821 #2383)
+#2391 := (and #1121 #2387)
+#2395 := (or #1796 #2391)
+#1751 := (not #1115)
+#2399 := (and #1751 #2395)
+#2403 := (or #1115 #2399)
+#2938 := (iff #2403 #2937)
+#2935 := (iff #2399 #2934)
+#2932 := (iff #2395 #2931)
+#2929 := (iff #2391 #2928)
+#2926 := (iff #2387 #2925)
+#2923 := (iff #2383 #2922)
+#2920 := (iff #2379 #2919)
+#2917 := (iff #2375 #2916)
+#2914 := (iff #2371 #2913)
+#2911 := (iff #2367 #2908)
+#2905 := (and #106 #2542 #2582 #2902 #1608 #1619 #1628)
+#2909 := (iff #2905 #2908)
+#2910 := [rewrite]: #2909
+#2906 := (iff #2367 #2905)
+#2903 := (iff #2342 #2902)
+#2900 := (iff #2338 #2897)
+#2894 := (and #181 #189 #2108 #1375 #2891 #1528 #1541 #1549)
+#2898 := (iff #2894 #2897)
+#2899 := [rewrite]: #2898
+#2895 := (iff #2338 #2894)
+#2892 := (iff #2318 #2891)
+#2889 := (iff #2314 #2888)
+#2886 := (iff #2310 #2885)
+#2883 := (iff #2306 #2882)
+#2880 := (iff #2302 #2879)
+#2877 := (iff #2298 #2876)
+#2874 := (iff #2294 #2873)
+#2871 := (iff #2290 #2870)
+#2868 := (iff #2286 #2867)
+#2865 := (iff #2282 #2864)
+#2862 := (iff #2278 #2861)
+#2859 := (iff #2274 #2856)
+#2819 := (and #2249 #2813)
+#2850 := (and #2819 #2847)
+#2853 := (and #1438 #2850)
+#2857 := (iff #2853 #2856)
+#2858 := [rewrite]: #2857
+#2854 := (iff #2274 #2853)
+#2851 := (iff #2269 #2850)
+#2848 := (iff #2265 #2847)
+#2845 := (iff #2262 #2844)
+#2842 := (iff #2245 #2841)
+#2839 := (iff #2242 #2838)
+#2836 := (= #2241 #2835)
+#2837 := [rewrite]: #2836
+#2840 := [monotonicity #2837]: #2839
+#2843 := [monotonicity #2840]: #2842
+#2846 := [monotonicity #2843]: #2845
+#2849 := [quant-intro #2846]: #2848
+#2832 := (iff #2259 #2819)
+#2824 := (not #2819)
+#2827 := (not #2824)
+#2830 := (iff #2827 #2819)
+#2831 := [rewrite]: #2830
+#2828 := (iff #2259 #2827)
+#2825 := (iff #2253 #2824)
+#2822 := (iff #2252 #2819)
+#2816 := (and #2813 #2249)
+#2820 := (iff #2816 #2819)
+#2821 := [rewrite]: #2820
+#2817 := (iff #2252 #2816)
+#2814 := (iff #2251 #2813)
+#2811 := (iff #2250 #2810)
+#2812 := [rewrite]: #2811
+#2815 := [monotonicity #2812]: #2814
+#2818 := [monotonicity #2815]: #2817
+#2823 := [trans #2818 #2821]: #2822
+#2826 := [monotonicity #2823]: #2825
+#2829 := [monotonicity #2826]: #2828
+#2833 := [trans #2829 #2831]: #2832
+#2852 := [monotonicity #2833 #2849]: #2851
+#2855 := [monotonicity #2852]: #2854
+#2860 := [trans #2855 #2858]: #2859
+#2808 := (iff #2223 #2807)
+#2805 := (iff #2222 #2804)
+#2802 := (iff #2214 #2799)
+#2789 := (+ #2209 #2212)
+#2790 := (+ #2208 #2789)
+#2793 := (>= #2790 0::int)
+#2800 := (iff #2793 #2799)
+#2801 := [rewrite]: #2800
+#2794 := (iff #2214 #2793)
+#2791 := (= #2213 #2790)
+#2792 := [rewrite]: #2791
+#2795 := [monotonicity #2792]: #2794
+#2803 := [trans #2795 #2801]: #2802
+#2787 := (iff #2221 #2786)
+#2784 := (iff #2220 #2783)
+#2785 := [rewrite]: #2784
+#2788 := [monotonicity #2785]: #2787
+#2806 := [monotonicity #2788 #2803]: #2805
+#2809 := [monotonicity #2806]: #2808
+#2863 := [monotonicity #2809 #2860]: #2862
+#2866 := [monotonicity #2863]: #2865
+#2781 := (iff #2193 #2780)
+#2778 := (iff #2192 #2777)
+#2775 := (iff #2186 #2772)
+#2764 := (+ #2183 #2184)
+#2767 := (>= #2764 0::int)
+#2773 := (iff #2767 #2772)
+#2774 := [rewrite]: #2773
+#2768 := (iff #2186 #2767)
+#2765 := (= #2185 #2764)
+#2766 := [rewrite]: #2765
+#2769 := [monotonicity #2766]: #2768
+#2776 := [trans #2769 #2774]: #2775
+#2762 := (iff #2191 #2761)
+#2759 := (iff #2190 #2758)
+#2760 := [rewrite]: #2759
+#2763 := [monotonicity #2760]: #2762
+#2779 := [monotonicity #2763 #2776]: #2778
+#2782 := [monotonicity #2779]: #2781
+#2869 := [monotonicity #2782 #2866]: #2868
+#2872 := [monotonicity #2869]: #2871
+#2875 := [monotonicity #2872]: #2874
+#2756 := (iff #2162 #210)
+#2757 := [rewrite]: #2756
+#2878 := [monotonicity #2757 #2875]: #2877
+#2881 := [monotonicity #2878]: #2880
+#2884 := [monotonicity #2881]: #2883
+#2754 := (iff #2148 #2753)
+#2751 := (iff #2147 #2750)
+#2748 := (iff #2144 #2747)
+#2749 := [rewrite]: #2748
+#2752 := [monotonicity #2749]: #2751
+#2755 := [monotonicity #2752]: #2754
+#2887 := [monotonicity #2755 #2884]: #2886
+#2890 := [monotonicity #2887]: #2889
+#2745 := (iff #2129 #2744)
+#2742 := (iff #2128 #2739)
+#2731 := (+ #2125 #2126)
+#2734 := (>= #2731 0::int)
+#2740 := (iff #2734 #2739)
+#2741 := [rewrite]: #2740
+#2735 := (iff #2128 #2734)
+#2732 := (= #2127 #2731)
+#2733 := [rewrite]: #2732
+#2736 := [monotonicity #2733]: #2735
+#2743 := [trans #2736 #2741]: #2742
+#2746 := [monotonicity #2743]: #2745
+#2893 := [monotonicity #2746 #2890]: #2892
+#2729 := (iff #2097 #189)
+#2730 := [rewrite]: #2729
+#2896 := [monotonicity #2730 #2893]: #2895
+#2901 := [trans #2896 #2899]: #2900
+#2727 := (iff #2091 #2724)
+#2721 := (and #140 #145 #506 #509 #2718 #2088)
+#2725 := (iff #2721 #2724)
+#2726 := [rewrite]: #2725
+#2722 := (iff #2091 #2721)
+#2719 := (iff #2081 #2718)
+#2716 := (iff #2077 #2715)
+#2713 := (iff #2073 #2710)
+#2707 := (or #2704 #2069)
+#2711 := (iff #2707 #2710)
+#2712 := [rewrite]: #2711
+#2708 := (iff #2073 #2707)
+#2705 := (iff #2054 #2704)
+#2702 := (iff #2053 #2701)
+#2699 := (iff #2042 #2696)
+#2687 := (+ #2037 #2040)
+#2688 := (+ #2036 #2687)
+#2691 := (>= #2688 0::int)
+#2697 := (iff #2691 #2696)
+#2698 := [rewrite]: #2697
+#2692 := (iff #2042 #2691)
+#2689 := (= #2041 #2688)
+#2690 := [rewrite]: #2689
+#2693 := [monotonicity #2690]: #2692
+#2700 := [trans #2693 #2698]: #2699
+#2685 := (iff #2052 #2684)
+#2682 := (iff #2051 #2681)
+#2683 := [rewrite]: #2682
+#2686 := [monotonicity #2683]: #2685
+#2703 := [monotonicity #2686 #2700]: #2702
+#2706 := [monotonicity #2703]: #2705
+#2709 := [monotonicity #2706]: #2708
+#2714 := [trans #2709 #2712]: #2713
+#2679 := (iff #2027 #2678)
+#2676 := (iff #2024 #2675)
+#2673 := (iff #2019 #2672)
+#2670 := (iff #2016 #2667)
+#2657 := (+ #2011 #2014)
+#2658 := (+ #1251 #2657)
+#2661 := (= #2658 0::int)
+#2668 := (iff #2661 #2667)
+#2669 := [rewrite]: #2668
+#2662 := (iff #2016 #2661)
+#2659 := (= #2015 #2658)
+#2660 := [rewrite]: #2659
+#2663 := [monotonicity #2660]: #2662
+#2671 := [trans #2663 #2669]: #2670
+#2655 := (iff #2018 #2654)
+#2652 := (iff #2017 #2649)
+#2641 := (+ #1251 #2011)
+#2644 := (>= #2641 0::int)
+#2650 := (iff #2644 #2649)
+#2651 := [rewrite]: #2650
+#2645 := (iff #2017 #2644)
+#2642 := (= #2012 #2641)
+#2643 := [rewrite]: #2642
+#2646 := [monotonicity #2643]: #2645
+#2653 := [trans #2646 #2651]: #2652
+#2656 := [monotonicity #2653]: #2655
+#2674 := [monotonicity #2656 #2671]: #2673
+#2677 := [monotonicity #2674]: #2676
+#2680 := [quant-intro #2677]: #2679
+#2717 := [monotonicity #2680 #2714]: #2716
+#2639 := (iff #2003 #2636)
+#2602 := (and #1984 #2596)
+#2633 := (and #2602 #2630)
+#2637 := (iff #2633 #2636)
+#2638 := [rewrite]: #2637
+#2634 := (iff #2003 #2633)
+#2631 := (iff #1999 #2630)
+#2628 := (iff #1996 #2627)
+#2625 := (iff #1980 #2624)
+#2622 := (iff #1977 #2621)
+#2619 := (= #1976 #2618)
+#2620 := [rewrite]: #2619
+#2623 := [monotonicity #2620]: #2622
+#2626 := [monotonicity #2623]: #2625
+#2629 := [monotonicity #2626]: #2628
+#2632 := [quant-intro #2629]: #2631
+#2615 := (iff #1993 #2602)
+#2607 := (not #2602)
+#2610 := (not #2607)
+#2613 := (iff #2610 #2602)
+#2614 := [rewrite]: #2613
+#2611 := (iff #1993 #2610)
+#2608 := (iff #1988 #2607)
+#2605 := (iff #1987 #2602)
+#2599 := (and #2596 #1984)
+#2603 := (iff #2599 #2602)
+#2604 := [rewrite]: #2603
+#2600 := (iff #1987 #2599)
+#2597 := (iff #1986 #2596)
+#2594 := (iff #1985 #2593)
+#2595 := [rewrite]: #2594
+#2598 := [monotonicity #2595]: #2597
+#2601 := [monotonicity #2598]: #2600
+#2606 := [trans #2601 #2604]: #2605
+#2609 := [monotonicity #2606]: #2608
+#2612 := [monotonicity #2609]: #2611
+#2616 := [trans #2612 #2614]: #2615
+#2635 := [monotonicity #2616 #2632]: #2634
+#2640 := [trans #2635 #2638]: #2639
+#2720 := [monotonicity #2640 #2717]: #2719
+#2591 := (iff #1967 #509)
+#2592 := [rewrite]: #2591
+#2589 := (iff #1964 #506)
+#2590 := [rewrite]: #2589
+#2587 := (iff #1961 #145)
+#2588 := [rewrite]: #2587
+#2585 := (iff #1958 #140)
+#2586 := [rewrite]: #2585
+#2723 := [monotonicity #2586 #2588 #2590 #2592 #2720]: #2722
+#2728 := [trans #2723 #2726]: #2727
+#2904 := [monotonicity #2728 #2901]: #2903
+#2583 := (iff #1952 #2582)
+#2580 := (iff #1949 #2579)
+#2577 := (iff #1944 #2576)
+#2574 := (iff #1938 #2573)
+#2571 := (iff #1937 #2568)
+#2561 := (+ #1206 #1935)
+#2564 := (>= #2561 0::int)
+#2569 := (iff #2564 #2568)
+#2570 := [rewrite]: #2569
+#2565 := (iff #1937 #2564)
+#2562 := (= #1936 #2561)
+#2563 := [rewrite]: #2562
+#2566 := [monotonicity #2563]: #2565
+#2572 := [trans #2566 #2570]: #2571
+#2575 := [monotonicity #2572]: #2574
+#2559 := (iff #1942 #2556)
+#2545 := (+ #1935 #1940)
+#2546 := (+ #1206 #2545)
+#2549 := (= #2546 0::int)
+#2557 := (iff #2549 #2556)
+#2558 := [rewrite]: #2557
+#2550 := (iff #1942 #2549)
+#2547 := (= #1941 #2546)
+#2548 := [rewrite]: #2547
+#2551 := [monotonicity #2548]: #2550
+#2560 := [trans #2551 #2558]: #2559
+#2578 := [monotonicity #2560 #2575]: #2577
+#2581 := [monotonicity #2578]: #2580
+#2584 := [quant-intro #2581]: #2583
+#2543 := (iff #1926 #2542)
+#2540 := (iff #1923 #2539)
+#2537 := (iff #1918 #2536)
+#2534 := (iff #1913 #2531)
+#2521 := (+ #1909 #1911)
+#2522 := (+ #1168 #2521)
+#2525 := (= #2522 0::int)
+#2532 := (iff #2525 #2531)
+#2533 := [rewrite]: #2532
+#2526 := (iff #1913 #2525)
+#2523 := (= #1912 #2522)
+#2524 := [rewrite]: #2523
+#2527 := [monotonicity #2524]: #2526
+#2535 := [trans #2527 #2533]: #2534
+#2519 := (iff #1916 #2518)
+#2516 := (iff #1915 #2513)
+#2505 := (+ #1168 #1911)
+#2508 := (>= #2505 0::int)
+#2514 := (iff #2508 #2513)
+#2515 := [rewrite]: #2514
+#2509 := (iff #1915 #2508)
+#2506 := (= #1914 #2505)
+#2507 := [rewrite]: #2506
+#2510 := [monotonicity #2507]: #2509
+#2517 := [trans #2510 #2515]: #2516
+#2520 := [monotonicity #2517]: #2519
+#2538 := [monotonicity #2520 #2535]: #2537
+#2541 := [monotonicity #2538]: #2540
+#2544 := [quant-intro #2541]: #2543
+#2503 := (iff #1902 #106)
+#2504 := [rewrite]: #2503
+#2907 := [monotonicity #2504 #2544 #2584 #2904]: #2906
+#2912 := [trans #2907 #2910]: #2911
+#2501 := (iff #1897 #2498)
+#2464 := (and #1878 #2458)
+#2495 := (and #2464 #2492)
+#2499 := (iff #2495 #2498)
+#2500 := [rewrite]: #2499
+#2496 := (iff #1897 #2495)
+#2493 := (iff #1893 #2492)
+#2490 := (iff #1890 #2489)
+#2487 := (iff #1874 #2486)
+#2484 := (iff #1870 #2483)
+#2481 := (= #1869 #2480)
+#2482 := [rewrite]: #2481
+#2485 := [monotonicity #2482]: #2484
+#2488 := [monotonicity #2485]: #2487
+#2491 := [monotonicity #2488]: #2490
+#2494 := [quant-intro #2491]: #2493
+#2477 := (iff #1887 #2464)
+#2469 := (not #2464)
+#2472 := (not #2469)
+#2475 := (iff #2472 #2464)
+#2476 := [rewrite]: #2475
+#2473 := (iff #1887 #2472)
+#2470 := (iff #1882 #2469)
+#2467 := (iff #1881 #2464)
+#2461 := (and #2458 #1878)
+#2465 := (iff #2461 #2464)
+#2466 := [rewrite]: #2465
+#2462 := (iff #1881 #2461)
+#2459 := (iff #1880 #2458)
+#2456 := (iff #1879 #2455)
+#2457 := [rewrite]: #2456
+#2460 := [monotonicity #2457]: #2459
+#2463 := [monotonicity #2460]: #2462
+#2468 := [trans #2463 #2466]: #2467
+#2471 := [monotonicity #2468]: #2470
+#2474 := [monotonicity #2471]: #2473
+#2478 := [trans #2474 #2476]: #2477
+#2497 := [monotonicity #2478 #2494]: #2496
+#2502 := [trans #2497 #2500]: #2501
+#2915 := [monotonicity #2502 #2912]: #2914
+#2918 := [monotonicity #2915]: #2917
+#2453 := (iff #1851 #2452)
+#2450 := (iff #1850 #2449)
+#2447 := (iff #1842 #2446)
+#2444 := (= #1841 #2443)
+#2445 := [rewrite]: #2444
+#2448 := [monotonicity #2445]: #2447
+#2440 := (iff #1849 #2439)
+#2437 := (iff #1848 #2436)
+#2438 := [rewrite]: #2437
+#2441 := [monotonicity #2438]: #2440
+#2451 := [monotonicity #2441 #2448]: #2450
+#2454 := [monotonicity #2451]: #2453
+#2921 := [monotonicity #2454 #2918]: #2920
+#2924 := [monotonicity #2921]: #2923
+#2434 := (iff #1821 #2433)
+#2431 := (iff #1820 #2430)
+#2428 := (iff #1814 #2425)
+#2417 := (+ #1811 #1812)
+#2420 := (>= #2417 0::int)
+#2426 := (iff #2420 #2425)
+#2427 := [rewrite]: #2426
+#2421 := (iff #1814 #2420)
+#2418 := (= #1813 #2417)
+#2419 := [rewrite]: #2418
+#2422 := [monotonicity #2419]: #2421
+#2429 := [trans #2422 #2427]: #2428
+#2415 := (iff #1819 #2414)
+#2412 := (iff #1818 #2411)
+#2413 := [rewrite]: #2412
+#2416 := [monotonicity #2413]: #2415
+#2432 := [monotonicity #2416 #2429]: #2431
+#2435 := [monotonicity #2432]: #2434
+#2927 := [monotonicity #2435 #2924]: #2926
+#2930 := [monotonicity #2927]: #2929
+#2933 := [monotonicity #2930]: #2932
+#2409 := (iff #1751 #78)
+#2410 := [rewrite]: #2409
+#2936 := [monotonicity #2410 #2933]: #2935
+#2939 := [monotonicity #2936]: #2938
+#1725 := (not #1689)
+#2404 := (~ #1725 #2403)
+#2400 := (not #1686)
+#2401 := (~ #2400 #2399)
+#2396 := (not #1683)
+#2397 := (~ #2396 #2395)
+#2392 := (not #1680)
+#2393 := (~ #2392 #2391)
+#2388 := (not #1677)
+#2389 := (~ #2388 #2387)
+#2384 := (not #1674)
+#2385 := (~ #2384 #2383)
+#2380 := (not #1671)
+#2381 := (~ #2380 #2379)
+#2376 := (not #1668)
+#2377 := (~ #2376 #2375)
+#2372 := (not #1665)
+#2373 := (~ #2372 #2371)
+#2368 := (not #1660)
+#2369 := (~ #2368 #2367)
+#2364 := (not #1631)
+#2365 := (~ #2364 #1628)
+#2362 := (~ #1628 #1628)
+#2360 := (~ #1625 #1625)
+#2361 := [refl]: #2360
+#2363 := [nnf-pos #2361]: #2362
+#2366 := [nnf-neg #2363]: #2365
+#2357 := (not #1622)
+#2358 := (~ #2357 #1619)
+#2355 := (~ #1619 #1619)
+#2353 := (~ #1616 #1616)
+#2354 := [refl]: #2353
+#2356 := [nnf-pos #2354]: #2355
+#2359 := [nnf-neg #2356]: #2358
+#2350 := (not #1611)
+#2351 := (~ #2350 #1608)
+#2348 := (~ #1608 #1608)
+#2346 := (~ #1605 #1605)
+#2347 := [refl]: #2346
+#2349 := [nnf-pos #2347]: #2348
+#2352 := [nnf-neg #2349]: #2351
+#2343 := (not #1588)
+#2344 := (~ #2343 #2342)
+#2339 := (not #1583)
+#2340 := (~ #2339 #2338)
+#2336 := (~ #1549 #1549)
+#2337 := [refl]: #2336
+#2333 := (not #1544)
+#2334 := (~ #2333 #1541)
+#2331 := (~ #1541 #1541)
+#2329 := (~ #1538 #1538)
+#2330 := [refl]: #2329
+#2332 := [nnf-pos #2330]: #2331
+#2335 := [nnf-neg #2332]: #2334
+#2326 := (not #1531)
+#2327 := (~ #2326 #1528)
+#2324 := (~ #1528 #1528)
+#2322 := (~ #1525 #1525)
+#2323 := [refl]: #2322
+#2325 := [nnf-pos #2323]: #2324
+#2328 := [nnf-neg #2325]: #2327
+#2319 := (not #1514)
+#2320 := (~ #2319 #2318)
+#2315 := (not #1511)
+#2316 := (~ #2315 #2314)
+#2311 := (not #1508)
+#2312 := (~ #2311 #2310)
+#2307 := (not #1505)
+#2308 := (~ #2307 #2306)
+#2303 := (not #1502)
+#2304 := (~ #2303 #2302)
+#2299 := (not #1499)
+#2300 := (~ #2299 #2298)
+#2295 := (not #1496)
+#2296 := (~ #2295 #2294)
+#2291 := (not #1493)
+#2292 := (~ #2291 #2290)
+#2287 := (not #1490)
+#2288 := (~ #2287 #2286)
+#2283 := (not #1487)
+#2284 := (~ #2283 #2282)
+#2279 := (not #1484)
+#2280 := (~ #2279 #2278)
+#2275 := (not #1481)
+#2276 := (~ #2275 #2274)
+#2256 := (not #1478)
+#2272 := (~ #2256 #2269)
+#2246 := (exists (vars (?x76 T2)) #2245)
+#2254 := (or #2253 #2246)
+#2255 := (not #2254)
+#2270 := (~ #2255 #2269)
+#2266 := (not #2246)
+#2267 := (~ #2266 #2265)
+#2263 := (~ #2262 #2262)
+#2264 := [refl]: #2263
+#2268 := [nnf-neg #2264]: #2267
+#2260 := (~ #2259 #2259)
+#2261 := [refl]: #2260
+#2271 := [nnf-neg #2261 #2268]: #2270
+#2257 := (~ #2256 #2255)
+#2258 := [sk]: #2257
+#2273 := [trans #2258 #2271]: #2272
+#2232 := (not #1441)
+#2233 := (~ #2232 #1438)
+#2230 := (~ #1438 #1438)
+#2228 := (~ #1435 #1435)
+#2229 := [refl]: #2228
+#2231 := [nnf-pos #2229]: #2230
+#2234 := [nnf-neg #2231]: #2233
+#2277 := [nnf-neg #2234 #2273]: #2276
+#2224 := (~ #1441 #2223)
+#2225 := [sk]: #2224
+#2281 := [nnf-neg #2225 #2277]: #2280
+#2202 := (not #1417)
+#2203 := (~ #2202 #1414)
+#2200 := (~ #1414 #1414)
+#2198 := (~ #1411 #1411)
+#2199 := [refl]: #2198
+#2201 := [nnf-pos #2199]: #2200
+#2204 := [nnf-neg #2201]: #2203
+#2285 := [nnf-neg #2204 #2281]: #2284
+#2194 := (~ #1417 #2193)
+#2195 := [sk]: #2194
+#2289 := [nnf-neg #2195 #2285]: #2288
+#2177 := (not #1403)
+#2178 := (~ #2177 #1400)
+#2175 := (~ #1400 #1400)
+#2173 := (~ #1397 #1397)
+#2174 := [refl]: #2173
+#2176 := [nnf-pos #2174]: #2175
+#2179 := [nnf-neg #2176]: #2178
+#2293 := [nnf-neg #2179 #2289]: #2292
+#2169 := (~ #1403 #2168)
+#2170 := [sk]: #2169
+#2297 := [nnf-neg #2170 #2293]: #2296
+#2163 := (~ #2162 #2162)
+#2164 := [refl]: #2163
+#2301 := [nnf-neg #2164 #2297]: #2300
+#2160 := (~ #1394 #1394)
+#2161 := [refl]: #2160
+#2305 := [nnf-neg #2161 #2301]: #2304
+#2157 := (not #846)
+#2158 := (~ #2157 #710)
+#2155 := (~ #710 #710)
+#2153 := (~ #705 #705)
+#2154 := [refl]: #2153
+#2156 := [nnf-pos #2154]: #2155
+#2159 := [nnf-neg #2156]: #2158
+#2309 := [nnf-neg #2159 #2305]: #2308
+#2149 := (~ #846 #2148)
+#2150 := [sk]: #2149
+#2313 := [nnf-neg #2150 #2309]: #2312
+#2138 := (not #1389)
+#2139 := (~ #2138 #1386)
+#2136 := (~ #1386 #1386)
+#2134 := (~ #1381 #1381)
+#2135 := [refl]: #2134
+#2137 := [nnf-pos #2135]: #2136
+#2140 := [nnf-neg #2137]: #2139
+#2317 := [nnf-neg #2140 #2313]: #2316
+#2130 := (~ #1389 #2129)
+#2131 := [sk]: #2130
+#2321 := [nnf-neg #2131 #2317]: #2320
+#2120 := (not #1378)
+#2121 := (~ #2120 #1375)
+#2118 := (~ #1375 #1375)
+#2116 := (~ #1370 #1370)
+#2117 := [refl]: #2116
+#2119 := [nnf-pos #2117]: #2118
+#2122 := [nnf-neg #2119]: #2121
+#2113 := (not #1559)
+#2114 := (~ #2113 #2108)
+#2109 := (~ #1328 #2108)
+#2110 := [sk]: #2109
+#2115 := [nnf-neg #2110]: #2114
+#2098 := (~ #2097 #2097)
+#2099 := [refl]: #2098
+#2095 := (~ #181 #181)
+#2096 := [refl]: #2095
+#2341 := [nnf-neg #2096 #2099 #2115 #2122 #2321 #2328 #2335 #2337]: #2340
+#2092 := (not #1346)
+#2093 := (~ #2092 #2091)
+#2089 := (~ #1559 #2088)
+#2086 := (~ #2085 #2085)
+#2087 := [refl]: #2086
+#2090 := [nnf-neg #2087]: #2089
+#2082 := (not #1322)
+#2083 := (~ #2082 #2081)
+#2078 := (not #1319)
+#2079 := (~ #2078 #2077)
+#2074 := (not #1316)
+#2075 := (~ #2074 #2073)
+#2070 := (not #1311)
+#2071 := (~ #2070 #2069)
+#2066 := (not #1303)
+#2067 := (~ #2066 #1300)
+#2064 := (~ #1300 #1300)
+#2062 := (~ #1297 #1297)
+#2063 := [refl]: #2062
+#2065 := [nnf-pos #2063]: #2064
+#2068 := [nnf-neg #2065]: #2067
+#2060 := (~ #2059 #2059)
+#2061 := [refl]: #2060
+#2072 := [nnf-neg #2061 #2068]: #2071
+#2055 := (~ #1303 #2054)
+#2056 := [sk]: #2055
+#2076 := [nnf-neg #2056 #2072]: #2075
+#2030 := (not #1285)
+#2031 := (~ #2030 #2027)
+#2028 := (~ #1282 #2027)
+#2025 := (~ #1279 #2024)
+#2020 := (~ #1276 #2019)
+#2021 := [sk]: #2020
+#2008 := (~ #1260 #1260)
+#2009 := [refl]: #2008
+#2026 := [monotonicity #2009 #2021]: #2025
+#2029 := [nnf-pos #2026]: #2028
+#2032 := [nnf-neg #2029]: #2031
+#2080 := [nnf-neg #2032 #2076]: #2079
+#2006 := (~ #1285 #2003)
+#1981 := (exists (vars (?x50 T2)) #1980)
+#1989 := (or #1988 #1981)
+#1990 := (not #1989)
+#2004 := (~ #1990 #2003)
+#2000 := (not #1981)
+#2001 := (~ #2000 #1999)
+#1997 := (~ #1996 #1996)
+#1998 := [refl]: #1997
+#2002 := [nnf-neg #1998]: #2001
+#1994 := (~ #1993 #1993)
+#1995 := [refl]: #1994
+#2005 := [nnf-neg #1995 #2002]: #2004
+#1991 := (~ #1285 #1990)
+#1992 := [sk]: #1991
+#2007 := [trans #1992 #2005]: #2006
+#2084 := [nnf-neg #2007 #2080]: #2083
+#1968 := (~ #1967 #1967)
+#1969 := [refl]: #1968
+#1965 := (~ #1964 #1964)
+#1966 := [refl]: #1965
+#1962 := (~ #1961 #1961)
+#1963 := [refl]: #1962
+#1959 := (~ #1958 #1958)
+#1960 := [refl]: #1959
+#2094 := [nnf-neg #1960 #1963 #1966 #1969 #2084 #2090]: #2093
+#2345 := [nnf-neg #2094 #2341]: #2344
+#1955 := (not #1248)
+#1956 := (~ #1955 #1952)
+#1953 := (~ #1245 #1952)
+#1950 := (~ #1242 #1949)
+#1945 := (~ #1239 #1944)
+#1946 := [sk]: #1945
+#1932 := (~ #1215 #1215)
+#1933 := [refl]: #1932
+#1951 := [monotonicity #1933 #1946]: #1950
+#1954 := [nnf-pos #1951]: #1953
+#1957 := [nnf-neg #1954]: #1956
+#1929 := (not #1639)
+#1930 := (~ #1929 #1926)
+#1927 := (~ #1203 #1926)
+#1924 := (~ #1200 #1923)
+#1919 := (~ #1197 #1918)
+#1920 := [sk]: #1919
+#1905 := (~ #1177 #1177)
+#1906 := [refl]: #1905
+#1925 := [monotonicity #1906 #1920]: #1924
+#1928 := [nnf-pos #1925]: #1927
+#1931 := [nnf-neg #1928]: #1930
+#1903 := (~ #1902 #1902)
+#1904 := [refl]: #1903
+#2370 := [nnf-neg #1904 #1931 #1957 #2345 #2352 #2359 #2366]: #2369
+#1900 := (~ #1639 #1897)
+#1875 := (exists (vars (?x38 T2)) #1874)
+#1883 := (or #1882 #1875)
+#1884 := (not #1883)
+#1898 := (~ #1884 #1897)
+#1894 := (not #1875)
+#1895 := (~ #1894 #1893)
+#1891 := (~ #1890 #1890)
+#1892 := [refl]: #1891
+#1896 := [nnf-neg #1892]: #1895
+#1888 := (~ #1887 #1887)
+#1889 := [refl]: #1888
+#1899 := [nnf-neg #1889 #1896]: #1898
+#1885 := (~ #1639 #1884)
+#1886 := [sk]: #1885
+#1901 := [trans #1886 #1899]: #1900
+#2374 := [nnf-neg #1901 #2370]: #2373
+#1860 := (not #1165)
+#1861 := (~ #1860 #1162)
+#1858 := (~ #1162 #1162)
+#1856 := (~ #1159 #1159)
+#1857 := [refl]: #1856
+#1859 := [nnf-pos #1857]: #1858
+#1862 := [nnf-neg #1859]: #1861
+#2378 := [nnf-neg #1862 #2374]: #2377
+#1852 := (~ #1165 #1851)
+#1853 := [sk]: #1852
+#2382 := [nnf-neg #1853 #2378]: #2381
+#1830 := (not #1139)
+#1831 := (~ #1830 #1136)
+#1828 := (~ #1136 #1136)
+#1826 := (~ #1133 #1133)
+#1827 := [refl]: #1826
+#1829 := [nnf-pos #1827]: #1828
+#1832 := [nnf-neg #1829]: #1831
+#2386 := [nnf-neg #1832 #2382]: #2385
+#1822 := (~ #1139 #1821)
+#1823 := [sk]: #1822
+#2390 := [nnf-neg #1823 #2386]: #2389
+#1805 := (not #1124)
+#1806 := (~ #1805 #1121)
+#1803 := (~ #1121 #1121)
+#1801 := (~ #1120 #1120)
+#1802 := [refl]: #1801
+#1804 := [nnf-pos #1802]: #1803
+#1807 := [nnf-neg #1804]: #1806
+#2394 := [nnf-neg #1807 #2390]: #2393
+#1797 := (~ #1124 #1796)
+#1798 := [sk]: #1797
+#2398 := [nnf-neg #1798 #2394]: #2397
+#1752 := (~ #1751 #1751)
+#1792 := [refl]: #1752
+#2402 := [nnf-neg #1792 #2398]: #2401
+#1790 := (~ #1115 #1115)
+#1791 := [refl]: #1790
+#2405 := [nnf-neg #1791 #2402]: #2404
+#1726 := [not-or-elim #1722]: #1725
+#2406 := [mp~ #1726 #2405]: #2403
+#2407 := [mp #2406 #2939]: #2937
+#3581 := [mp #2407 #3580]: #3578
+#4510 := [mp #3581 #4509]: #4507
+#10108 := [unit-resolution #4510 #5109]: #4504
+#3836 := (or #4501 #4495)
+#3679 := [def-axiom]: #3836
+#10111 := [unit-resolution #3679 #10108]: #4495
+#10112 := (or #4498 #4492)
+#3753 := (* -1::int #1794)
+#3720 := (+ uf_9 #3753)
+#3722 := (<= #3720 0::int)
+#3827 := (= uf_9 #1794)
+#3801 := (= uf_11 ?x27!0)
+#3650 := (not #3801)
+#3649 := (= #1794 0::int)
+#4542 := (not #3649)
+#4541 := [hypothesis]: #1796
+#4593 := (or #4542 #1795)
+#4594 := [th-lemma]: #4593
+#4595 := [unit-resolution #4594 #4541]: #4542
+#3660 := (or #3659 #3649 #3650)
+#3816 := (= ?x27!0 uf_11)
+#3651 := (not #3816)
+#3652 := (or #3651 #3649)
+#3661 := (or #3659 #3652)
+#4532 := (iff #3661 #3660)
+#3674 := (or #3649 #3650)
+#4533 := (or #3659 #3674)
+#4536 := (iff #4533 #3660)
+#4537 := [rewrite]: #4536
+#4534 := (iff #3661 #4533)
+#3672 := (iff #3652 #3674)
+#4518 := (or #3650 #3649)
+#3658 := (iff #4518 #3674)
+#3655 := [rewrite]: #3658
+#3673 := (iff #3652 #4518)
+#3653 := (iff #3651 #3650)
+#3799 := (iff #3816 #3801)
+#3802 := [rewrite]: #3799
+#4517 := [monotonicity #3802]: #3653
+#3665 := [monotonicity #4517]: #3673
+#3656 := [trans #3665 #3655]: #3672
+#4535 := [monotonicity #3656]: #4534
+#4538 := [trans #4535 #4537]: #4532
+#3657 := [quant-inst]: #3661
+#4539 := [mp #3657 #4538]: #3660
+#4596 := [unit-resolution #4539 #4516 #4595]: #3650
+#3784 := (or #3801 #3827)
+#4132 := (forall (vars (?x25 T2)) (:pat #4131) #419)
+#4135 := (iff #424 #4132)
+#4133 := (iff #419 #419)
+#4134 := [refl]: #4133
+#4136 := [quant-intro #4134]: #4135
+#1749 := (~ #424 #424)
+#1787 := (~ #419 #419)
+#1788 := [refl]: #1787
+#1750 := [nnf-pos #1788]: #1749
+#1724 := [not-or-elim #1722]: #424
+#1789 := [mp~ #1724 #1750]: #424
+#4137 := [mp #1789 #4136]: #4132
+#3787 := (not #4132)
+#3788 := (or #3787 #3801 #3827)
+#3819 := (or #3816 #3827)
+#3789 := (or #3787 #3819)
+#3751 := (iff #3789 #3788)
+#3791 := (or #3787 #3784)
+#3742 := (iff #3791 #3788)
+#3749 := [rewrite]: #3742
+#3748 := (iff #3789 #3791)
+#3786 := (iff #3819 #3784)
+#3800 := [monotonicity #3802]: #3786
+#3750 := [monotonicity #3800]: #3748
+#3752 := [trans #3750 #3749]: #3751
+#3790 := [quant-inst]: #3789
+#3743 := [mp #3790 #3752]: #3788
+#4597 := [unit-resolution #3743 #4137]: #3784
+#4598 := [unit-resolution #4597 #4596]: #3827
+#4599 := (not #3827)
+#4600 := (or #4599 #3722)
+#4601 := [th-lemma]: #4600
+#4581 := [unit-resolution #4601 #4598]: #3722
+#4540 := (<= #1794 0::int)
+#4582 := (or #4540 #1795)
+#4583 := [th-lemma]: #4582
+#4584 := [unit-resolution #4583 #4541]: #4540
+#349 := (<= uf_9 0::int)
+#350 := (not #349)
+#54 := (< 0::int uf_9)
+#351 := (iff #54 #350)
+#352 := [rewrite]: #351
+#345 := [asserted]: #54
+#353 := [mp #345 #352]: #350
+#4585 := [th-lemma #353 #4584 #4581]: false
+#4580 := [lemma #4585]: #1795
+#3831 := (or #4498 #1796 #4492)
+#3832 := [def-axiom]: #3831
+#10113 := [unit-resolution #3832 #4580]: #10112
+#10114 := [unit-resolution #10113 #10111]: #4492
+#3855 := (or #4489 #4483)
+#3856 := [def-axiom]: #3855
+#10107 := [unit-resolution #3856 #10114]: #4483
+#3850 := (or #4486 #1948 #4480)
+#3851 := [def-axiom]: #3850
+#10115 := [unit-resolution #3851 #10107]: #4483
+#10116 := [unit-resolution #10115 #10110]: #4480
+#3876 := (or #4477 #4471)
+#3877 := [def-axiom]: #3876
+#10117 := [unit-resolution #3877 #10116]: #4471
+#3872 := (or #4474 #2982 #4468)
+#3873 := [def-axiom]: #3872
+#10118 := [unit-resolution #3873 #10117 #10109]: #4468
+#3860 := (or #4465 #4459)
+#3861 := [def-axiom]: #3860
+#10119 := [unit-resolution #3861 #10118]: #4459
+#10121 := (or #4462 #4456)
+#4588 := [hypothesis]: #4176
+#4058 := (or #4173 #2458)
+#4059 := [def-axiom]: #4058
+#4725 := [unit-resolution #4059 #4588]: #2458
+#4673 := (= uf_9 #1866)
+#4816 := (not #4673)
+#3725 := (or #4173 #1878)
+#4057 := [def-axiom]: #3725
+#4726 := [unit-resolution #4057 #4588]: #1878
+#4826 := (or #4816 #1877)
+#4827 := [th-lemma]: #4826
+#4828 := [unit-resolution #4827 #4726]: #4816
+#4847 := (or #4673 #2455)
+#4817 := [hypothesis]: #4816
+#4818 := [hypothesis]: #2458
+#4730 := (or #3787 #2455 #4673)
+#4674 := (or #1879 #4673)
+#4731 := (or #3787 #4674)
+#4717 := (iff #4731 #4730)
+#4727 := (or #2455 #4673)
+#4733 := (or #3787 #4727)
+#4715 := (iff #4733 #4730)
+#4716 := [rewrite]: #4715
+#4713 := (iff #4731 #4733)
+#4728 := (iff #4674 #4727)
+#4729 := [monotonicity #2457]: #4728
+#4714 := [monotonicity #4729]: #4713
+#4712 := [trans #4714 #4716]: #4717
+#4732 := [quant-inst]: #4731
+#4718 := [mp #4732 #4712]: #4730
+#4819 := [unit-resolution #4718 #4137 #4818 #4817]: false
+#4849 := [lemma #4819]: #4847
+#4829 := [unit-resolution #4849 #4828 #4725]: false
+#4830 := [lemma #4829]: #4173
+#3894 := (or #4462 #4176 #4456)
+#3904 := [def-axiom]: #3894
+#10122 := [unit-resolution #3904 #4830]: #10121
+#10123 := [unit-resolution #10122 #10119]: #4456
+#3889 := (or #4453 #4447)
+#3848 := [def-axiom]: #3889
+#10335 := [unit-resolution #3848 #10123]: #4447
+#3682 := (not #2696)
+#3925 := (or #4453 #106)
+#3921 := [def-axiom]: #3925
+#10124 := [unit-resolution #3921 #10123]: #106
+#8213 := (= #161 #105)
+#4974 := [hypothesis]: #4289
+#3741 := (or #4286 #509)
+#4023 := [def-axiom]: #3741
+#4975 := [unit-resolution #4023 #4974]: #509
+#8228 := [symm #4975]: #142
+#8026 := [monotonicity #8228]: #8213
+#4825 := [trans #8026 #10124]: #162
+#3701 := (or #4262 #2059)
+#3702 := [def-axiom]: #3701
+#7196 := [unit-resolution #3702 #4825]: #4262
+#4028 := (or #4286 #4280)
+#4017 := [def-axiom]: #4028
+#8815 := [unit-resolution #4017 #4974]: #4280
+#10558 := (or #4240 #614)
+#8833 := (?x47!7 ?x49!8)
+#8906 := (uf_4 uf_19 #8833)
+#8925 := (* -1::int #8906)
+#8828 := (uf_4 uf_14 #8833)
+#9957 := (+ #8828 #8925)
+#9963 := (>= #9957 0::int)
+#9956 := (= #8828 #8906)
+#10507 := (= #8906 #8828)
+#6339 := [hypothesis]: #509
+#10506 := [symm #6339]: #142
+#10508 := [monotonicity #10506]: #10507
+#10509 := [symm #10508]: #9956
+#10510 := (not #9956)
+#10505 := (or #10510 #9963)
+#10511 := [th-lemma]: #10505
+#10512 := [unit-resolution #10511 #10509]: #9963
+#8834 := (* -1::int #8828)
+#8675 := (uf_4 uf_14 ?x49!8)
+#8835 := (+ #8675 #8834)
+#8836 := (<= #8835 0::int)
+#8878 := (not #8836)
+#8859 := (up_6 uf_15 #8833)
+#8860 := (not #8859)
+#8837 := (uf_1 #8833 ?x49!8)
+#8838 := (uf_10 #8837)
+#8854 := (* -1::int #8838)
+#8855 := (+ #8834 #8854)
+#8856 := (+ #8675 #8855)
+#8857 := (= #8856 0::int)
+#8858 := (not #8857)
+#8843 := (or #8836 #8858 #8860)
+#8846 := (not #8843)
+#8810 := (* -1::int #8675)
+#8823 := (+ uf_9 #8810)
+#8811 := (<= #8823 0::int)
+#9028 := (not #8811)
+#10513 := [hypothesis]: #4243
+#3711 := (or #4240 #1984)
+#3716 := [def-axiom]: #3711
+#10514 := [unit-resolution #3716 #10513]: #1984
+#9024 := (+ #1971 #8810)
+#9021 := (>= #9024 0::int)
+#9023 := (= #1971 #8675)
+#10515 := (= #8675 #1971)
+#10516 := [monotonicity #6339]: #10515
+#10517 := [symm #10516]: #9023
+#10518 := (not #9023)
+#10519 := (or #10518 #9021)
+#10520 := [th-lemma]: #10519
+#10521 := [unit-resolution #10520 #10517]: #9021
+#9020 := (not #9021)
+#9029 := (or #9028 #9020 #1983)
+#9025 := [hypothesis]: #1984
+#9022 := [hypothesis]: #8811
+#9026 := [hypothesis]: #9021
+#9027 := [th-lemma #9026 #9022 #9025]: false
+#8827 := [lemma #9027]: #9029
+#10522 := [unit-resolution #8827 #10521 #10514]: #9028
+#10532 := (or #8811 #8846)
+#4052 := (or #4240 #2596)
+#3712 := [def-axiom]: #4052
+#10523 := [unit-resolution #3712 #10513]: #2596
+#3914 := (or #4453 #4213)
+#3882 := [def-axiom]: #3914
+#10531 := [unit-resolution #3882 #10123]: #4213
+#8851 := (or #4218 #2593 #8811 #8846)
+#8861 := (or #8860 #8858 #8836)
+#8862 := (not #8861)
+#8842 := (or #1985 #8811 #8862)
+#8864 := (or #4218 #8842)
+#8870 := (iff #8864 #8851)
+#8848 := (or #2593 #8811 #8846)
+#8866 := (or #4218 #8848)
+#8863 := (iff #8866 #8851)
+#8869 := [rewrite]: #8863
+#8867 := (iff #8864 #8866)
+#8849 := (iff #8842 #8848)
+#8841 := (iff #8862 #8846)
+#8844 := (iff #8861 #8843)
+#8845 := [rewrite]: #8844
+#8847 := [monotonicity #8845]: #8841
+#8850 := [monotonicity #2595 #8847]: #8849
+#8868 := [monotonicity #8850]: #8867
+#8871 := [trans #8868 #8869]: #8870
+#8865 := [quant-inst]: #8864
+#8872 := [mp #8865 #8871]: #8851
+#10533 := [unit-resolution #8872 #10531 #10523]: #10532
+#10534 := [unit-resolution #10533 #10522]: #8846
+#8876 := (or #8843 #8878)
+#8879 := [def-axiom]: #8876
+#10535 := [unit-resolution #8879 #10534]: #8878
+#8920 := (+ #1971 #8925)
+#8937 := (<= #8920 0::int)
+#8982 := (+ #8854 #8925)
+#8983 := (+ #1971 #8982)
+#9001 := (= #8983 0::int)
+#9173 := (<= #8983 0::int)
+#9960 := (<= #9957 0::int)
+#10536 := (or #10510 #9960)
+#10537 := [th-lemma]: #10536
+#10538 := [unit-resolution #10537 #10509]: #9960
+#8873 := (<= #8856 0::int)
+#8880 := (or #8843 #8857)
+#8881 := [def-axiom]: #8880
+#10539 := [unit-resolution #8881 #10534]: #8857
+#10540 := (or #8858 #8873)
+#10541 := [th-lemma]: #10540
+#10542 := [unit-resolution #10541 #10539]: #8873
+#9019 := (<= #9024 0::int)
+#10543 := (or #10518 #9019)
+#10544 := [th-lemma]: #10543
+#10545 := [unit-resolution #10544 #10517]: #9019
+#10185 := (not #9960)
+#10187 := (not #8873)
+#10186 := (not #9019)
+#10188 := (or #9173 #10186 #10187 #10185)
+#10148 := [hypothesis]: #9960
+#10149 := [hypothesis]: #8873
+#10151 := [hypothesis]: #9019
+#10152 := (not #9173)
+#10153 := [hypothesis]: #10152
+#10154 := [th-lemma #10153 #10151 #10149 #10148]: false
+#10189 := [lemma #10154]: #10188
+#10546 := [unit-resolution #10189 #10545 #10542 #10538]: #9173
+#9157 := (>= #8983 0::int)
+#8877 := (>= #8856 0::int)
+#10547 := (or #8858 #8877)
+#10548 := [th-lemma]: #10547
+#10549 := [unit-resolution #10548 #10539]: #8877
+#10528 := (not #9963)
+#10096 := (not #8877)
+#10529 := (or #9157 #9020 #10096 #10528)
+#10524 := [hypothesis]: #9963
+#10027 := [hypothesis]: #8877
+#10525 := (not #9157)
+#10526 := [hypothesis]: #10525
+#10527 := [th-lemma #10526 #9026 #10027 #10524]: false
+#10530 := [lemma #10527]: #10529
+#10550 := [unit-resolution #10530 #10521 #10549 #10512]: #9157
+#10551 := (or #9001 #10152 #10525)
+#10552 := [th-lemma]: #10551
+#10553 := [unit-resolution #10552 #10550 #10546]: #9001
+#9000 := (not #9001)
+#9007 := (or #8937 #9000)
+#4053 := (or #4240 #4232)
+#3696 := [def-axiom]: #4053
+#10554 := [unit-resolution #3696 #10513]: #4232
+#9111 := (or #4237 #8937 #9000)
+#8904 := (+ #1972 #8838)
+#8907 := (+ #8906 #8904)
+#8908 := (= #8907 0::int)
+#8909 := (not #8908)
+#8910 := (+ #8906 #1972)
+#8914 := (>= #8910 0::int)
+#8915 := (or #8914 #8909)
+#9120 := (or #4237 #8915)
+#9170 := (iff #9120 #9111)
+#9167 := (or #4237 #9007)
+#9113 := (iff #9167 #9111)
+#9169 := [rewrite]: #9113
+#9168 := (iff #9120 #9167)
+#9008 := (iff #8915 #9007)
+#9005 := (iff #8909 #9000)
+#9004 := (iff #8908 #9001)
+#8975 := (+ #8838 #8906)
+#8976 := (+ #1972 #8975)
+#8979 := (= #8976 0::int)
+#9002 := (iff #8979 #9001)
+#9003 := [rewrite]: #9002
+#8980 := (iff #8908 #8979)
+#8977 := (= #8907 #8976)
+#8978 := [rewrite]: #8977
+#8981 := [monotonicity #8978]: #8980
+#8999 := [trans #8981 #9003]: #9004
+#9006 := [monotonicity #8999]: #9005
+#8946 := (iff #8914 #8937)
+#8916 := (+ #1972 #8906)
+#8922 := (>= #8916 0::int)
+#8938 := (iff #8922 #8937)
+#8945 := [rewrite]: #8938
+#8923 := (iff #8914 #8922)
+#8918 := (= #8910 #8916)
+#8921 := [rewrite]: #8918
+#8924 := [monotonicity #8921]: #8923
+#8947 := [trans #8924 #8945]: #8946
+#9009 := [monotonicity #8947 #9006]: #9008
+#9112 := [monotonicity #9009]: #9168
+#9171 := [trans #9112 #9169]: #9170
+#9121 := [quant-inst]: #9120
+#9172 := [mp #9121 #9171]: #9111
+#10555 := [unit-resolution #9172 #10554]: #9007
+#10556 := [unit-resolution #10555 #10553]: #8937
+#10557 := [th-lemma #10521 #10556 #10535 #10512]: false
+#10559 := [lemma #10557]: #10558
+#8829 := [unit-resolution #10559 #4975]: #4240
+#4030 := (or #4283 #4243 #4277)
+#4034 := [def-axiom]: #4030
+#8830 := [unit-resolution #4034 #8829 #8815]: #4277
+#3761 := (or #4274 #4268)
+#3654 := [def-axiom]: #3761
+#8831 := [unit-resolution #3654 #8830]: #4268
+#4036 := (or #4271 #4265 #3250)
+#3758 := [def-axiom]: #4036
+#8832 := [unit-resolution #3758 #8831 #7196]: #3250
+#4045 := (or #3245 #3682)
+#4047 := [def-axiom]: #4045
+#8875 := [unit-resolution #4047 #8832]: #3682
+#3852 := (or #4453 #4188)
+#3907 := [def-axiom]: #3852
+#10131 := [unit-resolution #3907 #10123]: #4188
+#4042 := (or #3245 #2046)
+#4043 := [def-axiom]: #4042
+#8882 := [unit-resolution #4043 #8832]: #2046
+#4038 := (or #3245 #2050)
+#4044 := [def-axiom]: #4038
+#8883 := [unit-resolution #4044 #8832]: #2050
+#4959 := (or #4286 #2045 #4193 #2049 #2696)
+#4978 := (uf_4 uf_14 ?x53!11)
+#4972 := (= #2035 #4978)
+#4976 := (= #4978 #2035)
+#4971 := [monotonicity #4975]: #4976
+#4977 := [symm #4971]: #4972
+#4979 := (* -1::int #4978)
+#6252 := (+ #2035 #4979)
+#6267 := (<= #6252 0::int)
+#6377 := (not #6267)
+#6280 := [hypothesis]: #3682
+#6333 := [hypothesis]: #2050
+#6336 := [hypothesis]: #4188
+#6338 := [hypothesis]: #2046
+#4027 := (or #4286 #4222)
+#4024 := [def-axiom]: #4027
+#4930 := [unit-resolution #4024 #4974]: #4222
+#6383 := (or #6377 #2045 #4227 #4193 #2049 #2696 #614)
+#5295 := (uf_4 uf_14 ?x54!10)
+#5296 := (* -1::int #5295)
+#5291 := (+ uf_9 #5296)
+#5297 := (<= #5291 0::int)
+#5298 := (up_6 uf_15 ?x54!10)
+#5736 := (not #5298)
+#5668 := (+ #4979 #5295)
+#5669 := (+ #2040 #5668)
+#5661 := (>= #5669 0::int)
+#6283 := (not #5661)
+#6285 := (+ #2037 #5296)
+#6297 := (>= #6285 0::int)
+#6284 := (= #2037 #5295)
+#6298 := (= #5295 #2037)
+#6296 := [monotonicity #6339]: #6298
+#6299 := [symm #6296]: #6284
+#6300 := (not #6284)
+#6301 := (or #6300 #6297)
+#6330 := [th-lemma]: #6301
+#6331 := [unit-resolution #6330 #6299]: #6297
+#6281 := [hypothesis]: #6267
+#6378 := (not #6297)
+#6379 := (or #6283 #6377 #2696 #6378)
+#6279 := [hypothesis]: #6297
+#6276 := [hypothesis]: #5661
+#6282 := [th-lemma #6276 #6281 #6280 #6279]: false
+#6380 := [lemma #6282]: #6379
+#6332 := [unit-resolution #6380 #6281 #6280 #6331]: #6283
+#6337 := (or #5736 #5661)
+#5758 := (or #4193 #2049 #5736 #5661)
+#5694 := (+ #5295 #4979)
+#5695 := (+ #2040 #5694)
+#5735 := (>= #5695 0::int)
+#5667 := (or #5736 #2049 #5735)
+#5763 := (or #4193 #5667)
+#6028 := (iff #5763 #5758)
+#5759 := (or #2049 #5736 #5661)
+#5765 := (or #4193 #5759)
+#5998 := (iff #5765 #5758)
+#5999 := [rewrite]: #5998
+#5766 := (iff #5763 #5765)
+#5762 := (iff #5667 #5759)
+#5687 := (or #5736 #2049 #5661)
+#5760 := (iff #5687 #5759)
+#5761 := [rewrite]: #5760
+#5690 := (iff #5667 #5687)
+#5688 := (iff #5735 #5661)
+#5670 := (= #5695 #5669)
+#5671 := [rewrite]: #5670
+#5689 := [monotonicity #5671]: #5688
+#5691 := [monotonicity #5689]: #5690
+#5757 := [trans #5691 #5761]: #5762
+#5767 := [monotonicity #5757]: #5766
+#6029 := [trans #5767 #5999]: #6028
+#5764 := [quant-inst]: #5763
+#6030 := [mp #5764 #6029]: #5758
+#6266 := [unit-resolution #6030 #6336 #6333]: #6337
+#6278 := [unit-resolution #6266 #6332]: #5736
+#5300 := (or #5297 #5298)
+#6257 := [hypothesis]: #4222
+#5326 := (or #4227 #5297 #5298)
+#5299 := (or #5298 #5297)
+#5327 := (or #4227 #5299)
+#5333 := (iff #5327 #5326)
+#5329 := (or #4227 #5300)
+#5331 := (iff #5329 #5326)
+#5332 := [rewrite]: #5331
+#5324 := (iff #5327 #5329)
+#5301 := (iff #5299 #5300)
+#5325 := [rewrite]: #5301
+#5330 := [monotonicity #5325]: #5324
+#5334 := [trans #5330 #5332]: #5333
+#5328 := [quant-inst]: #5327
+#5382 := [mp #5328 #5334]: #5326
+#6381 := [unit-resolution #5382 #6257]: #5300
+#6376 := [unit-resolution #6381 #6278]: #5297
+#6382 := [th-lemma #6331 #6376 #6338]: false
+#6384 := [lemma #6382]: #6383
+#4955 := [unit-resolution #6384 #4930 #6338 #6336 #6333 #6280 #4975]: #6377
+#4956 := (not #4972)
+#4957 := (or #4956 #6267)
+#4958 := [th-lemma]: #4957
+#4929 := [unit-resolution #4958 #4955 #4977]: false
+#4954 := [lemma #4929]: #4959
+#8884 := [unit-resolution #4954 #8883 #8882 #10131 #4974 #8875]: false
+#8887 := [lemma #8884]: #4286
+#3923 := (or #4450 #4289 #4444)
+#3924 := [def-axiom]: #3923
+#10456 := [unit-resolution #3924 #8887 #10335]: #4444
+#3945 := (or #4441 #189)
+#3931 := [def-axiom]: #3945
+#10469 := [unit-resolution #3931 #10456]: #189
+#10470 := [symm #10469]: #7202
+#13610 := (= #11533 #188)
+#13435 := (= #10571 uf_22)
+#10572 := (= uf_22 #10571)
+#13 := (uf_3 #12)
+#309 := (= #11 #13)
+#4071 := (forall (vars (?x2 T2) (?x3 T2)) (:pat #4070) #309)
+#313 := (forall (vars (?x2 T2) (?x3 T2)) #309)
+#4074 := (iff #313 #4071)
+#4072 := (iff #309 #309)
+#4073 := [refl]: #4072
+#4075 := [quant-intro #4073]: #4074
+#1730 := (~ #313 #313)
+#1762 := (~ #309 #309)
+#1763 := [refl]: #1762
+#1728 := [nnf-pos #1763]: #1730
 #14 := (= #13 #11)
 #15 := (forall (vars (?x2 T2) (?x3 T2)) #14)
-#322 := (iff #15 #321)
-#319 := (iff #14 #317)
-#320 := [rewrite]: #319
-#323 := [quant-intro #320]: #322
-#316 := [asserted]: #15
-#326 := [mp #316 #323]: #321
-#1877 := [mp~ #326 #1841]: #321
-#4202 := [mp #1877 #4201]: #4197
-#8139 := (not #4197)
-#12947 := (or #8139 #10449)
-#12948 := [quant-inst]: #12947
-#13195 := [unit-resolution #12948 #4202]: #10449
-#13203 := [monotonicity #13195]: #12385
-#13213 := [symm #13203]: #13212
-#13222 := (= #2260 #11132)
-#188 := (uf_4 uf_14 uf_22)
-#13623 := (= #188 #11132)
-#13621 := (= #11132 #188)
-#13610 := (= #10448 uf_22)
-#10707 := (= #9695 uf_22)
-#9696 := (= uf_22 #9695)
-#9727 := (or #8139 #9696)
-#9731 := [quant-inst]: #9727
-#10706 := [unit-resolution #9731 #4202]: #9696
-#10708 := [symm #10706]: #10707
-#13609 := (= #10448 #9695)
-#10319 := (= ?x63!14 #9695)
-decl uf_15 :: T4
-#113 := uf_15
-#9518 := (uf_6 uf_15 ?x63!14)
-#9519 := (= uf_8 #9518)
-decl uf_7 :: (-> T4 T2 T5 T4)
-#194 := (uf_7 uf_15 uf_22 uf_8)
-#3894 := (uf_6 #194 uf_22)
-#3895 := (= uf_8 #3894)
-#10330 := (ite #10319 #3895 #9519)
-#10323 := (uf_7 uf_15 #9695 #3894)
-#10324 := (uf_6 #10323 ?x63!14)
-#10327 := (= uf_8 #10324)
-#10333 := (iff #10327 #10330)
+#314 := (iff #15 #313)
+#311 := (iff #14 #309)
+#312 := [rewrite]: #311
+#315 := [quant-intro #312]: #314
+#308 := [asserted]: #15
+#318 := [mp #308 #315]: #313
+#1764 := [mp~ #318 #1728]: #313
+#4076 := [mp #1764 #4075]: #4071
+#7845 := (not #4071)
+#10578 := (or #7845 #10572)
+#10579 := [quant-inst]: #10578
+#13434 := [unit-resolution #10579 #4076]: #10572
+#13436 := [symm #13434]: #13435
+#13611 := [monotonicity #13436]: #13610
+#13613 := [trans #13611 #10470]: #13612
+#27317 := [monotonicity #13613 #27305]: #27316
+#27319 := [symm #27317]: #27318
+#27321 := [monotonicity #27319]: #27320
+#27315 := [hypothesis]: #16890
+#27322 := [mp #27315 #27321]: #27198
+#27164 := (= #10571 #19932)
+#25982 := (up_6 uf_15 #19932)
+#27170 := (or #25982 #27164)
+#27175 := (iff #27162 #27170)
 #30 := (:var 1 T5)
 #20 := (:var 2 T2)
 #29 := (:var 3 T4)
 #31 := (uf_7 #29 #20 #30)
-#32 := (uf_6 #31 #11)
-#4216 := (pattern #32)
-#36 := (uf_6 #29 #11)
-#335 := (= uf_8 #36)
-#35 := (= #30 uf_8)
+#32 := (up_6 #31 #11)
+#4090 := (pattern #32)
+#35 := (up_6 #29 #11)
+#34 := (= #30 uf_8)
 #24 := (= #11 #20)
-#338 := (ite #24 #35 #335)
-#34 := (= #32 uf_8)
-#341 := (iff #34 #338)
-#4217 := (forall (vars (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2)) (:pat #4216) #341)
-#344 := (forall (vars (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2)) #341)
-#4220 := (iff #344 #4217)
-#4218 := (iff #341 #341)
-#4219 := [refl]: #4218
-#4221 := [quant-intro #4219]: #4220
-#1848 := (~ #344 #344)
-#1884 := (~ #341 #341)
-#1885 := [refl]: #1884
-#1849 := [nnf-pos #1885]: #1848
-#37 := (= #36 uf_8)
-#38 := (ite #24 #35 #37)
-#39 := (iff #34 #38)
-#40 := (forall (vars (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2)) #39)
-#345 := (iff #40 #344)
-#342 := (iff #39 #341)
-#339 := (iff #38 #338)
-#336 := (iff #37 #335)
-#337 := [rewrite]: #336
-#340 := [monotonicity #337]: #339
-#343 := [monotonicity #340]: #342
-#346 := [quant-intro #343]: #345
-#333 := [asserted]: #40
-#349 := [mp #333 #346]: #344
-#1886 := [mp~ #349 #1849]: #344
-#4222 := [mp #1886 #4221]: #4217
-#4987 := (not #4217)
-#13028 := (or #4987 #10333)
-#4958 := (= #3894 uf_8)
-#10322 := (ite #10319 #4958 #9519)
-#10325 := (= #10324 uf_8)
-#10326 := (iff #10325 #10322)
-#13031 := (or #4987 #10326)
-#13033 := (iff #13031 #13028)
-#13035 := (iff #13028 #13028)
-#13036 := [rewrite]: #13035
-#10334 := (iff #10326 #10333)
-#10331 := (iff #10322 #10330)
-#4970 := (iff #4958 #3895)
-#4971 := [rewrite]: #4970
-#10332 := [monotonicity #4971]: #10331
-#10328 := (iff #10325 #10327)
-#10329 := [rewrite]: #10328
-#10335 := [monotonicity #10329 #10332]: #10334
-#13034 := [monotonicity #10335]: #13033
-#13037 := [trans #13034 #13036]: #13033
-#13032 := [quant-inst]: #13031
-#13051 := [mp #13032 #13037]: #13028
-#13579 := [unit-resolution #13051 #4222]: #10333
-#13595 := (= #2257 #10324)
-#13584 := (= #10324 #2257)
-#13582 := (= #10323 uf_23)
-#7680 := (= #194 uf_23)
-#195 := (= uf_23 #194)
-#4549 := (or #2877 #4546)
-#4552 := (not #4549)
-#1480 := (* -1::int #202)
-#1481 := (+ #110 #1480)
-#1479 := (>= #1481 0::int)
-#4444 := (forall (vars (?x61 T2)) (:pat #4305 #4426) #1479)
-#4449 := (not #4444)
-#4555 := (or #4449 #4552)
-#4558 := (not #4555)
-decl ?x61!13 :: T2
-#2238 := ?x61!13
-#2241 := (uf_4 uf_14 ?x61!13)
-#2856 := (* -1::int #2241)
-#2239 := (uf_24 ?x61!13)
-#2857 := (+ #2239 #2856)
-#2858 := (<= #2857 0::int)
-#2863 := (not #2858)
-#4561 := (or #2863 #4558)
-#4564 := (not #4561)
-#196 := (uf_1 uf_22 #11)
-#4427 := (pattern #196)
-#197 := (uf_10 #196)
-#1623 := (+ #197 #1480)
-#1624 := (+ #188 #1623)
-#1625 := (= #1624 0::int)
-#1449 := (* -1::int #197)
-#1455 := (* -1::int #188)
-#1456 := (+ #1455 #1449)
-#1457 := (+ #110 #1456)
-#1458 := (<= #1457 0::int)
-#1450 := (+ uf_9 #1449)
-#1451 := (<= #1450 0::int)
-#3425 := (or #1451 #1458 #1625)
-#4436 := (forall (vars (?x59 T2)) (:pat #4427 #4305 #4426) #3425)
-#4441 := (not #4436)
-#3405 := (or #1451 #1458)
-#3406 := (not #3405)
-#3409 := (or #759 #3406)
-#4428 := (forall (vars (?x60 T2)) (:pat #4305 #4426 #4427) #3409)
-#4433 := (not #4428)
-decl ?x48!12 :: T2
-#2214 := ?x48!12
-#2220 := (uf_6 uf_15 ?x48!12)
-#2221 := (= uf_8 #2220)
-#2215 := (uf_4 uf_14 ?x48!12)
-#2216 := (* -1::int #2215)
-#2217 := (+ uf_9 #2216)
-#2218 := (<= #2217 0::int)
-#1655 := (+ uf_9 #1455)
-#1656 := (<= #1655 0::int)
-#114 := (uf_6 uf_15 #11)
-#4347 := (pattern #114)
-#1638 := (+ #110 #1455)
-#1637 := (>= #1638 0::int)
-#478 := (= uf_8 #114)
-#1644 := (or #478 #1637)
-#4418 := (forall (vars (?x58 T2)) (:pat #4347 #4305) #1644)
-#4423 := (not #4418)
-#185 := (uf_6 uf_15 uf_22)
-#728 := (= uf_8 #185)
-#981 := (not #195)
-#4567 := (or #981 #728 #4423 #1656 #2218 #2221 #4433 #4441 #4564)
-#4570 := (not #4567)
-decl ?x53!11 :: T2
-#2148 := ?x53!11
-decl ?x54!10 :: T2
-#2147 := ?x54!10
-#2153 := (uf_1 ?x54!10 ?x53!11)
-#2154 := (uf_10 #2153)
-#2161 := (* -1::int #2154)
-decl uf_19 :: T3
-#146 := uf_19
-#2151 := (uf_4 uf_19 ?x54!10)
-#2157 := (* -1::int #2151)
-#2813 := (+ #2157 #2161)
-#2149 := (uf_4 uf_19 ?x53!11)
-#2814 := (+ #2149 #2813)
-#2815 := (<= #2814 0::int)
-#2162 := (+ uf_9 #2161)
-#2163 := (<= #2162 0::int)
-#2158 := (+ uf_9 #2157)
-#2159 := (<= #2158 0::int)
-#3369 := (or #2159 #2163 #2815)
-#3374 := (not #3369)
-#154 := (uf_4 uf_19 #10)
-#1357 := (* -1::int #154)
-#151 := (uf_4 uf_19 #11)
-#1358 := (+ #151 #1357)
-#1364 := (+ #91 #1358)
-#1387 := (>= #1364 0::int)
-#1344 := (* -1::int #151)
-#1345 := (+ uf_9 #1344)
-#1346 := (<= #1345 0::int)
-#3337 := (or #1237 #1346 #1387)
-#4380 := (forall (vars (?x53 T2) (?x54 T2)) (:pat #4281) #3337)
-#4385 := (not #4380)
-#166 := (uf_4 uf_19 uf_11)
-#167 := (= #166 0::int)
-#4388 := (or #167 #4385)
-#4391 := (not #4388)
-#4394 := (or #4391 #3374)
-#4397 := (not #4394)
-#4356 := (pattern #151)
-decl ?x50!9 :: (-> T2 T2)
-#2124 := (?x50!9 #11)
-#2127 := (uf_1 #2124 #11)
-#2128 := (uf_10 #2127)
-#2783 := (* -1::int #2128)
-#2125 := (uf_4 uf_19 #2124)
-#2766 := (* -1::int #2125)
-#2784 := (+ #2766 #2783)
-#2785 := (+ #151 #2784)
-#2786 := (= #2785 0::int)
-#3307 := (not #2786)
-#2767 := (+ #151 #2766)
-#2768 := (<= #2767 0::int)
-#3308 := (or #2768 #3307)
-#3309 := (not #3308)
-#68 := (= #11 uf_11)
-#3315 := (or #68 #1346 #3309)
-#4372 := (forall (vars (?x49 T2)) (:pat #4356) #3315)
-#4377 := (not #4372)
-#4400 := (or #4377 #4397)
-#4403 := (not #4400)
-decl ?x49!8 :: T2
-#2084 := ?x49!8
-#2088 := (uf_1 #11 ?x49!8)
-#4357 := (pattern #2088)
-#2089 := (uf_10 #2088)
-#2085 := (uf_4 uf_19 ?x49!8)
-#2086 := (* -1::int #2085)
-#2736 := (+ #2086 #2089)
-#2737 := (+ #151 #2736)
-#2740 := (= #2737 0::int)
-#3271 := (not #2740)
-#2087 := (+ #151 #2086)
-#2092 := (>= #2087 0::int)
-#3272 := (or #2092 #3271)
-#4358 := (forall (vars (?x50 T2)) (:pat #4356 #4357) #3272)
-#4363 := (not #4358)
-#2712 := (= uf_11 ?x49!8)
-#2096 := (+ uf_9 #2086)
-#2097 := (<= #2096 0::int)
-#4366 := (or #2097 #2712 #4363)
-#4369 := (not #4366)
-#4406 := (or #4369 #4403)
-#4409 := (not #4406)
-#1299 := (* -1::int #110)
-#1300 := (+ uf_9 #1299)
-#1301 := (<= #1300 0::int)
-#3257 := (or #478 #1301)
-#4348 := (forall (vars (?x48 T2)) (:pat #4347 #4305) #3257)
-#4353 := (not #4348)
-#569 := (= uf_14 uf_19)
-#674 := (not #569)
-decl uf_16 :: T4
-#141 := uf_16
-#566 := (= uf_15 uf_16)
-#692 := (not #566)
-decl uf_21 :: T3
-#149 := uf_21
-decl uf_20 :: T3
-#148 := uf_20
-#150 := (= uf_20 uf_21)
-#665 := (not #150)
-decl uf_18 :: T2
-#144 := uf_18
-decl uf_17 :: T2
-#143 := uf_17
-#145 := (= uf_17 uf_18)
-#683 := (not #145)
-#4412 := (or #683 #665 #692 #674 #4353 #4409)
-#108 := (uf_4 uf_14 uf_11)
-#109 := (= #108 0::int)
-#4415 := (not #4412)
-#4573 := (or #4415 #4570)
-#4576 := (not #4573)
-decl ?x47!7 :: (-> T2 T2)
-#2047 := (?x47!7 #11)
-#2048 := (uf_4 uf_14 #2047)
-#2671 := (* -1::int #2048)
-#2686 := (+ #110 #2671)
-#2687 := (<= #2686 0::int)
-#2052 := (uf_1 #2047 #11)
-#2053 := (uf_10 #2052)
-#2672 := (* -1::int #2053)
-#2673 := (+ #2671 #2672)
-#2674 := (+ #110 #2673)
-#2675 := (= #2674 0::int)
-#3241 := (not #2675)
-#2056 := (uf_6 uf_15 #2047)
-#2057 := (= uf_8 #2056)
-#3240 := (not #2057)
-#3242 := (or #3240 #3241 #2687)
-#3243 := (not #3242)
-#3249 := (or #68 #1301 #3243)
-#4339 := (forall (vars (?x46 T2)) (:pat #4305) #3249)
-#4344 := (not #4339)
-decl uf_12 :: (-> T2 int)
-#69 := (uf_12 #11)
-#4257 := (pattern #69)
-decl ?x38!6 :: (-> T2 T2)
-#2020 := (?x38!6 #11)
-#2024 := (uf_12 #2020)
-#2630 := (* -1::int #2024)
-#2021 := (uf_1 #2020 #11)
-#2022 := (uf_10 #2021)
-#2647 := (* -1::int #2022)
-#2648 := (+ #2647 #2630)
-#2649 := (+ #69 #2648)
-#2650 := (= #2649 0::int)
-#3213 := (not #2650)
-#2631 := (+ #69 #2630)
-#2632 := (<= #2631 0::int)
-decl up_13 :: (-> T2 bool)
-#2030 := (up_13 #2020)
-#3212 := (not #2030)
-#3214 := (or #3212 #2632 #3213)
-#3215 := (not #3214)
-#1261 := (* -1::int #69)
-#1262 := (+ uf_9 #1261)
-#1263 := (<= #1262 0::int)
-#3221 := (or #68 #1263 #3215)
-#4331 := (forall (vars (?x37 T2)) (:pat #4257) #3221)
-#4336 := (not #4331)
-#117 := (uf_6 uf_15 #10)
-#4322 := (pattern #114 #117)
-#120 := (uf_4 uf_14 #10)
-#1313 := (* -1::int #120)
-#1314 := (+ #110 #1313)
-#1317 := (>= #1314 0::int)
-#484 := (= uf_8 #117)
-#3178 := (not #484)
-#3193 := (or #478 #3178 #1317)
-#4323 := (forall (vars (?x42 T2) (?x43 T2)) (:pat #4322) #3193)
-#4328 := (not #4323)
-#1315 := (+ #91 #1314)
-#1710 := (>= #1315 0::int)
-#481 := (not #478)
-#3170 := (or #481 #1237 #1710)
-#4314 := (forall (vars (?x44 T2) (?x45 T2)) (:pat #4281) #3170)
-#4319 := (not #4314)
-#1738 := (>= #110 0::int)
-#4306 := (forall (vars (?x41 T2)) (:pat #4305) #1738)
-#4311 := (not #4306)
-#1749 := (not #109)
-#4579 := (or #1749 #4311 #4319 #4328 #4336 #4344 #4576)
-#4582 := (not #4579)
-decl ?x37!5 :: T2
-#1976 := ?x37!5
-#1977 := (uf_1 #11 ?x37!5)
-#4290 := (pattern #1977)
-#77 := (up_13 #11)
-#4250 := (pattern #77)
-#1979 := (uf_12 ?x37!5)
-#1980 := (* -1::int #1979)
-#1978 := (uf_10 #1977)
-#2598 := (+ #1978 #1980)
-#2599 := (+ #69 #2598)
-#2602 := (= #2599 0::int)
-#3131 := (not #2602)
-#1984 := (+ #69 #1980)
-#1985 := (>= #1984 0::int)
-#78 := (not #77)
-#3132 := (or #78 #1985 #3131)
-#4291 := (forall (vars (?x38 T2)) (:pat #4250 #4257 #4290) #3132)
-#4296 := (not #4291)
-#2574 := (= uf_11 ?x37!5)
-#1989 := (+ uf_9 #1980)
-#1990 := (<= #1989 0::int)
-#4299 := (or #1990 #2574 #4296)
-#5019 := (= uf_9 #1979)
-#5185 := (not #5019)
-#1991 := (not #1990)
-#4302 := (not #4299)
-#5183 := [hypothesis]: #4302
-#4176 := (or #4299 #1991)
-#3850 := [def-axiom]: #4176
-#5184 := [unit-resolution #3850 #5183]: #1991
-#5186 := (or #5185 #1990)
-#5193 := [th-lemma]: #5186
-#5194 := [unit-resolution #5193 #5184]: #5185
-#2577 := (not #2574)
-#3851 := (or #4299 #2577)
-#4183 := [def-axiom]: #3851
-#5192 := [unit-resolution #4183 #5183]: #2577
-#437 := (= uf_9 #69)
-#443 := (or #68 #437)
-#4258 := (forall (vars (?x25 T2)) (:pat #4257) #443)
-#448 := (forall (vars (?x25 T2)) #443)
-#4261 := (iff #448 #4258)
-#4259 := (iff #443 #443)
-#4260 := [refl]: #4259
-#4262 := [quant-intro #4260]: #4261
-#1862 := (~ #448 #448)
-#1900 := (~ #443 #443)
-#1901 := [refl]: #1900
-#1863 := [nnf-pos #1901]: #1862
-#70 := (= #69 0::int)
-#73 := (not #68)
-#1807 := (or #73 #70)
-#1810 := (forall (vars (?x24 T2)) #1807)
-#1813 := (not #1810)
-#1741 := (forall (vars (?x41 T2)) #1738)
-#1744 := (not #1741)
-#487 := (and #481 #484)
-#493 := (not #487)
-#1727 := (or #493 #1317)
-#1732 := (forall (vars (?x42 T2) (?x43 T2)) #1727)
-#1735 := (not #1732)
-#1238 := (not #1237)
-#1702 := (and #478 #1238)
-#1707 := (not #1702)
-#1713 := (or #1707 #1710)
-#1716 := (forall (vars (?x44 T2) (?x45 T2)) #1713)
-#1719 := (not #1716)
-#1649 := (forall (vars (?x58 T2)) #1644)
-#1652 := (not #1649)
-#1459 := (not #1458)
-#1452 := (not #1451)
-#1462 := (and #1452 #1459)
-#1620 := (not #1462)
-#1628 := (or #1620 #1625)
-#1631 := (forall (vars (?x59 T2)) #1628)
-#1634 := (not #1631)
-#1558 := (= #1536 0::int)
-#1561 := (not #1504)
-#1570 := (and #773 #1561 #1558)
-#1575 := (exists (vars (?x76 T2)) #1570)
-#1547 := (+ uf_9 #1480)
-#1548 := (<= #1547 0::int)
-#1549 := (not #1548)
-#1552 := (and #73 #1549)
-#1555 := (not #1552)
-#1578 := (or #1555 #1575)
-#1581 := (forall (vars (?x75 T2)) #1578)
-#1526 := (and #773 #1238)
-#1531 := (not #1526)
-#1538 := (or #1531 #1534)
-#1541 := (forall (vars (?x71 T2) (?x72 T2)) #1538)
-#1544 := (not #1541)
-#1584 := (or #1544 #1581)
-#1587 := (and #1541 #1584)
-#796 := (and #779 #793)
-#802 := (not #796)
-#1512 := (or #802 #1504)
-#1517 := (forall (vars (?x67 T2) (?x68 T2)) #1512)
-#1520 := (not #1517)
-#1590 := (or #1520 #1587)
-#1593 := (and #1517 #1590)
-#1498 := (forall (vars (?x65 T2)) #1495)
-#1501 := (not #1498)
-#1596 := (or #1501 #1593)
-#1599 := (and #1498 #1596)
-#1602 := (or #1492 #1599)
-#1605 := (and #217 #1602)
-#785 := (forall (vars (?x63 T2)) #780)
-#939 := (not #785)
-#1608 := (or #939 #1605)
-#1611 := (and #785 #1608)
-#1484 := (forall (vars (?x61 T2)) #1479)
-#1487 := (not #1484)
-#1614 := (or #1487 #1611)
-#1617 := (and #1484 #1614)
-#1468 := (or #759 #1462)
-#1473 := (forall (vars (?x60 T2)) #1468)
-#1476 := (not #1473)
-#1302 := (not #1301)
-#1421 := (and #481 #1302)
-#1426 := (exists (vars (?x48 T2)) #1421)
-#1667 := (not #1426)
-#1691 := (or #981 #728 #1667 #1476 #1617 #1634 #1652 #1656)
-#1347 := (not #1346)
-#1381 := (and #1238 #1347)
-#1384 := (not #1381)
-#1390 := (or #1384 #1387)
-#1393 := (forall (vars (?x53 T2) (?x54 T2)) #1390)
-#1396 := (not #1393)
-#1404 := (or #167 #1396)
-#1409 := (and #1393 #1404)
-#1362 := (= #1364 0::int)
-#1356 := (>= #1358 0::int)
-#1359 := (not #1356)
-#1366 := (and #1359 #1362)
-#1369 := (exists (vars (?x50 T2)) #1366)
-#1350 := (and #73 #1347)
-#1353 := (not #1350)
-#1372 := (or #1353 #1369)
-#1375 := (forall (vars (?x49 T2)) #1372)
-#1378 := (not #1375)
-#1412 := (or #1378 #1409)
-#1415 := (and #1375 #1412)
-#1444 := (or #683 #665 #692 #674 #1415 #1426)
-#1696 := (and #1444 #1691)
-#1318 := (not #1317)
-#1311 := (= #1315 0::int)
-#1327 := (and #478 #1311 #1318)
-#1332 := (exists (vars (?x47 T2)) #1327)
-#1305 := (and #73 #1302)
-#1308 := (not #1305)
-#1335 := (or #1308 #1332)
-#1338 := (forall (vars (?x46 T2)) #1335)
-#1341 := (not #1338)
-#86 := (uf_12 #10)
-#1223 := (* -1::int #86)
-#1250 := (+ #1223 #91)
-#1251 := (+ #69 #1250)
-#1273 := (= #1251 0::int)
-#1224 := (+ #69 #1223)
-#1222 := (>= #1224 0::int)
-#1276 := (not #1222)
-#1285 := (and #77 #1276 #1273)
-#1290 := (exists (vars (?x38 T2)) #1285)
-#1264 := (not #1263)
-#1267 := (and #73 #1264)
-#1270 := (not #1267)
-#1293 := (or #1270 #1290)
-#1296 := (forall (vars (?x37 T2)) #1293)
-#1752 := (not #1296)
-#1773 := (or #1749 #1752 #1341 #1696 #1719 #1735 #1744)
-#1778 := (and #1296 #1773)
-#1248 := (>= #1251 0::int)
-#1241 := (and #77 #1238)
-#1244 := (not #1241)
-#1252 := (or #1244 #1248)
-#1255 := (forall (vars (?x33 T2) (?x34 T2)) #1252)
-#1258 := (not #1255)
-#1781 := (or #1258 #1778)
-#1784 := (and #1255 #1781)
-#84 := (up_13 #10)
-#85 := (and #78 #84)
-#454 := (not #85)
-#1226 := (or #454 #1222)
-#1229 := (forall (vars (?x29 T2) (?x30 T2)) #1226)
-#1232 := (not #1229)
-#1787 := (or #1232 #1784)
-#1790 := (and #1229 #1787)
-#1213 := (>= #69 0::int)
-#1214 := (forall (vars (?x27 T2)) #1213)
-#1217 := (not #1214)
-#1793 := (or #1217 #1790)
-#1796 := (and #1214 #1793)
-#80 := (uf_12 uf_11)
-#81 := (= #80 0::int)
-#1208 := (not #81)
-#1799 := (or #1208 #1796)
-#1802 := (and #81 #1799)
-#1177 := (not #448)
-#79 := (forall (vars (?x26 T2)) #78)
-#1168 := (not #79)
-#1825 := (or #1168 #1177 #1802 #1813)
-#1830 := (not #1825)
-#1 := true
-#242 := (implies false true)
-#229 := (+ #202 #91)
-#236 := (= #224 #229)
-#213 := (= #212 uf_8)
-#237 := (and #213 #236)
-#235 := (< #202 #224)
-#238 := (and #235 #237)
-#239 := (exists (vars (?x76 T2)) #238)
-#233 := (< #202 uf_9)
-#234 := (and #73 #233)
-#240 := (implies #234 #239)
-#241 := (forall (vars (?x75 T2)) #240)
-#243 := (implies #241 #242)
-#244 := (and #241 #243)
-#230 := (<= #224 #229)
-#92 := (< #91 uf_9)
-#228 := (and #213 #92)
-#231 := (implies #228 #230)
-#232 := (forall (vars (?x71 T2) (?x72 T2)) #231)
-#245 := (implies #232 #244)
-#246 := (and #232 #245)
-#225 := (<= #224 #202)
-#222 := (= #221 uf_8)
-#220 := (not #213)
-#223 := (and #220 #222)
-#226 := (implies #223 #225)
-#227 := (forall (vars (?x67 T2) (?x68 T2)) #226)
-#247 := (implies #227 #246)
-#248 := (and #227 #247)
-#218 := (<= 0::int #202)
-#219 := (forall (vars (?x65 T2)) #218)
-#249 := (implies #219 #248)
-#250 := (and #219 #249)
-#251 := (implies #217 #250)
-#252 := (and #217 #251)
-#253 := (implies true #252)
-#254 := (implies true #253)
-#207 := (= #202 #110)
-#214 := (implies #213 #207)
-#215 := (forall (vars (?x63 T2)) #214)
-#255 := (implies #215 #254)
-#256 := (and #215 #255)
-#210 := (<= #202 #110)
-#211 := (forall (vars (?x61 T2)) #210)
-#257 := (implies #211 #256)
-#258 := (and #211 #257)
-#199 := (+ #188 #197)
-#200 := (< #199 #110)
-#198 := (< #197 uf_9)
-#201 := (and #198 #200)
-#206 := (not #201)
-#208 := (implies #206 #207)
-#209 := (forall (vars (?x60 T2)) #208)
-#259 := (implies #209 #258)
-#203 := (= #202 #199)
-#204 := (implies #201 #203)
-#205 := (forall (vars (?x59 T2)) #204)
-#260 := (implies #205 #259)
-#261 := (implies #195 #260)
-#190 := (<= #188 #110)
-#115 := (= #114 uf_8)
-#116 := (not #115)
-#191 := (implies #116 #190)
-#192 := (forall (vars (?x58 T2)) #191)
-#262 := (implies #192 #261)
-#189 := (< #188 uf_9)
-#263 := (implies #189 #262)
-#186 := (= #185 uf_8)
-#187 := (not #186)
-#264 := (implies #187 #263)
-#129 := (< #110 uf_9)
-#138 := (and #116 #129)
-#139 := (exists (vars (?x48 T2)) #138)
-#265 := (implies #139 #264)
-#266 := (implies true #265)
-#267 := (implies true #266)
-#168 := (implies #167 true)
-#169 := (and #167 #168)
-#156 := (+ #151 #91)
-#163 := (<= #154 #156)
-#152 := (< #151 uf_9)
-#162 := (and #152 #92)
-#164 := (implies #162 #163)
-#165 := (forall (vars (?x53 T2) (?x54 T2)) #164)
-#170 := (implies #165 #169)
-#171 := (and #165 #170)
-#157 := (= #154 #156)
-#155 := (< #151 #154)
-#158 := (and #155 #157)
-#159 := (exists (vars (?x50 T2)) #158)
-#153 := (and #73 #152)
-#160 := (implies #153 #159)
-#161 := (forall (vars (?x49 T2)) #160)
-#172 := (implies #161 #171)
-#173 := (and #161 #172)
-#174 := (implies true #173)
-#175 := (implies #150 #174)
-#147 := (= uf_19 uf_14)
-#176 := (implies #147 #175)
-#177 := (implies #145 #176)
-#142 := (= uf_16 uf_15)
-#178 := (implies #142 #177)
-#179 := (implies true #178)
-#180 := (implies true #179)
-#140 := (not #139)
-#181 := (implies #140 #180)
-#182 := (implies true #181)
-#183 := (implies true #182)
-#268 := (and #183 #267)
-#269 := (implies true #268)
-#125 := (+ #110 #91)
-#132 := (= #120 #125)
-#133 := (and #115 #132)
-#131 := (< #110 #120)
-#134 := (and #131 #133)
-#135 := (exists (vars (?x47 T2)) #134)
-#130 := (and #73 #129)
-#136 := (implies #130 #135)
-#137 := (forall (vars (?x46 T2)) #136)
-#270 := (implies #137 #269)
-#126 := (<= #120 #125)
-#124 := (and #115 #92)
-#127 := (implies #124 #126)
-#128 := (forall (vars (?x44 T2) (?x45 T2)) #127)
-#271 := (implies #128 #270)
-#121 := (<= #120 #110)
-#118 := (= #117 uf_8)
-#119 := (and #116 #118)
-#122 := (implies #119 #121)
-#123 := (forall (vars (?x42 T2) (?x43 T2)) #122)
-#272 := (implies #123 #271)
-#111 := (<= 0::int #110)
-#112 := (forall (vars (?x41 T2)) #111)
-#273 := (implies #112 #272)
-#274 := (implies #109 #273)
-#275 := (implies true #274)
-#276 := (implies true #275)
-#94 := (+ #69 #91)
-#101 := (= #86 #94)
-#102 := (and #77 #101)
-#100 := (< #69 #86)
-#103 := (and #100 #102)
-#104 := (exists (vars (?x38 T2)) #103)
-#98 := (< #69 uf_9)
-#99 := (and #73 #98)
-#105 := (implies #99 #104)
-#106 := (forall (vars (?x37 T2)) #105)
-#277 := (implies #106 #276)
-#278 := (and #106 #277)
-#95 := (<= #86 #94)
-#93 := (and #77 #92)
-#96 := (implies #93 #95)
-#97 := (forall (vars (?x33 T2) (?x34 T2)) #96)
-#279 := (implies #97 #278)
-#280 := (and #97 #279)
-#87 := (<= #86 #69)
-#88 := (implies #85 #87)
-#89 := (forall (vars (?x29 T2) (?x30 T2)) #88)
-#281 := (implies #89 #280)
-#282 := (and #89 #281)
-#82 := (<= 0::int #69)
-#83 := (forall (vars (?x27 T2)) #82)
-#283 := (implies #83 #282)
-#284 := (and #83 #283)
-#285 := (implies #81 #284)
-#286 := (and #81 #285)
-#287 := (implies true #286)
-#288 := (implies #79 #287)
-#74 := (= #69 uf_9)
-#75 := (implies #73 #74)
-#76 := (forall (vars (?x25 T2)) #75)
-#289 := (implies #76 #288)
-#71 := (implies #68 #70)
-#72 := (forall (vars (?x24 T2)) #71)
-#290 := (implies #72 #289)
-#291 := (implies true #290)
-#292 := (implies true #291)
-#293 := (not #292)
-#1833 := (iff #293 #1830)
-#819 := (+ #91 #202)
-#837 := (= #224 #819)
-#840 := (and #773 #837)
-#843 := (and #235 #840)
-#846 := (exists (vars (?x76 T2)) #843)
-#852 := (not #234)
-#853 := (or #852 #846)
-#858 := (forall (vars (?x75 T2)) #853)
-#822 := (<= #224 #819)
-#814 := (and #92 #773)
-#828 := (not #814)
-#829 := (or #828 #822)
-#834 := (forall (vars (?x71 T2) (?x72 T2)) #829)
-#880 := (not #834)
-#881 := (or #880 #858)
-#886 := (and #834 #881)
-#803 := (or #225 #802)
-#808 := (forall (vars (?x67 T2) (?x68 T2)) #803)
-#892 := (not #808)
-#893 := (or #892 #886)
-#898 := (and #808 #893)
-#904 := (not #219)
-#905 := (or #904 #898)
-#910 := (and #219 #905)
-#788 := (= 0::int #216)
-#916 := (not #788)
-#917 := (or #916 #910)
-#922 := (and #788 #917)
-#940 := (or #939 #922)
-#945 := (and #785 #940)
-#951 := (not #211)
-#952 := (or #951 #945)
-#957 := (and #211 #952)
-#765 := (or #201 #759)
-#770 := (forall (vars (?x60 T2)) #765)
-#963 := (not #770)
-#964 := (or #963 #957)
-#745 := (= #199 #202)
-#751 := (or #206 #745)
-#756 := (forall (vars (?x59 T2)) #751)
-#972 := (not #756)
-#973 := (or #972 #964)
-#982 := (or #981 #973)
-#737 := (or #190 #478)
-#742 := (forall (vars (?x58 T2)) #737)
-#990 := (not #742)
-#991 := (or #990 #982)
-#999 := (not #189)
-#1000 := (or #999 #991)
-#1008 := (or #728 #1000)
-#555 := (and #129 #481)
-#560 := (exists (vars (?x48 T2)) #555)
-#563 := (not #560)
-#1016 := (or #563 #1008)
-#614 := (= 0::int #166)
-#572 := (+ #91 #151)
-#599 := (<= #154 #572)
-#596 := (and #92 #152)
-#605 := (not #596)
-#606 := (or #605 #599)
-#611 := (forall (vars (?x53 T2) (?x54 T2)) #606)
-#634 := (not #611)
-#635 := (or #634 #614)
-#640 := (and #611 #635)
-#575 := (= #154 #572)
-#578 := (and #155 #575)
-#581 := (exists (vars (?x50 T2)) #578)
-#587 := (not #153)
-#588 := (or #587 #581)
-#593 := (forall (vars (?x49 T2)) #588)
-#646 := (not #593)
-#647 := (or #646 #640)
-#652 := (and #593 #647)
-#666 := (or #665 #652)
-#675 := (or #674 #666)
-#684 := (or #683 #675)
-#693 := (or #692 #684)
-#712 := (or #560 #693)
-#1032 := (and #712 #1016)
-#510 := (+ #91 #110)
-#528 := (= #120 #510)
-#531 := (and #478 #528)
-#534 := (and #131 #531)
-#537 := (exists (vars (?x47 T2)) #534)
-#543 := (not #130)
-#544 := (or #543 #537)
-#549 := (forall (vars (?x46 T2)) #544)
-#1045 := (not #549)
-#1046 := (or #1045 #1032)
-#513 := (<= #120 #510)
-#505 := (and #92 #478)
-#519 := (not #505)
-#520 := (or #519 #513)
-#525 := (forall (vars (?x44 T2) (?x45 T2)) #520)
-#1054 := (not #525)
-#1055 := (or #1054 #1046)
-#494 := (or #121 #493)
-#499 := (forall (vars (?x42 T2) (?x43 T2)) #494)
-#1063 := (not #499)
-#1064 := (or #1063 #1055)
-#1072 := (not #112)
-#1073 := (or #1072 #1064)
-#475 := (= 0::int #108)
-#1081 := (not #475)
-#1082 := (or #1081 #1073)
-#468 := (not #99)
-#469 := (or #468 #104)
-#472 := (forall (vars (?x37 T2)) #469)
-#1101 := (not #472)
-#1102 := (or #1101 #1082)
-#1107 := (and #472 #1102)
-#461 := (not #93)
-#462 := (or #461 #95)
-#465 := (forall (vars (?x33 T2) (?x34 T2)) #462)
-#1113 := (not #465)
-#1114 := (or #1113 #1107)
-#1119 := (and #465 #1114)
-#455 := (or #454 #87)
-#458 := (forall (vars (?x29 T2) (?x30 T2)) #455)
-#1125 := (not #458)
-#1126 := (or #1125 #1119)
-#1131 := (and #458 #1126)
-#1137 := (not #83)
-#1138 := (or #1137 #1131)
-#1143 := (and #83 #1138)
-#451 := (= 0::int #80)
-#1149 := (not #451)
-#1150 := (or #1149 #1143)
-#1155 := (and #451 #1150)
-#1169 := (or #1168 #1155)
-#1178 := (or #1177 #1169)
-#423 := (= 0::int #69)
-#429 := (or #73 #423)
-#434 := (forall (vars (?x24 T2)) #429)
-#1186 := (not #434)
-#1187 := (or #1186 #1178)
-#1203 := (not #1187)
-#1831 := (iff #1203 #1830)
-#1828 := (iff #1187 #1825)
-#1816 := (or #1168 #1802)
-#1819 := (or #1177 #1816)
-#1822 := (or #1813 #1819)
-#1826 := (iff #1822 #1825)
-#1827 := [rewrite]: #1826
-#1823 := (iff #1187 #1822)
-#1820 := (iff #1178 #1819)
-#1817 := (iff #1169 #1816)
-#1803 := (iff #1155 #1802)
-#1800 := (iff #1150 #1799)
-#1797 := (iff #1143 #1796)
-#1794 := (iff #1138 #1793)
-#1791 := (iff #1131 #1790)
-#1788 := (iff #1126 #1787)
-#1785 := (iff #1119 #1784)
-#1782 := (iff #1114 #1781)
-#1779 := (iff #1107 #1778)
-#1776 := (iff #1102 #1773)
-#1755 := (or #1341 #1696)
-#1758 := (or #1719 #1755)
-#1761 := (or #1735 #1758)
-#1764 := (or #1744 #1761)
-#1767 := (or #1749 #1764)
-#1770 := (or #1752 #1767)
-#1774 := (iff #1770 #1773)
-#1775 := [rewrite]: #1774
-#1771 := (iff #1102 #1770)
-#1768 := (iff #1082 #1767)
-#1765 := (iff #1073 #1764)
-#1762 := (iff #1064 #1761)
-#1759 := (iff #1055 #1758)
-#1756 := (iff #1046 #1755)
-#1697 := (iff #1032 #1696)
-#1694 := (iff #1016 #1691)
-#1670 := (or #1476 #1617)
-#1673 := (or #1634 #1670)
-#1676 := (or #981 #1673)
-#1679 := (or #1652 #1676)
-#1682 := (or #1656 #1679)
-#1685 := (or #728 #1682)
-#1688 := (or #1667 #1685)
-#1692 := (iff #1688 #1691)
-#1693 := [rewrite]: #1692
-#1689 := (iff #1016 #1688)
-#1686 := (iff #1008 #1685)
-#1683 := (iff #1000 #1682)
-#1680 := (iff #991 #1679)
-#1677 := (iff #982 #1676)
-#1674 := (iff #973 #1673)
-#1671 := (iff #964 #1670)
-#1618 := (iff #957 #1617)
-#1615 := (iff #952 #1614)
-#1612 := (iff #945 #1611)
-#1609 := (iff #940 #1608)
-#1606 := (iff #922 #1605)
-#1603 := (iff #917 #1602)
-#1600 := (iff #910 #1599)
-#1597 := (iff #905 #1596)
-#1594 := (iff #898 #1593)
-#1591 := (iff #893 #1590)
-#1588 := (iff #886 #1587)
-#1585 := (iff #881 #1584)
-#1582 := (iff #858 #1581)
-#1579 := (iff #853 #1578)
-#1576 := (iff #846 #1575)
-#1573 := (iff #843 #1570)
-#1564 := (and #773 #1558)
-#1567 := (and #1561 #1564)
-#1571 := (iff #1567 #1570)
-#1572 := [rewrite]: #1571
-#1568 := (iff #843 #1567)
-#1565 := (iff #840 #1564)
-#1559 := (iff #837 #1558)
-#1560 := [rewrite]: #1559
-#1566 := [monotonicity #1560]: #1565
-#1562 := (iff #235 #1561)
-#1563 := [rewrite]: #1562
-#1569 := [monotonicity #1563 #1566]: #1568
-#1574 := [trans #1569 #1572]: #1573
-#1577 := [quant-intro #1574]: #1576
-#1556 := (iff #852 #1555)
-#1553 := (iff #234 #1552)
-#1550 := (iff #233 #1549)
-#1551 := [rewrite]: #1550
-#1554 := [monotonicity #1551]: #1553
-#1557 := [monotonicity #1554]: #1556
-#1580 := [monotonicity #1557 #1577]: #1579
-#1583 := [quant-intro #1580]: #1582
-#1545 := (iff #880 #1544)
-#1542 := (iff #834 #1541)
-#1539 := (iff #829 #1538)
-#1535 := (iff #822 #1534)
-#1537 := [rewrite]: #1535
-#1532 := (iff #828 #1531)
-#1529 := (iff #814 #1526)
-#1523 := (and #1238 #773)
-#1527 := (iff #1523 #1526)
-#1528 := [rewrite]: #1527
-#1524 := (iff #814 #1523)
-#1239 := (iff #92 #1238)
-#1240 := [rewrite]: #1239
-#1525 := [monotonicity #1240]: #1524
-#1530 := [trans #1525 #1528]: #1529
-#1533 := [monotonicity #1530]: #1532
-#1540 := [monotonicity #1533 #1537]: #1539
-#1543 := [quant-intro #1540]: #1542
-#1546 := [monotonicity #1543]: #1545
-#1586 := [monotonicity #1546 #1583]: #1585
-#1589 := [monotonicity #1543 #1586]: #1588
-#1521 := (iff #892 #1520)
-#1518 := (iff #808 #1517)
-#1515 := (iff #803 #1512)
-#1509 := (or #1504 #802)
-#1513 := (iff #1509 #1512)
-#1514 := [rewrite]: #1513
-#1510 := (iff #803 #1509)
-#1507 := (iff #225 #1504)
-#1508 := [rewrite]: #1507
-#1511 := [monotonicity #1508]: #1510
-#1516 := [trans #1511 #1514]: #1515
-#1519 := [quant-intro #1516]: #1518
-#1522 := [monotonicity #1519]: #1521
-#1592 := [monotonicity #1522 #1589]: #1591
-#1595 := [monotonicity #1519 #1592]: #1594
-#1502 := (iff #904 #1501)
-#1499 := (iff #219 #1498)
-#1496 := (iff #218 #1495)
-#1497 := [rewrite]: #1496
-#1500 := [quant-intro #1497]: #1499
-#1503 := [monotonicity #1500]: #1502
-#1598 := [monotonicity #1503 #1595]: #1597
-#1601 := [monotonicity #1500 #1598]: #1600
-#1493 := (iff #916 #1492)
-#1490 := (iff #788 #217)
-#1491 := [rewrite]: #1490
-#1494 := [monotonicity #1491]: #1493
-#1604 := [monotonicity #1494 #1601]: #1603
-#1607 := [monotonicity #1491 #1604]: #1606
-#1610 := [monotonicity #1607]: #1609
-#1613 := [monotonicity #1610]: #1612
-#1488 := (iff #951 #1487)
-#1485 := (iff #211 #1484)
-#1482 := (iff #210 #1479)
-#1483 := [rewrite]: #1482
-#1486 := [quant-intro #1483]: #1485
-#1489 := [monotonicity #1486]: #1488
-#1616 := [monotonicity #1489 #1613]: #1615
-#1619 := [monotonicity #1486 #1616]: #1618
-#1477 := (iff #963 #1476)
-#1474 := (iff #770 #1473)
-#1471 := (iff #765 #1468)
-#1465 := (or #1462 #759)
-#1469 := (iff #1465 #1468)
-#1470 := [rewrite]: #1469
-#1466 := (iff #765 #1465)
-#1463 := (iff #201 #1462)
-#1460 := (iff #200 #1459)
-#1461 := [rewrite]: #1460
-#1453 := (iff #198 #1452)
-#1454 := [rewrite]: #1453
-#1464 := [monotonicity #1454 #1461]: #1463
-#1467 := [monotonicity #1464]: #1466
-#1472 := [trans #1467 #1470]: #1471
-#1475 := [quant-intro #1472]: #1474
-#1478 := [monotonicity #1475]: #1477
-#1672 := [monotonicity #1478 #1619]: #1671
-#1635 := (iff #972 #1634)
-#1632 := (iff #756 #1631)
-#1629 := (iff #751 #1628)
-#1626 := (iff #745 #1625)
-#1627 := [rewrite]: #1626
-#1621 := (iff #206 #1620)
-#1622 := [monotonicity #1464]: #1621
-#1630 := [monotonicity #1622 #1627]: #1629
-#1633 := [quant-intro #1630]: #1632
-#1636 := [monotonicity #1633]: #1635
-#1675 := [monotonicity #1636 #1672]: #1674
-#1678 := [monotonicity #1675]: #1677
-#1653 := (iff #990 #1652)
-#1650 := (iff #742 #1649)
-#1647 := (iff #737 #1644)
-#1641 := (or #1637 #478)
-#1645 := (iff #1641 #1644)
-#1646 := [rewrite]: #1645
-#1642 := (iff #737 #1641)
-#1639 := (iff #190 #1637)
-#1640 := [rewrite]: #1639
-#1643 := [monotonicity #1640]: #1642
-#1648 := [trans #1643 #1646]: #1647
-#1651 := [quant-intro #1648]: #1650
-#1654 := [monotonicity #1651]: #1653
-#1681 := [monotonicity #1654 #1678]: #1680
-#1665 := (iff #999 #1656)
-#1657 := (not #1656)
-#1660 := (not #1657)
-#1663 := (iff #1660 #1656)
-#1664 := [rewrite]: #1663
-#1661 := (iff #999 #1660)
-#1658 := (iff #189 #1657)
-#1659 := [rewrite]: #1658
-#1662 := [monotonicity #1659]: #1661
-#1666 := [trans #1662 #1664]: #1665
-#1684 := [monotonicity #1666 #1681]: #1683
-#1687 := [monotonicity #1684]: #1686
-#1668 := (iff #563 #1667)
-#1427 := (iff #560 #1426)
-#1424 := (iff #555 #1421)
-#1418 := (and #1302 #481)
-#1422 := (iff #1418 #1421)
-#1423 := [rewrite]: #1422
-#1419 := (iff #555 #1418)
-#1303 := (iff #129 #1302)
-#1304 := [rewrite]: #1303
-#1420 := [monotonicity #1304]: #1419
-#1425 := [trans #1420 #1423]: #1424
-#1428 := [quant-intro #1425]: #1427
-#1669 := [monotonicity #1428]: #1668
-#1690 := [monotonicity #1669 #1687]: #1689
-#1695 := [trans #1690 #1693]: #1694
-#1447 := (iff #712 #1444)
-#1429 := (or #665 #1415)
-#1432 := (or #674 #1429)
-#1435 := (or #683 #1432)
-#1438 := (or #692 #1435)
-#1441 := (or #1426 #1438)
-#1445 := (iff #1441 #1444)
-#1446 := [rewrite]: #1445
-#1442 := (iff #712 #1441)
-#1439 := (iff #693 #1438)
-#1436 := (iff #684 #1435)
-#1433 := (iff #675 #1432)
-#1430 := (iff #666 #1429)
-#1416 := (iff #652 #1415)
-#1413 := (iff #647 #1412)
-#1410 := (iff #640 #1409)
-#1407 := (iff #635 #1404)
-#1401 := (or #1396 #167)
-#1405 := (iff #1401 #1404)
-#1406 := [rewrite]: #1405
-#1402 := (iff #635 #1401)
-#1399 := (iff #614 #167)
-#1400 := [rewrite]: #1399
-#1397 := (iff #634 #1396)
-#1394 := (iff #611 #1393)
-#1391 := (iff #606 #1390)
-#1388 := (iff #599 #1387)
-#1389 := [rewrite]: #1388
-#1385 := (iff #605 #1384)
-#1382 := (iff #596 #1381)
-#1348 := (iff #152 #1347)
-#1349 := [rewrite]: #1348
-#1383 := [monotonicity #1240 #1349]: #1382
-#1386 := [monotonicity #1383]: #1385
-#1392 := [monotonicity #1386 #1389]: #1391
-#1395 := [quant-intro #1392]: #1394
-#1398 := [monotonicity #1395]: #1397
-#1403 := [monotonicity #1398 #1400]: #1402
-#1408 := [trans #1403 #1406]: #1407
-#1411 := [monotonicity #1395 #1408]: #1410
-#1379 := (iff #646 #1378)
-#1376 := (iff #593 #1375)
-#1373 := (iff #588 #1372)
-#1370 := (iff #581 #1369)
-#1367 := (iff #578 #1366)
-#1363 := (iff #575 #1362)
-#1365 := [rewrite]: #1363
-#1360 := (iff #155 #1359)
-#1361 := [rewrite]: #1360
-#1368 := [monotonicity #1361 #1365]: #1367
-#1371 := [quant-intro #1368]: #1370
-#1354 := (iff #587 #1353)
-#1351 := (iff #153 #1350)
-#1352 := [monotonicity #1349]: #1351
-#1355 := [monotonicity #1352]: #1354
-#1374 := [monotonicity #1355 #1371]: #1373
-#1377 := [quant-intro #1374]: #1376
-#1380 := [monotonicity #1377]: #1379
-#1414 := [monotonicity #1380 #1411]: #1413
-#1417 := [monotonicity #1377 #1414]: #1416
-#1431 := [monotonicity #1417]: #1430
-#1434 := [monotonicity #1431]: #1433
-#1437 := [monotonicity #1434]: #1436
-#1440 := [monotonicity #1437]: #1439
-#1443 := [monotonicity #1428 #1440]: #1442
-#1448 := [trans #1443 #1446]: #1447
-#1698 := [monotonicity #1448 #1695]: #1697
-#1342 := (iff #1045 #1341)
-#1339 := (iff #549 #1338)
-#1336 := (iff #544 #1335)
-#1333 := (iff #537 #1332)
-#1330 := (iff #534 #1327)
-#1321 := (and #478 #1311)
-#1324 := (and #1318 #1321)
-#1328 := (iff #1324 #1327)
-#1329 := [rewrite]: #1328
-#1325 := (iff #534 #1324)
-#1322 := (iff #531 #1321)
-#1312 := (iff #528 #1311)
-#1316 := [rewrite]: #1312
-#1323 := [monotonicity #1316]: #1322
-#1319 := (iff #131 #1318)
-#1320 := [rewrite]: #1319
-#1326 := [monotonicity #1320 #1323]: #1325
-#1331 := [trans #1326 #1329]: #1330
-#1334 := [quant-intro #1331]: #1333
-#1309 := (iff #543 #1308)
-#1306 := (iff #130 #1305)
-#1307 := [monotonicity #1304]: #1306
-#1310 := [monotonicity #1307]: #1309
-#1337 := [monotonicity #1310 #1334]: #1336
-#1340 := [quant-intro #1337]: #1339
-#1343 := [monotonicity #1340]: #1342
-#1757 := [monotonicity #1343 #1698]: #1756
-#1720 := (iff #1054 #1719)
-#1717 := (iff #525 #1716)
-#1714 := (iff #520 #1713)
-#1711 := (iff #513 #1710)
-#1712 := [rewrite]: #1711
-#1708 := (iff #519 #1707)
-#1705 := (iff #505 #1702)
-#1699 := (and #1238 #478)
-#1703 := (iff #1699 #1702)
-#1704 := [rewrite]: #1703
-#1700 := (iff #505 #1699)
-#1701 := [monotonicity #1240]: #1700
-#1706 := [trans #1701 #1704]: #1705
-#1709 := [monotonicity #1706]: #1708
-#1715 := [monotonicity #1709 #1712]: #1714
-#1718 := [quant-intro #1715]: #1717
-#1721 := [monotonicity #1718]: #1720
-#1760 := [monotonicity #1721 #1757]: #1759
-#1736 := (iff #1063 #1735)
-#1733 := (iff #499 #1732)
-#1730 := (iff #494 #1727)
-#1724 := (or #1317 #493)
-#1728 := (iff #1724 #1727)
-#1729 := [rewrite]: #1728
-#1725 := (iff #494 #1724)
-#1722 := (iff #121 #1317)
-#1723 := [rewrite]: #1722
-#1726 := [monotonicity #1723]: #1725
-#1731 := [trans #1726 #1729]: #1730
-#1734 := [quant-intro #1731]: #1733
-#1737 := [monotonicity #1734]: #1736
-#1763 := [monotonicity #1737 #1760]: #1762
-#1745 := (iff #1072 #1744)
-#1742 := (iff #112 #1741)
-#1739 := (iff #111 #1738)
-#1740 := [rewrite]: #1739
-#1743 := [quant-intro #1740]: #1742
-#1746 := [monotonicity #1743]: #1745
-#1766 := [monotonicity #1746 #1763]: #1765
-#1750 := (iff #1081 #1749)
-#1747 := (iff #475 #109)
-#1748 := [rewrite]: #1747
-#1751 := [monotonicity #1748]: #1750
-#1769 := [monotonicity #1751 #1766]: #1768
-#1753 := (iff #1101 #1752)
-#1297 := (iff #472 #1296)
-#1294 := (iff #469 #1293)
-#1291 := (iff #104 #1290)
-#1288 := (iff #103 #1285)
-#1279 := (and #77 #1273)
-#1282 := (and #1276 #1279)
-#1286 := (iff #1282 #1285)
-#1287 := [rewrite]: #1286
-#1283 := (iff #103 #1282)
-#1280 := (iff #102 #1279)
-#1274 := (iff #101 #1273)
-#1275 := [rewrite]: #1274
-#1281 := [monotonicity #1275]: #1280
-#1277 := (iff #100 #1276)
-#1278 := [rewrite]: #1277
-#1284 := [monotonicity #1278 #1281]: #1283
-#1289 := [trans #1284 #1287]: #1288
-#1292 := [quant-intro #1289]: #1291
-#1271 := (iff #468 #1270)
-#1268 := (iff #99 #1267)
-#1265 := (iff #98 #1264)
-#1266 := [rewrite]: #1265
-#1269 := [monotonicity #1266]: #1268
-#1272 := [monotonicity #1269]: #1271
-#1295 := [monotonicity #1272 #1292]: #1294
-#1298 := [quant-intro #1295]: #1297
-#1754 := [monotonicity #1298]: #1753
-#1772 := [monotonicity #1754 #1769]: #1771
-#1777 := [trans #1772 #1775]: #1776
-#1780 := [monotonicity #1298 #1777]: #1779
-#1259 := (iff #1113 #1258)
-#1256 := (iff #465 #1255)
-#1253 := (iff #462 #1252)
-#1247 := (iff #95 #1248)
-#1249 := [rewrite]: #1247
-#1245 := (iff #461 #1244)
-#1242 := (iff #93 #1241)
-#1243 := [monotonicity #1240]: #1242
-#1246 := [monotonicity #1243]: #1245
-#1254 := [monotonicity #1246 #1249]: #1253
-#1257 := [quant-intro #1254]: #1256
-#1260 := [monotonicity #1257]: #1259
-#1783 := [monotonicity #1260 #1780]: #1782
-#1786 := [monotonicity #1257 #1783]: #1785
-#1233 := (iff #1125 #1232)
-#1230 := (iff #458 #1229)
-#1227 := (iff #455 #1226)
-#1221 := (iff #87 #1222)
-#1225 := [rewrite]: #1221
-#1228 := [monotonicity #1225]: #1227
-#1231 := [quant-intro #1228]: #1230
-#1234 := [monotonicity #1231]: #1233
-#1789 := [monotonicity #1234 #1786]: #1788
-#1792 := [monotonicity #1231 #1789]: #1791
-#1218 := (iff #1137 #1217)
-#1215 := (iff #83 #1214)
-#1211 := (iff #82 #1213)
-#1212 := [rewrite]: #1211
-#1216 := [quant-intro #1212]: #1215
-#1219 := [monotonicity #1216]: #1218
-#1795 := [monotonicity #1219 #1792]: #1794
-#1798 := [monotonicity #1216 #1795]: #1797
-#1209 := (iff #1149 #1208)
-#1206 := (iff #451 #81)
-#1207 := [rewrite]: #1206
-#1210 := [monotonicity #1207]: #1209
-#1801 := [monotonicity #1210 #1798]: #1800
-#1804 := [monotonicity #1207 #1801]: #1803
-#1818 := [monotonicity #1804]: #1817
-#1821 := [monotonicity #1818]: #1820
-#1814 := (iff #1186 #1813)
-#1811 := (iff #434 #1810)
-#1808 := (iff #429 #1807)
-#1805 := (iff #423 #70)
-#1806 := [rewrite]: #1805
-#1809 := [monotonicity #1806]: #1808
-#1812 := [quant-intro #1809]: #1811
-#1815 := [monotonicity #1812]: #1814
-#1824 := [monotonicity #1815 #1821]: #1823
-#1829 := [trans #1824 #1827]: #1828
-#1832 := [monotonicity #1829]: #1831
-#1204 := (iff #293 #1203)
-#1201 := (iff #292 #1187)
-#1192 := (implies true #1187)
-#1195 := (iff #1192 #1187)
-#1196 := [rewrite]: #1195
-#1199 := (iff #292 #1192)
-#1197 := (iff #291 #1187)
-#1193 := (iff #291 #1192)
-#1190 := (iff #290 #1187)
-#1183 := (implies #434 #1178)
-#1188 := (iff #1183 #1187)
-#1189 := [rewrite]: #1188
-#1184 := (iff #290 #1183)
-#1181 := (iff #289 #1178)
-#1174 := (implies #448 #1169)
-#1179 := (iff #1174 #1178)
-#1180 := [rewrite]: #1179
-#1175 := (iff #289 #1174)
-#1172 := (iff #288 #1169)
-#1165 := (implies #79 #1155)
-#1170 := (iff #1165 #1169)
-#1171 := [rewrite]: #1170
-#1166 := (iff #288 #1165)
-#1163 := (iff #287 #1155)
-#1158 := (implies true #1155)
-#1161 := (iff #1158 #1155)
-#1162 := [rewrite]: #1161
-#1159 := (iff #287 #1158)
-#1156 := (iff #286 #1155)
-#1153 := (iff #285 #1150)
-#1146 := (implies #451 #1143)
-#1151 := (iff #1146 #1150)
-#1152 := [rewrite]: #1151
-#1147 := (iff #285 #1146)
-#1144 := (iff #284 #1143)
-#1141 := (iff #283 #1138)
-#1134 := (implies #83 #1131)
-#1139 := (iff #1134 #1138)
-#1140 := [rewrite]: #1139
-#1135 := (iff #283 #1134)
-#1132 := (iff #282 #1131)
-#1129 := (iff #281 #1126)
-#1122 := (implies #458 #1119)
-#1127 := (iff #1122 #1126)
-#1128 := [rewrite]: #1127
-#1123 := (iff #281 #1122)
-#1120 := (iff #280 #1119)
-#1117 := (iff #279 #1114)
-#1110 := (implies #465 #1107)
-#1115 := (iff #1110 #1114)
-#1116 := [rewrite]: #1115
-#1111 := (iff #279 #1110)
-#1108 := (iff #278 #1107)
-#1105 := (iff #277 #1102)
-#1098 := (implies #472 #1082)
-#1103 := (iff #1098 #1102)
-#1104 := [rewrite]: #1103
-#1099 := (iff #277 #1098)
-#1096 := (iff #276 #1082)
-#1087 := (implies true #1082)
-#1090 := (iff #1087 #1082)
-#1091 := [rewrite]: #1090
-#1094 := (iff #276 #1087)
-#1092 := (iff #275 #1082)
-#1088 := (iff #275 #1087)
-#1085 := (iff #274 #1082)
-#1078 := (implies #475 #1073)
-#1083 := (iff #1078 #1082)
-#1084 := [rewrite]: #1083
-#1079 := (iff #274 #1078)
-#1076 := (iff #273 #1073)
-#1069 := (implies #112 #1064)
-#1074 := (iff #1069 #1073)
-#1075 := [rewrite]: #1074
-#1070 := (iff #273 #1069)
-#1067 := (iff #272 #1064)
-#1060 := (implies #499 #1055)
-#1065 := (iff #1060 #1064)
-#1066 := [rewrite]: #1065
-#1061 := (iff #272 #1060)
-#1058 := (iff #271 #1055)
-#1051 := (implies #525 #1046)
-#1056 := (iff #1051 #1055)
-#1057 := [rewrite]: #1056
-#1052 := (iff #271 #1051)
-#1049 := (iff #270 #1046)
-#1042 := (implies #549 #1032)
-#1047 := (iff #1042 #1046)
-#1048 := [rewrite]: #1047
-#1043 := (iff #270 #1042)
-#1040 := (iff #269 #1032)
-#1035 := (implies true #1032)
-#1038 := (iff #1035 #1032)
-#1039 := [rewrite]: #1038
-#1036 := (iff #269 #1035)
-#1033 := (iff #268 #1032)
-#1030 := (iff #267 #1016)
-#1021 := (implies true #1016)
-#1024 := (iff #1021 #1016)
-#1025 := [rewrite]: #1024
-#1028 := (iff #267 #1021)
-#1026 := (iff #266 #1016)
-#1022 := (iff #266 #1021)
-#1019 := (iff #265 #1016)
-#1013 := (implies #560 #1008)
-#1017 := (iff #1013 #1016)
-#1018 := [rewrite]: #1017
-#1014 := (iff #265 #1013)
-#1011 := (iff #264 #1008)
-#731 := (not #728)
-#1005 := (implies #731 #1000)
-#1009 := (iff #1005 #1008)
-#1010 := [rewrite]: #1009
-#1006 := (iff #264 #1005)
-#1003 := (iff #263 #1000)
-#996 := (implies #189 #991)
-#1001 := (iff #996 #1000)
-#1002 := [rewrite]: #1001
-#997 := (iff #263 #996)
-#994 := (iff #262 #991)
-#987 := (implies #742 #982)
-#992 := (iff #987 #991)
-#993 := [rewrite]: #992
-#988 := (iff #262 #987)
-#985 := (iff #261 #982)
-#978 := (implies #195 #973)
-#983 := (iff #978 #982)
-#984 := [rewrite]: #983
-#979 := (iff #261 #978)
-#976 := (iff #260 #973)
-#969 := (implies #756 #964)
-#974 := (iff #969 #973)
-#975 := [rewrite]: #974
-#970 := (iff #260 #969)
-#967 := (iff #259 #964)
-#960 := (implies #770 #957)
-#965 := (iff #960 #964)
-#966 := [rewrite]: #965
-#961 := (iff #259 #960)
-#958 := (iff #258 #957)
-#955 := (iff #257 #952)
-#948 := (implies #211 #945)
-#953 := (iff #948 #952)
-#954 := [rewrite]: #953
-#949 := (iff #257 #948)
-#946 := (iff #256 #945)
-#943 := (iff #255 #940)
-#936 := (implies #785 #922)
-#941 := (iff #936 #940)
-#942 := [rewrite]: #941
-#937 := (iff #255 #936)
-#934 := (iff #254 #922)
-#925 := (implies true #922)
-#928 := (iff #925 #922)
-#929 := [rewrite]: #928
-#932 := (iff #254 #925)
-#930 := (iff #253 #922)
-#926 := (iff #253 #925)
-#923 := (iff #252 #922)
-#920 := (iff #251 #917)
-#913 := (implies #788 #910)
-#918 := (iff #913 #917)
-#919 := [rewrite]: #918
-#914 := (iff #251 #913)
-#911 := (iff #250 #910)
-#908 := (iff #249 #905)
-#901 := (implies #219 #898)
-#906 := (iff #901 #905)
-#907 := [rewrite]: #906
-#902 := (iff #249 #901)
-#899 := (iff #248 #898)
-#896 := (iff #247 #893)
-#889 := (implies #808 #886)
-#894 := (iff #889 #893)
-#895 := [rewrite]: #894
-#890 := (iff #247 #889)
-#887 := (iff #246 #886)
-#884 := (iff #245 #881)
-#877 := (implies #834 #858)
-#882 := (iff #877 #881)
-#883 := [rewrite]: #882
-#878 := (iff #245 #877)
-#875 := (iff #244 #858)
-#870 := (and #858 true)
-#873 := (iff #870 #858)
-#874 := [rewrite]: #873
-#871 := (iff #244 #870)
-#868 := (iff #243 true)
-#863 := (implies #858 true)
-#866 := (iff #863 true)
-#867 := [rewrite]: #866
-#864 := (iff #243 #863)
-#861 := (iff #242 true)
-#862 := [rewrite]: #861
-#859 := (iff #241 #858)
-#856 := (iff #240 #853)
-#849 := (implies #234 #846)
-#854 := (iff #849 #853)
-#855 := [rewrite]: #854
-#850 := (iff #240 #849)
-#847 := (iff #239 #846)
-#844 := (iff #238 #843)
-#841 := (iff #237 #840)
-#838 := (iff #236 #837)
-#820 := (= #229 #819)
-#821 := [rewrite]: #820
-#839 := [monotonicity #821]: #838
-#774 := (iff #213 #773)
-#775 := [rewrite]: #774
-#842 := [monotonicity #775 #839]: #841
-#845 := [monotonicity #842]: #844
-#848 := [quant-intro #845]: #847
-#851 := [monotonicity #848]: #850
-#857 := [trans #851 #855]: #856
-#860 := [quant-intro #857]: #859
-#865 := [monotonicity #860 #862]: #864
-#869 := [trans #865 #867]: #868
-#872 := [monotonicity #860 #869]: #871
-#876 := [trans #872 #874]: #875
-#835 := (iff #232 #834)
-#832 := (iff #231 #829)
-#825 := (implies #814 #822)
-#830 := (iff #825 #829)
-#831 := [rewrite]: #830
-#826 := (iff #231 #825)
-#823 := (iff #230 #822)
-#824 := [monotonicity #821]: #823
-#817 := (iff #228 #814)
-#811 := (and #773 #92)
-#815 := (iff #811 #814)
-#816 := [rewrite]: #815
-#812 := (iff #228 #811)
-#813 := [monotonicity #775]: #812
-#818 := [trans #813 #816]: #817
-#827 := [monotonicity #818 #824]: #826
-#833 := [trans #827 #831]: #832
-#836 := [quant-intro #833]: #835
-#879 := [monotonicity #836 #876]: #878
-#885 := [trans #879 #883]: #884
-#888 := [monotonicity #836 #885]: #887
-#809 := (iff #227 #808)
-#806 := (iff #226 #803)
-#799 := (implies #796 #225)
-#804 := (iff #799 #803)
-#805 := [rewrite]: #804
-#800 := (iff #226 #799)
-#797 := (iff #223 #796)
-#794 := (iff #222 #793)
-#795 := [rewrite]: #794
-#791 := (iff #220 #779)
-#792 := [monotonicity #775]: #791
-#798 := [monotonicity #792 #795]: #797
-#801 := [monotonicity #798]: #800
-#807 := [trans #801 #805]: #806
-#810 := [quant-intro #807]: #809
-#891 := [monotonicity #810 #888]: #890
-#897 := [trans #891 #895]: #896
-#900 := [monotonicity #810 #897]: #899
-#903 := [monotonicity #900]: #902
-#909 := [trans #903 #907]: #908
-#912 := [monotonicity #909]: #911
-#789 := (iff #217 #788)
-#790 := [rewrite]: #789
-#915 := [monotonicity #790 #912]: #914
-#921 := [trans #915 #919]: #920
-#924 := [monotonicity #790 #921]: #923
-#927 := [monotonicity #924]: #926
-#931 := [trans #927 #929]: #930
-#933 := [monotonicity #931]: #932
-#935 := [trans #933 #929]: #934
-#786 := (iff #215 #785)
-#783 := (iff #214 #780)
-#776 := (implies #773 #759)
-#781 := (iff #776 #780)
-#782 := [rewrite]: #781
-#777 := (iff #214 #776)
-#760 := (iff #207 #759)
-#761 := [rewrite]: #760
-#778 := [monotonicity #775 #761]: #777
-#784 := [trans #778 #782]: #783
-#787 := [quant-intro #784]: #786
-#938 := [monotonicity #787 #935]: #937
-#944 := [trans #938 #942]: #943
-#947 := [monotonicity #787 #944]: #946
-#950 := [monotonicity #947]: #949
-#956 := [trans #950 #954]: #955
-#959 := [monotonicity #956]: #958
-#771 := (iff #209 #770)
-#768 := (iff #208 #765)
-#762 := (implies #206 #759)
-#766 := (iff #762 #765)
-#767 := [rewrite]: #766
-#763 := (iff #208 #762)
-#764 := [monotonicity #761]: #763
-#769 := [trans #764 #767]: #768
-#772 := [quant-intro #769]: #771
-#962 := [monotonicity #772 #959]: #961
-#968 := [trans #962 #966]: #967
-#757 := (iff #205 #756)
-#754 := (iff #204 #751)
-#748 := (implies #201 #745)
-#752 := (iff #748 #751)
-#753 := [rewrite]: #752
-#749 := (iff #204 #748)
-#746 := (iff #203 #745)
-#747 := [rewrite]: #746
-#750 := [monotonicity #747]: #749
-#755 := [trans #750 #753]: #754
-#758 := [quant-intro #755]: #757
-#971 := [monotonicity #758 #968]: #970
-#977 := [trans #971 #975]: #976
-#980 := [monotonicity #977]: #979
-#986 := [trans #980 #984]: #985
-#743 := (iff #192 #742)
-#740 := (iff #191 #737)
-#734 := (implies #481 #190)
-#738 := (iff #734 #737)
-#739 := [rewrite]: #738
-#735 := (iff #191 #734)
-#482 := (iff #116 #481)
-#479 := (iff #115 #478)
-#480 := [rewrite]: #479
-#483 := [monotonicity #480]: #482
-#736 := [monotonicity #483]: #735
-#741 := [trans #736 #739]: #740
-#744 := [quant-intro #741]: #743
-#989 := [monotonicity #744 #986]: #988
-#995 := [trans #989 #993]: #994
-#998 := [monotonicity #995]: #997
-#1004 := [trans #998 #1002]: #1003
-#732 := (iff #187 #731)
-#729 := (iff #186 #728)
-#730 := [rewrite]: #729
-#733 := [monotonicity #730]: #732
-#1007 := [monotonicity #733 #1004]: #1006
-#1012 := [trans #1007 #1010]: #1011
-#561 := (iff #139 #560)
-#558 := (iff #138 #555)
-#552 := (and #481 #129)
-#556 := (iff #552 #555)
-#557 := [rewrite]: #556
-#553 := (iff #138 #552)
-#554 := [monotonicity #483]: #553
-#559 := [trans #554 #557]: #558
-#562 := [quant-intro #559]: #561
-#1015 := [monotonicity #562 #1012]: #1014
-#1020 := [trans #1015 #1018]: #1019
-#1023 := [monotonicity #1020]: #1022
-#1027 := [trans #1023 #1025]: #1026
-#1029 := [monotonicity #1027]: #1028
-#1031 := [trans #1029 #1025]: #1030
-#726 := (iff #183 #712)
-#717 := (implies true #712)
-#720 := (iff #717 #712)
-#721 := [rewrite]: #720
-#724 := (iff #183 #717)
-#722 := (iff #182 #712)
-#718 := (iff #182 #717)
-#715 := (iff #181 #712)
-#709 := (implies #563 #693)
-#713 := (iff #709 #712)
-#714 := [rewrite]: #713
-#710 := (iff #181 #709)
-#707 := (iff #180 #693)
-#698 := (implies true #693)
-#701 := (iff #698 #693)
-#702 := [rewrite]: #701
-#705 := (iff #180 #698)
-#703 := (iff #179 #693)
-#699 := (iff #179 #698)
-#696 := (iff #178 #693)
-#689 := (implies #566 #684)
-#694 := (iff #689 #693)
-#695 := [rewrite]: #694
-#690 := (iff #178 #689)
-#687 := (iff #177 #684)
-#680 := (implies #145 #675)
-#685 := (iff #680 #684)
-#686 := [rewrite]: #685
-#681 := (iff #177 #680)
-#678 := (iff #176 #675)
-#671 := (implies #569 #666)
-#676 := (iff #671 #675)
-#677 := [rewrite]: #676
-#672 := (iff #176 #671)
-#669 := (iff #175 #666)
-#662 := (implies #150 #652)
-#667 := (iff #662 #666)
-#668 := [rewrite]: #667
-#663 := (iff #175 #662)
-#660 := (iff #174 #652)
-#655 := (implies true #652)
-#658 := (iff #655 #652)
-#659 := [rewrite]: #658
-#656 := (iff #174 #655)
-#653 := (iff #173 #652)
-#650 := (iff #172 #647)
-#643 := (implies #593 #640)
-#648 := (iff #643 #647)
-#649 := [rewrite]: #648
-#644 := (iff #172 #643)
-#641 := (iff #171 #640)
-#638 := (iff #170 #635)
-#631 := (implies #611 #614)
-#636 := (iff #631 #635)
-#637 := [rewrite]: #636
-#632 := (iff #170 #631)
-#629 := (iff #169 #614)
-#624 := (and #614 true)
-#627 := (iff #624 #614)
-#628 := [rewrite]: #627
-#625 := (iff #169 #624)
-#622 := (iff #168 true)
-#617 := (implies #614 true)
-#620 := (iff #617 true)
-#621 := [rewrite]: #620
-#618 := (iff #168 #617)
-#615 := (iff #167 #614)
-#616 := [rewrite]: #615
-#619 := [monotonicity #616]: #618
-#623 := [trans #619 #621]: #622
-#626 := [monotonicity #616 #623]: #625
-#630 := [trans #626 #628]: #629
-#612 := (iff #165 #611)
-#609 := (iff #164 #606)
-#602 := (implies #596 #599)
-#607 := (iff #602 #606)
-#608 := [rewrite]: #607
-#603 := (iff #164 #602)
-#600 := (iff #163 #599)
-#573 := (= #156 #572)
-#574 := [rewrite]: #573
-#601 := [monotonicity #574]: #600
-#597 := (iff #162 #596)
-#598 := [rewrite]: #597
-#604 := [monotonicity #598 #601]: #603
-#610 := [trans #604 #608]: #609
-#613 := [quant-intro #610]: #612
-#633 := [monotonicity #613 #630]: #632
-#639 := [trans #633 #637]: #638
-#642 := [monotonicity #613 #639]: #641
-#594 := (iff #161 #593)
-#591 := (iff #160 #588)
-#584 := (implies #153 #581)
-#589 := (iff #584 #588)
-#590 := [rewrite]: #589
-#585 := (iff #160 #584)
-#582 := (iff #159 #581)
-#579 := (iff #158 #578)
-#576 := (iff #157 #575)
-#577 := [monotonicity #574]: #576
-#580 := [monotonicity #577]: #579
-#583 := [quant-intro #580]: #582
-#586 := [monotonicity #583]: #585
-#592 := [trans #586 #590]: #591
-#595 := [quant-intro #592]: #594
-#645 := [monotonicity #595 #642]: #644
-#651 := [trans #645 #649]: #650
-#654 := [monotonicity #595 #651]: #653
-#657 := [monotonicity #654]: #656
-#661 := [trans #657 #659]: #660
-#664 := [monotonicity #661]: #663
-#670 := [trans #664 #668]: #669
-#570 := (iff #147 #569)
-#571 := [rewrite]: #570
-#673 := [monotonicity #571 #670]: #672
-#679 := [trans #673 #677]: #678
-#682 := [monotonicity #679]: #681
-#688 := [trans #682 #686]: #687
-#567 := (iff #142 #566)
-#568 := [rewrite]: #567
-#691 := [monotonicity #568 #688]: #690
-#697 := [trans #691 #695]: #696
-#700 := [monotonicity #697]: #699
-#704 := [trans #700 #702]: #703
-#706 := [monotonicity #704]: #705
-#708 := [trans #706 #702]: #707
-#564 := (iff #140 #563)
-#565 := [monotonicity #562]: #564
-#711 := [monotonicity #565 #708]: #710
-#716 := [trans #711 #714]: #715
-#719 := [monotonicity #716]: #718
-#723 := [trans #719 #721]: #722
-#725 := [monotonicity #723]: #724
-#727 := [trans #725 #721]: #726
-#1034 := [monotonicity #727 #1031]: #1033
-#1037 := [monotonicity #1034]: #1036
-#1041 := [trans #1037 #1039]: #1040
-#550 := (iff #137 #549)
-#547 := (iff #136 #544)
-#540 := (implies #130 #537)
-#545 := (iff #540 #544)
-#546 := [rewrite]: #545
-#541 := (iff #136 #540)
-#538 := (iff #135 #537)
-#535 := (iff #134 #534)
-#532 := (iff #133 #531)
-#529 := (iff #132 #528)
-#511 := (= #125 #510)
-#512 := [rewrite]: #511
-#530 := [monotonicity #512]: #529
-#533 := [monotonicity #480 #530]: #532
-#536 := [monotonicity #533]: #535
-#539 := [quant-intro #536]: #538
-#542 := [monotonicity #539]: #541
-#548 := [trans #542 #546]: #547
-#551 := [quant-intro #548]: #550
-#1044 := [monotonicity #551 #1041]: #1043
-#1050 := [trans #1044 #1048]: #1049
-#526 := (iff #128 #525)
-#523 := (iff #127 #520)
-#516 := (implies #505 #513)
-#521 := (iff #516 #520)
-#522 := [rewrite]: #521
-#517 := (iff #127 #516)
-#514 := (iff #126 #513)
-#515 := [monotonicity #512]: #514
-#508 := (iff #124 #505)
-#502 := (and #478 #92)
-#506 := (iff #502 #505)
-#507 := [rewrite]: #506
-#503 := (iff #124 #502)
-#504 := [monotonicity #480]: #503
-#509 := [trans #504 #507]: #508
-#518 := [monotonicity #509 #515]: #517
-#524 := [trans #518 #522]: #523
-#527 := [quant-intro #524]: #526
-#1053 := [monotonicity #527 #1050]: #1052
-#1059 := [trans #1053 #1057]: #1058
-#500 := (iff #123 #499)
-#497 := (iff #122 #494)
-#490 := (implies #487 #121)
-#495 := (iff #490 #494)
-#496 := [rewrite]: #495
-#491 := (iff #122 #490)
-#488 := (iff #119 #487)
-#485 := (iff #118 #484)
-#486 := [rewrite]: #485
-#489 := [monotonicity #483 #486]: #488
-#492 := [monotonicity #489]: #491
-#498 := [trans #492 #496]: #497
-#501 := [quant-intro #498]: #500
-#1062 := [monotonicity #501 #1059]: #1061
-#1068 := [trans #1062 #1066]: #1067
-#1071 := [monotonicity #1068]: #1070
-#1077 := [trans #1071 #1075]: #1076
-#476 := (iff #109 #475)
-#477 := [rewrite]: #476
-#1080 := [monotonicity #477 #1077]: #1079
-#1086 := [trans #1080 #1084]: #1085
-#1089 := [monotonicity #1086]: #1088
-#1093 := [trans #1089 #1091]: #1092
-#1095 := [monotonicity #1093]: #1094
-#1097 := [trans #1095 #1091]: #1096
-#473 := (iff #106 #472)
-#470 := (iff #105 #469)
-#471 := [rewrite]: #470
-#474 := [quant-intro #471]: #473
-#1100 := [monotonicity #474 #1097]: #1099
-#1106 := [trans #1100 #1104]: #1105
-#1109 := [monotonicity #474 #1106]: #1108
-#466 := (iff #97 #465)
-#463 := (iff #96 #462)
-#464 := [rewrite]: #463
-#467 := [quant-intro #464]: #466
-#1112 := [monotonicity #467 #1109]: #1111
-#1118 := [trans #1112 #1116]: #1117
-#1121 := [monotonicity #467 #1118]: #1120
-#459 := (iff #89 #458)
-#456 := (iff #88 #455)
-#457 := [rewrite]: #456
-#460 := [quant-intro #457]: #459
-#1124 := [monotonicity #460 #1121]: #1123
-#1130 := [trans #1124 #1128]: #1129
-#1133 := [monotonicity #460 #1130]: #1132
-#1136 := [monotonicity #1133]: #1135
-#1142 := [trans #1136 #1140]: #1141
-#1145 := [monotonicity #1142]: #1144
-#452 := (iff #81 #451)
-#453 := [rewrite]: #452
-#1148 := [monotonicity #453 #1145]: #1147
-#1154 := [trans #1148 #1152]: #1153
-#1157 := [monotonicity #453 #1154]: #1156
-#1160 := [monotonicity #1157]: #1159
-#1164 := [trans #1160 #1162]: #1163
-#1167 := [monotonicity #1164]: #1166
-#1173 := [trans #1167 #1171]: #1172
-#449 := (iff #76 #448)
-#446 := (iff #75 #443)
-#440 := (implies #73 #437)
-#444 := (iff #440 #443)
-#445 := [rewrite]: #444
-#441 := (iff #75 #440)
-#438 := (iff #74 #437)
-#439 := [rewrite]: #438
-#442 := [monotonicity #439]: #441
-#447 := [trans #442 #445]: #446
-#450 := [quant-intro #447]: #449
-#1176 := [monotonicity #450 #1173]: #1175
-#1182 := [trans #1176 #1180]: #1181
-#435 := (iff #72 #434)
-#432 := (iff #71 #429)
-#426 := (implies #68 #423)
-#430 := (iff #426 #429)
-#431 := [rewrite]: #430
-#427 := (iff #71 #426)
-#424 := (iff #70 #423)
-#425 := [rewrite]: #424
-#428 := [monotonicity #425]: #427
-#433 := [trans #428 #431]: #432
-#436 := [quant-intro #433]: #435
-#1185 := [monotonicity #436 #1182]: #1184
-#1191 := [trans #1185 #1189]: #1190
-#1194 := [monotonicity #1191]: #1193
-#1198 := [trans #1194 #1196]: #1197
-#1200 := [monotonicity #1198]: #1199
-#1202 := [trans #1200 #1196]: #1201
-#1205 := [monotonicity #1202]: #1204
-#1834 := [trans #1205 #1832]: #1833
-#422 := [asserted]: #293
-#1835 := [mp #422 #1834]: #1830
-#1837 := [not-or-elim #1835]: #448
-#1902 := [mp~ #1837 #1863]: #448
-#4263 := [mp #1902 #4262]: #4258
-#4706 := (not #4258)
-#5054 := (or #4706 #2574 #5019)
-#1992 := (= ?x37!5 uf_11)
-#5025 := (or #1992 #5019)
-#5056 := (or #4706 #5025)
-#5111 := (iff #5056 #5054)
-#5048 := (or #2574 #5019)
-#5057 := (or #4706 #5048)
-#5087 := (iff #5057 #5054)
-#5088 := [rewrite]: #5087
-#5059 := (iff #5056 #5057)
-#5049 := (iff #5025 #5048)
-#2575 := (iff #1992 #2574)
-#2576 := [rewrite]: #2575
-#5053 := [monotonicity #2576]: #5049
-#5060 := [monotonicity #5053]: #5059
-#5120 := [trans #5060 #5088]: #5111
-#5047 := [quant-inst]: #5056
-#5121 := [mp #5047 #5120]: #5054
-#5195 := [unit-resolution #5121 #4263 #5192 #5194]: false
-#5196 := [lemma #5195]: #4299
-#4585 := (or #4302 #4582)
-#4588 := (not #4585)
-#3123 := (or #78 #1237 #1248)
-#4282 := (forall (vars (?x33 T2) (?x34 T2)) (:pat #4281) #3123)
-#4287 := (not #4282)
-#4591 := (or #4287 #4588)
-#4594 := (not #4591)
-decl ?x34!3 :: T2
-#1946 := ?x34!3
-#1953 := (uf_12 ?x34!3)
-decl ?x33!4 :: T2
-#1947 := ?x33!4
-#1950 := (uf_12 ?x33!4)
-#1951 := (* -1::int #1950)
-#2561 := (+ #1951 #1953)
-#1948 := (uf_1 ?x34!3 ?x33!4)
-#1949 := (uf_10 #1948)
-#2562 := (+ #1949 #2561)
-#2565 := (>= #2562 0::int)
-#1960 := (up_13 ?x34!3)
-#3086 := (not #1960)
-#1956 := (* -1::int #1949)
-#1957 := (+ uf_9 #1956)
-#1958 := (<= #1957 0::int)
-#3101 := (or #1958 #3086 #2565)
-#5147 := [hypothesis]: #1960
-#4251 := (forall (vars (?x26 T2)) (:pat #4250) #78)
-#4254 := (iff #79 #4251)
-#4252 := (iff #78 #78)
-#4253 := [refl]: #4252
-#4255 := [quant-intro #4253]: #4254
-#1860 := (~ #79 #79)
-#1897 := (~ #78 #78)
-#1898 := [refl]: #1897
-#1861 := [nnf-pos #1898]: #1860
-#1836 := [not-or-elim #1835]: #79
-#1899 := [mp~ #1836 #1861]: #79
-#4256 := [mp #1899 #4255]: #4251
-#4844 := (not #4251)
-#4845 := (or #4844 #3086)
-#4846 := [quant-inst]: #4845
-#5148 := [unit-resolution #4846 #4256 #5147]: false
-#5157 := [lemma #5148]: #3086
-#3862 := (or #3101 #1960)
-#3866 := [def-axiom]: #3862
-#4921 := [unit-resolution #3866 #5157]: #3101
-#3106 := (not #3101)
-#4597 := (or #3106 #4594)
-#4600 := (not #4597)
-#4272 := (pattern #77 #84)
-#2527 := (not #84)
-#3078 := (or #77 #2527 #1222)
-#4273 := (forall (vars (?x29 T2) (?x30 T2)) (:pat #4272) #3078)
-#4278 := (not #4273)
-#4603 := (or #4278 #4600)
-#4606 := (not #4603)
-decl ?x30!1 :: T2
-#1921 := ?x30!1
-#1925 := (uf_12 ?x30!1)
-#2542 := (* -1::int #1925)
-decl ?x29!2 :: T2
-#1922 := ?x29!2
-#1923 := (uf_12 ?x29!2)
-#2543 := (+ #1923 #2542)
-#2544 := (<= #2543 0::int)
-#1929 := (up_13 ?x30!1)
-#1928 := (up_13 ?x29!2)
-#1968 := (not #1928)
-#2171 := (or #1968 #1929 #2544)
-#2248 := (not #2171)
-#4609 := (or #2248 #4606)
-#4612 := (not #4609)
-#4264 := (forall (vars (?x27 T2)) (:pat #4257) #1213)
-#4269 := (not #4264)
-#4615 := (or #4269 #4612)
-#4618 := (not #4615)
-decl ?x27!0 :: T2
-#1906 := ?x27!0
-#1907 := (uf_12 ?x27!0)
-#1908 := (>= #1907 0::int)
-#1909 := (not #1908)
-#4621 := (or #1909 #4618)
-#4624 := (not #4621)
-#4627 := (or #1208 #4624)
-#4630 := (not #4627)
-#4637 := (forall (vars (?x24 T2)) (:pat #4257) #1807)
-#4640 := (iff #1810 #4637)
-#4638 := (iff #1807 #1807)
-#4639 := [refl]: #4638
-#4641 := [quant-intro #4639]: #4640
-#2061 := (~ #1810 #1810)
-#2287 := (~ #1807 #1807)
-#2288 := [refl]: #2287
-#2062 := [nnf-pos #2288]: #2061
-#1840 := [not-or-elim #1835]: #1810
-#1967 := [mp~ #1840 #2062]: #1810
-#4642 := [mp #1967 #4641]: #4637
-#4660 := [hypothesis]: #1208
-#3800 := (not #4637)
-#3794 := (or #3800 #81)
-#3912 := (= uf_11 uf_11)
-#3913 := (not #3912)
-#3914 := (or #3913 #81)
-#3784 := (or #3800 #3914)
-#3782 := (iff #3784 #3794)
-#3786 := (iff #3794 #3794)
-#4657 := [rewrite]: #3786
-#3799 := (iff #3914 #81)
-#3778 := (or false #81)
-#3797 := (iff #3778 #81)
-#3798 := [rewrite]: #3797
-#3776 := (iff #3914 #3778)
-#3775 := (iff #3913 false)
-#8605 := (not true)
-#8608 := (iff #8605 false)
-#8609 := [rewrite]: #8608
-#3783 := (iff #3913 #8605)
-#3915 := (iff #3912 true)
-#3787 := [rewrite]: #3915
-#3788 := [monotonicity #3787]: #3783
-#3777 := [trans #3788 #8609]: #3775
-#3779 := [monotonicity #3777]: #3776
-#3791 := [trans #3779 #3798]: #3799
-#3785 := [monotonicity #3791]: #3782
-#4658 := [trans #3785 #4657]: #3782
-#3781 := [quant-inst]: #3784
-#4659 := [mp #3781 #4658]: #3794
-#4661 := [unit-resolution #4659 #4660 #4642]: false
-#4656 := [lemma #4661]: #81
-#4633 := (or #1208 #4630)
-#3536 := (forall (vars (?x76 T2)) #3525)
-#3543 := (not #3536)
-#3521 := (forall (vars (?x71 T2) (?x72 T2)) #3516)
-#3542 := (not #3521)
-#3544 := (or #2367 #2934 #3542 #3543)
-#3545 := (not #3544)
-#3550 := (or #3499 #3545)
-#3557 := (not #3550)
-#3476 := (forall (vars (?x67 T2) (?x68 T2)) #3471)
-#3556 := (not #3476)
-#3558 := (or #3556 #3557)
-#3559 := (not #3558)
-#3564 := (or #3453 #3559)
-#3570 := (not #3564)
-#3571 := (or #1501 #3570)
-#3572 := (not #3571)
-#3577 := (or #2284 #3572)
-#3583 := (not #3577)
-#3584 := (or #1492 #3583)
-#3585 := (not #3584)
-#3590 := (or #1492 #3585)
-#3596 := (not #3590)
-#3597 := (or #939 #3596)
-#3598 := (not #3597)
-#3603 := (or #2877 #3598)
-#3609 := (not #3603)
-#3610 := (or #1487 #3609)
-#3611 := (not #3610)
-#3616 := (or #2863 #3611)
-#3624 := (not #3616)
-#3430 := (forall (vars (?x59 T2)) #3425)
-#3623 := (not #3430)
-#3412 := (forall (vars (?x60 T2)) #3409)
-#3622 := (not #3412)
-#3625 := (or #981 #728 #1652 #1656 #2218 #2221 #3622 #3623 #3624)
-#3626 := (not #3625)
-#3342 := (forall (vars (?x53 T2) (?x54 T2)) #3337)
-#3348 := (not #3342)
-#3349 := (or #167 #3348)
-#3350 := (not #3349)
-#3377 := (or #3350 #3374)
-#3384 := (not #3377)
-#3320 := (forall (vars (?x49 T2)) #3315)
-#3383 := (not #3320)
-#3385 := (or #3383 #3384)
-#3386 := (not #3385)
-#3283 := (forall (vars (?x50 T2)) #3272)
-#3289 := (not #3283)
-#3290 := (or #2097 #2712 #3289)
-#3291 := (not #3290)
-#3391 := (or #3291 #3386)
-#3398 := (not #3391)
-#3268 := (forall (vars (?x48 T2)) #3257)
-#3397 := (not #3268)
-#3399 := (or #683 #665 #692 #674 #3397 #3398)
-#3400 := (not #3399)
-#3631 := (or #3400 #3626)
-#3641 := (not #3631)
-#3254 := (forall (vars (?x46 T2)) #3249)
-#3640 := (not #3254)
-#3226 := (forall (vars (?x37 T2)) #3221)
-#3639 := (not #3226)
-#3198 := (forall (vars (?x42 T2) (?x43 T2)) #3193)
-#3638 := (not #3198)
-#3175 := (forall (vars (?x44 T2) (?x45 T2)) #3170)
-#3637 := (not #3175)
-#3642 := (or #1749 #1744 #3637 #3638 #3639 #3640 #3641)
-#3643 := (not #3642)
-#3143 := (forall (vars (?x38 T2)) #3132)
-#3149 := (not #3143)
-#3150 := (or #1990 #2574 #3149)
-#3151 := (not #3150)
-#3648 := (or #3151 #3643)
-#3655 := (not #3648)
-#3128 := (forall (vars (?x33 T2) (?x34 T2)) #3123)
-#3654 := (not #3128)
-#3656 := (or #3654 #3655)
-#3657 := (not #3656)
-#3662 := (or #3106 #3657)
-#3669 := (not #3662)
-#3083 := (forall (vars (?x29 T2) (?x30 T2)) #3078)
-#3668 := (not #3083)
-#3670 := (or #3668 #3669)
-#3671 := (not #3670)
-#3676 := (or #2248 #3671)
-#3682 := (not #3676)
-#3683 := (or #1217 #3682)
-#3684 := (not #3683)
-#3689 := (or #1909 #3684)
-#3695 := (not #3689)
-#3696 := (or #1208 #3695)
-#3697 := (not #3696)
-#3702 := (or #1208 #3697)
-#4634 := (iff #3702 #4633)
-#4631 := (iff #3697 #4630)
-#4628 := (iff #3696 #4627)
-#4625 := (iff #3695 #4624)
-#4622 := (iff #3689 #4621)
-#4619 := (iff #3684 #4618)
-#4616 := (iff #3683 #4615)
-#4613 := (iff #3682 #4612)
-#4610 := (iff #3676 #4609)
-#4607 := (iff #3671 #4606)
-#4604 := (iff #3670 #4603)
-#4601 := (iff #3669 #4600)
-#4598 := (iff #3662 #4597)
-#4595 := (iff #3657 #4594)
-#4592 := (iff #3656 #4591)
-#4589 := (iff #3655 #4588)
-#4586 := (iff #3648 #4585)
-#4583 := (iff #3643 #4582)
-#4580 := (iff #3642 #4579)
-#4577 := (iff #3641 #4576)
-#4574 := (iff #3631 #4573)
-#4571 := (iff #3626 #4570)
-#4568 := (iff #3625 #4567)
-#4565 := (iff #3624 #4564)
-#4562 := (iff #3616 #4561)
-#4559 := (iff #3611 #4558)
-#4556 := (iff #3610 #4555)
-#4553 := (iff #3609 #4552)
-#4550 := (iff #3603 #4549)
-#4547 := (iff #3598 #4546)
-#4544 := (iff #3597 #4543)
-#4541 := (iff #3596 #4540)
-#4538 := (iff #3590 #4537)
-#4535 := (iff #3585 #4534)
-#4532 := (iff #3584 #4531)
-#4529 := (iff #3583 #4528)
-#4526 := (iff #3577 #4525)
-#4523 := (iff #3572 #4522)
-#4520 := (iff #3571 #4519)
-#4517 := (iff #3570 #4516)
-#4514 := (iff #3564 #4513)
-#4511 := (iff #3559 #4510)
-#4508 := (iff #3558 #4507)
-#4505 := (iff #3557 #4504)
-#4502 := (iff #3550 #4501)
-#4499 := (iff #3545 #4498)
-#4496 := (iff #3544 #4495)
-#4493 := (iff #3543 #4492)
-#4490 := (iff #3536 #4487)
-#4488 := (iff #3525 #3525)
-#4489 := [refl]: #4488
-#4491 := [quant-intro #4489]: #4490
-#4494 := [monotonicity #4491]: #4493
-#4484 := (iff #3542 #4483)
-#4481 := (iff #3521 #4478)
-#4479 := (iff #3516 #3516)
-#4480 := [refl]: #4479
-#4482 := [quant-intro #4480]: #4481
-#4485 := [monotonicity #4482]: #4484
-#4497 := [monotonicity #4485 #4494]: #4496
-#4500 := [monotonicity #4497]: #4499
-#4503 := [monotonicity #4500]: #4502
-#4506 := [monotonicity #4503]: #4505
-#4476 := (iff #3556 #4475)
-#4473 := (iff #3476 #4470)
-#4471 := (iff #3471 #3471)
-#4472 := [refl]: #4471
-#4474 := [quant-intro #4472]: #4473
-#4477 := [monotonicity #4474]: #4476
-#4509 := [monotonicity #4477 #4506]: #4508
-#4512 := [monotonicity #4509]: #4511
-#4515 := [monotonicity #4512]: #4514
-#4518 := [monotonicity #4515]: #4517
-#4467 := (iff #1501 #4466)
-#4464 := (iff #1498 #4461)
-#4462 := (iff #1495 #1495)
-#4463 := [refl]: #4462
-#4465 := [quant-intro #4463]: #4464
-#4468 := [monotonicity #4465]: #4467
-#4521 := [monotonicity #4468 #4518]: #4520
-#4524 := [monotonicity #4521]: #4523
-#4527 := [monotonicity #4524]: #4526
-#4530 := [monotonicity #4527]: #4529
-#4533 := [monotonicity #4530]: #4532
-#4536 := [monotonicity #4533]: #4535
-#4539 := [monotonicity #4536]: #4538
-#4542 := [monotonicity #4539]: #4541
-#4459 := (iff #939 #4458)
-#4456 := (iff #785 #4453)
-#4454 := (iff #780 #780)
-#4455 := [refl]: #4454
-#4457 := [quant-intro #4455]: #4456
-#4460 := [monotonicity #4457]: #4459
-#4545 := [monotonicity #4460 #4542]: #4544
-#4548 := [monotonicity #4545]: #4547
-#4551 := [monotonicity #4548]: #4550
-#4554 := [monotonicity #4551]: #4553
-#4450 := (iff #1487 #4449)
-#4447 := (iff #1484 #4444)
-#4445 := (iff #1479 #1479)
-#4446 := [refl]: #4445
-#4448 := [quant-intro #4446]: #4447
-#4451 := [monotonicity #4448]: #4450
-#4557 := [monotonicity #4451 #4554]: #4556
-#4560 := [monotonicity #4557]: #4559
-#4563 := [monotonicity #4560]: #4562
-#4566 := [monotonicity #4563]: #4565
-#4442 := (iff #3623 #4441)
-#4439 := (iff #3430 #4436)
-#4437 := (iff #3425 #3425)
-#4438 := [refl]: #4437
-#4440 := [quant-intro #4438]: #4439
-#4443 := [monotonicity #4440]: #4442
-#4434 := (iff #3622 #4433)
-#4431 := (iff #3412 #4428)
-#4429 := (iff #3409 #3409)
-#4430 := [refl]: #4429
-#4432 := [quant-intro #4430]: #4431
-#4435 := [monotonicity #4432]: #4434
-#4424 := (iff #1652 #4423)
-#4421 := (iff #1649 #4418)
-#4419 := (iff #1644 #1644)
-#4420 := [refl]: #4419
-#4422 := [quant-intro #4420]: #4421
-#4425 := [monotonicity #4422]: #4424
-#4569 := [monotonicity #4425 #4435 #4443 #4566]: #4568
-#4572 := [monotonicity #4569]: #4571
-#4416 := (iff #3400 #4415)
-#4413 := (iff #3399 #4412)
-#4410 := (iff #3398 #4409)
-#4407 := (iff #3391 #4406)
-#4404 := (iff #3386 #4403)
-#4401 := (iff #3385 #4400)
-#4398 := (iff #3384 #4397)
-#4395 := (iff #3377 #4394)
-#4392 := (iff #3350 #4391)
-#4389 := (iff #3349 #4388)
-#4386 := (iff #3348 #4385)
-#4383 := (iff #3342 #4380)
-#4381 := (iff #3337 #3337)
-#4382 := [refl]: #4381
-#4384 := [quant-intro #4382]: #4383
-#4387 := [monotonicity #4384]: #4386
-#4390 := [monotonicity #4387]: #4389
-#4393 := [monotonicity #4390]: #4392
-#4396 := [monotonicity #4393]: #4395
-#4399 := [monotonicity #4396]: #4398
-#4378 := (iff #3383 #4377)
-#4375 := (iff #3320 #4372)
-#4373 := (iff #3315 #3315)
-#4374 := [refl]: #4373
-#4376 := [quant-intro #4374]: #4375
-#4379 := [monotonicity #4376]: #4378
-#4402 := [monotonicity #4379 #4399]: #4401
-#4405 := [monotonicity #4402]: #4404
-#4370 := (iff #3291 #4369)
-#4367 := (iff #3290 #4366)
-#4364 := (iff #3289 #4363)
-#4361 := (iff #3283 #4358)
-#4359 := (iff #3272 #3272)
-#4360 := [refl]: #4359
-#4362 := [quant-intro #4360]: #4361
-#4365 := [monotonicity #4362]: #4364
-#4368 := [monotonicity #4365]: #4367
-#4371 := [monotonicity #4368]: #4370
-#4408 := [monotonicity #4371 #4405]: #4407
-#4411 := [monotonicity #4408]: #4410
-#4354 := (iff #3397 #4353)
-#4351 := (iff #3268 #4348)
-#4349 := (iff #3257 #3257)
-#4350 := [refl]: #4349
-#4352 := [quant-intro #4350]: #4351
-#4355 := [monotonicity #4352]: #4354
-#4414 := [monotonicity #4355 #4411]: #4413
-#4417 := [monotonicity #4414]: #4416
-#4575 := [monotonicity #4417 #4572]: #4574
-#4578 := [monotonicity #4575]: #4577
-#4345 := (iff #3640 #4344)
-#4342 := (iff #3254 #4339)
-#4340 := (iff #3249 #3249)
-#4341 := [refl]: #4340
-#4343 := [quant-intro #4341]: #4342
-#4346 := [monotonicity #4343]: #4345
-#4337 := (iff #3639 #4336)
-#4334 := (iff #3226 #4331)
-#4332 := (iff #3221 #3221)
-#4333 := [refl]: #4332
-#4335 := [quant-intro #4333]: #4334
-#4338 := [monotonicity #4335]: #4337
-#4329 := (iff #3638 #4328)
-#4326 := (iff #3198 #4323)
-#4324 := (iff #3193 #3193)
-#4325 := [refl]: #4324
-#4327 := [quant-intro #4325]: #4326
-#4330 := [monotonicity #4327]: #4329
-#4320 := (iff #3637 #4319)
-#4317 := (iff #3175 #4314)
-#4315 := (iff #3170 #3170)
-#4316 := [refl]: #4315
-#4318 := [quant-intro #4316]: #4317
-#4321 := [monotonicity #4318]: #4320
-#4312 := (iff #1744 #4311)
-#4309 := (iff #1741 #4306)
-#4307 := (iff #1738 #1738)
-#4308 := [refl]: #4307
-#4310 := [quant-intro #4308]: #4309
-#4313 := [monotonicity #4310]: #4312
-#4581 := [monotonicity #4313 #4321 #4330 #4338 #4346 #4578]: #4580
-#4584 := [monotonicity #4581]: #4583
-#4303 := (iff #3151 #4302)
-#4300 := (iff #3150 #4299)
-#4297 := (iff #3149 #4296)
-#4294 := (iff #3143 #4291)
-#4292 := (iff #3132 #3132)
-#4293 := [refl]: #4292
-#4295 := [quant-intro #4293]: #4294
-#4298 := [monotonicity #4295]: #4297
-#4301 := [monotonicity #4298]: #4300
-#4304 := [monotonicity #4301]: #4303
-#4587 := [monotonicity #4304 #4584]: #4586
-#4590 := [monotonicity #4587]: #4589
-#4288 := (iff #3654 #4287)
-#4285 := (iff #3128 #4282)
-#4283 := (iff #3123 #3123)
-#4284 := [refl]: #4283
-#4286 := [quant-intro #4284]: #4285
-#4289 := [monotonicity #4286]: #4288
-#4593 := [monotonicity #4289 #4590]: #4592
-#4596 := [monotonicity #4593]: #4595
-#4599 := [monotonicity #4596]: #4598
-#4602 := [monotonicity #4599]: #4601
-#4279 := (iff #3668 #4278)
-#4276 := (iff #3083 #4273)
-#4274 := (iff #3078 #3078)
-#4275 := [refl]: #4274
-#4277 := [quant-intro #4275]: #4276
-#4280 := [monotonicity #4277]: #4279
-#4605 := [monotonicity #4280 #4602]: #4604
-#4608 := [monotonicity #4605]: #4607
-#4611 := [monotonicity #4608]: #4610
-#4614 := [monotonicity #4611]: #4613
-#4270 := (iff #1217 #4269)
-#4267 := (iff #1214 #4264)
-#4265 := (iff #1213 #1213)
-#4266 := [refl]: #4265
-#4268 := [quant-intro #4266]: #4267
-#4271 := [monotonicity #4268]: #4270
-#4617 := [monotonicity #4271 #4614]: #4616
-#4620 := [monotonicity #4617]: #4619
-#4623 := [monotonicity #4620]: #4622
-#4626 := [monotonicity #4623]: #4625
-#4629 := [monotonicity #4626]: #4628
-#4632 := [monotonicity #4629]: #4631
-#4635 := [monotonicity #4632]: #4634
-#2363 := (not #2362)
-#2965 := (and #773 #2363 #2962)
-#2968 := (not #2965)
-#2971 := (forall (vars (?x76 T2)) #2968)
-#2937 := (not #2934)
-#2368 := (not #2367)
-#2980 := (and #1541 #2368 #2937 #2971)
-#2907 := (and #2336 #2338)
-#2910 := (not #2907)
-#2928 := (or #2910 #2923)
-#2931 := (not #2928)
-#2985 := (or #2931 #2980)
-#2988 := (and #1517 #2985)
-#2307 := (not #2306)
-#2882 := (and #2304 #2307)
-#2885 := (not #2882)
-#2901 := (or #2885 #2896)
-#2904 := (not #2901)
-#2991 := (or #2904 #2988)
-#2994 := (and #1498 #2991)
-#2997 := (or #2284 #2994)
-#3000 := (and #217 #2997)
-#3003 := (or #1492 #3000)
-#3006 := (and #785 #3003)
-#3009 := (or #2877 #3006)
-#3012 := (and #1484 #3009)
-#3015 := (or #2863 #3012)
-#2222 := (not #2221)
-#2219 := (not #2218)
-#3021 := (and #195 #731 #1473 #1631 #1649 #1657 #2219 #2222 #3015)
-#2164 := (not #2163)
-#2160 := (not #2159)
-#2800 := (and #2160 #2164)
-#2803 := (not #2800)
-#2820 := (or #2803 #2815)
-#2823 := (not #2820)
-#2173 := (not #167)
-#2183 := (and #2173 #1393)
-#2829 := (or #2183 #2823)
-#2773 := (not #2768)
-#2791 := (and #2773 #2786)
-#2794 := (or #1353 #2791)
-#2797 := (forall (vars (?x49 T2)) #2794)
-#2834 := (and #2797 #2829)
-#2093 := (not #2092)
-#2743 := (and #2093 #2740)
-#2746 := (not #2743)
-#2749 := (forall (vars (?x50 T2)) #2746)
-#2715 := (not #2712)
-#2098 := (not #2097)
-#2755 := (and #2098 #2715 #2749)
-#2837 := (or #2755 #2834)
-#2199 := (not #1421)
-#2202 := (forall (vars (?x48 T2)) #2199)
-#2843 := (and #145 #150 #566 #569 #2202 #2837)
-#3026 := (or #2843 #3021)
-#2692 := (not #2687)
-#2695 := (and #2057 #2675 #2692)
-#2698 := (or #1308 #2695)
-#2701 := (forall (vars (?x46 T2)) #2698)
-#2637 := (not #2632)
-#2655 := (and #2030 #2637 #2650)
-#2658 := (or #1270 #2655)
-#2661 := (forall (vars (?x37 T2)) #2658)
-#3032 := (and #109 #1716 #1732 #1741 #2661 #2701 #3026)
-#1986 := (not #1985)
-#2605 := (and #77 #1986 #2602)
-#2608 := (not #2605)
-#2611 := (forall (vars (?x38 T2)) #2608)
-#2617 := (and #1991 #2577 #2611)
-#3037 := (or #2617 #3032)
-#3040 := (and #1255 #3037)
-#1959 := (not #1958)
-#2555 := (and #1959 #1960)
-#2558 := (not #2555)
-#2568 := (or #2558 #2565)
-#2571 := (not #2568)
-#3043 := (or #2571 #3040)
-#3046 := (and #1229 #3043)
-#1930 := (not #1929)
-#2530 := (and #1928 #1930)
-#2533 := (not #2530)
-#2549 := (or #2533 #2544)
-#2552 := (not #2549)
-#3049 := (or #2552 #3046)
-#3052 := (and #1214 #3049)
-#3055 := (or #1909 #3052)
-#3058 := (and #81 #3055)
-#3061 := (or #1208 #3058)
-#3703 := (iff #3061 #3702)
-#3700 := (iff #3058 #3697)
-#3692 := (and #81 #3689)
-#3698 := (iff #3692 #3697)
-#3699 := [rewrite]: #3698
-#3693 := (iff #3058 #3692)
-#3690 := (iff #3055 #3689)
-#3687 := (iff #3052 #3684)
-#3679 := (and #1214 #3676)
-#3685 := (iff #3679 #3684)
-#3686 := [rewrite]: #3685
-#3680 := (iff #3052 #3679)
-#3677 := (iff #3049 #3676)
-#3674 := (iff #3046 #3671)
-#3665 := (and #3083 #3662)
-#3672 := (iff #3665 #3671)
-#3673 := [rewrite]: #3672
-#3666 := (iff #3046 #3665)
-#3663 := (iff #3043 #3662)
-#3660 := (iff #3040 #3657)
-#3651 := (and #3128 #3648)
-#3658 := (iff #3651 #3657)
-#3659 := [rewrite]: #3658
-#3652 := (iff #3040 #3651)
-#3649 := (iff #3037 #3648)
-#3646 := (iff #3032 #3643)
-#3634 := (and #109 #3175 #3198 #1741 #3226 #3254 #3631)
-#3644 := (iff #3634 #3643)
-#3645 := [rewrite]: #3644
-#3635 := (iff #3032 #3634)
-#3632 := (iff #3026 #3631)
-#3629 := (iff #3021 #3626)
-#3619 := (and #195 #731 #3412 #3430 #1649 #1657 #2219 #2222 #3616)
-#3627 := (iff #3619 #3626)
-#3628 := [rewrite]: #3627
-#3620 := (iff #3021 #3619)
-#3617 := (iff #3015 #3616)
-#3614 := (iff #3012 #3611)
-#3606 := (and #1484 #3603)
-#3612 := (iff #3606 #3611)
-#3613 := [rewrite]: #3612
-#3607 := (iff #3012 #3606)
-#3604 := (iff #3009 #3603)
-#3601 := (iff #3006 #3598)
-#3593 := (and #785 #3590)
-#3599 := (iff #3593 #3598)
-#3600 := [rewrite]: #3599
-#3594 := (iff #3006 #3593)
-#3591 := (iff #3003 #3590)
-#3588 := (iff #3000 #3585)
-#3580 := (and #217 #3577)
-#3586 := (iff #3580 #3585)
-#3587 := [rewrite]: #3586
-#3581 := (iff #3000 #3580)
-#3578 := (iff #2997 #3577)
-#3575 := (iff #2994 #3572)
-#3567 := (and #1498 #3564)
-#3573 := (iff #3567 #3572)
-#3574 := [rewrite]: #3573
-#3568 := (iff #2994 #3567)
-#3565 := (iff #2991 #3564)
-#3562 := (iff #2988 #3559)
-#3553 := (and #3476 #3550)
-#3560 := (iff #3553 #3559)
-#3561 := [rewrite]: #3560
-#3554 := (iff #2988 #3553)
-#3551 := (iff #2985 #3550)
-#3548 := (iff #2980 #3545)
-#3539 := (and #3521 #2368 #2937 #3536)
-#3546 := (iff #3539 #3545)
-#3547 := [rewrite]: #3546
-#3540 := (iff #2980 #3539)
-#3537 := (iff #2971 #3536)
-#3534 := (iff #2968 #3525)
-#3526 := (not #3525)
-#3529 := (not #3526)
-#3532 := (iff #3529 #3525)
-#3533 := [rewrite]: #3532
-#3530 := (iff #2968 #3529)
-#3527 := (iff #2965 #3526)
-#3528 := [rewrite]: #3527
-#3531 := [monotonicity #3528]: #3530
-#3535 := [trans #3531 #3533]: #3534
-#3538 := [quant-intro #3535]: #3537
-#3522 := (iff #1541 #3521)
-#3519 := (iff #1538 #3516)
-#3502 := (or #779 #1237)
-#3513 := (or #3502 #1534)
-#3517 := (iff #3513 #3516)
-#3518 := [rewrite]: #3517
-#3514 := (iff #1538 #3513)
-#3511 := (iff #1531 #3502)
-#3503 := (not #3502)
-#3506 := (not #3503)
-#3509 := (iff #3506 #3502)
-#3510 := [rewrite]: #3509
-#3507 := (iff #1531 #3506)
-#3504 := (iff #1526 #3503)
-#3505 := [rewrite]: #3504
-#3508 := [monotonicity #3505]: #3507
-#3512 := [trans #3508 #3510]: #3511
-#3515 := [monotonicity #3512]: #3514
-#3520 := [trans #3515 #3518]: #3519
-#3523 := [quant-intro #3520]: #3522
-#3541 := [monotonicity #3523 #3538]: #3540
-#3549 := [trans #3541 #3547]: #3548
-#3500 := (iff #2931 #3499)
-#3497 := (iff #2928 #3494)
-#3480 := (or #2335 #3479)
-#3491 := (or #3480 #2923)
-#3495 := (iff #3491 #3494)
-#3496 := [rewrite]: #3495
-#3492 := (iff #2928 #3491)
-#3489 := (iff #2910 #3480)
-#3481 := (not #3480)
-#3484 := (not #3481)
-#3487 := (iff #3484 #3480)
-#3488 := [rewrite]: #3487
-#3485 := (iff #2910 #3484)
-#3482 := (iff #2907 #3481)
-#3483 := [rewrite]: #3482
-#3486 := [monotonicity #3483]: #3485
-#3490 := [trans #3486 #3488]: #3489
-#3493 := [monotonicity #3490]: #3492
-#3498 := [trans #3493 #3496]: #3497
-#3501 := [monotonicity #3498]: #3500
-#3552 := [monotonicity #3501 #3549]: #3551
-#3477 := (iff #1517 #3476)
-#3474 := (iff #1512 #3471)
-#3457 := (or #773 #3456)
-#3468 := (or #3457 #1504)
-#3472 := (iff #3468 #3471)
-#3473 := [rewrite]: #3472
-#3469 := (iff #1512 #3468)
-#3466 := (iff #802 #3457)
-#3458 := (not #3457)
-#3461 := (not #3458)
-#3464 := (iff #3461 #3457)
-#3465 := [rewrite]: #3464
-#3462 := (iff #802 #3461)
-#3459 := (iff #796 #3458)
-#3460 := [rewrite]: #3459
-#3463 := [monotonicity #3460]: #3462
-#3467 := [trans #3463 #3465]: #3466
-#3470 := [monotonicity #3467]: #3469
-#3475 := [trans #3470 #3473]: #3474
-#3478 := [quant-intro #3475]: #3477
-#3555 := [monotonicity #3478 #3552]: #3554
-#3563 := [trans #3555 #3561]: #3562
-#3454 := (iff #2904 #3453)
-#3451 := (iff #2901 #3448)
-#3434 := (or #3433 #2306)
-#3445 := (or #3434 #2896)
-#3449 := (iff #3445 #3448)
-#3450 := [rewrite]: #3449
-#3446 := (iff #2901 #3445)
-#3443 := (iff #2885 #3434)
-#3435 := (not #3434)
-#3438 := (not #3435)
-#3441 := (iff #3438 #3434)
-#3442 := [rewrite]: #3441
-#3439 := (iff #2885 #3438)
-#3436 := (iff #2882 #3435)
-#3437 := [rewrite]: #3436
-#3440 := [monotonicity #3437]: #3439
-#3444 := [trans #3440 #3442]: #3443
-#3447 := [monotonicity #3444]: #3446
-#3452 := [trans #3447 #3450]: #3451
-#3455 := [monotonicity #3452]: #3454
-#3566 := [monotonicity #3455 #3563]: #3565
-#3569 := [monotonicity #3566]: #3568
-#3576 := [trans #3569 #3574]: #3575
-#3579 := [monotonicity #3576]: #3578
-#3582 := [monotonicity #3579]: #3581
-#3589 := [trans #3582 #3587]: #3588
-#3592 := [monotonicity #3589]: #3591
-#3595 := [monotonicity #3592]: #3594
-#3602 := [trans #3595 #3600]: #3601
-#3605 := [monotonicity #3602]: #3604
-#3608 := [monotonicity #3605]: #3607
-#3615 := [trans #3608 #3613]: #3614
-#3618 := [monotonicity #3615]: #3617
-#3431 := (iff #1631 #3430)
-#3428 := (iff #1628 #3425)
-#3422 := (or #3405 #1625)
-#3426 := (iff #3422 #3425)
-#3427 := [rewrite]: #3426
-#3423 := (iff #1628 #3422)
-#3420 := (iff #1620 #3405)
-#3415 := (not #3406)
-#3418 := (iff #3415 #3405)
-#3419 := [rewrite]: #3418
-#3416 := (iff #1620 #3415)
-#3407 := (iff #1462 #3406)
-#3408 := [rewrite]: #3407
-#3417 := [monotonicity #3408]: #3416
-#3421 := [trans #3417 #3419]: #3420
-#3424 := [monotonicity #3421]: #3423
-#3429 := [trans #3424 #3427]: #3428
-#3432 := [quant-intro #3429]: #3431
-#3413 := (iff #1473 #3412)
-#3410 := (iff #1468 #3409)
-#3411 := [monotonicity #3408]: #3410
-#3414 := [quant-intro #3411]: #3413
-#3621 := [monotonicity #3414 #3432 #3618]: #3620
-#3630 := [trans #3621 #3628]: #3629
-#3403 := (iff #2843 #3400)
-#3394 := (and #145 #150 #566 #569 #3268 #3391)
-#3401 := (iff #3394 #3400)
-#3402 := [rewrite]: #3401
-#3395 := (iff #2843 #3394)
-#3392 := (iff #2837 #3391)
-#3389 := (iff #2834 #3386)
-#3380 := (and #3320 #3377)
-#3387 := (iff #3380 #3386)
-#3388 := [rewrite]: #3387
-#3381 := (iff #2834 #3380)
-#3378 := (iff #2829 #3377)
-#3375 := (iff #2823 #3374)
-#3372 := (iff #2820 #3369)
-#3355 := (or #2159 #2163)
-#3366 := (or #3355 #2815)
-#3370 := (iff #3366 #3369)
-#3371 := [rewrite]: #3370
-#3367 := (iff #2820 #3366)
-#3364 := (iff #2803 #3355)
-#3356 := (not #3355)
-#3359 := (not #3356)
-#3362 := (iff #3359 #3355)
-#3363 := [rewrite]: #3362
-#3360 := (iff #2803 #3359)
-#3357 := (iff #2800 #3356)
-#3358 := [rewrite]: #3357
-#3361 := [monotonicity #3358]: #3360
-#3365 := [trans #3361 #3363]: #3364
-#3368 := [monotonicity #3365]: #3367
-#3373 := [trans #3368 #3371]: #3372
-#3376 := [monotonicity #3373]: #3375
-#3353 := (iff #2183 #3350)
-#3345 := (and #2173 #3342)
-#3351 := (iff #3345 #3350)
-#3352 := [rewrite]: #3351
-#3346 := (iff #2183 #3345)
-#3343 := (iff #1393 #3342)
-#3340 := (iff #1390 #3337)
-#3323 := (or #1237 #1346)
-#3334 := (or #3323 #1387)
-#3338 := (iff #3334 #3337)
-#3339 := [rewrite]: #3338
-#3335 := (iff #1390 #3334)
-#3332 := (iff #1384 #3323)
-#3324 := (not #3323)
-#3327 := (not #3324)
-#3330 := (iff #3327 #3323)
-#3331 := [rewrite]: #3330
-#3328 := (iff #1384 #3327)
-#3325 := (iff #1381 #3324)
-#3326 := [rewrite]: #3325
-#3329 := [monotonicity #3326]: #3328
-#3333 := [trans #3329 #3331]: #3332
-#3336 := [monotonicity #3333]: #3335
-#3341 := [trans #3336 #3339]: #3340
-#3344 := [quant-intro #3341]: #3343
-#3347 := [monotonicity #3344]: #3346
-#3354 := [trans #3347 #3352]: #3353
-#3379 := [monotonicity #3354 #3376]: #3378
-#3321 := (iff #2797 #3320)
-#3318 := (iff #2794 #3315)
-#3296 := (or #68 #1346)
-#3312 := (or #3296 #3309)
-#3316 := (iff #3312 #3315)
-#3317 := [rewrite]: #3316
-#3313 := (iff #2794 #3312)
-#3310 := (iff #2791 #3309)
-#3311 := [rewrite]: #3310
-#3305 := (iff #1353 #3296)
-#3297 := (not #3296)
-#3300 := (not #3297)
-#3303 := (iff #3300 #3296)
-#3304 := [rewrite]: #3303
-#3301 := (iff #1353 #3300)
-#3298 := (iff #1350 #3297)
-#3299 := [rewrite]: #3298
-#3302 := [monotonicity #3299]: #3301
-#3306 := [trans #3302 #3304]: #3305
-#3314 := [monotonicity #3306 #3311]: #3313
-#3319 := [trans #3314 #3317]: #3318
-#3322 := [quant-intro #3319]: #3321
-#3382 := [monotonicity #3322 #3379]: #3381
-#3390 := [trans #3382 #3388]: #3389
-#3294 := (iff #2755 #3291)
-#3286 := (and #2098 #2715 #3283)
-#3292 := (iff #3286 #3291)
-#3293 := [rewrite]: #3292
-#3287 := (iff #2755 #3286)
-#3284 := (iff #2749 #3283)
-#3281 := (iff #2746 #3272)
-#3273 := (not #3272)
-#3276 := (not #3273)
-#3279 := (iff #3276 #3272)
-#3280 := [rewrite]: #3279
-#3277 := (iff #2746 #3276)
-#3274 := (iff #2743 #3273)
-#3275 := [rewrite]: #3274
-#3278 := [monotonicity #3275]: #3277
-#3282 := [trans #3278 #3280]: #3281
-#3285 := [quant-intro #3282]: #3284
-#3288 := [monotonicity #3285]: #3287
-#3295 := [trans #3288 #3293]: #3294
-#3393 := [monotonicity #3295 #3390]: #3392
-#3269 := (iff #2202 #3268)
-#3266 := (iff #2199 #3257)
-#3258 := (not #3257)
-#3261 := (not #3258)
-#3264 := (iff #3261 #3257)
-#3265 := [rewrite]: #3264
-#3262 := (iff #2199 #3261)
-#3259 := (iff #1421 #3258)
-#3260 := [rewrite]: #3259
-#3263 := [monotonicity #3260]: #3262
-#3267 := [trans #3263 #3265]: #3266
-#3270 := [quant-intro #3267]: #3269
-#3396 := [monotonicity #3270 #3393]: #3395
-#3404 := [trans #3396 #3402]: #3403
-#3633 := [monotonicity #3404 #3630]: #3632
-#3255 := (iff #2701 #3254)
-#3252 := (iff #2698 #3249)
-#3229 := (or #68 #1301)
-#3246 := (or #3229 #3243)
-#3250 := (iff #3246 #3249)
-#3251 := [rewrite]: #3250
-#3247 := (iff #2698 #3246)
-#3244 := (iff #2695 #3243)
-#3245 := [rewrite]: #3244
-#3238 := (iff #1308 #3229)
-#3230 := (not #3229)
-#3233 := (not #3230)
-#3236 := (iff #3233 #3229)
-#3237 := [rewrite]: #3236
-#3234 := (iff #1308 #3233)
-#3231 := (iff #1305 #3230)
-#3232 := [rewrite]: #3231
-#3235 := [monotonicity #3232]: #3234
-#3239 := [trans #3235 #3237]: #3238
-#3248 := [monotonicity #3239 #3245]: #3247
-#3253 := [trans #3248 #3251]: #3252
-#3256 := [quant-intro #3253]: #3255
-#3227 := (iff #2661 #3226)
-#3224 := (iff #2658 #3221)
-#3201 := (or #68 #1263)
-#3218 := (or #3201 #3215)
-#3222 := (iff #3218 #3221)
-#3223 := [rewrite]: #3222
-#3219 := (iff #2658 #3218)
-#3216 := (iff #2655 #3215)
-#3217 := [rewrite]: #3216
-#3210 := (iff #1270 #3201)
-#3202 := (not #3201)
-#3205 := (not #3202)
-#3208 := (iff #3205 #3201)
-#3209 := [rewrite]: #3208
-#3206 := (iff #1270 #3205)
-#3203 := (iff #1267 #3202)
-#3204 := [rewrite]: #3203
-#3207 := [monotonicity #3204]: #3206
-#3211 := [trans #3207 #3209]: #3210
-#3220 := [monotonicity #3211 #3217]: #3219
-#3225 := [trans #3220 #3223]: #3224
-#3228 := [quant-intro #3225]: #3227
-#3199 := (iff #1732 #3198)
-#3196 := (iff #1727 #3193)
-#3179 := (or #478 #3178)
-#3190 := (or #3179 #1317)
-#3194 := (iff #3190 #3193)
-#3195 := [rewrite]: #3194
-#3191 := (iff #1727 #3190)
-#3188 := (iff #493 #3179)
-#3180 := (not #3179)
-#3183 := (not #3180)
-#3186 := (iff #3183 #3179)
-#3187 := [rewrite]: #3186
-#3184 := (iff #493 #3183)
-#3181 := (iff #487 #3180)
-#3182 := [rewrite]: #3181
-#3185 := [monotonicity #3182]: #3184
-#3189 := [trans #3185 #3187]: #3188
-#3192 := [monotonicity #3189]: #3191
-#3197 := [trans #3192 #3195]: #3196
-#3200 := [quant-intro #3197]: #3199
-#3176 := (iff #1716 #3175)
-#3173 := (iff #1713 #3170)
-#3156 := (or #481 #1237)
-#3167 := (or #3156 #1710)
-#3171 := (iff #3167 #3170)
-#3172 := [rewrite]: #3171
-#3168 := (iff #1713 #3167)
-#3165 := (iff #1707 #3156)
-#3157 := (not #3156)
-#3160 := (not #3157)
-#3163 := (iff #3160 #3156)
-#3164 := [rewrite]: #3163
-#3161 := (iff #1707 #3160)
-#3158 := (iff #1702 #3157)
-#3159 := [rewrite]: #3158
-#3162 := [monotonicity #3159]: #3161
-#3166 := [trans #3162 #3164]: #3165
-#3169 := [monotonicity #3166]: #3168
-#3174 := [trans #3169 #3172]: #3173
-#3177 := [quant-intro #3174]: #3176
-#3636 := [monotonicity #3177 #3200 #3228 #3256 #3633]: #3635
-#3647 := [trans #3636 #3645]: #3646
-#3154 := (iff #2617 #3151)
-#3146 := (and #1991 #2577 #3143)
-#3152 := (iff #3146 #3151)
-#3153 := [rewrite]: #3152
-#3147 := (iff #2617 #3146)
-#3144 := (iff #2611 #3143)
-#3141 := (iff #2608 #3132)
-#3133 := (not #3132)
-#3136 := (not #3133)
-#3139 := (iff #3136 #3132)
-#3140 := [rewrite]: #3139
-#3137 := (iff #2608 #3136)
-#3134 := (iff #2605 #3133)
-#3135 := [rewrite]: #3134
-#3138 := [monotonicity #3135]: #3137
-#3142 := [trans #3138 #3140]: #3141
-#3145 := [quant-intro #3142]: #3144
-#3148 := [monotonicity #3145]: #3147
-#3155 := [trans #3148 #3153]: #3154
-#3650 := [monotonicity #3155 #3647]: #3649
-#3129 := (iff #1255 #3128)
-#3126 := (iff #1252 #3123)
-#3109 := (or #78 #1237)
-#3120 := (or #3109 #1248)
-#3124 := (iff #3120 #3123)
-#3125 := [rewrite]: #3124
-#3121 := (iff #1252 #3120)
-#3118 := (iff #1244 #3109)
-#3110 := (not #3109)
-#3113 := (not #3110)
-#3116 := (iff #3113 #3109)
-#3117 := [rewrite]: #3116
-#3114 := (iff #1244 #3113)
-#3111 := (iff #1241 #3110)
-#3112 := [rewrite]: #3111
-#3115 := [monotonicity #3112]: #3114
-#3119 := [trans #3115 #3117]: #3118
-#3122 := [monotonicity #3119]: #3121
-#3127 := [trans #3122 #3125]: #3126
-#3130 := [quant-intro #3127]: #3129
-#3653 := [monotonicity #3130 #3650]: #3652
-#3661 := [trans #3653 #3659]: #3660
-#3107 := (iff #2571 #3106)
-#3104 := (iff #2568 #3101)
-#3087 := (or #1958 #3086)
-#3098 := (or #3087 #2565)
-#3102 := (iff #3098 #3101)
-#3103 := [rewrite]: #3102
-#3099 := (iff #2568 #3098)
-#3096 := (iff #2558 #3087)
-#3088 := (not #3087)
-#3091 := (not #3088)
-#3094 := (iff #3091 #3087)
-#3095 := [rewrite]: #3094
-#3092 := (iff #2558 #3091)
-#3089 := (iff #2555 #3088)
-#3090 := [rewrite]: #3089
-#3093 := [monotonicity #3090]: #3092
-#3097 := [trans #3093 #3095]: #3096
-#3100 := [monotonicity #3097]: #3099
-#3105 := [trans #3100 #3103]: #3104
-#3108 := [monotonicity #3105]: #3107
-#3664 := [monotonicity #3108 #3661]: #3663
-#3084 := (iff #1229 #3083)
-#3081 := (iff #1226 #3078)
-#3064 := (or #77 #2527)
-#3075 := (or #3064 #1222)
-#3079 := (iff #3075 #3078)
-#3080 := [rewrite]: #3079
-#3076 := (iff #1226 #3075)
-#3073 := (iff #454 #3064)
-#3065 := (not #3064)
-#3068 := (not #3065)
-#3071 := (iff #3068 #3064)
-#3072 := [rewrite]: #3071
-#3069 := (iff #454 #3068)
-#3066 := (iff #85 #3065)
-#3067 := [rewrite]: #3066
-#3070 := [monotonicity #3067]: #3069
-#3074 := [trans #3070 #3072]: #3073
-#3077 := [monotonicity #3074]: #3076
-#3082 := [trans #3077 #3080]: #3081
-#3085 := [quant-intro #3082]: #3084
-#3667 := [monotonicity #3085 #3664]: #3666
-#3675 := [trans #3667 #3673]: #3674
-#2345 := (iff #2552 #2248)
-#2137 := (iff #2549 #2171)
-#1937 := (or #1968 #1929)
-#2268 := (or #1937 #2544)
-#2172 := (iff #2268 #2171)
-#2136 := [rewrite]: #2172
-#2226 := (iff #2549 #2268)
-#2035 := (iff #2533 #1937)
-#1868 := (not #1937)
-#2314 := (not #1868)
-#1913 := (iff #2314 #1937)
-#2034 := [rewrite]: #1913
-#2315 := (iff #2533 #2314)
-#1869 := (iff #2530 #1868)
-#1938 := [rewrite]: #1869
-#1912 := [monotonicity #1938]: #2315
-#2267 := [trans #1912 #2034]: #2035
-#2227 := [monotonicity #2267]: #2226
-#2247 := [trans #2227 #2136]: #2137
-#2346 := [monotonicity #2247]: #2345
-#3678 := [monotonicity #2346 #3675]: #3677
-#3681 := [monotonicity #3678]: #3680
-#3688 := [trans #3681 #3686]: #3687
-#3691 := [monotonicity #3688]: #3690
-#3694 := [monotonicity #3691]: #3693
-#3701 := [trans #3694 #3699]: #3700
-#3704 := [monotonicity #3701]: #3703
-#2360 := (+ #2359 #2357)
-#2361 := (= #2360 0::int)
-#2364 := (and #773 #2363 #2361)
-#2381 := (not #2364)
-#2384 := (forall (vars (?x76 T2)) #2381)
-#2369 := (= ?x75!20 uf_11)
-#2370 := (not #2369)
-#2371 := (and #2370 #2368)
-#2372 := (not #2371)
-#2378 := (not #2372)
-#2388 := (and #2378 #2384)
-#2393 := (and #1541 #2388)
-#2326 := (* -1::int #2325)
-#2328 := (+ #2327 #2326)
-#2331 := (+ #2330 #2328)
-#2332 := (>= #2331 0::int)
-#2339 := (and #2338 #2336)
-#2340 := (not #2339)
-#2341 := (or #2340 #2332)
-#2342 := (not #2341)
-#2397 := (or #2342 #2393)
-#2401 := (and #1517 #2397)
-#2299 := (* -1::int #2298)
-#2301 := (+ #2300 #2299)
-#2302 := (>= #2301 0::int)
-#2308 := (and #2307 #2304)
-#2309 := (not #2308)
-#2310 := (or #2309 #2302)
-#2311 := (not #2310)
-#2405 := (or #2311 #2401)
-#2409 := (and #1498 #2405)
-#2413 := (or #2284 #2409)
-#2278 := (not #1492)
-#2417 := (and #2278 #2413)
-#2421 := (or #1492 #2417)
-#2425 := (and #785 #2421)
-#2262 := (= #2261 #2260)
-#2263 := (or #2262 #2259)
-#2264 := (not #2263)
-#2429 := (or #2264 #2425)
-#2433 := (and #1484 #2429)
-#2240 := (* -1::int #2239)
-#2242 := (+ #2241 #2240)
-#2243 := (>= #2242 0::int)
-#2244 := (not #2243)
-#2437 := (or #2244 #2433)
-#2223 := (and #2222 #2219)
-#2209 := (not #981)
-#2457 := (and #2209 #731 #2223 #1473 #2437 #1631 #1649 #1657)
-#2150 := (* -1::int #2149)
-#2152 := (+ #2151 #2150)
-#2155 := (+ #2154 #2152)
-#2156 := (>= #2155 0::int)
-#2165 := (and #2164 #2160)
-#2166 := (not #2165)
-#2167 := (or #2166 #2156)
-#2168 := (not #2167)
-#2187 := (or #2168 #2183)
-#2126 := (+ #2125 #1344)
-#2129 := (+ #2128 #2126)
-#2130 := (= #2129 0::int)
-#2131 := (>= #2126 0::int)
-#2132 := (not #2131)
-#2133 := (and #2132 #2130)
-#2138 := (or #1353 #2133)
-#2141 := (forall (vars (?x49 T2)) #2138)
-#2191 := (and #2141 #2187)
-#2090 := (+ #2089 #2087)
-#2091 := (= #2090 0::int)
-#2094 := (and #2093 #2091)
-#2110 := (not #2094)
-#2113 := (forall (vars (?x50 T2)) #2110)
-#2099 := (= ?x49!8 uf_11)
-#2100 := (not #2099)
-#2101 := (and #2100 #2098)
-#2102 := (not #2101)
-#2107 := (not #2102)
-#2117 := (and #2107 #2113)
-#2195 := (or #2117 #2191)
-#2081 := (not #674)
-#2078 := (not #692)
-#2075 := (not #665)
-#2072 := (not #683)
-#2205 := (and #2072 #2075 #2078 #2081 #2195 #2202)
-#2461 := (or #2205 #2457)
-#2049 := (+ #2048 #1299)
-#2050 := (>= #2049 0::int)
-#2051 := (not #2050)
-#2054 := (+ #2053 #2049)
-#2055 := (= #2054 0::int)
-#2058 := (and #2057 #2055 #2051)
-#2063 := (or #1308 #2058)
-#2066 := (forall (vars (?x46 T2)) #2063)
-#2023 := (+ #1261 #2022)
-#2025 := (+ #2024 #2023)
-#2026 := (= #2025 0::int)
-#2027 := (+ #2024 #1261)
-#2028 := (>= #2027 0::int)
-#2029 := (not #2028)
-#2031 := (and #2030 #2029 #2026)
-#2036 := (or #1270 #2031)
-#2039 := (forall (vars (?x37 T2)) #2036)
-#2015 := (not #1749)
-#2486 := (and #2015 #2039 #2066 #2461 #1716 #1732 #1741)
-#1981 := (+ #1980 #1978)
-#1982 := (+ #69 #1981)
-#1983 := (= #1982 0::int)
-#1987 := (and #77 #1986 #1983)
-#2003 := (not #1987)
-#2006 := (forall (vars (?x38 T2)) #2003)
-#1993 := (not #1992)
-#1994 := (and #1993 #1991)
-#1995 := (not #1994)
-#2000 := (not #1995)
-#2010 := (and #2000 #2006)
-#2490 := (or #2010 #2486)
-#2494 := (and #1255 #2490)
-#1952 := (+ #1951 #1949)
-#1954 := (+ #1953 #1952)
-#1955 := (>= #1954 0::int)
-#1961 := (and #1960 #1959)
-#1962 := (not #1961)
-#1963 := (or #1962 #1955)
-#1964 := (not #1963)
-#2498 := (or #1964 #2494)
-#2502 := (and #1229 #2498)
-#1924 := (* -1::int #1923)
-#1926 := (+ #1925 #1924)
-#1927 := (>= #1926 0::int)
-#1931 := (and #1930 #1928)
-#1932 := (not #1931)
-#1933 := (or #1932 #1927)
-#1934 := (not #1933)
-#2506 := (or #1934 #2502)
-#2510 := (and #1214 #2506)
-#2514 := (or #1909 #2510)
-#1864 := (not #1208)
-#2518 := (and #1864 #2514)
-#2522 := (or #1208 #2518)
-#3062 := (iff #2522 #3061)
-#3059 := (iff #2518 #3058)
-#3056 := (iff #2514 #3055)
-#3053 := (iff #2510 #3052)
-#3050 := (iff #2506 #3049)
-#3047 := (iff #2502 #3046)
-#3044 := (iff #2498 #3043)
-#3041 := (iff #2494 #3040)
-#3038 := (iff #2490 #3037)
-#3035 := (iff #2486 #3032)
-#3029 := (and #109 #2661 #2701 #3026 #1716 #1732 #1741)
-#3033 := (iff #3029 #3032)
-#3034 := [rewrite]: #3033
-#3030 := (iff #2486 #3029)
-#3027 := (iff #2461 #3026)
-#3024 := (iff #2457 #3021)
-#3018 := (and #195 #731 #2223 #1473 #3015 #1631 #1649 #1657)
-#3022 := (iff #3018 #3021)
-#3023 := [rewrite]: #3022
-#3019 := (iff #2457 #3018)
-#3016 := (iff #2437 #3015)
-#3013 := (iff #2433 #3012)
-#3010 := (iff #2429 #3009)
-#3007 := (iff #2425 #3006)
-#3004 := (iff #2421 #3003)
-#3001 := (iff #2417 #3000)
-#2998 := (iff #2413 #2997)
-#2995 := (iff #2409 #2994)
-#2992 := (iff #2405 #2991)
-#2989 := (iff #2401 #2988)
-#2986 := (iff #2397 #2985)
-#2983 := (iff #2393 #2980)
-#2943 := (and #2368 #2937)
-#2974 := (and #2943 #2971)
-#2977 := (and #1541 #2974)
-#2981 := (iff #2977 #2980)
-#2982 := [rewrite]: #2981
-#2978 := (iff #2393 #2977)
-#2975 := (iff #2388 #2974)
-#2972 := (iff #2384 #2971)
-#2969 := (iff #2381 #2968)
-#2966 := (iff #2364 #2965)
-#2963 := (iff #2361 #2962)
-#2960 := (= #2360 #2959)
-#2961 := [rewrite]: #2960
-#2964 := [monotonicity #2961]: #2963
-#2967 := [monotonicity #2964]: #2966
-#2970 := [monotonicity #2967]: #2969
-#2973 := [quant-intro #2970]: #2972
-#2956 := (iff #2378 #2943)
-#2948 := (not #2943)
-#2951 := (not #2948)
-#2954 := (iff #2951 #2943)
-#2955 := [rewrite]: #2954
-#2952 := (iff #2378 #2951)
-#2949 := (iff #2372 #2948)
-#2946 := (iff #2371 #2943)
-#2940 := (and #2937 #2368)
-#2944 := (iff #2940 #2943)
-#2945 := [rewrite]: #2944
-#2941 := (iff #2371 #2940)
-#2938 := (iff #2370 #2937)
-#2935 := (iff #2369 #2934)
-#2936 := [rewrite]: #2935
-#2939 := [monotonicity #2936]: #2938
-#2942 := [monotonicity #2939]: #2941
-#2947 := [trans #2942 #2945]: #2946
-#2950 := [monotonicity #2947]: #2949
-#2953 := [monotonicity #2950]: #2952
-#2957 := [trans #2953 #2955]: #2956
-#2976 := [monotonicity #2957 #2973]: #2975
-#2979 := [monotonicity #2976]: #2978
-#2984 := [trans #2979 #2982]: #2983
-#2932 := (iff #2342 #2931)
-#2929 := (iff #2341 #2928)
-#2926 := (iff #2332 #2923)
-#2913 := (+ #2327 #2330)
-#2914 := (+ #2326 #2913)
-#2917 := (>= #2914 0::int)
-#2924 := (iff #2917 #2923)
-#2925 := [rewrite]: #2924
-#2918 := (iff #2332 #2917)
-#2915 := (= #2331 #2914)
-#2916 := [rewrite]: #2915
-#2919 := [monotonicity #2916]: #2918
-#2927 := [trans #2919 #2925]: #2926
-#2911 := (iff #2340 #2910)
-#2908 := (iff #2339 #2907)
-#2909 := [rewrite]: #2908
-#2912 := [monotonicity #2909]: #2911
-#2930 := [monotonicity #2912 #2927]: #2929
-#2933 := [monotonicity #2930]: #2932
-#2987 := [monotonicity #2933 #2984]: #2986
-#2990 := [monotonicity #2987]: #2989
-#2905 := (iff #2311 #2904)
-#2902 := (iff #2310 #2901)
-#2899 := (iff #2302 #2896)
-#2888 := (+ #2299 #2300)
-#2891 := (>= #2888 0::int)
-#2897 := (iff #2891 #2896)
-#2898 := [rewrite]: #2897
-#2892 := (iff #2302 #2891)
-#2889 := (= #2301 #2888)
-#2890 := [rewrite]: #2889
-#2893 := [monotonicity #2890]: #2892
-#2900 := [trans #2893 #2898]: #2899
-#2886 := (iff #2309 #2885)
-#2883 := (iff #2308 #2882)
-#2884 := [rewrite]: #2883
-#2887 := [monotonicity #2884]: #2886
-#2903 := [monotonicity #2887 #2900]: #2902
-#2906 := [monotonicity #2903]: #2905
-#2993 := [monotonicity #2906 #2990]: #2992
-#2996 := [monotonicity #2993]: #2995
-#2999 := [monotonicity #2996]: #2998
-#2880 := (iff #2278 #217)
-#2881 := [rewrite]: #2880
-#3002 := [monotonicity #2881 #2999]: #3001
-#3005 := [monotonicity #3002]: #3004
-#3008 := [monotonicity #3005]: #3007
-#2878 := (iff #2264 #2877)
-#2875 := (iff #2263 #2872)
-#2869 := (or #2866 #2259)
-#2873 := (iff #2869 #2872)
-#2874 := [rewrite]: #2873
-#2870 := (iff #2263 #2869)
-#2867 := (iff #2262 #2866)
-#2868 := [rewrite]: #2867
-#2871 := [monotonicity #2868]: #2870
-#2876 := [trans #2871 #2874]: #2875
-#2879 := [monotonicity #2876]: #2878
-#3011 := [monotonicity #2879 #3008]: #3010
-#3014 := [monotonicity #3011]: #3013
-#2864 := (iff #2244 #2863)
-#2861 := (iff #2243 #2858)
-#2850 := (+ #2240 #2241)
-#2853 := (>= #2850 0::int)
-#2859 := (iff #2853 #2858)
-#2860 := [rewrite]: #2859
-#2854 := (iff #2243 #2853)
-#2851 := (= #2242 #2850)
-#2852 := [rewrite]: #2851
-#2855 := [monotonicity #2852]: #2854
-#2862 := [trans #2855 #2860]: #2861
-#2865 := [monotonicity #2862]: #2864
-#3017 := [monotonicity #2865 #3014]: #3016
-#2848 := (iff #2209 #195)
-#2849 := [rewrite]: #2848
-#3020 := [monotonicity #2849 #3017]: #3019
-#3025 := [trans #3020 #3023]: #3024
-#2846 := (iff #2205 #2843)
-#2840 := (and #145 #150 #566 #569 #2837 #2202)
-#2844 := (iff #2840 #2843)
-#2845 := [rewrite]: #2844
-#2841 := (iff #2205 #2840)
-#2838 := (iff #2195 #2837)
-#2835 := (iff #2191 #2834)
-#2832 := (iff #2187 #2829)
-#2826 := (or #2823 #2183)
-#2830 := (iff #2826 #2829)
-#2831 := [rewrite]: #2830
-#2827 := (iff #2187 #2826)
-#2824 := (iff #2168 #2823)
-#2821 := (iff #2167 #2820)
-#2818 := (iff #2156 #2815)
-#2806 := (+ #2151 #2154)
-#2807 := (+ #2150 #2806)
-#2810 := (>= #2807 0::int)
-#2816 := (iff #2810 #2815)
-#2817 := [rewrite]: #2816
-#2811 := (iff #2156 #2810)
-#2808 := (= #2155 #2807)
-#2809 := [rewrite]: #2808
-#2812 := [monotonicity #2809]: #2811
-#2819 := [trans #2812 #2817]: #2818
-#2804 := (iff #2166 #2803)
-#2801 := (iff #2165 #2800)
-#2802 := [rewrite]: #2801
-#2805 := [monotonicity #2802]: #2804
-#2822 := [monotonicity #2805 #2819]: #2821
-#2825 := [monotonicity #2822]: #2824
-#2828 := [monotonicity #2825]: #2827
-#2833 := [trans #2828 #2831]: #2832
-#2798 := (iff #2141 #2797)
-#2795 := (iff #2138 #2794)
-#2792 := (iff #2133 #2791)
-#2789 := (iff #2130 #2786)
-#2776 := (+ #2125 #2128)
-#2777 := (+ #1344 #2776)
-#2780 := (= #2777 0::int)
-#2787 := (iff #2780 #2786)
-#2788 := [rewrite]: #2787
-#2781 := (iff #2130 #2780)
-#2778 := (= #2129 #2777)
-#2779 := [rewrite]: #2778
-#2782 := [monotonicity #2779]: #2781
-#2790 := [trans #2782 #2788]: #2789
-#2774 := (iff #2132 #2773)
-#2771 := (iff #2131 #2768)
-#2760 := (+ #1344 #2125)
-#2763 := (>= #2760 0::int)
-#2769 := (iff #2763 #2768)
-#2770 := [rewrite]: #2769
-#2764 := (iff #2131 #2763)
-#2761 := (= #2126 #2760)
-#2762 := [rewrite]: #2761
-#2765 := [monotonicity #2762]: #2764
-#2772 := [trans #2765 #2770]: #2771
-#2775 := [monotonicity #2772]: #2774
-#2793 := [monotonicity #2775 #2790]: #2792
-#2796 := [monotonicity #2793]: #2795
-#2799 := [quant-intro #2796]: #2798
-#2836 := [monotonicity #2799 #2833]: #2835
-#2758 := (iff #2117 #2755)
-#2721 := (and #2098 #2715)
-#2752 := (and #2721 #2749)
-#2756 := (iff #2752 #2755)
-#2757 := [rewrite]: #2756
-#2753 := (iff #2117 #2752)
-#2750 := (iff #2113 #2749)
-#2747 := (iff #2110 #2746)
-#2744 := (iff #2094 #2743)
-#2741 := (iff #2091 #2740)
-#2738 := (= #2090 #2737)
-#2739 := [rewrite]: #2738
-#2742 := [monotonicity #2739]: #2741
-#2745 := [monotonicity #2742]: #2744
-#2748 := [monotonicity #2745]: #2747
-#2751 := [quant-intro #2748]: #2750
-#2734 := (iff #2107 #2721)
-#2726 := (not #2721)
-#2729 := (not #2726)
-#2732 := (iff #2729 #2721)
-#2733 := [rewrite]: #2732
-#2730 := (iff #2107 #2729)
-#2727 := (iff #2102 #2726)
-#2724 := (iff #2101 #2721)
-#2718 := (and #2715 #2098)
-#2722 := (iff #2718 #2721)
-#2723 := [rewrite]: #2722
-#2719 := (iff #2101 #2718)
-#2716 := (iff #2100 #2715)
-#2713 := (iff #2099 #2712)
-#2714 := [rewrite]: #2713
-#2717 := [monotonicity #2714]: #2716
-#2720 := [monotonicity #2717]: #2719
-#2725 := [trans #2720 #2723]: #2724
-#2728 := [monotonicity #2725]: #2727
-#2731 := [monotonicity #2728]: #2730
-#2735 := [trans #2731 #2733]: #2734
-#2754 := [monotonicity #2735 #2751]: #2753
-#2759 := [trans #2754 #2757]: #2758
-#2839 := [monotonicity #2759 #2836]: #2838
-#2710 := (iff #2081 #569)
-#2711 := [rewrite]: #2710
-#2708 := (iff #2078 #566)
-#2709 := [rewrite]: #2708
-#2706 := (iff #2075 #150)
-#2707 := [rewrite]: #2706
-#2704 := (iff #2072 #145)
-#2705 := [rewrite]: #2704
-#2842 := [monotonicity #2705 #2707 #2709 #2711 #2839]: #2841
-#2847 := [trans #2842 #2845]: #2846
-#3028 := [monotonicity #2847 #3025]: #3027
-#2702 := (iff #2066 #2701)
-#2699 := (iff #2063 #2698)
-#2696 := (iff #2058 #2695)
-#2693 := (iff #2051 #2692)
-#2690 := (iff #2050 #2687)
-#2680 := (+ #1299 #2048)
-#2683 := (>= #2680 0::int)
-#2688 := (iff #2683 #2687)
-#2689 := [rewrite]: #2688
-#2684 := (iff #2050 #2683)
-#2681 := (= #2049 #2680)
-#2682 := [rewrite]: #2681
-#2685 := [monotonicity #2682]: #2684
-#2691 := [trans #2685 #2689]: #2690
-#2694 := [monotonicity #2691]: #2693
-#2678 := (iff #2055 #2675)
-#2664 := (+ #2048 #2053)
-#2665 := (+ #1299 #2664)
-#2668 := (= #2665 0::int)
-#2676 := (iff #2668 #2675)
-#2677 := [rewrite]: #2676
-#2669 := (iff #2055 #2668)
-#2666 := (= #2054 #2665)
-#2667 := [rewrite]: #2666
-#2670 := [monotonicity #2667]: #2669
-#2679 := [trans #2670 #2677]: #2678
-#2697 := [monotonicity #2679 #2694]: #2696
-#2700 := [monotonicity #2697]: #2699
-#2703 := [quant-intro #2700]: #2702
-#2662 := (iff #2039 #2661)
-#2659 := (iff #2036 #2658)
-#2656 := (iff #2031 #2655)
-#2653 := (iff #2026 #2650)
-#2640 := (+ #2022 #2024)
-#2641 := (+ #1261 #2640)
-#2644 := (= #2641 0::int)
-#2651 := (iff #2644 #2650)
-#2652 := [rewrite]: #2651
-#2645 := (iff #2026 #2644)
-#2642 := (= #2025 #2641)
-#2643 := [rewrite]: #2642
-#2646 := [monotonicity #2643]: #2645
-#2654 := [trans #2646 #2652]: #2653
-#2638 := (iff #2029 #2637)
-#2635 := (iff #2028 #2632)
-#2624 := (+ #1261 #2024)
-#2627 := (>= #2624 0::int)
-#2633 := (iff #2627 #2632)
-#2634 := [rewrite]: #2633
-#2628 := (iff #2028 #2627)
-#2625 := (= #2027 #2624)
-#2626 := [rewrite]: #2625
-#2629 := [monotonicity #2626]: #2628
-#2636 := [trans #2629 #2634]: #2635
-#2639 := [monotonicity #2636]: #2638
-#2657 := [monotonicity #2639 #2654]: #2656
-#2660 := [monotonicity #2657]: #2659
-#2663 := [quant-intro #2660]: #2662
-#2622 := (iff #2015 #109)
-#2623 := [rewrite]: #2622
-#3031 := [monotonicity #2623 #2663 #2703 #3028]: #3030
-#3036 := [trans #3031 #3034]: #3035
-#2620 := (iff #2010 #2617)
-#2583 := (and #1991 #2577)
-#2614 := (and #2583 #2611)
-#2618 := (iff #2614 #2617)
-#2619 := [rewrite]: #2618
-#2615 := (iff #2010 #2614)
-#2612 := (iff #2006 #2611)
-#2609 := (iff #2003 #2608)
-#2606 := (iff #1987 #2605)
-#2603 := (iff #1983 #2602)
-#2600 := (= #1982 #2599)
-#2601 := [rewrite]: #2600
-#2604 := [monotonicity #2601]: #2603
-#2607 := [monotonicity #2604]: #2606
-#2610 := [monotonicity #2607]: #2609
-#2613 := [quant-intro #2610]: #2612
-#2596 := (iff #2000 #2583)
-#2588 := (not #2583)
-#2591 := (not #2588)
-#2594 := (iff #2591 #2583)
-#2595 := [rewrite]: #2594
-#2592 := (iff #2000 #2591)
-#2589 := (iff #1995 #2588)
-#2586 := (iff #1994 #2583)
-#2580 := (and #2577 #1991)
-#2584 := (iff #2580 #2583)
-#2585 := [rewrite]: #2584
-#2581 := (iff #1994 #2580)
-#2578 := (iff #1993 #2577)
-#2579 := [monotonicity #2576]: #2578
-#2582 := [monotonicity #2579]: #2581
-#2587 := [trans #2582 #2585]: #2586
-#2590 := [monotonicity #2587]: #2589
-#2593 := [monotonicity #2590]: #2592
-#2597 := [trans #2593 #2595]: #2596
-#2616 := [monotonicity #2597 #2613]: #2615
-#2621 := [trans #2616 #2619]: #2620
-#3039 := [monotonicity #2621 #3036]: #3038
-#3042 := [monotonicity #3039]: #3041
-#2572 := (iff #1964 #2571)
-#2569 := (iff #1963 #2568)
-#2566 := (iff #1955 #2565)
-#2563 := (= #1954 #2562)
-#2564 := [rewrite]: #2563
-#2567 := [monotonicity #2564]: #2566
-#2559 := (iff #1962 #2558)
-#2556 := (iff #1961 #2555)
-#2557 := [rewrite]: #2556
-#2560 := [monotonicity #2557]: #2559
-#2570 := [monotonicity #2560 #2567]: #2569
-#2573 := [monotonicity #2570]: #2572
-#3045 := [monotonicity #2573 #3042]: #3044
-#3048 := [monotonicity #3045]: #3047
-#2553 := (iff #1934 #2552)
-#2550 := (iff #1933 #2549)
-#2547 := (iff #1927 #2544)
-#2536 := (+ #1924 #1925)
-#2539 := (>= #2536 0::int)
-#2545 := (iff #2539 #2544)
-#2546 := [rewrite]: #2545
-#2540 := (iff #1927 #2539)
-#2537 := (= #1926 #2536)
-#2538 := [rewrite]: #2537
-#2541 := [monotonicity #2538]: #2540
-#2548 := [trans #2541 #2546]: #2547
-#2534 := (iff #1932 #2533)
-#2531 := (iff #1931 #2530)
-#2532 := [rewrite]: #2531
-#2535 := [monotonicity #2532]: #2534
-#2551 := [monotonicity #2535 #2548]: #2550
-#2554 := [monotonicity #2551]: #2553
-#3051 := [monotonicity #2554 #3048]: #3050
-#3054 := [monotonicity #3051]: #3053
-#3057 := [monotonicity #3054]: #3056
-#2528 := (iff #1864 #81)
-#2529 := [rewrite]: #2528
-#3060 := [monotonicity #2529 #3057]: #3059
-#3063 := [monotonicity #3060]: #3062
-#1838 := (not #1802)
-#2523 := (~ #1838 #2522)
-#2519 := (not #1799)
-#2520 := (~ #2519 #2518)
-#2515 := (not #1796)
-#2516 := (~ #2515 #2514)
-#2511 := (not #1793)
-#2512 := (~ #2511 #2510)
-#2507 := (not #1790)
-#2508 := (~ #2507 #2506)
-#2503 := (not #1787)
-#2504 := (~ #2503 #2502)
-#2499 := (not #1784)
-#2500 := (~ #2499 #2498)
-#2495 := (not #1781)
-#2496 := (~ #2495 #2494)
-#2491 := (not #1778)
-#2492 := (~ #2491 #2490)
-#2487 := (not #1773)
-#2488 := (~ #2487 #2486)
-#2483 := (not #1744)
-#2484 := (~ #2483 #1741)
-#2481 := (~ #1741 #1741)
-#2479 := (~ #1738 #1738)
-#2480 := [refl]: #2479
-#2482 := [nnf-pos #2480]: #2481
-#2485 := [nnf-neg #2482]: #2484
-#2476 := (not #1735)
-#2477 := (~ #2476 #1732)
-#2474 := (~ #1732 #1732)
-#2472 := (~ #1727 #1727)
-#2473 := [refl]: #2472
-#2475 := [nnf-pos #2473]: #2474
-#2478 := [nnf-neg #2475]: #2477
-#2469 := (not #1719)
-#2470 := (~ #2469 #1716)
-#2467 := (~ #1716 #1716)
-#2465 := (~ #1713 #1713)
-#2466 := [refl]: #2465
-#2468 := [nnf-pos #2466]: #2467
-#2471 := [nnf-neg #2468]: #2470
-#2462 := (not #1696)
-#2463 := (~ #2462 #2461)
-#2458 := (not #1691)
-#2459 := (~ #2458 #2457)
-#2455 := (~ #1657 #1657)
-#2456 := [refl]: #2455
-#2452 := (not #1652)
-#2453 := (~ #2452 #1649)
-#2450 := (~ #1649 #1649)
-#2448 := (~ #1644 #1644)
-#2449 := [refl]: #2448
-#2451 := [nnf-pos #2449]: #2450
-#2454 := [nnf-neg #2451]: #2453
-#2445 := (not #1634)
-#2446 := (~ #2445 #1631)
-#2443 := (~ #1631 #1631)
-#2441 := (~ #1628 #1628)
-#2442 := [refl]: #2441
-#2444 := [nnf-pos #2442]: #2443
-#2447 := [nnf-neg #2444]: #2446
-#2438 := (not #1617)
-#2439 := (~ #2438 #2437)
-#2434 := (not #1614)
-#2435 := (~ #2434 #2433)
-#2430 := (not #1611)
-#2431 := (~ #2430 #2429)
-#2426 := (not #1608)
-#2427 := (~ #2426 #2425)
-#2422 := (not #1605)
-#2423 := (~ #2422 #2421)
-#2418 := (not #1602)
-#2419 := (~ #2418 #2417)
-#2414 := (not #1599)
-#2415 := (~ #2414 #2413)
-#2410 := (not #1596)
-#2411 := (~ #2410 #2409)
-#2406 := (not #1593)
-#2407 := (~ #2406 #2405)
-#2402 := (not #1590)
-#2403 := (~ #2402 #2401)
-#2398 := (not #1587)
-#2399 := (~ #2398 #2397)
-#2394 := (not #1584)
-#2395 := (~ #2394 #2393)
-#2375 := (not #1581)
-#2391 := (~ #2375 #2388)
-#2365 := (exists (vars (?x76 T2)) #2364)
-#2373 := (or #2372 #2365)
-#2374 := (not #2373)
-#2389 := (~ #2374 #2388)
-#2385 := (not #2365)
-#2386 := (~ #2385 #2384)
-#2382 := (~ #2381 #2381)
-#2383 := [refl]: #2382
-#2387 := [nnf-neg #2383]: #2386
-#2379 := (~ #2378 #2378)
-#2380 := [refl]: #2379
-#2390 := [nnf-neg #2380 #2387]: #2389
-#2376 := (~ #2375 #2374)
-#2377 := [sk]: #2376
-#2392 := [trans #2377 #2390]: #2391
-#2351 := (not #1544)
-#2352 := (~ #2351 #1541)
-#2349 := (~ #1541 #1541)
-#2347 := (~ #1538 #1538)
-#2348 := [refl]: #2347
-#2350 := [nnf-pos #2348]: #2349
-#2353 := [nnf-neg #2350]: #2352
-#2396 := [nnf-neg #2353 #2392]: #2395
-#2343 := (~ #1544 #2342)
-#2344 := [sk]: #2343
-#2400 := [nnf-neg #2344 #2396]: #2399
-#2320 := (not #1520)
-#2321 := (~ #2320 #1517)
-#2318 := (~ #1517 #1517)
-#2316 := (~ #1512 #1512)
-#2317 := [refl]: #2316
-#2319 := [nnf-pos #2317]: #2318
-#2322 := [nnf-neg #2319]: #2321
-#2404 := [nnf-neg #2322 #2400]: #2403
-#2312 := (~ #1520 #2311)
-#2313 := [sk]: #2312
-#2408 := [nnf-neg #2313 #2404]: #2407
-#2293 := (not #1501)
-#2294 := (~ #2293 #1498)
-#2291 := (~ #1498 #1498)
-#2289 := (~ #1495 #1495)
-#2290 := [refl]: #2289
-#2292 := [nnf-pos #2290]: #2291
-#2295 := [nnf-neg #2292]: #2294
-#2412 := [nnf-neg #2295 #2408]: #2411
-#2285 := (~ #1501 #2284)
-#2286 := [sk]: #2285
-#2416 := [nnf-neg #2286 #2412]: #2415
-#2279 := (~ #2278 #2278)
-#2280 := [refl]: #2279
-#2420 := [nnf-neg #2280 #2416]: #2419
-#2276 := (~ #1492 #1492)
-#2277 := [refl]: #2276
-#2424 := [nnf-neg #2277 #2420]: #2423
-#2273 := (not #939)
-#2274 := (~ #2273 #785)
-#2271 := (~ #785 #785)
-#2269 := (~ #780 #780)
-#2270 := [refl]: #2269
-#2272 := [nnf-pos #2270]: #2271
-#2275 := [nnf-neg #2272]: #2274
-#2428 := [nnf-neg #2275 #2424]: #2427
-#2265 := (~ #939 #2264)
-#2266 := [sk]: #2265
-#2432 := [nnf-neg #2266 #2428]: #2431
-#2253 := (not #1487)
-#2254 := (~ #2253 #1484)
-#2251 := (~ #1484 #1484)
-#2249 := (~ #1479 #1479)
-#2250 := [refl]: #2249
-#2252 := [nnf-pos #2250]: #2251
-#2255 := [nnf-neg #2252]: #2254
-#2436 := [nnf-neg #2255 #2432]: #2435
-#2245 := (~ #1487 #2244)
-#2246 := [sk]: #2245
-#2440 := [nnf-neg #2246 #2436]: #2439
-#2235 := (not #1476)
-#2236 := (~ #2235 #1473)
-#2233 := (~ #1473 #1473)
-#2231 := (~ #1468 #1468)
-#2232 := [refl]: #2231
-#2234 := [nnf-pos #2232]: #2233
-#2237 := [nnf-neg #2234]: #2236
-#2228 := (not #1667)
-#2229 := (~ #2228 #2223)
-#2224 := (~ #1426 #2223)
-#2225 := [sk]: #2224
-#2230 := [nnf-neg #2225]: #2229
-#2212 := (~ #731 #731)
-#2213 := [refl]: #2212
-#2210 := (~ #2209 #2209)
-#2211 := [refl]: #2210
-#2460 := [nnf-neg #2211 #2213 #2230 #2237 #2440 #2447 #2454 #2456]: #2459
-#2206 := (not #1444)
-#2207 := (~ #2206 #2205)
-#2203 := (~ #1667 #2202)
-#2200 := (~ #2199 #2199)
-#2201 := [refl]: #2200
-#2204 := [nnf-neg #2201]: #2203
-#2196 := (not #1415)
-#2197 := (~ #2196 #2195)
-#2192 := (not #1412)
-#2193 := (~ #2192 #2191)
-#2188 := (not #1409)
-#2189 := (~ #2188 #2187)
-#2184 := (not #1404)
-#2185 := (~ #2184 #2183)
-#2180 := (not #1396)
-#2181 := (~ #2180 #1393)
-#2178 := (~ #1393 #1393)
-#2176 := (~ #1390 #1390)
-#2177 := [refl]: #2176
-#2179 := [nnf-pos #2177]: #2178
-#2182 := [nnf-neg #2179]: #2181
-#2174 := (~ #2173 #2173)
-#2175 := [refl]: #2174
-#2186 := [nnf-neg #2175 #2182]: #2185
-#2169 := (~ #1396 #2168)
-#2170 := [sk]: #2169
-#2190 := [nnf-neg #2170 #2186]: #2189
-#2144 := (not #1378)
-#2145 := (~ #2144 #2141)
-#2142 := (~ #1375 #2141)
-#2139 := (~ #1372 #2138)
-#2134 := (~ #1369 #2133)
-#2135 := [sk]: #2134
-#2122 := (~ #1353 #1353)
-#2123 := [refl]: #2122
-#2140 := [monotonicity #2123 #2135]: #2139
-#2143 := [nnf-pos #2140]: #2142
-#2146 := [nnf-neg #2143]: #2145
-#2194 := [nnf-neg #2146 #2190]: #2193
-#2120 := (~ #1378 #2117)
-#2095 := (exists (vars (?x50 T2)) #2094)
-#2103 := (or #2102 #2095)
-#2104 := (not #2103)
-#2118 := (~ #2104 #2117)
-#2114 := (not #2095)
-#2115 := (~ #2114 #2113)
-#2111 := (~ #2110 #2110)
-#2112 := [refl]: #2111
-#2116 := [nnf-neg #2112]: #2115
-#2108 := (~ #2107 #2107)
-#2109 := [refl]: #2108
-#2119 := [nnf-neg #2109 #2116]: #2118
-#2105 := (~ #1378 #2104)
-#2106 := [sk]: #2105
-#2121 := [trans #2106 #2119]: #2120
-#2198 := [nnf-neg #2121 #2194]: #2197
-#2082 := (~ #2081 #2081)
-#2083 := [refl]: #2082
-#2079 := (~ #2078 #2078)
-#2080 := [refl]: #2079
-#2076 := (~ #2075 #2075)
-#2077 := [refl]: #2076
-#2073 := (~ #2072 #2072)
-#2074 := [refl]: #2073
-#2208 := [nnf-neg #2074 #2077 #2080 #2083 #2198 #2204]: #2207
-#2464 := [nnf-neg #2208 #2460]: #2463
-#2069 := (not #1341)
-#2070 := (~ #2069 #2066)
-#2067 := (~ #1338 #2066)
-#2064 := (~ #1335 #2063)
-#2059 := (~ #1332 #2058)
-#2060 := [sk]: #2059
-#2045 := (~ #1308 #1308)
-#2046 := [refl]: #2045
-#2065 := [monotonicity #2046 #2060]: #2064
-#2068 := [nnf-pos #2065]: #2067
-#2071 := [nnf-neg #2068]: #2070
-#2042 := (not #1752)
-#2043 := (~ #2042 #2039)
-#2040 := (~ #1296 #2039)
-#2037 := (~ #1293 #2036)
-#2032 := (~ #1290 #2031)
-#2033 := [sk]: #2032
-#2018 := (~ #1270 #1270)
-#2019 := [refl]: #2018
-#2038 := [monotonicity #2019 #2033]: #2037
-#2041 := [nnf-pos #2038]: #2040
-#2044 := [nnf-neg #2041]: #2043
-#2016 := (~ #2015 #2015)
-#2017 := [refl]: #2016
-#2489 := [nnf-neg #2017 #2044 #2071 #2464 #2471 #2478 #2485]: #2488
-#2013 := (~ #1752 #2010)
-#1988 := (exists (vars (?x38 T2)) #1987)
-#1996 := (or #1995 #1988)
-#1997 := (not #1996)
-#2011 := (~ #1997 #2010)
-#2007 := (not #1988)
-#2008 := (~ #2007 #2006)
-#2004 := (~ #2003 #2003)
-#2005 := [refl]: #2004
-#2009 := [nnf-neg #2005]: #2008
-#2001 := (~ #2000 #2000)
-#2002 := [refl]: #2001
-#2012 := [nnf-neg #2002 #2009]: #2011
-#1998 := (~ #1752 #1997)
-#1999 := [sk]: #1998
-#2014 := [trans #1999 #2012]: #2013
-#2493 := [nnf-neg #2014 #2489]: #2492
-#1973 := (not #1258)
-#1974 := (~ #1973 #1255)
-#1971 := (~ #1255 #1255)
-#1969 := (~ #1252 #1252)
-#1970 := [refl]: #1969
-#1972 := [nnf-pos #1970]: #1971
-#1975 := [nnf-neg #1972]: #1974
-#2497 := [nnf-neg #1975 #2493]: #2496
-#1965 := (~ #1258 #1964)
-#1966 := [sk]: #1965
-#2501 := [nnf-neg #1966 #2497]: #2500
-#1943 := (not #1232)
-#1944 := (~ #1943 #1229)
-#1941 := (~ #1229 #1229)
-#1939 := (~ #1226 #1226)
-#1940 := [refl]: #1939
-#1942 := [nnf-pos #1940]: #1941
-#1945 := [nnf-neg #1942]: #1944
-#2505 := [nnf-neg #1945 #2501]: #2504
-#1935 := (~ #1232 #1934)
-#1936 := [sk]: #1935
-#2509 := [nnf-neg #1936 #2505]: #2508
-#1918 := (not #1217)
-#1919 := (~ #1918 #1214)
-#1916 := (~ #1214 #1214)
-#1914 := (~ #1213 #1213)
-#1915 := [refl]: #1914
-#1917 := [nnf-pos #1915]: #1916
-#1920 := [nnf-neg #1917]: #1919
-#2513 := [nnf-neg #1920 #2509]: #2512
-#1910 := (~ #1217 #1909)
-#1911 := [sk]: #1910
-#2517 := [nnf-neg #1911 #2513]: #2516
-#1865 := (~ #1864 #1864)
-#1905 := [refl]: #1865
-#2521 := [nnf-neg #1905 #2517]: #2520
-#1903 := (~ #1208 #1208)
-#1904 := [refl]: #1903
-#2524 := [nnf-neg #1904 #2521]: #2523
-#1839 := [not-or-elim #1835]: #1838
-#2525 := [mp~ #1839 #2524]: #2522
-#2526 := [mp #2525 #3063]: #3061
-#3705 := [mp #2526 #3704]: #3702
-#4636 := [mp #3705 #4635]: #4633
-#4922 := [unit-resolution #4636 #4656]: #4630
-#3960 := (or #4627 #4621)
-#3961 := [def-axiom]: #3960
-#4948 := [unit-resolution #3961 #4922]: #4621
-#373 := (<= uf_9 0::int)
-#374 := (not #373)
-#57 := (< 0::int uf_9)
-#375 := (iff #57 #374)
-#376 := [rewrite]: #375
-#369 := [asserted]: #57
-#377 := [mp #369 #376]: #374
-#4731 := (* -1::int #1907)
-#4773 := (+ uf_9 #4731)
-#4774 := (<= #4773 0::int)
-#4662 := (= uf_9 #1907)
-#4665 := (= uf_11 ?x27!0)
-#4779 := (not #4665)
-#4776 := (= #1907 0::int)
-#4795 := (not #4776)
-#4789 := [hypothesis]: #1909
-#4796 := (or #4795 #1908)
-#4797 := [th-lemma]: #4796
-#4798 := [unit-resolution #4797 #4789]: #4795
-#4767 := (or #3800 #4779 #4776)
-#4663 := (= ?x27!0 uf_11)
-#4777 := (not #4663)
-#4778 := (or #4777 #4776)
-#4762 := (or #3800 #4778)
-#4791 := (iff #4762 #4767)
-#4764 := (or #4779 #4776)
-#4769 := (or #3800 #4764)
-#4772 := (iff #4769 #4767)
-#4790 := [rewrite]: #4772
-#4770 := (iff #4762 #4769)
-#4765 := (iff #4778 #4764)
-#4780 := (iff #4777 #4779)
-#4666 := (iff #4663 #4665)
-#4718 := [rewrite]: #4666
-#4763 := [monotonicity #4718]: #4780
-#4766 := [monotonicity #4763]: #4765
-#4771 := [monotonicity #4766]: #4770
-#4792 := [trans #4771 #4790]: #4791
-#4768 := [quant-inst]: #4762
-#4793 := [mp #4768 #4792]: #4767
-#4799 := [unit-resolution #4793 #4642 #4798]: #4779
-#4722 := (or #4662 #4665)
-#4707 := (or #4706 #4662 #4665)
-#4664 := (or #4663 #4662)
-#4708 := (or #4706 #4664)
-#4714 := (iff #4708 #4707)
-#4710 := (or #4706 #4722)
-#4712 := (iff #4710 #4707)
-#4713 := [rewrite]: #4712
-#4705 := (iff #4708 #4710)
-#4725 := (iff #4664 #4722)
-#4719 := (or #4665 #4662)
-#4723 := (iff #4719 #4722)
-#4724 := [rewrite]: #4723
-#4720 := (iff #4664 #4719)
-#4721 := [monotonicity #4718]: #4720
-#4726 := [trans #4721 #4724]: #4725
-#4711 := [monotonicity #4726]: #4705
-#4715 := [trans #4711 #4713]: #4714
-#4709 := [quant-inst]: #4708
-#4730 := [mp #4709 #4715]: #4707
-#4851 := [unit-resolution #4730 #4263]: #4722
-#4852 := [unit-resolution #4851 #4799]: #4662
-#4853 := (not #4662)
-#4854 := (or #4853 #4774)
-#4855 := [th-lemma]: #4854
-#4856 := [unit-resolution #4855 #4852]: #4774
-#4794 := (<= #1907 0::int)
-#4857 := (or #4794 #1908)
-#4858 := [th-lemma]: #4857
-#4859 := [unit-resolution #4858 #4789]: #4794
-#4839 := [th-lemma #4859 #4856 #377]: false
-#4840 := [lemma #4839]: #1908
-#3955 := (or #4624 #1909 #4618)
+#36 := (ite #24 #34 #35)
+#37 := (iff #32 #36)
+#4091 := (forall (vars (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2)) (:pat #4090) #37)
+#38 := (forall (vars (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2)) #37)
+#4094 := (iff #38 #4091)
+#4092 := (iff #37 #37)
+#4093 := [refl]: #4092
+#4095 := [quant-intro #4093]: #4094
+#1735 := (~ #38 #38)
+#1771 := (~ #37 #37)
+#1772 := [refl]: #1771
+#1736 := [nnf-pos #1772]: #1735
+#325 := [asserted]: #38
+#1773 := [mp~ #325 #1736]: #38
+#4096 := [mp #1773 #4095]: #4091
+#6627 := (not #4091)
+#27178 := (or #6627 #27175)
+#3770 := (= uf_8 uf_8)
+#27158 := (= #19932 #10571)
+#27159 := (ite #27158 #3770 #25982)
+#27163 := (iff #27162 #27159)
+#27179 := (or #6627 #27163)
+#27181 := (iff #27179 #27178)
+#27183 := (iff #27178 #27178)
+#27184 := [rewrite]: #27183
+#27176 := (iff #27163 #27175)
+#27173 := (iff #27159 #27170)
+#27167 := (ite #27164 true #25982)
+#27171 := (iff #27167 #27170)
+#27172 := [rewrite]: #27171
+#27168 := (iff #27159 #27167)
+#3773 := (iff #3770 true)
+#3762 := [rewrite]: #3773
+#27165 := (iff #27158 #27164)
+#27166 := [rewrite]: #27165
+#27169 := [monotonicity #27166 #3762]: #27168
+#27174 := [trans #27169 #27172]: #27173
+#27177 := [monotonicity #27174]: #27176
+#27182 := [monotonicity #27177]: #27181
+#27185 := [trans #27182 #27184]: #27181
+#27180 := [quant-inst]: #27179
+#27186 := [mp #27180 #27185]: #27178
+#27285 := [unit-resolution #27186 #4096]: #27175
+#27195 := (not #27175)
+#27312 := (or #27195 #27162)
+#5924 := (up_6 uf_15 #5912)
+#27308 := (iff #5924 #25982)
+#27306 := (iff #25982 #5924)
+#27307 := [monotonicity #27305]: #27306
+#27309 := [symm #27307]: #27308
+#5925 := (not #5924)
+#5917 := (uf_1 #5912 ?x75!20)
+#5918 := (uf_10 #5917)
+#5919 := (* -1::int #5918)
+#5913 := (uf_4 uf_14 #5912)
+#5914 := (* -1::int #5913)
+#5920 := (+ #5914 #5919)
+#5650 := (uf_4 uf_14 ?x75!20)
+#5921 := (+ #5650 #5920)
+#5922 := (= #5921 0::int)
+#5923 := (not #5922)
+#5915 := (+ #5650 #5914)
+#5916 := (<= #5915 0::int)
+#5931 := (or #5916 #5923 #5925)
+#5934 := (not #5931)
+#5680 := (* -1::int #5650)
+#5928 := (+ uf_9 #5680)
+#5929 := (<= #5928 0::int)
+#22674 := (not #5929)
+#6611 := [hypothesis]: #3329
+#4009 := (not #2772)
+#4010 := (or #3324 #4009)
+#4004 := [def-axiom]: #4010
+#6612 := [unit-resolution #4004 #6611]: #4009
+#13689 := (or #3324 #2772)
+#6525 := (uf_1 uf_22 ?x68!16)
+#6526 := (uf_10 #6525)
+#6551 := (+ #2770 #6526)
+#6552 := (+ #182 #6551)
+#13122 := (<= #6552 0::int)
+#6555 := (= #6552 0::int)
+#6492 := (uf_4 uf_14 ?x68!16)
+#6509 := (* -1::int #6492)
+#6544 := (+ #6509 #6526)
+#6545 := (+ #182 #6544)
+#6546 := (>= #6545 0::int)
+#6530 := (* -1::int #6526)
+#6534 := (+ uf_9 #6530)
+#6535 := (<= #6534 0::int)
+#6581 := (or #6535 #6546)
+#6584 := (not #6581)
+#6578 := (= #2184 #6492)
+#9424 := (not #6578)
+#6510 := (+ #2184 #6509)
+#13145 := (>= #6510 0::int)
+#13450 := (not #13145)
+#13018 := (= ?x67!17 #10571)
+#6294 := (up_6 uf_15 ?x67!17)
+#13025 := (or #6294 #13018)
+#13020 := (up_6 #11533 ?x67!17)
+#13030 := (iff #13020 #13025)
+#12984 := (or #6627 #13030)
+#13019 := (ite #13018 #3770 #6294)
+#13021 := (iff #13020 #13019)
+#12985 := (or #6627 #13021)
+#12987 := (iff #12985 #12984)
+#12983 := (iff #12984 #12984)
+#12989 := [rewrite]: #12983
+#13031 := (iff #13021 #13030)
+#13028 := (iff #13019 #13025)
+#13022 := (ite #13018 true #6294)
+#13026 := (iff #13022 #13025)
+#13027 := [rewrite]: #13026
+#13023 := (iff #13019 #13022)
+#13024 := [monotonicity #3762]: #13023
+#13029 := [trans #13024 #13027]: #13028
+#13032 := [monotonicity #13029]: #13031
+#12988 := [monotonicity #13032]: #12987
+#12990 := [trans #12988 #12989]: #12987
+#12986 := [quant-inst]: #12985
+#12991 := [mp #12986 #12990]: #12984
+#13478 := [unit-resolution #12991 #4096]: #13030
+#11491 := (iff #2187 #13020)
+#13479 := (iff #13020 #2187)
+#11490 := [monotonicity #13613]: #13479
+#13624 := [symm #11490]: #11491
+#3864 := (or #3324 #2187)
+#3865 := [def-axiom]: #3864
+#6614 := [unit-resolution #3865 #6611]: #2187
+#13625 := [mp #6614 #13624]: #13020
+#13051 := (not #13020)
+#13048 := (not #13030)
+#13052 := (or #13048 #13051 #13025)
+#13053 := [def-axiom]: #13052
+#13626 := [unit-resolution #13053 #13625 #13478]: #13025
+#11064 := [hypothesis]: #4009
+#6322 := (+ #182 #6509)
+#6323 := (<= #6322 0::int)
+#3838 := (up_6 uf_15 ?x68!16)
+#12920 := (not #3838)
+#12850 := (= ?x68!16 #10571)
+#12856 := (or #3838 #12850)
+#12925 := (not #12856)
+#12852 := (up_6 #11533 ?x68!16)
+#12885 := (iff #12852 #12856)
+#12882 := (or #6627 #12885)
+#12851 := (ite #12850 #3770 #3838)
+#12853 := (iff #12852 #12851)
+#12888 := (or #6627 #12853)
+#12890 := (iff #12888 #12882)
+#12892 := (iff #12882 #12882)
+#12917 := [rewrite]: #12892
+#12886 := (iff #12853 #12885)
+#12883 := (iff #12851 #12856)
+#12848 := (ite #12850 true #3838)
+#12857 := (iff #12848 #12856)
+#12858 := [rewrite]: #12857
+#12854 := (iff #12851 #12848)
+#12855 := [monotonicity #3762]: #12854
+#12884 := [trans #12855 #12858]: #12883
+#12887 := [monotonicity #12884]: #12886
+#12891 := [monotonicity #12887]: #12890
+#12918 := [trans #12891 #12917]: #12890
+#12889 := [quant-inst]: #12888
+#12919 := [mp #12889 #12918]: #12882
+#13654 := [unit-resolution #12919 #4096]: #12885
+#12955 := (not #12852)
+#13653 := (iff #2189 #12955)
+#13657 := (iff #2188 #12852)
+#13655 := (iff #12852 #2188)
+#13656 := [monotonicity #13613]: #13655
+#13658 := [symm #13656]: #13657
+#13659 := [monotonicity #13658]: #13653
+#4007 := (or #3324 #2189)
+#4008 := [def-axiom]: #4007
+#6613 := [unit-resolution #4008 #6611]: #2189
+#13660 := [mp #6613 #13659]: #12955
+#12952 := (not #12885)
+#12953 := (or #12952 #12852 #12925)
+#12954 := [def-axiom]: #12953
+#13661 := [unit-resolution #12954 #13660 #13654]: #12925
+#12921 := (or #12856 #12920)
+#12916 := [def-axiom]: #12921
+#13662 := [unit-resolution #12916 #13661]: #12920
+#6327 := (or #3838 #6323)
+#3927 := (or #4441 #4292)
+#3928 := [def-axiom]: #3927
+#10883 := [unit-resolution #3928 #10456]: #4292
+#13176 := (or #4297 #3838 #6323)
+#6340 := (+ #6492 #1357)
+#6341 := (>= #6340 0::int)
+#6342 := (or #3838 #6341)
+#13174 := (or #4297 #6342)
+#13184 := (iff #13174 #13176)
+#13180 := (or #4297 #6327)
+#13182 := (iff #13180 #13176)
+#13183 := [rewrite]: #13182
+#13173 := (iff #13174 #13180)
+#6328 := (iff #6342 #6327)
+#6325 := (iff #6341 #6323)
+#6343 := (+ #1357 #6492)
+#6346 := (>= #6343 0::int)
+#6321 := (iff #6346 #6323)
+#6324 := [rewrite]: #6321
+#6347 := (iff #6341 #6346)
+#6344 := (= #6340 #6343)
+#6345 := [rewrite]: #6344
+#6348 := [monotonicity #6345]: #6347
+#6326 := [trans #6348 #6324]: #6325
+#6329 := [monotonicity #6326]: #6328
+#13181 := [monotonicity #6329]: #13173
+#13185 := [trans #13181 #13183]: #13184
+#13179 := [quant-inst]: #13174
+#13187 := [mp #13179 #13185]: #13176
+#13663 := [unit-resolution #13187 #10883]: #6327
+#10648 := [unit-resolution #13663 #13662]: #6323
+#13045 := (not #13025)
+#13449 := (not #6323)
+#13468 := (or #13450 #2772 #13449 #13045)
+#4615 := (uf_24 uf_22)
+#4656 := (* -1::int #4615)
+#6243 := (+ #2182 #4656)
+#13424 := (<= #6243 0::int)
+#13423 := (= #2182 #4615)
+#6295 := (= ?x67!17 uf_22)
+#13432 := [hypothesis]: #13025
+#10379 := (not #6294)
+#10904 := (uf_4 uf_14 #10571)
+#10931 := (* -1::int #10904)
+#6265 := (uf_4 uf_14 ?x67!17)
+#13376 := (+ #6265 #10931)
+#13377 := (<= #13376 0::int)
+#13553 := (not #13377)
+#13446 := [hypothesis]: #6323
+#5447 := (* -1::int #6265)
+#5547 := (+ #2182 #5447)
+#5548 := (<= #5547 0::int)
+#3804 := (or #4441 #4435)
+#3915 := [def-axiom]: #3804
+#10913 := [unit-resolution #3915 #10456]: #4435
+#3936 := (or #4441 #4302)
+#3909 := [def-axiom]: #3936
+#10462 := [unit-resolution #3909 #10456]: #4302
+#3910 := (or #4441 #4310)
+#3911 := [def-axiom]: #3910
+#10914 := [unit-resolution #3911 #10456]: #4310
+#6880 := (or #2739 #4315 #4307)
+#6572 := (uf_1 uf_22 ?x61!13)
+#6573 := (uf_10 #6572)
+#6656 := (+ #2125 #6573)
+#6657 := (+ #182 #6656)
+#6677 := (>= #6657 0::int)
+#6659 := (= #6657 0::int)
+#6633 := (* -1::int #6573)
+#6629 := (+ uf_9 #6633)
+#6637 := (<= #6629 0::int)
+#6714 := (not #6637)
+#6647 := (+ #2737 #6573)
+#6642 := (+ #182 #6647)
+#6648 := (>= #6642 0::int)
+#6685 := (or #6637 #6648)
+#6687 := (not #6685)
+#6682 := (= #2124 #2126)
+#6838 := (not #6682)
+#6822 := [hypothesis]: #2744
+#6841 := (or #6838 #2739)
+#6842 := [th-lemma]: #6841
+#6837 := [unit-resolution #6842 #6822]: #6838
+#6843 := [hypothesis]: #4302
+#6692 := (or #4307 #6682 #6687)
+#6634 := (+ #1357 #6633)
+#6635 := (+ #2126 #6634)
+#6636 := (<= #6635 0::int)
+#6678 := (or #6637 #6636)
+#6680 := (not #6678)
+#6681 := (= #2126 #2124)
+#6679 := (or #6681 #6680)
+#6693 := (or #4307 #6679)
+#6710 := (iff #6693 #6692)
+#6690 := (or #6682 #6687)
+#6695 := (or #4307 #6690)
+#6708 := (iff #6695 #6692)
+#6709 := [rewrite]: #6708
+#6706 := (iff #6693 #6695)
+#6653 := (iff #6679 #6690)
+#6688 := (iff #6680 #6687)
+#6686 := (iff #6678 #6685)
+#6651 := (iff #6636 #6648)
+#6639 := (+ #2126 #6633)
+#6640 := (+ #1357 #6639)
+#6644 := (<= #6640 0::int)
+#6649 := (iff #6644 #6648)
+#6650 := [rewrite]: #6649
+#6645 := (iff #6636 #6644)
+#6641 := (= #6635 #6640)
+#6643 := [rewrite]: #6641
+#6646 := [monotonicity #6643]: #6645
+#6652 := [trans #6646 #6650]: #6651
+#6654 := [monotonicity #6652]: #6686
+#6689 := [monotonicity #6654]: #6688
+#6683 := (iff #6681 #6682)
+#6684 := [rewrite]: #6683
+#6691 := [monotonicity #6684 #6689]: #6653
+#6707 := [monotonicity #6691]: #6706
+#6711 := [trans #6707 #6709]: #6710
+#6694 := [quant-inst]: #6693
+#6712 := [mp #6694 #6711]: #6692
+#6844 := [unit-resolution #6712 #6843 #6837]: #6687
+#6715 := (or #6685 #6714)
+#6716 := [def-axiom]: #6715
+#6845 := [unit-resolution #6716 #6844]: #6714
+#6717 := (not #6648)
+#6718 := (or #6685 #6717)
+#6719 := [def-axiom]: #6718
+#6846 := [unit-resolution #6719 #6844]: #6717
+#6663 := (or #6637 #6648 #6659)
+#6847 := [hypothesis]: #4310
+#6665 := (or #4315 #6637 #6648 #6659)
+#6631 := (+ #6573 #2125)
+#6632 := (+ #182 #6631)
+#6630 := (= #6632 0::int)
+#6638 := (or #6637 #6636 #6630)
+#6666 := (or #4315 #6638)
+#6674 := (iff #6666 #6665)
+#6669 := (or #4315 #6663)
+#6671 := (iff #6669 #6665)
+#6672 := [rewrite]: #6671
+#6667 := (iff #6666 #6669)
+#6661 := (iff #6638 #6663)
+#6660 := (iff #6630 #6659)
+#6655 := (= #6632 #6657)
+#6658 := [rewrite]: #6655
+#6662 := [monotonicity #6658]: #6660
+#6664 := [monotonicity #6652 #6662]: #6661
+#6670 := [monotonicity #6664]: #6667
+#6675 := [trans #6670 #6672]: #6674
+#6668 := [quant-inst]: #6666
+#6673 := [mp #6668 #6675]: #6665
+#6871 := [unit-resolution #6673 #6847]: #6663
+#6872 := [unit-resolution #6871 #6846 #6845]: #6659
+#6873 := (not #6659)
+#6874 := (or #6873 #6677)
+#6875 := [th-lemma]: #6874
+#6870 := [unit-resolution #6875 #6872]: #6677
+#6713 := (>= #2738 0::int)
+#6876 := (or #6713 #2739)
+#6877 := [th-lemma]: #6876
+#6878 := [unit-resolution #6877 #6822]: #6713
+#6879 := [th-lemma #6878 #6846 #6870]: false
+#6904 := [lemma #6879]: #6880
+#10915 := [unit-resolution #6904 #10914 #10462]: #2739
+#3942 := (or #4438 #2744 #4432)
+#3943 := [def-axiom]: #3942
+#10916 := [unit-resolution #3943 #10915 #10913]: #4432
+#3955 := (or #4429 #4318)
 #3956 := [def-axiom]: #3955
-#5086 := [unit-resolution #3956 #4840 #4948]: #4618
-#3979 := (or #4615 #4609)
-#3980 := [def-axiom]: #3979
-#5292 := [unit-resolution #3980 #5086]: #4609
-#5416 := [hypothesis]: #1928
-#5028 := (or #4844 #1968)
-#5029 := [quant-inst]: #5028
-#5422 := [unit-resolution #5029 #4256 #5416]: false
-#5423 := [lemma #5422]: #1968
-#3772 := (or #2171 #1928)
-#3859 := [def-axiom]: #3772
-#5293 := [unit-resolution #3859 #5423]: #2171
-#3973 := (or #4612 #2248 #4606)
-#3975 := [def-axiom]: #3973
-#5417 := [unit-resolution #3975 #5293 #5292]: #4606
-#4000 := (or #4603 #4597)
-#4001 := [def-axiom]: #4000
-#5418 := [unit-resolution #4001 #5417]: #4597
-#3996 := (or #4600 #3106 #4594)
-#3997 := [def-axiom]: #3996
-#5452 := [unit-resolution #3997 #5418 #4921]: #4594
-#4010 := (or #4591 #4585)
-#4031 := [def-axiom]: #4010
-#5507 := [unit-resolution #4031 #5452]: #4585
-#4018 := (or #4588 #4302 #4582)
-#4019 := [def-axiom]: #4018
-#5496 := [unit-resolution #4019 #5507 #5196]: #4582
-#4049 := (or #4579 #109)
-#4050 := [def-axiom]: #4049
-#5498 := [unit-resolution #4050 #5496]: #109
-#9048 := (= #166 #108)
-#9042 := [hypothesis]: #4415
-#4151 := (or #4412 #569)
-#4152 := [def-axiom]: #4151
-#9043 := [unit-resolution #4152 #9042]: #569
-#8965 := [symm #9043]: #147
-#9049 := [monotonicity #8965]: #9048
-#9047 := [trans #9049 #5498]: #167
-#3867 := (or #4412 #4348)
-#4149 := [def-axiom]: #3867
-#9030 := [unit-resolution #4149 #9042]: #4348
-#7181 := (or #3369 #4353 #674)
-#9174 := [hypothesis]: #569
-#9183 := [hypothesis]: #4348
-#9172 := [hypothesis]: #3374
-#4168 := (or #3369 #2164)
-#4169 := [def-axiom]: #4168
-#7182 := [unit-resolution #4169 #9172]: #2164
-#9200 := (or #3369 #2163 #4353 #674)
-#8980 := (uf_4 uf_14 ?x54!10)
-#7073 := (uf_4 uf_14 ?x53!11)
-#7171 := (* -1::int #7073)
-#9058 := (+ #7171 #8980)
-#9059 := (+ #2154 #9058)
-#9062 := (>= #9059 0::int)
-#8984 := (uf_6 uf_15 ?x54!10)
-#8985 := (= uf_8 #8984)
-#8981 := (* -1::int #8980)
-#8982 := (+ uf_9 #8981)
-#8983 := (<= #8982 0::int)
-#9168 := (not #8983)
-#4166 := (or #3369 #2160)
-#4167 := [def-axiom]: #4166
-#9173 := [unit-resolution #4167 #9172]: #2160
-#9161 := (+ #2151 #8981)
-#9163 := (>= #9161 0::int)
-#9160 := (= #2151 #8980)
-#9175 := (= #8980 #2151)
-#9176 := [monotonicity #9174]: #9175
-#9177 := [symm #9176]: #9160
-#9178 := (not #9160)
-#9179 := (or #9178 #9163)
-#9180 := [th-lemma]: #9179
-#9181 := [unit-resolution #9180 #9177]: #9163
-#9169 := (not #9163)
-#9170 := (or #9168 #9169 #2159)
-#9164 := [hypothesis]: #2160
-#9165 := [hypothesis]: #8983
-#9166 := [hypothesis]: #9163
-#9167 := [th-lemma #9166 #9165 #9164]: false
-#9171 := [lemma #9167]: #9170
-#9182 := [unit-resolution #9171 #9181 #9173]: #9168
-#8987 := (or #8983 #8985)
-#8990 := (or #4353 #8983 #8985)
-#8986 := (or #8985 #8983)
-#8991 := (or #4353 #8986)
-#8998 := (iff #8991 #8990)
-#8993 := (or #4353 #8987)
-#8996 := (iff #8993 #8990)
-#8997 := [rewrite]: #8996
-#8994 := (iff #8991 #8993)
-#8988 := (iff #8986 #8987)
-#8989 := [rewrite]: #8988
-#8995 := [monotonicity #8989]: #8994
-#8999 := [trans #8995 #8997]: #8998
-#8992 := [quant-inst]: #8991
-#9000 := [mp #8992 #8999]: #8990
-#9184 := [unit-resolution #9000 #9183]: #8987
-#9185 := [unit-resolution #9184 #9182]: #8985
-#9056 := (not #8985)
-#9188 := (or #9056 #9062)
-#9186 := [hypothesis]: #2164
-#4052 := (or #4579 #4314)
-#4032 := [def-axiom]: #4052
-#9187 := [unit-resolution #4032 #5496]: #4314
-#9073 := (or #4319 #2163 #9056 #9062)
-#9051 := (+ #8980 #7171)
-#9052 := (+ #2154 #9051)
-#9055 := (>= #9052 0::int)
-#9057 := (or #9056 #2163 #9055)
-#9074 := (or #4319 #9057)
-#9081 := (iff #9074 #9073)
-#9068 := (or #2163 #9056 #9062)
-#9076 := (or #4319 #9068)
-#9079 := (iff #9076 #9073)
-#9080 := [rewrite]: #9079
-#9077 := (iff #9074 #9076)
-#9071 := (iff #9057 #9068)
-#9065 := (or #9056 #2163 #9062)
-#9069 := (iff #9065 #9068)
-#9070 := [rewrite]: #9069
-#9066 := (iff #9057 #9065)
-#9063 := (iff #9055 #9062)
-#9060 := (= #9052 #9059)
-#9061 := [rewrite]: #9060
-#9064 := [monotonicity #9061]: #9063
-#9067 := [monotonicity #9064]: #9066
-#9072 := [trans #9067 #9070]: #9071
-#9078 := [monotonicity #9072]: #9077
-#9082 := [trans #9078 #9080]: #9081
-#9075 := [quant-inst]: #9074
-#9083 := [mp #9075 #9082]: #9073
-#9189 := [unit-resolution #9083 #9187 #9186]: #9188
-#9190 := [unit-resolution #9189 #9185]: #9062
-#4164 := (not #2815)
-#4170 := (or #3369 #4164)
-#3808 := [def-axiom]: #4170
-#9191 := [unit-resolution #3808 #9172]: #4164
-#9155 := (+ #2149 #7171)
-#9158 := (<= #9155 0::int)
-#9154 := (= #2149 #7073)
-#9192 := (= #7073 #2149)
-#9193 := [monotonicity #9174]: #9192
-#9194 := [symm #9193]: #9154
-#9195 := (not #9154)
-#9196 := (or #9195 #9158)
-#9197 := [th-lemma]: #9196
-#9198 := [unit-resolution #9197 #9194]: #9158
-#9199 := [th-lemma #9198 #9191 #9181 #9190]: false
-#9201 := [lemma #9199]: #9200
-#7183 := [unit-resolution #9201 #7182 #9172 #9183 #9174]: false
-#7082 := [lemma #7183]: #7181
-#9031 := [unit-resolution #7082 #9030 #9043]: #3369
-#4153 := (or #4412 #4406)
-#4150 := [def-axiom]: #4153
-#8964 := [unit-resolution #4150 #9042]: #4406
-#9037 := (or #4412 #2097)
-#5396 := (uf_4 uf_14 ?x49!8)
-#5456 := (* -1::int #5396)
-#5457 := (+ uf_9 #5456)
-#5458 := (<= #5457 0::int)
-#6793 := (not #5458)
-#6788 := [hypothesis]: #2098
-#6206 := (+ #2085 #5456)
-#6232 := (>= #6206 0::int)
-#5257 := (= #2085 #5396)
-#9044 := (= #5396 #2085)
-#9045 := [monotonicity #9043]: #9044
-#8975 := [symm #9045]: #5257
-#8976 := (not #5257)
-#8977 := (or #8976 #6232)
-#8978 := [th-lemma]: #8977
-#8979 := [unit-resolution #8978 #8975]: #6232
-#6794 := (not #6232)
-#6792 := (or #6793 #6794 #2097)
-#6786 := [hypothesis]: #6232
-#6790 := [hypothesis]: #5458
-#6791 := [th-lemma #6790 #6786 #6788]: false
-#6816 := [lemma #6791]: #6792
-#8974 := [unit-resolution #6816 #8979 #6788]: #6793
-#6231 := (<= #6206 0::int)
-#8961 := (or #8976 #6231)
-#8962 := [th-lemma]: #8961
-#8963 := [unit-resolution #8962 #8975]: #6231
-#4163 := (or #4388 #2173)
-#3826 := [def-axiom]: #4163
-#9029 := [unit-resolution #3826 #9047]: #4388
-#4175 := (or #4397 #4391 #3374)
-#4161 := [def-axiom]: #4175
-#9032 := [unit-resolution #4161 #9031 #9029]: #4397
-#3885 := (or #4400 #4394)
-#3886 := [def-axiom]: #3885
-#9046 := [unit-resolution #3886 #9032]: #4400
-#4155 := (or #4409 #4369 #4403)
-#4159 := [def-axiom]: #4155
-#9033 := [unit-resolution #4159 #9046 #8964]: #4369
-#5178 := (?x47!7 ?x49!8)
-#6376 := (uf_4 uf_19 #5178)
-#6600 := (* -1::int #6376)
-#5179 := (uf_4 uf_14 #5178)
-#8481 := (+ #5179 #6600)
-#6172 := (<= #8481 0::int)
-#5887 := (= #5179 #6376)
-#9028 := [monotonicity #9043]: #5887
-#9034 := (not #5887)
-#9035 := (or #9034 #6172)
-#9036 := [th-lemma]: #9035
-#9038 := [unit-resolution #9036 #9028]: #6172
-#8515 := (>= #8481 0::int)
-#9053 := (or #9034 #8515)
-#9054 := [th-lemma]: #9053
-#9109 := [unit-resolution #9054 #9028]: #8515
-#9290 := (not #6172)
-#9289 := (not #6231)
-#8950 := (not #8515)
-#9263 := (or #4366 #6794 #8950 #9289 #9290 #5458)
-#5641 := (+ #5179 #5456)
-#5665 := (>= #5641 0::int)
-#7930 := (not #5665)
-#5450 := (uf_1 #5178 ?x49!8)
-#5451 := (uf_10 #5450)
-#5631 := (+ #5456 #5451)
-#5637 := (+ #5179 #5631)
-#5526 := (= #5637 0::int)
-#5525 := (not #5526)
-#5508 := (uf_6 uf_15 #5178)
-#5517 := (= uf_8 #5508)
-#5518 := (not #5517)
-#5697 := (or #5518 #5525 #5665)
-#5707 := (not #5697)
-#9240 := [hypothesis]: #6793
-#9241 := [hypothesis]: #4369
-#3837 := (or #4366 #2715)
-#3842 := [def-axiom]: #3837
-#9242 := [unit-resolution #3842 #9241]: #2715
-#4039 := (or #4579 #4339)
-#4034 := [def-axiom]: #4039
-#9243 := [unit-resolution #4034 #5496]: #4339
-#7629 := (or #4344 #2712 #5458 #5707)
-#5424 := (* -1::int #5179)
-#5425 := (+ #5396 #5424)
-#5426 := (<= #5425 0::int)
-#5509 := (* -1::int #5451)
-#5514 := (+ #5424 #5509)
-#5515 := (+ #5396 #5514)
-#5513 := (= #5515 0::int)
-#5516 := (not #5513)
-#5523 := (or #5518 #5516 #5426)
-#5524 := (not #5523)
-#5522 := (or #2099 #5458 #5524)
-#7083 := (or #4344 #5522)
-#7435 := (iff #7083 #7629)
-#5819 := (or #2712 #5458 #5707)
-#7261 := (or #4344 #5819)
-#7430 := (iff #7261 #7629)
-#7436 := [rewrite]: #7430
-#7210 := (iff #7083 #7261)
-#5798 := (iff #5522 #5819)
-#5801 := (iff #5524 #5707)
-#5705 := (iff #5523 #5697)
-#5638 := (iff #5426 #5665)
-#5536 := (+ #5424 #5396)
-#5639 := (<= #5536 0::int)
-#5666 := (iff #5639 #5665)
-#5703 := [rewrite]: #5666
-#5640 := (iff #5426 #5639)
-#5497 := (= #5425 #5536)
-#5495 := [rewrite]: #5497
-#5634 := [monotonicity #5495]: #5640
-#5704 := [trans #5634 #5703]: #5638
-#5534 := (iff #5516 #5525)
-#5533 := (iff #5513 #5526)
-#5499 := (+ #5396 #5509)
-#5500 := (+ #5424 #5499)
-#5504 := (= #5500 0::int)
-#5527 := (iff #5504 #5526)
-#5532 := [rewrite]: #5527
-#5635 := (iff #5513 #5504)
-#5505 := (= #5515 #5500)
-#5506 := [rewrite]: #5505
-#5636 := [monotonicity #5506]: #5635
-#5531 := [trans #5636 #5532]: #5533
-#5535 := [monotonicity #5531]: #5534
-#5706 := [monotonicity #5535 #5704]: #5705
-#5818 := [monotonicity #5706]: #5801
-#5817 := [monotonicity #2714 #5818]: #5798
-#6900 := [monotonicity #5817]: #7210
-#7432 := [trans #6900 #7436]: #7435
-#7217 := [quant-inst]: #7083
-#7437 := [mp #7217 #7432]: #7629
-#9244 := [unit-resolution #7437 #9243 #9242 #9240]: #5707
-#7888 := (or #5697 #7930)
-#7931 := [def-axiom]: #7888
-#9239 := [unit-resolution #7931 #9244]: #7930
-#6592 := (+ #2085 #6600)
-#6591 := (<= #6592 0::int)
-#6800 := (+ #5509 #6600)
-#6802 := (+ #2085 #6800)
-#6783 := (= #6802 0::int)
-#8973 := (<= #6802 0::int)
-#9282 := [hypothesis]: #6172
-#9283 := [hypothesis]: #6231
-#5866 := (>= #5637 0::int)
-#7549 := (or #5697 #5526)
-#7928 := [def-axiom]: #7549
-#9245 := [unit-resolution #7928 #9244]: #5526
-#9246 := (or #5525 #5866)
-#9247 := [th-lemma]: #9246
-#9248 := [unit-resolution #9247 #9245]: #5866
-#9288 := (not #5866)
-#9291 := (or #8973 #9288 #9289 #9290)
-#9284 := [hypothesis]: #5866
-#9285 := (not #8973)
-#9286 := [hypothesis]: #9285
-#9287 := [th-lemma #9286 #9284 #9283 #9282]: false
-#9292 := [lemma #9287]: #9291
-#9249 := [unit-resolution #9292 #9248 #9283 #9282]: #8973
-#9256 := (or #6783 #9285)
-#7263 := (>= #6802 0::int)
-#8944 := [hypothesis]: #8515
-#5863 := (<= #5637 0::int)
-#9251 := (or #5525 #5863)
-#9252 := [th-lemma]: #9251
-#9253 := [unit-resolution #9252 #9245]: #5863
-#8949 := (not #5863)
-#8951 := (or #7263 #8949 #6794 #8950)
-#8945 := [hypothesis]: #5863
-#8946 := (not #7263)
-#8947 := [hypothesis]: #8946
-#8948 := [th-lemma #8947 #8945 #6786 #8944]: false
-#8952 := [lemma #8948]: #8951
-#9254 := [unit-resolution #8952 #9253 #6786 #8944]: #7263
-#9255 := (or #6783 #9285 #8946)
-#9250 := [th-lemma]: #9255
-#9257 := [unit-resolution #9250 #9254]: #9256
-#9258 := [unit-resolution #9257 #9249]: #6783
-#6818 := (not #6783)
-#6815 := (or #6591 #6818)
-#4178 := (or #4366 #4358)
-#3838 := [def-axiom]: #4178
-#9259 := [unit-resolution #3838 #9241]: #4358
-#8898 := (or #4363 #6591 #6818)
-#6374 := (+ #2086 #5451)
-#6377 := (+ #6376 #6374)
-#6477 := (= #6377 0::int)
-#6478 := (not #6477)
-#6366 := (+ #6376 #2086)
-#6479 := (>= #6366 0::int)
-#6480 := (or #6479 #6478)
-#8899 := (or #4363 #6480)
-#8905 := (iff #8899 #8898)
-#8124 := (or #4363 #6815)
-#8903 := (iff #8124 #8898)
-#8904 := [rewrite]: #8903
-#8901 := (iff #8899 #8124)
-#6821 := (iff #6480 #6815)
-#6819 := (iff #6478 #6818)
-#6782 := (iff #6477 #6783)
-#6572 := (+ #5451 #6376)
-#6011 := (+ #2086 #6572)
-#6083 := (= #6011 0::int)
-#6787 := (iff #6083 #6783)
-#6789 := [rewrite]: #6787
-#6797 := (iff #6477 #6083)
-#6795 := (= #6377 #6011)
-#6796 := [rewrite]: #6795
-#6799 := [monotonicity #6796]: #6797
-#6817 := [trans #6799 #6789]: #6782
-#6820 := [monotonicity #6817]: #6819
-#6626 := (iff #6479 #6591)
-#6481 := (+ #2086 #6376)
-#6597 := (>= #6481 0::int)
-#6627 := (iff #6597 #6591)
-#6628 := [rewrite]: #6627
-#6598 := (iff #6479 #6597)
-#6476 := (= #6366 #6481)
-#6482 := [rewrite]: #6476
-#6599 := [monotonicity #6482]: #6598
-#6629 := [trans #6599 #6628]: #6626
-#6784 := [monotonicity #6629 #6820]: #6821
-#8902 := [monotonicity #6784]: #8901
-#7262 := [trans #8902 #8904]: #8905
-#8900 := [quant-inst]: #8899
-#7283 := [mp #8900 #7262]: #8898
-#9260 := [unit-resolution #7283 #9259]: #6815
-#9264 := [unit-resolution #9260 #9258]: #6591
-#9265 := [th-lemma #6786 #8944 #9264 #9239]: false
-#9266 := [lemma #9265]: #9263
-#9110 := [unit-resolution #9266 #9109 #9038 #9033 #8963 #8979 #8974]: false
-#9111 := [lemma #9110]: #9037
-#5419 := [unit-resolution #9111 #9042]: #2097
-#4187 := (or #4366 #2098)
-#4177 := [def-axiom]: #4187
-#5867 := [unit-resolution #4177 #5419]: #4366
-#5862 := [unit-resolution #4159 #5867 #8964]: #4403
-#5363 := [unit-resolution #3886 #5862]: #4394
-#7926 := [unit-resolution #4161 #5363 #9031]: #4391
-#7932 := [unit-resolution #3826 #7926]: #2173
-#7884 := [unit-resolution #7932 #9047]: false
-#8887 := [lemma #7884]: #4412
-#4040 := (or #4579 #4573)
-#4008 := [def-axiom]: #4040
-#10724 := [unit-resolution #4008 #5496]: #4573
-#4045 := (or #4576 #4415 #4570)
-#4046 := [def-axiom]: #4045
-#10725 := [unit-resolution #4046 #10724]: #4573
-#10726 := [unit-resolution #10725 #8887]: #4570
-#4068 := (or #4567 #195)
-#4069 := [def-axiom]: #4068
-#13581 := [unit-resolution #4069 #10726]: #195
-#13578 := [symm #13581]: #7680
-#13576 := (= #10323 #194)
-#48 := (:var 0 T5)
-#47 := (:var 2 T4)
-#49 := (uf_7 #47 #10 #48)
-#4231 := (pattern #49)
-#360 := (= uf_8 #48)
-#50 := (uf_6 #49 #10)
-#356 := (= uf_8 #50)
-#363 := (iff #356 #360)
-#4232 := (forall (vars (?x17 T4) (?x18 T2) (?x19 T5)) (:pat #4231) #363)
-#366 := (forall (vars (?x17 T4) (?x18 T2) (?x19 T5)) #363)
-#4235 := (iff #366 #4232)
-#4233 := (iff #363 #363)
-#4234 := [refl]: #4233
-#4236 := [quant-intro #4234]: #4235
-#1852 := (~ #366 #366)
-#1890 := (~ #363 #363)
-#1891 := [refl]: #1890
-#1853 := [nnf-pos #1891]: #1852
-#52 := (= #48 uf_8)
-#51 := (= #50 uf_8)
-#53 := (iff #51 #52)
-#54 := (forall (vars (?x17 T4) (?x18 T2) (?x19 T5)) #53)
-#367 := (iff #54 #366)
-#364 := (iff #53 #363)
-#361 := (iff #52 #360)
-#362 := [rewrite]: #361
-#358 := (iff #51 #356)
-#359 := [rewrite]: #358
-#365 := [monotonicity #359 #362]: #364
-#368 := [quant-intro #365]: #367
-#355 := [asserted]: #54
-#371 := [mp #355 #368]: #366
-#1892 := [mp~ #371 #1853]: #366
-#4237 := [mp #1892 #4236]: #4232
-#3883 := (not #4232)
-#3893 := (or #3883 #3895)
-#3909 := (= uf_8 uf_8)
-#3896 := (iff #3895 #3909)
-#3874 := (or #3883 #3896)
-#3876 := (iff #3874 #3893)
-#3877 := (iff #3893 #3893)
-#3878 := [rewrite]: #3877
-#3891 := (iff #3896 #3895)
-#3899 := (iff #3895 true)
-#3890 := (iff #3899 #3895)
-#3882 := [rewrite]: #3890
-#3888 := (iff #3896 #3899)
-#3898 := (iff #3909 true)
-#3897 := [rewrite]: #3898
-#3889 := [monotonicity #3897]: #3888
-#3892 := [trans #3889 #3882]: #3891
-#3868 := [monotonicity #3892]: #3876
-#3869 := [trans #3868 #3878]: #3876
-#3875 := [quant-inst]: #3874
-#3879 := [mp #3875 #3869]: #3893
-#7677 := [unit-resolution #3879 #4237]: #3895
-#7678 := [symm #7677]: #4958
-#13577 := [monotonicity #10708 #7678]: #13576
-#13583 := [trans #13577 #13578]: #13582
-#13585 := [monotonicity #13583]: #13584
-#13596 := [symm #13585]: #13595
-#13580 := [hypothesis]: #2258
-#13597 := [trans #13580 #13596]: #10327
-#13450 := (not #10327)
-#13447 := (not #10333)
-#13451 := (or #13447 #13450 #10330)
-#13454 := [def-axiom]: #13451
-#13593 := [unit-resolution #13454 #13597 #13579]: #10330
-#13335 := (not #9519)
-#11136 := (uf_6 uf_15 #10448)
-#11137 := (= uf_8 #11136)
-#11138 := (not #11137)
-#11133 := (* -1::int #11132)
-#9701 := (uf_4 uf_14 #9695)
-#11134 := (+ #9701 #11133)
-#11135 := (>= #11134 0::int)
-#13999 := (not #11135)
-#9563 := (uf_1 uf_22 ?x63!14)
-#9564 := (uf_10 #9563)
-#9508 := (* -1::int #2261)
-#9581 := (+ #9508 #9564)
-#9582 := (+ #188 #9581)
-#9583 := (>= #9582 0::int)
-#12179 := (not #9583)
-#9565 := (* -1::int #9564)
-#9569 := (+ uf_9 #9565)
-#9570 := (<= #9569 0::int)
-#9588 := (or #9570 #9583)
-#9591 := (not #9588)
-#13188 := [hypothesis]: #4140
-#4061 := (or #4567 #4428)
-#4056 := [def-axiom]: #4061
-#10727 := [unit-resolution #4056 #10726]: #4428
-#13444 := (or #4433 #2866 #9591)
-#9566 := (+ #1455 #9565)
-#9567 := (+ #2261 #9566)
-#9568 := (<= #9567 0::int)
-#9571 := (or #9570 #9568)
-#9572 := (not #9571)
-#9573 := (or #2262 #9572)
-#11618 := (or #4433 #9573)
-#11883 := (iff #11618 #13444)
-#9594 := (or #2866 #9591)
-#11662 := (or #4433 #9594)
-#11855 := (iff #11662 #13444)
-#11841 := [rewrite]: #11855
-#11663 := (iff #11618 #11662)
-#9595 := (iff #9573 #9594)
-#9592 := (iff #9572 #9591)
-#9589 := (iff #9571 #9588)
-#9586 := (iff #9568 #9583)
-#9574 := (+ #2261 #9565)
-#9575 := (+ #1455 #9574)
-#9578 := (<= #9575 0::int)
-#9584 := (iff #9578 #9583)
-#9585 := [rewrite]: #9584
-#9579 := (iff #9568 #9578)
-#9576 := (= #9567 #9575)
-#9577 := [rewrite]: #9576
-#9580 := [monotonicity #9577]: #9579
-#9587 := [trans #9580 #9585]: #9586
-#9590 := [monotonicity #9587]: #9589
-#9593 := [monotonicity #9590]: #9592
-#9596 := [monotonicity #2868 #9593]: #9595
-#11801 := [monotonicity #9596]: #11663
-#11930 := [trans #11801 #11841]: #11883
-#11417 := [quant-inst]: #11618
-#12087 := [mp #11417 #11930]: #13444
-#13594 := [unit-resolution #12087 #10727 #13188]: #9591
-#12344 := (or #9588 #12179)
-#11143 := [def-axiom]: #12344
-#13599 := [unit-resolution #11143 #13594]: #12179
-#14000 := (or #13999 #9583)
-#13979 := [hypothesis]: #11135
-#13980 := [hypothesis]: #12179
-#10368 := (uf_10 #10367)
-#10372 := (* -1::int #10368)
-#11940 := (+ #9564 #10372)
-#11942 := (>= #11940 0::int)
-#9867 := (= #9564 #10368)
-#13987 := (= #9563 #10367)
-#13988 := [monotonicity #10706]: #13987
-#13989 := [monotonicity #13988]: #9867
-#13990 := (not #9867)
-#13991 := (or #13990 #11942)
-#13992 := [th-lemma]: #13991
-#13993 := [unit-resolution #13992 #13989]: #11942
-#11219 := (>= #10368 0::int)
-#10318 := (= #10368 0::int)
-#11983 := (not #10318)
-#11981 := (not #11219)
-#11982 := [hypothesis]: #11981
-#11984 := (or #11983 #11219)
-#11985 := [th-lemma]: #11984
-#11986 := [unit-resolution #11985 #11982]: #11983
-#10404 := (<= #10368 0::int)
-#11987 := (or #11219 #10404)
-#11988 := [th-lemma]: #11987
-#11989 := [unit-resolution #11988 #11982]: #10404
-#10405 := (not #10404)
-#10410 := (or #10319 #10405)
-#59 := (uf_10 #12)
-#409 := (<= #59 0::int)
-#410 := (not #409)
-#58 := (= #10 #11)
-#413 := (or #58 #410)
-#4244 := (forall (vars (?x22 T2) (?x23 T2)) (:pat #4196) #413)
-#416 := (forall (vars (?x22 T2) (?x23 T2)) #413)
-#4247 := (iff #416 #4244)
-#4245 := (iff #413 #413)
-#4246 := [refl]: #4245
-#4248 := [quant-intro #4246]: #4247
-#1858 := (~ #416 #416)
-#1857 := (~ #413 #413)
-#1895 := [refl]: #1857
-#1859 := [nnf-pos #1895]: #1858
-#64 := (< 0::int #59)
-#63 := (not #58)
-#65 := (implies #63 #64)
-#66 := (forall (vars (?x22 T2) (?x23 T2)) #65)
-#419 := (iff #66 #416)
-#403 := (or #58 #64)
-#406 := (forall (vars (?x22 T2) (?x23 T2)) #403)
-#417 := (iff #406 #416)
-#414 := (iff #403 #413)
-#411 := (iff #64 #410)
-#412 := [rewrite]: #411
-#415 := [monotonicity #412]: #414
-#418 := [quant-intro #415]: #417
-#407 := (iff #66 #406)
-#404 := (iff #65 #403)
-#405 := [rewrite]: #404
-#408 := [quant-intro #405]: #407
-#420 := [trans #408 #418]: #419
-#402 := [asserted]: #66
-#421 := [mp #402 #420]: #416
-#1896 := [mp~ #421 #1859]: #416
-#4249 := [mp #1896 #4248]: #4244
-#10302 := (not #4244)
-#11162 := (or #10302 #10319 #10405)
-#10406 := (= #9695 ?x63!14)
-#10407 := (or #10406 #10405)
-#11163 := (or #10302 #10407)
-#11205 := (iff #11163 #11162)
-#11188 := (or #10302 #10410)
-#11203 := (iff #11188 #11162)
-#11204 := [rewrite]: #11203
-#11189 := (iff #11163 #11188)
-#10411 := (iff #10407 #10410)
-#10408 := (iff #10406 #10319)
-#10409 := [rewrite]: #10408
-#10412 := [monotonicity #10409]: #10411
-#11202 := [monotonicity #10412]: #11189
-#11206 := [trans #11202 #11204]: #11205
-#11164 := [quant-inst]: #11163
-#11201 := [mp #11164 #11206]: #11162
-#11990 := [unit-resolution #11201 #4249]: #10410
-#11991 := [unit-resolution #11990 #11989]: #10319
-#10346 := (not #10319)
-#10431 := (or #10318 #10346)
-#60 := (= #59 0::int)
-#393 := (or #63 #60)
-#4238 := (forall (vars (?x20 T2) (?x21 T2)) (:pat #4196) #393)
-#396 := (forall (vars (?x20 T2) (?x21 T2)) #393)
-#4241 := (iff #396 #4238)
-#4239 := (iff #393 #393)
-#4240 := [refl]: #4239
-#4242 := [quant-intro #4240]: #4241
-#1854 := (~ #396 #396)
-#1893 := (~ #393 #393)
-#1894 := [refl]: #1893
-#1855 := [nnf-pos #1894]: #1854
-#61 := (implies #58 #60)
-#62 := (forall (vars (?x20 T2) (?x21 T2)) #61)
-#399 := (iff #62 #396)
-#372 := (= 0::int #59)
-#383 := (or #63 #372)
-#388 := (forall (vars (?x20 T2) (?x21 T2)) #383)
-#397 := (iff #388 #396)
-#394 := (iff #383 #393)
-#391 := (iff #372 #60)
-#392 := [rewrite]: #391
-#395 := [monotonicity #392]: #394
-#398 := [quant-intro #395]: #397
-#389 := (iff #62 #388)
-#386 := (iff #61 #383)
-#380 := (implies #58 #372)
-#384 := (iff #380 #383)
-#385 := [rewrite]: #384
-#381 := (iff #61 #380)
-#378 := (iff #60 #372)
-#379 := [rewrite]: #378
-#382 := [monotonicity #379]: #381
-#387 := [trans #382 #385]: #386
-#390 := [quant-intro #387]: #389
-#400 := [trans #390 #398]: #399
-#370 := [asserted]: #62
-#401 := [mp #370 #400]: #396
-#1856 := [mp~ #401 #1855]: #396
-#4243 := [mp #1856 #4242]: #4238
-#6331 := (not #4238)
-#11098 := (or #6331 #10318 #10346)
-#10424 := (not #10406)
-#10425 := (or #10424 #10318)
-#11207 := (or #6331 #10425)
-#11222 := (iff #11207 #11098)
-#11209 := (or #6331 #10431)
-#11220 := (iff #11209 #11098)
-#11221 := [rewrite]: #11220
-#11210 := (iff #11207 #11209)
-#10434 := (iff #10425 #10431)
-#10428 := (or #10346 #10318)
-#10432 := (iff #10428 #10431)
-#10433 := [rewrite]: #10432
-#10429 := (iff #10425 #10428)
-#10426 := (iff #10424 #10346)
-#10427 := [monotonicity #10409]: #10426
-#10430 := [monotonicity #10427]: #10429
-#10435 := [trans #10430 #10433]: #10434
-#11211 := [monotonicity #10435]: #11210
-#11223 := [trans #11211 #11221]: #11222
-#11208 := [quant-inst]: #11207
-#11224 := [mp #11208 #11223]: #11098
-#11992 := [unit-resolution #11224 #4243]: #10431
-#11993 := [unit-resolution #11992 #11991 #11986]: false
-#11994 := [lemma #11993]: #11219
-#10057 := (+ #2261 #11133)
-#11955 := (<= #10057 0::int)
-#13994 := (not #12385)
-#13995 := (or #13994 #11955)
-#13996 := [th-lemma]: #13995
-#13997 := [unit-resolution #13996 #13203]: #11955
-#9707 := (* -1::int #9701)
-#10565 := (+ #188 #9707)
-#10581 := (>= #10565 0::int)
-#9923 := (= #188 #9701)
-#12919 := (= #9701 #188)
-#12920 := [monotonicity #10708]: #12919
-#12921 := [symm #12920]: #9923
-#12922 := (not #9923)
-#12923 := (or #12922 #10581)
-#12924 := [th-lemma]: #12923
-#12925 := [unit-resolution #12924 #12921]: #10581
-#13998 := [th-lemma #12925 #13997 #11994 #13993 #13980 #13979]: false
-#14001 := [lemma #13998]: #14000
-#13600 := [unit-resolution #14001 #13599]: #13999
-#13971 := (or #11138 #11135)
-#13935 := [hypothesis]: #13999
-#13936 := [hypothesis]: #11137
-#9685 := (uf_6 uf_15 #9695)
-#9686 := (= uf_8 #9685)
-#13964 := (not #9686)
-#13965 := (iff #731 #13964)
-#13957 := (iff #728 #9686)
-#13955 := (iff #9686 #728)
-#13948 := (= #9685 #185)
-#13954 := [monotonicity #10708]: #13948
-#13956 := [monotonicity #13954]: #13955
-#13958 := [symm #13956]: #13957
-#13968 := [monotonicity #13958]: #13965
-#4070 := (or #4567 #731)
-#4065 := [def-axiom]: #4070
-#13953 := [unit-resolution #4065 #10726]: #731
-#13969 := [mp #13953 #13968]: #13964
-#3978 := (or #4579 #4323)
-#4033 := [def-axiom]: #3978
-#13967 := [unit-resolution #4033 #5496]: #4323
-#13906 := (or #4328 #9686 #11135 #11138)
-#11139 := (or #9686 #11138 #11135)
-#13907 := (or #4328 #11139)
-#13933 := (iff #13907 #13906)
-#11140 := (or #9686 #11135 #11138)
-#13912 := (or #4328 #11140)
-#13931 := (iff #13912 #13906)
-#13932 := [rewrite]: #13931
-#13929 := (iff #13907 #13912)
-#11141 := (iff #11139 #11140)
-#11142 := [rewrite]: #11141
-#13930 := [monotonicity #11142]: #13929
-#13928 := [trans #13930 #13932]: #13933
-#13911 := [quant-inst]: #13907
-#13934 := [mp #13911 #13928]: #13906
-#13970 := [unit-resolution #13934 #13967 #13969 #13936 #13935]: false
-#13972 := [lemma #13970]: #13971
-#13598 := [unit-resolution #13972 #13600]: #11138
-#13978 := (or #13335 #11137)
-#13974 := (iff #9519 #11137)
-#13973 := (iff #11137 #9519)
-#13736 := (= #11136 #9518)
-#13693 := (= #10448 ?x63!14)
-#13735 := [symm #13195]: #13693
-#13905 := [monotonicity #13735]: #13736
-#13966 := [monotonicity #13905]: #13973
-#13975 := [symm #13966]: #13974
-#13619 := [hypothesis]: #9519
-#13976 := [mp #13619 #13975]: #11137
-#13625 := [hypothesis]: #11138
-#13977 := [unit-resolution #13625 #13976]: false
-#13982 := [lemma #13977]: #13978
-#13601 := [unit-resolution #13982 #13598]: #13335
-#13052 := (not #10330)
-#13244 := (or #13052 #10319 #9519)
-#13279 := [def-axiom]: #13244
-#13602 := [unit-resolution #13279 #13601 #13593]: #10319
-#13607 := [trans #13735 #13602]: #13609
-#13611 := [trans #13607 #10708]: #13610
-#13622 := [monotonicity #13611]: #13621
-#13629 := [symm #13622]: #13623
-#13634 := (= #2260 #188)
-#4740 := (uf_24 uf_22)
-#10619 := (= #4740 #188)
-#4741 := (= #188 #4740)
-#4729 := (uf_10 #4728)
-#4748 := (>= #4729 0::int)
-#4732 := (* -1::int #4729)
-#4736 := (+ uf_9 #4732)
-#4737 := (<= #4736 0::int)
-#4753 := (or #4737 #4748)
-#9615 := (= #4729 0::int)
-#9682 := (or #6331 #9615)
-#4959 := (= uf_22 uf_22)
-#9598 := (not #4959)
-#9599 := (or #9598 #9615)
-#9683 := (or #6331 #9599)
-#9749 := (iff #9683 #9682)
-#9751 := (iff #9682 #9682)
-#9752 := [rewrite]: #9751
-#9631 := (iff #9599 #9615)
-#9603 := (or false #9615)
-#9606 := (iff #9603 #9615)
-#9607 := [rewrite]: #9606
-#9604 := (iff #9599 #9603)
-#9602 := (iff #9598 false)
-#9600 := (iff #9598 #8605)
-#4968 := (iff #4959 true)
-#4969 := [rewrite]: #4968
-#9601 := [monotonicity #4969]: #9600
-#9597 := [trans #9601 #8609]: #9602
-#9605 := [monotonicity #9597]: #9604
-#9632 := [trans #9605 #9607]: #9631
-#9750 := [monotonicity #9632]: #9749
-#9747 := [trans #9750 #9752]: #9749
-#9748 := [quant-inst]: #9683
-#9724 := [mp #9748 #9747]: #9682
-#10718 := [unit-resolution #9724 #4243]: #9615
-#10719 := (not #9615)
-#10720 := (or #10719 #4748)
-#10721 := [th-lemma]: #10720
-#10722 := [unit-resolution #10721 #10718]: #4748
-#9223 := (not #4748)
-#9224 := (or #4753 #9223)
-#9225 := [def-axiom]: #9224
-#10723 := [unit-resolution #9225 #10722]: #4753
-#4756 := (not #4753)
-#4759 := (or #4741 #4756)
-#7499 := (or #4433 #4741 #4756)
-#4733 := (+ #1455 #4732)
-#4734 := (+ #188 #4733)
-#4735 := (<= #4734 0::int)
-#4738 := (or #4737 #4735)
-#4739 := (not #4738)
-#4742 := (or #4741 #4739)
-#7438 := (or #4433 #4742)
-#9202 := (iff #7438 #7499)
-#9040 := (or #4433 #4759)
-#9159 := (iff #9040 #7499)
-#9162 := [rewrite]: #9159
-#9149 := (iff #7438 #9040)
-#4760 := (iff #4742 #4759)
-#4757 := (iff #4739 #4756)
-#4754 := (iff #4738 #4753)
-#4751 := (iff #4735 #4748)
-#4745 := (<= #4732 0::int)
-#4749 := (iff #4745 #4748)
-#4750 := [rewrite]: #4749
-#4746 := (iff #4735 #4745)
-#4743 := (= #4734 #4732)
-#4744 := [rewrite]: #4743
-#4747 := [monotonicity #4744]: #4746
-#4752 := [trans #4747 #4750]: #4751
-#4755 := [monotonicity #4752]: #4754
-#4758 := [monotonicity #4755]: #4757
-#4761 := [monotonicity #4758]: #4760
-#8886 := [monotonicity #4761]: #9149
-#9203 := [trans #8886 #9162]: #9202
-#9039 := [quant-inst]: #7438
-#9204 := [mp #9039 #9203]: #7499
-#10728 := [unit-resolution #9204 #10727]: #4759
-#10729 := [unit-resolution #10728 #10723]: #4741
-#13620 := [symm #10729]: #10619
-#13608 := (= #2260 #4740)
-#9704 := (= ?x63!14 uf_22)
-#13603 := [trans #13602 #10708]: #9704
-#13612 := [monotonicity #13603]: #13608
-#13641 := [trans #13612 #13620]: #13634
-#13633 := [trans #13641 #13629]: #13222
-#13644 := [trans #13633 #13213]: #2866
-#13646 := [unit-resolution #13188 #13644]: false
-#13639 := [lemma #13646]: #2872
-#10564 := [unit-resolution #13639 #10294 #10559]: false
-#10587 := [lemma #10564]: #2872
-#4036 := (or #4567 #4561)
-#4037 := [def-axiom]: #4036
-#10784 := [unit-resolution #4037 #10726]: #4561
-#4062 := (or #4567 #4436)
-#4035 := [def-axiom]: #4062
-#10785 := [unit-resolution #4035 #10726]: #4436
-#9537 := (or #2858 #4441 #4433)
-#9339 := (uf_1 uf_22 ?x61!13)
-#9340 := (uf_10 #9339)
-#9365 := (+ #2240 #9340)
-#9366 := (+ #188 #9365)
-#9387 := (>= #9366 0::int)
-#9369 := (= #9366 0::int)
-#9344 := (* -1::int #9340)
-#9348 := (+ uf_9 #9344)
-#9349 := (<= #9348 0::int)
-#9416 := (not #9349)
-#9358 := (+ #2856 #9340)
-#9359 := (+ #188 #9358)
-#9360 := (>= #9359 0::int)
-#9395 := (or #9349 #9360)
-#9398 := (not #9395)
-#9392 := (= #2239 #2241)
-#9517 := (not #9392)
-#9516 := [hypothesis]: #2863
-#9520 := (or #9517 #2858)
-#9521 := [th-lemma]: #9520
-#9522 := [unit-resolution #9521 #9516]: #9517
-#9523 := [hypothesis]: #4428
-#9404 := (or #4433 #9392 #9398)
-#9345 := (+ #1455 #9344)
-#9346 := (+ #2241 #9345)
-#9347 := (<= #9346 0::int)
-#9388 := (or #9349 #9347)
-#9389 := (not #9388)
-#9390 := (= #2241 #2239)
-#9391 := (or #9390 #9389)
-#9405 := (or #4433 #9391)
-#9412 := (iff #9405 #9404)
-#9401 := (or #9392 #9398)
-#9407 := (or #4433 #9401)
-#9410 := (iff #9407 #9404)
-#9411 := [rewrite]: #9410
-#9408 := (iff #9405 #9407)
-#9402 := (iff #9391 #9401)
-#9399 := (iff #9389 #9398)
-#9396 := (iff #9388 #9395)
-#9363 := (iff #9347 #9360)
-#9351 := (+ #2241 #9344)
-#9352 := (+ #1455 #9351)
-#9355 := (<= #9352 0::int)
-#9361 := (iff #9355 #9360)
-#9362 := [rewrite]: #9361
-#9356 := (iff #9347 #9355)
-#9353 := (= #9346 #9352)
-#9354 := [rewrite]: #9353
-#9357 := [monotonicity #9354]: #9356
-#9364 := [trans #9357 #9362]: #9363
-#9397 := [monotonicity #9364]: #9396
-#9400 := [monotonicity #9397]: #9399
-#9393 := (iff #9390 #9392)
-#9394 := [rewrite]: #9393
-#9403 := [monotonicity #9394 #9400]: #9402
-#9409 := [monotonicity #9403]: #9408
-#9413 := [trans #9409 #9411]: #9412
-#9406 := [quant-inst]: #9405
-#9414 := [mp #9406 #9413]: #9404
-#9524 := [unit-resolution #9414 #9523 #9522]: #9398
-#9417 := (or #9395 #9416)
-#9418 := [def-axiom]: #9417
-#9525 := [unit-resolution #9418 #9524]: #9416
-#9419 := (not #9360)
-#9420 := (or #9395 #9419)
-#9421 := [def-axiom]: #9420
-#9526 := [unit-resolution #9421 #9524]: #9419
-#9372 := (or #9349 #9360 #9369)
-#7593 := [hypothesis]: #4436
-#9375 := (or #4441 #9349 #9360 #9369)
-#9341 := (+ #9340 #2240)
-#9342 := (+ #188 #9341)
-#9343 := (= #9342 0::int)
-#9350 := (or #9349 #9347 #9343)
-#9376 := (or #4441 #9350)
-#9383 := (iff #9376 #9375)
-#9378 := (or #4441 #9372)
-#9381 := (iff #9378 #9375)
-#9382 := [rewrite]: #9381
-#9379 := (iff #9376 #9378)
-#9373 := (iff #9350 #9372)
-#9370 := (iff #9343 #9369)
-#9367 := (= #9342 #9366)
-#9368 := [rewrite]: #9367
-#9371 := [monotonicity #9368]: #9370
-#9374 := [monotonicity #9364 #9371]: #9373
-#9380 := [monotonicity #9374]: #9379
-#9384 := [trans #9380 #9382]: #9383
-#9377 := [quant-inst]: #9376
-#9385 := [mp #9377 #9384]: #9375
-#9527 := [unit-resolution #9385 #7593]: #9372
-#9528 := [unit-resolution #9527 #9526 #9525]: #9369
-#9529 := (not #9369)
-#9530 := (or #9529 #9387)
-#9531 := [th-lemma]: #9530
-#9532 := [unit-resolution #9531 #9528]: #9387
-#9415 := (>= #2857 0::int)
-#9533 := (or #9415 #2858)
-#9534 := [th-lemma]: #9533
-#9535 := [unit-resolution #9534 #9516]: #9415
-#9536 := [th-lemma #9535 #9526 #9532]: false
-#9538 := [lemma #9536]: #9537
-#10786 := [unit-resolution #9538 #10785 #10727]: #2858
-#4066 := (or #4564 #2863 #4558)
-#4067 := [def-axiom]: #4066
-#10787 := [unit-resolution #4067 #10786 #10784]: #4558
-#4081 := (or #4555 #4549)
-#4082 := [def-axiom]: #4081
-#25696 := [unit-resolution #4082 #10787]: #4549
-#4077 := (or #4552 #2877 #4546)
-#4078 := [def-axiom]: #4077
-#25697 := [unit-resolution #4078 #25696]: #4549
-#25698 := [unit-resolution #25697 #10587]: #4546
-#4087 := (or #4543 #4453)
-#4089 := [def-axiom]: #4087
-#25699 := [unit-resolution #4089 #25698]: #4453
-#17073 := (or #3494 #2335 #4458)
-#4079 := (or #4555 #4444)
-#4080 := [def-axiom]: #4079
-#10788 := [unit-resolution #4080 #10787]: #4444
-#4071 := (or #4567 #4418)
-#4057 := [def-axiom]: #4071
-#17666 := [unit-resolution #4057 #10726]: #4418
-#17049 := (or #3494 #2335 #4441 #4423 #981 #4449 #4458)
-#7717 := (or #3494 #4319 #2335 #4441 #4423 #981 #4449 #4458)
-#6095 := (uf_4 uf_14 ?x72!18)
-#6194 := (* -1::int #6095)
-#6195 := (+ #2327 #6194)
-#7308 := (>= #6195 0::int)
-#6100 := (= #2327 #6095)
-#4138 := (or #3494 #2338)
-#4132 := [def-axiom]: #4138
-#7656 := [unit-resolution #4132 #7658]: #2338
-#7708 := [hypothesis]: #4453
-#6849 := (or #4458 #3479 #6100)
-#6096 := (= #6095 #2327)
-#6099 := (or #6096 #3479)
-#6850 := (or #4458 #6099)
-#6859 := (iff #6850 #6849)
-#6106 := (or #3479 #6100)
-#6854 := (or #4458 #6106)
-#6857 := (iff #6854 #6849)
-#6858 := [rewrite]: #6857
-#6855 := (iff #6850 #6854)
-#6109 := (iff #6099 #6106)
-#6103 := (or #6100 #3479)
-#6107 := (iff #6103 #6106)
-#6108 := [rewrite]: #6107
-#6104 := (iff #6099 #6103)
-#6101 := (iff #6096 #6100)
-#6102 := [rewrite]: #6101
-#6105 := [monotonicity #6102]: #6104
-#6110 := [trans #6105 #6108]: #6109
-#6856 := [monotonicity #6110]: #6855
-#6860 := [trans #6856 #6858]: #6859
-#6853 := [quant-inst]: #6850
-#6861 := [mp #6853 #6860]: #6849
-#7667 := [unit-resolution #6861 #7708 #7656]: #6100
-#7668 := (not #6100)
-#7666 := (or #7668 #7308)
-#7669 := [th-lemma]: #7666
-#7670 := [unit-resolution #7669 #7667]: #7308
-#4139 := (not #2923)
-#3968 := (or #3494 #4139)
+#10924 := [unit-resolution #3956 #10916]: #4318
+#10586 := (or #4323 #5548)
+#5540 := (+ #6265 #2183)
+#5541 := (>= #5540 0::int)
+#10587 := (or #4323 #5541)
+#10591 := (iff #10587 #10586)
+#10593 := (iff #10586 #10586)
+#10594 := [rewrite]: #10593
+#5574 := (iff #5541 #5548)
+#5542 := (+ #2183 #6265)
+#5539 := (>= #5542 0::int)
+#5549 := (iff #5539 #5548)
+#5573 := [rewrite]: #5549
+#5545 := (iff #5541 #5539)
+#5543 := (= #5540 #5542)
+#5544 := [rewrite]: #5543
+#5546 := [monotonicity #5544]: #5545
+#5575 := [trans #5546 #5573]: #5574
+#10592 := [monotonicity #5575]: #10591
+#10595 := [trans #10592 #10594]: #10591
+#10590 := [quant-inst]: #10587
+#10596 := [mp #10590 #10595]: #10586
+#11152 := [unit-resolution #10596 #10924]: #5548
+#10639 := (+ #182 #10931)
+#10640 := (>= #10639 0::int)
+#10940 := (= #182 #10904)
+#13544 := (= #10904 #182)
+#13545 := [monotonicity #13436]: #13544
+#13546 := [symm #13545]: #10940
+#13547 := (not #10940)
+#13548 := (or #13547 #10640)
+#13549 := [th-lemma]: #13548
+#13550 := [unit-resolution #13549 #13546]: #10640
+#13447 := [hypothesis]: #13145
+#13420 := (not #10640)
+#11843 := (not #5548)
+#13451 := (or #13553 #11843 #2772 #13449 #13420 #13450)
+#13452 := [th-lemma]: #13451
+#13453 := [unit-resolution #13452 #13447 #13550 #11152 #13446 #11064]: #13553
+#13675 := (or #10379 #13377)
+#13664 := [hypothesis]: #13553
+#10929 := (up_6 uf_15 #10571)
+#13669 := (not #10929)
+#13670 := (iff #181 #13669)
+#13667 := (iff #180 #10929)
+#13665 := (iff #10929 #180)
+#13666 := [monotonicity #13436]: #13665
+#13668 := [symm #13666]: #13667
+#13671 := [monotonicity #13668]: #13670
+#3944 := (or #4441 #181)
+#3939 := [def-axiom]: #3944
+#10457 := [unit-resolution #3939 #10456]: #181
+#13672 := [mp #10457 #13671]: #13669
+#13673 := [hypothesis]: #6294
+#3888 := (or #4453 #4197)
+#3912 := [def-axiom]: #3888
+#10562 := [unit-resolution #3912 #10123]: #4197
+#13578 := (or #4202 #10379 #10929 #13377)
+#13339 := (+ #10904 #5447)
+#13340 := (>= #13339 0::int)
+#13371 := (or #10929 #10379 #13340)
+#13580 := (or #4202 #13371)
+#13591 := (iff #13580 #13578)
+#13395 := (or #10379 #10929 #13377)
+#13586 := (or #4202 #13395)
+#13589 := (iff #13586 #13578)
+#13590 := [rewrite]: #13589
+#13587 := (iff #13580 #13586)
+#13408 := (iff #13371 #13395)
+#13400 := (or #10929 #10379 #13377)
+#13404 := (iff #13400 #13395)
+#13407 := [rewrite]: #13404
+#13405 := (iff #13371 #13400)
+#13398 := (iff #13340 #13377)
+#13372 := (+ #5447 #10904)
+#13375 := (>= #13372 0::int)
+#13378 := (iff #13375 #13377)
+#13379 := [rewrite]: #13378
+#13369 := (iff #13340 #13375)
+#13373 := (= #13339 #13372)
+#13374 := [rewrite]: #13373
+#13370 := [monotonicity #13374]: #13369
+#13399 := [trans #13370 #13379]: #13398
+#13406 := [monotonicity #13399]: #13405
+#13409 := [trans #13406 #13407]: #13408
+#13588 := [monotonicity #13409]: #13587
+#13458 := [trans #13588 #13590]: #13591
+#13581 := [quant-inst]: #13580
+#13472 := [mp #13581 #13458]: #13578
+#13674 := [unit-resolution #13472 #10562 #13673 #13672 #13664]: false
+#13676 := [lemma #13674]: #13675
+#13448 := [unit-resolution #13676 #13453]: #10379
+#13046 := (or #13045 #6294 #13018)
+#13047 := [def-axiom]: #13046
+#13425 := [unit-resolution #13047 #13448 #13432]: #13018
+#13469 := [trans #13425 #13436]: #6295
+#13470 := [monotonicity #13469]: #13423
+#13463 := (not #13423)
+#13471 := (or #13463 #13424)
+#13527 := [th-lemma]: #13471
+#13464 := [unit-resolution #13527 #13470]: #13424
+#4857 := (+ #182 #4656)
+#4858 := (>= #4857 0::int)
+#9945 := (or #4323 #4858)
+#9946 := [quant-inst]: #9945
+#10925 := [unit-resolution #9946 #10924]: #4858
+#13467 := [th-lemma #11064 #13446 #13447 #10925 #13464]: false
+#13461 := [lemma #13467]: #13468
+#10666 := [unit-resolution #13461 #10648 #11064 #13626]: #13450
+#11458 := (or #9424 #13145)
+#13497 := [th-lemma]: #11458
+#13498 := [unit-resolution #13497 #10666]: #9424
+#6587 := (or #6578 #6584)
+#13124 := (or #4307 #6578 #6584)
+#6531 := (+ #1357 #6530)
+#6532 := (+ #6492 #6531)
+#6533 := (<= #6532 0::int)
+#6574 := (or #6535 #6533)
+#6575 := (not #6574)
+#6576 := (= #6492 #2184)
+#6577 := (or #6576 #6575)
+#13125 := (or #4307 #6577)
+#13142 := (iff #13125 #13124)
+#13138 := (or #4307 #6587)
+#13141 := (iff #13138 #13124)
+#13136 := [rewrite]: #13141
+#13139 := (iff #13125 #13138)
+#6588 := (iff #6577 #6587)
+#6585 := (iff #6575 #6584)
+#6582 := (iff #6574 #6581)
+#6549 := (iff #6533 #6546)
+#6537 := (+ #6492 #6530)
+#6538 := (+ #1357 #6537)
+#6541 := (<= #6538 0::int)
+#6547 := (iff #6541 #6546)
+#6548 := [rewrite]: #6547
+#6542 := (iff #6533 #6541)
+#6539 := (= #6532 #6538)
+#6540 := [rewrite]: #6539
+#6543 := [monotonicity #6540]: #6542
+#6550 := [trans #6543 #6548]: #6549
+#6583 := [monotonicity #6550]: #6582
+#6586 := [monotonicity #6583]: #6585
+#6579 := (iff #6576 #6578)
+#6580 := [rewrite]: #6579
+#6589 := [monotonicity #6580 #6586]: #6588
+#13140 := [monotonicity #6589]: #13139
+#13143 := [trans #13140 #13136]: #13142
+#13137 := [quant-inst]: #13125
+#13144 := [mp #13137 #13143]: #13124
+#13476 := [unit-resolution #13144 #10462]: #6587
+#13477 := [unit-resolution #13476 #13498]: #6584
+#13474 := (or #6581 #6555)
+#13523 := (not #6555)
+#13524 := [hypothesis]: #13523
+#13146 := (not #6535)
+#13528 := [hypothesis]: #6584
+#13166 := (or #6581 #13146)
+#13167 := [def-axiom]: #13166
+#13454 := [unit-resolution #13167 #13528]: #13146
+#13168 := (not #6546)
+#13169 := (or #6581 #13168)
+#13170 := [def-axiom]: #13169
+#13455 := [unit-resolution #13170 #13528]: #13168
+#6558 := (or #6535 #6546 #6555)
+#13101 := (or #4315 #6535 #6546 #6555)
+#6527 := (+ #6526 #2770)
+#6528 := (+ #182 #6527)
+#6529 := (= #6528 0::int)
+#6536 := (or #6535 #6533 #6529)
+#13102 := (or #4315 #6536)
+#13120 := (iff #13102 #13101)
+#13104 := (or #4315 #6558)
+#13118 := (iff #13104 #13101)
+#13119 := [rewrite]: #13118
+#13116 := (iff #13102 #13104)
+#6559 := (iff #6536 #6558)
+#6556 := (iff #6529 #6555)
+#6553 := (= #6528 #6552)
+#6554 := [rewrite]: #6553
+#6557 := [monotonicity #6554]: #6556
+#6560 := [monotonicity #6550 #6557]: #6559
+#13117 := [monotonicity #6560]: #13116
+#13115 := [trans #13117 #13119]: #13120
+#13103 := [quant-inst]: #13102
+#13121 := [mp #13103 #13115]: #13101
+#13456 := [unit-resolution #13121 #10914]: #6558
+#13457 := [unit-resolution #13456 #13455 #13454 #13524]: false
+#13475 := [lemma #13457]: #13474
+#13577 := [unit-resolution #13475 #13477]: #6555
+#13677 := (or #13523 #13122)
+#13678 := [th-lemma]: #13677
+#13679 := [unit-resolution #13678 #13577]: #13122
+#13013 := (uf_1 #10571 ?x68!16)
+#13014 := (uf_10 #13013)
+#13149 := (* -1::int #13014)
+#13526 := (+ #6526 #13149)
+#13530 := (>= #13526 0::int)
+#13525 := (= #6526 #13014)
+#13534 := (= #13014 #6526)
+#13532 := (= #13013 #6525)
+#13533 := [monotonicity #13436]: #13532
+#13535 := [monotonicity #13533]: #13534
+#13536 := [symm #13535]: #13525
+#13537 := (not #13525)
+#13538 := (or #13537 #13530)
+#13539 := [th-lemma]: #13538
+#13540 := [unit-resolution #13539 #13536]: #13530
+#13499 := (<= #13014 0::int)
+#13500 := (not #13499)
+#12922 := (not #12850)
+#12923 := (or #12856 #12922)
+#12924 := [def-axiom]: #12923
+#13680 := [unit-resolution #12924 #13661]: #12922
+#56 := (uf_10 #12)
+#385 := (<= #56 0::int)
+#386 := (not #385)
+#55 := (= #10 #11)
+#389 := (or #55 #386)
+#4118 := (forall (vars (?x22 T2) (?x23 T2)) (:pat #4070) #389)
+#392 := (forall (vars (?x22 T2) (?x23 T2)) #389)
+#4121 := (iff #392 #4118)
+#4119 := (iff #389 #389)
+#4120 := [refl]: #4119
+#4122 := [quant-intro #4120]: #4121
+#1745 := (~ #392 #392)
+#1744 := (~ #389 #389)
+#1782 := [refl]: #1744
+#1746 := [nnf-pos #1782]: #1745
+#61 := (< 0::int #56)
+#60 := (not #55)
+#62 := (implies #60 #61)
+#63 := (forall (vars (?x22 T2) (?x23 T2)) #62)
+#395 := (iff #63 #392)
+#379 := (or #55 #61)
+#382 := (forall (vars (?x22 T2) (?x23 T2)) #379)
+#393 := (iff #382 #392)
+#390 := (iff #379 #389)
+#387 := (iff #61 #386)
+#388 := [rewrite]: #387
+#391 := [monotonicity #388]: #390
+#394 := [quant-intro #391]: #393
+#383 := (iff #63 #382)
+#380 := (iff #62 #379)
+#381 := [rewrite]: #380
+#384 := [quant-intro #381]: #383
+#396 := [trans #384 #394]: #395
+#378 := [asserted]: #63
+#397 := [mp #378 #396]: #392
+#1783 := [mp~ #397 #1746]: #392
+#4123 := [mp #1783 #4122]: #4118
+#7140 := (not #4118)
+#13508 := (or #7140 #12850 #13500)
+#13501 := (= #10571 ?x68!16)
+#13502 := (or #13501 #13500)
+#13509 := (or #7140 #13502)
+#13516 := (iff #13509 #13508)
+#13505 := (or #12850 #13500)
+#13511 := (or #7140 #13505)
+#13514 := (iff #13511 #13508)
+#13515 := [rewrite]: #13514
+#13512 := (iff #13509 #13511)
+#13506 := (iff #13502 #13505)
+#13503 := (iff #13501 #12850)
+#13504 := [rewrite]: #13503
+#13507 := [monotonicity #13504]: #13506
+#13513 := [monotonicity #13507]: #13512
+#13517 := [trans #13513 #13515]: #13516
+#13510 := [quant-inst]: #13509
+#13518 := [mp #13510 #13517]: #13508
+#13681 := [unit-resolution #13518 #4123 #13680]: #13500
+#13552 := (not #13122)
+#13554 := (or #13552 #2772 #13553 #12850)
+#13531 := [hypothesis]: #13377
+#13541 := [hypothesis]: #12922
+#13542 := [unit-resolution #13518 #4123 #13541]: #13500
+#13543 := [hypothesis]: #13122
+#13551 := [th-lemma #13550 #11152 #11064 #13543 #13542 #13540 #13531]: false
+#13555 := [lemma #13551]: #13554
+#13682 := [unit-resolution #13555 #13679 #11064 #13680]: #13553
+#13683 := [unit-resolution #13676 #13682]: #10379
+#13684 := [unit-resolution #13047 #13683 #13626]: #13018
+#13685 := [trans #13684 #13436]: #6295
+#13686 := [monotonicity #13685]: #13423
+#13687 := [unit-resolution #13527 #13686]: #13424
+#13688 := [th-lemma #13687 #11064 #10925 #13681 #13540 #13679]: false
+#13690 := [lemma #13688]: #13689
+#13952 := [unit-resolution #13690 #6612 #6611]: false
+#13940 := [lemma #13952]: #3324
+#7565 := (uf_1 uf_22 ?x63!14)
+#8498 := (uf_2 #7565)
+#8617 := (up_6 uf_15 #8498)
+#8671 := (iff #8617 #180)
+#8652 := (iff #180 #8617)
+#8499 := (= uf_22 #8498)
+#8505 := (or #8504 #8499)
+#8506 := [quant-inst]: #8505
+#8783 := [unit-resolution #8506 #4082]: #8499
+#10566 := [monotonicity #8783]: #8652
+#10567 := [symm #10566]: #8671
+#7566 := (uf_10 #7565)
+#6801 := (* -1::int #2143)
+#7652 := (+ #6801 #7566)
+#7653 := (+ #182 #7652)
+#7726 := (>= #7653 0::int)
+#7921 := (not #7726)
+#7567 := (* -1::int #7566)
+#7569 := (+ uf_9 #7567)
+#7570 := (<= #7569 0::int)
+#7725 := (or #7570 #7726)
+#7720 := (not #7725)
+#4020 := (not #2747)
+#10460 := [hypothesis]: #2753
+#4021 := (or #2750 #4020)
+#4016 := [def-axiom]: #4021
+#10461 := [unit-resolution #4016 #10460]: #4020
+#7787 := (or #4307 #2747 #7720)
+#7561 := (+ #1357 #7567)
+#7568 := (+ #2143 #7561)
+#7563 := (<= #7568 0::int)
+#7571 := (or #7570 #7563)
+#7369 := (not #7571)
+#7462 := (or #2144 #7369)
+#7783 := (or #4307 #7462)
+#6906 := (iff #7783 #7787)
+#7785 := (or #2747 #7720)
+#7788 := (or #4307 #7785)
+#7813 := (iff #7788 #7787)
+#7809 := [rewrite]: #7813
+#7793 := (iff #7783 #7788)
+#7786 := (iff #7462 #7785)
+#7715 := (iff #7369 #7720)
+#7718 := (iff #7571 #7725)
+#7716 := (iff #7563 #7726)
+#7463 := (+ #2143 #7567)
+#7469 := (+ #1357 #7463)
+#7370 := (<= #7469 0::int)
+#7751 := (iff #7370 #7726)
+#7752 := [rewrite]: #7751
+#7458 := (iff #7563 #7370)
+#7470 := (= #7568 #7469)
+#7587 := [rewrite]: #7470
+#7459 := [monotonicity #7587]: #7458
+#7717 := [trans #7459 #7752]: #7716
+#7719 := [monotonicity #7717]: #7718
+#7721 := [monotonicity #7719]: #7715
+#7784 := [monotonicity #2749 #7721]: #7786
+#7812 := [monotonicity #7784]: #7793
+#7392 := [trans #7812 #7809]: #6906
+#7789 := [quant-inst]: #7783
+#7572 := [mp #7789 #7392]: #7787
+#10464 := [unit-resolution #7572 #10462 #10461]: #7720
+#7960 := (or #7725 #7921)
+#7961 := [def-axiom]: #7960
+#10466 := [unit-resolution #7961 #10464]: #7921
+#8277 := (= uf_22 ?x63!14)
+#8348 := (not #8277)
+#9109 := (or #8348 #7726)
+#7497 := (+ #182 #6801)
+#8974 := (>= #7497 0::int)
+#8973 := (= #182 #2143)
+#9039 := (= #2143 #182)
+#8218 := (= ?x63!14 uf_22)
+#9035 := [hypothesis]: #8277
+#9036 := [symm #9035]: #8218
+#9040 := [monotonicity #9036]: #9039
+#9072 := [symm #9040]: #8973
+#9073 := (not #8973)
+#9074 := (or #9073 #8974)
+#9070 := [th-lemma]: #9074
+#9066 := [unit-resolution #9070 #9072]: #8974
+#10210 := [hypothesis]: #7921
+#8497 := (>= #7566 0::int)
+#8487 := (= #7566 0::int)
+#8488 := (or #8348 #8487)
+#57 := (= #56 0::int)
+#369 := (or #60 #57)
+#4112 := (forall (vars (?x20 T2) (?x21 T2)) (:pat #4070) #369)
+#372 := (forall (vars (?x20 T2) (?x21 T2)) #369)
+#4115 := (iff #372 #4112)
+#4113 := (iff #369 #369)
+#4114 := [refl]: #4113
+#4116 := [quant-intro #4114]: #4115
+#1741 := (~ #372 #372)
+#1780 := (~ #369 #369)
+#1781 := [refl]: #1780
+#1742 := [nnf-pos #1781]: #1741
+#58 := (implies #55 #57)
+#59 := (forall (vars (?x20 T2) (?x21 T2)) #58)
+#375 := (iff #59 #372)
+#348 := (= 0::int #56)
+#359 := (or #60 #348)
+#364 := (forall (vars (?x20 T2) (?x21 T2)) #359)
+#373 := (iff #364 #372)
+#370 := (iff #359 #369)
+#367 := (iff #348 #57)
+#368 := [rewrite]: #367
+#371 := [monotonicity #368]: #370
+#374 := [quant-intro #371]: #373
+#365 := (iff #59 #364)
+#362 := (iff #58 #359)
+#356 := (implies #55 #348)
+#360 := (iff #356 #359)
+#361 := [rewrite]: #360
+#357 := (iff #58 #356)
+#354 := (iff #57 #348)
+#355 := [rewrite]: #354
+#358 := [monotonicity #355]: #357
+#363 := [trans #358 #361]: #362
+#366 := [quant-intro #363]: #365
+#376 := [trans #366 #374]: #375
+#346 := [asserted]: #59
+#377 := [mp #346 #376]: #372
+#1743 := [mp~ #377 #1742]: #372
+#4117 := [mp #1743 #4116]: #4112
+#7157 := (not #4112)
+#8491 := (or #7157 #8348 #8487)
+#8492 := (or #7157 #8488)
+#8494 := (iff #8492 #8491)
+#8495 := [rewrite]: #8494
+#8493 := [quant-inst]: #8492
+#8496 := [mp #8493 #8495]: #8491
+#9075 := [unit-resolution #8496 #4117]: #8488
+#9076 := [unit-resolution #9075 #9035]: #8487
+#9104 := (not #8487)
+#9105 := (or #9104 #8497)
+#9071 := [th-lemma]: #9105
+#9106 := [unit-resolution #9071 #9076]: #8497
+#9103 := [th-lemma #9106 #10210 #9066]: false
+#9110 := [lemma #9103]: #9109
+#10467 := [unit-resolution #9110 #10466]: #8348
+#7253 := (up_6 uf_15 ?x63!14)
+#8282 := (or #7253 #8277)
+#8262 := (up_6 #188 ?x63!14)
+#8295 := (iff #8262 #8282)
+#8298 := (or #6627 #8295)
+#8219 := (ite #8218 #3770 #7253)
+#8276 := (iff #8262 #8219)
+#8293 := (or #6627 #8276)
+#8300 := (iff #8293 #8298)
+#8302 := (iff #8298 #8298)
+#8303 := [rewrite]: #8302
+#8296 := (iff #8276 #8295)
+#8285 := (iff #8219 #8282)
+#8280 := (ite #8277 true #7253)
+#8283 := (iff #8280 #8282)
+#8284 := [rewrite]: #8283
+#8275 := (iff #8219 #8280)
+#8278 := (iff #8218 #8277)
+#8279 := [rewrite]: #8278
+#8281 := [monotonicity #8279 #3762]: #8275
+#8294 := [trans #8281 #8284]: #8285
+#8297 := [monotonicity #8294]: #8296
+#8301 := [monotonicity #8297]: #8300
+#8335 := [trans #8301 #8303]: #8300
+#8299 := [quant-inst]: #8293
+#8336 := [mp #8299 #8335]: #8298
+#8642 := [unit-resolution #8336 #4096]: #8295
+#8763 := (iff #2145 #8262)
+#8755 := (iff #8262 #2145)
+#10471 := [monotonicity #10470]: #8755
+#10474 := [symm #10471]: #8763
+#4014 := (or #2750 #2145)
+#4015 := [def-axiom]: #4014
+#10468 := [unit-resolution #4015 #10460]: #2145
+#10560 := [mp #10468 #10474]: #8262
+#8379 := (not #8262)
+#8376 := (not #8295)
+#8380 := (or #8376 #8379 #8282)
+#8375 := [def-axiom]: #8380
+#10561 := [unit-resolution #8375 #10560 #8642]: #8282
+#8351 := (not #8282)
+#10563 := (or #8277 #7726 #8617 #8351)
+#10231 := (or #8277 #7726 #4202 #8617 #8351)
+#8489 := (uf_3 #7565)
+#10159 := (uf_4 uf_14 #8489)
+#10160 := (* -1::int #10159)
+#8614 := (uf_4 uf_14 #8498)
+#10161 := (+ #8614 #10160)
+#10162 := (>= #10161 0::int)
+#10163 := (up_6 uf_15 #8489)
+#10201 := (iff #7253 #10163)
+#10199 := (iff #10163 #7253)
+#10197 := (= #8489 ?x63!14)
+#8490 := (= ?x63!14 #8489)
+#8500 := (or #7845 #8490)
+#8501 := [quant-inst]: #8500
+#10196 := [unit-resolution #8501 #4076]: #8490
+#10198 := [symm #10196]: #10197
+#10200 := [monotonicity #10198]: #10199
+#10202 := [symm #10200]: #10201
+#10193 := [hypothesis]: #8282
+#10194 := [hypothesis]: #8348
+#8352 := (or #8351 #7253 #8277)
+#8353 := [def-axiom]: #8352
+#10195 := [unit-resolution #8353 #10194 #10193]: #7253
+#10203 := [mp #10195 #10202]: #10163
+#10164 := (not #10163)
+#10207 := (or #10162 #10164)
+#10204 := (not #8617)
+#10205 := [hypothesis]: #10204
+#10206 := [hypothesis]: #4197
+#10169 := (or #4202 #8617 #10162 #10164)
+#10165 := (or #8617 #10164 #10162)
+#10170 := (or #4202 #10165)
+#10177 := (iff #10170 #10169)
+#10166 := (or #8617 #10162 #10164)
+#10172 := (or #4202 #10166)
+#10175 := (iff #10172 #10169)
+#10176 := [rewrite]: #10175
+#10173 := (iff #10170 #10172)
+#10167 := (iff #10165 #10166)
+#10168 := [rewrite]: #10167
+#10174 := [monotonicity #10168]: #10173
+#10178 := [trans #10174 #10176]: #10177
+#10171 := [quant-inst]: #10170
+#10179 := [mp #10171 #10178]: #10169
+#10208 := [unit-resolution #10179 #10206 #10205]: #10207
+#10209 := [unit-resolution #10208 #10203]: #10162
+#8246 := (<= #7566 0::int)
+#8247 := (not #8246)
+#8249 := (or #8247 #8277)
+#8252 := (or #7140 #8247 #8277)
+#8248 := (or #8277 #8247)
+#8253 := (or #7140 #8248)
+#8311 := (iff #8253 #8252)
+#8304 := (or #7140 #8249)
+#8307 := (iff #8304 #8252)
+#8308 := [rewrite]: #8307
+#8305 := (iff #8253 #8304)
+#8250 := (iff #8248 #8249)
+#8251 := [rewrite]: #8250
+#8306 := [monotonicity #8251]: #8305
+#8436 := [trans #8306 #8308]: #8311
+#8255 := [quant-inst]: #8253
+#8486 := [mp #8255 #8436]: #8252
+#10211 := [unit-resolution #8486 #4123]: #8249
+#10212 := [unit-resolution #10211 #10194]: #8247
+#10213 := (or #8497 #8246)
+#10214 := [th-lemma]: #10213
+#10215 := [unit-resolution #10214 #10212]: #8497
+#10184 := (+ #2143 #10160)
+#10191 := (<= #10184 0::int)
+#10183 := (= #2143 #10159)
+#10216 := (= #10159 #2143)
+#10217 := [monotonicity #10198]: #10216
+#10218 := [symm #10217]: #10183
+#10219 := (not #10183)
+#10220 := (or #10219 #10191)
+#10221 := [th-lemma]: #10220
+#10222 := [unit-resolution #10221 #10218]: #10191
+#8625 := (* -1::int #8614)
+#8892 := (+ #182 #8625)
+#8905 := (>= #8892 0::int)
+#8891 := (= #182 #8614)
+#10223 := (= #8614 #182)
+#8787 := (= #8498 uf_22)
+#8788 := [symm #8783]: #8787
+#10224 := [monotonicity #8788]: #10223
+#10225 := [symm #10224]: #8891
+#10226 := (not #8891)
+#10227 := (or #10226 #8905)
+#10228 := [th-lemma]: #10227
+#10229 := [unit-resolution #10228 #10225]: #8905
+#10230 := [th-lemma #10229 #10222 #10215 #10210 #10209]: false
+#10232 := [lemma #10230]: #10231
+#10564 := [unit-resolution #10232 #10562]: #10563
+#10565 := [unit-resolution #10564 #10561 #10467 #10466]: #8617
+#10568 := [mp #10565 #10567]: #180
+#10569 := [unit-resolution #10457 #10568]: false
+#10570 := [lemma #10569]: #2750
+#3957 := (or #4429 #4423)
+#3958 := [def-axiom]: #3957
+#10917 := [unit-resolution #3958 #10916]: #4423
+#3953 := (or #4426 #2753 #4420)
+#3954 := [def-axiom]: #3953
+#10918 := [unit-resolution #3954 #10917]: #4423
+#10919 := [unit-resolution #10918 #10570]: #4420
+#11065 := (or #4417 #4396)
+#3926 := (or #4453 #4180)
+#3906 := [def-axiom]: #3926
+#9067 := [unit-resolution #3906 #10123]: #4180
+#7840 := (or #4417 #888 #4315 #4307 #4185 #4396 #1636)
+#4734 := (>= #182 0::int)
+#7810 := [hypothesis]: #4180
+#6390 := (or #4185 #4734)
+#6391 := [quant-inst]: #6390
+#7811 := [unit-resolution #6391 #7810]: #4734
+#7291 := (uf_1 uf_22 ?x65!15)
+#7292 := (uf_10 #7291)
+#4945 := (* -1::int #2166)
+#7344 := (+ #4945 #7292)
+#7345 := (+ #182 #7344)
+#7389 := (<= #7345 0::int)
+#7362 := (= #7345 0::int)
+#6919 := (uf_4 uf_14 ?x65!15)
+#7124 := (* -1::int #6919)
+#7338 := (+ #7124 #7292)
+#7339 := (+ #182 #7338)
+#7340 := (>= #7339 0::int)
+#7434 := (not #7340)
+#7295 := (* -1::int #7292)
+#7299 := (+ uf_9 #7295)
+#7350 := (<= #7299 0::int)
+#7440 := (or #7340 #7350)
+#7445 := (not #7440)
+#6927 := (= #2166 #6919)
+#8448 := (not #6927)
+#7125 := (+ #2166 #7124)
+#7959 := (>= #7125 0::int)
+#7967 := (not #7959)
+#7578 := (>= #6919 0::int)
+#7581 := (or #4185 #7578)
+#7576 := [quant-inst]: #7581
+#7815 := [unit-resolution #7576 #7810]: #7578
+#7816 := [hypothesis]: #4393
+#7817 := [hypothesis]: #4420
+#3962 := (or #4417 #4411)
+#3966 := [def-axiom]: #3962
+#7818 := [unit-resolution #3966 #7817]: #4411
+#4798 := (= #105 #209)
+#7837 := (iff #4798 #210)
+#7836 := [commutativity]: #1392
+#7829 := (iff #4798 #713)
+#7814 := [hypothesis]: #106
+#7835 := [monotonicity #7814]: #7829
+#7838 := [trans #7835 #7836]: #7837
+#4810 := (<= #105 0::int)
+#7819 := (or #1636 #4810)
+#7830 := [th-lemma]: #7819
+#7831 := [unit-resolution #7830 #7814]: #4810
+#7201 := [hypothesis]: #189
+#3964 := (or #4417 #4327)
+#3965 := [def-axiom]: #3964
+#7832 := [unit-resolution #3965 #7817]: #4327
+#7250 := (not #4734)
+#7249 := (not #4810)
+#7251 := (or #4798 #7249 #7250 #888 #4332 #4307)
+#4756 := (uf_1 uf_22 uf_11)
+#4757 := (uf_10 #4756)
+#7072 := (<= #4757 0::int)
+#7073 := (not #7072)
+#4695 := (= uf_11 uf_22)
+#6917 := (not #4695)
+#4739 := (up_6 uf_15 uf_11)
+#7422 := (or #4695 #4739)
+#6926 := (not #7422)
+#7417 := (up_6 #188 uf_11)
+#7427 := (iff #7417 #7422)
+#3826 := (or #6627 #7427)
+#7416 := (ite #4695 #3770 #4739)
+#7418 := (iff #7417 #7416)
+#6907 := (or #6627 #7418)
+#6903 := (iff #6907 #3826)
+#6910 := (iff #3826 #3826)
+#6911 := [rewrite]: #6910
+#7428 := (iff #7418 #7427)
+#7425 := (iff #7416 #7422)
+#7419 := (ite #4695 true #4739)
+#7423 := (iff #7419 #7422)
+#7424 := [rewrite]: #7423
+#7420 := (iff #7416 #7419)
+#7421 := [monotonicity #3762]: #7420
+#7426 := [trans #7421 #7424]: #7425
+#7429 := [monotonicity #7426]: #7428
+#6909 := [monotonicity #7429]: #6903
+#6912 := [trans #6909 #6911]: #6903
+#6908 := [quant-inst]: #6907
+#6913 := [mp #6908 #6912]: #3826
+#7172 := [unit-resolution #6913 #4096]: #7427
+#6931 := (not #7417)
+#4884 := (up_6 uf_23 uf_11)
+#4885 := (not #4884)
+#7258 := (iff #4885 #6931)
+#7256 := (iff #4884 #7417)
+#7204 := (iff #7417 #4884)
+#7203 := [symm #7201]: #7202
+#7205 := [monotonicity #7203]: #7204
+#7257 := [symm #7205]: #7256
+#7259 := [monotonicity #7257]: #7258
+#7173 := (not #4798)
+#7198 := [hypothesis]: #7173
+#4887 := (or #4798 #4885)
+#7199 := [hypothesis]: #4327
+#6803 := (or #4332 #4798 #4885)
+#4886 := (or #4885 #4798)
+#6818 := (or #4332 #4886)
+#6809 := (iff #6818 #6803)
+#6817 := (or #4332 #4887)
+#6807 := (iff #6817 #6803)
+#6808 := [rewrite]: #6807
+#6820 := (iff #6818 #6817)
+#4888 := (iff #4886 #4887)
+#4889 := [rewrite]: #4888
+#6806 := [monotonicity #4889]: #6820
+#6810 := [trans #6806 #6808]: #6809
+#6819 := [quant-inst]: #6818
+#6805 := [mp #6819 #6810]: #6803
+#7200 := [unit-resolution #6805 #7199]: #4887
+#7195 := [unit-resolution #7200 #7198]: #4885
+#7260 := [mp #7195 #7259]: #6931
+#6929 := (not #7427)
+#6930 := (or #6929 #7417 #6926)
+#6925 := [def-axiom]: #6930
+#7261 := [unit-resolution #6925 #7260 #7172]: #6926
+#6918 := (or #7422 #6917)
+#6916 := [def-axiom]: #6918
+#7262 := [unit-resolution #6916 #7261]: #6917
+#7075 := (or #4695 #7073)
+#7078 := (or #7140 #4695 #7073)
+#4693 := (= uf_22 uf_11)
+#7074 := (or #4693 #7073)
+#7079 := (or #7140 #7074)
+#7067 := (iff #7079 #7078)
+#7063 := (or #7140 #7075)
+#7066 := (iff #7063 #7078)
+#7061 := [rewrite]: #7066
+#7064 := (iff #7079 #7063)
+#7076 := (iff #7074 #7075)
+#4696 := (iff #4693 #4695)
+#4697 := [rewrite]: #4696
+#7077 := [monotonicity #4697]: #7076
+#7065 := [monotonicity #7077]: #7064
+#7068 := [trans #7065 #7061]: #7067
+#7062 := [quant-inst]: #7079
+#7069 := [mp #7062 #7068]: #7078
+#7263 := [unit-resolution #7069 #4123]: #7075
+#7264 := [unit-resolution #7263 #7262]: #7073
+#4761 := (* -1::int #4757)
+#4762 := (+ #1357 #4761)
+#4763 := (+ #105 #4762)
+#4764 := (<= #4763 0::int)
+#6619 := (not #4764)
+#4765 := (+ uf_9 #4761)
+#4766 := (<= #4765 0::int)
+#4800 := (or #4764 #4766)
+#4803 := (not #4800)
+#4806 := (or #4798 #4803)
+#6415 := (or #4307 #4798 #4803)
+#4796 := (or #4766 #4764)
+#4797 := (not #4796)
+#4799 := (or #4798 #4797)
+#6444 := (or #4307 #4799)
+#6449 := (iff #6444 #6415)
+#6446 := (or #4307 #4806)
+#6443 := (iff #6446 #6415)
+#6448 := [rewrite]: #6443
+#6441 := (iff #6444 #6446)
+#4807 := (iff #4799 #4806)
+#4804 := (iff #4797 #4803)
+#4801 := (iff #4796 #4800)
+#4802 := [rewrite]: #4801
+#4805 := [monotonicity #4802]: #4804
+#4808 := [monotonicity #4805]: #4807
+#6447 := [monotonicity #4808]: #6441
+#6450 := [trans #6447 #6448]: #6449
+#6445 := [quant-inst]: #6444
+#6451 := [mp #6445 #6450]: #6415
+#7244 := [unit-resolution #6451 #6843]: #4806
+#7245 := [unit-resolution #7244 #7198]: #4803
+#6620 := (or #4800 #6619)
+#6621 := [def-axiom]: #6620
+#7246 := [unit-resolution #6621 #7245]: #6619
+#7247 := [hypothesis]: #4734
+#7248 := [hypothesis]: #4810
+#7243 := [th-lemma #7248 #7247 #7246 #7264]: false
+#7252 := [lemma #7243]: #7251
+#7833 := [unit-resolution #7252 #7832 #7811 #7201 #7831 #6843]: #4798
+#7834 := [mp #7833 #7838]: #210
+#3961 := (or #4414 #1394 #4408)
+#3963 := [def-axiom]: #3961
+#7839 := [unit-resolution #3963 #7834 #7818]: #4408
+#3968 := (or #4405 #4399)
 #3970 := [def-axiom]: #3968
-#7671 := [unit-resolution #3970 #7658]: #4139
-#7057 := (uf_4 uf_14 ?x71!19)
-#7092 := (* -1::int #7057)
-#7093 := (+ #2325 #7092)
-#7094 := (<= #7093 0::int)
-#7672 := [hypothesis]: #4444
-#7099 := (or #4449 #7094)
-#7084 := (+ #7057 #2326)
-#7085 := (>= #7084 0::int)
-#7100 := (or #4449 #7085)
-#7102 := (iff #7100 #7099)
-#7104 := (iff #7099 #7099)
-#7105 := [rewrite]: #7104
-#7097 := (iff #7085 #7094)
-#7086 := (+ #2326 #7057)
-#7089 := (>= #7086 0::int)
-#7095 := (iff #7089 #7094)
-#7096 := [rewrite]: #7095
-#7090 := (iff #7085 #7089)
-#7087 := (= #7084 #7086)
-#7088 := [rewrite]: #7087
-#7091 := [monotonicity #7088]: #7090
-#7098 := [trans #7091 #7096]: #7097
-#7103 := [monotonicity #7098]: #7102
-#7106 := [trans #7103 #7105]: #7102
-#7101 := [quant-inst]: #7100
-#7107 := [mp #7101 #7106]: #7099
-#7673 := [unit-resolution #7107 #7672]: #7094
-#7218 := (+ #6095 #7092)
-#7219 := (+ #2330 #7218)
-#7220 := (>= #7219 0::int)
-#6129 := (uf_6 uf_15 ?x72!18)
-#6130 := (= uf_8 #6129)
-decl uf_2 :: (-> T1 T2)
-#7303 := (uf_2 #2329)
-#7315 := (uf_6 uf_15 #7303)
-#7316 := (= uf_8 #7315)
-#7618 := (iff #7316 #6130)
-#7616 := (= #7315 #6129)
-#7707 := (= #6129 #7315)
-#7304 := (= ?x72!18 #7303)
-#16 := (uf_2 #12)
-#325 := (= #10 #16)
-#4203 := (forall (vars (?x4 T2) (?x5 T2)) (:pat #4196) #325)
-#329 := (forall (vars (?x4 T2) (?x5 T2)) #325)
-#4206 := (iff #329 #4203)
-#4204 := (iff #325 #325)
-#4205 := [refl]: #4204
-#4207 := [quant-intro #4205]: #4206
-#1844 := (~ #329 #329)
-#1878 := (~ #325 #325)
-#1879 := [refl]: #1878
-#1845 := [nnf-pos #1879]: #1844
-#17 := (= #16 #10)
-#18 := (forall (vars (?x4 T2) (?x5 T2)) #17)
-#330 := (iff #18 #329)
-#327 := (iff #17 #325)
-#328 := [rewrite]: #327
-#331 := [quant-intro #328]: #330
-#324 := [asserted]: #18
-#334 := [mp #324 #331]: #329
-#1880 := [mp~ #334 #1845]: #329
-#4208 := [mp #1880 #4207]: #4203
-#7310 := (not #4203)
-#7311 := (or #7310 #7304)
-#7312 := [quant-inst]: #7311
-#7862 := [unit-resolution #7312 #4208]: #7304
-#7751 := [monotonicity #7862]: #7707
-#7710 := [symm #7751]: #7616
-#7711 := [monotonicity #7710]: #7618
-#7575 := [hypothesis]: #4418
-#6147 := (= uf_22 ?x72!18)
-#6150 := (ite #6147 #3895 #6130)
-#4961 := (uf_7 uf_15 uf_22 #3894)
-#6141 := (uf_6 #4961 ?x72!18)
-#6144 := (= uf_8 #6141)
-#6153 := (iff #6144 #6150)
-#7188 := (or #4987 #6153)
-#6139 := (= ?x72!18 uf_22)
-#6140 := (ite #6139 #4958 #6130)
-#6142 := (= #6141 uf_8)
-#6143 := (iff #6142 #6140)
-#7189 := (or #4987 #6143)
-#7191 := (iff #7189 #7188)
-#7193 := (iff #7188 #7188)
-#7194 := [rewrite]: #7193
-#6154 := (iff #6143 #6153)
-#6151 := (iff #6140 #6150)
-#6148 := (iff #6139 #6147)
-#6149 := [rewrite]: #6148
-#6152 := [monotonicity #6149 #4971]: #6151
-#6145 := (iff #6142 #6144)
-#6146 := [rewrite]: #6145
-#6155 := [monotonicity #6146 #6152]: #6154
-#7192 := [monotonicity #6155]: #7191
-#7195 := [trans #7192 #7194]: #7191
-#7190 := [quant-inst]: #7189
-#7196 := [mp #7190 #7195]: #7188
-#7674 := [unit-resolution #7196 #4222]: #6153
-#7702 := (= #2337 #6141)
-#7684 := (= #6141 #2337)
-#7682 := (= #4961 uf_23)
-#7718 := [hypothesis]: #195
-#7681 := [symm #7718]: #7680
-#7676 := (= #4961 #194)
-#7679 := [monotonicity #7678]: #7676
-#7683 := [trans #7679 #7681]: #7682
-#7700 := [monotonicity #7683]: #7684
-#7703 := [symm #7700]: #7702
-#7704 := [trans #7656 #7703]: #6144
-#7211 := (not #6144)
-#7208 := (not #6153)
-#7212 := (or #7208 #7211 #6150)
-#7213 := [def-axiom]: #7212
-#7705 := [unit-resolution #7213 #7704 #7674]: #6150
-#7587 := [hypothesis]: #2336
-#7197 := (not #6150)
-#7876 := (not #7308)
-#7626 := (not #7094)
-#7627 := (or #7316 #7626 #2923 #7876 #4441 #2335 #7197 #4423)
-#7857 := [hypothesis]: #7308
-#7858 := [hypothesis]: #4139
-#7108 := (uf_1 uf_22 ?x71!19)
-#7109 := (uf_10 #7108)
-#7113 := (* -1::int #7109)
-#7842 := (+ #2330 #7113)
-#7844 := (>= #7842 0::int)
-#7841 := (= #2330 #7109)
-#7843 := (= #2329 #7108)
-#7559 := [hypothesis]: #6150
-#7205 := (not #6130)
-#7614 := (not #7316)
-#7615 := [hypothesis]: #7614
-#7625 := (or #7205 #7316)
-#7620 := (iff #6130 #7316)
-#7863 := (= #7303 ?x72!18)
-#7864 := [symm #7862]: #7863
-#7617 := [monotonicity #7864]: #7616
-#7619 := [monotonicity #7617]: #7618
-#7621 := [symm #7619]: #7620
-#7613 := [hypothesis]: #6130
-#7665 := [mp #7613 #7621]: #7316
-#7624 := [unit-resolution #7615 #7665]: false
-#7623 := [lemma #7624]: #7625
-#7565 := [unit-resolution #7623 #7615]: #7205
-#7201 := (or #7197 #6147 #6130)
-#7202 := [def-axiom]: #7201
-#7566 := [unit-resolution #7202 #7565 #7559]: #6147
-#7567 := [symm #7566]: #6139
-#7568 := [monotonicity #7567]: #7843
-#7569 := [monotonicity #7568]: #7841
-#7847 := (not #7841)
-#7848 := (or #7847 #7844)
-#7849 := [th-lemma]: #7848
-#7576 := [unit-resolution #7849 #7569]: #7844
-#7577 := [hypothesis]: #7094
-#7127 := (+ #7092 #7109)
-#7128 := (+ #188 #7127)
-#7129 := (>= #7128 0::int)
-#7134 := (+ #2326 #7109)
-#7135 := (+ #188 #7134)
-#7138 := (= #7135 0::int)
-#7584 := (not #7138)
-#7156 := (>= #7135 0::int)
-#7875 := (not #7156)
-#7309 := (uf_4 uf_14 #7303)
-#7324 := (* -1::int #7309)
-#7325 := (+ #188 #7324)
-#7326 := (<= #7325 0::int)
-#7331 := (or #7316 #7326)
-#7334 := (or #4423 #7316 #7326)
-#7313 := (+ #7309 #1455)
-#7314 := (>= #7313 0::int)
-#7317 := (or #7316 #7314)
-#7335 := (or #4423 #7317)
-#7342 := (iff #7335 #7334)
-#7337 := (or #4423 #7331)
-#7340 := (iff #7337 #7334)
-#7341 := [rewrite]: #7340
-#7338 := (iff #7335 #7337)
-#7332 := (iff #7317 #7331)
-#7329 := (iff #7314 #7326)
-#7318 := (+ #1455 #7309)
-#7321 := (>= #7318 0::int)
-#7327 := (iff #7321 #7326)
-#7328 := [rewrite]: #7327
-#7322 := (iff #7314 #7321)
-#7319 := (= #7313 #7318)
-#7320 := [rewrite]: #7319
-#7323 := [monotonicity #7320]: #7322
-#7330 := [trans #7323 #7328]: #7329
-#7333 := [monotonicity #7330]: #7332
-#7339 := [monotonicity #7333]: #7338
-#7343 := [trans #7339 #7341]: #7342
-#7336 := [quant-inst]: #7335
-#7344 := [mp #7336 #7343]: #7334
-#7578 := [unit-resolution #7344 #7575]: #7331
-#7579 := [unit-resolution #7578 #7615]: #7326
-#7874 := (not #7326)
-#7873 := (not #7844)
-#7877 := (or #7873 #7874 #7875 #2923 #7876)
-#7859 := [hypothesis]: #7156
-#7860 := [hypothesis]: #7844
-#7861 := [hypothesis]: #7326
-#7503 := (+ #6095 #7324)
-#7507 := (>= #7503 0::int)
-#7502 := (= #6095 #7309)
-#7865 := (= #7309 #6095)
-#7866 := [monotonicity #7864]: #7865
-#7867 := [symm #7866]: #7502
-#7868 := (not #7502)
-#7869 := (or #7868 #7507)
-#7870 := [th-lemma]: #7869
-#7871 := [unit-resolution #7870 #7867]: #7507
-#7872 := [th-lemma #7871 #7861 #7860 #7859 #7858 #7857]: false
-#7878 := [lemma #7872]: #7877
-#7580 := [unit-resolution #7878 #7576 #7579 #7858 #7857]: #7875
-#7585 := (or #7584 #7156)
-#7581 := [th-lemma]: #7585
-#7586 := [unit-resolution #7581 #7580]: #7584
-#7117 := (+ uf_9 #7113)
-#7118 := (<= #7117 0::int)
-#7180 := (not #7118)
-#7590 := (or #7180 #2335 #7873)
-#7591 := [th-lemma]: #7590
-#7592 := [unit-resolution #7591 #7576 #7587]: #7180
-#7141 := (or #7118 #7129 #7138)
-#7144 := (or #4441 #7118 #7129 #7138)
-#7110 := (+ #7109 #2326)
-#7111 := (+ #188 #7110)
-#7112 := (= #7111 0::int)
-#7114 := (+ #1455 #7113)
-#7115 := (+ #7057 #7114)
-#7116 := (<= #7115 0::int)
-#7119 := (or #7118 #7116 #7112)
-#7145 := (or #4441 #7119)
-#7152 := (iff #7145 #7144)
-#7147 := (or #4441 #7141)
-#7150 := (iff #7147 #7144)
-#7151 := [rewrite]: #7150
-#7148 := (iff #7145 #7147)
-#7142 := (iff #7119 #7141)
-#7139 := (iff #7112 #7138)
-#7136 := (= #7111 #7135)
-#7137 := [rewrite]: #7136
-#7140 := [monotonicity #7137]: #7139
-#7132 := (iff #7116 #7129)
-#7120 := (+ #7057 #7113)
-#7121 := (+ #1455 #7120)
-#7124 := (<= #7121 0::int)
-#7130 := (iff #7124 #7129)
-#7131 := [rewrite]: #7130
-#7125 := (iff #7116 #7124)
-#7122 := (= #7115 #7121)
-#7123 := [rewrite]: #7122
-#7126 := [monotonicity #7123]: #7125
-#7133 := [trans #7126 #7131]: #7132
-#7143 := [monotonicity #7133 #7140]: #7142
-#7149 := [monotonicity #7143]: #7148
-#7153 := [trans #7149 #7151]: #7152
-#7146 := [quant-inst]: #7145
-#7154 := [mp #7146 #7153]: #7144
-#7594 := [unit-resolution #7154 #7593]: #7141
-#7595 := [unit-resolution #7594 #7592 #7586]: #7129
-#7632 := [th-lemma #7871 #7579 #7595 #7577 #7576 #7858 #7857]: false
-#7628 := [lemma #7632]: #7627
-#7706 := [unit-resolution #7628 #7673 #7671 #7670 #7593 #7587 #7705 #7575]: #7316
-#7709 := [mp #7706 #7711]: #6130
-#7713 := (or #7205 #7220)
-#7712 := [hypothesis]: #4314
-#7225 := (or #4319 #2335 #7205 #7220)
-#7221 := (or #7205 #2335 #7220)
-#7226 := (or #4319 #7221)
-#7233 := (iff #7226 #7225)
-#7222 := (or #2335 #7205 #7220)
-#7228 := (or #4319 #7222)
-#7231 := (iff #7228 #7225)
-#7232 := [rewrite]: #7231
-#7229 := (iff #7226 #7228)
-#7223 := (iff #7221 #7222)
-#7224 := [rewrite]: #7223
-#7230 := [monotonicity #7224]: #7229
-#7234 := [trans #7230 #7232]: #7233
-#7227 := [quant-inst]: #7226
-#7235 := [mp #7227 #7234]: #7225
-#7714 := [unit-resolution #7235 #7712 #7587]: #7713
-#7715 := [unit-resolution #7714 #7709]: #7220
-#7716 := [th-lemma #7715 #7673 #7671 #7670]: false
-#7761 := [lemma #7716]: #7717
-#16979 := [unit-resolution #7761 #9187]: #17049
-#17090 := [unit-resolution #16979 #10785 #17666 #13581 #10788]: #17073
-#16348 := [unit-resolution #17090 #25699]: #17077
-#17046 := [unit-resolution #16348 #17052 #7658]: false
-#16349 := [lemma #17046]: #3494
-#5169 := (uf_6 uf_23 ?x75!20)
-#5170 := (= uf_8 #5169)
-#21788 := (uf_6 #10323 ?x75!20)
-#20832 := (= #21788 #5169)
-#20857 := (= #5169 #21788)
-#14425 := (= uf_23 #10323)
-#14423 := (= #194 #10323)
-#14424 := [symm #13577]: #14423
-#14426 := [trans #13581 #14424]: #14425
-#20702 := [monotonicity #14426]: #20857
-#20877 := [symm #20702]: #20832
-#21791 := (= uf_8 #21788)
-#6014 := (uf_6 uf_15 ?x75!20)
-#6015 := (= uf_8 #6014)
-#21786 := (= ?x75!20 #9695)
-#21794 := (ite #21786 #3895 #6015)
-#21797 := (iff #21791 #21794)
-#19678 := (or #4987 #21797)
-#21787 := (ite #21786 #4958 #6015)
-#21789 := (= #21788 uf_8)
-#21790 := (iff #21789 #21787)
-#19676 := (or #4987 #21790)
-#19311 := (iff #19676 #19678)
-#19682 := (iff #19678 #19678)
-#19685 := [rewrite]: #19682
-#21798 := (iff #21790 #21797)
-#21795 := (iff #21787 #21794)
-#21796 := [monotonicity #4971]: #21795
-#21792 := (iff #21789 #21791)
-#21793 := [rewrite]: #21792
-#21799 := [monotonicity #21793 #21796]: #21798
-#19681 := [monotonicity #21799]: #19311
-#19733 := [trans #19681 #19685]: #19311
-#19684 := [quant-inst]: #19676
-#19731 := [mp #19684 #19733]: #19678
-#20449 := [unit-resolution #19731 #4222]: #21797
-#15125 := (uf_1 #9695 ?x75!20)
-#15126 := (uf_10 #15125)
-#19741 := (<= #15126 0::int)
-#4781 := (* -1::int #4740)
-#5008 := (+ #188 #4781)
-#5009 := (>= #5008 0::int)
-#9232 := (or #4449 #5009)
-#7564 := [quant-inst]: #9232
-#9311 := [unit-resolution #7564 #10788]: #5009
-#11895 := (uf_24 #9695)
-#10002 := (* -1::int #11895)
-#14620 := (+ #2355 #10002)
-#15146 := (<= #14620 0::int)
-#14621 := (uf_6 uf_23 #9695)
-#14622 := (= uf_8 #14621)
-#21303 := (= #3894 #14621)
-#21293 := (= #14621 #3894)
-#21294 := [monotonicity #13581 #10708]: #21293
-#21304 := [symm #21294]: #21303
-#21305 := [trans #7677 #21304]: #14622
-#15158 := (* -1::int #15126)
-#15159 := (+ #10002 #15158)
-#15160 := (+ #2355 #15159)
-#15161 := (= #15160 0::int)
-#23339 := (<= #15160 0::int)
-#5042 := (<= #5008 0::int)
-#10190 := (not #4741)
-#10191 := (or #10190 #5042)
-#10192 := [th-lemma]: #10191
-#17097 := [unit-resolution #10192 #10729]: #5042
-#10025 := (+ #4740 #10002)
-#10040 := (<= #10025 0::int)
-#9964 := (= #4740 #11895)
-#17098 := (= #11895 #4740)
-#17107 := [monotonicity #10708]: #17098
-#17108 := [symm #17107]: #9964
-#17109 := (not #9964)
-#17110 := (or #17109 #10040)
-#17111 := [th-lemma]: #17110
-#17112 := [unit-resolution #17111 #17108]: #10040
-#5826 := (uf_1 uf_22 ?x75!20)
-#5827 := (uf_10 #5826)
-#23569 := (+ #5827 #15158)
-#23570 := (<= #23569 0::int)
-#23568 := (= #5827 #15126)
-#20561 := (= #5826 #15125)
-#25948 := (= #15125 #5826)
-#25949 := [monotonicity #10708]: #25948
-#20537 := [symm #25949]: #20561
-#20580 := [monotonicity #20537]: #23568
-#25953 := (not #23568)
-#25961 := (or #25953 #23570)
-#25962 := [th-lemma]: #25961
-#20545 := [unit-resolution #25962 #20580]: #23570
-#5852 := (+ #2356 #5827)
-#5853 := (+ #188 #5852)
-#23301 := (>= #5853 0::int)
-#20066 := [hypothesis]: #4498
-#4125 := (or #4495 #2368)
-#4127 := [def-axiom]: #4125
-#20064 := [unit-resolution #4127 #20066]: #2368
-#29068 := (or #23301 #2367)
-#4860 := (>= #188 0::int)
-#4051 := (or #4579 #4306)
-#4047 := [def-axiom]: #4051
-#10596 := [unit-resolution #4047 #5496]: #4306
-#9276 := (or #4311 #4860)
-#9277 := [quant-inst]: #9276
-#12530 := [unit-resolution #9277 #10596]: #4860
-#25950 := (= #15126 #5827)
-#25951 := [monotonicity #25949]: #25950
-#25952 := [symm #25951]: #23568
-#25963 := [unit-resolution #25962 #25952]: #23570
-#23340 := (>= #15160 0::int)
-#10021 := (>= #10025 0::int)
-#25933 := (or #17109 #10021)
-#25934 := [th-lemma]: #25933
-#25935 := [unit-resolution #25934 #17108]: #10021
-#23571 := (>= #23569 0::int)
-#25954 := (or #25953 #23571)
-#25955 := [th-lemma]: #25954
-#25956 := [unit-resolution #25955 #25952]: #23571
-#23300 := (<= #5853 0::int)
-#25968 := (not #23301)
-#25609 := [hypothesis]: #25968
-#29059 := (or #23300 #23301)
-#29062 := [th-lemma]: #29059
-#29061 := [unit-resolution #29062 #25609]: #23300
-#25957 := (not #23571)
-#25944 := (not #23300)
-#8759 := (not #5009)
-#25942 := (not #10021)
-#25958 := (or #23340 #25942 #8759 #25944 #25957)
-#25959 := [th-lemma]: #25958
-#29063 := [unit-resolution #25959 #29061 #25956 #25935 #9311]: #23340
-#24500 := [hypothesis]: #2368
-#5831 := (* -1::int #5827)
-#5835 := (+ uf_9 #5831)
-#5836 := (<= #5835 0::int)
-#25729 := (or #23301 #5836)
-#23313 := (not #5836)
-#25608 := [hypothesis]: #23313
-#5856 := (= #5853 0::int)
-#25937 := (not #5856)
-#25964 := (or #25937 #23301)
-#25965 := [th-lemma]: #25964
-#25722 := [unit-resolution #25965 #25609]: #25937
-#5775 := (uf_4 uf_14 ?x75!20)
-#5810 := (* -1::int #5775)
-#5845 := (+ #5810 #5827)
-#5846 := (+ #188 #5845)
-#5847 := (>= #5846 0::int)
-#23316 := (not #5847)
-#5811 := (+ #2355 #5810)
-#5812 := (<= #5811 0::int)
-#23280 := (or #4449 #5812)
-#5802 := (+ #5775 #2356)
-#5803 := (>= #5802 0::int)
-#23281 := (or #4449 #5803)
-#23283 := (iff #23281 #23280)
-#23285 := (iff #23280 #23280)
-#23286 := [rewrite]: #23285
-#5815 := (iff #5803 #5812)
-#5804 := (+ #2356 #5775)
-#5807 := (>= #5804 0::int)
-#5813 := (iff #5807 #5812)
-#5814 := [rewrite]: #5813
-#5808 := (iff #5803 #5807)
-#5805 := (= #5802 #5804)
-#5806 := [rewrite]: #5805
-#5809 := [monotonicity #5806]: #5808
-#5816 := [trans #5809 #5814]: #5815
-#23284 := [monotonicity #5816]: #23283
-#23287 := [trans #23284 #23286]: #23283
-#23282 := [quant-inst]: #23281
-#23288 := [mp #23282 #23287]: #23280
-#25723 := [unit-resolution #23288 #10788]: #5812
-#25724 := (not #5812)
-#25725 := (or #23301 #23316 #25724)
-#25726 := [th-lemma]: #25725
-#25721 := [unit-resolution #25726 #25609 #25723]: #23316
-#5859 := (or #5836 #5847 #5856)
-#23289 := (or #4441 #5836 #5847 #5856)
-#5828 := (+ #5827 #2356)
-#5829 := (+ #188 #5828)
-#5830 := (= #5829 0::int)
-#5832 := (+ #1455 #5831)
-#5833 := (+ #5775 #5832)
-#5834 := (<= #5833 0::int)
-#5837 := (or #5836 #5834 #5830)
-#23290 := (or #4441 #5837)
-#23297 := (iff #23290 #23289)
-#23292 := (or #4441 #5859)
-#23295 := (iff #23292 #23289)
-#23296 := [rewrite]: #23295
-#23293 := (iff #23290 #23292)
-#5860 := (iff #5837 #5859)
-#5857 := (iff #5830 #5856)
-#5854 := (= #5829 #5853)
-#5855 := [rewrite]: #5854
-#5858 := [monotonicity #5855]: #5857
-#5850 := (iff #5834 #5847)
-#5838 := (+ #5775 #5831)
-#5839 := (+ #1455 #5838)
-#5842 := (<= #5839 0::int)
-#5848 := (iff #5842 #5847)
-#5849 := [rewrite]: #5848
-#5843 := (iff #5834 #5842)
-#5840 := (= #5833 #5839)
-#5841 := [rewrite]: #5840
-#5844 := [monotonicity #5841]: #5843
-#5851 := [trans #5844 #5849]: #5850
-#5861 := [monotonicity #5851 #5858]: #5860
-#23294 := [monotonicity #5861]: #23293
-#23298 := [trans #23294 #23296]: #23297
-#23291 := [quant-inst]: #23290
-#23299 := [mp #23291 #23298]: #23289
-#25727 := [unit-resolution #23299 #10785]: #5859
-#25728 := [unit-resolution #25727 #25721 #25722 #25608]: false
-#25730 := [lemma #25728]: #25729
-#29064 := [unit-resolution #25730 #25609]: #5836
-#29069 := [th-lemma #29064 #24500 #29063 #17112 #17097 #25963 #12530]: false
-#29071 := [lemma #29069]: #29068
-#20448 := [unit-resolution #29071 #20064]: #23301
-#25969 := (not #23570)
-#8760 := (not #5042)
-#25967 := (not #10040)
-#25970 := (or #23339 #25967 #8760 #25968 #25969)
-#25971 := [th-lemma]: #25970
-#20530 := [unit-resolution #25971 #20448 #20545 #17112 #17097]: #23339
-#20756 := [unit-resolution #25955 #20580]: #23571
-#5878 := (or #5836 #5847)
-#5881 := (not #5878)
-#5780 := (= #2355 #5775)
-#20062 := (not #5780)
-#24414 := (>= #5811 0::int)
-#24509 := (not #24414)
-#4128 := (or #4495 #2937)
-#4126 := [def-axiom]: #4128
-#20016 := [unit-resolution #4126 #20066]: #2937
-#4012 := (or #4495 #4487)
-#4013 := [def-axiom]: #4012
-#20068 := [unit-resolution #4013 #20066]: #4487
-#23167 := (or #24509 #4492 #2934 #2367)
-#6043 := (?x47!7 ?x75!20)
-#6048 := (uf_1 #6043 ?x75!20)
-#24986 := (uf_2 #6048)
-#25837 := (uf_6 uf_15 #24986)
-#25838 := (= uf_8 #25837)
-#21703 := (= #9695 #24986)
-#22526 := (ite #21703 #3895 #25838)
-#23044 := (not #22526)
-#21277 := (uf_6 #10323 #24986)
-#21622 := (= uf_8 #21277)
-#22242 := (iff #21622 #22526)
-#22524 := (or #4987 #22242)
-#21246 := (= #24986 #9695)
-#21220 := (ite #21246 #4958 #25838)
-#21600 := (= #21277 uf_8)
-#21601 := (iff #21600 #21220)
-#23024 := (or #4987 #21601)
-#23028 := (iff #23024 #22524)
-#23042 := (iff #22524 #22524)
-#23043 := [rewrite]: #23042
-#22533 := (iff #21601 #22242)
-#22529 := (iff #21220 #22526)
-#22515 := (iff #21246 #21703)
-#22520 := [rewrite]: #22515
-#22530 := [monotonicity #22520 #4971]: #22529
-#21227 := (iff #21600 #21622)
-#21608 := [rewrite]: #21227
-#22592 := [monotonicity #21608 #22530]: #22533
-#23029 := [monotonicity #22592]: #23028
-#23041 := [trans #23029 #23043]: #23028
-#23025 := [quant-inst]: #23024
-#22593 := [mp #23025 #23041]: #22524
-#23122 := [unit-resolution #22593 #4222]: #22242
-#23057 := (not #21622)
-#24996 := (uf_6 uf_23 #24986)
-#24997 := (= uf_8 #24996)
-#24998 := (not #24997)
-#23123 := (iff #24998 #23057)
-#23153 := (iff #24997 #21622)
-#23146 := (iff #21622 #24997)
-#23151 := (= #21277 #24996)
-#23149 := [monotonicity #13583]: #23151
-#23152 := [monotonicity #23149]: #23146
-#23127 := [symm #23152]: #23153
-#23124 := [monotonicity #23127]: #23123
-#24506 := [hypothesis]: #24414
-#6049 := (uf_10 #6048)
-#6050 := (* -1::int #6049)
-#6044 := (uf_4 uf_14 #6043)
-#6045 := (* -1::int #6044)
-#6051 := (+ #6045 #6050)
-#6052 := (+ #5775 #6051)
-#18721 := (>= #6052 0::int)
-#6053 := (= #6052 0::int)
-#6055 := (uf_6 uf_15 #6043)
-#6056 := (= uf_8 #6055)
-#6057 := (not #6056)
-#6054 := (not #6053)
-#6046 := (+ #5775 #6045)
-#6047 := (<= #6046 0::int)
-#6063 := (or #6047 #6054 #6057)
-#6066 := (not #6063)
-#6060 := (+ uf_9 #5810)
-#6061 := (<= #6060 0::int)
-#24508 := (not #6061)
-#24510 := (or #24508 #24509 #2367)
-#24505 := [hypothesis]: #6061
-#24507 := [th-lemma #24506 #24505 #24500]: false
-#24511 := [lemma #24507]: #24510
-#23125 := [unit-resolution #24511 #24506 #24500]: #24508
-#23139 := (or #6061 #6066)
-#23138 := [hypothesis]: #2937
-#19063 := (or #4344 #2934 #6061 #6066)
-#6058 := (or #6057 #6054 #6047)
-#6059 := (not #6058)
-#6062 := (or #2369 #6061 #6059)
-#19066 := (or #4344 #6062)
-#18390 := (iff #19066 #19063)
-#6069 := (or #2934 #6061 #6066)
-#19050 := (or #4344 #6069)
-#19090 := (iff #19050 #19063)
-#19045 := [rewrite]: #19090
-#19051 := (iff #19066 #19050)
-#6070 := (iff #6062 #6069)
-#6067 := (iff #6059 #6066)
-#6064 := (iff #6058 #6063)
-#6065 := [rewrite]: #6064
-#6068 := [monotonicity #6065]: #6067
-#6071 := [monotonicity #2936 #6068]: #6070
-#19061 := [monotonicity #6071]: #19051
-#18720 := [trans #19061 #19045]: #18390
-#18371 := [quant-inst]: #19066
-#19065 := [mp #18371 #18720]: #19063
-#23137 := [unit-resolution #19065 #9243 #23138]: #23139
-#23140 := [unit-resolution #23137 #23125]: #6066
-#19081 := (or #6063 #6053)
-#12850 := [def-axiom]: #19081
-#23135 := [unit-resolution #12850 #23140]: #6053
-#23141 := (or #6054 #18721)
-#23143 := [th-lemma]: #23141
-#23144 := [unit-resolution #23143 #23135]: #18721
-#25978 := [hypothesis]: #4487
-#23633 := (<= #6052 0::int)
-#23142 := (or #6054 #23633)
-#23145 := [th-lemma]: #23142
-#23147 := [unit-resolution #23145 #23135]: #23633
-#19055 := (not #6047)
-#18317 := (or #6063 #19055)
-#19075 := [def-axiom]: #18317
-#23148 := [unit-resolution #19075 #23140]: #19055
-#30651 := (not #18721)
-#30650 := (not #23633)
-#30652 := (or #24998 #6047 #30650 #4492 #30651 #24509)
-#28637 := (uf_1 #24986 ?x75!20)
-#28638 := (uf_10 #28637)
-#28651 := (* -1::int #28638)
-#24990 := (uf_24 #24986)
-#24991 := (* -1::int #24990)
-#28652 := (+ #24991 #28651)
-#28653 := (+ #2355 #28652)
-#28682 := (>= #28653 0::int)
-#28654 := (= #28653 0::int)
-#19910 := (uf_3 #15125)
-#22479 := (uf_1 #24986 #19910)
-#22480 := (uf_10 #22479)
-#22498 := (* -1::int #22480)
-#22603 := (+ #22498 #24991)
-#21494 := (uf_24 #19910)
-#22604 := (+ #21494 #22603)
-#30636 := (= #22604 0::int)
-#30564 := [hypothesis]: #23633
-#29534 := [hypothesis]: #18721
-#29010 := (+ #6049 #28651)
-#21152 := (<= #29010 0::int)
-#21012 := (= #6049 #28638)
-#30043 := (= #6048 #28637)
-#24987 := (= #6043 #24986)
-#20827 := (or #7310 #24987)
-#20849 := [quant-inst]: #20827
-#30089 := [unit-resolution #20849 #4208]: #24987
-#30044 := [monotonicity #30089]: #30043
-#30097 := [monotonicity #30044]: #21012
-#30102 := (not #21012)
-#30581 := (or #30102 #21152)
-#30588 := [th-lemma]: #30581
-#30589 := [unit-resolution #30588 #30097]: #21152
-#29012 := (>= #29010 0::int)
-#30590 := (or #30102 #29012)
-#30591 := [th-lemma]: #30590
-#30592 := [unit-resolution #30591 #30097]: #29012
-#19879 := (+ #22480 #28651)
-#21287 := (<= #19879 0::int)
-#21209 := (= #22480 #28638)
-#30596 := (= #22479 #28637)
-#30594 := (= #19910 ?x75!20)
-#19950 := (= ?x75!20 #19910)
-#19896 := (or #8139 #19950)
-#19953 := [quant-inst]: #19896
-#30593 := [unit-resolution #19953 #4202]: #19950
-#30595 := [symm #30593]: #30594
-#30597 := [monotonicity #30595]: #30596
-#30598 := [monotonicity #30597]: #21209
-#30599 := (not #21209)
-#30600 := (or #30599 #21287)
-#30601 := [th-lemma]: #30600
-#30602 := [unit-resolution #30601 #30598]: #21287
-#20127 := (>= #19879 0::int)
-#30603 := (or #30599 #20127)
-#30604 := [th-lemma]: #30603
-#30605 := [unit-resolution #30604 #30598]: #20127
-#22047 := (* -1::int #21494)
-#20392 := (+ #2355 #22047)
-#20387 := (<= #20392 0::int)
-#19773 := (= #2355 #21494)
-#30606 := (= #21494 #2355)
-#30607 := [monotonicity #30595]: #30606
-#30608 := [symm #30607]: #19773
-#30609 := (not #19773)
-#30610 := (or #30609 #20387)
-#30611 := [th-lemma]: #30610
-#30612 := [unit-resolution #30611 #30608]: #20387
-#20393 := (>= #20392 0::int)
-#30613 := (or #30609 #20393)
-#30614 := [th-lemma]: #30613
-#30615 := [unit-resolution #30614 #30608]: #20393
-#25833 := (uf_4 uf_14 #24986)
-#25834 := (* -1::int #25833)
-#21068 := (+ #6044 #25834)
-#21067 := (<= #21068 0::int)
-#21078 := (= #6044 #25833)
-#30618 := (= #25833 #6044)
-#30616 := (= #24986 #6043)
-#30617 := [symm #30089]: #30616
-#30619 := [monotonicity #30617]: #30618
-#30620 := [symm #30619]: #21078
-#30621 := (not #21078)
-#30622 := (or #30621 #21067)
-#30623 := [th-lemma]: #30622
-#30624 := [unit-resolution #30623 #30620]: #21067
-#21183 := (>= #21068 0::int)
-#30625 := (or #30621 #21183)
-#30626 := [th-lemma]: #30625
-#30627 := [unit-resolution #30626 #30620]: #21183
-#28762 := (+ #24990 #25834)
-#28763 := (<= #28762 0::int)
-#22244 := (or #4449 #28763)
-#28754 := (+ #25833 #24991)
-#28755 := (>= #28754 0::int)
-#22245 := (or #4449 #28755)
-#22246 := (iff #22245 #22244)
-#22240 := (iff #22244 #22244)
-#22286 := [rewrite]: #22240
-#28766 := (iff #28755 #28763)
-#28756 := (+ #24991 #25833)
-#28759 := (>= #28756 0::int)
-#28764 := (iff #28759 #28763)
-#28765 := [rewrite]: #28764
-#28760 := (iff #28755 #28759)
-#28757 := (= #28754 #28756)
-#28758 := [rewrite]: #28757
-#28761 := [monotonicity #28758]: #28760
-#28767 := [trans #28761 #28765]: #28766
-#22285 := [monotonicity #28767]: #22246
-#22287 := [trans #22285 #22286]: #22246
-#22187 := [quant-inst]: #22245
-#22288 := [mp #22187 #22287]: #22244
-#30628 := [unit-resolution #22288 #10788]: #28763
-#30563 := (>= #28762 0::int)
-#28732 := (= #24990 #25833)
-#30629 := [hypothesis]: #24997
-#28738 := (or #24998 #28732)
-#22151 := (or #4458 #24998 #28732)
-#28728 := (= #25833 #24990)
-#28729 := (or #28728 #24998)
-#22180 := (or #4458 #28729)
-#22189 := (iff #22180 #22151)
-#22183 := (or #4458 #28738)
-#22186 := (iff #22183 #22151)
-#22188 := [rewrite]: #22186
-#22179 := (iff #22180 #22183)
-#28741 := (iff #28729 #28738)
-#28735 := (or #28732 #24998)
-#28739 := (iff #28735 #28738)
-#28740 := [rewrite]: #28739
-#28736 := (iff #28729 #28735)
-#28733 := (iff #28728 #28732)
-#28734 := [rewrite]: #28733
-#28737 := [monotonicity #28734]: #28736
-#28742 := [trans #28737 #28740]: #28741
-#22185 := [monotonicity #28742]: #22179
-#22184 := [trans #22185 #22188]: #22189
-#22154 := [quant-inst]: #22180
-#22243 := [mp #22154 #22184]: #22151
-#30630 := [unit-resolution #22243 #25699]: #28738
-#30631 := [unit-resolution #30630 #30629]: #28732
-#30632 := (not #28732)
-#30633 := (or #30632 #30563)
-#30634 := [th-lemma]: #30633
-#30635 := [unit-resolution #30634 #30631]: #30563
-#30637 := [th-lemma #30635 #30628 #30627 #30624 #30615 #30612 #30605 #30602 #30592 #30589 #29534 #30564 #24506 #25723]: #30636
-#30640 := (= #28653 #22604)
-#30638 := (= #22604 #28653)
-#30639 := [th-lemma #30615 #30612 #30605 #30602]: #30638
-#30641 := [symm #30639]: #30640
-#30642 := [trans #30641 #30637]: #28654
-#28659 := (not #28654)
-#30643 := (or #28659 #28682)
-#30644 := [th-lemma]: #30643
-#30645 := [unit-resolution #30644 #30642]: #28682
-#16155 := (+ #2355 #24991)
-#15436 := (<= #16155 0::int)
-#28665 := (or #15436 #24998 #28659)
-#21333 := (or #4492 #15436 #24998 #28659)
-#28639 := (+ #2356 #28638)
-#28640 := (+ #24990 #28639)
-#28641 := (= #28640 0::int)
-#28642 := (not #28641)
-#15907 := (+ #24990 #2356)
-#16051 := (>= #15907 0::int)
-#28643 := (or #24998 #16051 #28642)
-#21024 := (or #4492 #28643)
-#20975 := (iff #21024 #21333)
-#21318 := (or #4492 #28665)
-#21314 := (iff #21318 #21333)
-#21310 := [rewrite]: #21314
-#21153 := (iff #21024 #21318)
-#28668 := (iff #28643 #28665)
-#28662 := (or #24998 #15436 #28659)
-#28666 := (iff #28662 #28665)
-#28667 := [rewrite]: #28666
-#28663 := (iff #28643 #28662)
-#28660 := (iff #28642 #28659)
-#28657 := (iff #28641 #28654)
-#28644 := (+ #24990 #28638)
-#28645 := (+ #2356 #28644)
-#28648 := (= #28645 0::int)
-#28655 := (iff #28648 #28654)
-#28656 := [rewrite]: #28655
-#28649 := (iff #28641 #28648)
-#28646 := (= #28640 #28645)
-#28647 := [rewrite]: #28646
-#28650 := [monotonicity #28647]: #28649
-#28658 := [trans #28650 #28656]: #28657
-#28661 := [monotonicity #28658]: #28660
-#15965 := (iff #16051 #15436)
-#13744 := (+ #2356 #24990)
-#15070 := (>= #13744 0::int)
-#14692 := (iff #15070 #15436)
-#16264 := [rewrite]: #14692
-#16123 := (iff #16051 #15070)
-#16156 := (= #15907 #13744)
-#15494 := [rewrite]: #16156
-#15349 := [monotonicity #15494]: #16123
-#16187 := [trans #15349 #16264]: #15965
-#28664 := [monotonicity #16187 #28661]: #28663
-#28669 := [trans #28664 #28667]: #28668
-#21320 := [monotonicity #28669]: #21153
-#21319 := [trans #21320 #21310]: #20975
-#21323 := [quant-inst]: #21024
-#20612 := [mp #21323 #21319]: #21333
-#30646 := [unit-resolution #20612 #25978]: #28665
-#30647 := [unit-resolution #30646 #30642 #30629]: #15436
-#30648 := [hypothesis]: #19055
-#30649 := [th-lemma #30648 #30589 #30564 #30647 #30645]: false
-#30653 := [lemma #30649]: #30652
-#23150 := [unit-resolution #30653 #23148 #23147 #25978 #23144 #24506]: #24998
-#23131 := [mp #23150 #23124]: #23057
-#23056 := (not #22242)
-#23047 := (or #23056 #21622 #23044)
-#23051 := [def-axiom]: #23047
-#23132 := [unit-resolution #23051 #23131 #23122]: #23044
-#23045 := (not #21703)
-#23130 := (or #22526 #23045)
-#3924 := (not #3895)
-#23054 := (or #22526 #23045 #3924)
-#23050 := [def-axiom]: #23054
-#23157 := [unit-resolution #23050 #7677]: #23130
-#23158 := [unit-resolution #23157 #23132]: #23045
-#23164 := (or #22526 #21703)
-#23162 := (= #6055 #25837)
-#23129 := (= #25837 #6055)
-#23156 := [monotonicity #30617]: #23129
-#23128 := [symm #23156]: #23162
-#19077 := (or #6063 #6056)
-#19078 := [def-axiom]: #19077
-#23133 := [unit-resolution #19078 #23140]: #6056
-#23163 := [trans #23133 #23128]: #25838
-#25839 := (not #25838)
-#23055 := (or #22526 #21703 #25839)
-#23053 := [def-axiom]: #23055
-#23165 := [unit-resolution #23053 #23163]: #23164
-#23169 := [unit-resolution #23165 #23158 #23132]: false
-#23168 := [lemma #23169]: #23167
-#19986 := [unit-resolution #23168 #20068 #20016 #20064]: #24509
-#20023 := (or #20062 #24414)
-#20453 := [th-lemma]: #20023
-#20441 := [unit-resolution #20453 #19986]: #20062
-#5884 := (or #5780 #5881)
-#18349 := (or #4433 #5780 #5881)
-#5875 := (or #5836 #5834)
-#5876 := (not #5875)
-#5776 := (= #5775 #2355)
-#5877 := (or #5776 #5876)
-#18388 := (or #4433 #5877)
-#18375 := (iff #18388 #18349)
-#18374 := (or #4433 #5884)
-#18380 := (iff #18374 #18349)
-#18414 := [rewrite]: #18380
-#18370 := (iff #18388 #18374)
-#5885 := (iff #5877 #5884)
-#5882 := (iff #5876 #5881)
-#5879 := (iff #5875 #5878)
-#5880 := [monotonicity #5851]: #5879
-#5883 := [monotonicity #5880]: #5882
-#5781 := (iff #5776 #5780)
-#5782 := [rewrite]: #5781
-#5886 := [monotonicity #5782 #5883]: #5885
-#18411 := [monotonicity #5886]: #18370
-#18381 := [trans #18411 #18414]: #18375
-#18415 := [quant-inst]: #18388
-#18379 := [mp #18415 #18381]: #18349
-#20748 := [unit-resolution #18379 #10727]: #5884
-#20750 := [unit-resolution #20748 #20441]: #5881
-#18373 := (or #5878 #23313)
-#18372 := [def-axiom]: #18373
-#20751 := [unit-resolution #18372 #20750]: #23313
-#18384 := (or #5878 #23316)
-#18417 := [def-axiom]: #18384
-#20753 := [unit-resolution #18417 #20750]: #23316
-#20775 := [unit-resolution #25727 #20753 #20751]: #5856
-#25938 := (or #25937 #23300)
-#25939 := [th-lemma]: #25938
-#20664 := [unit-resolution #25939 #20775]: #23300
-#20698 := [unit-resolution #25959 #20664 #20756 #25935 #9311]: #23340
-#25974 := (not #23340)
-#25973 := (not #23339)
-#25975 := (or #15161 #25973 #25974)
-#25976 := [th-lemma]: #25975
-#20700 := [unit-resolution #25976 #20698 #20530]: #15161
-#15166 := (not #15161)
-#14623 := (not #14622)
-#15169 := (or #14623 #15146 #15166)
-#23321 := (or #4492 #14623 #15146 #15166)
-#15133 := (+ #2356 #15126)
-#15134 := (+ #11895 #15133)
-#15135 := (= #15134 0::int)
-#15136 := (not #15135)
-#15137 := (+ #11895 #2356)
-#15138 := (>= #15137 0::int)
-#15139 := (or #14623 #15138 #15136)
-#23322 := (or #4492 #15139)
-#23336 := (iff #23322 #23321)
-#23331 := (or #4492 #15169)
-#23334 := (iff #23331 #23321)
-#23335 := [rewrite]: #23334
-#23332 := (iff #23322 #23331)
-#15170 := (iff #15139 #15169)
-#15167 := (iff #15136 #15166)
-#15164 := (iff #15135 #15161)
-#15151 := (+ #11895 #15126)
-#15152 := (+ #2356 #15151)
-#15155 := (= #15152 0::int)
-#15162 := (iff #15155 #15161)
-#15163 := [rewrite]: #15162
-#15156 := (iff #15135 #15155)
-#15153 := (= #15134 #15152)
-#15154 := [rewrite]: #15153
-#15157 := [monotonicity #15154]: #15156
-#15165 := [trans #15157 #15163]: #15164
-#15168 := [monotonicity #15165]: #15167
-#15149 := (iff #15138 #15146)
-#15140 := (+ #2356 #11895)
-#15143 := (>= #15140 0::int)
-#15147 := (iff #15143 #15146)
-#15148 := [rewrite]: #15147
-#15144 := (iff #15138 #15143)
-#15141 := (= #15137 #15140)
-#15142 := [rewrite]: #15141
-#15145 := [monotonicity #15142]: #15144
-#15150 := [trans #15145 #15148]: #15149
-#15171 := [monotonicity #15150 #15168]: #15170
-#23333 := [monotonicity #15171]: #23332
-#23337 := [trans #23333 #23335]: #23336
-#23330 := [quant-inst]: #23322
-#23338 := [mp #23330 #23337]: #23321
-#20754 := [unit-resolution #23338 #20068]: #15169
-#20663 := [unit-resolution #20754 #20700 #21305]: #15146
-#25941 := (not #15146)
-#20620 := (or #19741 #25957 #25944 #25941 #25942 #8759)
-#20724 := [th-lemma]: #20620
-#20713 := [unit-resolution #20724 #20664 #25935 #20756 #20663 #9311]: #19741
-#19738 := (not #19741)
-#20001 := (or #10302 #19738 #21786)
-#19729 := (= #9695 ?x75!20)
-#19725 := (or #19729 #19738)
-#19974 := (or #10302 #19725)
-#19977 := (iff #19974 #20001)
-#19723 := (or #19738 #21786)
-#19976 := (or #10302 #19723)
-#19980 := (iff #19976 #20001)
-#19985 := [rewrite]: #19980
-#19981 := (iff #19974 #19976)
-#19759 := (iff #19725 #19723)
-#19727 := (or #21786 #19738)
-#19755 := (iff #19727 #19723)
-#19757 := [rewrite]: #19755
-#19728 := (iff #19725 #19727)
-#19742 := (iff #19729 #21786)
-#19724 := [rewrite]: #19742
-#19726 := [monotonicity #19724]: #19728
-#19753 := [trans #19726 #19757]: #19759
-#19982 := [monotonicity #19753]: #19981
-#19947 := [trans #19982 #19985]: #19977
-#20005 := [quant-inst]: #19974
-#19997 := [mp #20005 #19947]: #20001
-#20716 := [unit-resolution #19997 #4249 #20713]: #21786
-#19787 := (not #21786)
-#20752 := (or #21794 #19787)
-#19745 := (or #21794 #19787 #3924)
-#19739 := [def-axiom]: #19745
-#20774 := [unit-resolution #19739 #7677]: #20752
-#20858 := [unit-resolution #20774 #20716]: #21794
-#19746 := (not #21794)
-#19695 := (not #21797)
-#19694 := (or #19695 #21791 #19746)
-#19761 := [def-axiom]: #19694
-#20783 := [unit-resolution #19761 #20858 #20449]: #21791
-#20859 := [trans #20783 #20877]: #5170
-#5171 := (not #5170)
-#5786 := (or #5171 #5780)
-#18330 := (or #4458 #5171 #5780)
-#5779 := (or #5776 #5171)
-#18283 := (or #4458 #5779)
-#18352 := (iff #18283 #18330)
-#18337 := (or #4458 #5786)
-#18335 := (iff #18337 #18330)
-#18351 := [rewrite]: #18335
-#18336 := (iff #18283 #18337)
-#5789 := (iff #5779 #5786)
-#5783 := (or #5780 #5171)
-#5787 := (iff #5783 #5786)
-#5788 := [rewrite]: #5787
-#5784 := (iff #5779 #5783)
-#5785 := [monotonicity #5782]: #5784
-#5790 := [trans #5785 #5788]: #5789
-#18331 := [monotonicity #5790]: #18336
-#18358 := [trans #18331 #18351]: #18352
-#18350 := [quant-inst]: #18283
-#18412 := [mp #18350 #18358]: #18330
-#20455 := [unit-resolution #18412 #25699]: #5786
-#20452 := [unit-resolution #20455 #20441]: #5171
-#20896 := [unit-resolution #20452 #20859]: false
-#20973 := [lemma #20896]: #4495
-#4006 := (or #4504 #3499 #4498)
-#4021 := [def-axiom]: #4006
-#19204 := [unit-resolution #4021 #20973 #16349]: #4504
-#4017 := (or #4507 #4501)
-#4025 := [def-axiom]: #4017
-#19217 := [unit-resolution #4025 #19204]: #4507
-#11869 := (or #2283 #4458)
-#8633 := (uf_1 uf_22 ?x65!15)
-#8634 := (uf_10 #8633)
-#5075 := (* -1::int #2282)
-#8695 := (+ #5075 #8634)
-#8696 := (+ #188 #8695)
-#13182 := (<= #8696 0::int)
-#8699 := (= #8696 0::int)
-#8635 := (* -1::int #8634)
-#8639 := (+ uf_9 #8635)
-#8640 := (<= #8639 0::int)
-#13547 := (not #8640)
-#8579 := (uf_4 uf_14 ?x65!15)
-#8589 := (* -1::int #8579)
-#8655 := (+ #8589 #8634)
-#8656 := (+ #188 #8655)
-#8657 := (>= #8656 0::int)
-#8662 := (or #8640 #8657)
-#8665 := (not #8662)
-#8645 := (= #2282 #8579)
-#13653 := (not #8645)
-#8618 := (+ #2282 #8589)
-#13938 := (>= #8618 0::int)
-#14032 := (not #13938)
-#8826 := [hypothesis]: #2284
-#14033 := (or #14032 #2283)
-#14029 := [hypothesis]: #13938
-#8778 := (>= #8579 0::int)
-#13651 := (or #4311 #8778)
-#13643 := [quant-inst]: #13651
-#14030 := [unit-resolution #13643 #10596]: #8778
-#14031 := [th-lemma #8826 #14030 #14029]: false
-#14034 := [lemma #14031]: #14033
-#14041 := [unit-resolution #14034 #8826]: #14032
-#13631 := (or #13653 #13938)
-#13654 := [th-lemma]: #13631
-#11935 := [unit-resolution #13654 #14041]: #13653
-#13403 := (or #4433 #8645 #8665)
-#8636 := (+ #1455 #8635)
-#8637 := (+ #8579 #8636)
-#8638 := (<= #8637 0::int)
-#8641 := (or #8640 #8638)
-#8642 := (not #8641)
-#8643 := (= #8579 #2282)
-#8644 := (or #8643 #8642)
-#13406 := (or #4433 #8644)
-#13514 := (iff #13406 #13403)
-#8668 := (or #8645 #8665)
-#12773 := (or #4433 #8668)
-#13027 := (iff #12773 #13403)
-#13487 := [rewrite]: #13027
-#12976 := (iff #13406 #12773)
-#8669 := (iff #8644 #8668)
-#8666 := (iff #8642 #8665)
-#8663 := (iff #8641 #8662)
-#8660 := (iff #8638 #8657)
-#8648 := (+ #8579 #8635)
-#8649 := (+ #1455 #8648)
-#8652 := (<= #8649 0::int)
-#8658 := (iff #8652 #8657)
-#8659 := [rewrite]: #8658
-#8653 := (iff #8638 #8652)
-#8650 := (= #8637 #8649)
-#8651 := [rewrite]: #8650
-#8654 := [monotonicity #8651]: #8653
-#8661 := [trans #8654 #8659]: #8660
-#8664 := [monotonicity #8661]: #8663
-#8667 := [monotonicity #8664]: #8666
-#8646 := (iff #8643 #8645)
-#8647 := [rewrite]: #8646
-#8670 := [monotonicity #8647 #8667]: #8669
-#13475 := [monotonicity #8670]: #12976
-#13534 := [trans #13475 #13487]: #13514
-#12762 := [quant-inst]: #13406
-#13535 := [mp #12762 #13534]: #13403
-#11121 := [unit-resolution #13535 #10727 #11935]: #8665
-#13548 := (or #8662 #13547)
-#13558 := [def-axiom]: #13548
-#11762 := [unit-resolution #13558 #11121]: #13547
-#13559 := (not #8657)
-#13562 := (or #8662 #13559)
-#13563 := [def-axiom]: #13562
-#11759 := [unit-resolution #13563 #11121]: #13559
-#8702 := (or #8640 #8657 #8699)
-#13329 := (or #4441 #8640 #8657 #8699)
-#8691 := (+ #8634 #5075)
-#8692 := (+ #188 #8691)
-#8693 := (= #8692 0::int)
-#8694 := (or #8640 #8638 #8693)
-#13330 := (or #4441 #8694)
-#13187 := (iff #13330 #13329)
-#13332 := (or #4441 #8702)
-#13183 := (iff #13332 #13329)
-#13184 := [rewrite]: #13183
-#13355 := (iff #13330 #13332)
-#8703 := (iff #8694 #8702)
-#8700 := (iff #8693 #8699)
-#8697 := (= #8692 #8696)
-#8698 := [rewrite]: #8697
-#8701 := [monotonicity #8698]: #8700
-#8704 := [monotonicity #8661 #8701]: #8703
-#13107 := [monotonicity #8704]: #13355
-#13265 := [trans #13107 #13184]: #13187
-#13331 := [quant-inst]: #13330
-#13285 := [mp #13331 #13265]: #13329
-#14047 := [unit-resolution #13285 #10785]: #8702
-#11757 := [unit-resolution #14047 #11759 #11762]: #8699
-#14049 := (not #8699)
-#14050 := (or #14049 #13182)
-#14051 := [th-lemma]: #14050
-#11817 := [unit-resolution #14051 #11757]: #13182
-#13904 := (uf_1 #9695 ?x65!15)
-#13630 := (uf_10 #13904)
-#13902 := (* -1::int #13630)
-#13836 := (+ #8634 #13902)
-#14015 := (>= #13836 0::int)
-#13832 := (= #8634 #13630)
-#14026 := (= #13630 #8634)
-#14022 := (= #13904 #8633)
-#14023 := [monotonicity #10708]: #14022
-#14027 := [monotonicity #14023]: #14026
-#14028 := [symm #14027]: #13832
-#14035 := (not #13832)
-#14036 := (or #14035 #14015)
-#14037 := [th-lemma]: #14036
-#14038 := [unit-resolution #14037 #14028]: #14015
-#13835 := (>= #13630 0::int)
-#13660 := (<= #13630 0::int)
-#13692 := (not #13660)
-#13628 := (= ?x65!15 #9695)
-#13668 := (not #13628)
-#8269 := (uf_6 uf_15 ?x65!15)
-#8270 := (= uf_8 #8269)
-#13741 := (ite #13628 #3895 #8270)
-#13822 := (not #13741)
-#13691 := (uf_6 #10323 ?x65!15)
-#13734 := (= uf_8 #13691)
-#13768 := (iff #13734 #13741)
-#13775 := (or #4987 #13768)
-#13690 := (ite #13628 #4958 #8270)
-#13689 := (= #13691 uf_8)
-#13739 := (iff #13689 #13690)
-#13769 := (or #4987 #13739)
-#13699 := (iff #13769 #13775)
-#13700 := (iff #13775 #13775)
-#13746 := [rewrite]: #13700
-#13770 := (iff #13739 #13768)
-#13772 := (iff #13690 #13741)
-#13773 := [monotonicity #4971]: #13772
-#13738 := (iff #13689 #13734)
-#13740 := [rewrite]: #13738
-#13774 := [monotonicity #13740 #13773]: #13770
-#13776 := [monotonicity #13774]: #13699
-#13747 := [trans #13776 #13746]: #13699
-#13777 := [quant-inst]: #13769
-#13821 := [mp #13777 #13747]: #13775
-#14053 := [unit-resolution #13821 #4222]: #13768
-#13869 := (not #13734)
-#5078 := (uf_6 uf_23 ?x65!15)
-#5079 := (= uf_8 #5078)
-#5080 := (not #5079)
-#14062 := (iff #5080 #13869)
-#14060 := (iff #5079 #13734)
-#14058 := (iff #13734 #5079)
-#14056 := (= #13691 #5078)
-#14057 := [monotonicity #13583]: #14056
-#14059 := [monotonicity #14057]: #14058
-#14061 := [symm #14059]: #14060
-#14063 := [monotonicity #14061]: #14062
-#12807 := (or #4458 #5080 #8645)
-#12793 := (or #8643 #5080)
-#12815 := (or #4458 #12793)
-#12826 := (iff #12815 #12807)
-#12790 := (or #5080 #8645)
-#12845 := (or #4458 #12790)
-#12847 := (iff #12845 #12807)
-#12848 := [rewrite]: #12847
-#12846 := (iff #12815 #12845)
-#12791 := (iff #12793 #12790)
-#12794 := (or #8645 #5080)
-#12785 := (iff #12794 #12790)
-#12787 := [rewrite]: #12785
-#12788 := (iff #12793 #12794)
-#12789 := [monotonicity #8647]: #12788
-#12814 := [trans #12789 #12787]: #12791
-#12844 := [monotonicity #12814]: #12846
-#12827 := [trans #12844 #12848]: #12826
-#12816 := [quant-inst]: #12815
-#12828 := [mp #12816 #12827]: #12807
-#10280 := [unit-resolution #12828 #7708 #11935]: #5080
-#10395 := [mp #10280 #14063]: #13869
-#13829 := (not #13768)
-#13844 := (or #13829 #13734 #13822)
-#13874 := [def-axiom]: #13844
-#11835 := [unit-resolution #13874 #10395 #14053]: #13822
-#14066 := (or #13741 #13668)
-#13827 := (or #13741 #13668 #3924)
-#13840 := [def-axiom]: #13827
-#14067 := [unit-resolution #13840 #7677]: #14066
-#12190 := [unit-resolution #14067 #11835]: #13668
-#13657 := (or #13628 #13692)
-#14009 := (or #10302 #13628 #13692)
-#13626 := (= #9695 ?x65!15)
-#13627 := (or #13626 #13692)
-#14004 := (or #10302 #13627)
-#14021 := (iff #14004 #14009)
-#14011 := (or #10302 #13657)
-#14014 := (iff #14011 #14009)
-#14020 := [rewrite]: #14014
-#14012 := (iff #14004 #14011)
-#13742 := (iff #13627 #13657)
-#13642 := (iff #13626 #13628)
-#13640 := [rewrite]: #13642
-#13743 := [monotonicity #13640]: #13742
-#14013 := [monotonicity #13743]: #14012
-#14024 := [trans #14013 #14020]: #14021
-#14010 := [quant-inst]: #14004
-#14025 := [mp #14010 #14024]: #14009
-#14069 := [unit-resolution #14025 #4249]: #13657
-#12191 := [unit-resolution #14069 #12190]: #13692
-#14071 := (or #13835 #13660)
-#14072 := [th-lemma]: #14071
-#12192 := [unit-resolution #14072 #12191]: #13835
-#11148 := [th-lemma #12192 #14038 #8826 #11817 #12530]: false
-#11885 := [lemma #11148]: #11869
-#19815 := [unit-resolution #11885 #25699]: #2283
-#4090 := (or #4543 #4537)
-#4091 := [def-axiom]: #4090
-#19829 := [unit-resolution #4091 #25698]: #4537
-#19826 := (or #4540 #4534)
-#10106 := (uf_1 #9695 uf_11)
-#10107 := (uf_10 #10106)
-#10111 := (* -1::int #10107)
-#4883 := (uf_1 uf_22 uf_11)
-#4884 := (uf_10 #4883)
-#10686 := (+ #4884 #10111)
-#10690 := (>= #10686 0::int)
-#10685 := (= #4884 #10107)
-#10711 := (= #10107 #4884)
-#10709 := (= #10106 #4883)
-#10710 := [monotonicity #10708]: #10709
-#10712 := [monotonicity #10710]: #10711
-#10713 := [symm #10712]: #10685
-#10714 := (not #10685)
-#10715 := (or #10714 #10690)
-#10716 := [th-lemma]: #10715
-#10717 := [unit-resolution #10716 #10713]: #10690
-#3952 := (<= #108 0::int)
-#5799 := (or #1749 #3952)
-#5800 := [th-lemma]: #5799
-#6367 := [unit-resolution #5800 #5498]: #3952
-#4802 := (?x47!7 uf_22)
-#4803 := (uf_4 uf_14 #4802)
-#4804 := (* -1::int #4803)
-#4805 := (+ #188 #4804)
-#4806 := (<= #4805 0::int)
-#9262 := (not #4806)
-#4814 := (uf_6 uf_15 #4802)
-#4815 := (= uf_8 #4814)
-#4816 := (not #4815)
-#4807 := (uf_1 #4802 uf_22)
-#4808 := (uf_10 #4807)
-#4809 := (* -1::int #4808)
-#4810 := (+ #4804 #4809)
-#4811 := (+ #188 #4810)
-#4812 := (= #4811 0::int)
-#4813 := (not #4812)
-#4824 := (or #4806 #4813 #4816)
-#4827 := (not #4824)
-#4821 := (= uf_11 uf_22)
-#8243 := (not #4821)
-#10613 := [hypothesis]: #1492
-#10629 := (or #8243 #217 #10190)
-#10625 := (= #216 #108)
-#10621 := (= #188 #108)
-#4819 := (= uf_22 uf_11)
-#10614 := [hypothesis]: #4821
-#10615 := [symm #10614]: #4819
-#10622 := [monotonicity #10615]: #10621
-#10623 := (= #216 #188)
-#10616 := [hypothesis]: #4741
-#10620 := [symm #10616]: #10619
-#10617 := (= #216 #4740)
-#10618 := [monotonicity #10614]: #10617
-#10624 := [trans #10618 #10620]: #10623
-#10626 := [trans #10624 #10622]: #10625
-#10627 := [trans #10626 #5498]: #217
-#10628 := [unit-resolution #10613 #10627]: false
-#10630 := [lemma #10628]: #10629
-#10730 := [unit-resolution #10630 #10613 #10729]: #8243
-#10732 := (or #4821 #4827)
-#4053 := (or #4567 #1657)
-#4054 := [def-axiom]: #4053
-#10731 := [unit-resolution #4054 #10726]: #1657
-#8960 := (or #4344 #1656 #4821 #4827)
-#4817 := (or #4816 #4813 #4806)
-#4818 := (not #4817)
-#4820 := (or #4819 #1656 #4818)
-#8966 := (or #4344 #4820)
-#9267 := (iff #8966 #8960)
-#4833 := (or #1656 #4821 #4827)
-#9153 := (or #4344 #4833)
-#8906 := (iff #9153 #8960)
-#9205 := [rewrite]: #8906
-#9156 := (iff #8966 #9153)
-#4836 := (iff #4820 #4833)
-#4830 := (or #4821 #1656 #4827)
-#4834 := (iff #4830 #4833)
-#4835 := [rewrite]: #4834
-#4831 := (iff #4820 #4830)
-#4828 := (iff #4818 #4827)
-#4825 := (iff #4817 #4824)
-#4826 := [rewrite]: #4825
-#4829 := [monotonicity #4826]: #4828
-#4822 := (iff #4819 #4821)
-#4823 := [rewrite]: #4822
-#4832 := [monotonicity #4823 #4829]: #4831
-#4837 := [trans #4832 #4835]: #4836
-#9157 := [monotonicity #4837]: #9156
-#9268 := [trans #9157 #9205]: #9267
-#9217 := [quant-inst]: #8966
-#9238 := [mp #9217 #9268]: #8960
-#10733 := [unit-resolution #9238 #9243 #10731]: #10732
-#10734 := [unit-resolution #10733 #10730]: #4827
-#9269 := (or #4824 #9262)
-#9261 := [def-axiom]: #9269
-#10735 := [unit-resolution #9261 #10734]: #9262
-#6905 := (>= #4803 0::int)
-#10502 := (not #6905)
-#10503 := [hypothesis]: #10502
-#10442 := (or #4311 #6905)
-#10443 := [quant-inst]: #10442
-#10607 := [unit-resolution #10443 #10596 #10503]: false
-#10608 := [lemma #10607]: #6905
-#4888 := (* -1::int #4884)
-#4889 := (+ #1455 #4888)
-#4890 := (+ #108 #4889)
-#4891 := (<= #4890 0::int)
-#9338 := (not #4891)
-#4892 := (+ uf_9 #4888)
-#4893 := (<= #4892 0::int)
-#4927 := (or #4891 #4893)
-#4930 := (not #4927)
-#4925 := (= #108 #216)
-#10743 := (not #4925)
-#10744 := (iff #1492 #10743)
-#10741 := (iff #217 #4925)
-#10739 := (iff #4925 #217)
-#10738 := [commutativity]: #1490
-#10736 := (iff #4925 #788)
-#10737 := [monotonicity #5498]: #10736
-#10740 := [trans #10737 #10738]: #10739
-#10742 := [symm #10740]: #10741
-#10745 := [monotonicity #10742]: #10744
-#10746 := [mp #10613 #10745]: #10743
-#4933 := (or #4925 #4930)
-#9308 := (or #4433 #4925 #4930)
-#4923 := (or #4893 #4891)
-#4924 := (not #4923)
-#4926 := (or #4925 #4924)
-#9309 := (or #4433 #4926)
-#9334 := (iff #9309 #9308)
-#9329 := (or #4433 #4933)
-#9332 := (iff #9329 #9308)
-#9333 := [rewrite]: #9332
-#9330 := (iff #9309 #9329)
-#4934 := (iff #4926 #4933)
-#4931 := (iff #4924 #4930)
-#4928 := (iff #4923 #4927)
-#4929 := [rewrite]: #4928
-#4932 := [monotonicity #4929]: #4931
-#4935 := [monotonicity #4932]: #4934
-#9331 := [monotonicity #4935]: #9330
-#9335 := [trans #9331 #9333]: #9334
-#9310 := [quant-inst]: #9309
-#9336 := [mp #9310 #9335]: #9308
-#10747 := [unit-resolution #9336 #10727]: #4933
-#10748 := [unit-resolution #10747 #10746]: #4930
-#9321 := (or #4927 #9338)
-#9322 := [def-axiom]: #9321
-#10749 := [unit-resolution #9322 #10748]: #9338
-#10647 := (>= #10107 0::int)
-#9978 := (<= #10107 0::int)
-#9979 := (not #9978)
-#10042 := (= uf_11 #9695)
-#10207 := (not #10042)
-#10754 := (iff #8243 #10207)
-#10752 := (iff #4821 #10042)
-#10750 := (iff #10042 #4821)
-#10751 := [monotonicity #10708]: #10750
-#10753 := [symm #10751]: #10752
-#10755 := [monotonicity #10753]: #10754
-#10756 := [mp #10730 #10755]: #10207
-#10049 := (or #9979 #10042)
-#10397 := (or #10302 #9979 #10042)
-#10035 := (= #9695 uf_11)
-#10036 := (or #10035 #9979)
-#10418 := (or #10302 #10036)
-#10633 := (iff #10418 #10397)
-#10308 := (or #10302 #10049)
-#10631 := (iff #10308 #10397)
-#10632 := [rewrite]: #10631
-#10609 := (iff #10418 #10308)
-#10065 := (iff #10036 #10049)
-#10046 := (or #10042 #9979)
-#10050 := (iff #10046 #10049)
-#10051 := [rewrite]: #10050
-#10047 := (iff #10036 #10046)
-#10044 := (iff #10035 #10042)
-#10045 := [rewrite]: #10044
-#10048 := [monotonicity #10045]: #10047
-#10165 := [trans #10048 #10051]: #10065
-#10612 := [monotonicity #10165]: #10609
-#10634 := [trans #10612 #10632]: #10633
-#10413 := [quant-inst]: #10418
-#10635 := [mp #10413 #10634]: #10397
-#10757 := [unit-resolution #10635 #4249]: #10049
-#10758 := [unit-resolution #10757 #10756]: #9979
-#10759 := (or #10647 #9978)
-#10760 := [th-lemma]: #10759
-#10761 := [unit-resolution #10760 #10758]: #10647
-#10762 := [th-lemma #10761 #10749 #10608 #10735 #6367 #10717]: false
-#10763 := [lemma #10762]: #217
-#4100 := (or #4540 #1492 #4534)
-#4086 := [def-axiom]: #4100
-#19860 := [unit-resolution #4086 #10763]: #19826
-#19861 := [unit-resolution #19860 #19829]: #4534
-#4109 := (or #4531 #4525)
-#4093 := [def-axiom]: #4109
-#19854 := [unit-resolution #4093 #19861]: #4525
-#4106 := (or #4528 #2284 #4522)
-#4107 := [def-axiom]: #4106
-#19851 := [unit-resolution #4107 #19854 #19815]: #4522
-#4101 := (or #4519 #4513)
-#4103 := [def-axiom]: #4101
-#19863 := [unit-resolution #4103 #19851]: #4513
-#4123 := (or #4516 #3453 #4510)
-#4110 := [def-axiom]: #4123
-#19864 := [unit-resolution #4110 #19863]: #4513
-#19859 := [unit-resolution #19864 #19217]: #3453
-#4134 := (or #3448 #4133)
-#4135 := [def-axiom]: #4134
-#19869 := [unit-resolution #4135 #19859]: #4133
-#4148 := (or #3448 #2304)
-#3989 := [def-axiom]: #4148
-#19866 := [unit-resolution #3989 #19859]: #2304
-#3990 := (or #3448 #2307)
-#3991 := [def-axiom]: #3990
-#19868 := [unit-resolution #3991 #19859]: #2307
-#17736 := (or #3433 #2896 #2306)
-#12004 := [hypothesis]: #4133
-#6675 := (uf_1 uf_22 ?x68!16)
-#6676 := (uf_10 #6675)
-#6701 := (+ #2894 #6676)
-#6702 := (+ #188 #6701)
-#16997 := (<= #6702 0::int)
-#6705 := (= #6702 0::int)
-#6642 := (uf_4 uf_14 ?x68!16)
-#6659 := (* -1::int #6642)
-#6694 := (+ #6659 #6676)
-#6695 := (+ #188 #6694)
-#6696 := (>= #6695 0::int)
-#6680 := (* -1::int #6676)
-#6684 := (+ uf_9 #6680)
-#6685 := (<= #6684 0::int)
-#6731 := (or #6685 #6696)
-#6734 := (not #6731)
-#6728 := (= #2300 #6642)
-#14098 := (not #6728)
-#6660 := (+ #2300 #6659)
-#17022 := (>= #6660 0::int)
-#14117 := (not #17022)
-#6472 := (+ #188 #6659)
-#6473 := (<= #6472 0::int)
-#6496 := (uf_6 uf_15 ?x68!16)
-#6497 := (= uf_8 #6496)
-#16679 := (not #6497)
-#13671 := (= ?x68!16 #9695)
-#13592 := (ite #13671 #3895 #6497)
-#15564 := (not #13592)
-#13670 := (uf_6 #10323 ?x68!16)
-#13649 := (= uf_8 #13670)
-#13820 := (iff #13592 #13649)
-#14101 := (or #4987 #13820)
-#13645 := (ite #13671 #4958 #6497)
-#13647 := (= #13670 uf_8)
-#13648 := (iff #13647 #13645)
-#15296 := (or #4987 #13648)
-#15178 := (iff #15296 #14101)
-#15561 := (iff #14101 #14101)
-#15556 := [rewrite]: #15561
-#13826 := (iff #13648 #13820)
-#13663 := (iff #13649 #13592)
-#13819 := (iff #13663 #13820)
-#13825 := [rewrite]: #13819
-#13664 := (iff #13648 #13663)
-#13638 := (iff #13645 #13592)
-#13662 := [monotonicity #4971]: #13638
-#13655 := (iff #13647 #13649)
-#13661 := [rewrite]: #13655
-#13665 := [monotonicity #13661 #13662]: #13664
-#13828 := [trans #13665 #13825]: #13826
-#15560 := [monotonicity #13828]: #15178
-#15558 := [trans #15560 #15556]: #15178
-#15177 := [quant-inst]: #15296
-#15563 := [mp #15177 #15558]: #14101
-#17427 := [unit-resolution #15563 #4222]: #13820
-#16690 := (not #13649)
-#17349 := (iff #2307 #16690)
-#17657 := (iff #2306 #13649)
-#17654 := (iff #13649 #2306)
-#17353 := (= #13670 #2305)
-#17653 := [monotonicity #13583]: #17353
-#17655 := [monotonicity #17653]: #17654
-#17300 := [symm #17655]: #17657
-#17434 := [monotonicity #17300]: #17349
-#17656 := [hypothesis]: #2307
-#17463 := [mp #17656 #17434]: #16690
-#16689 := (not #13820)
-#16795 := (or #16689 #15564 #13649)
-#16793 := [def-axiom]: #16795
-#17402 := [unit-resolution #16793 #17463 #17427]: #15564
-#15565 := (not #13671)
-#17466 := (or #13592 #15565)
-#15618 := (or #13592 #15565 #3924)
-#15814 := [def-axiom]: #15618
-#17660 := [unit-resolution #15814 #7677]: #17466
-#17661 := [unit-resolution #17660 #17402]: #15565
-#16681 := (or #13592 #13671 #16679)
-#16685 := [def-axiom]: #16681
-#17658 := [unit-resolution #16685 #17661 #17402]: #16679
-#6530 := (or #6473 #6497)
-#17091 := (or #4423 #6473 #6497)
-#6493 := (+ #6642 #1455)
-#6494 := (>= #6493 0::int)
-#6495 := (or #6497 #6494)
-#17092 := (or #4423 #6495)
-#16354 := (iff #17092 #17091)
-#17099 := (or #4423 #6530)
-#16352 := (iff #17099 #17091)
-#16353 := [rewrite]: #16352
-#16351 := (iff #17092 #17099)
-#6533 := (iff #6495 #6530)
-#6527 := (or #6497 #6473)
-#6531 := (iff #6527 #6530)
-#6532 := [rewrite]: #6531
-#6528 := (iff #6495 #6527)
-#6525 := (iff #6494 #6473)
-#6467 := (+ #1455 #6642)
-#6469 := (>= #6467 0::int)
-#6474 := (iff #6469 #6473)
-#6524 := [rewrite]: #6474
-#6470 := (iff #6494 #6469)
-#6468 := (= #6493 #6467)
-#6466 := [rewrite]: #6468
-#6471 := [monotonicity #6466]: #6470
-#6526 := [trans #6471 #6524]: #6525
-#6529 := [monotonicity #6526]: #6528
-#6534 := [trans #6529 #6532]: #6533
-#17076 := [monotonicity #6534]: #16351
-#16356 := [trans #17076 #16353]: #16354
-#17101 := [quant-inst]: #17092
-#16358 := [mp #17101 #16356]: #17091
-#17669 := [unit-resolution #16358 #17666]: #6530
-#17659 := [unit-resolution #17669 #17658]: #6473
-#6393 := (+ #2298 #4781)
-#18006 := (<= #6393 0::int)
-#17296 := (= #2298 #4740)
-#6449 := (= ?x67!17 uf_22)
-#14077 := (= ?x67!17 #9695)
-#6439 := (uf_6 uf_15 ?x67!17)
-#6440 := (= uf_8 #6439)
-#14085 := (ite #14077 #3895 #6440)
-#14079 := (uf_6 #10323 ?x67!17)
-#14082 := (= uf_8 #14079)
-#14088 := (iff #14082 #14085)
-#16842 := (or #4987 #14088)
-#14078 := (ite #14077 #4958 #6440)
-#14080 := (= #14079 uf_8)
-#14081 := (iff #14080 #14078)
-#16843 := (or #4987 #14081)
-#16827 := (iff #16843 #16842)
-#16829 := (iff #16842 #16842)
-#16830 := [rewrite]: #16829
-#14089 := (iff #14081 #14088)
-#14086 := (iff #14078 #14085)
-#14087 := [monotonicity #4971]: #14086
-#14083 := (iff #14080 #14082)
-#14084 := [rewrite]: #14083
-#14090 := [monotonicity #14084 #14087]: #14089
-#16828 := [monotonicity #14090]: #16827
-#16825 := [trans #16828 #16830]: #16827
-#16822 := [quant-inst]: #16843
-#16780 := [mp #16822 #16825]: #16842
-#17670 := [unit-resolution #16780 #4222]: #14088
-#17684 := (= #2303 #14079)
-#17672 := (= #14079 #2303)
-#17688 := [monotonicity #13583]: #17672
-#17680 := [symm #17688]: #17684
-#17671 := [hypothesis]: #2304
-#17705 := [trans #17671 #17680]: #14082
-#16844 := (not #14082)
-#16848 := (not #14088)
-#16851 := (or #16848 #16844 #14085)
-#16852 := [def-axiom]: #16851
-#17703 := [unit-resolution #16852 #17705 #17670]: #14085
-#16816 := (not #6440)
-#6405 := (uf_4 uf_14 ?x67!17)
-#17321 := (+ #6405 #9707)
-#17316 := (<= #17321 0::int)
-#14110 := (not #17316)
-#14118 := (not #6473)
-#17620 := (or #14110 #2896 #13671 #14118)
-#17021 := (not #6685)
-#5574 := (* -1::int #6405)
-#5674 := (+ #2298 #5574)
-#5698 := (<= #5674 0::int)
-#16850 := (or #4449 #5698)
-#5667 := (+ #6405 #2299)
-#5668 := (>= #5667 0::int)
-#16871 := (or #4449 #5668)
-#16875 := (iff #16871 #16850)
-#16878 := (iff #16850 #16850)
-#16872 := [rewrite]: #16878
-#5701 := (iff #5668 #5698)
-#5669 := (+ #2299 #6405)
-#5671 := (>= #5669 0::int)
-#5699 := (iff #5671 #5698)
-#5700 := [rewrite]: #5699
-#5672 := (iff #5668 #5671)
-#5664 := (= #5667 #5669)
-#5670 := [rewrite]: #5664
-#5673 := [monotonicity #5670]: #5672
-#5702 := [trans #5673 #5700]: #5701
-#16877 := [monotonicity #5702]: #16875
-#16845 := [trans #16877 #16872]: #16875
-#16831 := [quant-inst]: #16871
-#16858 := [mp #16831 #16845]: #16850
-#12150 := [unit-resolution #16858 #10788]: #5698
-#14116 := [hypothesis]: #6473
-#14115 := [hypothesis]: #17316
-#14119 := (not #10581)
-#14113 := (not #5698)
-#14120 := (or #14117 #14118 #14113 #2896 #14110 #14119)
-#14127 := [th-lemma]: #14120
-#14128 := [unit-resolution #14127 #14115 #14116 #12150 #12004 #12925]: #14117
-#14167 := (or #14098 #17022)
-#14099 := [th-lemma]: #14167
-#14170 := [unit-resolution #14099 #14128]: #14098
-#6737 := (or #6728 #6734)
-#17003 := (or #4433 #6728 #6734)
-#6681 := (+ #1455 #6680)
-#6682 := (+ #6642 #6681)
-#6683 := (<= #6682 0::int)
-#6724 := (or #6685 #6683)
-#6725 := (not #6724)
-#6726 := (= #6642 #2300)
-#6727 := (or #6726 #6725)
-#17006 := (or #4433 #6727)
-#17015 := (iff #17006 #17003)
-#16994 := (or #4433 #6737)
-#17013 := (iff #16994 #17003)
-#17012 := [rewrite]: #17013
-#17007 := (iff #17006 #16994)
-#6738 := (iff #6727 #6737)
-#6735 := (iff #6725 #6734)
-#6732 := (iff #6724 #6731)
-#6699 := (iff #6683 #6696)
-#6687 := (+ #6642 #6680)
-#6688 := (+ #1455 #6687)
-#6691 := (<= #6688 0::int)
-#6697 := (iff #6691 #6696)
-#6698 := [rewrite]: #6697
-#6692 := (iff #6683 #6691)
-#6689 := (= #6682 #6688)
-#6690 := [rewrite]: #6689
-#6693 := [monotonicity #6690]: #6692
-#6700 := [trans #6693 #6698]: #6699
-#6733 := [monotonicity #6700]: #6732
-#6736 := [monotonicity #6733]: #6735
-#6729 := (iff #6726 #6728)
-#6730 := [rewrite]: #6729
-#6739 := [monotonicity #6730 #6736]: #6738
-#17008 := [monotonicity #6739]: #17007
-#17016 := [trans #17008 #17012]: #17015
-#17005 := [quant-inst]: #17006
-#17017 := [mp #17005 #17016]: #17003
-#14323 := [unit-resolution #17017 #10727]: #6737
-#14462 := [unit-resolution #14323 #14170]: #6734
-#17024 := (or #6731 #17021)
-#17014 := [def-axiom]: #17024
-#14131 := [unit-resolution #17014 #14462]: #17021
-#17023 := (not #6696)
-#17025 := (or #6731 #17023)
-#17026 := [def-axiom]: #17025
-#14463 := [unit-resolution #17026 #14462]: #17023
-#6708 := (or #6685 #6696 #6705)
-#16986 := (or #4441 #6685 #6696 #6705)
-#6677 := (+ #6676 #2894)
-#6678 := (+ #188 #6677)
-#6679 := (= #6678 0::int)
-#6686 := (or #6685 #6683 #6679)
-#16942 := (or #4441 #6686)
-#16967 := (iff #16942 #16986)
-#16939 := (or #4441 #6708)
-#16965 := (iff #16939 #16986)
-#16966 := [rewrite]: #16965
-#16958 := (iff #16942 #16939)
-#6709 := (iff #6686 #6708)
-#6706 := (iff #6679 #6705)
-#6703 := (= #6678 #6702)
-#6704 := [rewrite]: #6703
-#6707 := [monotonicity #6704]: #6706
-#6710 := [monotonicity #6700 #6707]: #6709
-#16981 := [monotonicity #6710]: #16958
-#16968 := [trans #16981 #16966]: #16967
-#16943 := [quant-inst]: #16942
-#16957 := [mp #16943 #16968]: #16986
-#14091 := [unit-resolution #16957 #10785]: #6708
-#15021 := [unit-resolution #14091 #14463 #14131]: #6705
-#15016 := (not #6705)
-#15301 := (or #15016 #16997)
-#16191 := [th-lemma]: #15301
-#16210 := [unit-resolution #16191 #15021]: #16997
-#17555 := (uf_1 #9695 ?x68!16)
-#17556 := (uf_10 #17555)
-#11882 := (* -1::int #17556)
-#11971 := (+ #6676 #11882)
-#12082 := (>= #11971 0::int)
-#12012 := (= #6676 #17556)
-#16213 := (= #17556 #6676)
-#15939 := (= #17555 #6675)
-#16211 := [monotonicity #10708]: #15939
-#16214 := [monotonicity #16211]: #16213
-#16541 := [symm #16214]: #12012
-#16559 := (not #12012)
-#16520 := (or #16559 #12082)
-#16540 := [th-lemma]: #16520
-#16560 := [unit-resolution #16540 #16541]: #12082
-#17561 := (<= #17556 0::int)
-#17562 := (not #17561)
-#16607 := [hypothesis]: #15565
-#17589 := (or #10302 #13671 #17562)
-#17574 := (= #9695 ?x68!16)
-#17571 := (or #17574 #17562)
-#17590 := (or #10302 #17571)
-#11861 := (iff #17590 #17589)
-#17587 := (or #13671 #17562)
-#17606 := (or #10302 #17587)
-#17600 := (iff #17606 #17589)
-#17601 := [rewrite]: #17600
-#17593 := (iff #17590 #17606)
-#17569 := (iff #17571 #17587)
-#17585 := (iff #17574 #13671)
-#17586 := [rewrite]: #17585
-#17588 := [monotonicity #17586]: #17569
-#17599 := [monotonicity #17588]: #17593
-#17598 := [trans #17599 #17601]: #11861
-#17583 := [quant-inst]: #17590
-#11866 := [mp #17583 #17598]: #17589
-#17621 := [unit-resolution #11866 #4249 #16607]: #17562
-#17166 := [th-lemma #12150 #12004 #14115 #12925 #17621 #16560 #16210]: false
-#17622 := [lemma #17166]: #17620
-#17722 := [unit-resolution #17622 #17661 #12004 #17659]: #14110
-#18133 := (or #16816 #17316)
-#18126 := [hypothesis]: #14110
-#18130 := [hypothesis]: #6440
-#18002 := (or #4328 #16816 #9686 #17316)
-#17278 := (+ #9701 #5574)
-#17277 := (>= #17278 0::int)
-#17276 := (or #9686 #16816 #17277)
-#18007 := (or #4328 #17276)
-#17984 := (iff #18007 #18002)
-#17337 := (or #16816 #9686 #17316)
-#17982 := (or #4328 #17337)
-#17989 := (iff #17982 #18002)
-#17990 := [rewrite]: #17989
-#17983 := (iff #18007 #17982)
-#17345 := (iff #17276 #17337)
-#17333 := (or #9686 #16816 #17316)
-#17346 := (iff #17333 #17337)
-#17341 := [rewrite]: #17346
-#17336 := (iff #17276 #17333)
-#17332 := (iff #17277 #17316)
-#17303 := (+ #5574 #9701)
-#17297 := (>= #17303 0::int)
-#17320 := (iff #17297 #17316)
-#17326 := [rewrite]: #17320
-#17306 := (iff #17277 #17297)
-#17304 := (= #17278 #17303)
-#17305 := [rewrite]: #17304
-#17317 := [monotonicity #17305]: #17306
-#17325 := [trans #17317 #17326]: #17332
-#17324 := [monotonicity #17325]: #17336
-#17347 := [trans #17324 #17341]: #17345
-#17971 := [monotonicity #17347]: #17983
-#17988 := [trans #17971 #17990]: #17984
-#17980 := [quant-inst]: #18007
-#17991 := [mp #17980 #17988]: #18002
-#18132 := [unit-resolution #17991 #13967 #13969 #18130 #18126]: false
-#18134 := [lemma #18132]: #18133
-#17723 := [unit-resolution #18134 #17722]: #16816
-#16801 := (not #14085)
-#16815 := (or #16801 #14077 #6440)
-#16832 := [def-axiom]: #16815
-#17724 := [unit-resolution #16832 #17723 #17703]: #14077
-#17720 := [trans #17724 #10708]: #6449
-#17697 := [monotonicity #17720]: #17296
-#17700 := (not #17296)
-#17701 := (or #17700 #18006)
-#17693 := [th-lemma]: #17701
-#17673 := [unit-resolution #17693 #17697]: #18006
-#18044 := (not #18006)
-#18045 := (or #18044 #14117 #2896 #14118)
-#18043 := [hypothesis]: #18006
-#18041 := [hypothesis]: #17022
-#18042 := [th-lemma #18041 #12004 #14116 #9311 #18043]: false
-#18046 := [lemma #18042]: #18045
-#17699 := [unit-resolution #18046 #17673 #12004 #17659]: #14117
-#17676 := [unit-resolution #14099 #17699]: #14098
-#17677 := [unit-resolution #14323 #17676]: #6734
-#17164 := (or #6731 #6705)
-#17180 := [hypothesis]: #15016
-#17209 := [hypothesis]: #6734
-#17210 := [unit-resolution #17014 #17209]: #17021
-#17207 := [unit-resolution #17026 #17209]: #17023
-#17212 := [unit-resolution #14091 #17207 #17210 #17180]: false
-#17211 := [lemma #17212]: #17164
-#17678 := [unit-resolution #17211 #17677]: #6705
-#17681 := [unit-resolution #16191 #17678]: #16997
-#17675 := [unit-resolution #11866 #4249 #17661]: #17562
-#17735 := [th-lemma #17673 #9311 #17675 #16560 #17681 #12004]: false
-#17721 := [lemma #17735]: #17736
-[unit-resolution #17721 #19868 #19866 #19869]: false
+#7850 := [unit-resolution #3970 #7839]: #4399
+#3982 := (or #4402 #2168 #4396)
+#3976 := [def-axiom]: #3982
+#7851 := [unit-resolution #3976 #7850 #7816]: #2168
+#8005 := (not #7578)
+#8006 := (or #7967 #2167 #8005)
+#7964 := [hypothesis]: #7578
+#7965 := [hypothesis]: #7959
+#8460 := [hypothesis]: #2168
+#7966 := [th-lemma #8460 #7965 #7964]: false
+#8007 := [lemma #7966]: #8006
+#7852 := [unit-resolution #8007 #7851 #7815]: #7967
+#7885 := (or #8448 #7959)
+#7881 := [hypothesis]: #7967
+#7882 := [hypothesis]: #6927
+#7886 := [th-lemma]: #7885
+#7887 := [unit-resolution #7886 #7882 #7881]: false
+#7888 := [lemma #7887]: #7885
+#7879 := [unit-resolution #7888 #7852]: #8448
+#7448 := (or #6927 #7445)
+#7451 := (or #4307 #6927 #7445)
+#7296 := (+ #1357 #7295)
+#7297 := (+ #6919 #7296)
+#7298 := (<= #7297 0::int)
+#7393 := (or #7350 #7298)
+#7394 := (not #7393)
+#6920 := (= #6919 #2166)
+#7395 := (or #6920 #7394)
+#7452 := (or #4307 #7395)
+#7432 := (iff #7452 #7451)
+#7454 := (or #4307 #7448)
+#7457 := (iff #7454 #7451)
+#7431 := [rewrite]: #7457
+#7455 := (iff #7452 #7454)
+#7449 := (iff #7395 #7448)
+#7446 := (iff #7394 #7445)
+#7443 := (iff #7393 #7440)
+#7396 := (or #7350 #7340)
+#7441 := (iff #7396 #7440)
+#7442 := [rewrite]: #7441
+#7397 := (iff #7393 #7396)
+#7337 := (iff #7298 #7340)
+#7352 := (+ #6919 #7295)
+#7353 := (+ #1357 #7352)
+#7356 := (<= #7353 0::int)
+#7341 := (iff #7356 #7340)
+#7342 := [rewrite]: #7341
+#7357 := (iff #7298 #7356)
+#7354 := (= #7297 #7353)
+#7355 := [rewrite]: #7354
+#7358 := [monotonicity #7355]: #7357
+#7343 := [trans #7358 #7342]: #7337
+#7439 := [monotonicity #7343]: #7397
+#7444 := [trans #7439 #7442]: #7443
+#7447 := [monotonicity #7444]: #7446
+#6928 := (iff #6920 #6927)
+#6932 := [rewrite]: #6928
+#7450 := [monotonicity #6932 #7447]: #7449
+#7456 := [monotonicity #7450]: #7455
+#7430 := [trans #7456 #7431]: #7432
+#7453 := [quant-inst]: #7452
+#7433 := [mp #7453 #7430]: #7451
+#8450 := [unit-resolution #7433 #6843]: #7448
+#7883 := [unit-resolution #8450 #7879]: #7445
+#7435 := (or #7440 #7434)
+#7436 := [def-axiom]: #7435
+#7878 := [unit-resolution #7436 #7883]: #7434
+#7437 := (not #7350)
+#7438 := (or #7440 #7437)
+#7500 := [def-axiom]: #7438
+#7884 := [unit-resolution #7500 #7883]: #7437
+#7402 := (or #7340 #7350 #7362)
+#7407 := (or #4315 #7340 #7350 #7362)
+#7293 := (+ #7292 #4945)
+#7294 := (+ #182 #7293)
+#7289 := (= #7294 0::int)
+#7351 := (or #7350 #7298 #7289)
+#7408 := (or #4315 #7351)
+#7415 := (iff #7408 #7407)
+#7410 := (or #4315 #7402)
+#7413 := (iff #7410 #7407)
+#7414 := [rewrite]: #7413
+#7411 := (iff #7408 #7410)
+#7405 := (iff #7351 #7402)
+#7399 := (or #7350 #7340 #7362)
+#7403 := (iff #7399 #7402)
+#7404 := [rewrite]: #7403
+#7400 := (iff #7351 #7399)
+#7363 := (iff #7289 #7362)
+#7346 := (= #7294 #7345)
+#7347 := [rewrite]: #7346
+#7398 := [monotonicity #7347]: #7363
+#7401 := [monotonicity #7343 #7398]: #7400
+#7406 := [trans #7401 #7404]: #7405
+#7412 := [monotonicity #7406]: #7411
+#7390 := [trans #7412 #7414]: #7415
+#7409 := [quant-inst]: #7408
+#7391 := [mp #7409 #7390]: #7407
+#8454 := [unit-resolution #7391 #6847]: #7402
+#7713 := [unit-resolution #8454 #7884 #7878]: #7362
+#8456 := (not #7362)
+#8457 := (or #8456 #7389)
+#8458 := [th-lemma]: #8457
+#7714 := [unit-resolution #8458 #7713]: #7389
+#7790 := (>= #7292 0::int)
+#7701 := (<= #7292 0::int)
+#7702 := (not #7701)
+#7603 := (= uf_22 ?x65!15)
+#7464 := (not #7603)
+#7505 := (up_6 uf_15 ?x65!15)
+#7628 := (or #7505 #7603)
+#4543 := (not #7628)
+#7584 := (up_6 #188 ?x65!15)
+#7611 := (iff #7584 #7628)
+#7612 := (or #6627 #7611)
+#7597 := (= ?x65!15 uf_22)
+#7598 := (ite #7597 #3770 #7505)
+#7599 := (iff #7584 #7598)
+#7607 := (or #6627 #7599)
+#7614 := (iff #7607 #7612)
+#7467 := (iff #7612 #7612)
+#7468 := [rewrite]: #7467
+#7627 := (iff #7599 #7611)
+#7609 := (iff #7598 #7628)
+#7606 := (ite #7603 true #7505)
+#7608 := (iff #7606 #7628)
+#7586 := [rewrite]: #7608
+#7602 := (iff #7598 #7606)
+#7604 := (iff #7597 #7603)
+#7605 := [rewrite]: #7604
+#7620 := [monotonicity #7605 #3762]: #7602
+#7610 := [trans #7620 #7586]: #7609
+#7585 := [monotonicity #7610]: #7627
+#7615 := [monotonicity #7585]: #7614
+#7460 := [trans #7615 #7468]: #7614
+#7613 := [quant-inst]: #7607
+#7461 := [mp #7613 #7460]: #7612
+#7705 := [unit-resolution #7461 #4096]: #7611
+#7575 := (not #7584)
+#4948 := (up_6 uf_23 ?x65!15)
+#4949 := (not #4948)
+#7912 := (iff #4949 #7575)
+#7910 := (iff #4948 #7584)
+#7908 := (iff #7584 #4948)
+#7909 := [monotonicity #7203]: #7908
+#7911 := [symm #7909]: #7910
+#7907 := [monotonicity #7911]: #7912
+#6933 := (or #4949 #6927)
+#6943 := (or #4332 #4949 #6927)
+#6921 := (or #4949 #6920)
+#6944 := (or #4332 #6921)
+#7042 := (iff #6944 #6943)
+#7039 := (or #4332 #6933)
+#7036 := (iff #7039 #6943)
+#7037 := [rewrite]: #7036
+#7040 := (iff #6944 #7039)
+#6934 := (iff #6921 #6933)
+#6935 := [monotonicity #6932]: #6934
+#7041 := [monotonicity #6935]: #7040
+#7043 := [trans #7041 #7037]: #7042
+#7038 := [quant-inst]: #6944
+#7044 := [mp #7038 #7043]: #6943
+#7700 := [unit-resolution #7044 #7832]: #6933
+#7880 := [unit-resolution #7700 #7879]: #4949
+#7913 := [mp #7880 #7907]: #7575
+#7471 := (not #7611)
+#7574 := (or #7471 #7584 #4543)
+#3825 := [def-axiom]: #7574
+#7914 := [unit-resolution #3825 #7913 #7705]: #4543
+#7465 := (or #7628 #7464)
+#7466 := [def-axiom]: #7465
+#7915 := [unit-resolution #7466 #7914]: #7464
+#7703 := (or #7603 #7702)
+#7750 := (or #7140 #7603 #7702)
+#7754 := (or #7140 #7703)
+#7757 := (iff #7754 #7750)
+#7758 := [rewrite]: #7757
+#7756 := [quant-inst]: #7754
+#7759 := [mp #7756 #7758]: #7750
+#7916 := [unit-resolution #7759 #4123]: #7703
+#7917 := [unit-resolution #7916 #7915]: #7702
+#7661 := (or #7790 #7701)
+#7662 := [th-lemma]: #7661
+#7711 := [unit-resolution #7662 #7917]: #7790
+#7712 := [th-lemma #7711 #7851 #7714 #7811]: false
+#7918 := [lemma #7712]: #7840
+#11066 := [unit-resolution #7918 #10914 #10462 #9067 #10469 #10124]: #11065
+#11067 := [unit-resolution #11066 #10919]: #4396
+#3987 := (or #4393 #4387)
+#3988 := [def-axiom]: #3987
+#27286 := [unit-resolution #3988 #11067]: #4387
+#3986 := (or #4390 #3329 #4384)
+#3978 := [def-axiom]: #3986
+#27289 := [unit-resolution #3978 #27286]: #4387
+#27290 := [unit-resolution #27289 #13940]: #4384
+#3900 := (or #4381 #4375)
+#3901 := [def-axiom]: #3900
+#27291 := [unit-resolution #3901 #27290]: #4375
+#27292 := (or #4378 #4372)
+#7000 := (uf_1 uf_22 ?x71!19)
+#7001 := (uf_10 #7000)
+#6954 := (uf_4 uf_14 ?x71!19)
+#6984 := (* -1::int #6954)
+#7019 := (+ #6984 #7001)
+#7020 := (+ #182 #7019)
+#7021 := (>= #7020 0::int)
+#18941 := (not #7021)
+#7005 := (* -1::int #7001)
+#19226 := (+ #2212 #7005)
+#19230 := (>= #19226 0::int)
+#19225 := (= #2212 #7001)
+#19092 := (= #2211 #7000)
+#5993 := (= ?x72!18 uf_22)
+#15489 := (= ?x72!18 #10571)
+#5992 := (up_6 uf_15 ?x72!18)
+#6705 := (not #5992)
+#5963 := (uf_4 uf_14 ?x72!18)
+#7080 := (+ #5963 #6984)
+#7081 := (+ #2212 #7080)
+#7082 := (>= #7081 0::int)
+#19649 := (not #7082)
+#6985 := (+ #2207 #6984)
+#6986 := (<= #6985 0::int)
+#18752 := (or #4323 #6986)
+#6976 := (+ #6954 #2208)
+#6977 := (>= #6976 0::int)
+#18750 := (or #4323 #6977)
+#18782 := (iff #18750 #18752)
+#18807 := (iff #18752 #18752)
+#18838 := [rewrite]: #18807
+#6989 := (iff #6977 #6986)
+#6978 := (+ #2208 #6954)
+#6981 := (>= #6978 0::int)
+#6987 := (iff #6981 #6986)
+#6988 := [rewrite]: #6987
+#6982 := (iff #6977 #6981)
+#6979 := (= #6976 #6978)
+#6980 := [rewrite]: #6979
+#6983 := [monotonicity #6980]: #6982
+#6990 := [trans #6983 #6988]: #6989
+#18837 := [monotonicity #6990]: #18782
+#18839 := [trans #18837 #18838]: #18782
+#18781 := [quant-inst]: #18750
+#18834 := [mp #18781 #18839]: #18752
+#19630 := [unit-resolution #18834 #10924]: #6986
+#3844 := (not #2799)
+#19636 := [hypothesis]: #3375
+#3845 := (or #3370 #3844)
+#3998 := [def-axiom]: #3845
+#19637 := [unit-resolution #3998 #19636]: #3844
+#6055 := (* -1::int #5963)
+#6056 := (+ #2209 #6055)
+#17904 := (>= #6056 0::int)
+#5968 := (= #2209 #5963)
+#4013 := (or #3370 #2219)
+#3842 := [def-axiom]: #4013
+#19638 := [unit-resolution #3842 #19636]: #2219
+#10920 := [unit-resolution #3965 #10919]: #4327
+#16950 := (or #4332 #3355 #5968)
+#5964 := (= #5963 #2209)
+#5967 := (or #3355 #5964)
+#16945 := (or #4332 #5967)
+#17123 := (iff #16945 #16950)
+#5971 := (or #3355 #5968)
+#16952 := (or #4332 #5971)
+#16954 := (iff #16952 #16950)
+#16815 := [rewrite]: #16954
+#16953 := (iff #16945 #16952)
+#5972 := (iff #5967 #5971)
+#5969 := (iff #5964 #5968)
+#5970 := [rewrite]: #5969
+#5973 := [monotonicity #5970]: #5972
+#16949 := [monotonicity #5973]: #16953
+#17124 := [trans #16949 #16815]: #17123
+#16951 := [quant-inst]: #16945
+#17131 := [mp #16951 #17124]: #16950
+#19604 := [unit-resolution #17131 #10920 #19638]: #5968
+#19640 := (not #5968)
+#19647 := (or #19640 #17904)
+#19648 := [th-lemma]: #19647
+#19646 := [unit-resolution #19648 #19604]: #17904
+#19668 := (not #6986)
+#19667 := (not #17904)
+#19669 := (or #19649 #19667 #19668 #2799)
+#19674 := [th-lemma]: #19669
+#19675 := [unit-resolution #19674 #19646 #19637 #19630]: #19649
+#19673 := (or #6705 #7082)
+#4012 := (or #3370 #2218)
+#4006 := [def-axiom]: #4012
+#19664 := [unit-resolution #4006 #19636]: #2218
+#18969 := (or #4193 #2217 #6705 #7082)
+#7083 := (or #6705 #2217 #7082)
+#18974 := (or #4193 #7083)
+#18875 := (iff #18974 #18969)
+#7084 := (or #2217 #6705 #7082)
+#18976 := (or #4193 #7084)
+#18944 := (iff #18976 #18969)
+#18874 := [rewrite]: #18944
+#18977 := (iff #18974 #18976)
+#7085 := (iff #7083 #7084)
+#7086 := [rewrite]: #7085
+#18943 := [monotonicity #7086]: #18977
+#18873 := [trans #18943 #18874]: #18875
+#18975 := [quant-inst]: #18974
+#18942 := [mp #18975 #18873]: #18969
+#18871 := [unit-resolution #18942 #10131 #19664]: #19673
+#19651 := [unit-resolution #18871 #19675]: #6705
+#15504 := (or #5992 #15489)
+#15499 := (up_6 #11533 ?x72!18)
+#15509 := (iff #15499 #15504)
+#17157 := (or #6627 #15509)
+#15490 := (ite #15489 #3770 #5992)
+#15500 := (iff #15499 #15490)
+#17130 := (or #6627 #15500)
+#17160 := (iff #17130 #17157)
+#17164 := (iff #17157 #17157)
+#17122 := [rewrite]: #17164
+#15510 := (iff #15500 #15509)
+#15507 := (iff #15490 #15504)
+#15501 := (ite #15489 true #5992)
+#15505 := (iff #15501 #15504)
+#15506 := [rewrite]: #15505
+#15502 := (iff #15490 #15501)
+#15503 := [monotonicity #3762]: #15502
+#15508 := [trans #15503 #15506]: #15507
+#15511 := [monotonicity #15508]: #15510
+#17158 := [monotonicity #15511]: #17160
+#17165 := [trans #17158 #17122]: #17160
+#17159 := [quant-inst]: #17130
+#17166 := [mp #17159 #17165]: #17157
+#19656 := [unit-resolution #17166 #4096]: #15509
+#19655 := (iff #2219 #15499)
+#19650 := (iff #15499 #2219)
+#19657 := [monotonicity #13613]: #19650
+#19665 := [symm #19657]: #19655
+#19666 := [mp #19638 #19665]: #15499
+#17221 := (not #15499)
+#17223 := (not #15509)
+#17226 := (or #17223 #17221 #15504)
+#17227 := [def-axiom]: #17226
+#19660 := [unit-resolution #17227 #19666 #19656]: #15504
+#17201 := (not #15504)
+#17222 := (or #17201 #5992 #15489)
+#17217 := [def-axiom]: #17222
+#19635 := [unit-resolution #17217 #19660 #19651]: #15489
+#19038 := [trans #19635 #13436]: #5993
+#19241 := [monotonicity #19038]: #19092
+#19355 := [monotonicity #19241]: #19225
+#19410 := (not #19225)
+#18872 := (or #19410 #19230)
+#19416 := [th-lemma]: #18872
+#19513 := [unit-resolution #19416 #19355]: #19230
+#7165 := (uf_2 #2211)
+#7171 := (uf_4 uf_14 #7165)
+#7185 := (* -1::int #7171)
+#7186 := (+ #182 #7185)
+#7187 := (<= #7186 0::int)
+#19218 := (= #182 #7171)
+#19098 := (= #7171 #182)
+#19114 := (= #7165 uf_22)
+#19115 := (= #7165 #10571)
+#19577 := (= #7165 ?x72!18)
+#7166 := (= ?x72!18 #7165)
+#19027 := (or #8504 #7166)
+#19028 := [quant-inst]: #19027
+#19514 := [unit-resolution #19028 #4082]: #7166
+#19578 := [symm #19514]: #19577
+#19116 := [trans #19578 #19635]: #19115
+#19205 := [trans #19116 #13436]: #19114
+#19206 := [monotonicity #19205]: #19098
+#19213 := [symm #19206]: #19218
+#19214 := (not #19218)
+#19207 := (or #19214 #7187)
+#19215 := [th-lemma]: #19207
+#19583 := [unit-resolution #19215 #19213]: #7187
+#19048 := (+ #5963 #7185)
+#19031 := (>= #19048 0::int)
+#19047 := (= #5963 #7171)
+#19592 := [monotonicity #19514]: #19047
+#19803 := (not #19047)
+#19804 := (or #19803 #19031)
+#19805 := [th-lemma]: #19804
+#19806 := [unit-resolution #19805 #19592]: #19031
+#19929 := (not #19230)
+#19808 := (not #19031)
+#19807 := (not #7187)
+#19809 := (or #18941 #19668 #2799 #19807 #19808 #19667 #19929)
+#19810 := [th-lemma]: #19809
+#19811 := [unit-resolution #19810 #19630 #19646 #19637 #19806 #19583 #19513]: #18941
+#7009 := (+ uf_9 #7005)
+#7010 := (<= #7009 0::int)
+#18939 := (not #7010)
+#19930 := (or #18939 #19929 #2217)
+#19925 := [hypothesis]: #2218
+#19926 := [hypothesis]: #7010
+#19927 := [hypothesis]: #19230
+#19928 := [th-lemma #19927 #19926 #19925]: false
+#19931 := [lemma #19928]: #19930
+#19837 := [unit-resolution #19931 #19513 #19664]: #18939
+#7026 := (+ #2208 #7001)
+#7027 := (+ #182 #7026)
+#7030 := (= #7027 0::int)
+#19841 := (not #7030)
+#18789 := (>= #7027 0::int)
+#19838 := (not #18789)
+#19839 := (or #19838 #2799 #19807 #19808 #19667 #19929)
+#19835 := [th-lemma]: #19839
+#19836 := [unit-resolution #19835 #19646 #19637 #19806 #19583 #19513]: #19838
+#19842 := (or #19841 #18789)
+#19843 := [th-lemma]: #19842
+#19840 := [unit-resolution #19843 #19836]: #19841
+#7033 := (or #7010 #7021 #7030)
+#18840 := (or #4315 #7010 #7021 #7030)
+#7002 := (+ #7001 #2208)
+#7003 := (+ #182 #7002)
+#7004 := (= #7003 0::int)
+#7006 := (+ #1357 #7005)
+#7007 := (+ #6954 #7006)
+#7008 := (<= #7007 0::int)
+#7011 := (or #7010 #7008 #7004)
+#18841 := (or #4315 #7011)
+#18786 := (iff #18841 #18840)
+#18900 := (or #4315 #7033)
+#18780 := (iff #18900 #18840)
+#18785 := [rewrite]: #18780
+#18784 := (iff #18841 #18900)
+#7034 := (iff #7011 #7033)
+#7031 := (iff #7004 #7030)
+#7028 := (= #7003 #7027)
+#7029 := [rewrite]: #7028
+#7032 := [monotonicity #7029]: #7031
+#7024 := (iff #7008 #7021)
+#7012 := (+ #6954 #7005)
+#7013 := (+ #1357 #7012)
+#7016 := (<= #7013 0::int)
+#7022 := (iff #7016 #7021)
+#7023 := [rewrite]: #7022
+#7017 := (iff #7008 #7016)
+#7014 := (= #7007 #7013)
+#7015 := [rewrite]: #7014
+#7018 := [monotonicity #7015]: #7017
+#7025 := [trans #7018 #7023]: #7024
+#7035 := [monotonicity #7025 #7032]: #7034
+#18779 := [monotonicity #7035]: #18784
+#18783 := [trans #18779 #18785]: #18786
+#18905 := [quant-inst]: #18841
+#18787 := [mp #18905 #18783]: #18840
+#19844 := [unit-resolution #18787 #10914]: #7033
+#19845 := [unit-resolution #19844 #19840 #19837 #19811]: false
+#19871 := [lemma #19845]: #3370
+#3897 := (or #4378 #3375 #4372)
+#3898 := [def-axiom]: #3897
+#27293 := [unit-resolution #3898 #19871]: #27292
+#27294 := [unit-resolution #27293 #27291]: #4372
+#4002 := (or #4369 #2249)
+#4000 := [def-axiom]: #4002
+#27295 := [unit-resolution #4000 #27294]: #2249
+#5681 := (+ #2236 #5680)
+#18550 := (>= #5681 0::int)
+#5655 := (= #2236 #5650)
+#3846 := (or #4369 #4361)
+#3994 := [def-axiom]: #3846
+#27296 := [unit-resolution #3994 #27294]: #4361
+#18659 := (or #5655 #4366)
+#15149 := (uf_10 #15148)
+#15175 := (* -1::int #15149)
+#11814 := (uf_24 #10571)
+#11812 := (* -1::int #11814)
+#15176 := (+ #11812 #15175)
+#15177 := (+ #2236 #15176)
+#15830 := (>= #15177 0::int)
+#5696 := (uf_1 uf_22 ?x75!20)
+#5697 := (uf_10 #5696)
+#15921 := (+ #5697 #15175)
+#15923 := (>= #15921 0::int)
+#15920 := (= #5697 #15149)
+#18516 := (= #15149 #5697)
+#18514 := (= #15148 #5696)
+#18515 := [monotonicity #13436]: #18514
+#18517 := [monotonicity #18515]: #18516
+#18518 := [symm #18517]: #15920
+#18513 := (not #15920)
+#18519 := (or #18513 #15923)
+#18520 := [th-lemma]: #18519
+#18521 := [unit-resolution #18520 #18518]: #15923
+#11766 := (+ #4615 #11812)
+#8751 := (>= #11766 0::int)
+#8693 := (= #4615 #11814)
+#18522 := (= #11814 #4615)
+#18523 := [monotonicity #13436]: #18522
+#18530 := [symm #18523]: #8693
+#18531 := (not #8693)
+#18529 := (or #18531 #8751)
+#18532 := [th-lemma]: #18529
+#18533 := [unit-resolution #18532 #18530]: #8751
+#5722 := (+ #2237 #5697)
+#5723 := (+ #182 #5722)
+#15649 := (<= #5723 0::int)
+#5726 := (= #5723 0::int)
+#5701 := (* -1::int #5697)
+#5705 := (+ uf_9 #5701)
+#5706 := (<= #5705 0::int)
+#15666 := (not #5706)
+#5715 := (+ #5680 #5697)
+#5716 := (+ #182 #5715)
+#5717 := (>= #5716 0::int)
+#5748 := (or #5706 #5717)
+#5751 := (not #5748)
+#18607 := (not #5655)
+#18534 := [hypothesis]: #18607
+#5754 := (or #5655 #5751)
+#15653 := (or #4307 #5655 #5751)
+#5702 := (+ #1357 #5701)
+#5703 := (+ #5650 #5702)
+#5704 := (<= #5703 0::int)
+#5745 := (or #5706 #5704)
+#5746 := (not #5745)
+#5651 := (= #5650 #2236)
+#5747 := (or #5651 #5746)
+#15654 := (or #4307 #5747)
+#15663 := (iff #15654 #15653)
+#15656 := (or #4307 #5754)
+#15659 := (iff #15656 #15653)
+#15660 := [rewrite]: #15659
+#15657 := (iff #15654 #15656)
+#5755 := (iff #5747 #5754)
+#5752 := (iff #5746 #5751)
+#5749 := (iff #5745 #5748)
+#5720 := (iff #5704 #5717)
+#5708 := (+ #5650 #5701)
+#5709 := (+ #1357 #5708)
+#5712 := (<= #5709 0::int)
+#5718 := (iff #5712 #5717)
+#5719 := [rewrite]: #5718
+#5713 := (iff #5704 #5712)
+#5710 := (= #5703 #5709)
+#5711 := [rewrite]: #5710
+#5714 := [monotonicity #5711]: #5713
+#5721 := [trans #5714 #5719]: #5720
+#5750 := [monotonicity #5721]: #5749
+#5753 := [monotonicity #5750]: #5752
+#5656 := (iff #5651 #5655)
+#5657 := [rewrite]: #5656
+#5756 := [monotonicity #5657 #5753]: #5755
+#15658 := [monotonicity #5756]: #15657
+#15664 := [trans #15658 #15660]: #15663
+#15655 := [quant-inst]: #15654
+#15665 := [mp #15655 #15664]: #15653
+#18538 := [unit-resolution #15665 #10462]: #5754
+#18539 := [unit-resolution #18538 #18534]: #5751
+#15667 := (or #5748 #15666)
+#15697 := [def-axiom]: #15667
+#18542 := [unit-resolution #15697 #18539]: #15666
+#15813 := (not #5717)
+#15814 := (or #5748 #15813)
+#15815 := [def-axiom]: #15814
+#18543 := [unit-resolution #15815 #18539]: #15813
+#5729 := (or #5706 #5717 #5726)
+#15441 := (or #4315 #5706 #5717 #5726)
+#5698 := (+ #5697 #2237)
+#5699 := (+ #182 #5698)
+#5700 := (= #5699 0::int)
+#5707 := (or #5706 #5704 #5700)
+#15442 := (or #4315 #5707)
+#15615 := (iff #15442 #15441)
+#15466 := (or #4315 #5729)
+#15594 := (iff #15466 #15441)
+#15595 := [rewrite]: #15594
+#15497 := (iff #15442 #15466)
+#5730 := (iff #5707 #5729)
+#5727 := (iff #5700 #5726)
+#5724 := (= #5699 #5723)
+#5725 := [rewrite]: #5724
+#5728 := [monotonicity #5725]: #5727
+#5731 := [monotonicity #5721 #5728]: #5730
+#15498 := [monotonicity #5731]: #15497
+#15638 := [trans #15498 #15595]: #15615
+#15465 := [quant-inst]: #15442
+#15639 := [mp #15465 #15638]: #15441
+#18579 := [unit-resolution #15639 #10914]: #5729
+#18580 := [unit-resolution #18579 #18543 #18542]: #5726
+#18581 := (not #5726)
+#18582 := (or #18581 #15649)
+#18583 := [th-lemma]: #18582
+#18584 := [unit-resolution #18583 #18580]: #15649
+#18588 := (not #15923)
+#18587 := (not #4858)
+#18586 := (not #8751)
+#18585 := (not #15649)
+#18589 := (or #15830 #18585 #18586 #18587 #18588)
+#18590 := [th-lemma]: #18589
+#18591 := [unit-resolution #18590 #18584 #18533 #10925 #18521]: #15830
+#15829 := (<= #15177 0::int)
+#15922 := (<= #15921 0::int)
+#18592 := (or #18513 #15922)
+#18593 := [th-lemma]: #18592
+#18594 := [unit-resolution #18593 #18518]: #15922
+#9376 := (<= #4857 0::int)
+#4616 := (= #182 #4615)
+#4865 := (up_6 uf_23 uf_22)
+#3772 := (up_6 #188 uf_22)
+#10910 := (iff #3772 #4865)
+#10908 := (iff #4865 #3772)
+#10909 := [monotonicity #10469]: #10908
+#10911 := [symm #10909]: #10910
+#46 := (:var 0 T5)
+#45 := (:var 2 T4)
+#47 := (uf_7 #45 #10 #46)
+#4105 := (pattern #47)
+#335 := (= uf_8 #46)
+#48 := (up_6 #47 #10)
+#339 := (iff #48 #335)
+#4106 := (forall (vars (?x17 T4) (?x18 T2) (?x19 T5)) (:pat #4105) #339)
+#342 := (forall (vars (?x17 T4) (?x18 T2) (?x19 T5)) #339)
+#4109 := (iff #342 #4106)
+#4107 := (iff #339 #339)
+#4108 := [refl]: #4107
+#4110 := [quant-intro #4108]: #4109
+#1739 := (~ #342 #342)
+#1777 := (~ #339 #339)
+#1778 := [refl]: #1777
+#1740 := [nnf-pos #1778]: #1739
+#49 := (= #46 uf_8)
+#50 := (iff #48 #49)
+#51 := (forall (vars (?x17 T4) (?x18 T2) (?x19 T5)) #50)
+#343 := (iff #51 #342)
+#340 := (iff #50 #339)
+#337 := (iff #49 #335)
+#338 := [rewrite]: #337
+#341 := [monotonicity #338]: #340
+#344 := [quant-intro #341]: #343
+#334 := [asserted]: #51
+#347 := [mp #334 #344]: #342
+#1779 := [mp~ #347 #1740]: #342
+#4111 := [mp #1779 #4110]: #4106
+#8930 := (not #4106)
+#8932 := (or #8930 #3772)
+#3771 := (iff #3772 #3770)
+#8926 := (or #8930 #3771)
+#8933 := (iff #8926 #8932)
+#8935 := (iff #8932 #8932)
+#8936 := [rewrite]: #8935
+#3757 := (iff #3771 #3772)
+#3763 := (iff #3772 true)
+#3765 := (iff #3763 #3772)
+#3766 := [rewrite]: #3765
+#3764 := (iff #3771 #3763)
+#3756 := [monotonicity #3762]: #3764
+#3767 := [trans #3756 #3766]: #3757
+#8934 := [monotonicity #3767]: #8933
+#8931 := [trans #8934 #8936]: #8933
+#8927 := [quant-inst]: #8926
+#9499 := [mp #8927 #8931]: #8932
+#10907 := [unit-resolution #9499 #4111]: #3772
+#10912 := [mp #10907 #10911]: #4865
+#4866 := (not #4865)
+#4870 := (or #4616 #4866)
+#10280 := (or #4332 #4616 #4866)
+#4869 := (or #4866 #4616)
+#10281 := (or #4332 #4869)
+#10339 := (iff #10281 #10280)
+#10282 := (or #4332 #4870)
+#10337 := (iff #10282 #10280)
+#10338 := [rewrite]: #10337
+#10283 := (iff #10281 #10282)
+#4871 := (iff #4869 #4870)
+#4872 := [rewrite]: #4871
+#10336 := [monotonicity #4872]: #10283
+#10341 := [trans #10336 #10338]: #10339
+#10279 := [quant-inst]: #10281
+#10342 := [mp #10279 #10341]: #10280
+#10921 := [unit-resolution #10342 #10920]: #4870
+#10922 := [unit-resolution #10921 #10912]: #4616
+#9432 := (not #4616)
+#9433 := (or #9432 #9376)
+#9434 := [th-lemma]: #9433
+#10923 := [unit-resolution #9434 #10922]: #9376
+#11761 := (<= #11766 0::int)
+#18595 := (or #18531 #11761)
+#18596 := [th-lemma]: #18595
+#18597 := [unit-resolution #18596 #18530]: #11761
+#15650 := (>= #5723 0::int)
+#18571 := (or #18581 #15650)
+#18572 := [th-lemma]: #18571
+#18570 := [unit-resolution #18572 #18580]: #15650
+#18576 := (not #15922)
+#18575 := (not #9376)
+#18574 := (not #11761)
+#18573 := (not #15650)
+#18577 := (or #15829 #18573 #18574 #18575 #18576)
+#18578 := [th-lemma]: #18577
+#17865 := [unit-resolution #18578 #18570 #18597 #10923 #18594]: #15829
+#15178 := (= #15177 0::int)
+#15183 := (not #15178)
+#15085 := (+ #2236 #11812)
+#15163 := (<= #15085 0::int)
+#18640 := (not #15163)
+#17249 := (uf_3 #5917)
+#18036 := (uf_1 #10571 #17249)
+#18037 := (uf_10 #18036)
+#18039 := (* -1::int #18037)
+#18208 := (+ #5697 #18039)
+#18250 := (>= #18208 0::int)
+#18205 := (= #5697 #18037)
+#18060 := (= #18037 #5697)
+#18054 := (= #18036 #5696)
+#17915 := (= #17249 ?x75!20)
+#17250 := (= ?x75!20 #17249)
+#17253 := (or #7845 #17250)
+#17254 := [quant-inst]: #17253
+#17866 := [unit-resolution #17254 #4076]: #17250
+#17916 := [symm #17866]: #17915
+#18059 := [monotonicity #13436 #17916]: #18054
+#18063 := [monotonicity #18059]: #18060
+#18064 := [symm #18063]: #18205
+#18065 := (not #18205)
+#18068 := (or #18065 #18250)
+#18126 := [th-lemma]: #18068
+#18127 := [unit-resolution #18126 #18064]: #18250
+#18137 := (<= #18037 0::int)
+#18138 := (not #18137)
+#18556 := (= #10571 #17249)
+#17987 := (not #18556)
+#18551 := (up_6 uf_15 #17249)
+#18562 := (or #18551 #18556)
+#18015 := (not #18562)
+#18554 := (up_6 #11533 #17249)
+#18567 := (iff #18554 #18562)
+#17962 := (or #6627 #18567)
+#18552 := (= #17249 #10571)
+#18553 := (ite #18552 #3770 #18551)
+#18555 := (iff #18554 #18553)
+#17963 := (or #6627 #18555)
+#17965 := (iff #17963 #17962)
+#17981 := (iff #17962 #17962)
+#17982 := [rewrite]: #17981
+#18568 := (iff #18555 #18567)
+#18565 := (iff #18553 #18562)
+#18559 := (ite #18556 true #18551)
+#18563 := (iff #18559 #18562)
+#18564 := [rewrite]: #18563
+#18560 := (iff #18553 #18559)
+#18557 := (iff #18552 #18556)
+#18558 := [rewrite]: #18557
+#18561 := [monotonicity #18558 #3762]: #18560
+#18566 := [trans #18561 #18564]: #18565
+#18569 := [monotonicity #18566]: #18568
+#17980 := [monotonicity #18569]: #17965
+#17983 := [trans #17980 #17982]: #17965
+#17964 := [quant-inst]: #17963
+#17984 := [mp #17964 #17983]: #17962
+#18426 := [unit-resolution #17984 #4096]: #18567
+#18020 := (not #18554)
+#5037 := (up_6 uf_23 ?x75!20)
+#5038 := (not #5037)
+#18541 := (iff #5038 #18020)
+#18441 := (iff #5037 #18554)
+#18430 := (iff #18554 #5037)
+#18431 := [monotonicity #13613 #17916]: #18430
+#18540 := [symm #18431]: #18441
+#18544 := [monotonicity #18540]: #18541
+#5658 := (or #5038 #5655)
+#15006 := (or #4332 #5038 #5655)
+#5654 := (or #5038 #5651)
+#15007 := (or #4332 #5654)
+#15427 := (iff #15007 #15006)
+#15242 := (or #4332 #5658)
+#15290 := (iff #15242 #15006)
+#15291 := [rewrite]: #15290
+#15251 := (iff #15007 #15242)
+#5659 := (iff #5654 #5658)
+#5660 := [monotonicity #5657]: #5659
+#15252 := [monotonicity #5660]: #15251
+#15428 := [trans #15252 #15291]: #15427
+#15241 := [quant-inst]: #15007
+#15429 := [mp #15241 #15428]: #15006
+#18605 := [unit-resolution #15429 #10920]: #5658
+#18427 := [unit-resolution #18605 #18534]: #5038
+#18545 := [mp #18427 #18544]: #18020
+#18018 := (not #18567)
+#18019 := (or #18018 #18554 #18015)
+#18014 := [def-axiom]: #18019
+#18546 := [unit-resolution #18014 #18545 #18426]: #18015
+#17988 := (or #18562 #17987)
+#17989 := [def-axiom]: #17988
+#18549 := [unit-resolution #17989 #18546]: #17987
+#18153 := (or #18138 #18556)
+#18155 := (or #7140 #18138 #18556)
+#18152 := (or #18556 #18138)
+#18156 := (or #7140 #18152)
+#18170 := (iff #18156 #18155)
+#18162 := (or #7140 #18153)
+#18164 := (iff #18162 #18155)
+#18165 := [rewrite]: #18164
+#18160 := (iff #18156 #18162)
+#18151 := (iff #18152 #18153)
+#18154 := [rewrite]: #18151
+#18163 := [monotonicity #18154]: #18160
+#18171 := [trans #18163 #18165]: #18170
+#18161 := [quant-inst]: #18156
+#18169 := [mp #18161 #18171]: #18155
+#18638 := [unit-resolution #18169 #4123]: #18153
+#18639 := [unit-resolution #18638 #18549]: #18138
+#18641 := (not #18250)
+#18642 := (or #18640 #18585 #18586 #18587 #18137 #18641)
+#18643 := [th-lemma]: #18642
+#18644 := [unit-resolution #18643 #18584 #18533 #10925 #18639 #18127]: #18640
+#18651 := (or #15163 #15183)
+#11817 := (up_6 uf_23 #10571)
+#18647 := (iff #3772 #11817)
+#18645 := (iff #11817 #3772)
+#18646 := [monotonicity #10469 #13436]: #18645
+#18648 := [symm #18646]: #18647
+#18649 := [mp #10907 #18648]: #11817
+#18650 := [hypothesis]: #4361
+#11821 := (not #11817)
+#15818 := (or #4366 #11821 #15163 #15183)
+#15150 := (+ #2237 #15149)
+#15151 := (+ #11814 #15150)
+#15152 := (= #15151 0::int)
+#15153 := (not #15152)
+#15154 := (+ #11814 #2237)
+#15155 := (>= #15154 0::int)
+#15156 := (or #11821 #15155 #15153)
+#15819 := (or #4366 #15156)
+#15826 := (iff #15819 #15818)
+#15186 := (or #11821 #15163 #15183)
+#15821 := (or #4366 #15186)
+#15824 := (iff #15821 #15818)
+#15825 := [rewrite]: #15824
+#15822 := (iff #15819 #15821)
+#15187 := (iff #15156 #15186)
+#15184 := (iff #15153 #15183)
+#15181 := (iff #15152 #15178)
+#15168 := (+ #11814 #15149)
+#15169 := (+ #2237 #15168)
+#15172 := (= #15169 0::int)
+#15179 := (iff #15172 #15178)
+#15180 := [rewrite]: #15179
+#15173 := (iff #15152 #15172)
+#15170 := (= #15151 #15169)
+#15171 := [rewrite]: #15170
+#15174 := [monotonicity #15171]: #15173
+#15182 := [trans #15174 #15180]: #15181
+#15185 := [monotonicity #15182]: #15184
+#15166 := (iff #15155 #15163)
+#15157 := (+ #2237 #11814)
+#15160 := (>= #15157 0::int)
+#15164 := (iff #15160 #15163)
+#15165 := [rewrite]: #15164
+#15161 := (iff #15155 #15160)
+#15158 := (= #15154 #15157)
+#15159 := [rewrite]: #15158
+#15162 := [monotonicity #15159]: #15161
+#15167 := [trans #15162 #15165]: #15166
+#15188 := [monotonicity #15167 #15185]: #15187
+#15823 := [monotonicity #15188]: #15822
+#15827 := [trans #15823 #15825]: #15826
+#15820 := [quant-inst]: #15819
+#15828 := [mp #15820 #15827]: #15818
+#18652 := [unit-resolution #15828 #18650 #18649]: #18651
+#18653 := [unit-resolution #18652 #18644]: #15183
+#18655 := (not #15830)
+#18654 := (not #15829)
+#18656 := (or #15178 #18654 #18655)
+#18657 := [th-lemma]: #18656
+#18658 := [unit-resolution #18657 #18653 #17865 #18591]: false
+#18660 := [lemma #18658]: #18659
+#27297 := [unit-resolution #18660 #27296]: #5655
+#18608 := (or #18607 #18550)
+#18609 := [th-lemma]: #18608
+#27298 := [unit-resolution #18609 #27297]: #18550
+#22669 := (not #18550)
+#22675 := (or #22674 #22669 #2248)
+#22670 := [hypothesis]: #2249
+#22671 := [hypothesis]: #18550
+#22672 := [hypothesis]: #5929
+#22673 := [th-lemma #22672 #22671 #22670]: false
+#22676 := [lemma #22673]: #22675
+#27299 := [unit-resolution #22676 #27298 #27295]: #22674
+#4003 := (or #4369 #2813)
+#3885 := [def-axiom]: #4003
+#27300 := [unit-resolution #3885 #27294]: #2813
+#16375 := (or #4218 #2810 #5929 #5934)
+#5926 := (or #5925 #5923 #5916)
+#5927 := (not #5926)
+#5930 := (or #2250 #5929 #5927)
+#16398 := (or #4218 #5930)
+#16553 := (iff #16398 #16375)
+#5937 := (or #2810 #5929 #5934)
+#16114 := (or #4218 #5937)
+#16503 := (iff #16114 #16375)
+#16391 := [rewrite]: #16503
+#16534 := (iff #16398 #16114)
+#5938 := (iff #5930 #5937)
+#5935 := (iff #5927 #5934)
+#5932 := (iff #5926 #5931)
+#5933 := [rewrite]: #5932
+#5936 := [monotonicity #5933]: #5935
+#5939 := [monotonicity #2812 #5936]: #5938
+#16550 := [monotonicity #5939]: #16534
+#16502 := [trans #16550 #16391]: #16553
+#16396 := [quant-inst]: #16398
+#16533 := [mp #16396 #16502]: #16375
+#27301 := [unit-resolution #16533 #10531 #27300 #27299]: #5934
+#16782 := (or #5931 #5924)
+#16643 := [def-axiom]: #16782
+#27302 := [unit-resolution #16643 #27301]: #5924
+#27310 := [mp #27302 #27309]: #25982
+#25983 := (not #25982)
+#27187 := (or #27170 #25983)
+#27188 := [def-axiom]: #27187
+#27311 := [unit-resolution #27188 #27310]: #27170
+#27192 := (not #27170)
+#27196 := (or #27195 #27162 #27192)
+#27197 := [def-axiom]: #27196
+#27313 := [unit-resolution #27197 #27311]: #27312
+#27314 := [unit-resolution #27313 #27285]: #27162
+#27323 := [unit-resolution #27314 #27322]: false
+#27324 := [lemma #27323]: #16889
+#16887 := (uf_24 #5912)
+#16906 := (* -1::int #16887)
+#17099 := (+ #2236 #16906)
+#17100 := (<= #17099 0::int)
+#22648 := (not #17100)
+#15991 := (not #5916)
+#16678 := (or #5931 #15991)
+#16501 := [def-axiom]: #16678
+#22641 := [unit-resolution #16501 #27301]: #15991
+#16907 := (+ #5913 #16906)
+#16908 := (>= #16907 0::int)
+#16989 := (or #4323 #16908)
+#16027 := [quant-inst]: #16989
+#22647 := [unit-resolution #16027 #10924]: #16908
+#22633 := (not #16908)
+#23110 := (or #22648 #5916 #22669 #22633)
+#22643 := [th-lemma]: #23110
+#18144 := [unit-resolution #22643 #27298 #22647 #22641]: #22648
+#17066 := (+ #5919 #16906)
+#17067 := (+ #2236 #17066)
+#17110 := (= #17067 0::int)
+#20033 := (>= #17067 0::int)
+#9449 := (>= #5921 0::int)
+#16586 := (or #5931 #5922)
+#16707 := [def-axiom]: #16586
+#16131 := [unit-resolution #16707 #27301]: #5922
+#21450 := (or #5923 #9449)
+#21454 := [th-lemma]: #21450
+#23041 := [unit-resolution #21454 #16131]: #9449
+#23063 := (not #9449)
+#23122 := (or #20033 #23063 #22669 #22633)
+#23065 := [th-lemma]: #23122
+#23044 := [unit-resolution #23065 #23041 #22647 #27298]: #20033
+#17068 := (<= #17067 0::int)
+#22638 := (<= #16907 0::int)
+#16888 := (= #5913 #16887)
+#16892 := (or #16888 #16890)
+#17827 := (or #4332 #16888 #16890)
+#16891 := (or #16890 #16888)
+#18121 := (or #4332 #16891)
+#16026 := (iff #18121 #17827)
+#18876 := (or #4332 #16892)
+#19063 := (iff #18876 #17827)
+#19159 := [rewrite]: #19063
+#19153 := (iff #18121 #18876)
+#16893 := (iff #16891 #16892)
+#16894 := [rewrite]: #16893
+#17533 := [monotonicity #16894]: #19153
+#19171 := [trans #17533 #19159]: #16026
+#19129 := [quant-inst]: #18121
+#17856 := [mp #19129 #19171]: #17827
+#18906 := [unit-resolution #17856 #10920]: #16892
+#23139 := [unit-resolution #18906 #27324]: #16888
+#23113 := (not #16888)
+#23108 := (or #23113 #22638)
+#23136 := [th-lemma]: #23108
+#23104 := [unit-resolution #23136 #23139]: #22638
+#5682 := (<= #5681 0::int)
+#20530 := (not #5682)
+#20531 := [hypothesis]: #20530
+#20442 := (or #4323 #5682)
+#5672 := (+ #5650 #2237)
+#5673 := (>= #5672 0::int)
+#20459 := (or #4323 #5673)
+#20466 := (iff #20459 #20442)
+#20473 := (iff #20442 #20442)
+#20476 := [rewrite]: #20473
+#5685 := (iff #5673 #5682)
+#5674 := (+ #2237 #5650)
+#5677 := (>= #5674 0::int)
+#5683 := (iff #5677 #5682)
+#5684 := [rewrite]: #5683
+#5678 := (iff #5673 #5677)
+#5675 := (= #5672 #5674)
+#5676 := [rewrite]: #5675
+#5679 := [monotonicity #5676]: #5678
+#5686 := [trans #5679 #5684]: #5685
+#20472 := [monotonicity #5686]: #20466
+#20477 := [trans #20472 #20476]: #20466
+#20465 := [quant-inst]: #20459
+#20527 := [mp #20465 #20477]: #20442
+#20526 := [unit-resolution #20527 #10924 #20531]: false
+#20532 := [lemma #20526]: #5682
+#15989 := (<= #5921 0::int)
+#23166 := (or #5923 #15989)
+#23129 := [th-lemma]: #23166
+#23111 := [unit-resolution #23129 #16131]: #15989
+#23142 := (not #22638)
+#23025 := (not #15989)
+#23268 := (or #17068 #23025 #20530 #23142)
+#23150 := [th-lemma]: #23268
+#23164 := [unit-resolution #23150 #23111 #20532 #23104]: #17068
+#23270 := (not #20033)
+#23269 := (not #17068)
+#23148 := (or #17110 #23269 #23270)
+#23146 := [th-lemma]: #23148
+#23271 := [unit-resolution #23146 #23164 #23044]: #17110
+#17115 := (not #17110)
+#17118 := (or #16890 #17100 #17115)
+#19968 := (or #4366 #16890 #17100 #17115)
+#17087 := (+ #2237 #5918)
+#17088 := (+ #16887 #17087)
+#17089 := (= #17088 0::int)
+#17090 := (not #17089)
+#17051 := (+ #16887 #2237)
+#17091 := (>= #17051 0::int)
+#17092 := (or #16890 #17091 #17090)
+#19969 := (or #4366 #17092)
+#19939 := (iff #19969 #19968)
+#19962 := (or #4366 #17118)
+#20004 := (iff #19962 #19968)
+#19963 := [rewrite]: #20004
+#20227 := (iff #19969 #19962)
+#17119 := (iff #17092 #17118)
+#17116 := (iff #17090 #17115)
+#17113 := (iff #17089 #17110)
+#17059 := (+ #5918 #16887)
+#17060 := (+ #2237 #17059)
+#17107 := (= #17060 0::int)
+#17111 := (iff #17107 #17110)
+#17112 := [rewrite]: #17111
+#17108 := (iff #17089 #17107)
+#17105 := (= #17088 #17060)
+#17106 := [rewrite]: #17105
+#17109 := [monotonicity #17106]: #17108
+#17114 := [trans #17109 #17112]: #17113
+#17117 := [monotonicity #17114]: #17116
+#17103 := (iff #17091 #17100)
+#17093 := (+ #2237 #16887)
+#17096 := (>= #17093 0::int)
+#17101 := (iff #17096 #17100)
+#17102 := [rewrite]: #17101
+#17097 := (iff #17091 #17096)
+#17094 := (= #17051 #17093)
+#17095 := [rewrite]: #17094
+#17098 := [monotonicity #17095]: #17097
+#17104 := [trans #17098 #17102]: #17103
+#17120 := [monotonicity #17104 #17117]: #17119
+#20114 := [monotonicity #17120]: #20227
+#20212 := [trans #20114 #19963]: #19939
+#19967 := [quant-inst]: #19969
+#20005 := [mp #19967 #20212]: #19968
+#23170 := [unit-resolution #20005 #27296]: #17118
+[unit-resolution #23170 #23271 #18144 #27324]: false
 unsat
--- a/src/HOL/Boogie/Tools/boogie_loader.ML	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Boogie/Tools/boogie_loader.ML	Mon Dec 07 11:18:44 2009 +0100
@@ -12,10 +12,10 @@
 structure Boogie_Loader: BOOGIE_LOADER =
 struct
 
-fun log verbose text args thy =
-  if verbose
-  then (Pretty.writeln (Pretty.big_list text (map Pretty.str args)); thy)
-  else thy
+fun log verbose text args x =
+  if verbose andalso not (null args)
+  then (Pretty.writeln (Pretty.big_list text (map Pretty.str args)); x)
+  else x
 
 val isabelle_name =
   let 
@@ -35,7 +35,7 @@
 
 fun label_name line col = "L_" ^ string_of_int line ^ "_" ^ string_of_int col
 
-datatype attribute_value = StringValue of string | TermValue of Term.term
+datatype attribute_value = StringValue of string | TermValue of term
 
 
 
@@ -51,27 +51,28 @@
       else NONE
     end
 
+  fun log_new bname name = bname ^ " (as " ^ name ^ ")"
+  fun log_ex bname name = "[" ^ bname ^ " has already been declared as " ^
+    name ^ "]"
+
   fun declare (name, arity) thy =
     let val isa_name = isabelle_name name
     in
       (case lookup_type_name thy isa_name arity of
-        SOME type_name => ((type_name, false), thy)
+        SOME type_name => (((name, type_name), log_ex name type_name), thy)
       | NONE =>
           let
             val args = Name.variant_list [] (replicate arity "'")
             val (T, thy') =
               ObjectLogic.typedecl (Binding.name isa_name, args, NoSyn) thy
             val type_name = fst (Term.dest_Type T)
-          in ((type_name, true), thy') end)
+          in (((name, type_name), log_new name type_name), thy') end)
     end
-
-  fun type_names ((name, _), (new_name, new)) =
-    if new then SOME (new_name ^ " (was " ^ name ^ ")") else NONE
 in
 fun declare_types verbose tys =
-  fold_map declare tys #-> (fn tds =>
-  log verbose "Declared types:" (map_filter type_names (tys ~~ tds)) #>
-  rpair (Symtab.make (map fst tys ~~ map fst tds)))
+  fold_map declare tys #>> split_list #-> (fn (tds, logs) =>
+  log verbose "Declared types:" logs #>
+  rpair (Symtab.make tds))
 end
 
 
@@ -146,23 +147,26 @@
       else NONE
     end
 
-  fun declare (name, ((Ts, T), atts)) thy =
-    let val isa_name = isabelle_name name and U = Ts ---> T
-    in
-      (case lookup_const thy isa_name U of
-        SOME t => (((name, t), false), thy)
-      | NONE => 
-          (case maybe_builtin U atts of
-            SOME t => (((name, t), false), thy)
-          | NONE =>
-              thy
-              |> Sign.declare_const ((Binding.name isa_name, U),
-                   mk_syntax name (length Ts))
-              |> apfst (rpair true o pair name)))
-    end
+  fun log_term thy t = Syntax.string_of_term_global thy t
+  fun log_new thy name t = name ^ " (as " ^ log_term thy t ^ ")"
+  fun log_ex thy name t = "[" ^ name ^ " has already been declared as " ^
+    log_term thy t ^ "]"
+  fun log_builtin thy name t = "[" ^ name ^ " has been identified as " ^
+    log_term thy t ^ "]"
 
-  fun new_names ((name, t), new) =
-    if new then SOME (fst (Term.dest_Const t) ^ " (as " ^ name ^ ")") else NONE
+  fun declare' name isa_name T arity atts thy =
+    (case lookup_const thy isa_name T of
+      SOME t => (((name, t), log_ex thy name t), thy)
+    | NONE =>
+        (case maybe_builtin T atts of
+          SOME t => (((name, t), log_builtin thy name t), thy)
+        | NONE =>
+            thy
+            |> Sign.declare_const ((Binding.name isa_name, T),
+                 mk_syntax name arity)
+            |> (fn (t, thy') => (((name, t), log_new thy' name t), thy'))))
+  fun declare (name, ((Ts, T), atts)) =
+    declare' name (isabelle_name name) (Ts ---> T) (length Ts) atts
 
   fun uniques fns fds =
     let
@@ -182,9 +186,9 @@
     end
 in
 fun declare_functions verbose fns =
-  fold_map declare fns #-> (fn fds =>
-  log verbose "Declared constants:" (map_filter new_names fds) #>
-  rpair (` (uniques fns) (Symtab.make (map fst fds))))
+  fold_map declare fns #>> split_list #-> (fn (fds, logs) =>
+  log verbose "Loaded constants:" logs #>
+  rpair (` (uniques fns) (Symtab.make fds)))
 end
 
 
@@ -194,17 +198,41 @@
     let fun mk_name idx = "axiom_" ^ string_of_int (idx + 1)
     in map_index (fn (idx, t) => (mk_name idx, HOLogic.mk_Trueprop t)) axs end
 
-  fun only_new_boogie_axioms thy =
-    let val baxs = map Thm.prop_of (Boogie_Axioms.get (ProofContext.init thy))
-    in filter_out (member (op aconv) baxs o snd) end
+  datatype kind = Unused of thm | Used of thm | New of string
+
+  fun mark (name, t) axs =
+    (case Termtab.lookup axs t of
+      SOME (Unused thm) => Termtab.update (t, Used thm) axs
+    | NONE => Termtab.update (t, New name) axs
+    | SOME _ => axs)
+
+  val sort_fst_str = sort (prod_ord fast_string_ord (K EQUAL)) 
+  fun split_list_kind thy axs =
+    let
+      fun split (_, Used thm) (used, new) = (thm :: used, new)
+        | split (t, New name) (used, new) = (used, (name, t) :: new)
+        | split (t, Unused thm) (used, new) =
+           (warning (Pretty.str_of
+             (Pretty.big_list "This background axiom has not been loaded:"
+               [Display.pretty_thm_global thy thm]));
+            (used, new))
+    in apsnd sort_fst_str (fold split axs ([], [])) end
+
+  fun mark_axioms thy axs =
+    Boogie_Axioms.get (ProofContext.init thy)
+    |> Termtab.make o map (fn thm => (Thm.prop_of thm, Unused thm))
+    |> fold mark axs
+    |> split_list_kind thy o Termtab.dest
 in
 fun add_axioms verbose axs thy =
-  let val axs' = only_new_boogie_axioms thy (name_axioms axs)
+  let val (used, new) = mark_axioms thy (name_axioms axs)
   in
     thy
-    |> PureThy.add_axioms (map (rpair [] o apfst Binding.name) axs')
+    |> PureThy.add_axioms (map (rpair [] o apfst Binding.name) new)
     |-> Context.theory_map o fold Boogie_Axioms.add_thm
-    |> log verbose "The following axioms were added:" (map fst axs')
+    |> log verbose "The following axioms were added:" (map fst new)
+    |> (fn thy' => log verbose "The following axioms already existed:"
+         (map (Display.string_of_thm_global thy') used) thy')
     |> Context.theory_map (fn context => fold Split_VC_SMT_Rules.add_thm
          (Boogie_Axioms.get (Context.proof_of context)) context)
   end
--- a/src/HOL/Complete_Lattice.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Complete_Lattice.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -7,10 +7,10 @@
 begin
 
 notation
-  less_eq  (infix "\<sqsubseteq>" 50) and
+  less_eq (infix "\<sqsubseteq>" 50) and
   less (infix "\<sqsubset>" 50) and
-  inf  (infixl "\<sqinter>" 70) and
-  sup  (infixl "\<squnion>" 65) and
+  inf (infixl "\<sqinter>" 70) and
+  sup (infixl "\<squnion>" 65) and
   top ("\<top>") and
   bot ("\<bottom>")
 
@@ -25,7 +25,7 @@
 
 subsection {* Abstract complete lattices *}
 
-class complete_lattice = lattice + bot + top + Inf + Sup +
+class complete_lattice = bounded_lattice + Inf + Sup +
   assumes Inf_lower: "x \<in> A \<Longrightarrow> \<Sqinter>A \<sqsubseteq> x"
      and Inf_greatest: "(\<And>x. x \<in> A \<Longrightarrow> z \<sqsubseteq> x) \<Longrightarrow> z \<sqsubseteq> \<Sqinter>A"
   assumes Sup_upper: "x \<in> A \<Longrightarrow> x \<sqsubseteq> \<Squnion>A"
@@ -34,22 +34,23 @@
 
 lemma dual_complete_lattice:
   "complete_lattice Sup Inf (op \<ge>) (op >) (op \<squnion>) (op \<sqinter>) \<top> \<bottom>"
-  by (auto intro!: complete_lattice.intro dual_lattice
-    bot.intro top.intro dual_preorder, unfold_locales)
-      (fact bot_least top_greatest
-        Sup_upper Sup_least Inf_lower Inf_greatest)+
+  by (auto intro!: complete_lattice.intro dual_bounded_lattice)
+    (unfold_locales, (fact bot_least top_greatest
+        Sup_upper Sup_least Inf_lower Inf_greatest)+)
 
-lemma Inf_Sup: "\<Sqinter>A = \<Squnion>{b. \<forall>a \<in> A. b \<le> a}"
+lemma Inf_Sup: "\<Sqinter>A = \<Squnion>{b. \<forall>a \<in> A. b \<sqsubseteq> a}"
   by (auto intro: antisym Inf_lower Inf_greatest Sup_upper Sup_least)
 
-lemma Sup_Inf:  "\<Squnion>A = \<Sqinter>{b. \<forall>a \<in> A. a \<le> b}"
+lemma Sup_Inf:  "\<Squnion>A = \<Sqinter>{b. \<forall>a \<in> A. a \<sqsubseteq> b}"
   by (auto intro: antisym Inf_lower Inf_greatest Sup_upper Sup_least)
 
-lemma Inf_Univ: "\<Sqinter>UNIV = \<Squnion>{}"
-  unfolding Sup_Inf by auto
+lemma Inf_empty:
+  "\<Sqinter>{} = \<top>"
+  by (auto intro: antisym Inf_greatest)
 
-lemma Sup_Univ: "\<Squnion>UNIV = \<Sqinter>{}"
-  unfolding Inf_Sup by auto
+lemma Sup_empty:
+  "\<Squnion>{} = \<bottom>"
+  by (auto intro: antisym Sup_least)
 
 lemma Inf_insert: "\<Sqinter>insert a A = a \<sqinter> \<Sqinter>A"
   by (auto intro: le_infI le_infI1 le_infI2 antisym Inf_greatest Inf_lower)
@@ -65,37 +66,21 @@
   "\<Squnion>{a} = a"
   by (auto intro: antisym Sup_upper Sup_least)
 
-lemma Inf_insert_simp:
-  "\<Sqinter>insert a A = (if A = {} then a else a \<sqinter> \<Sqinter>A)"
-  by (cases "A = {}") (simp_all, simp add: Inf_insert)
-
-lemma Sup_insert_simp:
-  "\<Squnion>insert a A = (if A = {} then a else a \<squnion> \<Squnion>A)"
-  by (cases "A = {}") (simp_all, simp add: Sup_insert)
-
 lemma Inf_binary:
   "\<Sqinter>{a, b} = a \<sqinter> b"
-  by (auto simp add: Inf_insert_simp)
+  by (simp add: Inf_empty Inf_insert)
 
 lemma Sup_binary:
   "\<Squnion>{a, b} = a \<squnion> b"
-  by (auto simp add: Sup_insert_simp)
-
-lemma bot_def:
-  "bot = \<Squnion>{}"
-  by (auto intro: antisym Sup_least)
+  by (simp add: Sup_empty Sup_insert)
 
-lemma top_def:
-  "top = \<Sqinter>{}"
-  by (auto intro: antisym Inf_greatest)
+lemma Inf_UNIV:
+  "\<Sqinter>UNIV = bot"
+  by (simp add: Sup_Inf Sup_empty [symmetric])
 
-lemma sup_bot [simp]:
-  "x \<squnion> bot = x"
-  using bot_least [of x] by (simp add: sup_commute sup_absorb2)
-
-lemma inf_top [simp]:
-  "x \<sqinter> top = x"
-  using top_greatest [of x] by (simp add: inf_commute inf_absorb2)
+lemma Sup_UNIV:
+  "\<Squnion>UNIV = top"
+  by (simp add: Inf_Sup Inf_empty [symmetric])
 
 definition SUPR :: "'b set \<Rightarrow> ('b \<Rightarrow> 'a) \<Rightarrow> 'a" where
   "SUPR A f = \<Squnion> (f ` A)"
@@ -129,16 +114,16 @@
 context complete_lattice
 begin
 
-lemma le_SUPI: "i : A \<Longrightarrow> M i \<le> (SUP i:A. M i)"
+lemma le_SUPI: "i : A \<Longrightarrow> M i \<sqsubseteq> (SUP i:A. M i)"
   by (auto simp add: SUPR_def intro: Sup_upper)
 
-lemma SUP_leI: "(\<And>i. i : A \<Longrightarrow> M i \<le> u) \<Longrightarrow> (SUP i:A. M i) \<le> u"
+lemma SUP_leI: "(\<And>i. i : A \<Longrightarrow> M i \<sqsubseteq> u) \<Longrightarrow> (SUP i:A. M i) \<sqsubseteq> u"
   by (auto simp add: SUPR_def intro: Sup_least)
 
-lemma INF_leI: "i : A \<Longrightarrow> (INF i:A. M i) \<le> M i"
+lemma INF_leI: "i : A \<Longrightarrow> (INF i:A. M i) \<sqsubseteq> M i"
   by (auto simp add: INFI_def intro: Inf_lower)
 
-lemma le_INFI: "(\<And>i. i : A \<Longrightarrow> u \<le> M i) \<Longrightarrow> u \<le> (INF i:A. M i)"
+lemma le_INFI: "(\<And>i. i : A \<Longrightarrow> u \<sqsubseteq> M i) \<Longrightarrow> u \<sqsubseteq> (INF i:A. M i)"
   by (auto simp add: INFI_def intro: Inf_greatest)
 
 lemma SUP_const[simp]: "A \<noteq> {} \<Longrightarrow> (SUP i:A. M) = M"
--- a/src/HOL/Finite_Set.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Finite_Set.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -2937,37 +2937,6 @@
 
 end
 
-context complete_lattice
-begin
-
-text {*
-  Coincidence on finite sets in complete lattices:
-*}
-
-lemma Inf_fin_Inf:
-  assumes "finite A" and "A \<noteq> {}"
-  shows "\<Sqinter>\<^bsub>fin\<^esub>A = Inf A"
-proof -
-    interpret ab_semigroup_idem_mult inf
-    by (rule ab_semigroup_idem_mult_inf)
-  from assms show ?thesis
-  unfolding Inf_fin_def by (induct A set: finite)
-    (simp_all add: Inf_insert_simp)
-qed
-
-lemma Sup_fin_Sup:
-  assumes "finite A" and "A \<noteq> {}"
-  shows "\<Squnion>\<^bsub>fin\<^esub>A = Sup A"
-proof -
-  interpret ab_semigroup_idem_mult sup
-    by (rule ab_semigroup_idem_mult_sup)
-  from assms show ?thesis
-  unfolding Sup_fin_def by (induct A set: finite)
-    (simp_all add: Sup_insert_simp)
-qed
-
-end
-
 
 subsubsection {* Fold1 in linear orders with @{const min} and @{const max} *}
 
@@ -3345,15 +3314,15 @@
 proof
 qed auto
 
-lemma fun_left_comm_idem_inter:
-  "fun_left_comm_idem op \<inter>"
+lemma (in lower_semilattice) fun_left_comm_idem_inf:
+  "fun_left_comm_idem inf"
 proof
-qed auto
-
-lemma fun_left_comm_idem_union:
-  "fun_left_comm_idem op \<union>"
+qed (auto simp add: inf_left_commute)
+
+lemma (in upper_semilattice) fun_left_comm_idem_sup:
+  "fun_left_comm_idem sup"
 proof
-qed auto
+qed (auto simp add: sup_left_commute)
 
 lemma union_fold_insert:
   assumes "finite A"
@@ -3371,60 +3340,95 @@
   from `finite A` show ?thesis by (induct A arbitrary: B) auto
 qed
 
-lemma inter_Inter_fold_inter:
+context complete_lattice
+begin
+
+lemma inf_Inf_fold_inf:
   assumes "finite A"
-  shows "B \<inter> Inter A = fold (op \<inter>) B A"
+  shows "inf B (Inf A) = fold inf B A"
 proof -
-  interpret fun_left_comm_idem "op \<inter>" by (fact fun_left_comm_idem_inter)
+  interpret fun_left_comm_idem inf by (fact fun_left_comm_idem_inf)
   from `finite A` show ?thesis by (induct A arbitrary: B)
-    (simp_all add: fold_fun_comm Int_commute)
+    (simp_all add: Inf_empty Inf_insert inf_commute fold_fun_comm)
 qed
 
-lemma union_Union_fold_union:
+lemma sup_Sup_fold_sup:
   assumes "finite A"
-  shows "B \<union> Union A = fold (op \<union>) B A"
+  shows "sup B (Sup A) = fold sup B A"
 proof -
-  interpret fun_left_comm_idem "op \<union>" by (fact fun_left_comm_idem_union)
+  interpret fun_left_comm_idem sup by (fact fun_left_comm_idem_sup)
   from `finite A` show ?thesis by (induct A arbitrary: B)
-    (simp_all add: fold_fun_comm Un_commute)
+    (simp_all add: Sup_empty Sup_insert sup_commute fold_fun_comm)
 qed
 
-lemma Inter_fold_inter:
+lemma Inf_fold_inf:
   assumes "finite A"
-  shows "Inter A = fold (op \<inter>) UNIV A"
-  using assms inter_Inter_fold_inter [of A UNIV] by simp
-
-lemma Union_fold_union:
+  shows "Inf A = fold inf top A"
+  using assms inf_Inf_fold_inf [of A top] by (simp add: inf_absorb2)
+
+lemma Sup_fold_sup:
   assumes "finite A"
-  shows "Union A = fold (op \<union>) {} A"
-  using assms union_Union_fold_union [of A "{}"] by simp
-
-lemma inter_INTER_fold_inter:
-  assumes "finite A"
-  shows "B \<inter> INTER A f = fold (\<lambda>A. op \<inter> (f A)) B A" (is "?inter = ?fold") 
-proof (rule sym)
-  interpret fun_left_comm_idem "op \<inter>" by (fact fun_left_comm_idem_inter)
-  interpret fun_left_comm_idem "\<lambda>A. op \<inter> (f A)" by (fact fun_left_comm_idem_apply)
-  from `finite A` show "?fold = ?inter" by (induct A arbitrary: B) auto
+  shows "Sup A = fold sup bot A"
+  using assms sup_Sup_fold_sup [of A bot] by (simp add: sup_absorb2)
+
+lemma Inf_fin_Inf:
+  assumes "finite A" and "A \<noteq> {}"
+  shows "\<Sqinter>\<^bsub>fin\<^esub>A = Inf A"
+proof -
+  interpret ab_semigroup_idem_mult inf
+    by (rule ab_semigroup_idem_mult_inf)
+  from `A \<noteq> {}` obtain b B where "A = insert b B" by auto
+  moreover with `finite A` have "finite B" by simp
+  ultimately show ?thesis  
+  by (simp add: Inf_fin_def fold1_eq_fold_idem inf_Inf_fold_inf [symmetric])
+    (simp add: Inf_fold_inf)
 qed
 
-lemma union_UNION_fold_union:
+lemma Sup_fin_Sup:
+  assumes "finite A" and "A \<noteq> {}"
+  shows "\<Squnion>\<^bsub>fin\<^esub>A = Sup A"
+proof -
+  interpret ab_semigroup_idem_mult sup
+    by (rule ab_semigroup_idem_mult_sup)
+  from `A \<noteq> {}` obtain b B where "A = insert b B" by auto
+  moreover with `finite A` have "finite B" by simp
+  ultimately show ?thesis  
+  by (simp add: Sup_fin_def fold1_eq_fold_idem sup_Sup_fold_sup [symmetric])
+    (simp add: Sup_fold_sup)
+qed
+
+lemma inf_INFI_fold_inf:
   assumes "finite A"
-  shows "B \<union> UNION A f = fold (\<lambda>A. op \<union> (f A)) B A" (is "?union = ?fold") 
+  shows "inf B (INFI A f) = fold (\<lambda>A. inf (f A)) B A" (is "?inf = ?fold") 
 proof (rule sym)
-  interpret fun_left_comm_idem "op \<union>" by (fact fun_left_comm_idem_union)
-  interpret fun_left_comm_idem "\<lambda>A. op \<union> (f A)" by (fact fun_left_comm_idem_apply)
-  from `finite A` show "?fold = ?union" by (induct A arbitrary: B) auto
+  interpret fun_left_comm_idem inf by (fact fun_left_comm_idem_inf)
+  interpret fun_left_comm_idem "\<lambda>A. inf (f A)" by (fact fun_left_comm_idem_apply)
+  from `finite A` show "?fold = ?inf"
+  by (induct A arbitrary: B)
+    (simp_all add: INFI_def Inf_empty Inf_insert inf_left_commute)
 qed
 
-lemma INTER_fold_inter:
+lemma sup_SUPR_fold_sup:
   assumes "finite A"
-  shows "INTER A f = fold (\<lambda>A. op \<inter> (f A)) UNIV A"
-  using assms inter_INTER_fold_inter [of A UNIV] by simp
-
-lemma UNION_fold_union:
+  shows "sup B (SUPR A f) = fold (\<lambda>A. sup (f A)) B A" (is "?sup = ?fold") 
+proof (rule sym)
+  interpret fun_left_comm_idem sup by (fact fun_left_comm_idem_sup)
+  interpret fun_left_comm_idem "\<lambda>A. sup (f A)" by (fact fun_left_comm_idem_apply)
+  from `finite A` show "?fold = ?sup"
+  by (induct A arbitrary: B)
+    (simp_all add: SUPR_def Sup_empty Sup_insert sup_left_commute)
+qed
+
+lemma INFI_fold_inf:
   assumes "finite A"
-  shows "UNION A f = fold (\<lambda>A. op \<union> (f A)) {} A"
-  using assms union_UNION_fold_union [of A "{}"] by simp
+  shows "INFI A f = fold (\<lambda>A. inf (f A)) top A"
+  using assms inf_INFI_fold_inf [of A top] by simp
+
+lemma SUPR_fold_sup:
+  assumes "finite A"
+  shows "SUPR A f = fold (\<lambda>A. sup (f A)) bot A"
+  using assms sup_SUPR_fold_sup [of A bot] by simp
 
 end
+
+end
--- a/src/HOL/Lattices.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Lattices.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -70,7 +70,7 @@
 
 lemma mono_inf:
   fixes f :: "'a \<Rightarrow> 'b\<Colon>lower_semilattice"
-  shows "mono f \<Longrightarrow> f (A \<sqinter> B) \<le> f A \<sqinter> f B"
+  shows "mono f \<Longrightarrow> f (A \<sqinter> B) \<sqsubseteq> f A \<sqinter> f B"
   by (auto simp add: mono_def intro: Lattices.inf_greatest)
 
 end
@@ -104,7 +104,7 @@
 
 lemma mono_sup:
   fixes f :: "'a \<Rightarrow> 'b\<Colon>upper_semilattice"
-  shows "mono f \<Longrightarrow> f A \<squnion> f B \<le> f (A \<squnion> B)"
+  shows "mono f \<Longrightarrow> f A \<squnion> f B \<sqsubseteq> f (A \<squnion> B)"
   by (auto simp add: mono_def intro: Lattices.sup_least)
 
 end
@@ -241,22 +241,22 @@
 begin
 
 lemma less_supI1:
-  "x < a \<Longrightarrow> x < a \<squnion> b"
+  "x \<sqsubset> a \<Longrightarrow> x \<sqsubset> a \<squnion> b"
 proof -
   interpret dual: lower_semilattice "op \<ge>" "op >" sup
     by (fact dual_semilattice)
-  assume "x < a"
-  then show "x < a \<squnion> b"
+  assume "x \<sqsubset> a"
+  then show "x \<sqsubset> a \<squnion> b"
     by (fact dual.less_infI1)
 qed
 
 lemma less_supI2:
-  "x < b \<Longrightarrow> x < a \<squnion> b"
+  "x \<sqsubset> b \<Longrightarrow> x \<sqsubset> a \<squnion> b"
 proof -
   interpret dual: lower_semilattice "op \<ge>" "op >" sup
     by (fact dual_semilattice)
-  assume "x < b"
-  then show "x < a \<squnion> b"
+  assume "x \<sqsubset> b"
+  then show "x \<sqsubset> a \<squnion> b"
     by (fact dual.less_infI2)
 qed
 
@@ -294,58 +294,46 @@
 end
 
 
-subsection {* Boolean algebras *}
+subsection {* Bounded lattices and boolean algebras *}
 
-class boolean_algebra = distrib_lattice + top + bot + minus + uminus +
-  assumes inf_compl_bot: "x \<sqinter> - x = bot"
-    and sup_compl_top: "x \<squnion> - x = top"
-  assumes diff_eq: "x - y = x \<sqinter> - y"
+class bounded_lattice = lattice + top + bot
 begin
 
-lemma dual_boolean_algebra:
-  "boolean_algebra (\<lambda>x y. x \<squnion> - y) uminus (op \<ge>) (op >) (op \<squnion>) (op \<sqinter>) top bot"
-  by (rule boolean_algebra.intro, rule dual_distrib_lattice)
-    (unfold_locales,
-      auto simp add: inf_compl_bot sup_compl_top diff_eq less_le_not_le)
-
-lemma compl_inf_bot:
-  "- x \<sqinter> x = bot"
-  by (simp add: inf_commute inf_compl_bot)
-
-lemma compl_sup_top:
-  "- x \<squnion> x = top"
-  by (simp add: sup_commute sup_compl_top)
+lemma dual_bounded_lattice:
+  "bounded_lattice (op \<ge>) (op >) (op \<squnion>) (op \<sqinter>) \<top> \<bottom>"
+  by (rule bounded_lattice.intro, rule dual_lattice)
+    (unfold_locales, auto simp add: less_le_not_le)
 
 lemma inf_bot_left [simp]:
-  "bot \<sqinter> x = bot"
+  "\<bottom> \<sqinter> x = \<bottom>"
   by (rule inf_absorb1) simp
 
 lemma inf_bot_right [simp]:
-  "x \<sqinter> bot = bot"
+  "x \<sqinter> \<bottom> = \<bottom>"
   by (rule inf_absorb2) simp
 
 lemma sup_top_left [simp]:
-  "top \<squnion> x = top"
+  "\<top> \<squnion> x = \<top>"
   by (rule sup_absorb1) simp
 
 lemma sup_top_right [simp]:
-  "x \<squnion> top = top"
+  "x \<squnion> \<top> = \<top>"
   by (rule sup_absorb2) simp
 
 lemma inf_top_left [simp]:
-  "top \<sqinter> x = x"
+  "\<top> \<sqinter> x = x"
   by (rule inf_absorb2) simp
 
 lemma inf_top_right [simp]:
-  "x \<sqinter> top = x"
+  "x \<sqinter> \<top> = x"
   by (rule inf_absorb1) simp
 
 lemma sup_bot_left [simp]:
-  "bot \<squnion> x = x"
+  "\<bottom> \<squnion> x = x"
   by (rule sup_absorb2) simp
 
 lemma sup_bot_right [simp]:
-  "x \<squnion> bot = x"
+  "x \<squnion> \<bottom> = x"
   by (rule sup_absorb1) simp
 
 lemma inf_eq_top_eq1:
@@ -354,8 +342,8 @@
 proof (cases "B = \<top>")
   case True with assms show ?thesis by simp
 next
-  case False with top_greatest have "B < \<top>" by (auto intro: neq_le_trans)
-  then have "A \<sqinter> B < \<top>" by (rule less_infI2)
+  case False with top_greatest have "B \<sqsubset> \<top>" by (auto intro: neq_le_trans)
+  then have "A \<sqinter> B \<sqsubset> \<top>" by (rule less_infI2)
   with assms show ?thesis by simp
 qed
 
@@ -368,8 +356,8 @@
   assumes "A \<squnion> B = \<bottom>"
   shows "A = \<bottom>"
 proof -
-  interpret dual: boolean_algebra "\<lambda>x y. x \<squnion> - y" uminus "op \<ge>" "op >" "op \<squnion>" "op \<sqinter>" top bot
-    by (rule dual_boolean_algebra)
+  interpret dual: bounded_lattice "op \<ge>" "op >" "op \<squnion>" "op \<sqinter>" \<top> \<bottom>
+    by (rule dual_bounded_lattice)
   from dual.inf_eq_top_eq1 assms show ?thesis .
 qed
 
@@ -377,14 +365,35 @@
   assumes "A \<squnion> B = \<bottom>"
   shows "B = \<bottom>"
 proof -
-  interpret dual: boolean_algebra "\<lambda>x y. x \<squnion> - y" uminus "op \<ge>" "op >" "op \<squnion>" "op \<sqinter>" top bot
-    by (rule dual_boolean_algebra)
+  interpret dual: bounded_lattice "op \<ge>" "op >" "op \<squnion>" "op \<sqinter>" \<top> \<bottom>
+    by (rule dual_bounded_lattice)
   from dual.inf_eq_top_eq2 assms show ?thesis .
 qed
 
+end
+
+class boolean_algebra = distrib_lattice + bounded_lattice + minus + uminus +
+  assumes inf_compl_bot: "x \<sqinter> - x = \<bottom>"
+    and sup_compl_top: "x \<squnion> - x = \<top>"
+  assumes diff_eq: "x - y = x \<sqinter> - y"
+begin
+
+lemma dual_boolean_algebra:
+  "boolean_algebra (\<lambda>x y. x \<squnion> - y) uminus (op \<ge>) (op >) (op \<squnion>) (op \<sqinter>) \<top> \<bottom>"
+  by (rule boolean_algebra.intro, rule dual_bounded_lattice, rule dual_distrib_lattice)
+    (unfold_locales, auto simp add: inf_compl_bot sup_compl_top diff_eq)
+
+lemma compl_inf_bot:
+  "- x \<sqinter> x = \<bottom>"
+  by (simp add: inf_commute inf_compl_bot)
+
+lemma compl_sup_top:
+  "- x \<squnion> x = \<top>"
+  by (simp add: sup_commute sup_compl_top)
+
 lemma compl_unique:
-  assumes "x \<sqinter> y = bot"
-    and "x \<squnion> y = top"
+  assumes "x \<sqinter> y = \<bottom>"
+    and "x \<squnion> y = \<top>"
   shows "- x = y"
 proof -
   have "(x \<sqinter> - x) \<squnion> (- x \<sqinter> y) = (x \<sqinter> y) \<squnion> (- x \<sqinter> y)"
@@ -393,7 +402,7 @@
     by (simp add: inf_commute)
   then have "- x \<sqinter> (x \<squnion> y) = y \<sqinter> (x \<squnion> - x)"
     by (simp add: inf_sup_distrib1)
-  then have "- x \<sqinter> top = y \<sqinter> top"
+  then have "- x \<sqinter> \<top> = y \<sqinter> \<top>"
     using sup_compl_top assms(2) by simp
   then show "- x = y" by (simp add: inf_top_right)
 qed
@@ -406,8 +415,8 @@
   "- x = - y \<longleftrightarrow> x = y"
 proof
   assume "- x = - y"
-  then have "- x \<sqinter> y = bot"
-    and "- x \<squnion> y = top"
+  then have "- x \<sqinter> y = \<bottom>"
+    and "- x \<squnion> y = \<top>"
     by (simp_all add: compl_inf_bot compl_sup_top)
   then have "- (- x) = y" by (rule compl_unique)
   then show "x = y" by simp
@@ -417,16 +426,16 @@
 qed
 
 lemma compl_bot_eq [simp]:
-  "- bot = top"
+  "- \<bottom> = \<top>"
 proof -
-  from sup_compl_top have "bot \<squnion> - bot = top" .
+  from sup_compl_top have "\<bottom> \<squnion> - \<bottom> = \<top>" .
   then show ?thesis by simp
 qed
 
 lemma compl_top_eq [simp]:
-  "- top = bot"
+  "- \<top> = \<bottom>"
 proof -
-  from inf_compl_bot have "top \<sqinter> - top = bot" .
+  from inf_compl_bot have "\<top> \<sqinter> - \<top> = \<bottom>" .
   then show ?thesis by simp
 qed
 
@@ -437,21 +446,21 @@
     by (rule inf_sup_distrib1)
   also have "... = (y \<sqinter> (x \<sqinter> - x)) \<squnion> (x \<sqinter> (y \<sqinter> - y))"
     by (simp only: inf_commute inf_assoc inf_left_commute)
-  finally show "(x \<sqinter> y) \<sqinter> (- x \<squnion> - y) = bot"
+  finally show "(x \<sqinter> y) \<sqinter> (- x \<squnion> - y) = \<bottom>"
     by (simp add: inf_compl_bot)
 next
   have "(x \<sqinter> y) \<squnion> (- x \<squnion> - y) = (x \<squnion> (- x \<squnion> - y)) \<sqinter> (y \<squnion> (- x \<squnion> - y))"
     by (rule sup_inf_distrib2)
   also have "... = (- y \<squnion> (x \<squnion> - x)) \<sqinter> (- x \<squnion> (y \<squnion> - y))"
     by (simp only: sup_commute sup_assoc sup_left_commute)
-  finally show "(x \<sqinter> y) \<squnion> (- x \<squnion> - y) = top"
+  finally show "(x \<sqinter> y) \<squnion> (- x \<squnion> - y) = \<top>"
     by (simp add: sup_compl_top)
 qed
 
 lemma compl_sup [simp]:
   "- (x \<squnion> y) = - x \<sqinter> - y"
 proof -
-  interpret boolean_algebra "\<lambda>x y. x \<squnion> - y" uminus "op \<ge>" "op >" "op \<squnion>" "op \<sqinter>" top bot
+  interpret boolean_algebra "\<lambda>x y. x \<squnion> - y" uminus "op \<ge>" "op >" "op \<squnion>" "op \<sqinter>" \<top> \<bottom>
     by (rule dual_boolean_algebra)
   then show ?thesis by simp
 qed
@@ -463,26 +472,26 @@
 
 lemma (in lower_semilattice) inf_unique:
   fixes f (infixl "\<triangle>" 70)
-  assumes le1: "\<And>x y. x \<triangle> y \<le> x" and le2: "\<And>x y. x \<triangle> y \<le> y"
-  and greatest: "\<And>x y z. x \<le> y \<Longrightarrow> x \<le> z \<Longrightarrow> x \<le> y \<triangle> z"
+  assumes le1: "\<And>x y. x \<triangle> y \<sqsubseteq> x" and le2: "\<And>x y. x \<triangle> y \<sqsubseteq> y"
+  and greatest: "\<And>x y z. x \<sqsubseteq> y \<Longrightarrow> x \<sqsubseteq> z \<Longrightarrow> x \<sqsubseteq> y \<triangle> z"
   shows "x \<sqinter> y = x \<triangle> y"
 proof (rule antisym)
-  show "x \<triangle> y \<le> x \<sqinter> y" by (rule le_infI) (rule le1, rule le2)
+  show "x \<triangle> y \<sqsubseteq> x \<sqinter> y" by (rule le_infI) (rule le1, rule le2)
 next
-  have leI: "\<And>x y z. x \<le> y \<Longrightarrow> x \<le> z \<Longrightarrow> x \<le> y \<triangle> z" by (blast intro: greatest)
-  show "x \<sqinter> y \<le> x \<triangle> y" by (rule leI) simp_all
+  have leI: "\<And>x y z. x \<sqsubseteq> y \<Longrightarrow> x \<sqsubseteq> z \<Longrightarrow> x \<sqsubseteq> y \<triangle> z" by (blast intro: greatest)
+  show "x \<sqinter> y \<sqsubseteq> x \<triangle> y" by (rule leI) simp_all
 qed
 
 lemma (in upper_semilattice) sup_unique:
   fixes f (infixl "\<nabla>" 70)
-  assumes ge1 [simp]: "\<And>x y. x \<le> x \<nabla> y" and ge2: "\<And>x y. y \<le> x \<nabla> y"
-  and least: "\<And>x y z. y \<le> x \<Longrightarrow> z \<le> x \<Longrightarrow> y \<nabla> z \<le> x"
+  assumes ge1 [simp]: "\<And>x y. x \<sqsubseteq> x \<nabla> y" and ge2: "\<And>x y. y \<sqsubseteq> x \<nabla> y"
+  and least: "\<And>x y z. y \<sqsubseteq> x \<Longrightarrow> z \<sqsubseteq> x \<Longrightarrow> y \<nabla> z \<sqsubseteq> x"
   shows "x \<squnion> y = x \<nabla> y"
 proof (rule antisym)
-  show "x \<squnion> y \<le> x \<nabla> y" by (rule le_supI) (rule ge1, rule ge2)
+  show "x \<squnion> y \<sqsubseteq> x \<nabla> y" by (rule le_supI) (rule ge1, rule ge2)
 next
-  have leI: "\<And>x y z. x \<le> z \<Longrightarrow> y \<le> z \<Longrightarrow> x \<nabla> y \<le> z" by (blast intro: least)
-  show "x \<nabla> y \<le> x \<squnion> y" by (rule leI) simp_all
+  have leI: "\<And>x y z. x \<sqsubseteq> z \<Longrightarrow> y \<sqsubseteq> z \<Longrightarrow> x \<nabla> y \<sqsubseteq> z" by (blast intro: least)
+  show "x \<nabla> y \<sqsubseteq> x \<squnion> y" by (rule leI) simp_all
 qed
   
 
@@ -568,6 +577,8 @@
 proof
 qed (simp_all add: inf_fun_eq sup_fun_eq sup_inf_distrib1)
 
+instance "fun" :: (type, bounded_lattice) bounded_lattice ..
+
 instantiation "fun" :: (type, uminus) uminus
 begin
 
--- a/src/HOL/Library/Crude_Executable_Set.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Library/Crude_Executable_Set.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -236,12 +236,12 @@
 lemma Inf_inf [code]:
   "Inf (Set xs) = foldl inf (top :: 'a::complete_lattice) xs"
   "Inf (Coset []) = (bot :: 'a::complete_lattice)"
-  by (simp_all add: Inf_Univ bot_def [symmetric] Inf_set_fold)
+  by (simp_all add: Inf_UNIV Inf_set_fold)
 
 lemma Sup_sup [code]:
   "Sup (Set xs) = foldl sup (bot :: 'a::complete_lattice) xs"
   "Sup (Coset []) = (top :: 'a::complete_lattice)"
-  by (simp_all add: Sup_Univ top_def [symmetric] Sup_set_fold)
+  by (simp_all add: Sup_UNIV Sup_set_fold)
 
 lemma Inter_inter [code]:
   "Inter (Set xs) = foldl inter (Coset []) xs"
--- a/src/HOL/Library/List_Set.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Library/List_Set.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -85,50 +85,6 @@
   "project P (set xs) = set (filter P xs)"
   by (auto simp add: project_def)
 
-text {* FIXME move the following to @{text Finite_Set.thy} *}
-
-lemma fun_left_comm_idem_inf:
-  "fun_left_comm_idem inf"
-proof
-qed (auto simp add: inf_left_commute)
-
-lemma fun_left_comm_idem_sup:
-  "fun_left_comm_idem sup"
-proof
-qed (auto simp add: sup_left_commute)
-
-lemma inf_Inf_fold_inf:
-  fixes A :: "'a::complete_lattice set"
-  assumes "finite A"
-  shows "inf B (Inf A) = fold inf B A"
-proof -
-  interpret fun_left_comm_idem inf by (fact fun_left_comm_idem_inf)
-  from `finite A` show ?thesis by (induct A arbitrary: B)
-    (simp_all add: top_def [symmetric] Inf_insert inf_commute fold_fun_comm)
-qed
-
-lemma sup_Sup_fold_sup:
-  fixes A :: "'a::complete_lattice set"
-  assumes "finite A"
-  shows "sup B (Sup A) = fold sup B A"
-proof -
-  interpret fun_left_comm_idem sup by (fact fun_left_comm_idem_sup)
-  from `finite A` show ?thesis by (induct A arbitrary: B)
-    (simp_all add: bot_def [symmetric] Sup_insert sup_commute fold_fun_comm)
-qed
-
-lemma Inf_fold_inf:
-  fixes A :: "'a::complete_lattice set"
-  assumes "finite A"
-  shows "Inf A = fold inf top A"
-  using assms inf_Inf_fold_inf [of A top] by (simp add: inf_absorb2)
-
-lemma Sup_fold_sup:
-  fixes A :: "'a::complete_lattice set"
-  assumes "finite A"
-  shows "Sup A = fold sup bot A"
-  using assms sup_Sup_fold_sup [of A bot] by (simp add: sup_absorb2)
-
 
 subsection {* Functorial set operations *}
 
@@ -149,14 +105,6 @@
     by (simp add: minus_fold_remove [of _ A] fold_set)
 qed
 
-lemma INFI_set_fold: -- "FIXME move to List.thy"
-  "INFI (set xs) f = foldl (\<lambda>y x. inf (f x) y) top xs"
-  unfolding INFI_def image_set Inf_set_fold foldl_map by (simp add: inf_commute)
-
-lemma SUPR_set_fold: -- "FIXME move to List.thy"
-  "SUPR (set xs) f = foldl (\<lambda>y x. sup (f x) y) bot xs"
-  unfolding SUPR_def image_set Sup_set_fold foldl_map by (simp add: sup_commute)
-
 
 subsection {* Derived set operations *}
 
--- a/src/HOL/List.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/List.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -2359,15 +2359,29 @@
 
 lemma (in complete_lattice) Inf_set_fold [code_unfold]:
   "Inf (set xs) = foldl inf top xs"
-  by (cases xs)
-    (simp_all add: Inf_fin_Inf [symmetric] Inf_fin_set_fold
-      inf_commute del: set.simps, simp add: top_def)
+proof -
+  interpret fun_left_comm_idem "inf :: 'a \<Rightarrow> 'a \<Rightarrow> 'a"
+    by (fact fun_left_comm_idem_inf)
+  show ?thesis by (simp add: Inf_fold_inf fold_set inf_commute)
+qed
 
 lemma (in complete_lattice) Sup_set_fold [code_unfold]:
   "Sup (set xs) = foldl sup bot xs"
-  by (cases xs)
-    (simp_all add: Sup_fin_Sup [symmetric] Sup_fin_set_fold
-      sup_commute del: set.simps, simp add: bot_def)
+proof -
+  interpret fun_left_comm_idem "sup :: 'a \<Rightarrow> 'a \<Rightarrow> 'a"
+    by (fact fun_left_comm_idem_sup)
+  show ?thesis by (simp add: Sup_fold_sup fold_set sup_commute)
+qed
+
+lemma (in complete_lattice) INFI_set_fold:
+  "INFI (set xs) f = foldl (\<lambda>y x. inf (f x) y) top xs"
+  unfolding INFI_def set_map [symmetric] Inf_set_fold foldl_map
+    by (simp add: inf_commute)
+
+lemma (in complete_lattice) SUPR_set_fold:
+  "SUPR (set xs) f = foldl (\<lambda>y x. sup (f x) y) bot xs"
+  unfolding SUPR_def set_map [symmetric] Sup_set_fold foldl_map
+    by (simp add: sup_commute)
 
 
 subsubsection {* List summation: @{const listsum} and @{text"\<Sum>"}*}
--- a/src/HOL/Predicate.thy	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/Predicate.thy	Mon Dec 07 11:18:44 2009 +0100
@@ -726,7 +726,7 @@
 proof (cases "f ()")
   case Empty
   thus ?thesis
-    unfolding Seq_def by (simp add: sup_commute [of "\<bottom>"]  sup_bot)
+    unfolding Seq_def by (simp add: sup_commute [of "\<bottom>"])
 next
   case Insert
   thus ?thesis
--- a/src/HOL/SMT/Examples/cert/z3_bv_02	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_bv_02	Mon Dec 07 11:18:44 2009 +0100
@@ -1,12 +1,12 @@
 (benchmark Isabelle
 :extrasorts ( T2 T1)
 :extrafuns (
-  (uf_2 T1)
-  (uf_1 BitVec[4] BitVec[4] T1)
-  (uf_3 T1 T2)
-  (uf_4 BitVec[4])
+  (uf_4 T1)
+  (uf_2 BitVec[4] BitVec[4] T1)
+  (uf_1 T1 T2)
+  (uf_3 BitVec[4])
  )
-:assumption (forall (?x1 BitVec[4]) (?x2 BitVec[4]) (iff (= (uf_1 ?x1 ?x2) uf_2) (bvule ?x1 ?x2)))
-:assumption (not (= (uf_3 (uf_1 bv0[4] uf_4)) (uf_3 uf_2)))
+:assumption (not (= (uf_1 (uf_2 bv0[4] uf_3)) (uf_1 uf_4)))
+:assumption (forall (?x1 BitVec[4]) (?x2 BitVec[4]) (iff (= (uf_2 ?x1 ?x2) uf_4) (bvule ?x1 ?x2)))
 :formula true
 )
--- a/src/HOL/SMT/Examples/cert/z3_hol_03	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_hol_03	Mon Dec 07 11:18:44 2009 +0100
@@ -3,11 +3,13 @@
 :extrafuns (
   (uf_3 T2)
   (uf_1 T1 T1)
-  (uf_2 T2 T2)
   (uf_4 T1)
  )
+:extrapreds (
+  (up_2 T2)
+ )
 :assumption (forall (?x1 T1) (= (uf_1 ?x1) ?x1))
-:assumption (forall (?x2 T2) (iff (= (uf_2 ?x2) uf_3) (= ?x2 uf_3)))
-:assumption (not (and (= (uf_1 uf_4) uf_4) (iff (= (uf_2 uf_3) uf_3) true)))
+:assumption (forall (?x2 T2) (iff (up_2 ?x2) (= ?x2 uf_3)))
+:assumption (not (and (= (uf_1 uf_4) uf_4) (iff (up_2 uf_3) true)))
 :formula true
 )
--- a/src/HOL/SMT/Examples/cert/z3_hol_03.proof	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_hol_03.proof	Mon Dec 07 11:18:44 2009 +0100
@@ -1,120 +1,115 @@
 #2 := false
-decl uf_1 :: (-> T1 T1)
-decl uf_4 :: T1
-#15 := uf_4
-#16 := (uf_1 uf_4)
-#48 := (= uf_4 #16)
-#83 := (not #48)
-decl uf_2 :: (-> T2 T2)
+decl up_2 :: (-> T2 bool)
 decl uf_3 :: T2
 #10 := uf_3
-#18 := (uf_2 uf_3)
-#51 := (= uf_3 #18)
-#84 := (not #51)
-#556 := [hypothesis]: #84
-#8 := (:var 0 T2)
-#9 := (uf_2 #8)
-#575 := (pattern #9)
-#12 := (= #8 uf_3)
-#11 := (= #9 uf_3)
-#13 := (iff #11 #12)
-#576 := (forall (vars (?x2 T2)) (:pat #575) #13)
-#14 := (forall (vars (?x2 T2)) #13)
-#579 := (iff #14 #576)
-#577 := (iff #13 #13)
-#578 := [refl]: #577
-#580 := [quant-intro #578]: #579
-#70 := (~ #14 #14)
-#80 := (~ #13 #13)
-#81 := [refl]: #80
-#67 := [nnf-pos #81]: #70
-#45 := [asserted]: #14
-#82 := [mp~ #45 #67]: #14
-#581 := [mp #82 #580]: #576
-#242 := (not #576)
-#170 := (or #242 #51)
-#150 := (= uf_3 uf_3)
-#19 := (= #18 uf_3)
-#237 := (iff #19 #150)
-#243 := (or #242 #237)
-#244 := (iff #243 #170)
-#560 := (iff #170 #170)
-#562 := [rewrite]: #560
-#230 := (iff #237 #51)
-#1 := true
-#54 := (iff #51 true)
-#57 := (iff #54 #51)
-#58 := [rewrite]: #57
-#152 := (iff #237 #54)
-#151 := (iff #150 true)
-#238 := [rewrite]: #151
-#52 := (iff #19 #51)
-#53 := [rewrite]: #52
-#239 := [monotonicity #53 #238]: #152
-#241 := [trans #239 #58]: #230
-#223 := [monotonicity #241]: #244
-#217 := [trans #223 #562]: #244
-#240 := [quant-inst]: #243
-#349 := [mp #240 #217]: #170
-#228 := [unit-resolution #349 #581 #556]: false
-#229 := [lemma #228]: #51
-#71 := (or #83 #84)
-#61 := (and #48 #51)
-#64 := (not #61)
-#90 := (iff #64 #71)
-#72 := (not #71)
-#85 := (not #72)
-#88 := (iff #85 #71)
-#89 := [rewrite]: #88
-#86 := (iff #64 #85)
-#73 := (iff #61 #72)
-#74 := [rewrite]: #73
-#87 := [monotonicity #74]: #86
-#91 := [trans #87 #89]: #90
-#20 := (iff #19 true)
-#17 := (= #16 uf_4)
-#21 := (and #17 #20)
-#22 := (not #21)
-#65 := (iff #22 #64)
-#62 := (iff #21 #61)
-#59 := (iff #20 #51)
-#55 := (iff #20 #54)
-#56 := [monotonicity #53]: #55
-#60 := [trans #56 #58]: #59
-#49 := (iff #17 #48)
-#50 := [rewrite]: #49
-#63 := [monotonicity #50 #60]: #62
-#66 := [monotonicity #63]: #65
-#46 := [asserted]: #22
-#69 := [mp #46 #66]: #64
-#92 := [mp #69 #91]: #71
-#563 := [unit-resolution #92 #229]: #83
+#17 := (up_2 uf_3)
+#78 := (not #17)
+decl uf_1 :: (-> T1 T1)
+decl uf_4 :: T1
+#14 := uf_4
+#15 := (uf_1 uf_4)
+#46 := (= uf_4 #15)
+#79 := (not #46)
+#145 := [hypothesis]: #79
 #4 := (:var 0 T1)
 #5 := (uf_1 #4)
-#568 := (pattern #5)
-#39 := (= #4 #5)
-#569 := (forall (vars (?x1 T1)) (:pat #568) #39)
-#42 := (forall (vars (?x1 T1)) #39)
-#572 := (iff #42 #569)
-#570 := (iff #39 #39)
-#571 := [refl]: #570
-#573 := [quant-intro #571]: #572
-#77 := (~ #42 #42)
-#75 := (~ #39 #39)
-#76 := [refl]: #75
-#78 := [nnf-pos #76]: #77
+#563 := (pattern #5)
+#37 := (= #4 #5)
+#564 := (forall (vars (?x1 T1)) (:pat #563) #37)
+#40 := (forall (vars (?x1 T1)) #37)
+#567 := (iff #40 #564)
+#565 := (iff #37 #37)
+#566 := [refl]: #565
+#568 := [quant-intro #566]: #567
+#72 := (~ #40 #40)
+#70 := (~ #37 #37)
+#71 := [refl]: #70
+#73 := [nnf-pos #71]: #72
 #6 := (= #5 #4)
 #7 := (forall (vars (?x1 T1)) #6)
-#43 := (iff #7 #42)
-#40 := (iff #6 #39)
-#41 := [rewrite]: #40
-#44 := [quant-intro #41]: #43
-#38 := [asserted]: #7
-#47 := [mp #38 #44]: #42
-#79 := [mp~ #47 #78]: #42
-#574 := [mp #79 #573]: #569
-#565 := (not #569)
-#566 := (or #565 #48)
-#561 := [quant-inst]: #566
-[unit-resolution #561 #574 #563]: false
+#41 := (iff #7 #40)
+#38 := (iff #6 #37)
+#39 := [rewrite]: #38
+#42 := [quant-intro #39]: #41
+#36 := [asserted]: #7
+#45 := [mp #36 #42]: #40
+#74 := [mp~ #45 #73]: #40
+#569 := [mp #74 #568]: #564
+#146 := (not #564)
+#233 := (or #146 #46)
+#147 := [quant-inst]: #233
+#232 := [unit-resolution #147 #569 #145]: false
+#234 := [lemma #232]: #46
+#66 := (or #78 #79)
+#54 := (and #17 #46)
+#59 := (not #54)
+#85 := (iff #59 #66)
+#67 := (not #66)
+#80 := (not #67)
+#83 := (iff #80 #66)
+#84 := [rewrite]: #83
+#81 := (iff #59 #80)
+#68 := (iff #54 #67)
+#69 := [rewrite]: #68
+#82 := [monotonicity #69]: #81
+#86 := [trans #82 #84]: #85
+#1 := true
+#18 := (iff #17 true)
+#16 := (= #15 uf_4)
+#19 := (and #16 #18)
+#20 := (not #19)
+#60 := (iff #20 #59)
+#57 := (iff #19 #54)
+#51 := (and #46 #17)
+#55 := (iff #51 #54)
+#56 := [rewrite]: #55
+#52 := (iff #19 #51)
+#49 := (iff #18 #17)
+#50 := [rewrite]: #49
+#47 := (iff #16 #46)
+#48 := [rewrite]: #47
+#53 := [monotonicity #48 #50]: #52
+#58 := [trans #53 #56]: #57
+#61 := [monotonicity #58]: #60
+#44 := [asserted]: #20
+#64 := [mp #44 #61]: #59
+#87 := [mp #64 #86]: #66
+#561 := [unit-resolution #87 #234]: #78
+#8 := (:var 0 T2)
+#9 := (up_2 #8)
+#570 := (pattern #9)
+#11 := (= #8 uf_3)
+#12 := (iff #9 #11)
+#571 := (forall (vars (?x2 T2)) (:pat #570) #12)
+#13 := (forall (vars (?x2 T2)) #12)
+#574 := (iff #13 #571)
+#572 := (iff #12 #12)
+#573 := [refl]: #572
+#575 := [quant-intro #573]: #574
+#65 := (~ #13 #13)
+#75 := (~ #12 #12)
+#76 := [refl]: #75
+#62 := [nnf-pos #76]: #65
+#43 := [asserted]: #13
+#77 := [mp~ #43 #62]: #13
+#576 := [mp #77 #575]: #571
+#555 := (not #571)
+#557 := (or #555 #17)
+#225 := (= uf_3 uf_3)
+#236 := (iff #17 #225)
+#212 := (or #555 #236)
+#551 := (iff #212 #557)
+#224 := (iff #557 #557)
+#558 := [rewrite]: #224
+#239 := (iff #236 #17)
+#238 := (iff #236 #18)
+#237 := (iff #225 true)
+#165 := [rewrite]: #237
+#235 := [monotonicity #165]: #238
+#218 := [trans #235 #50]: #239
+#223 := [monotonicity #218]: #551
+#559 := [trans #223 #558]: #551
+#344 := [quant-inst]: #212
+#560 := [mp #344 #559]: #557
+[unit-resolution #560 #576 #561]: false
 unsat
--- a/src/HOL/SMT/Examples/cert/z3_linarith_07	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_linarith_07	Mon Dec 07 11:18:44 2009 +0100
@@ -1,11 +1,11 @@
 (benchmark Isabelle
 :extrasorts ( T2 T1)
 :extrafuns (
-  (uf_2 T1)
-  (uf_1 Int Int T1)
-  (uf_3 T1 T2)
+  (uf_3 T1)
+  (uf_2 Int Int T1)
+  (uf_1 T1 T2)
  )
-:assumption (forall (?x1 Int) (?x2 Int) (iff (= (uf_1 ?x1 ?x2) uf_2) (< ?x1 ?x2)))
-:assumption (not (= (uf_3 (uf_1 2 3)) (uf_3 uf_2)))
+:assumption (not (= (uf_1 (uf_2 2 3)) (uf_1 uf_3)))
+:assumption (forall (?x1 Int) (?x2 Int) (iff (= (uf_2 ?x1 ?x2) uf_3) (< ?x1 ?x2)))
 :formula true
 )
--- a/src/HOL/SMT/Examples/cert/z3_linarith_07.proof	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_linarith_07.proof	Mon Dec 07 11:18:44 2009 +0100
@@ -1,105 +1,124 @@
 #2 := false
-decl uf_3 :: (-> T1 T2)
-decl uf_2 :: T1
-#7 := uf_2
-#16 := (uf_3 uf_2)
-decl uf_1 :: (-> int int T1)
-#13 := 3::int
-#12 := 2::int
-#14 := (uf_1 2::int 3::int)
-#15 := (uf_3 #14)
-#17 := (= #15 #16)
-#516 := (= #16 #15)
-#194 := (= uf_2 #14)
-#5 := (:var 0 int)
-#4 := (:var 1 int)
-#6 := (uf_1 #4 #5)
-#530 := (pattern #6)
-#39 := 0::int
-#37 := -1::int
-#41 := (* -1::int #5)
-#42 := (+ #4 #41)
-#40 := (>= #42 0::int)
-#38 := (not #40)
-#8 := (= #6 uf_2)
-#45 := (iff #8 #38)
-#531 := (forall (vars (?x1 int) (?x2 int)) (:pat #530) #45)
-#48 := (forall (vars (?x1 int) (?x2 int)) #45)
-#534 := (iff #48 #531)
-#532 := (iff #45 #45)
-#533 := [refl]: #532
-#535 := [quant-intro #533]: #534
-#58 := (~ #48 #48)
-#56 := (~ #45 #45)
-#57 := [refl]: #56
-#59 := [nnf-pos #57]: #58
-#9 := (< #4 #5)
-#10 := (iff #8 #9)
-#11 := (forall (vars (?x1 int) (?x2 int)) #10)
-#49 := (iff #11 #48)
-#46 := (iff #10 #45)
-#43 := (iff #9 #38)
+decl uf_1 :: (-> T1 T2)
+decl uf_3 :: T1
+#8 := uf_3
+#9 := (uf_1 uf_3)
+decl uf_2 :: (-> int int T1)
+#5 := 3::int
+#4 := 2::int
+#6 := (uf_2 2::int 3::int)
+#7 := (uf_1 #6)
+#10 := (= #7 #9)
+#225 := (= #6 uf_3)
+#13 := (:var 0 int)
+#12 := (:var 1 int)
+#14 := (uf_2 #12 #13)
+#549 := (pattern #14)
+#52 := 0::int
+#50 := -1::int
+#54 := (* -1::int #13)
+#55 := (+ #12 #54)
+#53 := (>= #55 0::int)
+#51 := (not #53)
+#36 := (= uf_3 #14)
+#61 := (iff #36 #51)
+#550 := (forall (vars (?x1 int) (?x2 int)) (:pat #549) #61)
+#66 := (forall (vars (?x1 int) (?x2 int)) #61)
+#553 := (iff #66 #550)
+#551 := (iff #61 #61)
+#552 := [refl]: #551
+#554 := [quant-intro #552]: #553
+#79 := (~ #66 #66)
+#77 := (~ #61 #61)
+#78 := [refl]: #77
+#80 := [nnf-pos #78]: #79
+#16 := (< #12 #13)
+#15 := (= #14 uf_3)
+#17 := (iff #15 #16)
+#18 := (forall (vars (?x1 int) (?x2 int)) #17)
+#69 := (iff #18 #66)
+#42 := (iff #16 #36)
+#47 := (forall (vars (?x1 int) (?x2 int)) #42)
+#67 := (iff #47 #66)
+#64 := (iff #42 #61)
+#58 := (iff #51 #36)
+#62 := (iff #58 #61)
+#63 := [rewrite]: #62
+#59 := (iff #42 #58)
+#56 := (iff #16 #51)
+#57 := [rewrite]: #56
+#60 := [monotonicity #57]: #59
+#65 := [trans #60 #63]: #64
+#68 := [quant-intro #65]: #67
+#48 := (iff #18 #47)
+#45 := (iff #17 #42)
+#39 := (iff #36 #16)
+#43 := (iff #39 #42)
 #44 := [rewrite]: #43
-#47 := [monotonicity #44]: #46
-#50 := [quant-intro #47]: #49
+#40 := (iff #17 #39)
+#37 := (iff #15 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#46 := [trans #41 #44]: #45
+#49 := [quant-intro #46]: #48
+#70 := [trans #49 #68]: #69
+#35 := [asserted]: #18
+#71 := [mp #35 #70]: #66
+#74 := [mp~ #71 #80]: #66
+#555 := [mp #74 #554]: #550
+#529 := (not #550)
+#530 := (or #529 #225)
+#220 := (* -1::int 3::int)
+#221 := (+ 2::int #220)
+#222 := (>= #221 0::int)
+#213 := (not #222)
+#135 := (= uf_3 #6)
+#224 := (iff #135 #213)
+#525 := (or #529 #224)
+#169 := (iff #525 #530)
+#534 := (iff #530 #530)
+#174 := [rewrite]: #534
+#527 := (iff #224 #225)
+#1 := true
+#187 := (iff #225 true)
+#190 := (iff #187 #225)
+#526 := [rewrite]: #190
+#188 := (iff #224 #187)
+#183 := (iff #213 true)
+#198 := (not false)
+#199 := (iff #198 true)
+#540 := [rewrite]: #199
+#203 := (iff #213 #198)
+#548 := (iff #222 false)
+#544 := (>= -1::int 0::int)
+#547 := (iff #544 false)
+#542 := [rewrite]: #547
+#545 := (iff #222 #544)
+#211 := (= #221 -1::int)
+#223 := -3::int
+#541 := (+ 2::int -3::int)
+#330 := (= #541 -1::int)
+#537 := [rewrite]: #330
+#543 := (= #221 #541)
+#227 := (= #220 -3::int)
+#206 := [rewrite]: #227
+#200 := [monotonicity #206]: #543
+#212 := [trans #200 #537]: #211
+#546 := [monotonicity #212]: #545
+#538 := [trans #546 #542]: #548
+#539 := [monotonicity #538]: #203
+#524 := [trans #539 #540]: #183
+#153 := (iff #135 #225)
+#226 := [rewrite]: #153
+#189 := [monotonicity #226 #524]: #188
+#528 := [trans #189 #526]: #527
+#532 := [monotonicity #528]: #169
+#175 := [trans #532 #174]: #169
+#531 := [quant-inst]: #525
+#535 := [mp #531 #175]: #530
+#533 := [unit-resolution #535 #555]: #225
+#536 := [monotonicity #533]: #10
+#11 := (not #10)
 #34 := [asserted]: #11
-#51 := [mp #34 #50]: #48
-#60 := [mp~ #51 #59]: #48
-#536 := [mp #60 #535]: #531
-#508 := (not #531)
-#509 := (or #508 #194)
-#201 := (* -1::int 3::int)
-#115 := (+ 2::int #201)
-#202 := (>= #115 0::int)
-#116 := (not #202)
-#114 := (= #14 uf_2)
-#203 := (iff #114 #116)
-#510 := (or #508 #203)
-#506 := (iff #510 #509)
-#150 := (iff #509 #509)
-#513 := [rewrite]: #150
-#171 := (iff #203 #194)
-#1 := true
-#164 := (iff #194 true)
-#169 := (iff #164 #194)
-#170 := [rewrite]: #169
-#505 := (iff #203 #164)
-#180 := (iff #116 true)
-#529 := (not false)
-#184 := (iff #529 true)
-#520 := [rewrite]: #184
-#519 := (iff #116 #529)
-#528 := (iff #202 false)
-#192 := (>= -1::int 0::int)
-#526 := (iff #192 false)
-#527 := [rewrite]: #526
-#193 := (iff #202 #192)
-#311 := (= #115 -1::int)
-#134 := -3::int
-#208 := (+ 2::int -3::int)
-#524 := (= #208 -1::int)
-#181 := [rewrite]: #524
-#187 := (= #115 #208)
-#207 := (= #201 -3::int)
-#204 := [rewrite]: #207
-#522 := [monotonicity #204]: #187
-#518 := [trans #522 #181]: #311
-#525 := [monotonicity #518]: #193
-#523 := [trans #525 #527]: #528
-#179 := [monotonicity #523]: #519
-#521 := [trans #179 #520]: #180
-#205 := (iff #114 #194)
-#206 := [rewrite]: #205
-#168 := [monotonicity #206 #521]: #505
-#507 := [trans #168 #170]: #171
-#512 := [monotonicity #507]: #506
-#515 := [trans #512 #513]: #506
-#511 := [quant-inst]: #510
-#155 := [mp #511 #515]: #509
-#156 := [unit-resolution #155 #536]: #194
-#514 := [monotonicity #156]: #516
-#517 := [symm #514]: #17
-#18 := (not #17)
-#35 := [asserted]: #18
-[unit-resolution #35 #517]: false
+[unit-resolution #34 #536]: false
 unsat
--- a/src/HOL/SMT/Examples/cert/z3_linarith_13	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_linarith_13	Mon Dec 07 11:18:44 2009 +0100
@@ -1,13 +1,13 @@
 (benchmark Isabelle
 :extrasorts ( T1)
 :extrafuns (
-  (uf_2 T1)
-  (uf_3 Int Int T1)
+  (uf_4 T1)
   (uf_1 Int Int T1)
-  (uf_4 Int)
+  (uf_3 Int Int T1)
+  (uf_2 Int)
  )
-:assumption (forall (?x1 Int) (?x2 Int) (iff (= (uf_1 ?x1 ?x2) uf_2) (<= ?x1 ?x2)))
-:assumption (forall (?x3 Int) (?x4 Int) (iff (= (uf_3 ?x3 ?x4) uf_2) (< ?x3 ?x4)))
-:assumption (not (distinct (uf_3 uf_4 3) (uf_1 3 uf_4)))
+:assumption (not (distinct (uf_1 uf_2 3) (uf_3 3 uf_2)))
+:assumption (forall (?x1 Int) (?x2 Int) (iff (= (uf_3 ?x1 ?x2) uf_4) (<= ?x1 ?x2)))
+:assumption (forall (?x3 Int) (?x4 Int) (iff (= (uf_1 ?x3 ?x4) uf_4) (< ?x3 ?x4)))
 :formula true
 )
--- a/src/HOL/SMT/Examples/cert/z3_linarith_13.proof	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Examples/cert/z3_linarith_13.proof	Mon Dec 07 11:18:44 2009 +0100
@@ -1,212 +1,212 @@
 #2 := false
-decl uf_3 :: (-> int int T1)
-#18 := 3::int
-decl uf_4 :: int
-#17 := uf_4
-#19 := (uf_3 uf_4 3::int)
-decl uf_2 :: T1
-#7 := uf_2
-#221 := (= uf_2 #19)
+decl uf_4 :: T1
+#13 := uf_4
 decl uf_1 :: (-> int int T1)
-#20 := (uf_1 3::int uf_4)
-#256 := (= uf_2 #20)
-#531 := (iff #256 #221)
-#529 := (iff #221 #256)
-#87 := (= #19 #20)
-#21 := (distinct #19 #20)
-#22 := (not #21)
-#96 := (iff #22 #87)
-#88 := (not #87)
-#91 := (not #88)
-#94 := (iff #91 #87)
-#95 := [rewrite]: #94
-#92 := (iff #22 #91)
-#89 := (iff #21 #88)
-#90 := [rewrite]: #89
-#93 := [monotonicity #90]: #92
-#97 := [trans #93 #95]: #96
-#86 := [asserted]: #22
-#100 := [mp #86 #97]: #87
-#530 := [monotonicity #100]: #529
-#525 := [symm #530]: #531
-#548 := (not #221)
-#232 := (not #256)
-#526 := (iff #232 #548)
-#532 := [monotonicity #525]: #526
-#536 := [hypothesis]: #232
-#533 := [mp #536 #532]: #548
-#259 := (>= uf_4 3::int)
-#576 := (not #259)
-#542 := (or #256 #576)
-#257 := (iff #256 #259)
-#5 := (:var 0 int)
-#4 := (:var 1 int)
-#6 := (uf_1 #4 #5)
-#583 := (pattern #6)
-#44 := 0::int
-#41 := -1::int
-#42 := (* -1::int #5)
-#43 := (+ #4 #42)
-#45 := (<= #43 0::int)
-#8 := (= #6 uf_2)
-#48 := (iff #8 #45)
-#584 := (forall (vars (?x1 int) (?x2 int)) (:pat #583) #48)
-#51 := (forall (vars (?x1 int) (?x2 int)) #48)
-#587 := (iff #51 #584)
-#585 := (iff #48 #48)
-#586 := [refl]: #585
-#588 := [quant-intro #586]: #587
-#108 := (~ #51 #51)
-#106 := (~ #48 #48)
+#5 := 3::int
+decl uf_2 :: int
+#4 := uf_2
+#6 := (uf_1 uf_2 3::int)
+#559 := (= #6 uf_4)
+decl uf_3 :: (-> int int T1)
+#7 := (uf_3 3::int uf_2)
+#254 := (= #7 uf_4)
+#524 := (iff #254 #559)
+#529 := (iff #559 #254)
+#39 := (= #6 #7)
+#8 := (distinct #6 #7)
+#9 := (not #8)
+#48 := (iff #9 #39)
+#40 := (not #39)
+#43 := (not #40)
+#46 := (iff #43 #39)
+#47 := [rewrite]: #46
+#44 := (iff #9 #43)
+#41 := (iff #8 #40)
+#42 := [rewrite]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#38 := [asserted]: #9
+#52 := [mp #38 #49]: #39
+#523 := [monotonicity #52]: #529
+#530 := [symm #523]: #524
+#547 := (not #559)
+#570 := (not #254)
+#531 := (iff #570 #547)
+#525 := [monotonicity #530]: #531
+#540 := [hypothesis]: #570
+#532 := [mp #540 #525]: #547
+#256 := (>= uf_2 3::int)
+#579 := (not #256)
+#541 := (or #254 #579)
+#258 := (iff #254 #256)
+#11 := (:var 0 int)
+#10 := (:var 1 int)
+#12 := (uf_3 #10 #11)
+#581 := (pattern #12)
+#57 := 0::int
+#54 := -1::int
+#55 := (* -1::int #11)
+#56 := (+ #10 #55)
+#58 := (<= #56 0::int)
+#14 := (= #12 uf_4)
+#61 := (iff #14 #58)
+#582 := (forall (vars (?x1 int) (?x2 int)) (:pat #581) #61)
+#64 := (forall (vars (?x1 int) (?x2 int)) #61)
+#585 := (iff #64 #582)
+#583 := (iff #61 #61)
+#584 := [refl]: #583
+#586 := [quant-intro #584]: #585
+#108 := (~ #64 #64)
+#106 := (~ #61 #61)
 #107 := [refl]: #106
 #109 := [nnf-pos #107]: #108
-#9 := (<= #4 #5)
-#10 := (iff #8 #9)
-#11 := (forall (vars (?x1 int) (?x2 int)) #10)
-#52 := (iff #11 #51)
-#49 := (iff #10 #48)
-#46 := (iff #9 #45)
-#47 := [rewrite]: #46
-#50 := [monotonicity #47]: #49
-#53 := [quant-intro #50]: #52
-#38 := [asserted]: #11
-#54 := [mp #38 #53]: #51
-#110 := [mp~ #54 #109]: #51
-#589 := [mp #110 #588]: #584
-#575 := (not #584)
-#577 := (or #575 #257)
-#167 := (* -1::int uf_4)
-#254 := (+ 3::int #167)
-#168 := (<= #254 0::int)
-#255 := (= #20 uf_2)
-#169 := (iff #255 #168)
-#234 := (or #575 #169)
-#571 := (iff #234 #577)
-#246 := (iff #577 #577)
-#578 := [rewrite]: #246
-#261 := (iff #169 #257)
-#187 := (iff #168 #259)
-#260 := [rewrite]: #187
-#247 := (iff #255 #256)
-#258 := [rewrite]: #247
-#240 := [monotonicity #258 #260]: #261
-#245 := [monotonicity #240]: #571
-#579 := [trans #245 #578]: #571
-#364 := [quant-inst]: #234
-#580 := [mp #364 #579]: #577
-#541 := [unit-resolution #580 #589]: #257
-#581 := (not #257)
-#582 := (or #581 #256 #576)
-#572 := [def-axiom]: #582
-#537 := [unit-resolution #572 #541]: #542
-#543 := [unit-resolution #537 #536]: #576
-#385 := (or #221 #259)
-#552 := (iff #221 #576)
-#12 := (uf_3 #4 #5)
-#590 := (pattern #12)
-#69 := (>= #43 0::int)
-#68 := (not #69)
-#40 := (= uf_2 #12)
-#75 := (iff #40 #68)
-#591 := (forall (vars (?x3 int) (?x4 int)) (:pat #590) #75)
-#80 := (forall (vars (?x3 int) (?x4 int)) #75)
-#594 := (iff #80 #591)
-#592 := (iff #75 #75)
-#593 := [refl]: #592
-#595 := [quant-intro #593]: #594
-#101 := (~ #80 #80)
-#111 := (~ #75 #75)
-#112 := [refl]: #111
-#98 := [nnf-pos #112]: #101
-#14 := (< #4 #5)
-#13 := (= #12 uf_2)
-#15 := (iff #13 #14)
-#16 := (forall (vars (?x3 int) (?x4 int)) #15)
-#83 := (iff #16 #80)
-#60 := (iff #14 #40)
-#65 := (forall (vars (?x3 int) (?x4 int)) #60)
-#81 := (iff #65 #80)
-#78 := (iff #60 #75)
-#72 := (iff #68 #40)
-#76 := (iff #72 #75)
-#77 := [rewrite]: #76
-#73 := (iff #60 #72)
-#70 := (iff #14 #68)
-#71 := [rewrite]: #70
-#74 := [monotonicity #71]: #73
-#79 := [trans #74 #77]: #78
-#82 := [quant-intro #79]: #81
-#66 := (iff #16 #65)
-#63 := (iff #15 #60)
-#57 := (iff #40 #14)
-#61 := (iff #57 #60)
-#62 := [rewrite]: #61
-#58 := (iff #15 #57)
-#55 := (iff #13 #40)
-#56 := [rewrite]: #55
-#59 := [monotonicity #56]: #58
-#64 := [trans #59 #62]: #63
-#67 := [quant-intro #64]: #66
-#84 := [trans #67 #82]: #83
-#39 := [asserted]: #16
-#85 := [mp #39 #84]: #80
-#113 := [mp~ #85 #98]: #80
-#596 := [mp #113 #595]: #591
-#276 := (not #591)
-#550 := (or #276 #552)
-#222 := (* -1::int 3::int)
-#223 := (+ uf_4 #222)
-#224 := (>= #223 0::int)
-#560 := (not #224)
-#561 := (iff #221 #560)
-#554 := (or #276 #561)
-#555 := (iff #554 #550)
-#266 := (iff #550 #550)
-#267 := [rewrite]: #266
-#553 := (iff #561 #552)
-#282 := (iff #560 #576)
-#280 := (iff #224 #259)
+#15 := (<= #10 #11)
+#16 := (iff #14 #15)
+#17 := (forall (vars (?x1 int) (?x2 int)) #16)
+#65 := (iff #17 #64)
+#62 := (iff #16 #61)
+#59 := (iff #15 #58)
+#60 := [rewrite]: #59
+#63 := [monotonicity #60]: #62
+#66 := [quant-intro #63]: #65
+#50 := [asserted]: #17
+#67 := [mp #50 #66]: #64
+#101 := [mp~ #67 #109]: #64
+#587 := [mp #101 #586]: #582
+#238 := (not #582)
+#573 := (or #238 #258)
+#167 := (* -1::int uf_2)
+#252 := (+ 3::int #167)
+#253 := (<= #252 0::int)
+#245 := (iff #254 #253)
+#575 := (or #238 #245)
+#362 := (iff #575 #573)
+#243 := (iff #573 #573)
+#244 := [rewrite]: #243
+#255 := (iff #245 #258)
+#257 := (iff #253 #256)
+#185 := [rewrite]: #257
+#259 := [monotonicity #185]: #255
+#569 := [monotonicity #259]: #362
+#576 := [trans #569 #244]: #362
+#232 := [quant-inst]: #575
+#577 := [mp #232 #576]: #573
+#535 := [unit-resolution #577 #587]: #258
+#578 := (not #258)
+#574 := (or #578 #254 #579)
+#580 := [def-axiom]: #574
+#382 := [unit-resolution #580 #535]: #541
+#383 := [unit-resolution #382 #540]: #579
+#526 := (or #559 #256)
+#273 := (iff #559 #579)
+#18 := (uf_1 #10 #11)
+#588 := (pattern #18)
+#82 := (>= #56 0::int)
+#81 := (not #82)
+#53 := (= uf_4 #18)
+#88 := (iff #53 #81)
+#589 := (forall (vars (?x3 int) (?x4 int)) (:pat #588) #88)
+#93 := (forall (vars (?x3 int) (?x4 int)) #88)
+#592 := (iff #93 #589)
+#590 := (iff #88 #88)
+#591 := [refl]: #590
+#593 := [quant-intro #591]: #592
+#102 := (~ #93 #93)
+#99 := (~ #88 #88)
+#110 := [refl]: #99
+#103 := [nnf-pos #110]: #102
+#20 := (< #10 #11)
+#19 := (= #18 uf_4)
+#21 := (iff #19 #20)
+#22 := (forall (vars (?x3 int) (?x4 int)) #21)
+#96 := (iff #22 #93)
+#73 := (iff #20 #53)
+#78 := (forall (vars (?x3 int) (?x4 int)) #73)
+#94 := (iff #78 #93)
+#91 := (iff #73 #88)
+#85 := (iff #81 #53)
+#89 := (iff #85 #88)
+#90 := [rewrite]: #89
+#86 := (iff #73 #85)
+#83 := (iff #20 #81)
+#84 := [rewrite]: #83
+#87 := [monotonicity #84]: #86
+#92 := [trans #87 #90]: #91
+#95 := [quant-intro #92]: #94
+#79 := (iff #22 #78)
+#76 := (iff #21 #73)
+#70 := (iff #53 #20)
+#74 := (iff #70 #73)
+#75 := [rewrite]: #74
+#71 := (iff #21 #70)
+#68 := (iff #19 #53)
+#69 := [rewrite]: #68
+#72 := [monotonicity #69]: #71
+#77 := [trans #72 #75]: #76
+#80 := [quant-intro #77]: #79
+#97 := [trans #80 #95]: #96
+#51 := [asserted]: #22
+#98 := [mp #51 #97]: #93
+#111 := [mp~ #98 #103]: #93
+#594 := [mp #111 #593]: #589
+#552 := (not #589)
+#549 := (or #552 #273)
+#219 := (* -1::int 3::int)
+#220 := (+ uf_2 #219)
+#221 := (>= #220 0::int)
+#222 := (not #221)
+#556 := (= uf_4 #6)
+#558 := (iff #556 #222)
+#553 := (or #552 #558)
+#264 := (iff #553 #549)
+#266 := (iff #549 #549)
+#544 := [rewrite]: #266
+#274 := (iff #558 #273)
+#550 := (iff #222 #579)
+#280 := (iff #221 #256)
 #562 := -3::int
-#566 := (+ -3::int uf_4)
-#567 := (>= #566 0::int)
-#557 := (iff #567 #259)
-#279 := [rewrite]: #557
-#570 := (iff #224 #567)
-#209 := (= #223 #566)
-#559 := (+ uf_4 -3::int)
-#568 := (= #559 #566)
-#208 := [rewrite]: #568
-#565 := (= #223 #559)
-#563 := (= #222 -3::int)
-#564 := [rewrite]: #563
-#203 := [monotonicity #564]: #565
-#569 := [trans #203 #208]: #209
-#556 := [monotonicity #569]: #570
-#281 := [trans #556 #279]: #280
-#175 := [monotonicity #281]: #282
-#275 := [monotonicity #175]: #553
-#265 := [monotonicity #275]: #555
-#268 := [trans #265 #267]: #555
-#551 := [quant-inst]: #554
-#546 := [mp #551 #268]: #550
-#384 := [unit-resolution #546 #596]: #552
-#547 := (not #552)
-#262 := (or #547 #221 #259)
-#544 := [def-axiom]: #262
-#386 := [unit-resolution #544 #384]: #385
-#528 := [unit-resolution #386 #543]: #221
-#527 := [unit-resolution #528 #533]: false
-#534 := [lemma #527]: #256
-#523 := [mp #534 #525]: #221
-#363 := (or #232 #259)
-#237 := (or #581 #232 #259)
-#573 := [def-axiom]: #237
-#365 := [unit-resolution #573 #541]: #363
-#366 := [unit-resolution #365 #534]: #259
-#519 := (or #548 #576)
-#545 := (or #547 #548 #576)
-#549 := [def-axiom]: #545
-#520 := [unit-resolution #549 #384]: #519
-#522 := [unit-resolution #520 #366]: #548
-[unit-resolution #522 #523]: false
+#206 := (+ -3::int uf_2)
+#554 := (>= #206 0::int)
+#278 := (iff #554 #256)
+#279 := [rewrite]: #278
+#555 := (iff #221 #554)
+#565 := (= #220 #206)
+#201 := (+ uf_2 -3::int)
+#207 := (= #201 #206)
+#567 := [rewrite]: #207
+#564 := (= #220 #201)
+#557 := (= #219 -3::int)
+#563 := [rewrite]: #557
+#566 := [monotonicity #563]: #564
+#568 := [trans #566 #567]: #565
+#277 := [monotonicity #568]: #555
+#173 := [trans #277 #279]: #280
+#551 := [monotonicity #173]: #550
+#560 := (iff #556 #559)
+#561 := [rewrite]: #560
+#548 := [monotonicity #561 #551]: #274
+#265 := [monotonicity #548]: #264
+#545 := [trans #265 #544]: #264
+#263 := [quant-inst]: #553
+#260 := [mp #263 #545]: #549
+#384 := [unit-resolution #260 #594]: #273
+#542 := (not #273)
+#546 := (or #542 #559 #256)
+#543 := [def-axiom]: #546
+#527 := [unit-resolution #543 #384]: #526
+#528 := [unit-resolution #527 #383]: #559
+#361 := [unit-resolution #528 #532]: false
+#363 := [lemma #361]: #254
+#522 := [mp #363 #530]: #559
+#364 := (or #570 #256)
+#230 := (or #578 #570 #256)
+#235 := [def-axiom]: #230
+#517 := [unit-resolution #235 #535]: #364
+#518 := [unit-resolution #517 #363]: #256
+#520 := (or #547 #579)
+#536 := (or #542 #547 #579)
+#537 := [def-axiom]: #536
+#521 := [unit-resolution #537 #384]: #520
+#519 := [unit-resolution #521 #518]: #547
+[unit-resolution #519 #522]: false
 unsat
--- a/src/HOL/SMT/Tools/smt_monomorph.ML	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Tools/smt_monomorph.ML	Mon Dec 07 11:18:44 2009 +0100
@@ -74,16 +74,18 @@
 
 fun incr_tvar_indices i t =
   let
-    val incrT = Logic.incr_tvar i
+    val incrT = Logic.incr_tvar_same i
 
     fun incr t =
       (case t of
         Const (n, T) => Const (n, incrT T)
       | Free (n, T) => Free (n, incrT T)
-      | Abs (n, T, t1) => Abs (n, incrT T, incr t1)
-      | t1 $ t2 => incr t1 $ incr t2
-      | _ => t)
-  in incr t end
+      | Abs (n, T, t1) => (Abs (n, incrT T, incr t1 handle Same.SAME => t1)
+          handle Same.SAME => Abs (n, T, incr t1))
+      | t1 $ t2 => (incr t1 $ (incr t2 handle Same.SAME => t2)
+          handle Same.SAME => t1 $ incr t2)
+      | _ => Same.same t)
+  in incr t handle Same.SAME => t end
 
 
 val monomorph_limit = 10
@@ -93,18 +95,17 @@
    create copies of terms containing those constants.
    To prevent non-termination, there is an upper limit for the number of
    recursions involved in the fixpoint construction. *)
-fun monomorph thy ts =
+fun monomorph thy =
   let
-    val (ps, ms) = List.partition term_has_tvars ts
+    fun incr t idx = (incr_tvar_indices idx t, idx + Term.maxidx_of_term t + 1)
+    fun incr_indices ts = fst (fold_map incr ts 0)
 
     fun with_tvar (n, Ts) =
       let val Ts' = filter typ_has_tvars Ts
       in if null Ts' then NONE else SOME (n, Ts') end
-    fun incr t idx = (incr_tvar_indices idx t, idx + Term.maxidx_of_term t + 1)
-    val rps = fst (fold_map incr ps 0)
-      |> map (fn r => (r, map_filter with_tvar (consts_of [r])))
+    fun extract_consts_with_tvar t = (t, map_filter with_tvar (consts_of [t]))
 
-    fun mono count is ces cs ts =
+    fun mono rps count is ces cs ts =
       let
         val spec = specialize thy cs is
         val (ces', (ts', is')) = fold_map spec (rps ~~ ces) (ts, [])
@@ -113,8 +114,15 @@
         if null is' then ts'
         else if count > monomorph_limit then
           (warning "monomorphization limit reached"; ts')
-        else mono (count + 1) is' ces' cs' ts'
+        else mono rps (count + 1) is' ces' cs' ts'
       end
-  in mono 0 (consts_of ms) (map (K []) rps) [] ms end
+    fun mono_all rps ms = if null rps then ms
+      else mono rps 0 (consts_of ms) (map (K []) rps) [] ms
+  in
+    List.partition term_has_tvars
+    #>> incr_indices
+    #>> map extract_consts_with_tvar
+    #-> mono_all
+  end
 
 end
--- a/src/HOL/SMT/Tools/smt_normalize.ML	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Tools/smt_normalize.ML	Mon Dec 07 11:18:44 2009 +0100
@@ -75,8 +75,26 @@
     | Abs _ => Conv.abs_conv (norm_conv o snd)
     | _ $ _ => Conv.comb_conv o norm_conv
     | _ => K Conv.all_conv) ctxt ct
+
+  fun is_normed t =
+    (case t of
+      Const (@{const_name All}, _) $ Abs (_, _, u) => is_normed u
+    | Const (@{const_name All}, _) $ _ => false
+    | Const (@{const_name All}, _) => false
+    | Const (@{const_name Ex}, _) $ Abs (_, _, u) => is_normed u
+    | Const (@{const_name Ex}, _) $ _ => false
+    | Const (@{const_name Ex}, _) => false
+    | Const (@{const_name Let}, _) $ u1 $ Abs (_, _, u2) =>
+        is_normed u1 andalso is_normed u2
+    | Const (@{const_name Let}, _) $ _ $ _ => false
+    | Const (@{const_name Let}, _) $ _ => false
+    | Const (@{const_name Let}, _) => false
+    | Abs (_, _, u) => is_normed u
+    | u1 $ u2 => is_normed u1 andalso is_normed u2
+    | _ => true)
 in
-val norm_binder_conv = norm_conv
+fun norm_binder_conv ctxt ct =
+  if is_normed (Thm.term_of ct) then Conv.all_conv ct else norm_conv ctxt ct
 end
 
 fun cert ctxt = Thm.cterm_of (ProofContext.theory_of ctxt)
@@ -94,6 +112,19 @@
       norm_def ctxt (thm RS @{thm fun_cong})
   | _ => thm)
 
+fun atomize_conv ctxt ct =
+  (case Thm.term_of ct of
+    @{term "op ==>"} $ _ $ _ =>
+      Conv.binop_conv (atomize_conv ctxt) then_conv
+      Conv.rewr_conv @{thm atomize_imp}
+  | Const (@{const_name "=="}, _) $ _ $ _ =>
+      Conv.binop_conv (atomize_conv ctxt) then_conv
+      Conv.rewr_conv @{thm atomize_eq}
+  | Const (@{const_name all}, _) $ Abs _ =>
+      More_Conv.binder_conv atomize_conv ctxt then_conv
+      Conv.rewr_conv @{thm atomize_all}
+  | _ => Conv.all_conv) ct
+
 fun normalize_rule ctxt =
   Conv.fconv_rule (
     Thm.beta_conversion true then_conv
@@ -101,7 +132,7 @@
     norm_binder_conv ctxt) #>
   norm_def ctxt #>
   Drule.forall_intr_vars #>
-  Conv.fconv_rule (ObjectLogic.atomize then_conv norm_binder_conv ctxt)
+  Conv.fconv_rule (atomize_conv ctxt)
 
 fun instantiate_free (cv, ct) thm =
   if Term.exists_subterm (equal (Thm.term_of cv)) (Thm.prop_of thm)
@@ -289,14 +320,20 @@
   fun add_sym t = if AList.defined (op =) defs t then insert (op =) t else I
   fun add_syms thms = fold (Term.fold_aterms add_sym o Thm.prop_of) thms []
 
-  fun unfold_conv ct =
-    (case AList.lookup (op =) defs (Term.head_of (Thm.term_of ct)) of
+  fun unfold_def_conv ds ct =
+    (case AList.lookup (op =) ds (Term.head_of (Thm.term_of ct)) of
       SOME (_, eq) => Conv.rewr_conv eq
     | NONE => Conv.all_conv) ct
+
+  fun unfold_conv ctxt thm =
+    (case filter (member (op =) (add_syms [thm]) o fst) defs of
+      [] => thm
+    | ds => thm |> Conv.fconv_rule
+        (More_Conv.bottom_conv (K (unfold_def_conv ds)) ctxt))
 in
 fun add_abs_min_max_rules ctxt thms =
   if Config.get ctxt unfold_defs
-  then map (Conv.fconv_rule (More_Conv.bottom_conv (K unfold_conv) ctxt)) thms
+  then map (unfold_conv ctxt) thms
   else map fst (map_filter (AList.lookup (op =) defs) (add_syms thms)) @ thms
 end
 
@@ -361,13 +398,23 @@
         in_abs repl cvs ct #-> (fn thm =>
         replace ctxt cvs (Thm.rhs_of thm) #>> Thm.transitive thm)
     in repl [] end
+
+  fun has_free_lambdas t =
+    (case t of
+      Const (@{const_name All}, _) $ Abs (_, _, u) => has_free_lambdas u
+    | Const (@{const_name Ex}, _) $ Abs (_, _, u) => has_free_lambdas u
+    | Const (@{const_name Let}, _) $ u1 $ Abs (_, _, u2) =>
+        has_free_lambdas u1 orelse has_free_lambdas u2
+    | Abs _ => true
+    | u1 $ u2 => has_free_lambdas u1 orelse has_free_lambdas u2
+    | _ => false)
 in
 fun lift_lambdas ctxt thms =
   let
     val declare_frees = fold (Thm.fold_terms Term.declare_term_frees)
     fun rewrite f thm cx =
-      let val (thm', cx') = f (Thm.cprop_of thm) cx
-      in (Thm.equal_elim thm' thm, cx') end
+      if not (has_free_lambdas (Thm.prop_of thm)) then (thm, cx)
+      else f (Thm.cprop_of thm) cx |>> (fn thm' => Thm.equal_elim thm' thm)
 
     val rev_int_fst_ord = rev_order o int_ord o pairself fst
     fun ordered_values tab =
@@ -425,8 +472,18 @@
         Conv.rewr_conv apply_rule then_conv
         binop_conv (apply_conv tb ctxt (i-1)) (sub_conv tb ctxt)) ct
 
+    fun needs_exp_app tab = Term.exists_subterm (fn
+        Bound _ $ _ => true
+      | Const (n, _) => Symtab.defined tab (const n)
+      | Free (n, _) => Symtab.defined tab (free n)
+      | _ => false)
+
+    fun rewrite tab ctxt thm =
+      if not (needs_exp_app tab (Thm.prop_of thm)) then thm
+      else Conv.fconv_rule (sub_conv tab ctxt) thm
+
     val tab = prune_tab (fold (traverse o Thm.prop_of) thms Symtab.empty)
-  in map (Conv.fconv_rule (sub_conv tab ctxt)) thms end
+  in map (rewrite tab ctxt) thms end
 end
 
 
--- a/src/HOL/SMT/Tools/smt_translate.ML	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/HOL/SMT/Tools/smt_translate.ML	Mon Dec 07 11:18:44 2009 +0100
@@ -241,15 +241,42 @@
    specifying their meaning are added.
 *)
 local
-  (** Add the marker symbols "term" and "formulas" to separate formulas and
+  local
+    fun cons_nr (SConst _) = 0
+      | cons_nr (SFree _) = 1
+      | cons_nr (SNum _) = 2
+
+    fun struct_ord (t, u) = int_ord (cons_nr t, cons_nr u)
+    
+    fun atoms_ord (SConst (n, _), SConst (m, _)) = fast_string_ord (n, m)
+      | atoms_ord (SFree (n, _), SFree (m, _)) = fast_string_ord (n, m)
+      | atoms_ord (SNum (i, _), SNum (j, _)) = int_ord (i, j)
+      | atoms_ord _ = sys_error "atoms_ord"
+
+    fun types_ord (SConst (_, T), SConst (_, U)) = TermOrd.typ_ord (T, U)
+      | types_ord (SFree (_, T), SFree (_, U)) = TermOrd.typ_ord (T, U)
+      | types_ord (SNum (_, T), SNum (_, U)) = TermOrd.typ_ord (T, U)
+      | types_ord _ = sys_error "types_ord"
+
+    fun fast_sym_ord tu =
+      (case struct_ord tu of
+        EQUAL => (case atoms_ord tu of EQUAL => types_ord tu | ord => ord)
+      | ord => ord)
+  in
+  structure Stab = Table(type key = sym val ord = fast_sym_ord)
+  end
+
+
+  (** Add the marker symbols "term" and "formula" to separate formulas and
       terms. **)
 
   val connectives = map make_sconst [@{term True}, @{term False},
     @{term Not}, @{term "op &"}, @{term "op |"}, @{term "op -->"},
     @{term "op = :: bool => _"}]
 
-  fun note false c (ps, fs) = (insert (op =) c ps, fs)
-    | note true c (ps, fs) = (ps, insert (op =) c fs)
+  fun insert_sym c = Stab.map_default (c, ()) I
+  fun note false c (ps, fs) = (insert_sym c ps, fs)
+    | note true c (ps, fs) = (ps, insert_sym c fs)
 
   val term_marker = SConst (@{const_name term}, Term.dummyT)
   val formula_marker = SConst (@{const_name formula}, Term.dummyT)
@@ -316,7 +343,7 @@
       val rule = Conv.fconv_rule (unterm_conv ctxt) thm
       val prop = Thm.prop_of thm
       val inst = instantiate (Term.add_tvar_names prop [])
-      fun inst_for T = (singleton intermediate (inst T prop), rule)
+      fun inst_for T = (rule, singleton intermediate (inst T prop))
     in (make_sconst (head_of (Thm.prop_of rule)), inst_for) end
 
   val logicals = map (prepare @{context})
@@ -342,10 +369,15 @@
         (n = m) andalso Sign.typ_instance thy (T, U)
     | is_instance _ _ = false
 
-  fun lookup_logical thy (c as SConst (_, T)) =
-        AList.lookup (is_instance thy) logicals c
-        |> Option.map (fn inst_for => inst_for T)
-    | lookup_logical _ _ = NONE
+  fun rule_for thy c T =
+    AList.lookup (is_instance thy) logicals c
+    |> Option.map (fn inst_for => inst_for T)
+
+  fun lookup_logical thy (c as SConst (_, T)) (thms, ts) =
+        (case rule_for thy c T of
+          SOME (thm, t) => (thm :: thms, t :: ts)
+        | NONE => (thms, ts))
+    | lookup_logical _ _ tss = tss
 
   val s_eq = make_sconst @{term "op = :: bool => _"}
   val s_True = mark_term (SApp (make_sconst @{term True}, []))
@@ -367,7 +399,7 @@
         | SApp (c as SConst (@{const_name formula}, _), [u]) =>
             SApp (c, [rewr env false u])
         | SApp (c, us) =>
-            let val f = if not loc andalso member (op =) ls c then holds else I
+            let val f = if not loc andalso Stab.defined ls c then holds else I
             in f (SApp (rewr_iff c, map (rewr env loc) us)) end
         | SLet (v, u1, u2) =>
             SLet (v, rewr env loc u1, rewr (is_term u1 :: env) loc u2)
@@ -378,14 +410,12 @@
 in
 fun separate thy ts =
   let
-    val (ts', (ps, fs)) = fold_map (sep false) ts ([], [])
-    val eq_name = (fn
-        (SConst (n, _), SConst (m, _)) => n = m
-      | (SFree (n, _), SFree (m, _)) => n = m
-      | _ => false)
-    val ls = filter (member eq_name fs) ps
-    val (us, thms) = split_list (map_filter (lookup_logical thy) fs)
-  in (thms, us @ rewrite ls ts') end
+    val (ts', (ps, fs)) = fold_map (sep false) ts (Stab.empty, Stab.empty)
+    fun insert (px as (p, _)) = if Stab.defined fs p then Stab.update px else I
+  in
+    Stab.fold (lookup_logical thy o fst) fs ([], [])
+    ||> append (rewrite (Stab.fold insert ps Stab.empty) ts')
+  end
 end
 
 
--- a/src/Tools/Code/code_thingol.ML	Mon Dec 07 00:02:54 2009 +0100
+++ b/src/Tools/Code/code_thingol.ML	Mon Dec 07 11:18:44 2009 +0100
@@ -928,9 +928,9 @@
           | NONE => thy;
         val cs = Symtab.fold (fn (c, (_, NONE)) => cons c | _ => I)
           ((snd o #constants o Consts.dest o #consts o Sign.rep_sg) thy') [];
-        fun belongs_here c =
-          not (exists (fn thy'' => Sign.declared_const thy'' c) (Theory.parents_of thy'))
-      in if is_some some_thyname then cs else filter belongs_here cs end;
+        fun belongs_here c = forall
+          (fn thy'' => not (Sign.declared_const thy'' c)) (Theory.parents_of thy')
+      in if is_some some_thyname then filter belongs_here cs else cs end;
     fun read_const_expr "*" = ([], consts_of NONE)
       | read_const_expr s = if String.isSuffix ".*" s
           then ([], consts_of (SOME (unsuffix ".*" s)))