src/HOL/ex/mesontest2.ML
changeset 1744 115e928ad367
parent 1720 4d34973672d6
child 1887 e2946beeb9ff
equal deleted inserted replaced
1743:f7feaacd33d3 1744:115e928ad367
   291 \  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   291 \  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   292 \  (~product(x::'a,additive_identity,additive_identity)) --> False",
   292 \  (~product(x::'a,additive_identity,additive_identity)) --> False",
   293   meson_tac);
   293   meson_tac);
   294 ****************)
   294 ****************)
   295 
   295 
   296 (*5 inferences so far.  Searching to depth 5.  7.600 secs*)
   296 (*5 inferences so far.  Searching to depth 5.  16.8 secs*)
       
   297 (*Best-first: 14.9 secs*)
   297 val BOO011_1 = prove
   298 val BOO011_1 = prove
   298  ("(! X. equal(X::'a,X)) &  \
   299  ("(! X. equal(X::'a,X)) &  \
   299 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   300 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   300 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   301 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   301 \  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   302 \  (! X Y. sum(X::'a,Y,add(X::'a,Y))) & \
   332 \  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   333 \  (! X W Y. equal(X::'a,Y) --> equal(multiply(W::'a,X),multiply(W::'a,Y))) &       \
   333 \  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   334 \  (! X Y. equal(X::'a,Y) --> equal(inverse(X),inverse(Y))) &       \
   334 \  (~equal(inverse(additive_identity),multiplicative_identity)) --> False",
   335 \  (~equal(inverse(additive_identity),multiplicative_identity)) --> False",
   335   meson_tac);
   336   meson_tac);
   336 
   337 
   337 (*4007 inferences so far.  Searching to depth 9.  74.220 secs*)
   338 (*4007 inferences so far.  Searching to depth 9.  166.5 secs*)
   338 val CAT001_3 = prove
   339 val CAT001_3 = prove
   339  ("(! X. equal(X::'a,X)) &  \
   340  ("(! X. equal(X::'a,X)) &  \
   340 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   341 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   341 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   342 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   342 \  (! Y X. equivalent(X::'a,Y) --> there_exists(X)) &       \
   343 \  (! Y X. equivalent(X::'a,Y) --> there_exists(X)) &       \
   370 \  (there_exists(compose(b::'a,h))) &       \
   371 \  (there_exists(compose(b::'a,h))) &       \
   371 \  (equal(compose(b::'a,h),compose(b::'a,g))) & \
   372 \  (equal(compose(b::'a,h),compose(b::'a,g))) & \
   372 \  (~equal(h::'a,g)) --> False",
   373 \  (~equal(h::'a,g)) --> False",
   373   meson_tac);
   374   meson_tac);
   374 
   375 
   375 (*43468 inferences so far.  Searching to depth 14.  401.13 secs*)
   376 (*245 inferences so far.  Searching to depth 7.  11.6 secs*)
   376 (*245 inferences so far.  Searching to depth 7.  5.160 secs*)
       
   377 val CAT003_3 = prove
   377 val CAT003_3 = prove
   378  ("(! X. equal(X::'a,X)) &  \
   378  ("(! X. equal(X::'a,X)) &  \
   379 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   379 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   380 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   380 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   381 \  (! Y X. equivalent(X::'a,Y) --> there_exists(X)) &       \
   381 \  (! Y X. equivalent(X::'a,Y) --> there_exists(X)) &       \
   449 \  (~equal(domain(a),d)) --> False",
   449 \  (~equal(domain(a),d)) --> False",
   450   meson_tac);
   450   meson_tac);
   451 ****************)
   451 ****************)
   452 
   452 
   453 
   453 
   454 (*1391 inferences so far.  Searching to depth 10. 118.03 secs*)
   454 (*1728 inferences so far.  Searching to depth 10.  74.1 secs*)
   455 (*1728 inferences so far.  Searching to depth 10.  33.520 secs*)
       
   456 val CAT007_1 = prove
   455 val CAT007_1 = prove
   457  ("(! X. equal(X::'a,X)) &  \
   456  ("(! X. equal(X::'a,X)) &  \
   458 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   457 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   459 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   458 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   460 \  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compose(X::'a,Y))) &        \
   459 \  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compose(X::'a,Y))) &        \
   487 \  (! X Y Z. equal(X::'a,Y) --> equal(compose(X::'a,Z),compose(Y::'a,Z))) & \
   486 \  (! X Y Z. equal(X::'a,Y) --> equal(compose(X::'a,Z),compose(Y::'a,Z))) & \
   488 \  (equal(domain(a),codomain(b))) &     \
   487 \  (equal(domain(a),codomain(b))) &     \
   489 \  (~defined(a::'a,b)) --> False",
   488 \  (~defined(a::'a,b)) --> False",
   490   meson_tac);
   489   meson_tac);
   491 
   490 
   492 (*15290 inferences so far.  Searching to depth 12.  1649.59 secs*)
   491 (*82895 inferences so far.  Searching to depth 13.  4770.8 secs*)
   493 (*82895 inferences so far.  Searching to depth 13.  1999.820 secs*)
       
   494 val CAT018_1 = prove
   492 val CAT018_1 = prove
   495  ("(! X. equal(X::'a,X)) &  \
   493  ("(! X. equal(X::'a,X)) &  \
   496 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   494 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   497 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   495 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   498 \  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compose(X::'a,Y))) &        \
   496 \  (! X Y. defined(X::'a,Y) --> product(X::'a,Y,compose(X::'a,Y))) &        \
   526 \  (defined(a::'a,b)) &     \
   524 \  (defined(a::'a,b)) &     \
   527 \  (defined(b::'a,c)) &     \
   525 \  (defined(b::'a,c)) &     \
   528 \  (~defined(a::'a,compose(b::'a,c))) --> False",
   526 \  (~defined(a::'a,compose(b::'a,c))) --> False",
   529   meson_tac);
   527   meson_tac);
   530 
   528 
   531 (* 896 inferences so far.  Searching to depth 8.  18.92 secs*)
   529 (*1118 inferences so far.  Searching to depth 8.  30.0 secs*)
   532 (*1118 inferences so far.  Searching to depth 8.  13.480 secs*)
       
   533 val COL001_2 = prove
   530 val COL001_2 = prove
   534  ("(! X. equal(X::'a,X)) &  \
   531  ("(! X. equal(X::'a,X)) &  \
   535 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   532 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   536 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   533 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   537 \  (! X Y Z. equal(apply(apply(apply(s::'a,X),Y),Z),apply(apply(X::'a,Z),apply(Y::'a,Z)))) &        \
   534 \  (! X Y Z. equal(apply(apply(apply(s::'a,X),Y),Z),apply(apply(X::'a,Z),apply(Y::'a,Z)))) &        \
   542 \  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   539 \  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   543 \  (! 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))))) &   \
   540 \  (! 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))))) &   \
   544 \  (! Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False",
   541 \  (! Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False",
   545   meson_tac);
   542   meson_tac);
   546 
   543 
   547 (*382 inferences so far.  Searching to depth 8.  7.8 secs*)
   544 (*500 inferences so far.  Searching to depth 8.  14.9 secs*)
   548 (*500 inferences so far.  Searching to depth 8.  5.810 secs*)
       
   549 val COL023_1 = prove
   545 val COL023_1 = prove
   550  ("(! X. equal(X::'a,X)) &  \
   546  ("(! X. equal(X::'a,X)) &  \
   551 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   547 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   552 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   548 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   553 \  (! X Y Z. equal(apply(apply(apply(b::'a,X),Y),Z),apply(X::'a,apply(Y::'a,Z)))) & \
   549 \  (! X Y Z. equal(apply(apply(apply(b::'a,X),Y),Z),apply(X::'a,apply(Y::'a,Z)))) & \
   555 \  (! A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &     \
   551 \  (! A B C. equal(A::'a,B) --> equal(apply(A::'a,C),apply(B::'a,C))) &     \
   556 \  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   552 \  (! D F' E. equal(D::'a,E) --> equal(apply(F'::'a,D),apply(F'::'a,E))) &  \
   557 \  (! Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False",
   553 \  (! Y. ~equal(Y::'a,apply(combinator::'a,Y))) --> False",
   558   meson_tac);
   554   meson_tac);
   559 
   555 
   560 (*2423 inferences so far.  Searching to depth 10.  47.46 secs*)
   556 (*3018 inferences so far.  Searching to depth 10.  61.3 secs*)
   561 (*3018 inferences so far.  Searching to depth 10.  27.390 secs*)
       
   562 val COL032_1 = prove
   557 val COL032_1 = prove
   563  ("(! X. equal(X::'a,X)) &  \
   558  ("(! X. equal(X::'a,X)) &  \
   564 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   559 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   565 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   560 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   566 \  (! X. equal(apply(m::'a,X),apply(X::'a,X))) &        \
   561 \  (! X. equal(apply(m::'a,X),apply(X::'a,X))) &        \
   590 \  (~agreeable(a)) &    \
   585 \  (~agreeable(a)) &    \
   591 \  (equal(c::'a,compose(a::'a,b))) --> False",
   586 \  (equal(c::'a,compose(a::'a,b))) --> False",
   592   meson_tac);
   587   meson_tac);
   593 ****************)
   588 ****************)
   594 
   589 
   595 (*13201 inferences so far.  Searching to depth 11.  473 secs*)
   590 (*13201 inferences so far.  Searching to depth 11.  489.0 secs*)
   596 val COL075_2 = prove
   591 val COL075_2 = prove
   597  ("(! X. equal(X::'a,X)) &  \
   592  ("(! X. equal(X::'a,X)) &  \
   598 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   593 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   599 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   594 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   600 \  (! Y X. equal(apply(apply(k::'a,X),Y),X)) &      \
   595 \  (! Y X. equal(apply(apply(k::'a,X),Y),X)) &      \
   742 \  (equal(n_right::'a,right_child_of(n))) & \
   737 \  (equal(n_right::'a,right_child_of(n))) & \
   743 \  (! Z. ~failure_node(Z::'a,or(empty::'a,empty))) --> False",
   738 \  (! Z. ~failure_node(Z::'a,or(empty::'a,empty))) --> False",
   744   meson_tac);
   739   meson_tac);
   745 ****************)
   740 ****************)
   746 
   741 
   747 (*179 inferences so far.  Searching to depth 7.  52.4 secs, mostly parsing*)
   742 (*179 inferences so far.  Searching to depth 7.  50.8 secs*)
   748 val GEO003_1 = prove
   743 val GEO003_1 = prove
   749  ("(! X. equal(X::'a,X)) &  \
   744  ("(! X. equal(X::'a,X)) &  \
   750 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   745 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
   751 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   746 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
   752 \  (! X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &     \
   747 \  (! X Y. between(X::'a,Y,X) --> equal(X::'a,Y)) &     \
  1007 \  (equal(v::'a,reflection(u::'a,v))) & \
  1002 \  (equal(v::'a,reflection(u::'a,v))) & \
  1008 \  (~equal(u::'a,v)) --> False",
  1003 \  (~equal(u::'a,v)) --> False",
  1009   meson_tac);
  1004   meson_tac);
  1010 ****************)
  1005 ****************)
  1011 
  1006 
  1012 (*0 inferences so far.  Searching to depth 0. 2.1 secs*)
  1007 (*0 inferences so far.  Searching to depth 0.  2.1 secs*)
  1013 val GEO079_1 = prove
  1008 val GEO079_1 = prove
  1014  ("(! 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)) &       \
  1009  ("(! 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)) &       \
  1015 \  (! U V W X Y Z. congruent(U::'a,V,W,X,Y,Z) --> eq(U::'a,V,W,X,Y,Z)) &        \
  1010 \  (! U V W X Y Z. congruent(U::'a,V,W,X,Y,Z) --> eq(U::'a,V,W,X,Y,Z)) &        \
  1016 \  (! V W U X. trapezoid(U::'a,V,W,X) --> parallel(V::'a,W,U,X)) &      \
  1011 \  (! V W U X. trapezoid(U::'a,V,W,X) --> parallel(V::'a,W,U,X)) &      \
  1017 \  (! U V X Y. parallel(U::'a,V,X,Y) --> eq(X::'a,V,U,V,X,Y)) & \
  1012 \  (! U V X Y. parallel(U::'a,V,X,Y) --> eq(X::'a,V,U,V,X,Y)) & \
  1042 \  (product(a::'a,b,c)) &   \
  1037 \  (product(a::'a,b,c)) &   \
  1043 \  (~product(b::'a,a,c)) --> False",
  1038 \  (~product(b::'a,a,c)) --> False",
  1044   meson_tac);
  1039   meson_tac);
  1045 ****************)
  1040 ****************)
  1046 
  1041 
  1047 (*2386 inferences so far.  Searching to depth 11.  128 secs*)
  1042 (*2386 inferences so far.  Searching to depth 11.  132.5 secs*)
  1048 val GRP008_1 = prove
  1043 val GRP008_1 = prove
  1049  ("(! X. equal(X::'a,X)) &  \
  1044  ("(! X. equal(X::'a,X)) &  \
  1050 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  1045 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  1051 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  1046 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  1052 \  (! X. product(identity::'a,X,X)) &       \
  1047 \  (! X. product(identity::'a,X,X)) &       \
  1141 \  (! A. product(A::'a,inverse(A),identity)) &      \
  1136 \  (! A. product(A::'a,inverse(A),identity)) &      \
  1142 \  (! A. product(A::'a,identity,A)) &       \
  1137 \  (! A. product(A::'a,identity,A)) &       \
  1143 \  (! A. ~product(A::'a,a,identity)) --> False",
  1138 \  (! A. ~product(A::'a,a,identity)) --> False",
  1144   meson_tac);
  1139   meson_tac);
  1145 
  1140 
  1146 (*47 inferences so far.  Searching to depth 11.  3.2 secs*)
  1141 (*47 inferences so far.  Searching to depth 11.  2.5 secs*)
  1147 val GRP034_4 = prove
  1142 val GRP034_4 = prove
  1148  ("(! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  1143  ("(! X Y. product(X::'a,Y,multiply(X::'a,Y))) &        \
  1149 \  (! X. product(identity::'a,X,X)) &       \
  1144 \  (! X. product(identity::'a,X,X)) &       \
  1150 \  (! X. product(X::'a,identity,X)) &       \
  1145 \  (! X. product(X::'a,identity,X)) &       \
  1151 \  (! X. product(X::'a,inverse(X),identity)) &      \
  1146 \  (! X. product(X::'a,inverse(X),identity)) &      \
  1167 \  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  1162 \  (! X W Z Y. equal(X::'a,Y) & product(W::'a,Z,X) --> product(W::'a,Z,Y)) &        \
  1168 \  (equal(a::'a,b)) &       \
  1163 \  (equal(a::'a,b)) &       \
  1169 \  (~equal(multiply(c::'a,a),multiply(c::'a,b))) --> False",
  1164 \  (~equal(multiply(c::'a,a),multiply(c::'a,b))) --> False",
  1170   meson_tac);
  1165   meson_tac);
  1171 
  1166 
  1172 (*25559 inferences so far.  Searching to depth 19.  259.0 secs*)
  1167 (*25559 inferences so far.  Searching to depth 19.  250.0 secs*)
  1173 val GRP130_1_002 = prove
  1168 val GRP130_1_002 = prove
  1174  ("(group_element(e_1)) &       \
  1169  ("(group_element(e_1)) &       \
  1175 \  (group_element(e_2)) &       \
  1170 \  (group_element(e_2)) &       \
  1176 \  (~equal(e_1::'a,e_2)) &  \
  1171 \  (~equal(e_1::'a,e_2)) &  \
  1177 \  (~equal(e_2::'a,e_1)) &  \
  1172 \  (~equal(e_2::'a,e_1)) &  \
  1370 \  (! J L K'. equal(J::'a,K') & less_equal(L::'a,J) --> less_equal(L::'a,K')) &     \
  1365 \  (! J L K'. equal(J::'a,K') & less_equal(L::'a,J) --> less_equal(L::'a,K')) &     \
  1371 \  (~less_equal(a::'a,a)) --> False",
  1366 \  (~less_equal(a::'a,a)) --> False",
  1372   meson_tac);
  1367   meson_tac);
  1373 ****************)
  1368 ****************)
  1374 
  1369 
  1375 (*1063 inferences so far.  Searching to depth 20.  19.8 secs*)
  1370 (*1063 inferences so far.  Searching to depth 20.  14.0 secs*)
  1376 val LCL010_1 = prove
  1371 val LCL010_1 = prove
  1377  ("(! X Y. is_a_theorem(equivalent(X::'a,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &       \
  1372  ("(! X Y. is_a_theorem(equivalent(X::'a,Y)) & is_a_theorem(X) --> is_a_theorem(Y)) &       \
  1378 \  (! X Z Y. is_a_theorem(equivalent(equivalent(X::'a,Y),equivalent(equivalent(X::'a,Z),equivalent(Z::'a,Y))))) &   \
  1373 \  (! X Z Y. is_a_theorem(equivalent(equivalent(X::'a,Y),equivalent(equivalent(X::'a,Z),equivalent(Z::'a,Y))))) &   \
  1379 \  (~is_a_theorem(equivalent(equivalent(a::'a,b),equivalent(equivalent(c::'a,b),equivalent(a::'a,c))))) --> False",
  1374 \  (~is_a_theorem(equivalent(equivalent(a::'a,b),equivalent(equivalent(c::'a,b),equivalent(a::'a,c))))) --> False",
  1380   meson_tac);
  1375   meson_tac);
  1404 \  (! Y X. is_a_theorem(implies(implies(implies(X,Y),Y),implies(implies(Y,X),X)))) &    \
  1399 \  (! Y X. is_a_theorem(implies(implies(implies(X,Y),Y),implies(implies(Y,X),X)))) &    \
  1405 \  (! Y X. is_a_theorem(implies(implies(not(X),not(Y)),implies(Y,X)))) &        \
  1400 \  (! Y X. is_a_theorem(implies(implies(not(X),not(Y)),implies(Y,X)))) &        \
  1406 \  (~is_a_theorem(implies(implies(a,b),implies(implies(c,a),implies(c,b))))) --> False",
  1401 \  (~is_a_theorem(implies(implies(a,b),implies(implies(c,a),implies(c,b))))) --> False",
  1407   meson_tac);
  1402   meson_tac);
  1408 
  1403 
  1409 (*667 inferences so far.  Searching to depth 9.  24.0 secs*)
  1404 (*667 inferences so far.  Searching to depth 9.  19.3 secs*)
  1410 val LCL143_1 = prove
  1405 val LCL143_1 = prove
  1411  ("(! X. equal(X,X)) &  \
  1406  ("(! X. equal(X,X)) &  \
  1412 \  (! Y X. equal(X,Y) --> equal(Y,X)) & \
  1407 \  (! Y X. equal(X,Y) --> equal(Y,X)) & \
  1413 \  (! Y X Z. equal(X,Y) & equal(Y,Z) --> equal(X,Z)) &  \
  1408 \  (! Y X Z. equal(X,Y) & equal(Y,Z) --> equal(X,Z)) &  \
  1414 \  (! X. equal(implies(true,X),X)) &    \
  1409 \  (! X. equal(implies(true,X),X)) &    \
  1456 \  (! X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &   \
  1451 \  (! X Y. axiom(or(not(Y),X)) & theorem(Y) --> theorem(X)) &   \
  1457 \  (! X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &   \
  1452 \  (! X Y Z. axiom(or(not(X),Y)) & theorem(or(not(Y),Z)) --> theorem(or(not(X),Z))) &   \
  1458 \  (~theorem(or(not(not(or(p,q))),not(q)))) --> False",
  1453 \  (~theorem(or(not(not(or(p,q))),not(q)))) --> False",
  1459   meson_tac);
  1454   meson_tac);
  1460 
  1455 
  1461 (*5849 inferences so far.  Searching to depth 12.  102.2 secs*)
  1456 (*5849 inferences so far.  Searching to depth 12.  91.0 secs*)
  1462 val LCL215_1 = prove
  1457 val LCL215_1 = prove
  1463  ("(! A. axiom(or(not(or(A,A)),A))) &   \
  1458  ("(! A. axiom(or(not(or(A,A)),A))) &   \
  1464 \  (! B A. axiom(or(not(A),or(B,A)))) & \
  1459 \  (! B A. axiom(or(not(A),or(B,A)))) & \
  1465 \  (! B A. axiom(or(not(or(A,B)),or(B,A)))) &   \
  1460 \  (! B A. axiom(or(not(or(A,B)),or(B,A)))) &   \
  1466 \  (! B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &     \
  1461 \  (! B A C. axiom(or(not(or(A,or(B,C))),or(B,or(A,C))))) &     \
  1549 \  (! X Y. value(X::'a,falsity) & value(Y::'a,truth) --> value(xor(X::'a,Y),truth)) &       \
  1544 \  (! X Y. value(X::'a,falsity) & value(Y::'a,truth) --> value(xor(X::'a,Y),truth)) &       \
  1550 \  (! X Y. value(X::'a,falsity) & value(Y::'a,falsity) --> value(xor(X::'a,Y),falsity)) &   \
  1545 \  (! X Y. value(X::'a,falsity) & value(Y::'a,falsity) --> value(xor(X::'a,Y),falsity)) &   \
  1551 \  (! Value. ~value(xor(xor(xor(xor(truth::'a,falsity),falsity),truth),falsity),Value)) --> False",
  1546 \  (! Value. ~value(xor(xor(xor(xor(truth::'a,falsity),falsity),truth),falsity),Value)) --> False",
  1552   meson_tac);
  1547   meson_tac);
  1553 
  1548 
  1554 (*19116 inferences so far.  Searching to depth 16. 186.2 secs*)
  1549 (*19116 inferences so far.  Searching to depth 16. 230.8 secs*)
  1555 val MSC006_1 = prove
  1550 val MSC006_1 = prove
  1556  ("(! Y X Z. p(X::'a,Y) & p(Y::'a,Z) --> p(X::'a,Z)) &      \
  1551  ("(! Y X Z. p(X::'a,Y) & p(Y::'a,Z) --> p(X::'a,Z)) &      \
  1557 \  (! Y X Z. q(X::'a,Y) & q(Y::'a,Z) --> q(X::'a,Z)) &      \
  1552 \  (! Y X Z. q(X::'a,Y) & q(Y::'a,Z) --> q(X::'a,Z)) &      \
  1558 \  (! Y X. q(X::'a,Y) --> q(Y::'a,X)) & \
  1553 \  (! Y X. q(X::'a,Y) --> q(Y::'a,X)) & \
  1559 \  (! X Y. p(X::'a,Y) | q(X::'a,Y)) &  \
  1554 \  (! X Y. p(X::'a,Y) | q(X::'a,Y)) &  \
  1561 \  (~q(c::'a,d)) --> False",
  1556 \  (~q(c::'a,d)) --> False",
  1562   meson_tac);
  1557   meson_tac);
  1563 
  1558 
  1564 (*1713 inferences so far.  Searching to depth 10.  41.0 secs*)
  1559 (*1713 inferences so far.  Searching to depth 10.  41.0 secs*)
  1565 val NUM001_1 = prove
  1560 val NUM001_1 = prove
  1566  ("(! A. equal(A::'a,A)) &  \
  1561  ("(! A. equal(A::'a,A)) &                                                \
  1567 \  (! B A C. equal(A::'a,B) & equal(B::'a,C) --> equal(A::'a,C)) &  \
  1562 \  (! B A C. equal(A::'a,B) & equal(B::'a,C) --> equal(A::'a,C)) &        \
  1568 \  (! B A. equal(add(A::'a,B),add(B::'a,A))) &  \
  1563 \  (! B A. equal(add(A::'a,B),add(B::'a,A))) &                            \
  1569 \  (! A B C. equal(add(A::'a,add(B::'a,C)),add(add(A::'a,B),C))) &  \
  1564 \  (! A B C. equal(add(A::'a,add(B::'a,C)),add(add(A::'a,B),C))) &        \
  1570 \  (! B A. equal(subtract(add(A::'a,B),B),A)) &     \
  1565 \  (! B A. equal(subtract(add(A::'a,B),B),A)) &                           \
  1571 \  (! A B. equal(A::'a,subtract(add(A::'a,B),B))) &     \
  1566 \  (! A B. equal(A::'a,subtract(add(A::'a,B),B))) &                       \
  1572 \  (! A C B. equal(add(subtract(A::'a,B),C),subtract(add(A::'a,C),B))) &        \
  1567 \  (! A C B. equal(add(subtract(A::'a,B),C),subtract(add(A::'a,C),B))) &  \
  1573 \  (! A C B. equal(subtract(add(A::'a,B),C),add(subtract(A::'a,C),B))) &        \
  1568 \  (! A C B. equal(subtract(add(A::'a,B),C),add(subtract(A::'a,C),B))) &  \
  1574 \  (! A C B D. equal(A::'a,B) & equal(C::'a,add(A::'a,D)) --> equal(C::'a,add(B::'a,D))) &  \
  1569 \  (! A C B D. equal(A::'a,B) & equal(C::'a,add(A::'a,D)) --> equal(C::'a,add(B::'a,D))) &  \
  1575 \  (! A C D B. equal(A::'a,B) & equal(C::'a,add(D::'a,A)) --> equal(C::'a,add(D::'a,B))) &  \
  1570 \  (! A C D B. equal(A::'a,B) & equal(C::'a,add(D::'a,A)) --> equal(C::'a,add(D::'a,B))) &  \
  1576 \  (! A C B D. equal(A::'a,B) & equal(C::'a,subtract(A::'a,D)) --> equal(C::'a,subtract(B::'a,D))) &        \
  1571 \  (! A C B D. equal(A::'a,B) & equal(C::'a,subtract(A::'a,D)) --> equal(C::'a,subtract(B::'a,D))) &        \
  1577 \  (! A C D B. equal(A::'a,B) & equal(C::'a,subtract(D::'a,A)) --> equal(C::'a,subtract(D::'a,B))) &        \
  1572 \  (! A C D B. equal(A::'a,B) & equal(C::'a,subtract(D::'a,A)) --> equal(C::'a,subtract(D::'a,B))) &        \
  1578 \  (~equal(add(add(a::'a,b),c),add(a::'a,add(b::'a,c)))) --> False",
  1573 \  (~equal(add(add(a::'a,b),c),add(a::'a,add(b::'a,c)))) --> False",
  1579   meson_tac);
  1574   meson_tac);
  1580 
  1575 
  1581 (*20717 inferences so far.  Searching to depth 11.  165.0 secs*)
  1576 (*20717 inferences so far.  Searching to depth 11.  208.5 secs*)
  1582 val NUM021_1 = prove
  1577 val NUM021_1 = prove
  1583  ("(! X. equal(X::'a,X)) &  \
  1578  ("(! X. equal(X::'a,X)) &  \
  1584 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  1579 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  1585 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  1580 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  1586 \  (! A. equal(add(A::'a,num0),A)) &   \
  1581 \  (! A. equal(add(A::'a,num0),A)) &   \
  1599 \  (~less(b::'a,a)) &       \
  1594 \  (~less(b::'a,a)) &       \
  1600 \  (divides(c::'a,a)) &     \
  1595 \  (divides(c::'a,a)) &     \
  1601 \  (! A. ~equal(successor(A),num0)) --> False",
  1596 \  (! A. ~equal(successor(A),num0)) --> False",
  1602   meson_tac);
  1597   meson_tac);
  1603 
  1598 
  1604 (*26320 inferences so far.  Searching to depth 10.  323.4 secs*)
  1599 (*26320 inferences so far.  Searching to depth 10.  408.4 secs*)
  1605 val NUM024_1 = prove
  1600 val NUM024_1 = prove
  1606  ("(! X. equal(X::'a,X)) &  \
  1601  ("(! X. equal(X::'a,X)) &  \
  1607 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  1602 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  1608 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  1603 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  1609 \  (! A. equal(add(A::'a,num0),A)) &   \
  1604 \  (! A. equal(add(A::'a,num0),A)) &   \
  2161 \  (~function(z)) &     \
  2156 \  (~function(z)) &     \
  2162 \  (~equal(recursion_equation_functions(z),null_class)) --> False",
  2157 \  (~equal(recursion_equation_functions(z),null_class)) --> False",
  2163   meson_tac);
  2158   meson_tac);
  2164 ****************)
  2159 ****************)
  2165 
  2160 
  2166 (*4868 inferences so far.  Searching to depth 12.  79.7 secs*)
  2161 (*4868 inferences so far.  Searching to depth 12.  67.8 secs*)
  2167 val PLA002_1 = prove
  2162 val PLA002_1 = prove
  2168  ("(! Situation1 Situation2. warm(Situation1) | cold(Situation2)) &    \
  2163  ("(! Situation1 Situation2. warm(Situation1) | cold(Situation2)) &    \
  2169 \  (! Situation. at(a::'a,Situation) --> at(b::'a,walk(b::'a,Situation))) & \
  2164 \  (! Situation. at(a::'a,Situation) --> at(b::'a,walk(b::'a,Situation))) & \
  2170 \  (! Situation. at(a::'a,Situation) --> at(b::'a,drive(b::'a,Situation))) &        \
  2165 \  (! Situation. at(a::'a,Situation) --> at(b::'a,drive(b::'a,Situation))) &        \
  2171 \  (! Situation. at(b::'a,Situation) --> at(a::'a,walk(a::'a,Situation))) & \
  2166 \  (! Situation. at(b::'a,Situation) --> at(a::'a,walk(a::'a,Situation))) & \
  2252 \  (holds(empty::'a,s0)) &  \
  2247 \  (holds(empty::'a,s0)) &  \
  2253 \  (! State. holds(clear(table),State)) &       \
  2248 \  (! State. holds(clear(table),State)) &       \
  2254 \  (! State. ~holds(on(a::'a,c),State)) --> False",
  2249 \  (! State. ~holds(on(a::'a,c),State)) --> False",
  2255   meson_tac);
  2250   meson_tac);
  2256 
  2251 
  2257 (*13732 inferences so far.  Searching to depth 16.  168.5 secs*)
  2252 (*13732 inferences so far.  Searching to depth 16.  150.8 secs*)
  2258 val PLA022_1 = prove
  2253 val PLA022_1 = prove
  2259  ("(! X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &  \
  2254  ("(! X Y State. holds(X::'a,State) & holds(Y::'a,State) --> holds(and'(X::'a,Y),State)) &  \
  2260 \  (! State X. holds(empty::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &        \
  2255 \  (! State X. holds(empty::'a,State) & holds(clear(X),State) & differ(X::'a,table) --> holds(holding(X),do(pickup(X),State))) &        \
  2261 \  (! Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(empty::'a,State) --> holds(clear(Y),do(pickup(X),State))) &   \
  2256 \  (! Y X State. holds(on(X::'a,Y),State) & holds(clear(X),State) & holds(empty::'a,State) --> holds(clear(Y),do(pickup(X),State))) &   \
  2262 \  (! Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) & \
  2257 \  (! Y State X Z. holds(on(X::'a,Y),State) & differ(X::'a,Z) --> holds(on(X::'a,Y),do(pickup(Z),State))) & \
  2322 \  (holds(empty::'a,s0)) &  \
  2317 \  (holds(empty::'a,s0)) &  \
  2323 \  (! State. holds(clear(table),State)) &       \
  2318 \  (! State. holds(clear(table),State)) &       \
  2324 \  (! State. ~holds(and'(on(a::'a,c),on(c::'a,d)),State)) --> False",
  2319 \  (! State. ~holds(and'(on(a::'a,c),on(c::'a,d)),State)) --> False",
  2325   meson_tac);
  2320   meson_tac);
  2326 
  2321 
  2327 (*948 inferences so far.  Searching to depth 18.  19.4 secs*)
  2322 (*948 inferences so far.  Searching to depth 18.  14.8 secs*)
  2328 val PRV001_1 = prove
  2323 val PRV001_1 = prove
  2329  ("(! X Y Z. q1(X::'a,Y,Z) & less_or_equal(X::'a,Y) --> q2(X::'a,Y,Z)) &    \
  2324  ("(! X Y Z. q1(X::'a,Y,Z) & less_or_equal(X::'a,Y) --> q2(X::'a,Y,Z)) &    \
  2330 \  (! X Y Z. q1(X::'a,Y,Z) --> less_or_equal(X::'a,Y) | q3(X::'a,Y,Z)) &   \
  2325 \  (! X Y Z. q1(X::'a,Y,Z) --> less_or_equal(X::'a,Y) | q3(X::'a,Y,Z)) &   \
  2331 \  (! Z X Y. q2(X::'a,Y,Z) --> q4(X::'a,Y,Y)) & \
  2326 \  (! Z X Y. q2(X::'a,Y,Z) --> q4(X::'a,Y,Y)) & \
  2332 \  (! Z Y X. q3(X::'a,Y,Z) --> q4(X::'a,Y,X)) & \
  2327 \  (! Z Y X. q3(X::'a,Y,Z) --> q4(X::'a,Y,X)) & \
  2467 \  (label(boxc::'a,bananas)) &      \
  2462 \  (label(boxc::'a,bananas)) &      \
  2468 \  (contains(boxb::'a,apples)) &    \
  2463 \  (contains(boxb::'a,apples)) &    \
  2469 \  (~(contains(boxa::'a,bananas) & contains(boxc::'a,oranges))) --> False",
  2464 \  (~(contains(boxa::'a,bananas) & contains(boxc::'a,oranges))) --> False",
  2470   meson_tac);
  2465   meson_tac);
  2471 
  2466 
  2472 (*35 inferences so far.  Searching to depth 5.  44.1 secs*)
  2467 (*35 inferences so far.  Searching to depth 5.  36.5 secs*)
  2473 val PUZ020_1 = prove
  2468 val PUZ020_1 = prove
  2474  ("(! X. equal(X::'a,X)) &  \
  2469  ("(! X. equal(X::'a,X)) &  \
  2475 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2470 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2476 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2471 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2477 \  (! A B. equal(A::'a,B) --> equal(statement_by(A),statement_by(B))) &     \
  2472 \  (! A B. equal(A::'a,B) --> equal(statement_by(A),statement_by(B))) &     \
  2783 \  (product(b::'a,a,l)) &   \
  2778 \  (product(b::'a,a,l)) &   \
  2784 \  (product(c::'a,a,n)) &   \
  2779 \  (product(c::'a,a,n)) &   \
  2785 \  (~sum(l::'a,n,additive_identity)) --> False",
  2780 \  (~sum(l::'a,n,additive_identity)) --> False",
  2786   meson_tac);
  2781   meson_tac);
  2787 
  2782 
  2788 (*8991 inferences so far.  Searching to depth 9.  325.8 secs*)
  2783 (*8991 inferences so far.  Searching to depth 9.  300.9 secs*)
  2789 val RNG041_1 = prove
  2784 val RNG041_1 = prove
  2790  ("(! X. equal(X::'a,X)) &  \
  2785  ("(! X. equal(X::'a,X)) &  \
  2791 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2786 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2792 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2787 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2793 \  (! X. sum(additive_identity::'a,X,X)) &  \
  2788 \  (! X. sum(additive_identity::'a,X,X)) &  \
  2844 \  (equal(negate(add(a::'a,negate(b))),c)) &        \
  2839 \  (equal(negate(add(a::'a,negate(b))),c)) &        \
  2845 \  (~equal(negate(add(c::'a,negate(add(b::'a,a)))),a)) --> False",
  2840 \  (~equal(negate(add(c::'a,negate(add(b::'a,a)))),a)) --> False",
  2846   meson_tac);
  2841   meson_tac);
  2847 ****************)
  2842 ****************)
  2848 
  2843 
  2849 (*6933 inferences so far.  Searching to depth 12.  88.9 secs*)
  2844 (*6933 inferences so far.  Searching to depth 12.  75.7 secs*)
  2850 val ROB013_1 = prove
  2845 val ROB013_1 = prove
  2851  ("(! X. equal(X::'a,X)) &  \
  2846  ("(! X. equal(X::'a,X)) &  \
  2852 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2847 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2853 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2848 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2854 \  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  2849 \  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  2859 \  (! G H. equal(G::'a,H) --> equal(negate(G),negate(H))) & \
  2854 \  (! G H. equal(G::'a,H) --> equal(negate(G),negate(H))) & \
  2860 \  (equal(negate(add(a::'a,b)),c)) &        \
  2855 \  (equal(negate(add(a::'a,b)),c)) &        \
  2861 \  (~equal(negate(add(c::'a,negate(add(negate(b),a)))),a)) --> False",
  2856 \  (~equal(negate(add(c::'a,negate(add(negate(b),a)))),a)) --> False",
  2862   meson_tac);
  2857   meson_tac);
  2863 
  2858 
  2864 (*6614 inferences so far.  Searching to depth 11.  350.2 secs*)
  2859 (*6614 inferences so far.  Searching to depth 11.  310.8 secs*)
  2865 val ROB016_1 = prove
  2860 val ROB016_1 = prove
  2866  ("(! X. equal(X::'a,X)) &  \
  2861  ("(! X. equal(X::'a,X)) &  \
  2867 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2862 \  (! Y X. equal(X::'a,Y) --> equal(Y::'a,X)) & \
  2868 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2863 \  (! Y X Z. equal(X::'a,Y) & equal(Y::'a,Z) --> equal(X::'a,Z)) &  \
  2869 \  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \
  2864 \  (! Y X. equal(add(X::'a,Y),add(Y::'a,X))) &  \