Merged.
authorballarin
Sat, 21 Nov 2009 17:37:07 +0100
changeset 33836 da3e88ea6c72
parent 33835 d6134fb5a49f (current diff)
parent 33834 7c06e19f717c (diff)
child 33837 a406f447abef
Merged.
Admin/Benchmarks/HOL-datatype/IsaMakefile
lib/jedit/README
lib/jedit/isabelle.xml
lib/jedit/plugin/Isabelle.props
lib/jedit/plugin/dockables.xml
lib/jedit/plugin/isabelle_dock.scala
lib/jedit/plugin/isabelle_parser.scala
lib/jedit/plugin/isabelle_plugin.scala
lib/jedit/plugin/mk
lib/jedit/plugin/services.xml
src/FOL/ex/LocaleTest.thy
src/HOL/Induct/LFilter.thy
src/HOL/Induct/LList.thy
src/HOL/Induct/SList.thy
src/Tools/Auto_Counterexample.thy
--- a/Admin/Benchmarks/HOL-datatype/Brackin.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/Benchmarks/HOL-datatype/Brackin.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -1,13 +1,10 @@
 (*  Title:      Admin/Benchmarks/HOL-datatype/Brackin.thy
-    ID:         $Id$
+
+A couple from Steve Brackin's work.
 *)
 
 theory Brackin imports Main begin
 
-(* ------------------------------------------------------------------------- *)
-(* A couple from Steve Brackin's work.                                       *)
-(* ------------------------------------------------------------------------- *)
-
 datatype   T = X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | X9 | X10 | X11 |
                 X12 | X13 | X14 | X15 | X16 | X17 | X18 | X19 | X20 | X21 |
                 X22 | X23 | X24 | X25 | X26 | X27 | X28 | X29 | X30 | X31 |
--- a/Admin/Benchmarks/HOL-datatype/Instructions.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/Benchmarks/HOL-datatype/Instructions.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -1,13 +1,10 @@
 (*  Title:      Admin/Benchmarks/HOL-datatype/Instructions.thy
-    ID:         $Id$
+
+Example from Konrad: 68000 instruction set.
 *)
 
 theory Instructions imports Main begin
 
-(* ------------------------------------------------------------------------- *)
-(* Example from Konrad: 68000 instruction set.                               *)
-(* ------------------------------------------------------------------------- *)
-
 datatype Size = Byte | Word | Long
 
 datatype DataRegister
--- a/Admin/Benchmarks/HOL-datatype/IsaMakefile	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-#
-# $Id$
-#
-
-## targets
-
-default: HOL-datatype
-images:
-test: HOL-datatype
-all: images test
-
-
-## global settings
-
-SRC = $(ISABELLE_HOME)/src
-OUT = $(ISABELLE_OUTPUT)
-LOG = $(OUT)/log
-
-
-## HOL-datatype
-
-HOL:
-	@cd $(SRC)/HOL; $(ISABELLE_TOOL) make HOL
-
-HOL-datatype: HOL $(LOG)/HOL-datatype.gz
-
-$(LOG)/HOL-datatype.gz: $(OUT)/HOLBrackin.thy Instructions.thy SML.thy \
-  Verilog.thy
-	@cd ..; $(ISABELLE_TOOL) usedir -s HOL-datatype $(OUT)/HOL HOL-datatype
-
-
-## clean
-
-clean:
-	@rm -f $(LOG)/HOL-datatype.gz
--- a/Admin/Benchmarks/HOL-datatype/SML.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/Benchmarks/HOL-datatype/SML.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -1,13 +1,10 @@
 (*  Title:      Admin/Benchmarks/HOL-datatype/SML.thy
-    ID:         $Id$
+
+Example from Myra: part of the syntax of SML.
 *)
 
 theory SML imports Main begin
 
-(* ------------------------------------------------------------------------- *)
-(* Example from Myra: part of the syntax of SML.                             *)
-(* ------------------------------------------------------------------------- *)
-
 datatype
   string = EMPTY_STRING | CONS_STRING nat string
 
--- a/Admin/Benchmarks/HOL-datatype/Verilog.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/Benchmarks/HOL-datatype/Verilog.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -1,13 +1,10 @@
 (*  Title:      Admin/Benchmarks/HOL-datatype/Verilog.thy
-    ID:         $Id$
+
+Example from Daryl: a Verilog grammar.
 *)
 
 theory Verilog imports Main begin
 
-(* ------------------------------------------------------------------------- *)
-(* Example from Daryl: a Verilog grammar.                                    *)
-(* ------------------------------------------------------------------------- *)
-
 datatype
   Source_text
      = module string "string list" "Module_item list"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/Benchmarks/HOL-record/ROOT.ML	Sat Nov 21 17:37:07 2009 +0100
@@ -0,0 +1,14 @@
+(*  Title:      Admin/Benchmarks/HOL-record/ROOT.ML
+
+Some benchmark on large record.
+*)
+
+val tests = ["RecordBenchmark"];
+
+Unsynchronized.set timing;
+
+warning "\nset quick_and_dirty\n"; Unsynchronized.set quick_and_dirty;
+List.app time_use_thy tests;
+
+warning "\nreset quick_and_dirty\n"; Unsynchronized.reset quick_and_dirty;
+List.app time_use_thy tests;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/Benchmarks/HOL-record/RecordBenchmark.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -0,0 +1,395 @@
+(*  Title:      Admin/Benchmarks/HOL-record/RecordBenchmark.thy
+    Author:     Norbert Schirmer, DFKI
+*)
+
+header {* Benchmark for large record *}
+
+theory RecordBenchmark
+imports Main
+begin
+
+ML {* Unsynchronized.set Record.timing *}
+
+record many_A =
+A000::nat
+A001::nat
+A002::nat
+A003::nat
+A004::nat
+A005::nat
+A006::nat
+A007::nat
+A008::nat
+A009::nat
+A010::nat
+A011::nat
+A012::nat
+A013::nat
+A014::nat
+A015::nat
+A016::nat
+A017::nat
+A018::nat
+A019::nat
+A020::nat
+A021::nat
+A022::nat
+A023::nat
+A024::nat
+A025::nat
+A026::nat
+A027::nat
+A028::nat
+A029::nat
+A030::nat
+A031::nat
+A032::nat
+A033::nat
+A034::nat
+A035::nat
+A036::nat
+A037::nat
+A038::nat
+A039::nat
+A040::nat
+A041::nat
+A042::nat
+A043::nat
+A044::nat
+A045::nat
+A046::nat
+A047::nat
+A048::nat
+A049::nat
+A050::nat
+A051::nat
+A052::nat
+A053::nat
+A054::nat
+A055::nat
+A056::nat
+A057::nat
+A058::nat
+A059::nat
+A060::nat
+A061::nat
+A062::nat
+A063::nat
+A064::nat
+A065::nat
+A066::nat
+A067::nat
+A068::nat
+A069::nat
+A070::nat
+A071::nat
+A072::nat
+A073::nat
+A074::nat
+A075::nat
+A076::nat
+A077::nat
+A078::nat
+A079::nat
+A080::nat
+A081::nat
+A082::nat
+A083::nat
+A084::nat
+A085::nat
+A086::nat
+A087::nat
+A088::nat
+A089::nat
+A090::nat
+A091::nat
+A092::nat
+A093::nat
+A094::nat
+A095::nat
+A096::nat
+A097::nat
+A098::nat
+A099::nat
+A100::nat
+A101::nat
+A102::nat
+A103::nat
+A104::nat
+A105::nat
+A106::nat
+A107::nat
+A108::nat
+A109::nat
+A110::nat
+A111::nat
+A112::nat
+A113::nat
+A114::nat
+A115::nat
+A116::nat
+A117::nat
+A118::nat
+A119::nat
+A120::nat
+A121::nat
+A122::nat
+A123::nat
+A124::nat
+A125::nat
+A126::nat
+A127::nat
+A128::nat
+A129::nat
+A130::nat
+A131::nat
+A132::nat
+A133::nat
+A134::nat
+A135::nat
+A136::nat
+A137::nat
+A138::nat
+A139::nat
+A140::nat
+A141::nat
+A142::nat
+A143::nat
+A144::nat
+A145::nat
+A146::nat
+A147::nat
+A148::nat
+A149::nat
+A150::nat
+A151::nat
+A152::nat
+A153::nat
+A154::nat
+A155::nat
+A156::nat
+A157::nat
+A158::nat
+A159::nat
+A160::nat
+A161::nat
+A162::nat
+A163::nat
+A164::nat
+A165::nat
+A166::nat
+A167::nat
+A168::nat
+A169::nat
+A170::nat
+A171::nat
+A172::nat
+A173::nat
+A174::nat
+A175::nat
+A176::nat
+A177::nat
+A178::nat
+A179::nat
+A180::nat
+A181::nat
+A182::nat
+A183::nat
+A184::nat
+A185::nat
+A186::nat
+A187::nat
+A188::nat
+A189::nat
+A190::nat
+A191::nat
+A192::nat
+A193::nat
+A194::nat
+A195::nat
+A196::nat
+A197::nat
+A198::nat
+A199::nat
+A200::nat
+A201::nat
+A202::nat
+A203::nat
+A204::nat
+A205::nat
+A206::nat
+A207::nat
+A208::nat
+A209::nat
+A210::nat
+A211::nat
+A212::nat
+A213::nat
+A214::nat
+A215::nat
+A216::nat
+A217::nat
+A218::nat
+A219::nat
+A220::nat
+A221::nat
+A222::nat
+A223::nat
+A224::nat
+A225::nat
+A226::nat
+A227::nat
+A228::nat
+A229::nat
+A230::nat
+A231::nat
+A232::nat
+A233::nat
+A234::nat
+A235::nat
+A236::nat
+A237::nat
+A238::nat
+A239::nat
+A240::nat
+A241::nat
+A242::nat
+A243::nat
+A244::nat
+A245::nat
+A246::nat
+A247::nat
+A248::nat
+A249::nat
+A250::nat
+A251::nat
+A252::nat
+A253::nat
+A254::nat
+A255::nat
+A256::nat
+A257::nat
+A258::nat
+A259::nat
+A260::nat
+A261::nat
+A262::nat
+A263::nat
+A264::nat
+A265::nat
+A266::nat
+A267::nat
+A268::nat
+A269::nat
+A270::nat
+A271::nat
+A272::nat
+A273::nat
+A274::nat
+A275::nat
+A276::nat
+A277::nat
+A278::nat
+A279::nat
+A280::nat
+A281::nat
+A282::nat
+A283::nat
+A284::nat
+A285::nat
+A286::nat
+A287::nat
+A288::nat
+A289::nat
+A290::nat
+A291::nat
+A292::nat
+A293::nat
+A294::nat
+A295::nat
+A296::nat
+A297::nat
+A298::nat
+A299::nat
+
+lemma "A155 (r\<lparr>A255:=x\<rparr>) = A155 r"
+by simp
+
+lemma "A155 (r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = A155 r"
+by simp
+
+lemma "(r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = r\<lparr>A253:=y,A255:=z\<rparr>"
+by simp
+
+lemma "(r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = r\<lparr>A253:=y,A255:=z\<rparr>"
+apply (tactic {* simp_tac
+          (HOL_basic_ss addsimprocs [Record.record_upd_simproc]) 1*})
+done
+
+lemma "(\<forall>r. P (A155 r)) \<longrightarrow> (\<forall>x. P x)"
+  apply (tactic {* simp_tac
+          (HOL_basic_ss addsimprocs [Record.record_split_simproc (K ~1)]) 1*})
+  apply simp
+  done
+
+lemma "(\<forall>r. P (A155 r)) \<longrightarrow> (\<forall>x. P x)"
+  apply (tactic {* Record.record_split_simp_tac [] (K ~1) 1*})
+  apply simp
+  done
+
+lemma "(\<exists>r. P (A155 r)) \<longrightarrow> (\<exists>x. P x)"
+  apply (tactic {* simp_tac
+          (HOL_basic_ss addsimprocs [Record.record_split_simproc (K ~1)]) 1*})
+  apply simp
+  done
+
+lemma "(\<exists>r. P (A155 r)) \<longrightarrow> (\<exists>x. P x)"
+  apply (tactic {* Record.record_split_simp_tac [] (K ~1) 1*})
+  apply simp
+  done
+
+lemma "\<And>r. P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
+  apply (tactic {* simp_tac
+          (HOL_basic_ss addsimprocs [Record.record_split_simproc (K ~1)]) 1*})
+  apply auto
+  done
+
+lemma "\<And>r. P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
+  apply (tactic {* Record.record_split_simp_tac [] (K ~1) 1*})
+  apply auto
+  done
+
+lemma "P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
+  apply (tactic {* Record.record_split_simp_tac [] (K ~1) 1*})
+  apply auto
+  done
+
+lemma fixes r shows "P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
+  apply (tactic {* Record.record_split_simp_tac [] (K ~1) 1*})
+  apply auto
+  done
+
+
+lemma True
+proof -
+  {
+    fix P r
+    assume pre: "P (A155 r)"
+    have "\<exists>x. P x"
+      using pre
+      apply -
+      apply (tactic {* Record.record_split_simp_tac [] (K ~1) 1*})
+      apply auto 
+      done
+  }
+  show ?thesis ..
+qed
+
+
+lemma "\<exists>r. A155 r = x"
+  apply (tactic {*simp_tac 
+           (HOL_basic_ss addsimprocs [Record.record_ex_sel_eq_simproc]) 1*})
+  done
+
+
+end
\ No newline at end of file
--- a/Admin/Benchmarks/IsaMakefile	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/Benchmarks/IsaMakefile	Sat Nov 21 17:37:07 2009 +0100
@@ -1,12 +1,9 @@
-#
-# $Id$
-#
 
 ## targets
 
-default: HOL-datatype
+default: all
 images:
-test: HOL-datatype
+test: HOL-datatype HOL-record
 all: images test
 
 
@@ -22,15 +19,25 @@
 HOL:
 	@cd $(SRC)/HOL; $(ISABELLE_TOOL) make HOL
 
+
 HOL-datatype: HOL $(LOG)/HOL-datatype.gz
 
-$(LOG)/HOL-datatype.gz: $(OUT)/HOL HOL-datatype/Brackin.thy \
-  HOL-datatype/Instructions.thy HOL-datatype/SML.thy \
-  HOL-datatype/Verilog.thy
-	@$(ISABELLE_TOOL) usedir -s HOL-datatype $(OUT)/HOL HOL-datatype
+$(LOG)/HOL-datatype.gz: $(OUT)/HOL HOL-datatype/ROOT.ML		\
+  HOL-datatype/Brackin.thy HOL-datatype/Instructions.thy	\
+  HOL-datatype/SML.thy HOL-datatype/Verilog.thy
+	@$(ISABELLE_TOOL) usedir -s datatype $(OUT)/HOL HOL-datatype
+
+
+## HOL-record
+
+HOL-record: HOL $(LOG)/HOL-record.gz
+
+$(LOG)/HOL-record.gz: $(OUT)/HOL HOL-record/ROOT.ML	\
+   HOL-record/RecordBenchmark.thy
+	@$(ISABELLE_TOOL) usedir -s record $(OUT)/HOL HOL-record
 
 
 ## clean
 
 clean:
-	@rm -f $(LOG)/HOL-datatype.gz
+	@rm -f $(LOG)/HOL-datatype.gz $(LOG)/HOL-record.gz
--- a/Admin/isatest/isatest-makedist	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/isatest/isatest-makedist	Sat Nov 21 17:37:07 2009 +0100
@@ -104,15 +104,15 @@
 sleep 15
 $SSH macbroy23 "$MAKEALL -l HOL images $HOME/settings/at-sml-dev-e"
 sleep 15
-$SSH atbroy99 "$MAKEALL $HOME/settings/at64-poly"
+$SSH macbroy24 "$MAKEALL $HOME/settings/at64-poly"
 sleep 15
 $SSH macbroy2 "$MAKEALL $HOME/settings/mac-poly64-M4; $MAKEALL $HOME/settings/mac-poly64-M8; $MAKEALL $HOME/settings/mac-poly-M4; $MAKEALL $HOME/settings/mac-poly-M8"
 sleep 15
 $SSH macbroy5 "$MAKEALL $HOME/settings/mac-poly"
 sleep 15
 $SSH macbroy6 "sleep 10800; $MAKEALL $HOME/settings/at-mac-poly-5.1-para"
-sleep 15
-$SSH atbroy51 "$HOME/admin/isatest/isatest-annomaly"
+#sleep 15
+#$SSH atbroy51 "$HOME/admin/isatest/isatest-annomaly"
 
 echo ------------------- spawned tests successfully --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/isatest/minimal-test	Sat Nov 21 17:37:07 2009 +0100
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+#
+# Author: Makarius
+#
+# DESCRIPTION: minimal test of current repository version
+
+## global settings
+
+MAXTIME=14400
+
+DATE=$(date "+%Y-%m-%d_%H:%M")
+HOST=$(hostname -s)
+
+LOGDIR="$HOME/log"
+LOG="$LOGDIR/test-${DATE}-${HOST}.log"
+
+TEST_NAME="minimal-test@${HOST}"
+PUBLISH_TEST="/home/isabelle-repository/repos/testtool/publish_test.py"
+
+
+## diagnostics
+
+function fail()
+{
+  echo "$1" >&2
+  exit 2
+}
+
+
+## main
+
+mkdir -p "$LOGDIR" || fail "Bad log directory: $LOGDIR"
+
+[ -z "$ISABELLE_HOME" -o -z "$ISABELLE_TOOL" ] && fail "Bad Isabelle environment"
+
+cd "$ISABELLE_HOME"
+
+hg pull -u || fail "Bad repository: $PWD"
+IDENT="$(hg parent --template "{node|short}")"
+
+(
+  ulimit -t "$MAXTIME"
+
+  echo -n "hg id: "; hg id
+  "$ISABELLE_TOOL" makeall clean
+  "$ISABELLE_TOOL" makeall all -k
+  exit "$?"
+) > "$LOG" 2>&1
+
+if [ "$?" -eq 0 ]; then
+  [ -x "$PUBLISH_TEST" ] && \
+    "$PUBLISH_TEST" -r "$IDENT" -s SUCCESS -a log "$LOG" -n "$TEST_NAME"
+  gzip -f "$LOG"
+else
+  [ -x "$PUBLISH_TEST" ] && \
+    "$PUBLISH_TEST" -r "$IDENT" -s FAIL -a log "$LOG" -n "$TEST_NAME"
+  fail "Minimal test failed, see $LOG"
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/polyml/polyml	Sat Nov 21 17:37:07 2009 +0100
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#
+# Minimal Poly/ML startup script
+
+THIS="$(cd "$(dirname "$0")"; pwd)"
+
+export LD_LIBRARY_PATH="$THIS:$LD_LIBRARY_PATH"
+export DYLD_LIBRARY_PATH="$THIS:$DYLD_LIBRARY_PATH"
+
+exec "$THIS/poly" "$@"
+
--- a/Admin/update-keywords	Sat Nov 21 17:35:55 2009 +0100
+++ b/Admin/update-keywords	Sat Nov 21 17:37:07 2009 +0100
@@ -1,30 +1,19 @@
 #!/usr/bin/env bash
 #
-# $Id$
 # Author: Makarius
 #
-# DESCRIPTION: Update standard keyword files.
+# DESCRIPTION: Update standard keyword files for Emacs Proof General
 
 ISABELLE_HOME="$(isabelle getenv -b ISABELLE_HOME)"
 LOG="$(isabelle getenv -b ISABELLE_OUTPUT)"/log
 
 
-## Emacs ProofGeneral
-
 cd "$ISABELLE_HOME/etc"
 
-isabelle keywords -t emacs \
+isabelle keywords \
   "$LOG/Pure.gz" "$LOG/Pure-ProofGeneral.gz" "$LOG/HOL.gz" "$LOG/HOLCF.gz" \
-  "$LOG/IOA.gz" "$LOG/HOL-Nominal.gz" "$LOG/HOL-Statespace.gz"
+  "$LOG/IOA.gz" "$LOG/HOL-Boogie.gz" "$LOG/HOL-Nominal.gz" "$LOG/HOL-Statespace.gz"
 
-isabelle keywords -t emacs -k ZF \
+isabelle keywords -k ZF \
   "$LOG/Pure.gz" "$LOG/Pure-ProofGeneral.gz" "$LOG/FOL.gz" "$LOG/ZF.gz"
 
-
-## jEdit
-
-cd "$ISABELLE_HOME/lib/jedit"
-
-isabelle keywords -t jedit \
-  "$LOG/Pure.gz" "$LOG/HOL.gz" "$LOG/HOLCF.gz" "$LOG/IOA.gz" "$LOG/HOL-Nominal.gz" \
-  "$LOG/HOL-Statespace.gz" "$LOG/FOL.gz" "$LOG/ZF.gz"
--- a/CONTRIBUTORS	Sat Nov 21 17:35:55 2009 +0100
+++ b/CONTRIBUTORS	Sat Nov 21 17:37:07 2009 +0100
@@ -7,6 +7,15 @@
 Contributions to this Isabelle version
 --------------------------------------
 
+* November 2009: Robert Himmelmann, TUM
+  Derivation and Brouwer's fixpoint theorem in Multivariate Analysis
+
+* November 2009: Stefan Berghofer, Lukas Bulwahn, TUM
+  A tabled implementation of the reflexive transitive closure
+
+* November 2009: Lukas Bulwahn, TUM
+  Predicate Compiler: a compiler for inductive predicates to equational specfications
+ 
 * November 2009: Sascha Boehme, TUM
   HOL-Boogie: an interactive prover back-end for Boogie and VCC
 
--- a/NEWS	Sat Nov 21 17:35:55 2009 +0100
+++ b/NEWS	Sat Nov 21 17:37:07 2009 +0100
@@ -37,6 +37,11 @@
 
 *** HOL ***
 
+* A tabled implementation of the reflexive transitive closure
+
+* New commands "code_pred" and "values" to invoke the predicate compiler
+and to enumerate values of inductive predicates.
+
 * Combined former theories Divides and IntDiv to one theory Divides
 in the spirit of other number theory theories in HOL;  some constants
 (and to a lesser extent also facts) have been suffixed with _nat und _int
@@ -91,6 +96,17 @@
 zdiv_zmult_zmult2.  div_mult_mult1 is now [simp] by default.
 INCOMPATIBILITY.
 
+* Extended Multivariate Analysis to include derivation and Brouwer's fixpoint
+theorem.
+
+* Removed predicate "M hassize n" (<--> card M = n & finite M). Was only used
+in Multivariate Analysis. Renamed vector_less_eq_def to vector_le_def, the
+more usual name.
+INCOMPATIBILITY.
+
+* Added theorem List.map_map as [simp]. Removed List.map_compose.
+INCOMPATIBILITY.
+
 * New testing tool "Mirabelle" for automated (proof) tools. Applies
 several tools and tactics like sledgehammer, metis, or quickcheck, to
 every proof step in a theory. To be used in batch mode via the
@@ -233,6 +249,45 @@
     sizechange -> size_change
     induct_scheme -> induction_schema
 
+* Lemma name change: replaced "anti_sym" by "antisym" everywhere.
+
+
+*** HOLCF ***
+
+* Theory 'Representable.thy' defines a class 'rep' of domains that are
+representable (via an ep-pair) in the universal domain type 'udom'.
+Instances are provided for all type constructors defined in HOLCF.
+
+* The 'new_domain' command is a purely definitional version of the
+domain package, for representable domains.  Syntax is identical to the
+old domain package.  The 'new_domain' package also supports indirect
+recursion using previously-defined type constructors.  See
+HOLCF/ex/New_Domain.thy for examples.
+
+* Method 'fixrec_simp' unfolds one step of a fixrec-defined constant
+on the left-hand side of an equation, and then performs
+simplification.  Rewriting is done using rules declared with the
+'fixrec_simp' attribute.  The 'fixrec_simp' method is intended as a
+replacement for 'fixpat'; see HOLCF/ex/Fixrec_ex.thy for examples.
+
+* The pattern-match compiler in 'fixrec' can now handle constructors
+with HOL function types.  Pattern-match combinators for the Pair
+constructor are pre-configured.
+
+* The 'fixrec' package now produces better fixed-point induction rules
+for mutually-recursive definitions:  Induction rules have conclusions
+of the form "P foo bar" instead of "P <foo, bar>".
+
+* The constant "sq_le" (with infix syntax "<<" or "\<sqsubseteq>") has
+been renamed to "below".  The name "below" now replaces "less" in many
+theorem names.  (Legacy theorem names using "less" are still
+supported as well.)
+
+* The 'fixrec' package now supports "bottom patterns".  Bottom
+patterns can be used to generate strictness rules, or to make
+functions more strict (much like the bang-patterns supported by the
+Glasgow Haskell Compiler).  See HOLCF/ex/Fixrec_ex.thy for examples.
+
 
 *** ML ***
 
@@ -304,6 +359,10 @@
 * The isabelle makeall tool now operates on all components with
 IsaMakefile, not just hardwired "logics".
 
+* New component "isabelle wwwfind [start|stop|status] [HEAP]"
+Provides web interface for find_theorems on HEAP. Depends on lighttpd 
+webserver being installed. Currently supported on Linux only.
+
 * Discontinued support for Poly/ML 4.x versions.
 
 * Removed "compress" option from isabelle-process and isabelle usedir;
--- a/doc-src/Codegen/Thy/ML.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/ML.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -24,7 +24,6 @@
   \begin{mldecls}
   @{index_ML Code.add_eqn: "thm -> theory -> theory"} \\
   @{index_ML Code.del_eqn: "thm -> theory -> theory"} \\
-  @{index_ML Code.add_eqnl: "string * (thm * bool) list lazy -> theory -> theory"} \\
   @{index_ML Code_Preproc.map_pre: "(simpset -> simpset) -> theory -> theory"} \\
   @{index_ML Code_Preproc.map_post: "(simpset -> simpset) -> theory -> theory"} \\
   @{index_ML Code_Preproc.add_functrans: "string * (theory -> (thm * bool) list -> (thm * bool) list option)
@@ -44,10 +43,6 @@
   \item @{ML Code.del_eqn}~@{text "thm"}~@{text "thy"} removes function
      theorem @{text "thm"} from executable content, if present.
 
-  \item @{ML Code.add_eqnl}~@{text "(const, lthms)"}~@{text "thy"} adds
-     suspended code equations @{text lthms} for constant
-     @{text const} to executable content.
-
   \item @{ML Code_Preproc.map_pre}~@{text "f"}~@{text "thy"} changes
      the preprocessor simpset.
 
--- a/doc-src/Codegen/Thy/Program.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/Program.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -356,47 +356,8 @@
   For datatypes, instances of @{class eq} are implicitly derived
   when possible.  For other types, you may instantiate @{text eq}
   manually like any other type class.
-
-  Though this @{text eq} class is designed to get rarely in
-  the way, in some cases the automatically derived code equations
-  for equality on a particular type may not be appropriate.
-  As example, watch the following datatype representing
-  monomorphic parametric types (where type constructors
-  are referred to by natural numbers):
 *}
 
-datatype %quote monotype = Mono nat "monotype list"
-(*<*)
-lemma monotype_eq:
-  "eq_class.eq (Mono tyco1 typargs1) (Mono tyco2 typargs2) \<equiv> 
-     eq_class.eq tyco1 tyco2 \<and> eq_class.eq typargs1 typargs2" by (simp add: eq)
-(*>*)
-
-text {*
-  \noindent Then code generation for SML would fail with a message
-  that the generated code contains illegal mutual dependencies:
-  the theorem @{thm monotype_eq [no_vars]} already requires the
-  instance @{text "monotype \<Colon> eq"}, which itself requires
-  @{thm monotype_eq [no_vars]};  Haskell has no problem with mutually
-  recursive @{text instance} and @{text function} definitions,
-  but the SML serialiser does not support this.
-
-  In such cases, you have to provide your own equality equations
-  involving auxiliary constants.  In our case,
-  @{const [show_types] list_all2} can do the job:
-*}
-
-lemma %quote monotype_eq_list_all2 [code]:
-  "eq_class.eq (Mono tyco1 typargs1) (Mono tyco2 typargs2) \<longleftrightarrow>
-     eq_class.eq tyco1 tyco2 \<and> list_all2 eq_class.eq typargs1 typargs2"
-  by (simp add: eq list_all2_eq [symmetric])
-
-text {*
-  \noindent does not depend on instance @{text "monotype \<Colon> eq"}:
-*}
-
-text %quote {*@{code_stmts "eq_class.eq :: monotype \<Rightarrow> monotype \<Rightarrow> bool" (SML)}*}
-
 
 subsection {* Explicit partiality *}
 
--- a/doc-src/Codegen/Thy/document/Adaptation.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/document/Adaptation.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -236,10 +236,10 @@
 \hspace*{0pt}\\
 \hspace*{0pt}datatype boola = True | False;\\
 \hspace*{0pt}\\
-\hspace*{0pt}fun anda x True = x\\
-\hspace*{0pt} ~| anda x False = False\\
-\hspace*{0pt} ~| anda True x = x\\
-\hspace*{0pt} ~| anda False x = False;\\
+\hspace*{0pt}fun anda p True = p\\
+\hspace*{0pt} ~| anda p False = False\\
+\hspace*{0pt} ~| anda True p = p\\
+\hspace*{0pt} ~| anda False p = False;\\
 \hspace*{0pt}\\
 \hspace*{0pt}fun less{\char95}nat m (Suc n) = less{\char95}eq{\char95}nat m n\\
 \hspace*{0pt} ~| less{\char95}nat n Zero{\char95}nat = False\\
--- a/doc-src/Codegen/Thy/document/Introduction.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/document/Introduction.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -160,7 +160,7 @@
 \hspace*{0pt}\\
 \hspace*{0pt}datatype 'a queue = AQueue of 'a list * 'a list;\\
 \hspace*{0pt}\\
-\hspace*{0pt}val empty :~'a queue = AQueue ([],~[])\\
+\hspace*{0pt}val empty :~'a queue = AQueue ([],~[]);\\
 \hspace*{0pt}\\
 \hspace*{0pt}fun dequeue (AQueue ([],~[])) = (NONE,~AQueue ([],~[]))\\
 \hspace*{0pt} ~| dequeue (AQueue (xs,~y ::~ys)) = (SOME y,~AQueue (xs,~ys))\\
--- a/doc-src/Codegen/Thy/document/ML.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/document/ML.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -54,7 +54,6 @@
 \begin{mldecls}
   \indexdef{}{ML}{Code.add\_eqn}\verb|Code.add_eqn: thm -> theory -> theory| \\
   \indexdef{}{ML}{Code.del\_eqn}\verb|Code.del_eqn: thm -> theory -> theory| \\
-  \indexdef{}{ML}{Code.add\_eqnl}\verb|Code.add_eqnl: string * (thm * bool) list lazy -> theory -> theory| \\
   \indexdef{}{ML}{Code\_Preproc.map\_pre}\verb|Code_Preproc.map_pre: (simpset -> simpset) -> theory -> theory| \\
   \indexdef{}{ML}{Code\_Preproc.map\_post}\verb|Code_Preproc.map_post: (simpset -> simpset) -> theory -> theory| \\
   \indexdef{}{ML}{Code\_Preproc.add\_functrans}\verb|Code_Preproc.add_functrans: string * (theory -> (thm * bool) list -> (thm * bool) list option)|\isasep\isanewline%
@@ -74,10 +73,6 @@
   \item \verb|Code.del_eqn|~\isa{thm}~\isa{thy} removes function
      theorem \isa{thm} from executable content, if present.
 
-  \item \verb|Code.add_eqnl|~\isa{{\isacharparenleft}const{\isacharcomma}\ lthms{\isacharparenright}}~\isa{thy} adds
-     suspended code equations \isa{lthms} for constant
-     \isa{const} to executable content.
-
   \item \verb|Code_Preproc.map_pre|~\isa{f}~\isa{thy} changes
      the preprocessor simpset.
 
--- a/doc-src/Codegen/Thy/document/Program.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/document/Program.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -356,7 +356,7 @@
 \hspace*{0pt}fun plus{\char95}nat (Suc m) n = plus{\char95}nat m (Suc n)\\
 \hspace*{0pt} ~| plus{\char95}nat Zero{\char95}nat n = n;\\
 \hspace*{0pt}\\
-\hspace*{0pt}val neutral{\char95}nat :~nat = Suc Zero{\char95}nat\\
+\hspace*{0pt}val neutral{\char95}nat :~nat = Suc Zero{\char95}nat;\\
 \hspace*{0pt}\\
 \hspace*{0pt}fun mult{\char95}nat Zero{\char95}nat n = Zero{\char95}nat\\
 \hspace*{0pt} ~| mult{\char95}nat (Suc m) n = plus{\char95}nat n (mult{\char95}nat m n);\\
@@ -667,7 +667,7 @@
 \hspace*{0pt}\\
 \hspace*{0pt}datatype 'a queue = AQueue of 'a list * 'a list;\\
 \hspace*{0pt}\\
-\hspace*{0pt}val empty :~'a queue = AQueue ([],~[])\\
+\hspace*{0pt}val empty :~'a queue = AQueue ([],~[]);\\
 \hspace*{0pt}\\
 \hspace*{0pt}fun dequeue (AQueue (xs,~y ::~ys)) = (SOME y,~AQueue (xs,~ys))\\
 \hspace*{0pt} ~| dequeue (AQueue (xs,~[])) =\\
@@ -797,124 +797,10 @@
   \isa{eq} constraints through all dependent code equations.
   For datatypes, instances of \isa{eq} are implicitly derived
   when possible.  For other types, you may instantiate \isa{eq}
-  manually like any other type class.
-
-  Though this \isa{eq} class is designed to get rarely in
-  the way, in some cases the automatically derived code equations
-  for equality on a particular type may not be appropriate.
-  As example, watch the following datatype representing
-  monomorphic parametric types (where type constructors
-  are referred to by natural numbers):%
-\end{isamarkuptext}%
-\isamarkuptrue%
-%
-\isadelimquote
-%
-\endisadelimquote
-%
-\isatagquote
-\isacommand{datatype}\isamarkupfalse%
-\ monotype\ {\isacharequal}\ Mono\ nat\ {\isachardoublequoteopen}monotype\ list{\isachardoublequoteclose}%
-\endisatagquote
-{\isafoldquote}%
-%
-\isadelimquote
-%
-\endisadelimquote
-%
-\isadelimproof
-%
-\endisadelimproof
-%
-\isatagproof
-%
-\endisatagproof
-{\isafoldproof}%
-%
-\isadelimproof
-%
-\endisadelimproof
-%
-\begin{isamarkuptext}%
-\noindent Then code generation for SML would fail with a message
-  that the generated code contains illegal mutual dependencies:
-  the theorem \isa{eq{\isacharunderscore}class{\isachardot}eq\ {\isacharparenleft}Mono\ tyco{\isadigit{1}}\ typargs{\isadigit{1}}{\isacharparenright}\ {\isacharparenleft}Mono\ tyco{\isadigit{2}}\ typargs{\isadigit{2}}{\isacharparenright}\ {\isasymequiv}\ eq{\isacharunderscore}class{\isachardot}eq\ tyco{\isadigit{1}}\ tyco{\isadigit{2}}\ {\isasymand}\ eq{\isacharunderscore}class{\isachardot}eq\ typargs{\isadigit{1}}\ typargs{\isadigit{2}}} already requires the
-  instance \isa{monotype\ {\isasymColon}\ eq}, which itself requires
-  \isa{eq{\isacharunderscore}class{\isachardot}eq\ {\isacharparenleft}Mono\ tyco{\isadigit{1}}\ typargs{\isadigit{1}}{\isacharparenright}\ {\isacharparenleft}Mono\ tyco{\isadigit{2}}\ typargs{\isadigit{2}}{\isacharparenright}\ {\isasymequiv}\ eq{\isacharunderscore}class{\isachardot}eq\ tyco{\isadigit{1}}\ tyco{\isadigit{2}}\ {\isasymand}\ eq{\isacharunderscore}class{\isachardot}eq\ typargs{\isadigit{1}}\ typargs{\isadigit{2}}};  Haskell has no problem with mutually
-  recursive \isa{instance} and \isa{function} definitions,
-  but the SML serialiser does not support this.
-
-  In such cases, you have to provide your own equality equations
-  involving auxiliary constants.  In our case,
-  \isa{list{\isacharunderscore}all{\isadigit{2}}} can do the job:%
+  manually like any other type class.%
 \end{isamarkuptext}%
 \isamarkuptrue%
 %
-\isadelimquote
-%
-\endisadelimquote
-%
-\isatagquote
-\isacommand{lemma}\isamarkupfalse%
-\ monotype{\isacharunderscore}eq{\isacharunderscore}list{\isacharunderscore}all{\isadigit{2}}\ {\isacharbrackleft}code{\isacharbrackright}{\isacharcolon}\isanewline
-\ \ {\isachardoublequoteopen}eq{\isacharunderscore}class{\isachardot}eq\ {\isacharparenleft}Mono\ tyco{\isadigit{1}}\ typargs{\isadigit{1}}{\isacharparenright}\ {\isacharparenleft}Mono\ tyco{\isadigit{2}}\ typargs{\isadigit{2}}{\isacharparenright}\ {\isasymlongleftrightarrow}\isanewline
-\ \ \ \ \ eq{\isacharunderscore}class{\isachardot}eq\ tyco{\isadigit{1}}\ tyco{\isadigit{2}}\ {\isasymand}\ list{\isacharunderscore}all{\isadigit{2}}\ eq{\isacharunderscore}class{\isachardot}eq\ typargs{\isadigit{1}}\ typargs{\isadigit{2}}{\isachardoublequoteclose}\isanewline
-\ \ \isacommand{by}\isamarkupfalse%
-\ {\isacharparenleft}simp\ add{\isacharcolon}\ eq\ list{\isacharunderscore}all{\isadigit{2}}{\isacharunderscore}eq\ {\isacharbrackleft}symmetric{\isacharbrackright}{\isacharparenright}%
-\endisatagquote
-{\isafoldquote}%
-%
-\isadelimquote
-%
-\endisadelimquote
-%
-\begin{isamarkuptext}%
-\noindent does not depend on instance \isa{monotype\ {\isasymColon}\ eq}:%
-\end{isamarkuptext}%
-\isamarkuptrue%
-%
-\isadelimquote
-%
-\endisadelimquote
-%
-\isatagquote
-%
-\begin{isamarkuptext}%
-\isatypewriter%
-\noindent%
-\hspace*{0pt}structure Example = \\
-\hspace*{0pt}struct\\
-\hspace*{0pt}\\
-\hspace*{0pt}datatype nat = Zero{\char95}nat | Suc of nat;\\
-\hspace*{0pt}\\
-\hspace*{0pt}fun null [] = true\\
-\hspace*{0pt} ~| null (x ::~xs) = false;\\
-\hspace*{0pt}\\
-\hspace*{0pt}fun eq{\char95}nat (Suc nat') Zero{\char95}nat = false\\
-\hspace*{0pt} ~| eq{\char95}nat Zero{\char95}nat (Suc nat') = false\\
-\hspace*{0pt} ~| eq{\char95}nat (Suc nat) (Suc nat') = eq{\char95}nat nat nat'\\
-\hspace*{0pt} ~| eq{\char95}nat Zero{\char95}nat Zero{\char95}nat = true;\\
-\hspace*{0pt}\\
-\hspace*{0pt}datatype monotype = Mono of nat * monotype list;\\
-\hspace*{0pt}\\
-\hspace*{0pt}fun list{\char95}all2 p (x ::~xs) (y ::~ys) = p x y andalso list{\char95}all2 p xs ys\\
-\hspace*{0pt} ~| list{\char95}all2 p xs [] = null xs\\
-\hspace*{0pt} ~| list{\char95}all2 p [] ys = null ys;\\
-\hspace*{0pt}\\
-\hspace*{0pt}fun eq{\char95}monotype (Mono (tyco1,~typargs1)) (Mono (tyco2,~typargs2)) =\\
-\hspace*{0pt} ~eq{\char95}nat tyco1 tyco2 andalso list{\char95}all2 eq{\char95}monotype typargs1 typargs2;\\
-\hspace*{0pt}\\
-\hspace*{0pt}end;~(*struct Example*)%
-\end{isamarkuptext}%
-\isamarkuptrue%
-%
-\endisatagquote
-{\isafoldquote}%
-%
-\isadelimquote
-%
-\endisadelimquote
-%
 \isamarkupsubsection{Explicit partiality%
 }
 \isamarkuptrue%
--- a/doc-src/Codegen/Thy/examples/example.ML	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Codegen/Thy/examples/example.ML	Sat Nov 21 17:37:07 2009 +0100
@@ -11,7 +11,7 @@
 
 datatype 'a queue = AQueue of 'a list * 'a list;
 
-val empty : 'a queue = AQueue ([], [])
+val empty : 'a queue = AQueue ([], []);
 
 fun dequeue (AQueue ([], [])) = (NONE, AQueue ([], []))
   | dequeue (AQueue (xs, y :: ys)) = (SOME y, AQueue (xs, ys))
--- a/doc-src/IsarImplementation/Thy/Local_Theory.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/IsarImplementation/Thy/Local_Theory.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -97,13 +97,11 @@
 text %mlref {*
   \begin{mldecls}
   @{index_ML_type local_theory: Proof.context} \\
-  @{index_ML TheoryTarget.init: "string option -> theory -> local_theory"} \\[1ex]
-  @{index_ML LocalTheory.define: "string ->
-    (binding * mixfix) * (Attrib.binding * term) -> local_theory ->
-    (term * (string * thm)) * local_theory"} \\
-  @{index_ML LocalTheory.note: "string ->
-    Attrib.binding * thm list -> local_theory ->
-    (string * thm list) * local_theory"} \\
+  @{index_ML Theory_Target.init: "string option -> theory -> local_theory"} \\[1ex]
+  @{index_ML Local_Theory.define: "(binding * mixfix) * (Attrib.binding * term) ->
+    local_theory -> (term * (string * thm)) * local_theory"} \\
+  @{index_ML Local_Theory.note: "Attrib.binding * thm list ->
+    local_theory -> (string * thm list) * local_theory"} \\
   \end{mldecls}
 
   \begin{description}
@@ -116,7 +114,7 @@
   with operations on expecting a regular @{text "ctxt:"}~@{ML_type
   Proof.context}.
 
-  \item @{ML TheoryTarget.init}~@{text "NONE thy"} initializes a
+  \item @{ML Theory_Target.init}~@{text "NONE thy"} initializes a
   trivial local theory from the given background theory.
   Alternatively, @{text "SOME name"} may be given to initialize a
   @{command locale} or @{command class} context (a fully-qualified
@@ -124,7 +122,7 @@
   --- normally the Isar toplevel already takes care to initialize the
   local theory context.
 
-  \item @{ML LocalTheory.define}~@{text "kind ((b, mx), (a, rhs))
+  \item @{ML Local_Theory.define}~@{text "((b, mx), (a, rhs))
   lthy"} defines a local entity according to the specification that is
   given relatively to the current @{text "lthy"} context.  In
   particular the term of the RHS may refer to earlier local entities
@@ -144,14 +142,10 @@
   declarations such as @{attribute simp}, while non-trivial rules like
   @{attribute simplified} are better avoided.
 
-  The @{text kind} determines the theorem kind tag of the resulting
-  fact.  Typical examples are @{ML Thm.definitionK}, @{ML
-  Thm.theoremK}, or @{ML Thm.internalK}.
-
-  \item @{ML LocalTheory.note}~@{text "kind (a, ths) lthy"} is
-  analogous to @{ML LocalTheory.define}, but defines facts instead of
+  \item @{ML Local_Theory.note}~@{text "(a, ths) lthy"} is
+  analogous to @{ML Local_Theory.define}, but defines facts instead of
   terms.  There is also a slightly more general variant @{ML
-  LocalTheory.notes} that defines several facts (with attribute
+  Local_Theory.notes} that defines several facts (with attribute
   expressions) simultaneously.
 
   This is essentially the internal version of the @{command lemmas}
--- a/doc-src/IsarImplementation/Thy/document/Local_Theory.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/IsarImplementation/Thy/document/Local_Theory.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -123,13 +123,11 @@
 \begin{isamarkuptext}%
 \begin{mldecls}
   \indexdef{}{ML type}{local\_theory}\verb|type local_theory = Proof.context| \\
-  \indexdef{}{ML}{TheoryTarget.init}\verb|TheoryTarget.init: string option -> theory -> local_theory| \\[1ex]
-  \indexdef{}{ML}{LocalTheory.define}\verb|LocalTheory.define: string ->|\isasep\isanewline%
-\verb|    (binding * mixfix) * (Attrib.binding * term) -> local_theory ->|\isasep\isanewline%
-\verb|    (term * (string * thm)) * local_theory| \\
-  \indexdef{}{ML}{LocalTheory.note}\verb|LocalTheory.note: string ->|\isasep\isanewline%
-\verb|    Attrib.binding * thm list -> local_theory ->|\isasep\isanewline%
-\verb|    (string * thm list) * local_theory| \\
+  \indexdef{}{ML}{Theory\_Target.init}\verb|Theory_Target.init: string option -> theory -> local_theory| \\[1ex]
+  \indexdef{}{ML}{Local\_Theory.define}\verb|Local_Theory.define: (binding * mixfix) * (Attrib.binding * term) ->|\isasep\isanewline%
+\verb|    local_theory -> (term * (string * thm)) * local_theory| \\
+  \indexdef{}{ML}{Local\_Theory.note}\verb|Local_Theory.note: Attrib.binding * thm list ->|\isasep\isanewline%
+\verb|    local_theory -> (string * thm list) * local_theory| \\
   \end{mldecls}
 
   \begin{description}
@@ -141,7 +139,7 @@
   any value \isa{lthy{\isacharcolon}}~\verb|local_theory| can be also used
   with operations on expecting a regular \isa{ctxt{\isacharcolon}}~\verb|Proof.context|.
 
-  \item \verb|TheoryTarget.init|~\isa{NONE\ thy} initializes a
+  \item \verb|Theory_Target.init|~\isa{NONE\ thy} initializes a
   trivial local theory from the given background theory.
   Alternatively, \isa{SOME\ name} may be given to initialize a
   \hyperlink{command.locale}{\mbox{\isa{\isacommand{locale}}}} or \hyperlink{command.class}{\mbox{\isa{\isacommand{class}}}} context (a fully-qualified
@@ -149,7 +147,7 @@
   --- normally the Isar toplevel already takes care to initialize the
   local theory context.
 
-  \item \verb|LocalTheory.define|~\isa{kind\ {\isacharparenleft}{\isacharparenleft}b{\isacharcomma}\ mx{\isacharparenright}{\isacharcomma}\ {\isacharparenleft}a{\isacharcomma}\ rhs{\isacharparenright}{\isacharparenright}\ lthy} defines a local entity according to the specification that is
+  \item \verb|Local_Theory.define|~\isa{{\isacharparenleft}{\isacharparenleft}b{\isacharcomma}\ mx{\isacharparenright}{\isacharcomma}\ {\isacharparenleft}a{\isacharcomma}\ rhs{\isacharparenright}{\isacharparenright}\ lthy} defines a local entity according to the specification that is
   given relatively to the current \isa{lthy} context.  In
   particular the term of the RHS may refer to earlier local entities
   from the auxiliary context, or hypothetical parameters from the
@@ -168,12 +166,9 @@
   declarations such as \hyperlink{attribute.simp}{\mbox{\isa{simp}}}, while non-trivial rules like
   \hyperlink{attribute.simplified}{\mbox{\isa{simplified}}} are better avoided.
 
-  The \isa{kind} determines the theorem kind tag of the resulting
-  fact.  Typical examples are \verb|Thm.definitionK|, \verb|Thm.theoremK|, or \verb|Thm.internalK|.
-
-  \item \verb|LocalTheory.note|~\isa{kind\ {\isacharparenleft}a{\isacharcomma}\ ths{\isacharparenright}\ lthy} is
-  analogous to \verb|LocalTheory.define|, but defines facts instead of
-  terms.  There is also a slightly more general variant \verb|LocalTheory.notes| that defines several facts (with attribute
+  \item \verb|Local_Theory.note|~\isa{{\isacharparenleft}a{\isacharcomma}\ ths{\isacharparenright}\ lthy} is
+  analogous to \verb|Local_Theory.define|, but defines facts instead of
+  terms.  There is also a slightly more general variant \verb|Local_Theory.notes| that defines several facts (with attribute
   expressions) simultaneously.
 
   This is essentially the internal version of the \hyperlink{command.lemmas}{\mbox{\isa{\isacommand{lemmas}}}}
--- a/doc-src/Nitpick/nitpick.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/Nitpick/nitpick.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -2019,9 +2019,11 @@
 you will find on Kodkod's web site \cite{kodkod-2009}. Unlike the standard
 version of MiniSat, the JNI version can be used incrementally.
 
+%%% No longer true:
+%%% "It is bundled with Kodkodi and requires no further installation or
+%%% configuration steps. Alternatively,"
 \item[$\bullet$] \textbf{\textit{PicoSAT}}: PicoSAT is an efficient solver
-written in C. It is bundled with Kodkodi and requires no further installation or
-configuration steps. Alternatively, you can install a standard version of
+written in C. You can install a standard version of
 PicoSAT and set the environment variable \texttt{PICOSAT\_HOME} to the directory
 that contains the \texttt{picosat} executable. The C sources for PicoSAT are
 available at \url{http://fmv.jku.at/picosat/} and are also bundled with Kodkodi.
@@ -2078,11 +2080,11 @@
 \url{http://cs.technion.ac.il/~gershman/HaifaSat.htm}.
 
 \item[$\bullet$] \textbf{\textit{smart}}: If \textit{sat\_solver} is set to
-\textit{smart}, Nitpick selects the first solver among MiniSatJNI, MiniSat,
-PicoSAT, zChaffJNI, zChaff, RSat, BerkMin, BerkMinAlloy, and Jerusat that is
-recognized by Isabelle. If none is found, it falls back on SAT4J, which should
-always be available. If \textit{verbose} is enabled, Nitpick displays which SAT
-solver was chosen.
+\textit{smart}, Nitpick selects the first solver among MiniSat,
+PicoSAT, zChaff, RSat, BerkMin, BerkMinAlloy, Jerusat, MiniSatJNI, and zChaffJNI
+that is recognized by Isabelle. If none is found, it falls back on SAT4J, which
+should always be available. If \textit{verbose} (\S\ref{output-format}) is
+enabled, Nitpick displays which SAT solver was chosen.
 \end{enum}
 \fussy
 
@@ -2469,8 +2471,8 @@
 
 \item[$\bullet$] Local definitions are not supported and result in an error.
 
-\item[$\bullet$] All constants and types whose names start with
-\textit{Nitpick}{.} are reserved for internal use.
+%\item[$\bullet$] All constants and types whose names start with
+%\textit{Nitpick}{.} are reserved for internal use.
 \end{enum}
 
 \let\em=\sl
--- a/doc-src/TutorialI/Rules/Primes.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/TutorialI/Rules/Primes.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -112,13 +112,13 @@
 (*uniqueness of GCDs*)
 lemma is_gcd_unique: "\<lbrakk> is_gcd m a b; is_gcd n a b \<rbrakk> \<Longrightarrow> m=n"
 apply (simp add: is_gcd_def);
-apply (blast intro: dvd_anti_sym)
+apply (blast intro: dvd_antisym)
 done
 
 
 text {*
-@{thm[display] dvd_anti_sym}
-\rulename{dvd_anti_sym}
+@{thm[display] dvd_antisym}
+\rulename{dvd_antisym}
 
 \begin{isabelle}
 proof\ (prove):\ step\ 1\isanewline
@@ -154,7 +154,7 @@
   apply (auto intro: dvd_trans [of _ m])
   done
 
-(*This is half of the proof (by dvd_anti_sym) of*)
+(*This is half of the proof (by dvd_antisym) of*)
 lemma gcd_mult_cancel: "gcd k n = 1 \<Longrightarrow> gcd (k*m) n = gcd m n"
   oops
 
--- a/doc-src/TutorialI/Types/Numbers.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/TutorialI/Types/Numbers.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -118,8 +118,8 @@
 @{thm[display] mod_by_0 [no_vars]}
 \rulename{mod_by_0}
 
-@{thm[display] dvd_anti_sym[no_vars]}
-\rulename{dvd_anti_sym}
+@{thm[display] dvd_antisym[no_vars]}
+\rulename{dvd_antisym}
 
 @{thm[display] dvd_add[no_vars]}
 \rulename{dvd_add}
--- a/doc-src/TutorialI/Types/document/Numbers.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/TutorialI/Types/document/Numbers.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -274,7 +274,7 @@
 \begin{isabelle}%
 {\isasymlbrakk}m\ dvd\ n{\isacharsemicolon}\ n\ dvd\ m{\isasymrbrakk}\ {\isasymLongrightarrow}\ m\ {\isacharequal}\ n%
 \end{isabelle}
-\rulename{dvd_anti_sym}
+\rulename{dvd_antisym}
 
 \begin{isabelle}%
 {\isasymlbrakk}a\ dvd\ b{\isacharsemicolon}\ a\ dvd\ c{\isasymrbrakk}\ {\isasymLongrightarrow}\ a\ dvd\ b\ {\isacharplus}\ c%
--- a/doc-src/TutorialI/Types/numerics.tex	Sat Nov 21 17:35:55 2009 +0100
+++ b/doc-src/TutorialI/Types/numerics.tex	Sat Nov 21 17:37:07 2009 +0100
@@ -1,4 +1,3 @@
-
 \section{Numbers}
 \label{sec:numbers}
 
@@ -192,7 +191,7 @@
 relation.  Here are some of the facts proved about it:
 \begin{isabelle}
 \isasymlbrakk m\ dvd\ n;\ n\ dvd\ m\isasymrbrakk \ \isasymLongrightarrow \ m\ =\ n%
-\rulenamedx{dvd_anti_sym}\isanewline
+\rulenamedx{dvd_antisym}\isanewline
 \isasymlbrakk k\ dvd\ m;\ k\ dvd\ n\isasymrbrakk \ \isasymLongrightarrow \ k\ dvd\ (m\ +\ n)
 \rulenamedx{dvd_add}
 \end{isabelle}
@@ -348,8 +347,7 @@
 \ 1.\ P\ (2\ /\ 5)
 \end{isabelle}
 Exponentiation can express floating-point values such as
-\isa{2 * 10\isacharcircum6}, but at present no special simplification
-is performed.
+\isa{2 * 10\isacharcircum6}, which will be simplified to integers.
 
 \begin{warn}
 Types \isa{rat}, \isa{real} and \isa{complex} are provided by theory HOL-Complex, which is
--- a/etc/components	Sat Nov 21 17:35:55 2009 +0100
+++ b/etc/components	Sat Nov 21 17:37:07 2009 +0100
@@ -12,6 +12,7 @@
 src/Sequents
 #misc components
 src/Tools/Code
+src/Tools/WWW_Find
 src/HOL/Tools/ATP_Manager
 src/HOL/Mirabelle
 src/HOL/Library/Sum_Of_Squares
--- a/etc/isar-keywords-ZF.el	Sat Nov 21 17:35:55 2009 +0100
+++ b/etc/isar-keywords-ZF.el	Sat Nov 21 17:37:07 2009 +0100
@@ -237,6 +237,7 @@
     "open"
     "output"
     "overloaded"
+    "pervasive"
     "recursor_eqns"
     "shows"
     "structure"
--- a/etc/isar-keywords.el	Sat Nov 21 17:35:55 2009 +0100
+++ b/etc/isar-keywords.el	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,6 @@
 ;;
 ;; Keyword classification tables for Isabelle/Isar.
-;; Generated from Pure + Pure-ProofGeneral + HOL + HOLCF + IOA + HOL-Nominal + HOL-Statespace.
+;; Generated from Pure + Pure-ProofGeneral + HOL + HOLCF + IOA + HOL-Boogie + HOL-Nominal + HOL-Statespace.
 ;; *** DO NOT EDIT *** DO NOT EDIT *** DO NOT EDIT ***
 ;;
 
@@ -40,6 +40,10 @@
     "axiomatization"
     "axioms"
     "back"
+    "boogie_end"
+    "boogie_open"
+    "boogie_status"
+    "boogie_vc"
     "by"
     "cannot_undo"
     "case"
@@ -204,6 +208,7 @@
     "refute_params"
     "remove_thy"
     "rep_datatype"
+    "repdef"
     "sect"
     "section"
     "setup"
@@ -298,6 +303,7 @@
     "outputs"
     "overloaded"
     "permissive"
+    "pervasive"
     "post"
     "pre"
     "rename"
@@ -341,6 +347,7 @@
     "atp_kill"
     "atp_messages"
     "atp_minimize"
+    "boogie_status"
     "cd"
     "class_deps"
     "code_deps"
@@ -432,6 +439,8 @@
     "axclass"
     "axiomatization"
     "axioms"
+    "boogie_end"
+    "boogie_open"
     "class"
     "classes"
     "classrel"
@@ -518,6 +527,7 @@
 
 (defconst isar-keywords-theory-goal
   '("ax_specification"
+    "boogie_vc"
     "code_pred"
     "corollary"
     "cpodef"
@@ -531,6 +541,7 @@
     "pcpodef"
     "recdef_tc"
     "rep_datatype"
+    "repdef"
     "specification"
     "subclass"
     "sublocale"
--- a/lib/ProofGeneral/pgip.rnc	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/ProofGeneral/pgip.rnc	Sat Nov 21 17:37:07 2009 +0100
@@ -4,8 +4,6 @@
 # Authors:  David Aspinall, LFCS, University of Edinburgh       
 #           Christoph Lüth, University of Bremen       
 #
-# Version: $Id$    
-# 
 # Status:   Prototype.
 #
 # For additional commentary, see accompanying commentary document available at
--- a/lib/ProofGeneral/pgip_isar.xml	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/ProofGeneral/pgip_isar.xml	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
-
 <!-- Title:      Pure/pgip_isar.xml
-     ID:         $Id$
      Author:     David Aspinall, University of Edinburgh
-		 Christoph Lüth, University of Bremen
+     Author:     Christoph Lüth, University of Bremen
 
 This file contains the configuration messages which configure 
 PGIP interfaces for Isabelle/Isar, in particular, explaining
--- a/lib/ProofGeneral/pgml.rnc	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/ProofGeneral/pgml.rnc	Sat Nov 21 17:37:07 2009 +0100
@@ -3,7 +3,6 @@
 # 
 # Authors:  David Aspinall, LFCS, University of Edinburgh       
 #           Christoph Lueth, University of Bremen       
-# Version: $Id$    
 # 
 # Status:  Complete, prototype.
 # 
--- a/lib/Tools/keywords	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/Tools/keywords	Sat Nov 21 17:37:07 2009 +0100
@@ -16,9 +16,9 @@
   echo
   echo "  Options are:"
   echo "    -k NAME      specific name of keywords collection (default: empty)"
-  echo "    -t TARGET    target tool (default: emacs)"
   echo
   echo "  Generate outer syntax keyword files from (compressed) session LOGS."
+  echo "  Targets Emacs Proof General."
   echo
   exit 1
 }
@@ -29,17 +29,13 @@
 # options
 
 KEYWORDS_NAME=""
-TARGET_TOOL="emacs"
 
-while getopts "k:t:" OPT
+while getopts "k:" OPT
 do
   case "$OPT" in
     k)
       KEYWORDS_NAME="$OPTARG"
       ;;
-    t)
-      TARGET_TOOL="$OPTARG"
-      ;;
     \?)
       usage
       ;;
@@ -49,15 +45,10 @@
 shift $(($OPTIND - 1))
 
 
-# args
-
-LOGS="$@"; shift "$#"
-
-
 ## main
 
 SESSIONS=""
-for LOG in $LOGS
+for LOG in "$@"
 do
   NAME="$(basename "$LOG" .gz)"
   if [ -z "$SESSIONS" ]; then
@@ -67,7 +58,7 @@
   fi
 done
 
-for LOG in $LOGS
+for LOG in "$@"
 do
   if [ "${LOG%.gz}" = "$LOG" ]; then
     cat "$LOG"
@@ -76,4 +67,4 @@
   fi
   echo
 done | \
-perl -w "$ISABELLE_HOME/lib/scripts/keywords.pl" "$KEYWORDS_NAME" "$TARGET_TOOL" "$SESSIONS"
+perl -w "$ISABELLE_HOME/lib/scripts/keywords.pl" "$KEYWORDS_NAME" "$SESSIONS"
--- a/lib/Tools/usedir	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/Tools/usedir	Sat Nov 21 17:37:07 2009 +0100
@@ -262,7 +262,7 @@
 else
   { echo "$ITEM FAILED";
     echo "(see also $LOG)";
-    echo; tail -20 "$LOG"; echo; } >&2
+    echo; tail -40 "$LOG"; echo; } >&2
 fi
 
 exit "$RC"
--- a/lib/browser/GraphBrowser/AWTFontMetrics.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/AWTFontMetrics.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/AWTFontMetrics.java
-  ID:         $Id$
   Author:     Gerwin Klein, TU Muenchen
-  Copyright   2003  TU Muenchen
 
   AbstractFontMetrics from the AWT for graphics mode.
   
--- a/lib/browser/GraphBrowser/AbstractFontMetrics.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/AbstractFontMetrics.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/AWTFontMetrics.java
-  ID:         $Id$
   Author:     Gerwin Klein, TU Muenchen
-  Copyright   2003  TU Muenchen
 
   AbstractFontMetrics avoids dependency on java.awt.FontMetrics in 
   batch mode.
--- a/lib/browser/GraphBrowser/Box.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/Box.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/Box.java
-  ID:         $Id$
   Author:     Gerwin Klein, TU Muenchen
-  Copyright   2003  TU Muenchen
 
   A box with width and height. Used instead of java.awt.Dimension for 
   batch mode.
--- a/lib/browser/GraphBrowser/Console.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/Console.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/Console.java
-  ID:         $Id$
   Author:     Gerwin Klein, TU Muenchen
 
   This is the graph browser's main class when run as a console application.
--- a/lib/browser/GraphBrowser/DefaultFontMetrics.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/DefaultFontMetrics.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/DefaultFontMetrics.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   Default font metrics which is used when no graphics context
--- a/lib/browser/GraphBrowser/DummyVertex.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/DummyVertex.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/DummyVertex.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This class represents a dummy vertex, which is used to simplify the
   layout algorithm.
--- a/lib/browser/GraphBrowser/Graph.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/Graph.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/Graph.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This class contains the core of the layout algorithm and methods for
   drawing and PostScript output.
--- a/lib/browser/GraphBrowser/GraphBrowser.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/GraphBrowser.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/GraphBrowser.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This is the graph browser's main class. It contains the "main(...)"
--- a/lib/browser/GraphBrowser/GraphBrowserFrame.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/GraphBrowserFrame.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/GraphBrowserFrame.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This class is the frame for the stand-alone application. It contains
--- a/lib/browser/GraphBrowser/GraphView.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/GraphView.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/GraphView.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This class defines the window in which the graph is displayed. It
--- a/lib/browser/GraphBrowser/NormalVertex.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/NormalVertex.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/NormalVertex.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This class represents an ordinary vertex. It contains methods for
--- a/lib/browser/GraphBrowser/Region.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/Region.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/Region.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This is an auxiliary class which is used by the layout algorithm when
   calculating coordinates with the "pendulum method". A "region" is a
--- a/lib/browser/GraphBrowser/Spline.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/Spline.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      GraphBrowser/Spline.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This class is used for drawing spline curves (which are not yet
   supported by the Java AWT).
--- a/lib/browser/GraphBrowser/TreeBrowser.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/TreeBrowser.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/TreeBrowser.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This class defines the browser window which is used to display directory
--- a/lib/browser/GraphBrowser/TreeNode.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/TreeNode.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/TreeNode.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This class contains methods for storing and manipulating directory
--- a/lib/browser/GraphBrowser/Vertex.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/GraphBrowser/Vertex.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,6 +1,5 @@
 /***************************************************************************
   Title:      GraphBrowser/Vertex.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
 
   This class contains attributes and methods common to all kinds of
--- a/lib/browser/Makefile	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/Makefile	Sat Nov 21 17:37:07 2009 +0100
@@ -1,4 +1,3 @@
-# $Id$
 
 DST=classes
 
--- a/lib/browser/awtUtilities/Border.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/awtUtilities/Border.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      awtUtilities/Border.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This class defines a nice 3D border.
 ***************************************************************************/
--- a/lib/browser/awtUtilities/MessageDialog.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/awtUtilities/MessageDialog.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      awtUtilities/MessageDialog.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This class defines a dialog window for displaying messages and buttons.
 ***************************************************************************/
--- a/lib/browser/awtUtilities/TextFrame.java	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/browser/awtUtilities/TextFrame.java	Sat Nov 21 17:37:07 2009 +0100
@@ -1,8 +1,6 @@
 /***************************************************************************
   Title:      Graph/TextFrame.java
-  ID:         $Id$
   Author:     Stefan Berghofer, TU Muenchen
-  Copyright   1997  TU Muenchen
 
   This class defines a simple text viewer.
 ***************************************************************************/
--- a/lib/html/library_index_header.template	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/html/library_index_header.template	Sat Nov 21 17:37:07 2009 +0100
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- $Id$ -->
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
--- a/lib/jedit/README	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-Isabelle support for jEdit -- http://www.jedit.org/
-===================================================
-
-This provides both a basic editing "mode" (with some degree of syntax
-highlighting), and a minimal "plugin" with some support for
-interaction with the Isabelle process.
-
-
-Mode installation
------------------
-
-1) Copy or symlink [ISABELLE_HOME]/lib/jedit/isabelle.xml to
-[JEDIT_SETTINGS]/modes/
-
-2) Add the following entry [JEDIT_SETTINGS]/modes/catalog
-
-  <MODE NAME="isabelle" FILE="isabelle.xml" FILE_NAME_GLOB="*.thy"/>
-
-Example catalog file:
-
-  <?xml version="1.0"?>
-  <!DOCTYPE MODES SYSTEM "catalog.dtd">
-  <MODES>
-    <MODE NAME="isabelle" FILE="isabelle.xml" FILE_NAME_GLOB="*.thy"/>
-  </MODES>
-
-
-Plugin installation
--------------------
-
-1) Install copies of the Isabelle jars:
-
-  [ISABELLE_HOME]/lib/classes/Pure.jar   ->  [JEDIT_SETTINGS]/jars/isabelle-Pure.jar
-  [ISABELLE_HOME]/lib/jedit/isabelle.jar ->  [JEDIT_SETTINGS]/jars/isabelle.jar
-
-2) Install scala-library.jar from the regular Scala distribution,
-cf. the http://www.scala-lang.org/downloads/index.html as
-
-  [JEDIT_SETTINGS]/jars/isabelle-scala-library.jar
-
-3) Enable the plugin using the manager of jEdit; invoke the "isabelle"
-editor action.  The resulting window may be docked, e.g. at bottom.
-
-Note that the Errorlist plugin provides some useful options like "Show
-error icons in the gutter", for immediate feedback of Isabelle
-warnings and errors in the source text.  The Errorlist window may be
-docked likewise.
-
-
-$Id$
--- a/lib/jedit/isabelle.xml	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,347 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE MODE SYSTEM "xmode.dtd">
-<!-- Generated from Pure + HOL + HOLCF + IOA + HOL-Nominal + HOL-Statespace + FOL + ZF. -->
-<!-- *** DO NOT EDIT *** DO NOT EDIT *** DO NOT EDIT *** -->
-<MODE>
-  <PROPS>
-    <PROPERTY NAME="commentStart" VALUE="(*"/>
-    <PROPERTY NAME="commentEnd" VALUE="*)"/>
-    <PROPERTY NAME="noWordSep" VALUE="_'.?"/>
-    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>
-    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>
-    <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
-    <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
-    <PROPERTY NAME="tabSize" VALUE="2" />
-    <PROPERTY NAME="indentSize" VALUE="2" />
-  </PROPS>
-  <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" ESCAPE="\">
-    <SPAN TYPE="COMMENT1" NO_ESCAPE="TRUE">
-      <BEGIN>(*</BEGIN>
-      <END>*)</END>
-    </SPAN>
-    <SPAN TYPE="COMMENT3" NO_ESCAPE="TRUE">
-      <BEGIN>{*</BEGIN>
-      <END>*}</END>
-    </SPAN>
-    <SPAN TYPE="LITERAL1">
-      <BEGIN>`</BEGIN>
-      <END>`</END>
-    </SPAN>
-    <SPAN TYPE="LITERAL3">
-      <BEGIN>"</BEGIN>
-      <END>"</END>
-    </SPAN>
-    <KEYWORDS>
-      <OPERATOR>.</OPERATOR>
-      <OPERATOR>..</OPERATOR>
-      <INVALID>Isabelle.command</INVALID>
-      <INVALID>Isar.begin_document</INVALID>
-      <INVALID>Isar.define_command</INVALID>
-      <INVALID>Isar.edit_document</INVALID>
-      <INVALID>Isar.end_document</INVALID>
-      <OPERATOR>ML</OPERATOR>
-      <LABEL>ML_command</LABEL>
-      <OPERATOR>ML_prf</OPERATOR>
-      <LABEL>ML_val</LABEL>
-      <OPERATOR>abbreviation</OPERATOR>
-      <KEYWORD4>actions</KEYWORD4>
-      <KEYWORD4>advanced</KEYWORD4>
-      <OPERATOR>also</OPERATOR>
-      <KEYWORD4>and</KEYWORD4>
-      <KEYWORD1>apply</KEYWORD1>
-      <KEYWORD1>apply_end</KEYWORD1>
-      <OPERATOR>arities</OPERATOR>
-      <KEYWORD2>assume</KEYWORD2>
-      <KEYWORD4>assumes</KEYWORD4>
-      <OPERATOR>atom_decl</OPERATOR>
-      <LABEL>atp_info</LABEL>
-      <LABEL>atp_kill</LABEL>
-      <LABEL>atp_messages</LABEL>
-      <LABEL>atp_minimize</LABEL>
-      <KEYWORD4>attach</KEYWORD4>
-      <OPERATOR>attribute_setup</OPERATOR>
-      <OPERATOR>automaton</OPERATOR>
-      <KEYWORD4>avoids</KEYWORD4>
-      <OPERATOR>ax_specification</OPERATOR>
-      <OPERATOR>axclass</OPERATOR>
-      <OPERATOR>axiomatization</OPERATOR>
-      <OPERATOR>axioms</OPERATOR>
-      <KEYWORD1>back</KEYWORD1>
-      <KEYWORD4>begin</KEYWORD4>
-      <KEYWORD4>binder</KEYWORD4>
-      <OPERATOR>by</OPERATOR>
-      <INVALID>cannot_undo</INVALID>
-      <KEYWORD2>case</KEYWORD2>
-      <KEYWORD4>case_eqns</KEYWORD4>
-      <LABEL>cd</LABEL>
-      <OPERATOR>chapter</OPERATOR>
-      <OPERATOR>class</OPERATOR>
-      <LABEL>class_deps</LABEL>
-      <OPERATOR>classes</OPERATOR>
-      <OPERATOR>classrel</OPERATOR>
-      <OPERATOR>codatatype</OPERATOR>
-      <OPERATOR>code_abort</OPERATOR>
-      <OPERATOR>code_class</OPERATOR>
-      <OPERATOR>code_const</OPERATOR>
-      <OPERATOR>code_datatype</OPERATOR>
-      <LABEL>code_deps</LABEL>
-      <OPERATOR>code_include</OPERATOR>
-      <OPERATOR>code_instance</OPERATOR>
-      <OPERATOR>code_library</OPERATOR>
-      <OPERATOR>code_module</OPERATOR>
-      <OPERATOR>code_modulename</OPERATOR>
-      <OPERATOR>code_monad</OPERATOR>
-      <OPERATOR>code_pred</OPERATOR>
-      <OPERATOR>code_reserved</OPERATOR>
-      <LABEL>code_thms</LABEL>
-      <OPERATOR>code_type</OPERATOR>
-      <OPERATOR>coinductive</OPERATOR>
-      <OPERATOR>coinductive_set</OPERATOR>
-      <LABEL>commit</LABEL>
-      <KEYWORD4>compose</KEYWORD4>
-      <KEYWORD4>con_defs</KEYWORD4>
-      <KEYWORD4>congs</KEYWORD4>
-      <OPERATOR>constdefs</OPERATOR>
-      <KEYWORD4>constrains</KEYWORD4>
-      <OPERATOR>consts</OPERATOR>
-      <OPERATOR>consts_code</OPERATOR>
-      <KEYWORD4>contains</KEYWORD4>
-      <OPERATOR>context</OPERATOR>
-      <OPERATOR>corollary</OPERATOR>
-      <OPERATOR>cpodef</OPERATOR>
-      <OPERATOR>datatype</OPERATOR>
-      <OPERATOR>declaration</OPERATOR>
-      <OPERATOR>declare</OPERATOR>
-      <KEYWORD2>def</KEYWORD2>
-      <OPERATOR>defaultsort</OPERATOR>
-      <KEYWORD1>defer</KEYWORD1>
-      <OPERATOR>defer_recdef</OPERATOR>
-      <KEYWORD4>defines</KEYWORD4>
-      <OPERATOR>definition</OPERATOR>
-      <OPERATOR>defs</OPERATOR>
-      <LABEL>disable_pr</LABEL>
-      <LABEL>display_drafts</LABEL>
-      <OPERATOR>domain</OPERATOR>
-      <KEYWORD4>domains</KEYWORD4>
-      <OPERATOR>done</OPERATOR>
-      <KEYWORD4>elimination</KEYWORD4>
-      <LABEL>enable_pr</LABEL>
-      <KEYWORD3>end</KEYWORD3>
-      <OPERATOR>equivariance</OPERATOR>
-      <INVALID>exit</INVALID>
-      <LABEL>export_code</LABEL>
-      <OPERATOR>extract</OPERATOR>
-      <OPERATOR>extract_type</OPERATOR>
-      <KEYWORD4>file</KEYWORD4>
-      <OPERATOR>finalconsts</OPERATOR>
-      <OPERATOR>finally</OPERATOR>
-      <LABEL>find_consts</LABEL>
-      <LABEL>find_theorems</LABEL>
-      <KEYWORD2>fix</KEYWORD2>
-      <KEYWORD4>fixes</KEYWORD4>
-      <OPERATOR>fixpat</OPERATOR>
-      <OPERATOR>fixrec</OPERATOR>
-      <KEYWORD4>for</KEYWORD4>
-      <OPERATOR>from</OPERATOR>
-      <LABEL>full_prf</LABEL>
-      <OPERATOR>fun</OPERATOR>
-      <OPERATOR>function</OPERATOR>
-      <OPERATOR>global</OPERATOR>
-      <KEYWORD2>guess</KEYWORD2>
-      <OPERATOR>have</OPERATOR>
-      <LABEL>header</LABEL>
-      <LABEL>help</LABEL>
-      <OPERATOR>hence</OPERATOR>
-      <OPERATOR>hide</OPERATOR>
-      <KEYWORD4>hide_action</KEYWORD4>
-      <KEYWORD4>hints</KEYWORD4>
-      <KEYWORD4>identifier</KEYWORD4>
-      <KEYWORD4>if</KEYWORD4>
-      <KEYWORD4>imports</KEYWORD4>
-      <KEYWORD4>in</KEYWORD4>
-      <KEYWORD4>induction</KEYWORD4>
-      <OPERATOR>inductive</OPERATOR>
-      <KEYWORD1>inductive_cases</KEYWORD1>
-      <OPERATOR>inductive_set</OPERATOR>
-      <KEYWORD4>infix</KEYWORD4>
-      <KEYWORD4>infixl</KEYWORD4>
-      <KEYWORD4>infixr</KEYWORD4>
-      <INVALID>init_toplevel</INVALID>
-      <KEYWORD4>initially</KEYWORD4>
-      <KEYWORD4>inputs</KEYWORD4>
-      <OPERATOR>instance</OPERATOR>
-      <OPERATOR>instantiation</OPERATOR>
-      <KEYWORD4>internals</KEYWORD4>
-      <OPERATOR>interpret</OPERATOR>
-      <OPERATOR>interpretation</OPERATOR>
-      <KEYWORD4>intros</KEYWORD4>
-      <KEYWORD4>is</KEYWORD4>
-      <OPERATOR>judgment</OPERATOR>
-      <INVALID>kill</INVALID>
-      <LABEL>kill_thy</LABEL>
-      <KEYWORD4>lazy</KEYWORD4>
-      <OPERATOR>lemma</OPERATOR>
-      <OPERATOR>lemmas</OPERATOR>
-      <OPERATOR>let</OPERATOR>
-      <INVALID>linear_undo</INVALID>
-      <OPERATOR>local</OPERATOR>
-      <OPERATOR>local_setup</OPERATOR>
-      <OPERATOR>locale</OPERATOR>
-      <OPERATOR>method_setup</OPERATOR>
-      <KEYWORD4>module_name</KEYWORD4>
-      <KEYWORD4>monos</KEYWORD4>
-      <OPERATOR>moreover</OPERATOR>
-      <KEYWORD4>morphisms</KEYWORD4>
-      <OPERATOR>next</OPERATOR>
-      <LABEL>nitpick</LABEL>
-      <OPERATOR>nitpick_params</OPERATOR>
-      <OPERATOR>no_notation</OPERATOR>
-      <OPERATOR>no_syntax</OPERATOR>
-      <OPERATOR>no_translations</OPERATOR>
-      <OPERATOR>nominal_datatype</OPERATOR>
-      <OPERATOR>nominal_inductive</OPERATOR>
-      <OPERATOR>nominal_inductive2</OPERATOR>
-      <OPERATOR>nominal_primrec</OPERATOR>
-      <OPERATOR>nonterminals</OPERATOR>
-      <LABEL>normal_form</LABEL>
-      <OPERATOR>notation</OPERATOR>
-      <OPERATOR>note</OPERATOR>
-      <KEYWORD4>notes</KEYWORD4>
-      <KEYWORD2>obtain</KEYWORD2>
-      <KEYWORD4>obtains</KEYWORD4>
-      <OPERATOR>oops</OPERATOR>
-      <KEYWORD4>open</KEYWORD4>
-      <OPERATOR>oracle</OPERATOR>
-      <KEYWORD4>output</KEYWORD4>
-      <KEYWORD4>outputs</KEYWORD4>
-      <KEYWORD4>overloaded</KEYWORD4>
-      <OPERATOR>overloading</OPERATOR>
-      <OPERATOR>parse_ast_translation</OPERATOR>
-      <OPERATOR>parse_translation</OPERATOR>
-      <OPERATOR>pcpodef</OPERATOR>
-      <KEYWORD4>permissive</KEYWORD4>
-      <KEYWORD4>post</KEYWORD4>
-      <LABEL>pr</LABEL>
-      <KEYWORD4>pre</KEYWORD4>
-      <KEYWORD1>prefer</KEYWORD1>
-      <KEYWORD2>presume</KEYWORD2>
-      <LABEL>pretty_setmargin</LABEL>
-      <LABEL>prf</LABEL>
-      <OPERATOR>primrec</OPERATOR>
-      <LABEL>print_abbrevs</LABEL>
-      <LABEL>print_antiquotations</LABEL>
-      <OPERATOR>print_ast_translation</OPERATOR>
-      <LABEL>print_atps</LABEL>
-      <LABEL>print_attributes</LABEL>
-      <LABEL>print_binds</LABEL>
-      <LABEL>print_cases</LABEL>
-      <LABEL>print_claset</LABEL>
-      <LABEL>print_classes</LABEL>
-      <LABEL>print_codeproc</LABEL>
-      <LABEL>print_codesetup</LABEL>
-      <LABEL>print_commands</LABEL>
-      <LABEL>print_configs</LABEL>
-      <LABEL>print_context</LABEL>
-      <LABEL>print_drafts</LABEL>
-      <LABEL>print_facts</LABEL>
-      <LABEL>print_induct_rules</LABEL>
-      <LABEL>print_interps</LABEL>
-      <LABEL>print_locale</LABEL>
-      <LABEL>print_locales</LABEL>
-      <LABEL>print_methods</LABEL>
-      <LABEL>print_orders</LABEL>
-      <LABEL>print_rules</LABEL>
-      <LABEL>print_simpset</LABEL>
-      <LABEL>print_statement</LABEL>
-      <LABEL>print_syntax</LABEL>
-      <LABEL>print_tcset</LABEL>
-      <LABEL>print_theorems</LABEL>
-      <LABEL>print_theory</LABEL>
-      <LABEL>print_trans_rules</LABEL>
-      <OPERATOR>print_translation</OPERATOR>
-      <OPERATOR>proof</OPERATOR>
-      <LABEL>prop</LABEL>
-      <LABEL>pwd</LABEL>
-      <OPERATOR>qed</OPERATOR>
-      <LABEL>quickcheck</LABEL>
-      <OPERATOR>quickcheck_params</OPERATOR>
-      <INVALID>quit</INVALID>
-      <OPERATOR>realizability</OPERATOR>
-      <OPERATOR>realizers</OPERATOR>
-      <OPERATOR>recdef</OPERATOR>
-      <OPERATOR>recdef_tc</OPERATOR>
-      <OPERATOR>record</OPERATOR>
-      <KEYWORD4>recursor_eqns</KEYWORD4>
-      <LABEL>refute</LABEL>
-      <OPERATOR>refute_params</OPERATOR>
-      <LABEL>remove_thy</LABEL>
-      <KEYWORD4>rename</KEYWORD4>
-      <OPERATOR>rep_datatype</OPERATOR>
-      <KEYWORD4>restrict</KEYWORD4>
-      <OPERATOR>sect</OPERATOR>
-      <OPERATOR>section</OPERATOR>
-      <OPERATOR>setup</OPERATOR>
-      <KEYWORD2>show</KEYWORD2>
-      <KEYWORD4>shows</KEYWORD4>
-      <KEYWORD4>signature</KEYWORD4>
-      <OPERATOR>simproc_setup</OPERATOR>
-      <LABEL>sledgehammer</LABEL>
-      <OPERATOR>sorry</OPERATOR>
-      <OPERATOR>specification</OPERATOR>
-      <KEYWORD4>states</KEYWORD4>
-      <OPERATOR>statespace</OPERATOR>
-      <KEYWORD4>structure</KEYWORD4>
-      <OPERATOR>subclass</OPERATOR>
-      <OPERATOR>sublocale</OPERATOR>
-      <OPERATOR>subsect</OPERATOR>
-      <OPERATOR>subsection</OPERATOR>
-      <OPERATOR>subsubsect</OPERATOR>
-      <OPERATOR>subsubsection</OPERATOR>
-      <OPERATOR>syntax</OPERATOR>
-      <LABEL>term</LABEL>
-      <OPERATOR>termination</OPERATOR>
-      <OPERATOR>text</OPERATOR>
-      <OPERATOR>text_raw</OPERATOR>
-      <OPERATOR>then</OPERATOR>
-      <OPERATOR>theorem</OPERATOR>
-      <OPERATOR>theorems</OPERATOR>
-      <KEYWORD3>theory</KEYWORD3>
-      <LABEL>thm</LABEL>
-      <LABEL>thm_deps</LABEL>
-      <KEYWORD2>thus</KEYWORD2>
-      <LABEL>thy_deps</LABEL>
-      <KEYWORD4>to</KEYWORD4>
-      <LABEL>touch_thy</LABEL>
-      <KEYWORD4>transitions</KEYWORD4>
-      <OPERATOR>translations</OPERATOR>
-      <KEYWORD4>transrel</KEYWORD4>
-      <OPERATOR>txt</OPERATOR>
-      <OPERATOR>txt_raw</OPERATOR>
-      <LABEL>typ</LABEL>
-      <KEYWORD4>type_elims</KEYWORD4>
-      <KEYWORD4>type_intros</KEYWORD4>
-      <OPERATOR>typed_print_translation</OPERATOR>
-      <OPERATOR>typedecl</OPERATOR>
-      <OPERATOR>typedef</OPERATOR>
-      <OPERATOR>types</OPERATOR>
-      <OPERATOR>types_code</OPERATOR>
-      <OPERATOR>ultimately</OPERATOR>
-      <KEYWORD4>unchecked</KEYWORD4>
-      <INVALID>undo</INVALID>
-      <INVALID>undos_proof</INVALID>
-      <OPERATOR>unfolding</OPERATOR>
-      <LABEL>unused_thms</LABEL>
-      <OPERATOR>use</OPERATOR>
-      <LABEL>use_thy</LABEL>
-      <KEYWORD4>uses</KEYWORD4>
-      <OPERATOR>using</OPERATOR>
-      <LABEL>value</LABEL>
-      <LABEL>values</LABEL>
-      <LABEL>welcome</LABEL>
-      <KEYWORD4>where</KEYWORD4>
-      <OPERATOR>with</OPERATOR>
-      <OPERATOR>{</OPERATOR>
-      <OPERATOR>}</OPERATOR>
-    </KEYWORDS>
-  </RULES>
-</MODE>
--- a/lib/jedit/plugin/Isabelle.props	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-## Isabelle plugin properties
-## $Id$
-
-#identification
-plugin.isabelle.jedit.IsabellePlugin.name = Isabelle
-plugin.isabelle.jedit.IsabellePlugin.author = Makarius
-plugin.isabelle.jedit.IsabellePlugin.version = 0.0.1
-plugin.isabelle.jedit.IsabellePlugin.description = Basic Isabelle support
-
-#system parameters
-plugin.isabelle.jedit.IsabellePlugin.activate = defer
-plugin.isabelle.jedit.IsabellePlugin.usePluginHome = false
-plugin.isabelle.jedit.IsabellePlugin.jars = isabelle-Pure.jar isabelle-scala-library.jar
-
-#dependencies
-plugin.isabelle.jedit.IsabellePlugin.depend.0 = jdk 1.5
-plugin.isabelle.jedit.IsabellePlugin.depend.1 = jedit 04.03.00.00
-plugin.isabelle.jedit.IsabellePlugin.depend.2 = plugin errorlist.ErrorListPlugin 1.7
-plugin.isabelle.jedit.IsabellePlugin.depend.3 = plugin sidekick.SideKickPlugin 0.7.4
-
-#dockable component
-isabelle.label = Isabelle
-isabelle.title = Isabelle
-isabelle.longtitle = Basic Isabelle process
-
-#menu
-plugin.isabelle.jedit.IsabellePlugin.menu-item = isabelle
-
-
-#Isabelle options
-isabelle.print-modes = no_brackets no_type_brackets xsymbols
-isabelle.logic =
--- a/lib/jedit/plugin/dockables.xml	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE DOCKABLES SYSTEM "dockables.dtd">
-<!-- $Id$ -->
-
-<DOCKABLES>
-	<DOCKABLE NAME="isabelle" MOVABLE="TRUE">
-		new isabelle.jedit.IsabelleDock(view, position);
-	</DOCKABLE>
-</DOCKABLES>
-
--- a/lib/jedit/plugin/isabelle_dock.scala	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*  Title:      lib/jedit/plugin/isabelle_dock.scala
-    ID:         $Id$
-    Author:     Makarius
-
-Dockable window for Isabelle process control.
-*/
-
-package isabelle.jedit
-
-import org.gjt.sp.jedit.View
-import org.gjt.sp.jedit.gui.DefaultFocusComponent
-import org.gjt.sp.jedit.gui.DockableWindowManager
-import org.gjt.sp.jedit.gui.RolloverButton
-import org.gjt.sp.jedit.gui.HistoryTextField
-import org.gjt.sp.jedit.GUIUtilities
-
-import java.awt.Color
-import java.awt.Insets
-import java.awt.BorderLayout
-import java.awt.Dimension
-import java.awt.event.ActionListener
-import java.awt.event.ActionEvent
-import javax.swing.BoxLayout
-import javax.swing.JPanel
-import javax.swing.JScrollPane
-import javax.swing.JTextPane
-import javax.swing.text.{StyledDocument, StyleConstants}
-import javax.swing.SwingUtilities
-import javax.swing.Icon
-import javax.swing.Box
-import javax.swing.JTextField
-import javax.swing.JComboBox
-import javax.swing.DefaultComboBoxModel
-
-
-class IsabelleDock(view: View, position: String)
-    extends JPanel(new BorderLayout) with DefaultFocusComponent
-{
-  private val text = new HistoryTextField("isabelle", false, true)
-  private val logic_combo = new JComboBox
-
-  {
-    // output pane
-    val pane = new JTextPane
-    pane.setEditable(false)
-    add(BorderLayout.CENTER, new JScrollPane(pane))
-    if (position == DockableWindowManager.FLOATING)
-      setPreferredSize(new Dimension(1000, 500))
-
-    val doc = pane.getDocument.asInstanceOf[StyledDocument]
-
-    def make_style(name: String, bg: Boolean, color: Color) = {
-      val style = doc.addStyle(name, null)
-      if (bg) StyleConstants.setBackground(style, color)
-      else StyleConstants.setForeground(style, color)
-      style
-    }
-    val raw_style = make_style("raw", false, Color.GRAY)
-    val info_style = make_style("info", true, new Color(160, 255, 160))
-    val warning_style = make_style("warning", true, new Color(255, 255, 160))
-    val error_style = make_style("error", true, new Color(255, 160, 160))
-
-    IsabellePlugin.add_permanent_consumer (result =>
-      if (result != null && !result.is_system) {
-        SwingUtilities.invokeLater(new Runnable {
-          def run = {
-            val logic = IsabellePlugin.isabelle.session
-            logic_combo.setModel(new DefaultComboBoxModel(Array(logic).asInstanceOf[Array[AnyRef]]))
-            logic_combo.setPrototypeDisplayValue("AAAA")  // FIXME ??
-
-            val doc = pane.getDocument.asInstanceOf[StyledDocument]
-            val style = result.kind match {
-              case IsabelleProcess.Kind.WARNING => warning_style
-              case IsabelleProcess.Kind.ERROR => error_style
-              case IsabelleProcess.Kind.TRACING => info_style
-              case _ => if (result.is_raw) raw_style else null
-            }
-            doc.insertString(doc.getLength, IsabellePlugin.result_content(result), style)
-            if (!result.is_raw) doc.insertString(doc.getLength, "\n", style)
-            pane.setCaretPosition(doc.getLength)
-          }
-        })
-      })
-
-
-    // control box
-    val box = new Box(BoxLayout.X_AXIS)
-    add(BorderLayout.SOUTH, box)
-
-
-    // logic combo
-    logic_combo.setToolTipText("Isabelle logics")
-    logic_combo.setRequestFocusEnabled(false)
-    logic_combo.setModel(new DefaultComboBoxModel(Array("default").asInstanceOf[Array[AnyRef]]))
-    box.add(logic_combo)
-
-
-    // mode combo
-    val mode_Isar = "Isar"
-    val mode_ML = "ML"
-    val modes = Array(mode_Isar, mode_ML)
-    var mode = mode_Isar
-
-    val mode_combo = new JComboBox
-    mode_combo.setToolTipText("Toplevel mode")
-    mode_combo.setRequestFocusEnabled(false)
-    mode_combo.setModel(new DefaultComboBoxModel(modes.asInstanceOf[Array[AnyRef]]))
-    mode_combo.setPrototypeDisplayValue("AAAA")
-    mode_combo.addActionListener(new ActionListener {
-      def actionPerformed(evt: ActionEvent): Unit = {
-        mode = mode_combo.getSelectedItem.asInstanceOf[String]
-      }
-    })
-    box.add(mode_combo)
-
-
-    // input field
-    text.setToolTipText("Command line")
-    text.addActionListener(new ActionListener {
-      def actionPerformed(evt: ActionEvent): Unit = {
-        val command = IsabellePlugin.symbols.encode(text.getText)
-        if (command.length > 0) {
-          if (mode == mode_Isar)
-            IsabellePlugin.isabelle.command(command)
-          else if (mode == mode_ML)
-            IsabellePlugin.isabelle.ML(command)
-          text.setText("")
-        }
-      }
-    })
-    box.add(text)
-
-
-    // buttons
-    def icon_button(icon: String, tip: String, action: => Unit) = {
-      val button = new RolloverButton(GUIUtilities.loadIcon(icon))
-      button.setToolTipText(tip)
-      button.setMargin(new Insets(0,0,0,0))
-      button.setRequestFocusEnabled(false)
-      button.addActionListener(new ActionListener {
-        def actionPerformed(evt: ActionEvent): Unit = action
-      })
-      box.add(button)
-    }
-
-    icon_button("Cancel.png", "Stop", IsabellePlugin.isabelle.interrupt)
-    icon_button("Clear.png", "Clear", pane.setText(""))
-  }
-
-  def focusOnDefaultComponent: Unit = text.requestFocus
-}
--- a/lib/jedit/plugin/isabelle_parser.scala	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*  Title:      lib/jedit/plugin/isabelle_parser.scala
-    ID:         $Id$
-    Author:     Makarius
-
-Isabelle parser setup for Sidekick plugin.
-*/
-
-package isabelle.jedit
-
-import javax.swing.text.Position
-import javax.swing.tree.DefaultMutableTreeNode
-import javax.swing.tree.DefaultTreeModel
-
-import org.gjt.sp.jedit.{Buffer, EditPane}
-import org.gjt.sp.util.Log
-
-import errorlist.DefaultErrorSource
-import sidekick.{Asset, SideKickParser, SideKickParsedData, SideKickCompletion}
-
-
-private class IsabelleAsset(name: String, content: String) extends Asset(name)
-{
-  override def getShortString() = { name }
-  override def getLongString() = { content }
-  override def getIcon() = { null }
-}
-
-
-class IsabelleParser extends SideKickParser("isabelle") {
-
-  /* parsing */
-
-  private var stopped = false
-
-  override def stop () { stopped = true }
-
-  def parse(buffer: Buffer, e: DefaultErrorSource): SideKickParsedData = {
-    stopped = false
-
-    var text: String = null
-    var data: SideKickParsedData = null
-
-    try {
-      buffer.readLock()
-      text = buffer.getText(0, buffer.getLength)
-      data = new SideKickParsedData(buffer.getName)
-
-      val asset = new IsabelleAsset("theory", null)
-      asset.setStart(buffer.createPosition(0))
-      asset.setEnd(buffer.createPosition(buffer.getLength))
-
-      val node = new DefaultMutableTreeNode(asset)
-      data.root.insert(node, node.getChildCount)
-
-    }
-    finally {
-      buffer.readUnlock()
-    }
-
-    data
-  }
-
-
-  /* completion */
-
-  override def supportsCompletion = true
-  override def canCompleteAnywhere = true
-
-  override def complete(pane: EditPane, caret: Int): SideKickCompletion = null
-
-}
-
--- a/lib/jedit/plugin/isabelle_plugin.scala	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*  Title:      lib/jedit/plugin/isabelle_plugin.scala
-    ID:         $Id$
-    Author:     Makarius
-
-Isabelle/jEdit plugin -- main setup.
-*/
-
-package isabelle.jedit
-
-import java.util.Properties
-import java.lang.NumberFormatException
-
-import scala.collection.mutable.ListBuffer
-import scala.io.Source
-
-import org.gjt.sp.util.Log
-import org.gjt.sp.jedit.{jEdit, EBPlugin, EBMessage}
-import org.gjt.sp.jedit.msg.DockableWindowUpdate
-
-import errorlist.DefaultErrorSource
-import errorlist.ErrorSource
-
-
-
-/** global state **/
-
-object IsabellePlugin {
-
-  /* Isabelle symbols */
-
-  val symbols = new Symbol.Interpretation
-
-  def result_content(result: IsabelleProcess.Result) =
-    XML.content(YXML.parse_failsafe(symbols.decode(result.result))).mkString("")
-
-
-  /* Isabelle process */
-
-  var isabelle: IsabelleProcess = null
-
-
-  /* unique ids */
-
-  private var id_count: BigInt = 0
-
-  def id() : String = synchronized { id_count += 1; "jedit:" + id_count }
-
-  def id_properties(value: String) : Properties = {
-     val props = new Properties
-     props.setProperty(Markup.ID, value)
-     props
-  }
-
-  def id_properties() : Properties = { id_properties(id()) }
-
-
-  /* result consumers */
-
-  type Consumer = IsabelleProcess.Result => Boolean
-  private var consumers = new ListBuffer[Consumer]
-
-  def add_consumer(consumer: Consumer) = synchronized { consumers += consumer }
-
-  def add_permanent_consumer(consumer: IsabelleProcess.Result => Unit) = {
-    add_consumer(result => { consumer(result); false })
-  }
-
-  def del_consumer(consumer: Consumer) = synchronized { consumers -= consumer }
-
-  private def consume(result: IsabelleProcess.Result) = {
-    synchronized { consumers.elements.toList } foreach (consumer =>
-      {
-        if (result != null && result.is_control) Log.log(Log.DEBUG, result, null)
-        val finished =
-          try { consumer(result) }
-          catch { case e: Throwable => Log.log(Log.ERROR, result, e); true }
-        if (finished || result == null) del_consumer(consumer)
-      })
-  }
-
-  class ConsumerThread extends Thread {
-    override def run = {
-      var finished = false
-      while (!finished) {
-        val result =
-          try { IsabellePlugin.isabelle.get_result() }
-          catch { case _: NullPointerException => null }
-
-        if (result != null) {
-          consume(result)
-          if (result.kind == IsabelleProcess.Kind.EXIT) {
-            consume(null)
-            finished = true
-          }
-        }
-        else finished = true
-      }
-    }
-  }
-
-}
-
-
-/* Main plugin setup */
-
-class IsabellePlugin extends EBPlugin {
-
-  import IsabellePlugin._
-
-  val errors = new DefaultErrorSource("isabelle")
-  val consumer_thread = new ConsumerThread
-
-
-  override def start = {
-
-    /* error source */
-
-    ErrorSource.registerErrorSource(errors)
-
-    add_permanent_consumer (result =>
-      if (result != null &&
-          (result.kind == IsabelleProcess.Kind.WARNING ||
-           result.kind == IsabelleProcess.Kind.ERROR)) {
-        (Position.line_of(result.props), Position.file_of(result.props)) match {
-          case (Some(line), Some(file)) =>
-            val typ =
-              if (result.kind == IsabelleProcess.Kind.WARNING) ErrorSource.WARNING
-              else ErrorSource.ERROR
-            val content = result_content(result)
-            if (content.length > 0) {
-              val lines = Source.fromString(content).getLines
-              val err = new DefaultErrorSource.DefaultError(errors,
-                  typ, file, line - 1, 0, 0, lines.next)
-              for (msg <- lines) err.addExtraMessage(msg)
-              errors.addError(err)
-            }
-          case _ =>
-        }
-      })
-
-
-    /* Isabelle process */
-
-    val options =
-      (for (mode <- jEdit.getProperty("isabelle.print-modes").split("\\s+") if mode != "")
-        yield "-m" + mode)
-    val args = {
-      val logic = jEdit.getProperty("isabelle.logic")
-      if (logic != "") List(logic) else Nil
-    }
-    isabelle = new IsabelleProcess((options ++ args): _*)
-
-    consumer_thread.start
-
-  }
-
-
-  override def stop = {
-    isabelle.kill
-    consumer_thread.join
-    ErrorSource.unregisterErrorSource(errors)
-  }
-
-
-  override def handleMessage(message: EBMessage) = message match {
-    case _: DockableWindowUpdate =>   // FIXME check isabelle process
-    case _ =>
-  }
-
-}
--- a/lib/jedit/plugin/mk	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#!/bin/bash
-# $Id$
-
-JEDIT_HOME="$HOME/lib/jedit/current"
-PLUGINS="$HOME/.jedit/jars"
-
-
-rm -rf build/ && mkdir -p build
-rm -f ../isabelle.jar
-
-scalac -d build \
-  -cp $JEDIT_HOME/jedit.jar:$PLUGINS/SideKick.jar:$PLUGINS/ErrorList.jar:$PLUGINS/Console.jar:../../classes/Pure.jar \
-  isabelle_plugin.scala \
-  isabelle_dock.scala \
-  isabelle_parser.scala \
-&& (
-  cp *.xml *.props build/
-  cd build
-  jar cf ../../isabelle.jar .
-)
-
-rm -rf build/
--- a/lib/jedit/plugin/services.xml	Sat Nov 21 17:35:55 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE SERVICES SYSTEM "services.dtd">
-<!-- $Id$ -->
-
-<SERVICES>
-  <SERVICE CLASS="sidekick.SideKickParser" NAME="isabelle">
-    new isabelle.jedit.IsabelleParser();
-  </SERVICE>
-</SERVICES>
-
--- a/lib/logo/index.html	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/logo/index.html	Sat Nov 21 17:37:07 2009 +0100
@@ -1,7 +1,5 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
-<!-- $Id$ -->
-
 <html>
 
 <head>
--- a/lib/scripts/keywords.pl	Sat Nov 21 17:35:55 2009 +0100
+++ b/lib/scripts/keywords.pl	Sat Nov 21 17:37:07 2009 +0100
@@ -6,7 +6,7 @@
 
 ## arguments
 
-my ($keywords_name, $target_tool, $sessions) = @ARGV;
+my ($keywords_name, $sessions) = @ARGV;
 
 
 ## keywords
@@ -109,106 +109,12 @@
 
   close OUTPUT;
   select;
-  print STDERR "${target_tool}: ${file}\n";
-}
-
-
-## jEdit output
-
-sub jedit_output {
-  my %keyword_types = (
-    "minor"           => "KEYWORD4",
-    "control"         => "INVALID",
-    "diag"            => "LABEL",
-    "theory-begin"    => "KEYWORD3",
-    "theory-switch"   => "KEYWORD3",
-    "theory-end"      => "KEYWORD3",
-    "theory-heading"  => "OPERATOR",
-    "theory-decl"     => "OPERATOR",
-    "theory-script"   => "KEYWORD1",
-    "theory-goal"     => "OPERATOR",
-    "qed"             => "OPERATOR",
-    "qed-block"       => "OPERATOR",
-    "qed-global"      => "OPERATOR",
-    "proof-heading"   => "OPERATOR",
-    "proof-goal"      => "OPERATOR",
-    "proof-block"     => "OPERATOR",
-    "proof-open"      => "OPERATOR",
-    "proof-close"     => "OPERATOR",
-    "proof-chain"     => "OPERATOR",
-    "proof-decl"      => "OPERATOR",
-    "proof-asm"       => "KEYWORD2",
-    "proof-asm-goal"  => "KEYWORD2",
-    "proof-script"    => "KEYWORD1"
-  );
-  my $file = "isabelle.xml";
-  open (OUTPUT, "> ${file}") || die "$!";
-  select OUTPUT;
-
-  print <<'EOF';
-<?xml version="1.0"?>
-<!DOCTYPE MODE SYSTEM "xmode.dtd">
-EOF
-  print "<!-- Generated from ${sessions}. -->\n";
-  print "<!-- *** DO NOT EDIT *** DO NOT EDIT *** DO NOT EDIT *** -->\n";
-  print <<'EOF';
-<MODE>
-  <PROPS>
-    <PROPERTY NAME="commentStart" VALUE="(*"/>
-    <PROPERTY NAME="commentEnd" VALUE="*)"/>
-    <PROPERTY NAME="noWordSep" VALUE="_'.?"/>
-    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>
-    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>
-    <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
-    <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
-    <PROPERTY NAME="tabSize" VALUE="2" />
-    <PROPERTY NAME="indentSize" VALUE="2" />
-  </PROPS>
-  <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" ESCAPE="\">
-    <SPAN TYPE="COMMENT1" NO_ESCAPE="TRUE">
-      <BEGIN>(*</BEGIN>
-      <END>*)</END>
-    </SPAN>
-    <SPAN TYPE="COMMENT3" NO_ESCAPE="TRUE">
-      <BEGIN>{*</BEGIN>
-      <END>*}</END>
-    </SPAN>
-    <SPAN TYPE="LITERAL1">
-      <BEGIN>`</BEGIN>
-      <END>`</END>
-    </SPAN>
-    <SPAN TYPE="LITERAL3">
-      <BEGIN>"</BEGIN>
-      <END>"</END>
-    </SPAN>
-    <KEYWORDS>
-EOF
-
-  for my $name (sort(keys(%keywords))) {
-    my $kind = $keywords{$name};
-    my $type = $keyword_types{$kind};
-    if ($kind ne "minor" or $name =~ m/^[A-Za-z0-9_]+$/) {
-      $name =~ s/&/&amp;/g;
-      $name =~ s/</&lt;/g;
-      $name =~ s/>/&lt;/g;
-      print "      <${type}>${name}</${type}>\n";
-    }
-  }
-
-  print <<'EOF';
-    </KEYWORDS>
-  </RULES>
-</MODE>
-EOF
-
-  close OUTPUT;
-  select;
-  print STDERR "${target_tool}: ${file}\n";
+  print STDERR "${file}\n";
 }
 
 
 ## main
 
 &collect_keywords();
-eval "${target_tool}_output()";
+&emacs_output();
 
--- a/src/FOL/ex/LocaleTest.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/FOL/ex/LocaleTest.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -195,7 +195,7 @@
 begin
 
 thm lor_def
-(* Can we get rid the the additional hypothesis, caused by LocalTheory.notes? *)
+(* Can we get rid the the additional hypothesis, caused by Local_Theory.notes? *)
 
 lemma "x || y = --(-- x && --y)"
   by (unfold lor_def) (rule refl)
--- a/src/HOL/Algebra/IntRing.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Algebra/IntRing.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -12,52 +12,11 @@
 
 subsection {* Some properties of @{typ int} *}
 
-lemma dvds_imp_abseq:
-  "\<lbrakk>l dvd k; k dvd l\<rbrakk> \<Longrightarrow> abs l = abs (k::int)"
-apply (subst abs_split, rule conjI)
- apply (clarsimp, subst abs_split, rule conjI)
-  apply (clarsimp)
-  apply (cases "k=0", simp)
-  apply (cases "l=0", simp)
-  apply (simp add: zdvd_anti_sym)
- apply clarsimp
- apply (cases "k=0", simp)
- apply (simp add: zdvd_anti_sym)
-apply (clarsimp, subst abs_split, rule conjI)
- apply (clarsimp)
- apply (cases "l=0", simp)
- apply (simp add: zdvd_anti_sym)
-apply (clarsimp)
-apply (subgoal_tac "-l = -k", simp)
-apply (intro zdvd_anti_sym, simp+)
-done
-
-lemma abseq_imp_dvd:
-  assumes a_lk: "abs l = abs (k::int)"
-  shows "l dvd k"
-proof -
-  from a_lk
-      have "nat (abs l) = nat (abs k)" by simp
-  hence "nat (abs l) dvd nat (abs k)" by simp
-  hence "int (nat (abs l)) dvd k" by (subst int_dvd_iff)
-  hence "abs l dvd k" by simp
-  thus "l dvd k" 
-  apply (unfold dvd_def, cases "l<0")
-   defer 1 apply clarsimp
-  proof (clarsimp)
-    fix k
-    assume l0: "l < 0"
-    have "- (l * k) = l * (-k)" by simp
-    thus "\<exists>ka. - (l * k) = l * ka" by fast
-  qed
-qed
-
 lemma dvds_eq_abseq:
   "(l dvd k \<and> k dvd l) = (abs l = abs (k::int))"
 apply rule
- apply (simp add: dvds_imp_abseq)
-apply (rule conjI)
- apply (simp add: abseq_imp_dvd)+
+ apply (simp add: zdvd_antisym_abs)
+apply (simp add: dvd_if_abs_eq)
 done
 
 
--- a/src/HOL/Algebra/Lattice.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Algebra/Lattice.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -18,7 +18,7 @@
 locale weak_partial_order = equivalence L for L (structure) +
   assumes le_refl [intro, simp]:
       "x \<in> carrier L ==> x \<sqsubseteq> x"
-    and weak_le_anti_sym [intro]:
+    and weak_le_antisym [intro]:
       "[| x \<sqsubseteq> y; y \<sqsubseteq> x; x \<in> carrier L; y \<in> carrier L |] ==> x .= y"
     and le_trans [trans]:
       "[| x \<sqsubseteq> y; y \<sqsubseteq> z; x \<in> carrier L; y \<in> carrier L; z \<in> carrier L |] ==> x \<sqsubseteq> z"
@@ -636,7 +636,7 @@
   fix s
   assume sup: "least L s (Upper L {x, y, z})"
   show "x \<squnion> (y \<squnion> z) .= s"
-  proof (rule weak_le_anti_sym)
+  proof (rule weak_le_antisym)
     from sup L show "x \<squnion> (y \<squnion> z) \<sqsubseteq> s"
       by (fastsimp intro!: join_le elim: least_Upper_above)
   next
@@ -877,7 +877,7 @@
   fix i
   assume inf: "greatest L i (Lower L {x, y, z})"
   show "x \<sqinter> (y \<sqinter> z) .= i"
-  proof (rule weak_le_anti_sym)
+  proof (rule weak_le_antisym)
     from inf L show "i \<sqsubseteq> x \<sqinter> (y \<sqinter> z)"
       by (fastsimp intro!: meet_le elim: greatest_Lower_below)
   next
@@ -1089,11 +1089,11 @@
   assumes eq_is_equal: "op .= = op ="
 begin
 
-declare weak_le_anti_sym [rule del]
+declare weak_le_antisym [rule del]
 
-lemma le_anti_sym [intro]:
+lemma le_antisym [intro]:
   "[| x \<sqsubseteq> y; y \<sqsubseteq> x; x \<in> carrier L; y \<in> carrier L |] ==> x = y"
-  using weak_le_anti_sym unfolding eq_is_equal .
+  using weak_le_antisym unfolding eq_is_equal .
 
 lemma lless_eq:
   "x \<sqsubset> y \<longleftrightarrow> x \<sqsubseteq> y & x \<noteq> y"
--- a/src/HOL/Algebra/Sylow.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Algebra/Sylow.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -344,7 +344,7 @@
 done
 
 lemma (in sylow_central) card_H_eq: "card(H) = p^a"
-by (blast intro: le_anti_sym lemma_leq1 lemma_leq2)
+by (blast intro: le_antisym lemma_leq1 lemma_leq2)
 
 lemma (in sylow) sylow_thm: "\<exists>H. subgroup H G & card(H) = p^a"
 apply (cut_tac lemma_A1, clarify)
--- a/src/HOL/Algebra/UnivPoly.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Algebra/UnivPoly.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -811,7 +811,7 @@
 lemma deg_eqI:
   "[| !!m. n < m ==> coeff P p m = \<zero>;
       !!n. n ~= 0 ==> coeff P p n ~= \<zero>; p \<in> carrier P |] ==> deg R p = n"
-by (fast intro: le_anti_sym deg_aboveI deg_belowI)
+by (fast intro: le_antisym deg_aboveI deg_belowI)
 
 text {* Degree and polynomial operations *}
 
@@ -826,11 +826,11 @@
 
 lemma deg_monom [simp]:
   "[| a ~= \<zero>; a \<in> carrier R |] ==> deg R (monom P a n) = n"
-  by (fastsimp intro: le_anti_sym deg_aboveI deg_belowI)
+  by (fastsimp intro: le_antisym deg_aboveI deg_belowI)
 
 lemma deg_const [simp]:
   assumes R: "a \<in> carrier R" shows "deg R (monom P a 0) = 0"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg R (monom P a 0) <= 0" by (rule deg_aboveI) (simp_all add: R)
 next
   show "0 <= deg R (monom P a 0)" by (rule deg_belowI) (simp_all add: R)
@@ -838,7 +838,7 @@
 
 lemma deg_zero [simp]:
   "deg R \<zero>\<^bsub>P\<^esub> = 0"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg R \<zero>\<^bsub>P\<^esub> <= 0" by (rule deg_aboveI) simp_all
 next
   show "0 <= deg R \<zero>\<^bsub>P\<^esub>" by (rule deg_belowI) simp_all
@@ -846,7 +846,7 @@
 
 lemma deg_one [simp]:
   "deg R \<one>\<^bsub>P\<^esub> = 0"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg R \<one>\<^bsub>P\<^esub> <= 0" by (rule deg_aboveI) simp_all
 next
   show "0 <= deg R \<one>\<^bsub>P\<^esub>" by (rule deg_belowI) simp_all
@@ -854,7 +854,7 @@
 
 lemma deg_uminus [simp]:
   assumes R: "p \<in> carrier P" shows "deg R (\<ominus>\<^bsub>P\<^esub> p) = deg R p"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg R (\<ominus>\<^bsub>P\<^esub> p) <= deg R p" by (simp add: deg_aboveI deg_aboveD R)
 next
   show "deg R p <= deg R (\<ominus>\<^bsub>P\<^esub> p)"
@@ -878,7 +878,7 @@
 lemma deg_smult [simp]:
   assumes R: "a \<in> carrier R" "p \<in> carrier P"
   shows "deg R (a \<odot>\<^bsub>P\<^esub> p) = (if a = \<zero> then 0 else deg R p)"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg R (a \<odot>\<^bsub>P\<^esub> p) <= (if a = \<zero> then 0 else deg R p)"
     using R by (rule deg_smult_ring)
 next
@@ -920,7 +920,7 @@
 lemma deg_mult [simp]:
   "[| p ~= \<zero>\<^bsub>P\<^esub>; q ~= \<zero>\<^bsub>P\<^esub>; p \<in> carrier P; q \<in> carrier P |] ==>
   deg R (p \<otimes>\<^bsub>P\<^esub> q) = deg R p + deg R q"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   assume "p \<in> carrier P" " q \<in> carrier P"
   then show "deg R (p \<otimes>\<^bsub>P\<^esub> q) <= deg R p + deg R q" by (rule deg_mult_ring)
 next
--- a/src/HOL/Algebra/poly/UnivPoly2.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Algebra/poly/UnivPoly2.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -557,7 +557,7 @@
 lemma deg_eqI:
   "[| !!m. n < m ==> coeff p m = 0;
       !!n. n ~= 0 ==> coeff p n ~= 0|] ==> deg p = n"
-by (fast intro: le_anti_sym deg_aboveI deg_belowI)
+by (fast intro: le_antisym deg_aboveI deg_belowI)
 
 (* Degree and polynomial operations *)
 
@@ -571,11 +571,11 @@
 
 lemma deg_monom [simp]:
   "a ~= 0 ==> deg (monom a n::'a::ring up) = n"
-by (fastsimp intro: le_anti_sym deg_aboveI deg_belowI)
+by (fastsimp intro: le_antisym deg_aboveI deg_belowI)
 
 lemma deg_const [simp]:
   "deg (monom (a::'a::ring) 0) = 0"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg (monom a 0) <= 0" by (rule deg_aboveI) simp
 next
   show "0 <= deg (monom a 0)" by (rule deg_belowI) simp
@@ -583,7 +583,7 @@
 
 lemma deg_zero [simp]:
   "deg 0 = 0"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg 0 <= 0" by (rule deg_aboveI) simp
 next
   show "0 <= deg 0" by (rule deg_belowI) simp
@@ -591,7 +591,7 @@
 
 lemma deg_one [simp]:
   "deg 1 = 0"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg 1 <= 0" by (rule deg_aboveI) simp
 next
   show "0 <= deg 1" by (rule deg_belowI) simp
@@ -612,7 +612,7 @@
 
 lemma deg_uminus [simp]:
   "deg (-p::('a::ring) up) = deg p"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg (- p) <= deg p" by (simp add: deg_aboveI deg_aboveD)
 next
   show "deg p <= deg (- p)" 
@@ -626,7 +626,7 @@
 
 lemma deg_smult [simp]:
   "deg ((a::'a::domain) *s p) = (if a = 0 then 0 else deg p)"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg (a *s p) <= (if a = 0 then 0 else deg p)" by (rule deg_smult_ring)
 next
   show "(if a = 0 then 0 else deg p) <= deg (a *s p)"
@@ -657,7 +657,7 @@
 
 lemma deg_mult [simp]:
   "[| (p::'a::domain up) ~= 0; q ~= 0|] ==> deg (p * q) = deg p + deg q"
-proof (rule le_anti_sym)
+proof (rule le_antisym)
   show "deg (p * q) <= deg p + deg q" by (rule deg_mult_ring)
 next
   let ?s = "(%i. coeff p i * coeff q (deg p + deg q - i))"
--- a/src/HOL/Boogie/Examples/Boogie_Max.thy	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Max.thy	Sat Nov 21 17:37:07 2009 +0100
@@ -57,14 +57,20 @@
 proof (split_vc (verbose) try: fast simp)
   print_cases
   case L_14_5c
-  thus ?case by (metis abs_of_nonneg zabs_less_one_iff zle_linear)
+  thus ?case by (metis less_le_not_le zle_add1_eq_le zless_linear)
 next
   case L_14_5b
-  thus ?case by (metis less_le_not_le linorder_not_le xt1(10) zle_linear
-    zless_add1_eq)
+  thus ?case by (metis less_le_not_le xt1(10) zle_linear zless_add1_eq)
 next
   case L_14_5a
-  thus ?case by (metis less_le_not_le zle_add1_eq_le zless_linear)
+  note max0 = `max0 = array 0`
+  {
+    fix i :: int
+    assume "0 \<le> i \<and> i < 1"
+    hence "i = 0" by simp
+    with max0 have "array i \<le> max0" by simp
+  }
+  thus ?case by simp
 qed
 
 boogie_end
--- a/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra	Sat Nov 21 17:37:07 2009 +0100
@@ -12,18 +12,18 @@
   (uf_10 T1 Int)
   (uf_11 T2)
   (uf_9 Int)
-  (uf_21 T2)
-  (uf_16 T2)
-  (uf_20 T2)
+  (uf_18 T2)
+  (uf_22 T2)
+  (uf_17 T2)
   (uf_12 T2 Int)
   (uf_14 T3)
-  (uf_18 T2 Int)
-  (uf_22 T3)
-  (uf_24 T3)
-  (uf_23 T3)
+  (uf_24 T2 Int)
+  (uf_19 T3)
+  (uf_21 T3)
+  (uf_20 T3)
   (uf_15 T4)
-  (uf_17 T4)
-  (uf_19 T4)
+  (uf_23 T4)
+  (uf_16 T4)
  )
 :extrapreds (
   (up_13 T2)
@@ -38,6 +38,6 @@
 :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 (implies (= (uf_12 uf_11) 0) (and (implies (forall (?x27 T2) (<= 0 (uf_12 ?x27))) (and (implies (forall (?x28 T2) (?x29 T2) (implies (and (up_13 ?x28) (not (up_13 ?x29))) (<= (uf_12 ?x28) (uf_12 ?x29)))) (and (implies (forall (?x30 T2) (?x31 T2) (implies (and (< (uf_10 (uf_1 ?x31 ?x30)) uf_9) (up_13 ?x31)) (<= (uf_12 ?x30) (+ (uf_12 ?x31) (uf_10 (uf_1 ?x31 ?x30)))))) (and (implies (forall (?x32 T2) (implies (and (< (uf_12 ?x32) uf_9) (not (= ?x32 uf_11))) (exists (?x33 T2) (and (= (uf_12 ?x32) (+ (uf_12 ?x33) (uf_10 (uf_1 ?x33 ?x32)))) (and (up_13 ?x33) (< (uf_12 ?x33) (uf_12 ?x32))))))) (implies true (implies true (implies (= (uf_4 uf_14 uf_11) 0) (implies (forall (?x34 T2) (<= 0 (uf_4 uf_14 ?x34))) (implies (forall (?x35 T2) (?x36 T2) (implies (and (= (uf_6 uf_15 ?x35) uf_8) (not (= (uf_6 uf_15 ?x36) uf_8))) (<= (uf_4 uf_14 ?x35) (uf_4 uf_14 ?x36)))) (implies (forall (?x37 T2) (?x38 T2) (implies (and (< (uf_10 (uf_1 ?x38 ?x37)) uf_9) (= (uf_6 uf_15 ?x38) uf_8)) (<= (uf_4 uf_14 ?x37) (+ (uf_4 uf_14 ?x38) (uf_10 (uf_1 ?x38 ?x37)))))) (implies (forall (?x39 T2) (implies (and (< (uf_4 uf_14 ?x39) uf_9) (not (= ?x39 uf_11))) (exists (?x40 T2) (and (= (uf_4 uf_14 ?x39) (+ (uf_4 uf_14 ?x40) (uf_10 (uf_1 ?x40 ?x39)))) (and (= (uf_6 uf_15 ?x40) uf_8) (< (uf_4 uf_14 ?x40) (uf_4 uf_14 ?x39))))))) (implies true (and (implies true (implies true (implies (exists (?x41 T2) (and (< (uf_4 uf_14 ?x41) uf_9) (not (= (uf_6 uf_15 ?x41) uf_8)))) (implies (not (= (uf_6 uf_15 uf_16) uf_8)) (implies (< (uf_4 uf_14 uf_16) uf_9) (implies (forall (?x42 T2) (implies (not (= (uf_6 uf_15 ?x42) uf_8)) (<= (uf_4 uf_14 uf_16) (uf_4 uf_14 ?x42)))) (implies (= uf_17 (uf_7 uf_15 uf_16 uf_8)) (implies (forall (?x43 T2) (implies (and (< (+ (uf_4 uf_14 uf_16) (uf_10 (uf_1 uf_16 ?x43))) (uf_4 uf_14 ?x43)) (< (uf_10 (uf_1 uf_16 ?x43)) uf_9)) (= (uf_18 ?x43) (+ (uf_4 uf_14 uf_16) (uf_10 (uf_1 uf_16 ?x43)))))) (implies (forall (?x44 T2) (implies (not (and (< (+ (uf_4 uf_14 uf_16) (uf_10 (uf_1 uf_16 ?x44))) (uf_4 uf_14 ?x44)) (< (uf_10 (uf_1 uf_16 ?x44)) uf_9))) (= (uf_18 ?x44) (uf_4 uf_14 ?x44)))) (and (implies (forall (?x45 T2) (<= (uf_18 ?x45) (uf_4 uf_14 ?x45))) (and (implies (forall (?x46 T2) (implies (= (uf_6 uf_17 ?x46) uf_8) (= (uf_18 ?x46) (uf_4 uf_14 ?x46)))) (implies true (implies true (and (implies (= (uf_18 uf_11) 0) (and (implies (forall (?x47 T2) (<= 0 (uf_18 ?x47))) (and (implies (forall (?x48 T2) (?x49 T2) (implies (and (= (uf_6 uf_17 ?x48) uf_8) (not (= (uf_6 uf_17 ?x49) uf_8))) (<= (uf_18 ?x48) (uf_18 ?x49)))) (and (implies (forall (?x50 T2) (?x51 T2) (implies (and (< (uf_10 (uf_1 ?x51 ?x50)) uf_9) (= (uf_6 uf_17 ?x51) uf_8)) (<= (uf_18 ?x50) (+ (uf_18 ?x51) (uf_10 (uf_1 ?x51 ?x50)))))) (and (implies (forall (?x52 T2) (implies (and (< (uf_18 ?x52) uf_9) (not (= ?x52 uf_11))) (exists (?x53 T2) (and (= (uf_18 ?x52) (+ (uf_18 ?x53) (uf_10 (uf_1 ?x53 ?x52)))) (and (= (uf_6 uf_17 ?x53) uf_8) (< (uf_18 ?x53) (uf_18 ?x52))))))) (implies false true)) (forall (?x54 T2) (implies (and (< (uf_18 ?x54) uf_9) (not (= ?x54 uf_11))) (exists (?x55 T2) (and (= (uf_18 ?x54) (+ (uf_18 ?x55) (uf_10 (uf_1 ?x55 ?x54)))) (and (= (uf_6 uf_17 ?x55) uf_8) (< (uf_18 ?x55) (uf_18 ?x54))))))))) (forall (?x56 T2) (?x57 T2) (implies (and (< (uf_10 (uf_1 ?x57 ?x56)) uf_9) (= (uf_6 uf_17 ?x57) uf_8)) (<= (uf_18 ?x56) (+ (uf_18 ?x57) (uf_10 (uf_1 ?x57 ?x56)))))))) (forall (?x58 T2) (?x59 T2) (implies (and (= (uf_6 uf_17 ?x58) uf_8) (not (= (uf_6 uf_17 ?x59) uf_8))) (<= (uf_18 ?x58) (uf_18 ?x59)))))) (forall (?x60 T2) (<= 0 (uf_18 ?x60))))) (= (uf_18 uf_11) 0))))) (forall (?x61 T2) (implies (= (uf_6 uf_17 ?x61) uf_8) (= (uf_18 ?x61) (uf_4 uf_14 ?x61)))))) (forall (?x62 T2) (<= (uf_18 ?x62) (uf_4 uf_14 ?x62))))))))))))) (implies true (implies true (implies (not (exists (?x63 T2) (and (< (uf_4 uf_14 ?x63) uf_9) (not (= (uf_6 uf_15 ?x63) uf_8))))) (implies true (implies true (implies (= uf_19 uf_15) (implies (= uf_20 uf_21) (implies (= uf_22 uf_14) (implies (= uf_23 uf_24) (implies true (and (implies (forall (?x64 T2) (implies (and (< (uf_4 uf_22 ?x64) uf_9) (not (= ?x64 uf_11))) (exists (?x65 T2) (and (= (uf_4 uf_22 ?x64) (+ (uf_4 uf_22 ?x65) (uf_10 (uf_1 ?x65 ?x64)))) (< (uf_4 uf_22 ?x65) (uf_4 uf_22 ?x64)))))) (and (implies (forall (?x66 T2) (?x67 T2) (implies (and (< (uf_10 (uf_1 ?x67 ?x66)) uf_9) (< (uf_4 uf_22 ?x67) uf_9)) (<= (uf_4 uf_22 ?x66) (+ (uf_4 uf_22 ?x67) (uf_10 (uf_1 ?x67 ?x66)))))) (and (implies (= (uf_4 uf_22 uf_11) 0) true) (= (uf_4 uf_22 uf_11) 0))) (forall (?x68 T2) (?x69 T2) (implies (and (< (uf_10 (uf_1 ?x69 ?x68)) uf_9) (< (uf_4 uf_22 ?x69) uf_9)) (<= (uf_4 uf_22 ?x68) (+ (uf_4 uf_22 ?x69) (uf_10 (uf_1 ?x69 ?x68)))))))) (forall (?x70 T2) (implies (and (< (uf_4 uf_22 ?x70) uf_9) (not (= ?x70 uf_11))) (exists (?x71 T2) (and (= (uf_4 uf_22 ?x70) (+ (uf_4 uf_22 ?x71) (uf_10 (uf_1 ?x71 ?x70)))) (< (uf_4 uf_22 ?x71) (uf_4 uf_22 ?x70))))))))))))))))))))))))))) (forall (?x72 T2) (implies (and (< (uf_12 ?x72) uf_9) (not (= ?x72 uf_11))) (exists (?x73 T2) (and (= (uf_12 ?x72) (+ (uf_12 ?x73) (uf_10 (uf_1 ?x73 ?x72)))) (and (up_13 ?x73) (< (uf_12 ?x73) (uf_12 ?x72))))))))) (forall (?x74 T2) (?x75 T2) (implies (and (< (uf_10 (uf_1 ?x75 ?x74)) uf_9) (up_13 ?x75)) (<= (uf_12 ?x74) (+ (uf_12 ?x75) (uf_10 (uf_1 ?x75 ?x74)))))))) (forall (?x76 T2) (?x77 T2) (implies (and (up_13 ?x76) (not (up_13 ?x77))) (<= (uf_12 ?x76) (uf_12 ?x77)))))) (forall (?x78 T2) (<= 0 (uf_12 ?x78))))) (= (uf_12 uf_11) 0)))))))))
+: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))))))))))))))))))))))))))))))))))))))))))))))))))))
 :formula true
 )
--- a/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra.proof	Sat Nov 21 17:35:55 2009 +0100
+++ b/src/HOL/Boogie/Examples/cert/Boogie_Dijkstra.proof	Sat Nov 21 17:37:07 2009 +0100
@@ -1,4237 +1,239 @@
 #2 := false
 #55 := 0::int
-decl uf_4 :: (-> T3 T2 int)
-decl ?x40!7 :: (-> T2 T2)
-decl ?x52!15 :: T2
-#2305 := ?x52!15
-#15992 := (?x40!7 ?x52!15)
-decl uf_14 :: T3
-#107 := uf_14
-#15996 := (uf_4 uf_14 #15992)
-#20405 := (>= #15996 0::int)
-#11 := (:var 0 T2)
-#110 := (uf_4 uf_14 #11)
-#4403 := (pattern #110)
-#1843 := (>= #110 0::int)
-#4404 := (forall (vars (?x34 T2)) (:pat #4403) #1843)
-decl uf_10 :: (-> T1 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 uf_23 :: T4
+#193 := uf_23
+#2305 := (uf_6 uf_23 ?x68!16)
+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 ?x66!20 :: T2
-#2511 := ?x66!20
-decl ?x67!19 :: T2
-#2510 := ?x67!19
-#2516 := (uf_1 ?x67!19 ?x66!20)
-#2517 := (uf_10 #2516)
-#1320 := -1::int
-#2524 := (* -1::int #2517)
-decl uf_22 :: T3
-#230 := uf_22
-#2514 := (uf_4 uf_22 ?x67!19)
-#2520 := (* -1::int #2514)
-#3094 := (+ #2520 #2524)
-#2512 := (uf_4 uf_22 ?x66!20)
-#3095 := (+ #2512 #3094)
-#3096 := (<= #3095 0::int)
-decl uf_9 :: int
-#56 := uf_9
-#2525 := (+ uf_9 #2524)
-#2526 := (<= #2525 0::int)
-#2521 := (+ uf_9 #2520)
-#2522 := (<= #2521 0::int)
-#3693 := (or #2522 #2526 #3096)
-#3698 := (not #3693)
+decl ?x75!20 :: T2
+#2354 := ?x75!20
+#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)
+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)
-#4379 := (pattern #90)
-#238 := (uf_4 uf_22 #10)
-#1720 := (* -1::int #238)
-#235 := (uf_4 uf_22 #11)
-#1721 := (+ #235 #1720)
+#4281 := (pattern #90)
+#224 := (uf_24 #10)
+#1505 := (* -1::int #224)
+#1506 := (+ #202 #1505)
 #91 := (uf_10 #90)
-#1727 := (+ #91 #1721)
-#1750 := (>= #1727 0::int)
-#1707 := (* -1::int #235)
-#1708 := (+ uf_9 #1707)
-#1709 := (<= #1708 0::int)
-#1343 := (* -1::int #91)
-#1346 := (+ uf_9 #1343)
-#1347 := (<= #1346 0::int)
-#3661 := (or #1347 #1709 #1750)
-#4633 := (forall (vars (?x66 T2) (?x67 T2)) (:pat #4379) #3661)
-#4638 := (not #4633)
-decl uf_11 :: T2
-#67 := uf_11
-#250 := (uf_4 uf_22 uf_11)
-#251 := (= #250 0::int)
-#4641 := (or #251 #4638)
-#4644 := (not #4641)
-#4647 := (or #4644 #3698)
-#4650 := (not #4647)
-#4609 := (pattern #235)
-decl ?x65!18 :: (-> T2 T2)
-#2487 := (?x65!18 #11)
-#2490 := (uf_1 #2487 #11)
-#2491 := (uf_10 #2490)
-#3064 := (* -1::int #2491)
-#2488 := (uf_4 uf_22 #2487)
-#3047 := (* -1::int #2488)
-#3065 := (+ #3047 #3064)
-#3066 := (+ #235 #3065)
-#3067 := (= #3066 0::int)
-#3631 := (not #3067)
-#3048 := (+ #235 #3047)
-#3049 := (<= #3048 0::int)
-#3632 := (or #3049 #3631)
-#3633 := (not #3632)
-#68 := (= #11 uf_11)
-#3639 := (or #68 #1709 #3633)
-#4625 := (forall (vars (?x64 T2)) (:pat #4609) #3639)
-#4630 := (not #4625)
-#4653 := (or #4630 #4650)
-#4656 := (not #4653)
-decl ?x64!17 :: T2
-#2447 := ?x64!17
-#2451 := (uf_1 #11 ?x64!17)
-#4610 := (pattern #2451)
-#2452 := (uf_10 #2451)
-#2448 := (uf_4 uf_22 ?x64!17)
-#2449 := (* -1::int #2448)
-#3017 := (+ #2449 #2452)
-#3018 := (+ #235 #3017)
-#3021 := (= #3018 0::int)
-#3595 := (not #3021)
-#2450 := (+ #235 #2449)
-#2455 := (>= #2450 0::int)
-#3596 := (or #2455 #3595)
-#4611 := (forall (vars (?x65 T2)) (:pat #4609 #4610) #3596)
-#4616 := (not #4611)
-#2993 := (= uf_11 ?x64!17)
-#2459 := (+ uf_9 #2449)
-#2460 := (<= #2459 0::int)
-#4619 := (or #2460 #2993 #4616)
-#4622 := (not #4619)
-#4659 := (or #4622 #4656)
-#4662 := (not #4659)
-decl uf_6 :: (-> T4 T2 T5)
-decl uf_15 :: T4
-#113 := uf_15
-#116 := (uf_6 uf_15 #11)
-#4445 := (pattern #116)
-#1404 := (* -1::int #110)
-#1405 := (+ uf_9 #1404)
-#1406 := (<= #1405 0::int)
-decl uf_8 :: T5
-#33 := uf_8
-#505 := (= uf_8 #116)
-#3581 := (or #505 #1406)
-#4601 := (forall (vars (?x41 T2)) (:pat #4445 #4403) #3581)
-#4606 := (not #4601)
-#933 := (= uf_14 uf_22)
-#1053 := (not #933)
-decl uf_19 :: T4
-#225 := uf_19
-#930 := (= uf_15 uf_19)
-#1071 := (not #930)
-decl uf_24 :: T3
-#233 := uf_24
-decl uf_23 :: T3
-#232 := uf_23
-#234 := (= uf_23 uf_24)
-#1044 := (not #234)
-decl uf_21 :: T2
-#228 := uf_21
-decl uf_20 :: T2
-#227 := uf_20
-#229 := (= uf_20 uf_21)
-#1062 := (not #229)
-#4665 := (or #1062 #1044 #1071 #1053 #4606 #4662)
-#4668 := (not #4665)
-#2309 := (uf_1 #11 ?x52!15)
-#4514 := (pattern #2309)
-decl uf_18 :: (-> T2 int)
-#158 := (uf_18 #11)
-#4454 := (pattern #158)
-decl uf_17 :: T4
-#149 := uf_17
-#168 := (uf_6 uf_17 #11)
-#4480 := (pattern #168)
-#2310 := (uf_10 #2309)
-#2306 := (uf_18 ?x52!15)
-#2307 := (* -1::int #2306)
-#2917 := (+ #2307 #2310)
-#2918 := (+ #158 #2917)
-#2921 := (= #2918 0::int)
-#3474 := (not #2921)
-#2308 := (+ #158 #2307)
-#2313 := (>= #2308 0::int)
-#630 := (= uf_8 #168)
-#636 := (not #630)
-#3475 := (or #636 #2313 #3474)
-#4515 := (forall (vars (?x53 T2)) (:pat #4480 #4454 #4514) #3475)
-#4520 := (not #4515)
-#180 := (uf_18 #10)
-#1505 := (* -1::int #180)
-#1506 := (+ #158 #1505)
 #1536 := (+ #91 #1506)
 #1534 := (>= #1536 0::int)
-#3466 := (or #636 #1347 #1534)
-#4506 := (forall (vars (?x50 T2) (?x51 T2)) (:pat #4379) #3466)
-#4511 := (not #4506)
-#2893 := (= uf_11 ?x52!15)
-#2317 := (+ uf_9 #2307)
-#2318 := (<= #2317 0::int)
-#4523 := (or #2318 #2893 #4511 #4520)
-#4526 := (not #4523)
-decl ?x50!14 :: T2
-#2275 := ?x50!14
-decl ?x51!13 :: T2
-#2274 := ?x51!13
-#2280 := (uf_1 ?x51!13 ?x50!14)
-#2281 := (uf_10 #2280)
-#2284 := (* -1::int #2281)
-#2278 := (uf_18 ?x51!13)
-#2879 := (* -1::int #2278)
-#2880 := (+ #2879 #2284)
-#2276 := (uf_18 ?x50!14)
-#2881 := (+ #2276 #2880)
-#2882 := (<= #2881 0::int)
-#2288 := (uf_6 uf_17 ?x51!13)
-#2289 := (= uf_8 #2288)
-#3429 := (not #2289)
-#2285 := (+ uf_9 #2284)
-#2286 := (<= #2285 0::int)
-#3444 := (or #2286 #3429 #2882)
-#3449 := (not #3444)
-#4529 := (or #3449 #4526)
-#4532 := (not #4529)
-#4497 := (pattern #158 #180)
+#1235 := (* -1::int #91)
+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)
+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)
+decl ?x71!19 :: T2
+#2324 := ?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)
-#176 := (uf_6 uf_17 #10)
-#648 := (= uf_8 #176)
-#3406 := (not #648)
-#3421 := (or #630 #3406 #1504)
-#4498 := (forall (vars (?x48 T2) (?x49 T2)) (:pat #4497) #3421)
-#4503 := (not #4498)
-#4535 := (or #4503 #4532)
-#4538 := (not #4535)
-decl ?x49!11 :: T2
-#2247 := ?x49!11
-#2251 := (uf_18 ?x49!11)
-#2853 := (* -1::int #2251)
-decl ?x48!12 :: T2
-#2248 := ?x48!12
-#2249 := (uf_18 ?x48!12)
-#2854 := (+ #2249 #2853)
-#2855 := (<= #2854 0::int)
-#2256 := (uf_6 uf_17 ?x49!11)
-#2257 := (= uf_8 #2256)
-#2254 := (uf_6 uf_17 ?x48!12)
-#2255 := (= uf_8 #2254)
-#3383 := (not #2255)
-#3398 := (or #3383 #2257 #2855)
-#3403 := (not #3398)
-#4541 := (or #3403 #4538)
-#4544 := (not #4541)
-#1495 := (>= #158 0::int)
-#4489 := (forall (vars (?x47 T2)) (:pat #4454) #1495)
-#4494 := (not #4489)
-#4547 := (or #4494 #4544)
-#4550 := (not #4547)
-decl ?x47!10 :: T2
-#2232 := ?x47!10
-#2233 := (uf_18 ?x47!10)
-#2234 := (>= #2233 0::int)
-#2235 := (not #2234)
-#4553 := (or #2235 #4550)
-#4556 := (not #4553)
-#172 := (uf_18 uf_11)
-#173 := (= #172 0::int)
-#1492 := (not #173)
-#4559 := (or #1492 #4556)
-#4562 := (not #4559)
-#4565 := (or #1492 #4562)
-#4568 := (not #4565)
-#616 := (= #110 #158)
-#637 := (or #616 #636)
-#4481 := (forall (vars (?x46 T2)) (:pat #4403 #4454 #4480) #637)
-#4486 := (not #4481)
-#4571 := (or #4486 #4568)
-#4574 := (not #4571)
-decl ?x46!9 :: T2
-#2207 := ?x46!9
-#2212 := (uf_4 uf_14 ?x46!9)
-#2211 := (uf_18 ?x46!9)
-#2825 := (= #2211 #2212)
-#2208 := (uf_6 uf_17 ?x46!9)
-#2209 := (= uf_8 #2208)
-#2210 := (not #2209)
-#2831 := (or #2210 #2825)
-#2836 := (not #2831)
-#4577 := (or #2836 #4574)
-#4580 := (not #4577)
-#1480 := (* -1::int #158)
-#1481 := (+ #110 #1480)
-#1479 := (>= #1481 0::int)
-#4472 := (forall (vars (?x45 T2)) (:pat #4403 #4454) #1479)
-#4477 := (not #4472)
-#4583 := (or #4477 #4580)
-#4586 := (not #4583)
-decl ?x45!8 :: T2
-#2189 := ?x45!8
-#2192 := (uf_4 uf_14 ?x45!8)
-#2815 := (* -1::int #2192)
-#2190 := (uf_18 ?x45!8)
-#2816 := (+ #2190 #2815)
-#2817 := (<= #2816 0::int)
-#2822 := (not #2817)
-#4589 := (or #2822 #4586)
-#4592 := (not #4589)
-decl uf_16 :: T2
-#140 := uf_16
-#152 := (uf_1 uf_16 #11)
-#4455 := (pattern #152)
-#153 := (uf_10 #152)
-#1623 := (+ #153 #1480)
-#144 := (uf_4 uf_14 uf_16)
-#1624 := (+ #144 #1623)
-#1625 := (= #1624 0::int)
-#1450 := (* -1::int #153)
-#1457 := (+ uf_9 #1450)
-#1458 := (<= #1457 0::int)
-#1449 := (* -1::int #144)
-#1451 := (+ #1449 #1450)
-#1452 := (+ #110 #1451)
-#1453 := (<= #1452 0::int)
-#3375 := (or #1453 #1458 #1625)
-#4464 := (forall (vars (?x43 T2)) (:pat #4403 #4455 #4454) #3375)
-#4469 := (not #4464)
-#3355 := (or #1453 #1458)
-#3356 := (not #3355)
-#3359 := (or #616 #3356)
-#4456 := (forall (vars (?x44 T2)) (:pat #4403 #4454 #4455) #3359)
-#4461 := (not #4456)
-decl ?x41!16 :: T2
-#2408 := ?x41!16
-#2414 := (uf_6 uf_15 ?x41!16)
-#2415 := (= uf_8 #2414)
-#2409 := (uf_4 uf_14 ?x41!16)
-#2410 := (* -1::int #2409)
-#2411 := (+ uf_9 #2410)
-#2412 := (<= #2411 0::int)
-#1655 := (+ uf_9 #1449)
-#1656 := (<= #1655 0::int)
-#1638 := (+ #110 #1449)
-#1637 := (>= #1638 0::int)
-#1644 := (or #505 #1637)
-#4446 := (forall (vars (?x42 T2)) (:pat #4445 #4403) #1644)
-#4451 := (not #4446)
-#141 := (uf_6 uf_15 uf_16)
-#585 := (= uf_8 #141)
+#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)
+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)
+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)
+#4199 := [refl]: #4198
+#4201 := [quant-intro #4199]: #4200
+#1843 := (~ #321 #321)
+#1875 := (~ #317 #317)
+#1876 := [refl]: #1875
+#1841 := [nnf-pos #1876]: #1843
+#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)
-#150 := (uf_7 uf_15 uf_16 uf_8)
-#151 := (= uf_17 #150)
-#876 := (not #151)
-#4595 := (or #876 #585 #4451 #1656 #2412 #2415 #4461 #4469 #4592)
-#4598 := (not #4595)
-#4671 := (or #4598 #4668)
-#4674 := (not #4671)
-#2152 := (?x40!7 #11)
-#2155 := (uf_1 #2152 #11)
-#2156 := (uf_10 #2155)
-#2790 := (* -1::int #2156)
-#2153 := (uf_4 uf_14 #2152)
-#2773 := (* -1::int #2153)
-#2791 := (+ #2773 #2790)
-#2792 := (+ #110 #2791)
-#2793 := (= #2792 0::int)
-#3339 := (not #2793)
-#2774 := (+ #110 #2773)
-#2775 := (<= #2774 0::int)
-#2161 := (uf_6 uf_15 #2152)
-#2162 := (= uf_8 #2161)
-#3338 := (not #2162)
-#3340 := (or #3338 #2775 #3339)
-#3341 := (not #3340)
-#3347 := (or #68 #1406 #3341)
-#4437 := (forall (vars (?x39 T2)) (:pat #4403) #3347)
-#4442 := (not #4437)
-decl uf_12 :: (-> T2 int)
-#69 := (uf_12 #11)
-#4355 := (pattern #69)
-decl ?x33!6 :: (-> T2 T2)
-#2123 := (?x33!6 #11)
-#2127 := (uf_12 #2123)
-#2728 := (* -1::int #2127)
-#2124 := (uf_1 #2123 #11)
-#2125 := (uf_10 #2124)
-#2745 := (* -1::int #2125)
-#2746 := (+ #2745 #2728)
-#2747 := (+ #69 #2746)
-#2748 := (= #2747 0::int)
-#3311 := (not #2748)
-#2729 := (+ #69 #2728)
-#2730 := (<= #2729 0::int)
-decl up_13 :: (-> T2 bool)
-#2133 := (up_13 #2123)
-#3310 := (not #2133)
-#3312 := (or #3310 #2730 #3311)
-#3313 := (not #3312)
-#1386 := (* -1::int #69)
-#1387 := (+ uf_9 #1386)
-#1388 := (<= #1387 0::int)
-#3319 := (or #68 #1388 #3313)
-#4429 := (forall (vars (?x32 T2)) (:pat #4355) #3319)
-#4434 := (not #4429)
-#114 := (uf_6 uf_15 #10)
-#4420 := (pattern #114 #116)
-#120 := (uf_4 uf_14 #10)
-#1417 := (* -1::int #120)
-#1418 := (+ #110 #1417)
-#1416 := (>= #1418 0::int)
-#502 := (= uf_8 #114)
-#3276 := (not #502)
-#3291 := (or #3276 #505 #1416)
-#4421 := (forall (vars (?x35 T2) (?x36 T2)) (:pat #4420) #3291)
-#4426 := (not #4421)
-#1424 := (+ #91 #1418)
-#1815 := (>= #1424 0::int)
-#508 := (not #505)
-#3268 := (or #508 #1347 #1815)
-#4412 := (forall (vars (?x37 T2) (?x38 T2)) (:pat #4379) #3268)
-#4417 := (not #4412)
-#4409 := (not #4404)
-#108 := (uf_4 uf_14 uf_11)
-#109 := (= #108 0::int)
-#1854 := (not #109)
-#4677 := (or #1854 #4409 #4417 #4426 #4434 #4442 #4674)
-#4680 := (not #4677)
-decl ?x32!5 :: T2
-#2081 := ?x32!5
-#2091 := (uf_1 #11 ?x32!5)
-#4388 := (pattern #2091)
-#77 := (up_13 #11)
-#4348 := (pattern #77)
-#2082 := (uf_12 ?x32!5)
-#2083 := (* -1::int #2082)
-#2096 := (+ #69 #2083)
-#2097 := (>= #2096 0::int)
-#2092 := (uf_10 #2091)
-#2093 := (+ #2083 #2092)
-#2094 := (+ #69 #2093)
-#2095 := (= #2094 0::int)
-#3229 := (not #2095)
-#78 := (not #77)
-#3230 := (or #78 #3229 #2097)
-#4389 := (forall (vars (?x33 T2)) (:pat #4348 #4355 #4388) #3230)
-#4394 := (not #4389)
-#2688 := (= uf_11 ?x32!5)
-#2084 := (+ uf_9 #2083)
-#2085 := (<= #2084 0::int)
-#4397 := (or #2085 #2688 #4394)
-#4400 := (not #4397)
-#4683 := (or #4400 #4680)
-#4686 := (not #4683)
-#86 := (uf_12 #10)
-#1323 := (* -1::int #86)
-#1344 := (+ #1323 #91)
-#1345 := (+ #69 #1344)
-#1342 := (>= #1345 0::int)
-#3221 := (or #78 #1342 #1347)
-#4380 := (forall (vars (?x30 T2) (?x31 T2)) (:pat #4379) #3221)
-#4385 := (not #4380)
-#4689 := (or #4385 #4686)
-#4692 := (not #4689)
-decl ?x31!3 :: T2
-#2051 := ?x31!3
-#2065 := (uf_12 ?x31!3)
-decl ?x30!4 :: T2
-#2052 := ?x30!4
-#2062 := (uf_12 ?x30!4)
-#2063 := (* -1::int #2062)
-#2660 := (+ #2063 #2065)
-#2053 := (uf_1 ?x31!3 ?x30!4)
-#2054 := (uf_10 #2053)
-#2661 := (+ #2054 #2660)
-#2664 := (>= #2661 0::int)
-#2059 := (up_13 ?x31!3)
-#3184 := (not #2059)
-#2055 := (* -1::int #2054)
-#2056 := (+ uf_9 #2055)
-#2057 := (<= #2056 0::int)
-#3199 := (or #2057 #3184 #2664)
-#3204 := (not #3199)
-#4695 := (or #3204 #4692)
-#4698 := (not #4695)
-#84 := (up_13 #10)
-#4370 := (pattern #77 #84)
-#1324 := (+ #69 #1323)
-#1322 := (>= #1324 0::int)
-#2632 := (not #84)
-#3176 := (or #77 #2632 #1322)
-#4371 := (forall (vars (?x28 T2) (?x29 T2)) (:pat #4370) #3176)
-#4376 := (not #4371)
-#4701 := (or #4376 #4698)
-#4704 := (not #4701)
-decl ?x29!1 :: T2
-#2026 := ?x29!1
-#2030 := (uf_12 ?x29!1)
-#2647 := (* -1::int #2030)
-decl ?x28!2 :: T2
-#2027 := ?x28!2
-#2028 := (uf_12 ?x28!2)
-#2648 := (+ #2028 #2647)
-#2649 := (<= #2648 0::int)
-#2034 := (up_13 ?x29!1)
-#2033 := (up_13 ?x28!2)
-#2266 := (not #2033)
-#2166 := (or #2266 #2034 #2649)
-#6004 := [hypothesis]: #2033
-#4349 := (forall (vars (?x26 T2)) (:pat #4348) #78)
-#79 := (forall (vars (?x26 T2)) #78)
-#4352 := (iff #79 #4349)
-#4350 := (iff #78 #78)
-#4351 := [refl]: #4350
-#4353 := [quant-intro #4351]: #4352
-#1965 := (~ #79 #79)
-#2002 := (~ #78 #78)
-#2003 := [refl]: #2002
-#1966 := [nnf-pos #2003]: #1965
-#70 := (= #69 0::int)
-#73 := (not #68)
-#1912 := (or #73 #70)
-#1915 := (forall (vars (?x24 T2)) #1912)
-#1918 := (not #1915)
-#1846 := (forall (vars (?x34 T2)) #1843)
-#1849 := (not #1846)
-#511 := (and #502 #508)
-#517 := (not #511)
-#1832 := (or #517 #1416)
-#1837 := (forall (vars (?x35 T2) (?x36 T2)) #1832)
-#1840 := (not #1837)
-#1348 := (not #1347)
-#1807 := (and #505 #1348)
-#1812 := (not #1807)
-#1818 := (or #1812 #1815)
-#1821 := (forall (vars (?x37 T2) (?x38 T2)) #1818)
-#1824 := (not #1821)
-#1710 := (not #1709)
-#1744 := (and #1348 #1710)
-#1747 := (not #1744)
-#1753 := (or #1747 #1750)
-#1756 := (forall (vars (?x66 T2) (?x67 T2)) #1753)
-#1759 := (not #1756)
-#1767 := (or #251 #1759)
-#1772 := (and #1756 #1767)
-#1725 := (= #1727 0::int)
-#1719 := (>= #1721 0::int)
-#1722 := (not #1719)
-#1729 := (and #1722 #1725)
-#1732 := (exists (vars (?x65 T2)) #1729)
-#1713 := (and #73 #1710)
-#1716 := (not #1713)
-#1735 := (or #1716 #1732)
-#1738 := (forall (vars (?x64 T2)) #1735)
-#1741 := (not #1738)
-#1775 := (or #1741 #1772)
-#1778 := (and #1738 #1775)
-#1407 := (not #1406)
-#1670 := (and #508 #1407)
-#1675 := (exists (vars (?x41 T2)) #1670)
-#1796 := (or #1062 #1044 #1071 #1053 #1675 #1778)
-#1678 := (not #1675)
-#1649 := (forall (vars (?x42 T2)) #1644)
-#1652 := (not #1649)
-#1459 := (not #1458)
-#1454 := (not #1453)
-#1462 := (and #1454 #1459)
-#1620 := (not #1462)
-#1628 := (or #1620 #1625)
-#1631 := (forall (vars (?x43 T2)) #1628)
-#1634 := (not #1631)
-#1561 := (= #1536 0::int)
-#1558 := (not #1504)
-#1570 := (and #630 #1558 #1561)
-#1575 := (exists (vars (?x53 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 (?x52 T2)) #1578)
-#1526 := (and #630 #1348)
-#1531 := (not #1526)
-#1538 := (or #1531 #1534)
-#1541 := (forall (vars (?x50 T2) (?x51 T2)) #1538)
-#1544 := (not #1541)
-#1584 := (or #1544 #1581)
-#1587 := (and #1541 #1584)
-#656 := (and #636 #648)
-#664 := (not #656)
-#1512 := (or #664 #1504)
-#1517 := (forall (vars (?x48 T2) (?x49 T2)) #1512)
-#1520 := (not #1517)
-#1590 := (or #1520 #1587)
-#1593 := (and #1517 #1590)
-#1498 := (forall (vars (?x47 T2)) #1495)
-#1501 := (not #1498)
-#1596 := (or #1501 #1593)
-#1599 := (and #1498 #1596)
-#1602 := (or #1492 #1599)
-#1605 := (and #173 #1602)
-#642 := (forall (vars (?x46 T2)) #637)
-#824 := (not #642)
-#1608 := (or #824 #1605)
-#1611 := (and #642 #1608)
-#1484 := (forall (vars (?x45 T2)) #1479)
-#1487 := (not #1484)
-#1614 := (or #1487 #1611)
-#1617 := (and #1484 #1614)
-#1468 := (or #616 #1462)
-#1473 := (forall (vars (?x44 T2)) #1468)
-#1476 := (not #1473)
-#1702 := (or #876 #585 #1476 #1617 #1634 #1652 #1656 #1678)
-#1801 := (and #1702 #1796)
-#1422 := (= #1424 0::int)
-#1419 := (not #1416)
-#1432 := (and #505 #1419 #1422)
-#1437 := (exists (vars (?x40 T2)) #1432)
-#1410 := (and #73 #1407)
-#1413 := (not #1410)
-#1440 := (or #1413 #1437)
-#1443 := (forall (vars (?x39 T2)) #1440)
-#1446 := (not #1443)
-#1389 := (not #1388)
-#1392 := (and #73 #1389)
-#1395 := (not #1392)
-#1370 := (= #1345 0::int)
-#1366 := (not #1322)
-#1378 := (and #77 #1366 #1370)
-#1383 := (exists (vars (?x33 T2)) #1378)
-#1398 := (or #1383 #1395)
-#1401 := (forall (vars (?x32 T2)) #1398)
-#1857 := (not #1401)
-#1878 := (or #1854 #1857 #1446 #1801 #1824 #1840 #1849)
-#1883 := (and #1401 #1878)
-#1351 := (and #77 #1348)
-#1354 := (not #1351)
-#1357 := (or #1342 #1354)
-#1360 := (forall (vars (?x30 T2) (?x31 T2)) #1357)
-#1363 := (not #1360)
-#1886 := (or #1363 #1883)
-#1889 := (and #1360 #1886)
-#454 := (and #78 #84)
-#460 := (not #454)
-#1329 := (or #460 #1322)
-#1334 := (forall (vars (?x28 T2) (?x29 T2)) #1329)
-#1337 := (not #1334)
-#1892 := (or #1337 #1889)
-#1895 := (and #1334 #1892)
-#1313 := (>= #69 0::int)
-#1314 := (forall (vars (?x27 T2)) #1313)
-#1317 := (not #1314)
-#1898 := (or #1317 #1895)
-#1901 := (and #1314 #1898)
-#80 := (uf_12 uf_11)
-#81 := (= #80 0::int)
-#1308 := (not #81)
-#1904 := (or #1308 #1901)
-#1907 := (and #81 #1904)
-#437 := (= uf_9 #69)
-#443 := (or #68 #437)
-#448 := (forall (vars (?x25 T2)) #443)
-#1277 := (not #448)
-#1268 := (not #79)
-#1930 := (or #1268 #1277 #1907 #1918)
-#1935 := (not #1930)
-#82 := (<= 0::int #69)
-#83 := (forall (vars (?x27 T2)) #82)
-#87 := (<= #86 #69)
-#85 := (and #84 #78)
-#88 := (implies #85 #87)
-#89 := (forall (vars (?x28 T2) (?x29 T2)) #88)
-#94 := (+ #69 #91)
-#95 := (<= #86 #94)
-#92 := (< #91 uf_9)
-#93 := (and #92 #77)
-#96 := (implies #93 #95)
-#97 := (forall (vars (?x30 T2) (?x31 T2)) #96)
-#101 := (< #69 #86)
-#102 := (and #77 #101)
-#100 := (= #86 #94)
-#103 := (and #100 #102)
-#104 := (exists (vars (?x33 T2)) #103)
-#98 := (< #69 uf_9)
-#99 := (and #98 #73)
-#105 := (implies #99 #104)
-#106 := (forall (vars (?x32 T2)) #105)
-#241 := (< #235 #238)
-#239 := (+ #235 #91)
-#240 := (= #238 #239)
-#242 := (and #240 #241)
-#243 := (exists (vars (?x65 T2)) #242)
-#236 := (< #235 uf_9)
-#237 := (and #236 #73)
-#244 := (implies #237 #243)
-#245 := (forall (vars (?x64 T2)) #244)
-#247 := (<= #238 #239)
-#246 := (and #92 #236)
-#248 := (implies #246 #247)
-#249 := (forall (vars (?x66 T2) (?x67 T2)) #248)
-#1 := true
-#252 := (implies #251 true)
-#253 := (and #252 #251)
-#254 := (implies #249 #253)
-#255 := (and #254 #249)
-#256 := (implies #245 #255)
-#257 := (and #256 #245)
-#258 := (implies true #257)
-#259 := (implies #234 #258)
-#231 := (= uf_22 uf_14)
-#260 := (implies #231 #259)
-#261 := (implies #229 #260)
-#226 := (= uf_19 uf_15)
-#262 := (implies #226 #261)
-#263 := (implies true #262)
-#264 := (implies true #263)
-#117 := (= #116 uf_8)
-#118 := (not #117)
-#129 := (< #110 uf_9)
-#138 := (and #129 #118)
-#139 := (exists (vars (?x41 T2)) #138)
-#224 := (not #139)
-#265 := (implies #224 #264)
-#266 := (implies true #265)
-#267 := (implies true #266)
-#166 := (<= #158 #110)
-#167 := (forall (vars (?x45 T2)) #166)
-#163 := (= #158 #110)
-#169 := (= #168 uf_8)
-#170 := (implies #169 #163)
-#171 := (forall (vars (?x46 T2)) #170)
-#174 := (<= 0::int #158)
-#175 := (forall (vars (?x47 T2)) #174)
-#181 := (<= #180 #158)
-#178 := (not #169)
-#177 := (= #176 uf_8)
-#179 := (and #177 #178)
-#182 := (implies #179 #181)
-#183 := (forall (vars (?x48 T2) (?x49 T2)) #182)
-#185 := (+ #158 #91)
-#186 := (<= #180 #185)
-#184 := (and #92 #169)
-#187 := (implies #184 #186)
-#188 := (forall (vars (?x50 T2) (?x51 T2)) #187)
-#192 := (< #158 #180)
-#193 := (and #169 #192)
-#191 := (= #180 #185)
-#194 := (and #191 #193)
-#195 := (exists (vars (?x53 T2)) #194)
-#189 := (< #158 uf_9)
-#190 := (and #189 #73)
-#196 := (implies #190 #195)
-#197 := (forall (vars (?x52 T2)) #196)
-#198 := (implies false true)
-#199 := (implies #197 #198)
-#200 := (and #199 #197)
-#201 := (implies #188 #200)
-#202 := (and #201 #188)
-#203 := (implies #183 #202)
-#204 := (and #203 #183)
-#205 := (implies #175 #204)
-#206 := (and #205 #175)
-#207 := (implies #173 #206)
-#208 := (and #207 #173)
-#209 := (implies true #208)
-#210 := (implies true #209)
-#211 := (implies #171 #210)
-#212 := (and #211 #171)
-#213 := (implies #167 #212)
-#214 := (and #213 #167)
-#156 := (< #153 uf_9)
-#154 := (+ #144 #153)
-#155 := (< #154 #110)
-#157 := (and #155 #156)
-#162 := (not #157)
-#164 := (implies #162 #163)
-#165 := (forall (vars (?x44 T2)) #164)
-#215 := (implies #165 #214)
-#159 := (= #158 #154)
-#160 := (implies #157 #159)
-#161 := (forall (vars (?x43 T2)) #160)
-#216 := (implies #161 #215)
-#217 := (implies #151 #216)
-#146 := (<= #144 #110)
-#147 := (implies #118 #146)
-#148 := (forall (vars (?x42 T2)) #147)
-#218 := (implies #148 #217)
-#145 := (< #144 uf_9)
-#219 := (implies #145 #218)
-#142 := (= #141 uf_8)
-#143 := (not #142)
-#220 := (implies #143 #219)
-#221 := (implies #139 #220)
-#222 := (implies true #221)
-#223 := (implies true #222)
-#268 := (and #223 #267)
-#269 := (implies true #268)
-#132 := (< #110 #120)
-#133 := (and #117 #132)
-#125 := (+ #110 #91)
-#131 := (= #120 #125)
-#134 := (and #131 #133)
-#135 := (exists (vars (?x40 T2)) #134)
-#130 := (and #129 #73)
-#136 := (implies #130 #135)
-#137 := (forall (vars (?x39 T2)) #136)
-#270 := (implies #137 #269)
-#126 := (<= #120 #125)
-#124 := (and #92 #117)
-#127 := (implies #124 #126)
-#128 := (forall (vars (?x37 T2) (?x38 T2)) #127)
-#271 := (implies #128 #270)
-#121 := (<= #120 #110)
-#115 := (= #114 uf_8)
-#119 := (and #115 #118)
-#122 := (implies #119 #121)
-#123 := (forall (vars (?x35 T2) (?x36 T2)) #122)
-#272 := (implies #123 #271)
-#111 := (<= 0::int #110)
-#112 := (forall (vars (?x34 T2)) #111)
-#273 := (implies #112 #272)
-#274 := (implies #109 #273)
-#275 := (implies true #274)
-#276 := (implies true #275)
-#277 := (implies #106 #276)
-#278 := (and #277 #106)
-#279 := (implies #97 #278)
-#280 := (and #279 #97)
-#281 := (implies #89 #280)
-#282 := (and #281 #89)
-#283 := (implies #83 #282)
-#284 := (and #283 #83)
-#285 := (implies #81 #284)
-#286 := (and #285 #81)
-#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)
-#1938 := (iff #293 #1935)
-#983 := (= 0::int #250)
-#939 := (+ #91 #235)
-#968 := (<= #238 #939)
-#974 := (not #246)
-#975 := (or #974 #968)
-#980 := (forall (vars (?x66 T2) (?x67 T2)) #975)
-#1003 := (not #980)
-#1004 := (or #1003 #983)
-#1012 := (and #980 #1004)
-#942 := (= #238 #939)
-#948 := (and #241 #942)
-#953 := (exists (vars (?x65 T2)) #948)
-#936 := (and #73 #236)
-#959 := (not #936)
-#960 := (or #959 #953)
-#965 := (forall (vars (?x64 T2)) #960)
-#1020 := (not #965)
-#1021 := (or #1020 #1012)
-#1029 := (and #965 #1021)
-#1045 := (or #1044 #1029)
-#1054 := (or #1053 #1045)
-#1063 := (or #1062 #1054)
-#1072 := (or #1071 #1063)
-#579 := (and #129 #508)
-#582 := (exists (vars (?x41 T2)) #579)
-#1091 := (or #582 #1072)
-#703 := (and #192 #630)
-#676 := (+ #91 #158)
-#697 := (= #180 #676)
-#708 := (and #697 #703)
-#711 := (exists (vars (?x53 T2)) #708)
-#694 := (and #73 #189)
-#717 := (not #694)
-#718 := (or #717 #711)
-#723 := (forall (vars (?x52 T2)) #718)
-#679 := (<= #180 #676)
-#673 := (and #92 #630)
-#685 := (not #673)
-#686 := (or #685 #679)
-#691 := (forall (vars (?x50 T2) (?x51 T2)) #686)
-#745 := (not #691)
-#746 := (or #745 #723)
-#754 := (and #691 #746)
-#665 := (or #181 #664)
-#670 := (forall (vars (?x48 T2) (?x49 T2)) #665)
-#762 := (not #670)
-#763 := (or #762 #754)
-#771 := (and #670 #763)
-#779 := (not #175)
-#780 := (or #779 #771)
-#788 := (and #175 #780)
-#645 := (= 0::int #172)
-#796 := (not #645)
-#797 := (or #796 #788)
-#805 := (and #645 #797)
-#825 := (or #824 #805)
-#833 := (and #642 #825)
-#841 := (not #167)
-#842 := (or #841 #833)
-#850 := (and #167 #842)
-#622 := (or #157 #616)
-#627 := (forall (vars (?x44 T2)) #622)
-#858 := (not #627)
-#859 := (or #858 #850)
-#602 := (= #154 #158)
-#608 := (or #162 #602)
-#613 := (forall (vars (?x43 T2)) #608)
-#867 := (not #613)
-#868 := (or #867 #859)
-#877 := (or #876 #868)
-#594 := (or #146 #505)
-#599 := (forall (vars (?x42 T2)) #594)
-#885 := (not #599)
-#886 := (or #885 #877)
-#894 := (not #145)
-#895 := (or #894 #886)
-#903 := (or #585 #895)
-#911 := (not #582)
-#912 := (or #911 #903)
-#1107 := (and #912 #1091)
-#556 := (and #132 #505)
-#529 := (+ #91 #110)
-#550 := (= #120 #529)
-#561 := (and #550 #556)
-#564 := (exists (vars (?x40 T2)) #561)
-#547 := (and #73 #129)
-#570 := (not #547)
-#571 := (or #570 #564)
-#576 := (forall (vars (?x39 T2)) #571)
-#1120 := (not #576)
-#1121 := (or #1120 #1107)
-#532 := (<= #120 #529)
-#526 := (and #92 #505)
-#538 := (not #526)
-#539 := (or #538 #532)
-#544 := (forall (vars (?x37 T2) (?x38 T2)) #539)
-#1129 := (not #544)
-#1130 := (or #1129 #1121)
-#518 := (or #121 #517)
-#523 := (forall (vars (?x35 T2) (?x36 T2)) #518)
-#1138 := (not #523)
-#1139 := (or #1138 #1130)
-#1147 := (not #112)
-#1148 := (or #1147 #1139)
-#499 := (= 0::int #108)
-#1156 := (not #499)
-#1157 := (or #1156 #1148)
-#484 := (and #73 #98)
-#490 := (not #484)
-#491 := (or #104 #490)
-#496 := (forall (vars (?x32 T2)) #491)
-#1176 := (not #496)
-#1177 := (or #1176 #1157)
-#1185 := (and #496 #1177)
-#469 := (and #77 #92)
-#475 := (not #469)
-#476 := (or #95 #475)
-#481 := (forall (vars (?x30 T2) (?x31 T2)) #476)
-#1193 := (not #481)
-#1194 := (or #1193 #1185)
-#1202 := (and #481 #1194)
-#461 := (or #87 #460)
-#466 := (forall (vars (?x28 T2) (?x29 T2)) #461)
-#1210 := (not #466)
-#1211 := (or #1210 #1202)
-#1219 := (and #466 #1211)
-#1227 := (not #83)
-#1228 := (or #1227 #1219)
-#1236 := (and #83 #1228)
-#451 := (= 0::int #80)
-#1244 := (not #451)
-#1245 := (or #1244 #1236)
-#1253 := (and #451 #1245)
-#1269 := (or #1268 #1253)
-#1278 := (or #1277 #1269)
-#423 := (= 0::int #69)
-#429 := (or #73 #423)
-#434 := (forall (vars (?x24 T2)) #429)
-#1286 := (not #434)
-#1287 := (or #1286 #1278)
-#1303 := (not #1287)
-#1936 := (iff #1303 #1935)
-#1933 := (iff #1287 #1930)
-#1921 := (or #1268 #1907)
-#1924 := (or #1277 #1921)
-#1927 := (or #1918 #1924)
-#1931 := (iff #1927 #1930)
-#1932 := [rewrite]: #1931
-#1928 := (iff #1287 #1927)
-#1925 := (iff #1278 #1924)
-#1922 := (iff #1269 #1921)
-#1908 := (iff #1253 #1907)
-#1905 := (iff #1245 #1904)
-#1902 := (iff #1236 #1901)
-#1899 := (iff #1228 #1898)
-#1896 := (iff #1219 #1895)
-#1893 := (iff #1211 #1892)
-#1890 := (iff #1202 #1889)
-#1887 := (iff #1194 #1886)
-#1884 := (iff #1185 #1883)
-#1881 := (iff #1177 #1878)
-#1860 := (or #1446 #1801)
-#1863 := (or #1824 #1860)
-#1866 := (or #1840 #1863)
-#1869 := (or #1849 #1866)
-#1872 := (or #1854 #1869)
-#1875 := (or #1857 #1872)
-#1879 := (iff #1875 #1878)
-#1880 := [rewrite]: #1879
-#1876 := (iff #1177 #1875)
-#1873 := (iff #1157 #1872)
-#1870 := (iff #1148 #1869)
-#1867 := (iff #1139 #1866)
-#1864 := (iff #1130 #1863)
-#1861 := (iff #1121 #1860)
-#1802 := (iff #1107 #1801)
-#1799 := (iff #1091 #1796)
-#1781 := (or #1044 #1778)
-#1784 := (or #1053 #1781)
-#1787 := (or #1062 #1784)
-#1790 := (or #1071 #1787)
-#1793 := (or #1675 #1790)
-#1797 := (iff #1793 #1796)
-#1798 := [rewrite]: #1797
-#1794 := (iff #1091 #1793)
-#1791 := (iff #1072 #1790)
-#1788 := (iff #1063 #1787)
-#1785 := (iff #1054 #1784)
-#1782 := (iff #1045 #1781)
-#1779 := (iff #1029 #1778)
-#1776 := (iff #1021 #1775)
-#1773 := (iff #1012 #1772)
-#1770 := (iff #1004 #1767)
-#1764 := (or #1759 #251)
-#1768 := (iff #1764 #1767)
-#1769 := [rewrite]: #1768
-#1765 := (iff #1004 #1764)
-#1762 := (iff #983 #251)
-#1763 := [rewrite]: #1762
-#1760 := (iff #1003 #1759)
-#1757 := (iff #980 #1756)
-#1754 := (iff #975 #1753)
-#1751 := (iff #968 #1750)
-#1752 := [rewrite]: #1751
-#1748 := (iff #974 #1747)
-#1745 := (iff #246 #1744)
-#1711 := (iff #236 #1710)
-#1712 := [rewrite]: #1711
-#1349 := (iff #92 #1348)
-#1350 := [rewrite]: #1349
-#1746 := [monotonicity #1350 #1712]: #1745
-#1749 := [monotonicity #1746]: #1748
-#1755 := [monotonicity #1749 #1752]: #1754
-#1758 := [quant-intro #1755]: #1757
-#1761 := [monotonicity #1758]: #1760
-#1766 := [monotonicity #1761 #1763]: #1765
-#1771 := [trans #1766 #1769]: #1770
-#1774 := [monotonicity #1758 #1771]: #1773
-#1742 := (iff #1020 #1741)
-#1739 := (iff #965 #1738)
-#1736 := (iff #960 #1735)
-#1733 := (iff #953 #1732)
-#1730 := (iff #948 #1729)
-#1726 := (iff #942 #1725)
-#1728 := [rewrite]: #1726
-#1723 := (iff #241 #1722)
-#1724 := [rewrite]: #1723
-#1731 := [monotonicity #1724 #1728]: #1730
-#1734 := [quant-intro #1731]: #1733
-#1717 := (iff #959 #1716)
-#1714 := (iff #936 #1713)
-#1715 := [monotonicity #1712]: #1714
-#1718 := [monotonicity #1715]: #1717
-#1737 := [monotonicity #1718 #1734]: #1736
-#1740 := [quant-intro #1737]: #1739
-#1743 := [monotonicity #1740]: #1742
-#1777 := [monotonicity #1743 #1774]: #1776
-#1780 := [monotonicity #1740 #1777]: #1779
-#1783 := [monotonicity #1780]: #1782
-#1786 := [monotonicity #1783]: #1785
-#1789 := [monotonicity #1786]: #1788
-#1792 := [monotonicity #1789]: #1791
-#1676 := (iff #582 #1675)
-#1673 := (iff #579 #1670)
-#1667 := (and #1407 #508)
-#1671 := (iff #1667 #1670)
-#1672 := [rewrite]: #1671
-#1668 := (iff #579 #1667)
-#1408 := (iff #129 #1407)
-#1409 := [rewrite]: #1408
-#1669 := [monotonicity #1409]: #1668
-#1674 := [trans #1669 #1672]: #1673
-#1677 := [quant-intro #1674]: #1676
-#1795 := [monotonicity #1677 #1792]: #1794
-#1800 := [trans #1795 #1798]: #1799
-#1705 := (iff #912 #1702)
-#1681 := (or #1476 #1617)
-#1684 := (or #1634 #1681)
-#1687 := (or #876 #1684)
-#1690 := (or #1652 #1687)
-#1693 := (or #1656 #1690)
-#1696 := (or #585 #1693)
-#1699 := (or #1678 #1696)
-#1703 := (iff #1699 #1702)
-#1704 := [rewrite]: #1703
-#1700 := (iff #912 #1699)
-#1697 := (iff #903 #1696)
-#1694 := (iff #895 #1693)
-#1691 := (iff #886 #1690)
-#1688 := (iff #877 #1687)
-#1685 := (iff #868 #1684)
-#1682 := (iff #859 #1681)
-#1618 := (iff #850 #1617)
-#1615 := (iff #842 #1614)
-#1612 := (iff #833 #1611)
-#1609 := (iff #825 #1608)
-#1606 := (iff #805 #1605)
-#1603 := (iff #797 #1602)
-#1600 := (iff #788 #1599)
-#1597 := (iff #780 #1596)
-#1594 := (iff #771 #1593)
-#1591 := (iff #763 #1590)
-#1588 := (iff #754 #1587)
-#1585 := (iff #746 #1584)
-#1582 := (iff #723 #1581)
-#1579 := (iff #718 #1578)
-#1576 := (iff #711 #1575)
-#1573 := (iff #708 #1570)
-#1564 := (and #1558 #630)
-#1567 := (and #1561 #1564)
-#1571 := (iff #1567 #1570)
-#1572 := [rewrite]: #1571
-#1568 := (iff #708 #1567)
-#1565 := (iff #703 #1564)
-#1559 := (iff #192 #1558)
-#1560 := [rewrite]: #1559
-#1566 := [monotonicity #1560]: #1565
-#1562 := (iff #697 #1561)
-#1563 := [rewrite]: #1562
-#1569 := [monotonicity #1563 #1566]: #1568
-#1574 := [trans #1569 #1572]: #1573
-#1577 := [quant-intro #1574]: #1576
-#1556 := (iff #717 #1555)
-#1553 := (iff #694 #1552)
-#1550 := (iff #189 #1549)
-#1551 := [rewrite]: #1550
-#1554 := [monotonicity #1551]: #1553
-#1557 := [monotonicity #1554]: #1556
-#1580 := [monotonicity #1557 #1577]: #1579
-#1583 := [quant-intro #1580]: #1582
-#1545 := (iff #745 #1544)
-#1542 := (iff #691 #1541)
-#1539 := (iff #686 #1538)
-#1535 := (iff #679 #1534)
-#1537 := [rewrite]: #1535
-#1532 := (iff #685 #1531)
-#1529 := (iff #673 #1526)
-#1523 := (and #1348 #630)
-#1527 := (iff #1523 #1526)
-#1528 := [rewrite]: #1527
-#1524 := (iff #673 #1523)
-#1525 := [monotonicity #1350]: #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 #762 #1520)
-#1518 := (iff #670 #1517)
-#1515 := (iff #665 #1512)
-#1509 := (or #1504 #664)
-#1513 := (iff #1509 #1512)
-#1514 := [rewrite]: #1513
-#1510 := (iff #665 #1509)
-#1507 := (iff #181 #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 #779 #1501)
-#1499 := (iff #175 #1498)
-#1496 := (iff #174 #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 #796 #1492)
-#1490 := (iff #645 #173)
-#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 #841 #1487)
-#1485 := (iff #167 #1484)
-#1482 := (iff #166 #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 #858 #1476)
-#1474 := (iff #627 #1473)
-#1471 := (iff #622 #1468)
-#1465 := (or #1462 #616)
-#1469 := (iff #1465 #1468)
-#1470 := [rewrite]: #1469
-#1466 := (iff #622 #1465)
-#1463 := (iff #157 #1462)
-#1460 := (iff #156 #1459)
-#1461 := [rewrite]: #1460
-#1455 := (iff #155 #1454)
-#1456 := [rewrite]: #1455
-#1464 := [monotonicity #1456 #1461]: #1463
-#1467 := [monotonicity #1464]: #1466
-#1472 := [trans #1467 #1470]: #1471
-#1475 := [quant-intro #1472]: #1474
-#1478 := [monotonicity #1475]: #1477
-#1683 := [monotonicity #1478 #1619]: #1682
-#1635 := (iff #867 #1634)
-#1632 := (iff #613 #1631)
-#1629 := (iff #608 #1628)
-#1626 := (iff #602 #1625)
-#1627 := [rewrite]: #1626
-#1621 := (iff #162 #1620)
-#1622 := [monotonicity #1464]: #1621
-#1630 := [monotonicity #1622 #1627]: #1629
-#1633 := [quant-intro #1630]: #1632
-#1636 := [monotonicity #1633]: #1635
-#1686 := [monotonicity #1636 #1683]: #1685
-#1689 := [monotonicity #1686]: #1688
-#1653 := (iff #885 #1652)
-#1650 := (iff #599 #1649)
-#1647 := (iff #594 #1644)
-#1641 := (or #1637 #505)
-#1645 := (iff #1641 #1644)
-#1646 := [rewrite]: #1645
-#1642 := (iff #594 #1641)
-#1639 := (iff #146 #1637)
-#1640 := [rewrite]: #1639
-#1643 := [monotonicity #1640]: #1642
-#1648 := [trans #1643 #1646]: #1647
-#1651 := [quant-intro #1648]: #1650
-#1654 := [monotonicity #1651]: #1653
-#1692 := [monotonicity #1654 #1689]: #1691
-#1665 := (iff #894 #1656)
-#1657 := (not #1656)
-#1660 := (not #1657)
-#1663 := (iff #1660 #1656)
-#1664 := [rewrite]: #1663
-#1661 := (iff #894 #1660)
-#1658 := (iff #145 #1657)
-#1659 := [rewrite]: #1658
-#1662 := [monotonicity #1659]: #1661
-#1666 := [trans #1662 #1664]: #1665
-#1695 := [monotonicity #1666 #1692]: #1694
-#1698 := [monotonicity #1695]: #1697
-#1679 := (iff #911 #1678)
-#1680 := [monotonicity #1677]: #1679
-#1701 := [monotonicity #1680 #1698]: #1700
-#1706 := [trans #1701 #1704]: #1705
-#1803 := [monotonicity #1706 #1800]: #1802
-#1447 := (iff #1120 #1446)
-#1444 := (iff #576 #1443)
-#1441 := (iff #571 #1440)
-#1438 := (iff #564 #1437)
-#1435 := (iff #561 #1432)
-#1426 := (and #1419 #505)
-#1429 := (and #1422 #1426)
-#1433 := (iff #1429 #1432)
-#1434 := [rewrite]: #1433
-#1430 := (iff #561 #1429)
-#1427 := (iff #556 #1426)
-#1420 := (iff #132 #1419)
-#1421 := [rewrite]: #1420
-#1428 := [monotonicity #1421]: #1427
-#1423 := (iff #550 #1422)
-#1425 := [rewrite]: #1423
-#1431 := [monotonicity #1425 #1428]: #1430
-#1436 := [trans #1431 #1434]: #1435
-#1439 := [quant-intro #1436]: #1438
-#1414 := (iff #570 #1413)
-#1411 := (iff #547 #1410)
-#1412 := [monotonicity #1409]: #1411
-#1415 := [monotonicity #1412]: #1414
-#1442 := [monotonicity #1415 #1439]: #1441
-#1445 := [quant-intro #1442]: #1444
-#1448 := [monotonicity #1445]: #1447
-#1862 := [monotonicity #1448 #1803]: #1861
-#1825 := (iff #1129 #1824)
-#1822 := (iff #544 #1821)
-#1819 := (iff #539 #1818)
-#1816 := (iff #532 #1815)
-#1817 := [rewrite]: #1816
-#1813 := (iff #538 #1812)
-#1810 := (iff #526 #1807)
-#1804 := (and #1348 #505)
-#1808 := (iff #1804 #1807)
-#1809 := [rewrite]: #1808
-#1805 := (iff #526 #1804)
-#1806 := [monotonicity #1350]: #1805
-#1811 := [trans #1806 #1809]: #1810
-#1814 := [monotonicity #1811]: #1813
-#1820 := [monotonicity #1814 #1817]: #1819
-#1823 := [quant-intro #1820]: #1822
-#1826 := [monotonicity #1823]: #1825
-#1865 := [monotonicity #1826 #1862]: #1864
-#1841 := (iff #1138 #1840)
-#1838 := (iff #523 #1837)
-#1835 := (iff #518 #1832)
-#1829 := (or #1416 #517)
-#1833 := (iff #1829 #1832)
-#1834 := [rewrite]: #1833
-#1830 := (iff #518 #1829)
-#1827 := (iff #121 #1416)
-#1828 := [rewrite]: #1827
-#1831 := [monotonicity #1828]: #1830
-#1836 := [trans #1831 #1834]: #1835
-#1839 := [quant-intro #1836]: #1838
-#1842 := [monotonicity #1839]: #1841
-#1868 := [monotonicity #1842 #1865]: #1867
-#1850 := (iff #1147 #1849)
-#1847 := (iff #112 #1846)
-#1844 := (iff #111 #1843)
-#1845 := [rewrite]: #1844
-#1848 := [quant-intro #1845]: #1847
-#1851 := [monotonicity #1848]: #1850
-#1871 := [monotonicity #1851 #1868]: #1870
-#1855 := (iff #1156 #1854)
-#1852 := (iff #499 #109)
-#1853 := [rewrite]: #1852
-#1856 := [monotonicity #1853]: #1855
-#1874 := [monotonicity #1856 #1871]: #1873
-#1858 := (iff #1176 #1857)
-#1402 := (iff #496 #1401)
-#1399 := (iff #491 #1398)
-#1396 := (iff #490 #1395)
-#1393 := (iff #484 #1392)
-#1390 := (iff #98 #1389)
-#1391 := [rewrite]: #1390
-#1394 := [monotonicity #1391]: #1393
-#1397 := [monotonicity #1394]: #1396
-#1384 := (iff #104 #1383)
-#1381 := (iff #103 #1378)
-#1372 := (and #77 #1366)
-#1375 := (and #1370 #1372)
-#1379 := (iff #1375 #1378)
-#1380 := [rewrite]: #1379
-#1376 := (iff #103 #1375)
-#1373 := (iff #102 #1372)
-#1367 := (iff #101 #1366)
-#1368 := [rewrite]: #1367
-#1374 := [monotonicity #1368]: #1373
-#1369 := (iff #100 #1370)
-#1371 := [rewrite]: #1369
-#1377 := [monotonicity #1371 #1374]: #1376
-#1382 := [trans #1377 #1380]: #1381
-#1385 := [quant-intro #1382]: #1384
-#1400 := [monotonicity #1385 #1397]: #1399
-#1403 := [quant-intro #1400]: #1402
-#1859 := [monotonicity #1403]: #1858
-#1877 := [monotonicity #1859 #1874]: #1876
-#1882 := [trans #1877 #1880]: #1881
-#1885 := [monotonicity #1403 #1882]: #1884
-#1364 := (iff #1193 #1363)
-#1361 := (iff #481 #1360)
-#1358 := (iff #476 #1357)
-#1355 := (iff #475 #1354)
-#1352 := (iff #469 #1351)
-#1353 := [monotonicity #1350]: #1352
-#1356 := [monotonicity #1353]: #1355
-#1341 := (iff #95 #1342)
-#1340 := [rewrite]: #1341
-#1359 := [monotonicity #1340 #1356]: #1358
-#1362 := [quant-intro #1359]: #1361
-#1365 := [monotonicity #1362]: #1364
-#1888 := [monotonicity #1365 #1885]: #1887
-#1891 := [monotonicity #1362 #1888]: #1890
-#1338 := (iff #1210 #1337)
-#1335 := (iff #466 #1334)
-#1332 := (iff #461 #1329)
-#1326 := (or #1322 #460)
-#1330 := (iff #1326 #1329)
-#1331 := [rewrite]: #1330
-#1327 := (iff #461 #1326)
-#1321 := (iff #87 #1322)
-#1325 := [rewrite]: #1321
-#1328 := [monotonicity #1325]: #1327
-#1333 := [trans #1328 #1331]: #1332
-#1336 := [quant-intro #1333]: #1335
-#1339 := [monotonicity #1336]: #1338
-#1894 := [monotonicity #1339 #1891]: #1893
-#1897 := [monotonicity #1336 #1894]: #1896
-#1318 := (iff #1227 #1317)
-#1315 := (iff #83 #1314)
-#1311 := (iff #82 #1313)
-#1312 := [rewrite]: #1311
-#1316 := [quant-intro #1312]: #1315
-#1319 := [monotonicity #1316]: #1318
-#1900 := [monotonicity #1319 #1897]: #1899
-#1903 := [monotonicity #1316 #1900]: #1902
-#1309 := (iff #1244 #1308)
-#1306 := (iff #451 #81)
-#1307 := [rewrite]: #1306
-#1310 := [monotonicity #1307]: #1309
-#1906 := [monotonicity #1310 #1903]: #1905
-#1909 := [monotonicity #1307 #1906]: #1908
-#1923 := [monotonicity #1909]: #1922
-#1926 := [monotonicity #1923]: #1925
-#1919 := (iff #1286 #1918)
-#1916 := (iff #434 #1915)
-#1913 := (iff #429 #1912)
-#1910 := (iff #423 #70)
-#1911 := [rewrite]: #1910
-#1914 := [monotonicity #1911]: #1913
-#1917 := [quant-intro #1914]: #1916
-#1920 := [monotonicity #1917]: #1919
-#1929 := [monotonicity #1920 #1926]: #1928
-#1934 := [trans #1929 #1932]: #1933
-#1937 := [monotonicity #1934]: #1936
-#1304 := (iff #293 #1303)
-#1301 := (iff #292 #1287)
-#1292 := (implies true #1287)
-#1295 := (iff #1292 #1287)
-#1296 := [rewrite]: #1295
-#1299 := (iff #292 #1292)
-#1297 := (iff #291 #1287)
-#1293 := (iff #291 #1292)
-#1290 := (iff #290 #1287)
-#1283 := (implies #434 #1278)
-#1288 := (iff #1283 #1287)
-#1289 := [rewrite]: #1288
-#1284 := (iff #290 #1283)
-#1281 := (iff #289 #1278)
-#1274 := (implies #448 #1269)
-#1279 := (iff #1274 #1278)
-#1280 := [rewrite]: #1279
-#1275 := (iff #289 #1274)
-#1272 := (iff #288 #1269)
-#1265 := (implies #79 #1253)
-#1270 := (iff #1265 #1269)
-#1271 := [rewrite]: #1270
-#1266 := (iff #288 #1265)
-#1263 := (iff #287 #1253)
-#1258 := (implies true #1253)
-#1261 := (iff #1258 #1253)
-#1262 := [rewrite]: #1261
-#1259 := (iff #287 #1258)
-#1256 := (iff #286 #1253)
-#1250 := (and #1245 #451)
-#1254 := (iff #1250 #1253)
-#1255 := [rewrite]: #1254
-#1251 := (iff #286 #1250)
-#452 := (iff #81 #451)
-#453 := [rewrite]: #452
-#1248 := (iff #285 #1245)
-#1241 := (implies #451 #1236)
-#1246 := (iff #1241 #1245)
-#1247 := [rewrite]: #1246
-#1242 := (iff #285 #1241)
-#1239 := (iff #284 #1236)
-#1233 := (and #1228 #83)
-#1237 := (iff #1233 #1236)
-#1238 := [rewrite]: #1237
-#1234 := (iff #284 #1233)
-#1231 := (iff #283 #1228)
-#1224 := (implies #83 #1219)
-#1229 := (iff #1224 #1228)
-#1230 := [rewrite]: #1229
-#1225 := (iff #283 #1224)
-#1222 := (iff #282 #1219)
-#1216 := (and #1211 #466)
-#1220 := (iff #1216 #1219)
-#1221 := [rewrite]: #1220
-#1217 := (iff #282 #1216)
-#467 := (iff #89 #466)
-#464 := (iff #88 #461)
-#457 := (implies #454 #87)
-#462 := (iff #457 #461)
-#463 := [rewrite]: #462
-#458 := (iff #88 #457)
-#455 := (iff #85 #454)
-#456 := [rewrite]: #455
-#459 := [monotonicity #456]: #458
-#465 := [trans #459 #463]: #464
-#468 := [quant-intro #465]: #467
-#1214 := (iff #281 #1211)
-#1207 := (implies #466 #1202)
-#1212 := (iff #1207 #1211)
-#1213 := [rewrite]: #1212
-#1208 := (iff #281 #1207)
-#1205 := (iff #280 #1202)
-#1199 := (and #1194 #481)
-#1203 := (iff #1199 #1202)
-#1204 := [rewrite]: #1203
-#1200 := (iff #280 #1199)
-#482 := (iff #97 #481)
-#479 := (iff #96 #476)
-#472 := (implies #469 #95)
-#477 := (iff #472 #476)
-#478 := [rewrite]: #477
-#473 := (iff #96 #472)
-#470 := (iff #93 #469)
-#471 := [rewrite]: #470
-#474 := [monotonicity #471]: #473
-#480 := [trans #474 #478]: #479
-#483 := [quant-intro #480]: #482
-#1197 := (iff #279 #1194)
-#1190 := (implies #481 #1185)
-#1195 := (iff #1190 #1194)
-#1196 := [rewrite]: #1195
-#1191 := (iff #279 #1190)
-#1188 := (iff #278 #1185)
-#1182 := (and #1177 #496)
-#1186 := (iff #1182 #1185)
-#1187 := [rewrite]: #1186
-#1183 := (iff #278 #1182)
-#497 := (iff #106 #496)
-#494 := (iff #105 #491)
-#487 := (implies #484 #104)
-#492 := (iff #487 #491)
-#493 := [rewrite]: #492
-#488 := (iff #105 #487)
-#485 := (iff #99 #484)
-#486 := [rewrite]: #485
-#489 := [monotonicity #486]: #488
-#495 := [trans #489 #493]: #494
-#498 := [quant-intro #495]: #497
-#1180 := (iff #277 #1177)
-#1173 := (implies #496 #1157)
-#1178 := (iff #1173 #1177)
-#1179 := [rewrite]: #1178
-#1174 := (iff #277 #1173)
-#1171 := (iff #276 #1157)
-#1162 := (implies true #1157)
-#1165 := (iff #1162 #1157)
-#1166 := [rewrite]: #1165
-#1169 := (iff #276 #1162)
-#1167 := (iff #275 #1157)
-#1163 := (iff #275 #1162)
-#1160 := (iff #274 #1157)
-#1153 := (implies #499 #1148)
-#1158 := (iff #1153 #1157)
-#1159 := [rewrite]: #1158
-#1154 := (iff #274 #1153)
-#1151 := (iff #273 #1148)
-#1144 := (implies #112 #1139)
-#1149 := (iff #1144 #1148)
-#1150 := [rewrite]: #1149
-#1145 := (iff #273 #1144)
-#1142 := (iff #272 #1139)
-#1135 := (implies #523 #1130)
-#1140 := (iff #1135 #1139)
-#1141 := [rewrite]: #1140
-#1136 := (iff #272 #1135)
-#1133 := (iff #271 #1130)
-#1126 := (implies #544 #1121)
-#1131 := (iff #1126 #1130)
-#1132 := [rewrite]: #1131
-#1127 := (iff #271 #1126)
-#1124 := (iff #270 #1121)
-#1117 := (implies #576 #1107)
-#1122 := (iff #1117 #1121)
-#1123 := [rewrite]: #1122
-#1118 := (iff #270 #1117)
-#1115 := (iff #269 #1107)
-#1110 := (implies true #1107)
-#1113 := (iff #1110 #1107)
-#1114 := [rewrite]: #1113
-#1111 := (iff #269 #1110)
-#1108 := (iff #268 #1107)
-#1105 := (iff #267 #1091)
-#1096 := (implies true #1091)
-#1099 := (iff #1096 #1091)
-#1100 := [rewrite]: #1099
-#1103 := (iff #267 #1096)
-#1101 := (iff #266 #1091)
-#1097 := (iff #266 #1096)
-#1094 := (iff #265 #1091)
-#1088 := (implies #911 #1072)
-#1092 := (iff #1088 #1091)
-#1093 := [rewrite]: #1092
-#1089 := (iff #265 #1088)
-#1086 := (iff #264 #1072)
-#1077 := (implies true #1072)
-#1080 := (iff #1077 #1072)
-#1081 := [rewrite]: #1080
-#1084 := (iff #264 #1077)
-#1082 := (iff #263 #1072)
-#1078 := (iff #263 #1077)
-#1075 := (iff #262 #1072)
-#1068 := (implies #930 #1063)
-#1073 := (iff #1068 #1072)
-#1074 := [rewrite]: #1073
-#1069 := (iff #262 #1068)
-#1066 := (iff #261 #1063)
-#1059 := (implies #229 #1054)
-#1064 := (iff #1059 #1063)
-#1065 := [rewrite]: #1064
-#1060 := (iff #261 #1059)
-#1057 := (iff #260 #1054)
-#1050 := (implies #933 #1045)
-#1055 := (iff #1050 #1054)
-#1056 := [rewrite]: #1055
-#1051 := (iff #260 #1050)
-#1048 := (iff #259 #1045)
-#1041 := (implies #234 #1029)
-#1046 := (iff #1041 #1045)
-#1047 := [rewrite]: #1046
-#1042 := (iff #259 #1041)
-#1039 := (iff #258 #1029)
-#1034 := (implies true #1029)
-#1037 := (iff #1034 #1029)
-#1038 := [rewrite]: #1037
-#1035 := (iff #258 #1034)
-#1032 := (iff #257 #1029)
-#1026 := (and #1021 #965)
-#1030 := (iff #1026 #1029)
-#1031 := [rewrite]: #1030
-#1027 := (iff #257 #1026)
-#966 := (iff #245 #965)
-#963 := (iff #244 #960)
-#956 := (implies #936 #953)
-#961 := (iff #956 #960)
-#962 := [rewrite]: #961
-#957 := (iff #244 #956)
-#954 := (iff #243 #953)
-#951 := (iff #242 #948)
-#945 := (and #942 #241)
-#949 := (iff #945 #948)
-#950 := [rewrite]: #949
-#946 := (iff #242 #945)
-#943 := (iff #240 #942)
-#940 := (= #239 #939)
-#941 := [rewrite]: #940
-#944 := [monotonicity #941]: #943
-#947 := [monotonicity #944]: #946
-#952 := [trans #947 #950]: #951
-#955 := [quant-intro #952]: #954
-#937 := (iff #237 #936)
-#938 := [rewrite]: #937
-#958 := [monotonicity #938 #955]: #957
-#964 := [trans #958 #962]: #963
-#967 := [quant-intro #964]: #966
-#1024 := (iff #256 #1021)
-#1017 := (implies #965 #1012)
-#1022 := (iff #1017 #1021)
-#1023 := [rewrite]: #1022
-#1018 := (iff #256 #1017)
-#1015 := (iff #255 #1012)
-#1009 := (and #1004 #980)
-#1013 := (iff #1009 #1012)
-#1014 := [rewrite]: #1013
-#1010 := (iff #255 #1009)
-#981 := (iff #249 #980)
-#978 := (iff #248 #975)
-#971 := (implies #246 #968)
-#976 := (iff #971 #975)
-#977 := [rewrite]: #976
-#972 := (iff #248 #971)
-#969 := (iff #247 #968)
-#970 := [monotonicity #941]: #969
-#973 := [monotonicity #970]: #972
-#979 := [trans #973 #977]: #978
-#982 := [quant-intro #979]: #981
-#1007 := (iff #254 #1004)
-#1000 := (implies #980 #983)
-#1005 := (iff #1000 #1004)
-#1006 := [rewrite]: #1005
-#1001 := (iff #254 #1000)
-#998 := (iff #253 #983)
-#993 := (and true #983)
-#996 := (iff #993 #983)
-#997 := [rewrite]: #996
-#994 := (iff #253 #993)
-#984 := (iff #251 #983)
-#985 := [rewrite]: #984
-#991 := (iff #252 true)
-#986 := (implies #983 true)
-#989 := (iff #986 true)
-#990 := [rewrite]: #989
-#987 := (iff #252 #986)
-#988 := [monotonicity #985]: #987
-#992 := [trans #988 #990]: #991
-#995 := [monotonicity #992 #985]: #994
-#999 := [trans #995 #997]: #998
-#1002 := [monotonicity #982 #999]: #1001
-#1008 := [trans #1002 #1006]: #1007
-#1011 := [monotonicity #1008 #982]: #1010
-#1016 := [trans #1011 #1014]: #1015
-#1019 := [monotonicity #967 #1016]: #1018
-#1025 := [trans #1019 #1023]: #1024
-#1028 := [monotonicity #1025 #967]: #1027
-#1033 := [trans #1028 #1031]: #1032
-#1036 := [monotonicity #1033]: #1035
-#1040 := [trans #1036 #1038]: #1039
-#1043 := [monotonicity #1040]: #1042
-#1049 := [trans #1043 #1047]: #1048
-#934 := (iff #231 #933)
-#935 := [rewrite]: #934
-#1052 := [monotonicity #935 #1049]: #1051
-#1058 := [trans #1052 #1056]: #1057
-#1061 := [monotonicity #1058]: #1060
-#1067 := [trans #1061 #1065]: #1066
-#931 := (iff #226 #930)
-#932 := [rewrite]: #931
-#1070 := [monotonicity #932 #1067]: #1069
-#1076 := [trans #1070 #1074]: #1075
-#1079 := [monotonicity #1076]: #1078
-#1083 := [trans #1079 #1081]: #1082
-#1085 := [monotonicity #1083]: #1084
-#1087 := [trans #1085 #1081]: #1086
-#928 := (iff #224 #911)
-#583 := (iff #139 #582)
-#580 := (iff #138 #579)
-#509 := (iff #118 #508)
-#506 := (iff #117 #505)
-#507 := [rewrite]: #506
-#510 := [monotonicity #507]: #509
-#581 := [monotonicity #510]: #580
-#584 := [quant-intro #581]: #583
-#929 := [monotonicity #584]: #928
-#1090 := [monotonicity #929 #1087]: #1089
-#1095 := [trans #1090 #1093]: #1094
-#1098 := [monotonicity #1095]: #1097
-#1102 := [trans #1098 #1100]: #1101
-#1104 := [monotonicity #1102]: #1103
-#1106 := [trans #1104 #1100]: #1105
-#926 := (iff #223 #912)
-#917 := (implies true #912)
-#920 := (iff #917 #912)
-#921 := [rewrite]: #920
-#924 := (iff #223 #917)
-#922 := (iff #222 #912)
-#918 := (iff #222 #917)
-#915 := (iff #221 #912)
-#908 := (implies #582 #903)
-#913 := (iff #908 #912)
-#914 := [rewrite]: #913
-#909 := (iff #221 #908)
-#906 := (iff #220 #903)
-#588 := (not #585)
-#900 := (implies #588 #895)
-#904 := (iff #900 #903)
-#905 := [rewrite]: #904
-#901 := (iff #220 #900)
-#898 := (iff #219 #895)
-#891 := (implies #145 #886)
-#896 := (iff #891 #895)
-#897 := [rewrite]: #896
-#892 := (iff #219 #891)
-#889 := (iff #218 #886)
-#882 := (implies #599 #877)
-#887 := (iff #882 #886)
-#888 := [rewrite]: #887
-#883 := (iff #218 #882)
-#880 := (iff #217 #877)
-#873 := (implies #151 #868)
-#878 := (iff #873 #877)
-#879 := [rewrite]: #878
-#874 := (iff #217 #873)
-#871 := (iff #216 #868)
-#864 := (implies #613 #859)
-#869 := (iff #864 #868)
-#870 := [rewrite]: #869
-#865 := (iff #216 #864)
-#862 := (iff #215 #859)
-#855 := (implies #627 #850)
-#860 := (iff #855 #859)
-#861 := [rewrite]: #860
-#856 := (iff #215 #855)
-#853 := (iff #214 #850)
-#847 := (and #842 #167)
-#851 := (iff #847 #850)
-#852 := [rewrite]: #851
-#848 := (iff #214 #847)
-#845 := (iff #213 #842)
-#838 := (implies #167 #833)
-#843 := (iff #838 #842)
-#844 := [rewrite]: #843
-#839 := (iff #213 #838)
-#836 := (iff #212 #833)
-#830 := (and #825 #642)
-#834 := (iff #830 #833)
-#835 := [rewrite]: #834
-#831 := (iff #212 #830)
-#643 := (iff #171 #642)
-#640 := (iff #170 #637)
-#633 := (implies #630 #616)
-#638 := (iff #633 #637)
-#639 := [rewrite]: #638
-#634 := (iff #170 #633)
-#617 := (iff #163 #616)
-#618 := [rewrite]: #617
-#631 := (iff #169 #630)
-#632 := [rewrite]: #631
-#635 := [monotonicity #632 #618]: #634
-#641 := [trans #635 #639]: #640
-#644 := [quant-intro #641]: #643
-#828 := (iff #211 #825)
-#821 := (implies #642 #805)
-#826 := (iff #821 #825)
-#827 := [rewrite]: #826
-#822 := (iff #211 #821)
-#819 := (iff #210 #805)
-#810 := (implies true #805)
-#813 := (iff #810 #805)
-#814 := [rewrite]: #813
-#817 := (iff #210 #810)
-#815 := (iff #209 #805)
-#811 := (iff #209 #810)
-#808 := (iff #208 #805)
-#802 := (and #797 #645)
-#806 := (iff #802 #805)
-#807 := [rewrite]: #806
-#803 := (iff #208 #802)
-#646 := (iff #173 #645)
-#647 := [rewrite]: #646
-#800 := (iff #207 #797)
-#793 := (implies #645 #788)
-#798 := (iff #793 #797)
-#799 := [rewrite]: #798
-#794 := (iff #207 #793)
-#791 := (iff #206 #788)
-#785 := (and #780 #175)
-#789 := (iff #785 #788)
-#790 := [rewrite]: #789
-#786 := (iff #206 #785)
-#783 := (iff #205 #780)
-#776 := (implies #175 #771)
-#781 := (iff #776 #780)
-#782 := [rewrite]: #781
-#777 := (iff #205 #776)
-#774 := (iff #204 #771)
-#768 := (and #763 #670)
-#772 := (iff #768 #771)
-#773 := [rewrite]: #772
-#769 := (iff #204 #768)
-#671 := (iff #183 #670)
-#668 := (iff #182 #665)
-#661 := (implies #656 #181)
-#666 := (iff #661 #665)
-#667 := [rewrite]: #666
-#662 := (iff #182 #661)
-#659 := (iff #179 #656)
-#653 := (and #648 #636)
-#657 := (iff #653 #656)
-#658 := [rewrite]: #657
-#654 := (iff #179 #653)
-#651 := (iff #178 #636)
-#652 := [monotonicity #632]: #651
-#649 := (iff #177 #648)
-#650 := [rewrite]: #649
-#655 := [monotonicity #650 #652]: #654
-#660 := [trans #655 #658]: #659
-#663 := [monotonicity #660]: #662
-#669 := [trans #663 #667]: #668
-#672 := [quant-intro #669]: #671
-#766 := (iff #203 #763)
-#759 := (implies #670 #754)
-#764 := (iff #759 #763)
-#765 := [rewrite]: #764
-#760 := (iff #203 #759)
-#757 := (iff #202 #754)
-#751 := (and #746 #691)
-#755 := (iff #751 #754)
-#756 := [rewrite]: #755
-#752 := (iff #202 #751)
-#692 := (iff #188 #691)
-#689 := (iff #187 #686)
-#682 := (implies #673 #679)
-#687 := (iff #682 #686)
-#688 := [rewrite]: #687
-#683 := (iff #187 #682)
-#680 := (iff #186 #679)
-#677 := (= #185 #676)
-#678 := [rewrite]: #677
-#681 := [monotonicity #678]: #680
-#674 := (iff #184 #673)
-#675 := [monotonicity #632]: #674
-#684 := [monotonicity #675 #681]: #683
-#690 := [trans #684 #688]: #689
-#693 := [quant-intro #690]: #692
-#749 := (iff #201 #746)
-#742 := (implies #691 #723)
-#747 := (iff #742 #746)
-#748 := [rewrite]: #747
-#743 := (iff #201 #742)
-#740 := (iff #200 #723)
-#735 := (and true #723)
-#738 := (iff #735 #723)
-#739 := [rewrite]: #738
-#736 := (iff #200 #735)
-#724 := (iff #197 #723)
-#721 := (iff #196 #718)
-#714 := (implies #694 #711)
-#719 := (iff #714 #718)
-#720 := [rewrite]: #719
-#715 := (iff #196 #714)
-#712 := (iff #195 #711)
-#709 := (iff #194 #708)
-#706 := (iff #193 #703)
-#700 := (and #630 #192)
-#704 := (iff #700 #703)
-#705 := [rewrite]: #704
-#701 := (iff #193 #700)
-#702 := [monotonicity #632]: #701
-#707 := [trans #702 #705]: #706
-#698 := (iff #191 #697)
-#699 := [monotonicity #678]: #698
-#710 := [monotonicity #699 #707]: #709
-#713 := [quant-intro #710]: #712
-#695 := (iff #190 #694)
-#696 := [rewrite]: #695
-#716 := [monotonicity #696 #713]: #715
-#722 := [trans #716 #720]: #721
-#725 := [quant-intro #722]: #724
-#733 := (iff #199 true)
-#728 := (implies #723 true)
-#731 := (iff #728 true)
-#732 := [rewrite]: #731
-#729 := (iff #199 #728)
-#726 := (iff #198 true)
-#727 := [rewrite]: #726
-#730 := [monotonicity #725 #727]: #729
-#734 := [trans #730 #732]: #733
-#737 := [monotonicity #734 #725]: #736
-#741 := [trans #737 #739]: #740
-#744 := [monotonicity #693 #741]: #743
-#750 := [trans #744 #748]: #749
-#753 := [monotonicity #750 #693]: #752
-#758 := [trans #753 #756]: #757
-#761 := [monotonicity #672 #758]: #760
-#767 := [trans #761 #765]: #766
-#770 := [monotonicity #767 #672]: #769
-#775 := [trans #770 #773]: #774
-#778 := [monotonicity #775]: #777
-#784 := [trans #778 #782]: #783
-#787 := [monotonicity #784]: #786
-#792 := [trans #787 #790]: #791
-#795 := [monotonicity #647 #792]: #794
-#801 := [trans #795 #799]: #800
-#804 := [monotonicity #801 #647]: #803
-#809 := [trans #804 #807]: #808
-#812 := [monotonicity #809]: #811
-#816 := [trans #812 #814]: #815
-#818 := [monotonicity #816]: #817
-#820 := [trans #818 #814]: #819
-#823 := [monotonicity #644 #820]: #822
-#829 := [trans #823 #827]: #828
-#832 := [monotonicity #829 #644]: #831
-#837 := [trans #832 #835]: #836
-#840 := [monotonicity #837]: #839
-#846 := [trans #840 #844]: #845
-#849 := [monotonicity #846]: #848
-#854 := [trans #849 #852]: #853
-#628 := (iff #165 #627)
-#625 := (iff #164 #622)
-#619 := (implies #162 #616)
-#623 := (iff #619 #622)
-#624 := [rewrite]: #623
-#620 := (iff #164 #619)
-#621 := [monotonicity #618]: #620
-#626 := [trans #621 #624]: #625
-#629 := [quant-intro #626]: #628
-#857 := [monotonicity #629 #854]: #856
-#863 := [trans #857 #861]: #862
-#614 := (iff #161 #613)
-#611 := (iff #160 #608)
-#605 := (implies #157 #602)
-#609 := (iff #605 #608)
-#610 := [rewrite]: #609
-#606 := (iff #160 #605)
-#603 := (iff #159 #602)
-#604 := [rewrite]: #603
-#607 := [monotonicity #604]: #606
-#612 := [trans #607 #610]: #611
-#615 := [quant-intro #612]: #614
-#866 := [monotonicity #615 #863]: #865
-#872 := [trans #866 #870]: #871
-#875 := [monotonicity #872]: #874
-#881 := [trans #875 #879]: #880
-#600 := (iff #148 #599)
-#597 := (iff #147 #594)
-#591 := (implies #508 #146)
-#595 := (iff #591 #594)
-#596 := [rewrite]: #595
-#592 := (iff #147 #591)
-#593 := [monotonicity #510]: #592
-#598 := [trans #593 #596]: #597
-#601 := [quant-intro #598]: #600
-#884 := [monotonicity #601 #881]: #883
-#890 := [trans #884 #888]: #889
-#893 := [monotonicity #890]: #892
-#899 := [trans #893 #897]: #898
-#589 := (iff #143 #588)
-#586 := (iff #142 #585)
-#587 := [rewrite]: #586
-#590 := [monotonicity #587]: #589
-#902 := [monotonicity #590 #899]: #901
-#907 := [trans #902 #905]: #906
-#910 := [monotonicity #584 #907]: #909
-#916 := [trans #910 #914]: #915
-#919 := [monotonicity #916]: #918
-#923 := [trans #919 #921]: #922
-#925 := [monotonicity #923]: #924
-#927 := [trans #925 #921]: #926
-#1109 := [monotonicity #927 #1106]: #1108
-#1112 := [monotonicity #1109]: #1111
-#1116 := [trans #1112 #1114]: #1115
-#577 := (iff #137 #576)
-#574 := (iff #136 #571)
-#567 := (implies #547 #564)
-#572 := (iff #567 #571)
-#573 := [rewrite]: #572
-#568 := (iff #136 #567)
-#565 := (iff #135 #564)
-#562 := (iff #134 #561)
-#559 := (iff #133 #556)
-#553 := (and #505 #132)
-#557 := (iff #553 #556)
-#558 := [rewrite]: #557
-#554 := (iff #133 #553)
-#555 := [monotonicity #507]: #554
-#560 := [trans #555 #558]: #559
-#551 := (iff #131 #550)
-#530 := (= #125 #529)
-#531 := [rewrite]: #530
-#552 := [monotonicity #531]: #551
-#563 := [monotonicity #552 #560]: #562
-#566 := [quant-intro #563]: #565
-#548 := (iff #130 #547)
-#549 := [rewrite]: #548
-#569 := [monotonicity #549 #566]: #568
-#575 := [trans #569 #573]: #574
-#578 := [quant-intro #575]: #577
-#1119 := [monotonicity #578 #1116]: #1118
-#1125 := [trans #1119 #1123]: #1124
-#545 := (iff #128 #544)
-#542 := (iff #127 #539)
-#535 := (implies #526 #532)
-#540 := (iff #535 #539)
-#541 := [rewrite]: #540
-#536 := (iff #127 #535)
-#533 := (iff #126 #532)
-#534 := [monotonicity #531]: #533
-#527 := (iff #124 #526)
-#528 := [monotonicity #507]: #527
-#537 := [monotonicity #528 #534]: #536
-#543 := [trans #537 #541]: #542
-#546 := [quant-intro #543]: #545
-#1128 := [monotonicity #546 #1125]: #1127
-#1134 := [trans #1128 #1132]: #1133
-#524 := (iff #123 #523)
-#521 := (iff #122 #518)
-#514 := (implies #511 #121)
-#519 := (iff #514 #518)
-#520 := [rewrite]: #519
-#515 := (iff #122 #514)
-#512 := (iff #119 #511)
-#503 := (iff #115 #502)
-#504 := [rewrite]: #503
-#513 := [monotonicity #504 #510]: #512
-#516 := [monotonicity #513]: #515
-#522 := [trans #516 #520]: #521
-#525 := [quant-intro #522]: #524
-#1137 := [monotonicity #525 #1134]: #1136
-#1143 := [trans #1137 #1141]: #1142
-#1146 := [monotonicity #1143]: #1145
-#1152 := [trans #1146 #1150]: #1151
-#500 := (iff #109 #499)
-#501 := [rewrite]: #500
-#1155 := [monotonicity #501 #1152]: #1154
-#1161 := [trans #1155 #1159]: #1160
-#1164 := [monotonicity #1161]: #1163
-#1168 := [trans #1164 #1166]: #1167
-#1170 := [monotonicity #1168]: #1169
-#1172 := [trans #1170 #1166]: #1171
-#1175 := [monotonicity #498 #1172]: #1174
-#1181 := [trans #1175 #1179]: #1180
-#1184 := [monotonicity #1181 #498]: #1183
-#1189 := [trans #1184 #1187]: #1188
-#1192 := [monotonicity #483 #1189]: #1191
-#1198 := [trans #1192 #1196]: #1197
-#1201 := [monotonicity #1198 #483]: #1200
-#1206 := [trans #1201 #1204]: #1205
-#1209 := [monotonicity #468 #1206]: #1208
-#1215 := [trans #1209 #1213]: #1214
-#1218 := [monotonicity #1215 #468]: #1217
-#1223 := [trans #1218 #1221]: #1222
-#1226 := [monotonicity #1223]: #1225
-#1232 := [trans #1226 #1230]: #1231
-#1235 := [monotonicity #1232]: #1234
-#1240 := [trans #1235 #1238]: #1239
-#1243 := [monotonicity #453 #1240]: #1242
-#1249 := [trans #1243 #1247]: #1248
-#1252 := [monotonicity #1249 #453]: #1251
-#1257 := [trans #1252 #1255]: #1256
-#1260 := [monotonicity #1257]: #1259
-#1264 := [trans #1260 #1262]: #1263
-#1267 := [monotonicity #1264]: #1266
-#1273 := [trans #1267 #1271]: #1272
-#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
-#1276 := [monotonicity #450 #1273]: #1275
-#1282 := [trans #1276 #1280]: #1281
-#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
-#1285 := [monotonicity #436 #1282]: #1284
-#1291 := [trans #1285 #1289]: #1290
-#1294 := [monotonicity #1291]: #1293
-#1298 := [trans #1294 #1296]: #1297
-#1300 := [monotonicity #1298]: #1299
-#1302 := [trans #1300 #1296]: #1301
-#1305 := [monotonicity #1302]: #1304
-#1939 := [trans #1305 #1937]: #1938
-#422 := [asserted]: #293
-#1940 := [mp #422 #1939]: #1935
-#1941 := [not-or-elim #1940]: #79
-#2004 := [mp~ #1941 #1966]: #79
-#4354 := [mp #2004 #4353]: #4349
-#5709 := (not #4349)
-#5715 := (or #5709 #2266)
-#5470 := [quant-inst]: #5715
-#6005 := [unit-resolution #5470 #4354 #6004]: false
-#6009 := [lemma #6005]: #2266
-#3870 := (or #2166 #2033)
-#3957 := [def-axiom]: #3870
-#7294 := [unit-resolution #3957 #6009]: #2166
-#2421 := (not #2166)
-#4707 := (or #2421 #4704)
-#4710 := (not #4707)
-#4362 := (forall (vars (?x27 T2)) (:pat #4355) #1313)
-#4367 := (not #4362)
-#4713 := (or #4367 #4710)
-#4716 := (not #4713)
-decl ?x27!0 :: T2
-#2011 := ?x27!0
-#2012 := (uf_12 ?x27!0)
-#2013 := (>= #2012 0::int)
-#2014 := (not #2013)
-#4719 := (or #2014 #4716)
-#4722 := (not #4719)
-#4725 := (or #1308 #4722)
-#4728 := (not #4725)
-#4735 := (forall (vars (?x24 T2)) (:pat #4355) #1912)
-#4738 := (iff #1915 #4735)
-#4736 := (iff #1912 #1912)
-#4737 := [refl]: #4736
-#4739 := [quant-intro #4737]: #4738
-#2238 := (~ #1915 #1915)
-#2072 := (~ #1912 #1912)
-#2073 := [refl]: #2072
-#2239 := [nnf-pos #2073]: #2238
-#1945 := [not-or-elim #1940]: #1915
-#2265 := [mp~ #1945 #2239]: #1915
-#4740 := [mp #2265 #4739]: #4735
-#5485 := [hypothesis]: #1308
-#5347 := (not #4735)
-#5348 := (or #5347 #81)
-#4030 := (= uf_11 uf_11)
-#4033 := (not #4030)
-#4034 := (or #4033 #81)
-#5341 := (or #5347 #4034)
-#5350 := (iff #5341 #5348)
-#5361 := (iff #5348 #5348)
-#5363 := [rewrite]: #5361
-#5108 := (iff #4034 #81)
-#5046 := (or false #81)
-#5106 := (iff #5046 #81)
-#5107 := [rewrite]: #5106
-#5104 := (iff #4034 #5046)
-#3956 := (iff #4033 false)
-#6849 := (not true)
-#6852 := (iff #6849 false)
-#6853 := [rewrite]: #6852
-#5051 := (iff #4033 #6849)
-#4038 := (iff #4030 true)
-#5050 := [rewrite]: #4038
-#5052 := [monotonicity #5050]: #5051
-#3939 := [trans #5052 #6853]: #3956
-#5105 := [monotonicity #3939]: #5104
-#5346 := [trans #5105 #5107]: #5108
-#5351 := [monotonicity #5346]: #5350
-#5364 := [trans #5351 #5363]: #5350
-#5349 := [quant-inst]: #5341
-#5484 := [mp #5349 #5364]: #5348
-#5486 := [unit-resolution #5484 #5485 #4740]: false
-#5487 := [lemma #5486]: #81
-#4731 := (or #1308 #4728)
-#3666 := (forall (vars (?x66 T2) (?x67 T2)) #3661)
-#3672 := (not #3666)
-#3673 := (or #251 #3672)
-#3674 := (not #3673)
-#3701 := (or #3674 #3698)
-#3708 := (not #3701)
-#3644 := (forall (vars (?x64 T2)) #3639)
-#3707 := (not #3644)
-#3709 := (or #3707 #3708)
-#3710 := (not #3709)
-#3607 := (forall (vars (?x65 T2)) #3596)
-#3613 := (not #3607)
-#3614 := (or #2460 #2993 #3613)
-#3615 := (not #3614)
-#3715 := (or #3615 #3710)
-#3722 := (not #3715)
-#3592 := (forall (vars (?x41 T2)) #3581)
-#3721 := (not #3592)
-#3723 := (or #1062 #1044 #1071 #1053 #3721 #3722)
-#3724 := (not #3723)
-#3486 := (forall (vars (?x53 T2)) #3475)
-#3493 := (not #3486)
-#3471 := (forall (vars (?x50 T2) (?x51 T2)) #3466)
-#3492 := (not #3471)
-#3494 := (or #2318 #2893 #3492 #3493)
-#3495 := (not #3494)
-#3500 := (or #3449 #3495)
-#3507 := (not #3500)
-#3426 := (forall (vars (?x48 T2) (?x49 T2)) #3421)
-#3506 := (not #3426)
-#3508 := (or #3506 #3507)
-#3509 := (not #3508)
-#3514 := (or #3403 #3509)
-#3520 := (not #3514)
-#3521 := (or #1501 #3520)
-#3522 := (not #3521)
-#3527 := (or #2235 #3522)
-#3533 := (not #3527)
-#3534 := (or #1492 #3533)
-#3535 := (not #3534)
-#3540 := (or #1492 #3535)
-#3546 := (not #3540)
-#3547 := (or #824 #3546)
-#3548 := (not #3547)
-#3553 := (or #2836 #3548)
-#3559 := (not #3553)
-#3560 := (or #1487 #3559)
-#3561 := (not #3560)
-#3566 := (or #2822 #3561)
-#3574 := (not #3566)
-#3380 := (forall (vars (?x43 T2)) #3375)
-#3573 := (not #3380)
-#3362 := (forall (vars (?x44 T2)) #3359)
-#3572 := (not #3362)
-#3575 := (or #876 #585 #1652 #1656 #2412 #2415 #3572 #3573 #3574)
-#3576 := (not #3575)
-#3729 := (or #3576 #3724)
-#3739 := (not #3729)
-#3352 := (forall (vars (?x39 T2)) #3347)
-#3738 := (not #3352)
-#3324 := (forall (vars (?x32 T2)) #3319)
-#3737 := (not #3324)
-#3296 := (forall (vars (?x35 T2) (?x36 T2)) #3291)
-#3736 := (not #3296)
-#3273 := (forall (vars (?x37 T2) (?x38 T2)) #3268)
-#3735 := (not #3273)
-#3740 := (or #1854 #1849 #3735 #3736 #3737 #3738 #3739)
-#3741 := (not #3740)
-#3241 := (forall (vars (?x33 T2)) #3230)
-#3247 := (not #3241)
-#3248 := (or #2085 #2688 #3247)
-#3249 := (not #3248)
-#3746 := (or #3249 #3741)
-#3753 := (not #3746)
-#3226 := (forall (vars (?x30 T2) (?x31 T2)) #3221)
-#3752 := (not #3226)
-#3754 := (or #3752 #3753)
-#3755 := (not #3754)
-#3760 := (or #3204 #3755)
-#3767 := (not #3760)
-#3181 := (forall (vars (?x28 T2) (?x29 T2)) #3176)
-#3766 := (not #3181)
-#3768 := (or #3766 #3767)
-#3769 := (not #3768)
-#3774 := (or #2421 #3769)
-#3780 := (not #3774)
-#3781 := (or #1317 #3780)
-#3782 := (not #3781)
-#3787 := (or #2014 #3782)
-#3793 := (not #3787)
-#3794 := (or #1308 #3793)
-#3795 := (not #3794)
-#3800 := (or #1308 #3795)
-#4732 := (iff #3800 #4731)
-#4729 := (iff #3795 #4728)
-#4726 := (iff #3794 #4725)
-#4723 := (iff #3793 #4722)
-#4720 := (iff #3787 #4719)
-#4717 := (iff #3782 #4716)
-#4714 := (iff #3781 #4713)
-#4711 := (iff #3780 #4710)
-#4708 := (iff #3774 #4707)
-#4705 := (iff #3769 #4704)
-#4702 := (iff #3768 #4701)
-#4699 := (iff #3767 #4698)
-#4696 := (iff #3760 #4695)
-#4693 := (iff #3755 #4692)
-#4690 := (iff #3754 #4689)
-#4687 := (iff #3753 #4686)
-#4684 := (iff #3746 #4683)
-#4681 := (iff #3741 #4680)
-#4678 := (iff #3740 #4677)
-#4675 := (iff #3739 #4674)
-#4672 := (iff #3729 #4671)
-#4669 := (iff #3724 #4668)
-#4666 := (iff #3723 #4665)
-#4663 := (iff #3722 #4662)
-#4660 := (iff #3715 #4659)
-#4657 := (iff #3710 #4656)
-#4654 := (iff #3709 #4653)
-#4651 := (iff #3708 #4650)
-#4648 := (iff #3701 #4647)
-#4645 := (iff #3674 #4644)
-#4642 := (iff #3673 #4641)
-#4639 := (iff #3672 #4638)
-#4636 := (iff #3666 #4633)
-#4634 := (iff #3661 #3661)
-#4635 := [refl]: #4634
-#4637 := [quant-intro #4635]: #4636
-#4640 := [monotonicity #4637]: #4639
-#4643 := [monotonicity #4640]: #4642
-#4646 := [monotonicity #4643]: #4645
-#4649 := [monotonicity #4646]: #4648
-#4652 := [monotonicity #4649]: #4651
-#4631 := (iff #3707 #4630)
-#4628 := (iff #3644 #4625)
-#4626 := (iff #3639 #3639)
-#4627 := [refl]: #4626
-#4629 := [quant-intro #4627]: #4628
-#4632 := [monotonicity #4629]: #4631
-#4655 := [monotonicity #4632 #4652]: #4654
-#4658 := [monotonicity #4655]: #4657
-#4623 := (iff #3615 #4622)
-#4620 := (iff #3614 #4619)
-#4617 := (iff #3613 #4616)
-#4614 := (iff #3607 #4611)
-#4612 := (iff #3596 #3596)
-#4613 := [refl]: #4612
-#4615 := [quant-intro #4613]: #4614
-#4618 := [monotonicity #4615]: #4617
-#4621 := [monotonicity #4618]: #4620
-#4624 := [monotonicity #4621]: #4623
-#4661 := [monotonicity #4624 #4658]: #4660
-#4664 := [monotonicity #4661]: #4663
-#4607 := (iff #3721 #4606)
-#4604 := (iff #3592 #4601)
-#4602 := (iff #3581 #3581)
-#4603 := [refl]: #4602
-#4605 := [quant-intro #4603]: #4604
-#4608 := [monotonicity #4605]: #4607
-#4667 := [monotonicity #4608 #4664]: #4666
-#4670 := [monotonicity #4667]: #4669
-#4599 := (iff #3576 #4598)
-#4596 := (iff #3575 #4595)
-#4593 := (iff #3574 #4592)
-#4590 := (iff #3566 #4589)
-#4587 := (iff #3561 #4586)
-#4584 := (iff #3560 #4583)
-#4581 := (iff #3559 #4580)
-#4578 := (iff #3553 #4577)
-#4575 := (iff #3548 #4574)
-#4572 := (iff #3547 #4571)
-#4569 := (iff #3546 #4568)
-#4566 := (iff #3540 #4565)
-#4563 := (iff #3535 #4562)
-#4560 := (iff #3534 #4559)
-#4557 := (iff #3533 #4556)
-#4554 := (iff #3527 #4553)
-#4551 := (iff #3522 #4550)
-#4548 := (iff #3521 #4547)
-#4545 := (iff #3520 #4544)
-#4542 := (iff #3514 #4541)
-#4539 := (iff #3509 #4538)
-#4536 := (iff #3508 #4535)
-#4533 := (iff #3507 #4532)
-#4530 := (iff #3500 #4529)
-#4527 := (iff #3495 #4526)
-#4524 := (iff #3494 #4523)
-#4521 := (iff #3493 #4520)
-#4518 := (iff #3486 #4515)
-#4516 := (iff #3475 #3475)
-#4517 := [refl]: #4516
-#4519 := [quant-intro #4517]: #4518
-#4522 := [monotonicity #4519]: #4521
-#4512 := (iff #3492 #4511)
-#4509 := (iff #3471 #4506)
-#4507 := (iff #3466 #3466)
-#4508 := [refl]: #4507
-#4510 := [quant-intro #4508]: #4509
-#4513 := [monotonicity #4510]: #4512
-#4525 := [monotonicity #4513 #4522]: #4524
-#4528 := [monotonicity #4525]: #4527
-#4531 := [monotonicity #4528]: #4530
-#4534 := [monotonicity #4531]: #4533
-#4504 := (iff #3506 #4503)
-#4501 := (iff #3426 #4498)
-#4499 := (iff #3421 #3421)
-#4500 := [refl]: #4499
-#4502 := [quant-intro #4500]: #4501
-#4505 := [monotonicity #4502]: #4504
-#4537 := [monotonicity #4505 #4534]: #4536
-#4540 := [monotonicity #4537]: #4539
-#4543 := [monotonicity #4540]: #4542
-#4546 := [monotonicity #4543]: #4545
-#4495 := (iff #1501 #4494)
-#4492 := (iff #1498 #4489)
-#4490 := (iff #1495 #1495)
-#4491 := [refl]: #4490
-#4493 := [quant-intro #4491]: #4492
-#4496 := [monotonicity #4493]: #4495
-#4549 := [monotonicity #4496 #4546]: #4548
-#4552 := [monotonicity #4549]: #4551
-#4555 := [monotonicity #4552]: #4554
-#4558 := [monotonicity #4555]: #4557
-#4561 := [monotonicity #4558]: #4560
-#4564 := [monotonicity #4561]: #4563
-#4567 := [monotonicity #4564]: #4566
-#4570 := [monotonicity #4567]: #4569
-#4487 := (iff #824 #4486)
-#4484 := (iff #642 #4481)
-#4482 := (iff #637 #637)
-#4483 := [refl]: #4482
-#4485 := [quant-intro #4483]: #4484
-#4488 := [monotonicity #4485]: #4487
-#4573 := [monotonicity #4488 #4570]: #4572
-#4576 := [monotonicity #4573]: #4575
-#4579 := [monotonicity #4576]: #4578
-#4582 := [monotonicity #4579]: #4581
-#4478 := (iff #1487 #4477)
-#4475 := (iff #1484 #4472)
-#4473 := (iff #1479 #1479)
-#4474 := [refl]: #4473
-#4476 := [quant-intro #4474]: #4475
-#4479 := [monotonicity #4476]: #4478
-#4585 := [monotonicity #4479 #4582]: #4584
-#4588 := [monotonicity #4585]: #4587
-#4591 := [monotonicity #4588]: #4590
-#4594 := [monotonicity #4591]: #4593
-#4470 := (iff #3573 #4469)
-#4467 := (iff #3380 #4464)
-#4465 := (iff #3375 #3375)
-#4466 := [refl]: #4465
-#4468 := [quant-intro #4466]: #4467
-#4471 := [monotonicity #4468]: #4470
-#4462 := (iff #3572 #4461)
-#4459 := (iff #3362 #4456)
-#4457 := (iff #3359 #3359)
-#4458 := [refl]: #4457
-#4460 := [quant-intro #4458]: #4459
-#4463 := [monotonicity #4460]: #4462
-#4452 := (iff #1652 #4451)
-#4449 := (iff #1649 #4446)
-#4447 := (iff #1644 #1644)
-#4448 := [refl]: #4447
-#4450 := [quant-intro #4448]: #4449
-#4453 := [monotonicity #4450]: #4452
-#4597 := [monotonicity #4453 #4463 #4471 #4594]: #4596
-#4600 := [monotonicity #4597]: #4599
-#4673 := [monotonicity #4600 #4670]: #4672
-#4676 := [monotonicity #4673]: #4675
-#4443 := (iff #3738 #4442)
-#4440 := (iff #3352 #4437)
-#4438 := (iff #3347 #3347)
-#4439 := [refl]: #4438
-#4441 := [quant-intro #4439]: #4440
-#4444 := [monotonicity #4441]: #4443
-#4435 := (iff #3737 #4434)
-#4432 := (iff #3324 #4429)
-#4430 := (iff #3319 #3319)
-#4431 := [refl]: #4430
-#4433 := [quant-intro #4431]: #4432
-#4436 := [monotonicity #4433]: #4435
-#4427 := (iff #3736 #4426)
-#4424 := (iff #3296 #4421)
-#4422 := (iff #3291 #3291)
-#4423 := [refl]: #4422
-#4425 := [quant-intro #4423]: #4424
-#4428 := [monotonicity #4425]: #4427
-#4418 := (iff #3735 #4417)
-#4415 := (iff #3273 #4412)
-#4413 := (iff #3268 #3268)
-#4414 := [refl]: #4413
-#4416 := [quant-intro #4414]: #4415
-#4419 := [monotonicity #4416]: #4418
-#4410 := (iff #1849 #4409)
-#4407 := (iff #1846 #4404)
-#4405 := (iff #1843 #1843)
-#4406 := [refl]: #4405
-#4408 := [quant-intro #4406]: #4407
-#4411 := [monotonicity #4408]: #4410
-#4679 := [monotonicity #4411 #4419 #4428 #4436 #4444 #4676]: #4678
-#4682 := [monotonicity #4679]: #4681
-#4401 := (iff #3249 #4400)
-#4398 := (iff #3248 #4397)
-#4395 := (iff #3247 #4394)
-#4392 := (iff #3241 #4389)
-#4390 := (iff #3230 #3230)
-#4391 := [refl]: #4390
-#4393 := [quant-intro #4391]: #4392
-#4396 := [monotonicity #4393]: #4395
-#4399 := [monotonicity #4396]: #4398
-#4402 := [monotonicity #4399]: #4401
-#4685 := [monotonicity #4402 #4682]: #4684
-#4688 := [monotonicity #4685]: #4687
-#4386 := (iff #3752 #4385)
-#4383 := (iff #3226 #4380)
-#4381 := (iff #3221 #3221)
-#4382 := [refl]: #4381
-#4384 := [quant-intro #4382]: #4383
-#4387 := [monotonicity #4384]: #4386
-#4691 := [monotonicity #4387 #4688]: #4690
-#4694 := [monotonicity #4691]: #4693
-#4697 := [monotonicity #4694]: #4696
-#4700 := [monotonicity #4697]: #4699
-#4377 := (iff #3766 #4376)
-#4374 := (iff #3181 #4371)
-#4372 := (iff #3176 #3176)
-#4373 := [refl]: #4372
-#4375 := [quant-intro #4373]: #4374
-#4378 := [monotonicity #4375]: #4377
-#4703 := [monotonicity #4378 #4700]: #4702
-#4706 := [monotonicity #4703]: #4705
-#4709 := [monotonicity #4706]: #4708
-#4712 := [monotonicity #4709]: #4711
-#4368 := (iff #1317 #4367)
-#4365 := (iff #1314 #4362)
-#4363 := (iff #1313 #1313)
-#4364 := [refl]: #4363
-#4366 := [quant-intro #4364]: #4365
-#4369 := [monotonicity #4366]: #4368
-#4715 := [monotonicity #4369 #4712]: #4714
-#4718 := [monotonicity #4715]: #4717
-#4721 := [monotonicity #4718]: #4720
-#4724 := [monotonicity #4721]: #4723
-#4727 := [monotonicity #4724]: #4726
-#4730 := [monotonicity #4727]: #4729
-#4733 := [monotonicity #4730]: #4732
-#2527 := (not #2526)
-#2523 := (not #2522)
-#3081 := (and #2523 #2527)
-#3084 := (not #3081)
-#3101 := (or #3084 #3096)
-#3104 := (not #3101)
-#2536 := (not #251)
-#2546 := (and #2536 #1756)
-#3110 := (or #2546 #3104)
-#3054 := (not #3049)
-#3072 := (and #3054 #3067)
-#3075 := (or #1716 #3072)
-#3078 := (forall (vars (?x64 T2)) #3075)
-#3115 := (and #3078 #3110)
-#2456 := (not #2455)
-#3024 := (and #2456 #3021)
-#3027 := (not #3024)
-#3030 := (forall (vars (?x65 T2)) #3027)
-#2996 := (not #2993)
-#2461 := (not #2460)
-#3036 := (and #2461 #2996 #3030)
-#3118 := (or #3036 #3115)
-#2441 := (not #1670)
-#2444 := (forall (vars (?x41 T2)) #2441)
-#3121 := (and #229 #234 #930 #933 #2444 #3118)
-#2314 := (not #2313)
-#2924 := (and #630 #2314 #2921)
-#2927 := (not #2924)
-#2930 := (forall (vars (?x53 T2)) #2927)
-#2896 := (not #2893)
-#2319 := (not #2318)
-#2939 := (and #1541 #2319 #2896 #2930)
-#2287 := (not #2286)
-#2866 := (and #2287 #2289)
-#2869 := (not #2866)
-#2887 := (or #2869 #2882)
-#2890 := (not #2887)
-#2944 := (or #2890 #2939)
-#2947 := (and #1517 #2944)
-#2258 := (not #2257)
-#2841 := (and #2255 #2258)
-#2844 := (not #2841)
-#2860 := (or #2844 #2855)
-#2863 := (not #2860)
-#2950 := (or #2863 #2947)
-#2953 := (and #1498 #2950)
-#2956 := (or #2235 #2953)
-#2959 := (and #173 #2956)
-#2962 := (or #1492 #2959)
-#2965 := (and #642 #2962)
-#2968 := (or #2836 #2965)
-#2971 := (and #1484 #2968)
-#2974 := (or #2822 #2971)
-#2416 := (not #2415)
-#2413 := (not #2412)
-#2980 := (and #151 #588 #1473 #1631 #1649 #1657 #2413 #2416 #2974)
-#3124 := (or #2980 #3121)
-#2780 := (not #2775)
-#2798 := (and #2162 #2780 #2793)
-#2801 := (or #1413 #2798)
-#2804 := (forall (vars (?x39 T2)) #2801)
-#2735 := (not #2730)
-#2753 := (and #2133 #2735 #2748)
-#2759 := (or #1395 #2753)
-#2764 := (forall (vars (?x32 T2)) #2759)
-#3130 := (and #109 #1821 #1837 #1846 #2764 #2804 #3124)
-#2691 := (not #2688)
-#2098 := (not #2097)
-#2679 := (and #77 #2095 #2098)
-#2682 := (not #2679)
-#2685 := (forall (vars (?x33 T2)) #2682)
-#2086 := (not #2085)
-#2715 := (and #2086 #2685 #2691)
-#3135 := (or #2715 #3130)
-#3138 := (and #1360 #3135)
-#2058 := (not #2057)
-#2667 := (and #2058 #2059)
-#2670 := (not #2667)
-#2673 := (or #2664 #2670)
-#2676 := (not #2673)
-#3141 := (or #2676 #3138)
-#3144 := (and #1334 #3141)
-#2035 := (not #2034)
-#2635 := (and #2033 #2035)
-#2638 := (not #2635)
-#2654 := (or #2638 #2649)
-#2657 := (not #2654)
-#3147 := (or #2657 #3144)
-#3150 := (and #1314 #3147)
-#3153 := (or #2014 #3150)
-#3156 := (and #81 #3153)
-#3159 := (or #1308 #3156)
-#3801 := (iff #3159 #3800)
-#3798 := (iff #3156 #3795)
-#3790 := (and #81 #3787)
-#3796 := (iff #3790 #3795)
-#3797 := [rewrite]: #3796
-#3791 := (iff #3156 #3790)
-#3788 := (iff #3153 #3787)
-#3785 := (iff #3150 #3782)
-#3777 := (and #1314 #3774)
-#3783 := (iff #3777 #3782)
-#3784 := [rewrite]: #3783
-#3778 := (iff #3150 #3777)
-#3775 := (iff #3147 #3774)
-#3772 := (iff #3144 #3769)
-#3763 := (and #3181 #3760)
-#3770 := (iff #3763 #3769)
-#3771 := [rewrite]: #3770
-#3764 := (iff #3144 #3763)
-#3761 := (iff #3141 #3760)
-#3758 := (iff #3138 #3755)
-#3749 := (and #3226 #3746)
-#3756 := (iff #3749 #3755)
-#3757 := [rewrite]: #3756
-#3750 := (iff #3138 #3749)
-#3747 := (iff #3135 #3746)
-#3744 := (iff #3130 #3741)
-#3732 := (and #109 #3273 #3296 #1846 #3324 #3352 #3729)
-#3742 := (iff #3732 #3741)
-#3743 := [rewrite]: #3742
-#3733 := (iff #3130 #3732)
-#3730 := (iff #3124 #3729)
-#3727 := (iff #3121 #3724)
-#3718 := (and #229 #234 #930 #933 #3592 #3715)
-#3725 := (iff #3718 #3724)
-#3726 := [rewrite]: #3725
-#3719 := (iff #3121 #3718)
-#3716 := (iff #3118 #3715)
-#3713 := (iff #3115 #3710)
-#3704 := (and #3644 #3701)
-#3711 := (iff #3704 #3710)
-#3712 := [rewrite]: #3711
-#3705 := (iff #3115 #3704)
-#3702 := (iff #3110 #3701)
-#3699 := (iff #3104 #3698)
-#3696 := (iff #3101 #3693)
-#3679 := (or #2522 #2526)
-#3690 := (or #3679 #3096)
-#3694 := (iff #3690 #3693)
-#3695 := [rewrite]: #3694
-#3691 := (iff #3101 #3690)
-#3688 := (iff #3084 #3679)
-#3680 := (not #3679)
-#3683 := (not #3680)
-#3686 := (iff #3683 #3679)
-#3687 := [rewrite]: #3686
-#3684 := (iff #3084 #3683)
-#3681 := (iff #3081 #3680)
-#3682 := [rewrite]: #3681
-#3685 := [monotonicity #3682]: #3684
-#3689 := [trans #3685 #3687]: #3688
-#3692 := [monotonicity #3689]: #3691
-#3697 := [trans #3692 #3695]: #3696
-#3700 := [monotonicity #3697]: #3699
-#3677 := (iff #2546 #3674)
-#3669 := (and #2536 #3666)
-#3675 := (iff #3669 #3674)
-#3676 := [rewrite]: #3675
-#3670 := (iff #2546 #3669)
-#3667 := (iff #1756 #3666)
-#3664 := (iff #1753 #3661)
-#3647 := (or #1347 #1709)
-#3658 := (or #3647 #1750)
-#3662 := (iff #3658 #3661)
-#3663 := [rewrite]: #3662
-#3659 := (iff #1753 #3658)
-#3656 := (iff #1747 #3647)
-#3648 := (not #3647)
-#3651 := (not #3648)
-#3654 := (iff #3651 #3647)
-#3655 := [rewrite]: #3654
-#3652 := (iff #1747 #3651)
-#3649 := (iff #1744 #3648)
-#3650 := [rewrite]: #3649
-#3653 := [monotonicity #3650]: #3652
-#3657 := [trans #3653 #3655]: #3656
-#3660 := [monotonicity #3657]: #3659
-#3665 := [trans #3660 #3663]: #3664
-#3668 := [quant-intro #3665]: #3667
-#3671 := [monotonicity #3668]: #3670
-#3678 := [trans #3671 #3676]: #3677
-#3703 := [monotonicity #3678 #3700]: #3702
-#3645 := (iff #3078 #3644)
-#3642 := (iff #3075 #3639)
-#3620 := (or #68 #1709)
-#3636 := (or #3620 #3633)
-#3640 := (iff #3636 #3639)
-#3641 := [rewrite]: #3640
-#3637 := (iff #3075 #3636)
-#3634 := (iff #3072 #3633)
-#3635 := [rewrite]: #3634
-#3629 := (iff #1716 #3620)
-#3621 := (not #3620)
-#3624 := (not #3621)
-#3627 := (iff #3624 #3620)
-#3628 := [rewrite]: #3627
-#3625 := (iff #1716 #3624)
-#3622 := (iff #1713 #3621)
-#3623 := [rewrite]: #3622
-#3626 := [monotonicity #3623]: #3625
-#3630 := [trans #3626 #3628]: #3629
-#3638 := [monotonicity #3630 #3635]: #3637
-#3643 := [trans #3638 #3641]: #3642
-#3646 := [quant-intro #3643]: #3645
-#3706 := [monotonicity #3646 #3703]: #3705
-#3714 := [trans #3706 #3712]: #3713
-#3618 := (iff #3036 #3615)
-#3610 := (and #2461 #2996 #3607)
-#3616 := (iff #3610 #3615)
-#3617 := [rewrite]: #3616
-#3611 := (iff #3036 #3610)
-#3608 := (iff #3030 #3607)
-#3605 := (iff #3027 #3596)
-#3597 := (not #3596)
-#3600 := (not #3597)
-#3603 := (iff #3600 #3596)
-#3604 := [rewrite]: #3603
-#3601 := (iff #3027 #3600)
-#3598 := (iff #3024 #3597)
-#3599 := [rewrite]: #3598
-#3602 := [monotonicity #3599]: #3601
-#3606 := [trans #3602 #3604]: #3605
-#3609 := [quant-intro #3606]: #3608
-#3612 := [monotonicity #3609]: #3611
-#3619 := [trans #3612 #3617]: #3618
-#3717 := [monotonicity #3619 #3714]: #3716
-#3593 := (iff #2444 #3592)
-#3590 := (iff #2441 #3581)
-#3582 := (not #3581)
-#3585 := (not #3582)
-#3588 := (iff #3585 #3581)
-#3589 := [rewrite]: #3588
-#3586 := (iff #2441 #3585)
-#3583 := (iff #1670 #3582)
-#3584 := [rewrite]: #3583
-#3587 := [monotonicity #3584]: #3586
-#3591 := [trans #3587 #3589]: #3590
-#3594 := [quant-intro #3591]: #3593
-#3720 := [monotonicity #3594 #3717]: #3719
-#3728 := [trans #3720 #3726]: #3727
-#3579 := (iff #2980 #3576)
-#3569 := (and #151 #588 #3362 #3380 #1649 #1657 #2413 #2416 #3566)
-#3577 := (iff #3569 #3576)
-#3578 := [rewrite]: #3577
-#3570 := (iff #2980 #3569)
-#3567 := (iff #2974 #3566)
-#3564 := (iff #2971 #3561)
-#3556 := (and #1484 #3553)
-#3562 := (iff #3556 #3561)
-#3563 := [rewrite]: #3562
-#3557 := (iff #2971 #3556)
-#3554 := (iff #2968 #3553)
-#3551 := (iff #2965 #3548)
-#3543 := (and #642 #3540)
-#3549 := (iff #3543 #3548)
-#3550 := [rewrite]: #3549
-#3544 := (iff #2965 #3543)
-#3541 := (iff #2962 #3540)
-#3538 := (iff #2959 #3535)
-#3530 := (and #173 #3527)
-#3536 := (iff #3530 #3535)
-#3537 := [rewrite]: #3536
-#3531 := (iff #2959 #3530)
-#3528 := (iff #2956 #3527)
-#3525 := (iff #2953 #3522)
-#3517 := (and #1498 #3514)
-#3523 := (iff #3517 #3522)
-#3524 := [rewrite]: #3523
-#3518 := (iff #2953 #3517)
-#3515 := (iff #2950 #3514)
-#3512 := (iff #2947 #3509)
-#3503 := (and #3426 #3500)
-#3510 := (iff #3503 #3509)
-#3511 := [rewrite]: #3510
-#3504 := (iff #2947 #3503)
-#3501 := (iff #2944 #3500)
-#3498 := (iff #2939 #3495)
-#3489 := (and #3471 #2319 #2896 #3486)
-#3496 := (iff #3489 #3495)
-#3497 := [rewrite]: #3496
-#3490 := (iff #2939 #3489)
-#3487 := (iff #2930 #3486)
-#3484 := (iff #2927 #3475)
-#3476 := (not #3475)
-#3479 := (not #3476)
-#3482 := (iff #3479 #3475)
-#3483 := [rewrite]: #3482
-#3480 := (iff #2927 #3479)
-#3477 := (iff #2924 #3476)
-#3478 := [rewrite]: #3477
-#3481 := [monotonicity #3478]: #3480
-#3485 := [trans #3481 #3483]: #3484
-#3488 := [quant-intro #3485]: #3487
-#3472 := (iff #1541 #3471)
-#3469 := (iff #1538 #3466)
-#3452 := (or #636 #1347)
-#3463 := (or #3452 #1534)
-#3467 := (iff #3463 #3466)
-#3468 := [rewrite]: #3467
-#3464 := (iff #1538 #3463)
-#3461 := (iff #1531 #3452)
-#3453 := (not #3452)
-#3456 := (not #3453)
-#3459 := (iff #3456 #3452)
-#3460 := [rewrite]: #3459
-#3457 := (iff #1531 #3456)
-#3454 := (iff #1526 #3453)
-#3455 := [rewrite]: #3454
-#3458 := [monotonicity #3455]: #3457
-#3462 := [trans #3458 #3460]: #3461
-#3465 := [monotonicity #3462]: #3464
-#3470 := [trans #3465 #3468]: #3469
-#3473 := [quant-intro #3470]: #3472
-#3491 := [monotonicity #3473 #3488]: #3490
-#3499 := [trans #3491 #3497]: #3498
-#3450 := (iff #2890 #3449)
-#3447 := (iff #2887 #3444)
-#3430 := (or #2286 #3429)
-#3441 := (or #3430 #2882)
-#3445 := (iff #3441 #3444)
-#3446 := [rewrite]: #3445
-#3442 := (iff #2887 #3441)
-#3439 := (iff #2869 #3430)
-#3431 := (not #3430)
-#3434 := (not #3431)
-#3437 := (iff #3434 #3430)
-#3438 := [rewrite]: #3437
-#3435 := (iff #2869 #3434)
-#3432 := (iff #2866 #3431)
-#3433 := [rewrite]: #3432
-#3436 := [monotonicity #3433]: #3435
-#3440 := [trans #3436 #3438]: #3439
-#3443 := [monotonicity #3440]: #3442
-#3448 := [trans #3443 #3446]: #3447
-#3451 := [monotonicity #3448]: #3450
-#3502 := [monotonicity #3451 #3499]: #3501
-#3427 := (iff #1517 #3426)
-#3424 := (iff #1512 #3421)
-#3407 := (or #630 #3406)
-#3418 := (or #3407 #1504)
-#3422 := (iff #3418 #3421)
-#3423 := [rewrite]: #3422
-#3419 := (iff #1512 #3418)
-#3416 := (iff #664 #3407)
-#3408 := (not #3407)
-#3411 := (not #3408)
-#3414 := (iff #3411 #3407)
-#3415 := [rewrite]: #3414
-#3412 := (iff #664 #3411)
-#3409 := (iff #656 #3408)
-#3410 := [rewrite]: #3409
-#3413 := [monotonicity #3410]: #3412
-#3417 := [trans #3413 #3415]: #3416
-#3420 := [monotonicity #3417]: #3419
-#3425 := [trans #3420 #3423]: #3424
-#3428 := [quant-intro #3425]: #3427
-#3505 := [monotonicity #3428 #3502]: #3504
-#3513 := [trans #3505 #3511]: #3512
-#3404 := (iff #2863 #3403)
-#3401 := (iff #2860 #3398)
-#3384 := (or #3383 #2257)
-#3395 := (or #3384 #2855)
-#3399 := (iff #3395 #3398)
-#3400 := [rewrite]: #3399
-#3396 := (iff #2860 #3395)
-#3393 := (iff #2844 #3384)
-#3385 := (not #3384)
-#3388 := (not #3385)
-#3391 := (iff #3388 #3384)
-#3392 := [rewrite]: #3391
-#3389 := (iff #2844 #3388)
-#3386 := (iff #2841 #3385)
-#3387 := [rewrite]: #3386
-#3390 := [monotonicity #3387]: #3389
-#3394 := [trans #3390 #3392]: #3393
-#3397 := [monotonicity #3394]: #3396
-#3402 := [trans #3397 #3400]: #3401
-#3405 := [monotonicity #3402]: #3404
-#3516 := [monotonicity #3405 #3513]: #3515
-#3519 := [monotonicity #3516]: #3518
-#3526 := [trans #3519 #3524]: #3525
-#3529 := [monotonicity #3526]: #3528
-#3532 := [monotonicity #3529]: #3531
-#3539 := [trans #3532 #3537]: #3538
-#3542 := [monotonicity #3539]: #3541
-#3545 := [monotonicity #3542]: #3544
-#3552 := [trans #3545 #3550]: #3551
-#3555 := [monotonicity #3552]: #3554
-#3558 := [monotonicity #3555]: #3557
-#3565 := [trans #3558 #3563]: #3564
-#3568 := [monotonicity #3565]: #3567
-#3381 := (iff #1631 #3380)
-#3378 := (iff #1628 #3375)
-#3372 := (or #3355 #1625)
-#3376 := (iff #3372 #3375)
-#3377 := [rewrite]: #3376
-#3373 := (iff #1628 #3372)
-#3370 := (iff #1620 #3355)
-#3365 := (not #3356)
-#3368 := (iff #3365 #3355)
-#3369 := [rewrite]: #3368
-#3366 := (iff #1620 #3365)
-#3357 := (iff #1462 #3356)
-#3358 := [rewrite]: #3357
-#3367 := [monotonicity #3358]: #3366
-#3371 := [trans #3367 #3369]: #3370
-#3374 := [monotonicity #3371]: #3373
-#3379 := [trans #3374 #3377]: #3378
-#3382 := [quant-intro #3379]: #3381
-#3363 := (iff #1473 #3362)
-#3360 := (iff #1468 #3359)
-#3361 := [monotonicity #3358]: #3360
-#3364 := [quant-intro #3361]: #3363
-#3571 := [monotonicity #3364 #3382 #3568]: #3570
-#3580 := [trans #3571 #3578]: #3579
-#3731 := [monotonicity #3580 #3728]: #3730
-#3353 := (iff #2804 #3352)
-#3350 := (iff #2801 #3347)
-#3327 := (or #68 #1406)
-#3344 := (or #3327 #3341)
-#3348 := (iff #3344 #3347)
-#3349 := [rewrite]: #3348
-#3345 := (iff #2801 #3344)
-#3342 := (iff #2798 #3341)
-#3343 := [rewrite]: #3342
-#3336 := (iff #1413 #3327)
-#3328 := (not #3327)
-#3331 := (not #3328)
-#3334 := (iff #3331 #3327)
-#3335 := [rewrite]: #3334
-#3332 := (iff #1413 #3331)
-#3329 := (iff #1410 #3328)
-#3330 := [rewrite]: #3329
-#3333 := [monotonicity #3330]: #3332
-#3337 := [trans #3333 #3335]: #3336
-#3346 := [monotonicity #3337 #3343]: #3345
-#3351 := [trans #3346 #3349]: #3350
-#3354 := [quant-intro #3351]: #3353
-#3325 := (iff #2764 #3324)
-#3322 := (iff #2759 #3319)
-#3299 := (or #68 #1388)
-#3316 := (or #3299 #3313)
-#3320 := (iff #3316 #3319)
-#3321 := [rewrite]: #3320
-#3317 := (iff #2759 #3316)
-#3314 := (iff #2753 #3313)
-#3315 := [rewrite]: #3314
-#3308 := (iff #1395 #3299)
-#3300 := (not #3299)
-#3303 := (not #3300)
-#3306 := (iff #3303 #3299)
-#3307 := [rewrite]: #3306
-#3304 := (iff #1395 #3303)
-#3301 := (iff #1392 #3300)
-#3302 := [rewrite]: #3301
-#3305 := [monotonicity #3302]: #3304
-#3309 := [trans #3305 #3307]: #3308
-#3318 := [monotonicity #3309 #3315]: #3317
-#3323 := [trans #3318 #3321]: #3322
-#3326 := [quant-intro #3323]: #3325
-#3297 := (iff #1837 #3296)
-#3294 := (iff #1832 #3291)
-#3277 := (or #3276 #505)
-#3288 := (or #3277 #1416)
-#3292 := (iff #3288 #3291)
-#3293 := [rewrite]: #3292
-#3289 := (iff #1832 #3288)
-#3286 := (iff #517 #3277)
-#3278 := (not #3277)
-#3281 := (not #3278)
-#3284 := (iff #3281 #3277)
-#3285 := [rewrite]: #3284
-#3282 := (iff #517 #3281)
-#3279 := (iff #511 #3278)
-#3280 := [rewrite]: #3279
-#3283 := [monotonicity #3280]: #3282
-#3287 := [trans #3283 #3285]: #3286
-#3290 := [monotonicity #3287]: #3289
-#3295 := [trans #3290 #3293]: #3294
-#3298 := [quant-intro #3295]: #3297
-#3274 := (iff #1821 #3273)
-#3271 := (iff #1818 #3268)
-#3254 := (or #508 #1347)
-#3265 := (or #3254 #1815)
-#3269 := (iff #3265 #3268)
-#3270 := [rewrite]: #3269
-#3266 := (iff #1818 #3265)
-#3263 := (iff #1812 #3254)
-#3255 := (not #3254)
-#3258 := (not #3255)
-#3261 := (iff #3258 #3254)
-#3262 := [rewrite]: #3261
-#3259 := (iff #1812 #3258)
-#3256 := (iff #1807 #3255)
-#3257 := [rewrite]: #3256
-#3260 := [monotonicity #3257]: #3259
-#3264 := [trans #3260 #3262]: #3263
-#3267 := [monotonicity #3264]: #3266
-#3272 := [trans #3267 #3270]: #3271
-#3275 := [quant-intro #3272]: #3274
-#3734 := [monotonicity #3275 #3298 #3326 #3354 #3731]: #3733
-#3745 := [trans #3734 #3743]: #3744
-#3252 := (iff #2715 #3249)
-#3244 := (and #2086 #3241 #2691)
-#3250 := (iff #3244 #3249)
-#3251 := [rewrite]: #3250
-#3245 := (iff #2715 #3244)
-#3242 := (iff #2685 #3241)
-#3239 := (iff #2682 #3230)
-#3231 := (not #3230)
-#3234 := (not #3231)
-#3237 := (iff #3234 #3230)
-#3238 := [rewrite]: #3237
-#3235 := (iff #2682 #3234)
-#3232 := (iff #2679 #3231)
-#3233 := [rewrite]: #3232
-#3236 := [monotonicity #3233]: #3235
-#3240 := [trans #3236 #3238]: #3239
-#3243 := [quant-intro #3240]: #3242
-#3246 := [monotonicity #3243]: #3245
-#3253 := [trans #3246 #3251]: #3252
-#3748 := [monotonicity #3253 #3745]: #3747
-#3227 := (iff #1360 #3226)
-#3224 := (iff #1357 #3221)
-#3207 := (or #78 #1347)
-#3218 := (or #1342 #3207)
-#3222 := (iff #3218 #3221)
-#3223 := [rewrite]: #3222
-#3219 := (iff #1357 #3218)
-#3216 := (iff #1354 #3207)
-#3208 := (not #3207)
-#3211 := (not #3208)
-#3214 := (iff #3211 #3207)
-#3215 := [rewrite]: #3214
-#3212 := (iff #1354 #3211)
-#3209 := (iff #1351 #3208)
-#3210 := [rewrite]: #3209
-#3213 := [monotonicity #3210]: #3212
-#3217 := [trans #3213 #3215]: #3216
-#3220 := [monotonicity #3217]: #3219
-#3225 := [trans #3220 #3223]: #3224
-#3228 := [quant-intro #3225]: #3227
-#3751 := [monotonicity #3228 #3748]: #3750
-#3759 := [trans #3751 #3757]: #3758
-#3205 := (iff #2676 #3204)
-#3202 := (iff #2673 #3199)
-#3185 := (or #2057 #3184)
-#3196 := (or #2664 #3185)
-#3200 := (iff #3196 #3199)
-#3201 := [rewrite]: #3200
-#3197 := (iff #2673 #3196)
-#3194 := (iff #2670 #3185)
-#3186 := (not #3185)
-#3189 := (not #3186)
-#3192 := (iff #3189 #3185)
-#3193 := [rewrite]: #3192
-#3190 := (iff #2670 #3189)
-#3187 := (iff #2667 #3186)
-#3188 := [rewrite]: #3187
-#3191 := [monotonicity #3188]: #3190
-#3195 := [trans #3191 #3193]: #3194
-#3198 := [monotonicity #3195]: #3197
-#3203 := [trans #3198 #3201]: #3202
-#3206 := [monotonicity #3203]: #3205
-#3762 := [monotonicity #3206 #3759]: #3761
-#3182 := (iff #1334 #3181)
-#3179 := (iff #1329 #3176)
-#3162 := (or #77 #2632)
-#3173 := (or #3162 #1322)
-#3177 := (iff #3173 #3176)
-#3178 := [rewrite]: #3177
-#3174 := (iff #1329 #3173)
-#3171 := (iff #460 #3162)
-#3163 := (not #3162)
-#3166 := (not #3163)
-#3169 := (iff #3166 #3162)
-#3170 := [rewrite]: #3169
-#3167 := (iff #460 #3166)
-#3164 := (iff #454 #3163)
-#3165 := [rewrite]: #3164
-#3168 := [monotonicity #3165]: #3167
-#3172 := [trans #3168 #3170]: #3171
-#3175 := [monotonicity #3172]: #3174
-#3180 := [trans #3175 #3178]: #3179
-#3183 := [quant-intro #3180]: #3182
-#3765 := [monotonicity #3183 #3762]: #3764
-#3773 := [trans #3765 #3771]: #3772
-#2534 := (iff #2657 #2421)
-#2199 := (iff #2654 #2166)
-#2042 := (or #2266 #2034)
-#2297 := (or #2042 #2649)
-#2167 := (iff #2297 #2166)
-#2198 := [rewrite]: #2167
-#2499 := (iff #2654 #2297)
-#2138 := (iff #2638 #2042)
-#1973 := (not #2042)
-#2218 := (not #1973)
-#2018 := (iff #2218 #2042)
-#2137 := [rewrite]: #2018
-#2219 := (iff #2638 #2218)
-#1974 := (iff #2635 #1973)
-#2043 := [rewrite]: #1974
-#2017 := [monotonicity #2043]: #2219
-#2296 := [trans #2017 #2137]: #2138
-#2500 := [monotonicity #2296]: #2499
-#2420 := [trans #2500 #2198]: #2199
-#2535 := [monotonicity #2420]: #2534
-#3776 := [monotonicity #2535 #3773]: #3775
-#3779 := [monotonicity #3776]: #3778
-#3786 := [trans #3779 #3784]: #3785
-#3789 := [monotonicity #3786]: #3788
-#3792 := [monotonicity #3789]: #3791
-#3799 := [trans #3792 #3797]: #3798
-#3802 := [monotonicity #3799]: #3801
-#2513 := (* -1::int #2512)
-#2515 := (+ #2514 #2513)
-#2518 := (+ #2517 #2515)
-#2519 := (>= #2518 0::int)
-#2528 := (and #2527 #2523)
-#2529 := (not #2528)
-#2530 := (or #2529 #2519)
-#2531 := (not #2530)
-#2550 := (or #2531 #2546)
-#2489 := (+ #2488 #1707)
-#2492 := (+ #2491 #2489)
-#2493 := (= #2492 0::int)
-#2494 := (>= #2489 0::int)
-#2495 := (not #2494)
-#2496 := (and #2495 #2493)
-#2501 := (or #1716 #2496)
-#2504 := (forall (vars (?x64 T2)) #2501)
-#2554 := (and #2504 #2550)
-#2453 := (+ #2452 #2450)
-#2454 := (= #2453 0::int)
-#2457 := (and #2456 #2454)
-#2473 := (not #2457)
-#2476 := (forall (vars (?x65 T2)) #2473)
-#2462 := (= ?x64!17 uf_11)
-#2463 := (not #2462)
-#2464 := (and #2463 #2461)
-#2465 := (not #2464)
-#2470 := (not #2465)
-#2480 := (and #2470 #2476)
-#2558 := (or #2480 #2554)
-#2438 := (not #1053)
-#2435 := (not #1071)
-#2432 := (not #1044)
-#2429 := (not #1062)
-#2562 := (and #2429 #2432 #2435 #2438 #2444 #2558)
-#2417 := (and #2416 #2413)
-#2311 := (+ #2310 #2308)
-#2312 := (= #2311 0::int)
-#2315 := (and #630 #2314 #2312)
-#2332 := (not #2315)
-#2335 := (forall (vars (?x53 T2)) #2332)
-#2320 := (= ?x52!15 uf_11)
-#2321 := (not #2320)
-#2322 := (and #2321 #2319)
-#2323 := (not #2322)
-#2329 := (not #2323)
-#2339 := (and #2329 #2335)
-#2344 := (and #1541 #2339)
-#2277 := (* -1::int #2276)
-#2279 := (+ #2278 #2277)
-#2282 := (+ #2281 #2279)
-#2283 := (>= #2282 0::int)
-#2290 := (and #2289 #2287)
-#2291 := (not #2290)
-#2292 := (or #2291 #2283)
-#2293 := (not #2292)
-#2348 := (or #2293 #2344)
-#2352 := (and #1517 #2348)
-#2250 := (* -1::int #2249)
-#2252 := (+ #2251 #2250)
-#2253 := (>= #2252 0::int)
-#2259 := (and #2258 #2255)
-#2260 := (not #2259)
-#2261 := (or #2260 #2253)
-#2262 := (not #2261)
-#2356 := (or #2262 #2352)
-#2360 := (and #1498 #2356)
-#2364 := (or #2235 #2360)
-#2229 := (not #1492)
-#2368 := (and #2229 #2364)
-#2372 := (or #1492 #2368)
-#2376 := (and #642 #2372)
-#2213 := (= #2212 #2211)
-#2214 := (or #2213 #2210)
-#2215 := (not #2214)
-#2380 := (or #2215 #2376)
-#2384 := (and #1484 #2380)
-#2191 := (* -1::int #2190)
-#2193 := (+ #2192 #2191)
-#2194 := (>= #2193 0::int)
-#2195 := (not #2194)
-#2388 := (or #2195 #2384)
-#2177 := (not #876)
-#2425 := (and #2177 #588 #1473 #2388 #1631 #1649 #1657 #2417)
-#2566 := (or #2425 #2562)
-#2154 := (+ #2153 #1404)
-#2157 := (+ #2156 #2154)
-#2158 := (= #2157 0::int)
-#2159 := (>= #2154 0::int)
-#2160 := (not #2159)
-#2163 := (and #2162 #2160 #2158)
-#2168 := (or #1413 #2163)
-#2171 := (forall (vars (?x39 T2)) #2168)
-#2126 := (+ #1386 #2125)
-#2128 := (+ #2127 #2126)
-#2129 := (= #2128 0::int)
-#2130 := (+ #2127 #1386)
-#2131 := (>= #2130 0::int)
-#2132 := (not #2131)
-#2134 := (and #2133 #2132 #2129)
-#2141 := (or #2134 #1395)
-#2144 := (forall (vars (?x32 T2)) #2141)
-#2120 := (not #1854)
-#2591 := (and #2120 #2144 #2171 #2566 #1821 #1837 #1846)
-#2087 := (= ?x32!5 uf_11)
-#2088 := (not #2087)
-#2089 := (and #2088 #2086)
-#2090 := (not #2089)
-#2112 := (not #2090)
-#2099 := (and #77 #2098 #2095)
-#2105 := (not #2099)
-#2108 := (forall (vars (?x33 T2)) #2105)
-#2115 := (and #2108 #2112)
-#2595 := (or #2115 #2591)
-#2599 := (and #1360 #2595)
-#2060 := (and #2059 #2058)
-#2061 := (not #2060)
-#2064 := (+ #2063 #2054)
-#2066 := (+ #2065 #2064)
-#2067 := (>= #2066 0::int)
-#2068 := (or #2067 #2061)
-#2069 := (not #2068)
-#2603 := (or #2069 #2599)
-#2607 := (and #1334 #2603)
-#2029 := (* -1::int #2028)
-#2031 := (+ #2030 #2029)
-#2032 := (>= #2031 0::int)
-#2036 := (and #2035 #2033)
-#2037 := (not #2036)
-#2038 := (or #2037 #2032)
-#2039 := (not #2038)
-#2611 := (or #2039 #2607)
-#2615 := (and #1314 #2611)
-#2619 := (or #2014 #2615)
-#1969 := (not #1308)
-#2623 := (and #1969 #2619)
-#2627 := (or #1308 #2623)
-#3160 := (iff #2627 #3159)
-#3157 := (iff #2623 #3156)
-#3154 := (iff #2619 #3153)
-#3151 := (iff #2615 #3150)
-#3148 := (iff #2611 #3147)
-#3145 := (iff #2607 #3144)
-#3142 := (iff #2603 #3141)
-#3139 := (iff #2599 #3138)
-#3136 := (iff #2595 #3135)
-#3133 := (iff #2591 #3130)
-#3127 := (and #109 #2764 #2804 #3124 #1821 #1837 #1846)
-#3131 := (iff #3127 #3130)
-#3132 := [rewrite]: #3131
-#3128 := (iff #2591 #3127)
-#3125 := (iff #2566 #3124)
-#3122 := (iff #2562 #3121)
-#3119 := (iff #2558 #3118)
-#3116 := (iff #2554 #3115)
-#3113 := (iff #2550 #3110)
-#3107 := (or #3104 #2546)
-#3111 := (iff #3107 #3110)
-#3112 := [rewrite]: #3111
-#3108 := (iff #2550 #3107)
-#3105 := (iff #2531 #3104)
-#3102 := (iff #2530 #3101)
-#3099 := (iff #2519 #3096)
-#3087 := (+ #2514 #2517)
-#3088 := (+ #2513 #3087)
-#3091 := (>= #3088 0::int)
-#3097 := (iff #3091 #3096)
-#3098 := [rewrite]: #3097
-#3092 := (iff #2519 #3091)
-#3089 := (= #2518 #3088)
-#3090 := [rewrite]: #3089
-#3093 := [monotonicity #3090]: #3092
-#3100 := [trans #3093 #3098]: #3099
-#3085 := (iff #2529 #3084)
-#3082 := (iff #2528 #3081)
-#3083 := [rewrite]: #3082
-#3086 := [monotonicity #3083]: #3085
-#3103 := [monotonicity #3086 #3100]: #3102
-#3106 := [monotonicity #3103]: #3105
-#3109 := [monotonicity #3106]: #3108
-#3114 := [trans #3109 #3112]: #3113
-#3079 := (iff #2504 #3078)
-#3076 := (iff #2501 #3075)
-#3073 := (iff #2496 #3072)
-#3070 := (iff #2493 #3067)
-#3057 := (+ #2488 #2491)
-#3058 := (+ #1707 #3057)
-#3061 := (= #3058 0::int)
-#3068 := (iff #3061 #3067)
-#3069 := [rewrite]: #3068
-#3062 := (iff #2493 #3061)
-#3059 := (= #2492 #3058)
-#3060 := [rewrite]: #3059
-#3063 := [monotonicity #3060]: #3062
-#3071 := [trans #3063 #3069]: #3070
-#3055 := (iff #2495 #3054)
-#3052 := (iff #2494 #3049)
-#3041 := (+ #1707 #2488)
-#3044 := (>= #3041 0::int)
-#3050 := (iff #3044 #3049)
-#3051 := [rewrite]: #3050
-#3045 := (iff #2494 #3044)
-#3042 := (= #2489 #3041)
-#3043 := [rewrite]: #3042
-#3046 := [monotonicity #3043]: #3045
-#3053 := [trans #3046 #3051]: #3052
-#3056 := [monotonicity #3053]: #3055
-#3074 := [monotonicity #3056 #3071]: #3073
-#3077 := [monotonicity #3074]: #3076
-#3080 := [quant-intro #3077]: #3079
-#3117 := [monotonicity #3080 #3114]: #3116
-#3039 := (iff #2480 #3036)
-#3002 := (and #2461 #2996)
-#3033 := (and #3002 #3030)
-#3037 := (iff #3033 #3036)
-#3038 := [rewrite]: #3037
-#3034 := (iff #2480 #3033)
-#3031 := (iff #2476 #3030)
-#3028 := (iff #2473 #3027)
-#3025 := (iff #2457 #3024)
-#3022 := (iff #2454 #3021)
-#3019 := (= #2453 #3018)
-#3020 := [rewrite]: #3019
-#3023 := [monotonicity #3020]: #3022
-#3026 := [monotonicity #3023]: #3025
-#3029 := [monotonicity #3026]: #3028
-#3032 := [quant-intro #3029]: #3031
-#3015 := (iff #2470 #3002)
-#3007 := (not #3002)
-#3010 := (not #3007)
-#3013 := (iff #3010 #3002)
-#3014 := [rewrite]: #3013
-#3011 := (iff #2470 #3010)
-#3008 := (iff #2465 #3007)
-#3005 := (iff #2464 #3002)
-#2999 := (and #2996 #2461)
-#3003 := (iff #2999 #3002)
-#3004 := [rewrite]: #3003
-#3000 := (iff #2464 #2999)
-#2997 := (iff #2463 #2996)
-#2994 := (iff #2462 #2993)
-#2995 := [rewrite]: #2994
-#2998 := [monotonicity #2995]: #2997
-#3001 := [monotonicity #2998]: #3000
-#3006 := [trans #3001 #3004]: #3005
-#3009 := [monotonicity #3006]: #3008
-#3012 := [monotonicity #3009]: #3011
-#3016 := [trans #3012 #3014]: #3015
-#3035 := [monotonicity #3016 #3032]: #3034
-#3040 := [trans #3035 #3038]: #3039
-#3120 := [monotonicity #3040 #3117]: #3119
-#2991 := (iff #2438 #933)
-#2992 := [rewrite]: #2991
-#2989 := (iff #2435 #930)
-#2990 := [rewrite]: #2989
-#2987 := (iff #2432 #234)
-#2988 := [rewrite]: #2987
-#2985 := (iff #2429 #229)
-#2986 := [rewrite]: #2985
-#3123 := [monotonicity #2986 #2988 #2990 #2992 #3120]: #3122
-#2983 := (iff #2425 #2980)
-#2977 := (and #151 #588 #1473 #2974 #1631 #1649 #1657 #2417)
-#2981 := (iff #2977 #2980)
-#2982 := [rewrite]: #2981
-#2978 := (iff #2425 #2977)
-#2975 := (iff #2388 #2974)
-#2972 := (iff #2384 #2971)
-#2969 := (iff #2380 #2968)
-#2966 := (iff #2376 #2965)
-#2963 := (iff #2372 #2962)
-#2960 := (iff #2368 #2959)
-#2957 := (iff #2364 #2956)
-#2954 := (iff #2360 #2953)
-#2951 := (iff #2356 #2950)
-#2948 := (iff #2352 #2947)
-#2945 := (iff #2348 #2944)
-#2942 := (iff #2344 #2939)
-#2902 := (and #2319 #2896)
-#2933 := (and #2902 #2930)
-#2936 := (and #1541 #2933)
-#2940 := (iff #2936 #2939)
-#2941 := [rewrite]: #2940
-#2937 := (iff #2344 #2936)
-#2934 := (iff #2339 #2933)
-#2931 := (iff #2335 #2930)
-#2928 := (iff #2332 #2927)
-#2925 := (iff #2315 #2924)
-#2922 := (iff #2312 #2921)
-#2919 := (= #2311 #2918)
-#2920 := [rewrite]: #2919
-#2923 := [monotonicity #2920]: #2922
-#2926 := [monotonicity #2923]: #2925
-#2929 := [monotonicity #2926]: #2928
-#2932 := [quant-intro #2929]: #2931
-#2915 := (iff #2329 #2902)
-#2907 := (not #2902)
-#2910 := (not #2907)
-#2913 := (iff #2910 #2902)
-#2914 := [rewrite]: #2913
-#2911 := (iff #2329 #2910)
-#2908 := (iff #2323 #2907)
-#2905 := (iff #2322 #2902)
-#2899 := (and #2896 #2319)
-#2903 := (iff #2899 #2902)
-#2904 := [rewrite]: #2903
-#2900 := (iff #2322 #2899)
-#2897 := (iff #2321 #2896)
-#2894 := (iff #2320 #2893)
-#2895 := [rewrite]: #2894
-#2898 := [monotonicity #2895]: #2897
-#2901 := [monotonicity #2898]: #2900
-#2906 := [trans #2901 #2904]: #2905
-#2909 := [monotonicity #2906]: #2908
-#2912 := [monotonicity #2909]: #2911
-#2916 := [trans #2912 #2914]: #2915
-#2935 := [monotonicity #2916 #2932]: #2934
-#2938 := [monotonicity #2935]: #2937
-#2943 := [trans #2938 #2941]: #2942
-#2891 := (iff #2293 #2890)
-#2888 := (iff #2292 #2887)
-#2885 := (iff #2283 #2882)
-#2872 := (+ #2278 #2281)
-#2873 := (+ #2277 #2872)
-#2876 := (>= #2873 0::int)
-#2883 := (iff #2876 #2882)
-#2884 := [rewrite]: #2883
-#2877 := (iff #2283 #2876)
-#2874 := (= #2282 #2873)
-#2875 := [rewrite]: #2874
-#2878 := [monotonicity #2875]: #2877
-#2886 := [trans #2878 #2884]: #2885
-#2870 := (iff #2291 #2869)
-#2867 := (iff #2290 #2866)
-#2868 := [rewrite]: #2867
-#2871 := [monotonicity #2868]: #2870
-#2889 := [monotonicity #2871 #2886]: #2888
-#2892 := [monotonicity #2889]: #2891
-#2946 := [monotonicity #2892 #2943]: #2945
-#2949 := [monotonicity #2946]: #2948
-#2864 := (iff #2262 #2863)
-#2861 := (iff #2261 #2860)
-#2858 := (iff #2253 #2855)
-#2847 := (+ #2250 #2251)
-#2850 := (>= #2847 0::int)
-#2856 := (iff #2850 #2855)
-#2857 := [rewrite]: #2856
-#2851 := (iff #2253 #2850)
-#2848 := (= #2252 #2847)
-#2849 := [rewrite]: #2848
-#2852 := [monotonicity #2849]: #2851
-#2859 := [trans #2852 #2857]: #2858
-#2845 := (iff #2260 #2844)
-#2842 := (iff #2259 #2841)
-#2843 := [rewrite]: #2842
-#2846 := [monotonicity #2843]: #2845
-#2862 := [monotonicity #2846 #2859]: #2861
-#2865 := [monotonicity #2862]: #2864
-#2952 := [monotonicity #2865 #2949]: #2951
-#2955 := [monotonicity #2952]: #2954
-#2958 := [monotonicity #2955]: #2957
-#2839 := (iff #2229 #173)
-#2840 := [rewrite]: #2839
-#2961 := [monotonicity #2840 #2958]: #2960
-#2964 := [monotonicity #2961]: #2963
-#2967 := [monotonicity #2964]: #2966
-#2837 := (iff #2215 #2836)
-#2834 := (iff #2214 #2831)
-#2828 := (or #2825 #2210)
-#2832 := (iff #2828 #2831)
-#2833 := [rewrite]: #2832
-#2829 := (iff #2214 #2828)
-#2826 := (iff #2213 #2825)
-#2827 := [rewrite]: #2826
-#2830 := [monotonicity #2827]: #2829
-#2835 := [trans #2830 #2833]: #2834
-#2838 := [monotonicity #2835]: #2837
-#2970 := [monotonicity #2838 #2967]: #2969
-#2973 := [monotonicity #2970]: #2972
-#2823 := (iff #2195 #2822)
-#2820 := (iff #2194 #2817)
-#2809 := (+ #2191 #2192)
-#2812 := (>= #2809 0::int)
-#2818 := (iff #2812 #2817)
-#2819 := [rewrite]: #2818
-#2813 := (iff #2194 #2812)
-#2810 := (= #2193 #2809)
-#2811 := [rewrite]: #2810
-#2814 := [monotonicity #2811]: #2813
-#2821 := [trans #2814 #2819]: #2820
-#2824 := [monotonicity #2821]: #2823
-#2976 := [monotonicity #2824 #2973]: #2975
-#2807 := (iff #2177 #151)
-#2808 := [rewrite]: #2807
-#2979 := [monotonicity #2808 #2976]: #2978
-#2984 := [trans #2979 #2982]: #2983
-#3126 := [monotonicity #2984 #3123]: #3125
-#2805 := (iff #2171 #2804)
-#2802 := (iff #2168 #2801)
-#2799 := (iff #2163 #2798)
-#2796 := (iff #2158 #2793)
-#2783 := (+ #2153 #2156)
-#2784 := (+ #1404 #2783)
-#2787 := (= #2784 0::int)
-#2794 := (iff #2787 #2793)
-#2795 := [rewrite]: #2794
-#2788 := (iff #2158 #2787)
-#2785 := (= #2157 #2784)
-#2786 := [rewrite]: #2785
-#2789 := [monotonicity #2786]: #2788
-#2797 := [trans #2789 #2795]: #2796
-#2781 := (iff #2160 #2780)
-#2778 := (iff #2159 #2775)
-#2767 := (+ #1404 #2153)
-#2770 := (>= #2767 0::int)
-#2776 := (iff #2770 #2775)
-#2777 := [rewrite]: #2776
-#2771 := (iff #2159 #2770)
-#2768 := (= #2154 #2767)
-#2769 := [rewrite]: #2768
-#2772 := [monotonicity #2769]: #2771
-#2779 := [trans #2772 #2777]: #2778
-#2782 := [monotonicity #2779]: #2781
-#2800 := [monotonicity #2782 #2797]: #2799
-#2803 := [monotonicity #2800]: #2802
-#2806 := [quant-intro #2803]: #2805
-#2765 := (iff #2144 #2764)
-#2762 := (iff #2141 #2759)
-#2756 := (or #2753 #1395)
-#2760 := (iff #2756 #2759)
-#2761 := [rewrite]: #2760
-#2757 := (iff #2141 #2756)
-#2754 := (iff #2134 #2753)
-#2751 := (iff #2129 #2748)
-#2738 := (+ #2125 #2127)
-#2739 := (+ #1386 #2738)
-#2742 := (= #2739 0::int)
-#2749 := (iff #2742 #2748)
-#2750 := [rewrite]: #2749
-#2743 := (iff #2129 #2742)
-#2740 := (= #2128 #2739)
-#2741 := [rewrite]: #2740
-#2744 := [monotonicity #2741]: #2743
-#2752 := [trans #2744 #2750]: #2751
-#2736 := (iff #2132 #2735)
-#2733 := (iff #2131 #2730)
-#2722 := (+ #1386 #2127)
-#2725 := (>= #2722 0::int)
-#2731 := (iff #2725 #2730)
-#2732 := [rewrite]: #2731
-#2726 := (iff #2131 #2725)
-#2723 := (= #2130 #2722)
-#2724 := [rewrite]: #2723
-#2727 := [monotonicity #2724]: #2726
-#2734 := [trans #2727 #2732]: #2733
-#2737 := [monotonicity #2734]: #2736
-#2755 := [monotonicity #2737 #2752]: #2754
-#2758 := [monotonicity #2755]: #2757
-#2763 := [trans #2758 #2761]: #2762
-#2766 := [quant-intro #2763]: #2765
-#2720 := (iff #2120 #109)
-#2721 := [rewrite]: #2720
-#3129 := [monotonicity #2721 #2766 #2806 #3126]: #3128
-#3134 := [trans #3129 #3132]: #3133
-#2718 := (iff #2115 #2715)
-#2697 := (and #2086 #2691)
-#2712 := (and #2685 #2697)
-#2716 := (iff #2712 #2715)
-#2717 := [rewrite]: #2716
-#2713 := (iff #2115 #2712)
-#2710 := (iff #2112 #2697)
-#2702 := (not #2697)
-#2705 := (not #2702)
-#2708 := (iff #2705 #2697)
-#2709 := [rewrite]: #2708
-#2706 := (iff #2112 #2705)
-#2703 := (iff #2090 #2702)
-#2700 := (iff #2089 #2697)
-#2694 := (and #2691 #2086)
-#2698 := (iff #2694 #2697)
-#2699 := [rewrite]: #2698
-#2695 := (iff #2089 #2694)
-#2692 := (iff #2088 #2691)
-#2689 := (iff #2087 #2688)
-#2690 := [rewrite]: #2689
-#2693 := [monotonicity #2690]: #2692
-#2696 := [monotonicity #2693]: #2695
-#2701 := [trans #2696 #2699]: #2700
-#2704 := [monotonicity #2701]: #2703
-#2707 := [monotonicity #2704]: #2706
-#2711 := [trans #2707 #2709]: #2710
-#2686 := (iff #2108 #2685)
-#2683 := (iff #2105 #2682)
-#2680 := (iff #2099 #2679)
-#2681 := [rewrite]: #2680
-#2684 := [monotonicity #2681]: #2683
-#2687 := [quant-intro #2684]: #2686
-#2714 := [monotonicity #2687 #2711]: #2713
-#2719 := [trans #2714 #2717]: #2718
-#3137 := [monotonicity #2719 #3134]: #3136
-#3140 := [monotonicity #3137]: #3139
-#2677 := (iff #2069 #2676)
-#2674 := (iff #2068 #2673)
-#2671 := (iff #2061 #2670)
-#2668 := (iff #2060 #2667)
-#2669 := [rewrite]: #2668
-#2672 := [monotonicity #2669]: #2671
-#2665 := (iff #2067 #2664)
-#2662 := (= #2066 #2661)
-#2663 := [rewrite]: #2662
-#2666 := [monotonicity #2663]: #2665
-#2675 := [monotonicity #2666 #2672]: #2674
-#2678 := [monotonicity #2675]: #2677
-#3143 := [monotonicity #2678 #3140]: #3142
-#3146 := [monotonicity #3143]: #3145
-#2658 := (iff #2039 #2657)
-#2655 := (iff #2038 #2654)
-#2652 := (iff #2032 #2649)
-#2641 := (+ #2029 #2030)
-#2644 := (>= #2641 0::int)
-#2650 := (iff #2644 #2649)
-#2651 := [rewrite]: #2650
-#2645 := (iff #2032 #2644)
-#2642 := (= #2031 #2641)
-#2643 := [rewrite]: #2642
-#2646 := [monotonicity #2643]: #2645
-#2653 := [trans #2646 #2651]: #2652
-#2639 := (iff #2037 #2638)
-#2636 := (iff #2036 #2635)
-#2637 := [rewrite]: #2636
-#2640 := [monotonicity #2637]: #2639
-#2656 := [monotonicity #2640 #2653]: #2655
-#2659 := [monotonicity #2656]: #2658
-#3149 := [monotonicity #2659 #3146]: #3148
-#3152 := [monotonicity #3149]: #3151
-#3155 := [monotonicity #3152]: #3154
-#2633 := (iff #1969 #81)
-#2634 := [rewrite]: #2633
-#3158 := [monotonicity #2634 #3155]: #3157
-#3161 := [monotonicity #3158]: #3160
-#1943 := (not #1907)
-#2628 := (~ #1943 #2627)
-#2624 := (not #1904)
-#2625 := (~ #2624 #2623)
-#2620 := (not #1901)
-#2621 := (~ #2620 #2619)
-#2616 := (not #1898)
-#2617 := (~ #2616 #2615)
-#2612 := (not #1895)
-#2613 := (~ #2612 #2611)
-#2608 := (not #1892)
-#2609 := (~ #2608 #2607)
-#2604 := (not #1889)
-#2605 := (~ #2604 #2603)
-#2600 := (not #1886)
-#2601 := (~ #2600 #2599)
-#2596 := (not #1883)
-#2597 := (~ #2596 #2595)
-#2592 := (not #1878)
-#2593 := (~ #2592 #2591)
-#2588 := (not #1849)
-#2589 := (~ #2588 #1846)
-#2586 := (~ #1846 #1846)
-#2584 := (~ #1843 #1843)
-#2585 := [refl]: #2584
-#2587 := [nnf-pos #2585]: #2586
-#2590 := [nnf-neg #2587]: #2589
-#2581 := (not #1840)
-#2582 := (~ #2581 #1837)
-#2579 := (~ #1837 #1837)
-#2577 := (~ #1832 #1832)
-#2578 := [refl]: #2577
-#2580 := [nnf-pos #2578]: #2579
-#2583 := [nnf-neg #2580]: #2582
-#2574 := (not #1824)
-#2575 := (~ #2574 #1821)
-#2572 := (~ #1821 #1821)
-#2570 := (~ #1818 #1818)
-#2571 := [refl]: #2570
-#2573 := [nnf-pos #2571]: #2572
-#2576 := [nnf-neg #2573]: #2575
-#2567 := (not #1801)
-#2568 := (~ #2567 #2566)
-#2563 := (not #1796)
-#2564 := (~ #2563 #2562)
-#2559 := (not #1778)
-#2560 := (~ #2559 #2558)
-#2555 := (not #1775)
-#2556 := (~ #2555 #2554)
-#2551 := (not #1772)
-#2552 := (~ #2551 #2550)
-#2547 := (not #1767)
-#2548 := (~ #2547 #2546)
-#2543 := (not #1759)
-#2544 := (~ #2543 #1756)
-#2541 := (~ #1756 #1756)
-#2539 := (~ #1753 #1753)
-#2540 := [refl]: #2539
-#2542 := [nnf-pos #2540]: #2541
-#2545 := [nnf-neg #2542]: #2544
-#2537 := (~ #2536 #2536)
-#2538 := [refl]: #2537
-#2549 := [nnf-neg #2538 #2545]: #2548
-#2532 := (~ #1759 #2531)
-#2533 := [sk]: #2532
-#2553 := [nnf-neg #2533 #2549]: #2552
-#2507 := (not #1741)
-#2508 := (~ #2507 #2504)
-#2505 := (~ #1738 #2504)
-#2502 := (~ #1735 #2501)
-#2497 := (~ #1732 #2496)
-#2498 := [sk]: #2497
-#2485 := (~ #1716 #1716)
-#2486 := [refl]: #2485
-#2503 := [monotonicity #2486 #2498]: #2502
-#2506 := [nnf-pos #2503]: #2505
-#2509 := [nnf-neg #2506]: #2508
-#2557 := [nnf-neg #2509 #2553]: #2556
-#2483 := (~ #1741 #2480)
-#2458 := (exists (vars (?x65 T2)) #2457)
-#2466 := (or #2465 #2458)
-#2467 := (not #2466)
-#2481 := (~ #2467 #2480)
-#2477 := (not #2458)
-#2478 := (~ #2477 #2476)
-#2474 := (~ #2473 #2473)
-#2475 := [refl]: #2474
-#2479 := [nnf-neg #2475]: #2478
-#2471 := (~ #2470 #2470)
-#2472 := [refl]: #2471
-#2482 := [nnf-neg #2472 #2479]: #2481
-#2468 := (~ #1741 #2467)
-#2469 := [sk]: #2468
-#2484 := [trans #2469 #2482]: #2483
-#2561 := [nnf-neg #2484 #2557]: #2560
-#2445 := (~ #1678 #2444)
-#2442 := (~ #2441 #2441)
-#2443 := [refl]: #2442
-#2446 := [nnf-neg #2443]: #2445
-#2439 := (~ #2438 #2438)
-#2440 := [refl]: #2439
-#2436 := (~ #2435 #2435)
-#2437 := [refl]: #2436
-#2433 := (~ #2432 #2432)
-#2434 := [refl]: #2433
-#2430 := (~ #2429 #2429)
-#2431 := [refl]: #2430
-#2565 := [nnf-neg #2431 #2434 #2437 #2440 #2446 #2561]: #2564
-#2426 := (not #1702)
-#2427 := (~ #2426 #2425)
-#2422 := (not #1678)
-#2423 := (~ #2422 #2417)
-#2418 := (~ #1675 #2417)
-#2419 := [sk]: #2418
-#2424 := [nnf-neg #2419]: #2423
-#2406 := (~ #1657 #1657)
-#2407 := [refl]: #2406
-#2403 := (not #1652)
-#2404 := (~ #2403 #1649)
-#2401 := (~ #1649 #1649)
-#2399 := (~ #1644 #1644)
-#2400 := [refl]: #2399
-#2402 := [nnf-pos #2400]: #2401
-#2405 := [nnf-neg #2402]: #2404
-#2396 := (not #1634)
-#2397 := (~ #2396 #1631)
-#2394 := (~ #1631 #1631)
-#2392 := (~ #1628 #1628)
-#2393 := [refl]: #2392
-#2395 := [nnf-pos #2393]: #2394
-#2398 := [nnf-neg #2395]: #2397
-#2389 := (not #1617)
-#2390 := (~ #2389 #2388)
-#2385 := (not #1614)
-#2386 := (~ #2385 #2384)
-#2381 := (not #1611)
-#2382 := (~ #2381 #2380)
-#2377 := (not #1608)
-#2378 := (~ #2377 #2376)
-#2373 := (not #1605)
-#2374 := (~ #2373 #2372)
-#2369 := (not #1602)
-#2370 := (~ #2369 #2368)
-#2365 := (not #1599)
-#2366 := (~ #2365 #2364)
-#2361 := (not #1596)
-#2362 := (~ #2361 #2360)
-#2357 := (not #1593)
-#2358 := (~ #2357 #2356)
-#2353 := (not #1590)
-#2354 := (~ #2353 #2352)
-#2349 := (not #1587)
-#2350 := (~ #2349 #2348)
-#2345 := (not #1584)
-#2346 := (~ #2345 #2344)
-#2326 := (not #1581)
-#2342 := (~ #2326 #2339)
-#2316 := (exists (vars (?x53 T2)) #2315)
-#2324 := (or #2323 #2316)
-#2325 := (not #2324)
-#2340 := (~ #2325 #2339)
-#2336 := (not #2316)
-#2337 := (~ #2336 #2335)
-#2333 := (~ #2332 #2332)
-#2334 := [refl]: #2333
-#2338 := [nnf-neg #2334]: #2337
-#2330 := (~ #2329 #2329)
-#2331 := [refl]: #2330
-#2341 := [nnf-neg #2331 #2338]: #2340
-#2327 := (~ #2326 #2325)
-#2328 := [sk]: #2327
-#2343 := [trans #2328 #2341]: #2342
-#2302 := (not #1544)
-#2303 := (~ #2302 #1541)
-#2300 := (~ #1541 #1541)
-#2298 := (~ #1538 #1538)
-#2299 := [refl]: #2298
-#2301 := [nnf-pos #2299]: #2300
-#2304 := [nnf-neg #2301]: #2303
-#2347 := [nnf-neg #2304 #2343]: #2346
-#2294 := (~ #1544 #2293)
-#2295 := [sk]: #2294
-#2351 := [nnf-neg #2295 #2347]: #2350
-#2271 := (not #1520)
-#2272 := (~ #2271 #1517)
-#2269 := (~ #1517 #1517)
-#2267 := (~ #1512 #1512)
-#2268 := [refl]: #2267
-#2270 := [nnf-pos #2268]: #2269
-#2273 := [nnf-neg #2270]: #2272
-#2355 := [nnf-neg #2273 #2351]: #2354
-#2263 := (~ #1520 #2262)
-#2264 := [sk]: #2263
-#2359 := [nnf-neg #2264 #2355]: #2358
-#2244 := (not #1501)
-#2245 := (~ #2244 #1498)
-#2242 := (~ #1498 #1498)
-#2240 := (~ #1495 #1495)
-#2241 := [refl]: #2240
-#2243 := [nnf-pos #2241]: #2242
-#2246 := [nnf-neg #2243]: #2245
-#2363 := [nnf-neg #2246 #2359]: #2362
-#2236 := (~ #1501 #2235)
-#2237 := [sk]: #2236
-#2367 := [nnf-neg #2237 #2363]: #2366
-#2230 := (~ #2229 #2229)
-#2231 := [refl]: #2230
-#2371 := [nnf-neg #2231 #2367]: #2370
-#2227 := (~ #1492 #1492)
-#2228 := [refl]: #2227
-#2375 := [nnf-neg #2228 #2371]: #2374
-#2224 := (not #824)
-#2225 := (~ #2224 #642)
-#2222 := (~ #642 #642)
-#2220 := (~ #637 #637)
-#2221 := [refl]: #2220
-#2223 := [nnf-pos #2221]: #2222
-#2226 := [nnf-neg #2223]: #2225
-#2379 := [nnf-neg #2226 #2375]: #2378
-#2216 := (~ #824 #2215)
-#2217 := [sk]: #2216
-#2383 := [nnf-neg #2217 #2379]: #2382
-#2204 := (not #1487)
-#2205 := (~ #2204 #1484)
-#2202 := (~ #1484 #1484)
-#2200 := (~ #1479 #1479)
-#2201 := [refl]: #2200
-#2203 := [nnf-pos #2201]: #2202
-#2206 := [nnf-neg #2203]: #2205
-#2387 := [nnf-neg #2206 #2383]: #2386
-#2196 := (~ #1487 #2195)
-#2197 := [sk]: #2196
-#2391 := [nnf-neg #2197 #2387]: #2390
-#2186 := (not #1476)
-#2187 := (~ #2186 #1473)
-#2184 := (~ #1473 #1473)
-#2182 := (~ #1468 #1468)
-#2183 := [refl]: #2182
-#2185 := [nnf-pos #2183]: #2184
-#2188 := [nnf-neg #2185]: #2187
-#2180 := (~ #588 #588)
-#2181 := [refl]: #2180
-#2178 := (~ #2177 #2177)
-#2179 := [refl]: #2178
-#2428 := [nnf-neg #2179 #2181 #2188 #2391 #2398 #2405 #2407 #2424]: #2427
-#2569 := [nnf-neg #2428 #2565]: #2568
-#2174 := (not #1446)
-#2175 := (~ #2174 #2171)
-#2172 := (~ #1443 #2171)
-#2169 := (~ #1440 #2168)
-#2164 := (~ #1437 #2163)
-#2165 := [sk]: #2164
-#2150 := (~ #1413 #1413)
-#2151 := [refl]: #2150
-#2170 := [monotonicity #2151 #2165]: #2169
-#2173 := [nnf-pos #2170]: #2172
-#2176 := [nnf-neg #2173]: #2175
-#2147 := (not #1857)
-#2148 := (~ #2147 #2144)
-#2145 := (~ #1401 #2144)
-#2142 := (~ #1398 #2141)
-#2139 := (~ #1395 #1395)
-#2140 := [refl]: #2139
-#2135 := (~ #1383 #2134)
-#2136 := [sk]: #2135
-#2143 := [monotonicity #2136 #2140]: #2142
-#2146 := [nnf-pos #2143]: #2145
-#2149 := [nnf-neg #2146]: #2148
-#2121 := (~ #2120 #2120)
-#2122 := [refl]: #2121
-#2594 := [nnf-neg #2122 #2149 #2176 #2569 #2576 #2583 #2590]: #2593
-#2118 := (~ #1857 #2115)
-#2100 := (exists (vars (?x33 T2)) #2099)
-#2101 := (or #2100 #2090)
-#2102 := (not #2101)
-#2116 := (~ #2102 #2115)
-#2113 := (~ #2112 #2112)
-#2114 := [refl]: #2113
-#2109 := (not #2100)
-#2110 := (~ #2109 #2108)
-#2106 := (~ #2105 #2105)
-#2107 := [refl]: #2106
-#2111 := [nnf-neg #2107]: #2110
-#2117 := [nnf-neg #2111 #2114]: #2116
-#2103 := (~ #1857 #2102)
-#2104 := [sk]: #2103
-#2119 := [trans #2104 #2117]: #2118
-#2598 := [nnf-neg #2119 #2594]: #2597
-#2078 := (not #1363)
-#2079 := (~ #2078 #1360)
-#2076 := (~ #1360 #1360)
-#2074 := (~ #1357 #1357)
-#2075 := [refl]: #2074
-#2077 := [nnf-pos #2075]: #2076
-#2080 := [nnf-neg #2077]: #2079
-#2602 := [nnf-neg #2080 #2598]: #2601
-#2070 := (~ #1363 #2069)
-#2071 := [sk]: #2070
-#2606 := [nnf-neg #2071 #2602]: #2605
-#2048 := (not #1337)
-#2049 := (~ #2048 #1334)
-#2046 := (~ #1334 #1334)
-#2044 := (~ #1329 #1329)
-#2045 := [refl]: #2044
-#2047 := [nnf-pos #2045]: #2046
-#2050 := [nnf-neg #2047]: #2049
-#2610 := [nnf-neg #2050 #2606]: #2609
-#2040 := (~ #1337 #2039)
-#2041 := [sk]: #2040
-#2614 := [nnf-neg #2041 #2610]: #2613
-#2023 := (not #1317)
-#2024 := (~ #2023 #1314)
-#2021 := (~ #1314 #1314)
-#2019 := (~ #1313 #1313)
-#2020 := [refl]: #2019
-#2022 := [nnf-pos #2020]: #2021
-#2025 := [nnf-neg #2022]: #2024
-#2618 := [nnf-neg #2025 #2614]: #2617
-#2015 := (~ #1317 #2014)
-#2016 := [sk]: #2015
-#2622 := [nnf-neg #2016 #2618]: #2621
-#1970 := (~ #1969 #1969)
-#2010 := [refl]: #1970
-#2626 := [nnf-neg #2010 #2622]: #2625
-#2008 := (~ #1308 #1308)
-#2009 := [refl]: #2008
-#2629 := [nnf-neg #2009 #2626]: #2628
-#1944 := [not-or-elim #1940]: #1943
-#2630 := [mp~ #1944 #2629]: #2627
-#2631 := [mp #2630 #3161]: #3159
-#3803 := [mp #2631 #3802]: #3800
-#4734 := [mp #3803 #4733]: #4731
-#7295 := [unit-resolution #4734 #5487]: #4728
-#4058 := (or #4725 #4719)
-#4059 := [def-axiom]: #4058
-#7296 := [unit-resolution #4059 #7295]: #4719
-#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
-#5901 := (* -1::int #2012)
-#5891 := (+ uf_9 #5901)
-#5892 := (<= #5891 0::int)
-#5472 := (= uf_9 #2012)
-#5745 := (= uf_11 ?x27!0)
-#5918 := (not #5745)
-#5916 := (= #2012 0::int)
-#5836 := (not #5916)
-#5835 := [hypothesis]: #2014
-#5837 := (or #5836 #2013)
-#5896 := [th-lemma]: #5837
-#5922 := [unit-resolution #5896 #5835]: #5836
-#5981 := (or #5347 #5918 #5916)
-#5477 := (= ?x27!0 uf_11)
-#5917 := (not #5477)
-#5890 := (or #5917 #5916)
-#5982 := (or #5347 #5890)
-#5987 := (iff #5982 #5981)
-#5915 := (or #5918 #5916)
-#5984 := (or #5347 #5915)
-#5985 := (iff #5984 #5981)
-#5986 := [rewrite]: #5985
-#6000 := (iff #5982 #5984)
-#5921 := (iff #5890 #5915)
-#5919 := (iff #5917 #5918)
-#5743 := (iff #5477 #5745)
-#5746 := [rewrite]: #5743
-#5920 := [monotonicity #5746]: #5919
-#5980 := [monotonicity #5920]: #5921
-#5979 := [monotonicity #5980]: #6000
-#5988 := [trans #5979 #5986]: #5987
-#5983 := [quant-inst]: #5982
-#6010 := [mp #5983 #5988]: #5981
-#5923 := [unit-resolution #6010 #4740 #5922]: #5918
-#5748 := (or #5472 #5745)
-#4356 := (forall (vars (?x25 T2)) (:pat #4355) #443)
-#4359 := (iff #448 #4356)
-#4357 := (iff #443 #443)
-#4358 := [refl]: #4357
-#4360 := [quant-intro #4358]: #4359
-#1967 := (~ #448 #448)
-#2005 := (~ #443 #443)
-#2006 := [refl]: #2005
-#1968 := [nnf-pos #2006]: #1967
-#1942 := [not-or-elim #1940]: #448
-#2007 := [mp~ #1942 #1968]: #448
-#4361 := [mp #2007 #4360]: #4356
-#5821 := (not #4356)
-#5827 := (or #5821 #5472 #5745)
-#5737 := (or #5477 #5472)
-#5828 := (or #5821 #5737)
-#5894 := (iff #5828 #5827)
-#5830 := (or #5821 #5748)
-#5846 := (iff #5830 #5827)
-#5847 := [rewrite]: #5846
-#5826 := (iff #5828 #5830)
-#5756 := (iff #5737 #5748)
-#5736 := (or #5745 #5472)
-#5752 := (iff #5736 #5748)
-#5753 := [rewrite]: #5752
-#5747 := (iff #5737 #5736)
-#5744 := [monotonicity #5746]: #5747
-#5834 := [trans #5744 #5753]: #5756
-#5831 := [monotonicity #5834]: #5826
-#5895 := [trans #5831 #5847]: #5894
-#5829 := [quant-inst]: #5828
-#5900 := [mp #5829 #5895]: #5827
-#5924 := [unit-resolution #5900 #4361]: #5748
-#5989 := [unit-resolution #5924 #5923]: #5472
-#6012 := (not #5472)
-#6013 := (or #6012 #5892)
-#6014 := [th-lemma]: #6013
-#6042 := [unit-resolution #6014 #5989]: #5892
-#6011 := (<= #2012 0::int)
-#6043 := (or #6011 #2013)
-#6044 := [th-lemma]: #6043
-#6045 := [unit-resolution #6044 #5835]: #6011
-#6046 := [th-lemma #6045 #6042 #377]: false
-#6041 := [lemma #6046]: #2013
-#4053 := (or #4722 #2014 #4716)
-#4054 := [def-axiom]: #4053
-#7297 := [unit-resolution #4054 #6041 #7296]: #4716
-#4077 := (or #4713 #4707)
-#4078 := [def-axiom]: #4077
-#7298 := [unit-resolution #4078 #7297]: #4707
-#4071 := (or #4710 #2421 #4704)
-#4073 := [def-axiom]: #4071
-#7299 := [unit-resolution #4073 #7298 #7294]: #4704
-#4098 := (or #4701 #4695)
-#4099 := [def-axiom]: #4098
-#7300 := [unit-resolution #4099 #7299]: #4695
-#6817 := [hypothesis]: #2059
-#6051 := (or #5709 #3184)
-#6081 := [quant-inst]: #6051
-#6818 := [unit-resolution #6081 #4354 #6817]: false
-#6839 := [lemma #6818]: #3184
-#3960 := (or #3199 #2059)
-#3964 := [def-axiom]: #3960
-#7301 := [unit-resolution #3964 #6839]: #3199
-#4094 := (or #4698 #3204 #4692)
-#4095 := [def-axiom]: #4094
-#7302 := [unit-resolution #4095 #7301 #7300]: #4692
-#4108 := (or #4689 #4683)
-#4129 := [def-axiom]: #4108
-#7303 := [unit-resolution #4129 #7302]: #4683
-#6633 := (= uf_9 #2082)
-#6706 := (not #6633)
-#6684 := [hypothesis]: #4400
-#4274 := (or #4397 #2086)
-#3948 := [def-axiom]: #4274
-#6685 := [unit-resolution #3948 #6684]: #2086
-#6798 := (or #6706 #2085)
-#6840 := [th-lemma]: #6798
-#6835 := [unit-resolution #6840 #6685]: #6706
-#3949 := (or #4397 #2691)
-#4281 := [def-axiom]: #3949
-#6841 := [unit-resolution #4281 #6684]: #2691
-#6695 := (or #5821 #2688 #6633)
-#6680 := (or #2087 #6633)
-#6696 := (or #5821 #6680)
-#6732 := (iff #6696 #6695)
-#6548 := (or #2688 #6633)
-#6694 := (or #5821 #6548)
-#6699 := (iff #6694 #6695)
-#6705 := [rewrite]: #6699
-#6697 := (iff #6696 #6694)
-#6608 := (iff #6680 #6548)
-#6665 := [monotonicity #2690]: #6608
-#6698 := [monotonicity #6665]: #6697
-#6728 := [trans #6698 #6705]: #6732
-#6547 := [quant-inst]: #6696
-#6734 := [mp #6547 #6728]: #6695
-#6842 := [unit-resolution #6734 #4361 #6841 #6835]: false
-#6843 := [lemma #6842]: #4397
-#4116 := (or #4686 #4400 #4680)
-#4117 := [def-axiom]: #4116
-#7304 := [unit-resolution #4117 #6843 #7303]: #4680
-#4149 := (or #4677 #4404)
-#4145 := [def-axiom]: #4149
-#7305 := [unit-resolution #4145 #7304]: #4404
-#24124 := (or #4409 #20405)
-#25438 := [quant-inst]: #24124
-#29563 := [unit-resolution #25438 #7305]: #20405
-#15997 := (* -1::int #15996)
-#15993 := (uf_1 #15992 ?x52!15)
-#15994 := (uf_10 #15993)
-#15995 := (* -1::int #15994)
-#16012 := (+ #15995 #15997)
-#15362 := (uf_4 uf_14 ?x52!15)
-#16013 := (+ #15362 #16012)
-#22006 := (>= #16013 0::int)
-#16016 := (= #16013 0::int)
-#16019 := (not #16016)
-#16004 := (uf_6 uf_15 #15992)
-#16005 := (= uf_8 #16004)
-#16006 := (not #16005)
-#16002 := (+ #15362 #15997)
-#16003 := (<= #16002 0::int)
-#16025 := (or #16003 #16006 #16019)
-#16030 := (not #16025)
-#15397 := (* -1::int #15362)
-#16009 := (+ uf_9 #15397)
-#16010 := (<= #16009 0::int)
-#34324 := (not #16010)
-#15398 := (+ #2306 #15397)
-#14218 := (>= #15398 0::int)
-#15367 := (= #2306 #15362)
-decl uf_3 :: (-> T1 T2)
-#20604 := (uf_3 #15993)
-#32578 := (uf_6 uf_15 #20604)
-#32576 := (= uf_8 #32578)
-#5319 := (uf_6 #150 uf_16)
-#5314 := (= uf_8 #5319)
-decl uf_2 :: (-> T1 T2)
-#6008 := (uf_1 uf_16 uf_11)
-#7128 := (uf_2 #6008)
-#32602 := (= #7128 #20604)
-#32591 := (ite #32602 #5314 #32576)
-#7203 := (uf_7 uf_15 #7128 #5319)
-#32554 := (uf_6 #7203 #20604)
-#32538 := (= uf_8 #32554)
-#32564 := (iff #32538 #32591)
+#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)
 #30 := (:var 1 T5)
 #20 := (:var 2 T2)
 #29 := (:var 3 T4)
 #31 := (uf_7 #29 #20 #30)
 #32 := (uf_6 #31 #11)
-#4314 := (pattern #32)
+#4216 := (pattern #32)
 #36 := (uf_6 #29 #11)
 #335 := (= uf_8 #36)
 #35 := (= #30 uf_8)
@@ -4239,16 +241,16 @@
 #338 := (ite #24 #35 #335)
 #34 := (= #32 uf_8)
 #341 := (iff #34 #338)
-#4315 := (forall (vars (?x10 T4) (?x11 T2) (?x12 T5) (?x13 T2)) (:pat #4314) #341)
+#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)
-#4318 := (iff #344 #4315)
-#4316 := (iff #341 #341)
-#4317 := [refl]: #4316
-#4319 := [quant-intro #4317]: #4318
-#1953 := (~ #344 #344)
-#1989 := (~ #341 #341)
-#1990 := [refl]: #1989
-#1954 := [nnf-pos #1990]: #1953
+#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)
@@ -4263,460 +265,4364 @@
 #346 := [quant-intro #343]: #345
 #333 := [asserted]: #40
 #349 := [mp #333 #346]: #344
-#1991 := [mp~ #349 #1954]: #344
-#4320 := [mp #1991 #4319]: #4315
-#7026 := (not #4315)
-#32561 := (or #7026 #32564)
-#6089 := (= #5319 uf_8)
-#32580 := (= #20604 #7128)
-#32553 := (ite #32580 #6089 #32576)
-#32556 := (= #32554 uf_8)
-#32579 := (iff #32556 #32553)
-#32603 := (or #7026 #32579)
-#32548 := (iff #32603 #32561)
-#32606 := (iff #32561 #32561)
-#32631 := [rewrite]: #32606
-#32629 := (iff #32579 #32564)
-#32535 := (iff #32553 #32591)
-#6101 := (iff #6089 #5314)
-#6102 := [rewrite]: #6101
-#32601 := (iff #32580 #32602)
-#32563 := [rewrite]: #32601
-#32560 := [monotonicity #32563 #6102]: #32535
-#32537 := (iff #32556 #32538)
-#32557 := [rewrite]: #32537
-#32565 := [monotonicity #32557 #32560]: #32629
-#32587 := [monotonicity #32565]: #32548
-#32604 := [trans #32587 #32631]: #32548
-#32558 := [quant-inst]: #32603
-#32623 := [mp #32558 #32604]: #32561
-#32954 := [unit-resolution #32623 #4320]: #32564
-#30313 := (not #32538)
-#8488 := (uf_6 uf_17 ?x52!15)
-#9319 := (= uf_8 #8488)
-#9846 := (not #9319)
-#32968 := (iff #9846 #30313)
-#32955 := (iff #9319 #32538)
-#32985 := (iff #32538 #9319)
-#32980 := (= #32554 #8488)
-#32983 := (= #20604 ?x52!15)
-#20605 := (= ?x52!15 #20604)
-#12 := (uf_1 #10 #11)
-#4294 := (pattern #12)
-#13 := (uf_3 #12)
-#317 := (= #11 #13)
-#4295 := (forall (vars (?x2 T2) (?x3 T2)) (:pat #4294) #317)
-#321 := (forall (vars (?x2 T2) (?x3 T2)) #317)
-#4298 := (iff #321 #4295)
-#4296 := (iff #317 #317)
-#4297 := [refl]: #4296
-#4299 := [quant-intro #4297]: #4298
-#1948 := (~ #321 #321)
-#1980 := (~ #317 #317)
-#1981 := [refl]: #1980
-#1946 := [nnf-pos #1981]: #1948
-#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
-#1982 := [mp~ #326 #1946]: #321
-#4300 := [mp #1982 #4299]: #4295
-#5378 := (not #4295)
-#27981 := (or #5378 #20605)
-#27945 := [quant-inst]: #27981
-#32953 := [unit-resolution #27945 #4300]: #20605
-#32984 := [symm #32953]: #32983
-#8596 := (= #7203 uf_17)
-#8594 := (= #150 uf_17)
-#4147 := (or #4677 #109)
-#4148 := [def-axiom]: #4147
-#7307 := [unit-resolution #4148 #7304]: #109
-#4150 := (or #4677 #4412)
-#4130 := [def-axiom]: #4150
-#8027 := [unit-resolution #4130 #7304]: #4412
-#4137 := (or #4677 #4437)
-#4132 := [def-axiom]: #4137
-#8030 := [unit-resolution #4132 #7304]: #4437
-#5284 := (or #4665 #4442 #4417 #1854)
-#4776 := (uf_4 uf_14 ?x64!17)
-#4777 := (* -1::int #4776)
-#4778 := (+ uf_9 #4777)
-#4779 := (<= #4778 0::int)
-#4845 := (?x40!7 ?x64!17)
-#4941 := (uf_6 uf_15 #4845)
-#4942 := (= uf_8 #4941)
-#4943 := (not #4942)
-#4848 := (uf_4 uf_14 #4845)
-#4849 := (* -1::int #4848)
-#4939 := (+ #4776 #4849)
-#4940 := (<= #4939 0::int)
-#4846 := (uf_1 #4845 ?x64!17)
-#4847 := (uf_10 #4846)
-#4842 := (* -1::int #4847)
-#4926 := (+ #4842 #4849)
-#4927 := (+ #4776 #4926)
-#4930 := (= #4927 0::int)
-#4932 := (not #4930)
-#5006 := (or #4932 #4940 #4943)
-#5242 := [hypothesis]: #4668
-#4159 := (or #4665 #933)
-#4154 := [def-axiom]: #4159
-#5243 := [unit-resolution #4154 #5242]: #933
-#4134 := (or #4665 #4659)
-#4135 := [def-axiom]: #4134
-#5244 := [unit-resolution #4135 #5242]: #4659
-#5245 := [hypothesis]: #109
-#5247 := (= #250 #108)
-#5246 := [symm #5243]: #231
-#5248 := [monotonicity #5246]: #5247
-#5249 := [trans #5248 #5245]: #251
-#4193 := (or #4641 #2536)
-#4198 := [def-axiom]: #4193
-#5250 := [unit-resolution #4198 #5249]: #4641
-#5087 := [hypothesis]: #4412
-#4160 := (or #4665 #4601)
-#4133 := [def-axiom]: #4160
-#5230 := [unit-resolution #4133 #5242]: #4601
-#5100 := (or #3693 #4417 #4606 #1053)
-#4862 := (uf_4 uf_14 ?x67!19)
-#3931 := (uf_4 uf_14 ?x66!20)
-#3932 := (* -1::int #3931)
-#4955 := (+ #3932 #4862)
-#4956 := (+ #2517 #4955)
-#4959 := (>= #4956 0::int)
-#4866 := (uf_6 uf_15 ?x67!19)
-#4867 := (= uf_8 #4866)
-#4863 := (* -1::int #4862)
-#4864 := (+ uf_9 #4863)
-#4865 := (<= #4864 0::int)
-#5068 := (not #4865)
-#5072 := [hypothesis]: #3698
-#4189 := (or #3693 #2523)
-#4186 := [def-axiom]: #4189
-#5073 := [unit-resolution #4186 #5072]: #2523
-#5061 := (+ #2514 #4863)
-#5063 := (>= #5061 0::int)
-#5060 := (= #2514 #4862)
-#5075 := (= #4862 #2514)
-#5074 := [hypothesis]: #933
-#5076 := [monotonicity #5074]: #5075
-#5077 := [symm #5076]: #5060
-#5078 := (not #5060)
-#5079 := (or #5078 #5063)
-#5080 := [th-lemma]: #5079
-#5081 := [unit-resolution #5080 #5077]: #5063
-#5069 := (not #5063)
-#5070 := (or #5068 #5069 #2522)
-#5064 := [hypothesis]: #2523
-#5065 := [hypothesis]: #4865
-#5066 := [hypothesis]: #5063
-#5067 := [th-lemma #5066 #5065 #5064]: false
-#5071 := [lemma #5067]: #5070
-#5082 := [unit-resolution #5071 #5081 #5073]: #5068
-#4869 := (or #4865 #4867)
-#5083 := [hypothesis]: #4601
-#4872 := (or #4606 #4865 #4867)
-#4868 := (or #4867 #4865)
-#4873 := (or #4606 #4868)
-#4880 := (iff #4873 #4872)
-#4875 := (or #4606 #4869)
-#4878 := (iff #4875 #4872)
-#4879 := [rewrite]: #4878
-#4876 := (iff #4873 #4875)
-#4870 := (iff #4868 #4869)
-#4871 := [rewrite]: #4870
-#4877 := [monotonicity #4871]: #4876
-#4881 := [trans #4877 #4879]: #4880
-#4874 := [quant-inst]: #4873
-#4882 := [mp #4874 #4881]: #4872
-#5084 := [unit-resolution #4882 #5083]: #4869
-#5085 := [unit-resolution #5084 #5082]: #4867
-#4953 := (not #4867)
-#5088 := (or #4953 #4959)
-#4190 := (or #3693 #2527)
-#4170 := [def-axiom]: #4190
-#5086 := [unit-resolution #4170 #5072]: #2527
-#4970 := (or #4417 #2526 #4953 #4959)
-#4948 := (+ #4862 #3932)
-#4949 := (+ #2517 #4948)
-#4952 := (>= #4949 0::int)
-#4954 := (or #4953 #2526 #4952)
-#4971 := (or #4417 #4954)
-#4978 := (iff #4971 #4970)
-#4965 := (or #2526 #4953 #4959)
-#4973 := (or #4417 #4965)
-#4976 := (iff #4973 #4970)
-#4977 := [rewrite]: #4976
-#4974 := (iff #4971 #4973)
-#4968 := (iff #4954 #4965)
-#4962 := (or #4953 #2526 #4959)
-#4966 := (iff #4962 #4965)
-#4967 := [rewrite]: #4966
-#4963 := (iff #4954 #4962)
-#4960 := (iff #4952 #4959)
-#4957 := (= #4949 #4956)
-#4958 := [rewrite]: #4957
-#4961 := [monotonicity #4958]: #4960
-#4964 := [monotonicity #4961]: #4963
-#4969 := [trans #4964 #4967]: #4968
-#4975 := [monotonicity #4969]: #4974
-#4979 := [trans #4975 #4977]: #4978
-#4972 := [quant-inst]: #4971
-#4980 := [mp #4972 #4979]: #4970
-#5089 := [unit-resolution #4980 #5087 #5086]: #5088
-#5090 := [unit-resolution #5089 #5085]: #4959
-#4171 := (not #3096)
-#4173 := (or #3693 #4171)
-#4174 := [def-axiom]: #4173
-#5091 := [unit-resolution #4174 #5072]: #4171
-#5054 := (+ #2512 #3932)
-#5058 := (<= #5054 0::int)
-#5053 := (= #2512 #3931)
-#5092 := (= #3931 #2512)
-#5093 := [monotonicity #5074]: #5092
-#5094 := [symm #5093]: #5053
-#5095 := (not #5053)
-#5096 := (or #5095 #5058)
-#5097 := [th-lemma]: #5096
-#5098 := [unit-resolution #5097 #5094]: #5058
-#5099 := [th-lemma #5098 #5091 #5081 #5090]: false
-#5101 := [lemma #5099]: #5100
-#5231 := [unit-resolution #5101 #5230 #5087 #5243]: #3693
-#4181 := (or #4650 #4644 #3698)
-#4182 := [def-axiom]: #4181
-#5232 := [unit-resolution #4182 #5231 #5250]: #4650
-#4161 := (or #4653 #4647)
-#4162 := [def-axiom]: #4161
-#5233 := [unit-resolution #4162 #5232]: #4653
-#4169 := (or #4662 #4622 #4656)
-#4155 := [def-axiom]: #4169
-#5234 := [unit-resolution #4155 #5233 #5244]: #4622
-#4194 := (or #4619 #4611)
-#4195 := [def-axiom]: #4194
-#5229 := [unit-resolution #4195 #5234]: #4611
-#5713 := (or #5006 #4616 #1053)
-#5123 := (uf_4 uf_22 #4845)
-#5136 := (* -1::int #5123)
-#5137 := (+ #2448 #5136)
-#5138 := (<= #5137 0::int)
-#5150 := (+ #4842 #5136)
-#5151 := (+ #2448 #5150)
-#5152 := (= #5151 0::int)
-#5382 := (+ #4848 #5136)
-#5387 := (>= #5382 0::int)
-#5381 := (= #4848 #5123)
-#5643 := (= #5123 #4848)
-#5642 := [symm #5074]: #231
-#5644 := [monotonicity #5642]: #5643
-#5645 := [symm #5644]: #5381
-#5646 := (not #5381)
-#5647 := (or #5646 #5387)
-#5648 := [th-lemma]: #5647
-#5649 := [unit-resolution #5648 #5645]: #5387
-#5119 := (+ #2448 #4777)
-#5121 := (>= #5119 0::int)
-#5118 := (= #2448 #4776)
-#5629 := (= #4776 #2448)
-#5630 := [monotonicity #5074]: #5629
-#5631 := [symm #5630]: #5118
-#5632 := (not #5118)
-#5633 := (or #5632 #5121)
-#5628 := [th-lemma]: #5633
-#5634 := [unit-resolution #5628 #5631]: #5121
-#5040 := (>= #4927 0::int)
-#5005 := (not #5006)
-#5635 := [hypothesis]: #5005
-#5042 := (or #5006 #4930)
-#5043 := [def-axiom]: #5042
-#5636 := [unit-resolution #5043 #5635]: #4930
-#5637 := (or #4932 #5040)
-#5638 := [th-lemma]: #5637
-#5653 := [unit-resolution #5638 #5636]: #5040
-#5386 := (<= #5382 0::int)
-#5654 := (or #5646 #5386)
-#5675 := [th-lemma]: #5654
-#5676 := [unit-resolution #5675 #5645]: #5386
-#5120 := (<= #5119 0::int)
-#5677 := (or #5632 #5120)
-#5678 := [th-lemma]: #5677
-#5679 := [unit-resolution #5678 #5631]: #5120
-#5034 := (<= #4927 0::int)
-#5674 := (or #4932 #5034)
-#5680 := [th-lemma]: #5674
-#5681 := [unit-resolution #5680 #5636]: #5034
-#5562 := (not #5387)
-#5567 := (not #5121)
-#5566 := (not #5040)
-#5779 := (not #5386)
-#5778 := (not #5120)
-#5777 := (not #5034)
-#5572 := (or #5152 #5777 #5778 #5779 #5566 #5567 #5562)
-#5774 := [hypothesis]: #5386
-#5775 := [hypothesis]: #5120
-#5776 := [hypothesis]: #5034
-#5157 := (not #5152)
-#5772 := [hypothesis]: #5157
-#5175 := (>= #5151 0::int)
-#5563 := [hypothesis]: #5387
-#5564 := [hypothesis]: #5121
-#5565 := [hypothesis]: #5040
-#5568 := (or #5175 #5566 #5567 #5562)
-#5569 := [th-lemma]: #5568
-#5570 := [unit-resolution #5569 #5565 #5564 #5563]: #5175
-#5784 := (not #5175)
-#5788 := (or #5784 #5152 #5777 #5778 #5779)
-#5773 := [hypothesis]: #5175
-#5174 := (<= #5151 0::int)
-#5780 := (or #5174 #5777 #5778 #5779)
-#5781 := [th-lemma]: #5780
-#5782 := [unit-resolution #5781 #5776 #5775 #5774]: #5174
-#5783 := (not #5174)
-#5785 := (or #5152 #5783 #5784)
-#5786 := [th-lemma]: #5785
-#5787 := [unit-resolution #5786 #5782 #5773 #5772]: false
-#5789 := [lemma #5787]: #5788
-#5571 := [unit-resolution #5789 #5570 #5772 #5776 #5775 #5774]: false
-#5641 := [lemma #5571]: #5572
-#5682 := [unit-resolution #5641 #5681 #5679 #5676 #5653 #5634 #5649]: #5152
-#5160 := (or #5138 #5157)
-#5683 := [hypothesis]: #4611
-#5163 := (or #4616 #5138 #5157)
-#5122 := (+ #2449 #4847)
-#5124 := (+ #5123 #5122)
-#5125 := (= #5124 0::int)
-#5126 := (not #5125)
-#5127 := (+ #5123 #2449)
-#5128 := (>= #5127 0::int)
-#5129 := (or #5128 #5126)
-#5164 := (or #4616 #5129)
-#5171 := (iff #5164 #5163)
-#5166 := (or #4616 #5160)
-#5169 := (iff #5166 #5163)
-#5170 := [rewrite]: #5169
-#5167 := (iff #5164 #5166)
-#5161 := (iff #5129 #5160)
-#5158 := (iff #5126 #5157)
-#5155 := (iff #5125 #5152)
-#5143 := (+ #4847 #5123)
-#5144 := (+ #2449 #5143)
-#5147 := (= #5144 0::int)
-#5153 := (iff #5147 #5152)
-#5154 := [rewrite]: #5153
-#5148 := (iff #5125 #5147)
-#5145 := (= #5124 #5144)
-#5146 := [rewrite]: #5145
-#5149 := [monotonicity #5146]: #5148
-#5156 := [trans #5149 #5154]: #5155
-#5159 := [monotonicity #5156]: #5158
-#5141 := (iff #5128 #5138)
-#5130 := (+ #2449 #5123)
-#5133 := (>= #5130 0::int)
-#5139 := (iff #5133 #5138)
-#5140 := [rewrite]: #5139
-#5134 := (iff #5128 #5133)
-#5131 := (= #5127 #5130)
-#5132 := [rewrite]: #5131
-#5135 := [monotonicity #5132]: #5134
-#5142 := [trans #5135 #5140]: #5141
-#5162 := [monotonicity #5142 #5159]: #5161
-#5168 := [monotonicity #5162]: #5167
-#5172 := [trans #5168 #5170]: #5171
-#5165 := [quant-inst]: #5164
-#5173 := [mp #5165 #5172]: #5163
-#5684 := [unit-resolution #5173 #5683]: #5160
-#5710 := [unit-resolution #5684 #5682]: #5138
-#5041 := (not #4940)
-#5044 := (or #5006 #5041)
-#5045 := [def-axiom]: #5044
-#5711 := [unit-resolution #5045 #5635]: #5041
-#5712 := [th-lemma #5634 #5711 #5649 #5710]: false
-#5714 := [lemma #5712]: #5713
-#5235 := [unit-resolution #5714 #5229 #5243]: #5006
-#5238 := (or #4779 #5005)
-#4191 := (or #4619 #2996)
-#4192 := [def-axiom]: #4191
-#5236 := [unit-resolution #4192 #5234]: #2996
-#5237 := [hypothesis]: #4437
-#5023 := (or #4442 #2993 #4779 #5005)
-#4850 := (+ #4849 #4842)
-#4851 := (+ #4776 #4850)
-#4852 := (= #4851 0::int)
-#4938 := (not #4852)
-#4944 := (or #4943 #4940 #4938)
-#4945 := (not #4944)
-#4946 := (or #2462 #4779 #4945)
-#5025 := (or #4442 #4946)
-#5031 := (iff #5025 #5023)
-#5013 := (or #2993 #4779 #5005)
-#5027 := (or #4442 #5013)
-#5024 := (iff #5027 #5023)
-#5030 := [rewrite]: #5024
-#5028 := (iff #5025 #5027)
-#5014 := (iff #4946 #5013)
-#5011 := (iff #4945 #5005)
-#5009 := (iff #4944 #5006)
-#4935 := (or #4943 #4940 #4932)
-#5007 := (iff #4935 #5006)
-#5008 := [rewrite]: #5007
-#4950 := (iff #4944 #4935)
-#4933 := (iff #4938 #4932)
-#4925 := (iff #4852 #4930)
-#4928 := (= #4851 #4927)
-#4929 := [rewrite]: #4928
-#4931 := [monotonicity #4929]: #4925
-#4934 := [monotonicity #4931]: #4933
-#4951 := [monotonicity #4934]: #4950
-#5010 := [trans #4951 #5008]: #5009
-#5012 := [monotonicity #5010]: #5011
-#5015 := [monotonicity #2995 #5012]: #5014
-#5029 := [monotonicity #5015]: #5028
-#5032 := [trans #5029 #5030]: #5031
-#5026 := [quant-inst]: #5025
-#5033 := [mp #5026 #5032]: #5023
-#5239 := [unit-resolution #5033 #5237 #5236]: #5238
-#5254 := [unit-resolution #5239 #5235]: #4779
-#4200 := (or #4619 #2461)
-#4207 := [def-axiom]: #4200
-#5255 := [unit-resolution #4207 #5234]: #2461
-#5280 := [monotonicity #5243]: #5629
-#5281 := [symm #5280]: #5118
-#5282 := [unit-resolution #5628 #5281]: #5121
-#5283 := [th-lemma #5282 #5255 #5254]: false
-#5279 := [lemma #5283]: #5284
-#8031 := [unit-resolution #5279 #8030 #8027 #7307]: #4665
-#4138 := (or #4677 #4671)
-#4106 := [def-axiom]: #4138
-#7357 := [unit-resolution #4106 #7304]: #4671
-#4143 := (or #4674 #4598 #4668)
-#4144 := [def-axiom]: #4143
-#7389 := [unit-resolution #4144 #7357 #8031]: #4598
-#4125 := (or #4595 #151)
-#4126 := [def-axiom]: #4125
-#8578 := [unit-resolution #4126 #7389]: #151
-#8595 := [symm #8578]: #8594
-#8592 := (= #7203 #150)
+#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