restored the MESON examples file HOL/ex/mesontest2.ML
authorpaulson
Thu, 23 Mar 2000 10:22:08 +0100
changeset 8557fe75fe482566
parent 8556 52ef986bd0a6
child 8558 6c4860b1828d
restored the MESON examples file HOL/ex/mesontest2.ML
src/HOL/IsaMakefile
src/HOL/ex/ROOT.ML
src/HOL/ex/mesontest2.ML
     1.1 --- a/src/HOL/IsaMakefile	Wed Mar 22 13:23:57 2000 +0100
     1.2 +++ b/src/HOL/IsaMakefile	Thu Mar 23 10:22:08 2000 +0100
     1.3 @@ -418,7 +418,8 @@
     1.4    ex/Primrec.ML ex/Primrec.thy \
     1.5    ex/Puzzle.ML ex/Puzzle.thy ex/Qsort.ML ex/Qsort.thy \
     1.6    ex/ROOT.ML ex/Recdefs.ML ex/Recdefs.thy ex/cla.ML ex/meson.ML \
     1.7 -  ex/mesontest.ML ex/set.ML ex/Group.ML ex/Group.thy ex/IntRing.ML \
     1.8 +  ex/mesontest.ML ex/mesontest2.ML ex/set.ML \
     1.9 +  ex/Group.ML ex/Group.thy ex/IntRing.ML \
    1.10    ex/IntRing.thy ex/IntRingDefs.ML ex/IntRingDefs.thy ex/Lagrange.ML \
    1.11    ex/Lagrange.thy ex/Ring.ML ex/Ring.thy ex/StringEx.ML \
    1.12    ex/StringEx.thy ex/Tarski.ML ex/Tarski.thy \
     2.1 --- a/src/HOL/ex/ROOT.ML	Wed Mar 22 13:23:57 2000 +0100
     2.2 +++ b/src/HOL/ex/ROOT.ML	Thu Mar 23 10:22:08 2000 +0100
     2.3 @@ -21,6 +21,7 @@
     2.4  time_use     "cla.ML";
     2.5  time_use     "meson.ML";
     2.6  time_use     "mesontest.ML";
     2.7 +time_use     "mesontest2.ML";
     2.8  time_use_thy "BT";
     2.9  time_use_thy "InSort";
    2.10  time_use_thy "Qsort";
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/src/HOL/ex/mesontest2.ML	Thu Mar 23 10:22:08 2000 +0100
     3.3 @@ -0,0 +1,3467 @@
     3.4 +(*  Title:      HOL/ex/mesontest2
     3.5 +    ID:         $Id$
     3.6 +    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
     3.7 +    Copyright   2000  University of Cambridge
     3.8 +
     3.9 +MORE and MUCH HARDER test data for the MESON proof procedure
    3.10 +
    3.11 +Courtesy John Harrison 
    3.12 +*)
    3.13 +
    3.14 +(*All but the fastest are ignored to reduce build time*)
    3.15 +val even_hard_ones = false;
    3.16 +
    3.17 +(*Prod.thy instead of HOL.thy regards arguments as tuples.
    3.18 +  But Main.thy would allow clashes with many other constants*)
    3.19 +fun prove (s,tac) = prove_goal Prod.thy s (fn [] => [tac]);
    3.20 +
    3.21 +fun prove_hard arg = if even_hard_ones then prove arg else TrueI;
    3.22 +
    3.23 +val meson_tac = safe_meson_tac 1;
    3.24 +
    3.25 +set proof_timing;
    3.26 +
    3.27 +(* ========================================================================= *)
    3.28 +(* 100 problems selected from the TPTP library                               *)
    3.29 +(* ========================================================================= *)
    3.30 +
    3.31 +(*
    3.32 + * Original timings for John Harrison's MESON_TAC.
    3.33 + * Timings below on a 600MHz Pentium III (perch)
    3.34 + * 
    3.35 + * A few variable names have been primed to avoid clashing with constants.
    3.36 + *
    3.37 + * Changed numeric constants e.g. 0, 1, 2... to num0, num1, num2...
    3.38 + *
    3.39 + * Here's a list giving typical CPU times, as well as common names and
    3.40 + * literature references.
    3.41 + *
    3.42 + * BOO003-1     34.6    B2 part 1 [McCharen, et al., 1976]; Lemma proved [Overbeek, et al., 1976]; prob2_part1.ver1.in [ANL]
    3.43 + * BOO004-1     36.7    B2 part 2 [McCharen, et al., 1976]; Lemma proved [Overbeek, et al., 1976]; prob2_part2.ver1 [ANL]
    3.44 + * BOO005-1     47.4    B3 part 1 [McCharen, et al., 1976]; B5 [McCharen, et al., 1976]; Lemma proved [Overbeek, et al., 1976]; prob3_part1.ver1.in [ANL]
    3.45 + * BOO006-1     48.4    B3 part 2 [McCharen, et al., 1976]; B6 [McCharen, et al., 1976]; Lemma proved [Overbeek, et al., 1976]; prob3_part2.ver1 [ANL]
    3.46 + * BOO011-1     19.0    B7 [McCharen, et al., 1976]; prob7.ver1 [ANL]
    3.47 + * CAT001-3     45.2    C1 [McCharen, et al., 1976]; p1.ver3.in [ANL]
    3.48 + * CAT003-3     10.5    C3 [McCharen, et al., 1976]; p3.ver3.in [ANL]
    3.49 + * CAT005-1    480.1    C5 [McCharen, et al., 1976]; p5.ver1.in [ANL]
    3.50 + * CAT007-1     11.9    C7 [McCharen, et al., 1976]; p7.ver1.in [ANL]
    3.51 + * CAT018-1     81.3    p18.ver1.in [ANL]
    3.52 + * COL001-2     16.0    C1 [Wos & McCune, 1988]
    3.53 + * COL023-1      5.1    [McCune & Wos, 1988]
    3.54 + * COL032-1     15.8    [McCune & Wos, 1988]
    3.55 + * COL052-2     13.2    bird4.ver2.in [ANL]
    3.56 + * COL075-2    116.9    [Jech, 1994]
    3.57 + * COM001-1      1.7    shortburst [Wilson & Minker, 1976]
    3.58 + * COM002-1      4.4    burstall [Wilson & Minker, 1976]
    3.59 + * COM002-2      7.4
    3.60 + * COM003-2     22.1    [Brushi, 1991]
    3.61 + * COM004-1     45.1
    3.62 + * GEO003-1     71.7    T3 [McCharen, et al., 1976]; t3.ver1.in [ANL]
    3.63 + * GEO017-2     78.8    D4.1 [Quaife, 1989]
    3.64 + * GEO027-3    181.5    D10.1 [Quaife, 1989]
    3.65 + * GEO058-2    104.0    R4 [Quaife, 1989]
    3.66 + * GEO079-1      2.4    GEOMETRY THEOREM [Slagle, 1967]
    3.67 + * GRP001-1     47.8    CADE-11 Competition 1 [Overbeek, 1990]; G1 [McCharen, et al., 1976]; THEOREM 1 [Lusk & McCune, 1993]; wos10 [Wilson & Minker, 1976]; xsquared.ver1.in [ANL]; [Robinson, 1963]
    3.68 + * GRP008-1     50.4    Problem 4 [Wos, 1965]; wos4 [Wilson & Minker, 1976]
    3.69 + * GRP013-1     40.2    Problem 11 [Wos, 1965]; wos11 [Wilson & Minker, 1976]
    3.70 + * GRP037-3     43.8    Problem 17 [Wos, 1965]; wos17 [Wilson & Minker, 1976]
    3.71 + * GRP031-2      3.2    ls23 [Lawrence & Starkey, 1974]; ls23 [Wilson & Minker, 1976]
    3.72 + * GRP034-4      2.5    ls26 [Lawrence & Starkey, 1974]; ls26 [Wilson & Minker, 1976]
    3.73 + * GRP047-2     11.7    [Veroff, 1992]
    3.74 + * GRP130-1    170.6    Bennett QG8 [TPTP]; QG8 [Slaney, 1993]
    3.75 + * GRP156-1     48.7    ax_mono1c [Schulz, 1995]
    3.76 + * GRP168-1    159.1    p01a [Schulz, 1995]
    3.77 + * HEN003-3     39.9    HP3 [McCharen, et al., 1976]
    3.78 + * HEN007-2    125.7    H7 [McCharen, et al., 1976]
    3.79 + * HEN008-4     62.0    H8 [McCharen, et al., 1976]
    3.80 + * HEN009-5    136.3    H9 [McCharen, et al., 1976]; hp9.ver3.in [ANL]
    3.81 + * HEN012-3     48.5    new.ver2.in [ANL]
    3.82 + * LCL010-1    370.9    EC-73 [McCune & Wos, 1992]; ec_yq.in [OTTER]
    3.83 + * LCL077-2     51.6    morgan.two.ver1.in [ANL]
    3.84 + * LCL082-1     14.6    IC-1.1 [Wos, et al., 1990]; IC-65 [McCune & Wos, 1992]; ls2 [SETHEO]; S1 [Pfenning, 1988]
    3.85 + * LCL111-1    585.6    CADE-11 Competition 6 [Overbeek, 1990]; mv25.in [OTTER]; MV-57 [McCune & Wos, 1992]; mv.in part 2 [OTTER]; ovb6 [SETHEO]; THEOREM 6 [Lusk & McCune, 1993]
    3.86 + * LCL143-1     10.9    Lattice structure theorem 2 [Bonacina, 1991]
    3.87 + * LCL182-1    271.6    Problem 2.16 [Whitehead & Russell, 1927]
    3.88 + * LCL200-1     12.0    Problem 2.46 [Whitehead & Russell, 1927]
    3.89 + * LCL215-1    214.4    Problem 2.62 [Whitehead & Russell, 1927]; Problem 2.63 [Whitehead & Russell, 1927]
    3.90 + * LCL230-2      0.2    Pelletier 5 [Pelletier, 1986]
    3.91 + * LDA003-1     68.5    Problem 3 [Jech, 1993]
    3.92 + * MSC002-1      9.2    DBABHP [Michie, et al., 1972]; DBABHP [Wilson & Minker, 1976]
    3.93 + * MSC003-1      3.2    HASPARTS-T1 [Wilson & Minker, 1976]
    3.94 + * MSC004-1      9.3    HASPARTS-T2 [Wilson & Minker, 1976]
    3.95 + * MSC005-1      1.8    Problem 5.1 [Plaisted, 1982]
    3.96 + * MSC006-1     39.0    nonob.lop [SETHEO]
    3.97 + * NUM001-1     14.0    Chang-Lee-10a [Chang, 1970]; ls28 [Lawrence & Starkey, 1974]; ls28 [Wilson & Minker, 1976]
    3.98 + * NUM021-1     52.3    ls65 [Lawrence & Starkey, 1974]; ls65 [Wilson & Minker, 1976]
    3.99 + * NUM024-1     64.6    ls75 [Lawrence & Starkey, 1974]; ls75 [Wilson & Minker, 1976]
   3.100 + * NUM180-1    621.2    LIM2.1 [Quaife]
   3.101 + * NUM228-1    575.9    TRECDEF4 cor. [Quaife]
   3.102 + * PLA002-1     37.4    Problem 5.7 [Plaisted, 1982]
   3.103 + * PLA006-1      7.2    [Segre & Elkan, 1994]
   3.104 + * PLA017-1    484.8    [Segre & Elkan, 1994]
   3.105 + * PLA022-1     19.1    [Segre & Elkan, 1994]
   3.106 + * PLA022-2     19.7    [Segre & Elkan, 1994]
   3.107 + * PRV001-1     10.3    PV1 [McCharen, et al., 1976]
   3.108 + * PRV003-1      3.9    E2 [McCharen, et al., 1976]; v2.lop [SETHEO]
   3.109 + * PRV005-1      4.3    E4 [McCharen, et al., 1976]; v4.lop [SETHEO]
   3.110 + * PRV006-1      6.0    E5 [McCharen, et al., 1976]; v5.lop [SETHEO]
   3.111 + * PRV009-1      2.2    Hoares FIND [Bledsoe, 1977]; Problem 5.5 [Plaisted, 1982]
   3.112 + * PUZ012-1      3.5    Boxes-of-fruit [Wos, 1988]; Boxes-of-fruit [Wos, et al., 1992]; boxes.ver1.in [ANL]
   3.113 + * PUZ020-1     56.6    knightknave.in [ANL]
   3.114 + * PUZ025-1     58.4    Problem 35 [Smullyan, 1978]; tandl35.ver1.in [ANL]
   3.115 + * PUZ029-1      5.1    pigs.ver1.in [ANL]
   3.116 + * RNG001-3     82.4    EX6-T? [Wilson & Minker, 1976]; ex6.lop [SETHEO]; Example 6a [Fleisig, et al., 1974]; FEX6T1 [SPRFN]; FEX6T2 [SPRFN]
   3.117 + * RNG001-5    399.8    Problem 21 [Wos, 1965]; wos21 [Wilson & Minker, 1976]
   3.118 + * RNG011-5      8.4    CADE-11 Competition Eq-10 [Overbeek, 1990]; PROBLEM 10 [Zhang, 1993]; THEOREM EQ-10 [Lusk & McCune, 1993]
   3.119 + * RNG023-6      9.1    [Stevens, 1987]
   3.120 + * RNG028-2      9.3    PROOF III [Anantharaman & Hsiang, 1990]
   3.121 + * RNG038-2     16.2    Problem 27 [Wos, 1965]; wos27 [Wilson & Minker, 1976]
   3.122 + * RNG040-2    180.5    Problem 29 [Wos, 1965]; wos29 [Wilson & Minker, 1976]
   3.123 + * RNG041-1     35.8    Problem 30 [Wos, 1965]; wos30 [Wilson & Minker, 1976]
   3.124 + * ROB010-1    205.0    Lemma 3.3 [Winker, 1990]; RA2 [Lusk & Wos, 1992]
   3.125 + * ROB013-1     23.6    Lemma 3.5 [Winker, 1990]
   3.126 + * ROB016-1     15.2    Corollary 3.7 [Winker, 1990]
   3.127 + * ROB021-1    230.4    [McCune, 1992]
   3.128 + * SET005-1    192.2    ls108 [Lawrence & Starkey, 1974]; ls108 [Wilson & Minker, 1976]
   3.129 + * SET009-1     10.5    ls116 [Lawrence & Starkey, 1974]; ls116 [Wilson & Minker, 1976]
   3.130 + * SET025-4    694.7    Lemma 10 [Boyer, et al, 1986]
   3.131 + * SET046-5      2.3    p42.in [ANL]; Pelletier 42 [Pelletier, 1986]
   3.132 + * SET047-5      3.7    p43.in [ANL]; Pelletier 43 [Pelletier, 1986]
   3.133 + * SYN034-1      2.8    QW [Michie, et al., 1972]; QW [Wilson & Minker, 1976]
   3.134 + * SYN071-1      1.9    Pelletier 48 [Pelletier, 1986]
   3.135 + * SYN349-1     61.7    Ch17N5 [Tammet, 1994]
   3.136 + * SYN352-1      5.5    Ch18N4 [Tammet, 1994]
   3.137 + * TOP001-2     61.1    Lemma 1a [Wick & McCune, 1989]
   3.138 + * TOP002-2      0.4    Lemma 1b [Wick & McCune, 1989]
   3.139 + * TOP004-1    181.6    Lemma 1d [Wick & McCune, 1989]
   3.140 + * TOP004-2      9.0    Lemma 1d [Wick & McCune, 1989]
   3.141 + * TOP005-2    139.8    Lemma 1e [Wick & McCune, 1989]
   3.142 + *)
   3.143 +
   3.144 +(*51194 inferences so far.  Searching to depth 13.  232.9 secs*)
   3.145 +val BOO003_1 = prove_hard
   3.146 + ("(! X. equal(X::'a,X)) &  \
   3.147 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.148 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.149 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   3.150 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
   3.151 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
   3.152 +\  (! Y X Z. product(X::'a,Y,Z) --> product(Y::'a,X,Z)) &       \
   3.153 +\  (! X. sum(additive_identity::'a,X,X)) &  \
   3.154 +\  (! X. sum(X::'a,additive_identity,X)) &  \
   3.155 +\  (! X. product(multiplicative_identity::'a,X,X)) &        \
   3.156 +\  (! X. product(X::'a,multiplicative_identity,X)) &        \
   3.157 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
   3.158 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
   3.159 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
   3.160 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
   3.161 +\  (! Y Z X V3 V1 V2 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & sum(X::'a,V3,V4) --> product(V1::'a,V2,V4)) &    \
   3.162 +\  (! Y Z V1 V2 X V3 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(X::'a,V3,V4)) &    \
   3.163 +\  (! Y Z V3 X V1 V2 V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & sum(V3::'a,X,V4) --> product(V1::'a,V2,V4)) &    \
   3.164 +\  (! Y Z V1 V2 V3 X V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(V3::'a,X,V4)) &    \
   3.165 +\  (! X. sum(inverse(X),X,multiplicative_identity)) &   \
   3.166 +\  (! X. sum(X::'a,inverse(X),multiplicative_identity)) &   \
   3.167 +\  (! X. product(inverse(X),X,additive_identity)) &     \
   3.168 +\  (! X. product(X::'a,inverse(X),additive_identity)) &     \
   3.169 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.170 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.171 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
   3.172 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
   3.173 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
   3.174 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
   3.175 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
   3.176 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
   3.177 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
   3.178 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
   3.179 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
   3.180 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   3.181 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   3.182 +\  (~product(x::'a,x,x)) --> False",
   3.183 +  meson_tac);
   3.184 +
   3.185 +(*51194 inferences so far.  Searching to depth 13. 204.6 secs
   3.186 +  Strange!  The previous problem also has 51194 inferences at depth 13.  They
   3.187 +   must be very similar!*)
   3.188 +val BOO004_1 = prove_hard
   3.189 + ("(! X. equal(X::'a,X)) &  \
   3.190 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.191 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.192 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   3.193 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
   3.194 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
   3.195 +\  (! Y X Z. product(X::'a,Y,Z) --> product(Y::'a,X,Z)) &       \
   3.196 +\  (! X. sum(additive_identity::'a,X,X)) &  \
   3.197 +\  (! X. sum(X::'a,additive_identity,X)) &  \
   3.198 +\  (! X. product(multiplicative_identity::'a,X,X)) &        \
   3.199 +\  (! X. product(X::'a,multiplicative_identity,X)) &        \
   3.200 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
   3.201 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
   3.202 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
   3.203 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
   3.204 +\  (! Y Z X V3 V1 V2 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & sum(X::'a,V3,V4) --> product(V1::'a,V2,V4)) &    \
   3.205 +\  (! Y Z V1 V2 X V3 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(X::'a,V3,V4)) &    \
   3.206 +\  (! Y Z V3 X V1 V2 V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & sum(V3::'a,X,V4) --> product(V1::'a,V2,V4)) &    \
   3.207 +\  (! Y Z V1 V2 V3 X V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(V3::'a,X,V4)) &    \
   3.208 +\  (! X. sum(inverse(X),X,multiplicative_identity)) &   \
   3.209 +\  (! X. sum(X::'a,inverse(X),multiplicative_identity)) &   \
   3.210 +\  (! X. product(inverse(X),X,additive_identity)) &     \
   3.211 +\  (! X. product(X::'a,inverse(X),additive_identity)) &     \
   3.212 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.213 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.214 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
   3.215 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
   3.216 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
   3.217 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
   3.218 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
   3.219 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
   3.220 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
   3.221 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
   3.222 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
   3.223 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   3.224 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   3.225 +\  (~sum(x::'a,x,x)) --> False",
   3.226 +  meson_tac);
   3.227 +
   3.228 +(*74799 inferences so far.  Searching to depth 13.  290.0 secs*)
   3.229 +val BOO005_1 = prove_hard
   3.230 + ("(! X. equal(X::'a,X)) &  \
   3.231 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.232 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.233 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   3.234 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
   3.235 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
   3.236 +\  (! Y X Z. product(X::'a,Y,Z) --> product(Y::'a,X,Z)) &       \
   3.237 +\  (! X. sum(additive_identity::'a,X,X)) &  \
   3.238 +\  (! X. sum(X::'a,additive_identity,X)) &  \
   3.239 +\  (! X. product(multiplicative_identity::'a,X,X)) &        \
   3.240 +\  (! X. product(X::'a,multiplicative_identity,X)) &        \
   3.241 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
   3.242 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
   3.243 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
   3.244 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
   3.245 +\  (! Y Z X V3 V1 V2 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & sum(X::'a,V3,V4) --> product(V1::'a,V2,V4)) &    \
   3.246 +\  (! Y Z V1 V2 X V3 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(X::'a,V3,V4)) &    \
   3.247 +\  (! Y Z V3 X V1 V2 V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & sum(V3::'a,X,V4) --> product(V1::'a,V2,V4)) &    \
   3.248 +\  (! Y Z V1 V2 V3 X V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(V3::'a,X,V4)) &    \
   3.249 +\  (! X. sum(inverse(X),X,multiplicative_identity)) &   \
   3.250 +\  (! X. sum(X::'a,inverse(X),multiplicative_identity)) &   \
   3.251 +\  (! X. product(inverse(X),X,additive_identity)) &     \
   3.252 +\  (! X. product(X::'a,inverse(X),additive_identity)) &     \
   3.253 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.254 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.255 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
   3.256 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
   3.257 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
   3.258 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
   3.259 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
   3.260 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
   3.261 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
   3.262 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
   3.263 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
   3.264 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   3.265 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   3.266 +\  (~sum(x::'a,multiplicative_identity,multiplicative_identity)) --> False",
   3.267 +  meson_tac);
   3.268 +
   3.269 +(*74799 inferences so far.  Searching to depth 13.  314.6 secs*)
   3.270 +val BOO006_1 = prove_hard
   3.271 + ("(! X. equal(X::'a,X)) &  \
   3.272 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.273 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.274 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   3.275 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
   3.276 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
   3.277 +\  (! Y X Z. product(X::'a,Y,Z) --> product(Y::'a,X,Z)) &       \
   3.278 +\  (! X. sum(additive_identity::'a,X,X)) &  \
   3.279 +\  (! X. sum(X::'a,additive_identity,X)) &  \
   3.280 +\  (! X. product(multiplicative_identity::'a,X,X)) &        \
   3.281 +\  (! X. product(X::'a,multiplicative_identity,X)) &        \
   3.282 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
   3.283 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
   3.284 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
   3.285 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
   3.286 +\  (! Y Z X V3 V1 V2 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & sum(X::'a,V3,V4) --> product(V1::'a,V2,V4)) &    \
   3.287 +\  (! Y Z V1 V2 X V3 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(X::'a,V3,V4)) &    \
   3.288 +\  (! Y Z V3 X V1 V2 V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & sum(V3::'a,X,V4) --> product(V1::'a,V2,V4)) &    \
   3.289 +\  (! Y Z V1 V2 V3 X V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(V3::'a,X,V4)) &    \
   3.290 +\  (! X. sum(inverse(X),X,multiplicative_identity)) &   \
   3.291 +\  (! X. sum(X::'a,inverse(X),multiplicative_identity)) &   \
   3.292 +\  (! X. product(inverse(X),X,additive_identity)) &     \
   3.293 +\  (! X. product(X::'a,inverse(X),additive_identity)) &     \
   3.294 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.295 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.296 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
   3.297 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
   3.298 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
   3.299 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
   3.300 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
   3.301 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
   3.302 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
   3.303 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
   3.304 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
   3.305 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   3.306 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   3.307 +\  (~product(x::'a,additive_identity,additive_identity)) --> False",
   3.308 +  meson_tac);
   3.309 +
   3.310 +(*5 inferences so far.  Searching to depth 5.  1.3 secs*)
   3.311 +val BOO011_1 = prove
   3.312 + ("(! X. equal(X::'a,X)) &  \
   3.313 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.314 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.315 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   3.316 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
   3.317 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
   3.318 +\  (! Y X Z. product(X::'a,Y,Z) --> product(Y::'a,X,Z)) &       \
   3.319 +\  (! X. sum(additive_identity::'a,X,X)) &  \
   3.320 +\  (! X. sum(X::'a,additive_identity,X)) &  \
   3.321 +\  (! X. product(multiplicative_identity::'a,X,X)) &        \
   3.322 +\  (! X. product(X::'a,multiplicative_identity,X)) &        \
   3.323 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
   3.324 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
   3.325 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
   3.326 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
   3.327 +\  (! Y Z X V3 V1 V2 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & sum(X::'a,V3,V4) --> product(V1::'a,V2,V4)) &    \
   3.328 +\  (! Y Z V1 V2 X V3 V4. sum(X::'a,Y,V1) & sum(X::'a,Z,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(X::'a,V3,V4)) &    \
   3.329 +\  (! Y Z V3 X V1 V2 V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & sum(V3::'a,X,V4) --> product(V1::'a,V2,V4)) &    \
   3.330 +\  (! Y Z V1 V2 V3 X V4. sum(Y::'a,X,V1) & sum(Z::'a,X,V2) & product(Y::'a,Z,V3) & product(V1::'a,V2,V4) --> sum(V3::'a,X,V4)) &    \
   3.331 +\  (! X. sum(inverse(X),X,multiplicative_identity)) &   \
   3.332 +\  (! X. sum(X::'a,inverse(X),multiplicative_identity)) &   \
   3.333 +\  (! X. product(inverse(X),X,additive_identity)) &     \
   3.334 +\  (! X. product(X::'a,inverse(X),additive_identity)) &     \
   3.335 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.336 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
   3.337 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
   3.338 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
   3.339 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
   3.340 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
   3.341 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
   3.342 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
   3.343 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
   3.344 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
   3.345 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
   3.346 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   3.347 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   3.348 +\  (~equal(inverse(additive_identity),multiplicative_identity)) --> False",
   3.349 +  meson_tac);
   3.350 +
   3.351 +(*4007 inferences so far.  Searching to depth 9.  13 secs*)
   3.352 +val CAT001_3 = prove_hard
   3.353 + ("(! X. equal(X::'a,X)) &  \
   3.354 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.355 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.356 +\  (! Y X. equivalent(X::'a,Y) --> there_exists(X)) &       \
   3.357 +\  (! X Y. equivalent(X::'a,Y) --> equal(X::'a,Y)) &    \
   3.358 +\  (! X Y. there_exists(X) & equal(X::'a,Y) --> equivalent(X::'a,Y)) &  \
   3.359 +\  (! X. there_exists(domain(X)) --> there_exists(X)) & \
   3.360 +\  (! X. there_exists(codomain(X)) --> there_exists(X)) &       \
   3.361 +\  (! Y X. there_exists(compos(X::'a,Y)) --> there_exists(domain(X))) &    \
   3.362 +\  (! X Y. there_exists(compos(X::'a,Y)) --> equal(domain(X),codomain(Y))) &       \
   3.363 +\  (! X Y. there_exists(domain(X)) & equal(domain(X),codomain(Y)) --> there_exists(compos(X::'a,Y))) &     \
   3.364 +\  (! X Y Z. equal(compos(X::'a,compos(Y::'a,Z)),compos(compos(X::'a,Y),Z))) &  \
   3.365 +\  (! X. equal(compos(X::'a,domain(X)),X)) &       \
   3.366 +\  (! X. equal(compos(codomain(X),X),X)) &     \
   3.367 +\  (! X Y. equivalent(X::'a,Y) --> there_exists(Y)) &       \
   3.368 +\  (! X Y. there_exists(X) & there_exists(Y) & equal(X::'a,Y) --> equivalent(X::'a,Y)) &        \
   3.369 +\  (! Y X. there_exists(compos(X::'a,Y)) --> there_exists(codomain(X))) &  \
   3.370 +\  (! X Y. there_exists(f1(X::'a,Y)) | equal(X::'a,Y)) &       \
   3.371 +\  (! X Y. equal(X::'a,f1(X::'a,Y)) | equal(Y::'a,f1(X::'a,Y)) | equal(X::'a,Y)) &        \
   3.372 +\  (! X Y. equal(X::'a,f1(X::'a,Y)) & equal(Y::'a,f1(X::'a,Y)) --> equal(X::'a,Y)) &        \
   3.373 +\  (! X Y. equal(X::'a,Y) & there_exists(X) --> there_exists(Y)) &  \
   3.374 +\  (! X Y Z. equal(X::'a,Y) & equivalent(X::'a,Z) --> equivalent(Y::'a,Z)) &        \
   3.375 +\  (! X Z Y. equal(X::'a,Y) & equivalent(Z::'a,X) --> equivalent(Z::'a,Y)) &        \
   3.376 +\  (! X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) & \
   3.377 +\  (! X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &     \
   3.378 +\  (! X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z))) & \
   3.379 +\  (! X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) & \
   3.380 +\  (! A B C. equal(A::'a,B) --> equal(f1(A::'a,C),f1(B::'a,C))) &   \
   3.381 +\  (! D F' E. equal(D::'a,E) --> equal(f1(F'::'a,D),f1(F'::'a,E))) &        \
   3.382 +\  (there_exists(compos(a::'a,b))) &       \
   3.383 +\  (! Y X Z. equal(compos(compos(a::'a,b),X),Y) & equal(compos(compos(a::'a,b),Z),Y) --> equal(X::'a,Z)) &      \
   3.384 +\  (there_exists(compos(b::'a,h))) &       \
   3.385 +\  (equal(compos(b::'a,h),compos(b::'a,g))) & \
   3.386 +\  (~equal(h::'a,g)) --> False",
   3.387 +  meson_tac);
   3.388 +
   3.389 +(*245 inferences so far.  Searching to depth 7.  1.0 secs*)
   3.390 +val CAT003_3 = prove
   3.391 + ("(! X. equal(X::'a,X)) &  \
   3.392 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.393 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.394 +\  (! Y X. equivalent(X::'a,Y) --> there_exists(X)) &       \
   3.395 +\  (! X Y. equivalent(X::'a,Y) --> equal(X::'a,Y)) &    \
   3.396 +\  (! X Y. there_exists(X) & equal(X::'a,Y) --> equivalent(X::'a,Y)) &  \
   3.397 +\  (! X. there_exists(domain(X)) --> there_exists(X)) & \
   3.398 +\  (! X. there_exists(codomain(X)) --> there_exists(X)) &       \
   3.399 +\  (! Y X. there_exists(compos(X::'a,Y)) --> there_exists(domain(X))) &    \
   3.400 +\  (! X Y. there_exists(compos(X::'a,Y)) --> equal(domain(X),codomain(Y))) &       \
   3.401 +\  (! X Y. there_exists(domain(X)) & equal(domain(X),codomain(Y)) --> there_exists(compos(X::'a,Y))) &     \
   3.402 +\  (! X Y Z. equal(compos(X::'a,compos(Y::'a,Z)),compos(compos(X::'a,Y),Z))) &  \
   3.403 +\  (! X. equal(compos(X::'a,domain(X)),X)) &       \
   3.404 +\  (! X. equal(compos(codomain(X),X),X)) &     \
   3.405 +\  (! X Y. equivalent(X::'a,Y) --> there_exists(Y)) &       \
   3.406 +\  (! X Y. there_exists(X) & there_exists(Y) & equal(X::'a,Y) --> equivalent(X::'a,Y)) &        \
   3.407 +\  (! Y X. there_exists(compos(X::'a,Y)) --> there_exists(codomain(X))) &  \
   3.408 +\  (! X Y. there_exists(f1(X::'a,Y)) | equal(X::'a,Y)) &       \
   3.409 +\  (! X Y. equal(X::'a,f1(X::'a,Y)) | equal(Y::'a,f1(X::'a,Y)) | equal(X::'a,Y)) &        \
   3.410 +\  (! X Y. equal(X::'a,f1(X::'a,Y)) & equal(Y::'a,f1(X::'a,Y)) --> equal(X::'a,Y)) &        \
   3.411 +\  (! X Y. equal(X::'a,Y) & there_exists(X) --> there_exists(Y)) &  \
   3.412 +\  (! X Y Z. equal(X::'a,Y) & equivalent(X::'a,Z) --> equivalent(Y::'a,Z)) &        \
   3.413 +\  (! X Z Y. equal(X::'a,Y) & equivalent(Z::'a,X) --> equivalent(Z::'a,Y)) &        \
   3.414 +\  (! X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) & \
   3.415 +\  (! X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &     \
   3.416 +\  (! X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z))) & \
   3.417 +\  (! X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) & \
   3.418 +\  (! A B C. equal(A::'a,B) --> equal(f1(A::'a,C),f1(B::'a,C))) &   \
   3.419 +\  (! D F' E. equal(D::'a,E) --> equal(f1(F'::'a,D),f1(F'::'a,E))) &        \
   3.420 +\  (there_exists(compos(a::'a,b))) &       \
   3.421 +\  (! Y X Z. equal(compos(X::'a,compos(a::'a,b)),Y) & equal(compos(Z::'a,compos(a::'a,b)),Y) --> equal(X::'a,Z)) &      \
   3.422 +\  (there_exists(h)) &  \
   3.423 +\  (equal(compos(h::'a,a),compos(g::'a,a))) & \
   3.424 +\  (~equal(g::'a,h)) --> False",
   3.425 +  meson_tac);
   3.426 +
   3.427 +(*54288 inferences so far.  Searching to depth 14.  118.0 secs*)
   3.428 +val CAT005_1 = prove_hard
   3.429 + ("(! X. equal(X::'a,X)) &  \
   3.430 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.431 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.432 +\  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compos(X::'a,Y))) &        \
   3.433 +\  (! Z X Y. product(X::'a,Y,Z) --> defined(X::'a,Y)) & \
   3.434 +\  (! X Xy Y Z. product(X::'a,Y,Xy) & defined(Xy::'a,Z) --> defined(Y::'a,Z)) &     \
   3.435 +\  (! Y Xy Z X Yz. product(X::'a,Y,Xy) & product(Y::'a,Z,Yz) & defined(Xy::'a,Z) --> defined(X::'a,Yz)) &       \
   3.436 +\  (! Xy Y Z X Yz Xyz. product(X::'a,Y,Xy) & product(Xy::'a,Z,Xyz) & product(Y::'a,Z,Yz) --> product(X::'a,Yz,Xyz)) &   \
   3.437 +\  (! Z Yz X Y. product(Y::'a,Z,Yz) & defined(X::'a,Yz) --> defined(X::'a,Y)) &     \
   3.438 +\  (! Y X Yz Xy Z. product(Y::'a,Z,Yz) & product(X::'a,Y,Xy) & defined(X::'a,Yz) --> defined(Xy::'a,Z)) &       \
   3.439 +\  (! Yz X Y Xy Z Xyz. product(Y::'a,Z,Yz) & product(X::'a,Yz,Xyz) & product(X::'a,Y,Xy) --> product(Xy::'a,Z,Xyz)) &   \
   3.440 +\  (! Y X Z. defined(X::'a,Y) & defined(Y::'a,Z) & identity_map(Y) --> defined(X::'a,Z)) &  \
   3.441 +\  (! X. identity_map(domain(X))) &     \
   3.442 +\  (! X. identity_map(codomain(X))) &   \
   3.443 +\  (! X. defined(X::'a,domain(X))) &        \
   3.444 +\  (! X. defined(codomain(X),X)) &      \
   3.445 +\  (! X. product(X::'a,domain(X),X)) &      \
   3.446 +\  (! X. product(codomain(X),X,X)) &    \
   3.447 +\  (! X Y. defined(X::'a,Y) & identity_map(X) --> product(X::'a,Y,Y)) & \
   3.448 +\  (! Y X. defined(X::'a,Y) & identity_map(Y) --> product(X::'a,Y,X)) & \
   3.449 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
   3.450 +\  (! X Y Z W. equal(X::'a,Y) & product(X::'a,Z,W) --> product(Y::'a,Z,W)) &        \
   3.451 +\  (! X Z Y W. equal(X::'a,Y) & product(Z::'a,X,W) --> product(Z::'a,Y,W)) &        \
   3.452 +\  (! X Z W Y. equal(X::'a,Y) & product(Z::'a,W,X) --> product(Z::'a,W,Y)) &        \
   3.453 +\  (! X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) & \
   3.454 +\  (! X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &     \
   3.455 +\  (! X Y. equal(X::'a,Y) & identity_map(X) --> identity_map(Y)) &  \
   3.456 +\  (! X Y Z. equal(X::'a,Y) & defined(X::'a,Z) --> defined(Y::'a,Z)) &      \
   3.457 +\  (! X Z Y. equal(X::'a,Y) & defined(Z::'a,X) --> defined(Z::'a,Y)) &      \
   3.458 +\  (! X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) & \
   3.459 +\  (! X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z))) & \
   3.460 +\  (defined(a::'a,d)) &     \
   3.461 +\  (identity_map(d)) &  \
   3.462 +\  (~equal(domain(a),d)) --> False",
   3.463 +  meson_tac);
   3.464 +
   3.465 +
   3.466 +(*1728 inferences so far.  Searching to depth 10.  5.8 secs*)
   3.467 +val CAT007_1 = prove_hard
   3.468 + ("(! X. equal(X::'a,X)) &  \
   3.469 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.470 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.471 +\  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compos(X::'a,Y))) &        \
   3.472 +\  (! Z X Y. product(X::'a,Y,Z) --> defined(X::'a,Y)) & \
   3.473 +\  (! X Xy Y Z. product(X::'a,Y,Xy) & defined(Xy::'a,Z) --> defined(Y::'a,Z)) &     \
   3.474 +\  (! Y Xy Z X Yz. product(X::'a,Y,Xy) & product(Y::'a,Z,Yz) & defined(Xy::'a,Z) --> defined(X::'a,Yz)) &       \
   3.475 +\  (! Xy Y Z X Yz Xyz. product(X::'a,Y,Xy) & product(Xy::'a,Z,Xyz) & product(Y::'a,Z,Yz) --> product(X::'a,Yz,Xyz)) &   \
   3.476 +\  (! Z Yz X Y. product(Y::'a,Z,Yz) & defined(X::'a,Yz) --> defined(X::'a,Y)) &     \
   3.477 +\  (! Y X Yz Xy Z. product(Y::'a,Z,Yz) & product(X::'a,Y,Xy) & defined(X::'a,Yz) --> defined(Xy::'a,Z)) &       \
   3.478 +\  (! Yz X Y Xy Z Xyz. product(Y::'a,Z,Yz) & product(X::'a,Yz,Xyz) & product(X::'a,Y,Xy) --> product(Xy::'a,Z,Xyz)) &   \
   3.479 +\  (! Y X Z. defined(X::'a,Y) & defined(Y::'a,Z) & identity_map(Y) --> defined(X::'a,Z)) &  \
   3.480 +\  (! X. identity_map(domain(X))) &     \
   3.481 +\  (! X. identity_map(codomain(X))) &   \
   3.482 +\  (! X. defined(X::'a,domain(X))) &        \
   3.483 +\  (! X. defined(codomain(X),X)) &      \
   3.484 +\  (! X. product(X::'a,domain(X),X)) &      \
   3.485 +\  (! X. product(codomain(X),X,X)) &    \
   3.486 +\  (! X Y. defined(X::'a,Y) & identity_map(X) --> product(X::'a,Y,Y)) & \
   3.487 +\  (! Y X. defined(X::'a,Y) & identity_map(Y) --> product(X::'a,Y,X)) & \
   3.488 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
   3.489 +\  (! X Y Z W. equal(X::'a,Y) & product(X::'a,Z,W) --> product(Y::'a,Z,W)) &        \
   3.490 +\  (! X Z Y W. equal(X::'a,Y) & product(Z::'a,X,W) --> product(Z::'a,Y,W)) &        \
   3.491 +\  (! X Z W Y. equal(X::'a,Y) & product(Z::'a,W,X) --> product(Z::'a,W,Y)) &        \
   3.492 +\  (! X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) & \
   3.493 +\  (! X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &     \
   3.494 +\  (! X Y. equal(X::'a,Y) & identity_map(X) --> identity_map(Y)) &  \
   3.495 +\  (! X Y Z. equal(X::'a,Y) & defined(X::'a,Z) --> defined(Y::'a,Z)) &      \
   3.496 +\  (! X Z Y. equal(X::'a,Y) & defined(Z::'a,X) --> defined(Z::'a,Y)) &      \
   3.497 +\  (! X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) & \
   3.498 +\  (! X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z))) & \
   3.499 +\  (equal(domain(a),codomain(b))) &     \
   3.500 +\  (~defined(a::'a,b)) --> False",
   3.501 +  meson_tac);
   3.502 +
   3.503 +(*82895 inferences so far.  Searching to depth 13.  355 secs*)
   3.504 +val CAT018_1 = prove_hard
   3.505 + ("(! X. equal(X::'a,X)) &  \
   3.506 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.507 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.508 +\  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compos(X::'a,Y))) &        \
   3.509 +\  (! Z X Y. product(X::'a,Y,Z) --> defined(X::'a,Y)) & \
   3.510 +\  (! X Xy Y Z. product(X::'a,Y,Xy) & defined(Xy::'a,Z) --> defined(Y::'a,Z)) &     \
   3.511 +\  (! Y Xy Z X Yz. product(X::'a,Y,Xy) & product(Y::'a,Z,Yz) & defined(Xy::'a,Z) --> defined(X::'a,Yz)) &       \
   3.512 +\  (! Xy Y Z X Yz Xyz. product(X::'a,Y,Xy) & product(Xy::'a,Z,Xyz) & product(Y::'a,Z,Yz) --> product(X::'a,Yz,Xyz)) &   \
   3.513 +\  (! Z Yz X Y. product(Y::'a,Z,Yz) & defined(X::'a,Yz) --> defined(X::'a,Y)) &     \
   3.514 +\  (! Y X Yz Xy Z. product(Y::'a,Z,Yz) & product(X::'a,Y,Xy) & defined(X::'a,Yz) --> defined(Xy::'a,Z)) &       \
   3.515 +\  (! Yz X Y Xy Z Xyz. product(Y::'a,Z,Yz) & product(X::'a,Yz,Xyz) & product(X::'a,Y,Xy) --> product(Xy::'a,Z,Xyz)) &   \
   3.516 +\  (! Y X Z. defined(X::'a,Y) & defined(Y::'a,Z) & identity_map(Y) --> defined(X::'a,Z)) &  \
   3.517 +\  (! X. identity_map(domain(X))) &     \
   3.518 +\  (! X. identity_map(codomain(X))) &   \
   3.519 +\  (! X. defined(X::'a,domain(X))) &        \
   3.520 +\  (! X. defined(codomain(X),X)) &      \
   3.521 +\  (! X. product(X::'a,domain(X),X)) &      \
   3.522 +\  (! X. product(codomain(X),X,X)) &    \
   3.523 +\  (! X Y. defined(X::'a,Y) & identity_map(X) --> product(X::'a,Y,Y)) & \
   3.524 +\  (! Y X. defined(X::'a,Y) & identity_map(Y) --> product(X::'a,Y,X)) & \
   3.525 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
   3.526 +\  (! X Y Z W. equal(X::'a,Y) & product(X::'a,Z,W) --> product(Y::'a,Z,W)) &        \
   3.527 +\  (! X Z Y W. equal(X::'a,Y) & product(Z::'a,X,W) --> product(Z::'a,Y,W)) &        \
   3.528 +\  (! X Z W Y. equal(X::'a,Y) & product(Z::'a,W,X) --> product(Z::'a,W,Y)) &        \
   3.529 +\  (! X Y. equal(X::'a,Y) --> equal(domain(X),domain(Y))) & \
   3.530 +\  (! X Y. equal(X::'a,Y) --> equal(codomain(X),codomain(Y))) &     \
   3.531 +\  (! X Y. equal(X::'a,Y) & identity_map(X) --> identity_map(Y)) &  \
   3.532 +\  (! X Y Z. equal(X::'a,Y) & defined(X::'a,Z) --> defined(Y::'a,Z)) &      \
   3.533 +\  (! X Z Y. equal(X::'a,Y) & defined(Z::'a,X) --> defined(Z::'a,Y)) &      \
   3.534 +\  (! X Z Y. equal(X::'a,Y) --> equal(compos(Z::'a,X),compos(Z::'a,Y))) & \
   3.535 +\  (! X Y Z. equal(X::'a,Y) --> equal(compos(X::'a,Z),compos(Y::'a,Z))) & \
   3.536 +\  (defined(a::'a,b)) &     \
   3.537 +\  (defined(b::'a,c)) &     \
   3.538 +\  (~defined(a::'a,compos(b::'a,c))) --> False",
   3.539 +  meson_tac);
   3.540 +
   3.541 +(*1118 inferences so far.  Searching to depth 8.  2.3 secs*)
   3.542 +val COL001_2 = prove
   3.543 + ("(! X. equal(X::'a,X)) &  \
   3.544 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.545 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.546 +\  (! X Y Z. equal(apply(apply(apply(s::'a,X),Y),Z),apply(apply(X::'a,Z),apply(Y::'a,Z)))) &        \
   3.547 +\  (! Y X. equal(apply(apply(k::'a,X),Y),X)) &      \
   3.548 +\  (! X Y Z. equal(apply(apply(apply(b::'a,X),Y),Z),apply(X::'a,apply(Y::'a,Z)))) & \
   3.549 +\  (! X. equal(apply(i::'a,X),X)) & \
   3.550 +\  (! A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &     \
   3.551 +\  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   3.552 +\  (! X. equal(apply(apply(apply(s::'a,apply(b::'a,X)),i),apply(apply(s::'a,apply(b::'a,X)),i)),apply(x::'a,apply(apply(apply(s::'a,apply(b::'a,X)),i),apply(apply(s::'a,apply(b::'a,X)),i))))) &   \
   3.553 +\  (! Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False",
   3.554 +  meson_tac);
   3.555 +
   3.556 +(*500 inferences so far.  Searching to depth 8.  0.9 secs*)
   3.557 +val COL023_1 = prove
   3.558 + ("(! X. equal(X::'a,X)) &  \
   3.559 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.560 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.561 +\  (! X Y Z. equal(apply(apply(apply(b::'a,X),Y),Z),apply(X::'a,apply(Y::'a,Z)))) & \
   3.562 +\  (! X Y Z. equal(apply(apply(apply(n::'a,X),Y),Z),apply(apply(apply(X::'a,Z),Y),Z))) &        \
   3.563 +\  (! A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &     \
   3.564 +\  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   3.565 +\  (! Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False",
   3.566 +  meson_tac);
   3.567 +
   3.568 +(*3018 inferences so far.  Searching to depth 10.  4.3 secs*)
   3.569 +val COL032_1 = prove_hard
   3.570 + ("(! X. equal(X::'a,X)) &  \
   3.571 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.572 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.573 +\  (! X. equal(apply(m::'a,X),apply(X::'a,X))) &        \
   3.574 +\  (! Y X Z. equal(apply(apply(apply(q::'a,X),Y),Z),apply(Y::'a,apply(X::'a,Z)))) & \
   3.575 +\  (! A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &     \
   3.576 +\  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   3.577 +\  (! G H. equal(G::'a,H) --> equal(f(G),f(H))) &   \
   3.578 +\  (! Y. ~equal(apply(Y::'a,f(Y)),apply(f(Y),apply(Y::'a,f(Y))))) --> False",
   3.579 +  meson_tac);
   3.580 +
   3.581 +(*381878 inferences so far.  Searching to depth 13.  670.4 secs*)
   3.582 +val COL052_2 = prove_hard
   3.583 + ("(! X. equal(X::'a,X)) &  \
   3.584 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.585 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.586 +\  (! X Y W. equal(response(compos(X::'a,Y),W),response(X::'a,response(Y::'a,W)))) &       \
   3.587 +\  (! X Y. agreeable(X) --> equal(response(X::'a,common_bird(Y)),response(Y::'a,common_bird(Y)))) &     \
   3.588 +\  (! Z X. equal(response(X::'a,Z),response(compatible(X),Z)) --> agreeable(X)) &   \
   3.589 +\  (! A B. equal(A::'a,B) --> equal(common_bird(A),common_bird(B))) &       \
   3.590 +\  (! C D. equal(C::'a,D) --> equal(compatible(C),compatible(D))) & \
   3.591 +\  (! Q R. equal(Q::'a,R) & agreeable(Q) --> agreeable(R)) &        \
   3.592 +\  (! A B C. equal(A::'a,B) --> equal(compos(A::'a,C),compos(B::'a,C))) & \
   3.593 +\  (! D F' E. equal(D::'a,E) --> equal(compos(F'::'a,D),compos(F'::'a,E))) &      \
   3.594 +\  (! G H I'. equal(G::'a,H) --> equal(response(G::'a,I'),response(H::'a,I'))) &    \
   3.595 +\  (! J L K'. equal(J::'a,K') --> equal(response(L::'a,J),response(L::'a,K'))) &    \
   3.596 +\  (agreeable(c)) &     \
   3.597 +\  (~agreeable(a)) &    \
   3.598 +\  (equal(c::'a,compos(a::'a,b))) --> False",
   3.599 +  meson_tac);
   3.600 +
   3.601 +(*13201 inferences so far.  Searching to depth 11.  31.9 secs*)
   3.602 +val COL075_2 = prove_hard
   3.603 + ("(! X. equal(X::'a,X)) &  \
   3.604 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.605 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.606 +\  (! Y X. equal(apply(apply(k::'a,X),Y),X)) &      \
   3.607 +\  (! X Y Z. equal(apply(apply(apply(abstraction::'a,X),Y),Z),apply(apply(X::'a,apply(k::'a,Z)),apply(Y::'a,Z)))) &     \
   3.608 +\  (! D E F'. equal(D::'a,E) --> equal(apply(D::'a,F'),apply(E::'a,F'))) &  \
   3.609 +\  (! G I' H. equal(G::'a,H) --> equal(apply(I'::'a,G),apply(I'::'a,H))) &  \
   3.610 +\  (! A B. equal(A::'a,B) --> equal(b(A),b(B))) &   \
   3.611 +\  (! C D. equal(C::'a,D) --> equal(c(C),c(D))) &   \
   3.612 +\  (! Y. ~equal(apply(apply(Y::'a,b(Y)),c(Y)),apply(b(Y),b(Y)))) --> False",
   3.613 +  meson_tac);
   3.614 +
   3.615 +(*33 inferences so far.  Searching to depth 7.  0.1 secs*)
   3.616 +val COM001_1 = prove
   3.617 + ("(! Goal_state Start_state. follows(Goal_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &   \
   3.618 +\  (! Goal_state Intermediate_state Start_state. succeeds(Goal_state::'a,Intermediate_state) & succeeds(Intermediate_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &     \
   3.619 +\  (! Start_state Label Goal_state. has(Start_state::'a,goto(Label)) & labels(Label::'a,Goal_state) --> succeeds(Goal_state::'a,Start_state)) &     \
   3.620 +\  (! Start_state Condition Goal_state. has(Start_state::'a,ifthen(Condition::'a,Goal_state)) --> succeeds(Goal_state::'a,Start_state)) &   \
   3.621 +\  (labels(loop::'a,p3)) &  \
   3.622 +\  (has(p3::'a,ifthen(equal(register_j::'a,n),p4))) &   \
   3.623 +\  (has(p4::'a,goto(out))) &        \
   3.624 +\  (follows(p5::'a,p4)) &   \
   3.625 +\  (follows(p8::'a,p3)) &   \
   3.626 +\  (has(p8::'a,goto(loop))) &       \
   3.627 +\  (~succeeds(p3::'a,p3)) --> False",
   3.628 +  meson_tac);
   3.629 +
   3.630 +(*533 inferences so far.  Searching to depth 13.  0.3 secs*)
   3.631 +val COM002_1 = prove
   3.632 + ("(! Goal_state Start_state. follows(Goal_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &   \
   3.633 +\  (! Goal_state Intermediate_state Start_state. succeeds(Goal_state::'a,Intermediate_state) & succeeds(Intermediate_state::'a,Start_state) --> succeeds(Goal_state::'a,Start_state)) &     \
   3.634 +\  (! Start_state Label Goal_state. has(Start_state::'a,goto(Label)) & labels(Label::'a,Goal_state) --> succeeds(Goal_state::'a,Start_state)) &     \
   3.635 +\  (! Start_state Condition Goal_state. has(Start_state::'a,ifthen(Condition::'a,Goal_state)) --> succeeds(Goal_state::'a,Start_state)) &   \
   3.636 +\  (has(p1::'a,assign(register_j::'a,num0))) &     \
   3.637 +\  (follows(p2::'a,p1)) &   \
   3.638 +\  (has(p2::'a,assign(register_k::'a,num1))) &     \
   3.639 +\  (labels(loop::'a,p3)) &  \
   3.640 +\  (follows(p3::'a,p2)) &   \
   3.641 +\  (has(p3::'a,ifthen(equal(register_j::'a,n),p4))) &   \
   3.642 +\  (has(p4::'a,goto(out))) &        \
   3.643 +\  (follows(p5::'a,p4)) &   \
   3.644 +\  (follows(p6::'a,p3)) &   \
   3.645 +\  (has(p6::'a,assign(register_k::'a,times(num2::'a,register_k)))) &   \
   3.646 +\  (follows(p7::'a,p6)) &   \
   3.647 +\  (has(p7::'a,assign(register_j::'a,plus(register_j::'a,num1)))) &    \
   3.648 +\  (follows(p8::'a,p7)) &   \
   3.649 +\  (has(p8::'a,goto(loop))) &       \
   3.650 +\  (~succeeds(p3::'a,p3)) --> False",
   3.651 +  meson_tac);
   3.652 +
   3.653 +(*4821 inferences so far.  Searching to depth 14.  1.3 secs*)
   3.654 +val COM002_2 = prove
   3.655 + ("(! Goal_state Start_state. ~(fails(Goal_state::'a,Start_state) & follows(Goal_state::'a,Start_state))) &     \
   3.656 +\  (! Goal_state Intermediate_state Start_state. fails(Goal_state::'a,Start_state) --> fails(Goal_state::'a,Intermediate_state) | fails(Intermediate_state::'a,Start_state)) &     \
   3.657 +\  (! Start_state Label Goal_state. ~(fails(Goal_state::'a,Start_state) & has(Start_state::'a,goto(Label)) & labels(Label::'a,Goal_state))) &       \
   3.658 +\  (! Start_state Condition Goal_state. ~(fails(Goal_state::'a,Start_state) & has(Start_state::'a,ifthen(Condition::'a,Goal_state)))) &     \
   3.659 +\  (has(p1::'a,assign(register_j::'a,num0))) &     \
   3.660 +\  (follows(p2::'a,p1)) &   \
   3.661 +\  (has(p2::'a,assign(register_k::'a,num1))) &     \
   3.662 +\  (labels(loop::'a,p3)) &  \
   3.663 +\  (follows(p3::'a,p2)) &   \
   3.664 +\  (has(p3::'a,ifthen(equal(register_j::'a,n),p4))) &   \
   3.665 +\  (has(p4::'a,goto(out))) &        \
   3.666 +\  (follows(p5::'a,p4)) &   \
   3.667 +\  (follows(p6::'a,p3)) &   \
   3.668 +\  (has(p6::'a,assign(register_k::'a,times(num2::'a,register_k)))) &   \
   3.669 +\  (follows(p7::'a,p6)) &   \
   3.670 +\  (has(p7::'a,assign(register_j::'a,plus(register_j::'a,num1)))) &    \
   3.671 +\  (follows(p8::'a,p7)) &   \
   3.672 +\  (has(p8::'a,goto(loop))) &       \
   3.673 +\  (fails(p3::'a,p3)) --> False",
   3.674 +  meson_tac);
   3.675 +
   3.676 +(*98 inferences so far.  Searching to depth 10.  1.1 secs*)
   3.677 +val COM003_2 = prove
   3.678 + ("(! X Y Z. program_decides(X) & program(Y) --> decides(X::'a,Y,Z)) &      \
   3.679 +\  (! X. program_decides(X) | program(f2(X))) &        \
   3.680 +\  (! X. decides(X::'a,f2(X),f1(X)) --> program_decides(X)) &       \
   3.681 +\  (! X. program_program_decides(X) --> program(X)) &   \
   3.682 +\  (! X. program_program_decides(X) --> program_decides(X)) &   \
   3.683 +\  (! X. program(X) & program_decides(X) --> program_program_decides(X)) &      \
   3.684 +\  (! X. algorithm_program_decides(X) --> algorithm(X)) &       \
   3.685 +\  (! X. algorithm_program_decides(X) --> program_decides(X)) & \
   3.686 +\  (! X. algorithm(X) & program_decides(X) --> algorithm_program_decides(X)) &  \
   3.687 +\  (! Y X. program_halts2(X::'a,Y) --> program(X)) &        \
   3.688 +\  (! X Y. program_halts2(X::'a,Y) --> halts2(X::'a,Y)) &       \
   3.689 +\  (! X Y. program(X) & halts2(X::'a,Y) --> program_halts2(X::'a,Y)) &  \
   3.690 +\  (! W X Y Z. halts3_outputs(X::'a,Y,Z,W) --> halts3(X::'a,Y,Z)) &     \
   3.691 +\  (! Y Z X W. halts3_outputs(X::'a,Y,Z,W) --> outputs(X::'a,W)) &      \
   3.692 +\  (! Y Z X W. halts3(X::'a,Y,Z) & outputs(X::'a,W) --> halts3_outputs(X::'a,Y,Z,W)) &      \
   3.693 +\  (! Y X. program_not_halts2(X::'a,Y) --> program(X)) &    \
   3.694 +\  (! X Y. ~(program_not_halts2(X::'a,Y) & halts2(X::'a,Y))) &  \
   3.695 +\  (! X Y. program(X) --> program_not_halts2(X::'a,Y) | halts2(X::'a,Y)) &     \
   3.696 +\  (! W X Y. halts2_outputs(X::'a,Y,W) --> halts2(X::'a,Y)) &   \
   3.697 +\  (! Y X W. halts2_outputs(X::'a,Y,W) --> outputs(X::'a,W)) &  \
   3.698 +\  (! Y X W. halts2(X::'a,Y) & outputs(X::'a,W) --> halts2_outputs(X::'a,Y,W)) &    \
   3.699 +\  (! X W Y Z. program_halts2_halts3_outputs(X::'a,Y,Z,W) --> program_halts2(Y::'a,Z)) &        \
   3.700 +\  (! X Y Z W. program_halts2_halts3_outputs(X::'a,Y,Z,W) --> halts3_outputs(X::'a,Y,Z,W)) &    \
   3.701 +\  (! X Y Z W. program_halts2(Y::'a,Z) & halts3_outputs(X::'a,Y,Z,W) --> program_halts2_halts3_outputs(X::'a,Y,Z,W)) &      \
   3.702 +\  (! X W Y Z. program_not_halts2_halts3_outputs(X::'a,Y,Z,W) --> program_not_halts2(Y::'a,Z)) &        \
   3.703 +\  (! X Y Z W. program_not_halts2_halts3_outputs(X::'a,Y,Z,W) --> halts3_outputs(X::'a,Y,Z,W)) &        \
   3.704 +\  (! X Y Z W. program_not_halts2(Y::'a,Z) & halts3_outputs(X::'a,Y,Z,W) --> program_not_halts2_halts3_outputs(X::'a,Y,Z,W)) &      \
   3.705 +\  (! X W Y. program_halts2_halts2_outputs(X::'a,Y,W) --> program_halts2(Y::'a,Y)) &    \
   3.706 +\  (! X Y W. program_halts2_halts2_outputs(X::'a,Y,W) --> halts2_outputs(X::'a,Y,W)) &  \
   3.707 +\  (! X Y W. program_halts2(Y::'a,Y) & halts2_outputs(X::'a,Y,W) --> program_halts2_halts2_outputs(X::'a,Y,W)) &    \
   3.708 +\  (! X W Y. program_not_halts2_halts2_outputs(X::'a,Y,W) --> program_not_halts2(Y::'a,Y)) &    \
   3.709 +\  (! X Y W. program_not_halts2_halts2_outputs(X::'a,Y,W) --> halts2_outputs(X::'a,Y,W)) &      \
   3.710 +\  (! X Y W. program_not_halts2(Y::'a,Y) & halts2_outputs(X::'a,Y,W) --> program_not_halts2_halts2_outputs(X::'a,Y,W)) &    \
   3.711 +\  (! X. algorithm_program_decides(X) --> program_program_decides(c1)) &        \
   3.712 +\  (! W Y Z. program_program_decides(W) --> program_halts2_halts3_outputs(W::'a,Y,Z,good)) &        \
   3.713 +\  (! W Y Z. program_program_decides(W) --> program_not_halts2_halts3_outputs(W::'a,Y,Z,bad)) &     \
   3.714 +\  (! W. program(W) & program_halts2_halts3_outputs(W::'a,f3(W),f3(W),good) & program_not_halts2_halts3_outputs(W::'a,f3(W),f3(W),bad) --> program(c2)) &       \
   3.715 +\  (! W Y. program(W) & program_halts2_halts3_outputs(W::'a,f3(W),f3(W),good) & program_not_halts2_halts3_outputs(W::'a,f3(W),f3(W),bad) --> program_halts2_halts2_outputs(c2::'a,Y,good)) &        \
   3.716 +\  (! W Y. program(W) & program_halts2_halts3_outputs(W::'a,f3(W),f3(W),good) & program_not_halts2_halts3_outputs(W::'a,f3(W),f3(W),bad) --> program_not_halts2_halts2_outputs(c2::'a,Y,bad)) &     \
   3.717 +\  (! V. program(V) & program_halts2_halts2_outputs(V::'a,f4(V),good) & program_not_halts2_halts2_outputs(V::'a,f4(V),bad) --> program(c3)) &   \
   3.718 +\  (! V Y. program(V) & program_halts2_halts2_outputs(V::'a,f4(V),good) & program_not_halts2_halts2_outputs(V::'a,f4(V),bad) & program_halts2(Y::'a,Y) --> halts2(c3::'a,Y)) &  \
   3.719 +\  (! V Y. program(V) & program_halts2_halts2_outputs(V::'a,f4(V),good) & program_not_halts2_halts2_outputs(V::'a,f4(V),bad) --> program_not_halts2_halts2_outputs(c3::'a,Y,bad)) & \
   3.720 +\  (algorithm_program_decides(c4)) --> False",
   3.721 +  meson_tac);
   3.722 +
   3.723 +(****************SLOW
   3.724 +2100398 inferences so far.  Searching to depth 12.  No proof after 30 mins.
   3.725 +val COM004_1 = prove
   3.726 + ("(! X. equal(X::'a,X)) &  \
   3.727 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.728 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.729 +\  (! C D P Q X Y. failure_node(X::'a,or(C::'a,P)) & failure_node(Y::'a,or(D::'a,Q)) & contradictory(P::'a,Q) & siblings(X::'a,Y) --> failure_node(parent_of(X::'a,Y),or(C::'a,D))) &   \
   3.730 +\  (! X. contradictory(negate(X),X)) &  \
   3.731 +\  (! X. contradictory(X::'a,negate(X))) &  \
   3.732 +\  (! X. siblings(left_child_of(X),right_child_of(X))) &        \
   3.733 +\  (! D E. equal(D::'a,E) --> equal(left_child_of(D),left_child_of(E))) &   \
   3.734 +\  (! F' G. equal(F'::'a,G) --> equal(negate(F'),negate(G))) &      \
   3.735 +\  (! H I' J. equal(H::'a,I') --> equal(or(H::'a,J),or(I'::'a,J))) &        \
   3.736 +\  (! K' M L. equal(K'::'a,L) --> equal(or(M::'a,K'),or(M::'a,L))) &        \
   3.737 +\  (! N O_ P. equal(N::'a,O_) --> equal(parent_of(N::'a,P),parent_of(O_::'a,P))) &     \
   3.738 +\  (! Q S' R. equal(Q::'a,R) --> equal(parent_of(S'::'a,Q),parent_of(S'::'a,R))) &  \
   3.739 +\  (! T' U. equal(T'::'a,U) --> equal(right_child_of(T'),right_child_of(U))) &      \
   3.740 +\  (! V W X. equal(V::'a,W) & contradictory(V::'a,X) --> contradictory(W::'a,X)) &  \
   3.741 +\  (! Y A1 Z. equal(Y::'a,Z) & contradictory(A1::'a,Y) --> contradictory(A1::'a,Z)) &       \
   3.742 +\  (! B1 C1 D1. equal(B1::'a,C1) & failure_node(B1::'a,D1) --> failure_node(C1::'a,D1)) &   \
   3.743 +\  (! E1 G1 F1. equal(E1::'a,F1) & failure_node(G1::'a,E1) --> failure_node(G1::'a,F1)) &   \
   3.744 +\  (! H1 I1 J1. equal(H1::'a,I1) & siblings(H1::'a,J1) --> siblings(I1::'a,J1)) &   \
   3.745 +\  (! K1 M1 L1. equal(K1::'a,L1) & siblings(M1::'a,K1) --> siblings(M1::'a,L1)) &   \
   3.746 +\  (failure_node(n_left::'a,or(empty::'a,atom))) &      \
   3.747 +\  (failure_node(n_right::'a,or(empty::'a,negate(atom)))) &     \
   3.748 +\  (equal(n_left::'a,left_child_of(n))) &   \
   3.749 +\  (equal(n_right::'a,right_child_of(n))) & \
   3.750 +\  (! Z. ~failure_node(Z::'a,or(empty::'a,empty))) --> False",
   3.751 +  meson_tac);
   3.752 +****************)
   3.753 +
   3.754 +(*179 inferences so far.  Searching to depth 7.  3.9 secs*)
   3.755 +val GEO003_1 = prove_hard
   3.756 + ("(! X. equal(X::'a,X)) &  \
   3.757 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.758 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.759 +\  (! X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &     \
   3.760 +\  (! V X Y Z. between(X::'a,Y,V) & between(Y::'a,Z,V) --> between(X::'a,Y,Z)) &    \
   3.761 +\  (! Y X V Z. between(X::'a,Y,Z) & between(X::'a,Y,V) --> equal(X::'a,Y) | between(X::'a,Z,V) | between(X::'a,V,Z)) &    \
   3.762 +\  (! Y X. equidistant(X::'a,Y,Y,X)) &      \
   3.763 +\  (! Z X Y. equidistant(X::'a,Y,Z,Z) --> equal(X::'a,Y)) &     \
   3.764 +\  (! X Y Z V V2 W. equidistant(X::'a,Y,Z,V) & equidistant(X::'a,Y,V2,W) --> equidistant(Z::'a,V,V2,W)) &   \
   3.765 +\  (! W X Z V Y. between(X::'a,W,V) & between(Y::'a,V,Z) --> between(X::'a,outer_pasch(W::'a,X,Y,Z,V),Y)) &     \
   3.766 +\  (! W X Y Z V. between(X::'a,W,V) & between(Y::'a,V,Z) --> between(Z::'a,W,outer_pasch(W::'a,X,Y,Z,V))) &     \
   3.767 +\  (! W X Y Z V. between(X::'a,V,W) & between(Y::'a,V,Z) --> equal(X::'a,V) | between(X::'a,Z,euclid1(W::'a,X,Y,Z,V))) &   \
   3.768 +\  (! W X Y Z V. between(X::'a,V,W) & between(Y::'a,V,Z) --> equal(X::'a,V) | between(X::'a,Y,euclid2(W::'a,X,Y,Z,V))) &   \
   3.769 +\  (! W X Y Z V. between(X::'a,V,W) & between(Y::'a,V,Z) --> equal(X::'a,V) | between(euclid1(W::'a,X,Y,Z,V),W,euclid2(W::'a,X,Y,Z,V))) &  \
   3.770 +\  (! X1 Y1 X Y Z V Z1 V1. equidistant(X::'a,Y,X1,Y1) & equidistant(Y::'a,Z,Y1,Z1) & equidistant(X::'a,V,X1,V1) & equidistant(Y::'a,V,Y1,V1) & between(X::'a,Y,Z) & between(X1::'a,Y1,Z1) --> equal(X::'a,Y) | equidistant(Z::'a,V,Z1,V1)) &   \
   3.771 +\  (! X Y W V. between(X::'a,Y,extension(X::'a,Y,W,V))) &       \
   3.772 +\  (! X Y W V. equidistant(Y::'a,extension(X::'a,Y,W,V),W,V)) & \
   3.773 +\  (~between(lower_dimension_point_1::'a,lower_dimension_point_2,lower_dimension_point_3)) &        \
   3.774 +\  (~between(lower_dimension_point_2::'a,lower_dimension_point_3,lower_dimension_point_1)) &        \
   3.775 +\  (~between(lower_dimension_point_3::'a,lower_dimension_point_1,lower_dimension_point_2)) &        \
   3.776 +\  (! Z X Y W V. equidistant(X::'a,W,X,V) & equidistant(Y::'a,W,Y,V) & equidistant(Z::'a,W,Z,V) --> between(X::'a,Y,Z) | between(Y::'a,Z,X) | between(Z::'a,X,Y) | equal(W::'a,V)) &     \
   3.777 +\  (! X Y Z X1 Z1 V. equidistant(V::'a,X,V,X1) & equidistant(V::'a,Z,V,Z1) & between(V::'a,X,Z) & between(X::'a,Y,Z) --> equidistant(V::'a,Y,Z,continuous(X::'a,Y,Z,X1,Z1,V))) &        \
   3.778 +\  (! X Y Z X1 V Z1. equidistant(V::'a,X,V,X1) & equidistant(V::'a,Z,V,Z1) & between(V::'a,X,Z) & between(X::'a,Y,Z) --> between(X1::'a,continuous(X::'a,Y,Z,X1,Z1,V),Z1)) &    \
   3.779 +\  (! X Y W Z. equal(X::'a,Y) & between(X::'a,W,Z) --> between(Y::'a,W,Z)) &        \
   3.780 +\  (! X W Y Z. equal(X::'a,Y) & between(W::'a,X,Z) --> between(W::'a,Y,Z)) &        \
   3.781 +\  (! X W Z Y. equal(X::'a,Y) & between(W::'a,Z,X) --> between(W::'a,Z,Y)) &        \
   3.782 +\  (! X Y V W Z. equal(X::'a,Y) & equidistant(X::'a,V,W,Z) --> equidistant(Y::'a,V,W,Z)) &  \
   3.783 +\  (! X V Y W Z. equal(X::'a,Y) & equidistant(V::'a,X,W,Z) --> equidistant(V::'a,Y,W,Z)) &  \
   3.784 +\  (! X V W Y Z. equal(X::'a,Y) & equidistant(V::'a,W,X,Z) --> equidistant(V::'a,W,Y,Z)) &  \
   3.785 +\  (! X V W Z Y. equal(X::'a,Y) & equidistant(V::'a,W,Z,X) --> equidistant(V::'a,W,Z,Y)) &  \
   3.786 +\  (! X Y V1 V2 V3 V4. equal(X::'a,Y) --> equal(outer_pasch(X::'a,V1,V2,V3,V4),outer_pasch(Y::'a,V1,V2,V3,V4))) &   \
   3.787 +\  (! X V1 Y V2 V3 V4. equal(X::'a,Y) --> equal(outer_pasch(V1::'a,X,V2,V3,V4),outer_pasch(V1::'a,Y,V2,V3,V4))) &   \
   3.788 +\  (! X V1 V2 Y V3 V4. equal(X::'a,Y) --> equal(outer_pasch(V1::'a,V2,X,V3,V4),outer_pasch(V1::'a,V2,Y,V3,V4))) &   \
   3.789 +\  (! X V1 V2 V3 Y V4. equal(X::'a,Y) --> equal(outer_pasch(V1::'a,V2,V3,X,V4),outer_pasch(V1::'a,V2,V3,Y,V4))) &   \
   3.790 +\  (! X V1 V2 V3 V4 Y. equal(X::'a,Y) --> equal(outer_pasch(V1::'a,V2,V3,V4,X),outer_pasch(V1::'a,V2,V3,V4,Y))) &   \
   3.791 +\  (! A B C D E F'. equal(A::'a,B) --> equal(euclid1(A::'a,C,D,E,F'),euclid1(B::'a,C,D,E,F'))) &    \
   3.792 +\  (! G I' H J K' L. equal(G::'a,H) --> equal(euclid1(I'::'a,G,J,K',L),euclid1(I'::'a,H,J,K',L))) & \
   3.793 +\  (! M O_ P N Q R. equal(M::'a,N) --> equal(euclid1(O_::'a,P,M,Q,R),euclid1(O_::'a,P,N,Q,R))) &       \
   3.794 +\  (! S' U V W T' X. equal(S'::'a,T') --> equal(euclid1(U::'a,V,W,S',X),euclid1(U::'a,V,W,T',X))) & \
   3.795 +\  (! Y A1 B1 C1 D1 Z. equal(Y::'a,Z) --> equal(euclid1(A1::'a,B1,C1,D1,Y),euclid1(A1::'a,B1,C1,D1,Z))) &   \
   3.796 +\  (! E1 F1 G1 H1 I1 J1. equal(E1::'a,F1) --> equal(euclid2(E1::'a,G1,H1,I1,J1),euclid2(F1::'a,G1,H1,I1,J1))) &     \
   3.797 +\  (! K1 M1 L1 N1 O1 P1. equal(K1::'a,L1) --> equal(euclid2(M1::'a,K1,N1,O1,P1),euclid2(M1::'a,L1,N1,O1,P1))) &     \
   3.798 +\  (! Q1 S1 T1 R1 U1 V1. equal(Q1::'a,R1) --> equal(euclid2(S1::'a,T1,Q1,U1,V1),euclid2(S1::'a,T1,R1,U1,V1))) &     \
   3.799 +\  (! W1 Y1 Z1 A2 X1 B2. equal(W1::'a,X1) --> equal(euclid2(Y1::'a,Z1,A2,W1,B2),euclid2(Y1::'a,Z1,A2,X1,B2))) &     \
   3.800 +\  (! C2 E2 F2 G2 H2 D2. equal(C2::'a,D2) --> equal(euclid2(E2::'a,F2,G2,H2,C2),euclid2(E2::'a,F2,G2,H2,D2))) &     \
   3.801 +\  (! X Y V1 V2 V3. equal(X::'a,Y) --> equal(extension(X::'a,V1,V2,V3),extension(Y::'a,V1,V2,V3))) &        \
   3.802 +\  (! X V1 Y V2 V3. equal(X::'a,Y) --> equal(extension(V1::'a,X,V2,V3),extension(V1::'a,Y,V2,V3))) &        \
   3.803 +\  (! X V1 V2 Y V3. equal(X::'a,Y) --> equal(extension(V1::'a,V2,X,V3),extension(V1::'a,V2,Y,V3))) &        \
   3.804 +\  (! X V1 V2 V3 Y. equal(X::'a,Y) --> equal(extension(V1::'a,V2,V3,X),extension(V1::'a,V2,V3,Y))) &        \
   3.805 +\  (! X Y V1 V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(X::'a,V1,V2,V3,V4,V5),continuous(Y::'a,V1,V2,V3,V4,V5))) &    \
   3.806 +\  (! X V1 Y V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,X,V2,V3,V4,V5),continuous(V1::'a,Y,V2,V3,V4,V5))) &    \
   3.807 +\  (! X V1 V2 Y V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,X,V3,V4,V5),continuous(V1::'a,V2,Y,V3,V4,V5))) &    \
   3.808 +\  (! X V1 V2 V3 Y V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,X,V4,V5),continuous(V1::'a,V2,V3,Y,V4,V5))) &    \
   3.809 +\  (! X V1 V2 V3 V4 Y V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,X,V5),continuous(V1::'a,V2,V3,V4,Y,V5))) &    \
   3.810 +\  (! X V1 V2 V3 V4 V5 Y. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,V5,X),continuous(V1::'a,V2,V3,V4,V5,Y))) &    \
   3.811 +\  (~between(a::'a,b,b)) --> False",
   3.812 +  meson_tac);
   3.813 +
   3.814 +(*4272 inferences so far.  Searching to depth 10.  29.4 secs*)
   3.815 +val GEO017_2 = prove_hard
   3.816 + ("(! X. equal(X::'a,X)) &  \
   3.817 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.818 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.819 +\  (! Y X. equidistant(X::'a,Y,Y,X)) &      \
   3.820 +\  (! X Y Z V V2 W. equidistant(X::'a,Y,Z,V) & equidistant(X::'a,Y,V2,W) --> equidistant(Z::'a,V,V2,W)) &   \
   3.821 +\  (! Z X Y. equidistant(X::'a,Y,Z,Z) --> equal(X::'a,Y)) &     \
   3.822 +\  (! X Y W V. between(X::'a,Y,extension(X::'a,Y,W,V))) &       \
   3.823 +\  (! X Y W V. equidistant(Y::'a,extension(X::'a,Y,W,V),W,V)) & \
   3.824 +\  (! X1 Y1 X Y Z V Z1 V1. equidistant(X::'a,Y,X1,Y1) & equidistant(Y::'a,Z,Y1,Z1) & equidistant(X::'a,V,X1,V1) & equidistant(Y::'a,V,Y1,V1) & between(X::'a,Y,Z) & between(X1::'a,Y1,Z1) --> equal(X::'a,Y) | equidistant(Z::'a,V,Z1,V1)) &   \
   3.825 +\  (! X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &     \
   3.826 +\  (! U V W X Y. between(U::'a,V,W) & between(Y::'a,X,W) --> between(V::'a,inner_pasch(U::'a,V,W,X,Y),Y)) &     \
   3.827 +\  (! V W X Y U. between(U::'a,V,W) & between(Y::'a,X,W) --> between(X::'a,inner_pasch(U::'a,V,W,X,Y),U)) &     \
   3.828 +\  (~between(lower_dimension_point_1::'a,lower_dimension_point_2,lower_dimension_point_3)) &        \
   3.829 +\  (~between(lower_dimension_point_2::'a,lower_dimension_point_3,lower_dimension_point_1)) &        \
   3.830 +\  (~between(lower_dimension_point_3::'a,lower_dimension_point_1,lower_dimension_point_2)) &        \
   3.831 +\  (! Z X Y W V. equidistant(X::'a,W,X,V) & equidistant(Y::'a,W,Y,V) & equidistant(Z::'a,W,Z,V) --> between(X::'a,Y,Z) | between(Y::'a,Z,X) | between(Z::'a,X,Y) | equal(W::'a,V)) &     \
   3.832 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(U::'a,V,euclid1(U::'a,V,W,X,Y))) &   \
   3.833 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(U::'a,X,euclid2(U::'a,V,W,X,Y))) &   \
   3.834 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(euclid1(U::'a,V,W,X,Y),Y,euclid2(U::'a,V,W,X,Y))) &  \
   3.835 +\  (! U V V1 W X X1. equidistant(U::'a,V,U,V1) & equidistant(U::'a,X,U,X1) & between(U::'a,V,X) & between(V::'a,W,X) --> between(V1::'a,continuous(U::'a,V,V1,W,X,X1),X1)) &    \
   3.836 +\  (! U V V1 W X X1. equidistant(U::'a,V,U,V1) & equidistant(U::'a,X,U,X1) & between(U::'a,V,X) & between(V::'a,W,X) --> equidistant(U::'a,W,U,continuous(U::'a,V,V1,W,X,X1))) &        \
   3.837 +\  (! X Y W Z. equal(X::'a,Y) & between(X::'a,W,Z) --> between(Y::'a,W,Z)) &        \
   3.838 +\  (! X W Y Z. equal(X::'a,Y) & between(W::'a,X,Z) --> between(W::'a,Y,Z)) &        \
   3.839 +\  (! X W Z Y. equal(X::'a,Y) & between(W::'a,Z,X) --> between(W::'a,Z,Y)) &        \
   3.840 +\  (! X Y V W Z. equal(X::'a,Y) & equidistant(X::'a,V,W,Z) --> equidistant(Y::'a,V,W,Z)) &  \
   3.841 +\  (! X V Y W Z. equal(X::'a,Y) & equidistant(V::'a,X,W,Z) --> equidistant(V::'a,Y,W,Z)) &  \
   3.842 +\  (! X V W Y Z. equal(X::'a,Y) & equidistant(V::'a,W,X,Z) --> equidistant(V::'a,W,Y,Z)) &  \
   3.843 +\  (! X V W Z Y. equal(X::'a,Y) & equidistant(V::'a,W,Z,X) --> equidistant(V::'a,W,Z,Y)) &  \
   3.844 +\  (! X Y V1 V2 V3 V4. equal(X::'a,Y) --> equal(inner_pasch(X::'a,V1,V2,V3,V4),inner_pasch(Y::'a,V1,V2,V3,V4))) &   \
   3.845 +\  (! X V1 Y V2 V3 V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,X,V2,V3,V4),inner_pasch(V1::'a,Y,V2,V3,V4))) &   \
   3.846 +\  (! X V1 V2 Y V3 V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,X,V3,V4),inner_pasch(V1::'a,V2,Y,V3,V4))) &   \
   3.847 +\  (! X V1 V2 V3 Y V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,V3,X,V4),inner_pasch(V1::'a,V2,V3,Y,V4))) &   \
   3.848 +\  (! X V1 V2 V3 V4 Y. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,V3,V4,X),inner_pasch(V1::'a,V2,V3,V4,Y))) &   \
   3.849 +\  (! A B C D E F'. equal(A::'a,B) --> equal(euclid1(A::'a,C,D,E,F'),euclid1(B::'a,C,D,E,F'))) &    \
   3.850 +\  (! G I' H J K' L. equal(G::'a,H) --> equal(euclid1(I'::'a,G,J,K',L),euclid1(I'::'a,H,J,K',L))) & \
   3.851 +\  (! M O_ P N Q R. equal(M::'a,N) --> equal(euclid1(O_::'a,P,M,Q,R),euclid1(O_::'a,P,N,Q,R))) &       \
   3.852 +\  (! S' U V W T' X. equal(S'::'a,T') --> equal(euclid1(U::'a,V,W,S',X),euclid1(U::'a,V,W,T',X))) & \
   3.853 +\  (! Y A1 B1 C1 D1 Z. equal(Y::'a,Z) --> equal(euclid1(A1::'a,B1,C1,D1,Y),euclid1(A1::'a,B1,C1,D1,Z))) &   \
   3.854 +\  (! E1 F1 G1 H1 I1 J1. equal(E1::'a,F1) --> equal(euclid2(E1::'a,G1,H1,I1,J1),euclid2(F1::'a,G1,H1,I1,J1))) &     \
   3.855 +\  (! K1 M1 L1 N1 O1 P1. equal(K1::'a,L1) --> equal(euclid2(M1::'a,K1,N1,O1,P1),euclid2(M1::'a,L1,N1,O1,P1))) &     \
   3.856 +\  (! Q1 S1 T1 R1 U1 V1. equal(Q1::'a,R1) --> equal(euclid2(S1::'a,T1,Q1,U1,V1),euclid2(S1::'a,T1,R1,U1,V1))) &     \
   3.857 +\  (! W1 Y1 Z1 A2 X1 B2. equal(W1::'a,X1) --> equal(euclid2(Y1::'a,Z1,A2,W1,B2),euclid2(Y1::'a,Z1,A2,X1,B2))) &     \
   3.858 +\  (! C2 E2 F2 G2 H2 D2. equal(C2::'a,D2) --> equal(euclid2(E2::'a,F2,G2,H2,C2),euclid2(E2::'a,F2,G2,H2,D2))) &     \
   3.859 +\  (! X Y V1 V2 V3. equal(X::'a,Y) --> equal(extension(X::'a,V1,V2,V3),extension(Y::'a,V1,V2,V3))) &        \
   3.860 +\  (! X V1 Y V2 V3. equal(X::'a,Y) --> equal(extension(V1::'a,X,V2,V3),extension(V1::'a,Y,V2,V3))) &        \
   3.861 +\  (! X V1 V2 Y V3. equal(X::'a,Y) --> equal(extension(V1::'a,V2,X,V3),extension(V1::'a,V2,Y,V3))) &        \
   3.862 +\  (! X V1 V2 V3 Y. equal(X::'a,Y) --> equal(extension(V1::'a,V2,V3,X),extension(V1::'a,V2,V3,Y))) &        \
   3.863 +\  (! X Y V1 V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(X::'a,V1,V2,V3,V4,V5),continuous(Y::'a,V1,V2,V3,V4,V5))) &    \
   3.864 +\  (! X V1 Y V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,X,V2,V3,V4,V5),continuous(V1::'a,Y,V2,V3,V4,V5))) &    \
   3.865 +\  (! X V1 V2 Y V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,X,V3,V4,V5),continuous(V1::'a,V2,Y,V3,V4,V5))) &    \
   3.866 +\  (! X V1 V2 V3 Y V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,X,V4,V5),continuous(V1::'a,V2,V3,Y,V4,V5))) &    \
   3.867 +\  (! X V1 V2 V3 V4 Y V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,X,V5),continuous(V1::'a,V2,V3,V4,Y,V5))) &    \
   3.868 +\  (! X V1 V2 V3 V4 V5 Y. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,V5,X),continuous(V1::'a,V2,V3,V4,V5,Y))) &    \
   3.869 +\  (equidistant(u::'a,v,w,x)) &     \
   3.870 +\  (~equidistant(u::'a,v,x,w)) --> False",
   3.871 +  meson_tac);
   3.872 +
   3.873 +(****************SLOW
   3.874 +382903 inferences so far.  Searching to depth 9.  No proof after 35 minutes.
   3.875 +val GEO027_3 = prove_hard
   3.876 + ("(! X. equal(X::'a,X)) &  \
   3.877 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.878 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.879 +\  (! Y X. equidistant(X::'a,Y,Y,X)) &      \
   3.880 +\  (! X Y Z V V2 W. equidistant(X::'a,Y,Z,V) & equidistant(X::'a,Y,V2,W) --> equidistant(Z::'a,V,V2,W)) &   \
   3.881 +\  (! Z X Y. equidistant(X::'a,Y,Z,Z) --> equal(X::'a,Y)) &     \
   3.882 +\  (! X Y W V. between(X::'a,Y,extension(X::'a,Y,W,V))) &       \
   3.883 +\  (! X Y W V. equidistant(Y::'a,extension(X::'a,Y,W,V),W,V)) & \
   3.884 +\  (! X1 Y1 X Y Z V Z1 V1. equidistant(X::'a,Y,X1,Y1) & equidistant(Y::'a,Z,Y1,Z1) & equidistant(X::'a,V,X1,V1) & equidistant(Y::'a,V,Y1,V1) & between(X::'a,Y,Z) & between(X1::'a,Y1,Z1) --> equal(X::'a,Y) | equidistant(Z::'a,V,Z1,V1)) &   \
   3.885 +\  (! X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &     \
   3.886 +\  (! U V W X Y. between(U::'a,V,W) & between(Y::'a,X,W) --> between(V::'a,inner_pasch(U::'a,V,W,X,Y),Y)) &     \
   3.887 +\  (! V W X Y U. between(U::'a,V,W) & between(Y::'a,X,W) --> between(X::'a,inner_pasch(U::'a,V,W,X,Y),U)) &     \
   3.888 +\  (~between(lower_dimension_point_1::'a,lower_dimension_point_2,lower_dimension_point_3)) &        \
   3.889 +\  (~between(lower_dimension_point_2::'a,lower_dimension_point_3,lower_dimension_point_1)) &        \
   3.890 +\  (~between(lower_dimension_point_3::'a,lower_dimension_point_1,lower_dimension_point_2)) &        \
   3.891 +\  (! Z X Y W V. equidistant(X::'a,W,X,V) & equidistant(Y::'a,W,Y,V) & equidistant(Z::'a,W,Z,V) --> between(X::'a,Y,Z) | between(Y::'a,Z,X) | between(Z::'a,X,Y) | equal(W::'a,V)) &     \
   3.892 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(U::'a,V,euclid1(U::'a,V,W,X,Y))) &   \
   3.893 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(U::'a,X,euclid2(U::'a,V,W,X,Y))) &   \
   3.894 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(euclid1(U::'a,V,W,X,Y),Y,euclid2(U::'a,V,W,X,Y))) &  \
   3.895 +\  (! U V V1 W X X1. equidistant(U::'a,V,U,V1) & equidistant(U::'a,X,U,X1) & between(U::'a,V,X) & between(V::'a,W,X) --> between(V1::'a,continuous(U::'a,V,V1,W,X,X1),X1)) &    \
   3.896 +\  (! U V V1 W X X1. equidistant(U::'a,V,U,V1) & equidistant(U::'a,X,U,X1) & between(U::'a,V,X) & between(V::'a,W,X) --> equidistant(U::'a,W,U,continuous(U::'a,V,V1,W,X,X1))) &        \
   3.897 +\  (! X Y W Z. equal(X::'a,Y) & between(X::'a,W,Z) --> between(Y::'a,W,Z)) &        \
   3.898 +\  (! X W Y Z. equal(X::'a,Y) & between(W::'a,X,Z) --> between(W::'a,Y,Z)) &        \
   3.899 +\  (! X W Z Y. equal(X::'a,Y) & between(W::'a,Z,X) --> between(W::'a,Z,Y)) &        \
   3.900 +\  (! X Y V W Z. equal(X::'a,Y) & equidistant(X::'a,V,W,Z) --> equidistant(Y::'a,V,W,Z)) &  \
   3.901 +\  (! X V Y W Z. equal(X::'a,Y) & equidistant(V::'a,X,W,Z) --> equidistant(V::'a,Y,W,Z)) &  \
   3.902 +\  (! X V W Y Z. equal(X::'a,Y) & equidistant(V::'a,W,X,Z) --> equidistant(V::'a,W,Y,Z)) &  \
   3.903 +\  (! X V W Z Y. equal(X::'a,Y) & equidistant(V::'a,W,Z,X) --> equidistant(V::'a,W,Z,Y)) &  \
   3.904 +\  (! X Y V1 V2 V3 V4. equal(X::'a,Y) --> equal(inner_pasch(X::'a,V1,V2,V3,V4),inner_pasch(Y::'a,V1,V2,V3,V4))) &   \
   3.905 +\  (! X V1 Y V2 V3 V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,X,V2,V3,V4),inner_pasch(V1::'a,Y,V2,V3,V4))) &   \
   3.906 +\  (! X V1 V2 Y V3 V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,X,V3,V4),inner_pasch(V1::'a,V2,Y,V3,V4))) &   \
   3.907 +\  (! X V1 V2 V3 Y V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,V3,X,V4),inner_pasch(V1::'a,V2,V3,Y,V4))) &   \
   3.908 +\  (! X V1 V2 V3 V4 Y. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,V3,V4,X),inner_pasch(V1::'a,V2,V3,V4,Y))) &   \
   3.909 +\  (! A B C D E F'. equal(A::'a,B) --> equal(euclid1(A::'a,C,D,E,F'),euclid1(B::'a,C,D,E,F'))) &    \
   3.910 +\  (! G I' H J K' L. equal(G::'a,H) --> equal(euclid1(I'::'a,G,J,K',L),euclid1(I'::'a,H,J,K',L))) & \
   3.911 +\  (! M O_ P N Q R. equal(M::'a,N) --> equal(euclid1(O_::'a,P,M,Q,R),euclid1(O_::'a,P,N,Q,R))) &       \
   3.912 +\  (! S' U V W T' X. equal(S'::'a,T') --> equal(euclid1(U::'a,V,W,S',X),euclid1(U::'a,V,W,T',X))) & \
   3.913 +\  (! Y A1 B1 C1 D1 Z. equal(Y::'a,Z) --> equal(euclid1(A1::'a,B1,C1,D1,Y),euclid1(A1::'a,B1,C1,D1,Z))) &   \
   3.914 +\  (! E1 F1 G1 H1 I1 J1. equal(E1::'a,F1) --> equal(euclid2(E1::'a,G1,H1,I1,J1),euclid2(F1::'a,G1,H1,I1,J1))) &     \
   3.915 +\  (! K1 M1 L1 N1 O1 P1. equal(K1::'a,L1) --> equal(euclid2(M1::'a,K1,N1,O1,P1),euclid2(M1::'a,L1,N1,O1,P1))) &     \
   3.916 +\  (! Q1 S1 T1 R1 U1 V1. equal(Q1::'a,R1) --> equal(euclid2(S1::'a,T1,Q1,U1,V1),euclid2(S1::'a,T1,R1,U1,V1))) &     \
   3.917 +\  (! W1 Y1 Z1 A2 X1 B2. equal(W1::'a,X1) --> equal(euclid2(Y1::'a,Z1,A2,W1,B2),euclid2(Y1::'a,Z1,A2,X1,B2))) &     \
   3.918 +\  (! C2 E2 F2 G2 H2 D2. equal(C2::'a,D2) --> equal(euclid2(E2::'a,F2,G2,H2,C2),euclid2(E2::'a,F2,G2,H2,D2))) &     \
   3.919 +\  (! X Y V1 V2 V3. equal(X::'a,Y) --> equal(extension(X::'a,V1,V2,V3),extension(Y::'a,V1,V2,V3))) &        \
   3.920 +\  (! X V1 Y V2 V3. equal(X::'a,Y) --> equal(extension(V1::'a,X,V2,V3),extension(V1::'a,Y,V2,V3))) &        \
   3.921 +\  (! X V1 V2 Y V3. equal(X::'a,Y) --> equal(extension(V1::'a,V2,X,V3),extension(V1::'a,V2,Y,V3))) &        \
   3.922 +\  (! X V1 V2 V3 Y. equal(X::'a,Y) --> equal(extension(V1::'a,V2,V3,X),extension(V1::'a,V2,V3,Y))) &        \
   3.923 +\  (! X Y V1 V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(X::'a,V1,V2,V3,V4,V5),continuous(Y::'a,V1,V2,V3,V4,V5))) &    \
   3.924 +\  (! X V1 Y V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,X,V2,V3,V4,V5),continuous(V1::'a,Y,V2,V3,V4,V5))) &    \
   3.925 +\  (! X V1 V2 Y V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,X,V3,V4,V5),continuous(V1::'a,V2,Y,V3,V4,V5))) &    \
   3.926 +\  (! X V1 V2 V3 Y V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,X,V4,V5),continuous(V1::'a,V2,V3,Y,V4,V5))) &    \
   3.927 +\  (! X V1 V2 V3 V4 Y V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,X,V5),continuous(V1::'a,V2,V3,V4,Y,V5))) &    \
   3.928 +\  (! X V1 V2 V3 V4 V5 Y. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,V5,X),continuous(V1::'a,V2,V3,V4,V5,Y))) &    \
   3.929 +\  (! U V. equal(reflection(U::'a,V),extension(U::'a,V,U,V))) & \
   3.930 +\  (! X Y Z. equal(X::'a,Y) --> equal(reflection(X::'a,Z),reflection(Y::'a,Z))) &   \
   3.931 +\  (! A1 C1 B1. equal(A1::'a,B1) --> equal(reflection(C1::'a,A1),reflection(C1::'a,B1))) &  \
   3.932 +\  (! U V. equidistant(U::'a,V,U,V)) &      \
   3.933 +\  (! W X U V. equidistant(U::'a,V,W,X) --> equidistant(W::'a,X,U,V)) & \
   3.934 +\  (! V U W X. equidistant(U::'a,V,W,X) --> equidistant(V::'a,U,W,X)) & \
   3.935 +\  (! U V X W. equidistant(U::'a,V,W,X) --> equidistant(U::'a,V,X,W)) & \
   3.936 +\  (! V U X W. equidistant(U::'a,V,W,X) --> equidistant(V::'a,U,X,W)) & \
   3.937 +\  (! W X V U. equidistant(U::'a,V,W,X) --> equidistant(W::'a,X,V,U)) & \
   3.938 +\  (! X W U V. equidistant(U::'a,V,W,X) --> equidistant(X::'a,W,U,V)) & \
   3.939 +\  (! X W V U. equidistant(U::'a,V,W,X) --> equidistant(X::'a,W,V,U)) & \
   3.940 +\  (! W X U V Y Z. equidistant(U::'a,V,W,X) & equidistant(W::'a,X,Y,Z) --> equidistant(U::'a,V,Y,Z)) &      \
   3.941 +\  (! U V W. equal(V::'a,extension(U::'a,V,W,W))) &     \
   3.942 +\  (! W X U V Y. equal(Y::'a,extension(U::'a,V,W,X)) --> between(U::'a,V,Y)) &      \
   3.943 +\  (! U V. between(U::'a,V,reflection(U::'a,V))) &      \
   3.944 +\  (! U V. equidistant(V::'a,reflection(U::'a,V),U,V)) &        \
   3.945 +\  (! U V. equal(U::'a,V) --> equal(V::'a,reflection(U::'a,V))) &   \
   3.946 +\  (! U. equal(U::'a,reflection(U::'a,U))) &    \
   3.947 +\  (! U V. equal(V::'a,reflection(U::'a,V)) --> equal(U::'a,V)) &   \
   3.948 +\  (! U V. equidistant(U::'a,U,V,V)) &      \
   3.949 +\  (! V V1 U W U1 W1. equidistant(U::'a,V,U1,V1) & equidistant(V::'a,W,V1,W1) & between(U::'a,V,W) & between(U1::'a,V1,W1) --> equidistant(U::'a,W,U1,W1)) &        \
   3.950 +\  (! U V W X. between(U::'a,V,W) & between(U::'a,V,X) & equidistant(V::'a,W,V,X) --> equal(U::'a,V) | equal(W::'a,X)) &   \
   3.951 +\  (between(u::'a,v,w)) &   \
   3.952 +\  (~equal(u::'a,v)) &      \
   3.953 +\  (~equal(w::'a,extension(u::'a,v,v,w))) --> False",
   3.954 +  meson_tac);
   3.955 +****************)
   3.956 +
   3.957 +(*313884 inferences so far.  Searching to depth 10.  887 secs: 15 mins.*)
   3.958 +val GEO058_2 = prove_hard
   3.959 + ("(! X. equal(X::'a,X)) &  \
   3.960 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   3.961 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   3.962 +\  (! Y X. equidistant(X::'a,Y,Y,X)) &      \
   3.963 +\  (! X Y Z V V2 W. equidistant(X::'a,Y,Z,V) & equidistant(X::'a,Y,V2,W) --> equidistant(Z::'a,V,V2,W)) &   \
   3.964 +\  (! Z X Y. equidistant(X::'a,Y,Z,Z) --> equal(X::'a,Y)) &     \
   3.965 +\  (! X Y W V. between(X::'a,Y,extension(X::'a,Y,W,V))) &       \
   3.966 +\  (! X Y W V. equidistant(Y::'a,extension(X::'a,Y,W,V),W,V)) & \
   3.967 +\  (! X1 Y1 X Y Z V Z1 V1. equidistant(X::'a,Y,X1,Y1) & equidistant(Y::'a,Z,Y1,Z1) & equidistant(X::'a,V,X1,V1) & equidistant(Y::'a,V,Y1,V1) & between(X::'a,Y,Z) & between(X1::'a,Y1,Z1) --> equal(X::'a,Y) | equidistant(Z::'a,V,Z1,V1)) &   \
   3.968 +\  (! X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &     \
   3.969 +\  (! U V W X Y. between(U::'a,V,W) & between(Y::'a,X,W) --> between(V::'a,inner_pasch(U::'a,V,W,X,Y),Y)) &     \
   3.970 +\  (! V W X Y U. between(U::'a,V,W) & between(Y::'a,X,W) --> between(X::'a,inner_pasch(U::'a,V,W,X,Y),U)) &     \
   3.971 +\  (~between(lower_dimension_point_1::'a,lower_dimension_point_2,lower_dimension_point_3)) &        \
   3.972 +\  (~between(lower_dimension_point_2::'a,lower_dimension_point_3,lower_dimension_point_1)) &        \
   3.973 +\  (~between(lower_dimension_point_3::'a,lower_dimension_point_1,lower_dimension_point_2)) &        \
   3.974 +\  (! Z X Y W V. equidistant(X::'a,W,X,V) & equidistant(Y::'a,W,Y,V) & equidistant(Z::'a,W,Z,V) --> between(X::'a,Y,Z) | between(Y::'a,Z,X) | between(Z::'a,X,Y) | equal(W::'a,V)) &     \
   3.975 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(U::'a,V,euclid1(U::'a,V,W,X,Y))) &   \
   3.976 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(U::'a,X,euclid2(U::'a,V,W,X,Y))) &   \
   3.977 +\  (! U V W X Y. between(U::'a,W,Y) & between(V::'a,W,X) --> equal(U::'a,W) | between(euclid1(U::'a,V,W,X,Y),Y,euclid2(U::'a,V,W,X,Y))) &  \
   3.978 +\  (! U V V1 W X X1. equidistant(U::'a,V,U,V1) & equidistant(U::'a,X,U,X1) & between(U::'a,V,X) & between(V::'a,W,X) --> between(V1::'a,continuous(U::'a,V,V1,W,X,X1),X1)) &    \
   3.979 +\  (! U V V1 W X X1. equidistant(U::'a,V,U,V1) & equidistant(U::'a,X,U,X1) & between(U::'a,V,X) & between(V::'a,W,X) --> equidistant(U::'a,W,U,continuous(U::'a,V,V1,W,X,X1))) &        \
   3.980 +\  (! X Y W Z. equal(X::'a,Y) & between(X::'a,W,Z) --> between(Y::'a,W,Z)) &        \
   3.981 +\  (! X W Y Z. equal(X::'a,Y) & between(W::'a,X,Z) --> between(W::'a,Y,Z)) &        \
   3.982 +\  (! X W Z Y. equal(X::'a,Y) & between(W::'a,Z,X) --> between(W::'a,Z,Y)) &        \
   3.983 +\  (! X Y V W Z. equal(X::'a,Y) & equidistant(X::'a,V,W,Z) --> equidistant(Y::'a,V,W,Z)) &  \
   3.984 +\  (! X V Y W Z. equal(X::'a,Y) & equidistant(V::'a,X,W,Z) --> equidistant(V::'a,Y,W,Z)) &  \
   3.985 +\  (! X V W Y Z. equal(X::'a,Y) & equidistant(V::'a,W,X,Z) --> equidistant(V::'a,W,Y,Z)) &  \
   3.986 +\  (! X V W Z Y. equal(X::'a,Y) & equidistant(V::'a,W,Z,X) --> equidistant(V::'a,W,Z,Y)) &  \
   3.987 +\  (! X Y V1 V2 V3 V4. equal(X::'a,Y) --> equal(inner_pasch(X::'a,V1,V2,V3,V4),inner_pasch(Y::'a,V1,V2,V3,V4))) &   \
   3.988 +\  (! X V1 Y V2 V3 V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,X,V2,V3,V4),inner_pasch(V1::'a,Y,V2,V3,V4))) &   \
   3.989 +\  (! X V1 V2 Y V3 V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,X,V3,V4),inner_pasch(V1::'a,V2,Y,V3,V4))) &   \
   3.990 +\  (! X V1 V2 V3 Y V4. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,V3,X,V4),inner_pasch(V1::'a,V2,V3,Y,V4))) &   \
   3.991 +\  (! X V1 V2 V3 V4 Y. equal(X::'a,Y) --> equal(inner_pasch(V1::'a,V2,V3,V4,X),inner_pasch(V1::'a,V2,V3,V4,Y))) &   \
   3.992 +\  (! A B C D E F'. equal(A::'a,B) --> equal(euclid1(A::'a,C,D,E,F'),euclid1(B::'a,C,D,E,F'))) &    \
   3.993 +\  (! G I' H J K' L. equal(G::'a,H) --> equal(euclid1(I'::'a,G,J,K',L),euclid1(I'::'a,H,J,K',L))) & \
   3.994 +\  (! M O_ P N Q R. equal(M::'a,N) --> equal(euclid1(O_::'a,P,M,Q,R),euclid1(O_::'a,P,N,Q,R))) &       \
   3.995 +\  (! S' U V W T' X. equal(S'::'a,T') --> equal(euclid1(U::'a,V,W,S',X),euclid1(U::'a,V,W,T',X))) & \
   3.996 +\  (! Y A1 B1 C1 D1 Z. equal(Y::'a,Z) --> equal(euclid1(A1::'a,B1,C1,D1,Y),euclid1(A1::'a,B1,C1,D1,Z))) &   \
   3.997 +\  (! E1 F1 G1 H1 I1 J1. equal(E1::'a,F1) --> equal(euclid2(E1::'a,G1,H1,I1,J1),euclid2(F1::'a,G1,H1,I1,J1))) &     \
   3.998 +\  (! K1 M1 L1 N1 O1 P1. equal(K1::'a,L1) --> equal(euclid2(M1::'a,K1,N1,O1,P1),euclid2(M1::'a,L1,N1,O1,P1))) &     \
   3.999 +\  (! Q1 S1 T1 R1 U1 V1. equal(Q1::'a,R1) --> equal(euclid2(S1::'a,T1,Q1,U1,V1),euclid2(S1::'a,T1,R1,U1,V1))) &     \
  3.1000 +\  (! W1 Y1 Z1 A2 X1 B2. equal(W1::'a,X1) --> equal(euclid2(Y1::'a,Z1,A2,W1,B2),euclid2(Y1::'a,Z1,A2,X1,B2))) &     \
  3.1001 +\  (! C2 E2 F2 G2 H2 D2. equal(C2::'a,D2) --> equal(euclid2(E2::'a,F2,G2,H2,C2),euclid2(E2::'a,F2,G2,H2,D2))) &     \
  3.1002 +\  (! X Y V1 V2 V3. equal(X::'a,Y) --> equal(extension(X::'a,V1,V2,V3),extension(Y::'a,V1,V2,V3))) &        \
  3.1003 +\  (! X V1 Y V2 V3. equal(X::'a,Y) --> equal(extension(V1::'a,X,V2,V3),extension(V1::'a,Y,V2,V3))) &        \
  3.1004 +\  (! X V1 V2 Y V3. equal(X::'a,Y) --> equal(extension(V1::'a,V2,X,V3),extension(V1::'a,V2,Y,V3))) &        \
  3.1005 +\  (! X V1 V2 V3 Y. equal(X::'a,Y) --> equal(extension(V1::'a,V2,V3,X),extension(V1::'a,V2,V3,Y))) &        \
  3.1006 +\  (! X Y V1 V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(X::'a,V1,V2,V3,V4,V5),continuous(Y::'a,V1,V2,V3,V4,V5))) &    \
  3.1007 +\  (! X V1 Y V2 V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,X,V2,V3,V4,V5),continuous(V1::'a,Y,V2,V3,V4,V5))) &    \
  3.1008 +\  (! X V1 V2 Y V3 V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,X,V3,V4,V5),continuous(V1::'a,V2,Y,V3,V4,V5))) &    \
  3.1009 +\  (! X V1 V2 V3 Y V4 V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,X,V4,V5),continuous(V1::'a,V2,V3,Y,V4,V5))) &    \
  3.1010 +\  (! X V1 V2 V3 V4 Y V5. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,X,V5),continuous(V1::'a,V2,V3,V4,Y,V5))) &    \
  3.1011 +\  (! X V1 V2 V3 V4 V5 Y. equal(X::'a,Y) --> equal(continuous(V1::'a,V2,V3,V4,V5,X),continuous(V1::'a,V2,V3,V4,V5,Y))) &    \
  3.1012 +\  (! U V. equal(reflection(U::'a,V),extension(U::'a,V,U,V))) & \
  3.1013 +\  (! X Y Z. equal(X::'a,Y) --> equal(reflection(X::'a,Z),reflection(Y::'a,Z))) &   \
  3.1014 +\  (! A1 C1 B1. equal(A1::'a,B1) --> equal(reflection(C1::'a,A1),reflection(C1::'a,B1))) &  \
  3.1015 +\  (equal(v::'a,reflection(u::'a,v))) & \
  3.1016 +\  (~equal(u::'a,v)) --> False",
  3.1017 +  meson_tac);
  3.1018 +
  3.1019 +(*0 inferences so far.  Searching to depth 0.  0.2 secs*)
  3.1020 +val GEO079_1 = prove
  3.1021 + ("(! U V W X Y Z. right_angle(U::'a,V,W) & right_angle(X::'a,Y,Z) --> eq(U::'a,V,W,X,Y,Z)) &       \
  3.1022 +\  (! U V W X Y Z. congruent(U::'a,V,W,X,Y,Z) --> eq(U::'a,V,W,X,Y,Z)) &        \
  3.1023 +\  (! V W U X. trapezoid(U::'a,V,W,X) --> parallel(V::'a,W,U,X)) &      \
  3.1024 +\  (! U V X Y. parallel(U::'a,V,X,Y) --> eq(X::'a,V,U,V,X,Y)) & \
  3.1025 +\  (trapezoid(a::'a,b,c,d)) &       \
  3.1026 +\  (~eq(a::'a,c,b,c,a,d)) --> False",
  3.1027 +  meson_tac);
  3.1028 +
  3.1029 +(****************SLOW
  3.1030 +2032008 inferences so far.  Searching to depth 16.  No proof after 30 minutes.
  3.1031 +val GRP001_1 = prove_hard
  3.1032 + ("(! X. equal(X::'a,X)) &  \
  3.1033 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1034 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1035 +\  (! X. product(identity::'a,X,X)) &       \
  3.1036 +\  (! X. product(X::'a,identity,X)) &       \
  3.1037 +\  (! X. product(inverse(X),X,identity)) &      \
  3.1038 +\  (! X. product(X::'a,inverse(X),identity)) &      \
  3.1039 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1040 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
  3.1041 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1042 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1043 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
  3.1044 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.1045 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
  3.1046 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.1047 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.1048 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.1049 +\  (! X. product(X::'a,X,identity)) &       \
  3.1050 +\  (product(a::'a,b,c)) &   \
  3.1051 +\  (~product(b::'a,a,c)) --> False",
  3.1052 +  meson_tac);
  3.1053 +****************)
  3.1054 +
  3.1055 +(*2386 inferences so far.  Searching to depth 11.  8.7 secs*)
  3.1056 +val GRP008_1 = prove_hard
  3.1057 + ("(! X. equal(X::'a,X)) &  \
  3.1058 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1059 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1060 +\  (! X. product(identity::'a,X,X)) &       \
  3.1061 +\  (! X. product(X::'a,identity,X)) &       \
  3.1062 +\  (! X. product(inverse(X),X,identity)) &      \
  3.1063 +\  (! X. product(X::'a,inverse(X),identity)) &      \
  3.1064 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1065 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
  3.1066 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1067 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1068 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
  3.1069 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.1070 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
  3.1071 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.1072 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.1073 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.1074 +\  (! A B. equal(A::'a,B) --> equal(h(A),h(B))) &   \
  3.1075 +\  (! C D. equal(C::'a,D) --> equal(j(C),j(D))) &   \
  3.1076 +\  (! A B. equal(A::'a,B) & q(A) --> q(B)) &        \
  3.1077 +\  (! B A C. q(A) & product(A::'a,B,C) --> product(B::'a,A,C)) &        \
  3.1078 +\  (! A. product(j(A),A,h(A)) | product(A::'a,j(A),h(A)) | q(A)) &        \
  3.1079 +\  (! A. product(j(A),A,h(A)) & product(A::'a,j(A),h(A)) --> q(A)) &        \
  3.1080 +\  (~q(identity)) --> False",
  3.1081 +  meson_tac);
  3.1082 +
  3.1083 +(*8625 inferences so far.  Searching to depth 11.  20 secs*)
  3.1084 +val GRP013_1 = prove_hard
  3.1085 + ("(! X. equal(X::'a,X)) &  \
  3.1086 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1087 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1088 +\  (! X. product(identity::'a,X,X)) &       \
  3.1089 +\  (! X. product(X::'a,identity,X)) &       \
  3.1090 +\  (! X. product(inverse(X),X,identity)) &      \
  3.1091 +\  (! X. product(X::'a,inverse(X),identity)) &      \
  3.1092 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1093 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
  3.1094 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1095 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1096 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
  3.1097 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.1098 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
  3.1099 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.1100 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.1101 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.1102 +\  (! A. product(A::'a,A,identity)) &       \
  3.1103 +\  (product(a::'a,b,c)) &   \
  3.1104 +\  (product(inverse(a),inverse(b),d)) & \
  3.1105 +\  (! A C B. product(inverse(A),inverse(B),C) --> product(A::'a,C,B)) &     \
  3.1106 +\  (~product(c::'a,d,identity)) --> False",
  3.1107 +  meson_tac);
  3.1108 +
  3.1109 +(*2448 inferences so far.  Searching to depth 10.  7.2 secs*)
  3.1110 +val GRP037_3 = prove_hard
  3.1111 + ("(! X. equal(X::'a,X)) &  \
  3.1112 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1113 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1114 +\  (! X. product(identity::'a,X,X)) &       \
  3.1115 +\  (! X. product(X::'a,identity,X)) &       \
  3.1116 +\  (! X. product(inverse(X),X,identity)) &      \
  3.1117 +\  (! X. product(X::'a,inverse(X),identity)) &      \
  3.1118 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1119 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
  3.1120 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1121 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1122 +\  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
  3.1123 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.1124 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
  3.1125 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.1126 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.1127 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.1128 +\  (! A B C. subgroup_member(A) & subgroup_member(B) & product(A::'a,inverse(B),C) --> subgroup_member(C)) &        \
  3.1129 +\  (! A B. equal(A::'a,B) & subgroup_member(A) --> subgroup_member(B)) &    \
  3.1130 +\  (! A. subgroup_member(A) --> product(another_identity::'a,A,A)) &        \
  3.1131 +\  (! A. subgroup_member(A) --> product(A::'a,another_identity,A)) &        \
  3.1132 +\  (! A. subgroup_member(A) --> product(A::'a,another_inverse(A),another_identity)) &       \
  3.1133 +\  (! A. subgroup_member(A) --> product(another_inverse(A),A,another_identity)) &       \
  3.1134 +\  (! A. subgroup_member(A) --> subgroup_member(another_inverse(A))) &  \
  3.1135 +\  (! A B. equal(A::'a,B) --> equal(another_inverse(A),another_inverse(B))) &       \
  3.1136 +\  (! A C D B. product(A::'a,B,C) & product(A::'a,D,C) --> equal(D::'a,B)) &        \
  3.1137 +\  (! B C D A. product(A::'a,B,C) & product(D::'a,B,C) --> equal(D::'a,A)) &        \
  3.1138 +\  (subgroup_member(a)) &       \
  3.1139 +\  (subgroup_member(another_identity)) &        \
  3.1140 +\  (~equal(inverse(a),another_inverse(a))) --> False",
  3.1141 +  meson_tac);
  3.1142 +
  3.1143 +(*163 inferences so far.  Searching to depth 11.  0.3 secs*)
  3.1144 +val GRP031_2 = prove
  3.1145 + ("(! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1146 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
  3.1147 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1148 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1149 +\  (! A. product(A::'a,inverse(A),identity)) &      \
  3.1150 +\  (! A. product(A::'a,identity,A)) &       \
  3.1151 +\  (! A. ~product(A::'a,a,identity)) --> False",
  3.1152 +  meson_tac);
  3.1153 +
  3.1154 +(*47 inferences so far.  Searching to depth 11.   0.2 secs*)
  3.1155 +val GRP034_4 = prove
  3.1156 + ("(! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1157 +\  (! X. product(identity::'a,X,X)) &       \
  3.1158 +\  (! X. product(X::'a,identity,X)) &       \
  3.1159 +\  (! X. product(X::'a,inverse(X),identity)) &      \
  3.1160 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1161 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1162 +\  (! B A C. subgroup_member(A) & subgroup_member(B) & product(B::'a,inverse(A),C) --> subgroup_member(C)) &        \
  3.1163 +\  (subgroup_member(a)) &       \
  3.1164 +\  (~subgroup_member(inverse(a))) --> False",
  3.1165 +  meson_tac);
  3.1166 +
  3.1167 +(*3287 inferences so far.  Searching to depth 14.  3.5 secs*)
  3.1168 +val GRP047_2 = prove_hard
  3.1169 + ("(! X. product(identity::'a,X,X)) &       \
  3.1170 +\  (! X. product(inverse(X),X,identity)) &      \
  3.1171 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.1172 +\  (! X Y Z W. product(X::'a,Y,Z) & product(X::'a,Y,W) --> equal(Z::'a,W)) &        \
  3.1173 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.1174 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.1175 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.1176 +\  (equal(a::'a,b)) &       \
  3.1177 +\  (~equal(multiply(c::'a,a),multiply(c::'a,b))) --> False",
  3.1178 +  meson_tac);
  3.1179 +
  3.1180 +(*25559 inferences so far.  Searching to depth 19.  16.9 secs*)
  3.1181 +val GRP130_1_002 = prove_hard
  3.1182 + ("(group_element(e_1)) &       \
  3.1183 +\  (group_element(e_2)) &       \
  3.1184 +\  (~equal(e_1::'a,e_2)) &  \
  3.1185 +\  (~equal(e_2::'a,e_1)) &  \
  3.1186 +\  (! X Y. group_element(X) & group_element(Y) --> product(X::'a,Y,e_1) | product(X::'a,Y,e_2)) &      \
  3.1187 +\  (! X Y W Z. product(X::'a,Y,W) & product(X::'a,Y,Z) --> equal(W::'a,Z)) &        \
  3.1188 +\  (! X Y W Z. product(X::'a,W,Y) & product(X::'a,Z,Y) --> equal(W::'a,Z)) &        \
  3.1189 +\  (! Y X W Z. product(W::'a,Y,X) & product(Z::'a,Y,X) --> equal(W::'a,Z)) &        \
  3.1190 +\  (! Z1 Z2 Y X. product(X::'a,Y,Z1) & product(X::'a,Z1,Z2) --> product(Z2::'a,Y,X)) --> False",
  3.1191 +  meson_tac);
  3.1192 +
  3.1193 +(*3468 inferences so far.  Searching to depth 10.  9.1 secs*)
  3.1194 +val GRP156_1 = prove_hard
  3.1195 + ("(! X. equal(X::'a,X)) &  \
  3.1196 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1197 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1198 +\  (! X. equal(multiply(identity::'a,X),X)) &       \
  3.1199 +\  (! X. equal(multiply(inverse(X),X),identity)) &      \
  3.1200 +\  (! X Y Z. equal(multiply(multiply(X::'a,Y),Z),multiply(X::'a,multiply(Y::'a,Z)))) &      \
  3.1201 +\  (! A B. equal(A::'a,B) --> equal(inverse(A),inverse(B))) &       \
  3.1202 +\  (! C D E. equal(C::'a,D) --> equal(multiply(C::'a,E),multiply(D::'a,E))) &       \
  3.1203 +\  (! F' H G. equal(F'::'a,G) --> equal(multiply(H::'a,F'),multiply(H::'a,G))) &    \
  3.1204 +\  (! Y X. equal(greatest_lower_bound(X::'a,Y),greatest_lower_bound(Y::'a,X))) &        \
  3.1205 +\  (! Y X. equal(least_upper_bound(X::'a,Y),least_upper_bound(Y::'a,X))) &      \
  3.1206 +\  (! X Y Z. equal(greatest_lower_bound(X::'a,greatest_lower_bound(Y::'a,Z)),greatest_lower_bound(greatest_lower_bound(X::'a,Y),Z))) &      \
  3.1207 +\  (! X Y Z. equal(least_upper_bound(X::'a,least_upper_bound(Y::'a,Z)),least_upper_bound(least_upper_bound(X::'a,Y),Z))) &  \
  3.1208 +\  (! X. equal(least_upper_bound(X::'a,X),X)) &     \
  3.1209 +\  (! X. equal(greatest_lower_bound(X::'a,X),X)) &  \
  3.1210 +\  (! Y X. equal(least_upper_bound(X::'a,greatest_lower_bound(X::'a,Y)),X)) &   \
  3.1211 +\  (! Y X. equal(greatest_lower_bound(X::'a,least_upper_bound(X::'a,Y)),X)) &   \
  3.1212 +\  (! Y X Z. equal(multiply(X::'a,least_upper_bound(Y::'a,Z)),least_upper_bound(multiply(X::'a,Y),multiply(X::'a,Z)))) &        \
  3.1213 +\  (! Y X Z. equal(multiply(X::'a,greatest_lower_bound(Y::'a,Z)),greatest_lower_bound(multiply(X::'a,Y),multiply(X::'a,Z)))) &  \
  3.1214 +\  (! Y Z X. equal(multiply(least_upper_bound(Y::'a,Z),X),least_upper_bound(multiply(Y::'a,X),multiply(Z::'a,X)))) &        \
  3.1215 +\  (! Y Z X. equal(multiply(greatest_lower_bound(Y::'a,Z),X),greatest_lower_bound(multiply(Y::'a,X),multiply(Z::'a,X)))) &  \
  3.1216 +\  (! A B C. equal(A::'a,B) --> equal(greatest_lower_bound(A::'a,C),greatest_lower_bound(B::'a,C))) &       \
  3.1217 +\  (! A C B. equal(A::'a,B) --> equal(greatest_lower_bound(C::'a,A),greatest_lower_bound(C::'a,B))) &       \
  3.1218 +\  (! A B C. equal(A::'a,B) --> equal(least_upper_bound(A::'a,C),least_upper_bound(B::'a,C))) &     \
  3.1219 +\  (! A C B. equal(A::'a,B) --> equal(least_upper_bound(C::'a,A),least_upper_bound(C::'a,B))) &     \
  3.1220 +\  (! A B C. equal(A::'a,B) --> equal(multiply(A::'a,C),multiply(B::'a,C))) &       \
  3.1221 +\  (! A C B. equal(A::'a,B) --> equal(multiply(C::'a,A),multiply(C::'a,B))) &       \
  3.1222 +\  (equal(least_upper_bound(a::'a,b),b)) &  \
  3.1223 +\  (~equal(greatest_lower_bound(multiply(a::'a,c),multiply(b::'a,c)),multiply(a::'a,c))) --> False",
  3.1224 +  meson_tac);
  3.1225 +
  3.1226 +(*4394 inferences so far.  Searching to depth 10.  8.2 secs*)
  3.1227 +val GRP168_1 = prove_hard
  3.1228 + ("(! X. equal(X::'a,X)) &  \
  3.1229 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1230 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1231 +\  (! X. equal(multiply(identity::'a,X),X)) &       \
  3.1232 +\  (! X. equal(multiply(inverse(X),X),identity)) &      \
  3.1233 +\  (! X Y Z. equal(multiply(multiply(X::'a,Y),Z),multiply(X::'a,multiply(Y::'a,Z)))) &      \
  3.1234 +\  (! A B. equal(A::'a,B) --> equal(inverse(A),inverse(B))) &       \
  3.1235 +\  (! C D E. equal(C::'a,D) --> equal(multiply(C::'a,E),multiply(D::'a,E))) &       \
  3.1236 +\  (! F' H G. equal(F'::'a,G) --> equal(multiply(H::'a,F'),multiply(H::'a,G))) &    \
  3.1237 +\  (! Y X. equal(greatest_lower_bound(X::'a,Y),greatest_lower_bound(Y::'a,X))) &        \
  3.1238 +\  (! Y X. equal(least_upper_bound(X::'a,Y),least_upper_bound(Y::'a,X))) &      \
  3.1239 +\  (! X Y Z. equal(greatest_lower_bound(X::'a,greatest_lower_bound(Y::'a,Z)),greatest_lower_bound(greatest_lower_bound(X::'a,Y),Z))) &      \
  3.1240 +\  (! X Y Z. equal(least_upper_bound(X::'a,least_upper_bound(Y::'a,Z)),least_upper_bound(least_upper_bound(X::'a,Y),Z))) &  \
  3.1241 +\  (! X. equal(least_upper_bound(X::'a,X),X)) &     \
  3.1242 +\  (! X. equal(greatest_lower_bound(X::'a,X),X)) &  \
  3.1243 +\  (! Y X. equal(least_upper_bound(X::'a,greatest_lower_bound(X::'a,Y)),X)) &   \
  3.1244 +\  (! Y X. equal(greatest_lower_bound(X::'a,least_upper_bound(X::'a,Y)),X)) &   \
  3.1245 +\  (! Y X Z. equal(multiply(X::'a,least_upper_bound(Y::'a,Z)),least_upper_bound(multiply(X::'a,Y),multiply(X::'a,Z)))) &        \
  3.1246 +\  (! Y X Z. equal(multiply(X::'a,greatest_lower_bound(Y::'a,Z)),greatest_lower_bound(multiply(X::'a,Y),multiply(X::'a,Z)))) &  \
  3.1247 +\  (! Y Z X. equal(multiply(least_upper_bound(Y::'a,Z),X),least_upper_bound(multiply(Y::'a,X),multiply(Z::'a,X)))) &        \
  3.1248 +\  (! Y Z X. equal(multiply(greatest_lower_bound(Y::'a,Z),X),greatest_lower_bound(multiply(Y::'a,X),multiply(Z::'a,X)))) &  \
  3.1249 +\  (! A B C. equal(A::'a,B) --> equal(greatest_lower_bound(A::'a,C),greatest_lower_bound(B::'a,C))) &       \
  3.1250 +\  (! A C B. equal(A::'a,B) --> equal(greatest_lower_bound(C::'a,A),greatest_lower_bound(C::'a,B))) &       \
  3.1251 +\  (! A B C. equal(A::'a,B) --> equal(least_upper_bound(A::'a,C),least_upper_bound(B::'a,C))) &     \
  3.1252 +\  (! A C B. equal(A::'a,B) --> equal(least_upper_bound(C::'a,A),least_upper_bound(C::'a,B))) &     \
  3.1253 +\  (! A B C. equal(A::'a,B) --> equal(multiply(A::'a,C),multiply(B::'a,C))) &       \
  3.1254 +\  (! A C B. equal(A::'a,B) --> equal(multiply(C::'a,A),multiply(C::'a,B))) &       \
  3.1255 +\  (equal(least_upper_bound(a::'a,b),b)) &  \
  3.1256 +\  (~equal(least_upper_bound(multiply(inverse(c),multiply(a::'a,c)),multiply(inverse(c),multiply(b::'a,c))),multiply(inverse(c),multiply(b::'a,c)))) --> False",
  3.1257 +  meson_tac);
  3.1258 +
  3.1259 +(*250258 inferences so far.  Searching to depth 16.  406.2 secs*)
  3.1260 +val HEN003_3 = prove_hard
  3.1261 + ("(! X. equal(X::'a,X)) &  \
  3.1262 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1263 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1264 +\  (! X Y. less_equal(X::'a,Y) --> equal(divide(X::'a,Y),zero)) &       \
  3.1265 +\  (! X Y. equal(divide(X::'a,Y),zero) --> less_equal(X::'a,Y)) &       \
  3.1266 +\  (! Y X. less_equal(divide(X::'a,Y),X)) & \
  3.1267 +\  (! X Y Z. less_equal(divide(divide(X::'a,Z),divide(Y::'a,Z)),divide(divide(X::'a,Y),Z))) &       \
  3.1268 +\  (! X. less_equal(zero::'a,X)) &  \
  3.1269 +\  (! X Y. less_equal(X::'a,Y) & less_equal(Y::'a,X) --> equal(X::'a,Y)) &  \
  3.1270 +\  (! X. less_equal(X::'a,identity)) &      \
  3.1271 +\  (! A B C. equal(A::'a,B) --> equal(divide(A::'a,C),divide(B::'a,C))) &   \
  3.1272 +\  (! D F' E. equal(D::'a,E) --> equal(divide(F'::'a,D),divide(F'::'a,E))) &        \
  3.1273 +\  (! G H I'. equal(G::'a,H) & less_equal(G::'a,I') --> less_equal(H::'a,I')) &     \
  3.1274 +\  (! J L K'. equal(J::'a,K') & less_equal(L::'a,J) --> less_equal(L::'a,K')) &     \
  3.1275 +\  (~equal(divide(a::'a,a),zero)) --> False",
  3.1276 +  meson_tac);
  3.1277 +
  3.1278 +
  3.1279 +(*202177 inferences so far.  Searching to depth 14.  451 secs*)
  3.1280 +val HEN007_2 = prove_hard
  3.1281 + ("(! X. equal(X::'a,X)) &  \
  3.1282 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1283 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1284 +\  (! X Y. less_equal(X::'a,Y) --> quotient(X::'a,Y,zero)) &    \
  3.1285 +\  (! X Y. quotient(X::'a,Y,zero) --> less_equal(X::'a,Y)) &    \
  3.1286 +\  (! Y Z X. quotient(X::'a,Y,Z) --> less_equal(Z::'a,X)) &     \
  3.1287 +\  (! Y X V3 V2 V1 Z V4 V5. quotient(X::'a,Y,V1) & quotient(Y::'a,Z,V2) & quotient(X::'a,Z,V3) & quotient(V3::'a,V2,V4) & quotient(V1::'a,Z,V5) --> less_equal(V4::'a,V5)) &    \
  3.1288 +\  (! X. less_equal(zero::'a,X)) &  \
  3.1289 +\  (! X Y. less_equal(X::'a,Y) & less_equal(Y::'a,X) --> equal(X::'a,Y)) &  \
  3.1290 +\  (! X. less_equal(X::'a,identity)) &      \
  3.1291 +\  (! X Y. quotient(X::'a,Y,divide(X::'a,Y))) & \
  3.1292 +\  (! X Y Z W. quotient(X::'a,Y,Z) & quotient(X::'a,Y,W) --> equal(Z::'a,W)) &      \
  3.1293 +\  (! X Y W Z. equal(X::'a,Y) & quotient(X::'a,W,Z) --> quotient(Y::'a,W,Z)) &      \
  3.1294 +\  (! X W Y Z. equal(X::'a,Y) & quotient(W::'a,X,Z) --> quotient(W::'a,Y,Z)) &      \
  3.1295 +\  (! X W Z Y. equal(X::'a,Y) & quotient(W::'a,Z,X) --> quotient(W::'a,Z,Y)) &      \
  3.1296 +\  (! X Z Y. equal(X::'a,Y) & less_equal(Z::'a,X) --> less_equal(Z::'a,Y)) &        \
  3.1297 +\  (! X Y Z. equal(X::'a,Y) & less_equal(X::'a,Z) --> less_equal(Y::'a,Z)) &        \
  3.1298 +\  (! X Y W. equal(X::'a,Y) --> equal(divide(X::'a,W),divide(Y::'a,W))) &   \
  3.1299 +\  (! X W Y. equal(X::'a,Y) --> equal(divide(W::'a,X),divide(W::'a,Y))) &   \
  3.1300 +\  (! X. quotient(X::'a,identity,zero)) &   \
  3.1301 +\  (! X. quotient(zero::'a,X,zero)) &       \
  3.1302 +\  (! X. quotient(X::'a,X,zero)) &  \
  3.1303 +\  (! X. quotient(X::'a,zero,X)) &  \
  3.1304 +\  (! Y X Z. less_equal(X::'a,Y) & less_equal(Y::'a,Z) --> less_equal(X::'a,Z)) &   \
  3.1305 +\  (! W1 X Z W2 Y. quotient(X::'a,Y,W1) & less_equal(W1::'a,Z) & quotient(X::'a,Z,W2) --> less_equal(W2::'a,Y)) &       \
  3.1306 +\  (less_equal(x::'a,y)) &  \
  3.1307 +\  (quotient(z::'a,y,zQy)) &        \
  3.1308 +\  (quotient(z::'a,x,zQx)) &        \
  3.1309 +\  (~less_equal(zQy::'a,zQx)) --> False",
  3.1310 +  meson_tac);
  3.1311 +
  3.1312 +(*60026 inferences so far.  Searching to depth 12.  42.2 secs*)
  3.1313 +val HEN008_4 = prove_hard
  3.1314 + ("(! X. equal(X::'a,X)) &  \
  3.1315 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1316 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1317 +\  (! X Y. less_equal(X::'a,Y) --> equal(divide(X::'a,Y),zero)) &       \
  3.1318 +\  (! X Y. equal(divide(X::'a,Y),zero) --> less_equal(X::'a,Y)) &       \
  3.1319 +\  (! Y X. less_equal(divide(X::'a,Y),X)) & \
  3.1320 +\  (! X Y Z. less_equal(divide(divide(X::'a,Z),divide(Y::'a,Z)),divide(divide(X::'a,Y),Z))) &       \
  3.1321 +\  (! X. less_equal(zero::'a,X)) &  \
  3.1322 +\  (! X Y. less_equal(X::'a,Y) & less_equal(Y::'a,X) --> equal(X::'a,Y)) &  \
  3.1323 +\  (! X. less_equal(X::'a,identity)) &      \
  3.1324 +\  (! A B C. equal(A::'a,B) --> equal(divide(A::'a,C),divide(B::'a,C))) &   \
  3.1325 +\  (! D F' E. equal(D::'a,E) --> equal(divide(F'::'a,D),divide(F'::'a,E))) &        \
  3.1326 +\  (! G H I'. equal(G::'a,H) & less_equal(G::'a,I') --> less_equal(H::'a,I')) &     \
  3.1327 +\  (! J L K'. equal(J::'a,K') & less_equal(L::'a,J) --> less_equal(L::'a,K')) &     \
  3.1328 +\  (! X. equal(divide(X::'a,identity),zero)) &      \
  3.1329 +\  (! X. equal(divide(zero::'a,X),zero)) &  \
  3.1330 +\  (! X. equal(divide(X::'a,X),zero)) &     \
  3.1331 +\  (equal(divide(a::'a,zero),a)) &  \
  3.1332 +\  (! Y X Z. less_equal(X::'a,Y) & less_equal(Y::'a,Z) --> less_equal(X::'a,Z)) &   \
  3.1333 +\  (! X Z Y. less_equal(divide(X::'a,Y),Z) --> less_equal(divide(X::'a,Z),Y)) & \
  3.1334 +\  (! Y Z X. less_equal(X::'a,Y) --> less_equal(divide(Z::'a,Y),divide(Z::'a,X))) & \
  3.1335 +\  (less_equal(a::'a,b)) &  \
  3.1336 +\  (~less_equal(divide(a::'a,c),divide(b::'a,c))) --> False",
  3.1337 +  meson_tac);
  3.1338 +
  3.1339 +
  3.1340 +(*3160 inferences so far.  Searching to depth 11.  3.5 secs*)
  3.1341 +val HEN009_5 = prove_hard
  3.1342 + ("(! X. equal(X::'a,X)) &  \
  3.1343 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1344 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1345 +\  (! Y X. equal(divide(divide(X::'a,Y),X),zero)) & \
  3.1346 +\  (! X Y Z. equal(divide(divide(divide(X::'a,Z),divide(Y::'a,Z)),divide(divide(X::'a,Y),Z)),zero)) &       \
  3.1347 +\  (! X. equal(divide(zero::'a,X),zero)) &  \
  3.1348 +\  (! X Y. equal(divide(X::'a,Y),zero) & equal(divide(Y::'a,X),zero) --> equal(X::'a,Y)) &  \
  3.1349 +\  (! X. equal(divide(X::'a,identity),zero)) &      \
  3.1350 +\  (! A B C. equal(A::'a,B) --> equal(divide(A::'a,C),divide(B::'a,C))) &   \
  3.1351 +\  (! D F' E. equal(D::'a,E) --> equal(divide(F'::'a,D),divide(F'::'a,E))) &        \
  3.1352 +\  (! Y X Z. equal(divide(X::'a,Y),zero) & equal(divide(Y::'a,Z),zero) --> equal(divide(X::'a,Z),zero)) &   \
  3.1353 +\  (! X Z Y. equal(divide(divide(X::'a,Y),Z),zero) --> equal(divide(divide(X::'a,Z),Y),zero)) & \
  3.1354 +\  (! Y Z X. equal(divide(X::'a,Y),zero) --> equal(divide(divide(Z::'a,Y),divide(Z::'a,X)),zero)) & \
  3.1355 +\  (~equal(divide(identity::'a,a),divide(identity::'a,divide(identity::'a,divide(identity::'a,a))))) &  \
  3.1356 +\  (equal(divide(identity::'a,a),b)) &      \
  3.1357 +\  (equal(divide(identity::'a,b),c)) &      \
  3.1358 +\  (equal(divide(identity::'a,c),d)) &      \
  3.1359 +\  (~equal(b::'a,d)) --> False",
  3.1360 +  meson_tac);
  3.1361 +
  3.1362 +(*970373 inferences so far.  Searching to depth 17.  890.0 secs*)
  3.1363 +val HEN012_3 = prove_hard
  3.1364 + ("(! X. equal(X::'a,X)) &  \
  3.1365 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1366 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1367 +\  (! X Y. less_equal(X::'a,Y) --> equal(divide(X::'a,Y),zero)) &       \
  3.1368 +\  (! X Y. equal(divide(X::'a,Y),zero) --> less_equal(X::'a,Y)) &       \
  3.1369 +\  (! Y X. less_equal(divide(X::'a,Y),X)) & \
  3.1370 +\  (! X Y Z. less_equal(divide(divide(X::'a,Z),divide(Y::'a,Z)),divide(divide(X::'a,Y),Z))) &       \
  3.1371 +\  (! X. less_equal(zero::'a,X)) &  \
  3.1372 +\  (! X Y. less_equal(X::'a,Y) & less_equal(Y::'a,X) --> equal(X::'a,Y)) &  \
  3.1373 +\  (! X. less_equal(X::'a,identity)) &      \
  3.1374 +\  (! A B C. equal(A::'a,B) --> equal(divide(A::'a,C),divide(B::'a,C))) &   \
  3.1375 +\  (! D F' E. equal(D::'a,E) --> equal(divide(F'::'a,D),divide(F'::'a,E))) &        \
  3.1376 +\  (! G H I'. equal(G::'a,H) & less_equal(G::'a,I') --> less_equal(H::'a,I')) &     \
  3.1377 +\  (! J L K'. equal(J::'a,K') & less_equal(L::'a,J) --> less_equal(L::'a,K')) &     \
  3.1378 +\  (~less_equal(a::'a,a)) --> False",
  3.1379 +  meson_tac);
  3.1380 +
  3.1381 +
  3.1382 +(*1063 inferences so far.  Searching to depth 20.  1.0 secs*)
  3.1383 +val LCL010_1 = prove
  3.1384 + ("(! X Y. is_a_theorem(equivalent(X::'a,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &       \
  3.1385 +\  (! X Z Y. is_a_theorem(equivalent(equivalent(X::'a,Y),equivalent(equivalent(X::'a,Z),equivalent(Z::'a,Y))))) &   \
  3.1386 +\  (~is_a_theorem(equivalent(equivalent(a::'a,b),equivalent(equivalent(c::'a,b),equivalent(a::'a,c))))) --> False",
  3.1387 +  meson_tac);
  3.1388 +
  3.1389 +(*2549 inferences so far.  Searching to depth 12.  1.4 secs*)
  3.1390 +val LCL077_2 = prove
  3.1391 + ("(! X Y. is_a_theorem(implies(X,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &  \
  3.1392 +\  (! Y X. is_a_theorem(implies(X,implies(Y,X)))) &     \
  3.1393 +\  (! Y X Z. is_a_theorem(implies(implies(X,implies(Y,Z)),implies(implies(X,Y),implies(X,Z))))) &       \
  3.1394 +\  (! Y X. is_a_theorem(implies(implies(not(X),not(Y)),implies(Y,X)))) &        \
  3.1395 +\  (! X2 X1 X3. is_a_theorem(implies(X1,X2)) & is_a_theorem(implies(X2,X3)) --> is_a_theorem(implies(X1,X3))) & \
  3.1396 +\  (~is_a_theorem(implies(not(not(a)),a))) --> False",
  3.1397 +  meson_tac);
  3.1398 +
  3.1399 +(*2036 inferences so far.  Searching to depth 20.  1.5 secs*)
  3.1400 +val LCL082_1 = prove
  3.1401 + ("(! X Y. is_a_theorem(implies(X::'a,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &  \
  3.1402 +\  (! Y Z U X. is_a_theorem(implies(implies(implies(X::'a,Y),Z),implies(implies(Z::'a,X),implies(U::'a,X))))) &     \
  3.1403 +\  (~is_a_theorem(implies(a::'a,implies(b::'a,a)))) --> False",
  3.1404 +  meson_tac);
  3.1405 +
  3.1406 +(*1100 inferences so far.  Searching to depth 13.  1.0 secs*)
  3.1407 +val LCL111_1 = prove
  3.1408 + ("(! X Y. is_a_theorem(implies(X,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &  \
  3.1409 +\  (! Y X. is_a_theorem(implies(X,implies(Y,X)))) &     \
  3.1410 +\  (! Y X Z. is_a_theorem(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z))))) &  \
  3.1411 +\  (! Y X. is_a_theorem(implies(implies(implies(X,Y),Y),implies(implies(Y,X),X)))) &    \
  3.1412 +\  (! Y X. is_a_theorem(implies(implies(not(X),not(Y)),implies(Y,X)))) &        \
  3.1413 +\  (~is_a_theorem(implies(implies(a,b),implies(implies(c,a),implies(c,b))))) --> False",
  3.1414 +  meson_tac);
  3.1415 +
  3.1416 +(*667 inferences so far.  Searching to depth 9.  1.4 secs*)
  3.1417 +val LCL143_1 = prove
  3.1418 + ("(! X. equal(X,X)) &  \
  3.1419 +\  (! Y X. equal(X,Y) --> equal(Y,X)) & \
  3.1420 +\  (! Y X Z. equal(X,Y) & equal(Y,Z) --> equal(X,Z)) &  \
  3.1421 +\  (! X. equal(implies(true,X),X)) &    \
  3.1422 +\  (! Y X Z. equal(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z))),true)) &    \
  3.1423 +\  (! Y X. equal(implies(implies(X,Y),Y),implies(implies(Y,X),X))) &    \
  3.1424 +\  (! Y X. equal(implies(implies(not(X),not(Y)),implies(Y,X)),true)) &  \
  3.1425 +\  (! A B C. equal(A,B) --> equal(implies(A,C),implies(B,C))) & \
  3.1426 +\  (! D F' E. equal(D,E) --> equal(implies(F',D),implies(F',E))) &      \
  3.1427 +\  (! G H. equal(G,H) --> equal(not(G),not(H))) &       \
  3.1428 +\  (! X Y. equal(big_V(X,Y),implies(implies(X,Y),Y))) & \
  3.1429 +\  (! X Y. equal(big_hat(X,Y),not(big_V(not(X),not(Y))))) &     \
  3.1430 +\  (! X Y. ordered(X,Y) --> equal(implies(X,Y),true)) & \
  3.1431 +\  (! X Y. equal(implies(X,Y),true) --> ordered(X,Y)) & \
  3.1432 +\  (! A B C. equal(A,B) --> equal(big_V(A,C),big_V(B,C))) &     \
  3.1433 +\  (! D F' E. equal(D,E) --> equal(big_V(F',D),big_V(F',E))) &  \
  3.1434 +\  (! G H I'. equal(G,H) --> equal(big_hat(G,I'),big_hat(H,I'))) &      \
  3.1435 +\  (! J L K'. equal(J,K') --> equal(big_hat(L,J),big_hat(L,K'))) &      \
  3.1436 +\  (! M N O_. equal(M,N) & ordered(M,O_) --> ordered(N,O_)) &      \
  3.1437 +\  (! P R Q. equal(P,Q) & ordered(R,P) --> ordered(R,Q)) &      \
  3.1438 +\  (ordered(x,y)) &     \
  3.1439 +\  (~ordered(implies(z,x),implies(z,y))) --> False",
  3.1440 +  meson_tac);
  3.1441 +
  3.1442 +(*5245 inferences so far.  Searching to depth 12.  4.6 secs*)
  3.1443 +val LCL182_1 = prove_hard
  3.1444 + ("(! A. axiom(or(not(or(A,A)),A))) &   \
  3.1445 +\  (! B A. axiom(or(not(A),or(B,A)))) & \
  3.1446 +\  (! B A. axiom(or(not(or(A,B)),or(B,A)))) &   \
  3.1447 +\  (! B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &     \
  3.1448 +\  (! A C B. axiom(or(not(or(not(A),B)),or(not(or(C,A)),or(C,B))))) &   \
  3.1449 +\  (! X. axiom(X) --> theorem(X)) &     \
  3.1450 +\  (! X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &   \
  3.1451 +\  (! X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &   \
  3.1452 +\  (~theorem(or(not(or(not(p),q)),or(not(not(q)),not(p))))) --> False",
  3.1453 +  meson_tac);
  3.1454 +
  3.1455 +(*410 inferences so far.  Searching to depth 10.  0.3 secs*)
  3.1456 +val LCL200_1 = prove
  3.1457 + ("(! A. axiom(or(not(or(A,A)),A))) &   \
  3.1458 +\  (! B A. axiom(or(not(A),or(B,A)))) & \
  3.1459 +\  (! B A. axiom(or(not(or(A,B)),or(B,A)))) &   \
  3.1460 +\  (! B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &     \
  3.1461 +\  (! A C B. axiom(or(not(or(not(A),B)),or(not(or(C,A)),or(C,B))))) &   \
  3.1462 +\  (! X. axiom(X) --> theorem(X)) &     \
  3.1463 +\  (! X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &   \
  3.1464 +\  (! X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &   \
  3.1465 +\  (~theorem(or(not(not(or(p,q))),not(q)))) --> False",
  3.1466 +  meson_tac);
  3.1467 +
  3.1468 +(*5849 inferences so far.  Searching to depth 12.  5.6 secs*)
  3.1469 +val LCL215_1 = prove_hard
  3.1470 + ("(! A. axiom(or(not(or(A,A)),A))) &   \
  3.1471 +\  (! B A. axiom(or(not(A),or(B,A)))) & \
  3.1472 +\  (! B A. axiom(or(not(or(A,B)),or(B,A)))) &   \
  3.1473 +\  (! B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &     \
  3.1474 +\  (! A C B. axiom(or(not(or(not(A),B)),or(not(or(C,A)),or(C,B))))) &   \
  3.1475 +\  (! X. axiom(X) --> theorem(X)) &     \
  3.1476 +\  (! X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &   \
  3.1477 +\  (! X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &   \
  3.1478 +\  (~theorem(or(not(or(not(p),q)),or(not(or(p,q)),q)))) --> False",
  3.1479 +  meson_tac);
  3.1480 +
  3.1481 +(*0 secs.  Not sure that a search even starts!*)
  3.1482 +val LCL230_2 = prove
  3.1483 + ("(q --> p | r) &     \
  3.1484 +\  (~p) &       \
  3.1485 +\  (q) &        \
  3.1486 +\  (~r) --> False",
  3.1487 +  meson_tac);
  3.1488 +
  3.1489 +(*119585 inferences so far.  Searching to depth 14.  262.4 secs*)
  3.1490 +val LDA003_1 = prove_hard
  3.1491 + ("(! X. equal(X::'a,X)) &  \
  3.1492 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1493 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1494 +\  (! Y X Z. equal(f(X::'a,f(Y::'a,Z)),f(f(X::'a,Y),f(X::'a,Z)))) &     \
  3.1495 +\  (! X Y. left(X::'a,f(X::'a,Y))) &    \
  3.1496 +\  (! Y X Z. left(X::'a,Y) & left(Y::'a,Z) --> left(X::'a,Z)) &     \
  3.1497 +\  (equal(num2::'a,f(num1::'a,num1))) &  \
  3.1498 +\  (equal(num3::'a,f(num2::'a,num1))) &  \
  3.1499 +\  (equal(u::'a,f(num2::'a,num2))) &  \
  3.1500 +\  (! A B C. equal(A::'a,B) --> equal(f(A::'a,C),f(B::'a,C))) &     \
  3.1501 +\  (! D F' E. equal(D::'a,E) --> equal(f(F'::'a,D),f(F'::'a,E))) &  \
  3.1502 +\  (! G H I'. equal(G::'a,H) & left(G::'a,I') --> left(H::'a,I')) & \
  3.1503 +\  (! J L K'. equal(J::'a,K') & left(L::'a,J) --> left(L::'a,K')) & \
  3.1504 +\  (~left(num3::'a,u)) --> False",
  3.1505 +  meson_tac);
  3.1506 +
  3.1507 +
  3.1508 +(*2392 inferences so far.  Searching to depth 12.  2.2 secs*)
  3.1509 +val MSC002_1 = prove
  3.1510 + ("(at(something::'a,here,now)) &   \
  3.1511 +\  (! Place Situation. hand_at(Place::'a,Situation) --> hand_at(Place::'a,let_go(Situation))) & \
  3.1512 +\  (! Place Another_place Situation. hand_at(Place::'a,Situation) --> hand_at(Another_place::'a,go(Another_place::'a,Situation))) & \
  3.1513 +\  (! Thing Situation. ~held(Thing::'a,let_go(Situation))) &        \
  3.1514 +\  (! Situation Thing. at(Thing::'a,here,Situation) --> red(Thing)) &       \
  3.1515 +\  (! Thing Place Situation. at(Thing::'a,Place,Situation) --> at(Thing::'a,Place,let_go(Situation))) & \
  3.1516 +\  (! Thing Place Situation. at(Thing::'a,Place,Situation) --> at(Thing::'a,Place,pick_up(Situation))) &        \
  3.1517 +\  (! Thing Place Situation. at(Thing::'a,Place,Situation) --> grabbed(Thing::'a,pick_up(go(Place::'a,let_go(Situation))))) &       \
  3.1518 +\  (! Thing Situation. red(Thing) & put(Thing::'a,there,Situation) --> answer(Situation)) & \
  3.1519 +\  (! Place Thing Another_place Situation. at(Thing::'a,Place,Situation) & grabbed(Thing::'a,Situation) --> put(Thing::'a,Another_place,go(Another_place::'a,Situation))) &     \
  3.1520 +\  (! Thing Place Another_place Situation. at(Thing::'a,Place,Situation) --> held(Thing::'a,Situation) | at(Thing::'a,Place,go(Another_place::'a,Situation))) &        \
  3.1521 +\  (! One_place Thing Place Situation. hand_at(One_place::'a,Situation) & held(Thing::'a,Situation) --> at(Thing::'a,Place,go(Place::'a,Situation))) &  \
  3.1522 +\  (! Place Thing Situation. hand_at(Place::'a,Situation) & at(Thing::'a,Place,Situation) --> held(Thing::'a,pick_up(Situation))) & \
  3.1523 +\  (! Situation. ~answer(Situation)) --> False",
  3.1524 +  meson_tac);
  3.1525 +
  3.1526 +(*73 inferences so far.  Searching to depth 10.  0.2 secs*)
  3.1527 +val MSC003_1 = prove
  3.1528 + ("(! Number_of_small_parts Small_part Big_part Number_of_mid_parts Mid_part. has_parts(Big_part::'a,Number_of_mid_parts,Mid_part) --> in'(object_in(Big_part::'a,Mid_part,Small_part,Number_of_mid_parts,Number_of_small_parts),Mid_part) | has_parts(Big_part::'a,times(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &        \
  3.1529 +\  (! Big_part Mid_part Number_of_mid_parts Number_of_small_parts Small_part. has_parts(Big_part::'a,Number_of_mid_parts,Mid_part) & has_parts(object_in(Big_part::'a,Mid_part,Small_part,Number_of_mid_parts,Number_of_small_parts),Number_of_small_parts,Small_part) --> has_parts(Big_part::'a,times(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &   \
  3.1530 +\  (in'(john::'a,boy)) &    \
  3.1531 +\  (! X. in'(X::'a,boy) --> in'(X::'a,human)) & \
  3.1532 +\  (! X. in'(X::'a,hand) --> has_parts(X::'a,num5,fingers)) &      \
  3.1533 +\  (! X. in'(X::'a,human) --> has_parts(X::'a,num2,arm)) & \
  3.1534 +\  (! X. in'(X::'a,arm) --> has_parts(X::'a,num1,hand)) &  \
  3.1535 +\  (~has_parts(john::'a,times(num2::'a,num1),hand)) --> False",
  3.1536 +  meson_tac);
  3.1537 +
  3.1538 +(*1486 inferences so far.  Searching to depth 20.  1.2 secs*)
  3.1539 +val MSC004_1 = prove
  3.1540 + ("(! Number_of_small_parts Small_part Big_part Number_of_mid_parts Mid_part. has_parts(Big_part::'a,Number_of_mid_parts,Mid_part) --> in'(object_in(Big_part::'a,Mid_part,Small_part,Number_of_mid_parts,Number_of_small_parts),Mid_part) | has_parts(Big_part::'a,times(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &        \
  3.1541 +\  (! Big_part Mid_part Number_of_mid_parts Number_of_small_parts Small_part. has_parts(Big_part::'a,Number_of_mid_parts,Mid_part) & has_parts(object_in(Big_part::'a,Mid_part,Small_part,Number_of_mid_parts,Number_of_small_parts),Number_of_small_parts,Small_part) --> has_parts(Big_part::'a,times(Number_of_mid_parts::'a,Number_of_small_parts),Small_part)) &   \
  3.1542 +\  (in'(john::'a,boy)) &    \
  3.1543 +\  (! X. in'(X::'a,boy) --> in'(X::'a,human)) & \
  3.1544 +\  (! X. in'(X::'a,hand) --> has_parts(X::'a,num5,fingers)) &      \
  3.1545 +\  (! X. in'(X::'a,human) --> has_parts(X::'a,num2,arm)) & \
  3.1546 +\  (! X. in'(X::'a,arm) --> has_parts(X::'a,num1,hand)) &  \
  3.1547 +\  (~has_parts(john::'a,times(times(num2::'a,num1),num5),fingers)) --> False",
  3.1548 +  meson_tac);
  3.1549 +
  3.1550 +(*100 inferences so far.  Searching to depth 12.  0.1 secs*)
  3.1551 +val MSC005_1 = prove
  3.1552 + ("(value(truth::'a,truth)) &       \
  3.1553 +\  (value(falsity::'a,falsity)) &   \
  3.1554 +\  (! X Y. value(X::'a,truth) & value(Y::'a,truth) --> value(xor(X::'a,Y),falsity)) &       \
  3.1555 +\  (! X Y. value(X::'a,truth) & value(Y::'a,falsity) --> value(xor(X::'a,Y),truth)) &       \
  3.1556 +\  (! X Y. value(X::'a,falsity) & value(Y::'a,truth) --> value(xor(X::'a,Y),truth)) &       \
  3.1557 +\  (! X Y. value(X::'a,falsity) & value(Y::'a,falsity) --> value(xor(X::'a,Y),falsity)) &   \
  3.1558 +\  (! Value. ~value(xor(xor(xor(xor(truth::'a,falsity),falsity),truth),falsity),Value)) --> False",
  3.1559 +  meson_tac);
  3.1560 +
  3.1561 +(*19116 inferences so far.  Searching to depth 16.  15.9 secs*)
  3.1562 +val MSC006_1 = prove_hard
  3.1563 + ("(! Y X Z. p(X::'a,Y) & p(Y::'a,Z) --> p(X::'a,Z)) &      \
  3.1564 +\  (! Y X Z. q(X::'a,Y) & q(Y::'a,Z) --> q(X::'a,Z)) &      \
  3.1565 +\  (! Y X. q(X::'a,Y) --> q(Y::'a,X)) & \
  3.1566 +\  (! X Y. p(X::'a,Y) | q(X::'a,Y)) &  \
  3.1567 +\  (~p(a::'a,b)) &  \
  3.1568 +\  (~q(c::'a,d)) --> False",
  3.1569 +  meson_tac);
  3.1570 +
  3.1571 +(*1713 inferences so far.  Searching to depth 10.  2.8 secs*)
  3.1572 +val NUM001_1 = prove
  3.1573 + ("(! A. equal(A::'a,A)) &                                                \
  3.1574 +\  (! B A C. equal(A::'a,B) & equal(B::'a,C) --> equal(A::'a,C)) &        \
  3.1575 +\  (! B A. equal(add(A::'a,B),add(B::'a,A))) &                            \
  3.1576 +\  (! A B C. equal(add(A::'a,add(B::'a,C)),add(add(A::'a,B),C))) &        \
  3.1577 +\  (! B A. equal(subtract(add(A::'a,B),B),A)) &                           \
  3.1578 +\  (! A B. equal(A::'a,subtract(add(A::'a,B),B))) &                       \
  3.1579 +\  (! A C B. equal(add(subtract(A::'a,B),C),subtract(add(A::'a,C),B))) &  \
  3.1580 +\  (! A C B. equal(subtract(add(A::'a,B),C),add(subtract(A::'a,C),B))) &  \
  3.1581 +\  (! A C B D. equal(A::'a,B) & equal(C::'a,add(A::'a,D)) --> equal(C::'a,add(B::'a,D))) &  \
  3.1582 +\  (! A C D B. equal(A::'a,B) & equal(C::'a,add(D::'a,A)) --> equal(C::'a,add(D::'a,B))) &  \
  3.1583 +\  (! A C B D. equal(A::'a,B) & equal(C::'a,subtract(A::'a,D)) --> equal(C::'a,subtract(B::'a,D))) &        \
  3.1584 +\  (! A C D B. equal(A::'a,B) & equal(C::'a,subtract(D::'a,A)) --> equal(C::'a,subtract(D::'a,B))) &        \
  3.1585 +\  (~equal(add(add(a::'a,b),c),add(a::'a,add(b::'a,c)))) --> False",
  3.1586 +  meson_tac);
  3.1587 +
  3.1588 +(*20717 inferences so far.  Searching to depth 11.  13.7 secs*)
  3.1589 +val NUM021_1 = prove_hard
  3.1590 + ("(! X. equal(X::'a,X)) &  \
  3.1591 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1592 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1593 +\  (! A. equal(add(A::'a,num0),A)) &   \
  3.1594 +\  (! A B. equal(add(A::'a,successor(B)),successor(add(A::'a,B)))) &    \
  3.1595 +\  (! A. equal(multiply(A::'a,num0),num0)) &      \
  3.1596 +\  (! B A. equal(multiply(A::'a,successor(B)),add(multiply(A::'a,B),A))) &      \
  3.1597 +\  (! A B. equal(successor(A),successor(B)) --> equal(A::'a,B)) &   \
  3.1598 +\  (! A B. equal(A::'a,B) --> equal(successor(A),successor(B))) &   \
  3.1599 +\  (! A C B. less(A::'a,B) & less(C::'a,A) --> less(C::'a,B)) &     \
  3.1600 +\  (! A B C. equal(add(successor(A),B),C) --> less(B::'a,C)) &      \
  3.1601 +\  (! A B. less(A::'a,B) --> equal(add(successor(predecessor_of_1st_minus_2nd(B::'a,A)),A),B)) &        \
  3.1602 +\  (! A B. divides(A::'a,B) --> less(A::'a,B) | equal(A::'a,B)) &  \
  3.1603 +\  (! A B. less(A::'a,B) --> divides(A::'a,B)) &        \
  3.1604 +\  (! A B. equal(A::'a,B) --> divides(A::'a,B)) &       \
  3.1605 +\  (less(b::'a,c)) &        \
  3.1606 +\  (~less(b::'a,a)) &       \
  3.1607 +\  (divides(c::'a,a)) &     \
  3.1608 +\  (! A. ~equal(successor(A),num0)) --> False",
  3.1609 +  meson_tac);
  3.1610 +
  3.1611 +(*26320 inferences so far.  Searching to depth 10.  26.4 secs*)
  3.1612 +val NUM024_1 = prove_hard
  3.1613 + ("(! X. equal(X::'a,X)) &  \
  3.1614 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1615 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1616 +\  (! A. equal(add(A::'a,num0),A)) &   \
  3.1617 +\  (! A B. equal(add(A::'a,successor(B)),successor(add(A::'a,B)))) &    \
  3.1618 +\  (! A. equal(multiply(A::'a,num0),num0)) &      \
  3.1619 +\  (! B A. equal(multiply(A::'a,successor(B)),add(multiply(A::'a,B),A))) &      \
  3.1620 +\  (! A B. equal(successor(A),successor(B)) --> equal(A::'a,B)) &   \
  3.1621 +\  (! A B. equal(A::'a,B) --> equal(successor(A),successor(B))) &   \
  3.1622 +\  (! A C B. less(A::'a,B) & less(C::'a,A) --> less(C::'a,B)) &     \
  3.1623 +\  (! A B C. equal(add(successor(A),B),C) --> less(B::'a,C)) &      \
  3.1624 +\  (! A B. less(A::'a,B) --> equal(add(successor(predecessor_of_1st_minus_2nd(B::'a,A)),A),B)) &        \
  3.1625 +\  (! B A. equal(add(A::'a,B),add(B::'a,A))) &  \
  3.1626 +\  (! B A C. equal(add(A::'a,B),add(C::'a,B)) --> equal(A::'a,C)) & \
  3.1627 +\  (less(a::'a,a)) &        \
  3.1628 +\  (! A. ~equal(successor(A),num0)) --> False",
  3.1629 +  meson_tac);
  3.1630 +
  3.1631 +
  3.1632 +(*1345 inferences so far.  Searching to depth 7.  23.3 secs.  BIG*)
  3.1633 +val NUM180_1 = prove_hard
  3.1634 + ("(! X. equal(X::'a,X)) &  \
  3.1635 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1636 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1637 +\  (! X U Y. subclass(X::'a,Y) & member(U::'a,X) --> member(U::'a,Y)) &     \
  3.1638 +\  (! X Y. member(not_subclass_element(X::'a,Y),X) | subclass(X::'a,Y)) &      \
  3.1639 +\  (! X Y. member(not_subclass_element(X::'a,Y),Y) --> subclass(X::'a,Y)) &     \
  3.1640 +\  (! X. subclass(X::'a,universal_class)) & \
  3.1641 +\  (! X Y. equal(X::'a,Y) --> subclass(X::'a,Y)) &      \
  3.1642 +\  (! Y X. equal(X::'a,Y) --> subclass(Y::'a,X)) &      \
  3.1643 +\  (! X Y. subclass(X::'a,Y) & subclass(Y::'a,X) --> equal(X::'a,Y)) &      \
  3.1644 +\  (! X U Y. member(U::'a,unordered_pair(X::'a,Y)) --> equal(U::'a,X) | equal(U::'a,Y)) &      \
  3.1645 +\  (! X Y. member(X::'a,universal_class) --> member(X::'a,unordered_pair(X::'a,Y))) &       \
  3.1646 +\  (! X Y. member(Y::'a,universal_class) --> member(Y::'a,unordered_pair(X::'a,Y))) &       \
  3.1647 +\  (! X Y. member(unordered_pair(X::'a,Y),universal_class)) &       \
  3.1648 +\  (! X. equal(unordered_pair(X::'a,X),singleton(X))) &     \
  3.1649 +\  (! X Y. equal(unordered_pair(singleton(X),unordered_pair(X::'a,singleton(Y))),ordered_pair(X::'a,Y))) &      \
  3.1650 +\  (! V Y U X. member(ordered_pair(U::'a,V),cross_product(X::'a,Y)) --> member(U::'a,X)) &  \
  3.1651 +\  (! U X V Y. member(ordered_pair(U::'a,V),cross_product(X::'a,Y)) --> member(V::'a,Y)) &  \
  3.1652 +\  (! U V X Y. member(U::'a,X) & member(V::'a,Y) --> member(ordered_pair(U::'a,V),cross_product(X::'a,Y))) &    \
  3.1653 +\  (! X Y Z. member(Z::'a,cross_product(X::'a,Y)) --> equal(ordered_pair(first(Z),second(Z)),Z)) &      \
  3.1654 +\  (subclass(element_relation::'a,cross_product(universal_class::'a,universal_class))) &        \
  3.1655 +\  (! X Y. member(ordered_pair(X::'a,Y),element_relation) --> member(X::'a,Y)) &        \
  3.1656 +\  (! X Y. member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) & member(X::'a,Y) --> member(ordered_pair(X::'a,Y),element_relation)) &     \
  3.1657 +\  (! Y Z X. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,X)) &     \
  3.1658 +\  (! X Z Y. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,Y)) &     \
  3.1659 +\  (! Z X Y. member(Z::'a,X) & member(Z::'a,Y) --> member(Z::'a,intersection(X::'a,Y))) &       \
  3.1660 +\  (! Z X. ~(member(Z::'a,complement(X)) & member(Z::'a,X))) &  \
  3.1661 +\  (! Z X. member(Z::'a,universal_class) --> member(Z::'a,complement(X)) | member(Z::'a,X)) &      \
  3.1662 +\  (! X Y. equal(complement(intersection(complement(X),complement(Y))),union(X::'a,Y))) &   \
  3.1663 +\  (! X Y. equal(intersection(complement(intersection(X::'a,Y)),complement(intersection(complement(X),complement(Y)))),difference(X::'a,Y))) &  \
  3.1664 +\  (! Xr X Y. equal(intersection(Xr::'a,cross_product(X::'a,Y)),restrct(Xr::'a,X,Y))) &    \
  3.1665 +\  (! Xr X Y. equal(intersection(cross_product(X::'a,Y),Xr),restrct(Xr::'a,X,Y))) &    \
  3.1666 +\  (! Z X. ~(equal(restrct(X::'a,singleton(Z),universal_class),null_class) & member(Z::'a,domain_of(X)))) &    \
  3.1667 +\  (! Z X. member(Z::'a,universal_class) --> equal(restrct(X::'a,singleton(Z),universal_class),null_class) | member(Z::'a,domain_of(X))) &        \
  3.1668 +\  (! X. subclass(rotate(X),cross_product(cross_product(universal_class::'a,universal_class),universal_class))) &   \
  3.1669 +\  (! V W U X. member(ordered_pair(ordered_pair(U::'a,V),W),rotate(X)) --> member(ordered_pair(ordered_pair(V::'a,W),U),X)) &   \
  3.1670 +\  (! U V W X. member(ordered_pair(ordered_pair(V::'a,W),U),X) & member(ordered_pair(ordered_pair(U::'a,V),W),cross_product(cross_product(universal_class::'a,universal_class),universal_class)) --> member(ordered_pair(ordered_pair(U::'a,V),W),rotate(X))) & \
  3.1671 +\  (! X. subclass(flip(X),cross_product(cross_product(universal_class::'a,universal_class),universal_class))) &     \
  3.1672 +\  (! V U W X. member(ordered_pair(ordered_pair(U::'a,V),W),flip(X)) --> member(ordered_pair(ordered_pair(V::'a,U),W),X)) &     \
  3.1673 +\  (! U V W X. member(ordered_pair(ordered_pair(V::'a,U),W),X) & member(ordered_pair(ordered_pair(U::'a,V),W),cross_product(cross_product(universal_class::'a,universal_class),universal_class)) --> member(ordered_pair(ordered_pair(U::'a,V),W),flip(X))) &   \
  3.1674 +\  (! Y. equal(domain_of(flip(cross_product(Y::'a,universal_class))),inverse(Y))) & \
  3.1675 +\  (! Z. equal(domain_of(inverse(Z)),range_of(Z))) &    \
  3.1676 +\  (! Z X Y. equal(first(not_subclass_element(restrct(Z::'a,X,singleton(Y)),null_class)),domain(Z::'a,X,Y))) & \
  3.1677 +\  (! Z X Y. equal(second(not_subclass_element(restrct(Z::'a,singleton(X),Y),null_class)),rng(Z::'a,X,Y))) & \
  3.1678 +\  (! Xr X. equal(range_of(restrct(Xr::'a,X,universal_class)),image_(Xr::'a,X))) &      \
  3.1679 +\  (! X. equal(union(X::'a,singleton(X)),successor(X))) &   \
  3.1680 +\  (subclass(successor_relation::'a,cross_product(universal_class::'a,universal_class))) &      \
  3.1681 +\  (! X Y. member(ordered_pair(X::'a,Y),successor_relation) --> equal(successor(X),Y)) &    \
  3.1682 +\  (! X Y. equal(successor(X),Y) & member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) --> member(ordered_pair(X::'a,Y),successor_relation)) & \
  3.1683 +\  (! X. inductive(X) --> member(null_class::'a,X)) &       \
  3.1684 +\  (! X. inductive(X) --> subclass(image_(successor_relation::'a,X),X)) &    \
  3.1685 +\  (! X. member(null_class::'a,X) & subclass(image_(successor_relation::'a,X),X) --> inductive(X)) &     \
  3.1686 +\  (inductive(omega)) & \
  3.1687 +\  (! Y. inductive(Y) --> subclass(omega::'a,Y)) &  \
  3.1688 +\  (member(omega::'a,universal_class)) &    \
  3.1689 +\  (! X. equal(domain_of(restrct(element_relation::'a,universal_class,X)),sum_class(X))) & \
  3.1690 +\  (! X. member(X::'a,universal_class) --> member(sum_class(X),universal_class)) &  \
  3.1691 +\  (! X. equal(complement(image_(element_relation::'a,complement(X))),powerClass(X))) &     \
  3.1692 +\  (! U. member(U::'a,universal_class) --> member(powerClass(U),universal_class)) &        \
  3.1693 +\  (! Yr Xr. subclass(compos(Yr::'a,Xr),cross_product(universal_class::'a,universal_class))) & \
  3.1694 +\  (! Z Yr Xr Y. member(ordered_pair(Y::'a,Z),compos(Yr::'a,Xr)) --> member(Z::'a,image_(Yr::'a,image_(Xr::'a,singleton(Y))))) &     \
  3.1695 +\  (! Y Z Yr Xr. member(Z::'a,image_(Yr::'a,image_(Xr::'a,singleton(Y)))) & member(ordered_pair(Y::'a,Z),cross_product(universal_class::'a,universal_class)) --> member(ordered_pair(Y::'a,Z),compos(Yr::'a,Xr))) &  \
  3.1696 +\  (! X. single_valued_class(X) --> subclass(compos(X::'a,inverse(X)),identity_relation)) &        \
  3.1697 +\  (! X. subclass(compos(X::'a,inverse(X)),identity_relation) --> single_valued_class(X)) &        \
  3.1698 +\  (! Xf. function(Xf) --> subclass(Xf::'a,cross_product(universal_class::'a,universal_class))) &       \
  3.1699 +\  (! Xf. function(Xf) --> subclass(compos(Xf::'a,inverse(Xf)),identity_relation)) &       \
  3.1700 +\  (! Xf. subclass(Xf::'a,cross_product(universal_class::'a,universal_class)) & subclass(compos(Xf::'a,inverse(Xf)),identity_relation) --> function(Xf)) & \
  3.1701 +\  (! Xf X. function(Xf) & member(X::'a,universal_class) --> member(image_(Xf::'a,X),universal_class)) & \
  3.1702 +\  (! X. equal(X::'a,null_class) | member(regular(X),X)) & \
  3.1703 +\  (! X. equal(X::'a,null_class) | equal(intersection(X::'a,regular(X)),null_class)) & \
  3.1704 +\  (! Xf Y. equal(sum_class(image_(Xf::'a,singleton(Y))),apply(Xf::'a,Y))) &     \
  3.1705 +\  (function(choice)) & \
  3.1706 +\  (! Y. member(Y::'a,universal_class) --> equal(Y::'a,null_class) | member(apply(choice::'a,Y),Y)) &      \
  3.1707 +\  (! Xf. one_to_one(Xf) --> function(Xf)) &    \
  3.1708 +\  (! Xf. one_to_one(Xf) --> function(inverse(Xf))) &   \
  3.1709 +\  (! Xf. function(inverse(Xf)) & function(Xf) --> one_to_one(Xf)) &    \
  3.1710 +\  (equal(intersection(cross_product(universal_class::'a,universal_class),intersection(cross_product(universal_class::'a,universal_class),complement(compos(complement(element_relation),inverse(element_relation))))),subset_relation)) &     \
  3.1711 +\  (equal(intersection(inverse(subset_relation),subset_relation),identity_relation)) &  \
  3.1712 +\  (! Xr. equal(complement(domain_of(intersection(Xr::'a,identity_relation))),diagonalise(Xr))) &   \
  3.1713 +\  (! X. equal(intersection(domain_of(X),diagonalise(compos(inverse(element_relation),X))),cantor(X))) &       \
  3.1714 +\  (! Xf. operation(Xf) --> function(Xf)) &     \
  3.1715 +\  (! Xf. operation(Xf) --> equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf))) &    \
  3.1716 +\  (! Xf. operation(Xf) --> subclass(range_of(Xf),domain_of(domain_of(Xf)))) &  \
  3.1717 +\  (! Xf. function(Xf) & equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf)) & subclass(range_of(Xf),domain_of(domain_of(Xf))) --> operation(Xf)) &   \
  3.1718 +\  (! Xf1 Xf2 Xh. compatible(Xh::'a,Xf1,Xf2) --> function(Xh)) &    \
  3.1719 +\  (! Xf2 Xf1 Xh. compatible(Xh::'a,Xf1,Xf2) --> equal(domain_of(domain_of(Xf1)),domain_of(Xh))) &  \
  3.1720 +\  (! Xf1 Xh Xf2. compatible(Xh::'a,Xf1,Xf2) --> subclass(range_of(Xh),domain_of(domain_of(Xf2)))) &        \
  3.1721 +\  (! Xh Xh1 Xf1 Xf2. function(Xh) & equal(domain_of(domain_of(Xf1)),domain_of(Xh)) & subclass(range_of(Xh),domain_of(domain_of(Xf2))) --> compatible(Xh1::'a,Xf1,Xf2)) &   \
  3.1722 +\  (! Xh Xf2 Xf1. homomorphism(Xh::'a,Xf1,Xf2) --> operation(Xf1)) &        \
  3.1723 +\  (! Xh Xf1 Xf2. homomorphism(Xh::'a,Xf1,Xf2) --> operation(Xf2)) &        \
  3.1724 +\  (! Xh Xf1 Xf2. homomorphism(Xh::'a,Xf1,Xf2) --> compatible(Xh::'a,Xf1,Xf2)) &        \
  3.1725 +\  (! Xf2 Xh Xf1 X Y. homomorphism(Xh::'a,Xf1,Xf2) & member(ordered_pair(X::'a,Y),domain_of(Xf1)) --> equal(apply(Xf2::'a,ordered_pair(apply(Xh::'a,X),apply(Xh::'a,Y))),apply(Xh::'a,apply(Xf1::'a,ordered_pair(X::'a,Y))))) & \
  3.1726 +\  (! Xh Xf1 Xf2. operation(Xf1) & operation(Xf2) & compatible(Xh::'a,Xf1,Xf2) --> member(ordered_pair(not_homomorphism1(Xh::'a,Xf1,Xf2),not_homomorphism2(Xh::'a,Xf1,Xf2)),domain_of(Xf1)) | homomorphism(Xh::'a,Xf1,Xf2)) &  \
  3.1727 +\  (! Xh Xf1 Xf2. operation(Xf1) & operation(Xf2) & compatible(Xh::'a,Xf1,Xf2) & equal(apply(Xf2::'a,ordered_pair(apply(Xh::'a,not_homomorphism1(Xh::'a,Xf1,Xf2)),apply(Xh::'a,not_homomorphism2(Xh::'a,Xf1,Xf2)))),apply(Xh::'a,apply(Xf1::'a,ordered_pair(not_homomorphism1(Xh::'a,Xf1,Xf2),not_homomorphism2(Xh::'a,Xf1,Xf2))))) --> homomorphism(Xh::'a,Xf1,Xf2)) &     \
  3.1728 +\  (! D E F'. equal(D::'a,E) --> equal(apply(D::'a,F'),apply(E::'a,F'))) &  \
  3.1729 +\  (! G I' H. equal(G::'a,H) --> equal(apply(I'::'a,G),apply(I'::'a,H))) &  \
  3.1730 +\  (! J K'. equal(J::'a,K') --> equal(cantor(J),cantor(K'))) &      \
  3.1731 +\  (! L M. equal(L::'a,M) --> equal(complement(L),complement(M))) & \
  3.1732 +\  (! N O_ P. equal(N::'a,O_) --> equal(compos(N::'a,P),compos(O_::'a,P))) & \
  3.1733 +\  (! Q S' R. equal(Q::'a,R) --> equal(compos(S'::'a,Q),compos(S'::'a,R))) &      \
  3.1734 +\  (! T' U V. equal(T'::'a,U) --> equal(cross_product(T'::'a,V),cross_product(U::'a,V))) &  \
  3.1735 +\  (! W Y X. equal(W::'a,X) --> equal(cross_product(Y::'a,W),cross_product(Y::'a,X))) &     \
  3.1736 +\  (! Z A1. equal(Z::'a,A1) --> equal(diagonalise(Z),diagonalise(A1))) &    \
  3.1737 +\  (! B1 C1 D1. equal(B1::'a,C1) --> equal(difference(B1::'a,D1),difference(C1::'a,D1))) &  \
  3.1738 +\  (! E1 G1 F1. equal(E1::'a,F1) --> equal(difference(G1::'a,E1),difference(G1::'a,F1))) &  \
  3.1739 +\  (! H1 I1 J1 K1. equal(H1::'a,I1) --> equal(domain(H1::'a,J1,K1),domain(I1::'a,J1,K1))) & \
  3.1740 +\  (! L1 N1 M1 O1. equal(L1::'a,M1) --> equal(domain(N1::'a,L1,O1),domain(N1::'a,M1,O1))) & \
  3.1741 +\  (! P1 R1 S1 Q1. equal(P1::'a,Q1) --> equal(domain(R1::'a,S1,P1),domain(R1::'a,S1,Q1))) & \
  3.1742 +\  (! T1 U1. equal(T1::'a,U1) --> equal(domain_of(T1),domain_of(U1))) &     \
  3.1743 +\  (! V1 W1. equal(V1::'a,W1) --> equal(first(V1),first(W1))) &     \
  3.1744 +\  (! X1 Y1. equal(X1::'a,Y1) --> equal(flip(X1),flip(Y1))) &       \
  3.1745 +\  (! Z1 A2 B2. equal(Z1::'a,A2) --> equal(image_(Z1::'a,B2),image_(A2::'a,B2))) &    \
  3.1746 +\  (! C2 E2 D2. equal(C2::'a,D2) --> equal(image_(E2::'a,C2),image_(E2::'a,D2))) &    \
  3.1747 +\  (! F2 G2 H2. equal(F2::'a,G2) --> equal(intersection(F2::'a,H2),intersection(G2::'a,H2))) &      \
  3.1748 +\  (! I2 K2 J2. equal(I2::'a,J2) --> equal(intersection(K2::'a,I2),intersection(K2::'a,J2))) &      \
  3.1749 +\  (! L2 M2. equal(L2::'a,M2) --> equal(inverse(L2),inverse(M2))) & \
  3.1750 +\  (! N2 O2 P2 Q2. equal(N2::'a,O2) --> equal(not_homomorphism1(N2::'a,P2,Q2),not_homomorphism1(O2::'a,P2,Q2))) &   \
  3.1751 +\  (! R2 T2 S2 U2. equal(R2::'a,S2) --> equal(not_homomorphism1(T2::'a,R2,U2),not_homomorphism1(T2::'a,S2,U2))) &   \
  3.1752 +\  (! V2 X2 Y2 W2. equal(V2::'a,W2) --> equal(not_homomorphism1(X2::'a,Y2,V2),not_homomorphism1(X2::'a,Y2,W2))) &   \
  3.1753 +\  (! Z2 A3 B3 C3. equal(Z2::'a,A3) --> equal(not_homomorphism2(Z2::'a,B3,C3),not_homomorphism2(A3::'a,B3,C3))) &   \
  3.1754 +\  (! D3 F3 E3 G3. equal(D3::'a,E3) --> equal(not_homomorphism2(F3::'a,D3,G3),not_homomorphism2(F3::'a,E3,G3))) &   \
  3.1755 +\  (! H3 J3 K3 I3. equal(H3::'a,I3) --> equal(not_homomorphism2(J3::'a,K3,H3),not_homomorphism2(J3::'a,K3,I3))) &   \
  3.1756 +\  (! L3 M3 N3. equal(L3::'a,M3) --> equal(not_subclass_element(L3::'a,N3),not_subclass_element(M3::'a,N3))) &      \
  3.1757 +\  (! O3 Q3 P3. equal(O3::'a,P3) --> equal(not_subclass_element(Q3::'a,O3),not_subclass_element(Q3::'a,P3))) &      \
  3.1758 +\  (! R3 S3 T3. equal(R3::'a,S3) --> equal(ordered_pair(R3::'a,T3),ordered_pair(S3::'a,T3))) &      \
  3.1759 +\  (! U3 W3 V3. equal(U3::'a,V3) --> equal(ordered_pair(W3::'a,U3),ordered_pair(W3::'a,V3))) &      \
  3.1760 +\  (! X3 Y3. equal(X3::'a,Y3) --> equal(powerClass(X3),powerClass(Y3))) & \
  3.1761 +\  (! Z3 A4 B4 C4. equal(Z3::'a,A4) --> equal(rng(Z3::'a,B4,C4),rng(A4::'a,B4,C4))) &   \
  3.1762 +\  (! D4 F4 E4 G4. equal(D4::'a,E4) --> equal(rng(F4::'a,D4,G4),rng(F4::'a,E4,G4))) &   \
  3.1763 +\  (! H4 J4 K4 I4. equal(H4::'a,I4) --> equal(rng(J4::'a,K4,H4),rng(J4::'a,K4,I4))) &   \
  3.1764 +\  (! L4 M4. equal(L4::'a,M4) --> equal(range_of(L4),range_of(M4))) &       \
  3.1765 +\  (! N4 O4. equal(N4::'a,O4) --> equal(regular(N4),regular(O4))) & \
  3.1766 +\  (! P4 Q4 R4 S4. equal(P4::'a,Q4) --> equal(restrct(P4::'a,R4,S4),restrct(Q4::'a,R4,S4))) &     \
  3.1767 +\  (! T4 V4 U4 W4. equal(T4::'a,U4) --> equal(restrct(V4::'a,T4,W4),restrct(V4::'a,U4,W4))) &     \
  3.1768 +\  (! X4 Z4 A5 Y4. equal(X4::'a,Y4) --> equal(restrct(Z4::'a,A5,X4),restrct(Z4::'a,A5,Y4))) &     \
  3.1769 +\  (! B5 C5. equal(B5::'a,C5) --> equal(rotate(B5),rotate(C5))) &   \
  3.1770 +\  (! D5 E5. equal(D5::'a,E5) --> equal(second(D5),second(E5))) &   \
  3.1771 +\  (! F5 G5. equal(F5::'a,G5) --> equal(singleton(F5),singleton(G5))) &     \
  3.1772 +\  (! H5 I5. equal(H5::'a,I5) --> equal(successor(H5),successor(I5))) &     \
  3.1773 +\  (! J5 K5. equal(J5::'a,K5) --> equal(sum_class(J5),sum_class(K5))) &     \
  3.1774 +\  (! L5 M5 N5. equal(L5::'a,M5) --> equal(union(L5::'a,N5),union(M5::'a,N5))) &    \
  3.1775 +\  (! O5 Q5 P5. equal(O5::'a,P5) --> equal(union(Q5::'a,O5),union(Q5::'a,P5))) &    \
  3.1776 +\  (! R5 S5 T5. equal(R5::'a,S5) --> equal(unordered_pair(R5::'a,T5),unordered_pair(S5::'a,T5))) &  \
  3.1777 +\  (! U5 W5 V5. equal(U5::'a,V5) --> equal(unordered_pair(W5::'a,U5),unordered_pair(W5::'a,V5))) &  \
  3.1778 +\  (! X5 Y5 Z5 A6. equal(X5::'a,Y5) & compatible(X5::'a,Z5,A6) --> compatible(Y5::'a,Z5,A6)) &      \
  3.1779 +\  (! B6 D6 C6 E6. equal(B6::'a,C6) & compatible(D6::'a,B6,E6) --> compatible(D6::'a,C6,E6)) &      \
  3.1780 +\  (! F6 H6 I6 G6. equal(F6::'a,G6) & compatible(H6::'a,I6,F6) --> compatible(H6::'a,I6,G6)) &      \
  3.1781 +\  (! J6 K6. equal(J6::'a,K6) & function(J6) --> function(K6)) &    \
  3.1782 +\  (! L6 M6 N6 O6. equal(L6::'a,M6) & homomorphism(L6::'a,N6,O6) --> homomorphism(M6::'a,N6,O6)) &  \
  3.1783 +\  (! P6 R6 Q6 S6. equal(P6::'a,Q6) & homomorphism(R6::'a,P6,S6) --> homomorphism(R6::'a,Q6,S6)) &  \
  3.1784 +\  (! T6 V6 W6 U6. equal(T6::'a,U6) & homomorphism(V6::'a,W6,T6) --> homomorphism(V6::'a,W6,U6)) &  \
  3.1785 +\  (! X6 Y6. equal(X6::'a,Y6) & inductive(X6) --> inductive(Y6)) &  \
  3.1786 +\  (! Z6 A7 B7. equal(Z6::'a,A7) & member(Z6::'a,B7) --> member(A7::'a,B7)) &       \
  3.1787 +\  (! C7 E7 D7. equal(C7::'a,D7) & member(E7::'a,C7) --> member(E7::'a,D7)) &       \
  3.1788 +\  (! F7 G7. equal(F7::'a,G7) & one_to_one(F7) --> one_to_one(G7)) &        \
  3.1789 +\  (! H7 I7. equal(H7::'a,I7) & operation(H7) --> operation(I7)) &  \
  3.1790 +\  (! J7 K7. equal(J7::'a,K7) & single_valued_class(J7) --> single_valued_class(K7)) &      \
  3.1791 +\  (! L7 M7 N7. equal(L7::'a,M7) & subclass(L7::'a,N7) --> subclass(M7::'a,N7)) &   \
  3.1792 +\  (! O7 Q7 P7. equal(O7::'a,P7) & subclass(Q7::'a,O7) --> subclass(Q7::'a,P7)) &   \
  3.1793 +\  (! X. subclass(compose_class(X),cross_product(universal_class::'a,universal_class))) &   \
  3.1794 +\  (! X Y Z. member(ordered_pair(Y::'a,Z),compose_class(X)) --> equal(compos(X::'a,Y),Z)) &    \
  3.1795 +\  (! Y Z X. member(ordered_pair(Y::'a,Z),cross_product(universal_class::'a,universal_class)) & equal(compos(X::'a,Y),Z) --> member(ordered_pair(Y::'a,Z),compose_class(X))) & \
  3.1796 +\  (subclass(composition_function::'a,cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class)))) &     \
  3.1797 +\  (! X Y Z. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),composition_function) --> equal(compos(X::'a,Y),Z)) &        \
  3.1798 +\  (! X Y. member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) --> member(ordered_pair(X::'a,ordered_pair(Y::'a,compos(X::'a,Y))),composition_function)) &    \
  3.1799 +\  (subclass(domain_relation::'a,cross_product(universal_class::'a,universal_class))) & \
  3.1800 +\  (! X Y. member(ordered_pair(X::'a,Y),domain_relation) --> equal(domain_of(X),Y)) &       \
  3.1801 +\  (! X. member(X::'a,universal_class) --> member(ordered_pair(X::'a,domain_of(X)),domain_relation)) &  \
  3.1802 +\  (! X. equal(first(not_subclass_element(compos(X::'a,inverse(X)),identity_relation)),single_valued1(X))) &       \
  3.1803 +\  (! X. equal(second(not_subclass_element(compos(X::'a,inverse(X)),identity_relation)),single_valued2(X))) &      \
  3.1804 +\  (! X. equal(domain(X::'a,image_(inverse(X),singleton(single_valued1(X))),single_valued2(X)),single_valued3(X))) & \
  3.1805 +\  (equal(intersection(complement(compos(element_relation::'a,complement(identity_relation))),element_relation),singleton_relation)) &     \
  3.1806 +\  (subclass(application_function::'a,cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class)))) &     \
  3.1807 +\  (! Z Y X. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),application_function) --> member(Y::'a,domain_of(X))) &       \
  3.1808 +\  (! X Y Z. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),application_function) --> equal(apply(X::'a,Y),Z)) &  \
  3.1809 +\  (! Z X Y. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class))) & member(Y::'a,domain_of(X)) --> member(ordered_pair(X::'a,ordered_pair(Y::'a,apply(X::'a,Y))),application_function)) &    \
  3.1810 +\  (! X Y Xf. maps(Xf::'a,X,Y) --> function(Xf)) &  \
  3.1811 +\  (! Y Xf X. maps(Xf::'a,X,Y) --> equal(domain_of(Xf),X)) &        \
  3.1812 +\  (! X Xf Y. maps(Xf::'a,X,Y) --> subclass(range_of(Xf),Y)) &      \
  3.1813 +\  (! Xf Y. function(Xf) & subclass(range_of(Xf),Y) --> maps(Xf::'a,domain_of(Xf),Y)) &     \
  3.1814 +\  (! L M. equal(L::'a,M) --> equal(compose_class(L),compose_class(M))) &   \
  3.1815 +\  (! N2 O2. equal(N2::'a,O2) --> equal(single_valued1(N2),single_valued1(O2))) &   \
  3.1816 +\  (! P2 Q2. equal(P2::'a,Q2) --> equal(single_valued2(P2),single_valued2(Q2))) &   \
  3.1817 +\  (! R2 S2. equal(R2::'a,S2) --> equal(single_valued3(R2),single_valued3(S2))) &   \
  3.1818 +\  (! X2 Y2 Z2 A3. equal(X2::'a,Y2) & maps(X2::'a,Z2,A3) --> maps(Y2::'a,Z2,A3)) &  \
  3.1819 +\  (! B3 D3 C3 E3. equal(B3::'a,C3) & maps(D3::'a,B3,E3) --> maps(D3::'a,C3,E3)) &  \
  3.1820 +\  (! F3 H3 I3 G3. equal(F3::'a,G3) & maps(H3::'a,I3,F3) --> maps(H3::'a,I3,G3)) &  \
  3.1821 +\  (! X. equal(union(X::'a,inverse(X)),symmetrization_of(X))) &     \
  3.1822 +\  (! X Y. irreflexive(X::'a,Y) --> subclass(restrct(X::'a,Y,Y),complement(identity_relation))) &      \
  3.1823 +\  (! X Y. subclass(restrct(X::'a,Y,Y),complement(identity_relation)) --> irreflexive(X::'a,Y)) &      \
  3.1824 +\  (! Y X. connected(X::'a,Y) --> subclass(cross_product(Y::'a,Y),union(identity_relation::'a,symmetrization_of(X)))) &     \
  3.1825 +\  (! X Y. subclass(cross_product(Y::'a,Y),union(identity_relation::'a,symmetrization_of(X))) --> connected(X::'a,Y)) &     \
  3.1826 +\  (! Xr Y. transitive(Xr::'a,Y) --> subclass(compos(restrct(Xr::'a,Y,Y),restrct(Xr::'a,Y,Y)),restrct(Xr::'a,Y,Y))) &       \
  3.1827 +\  (! Xr Y. subclass(compos(restrct(Xr::'a,Y,Y),restrct(Xr::'a,Y,Y)),restrct(Xr::'a,Y,Y)) --> transitive(Xr::'a,Y)) &       \
  3.1828 +\  (! Xr Y. asymmetric(Xr::'a,Y) --> equal(restrct(intersection(Xr::'a,inverse(Xr)),Y,Y),null_class)) &        \
  3.1829 +\  (! Xr Y. equal(restrct(intersection(Xr::'a,inverse(Xr)),Y,Y),null_class) --> asymmetric(Xr::'a,Y)) &        \
  3.1830 +\  (! Xr Y Z. equal(segment(Xr::'a,Y,Z),domain_of(restrct(Xr::'a,Y,singleton(Z))))) &  \
  3.1831 +\  (! X Y. well_ordering(X::'a,Y) --> connected(X::'a,Y)) &     \
  3.1832 +\  (! Y Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) --> equal(U::'a,null_class) | member(least(Xr::'a,U),U)) &   \
  3.1833 +\  (! Y V Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) & member(V::'a,U) --> member(least(Xr::'a,U),U)) &  \
  3.1834 +\  (! Y Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) --> equal(segment(Xr::'a,U,least(Xr::'a,U)),null_class)) &    \
  3.1835 +\  (! Y V U Xr. ~(well_ordering(Xr::'a,Y) & subclass(U::'a,Y) & member(V::'a,U) & member(ordered_pair(V::'a,least(Xr::'a,U)),Xr))) &        \
  3.1836 +\  (! Xr Y. connected(Xr::'a,Y) & equal(not_well_ordering(Xr::'a,Y),null_class) --> well_ordering(Xr::'a,Y)) &      \
  3.1837 +\  (! Xr Y. connected(Xr::'a,Y) --> subclass(not_well_ordering(Xr::'a,Y),Y) | well_ordering(Xr::'a,Y)) &   \
  3.1838 +\  (! V Xr Y. member(V::'a,not_well_ordering(Xr::'a,Y)) & equal(segment(Xr::'a,not_well_ordering(Xr::'a,Y),V),null_class) & connected(Xr::'a,Y) --> well_ordering(Xr::'a,Y)) &  \
  3.1839 +\  (! Xr Y Z. section(Xr::'a,Y,Z) --> subclass(Y::'a,Z)) &      \
  3.1840 +\  (! Xr Z Y. section(Xr::'a,Y,Z) --> subclass(domain_of(restrct(Xr::'a,Z,Y)),Y)) &    \
  3.1841 +\  (! Xr Y Z. subclass(Y::'a,Z) & subclass(domain_of(restrct(Xr::'a,Z,Y)),Y) --> section(Xr::'a,Y,Z)) &    \
  3.1842 +\  (! X. member(X::'a,ordinal_numbers) --> well_ordering(element_relation::'a,X)) &     \
  3.1843 +\  (! X. member(X::'a,ordinal_numbers) --> subclass(sum_class(X),X)) &      \
  3.1844 +\  (! X. well_ordering(element_relation::'a,X) & subclass(sum_class(X),X) & member(X::'a,universal_class) --> member(X::'a,ordinal_numbers)) &      \
  3.1845 +\  (! X. well_ordering(element_relation::'a,X) & subclass(sum_class(X),X) --> member(X::'a,ordinal_numbers) | equal(X::'a,ordinal_numbers)) &      \
  3.1846 +\  (equal(union(singleton(null_class),image_(successor_relation::'a,ordinal_numbers)),kind_1_ordinals)) &    \
  3.1847 +\  (equal(intersection(complement(kind_1_ordinals),ordinal_numbers),limit_ordinals)) &  \
  3.1848 +\  (! X. subclass(rest_of(X),cross_product(universal_class::'a,universal_class))) & \
  3.1849 +\  (! V U X. member(ordered_pair(U::'a,V),rest_of(X)) --> member(U::'a,domain_of(X))) & \
  3.1850 +\  (! X U V. member(ordered_pair(U::'a,V),rest_of(X)) --> equal(restrct(X::'a,U,universal_class),V)) & \
  3.1851 +\  (! U V X. member(U::'a,domain_of(X)) & equal(restrct(X::'a,U,universal_class),V) --> member(ordered_pair(U::'a,V),rest_of(X))) &        \
  3.1852 +\  (subclass(rest_relation::'a,cross_product(universal_class::'a,universal_class))) &   \
  3.1853 +\  (! X Y. member(ordered_pair(X::'a,Y),rest_relation) --> equal(rest_of(X),Y)) &   \
  3.1854 +\  (! X. member(X::'a,universal_class) --> member(ordered_pair(X::'a,rest_of(X)),rest_relation)) &      \
  3.1855 +\  (! X Z. member(X::'a,recursion_equation_functions(Z)) --> function(Z)) & \
  3.1856 +\  (! Z X. member(X::'a,recursion_equation_functions(Z)) --> function(X)) & \
  3.1857 +\  (! Z X. member(X::'a,recursion_equation_functions(Z)) --> member(domain_of(X),ordinal_numbers)) &        \
  3.1858 +\  (! Z X. member(X::'a,recursion_equation_functions(Z)) --> equal(compos(Z::'a,rest_of(X)),X)) &      \
  3.1859 +\  (! X Z. function(Z) & function(X) & member(domain_of(X),ordinal_numbers) & equal(compos(Z::'a,rest_of(X)),X) --> member(X::'a,recursion_equation_functions(Z))) &   \
  3.1860 +\  (subclass(union_of_range_map::'a,cross_product(universal_class::'a,universal_class))) &      \
  3.1861 +\  (! X Y. member(ordered_pair(X::'a,Y),union_of_range_map) --> equal(sum_class(range_of(X)),Y)) &  \
  3.1862 +\  (! X Y. member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) & equal(sum_class(range_of(X)),Y) --> member(ordered_pair(X::'a,Y),union_of_range_map)) &       \
  3.1863 +\  (! X Y. equal(apply(recursion(X::'a,successor_relation,union_of_range_map),Y),ordinal_add(X::'a,Y))) &       \
  3.1864 +\  (! X Y. equal(recursion(null_class::'a,apply(add_relation::'a,X),union_of_range_map),ordinal_multiply(X::'a,Y))) &       \
  3.1865 +\  (! X. member(X::'a,omega) --> equal(integer_of(X),X)) &  \
  3.1866 +\  (! X. member(X::'a,omega) | equal(integer_of(X),null_class)) &  \
  3.1867 +\  (! D E. equal(D::'a,E) --> equal(integer_of(D),integer_of(E))) & \
  3.1868 +\  (! F' G H. equal(F'::'a,G) --> equal(least(F'::'a,H),least(G::'a,H))) &  \
  3.1869 +\  (! I' K' J. equal(I'::'a,J) --> equal(least(K'::'a,I'),least(K'::'a,J))) &       \
  3.1870 +\  (! L M N. equal(L::'a,M) --> equal(not_well_ordering(L::'a,N),not_well_ordering(M::'a,N))) &     \
  3.1871 +\  (! O_ Q P. equal(O_::'a,P) --> equal(not_well_ordering(Q::'a,O_),not_well_ordering(Q::'a,P))) &     \
  3.1872 +\  (! R S' T'. equal(R::'a,S') --> equal(ordinal_add(R::'a,T'),ordinal_add(S'::'a,T'))) &   \
  3.1873 +\  (! U W V. equal(U::'a,V) --> equal(ordinal_add(W::'a,U),ordinal_add(W::'a,V))) & \
  3.1874 +\  (! X Y Z. equal(X::'a,Y) --> equal(ordinal_multiply(X::'a,Z),ordinal_multiply(Y::'a,Z))) &       \
  3.1875 +\  (! A1 C1 B1. equal(A1::'a,B1) --> equal(ordinal_multiply(C1::'a,A1),ordinal_multiply(C1::'a,B1))) &      \
  3.1876 +\  (! F1 G1 H1 I1. equal(F1::'a,G1) --> equal(recursion(F1::'a,H1,I1),recursion(G1::'a,H1,I1))) &   \
  3.1877 +\  (! J1 L1 K1 M1. equal(J1::'a,K1) --> equal(recursion(L1::'a,J1,M1),recursion(L1::'a,K1,M1))) &   \
  3.1878 +\  (! N1 P1 Q1 O1. equal(N1::'a,O1) --> equal(recursion(P1::'a,Q1,N1),recursion(P1::'a,Q1,O1))) &   \
  3.1879 +\  (! R1 S1. equal(R1::'a,S1) --> equal(recursion_equation_functions(R1),recursion_equation_functions(S1))) &       \
  3.1880 +\  (! T1 U1. equal(T1::'a,U1) --> equal(rest_of(T1),rest_of(U1))) & \
  3.1881 +\  (! V1 W1 X1 Y1. equal(V1::'a,W1) --> equal(segment(V1::'a,X1,Y1),segment(W1::'a,X1,Y1))) &       \
  3.1882 +\  (! Z1 B2 A2 C2. equal(Z1::'a,A2) --> equal(segment(B2::'a,Z1,C2),segment(B2::'a,A2,C2))) &       \
  3.1883 +\  (! D2 F2 G2 E2. equal(D2::'a,E2) --> equal(segment(F2::'a,G2,D2),segment(F2::'a,G2,E2))) &       \
  3.1884 +\  (! H2 I2. equal(H2::'a,I2) --> equal(symmetrization_of(H2),symmetrization_of(I2))) &     \
  3.1885 +\  (! J2 K2 L2. equal(J2::'a,K2) & asymmetric(J2::'a,L2) --> asymmetric(K2::'a,L2)) &       \
  3.1886 +\  (! M2 O2 N2. equal(M2::'a,N2) & asymmetric(O2::'a,M2) --> asymmetric(O2::'a,N2)) &       \
  3.1887 +\  (! P2 Q2 R2. equal(P2::'a,Q2) & connected(P2::'a,R2) --> connected(Q2::'a,R2)) & \
  3.1888 +\  (! S2 U2 T2. equal(S2::'a,T2) & connected(U2::'a,S2) --> connected(U2::'a,T2)) & \
  3.1889 +\  (! V2 W2 X2. equal(V2::'a,W2) & irreflexive(V2::'a,X2) --> irreflexive(W2::'a,X2)) &     \
  3.1890 +\  (! Y2 A3 Z2. equal(Y2::'a,Z2) & irreflexive(A3::'a,Y2) --> irreflexive(A3::'a,Z2)) &     \
  3.1891 +\  (! B3 C3 D3 E3. equal(B3::'a,C3) & section(B3::'a,D3,E3) --> section(C3::'a,D3,E3)) &    \
  3.1892 +\  (! F3 H3 G3 I3. equal(F3::'a,G3) & section(H3::'a,F3,I3) --> section(H3::'a,G3,I3)) &    \
  3.1893 +\  (! J3 L3 M3 K3. equal(J3::'a,K3) & section(L3::'a,M3,J3) --> section(L3::'a,M3,K3)) &    \
  3.1894 +\  (! N3 O3 P3. equal(N3::'a,O3) & transitive(N3::'a,P3) --> transitive(O3::'a,P3)) &       \
  3.1895 +\  (! Q3 S3 R3. equal(Q3::'a,R3) & transitive(S3::'a,Q3) --> transitive(S3::'a,R3)) &       \
  3.1896 +\  (! T3 U3 V3. equal(T3::'a,U3) & well_ordering(T3::'a,V3) --> well_ordering(U3::'a,V3)) & \
  3.1897 +\  (! W3 Y3 X3. equal(W3::'a,X3) & well_ordering(Y3::'a,W3) --> well_ordering(Y3::'a,X3)) & \
  3.1898 +\  (~subclass(limit_ordinals::'a,ordinal_numbers)) --> False",
  3.1899 +  meson_tac);
  3.1900 +
  3.1901 +
  3.1902 +(*0 inferences so far.  Searching to depth 0.  16.8 secs.  BIG*)
  3.1903 +val NUM228_1 = prove_hard
  3.1904 + ("(! X. equal(X::'a,X)) &  \
  3.1905 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.1906 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.1907 +\  (! X U Y. subclass(X::'a,Y) & member(U::'a,X) --> member(U::'a,Y)) &     \
  3.1908 +\  (! X Y. member(not_subclass_element(X::'a,Y),X) | subclass(X::'a,Y)) &      \
  3.1909 +\  (! X Y. member(not_subclass_element(X::'a,Y),Y) --> subclass(X::'a,Y)) &     \
  3.1910 +\  (! X. subclass(X::'a,universal_class)) & \
  3.1911 +\  (! X Y. equal(X::'a,Y) --> subclass(X::'a,Y)) &      \
  3.1912 +\  (! Y X. equal(X::'a,Y) --> subclass(Y::'a,X)) &      \
  3.1913 +\  (! X Y. subclass(X::'a,Y) & subclass(Y::'a,X) --> equal(X::'a,Y)) &      \
  3.1914 +\  (! X U Y. member(U::'a,unordered_pair(X::'a,Y)) --> equal(U::'a,X) | equal(U::'a,Y)) &      \
  3.1915 +\  (! X Y. member(X::'a,universal_class) --> member(X::'a,unordered_pair(X::'a,Y))) &       \
  3.1916 +\  (! X Y. member(Y::'a,universal_class) --> member(Y::'a,unordered_pair(X::'a,Y))) &       \
  3.1917 +\  (! X Y. member(unordered_pair(X::'a,Y),universal_class)) &       \
  3.1918 +\  (! X. equal(unordered_pair(X::'a,X),singleton(X))) &     \
  3.1919 +\  (! X Y. equal(unordered_pair(singleton(X),unordered_pair(X::'a,singleton(Y))),ordered_pair(X::'a,Y))) &      \
  3.1920 +\  (! V Y U X. member(ordered_pair(U::'a,V),cross_product(X::'a,Y)) --> member(U::'a,X)) &  \
  3.1921 +\  (! U X V Y. member(ordered_pair(U::'a,V),cross_product(X::'a,Y)) --> member(V::'a,Y)) &  \
  3.1922 +\  (! U V X Y. member(U::'a,X) & member(V::'a,Y) --> member(ordered_pair(U::'a,V),cross_product(X::'a,Y))) &    \
  3.1923 +\  (! X Y Z. member(Z::'a,cross_product(X::'a,Y)) --> equal(ordered_pair(first(Z),second(Z)),Z)) &      \
  3.1924 +\  (subclass(element_relation::'a,cross_product(universal_class::'a,universal_class))) &        \
  3.1925 +\  (! X Y. member(ordered_pair(X::'a,Y),element_relation) --> member(X::'a,Y)) &        \
  3.1926 +\  (! X Y. member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) & member(X::'a,Y) --> member(ordered_pair(X::'a,Y),element_relation)) &     \
  3.1927 +\  (! Y Z X. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,X)) &     \
  3.1928 +\  (! X Z Y. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,Y)) &     \
  3.1929 +\  (! Z X Y. member(Z::'a,X) & member(Z::'a,Y) --> member(Z::'a,intersection(X::'a,Y))) &       \
  3.1930 +\  (! Z X. ~(member(Z::'a,complement(X)) & member(Z::'a,X))) &  \
  3.1931 +\  (! Z X. member(Z::'a,universal_class) --> member(Z::'a,complement(X)) | member(Z::'a,X)) &      \
  3.1932 +\  (! X Y. equal(complement(intersection(complement(X),complement(Y))),union(X::'a,Y))) &   \
  3.1933 +\  (! X Y. equal(intersection(complement(intersection(X::'a,Y)),complement(intersection(complement(X),complement(Y)))),difference(X::'a,Y))) &  \
  3.1934 +\  (! Xr X Y. equal(intersection(Xr::'a,cross_product(X::'a,Y)),restrct(Xr::'a,X,Y))) &    \
  3.1935 +\  (! Xr X Y. equal(intersection(cross_product(X::'a,Y),Xr),restrct(Xr::'a,X,Y))) &    \
  3.1936 +\  (! Z X. ~(equal(restrct(X::'a,singleton(Z),universal_class),null_class) & member(Z::'a,domain_of(X)))) &    \
  3.1937 +\  (! Z X. member(Z::'a,universal_class) --> equal(restrct(X::'a,singleton(Z),universal_class),null_class) | member(Z::'a,domain_of(X))) &        \
  3.1938 +\  (! X. subclass(rotate(X),cross_product(cross_product(universal_class::'a,universal_class),universal_class))) &   \
  3.1939 +\  (! V W U X. member(ordered_pair(ordered_pair(U::'a,V),W),rotate(X)) --> member(ordered_pair(ordered_pair(V::'a,W),U),X)) &   \
  3.1940 +\  (! U V W X. member(ordered_pair(ordered_pair(V::'a,W),U),X) & member(ordered_pair(ordered_pair(U::'a,V),W),cross_product(cross_product(universal_class::'a,universal_class),universal_class)) --> member(ordered_pair(ordered_pair(U::'a,V),W),rotate(X))) & \
  3.1941 +\  (! X. subclass(flip(X),cross_product(cross_product(universal_class::'a,universal_class),universal_class))) &     \
  3.1942 +\  (! V U W X. member(ordered_pair(ordered_pair(U::'a,V),W),flip(X)) --> member(ordered_pair(ordered_pair(V::'a,U),W),X)) &     \
  3.1943 +\  (! U V W X. member(ordered_pair(ordered_pair(V::'a,U),W),X) & member(ordered_pair(ordered_pair(U::'a,V),W),cross_product(cross_product(universal_class::'a,universal_class),universal_class)) --> member(ordered_pair(ordered_pair(U::'a,V),W),flip(X))) &   \
  3.1944 +\  (! Y. equal(domain_of(flip(cross_product(Y::'a,universal_class))),inverse(Y))) & \
  3.1945 +\  (! Z. equal(domain_of(inverse(Z)),range_of(Z))) &    \
  3.1946 +\  (! Z X Y. equal(first(not_subclass_element(restrct(Z::'a,X,singleton(Y)),null_class)),domain(Z::'a,X,Y))) & \
  3.1947 +\  (! Z X Y. equal(second(not_subclass_element(restrct(Z::'a,singleton(X),Y),null_class)),rng(Z::'a,X,Y))) & \
  3.1948 +\  (! Xr X. equal(range_of(restrct(Xr::'a,X,universal_class)),image_(Xr::'a,X))) &      \
  3.1949 +\  (! X. equal(union(X::'a,singleton(X)),successor(X))) &   \
  3.1950 +\  (subclass(successor_relation::'a,cross_product(universal_class::'a,universal_class))) &      \
  3.1951 +\  (! X Y. member(ordered_pair(X::'a,Y),successor_relation) --> equal(successor(X),Y)) &    \
  3.1952 +\  (! X Y. equal(successor(X),Y) & member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) --> member(ordered_pair(X::'a,Y),successor_relation)) & \
  3.1953 +\  (! X. inductive(X) --> member(null_class::'a,X)) &       \
  3.1954 +\  (! X. inductive(X) --> subclass(image_(successor_relation::'a,X),X)) &    \
  3.1955 +\  (! X. member(null_class::'a,X) & subclass(image_(successor_relation::'a,X),X) --> inductive(X)) &     \
  3.1956 +\  (inductive(omega)) & \
  3.1957 +\  (! Y. inductive(Y) --> subclass(omega::'a,Y)) &  \
  3.1958 +\  (member(omega::'a,universal_class)) &    \
  3.1959 +\  (! X. equal(domain_of(restrct(element_relation::'a,universal_class,X)),sum_class(X))) & \
  3.1960 +\  (! X. member(X::'a,universal_class) --> member(sum_class(X),universal_class)) &  \
  3.1961 +\  (! X. equal(complement(image_(element_relation::'a,complement(X))),powerClass(X))) &     \
  3.1962 +\  (! U. member(U::'a,universal_class) --> member(powerClass(U),universal_class)) &        \
  3.1963 +\  (! Yr Xr. subclass(compos(Yr::'a,Xr),cross_product(universal_class::'a,universal_class))) & \
  3.1964 +\  (! Z Yr Xr Y. member(ordered_pair(Y::'a,Z),compos(Yr::'a,Xr)) --> member(Z::'a,image_(Yr::'a,image_(Xr::'a,singleton(Y))))) &     \
  3.1965 +\  (! Y Z Yr Xr. member(Z::'a,image_(Yr::'a,image_(Xr::'a,singleton(Y)))) & member(ordered_pair(Y::'a,Z),cross_product(universal_class::'a,universal_class)) --> member(ordered_pair(Y::'a,Z),compos(Yr::'a,Xr))) &  \
  3.1966 +\  (! X. single_valued_class(X) --> subclass(compos(X::'a,inverse(X)),identity_relation)) &        \
  3.1967 +\  (! X. subclass(compos(X::'a,inverse(X)),identity_relation) --> single_valued_class(X)) &        \
  3.1968 +\  (! Xf. function(Xf) --> subclass(Xf::'a,cross_product(universal_class::'a,universal_class))) &       \
  3.1969 +\  (! Xf. function(Xf) --> subclass(compos(Xf::'a,inverse(Xf)),identity_relation)) &       \
  3.1970 +\  (! Xf. subclass(Xf::'a,cross_product(universal_class::'a,universal_class)) & subclass(compos(Xf::'a,inverse(Xf)),identity_relation) --> function(Xf)) & \
  3.1971 +\  (! Xf X. function(Xf) & member(X::'a,universal_class) --> member(image_(Xf::'a,X),universal_class)) & \
  3.1972 +\  (! X. equal(X::'a,null_class) | member(regular(X),X)) & \
  3.1973 +\  (! X. equal(X::'a,null_class) | equal(intersection(X::'a,regular(X)),null_class)) & \
  3.1974 +\  (! Xf Y. equal(sum_class(image_(Xf::'a,singleton(Y))),apply(Xf::'a,Y))) &     \
  3.1975 +\  (function(choice)) & \
  3.1976 +\  (! Y. member(Y::'a,universal_class) --> equal(Y::'a,null_class) | member(apply(choice::'a,Y),Y)) &      \
  3.1977 +\  (! Xf. one_to_one(Xf) --> function(Xf)) &    \
  3.1978 +\  (! Xf. one_to_one(Xf) --> function(inverse(Xf))) &   \
  3.1979 +\  (! Xf. function(inverse(Xf)) & function(Xf) --> one_to_one(Xf)) &    \
  3.1980 +\  (equal(intersection(cross_product(universal_class::'a,universal_class),intersection(cross_product(universal_class::'a,universal_class),complement(compos(complement(element_relation),inverse(element_relation))))),subset_relation)) &     \
  3.1981 +\  (equal(intersection(inverse(subset_relation),subset_relation),identity_relation)) &  \
  3.1982 +\  (! Xr. equal(complement(domain_of(intersection(Xr::'a,identity_relation))),diagonalise(Xr))) &   \
  3.1983 +\  (! X. equal(intersection(domain_of(X),diagonalise(compos(inverse(element_relation),X))),cantor(X))) &       \
  3.1984 +\  (! Xf. operation(Xf) --> function(Xf)) &     \
  3.1985 +\  (! Xf. operation(Xf) --> equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf))) &    \
  3.1986 +\  (! Xf. operation(Xf) --> subclass(range_of(Xf),domain_of(domain_of(Xf)))) &  \
  3.1987 +\  (! Xf. function(Xf) & equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf)) & subclass(range_of(Xf),domain_of(domain_of(Xf))) --> operation(Xf)) &   \
  3.1988 +\  (! Xf1 Xf2 Xh. compatible(Xh::'a,Xf1,Xf2) --> function(Xh)) &    \
  3.1989 +\  (! Xf2 Xf1 Xh. compatible(Xh::'a,Xf1,Xf2) --> equal(domain_of(domain_of(Xf1)),domain_of(Xh))) &  \
  3.1990 +\  (! Xf1 Xh Xf2. compatible(Xh::'a,Xf1,Xf2) --> subclass(range_of(Xh),domain_of(domain_of(Xf2)))) &        \
  3.1991 +\  (! Xh Xh1 Xf1 Xf2. function(Xh) & equal(domain_of(domain_of(Xf1)),domain_of(Xh)) & subclass(range_of(Xh),domain_of(domain_of(Xf2))) --> compatible(Xh1::'a,Xf1,Xf2)) &   \
  3.1992 +\  (! Xh Xf2 Xf1. homomorphism(Xh::'a,Xf1,Xf2) --> operation(Xf1)) &        \
  3.1993 +\  (! Xh Xf1 Xf2. homomorphism(Xh::'a,Xf1,Xf2) --> operation(Xf2)) &        \
  3.1994 +\  (! Xh Xf1 Xf2. homomorphism(Xh::'a,Xf1,Xf2) --> compatible(Xh::'a,Xf1,Xf2)) &        \
  3.1995 +\  (! Xf2 Xh Xf1 X Y. homomorphism(Xh::'a,Xf1,Xf2) & member(ordered_pair(X::'a,Y),domain_of(Xf1)) --> equal(apply(Xf2::'a,ordered_pair(apply(Xh::'a,X),apply(Xh::'a,Y))),apply(Xh::'a,apply(Xf1::'a,ordered_pair(X::'a,Y))))) & \
  3.1996 +\  (! Xh Xf1 Xf2. operation(Xf1) & operation(Xf2) & compatible(Xh::'a,Xf1,Xf2) --> member(ordered_pair(not_homomorphism1(Xh::'a,Xf1,Xf2),not_homomorphism2(Xh::'a,Xf1,Xf2)),domain_of(Xf1)) | homomorphism(Xh::'a,Xf1,Xf2)) &  \
  3.1997 +\  (! Xh Xf1 Xf2. operation(Xf1) & operation(Xf2) & compatible(Xh::'a,Xf1,Xf2) & equal(apply(Xf2::'a,ordered_pair(apply(Xh::'a,not_homomorphism1(Xh::'a,Xf1,Xf2)),apply(Xh::'a,not_homomorphism2(Xh::'a,Xf1,Xf2)))),apply(Xh::'a,apply(Xf1::'a,ordered_pair(not_homomorphism1(Xh::'a,Xf1,Xf2),not_homomorphism2(Xh::'a,Xf1,Xf2))))) --> homomorphism(Xh::'a,Xf1,Xf2)) &     \
  3.1998 +\  (! D E F'. equal(D::'a,E) --> equal(apply(D::'a,F'),apply(E::'a,F'))) &  \
  3.1999 +\  (! G I' H. equal(G::'a,H) --> equal(apply(I'::'a,G),apply(I'::'a,H))) &  \
  3.2000 +\  (! J K'. equal(J::'a,K') --> equal(cantor(J),cantor(K'))) &      \
  3.2001 +\  (! L M. equal(L::'a,M) --> equal(complement(L),complement(M))) & \
  3.2002 +\  (! N O_ P. equal(N::'a,O_) --> equal(compos(N::'a,P),compos(O_::'a,P))) & \
  3.2003 +\  (! Q S' R. equal(Q::'a,R) --> equal(compos(S'::'a,Q),compos(S'::'a,R))) &      \
  3.2004 +\  (! T' U V. equal(T'::'a,U) --> equal(cross_product(T'::'a,V),cross_product(U::'a,V))) &  \
  3.2005 +\  (! W Y X. equal(W::'a,X) --> equal(cross_product(Y::'a,W),cross_product(Y::'a,X))) &     \
  3.2006 +\  (! Z A1. equal(Z::'a,A1) --> equal(diagonalise(Z),diagonalise(A1))) &    \
  3.2007 +\  (! B1 C1 D1. equal(B1::'a,C1) --> equal(difference(B1::'a,D1),difference(C1::'a,D1))) &  \
  3.2008 +\  (! E1 G1 F1. equal(E1::'a,F1) --> equal(difference(G1::'a,E1),difference(G1::'a,F1))) &  \
  3.2009 +\  (! H1 I1 J1 K1. equal(H1::'a,I1) --> equal(domain(H1::'a,J1,K1),domain(I1::'a,J1,K1))) & \
  3.2010 +\  (! L1 N1 M1 O1. equal(L1::'a,M1) --> equal(domain(N1::'a,L1,O1),domain(N1::'a,M1,O1))) & \
  3.2011 +\  (! P1 R1 S1 Q1. equal(P1::'a,Q1) --> equal(domain(R1::'a,S1,P1),domain(R1::'a,S1,Q1))) & \
  3.2012 +\  (! T1 U1. equal(T1::'a,U1) --> equal(domain_of(T1),domain_of(U1))) &     \
  3.2013 +\  (! V1 W1. equal(V1::'a,W1) --> equal(first(V1),first(W1))) &     \
  3.2014 +\  (! X1 Y1. equal(X1::'a,Y1) --> equal(flip(X1),flip(Y1))) &       \
  3.2015 +\  (! Z1 A2 B2. equal(Z1::'a,A2) --> equal(image_(Z1::'a,B2),image_(A2::'a,B2))) &    \
  3.2016 +\  (! C2 E2 D2. equal(C2::'a,D2) --> equal(image_(E2::'a,C2),image_(E2::'a,D2))) &    \
  3.2017 +\  (! F2 G2 H2. equal(F2::'a,G2) --> equal(intersection(F2::'a,H2),intersection(G2::'a,H2))) &      \
  3.2018 +\  (! I2 K2 J2. equal(I2::'a,J2) --> equal(intersection(K2::'a,I2),intersection(K2::'a,J2))) &      \
  3.2019 +\  (! L2 M2. equal(L2::'a,M2) --> equal(inverse(L2),inverse(M2))) & \
  3.2020 +\  (! N2 O2 P2 Q2. equal(N2::'a,O2) --> equal(not_homomorphism1(N2::'a,P2,Q2),not_homomorphism1(O2::'a,P2,Q2))) &   \
  3.2021 +\  (! R2 T2 S2 U2. equal(R2::'a,S2) --> equal(not_homomorphism1(T2::'a,R2,U2),not_homomorphism1(T2::'a,S2,U2))) &   \
  3.2022 +\  (! V2 X2 Y2 W2. equal(V2::'a,W2) --> equal(not_homomorphism1(X2::'a,Y2,V2),not_homomorphism1(X2::'a,Y2,W2))) &   \
  3.2023 +\  (! Z2 A3 B3 C3. equal(Z2::'a,A3) --> equal(not_homomorphism2(Z2::'a,B3,C3),not_homomorphism2(A3::'a,B3,C3))) &   \
  3.2024 +\  (! D3 F3 E3 G3. equal(D3::'a,E3) --> equal(not_homomorphism2(F3::'a,D3,G3),not_homomorphism2(F3::'a,E3,G3))) &   \
  3.2025 +\  (! H3 J3 K3 I3. equal(H3::'a,I3) --> equal(not_homomorphism2(J3::'a,K3,H3),not_homomorphism2(J3::'a,K3,I3))) &   \
  3.2026 +\  (! L3 M3 N3. equal(L3::'a,M3) --> equal(not_subclass_element(L3::'a,N3),not_subclass_element(M3::'a,N3))) &      \
  3.2027 +\  (! O3 Q3 P3. equal(O3::'a,P3) --> equal(not_subclass_element(Q3::'a,O3),not_subclass_element(Q3::'a,P3))) &      \
  3.2028 +\  (! R3 S3 T3. equal(R3::'a,S3) --> equal(ordered_pair(R3::'a,T3),ordered_pair(S3::'a,T3))) &      \
  3.2029 +\  (! U3 W3 V3. equal(U3::'a,V3) --> equal(ordered_pair(W3::'a,U3),ordered_pair(W3::'a,V3))) &      \
  3.2030 +\  (! X3 Y3. equal(X3::'a,Y3) --> equal(powerClass(X3),powerClass(Y3))) & \
  3.2031 +\  (! Z3 A4 B4 C4. equal(Z3::'a,A4) --> equal(rng(Z3::'a,B4,C4),rng(A4::'a,B4,C4))) &   \
  3.2032 +\  (! D4 F4 E4 G4. equal(D4::'a,E4) --> equal(rng(F4::'a,D4,G4),rng(F4::'a,E4,G4))) &   \
  3.2033 +\  (! H4 J4 K4 I4. equal(H4::'a,I4) --> equal(rng(J4::'a,K4,H4),rng(J4::'a,K4,I4))) &   \
  3.2034 +\  (! L4 M4. equal(L4::'a,M4) --> equal(range_of(L4),range_of(M4))) &       \
  3.2035 +\  (! N4 O4. equal(N4::'a,O4) --> equal(regular(N4),regular(O4))) & \
  3.2036 +\  (! P4 Q4 R4 S4. equal(P4::'a,Q4) --> equal(restrct(P4::'a,R4,S4),restrct(Q4::'a,R4,S4))) &     \
  3.2037 +\  (! T4 V4 U4 W4. equal(T4::'a,U4) --> equal(restrct(V4::'a,T4,W4),restrct(V4::'a,U4,W4))) &     \
  3.2038 +\  (! X4 Z4 A5 Y4. equal(X4::'a,Y4) --> equal(restrct(Z4::'a,A5,X4),restrct(Z4::'a,A5,Y4))) &     \
  3.2039 +\  (! B5 C5. equal(B5::'a,C5) --> equal(rotate(B5),rotate(C5))) &   \
  3.2040 +\  (! D5 E5. equal(D5::'a,E5) --> equal(second(D5),second(E5))) &   \
  3.2041 +\  (! F5 G5. equal(F5::'a,G5) --> equal(singleton(F5),singleton(G5))) &     \
  3.2042 +\  (! H5 I5. equal(H5::'a,I5) --> equal(successor(H5),successor(I5))) &     \
  3.2043 +\  (! J5 K5. equal(J5::'a,K5) --> equal(sum_class(J5),sum_class(K5))) &     \
  3.2044 +\  (! L5 M5 N5. equal(L5::'a,M5) --> equal(union(L5::'a,N5),union(M5::'a,N5))) &    \
  3.2045 +\  (! O5 Q5 P5. equal(O5::'a,P5) --> equal(union(Q5::'a,O5),union(Q5::'a,P5))) &    \
  3.2046 +\  (! R5 S5 T5. equal(R5::'a,S5) --> equal(unordered_pair(R5::'a,T5),unordered_pair(S5::'a,T5))) &  \
  3.2047 +\  (! U5 W5 V5. equal(U5::'a,V5) --> equal(unordered_pair(W5::'a,U5),unordered_pair(W5::'a,V5))) &  \
  3.2048 +\  (! X5 Y5 Z5 A6. equal(X5::'a,Y5) & compatible(X5::'a,Z5,A6) --> compatible(Y5::'a,Z5,A6)) &      \
  3.2049 +\  (! B6 D6 C6 E6. equal(B6::'a,C6) & compatible(D6::'a,B6,E6) --> compatible(D6::'a,C6,E6)) &      \
  3.2050 +\  (! F6 H6 I6 G6. equal(F6::'a,G6) & compatible(H6::'a,I6,F6) --> compatible(H6::'a,I6,G6)) &      \
  3.2051 +\  (! J6 K6. equal(J6::'a,K6) & function(J6) --> function(K6)) &    \
  3.2052 +\  (! L6 M6 N6 O6. equal(L6::'a,M6) & homomorphism(L6::'a,N6,O6) --> homomorphism(M6::'a,N6,O6)) &  \
  3.2053 +\  (! P6 R6 Q6 S6. equal(P6::'a,Q6) & homomorphism(R6::'a,P6,S6) --> homomorphism(R6::'a,Q6,S6)) &  \
  3.2054 +\  (! T6 V6 W6 U6. equal(T6::'a,U6) & homomorphism(V6::'a,W6,T6) --> homomorphism(V6::'a,W6,U6)) &  \
  3.2055 +\  (! X6 Y6. equal(X6::'a,Y6) & inductive(X6) --> inductive(Y6)) &  \
  3.2056 +\  (! Z6 A7 B7. equal(Z6::'a,A7) & member(Z6::'a,B7) --> member(A7::'a,B7)) &       \
  3.2057 +\  (! C7 E7 D7. equal(C7::'a,D7) & member(E7::'a,C7) --> member(E7::'a,D7)) &       \
  3.2058 +\  (! F7 G7. equal(F7::'a,G7) & one_to_one(F7) --> one_to_one(G7)) &        \
  3.2059 +\  (! H7 I7. equal(H7::'a,I7) & operation(H7) --> operation(I7)) &  \
  3.2060 +\  (! J7 K7. equal(J7::'a,K7) & single_valued_class(J7) --> single_valued_class(K7)) &      \
  3.2061 +\  (! L7 M7 N7. equal(L7::'a,M7) & subclass(L7::'a,N7) --> subclass(M7::'a,N7)) &   \
  3.2062 +\  (! O7 Q7 P7. equal(O7::'a,P7) & subclass(Q7::'a,O7) --> subclass(Q7::'a,P7)) &   \
  3.2063 +\  (! X. subclass(compose_class(X),cross_product(universal_class::'a,universal_class))) &   \
  3.2064 +\  (! X Y Z. member(ordered_pair(Y::'a,Z),compose_class(X)) --> equal(compos(X::'a,Y),Z)) &    \
  3.2065 +\  (! Y Z X. member(ordered_pair(Y::'a,Z),cross_product(universal_class::'a,universal_class)) & equal(compos(X::'a,Y),Z) --> member(ordered_pair(Y::'a,Z),compose_class(X))) & \
  3.2066 +\  (subclass(composition_function::'a,cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class)))) &     \
  3.2067 +\  (! X Y Z. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),composition_function) --> equal(compos(X::'a,Y),Z)) &        \
  3.2068 +\  (! X Y. member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) --> member(ordered_pair(X::'a,ordered_pair(Y::'a,compos(X::'a,Y))),composition_function)) &    \
  3.2069 +\  (subclass(domain_relation::'a,cross_product(universal_class::'a,universal_class))) & \
  3.2070 +\  (! X Y. member(ordered_pair(X::'a,Y),domain_relation) --> equal(domain_of(X),Y)) &       \
  3.2071 +\  (! X. member(X::'a,universal_class) --> member(ordered_pair(X::'a,domain_of(X)),domain_relation)) &  \
  3.2072 +\  (! X. equal(first(not_subclass_element(compos(X::'a,inverse(X)),identity_relation)),single_valued1(X))) &       \
  3.2073 +\  (! X. equal(second(not_subclass_element(compos(X::'a,inverse(X)),identity_relation)),single_valued2(X))) &      \
  3.2074 +\  (! X. equal(domain(X::'a,image_(inverse(X),singleton(single_valued1(X))),single_valued2(X)),single_valued3(X))) & \
  3.2075 +\  (equal(intersection(complement(compos(element_relation::'a,complement(identity_relation))),element_relation),singleton_relation)) &     \
  3.2076 +\  (subclass(application_function::'a,cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class)))) &     \
  3.2077 +\  (! Z Y X. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),application_function) --> member(Y::'a,domain_of(X))) &       \
  3.2078 +\  (! X Y Z. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),application_function) --> equal(apply(X::'a,Y),Z)) &  \
  3.2079 +\  (! Z X Y. member(ordered_pair(X::'a,ordered_pair(Y::'a,Z)),cross_product(universal_class::'a,cross_product(universal_class::'a,universal_class))) & member(Y::'a,domain_of(X)) --> member(ordered_pair(X::'a,ordered_pair(Y::'a,apply(X::'a,Y))),application_function)) &    \
  3.2080 +\  (! X Y Xf. maps(Xf::'a,X,Y) --> function(Xf)) &  \
  3.2081 +\  (! Y Xf X. maps(Xf::'a,X,Y) --> equal(domain_of(Xf),X)) &        \
  3.2082 +\  (! X Xf Y. maps(Xf::'a,X,Y) --> subclass(range_of(Xf),Y)) &      \
  3.2083 +\  (! Xf Y. function(Xf) & subclass(range_of(Xf),Y) --> maps(Xf::'a,domain_of(Xf),Y)) &     \
  3.2084 +\  (! L M. equal(L::'a,M) --> equal(compose_class(L),compose_class(M))) &   \
  3.2085 +\  (! N2 O2. equal(N2::'a,O2) --> equal(single_valued1(N2),single_valued1(O2))) &   \
  3.2086 +\  (! P2 Q2. equal(P2::'a,Q2) --> equal(single_valued2(P2),single_valued2(Q2))) &   \
  3.2087 +\  (! R2 S2. equal(R2::'a,S2) --> equal(single_valued3(R2),single_valued3(S2))) &   \
  3.2088 +\  (! X2 Y2 Z2 A3. equal(X2::'a,Y2) & maps(X2::'a,Z2,A3) --> maps(Y2::'a,Z2,A3)) &  \
  3.2089 +\  (! B3 D3 C3 E3. equal(B3::'a,C3) & maps(D3::'a,B3,E3) --> maps(D3::'a,C3,E3)) &  \
  3.2090 +\  (! F3 H3 I3 G3. equal(F3::'a,G3) & maps(H3::'a,I3,F3) --> maps(H3::'a,I3,G3)) &  \
  3.2091 +\  (! X. equal(union(X::'a,inverse(X)),symmetrization_of(X))) &     \
  3.2092 +\  (! X Y. irreflexive(X::'a,Y) --> subclass(restrct(X::'a,Y,Y),complement(identity_relation))) &      \
  3.2093 +\  (! X Y. subclass(restrct(X::'a,Y,Y),complement(identity_relation)) --> irreflexive(X::'a,Y)) &      \
  3.2094 +\  (! Y X. connected(X::'a,Y) --> subclass(cross_product(Y::'a,Y),union(identity_relation::'a,symmetrization_of(X)))) &     \
  3.2095 +\  (! X Y. subclass(cross_product(Y::'a,Y),union(identity_relation::'a,symmetrization_of(X))) --> connected(X::'a,Y)) &     \
  3.2096 +\  (! Xr Y. transitive(Xr::'a,Y) --> subclass(compos(restrct(Xr::'a,Y,Y),restrct(Xr::'a,Y,Y)),restrct(Xr::'a,Y,Y))) &       \
  3.2097 +\  (! Xr Y. subclass(compos(restrct(Xr::'a,Y,Y),restrct(Xr::'a,Y,Y)),restrct(Xr::'a,Y,Y)) --> transitive(Xr::'a,Y)) &       \
  3.2098 +\  (! Xr Y. asymmetric(Xr::'a,Y) --> equal(restrct(intersection(Xr::'a,inverse(Xr)),Y,Y),null_class)) &        \
  3.2099 +\  (! Xr Y. equal(restrct(intersection(Xr::'a,inverse(Xr)),Y,Y),null_class) --> asymmetric(Xr::'a,Y)) &        \
  3.2100 +\  (! Xr Y Z. equal(segment(Xr::'a,Y,Z),domain_of(restrct(Xr::'a,Y,singleton(Z))))) &  \
  3.2101 +\  (! X Y. well_ordering(X::'a,Y) --> connected(X::'a,Y)) &     \
  3.2102 +\  (! Y Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) --> equal(U::'a,null_class) | member(least(Xr::'a,U),U)) &   \
  3.2103 +\  (! Y V Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) & member(V::'a,U) --> member(least(Xr::'a,U),U)) &  \
  3.2104 +\  (! Y Xr U. well_ordering(Xr::'a,Y) & subclass(U::'a,Y) --> equal(segment(Xr::'a,U,least(Xr::'a,U)),null_class)) &    \
  3.2105 +\  (! Y V U Xr. ~(well_ordering(Xr::'a,Y) & subclass(U::'a,Y) & member(V::'a,U) & member(ordered_pair(V::'a,least(Xr::'a,U)),Xr))) &        \
  3.2106 +\  (! Xr Y. connected(Xr::'a,Y) & equal(not_well_ordering(Xr::'a,Y),null_class) --> well_ordering(Xr::'a,Y)) &      \
  3.2107 +\  (! Xr Y. connected(Xr::'a,Y) --> subclass(not_well_ordering(Xr::'a,Y),Y) | well_ordering(Xr::'a,Y)) &   \
  3.2108 +\  (! V Xr Y. member(V::'a,not_well_ordering(Xr::'a,Y)) & equal(segment(Xr::'a,not_well_ordering(Xr::'a,Y),V),null_class) & connected(Xr::'a,Y) --> well_ordering(Xr::'a,Y)) &  \
  3.2109 +\  (! Xr Y Z. section(Xr::'a,Y,Z) --> subclass(Y::'a,Z)) &      \
  3.2110 +\  (! Xr Z Y. section(Xr::'a,Y,Z) --> subclass(domain_of(restrct(Xr::'a,Z,Y)),Y)) &    \
  3.2111 +\  (! Xr Y Z. subclass(Y::'a,Z) & subclass(domain_of(restrct(Xr::'a,Z,Y)),Y) --> section(Xr::'a,Y,Z)) &    \
  3.2112 +\  (! X. member(X::'a,ordinal_numbers) --> well_ordering(element_relation::'a,X)) &     \
  3.2113 +\  (! X. member(X::'a,ordinal_numbers) --> subclass(sum_class(X),X)) &      \
  3.2114 +\  (! X. well_ordering(element_relation::'a,X) & subclass(sum_class(X),X) & member(X::'a,universal_class) --> member(X::'a,ordinal_numbers)) &      \
  3.2115 +\  (! X. well_ordering(element_relation::'a,X) & subclass(sum_class(X),X) --> member(X::'a,ordinal_numbers) | equal(X::'a,ordinal_numbers)) &      \
  3.2116 +\  (equal(union(singleton(null_class),image_(successor_relation::'a,ordinal_numbers)),kind_1_ordinals)) &    \
  3.2117 +\  (equal(intersection(complement(kind_1_ordinals),ordinal_numbers),limit_ordinals)) &  \
  3.2118 +\  (! X. subclass(rest_of(X),cross_product(universal_class::'a,universal_class))) & \
  3.2119 +\  (! V U X. member(ordered_pair(U::'a,V),rest_of(X)) --> member(U::'a,domain_of(X))) & \
  3.2120 +\  (! X U V. member(ordered_pair(U::'a,V),rest_of(X)) --> equal(restrct(X::'a,U,universal_class),V)) & \
  3.2121 +\  (! U V X. member(U::'a,domain_of(X)) & equal(restrct(X::'a,U,universal_class),V) --> member(ordered_pair(U::'a,V),rest_of(X))) &        \
  3.2122 +\  (subclass(rest_relation::'a,cross_product(universal_class::'a,universal_class))) &   \
  3.2123 +\  (! X Y. member(ordered_pair(X::'a,Y),rest_relation) --> equal(rest_of(X),Y)) &   \
  3.2124 +\  (! X. member(X::'a,universal_class) --> member(ordered_pair(X::'a,rest_of(X)),rest_relation)) &      \
  3.2125 +\  (! X Z. member(X::'a,recursion_equation_functions(Z)) --> function(Z)) & \
  3.2126 +\  (! Z X. member(X::'a,recursion_equation_functions(Z)) --> function(X)) & \
  3.2127 +\  (! Z X. member(X::'a,recursion_equation_functions(Z)) --> member(domain_of(X),ordinal_numbers)) &        \
  3.2128 +\  (! Z X. member(X::'a,recursion_equation_functions(Z)) --> equal(compos(Z::'a,rest_of(X)),X)) &      \
  3.2129 +\  (! X Z. function(Z) & function(X) & member(domain_of(X),ordinal_numbers) & equal(compos(Z::'a,rest_of(X)),X) --> member(X::'a,recursion_equation_functions(Z))) &   \
  3.2130 +\  (subclass(union_of_range_map::'a,cross_product(universal_class::'a,universal_class))) &      \
  3.2131 +\  (! X Y. member(ordered_pair(X::'a,Y),union_of_range_map) --> equal(sum_class(range_of(X)),Y)) &  \
  3.2132 +\  (! X Y. member(ordered_pair(X::'a,Y),cross_product(universal_class::'a,universal_class)) & equal(sum_class(range_of(X)),Y) --> member(ordered_pair(X::'a,Y),union_of_range_map)) &       \
  3.2133 +\  (! X Y. equal(apply(recursion(X::'a,successor_relation,union_of_range_map),Y),ordinal_add(X::'a,Y))) &       \
  3.2134 +\  (! X Y. equal(recursion(null_class::'a,apply(add_relation::'a,X),union_of_range_map),ordinal_multiply(X::'a,Y))) &       \
  3.2135 +\  (! X. member(X::'a,omega) --> equal(integer_of(X),X)) &  \
  3.2136 +\  (! X. member(X::'a,omega) | equal(integer_of(X),null_class)) &  \
  3.2137 +\  (! D E. equal(D::'a,E) --> equal(integer_of(D),integer_of(E))) & \
  3.2138 +\  (! F' G H. equal(F'::'a,G) --> equal(least(F'::'a,H),least(G::'a,H))) &  \
  3.2139 +\  (! I' K' J. equal(I'::'a,J) --> equal(least(K'::'a,I'),least(K'::'a,J))) &       \
  3.2140 +\  (! L M N. equal(L::'a,M) --> equal(not_well_ordering(L::'a,N),not_well_ordering(M::'a,N))) &     \
  3.2141 +\  (! O_ Q P. equal(O_::'a,P) --> equal(not_well_ordering(Q::'a,O_),not_well_ordering(Q::'a,P))) &     \
  3.2142 +\  (! R S' T'. equal(R::'a,S') --> equal(ordinal_add(R::'a,T'),ordinal_add(S'::'a,T'))) &   \
  3.2143 +\  (! U W V. equal(U::'a,V) --> equal(ordinal_add(W::'a,U),ordinal_add(W::'a,V))) & \
  3.2144 +\  (! X Y Z. equal(X::'a,Y) --> equal(ordinal_multiply(X::'a,Z),ordinal_multiply(Y::'a,Z))) &       \
  3.2145 +\  (! A1 C1 B1. equal(A1::'a,B1) --> equal(ordinal_multiply(C1::'a,A1),ordinal_multiply(C1::'a,B1))) &      \
  3.2146 +\  (! F1 G1 H1 I1. equal(F1::'a,G1) --> equal(recursion(F1::'a,H1,I1),recursion(G1::'a,H1,I1))) &   \
  3.2147 +\  (! J1 L1 K1 M1. equal(J1::'a,K1) --> equal(recursion(L1::'a,J1,M1),recursion(L1::'a,K1,M1))) &   \
  3.2148 +\  (! N1 P1 Q1 O1. equal(N1::'a,O1) --> equal(recursion(P1::'a,Q1,N1),recursion(P1::'a,Q1,O1))) &   \
  3.2149 +\  (! R1 S1. equal(R1::'a,S1) --> equal(recursion_equation_functions(R1),recursion_equation_functions(S1))) &       \
  3.2150 +\  (! T1 U1. equal(T1::'a,U1) --> equal(rest_of(T1),rest_of(U1))) & \
  3.2151 +\  (! V1 W1 X1 Y1. equal(V1::'a,W1) --> equal(segment(V1::'a,X1,Y1),segment(W1::'a,X1,Y1))) &       \
  3.2152 +\  (! Z1 B2 A2 C2. equal(Z1::'a,A2) --> equal(segment(B2::'a,Z1,C2),segment(B2::'a,A2,C2))) &       \
  3.2153 +\  (! D2 F2 G2 E2. equal(D2::'a,E2) --> equal(segment(F2::'a,G2,D2),segment(F2::'a,G2,E2))) &       \
  3.2154 +\  (! H2 I2. equal(H2::'a,I2) --> equal(symmetrization_of(H2),symmetrization_of(I2))) &     \
  3.2155 +\  (! J2 K2 L2. equal(J2::'a,K2) & asymmetric(J2::'a,L2) --> asymmetric(K2::'a,L2)) &       \
  3.2156 +\  (! M2 O2 N2. equal(M2::'a,N2) & asymmetric(O2::'a,M2) --> asymmetric(O2::'a,N2)) &       \
  3.2157 +\  (! P2 Q2 R2. equal(P2::'a,Q2) & connected(P2::'a,R2) --> connected(Q2::'a,R2)) & \
  3.2158 +\  (! S2 U2 T2. equal(S2::'a,T2) & connected(U2::'a,S2) --> connected(U2::'a,T2)) & \
  3.2159 +\  (! V2 W2 X2. equal(V2::'a,W2) & irreflexive(V2::'a,X2) --> irreflexive(W2::'a,X2)) &     \
  3.2160 +\  (! Y2 A3 Z2. equal(Y2::'a,Z2) & irreflexive(A3::'a,Y2) --> irreflexive(A3::'a,Z2)) &     \
  3.2161 +\  (! B3 C3 D3 E3. equal(B3::'a,C3) & section(B3::'a,D3,E3) --> section(C3::'a,D3,E3)) &    \
  3.2162 +\  (! F3 H3 G3 I3. equal(F3::'a,G3) & section(H3::'a,F3,I3) --> section(H3::'a,G3,I3)) &    \
  3.2163 +\  (! J3 L3 M3 K3. equal(J3::'a,K3) & section(L3::'a,M3,J3) --> section(L3::'a,M3,K3)) &    \
  3.2164 +\  (! N3 O3 P3. equal(N3::'a,O3) & transitive(N3::'a,P3) --> transitive(O3::'a,P3)) &       \
  3.2165 +\  (! Q3 S3 R3. equal(Q3::'a,R3) & transitive(S3::'a,Q3) --> transitive(S3::'a,R3)) &       \
  3.2166 +\  (! T3 U3 V3. equal(T3::'a,U3) & well_ordering(T3::'a,V3) --> well_ordering(U3::'a,V3)) & \
  3.2167 +\  (! W3 Y3 X3. equal(W3::'a,X3) & well_ordering(Y3::'a,W3) --> well_ordering(Y3::'a,X3)) & \
  3.2168 +\  (~function(z)) &     \
  3.2169 +\  (~equal(recursion_equation_functions(z),null_class)) --> False",
  3.2170 +  meson_tac);
  3.2171 +
  3.2172 +
  3.2173 +(*4868 inferences so far.  Searching to depth 12.  4.3 secs*)
  3.2174 +val PLA002_1 = prove_hard
  3.2175 + ("(! Situation1 Situation2. warm(Situation1) | cold(Situation2)) &    \
  3.2176 +\  (! Situation. at(a::'a,Situation) --> at(b::'a,walk(b::'a,Situation))) & \
  3.2177 +\  (! Situation. at(a::'a,Situation) --> at(b::'a,drive(b::'a,Situation))) &        \
  3.2178 +\  (! Situation. at(b::'a,Situation) --> at(a::'a,walk(a::'a,Situation))) & \
  3.2179 +\  (! Situation. at(b::'a,Situation) --> at(a::'a,drive(a::'a,Situation))) &        \
  3.2180 +\  (! Situation. cold(Situation) & at(b::'a,Situation) --> at(c::'a,skate(c::'a,Situation))) &      \
  3.2181 +\  (! Situation. cold(Situation) & at(c::'a,Situation) --> at(b::'a,skate(b::'a,Situation))) &      \
  3.2182 +\  (! Situation. warm(Situation) & at(b::'a,Situation) --> at(d::'a,climb(d::'a,Situation))) &      \
  3.2183 +\  (! Situation. warm(Situation) & at(d::'a,Situation) --> at(b::'a,climb(b::'a,Situation))) &      \
  3.2184 +\  (! Situation. at(c::'a,Situation) --> at(d::'a,go(d::'a,Situation))) &   \
  3.2185 +\  (! Situation. at(d::'a,Situation) --> at(c::'a,go(c::'a,Situation))) &   \
  3.2186 +\  (! Situation. at(c::'a,Situation) --> at(e::'a,go(e::'a,Situation))) &   \
  3.2187 +\  (! Situation. at(e::'a,Situation) --> at(c::'a,go(c::'a,Situation))) &   \
  3.2188 +\  (! Situation. at(d::'a,Situation) --> at(f::'a,go(f::'a,Situation))) &   \
  3.2189 +\  (! Situation. at(f::'a,Situation) --> at(d::'a,go(d::'a,Situation))) &   \
  3.2190 +\  (at(f::'a,s0)) & \
  3.2191 +\  (! S'. ~at(a::'a,S')) --> False",
  3.2192 +  meson_tac);
  3.2193 +
  3.2194 +(*190 inferences so far.  Searching to depth 10.  0.6 secs*)
  3.2195 +val PLA006_1 = prove
  3.2196 + ("(! X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &  \
  3.2197 +\  (! State X. holds(empty::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &        \
  3.2198 +\  (! Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(empty::'a,State) --> holds(clear(Y),do(pickup(X),State))) &   \
  3.2199 +\  (! Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) & \
  3.2200 +\  (! State X Z. holds(clear(X),State) & differ(X::'a,Z) --> holds(clear(X),do(pickup(Z),State))) & \
  3.2201 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(empty::'a,do(putdown(X::'a,Y),State))) &     \
  3.2202 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(on(X::'a,Y),do(putdown(X::'a,Y),State))) &   \
  3.2203 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(clear(X),do(putdown(X::'a,Y),State))) &  \
  3.2204 +\  (! Z W X Y State. holds(on(X::'a,Y),State) --> holds(on(X::'a,Y),do(putdown(Z::'a,W),State))) &  \
  3.2205 +\  (! X State Z Y. holds(clear(Z),State) & differ(Z::'a,Y) --> holds(clear(Z),do(putdown(X::'a,Y),State))) &    \
  3.2206 +\  (! Y X. differ(Y::'a,X) --> differ(X::'a,Y)) &       \
  3.2207 +\  (differ(a::'a,b)) &      \
  3.2208 +\  (differ(a::'a,c)) &      \
  3.2209 +\  (differ(a::'a,d)) &      \
  3.2210 +\  (differ(a::'a,table)) &  \
  3.2211 +\  (differ(b::'a,c)) &      \
  3.2212 +\  (differ(b::'a,d)) &      \
  3.2213 +\  (differ(b::'a,table)) &  \
  3.2214 +\  (differ(c::'a,d)) &      \
  3.2215 +\  (differ(c::'a,table)) &  \
  3.2216 +\  (differ(d::'a,table)) &  \
  3.2217 +\  (holds(on(a::'a,table),s0)) &    \
  3.2218 +\  (holds(on(b::'a,table),s0)) &    \
  3.2219 +\  (holds(on(c::'a,d),s0)) &        \
  3.2220 +\  (holds(on(d::'a,table),s0)) &    \
  3.2221 +\  (holds(clear(a),s0)) &       \
  3.2222 +\  (holds(clear(b),s0)) &       \
  3.2223 +\  (holds(clear(c),s0)) &       \
  3.2224 +\  (holds(empty::'a,s0)) &  \
  3.2225 +\  (! State. holds(clear(table),State)) &       \
  3.2226 +\  (! State. ~holds(on(c::'a,table),State)) --> False",
  3.2227 +  meson_tac);
  3.2228 +
  3.2229 +(*190 inferences so far.  Searching to depth 10.  0.5 secs*)
  3.2230 +val PLA017_1 = prove
  3.2231 + ("(! X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &  \
  3.2232 +\  (! State X. holds(empty::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &        \
  3.2233 +\  (! Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(empty::'a,State) --> holds(clear(Y),do(pickup(X),State))) &   \
  3.2234 +\  (! Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) & \
  3.2235 +\  (! State X Z. holds(clear(X),State) & differ(X::'a,Z) --> holds(clear(X),do(pickup(Z),State))) & \
  3.2236 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(empty::'a,do(putdown(X::'a,Y),State))) &     \
  3.2237 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(on(X::'a,Y),do(putdown(X::'a,Y),State))) &   \
  3.2238 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(clear(X),do(putdown(X::'a,Y),State))) &  \
  3.2239 +\  (! Z W X Y State. holds(on(X::'a,Y),State) --> holds(on(X::'a,Y),do(putdown(Z::'a,W),State))) &  \
  3.2240 +\  (! X State Z Y. holds(clear(Z),State) & differ(Z::'a,Y) --> holds(clear(Z),do(putdown(X::'a,Y),State))) &    \
  3.2241 +\  (! Y X. differ(Y::'a,X) --> differ(X::'a,Y)) &       \
  3.2242 +\  (differ(a::'a,b)) &      \
  3.2243 +\  (differ(a::'a,c)) &      \
  3.2244 +\  (differ(a::'a,d)) &      \
  3.2245 +\  (differ(a::'a,table)) &  \
  3.2246 +\  (differ(b::'a,c)) &      \
  3.2247 +\  (differ(b::'a,d)) &      \
  3.2248 +\  (differ(b::'a,table)) &  \
  3.2249 +\  (differ(c::'a,d)) &      \
  3.2250 +\  (differ(c::'a,table)) &  \
  3.2251 +\  (differ(d::'a,table)) &  \
  3.2252 +\  (holds(on(a::'a,table),s0)) &    \
  3.2253 +\  (holds(on(b::'a,table),s0)) &    \
  3.2254 +\  (holds(on(c::'a,d),s0)) &        \
  3.2255 +\  (holds(on(d::'a,table),s0)) &    \
  3.2256 +\  (holds(clear(a),s0)) &       \
  3.2257 +\  (holds(clear(b),s0)) &       \
  3.2258 +\  (holds(clear(c),s0)) &       \
  3.2259 +\  (holds(empty::'a,s0)) &  \
  3.2260 +\  (! State. holds(clear(table),State)) &       \
  3.2261 +\  (! State. ~holds(on(a::'a,c),State)) --> False",
  3.2262 +  meson_tac);
  3.2263 +
  3.2264 +(*13732 inferences so far.  Searching to depth 16.  9.8 secs*)
  3.2265 +val PLA022_1 = prove_hard
  3.2266 + ("(! X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &  \
  3.2267 +\  (! State X. holds(empty::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &        \
  3.2268 +\  (! Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(empty::'a,State) --> holds(clear(Y),do(pickup(X),State))) &   \
  3.2269 +\  (! Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) & \
  3.2270 +\  (! State X Z. holds(clear(X),State) & differ(X::'a,Z) --> holds(clear(X),do(pickup(Z),State))) & \
  3.2271 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(empty::'a,do(putdown(X::'a,Y),State))) &     \
  3.2272 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(on(X::'a,Y),do(putdown(X::'a,Y),State))) &   \
  3.2273 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(clear(X),do(putdown(X::'a,Y),State))) &  \
  3.2274 +\  (! Z W X Y State. holds(on(X::'a,Y),State) --> holds(on(X::'a,Y),do(putdown(Z::'a,W),State))) &  \
  3.2275 +\  (! X State Z Y. holds(clear(Z),State) & differ(Z::'a,Y) --> holds(clear(Z),do(putdown(X::'a,Y),State))) &    \
  3.2276 +\  (! Y X. differ(Y::'a,X) --> differ(X::'a,Y)) &       \
  3.2277 +\  (differ(a::'a,b)) &      \
  3.2278 +\  (differ(a::'a,c)) &      \
  3.2279 +\  (differ(a::'a,d)) &      \
  3.2280 +\  (differ(a::'a,table)) &  \
  3.2281 +\  (differ(b::'a,c)) &      \
  3.2282 +\  (differ(b::'a,d)) &      \
  3.2283 +\  (differ(b::'a,table)) &  \
  3.2284 +\  (differ(c::'a,d)) &      \
  3.2285 +\  (differ(c::'a,table)) &  \
  3.2286 +\  (differ(d::'a,table)) &  \
  3.2287 +\  (holds(on(a::'a,table),s0)) &    \
  3.2288 +\  (holds(on(b::'a,table),s0)) &    \
  3.2289 +\  (holds(on(c::'a,d),s0)) &        \
  3.2290 +\  (holds(on(d::'a,table),s0)) &    \
  3.2291 +\  (holds(clear(a),s0)) &       \
  3.2292 +\  (holds(clear(b),s0)) &       \
  3.2293 +\  (holds(clear(c),s0)) &       \
  3.2294 +\  (holds(empty::'a,s0)) &  \
  3.2295 +\  (! State. holds(clear(table),State)) &       \
  3.2296 +\  (! State. ~holds(and'(on(c::'a,d),on(a::'a,c)),State)) --> False",
  3.2297 +  meson_tac);
  3.2298 +
  3.2299 +(*217 inferences so far.  Searching to depth 13.  0.7 secs*)
  3.2300 +val PLA022_2 = prove
  3.2301 + ("(! X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &  \
  3.2302 +\  (! State X. holds(empty::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &        \
  3.2303 +\  (! Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(empty::'a,State) --> holds(clear(Y),do(pickup(X),State))) &   \
  3.2304 +\  (! Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) & \
  3.2305 +\  (! State X Z. holds(clear(X),State) & differ(X::'a,Z) --> holds(clear(X),do(pickup(Z),State))) & \
  3.2306 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(empty::'a,do(putdown(X::'a,Y),State))) &     \
  3.2307 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(on(X::'a,Y),do(putdown(X::'a,Y),State))) &   \
  3.2308 +\  (! X Y State. holds(holding(X),State) & holds(clear(Y),State) --> holds(clear(X),do(putdown(X::'a,Y),State))) &  \
  3.2309 +\  (! Z W X Y State. holds(on(X::'a,Y),State) --> holds(on(X::'a,Y),do(putdown(Z::'a,W),State))) &  \
  3.2310 +\  (! X State Z Y. holds(clear(Z),State) & differ(Z::'a,Y) --> holds(clear(Z),do(putdown(X::'a,Y),State))) &    \
  3.2311 +\  (! Y X. differ(Y::'a,X) --> differ(X::'a,Y)) &       \
  3.2312 +\  (differ(a::'a,b)) &      \
  3.2313 +\  (differ(a::'a,c)) &      \
  3.2314 +\  (differ(a::'a,d)) &      \
  3.2315 +\  (differ(a::'a,table)) &  \
  3.2316 +\  (differ(b::'a,c)) &      \
  3.2317 +\  (differ(b::'a,d)) &      \
  3.2318 +\  (differ(b::'a,table)) &  \
  3.2319 +\  (differ(c::'a,d)) &      \
  3.2320 +\  (differ(c::'a,table)) &  \
  3.2321 +\  (differ(d::'a,table)) &  \
  3.2322 +\  (holds(on(a::'a,table),s0)) &    \
  3.2323 +\  (holds(on(b::'a,table),s0)) &    \
  3.2324 +\  (holds(on(c::'a,d),s0)) &        \
  3.2325 +\  (holds(on(d::'a,table),s0)) &    \
  3.2326 +\  (holds(clear(a),s0)) &       \
  3.2327 +\  (holds(clear(b),s0)) &       \
  3.2328 +\  (holds(clear(c),s0)) &       \
  3.2329 +\  (holds(empty::'a,s0)) &  \
  3.2330 +\  (! State. holds(clear(table),State)) &       \
  3.2331 +\  (! State. ~holds(and'(on(a::'a,c),on(c::'a,d)),State)) --> False",
  3.2332 +  meson_tac);
  3.2333 +
  3.2334 +(*948 inferences so far.  Searching to depth 18.  1.1 secs*)
  3.2335 +val PRV001_1 = prove
  3.2336 + ("(! X Y Z. q1(X::'a,Y,Z) & less_or_equal(X::'a,Y) --> q2(X::'a,Y,Z)) &    \
  3.2337 +\  (! X Y Z. q1(X::'a,Y,Z) --> less_or_equal(X::'a,Y) | q3(X::'a,Y,Z)) &   \
  3.2338 +\  (! Z X Y. q2(X::'a,Y,Z) --> q4(X::'a,Y,Y)) & \
  3.2339 +\  (! Z Y X. q3(X::'a,Y,Z) --> q4(X::'a,Y,X)) & \
  3.2340 +\  (! X. less_or_equal(X::'a,X)) &  \
  3.2341 +\  (! X Y. less_or_equal(X::'a,Y) & less_or_equal(Y::'a,X) --> equal(X::'a,Y)) &    \
  3.2342 +\  (! Y X Z. less_or_equal(X::'a,Y) & less_or_equal(Y::'a,Z) --> less_or_equal(X::'a,Z)) &  \
  3.2343 +\  (! Y X. less_or_equal(X::'a,Y) | less_or_equal(Y::'a,X)) &  \
  3.2344 +\  (! X Y. equal(X::'a,Y) --> less_or_equal(X::'a,Y)) & \
  3.2345 +\  (! X Y Z. equal(X::'a,Y) & less_or_equal(X::'a,Z) --> less_or_equal(Y::'a,Z)) &  \
  3.2346 +\  (! X Z Y. equal(X::'a,Y) & less_or_equal(Z::'a,X) --> less_or_equal(Z::'a,Y)) &  \
  3.2347 +\  (q1(a::'a,b,c)) &        \
  3.2348 +\  (! W. ~(q4(a::'a,b,W) & less_or_equal(a::'a,W) & less_or_equal(b::'a,W) & less_or_equal(W::'a,a))) & \
  3.2349 +\  (! W. ~(q4(a::'a,b,W) & less_or_equal(a::'a,W) & less_or_equal(b::'a,W) & less_or_equal(W::'a,b))) --> False",
  3.2350 +  meson_tac);
  3.2351 +
  3.2352 +(*21 inferences so far.  Searching to depth 5.  0.4 secs*)
  3.2353 +val PRV003_1 = prove
  3.2354 + ("(! X. equal(X::'a,X)) &  \
  3.2355 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2356 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2357 +\  (! X. equal(predecessor(successor(X)),X)) &  \
  3.2358 +\  (! X. equal(successor(predecessor(X)),X)) &  \
  3.2359 +\  (! X Y. equal(predecessor(X),predecessor(Y)) --> equal(X::'a,Y)) &       \
  3.2360 +\  (! X Y. equal(successor(X),successor(Y)) --> equal(X::'a,Y)) &   \
  3.2361 +\  (! X. less_than(predecessor(X),X)) & \
  3.2362 +\  (! X. less_than(X::'a,successor(X))) &   \
  3.2363 +\  (! X Y Z. less_than(X::'a,Y) & less_than(Y::'a,Z) --> less_than(X::'a,Z)) &      \
  3.2364 +\  (! X Y. less_than(X::'a,Y) | less_than(Y::'a,X) | equal(X::'a,Y)) &    \
  3.2365 +\  (! X. ~less_than(X::'a,X)) &     \
  3.2366 +\  (! Y X. ~(less_than(X::'a,Y) & less_than(Y::'a,X))) &        \
  3.2367 +\  (! Y X Z. equal(X::'a,Y) & less_than(X::'a,Z) --> less_than(Y::'a,Z)) &  \
  3.2368 +\  (! Y Z X. equal(X::'a,Y) & less_than(Z::'a,X) --> less_than(Z::'a,Y)) &  \
  3.2369 +\  (! X Y. equal(X::'a,Y) --> equal(predecessor(X),predecessor(Y))) &       \
  3.2370 +\  (! X Y. equal(X::'a,Y) --> equal(successor(X),successor(Y))) &   \
  3.2371 +\  (! X Y. equal(X::'a,Y) --> equal(a(X),a(Y))) &   \
  3.2372 +\  (~less_than(n::'a,j)) &  \
  3.2373 +\  (less_than(k::'a,j)) &   \
  3.2374 +\  (~less_than(k::'a,i)) &  \
  3.2375 +\  (less_than(i::'a,n)) &   \
  3.2376 +\  (less_than(a(j),a(k))) &     \
  3.2377 +\  (! X. less_than(X::'a,j) & less_than(a(X),a(k)) --> less_than(X::'a,i)) &    \
  3.2378 +\  (! X. less_than(one::'a,i) & less_than(a(X),a(predecessor(i))) --> less_than(X::'a,i) | less_than(n::'a,X)) &   \
  3.2379 +\  (! X. ~(less_than(one::'a,X) & less_than(X::'a,i) & less_than(a(X),a(predecessor(X))))) &    \
  3.2380 +\  (less_than(j::'a,i)) --> False",
  3.2381 +  meson_tac);
  3.2382 +
  3.2383 +(*584 inferences so far.  Searching to depth 7.  1.1 secs*)
  3.2384 +val PRV005_1 = prove
  3.2385 + ("(! X. equal(X::'a,X)) &  \
  3.2386 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2387 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2388 +\  (! X. equal(predecessor(successor(X)),X)) &  \
  3.2389 +\  (! X. equal(successor(predecessor(X)),X)) &  \
  3.2390 +\  (! X Y. equal(predecessor(X),predecessor(Y)) --> equal(X::'a,Y)) &       \
  3.2391 +\  (! X Y. equal(successor(X),successor(Y)) --> equal(X::'a,Y)) &   \
  3.2392 +\  (! X. less_than(predecessor(X),X)) & \
  3.2393 +\  (! X. less_than(X::'a,successor(X))) &   \
  3.2394 +\  (! X Y Z. less_than(X::'a,Y) & less_than(Y::'a,Z) --> less_than(X::'a,Z)) &      \
  3.2395 +\  (! X Y. less_than(X::'a,Y) | less_than(Y::'a,X) | equal(X::'a,Y)) &    \
  3.2396 +\  (! X. ~less_than(X::'a,X)) &     \
  3.2397 +\  (! Y X. ~(less_than(X::'a,Y) & less_than(Y::'a,X))) &        \
  3.2398 +\  (! Y X Z. equal(X::'a,Y) & less_than(X::'a,Z) --> less_than(Y::'a,Z)) &  \
  3.2399 +\  (! Y Z X. equal(X::'a,Y) & less_than(Z::'a,X) --> less_than(Z::'a,Y)) &  \
  3.2400 +\  (! X Y. equal(X::'a,Y) --> equal(predecessor(X),predecessor(Y))) &       \
  3.2401 +\  (! X Y. equal(X::'a,Y) --> equal(successor(X),successor(Y))) &   \
  3.2402 +\  (! X Y. equal(X::'a,Y) --> equal(a(X),a(Y))) &   \
  3.2403 +\  (~less_than(n::'a,k)) &  \
  3.2404 +\  (~less_than(k::'a,l)) &  \
  3.2405 +\  (~less_than(k::'a,i)) &  \
  3.2406 +\  (less_than(l::'a,n)) &   \
  3.2407 +\  (less_than(one::'a,l)) & \
  3.2408 +\  (less_than(a(k),a(predecessor(l)))) &        \
  3.2409 +\  (! X. less_than(X::'a,successor(n)) & less_than(a(X),a(k)) --> less_than(X::'a,l)) & \
  3.2410 +\  (! X. less_than(one::'a,l) & less_than(a(X),a(predecessor(l))) --> less_than(X::'a,l) | less_than(n::'a,X)) &   \
  3.2411 +\  (! X. ~(less_than(one::'a,X) & less_than(X::'a,l) & less_than(a(X),a(predecessor(X))))) --> False",
  3.2412 +  meson_tac);
  3.2413 +
  3.2414 +(*2343 inferences so far.  Searching to depth 8.  3.5 secs*)
  3.2415 +val PRV006_1 = prove_hard
  3.2416 + ("(! X. equal(X::'a,X)) &  \
  3.2417 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2418 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2419 +\  (! X. equal(predecessor(successor(X)),X)) &  \
  3.2420 +\  (! X. equal(successor(predecessor(X)),X)) &  \
  3.2421 +\  (! X Y. equal(predecessor(X),predecessor(Y)) --> equal(X::'a,Y)) &       \
  3.2422 +\  (! X Y. equal(successor(X),successor(Y)) --> equal(X::'a,Y)) &   \
  3.2423 +\  (! X. less_than(predecessor(X),X)) & \
  3.2424 +\  (! X. less_than(X::'a,successor(X))) &   \
  3.2425 +\  (! X Y Z. less_than(X::'a,Y) & less_than(Y::'a,Z) --> less_than(X::'a,Z)) &      \
  3.2426 +\  (! X Y. less_than(X::'a,Y) | less_than(Y::'a,X) | equal(X::'a,Y)) &    \
  3.2427 +\  (! X. ~less_than(X::'a,X)) &     \
  3.2428 +\  (! Y X. ~(less_than(X::'a,Y) & less_than(Y::'a,X))) &        \
  3.2429 +\  (! Y X Z. equal(X::'a,Y) & less_than(X::'a,Z) --> less_than(Y::'a,Z)) &  \
  3.2430 +\  (! Y Z X. equal(X::'a,Y) & less_than(Z::'a,X) --> less_than(Z::'a,Y)) &  \
  3.2431 +\  (! X Y. equal(X::'a,Y) --> equal(predecessor(X),predecessor(Y))) &       \
  3.2432 +\  (! X Y. equal(X::'a,Y) --> equal(successor(X),successor(Y))) &   \
  3.2433 +\  (! X Y. equal(X::'a,Y) --> equal(a(X),a(Y))) &   \
  3.2434 +\  (~less_than(n::'a,m)) &  \
  3.2435 +\  (less_than(i::'a,m)) &   \
  3.2436 +\  (less_than(i::'a,n)) &   \
  3.2437 +\  (~less_than(i::'a,one)) &        \
  3.2438 +\  (less_than(a(i),a(m))) &     \
  3.2439 +\  (! X. less_than(X::'a,successor(n)) & less_than(a(X),a(m)) --> less_than(X::'a,i)) & \
  3.2440 +\  (! X. less_than(one::'a,i) & less_than(a(X),a(predecessor(i))) --> less_than(X::'a,i) | less_than(n::'a,X)) &   \
  3.2441 +\  (! X. ~(less_than(one::'a,X) & less_than(X::'a,i) & less_than(a(X),a(predecessor(X))))) --> False",
  3.2442 +  meson_tac);
  3.2443 +
  3.2444 +(*86 inferences so far.  Searching to depth 14.  0.1 secs*)
  3.2445 +val PRV009_1 = prove
  3.2446 + ("(! Y X. less_or_equal(X::'a,Y) | less(Y::'a,X)) &   \
  3.2447 +\  (less(j::'a,i)) &        \
  3.2448 +\  (less_or_equal(m::'a,p)) &       \
  3.2449 +\  (less_or_equal(p::'a,q)) &       \
  3.2450 +\  (less_or_equal(q::'a,n)) &       \
  3.2451 +\  (! X Y. less_or_equal(m::'a,X) & less(X::'a,i) & less(j::'a,Y) & less_or_equal(Y::'a,n) --> less_or_equal(a(X),a(Y))) &      \
  3.2452 +\  (! X Y. less_or_equal(m::'a,X) & less_or_equal(X::'a,Y) & less_or_equal(Y::'a,j) --> less_or_equal(a(X),a(Y))) & \
  3.2453 +\  (! X Y. less_or_equal(i::'a,X) & less_or_equal(X::'a,Y) & less_or_equal(Y::'a,n) --> less_or_equal(a(X),a(Y))) & \
  3.2454 +\  (~less_or_equal(a(p),a(q))) --> False",
  3.2455 +  meson_tac);
  3.2456 +
  3.2457 +(*222 inferences so far.  Searching to depth 8.  0.4 secs*)
  3.2458 +val PUZ012_1 = prove
  3.2459 + ("(! X. equal_fruits(X::'a,X)) &   \
  3.2460 +\  (! X. equal_boxes(X::'a,X)) &    \
  3.2461 +\  (! X Y. ~(label(X::'a,Y) & contains(X::'a,Y))) &     \
  3.2462 +\  (! X. contains(boxa::'a,X) | contains(boxb::'a,X) | contains(boxc::'a,X)) &    \
  3.2463 +\  (! X. contains(X::'a,apples) | contains(X::'a,bananas) | contains(X::'a,oranges)) &    \
  3.2464 +\  (! X Y Z. contains(X::'a,Y) & contains(X::'a,Z) --> equal_fruits(Y::'a,Z)) &     \
  3.2465 +\  (! Y X Z. contains(X::'a,Y) & contains(Z::'a,Y) --> equal_boxes(X::'a,Z)) &      \
  3.2466 +\  (~equal_boxes(boxa::'a,boxb)) &  \
  3.2467 +\  (~equal_boxes(boxb::'a,boxc)) &  \
  3.2468 +\  (~equal_boxes(boxa::'a,boxc)) &  \
  3.2469 +\  (~equal_fruits(apples::'a,bananas)) &    \
  3.2470 +\  (~equal_fruits(bananas::'a,oranges)) &   \
  3.2471 +\  (~equal_fruits(apples::'a,oranges)) &    \
  3.2472 +\  (label(boxa::'a,apples)) &       \
  3.2473 +\  (label(boxb::'a,oranges)) &      \
  3.2474 +\  (label(boxc::'a,bananas)) &      \
  3.2475 +\  (contains(boxb::'a,apples)) &    \
  3.2476 +\  (~(contains(boxa::'a,bananas) & contains(boxc::'a,oranges))) --> False",
  3.2477 +  meson_tac);
  3.2478 +
  3.2479 +(*35 inferences so far.  Searching to depth 5.  3.2 secs*)
  3.2480 +val PUZ020_1 = prove
  3.2481 + ("(! X. equal(X::'a,X)) &  \
  3.2482 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2483 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2484 +\  (! A B. equal(A::'a,B) --> equal(statement_by(A),statement_by(B))) &     \
  3.2485 +\  (! X. person(X) --> knight(X) | knave(X)) & \
  3.2486 +\  (! X. ~(person(X) & knight(X) & knave(X))) & \
  3.2487 +\  (! X Y. says(X::'a,Y) & a_truth(Y) --> a_truth(Y)) &     \
  3.2488 +\  (! X Y. ~(says(X::'a,Y) & equal(X::'a,Y))) & \
  3.2489 +\  (! Y X. says(X::'a,Y) --> equal(Y::'a,statement_by(X))) &    \
  3.2490 +\  (! X Y. ~(person(X) & equal(X::'a,statement_by(Y)))) &   \
  3.2491 +\  (! X. person(X) & a_truth(statement_by(X)) --> knight(X)) &  \
  3.2492 +\  (! X. person(X) --> a_truth(statement_by(X)) | knave(X)) &  \
  3.2493 +\  (! X Y. equal(X::'a,Y) & knight(X) --> knight(Y)) &      \
  3.2494 +\  (! X Y. equal(X::'a,Y) & knave(X) --> knave(Y)) &        \
  3.2495 +\  (! X Y. equal(X::'a,Y) & person(X) --> person(Y)) &      \
  3.2496 +\  (! X Y Z. equal(X::'a,Y) & says(X::'a,Z) --> says(Y::'a,Z)) &    \
  3.2497 +\  (! X Z Y. equal(X::'a,Y) & says(Z::'a,X) --> says(Z::'a,Y)) &    \
  3.2498 +\  (! X Y. equal(X::'a,Y) & a_truth(X) --> a_truth(Y)) &    \
  3.2499 +\  (! X Y. knight(X) & says(X::'a,Y) --> a_truth(Y)) &      \
  3.2500 +\  (! X Y. ~(knave(X) & says(X::'a,Y) & a_truth(Y))) &      \
  3.2501 +\  (person(husband)) &  \
  3.2502 +\  (person(wife)) &     \
  3.2503 +\  (~equal(husband::'a,wife)) &     \
  3.2504 +\  (says(husband::'a,statement_by(husband))) &      \
  3.2505 +\  (a_truth(statement_by(husband)) & knight(husband) --> knight(wife)) &        \
  3.2506 +\  (knight(husband) --> a_truth(statement_by(husband))) &       \
  3.2507 +\  (a_truth(statement_by(husband)) | knight(wife)) &   \
  3.2508 +\  (knight(wife) --> a_truth(statement_by(husband))) &  \
  3.2509 +\  (~knight(husband)) --> False",
  3.2510 +  meson_tac);
  3.2511 +
  3.2512 +(*121806 inferences so far.  Searching to depth 17.  63.0 secs*)
  3.2513 +val PUZ025_1 = prove_hard
  3.2514 + ("(! X. a_truth(truthteller(X)) | a_truth(liar(X))) & \
  3.2515 +\  (! X. ~(a_truth(truthteller(X)) & a_truth(liar(X)))) &       \
  3.2516 +\  (! Truthteller Statement. a_truth(truthteller(Truthteller)) & a_truth(says(Truthteller::'a,Statement)) --> a_truth(Statement)) & \
  3.2517 +\  (! Liar Statement. ~(a_truth(liar(Liar)) & a_truth(says(Liar::'a,Statement)) & a_truth(Statement))) &    \
  3.2518 +\  (! Statement Truthteller. a_truth(Statement) & a_truth(says(Truthteller::'a,Statement)) --> a_truth(truthteller(Truthteller))) & \
  3.2519 +\  (! Statement Liar. a_truth(says(Liar::'a,Statement)) --> a_truth(Statement) | a_truth(liar(Liar))) &    \
  3.2520 +\  (! Z X Y. people(X::'a,Y,Z) & a_truth(liar(X)) & a_truth(liar(Y)) --> a_truth(equal_type(X::'a,Y))) &        \
  3.2521 +\  (! Z X Y. people(X::'a,Y,Z) & a_truth(truthteller(X)) & a_truth(truthteller(Y)) --> a_truth(equal_type(X::'a,Y))) &  \
  3.2522 +\  (! X Y. a_truth(equal_type(X::'a,Y)) & a_truth(truthteller(X)) --> a_truth(truthteller(Y))) &    \
  3.2523 +\  (! X Y. a_truth(equal_type(X::'a,Y)) & a_truth(liar(X)) --> a_truth(liar(Y))) &  \
  3.2524 +\  (! X Y. a_truth(truthteller(X)) --> a_truth(equal_type(X::'a,Y)) | a_truth(liar(Y))) &  \
  3.2525 +\  (! X Y. a_truth(liar(X)) --> a_truth(equal_type(X::'a,Y)) | a_truth(truthteller(Y))) &  \
  3.2526 +\  (! Y X. a_truth(equal_type(X::'a,Y)) --> a_truth(equal_type(Y::'a,X))) &     \
  3.2527 +\  (! X Y. ask_1_if_2(X::'a,Y) & a_truth(truthteller(X)) & a_truth(Y) --> answer(yes)) &    \
  3.2528 +\  (! X Y. ask_1_if_2(X::'a,Y) & a_truth(truthteller(X)) --> a_truth(Y) | answer(no)) &    \
  3.2529 +\  (! X Y. ask_1_if_2(X::'a,Y) & a_truth(liar(X)) & a_truth(Y) --> answer(no)) &    \
  3.2530 +\  (! X Y. ask_1_if_2(X::'a,Y) & a_truth(liar(X)) --> a_truth(Y) | answer(yes)) &  \
  3.2531 +\  (people(b::'a,c,a)) &    \
  3.2532 +\  (people(a::'a,b,a)) &    \
  3.2533 +\  (people(a::'a,c,b)) &    \
  3.2534 +\  (people(c::'a,b,a)) &    \
  3.2535 +\  (a_truth(says(a::'a,equal_type(b::'a,c)))) & \
  3.2536 +\  (ask_1_if_2(c::'a,equal_type(a::'a,b))) &    \
  3.2537 +\  (! Answer. ~answer(Answer)) --> False",
  3.2538 +  meson_tac);
  3.2539 +
  3.2540 +
  3.2541 +(*621 inferences so far.  Searching to depth 18.  0.2 secs*)
  3.2542 +val PUZ029_1 = prove
  3.2543 + ("(! X. dances_on_tightropes(X) | eats_pennybuns(X) | old(X)) &      \
  3.2544 +\  (! X. pig(X) & liable_to_giddiness(X) --> treated_with_respect(X)) & \
  3.2545 +\  (! X. wise(X) & balloonist(X) --> has_umbrella(X)) & \
  3.2546 +\  (! X. ~(looks_ridiculous(X) & eats_pennybuns(X) & eats_lunch_in_public(X))) &        \
  3.2547 +\  (! X. balloonist(X) & young(X) --> liable_to_giddiness(X)) & \
  3.2548 +\  (! X. fat(X) & looks_ridiculous(X) --> dances_on_tightropes(X) | eats_lunch_in_public(X)) & \
  3.2549 +\  (! X. ~(liable_to_giddiness(X) & wise(X) & dances_on_tightropes(X))) &       \
  3.2550 +\  (! X. pig(X) & has_umbrella(X) --> looks_ridiculous(X)) &    \
  3.2551 +\  (! X. treated_with_respect(X) --> dances_on_tightropes(X) | fat(X)) &       \
  3.2552 +\  (! X. young(X) | old(X)) &  \
  3.2553 +\  (! X. ~(young(X) & old(X))) &        \
  3.2554 +\  (wise(piggy)) &      \
  3.2555 +\  (young(piggy)) &     \
  3.2556 +\  (pig(piggy)) &       \
  3.2557 +\  (balloonist(piggy)) --> False",
  3.2558 +  meson_tac);
  3.2559 +
  3.2560 +(*93620 inferences so far.  Searching to depth 24.  65.9 secs*)
  3.2561 +val RNG001_3 = prove_hard
  3.2562 + ("(! X. sum(additive_identity::'a,X,X)) &  \
  3.2563 +\  (! X. sum(additive_inverse(X),X,additive_identity)) &        \
  3.2564 +\  (! Y U Z X V W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(U::'a,Z,W) --> sum(X::'a,V,W)) &       \
  3.2565 +\  (! Y X V U Z W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(X::'a,V,W) --> sum(U::'a,Z,W)) &       \
  3.2566 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.2567 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2568 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
  3.2569 +\  (~product(a::'a,additive_identity,additive_identity)) --> False",
  3.2570 +  meson_tac);
  3.2571 +
  3.2572 +
  3.2573 +(****************SLOW
  3.2574 +3057170 inferences so far.  Searching to depth 16.  No proof after 45 minutes.
  3.2575 +val RNG001_5 = prove_hard
  3.2576 + ("(! X. equal(X::'a,X)) &  \
  3.2577 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2578 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2579 +\  (! X. sum(additive_identity::'a,X,X)) &  \
  3.2580 +\  (! X. sum(X::'a,additive_identity,X)) &  \
  3.2581 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.2582 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
  3.2583 +\  (! X. sum(additive_inverse(X),X,additive_identity)) &        \
  3.2584 +\  (! X. sum(X::'a,additive_inverse(X),additive_identity)) &        \
  3.2585 +\  (! Y U Z X V W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(U::'a,Z,W) --> sum(X::'a,V,W)) &       \
  3.2586 +\  (! Y X V U Z W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(X::'a,V,W) --> sum(U::'a,Z,W)) &       \
  3.2587 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
  3.2588 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.2589 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.2590 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2591 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
  3.2592 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2593 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
  3.2594 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2595 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2596 +\  (! X Y. equal(X::'a,Y) --> equal(additive_inverse(X),additive_inverse(Y))) &     \
  3.2597 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
  3.2598 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
  3.2599 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
  3.2600 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
  3.2601 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.2602 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.2603 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.2604 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.2605 +\  (~product(a::'a,additive_identity,additive_identity)) --> False",
  3.2606 +  meson_tac);
  3.2607 +****************)
  3.2608 +
  3.2609 +(*0 inferences so far.  Searching to depth 0.  0.5 secs*)
  3.2610 +val RNG011_5 = prove
  3.2611 + ("(! X. equal(X::'a,X)) &  \
  3.2612 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2613 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2614 +\  (! A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) & \
  3.2615 +\  (! D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &      \
  3.2616 +\  (! G H. equal(G::'a,H) --> equal(additive_inverse(G),additive_inverse(H))) &     \
  3.2617 +\  (! I' J K'. equal(I'::'a,J) --> equal(multiply(I'::'a,K'),multiply(J::'a,K'))) & \
  3.2618 +\  (! L N M. equal(L::'a,M) --> equal(multiply(N::'a,L),multiply(N::'a,M))) &       \
  3.2619 +\  (! A B C D. equal(A::'a,B) --> equal(associator(A::'a,C,D),associator(B::'a,C,D))) &     \
  3.2620 +\  (! E G F' H. equal(E::'a,F') --> equal(associator(G::'a,E,H),associator(G::'a,F',H))) &  \
  3.2621 +\  (! I' K' L J. equal(I'::'a,J) --> equal(associator(K'::'a,L,I'),associator(K'::'a,L,J))) &       \
  3.2622 +\  (! M N O_. equal(M::'a,N) --> equal(commutator(M::'a,O_),commutator(N::'a,O_))) &   \
  3.2623 +\  (! P R Q. equal(P::'a,Q) --> equal(commutator(R::'a,P),commutator(R::'a,Q))) &   \
  3.2624 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2625 +\  (! X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &  \
  3.2626 +\  (! X. equal(add(X::'a,additive_identity),X)) &   \
  3.2627 +\  (! X. equal(add(additive_identity::'a,X),X)) &   \
  3.2628 +\  (! X. equal(add(X::'a,additive_inverse(X)),additive_identity)) & \
  3.2629 +\  (! X. equal(add(additive_inverse(X),X),additive_identity)) & \
  3.2630 +\  (equal(additive_inverse(additive_identity),additive_identity)) &     \
  3.2631 +\  (! X Y. equal(add(X::'a,add(additive_inverse(X),Y)),Y)) &        \
  3.2632 +\  (! X Y. equal(additive_inverse(add(X::'a,Y)),add(additive_inverse(X),additive_inverse(Y)))) &    \
  3.2633 +\  (! X. equal(additive_inverse(additive_inverse(X)),X)) &      \
  3.2634 +\  (! X. equal(multiply(X::'a,additive_identity),additive_identity)) &      \
  3.2635 +\  (! X. equal(multiply(additive_identity::'a,X),additive_identity)) &      \
  3.2636 +\  (! X Y. equal(multiply(additive_inverse(X),additive_inverse(Y)),multiply(X::'a,Y))) &    \
  3.2637 +\  (! X Y. equal(multiply(X::'a,additive_inverse(Y)),additive_inverse(multiply(X::'a,Y)))) &    \
  3.2638 +\  (! X Y. equal(multiply(additive_inverse(X),Y),additive_inverse(multiply(X::'a,Y)))) &    \
  3.2639 +\  (! Y X Z. equal(multiply(X::'a,add(Y::'a,Z)),add(multiply(X::'a,Y),multiply(X::'a,Z)))) &    \
  3.2640 +\  (! X Y Z. equal(multiply(add(X::'a,Y),Z),add(multiply(X::'a,Z),multiply(Y::'a,Z)))) &    \
  3.2641 +\  (! X Y. equal(multiply(multiply(X::'a,Y),Y),multiply(X::'a,multiply(Y::'a,Y)))) &        \
  3.2642 +\  (! X Y Z. equal(associator(X::'a,Y,Z),add(multiply(multiply(X::'a,Y),Z),additive_inverse(multiply(X::'a,multiply(Y::'a,Z)))))) &     \
  3.2643 +\  (! X Y. equal(commutator(X::'a,Y),add(multiply(Y::'a,X),additive_inverse(multiply(X::'a,Y))))) & \
  3.2644 +\  (! X Y. equal(multiply(multiply(associator(X::'a,X,Y),X),associator(X::'a,X,Y)),additive_identity)) &        \
  3.2645 +\  (~equal(multiply(multiply(associator(a::'a,a,b),a),associator(a::'a,a,b)),additive_identity)) --> False",
  3.2646 +  meson_tac);
  3.2647 +
  3.2648 +(*202 inferences so far.  Searching to depth 8.  0.6 secs*)
  3.2649 +val RNG023_6 = prove
  3.2650 + ("(! X. equal(X::'a,X)) &  \
  3.2651 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2652 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2653 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2654 +\  (! X Y Z. equal(add(X::'a,add(Y::'a,Z)),add(add(X::'a,Y),Z))) &  \
  3.2655 +\  (! X. equal(add(additive_identity::'a,X),X)) &   \
  3.2656 +\  (! X. equal(add(X::'a,additive_identity),X)) &   \
  3.2657 +\  (! X. equal(multiply(additive_identity::'a,X),additive_identity)) &      \
  3.2658 +\  (! X. equal(multiply(X::'a,additive_identity),additive_identity)) &      \
  3.2659 +\  (! X. equal(add(additive_inverse(X),X),additive_identity)) & \
  3.2660 +\  (! X. equal(add(X::'a,additive_inverse(X)),additive_identity)) & \
  3.2661 +\  (! Y X Z. equal(multiply(X::'a,add(Y::'a,Z)),add(multiply(X::'a,Y),multiply(X::'a,Z)))) &    \
  3.2662 +\  (! X Y Z. equal(multiply(add(X::'a,Y),Z),add(multiply(X::'a,Z),multiply(Y::'a,Z)))) &    \
  3.2663 +\  (! X. equal(additive_inverse(additive_inverse(X)),X)) &      \
  3.2664 +\  (! X Y. equal(multiply(multiply(X::'a,Y),Y),multiply(X::'a,multiply(Y::'a,Y)))) &        \
  3.2665 +\  (! X Y. equal(multiply(multiply(X::'a,X),Y),multiply(X::'a,multiply(X::'a,Y)))) &        \
  3.2666 +\  (! X Y Z. equal(associator(X::'a,Y,Z),add(multiply(multiply(X::'a,Y),Z),additive_inverse(multiply(X::'a,multiply(Y::'a,Z)))))) &     \
  3.2667 +\  (! X Y. equal(commutator(X::'a,Y),add(multiply(Y::'a,X),additive_inverse(multiply(X::'a,Y))))) & \
  3.2668 +\  (! D E F'. equal(D::'a,E) --> equal(add(D::'a,F'),add(E::'a,F'))) &      \
  3.2669 +\  (! G I' H. equal(G::'a,H) --> equal(add(I'::'a,G),add(I'::'a,H))) &      \
  3.2670 +\  (! J K'. equal(J::'a,K') --> equal(additive_inverse(J),additive_inverse(K'))) &  \
  3.2671 +\  (! L M N O_. equal(L::'a,M) --> equal(associator(L::'a,N,O_),associator(M::'a,N,O_))) &     \
  3.2672 +\  (! P R Q S'. equal(P::'a,Q) --> equal(associator(R::'a,P,S'),associator(R::'a,Q,S'))) &  \
  3.2673 +\  (! T' V W U. equal(T'::'a,U) --> equal(associator(V::'a,W,T'),associator(V::'a,W,U))) &  \
  3.2674 +\  (! X Y Z. equal(X::'a,Y) --> equal(commutator(X::'a,Z),commutator(Y::'a,Z))) &   \
  3.2675 +\  (! A1 C1 B1. equal(A1::'a,B1) --> equal(commutator(C1::'a,A1),commutator(C1::'a,B1))) &  \
  3.2676 +\  (! D1 E1 F1. equal(D1::'a,E1) --> equal(multiply(D1::'a,F1),multiply(E1::'a,F1))) &      \
  3.2677 +\  (! G1 I1 H1. equal(G1::'a,H1) --> equal(multiply(I1::'a,G1),multiply(I1::'a,H1))) &      \
  3.2678 +\  (~equal(associator(x::'a,x,y),additive_identity)) --> False",
  3.2679 +  meson_tac);
  3.2680 +
  3.2681 +(*0 inferences so far.  Searching to depth 0.  0.6 secs*)
  3.2682 +val RNG028_2 = prove
  3.2683 + ("(! X. equal(X::'a,X)) &  \
  3.2684 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2685 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2686 +\  (! X. equal(add(additive_identity::'a,X),X)) &   \
  3.2687 +\  (! X. equal(multiply(additive_identity::'a,X),additive_identity)) &      \
  3.2688 +\  (! X. equal(multiply(X::'a,additive_identity),additive_identity)) &      \
  3.2689 +\  (! X. equal(add(additive_inverse(X),X),additive_identity)) & \
  3.2690 +\  (! X Y. equal(additive_inverse(add(X::'a,Y)),add(additive_inverse(X),additive_inverse(Y)))) &    \
  3.2691 +\  (! X. equal(additive_inverse(additive_inverse(X)),X)) &      \
  3.2692 +\  (! Y X Z. equal(multiply(X::'a,add(Y::'a,Z)),add(multiply(X::'a,Y),multiply(X::'a,Z)))) &    \
  3.2693 +\  (! X Y Z. equal(multiply(add(X::'a,Y),Z),add(multiply(X::'a,Z),multiply(Y::'a,Z)))) &    \
  3.2694 +\  (! X Y. equal(multiply(multiply(X::'a,Y),Y),multiply(X::'a,multiply(Y::'a,Y)))) &        \
  3.2695 +\  (! X Y. equal(multiply(multiply(X::'a,X),Y),multiply(X::'a,multiply(X::'a,Y)))) &        \
  3.2696 +\  (! X Y. equal(multiply(additive_inverse(X),Y),additive_inverse(multiply(X::'a,Y)))) &    \
  3.2697 +\  (! X Y. equal(multiply(X::'a,additive_inverse(Y)),additive_inverse(multiply(X::'a,Y)))) &    \
  3.2698 +\  (equal(additive_inverse(additive_identity),additive_identity)) &     \
  3.2699 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2700 +\  (! X Y Z. equal(add(X::'a,add(Y::'a,Z)),add(add(X::'a,Y),Z))) &  \
  3.2701 +\  (! Z X Y. equal(add(X::'a,Z),add(Y::'a,Z)) --> equal(X::'a,Y)) & \
  3.2702 +\  (! Z X Y. equal(add(Z::'a,X),add(Z::'a,Y)) --> equal(X::'a,Y)) & \
  3.2703 +\  (! D E F'. equal(D::'a,E) --> equal(add(D::'a,F'),add(E::'a,F'))) &      \
  3.2704 +\  (! G I' H. equal(G::'a,H) --> equal(add(I'::'a,G),add(I'::'a,H))) &      \
  3.2705 +\  (! J K'. equal(J::'a,K') --> equal(additive_inverse(J),additive_inverse(K'))) &  \
  3.2706 +\  (! D1 E1 F1. equal(D1::'a,E1) --> equal(multiply(D1::'a,F1),multiply(E1::'a,F1))) &      \
  3.2707 +\  (! G1 I1 H1. equal(G1::'a,H1) --> equal(multiply(I1::'a,G1),multiply(I1::'a,H1))) &      \
  3.2708 +\  (! X Y Z. equal(associator(X::'a,Y,Z),add(multiply(multiply(X::'a,Y),Z),additive_inverse(multiply(X::'a,multiply(Y::'a,Z)))))) &     \
  3.2709 +\  (! L M N O_. equal(L::'a,M) --> equal(associator(L::'a,N,O_),associator(M::'a,N,O_))) &     \
  3.2710 +\  (! P R Q S'. equal(P::'a,Q) --> equal(associator(R::'a,P,S'),associator(R::'a,Q,S'))) &  \
  3.2711 +\  (! T' V W U. equal(T'::'a,U) --> equal(associator(V::'a,W,T'),associator(V::'a,W,U))) &  \
  3.2712 +\  (! X Y. ~equal(multiply(multiply(Y::'a,X),Y),multiply(Y::'a,multiply(X::'a,Y)))) &       \
  3.2713 +\  (! X Y Z. ~equal(associator(Y::'a,X,Z),additive_inverse(associator(X::'a,Y,Z)))) &   \
  3.2714 +\  (! X Y Z. ~equal(associator(Z::'a,Y,X),additive_inverse(associator(X::'a,Y,Z)))) &   \
  3.2715 +\  (~equal(multiply(multiply(cx::'a,multiply(cy::'a,cx)),cz),multiply(cx::'a,multiply(cy::'a,multiply(cx::'a,cz))))) --> False",
  3.2716 +  meson_tac);
  3.2717 +
  3.2718 +(*209 inferences so far.  Searching to depth 9.  1.2 secs*)
  3.2719 +val RNG038_2 = prove
  3.2720 + ("(! X. sum(X::'a,additive_identity,X)) &  \
  3.2721 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.2722 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
  3.2723 +\  (! X. sum(X::'a,additive_inverse(X),additive_identity)) &        \
  3.2724 +\  (! Y U Z X V W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(U::'a,Z,W) --> sum(X::'a,V,W)) &       \
  3.2725 +\  (! Y X V U Z W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(X::'a,V,W) --> sum(U::'a,Z,W)) &       \
  3.2726 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
  3.2727 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.2728 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.2729 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2730 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
  3.2731 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2732 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
  3.2733 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2734 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2735 +\  (! X Y. equal(X::'a,Y) --> equal(additive_inverse(X),additive_inverse(Y))) &     \
  3.2736 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
  3.2737 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
  3.2738 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
  3.2739 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
  3.2740 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.2741 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.2742 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.2743 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.2744 +\  (! X. product(additive_identity::'a,X,additive_identity)) &      \
  3.2745 +\  (! X. product(X::'a,additive_identity,additive_identity)) &      \
  3.2746 +\  (! X Y. equal(X::'a,additive_identity) --> product(X::'a,h(X::'a,Y),Y)) &        \
  3.2747 +\  (product(a::'a,b,additive_identity)) &   \
  3.2748 +\  (~equal(a::'a,additive_identity)) &      \
  3.2749 +\  (~equal(b::'a,additive_identity)) --> False",
  3.2750 +  meson_tac);
  3.2751 +
  3.2752 +(*2660 inferences so far.  Searching to depth 10.  7.0 secs*)
  3.2753 +val RNG040_2 = prove_hard
  3.2754 + ("(! X. equal(X::'a,X)) &  \
  3.2755 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2756 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2757 +\  (! X Y. equal(X::'a,Y) --> equal(additive_inverse(X),additive_inverse(Y))) &     \
  3.2758 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
  3.2759 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
  3.2760 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
  3.2761 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
  3.2762 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
  3.2763 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.2764 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
  3.2765 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.2766 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.2767 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.2768 +\  (! X. sum(additive_identity::'a,X,X)) &  \
  3.2769 +\  (! X. sum(X::'a,additive_identity,X)) &  \
  3.2770 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.2771 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
  3.2772 +\  (! X. sum(additive_inverse(X),X,additive_identity)) &        \
  3.2773 +\  (! X. sum(X::'a,additive_inverse(X),additive_identity)) &        \
  3.2774 +\  (! Y U Z X V W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(U::'a,Z,W) --> sum(X::'a,V,W)) &       \
  3.2775 +\  (! Y X V U Z W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(X::'a,V,W) --> sum(U::'a,Z,W)) &       \
  3.2776 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
  3.2777 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.2778 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.2779 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2780 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
  3.2781 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2782 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2783 +\  (! A. product(A::'a,multiplicative_identity,A)) &        \
  3.2784 +\  (! A. product(multiplicative_identity::'a,A,A)) &        \
  3.2785 +\  (! A. product(A::'a,h(A),multiplicative_identity) | equal(A::'a,additive_identity)) &       \
  3.2786 +\  (! A. product(h(A),A,multiplicative_identity) | equal(A::'a,additive_identity)) &       \
  3.2787 +\  (! B A C. product(A::'a,B,C) --> product(B::'a,A,C)) &       \
  3.2788 +\  (! A B. equal(A::'a,B) --> equal(h(A),h(B))) &   \
  3.2789 +\  (sum(b::'a,c,d)) &       \
  3.2790 +\  (product(d::'a,a,additive_identity)) &   \
  3.2791 +\  (product(b::'a,a,l)) &   \
  3.2792 +\  (product(c::'a,a,n)) &   \
  3.2793 +\  (~sum(l::'a,n,additive_identity)) --> False",
  3.2794 +  meson_tac);
  3.2795 +
  3.2796 +(*8991 inferences so far.  Searching to depth 9.  22.2 secs*)
  3.2797 +val RNG041_1 = prove_hard
  3.2798 + ("(! X. equal(X::'a,X)) &  \
  3.2799 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2800 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2801 +\  (! X. sum(additive_identity::'a,X,X)) &  \
  3.2802 +\  (! X. sum(X::'a,additive_identity,X)) &  \
  3.2803 +\  (! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  3.2804 +\  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
  3.2805 +\  (! X. sum(additive_inverse(X),X,additive_identity)) &        \
  3.2806 +\  (! X. sum(X::'a,additive_inverse(X),additive_identity)) &        \
  3.2807 +\  (! Y U Z X V W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(U::'a,Z,W) --> sum(X::'a,V,W)) &       \
  3.2808 +\  (! Y X V U Z W. sum(X::'a,Y,U) & sum(Y::'a,Z,V) & sum(X::'a,V,W) --> sum(U::'a,Z,W)) &       \
  3.2809 +\  (! Y X Z. sum(X::'a,Y,Z) --> sum(Y::'a,X,Z)) &       \
  3.2810 +\  (! Y U Z X V W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(U::'a,Z,W) --> product(X::'a,V,W)) &       \
  3.2811 +\  (! Y X V U Z W. product(X::'a,Y,U) & product(Y::'a,Z,V) & product(X::'a,V,W) --> product(U::'a,Z,W)) &       \
  3.2812 +\  (! Y Z X V3 V1 V2 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & product(X::'a,V3,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2813 +\  (! Y Z V1 V2 X V3 V4. product(X::'a,Y,V1) & product(X::'a,Z,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(X::'a,V3,V4)) &        \
  3.2814 +\  (! Y Z V3 X V1 V2 V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & product(V3::'a,X,V4) --> sum(V1::'a,V2,V4)) &        \
  3.2815 +\  (! Y Z V1 V2 V3 X V4. product(Y::'a,X,V1) & product(Z::'a,X,V2) & sum(Y::'a,Z,V3) & sum(V1::'a,V2,V4) --> product(V3::'a,X,V4)) &        \
  3.2816 +\  (! X Y U V. sum(X::'a,Y,U) & sum(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2817 +\  (! X Y U V. product(X::'a,Y,U) & product(X::'a,Y,V) --> equal(U::'a,V)) &        \
  3.2818 +\  (! X Y. equal(X::'a,Y) --> equal(additive_inverse(X),additive_inverse(Y))) &     \
  3.2819 +\  (! X Y W. equal(X::'a,Y) --> equal(add(X::'a,W),add(Y::'a,W))) & \
  3.2820 +\  (! X W Y. equal(X::'a,Y) --> equal(add(W::'a,X),add(W::'a,Y))) & \
  3.2821 +\  (! X Y W Z. equal(X::'a,Y) & sum(X::'a,W,Z) --> sum(Y::'a,W,Z)) &        \
  3.2822 +\  (! X W Y Z. equal(X::'a,Y) & sum(W::'a,X,Z) --> sum(W::'a,Y,Z)) &        \
  3.2823 +\  (! X W Z Y. equal(X::'a,Y) & sum(W::'a,Z,X) --> sum(W::'a,Z,Y)) &        \
  3.2824 +\  (! X Y W. equal(X::'a,Y) --> equal(multiply(X::'a,W),multiply(Y::'a,W))) &       \
  3.2825 +\  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
  3.2826 +\  (! X Y W Z. equal(X::'a,Y) & product(X::'a,W,Z) --> product(Y::'a,W,Z)) &        \
  3.2827 +\  (! X W Y Z. equal(X::'a,Y) & product(W::'a,X,Z) --> product(W::'a,Y,Z)) &        \
  3.2828 +\  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  3.2829 +\  (! A B. equal(A::'a,B) --> equal(h(A),h(B))) &   \
  3.2830 +\  (! A. product(additive_identity::'a,A,additive_identity)) &      \
  3.2831 +\  (! A. product(A::'a,additive_identity,additive_identity)) &      \
  3.2832 +\  (! A. product(A::'a,multiplicative_identity,A)) &        \
  3.2833 +\  (! A. product(multiplicative_identity::'a,A,A)) &        \
  3.2834 +\  (! A. product(A::'a,h(A),multiplicative_identity) | equal(A::'a,additive_identity)) &       \
  3.2835 +\  (! A. product(h(A),A,multiplicative_identity) | equal(A::'a,additive_identity)) &       \
  3.2836 +\  (product(a::'a,b,additive_identity)) &   \
  3.2837 +\  (~equal(a::'a,additive_identity)) &      \
  3.2838 +\  (~equal(b::'a,additive_identity)) --> False",
  3.2839 +  meson_tac);
  3.2840 +
  3.2841 +(*101319 inferences so far.  Searching to depth 14.  76.0 secs*)
  3.2842 +val ROB010_1 = prove_hard
  3.2843 + ("(! X. equal(X::'a,X)) &  \
  3.2844 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2845 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2846 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2847 +\  (! X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &  \
  3.2848 +\  (! Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &   \
  3.2849 +\  (! A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) & \
  3.2850 +\  (! D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &      \
  3.2851 +\  (! G H. equal(G::'a,H) --> equal(negate(G),negate(H))) & \
  3.2852 +\  (equal(negate(add(a::'a,negate(b))),c)) &        \
  3.2853 +\  (~equal(negate(add(c::'a,negate(add(b::'a,a)))),a)) --> False",
  3.2854 +  meson_tac);
  3.2855 +
  3.2856 +
  3.2857 +(*6933 inferences so far.  Searching to depth 12.  5.1 secs*)
  3.2858 +val ROB013_1 = prove_hard
  3.2859 + ("(! X. equal(X::'a,X)) &  \
  3.2860 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2861 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2862 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2863 +\  (! X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &  \
  3.2864 +\  (! Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &   \
  3.2865 +\  (! A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) & \
  3.2866 +\  (! D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &      \
  3.2867 +\  (! G H. equal(G::'a,H) --> equal(negate(G),negate(H))) & \
  3.2868 +\  (equal(negate(add(a::'a,b)),c)) &        \
  3.2869 +\  (~equal(negate(add(c::'a,negate(add(negate(b),a)))),a)) --> False",
  3.2870 +  meson_tac);
  3.2871 +
  3.2872 +(*6614 inferences so far.  Searching to depth 11.  20.4 secs*)
  3.2873 +val ROB016_1 = prove_hard
  3.2874 + ("(! X. equal(X::'a,X)) &  \
  3.2875 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2876 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2877 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2878 +\  (! X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &  \
  3.2879 +\  (! Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &   \
  3.2880 +\  (! A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) & \
  3.2881 +\  (! D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &      \
  3.2882 +\  (! G H. equal(G::'a,H) --> equal(negate(G),negate(H))) & \
  3.2883 +\  (! J K' L. equal(J::'a,K') --> equal(multiply(J::'a,L),multiply(K'::'a,L))) &    \
  3.2884 +\  (! M O_ N. equal(M::'a,N) --> equal(multiply(O_::'a,M),multiply(O_::'a,N))) &       \
  3.2885 +\  (! P Q. equal(P::'a,Q) --> equal(successor(P),successor(Q))) &   \
  3.2886 +\  (! R S'. equal(R::'a,S') & positive_integer(R) --> positive_integer(S')) &       \
  3.2887 +\  (! X. equal(multiply(one::'a,X),X)) &    \
  3.2888 +\  (! V X. positive_integer(X) --> equal(multiply(successor(V),X),add(X::'a,multiply(V::'a,X)))) &      \
  3.2889 +\  (positive_integer(one)) &    \
  3.2890 +\  (! X. positive_integer(X) --> positive_integer(successor(X))) &      \
  3.2891 +\  (equal(negate(add(d::'a,e)),negate(e))) &        \
  3.2892 +\  (positive_integer(k)) &      \
  3.2893 +\  (! Vk X Y. equal(negate(add(negate(Y),negate(add(X::'a,negate(Y))))),X) & positive_integer(Vk) --> equal(negate(add(Y::'a,multiply(Vk::'a,add(X::'a,negate(add(X::'a,negate(Y))))))),negate(Y))) &       \
  3.2894 +\  (~equal(negate(add(e::'a,multiply(k::'a,add(d::'a,negate(add(d::'a,negate(e))))))),negate(e))) --> False",
  3.2895 +  meson_tac);
  3.2896 +
  3.2897 +(*14077 inferences so far.  Searching to depth 11.  32.8 secs*)
  3.2898 +val ROB021_1 = prove_hard
  3.2899 + ("(! X. equal(X::'a,X)) &  \
  3.2900 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2901 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2902 +\  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  3.2903 +\  (! X Y Z. equal(add(add(X::'a,Y),Z),add(X::'a,add(Y::'a,Z)))) &  \
  3.2904 +\  (! Y X. equal(negate(add(negate(add(X::'a,Y)),negate(add(X::'a,negate(Y))))),X)) &   \
  3.2905 +\  (! A B C. equal(A::'a,B) --> equal(add(A::'a,C),add(B::'a,C))) & \
  3.2906 +\  (! D F' E. equal(D::'a,E) --> equal(add(F'::'a,D),add(F'::'a,E))) &      \
  3.2907 +\  (! G H. equal(G::'a,H) --> equal(negate(G),negate(H))) & \
  3.2908 +\  (! X Y. equal(negate(X),negate(Y)) --> equal(X::'a,Y)) & \
  3.2909 +\  (~equal(add(negate(add(a::'a,negate(b))),negate(add(negate(a),negate(b)))),b)) --> False",
  3.2910 +  meson_tac);
  3.2911 +
  3.2912 +(*35532 inferences so far.  Searching to depth 19.  54.3 secs*)
  3.2913 +val SET005_1 = prove_hard
  3.2914 + ("(! Subset Element Superset. member(Element::'a,Subset) & subset(Subset::'a,Superset) --> member(Element::'a,Superset)) & \
  3.2915 +\  (! Superset Subset. subset(Subset::'a,Superset) | member(member_of_1_not_of_2(Subset::'a,Superset),Subset)) &       \
  3.2916 +\  (! Subset Superset. member(member_of_1_not_of_2(Subset::'a,Superset),Superset) --> subset(Subset::'a,Superset)) &    \
  3.2917 +\  (! Subset Superset. equal_sets(Subset::'a,Superset) --> subset(Subset::'a,Superset)) &       \
  3.2918 +\  (! Subset Superset. equal_sets(Superset::'a,Subset) --> subset(Subset::'a,Superset)) &       \
  3.2919 +\  (! Set2 Set1. subset(Set1::'a,Set2) & subset(Set2::'a,Set1) --> equal_sets(Set2::'a,Set1)) &     \
  3.2920 +\  (! Set2 Intersection Element Set1. intersection(Set1::'a,Set2,Intersection) & member(Element::'a,Intersection) --> member(Element::'a,Set1)) &   \
  3.2921 +\  (! Set1 Intersection Element Set2. intersection(Set1::'a,Set2,Intersection) & member(Element::'a,Intersection) --> member(Element::'a,Set2)) &   \
  3.2922 +\  (! Set2 Set1 Element Intersection. intersection(Set1::'a,Set2,Intersection) & member(Element::'a,Set2) & member(Element::'a,Set1) --> member(Element::'a,Intersection)) &    \
  3.2923 +\  (! Set2 Intersection Set1. member(h(Set1::'a,Set2,Intersection),Intersection) | intersection(Set1::'a,Set2,Intersection) | member(h(Set1::'a,Set2,Intersection),Set1)) &       \
  3.2924 +\  (! Set1 Intersection Set2. member(h(Set1::'a,Set2,Intersection),Intersection) | intersection(Set1::'a,Set2,Intersection) | member(h(Set1::'a,Set2,Intersection),Set2)) &       \
  3.2925 +\  (! Set1 Set2 Intersection. member(h(Set1::'a,Set2,Intersection),Intersection) & member(h(Set1::'a,Set2,Intersection),Set2) & member(h(Set1::'a,Set2,Intersection),Set1) --> intersection(Set1::'a,Set2,Intersection)) &      \
  3.2926 +\  (intersection(a::'a,b,aIb)) &    \
  3.2927 +\  (intersection(b::'a,c,bIc)) &    \
  3.2928 +\  (intersection(a::'a,bIc,aIbIc)) &        \
  3.2929 +\  (~intersection(aIb::'a,c,aIbIc)) --> False",
  3.2930 +  meson_tac);
  3.2931 +
  3.2932 +
  3.2933 +(*6450 inferences so far.  Searching to depth 14.  4.2 secs*)
  3.2934 +val SET009_1 = prove_hard
  3.2935 + ("(! Subset Element Superset. member(Element::'a,Subset) & subset(Subset::'a,Superset) --> member(Element::'a,Superset)) & \
  3.2936 +\  (! Superset Subset. subset(Subset::'a,Superset) | member(member_of_1_not_of_2(Subset::'a,Superset),Subset)) &       \
  3.2937 +\  (! Subset Superset. member(member_of_1_not_of_2(Subset::'a,Superset),Superset) --> subset(Subset::'a,Superset)) &    \
  3.2938 +\  (! Subset Superset. equal_sets(Subset::'a,Superset) --> subset(Subset::'a,Superset)) &       \
  3.2939 +\  (! Subset Superset. equal_sets(Superset::'a,Subset) --> subset(Subset::'a,Superset)) &       \
  3.2940 +\  (! Set2 Set1. subset(Set1::'a,Set2) & subset(Set2::'a,Set1) --> equal_sets(Set2::'a,Set1)) &     \
  3.2941 +\  (! Set2 Difference Element Set1. difference(Set1::'a,Set2,Difference) & member(Element::'a,Difference) --> member(Element::'a,Set1)) &   \
  3.2942 +\  (! Element A_set Set1 Set2. ~(member(Element::'a,Set1) & member(Element::'a,Set2) & difference(A_set::'a,Set1,Set2))) &  \
  3.2943 +\  (! Set1 Difference Element Set2. member(Element::'a,Set1) & difference(Set1::'a,Set2,Difference) --> member(Element::'a,Difference) | member(Element::'a,Set2)) &   \
  3.2944 +\  (! Set1 Set2 Difference. difference(Set1::'a,Set2,Difference) | member(k(Set1::'a,Set2,Difference),Set1) | member(k(Set1::'a,Set2,Difference),Difference)) &   \
  3.2945 +\  (! Set1 Set2 Difference. member(k(Set1::'a,Set2,Difference),Set2) --> member(k(Set1::'a,Set2,Difference),Difference) | difference(Set1::'a,Set2,Difference)) &  \
  3.2946 +\  (! Set1 Set2 Difference. member(k(Set1::'a,Set2,Difference),Difference) & member(k(Set1::'a,Set2,Difference),Set1) --> member(k(Set1::'a,Set2,Difference),Set2) | difference(Set1::'a,Set2,Difference)) &   \
  3.2947 +\  (subset(d::'a,a)) &      \
  3.2948 +\  (difference(b::'a,a,bDa)) &      \
  3.2949 +\  (difference(b::'a,d,bDd)) &      \
  3.2950 +\  (~subset(bDa::'a,bDd)) --> False",
  3.2951 +  meson_tac);
  3.2952 +
  3.2953 +(*34726 inferences so far.  Searching to depth 6.  2420 secs: 40 mins!  BIG*)
  3.2954 +val SET025_4 = prove_hard
  3.2955 + ("(! X. equal(X::'a,X)) &  \
  3.2956 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.2957 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.2958 +\  (! Y X. member(X::'a,Y) --> little_set(X)) &     \
  3.2959 +\  (! X Y. little_set(f1(X::'a,Y)) | equal(X::'a,Y)) & \
  3.2960 +\  (! X Y. member(f1(X::'a,Y),X) | member(f1(X::'a,Y),Y) | equal(X::'a,Y)) &      \
  3.2961 +\  (! X Y. member(f1(X::'a,Y),X) & member(f1(X::'a,Y),Y) --> equal(X::'a,Y)) &      \
  3.2962 +\  (! X U Y. member(U::'a,non_ordered_pair(X::'a,Y)) --> equal(U::'a,X) | equal(U::'a,Y)) &    \
  3.2963 +\  (! Y U X. little_set(U) & equal(U::'a,X) --> member(U::'a,non_ordered_pair(X::'a,Y))) &  \
  3.2964 +\  (! X U Y. little_set(U) & equal(U::'a,Y) --> member(U::'a,non_ordered_pair(X::'a,Y))) &  \
  3.2965 +\  (! X Y. little_set(non_ordered_pair(X::'a,Y))) & \
  3.2966 +\  (! X. equal(singleton_set(X),non_ordered_pair(X::'a,X))) &       \
  3.2967 +\  (! X Y. equal(ordered_pair(X::'a,Y),non_ordered_pair(singleton_set(X),non_ordered_pair(X::'a,Y)))) & \
  3.2968 +\  (! X. ordered_pair_predicate(X) --> little_set(f2(X))) &     \
  3.2969 +\  (! X. ordered_pair_predicate(X) --> little_set(f3(X))) &     \
  3.2970 +\  (! X. ordered_pair_predicate(X) --> equal(X::'a,ordered_pair(f2(X),f3(X)))) &    \
  3.2971 +\  (! X Y Z. little_set(Y) & little_set(Z) & equal(X::'a,ordered_pair(Y::'a,Z)) --> ordered_pair_predicate(X)) &        \
  3.2972 +\  (! Z X. member(Z::'a,first(X)) --> little_set(f4(Z::'a,X))) &        \
  3.2973 +\  (! Z X. member(Z::'a,first(X)) --> little_set(f5(Z::'a,X))) &        \
  3.2974 +\  (! Z X. member(Z::'a,first(X)) --> equal(X::'a,ordered_pair(f4(Z::'a,X),f5(Z::'a,X)))) &     \
  3.2975 +\  (! Z X. member(Z::'a,first(X)) --> member(Z::'a,f4(Z::'a,X))) &  \
  3.2976 +\  (! X V Z U. little_set(U) & little_set(V) & equal(X::'a,ordered_pair(U::'a,V)) & member(Z::'a,U) --> member(Z::'a,first(X))) &       \
  3.2977 +\  (! Z X. member(Z::'a,second(X)) --> little_set(f6(Z::'a,X))) &       \
  3.2978 +\  (! Z X. member(Z::'a,second(X)) --> little_set(f7(Z::'a,X))) &       \
  3.2979 +\  (! Z X. member(Z::'a,second(X)) --> equal(X::'a,ordered_pair(f6(Z::'a,X),f7(Z::'a,X)))) &    \
  3.2980 +\  (! Z X. member(Z::'a,second(X)) --> member(Z::'a,f7(Z::'a,X))) & \
  3.2981 +\  (! X U Z V. little_set(U) & little_set(V) & equal(X::'a,ordered_pair(U::'a,V)) & member(Z::'a,V) --> member(Z::'a,second(X))) &      \
  3.2982 +\  (! Z. member(Z::'a,estin) --> ordered_pair_predicate(Z)) &       \
  3.2983 +\  (! Z. member(Z::'a,estin) --> member(first(Z),second(Z))) &      \
  3.2984 +\  (! Z. little_set(Z) & ordered_pair_predicate(Z) & member(first(Z),second(Z)) --> member(Z::'a,estin)) &  \
  3.2985 +\  (! Y Z X. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,X)) &     \
  3.2986 +\  (! X Z Y. member(Z::'a,intersection(X::'a,Y)) --> member(Z::'a,Y)) &     \
  3.2987 +\  (! X Z Y. member(Z::'a,X) & member(Z::'a,Y) --> member(Z::'a,intersection(X::'a,Y))) &       \
  3.2988 +\  (! Z X. ~(member(Z::'a,complement(X)) & member(Z::'a,X))) &  \
  3.2989 +\  (! Z X. little_set(Z) --> member(Z::'a,complement(X)) | member(Z::'a,X)) &  \
  3.2990 +\  (! X Y. equal(union(X::'a,Y),complement(intersection(complement(X),complement(Y))))) &   \
  3.2991 +\  (! Z X. member(Z::'a,domain_of(X)) --> ordered_pair_predicate(f8(Z::'a,X))) &        \
  3.2992 +\  (! Z X. member(Z::'a,domain_of(X)) --> member(f8(Z::'a,X),X)) &      \
  3.2993 +\  (! Z X. member(Z::'a,domain_of(X)) --> equal(Z::'a,first(f8(Z::'a,X)))) &        \
  3.2994 +\  (! X Z Xp. little_set(Z) & ordered_pair_predicate(Xp) & member(Xp::'a,X) & equal(Z::'a,first(Xp)) --> member(Z::'a,domain_of(X))) &      \
  3.2995 +\  (! X Y Z. member(Z::'a,cross_product(X::'a,Y)) --> ordered_pair_predicate(Z)) &      \
  3.2996 +\  (! Y Z X. member(Z::'a,cross_product(X::'a,Y)) --> member(first(Z),X)) &     \
  3.2997 +\  (! X Z Y. member(Z::'a,cross_product(X::'a,Y)) --> member(second(Z),Y)) &    \
  3.2998 +\  (! X Z Y. little_set(Z) & ordered_pair_predicate(Z) & member(first(Z),X) & member(second(Z),Y) --> member(Z::'a,cross_product(X::'a,Y))) &   \
  3.2999 +\  (! X Z. member(Z::'a,inv1 X) --> ordered_pair_predicate(Z)) &       \
  3.3000 +\  (! Z X. member(Z::'a,inv1 X) --> member(ordered_pair(second(Z),first(Z)),X)) &      \
  3.3001 +\  (! Z X. little_set(Z) & ordered_pair_predicate(Z) & member(ordered_pair(second(Z),first(Z)),X) --> member(Z::'a,inv1 X)) &  \
  3.3002 +\  (! Z X. member(Z::'a,rotate_right(X)) --> little_set(f9(Z::'a,X))) & \
  3.3003 +\  (! Z X. member(Z::'a,rotate_right(X)) --> little_set(f10(Z::'a,X))) &        \
  3.3004 +\  (! Z X. member(Z::'a,rotate_right(X)) --> little_set(f11(Z::'a,X))) &        \
  3.3005 +\  (! Z X. member(Z::'a,rotate_right(X)) --> equal(Z::'a,ordered_pair(f9(Z::'a,X),ordered_pair(f10(Z::'a,X),f11(Z::'a,X))))) &      \
  3.3006 +\  (! Z X. member(Z::'a,rotate_right(X)) --> member(ordered_pair(f10(Z::'a,X),ordered_pair(f11(Z::'a,X),f9(Z::'a,X))),X)) &     \
  3.3007 +\  (! Z V W U X. little_set(Z) & little_set(U) & little_set(V) & little_set(W) & equal(Z::'a,ordered_pair(U::'a,ordered_pair(V::'a,W))) & member(ordered_pair(V::'a,ordered_pair(W::'a,U)),X) --> member(Z::'a,rotate_right(X))) &      \
  3.3008 +\  (! Z X. member(Z::'a,flip_range_of(X)) --> little_set(f12(Z::'a,X))) &       \
  3.3009 +\  (! Z X. member(Z::'a,flip_range_of(X)) --> little_set(f13(Z::'a,X))) &       \
  3.3010 +\  (! Z X. member(Z::'a,flip_range_of(X)) --> little_set(f14(Z::'a,X))) &       \
  3.3011 +\  (! Z X. member(Z::'a,flip_range_of(X)) --> equal(Z::'a,ordered_pair(f12(Z::'a,X),ordered_pair(f13(Z::'a,X),f14(Z::'a,X))))) &    \
  3.3012 +\  (! Z X. member(Z::'a,flip_range_of(X)) --> member(ordered_pair(f12(Z::'a,X),ordered_pair(f14(Z::'a,X),f13(Z::'a,X))),X)) &   \
  3.3013 +\  (! Z U W V X. little_set(Z) & little_set(U) & little_set(V) & little_set(W) & equal(Z::'a,ordered_pair(U::'a,ordered_pair(V::'a,W))) & member(ordered_pair(U::'a,ordered_pair(W::'a,V)),X) --> member(Z::'a,flip_range_of(X))) &     \
  3.3014 +\  (! X. equal(successor(X),union(X::'a,singleton_set(X)))) &       \
  3.3015 +\  (! Z. ~member(Z::'a,empty_set)) &        \
  3.3016 +\  (! Z. little_set(Z) --> member(Z::'a,universal_set)) &   \
  3.3017 +\  (little_set(infinity)) &     \
  3.3018 +\  (member(empty_set::'a,infinity)) &       \
  3.3019 +\  (! X. member(X::'a,infinity) --> member(successor(X),infinity)) &        \
  3.3020 +\  (! Z X. member(Z::'a,sigma(X)) --> member(f16(Z::'a,X),X)) & \
  3.3021 +\  (! Z X. member(Z::'a,sigma(X)) --> member(Z::'a,f16(Z::'a,X))) & \
  3.3022 +\  (! X Z Y. member(Y::'a,X) & member(Z::'a,Y) --> member(Z::'a,sigma(X))) &        \
  3.3023 +\  (! U. little_set(U) --> little_set(sigma(U))) &      \
  3.3024 +\  (! X U Y. subset(X::'a,Y) & member(U::'a,X) --> member(U::'a,Y)) &       \
  3.3025 +\  (! Y X. subset(X::'a,Y) | member(f17(X::'a,Y),X)) & \
  3.3026 +\  (! X Y. member(f17(X::'a,Y),Y) --> subset(X::'a,Y)) &        \
  3.3027 +\  (! X Y. proper_subset(X::'a,Y) --> subset(X::'a,Y)) &        \
  3.3028 +\  (! X Y. ~(proper_subset(X::'a,Y) & equal(X::'a,Y))) &        \
  3.3029 +\  (! X Y. subset(X::'a,Y) --> proper_subset(X::'a,Y) | equal(X::'a,Y)) &  \
  3.3030 +\  (! Z X. member(Z::'a,powerset(X)) --> subset(Z::'a,X)) &     \
  3.3031 +\  (! Z X. little_set(Z) & subset(Z::'a,X) --> member(Z::'a,powerset(X))) &     \
  3.3032 +\  (! U. little_set(U) --> little_set(powerset(U))) &   \
  3.3033 +\  (! Z X. relation(Z) & member(X::'a,Z) --> ordered_pair_predicate(X)) &   \
  3.3034 +\  (! Z. relation(Z) | member(f18(Z),Z)) &     \
  3.3035 +\  (! Z. ordered_pair_predicate(f18(Z)) --> relation(Z)) &      \
  3.3036 +\  (! U X V W. single_valued_set(X) & little_set(U) & little_set(V) & little_set(W) & member(ordered_pair(U::'a,V),X) & member(ordered_pair(U::'a,W),X) --> equal(V::'a,W)) &       \
  3.3037 +\  (! X. single_valued_set(X) | little_set(f19(X))) &  \
  3.3038 +\  (! X. single_valued_set(X) | little_set(f20(X))) &  \
  3.3039 +\  (! X. single_valued_set(X) | little_set(f21(X))) &  \
  3.3040 +\  (! X. single_valued_set(X) | member(ordered_pair(f19(X),f20(X)),X)) &       \
  3.3041 +\  (! X. single_valued_set(X) | member(ordered_pair(f19(X),f21(X)),X)) &       \
  3.3042 +\  (! X. equal(f20(X),f21(X)) --> single_valued_set(X)) &       \
  3.3043 +\  (! Xf. function(Xf) --> relation(Xf)) &      \
  3.3044 +\  (! Xf. function(Xf) --> single_valued_set(Xf)) &     \
  3.3045 +\  (! Xf. relation(Xf) & single_valued_set(Xf) --> function(Xf)) &      \
  3.3046 +\  (! Z X Xf. member(Z::'a,image_(X::'a,Xf)) --> ordered_pair_predicate(f22(Z::'a,X,Xf))) &  \
  3.3047 +\  (! Z X Xf. member(Z::'a,image_(X::'a,Xf)) --> member(f22(Z::'a,X,Xf),Xf)) &       \
  3.3048 +\  (! Z Xf X. member(Z::'a,image_(X::'a,Xf)) --> member(first(f22(Z::'a,X,Xf)),X)) & \
  3.3049 +\  (! X Xf Z. member(Z::'a,image_(X::'a,Xf)) --> equal(second(f22(Z::'a,X,Xf)),Z)) & \
  3.3050 +\  (! Xf X Y Z. little_set(Z) & ordered_pair_predicate(Y) & member(Y::'a,Xf) & member(first(Y),X) & equal(second(Y),Z) --> member(Z::'a,image_(X::'a,Xf))) & \
  3.3051 +\  (! X Xf. little_set(X) & function(Xf) --> little_set(image_(X::'a,Xf))) & \
  3.3052 +\  (! X U Y. ~(disjoint(X::'a,Y) & member(U::'a,X) & member(U::'a,Y))) &    \
  3.3053 +\  (! Y X. disjoint(X::'a,Y) | member(f23(X::'a,Y),X)) &       \
  3.3054 +\  (! X Y. disjoint(X::'a,Y) | member(f23(X::'a,Y),Y)) &       \
  3.3055 +\  (! X. equal(X::'a,empty_set) | member(f24(X),X)) &      \
  3.3056 +\  (! X. equal(X::'a,empty_set) | disjoint(f24(X),X)) &    \
  3.3057 +\  (function(f25)) &    \
  3.3058 +\  (! X. little_set(X) --> equal(X::'a,empty_set) | member(f26(X),X)) &    \
  3.3059 +\  (! X. little_set(X) --> equal(X::'a,empty_set) | member(ordered_pair(X::'a,f26(X)),f25)) &  \
  3.3060 +\  (! Z X. member(Z::'a,range_of(X)) --> ordered_pair_predicate(f27(Z::'a,X))) &        \
  3.3061 +\  (! Z X. member(Z::'a,range_of(X)) --> member(f27(Z::'a,X),X)) &      \
  3.3062 +\  (! Z X. member(Z::'a,range_of(X)) --> equal(Z::'a,second(f27(Z::'a,X)))) &       \
  3.3063 +\  (! X Z Xp. little_set(Z) & ordered_pair_predicate(Xp) & member(Xp::'a,X) & equal(Z::'a,second(Xp)) --> member(Z::'a,range_of(X))) &      \
  3.3064 +\  (! Z. member(Z::'a,identity_relation) --> ordered_pair_predicate(Z)) &   \
  3.3065 +\  (! Z. member(Z::'a,identity_relation) --> equal(first(Z),second(Z))) &   \
  3.3066 +\  (! Z. little_set(Z) & ordered_pair_predicate(Z) & equal(first(Z),second(Z)) --> member(Z::'a,identity_relation)) &       \
  3.3067 +\  (! X Y. equal(restrct(X::'a,Y),intersection(X::'a,cross_product(Y::'a,universal_set)))) &       \
  3.3068 +\  (! Xf. one_to_one_function(Xf) --> function(Xf)) &   \
  3.3069 +\  (! Xf. one_to_one_function(Xf) --> function(inv1 Xf)) & \
  3.3070 +\  (! Xf. function(Xf) & function(inv1 Xf) --> one_to_one_function(Xf)) &  \
  3.3071 +\  (! Z Xf Y. member(Z::'a,apply(Xf::'a,Y)) --> ordered_pair_predicate(f28(Z::'a,Xf,Y))) &  \
  3.3072 +\  (! Z Y Xf. member(Z::'a,apply(Xf::'a,Y)) --> member(f28(Z::'a,Xf,Y),Xf)) &       \
  3.3073 +\  (! Z Xf Y. member(Z::'a,apply(Xf::'a,Y)) --> equal(first(f28(Z::'a,Xf,Y)),Y)) &  \
  3.3074 +\  (! Z Xf Y. member(Z::'a,apply(Xf::'a,Y)) --> member(Z::'a,second(f28(Z::'a,Xf,Y)))) &        \
  3.3075 +\  (! Xf Y Z W. ordered_pair_predicate(W) & member(W::'a,Xf) & equal(first(W),Y) & member(Z::'a,second(W)) --> member(Z::'a,apply(Xf::'a,Y))) & \
  3.3076 +\  (! Xf X Y. equal(apply_to_two_arguments(Xf::'a,X,Y),apply(Xf::'a,ordered_pair(X::'a,Y)))) &      \
  3.3077 +\  (! X Y Xf. maps(Xf::'a,X,Y) --> function(Xf)) &  \
  3.3078 +\  (! Y Xf X. maps(Xf::'a,X,Y) --> equal(domain_of(Xf),X)) &        \
  3.3079 +\  (! X Xf Y. maps(Xf::'a,X,Y) --> subset(range_of(Xf),Y)) &        \
  3.3080 +\  (! X Xf Y. function(Xf) & equal(domain_of(Xf),X) & subset(range_of(Xf),Y) --> maps(Xf::'a,X,Y)) &        \
  3.3081 +\  (! Xf Xs. closed(Xs::'a,Xf) --> little_set(Xs)) &        \
  3.3082 +\  (! Xs Xf. closed(Xs::'a,Xf) --> little_set(Xf)) &        \
  3.3083 +\  (! Xf Xs. closed(Xs::'a,Xf) --> maps(Xf::'a,cross_product(Xs::'a,Xs),Xs)) &      \
  3.3084 +\  (! Xf Xs. little_set(Xs) & little_set(Xf) & maps(Xf::'a,cross_product(Xs::'a,Xs),Xs) --> closed(Xs::'a,Xf)) &    \
  3.3085 +\  (! Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> little_set(f29(Z::'a,Xf,Xg))) &     \
  3.3086 +\  (! Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> little_set(f30(Z::'a,Xf,Xg))) &     \
  3.3087 +\  (! Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> little_set(f31(Z::'a,Xf,Xg))) &     \
  3.3088 +\  (! Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> equal(Z::'a,ordered_pair(f29(Z::'a,Xf,Xg),f30(Z::'a,Xf,Xg)))) &     \
  3.3089 +\  (! Z Xg Xf. member(Z::'a,composition(Xf::'a,Xg)) --> member(ordered_pair(f29(Z::'a,Xf,Xg),f31(Z::'a,Xf,Xg)),Xf)) &   \
  3.3090 +\  (! Z Xf Xg. member(Z::'a,composition(Xf::'a,Xg)) --> member(ordered_pair(f31(Z::'a,Xf,Xg),f30(Z::'a,Xf,Xg)),Xg)) &   \
  3.3091 +\  (! Z X Xf W Y Xg. little_set(Z) & little_set(X) & little_set(Y) & little_set(W) & equal(Z::'a,ordered_pair(X::'a,Y)) & member(ordered_pair(X::'a,W),Xf) & member(ordered_pair(W::'a,Y),Xg) --> member(Z::'a,composition(Xf::'a,Xg))) &       \
  3.3092 +\  (! Xh Xs2 Xf2 Xs1 Xf1. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) --> closed(Xs1::'a,Xf1)) &       \
  3.3093 +\  (! Xh Xs1 Xf1 Xs2 Xf2. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) --> closed(Xs2::'a,Xf2)) &       \
  3.3094 +\  (! Xf1 Xf2 Xh Xs1 Xs2. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) --> maps(Xh::'a,Xs1,Xs2)) &      \
  3.3095 +\  (! Xs2 Xs1 Xf1 Xf2 X Xh Y. homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) & member(X::'a,Xs1) & member(Y::'a,Xs1) --> equal(apply(Xh::'a,apply_to_two_arguments(Xf1::'a,X,Y)),apply_to_two_arguments(Xf2::'a,apply(Xh::'a,X),apply(Xh::'a,Y)))) &      \
  3.3096 +\  (! Xh Xf1 Xs2 Xf2 Xs1. closed(Xs1::'a,Xf1) & closed(Xs2::'a,Xf2) & maps(Xh::'a,Xs1,Xs2) --> homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) | member(f32(Xh::'a,Xs1,Xf1,Xs2,Xf2),Xs1)) &   \
  3.3097 +\  (! Xh Xf1 Xs2 Xf2 Xs1. closed(Xs1::'a,Xf1) & closed(Xs2::'a,Xf2) & maps(Xh::'a,Xs1,Xs2) --> homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2) | member(f33(Xh::'a,Xs1,Xf1,Xs2,Xf2),Xs1)) &   \
  3.3098 +\  (! Xh Xs1 Xf1 Xs2 Xf2. closed(Xs1::'a,Xf1) & closed(Xs2::'a,Xf2) & maps(Xh::'a,Xs1,Xs2) & equal(apply(Xh::'a,apply_to_two_arguments(Xf1::'a,f32(Xh::'a,Xs1,Xf1,Xs2,Xf2),f33(Xh::'a,Xs1,Xf1,Xs2,Xf2))),apply_to_two_arguments(Xf2::'a,apply(Xh::'a,f32(Xh::'a,Xs1,Xf1,Xs2,Xf2)),apply(Xh::'a,f33(Xh::'a,Xs1,Xf1,Xs2,Xf2)))) --> homomorphism(Xh::'a,Xs1,Xf1,Xs2,Xf2)) &   \
  3.3099 +\  (! A B C. equal(A::'a,B) --> equal(f1(A::'a,C),f1(B::'a,C))) &   \
  3.3100 +\  (! D F' E. equal(D::'a,E) --> equal(f1(F'::'a,D),f1(F'::'a,E))) &        \
  3.3101 +\  (! A2 B2. equal(A2::'a,B2) --> equal(f2(A2),f2(B2))) &   \
  3.3102 +\  (! G4 H4. equal(G4::'a,H4) --> equal(f3(G4),f3(H4))) &   \
  3.3103 +\  (! O7 P7 Q7. equal(O7::'a,P7) --> equal(f4(O7::'a,Q7),f4(P7::'a,Q7))) &  \
  3.3104 +\  (! R7 T7 S7. equal(R7::'a,S7) --> equal(f4(T7::'a,R7),f4(T7::'a,S7))) &  \
  3.3105 +\  (! U7 V7 W7. equal(U7::'a,V7) --> equal(f5(U7::'a,W7),f5(V7::'a,W7))) &  \
  3.3106 +\  (! X7 Z7 Y7. equal(X7::'a,Y7) --> equal(f5(Z7::'a,X7),f5(Z7::'a,Y7))) &  \
  3.3107 +\  (! A8 B8 C8. equal(A8::'a,B8) --> equal(f6(A8::'a,C8),f6(B8::'a,C8))) &  \
  3.3108 +\  (! D8 F8 E8. equal(D8::'a,E8) --> equal(f6(F8::'a,D8),f6(F8::'a,E8))) &  \
  3.3109 +\  (! G8 H8 I8. equal(G8::'a,H8) --> equal(f7(G8::'a,I8),f7(H8::'a,I8))) &  \
  3.3110 +\  (! J8 L8 K8. equal(J8::'a,K8) --> equal(f7(L8::'a,J8),f7(L8::'a,K8))) &  \
  3.3111 +\  (! M8 N8 O8. equal(M8::'a,N8) --> equal(f8(M8::'a,O8),f8(N8::'a,O8))) &  \
  3.3112 +\  (! P8 R8 Q8. equal(P8::'a,Q8) --> equal(f8(R8::'a,P8),f8(R8::'a,Q8))) &  \
  3.3113 +\  (! S8 T8 U8. equal(S8::'a,T8) --> equal(f9(S8::'a,U8),f9(T8::'a,U8))) &  \
  3.3114 +\  (! V8 X8 W8. equal(V8::'a,W8) --> equal(f9(X8::'a,V8),f9(X8::'a,W8))) &  \
  3.3115 +\  (! G H I'. equal(G::'a,H) --> equal(f10(G::'a,I'),f10(H::'a,I'))) &      \
  3.3116 +\  (! J L K'. equal(J::'a,K') --> equal(f10(L::'a,J),f10(L::'a,K'))) &      \
  3.3117 +\  (! M N O_. equal(M::'a,N) --> equal(f11(M::'a,O_),f11(N::'a,O_))) & \
  3.3118 +\  (! P R Q. equal(P::'a,Q) --> equal(f11(R::'a,P),f11(R::'a,Q))) & \
  3.3119 +\  (! S' T' U. equal(S'::'a,T') --> equal(f12(S'::'a,U),f12(T'::'a,U))) &   \
  3.3120 +\  (! V X W. equal(V::'a,W) --> equal(f12(X::'a,V),f12(X::'a,W))) & \
  3.3121 +\  (! Y Z A1. equal(Y::'a,Z) --> equal(f13(Y::'a,A1),f13(Z::'a,A1))) &      \
  3.3122 +\  (! B1 D1 C1. equal(B1::'a,C1) --> equal(f13(D1::'a,B1),f13(D1::'a,C1))) &        \
  3.3123 +\  (! E1 F1 G1. equal(E1::'a,F1) --> equal(f14(E1::'a,G1),f14(F1::'a,G1))) &        \
  3.3124 +\  (! H1 J1 I1. equal(H1::'a,I1) --> equal(f14(J1::'a,H1),f14(J1::'a,I1))) &        \
  3.3125 +\  (! K1 L1 M1. equal(K1::'a,L1) --> equal(f16(K1::'a,M1),f16(L1::'a,M1))) &        \
  3.3126 +\  (! N1 P1 O1. equal(N1::'a,O1) --> equal(f16(P1::'a,N1),f16(P1::'a,O1))) &        \
  3.3127 +\  (! Q1 R1 S1. equal(Q1::'a,R1) --> equal(f17(Q1::'a,S1),f17(R1::'a,S1))) &        \
  3.3128 +\  (! T1 V1 U1. equal(T1::'a,U1) --> equal(f17(V1::'a,T1),f17(V1::'a,U1))) &        \
  3.3129 +\  (! W1 X1. equal(W1::'a,X1) --> equal(f18(W1),f18(X1))) & \
  3.3130 +\  (! Y1 Z1. equal(Y1::'a,Z1) --> equal(f19(Y1),f19(Z1))) & \
  3.3131 +\  (! C2 D2. equal(C2::'a,D2) --> equal(f20(C2),f20(D2))) & \
  3.3132 +\  (! E2 F2. equal(E2::'a,F2) --> equal(f21(E2),f21(F2))) & \
  3.3133 +\  (! G2 H2 I2 J2. equal(G2::'a,H2) --> equal(f22(G2::'a,I2,J2),f22(H2::'a,I2,J2))) &       \
  3.3134 +\  (! K2 M2 L2 N2. equal(K2::'a,L2) --> equal(f22(M2::'a,K2,N2),f22(M2::'a,L2,N2))) &       \
  3.3135 +\  (! O2 Q2 R2 P2. equal(O2::'a,P2) --> equal(f22(Q2::'a,R2,O2),f22(Q2::'a,R2,P2))) &       \
  3.3136 +\  (! S2 T2 U2. equal(S2::'a,T2) --> equal(f23(S2::'a,U2),f23(T2::'a,U2))) &        \
  3.3137 +\  (! V2 X2 W2. equal(V2::'a,W2) --> equal(f23(X2::'a,V2),f23(X2::'a,W2))) &        \
  3.3138 +\  (! Y2 Z2. equal(Y2::'a,Z2) --> equal(f24(Y2),f24(Z2))) & \
  3.3139 +\  (! A3 B3. equal(A3::'a,B3) --> equal(f26(A3),f26(B3))) & \
  3.3140 +\  (! C3 D3 E3. equal(C3::'a,D3) --> equal(f27(C3::'a,E3),f27(D3::'a,E3))) &        \
  3.3141 +\  (! F3 H3 G3. equal(F3::'a,G3) --> equal(f27(H3::'a,F3),f27(H3::'a,G3))) &        \
  3.3142 +\  (! I3 J3 K3 L3. equal(I3::'a,J3) --> equal(f28(I3::'a,K3,L3),f28(J3::'a,K3,L3))) &       \
  3.3143 +\  (! M3 O3 N3 P3. equal(M3::'a,N3) --> equal(f28(O3::'a,M3,P3),f28(O3::'a,N3,P3))) &       \
  3.3144 +\  (! Q3 S3 T3 R3. equal(Q3::'a,R3) --> equal(f28(S3::'a,T3,Q3),f28(S3::'a,T3,R3))) &       \
  3.3145 +\  (! U3 V3 W3 X3. equal(U3::'a,V3) --> equal(f29(U3::'a,W3,X3),f29(V3::'a,W3,X3))) &       \
  3.3146 +\  (! Y3 A4 Z3 B4. equal(Y3::'a,Z3) --> equal(f29(A4::'a,Y3,B4),f29(A4::'a,Z3,B4))) &       \
  3.3147 +\  (! C4 E4 F4 D4. equal(C4::'a,D4) --> equal(f29(E4::'a,F4,C4),f29(E4::'a,F4,D4))) &       \
  3.3148 +\  (! I4 J4 K4 L4. equal(I4::'a,J4) --> equal(f30(I4::'a,K4,L4),f30(J4::'a,K4,L4))) &       \
  3.3149 +\  (! M4 O4 N4 P4. equal(M4::'a,N4) --> equal(f30(O4::'a,M4,P4),f30(O4::'a,N4,P4))) &       \
  3.3150 +\  (! Q4 S4 T4 R4. equal(Q4::'a,R4) --> equal(f30(S4::'a,T4,Q4),f30(S4::'a,T4,R4))) &       \
  3.3151 +\  (! U4 V4 W4 X4. equal(U4::'a,V4) --> equal(f31(U4::'a,W4,X4),f31(V4::'a,W4,X4))) &       \
  3.3152 +\  (! Y4 A5 Z4 B5. equal(Y4::'a,Z4) --> equal(f31(A5::'a,Y4,B5),f31(A5::'a,Z4,B5))) &       \
  3.3153 +\  (! C5 E5 F5 D5. equal(C5::'a,D5) --> equal(f31(E5::'a,F5,C5),f31(E5::'a,F5,D5))) &       \
  3.3154 +\  (! G5 H5 I5 J5 K5 L5. equal(G5::'a,H5) --> equal(f32(G5::'a,I5,J5,K5,L5),f32(H5::'a,I5,J5,K5,L5))) &     \
  3.3155 +\  (! M5 O5 N5 P5 Q5 R5. equal(M5::'a,N5) --> equal(f32(O5::'a,M5,P5,Q5,R5),f32(O5::'a,N5,P5,Q5,R5))) &     \
  3.3156 +\  (! S5 U5 V5 T5 W5 X5. equal(S5::'a,T5) --> equal(f32(U5::'a,V5,S5,W5,X5),f32(U5::'a,V5,T5,W5,X5))) &     \
  3.3157 +\  (! Y5 A6 B6 C6 Z5 D6. equal(Y5::'a,Z5) --> equal(f32(A6::'a,B6,C6,Y5,D6),f32(A6::'a,B6,C6,Z5,D6))) &     \
  3.3158 +\  (! E6 G6 H6 I6 J6 F6. equal(E6::'a,F6) --> equal(f32(G6::'a,H6,I6,J6,E6),f32(G6::'a,H6,I6,J6,F6))) &     \
  3.3159 +\  (! K6 L6 M6 N6 O6 P6. equal(K6::'a,L6) --> equal(f33(K6::'a,M6,N6,O6,P6),f33(L6::'a,M6,N6,O6,P6))) &     \
  3.3160 +\  (! Q6 S6 R6 T6 U6 V6. equal(Q6::'a,R6) --> equal(f33(S6::'a,Q6,T6,U6,V6),f33(S6::'a,R6,T6,U6,V6))) &     \
  3.3161 +\  (! W6 Y6 Z6 X6 A7 B7. equal(W6::'a,X6) --> equal(f33(Y6::'a,Z6,W6,A7,B7),f33(Y6::'a,Z6,X6,A7,B7))) &     \
  3.3162 +\  (! C7 E7 F7 G7 D7 H7. equal(C7::'a,D7) --> equal(f33(E7::'a,F7,G7,C7,H7),f33(E7::'a,F7,G7,D7,H7))) &     \
  3.3163 +\  (! I7 K7 L7 M7 N7 J7. equal(I7::'a,J7) --> equal(f33(K7::'a,L7,M7,N7,I7),f33(K7::'a,L7,M7,N7,J7))) &     \
  3.3164 +\  (! A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &     \
  3.3165 +\  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
  3.3166 +\  (! G H I' J. equal(G::'a,H) --> equal(apply_to_two_arguments(G::'a,I',J),apply_to_two_arguments(H::'a,I',J))) &  \
  3.3167 +\  (! K' M L N. equal(K'::'a,L) --> equal(apply_to_two_arguments(M::'a,K',N),apply_to_two_arguments(M::'a,L,N))) &  \
  3.3168 +\  (! O_ Q R P. equal(O_::'a,P) --> equal(apply_to_two_arguments(Q::'a,R,O_),apply_to_two_arguments(Q::'a,R,P))) &     \
  3.3169 +\  (! S' T'. equal(S'::'a,T') --> equal(complement(S'),complement(T'))) &   \
  3.3170 +\  (! U V W. equal(U::'a,V) --> equal(composition(U::'a,W),composition(V::'a,W))) & \
  3.3171 +\  (! X Z Y. equal(X::'a,Y) --> equal(composition(Z::'a,X),composition(Z::'a,Y))) & \
  3.3172 +\  (! A1 B1. equal(A1::'a,B1) --> equal(inv1 A1,inv1 B1)) &       \
  3.3173 +\  (! C1 D1 E1. equal(C1::'a,D1) --> equal(cross_product(C1::'a,E1),cross_product(D1::'a,E1))) &    \
  3.3174 +\  (! F1 H1 G1. equal(F1::'a,G1) --> equal(cross_product(H1::'a,F1),cross_product(H1::'a,G1))) &    \
  3.3175 +\  (! I1 J1. equal(I1::'a,J1) --> equal(domain_of(I1),domain_of(J1))) &     \
  3.3176 +\  (! I10 J10. equal(I10::'a,J10) --> equal(first(I10),first(J10))) &       \
  3.3177 +\  (! Q10 R10. equal(Q10::'a,R10) --> equal(flip_range_of(Q10),flip_range_of(R10))) &       \
  3.3178 +\  (! S10 T10 U10. equal(S10::'a,T10) --> equal(image_(S10::'a,U10),image_(T10::'a,U10))) &   \
  3.3179 +\  (! V10 X10 W10. equal(V10::'a,W10) --> equal(image_(X10::'a,V10),image_(X10::'a,W10))) &   \
  3.3180 +\  (! Y10 Z10 A11. equal(Y10::'a,Z10) --> equal(intersection(Y10::'a,A11),intersection(Z10::'a,A11))) &     \
  3.3181 +\  (! B11 D11 C11. equal(B11::'a,C11) --> equal(intersection(D11::'a,B11),intersection(D11::'a,C11))) &     \
  3.3182 +\  (! E11 F11 G11. equal(E11::'a,F11) --> equal(non_ordered_pair(E11::'a,G11),non_ordered_pair(F11::'a,G11))) &     \
  3.3183 +\  (! H11 J11 I11. equal(H11::'a,I11) --> equal(non_ordered_pair(J11::'a,H11),non_ordered_pair(J11::'a,I11))) &     \
  3.3184 +\  (! K11 L11 M11. equal(K11::'a,L11) --> equal(ordered_pair(K11::'a,M11),ordered_pair(L11::'a,M11))) &     \
  3.3185 +\  (! N11 P11 O11. equal(N11::'a,O11) --> equal(ordered_pair(P11::'a,N11),ordered_pair(P11::'a,O11))) &     \
  3.3186 +\  (! Q11 R11. equal(Q11::'a,R11) --> equal(powerset(Q11),powerset(R11))) & \
  3.3187 +\  (! S11 T11. equal(S11::'a,T11) --> equal(range_of(S11),range_of(T11))) & \
  3.3188 +\  (! U11 V11 W11. equal(U11::'a,V11) --> equal(restrct(U11::'a,W11),restrct(V11::'a,W11))) &     \
  3.3189 +\  (! X11 Z11 Y11. equal(X11::'a,Y11) --> equal(restrct(Z11::'a,X11),restrct(Z11::'a,Y11))) &     \
  3.3190 +\  (! A12 B12. equal(A12::'a,B12) --> equal(rotate_right(A12),rotate_right(B12))) & \
  3.3191 +\  (! C12 D12. equal(C12::'a,D12) --> equal(second(C12),second(D12))) &     \
  3.3192 +\  (! K12 L12. equal(K12::'a,L12) --> equal(sigma(K12),sigma(L12))) &       \
  3.3193 +\  (! M12 N12. equal(M12::'a,N12) --> equal(singleton_set(M12),singleton_set(N12))) &       \
  3.3194 +\  (! O12 P12. equal(O12::'a,P12) --> equal(successor(O12),successor(P12))) &       \
  3.3195 +\  (! Q12 R12 S12. equal(Q12::'a,R12) --> equal(union(Q12::'a,S12),union(R12::'a,S12))) &   \
  3.3196 +\  (! T12 V12 U12. equal(T12::'a,U12) --> equal(union(V12::'a,T12),union(V12::'a,U12))) &   \
  3.3197 +\  (! W12 X12 Y12. equal(W12::'a,X12) & closed(W12::'a,Y12) --> closed(X12::'a,Y12)) &      \
  3.3198 +\  (! Z12 B13 A13. equal(Z12::'a,A13) & closed(B13::'a,Z12) --> closed(B13::'a,A13)) &      \
  3.3199 +\  (! C13 D13 E13. equal(C13::'a,D13) & disjoint(C13::'a,E13) --> disjoint(D13::'a,E13)) &  \
  3.3200 +\  (! F13 H13 G13. equal(F13::'a,G13) & disjoint(H13::'a,F13) --> disjoint(H13::'a,G13)) &  \
  3.3201 +\  (! I13 J13. equal(I13::'a,J13) & function(I13) --> function(J13)) &      \
  3.3202 +\  (! K13 L13 M13 N13 O13 P13. equal(K13::'a,L13) & homomorphism(K13::'a,M13,N13,O13,P13) --> homomorphism(L13::'a,M13,N13,O13,P13)) &      \
  3.3203 +\  (! Q13 S13 R13 T13 U13 V13. equal(Q13::'a,R13) & homomorphism(S13::'a,Q13,T13,U13,V13) --> homomorphism(S13::'a,R13,T13,U13,V13)) &      \
  3.3204 +\  (! W13 Y13 Z13 X13 A14 B14. equal(W13::'a,X13) & homomorphism(Y13::'a,Z13,W13,A14,B14) --> homomorphism(Y13::'a,Z13,X13,A14,B14)) &      \
  3.3205 +\  (! C14 E14 F14 G14 D14 H14. equal(C14::'a,D14) & homomorphism(E14::'a,F14,G14,C14,H14) --> homomorphism(E14::'a,F14,G14,D14,H14)) &      \
  3.3206 +\  (! I14 K14 L14 M14 N14 J14. equal(I14::'a,J14) & homomorphism(K14::'a,L14,M14,N14,I14) --> homomorphism(K14::'a,L14,M14,N14,J14)) &      \
  3.3207 +\  (! O14 P14. equal(O14::'a,P14) & little_set(O14) --> little_set(P14)) &  \
  3.3208 +\  (! Q14 R14 S14 T14. equal(Q14::'a,R14) & maps(Q14::'a,S14,T14) --> maps(R14::'a,S14,T14)) &      \
  3.3209 +\  (! U14 W14 V14 X14. equal(U14::'a,V14) & maps(W14::'a,U14,X14) --> maps(W14::'a,V14,X14)) &      \
  3.3210 +\  (! Y14 A15 B15 Z14. equal(Y14::'a,Z14) & maps(A15::'a,B15,Y14) --> maps(A15::'a,B15,Z14)) &      \
  3.3211 +\  (! C15 D15 E15. equal(C15::'a,D15) & member(C15::'a,E15) --> member(D15::'a,E15)) &      \
  3.3212 +\  (! F15 H15 G15. equal(F15::'a,G15) & member(H15::'a,F15) --> member(H15::'a,G15)) &      \
  3.3213 +\  (! I15 J15. equal(I15::'a,J15) & one_to_one_function(I15) --> one_to_one_function(J15)) &        \
  3.3214 +\  (! K15 L15. equal(K15::'a,L15) & ordered_pair_predicate(K15) --> ordered_pair_predicate(L15)) &  \
  3.3215 +\  (! M15 N15 O15. equal(M15::'a,N15) & proper_subset(M15::'a,O15) --> proper_subset(N15::'a,O15)) &        \
  3.3216 +\  (! P15 R15 Q15. equal(P15::'a,Q15) & proper_subset(R15::'a,P15) --> proper_subset(R15::'a,Q15)) &        \
  3.3217 +\  (! S15 T15. equal(S15::'a,T15) & relation(S15) --> relation(T15)) &      \
  3.3218 +\  (! U15 V15. equal(U15::'a,V15) & single_valued_set(U15) --> single_valued_set(V15)) &    \
  3.3219 +\  (! W15 X15 Y15. equal(W15::'a,X15) & subset(W15::'a,Y15) --> subset(X15::'a,Y15)) &      \
  3.3220 +\  (! Z15 B16 A16. equal(Z15::'a,A16) & subset(B16::'a,Z15) --> subset(B16::'a,A16)) &      \
  3.3221 +\  (~little_set(ordered_pair(a::'a,b))) --> False",
  3.3222 +  meson_tac);
  3.3223 +
  3.3224 +
  3.3225 +(*13 inferences so far.  Searching to depth 8.  0 secs*)
  3.3226 +val SET046_5 = prove
  3.3227 + ("(! Y X. ~(element(X::'a,a) & element(X::'a,Y) & element(Y::'a,X))) &     \
  3.3228 +\  (! X. element(X::'a,f(X)) | element(X::'a,a)) &     \
  3.3229 +\  (! X. element(f(X),X) | element(X::'a,a)) --> False",
  3.3230 +  meson_tac);
  3.3231 +
  3.3232 +(*33 inferences so far.  Searching to depth 9.  0.2 secs*)
  3.3233 +val SET047_5 = prove
  3.3234 + ("(! X Z Y. set_equal(X::'a,Y) & element(Z::'a,X) --> element(Z::'a,Y)) &  \
  3.3235 +\  (! Y Z X. set_equal(X::'a,Y) & element(Z::'a,Y) --> element(Z::'a,X)) &  \
  3.3236 +\  (! X Y. element(f(X::'a,Y),X) | element(f(X::'a,Y),Y) | set_equal(X::'a,Y)) &  \
  3.3237 +\  (! X Y. element(f(X::'a,Y),Y) & element(f(X::'a,Y),X) --> set_equal(X::'a,Y)) &  \
  3.3238 +\  (set_equal(a::'a,b) | set_equal(b::'a,a)) & \
  3.3239 +\  (~(set_equal(b::'a,a) & set_equal(a::'a,b))) --> False",
  3.3240 +  meson_tac);
  3.3241 +
  3.3242 +(*311 inferences so far.  Searching to depth 12.  0.1 secs*)
  3.3243 +val SYN034_1 = prove
  3.3244 + ("(! A. p(A::'a,a) | p(A::'a,f(A))) & \
  3.3245 +\  (! A. p(A::'a,a) | p(f(A),A)) & \
  3.3246 +\  (! A B. ~(p(A::'a,B) & p(B::'a,A) & p(B::'a,a))) --> False",
  3.3247 +  meson_tac);
  3.3248 +
  3.3249 +(*30 inferences so far.  Searching to depth 6.  0.2 secs*)
  3.3250 +val SYN071_1 = prove
  3.3251 + ("(! X. equal(X::'a,X)) &  \
  3.3252 +\  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  3.3253 +\  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  3.3254 +\  (equal(a::'a,b) | equal(c::'a,d)) & \
  3.3255 +\  (equal(a::'a,c) | equal(b::'a,d)) & \
  3.3256 +\  (~equal(a::'a,d)) &      \
  3.3257 +\  (~equal(b::'a,c)) --> False",
  3.3258 +  meson_tac);
  3.3259 +
  3.3260 +(****************SLOW
  3.3261 +655670 inferences so far.  Searching to depth 44.  No proof after 10 minutes.
  3.3262 +val SYN349_1 = prove_hard
  3.3263 + ("(! X Y. f(w(X),g(X::'a,Y)) --> f(X::'a,g(X::'a,Y))) &    \
  3.3264 +\  (! X Y. f(X::'a,g(X::'a,Y)) --> f(w(X),g(X::'a,Y))) &    \
  3.3265 +\  (! Y X. f(X::'a,g(X::'a,Y)) & f(Y::'a,g(X::'a,Y)) --> f(g(X::'a,Y),Y) | f(g(X::'a,Y),w(X))) &       \
  3.3266 +\  (! Y X. f(g(X::'a,Y),Y) & f(Y::'a,g(X::'a,Y)) --> f(X::'a,g(X::'a,Y)) | f(g(X::'a,Y),w(X))) &       \
  3.3267 +\  (! Y X. f(X::'a,g(X::'a,Y)) | f(g(X::'a,Y),Y) | f(Y::'a,g(X::'a,Y)) | f(g(X::'a,Y),w(X))) &       \
  3.3268 +\  (! Y X. f(X::'a,g(X::'a,Y)) & f(g(X::'a,Y),Y) --> f(Y::'a,g(X::'a,Y)) | f(g(X::'a,Y),w(X))) &       \
  3.3269 +\  (! Y X. f(X::'a,g(X::'a,Y)) & f(g(X::'a,Y),w(X)) --> f(g(X::'a,Y),Y) | f(Y::'a,g(X::'a,Y))) &       \
  3.3270 +\  (! Y X. f(g(X::'a,Y),Y) & f(g(X::'a,Y),w(X)) --> f(X::'a,g(X::'a,Y)) | f(Y::'a,g(X::'a,Y))) &       \
  3.3271 +\  (! Y X. f(Y::'a,g(X::'a,Y)) & f(g(X::'a,Y),w(X)) --> f(X::'a,g(X::'a,Y)) | f(g(X::'a,Y),Y)) &       \
  3.3272 +\  (! Y X. ~(f(X::'a,g(X::'a,Y)) & f(g(X::'a,Y),Y) & f(Y::'a,g(X::'a,Y)) & f(g(X::'a,Y),w(X)))) --> False",
  3.3273 +  meson_tac);
  3.3274 +****************)
  3.3275 +
  3.3276 +(*398 inferences so far.  Searching to depth 12.  0.4 secs*)
  3.3277 +val SYN352_1 = prove
  3.3278 + ("(f(a::'a,b)) &   \
  3.3279 +\  (! X Y. f(X::'a,Y) --> f(b::'a,z(X::'a,Y)) | f(Y::'a,z(X::'a,Y))) &     \
  3.3280 +\  (! X Y. f(X::'a,Y) | f(z(X::'a,Y),z(X::'a,Y))) &        \
  3.3281 +\  (! X Y. f(b::'a,z(X::'a,Y)) | f(X::'a,z(X::'a,Y)) | f(z(X::'a,Y),z(X::'a,Y))) &    \
  3.3282 +\  (! X Y. f(b::'a,z(X::'a,Y)) & f(X::'a,z(X::'a,Y)) --> f(z(X::'a,Y),z(X::'a,Y))) &    \
  3.3283 +\  (! X Y. ~(f(X::'a,Y) & f(X::'a,z(X::'a,Y)) & f(Y::'a,z(X::'a,Y)))) &     \
  3.3284 +\  (! X Y. f(X::'a,Y) --> f(X::'a,z(X::'a,Y)) | f(Y::'a,z(X::'a,Y))) --> False",
  3.3285 +  meson_tac);
  3.3286 +
  3.3287 +(*5336 inferences so far.  Searching to depth 15.  5.3 secs*)
  3.3288 +val TOP001_2 = prove_hard
  3.3289 + ("(! Vf U. element_of_set(U::'a,union_of_members(Vf)) --> element_of_set(U::'a,f1(Vf::'a,U))) &    \
  3.3290 +\  (! U Vf. element_of_set(U::'a,union_of_members(Vf)) --> element_of_collection(f1(Vf::'a,U),Vf)) &    \
  3.3291 +\  (! U Uu1 Vf. element_of_set(U::'a,Uu1) & element_of_collection(Uu1::'a,Vf) --> element_of_set(U::'a,union_of_members(Vf))) &     \
  3.3292 +\  (! Vf X. basis(X::'a,Vf) --> equal_sets(union_of_members(Vf),X)) &       \
  3.3293 +\  (! Vf U X. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_set(X::'a,f10(Vf::'a,U,X))) &      \
  3.3294 +\  (! U X Vf. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_collection(f10(Vf::'a,U,X),Vf)) &      \
  3.3295 +\  (! X. subset_sets(X::'a,X)) &    \
  3.3296 +\  (! X U Y. subset_sets(X::'a,Y) & element_of_set(U::'a,X) --> element_of_set(U::'a,Y)) &  \
  3.3297 +\  (! X Y. equal_sets(X::'a,Y) --> subset_sets(X::'a,Y)) &      \
  3.3298 +\  (! Y X. subset_sets(X::'a,Y) | element_of_set(in_1st_set(X::'a,Y),X)) &     \
  3.3299 +\  (! X Y. element_of_set(in_1st_set(X::'a,Y),Y) --> subset_sets(X::'a,Y)) &    \
  3.3300 +\  (basis(cx::'a,f)) &      \
  3.3301 +\  (~subset_sets(union_of_members(top_of_basis(f)),cx)) --> False",
  3.3302 +  meson_tac);
  3.3303 +
  3.3304 +(*0 inferences so far.  Searching to depth 0.  0 secs*)
  3.3305 +val TOP002_2 = prove
  3.3306 + ("(! Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) & \
  3.3307 +\  (! X. ~element_of_set(X::'a,empty_set)) &        \
  3.3308 +\  (~element_of_collection(empty_set::'a,top_of_basis(f))) --> False",
  3.3309 +  meson_tac);
  3.3310 +
  3.3311 +(*0 inferences so far.  Searching to depth 0.  6.5 secs.  BIG*)
  3.3312 +val TOP004_1 = prove_hard
  3.3313 + ("(! Vf U. element_of_set(U::'a,union_of_members(Vf)) --> element_of_set(U::'a,f1(Vf::'a,U))) &    \
  3.3314 +\  (! U Vf. element_of_set(U::'a,union_of_members(Vf)) --> element_of_collection(f1(Vf::'a,U),Vf)) &    \
  3.3315 +\  (! U Uu1 Vf. element_of_set(U::'a,Uu1) & element_of_collection(Uu1::'a,Vf) --> element_of_set(U::'a,union_of_members(Vf))) &     \
  3.3316 +\  (! Vf U Va. element_of_set(U::'a,intersection_of_members(Vf)) & element_of_collection(Va::'a,Vf) --> element_of_set(U::'a,Va)) & \
  3.3317 +\  (! U Vf. element_of_set(U::'a,intersection_of_members(Vf)) | element_of_collection(f2(Vf::'a,U),Vf)) &      \
  3.3318 +\  (! Vf U. element_of_set(U::'a,f2(Vf::'a,U)) --> element_of_set(U::'a,intersection_of_members(Vf))) &     \
  3.3319 +\  (! Vt X. topological_space(X::'a,Vt) --> equal_sets(union_of_members(Vt),X)) &   \
  3.3320 +\  (! X Vt. topological_space(X::'a,Vt) --> element_of_collection(empty_set::'a,Vt)) &  \
  3.3321 +\  (! X Vt. topological_space(X::'a,Vt) --> element_of_collection(X::'a,Vt)) &  \
  3.3322 +\  (! X Y Z Vt. topological_space(X::'a,Vt) & element_of_collection(Y::'a,Vt) & element_of_collection(Z::'a,Vt) --> element_of_collection(intersection_of_sets(Y::'a,Z),Vt)) &  \
  3.3323 +\  (! X Vf Vt. topological_space(X::'a,Vt) & subset_collections(Vf::'a,Vt) --> element_of_collection(union_of_members(Vf),Vt)) &        \
  3.3324 +\  (! X Vt. equal_sets(union_of_members(Vt),X) & element_of_collection(empty_set::'a,Vt) & element_of_collection(X::'a,Vt) --> topological_space(X::'a,Vt) | element_of_collection(f3(X::'a,Vt),Vt) | subset_collections(f5(X::'a,Vt),Vt)) &      \
  3.3325 +\  (! X Vt. equal_sets(union_of_members(Vt),X) & element_of_collection(empty_set::'a,Vt) & element_of_collection(X::'a,Vt) & element_of_collection(union_of_members(f5(X::'a,Vt)),Vt) --> topological_space(X::'a,Vt) | element_of_collection(f3(X::'a,Vt),Vt)) &  \
  3.3326 +\  (! X Vt. equal_sets(union_of_members(Vt),X) & element_of_collection(empty_set::'a,Vt) & element_of_collection(X::'a,Vt) --> topological_space(X::'a,Vt) | element_of_collection(f4(X::'a,Vt),Vt) | subset_collections(f5(X::'a,Vt),Vt)) &      \
  3.3327 +\  (! X Vt. equal_sets(union_of_members(Vt),X) & element_of_collection(empty_set::'a,Vt) & element_of_collection(X::'a,Vt) & element_of_collection(union_of_members(f5(X::'a,Vt)),Vt) --> topological_space(X::'a,Vt) | element_of_collection(f4(X::'a,Vt),Vt)) &  \
  3.3328 +\  (! X Vt. equal_sets(union_of_members(Vt),X) & element_of_collection(empty_set::'a,Vt) & element_of_collection(X::'a,Vt) & element_of_collection(intersection_of_sets(f3(X::'a,Vt),f4(X::'a,Vt)),Vt) --> topological_space(X::'a,Vt) | subset_collections(f5(X::'a,Vt),Vt)) &        \
  3.3329 +\  (! X Vt. equal_sets(union_of_members(Vt),X) & element_of_collection(empty_set::'a,Vt) & element_of_collection(X::'a,Vt) & element_of_collection(intersection_of_sets(f3(X::'a,Vt),f4(X::'a,Vt)),Vt) & element_of_collection(union_of_members(f5(X::'a,Vt)),Vt) --> topological_space(X::'a,Vt)) &    \
  3.3330 +\  (! U X Vt. open(U::'a,X,Vt) --> topological_space(X::'a,Vt)) &       \
  3.3331 +\  (! X U Vt. open(U::'a,X,Vt) --> element_of_collection(U::'a,Vt)) &   \
  3.3332 +\  (! X U Vt. topological_space(X::'a,Vt) & element_of_collection(U::'a,Vt) --> open(U::'a,X,Vt)) & \
  3.3333 +\  (! U X Vt. closed(U::'a,X,Vt) --> topological_space(X::'a,Vt)) &     \
  3.3334 +\  (! U X Vt. closed(U::'a,X,Vt) --> open(relative_complement_sets(U::'a,X),X,Vt)) &    \
  3.3335 +\  (! U X Vt. topological_space(X::'a,Vt) & open(relative_complement_sets(U::'a,X),X,Vt) --> closed(U::'a,X,Vt)) &  \
  3.3336 +\  (! Vs X Vt. finer(Vt::'a,Vs,X) --> topological_space(X::'a,Vt)) &    \
  3.3337 +\  (! Vt X Vs. finer(Vt::'a,Vs,X) --> topological_space(X::'a,Vs)) &    \
  3.3338 +\  (! X Vs Vt. finer(Vt::'a,Vs,X) --> subset_collections(Vs::'a,Vt)) &  \
  3.3339 +\  (! X Vs Vt. topological_space(X::'a,Vt) & topological_space(X::'a,Vs) & subset_collections(Vs::'a,Vt) --> finer(Vt::'a,Vs,X)) &      \
  3.3340 +\  (! Vf X. basis(X::'a,Vf) --> equal_sets(union_of_members(Vf),X)) &       \
  3.3341 +\  (! X Vf Y Vb1 Vb2. basis(X::'a,Vf) & element_of_set(Y::'a,X) & element_of_collection(Vb1::'a,Vf) & element_of_collection(Vb2::'a,Vf) & element_of_set(Y::'a,intersection_of_sets(Vb1::'a,Vb2)) --> element_of_set(Y::'a,f6(X::'a,Vf,Y,Vb1,Vb2))) &   \
  3.3342 +\  (! X Y Vb1 Vb2 Vf. basis(X::'a,Vf) & element_of_set(Y::'a,X) & element_of_collection(Vb1::'a,Vf) & element_of_collection(Vb2::'a,Vf) & element_of_set(Y::'a,intersection_of_sets(Vb1::'a,Vb2)) --> element_of_collection(f6(X::'a,Vf,Y,Vb1,Vb2),Vf)) &   \
  3.3343 +\  (! X Vf Y Vb1 Vb2. basis(X::'a,Vf) & element_of_set(Y::'a,X) & element_of_collection(Vb1::'a,Vf) & element_of_collection(Vb2::'a,Vf) & element_of_set(Y::'a,intersection_of_sets(Vb1::'a,Vb2)) --> subset_sets(f6(X::'a,Vf,Y,Vb1,Vb2),intersection_of_sets(Vb1::'a,Vb2))) &  \
  3.3344 +\  (! Vf X. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_set(f7(X::'a,Vf),X)) & \
  3.3345 +\  (! X Vf. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_collection(f8(X::'a,Vf),Vf)) & \
  3.3346 +\  (! X Vf. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_collection(f9(X::'a,Vf),Vf)) & \
  3.3347 +\  (! X Vf. equal_sets(union_of_members(Vf),X) --> basis(X::'a,Vf) | element_of_set(f7(X::'a,Vf),intersection_of_sets(f8(X::'a,Vf),f9(X::'a,Vf)))) &   \
  3.3348 +\  (! Uu9 X Vf. equal_sets(union_of_members(Vf),X) & element_of_set(f7(X::'a,Vf),Uu9) & element_of_collection(Uu9::'a,Vf) & subset_sets(Uu9::'a,intersection_of_sets(f8(X::'a,Vf),f9(X::'a,Vf))) --> basis(X::'a,Vf)) & \
  3.3349 +\  (! Vf U X. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_set(X::'a,f10(Vf::'a,U,X))) &      \
  3.3350 +\  (! U X Vf. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_collection(f10(Vf::'a,U,X),Vf)) &      \
  3.3351 +\  (! Vf X U. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> subset_sets(f10(Vf::'a,U,X),U)) & \
  3.3352 +\  (! Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) & \
  3.3353 +\  (! Vf Uu11 U. element_of_set(f11(Vf::'a,U),Uu11) & element_of_collection(Uu11::'a,Vf) & subset_sets(Uu11::'a,U) --> element_of_collection(U::'a,top_of_basis(Vf))) & \
  3.3354 +\  (! U Y X Vt. element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y)) --> topological_space(X::'a,Vt)) &       \
  3.3355 +\  (! U Vt Y X. element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y)) --> subset_sets(Y::'a,X)) &      \
  3.3356 +\  (! X Y U Vt. element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y)) --> element_of_collection(f12(X::'a,Vt,Y,U),Vt)) &       \
  3.3357 +\  (! X Vt Y U. element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y)) --> equal_sets(U::'a,intersection_of_sets(Y::'a,f12(X::'a,Vt,Y,U)))) &   \
  3.3358 +\  (! X Vt U Y Uu12. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) & element_of_collection(Uu12::'a,Vt) & equal_sets(U::'a,intersection_of_sets(Y::'a,Uu12)) --> element_of_collection(U::'a,subspace_topology(X::'a,Vt,Y))) & \
  3.3359 +\  (! U Y X Vt. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> topological_space(X::'a,Vt)) &       \
  3.3360 +\  (! U Vt Y X. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> subset_sets(Y::'a,X)) &      \
  3.3361 +\  (! Y X Vt U. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> element_of_set(U::'a,f13(Y::'a,X,Vt,U))) &       \
  3.3362 +\  (! X Vt U Y. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> subset_sets(f13(Y::'a,X,Vt,U),Y)) &  \
  3.3363 +\  (! Y U X Vt. element_of_set(U::'a,interior(Y::'a,X,Vt)) --> open(f13(Y::'a,X,Vt,U),X,Vt)) &      \
  3.3364 +\  (! U Y Uu13 X Vt. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) & element_of_set(U::'a,Uu13) & subset_sets(Uu13::'a,Y) & open(Uu13::'a,X,Vt) --> element_of_set(U::'a,interior(Y::'a,X,Vt))) &      \
  3.3365 +\  (! U Y X Vt. element_of_set(U::'a,closure(Y::'a,X,Vt)) --> topological_space(X::'a,Vt)) &        \
  3.3366 +\  (! U Vt Y X. element_of_set(U::'a,closure(Y::'a,X,Vt)) --> subset_sets(Y::'a,X)) &       \
  3.3367 +\  (! Y X Vt U V. element_of_set(U::'a,closure(Y::'a,X,Vt)) & subset_sets(Y::'a,V) & closed(V::'a,X,Vt) --> element_of_set(U::'a,V)) &      \
  3.3368 +\  (! Y X Vt U. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) --> element_of_set(U::'a,closure(Y::'a,X,Vt)) | subset_sets(Y::'a,f14(Y::'a,X,Vt,U))) &     \
  3.3369 +\  (! Y U X Vt. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) --> element_of_set(U::'a,closure(Y::'a,X,Vt)) | closed(f14(Y::'a,X,Vt,U),X,Vt)) &       \
  3.3370 +\  (! Y X Vt U. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) & element_of_set(U::'a,f14(Y::'a,X,Vt,U)) --> element_of_set(U::'a,closure(Y::'a,X,Vt))) &   \
  3.3371 +\  (! U Y X Vt. neighborhood(U::'a,Y,X,Vt) --> topological_space(X::'a,Vt)) &   \
  3.3372 +\  (! Y U X Vt. neighborhood(U::'a,Y,X,Vt) --> open(U::'a,X,Vt)) &      \
  3.3373 +\  (! X Vt Y U. neighborhood(U::'a,Y,X,Vt) --> element_of_set(Y::'a,U)) &       \
  3.3374 +\  (! X Vt Y U. topological_space(X::'a,Vt) & open(U::'a,X,Vt) & element_of_set(Y::'a,U) --> neighborhood(U::'a,Y,X,Vt)) &      \
  3.3375 +\  (! Z Y X Vt. limit_point(Z::'a,Y,X,Vt) --> topological_space(X::'a,Vt)) &    \
  3.3376 +\  (! Z Vt Y X. limit_point(Z::'a,Y,X,Vt) --> subset_sets(Y::'a,X)) &   \
  3.3377 +\  (! Z X Vt U Y. limit_point(Z::'a,Y,X,Vt) & neighborhood(U::'a,Z,X,Vt) --> element_of_set(f15(Z::'a,Y,X,Vt,U),intersection_of_sets(U::'a,Y))) &       \
  3.3378 +\  (! Y X Vt U Z. ~(limit_point(Z::'a,Y,X,Vt) & neighborhood(U::'a,Z,X,Vt) & eq_p(f15(Z::'a,Y,X,Vt,U),Z))) &        \
  3.3379 +\  (! Y Z X Vt. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) --> limit_point(Z::'a,Y,X,Vt) | neighborhood(f16(Z::'a,Y,X,Vt),Z,X,Vt)) &   \
  3.3380 +\  (! X Vt Y Uu16 Z. topological_space(X::'a,Vt) & subset_sets(Y::'a,X) & element_of_set(Uu16::'a,intersection_of_sets(f16(Z::'a,Y,X,Vt),Y)) --> limit_point(Z::'a,Y,X,Vt) | eq_p(Uu16::'a,Z)) &       \
  3.3381 +\  (! U Y X Vt. element_of_set(U::'a,boundary(Y::'a,X,Vt)) --> topological_space(X::'a,Vt)) &       \
  3.3382 +\  (! U Y X Vt. element_of_set(U::'a,boundary(Y::'a,X,Vt)) --> element_of_set(U::'a,closure(Y::'a,X,Vt))) &     \
  3.3383 +\  (! U Y X Vt. element_of_set(U::'a,boundary(Y::'a,X,Vt)) --> element_of_set(U::'a,closure(relative_complement_sets(Y::'a,X),X,Vt))) & \
  3.3384 +\  (! U Y X Vt. topological_space(X::'a,Vt) & element_of_set(U::'a,closure(Y::'a,X,Vt)) & element_of_set(U::'a,closure(relative_complement_sets(Y::'a,X),X,Vt)) --> element_of_set(U::'a,boundary(Y::'a,X,Vt))) &   \
  3.3385 +\  (! X Vt. hausdorff(X::'a,Vt) --> topological_space(X::'a,Vt)) &      \
  3.3386 +\  (! X_2 X_1 X Vt. hausdorff(X::'a,Vt) & element_of_set(X_1::'a,X) & element_of_set(X_2::'a,X) --> eq_p(X_1::'a,X_2) | neighborhood(f17(X::'a,Vt,X_1,X_2),X_1,X,Vt)) &    \
  3.3387 +\  (! X_1 X_2 X Vt. hausdorff(X::'a,Vt) & element_of_set(X_1::'a,X) & element_of_set(X_2::'a,X) --> eq_p(X_1::'a,X_2) | neighborhood(f18(X::'a,Vt,X_1,X_2),X_2,X,Vt)) &    \
  3.3388 +\  (! X Vt X_1 X_2. hausdorff(X::'a,Vt) & element_of_set(X_1::'a,X) & element_of_set(X_2::'a,X) --> eq_p(X_1::'a,X_2) | disjoint_s(f17(X::'a,Vt,X_1,X_2),f18(X::'a,Vt,X_1,X_2))) &     \
  3.3389 +\  (! Vt X. topological_space(X::'a,Vt) --> hausdorff(X::'a,Vt) | element_of_set(f19(X::'a,Vt),X)) &       \
  3.3390 +\  (! Vt X. topological_space(X::'a,Vt) --> hausdorff(X::'a,Vt) | element_of_set(f20(X::'a,Vt),X)) &       \
  3.3391 +\  (! X Vt. topological_space(X::'a,Vt) & eq_p(f19(X::'a,Vt),f20(X::'a,Vt)) --> hausdorff(X::'a,Vt)) &  \
  3.3392 +\  (! X Vt Uu19 Uu20. topological_space(X::'a,Vt) & neighborhood(Uu19::'a,f19(X::'a,Vt),X,Vt) & neighborhood(Uu20::'a,f20(X::'a,Vt),X,Vt) & disjoint_s(Uu19::'a,Uu20) --> hausdorff(X::'a,Vt)) &    \
  3.3393 +\  (! Va1 Va2 X Vt. separation(Va1::'a,Va2,X,Vt) --> topological_space(X::'a,Vt)) &     \
  3.3394 +\  (! Va2 X Vt Va1. ~(separation(Va1::'a,Va2,X,Vt) & equal_sets(Va1::'a,empty_set))) &  \
  3.3395 +\  (! Va1 X Vt Va2. ~(separation(Va1::'a,Va2,X,Vt) & equal_sets(Va2::'a,empty_set))) &  \
  3.3396 +\  (! Va2 X Va1 Vt. separation(Va1::'a,Va2,X,Vt) --> element_of_collection(Va1::'a,Vt)) &       \
  3.3397 +\  (! Va1 X Va2 Vt. separation(Va1::'a,Va2,X,Vt) --> element_of_collection(Va2::'a,Vt)) &       \
  3.3398 +\  (! Vt Va1 Va2 X. separation(Va1::'a,Va2,X,Vt) --> equal_sets(union_of_sets(Va1::'a,Va2),X)) &        \
  3.3399 +\  (! X Vt Va1 Va2. separation(Va1::'a,Va2,X,Vt) --> disjoint_s(Va1::'a,Va2)) & \
  3.3400 +\  (! Vt X Va1 Va2. topological_space(X::'a,Vt) & element_of_collection(Va1::'a,Vt) & element_of_collection(Va2::'a,Vt) & equal_sets(union_of_sets(Va1::'a,Va2),X) & disjoint_s(Va1::'a,Va2) --> separation(Va1::'a,Va2,X,Vt) | equal_sets(Va1::'a,empty_set) | equal_sets(Va2::'a,empty_set)) &      \
  3.3401 +\  (! X Vt. connected_space(X::'a,Vt) --> topological_space(X::'a,Vt)) &        \
  3.3402 +\  (! Va1 Va2 X Vt. ~(connected_space(X::'a,Vt) & separation(Va1::'a,Va2,X,Vt))) &      \
  3.3403 +\  (! X Vt. topological_space(X::'a,Vt) --> connected_space(X::'a,Vt) | separation(f21(X::'a,Vt),f22(X::'a,Vt),X,Vt)) &        \
  3.3404 +\  (! Va X Vt. connected_set(Va::'a,X,Vt) --> topological_space(X::'a,Vt)) &    \
  3.3405 +\  (! Vt Va X. connected_set(Va::'a,X,Vt) --> subset_sets(Va::'a,X)) &  \
  3.3406 +\  (! X Vt Va. connected_set(Va::'a,X,Vt) --> connected_space(Va::'a,subspace_topology(X::'a,Vt,Va))) &     \
  3.3407 +\  (! X Vt Va. topological_space(X::'a,Vt) & subset_sets(Va::'a,X) & connected_space(Va::'a,subspace_topology(X::'a,Vt,Va)) --> connected_set(Va::'a,X,Vt)) &       \
  3.3408 +\  (! Vf X Vt. open_covering(Vf::'a,X,Vt) --> topological_space(X::'a,Vt)) &    \
  3.3409 +\  (! X Vf Vt. open_covering(Vf::'a,X,Vt) --> subset_collections(Vf::'a,Vt)) &  \
  3.3410 +\  (! Vt Vf X. open_covering(Vf::'a,X,Vt) --> equal_sets(union_of_members(Vf),X)) & \
  3.3411 +\  (! Vt Vf X. topological_space(X::'a,Vt) & subset_collections(Vf::'a,Vt) & equal_sets(union_of_members(Vf),X) --> open_covering(Vf::'a,X,Vt)) &   \
  3.3412 +\  (! X Vt. compact_space(X::'a,Vt) --> topological_space(X::'a,Vt)) &  \
  3.3413 +\  (! X Vt Vf1. compact_space(X::'a,Vt) & open_covering(Vf1::'a,X,Vt) --> finite(f23(X::'a,Vt,Vf1))) &      \
  3.3414 +\  (! X Vt Vf1. compact_space(X::'a,Vt) & open_covering(Vf1::'a,X,Vt) --> subset_collections(f23(X::'a,Vt,Vf1),Vf1)) &      \
  3.3415 +\  (! Vf1 X Vt. compact_space(X::'a,Vt) & open_covering(Vf1::'a,X,Vt) --> open_covering(f23(X::'a,Vt,Vf1),X,Vt)) &  \
  3.3416 +\  (! X Vt. topological_space(X::'a,Vt) --> compact_space(X::'a,Vt) | open_covering(f24(X::'a,Vt),X,Vt)) & \
  3.3417 +\  (! Uu24 X Vt. topological_space(X::'a,Vt) & finite(Uu24) & subset_collections(Uu24::'a,f24(X::'a,Vt)) & open_covering(Uu24::'a,X,Vt) --> compact_space(X::'a,Vt)) &      \
  3.3418 +\  (! Va X Vt. compact_set(Va::'a,X,Vt) --> topological_space(X::'a,Vt)) &      \
  3.3419 +\  (! Vt Va X. compact_set(Va::'a,X,Vt) --> subset_sets(Va::'a,X)) &    \
  3.3420 +\  (! X Vt Va. compact_set(Va::'a,X,Vt) --> compact_space(Va::'a,subspace_topology(X::'a,Vt,Va))) & \
  3.3421 +\  (! X Vt Va. topological_space(X::'a,Vt) & subset_sets(Va::'a,X) & compact_space(Va::'a,subspace_topology(X::'a,Vt,Va)) --> compact_set(Va::'a,X,Vt)) &   \
  3.3422 +\  (basis(cx::'a,f)) &      \
  3.3423 +\  (! U. element_of_collection(U::'a,top_of_basis(f))) &    \
  3.3424 +\  (! V. element_of_collection(V::'a,top_of_basis(f))) &    \
  3.3425 +\  (! U V. ~element_of_collection(intersection_of_sets(U::'a,V),top_of_basis(f))) --> False",
  3.3426 +  meson_tac);
  3.3427 +
  3.3428 +
  3.3429 +(*0 inferences so far.  Searching to depth 0.  0.8 secs*)
  3.3430 +val TOP004_2 = prove
  3.3431 + ("(! U Uu1 Vf. element_of_set(U::'a,Uu1) & element_of_collection(Uu1::'a,Vf) --> element_of_set(U::'a,union_of_members(Vf))) &     \
  3.3432 +\  (! Vf X. basis(X::'a,Vf) --> equal_sets(union_of_members(Vf),X)) &       \
  3.3433 +\  (! X Vf Y Vb1 Vb2. basis(X::'a,Vf) & element_of_set(Y::'a,X) & element_of_collection(Vb1::'a,Vf) & element_of_collection(Vb2::'a,Vf) & element_of_set(Y::'a,intersection_of_sets(Vb1::'a,Vb2)) --> element_of_set(Y::'a,f6(X::'a,Vf,Y,Vb1,Vb2))) &   \
  3.3434 +\  (! X Y Vb1 Vb2 Vf. basis(X::'a,Vf) & element_of_set(Y::'a,X) & element_of_collection(Vb1::'a,Vf) & element_of_collection(Vb2::'a,Vf) & element_of_set(Y::'a,intersection_of_sets(Vb1::'a,Vb2)) --> element_of_collection(f6(X::'a,Vf,Y,Vb1,Vb2),Vf)) &   \
  3.3435 +\  (! X Vf Y Vb1 Vb2. basis(X::'a,Vf) & element_of_set(Y::'a,X) & element_of_collection(Vb1::'a,Vf) & element_of_collection(Vb2::'a,Vf) & element_of_set(Y::'a,intersection_of_sets(Vb1::'a,Vb2)) --> subset_sets(f6(X::'a,Vf,Y,Vb1,Vb2),intersection_of_sets(Vb1::'a,Vb2))) &  \
  3.3436 +\  (! Vf U X. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_set(X::'a,f10(Vf::'a,U,X))) &      \
  3.3437 +\  (! U X Vf. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_collection(f10(Vf::'a,U,X),Vf)) &      \
  3.3438 +\  (! Vf X U. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> subset_sets(f10(Vf::'a,U,X),U)) & \
  3.3439 +\  (! Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) & \
  3.3440 +\  (! Vf Uu11 U. element_of_set(f11(Vf::'a,U),Uu11) & element_of_collection(Uu11::'a,Vf) & subset_sets(Uu11::'a,U) --> element_of_collection(U::'a,top_of_basis(Vf))) & \
  3.3441 +\  (! Y X Z. subset_sets(X::'a,Y) & subset_sets(Y::'a,Z) --> subset_sets(X::'a,Z)) &        \
  3.3442 +\  (! Y Z X. element_of_set(Z::'a,intersection_of_sets(X::'a,Y)) --> element_of_set(Z::'a,X)) &     \
  3.3443 +\  (! X Z Y. element_of_set(Z::'a,intersection_of_sets(X::'a,Y)) --> element_of_set(Z::'a,Y)) &     \
  3.3444 +\  (! X Z Y. element_of_set(Z::'a,X) & element_of_set(Z::'a,Y) --> element_of_set(Z::'a,intersection_of_sets(X::'a,Y))) &       \
  3.3445 +\  (! X U Y V. subset_sets(X::'a,Y) & subset_sets(U::'a,V) --> subset_sets(intersection_of_sets(X::'a,U),intersection_of_sets(Y::'a,V))) &      \
  3.3446 +\  (! X Z Y. equal_sets(X::'a,Y) & element_of_set(Z::'a,X) --> element_of_set(Z::'a,Y)) &   \
  3.3447 +\  (! Y X. equal_sets(intersection_of_sets(X::'a,Y),intersection_of_sets(Y::'a,X))) &   \
  3.3448 +\  (basis(cx::'a,f)) &      \
  3.3449 +\  (! U. element_of_collection(U::'a,top_of_basis(f))) &    \
  3.3450 +\  (! V. element_of_collection(V::'a,top_of_basis(f))) &    \
  3.3451 +\  (! U V. ~element_of_collection(intersection_of_sets(U::'a,V),top_of_basis(f))) --> False",
  3.3452 +  meson_tac);
  3.3453 +
  3.3454 +(*53777 inferences so far.  Searching to depth 20.  68.7 secs*)
  3.3455 +val TOP005_2 = prove_hard
  3.3456 + ("(! Vf U. element_of_set(U::'a,union_of_members(Vf)) --> element_of_set(U::'a,f1(Vf::'a,U))) &    \
  3.3457 +\  (! U Vf. element_of_set(U::'a,union_of_members(Vf)) --> element_of_collection(f1(Vf::'a,U),Vf)) &    \
  3.3458 +\  (! Vf U X. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_set(X::'a,f10(Vf::'a,U,X))) &      \
  3.3459 +\  (! U X Vf. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> element_of_collection(f10(Vf::'a,U,X),Vf)) &      \
  3.3460 +\  (! Vf X U. element_of_collection(U::'a,top_of_basis(Vf)) & element_of_set(X::'a,U) --> subset_sets(f10(Vf::'a,U,X),U)) & \
  3.3461 +\  (! Vf U. element_of_collection(U::'a,top_of_basis(Vf)) | element_of_set(f11(Vf::'a,U),U)) & \
  3.3462 +\  (! Vf Uu11 U. element_of_set(f11(Vf::'a,U),Uu11) & element_of_collection(Uu11::'a,Vf) & subset_sets(Uu11::'a,U) --> element_of_collection(U::'a,top_of_basis(Vf))) & \
  3.3463 +\  (! X U Y. element_of_set(U::'a,X) --> subset_sets(X::'a,Y) | element_of_set(U::'a,Y)) & \
  3.3464 +\  (! Y X Z. subset_sets(X::'a,Y) & element_of_collection(Y::'a,Z) --> subset_sets(X::'a,union_of_members(Z))) &    \
  3.3465 +\  (! X U Y. subset_collections(X::'a,Y) & element_of_collection(U::'a,X) --> element_of_collection(U::'a,Y)) &     \
  3.3466 +\  (subset_collections(g::'a,top_of_basis(f))) &    \
  3.3467 +\  (~element_of_collection(union_of_members(g),top_of_basis(f))) --> False",
  3.3468 +  meson_tac);
  3.3469 +
  3.3470 +